@pb33f/cowboy-components 0.1.15 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/rule-documentation.worker-D39NS8Lx.js +1 -0
- package/dist/components/editor/editor.d.ts +2 -0
- package/dist/components/editor/editor.js +6 -4
- package/dist/components/error-banner/error-banner.css.js +1 -1
- package/dist/components/manage-ruleset/function-option.css.d.ts +2 -0
- package/dist/components/manage-ruleset/function-option.css.js +38 -0
- package/dist/components/manage-ruleset/function-option.d.ts +19 -0
- package/dist/components/manage-ruleset/function-option.js +117 -0
- package/dist/components/manage-ruleset/manage-ruleset.css.d.ts +2 -0
- package/dist/components/manage-ruleset/manage-ruleset.css.js +75 -0
- package/dist/components/manage-ruleset/manage-ruleset.d.ts +62 -0
- package/dist/components/manage-ruleset/manage-ruleset.js +575 -0
- package/dist/components/manage-ruleset/rule-action.css.d.ts +2 -0
- package/dist/components/manage-ruleset/rule-action.css.js +56 -0
- package/dist/components/manage-ruleset/rule-action.d.ts +37 -0
- package/dist/components/manage-ruleset/rule-action.js +351 -0
- package/dist/components/manage-ruleset/rule-input.d.ts +38 -0
- package/dist/components/manage-ruleset/rule-input.js +296 -0
- package/dist/components/manage-ruleset/rule.css.d.ts +2 -0
- package/dist/components/manage-ruleset/rule.css.js +117 -0
- package/dist/components/manage-ruleset/rule.d.ts +31 -0
- package/dist/components/manage-ruleset/rule.js +153 -0
- package/dist/components/problem-list/details-drawer.d.ts +2 -1
- package/dist/components/problem-list/details-drawer.js +7 -0
- package/dist/components/problem-list/filter.css.js +2 -3
- package/dist/components/problem-list/problem-item.css.js +1 -3
- package/dist/components/problem-list/problem-item.js +1 -1
- package/dist/components/problem-list/problem-list.css.js +0 -10
- package/dist/components/problem-list/problem-list.d.ts +1 -1
- package/dist/components/problem-list/problem-list.js +1 -2
- package/dist/components/problems-overview/document-statistic.css.js +0 -1
- package/dist/components/problems-overview/problem-overview-group.css.js +1 -3
- package/dist/components/problems-overview/problem-overview-group.js +2 -2
- package/dist/components/problems-overview/problem-statistics.css.js +0 -5
- package/dist/components/problems-overview/problems-overview.css.js +0 -4
- package/dist/components/the-doctor/feedback.js +3 -3
- package/dist/components/the-doctor/status-bar.js +1 -1
- package/dist/components/the-doctor/the-doctor.css.js +99 -27
- package/dist/components/the-doctor/the-doctor.d.ts +65 -8
- package/dist/components/the-doctor/the-doctor.js +663 -63
- package/dist/components/toast/toast-component.css.d.ts +2 -0
- package/dist/components/toast/toast-component.css.js +151 -0
- package/dist/components/toast/toast-component.d.ts +19 -0
- package/dist/components/toast/toast-component.js +116 -0
- package/dist/components/toast/toast-manager.d.ts +13 -0
- package/dist/components/toast/toast-manager.js +54 -0
- package/dist/cowboy-components.umd.cjs +1375 -372
- package/dist/css/button.css.js +46 -0
- package/dist/css/dialog.css.d.ts +2 -0
- package/dist/css/dialog.css.js +11 -0
- package/dist/css/forms.css.d.ts +2 -0
- package/dist/css/forms.css.js +123 -0
- package/dist/css/modal.css.d.ts +2 -0
- package/dist/css/modal.css.js +15 -0
- package/dist/css/pb33f-theme.css +1 -0
- package/dist/css/radiogroups.css.d.ts +2 -0
- package/dist/css/radiogroups.css.js +26 -0
- package/dist/css/spinner.css.d.ts +2 -0
- package/dist/css/spinner.css.js +42 -0
- package/dist/events/doctor.d.ts +57 -3
- package/dist/events/doctor.js +13 -1
- package/dist/model/errors.d.ts +10 -0
- package/dist/model/rule_documentation.d.ts +8 -2
- package/dist/model/rule_documentation.js +5 -1
- package/dist/model/toast.d.ts +15 -0
- package/dist/model/toast.js +9 -0
- package/dist/model/vacuum_rule.d.ts +58 -0
- package/dist/model/vacuum_rule.js +1 -0
- package/dist/services/linting-service.d.ts +1 -1
- package/dist/services/linting-service.js +2 -6
- package/dist/services/ruleset-service.d.ts +17 -0
- package/dist/services/ruleset-service.js +316 -0
- package/dist/style.css +1 -1
- package/dist/workers/rule-documentation.worker.d.ts +9 -1
- package/dist/workers/rule-documentation.worker.js +97 -7
- package/dist/workers/search-problems.worker.d.ts +2 -1
- package/dist/workers/search-problems.worker.js +1 -2
- package/package.json +1 -1
- package/dist/assets/rule-documentation.worker-BFIxMBU8.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(a
|
|
1
|
+
(function(s,a){typeof exports=="object"&&typeof module<"u"?a(require("lit"),require("lit/decorators.js"),require("prismjs"),require("monaco-editor"),require("@shoelace-style/shoelace/dist/components/dropdown/dropdown.js"),require("@shoelace-style/shoelace/dist/components/menu/menu.js"),require("@shoelace-style/shoelace/dist/components/menu-item/menu-item.js"),require("@shoelace-style/shoelace/dist/components/carousel/carousel.js"),require("@shoelace-style/shoelace/dist/components/carousel-item/carousel-item.js"),require("@shoelace-style/shoelace/dist/components/drawer/drawer.js"),require("@shoelace-style/shoelace/dist/components/format-number/format-number.js"),require("@shoelace-style/shoelace/dist/components/split-panel/split-panel.js"),require("@shoelace-style/shoelace/dist/components/tab-group/tab-group.js"),require("@shoelace-style/shoelace/dist/components/tab-panel/tab-panel.js"),require("@shoelace-style/shoelace/dist/components/tab/tab.js"),require("@shoelace-style/shoelace/dist/components/switch/switch.js"),require("@shoelace-style/shoelace/dist/components/dialog/dialog.js"),require("@shoelace-style/shoelace/dist/components/alert/alert.js"),require("@shoelace-style/shoelace/dist/components/badge/badge.js"),require("@shoelace-style/shoelace/dist/components/card/card.js"),require("@shoelace-style/shoelace/dist/components/textarea/textarea.js"),require("@shoelace-style/shoelace/dist/components/radio-group/radio-group.js"),require("@shoelace-style/shoelace/dist/components/radio-button/radio-button.js"),require("@shoelace-style/shoelace/dist/components/checkbox/checkbox.js"),require("@shoelace-style/shoelace/dist/components/select/select.js"),require("@shoelace-style/shoelace/dist/components/option/option.js"),require("@shoelace-style/shoelace/dist/components/radio/radio.js"),require("@shoelace-style/shoelace/dist/components/icon-button/icon-button.js"),require("@shoelace-style/shoelace/dist/utilities/base-path.js")):typeof define=="function"&&define.amd?define(["lit","lit/decorators.js","prismjs","monaco-editor","@shoelace-style/shoelace/dist/components/dropdown/dropdown.js","@shoelace-style/shoelace/dist/components/menu/menu.js","@shoelace-style/shoelace/dist/components/menu-item/menu-item.js","@shoelace-style/shoelace/dist/components/carousel/carousel.js","@shoelace-style/shoelace/dist/components/carousel-item/carousel-item.js","@shoelace-style/shoelace/dist/components/drawer/drawer.js","@shoelace-style/shoelace/dist/components/format-number/format-number.js","@shoelace-style/shoelace/dist/components/split-panel/split-panel.js","@shoelace-style/shoelace/dist/components/tab-group/tab-group.js","@shoelace-style/shoelace/dist/components/tab-panel/tab-panel.js","@shoelace-style/shoelace/dist/components/tab/tab.js","@shoelace-style/shoelace/dist/components/switch/switch.js","@shoelace-style/shoelace/dist/components/dialog/dialog.js","@shoelace-style/shoelace/dist/components/alert/alert.js","@shoelace-style/shoelace/dist/components/badge/badge.js","@shoelace-style/shoelace/dist/components/card/card.js","@shoelace-style/shoelace/dist/components/textarea/textarea.js","@shoelace-style/shoelace/dist/components/radio-group/radio-group.js","@shoelace-style/shoelace/dist/components/radio-button/radio-button.js","@shoelace-style/shoelace/dist/components/checkbox/checkbox.js","@shoelace-style/shoelace/dist/components/select/select.js","@shoelace-style/shoelace/dist/components/option/option.js","@shoelace-style/shoelace/dist/components/radio/radio.js","@shoelace-style/shoelace/dist/components/icon-button/icon-button.js","@shoelace-style/shoelace/dist/utilities/base-path.js"],a):(s=typeof globalThis<"u"?globalThis:s||self,a(s.lit,s["lit/decorators"].js,s.prismjs,s.monaco,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,s.basePath))})(this,function(s,a,C,Xt,sa,aa,ca,la,da,ga,ha,pa,ua,ma,wa,ba,Ba,Ea,fa,xa,va,Qa,ya,Ma,Ca,Da,ka,Ia,nr){"use strict";var ra=Object.defineProperty;var Aa=(s,a,C)=>a in s?ra(s,a,{enumerable:!0,configurable:!0,writable:!0,value:C}):s[a]=C;var m=(s,a,C)=>(Aa(s,typeof a!="symbol"?a+"":a,C),C),na=(s,a,C)=>{if(!a.has(s))throw TypeError("Cannot "+C)};var Pt=(s,a,C)=>{if(a.has(s))throw TypeError("Cannot add the same private member more than once");a instanceof WeakSet?a.add(s):a.set(s,C)};var nt=(s,a,C)=>(na(s,a,"access private method"),C);var vo,Vt,rt,Ar;function sr(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const o in r)if(o!=="default"){const i=Object.getOwnPropertyDescriptor(r,o);Object.defineProperty(e,o,i.get?i:{enumerable:!0,get:()=>r[o]})}}return e.default=r,Object.freeze(e)}const J=sr(Xt),ar=s.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: flex;
|
|
4
4
|
column-gap: 10px;
|
|
@@ -47,23 +47,23 @@
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
`;var
|
|
50
|
+
`;var cr=Object.defineProperty,lr=Object.getOwnPropertyDescriptor,dr=(r,e,o,i)=>{for(var t=i>1?void 0:i?lr(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&cr(e,o,t),t};let st=class extends s.LitElement{getValue(){var o;const r=(o=this.shadowRoot)==null?void 0:o.querySelector("slot.command"),e=r==null?void 0:r.assignedNodes({flatten:!0});return e?e[0].data.trim():""}copyToClipboard(){navigator.clipboard.writeText(this.getValue())}render(){return s.html`
|
|
51
51
|
<sl-button class="copy" size="small" @click=${this.copyToClipboard}>copy</sl-button>
|
|
52
52
|
<pre><slot class="command"></slot></pre>
|
|
53
|
-
`}};
|
|
53
|
+
`}};st.styles=ar,st=dr([a.customElement("terminal-example")],st);const gr=s.css`
|
|
54
54
|
|
|
55
55
|
sl-icon-button::part(base) {
|
|
56
56
|
font-size: 1.4rem;
|
|
57
57
|
color: var(--secondary-color);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
`;var
|
|
60
|
+
`;var hr=Object.defineProperty,pr=Object.getOwnPropertyDescriptor,Wt=(r,e,o,i)=>{for(var t=i>1?void 0:i?pr(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&hr(e,o,t),t};const Xe="dark",We="light",Zt="pb33f-theme";let Mo=class extends s.LitElement{constructor(){super(...arguments),this.theme=Xe}connectedCallback(){super.connectedCallback(),this.theme=localStorage.getItem(Zt)||We;const r=document.querySelector("html");if(r)switch(r.setAttribute("theme",this.theme),this.theme){case Xe:r.classList.add("sl-theme-dark");break;case We:r.classList.remove("sl-theme-dark");break}}toggleTheme(){this.theme===Xe?this.theme=We:this.theme=Xe,localStorage.setItem(Zt,this.theme);const r=document.querySelector("html");if(r)switch(r.setAttribute("theme",this.theme),this.theme){case Xe:r.classList.add("sl-theme-dark");break;case We:r.classList.remove("sl-theme-dark");break}}render(){let r="sun";return this.theme===We&&(r="moon"),s.html`
|
|
61
61
|
<sl-icon-button
|
|
62
62
|
@click=${this.toggleTheme}
|
|
63
63
|
name="${r}"
|
|
64
64
|
label="Settings">
|
|
65
65
|
</sl-icon-button>
|
|
66
|
-
`}};
|
|
66
|
+
`}};Mo.styles=gr,Wt([a.state()],Mo.prototype,"theme",2),Mo=Wt([a.customElement("pb33f-theme-switcher")],Mo);const ur=s.css`
|
|
67
67
|
a, a:visited, a:active {
|
|
68
68
|
text-decoration: none;
|
|
69
69
|
color: var(--primary-color);
|
|
@@ -172,7 +172,7 @@
|
|
|
172
172
|
to {
|
|
173
173
|
opacity: 0;
|
|
174
174
|
}
|
|
175
|
-
}`;var
|
|
175
|
+
}`;var mr=Object.defineProperty,wr=Object.getOwnPropertyDescriptor,Co=(r,e,o,i)=>{for(var t=i>1?void 0:i?wr(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&mr(e,o,t),t};let ze=class extends s.LitElement{constructor(){super(),this.name="pb33f",this.url="https://pb33f.io",this.wide=!1}render(){return s.html`
|
|
176
176
|
<header class="pb33f-header">
|
|
177
177
|
<div class="logo ${this.wide?"wide":""}">
|
|
178
178
|
<span class="caret">$</span>
|
|
@@ -181,11 +181,11 @@
|
|
|
181
181
|
<div class="header-space">
|
|
182
182
|
<slot></slot>
|
|
183
183
|
</div>
|
|
184
|
-
</header>`}};
|
|
184
|
+
</header>`}};ze.styles=ur,Co([a.property()],ze.prototype,"name",2),Co([a.property()],ze.prototype,"url",2),Co([a.property({type:Boolean})],ze.prototype,"wide",2),ze=Co([a.customElement("pb33f-header")],ze);/**
|
|
185
185
|
* @license
|
|
186
186
|
* Copyright 2021 Google LLC
|
|
187
187
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
188
|
-
*/function
|
|
188
|
+
*/function*$t(r,e){if(r!==void 0){let o=0;for(const i of r)yield e(i,o++)}}const br=s.css`
|
|
189
189
|
.kv-table > table {
|
|
190
190
|
width: 100%;
|
|
191
191
|
border-spacing: 0;
|
|
@@ -279,17 +279,17 @@
|
|
|
279
279
|
* @license
|
|
280
280
|
* Copyright 2017 Google LLC
|
|
281
281
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
282
|
-
*/const
|
|
283
|
-
\f\r]`,
|
|
284
|
-
\f\r"'\`<>=]|("|')|))|$)`,"g"),
|
|
282
|
+
*/const Ze=globalThis,Do=Ze.trustedTypes,Kt=Do?Do.createPolicy("lit-html",{createHTML:r=>r}):void 0,qt="$lit$",re=`lit$${(Math.random()+"").slice(9)}$`,_t="?"+re,Br=`<${_t}>`,we=document,ko=()=>we.createComment(""),$e=r=>r===null||typeof r!="object"&&typeof r!="function",ei=Array.isArray,Er=r=>ei(r)||typeof(r==null?void 0:r[Symbol.iterator])=="function",at=`[
|
|
283
|
+
\f\r]`,Ke=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,oi=/-->/g,ti=/>/g,be=RegExp(`>|${at}(?:([^\\s"'>=/]+)(${at}*=${at}*(?:[^
|
|
284
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),ii=/'/g,ri=/"/g,Ai=/^(?:script|style|textarea|title)$/i,Ne=Symbol.for("lit-noChange"),f=Symbol.for("lit-nothing"),ni=new WeakMap,Be=we.createTreeWalker(we,129);function si(r,e){if(!Array.isArray(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return Kt!==void 0?Kt.createHTML(e):e}const fr=(r,e)=>{const o=r.length-1,i=[];let t,A=e===2?"<svg>":"",n=Ke;for(let c=0;c<o;c++){const l=r[c];let d,g,p=-1,h=0;for(;h<l.length&&(n.lastIndex=h,g=n.exec(l),g!==null);)h=n.lastIndex,n===Ke?g[1]==="!--"?n=oi:g[1]!==void 0?n=ti:g[2]!==void 0?(Ai.test(g[2])&&(t=RegExp("</"+g[2],"g")),n=be):g[3]!==void 0&&(n=be):n===be?g[0]===">"?(n=t??Ke,p=-1):g[1]===void 0?p=-2:(p=n.lastIndex-g[2].length,d=g[1],n=g[3]===void 0?be:g[3]==='"'?ri:ii):n===ri||n===ii?n=be:n===oi||n===ti?n=Ke:(n=be,t=void 0);const u=n===be&&r[c+1].startsWith("/>")?" ":"";A+=n===Ke?l+Br:p>=0?(i.push(d),l.slice(0,p)+qt+l.slice(p)+re+u):l+re+(p===-2?c:u)}return[si(r,A+(r[o]||"<?>")+(e===2?"</svg>":"")),i]};class qe{constructor({strings:e,_$litType$:o},i){let t;this.parts=[];let A=0,n=0;const c=e.length-1,l=this.parts,[d,g]=fr(e,o);if(this.el=qe.createElement(d,i),Be.currentNode=this.el.content,o===2){const p=this.el.content.firstChild;p.replaceWith(...p.childNodes)}for(;(t=Be.nextNode())!==null&&l.length<c;){if(t.nodeType===1){if(t.hasAttributes())for(const p of t.getAttributeNames())if(p.endsWith(qt)){const h=g[n++],u=t.getAttribute(p).split(re),E=/([.?@])?(.*)/.exec(h);l.push({type:1,index:A,name:E[2],strings:u,ctor:E[1]==="."?vr:E[1]==="?"?Qr:E[1]==="@"?yr:Fo}),t.removeAttribute(p)}else p.startsWith(re)&&(l.push({type:6,index:A}),t.removeAttribute(p));if(Ai.test(t.tagName)){const p=t.textContent.split(re),h=p.length-1;if(h>0){t.textContent=Do?Do.emptyScript:"";for(let u=0;u<h;u++)t.append(p[u],ko()),Be.nextNode(),l.push({type:2,index:++A});t.append(p[h],ko())}}}else if(t.nodeType===8)if(t.data===_t)l.push({type:2,index:A});else{let p=-1;for(;(p=t.data.indexOf(re,p+1))!==-1;)l.push({type:7,index:A}),p+=re.length-1}A++}}static createElement(e,o){const i=we.createElement("template");return i.innerHTML=e,i}}function Ue(r,e,o=r,i){var n,c;if(e===Ne)return e;let t=i!==void 0?(n=o._$Co)==null?void 0:n[i]:o._$Cl;const A=$e(e)?void 0:e._$litDirective$;return(t==null?void 0:t.constructor)!==A&&((c=t==null?void 0:t._$AO)==null||c.call(t,!1),A===void 0?t=void 0:(t=new A(r),t._$AT(r,o,i)),i!==void 0?(o._$Co??(o._$Co=[]))[i]=t:o._$Cl=t),t!==void 0&&(e=Ue(r,t._$AS(r,e.values),t,i)),e}class xr{constructor(e,o){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=o}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:o},parts:i}=this._$AD,t=((e==null?void 0:e.creationScope)??we).importNode(o,!0);Be.currentNode=t;let A=Be.nextNode(),n=0,c=0,l=i[0];for(;l!==void 0;){if(n===l.index){let d;l.type===2?d=new Io(A,A.nextSibling,this,e):l.type===1?d=new l.ctor(A,l.name,l.strings,this,e):l.type===6&&(d=new Mr(A,this,e)),this._$AV.push(d),l=i[++c]}n!==(l==null?void 0:l.index)&&(A=Be.nextNode(),n++)}return Be.currentNode=we,t}p(e){let o=0;for(const i of this._$AV)i!==void 0&&(i.strings!==void 0?(i._$AI(e,i,o),o+=i.strings.length-2):i._$AI(e[o])),o++}}class Io{get _$AU(){var e;return((e=this._$AM)==null?void 0:e._$AU)??this._$Cv}constructor(e,o,i,t){this.type=2,this._$AH=f,this._$AN=void 0,this._$AA=e,this._$AB=o,this._$AM=i,this.options=t,this._$Cv=(t==null?void 0:t.isConnected)??!0}get parentNode(){let e=this._$AA.parentNode;const o=this._$AM;return o!==void 0&&(e==null?void 0:e.nodeType)===11&&(e=o.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,o=this){e=Ue(this,e,o),$e(e)?e===f||e==null||e===""?(this._$AH!==f&&this._$AR(),this._$AH=f):e!==this._$AH&&e!==Ne&&this._(e):e._$litType$!==void 0?this.g(e):e.nodeType!==void 0?this.$(e):Er(e)?this.T(e):this._(e)}k(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}$(e){this._$AH!==e&&(this._$AR(),this._$AH=this.k(e))}_(e){this._$AH!==f&&$e(this._$AH)?this._$AA.nextSibling.data=e:this.$(we.createTextNode(e)),this._$AH=e}g(e){var A;const{values:o,_$litType$:i}=e,t=typeof i=="number"?this._$AC(e):(i.el===void 0&&(i.el=qe.createElement(si(i.h,i.h[0]),this.options)),i);if(((A=this._$AH)==null?void 0:A._$AD)===t)this._$AH.p(o);else{const n=new xr(t,this),c=n.u(this.options);n.p(o),this.$(c),this._$AH=n}}_$AC(e){let o=ni.get(e.strings);return o===void 0&&ni.set(e.strings,o=new qe(e)),o}T(e){ei(this._$AH)||(this._$AH=[],this._$AR());const o=this._$AH;let i,t=0;for(const A of e)t===o.length?o.push(i=new Io(this.k(ko()),this.k(ko()),this,this.options)):i=o[t],i._$AI(A),t++;t<o.length&&(this._$AR(i&&i._$AB.nextSibling,t),o.length=t)}_$AR(e=this._$AA.nextSibling,o){var i;for((i=this._$AP)==null?void 0:i.call(this,!1,!0,o);e&&e!==this._$AB;){const t=e.nextSibling;e.remove(),e=t}}setConnected(e){var o;this._$AM===void 0&&(this._$Cv=e,(o=this._$AP)==null||o.call(this,e))}}class Fo{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,o,i,t,A){this.type=1,this._$AH=f,this._$AN=void 0,this.element=e,this.name=o,this._$AM=t,this.options=A,i.length>2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=f}_$AI(e,o=this,i,t){const A=this.strings;let n=!1;if(A===void 0)e=Ue(this,e,o,0),n=!$e(e)||e!==this._$AH&&e!==Ne,n&&(this._$AH=e);else{const c=e;let l,d;for(e=A[0],l=0;l<A.length-1;l++)d=Ue(this,c[i+l],o,l),d===Ne&&(d=this._$AH[l]),n||(n=!$e(d)||d!==this._$AH[l]),d===f?e=f:e!==f&&(e+=(d??"")+A[l+1]),this._$AH[l]=d}n&&!t&&this.O(e)}O(e){e===f?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class vr extends Fo{constructor(){super(...arguments),this.type=3}O(e){this.element[this.name]=e===f?void 0:e}}class Qr extends Fo{constructor(){super(...arguments),this.type=4}O(e){this.element.toggleAttribute(this.name,!!e&&e!==f)}}class yr extends Fo{constructor(e,o,i,t,A){super(e,o,i,t,A),this.type=5}_$AI(e,o=this){if((e=Ue(this,e,o,0)??f)===Ne)return;const i=this._$AH,t=e===f&&i!==f||e.capture!==i.capture||e.once!==i.once||e.passive!==i.passive,A=e!==f&&(i===f||t);t&&this.element.removeEventListener(this.name,this,i),A&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var o;typeof this._$AH=="function"?this._$AH.call(((o=this.options)==null?void 0:o.host)??this.element,e):this._$AH.handleEvent(e)}}class Mr{constructor(e,o,i){this.element=e,this.type=6,this._$AN=void 0,this._$AM=o,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(e){Ue(this,e)}}const ct=Ze.litHtmlPolyfillSupport;ct==null||ct(qe,Io),(Ze.litHtmlVersions??(Ze.litHtmlVersions=[])).push("3.1.0");/**
|
|
285
285
|
* @license
|
|
286
286
|
* Copyright 2017 Google LLC
|
|
287
287
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
288
|
-
*/const
|
|
288
|
+
*/const ai={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},ci=r=>(...e)=>({_$litDirective$:r,values:e});class li{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,o,i){this._$Ct=e,this._$AM=o,this._$Ci=i}_$AS(e,o){return this.update(e,o)}update(e,o){return this.render(...o)}}/**
|
|
289
289
|
* @license
|
|
290
290
|
* Copyright 2017 Google LLC
|
|
291
291
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
292
|
-
*/let
|
|
292
|
+
*/let lt=class extends li{constructor(e){if(super(e),this.et=f,e.type!==ai.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===f||e==null)return this.vt=void 0,this.et=e;if(e===Ne)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.et)return this.vt;this.et=e;const o=[e];return o.raw=o,this.vt={_$litType$:this.constructor.resultType,strings:o,values:[]}}};lt.directiveName="unsafeHTML",lt.resultType=1;const H=ci(lt),Cr=s.css`
|
|
293
293
|
|
|
294
294
|
code,
|
|
295
295
|
pre {
|
|
@@ -401,7 +401,7 @@
|
|
|
401
401
|
}
|
|
402
402
|
|
|
403
403
|
|
|
404
|
-
`,
|
|
404
|
+
`,q=s.css`
|
|
405
405
|
|
|
406
406
|
a, a:visited, a:active {
|
|
407
407
|
text-decoration: none;
|
|
@@ -515,7 +515,7 @@
|
|
|
515
515
|
}
|
|
516
516
|
}
|
|
517
517
|
|
|
518
|
-
`,
|
|
518
|
+
`,Dr=s.css`
|
|
519
519
|
/**
|
|
520
520
|
* okaidia theme for JavaScript, CSS and HTML
|
|
521
521
|
* Loosely based on Monokai textmate theme by http://www.monokai.nl/
|
|
@@ -642,30 +642,30 @@
|
|
|
642
642
|
.token.entity {
|
|
643
643
|
cursor: help;
|
|
644
644
|
}
|
|
645
|
-
`;var
|
|
646
|
-
${
|
|
645
|
+
`;var kr=Object.defineProperty,Ir=Object.getOwnPropertyDescriptor,zo=(r,e,o,i)=>{for(var t=i>1?void 0:i?Ir(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&kr(e,o,t),t};C.manual=!0,document.removeEventListener("DOMContentLoaded",C.highlightAll);let Ee=class extends s.LitElement{constructor(){super(),this._data=new Map,this.keyLabel="Key",this.valueLabel="Value"}set data(r){r&&r.size>0&&(this._data=r)}render(){var A;let r=s.html``;this._data&&(r=s.html`
|
|
646
|
+
${$t(this._data,n=>typeof n[1]=="object"?s.html`
|
|
647
647
|
<tr>
|
|
648
|
-
<td><code>${
|
|
648
|
+
<td><code>${n[0]}</code></td>
|
|
649
649
|
<td>
|
|
650
|
-
<pre style=""><code class="no-box" style="white-space: pre-wrap; word-wrap: break-word;">${
|
|
650
|
+
<pre style=""><code class="no-box" style="white-space: pre-wrap; word-wrap: break-word;">${H(C.highlight(JSON.stringify(n[1],null,2),C.languages.json,"json"))}</pre></code>
|
|
651
651
|
</td>
|
|
652
|
-
</tr>`:
|
|
652
|
+
</tr>`:s.html`
|
|
653
653
|
<tr>
|
|
654
|
-
<td><code>${
|
|
655
|
-
<td>${
|
|
654
|
+
<td><code>${n[0]}</code></td>
|
|
655
|
+
<td>${H(n[1])}</td>
|
|
656
656
|
</tr>`)}
|
|
657
|
-
`);const e=
|
|
657
|
+
`);const e=s.html`
|
|
658
658
|
<div class="empty-data">
|
|
659
659
|
<sl-icon name="mic-mute" class="mute-icon"></sl-icon>
|
|
660
660
|
<br/>
|
|
661
661
|
No data extracted!
|
|
662
|
-
</div>`;let o=
|
|
662
|
+
</div>`;let o=s.html`
|
|
663
663
|
<thead>
|
|
664
664
|
<tr>
|
|
665
665
|
<th>${this.keyLabel}</th>
|
|
666
666
|
<th>${this.valueLabel}</th>
|
|
667
667
|
</tr>
|
|
668
|
-
</thead>`;this.keyLabel==""&&this.valueLabel==""&&(o=
|
|
668
|
+
</thead>`;this.keyLabel==""&&this.valueLabel==""&&(o=s.html``);const i=s.html`
|
|
669
669
|
|
|
670
670
|
<div class="kv-table">
|
|
671
671
|
<table>
|
|
@@ -675,7 +675,7 @@
|
|
|
675
675
|
</tbody>
|
|
676
676
|
</table>
|
|
677
677
|
</div>
|
|
678
|
-
`,t=((
|
|
678
|
+
`,t=((A=this._data)==null?void 0:A.size)>0?i:e;return s.html`${t}`}};Ee.styles=[q,Dr,Cr,br],zo([a.property()],Ee.prototype,"keyLabel",2),zo([a.property()],Ee.prototype,"valueLabel",2),zo([a.state()],Ee.prototype,"_data",2),Ee=zo([a.customElement("pb33f-kv-view")],Ee);const Fr=s.css`
|
|
679
679
|
.prop-type-table > table > thead > tr > th {
|
|
680
680
|
font-family: var(--font-stack-bold), sans-serif;
|
|
681
681
|
background-color: var(--table-header-background-solid);
|
|
@@ -781,30 +781,30 @@
|
|
|
781
781
|
margin-bottom: 10px;
|
|
782
782
|
}
|
|
783
783
|
|
|
784
|
-
`;var
|
|
785
|
-
${
|
|
784
|
+
`;var zr=Object.defineProperty,Nr=Object.getOwnPropertyDescriptor,_e=(r,e,o,i)=>{for(var t=i>1?void 0:i?Nr(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&zr(e,o,t),t};let fe=class extends s.LitElement{constructor(){super(),this.propertyLabel="Property",this.typeLabel="Type",this.valueLabel="Value",this._data=[]}set data(r){this._data=r}render(){var t;let r=s.html``;this._data&&(r=s.html`
|
|
785
|
+
${$t(this._data,A=>{var c,l;if(A.type!=="field")return s.html`
|
|
786
786
|
<tr>
|
|
787
|
-
<td><code>${
|
|
788
|
-
<td><code>${
|
|
789
|
-
<td>${(
|
|
790
|
-
<span class="file-name">${
|
|
787
|
+
<td><code>${A.name}</code></td>
|
|
788
|
+
<td><code>${A.type}</code></td>
|
|
789
|
+
<td>${(c=A.files)==null?void 0:c.map(d=>{var g;return s.html`
|
|
790
|
+
<span class="file-name">${d.name}</span>
|
|
791
791
|
<hr/>
|
|
792
|
-
${(d
|
|
793
|
-
<span class="file-header">${
|
|
794
|
-
: <strong>${
|
|
792
|
+
${(g=d.headers)==null?void 0:g.forEach((p,h)=>s.html`
|
|
793
|
+
<span class="file-header">${h}
|
|
794
|
+
: <strong>${p}</strong></span>`)}</td>
|
|
795
795
|
</tr>`})}
|
|
796
|
-
</td>`;let
|
|
796
|
+
</td>`;let n="";return(l=A.value)==null||l.forEach(d=>{n+=d}),s.html`
|
|
797
797
|
<tr>
|
|
798
|
-
<td><code>${
|
|
799
|
-
<td>${
|
|
800
|
-
<td>${
|
|
798
|
+
<td><code>${A.name}</code></td>
|
|
799
|
+
<td>${A.type}</td>
|
|
800
|
+
<td>${H(n)}</td>
|
|
801
801
|
</tr>`})}
|
|
802
|
-
`);const e=
|
|
802
|
+
`);const e=s.html`
|
|
803
803
|
<div class="empty-data">
|
|
804
804
|
<sl-icon name="mic-mute" class="mute-icon"></sl-icon>
|
|
805
805
|
<br/>
|
|
806
806
|
No data extracted!
|
|
807
|
-
</div>`,o=
|
|
807
|
+
</div>`,o=s.html`
|
|
808
808
|
<div class="prop-type-table">
|
|
809
809
|
<table>
|
|
810
810
|
<thead>
|
|
@@ -819,7 +819,7 @@
|
|
|
819
819
|
</tbody>
|
|
820
820
|
</table>
|
|
821
821
|
</div>
|
|
822
|
-
`,
|
|
822
|
+
`,i=((t=this._data)==null?void 0:t.length)>0?o:e;return s.html`${i}`}};fe.styles=[q,Fr],_e([a.property()],fe.prototype,"propertyLabel",2),_e([a.property()],fe.prototype,"typeLabel",2),_e([a.property()],fe.prototype,"valueLabel",2),_e([a.state()],fe.prototype,"_data",2),fe=_e([a.customElement("pb33f-http-http-property-view")],fe);const Ur=s.css`
|
|
823
823
|
|
|
824
824
|
pb33f-timeline-item {
|
|
825
825
|
width: 100%;
|
|
@@ -870,7 +870,7 @@
|
|
|
870
870
|
|
|
871
871
|
}
|
|
872
872
|
}
|
|
873
|
-
`;var
|
|
873
|
+
`;var Rr=Object.defineProperty,Sr=Object.getOwnPropertyDescriptor,Yr=(r,e,o,i)=>{for(var t=i>1?void 0:i?Sr(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&Rr(e,o,t),t};let dt=class extends s.LitElement{constructor(){super()}render(){return s.html`
|
|
874
874
|
<div class="start">
|
|
875
875
|
<div class="ball-start"></div>
|
|
876
876
|
</div>
|
|
@@ -878,7 +878,7 @@
|
|
|
878
878
|
<div class="end">
|
|
879
879
|
<div class="ball-end"></div>
|
|
880
880
|
</div>
|
|
881
|
-
`}};
|
|
881
|
+
`}};dt.styles=Ur,dt=Yr([a.customElement("pb33f-timeline")],dt);const Jr=s.css`
|
|
882
882
|
:host {
|
|
883
883
|
display: flex;
|
|
884
884
|
position: relative;
|
|
@@ -939,7 +939,7 @@
|
|
|
939
939
|
}
|
|
940
940
|
|
|
941
941
|
|
|
942
|
-
`;var
|
|
942
|
+
`;var Hr=Object.defineProperty,Or=Object.getOwnPropertyDescriptor,Tr=(r,e,o,i)=>{for(var t=i>1?void 0:i?Or(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&Hr(e,o,t),t};let gt=class extends s.LitElement{constructor(){super()}render(){return s.html`
|
|
943
943
|
<div class="icon">
|
|
944
944
|
<div class="timeline"></div>
|
|
945
945
|
<div class="timeline-icon">
|
|
@@ -949,7 +949,7 @@
|
|
|
949
949
|
<div class="content">
|
|
950
950
|
<slot name="time" class="request-time"></slot>
|
|
951
951
|
<slot name="content" class="timeline-content"></slot>
|
|
952
|
-
</div>`}};
|
|
952
|
+
</div>`}};gt.styles=Jr,gt=Tr([a.customElement("pb33f-timeline-item")],gt);function Gr(r){switch(r.toLowerCase()){case"get":return"success";case"post":return"primary";case"put":return"primary";case"delete":return"danger";case"patch":return"warning";default:return"neutral"}}const Lr=s.css`
|
|
953
953
|
sl-tag.method {
|
|
954
954
|
width: 80px;
|
|
955
955
|
text-align: center;
|
|
@@ -969,10 +969,10 @@
|
|
|
969
969
|
width: 100%;
|
|
970
970
|
display: inline-block;
|
|
971
971
|
}
|
|
972
|
-
`;var
|
|
973
|
-
<sl-tag variant="${
|
|
972
|
+
`;var jr=Object.defineProperty,Pr=Object.getOwnPropertyDescriptor,ht=(r,e,o,i)=>{for(var t=i>1?void 0:i?Pr(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&jr(e,o,t),t};let eo=class extends s.LitElement{constructor(){super(),this.lower=!1,this.method="GET"}render(){return s.html`
|
|
973
|
+
<sl-tag variant="${Gr(this.method)}" class="method">
|
|
974
974
|
${this.lower?this.method.toLowerCase():this.method.toUpperCase()}</sl-tag>
|
|
975
|
-
`}};
|
|
975
|
+
`}};eo.styles=Lr,ht([a.property()],eo.prototype,"method",2),ht([a.property({type:Boolean})],eo.prototype,"lower",2),eo=ht([a.customElement("pb33f-http-method")],eo);const Vr=s.css`
|
|
976
976
|
|
|
977
977
|
.mailing-list {
|
|
978
978
|
padding-left: 10px;
|
|
@@ -1070,7 +1070,7 @@
|
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
1072
|
|
|
1073
|
-
`;var
|
|
1073
|
+
`;var Xr=Object.defineProperty,Wr=Object.getOwnPropertyDescriptor,O=(r,e,o,i)=>{for(var t=i>1?void 0:i?Wr(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&Xr(e,o,t),t};let N=class extends s.LitElement{constructor(){super(),this.error="",this.email=sessionStorage.getItem("pb33f_mailing_list_email"),this.apiURL="https://api.pb33f.io/mailing-list/subscribe",this.promiseMessage="No junk, no sales, no spam. Just updates about pb33f.",this.thanksMessage="We promise to only send you updates about pb33f."}updated(){this.email?(this.subscribed.classList.add("show"),this.unsubscribed.classList.add("hide")):(this.subscribed.classList.add("hide"),this.unsubscribed.classList.add("show"))}subscribe(){if(this.emailInput.value==""){this.emailInput.classList.add("error-input"),this.error="Email is empty",this.mailingListError.classList.add("show"),this.mailingListPromise.classList.add("hide");return}if(!/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(this.emailInput.value)){this.emailInput.classList.add("error-input"),this.error="Not a valid email address",this.mailingListError.classList.add("show"),this.mailingListPromise.classList.add("hide");return}async function e(o,i){const t=await fetch(`${i}?email=${o}`);if(!t.ok){let A=await t.json();return Promise.reject(A)}return t.json()}this.emailSubmit.disabled=!0,this.emailSubmit.loading=!0,this.mailingListError.classList.remove("show"),this.emailInput.classList.remove("error-input"),e(this.emailInput.value,this.apiURL).then(o=>{this.email=o.email,this.subscribed.classList.remove("hide"),this.subscribed.classList.add("show"),this.unsubscribed.classList.add("hide"),sessionStorage.setItem("pb33f_mailing_list_email",this.email)},o=>{this.emailSubmit.disabled=!1,this.emailSubmit.loading=!1,this.emailInput.classList.add("error-input"),this.mailingListError.classList.add("show"),this.mailingListPromise.classList.add("hide"),this.error=o.detail})}render(){return s.html`
|
|
1074
1074
|
<div class="mailing-list">
|
|
1075
1075
|
<div class="subscribed">
|
|
1076
1076
|
<header>
|
|
@@ -1093,40 +1093,40 @@
|
|
|
1093
1093
|
</div>
|
|
1094
1094
|
</div>
|
|
1095
1095
|
</div>
|
|
1096
|
-
`}};
|
|
1097
|
-
`).map(t=>{const
|
|
1098
|
-
`)}class
|
|
1099
|
-
`)}}}fences(e){const o=this.rules.block.fences.exec(e);if(o){const
|
|
1100
|
-
`),t=this.lexer.state.top;this.lexer.state.top=!0;const
|
|
1101
|
-
`,1)[0].replace(/^\t+/,
|
|
1102
|
-
`,1)[0],
|
|
1103
|
-
`,e=e.substring(
|
|
1104
|
-
`,1)[0];if(
|
|
1105
|
-
`+
|
|
1106
|
-
`+
|
|
1107
|
-
`,e=e.substring(
|
|
1108
|
-
`):[],
|
|
1109
|
-
`?o[1].slice(0,-1):o[1];return{type:"paragraph",raw:o[0],text:
|
|
1110
|
-
]`).replace("lheading",
|
|
1111
|
-
`),this.blockTokens(e,this.tokens);for(let o=0;o<this.inlineQueue.length;o++){const
|
|
1112
|
-
`:o.push(
|
|
1113
|
-
`+
|
|
1114
|
-
`+
|
|
1115
|
-
`+
|
|
1116
|
-
`+
|
|
1117
|
-
`+
|
|
1118
|
-
`+
|
|
1119
|
-
`+
|
|
1120
|
-
`+
|
|
1121
|
-
`,t?'<pre><code class="language-'+
|
|
1122
|
-
`:"<pre><code>"+(
|
|
1096
|
+
`}};N.styles=[q,Vr],O([a.property()],N.prototype,"apiURL",2),O([a.property()],N.prototype,"thanksMessage",2),O([a.property()],N.prototype,"promiseMessage",2),O([a.state()],N.prototype,"email",2),O([a.query("#email-input")],N.prototype,"emailInput",2),O([a.query(".subscribed")],N.prototype,"subscribed",2),O([a.query(".unsubscribed")],N.prototype,"unsubscribed",2),O([a.query(".mailing-list-promise")],N.prototype,"mailingListPromise",2),O([a.query("#email-submit")],N.prototype,"emailSubmit",2),O([a.query(".mailing-list-error")],N.prototype,"mailingListError",2),O([a.property()],N.prototype,"error",2),N=O([a.customElement("pb33f-mailing-list")],N);function pt(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let xe=pt();function di(r){xe=r}const gi=/[&<>"']/,Zr=new RegExp(gi.source,"g"),hi=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,$r=new RegExp(hi.source,"g"),Kr={"&":"&","<":"<",">":">",'"':""","'":"'"},pi=r=>Kr[r];function S(r,e){if(e){if(gi.test(r))return r.replace(Zr,pi)}else if(hi.test(r))return r.replace($r,pi);return r}const qr=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function _r(r){return r.replace(qr,(e,o)=>(o=o.toLowerCase(),o==="colon"?":":o.charAt(0)==="#"?o.charAt(1)==="x"?String.fromCharCode(parseInt(o.substring(2),16)):String.fromCharCode(+o.substring(1)):""))}const eA=/(^|[^\[])\^/g;function b(r,e){let o=typeof r=="string"?r:r.source;e=e||"";const i={replace:(t,A)=>{let n=typeof A=="string"?A:A.source;return n=n.replace(eA,"$1"),o=o.replace(t,n),i},getRegex:()=>new RegExp(o,e)};return i}function ui(r){try{r=encodeURI(r).replace(/%25/g,"%")}catch{return null}return r}const oo={exec:()=>null};function mi(r,e){const o=r.replace(/\|/g,(A,n,c)=>{let l=!1,d=n;for(;--d>=0&&c[d]==="\\";)l=!l;return l?"|":" |"}),i=o.split(/ \|/);let t=0;if(i[0].trim()||i.shift(),i.length>0&&!i[i.length-1].trim()&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length<e;)i.push("");for(;t<i.length;t++)i[t]=i[t].trim().replace(/\\\|/g,"|");return i}function No(r,e,o){const i=r.length;if(i===0)return"";let t=0;for(;t<i;){const A=r.charAt(i-t-1);if(A===e&&!o)t++;else if(A!==e&&o)t++;else break}return r.slice(0,i-t)}function oA(r,e){if(r.indexOf(e[1])===-1)return-1;let o=0;for(let i=0;i<r.length;i++)if(r[i]==="\\")i++;else if(r[i]===e[0])o++;else if(r[i]===e[1]&&(o--,o<0))return i;return-1}function wi(r,e,o,i){const t=e.href,A=e.title?S(e.title):null,n=r[1].replace(/\\([\[\]])/g,"$1");if(r[0].charAt(0)!=="!"){i.state.inLink=!0;const c={type:"link",raw:o,href:t,title:A,text:n,tokens:i.inlineTokens(n)};return i.state.inLink=!1,c}return{type:"image",raw:o,href:t,title:A,text:S(n)}}function tA(r,e){const o=r.match(/^(\s+)(?:```)/);if(o===null)return e;const i=o[1];return e.split(`
|
|
1097
|
+
`).map(t=>{const A=t.match(/^\s+/);if(A===null)return t;const[n]=A;return n.length>=i.length?t.slice(i.length):t}).join(`
|
|
1098
|
+
`)}class Uo{constructor(e){m(this,"options");m(this,"rules");m(this,"lexer");this.options=e||xe}space(e){const o=this.rules.block.newline.exec(e);if(o&&o[0].length>0)return{type:"space",raw:o[0]}}code(e){const o=this.rules.block.code.exec(e);if(o){const i=o[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:o[0],codeBlockStyle:"indented",text:this.options.pedantic?i:No(i,`
|
|
1099
|
+
`)}}}fences(e){const o=this.rules.block.fences.exec(e);if(o){const i=o[0],t=tA(i,o[3]||"");return{type:"code",raw:i,lang:o[2]?o[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):o[2],text:t}}}heading(e){const o=this.rules.block.heading.exec(e);if(o){let i=o[2].trim();if(/#$/.test(i)){const t=No(i,"#");(this.options.pedantic||!t||/ $/.test(t))&&(i=t.trim())}return{type:"heading",raw:o[0],depth:o[1].length,text:i,tokens:this.lexer.inline(i)}}}hr(e){const o=this.rules.block.hr.exec(e);if(o)return{type:"hr",raw:o[0]}}blockquote(e){const o=this.rules.block.blockquote.exec(e);if(o){const i=No(o[0].replace(/^ *>[ \t]?/gm,""),`
|
|
1100
|
+
`),t=this.lexer.state.top;this.lexer.state.top=!0;const A=this.lexer.blockTokens(i);return this.lexer.state.top=t,{type:"blockquote",raw:o[0],tokens:A,text:i}}}list(e){let o=this.rules.block.list.exec(e);if(o){let i=o[1].trim();const t=i.length>1,A={type:"list",raw:"",ordered:t,start:t?+i.slice(0,-1):"",loose:!1,items:[]};i=t?`\\d{1,9}\\${i.slice(-1)}`:`\\${i}`,this.options.pedantic&&(i=t?i:"[*+-]");const n=new RegExp(`^( {0,3}${i})((?:[ ][^\\n]*)?(?:\\n|$))`);let c="",l="",d=!1;for(;e;){let g=!1;if(!(o=n.exec(e))||this.rules.block.hr.test(e))break;c=o[0],e=e.substring(c.length);let p=o[2].split(`
|
|
1101
|
+
`,1)[0].replace(/^\t+/,Ve=>" ".repeat(3*Ve.length)),h=e.split(`
|
|
1102
|
+
`,1)[0],u=0;this.options.pedantic?(u=2,l=p.trimStart()):(u=o[2].search(/[^ ]/),u=u>4?1:u,l=p.slice(u),u+=o[1].length);let E=!1;if(!p&&/^ *$/.test(h)&&(c+=h+`
|
|
1103
|
+
`,e=e.substring(h.length+1),g=!0),!g){const Ve=new RegExp(`^ {0,${Math.min(3,u-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),Qo=new RegExp(`^ {0,${Math.min(3,u-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),yo=new RegExp(`^ {0,${Math.min(3,u-1)}}(?:\`\`\`|~~~)`),rr=new RegExp(`^ {0,${Math.min(3,u-1)}}#`);for(;e;){const jt=e.split(`
|
|
1104
|
+
`,1)[0];if(h=jt,this.options.pedantic&&(h=h.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),yo.test(h)||rr.test(h)||Ve.test(h)||Qo.test(e))break;if(h.search(/[^ ]/)>=u||!h.trim())l+=`
|
|
1105
|
+
`+h.slice(u);else{if(E||p.search(/[^ ]/)>=4||yo.test(p)||rr.test(p)||Qo.test(p))break;l+=`
|
|
1106
|
+
`+h}!E&&!h.trim()&&(E=!0),c+=jt+`
|
|
1107
|
+
`,e=e.substring(jt.length+1),p=h.slice(u)}}A.loose||(d?A.loose=!0:/\n *\n *$/.test(c)&&(d=!0));let M=null,R;this.options.gfm&&(M=/^\[[ xX]\] /.exec(l),M&&(R=M[0]!=="[ ] ",l=l.replace(/^\[[ xX]\] +/,""))),A.items.push({type:"list_item",raw:c,task:!!M,checked:R,loose:!1,text:l,tokens:[]}),A.raw+=c}A.items[A.items.length-1].raw=c.trimEnd(),A.items[A.items.length-1].text=l.trimEnd(),A.raw=A.raw.trimEnd();for(let g=0;g<A.items.length;g++)if(this.lexer.state.top=!1,A.items[g].tokens=this.lexer.blockTokens(A.items[g].text,[]),!A.loose){const p=A.items[g].tokens.filter(u=>u.type==="space"),h=p.length>0&&p.some(u=>/\n.*\n/.test(u.raw));A.loose=h}if(A.loose)for(let g=0;g<A.items.length;g++)A.items[g].loose=!0;return A}}html(e){const o=this.rules.block.html.exec(e);if(o)return{type:"html",block:!0,raw:o[0],pre:o[1]==="pre"||o[1]==="script"||o[1]==="style",text:o[0]}}def(e){const o=this.rules.block.def.exec(e);if(o){const i=o[1].toLowerCase().replace(/\s+/g," "),t=o[2]?o[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",A=o[3]?o[3].substring(1,o[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):o[3];return{type:"def",tag:i,raw:o[0],href:t,title:A}}}table(e){const o=this.rules.block.table.exec(e);if(!o||!/[:|]/.test(o[2]))return;const i=mi(o[1]),t=o[2].replace(/^\||\| *$/g,"").split("|"),A=o[3]&&o[3].trim()?o[3].replace(/\n[ \t]*$/,"").split(`
|
|
1108
|
+
`):[],n={type:"table",raw:o[0],header:[],align:[],rows:[]};if(i.length===t.length){for(const c of t)/^ *-+: *$/.test(c)?n.align.push("right"):/^ *:-+: *$/.test(c)?n.align.push("center"):/^ *:-+ *$/.test(c)?n.align.push("left"):n.align.push(null);for(const c of i)n.header.push({text:c,tokens:this.lexer.inline(c)});for(const c of A)n.rows.push(mi(c,n.header.length).map(l=>({text:l,tokens:this.lexer.inline(l)})));return n}}lheading(e){const o=this.rules.block.lheading.exec(e);if(o)return{type:"heading",raw:o[0],depth:o[2].charAt(0)==="="?1:2,text:o[1],tokens:this.lexer.inline(o[1])}}paragraph(e){const o=this.rules.block.paragraph.exec(e);if(o){const i=o[1].charAt(o[1].length-1)===`
|
|
1109
|
+
`?o[1].slice(0,-1):o[1];return{type:"paragraph",raw:o[0],text:i,tokens:this.lexer.inline(i)}}}text(e){const o=this.rules.block.text.exec(e);if(o)return{type:"text",raw:o[0],text:o[0],tokens:this.lexer.inline(o[0])}}escape(e){const o=this.rules.inline.escape.exec(e);if(o)return{type:"escape",raw:o[0],text:S(o[1])}}tag(e){const o=this.rules.inline.tag.exec(e);if(o)return!this.lexer.state.inLink&&/^<a /i.test(o[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(o[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(o[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(o[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:o[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:o[0]}}link(e){const o=this.rules.inline.link.exec(e);if(o){const i=o[2].trim();if(!this.options.pedantic&&/^</.test(i)){if(!/>$/.test(i))return;const n=No(i.slice(0,-1),"\\");if((i.length-n.length)%2===0)return}else{const n=oA(o[2],"()");if(n>-1){const l=(o[0].indexOf("!")===0?5:4)+o[1].length+n;o[2]=o[2].substring(0,n),o[0]=o[0].substring(0,l).trim(),o[3]=""}}let t=o[2],A="";if(this.options.pedantic){const n=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(t);n&&(t=n[1],A=n[3])}else A=o[3]?o[3].slice(1,-1):"";return t=t.trim(),/^</.test(t)&&(this.options.pedantic&&!/>$/.test(i)?t=t.slice(1):t=t.slice(1,-1)),wi(o,{href:t&&t.replace(this.rules.inline.anyPunctuation,"$1"),title:A&&A.replace(this.rules.inline.anyPunctuation,"$1")},o[0],this.lexer)}}reflink(e,o){let i;if((i=this.rules.inline.reflink.exec(e))||(i=this.rules.inline.nolink.exec(e))){const t=(i[2]||i[1]).replace(/\s+/g," "),A=o[t.toLowerCase()];if(!A){const n=i[0].charAt(0);return{type:"text",raw:n,text:n}}return wi(i,A,i[0],this.lexer)}}emStrong(e,o,i=""){let t=this.rules.inline.emStrongLDelim.exec(e);if(!t||t[3]&&i.match(/[\p{L}\p{N}]/u))return;if(!(t[1]||t[2]||"")||!i||this.rules.inline.punctuation.exec(i)){const n=[...t[0]].length-1;let c,l,d=n,g=0;const p=t[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(p.lastIndex=0,o=o.slice(-1*e.length+n);(t=p.exec(o))!=null;){if(c=t[1]||t[2]||t[3]||t[4]||t[5]||t[6],!c)continue;if(l=[...c].length,t[3]||t[4]){d+=l;continue}else if((t[5]||t[6])&&n%3&&!((n+l)%3)){g+=l;continue}if(d-=l,d>0)continue;l=Math.min(l,l+d+g);const h=[...t[0]][0].length,u=e.slice(0,n+t.index+h+l);if(Math.min(n,l)%2){const M=u.slice(1,-1);return{type:"em",raw:u,text:M,tokens:this.lexer.inlineTokens(M)}}const E=u.slice(2,-2);return{type:"strong",raw:u,text:E,tokens:this.lexer.inlineTokens(E)}}}}codespan(e){const o=this.rules.inline.code.exec(e);if(o){let i=o[2].replace(/\n/g," ");const t=/[^ ]/.test(i),A=/^ /.test(i)&&/ $/.test(i);return t&&A&&(i=i.substring(1,i.length-1)),i=S(i,!0),{type:"codespan",raw:o[0],text:i}}}br(e){const o=this.rules.inline.br.exec(e);if(o)return{type:"br",raw:o[0]}}del(e){const o=this.rules.inline.del.exec(e);if(o)return{type:"del",raw:o[0],text:o[2],tokens:this.lexer.inlineTokens(o[2])}}autolink(e){const o=this.rules.inline.autolink.exec(e);if(o){let i,t;return o[2]==="@"?(i=S(o[1]),t="mailto:"+i):(i=S(o[1]),t=i),{type:"link",raw:o[0],text:i,href:t,tokens:[{type:"text",raw:i,text:i}]}}}url(e){var i;let o;if(o=this.rules.inline.url.exec(e)){let t,A;if(o[2]==="@")t=S(o[0]),A="mailto:"+t;else{let n;do n=o[0],o[0]=((i=this.rules.inline._backpedal.exec(o[0]))==null?void 0:i[0])??"";while(n!==o[0]);t=S(o[0]),o[1]==="www."?A="http://"+o[0]:A=o[0]}return{type:"link",raw:o[0],text:t,href:A,tokens:[{type:"text",raw:t,text:t}]}}}inlineText(e){const o=this.rules.inline.text.exec(e);if(o){let i;return this.lexer.state.inRawBlock?i=o[0]:i=S(o[0]),{type:"text",raw:o[0],text:i}}}}const iA=/^(?: *(?:\n|$))+/,rA=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,AA=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,to=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,nA=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,bi=/(?:[*+-]|\d{1,9}[.)])/,Bi=b(/^(?!bull )((?:.|\n(?!\s*?\n|bull ))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,bi).getRegex(),ut=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,sA=/^[^\n]+/,mt=/(?!\s*\])(?:\\.|[^\[\]\\])+/,aA=b(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",mt).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),cA=b(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,bi).getRegex(),Ro="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",wt=/<!--(?!-?>)[\s\S]*?(?:-->|$)/,lA=b("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",wt).replace("tag",Ro).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Ei=b(ut).replace("hr",to).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ro).getRegex(),bt={blockquote:b(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Ei).getRegex(),code:rA,def:aA,fences:AA,heading:nA,hr:to,html:lA,lheading:Bi,list:cA,newline:iA,paragraph:Ei,table:oo,text:sA},fi=b("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",to).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ro).getRegex(),dA={...bt,table:fi,paragraph:b(ut).replace("hr",to).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",fi).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ro).getRegex()},gA={...bt,html:b(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",wt).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:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:oo,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:b(ut).replace("hr",to).replace("heading",` *#{1,6} *[^
|
|
1110
|
+
]`).replace("lheading",Bi).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},xi=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,hA=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,vi=/^( {2,}|\\)\n(?!\s*$)/,pA=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,io="\\p{P}$+<=>`^|~",uA=b(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,io).getRegex(),mA=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,wA=b(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,io).getRegex(),bA=b("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,io).getRegex(),BA=b("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,io).getRegex(),EA=b(/\\([punct])/,"gu").replace(/punct/g,io).getRegex(),fA=b(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),xA=b(wt).replace("(?:-->|$)","-->").getRegex(),vA=b("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",xA).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),So=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,QA=b(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",So).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Qi=b(/^!?\[(label)\]\[(ref)\]/).replace("label",So).replace("ref",mt).getRegex(),yi=b(/^!?\[(ref)\](?:\[\])?/).replace("ref",mt).getRegex(),yA=b("reflink|nolink(?!\\()","g").replace("reflink",Qi).replace("nolink",yi).getRegex(),Bt={_backpedal:oo,anyPunctuation:EA,autolink:fA,blockSkip:mA,br:vi,code:hA,del:oo,emStrongLDelim:wA,emStrongRDelimAst:bA,emStrongRDelimUnd:BA,escape:xi,link:QA,nolink:yi,punctuation:uA,reflink:Qi,reflinkSearch:yA,tag:vA,text:pA,url:oo},MA={...Bt,link:b(/^!?\[(label)\]\((.*?)\)/).replace("label",So).getRegex(),reflink:b(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",So).getRegex()},Et={...Bt,escape:b(xi).replace("])","~|])").getRegex(),url:b(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},CA={...Et,br:b(vi).replace("{2,}","*").getRegex(),text:b(Et.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Yo={normal:bt,gfm:dA,pedantic:gA},ro={normal:Bt,gfm:Et,breaks:CA,pedantic:MA};class W{constructor(e){m(this,"tokens");m(this,"options");m(this,"state");m(this,"tokenizer");m(this,"inlineQueue");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||xe,this.options.tokenizer=this.options.tokenizer||new Uo,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const o={block:Yo.normal,inline:ro.normal};this.options.pedantic?(o.block=Yo.pedantic,o.inline=ro.pedantic):this.options.gfm&&(o.block=Yo.gfm,this.options.breaks?o.inline=ro.breaks:o.inline=ro.gfm),this.tokenizer.rules=o}static get rules(){return{block:Yo,inline:ro}}static lex(e,o){return new W(o).lex(e)}static lexInline(e,o){return new W(o).inlineTokens(e)}lex(e){e=e.replace(/\r\n|\r/g,`
|
|
1111
|
+
`),this.blockTokens(e,this.tokens);for(let o=0;o<this.inlineQueue.length;o++){const i=this.inlineQueue[o];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,o=[]){this.options.pedantic?e=e.replace(/\t/g," ").replace(/^ +$/gm,""):e=e.replace(/^( *)(\t+)/gm,(c,l,d)=>l+" ".repeat(d.length));let i,t,A,n;for(;e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(c=>(i=c.call({lexer:this},e,o))?(e=e.substring(i.raw.length),o.push(i),!0):!1))){if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length),i.raw.length===1&&o.length>0?o[o.length-1].raw+=`
|
|
1112
|
+
`:o.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length),t=o[o.length-1],t&&(t.type==="paragraph"||t.type==="text")?(t.raw+=`
|
|
1113
|
+
`+i.raw,t.text+=`
|
|
1114
|
+
`+i.text,this.inlineQueue[this.inlineQueue.length-1].src=t.text):o.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),o.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),o.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),o.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),o.push(i);continue}if(i=this.tokenizer.list(e)){e=e.substring(i.raw.length),o.push(i);continue}if(i=this.tokenizer.html(e)){e=e.substring(i.raw.length),o.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length),t=o[o.length-1],t&&(t.type==="paragraph"||t.type==="text")?(t.raw+=`
|
|
1115
|
+
`+i.raw,t.text+=`
|
|
1116
|
+
`+i.raw,this.inlineQueue[this.inlineQueue.length-1].src=t.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title});continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),o.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),o.push(i);continue}if(A=e,this.options.extensions&&this.options.extensions.startBlock){let c=1/0;const l=e.slice(1);let d;this.options.extensions.startBlock.forEach(g=>{d=g.call({lexer:this},l),typeof d=="number"&&d>=0&&(c=Math.min(c,d))}),c<1/0&&c>=0&&(A=e.substring(0,c+1))}if(this.state.top&&(i=this.tokenizer.paragraph(A))){t=o[o.length-1],n&&t.type==="paragraph"?(t.raw+=`
|
|
1117
|
+
`+i.raw,t.text+=`
|
|
1118
|
+
`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=t.text):o.push(i),n=A.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length),t=o[o.length-1],t&&t.type==="text"?(t.raw+=`
|
|
1119
|
+
`+i.raw,t.text+=`
|
|
1120
|
+
`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=t.text):o.push(i);continue}if(e){const c="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(c);break}else throw new Error(c)}}return this.state.top=!0,o}inline(e,o=[]){return this.inlineQueue.push({src:e,tokens:o}),o}inlineTokens(e,o=[]){let i,t,A,n=e,c,l,d;if(this.tokens.links){const g=Object.keys(this.tokens.links);if(g.length>0)for(;(c=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)g.includes(c[0].slice(c[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,c.index)+"["+"a".repeat(c[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(c=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)n=n.slice(0,c.index)+"["+"a".repeat(c[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(c=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,c.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(l||(d=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(g=>(i=g.call({lexer:this},e,o))?(e=e.substring(i.raw.length),o.push(i),!0):!1))){if(i=this.tokenizer.escape(e)){e=e.substring(i.raw.length),o.push(i);continue}if(i=this.tokenizer.tag(e)){e=e.substring(i.raw.length),t=o[o.length-1],t&&i.type==="text"&&t.type==="text"?(t.raw+=i.raw,t.text+=i.text):o.push(i);continue}if(i=this.tokenizer.link(e)){e=e.substring(i.raw.length),o.push(i);continue}if(i=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(i.raw.length),t=o[o.length-1],t&&i.type==="text"&&t.type==="text"?(t.raw+=i.raw,t.text+=i.text):o.push(i);continue}if(i=this.tokenizer.emStrong(e,n,d)){e=e.substring(i.raw.length),o.push(i);continue}if(i=this.tokenizer.codespan(e)){e=e.substring(i.raw.length),o.push(i);continue}if(i=this.tokenizer.br(e)){e=e.substring(i.raw.length),o.push(i);continue}if(i=this.tokenizer.del(e)){e=e.substring(i.raw.length),o.push(i);continue}if(i=this.tokenizer.autolink(e)){e=e.substring(i.raw.length),o.push(i);continue}if(!this.state.inLink&&(i=this.tokenizer.url(e))){e=e.substring(i.raw.length),o.push(i);continue}if(A=e,this.options.extensions&&this.options.extensions.startInline){let g=1/0;const p=e.slice(1);let h;this.options.extensions.startInline.forEach(u=>{h=u.call({lexer:this},p),typeof h=="number"&&h>=0&&(g=Math.min(g,h))}),g<1/0&&g>=0&&(A=e.substring(0,g+1))}if(i=this.tokenizer.inlineText(A)){e=e.substring(i.raw.length),i.raw.slice(-1)!=="_"&&(d=i.raw.slice(-1)),l=!0,t=o[o.length-1],t&&t.type==="text"?(t.raw+=i.raw,t.text+=i.text):o.push(i);continue}if(e){const g="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(g);break}else throw new Error(g)}}return o}}class Jo{constructor(e){m(this,"options");this.options=e||xe}code(e,o,i){var A;const t=(A=(o||"").match(/^\S*/))==null?void 0:A[0];return e=e.replace(/\n$/,"")+`
|
|
1121
|
+
`,t?'<pre><code class="language-'+S(t)+'">'+(i?e:S(e,!0))+`</code></pre>
|
|
1122
|
+
`:"<pre><code>"+(i?e:S(e,!0))+`</code></pre>
|
|
1123
1123
|
`}blockquote(e){return`<blockquote>
|
|
1124
1124
|
${e}</blockquote>
|
|
1125
|
-
`}html(e,o){return e}heading(e,o,
|
|
1125
|
+
`}html(e,o){return e}heading(e,o,i){return`<h${o}>${e}</h${o}>
|
|
1126
1126
|
`}hr(){return`<hr>
|
|
1127
|
-
`}list(e,o,
|
|
1127
|
+
`}list(e,o,i){const t=o?"ol":"ul",A=o&&i!==1?' start="'+i+'"':"";return"<"+t+A+`>
|
|
1128
1128
|
`+e+"</"+t+`>
|
|
1129
|
-
`}listitem(e,o,
|
|
1129
|
+
`}listitem(e,o,i){return`<li>${e}</li>
|
|
1130
1130
|
`}checkbox(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph(e){return`<p>${e}</p>
|
|
1131
1131
|
`}table(e,o){return o&&(o=`<tbody>${o}</tbody>`),`<table>
|
|
1132
1132
|
<thead>
|
|
@@ -1134,10 +1134,10 @@ ${e}</blockquote>
|
|
|
1134
1134
|
`+o+`</table>
|
|
1135
1135
|
`}tablerow(e){return`<tr>
|
|
1136
1136
|
${e}</tr>
|
|
1137
|
-
`}tablecell(e,o){const
|
|
1138
|
-
`}strong(e){return`<strong>${e}</strong>`}em(e){return`<em>${e}</em>`}codespan(e){return`<code>${e}</code>`}br(){return"<br>"}del(e){return`<del>${e}</del>`}link(e,o,
|
|
1139
|
-
`+(
|
|
1140
|
-
Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An error occurred:</p><pre>"+
|
|
1137
|
+
`}tablecell(e,o){const i=o.header?"th":"td";return(o.align?`<${i} align="${o.align}">`:`<${i}>`)+e+`</${i}>
|
|
1138
|
+
`}strong(e){return`<strong>${e}</strong>`}em(e){return`<em>${e}</em>`}codespan(e){return`<code>${e}</code>`}br(){return"<br>"}del(e){return`<del>${e}</del>`}link(e,o,i){const t=ui(e);if(t===null)return i;e=t;let A='<a href="'+e+'"';return o&&(A+=' title="'+o+'"'),A+=">"+i+"</a>",A}image(e,o,i){const t=ui(e);if(t===null)return i;e=t;let A=`<img src="${e}" alt="${i}"`;return o&&(A+=` title="${o}"`),A+=">",A}text(e){return e}}class ft{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,o,i){return""+i}image(e,o,i){return""+i}br(){return""}}class Z{constructor(e){m(this,"options");m(this,"renderer");m(this,"textRenderer");this.options=e||xe,this.options.renderer=this.options.renderer||new Jo,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new ft}static parse(e,o){return new Z(o).parse(e)}static parseInline(e,o){return new Z(o).parseInline(e)}parse(e,o=!0){let i="";for(let t=0;t<e.length;t++){const A=e[t];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[A.type]){const n=A,c=this.options.extensions.renderers[n.type].call({parser:this},n);if(c!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(n.type)){i+=c||"";continue}}switch(A.type){case"space":continue;case"hr":{i+=this.renderer.hr();continue}case"heading":{const n=A;i+=this.renderer.heading(this.parseInline(n.tokens),n.depth,_r(this.parseInline(n.tokens,this.textRenderer)));continue}case"code":{const n=A;i+=this.renderer.code(n.text,n.lang,!!n.escaped);continue}case"table":{const n=A;let c="",l="";for(let g=0;g<n.header.length;g++)l+=this.renderer.tablecell(this.parseInline(n.header[g].tokens),{header:!0,align:n.align[g]});c+=this.renderer.tablerow(l);let d="";for(let g=0;g<n.rows.length;g++){const p=n.rows[g];l="";for(let h=0;h<p.length;h++)l+=this.renderer.tablecell(this.parseInline(p[h].tokens),{header:!1,align:n.align[h]});d+=this.renderer.tablerow(l)}i+=this.renderer.table(c,d);continue}case"blockquote":{const n=A,c=this.parse(n.tokens);i+=this.renderer.blockquote(c);continue}case"list":{const n=A,c=n.ordered,l=n.start,d=n.loose;let g="";for(let p=0;p<n.items.length;p++){const h=n.items[p],u=h.checked,E=h.task;let M="";if(h.task){const R=this.renderer.checkbox(!!u);d?h.tokens.length>0&&h.tokens[0].type==="paragraph"?(h.tokens[0].text=R+" "+h.tokens[0].text,h.tokens[0].tokens&&h.tokens[0].tokens.length>0&&h.tokens[0].tokens[0].type==="text"&&(h.tokens[0].tokens[0].text=R+" "+h.tokens[0].tokens[0].text)):h.tokens.unshift({type:"text",text:R+" "}):M+=R+" "}M+=this.parse(h.tokens,d),g+=this.renderer.listitem(M,E,!!u)}i+=this.renderer.list(g,c,l);continue}case"html":{const n=A;i+=this.renderer.html(n.text,n.block);continue}case"paragraph":{const n=A;i+=this.renderer.paragraph(this.parseInline(n.tokens));continue}case"text":{let n=A,c=n.tokens?this.parseInline(n.tokens):n.text;for(;t+1<e.length&&e[t+1].type==="text";)n=e[++t],c+=`
|
|
1139
|
+
`+(n.tokens?this.parseInline(n.tokens):n.text);i+=o?this.renderer.paragraph(c):c;continue}default:{const n='Token with "'+A.type+'" type was not found.';if(this.options.silent)return console.error(n),"";throw new Error(n)}}}return i}parseInline(e,o){o=o||this.renderer;let i="";for(let t=0;t<e.length;t++){const A=e[t];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[A.type]){const n=this.options.extensions.renderers[A.type].call({parser:this},A);if(n!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(A.type)){i+=n||"";continue}}switch(A.type){case"escape":{const n=A;i+=o.text(n.text);break}case"html":{const n=A;i+=o.html(n.text);break}case"link":{const n=A;i+=o.link(n.href,n.title,this.parseInline(n.tokens,o));break}case"image":{const n=A;i+=o.image(n.href,n.title,n.text);break}case"strong":{const n=A;i+=o.strong(this.parseInline(n.tokens,o));break}case"em":{const n=A;i+=o.em(this.parseInline(n.tokens,o));break}case"codespan":{const n=A;i+=o.codespan(n.text);break}case"br":{i+=o.br();break}case"del":{const n=A;i+=o.del(this.parseInline(n.tokens,o));break}case"text":{const n=A;i+=o.text(n.text);break}default:{const n='Token with "'+A.type+'" type was not found.';if(this.options.silent)return console.error(n),"";throw new Error(n)}}}return i}}class Ao{constructor(e){m(this,"options");this.options=e||xe}preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}}m(Ao,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"]));class DA{constructor(...e){Pt(this,vo);Pt(this,rt);m(this,"defaults",pt());m(this,"options",this.setOptions);m(this,"parse",nt(this,vo,Vt).call(this,W.lex,Z.parse));m(this,"parseInline",nt(this,vo,Vt).call(this,W.lexInline,Z.parseInline));m(this,"Parser",Z);m(this,"Renderer",Jo);m(this,"TextRenderer",ft);m(this,"Lexer",W);m(this,"Tokenizer",Uo);m(this,"Hooks",Ao);this.use(...e)}walkTokens(e,o){var t,A;let i=[];for(const n of e)switch(i=i.concat(o.call(this,n)),n.type){case"table":{const c=n;for(const l of c.header)i=i.concat(this.walkTokens(l.tokens,o));for(const l of c.rows)for(const d of l)i=i.concat(this.walkTokens(d.tokens,o));break}case"list":{const c=n;i=i.concat(this.walkTokens(c.items,o));break}default:{const c=n;(A=(t=this.defaults.extensions)==null?void 0:t.childTokens)!=null&&A[c.type]?this.defaults.extensions.childTokens[c.type].forEach(l=>{i=i.concat(this.walkTokens(c[l],o))}):c.tokens&&(i=i.concat(this.walkTokens(c.tokens,o)))}}return i}use(...e){const o=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(i=>{const t={...i};if(t.async=this.defaults.async||t.async||!1,i.extensions&&(i.extensions.forEach(A=>{if(!A.name)throw new Error("extension name required");if("renderer"in A){const n=o.renderers[A.name];n?o.renderers[A.name]=function(...c){let l=A.renderer.apply(this,c);return l===!1&&(l=n.apply(this,c)),l}:o.renderers[A.name]=A.renderer}if("tokenizer"in A){if(!A.level||A.level!=="block"&&A.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const n=o[A.level];n?n.unshift(A.tokenizer):o[A.level]=[A.tokenizer],A.start&&(A.level==="block"?o.startBlock?o.startBlock.push(A.start):o.startBlock=[A.start]:A.level==="inline"&&(o.startInline?o.startInline.push(A.start):o.startInline=[A.start]))}"childTokens"in A&&A.childTokens&&(o.childTokens[A.name]=A.childTokens)}),t.extensions=o),i.renderer){const A=this.defaults.renderer||new Jo(this.defaults);for(const n in i.renderer){if(!(n in A))throw new Error(`renderer '${n}' does not exist`);if(n==="options")continue;const c=n,l=i.renderer[c],d=A[c];A[c]=(...g)=>{let p=l.apply(A,g);return p===!1&&(p=d.apply(A,g)),p||""}}t.renderer=A}if(i.tokenizer){const A=this.defaults.tokenizer||new Uo(this.defaults);for(const n in i.tokenizer){if(!(n in A))throw new Error(`tokenizer '${n}' does not exist`);if(["options","rules","lexer"].includes(n))continue;const c=n,l=i.tokenizer[c],d=A[c];A[c]=(...g)=>{let p=l.apply(A,g);return p===!1&&(p=d.apply(A,g)),p}}t.tokenizer=A}if(i.hooks){const A=this.defaults.hooks||new Ao;for(const n in i.hooks){if(!(n in A))throw new Error(`hook '${n}' does not exist`);if(n==="options")continue;const c=n,l=i.hooks[c],d=A[c];Ao.passThroughHooks.has(n)?A[c]=g=>{if(this.defaults.async)return Promise.resolve(l.call(A,g)).then(h=>d.call(A,h));const p=l.call(A,g);return d.call(A,p)}:A[c]=(...g)=>{let p=l.apply(A,g);return p===!1&&(p=d.apply(A,g)),p}}t.hooks=A}if(i.walkTokens){const A=this.defaults.walkTokens,n=i.walkTokens;t.walkTokens=function(c){let l=[];return l.push(n.call(this,c)),A&&(l=l.concat(A.call(this,c))),l}}this.defaults={...this.defaults,...t}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,o){return W.lex(e,o??this.defaults)}parser(e,o){return Z.parse(e,o??this.defaults)}}vo=new WeakSet,Vt=function(e,o){return(i,t)=>{const A={...t},n={...this.defaults,...A};this.defaults.async===!0&&A.async===!1&&(n.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),n.async=!0);const c=nt(this,rt,Ar).call(this,!!n.silent,!!n.async);if(typeof i>"u"||i===null)return c(new Error("marked(): input parameter is undefined or null"));if(typeof i!="string")return c(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", string expected"));if(n.hooks&&(n.hooks.options=n),n.async)return Promise.resolve(n.hooks?n.hooks.preprocess(i):i).then(l=>e(l,n)).then(l=>n.hooks?n.hooks.processAllTokens(l):l).then(l=>n.walkTokens?Promise.all(this.walkTokens(l,n.walkTokens)).then(()=>l):l).then(l=>o(l,n)).then(l=>n.hooks?n.hooks.postprocess(l):l).catch(c);try{n.hooks&&(i=n.hooks.preprocess(i));let l=e(i,n);n.hooks&&(l=n.hooks.processAllTokens(l)),n.walkTokens&&this.walkTokens(l,n.walkTokens);let d=o(l,n);return n.hooks&&(d=n.hooks.postprocess(d)),d}catch(l){return c(l)}}},rt=new WeakSet,Ar=function(e,o){return i=>{if(i.message+=`
|
|
1140
|
+
Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An error occurred:</p><pre>"+S(i.message+"",!0)+"</pre>";return o?Promise.resolve(t):t}if(o)return Promise.reject(i);throw i}};const ve=new DA;function w(r,e){return ve.parse(r,e)}w.options=w.setOptions=function(r){return ve.setOptions(r),w.defaults=ve.defaults,di(w.defaults),w},w.getDefaults=pt,w.defaults=xe,w.use=function(...r){return ve.use(...r),w.defaults=ve.defaults,di(w.defaults),w},w.walkTokens=function(r,e){return ve.walkTokens(r,e)},w.parseInline=ve.parseInline,w.Parser=Z,w.parser=Z.parse,w.Renderer=Jo,w.TextRenderer=ft,w.Lexer=W,w.lexer=W.lex,w.Tokenizer=Uo,w.Hooks=Ao,w.parse=w,w.options,w.setOptions,w.use,w.walkTokens,w.parseInline,Z.parse,W.lex;const kA=s.css`
|
|
1141
1141
|
|
|
1142
1142
|
.summary {
|
|
1143
1143
|
font-size: 1.1rem;
|
|
@@ -1230,7 +1230,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
1230
1230
|
}
|
|
1231
1231
|
}
|
|
1232
1232
|
|
|
1233
|
-
`,
|
|
1233
|
+
`,Mi=s.css`
|
|
1234
1234
|
|
|
1235
1235
|
strong {
|
|
1236
1236
|
display: block;
|
|
@@ -1331,7 +1331,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
1331
1331
|
padding-bottom: var(--global-padding);
|
|
1332
1332
|
}
|
|
1333
1333
|
|
|
1334
|
-
`,
|
|
1334
|
+
`,IA=s.css`
|
|
1335
1335
|
|
|
1336
1336
|
.summary {
|
|
1337
1337
|
font-size: 1.1rem;
|
|
@@ -1407,7 +1407,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
1407
1407
|
}
|
|
1408
1408
|
|
|
1409
1409
|
}
|
|
1410
|
-
`;var
|
|
1410
|
+
`;var FA=Object.defineProperty,zA=Object.getOwnPropertyDescriptor,T=(r,e,o,i)=>{for(var t=i>1?void 0:i?zA(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&FA(e,o,t),t};let I=class extends s.LitElement{constructor(){super()}open(){this.details!=null&&this.details.show().then(()=>{window.scrollTo({behavior:"smooth",top:this.details.getBoundingClientRect().top-document.body.getBoundingClientRect().top-150})})}render(){const r=new Map;this.link&&r.set("Release ",`<a href="${this.link}">${this.link}</a>`),this.tarball&&r.set("Tarball",`<a href="${this.tarball}">${this.tarball}</a>`);const e=new Ee;return e.data=r,e.keyLabel="",e.valueLabel="",s.html`
|
|
1411
1411
|
<sl-details>
|
|
1412
1412
|
<span class="summary ${this.milestone?"milestone":""} ${this.latest?"latest":""}" slot="summary">
|
|
1413
1413
|
${this.name}<slot name="name"></slot>
|
|
@@ -1417,28 +1417,28 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
1417
1417
|
<p class="published">Published: ${this.published}
|
|
1418
1418
|
<slot name="published"></slot>
|
|
1419
1419
|
</p>
|
|
1420
|
-
${
|
|
1420
|
+
${H(this.body)}
|
|
1421
1421
|
<slot></slot>
|
|
1422
1422
|
<hr/>
|
|
1423
1423
|
${e}
|
|
1424
1424
|
</sl-details>
|
|
1425
|
-
`}};
|
|
1425
|
+
`}};I.styles=[q,IA],T([a.property()],I.prototype,"name",2),T([a.property()],I.prototype,"body",2),T([a.property()],I.prototype,"published",2),T([a.property()],I.prototype,"link",2),T([a.property()],I.prototype,"author",2),T([a.property()],I.prototype,"authorLink",2),T([a.property()],I.prototype,"authorImage",2),T([a.property()],I.prototype,"tarball",2),T([a.property({type:Boolean})],I.prototype,"milestone",2),T([a.property({type:Boolean})],I.prototype,"latest",2),T([a.query("sl-details")],I.prototype,"details",2),I=T([a.customElement("pb33f-release")],I);var NA=Object.defineProperty,UA=Object.getOwnPropertyDescriptor,no=(r,e,o,i)=>{for(var t=i>1?void 0:i?UA(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&NA(e,o,t),t};let Qe=class extends s.LitElement{constructor(){super(),this.apiURL="https://api.pb33f.io/release-notes/"}connectedCallback(){super.connectedCallback(),this.fetchChangelogSummary().then(r=>{this.summaries=r}).catch(r=>{this.error=r}),this.extractHash()}extractHash(){this._linked=window.location.hash.substring(1)}async fetchChangelogSummary(){const r=await fetch(`${this.apiURL}/${this.project}`);return r.ok?r.json():Promise.reject(`HTTP Error ${r.status}`)}render(){var r,e;if(this.error)return s.html`
|
|
1426
1426
|
<pb33f-attention-box headerText="unable to fetch changelog" type="error">
|
|
1427
1427
|
${this.error}
|
|
1428
1428
|
</pb33f-attention-box>
|
|
1429
|
-
`;if(this.project&&((r=this.summaries)==null?void 0:r.length)>0){const o=
|
|
1430
|
-
<sl-icon name="braces-asterisk" class="major-icon"></sl-icon>`);const
|
|
1431
|
-
<pb33f-timeline-item id="release_${
|
|
1429
|
+
`;if(this.project&&((r=this.summaries)==null?void 0:r.length)>0){const o=A=>parseInt(A.split(".")[2]),i=[];let t=null;for(let A=0;A<((e=this.summaries)==null?void 0:e.length);A++){const n=this.summaries[A];let c=o(n.tag_name),l=s.html``,d=!1;c==0&&(d=!0,l=s.html`
|
|
1430
|
+
<sl-icon name="braces-asterisk" class="major-icon"></sl-icon>`);const g=w.parse(n.body).toString();let p=!1;A==0&&(p=!0);const h=new I;h.latest=p,h.milestone=d,h.name=n.name,h.published=n.published_at,h.link=n.html_url,h.author=n.author,h.tarball=n.tarball_url,h.authorLink=n.author_url,h.authorImage=n.author_image,h.body=g;let u=!1;n.name==this._linked&&(u=!0),u&&(t=h),i.push(s.html`
|
|
1431
|
+
<pb33f-timeline-item id="release_${n.name}">
|
|
1432
1432
|
<span slot="icon">${l}</span>
|
|
1433
|
-
<span slot="time" class="${
|
|
1433
|
+
<span slot="time" class="${d?"major":null}">${n.publish_date}</span>
|
|
1434
1434
|
<div slot="content">
|
|
1435
|
-
${
|
|
1435
|
+
${h}
|
|
1436
1436
|
</div>
|
|
1437
|
-
</pb33f-timeline-item>`)}return t&&setTimeout(()=>{t==null||t.open()}),
|
|
1437
|
+
</pb33f-timeline-item>`)}return t&&setTimeout(()=>{t==null||t.open()}),s.html`
|
|
1438
1438
|
<pb33f-timeline>
|
|
1439
|
-
${
|
|
1439
|
+
${i.map(A=>A)}
|
|
1440
1440
|
</pb33f-timeline>
|
|
1441
|
-
`}else return
|
|
1441
|
+
`}else return s.html`
|
|
1442
1442
|
<pb33f-timeline>
|
|
1443
1443
|
<pb33f-timeline-item>
|
|
1444
1444
|
<div slot="content">
|
|
@@ -1448,7 +1448,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
1448
1448
|
</div>
|
|
1449
1449
|
</pb33f-timeline-item>
|
|
1450
1450
|
</pb33f-timeline>
|
|
1451
|
-
`}};
|
|
1451
|
+
`}};Qe.styles=[q,Mi,kA],no([a.property()],Qe.prototype,"apiURL",2),no([a.property()],Qe.prototype,"project",2),no([a.state()],Qe.prototype,"summaries",2),no([a.state()],Qe.prototype,"error",2),Qe=no([a.customElement("pb33f-changelog")],Qe);const RA=s.css`
|
|
1452
1452
|
sl-alert::part(message) {
|
|
1453
1453
|
padding-bottom: var(--global-padding);
|
|
1454
1454
|
color: var(--font-color);
|
|
@@ -1543,21 +1543,21 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
1543
1543
|
box-shadow: 0 0 8px var(--warn-200);
|
|
1544
1544
|
}
|
|
1545
1545
|
}
|
|
1546
|
-
`;var
|
|
1546
|
+
`;var SA=Object.defineProperty,YA=Object.getOwnPropertyDescriptor,so=(r,e,o,i)=>{for(var t=i>1?void 0:i?YA(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&SA(e,o,t),t};let ye=class extends s.LitElement{constructor(){super(),this.type="context",this.closeable=!1}hide(){this.alert.hide()}show(){this.alert.show()}getIcon(){switch(this.type){case"context":return"braces-asterisk";case"info":return"info-square";case"warning":return"exclamation-triangle";case"error":return"exclamation-square";case"danger":return"exclamation-square";case"success":return"check-square";case"question":return"question-square"}}render(){var o;this.type||(this.type="context"),this.type==="danger"&&(this.type="error");let r=s.html``;((o=this.headerText)==null?void 0:o.length)>0&&(r=s.html`<strong>${this.headerText}</strong>`);let e=s.html`
|
|
1547
1547
|
<sl-alert class="${this.type}" open>
|
|
1548
1548
|
<sl-icon slot="icon" name="${this.getIcon()}" class="${this.headerText?"":"noheader"}"></sl-icon>
|
|
1549
1549
|
${r}
|
|
1550
1550
|
<slot></slot>
|
|
1551
|
-
</sl-alert>`;return this.closeable&&(e=
|
|
1551
|
+
</sl-alert>`;return this.closeable&&(e=s.html`
|
|
1552
1552
|
<sl-alert class="${this.type}" open closable>
|
|
1553
1553
|
<sl-icon slot="icon" name="${this.getIcon()}" class="${this.headerText?"":"noheader"}"></sl-icon>
|
|
1554
1554
|
${r}
|
|
1555
1555
|
<slot></slot>
|
|
1556
|
-
</sl-alert>`),
|
|
1556
|
+
</sl-alert>`),s.html`
|
|
1557
1557
|
<div class='attention ${this.type}'>
|
|
1558
1558
|
${e}
|
|
1559
1559
|
</div>
|
|
1560
|
-
`}};
|
|
1560
|
+
`}};ye.styles=[Mi,RA],so([a.property()],ye.prototype,"type",2),so([a.property()],ye.prototype,"headerText",2),so([a.property({type:Boolean})],ye.prototype,"closeable",2),so([a.query("sl-alert")],ye.prototype,"alert",2),ye=so([a.customElement("pb33f-attention-box")],ye);const JA=s.css`
|
|
1561
1561
|
:host {
|
|
1562
1562
|
color: var(--font-color);
|
|
1563
1563
|
font-family: var(--font-stack), monospace;
|
|
@@ -1578,7 +1578,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
1578
1578
|
//text-decoration: underline;
|
|
1579
1579
|
//cursor: pointer;
|
|
1580
1580
|
}
|
|
1581
|
-
`;var
|
|
1581
|
+
`;var HA=Object.defineProperty,OA=Object.getOwnPropertyDescriptor,Ci=(r,e,o,i)=>{for(var t=i>1?void 0:i?OA(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&HA(e,o,t),t};let Ho=class extends s.LitElement{constructor(){super(...arguments),this.path="/"}replaceBrackets(){const r=/(\{)([\w]+)(\})/gm;let e,o=this.path;for(;(e=r.exec(this.path))!==null;)e.index===r.lastIndex&&r.lastIndex++,e.forEach((i,t)=>{t===1&&(o=o.replaceAll(i,'<span class="bracket">'+i+"</span>")),t===2&&(o=o.replaceAll(i,'<span class="param">'+i+"</span>")),t===3&&(o=o.replaceAll(i,'<span class="bracket">'+i+"</span>"))});return s.html`${H(o)}`}render(){return s.html`${this.replaceBrackets()}`}};Ho.styles=JA,Ci([a.property()],Ho.prototype,"path",2),Ho=Ci([a.customElement("pb33f-render-operation-path")],Ho);const TA=s.css`
|
|
1582
1582
|
:host {
|
|
1583
1583
|
color: var(--font-color);
|
|
1584
1584
|
font-family: var(--font-stack), monospace;
|
|
@@ -1662,7 +1662,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
1662
1662
|
|
|
1663
1663
|
|
|
1664
1664
|
|
|
1665
|
-
`;var
|
|
1665
|
+
`;var GA=Object.defineProperty,LA=Object.getOwnPropertyDescriptor,xt=(r,e,o,i)=>{for(var t=i>1?void 0:i?LA(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&GA(e,o,t),t};const jA=/(\{)([\w.\-_$:]+)(})|(:)([\w.\-_$:]+)/g,vt=/(\[)(["']?)([\w${}:.\-_/\\]+)(['"]?)(])/g;let ao=class extends s.LitElement{constructor(){super(),this.path="/",this.selected=!1,this.chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"}replaceBrackets(r){let e,o=r;for(;(e=jA.exec(r))!==null;)e.forEach((i,t)=>{i!==void 0&&(t===1||t===4)&&(o=o.replaceAll(i,'<span class="bracket">'+i+"</span>")),i!==void 0&&(t===2||t===5)&&(o=o.replaceAll(i,'<span class="param-nested">'+i+"</span>")),i!==void 0&&t===3&&(o=o.replaceAll(i,'<span class="bracket">'+i+"</span>"))});return o}breakPath(){let r=this.path.split(".");r.length>0&&r[0]=="$"&&(r=r.slice(1,r.length));let e=r.join(".");const o=e;let i=new Map,t;for(;(t=vt.exec(o))!==null;){const n=vt.lastIndex-t.index,c=PA(n,this.chars);i.set(c,t),e=e.substring(0,t.index)+c+e.substring(vt.lastIndex)}e=e.replaceAll(".",'<span class="dot">.</span>'),i.forEach((n,c)=>{let l=[];n[1]!==void 0&&l.push('<span part="path" class="bracket">'+n[1]+"</span>"),n[2]!==void 0&&l.push(n[2]),n[3]!==void 0&&l.push('<span part="path" class="param">'+this.replaceBrackets(n[3])+"</span>"),n[4]!==void 0&&l.push(n[4]),n[5]!==void 0&&l.push('<span part="path" class="bracket">'+n[5]+"</span>");const d=l.join("");e=e.replaceAll(c,d)});let A=e;return A=A.replaceAll("$","<span class='dollar'>$</span>"),A===""&&(A="<span part='path' class='dot'>{no path available}</span>"),s.html`${H(A)}`}render(){return s.html`<span part="path" class="jsonpath ${this.selected?"selected":""}">${this.breakPath()}</span>`}};ao.styles=TA,xt([a.property()],ao.prototype,"path",2),xt([a.property({type:Boolean})],ao.prototype,"selected",2),ao=xt([a.customElement("pb33f-render-json-path")],ao);function PA(r,e){let o="";for(let i=r;i>0;--i)o+=e[Math.floor(Math.random()*e.length)];return o}const VA=s.css`
|
|
1666
1666
|
footer {
|
|
1667
1667
|
padding: var(--footer-padding);
|
|
1668
1668
|
width: 100vw;
|
|
@@ -1681,7 +1681,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
1681
1681
|
font-weight: normal;
|
|
1682
1682
|
color: var(--font-color-sub2);
|
|
1683
1683
|
}
|
|
1684
|
-
`,
|
|
1684
|
+
`,Re=s.css`
|
|
1685
1685
|
a {
|
|
1686
1686
|
color: var(--primary-color);
|
|
1687
1687
|
text-decoration: none;
|
|
@@ -1696,15 +1696,15 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
1696
1696
|
a:active {
|
|
1697
1697
|
color: var(--primary-color);
|
|
1698
1698
|
}
|
|
1699
|
-
`;var
|
|
1699
|
+
`;var XA=Object.defineProperty,WA=Object.getOwnPropertyDescriptor,Qt=(r,e,o,i)=>{for(var t=i>1?void 0:i?WA(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&XA(e,o,t),t};let co=class extends s.LitElement{constructor(){super(),this.url="https://pb33f.io",this.build=""}render(){const r=new Date().getFullYear();return s.html`
|
|
1700
1700
|
<footer>
|
|
1701
1701
|
©${r} <a href="${this.url}">princess b33f heavy industries</a>
|
|
1702
1702
|
<span class="generated-timestamp">${this.build}</span>
|
|
1703
|
-
</footer>`}};
|
|
1703
|
+
</footer>`}};co.styles=[VA,Re],Qt([a.property()],co.prototype,"build",2),Qt([a.property()],co.prototype,"url",2),co=Qt([a.customElement("pb33f-footer")],co);const yt="editorUpdated",Di="editorClicked",Oo="problemClicked",Me="openProblemDrawer",ki="mainViewSlideChanged",Ii="problemLabelViewFilterChanged",Fi="problemSortFilterChanged",zi="problemRuleFilterChanged",Ni="problemRuleFilterChangedManual",Ui="problemSearchFilterChanged",Ri="ruleViolationClicked",Si="removeFunctionOption",Ae="rulesetDirty",Yi="ruleNameUpdated",Mt="customRulesetEnabled",Ct="rulesetSaved",Ji="rulesetRuleClicked",Hi="exportRuleset",ZA="ruleActionDirty",To="addToast",Oi="toastExpired",$A="message";var B=(r=>(r.Problems="problems",r.Overview="overview",r.Ruleset="ruleset",r))(B||{});class ne{static reconstruct(e){return new ne(e.category,e.jsonPath,e.endColumn,e.endLineNumber,e.message,e.severity,e.startColumn,e.startLineNumber,e.source,e.id)}constructor(e,o,i,t,A,n,c,l,d,g){this.category=e,this.jsonPath=o,this.endColumn=i,this.endLineNumber=t,this.message=A,this.severity=n,this.startColumn=c,this.startLineNumber=l,this.source=d,this.id=g,this.startLineNumber===0&&(this.startLineNumber=1)}hash(){return`${this.startLineNumber}:${this.startColumn}:${this.endLineNumber}:${this.endColumn}:${this.message}:${this.category}`}}function Ti(r){return r.severity===J.MarkerSeverity.Error?"error":r.severity===J.MarkerSeverity.Warning?"warning":"info"}function Gi(r){return r.severity===J.MarkerSeverity.Error?"x-square":r.severity===J.MarkerSeverity.Warning?"exclamation-triangle":"info-square"}const Dt=s.css`
|
|
1704
1704
|
.filter {
|
|
1705
1705
|
|
|
1706
1706
|
}
|
|
1707
|
-
`,
|
|
1707
|
+
`,Go=s.css`
|
|
1708
1708
|
.filter {
|
|
1709
1709
|
display: flex;
|
|
1710
1710
|
}
|
|
@@ -1732,8 +1732,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
1732
1732
|
font-size: 0.7rem;
|
|
1733
1733
|
overflow-x: hidden;
|
|
1734
1734
|
}
|
|
1735
|
-
|
|
1736
|
-
|
|
1735
|
+
|
|
1737
1736
|
sl-menu{
|
|
1738
1737
|
border: 1px solid var(--primary-color);
|
|
1739
1738
|
border-radius: 0;
|
|
@@ -1767,23 +1766,23 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
1767
1766
|
border-radius: 0;
|
|
1768
1767
|
height: 16px;
|
|
1769
1768
|
padding: 0 0 0 5px;
|
|
1770
|
-
|
|
1771
1769
|
}
|
|
1772
|
-
|
|
1770
|
+
|
|
1771
|
+
`;var KA=Object.defineProperty,qA=Object.getOwnPropertyDescriptor,Li=(r,e,o,i)=>{for(var t=i>1?void 0:i?qA(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&KA(e,o,t),t},x=(r=>(r.JSONPath="Path",r.RuleViolation="Rule Violation",r.Message="Message",r.Category="Category",r))(x||{});let lo=class extends s.LitElement{constructor(){super(),this.menuValues=Object.values(x),this.selectedLabel=this.menuValues[0].toString()}filterChanged(r){const e=r.detail.item;this.selectedLabel=e.value,this.dispatchEvent(new CustomEvent(Ii,{composed:!0,detail:{label:this.selectedLabel}}))}render(){return s.html`
|
|
1773
1772
|
<div class="filter">
|
|
1774
1773
|
<div class="label"><label>View:</label></div>
|
|
1775
1774
|
<div class="dropdown">
|
|
1776
1775
|
<sl-dropdown skidding="5" distance="5">
|
|
1777
1776
|
<sl-button slot="trigger" caret>${this.selectedLabel}</sl-button>
|
|
1778
1777
|
<sl-menu @sl-select=${this.filterChanged}>
|
|
1779
|
-
${this.menuValues.map(r=>
|
|
1778
|
+
${this.menuValues.map(r=>s.html`
|
|
1780
1779
|
<sl-menu-item value="${r}" type="checkbox" .checked=${this.selectedLabel===r}>
|
|
1781
1780
|
${r}
|
|
1782
1781
|
</sl-menu-item>`)}
|
|
1783
1782
|
</sl-menu>
|
|
1784
1783
|
</sl-dropdown>
|
|
1785
1784
|
</div>
|
|
1786
|
-
</div>`}};
|
|
1785
|
+
</div>`}};lo.styles=[Dt,Go],Li([a.property()],lo.prototype,"selectedLabel",2),lo=Li([a.customElement("pb33f-problem-label-view-filter")],lo);const _A=s.css`
|
|
1787
1786
|
|
|
1788
1787
|
.problem {
|
|
1789
1788
|
margin: 0 5px 0 5px;
|
|
@@ -1866,7 +1865,6 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
1866
1865
|
|
|
1867
1866
|
.selected-sibling {
|
|
1868
1867
|
color: var(--primary-color);
|
|
1869
|
-
//border-bottom: 1px solid var(--primary-color);
|
|
1870
1868
|
background-color: var(--primary-color-verylowalpha);
|
|
1871
1869
|
}
|
|
1872
1870
|
|
|
@@ -1925,8 +1923,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
1925
1923
|
pb33f-render-json-path.selectedPath::part(path) {
|
|
1926
1924
|
color: var(--font-color);
|
|
1927
1925
|
}
|
|
1928
|
-
|
|
1929
|
-
|
|
1926
|
+
|
|
1930
1927
|
code {
|
|
1931
1928
|
font-family: var(--font-stack), monospace;
|
|
1932
1929
|
border: none;
|
|
@@ -1960,7 +1957,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
1960
1957
|
}
|
|
1961
1958
|
|
|
1962
1959
|
|
|
1963
|
-
`,
|
|
1960
|
+
`,kt=s.css`
|
|
1964
1961
|
code {
|
|
1965
1962
|
font-family: var(--font-stack), monospace;
|
|
1966
1963
|
border: 1px solid var(--secondary-color-lowalpha);
|
|
@@ -2049,13 +2046,13 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2049
2046
|
color: var(--primary-color)
|
|
2050
2047
|
}
|
|
2051
2048
|
|
|
2052
|
-
`;var
|
|
2049
|
+
`;var en=Object.defineProperty,on=Object.getOwnPropertyDescriptor,_=(r,e,o,i)=>{for(var t=i>1?void 0:i?on(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&en(e,o,t),t};let U=class extends s.LitElement{constructor(){super(),this.scrollOnUpdate=!0,this.selectedSibling=!1,this.problemLabelView=x.JSONPath}renderMessage(r,e=!1){let o=s.html``;switch(this.problemLabelView){case x.JSONPath:o=s.html`
|
|
2053
2050
|
<pb33f-render-json-path path="${this.problem}"
|
|
2054
2051
|
.selected=${r&&!e}
|
|
2055
|
-
class="${this.selectedSibling?"selectedPath":""}"></pb33f-render-json-path>`;break;case
|
|
2052
|
+
class="${this.selectedSibling?"selectedPath":""}"></pb33f-render-json-path>`;break;case x.RuleViolation:o=s.html`${this.problemObject.source}</>`;break;case x.Message:o=s.html`${H(w.parse(this.problemObject.message).toString())}</>`;break;case x.Category:o=s.html`${this.problemObject.category}</>`;break}return o}select(r,e=!0){this.selected=r,this.scrollOnUpdate=e}selectSibling(r,e=!0){this.selectedSibling=r,this.scrollOnUpdate=e}updated(){this.selected&&this.scrollOnUpdate&&(requestAnimationFrame(()=>{this.scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"})}),this.scrollOnUpdate=!0)}selectedProblem(){this.selected=!0,this.scrollOnUpdate=!1,this.dispatchEvent(new CustomEvent(Oo,{bubbles:!1,composed:!0,detail:{problem:this,launchedFromProblems:!0}}))}render(){let r="",e=!1,o=!1;return this.selected&&(r="selected",e=!0),this.selectedSibling&&(r="selected-sibling",e=!0,o=!0),s.html`
|
|
2056
2053
|
<div @click="${this.selectedProblem}" class="problem ${r}">
|
|
2057
|
-
<div class="icon ${
|
|
2058
|
-
<sl-icon name="${
|
|
2054
|
+
<div class="icon ${Ti(this.problemObject)} class="${e?r:""}"">
|
|
2055
|
+
<sl-icon name="${Gi(this.problemObject)}"></sl-icon>
|
|
2059
2056
|
</div>
|
|
2060
2057
|
<div class="location">
|
|
2061
2058
|
${this.line}:${this.column}
|
|
@@ -2063,7 +2060,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2063
2060
|
<div class="problem-message">
|
|
2064
2061
|
${this.renderMessage(e,o)}
|
|
2065
2062
|
</div>
|
|
2066
|
-
</div>`}};
|
|
2063
|
+
</div>`}};U.styles=[kt,_A],_([a.property()],U.prototype,"source",2),_([a.property()],U.prototype,"problem",2),_([a.property({type:Number})],U.prototype,"line",2),_([a.property({type:Number})],U.prototype,"column",2),_([a.property({type:Boolean})],U.prototype,"selected",2),_([a.property({type:Boolean})],U.prototype,"selectedSibling",2),_([a.property({type:x})],U.prototype,"problemLabelView",2),_([a.query(".problem")],U.prototype,"prob",2),U=_([a.customElement("pb33f-problem-item")],U);const tn=s.css`
|
|
2067
2064
|
|
|
2068
2065
|
:host {
|
|
2069
2066
|
font-size: 0.9rem;
|
|
@@ -2175,7 +2172,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2175
2172
|
width: 100%;
|
|
2176
2173
|
}
|
|
2177
2174
|
|
|
2178
|
-
`,
|
|
2175
|
+
`,rn=s.css`
|
|
2179
2176
|
|
|
2180
2177
|
code {
|
|
2181
2178
|
font-family: var(--font-stack), monospace;
|
|
@@ -2303,7 +2300,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2303
2300
|
/* GenericUnderline */ .chroma .gl { text-decoration: underline }
|
|
2304
2301
|
/* TextWhitespace */ .chroma .w { }
|
|
2305
2302
|
|
|
2306
|
-
`,
|
|
2303
|
+
`,An=s.css`
|
|
2307
2304
|
:host {
|
|
2308
2305
|
font-family: var(--font-stack), monospace;
|
|
2309
2306
|
font-size: 0.9rem;
|
|
@@ -2343,16 +2340,16 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2343
2340
|
margin-bottom: 20px;
|
|
2344
2341
|
}
|
|
2345
2342
|
|
|
2346
|
-
`;var
|
|
2343
|
+
`;var nn=Object.defineProperty,sn=Object.getOwnPropertyDescriptor,ji=(r,e,o,i)=>{for(var t=i>1?void 0:i?sn(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&nn(e,o,t),t},$=(r=>(r.RULE_DOCS="ruleDocs",r.HOW_TO_FIX="howToFix",r.FUNCTION_DOCS="functionDocs",r))($||{});let go=class extends s.LitElement{constructor(){super()}render(){return s.html`
|
|
2347
2344
|
<sl-drawer contained label="${this.label}" class="drawer" style="--size: 800px;">
|
|
2348
2345
|
${this.content}
|
|
2349
2346
|
<sl-button slot="footer" @click=${this.close} variant="primary" class="button-primary">close panel</sl-button>
|
|
2350
|
-
</sl-drawer>`}open(r){switch(this.label="",r.type){case"ruleDocs":r.rule&&(this.label="Rule: "+r.rule,this.content=
|
|
2347
|
+
</sl-drawer>`}open(r){switch(this.label="",r.type){case"ruleDocs":r.rule&&(this.label="Rule: "+r.rule,this.content=s.html`${H(r.body)}`);break;case"howToFix":r.rule&&(this.label="Rule: "+r.rule),this.content=s.html`
|
|
2351
2348
|
<h3>How to fix this problem</h3>
|
|
2352
|
-
${r.body}`;break}this.requestUpdate(),this.drawer!=null&&this.drawer.show()}close(){this.drawer!=null&&this.drawer.hide()}};
|
|
2349
|
+
${r.body}`;break;case"functionDocs":r.rule&&(this.label="Function: "+r.rule,this.content=s.html`${H(r.body)}`);break}this.requestUpdate(),this.drawer!=null&&this.drawer.show()}close(){this.drawer!=null&&this.drawer.hide()}};go.styles=[kt,rn,An],ji([a.query("sl-drawer")],go.prototype,"drawer",2),go=ji([a.customElement("pb33f-problem-details-drawer")],go);var an=Object.defineProperty,cn=Object.getOwnPropertyDescriptor,It=(r,e,o,i)=>{for(var t=i>1?void 0:i?cn(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&an(e,o,t),t};let Se=class extends s.LitElement{constructor(){super(),this.selectedIndex=0,this.manualChange=!1}showRuleDocs(r){this.dispatchEvent(new CustomEvent(Me,{bubbles:!0,composed:!0,detail:{type:$.RULE_DOCS,rule:r}}))}howToFix(r){this.dispatchEvent(new CustomEvent(Me,{bubbles:!0,composed:!0,detail:{type:$.HOW_TO_FIX,rule:r}}))}slideChanged(r){if(this.manualChange){this.manualChange=!1;return}this.dispatchEvent(new CustomEvent(ki,{bubbles:!0,composed:!0,detail:{index:r.detail.index+1,problem:this.problems[r.detail.index]}}))}selectSlide(r){this.selectedIndex=r,this.manualChange=!0,setTimeout(()=>{var e;(e=this.carousel)==null||e.goToSlide(r-1)})}render(){if(this.problems){if(this.problems.length>1)return s.html`
|
|
2353
2350
|
<div class="main-view-carousel">
|
|
2354
2351
|
<sl-carousel @sl-slide-change=${this.slideChanged} navigation mouse-dragging>
|
|
2355
|
-
${this.problems.map(r=>
|
|
2352
|
+
${this.problems.map(r=>s.html`
|
|
2356
2353
|
<sl-carousel-item>
|
|
2357
2354
|
<div class="main-view-carousel">
|
|
2358
2355
|
${this.renderProblem(r.problemObject)}
|
|
@@ -2364,17 +2361,17 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2364
2361
|
`)}
|
|
2365
2362
|
</sl-carousel>
|
|
2366
2363
|
</div>
|
|
2367
|
-
`;if(this.problems[0]&&this.problems[0].problemObject)return
|
|
2364
|
+
`;if(this.problems[0]&&this.problems[0].problemObject)return s.html`
|
|
2368
2365
|
<div class="main-view">
|
|
2369
2366
|
${this.renderProblem(this.problems[0].problemObject)}
|
|
2370
|
-
</div>`}return
|
|
2371
|
-
<div class="main-view empty">Pick a problem...<br/><sl-icon name="pin-angle"></sl-icon><br/></div>`}renderProblem(r){return
|
|
2367
|
+
</div>`}return s.html`
|
|
2368
|
+
<div class="main-view empty">Pick a problem...<br/><sl-icon name="pin-angle"></sl-icon><br/></div>`}renderProblem(r){return s.html`
|
|
2372
2369
|
<div class="problem">
|
|
2373
|
-
<div class="icon ${
|
|
2374
|
-
<sl-icon name="${
|
|
2370
|
+
<div class="icon ${Ti(r)}">
|
|
2371
|
+
<sl-icon name="${Gi(r)}"></sl-icon>
|
|
2375
2372
|
</div>
|
|
2376
2373
|
<div class="message">
|
|
2377
|
-
${
|
|
2374
|
+
${H(w.parse(r.message).toString())}
|
|
2378
2375
|
<div class="location">
|
|
2379
2376
|
Location: <pb33f-render-json-path path="${r.jsonPath}"></pb33f-render-json-path>
|
|
2380
2377
|
</div>
|
|
@@ -2384,9 +2381,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2384
2381
|
<div>Rule: <a @click="${()=>{this.showRuleDocs(r.source)}}" href="#" data-name="${r.source}">${r.source}</a></div>
|
|
2385
2382
|
<sl-icon-button @click=${()=>{this.howToFix(r.source)}} name="question-square" class="button-icon">
|
|
2386
2383
|
</sl-icon-button>
|
|
2387
|
-
</div>`}};
|
|
2388
|
-
|
|
2389
|
-
|
|
2384
|
+
</div>`}};Se.styles=[tn,kt],It([a.property({type:U})],Se.prototype,"problems",2),It([a.query("sl-carousel")],Se.prototype,"carousel",2),Se=It([a.customElement("pb33f-problem-mainview")],Se);const ln=s.css`
|
|
2390
2385
|
.main-view {
|
|
2391
2386
|
height: 200px;
|
|
2392
2387
|
width: calc(100% - 2px);
|
|
@@ -2399,16 +2394,11 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2399
2394
|
|
|
2400
2395
|
.problem-list-container {
|
|
2401
2396
|
position: relative;
|
|
2402
|
-
//height: calc(100vh - 180px);
|
|
2403
|
-
|
|
2404
2397
|
}
|
|
2405
2398
|
|
|
2406
2399
|
.problem-list {
|
|
2407
2400
|
position: relative;
|
|
2408
2401
|
width: 100%;
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
2402
|
}
|
|
2413
2403
|
|
|
2414
2404
|
.problem-list::-webkit-scrollbar {
|
|
@@ -2438,34 +2428,31 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2438
2428
|
background: var(--secondary-color-lowalpha);
|
|
2439
2429
|
padding: var(--global-padding);
|
|
2440
2430
|
}
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
`;var Ei=Object.defineProperty,xi=Object.getOwnPropertyDescriptor,rt=(r,e,o,A)=>{for(var t=A>1?void 0:A?xi(e,o):e,n=r.length-1,i;n>=0;n--)(i=r[n])&&(t=(A?i(e,o,t):i(t))||t);return A&&t&&Ei(e,o,t),t},de=(r=>(r.LineNumber="Line Number",r.Rule="Rule Violation",r.JSONPath="Path",r.Category="Category",r.Severity="Severity",r))(de||{});let Ve=class extends a.LitElement{constructor(){super(),this.menuValues=Object.values(de),this.selectedSort=this.menuValues[0].toString()}filterChanged(r){const e=r.detail.item;this.selectedSort=e.value,this.dispatchEvent(new CustomEvent(ZA,{composed:!0,detail:{sort:this.selectedSort}}))}render(){return a.html`
|
|
2431
|
+
`;var dn=Object.defineProperty,gn=Object.getOwnPropertyDescriptor,Pi=(r,e,o,i)=>{for(var t=i>1?void 0:i?gn(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&dn(e,o,t),t},Ce=(r=>(r.LineNumber="Line Number",r.Rule="Rule Violation",r.JSONPath="Path",r.Category="Category",r.Severity="Severity",r))(Ce||{});let ho=class extends s.LitElement{constructor(){super(),this.menuValues=Object.values(Ce),this.selectedSort=this.menuValues[0].toString()}filterChanged(r){const e=r.detail.item;this.selectedSort=e.value,this.dispatchEvent(new CustomEvent(Fi,{composed:!0,detail:{sort:this.selectedSort}}))}render(){return s.html`
|
|
2445
2432
|
<div class="filter">
|
|
2446
2433
|
<div class="label"><label>Sort:</label></div>
|
|
2447
2434
|
<div class="dropdown">
|
|
2448
2435
|
<sl-dropdown skidding="5" distance="5">
|
|
2449
2436
|
<sl-button slot="trigger" caret>${this.selectedSort}</sl-button>
|
|
2450
2437
|
<sl-menu @sl-select=${this.filterChanged}>
|
|
2451
|
-
${this.menuValues.map(r=>
|
|
2438
|
+
${this.menuValues.map(r=>s.html`
|
|
2452
2439
|
<sl-menu-item value="${r}" type="checkbox" .checked=${this.selectedSort===r}>
|
|
2453
2440
|
${r}
|
|
2454
2441
|
</sl-menu-item>`)}
|
|
2455
2442
|
</sl-menu>
|
|
2456
2443
|
</sl-dropdown>
|
|
2457
2444
|
</div>
|
|
2458
|
-
</div>`}};
|
|
2445
|
+
</div>`}};ho.styles=[Dt,Go],Pi([a.property()],ho.prototype,"selectedSort",2),ho=Pi([a.customElement("pb33f-problem-sort-filter")],ho);var hn=Object.defineProperty,pn=Object.getOwnPropertyDescriptor,Ft=(r,e,o,i)=>{for(var t=i>1?void 0:i?pn(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&hn(e,o,t),t};let Ye=class extends s.LitElement{constructor(){super()}search(){this.dispatchEvent(new CustomEvent(Ui,{composed:!0,bubbles:!0,detail:{search:this.input.value}}))}render(){return s.html`
|
|
2459
2446
|
<div class="filter">
|
|
2460
2447
|
<sl-input @sl-change=${this.search} placeholder="search" clearable></sl-input>
|
|
2461
|
-
</div>`}};
|
|
2448
|
+
</div>`}};Ye.styles=[Go],Ft([a.property()],Ye.prototype,"selectedSort",2),Ft([a.query("sl-input")],Ye.prototype,"input",2),Ye=Ft([a.customElement("pb33f-problem-search-filter")],Ye);var un=Object.defineProperty,mn=Object.getOwnPropertyDescriptor,zt=(r,e,o,i)=>{for(var t=i>1?void 0:i?mn(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&un(e,o,t),t},Lo=(r=>(r.AllRules="All rules",r))(Lo||{});let Je=class extends s.LitElement{constructor(){super()}filterChanged(r){const e=r.detail.item;this.selectedRule=e.value,this.dispatchEvent(new CustomEvent(zi,{composed:!0,detail:{rule:this.selectedRule}}))}willUpdate(){var r;this.selectedRule===void 0&&((r=this.rules)==null?void 0:r.length)>0&&(this.selectedRule=this.rules[0])}render(){var r;return s.html`
|
|
2462
2449
|
<div class="filter">
|
|
2463
2450
|
<div class="label"><label>Rule:</label></div>
|
|
2464
2451
|
<div class="dropdown">
|
|
2465
2452
|
<sl-dropdown skidding="5" distance="5">
|
|
2466
2453
|
<sl-button slot="trigger" caret>${this.selectedRule}</sl-button>
|
|
2467
2454
|
<sl-menu @sl-select=${this.filterChanged}>
|
|
2468
|
-
${(r=this.rules)==null?void 0:r.map(e=>
|
|
2455
|
+
${(r=this.rules)==null?void 0:r.map(e=>s.html`
|
|
2469
2456
|
<sl-menu-item value="${e}" type="checkbox"
|
|
2470
2457
|
.checked=${this.selectedRule===e}>
|
|
2471
2458
|
${e}
|
|
@@ -2474,7 +2461,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2474
2461
|
</sl-dropdown>
|
|
2475
2462
|
</div>
|
|
2476
2463
|
</div>
|
|
2477
|
-
`}};
|
|
2464
|
+
`}};Je.styles=[Dt,Go],zt([a.property()],Je.prototype,"rules",2),zt([a.property()],Je.prototype,"selectedRule",2),Je=zt([a.customElement("pb33f-problem-rule-filter")],Je);const wn=s.css`
|
|
2478
2465
|
.toolbar-container{
|
|
2479
2466
|
|
|
2480
2467
|
|
|
@@ -2513,7 +2500,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2513
2500
|
.last {
|
|
2514
2501
|
flex-grow: 2;
|
|
2515
2502
|
}
|
|
2516
|
-
`;var
|
|
2503
|
+
`;var bn=Object.defineProperty,Bn=Object.getOwnPropertyDescriptor,Vi=(r,e,o,i)=>{for(var t=i>1?void 0:i?Bn(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&bn(e,o,t),t};let po=class extends s.LitElement{constructor(){super(),this.problemLabelFilter=new lo,this.problemSortFilter=new ho,this.problemSearchFilter=new Ye,this.problemRuleFilter=new Je,this.problemRuleFilter.rules=this.availableRules}willUpdate(){var r;((r=this.availableRules)==null?void 0:r.length)>0&&(this.problemRuleFilter.rules=this.availableRules)}ruleFilterChanged(r){this.problemRuleFilter.selectedRule=r}resetRuleFilter(){this.problemRuleFilter.selectedRule=Lo.AllRules}render(){return s.html`
|
|
2517
2504
|
<div class="toolbar-container">
|
|
2518
2505
|
<div class="filter first">
|
|
2519
2506
|
${this.problemLabelFilter}
|
|
@@ -2530,7 +2517,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2530
2517
|
<div class="filter last">
|
|
2531
2518
|
${this.problemSearchFilter}
|
|
2532
2519
|
</div>
|
|
2533
|
-
</div>`}};
|
|
2520
|
+
</div>`}};po.styles=[wn],Vi([a.property()],po.prototype,"availableRules",2),po=Vi([a.customElement("pb33f-problem-toolbar")],po);const En=s.css`
|
|
2534
2521
|
.paginator-navigation {
|
|
2535
2522
|
display: flex;
|
|
2536
2523
|
justify-content: space-between;
|
|
@@ -2563,7 +2550,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2563
2550
|
display: none;
|
|
2564
2551
|
}
|
|
2565
2552
|
|
|
2566
|
-
`,
|
|
2553
|
+
`,Xi="paginatorFirstPage",Wi="paginatorLastPage",Zi="paginatorNextPage",$i="paginator-previous-page";var fn=Object.defineProperty,xn=Object.getOwnPropertyDescriptor,K=(r,e,o,i)=>{for(var t=i>1?void 0:i?xn(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&fn(e,o,t),t};let Y=class extends s.LitElement{constructor(){super(),this.currentPage=1,this.totalPages=0,this.totalItems=0,this.itemsPerPage=20,this.label="Problems"}getRangeStart(){let r=this.currentPage*this.itemsPerPage-this.itemsPerPage;return r==0?0:r>0?r:0}getPagesRemaining(){let r=this.totalItems-this.currentPage*this.itemsPerPage;return r>0?r:0}getRangeEnd(){let r=this.getRangeStart();r==1&&(r=0);let e=r+this.itemsPerPage;return e>this.totalItems?this.totalItems:e>=0?e:0}nextPage(){this.currentPage<this.totalPages&&this.dispatchEvent(new CustomEvent(Zi,{composed:!0}))}previousPage(){this.currentPage>1&&this.dispatchEvent(new CustomEvent($i,{composed:!0}))}lastPage(){this.currentPage<this.totalPages&&this.dispatchEvent(new CustomEvent(Wi,{composed:!0}))}firstPage(){this.currentPage>1&&this.dispatchEvent(new CustomEvent(Xi,{composed:!0}))}togglePrev(r){this.homeButton&&(this.prevButton.disabled=r,this.homeButton.disabled=r)}toggleNext(r){this.endButton&&(this.nextButton.disabled=r,this.endButton.disabled=r)}render(){return this.currentPage==1?this.togglePrev(!0):this.togglePrev(!1),this.currentPage==this.totalPages?this.toggleNext(!0):this.toggleNext(!1),this.totalItems<=this.itemsPerPage?this.hide=!0:this.hide=!1,s.html`
|
|
2567
2554
|
<div class="paginator-navigation ${this.hide?"hide":""}">
|
|
2568
2555
|
<div>
|
|
2569
2556
|
<sl-icon-button @click=${this.firstPage} name="chevron-double-left" class="home" title="first page" disabled>
|
|
@@ -2586,7 +2573,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2586
2573
|
</sl-icon-button>
|
|
2587
2574
|
</div>
|
|
2588
2575
|
</div>
|
|
2589
|
-
`}};
|
|
2576
|
+
`}};Y.styles=[En],K([a.state()],Y.prototype,"currentPage",2),K([a.state()],Y.prototype,"totalPages",2),K([a.state()],Y.prototype,"totalItems",2),K([a.state()],Y.prototype,"itemsPerPage",2),K([a.query(".home")],Y.prototype,"homeButton",2),K([a.query(".previous")],Y.prototype,"prevButton",2),K([a.query(".next")],Y.prototype,"nextButton",2),K([a.query(".end")],Y.prototype,"endButton",2),K([a.property()],Y.prototype,"label",2),Y=K([a.customElement("pb33f-paginator")],Y);const vn=s.css`
|
|
2590
2577
|
|
|
2591
2578
|
.paginator-values {
|
|
2592
2579
|
overflow-y: auto;
|
|
@@ -2622,15 +2609,15 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2622
2609
|
font-size: 5em;
|
|
2623
2610
|
}
|
|
2624
2611
|
|
|
2625
|
-
`;var
|
|
2612
|
+
`;var Qn=Object.defineProperty,yn=Object.getOwnPropertyDescriptor,se=(r,e,o,i)=>{for(var t=i>1?void 0:i?yn(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&Qn(e,o,t),t};let G=class extends s.LitElement{constructor(){super(),this.currentPage=1,this.totalPages=1,this.totalItems=0,this.itemsPerPage=20,this.activeIndex=0,this.paginatorNavigator=new Y,this.paginatorNavigator.currentPage=this.currentPage,this.paginatorNavigator.totalPages=this.totalPages,this.paginatorNavigator.totalItems=this.totalItems,this.paginatorNavigator.itemsPerPage=this.itemsPerPage,this.addEventListener(Xi,this.firstPage),this.addEventListener(Wi,this.lastPage),this.addEventListener(Zi,this.nextPage),this.addEventListener($i,this.previousPage)}nextPage(r){r.stopPropagation(),this.currentPage<this.totalPages&&this.currentPage++}lastPage(r){r.stopPropagation(),this.currentPage<this.totalPages&&(this.currentPage=this.totalPages)}firstPage(r){r.stopPropagation(),this.currentPage>1&&(this.currentPage=1)}setPage(r){this.currentPage=Math.ceil(r/this.itemsPerPage),this.activeIndex=r}previousPage(r){r.stopPropagation(),this.currentPage>1&&this.currentPage--}calcTotalPages(){return Math.ceil(this.totalItems/this.itemsPerPage)}willUpdate(){var r,e,o;this.totalItems=(r=this.values)==null?void 0:r.length,this.totalPages=this.calcTotalPages(),this.activeIndex>0&&this.totalPages>1?this.paginatorNavigator.currentPage=this.currentPage:this.paginatorNavigator.currentPage=this.currentPage,this.paginatorNavigator.totalItems=(e=this.values)==null?void 0:e.length,this.paginatorNavigator.itemsPerPage=this.itemsPerPage,this.paginatorNavigator.totalPages=this.totalPages,this.label&&(this.paginatorNavigator.label=this.label),this.renderValues=(o=this.values)==null?void 0:o.slice(this.paginatorNavigator.getRangeStart(),this.paginatorNavigator.getRangeEnd())}render(){var r;return((r=this.renderValues)==null?void 0:r.length)===0||!this.renderValues?s.html`<div class="no-values">
|
|
2626
2613
|
<sl-icon name="x-square"></sl-icon><br/>
|
|
2627
2614
|
no results
|
|
2628
|
-
</div>`:
|
|
2615
|
+
</div>`:s.html`
|
|
2629
2616
|
${this.paginatorNavigator}
|
|
2630
2617
|
<div class="paginator-values" part="values">
|
|
2631
2618
|
${this.renderValues}
|
|
2632
2619
|
</div>
|
|
2633
|
-
`}};
|
|
2620
|
+
`}};G.styles=[vn],se([a.property({type:s.LitElement})],G.prototype,"values",2),se([a.property({type:Number})],G.prototype,"currentPage",2),se([a.property({type:Number})],G.prototype,"totalPages",2),se([a.property({type:Number})],G.prototype,"totalItems",2),se([a.property({type:Number})],G.prototype,"itemsPerPage",2),se([a.property()],G.prototype,"label",2),se([a.property()],G.prototype,"activeIndex",2),G=se([a.customElement("pb33f-paginator-navigation")],G);function Mn(r){return new Worker("/assets/search-problems.worker-VJi4P9Gj.js",{name:r==null?void 0:r.name})}var Cn=Object.defineProperty,Dn=Object.getOwnPropertyDescriptor,kn=(r,e,o,i)=>{for(var t=i>1?void 0:i?Dn(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&Cn(e,o,t),t};let jo=class extends s.LitElement{constructor(){super(),this.problemLabelView=x.JSONPath,this.problemList=[],this.mainView=new Se,this.problemToolbar=new po,this.paginator=new G,this.unfilteredProblems=[],this.searchWorker=new Mn,this.activeSearch=!1,this.addSearchWorkerListener(),this.addEventListener(Oo,this.problemClicked),this.addEventListener(ki,this.slideChanged),this.addEventListener(Ii,this.labelFilterChanged),this.addEventListener(Fi,this.sortFilterChanged),this.addEventListener(Ui,this.searchFilterChanged),this.addEventListener(zi,this.ruleFilterChanged),this.addEventListener(Ni,this.ruleFilterChangedManual)}reset(){this.activeSearch=!1,this.problemList=this.unfilteredProblems,this.requestUpdate()}addSearchWorkerListener(){const r=e=>{const o=e.data;o&&(this.problemList=this.problemList.filter(i=>{for(let t=0;t<o.length;t++)if(i.problemObject.hash()===ne.reconstruct(o[t]).hash())return this.problemList[t]}),this.paginator.setPage(1),this.requestUpdate())};this.searchWorker.addEventListener($A,r)}ruleFilterChanged(r){r.detail.rule!==Lo.AllRules?(this.activeSearch=!1,this.problemList=this.unfilteredProblems,this.search(r.detail.rule)):(this.activeSearch=!1,this.problemList=this.unfilteredProblems,this.requestUpdate())}ruleFilterChangedManual(r){this.ruleFilterChanged(r),this.problemToolbar.ruleFilterChanged(r.detail.rule)}searchFilterChanged(r){r.detail.search!==""?(this.activeSearch||(this.unfilteredProblems=this.problemList),this.search(r.detail.search)):(this.activeSearch=!1,this.problemList=this.unfilteredProblems,this.requestUpdate())}labelFilterChanged(r){this.changeProblemLabels(r.detail.label)}sortFilterChanged(r){this.changeSorting(r.detail.sort)}extractProblemsFromList(){return this.problemList.map(r=>r.problemObject)}extractRulesFromProblems(){const r=this.extractProblemsFromList().map(e=>e.source);return new Set(r)}search(r){this.activeSearch=!0,this.searchWorker.postMessage({search:r,problems:this.extractProblemsFromList()})}changeProblemLabels(r){for(let e=0;e<this.problemList.length;e++)switch(this.problemList[e].scrollOnUpdate=!1,r){case x.JSONPath:this.problemList[e].problemLabelView=x.JSONPath,this.problemLabelView=x.JSONPath;break;case x.RuleViolation:this.problemList[e].problemLabelView=x.RuleViolation,this.problemLabelView=x.RuleViolation;break;case x.Message:this.problemList[e].problemLabelView=x.Message,this.problemLabelView=x.Message;break;case x.Category:this.problemList[e].problemLabelView=x.Category,this.problemLabelView=x.Category;break}}changeSorting(r){switch(r){case Ce.LineNumber:this.problemList=this.problemList.sort((e,o)=>e.line<o.line?-1:e.line>o.line?1:0);break;case Ce.Rule:this.problemList=this.problemList.sort((e,o)=>e.problemObject.source<o.problemObject.source?1:e.problemObject.source>o.problemObject.source?-1:0);break;case Ce.JSONPath:this.problemList=this.problemList.sort((e,o)=>e.problemObject.jsonPath<o.problemObject.jsonPath?-1:e.problemObject.jsonPath>o.problemObject.jsonPath?1:0);break;case Ce.Category:this.problemList=this.problemList.sort((e,o)=>e.problemObject.category<o.problemObject.category?-1:e.problemObject.category>o.problemObject.category?1:0);break;case Ce.Severity:this.problemList=this.problemList.sort((e,o)=>e.problemObject.severity<o.problemObject.severity?1:e.problemObject.severity>o.problemObject.severity?-1:0);break}this.problemList=this.problemList.slice(0,this.problemList.length),this.requestUpdate()}problemClicked(r){this.mainView.problems=[r.detail.problem],this.lineClicked(r.detail.problem.line,!1,r.detail.problem.idx),this.paginator.activeIndex=r.detail.problem.resultIndex}slideChanged(r){this.lineClicked(r.detail.problem.line,!1,r.detail.index,!0)}setActiveProblem(r){let e=!1;if(this.activeProblem)for(let o=0;o<r.length;o++)r[o].problemObject.hash()==this.activeProblem.problemObject.hash()&&(this.lineClicked(r[o].line,!1,r[o].idx),e=!0);e||(this.mainView.problems=[])}get problemItems(){return this.problemList}generateProblemItems(r){const e=[],o=new Map;for(let i=0;i<r.length;i++){const t=r[i],A=new U;if(A.line=t.startLineNumber,A.column=t.startColumn,A.problem=t.jsonPath,A.problemLabelView=this.problemLabelView,A.problemObject=t,A.resultIndex=i,A.parent=this,o.has(t.startLineNumber)){const n=o.get(t.startLineNumber);n.push(A);for(let c=0;c<n.length;c++)n[c].idx=c+1;o.set(t.startLineNumber,n)}else o.set(t.startLineNumber,[A]);e.push(A)}return e}set problems(r){const e=this.generateProblemItems(r);this.problemList=e,this.unfilteredProblems=e,this.setActiveProblem(e),this.problemToolbar.availableRules=[Lo.AllRules,...this.extractRulesFromProblems()],this.requestUpdate()}lineClicked(r,e=!0,o=0,i=!1){let t=[];this.problemList.forEach(n=>{n.line===r&&t.push(n)});let A=null;if(this.problemList.forEach(n=>{n.select(!1),n.selectSibling(!1)}),t.length>0)for(let n=0;n<t.length;n++){const c=t[n];let l=n<1;if(e||(l=!1),n===0&&o==0){A=c,c.select(!0,l),this.activeSearch||this.paginator.setPage(c.resultIndex+1);continue}if(n===0&&c.idx===o){c.select(!0,l),A=c,this.activeSearch||this.paginator.setPage(c.resultIndex+1);continue}n>0&&c.idx===o?(c.select(!0,l),this.activeSearch||this.paginator.setPage(c.resultIndex+1),A=c):c.selectSibling(!0,l)}this.mainView.problems=t,A&&(this.activeProblem=A),A&&A.idx!==0&&(i||this.mainView.selectSlide(A.idx))}render(){return this.paginator.values=this.problemList,s.html`
|
|
2634
2621
|
<div class="problem-list-container">
|
|
2635
2622
|
<div class="main-view">
|
|
2636
2623
|
${this.mainView}
|
|
@@ -2642,36 +2629,36 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2642
2629
|
${this.paginator}
|
|
2643
2630
|
</div>
|
|
2644
2631
|
</div>
|
|
2645
|
-
`}};
|
|
2632
|
+
`}};jo.styles=[ln,q],jo=kn([a.customElement("pb33f-problem-list")],jo);/**
|
|
2646
2633
|
* @license
|
|
2647
2634
|
* Copyright 2020 Google LLC
|
|
2648
2635
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
2649
|
-
*/const
|
|
2636
|
+
*/const In=r=>r.strings===void 0;/**
|
|
2650
2637
|
* @license
|
|
2651
2638
|
* Copyright 2017 Google LLC
|
|
2652
2639
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
2653
|
-
*/const
|
|
2640
|
+
*/const uo=(r,e)=>{var i;const o=r._$AN;if(o===void 0)return!1;for(const t of o)(i=t._$AO)==null||i.call(t,e,!1),uo(t,e);return!0},Po=r=>{let e,o;do{if((e=r._$AM)===void 0)break;o=e._$AN,o.delete(r),r=e}while((o==null?void 0:o.size)===0)},Ki=r=>{for(let e;e=r._$AM;r=e){let o=e._$AN;if(o===void 0)e._$AN=o=new Set;else if(o.has(r))break;o.add(r),Nn(e)}};function Fn(r){this._$AN!==void 0?(Po(this),this._$AM=r,Ki(this)):this._$AM=r}function zn(r,e=!1,o=0){const i=this._$AH,t=this._$AN;if(t!==void 0&&t.size!==0)if(e)if(Array.isArray(i))for(let A=o;A<i.length;A++)uo(i[A],!1),Po(i[A]);else i!=null&&(uo(i,!1),Po(i));else uo(this,r)}const Nn=r=>{r.type==ai.CHILD&&(r._$AP??(r._$AP=zn),r._$AQ??(r._$AQ=Fn))};let Un=class extends li{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,o,i){super._$AT(e,o,i),Ki(this),this.isConnected=e._$AU}_$AO(e,o=!0){var i,t;e!==this.isConnected&&(this.isConnected=e,e?(i=this.reconnected)==null||i.call(this):(t=this.disconnected)==null||t.call(this)),o&&(uo(this,e),Po(this))}setValue(e){if(In(this._$Ct))this._$Ct._$AI(e,this);else{const o=[...this._$Ct._$AH];o[this._$Ci]=e,this._$Ct._$AI(o,this,0)}}disconnected(){}reconnected(){}};/**
|
|
2654
2641
|
* @license
|
|
2655
2642
|
* Copyright 2020 Google LLC
|
|
2656
2643
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
2657
|
-
*/const
|
|
2644
|
+
*/const Rn=()=>new Sn;class Sn{}const Nt=new WeakMap,Yn=ci(class extends Un{render(r){return f}update(r,[e]){var i;const o=e!==this.G;return o&&this.G!==void 0&&this.ot(void 0),(o||this.rt!==this.lt)&&(this.G=e,this.ct=(i=r.options)==null?void 0:i.host,this.ot(this.lt=r.element)),f}ot(r){if(typeof this.G=="function"){const e=this.ct??globalThis;let o=Nt.get(e);o===void 0&&(o=new WeakMap,Nt.set(e,o)),o.get(this.G)!==void 0&&this.G.call(this.ct,void 0),o.set(this.G,r),r!==void 0&&this.G.call(this.ct,r)}else this.G.value=r}get rt(){var r,e;return typeof this.G=="function"?(r=Nt.get(this.ct??globalThis))==null?void 0:r.get(this.G):(e=this.G)==null?void 0:e.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}}),Jn=`/*!-----------------------------------------------------------
|
|
2658
2645
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
2659
2646
|
* Version: 0.46.0(21007360cad28648bdf46282a2592cb47c3a7a6f)
|
|
2660
2647
|
* Released under the MIT license
|
|
2661
2648
|
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
|
|
2662
|
-
*-----------------------------------------------------------*/.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .codicon,.monaco-action-bar .action-item .icon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{opacity:.6}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:#bbb}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-aria-container{position:absolute;left:-999em}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border,transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled,.monaco-button.disabled:focus{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator,.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border,transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex;align-items:center}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-description,.monaco-description-button .monaco-button-label{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-description>.codicon,.monaco-description-button .monaco-button-label>.codicon{margin:0 .2em;color:inherit!important}.monaco-button-dropdown.default-colors>.monaco-button,.monaco-button.default-colors{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button-dropdown.default-colors>.monaco-button:hover,.monaco-button.default-colors:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary,.monaco-button.default-colors.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover,.monaco-button.default-colors.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}@font-face{font-family:codicon;font-display:block;src:url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQiCLJXoAAAE4AAAAVE9TLzI3T0tHAAABjAAAAGBjbWFwIVI5YgAACQwAABqKZ2x5ZklaEB0AACcsAAD0oGhlYWRYl6BTAAAA4AAAADZoaGVhAlsC8wAAALwAAAAkaG10eBU5//oAAAHsAAAHIGxvY2HXMpnGAAAjmAAAA5JtYXhwAukBgQAAARgAAAAgbmFtZZP3uUsAARvMAAAB+HBvc3Q3LWGHAAEdxAAAGMkAAQAAASwAAAAAASz////+AS4AAQAAAAAAAAAAAAAAAAAAAcgAAQAAAAEAAK5YZhhfDzz1AAsBLAAAAAB8JbCAAAAAAHwlsID////9AS4BLQAAAAgAAgAAAAAAAAABAAAByAF1ABcAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAQBKwGQAAUAAADLANIAAAAqAMsA0gAAAJAADgBNAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAwOpg8QEBLAAAABsBRwADAAAAAQAAAAAAAAAAAAAAAAACAAAAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASz//wEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEs//8BLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASz//wEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLP//ASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASz//wEsAAABLAAAASwAAAEs//8BLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAAAAABQAAAAMAAAAsAAAABAAABRoAAQAAAAAEFAADAAEAAAAsAAMACgAABRoABAPoAAAAEgAQAAMAAuqI6ozqx+rJ6wnrTuwu8QH//wAA6mDqiuqP6snqzOsL61DxAf//AAAAAAAAAAAAAAAAAAAAAAABABIAYgBmANYA1gFQAdYDkgAAAAMA7gFEAUEAswExAY8BHwFoAQkBbgBNAb0BWgFkAWMAkAA1ASoAhQDMAPsAQAGNAHgAFgG4AJoAhwE9ARgBDwEQAaIAxgClALoBmgF6AIoBiwFzAYIBgAF0AYMBigGFAX4AvAF5AYcAAgAEAAUACgALAAwADQAOAA8AEAASABoAHAAdAB4AWwBcAF0AXgBhAGIAIQAiACMAJAAlACgAKgArACwALQAuAC8AMQAyADMANAA7ADgAPAA9AD4APwBBAEIARQBHAEgASgBUAFUAVgBXAGYAaABqAG0AcQBzAHQAdQB2AHcAeQB6AHsAfAB9AH4AgACBAIMAhACG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AKcAAOr5AADq+QAAAKgAAOr6AADq+gAAAKkAAOr7AADq+wAAAJMAAOr8AADq/AAAAKoAAOr9AADq/QAAAKsAAOr+AADq/gAAAK0AAOr/AADq/wAAALcAAOsAAADrAAAAALgAAOsBAADrAQAAALsAAOsCAADrAgAAAL0AAOsDAADrAwAAAMEAAOsEAADrBAAAAMIAAOsFAADrBQAAAMUAAOsGAADrBgAAAMcAAOsHAADrBwAAAMgAAOsIAADrCAAAAMkAAOsJAADrCQAAAMoAAOsLAADrCwAAANAAAOsMAADrDAAAANEAAOsNAADrDQAAANIAAOsOAADrDgAAANMAAOsPAADrDwAAANQAAOsQAADrEAAAANUAAOsRAADrEQAAANYAAOsSAADrEgAAANcAAOsTAADrEwAAAOwAAOsUAADrFAAAAO8AAOsVAADrFQAAAPAAAOsWAADrFgAAAPMAAOsXAADrFwAAAPYAAOsYAADrGAAAAPcAAOsZAADrGQAAAPgAAOsaAADrGgAAAPkAAOsbAADrGwAAAP0AAOscAADrHAAAAP4AAOsdAADrHQAAAQEAAOseAADrHgAAAQIAAOsfAADrHwAAAQMAAOsgAADrIAAAAQgAAOshAADrIQAAAQoAAOsiAADrIgAAAQsAAOsjAADrIwAAAQwAAOskAADrJAAAAQ4AAOslAADrJQAAARIAAOsmAADrJgAAARMAAOsnAADrJwAAARYAAOsoAADrKAAAARcAAOspAADrKQAAARoAAOsqAADrKgAAARsAAOsrAADrKwAAASIAAOssAADrLAAAASYAAOstAADrLQAAAScAAOsuAADrLgAAASgAAOsvAADrLwAAASkAAOswAADrMAAAASsAAOsxAADrMQAAASwAAOsyAADrMgAAAS0AAOszAADrMwAAAS4AAOs0AADrNAAAAS8AAOs1AADrNQAAATAAAOs2AADrNgAAATUAAOs3AADrNwAAATYAAOs4AADrOAAAATcAAOs5AADrOQAAATgAAOs6AADrOgAAATkAAOs7AADrOwAAAToAAOs8AADrPAAAATsAAOs9AADrPQAAATwAAOs+AADrPgAAAT4AAOs/AADrPwAAAUAAAOtAAADrQAAAAUIAAOtBAADrQQAAAUMAAOtCAADrQgAAAUUAAOtDAADrQwAAAUYAAOtEAADrRAAAAUgAAOtFAADrRQAAAUkAAOtGAADrRgAAAUoAAOtHAADrRwAAAUsAAOtIAADrSAAAAUwAAOtJAADrSQAAAVMAAOtKAADrSgAAAVQAAOtLAADrSwAAAVUAAOtMAADrTAAAAVYAAOtNAADrTQAAAVcAAOtOAADrTgAAAVkAAOtQAADrUAAAAV4AAOtRAADrUQAAAV8AAOtSAADrUgAAAWAAAOtTAADrUwAAAWIAAOtUAADrVAAAAWUAAOtVAADrVQAAAWcAAOtWAADrVgAAAWsAAOtXAADrVwAAAWwAAOtYAADrWAAAAW0AAOtZAADrWQAAAW8AAOtaAADrWgAAAXAAAOtbAADrWwAAAXUAAOtcAADrXAAAAXYAAOtdAADrXQAAAXcAAOteAADrXgAAAXgAAOtfAADrXwAAAXsAAOtgAADrYAAAAXwAAOthAADrYQAAAX0AAOtiAADrYgAAAX8AAOtjAADrYwAAAYEAAOtkAADrZAAAAYQAAOtlAADrZQAAAYYAAOtmAADrZgAAAYgAAOtnAADrZwAAAZEAAOtoAADraAAAAZIAAOtpAADraQAAAZsAAOtqAADragAAAZwAAOtrAADrawAAAZ4AAOtsAADrbAAAAaAAAOttAADrbQAAAaEAAOtuAADrbgAAAaMAAOtvAADrbwAAAaQAAOtwAADrcAAAAaUAAOtxAADrcQAAAaYAAOtyAADrcgAAAacAAOtzAADrcwAAAasAAOt0AADrdAAAAa0AAOt1AADrdQAAAa4AAOt2AADrdgAAAa8AAOt3AADrdwAAAbIAAOt4AADreAAAAbMAAOt5AADreQAAAbQAAOt6AADregAAAbYAAOt7AADrewAAAbcAAOt8AADrfAAAAb4AAOt9AADrfQAAAb8AAOt+AADrfgAAAcAAAOt/AADrfwAAAcEAAOuAAADrgAAAAcIAAOuBAADrgQAAAcYAAOuCAADrggAAAccAAOuDAADrgwAAAPEAAOuEAADrhAAAAPIAAOuFAADrhQAAAPQAAOuGAADrhgAAAPUAAOuHAADrhwAAAF8AAOuIAADriAAAAGAAAOuJAADriQAAAG8AAOuKAADrigAAADkAAOuLAADriwAAAHAAAOuMAADrjAAAAGMAAOuNAADrjQAAAYkAAOuOAADrjgAAAG4AAOuPAADrjwAAAHIAAOuQAADrkAAAAGwAAOuRAADrkQAAAFoAAOuSAADrkgAAACYAAOuTAADrkwAAACcAAOuUAADrlAAAAQQAAOuVAADrlQAAAIwAAOuWAADrlgAAAJEAAOuXAADrlwAAAMMAAOuYAADrmAAAAawAAOuZAADrmQAAAAEAAOuaAADrmgAAABcAAOubAADrmwAAAGQAAOucAADrnAAAAOsAAOudAADrnQAAARkAAOueAADrngAAAU8AAOufAADrnwAAAYwAAOugAADroAAAASQAAOuhAADroQAAALkAAOuiAADrogAAAV0AAOujAADrowAAAVwAAOukAADrpAAAAR0AAOulAADrpQAAAXEAAOumAADrpgAAASUAAOunAADrpwAAATMAAOuoAADrqAAAAFkAAOupAADrqQAAAbUAAOuqAADrqgAAAEMAAOurAADrqwAAAQUAAOusAADrrAAAAI0AAOutAADrrQAAAL4AAOuuAADrrgAAAPwAAOuvAADrrwAAARUAAOuwAADrsAAAATQAAOuxAADrsQAAACkAAOuyAADrsgAAASMAAOuzAADrswAAARwAAOu0AADrtAAAADYAAOu1AADrtQAAADcAAOu2AADrtgAAAEkAAOu3AADrtwAAAY4AAOu4AADruAAAAbAAAOu5AADruQAAAaoAAOu6AADrugAAAagAAOu7AADruwAAAakAAOu8AADrvAAAAK8AAOu9AADrvQAAAU0AAOu+AADrvgAAAVAAAOu/AADrvwAAARQAAOvAAADrwAAAAGsAAOvBAADrwQAAAcMAAOvCAADrwgAAAcUAAOvDAADrwwAAAcQAAOvEAADrxAAAAZQAAOvFAADrxQAAAZUAAOvGAADrxgAAAZYAAOvHAADrxwAAAZcAAOvIAADryAAAAZgAAOvJAADryQAAAZkAAOvKAADrygAAAZMAAOvLAADrywAAABEAAOvMAADrzAAAAFIAAOvNAADrzQAAAR4AAOvOAADrzgAAAJwAAOvPAADrzwAAAbwAAOvQAADr0AAAAGkAAOvRAADr0QAAAM4AAOvSAADr0gAAANoAAOvTAADr0wAAANkAAOvUAADr1AAAANgAAOvVAADr1QAAAFAAAOvWAADr1gAAAE8AAOvXAADr1wAAAE4AAOvYAADr2AAAABQAAOvZAADr2QAAAM8AAOvaAADr2gAAAK4AAOvbAADr2wAA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IGljb24gZm9udCBmb3IgVmlzdWFsIFN0dWRpbyBDb2RlaHR0cDovL2ZvbnRlbGxvLmNvbQBjAG8AZABpAGMAbwBuAFIAZQBnAHUAbABhAHIAYwBvAGQAaQBjAG8AbgBjAG8AZABpAGMAbwBuAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAxAGMAbwBkAGkAYwBvAG4AVABoAGUAIABpAGMAbwBuACAAZgBvAG4AdAAgAGYAbwByACAAVgBpAHMAdQBhAGwAIABTAHQAdQBkAGkAbwAgAEMAbwBkAGUAaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQACAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcgBAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHPAdAB0QHSAdMB1AHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAfQB9QH2AfcB+AH5AfoB+wH8Af0B/gH/AgACAQICAgMCBAIFAgYCBwIIAgkCCgILAgwCDQIOAg8CEAIRAhICEwIUAhUCFgIXAhgCGQIaAhsCHAIdAh4CHwIgAiECIgIjAiQCJQImAicCKAIpAioCKwIsAi0CLgIvAjACMQIyAjMCNAI1AjYCNwI4AjkCOgI7AjwCPQI+Aj8CQAJBAkICQwJEAkUCRgJHAkgCSQJKAksCTAJNAk4CTwJQAlECUgJTAlQCVQJWAlcCWAJZAloCWwJcAl0CXgJfAmACYQJiAmMCZAJlAmYCZwJoAmkCagJrAmwCbQJuAm8CcAJxAnICcwJ0AnUCdgJ3AngCeQJ6AnsCfAJ9An4CfwKAAoECggKDAoQChQKGAocCiAKJAooCiwKMAo0CjgKPApACkQKSApMClAKVApYClwKYApkCmgKbApwCnQKeAp8CoAKhAqICowKkAqUCpgKnAqgCqQKqAqsCrAKtAq4CrwKwArECsgKzArQCtQK2ArcCuAK5AroCuwK8Ar0CvgK/AsACwQLCAsMCxALFAsYCxwLIAskAB2FjY291bnQUYWN0aXZhdGUtYnJlYWtwb2ludHMDYWRkB2FyY2hpdmUKYXJyb3ctYm90aBFhcnJvdy1jaXJjbGUtZG93bhFhcnJvdy1jaXJjbGUtbGVmdBJhcnJvdy1jaXJjbGUtcmlnaHQPYXJyb3ctY2lyY2xlLXVwCmFycm93LWRvd24KYXJyb3ctbGVmdAthcnJvdy1yaWdodBBhcnJvdy1zbWFsbC1kb3duEGFycm93LXNtYWxsLWxlZnQRYXJyb3ctc21hbGwtcmlnaHQOYXJyb3ctc21hbGwtdXAKYXJyb3ctc3dhcAhhcnJvdy11cAxhenVyZS1kZXZvcHMFYXp1cmULYmVha2VyLXN0b3AGYmVha2VyCGJlbGwtZG90DmJlbGwtc2xhc2gtZG90CmJlbGwtc2xhc2gEYmVsbAVibGFuawRib2xkBGJvb2sIYm9va21hcmsLYnJhY2tldC1kb3QNYnJhY2tldC1lcnJvcglicmllZmNhc2UJYnJvYWRjYXN0B2Jyb3dzZXIDYnVnCGNhbGVuZGFyDWNhbGwtaW5jb21pbmcNY2FsbC1vdXRnb2luZw5jYXNlLXNlbnNpdGl2ZQljaGVjay1hbGwFY2hlY2sJY2hlY2tsaXN0DGNoZXZyb24tZG93bgxjaGV2cm9uLWxlZnQNY2hldnJvbi1yaWdodApjaGV2cm9uLXVwBGNoaXAMY2hyb21lLWNsb3NlD2Nocm9tZS1tYXhpbWl6ZQ9jaHJvbWUtbWluaW1pemUOY2hyb21lLXJlc3RvcmUNY2lyY2xlLWZpbGxlZBNjaXJjbGUtbGFyZ2UtZmlsbGVkDGNpcmNsZS1sYXJnZQxjaXJjbGUtc2xhc2gTY2lyY2xlLXNtYWxsLWZpbGxlZAxjaXJjbGUtc21hbGwGY2lyY2xlDWNpcmN1aXQtYm9hcmQJY2xlYXItYWxsBmNsaXBweQljbG9zZS1hbGwFY2xvc2UOY2xvdWQtZG93bmxvYWQMY2xvdWQtdXBsb2FkBWNsb3VkCGNvZGUtb3NzBGNvZGUGY29mZmVlDGNvbGxhcHNlLWFsbApjb2xvci1tb2RlB2NvbWJpbmUSY29tbWVudC1kaXNjdXNzaW9uDWNvbW1lbnQtZHJhZnQSY29tbWVudC11bnJlc29sdmVkB2NvbW1lbnQOY29tcGFzcy1hY3RpdmULY29tcGFzcy1kb3QHY29tcGFzcwdjb3BpbG90BGNvcHkIY292ZXJhZ2ULY3JlZGl0LWNhcmQEZGFzaAlkYXNoYm9hcmQIZGF0YWJhc2UJZGVidWctYWxsD2RlYnVnLWFsdC1zbWFsbAlkZWJ1Zy1hbHQnZGVidWctYnJlYWtwb2ludC1jb25kaXRpb25hbC11bnZlcmlmaWVkHGRlYnVnLWJyZWFrcG9pbnQtY29uZGl0aW9uYWwgZGVidWctYnJlYWtwb2ludC1kYXRhLXVudmVyaWZpZWQVZGVidWctYnJlYWtwb2ludC1kYXRhJGRlYnVnLWJyZWFrcG9pbnQtZnVuY3Rpb24tdW52ZXJpZmllZBlkZWJ1Zy1icmVha3BvaW50LWZ1bmN0aW9uH2RlYnVnLWJyZWFrcG9pbnQtbG9nLXVudmVyaWZpZWQUZGVidWctYnJlYWtwb2ludC1sb2ccZGVidWctYnJlYWtwb2ludC11bnN1cHBvcnRlZA1kZWJ1Zy1jb25zb2xlFGRlYnVnLWNvbnRpbnVlLXNtYWxsDmRlYnVnLWNvbnRpbnVlDmRlYnVnLWNvdmVyYWdlEGRlYnVnLWRpc2Nvbm5lY3QSZGVidWctbGluZS1ieS1saW5lC2RlYnVnLXBhdXNlC2RlYnVnLXJlcnVuE2RlYnVnLXJlc3RhcnQtZnJhbWUNZGVidWctcmVzdGFydBZkZWJ1Zy1yZXZlcnNlLWNvbnRpbnVlF2RlYnVnLXN0YWNrZnJhbWUtYWN0aXZlEGRlYnVnLXN0YWNrZnJhbWULZGVidWctc3RhcnQPZGVidWctc3RlcC1iYWNrD2RlYnVnLXN0ZXAtaW50bw5kZWJ1Zy1zdGVwLW91dA9kZWJ1Zy1zdGVwLW92ZXIKZGVidWctc3RvcAVkZWJ1ZxBkZXNrdG9wLWRvd25sb2FkE2RldmljZS1jYW1lcmEtdmlkZW8NZGV2aWNlLWNhbWVyYQ1kZXZpY2UtbW9iaWxlCmRpZmYtYWRkZWQMZGlmZi1pZ25vcmVkDWRpZmYtbW9kaWZpZWQNZGlmZi1tdWx0aXBsZQxkaWZmLXJlbW92ZWQMZGlmZi1yZW5hbWVkC2RpZmYtc2luZ2xlBGRpZmYHZGlzY2FyZARlZGl0DWVkaXRvci1sYXlvdXQIZWxsaXBzaXMMZW1wdHktd2luZG93C2Vycm9yLXNtYWxsBWVycm9yB2V4Y2x1ZGUKZXhwYW5kLWFsbAZleHBvcnQKZXh0ZW5zaW9ucwpleWUtY2xvc2VkA2V5ZQhmZWVkYmFjawtmaWxlLWJpbmFyeQlmaWxlLWNvZGUKZmlsZS1tZWRpYQhmaWxlLXBkZg5maWxlLXN1Ym1vZHVsZRZmaWxlLXN5bWxpbmstZGlyZWN0b3J5EWZpbGUtc3ltbGluay1maWxlCGZpbGUtemlwBGZpbGUFZmlsZXMNZmlsdGVyLWZpbGxlZAZmaWx0ZXIFZmxhbWUJZm9sZC1kb3duB2ZvbGQtdXAEZm9sZA1mb2xkZXItYWN0aXZlDmZvbGRlci1saWJyYXJ5DWZvbGRlci1vcGVuZWQGZm9sZGVyBGdhbWUEZ2VhcgRnaWZ0C2dpc3Qtc2VjcmV0CmdpdC1jb21taXQLZ2l0LWNvbXBhcmUJZ2l0LWZldGNoCWdpdC1tZXJnZRdnaXQtcHVsbC1yZXF1ZXN0LWNsb3NlZBdnaXQtcHVsbC1yZXF1ZXN0LWNyZWF0ZRZnaXQtcHVsbC1yZXF1ZXN0LWRyYWZ0HmdpdC1wdWxsLXJlcXVlc3QtZ28tdG8tY2hhbmdlcxxnaXQtcHVsbC1yZXF1ZXN0LW5ldy1jaGFuZ2VzEGdpdC1wdWxsLXJlcXVlc3QPZ2l0LXN0YXNoLWFwcGx5DWdpdC1zdGFzaC1wb3AJZ2l0LXN0YXNoDWdpdGh1Yi1hY3Rpb24KZ2l0aHViLWFsdA9naXRodWItaW52ZXJ0ZWQGZ2l0aHViBWdsb2JlCmdvLXRvLWZpbGUHZ3JhYmJlcgpncmFwaC1sZWZ0CmdyYXBoLWxpbmUNZ3JhcGgtc2NhdHRlcgVncmFwaAdncmlwcGVyEWdyb3VwLWJ5LXJlZi10eXBlDGhlYXJ0LWZpbGxlZAVoZWFydAdoaXN0b3J5BGhvbWUPaG9yaXpvbnRhbC1ydWxlBWh1Ym90BWluYm94BmluZGVudARpbmZvBmluc2VydAdpbnNwZWN0C2lzc3VlLWRyYWZ0Dmlzc3VlLXJlb3BlbmVkBmlzc3VlcwZpdGFsaWMGamVyc2V5BGpzb24Oa2ViYWItdmVydGljYWwDa2V5A2xhdw1sYXllcnMtYWN0aXZlCmxheWVycy1kb3QGbGF5ZXJzF2xheW91dC1hY3Rpdml0eWJhci1sZWZ0GGxheW91dC1hY3Rpdml0eWJhci1yaWdodA9sYXlvdXQtY2VudGVyZWQObGF5b3V0LW1lbnViYXITbGF5b3V0LXBhbmVsLWNlbnRlchRsYXlvdXQtcGFuZWwtanVzdGlmeRFsYXlvdXQtcGFuZWwtbGVmdBBsYXlvdXQtcGFuZWwtb2ZmEmxheW91dC1wYW5lbC1yaWdodAxsYXlvdXQtcGFuZWwXbGF5b3V0LXNpZGViYXItbGVmdC1vZmYTbGF5b3V0LXNpZGViYXItbGVmdBhsYXlvdXQtc2lkZWJhci1yaWdodC1vZmYUbGF5b3V0LXNpZGViYXItcmlnaHQQbGF5b3V0LXN0YXR1c2JhcgZsYXlvdXQHbGlicmFyeRFsaWdodGJ1bGItYXV0b2ZpeBFsaWdodGJ1bGItc3BhcmtsZQlsaWdodGJ1bGINbGluay1leHRlcm5hbARsaW5rC2xpc3QtZmlsdGVyCWxpc3QtZmxhdAxsaXN0LW9yZGVyZWQObGlzdC1zZWxlY3Rpb24JbGlzdC10cmVlDmxpc3QtdW5vcmRlcmVkCmxpdmUtc2hhcmUHbG9hZGluZwhsb2NhdGlvbgpsb2NrLXNtYWxsBGxvY2sGbWFnbmV0CW1haWwtcmVhZARtYWlsCm1hcC1maWxsZWQDbWFwCG1hcmtkb3duCW1lZ2FwaG9uZQdtZW50aW9uBG1lbnUFbWVyZ2UKbWljLWZpbGxlZANtaWMJbWlsZXN0b25lBm1pcnJvcgxtb3J0YXItYm9hcmQEbW92ZRBtdWx0aXBsZS13aW5kb3dzBW11c2ljBG11dGUIbmV3LWZpbGUKbmV3LWZvbGRlcgduZXdsaW5lCm5vLW5ld2xpbmUEbm90ZRFub3RlYm9vay10ZW1wbGF0ZQhub3RlYm9vawhvY3RvZmFjZQxvcGVuLXByZXZpZXcMb3JnYW5pemF0aW9uBm91dHB1dAdwYWNrYWdlCHBhaW50Y2FuC3Bhc3MtZmlsbGVkBHBhc3MKcGVyc29uLWFkZAZwZXJzb24FcGlhbm8JcGllLWNoYXJ0A3BpbgxwaW5uZWQtZGlydHkGcGlubmVkC3BsYXktY2lyY2xlBHBsYXkEcGx1Zw1wcmVzZXJ2ZS1jYXNlB3ByZXZpZXcQcHJpbWl0aXZlLXNxdWFyZQdwcm9qZWN0BXB1bHNlCHF1ZXN0aW9uBXF1b3RlC3JhZGlvLXRvd2VyCXJlYWN0aW9ucwtyZWNvcmQta2V5cwxyZWNvcmQtc21hbGwGcmVjb3JkBHJlZG8KcmVmZXJlbmNlcwdyZWZyZXNoBXJlZ2V4D3JlbW90ZS1leHBsb3JlcgZyZW1vdGUGcmVtb3ZlC3JlcGxhY2UtYWxsB3JlcGxhY2UFcmVwbHkKcmVwby1jbG9uZQpyZXBvLWZldGNoD3JlcG8tZm9yY2UtcHVzaAtyZXBvLWZvcmtlZAlyZXBvLXB1bGwJcmVwby1wdXNoBHJlcG8GcmVwb3J0D3JlcXVlc3QtY2hhbmdlcwVyb2JvdAZyb2NrZXQScm9vdC1mb2xkZXItb3BlbmVkC3Jvb3QtZm9sZGVyA3JzcwRydWJ5CXJ1bi1hYm92ZRBydW4tYWxsLWNvdmVyYWdlB3J1bi1hbGwJcnVuLWJlbG93DHJ1bi1jb3ZlcmFnZQpydW4tZXJyb3JzCHNhdmUtYWxsB3NhdmUtYXMEc2F2ZQtzY3JlZW4tZnVsbA1zY3JlZW4tbm9ybWFsDHNlYXJjaC1mdXp6eQtzZWFyY2gtc3RvcAZzZWFyY2gEc2VuZBJzZXJ2ZXItZW52aXJvbm1lbnQOc2VydmVyLXByb2Nlc3MGc2VydmVyDXNldHRpbmdzLWdlYXIIc2V0dGluZ3MFc2hhcmUGc2hpZWxkB3NpZ24taW4Ic2lnbi1vdXQGc21pbGV5BXNuYWtlD3NvcnQtcHJlY2VkZW5jZQ5zb3VyY2UtY29udHJvbA5zcGFya2xlLWZpbGxlZAdzcGFya2xlEHNwbGl0LWhvcml6b250YWwOc3BsaXQtdmVydGljYWwIc3F1aXJyZWwKc3Rhci1lbXB0eQlzdGFyLWZ1bGwJc3Rhci1oYWxmC3N0b3AtY2lyY2xlDXN1cnJvdW5kLXdpdGgMc3ltYm9sLWFycmF5DnN5bWJvbC1ib29sZWFuDHN5bWJvbC1jbGFzcwxzeW1ib2wtY29sb3IPc3ltYm9sLWNvbnN0YW50EnN5bWJvbC1lbnVtLW1lbWJlcgtzeW1ib2wtZW51bQxzeW1ib2wtZXZlbnQMc3ltYm9sLWZpZWxkC3N5bWJvbC1maWxlEHN5bWJvbC1pbnRlcmZhY2UKc3ltYm9sLWtleQ5zeW1ib2wta2V5d29yZA1zeW1ib2wtbWV0aG9kC3N5bWJvbC1taXNjEHN5bWJvbC1uYW1lc3BhY2UOc3ltYm9sLW51bWVyaWMPc3ltYm9sLW9wZXJhdG9yEHN5bWJvbC1wYXJhbWV0ZXIPc3ltYm9sLXByb3BlcnR5DHN5bWJvbC1ydWxlcg5zeW1ib2wtc25pcHBldA1zeW1ib2wtc3RyaW5nEHN5bWJvbC1zdHJ1Y3R1cmUPc3ltYm9sLXZhcmlhYmxlDHN5bmMtaWdub3JlZARzeW5jBXRhYmxlA3RhZwZ0YXJnZXQIdGFza2xpc3QJdGVsZXNjb3BlDXRlcm1pbmFsLWJhc2gMdGVybWluYWwtY21kD3Rlcm1pbmFsLWRlYmlhbg50ZXJtaW5hbC1saW51eBN0ZXJtaW5hbC1wb3dlcnNoZWxsDXRlcm1pbmFsLXRtdXgPdGVybWluYWwtdWJ1bnR1CHRlcm1pbmFsCXRleHQtc2l6ZQp0aHJlZS1iYXJzEXRodW1ic2Rvd24tZmlsbGVkCnRodW1ic2Rvd24PdGh1bWJzdXAtZmlsbGVkCHRodW1ic3VwBXRvb2xzBXRyYXNoDXRyaWFuZ2xlLWRvd24NdHJpYW5nbGUtbGVmdA50cmlhbmdsZS1yaWdodAt0cmlhbmdsZS11cAd0d2l0dGVyEnR5cGUtaGllcmFyY2h5LXN1YhR0eXBlLWhpZXJhcmNoeS1zdXBlcg50eXBlLWhpZXJhcmNoeQZ1bmZvbGQTdW5ncm91cC1ieS1yZWYtdHlwZQZ1bmxvY2sGdW5tdXRlCnVudmVyaWZpZWQOdmFyaWFibGUtZ3JvdXAPdmVyaWZpZWQtZmlsbGVkCHZlcmlmaWVkCHZlcnNpb25zCXZtLWFjdGl2ZQp2bS1jb25uZWN0CnZtLW91dGxpbmUKdm0tcnVubmluZwJ2bQJ2cg92c2NvZGUtaW5zaWRlcnMGdnNjb2RlBHdhbmQHd2FybmluZwV3YXRjaAp3aGl0ZXNwYWNlCndob2xlLXdvcmQGd2luZG93CXdvcmQtd3JhcBF3b3Jrc3BhY2UtdHJ1c3RlZBF3b3Jrc3BhY2UtdW5rbm93bhN3b3Jrc3BhY2UtdW50cnVzdGVkB3pvb20taW4Iem9vbS1vdXQAAAAAAA==) format("truetype")}.codicon[class*=codicon-]{font: 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(1turn)}}.codicon-gear.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin,.codicon-sync.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.monaco-count-badge{padding:3px 6px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:50%;background-repeat:no-repeat}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.hc-light .monaco-findInput.highlight-0 .controls,.monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.hc-light .monaco-findInput.highlight-1 .controls,.monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:#fdff00cc}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:#fdff00cc}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:#ffffff70}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:#ffffff70}99%{background:transparent}}.monaco-hover{cursor:default;position:absolute;overflow:hidden;user-select:text;-webkit-user-select:text;box-sizing:border-box;animation:fadein .1s linear;line-height:1.5em;white-space:var(--vscode-hover-whiteSpace,normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth,500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover .code,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6,.monaco-hover p,.monaco-hover ul{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0;border-right:0;margin:4px -8px -4px;height:1px}.monaco-hover .code:first-child,.monaco-hover p:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover .code:last-child,.monaco-hover p:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ol,.monaco-hover ul{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace,pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link,.monaco-hover .hover-contents a.code-link:hover{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{margin-bottom:4px;display:inline-block}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:0;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-multiple,.monaco-list.selection-single{outline:0!important}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-mouse-cursor-text{cursor:text}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translate(0) scaleX(1)}50%{transform:translate(2500%) scaleX(3)}to{transform:translate(4900%) scaleX(1)}}:root{--vscode-sash-size:4px;--vscode-sash-hover-size:4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size)*2);width:calc(var(--vscode-sash-size)*2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size)*-.5);top:calc(var(--vscode-sash-size)*-1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size)*-.5);bottom:calc(var(--vscode-sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size)*-.5);left:calc(var(--vscode-sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size)*-.5);right:calc(var(--vscode-sash-size)*-1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.active:before,.monaco-sash.hover:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - var(--vscode-sash-hover-size)/2)}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - var(--vscode-sash-hover-size)/2)}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:#0ff3}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:transparent;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:5px}.monaco-select-box-dropdown-padding{--dropdown-padding-top:1px;--dropdown-padding-bottom:1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top:3px;--dropdown-padding-bottom:4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:auto}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:normal;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-td,.monaco-table-th{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size)/2);width:0;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;align-items:center}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.monaco-custom-toggle.monaco-checkbox:not(.checked):before{visibility:hidden}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-contents,.monaco-tl-twistie{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translate(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{display:flex!important;align-items:center;justify-content:center;cursor:grab;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;top:0;left:0;width:100%;height:0;z-index:13;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;width:100%;opacity:1!important;overflow:hidden;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow{display:none}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{position:absolute;bottom:-3px;left:0;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{outline:none}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line,.monaco-editor .view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box}.monaco-editor .margin-view-overlays .line-numbers{font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default;height:100%}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background,var(--vscode-editor-background));color:var(--vscode-button-foreground,var(--vscode-editor-foreground));border:1px solid var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .mtkw,.monaco-editor .mtkz{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover .minimap-slider.active,.monaco-editor .minimap.slider-mouseover:hover .minimap-slider{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-diff-editor .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-diff-editor .diff-review{position:absolute;user-select:none;-webkit-user-select:none;z-index:99}.monaco-diff-editor .diff-review-summary{padding-left:10px}.monaco-diff-editor .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-diff-editor .diff-review-row{white-space:pre}.monaco-diff-editor .diff-review-table{display:table;min-width:100%}.monaco-diff-editor .diff-review-row{display:table-row;width:100%}.monaco-diff-editor .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-diff-editor .diff-review-spacer>.codicon{font-size:9px!important}.monaco-diff-editor .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-diff-editor .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-diff-editor .revertButton{cursor:pointer}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines .bottom.dragging,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .bottom,.monaco-editor .diff-hidden-lines .top{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent}.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *{cursor:n-resize!important}.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *{cursor:s-resize!important}.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow)}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedModified,.monaco-editor .movedOriginal{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedModified.currentMove,.monaco-editor .movedOriginal.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:3px solid var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .char-insert.diff-range-empty{border-left:3px solid var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:#00000008}.monaco-diff-editor.vs-dark .diffOverview{background:#ffffff03}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar{background:transparent}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:#ababab66}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-diff-editor .delete-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-editor .insert-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-diff-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-diff-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-editor.hc-black .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-editor.hc-light .insert-sign{opacity:1}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .inline-deleted-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-diff-editor .char-insert,.monaco-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-diff-editor .line-insert,.monaco-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground,var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-insert,.monaco-editor .line-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .char-insert,.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .char-insert,.monaco-editor.hc-light .line-insert{border-style:dashed}.monaco-editor .char-delete,.monaco-editor .line-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .char-delete,.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .char-delete,.monaco-editor.hc-light .line-delete{border-style:dashed}.monaco-diff-editor .gutter-insert,.monaco-editor .gutter-insert,.monaco-editor .inline-added-margin-view-zone{background-color:var(--vscode-diffEditorGutter-insertedLineBackground,var(--vscode-diffEditor-insertedLineBackground),var(--vscode-diffEditor-insertedTextBackground))}.monaco-diff-editor .char-delete,.monaco-editor .char-delete{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-diff-editor .line-delete,.monaco-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground,var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor .gutter-delete,.monaco-editor .gutter-delete,.monaco-editor .inline-deleted-margin-view-zone{background-color:var(--vscode-diffEditorGutter-removedLineBackground,var(--vscode-diffEditor-removedLineBackground),var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,transparent 0,transparent 50%,var(--vscode-diffEditor-diagonalFill) 0,var(--vscode-diffEditor-diagonalFill) 62.5%,transparent 0,transparent);background-size:8px 8px}.monaco-workbench .workbench-hover{position:relative;font-size:13px;line-height:19px;z-index:40;overflow:hidden;max-width:700px;background:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px;color:var(--vscode-editorHoverWidget-foreground);box-shadow:0 2px 8px var(--vscode-widget-shadow)}.monaco-workbench .workbench-hover hr{border-bottom:none}.monaco-workbench .workbench-hover:not(.skip-fade-in){animation:fadein .1s linear}.monaco-workbench .workbench-hover.compact{font-size:12px}.monaco-workbench .workbench-hover.compact .hover-contents{padding:2px 8px}.monaco-workbench .workbench-hover-container.locked .workbench-hover{outline:1px solid var(--vscode-editorHoverWidget-border)}.monaco-workbench .workbench-hover-container.locked .workbench-hover:focus,.monaco-workbench .workbench-hover-lock:focus{outline:1px solid var(--vscode-focusBorder)}.monaco-workbench .workbench-hover-container.locked .workbench-hover-lock:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-workbench .workbench-hover-pointer{position:absolute;z-index:41;pointer-events:none}.monaco-workbench .workbench-hover-pointer:after{content:"";position:absolute;width:5px;height:5px;background-color:var(--vscode-editorHoverWidget-background);border-right:1px solid var(--vscode-editorHoverWidget-border);border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-workbench .locked .workbench-hover-pointer:after{width:4px;height:4px;border-right-width:2px;border-bottom-width:2px}.monaco-workbench .workbench-hover-pointer.left{left:-3px}.monaco-workbench .workbench-hover-pointer.right{right:3px}.monaco-workbench .workbench-hover-pointer.top{top:-3px}.monaco-workbench .workbench-hover-pointer.bottom{bottom:3px}.monaco-workbench .workbench-hover-pointer.left:after{transform:rotate(135deg)}.monaco-workbench .workbench-hover-pointer.right:after{transform:rotate(315deg)}.monaco-workbench .workbench-hover-pointer.top:after{transform:rotate(225deg)}.monaco-workbench .workbench-hover-pointer.bottom:after{transform:rotate(45deg)}.monaco-workbench .workbench-hover a{color:var(--vscode-textLink-foreground)}.monaco-workbench .workbench-hover a:focus{outline:1px solid;outline-offset:-1px;text-decoration:underline;outline-color:var(--vscode-focusBorder)}.monaco-workbench .workbench-hover a:active,.monaco-workbench .workbench-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-workbench .workbench-hover code{background:var(--vscode-textCodeBlock-background)}.monaco-workbench .workbench-hover .hover-row .actions{background:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-workbench .workbench-hover.right-aligned{left:1px}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions{flex-direction:row-reverse}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions .action-container{margin-right:0;margin-left:16px}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-radius:3px;border:1px solid var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground)}.monaco-editor,.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground,inherit)}.monaco-component.multiDiffEditor{background:var(--vscode-multiDiffEditor-background);overflow-y:hidden}.monaco-component .multiDiffEntry{display:flex;flex-direction:column;flex:1;overflow:hidden;border-bottom:1px solid var(--vscode-multiDiffEditor-border)}.monaco-component .multiDiffEntry .collapse-button{margin:0 5px;cursor:pointer}.monaco-component .multiDiffEntry .collapse-button a{display:block}.monaco-component .multiDiffEntry .header{display:flex;align-items:center;padding:8px 5px;color:var(--vscode-foreground);background:var(--vscode-editor-background);z-index:1000;border-top:1px solid var(--vscode-multiDiffEditor-border);border-bottom:1px solid var(--vscode-sideBarSectionHeader-border)}.monaco-component .multiDiffEntry .header.shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.monaco-component .multiDiffEntry .header .file-path{display:flex;flex:1;min-width:0}.monaco-component .multiDiffEntry .header .file-path .title{font-size:14px;line-height:22px}.monaco-component .multiDiffEntry .header .file-path .status{font-weight:600;opacity:.75;margin:0 10px;line-height:22px}.monaco-component .multiDiffEntry .header .file-path .title.original{flex:1;min-width:0;text-overflow:ellipsis}.monaco-component .multiDiffEntry .header .actions{padding:0 8px}.monaco-component .multiDiffEntry .editorParent{flex:1;display:flex;flex-direction:column}.monaco-component .multiDiffEntry .editorContainer{flex:1}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}.monaco-editor .lightBulbWidget{display:flex;align-items:center;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground,var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground,var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;opacity:.3;background-color:var(--vscode-editor-background);z-index:1}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*.5);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault)}.monaco-editor .codelens-decoration>a,.monaco-editor .codelens-decoration>span{user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer}.monaco-editor .codelens-decoration>a:hover,.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:.1em solid #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:.1em solid #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:240px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1;white-space:nowrap;overflow:hidden}.colorpicker-header .picked-color .picked-color-presentation{white-space:nowrap;margin-left:5px;margin-right:5px}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.standalone-colorpicker{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{cursor:pointer;background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header .close-button-inner-div{width:100%;height:100%;text-align:center}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid #fff;border-radius:100%;box-shadow:0 0 2px #000c;position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid hsla(0,0%,100%,.71);box-shadow:0 0 1px #000000d9}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{display:block;border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);overflow:hidden}.colorpicker-body .insert-button{position:absolute;height:20px;width:58px;padding:0;right:8px;bottom:8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);border-radius:2px;border:none;cursor:pointer}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor.hc-light .dnd-target,.monaco-editor.vs .dnd-target{border-right:2px dotted #000;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #aeafad;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines,.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines{cursor:default}.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines,.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines{cursor:copy}.post-edit-widget{box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:1px solid var(--vscode-widget-border,transparent);border-radius:4px;background-color:var(--vscode-editorWidget-background);overflow:hidden}.post-edit-widget .monaco-button{padding:2px;border:none;border-radius:0}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px));border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions,.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:50%;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important}.monaco-editor .find-widget .monaco-sash{left:0!important}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{transition:initial}.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays:hover .codicon{opacity:1}.monaco-editor .inline-folded:after{color:gray;margin:.1em .2em 0;content:"⋯";display:inline;line-height:1em;cursor:pointer}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;user-select:text;-webkit-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer;color:var(--vscode-textLink-activeForeground)}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input,.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder,transparent);box-sizing:border-box}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-hover{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .inlineSuggestionsHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{display:flex;min-width:19px;justify-content:center}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{display:flex!important;justify-content:center;align-items:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{font-size:90%!important;animation:none}.inline-progress-widget:hover .icon:before{content:""}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:2px 4px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;z-index:1000;border:8px solid transparent;position:absolute;left:2px}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage.below .anchor.below,.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em;cursor:default;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{content:"";display:block;height:100%;position:absolute;opacity:.5;border-left:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .body,.monaco-editor .parameter-hints-widget .monaco-scrollable-element{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{content:"";display:block;position:absolute;left:0;width:100%;padding-top:4px;opacity:.5;border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:normal}.monaco-editor .parameter-hints-widget .docs code{font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em;background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .parameter-hints-widget .docs .code,.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:baseline;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename,.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px;align-self:center}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor .rename-box{z-index:100;color:inherit;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input{padding:3px;border-radius:2px}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder,transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder,transparent)}.monaco-editor .sticky-widget{overflow:hidden}.monaco-editor .sticky-widget-line-numbers{float:left;background-color:inherit}.monaco-editor .sticky-widget-lines-scrollable{display:inline-block;position:absolute;overflow:hidden;width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit}.monaco-editor .sticky-widget-lines{position:absolute;background-color:inherit}.monaco-editor .sticky-line-content,.monaco-editor .sticky-line-number{color:var(--vscode-editorLineNumber-foreground);white-space:nowrap;display:inline-block;position:absolute;background-color:inherit}.monaco-editor .sticky-line-number .codicon-folding-collapsed,.monaco-editor .sticky-line-number .codicon-folding-expanded{float:right;transition:var(--vscode-editorStickyScroll-foldingOpacityTransition)}.monaco-editor .sticky-line-content{width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit;white-space:nowrap}.monaco-editor .sticky-line-number-inner{display:inline-block;text-align:right}.monaco-editor .sticky-widget{border-bottom:1px solid var(--vscode-editorStickyScroll-border)}.monaco-editor .sticky-line-content:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .sticky-widget{width:100%;box-shadow:var(--vscode-editorStickyScroll-shadow) 0 3px 2px -2px;z-index:4;background-color:var(--vscode-editorStickyScroll-background)}.monaco-editor .sticky-widget.peek{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:3px}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-details,.monaco-editor .suggest-widget{flex:0 1 auto;width:100%;border:1px solid var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-light .suggest-details,.monaco-editor.hc-light .suggest-widget{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:normal;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:50%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 12px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:normal;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ol,.monaco-editor .suggest-details ul{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-enum,.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-value{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.editor-banner{box-sizing:border-box;cursor:default;width:100%;font-size:12px;display:flex;overflow:visible;height:26px;background:var(--vscode-banner-background)}.editor-banner .icon-container{display:flex;flex-shrink:0;align-items:center;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-repeat:no-repeat;background-position:50%;background-size:16px;width:16px;padding:0;margin:0 6px 0 10px}.editor-banner .message-container{display:flex;align-items:center;line-height:26px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-banner .message-container p{margin-block-start:0;margin-block-end:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{padding:3px;margin-left:12px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-editor .unicode-highlight{border:1px solid var(--vscode-editorUnicodeHighlight-border);background-color:var(--vscode-editorUnicodeHighlight-background);box-sizing:border-box}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjhWNC4wMXpNNC4wMDguMDA4QTQuMDAzIDQuMDAzIDAgMDAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwMDQuMDAzIDQuMDAyaDQ0LjAyOGE0LjAwMyA0LjAwMyAwIDAwNC4wMDMtNC4wMDJWNC4wMUE0LjAwMyA0LjAwMyAwIDAwNDguMDM2LjAwOEg0LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxVjguMDEzem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJWOC4wMTN6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyVjguMDEzem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDNWOC4wMTN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDNWOC4wMTN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnYtNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNoLTQuMDAzdi00LjAwM3ptMTIuMDA4IDBoLTQuMDAzdjQuMDAzaDQuMDAzdi00LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM2g4LjAwNXptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzdi00LjAwM3ptNC4wMDMgMGgyMC4wMTN2NC4wMDNIMTYuMDE2di00LjAwM3ptMjguMDE4IDBINDAuMDN2NC4wMDNoNC4wMDN2LTQuMDAzeiIgZmlsbD0iIzQyNDI0MiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUzdjM2SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+) 50% no-repeat;border:4px solid #f6f6f6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjhWNC4wMXpNNC4wMDguMDA4QTQuMDAzIDQuMDAzIDAgMDAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwMDQuMDAzIDQuMDAyaDQ0LjAyOGE0LjAwMyA0LjAwMyAwIDAwNC4wMDMtNC4wMDJWNC4wMUE0LjAwMyA0LjAwMyAwIDAwNDguMDM2LjAwOEg0LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxVjguMDEzem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJWOC4wMTN6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyVjguMDEzem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDNWOC4wMTN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDNWOC4wMTN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnYtNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNoLTQuMDAzdi00LjAwM3ptMTIuMDA4IDBoLTQuMDAzdjQuMDAzaDQuMDAzdi00LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM2g4LjAwNXptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzdi00LjAwM3ptNC4wMDMgMGgyMC4wMTN2NC4wMDNIMTYuMDE2di00LjAwM3ptMjguMDE4IDBINDAuMDN2NC4wMDNoNC4wMDN2LTQuMDAzeiIgZmlsbD0iI0M1QzVDNSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUzdjM2SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+) 50% no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{z-index:50;user-select:text;-webkit-user-select:text;padding:10px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{height:1px;border:0;background-color:var(--vscode-editorHoverWidget-border)}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:#ddd6;border:1px solid hsla(0,0%,80%,.4);border-bottom-color:#bbb6;box-shadow:inset 0 -1px #bbb6;color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #6fc3df;box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #0f4a85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:#8080802b;border:1px solid rgba(51,51,51,.6);border-bottom-color:#4449;box-shadow:inset 0 -1px #4449;color:#ccc}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font:"SF Mono",Monaco,Menlo,Consolas,"Ubuntu Mono","Liberation Mono","DejaVu Sans Mono","Courier New",monospace}.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.monaco-diff-editor .synthetic-focus,.monaco-diff-editor [tabindex="0"]:focus,.monaco-diff-editor [tabindex="-1"]:focus,.monaco-diff-editor button:focus,.monaco-diff-editor input[type=button]:focus,.monaco-diff-editor input[type=checkbox]:focus,.monaco-diff-editor input[type=search]:focus,.monaco-diff-editor input[type=text]:focus,.monaco-diff-editor select:focus,.monaco-diff-editor textarea:focus,.monaco-editor{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--vscode-focusBorder);opacity:1}.action-widget{font-size:13px;min-width:160px;max-width:80vw;z-index:40;display:block;width:100%;border:1px solid var(--vscode-editorWidget-border)!important;border-radius:2px;background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground)}.context-view-block{z-index:-1}.context-view-block,.context-view-pointerBlock{position:fixed;cursor:auto;left:0;top:0;width:100%;height:100%}.context-view-pointerBlock{z-index:2}.action-widget .monaco-list{user-select:none;-webkit-user-select:none;border:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{padding:0 10px;white-space:nowrap;cursor:pointer;touch-action:none;width:100%}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-quickInputList-focusBackground)!important;color:var(--vscode-quickInputList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder,transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-descriptionForeground)!important;font-weight:600}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before,.action-widget .monaco-list .option-disabled:before{cursor:default!important;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background-color:transparent!important;outline:0 solid!important}.action-widget .monaco-list-row.action{display:flex;gap:6px;align-items:center}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .monaco-list-row.action .monaco-keybinding>.monaco-keybinding-key{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-radius:3px;border:1px solid var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow)}.action-widget .action-widget-action-bar{background-color:var(--vscode-editorHoverWidget-statusBarBackground);border-top:1px solid var(--vscode-editorHoverWidget-border)}.action-widget .action-widget-action-bar:before{display:block;content:"";width:100%}.action-widget .action-widget-action-bar .actions-container{padding:0 8px}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:12px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:50%;background-repeat:no-repeat}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;margin-left:-300px;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{display:flex;align-items:center;border-top-left-radius:5px;border-top-right-radius:5px}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-title{padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:50%;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{margin:4px 2px;flex:1}.quick-input-header{display:flex;padding:8px 6px 6px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;height:100%;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:0;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-highlighted-label .highlight{font-weight:700}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:0 2px 2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px;margin-right:4px}.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.quick-input-list .quick-input-list-separator-as-item{font-weight:600;font-size:12px}.extension-editor .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.markers-panel .marker-icon .codicon.codicon-error,.markers-panel .marker-icon.error,.monaco-editor .zone-widget .codicon.codicon-error,.preferences-editor .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.extension-editor .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.markers-panel .marker-icon .codicon.codicon-warning,.markers-panel .marker-icon.warning,.monaco-editor .zone-widget .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.extension-editor .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.markers-panel .marker-icon .codicon.codicon-info,.markers-panel .marker-icon.info,.monaco-editor .zone-widget .codicon.codicon-info,.preferences-editor .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}`;function Wi(r){return new Worker("/assets/editor.worker-HEmB0D7P.js",{name:r==null?void 0:r.name})}function Zi(r){return new Worker("/assets/html.worker-D3WUrk8Q.js",{name:r==null?void 0:r.name})}function Ki(r){return new Worker("/assets/css.worker-B_qZXUzt.js",{name:r==null?void 0:r.name})}function $i(r){return new Worker("/assets/json.worker-CAhUaBo4.js",{name:r==null?void 0:r.name})}var qi=Object.defineProperty,_i=Object.getOwnPropertyDescriptor,Ze=(r,e,o,A)=>{for(var t=A>1?void 0:A?_i(e,o):e,n=r.length-1,i;n>=0;n--)(i=r[n])&&(t=(A?i(e,o,t):i(t))||t);return A&&t&&qi(e,o,t),t};self.MonacoEnvironment={getWorker(r,e){return e==="json"?new $i:e==="html"?new Zi:e==="css"||e==="scss"||e==="less"?new Ki:new Wi}};let X=class extends a.LitElement{constructor(){super(...arguments),this.container=ji()}render(){return a.html`
|
|
2649
|
+
*-----------------------------------------------------------*/.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .codicon,.monaco-action-bar .action-item .icon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{opacity:.6}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:#bbb}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-aria-container{position:absolute;left:-999em}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border,transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled,.monaco-button.disabled:focus{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator,.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border,transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex;align-items:center}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-description,.monaco-description-button .monaco-button-label{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-description>.codicon,.monaco-description-button .monaco-button-label>.codicon{margin:0 .2em;color:inherit!important}.monaco-button-dropdown.default-colors>.monaco-button,.monaco-button.default-colors{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button-dropdown.default-colors>.monaco-button:hover,.monaco-button.default-colors:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary,.monaco-button.default-colors.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover,.monaco-button.default-colors.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}@font-face{font-family:codicon;font-display:block;src:url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQiCLJXoAAAE4AAAAVE9TLzI3T0tHAAABjAAAAGBjbWFwIVI5YgAACQwAABqKZ2x5ZklaEB0AACcsAAD0oGhlYWRYl6BTAAAA4AAAADZoaGVhAlsC8wAAALwAAAAkaG10eBU5//oAAAHsAAAHIGxvY2HXMpnGAAAjmAAAA5JtYXhwAukBgQAAARgAAAAgbmFtZZP3uUsAARvMAAAB+HBvc3Q3LWGHAAEdxAAAGMkAAQAAASwAAAAAASz////+AS4AAQAAAAAAAAAAAAAAAAAAAcgAAQAAAAEAAK5YZhhfDzz1AAsBLAAAAAB8JbCAAAAAAHwlsID////9AS4BLQAAAAgAAgAAAAAAAAABAAAByAF1ABcAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAQBKwGQAAUAAADLANIAAAAqAMsA0gAAAJAADgBNAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAwOpg8QEBLAAAABsBRwADAAAAAQAAAAAAAAAAAAAAAAACAAAAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASz//wEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEs//8BLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASz//wEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLP//ASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASz//wEsAAABLAAAASwAAAEs//8BLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAAAAABQAAAAMAAAAsAAAABAAABRoAAQAAAAAEFAADAAEAAAAsAAMACgAABRoABAPoAAAAEgAQAAMAAuqI6ozqx+rJ6wnrTuwu8QH//wAA6mDqiuqP6snqzOsL61DxAf//AAAAAAAAAAAAAAAAAAAAAAABABIAYgBmANYA1gFQAdYDkgAAAAMA7gFEAUEAswExAY8BHwFoAQkBbgBNAb0BWgFkAWMAkAA1ASoAhQDMAPsAQAGNAHgAFgG4AJoAhwE9ARgBDwEQAaIAxgClALoBmgF6AIoBiwFzAYIBgAF0AYMBigGFAX4AvAF5AYcAAgAEAAUACgALAAwADQAOAA8AEAASABoAHAAdAB4AWwBcAF0AXgBhAGIAIQAiACMAJAAlACgAKgArACwALQAuAC8AMQAyADMANAA7ADgAPAA9AD4APwBBAEIARQBHAEgASgBUAFUAVgBXAGYAaABqAG0AcQBzAHQAdQB2AHcAeQB6AHsAfAB9AH4AgACBAIMAhACG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AKcAAOr5AADq+QAAAKgAAOr6AADq+gAAAKkAAOr7AADq+wAAAJMAAOr8AADq/AAAAKoAAOr9AADq/QAAAKsAAOr+AADq/gAAAK0AAOr/AADq/wAAALcAAOsAAADrAAAAALgAAOsBAADrAQAAALsAAOsCAADrAgAAAL0AAOsDAADrAwAAAMEAAOsEAADrBAAAAMIAAOsFAADrBQAAAMUAAOsGAADrBgAAAMcAAOsHAADrBwAAAMgAAOsIAADrCAAAAMkAAOsJAADrCQAAAMoAAOsLAADrCwAAANAAAOsMAADrDAAAANEAAOsNAADrDQAAANIAAOsOAADrDgAAANMAAOsPAADrDwAAANQAAOsQAADrEAAAANUAAOsRAADrEQAAANYAAOsSAADrEgAAANcAAOsTAADrEwAAAOwAAOsUAADrFAAAAO8AAOsVAADrFQAAAPAAAOsWAADrFgAAAPMAAOsXAADrFwAAAPYAAOsYAADrGAAAAPcAAOsZAADrGQAAAPgAAOsaAADrGgAAAPkAAOsbAADrGwAAAP0AAOscAADrHAAAAP4AAOsdAADrHQAAAQEAAOseAADrHgAAAQIAAOsfAADrHwAAAQMAAOsgAADrIAAAAQgAAOshAADrIQAAAQoAAOsiAADrIgAAAQsAAOsjAADrIwAAAQwAAOskAADrJAAAAQ4AAOslAADrJQAAARIAAOsmAADrJgAAARMAAOsnAADrJwAAARYAAOsoAADrKAAAARcAAOspAADrKQAAARoAAOsqAADrKgAAARsAAOsrAADrKwAAASIAAOssAADrLAAAASYAAOstAADrLQAAAScAAOsuAADrLgAAASgAAOsvAADrLwAAASkAAOswAADrMAAAASsAAOsxAADrMQAAASwAAOsyAADrMgAAAS0AAOszAADrMwAAAS4AAOs0AADrNAAAAS8AAOs1AADrNQAAATAAAOs2AADrNgAAATUAAOs3AADrNwAAATYAAOs4AADrOAAAATcAAOs5AADrOQAAATgAAOs6AADrOgAAATkAAOs7AADrOwAAAToAAOs8AADrPAAAATsAAOs9AADrPQAAATwAAOs+AADrPgAAAT4AAOs/AADrPwAAAUAAAOtAAADrQAAAAUIAAOtBAADrQQAAAUMAAOtCAADrQgAAAUUAAOtDAADrQwAAAUYAAOtEAADrRAAAAUgAAOtFAADrRQAAAUkAAOtGAADrRgAAAUoAAOtHAADrRwAAAUsAAOtIAADrSAAAAUwAAOtJAADrSQAAAVMAAOtKAADrSgAAAVQAAOtLAADrSwAAAVUAAOtMAADrTAAAAVYAAOtNAADrTQAAAVcAAOtOAADrTgAAAVkAAOtQAADrUAAAAV4AAOtRAADrUQAAAV8AAOtSAADrUgAAAWAAAOtTAADrUwAAAWIAAOtUAADrVAAAAWUAAOtVAADrVQAAAWcAAOtWAADrVgAAAWsAAOtXAADrVwAAAWwAAOtYAADrWAAAAW0AAOtZAADrWQAAAW8AAOtaAADrWgAAAXAAAOtbAADrWwAAAXUAAOtcAADrXAAAAXYAAOtdAADrXQAAAXcAAOteAADrXgAAAXgAAOtfAADrXwAAAXsAAOtgAADrYAAAAXwAAOthAADrYQAAAX0AAOtiAADrYgAAAX8AAOtjAADrYwAAAYEAAOtkAADrZAAAAYQAAOtlAADrZQAAAYYAAOtmAADrZgAAAYgAAOtnAADrZwAAAZEAAOtoAADraAAAAZIAAOtpAADraQAAAZsAAOtqAADragAAAZwAAOtrAADrawAAAZ4AAOtsAADrbAAAAaAAAOttAADrbQAAAaEAAOtuAADrbgAAAaMAAOtvAADrbwAAAaQAAOtwAADrcAAAAaUAAOtxAADrcQAAAaYAAOtyAADrcgAAAacAAOtzAADrcwAAAasAAOt0AADrdAAAAa0AAOt1AADrdQAAAa4AAOt2AADrdgAAAa8AAOt3AADrdwAAAbIAAOt4AADreAAAAbMAAOt5AADreQAAAbQAAOt6AADregAAAbYAAOt7AADrewAAAbcAAOt8AADrfAAAAb4AAOt9AADrfQAAAb8AAOt+AADrfgAAAcAAAOt/AADrfwAAAcEAAOuAAADrgAAAAcIAAOuBAADrgQAAAcYAAOuCAADrggAAAccAAOuDAADrgwAAAPEAAOuEAADrhAAAAPIAAOuFAADrhQAAAPQAAOuGAADrhgAAAPUAAOuHAADrhwAAAF8AAOuIAADriAAAAGAAAOuJAADriQAAAG8AAOuKAADrigAAADkAAOuLAADriwAAAHAAAOuMAADrjAAAAGMAAOuNAADrjQAAAYkAAOuOAADrjgAAAG4AAOuPAADrjwAAAHIAAOuQAADrkAAAAGwAAOuRAADrkQAAAFoAAOuSAADrkgAAACYAAOuTAADrkwAAACcAAOuUAADrlAAAAQQAAOuVAADrlQAAAIwAAOuWAADrlgAAAJEAAOuXAADrlwAAAMMAAOuYAADrmAAAAawAAOuZAADrmQAAAAEAAOuaAADrmgAAABcAAOubAADrmwAAAGQAAOucAADrnAAAAOsAAOudAADrnQAAARkAAOueAADrngAAAU8AAOufAADrnwAAAYwAAOugAADroAAAASQAAOuhAADroQAAALkAAOuiAADrogAAAV0AAOujAADrowAAAVwAAOukAADrpAAAAR0AAOulAADrpQAAAXEAAOumAADrpgAAASUAAOunAADrpwAAATMAAOuoAADrqAAAAFkAAOupAADrqQAAAbUAAOuqAADrqgAAAEMAAOurAADrqwAAAQUAAOusAADrrAAAAI0AAOutAADrrQAAAL4AAOuuAADrrgAAAPwAAOuvAADrrwAAARUAAOuwAADrsAAAATQAAOuxAADrsQAAACkAAOuyAADrsgAAASMAAOuzAADrswAAARwAAOu0AADrtAAAADYAAOu1AADrtQAAADcAAOu2AADrtgAAAEkAAOu3AADrtwAAAY4AAOu4AADruAAAAbAAAOu5AADruQAAAaoAAOu6AADrugAAAagAAOu7AADruwAAAakAAOu8AADrvAAAAK8AAOu9AADrvQAAAU0AAOu+AADrvgAAAVAAAOu/AADrvwAAARQAAOvAAADrwAAAAGsAAOvBAADrwQAAAcMAAOvCAADrwgAAAcUAAOvDAADrwwAAAcQAAOvEAADrxAAAAZQAAOvFAADrxQAAAZUAAOvGAADrxgAAAZYAAOvHAADrxwAAAZcAAOvIAADryAAAAZgAAOvJAADryQAAAZkAAOvKAADrygAAAZMAAOvLAADrywAAABEAAOvMAADrzAAAAFIAAOvNAADrzQAAAR4AAOvOAADrzgAAAJwAAOvPAADrzwAAAbwAAOvQAADr0AAAAGkAAOvRAADr0QAAAM4AAOvSAADr0gAAANoAAOvTAADr0wAAANkAAOvUAADr1AAAANgAAOvVAADr1QAAAFAAAOvWAADr1gAAAE8AAOvXAADr1wAAAE4AAOvYAADr2AAAABQAAOvZAADr2QAAAM8AAOvaAADr2gAAAK4AAOvbAADr2wAA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IGljb24gZm9udCBmb3IgVmlzdWFsIFN0dWRpbyBDb2RlaHR0cDovL2ZvbnRlbGxvLmNvbQBjAG8AZABpAGMAbwBuAFIAZQBnAHUAbABhAHIAYwBvAGQAaQBjAG8AbgBjAG8AZABpAGMAbwBuAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAxAGMAbwBkAGkAYwBvAG4AVABoAGUAIABpAGMAbwBuACAAZgBvAG4AdAAgAGYAbwByACAAVgBpAHMAdQBhAGwAIABTAHQAdQBkAGkAbwAgAEMAbwBkAGUAaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQACAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcgBAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHPAdAB0QHSAdMB1AHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAfQB9QH2AfcB+AH5AfoB+wH8Af0B/gH/AgACAQICAgMCBAIFAgYCBwIIAgkCCgILAgwCDQIOAg8CEAIRAhICEwIUAhUCFgIXAhgCGQIaAhsCHAIdAh4CHwIgAiECIgIjAiQCJQImAicCKAIpAioCKwIsAi0CLgIvAjACMQIyAjMCNAI1AjYCNwI4AjkCOgI7AjwCPQI+Aj8CQAJBAkICQwJEAkUCRgJHAkgCSQJKAksCTAJNAk4CTwJQAlECUgJTAlQCVQJWAlcCWAJZAloCWwJcAl0CXgJfAmACYQJiAmMCZAJlAmYCZwJoAmkCagJrAmwCbQJuAm8CcAJxAnICcwJ0AnUCdgJ3AngCeQJ6AnsCfAJ9An4CfwKAAoECggKDAoQChQKGAocCiAKJAooCiwKMAo0CjgKPApACkQKSApMClAKVApYClwKYApkCmgKbApwCnQKeAp8CoAKhAqICowKkAqUCpgKnAqgCqQKqAqsCrAKtAq4CrwKwArECsgKzArQCtQK2ArcCuAK5AroCuwK8Ar0CvgK/AsACwQLCAsMCxALFAsYCxwLIAskAB2FjY291bnQUYWN0aXZhdGUtYnJlYWtwb2ludHMDYWRkB2FyY2hpdmUKYXJyb3ctYm90aBFhcnJvdy1jaXJjbGUtZG93bhFhcnJvdy1jaXJjbGUtbGVmdBJhcnJvdy1jaXJjbGUtcmlnaHQPYXJyb3ctY2lyY2xlLXVwCmFycm93LWRvd24KYXJyb3ctbGVmdAthcnJvdy1yaWdodBBhcnJvdy1zbWFsbC1kb3duEGFycm93LXNtYWxsLWxlZnQRYXJyb3ctc21hbGwtcmlnaHQOYXJyb3ctc21hbGwtdXAKYXJyb3ctc3dhcAhhcnJvdy11cAxhenVyZS1kZXZvcHMFYXp1cmULYmVha2VyLXN0b3AGYmVha2VyCGJlbGwtZG90DmJlbGwtc2xhc2gtZG90CmJlbGwtc2xhc2gEYmVsbAVibGFuawRib2xkBGJvb2sIYm9va21hcmsLYnJhY2tldC1kb3QNYnJhY2tldC1lcnJvcglicmllZmNhc2UJYnJvYWRjYXN0B2Jyb3dzZXIDYnVnCGNhbGVuZGFyDWNhbGwtaW5jb21pbmcNY2FsbC1vdXRnb2luZw5jYXNlLXNlbnNpdGl2ZQljaGVjay1hbGwFY2hlY2sJY2hlY2tsaXN0DGNoZXZyb24tZG93bgxjaGV2cm9uLWxlZnQNY2hldnJvbi1yaWdodApjaGV2cm9uLXVwBGNoaXAMY2hyb21lLWNsb3NlD2Nocm9tZS1tYXhpbWl6ZQ9jaHJvbWUtbWluaW1pemUOY2hyb21lLXJlc3RvcmUNY2lyY2xlLWZpbGxlZBNjaXJjbGUtbGFyZ2UtZmlsbGVkDGNpcmNsZS1sYXJnZQxjaXJjbGUtc2xhc2gTY2lyY2xlLXNtYWxsLWZpbGxlZAxjaXJjbGUtc21hbGwGY2lyY2xlDWNpcmN1aXQtYm9hcmQJY2xlYXItYWxsBmNsaXBweQljbG9zZS1hbGwFY2xvc2UOY2xvdWQtZG93bmxvYWQMY2xvdWQtdXBsb2FkBWNsb3VkCGNvZGUtb3NzBGNvZGUGY29mZmVlDGNvbGxhcHNlLWFsbApjb2xvci1tb2RlB2NvbWJpbmUSY29tbWVudC1kaXNjdXNzaW9uDWNvbW1lbnQtZHJhZnQSY29tbWVudC11bnJlc29sdmVkB2NvbW1lbnQOY29tcGFzcy1hY3RpdmULY29tcGFzcy1kb3QHY29tcGFzcwdjb3BpbG90BGNvcHkIY292ZXJhZ2ULY3JlZGl0LWNhcmQEZGFzaAlkYXNoYm9hcmQIZGF0YWJhc2UJZGVidWctYWxsD2RlYnVnLWFsdC1zbWFsbAlkZWJ1Zy1hbHQnZGVidWctYnJlYWtwb2ludC1jb25kaXRpb25hbC11bnZlcmlmaWVkHGRlYnVnLWJyZWFrcG9pbnQtY29uZGl0aW9uYWwgZGVidWctYnJlYWtwb2ludC1kYXRhLXVudmVyaWZpZWQVZGVidWctYnJlYWtwb2ludC1kYXRhJGRlYnVnLWJyZWFrcG9pbnQtZnVuY3Rpb24tdW52ZXJpZmllZBlkZWJ1Zy1icmVha3BvaW50LWZ1bmN0aW9uH2RlYnVnLWJyZWFrcG9pbnQtbG9nLXVudmVyaWZpZWQUZGVidWctYnJlYWtwb2ludC1sb2ccZGVidWctYnJlYWtwb2ludC11bnN1cHBvcnRlZA1kZWJ1Zy1jb25zb2xlFGRlYnVnLWNvbnRpbnVlLXNtYWxsDmRlYnVnLWNvbnRpbnVlDmRlYnVnLWNvdmVyYWdlEGRlYnVnLWRpc2Nvbm5lY3QSZGVidWctbGluZS1ieS1saW5lC2RlYnVnLXBhdXNlC2RlYnVnLXJlcnVuE2RlYnVnLXJlc3RhcnQtZnJhbWUNZGVidWctcmVzdGFydBZkZWJ1Zy1yZXZlcnNlLWNvbnRpbnVlF2RlYnVnLXN0YWNrZnJhbWUtYWN0aXZlEGRlYnVnLXN0YWNrZnJhbWULZGVidWctc3RhcnQPZGVidWctc3RlcC1iYWNrD2RlYnVnLXN0ZXAtaW50bw5kZWJ1Zy1zdGVwLW91dA9kZWJ1Zy1zdGVwLW92ZXIKZGVidWctc3RvcAVkZWJ1ZxBkZXNrdG9wLWRvd25sb2FkE2RldmljZS1jYW1lcmEtdmlkZW8NZGV2aWNlLWNhbWVyYQ1kZXZpY2UtbW9iaWxlCmRpZmYtYWRkZWQMZGlmZi1pZ25vcmVkDWRpZmYtbW9kaWZpZWQNZGlmZi1tdWx0aXBsZQxkaWZmLXJlbW92ZWQMZGlmZi1yZW5hbWVkC2RpZmYtc2luZ2xlBGRpZmYHZGlzY2FyZARlZGl0DWVkaXRvci1sYXlvdXQIZWxsaXBzaXMMZW1wdHktd2luZG93C2Vycm9yLXNtYWxsBWVycm9yB2V4Y2x1ZGUKZXhwYW5kLWFsbAZleHBvcnQKZXh0ZW5zaW9ucwpleWUtY2xvc2VkA2V5ZQhmZWVkYmFjawtmaWxlLWJpbmFyeQlmaWxlLWNvZGUKZmlsZS1tZWRpYQhmaWxlLXBkZg5maWxlLXN1Ym1vZHVsZRZmaWxlLXN5bWxpbmstZGlyZWN0b3J5EWZpbGUtc3ltbGluay1maWxlCGZpbGUtemlwBGZpbGUFZmlsZXMNZmlsdGVyLWZpbGxlZAZmaWx0ZXIFZmxhbWUJZm9sZC1kb3duB2ZvbGQtdXAEZm9sZA1mb2xkZXItYWN0aXZlDmZvbGRlci1saWJyYXJ5DWZvbGRlci1vcGVuZWQGZm9sZGVyBGdhbWUEZ2VhcgRnaWZ0C2dpc3Qtc2VjcmV0CmdpdC1jb21taXQLZ2l0LWNvbXBhcmUJZ2l0LWZldGNoCWdpdC1tZXJnZRdnaXQtcHVsbC1yZXF1ZXN0LWNsb3NlZBdnaXQtcHVsbC1yZXF1ZXN0LWNyZWF0ZRZnaXQtcHVsbC1yZXF1ZXN0LWRyYWZ0HmdpdC1wdWxsLXJlcXVlc3QtZ28tdG8tY2hhbmdlcxxnaXQtcHVsbC1yZXF1ZXN0LW5ldy1jaGFuZ2VzEGdpdC1wdWxsLXJlcXVlc3QPZ2l0LXN0YXNoLWFwcGx5DWdpdC1zdGFzaC1wb3AJZ2l0LXN0YXNoDWdpdGh1Yi1hY3Rpb24KZ2l0aHViLWFsdA9naXRodWItaW52ZXJ0ZWQGZ2l0aHViBWdsb2JlCmdvLXRvLWZpbGUHZ3JhYmJlcgpncmFwaC1sZWZ0CmdyYXBoLWxpbmUNZ3JhcGgtc2NhdHRlcgVncmFwaAdncmlwcGVyEWdyb3VwLWJ5LXJlZi10eXBlDGhlYXJ0LWZpbGxlZAVoZWFydAdoaXN0b3J5BGhvbWUPaG9yaXpvbnRhbC1ydWxlBWh1Ym90BWluYm94BmluZGVudARpbmZvBmluc2VydAdpbnNwZWN0C2lzc3VlLWRyYWZ0Dmlzc3VlLXJlb3BlbmVkBmlzc3VlcwZpdGFsaWMGamVyc2V5BGpzb24Oa2ViYWItdmVydGljYWwDa2V5A2xhdw1sYXllcnMtYWN0aXZlCmxheWVycy1kb3QGbGF5ZXJzF2xheW91dC1hY3Rpdml0eWJhci1sZWZ0GGxheW91dC1hY3Rpdml0eWJhci1yaWdodA9sYXlvdXQtY2VudGVyZWQObGF5b3V0LW1lbnViYXITbGF5b3V0LXBhbmVsLWNlbnRlchRsYXlvdXQtcGFuZWwtanVzdGlmeRFsYXlvdXQtcGFuZWwtbGVmdBBsYXlvdXQtcGFuZWwtb2ZmEmxheW91dC1wYW5lbC1yaWdodAxsYXlvdXQtcGFuZWwXbGF5b3V0LXNpZGViYXItbGVmdC1vZmYTbGF5b3V0LXNpZGViYXItbGVmdBhsYXlvdXQtc2lkZWJhci1yaWdodC1vZmYUbGF5b3V0LXNpZGViYXItcmlnaHQQbGF5b3V0LXN0YXR1c2JhcgZsYXlvdXQHbGlicmFyeRFsaWdodGJ1bGItYXV0b2ZpeBFsaWdodGJ1bGItc3BhcmtsZQlsaWdodGJ1bGINbGluay1leHRlcm5hbARsaW5rC2xpc3QtZmlsdGVyCWxpc3QtZmxhdAxsaXN0LW9yZGVyZWQObGlzdC1zZWxlY3Rpb24JbGlzdC10cmVlDmxpc3QtdW5vcmRlcmVkCmxpdmUtc2hhcmUHbG9hZGluZwhsb2NhdGlvbgpsb2NrLXNtYWxsBGxvY2sGbWFnbmV0CW1haWwtcmVhZARtYWlsCm1hcC1maWxsZWQDbWFwCG1hcmtkb3duCW1lZ2FwaG9uZQdtZW50aW9uBG1lbnUFbWVyZ2UKbWljLWZpbGxlZANtaWMJbWlsZXN0b25lBm1pcnJvcgxtb3J0YXItYm9hcmQEbW92ZRBtdWx0aXBsZS13aW5kb3dzBW11c2ljBG11dGUIbmV3LWZpbGUKbmV3LWZvbGRlcgduZXdsaW5lCm5vLW5ld2xpbmUEbm90ZRFub3RlYm9vay10ZW1wbGF0ZQhub3RlYm9vawhvY3RvZmFjZQxvcGVuLXByZXZpZXcMb3JnYW5pemF0aW9uBm91dHB1dAdwYWNrYWdlCHBhaW50Y2FuC3Bhc3MtZmlsbGVkBHBhc3MKcGVyc29uLWFkZAZwZXJzb24FcGlhbm8JcGllLWNoYXJ0A3BpbgxwaW5uZWQtZGlydHkGcGlubmVkC3BsYXktY2lyY2xlBHBsYXkEcGx1Zw1wcmVzZXJ2ZS1jYXNlB3ByZXZpZXcQcHJpbWl0aXZlLXNxdWFyZQdwcm9qZWN0BXB1bHNlCHF1ZXN0aW9uBXF1b3RlC3JhZGlvLXRvd2VyCXJlYWN0aW9ucwtyZWNvcmQta2V5cwxyZWNvcmQtc21hbGwGcmVjb3JkBHJlZG8KcmVmZXJlbmNlcwdyZWZyZXNoBXJlZ2V4D3JlbW90ZS1leHBsb3JlcgZyZW1vdGUGcmVtb3ZlC3JlcGxhY2UtYWxsB3JlcGxhY2UFcmVwbHkKcmVwby1jbG9uZQpyZXBvLWZldGNoD3JlcG8tZm9yY2UtcHVzaAtyZXBvLWZvcmtlZAlyZXBvLXB1bGwJcmVwby1wdXNoBHJlcG8GcmVwb3J0D3JlcXVlc3QtY2hhbmdlcwVyb2JvdAZyb2NrZXQScm9vdC1mb2xkZXItb3BlbmVkC3Jvb3QtZm9sZGVyA3JzcwRydWJ5CXJ1bi1hYm92ZRBydW4tYWxsLWNvdmVyYWdlB3J1bi1hbGwJcnVuLWJlbG93DHJ1bi1jb3ZlcmFnZQpydW4tZXJyb3JzCHNhdmUtYWxsB3NhdmUtYXMEc2F2ZQtzY3JlZW4tZnVsbA1zY3JlZW4tbm9ybWFsDHNlYXJjaC1mdXp6eQtzZWFyY2gtc3RvcAZzZWFyY2gEc2VuZBJzZXJ2ZXItZW52aXJvbm1lbnQOc2VydmVyLXByb2Nlc3MGc2VydmVyDXNldHRpbmdzLWdlYXIIc2V0dGluZ3MFc2hhcmUGc2hpZWxkB3NpZ24taW4Ic2lnbi1vdXQGc21pbGV5BXNuYWtlD3NvcnQtcHJlY2VkZW5jZQ5zb3VyY2UtY29udHJvbA5zcGFya2xlLWZpbGxlZAdzcGFya2xlEHNwbGl0LWhvcml6b250YWwOc3BsaXQtdmVydGljYWwIc3F1aXJyZWwKc3Rhci1lbXB0eQlzdGFyLWZ1bGwJc3Rhci1oYWxmC3N0b3AtY2lyY2xlDXN1cnJvdW5kLXdpdGgMc3ltYm9sLWFycmF5DnN5bWJvbC1ib29sZWFuDHN5bWJvbC1jbGFzcwxzeW1ib2wtY29sb3IPc3ltYm9sLWNvbnN0YW50EnN5bWJvbC1lbnVtLW1lbWJlcgtzeW1ib2wtZW51bQxzeW1ib2wtZXZlbnQMc3ltYm9sLWZpZWxkC3N5bWJvbC1maWxlEHN5bWJvbC1pbnRlcmZhY2UKc3ltYm9sLWtleQ5zeW1ib2wta2V5d29yZA1zeW1ib2wtbWV0aG9kC3N5bWJvbC1taXNjEHN5bWJvbC1uYW1lc3BhY2UOc3ltYm9sLW51bWVyaWMPc3ltYm9sLW9wZXJhdG9yEHN5bWJvbC1wYXJhbWV0ZXIPc3ltYm9sLXByb3BlcnR5DHN5bWJvbC1ydWxlcg5zeW1ib2wtc25pcHBldA1zeW1ib2wtc3RyaW5nEHN5bWJvbC1zdHJ1Y3R1cmUPc3ltYm9sLXZhcmlhYmxlDHN5bmMtaWdub3JlZARzeW5jBXRhYmxlA3RhZwZ0YXJnZXQIdGFza2xpc3QJdGVsZXNjb3BlDXRlcm1pbmFsLWJhc2gMdGVybWluYWwtY21kD3Rlcm1pbmFsLWRlYmlhbg50ZXJtaW5hbC1saW51eBN0ZXJtaW5hbC1wb3dlcnNoZWxsDXRlcm1pbmFsLXRtdXgPdGVybWluYWwtdWJ1bnR1CHRlcm1pbmFsCXRleHQtc2l6ZQp0aHJlZS1iYXJzEXRodW1ic2Rvd24tZmlsbGVkCnRodW1ic2Rvd24PdGh1bWJzdXAtZmlsbGVkCHRodW1ic3VwBXRvb2xzBXRyYXNoDXRyaWFuZ2xlLWRvd24NdHJpYW5nbGUtbGVmdA50cmlhbmdsZS1yaWdodAt0cmlhbmdsZS11cAd0d2l0dGVyEnR5cGUtaGllcmFyY2h5LXN1YhR0eXBlLWhpZXJhcmNoeS1zdXBlcg50eXBlLWhpZXJhcmNoeQZ1bmZvbGQTdW5ncm91cC1ieS1yZWYtdHlwZQZ1bmxvY2sGdW5tdXRlCnVudmVyaWZpZWQOdmFyaWFibGUtZ3JvdXAPdmVyaWZpZWQtZmlsbGVkCHZlcmlmaWVkCHZlcnNpb25zCXZtLWFjdGl2ZQp2bS1jb25uZWN0CnZtLW91dGxpbmUKdm0tcnVubmluZwJ2bQJ2cg92c2NvZGUtaW5zaWRlcnMGdnNjb2RlBHdhbmQHd2FybmluZwV3YXRjaAp3aGl0ZXNwYWNlCndob2xlLXdvcmQGd2luZG93CXdvcmQtd3JhcBF3b3Jrc3BhY2UtdHJ1c3RlZBF3b3Jrc3BhY2UtdW5rbm93bhN3b3Jrc3BhY2UtdW50cnVzdGVkB3pvb20taW4Iem9vbS1vdXQAAAAAAA==) format("truetype")}.codicon[class*=codicon-]{font: 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(1turn)}}.codicon-gear.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin,.codicon-sync.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.monaco-count-badge{padding:3px 6px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:50%;background-repeat:no-repeat}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.hc-light .monaco-findInput.highlight-0 .controls,.monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.hc-light .monaco-findInput.highlight-1 .controls,.monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:#fdff00cc}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:#fdff00cc}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:#ffffff70}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:#ffffff70}99%{background:transparent}}.monaco-hover{cursor:default;position:absolute;overflow:hidden;user-select:text;-webkit-user-select:text;box-sizing:border-box;animation:fadein .1s linear;line-height:1.5em;white-space:var(--vscode-hover-whiteSpace,normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth,500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover .code,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6,.monaco-hover p,.monaco-hover ul{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0;border-right:0;margin:4px -8px -4px;height:1px}.monaco-hover .code:first-child,.monaco-hover p:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover .code:last-child,.monaco-hover p:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ol,.monaco-hover ul{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace,pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link,.monaco-hover .hover-contents a.code-link:hover{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{margin-bottom:4px;display:inline-block}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:0;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-multiple,.monaco-list.selection-single{outline:0!important}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-mouse-cursor-text{cursor:text}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translate(0) scaleX(1)}50%{transform:translate(2500%) scaleX(3)}to{transform:translate(4900%) scaleX(1)}}:root{--vscode-sash-size:4px;--vscode-sash-hover-size:4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size)*2);width:calc(var(--vscode-sash-size)*2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size)*-.5);top:calc(var(--vscode-sash-size)*-1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size)*-.5);bottom:calc(var(--vscode-sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size)*-.5);left:calc(var(--vscode-sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size)*-.5);right:calc(var(--vscode-sash-size)*-1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.active:before,.monaco-sash.hover:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - var(--vscode-sash-hover-size)/2)}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - var(--vscode-sash-hover-size)/2)}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:#0ff3}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:transparent;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:5px}.monaco-select-box-dropdown-padding{--dropdown-padding-top:1px;--dropdown-padding-bottom:1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top:3px;--dropdown-padding-bottom:4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:auto}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:normal;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-td,.monaco-table-th{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size)/2);width:0;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;align-items:center}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.monaco-custom-toggle.monaco-checkbox:not(.checked):before{visibility:hidden}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-contents,.monaco-tl-twistie{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translate(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{display:flex!important;align-items:center;justify-content:center;cursor:grab;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;top:0;left:0;width:100%;height:0;z-index:13;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;width:100%;opacity:1!important;overflow:hidden;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow{display:none}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{position:absolute;bottom:-3px;left:0;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{outline:none}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line,.monaco-editor .view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box}.monaco-editor .margin-view-overlays .line-numbers{font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default;height:100%}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background,var(--vscode-editor-background));color:var(--vscode-button-foreground,var(--vscode-editor-foreground));border:1px solid var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .mtkw,.monaco-editor .mtkz{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover .minimap-slider.active,.monaco-editor .minimap.slider-mouseover:hover .minimap-slider{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-diff-editor .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-diff-editor .diff-review{position:absolute;user-select:none;-webkit-user-select:none;z-index:99}.monaco-diff-editor .diff-review-summary{padding-left:10px}.monaco-diff-editor .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-diff-editor .diff-review-row{white-space:pre}.monaco-diff-editor .diff-review-table{display:table;min-width:100%}.monaco-diff-editor .diff-review-row{display:table-row;width:100%}.monaco-diff-editor .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-diff-editor .diff-review-spacer>.codicon{font-size:9px!important}.monaco-diff-editor .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-diff-editor .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-diff-editor .revertButton{cursor:pointer}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines .bottom.dragging,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .bottom,.monaco-editor .diff-hidden-lines .top{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent}.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *{cursor:n-resize!important}.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *{cursor:s-resize!important}.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow)}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedModified,.monaco-editor .movedOriginal{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedModified.currentMove,.monaco-editor .movedOriginal.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:3px solid var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .char-insert.diff-range-empty{border-left:3px solid var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:#00000008}.monaco-diff-editor.vs-dark .diffOverview{background:#ffffff03}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar{background:transparent}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:#ababab66}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-diff-editor .delete-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-editor .insert-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-diff-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-diff-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-editor.hc-black .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-editor.hc-light .insert-sign{opacity:1}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .inline-deleted-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-diff-editor .char-insert,.monaco-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-diff-editor .line-insert,.monaco-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground,var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-insert,.monaco-editor .line-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .char-insert,.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .char-insert,.monaco-editor.hc-light .line-insert{border-style:dashed}.monaco-editor .char-delete,.monaco-editor .line-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .char-delete,.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .char-delete,.monaco-editor.hc-light .line-delete{border-style:dashed}.monaco-diff-editor .gutter-insert,.monaco-editor .gutter-insert,.monaco-editor .inline-added-margin-view-zone{background-color:var(--vscode-diffEditorGutter-insertedLineBackground,var(--vscode-diffEditor-insertedLineBackground),var(--vscode-diffEditor-insertedTextBackground))}.monaco-diff-editor .char-delete,.monaco-editor .char-delete{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-diff-editor .line-delete,.monaco-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground,var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor .gutter-delete,.monaco-editor .gutter-delete,.monaco-editor .inline-deleted-margin-view-zone{background-color:var(--vscode-diffEditorGutter-removedLineBackground,var(--vscode-diffEditor-removedLineBackground),var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,transparent 0,transparent 50%,var(--vscode-diffEditor-diagonalFill) 0,var(--vscode-diffEditor-diagonalFill) 62.5%,transparent 0,transparent);background-size:8px 8px}.monaco-workbench .workbench-hover{position:relative;font-size:13px;line-height:19px;z-index:40;overflow:hidden;max-width:700px;background:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px;color:var(--vscode-editorHoverWidget-foreground);box-shadow:0 2px 8px var(--vscode-widget-shadow)}.monaco-workbench .workbench-hover hr{border-bottom:none}.monaco-workbench .workbench-hover:not(.skip-fade-in){animation:fadein .1s linear}.monaco-workbench .workbench-hover.compact{font-size:12px}.monaco-workbench .workbench-hover.compact .hover-contents{padding:2px 8px}.monaco-workbench .workbench-hover-container.locked .workbench-hover{outline:1px solid var(--vscode-editorHoverWidget-border)}.monaco-workbench .workbench-hover-container.locked .workbench-hover:focus,.monaco-workbench .workbench-hover-lock:focus{outline:1px solid var(--vscode-focusBorder)}.monaco-workbench .workbench-hover-container.locked .workbench-hover-lock:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-workbench .workbench-hover-pointer{position:absolute;z-index:41;pointer-events:none}.monaco-workbench .workbench-hover-pointer:after{content:"";position:absolute;width:5px;height:5px;background-color:var(--vscode-editorHoverWidget-background);border-right:1px solid var(--vscode-editorHoverWidget-border);border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-workbench .locked .workbench-hover-pointer:after{width:4px;height:4px;border-right-width:2px;border-bottom-width:2px}.monaco-workbench .workbench-hover-pointer.left{left:-3px}.monaco-workbench .workbench-hover-pointer.right{right:3px}.monaco-workbench .workbench-hover-pointer.top{top:-3px}.monaco-workbench .workbench-hover-pointer.bottom{bottom:3px}.monaco-workbench .workbench-hover-pointer.left:after{transform:rotate(135deg)}.monaco-workbench .workbench-hover-pointer.right:after{transform:rotate(315deg)}.monaco-workbench .workbench-hover-pointer.top:after{transform:rotate(225deg)}.monaco-workbench .workbench-hover-pointer.bottom:after{transform:rotate(45deg)}.monaco-workbench .workbench-hover a{color:var(--vscode-textLink-foreground)}.monaco-workbench .workbench-hover a:focus{outline:1px solid;outline-offset:-1px;text-decoration:underline;outline-color:var(--vscode-focusBorder)}.monaco-workbench .workbench-hover a:active,.monaco-workbench .workbench-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-workbench .workbench-hover code{background:var(--vscode-textCodeBlock-background)}.monaco-workbench .workbench-hover .hover-row .actions{background:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-workbench .workbench-hover.right-aligned{left:1px}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions{flex-direction:row-reverse}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions .action-container{margin-right:0;margin-left:16px}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-radius:3px;border:1px solid var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground)}.monaco-editor,.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground,inherit)}.monaco-component.multiDiffEditor{background:var(--vscode-multiDiffEditor-background);overflow-y:hidden}.monaco-component .multiDiffEntry{display:flex;flex-direction:column;flex:1;overflow:hidden;border-bottom:1px solid var(--vscode-multiDiffEditor-border)}.monaco-component .multiDiffEntry .collapse-button{margin:0 5px;cursor:pointer}.monaco-component .multiDiffEntry .collapse-button a{display:block}.monaco-component .multiDiffEntry .header{display:flex;align-items:center;padding:8px 5px;color:var(--vscode-foreground);background:var(--vscode-editor-background);z-index:1000;border-top:1px solid var(--vscode-multiDiffEditor-border);border-bottom:1px solid var(--vscode-sideBarSectionHeader-border)}.monaco-component .multiDiffEntry .header.shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.monaco-component .multiDiffEntry .header .file-path{display:flex;flex:1;min-width:0}.monaco-component .multiDiffEntry .header .file-path .title{font-size:14px;line-height:22px}.monaco-component .multiDiffEntry .header .file-path .status{font-weight:600;opacity:.75;margin:0 10px;line-height:22px}.monaco-component .multiDiffEntry .header .file-path .title.original{flex:1;min-width:0;text-overflow:ellipsis}.monaco-component .multiDiffEntry .header .actions{padding:0 8px}.monaco-component .multiDiffEntry .editorParent{flex:1;display:flex;flex-direction:column}.monaco-component .multiDiffEntry .editorContainer{flex:1}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}.monaco-editor .lightBulbWidget{display:flex;align-items:center;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground,var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground,var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;opacity:.3;background-color:var(--vscode-editor-background);z-index:1}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*.5);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault)}.monaco-editor .codelens-decoration>a,.monaco-editor .codelens-decoration>span{user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer}.monaco-editor .codelens-decoration>a:hover,.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:.1em solid #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:.1em solid #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:240px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1;white-space:nowrap;overflow:hidden}.colorpicker-header .picked-color .picked-color-presentation{white-space:nowrap;margin-left:5px;margin-right:5px}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.standalone-colorpicker{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{cursor:pointer;background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header .close-button-inner-div{width:100%;height:100%;text-align:center}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid #fff;border-radius:100%;box-shadow:0 0 2px #000c;position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid hsla(0,0%,100%,.71);box-shadow:0 0 1px #000000d9}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{display:block;border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);overflow:hidden}.colorpicker-body .insert-button{position:absolute;height:20px;width:58px;padding:0;right:8px;bottom:8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);border-radius:2px;border:none;cursor:pointer}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor.hc-light .dnd-target,.monaco-editor.vs .dnd-target{border-right:2px dotted #000;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #aeafad;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines,.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines{cursor:default}.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines,.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines{cursor:copy}.post-edit-widget{box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:1px solid var(--vscode-widget-border,transparent);border-radius:4px;background-color:var(--vscode-editorWidget-background);overflow:hidden}.post-edit-widget .monaco-button{padding:2px;border:none;border-radius:0}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px));border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions,.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:50%;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important}.monaco-editor .find-widget .monaco-sash{left:0!important}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{transition:initial}.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays:hover .codicon{opacity:1}.monaco-editor .inline-folded:after{color:gray;margin:.1em .2em 0;content:"⋯";display:inline;line-height:1em;cursor:pointer}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;user-select:text;-webkit-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer;color:var(--vscode-textLink-activeForeground)}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input,.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder,transparent);box-sizing:border-box}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-hover{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .inlineSuggestionsHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{display:flex;min-width:19px;justify-content:center}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{display:flex!important;justify-content:center;align-items:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{font-size:90%!important;animation:none}.inline-progress-widget:hover .icon:before{content:""}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:2px 4px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;z-index:1000;border:8px solid transparent;position:absolute;left:2px}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage.below .anchor.below,.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em;cursor:default;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{content:"";display:block;height:100%;position:absolute;opacity:.5;border-left:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .body,.monaco-editor .parameter-hints-widget .monaco-scrollable-element{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{content:"";display:block;position:absolute;left:0;width:100%;padding-top:4px;opacity:.5;border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:normal}.monaco-editor .parameter-hints-widget .docs code{font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em;background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .parameter-hints-widget .docs .code,.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:baseline;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename,.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px;align-self:center}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor .rename-box{z-index:100;color:inherit;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input{padding:3px;border-radius:2px}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder,transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder,transparent)}.monaco-editor .sticky-widget{overflow:hidden}.monaco-editor .sticky-widget-line-numbers{float:left;background-color:inherit}.monaco-editor .sticky-widget-lines-scrollable{display:inline-block;position:absolute;overflow:hidden;width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit}.monaco-editor .sticky-widget-lines{position:absolute;background-color:inherit}.monaco-editor .sticky-line-content,.monaco-editor .sticky-line-number{color:var(--vscode-editorLineNumber-foreground);white-space:nowrap;display:inline-block;position:absolute;background-color:inherit}.monaco-editor .sticky-line-number .codicon-folding-collapsed,.monaco-editor .sticky-line-number .codicon-folding-expanded{float:right;transition:var(--vscode-editorStickyScroll-foldingOpacityTransition)}.monaco-editor .sticky-line-content{width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit;white-space:nowrap}.monaco-editor .sticky-line-number-inner{display:inline-block;text-align:right}.monaco-editor .sticky-widget{border-bottom:1px solid var(--vscode-editorStickyScroll-border)}.monaco-editor .sticky-line-content:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .sticky-widget{width:100%;box-shadow:var(--vscode-editorStickyScroll-shadow) 0 3px 2px -2px;z-index:4;background-color:var(--vscode-editorStickyScroll-background)}.monaco-editor .sticky-widget.peek{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:3px}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-details,.monaco-editor .suggest-widget{flex:0 1 auto;width:100%;border:1px solid var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-light .suggest-details,.monaco-editor.hc-light .suggest-widget{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:normal;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:50%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 12px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:normal;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ol,.monaco-editor .suggest-details ul{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-enum,.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-value{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.editor-banner{box-sizing:border-box;cursor:default;width:100%;font-size:12px;display:flex;overflow:visible;height:26px;background:var(--vscode-banner-background)}.editor-banner .icon-container{display:flex;flex-shrink:0;align-items:center;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-repeat:no-repeat;background-position:50%;background-size:16px;width:16px;padding:0;margin:0 6px 0 10px}.editor-banner .message-container{display:flex;align-items:center;line-height:26px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-banner .message-container p{margin-block-start:0;margin-block-end:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{padding:3px;margin-left:12px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-editor .unicode-highlight{border:1px solid var(--vscode-editorUnicodeHighlight-border);background-color:var(--vscode-editorUnicodeHighlight-background);box-sizing:border-box}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjhWNC4wMXpNNC4wMDguMDA4QTQuMDAzIDQuMDAzIDAgMDAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwMDQuMDAzIDQuMDAyaDQ0LjAyOGE0LjAwMyA0LjAwMyAwIDAwNC4wMDMtNC4wMDJWNC4wMUE0LjAwMyA0LjAwMyAwIDAwNDguMDM2LjAwOEg0LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxVjguMDEzem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJWOC4wMTN6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyVjguMDEzem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDNWOC4wMTN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDNWOC4wMTN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnYtNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNoLTQuMDAzdi00LjAwM3ptMTIuMDA4IDBoLTQuMDAzdjQuMDAzaDQuMDAzdi00LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM2g4LjAwNXptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzdi00LjAwM3ptNC4wMDMgMGgyMC4wMTN2NC4wMDNIMTYuMDE2di00LjAwM3ptMjguMDE4IDBINDAuMDN2NC4wMDNoNC4wMDN2LTQuMDAzeiIgZmlsbD0iIzQyNDI0MiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUzdjM2SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+) 50% no-repeat;border:4px solid #f6f6f6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjhWNC4wMXpNNC4wMDguMDA4QTQuMDAzIDQuMDAzIDAgMDAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwMDQuMDAzIDQuMDAyaDQ0LjAyOGE0LjAwMyA0LjAwMyAwIDAwNC4wMDMtNC4wMDJWNC4wMUE0LjAwMyA0LjAwMyAwIDAwNDguMDM2LjAwOEg0LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxVjguMDEzem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJWOC4wMTN6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyVjguMDEzem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDNWOC4wMTN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDNWOC4wMTN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnYtNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNoLTQuMDAzdi00LjAwM3ptMTIuMDA4IDBoLTQuMDAzdjQuMDAzaDQuMDAzdi00LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM2g4LjAwNXptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzdi00LjAwM3ptNC4wMDMgMGgyMC4wMTN2NC4wMDNIMTYuMDE2di00LjAwM3ptMjguMDE4IDBINDAuMDN2NC4wMDNoNC4wMDN2LTQuMDAzeiIgZmlsbD0iI0M1QzVDNSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUzdjM2SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+) 50% no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{z-index:50;user-select:text;-webkit-user-select:text;padding:10px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{height:1px;border:0;background-color:var(--vscode-editorHoverWidget-border)}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:#ddd6;border:1px solid hsla(0,0%,80%,.4);border-bottom-color:#bbb6;box-shadow:inset 0 -1px #bbb6;color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #6fc3df;box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #0f4a85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:#8080802b;border:1px solid rgba(51,51,51,.6);border-bottom-color:#4449;box-shadow:inset 0 -1px #4449;color:#ccc}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font:"SF Mono",Monaco,Menlo,Consolas,"Ubuntu Mono","Liberation Mono","DejaVu Sans Mono","Courier New",monospace}.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.monaco-diff-editor .synthetic-focus,.monaco-diff-editor [tabindex="0"]:focus,.monaco-diff-editor [tabindex="-1"]:focus,.monaco-diff-editor button:focus,.monaco-diff-editor input[type=button]:focus,.monaco-diff-editor input[type=checkbox]:focus,.monaco-diff-editor input[type=search]:focus,.monaco-diff-editor input[type=text]:focus,.monaco-diff-editor select:focus,.monaco-diff-editor textarea:focus,.monaco-editor{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--vscode-focusBorder);opacity:1}.action-widget{font-size:13px;min-width:160px;max-width:80vw;z-index:40;display:block;width:100%;border:1px solid var(--vscode-editorWidget-border)!important;border-radius:2px;background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground)}.context-view-block{z-index:-1}.context-view-block,.context-view-pointerBlock{position:fixed;cursor:auto;left:0;top:0;width:100%;height:100%}.context-view-pointerBlock{z-index:2}.action-widget .monaco-list{user-select:none;-webkit-user-select:none;border:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{padding:0 10px;white-space:nowrap;cursor:pointer;touch-action:none;width:100%}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-quickInputList-focusBackground)!important;color:var(--vscode-quickInputList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder,transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-descriptionForeground)!important;font-weight:600}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before,.action-widget .monaco-list .option-disabled:before{cursor:default!important;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background-color:transparent!important;outline:0 solid!important}.action-widget .monaco-list-row.action{display:flex;gap:6px;align-items:center}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .monaco-list-row.action .monaco-keybinding>.monaco-keybinding-key{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-radius:3px;border:1px solid var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow)}.action-widget .action-widget-action-bar{background-color:var(--vscode-editorHoverWidget-statusBarBackground);border-top:1px solid var(--vscode-editorHoverWidget-border)}.action-widget .action-widget-action-bar:before{display:block;content:"";width:100%}.action-widget .action-widget-action-bar .actions-container{padding:0 8px}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:12px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:50%;background-repeat:no-repeat}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;margin-left:-300px;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{display:flex;align-items:center;border-top-left-radius:5px;border-top-right-radius:5px}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-title{padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:50%;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{margin:4px 2px;flex:1}.quick-input-header{display:flex;padding:8px 6px 6px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;height:100%;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:0;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-highlighted-label .highlight{font-weight:700}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:0 2px 2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px;margin-right:4px}.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.quick-input-list .quick-input-list-separator-as-item{font-weight:600;font-size:12px}.extension-editor .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.markers-panel .marker-icon .codicon.codicon-error,.markers-panel .marker-icon.error,.monaco-editor .zone-widget .codicon.codicon-error,.preferences-editor .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.extension-editor .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.markers-panel .marker-icon .codicon.codicon-warning,.markers-panel .marker-icon.warning,.monaco-editor .zone-widget .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.extension-editor .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.markers-panel .marker-icon .codicon.codicon-info,.markers-panel .marker-icon.info,.monaco-editor .zone-widget .codicon.codicon-info,.preferences-editor .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}`;function Hn(r){return new Worker("/assets/editor.worker-HEmB0D7P.js",{name:r==null?void 0:r.name})}function On(r){return new Worker("/assets/html.worker-D3WUrk8Q.js",{name:r==null?void 0:r.name})}function Tn(r){return new Worker("/assets/css.worker-B_qZXUzt.js",{name:r==null?void 0:r.name})}function Gn(r){return new Worker("/assets/json.worker-CAhUaBo4.js",{name:r==null?void 0:r.name})}var Ln=Object.defineProperty,jn=Object.getOwnPropertyDescriptor,mo=(r,e,o,i)=>{for(var t=i>1?void 0:i?jn(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&Ln(e,o,t),t};self.MonacoEnvironment={getWorker(r,e){return e==="json"?new Gn:e==="html"?new On:e==="css"||e==="scss"||e==="less"?new Tn:new Hn}};let ee=class extends s.LitElement{constructor(r="spec"){super(),this.container=Rn(),this.id=r}render(){return s.html`
|
|
2663
2650
|
<style>
|
|
2664
|
-
${
|
|
2651
|
+
${Jn}
|
|
2665
2652
|
</style>
|
|
2666
|
-
<main ${
|
|
2667
|
-
`}getFile(){return this.children.length>0?this.children[0]:null}getCode(){if(this.code)return this.code;const r=this.getFile();if(r)return r.innerHTML.trim()}getTheme(){return this.theme?this.theme:this.isDark()?"vs-dark":"vs-light"}isDark(){return window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches}setValue(r,e=!1){e&&(this.firstboot=e),this.editor.setValue(r)}getValue(){return this.editor.getValue()}setMarkers(r){
|
|
2653
|
+
<main ${Yn(this.container)}></main>
|
|
2654
|
+
`}getFile(){return this.children.length>0?this.children[0]:null}getCode(){if(this.code)return this.code;const r=this.getFile();if(r)return r.innerHTML.trim()}getTheme(){return this.theme?this.theme:this.isDark()?"vs-dark":"vs-light"}isDark(){return window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches}setValue(r,e=!1){e&&(this.firstboot=e),this.editor.setValue(r)}getValue(){return this.editor.getValue()}setMarkers(r){J.editor.removeAllMarkers("owner"),J.editor.setModelMarkers(this.model,"owner",r)}firstUpdated(){const r={base:"vs-dark",inherit:!0,rules:[{foreground:"E400FB",token:"string"},{foreground:"62C4FFFF",token:"type"}],colors:{"editor.fontFamily":"arial","editor.foreground":"#ffffff","editor.background":"#0d1117","editorCursor.foreground":"#62C4FFFF","editor.lineHighlightBackground":"#E400FB30","editorLineNumber.foreground":"#6368747F","editorLineNumber.activeForeground":"#E400FB","editor.inactiveSelectionBackground":"#FF3C742D","diffEditor.removedTextBackground":"#FF3C741A","diffEditor.insertedTextBackground":"#62C4FF1A"}};J.editor.defineTheme("pb33f",r),J.editor.setTheme("pb33f");const e=J.Uri.parse("inmemory://doc-"+this.id),o=this.getCode();this.model=J.editor.createModel(o,"yaml",e),this.editor=J.editor.create(this.container.value,{model:this.model,language:"yaml",theme:"pb33f",readOnly:this.readOnly,automaticLayout:!0,fontFamily:"BerkeleyMono-Regular",fontSize:14,minimap:{enabled:!1},hover:{enabled:!0}}),this.model.onDidChangeContent(()=>{this.firstboot?this.firstboot=!1:this.dispatchEvent(new CustomEvent(yt,{bubbles:!0,composed:!0,detail:{content:this.editor.getValue(),id:this.id}}))}),this.editor.onMouseDown(i=>{var t,A;this.dispatchEvent(new CustomEvent(Di,{bubbles:!0,composed:!0,detail:{line:(t=i.target.position)==null?void 0:t.lineNumber,column:(A=i.target.position)==null?void 0:A.column}}))}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{J.editor.setTheme(this.getTheme())})}};ee.styles=s.css`
|
|
2668
2655
|
main {
|
|
2669
2656
|
width: 100%;
|
|
2670
2657
|
height: 100%;
|
|
2671
2658
|
position: relative;
|
|
2672
2659
|
word-spacing: normal;
|
|
2673
2660
|
}
|
|
2674
|
-
`,
|
|
2661
|
+
`,mo([a.property({type:Boolean,attribute:"readonly"})],ee.prototype,"readOnly",2),mo([a.property()],ee.prototype,"theme",2),mo([a.property()],ee.prototype,"language",2),mo([a.property()],ee.prototype,"code",2),ee=mo([a.customElement("pb33f-editor")],ee);const De="bags",Pn="saddlebag";class Vn{constructor(e){m(this,"_bags");m(this,"_stateful");m(this,"_db");this._bags=new Map,this._stateful=e}loadStatefulBags(){return new Promise(e=>{const o=indexedDB.open(Pn,1);o.onupgradeneeded=()=>{this._db=o.result,this._db.createObjectStore(De)},o.onsuccess=()=>{if(this._db=o.result,this._db){const i=this._db.transaction(De).objectStore(De).openCursor();i.onsuccess=t=>{let A=t.target.result;if(A){let n=A.primaryKey,c=A.value;const l=this.createBag(n);l.populate(c),this._bags.set(n,l),A.continue()}else e({db:this._db})}}}})}get db(){return this._db?this._db:null}createBag(e){const o=Xn(e,this._stateful);return o.db=this._db,this._bags.set(e,o),o}getBag(e){return this._bags.has(e)?this._bags.get(e):this.createBag(e)}resetBags(){this._bags.forEach(e=>{e.reset()})}}let Ut;function qi(r){return Ut||(Ut=new Vn(r||!1)),Ut}function Xn(r,e){return new Wn(r,e)}class Rt{constructor(e,o){m(this,"_allChangesBit");m(this,"_key");m(this,"_subFunction");m(this,"_allChangesFunction");m(this,"_populatedFunction");m(this,"_bag");this._bag=e,this._allChangesBit=o,this._key="",this._subFunction=void 0,this._allChangesFunction=void 0,this._populatedFunction=void 0}set allChangeFunction(e){this._allChangesFunction=e}set populatedFunction(e){this._populatedFunction=e}set subscriptionFunction(e){this._subFunction=e}set key(e){this._key=e}unsubscribe(){switch(this._allChangesBit){case 0:const e=this._bag._subscriptions.get(this._key);e&&this._bag._subscriptions.set(this._key,e.filter(o=>o!==this._subFunction));break;case 1:this._bag._allChangesSubscriptions=this._bag._allChangesSubscriptions.filter(o=>o!==this._allChangesFunction);break;case 2:this._bag._storePopulatedSubscriptions=this._bag._storePopulatedSubscriptions.filter(o=>o!==this._populatedFunction)}}}class Wn{constructor(e,o){m(this,"_id");m(this,"_stateful");m(this,"_values");m(this,"_db");m(this,"_subscriptions");m(this,"_allChangesSubscriptions");m(this,"_storePopulatedSubscriptions");this._values=new Map,this._subscriptions=new Map,this._allChangesSubscriptions=[],this._storePopulatedSubscriptions=[],this._stateful=o||!1,this._id=e}set(e,o){this._values.set(e,structuredClone(o)),this.alertSubscribers(e,o),this._stateful&&this._db&&this._db.transaction([De],"readwrite").objectStore(De).put(this._values,this._id)}get id(){return this._id}set db(e){this._db=e}reset(){this._values.forEach((e,o)=>{this.alertSubscribers(o,void 0)}),this._values=new Map,this._stateful&&this._db&&this._db.transaction([De],"readwrite").objectStore(De).delete(this._id)}alertSubscribers(e,o){var i;this._subscriptions.has(e)&&((i=this._subscriptions.get(e))==null||i.forEach(t=>t(o))),this._allChangesSubscriptions.length>0&&this._allChangesSubscriptions.forEach(t=>t(e,o))}get(e){return this._values.get(e)}populate(e){e&&e.size>0&&(this._values=structuredClone(e),this._storePopulatedSubscriptions.length>0&&this._storePopulatedSubscriptions.forEach(o=>o(e)))}export(){return this._values}subscribe(e,o){if(!this._subscriptions.has(e))this._subscriptions.set(e,[o]);else{const t=this._subscriptions.get(e);t&&this._subscriptions.set(e,[...t,o])}const i=new Rt(this,0);return i.key=e,i.subscriptionFunction=o,i}onAllChanges(e){this._allChangesSubscriptions.push(e);const o=new Rt(this,1);return o.allChangeFunction=e,o}onPopulated(e){this._storePopulatedSubscriptions.push(e);const o=new Rt(this,2);return o.populatedFunction=e,o}}const ie=class ie{static compareProblems(e,o){return e.startLineNumber<o.startLineNumber?-1:e.startLineNumber>o.startLineNumber?1:e.startColumn<o.startColumn?-1:e.startColumn>o.startColumn?1:e.jsonPath<o.jsonPath?-1:0}static async lintFile(e){return new Promise(async(o,i)=>{try{const A=await(await fetch(ie.doctorEndpoint+"/lint-lsp",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:e})).json();if(!A){i([]);return}if(A!=null&&A.type&&(A!=null&&A.title)&&(A!=null&&A.status)){i(A);return}const n=A,c=[];if(n&&Array.isArray(n))for(let l=0;l<n.length;l++){const d=n[l];c.push(new ne(d.category,d.jsonPath,d.endColumn,d.endLineNumber,d.message,d.severity,d.startColumn,d.startLineNumber,d.source,d.id))}if(n&&!Array.isArray(n)){const l=n;c.push(new ne(l.category,l.jsonPath,l.endColumn,l.endLineNumber,l.message,l.severity,l.startColumn,l.startLineNumber,l.source,l.id))}c.sort(ie.compareProblems),o(c)}catch{i({detail:"the pb33f platform is unresponsive"})}})}static async fetchAllHowToFix(){return new Promise(async(e,o)=>{try{const t=await(await fetch(ie.doctorEndpoint+"/rules/howtofix",{method:"GET",credentials:"include"})).json();t.title&&t.status&&t.error&&o(t),e(t)}catch{o({tile:"platform error",detail:"the pb33f platform is unresponsive, please try again later."})}})}static async fetchStatistics(){return new Promise(async(e,o)=>{try{const t=await(await fetch(ie.doctorEndpoint+"/lint-statistics",{method:"GET",credentials:"include"})).json();t.type&&t.title&&t.status&&o(t),e(t)}catch{o({detail:"the pb33f platform is unresponsive"})}})}static async startSession(){return new Promise(async(e,o)=>{try{const t=await(await fetch(ie.doctorEndpoint+"/start-session",{method:"GET",credentials:"include"})).json();t.type&&t.title&&t.status&&o(t),e(t)}catch{o({detail:"the pb33f platform is unresponsive"})}})}static async bootstrapEditor(){return new Promise(async(e,o)=>{try{const t=await(await fetch(ie.doctorEndpoint+"/bootstrap/train-travel",{method:"GET",credentials:"include"})).text();e(t)}catch{o({detail:"the pb33f platform is unresponsive"})}})}};ie.doctorEndpoint="https://doctor.pb33f.io";let ae=ie;const Zn=s.css`
|
|
2675
2662
|
|
|
2676
2663
|
label {
|
|
2677
2664
|
font-size: 0.8rem;
|
|
@@ -2709,16 +2696,16 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2709
2696
|
text-shadow: 0 0 1rem var(--error-color), 0 0 1.2rem var(--error-color);
|
|
2710
2697
|
}
|
|
2711
2698
|
|
|
2712
|
-
`;var
|
|
2699
|
+
`;var $n=Object.defineProperty,Kn=Object.getOwnPropertyDescriptor,He=(r,e,o,i)=>{for(var t=i>1?void 0:i?Kn(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&$n(e,o,t),t};let ce=class extends s.LitElement{constructor(){super(),this.label="[statistic]",this.value=0}render(){return this.isError?s.html`
|
|
2713
2700
|
<sl-icon name="x-square" class="error"></sl-icon><label>${this.label}</label>
|
|
2714
|
-
<span class="error glow-error"><sl-format-number value="${this.value}"></sl-format-number></span>`:this.isWarning?
|
|
2701
|
+
<span class="error glow-error"><sl-format-number value="${this.value}"></sl-format-number></span>`:this.isWarning?s.html`
|
|
2715
2702
|
<sl-icon name="exclamation-triangle" class="warn"></sl-icon><label>${this.label}</label>
|
|
2716
|
-
<span class="warn glow-warn"><sl-format-number value="${this.value}"></sl-format-number></span>`:this.isInform?
|
|
2703
|
+
<span class="warn glow-warn"><sl-format-number value="${this.value}"></sl-format-number></span>`:this.isInform?s.html`
|
|
2717
2704
|
<sl-icon name="info-square"></sl-icon><label>${this.label}</label>
|
|
2718
|
-
<span><sl-format-number value="${this.value}"></sl-format-number></span>`:
|
|
2705
|
+
<span><sl-format-number value="${this.value}"></sl-format-number></span>`:s.html`
|
|
2719
2706
|
<label>${this.label}</label>
|
|
2720
2707
|
<span><sl-format-number value="${this.value}"></sl-format-number></span>
|
|
2721
|
-
`}};
|
|
2708
|
+
`}};ce.styles=[Zn],He([a.property()],ce.prototype,"label",2),He([a.property({type:Number})],ce.prototype,"value",2),He([a.property({type:Boolean})],ce.prototype,"isError",2),He([a.property({type:Boolean})],ce.prototype,"isWarning",2),He([a.property({type:Boolean})],ce.prototype,"isInform",2),ce=He([a.customElement("pb33f-problem-statistic")],ce);const qn=s.css`
|
|
2722
2709
|
|
|
2723
2710
|
label {
|
|
2724
2711
|
font-size: 0.7rem;
|
|
@@ -2731,15 +2718,13 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2731
2718
|
font-family: var(--font-stack-bold), monospace;
|
|
2732
2719
|
text-shadow: 0 0 1rem var(--primary-color);
|
|
2733
2720
|
}
|
|
2734
|
-
|
|
2735
|
-
`;var ln=Object.defineProperty,dn=Object.getOwnPropertyDescriptor,uo=(r,e,o,A)=>{for(var t=A>1?void 0:A?dn(e,o):e,n=r.length-1,i;n>=0;n--)(i=r[n])&&(t=(A?i(e,o,t):i(t))||t);return A&&t&&ln(e,o,t),t};let Qe=class extends a.LitElement{constructor(){super(),this.isNumeric=r=>/^[+-]?\d+(\.\d+)?$/.test(r),this.label="[statistic]",this.value=0,this.postfix=""}render(){let r;if(this.value&&!this.isNumeric(this.value))r=a.html`${this.value}`;else{let e=this.value;this.value<1&&(e=0),r=a.html`<sl-format-number value="${e}"></sl-format-number>`}return a.html`
|
|
2721
|
+
`;var _n=Object.defineProperty,es=Object.getOwnPropertyDescriptor,Vo=(r,e,o,i)=>{for(var t=i>1?void 0:i?es(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&_n(e,o,t),t};let Oe=class extends s.LitElement{constructor(){super(),this.isNumeric=r=>/^[+-]?\d+(\.\d+)?$/.test(r),this.label="[statistic]",this.value=0,this.postfix=""}render(){let r;if(this.value&&!this.isNumeric(this.value))r=s.html`${this.value}`;else{let e=this.value;this.value<1&&(e=0),r=s.html`<sl-format-number value="${e}"></sl-format-number>`}return s.html`
|
|
2736
2722
|
<label>${this.label}:</label>
|
|
2737
|
-
<span>${r}${this.postfix}</span>`}};
|
|
2723
|
+
<span>${r}${this.postfix}</span>`}};Oe.styles=[qn],Vo([a.property()],Oe.prototype,"label",2),Vo([a.property()],Oe.prototype,"value",2),Vo([a.property()],Oe.prototype,"postfix",2),Oe=Vo([a.customElement("pb33f-document-statistic")],Oe);const os=s.css`
|
|
2738
2724
|
sl-card {
|
|
2739
2725
|
--border-color: var(--secondary-color);
|
|
2740
2726
|
--border-radius: 0;
|
|
2741
2727
|
--border-width: 1px;
|
|
2742
|
-
|
|
2743
2728
|
--padding: 5px;
|
|
2744
2729
|
flex-grow: 1;
|
|
2745
2730
|
margin-left: 10px;
|
|
@@ -2758,7 +2743,6 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2758
2743
|
--border-color: var(--background-color)
|
|
2759
2744
|
}
|
|
2760
2745
|
|
|
2761
|
-
|
|
2762
2746
|
h3 {
|
|
2763
2747
|
margin-top: 10px;
|
|
2764
2748
|
margin-bottom: 10px;
|
|
@@ -2771,7 +2755,6 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2771
2755
|
border-bottom: 1px dashed var(--secondary-color);
|
|
2772
2756
|
}
|
|
2773
2757
|
|
|
2774
|
-
|
|
2775
2758
|
.statistics sl-card:first-child {
|
|
2776
2759
|
margin-left: 0;
|
|
2777
2760
|
}
|
|
@@ -2799,26 +2782,24 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2799
2782
|
display: none;
|
|
2800
2783
|
}
|
|
2801
2784
|
}
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
`;class hn{}class pn{}var mn=Object.defineProperty,wn=Object.getOwnPropertyDescriptor,tA=(r,e,o,A)=>{for(var t=A>1?void 0:A?wn(e,o):e,n=r.length-1,i;n>=0;n--)(i=r[n])&&(t=(A?i(e,o,t):i(t))||t);return A&&t&&mn(e,o,t),t};let fe=class extends a.LitElement{constructor(){super()}render(){var A,t,n,i,s,l,g,d,h,p,m,Q,y;const r=this.problems.length,e=new Set(this.problems.map(Y=>Y.problemObject.source)).size;let o=0;return this.drDiagnostics&&(o=(t=(A=this.drDiagnostics)==null?void 0:A.statistics.categoryStatistics)==null?void 0:t.filter(Y=>Y.numIssues>0).length),a.html`
|
|
2785
|
+
`;class ts{}class is{}var rs=Object.defineProperty,As=Object.getOwnPropertyDescriptor,St=(r,e,o,i)=>{for(var t=i>1?void 0:i?As(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&rs(e,o,t),t};let Te=class extends s.LitElement{constructor(){super()}render(){var i,t,A,n,c,l,d,g,p,h,u,E,M;const r=this.problems.length,e=new Set(this.problems.map(R=>R.problemObject.source)).size;let o=0;return this.drDiagnostics&&(o=(t=(i=this.drDiagnostics)==null?void 0:i.statistics.categoryStatistics)==null?void 0:t.filter(R=>R.numIssues>0).length),s.html`
|
|
2805
2786
|
<div class="statistics">
|
|
2806
2787
|
<sl-card class="card-small size">
|
|
2807
2788
|
<pb33f-document-statistic label="Size"
|
|
2808
2789
|
postFix="kb"
|
|
2809
|
-
value="${(
|
|
2790
|
+
value="${(A=this.drDiagnostics)==null?void 0:A.statistics.filesizeKb}">
|
|
2810
2791
|
</pb33f-document-statistic>
|
|
2811
2792
|
</sl-card>
|
|
2812
2793
|
|
|
2813
2794
|
<sl-card class="card-small version">
|
|
2814
2795
|
<pb33f-document-statistic label="Version"
|
|
2815
|
-
value="${(
|
|
2796
|
+
value="${(n=this.drDiagnostics)==null?void 0:n.statistics.version}">
|
|
2816
2797
|
</pb33f-document-statistic>
|
|
2817
2798
|
</sl-card>
|
|
2818
2799
|
|
|
2819
2800
|
<sl-card class="card-small" schemas>
|
|
2820
2801
|
<pb33f-document-statistic label="Schemas"
|
|
2821
|
-
value="${(
|
|
2802
|
+
value="${(c=this.drDiagnostics)==null?void 0:c.statistics.schemas}">
|
|
2822
2803
|
</pb33f-document-statistic>
|
|
2823
2804
|
</sl-card>
|
|
2824
2805
|
|
|
@@ -2830,22 +2811,22 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2830
2811
|
|
|
2831
2812
|
<sl-card class="card-small operations">
|
|
2832
2813
|
<pb33f-document-statistic label="Operations"
|
|
2833
|
-
value="${(
|
|
2814
|
+
value="${(d=this.drDiagnostics)==null?void 0:d.statistics.operations}">
|
|
2834
2815
|
</pb33f-document-statistic>
|
|
2835
2816
|
</sl-card>
|
|
2836
2817
|
<sl-card class="card-small refs">
|
|
2837
2818
|
<pb33f-document-statistic label="Refs"
|
|
2838
|
-
value="${(
|
|
2819
|
+
value="${(g=this.drDiagnostics)==null?void 0:g.statistics.references}">
|
|
2839
2820
|
</pb33f-document-statistic>
|
|
2840
2821
|
</sl-card>
|
|
2841
2822
|
<sl-card class="card-small enums">
|
|
2842
2823
|
<pb33f-document-statistic label="Enums"
|
|
2843
|
-
value="${(
|
|
2824
|
+
value="${(p=this.drDiagnostics)==null?void 0:p.statistics.enums}">
|
|
2844
2825
|
</pb33f-document-statistic>
|
|
2845
2826
|
</sl-card>
|
|
2846
2827
|
<sl-card class="card-small tags">
|
|
2847
2828
|
<pb33f-document-statistic label="Tags"
|
|
2848
|
-
value="${(
|
|
2829
|
+
value="${(h=this.drDiagnostics)==null?void 0:h.statistics.tags}">
|
|
2849
2830
|
</pb33f-document-statistic>
|
|
2850
2831
|
</sl-card>
|
|
2851
2832
|
</div>
|
|
@@ -2868,20 +2849,20 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
2868
2849
|
</sl-card>
|
|
2869
2850
|
<sl-card class="card-basic">
|
|
2870
2851
|
<pb33f-problem-statistic label="Errors"
|
|
2871
|
-
value="${(
|
|
2852
|
+
value="${(u=this.drDiagnostics)==null?void 0:u.statistics.totalErrors}" isError>
|
|
2872
2853
|
</pb33f-problem-statistic>
|
|
2873
2854
|
</sl-card>
|
|
2874
2855
|
<sl-card class="card-basic">
|
|
2875
2856
|
<pb33f-problem-statistic label="Warnings"
|
|
2876
|
-
value="${(
|
|
2857
|
+
value="${(E=this.drDiagnostics)==null?void 0:E.statistics.totalWarnings}" isWarning>
|
|
2877
2858
|
</pb33f-problem-statistic>
|
|
2878
2859
|
</sl-card>
|
|
2879
2860
|
<sl-card class="card-basic">
|
|
2880
2861
|
<pb33f-problem-statistic label="Informs"
|
|
2881
|
-
value="${(
|
|
2862
|
+
value="${(M=this.drDiagnostics)==null?void 0:M.statistics.totalInfo}" isInform>
|
|
2882
2863
|
</pb33f-problem-statistic>
|
|
2883
2864
|
</sl-card>
|
|
2884
|
-
</div>`}};
|
|
2865
|
+
</div>`}};Te.styles=[os],St([a.property({type:ne})],Te.prototype,"problems",2),St([a.property({type:is})],Te.prototype,"drDiagnostics",2),Te=St([a.customElement("pb33f-problem-statistics")],Te);const ns=s.css`
|
|
2885
2866
|
.diagnostic-evaluation {
|
|
2886
2867
|
display: flex;
|
|
2887
2868
|
border-bottom: 1px dashed var(--secondary-color);
|
|
@@ -3066,7 +3047,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3066
3047
|
}
|
|
3067
3048
|
|
|
3068
3049
|
|
|
3069
|
-
`,
|
|
3050
|
+
`,Yt=s.css`
|
|
3070
3051
|
ul {
|
|
3071
3052
|
padding-left: 20px;
|
|
3072
3053
|
}
|
|
@@ -3107,25 +3088,25 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3107
3088
|
margin-right: 10px;
|
|
3108
3089
|
content: "*"
|
|
3109
3090
|
}
|
|
3110
|
-
`;var
|
|
3091
|
+
`;var ss=Object.defineProperty,as=Object.getOwnPropertyDescriptor,Xo=(r,e,o,i)=>{for(var t=i>1?void 0:i?as(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&ss(e,o,t),t};let Ge=class extends s.LitElement{constructor(){super(),this.links=[],this.evaluation="Unknown"}scoreClass(){return this.score===0?"zero":this.score>=90?"five":this.score>=70?"four":this.score>=50?"three":this.score>=30?"two":"one"}viewRuleDocs(r){this.dispatchEvent(new CustomEvent(Me,{bubbles:!0,composed:!0,detail:{type:$.RULE_DOCS,rule:r}}))}convertToLinks(r){const e=/#\{([^}]+)}/g;return r.replace(e,(i,t)=>(this.links.push(t),""))}render(){this.links=[];let r=this.convertToLinks(w.parse(this.diagnosis).toString());this.links.sort((t,A)=>t.localeCompare(A));const e=this.links.map(t=>s.html`<li><a href="#" @click=${()=>{this.viewRuleDocs(t)}}>${t}</a></li>`);let o=this.evaluation;o===""&&(o="Unknown");let i=this.score;return i===0?i="??":i=this.score+"%",r===""&&(r="No diagnosis available, looks like we're missing an OpenAPI specification"),s.html`
|
|
3111
3092
|
<div class="diagnostic-evaluation">
|
|
3112
3093
|
<div class="diagnostic-score">
|
|
3113
3094
|
<label>Overall score</label>
|
|
3114
3095
|
<div class="score ${this.scoreClass()}">
|
|
3115
|
-
<span>${
|
|
3096
|
+
<span>${i}</span>
|
|
3116
3097
|
</div>
|
|
3117
3098
|
<span>${o}</span>
|
|
3118
3099
|
</div>
|
|
3119
3100
|
<div class="evaluation">
|
|
3120
3101
|
<label>The doctor's diagnosis:</label>
|
|
3121
3102
|
<p class="diagnosis">
|
|
3122
|
-
${
|
|
3103
|
+
${H(r)}
|
|
3123
3104
|
</p>
|
|
3124
3105
|
<ul>
|
|
3125
3106
|
${e}
|
|
3126
3107
|
</ul>
|
|
3127
3108
|
</div>
|
|
3128
|
-
</div>`}};
|
|
3109
|
+
</div>`}};Ge.styles=[Yt,ns],Xo([a.property({type:Number})],Ge.prototype,"score",2),Xo([a.property()],Ge.prototype,"evaluation",2),Xo([a.property()],Ge.prototype,"diagnosis",2),Ge=Xo([a.customElement("pb33f-diagnostic-evaluation")],Ge);const cs=s.css`
|
|
3129
3110
|
.bar {
|
|
3130
3111
|
display: flex;
|
|
3131
3112
|
flex-direction: row;
|
|
@@ -3188,22 +3169,22 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3188
3169
|
}
|
|
3189
3170
|
|
|
3190
3171
|
|
|
3191
|
-
`;var
|
|
3172
|
+
`;var ls=Object.defineProperty,ds=Object.getOwnPropertyDescriptor,Le=(r,e,o,i)=>{for(var t=i>1?void 0:i?ds(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&ls(e,o,t),t};let le=class extends s.LitElement{constructor(){super(),this.value=0,this.height=20}render(){let r=[];for(let A=0;A<this.value/2;A++)r.push((A+.2)*2);let e=0,o="",i="var(--primary-color)";this.warning&&(i="var(--warn-color)",o="warning"),this.error&&(i="var(--error-color)",o="error"),this.success&&(i="var(--terminal-text)",o="success");let t=`${this.value}`;return this.value<1&&(t="<1"),s.html`
|
|
3192
3173
|
<div class="bar">
|
|
3193
3174
|
<svg xmlns="http://www.w3.org/2000/svg" style="height: ${this.height}px" class="${o}">
|
|
3194
|
-
${r.map(
|
|
3175
|
+
${r.map(A=>{e++;let n=1.5;return e==50&&(n=1),s.svg`
|
|
3195
3176
|
<rect
|
|
3196
|
-
width="${
|
|
3177
|
+
width="${n}%"
|
|
3197
3178
|
height="${this.height-4}px"
|
|
3198
|
-
x="${
|
|
3179
|
+
x="${A}%"
|
|
3199
3180
|
y="2"
|
|
3200
|
-
fill="${
|
|
3181
|
+
fill="${i}" />`})}
|
|
3201
3182
|
</svg>
|
|
3202
3183
|
<div class="percent ${o}" style="height: ${this.height}px; line-height: ${this.height}px">
|
|
3203
3184
|
<span>${t}%</span>
|
|
3204
3185
|
</div>
|
|
3205
3186
|
</div>
|
|
3206
|
-
`}};
|
|
3187
|
+
`}};le.styles=[cs],Le([a.property({type:Number})],le.prototype,"value",2),Le([a.property({type:Number})],le.prototype,"height",2),Le([a.property({type:Boolean})],le.prototype,"success",2),Le([a.property({type:Boolean})],le.prototype,"warning",2),Le([a.property({type:Boolean})],le.prototype,"error",2),le=Le([a.customElement("pb33f-percent-bar")],le);const gs=s.css`
|
|
3207
3188
|
.problem-overview-group {
|
|
3208
3189
|
display: flex;
|
|
3209
3190
|
flex-direction: row;
|
|
@@ -3263,8 +3244,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3263
3244
|
display: flex;
|
|
3264
3245
|
flex-direction: row;
|
|
3265
3246
|
}
|
|
3266
|
-
|
|
3267
|
-
|
|
3247
|
+
|
|
3268
3248
|
.line {
|
|
3269
3249
|
color: var(--font-color-sub1)
|
|
3270
3250
|
}
|
|
@@ -3287,7 +3267,6 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3287
3267
|
font-size: 0.7rem;
|
|
3288
3268
|
}
|
|
3289
3269
|
|
|
3290
|
-
|
|
3291
3270
|
@media only screen and (max-width: 1100px) {
|
|
3292
3271
|
.group-rank {
|
|
3293
3272
|
display: none;
|
|
@@ -3310,7 +3289,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3310
3289
|
}
|
|
3311
3290
|
}
|
|
3312
3291
|
|
|
3313
|
-
`,
|
|
3292
|
+
`,de=s.css`
|
|
3314
3293
|
sl-button::part(base){
|
|
3315
3294
|
border: 1px solid var(--primary-color);
|
|
3316
3295
|
border-radius: 0;
|
|
@@ -3320,7 +3299,25 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3320
3299
|
min-height: 20px;
|
|
3321
3300
|
margin-top: 5px;
|
|
3322
3301
|
}
|
|
3302
|
+
|
|
3303
|
+
sl-tooltip::part(base){
|
|
3304
|
+
font-family: var(--font-stack), monospace;
|
|
3305
|
+
font-size: 0.7rem;
|
|
3306
|
+
}
|
|
3307
|
+
|
|
3323
3308
|
|
|
3309
|
+
sl-tooltip::part(body){
|
|
3310
|
+
font-family: var(--font-stack), monospace;
|
|
3311
|
+
font-size: 0.9rem;
|
|
3312
|
+
background-color: var(--background-color);
|
|
3313
|
+
color: var(--font-color);
|
|
3314
|
+
border: 1px dashed var(--secondary-color);
|
|
3315
|
+
border-radius: 0;
|
|
3316
|
+
}
|
|
3317
|
+
sl-tooltip::part(base__arrow){
|
|
3318
|
+
background-color: var(--secondary-color);
|
|
3319
|
+
}
|
|
3320
|
+
|
|
3324
3321
|
sl-button::part(label){
|
|
3325
3322
|
|
|
3326
3323
|
}
|
|
@@ -3342,10 +3339,38 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3342
3339
|
color: var(--background-color);
|
|
3343
3340
|
}
|
|
3344
3341
|
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
|
|
3342
|
+
sl-switch::part(base) {
|
|
3343
|
+
font-family: var(--font-stack), monospace;
|
|
3344
|
+
font-size: 0.7rem;
|
|
3345
|
+
}
|
|
3346
|
+
|
|
3347
|
+
|
|
3348
|
+
sl-button.danger::part(base){
|
|
3349
|
+
border: 1px solid var(--error-color);
|
|
3350
|
+
border-radius: 0;
|
|
3351
|
+
font-family: var(--font-stack), monospace;
|
|
3352
|
+
background-color: var(--background-color);
|
|
3353
|
+
color: var(--error-color);
|
|
3354
|
+
min-height: 20px;
|
|
3355
|
+
margin-top: 5px;
|
|
3356
|
+
}
|
|
3357
|
+
|
|
3358
|
+
sl-button.danger::part(base):hover{
|
|
3359
|
+
font-family: var(--font-stack), monospace;
|
|
3360
|
+
background-color: var(--error-color);
|
|
3361
|
+
color: var(--background-color);
|
|
3362
|
+
}
|
|
3363
|
+
|
|
3364
|
+
sl-button.danger::part(base):active{
|
|
3365
|
+
border: 1px solid var(--warn-color);
|
|
3366
|
+
background-color: var(--warn-color);
|
|
3367
|
+
color: var(--background-color);
|
|
3368
|
+
}
|
|
3369
|
+
|
|
3370
|
+
`;var hs=Object.defineProperty,ps=Object.getOwnPropertyDescriptor,ge=(r,e,o,i)=>{for(var t=i>1?void 0:i?ps(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&hs(e,o,t),t};let j=class extends s.LitElement{constructor(){super()}viewRuleDocs(){this.dispatchEvent(new CustomEvent(Me,{bubbles:!0,composed:!0,detail:{type:$.RULE_DOCS,rule:this.groupName}}))}selectRule(){this.dispatchEvent(new CustomEvent(Ri,{bubbles:!0,composed:!0,detail:{rule:this.groupName}}))}selectLine(r){this.dispatchEvent(new CustomEvent(Oo,{bubbles:!0,composed:!0,detail:{problem:r,launchedFromProblems:!1}}))}render(){var i;const r=(i=this.problems)==null?void 0:i.slice(0,4);let e=s.html`
|
|
3371
|
+
<pb33f-percent-bar value="${this.violationPercent}"></pb33f-percent-bar>`,o="";return this.rank==1&&(e=s.html`
|
|
3372
|
+
<pb33f-percent-bar value="${this.violationPercent}"></pb33f-percent-bar>`),this.rank==2&&(e=s.html`
|
|
3373
|
+
<pb33f-percent-bar value="${this.violationPercent}"></pb33f-percent-bar>`),(!this.groupName||this.groupName==="")&&(this.groupName="invalid OpenAPI specification"),s.html`
|
|
3349
3374
|
<div class="problem-overview-group">
|
|
3350
3375
|
<div class="group-rank">
|
|
3351
3376
|
<span>${this.rank}</span>
|
|
@@ -3356,11 +3381,11 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3356
3381
|
</div>
|
|
3357
3382
|
<div class="violations">
|
|
3358
3383
|
|
|
3359
|
-
${r==null?void 0:r.map(t=>{var n
|
|
3384
|
+
${r==null?void 0:r.map(t=>{var A,n;return s.html`
|
|
3360
3385
|
<div class="violation">
|
|
3361
3386
|
<div class="line">
|
|
3362
3387
|
<a href="#" @click="${()=>this.selectLine(t)}">
|
|
3363
|
-
${(
|
|
3388
|
+
${(A=t==null?void 0:t.problemObject)==null?void 0:A.startLineNumber}:${(n=t==null?void 0:t.problemObject)==null?void 0:n.startColumn}</a>
|
|
3364
3389
|
</div>
|
|
3365
3390
|
</div>
|
|
3366
3391
|
`})}
|
|
@@ -3369,8 +3394,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3369
3394
|
<sl-button @click="${this.selectRule}">${this.totalViolations} ></sl-button>
|
|
3370
3395
|
<a href="#" @click="${this.selectRule}">View ${this.totalViolations} violations ></a>
|
|
3371
3396
|
</div>
|
|
3372
|
-
</div>`}};
|
|
3373
|
-
|
|
3397
|
+
</div>`}};j.styles=[q,de,gs],ge([a.property({type:Number})],j.prototype,"rank",2),ge([a.property({type:Number})],j.prototype,"totalViolations",2),ge([a.property()],j.prototype,"groupName",2),ge([a.property()],j.prototype,"description",2),ge([a.property()],j.prototype,"category",2),ge([a.property({type:Number})],j.prototype,"violationPercent",2),ge([a.property({type:U})],j.prototype,"problems",2),j=ge([a.customElement("pb33f-problem-overview-group")],j);const us=s.css`
|
|
3374
3398
|
h3.rule-violations {
|
|
3375
3399
|
border-top: 1px dashed var(--secondary-color);
|
|
3376
3400
|
margin-top: 0;
|
|
@@ -3382,12 +3406,10 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3382
3406
|
overflow-y: auto;
|
|
3383
3407
|
}
|
|
3384
3408
|
|
|
3385
|
-
|
|
3386
3409
|
pb33f-paginator-navigation::part(values) {
|
|
3387
3410
|
max-height: calc(100vh - 450px);
|
|
3388
3411
|
}
|
|
3389
3412
|
|
|
3390
|
-
|
|
3391
3413
|
.paginator::part(values) {
|
|
3392
3414
|
background-color: red;
|
|
3393
3415
|
|
|
@@ -3403,7 +3425,6 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3403
3425
|
font-size: 6rem;
|
|
3404
3426
|
text-align: center;
|
|
3405
3427
|
color: var(--error-color);
|
|
3406
|
-
|
|
3407
3428
|
}
|
|
3408
3429
|
|
|
3409
3430
|
.unavailable p {
|
|
@@ -3416,11 +3437,11 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3416
3437
|
color: var(--error-color);
|
|
3417
3438
|
}
|
|
3418
3439
|
|
|
3419
|
-
`;var
|
|
3440
|
+
`;var ms=Object.defineProperty,ws=Object.getOwnPropertyDescriptor,wo=(r,e,o,i)=>{for(var t=i>1?void 0:i?ws(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&ms(e,o,t),t};let he=class extends s.LitElement{constructor(){super(),this.problemList=[],this.problemStatistics=new Te,this.problemOverviewGroups=[],this.paginator=new G,this.paginator.label="Rules",this.unavailable=!1}willUpdate(){this.problemStatistics.drDiagnostics=this.statistics,this.problemStatistics.problems=this.problemList}buildProblemOverviewGroups(r){let e=new Map;for(let t=0;t<r.length;t++){let A=r[t],n=A.problemObject.source;if(e.has(n)){let c=e.get(n);c.totalViolations++,c.problems.push(A)}else{const c=new j;c.groupName=A.problemObject.source,c.totalViolations=1,c.problems=[A],e.set(n,c)}}let o=r.length;for(let t of e.values())t.violationPercent=Math.round(t.totalViolations/o*100);const i=Array.from(e.values());i.sort((t,A)=>A.totalViolations-t.totalViolations);for(let t=0;t<i.length;t++)i[t].rank=t+1;return i}set problems(r){this.problemList=r,this.problemOverviewGroups=this.buildProblemOverviewGroups(r),this.paginator.values=this.problemOverviewGroups,this.paginator.itemsPerPage=10}render(){var r,e,o;return this.unavailable?s.html`
|
|
3420
3441
|
<div class="overview-container unavailable">
|
|
3421
3442
|
<sl-icon name="sign-stop" class="stop"></sl-icon>
|
|
3422
3443
|
<p>The doctor is <strong>unavailable</strong>.</p>
|
|
3423
|
-
</div>`:
|
|
3444
|
+
</div>`:s.html`
|
|
3424
3445
|
<div class="overview-container">
|
|
3425
3446
|
${this.problemStatistics}
|
|
3426
3447
|
<pb33f-diagnostic-evaluation
|
|
@@ -3430,7 +3451,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3430
3451
|
></pb33f-diagnostic-evaluation>
|
|
3431
3452
|
<div class="paginator">${this.paginator}</div>
|
|
3432
3453
|
</div>
|
|
3433
|
-
`}};
|
|
3454
|
+
`}};he.styles=[us],wo([a.property({type:ne})],he.prototype,"problemList",2),wo([a.query("sl-resize-observer")],he.prototype,"resizeObserver",2),wo([a.property({type:ts})],he.prototype,"statistics",2),wo([a.property({type:Boolean})],he.prototype,"unavailable",2),he=wo([a.customElement("pb33f-problems-overview")],he);const bs=s.css`
|
|
3434
3455
|
.banner {
|
|
3435
3456
|
opacity: 0 ;
|
|
3436
3457
|
transition: all 0.5s;
|
|
@@ -3438,7 +3459,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3438
3459
|
position: absolute;
|
|
3439
3460
|
top: 0;
|
|
3440
3461
|
left: 0;
|
|
3441
|
-
z-index:
|
|
3462
|
+
z-index: 100;
|
|
3442
3463
|
width: 100%;
|
|
3443
3464
|
overflow: hidden;
|
|
3444
3465
|
}
|
|
@@ -3451,12 +3472,12 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3451
3472
|
}
|
|
3452
3473
|
|
|
3453
3474
|
|
|
3454
|
-
`;var
|
|
3475
|
+
`;var Bs=Object.defineProperty,Es=Object.getOwnPropertyDescriptor,Wo=(r,e,o,i)=>{for(var t=i>1?void 0:i?Es(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&Bs(e,o,t),t};let ke=class extends s.LitElement{constructor(){super(),this.errorTitle="Error",this.errorMessage="An error occurred",this.visible=!1}render(){return s.html`
|
|
3455
3476
|
<div class="banner ${this.visible?"visible":""}">
|
|
3456
3477
|
<pb33f-attention-box type="error" headerText="${this.errorTitle}">
|
|
3457
|
-
${
|
|
3478
|
+
${H(this.errorMessage)}
|
|
3458
3479
|
</pb33f-attention-box>
|
|
3459
|
-
</div>`}};
|
|
3480
|
+
</div>`}};ke.styles=[bs],Wo([a.property()],ke.prototype,"errorMessage",2),Wo([a.property()],ke.prototype,"errorTitle",2),Wo([a.property({type:Boolean})],ke.prototype,"visible",2),ke=Wo([a.customElement("pb33f-error-banner")],ke);const fs=s.css`
|
|
3460
3481
|
.status-bar {
|
|
3461
3482
|
position: absolute;
|
|
3462
3483
|
bottom: 0;
|
|
@@ -3501,7 +3522,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3501
3522
|
font-family: var(--font-stack-bold), monospace;
|
|
3502
3523
|
}
|
|
3503
3524
|
|
|
3504
|
-
`;var
|
|
3525
|
+
`;var xs=Object.defineProperty,vs=Object.getOwnPropertyDescriptor,Zo=(r,e,o,i)=>{for(var t=i>1?void 0:i?vs(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&xs(e,o,t),t};let Ie=class extends s.LitElement{constructor(){super(),this.visible=!1,this.callsRemaining=0}openDialog(){this.dialog.show()}closeDialog(){this.dialog.hide()}render(){if(this.visible){let r="",e="",o="",i="info-square";return this.callsRemaining>0&&this.callsRemaining<=10&&(r="warning",e="warning-icon",o="You are running low.",i="exclamation-triangle"),this.callsRemaining<=0&&(r="error",e="error-icon",o="You have run out of credit. Service disabled",i="exclamation-square"),s.html`
|
|
3505
3526
|
<div class="status-bar ${r}">
|
|
3506
3527
|
<sl-dialog label="Credit upgrade coming soon!" class="dialog-overview">
|
|
3507
3528
|
<p>To get more credit for the doctor, you will need to create an account. This feature is coming soon.</p>
|
|
@@ -3510,11 +3531,11 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3510
3531
|
</p>
|
|
3511
3532
|
<sl-button slot="footer" variant="primary" @click="${this.closeDialog}">Close</sl-button>
|
|
3512
3533
|
</sl-dialog>
|
|
3513
|
-
<sl-icon name="${
|
|
3534
|
+
<sl-icon name="${i}" class="${e}"></sl-icon>
|
|
3514
3535
|
<span class="status-text">Credits remaining: <strong>${this.callsRemaining}</strong></span> |
|
|
3515
3536
|
<span class="action-text">${o}</span>
|
|
3516
|
-
${this.callsRemaining<=0?
|
|
3517
|
-
</div>`}}};
|
|
3537
|
+
${this.callsRemaining<=0?s.html` | <a href="#" @click="${this.openDialog}"><strong>Get more credit</strong></a>`:""}
|
|
3538
|
+
</div>`}}};Ie.styles=[fs,Re,de],Zo([a.property({type:Boolean})],Ie.prototype,"visible",2),Zo([a.property({type:Number})],Ie.prototype,"callsRemaining",2),Zo([a.query("sl-dialog")],Ie.prototype,"dialog",2),Ie=Zo([a.customElement("pb33f-doctor-statusbar")],Ie);const At=class At{static async sendFeedback(e,o){return new Promise(async(i,t)=>{try{const n=await(await fetch(At.doctorEndpoint+"/feedback",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e,message:o})})).json();if(!n){t({details:"unable to send feedback"});return}if(n!=null&&n.type&&(n!=null&&n.title)&&(n!=null&&n.status)){t(n);return}i(n)}catch(A){t({details:"unable to send feedback: "+A})}})}};At.doctorEndpoint="https://doctor.pb33f.io";let $o=At;const Qs=s.css`
|
|
3518
3539
|
.feedback {
|
|
3519
3540
|
font-size: 0.9rem;
|
|
3520
3541
|
padding: 10px;
|
|
@@ -3542,14 +3563,14 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3542
3563
|
border-radius: 0;
|
|
3543
3564
|
font-size: 0.9rem;
|
|
3544
3565
|
}
|
|
3545
|
-
`;var
|
|
3566
|
+
`;var ys=Object.defineProperty,Ms=Object.getOwnPropertyDescriptor,bo=(r,e,o,i)=>{for(var t=i>1?void 0:i?Ms(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&ys(e,o,t),t};let pe=class extends s.LitElement{constructor(){super(),this.sent=!1}toggleButton(){this.sendButton.disabled=!(this.textArea.value.length>0&&this.textArea.value.trim()!=="")}send(){this.sendButton.loading=!0,$o.sendFeedback(this.emailInput.value,this.textArea.value).then(()=>{this.sendButton.loading=!1,this.sent=!0}).catch(r=>{console.error("unable to send feedback: ",r),this.sendButton.loading=!1})}render(){const r=s.html`
|
|
3546
3567
|
<hr/>
|
|
3547
3568
|
<h3>Sign up for updates</h3>
|
|
3548
3569
|
<p>
|
|
3549
3570
|
Want to know what's happening at <a href="https://pb33f.io">pb33f</a>? Join our mailing list
|
|
3550
3571
|
and stay up to date with the latest news and gossip.
|
|
3551
3572
|
</p>
|
|
3552
|
-
<pb33f-mailing-list></pb33f-mailing-list>`;return this.sent?
|
|
3573
|
+
<pb33f-mailing-list></pb33f-mailing-list>`;return this.sent?s.html`
|
|
3553
3574
|
<div class="feedback">
|
|
3554
3575
|
<pb33f-attention-box type="success" headerText="Feedback Sent!">
|
|
3555
3576
|
Thank you, it is most appreciated. Your thoughts have been delivered directly to
|
|
@@ -3557,7 +3578,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3557
3578
|
</pb33f-attention-box>
|
|
3558
3579
|
</div>
|
|
3559
3580
|
${r}
|
|
3560
|
-
`:
|
|
3581
|
+
`:s.html`
|
|
3561
3582
|
<div class="feedback">
|
|
3562
3583
|
<h2>Penny for your thoughts?</h2>
|
|
3563
3584
|
<p>
|
|
@@ -3577,212 +3598,1194 @@ Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An err
|
|
|
3577
3598
|
<sl-button @click="${this.send}" disabled>Send Feedback</sl-button>
|
|
3578
3599
|
${r}
|
|
3579
3600
|
</div>
|
|
3580
|
-
`}};
|
|
3601
|
+
`}};pe.styles=[de,Qs,q],bo([a.query("sl-textarea")],pe.prototype,"textArea",2),bo([a.query("sl-input")],pe.prototype,"emailInput",2),bo([a.query("sl-button")],pe.prototype,"sendButton",2),bo([a.state()],pe.prototype,"sent",2),pe=bo([a.customElement("pb33f-feedback")],pe);var Cs=Object.defineProperty,Ds=Object.getOwnPropertyDescriptor,_i=(r,e,o,i)=>{for(var t=i>1?void 0:i?Ds(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&Cs(e,o,t),t};let Ko=class extends s.LitElement{constructor(){super(),this.visible=!1}show(){this.visible||(this.visible=!0)}hide(){this.visible&&(this.visible=!1)}render(){return this.visible?s.html`
|
|
3581
3602
|
<sl-spinner style="font-size: 1rem;
|
|
3582
3603
|
--indicator-color: var(--primary-color);
|
|
3583
3604
|
--track-color: var(--secondary-color);"></sl-spinner>
|
|
3584
|
-
`:
|
|
3605
|
+
`:s.html``}};_i([a.state()],Ko.prototype,"visible",2),Ko=_i([a.customElement("pb33f-activity-spinner")],Ko);const ks=s.css`
|
|
3606
|
+
.ruleset {
|
|
3607
|
+
font-size: 0.9rem;
|
|
3608
|
+
margin-left: 5px;
|
|
3609
|
+
margin-right: 3px;
|
|
3610
|
+
}
|
|
3585
3611
|
|
|
3612
|
+
.ruleset-header {
|
|
3613
|
+
display: flex;
|
|
3614
|
+
padding-bottom: 10px;
|
|
3615
|
+
border-bottom: 1px dashed var(--secondary-color);
|
|
3616
|
+
}
|
|
3586
3617
|
|
|
3587
|
-
.
|
|
3588
|
-
|
|
3589
|
-
|
|
3590
|
-
|
|
3591
|
-
|
|
3592
|
-
|
|
3618
|
+
.ruleset-controls {
|
|
3619
|
+
flex-grow: 2;
|
|
3620
|
+
text-align: right;
|
|
3621
|
+
padding-top: 2px;
|
|
3593
3622
|
}
|
|
3594
3623
|
|
|
3595
|
-
|
|
3596
|
-
|
|
3597
|
-
width: 100%;
|
|
3598
|
-
height: 100%;
|
|
3599
|
-
min-width: 500px;
|
|
3600
|
-
min-height: 300px;
|
|
3601
|
-
position: relative;
|
|
3602
|
-
display: block;
|
|
3624
|
+
sl-icon {
|
|
3625
|
+
font-size: 1.2rem;
|
|
3603
3626
|
}
|
|
3604
3627
|
|
|
3605
|
-
|
|
3606
|
-
|
|
3607
|
-
|
|
3608
|
-
margin-
|
|
3609
|
-
|
|
3610
|
-
|
|
3611
|
-
|
|
3628
|
+
sl-icon-button {
|
|
3629
|
+
font-size: 1.2rem;
|
|
3630
|
+
color: var(--primary-color);
|
|
3631
|
+
margin-top: 22px;
|
|
3632
|
+
}
|
|
3633
|
+
|
|
3634
|
+
sl-icon-button#save-button {
|
|
3635
|
+
color: var(--warn-color);
|
|
3636
|
+
animation: pulse-animation 1.5s infinite;
|
|
3612
3637
|
}
|
|
3613
3638
|
|
|
3614
|
-
|
|
3639
|
+
@keyframes pulse-animation {
|
|
3640
|
+
0% {
|
|
3641
|
+
box-shadow: 0 0 0 0 var(--warn-color);
|
|
3642
|
+
}
|
|
3643
|
+
100% {
|
|
3644
|
+
box-shadow: 0 0 0 5px rgb(0, 0, 0, 0);
|
|
3645
|
+
}
|
|
3646
|
+
}
|
|
3647
|
+
|
|
3648
|
+
.ruleset-body {
|
|
3649
|
+
height: calc(100vh - 210px);
|
|
3650
|
+
overflow-y: auto;
|
|
3651
|
+
padding-right: 10px;
|
|
3652
|
+
}
|
|
3653
|
+
|
|
3654
|
+
.ruleset-body::-webkit-scrollbar {
|
|
3615
3655
|
width: 8px;
|
|
3616
3656
|
}
|
|
3617
3657
|
|
|
3618
|
-
.
|
|
3658
|
+
.ruleset-body::-webkit-scrollbar-track {
|
|
3619
3659
|
background-color: black;
|
|
3620
3660
|
}
|
|
3621
3661
|
|
|
3622
|
-
.
|
|
3662
|
+
.ruleset-body::-webkit-scrollbar-thumb {
|
|
3623
3663
|
box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
|
|
3624
3664
|
background: var(--secondary-color-lowalpha);
|
|
3625
3665
|
padding: var(--global-padding);
|
|
3626
3666
|
}
|
|
3627
3667
|
|
|
3668
|
+
.hidden {
|
|
3669
|
+
display: none;
|
|
3670
|
+
}
|
|
3628
3671
|
|
|
3629
|
-
|
|
3630
|
-
|
|
3631
|
-
|
|
3632
|
-
--divider-width: 2px;
|
|
3672
|
+
.toggle-allcheck {
|
|
3673
|
+
padding-top: 5px;
|
|
3674
|
+
padding-left: 2px;
|
|
3633
3675
|
}
|
|
3676
|
+
|
|
3634
3677
|
|
|
3635
|
-
|
|
3636
|
-
|
|
3637
|
-
|
|
3678
|
+
`,er=s.css`
|
|
3679
|
+
.rule {
|
|
3680
|
+
display: flex;
|
|
3681
|
+
margin: 10px 0 5px 0;
|
|
3638
3682
|
}
|
|
3639
|
-
|
|
3640
|
-
|
|
3641
|
-
|
|
3642
|
-
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
|
|
3646
|
-
padding: 0;
|
|
3647
|
-
width: 10px;
|
|
3648
|
-
height:40px;
|
|
3683
|
+
|
|
3684
|
+
.rule-docs {
|
|
3685
|
+
float: right;
|
|
3686
|
+
display: inline-block;
|
|
3687
|
+
padding-left: 10px;
|
|
3688
|
+
padding-top: 5px;
|
|
3689
|
+
font-size: 0.8rem;
|
|
3649
3690
|
}
|
|
3650
|
-
|
|
3651
|
-
|
|
3652
|
-
|
|
3691
|
+
|
|
3692
|
+
.error-message {
|
|
3693
|
+
font-size: 0.8rem;
|
|
3653
3694
|
}
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
|
-
|
|
3657
|
-
|
|
3695
|
+
|
|
3696
|
+
.check {
|
|
3697
|
+
width: 30px;
|
|
3698
|
+
padding-top: 5px;
|
|
3658
3699
|
}
|
|
3659
3700
|
|
|
3660
|
-
|
|
3661
|
-
|
|
3701
|
+
.details {
|
|
3702
|
+
display: block;
|
|
3703
|
+
width: calc(100% - 30px);
|
|
3662
3704
|
}
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3705
|
+
|
|
3706
|
+
form {
|
|
3707
|
+
display: block;
|
|
3666
3708
|
}
|
|
3667
3709
|
|
|
3668
|
-
.
|
|
3669
|
-
|
|
3670
|
-
|
|
3710
|
+
.rule-actions {
|
|
3711
|
+
display: grid;
|
|
3712
|
+
grid: auto / 70px 1fr;
|
|
3713
|
+
gap: 30px;
|
|
3714
|
+
margin-top: 20px;
|
|
3715
|
+
padding-top: 10px;
|
|
3716
|
+
border-top: 1px dashed var(--secondary-color-dimmer);
|
|
3671
3717
|
}
|
|
3672
3718
|
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3719
|
+
.rule-actions label {
|
|
3720
|
+
text-align: right;
|
|
3721
|
+
font-size: 0.8rem;
|
|
3677
3722
|
}
|
|
3678
|
-
|
|
3679
|
-
.
|
|
3680
|
-
|
|
3681
|
-
font-size: 0.9rem;
|
|
3723
|
+
|
|
3724
|
+
.label-on-left::part(form-control-help-text) {
|
|
3725
|
+
grid-column-start: 2;
|
|
3682
3726
|
}
|
|
3683
3727
|
|
|
3684
|
-
.
|
|
3685
|
-
|
|
3686
|
-
transition: all 0.5s;
|
|
3728
|
+
.actions {
|
|
3729
|
+
width: 100%;
|
|
3687
3730
|
}
|
|
3688
3731
|
|
|
3689
|
-
|
|
3690
|
-
|
|
3732
|
+
sl-details::part(base) {
|
|
3733
|
+
font-size: 0.9rem;
|
|
3734
|
+
border-radius: 0;
|
|
3735
|
+
background-color: var(--background-color);
|
|
3736
|
+
padding: 0 0 0 10px;
|
|
3691
3737
|
}
|
|
3692
|
-
|
|
3693
|
-
|
|
3694
|
-
|
|
3695
|
-
|
|
3696
|
-
|
|
3697
|
-
position: absolute;
|
|
3698
|
-
top: 0;
|
|
3699
|
-
left: 0;
|
|
3700
|
-
pointer-events: auto;
|
|
3701
|
-
cursor: not-allowed;
|
|
3702
|
-
z-index: 100;
|
|
3703
|
-
//backdrop-filter: blur(2px);
|
|
3738
|
+
|
|
3739
|
+
sl-details::part(header) {
|
|
3740
|
+
font-size: 0.9rem;
|
|
3741
|
+
padding: 5px;
|
|
3742
|
+
font-family: var(--font-stack-bold), monospace;
|
|
3704
3743
|
}
|
|
3705
|
-
|
|
3706
|
-
.
|
|
3744
|
+
|
|
3745
|
+
sl-details.error-rule::part(base) {
|
|
3707
3746
|
font-size: 0.9rem;
|
|
3708
|
-
|
|
3709
|
-
|
|
3747
|
+
border-radius: 0;
|
|
3748
|
+
background-color: var(--background-color);
|
|
3749
|
+
border: 1px solid var(--error-color);
|
|
3750
|
+
padding: 0 0 0 10px;
|
|
3710
3751
|
}
|
|
3711
3752
|
|
|
3712
|
-
|
|
3713
|
-
|
|
3753
|
+
.error-col {
|
|
3754
|
+
margin-right: 10px;
|
|
3755
|
+
font-size: 1.2rem;
|
|
3756
|
+
padding-top: 5px;
|
|
3714
3757
|
}
|
|
3715
3758
|
|
|
3716
|
-
sl-
|
|
3717
|
-
color: var(--
|
|
3718
|
-
text-decoration: none;
|
|
3759
|
+
sl-details.error::part(body) {
|
|
3760
|
+
color: var(--font-color);
|
|
3719
3761
|
}
|
|
3720
|
-
|
|
3721
|
-
|
|
3762
|
+
h4 {
|
|
3763
|
+
margin-top: 0;
|
|
3764
|
+
padding-top: 0;
|
|
3765
|
+
}
|
|
3766
|
+
|
|
3767
|
+
.error-box {
|
|
3768
|
+
border: 1px dashed var(--error-color);
|
|
3769
|
+
padding: 10px;
|
|
3770
|
+
margin-bottom: 20px;
|
|
3771
|
+
}
|
|
3772
|
+
|
|
3773
|
+
.warning {
|
|
3774
|
+
color: var(--warn-color);
|
|
3722
3775
|
}
|
|
3723
|
-
|
|
3776
|
+
|
|
3777
|
+
.info {
|
|
3724
3778
|
color: var(--primary-color);
|
|
3725
|
-
text-decoration: underline;
|
|
3726
3779
|
}
|
|
3727
3780
|
|
|
3728
|
-
|
|
3781
|
+
.error {
|
|
3729
3782
|
color: var(--error-color);
|
|
3730
|
-
text-decoration: underline;
|
|
3731
3783
|
}
|
|
3732
3784
|
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
top: 0;
|
|
3736
|
-
right: 0;
|
|
3737
|
-
|
|
3785
|
+
.actions sl-button {
|
|
3786
|
+
float: right;
|
|
3738
3787
|
}
|
|
3739
3788
|
|
|
3789
|
+
.hidden {
|
|
3790
|
+
display: none;
|
|
3791
|
+
}
|
|
3740
3792
|
|
|
3793
|
+
`,qo=s.css`
|
|
3741
3794
|
|
|
3742
|
-
|
|
3743
|
-
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
3795
|
+
.label-on-left {
|
|
3796
|
+
--label-width: 3.75rem;
|
|
3797
|
+
--gap-width: 1rem;
|
|
3798
|
+
}
|
|
3799
|
+
.label-on-left + .label-on-left {
|
|
3800
|
+
margin-top: 15px;
|
|
3801
|
+
}
|
|
3802
|
+
|
|
3803
|
+
.checkbox-label {
|
|
3804
|
+
width: 95px;
|
|
3805
|
+
display: inline-block;
|
|
3806
|
+
text-align: center;
|
|
3807
|
+
font-size: 0.8rem;
|
|
3808
|
+
}
|
|
3809
|
+
|
|
3810
|
+
.checkbox {
|
|
3811
|
+
margin: 15px 0 15px 0 ;
|
|
3812
|
+
}
|
|
3813
|
+
|
|
3814
|
+
sl-checkbox {
|
|
3815
|
+
margin-right: 10px;
|
|
3816
|
+
}
|
|
3817
|
+
|
|
3818
|
+
sl-checkbox::part(control) {
|
|
3819
|
+
border-radius: 0;
|
|
3820
|
+
}
|
|
3821
|
+
|
|
3822
|
+
sl-checkbox::part(label) {
|
|
3823
|
+
font-family: var(--font-stack), monospace;
|
|
3824
|
+
font-size: 0.8rem;
|
|
3825
|
+
}
|
|
3826
|
+
|
|
3827
|
+
.label-on-left::part(form-control) {
|
|
3828
|
+
display: grid;
|
|
3829
|
+
grid: auto / 70px 1fr;
|
|
3830
|
+
gap: var(--sl-spacing-3x-small) 30px;
|
|
3831
|
+
align-items: center;
|
|
3832
|
+
}
|
|
3833
|
+
|
|
3834
|
+
.label-on-left::part(form-control-label) {
|
|
3835
|
+
text-align: right;
|
|
3836
|
+
}
|
|
3837
|
+
|
|
3838
|
+
.label-on-left::part(form-control-help-text) {
|
|
3839
|
+
grid-column-start: 2;
|
|
3840
|
+
}
|
|
3841
|
+
|
|
3842
|
+
sl-input::part(form-control-label) {
|
|
3843
|
+
font-family: var(--font-stack), monospace;
|
|
3844
|
+
font-size: 0.8rem;
|
|
3845
|
+
}
|
|
3846
|
+
|
|
3847
|
+
sl-input::part(base) {
|
|
3848
|
+
border-radius: 0;
|
|
3849
|
+
font-family: var(--font-stack), monospace;
|
|
3850
|
+
font-size: 0.8rem;
|
|
3851
|
+
}
|
|
3852
|
+
|
|
3853
|
+
sl-textarea::part(base) {
|
|
3854
|
+
border-radius: 0;
|
|
3855
|
+
font-family: var(--font-stack), monospace;
|
|
3856
|
+
font-size: 0.8rem;
|
|
3857
|
+
}
|
|
3858
|
+
|
|
3859
|
+
sl-textarea::part(form-control-label) {
|
|
3860
|
+
font-family: var(--font-stack), monospace;
|
|
3861
|
+
font-size: 0.8rem;
|
|
3862
|
+
}
|
|
3863
|
+
|
|
3864
|
+
sl-select::part(form-control-label) {
|
|
3865
|
+
font-family: var(--font-stack), monospace;
|
|
3866
|
+
font-size: 0.8rem;
|
|
3867
|
+
}
|
|
3868
|
+
|
|
3869
|
+
sl-select::part(form-control) {
|
|
3870
|
+
border-radius: 0;
|
|
3871
|
+
}
|
|
3872
|
+
|
|
3873
|
+
sl-select::part(combobox) {
|
|
3874
|
+
border-radius: 0;
|
|
3875
|
+
}
|
|
3876
|
+
|
|
3877
|
+
sl-select::part(display-input) {
|
|
3878
|
+
font-family: var(--font-stack), monospace;
|
|
3879
|
+
font-size: 0.8rem;
|
|
3880
|
+
}
|
|
3881
|
+
|
|
3882
|
+
sl-option {
|
|
3883
|
+
--sl-color-primary-600: var(--primary-color);
|
|
3884
|
+
}
|
|
3885
|
+
|
|
3886
|
+
sl-option::part(label) {
|
|
3887
|
+
font-family: var(--font-stack), monospace;
|
|
3888
|
+
font-size: 0.8rem;
|
|
3889
|
+
}
|
|
3890
|
+
|
|
3891
|
+
|
|
3892
|
+
sl-select::part(base) {
|
|
3893
|
+
font-family: var(--font-stack), monospace;
|
|
3894
|
+
}
|
|
3895
|
+
|
|
3896
|
+
sl-select::part(listbox) {
|
|
3897
|
+
font-family: var(--font-stack), monospace;
|
|
3898
|
+
}
|
|
3899
|
+
sl-radio-group::part(label) {
|
|
3900
|
+
font-family: var(--font-stack), monospace;
|
|
3901
|
+
font-size: 0.8rem;
|
|
3902
|
+
}
|
|
3903
|
+
|
|
3904
|
+
sl-radio-group::part(form-control-label) {
|
|
3905
|
+
font-family: var(--font-stack), monospace;
|
|
3906
|
+
font-size: 0.8rem;
|
|
3907
|
+
}
|
|
3908
|
+
sl-radio::part(base) {
|
|
3909
|
+
font-family: var(--font-stack), monospace;
|
|
3910
|
+
font-size: 0.8rem;
|
|
3911
|
+
}
|
|
3912
|
+
|
|
3913
|
+
|
|
3914
|
+
`,Is=s.css`
|
|
3915
|
+
|
|
3916
|
+
sl-input {
|
|
3917
|
+
margin-bottom: 10px;
|
|
3918
|
+
}
|
|
3919
|
+
|
|
3920
|
+
sl-select {
|
|
3921
|
+
margin-bottom: 10px;
|
|
3922
|
+
flex-grow: 2;
|
|
3923
|
+
}
|
|
3924
|
+
sl-button {
|
|
3925
|
+
font-size: 1.2rem;
|
|
3926
|
+
margin-bottom: 10px;
|
|
3927
|
+
margin-top: 10px;
|
|
3928
|
+
}
|
|
3929
|
+
|
|
3930
|
+
.function-input {
|
|
3931
|
+
display: flex;
|
|
3932
|
+
|
|
3933
|
+
}
|
|
3934
|
+
|
|
3935
|
+
.function-docs {
|
|
3936
|
+
display: inline-block;
|
|
3937
|
+
padding-left: 10px;
|
|
3938
|
+
padding-top: 25px;
|
|
3939
|
+
font-size: 0.8rem;
|
|
3940
|
+
}
|
|
3941
|
+
|
|
3942
|
+
sl-select.error::part(form-control-label) {
|
|
3943
|
+
color: var(--error-color);
|
|
3944
|
+
}
|
|
3945
|
+
|
|
3946
|
+
sl-select.error::part(combobox) {
|
|
3947
|
+
color: var(--error-color);
|
|
3948
|
+
border: 1px solid var(--error-color);
|
|
3949
|
+
}
|
|
3950
|
+
|
|
3951
|
+
.function-options {
|
|
3952
|
+
|
|
3953
|
+
}
|
|
3954
|
+
|
|
3955
|
+
.description {
|
|
3956
|
+
font-size: 0.7rem;
|
|
3957
|
+
}
|
|
3958
|
+
|
|
3959
|
+
sl-button.danger {
|
|
3960
|
+
font-size: 1.2rem;
|
|
3961
|
+
float: right;
|
|
3962
|
+
margin-bottom: 15px;
|
|
3963
|
+
}
|
|
3964
|
+
|
|
3965
|
+
hr {
|
|
3966
|
+
clear: right;
|
|
3967
|
+
}
|
|
3968
|
+
`,Fs=s.css`
|
|
3969
|
+
|
|
3970
|
+
.option {
|
|
3971
|
+
display: flex;
|
|
3972
|
+
flex-flow: row wrap;
|
|
3973
|
+
justify-content: flex-start;
|
|
3974
|
+
align-items: center;
|
|
3975
|
+
padding-bottom: 20px;
|
|
3976
|
+
border-bottom: 1px dashed var(--secondary-color-dimmer);
|
|
3977
|
+
}
|
|
3978
|
+
sl-input {
|
|
3979
|
+
margin-right: 20px;
|
|
3980
|
+
}
|
|
3981
|
+
|
|
3982
|
+
sl-icon-button {
|
|
3983
|
+
margin-top: 25px;
|
|
3984
|
+
font-size: 1.2rem;
|
|
3985
|
+
}
|
|
3986
|
+
|
|
3987
|
+
sl-textarea {
|
|
3988
|
+
width: 100%;
|
|
3989
|
+
}
|
|
3990
|
+
|
|
3991
|
+
sl-input::part(form-control-label) {
|
|
3992
|
+
margin-top: 10px;
|
|
3993
|
+
}
|
|
3994
|
+
|
|
3995
|
+
sl-textarea::part(form-control-label) {
|
|
3996
|
+
margin-top: 10px;
|
|
3997
|
+
}
|
|
3998
|
+
|
|
3999
|
+
p.description {
|
|
4000
|
+
flex-basis:100%;
|
|
4001
|
+
font-size: 0.8rem;
|
|
4002
|
+
color: var(--font-color-sub2);
|
|
4003
|
+
}
|
|
4004
|
+
`;var zs=Object.defineProperty,Ns=Object.getOwnPropertyDescriptor,je=(r,e,o,i)=>{for(var t=i>1?void 0:i?Ns(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&zs(e,o,t),t};let oe=class extends s.LitElement{constructor(r,e,o,i,t,A=!0){super(),this.key=r,this.rule=i,this.value=e,this.action=t,this.removeable=A,this.description=o}removeSelf(){this.action.functionOptions&&this.action.functionOptions instanceof Map?this.action.functionOptions.delete(this.key):this.action.functionOptions&&delete this.action.functionOptions[this.key],this.dirty(),this.dispatchEvent(new CustomEvent(Si,{bubbles:!0,composed:!0,detail:{action:this.action,key:this.keyInput.value,value:this.keyValue.value}})),this.remove()}dirty(){this.keyInput&&(this.key=this.keyInput.value),this.keyValue&&(this.value=this.keyValue.value),this.action.functionOptions&&this.action.functionOptions instanceof Map?this.action.functionOptions.set(this.key,this.value):(this.action.functionOptions||(this.action.functionOptions={}),this.action.functionOptions=new Map(Object.entries(this.action.functionOptions)),this.action.functionOptions.set(this.key,this.value)),this.dispatchEvent(new CustomEvent(Ae,{bubbles:!0,composed:!0,detail:{rule:this.rule}}))}render(){let r=s.html`<sl-input id="value" size="small" label="Value" placeholder="Value" value="${this.value}"
|
|
4005
|
+
@keydown="${this.dirty}" @sl-change="${this.dirty}"></sl-input>`;if(typeof this.value=="object"||this.key==="schema"){let o;typeof this.value=="object"?o=JSON.stringify(this.value,null,2):o=this.value,(o==='""'||o==="")&&(o="{}"),r=s.html`<sl-textarea @keydown="${this.dirty}" id="value" resize="auto" size="small" label="Value" placeholder="Value" value=${o} @sl-change="${this.dirty}"></sl-textarea>`}let e=s.html`<sl-icon-button name="trash3" label="Remove" @click="${this.removeSelf}"></sl-icon-button>`;return this.removeable||(e=s.html``),s.html`
|
|
4006
|
+
<section class="option">
|
|
4007
|
+
<sl-input size="small" label="Key" id="key" placeholder="Key" value="${this.key}" @sl-change="${this.dirty}"></sl-input>
|
|
4008
|
+
${r}
|
|
4009
|
+
${e}
|
|
4010
|
+
${this.description.length>0?s.html`<p class="description">${this.description}</p>`:s.html``}
|
|
4011
|
+
</section>
|
|
4012
|
+
`}};oe.styles=[Fs,qo],je([a.property()],oe.prototype,"key",2),je([a.property()],oe.prototype,"value",2),je([a.query("#key")],oe.prototype,"keyInput",2),je([a.query("#value")],oe.prototype,"keyValue",2),je([a.property({type:Boolean})],oe.prototype,"removeable",2),oe=je([a.customElement("pb33f-function-option")],oe);const or=s.css`
|
|
4013
|
+
sl-dialog {
|
|
4014
|
+
--width: 50vw
|
|
4015
|
+
}
|
|
4016
|
+
sl-dialog::part(panel) {
|
|
4017
|
+
border: 1px dashed var(--secondary-color);
|
|
4018
|
+
border-radius: 0;
|
|
4019
|
+
}
|
|
4020
|
+
|
|
4021
|
+
`;var Us=Object.defineProperty,Rs=Object.getOwnPropertyDescriptor,Fe=(r,e,o,i)=>{for(var t=i>1?void 0:i?Rs(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&Us(e,o,t),t};let L=class extends s.LitElement{constructor(r,e){var o,i;super(),this.ruleAction=r,this.ruleComponent=e,this.bagManager=qi(!0),this.FunctionsBag=this.bagManager.getBag(Eo),this.FunctionsSchemaBag=this.bagManager.getBag(fo),this.functions=((o=this.FunctionsBag)==null?void 0:o.get(Eo))||[],this.functionSchemas=((i=this.FunctionsSchemaBag)==null?void 0:i.get(fo))||new Map,this.buildFunctionOptions()}buildFunctionOptions(){var r,e,o,i,t,A,n,c,l,d;if(this.functionOptions=[],this.ruleFunctionSchema=this.functionSchemas.get((r=this.ruleAction)==null?void 0:r.function),this.ruleAction||(this.ruleAction={field:"",function:"",functionOptions:{}},this.ruleComponent.rule.then=this.ruleAction),(e=this.ruleAction)!=null&&e.functionOptions&&((o=this.ruleAction)==null?void 0:o.functionOptions.size)>0){let g=0;this.ruleAction.functionOptions.forEach((p,h)=>{var R,Ve,Qo;let u="",E=!1;(R=this.ruleFunctionSchema)!=null&&R.properties&&this.ruleFunctionSchema.properties.forEach(yo=>{yo.name==h&&(u=yo.description||"",E=!0)});let M=!0;(Ve=this.ruleFunctionSchema)!=null&&Ve.required&&((Qo=this.ruleFunctionSchema)!=null&&Qo.required.includes(h))&&(M=!1),E&&(g++,this.addFunctionOption(h,p,u,M,!1))}),g<=0&&((i=this.ruleFunctionSchema)!=null&&i.properties?this.ruleFunctionSchema.properties.forEach(p=>{var h;(h=this.ruleFunctionSchema)!=null&&h.required&&this.ruleFunctionSchema.required.includes(p.name)&&this.addFunctionOption(p.name,"",p.description,!1,!1)}):this.functionOptions=[])}else if((t=this.ruleAction)!=null&&t.functionOptions){let g=0;for(const p in this.ruleAction.functionOptions){g++;let h="";if((A=this.ruleFunctionSchema)!=null&&A.properties&&this.ruleFunctionSchema.properties.forEach(u=>{u.name==p&&(h=u.description||"")}),(n=this.ruleFunctionSchema)!=null&&n.properties&&this.ruleFunctionSchema.properties.filter(E=>E.name==p)[0]){let E=!0;this.ruleFunctionSchema.required&&this.ruleFunctionSchema.required.includes(p)&&(E=!1),this.addFunctionOption(p,this.ruleAction.functionOptions[p],h,E,!1)}}g<=0&&((c=this.ruleFunctionSchema)!=null&&c.properties?this.ruleFunctionSchema.properties.forEach(p=>{var h;(h=this.ruleFunctionSchema)!=null&&h.required&&this.ruleFunctionSchema.required.includes(p.name)&&this.addFunctionOption(p.name,"",p.description,!1,!1)}):(this.functionOptions=[],this.requestUpdate()))}else this.ruleAction&&(this.ruleAction.functionOptions={});(l=this.ruleFunctionSchema)!=null&&l.minProperties&&this.functionOptions.length<=((d=this.ruleFunctionSchema)==null?void 0:d.minProperties)&&this.functionOptions.forEach(g=>{g.removeable=!1}),this.requestUpdate()}changeField(){this.fieldInput&&(this.ruleAction.field=this.fieldInput.value),this.dirty()}changeFunction(){this.fieldInput&&(this.ruleAction.function=this.fieldFunction.value),this.buildFunctionOptions(),this.dirty()}dirty(){this.dispatchEvent(new CustomEvent(Ae,{bubbles:!0,composed:!0,detail:{rule:this.ruleComponent}}))}functionOptionRemoved(r){var e;if(Array.isArray(this.ruleComponent.rule.then)){const o=this.ruleComponent.rule.then.filter(i=>i==this.ruleAction)[0];o.functionOptions&&o.functionOptions instanceof Map?(o.functionOptions.delete(r.detail.key),this.functionOptions=this.functionOptions.filter(i=>i.key!=r.detail.key)):o.functionOptions&&(delete o.functionOptions[r.detail.key],this.functionOptions=this.functionOptions.filter(i=>i.key!=r.detail.key))}else for(const o in this.ruleComponent.rule.then)o==="functionOptions"&&(this.ruleComponent.rule.then.functionOptions&&this.ruleComponent.rule.then.functionOptions instanceof Map?(this.ruleComponent.rule.then.functionOptions.delete(r.detail.key),this.functionOptions=this.functionOptions.filter(i=>i.key!=r.detail.key)):this.ruleComponent.rule.then.functionOptions&&(delete this.ruleComponent.rule.then.functionOptions[r.detail.key],this.functionOptions=this.functionOptions.filter(i=>i.key!=r.detail.key)));(e=this.ruleFunctionSchema)!=null&&e.minProperties&&this.functionOptions.length-1<this.ruleFunctionSchema.minProperties&&this.functionOptions.forEach(o=>{o.removeable=!1}),this.dirty(),this.requestUpdate()}viewFunctionDocs(){this.dispatchEvent(new CustomEvent(Me,{bubbles:!0,composed:!0,detail:{type:$.FUNCTION_DOCS,rule:this.ruleAction.function=this.fieldFunction.value}}))}addFunctionOption(r="",e="",o="",i=!0,t=!0){const A=new oe(r,e,o,this.ruleComponent,this.ruleAction,i);A.addEventListener(Si,this.functionOptionRemoved.bind(this)),A.addEventListener(ZA,this.dirty),this.functionOptions.push(A),t&&this.dirty(),this.requestUpdate()}removeSelf(){this.ruleComponent.rule&&this.ruleComponent.rule.then&&(Array.isArray(this.ruleComponent.rule.then)?this.ruleComponent.rule.then=this.ruleComponent.rule.then.filter(r=>r.function!==this.ruleAction.function):delete this.ruleComponent.rule.then,this.remove()),this.dirty()}closeFunctionOption(){this.addFunctionOptionDialog.hide()}openFunctionOptionDialog(){this.addFunctionOptionDialog.show()}addFunctionOptionProperty(r,e=""){var o;(o=this.ruleFunctionSchema)!=null&&o.minProperties&&this.functionOptions.length+1>=this.ruleFunctionSchema.minProperties?(this.functionOptions.forEach(i=>{i.removeable=!0}),this.addFunctionOption(r,"",e,!0)):this.addFunctionOption(r,"",e,!1),this.addFunctionOptionDialog.hide(),this.dirty(),this.requestUpdate()}render(){var e,o,i,t,A;let r=s.html``;return this.ruleFunctionSchema&&this.ruleFunctionSchema.properties&&this.ruleFunctionSchema.properties.length>0&&this.functionOptions.length<this.ruleFunctionSchema.properties.length&&(r=s.html`
|
|
4022
|
+
<sl-button @click=${this.openFunctionOptionDialog} variant="primary" size="small"
|
|
4023
|
+
class="add-function-option">
|
|
4024
|
+
<sl-icon slot="prefix" name="plus-square"></sl-icon>
|
|
4025
|
+
Add Function Option
|
|
4026
|
+
</sl-button>
|
|
4027
|
+
`),s.html`
|
|
4028
|
+
<sl-dialog id="add-function-option" label="Add Function Option" class="dialog-overview"
|
|
4029
|
+
style="--width: 50vw">
|
|
4030
|
+
<h3>${this.ruleComponent.rule.id}</h3>
|
|
4031
|
+
<p>This function <em>(${(e=this.ruleAction)==null?void 0:e.function})</em> accepts the following properties</p>
|
|
4032
|
+
<hr/>
|
|
4033
|
+
<ul>
|
|
4034
|
+
${(i=(o=this.ruleFunctionSchema)==null?void 0:o.properties)==null?void 0:i.map(n=>{let c=!1;return this.functionOptions.forEach(l=>{l.key==n.name&&(c=!0)}),c?s.html`
|
|
4035
|
+
<li><span style="color: var(--font-color-sub1)">${n.name}</span> (already used)</li>`:s.html`
|
|
4036
|
+
<li>
|
|
4037
|
+
<sl-button @click=${()=>{this.addFunctionOptionProperty(n.name,n.description)}} variant="primary" size="small"
|
|
4038
|
+
class="add-function-option">
|
|
4039
|
+
Add
|
|
4040
|
+
</sl-button>
|
|
4041
|
+
<strong>${n.name}</strong> <span class="description">(${n.description?s.html`${n.description})`:""}</span>
|
|
4042
|
+
</li>`})}
|
|
4043
|
+
</ul>
|
|
4044
|
+
<sl-button @click=${this.closeFunctionOption} slot="footer" variant="primary" style="float: left">Close
|
|
4045
|
+
</sl-button>
|
|
4046
|
+
</sl-dialog>
|
|
4047
|
+
|
|
4048
|
+
<sl-input size="small" label="Field" id="field"
|
|
4049
|
+
help-text="The field value of the nodes located by the JSON Path (can be blank if the JSON path is absolute)"
|
|
4050
|
+
value="${(t=this.ruleAction)==null?void 0:t.field}" @sl-change="${this.changeField}"></sl-input>
|
|
4051
|
+
|
|
4052
|
+
<div class="function-input">
|
|
4053
|
+
<sl-select class="${this.error?"error":""}" label="Function" size="small" id="function"
|
|
4054
|
+
help-text="The function to run on the field" value="${(A=this.ruleAction)==null?void 0:A.function}"
|
|
4055
|
+
@sl-change="${this.changeFunction}">
|
|
4056
|
+
${this.functions.map(n=>s.html`
|
|
4057
|
+
<sl-option value="${n}">${n}</sl-option>`)}
|
|
4058
|
+
</sl-select>
|
|
4059
|
+
<a href="#" @click="${this.viewFunctionDocs}" class="function-docs">view docs</a>
|
|
4060
|
+
</div>
|
|
4061
|
+
|
|
4062
|
+
<div class="function-options">
|
|
4063
|
+
${r}
|
|
4064
|
+
${this.functionOptions}
|
|
4065
|
+
<sl-button variant="default" size="small" class="danger"
|
|
4066
|
+
@click=${this.removeSelf}>
|
|
4067
|
+
<sl-icon slot="prefix" name="x-square"></sl-icon>
|
|
4068
|
+
Delete Action
|
|
4069
|
+
</sl-button>
|
|
4070
|
+
</div>
|
|
4071
|
+
<hr/>
|
|
4072
|
+
`}};L.styles=[or,q,Yt,Re,de,Is,qo],Fe([a.query("sl-input#field")],L.prototype,"fieldInput",2),Fe([a.query("sl-select#function")],L.prototype,"fieldFunction",2),Fe([a.query("sl-dialog#add-function-option")],L.prototype,"addFunctionOptionDialog",2),Fe([a.property({type:Boolean})],L.prototype,"error",2),Fe([a.property()],L.prototype,"ruleErrorFunction",2),Fe([a.property()],L.prototype,"ruleErrorFunctionOption",2),L=Fe([a.customElement("pb33f-rule-action")],L);var Ss=Object.defineProperty,Ys=Object.getOwnPropertyDescriptor,F=(r,e,o,i)=>{for(var t=i>1?void 0:i?Ys(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&Ss(e,o,t),t};let Q=class extends s.LitElement{constructor(r,e,o){super(),this.rule=r,this.parent=e,this.custom=o,this.ruleErrorFunction=[],this.ruleErrorFunctionOption=[];let i=[];if(this.rule&&Array.isArray(this.rule.then))this.rule.then.forEach(t=>{const A=new L(t,this.parent);A.addEventListener(Ae,()=>{this.dirty()}),i.push(A)});else{const t=new L(this.rule.then,this.parent);i.push(t),t.addEventListener(Ae,()=>{this.dirty()})}this.actions=i}showRuleDocs(r){this.dispatchEvent(new CustomEvent(Me,{bubbles:!0,composed:!0,detail:{type:$.RULE_DOCS,rule:r}}))}updateName(){this.rule.id=this.name.value,this.dispatchEvent(new CustomEvent(Yi,{bubbles:!0,composed:!0,detail:{name:this.rule.id}})),this.dirty()}updateDescription(){this.rule.description=this.description.value,this.dirty()}updateMessage(){this.rule.message=this.message.value,this.dirty()}updateJsonPath(){this.rule.given=this.jsonPath.value,this.dirty()}updateResolved(){this.rule.resolved=this.resolved.checked,this.dirty()}checkFormat(r){return this.rule.formats?this.rule.formats.includes(r):!1}addRuleAction(){const r={field:"",function:"",functionOptions:new Map},e=new L(r,this.parent);this.actions.push(e),this.rule&&this.rule.then?Array.isArray(this.rule.then)?this.rule.then.push(r):this.rule.then=[this.rule.then,r]:this.rule.then=[r],this.dirty(),this.requestUpdate()}dirty(){this.dispatchEvent(new CustomEvent(Ae,{bubbles:!0,composed:!0,detail:{rule:this.parent}}))}updateSeverity(){this.rule.severity=this.severity.value,this.dirty()}updateCategory(){this.rule.category={id:this.category.value,name:this.category.value},this.dirty()}updateFormats(){let r=[];this.oas2Check.checked&&r.push("oas2"),this.oas3Check.checked&&r.push("oas3"),this.oas31Check.checked&&r.push("oas3_1"),this.rule.formats=r,this.dirty()}render(){var e;let r=this.rule.message;if(r==null&&(r=this.rule.description),!this.rule)return s.html``;if(this.error){let o=0;this.actions.forEach(i=>{var t;this.ruleErrorFunction&&((t=i.ruleAction)==null?void 0:t.function)===this.ruleErrorFunction[o]?(i.error=!0,i.ruleErrorFunction=this.ruleErrorFunctionOption[o],this.ruleErrorFunctionOption&&(i.ruleErrorFunctionOption=this.ruleErrorFunctionOption[o])):(i.error=!1,i.ruleErrorFunction="",i.ruleErrorFunctionOption=""),o++})}else this.actions.forEach(o=>{o.error=!1,o.ruleErrorFunction="",o.ruleErrorFunctionOption=""});return s.html`
|
|
4073
|
+
<a href="#" class="rule-docs" @click="${()=>{this.showRuleDocs(this.rule.id)}}">view docs</a>
|
|
4074
|
+
<sl-input @sl-change=${this.updateName} id="name" ?disabled="${!this.custom}" size="small"
|
|
4075
|
+
class="label-on-left" label="ID"
|
|
4076
|
+
value="${this.rule.id}"></sl-input>
|
|
4077
|
+
<sl-textarea id="description" @sl-change="${this.updateDescription}" size="small" class="label-on-left"
|
|
4078
|
+
label="Description" help-text="What does this rule do"
|
|
4079
|
+
value="${this.rule.description}"></sl-textarea>
|
|
4080
|
+
<sl-textarea id="message" @sl-change="${this.updateMessage}" size="small" class="label-on-left"
|
|
4081
|
+
label="Message"
|
|
4082
|
+
help-text="What should the doctor say when this rule is violated?"
|
|
4083
|
+
value="${r}"></sl-textarea>
|
|
4084
|
+
<sl-input id="json-path" @sl-change="${this.updateJsonPath}" size="small" class="label-on-left"
|
|
4085
|
+
label="JSON Path"
|
|
4086
|
+
help-text="JSON Path expression to locate items" value="${this.rule.given}"></sl-input>
|
|
4087
|
+
|
|
4088
|
+
<section class="checkbox">
|
|
4089
|
+
<label class="checkbox-label">Version</label>
|
|
4090
|
+
<sl-checkbox id="oas2" size="small" ?checked=${this.checkFormat("oas2")}
|
|
4091
|
+
@sl-change="${this.updateFormats}">Swagger (2.0)
|
|
4092
|
+
</sl-checkbox>
|
|
4093
|
+
<sl-checkbox id="oas3" size="small" ?checked=${this.checkFormat("oas3")}
|
|
4094
|
+
@sl-change="${this.updateFormats}">OpenAPI 3.0
|
|
4095
|
+
</sl-checkbox>
|
|
4096
|
+
<sl-checkbox id="oas3_1" size="small" ?checked=${this.checkFormat("oas3_1")}
|
|
4097
|
+
@sl-change="${this.updateFormats}">OpenAPI 3.1
|
|
4098
|
+
</sl-checkbox>
|
|
4099
|
+
</section>
|
|
4100
|
+
|
|
4101
|
+
<section class="checkbox">
|
|
4102
|
+
<label class="checkbox-label"></label>
|
|
4103
|
+
<sl-checkbox id="resolved" @sl-change="${this.updateResolved}" size="small"
|
|
4104
|
+
?checked=${this.rule.resolved}>Resolve References?
|
|
4105
|
+
</sl-checkbox>
|
|
4106
|
+
</section>
|
|
4107
|
+
|
|
4108
|
+
<sl-select id="severity" @sl-change="${this.updateSeverity}" class="label-on-left" label="Severity"
|
|
4109
|
+
size="small"
|
|
4110
|
+
value=${this.rule.severity}>
|
|
4111
|
+
<sl-option value="error">
|
|
4112
|
+
<sl-icon name="x-square" class="error"></sl-icon>
|
|
4113
|
+
Error
|
|
4114
|
+
</sl-option>
|
|
4115
|
+
<sl-option value="warn">
|
|
4116
|
+
<sl-icon name="exclamation-triangle" class="warning"></sl-icon>
|
|
4117
|
+
Warning
|
|
4118
|
+
</sl-option>
|
|
4119
|
+
<sl-option value="info">
|
|
4120
|
+
<sl-icon name="info-square" class="info"></sl-icon>
|
|
4121
|
+
Info
|
|
4122
|
+
</sl-option>
|
|
4123
|
+
</sl-select>
|
|
4124
|
+
|
|
4125
|
+
<sl-select id="category" @sl-change="${this.updateCategory}" class="label-on-left" label="Category"
|
|
4126
|
+
size="small"
|
|
4127
|
+
value="${(e=this.rule.category)==null?void 0:e.id}">
|
|
4128
|
+
<sl-option value="schemas">Schemas</sl-option>
|
|
4129
|
+
<sl-option value="examples">Examples</sl-option>
|
|
4130
|
+
<sl-option value="operations">Operations</sl-option>
|
|
4131
|
+
<sl-option value="information">Information</sl-option>
|
|
4132
|
+
<sl-option value="descriptions">Descriptions</sl-option>
|
|
4133
|
+
<sl-option value="security">Security</sl-option>
|
|
4134
|
+
<sl-option value="tags">Tags</sl-option>
|
|
4135
|
+
<sl-option value="validation">Validation</sl-option>
|
|
4136
|
+
<sl-option value="OWASP">OWASP</sl-option>
|
|
4137
|
+
</sl-select>
|
|
4138
|
+
|
|
4139
|
+
<section class="rule-actions">
|
|
4140
|
+
<label class="rule-actions-label">Actions
|
|
4141
|
+
<sl-button variant="default" size="small" class="button-primary" @click=${this.addRuleAction}>
|
|
4142
|
+
<sl-icon slot="prefix" name="plus-square"></sl-icon>
|
|
4143
|
+
Add
|
|
4144
|
+
</sl-button>
|
|
4145
|
+
</label>
|
|
4146
|
+
<div class="actions">
|
|
4147
|
+
${this.actions}
|
|
4148
|
+
</section>
|
|
4149
|
+
`}};Q.styles=[Re,de,er,qo],F([a.state()],Q.prototype,"rule",2),F([a.query("sl-textarea#description")],Q.prototype,"description",2),F([a.query("sl-textarea#message")],Q.prototype,"message",2),F([a.query("sl-input#json-path")],Q.prototype,"jsonPath",2),F([a.query("sl-input#name")],Q.prototype,"name",2),F([a.query("sl-checkbox#oas2")],Q.prototype,"oas2Check",2),F([a.query("sl-checkbox#oas3")],Q.prototype,"oas3Check",2),F([a.query("sl-checkbox#oas3_1")],Q.prototype,"oas31Check",2),F([a.query("sl-checkbox#resolved")],Q.prototype,"resolved",2),F([a.query("sl-select#severity")],Q.prototype,"severity",2),F([a.query("sl-select#category")],Q.prototype,"category",2),F([a.property({type:Boolean})],Q.prototype,"custom",2),F([a.property({type:Boolean})],Q.prototype,"error",2),F([a.property()],Q.prototype,"ruleErrorFunction",2),Q=F([a.customElement("pb33f-rule-input")],Q);var Js=Object.defineProperty,Hs=Object.getOwnPropertyDescriptor,ue=(r,e,o,i)=>{for(var t=i>1?void 0:i?Hs(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&Js(e,o,t),t};let P=class extends s.LitElement{constructor(r,e,o){super(),this.rule=r,this.ruleId=e,this.ruleActive=!0,this.custom=o,this.error=!1,this.ruleInput=new Q(this.rule,this,this.custom),this.ruleErrorFunction=[],this.ruleErrorFunctionOption=[],this.ruleErrorMessage=[],this.ruleInput.addEventListener(Yi,i=>{this.nameUpdated(i.detail.name)})}nameUpdated(r){this.rule.id=r,this.ruleId=r,this.requestUpdate()}dirty(){this.dispatchEvent(new CustomEvent(Ae,{bubbles:!0,composed:!0,detail:{rule:this}}))}toggleRule(){this.ruleActive=!this.ruleActive,this.dirty()}close(){this.open=!1,this.details.open=!1}show(){this.open=!0,this.details.open=!0}opened(){this.open=!0,this.dispatchEvent(new CustomEvent(Ji,{bubbles:!0,composed:!0,detail:{ruleId:this.ruleId}}))}render(){if(!this.rule)return s.html``;let r=s.html``;this.error?(this.ruleInput.error=!0,this.ruleInput.ruleErrorFunction=this.ruleErrorFunction,this.ruleInput.ruleErrorFunctionOption=this.ruleErrorFunctionOption,r=s.html`
|
|
4150
|
+
<div class="error-col error"><sl-icon name="exclamation-square"></sl-icon></div>`):(this.ruleInput.error=!1,this.ruleInput.ruleErrorFunctionOption=[],this.ruleInput.ruleErrorFunction=[]);let e=s.html``;if(this.error){let o=s.html``;if(this.ruleErrorMessage.length>0){o=[];for(let i=0;i<this.ruleErrorMessage.length;i++)o.push(s.html`<li>${this.ruleErrorMessage[i]}</li>`)}e=s.html`
|
|
4151
|
+
<div class="error-box">
|
|
4152
|
+
<div class="error-message">
|
|
4153
|
+
<h4 class="error">Something is wrong with this rule:</h4>
|
|
4154
|
+
<ul>
|
|
4155
|
+
${o}
|
|
4156
|
+
</ul>
|
|
4157
|
+
</div>
|
|
4158
|
+
</div>`}return s.html`
|
|
4159
|
+
<div class="rule">
|
|
4160
|
+
<div class="check">
|
|
4161
|
+
<sl-checkbox @sl-change="${this.toggleRule}" ?checked=${this.ruleActive}></sl-checkbox>
|
|
4162
|
+
</div>
|
|
4163
|
+
${r}
|
|
4164
|
+
<div class="details">
|
|
4165
|
+
<sl-details summary="${this.rule.id}"
|
|
4166
|
+
class="${this.error?"error-rule":""}" @sl-show="${this.opened}">
|
|
4167
|
+
${e}
|
|
4168
|
+
${this.ruleInput}
|
|
4169
|
+
</sl-details>
|
|
4170
|
+
</div>
|
|
4171
|
+
</div>
|
|
4172
|
+
`}};P.styles=[Re,de,er,qo,Yt],ue([a.state()],P.prototype,"rule",2),ue([a.property({type:Boolean})],P.prototype,"error",2),ue([a.query("sl-details")],P.prototype,"details",2),ue([a.property({type:Boolean})],P.prototype,"open",2),ue([a.property({type:Boolean})],P.prototype,"custom",2),ue([a.property()],P.prototype,"ruleActive",2),ue([a.property()],P.prototype,"ruleErrorMessage",2),P=ue([a.customElement("pb33f-rule")],P);const Os=s.css`
|
|
4173
|
+
.spin {
|
|
4174
|
+
display: inline-block;
|
|
4175
|
+
position: relative;
|
|
4176
|
+
width: 35px;
|
|
4177
|
+
height: 25px;
|
|
4178
|
+
}
|
|
4179
|
+
.spin:after {
|
|
4180
|
+
content: " ";
|
|
4181
|
+
display: block;
|
|
4182
|
+
border-radius: 50%;
|
|
4183
|
+
width: 0;
|
|
4184
|
+
height: 0;
|
|
4185
|
+
margin: 8px;
|
|
4186
|
+
box-sizing: border-box;
|
|
4187
|
+
border: 10px solid var(--primary-color);
|
|
4188
|
+
border-color: var(--primary-color) transparent var(--primary-color) transparent;
|
|
4189
|
+
animation: spinner 1.2s infinite;
|
|
4190
|
+
}
|
|
4191
|
+
.pb33f-loader {
|
|
4192
|
+
display: block;
|
|
4193
|
+
position: relative;
|
|
4194
|
+
width: 100%;
|
|
4195
|
+
height: 60px;
|
|
4196
|
+
margin-top: 20px;
|
|
4197
|
+
}
|
|
4198
|
+
|
|
4199
|
+
@keyframes spinner {
|
|
4200
|
+
0% {
|
|
4201
|
+
transform: rotate(0);
|
|
4202
|
+
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
|
4203
|
+
}
|
|
4204
|
+
50% {
|
|
4205
|
+
transform: rotate(900deg);
|
|
4206
|
+
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
|
|
4207
|
+
}
|
|
4208
|
+
100% {
|
|
4209
|
+
transform: rotate(1800deg);
|
|
4210
|
+
}
|
|
4211
|
+
}
|
|
4212
|
+
`,Ts=s.css`
|
|
4213
|
+
|
|
4214
|
+
sl-dialog::part(panel) {
|
|
4215
|
+
border: 1px dashed var(--secondary-color);
|
|
4216
|
+
border-radius: 0;
|
|
4217
|
+
background-color: var(--background-color)
|
|
4218
|
+
}
|
|
4219
|
+
|
|
4220
|
+
|
|
4221
|
+
sl-dialog::part(body) {
|
|
4222
|
+
background-color: var(--background-color)
|
|
4223
|
+
}
|
|
4224
|
+
|
|
4225
|
+
`,z=class z{static checkRules(e){e.rules.forEach((o,i)=>{o.id!==i&&(o.id=i)})}static async getDefaultRuleset(){return new Promise(async(e,o)=>{try{const t=await(await fetch(z.doctorEndpoint+"/rulesets/default",{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}})).json();if(!t){o({detail:"unable to fetch default ruleset"});return}if(t!=null&&t.type&&(t!=null&&t.title)&&(t!=null&&t.status)){o(t);return}e(t)}catch(i){o({detail:"unable fetch default ruleset: "+i})}})}static async getOWASPRuleset(){return new Promise(async(e,o)=>{try{const t=await(await fetch(z.doctorEndpoint+"/rulesets/owasp",{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}})).json();if(!t){o({detail:"unable to fetch owasp ruleset"});return}if(t!=null&&t.type&&(t!=null&&t.title)&&(t!=null&&t.status)){o(t);return}e(t)}catch(i){o({detail:"unable fetch owasp ruleset: "+i})}})}static async getAllRuleset(){return new Promise(async(e,o)=>{try{const t=await(await fetch(z.doctorEndpoint+"/rulesets/all",{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}})).json();if(!t){o({detail:"unable to fetch all rules ruleset"});return}if(t!=null&&t.type&&(t!=null&&t.title)&&(t!=null&&t.status)){o(t);return}e(t)}catch(i){o({detail:"unable fetch all rules ruleset: "+i})}})}static async getFunctions(){return new Promise(async(e,o)=>{try{const t=await(await fetch(z.doctorEndpoint+"/rulesets/functions",{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}})).json();if(!t){o({details:"unable to fetch functions"});return}if(t!=null&&t.type&&(t!=null&&t.title)&&(t!=null&&t.status)){o(t);return}e(t)}catch(i){o({detail:"unable fetch functions "+i})}})}static async getFunctionSchema(e){return new Promise(async(o,i)=>{try{const A=await(await fetch(z.doctorEndpoint+"/rulesets/functions/schemas/"+e,{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}})).json();if(!A){i({details:"unable to fetch functions"});return}if(A!=null&&A.type&&(A!=null&&A.title)&&(A!=null&&A.status)){i(A);return}o(A)}catch(t){i({detail:"unable fetch function schema "+t})}})}static async applyRuleset(e){return new Promise(async(o,i)=>{try{const A=await(await fetch(z.doctorEndpoint+"/rulesets/session",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:e})).json();if(!A){i({detail:"unable to apply ruleset"});return}if(A!=null&&A.type&&(A!=null&&A.title)&&(A!=null&&A.status)){i(A);return}o(A)}catch(t){i(t)}})}static async convertToJSON(e){return new Promise(async(o,i)=>{try{const A=await(await fetch(z.doctorEndpoint+"/rulesets/convert",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:e})).json();if(!A){i({detail:"unable to apply ruleset"});return}if(A!=null&&A.type&&(A!=null&&A.title)&&(A!=null&&A.status)){i(A);return}o(A)}catch(t){i(t)}})}static async getSessionRuleset(){return new Promise(async(e,o)=>{try{const t=await(await fetch(z.doctorEndpoint+"/rulesets/session",{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}})).json();if(!t){o({detail:"unable to extract session ruleset"});return}if(t!=null&&t.type&&(t!=null&&t.title)&&(t!=null&&t.status)){o(t);return}e(t)}catch(i){o({detail:"unable to extract session ruleset"+i})}})}static async getSessionRulesetAsYAML(){return new Promise(async(e,o)=>{try{const t=await(await fetch(z.doctorEndpoint+"/rulesets/session/yaml",{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}})).text();if(!t){o({detail:"unable to extract session ruleset"});return}e(t)}catch(i){o({detail:"unable to extract session ruleset"+i})}})}static async getSessionRulesetMap(){return new Promise(async(e,o)=>{try{const t=await(await fetch(z.doctorEndpoint+"/rulesets/session/map",{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}})).json();if(!t){o({detail:"unable to extract session ruleset map"});return}e(t)}catch(i){o({detail:"unable to extract session ruleset"+i})}})}static async validateRuleset(e,o=!0){return new Promise(async(i,t)=>{try{let A="";o&&(A="?json=true");const c=await(await fetch(z.doctorEndpoint+"/rulesets/validate"+A,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:e})).json();if(!c){t({detail:"unable to validate ruleset"});return}if(c!=null&&c.type&&(c!=null&&c.title)&&(c!=null&&c.status)){t(c);return}i(c)}catch(A){t({detail:"unable to validate ruleset"+A})}})}static async resetSessionRuleset(){return new Promise(async(e,o)=>{try{if((await fetch(z.doctorEndpoint+"/rulesets/session",{method:"DELETE",credentials:"include",headers:{"Content-Type":"application/json"}})).status!==200){o({detail:"unable to reset session ruleset"});return}e(null)}catch(i){o({detail:"unable to extract session ruleset"+i})}})}};z.doctorEndpoint="https://doctor.pb33f.io";let D=z;var v=(r=>(r.ERROR="error",r.WARNING="warning",r.SUCCESS="success",r.INFO="info",r.SCOREUP="scoreup",r.SCOREDOWN="scoredown",r))(v||{});const tr=s.css`
|
|
4226
|
+
|
|
4227
|
+
sl-radio-group::part(form-control) {
|
|
4228
|
+
font-family: var(--font-stack), monospace;
|
|
4229
|
+
font-size: 0.9rem;
|
|
4230
|
+
}
|
|
4231
|
+
sl-radio-group::part(form-control-label) {
|
|
4232
|
+
font-family: var(--font-stack), monospace;
|
|
4233
|
+
font-size: 0.8rem;
|
|
4234
|
+
}
|
|
4235
|
+
sl-radio-group::part(form-control-help-text) {
|
|
4236
|
+
font-family: var(--font-stack), monospace;
|
|
4237
|
+
font-size: 0.7rem;
|
|
4238
|
+
}
|
|
4239
|
+
sl-radio-button::part(button) {
|
|
4240
|
+
font-family: var(--font-stack), monospace;
|
|
4241
|
+
font-size: 0.8rem;
|
|
4242
|
+
border-radius: 0;
|
|
4243
|
+
--sl-color-primary-600: var(--primary-color);
|
|
4244
|
+
height: 30px;
|
|
4245
|
+
min-height: 1px;
|
|
4246
|
+
margin-top: 8px;
|
|
4247
|
+
}
|
|
4248
|
+
|
|
4249
|
+
`;var Gs=Object.defineProperty,Ls=Object.getOwnPropertyDescriptor,me=(r,e,o,i)=>{for(var t=i>1?void 0:i?Ls(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&Gs(e,o,t),t};const _o="default",Jt="owasp",Ht="all",V="custom";let X=class extends s.LitElement{constructor(){super(),this._defaultRules=[],this._owaspRules=[],this._allRules=[],this._customRules=[],this._rulesetConfig={ruleMapping:new Map,allRulesSwitch:!0},this.currentRuleset=_o,this.allRulesEnabled=!0,this.addEventListener(Ae,this.dirty.bind(this)),this.addEventListener(Ct,this.rulesetUpdated.bind(this))}rulesetUpdated(){this.saveButton.disabled=!0,this.saveButton.style.display="none",this.dirtyRules=!1}exportRuleset(){this.dispatchEvent(new CustomEvent(Hi,{bubbles:!0,composed:!0}))}compileRuleset(){const r=new Map,e=new Map;this._activeRuleset.forEach(t=>{const A=t.rule;if(t.ruleActive){if(t.rule.active=!0,A&&A.then)if(Array.isArray(A.then))for(const n of A.then)n.functionOptions&&n.functionOptions instanceof Map&&(n.functionOptions=Object.fromEntries(n.functionOptions));else A.then.functionOptions&&A.then.functionOptions&&A.then.functionOptions instanceof Map&&(A.then.functionOptions=Object.fromEntries(A.then.functionOptions));r.set(t.rule.id,A)}e.set(t.rule.id,A)});const o={rules:Object.fromEntries(r)},i=JSON.stringify(o);D.applyRuleset(i).then(t=>{this.clearRuleProblems(),this.rulesetSaved({rules:e},t)}).catch(t=>{const A=t;this.dispatchEvent(new CustomEvent(To,{bubbles:!0,composed:!0,detail:{toast:{id:crypto.randomUUID(),title:"Cannot save / apply ruleset",type:v.ERROR,body:`${A.detail}`}}})),A.body&&A.body.length>0&&this.processBadRules(A.body)})}clearRuleProblems(){this._activeRuleset.forEach(r=>{r&&(r.error=!1,r.ruleErrorFunctionOption=[],r.ruleErrorFunction=[])})}processBadRules(r){r.forEach(e=>{const o=this._activeRuleset.find(i=>i.ruleId===e.ruleId);o&&(o.error=!0,o.ruleErrorMessage=[e.ruleError],e.function&&(o.ruleErrorFunction=[e.function]),e.functionOption&&(o.ruleErrorFunctionOption=[e.functionOption]),o.requestUpdate())})}rulesetSaved(r,e){this.dispatchEvent(new CustomEvent(Ct,{bubbles:!0,composed:!0,detail:{rules:r,config:this._rulesetConfig,returnedRules:e}})),this.exportButton.style.display="inline-block",this.exportButton.disabled=!1,this.dispatchEvent(new CustomEvent(To,{bubbles:!0,composed:!0,detail:{toast:{id:crypto.randomUUID(),title:"Ruleset saved / applied",type:v.INFO,body:"Ruleset has been saved and applied"}}}))}dirty(r){this.dirtyRules||(this.dirtyRules=!0,this.saveButton.style.display="inline-block",this.saveButton.disabled=!1,this.exportButton.style.display="none",this.exportButton.disabled=!0),r!=null&&r.detail.rule?this.copyActiveRulesetCustom(r.detail.rule):this.copyActiveRulesetCustom()}copyActiveRulesetCustom(r){const e=[];this._activeRuleset.forEach(i=>{r&&i.ruleId===r.rule.id?(r.custom=!0,e.push(r)):(i.custom=!0,e.push(i))}),this._activeRuleset=e,this._customRules=e,this.rulesetSelector.value=V,this.customRulesetSelector.disabled=!1,this.currentRuleset=V;let o=this.buildConfig();this._rulesetConfig=o,this.dispatchEvent(new CustomEvent(Mt,{bubbles:!0,composed:!0,detail:{rules:e,ruleConfig:o}})),this.requestUpdate()}buildConfig(){let r={ruleMapping:new Map,allRulesSwitch:this.allRulesEnabled};return this._activeRuleset.forEach(e=>{e.ruleActive?r.ruleMapping.set(e.ruleId,!0):r.ruleMapping.set(e.ruleId,!1)}),r}toggleAllRules(){let r=this._rulesetConfig;!r||!r.ruleMapping?r={ruleMapping:new Map,allRulesSwitch:!0}:r.allRulesSwitch=!this.allRulesEnabled,this.allRulesEnabled?(this._activeRuleset.forEach(e=>{r==null||r.ruleMapping.set(e.ruleId,!1),e.ruleActive=!1}),r.allRulesSwitch=!1):(this._activeRuleset.forEach(e=>{r==null||r.ruleMapping.set(e.ruleId,!0),e.ruleActive=!0}),r.allRulesSwitch=!0),this._rulesetConfig=r,this.allRulesEnabled=!this.allRulesEnabled,this.rulesetSelector.value=V,this.customRulesetSelector.disabled=!1,this.dirty()}set defaultRuleset(r){this._defaultRuleset=r}set owaspRuleset(r){this._owaspRuleset=r}set allRuleset(r){this._allRuleset=r}set customRuleset(r){this._customRuleset=r,this.customRulesetSelector.disabled=!1,this.rulesetSelector.value=V,this.buildCustomRuleset(!1),this.currentRuleset=V}set customRulesetManual(r){this._customRuleset=r,this.customRulesetSelector.disabled=!1,this.rulesetSelector.value=V,this.buildCustomRuleset(!0),this.currentRuleset=V}set rulesetConfig(r){this._rulesetConfig=r,this.allRulesEnabled=r.allRulesSwitch,this.requestUpdate()}set functions(r){this._functions=r}buildCustomRuleset(r=!0){this._customRuleset&&(this._customRules=[],this._customRuleset.rules.forEach((e,o)=>{const i=this._allRules.find(A=>A.ruleId===o);let t=!1;i||(t=!0),this.buildRule(o,e,this._customRules,t)}),this._activeRuleset=this._customRules,this.enableOrDisableRules(),r&&this.dirty())}changeActiveRuleset(r){const e=r.target;this.currentRuleset==V?(this.confirmWipeButton.loading=!1,this.customWipeDialog.show().then(()=>{this.confirmNewRuleset=e.value})):(this.switchRuleset(e.value),this.requestUpdate())}cancelCustomOverride(){this.customWipeDialog.hide()}confirmCustomOverride(){this.confirmWipeButton.loading=!0,this.customWipeDialog.hide(),this.allRulesEnabled=!0,setTimeout(()=>{this.confirmWipeActive=!1,this.rulesetSelector.value=this.confirmNewRuleset,this.switchRuleset(this.confirmNewRuleset),this._rulesetConfig=null,this.dispatchEvent(new CustomEvent(Mt,{bubbles:!0,composed:!0,detail:{rules:[],ruleConfig:null}})),this._customRules=[],this.customRulesetSelector.disabled=!0,this.dirtyRules=!1,this.saveButton.style.display="none",this.saveButton.disabled=!0,this.exportButton.style.display="none",this.exportButton.disabled=!0,this.allRulesSwitch.checked=!0,this.enableOrDisableRules(),this.requestUpdate()},250)}switchRuleset(r){switch(r){case _o:this._activeRuleset=this._defaultRules,this.currentRuleset=_o;break;case Jt:this._activeRuleset=this._owaspRules,this.currentRuleset=Jt;break;case Ht:this._activeRuleset=this._allRules,this.currentRuleset=Ht;break;case V:this._activeRuleset=this._customRules,this.currentRuleset=V;break}}buildRulesets(){if(this._defaultRules=[],this._owaspRules=[],this._allRules=[],this._defaultRuleset)for(const r in this._defaultRuleset.rules){const e=this._defaultRuleset.rules[r];this.buildRule(r,e,this._defaultRules)}if(this._owaspRuleset)for(const r in this._owaspRuleset.rules){const e=this._owaspRuleset.rules[r];this.buildRule(r,e,this._owaspRules)}if(this._allRuleset)for(const r in this._allRuleset.rules){const e=this._allRuleset.rules[r];this.buildRule(r,e,this._allRules)}this._activeRuleset=this._defaultRules,this.requestUpdate()}enableOrDisableRules(){this._rulesetConfig&&this._rulesetConfig.ruleMapping.size>0?this._rulesetConfig.ruleMapping.forEach((r,e)=>{const o=this._activeRuleset.find(i=>i.ruleId===e);o&&!r&&(o.ruleActive=!1)}):(this._allRules.forEach(r=>{r.ruleActive=!0}),this._owaspRules.forEach(r=>{r.ruleActive=!0}),this._defaultRules.forEach(r=>{r.ruleActive=!0}),this.allRulesEnabled=!0)}buildRule(r,e,o,i=!1){e&&e.id&&e.id.length<=0&&(e.id=r);const t=new P(e,r,i);return t.addEventListener("sl-show",A=>{var c;const n=(c=A.target)==null?void 0:c.ruleId;for(const l of o)l.ruleId!==n&&l.open&&l.close()}),i?o.unshift(t):o.push(t),t}addCustomRule(){const r=`custom-rule-${this._activeRuleset.length}`,e={id:r,description:"Custom Rule check if title is defined is defined",message:"Please make sure there is a `title` section in the info object",given:"$.info",resolved:!1,severity:"info",formats:["oas3_1"],category:{id:"validation",name:"Validation"},then:[{field:"title",function:"defined"}]},o=this.buildRule(r,e,this._activeRuleset,!0);this.dirty(new CustomEvent(Ae,{detail:{rule:o}})),this.requestUpdate(),setTimeout(()=>{o.show()})}render(){let r=s.html``,e=0;this._activeRuleset&&(e=this._activeRuleset.length),e>0&&(r=s.html`
|
|
4250
|
+
<div class="toggle-allcheck">
|
|
4251
|
+
<sl-switch size="small" @sl-change="${this.toggleAllRules}" ?checked="${this.allRulesEnabled}">
|
|
4252
|
+
Toggle all
|
|
4253
|
+
rules (${e})
|
|
4254
|
+
</sl-switch>
|
|
4255
|
+
</div>
|
|
4256
|
+
`);let o=s.html`
|
|
4257
|
+
<div class="pb33f-loader">
|
|
4258
|
+
<div class="spin"></div>
|
|
4259
|
+
loading rules, please wait a few moments...
|
|
4260
|
+
</div>
|
|
4261
|
+
`;return this._activeRuleset&&(o=this._activeRuleset),s.html`
|
|
4262
|
+
<div class="ruleset">
|
|
4263
|
+
<div class="ruleset-header">
|
|
4264
|
+
<sl-radio-group label="Select a ruleset" name="ruleset" value="default">
|
|
4265
|
+
<sl-radio-button value=${_o} @sl-focus="${this.changeActiveRuleset}">Default
|
|
4266
|
+
</sl-radio-button>
|
|
4267
|
+
<sl-radio-button value=${Jt} @sl-focus="${this.changeActiveRuleset}">OWASP
|
|
4268
|
+
</sl-radio-button>
|
|
4269
|
+
<sl-radio-button value=${Ht} @sl-focus="${this.changeActiveRuleset}">All
|
|
4270
|
+
</sl-radio-button>
|
|
4271
|
+
<sl-radio-button value=${V} disabled id="custom-ruleset"
|
|
4272
|
+
@sl-focus="${this.changeActiveRuleset}">Custom
|
|
4273
|
+
</sl-radio-button>
|
|
4274
|
+
</sl-radio-group>
|
|
4275
|
+
<div class="ruleset-controls">
|
|
4276
|
+
<sl-tooltip content="Add a custom rule" placement="bottom">
|
|
4277
|
+
<sl-icon-button @click="${this.addCustomRule}" name="plus-square" label="Add Custom Rule"
|
|
4278
|
+
id="add-button">
|
|
4279
|
+
</sl-icon-button>
|
|
4280
|
+
</sl-tooltip>
|
|
4281
|
+
|
|
4282
|
+
<sl-tooltip content="Export / download ruleset" placement="bottom">
|
|
4283
|
+
<sl-icon-button @click="${this.exportRuleset}"
|
|
4284
|
+
disabled name="cloud-download" label="Export Ruleset" class="hidden"
|
|
4285
|
+
id="export-button">
|
|
4286
|
+
</sl-icon-button>
|
|
4287
|
+
</sl-tooltip>
|
|
4288
|
+
<sl-tooltip content="Apply / save ruleset" placement="bottom">
|
|
4289
|
+
<sl-icon-button disabled name="floppy" label="Apply Ruleset" class="pulse hidden"
|
|
4290
|
+
id="save-button" @click="${this.compileRuleset}">
|
|
4291
|
+
</sl-icon-button>
|
|
4292
|
+
</sl-tooltip>
|
|
4293
|
+
|
|
4294
|
+
</div>
|
|
4295
|
+
</div>
|
|
4296
|
+
<div class="ruleset-body">
|
|
4297
|
+
${r}
|
|
4298
|
+
${o}
|
|
4299
|
+
</div>
|
|
4300
|
+
</div>
|
|
4301
|
+
<sl-dialog id="confirm-custom-wipe" label="Reset Custom Rules?" class="dialog-overview"
|
|
4302
|
+
style="--width: 50vw">
|
|
4303
|
+
<h3>You have customized your ruleset.</h3>
|
|
4304
|
+
|
|
4305
|
+
<p>Are you sure you want to switch to a built-in ruleset?</p>
|
|
4306
|
+
|
|
4307
|
+
<sl-button @click=${this.cancelCustomOverride} slot="footer" variant="primary" style="float: left">No!
|
|
4308
|
+
Cancel
|
|
4309
|
+
</sl-button>
|
|
4310
|
+
<sl-button id="confirm-override-wipe-button" @click=${this.confirmCustomOverride} slot="footer"
|
|
4311
|
+
variant="danger" class="danger">Yes, Reset
|
|
4312
|
+
</sl-button>
|
|
4313
|
+
</sl-dialog>
|
|
4314
|
+
`}};X.styles=[Ts,Os,de,tr,ks],me([a.query("#save-button")],X.prototype,"saveButton",2),me([a.query("#export-button")],X.prototype,"exportButton",2),me([a.query("sl-radio-group")],X.prototype,"rulesetSelector",2),me([a.query("#custom-ruleset")],X.prototype,"customRulesetSelector",2),me([a.query("sl-dialog#confirm-custom-wipe")],X.prototype,"customWipeDialog",2),me([a.query("sl-button#confirm-override-wipe-button")],X.prototype,"confirmWipeButton",2),me([a.query("sl-switch")],X.prototype,"allRulesSwitch",2),X=me([a.customElement("pb33f-manage-ruleset")],X);function js(r){return new Worker("/assets/rule-documentation.worker-D39NS8Lx.js",{name:r==null?void 0:r.name})}const Ps=s.css`
|
|
4315
|
+
|
|
4316
|
+
|
|
4317
|
+
.doctor {
|
|
4318
|
+
width: 100%;
|
|
4319
|
+
height: 100%;
|
|
4320
|
+
position: relative;
|
|
4321
|
+
|
|
4322
|
+
|
|
4323
|
+
}
|
|
4324
|
+
|
|
4325
|
+
.editor {
|
|
4326
|
+
|
|
4327
|
+
width: 100%;
|
|
4328
|
+
height: 100%;
|
|
4329
|
+
min-width: 500px;
|
|
4330
|
+
min-height: 300px;
|
|
4331
|
+
position: relative;
|
|
4332
|
+
display: block;
|
|
4333
|
+
}
|
|
4334
|
+
|
|
4335
|
+
.problems {
|
|
4336
|
+
position: relative;
|
|
4337
|
+
display: block;
|
|
4338
|
+
margin-left: 10px;
|
|
4339
|
+
overflow: hidden;
|
|
4340
|
+
width: 100%;
|
|
4341
|
+
}
|
|
4342
|
+
|
|
4343
|
+
.problems-data {
|
|
4344
|
+
height: min-content;
|
|
4345
|
+
max-height: calc(100vh - 50px);
|
|
4346
|
+
}
|
|
4347
|
+
|
|
4348
|
+
.problems::-webkit-scrollbar {
|
|
4349
|
+
width: 8px;
|
|
4350
|
+
}
|
|
4351
|
+
|
|
4352
|
+
.problems::-webkit-scrollbar-track {
|
|
4353
|
+
background-color: black;
|
|
4354
|
+
}
|
|
4355
|
+
|
|
4356
|
+
.problems::-webkit-scrollbar-thumb {
|
|
4357
|
+
box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
|
|
4358
|
+
background: var(--secondary-color-lowalpha);
|
|
4359
|
+
padding: var(--global-padding);
|
|
4360
|
+
}
|
|
4361
|
+
|
|
4362
|
+
|
|
4363
|
+
sl-split-panel {
|
|
4364
|
+
width: calc(100% - 9px);
|
|
4365
|
+
height: 100%;
|
|
4366
|
+
--divider-width: 2px;
|
|
4367
|
+
}
|
|
4368
|
+
|
|
4369
|
+
|
|
4370
|
+
sl-split-panel::part(divider) {
|
|
4371
|
+
background-color: var(--secondary-color);
|
|
4372
|
+
}
|
|
4373
|
+
|
|
4374
|
+
sl-icon {
|
|
4375
|
+
position: absolute;
|
|
4376
|
+
left: 2px;
|
|
4377
|
+
border-radius: 0;
|
|
4378
|
+
background: var(--secondary-color);
|
|
4379
|
+
color: var(--background-color);
|
|
4380
|
+
padding: 0;
|
|
4381
|
+
width: 10px;
|
|
4382
|
+
height: 40px;
|
|
4383
|
+
}
|
|
4384
|
+
|
|
4385
|
+
sl-split-panel::part(divider):focus-visible {
|
|
4386
|
+
background-color: var(--primary-color);
|
|
4387
|
+
}
|
|
4388
|
+
|
|
4389
|
+
sl-split-panel:focus-within sl-icon {
|
|
4390
|
+
background-color: var(--primary-color);
|
|
4391
|
+
color: var(--background-color);
|
|
4392
|
+
}
|
|
4393
|
+
|
|
4394
|
+
sl-tab-group::part(tabs) {
|
|
4395
|
+
height: 30px;
|
|
4396
|
+
}
|
|
4397
|
+
|
|
4398
|
+
sl-tab::part(base) {
|
|
4399
|
+
padding-top: 0;
|
|
4400
|
+
}
|
|
4401
|
+
|
|
4402
|
+
.tab-group {
|
|
4403
|
+
--indicator-color: var(--secondary-color);
|
|
4404
|
+
|
|
4405
|
+
}
|
|
4406
|
+
|
|
4407
|
+
sl-tab-panel::part(base) {
|
|
4408
|
+
padding-top: 10px;
|
|
4409
|
+
overflow-y: hidden;
|
|
4410
|
+
|
|
4411
|
+
}
|
|
4412
|
+
|
|
4413
|
+
.tab::part(base) {
|
|
4414
|
+
font: var(--font-stack);
|
|
4415
|
+
font-size: 0.9rem;
|
|
4416
|
+
}
|
|
4417
|
+
|
|
4418
|
+
.unavailable {
|
|
4419
|
+
opacity: 0.4;
|
|
4420
|
+
transition: all 0.5s;
|
|
4421
|
+
}
|
|
4422
|
+
|
|
4423
|
+
.split-panel {
|
|
4424
|
+
--min: 550px;
|
|
4425
|
+
--max: calc(100vw - 550px);
|
|
4426
|
+
}
|
|
4427
|
+
|
|
4428
|
+
.overlay {
|
|
4429
|
+
width: 100%;
|
|
4430
|
+
opacity: 1;
|
|
4431
|
+
height: 100%;
|
|
4432
|
+
position: absolute;
|
|
4433
|
+
top: 0;
|
|
4434
|
+
left: 0;
|
|
4435
|
+
pointer-events: auto;
|
|
4436
|
+
cursor: not-allowed;
|
|
4437
|
+
z-index: 100;
|
|
4438
|
+
//backdrop-filter: blur(2px);
|
|
4439
|
+
}
|
|
4440
|
+
|
|
4441
|
+
.ruleset {
|
|
4442
|
+
font-size: 0.9rem;
|
|
4443
|
+
margin-left: 10px;
|
|
4444
|
+
margin-right: 10px;
|
|
4445
|
+
}
|
|
4446
|
+
|
|
4447
|
+
h3.loading {
|
|
4448
|
+
margin-top: 20px;
|
|
4449
|
+
padding-top: 0;
|
|
4450
|
+
text-align: center;
|
|
4451
|
+
}
|
|
4452
|
+
|
|
4453
|
+
.tab-panel {
|
|
4454
|
+
height: calc(100vh - 110px);
|
|
4455
|
+
}
|
|
4456
|
+
|
|
4457
|
+
sl-tab-panel::part(base) {
|
|
4458
|
+
height: 100%;
|
|
4459
|
+
}
|
|
4460
|
+
|
|
4461
|
+
sl-switch::part(label) {
|
|
4462
|
+
font-family: var(--font-stack), monospace;
|
|
4463
|
+
}
|
|
4464
|
+
|
|
4465
|
+
sl-switch a {
|
|
4466
|
+
color: var(--primary-color);
|
|
4467
|
+
text-decoration: none;
|
|
4468
|
+
}
|
|
4469
|
+
|
|
4470
|
+
sl-switch a:visited {
|
|
4471
|
+
color: var(--primary-color);
|
|
4472
|
+
}
|
|
4473
|
+
|
|
4474
|
+
sl-switch a:hover {
|
|
4475
|
+
color: var(--primary-color);
|
|
4476
|
+
text-decoration: underline;
|
|
4477
|
+
}
|
|
4478
|
+
|
|
4479
|
+
sl-switch a:active {
|
|
4480
|
+
color: var(--error-color);
|
|
4481
|
+
text-decoration: underline;
|
|
4482
|
+
}
|
|
4483
|
+
|
|
4484
|
+
pb33f-activity-spinner {
|
|
4485
|
+
position: absolute;
|
|
4486
|
+
top: 3px;
|
|
4487
|
+
right: 25px;
|
|
4488
|
+
}
|
|
4489
|
+
|
|
4490
|
+
.spinner-draw-closed {
|
|
4491
|
+
top: 35px;
|
|
4492
|
+
right: 2px;
|
|
4493
|
+
}
|
|
4494
|
+
|
|
4495
|
+
pb33f-toast-manager {
|
|
4496
|
+
|
|
4497
|
+
position: absolute;
|
|
4498
|
+
top: 10px;
|
|
4499
|
+
right: 0;
|
|
4500
|
+
z-index: 101;
|
|
4501
|
+
height: calc(100vh - 50px);
|
|
4502
|
+
width: 500px;
|
|
4503
|
+
overflow: hidden;
|
|
4504
|
+
pointer-events: none;
|
|
4505
|
+
}
|
|
4506
|
+
|
|
4507
|
+
.export {
|
|
4508
|
+
display: flex;
|
|
4509
|
+
margin-bottom: 20px;
|
|
4510
|
+
}
|
|
4511
|
+
|
|
4512
|
+
.right {
|
|
4513
|
+
text-align: right;
|
|
4514
|
+
}
|
|
4515
|
+
|
|
4516
|
+
.export-block {
|
|
4517
|
+
width: 50%;
|
|
4518
|
+
}
|
|
4519
|
+
|
|
4520
|
+
.export sl-button {
|
|
4521
|
+
margin-left: 20px;
|
|
4522
|
+
padding-top: 3px;
|
|
4523
|
+
}
|
|
4524
|
+
|
|
4525
|
+
sl-badge::part(base) {
|
|
4526
|
+
width: 10px;
|
|
4527
|
+
padding: 0;
|
|
4528
|
+
margin-left: 5px;
|
|
4529
|
+
margin-top: 2px;
|
|
4530
|
+
height: 10px;
|
|
4531
|
+
}
|
|
4532
|
+
.collapse-side {
|
|
4533
|
+
position: absolute;
|
|
4534
|
+
right: 0;
|
|
4535
|
+
top: 0;
|
|
4536
|
+
padding: 0;
|
|
4537
|
+
color: var(--secondary-color);
|
|
4538
|
+
font-size: 1.4rem;
|
|
4539
|
+
}
|
|
4540
|
+
sl-icon-button.collapse-side::part(base) {
|
|
4541
|
+
padding: 0;
|
|
4542
|
+
}
|
|
4543
|
+
|
|
4544
|
+
`,Vs=s.css`
|
|
4545
|
+
|
|
4546
|
+
.toast {
|
|
4547
|
+
background-color: var(--background-color);
|
|
4548
|
+
color: var(--font-color);
|
|
4549
|
+
border: 1px dashed var(--secondary-color);
|
|
4550
|
+
border-radius: 0;
|
|
4551
|
+
font-family: var(--font-stack), monospace;
|
|
4552
|
+
width: calc(80% - 1px);
|
|
4553
|
+
height:150px;
|
|
4554
|
+
opacity: 1;
|
|
4555
|
+
transform: translateX(calc(120% + 20px));
|
|
4556
|
+
transition: all 0.2s cubic-bezier(0.68, -0.55, 0.25, 1.35);
|
|
4557
|
+
position: relative;
|
|
4558
|
+
margin-bottom: 10px;
|
|
4559
|
+
pointer-events: all;
|
|
4560
|
+
z-index: 101;
|
|
4561
|
+
}
|
|
4562
|
+
|
|
4563
|
+
.active {
|
|
4564
|
+
transform: translateX(22%);
|
|
4565
|
+
}
|
|
4566
|
+
|
|
4567
|
+
.done {
|
|
4568
|
+
transform: translateX(calc(120% + 20px));
|
|
4569
|
+
transition: all 0.3s cubic-bezier(0.68, -0.55, 0.25, 1.35);
|
|
4570
|
+
|
|
4571
|
+
}
|
|
4572
|
+
|
|
4573
|
+
.toast-timer {
|
|
4574
|
+
width: 100%;
|
|
4575
|
+
height: 3px;
|
|
4576
|
+
background-color: var(--primary-color);
|
|
4577
|
+
position: absolute;
|
|
4578
|
+
bottom: -1px;
|
|
4579
|
+
}
|
|
4580
|
+
|
|
4581
|
+
@keyframes progress {
|
|
4582
|
+
100%{
|
|
4583
|
+
width: 0;
|
|
4584
|
+
}
|
|
4585
|
+
}
|
|
4586
|
+
|
|
4587
|
+
.icon {
|
|
4588
|
+
width: 28px;
|
|
4589
|
+
font-size: 1.6rem;
|
|
4590
|
+
margin-right: 10px;
|
|
4591
|
+
color: var(--primary-color);
|
|
4592
|
+
}
|
|
4593
|
+
|
|
4594
|
+
h3 {
|
|
4595
|
+
margin-top: 0;
|
|
4596
|
+
padding-top: 0;
|
|
4597
|
+
}
|
|
4598
|
+
|
|
4599
|
+
p {
|
|
4600
|
+
font-size: 0.9rem;
|
|
4601
|
+
}
|
|
4602
|
+
|
|
4603
|
+
.toast-info {
|
|
4604
|
+
border-color: var(--primary-color);
|
|
4605
|
+
}
|
|
4606
|
+
|
|
4607
|
+
.toast-warning {
|
|
4608
|
+
border-color: var(--warn-color);
|
|
4609
|
+
}
|
|
4610
|
+
|
|
4611
|
+
.toast-error {
|
|
4612
|
+
border-color: var(--error-color);
|
|
4613
|
+
background-color: var(--error-color-dark);
|
|
4614
|
+
}
|
|
4615
|
+
|
|
4616
|
+
.toast-success {
|
|
4617
|
+
border-color: var(--terminal-text);
|
|
4618
|
+
}
|
|
4619
|
+
|
|
4620
|
+
.info {
|
|
4621
|
+
color: var(--primary-color);
|
|
4622
|
+
}
|
|
4623
|
+
|
|
4624
|
+
.scoredown {
|
|
4625
|
+
color: var(--font-color-sub1);
|
|
4626
|
+
}
|
|
4627
|
+
|
|
4628
|
+
.scoreup {
|
|
4629
|
+
color: var(--terminal-text);
|
|
4630
|
+
}
|
|
4631
|
+
|
|
4632
|
+
.toast-scoredown {
|
|
4633
|
+
border-color: var(--font-color-sub1);
|
|
4634
|
+
}
|
|
4635
|
+
|
|
4636
|
+
.toast-scoreup {
|
|
4637
|
+
border-color: var(--terminal-text);
|
|
4638
|
+
}
|
|
4639
|
+
|
|
4640
|
+
|
|
4641
|
+
.info {
|
|
4642
|
+
color: var(--primary-color);
|
|
4643
|
+
}
|
|
4644
|
+
|
|
4645
|
+
.warning {
|
|
4646
|
+
color: var(--warn-color);
|
|
4647
|
+
}
|
|
4648
|
+
|
|
4649
|
+
.error {
|
|
4650
|
+
color: var(--error-color);
|
|
4651
|
+
}
|
|
4652
|
+
|
|
4653
|
+
.success {
|
|
4654
|
+
color: var(--terminal-text);
|
|
4655
|
+
}
|
|
4656
|
+
|
|
4657
|
+
.timer-scoredown {
|
|
4658
|
+
background-color: var(--font-color-sub1);
|
|
4659
|
+
}
|
|
4660
|
+
|
|
4661
|
+
.timer-scoreup {
|
|
4662
|
+
background-color: var(--terminal-text);
|
|
4663
|
+
}
|
|
4664
|
+
|
|
4665
|
+
.timer-info {
|
|
4666
|
+
background-color: var(--primary-color);
|
|
4667
|
+
}
|
|
4668
|
+
|
|
4669
|
+
.timer-warning {
|
|
4670
|
+
background-color: var(--warn-color);
|
|
4671
|
+
}
|
|
4672
|
+
|
|
4673
|
+
.timer-error {
|
|
4674
|
+
background-color: var(--error-color);
|
|
4675
|
+
}
|
|
4676
|
+
|
|
4677
|
+
.timer-success {
|
|
4678
|
+
background-color: var(--terminal-text);
|
|
4679
|
+
}
|
|
4680
|
+
|
|
4681
|
+
.toast-close {
|
|
4682
|
+
position: absolute;
|
|
4683
|
+
top: 0;
|
|
4684
|
+
right: 0;
|
|
4685
|
+
font-size: 1.3rem;
|
|
4686
|
+
}
|
|
4687
|
+
|
|
4688
|
+
.toast-body {
|
|
4689
|
+
padding: 10px;
|
|
4690
|
+
font-size: 0.9rem;
|
|
4691
|
+
display: flex;
|
|
4692
|
+
}
|
|
4693
|
+
`;var Xs=Object.defineProperty,Ws=Object.getOwnPropertyDescriptor,Bo=(r,e,o,i)=>{for(var t=i>1?void 0:i?Ws(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&Xs(e,o,t),t};let te=class extends s.LitElement{constructor(r){super(),this.toastLife=5,r&&(this.toast=r),this.secondsLeft=this.toastLife}close(){var r;this.toastElement.classList.remove("active"),(r=this.toastTimer)==null||r.remove(),this.dispatchEvent(new CustomEvent(Oi,{bubbles:!0,composed:!0,detail:{toastId:this.toast.id}}))}activate(){if(!this.isActive)this.secondTimer=setInterval(()=>{this.secondsLeft--,this.toastTimer&&(this.toastTimer.style.width=`${this.secondsLeft*100/this.toastLife}%`)},1e3),this.closeTimer=setTimeout(()=>{this.close(),clearInterval(this.secondTimer)},this.toastLife*1e3);else{this.toastTimer&&(this.toastTimer.style.width=`${this.secondsLeft*100/this.toastLife}%`);return}this.isActive=!0}renderIcon(){switch(this.toast.type){case v.INFO:return s.html`
|
|
4694
|
+
<sl-icon name="info-square"></sl-icon>`;case v.SUCCESS:return s.html`
|
|
4695
|
+
<sl-icon name="check-square"></sl-icon>`;case v.ERROR:return s.html`
|
|
4696
|
+
<sl-icon name="x-square"></sl-icon>`;case v.WARNING:return s.html`
|
|
4697
|
+
<sl-icon name="exclamation-triangle"></sl-icon>`;case v.SCOREDOWN:return s.html`
|
|
4698
|
+
<sl-icon name="arrow-down"></sl-icon>`;case v.SCOREUP:return s.html`
|
|
4699
|
+
<sl-icon name="arrow-up"></sl-icon>`;default:return s.html`
|
|
4700
|
+
<sl-icon name="info-square"></sl-icon>`}}render(){return s.html`
|
|
4701
|
+
<div class="toast ${this.isActive?"active":""} toast-${this.toast.type}">
|
|
4702
|
+
<div class="toast-body">
|
|
4703
|
+
<div class="icon ${this.toast.type}">
|
|
4704
|
+
${this.renderIcon()}
|
|
4705
|
+
</div>
|
|
4706
|
+
<div class="details">
|
|
4707
|
+
<h3 class="${this.toast.type}">${this.toast.title}</h3>
|
|
4708
|
+
<p>${this.toast.body}</p>
|
|
4709
|
+
</div>
|
|
4710
|
+
</div>
|
|
4711
|
+
<div class="toast-close ${this.toast.type}">
|
|
4712
|
+
<sl-icon-button class="${this.toast.type}" name="x-lg" label="close"
|
|
4713
|
+
@click="${this.close}"></sl-icon-button>
|
|
4714
|
+
</div>
|
|
4715
|
+
<div class="toast-timer timer-${this.toast.type}">
|
|
4716
|
+
</div>
|
|
4717
|
+
</div>
|
|
4718
|
+
`}};te.styles=[Vs],Bo([a.property()],te.prototype,"toast",2),Bo([a.query(".toast")],te.prototype,"toastElement",2),Bo([a.query(".toast-timer")],te.prototype,"toastTimer",2),Bo([a.property()],te.prototype,"isActive",2),te=Bo([a.customElement("pb33f-toast")],te);var Zs=Object.defineProperty,$s=Object.getOwnPropertyDescriptor,ir=(r,e,o,i)=>{for(var t=i>1?void 0:i?$s(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&Zs(e,o,t),t};let et=class extends s.LitElement{constructor(){super(),this.toasts=[],this.addEventListener(Oi,this.removeToast),this.addEventListener(To,this.addToast)}removeToast(r){setTimeout(()=>{this.toasts=this.toasts.filter(e=>e.toast.id!==r.detail.toastId)},500)}addToastManually(r){this.toasts.unshift(new te(r)),this.requestUpdate()}addToast(r){this.toasts.unshift(new te(r.detail.toast)),this.requestUpdate()}updated(){var r;(r=this.toasts)==null||r.forEach(e=>{setTimeout(()=>{e.activate()},200)})}render(){var r;return s.html`
|
|
4719
|
+
<div class="toast-manager">
|
|
4720
|
+
${(r=this.toasts)==null?void 0:r.map(e=>s.html`${e}`)}
|
|
4721
|
+
</div>
|
|
4722
|
+
`}};ir([a.property()],et.prototype,"toasts",2),et=ir([a.customElement("pb33f-toast-manager")],et);var Ks=Object.defineProperty,qs=Object.getOwnPropertyDescriptor,k=(r,e,o,i)=>{for(var t=i>1?void 0:i?qs(e,o):e,A=r.length-1,n;A>=0;A--)(n=r[A])&&(t=(i?n(e,o,t):n(t))||t);return i&&t&&Ks(e,o,t),t};const _s="pb33f-doctor-editor",ea="pb33f-doctor-howtofix",oa="pb33f-doctor-funcdocs",ta="pb33f-doctor-ruledocs",Ot="pb33f-doctor-diagnostic",Tt="pb33f-doctor-default-ruleset",Gt="pb33f-doctor-owasp-ruleset",Lt="pb33f-doctor-all-ruleset",Eo="pb33f-doctor-functions",fo="pb33f-doctor-function-schema",xo="pb33f-doctor-custom-ruleset",Pe="pb33f-doctor-rule-configuration",ot="pb33f-doctor-session-rulesetmap",tt="document",it="problems",ia="doctor-endpoint";let y=class extends s.LitElement{constructor(r="https://doctor.pb33f.io"){super(),this.debounceTime=400,this.debounceTimeRuleset=900,this.bounceId=0,this.bagManager=qi(!0),this.bagManager.loadStatefulBags().then(this.loadState.bind(this)),this.editor=new ee,this.rulesetEditor=new ee("ruleset"),this.problemList=new jo,this.detailsDrawer=new go,this.problemsOverview=new he,this.errorBanner=new ke,this.statusBar=new Ie,this.ruleDocsWorker=new js,this.unavailable=!1,this.feedback=new pe,this.activitySpinner=new Ko,this.manageRuleset=new X,this.toastManager=new et,this.editorMap=new Map,this.editorMap.set("spec",this.editor),this.editorMap.set("ruleset",this.rulesetEditor),this.selectedEditorTab="spec",this.sidebarClosed=!1;const e=sessionStorage.getItem(ia);e?this.doctorEndpoint=e:this.doctorEndpoint=r,this.editor.language="yaml",this.addEventListener(yt,this.specChanged),this.addEventListener(Di,this.specClicked),this.addEventListener(Oo,this.problemClicked),this.addEventListener(Me,this.ruleDocsClicked),this.addEventListener(Ri,this.ruleGroupClicked),this.addEventListener(Mt,this.customRulesetEnabled),this.addEventListener(Ct,this.rulesetSaved),this.addEventListener(To,this.addToastEvent),this.addEventListener(Hi,this.exportRuleset),this.addEventListener(Ji,this.ruleClicked),window.addEventListener("popstate",o=>{const i=o.state;if(i)switch(i.view){case B.Problems:this.controlTabGroup.show(B.Problems);break;case B.Overview:this.controlTabGroup.show(B.Overview);break}})}exportRuleset(){this.exportRulesetDialog.show()}addToastEvent(r){this.sendToast(r.detail.toast)}sendToast(r){this.toastManager.addToastManually(r)}ruleGroupClicked(r){this.problemsPanel.focus();const e=new CustomEvent(Ni,{bubbles:!0,composed:!0,detail:{rule:r.detail.rule}});this.problemsPanel.focus(),this.problemList.dispatchEvent(e),history.pushState({rule:r.detail.rule},"",`/${B.Problems}?rule=${r.detail.rule}`),this.controlTabGroup.show(B.Problems)}ruleDocsClicked(r){var o,i,t;const e=r.detail.rule;if(e)switch(r.detail.type){case $.RULE_DOCS:const A=(o=this.ruleDocsBag)==null?void 0:o.get(e);A?(r.detail.body=A.body,this.detailsDrawer.open(r.detail)):this.sendToast({id:crypto.randomUUID(),type:v.INFO,title:"Rule documentation unavailable",body:`Documentation for '${e}' not available`});break;case $.HOW_TO_FIX:const n=(i=this.howToFixBag)==null?void 0:i.get(e);n?(r.detail.body=n.howToFix,this.detailsDrawer.open(r.detail)):this.sendToast({id:crypto.randomUUID(),type:v.INFO,title:"How to fix unavailable",body:`Information on how to fix '${e}' not available`});break;case $.FUNCTION_DOCS:const c=(t=this.functionDocsBag)==null?void 0:t.get(e);c?(r.detail.body=c.body,this.detailsDrawer.open(r.detail)):this.sendToast({id:crypto.randomUUID(),type:v.INFO,title:"Function documentation unavailable",body:`Documentation for '${e}' not available`})}}rulesetSaved(r){var e,o,i;if(this.docBag){const t=this.docBag.get(tt),A=(e=this.RuleConfigBag)==null?void 0:e.get(Pe);if(r.detail.rules){if((o=this.CustomRulesetBag)==null||o.set(xo,r.detail.rules),A){const n=r.detail.config;n&&this.RuleConfigBag&&(n.returnedRuleset=r.detail.returnedRules,(i=this.RuleConfigBag)==null||i.set(Pe,n))}D.getSessionRulesetAsYAML().then(n=>{this.selectedEditorTab=="spec"&&(this.rulesetPulse=!0),this.rulesetEditor.setValue(n,!0),this.fetchRulesetMap()}),this.lintSpec(t)}}}lintSpec(r){this.activitySpinner.show(),ae.lintFile(r).then(e=>{var o,i;e&&!Array.isArray(e)&&(this.editor.setMarkers([e]),(o=this.problemBag)==null||o.set(it,[e]),this.problemList.problems=[e],this.problems=[e],this.problemsOverview.problems=this.problemList.problemItems),e&&Array.isArray(e)&&(this.editor.setMarkers(e),(i=this.problemBag)==null||i.set(it,e),this.problemList.problems=e,this.problems=e,this.problemsOverview.problems=this.problemList.problemItems),ae.fetchStatistics().then(t=>{var n;let A=0;if(this.problemsOverview.statistics&&(A=this.problemsOverview.statistics.statistics.overallScore),(n=this.diagnosticBag)==null||n.set(Ot,t),this.activitySpinner.hide(),(t==null?void 0:t.remainingCredit)<=10&&(this.statusBar.callsRemaining=t.remainingCredit,this.statusBar.visible=!0,console.warn("You are running low on credit, you will need to authenticate soon. "+t.remainingCredit+" credits remaining.")),this.problemsOverview.statistics=t,this.problemsOverview.statistics){const c=t.statistics.overallScore;A>c&&this.sendToast({id:crypto.randomUUID(),type:v.SCOREDOWN,body:"Your score has decreased. It is now "+c+"%",title:"Score went down by "+(A-c)+"%"}),A<c&&this.sendToast({id:crypto.randomUUID(),type:v.SCOREUP,body:"Your score has increased to "+c+"%",title:"Score went up by "+(c-A)+"%"})}}).catch(t=>{console.error("statistics service is down",t),this.platformUnavailable(t)})}).catch(e=>{this.platformUnavailable(e),console.error("so sorry, the doctor cannot see you right now, the clinic is closed."),e&&(console.error(e.detail),e.instance==="https://pb33f.io/errors/no-credit-remaining"&&(this.statusBar.callsRemaining=0,this.statusBar.visible=!0,this.sendToast({id:crypto.randomUUID(),type:v.ERROR,body:"Run out of credit, please authenticate for more or wait 24 hours.",title:"Credit exhausted!"})))})}platformUnavailable(r){this.unavailable||(this.errorBanner.errorTitle="The doctor is out.",r?this.errorBanner.errorMessage="The clinic is <strong>closed!</strong> The doctor is currently unavailable because "+r.detail:this.errorBanner.errorMessage="The clinic is <strong>closed!</strong> The doctor is currently unavailable because there is no response from the platform.",this.errorBanner.visible=!0,this.unavailable=!0,this.problemsOverview.unavailable=!0,this.controlTabGroup.show(B.Overview))}specClicked(r){var e,o;if(this.detailsDrawer.close(),this.selectedEditorTab=="spec"){for(let i=0;i<((e=this.problems)==null?void 0:e.length);i++)if(this.problems[i].startLineNumber===r.detail.line){this.problemList.lineClicked(r.detail.line,!0),this.controlTabGroup.show(B.Problems),this.sidebarClosed&&this.toggleSidebar();break}}if(this.selectedEditorTab==B.Ruleset){const i=(o=this.sessionRulesetMapBag)==null?void 0:o.get(ot);if(i){for(let t=0;t<i.length;t++)if(i[t].line===r.detail.line){this.controlTabGroup.show(B.Ruleset),this.sidebarClosed&&this.toggleSidebar();break}}}}problemClicked(r){var e,o;this.selectedEditorTab!="spec"&&(this.editorTabGroup.show("spec"),this.selectedEditorTab="spec"),this.controlTabGroup.show(B.Problems),(e=this.editor.editor)==null||e.revealLineInCenter(r.detail.problem.line),(o=this.editor.editor)==null||o.setPosition({lineNumber:r.detail.problem.line,column:r.detail.problem.column}),this.detailsDrawer.close(),r.detail.launchedFromProblems||this.problemList.lineClicked(r.detail.problem.problemObject.startLineNumber)}loadState(){if(ae.doctorEndpoint=this.doctorEndpoint,$o.doctorEndpoint=this.doctorEndpoint,D.doctorEndpoint=this.doctorEndpoint,this.docBag=this.bagManager.getBag(_s),this.docBag){const e=this.docBag.get(tt);e&&this.editor.setValue(e,!0)}if(this.problemBag=this.bagManager.getBag(it),this.problemBag){const e=this.problemBag.get(it);if(e){this.problems=e,this.editor.setMarkers(e);for(let o=0;o<e.length;o++)e[o]=ne.reconstruct(e[o]);this.problemList.problems=e,this.problemsOverview.problems=this.problemList.problemItems}}if(this.howToFixBag=this.bagManager.getBag(ea),this.diagnosticBag=this.bagManager.getBag(Ot),this.diagnosticBag){const e=this.diagnosticBag.get(Ot);e&&(this.problemsOverview.statistics=e)}const r=[];if(this.DefaultRulesetBag=this.bagManager.getBag(Tt),this.DefaultRulesetBag){const e=this.DefaultRulesetBag.get(Tt);e?this.defaultRuleset=e:r.push(this.fetchDefaultRuleset())}if(this.OWASPRulesetBag=this.bagManager.getBag(Gt),this.OWASPRulesetBag){const e=this.OWASPRulesetBag.get(Gt);e?this.OWASPRuleset=e:r.push(this.fetchOWASPRuleset())}if(this.AllRulesetBag=this.bagManager.getBag(Lt),this.AllRulesetBag){const e=this.AllRulesetBag.get(Lt);e?this.AllRuleset=e:r.push(this.fetchAllRuleset())}if(this.FunctionsBag=this.bagManager.getBag(Eo),this.FunctionSchemaBag=this.bagManager.getBag(fo),this.FunctionsBag){const e=this.FunctionsBag.get(Eo);e?this.functions=e:r.push(this.fetchFunctions())}if(this.CustomRulesetBag=this.bagManager.getBag(xo),this.CustomRulesetBag){const e=this.CustomRulesetBag.get(xo);e&&(this.CustomRuleset=e)}this.RuleConfigBag=this.bagManager.getBag(Pe),this.sessionRulesetMapBag=this.bagManager.getBag(ot),Promise.all(r).then(()=>{var o;this.manageRuleset.defaultRuleset=this.defaultRuleset,this.manageRuleset.owaspRuleset=this.OWASPRuleset,this.manageRuleset.allRuleset=this.AllRuleset,this.manageRuleset.functions=this.functions;const e=(o=this.RuleConfigBag)==null?void 0:o.get(Pe);e?this.manageRuleset.rulesetConfig=e:this.manageRuleset.rulesetConfig={ruleMapping:new Map,allRulesSwitch:!0},this.manageRuleset.buildRulesets(),this.CustomRuleset&&this.CustomRuleset.rules.size>0&&(this.manageRuleset.customRuleset=this.CustomRuleset),this.fetchSessionRulesetAsYaml().then(i=>{var t;this.loadingOverlay.hide(),(t=this.rulesetEditor)==null||t.setValue(i,!0),this.fetchRulesetMap()})}),this.fetchDocs()}customRulesetEnabled(r){var o,i,t;const e={rules:new Map};e.id=crypto.randomUUID(),e.owner=this.session.sessionId,r.detail.rules.forEach(A=>{A.rule.id!=A.ruleId&&(A.rule.id=A.ruleId),e.rules.set(A.ruleId,A.rule)}),(o=this.CustomRulesetBag)==null||o.set(xo,e),r.detail.ruleConfig?(i=this.RuleConfigBag)==null||i.set(Pe,r.detail.ruleConfig):((t=this.RuleConfigBag)==null||t.reset(),D.resetSessionRuleset().then(()=>{if(this.sendToast({id:crypto.randomUUID(),type:v.INFO,body:"Ruleset has been reset to the default",title:"Ruleset reset"}),this.docBag){const A=this.docBag.get(tt);this.lintSpec(A)}this.fetchSessionRulesetAsYaml().then(A=>{var n;(n=this.rulesetEditor)==null||n.setValue(A,!0)})}).catch(A=>{this.sendToast({id:crypto.randomUUID(),type:v.ERROR,body:A.detail,title:"Cannot reset ruleset"})}))}async fetchSessionRulesetAsYaml(){return new Promise(async r=>{D.getSessionRulesetAsYAML().then(e=>{r(e)}).catch(e=>{console.error("cannot fetch session ruleset: ",e.title),r("")})})}async fetchFunctions(){return new Promise(async r=>{D.getFunctions().then(e=>{var i;this.functions=e,(i=this.FunctionsBag)==null||i.set(Eo,e);const o=[];e.forEach(t=>{o.push(this.fetchFunctionSchema(t))}),Promise.all(o).then(()=>{r(e)})})})}async fetchFunctionSchema(r){return new Promise(async e=>{D.getFunctionSchema(r).then(o=>{var t,A;let i=(t=this.FunctionSchemaBag)==null?void 0:t.get(fo);i||(i=new Map),i.set(r,o),(A=this.FunctionSchemaBag)==null||A.set(fo,i),e(o)})})}async fetchDefaultRuleset(){return new Promise(async r=>{D.getDefaultRuleset().then(e=>{var o;this.defaultRuleset=e,(o=this.DefaultRulesetBag)==null||o.set(Tt,e),r(e)})})}async fetchOWASPRuleset(){return new Promise(async r=>{D.getOWASPRuleset().then(e=>{var o;this.OWASPRuleset=e,(o=this.OWASPRulesetBag)==null||o.set(Gt,e),r(e)})})}async fetchAllRuleset(){return new Promise(async r=>{D.getAllRuleset().then(e=>{var o;this.AllRuleset=e,(o=this.AllRulesetBag)==null||o.set(Lt,e),r(e)})})}fetchDocs(){this.activitySpinner.show(),ae.startSession().then(r=>{this.session=r,setTimeout(()=>{this.boostrap()}),ae.fetchAllHowToFix().then(e=>{e&&e.forEach(o=>{var i;(i=this.howToFixBag)==null||i.set(o.ruleId,o)})}).catch(e=>{this.platformUnavailable(e),console.error("documentation service is down")}),this.ruleDocsBag=this.bagManager.getBag(ta),this.functionDocsBag=this.bagManager.getBag(oa),this.ruleDocsWorker.addEventListener("message",e=>{const o=e.data;o&&(o.forEach(i=>{var t,A;i.ruleId&&((t=this.ruleDocsBag)==null||t.set(i.ruleId,i)),i.functionId&&((A=this.functionDocsBag)==null||A.set(i.functionId,i))}),this.activitySpinner.hide())}),this.ruleDocsWorker.postMessage({start:!0,endpoint:this.doctorEndpoint})}).catch(r=>{this.platformUnavailable(r),console.error("cannot start session")})}fetchRulesetMap(){D.getSessionRulesetMap().then(r=>{var e;(e=this.sessionRulesetMapBag)==null||e.set(ot,r)}).catch(()=>{console.warn("map is empty, or unavailable, Did you submit an empty ruleset?"),this.sendToast({id:crypto.randomUUID(),type:v.WARNING,body:"map is empty, or unavailable, Did you submit an empty ruleset?",title:"Issue fetching ruleset map"})})}ruleClicked(r){var o,i,t;const e=(o=this.sessionRulesetMapBag)==null?void 0:o.get(ot);if(e){const A=e.find(n=>n.ruleId===r.detail.ruleId);A&&(this.selectedEditorTab="ruleset",this.editorTabGroup.show(B.Ruleset),(i=this.rulesetEditor.editor)==null||i.setPosition({lineNumber:A.line,column:A.start}),(t=this.rulesetEditor.editor)==null||t.revealLineInCenter(A.line))}}rulesetChanged(){clearTimeout(this.bounceId),this.bounceId=window.setTimeout(()=>{var e;const r=(e=this.rulesetEditor.editor)==null?void 0:e.getValue();D.validateRuleset(r).then(o=>{var t;this.manageRuleset.clearRuleProblems();let i={rules:new Map};i.id=crypto.randomUUID(),i.owner=this.session.sessionId,i.rules=new Map(Object.entries(o.rules)),i.rules.forEach((A,n)=>{A.id=n}),(t=this.CustomRulesetBag)==null||t.set(xo,i),this.CustomRuleset=i,i.rules.size>0&&(this.manageRuleset.customRulesetManual=i),this.selectedEditorTab=B.Ruleset,this.controlTabGroup.show(B.Ruleset),this.rulesetEditor.setMarkers([]),this.fetchRulesetMap()}).catch(o=>{this.sendToast({id:crypto.randomUUID(),type:v.ERROR,body:o.detail,title:o.title}),console.error("unable to validate ruleset",o);const i=o.body,t=[];i==null||i.forEach(A=>{t.push({severity:Xt.MarkerSeverity.Error,message:A.ruleError,startLineNumber:A.line,startColumn:A.startCol,endLineNumber:A.line,endColumn:A.endCol})}),D.convertToJSON(r).then(A=>{let n={rules:new Map};n.id=crypto.randomUUID(),n.owner=this.session.sessionId,n.rules=new Map(Object.entries(A.rules)),n.rules.forEach((c,l)=>{c.id!=l&&(c.id=l)}),this.CustomRuleset=n,n.rules.size>0&&(this.manageRuleset.customRulesetManual=n),this.rulesetEditor.setMarkers([]),this.manageRuleset.clearRuleProblems(),this.rulesetEditor.setMarkers(t),this.manageRuleset.processBadRules(i),this.controlTabGroup.show(B.Ruleset)}).catch(A=>{console.error("unable to convert ruleset to JSON",A)})})},this.debounceTimeRuleset)}specChanged(r){if(this.editorMap.get(r.detail.id)&&r.detail.id==="ruleset"){this.rulesetChanged();return}this.docBag&&this.docBag.set(tt,r.detail.content),clearTimeout(this.bounceId),this.bounceId=window.setTimeout(()=>{this.lintSpec(r.detail.content)},this.debounceTime)}boostrap(){this.editor.getValue()===""&&ae.bootstrapEditor().then(r=>{this.editor.setValue(r,!0),this.specChanged(new CustomEvent(yt,{detail:{content:r,id:"spec"}}))})}exportJSON(){let r;if(this.RuleConfigBag){const e=this.RuleConfigBag.get(Pe);e&&e.returnedRuleset&&(r=e.returnedRuleset)}if(r){let e="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(r,null,2));this.downloadRulesetLink.download="ruleset.json",this.downloadRulesetLink.href=e,this.downloadRulesetLink.click(),this.exportRulesetDialog.hide()}}exportYAML(){D.getSessionRulesetAsYAML().then(r=>{let e="data:text/yaml;charset=utf-8,"+encodeURIComponent(r);this.downloadRulesetLink.download="ruleset.yaml",this.downloadRulesetLink.href=e,this.downloadRulesetLink.click(),this.exportRulesetDialog.hide()})}confirmExport(){switch(this.exportSelection.value){case"json":this.exportJSON();break;case"yaml":this.exportYAML();break}}closeWelcome(){this.welcomeBox.hide(),localStorage.setItem("pb33f-doctor-welcome","closed")}selectEditorTab(r){switch(this.selectedEditorTab=r.detail.name,r.detail.name){case B.Ruleset:this.rulesetPulse&&(this.rulesetPulse=!1),this.controlTabGroup.show(B.Ruleset);break}}selectControlTab(r){switch(r.detail.name){case B.Problems:case B.Overview:this.selectedEditorTab!="spec"&&(this.selectedEditorTab="spec",this.editorTabGroup.show("spec"));break;case B.Ruleset:this.selectedEditorTab!=B.Ruleset&&(this.editorTabGroup.show(B.Ruleset),this.selectedEditorTab=B.Ruleset);break}}toggleSidebar(){var e;const r=(e=this.shadowRoot)==null?void 0:e.querySelector("sl-split-panel");this.sidebarClosed?r&&(this.collapseButton.name="chevron-bar-right",r.style.setProperty("--min","600px"),r.style.setProperty("--max","calc(100vw - 600px)"),r.position=60,r.disabled=!1,this.problemsDataDiv.style.display="block",this.splitDivider.style.display="block",this.activitySpinner.classList.remove("spinner-draw-closed")):r&&(this.collapseButton.name="chevron-bar-left",this.problemsDataDiv.style.display="none",r.style.setProperty("--min","50px"),r.style.setProperty("--max","calc(100vw - 50px)"),r.position=100,r.disabled=!0,this.splitDivider.style.display="none",this.activitySpinner.classList.add("spinner-draw-closed")),this.sidebarClosed=!this.sidebarClosed}render(){let r=s.html``;this.unavailable&&(r=s.html`
|
|
4723
|
+
<div class="overlay" @click="return false"></div>`);let e=s.html`
|
|
4724
|
+
<pb33f-attention-box id="welcome" type="success"
|
|
4725
|
+
headerText="Welcome to the clinic, I am the OpenAPI doctor." closeable>
|
|
4726
|
+
This is an <strong>early preview</strong> of a new <a href="https://pb33f.io">pb33f</a> product,
|
|
4727
|
+
built on top of our very own open source and free software.
|
|
4728
|
+
If you find a bug, please let us know in the <strong>feedback</strong> tab. <br/><br/>
|
|
4729
|
+
<a href="#" @click="${this.closeWelcome}">[Close this message]</a>
|
|
4730
|
+
</pb33f-attention-box>`;localStorage.getItem("pb33f-doctor-welcome")&&(e=s.html``);let i=s.html``;return this.rulesetPulse&&(i=s.html`
|
|
4731
|
+
<sl-badge pulse></sl-badge>`),s.html`
|
|
4732
|
+
${e}
|
|
4733
|
+
${this.toastManager}
|
|
4734
|
+
<sl-dialog open id="loading-overlay" class="dialog-overview"
|
|
4735
|
+
style="--width: 30vw" no-header>
|
|
4736
|
+
<h3 class="loading">OpenAPI Doctor is booting...</h3>
|
|
4737
|
+
</sl-dialog>
|
|
4738
|
+
<sl-dialog id="export-ruleset" label="Export Ruleset" class="dialog-overview"
|
|
4739
|
+
style="--width: 50vw">
|
|
4740
|
+
<div class="export right">
|
|
4741
|
+
<div class="export-block">
|
|
4742
|
+
<sl-radio-group name="ruleset" value="json" id="export-ruleset-radio">
|
|
4743
|
+
<sl-radio-button value="json">JSON
|
|
4744
|
+
</sl-radio-button>
|
|
4745
|
+
<sl-radio-button value="yaml">YAML
|
|
4746
|
+
</sl-radio-button>
|
|
4747
|
+
</sl-radio-group>
|
|
4748
|
+
</div>
|
|
4749
|
+
<div class="export-block">
|
|
4750
|
+
<sl-button @click=${this.confirmExport} variant="primary" size="small" style="float: left">
|
|
4751
|
+
Export
|
|
4752
|
+
</sl-button>
|
|
4753
|
+
<a id="download-ruleset" style="display:none"></a>
|
|
4754
|
+
</div>
|
|
4755
|
+
</div>
|
|
4756
|
+
</sl-dialog>
|
|
3752
4757
|
<div class="doctor">
|
|
3753
4758
|
${this.activitySpinner}
|
|
3754
4759
|
${this.errorBanner}
|
|
3755
4760
|
${r}
|
|
3756
|
-
<sl-split-panel class="split-panel ${this.unavailable?"unavailable":""}">
|
|
3757
|
-
<sl-icon slot="divider" name="grip-vertical"></sl-icon>
|
|
4761
|
+
<sl-split-panel class="split-panel ${this.unavailable?"unavailable":""}" position="60">
|
|
4762
|
+
<sl-icon id="split-divider" slot="divider" name="grip-vertical"></sl-icon>
|
|
3758
4763
|
<div class="editor" slot="start">
|
|
3759
4764
|
${this.detailsDrawer}
|
|
3760
|
-
${this.editor
|
|
4765
|
+
<sl-tab-group class="tab-group" @sl-tab-show="${this.selectEditorTab}" id="editor-controls">
|
|
4766
|
+
<sl-tab slot="nav" panel="spec" class="tab" id="spec">OpenAPI Spec</sl-tab>
|
|
4767
|
+
<sl-tab slot="nav" panel="ruleset" class="tab" id="ruleset">Ruleset ${i}
|
|
4768
|
+
</sl-tab>
|
|
4769
|
+
<sl-tab-panel name="spec" class="tab-panel">${this.editor}</sl-tab-panel>
|
|
4770
|
+
<sl-tab-panel name="ruleset" class="tab-panel">${this.rulesetEditor}</sl-tab-panel>
|
|
4771
|
+
</sl-tab-group>
|
|
3761
4772
|
</div>
|
|
3762
4773
|
<div class="problems" slot="end">
|
|
3763
|
-
<
|
|
3764
|
-
<sl-tab
|
|
3765
|
-
|
|
3766
|
-
|
|
3767
|
-
|
|
3768
|
-
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
<
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
|
|
3777
|
-
Rules</a>?
|
|
3778
|
-
</sl-switch>
|
|
3779
|
-
</div>
|
|
3780
|
-
</sl-tab-panel>
|
|
3781
|
-
<sl-tab-panel name="feedback" class="tab-panel">
|
|
3782
|
-
${this.feedback}
|
|
3783
|
-
</sl-tab-panel>
|
|
3784
|
-
</sl-tab-group>
|
|
4774
|
+
<div class="problems-data">
|
|
4775
|
+
<sl-tab-group class="tab-group" id="manager-controls" @sl-tab-show="${this.selectControlTab}">
|
|
4776
|
+
<sl-tab slot="nav" panel="overview" class="tab" id="overviewPanel" active>Overview
|
|
4777
|
+
</sl-tab>
|
|
4778
|
+
<sl-tab slot="nav" panel="problems" class="tab" id="problemsPanel">Problems</sl-tab>
|
|
4779
|
+
<sl-tab slot="nav" panel="ruleset" class="tab" id="rulesetPanel">Rules</sl-tab>
|
|
4780
|
+
<sl-tab slot="nav" panel="feedback" class="tab" id="feedbackPanel">Feedback</sl-tab>
|
|
4781
|
+
<sl-tab-panel name="overview" class="tab-panel">${this.problemsOverview}</sl-tab-panel>
|
|
4782
|
+
<sl-tab-panel name="problems" class="tab-panel">${this.problemList}</sl-tab-panel>
|
|
4783
|
+
<sl-tab-panel name="ruleset" class="tab-panel">${this.manageRuleset}</sl-tab-panel>
|
|
4784
|
+
<sl-tab-panel name="feedback" class="tab-panel">${this.feedback}</sl-tab-panel>
|
|
4785
|
+
</sl-tab-group>
|
|
4786
|
+
</div>
|
|
4787
|
+
<sl-icon-button class="collapse-side" name="chevron-bar-right" @click="${this.toggleSidebar}"></sl-icon-button>
|
|
3785
4788
|
</div>
|
|
3786
4789
|
</sl-split-panel>
|
|
3787
4790
|
${this.statusBar}
|
|
3788
|
-
</div>`}};
|
|
4791
|
+
</div>`}};y.styles=[Ps,Re,or,de,tr],k([a.query("#overviewPanel")],y.prototype,"overviewPanel",2),k([a.query("#problemsPanel")],y.prototype,"problemsPanel",2),k([a.query("sl-tab-group#manager-controls")],y.prototype,"controlTabGroup",2),k([a.query("sl-tab-group#editor-controls")],y.prototype,"editorTabGroup",2),k([a.query("pb33f-attention-box#welcome")],y.prototype,"welcomeBox",2),k([a.query("sl-radio-group#export-ruleset-radio")],y.prototype,"exportSelection",2),k([a.query("a#download-ruleset")],y.prototype,"downloadRulesetLink",2),k([a.query("sl-dialog#loading-overlay")],y.prototype,"loadingOverlay",2),k([a.query("div.problems-data")],y.prototype,"problemsDataDiv",2),k([a.property({type:Boolean})],y.prototype,"unavailable",2),k([a.property()],y.prototype,"doctorEndpoint",2),k([a.query("sl-dialog#export-ruleset")],y.prototype,"exportRulesetDialog",2),k([a.query("sl-icon-button.collapse-side")],y.prototype,"collapseButton",2),k([a.query("sl-icon#split-divider")],y.prototype,"splitDivider",2),k([a.state()],y.prototype,"rulesetPulse",2),y=k([a.customElement("pb33f-doctor")],y),nr.setBasePath("/shoelace")});
|