@pb33f/cowboy-components 0.1.16 → 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.
Files changed (74) hide show
  1. package/dist/assets/rule-documentation.worker-D39NS8Lx.js +1 -0
  2. package/dist/components/editor/editor.d.ts +2 -0
  3. package/dist/components/editor/editor.js +6 -4
  4. package/dist/components/error-banner/error-banner.css.js +1 -1
  5. package/dist/components/manage-ruleset/function-option.css.d.ts +2 -0
  6. package/dist/components/manage-ruleset/function-option.css.js +38 -0
  7. package/dist/components/manage-ruleset/function-option.d.ts +19 -0
  8. package/dist/components/manage-ruleset/function-option.js +117 -0
  9. package/dist/components/manage-ruleset/manage-ruleset.css.d.ts +2 -0
  10. package/dist/components/manage-ruleset/manage-ruleset.css.js +75 -0
  11. package/dist/components/manage-ruleset/manage-ruleset.d.ts +62 -0
  12. package/dist/components/manage-ruleset/manage-ruleset.js +575 -0
  13. package/dist/components/manage-ruleset/rule-action.css.d.ts +2 -0
  14. package/dist/components/manage-ruleset/rule-action.css.js +56 -0
  15. package/dist/components/manage-ruleset/rule-action.d.ts +37 -0
  16. package/dist/components/manage-ruleset/rule-action.js +351 -0
  17. package/dist/components/manage-ruleset/rule-input.d.ts +38 -0
  18. package/dist/components/manage-ruleset/rule-input.js +296 -0
  19. package/dist/components/manage-ruleset/rule.css.d.ts +2 -0
  20. package/dist/components/manage-ruleset/rule.css.js +117 -0
  21. package/dist/components/manage-ruleset/rule.d.ts +31 -0
  22. package/dist/components/manage-ruleset/rule.js +153 -0
  23. package/dist/components/problem-list/details-drawer.d.ts +2 -1
  24. package/dist/components/problem-list/details-drawer.js +7 -0
  25. package/dist/components/problem-list/filter.css.js +2 -3
  26. package/dist/components/problem-list/problem-item.css.js +1 -3
  27. package/dist/components/problem-list/problem-item.js +1 -1
  28. package/dist/components/problem-list/problem-list.css.js +0 -10
  29. package/dist/components/problem-list/problem-list.js +0 -1
  30. package/dist/components/problems-overview/document-statistic.css.js +0 -1
  31. package/dist/components/problems-overview/problem-overview-group.css.js +1 -3
  32. package/dist/components/problems-overview/problem-overview-group.js +2 -2
  33. package/dist/components/problems-overview/problem-statistics.css.js +0 -5
  34. package/dist/components/problems-overview/problems-overview.css.js +0 -4
  35. package/dist/components/the-doctor/the-doctor.css.js +99 -27
  36. package/dist/components/the-doctor/the-doctor.d.ts +65 -8
  37. package/dist/components/the-doctor/the-doctor.js +663 -63
  38. package/dist/components/toast/toast-component.css.d.ts +2 -0
  39. package/dist/components/toast/toast-component.css.js +151 -0
  40. package/dist/components/toast/toast-component.d.ts +19 -0
  41. package/dist/components/toast/toast-component.js +116 -0
  42. package/dist/components/toast/toast-manager.d.ts +13 -0
  43. package/dist/components/toast/toast-manager.js +54 -0
  44. package/dist/cowboy-components.umd.cjs +1375 -372
  45. package/dist/css/button.css.js +46 -0
  46. package/dist/css/dialog.css.d.ts +2 -0
  47. package/dist/css/dialog.css.js +11 -0
  48. package/dist/css/forms.css.d.ts +2 -0
  49. package/dist/css/forms.css.js +123 -0
  50. package/dist/css/modal.css.d.ts +2 -0
  51. package/dist/css/modal.css.js +15 -0
  52. package/dist/css/pb33f-theme.css +1 -0
  53. package/dist/css/radiogroups.css.d.ts +2 -0
  54. package/dist/css/radiogroups.css.js +26 -0
  55. package/dist/css/spinner.css.d.ts +2 -0
  56. package/dist/css/spinner.css.js +42 -0
  57. package/dist/events/doctor.d.ts +57 -3
  58. package/dist/events/doctor.js +13 -1
  59. package/dist/model/errors.d.ts +10 -0
  60. package/dist/model/rule_documentation.d.ts +8 -2
  61. package/dist/model/rule_documentation.js +5 -1
  62. package/dist/model/toast.d.ts +15 -0
  63. package/dist/model/toast.js +9 -0
  64. package/dist/model/vacuum_rule.d.ts +58 -0
  65. package/dist/model/vacuum_rule.js +1 -0
  66. package/dist/services/linting-service.d.ts +1 -1
  67. package/dist/services/linting-service.js +2 -6
  68. package/dist/services/ruleset-service.d.ts +17 -0
  69. package/dist/services/ruleset-service.js +316 -0
  70. package/dist/style.css +1 -1
  71. package/dist/workers/rule-documentation.worker.d.ts +7 -4
  72. package/dist/workers/rule-documentation.worker.js +93 -2
  73. package/package.json +1 -1
  74. package/dist/assets/rule-documentation.worker-BFIxMBU8.js +0 -1
@@ -1,4 +1,4 @@
1
- (function(a,c){typeof exports=="object"&&typeof module<"u"?c(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/card/card.js"),require("@shoelace-style/shoelace/dist/components/textarea/textarea.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/card/card.js","@shoelace-style/shoelace/dist/components/textarea/textarea.js","@shoelace-style/shoelace/dist/utilities/base-path.js"],c):(a=typeof globalThis<"u"?globalThis:a||self,c(a.lit,a["lit/decorators"].js,a.prismjs,a.monaco,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,a.basePath))})(this,function(a,c,x,wt,qn,_n,ea,oa,Aa,ta,ra,ia,na,aa,ca,sa,la,da,ga,ha,Bt){"use strict";var Zn=Object.defineProperty;var Kn=(a,c,x)=>c in a?Zn(a,c,{enumerable:!0,configurable:!0,writable:!0,value:x}):a[c]=x;var w=(a,c,x)=>(Kn(a,typeof c!="symbol"?c+"":c,x),x),$n=(a,c,x)=>{if(!c.has(a))throw TypeError("Cannot "+x)};var lA=(a,c,x)=>{if(c.has(a))throw TypeError("Cannot add the same private member more than once");c instanceof WeakSet?c.add(a):c.set(a,x)};var Do=(a,c,x)=>($n(a,c,"access private method"),x);var qe,dA,yo,mt;function bt(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const o in r)if(o!=="default"){const A=Object.getOwnPropertyDescriptor(r,o);Object.defineProperty(e,o,A.get?A:{enumerable:!0,get:()=>r[o]})}}return e.default=r,Object.freeze(e)}const I=bt(wt),ut=a.css`
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 Et=Object.defineProperty,xt=Object.getOwnPropertyDescriptor,Qt=(r,e,o,A)=>{for(var t=A>1?void 0:A?xt(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&&Et(e,o,t),t};let Io=class extends a.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 a.html`
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
- `}};Io.styles=ut,Io=Qt([c.customElement("terminal-example")],Io);const ft=a.css`
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 vt=Object.defineProperty,Mt=Object.getOwnPropertyDescriptor,gA=(r,e,o,A)=>{for(var t=A>1?void 0:A?Mt(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&&vt(e,o,t),t};const ye="dark",Ce="light",hA="pb33f-theme";let _e=class extends a.LitElement{constructor(){super(...arguments),this.theme=ye}connectedCallback(){super.connectedCallback(),this.theme=localStorage.getItem(hA)||Ce;const r=document.querySelector("html");if(r)switch(r.setAttribute("theme",this.theme),this.theme){case ye:r.classList.add("sl-theme-dark");break;case Ce:r.classList.remove("sl-theme-dark");break}}toggleTheme(){this.theme===ye?this.theme=Ce:this.theme=ye,localStorage.setItem(hA,this.theme);const r=document.querySelector("html");if(r)switch(r.setAttribute("theme",this.theme),this.theme){case ye:r.classList.add("sl-theme-dark");break;case Ce:r.classList.remove("sl-theme-dark");break}}render(){let r="sun";return this.theme===Ce&&(r="moon"),a.html`
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
- `}};_e.styles=ft,gA([c.state()],_e.prototype,"theme",2),_e=gA([c.customElement("pb33f-theme-switcher")],_e);const yt=a.css`
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 Ct=Object.defineProperty,Dt=Object.getOwnPropertyDescriptor,eo=(r,e,o,A)=>{for(var t=A>1?void 0:A?Dt(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&&Ct(e,o,t),t};let me=class extends a.LitElement{constructor(){super(),this.name="pb33f",this.url="https://pb33f.io",this.wide=!1}render(){return a.html`
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>`}};me.styles=yt,eo([c.property()],me.prototype,"name",2),eo([c.property()],me.prototype,"url",2),eo([c.property({type:Boolean})],me.prototype,"wide",2),me=eo([c.customElement("pb33f-header")],me);/**
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*pA(r,e){if(r!==void 0){let o=0;for(const A of r)yield e(A,o++)}}const It=a.css`
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 De=globalThis,oo=De.trustedTypes,mA=oo?oo.createPolicy("lit-html",{createHTML:r=>r}):void 0,wA="$lit$",O=`lit$${(Math.random()+"").slice(9)}$`,BA="?"+O,kt=`<${BA}>`,oe=document,Ao=()=>oe.createComment(""),Ie=r=>r===null||typeof r!="object"&&typeof r!="function",bA=Array.isArray,Ft=r=>bA(r)||typeof(r==null?void 0:r[Symbol.iterator])=="function",ko=`[
283
- \f\r]`,ke=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,uA=/-->/g,EA=/>/g,Ae=RegExp(`>|${ko}(?:([^\\s"'>=/]+)(${ko}*=${ko}*(?:[^
284
- \f\r"'\`<>=]|("|')|))|$)`,"g"),xA=/'/g,QA=/"/g,fA=/^(?:script|style|textarea|title)$/i,we=Symbol.for("lit-noChange"),u=Symbol.for("lit-nothing"),vA=new WeakMap,te=oe.createTreeWalker(oe,129);function MA(r,e){if(!Array.isArray(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return mA!==void 0?mA.createHTML(e):e}const zt=(r,e)=>{const o=r.length-1,A=[];let t,n=e===2?"<svg>":"",i=ke;for(let s=0;s<o;s++){const l=r[s];let g,d,h=-1,p=0;for(;p<l.length&&(i.lastIndex=p,d=i.exec(l),d!==null);)p=i.lastIndex,i===ke?d[1]==="!--"?i=uA:d[1]!==void 0?i=EA:d[2]!==void 0?(fA.test(d[2])&&(t=RegExp("</"+d[2],"g")),i=Ae):d[3]!==void 0&&(i=Ae):i===Ae?d[0]===">"?(i=t??ke,h=-1):d[1]===void 0?h=-2:(h=i.lastIndex-d[2].length,g=d[1],i=d[3]===void 0?Ae:d[3]==='"'?QA:xA):i===QA||i===xA?i=Ae:i===uA||i===EA?i=ke:(i=Ae,t=void 0);const m=i===Ae&&r[s+1].startsWith("/>")?" ":"";n+=i===ke?l+kt:h>=0?(A.push(g),l.slice(0,h)+wA+l.slice(h)+O+m):l+O+(h===-2?s:m)}return[MA(r,n+(r[o]||"<?>")+(e===2?"</svg>":"")),A]};class Fe{constructor({strings:e,_$litType$:o},A){let t;this.parts=[];let n=0,i=0;const s=e.length-1,l=this.parts,[g,d]=zt(e,o);if(this.el=Fe.createElement(g,A),te.currentNode=this.el.content,o===2){const h=this.el.content.firstChild;h.replaceWith(...h.childNodes)}for(;(t=te.nextNode())!==null&&l.length<s;){if(t.nodeType===1){if(t.hasAttributes())for(const h of t.getAttributeNames())if(h.endsWith(wA)){const p=d[i++],m=t.getAttribute(h).split(O),Q=/([.?@])?(.*)/.exec(p);l.push({type:1,index:n,name:Q[2],strings:m,ctor:Q[1]==="."?Ut:Q[1]==="?"?Yt:Q[1]==="@"?St:ro}),t.removeAttribute(h)}else h.startsWith(O)&&(l.push({type:6,index:n}),t.removeAttribute(h));if(fA.test(t.tagName)){const h=t.textContent.split(O),p=h.length-1;if(p>0){t.textContent=oo?oo.emptyScript:"";for(let m=0;m<p;m++)t.append(h[m],Ao()),te.nextNode(),l.push({type:2,index:++n});t.append(h[p],Ao())}}}else if(t.nodeType===8)if(t.data===BA)l.push({type:2,index:n});else{let h=-1;for(;(h=t.data.indexOf(O,h+1))!==-1;)l.push({type:7,index:n}),h+=O.length-1}n++}}static createElement(e,o){const A=oe.createElement("template");return A.innerHTML=e,A}}function Be(r,e,o=r,A){var i,s;if(e===we)return e;let t=A!==void 0?(i=o._$Co)==null?void 0:i[A]:o._$Cl;const n=Ie(e)?void 0:e._$litDirective$;return(t==null?void 0:t.constructor)!==n&&((s=t==null?void 0:t._$AO)==null||s.call(t,!1),n===void 0?t=void 0:(t=new n(r),t._$AT(r,o,A)),A!==void 0?(o._$Co??(o._$Co=[]))[A]=t:o._$Cl=t),t!==void 0&&(e=Be(r,t._$AS(r,e.values),t,A)),e}class Nt{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:A}=this._$AD,t=((e==null?void 0:e.creationScope)??oe).importNode(o,!0);te.currentNode=t;let n=te.nextNode(),i=0,s=0,l=A[0];for(;l!==void 0;){if(i===l.index){let g;l.type===2?g=new to(n,n.nextSibling,this,e):l.type===1?g=new l.ctor(n,l.name,l.strings,this,e):l.type===6&&(g=new Jt(n,this,e)),this._$AV.push(g),l=A[++s]}i!==(l==null?void 0:l.index)&&(n=te.nextNode(),i++)}return te.currentNode=oe,t}p(e){let o=0;for(const A of this._$AV)A!==void 0&&(A.strings!==void 0?(A._$AI(e,A,o),o+=A.strings.length-2):A._$AI(e[o])),o++}}class to{get _$AU(){var e;return((e=this._$AM)==null?void 0:e._$AU)??this._$Cv}constructor(e,o,A,t){this.type=2,this._$AH=u,this._$AN=void 0,this._$AA=e,this._$AB=o,this._$AM=A,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=Be(this,e,o),Ie(e)?e===u||e==null||e===""?(this._$AH!==u&&this._$AR(),this._$AH=u):e!==this._$AH&&e!==we&&this._(e):e._$litType$!==void 0?this.g(e):e.nodeType!==void 0?this.$(e):Ft(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!==u&&Ie(this._$AH)?this._$AA.nextSibling.data=e:this.$(oe.createTextNode(e)),this._$AH=e}g(e){var n;const{values:o,_$litType$:A}=e,t=typeof A=="number"?this._$AC(e):(A.el===void 0&&(A.el=Fe.createElement(MA(A.h,A.h[0]),this.options)),A);if(((n=this._$AH)==null?void 0:n._$AD)===t)this._$AH.p(o);else{const i=new Nt(t,this),s=i.u(this.options);i.p(o),this.$(s),this._$AH=i}}_$AC(e){let o=vA.get(e.strings);return o===void 0&&vA.set(e.strings,o=new Fe(e)),o}T(e){bA(this._$AH)||(this._$AH=[],this._$AR());const o=this._$AH;let A,t=0;for(const n of e)t===o.length?o.push(A=new to(this.k(Ao()),this.k(Ao()),this,this.options)):A=o[t],A._$AI(n),t++;t<o.length&&(this._$AR(A&&A._$AB.nextSibling,t),o.length=t)}_$AR(e=this._$AA.nextSibling,o){var A;for((A=this._$AP)==null?void 0:A.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 ro{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,o,A,t,n){this.type=1,this._$AH=u,this._$AN=void 0,this.element=e,this.name=o,this._$AM=t,this.options=n,A.length>2||A[0]!==""||A[1]!==""?(this._$AH=Array(A.length-1).fill(new String),this.strings=A):this._$AH=u}_$AI(e,o=this,A,t){const n=this.strings;let i=!1;if(n===void 0)e=Be(this,e,o,0),i=!Ie(e)||e!==this._$AH&&e!==we,i&&(this._$AH=e);else{const s=e;let l,g;for(e=n[0],l=0;l<n.length-1;l++)g=Be(this,s[A+l],o,l),g===we&&(g=this._$AH[l]),i||(i=!Ie(g)||g!==this._$AH[l]),g===u?e=u:e!==u&&(e+=(g??"")+n[l+1]),this._$AH[l]=g}i&&!t&&this.O(e)}O(e){e===u?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class Ut extends ro{constructor(){super(...arguments),this.type=3}O(e){this.element[this.name]=e===u?void 0:e}}class Yt extends ro{constructor(){super(...arguments),this.type=4}O(e){this.element.toggleAttribute(this.name,!!e&&e!==u)}}class St extends ro{constructor(e,o,A,t,n){super(e,o,A,t,n),this.type=5}_$AI(e,o=this){if((e=Be(this,e,o,0)??u)===we)return;const A=this._$AH,t=e===u&&A!==u||e.capture!==A.capture||e.once!==A.once||e.passive!==A.passive,n=e!==u&&(A===u||t);t&&this.element.removeEventListener(this.name,this,A),n&&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 Jt{constructor(e,o,A){this.element=e,this.type=6,this._$AN=void 0,this._$AM=o,this.options=A}get _$AU(){return this._$AM._$AU}_$AI(e){Be(this,e)}}const Fo=De.litHtmlPolyfillSupport;Fo==null||Fo(Fe,to),(De.litHtmlVersions??(De.litHtmlVersions=[])).push("3.1.0");/**
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 yA={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},CA=r=>(...e)=>({_$litDirective$:r,values:e});class DA{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,o,A){this._$Ct=e,this._$AM=o,this._$Ci=A}_$AS(e,o){return this.update(e,o)}update(e,o){return this.render(...o)}}/**
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 zo=class extends DA{constructor(e){if(super(e),this.et=u,e.type!==yA.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===u||e==null)return this.vt=void 0,this.et=e;if(e===we)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:[]}}};zo.directiveName="unsafeHTML",zo.resultType=1;const N=CA(zo),Rt=a.css`
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
- `,j=a.css`
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
- `,Ht=a.css`
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 Gt=Object.defineProperty,Tt=Object.getOwnPropertyDescriptor,io=(r,e,o,A)=>{for(var t=A>1?void 0:A?Tt(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&&Gt(e,o,t),t};x.manual=!0,document.removeEventListener("DOMContentLoaded",x.highlightAll);let re=class extends a.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 n;let r=a.html``;this._data&&(r=a.html`
646
- ${pA(this._data,i=>typeof i[1]=="object"?a.html`
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>${i[0]}</code></td>
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;">${N(x.highlight(JSON.stringify(i[1],null,2),x.languages.json,"json"))}</pre></code>
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>`:a.html`
652
+ </tr>`:s.html`
653
653
  <tr>
654
- <td><code>${i[0]}</code></td>
655
- <td>${N(i[1])}</td>
654
+ <td><code>${n[0]}</code></td>
655
+ <td>${H(n[1])}</td>
656
656
  </tr>`)}
657
- `);const e=a.html`
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=a.html`
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=a.html``);const A=a.html`
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=((n=this._data)==null?void 0:n.size)>0?A:e;return a.html`${t}`}};re.styles=[j,Ht,Rt,It],io([c.property()],re.prototype,"keyLabel",2),io([c.property()],re.prototype,"valueLabel",2),io([c.state()],re.prototype,"_data",2),re=io([c.customElement("pb33f-kv-view")],re);const Lt=a.css`
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 Ot=Object.defineProperty,jt=Object.getOwnPropertyDescriptor,ze=(r,e,o,A)=>{for(var t=A>1?void 0:A?jt(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&&Ot(e,o,t),t};let ie=class extends a.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=a.html``;this._data&&(r=a.html`
785
- ${pA(this._data,n=>{var s,l;if(n.type!=="field")return a.html`
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>${n.name}</code></td>
788
- <td><code>${n.type}</code></td>
789
- <td>${(s=n.files)==null?void 0:s.map(g=>{var d;return a.html`
790
- <span class="file-name">${g.name}</span>
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=g.headers)==null?void 0:d.forEach((h,p)=>a.html`
793
- <span class="file-header">${p}
794
- : <strong>${h}</strong></span>`)}</td>
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 i="";return(l=n.value)==null||l.forEach(g=>{i+=g}),a.html`
796
+ </td>`;let n="";return(l=A.value)==null||l.forEach(d=>{n+=d}),s.html`
797
797
  <tr>
798
- <td><code>${n.name}</code></td>
799
- <td>${n.type}</td>
800
- <td>${N(i)}</td>
798
+ <td><code>${A.name}</code></td>
799
+ <td>${A.type}</td>
800
+ <td>${H(n)}</td>
801
801
  </tr>`})}
802
- `);const e=a.html`
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=a.html`
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
- `,A=((t=this._data)==null?void 0:t.length)>0?o:e;return a.html`${A}`}};ie.styles=[j,Lt],ze([c.property()],ie.prototype,"propertyLabel",2),ze([c.property()],ie.prototype,"typeLabel",2),ze([c.property()],ie.prototype,"valueLabel",2),ze([c.state()],ie.prototype,"_data",2),ie=ze([c.customElement("pb33f-http-http-property-view")],ie);const Pt=a.css`
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 Vt=Object.defineProperty,Xt=Object.getOwnPropertyDescriptor,Wt=(r,e,o,A)=>{for(var t=A>1?void 0:A?Xt(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&&Vt(e,o,t),t};let No=class extends a.LitElement{constructor(){super()}render(){return a.html`
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
- `}};No.styles=Pt,No=Wt([c.customElement("pb33f-timeline")],No);const Zt=a.css`
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 Kt=Object.defineProperty,$t=Object.getOwnPropertyDescriptor,qt=(r,e,o,A)=>{for(var t=A>1?void 0:A?$t(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&&Kt(e,o,t),t};let Uo=class extends a.LitElement{constructor(){super()}render(){return a.html`
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>`}};Uo.styles=Zt,Uo=qt([c.customElement("pb33f-timeline-item")],Uo);function _t(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 er=a.css`
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 or=Object.defineProperty,Ar=Object.getOwnPropertyDescriptor,Yo=(r,e,o,A)=>{for(var t=A>1?void 0:A?Ar(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&&or(e,o,t),t};let Ne=class extends a.LitElement{constructor(){super(),this.lower=!1,this.method="GET"}render(){return a.html`
973
- <sl-tag variant="${_t(this.method)}" class="method">
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
- `}};Ne.styles=er,Yo([c.property()],Ne.prototype,"method",2),Yo([c.property({type:Boolean})],Ne.prototype,"lower",2),Ne=Yo([c.customElement("pb33f-http-method")],Ne);const tr=a.css`
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 rr=Object.defineProperty,ir=Object.getOwnPropertyDescriptor,k=(r,e,o,A)=>{for(var t=A>1?void 0:A?ir(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&&rr(e,o,t),t};let v=class extends a.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,A){const t=await fetch(`${A}?email=${o}`);if(!t.ok){let n=await t.json();return Promise.reject(n)}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 a.html`
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
- `}};v.styles=[j,tr],k([c.property()],v.prototype,"apiURL",2),k([c.property()],v.prototype,"thanksMessage",2),k([c.property()],v.prototype,"promiseMessage",2),k([c.state()],v.prototype,"email",2),k([c.query("#email-input")],v.prototype,"emailInput",2),k([c.query(".subscribed")],v.prototype,"subscribed",2),k([c.query(".unsubscribed")],v.prototype,"unsubscribed",2),k([c.query(".mailing-list-promise")],v.prototype,"mailingListPromise",2),k([c.query("#email-submit")],v.prototype,"emailSubmit",2),k([c.query(".mailing-list-error")],v.prototype,"mailingListError",2),k([c.property()],v.prototype,"error",2),v=k([c.customElement("pb33f-mailing-list")],v);function So(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let ne=So();function IA(r){ne=r}const kA=/[&<>"']/,nr=new RegExp(kA.source,"g"),FA=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,ar=new RegExp(FA.source,"g"),cr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},zA=r=>cr[r];function C(r,e){if(e){if(kA.test(r))return r.replace(nr,zA)}else if(FA.test(r))return r.replace(ar,zA);return r}const sr=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function lr(r){return r.replace(sr,(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 dr=/(^|[^\[])\^/g;function b(r,e){let o=typeof r=="string"?r:r.source;e=e||"";const A={replace:(t,n)=>{let i=typeof n=="string"?n:n.source;return i=i.replace(dr,"$1"),o=o.replace(t,i),A},getRegex:()=>new RegExp(o,e)};return A}function NA(r){try{r=encodeURI(r).replace(/%25/g,"%")}catch{return null}return r}const Ue={exec:()=>null};function UA(r,e){const o=r.replace(/\|/g,(n,i,s)=>{let l=!1,g=i;for(;--g>=0&&s[g]==="\\";)l=!l;return l?"|":" |"}),A=o.split(/ \|/);let t=0;if(A[0].trim()||A.shift(),A.length>0&&!A[A.length-1].trim()&&A.pop(),e)if(A.length>e)A.splice(e);else for(;A.length<e;)A.push("");for(;t<A.length;t++)A[t]=A[t].trim().replace(/\\\|/g,"|");return A}function no(r,e,o){const A=r.length;if(A===0)return"";let t=0;for(;t<A;){const n=r.charAt(A-t-1);if(n===e&&!o)t++;else if(n!==e&&o)t++;else break}return r.slice(0,A-t)}function gr(r,e){if(r.indexOf(e[1])===-1)return-1;let o=0;for(let A=0;A<r.length;A++)if(r[A]==="\\")A++;else if(r[A]===e[0])o++;else if(r[A]===e[1]&&(o--,o<0))return A;return-1}function YA(r,e,o,A){const t=e.href,n=e.title?C(e.title):null,i=r[1].replace(/\\([\[\]])/g,"$1");if(r[0].charAt(0)!=="!"){A.state.inLink=!0;const s={type:"link",raw:o,href:t,title:n,text:i,tokens:A.inlineTokens(i)};return A.state.inLink=!1,s}return{type:"image",raw:o,href:t,title:n,text:C(i)}}function hr(r,e){const o=r.match(/^(\s+)(?:```)/);if(o===null)return e;const A=o[1];return e.split(`
1097
- `).map(t=>{const n=t.match(/^\s+/);if(n===null)return t;const[i]=n;return i.length>=A.length?t.slice(A.length):t}).join(`
1098
- `)}class ao{constructor(e){w(this,"options");w(this,"rules");w(this,"lexer");this.options=e||ne}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 A=o[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:o[0],codeBlockStyle:"indented",text:this.options.pedantic?A:no(A,`
1099
- `)}}}fences(e){const o=this.rules.block.fences.exec(e);if(o){const A=o[0],t=hr(A,o[3]||"");return{type:"code",raw:A,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 A=o[2].trim();if(/#$/.test(A)){const t=no(A,"#");(this.options.pedantic||!t||/ $/.test(t))&&(A=t.trim())}return{type:"heading",raw:o[0],depth:o[1].length,text:A,tokens:this.lexer.inline(A)}}}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 A=no(o[0].replace(/^ *>[ \t]?/gm,""),`
1100
- `),t=this.lexer.state.top;this.lexer.state.top=!0;const n=this.lexer.blockTokens(A);return this.lexer.state.top=t,{type:"blockquote",raw:o[0],tokens:n,text:A}}}list(e){let o=this.rules.block.list.exec(e);if(o){let A=o[1].trim();const t=A.length>1,n={type:"list",raw:"",ordered:t,start:t?+A.slice(0,-1):"",loose:!1,items:[]};A=t?`\\d{1,9}\\${A.slice(-1)}`:`\\${A}`,this.options.pedantic&&(A=t?A:"[*+-]");const i=new RegExp(`^( {0,3}${A})((?:[ ][^\\n]*)?(?:\\n|$))`);let s="",l="",g=!1;for(;e;){let d=!1;if(!(o=i.exec(e))||this.rules.block.hr.test(e))break;s=o[0],e=e.substring(s.length);let h=o[2].split(`
1101
- `,1)[0].replace(/^\t+/,cA=>" ".repeat(3*cA.length)),p=e.split(`
1102
- `,1)[0],m=0;this.options.pedantic?(m=2,l=h.trimStart()):(m=o[2].search(/[^ ]/),m=m>4?1:m,l=h.slice(m),m+=o[1].length);let Q=!1;if(!h&&/^ *$/.test(p)&&(s+=p+`
1103
- `,e=e.substring(p.length+1),d=!0),!d){const cA=new RegExp(`^ {0,${Math.min(3,m-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),gt=new RegExp(`^ {0,${Math.min(3,m-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),ht=new RegExp(`^ {0,${Math.min(3,m-1)}}(?:\`\`\`|~~~)`),pt=new RegExp(`^ {0,${Math.min(3,m-1)}}#`);for(;e;){const sA=e.split(`
1104
- `,1)[0];if(p=sA,this.options.pedantic&&(p=p.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),ht.test(p)||pt.test(p)||cA.test(p)||gt.test(e))break;if(p.search(/[^ ]/)>=m||!p.trim())l+=`
1105
- `+p.slice(m);else{if(Q||h.search(/[^ ]/)>=4||ht.test(h)||pt.test(h)||gt.test(h))break;l+=`
1106
- `+p}!Q&&!p.trim()&&(Q=!0),s+=sA+`
1107
- `,e=e.substring(sA.length+1),h=p.slice(m)}}n.loose||(g?n.loose=!0:/\n *\n *$/.test(s)&&(g=!0));let y=null,Y;this.options.gfm&&(y=/^\[[ xX]\] /.exec(l),y&&(Y=y[0]!=="[ ] ",l=l.replace(/^\[[ xX]\] +/,""))),n.items.push({type:"list_item",raw:s,task:!!y,checked:Y,loose:!1,text:l,tokens:[]}),n.raw+=s}n.items[n.items.length-1].raw=s.trimEnd(),n.items[n.items.length-1].text=l.trimEnd(),n.raw=n.raw.trimEnd();for(let d=0;d<n.items.length;d++)if(this.lexer.state.top=!1,n.items[d].tokens=this.lexer.blockTokens(n.items[d].text,[]),!n.loose){const h=n.items[d].tokens.filter(m=>m.type==="space"),p=h.length>0&&h.some(m=>/\n.*\n/.test(m.raw));n.loose=p}if(n.loose)for(let d=0;d<n.items.length;d++)n.items[d].loose=!0;return n}}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 A=o[1].toLowerCase().replace(/\s+/g," "),t=o[2]?o[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=o[3]?o[3].substring(1,o[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):o[3];return{type:"def",tag:A,raw:o[0],href:t,title:n}}}table(e){const o=this.rules.block.table.exec(e);if(!o||!/[:|]/.test(o[2]))return;const A=UA(o[1]),t=o[2].replace(/^\||\| *$/g,"").split("|"),n=o[3]&&o[3].trim()?o[3].replace(/\n[ \t]*$/,"").split(`
1108
- `):[],i={type:"table",raw:o[0],header:[],align:[],rows:[]};if(A.length===t.length){for(const s of t)/^ *-+: *$/.test(s)?i.align.push("right"):/^ *:-+: *$/.test(s)?i.align.push("center"):/^ *:-+ *$/.test(s)?i.align.push("left"):i.align.push(null);for(const s of A)i.header.push({text:s,tokens:this.lexer.inline(s)});for(const s of n)i.rows.push(UA(s,i.header.length).map(l=>({text:l,tokens:this.lexer.inline(l)})));return i}}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 A=o[1].charAt(o[1].length-1)===`
1109
- `?o[1].slice(0,-1):o[1];return{type:"paragraph",raw:o[0],text:A,tokens:this.lexer.inline(A)}}}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:C(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 A=o[2].trim();if(!this.options.pedantic&&/^</.test(A)){if(!/>$/.test(A))return;const i=no(A.slice(0,-1),"\\");if((A.length-i.length)%2===0)return}else{const i=gr(o[2],"()");if(i>-1){const l=(o[0].indexOf("!")===0?5:4)+o[1].length+i;o[2]=o[2].substring(0,i),o[0]=o[0].substring(0,l).trim(),o[3]=""}}let t=o[2],n="";if(this.options.pedantic){const i=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(t);i&&(t=i[1],n=i[3])}else n=o[3]?o[3].slice(1,-1):"";return t=t.trim(),/^</.test(t)&&(this.options.pedantic&&!/>$/.test(A)?t=t.slice(1):t=t.slice(1,-1)),YA(o,{href:t&&t.replace(this.rules.inline.anyPunctuation,"$1"),title:n&&n.replace(this.rules.inline.anyPunctuation,"$1")},o[0],this.lexer)}}reflink(e,o){let A;if((A=this.rules.inline.reflink.exec(e))||(A=this.rules.inline.nolink.exec(e))){const t=(A[2]||A[1]).replace(/\s+/g," "),n=o[t.toLowerCase()];if(!n){const i=A[0].charAt(0);return{type:"text",raw:i,text:i}}return YA(A,n,A[0],this.lexer)}}emStrong(e,o,A=""){let t=this.rules.inline.emStrongLDelim.exec(e);if(!t||t[3]&&A.match(/[\p{L}\p{N}]/u))return;if(!(t[1]||t[2]||"")||!A||this.rules.inline.punctuation.exec(A)){const i=[...t[0]].length-1;let s,l,g=i,d=0;const h=t[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,o=o.slice(-1*e.length+i);(t=h.exec(o))!=null;){if(s=t[1]||t[2]||t[3]||t[4]||t[5]||t[6],!s)continue;if(l=[...s].length,t[3]||t[4]){g+=l;continue}else if((t[5]||t[6])&&i%3&&!((i+l)%3)){d+=l;continue}if(g-=l,g>0)continue;l=Math.min(l,l+g+d);const p=[...t[0]][0].length,m=e.slice(0,i+t.index+p+l);if(Math.min(i,l)%2){const y=m.slice(1,-1);return{type:"em",raw:m,text:y,tokens:this.lexer.inlineTokens(y)}}const Q=m.slice(2,-2);return{type:"strong",raw:m,text:Q,tokens:this.lexer.inlineTokens(Q)}}}}codespan(e){const o=this.rules.inline.code.exec(e);if(o){let A=o[2].replace(/\n/g," ");const t=/[^ ]/.test(A),n=/^ /.test(A)&&/ $/.test(A);return t&&n&&(A=A.substring(1,A.length-1)),A=C(A,!0),{type:"codespan",raw:o[0],text:A}}}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 A,t;return o[2]==="@"?(A=C(o[1]),t="mailto:"+A):(A=C(o[1]),t=A),{type:"link",raw:o[0],text:A,href:t,tokens:[{type:"text",raw:A,text:A}]}}}url(e){var A;let o;if(o=this.rules.inline.url.exec(e)){let t,n;if(o[2]==="@")t=C(o[0]),n="mailto:"+t;else{let i;do i=o[0],o[0]=((A=this.rules.inline._backpedal.exec(o[0]))==null?void 0:A[0])??"";while(i!==o[0]);t=C(o[0]),o[1]==="www."?n="http://"+o[0]:n=o[0]}return{type:"link",raw:o[0],text:t,href:n,tokens:[{type:"text",raw:t,text:t}]}}}inlineText(e){const o=this.rules.inline.text.exec(e);if(o){let A;return this.lexer.state.inRawBlock?A=o[0]:A=C(o[0]),{type:"text",raw:o[0],text:A}}}}const pr=/^(?: *(?:\n|$))+/,mr=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,wr=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Ye=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Br=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,SA=/(?:[*+-]|\d{1,9}[.)])/,JA=b(/^(?!bull )((?:.|\n(?!\s*?\n|bull ))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,SA).getRegex(),Jo=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,br=/^[^\n]+/,Ro=/(?!\s*\])(?:\\.|[^\[\]\\])+/,ur=b(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",Ro).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Er=b(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,SA).getRegex(),co="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",Ho=/<!--(?!-?>)[\s\S]*?(?:-->|$)/,xr=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",Ho).replace("tag",co).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),RA=b(Jo).replace("hr",Ye).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",co).getRegex(),Go={blockquote:b(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",RA).getRegex(),code:mr,def:ur,fences:wr,heading:Br,hr:Ye,html:xr,lheading:JA,list:Er,newline:pr,paragraph:RA,table:Ue,text:br},HA=b("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Ye).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",co).getRegex(),Qr={...Go,table:HA,paragraph:b(Jo).replace("hr",Ye).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",HA).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",co).getRegex()},fr={...Go,html:b(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Ho).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:Ue,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:b(Jo).replace("hr",Ye).replace("heading",` *#{1,6} *[^
1110
- ]`).replace("lheading",JA).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},GA=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,vr=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,TA=/^( {2,}|\\)\n(?!\s*$)/,Mr=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Se="\\p{P}$+<=>`^|~",yr=b(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,Se).getRegex(),Cr=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,Dr=b(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Se).getRegex(),Ir=b("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Se).getRegex(),kr=b("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Se).getRegex(),Fr=b(/\\([punct])/,"gu").replace(/punct/g,Se).getRegex(),zr=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(),Nr=b(Ho).replace("(?:-->|$)","-->").getRegex(),Ur=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",Nr).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),so=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Yr=b(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",so).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),LA=b(/^!?\[(label)\]\[(ref)\]/).replace("label",so).replace("ref",Ro).getRegex(),OA=b(/^!?\[(ref)\](?:\[\])?/).replace("ref",Ro).getRegex(),Sr=b("reflink|nolink(?!\\()","g").replace("reflink",LA).replace("nolink",OA).getRegex(),To={_backpedal:Ue,anyPunctuation:Fr,autolink:zr,blockSkip:Cr,br:TA,code:vr,del:Ue,emStrongLDelim:Dr,emStrongRDelimAst:Ir,emStrongRDelimUnd:kr,escape:GA,link:Yr,nolink:OA,punctuation:yr,reflink:LA,reflinkSearch:Sr,tag:Ur,text:Mr,url:Ue},Jr={...To,link:b(/^!?\[(label)\]\((.*?)\)/).replace("label",so).getRegex(),reflink:b(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",so).getRegex()},Lo={...To,escape:b(GA).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.!#$%&'*+\/=?_`{\|}~-]+@)))/},Rr={...Lo,br:b(TA).replace("{2,}","*").getRegex(),text:b(Lo.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},lo={normal:Go,gfm:Qr,pedantic:fr},Je={normal:To,gfm:Lo,breaks:Rr,pedantic:Jr};class S{constructor(e){w(this,"tokens");w(this,"options");w(this,"state");w(this,"tokenizer");w(this,"inlineQueue");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||ne,this.options.tokenizer=this.options.tokenizer||new ao,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:lo.normal,inline:Je.normal};this.options.pedantic?(o.block=lo.pedantic,o.inline=Je.pedantic):this.options.gfm&&(o.block=lo.gfm,this.options.breaks?o.inline=Je.breaks:o.inline=Je.gfm),this.tokenizer.rules=o}static get rules(){return{block:lo,inline:Je}}static lex(e,o){return new S(o).lex(e)}static lexInline(e,o){return new S(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 A=this.inlineQueue[o];this.inlineTokens(A.src,A.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,o=[]){this.options.pedantic?e=e.replace(/\t/g," ").replace(/^ +$/gm,""):e=e.replace(/^( *)(\t+)/gm,(s,l,g)=>l+" ".repeat(g.length));let A,t,n,i;for(;e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(s=>(A=s.call({lexer:this},e,o))?(e=e.substring(A.raw.length),o.push(A),!0):!1))){if(A=this.tokenizer.space(e)){e=e.substring(A.raw.length),A.raw.length===1&&o.length>0?o[o.length-1].raw+=`
1112
- `:o.push(A);continue}if(A=this.tokenizer.code(e)){e=e.substring(A.raw.length),t=o[o.length-1],t&&(t.type==="paragraph"||t.type==="text")?(t.raw+=`
1113
- `+A.raw,t.text+=`
1114
- `+A.text,this.inlineQueue[this.inlineQueue.length-1].src=t.text):o.push(A);continue}if(A=this.tokenizer.fences(e)){e=e.substring(A.raw.length),o.push(A);continue}if(A=this.tokenizer.heading(e)){e=e.substring(A.raw.length),o.push(A);continue}if(A=this.tokenizer.hr(e)){e=e.substring(A.raw.length),o.push(A);continue}if(A=this.tokenizer.blockquote(e)){e=e.substring(A.raw.length),o.push(A);continue}if(A=this.tokenizer.list(e)){e=e.substring(A.raw.length),o.push(A);continue}if(A=this.tokenizer.html(e)){e=e.substring(A.raw.length),o.push(A);continue}if(A=this.tokenizer.def(e)){e=e.substring(A.raw.length),t=o[o.length-1],t&&(t.type==="paragraph"||t.type==="text")?(t.raw+=`
1115
- `+A.raw,t.text+=`
1116
- `+A.raw,this.inlineQueue[this.inlineQueue.length-1].src=t.text):this.tokens.links[A.tag]||(this.tokens.links[A.tag]={href:A.href,title:A.title});continue}if(A=this.tokenizer.table(e)){e=e.substring(A.raw.length),o.push(A);continue}if(A=this.tokenizer.lheading(e)){e=e.substring(A.raw.length),o.push(A);continue}if(n=e,this.options.extensions&&this.options.extensions.startBlock){let s=1/0;const l=e.slice(1);let g;this.options.extensions.startBlock.forEach(d=>{g=d.call({lexer:this},l),typeof g=="number"&&g>=0&&(s=Math.min(s,g))}),s<1/0&&s>=0&&(n=e.substring(0,s+1))}if(this.state.top&&(A=this.tokenizer.paragraph(n))){t=o[o.length-1],i&&t.type==="paragraph"?(t.raw+=`
1117
- `+A.raw,t.text+=`
1118
- `+A.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=t.text):o.push(A),i=n.length!==e.length,e=e.substring(A.raw.length);continue}if(A=this.tokenizer.text(e)){e=e.substring(A.raw.length),t=o[o.length-1],t&&t.type==="text"?(t.raw+=`
1119
- `+A.raw,t.text+=`
1120
- `+A.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=t.text):o.push(A);continue}if(e){const s="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,o}inline(e,o=[]){return this.inlineQueue.push({src:e,tokens:o}),o}inlineTokens(e,o=[]){let A,t,n,i=e,s,l,g;if(this.tokens.links){const d=Object.keys(this.tokens.links);if(d.length>0)for(;(s=this.tokenizer.rules.inline.reflinkSearch.exec(i))!=null;)d.includes(s[0].slice(s[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,s.index)+"["+"a".repeat(s[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(s=this.tokenizer.rules.inline.blockSkip.exec(i))!=null;)i=i.slice(0,s.index)+"["+"a".repeat(s[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(s=this.tokenizer.rules.inline.anyPunctuation.exec(i))!=null;)i=i.slice(0,s.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(l||(g=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(d=>(A=d.call({lexer:this},e,o))?(e=e.substring(A.raw.length),o.push(A),!0):!1))){if(A=this.tokenizer.escape(e)){e=e.substring(A.raw.length),o.push(A);continue}if(A=this.tokenizer.tag(e)){e=e.substring(A.raw.length),t=o[o.length-1],t&&A.type==="text"&&t.type==="text"?(t.raw+=A.raw,t.text+=A.text):o.push(A);continue}if(A=this.tokenizer.link(e)){e=e.substring(A.raw.length),o.push(A);continue}if(A=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(A.raw.length),t=o[o.length-1],t&&A.type==="text"&&t.type==="text"?(t.raw+=A.raw,t.text+=A.text):o.push(A);continue}if(A=this.tokenizer.emStrong(e,i,g)){e=e.substring(A.raw.length),o.push(A);continue}if(A=this.tokenizer.codespan(e)){e=e.substring(A.raw.length),o.push(A);continue}if(A=this.tokenizer.br(e)){e=e.substring(A.raw.length),o.push(A);continue}if(A=this.tokenizer.del(e)){e=e.substring(A.raw.length),o.push(A);continue}if(A=this.tokenizer.autolink(e)){e=e.substring(A.raw.length),o.push(A);continue}if(!this.state.inLink&&(A=this.tokenizer.url(e))){e=e.substring(A.raw.length),o.push(A);continue}if(n=e,this.options.extensions&&this.options.extensions.startInline){let d=1/0;const h=e.slice(1);let p;this.options.extensions.startInline.forEach(m=>{p=m.call({lexer:this},h),typeof p=="number"&&p>=0&&(d=Math.min(d,p))}),d<1/0&&d>=0&&(n=e.substring(0,d+1))}if(A=this.tokenizer.inlineText(n)){e=e.substring(A.raw.length),A.raw.slice(-1)!=="_"&&(g=A.raw.slice(-1)),l=!0,t=o[o.length-1],t&&t.type==="text"?(t.raw+=A.raw,t.text+=A.text):o.push(A);continue}if(e){const d="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(d);break}else throw new Error(d)}}return o}}class go{constructor(e){w(this,"options");this.options=e||ne}code(e,o,A){var n;const t=(n=(o||"").match(/^\S*/))==null?void 0:n[0];return e=e.replace(/\n$/,"")+`
1121
- `,t?'<pre><code class="language-'+C(t)+'">'+(A?e:C(e,!0))+`</code></pre>
1122
- `:"<pre><code>"+(A?e:C(e,!0))+`</code></pre>
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={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},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,A){return`<h${o}>${e}</h${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,A){const t=o?"ol":"ul",n=o&&A!==1?' start="'+A+'"':"";return"<"+t+n+`>
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,A){return`<li>${e}</li>
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 A=o.header?"th":"td";return(o.align?`<${A} align="${o.align}">`:`<${A}>`)+e+`</${A}>
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,A){const t=NA(e);if(t===null)return A;e=t;let n='<a href="'+e+'"';return o&&(n+=' title="'+o+'"'),n+=">"+A+"</a>",n}image(e,o,A){const t=NA(e);if(t===null)return A;e=t;let n=`<img src="${e}" alt="${A}"`;return o&&(n+=` title="${o}"`),n+=">",n}text(e){return e}}class Oo{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,A){return""+A}image(e,o,A){return""+A}br(){return""}}class J{constructor(e){w(this,"options");w(this,"renderer");w(this,"textRenderer");this.options=e||ne,this.options.renderer=this.options.renderer||new go,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Oo}static parse(e,o){return new J(o).parse(e)}static parseInline(e,o){return new J(o).parseInline(e)}parse(e,o=!0){let A="";for(let t=0;t<e.length;t++){const n=e[t];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[n.type]){const i=n,s=this.options.extensions.renderers[i.type].call({parser:this},i);if(s!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(i.type)){A+=s||"";continue}}switch(n.type){case"space":continue;case"hr":{A+=this.renderer.hr();continue}case"heading":{const i=n;A+=this.renderer.heading(this.parseInline(i.tokens),i.depth,lr(this.parseInline(i.tokens,this.textRenderer)));continue}case"code":{const i=n;A+=this.renderer.code(i.text,i.lang,!!i.escaped);continue}case"table":{const i=n;let s="",l="";for(let d=0;d<i.header.length;d++)l+=this.renderer.tablecell(this.parseInline(i.header[d].tokens),{header:!0,align:i.align[d]});s+=this.renderer.tablerow(l);let g="";for(let d=0;d<i.rows.length;d++){const h=i.rows[d];l="";for(let p=0;p<h.length;p++)l+=this.renderer.tablecell(this.parseInline(h[p].tokens),{header:!1,align:i.align[p]});g+=this.renderer.tablerow(l)}A+=this.renderer.table(s,g);continue}case"blockquote":{const i=n,s=this.parse(i.tokens);A+=this.renderer.blockquote(s);continue}case"list":{const i=n,s=i.ordered,l=i.start,g=i.loose;let d="";for(let h=0;h<i.items.length;h++){const p=i.items[h],m=p.checked,Q=p.task;let y="";if(p.task){const Y=this.renderer.checkbox(!!m);g?p.tokens.length>0&&p.tokens[0].type==="paragraph"?(p.tokens[0].text=Y+" "+p.tokens[0].text,p.tokens[0].tokens&&p.tokens[0].tokens.length>0&&p.tokens[0].tokens[0].type==="text"&&(p.tokens[0].tokens[0].text=Y+" "+p.tokens[0].tokens[0].text)):p.tokens.unshift({type:"text",text:Y+" "}):y+=Y+" "}y+=this.parse(p.tokens,g),d+=this.renderer.listitem(y,Q,!!m)}A+=this.renderer.list(d,s,l);continue}case"html":{const i=n;A+=this.renderer.html(i.text,i.block);continue}case"paragraph":{const i=n;A+=this.renderer.paragraph(this.parseInline(i.tokens));continue}case"text":{let i=n,s=i.tokens?this.parseInline(i.tokens):i.text;for(;t+1<e.length&&e[t+1].type==="text";)i=e[++t],s+=`
1139
- `+(i.tokens?this.parseInline(i.tokens):i.text);A+=o?this.renderer.paragraph(s):s;continue}default:{const i='Token with "'+n.type+'" type was not found.';if(this.options.silent)return console.error(i),"";throw new Error(i)}}}return A}parseInline(e,o){o=o||this.renderer;let A="";for(let t=0;t<e.length;t++){const n=e[t];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[n.type]){const i=this.options.extensions.renderers[n.type].call({parser:this},n);if(i!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(n.type)){A+=i||"";continue}}switch(n.type){case"escape":{const i=n;A+=o.text(i.text);break}case"html":{const i=n;A+=o.html(i.text);break}case"link":{const i=n;A+=o.link(i.href,i.title,this.parseInline(i.tokens,o));break}case"image":{const i=n;A+=o.image(i.href,i.title,i.text);break}case"strong":{const i=n;A+=o.strong(this.parseInline(i.tokens,o));break}case"em":{const i=n;A+=o.em(this.parseInline(i.tokens,o));break}case"codespan":{const i=n;A+=o.codespan(i.text);break}case"br":{A+=o.br();break}case"del":{const i=n;A+=o.del(this.parseInline(i.tokens,o));break}case"text":{const i=n;A+=o.text(i.text);break}default:{const i='Token with "'+n.type+'" type was not found.';if(this.options.silent)return console.error(i),"";throw new Error(i)}}}return A}}class Re{constructor(e){w(this,"options");this.options=e||ne}preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}}w(Re,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"]));class Hr{constructor(...e){lA(this,qe);lA(this,yo);w(this,"defaults",So());w(this,"options",this.setOptions);w(this,"parse",Do(this,qe,dA).call(this,S.lex,J.parse));w(this,"parseInline",Do(this,qe,dA).call(this,S.lexInline,J.parseInline));w(this,"Parser",J);w(this,"Renderer",go);w(this,"TextRenderer",Oo);w(this,"Lexer",S);w(this,"Tokenizer",ao);w(this,"Hooks",Re);this.use(...e)}walkTokens(e,o){var t,n;let A=[];for(const i of e)switch(A=A.concat(o.call(this,i)),i.type){case"table":{const s=i;for(const l of s.header)A=A.concat(this.walkTokens(l.tokens,o));for(const l of s.rows)for(const g of l)A=A.concat(this.walkTokens(g.tokens,o));break}case"list":{const s=i;A=A.concat(this.walkTokens(s.items,o));break}default:{const s=i;(n=(t=this.defaults.extensions)==null?void 0:t.childTokens)!=null&&n[s.type]?this.defaults.extensions.childTokens[s.type].forEach(l=>{A=A.concat(this.walkTokens(s[l],o))}):s.tokens&&(A=A.concat(this.walkTokens(s.tokens,o)))}}return A}use(...e){const o=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(A=>{const t={...A};if(t.async=this.defaults.async||t.async||!1,A.extensions&&(A.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){const i=o.renderers[n.name];i?o.renderers[n.name]=function(...s){let l=n.renderer.apply(this,s);return l===!1&&(l=i.apply(this,s)),l}:o.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||n.level!=="block"&&n.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const i=o[n.level];i?i.unshift(n.tokenizer):o[n.level]=[n.tokenizer],n.start&&(n.level==="block"?o.startBlock?o.startBlock.push(n.start):o.startBlock=[n.start]:n.level==="inline"&&(o.startInline?o.startInline.push(n.start):o.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(o.childTokens[n.name]=n.childTokens)}),t.extensions=o),A.renderer){const n=this.defaults.renderer||new go(this.defaults);for(const i in A.renderer){if(!(i in n))throw new Error(`renderer '${i}' does not exist`);if(i==="options")continue;const s=i,l=A.renderer[s],g=n[s];n[s]=(...d)=>{let h=l.apply(n,d);return h===!1&&(h=g.apply(n,d)),h||""}}t.renderer=n}if(A.tokenizer){const n=this.defaults.tokenizer||new ao(this.defaults);for(const i in A.tokenizer){if(!(i in n))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;const s=i,l=A.tokenizer[s],g=n[s];n[s]=(...d)=>{let h=l.apply(n,d);return h===!1&&(h=g.apply(n,d)),h}}t.tokenizer=n}if(A.hooks){const n=this.defaults.hooks||new Re;for(const i in A.hooks){if(!(i in n))throw new Error(`hook '${i}' does not exist`);if(i==="options")continue;const s=i,l=A.hooks[s],g=n[s];Re.passThroughHooks.has(i)?n[s]=d=>{if(this.defaults.async)return Promise.resolve(l.call(n,d)).then(p=>g.call(n,p));const h=l.call(n,d);return g.call(n,h)}:n[s]=(...d)=>{let h=l.apply(n,d);return h===!1&&(h=g.apply(n,d)),h}}t.hooks=n}if(A.walkTokens){const n=this.defaults.walkTokens,i=A.walkTokens;t.walkTokens=function(s){let l=[];return l.push(i.call(this,s)),n&&(l=l.concat(n.call(this,s))),l}}this.defaults={...this.defaults,...t}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,o){return S.lex(e,o??this.defaults)}parser(e,o){return J.parse(e,o??this.defaults)}}qe=new WeakSet,dA=function(e,o){return(A,t)=>{const n={...t},i={...this.defaults,...n};this.defaults.async===!0&&n.async===!1&&(i.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),i.async=!0);const s=Do(this,yo,mt).call(this,!!i.silent,!!i.async);if(typeof A>"u"||A===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof A!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(A)+", string expected"));if(i.hooks&&(i.hooks.options=i),i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(A):A).then(l=>e(l,i)).then(l=>i.hooks?i.hooks.processAllTokens(l):l).then(l=>i.walkTokens?Promise.all(this.walkTokens(l,i.walkTokens)).then(()=>l):l).then(l=>o(l,i)).then(l=>i.hooks?i.hooks.postprocess(l):l).catch(s);try{i.hooks&&(A=i.hooks.preprocess(A));let l=e(A,i);i.hooks&&(l=i.hooks.processAllTokens(l)),i.walkTokens&&this.walkTokens(l,i.walkTokens);let g=o(l,i);return i.hooks&&(g=i.hooks.postprocess(g)),g}catch(l){return s(l)}}},yo=new WeakSet,mt=function(e,o){return A=>{if(A.message+=`
1140
- Please report this to https://github.com/markedjs/marked.`,e){const t="<p>An error occurred:</p><pre>"+C(A.message+"",!0)+"</pre>";return o?Promise.resolve(t):t}if(o)return Promise.reject(A);throw A}};const ae=new Hr;function B(r,e){return ae.parse(r,e)}B.options=B.setOptions=function(r){return ae.setOptions(r),B.defaults=ae.defaults,IA(B.defaults),B},B.getDefaults=So,B.defaults=ne,B.use=function(...r){return ae.use(...r),B.defaults=ae.defaults,IA(B.defaults),B},B.walkTokens=function(r,e){return ae.walkTokens(r,e)},B.parseInline=ae.parseInline,B.Parser=J,B.parser=J.parse,B.Renderer=go,B.TextRenderer=Oo,B.Lexer=S,B.lexer=S.lex,B.Tokenizer=ao,B.Hooks=Re,B.parse=B,B.options,B.setOptions,B.use,B.walkTokens,B.parseInline,J.parse,S.lex;const Gr=a.css`
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
- `,jA=a.css`
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
- `,Tr=a.css`
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 Lr=Object.defineProperty,Or=Object.getOwnPropertyDescriptor,F=(r,e,o,A)=>{for(var t=A>1?void 0:A?Or(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&&Lr(e,o,t),t};let f=class extends a.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 re;return e.data=r,e.keyLabel="",e.valueLabel="",a.html`
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
- ${N(this.body)}
1420
+ ${H(this.body)}
1421
1421
  <slot></slot>
1422
1422
  <hr/>
1423
1423
  ${e}
1424
1424
  </sl-details>
1425
- `}};f.styles=[j,Tr],F([c.property()],f.prototype,"name",2),F([c.property()],f.prototype,"body",2),F([c.property()],f.prototype,"published",2),F([c.property()],f.prototype,"link",2),F([c.property()],f.prototype,"author",2),F([c.property()],f.prototype,"authorLink",2),F([c.property()],f.prototype,"authorImage",2),F([c.property()],f.prototype,"tarball",2),F([c.property({type:Boolean})],f.prototype,"milestone",2),F([c.property({type:Boolean})],f.prototype,"latest",2),F([c.query("sl-details")],f.prototype,"details",2),f=F([c.customElement("pb33f-release")],f);var jr=Object.defineProperty,Pr=Object.getOwnPropertyDescriptor,He=(r,e,o,A)=>{for(var t=A>1?void 0:A?Pr(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&&jr(e,o,t),t};let ce=class extends a.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 a.html`
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=n=>parseInt(n.split(".")[2]),A=[];let t=null;for(let n=0;n<((e=this.summaries)==null?void 0:e.length);n++){const i=this.summaries[n];let s=o(i.tag_name),l=a.html``,g=!1;s==0&&(g=!0,l=a.html`
1430
- <sl-icon name="braces-asterisk" class="major-icon"></sl-icon>`);const d=B.parse(i.body).toString();let h=!1;n==0&&(h=!0);const p=new f;p.latest=h,p.milestone=g,p.name=i.name,p.published=i.published_at,p.link=i.html_url,p.author=i.author,p.tarball=i.tarball_url,p.authorLink=i.author_url,p.authorImage=i.author_image,p.body=d;let m=!1;i.name==this._linked&&(m=!0),m&&(t=p),A.push(a.html`
1431
- <pb33f-timeline-item id="release_${i.name}">
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="${g?"major":null}">${i.publish_date}</span>
1433
+ <span slot="time" class="${d?"major":null}">${n.publish_date}</span>
1434
1434
  <div slot="content">
1435
- ${p}
1435
+ ${h}
1436
1436
  </div>
1437
- </pb33f-timeline-item>`)}return t&&setTimeout(()=>{t==null||t.open()}),a.html`
1437
+ </pb33f-timeline-item>`)}return t&&setTimeout(()=>{t==null||t.open()}),s.html`
1438
1438
  <pb33f-timeline>
1439
- ${A.map(n=>n)}
1439
+ ${i.map(A=>A)}
1440
1440
  </pb33f-timeline>
1441
- `}else return a.html`
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
- `}};ce.styles=[j,jA,Gr],He([c.property()],ce.prototype,"apiURL",2),He([c.property()],ce.prototype,"project",2),He([c.state()],ce.prototype,"summaries",2),He([c.state()],ce.prototype,"error",2),ce=He([c.customElement("pb33f-changelog")],ce);const Vr=a.css`
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 Xr=Object.defineProperty,Wr=Object.getOwnPropertyDescriptor,Ge=(r,e,o,A)=>{for(var t=A>1?void 0:A?Wr(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&&Xr(e,o,t),t};let se=class extends a.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=a.html``;((o=this.headerText)==null?void 0:o.length)>0&&(r=a.html`<strong>${this.headerText}</strong>`);let e=a.html`
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=a.html`
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>`),a.html`
1556
+ </sl-alert>`),s.html`
1557
1557
  <div class='attention ${this.type}'>
1558
1558
  ${e}
1559
1559
  </div>
1560
- `}};se.styles=[jA,Vr],Ge([c.property()],se.prototype,"type",2),Ge([c.property()],se.prototype,"headerText",2),Ge([c.property({type:Boolean})],se.prototype,"closeable",2),Ge([c.query("sl-alert")],se.prototype,"alert",2),se=Ge([c.customElement("pb33f-attention-box")],se);const Zr=a.css`
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 Kr=Object.defineProperty,$r=Object.getOwnPropertyDescriptor,PA=(r,e,o,A)=>{for(var t=A>1?void 0:A?$r(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&&Kr(e,o,t),t};let ho=class extends a.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((A,t)=>{t===1&&(o=o.replaceAll(A,'<span class="bracket">'+A+"</span>")),t===2&&(o=o.replaceAll(A,'<span class="param">'+A+"</span>")),t===3&&(o=o.replaceAll(A,'<span class="bracket">'+A+"</span>"))});return a.html`${N(o)}`}render(){return a.html`${this.replaceBrackets()}`}};ho.styles=Zr,PA([c.property()],ho.prototype,"path",2),ho=PA([c.customElement("pb33f-render-operation-path")],ho);const qr=a.css`
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 _r=Object.defineProperty,ei=Object.getOwnPropertyDescriptor,jo=(r,e,o,A)=>{for(var t=A>1?void 0:A?ei(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&&_r(e,o,t),t};const oi=/(\{)([\w.\-_$:]+)(})|(:)([\w.\-_$:]+)/g,Po=/(\[)(["']?)([\w${}:.\-_/\\]+)(['"]?)(])/g;let Te=class extends a.LitElement{constructor(){super(),this.path="/",this.selected=!1,this.chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"}replaceBrackets(r){let e,o=r;for(;(e=oi.exec(r))!==null;)e.forEach((A,t)=>{A!==void 0&&(t===1||t===4)&&(o=o.replaceAll(A,'<span class="bracket">'+A+"</span>")),A!==void 0&&(t===2||t===5)&&(o=o.replaceAll(A,'<span class="param-nested">'+A+"</span>")),A!==void 0&&t===3&&(o=o.replaceAll(A,'<span class="bracket">'+A+"</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 A=new Map,t;for(;(t=Po.exec(o))!==null;){const i=Po.lastIndex-t.index,s=Ai(i,this.chars);A.set(s,t),e=e.substring(0,t.index)+s+e.substring(Po.lastIndex)}e=e.replaceAll(".",'<span class="dot">.</span>'),A.forEach((i,s)=>{let l=[];i[1]!==void 0&&l.push('<span part="path" class="bracket">'+i[1]+"</span>"),i[2]!==void 0&&l.push(i[2]),i[3]!==void 0&&l.push('<span part="path" class="param">'+this.replaceBrackets(i[3])+"</span>"),i[4]!==void 0&&l.push(i[4]),i[5]!==void 0&&l.push('<span part="path" class="bracket">'+i[5]+"</span>");const g=l.join("");e=e.replaceAll(s,g)});let n=e;return n=n.replaceAll("$","<span class='dollar'>$</span>"),n===""&&(n="<span part='path' class='dot'>{no path available}</span>"),a.html`${N(n)}`}render(){return a.html`<span part="path" class="jsonpath ${this.selected?"selected":""}">${this.breakPath()}</span>`}};Te.styles=qr,jo([c.property()],Te.prototype,"path",2),jo([c.property({type:Boolean})],Te.prototype,"selected",2),Te=jo([c.customElement("pb33f-render-json-path")],Te);function Ai(r,e){let o="";for(let A=r;A>0;--A)o+=e[Math.floor(Math.random()*e.length)];return o}const ti=a.css`
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
- `,Vo=a.css`
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 ri=Object.defineProperty,ii=Object.getOwnPropertyDescriptor,Xo=(r,e,o,A)=>{for(var t=A>1?void 0:A?ii(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&&ri(e,o,t),t};let Le=class extends a.LitElement{constructor(){super(),this.url="https://pb33f.io",this.build=""}render(){const r=new Date().getFullYear();return a.html`
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
  &copy;${r} <a href="${this.url}">princess b33f heavy industries</a>
1702
1702
  <span class="generated-timestamp">${this.build}</span>
1703
- </footer>`}};Le.styles=[ti,Vo],Xo([c.property()],Le.prototype,"build",2),Xo([c.property()],Le.prototype,"url",2),Le=Xo([c.customElement("pb33f-footer")],Le);const Wo="editorUpdated",VA="editorClicked",po="problemClicked",Oe="openProblemDrawer",XA="mainViewSlideChanged",WA="problemLabelViewFilterChanged",ZA="problemSortFilterChanged",KA="problemRuleFilterChanged",$A="problemRuleFilterChangedManual",qA="problemSearchFilterChanged",_A="ruleViolationClicked",ni="message";var R=(r=>(r.Problems="problems",r.Overview="overview",r))(R||{});class P{static reconstruct(e){return new P(e.category,e.jsonPath,e.endColumn,e.endLineNumber,e.message,e.severity,e.startColumn,e.startLineNumber,e.source,e.id)}constructor(e,o,A,t,n,i,s,l,g,d){this.category=e,this.jsonPath=o,this.endColumn=A,this.endLineNumber=t,this.message=n,this.severity=i,this.startColumn=s,this.startLineNumber=l,this.source=g,this.id=d,this.startLineNumber===0&&(this.startLineNumber=1)}hash(){return`${this.startLineNumber}:${this.startColumn}:${this.endLineNumber}:${this.endColumn}:${this.message}:${this.category}`}}function et(r){return r.severity===I.MarkerSeverity.Error?"error":r.severity===I.MarkerSeverity.Warning?"warning":"info"}function ot(r){return r.severity===I.MarkerSeverity.Error?"x-square":r.severity===I.MarkerSeverity.Warning?"exclamation-triangle":"info-square"}const Zo=a.css`
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
- `,mo=a.css`
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
- `;var ai=Object.defineProperty,ci=Object.getOwnPropertyDescriptor,At=(r,e,o,A)=>{for(var t=A>1?void 0:A?ci(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&&ai(e,o,t),t},E=(r=>(r.JSONPath="Path",r.RuleViolation="Rule Violation",r.Message="Message",r.Category="Category",r))(E||{});let je=class extends a.LitElement{constructor(){super(),this.menuValues=Object.values(E),this.selectedLabel=this.menuValues[0].toString()}filterChanged(r){const e=r.detail.item;this.selectedLabel=e.value,this.dispatchEvent(new CustomEvent(WA,{composed:!0,detail:{label:this.selectedLabel}}))}render(){return a.html`
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=>a.html`
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>`}};je.styles=[Zo,mo],At([c.property()],je.prototype,"selectedLabel",2),je=At([c.customElement("pb33f-problem-label-view-filter")],je);const si=a.css`
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
- `,Ko=a.css`
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 li=Object.defineProperty,di=Object.getOwnPropertyDescriptor,T=(r,e,o,A)=>{for(var t=A>1?void 0:A?di(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&&li(e,o,t),t};let M=class extends a.LitElement{constructor(){super(),this.scrollOnUpdate=!0,this.selectedSibling=!1,this.problemLabelView=E.JSONPath}renderMessage(r,e=!1){let o=a.html``;switch(this.problemLabelView){case E.JSONPath:o=a.html`
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 E.RuleViolation:o=a.html`${this.problemObject.source}</>`;break;case E.Message:o=a.html`${N(B.parse(this.problemObject.message).toString())}</>`;break;case E.Category:o=a.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()}),this.scrollOnUpdate=!0)}selectedProblem(){this.selected=!0,this.scrollOnUpdate=!1,this.dispatchEvent(new CustomEvent(po,{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),a.html`
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 ${et(this.problemObject)} class="${e?r:""}"">
2058
- <sl-icon name="${ot(this.problemObject)}"></sl-icon>
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}&nbsp;
@@ -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>`}};M.styles=[Ko,si],T([c.property()],M.prototype,"source",2),T([c.property()],M.prototype,"problem",2),T([c.property({type:Number})],M.prototype,"line",2),T([c.property({type:Number})],M.prototype,"column",2),T([c.property({type:Boolean})],M.prototype,"selected",2),T([c.property({type:Boolean})],M.prototype,"selectedSibling",2),T([c.property({type:E})],M.prototype,"problemLabelView",2),T([c.query(".problem")],M.prototype,"prob",2),M=T([c.customElement("pb33f-problem-item")],M);const gi=a.css`
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
- `,hi=a.css`
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
- `,pi=a.css`
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 mi=Object.defineProperty,wi=Object.getOwnPropertyDescriptor,tt=(r,e,o,A)=>{for(var t=A>1?void 0:A?wi(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&&mi(e,o,t),t},le=(r=>(r.RULE_DOCS="ruleDocs",r.HOW_TO_FIX="howToFix",r))(le||{});let Pe=class extends a.LitElement{constructor(){super()}render(){return a.html`
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=a.html`${N(r.body)}`);break;case"howToFix":r.rule&&(this.label="Rule: "+r.rule),this.content=a.html`
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()}};Pe.styles=[Ko,hi,pi],tt([c.query("sl-drawer")],Pe.prototype,"drawer",2),Pe=tt([c.customElement("pb33f-problem-details-drawer")],Pe);var Bi=Object.defineProperty,bi=Object.getOwnPropertyDescriptor,$o=(r,e,o,A)=>{for(var t=A>1?void 0:A?bi(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&&Bi(e,o,t),t};let be=class extends a.LitElement{constructor(){super(),this.selectedIndex=0,this.manualChange=!1}showRuleDocs(r){this.dispatchEvent(new CustomEvent(Oe,{bubbles:!0,composed:!0,detail:{type:le.RULE_DOCS,rule:r}}))}howToFix(r){this.dispatchEvent(new CustomEvent(Oe,{bubbles:!0,composed:!0,detail:{type:le.HOW_TO_FIX,rule:r}}))}slideChanged(r){if(this.manualChange){this.manualChange=!1;return}this.dispatchEvent(new CustomEvent(XA,{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 a.html`
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=>a.html`
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 a.html`
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 a.html`
2371
- <div class="main-view empty">Pick a problem...<br/><sl-icon name="pin-angle"></sl-icon><br/></div>`}renderProblem(r){return a.html`
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 ${et(r)}">
2374
- <sl-icon name="${ot(r)}"></sl-icon>
2370
+ <div class="icon ${Ti(r)}">
2371
+ <sl-icon name="${Gi(r)}"></sl-icon>
2375
2372
  </div>
2376
2373
  <div class="message">
2377
- ${N(B.parse(r.message).toString())}
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>`}};be.styles=[gi,Ko],$o([c.property({type:M})],be.prototype,"problems",2),$o([c.query("sl-carousel")],be.prototype,"carousel",2),be=$o([c.customElement("pb33f-problem-mainview")],be);const ui=a.css`
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=>a.html`
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>`}};Ve.styles=[Zo,mo],rt([c.property()],Ve.prototype,"selectedSort",2),Ve=rt([c.customElement("pb33f-problem-sort-filter")],Ve);var Qi=Object.defineProperty,fi=Object.getOwnPropertyDescriptor,qo=(r,e,o,A)=>{for(var t=A>1?void 0:A?fi(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};let ue=class extends a.LitElement{constructor(){super()}search(){this.dispatchEvent(new CustomEvent(qA,{composed:!0,bubbles:!0,detail:{search:this.input.value}}))}render(){return a.html`
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>`}};ue.styles=[mo],qo([c.property()],ue.prototype,"selectedSort",2),qo([c.query("sl-input")],ue.prototype,"input",2),ue=qo([c.customElement("pb33f-problem-search-filter")],ue);var vi=Object.defineProperty,Mi=Object.getOwnPropertyDescriptor,_o=(r,e,o,A)=>{for(var t=A>1?void 0:A?Mi(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&&vi(e,o,t),t},wo=(r=>(r.AllRules="All rules",r))(wo||{});let Ee=class extends a.LitElement{constructor(){super()}filterChanged(r){const e=r.detail.item;this.selectedRule=e.value,this.dispatchEvent(new CustomEvent(KA,{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 a.html`
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=>a.html`
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
- `}};Ee.styles=[Zo,mo],_o([c.property()],Ee.prototype,"rules",2),_o([c.property()],Ee.prototype,"selectedRule",2),Ee=_o([c.customElement("pb33f-problem-rule-filter")],Ee);const yi=a.css`
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 Ci=Object.defineProperty,Di=Object.getOwnPropertyDescriptor,it=(r,e,o,A)=>{for(var t=A>1?void 0:A?Di(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&&Ci(e,o,t),t};let Xe=class extends a.LitElement{constructor(){super(),this.problemLabelFilter=new je,this.problemSortFilter=new Ve,this.problemSearchFilter=new ue,this.problemRuleFilter=new Ee,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=wo.AllRules}render(){return a.html`
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>`}};Xe.styles=[yi],it([c.property()],Xe.prototype,"availableRules",2),Xe=it([c.customElement("pb33f-problem-toolbar")],Xe);const Ii=a.css`
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
- `,nt="paginatorFirstPage",at="paginatorLastPage",ct="paginatorNextPage",st="paginator-previous-page";var ki=Object.defineProperty,Fi=Object.getOwnPropertyDescriptor,H=(r,e,o,A)=>{for(var t=A>1?void 0:A?Fi(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&&ki(e,o,t),t};let D=class extends a.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(ct,{composed:!0}))}previousPage(){this.currentPage>1&&this.dispatchEvent(new CustomEvent(st,{composed:!0}))}lastPage(){this.currentPage<this.totalPages&&this.dispatchEvent(new CustomEvent(at,{composed:!0}))}firstPage(){this.currentPage>1&&this.dispatchEvent(new CustomEvent(nt,{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,a.html`
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
- `}};D.styles=[Ii],H([c.state()],D.prototype,"currentPage",2),H([c.state()],D.prototype,"totalPages",2),H([c.state()],D.prototype,"totalItems",2),H([c.state()],D.prototype,"itemsPerPage",2),H([c.query(".home")],D.prototype,"homeButton",2),H([c.query(".previous")],D.prototype,"prevButton",2),H([c.query(".next")],D.prototype,"nextButton",2),H([c.query(".end")],D.prototype,"endButton",2),H([c.property()],D.prototype,"label",2),D=H([c.customElement("pb33f-paginator")],D);const zi=a.css`
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 Ni=Object.defineProperty,Ui=Object.getOwnPropertyDescriptor,V=(r,e,o,A)=>{for(var t=A>1?void 0:A?Ui(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&&Ni(e,o,t),t};let z=class extends a.LitElement{constructor(){super(),this.currentPage=1,this.totalPages=1,this.totalItems=0,this.itemsPerPage=20,this.activeIndex=0,this.paginatorNavigator=new D,this.paginatorNavigator.currentPage=this.currentPage,this.paginatorNavigator.totalPages=this.totalPages,this.paginatorNavigator.totalItems=this.totalItems,this.paginatorNavigator.itemsPerPage=this.itemsPerPage,this.addEventListener(nt,this.firstPage),this.addEventListener(at,this.lastPage),this.addEventListener(ct,this.nextPage),this.addEventListener(st,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?a.html`<div class="no-values">
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>`:a.html`
2615
+ </div>`:s.html`
2629
2616
  ${this.paginatorNavigator}
2630
2617
  <div class="paginator-values" part="values">
2631
2618
  ${this.renderValues}
2632
2619
  </div>
2633
- `}};z.styles=[zi],V([c.property({type:a.LitElement})],z.prototype,"values",2),V([c.property({type:Number})],z.prototype,"currentPage",2),V([c.property({type:Number})],z.prototype,"totalPages",2),V([c.property({type:Number})],z.prototype,"totalItems",2),V([c.property({type:Number})],z.prototype,"itemsPerPage",2),V([c.property()],z.prototype,"label",2),V([c.property()],z.prototype,"activeIndex",2),z=V([c.customElement("pb33f-paginator-navigation")],z);function Yi(r){return new Worker("/assets/search-problems.worker-VJi4P9Gj.js",{name:r==null?void 0:r.name})}var Si=Object.defineProperty,Ji=Object.getOwnPropertyDescriptor,Ri=(r,e,o,A)=>{for(var t=A>1?void 0:A?Ji(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&&Si(e,o,t),t};let Bo=class extends a.LitElement{constructor(){super(),this.problemLabelView=E.JSONPath,this.problemList=[],this.mainView=new be,this.problemToolbar=new Xe,this.paginator=new z,this.unfilteredProblems=[],this.searchWorker=new Yi,this.activeSearch=!1,this.addSearchWorkerListener(),this.addEventListener(po,this.problemClicked),this.addEventListener(XA,this.slideChanged),this.addEventListener(WA,this.labelFilterChanged),this.addEventListener(ZA,this.sortFilterChanged),this.addEventListener(qA,this.searchFilterChanged),this.addEventListener(KA,this.ruleFilterChanged),this.addEventListener($A,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(A=>{for(let t=0;t<o.length;t++)if(A.problemObject.hash()===P.reconstruct(o[t]).hash())return this.problemList[t]}),this.paginator.setPage(1),this.requestUpdate())};this.searchWorker.addEventListener(ni,r)}ruleFilterChanged(r){r.detail.rule!==wo.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 E.JSONPath:this.problemList[e].problemLabelView=E.JSONPath,this.problemLabelView=E.JSONPath;break;case E.RuleViolation:this.problemList[e].problemLabelView=E.RuleViolation,this.problemLabelView=E.RuleViolation;break;case E.Message:this.problemList[e].problemLabelView=E.Message,this.problemLabelView=E.Message;break;case E.Category:this.problemList[e].problemLabelView=E.Category,this.problemLabelView=E.Category;break}}changeSorting(r){switch(r){case de.LineNumber:this.problemList=this.problemList.sort((e,o)=>e.line<o.line?-1:e.line>o.line?1:0);break;case de.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 de.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 de.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 de.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 A=0;A<r.length;A++){const t=r[A],n=new M;if(n.line=t.startLineNumber,n.column=t.startColumn,n.problem=t.jsonPath,n.problemLabelView=this.problemLabelView,n.problemObject=t,n.resultIndex=A,n.parent=this,o.has(t.startLineNumber)){const i=o.get(t.startLineNumber);i.push(n);for(let s=0;s<i.length;s++)i[s].idx=s+1;o.set(t.startLineNumber,i)}else o.set(t.startLineNumber,[n]);e.push(n)}return e}set problems(r){const e=this.generateProblemItems(r);this.problemList=e,this.unfilteredProblems=e,this.setActiveProblem(e),this.problemToolbar.availableRules=[wo.AllRules,...this.extractRulesFromProblems()],this.requestUpdate()}lineClicked(r,e=!0,o=0,A=!1){let t=[];this.problemList.forEach(i=>{i.line===r&&t.push(i)});let n=null;if(this.problemList.forEach(i=>{i.select(!1),i.selectSibling(!1)}),t.length>0)for(let i=0;i<t.length;i++){const s=t[i];let l=i<1;if(e||(l=!1),i===0&&o==0){n=s,s.select(!0,l),this.activeSearch||this.paginator.setPage(s.resultIndex+1);continue}if(i===0&&s.idx===o){s.select(!0,l),n=s,this.activeSearch||this.paginator.setPage(s.resultIndex+1);continue}i>0&&s.idx===o?(s.select(!0,l),this.activeSearch||this.paginator.setPage(s.resultIndex+1),n=s):s.selectSibling(!0,l)}this.mainView.problems=t,n&&(this.activeProblem=n),n&&n.idx!==0&&(A||this.mainView.selectSlide(n.idx))}render(){return this.paginator.values=this.problemList,a.html`
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
- `}};Bo.styles=[ui,j],Bo=Ri([c.customElement("pb33f-problem-list")],Bo);/**
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 Hi=r=>r.strings===void 0;/**
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 We=(r,e)=>{var A;const o=r._$AN;if(o===void 0)return!1;for(const t of o)(A=t._$AO)==null||A.call(t,e,!1),We(t,e);return!0},bo=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)},lt=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),Li(e)}};function Gi(r){this._$AN!==void 0?(bo(this),this._$AM=r,lt(this)):this._$AM=r}function Ti(r,e=!1,o=0){const A=this._$AH,t=this._$AN;if(t!==void 0&&t.size!==0)if(e)if(Array.isArray(A))for(let n=o;n<A.length;n++)We(A[n],!1),bo(A[n]);else A!=null&&(We(A,!1),bo(A));else We(this,r)}const Li=r=>{r.type==yA.CHILD&&(r._$AP??(r._$AP=Ti),r._$AQ??(r._$AQ=Gi))};let Oi=class extends DA{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,o,A){super._$AT(e,o,A),lt(this),this.isConnected=e._$AU}_$AO(e,o=!0){var A,t;e!==this.isConnected&&(this.isConnected=e,e?(A=this.reconnected)==null||A.call(this):(t=this.disconnected)==null||t.call(this)),o&&(We(this,e),bo(this))}setValue(e){if(Hi(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(){}};/**
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 ji=()=>new Pi;class Pi{}const eA=new WeakMap,Vi=CA(class extends Oi{render(r){return u}update(r,[e]){var A;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=(A=r.options)==null?void 0:A.host,this.ot(this.lt=r.element)),u}ot(r){if(typeof this.G=="function"){const e=this.ct??globalThis;let o=eA.get(e);o===void 0&&(o=new WeakMap,eA.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=eA.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)}}),Xi=`/*!-----------------------------------------------------------
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
- ${Xi}
2651
+ ${Jn}
2665
2652
  </style>
2666
- <main ${Vi(this.container)}></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){I.editor.removeAllMarkers("owner"),I.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"}};I.editor.defineTheme("pb33f",r),I.editor.setTheme("pb33f");const e=I.Uri.parse("inmemory://doc"),o=this.getCode();this.model=I.editor.createModel(o,"yaml",e),this.editor=I.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(Wo,{bubbles:!0,composed:!0,detail:{content:this.editor.getValue()}}))}),this.editor.onMouseDown(A=>{var t,n;this.dispatchEvent(new CustomEvent(VA,{bubbles:!0,composed:!0,detail:{line:(t=A.target.position)==null?void 0:t.lineNumber,column:(n=A.target.position)==null?void 0:n.column}}))}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{I.editor.setTheme(this.getTheme())})}};X.styles=a.css`
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
- `,Ze([c.property({type:Boolean,attribute:"readonly"})],X.prototype,"readOnly",2),Ze([c.property()],X.prototype,"theme",2),Ze([c.property()],X.prototype,"language",2),Ze([c.property()],X.prototype,"code",2),X=Ze([c.customElement("pb33f-editor")],X);const ge="bags",en="saddlebag";class on{constructor(e){w(this,"_bags");w(this,"_stateful");w(this,"_db");this._bags=new Map,this._stateful=e}loadStatefulBags(){return new Promise(e=>{const o=indexedDB.open(en,1);o.onupgradeneeded=()=>{this._db=o.result,this._db.createObjectStore(ge)},o.onsuccess=()=>{if(this._db=o.result,this._db){const A=this._db.transaction(ge).objectStore(ge).openCursor();A.onsuccess=t=>{let n=t.target.result;if(n){let i=n.primaryKey,s=n.value;const l=this.createBag(i);l.populate(s),this._bags.set(i,l),n.continue()}else e({db:this._db})}}}})}get db(){return this._db?this._db:null}createBag(e){const o=tn(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 oA;function An(r){return oA||(oA=new on(r||!1)),oA}function tn(r,e){return new rn(r,e)}class AA{constructor(e,o){w(this,"_allChangesBit");w(this,"_key");w(this,"_subFunction");w(this,"_allChangesFunction");w(this,"_populatedFunction");w(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 rn{constructor(e,o){w(this,"_id");w(this,"_stateful");w(this,"_values");w(this,"_db");w(this,"_subscriptions");w(this,"_allChangesSubscriptions");w(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([ge],"readwrite").objectStore(ge).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([ge],"readwrite").objectStore(ge).delete(this._id)}alertSubscribers(e,o){var A;this._subscriptions.has(e)&&((A=this._subscriptions.get(e))==null||A.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 A=new AA(this,0);return A.key=e,A.subscriptionFunction=o,A}onAllChanges(e){this._allChangesSubscriptions.push(e);const o=new AA(this,1);return o.allChangeFunction=e,o}onPopulated(e){this._storePopulatedSubscriptions.push(e);const o=new AA(this,2);return o.populatedFunction=e,o}}const L=class L{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,o=!1){return new Promise(async(A,t)=>{try{let n="";o&&(n="?owasp=true");const s=await(await fetch(L.doctorEndpoint+"/lint-lsp"+n,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:e})).json();if(!s){t([]);return}if(s!=null&&s.type&&(s!=null&&s.title)&&(s!=null&&s.status)){t(s);return}const l=s,g=[];if(l&&Array.isArray(l))for(let d=0;d<l.length;d++){const h=l[d];g.push(new P(h.category,h.jsonPath,h.endColumn,h.endLineNumber,h.message,h.severity,h.startColumn,h.startLineNumber,h.source,h.id))}if(l&&!Array.isArray(l)){const d=l;g.push(new P(d.category,d.jsonPath,d.endColumn,d.endLineNumber,d.message,d.severity,d.startColumn,d.startLineNumber,d.source,d.id))}g.sort(L.compareProblems),A(g)}catch{t({detail:"the pb33f platform is unresponsive"})}})}static async fetchAllHowToFix(){return new Promise(async(e,o)=>{try{const t=await(await fetch(L.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(L.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(L.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(L.doctorEndpoint+"/bootstrap/train-travel",{method:"GET",credentials:"include"})).text();e(t)}catch{o({detail:"the pb33f platform is unresponsive"})}})}};L.doctorEndpoint="https://doctor.pb33f.io";let W=L;const nn=a.css`
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 an=Object.defineProperty,cn=Object.getOwnPropertyDescriptor,xe=(r,e,o,A)=>{for(var t=A>1?void 0:A?cn(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&&an(e,o,t),t};let Z=class extends a.LitElement{constructor(){super(),this.label="[statistic]",this.value=0}render(){return this.isError?a.html`
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?a.html`
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?a.html`
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>`:a.html`
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
- `}};Z.styles=[nn],xe([c.property()],Z.prototype,"label",2),xe([c.property({type:Number})],Z.prototype,"value",2),xe([c.property({type:Boolean})],Z.prototype,"isError",2),xe([c.property({type:Boolean})],Z.prototype,"isWarning",2),xe([c.property({type:Boolean})],Z.prototype,"isInform",2),Z=xe([c.customElement("pb33f-problem-statistic")],Z);const sn=a.css`
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>`}};Qe.styles=[sn],uo([c.property()],Qe.prototype,"label",2),uo([c.property()],Qe.prototype,"value",2),uo([c.property()],Qe.prototype,"postfix",2),Qe=uo([c.customElement("pb33f-document-statistic")],Qe);const gn=a.css`
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="${(n=this.drDiagnostics)==null?void 0:n.statistics.filesizeKb}">
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="${(i=this.drDiagnostics)==null?void 0:i.statistics.version}">
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="${(s=this.drDiagnostics)==null?void 0:s.statistics.schemas}">
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="${(g=this.drDiagnostics)==null?void 0:g.statistics.operations}">
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="${(d=this.drDiagnostics)==null?void 0:d.statistics.references}">
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="${(h=this.drDiagnostics)==null?void 0:h.statistics.enums}">
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="${(p=this.drDiagnostics)==null?void 0:p.statistics.tags}">
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="${(m=this.drDiagnostics)==null?void 0:m.statistics.totalErrors}" isError>
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="${(Q=this.drDiagnostics)==null?void 0:Q.statistics.totalWarnings}" isWarning>
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="${(y=this.drDiagnostics)==null?void 0:y.statistics.totalInfo}" isInform>
2862
+ value="${(M=this.drDiagnostics)==null?void 0:M.statistics.totalInfo}" isInform>
2882
2863
  </pb33f-problem-statistic>
2883
2864
  </sl-card>
2884
- </div>`}};fe.styles=[gn],tA([c.property({type:P})],fe.prototype,"problems",2),tA([c.property({type:pn})],fe.prototype,"drDiagnostics",2),fe=tA([c.customElement("pb33f-problem-statistics")],fe);const Bn=a.css`
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
- `,bn=a.css`
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 un=Object.defineProperty,En=Object.getOwnPropertyDescriptor,Eo=(r,e,o,A)=>{for(var t=A>1?void 0:A?En(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&&un(e,o,t),t};let ve=class extends a.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(Oe,{bubbles:!0,composed:!0,detail:{type:le.RULE_DOCS,rule:r}}))}convertToLinks(r){const e=/#\{([^}]+)}/g;return r.replace(e,(A,t)=>(this.links.push(t),""))}render(){this.links=[];let r=this.convertToLinks(B.parse(this.diagnosis).toString());this.links.sort((t,n)=>t.localeCompare(n));const e=this.links.map(t=>a.html`<li><a href="#" @click=${()=>{this.viewRuleDocs(t)}}>${t}</a></li>`);let o=this.evaluation;o===""&&(o="Unknown");let A=this.score;return A===0?A="??":A=this.score+"%",r===""&&(r="No diagnosis available, looks like we're missing an OpenAPI specification"),a.html`
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>${A}</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
- ${N(r)}
3103
+ ${H(r)}
3123
3104
  </p>
3124
3105
  <ul>
3125
3106
  ${e}
3126
3107
  </ul>
3127
3108
  </div>
3128
- </div>`}};ve.styles=[bn,Bn],Eo([c.property({type:Number})],ve.prototype,"score",2),Eo([c.property()],ve.prototype,"evaluation",2),Eo([c.property()],ve.prototype,"diagnosis",2),ve=Eo([c.customElement("pb33f-diagnostic-evaluation")],ve);const xn=a.css`
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 Qn=Object.defineProperty,fn=Object.getOwnPropertyDescriptor,Me=(r,e,o,A)=>{for(var t=A>1?void 0:A?fn(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&&Qn(e,o,t),t};let K=class extends a.LitElement{constructor(){super(),this.value=0,this.height=20}render(){let r=[];for(let n=0;n<this.value/2;n++)r.push((n+.2)*2);let e=0,o="",A="var(--primary-color)";this.warning&&(A="var(--warn-color)",o="warning"),this.error&&(A="var(--error-color)",o="error"),this.success&&(A="var(--terminal-text)",o="success");let t=`${this.value}`;return this.value<1&&(t="<1"),a.html`
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(n=>{e++;let i=1.5;return e==50&&(i=1),a.svg`
3175
+ ${r.map(A=>{e++;let n=1.5;return e==50&&(n=1),s.svg`
3195
3176
  <rect
3196
- width="${i}%"
3177
+ width="${n}%"
3197
3178
  height="${this.height-4}px"
3198
- x="${n}%"
3179
+ x="${A}%"
3199
3180
  y="2"
3200
- fill="${A}" />`})}
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
- `}};K.styles=[xn],Me([c.property({type:Number})],K.prototype,"value",2),Me([c.property({type:Number})],K.prototype,"height",2),Me([c.property({type:Boolean})],K.prototype,"success",2),Me([c.property({type:Boolean})],K.prototype,"warning",2),Me([c.property({type:Boolean})],K.prototype,"error",2),K=Me([c.customElement("pb33f-percent-bar")],K);const vn=a.css`
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
- `,rA=a.css`
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
- `;var Mn=Object.defineProperty,yn=Object.getOwnPropertyDescriptor,$=(r,e,o,A)=>{for(var t=A>1?void 0:A?yn(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 U=class extends a.LitElement{constructor(){super()}viewRuleDocs(){this.dispatchEvent(new CustomEvent(Oe,{bubbles:!0,composed:!0,detail:{type:le.RULE_DOCS,rule:this.groupName}}))}selectRule(){this.dispatchEvent(new CustomEvent(_A,{bubbles:!0,composed:!0,detail:{rule:this.groupName}}))}selectLine(r){this.dispatchEvent(new CustomEvent(po,{bubbles:!0,composed:!0,detail:{problem:r,launchedFromProblems:!1}}))}render(){var A;const r=(A=this.problems)==null?void 0:A.slice(0,4);let e=a.html`
3346
- <pb33f-percent-bar value="${this.violationPercent}"></pb33f-percent-bar>`,o="";return this.rank==1&&(e=a.html`
3347
- <pb33f-percent-bar value="${this.violationPercent}"></pb33f-percent-bar>`),this.rank==2&&(e=a.html`
3348
- <pb33f-percent-bar value="${this.violationPercent}"></pb33f-percent-bar>`),(!this.groupName||this.groupName==="")&&(this.groupName="invalid OpenAPI specification"),a.html`
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,i;return a.html`
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
- ${(n=t==null?void 0:t.problemObject)==null?void 0:n.startLineNumber}:${(i=t==null?void 0:t.problemObject)==null?void 0:i.startColumn}</a>
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} &gt;</sl-button>
3370
3395
  <a href="#" @click="${this.selectRule}">View ${this.totalViolations} violations &gt;</a>
3371
3396
  </div>
3372
- </div>`}};U.styles=[j,rA,vn],$([c.property({type:Number})],U.prototype,"rank",2),$([c.property({type:Number})],U.prototype,"totalViolations",2),$([c.property()],U.prototype,"groupName",2),$([c.property()],U.prototype,"description",2),$([c.property()],U.prototype,"category",2),$([c.property({type:Number})],U.prototype,"violationPercent",2),$([c.property({type:M})],U.prototype,"problems",2),U=$([c.customElement("pb33f-problem-overview-group")],U);const Cn=a.css`
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 Dn=Object.defineProperty,In=Object.getOwnPropertyDescriptor,Ke=(r,e,o,A)=>{for(var t=A>1?void 0:A?In(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&&Dn(e,o,t),t};let q=class extends a.LitElement{constructor(){super(),this.problemList=[],this.problemStatistics=new fe,this.problemOverviewGroups=[],this.paginator=new z,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 n=r[t],i=n.problemObject.source;if(e.has(i)){let s=e.get(i);s.totalViolations++,s.problems.push(n)}else{const s=new U;s.groupName=n.problemObject.source,s.totalViolations=1,s.problems=[n],e.set(i,s)}}let o=r.length;for(let t of e.values())t.violationPercent=Math.round(t.totalViolations/o*100);const A=Array.from(e.values());A.sort((t,n)=>n.totalViolations-t.totalViolations);for(let t=0;t<A.length;t++)A[t].rank=t+1;return A}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?a.html`
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>`:a.html`
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
- `}};q.styles=[Cn],Ke([c.property({type:P})],q.prototype,"problemList",2),Ke([c.query("sl-resize-observer")],q.prototype,"resizeObserver",2),Ke([c.property({type:hn})],q.prototype,"statistics",2),Ke([c.property({type:Boolean})],q.prototype,"unavailable",2),q=Ke([c.customElement("pb33f-problems-overview")],q);const kn=a.css`
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: 1000;
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 Fn=Object.defineProperty,zn=Object.getOwnPropertyDescriptor,xo=(r,e,o,A)=>{for(var t=A>1?void 0:A?zn(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&&Fn(e,o,t),t};let he=class extends a.LitElement{constructor(){super(),this.errorTitle="Error",this.errorMessage="An error occurred",this.visible=!1}render(){return a.html`
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
- ${N(this.errorMessage)}
3478
+ ${H(this.errorMessage)}
3458
3479
  </pb33f-attention-box>
3459
- </div>`}};he.styles=[kn],xo([c.property()],he.prototype,"errorMessage",2),xo([c.property()],he.prototype,"errorTitle",2),xo([c.property({type:Boolean})],he.prototype,"visible",2),he=xo([c.customElement("pb33f-error-banner")],he);const Nn=a.css`
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 Un=Object.defineProperty,Yn=Object.getOwnPropertyDescriptor,Qo=(r,e,o,A)=>{for(var t=A>1?void 0:A?Yn(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&&Un(e,o,t),t};let pe=class extends a.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="",A="info-square";return this.callsRemaining>0&&this.callsRemaining<=10&&(r="warning",e="warning-icon",o="You are running low.",A="exclamation-triangle"),this.callsRemaining<=0&&(r="error",e="error-icon",o="You have run out of credit. Service disabled",A="exclamation-square"),a.html`
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="${A}" class="${e}"></sl-icon>
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?a.html` | <a href="#" @click="${this.openDialog}"><strong>Get more credit</strong></a>`:""}
3517
- </div>`}}};pe.styles=[Nn,Vo,rA],Qo([c.property({type:Boolean})],pe.prototype,"visible",2),Qo([c.property({type:Number})],pe.prototype,"callsRemaining",2),Qo([c.query("sl-dialog")],pe.prototype,"dialog",2),pe=Qo([c.customElement("pb33f-doctor-statusbar")],pe);const Co=class Co{static async sendFeedback(e,o){return new Promise(async(A,t)=>{try{const i=await(await fetch(Co.doctorEndpoint+"/feedback",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e,message:o})})).json();if(!i){t({details:"unable to send feedback"});return}if(i!=null&&i.type&&(i!=null&&i.title)&&(i!=null&&i.status)){t(i);return}A(i)}catch(n){t({details:"unable to send feedback: "+n})}})}};Co.doctorEndpoint="https://doctor.pb33f.io";let fo=Co;const Sn=a.css`
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 Jn=Object.defineProperty,Rn=Object.getOwnPropertyDescriptor,$e=(r,e,o,A)=>{for(var t=A>1?void 0:A?Rn(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&&Jn(e,o,t),t};let _=class extends a.LitElement{constructor(){super(),this.sent=!1}toggleButton(){this.sendButton.disabled=!(this.textArea.value.length>0&&this.textArea.value.trim()!=="")}send(){this.sendButton.loading=!0,fo.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=a.html`
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?a.html`
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
- `:a.html`
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
- `}};_.styles=[rA,Sn,j],$e([c.query("sl-textarea")],_.prototype,"textArea",2),$e([c.query("sl-input")],_.prototype,"emailInput",2),$e([c.query("sl-button")],_.prototype,"sendButton",2),$e([c.state()],_.prototype,"sent",2),_=$e([c.customElement("pb33f-feedback")],_);var Hn=Object.defineProperty,Gn=Object.getOwnPropertyDescriptor,dt=(r,e,o,A)=>{for(var t=A>1?void 0:A?Gn(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&&Hn(e,o,t),t};let vo=class extends a.LitElement{constructor(){super(),this.visible=!1}show(){this.visible||(this.visible=!0)}hide(){this.visible&&(this.visible=!1)}render(){return this.visible?a.html`
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
- `:a.html``}};dt([c.state()],vo.prototype,"visible",2),vo=dt([c.customElement("pb33f-activity-spinner")],vo);function Tn(r){return new Worker("/assets/rule-documentation.worker-BFIxMBU8.js",{name:r==null?void 0:r.name})}const Ln=a.css`
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
- .doctor {
3588
- width: 100%;
3589
- height: 100%;
3590
- position: relative;
3591
-
3592
-
3618
+ .ruleset-controls {
3619
+ flex-grow: 2;
3620
+ text-align: right;
3621
+ padding-top: 2px;
3593
3622
  }
3594
3623
 
3595
- .editor {
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
- .problems {
3606
- position: relative;
3607
- display: block;
3608
- margin-left: 10px;
3609
- overflow: hidden;
3610
- width: 100%;
3611
- height: min-content;
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
- .problems::-webkit-scrollbar {
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
- .problems::-webkit-scrollbar-track {
3658
+ .ruleset-body::-webkit-scrollbar-track {
3619
3659
  background-color: black;
3620
3660
  }
3621
3661
 
3622
- .problems::-webkit-scrollbar-thumb {
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
- sl-split-panel {
3630
- width: calc(100% - 9px);
3631
- height: 100%;
3632
- --divider-width: 2px;
3672
+ .toggle-allcheck {
3673
+ padding-top: 5px;
3674
+ padding-left: 2px;
3633
3675
  }
3676
+
3634
3677
 
3635
-
3636
- sl-split-panel::part(divider) {
3637
- background-color: var(--secondary-color);
3678
+ `,er=s.css`
3679
+ .rule {
3680
+ display: flex;
3681
+ margin: 10px 0 5px 0;
3638
3682
  }
3639
-
3640
- sl-icon {
3641
- position: absolute;
3642
- left: 2px;
3643
- border-radius: 0;
3644
- background: var(--secondary-color);
3645
- color: var(--background-color);
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
- sl-split-panel::part(divider):focus-visible {
3652
- background-color: var(--primary-color);
3691
+
3692
+ .error-message {
3693
+ font-size: 0.8rem;
3653
3694
  }
3654
-
3655
- sl-split-panel:focus-within sl-icon {
3656
- background-color: var(--primary-color);
3657
- color: var(--background-color);
3695
+
3696
+ .check {
3697
+ width: 30px;
3698
+ padding-top: 5px;
3658
3699
  }
3659
3700
 
3660
- sl-tab-group::part(tabs) {
3661
- height: 30px;
3701
+ .details {
3702
+ display: block;
3703
+ width: calc(100% - 30px);
3662
3704
  }
3663
-
3664
- sl-tab::part(base) {
3665
- padding-top: 0;
3705
+
3706
+ form {
3707
+ display: block;
3666
3708
  }
3667
3709
 
3668
- .tab-group {
3669
- --indicator-color: var(--secondary-color);
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
- sl-tab-panel::part(base) {
3674
- padding-top: 10px;
3675
- overflow-y: hidden;
3676
-
3719
+ .rule-actions label {
3720
+ text-align: right;
3721
+ font-size: 0.8rem;
3677
3722
  }
3678
-
3679
- .tab::part(base) {
3680
- font: var(--font-stack);
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
- .unavailable {
3685
- opacity: 0.4;
3686
- transition: all 0.5s;
3728
+ .actions {
3729
+ width: 100%;
3687
3730
  }
3688
3731
 
3689
- .split-panel {
3690
- --min: 600px; --max: calc(100vw - 600px);
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
- .overlay {
3694
- width: 100%;
3695
- opacity: 1;
3696
- height: 100%;
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
- .ruleset {
3744
+
3745
+ sl-details.error-rule::part(base) {
3707
3746
  font-size: 0.9rem;
3708
- margin-left: 10px;
3709
- margin-right: 10px;
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
- sl-switch::part(label) {
3713
- font-family: var(--font-stack), monospace;
3753
+ .error-col {
3754
+ margin-right: 10px;
3755
+ font-size: 1.2rem;
3756
+ padding-top: 5px;
3714
3757
  }
3715
3758
 
3716
- sl-switch a {
3717
- color: var(--primary-color);
3718
- text-decoration: none;
3759
+ sl-details.error::part(body) {
3760
+ color: var(--font-color);
3719
3761
  }
3720
- sl-switch a:visited {
3721
- color: var(--primary-color);
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
- sl-switch a:hover {
3776
+
3777
+ .info {
3724
3778
  color: var(--primary-color);
3725
- text-decoration: underline;
3726
3779
  }
3727
3780
 
3728
- sl-switch a:active {
3781
+ .error {
3729
3782
  color: var(--error-color);
3730
- text-decoration: underline;
3731
3783
  }
3732
3784
 
3733
- pb33f-activity-spinner {
3734
- position: absolute;
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
- `;var On=Object.defineProperty,jn=Object.getOwnPropertyDescriptor,ee=(r,e,o,A)=>{for(var t=A>1?void 0:A?jn(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&&On(e,o,t),t};const Pn="pb33f-doctor-editor",Vn="pb33f-doctor-howtofix",Xn="pb33f-doctor-ruledocs",iA="pb33f-doctor-diagnostic",nA="pb33f-doctor-owasp",aA="document",Mo="problems",Wn="doctor-endpoint";let G=class extends a.LitElement{constructor(r="https://doctor.pb33f.io"){super(),this.debounceTime=300,this.bounceId=0,this.bagManager=An(!0),this.bagManager.loadStatefulBags().then(this.loadState.bind(this)),this.editor=new X,this.problemList=new Bo,this.detailsDrawer=new Pe,this.problemsOverview=new q,this.errorBanner=new he,this.statusBar=new pe,this.ruleDocsWorker=new Tn,this.unavailable=!1,this.feedback=new _,this.activitySpinner=new vo;const e=sessionStorage.getItem(Wn);e?this.doctorEndpoint=e:this.doctorEndpoint=r,this.editor.language="yaml",this.addEventListener(Wo,this.specChanged),this.addEventListener(VA,this.specClicked),this.addEventListener(po,this.problemClicked),this.addEventListener(Oe,this.ruleDocsClicked),this.addEventListener(_A,this.ruleGroupClicked),window.addEventListener("popstate",o=>{const A=o.state;if(A)switch(A.view){case R.Problems:this.tabGroup.show(R.Problems);break;case R.Overview:this.tabGroup.show(R.Overview);break}})}ruleGroupClicked(r){this.problemsPanel.focus();const e=new CustomEvent($A,{bubbles:!0,composed:!0,detail:{rule:r.detail.rule}});this.problemsPanel.focus(),this.problemList.dispatchEvent(e),history.pushState({rule:r.detail.rule},"",`/${R.Problems}?rule=${r.detail.rule}`),this.tabGroup.show(R.Problems)}ruleDocsClicked(r){var o,A;const e=r.detail.rule;if(e)switch(r.detail.type){case le.RULE_DOCS:const t=(o=this.ruleDocsBag)==null?void 0:o.get(e);t&&(r.detail.body=t.body,this.detailsDrawer.open(r.detail));break;case le.HOW_TO_FIX:const n=(A=this.howToFixBag)==null?void 0:A.get(e);n&&(r.detail.body=n.howToFix,this.detailsDrawer.open(r.detail))}}lintSpec(r){this.activitySpinner.show(),W.lintFile(r,this.OWASPEnabled).then(e=>{var o,A;e&&!Array.isArray(e)&&(this.editor.setMarkers([e]),(o=this.problemBag)==null||o.set(Mo,[e]),this.problemList.problems=[e],this.problems=[e],this.problemsOverview.problems=this.problemList.problemItems),e&&Array.isArray(e)&&(this.editor.setMarkers(e),(A=this.problemBag)==null||A.set(Mo,e),this.problemList.problems=e,this.problems=e,this.problemsOverview.problems=this.problemList.problemItems),W.fetchStatistics().then(t=>{var n;this.problemsOverview.statistics=t,(n=this.diagnosticBag)==null||n.set(iA,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."))}).catch(t=>{console.error("statistics service is down"),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))})}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.tabGroup.show(R.Overview))}specClicked(r){var e;this.detailsDrawer.close();for(let o=0;o<((e=this.problems)==null?void 0:e.length);o++)if(this.problems[o].startLineNumber===r.detail.line){this.problemList.lineClicked(r.detail.line,!0),this.tabGroup.show(R.Problems);break}}problemClicked(r){var e,o;(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),this.tabGroup.show(R.Problems)}loadState(){if(W.doctorEndpoint=this.doctorEndpoint,fo.doctorEndpoint=this.doctorEndpoint,this.docBag=this.bagManager.getBag(Pn),this.docBag){const r=this.docBag.get(aA);r&&this.editor.setValue(r,!0)}if(this.problemBag=this.bagManager.getBag(Mo),this.problemBag){const r=this.problemBag.get(Mo);if(r){this.problems=r,this.editor.setMarkers(r);for(let e=0;e<r.length;e++)r[e]=P.reconstruct(r[e]);this.problemList.problems=r,this.problemsOverview.problems=this.problemList.problemItems}}if(this.howToFixBag=this.bagManager.getBag(Vn),this.diagnosticBag=this.bagManager.getBag(iA),this.diagnosticBag){const r=this.diagnosticBag.get(iA);r&&(this.problemsOverview.statistics=r)}this.OWASPBag=this.bagManager.getBag(nA),this.OWASPBag&&(this.OWASPEnabled=this.OWASPBag.get(nA),this.owaspSwitch.checked=this.OWASPEnabled),this.fetchDocs()}fetchDocs(){this.activitySpinner.show(),W.startSession().then(r=>{this.session=r,setTimeout(()=>{this.boostrap()}),W.fetchAllHowToFix().then(e=>{e&&e.forEach(o=>{var A;(A=this.howToFixBag)==null||A.set(o.ruleId,o)})}).catch(e=>{this.platformUnavailable(e),console.error("documentation service is down")}),this.ruleDocsBag=this.bagManager.getBag(Xn),this.ruleDocsWorker.addEventListener("message",e=>{const o=e.data;o&&o.forEach(A=>{var t;(t=this.ruleDocsBag)==null||t.set(A.ruleId,A),this.activitySpinner.hide()})}),this.ruleDocsWorker.postMessage({start:!0,endpoint:this.doctorEndpoint})}).catch(r=>{this.platformUnavailable(r),console.error("cannot start session")})}specChanged(r){this.docBag&&this.docBag.set(aA,r.detail.content),clearTimeout(this.bounceId),this.bounceId=window.setTimeout(()=>{this.lintSpec(r.detail.content)},this.debounceTime)}toggleOWASP(){var r;if(this.OWASPEnabled=this.owaspSwitch.checked,(r=this.OWASPBag)==null||r.set(nA,this.OWASPEnabled),this.docBag){const e=this.docBag.get(aA);this.lintSpec(e)}}boostrap(){this.editor.getValue()===""&&W.bootstrapEditor().then(r=>{this.editor.setValue(r,!0),this.specChanged(new CustomEvent(Wo,{detail:{content:r}}))})}closeWelcome(){this.welcomeBox.hide(),localStorage.setItem("pb33f-doctor-welcome","closed")}render(){let r=a.html``;this.unavailable&&(r=a.html`
3743
- <div class="overlay" @click="return false"></div>`);let e=a.html`
3744
- <pb33f-attention-box id="welcome" type="success"
3745
- headerText="Welcome to the clinic, I am the OpenAPI doctor." closeable>
3746
- This is an <strong>early preview</strong> of a new <a href="https://pb33f.io">pb33f</a> product,
3747
- built on top of our very own open source and free software.
3748
- If you find a bug, please let us know in the <strong>feedback</strong> tab. <br/><br/>
3749
- <a href="#" @click="${this.closeWelcome}">[Close this message]</a>
3750
- </pb33f-attention-box>`;return localStorage.getItem("pb33f-doctor-welcome")&&(e=a.html``),a.html`
3751
- ${e}
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>&nbsp;&nbsp;
4041
+ <strong>${n.name}</strong>&nbsp; <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
- <sl-tab-group class="tab-group ">
3764
- <sl-tab slot="nav" panel="overview" class="tab" id="overviewPanel">Overview</sl-tab>
3765
- <sl-tab slot="nav" panel="problems" class="tab" id="problemsPanel">Problems</sl-tab>
3766
- <sl-tab slot="nav" panel="ruleset" class="tab" id="rulesetPanel">Rules</sl-tab>
3767
- <sl-tab slot="nav" panel="feedback" class="tab" id="feedbackPanel">Feedback</sl-tab>
3768
- <sl-tab-panel name="overview" class="tab-panel">${this.problemsOverview}</sl-tab-panel>
3769
- <sl-tab-panel name="problems" class="tab-panel">${this.problemList}</sl-tab-panel>
3770
- <sl-tab-panel name="ruleset" class="tab-panel">
3771
- <div class="ruleset">
3772
- <pb33f-attention-box type="info" headerText="Manage RuleSets">
3773
- Feature coming soon, you will be able to manage your ruleset(s) here.
3774
- </pb33f-attention-box>
3775
- <sl-switch size="small" @sl-change="${this.toggleOWASP}" id="owasp">Enable <a
3776
- href="https://quobix.com/vacuum/rulesets/owasp/">OWASP</a>
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>`}};G.styles=[Ln,Vo],ee([c.query("#overviewPanel")],G.prototype,"overviewPanel",2),ee([c.query("#problemsPanel")],G.prototype,"problemsPanel",2),ee([c.query("sl-tab-group")],G.prototype,"tabGroup",2),ee([c.query("sl-switch#owasp")],G.prototype,"owaspSwitch",2),ee([c.query("pb33f-attention-box#welcome")],G.prototype,"welcomeBox",2),ee([c.property({type:Boolean})],G.prototype,"unavailable",2),ee([c.property()],G.prototype,"doctorEndpoint",2),G=ee([c.customElement("pb33f-doctor")],G),Bt.setBasePath("/shoelace")});
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")});