diff --git a/composer.lock b/composer.lock index 3273d085..3442f208 100644 --- a/composer.lock +++ b/composer.lock @@ -168,12 +168,12 @@ "source": { "type": "git", "url": "https://github.com/nextcloud-deps/ocp.git", - "reference": "ddc90a88f4ec0166a1c0384cf6d0370e3dc53898" + "reference": "bfe3aee2d0a849d6a540e800cefe8efff30bb224" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/ddc90a88f4ec0166a1c0384cf6d0370e3dc53898", - "reference": "ddc90a88f4ec0166a1c0384cf6d0370e3dc53898", + "url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/bfe3aee2d0a849d6a540e800cefe8efff30bb224", + "reference": "bfe3aee2d0a849d6a540e800cefe8efff30bb224", "shasum": "" }, "require": { @@ -192,7 +192,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "35.0.0-dev" + "dev-master": "36.0.0-dev" } }, "notification-url": "https://packagist.org/downloads/", @@ -214,7 +214,7 @@ "issues": "https://github.com/nextcloud-deps/ocp/issues", "source": "https://github.com/nextcloud-deps/ocp/tree/master" }, - "time": "2026-08-26T00:37:28+00:00" + "time": "2026-10-27T02:48:21+00:00" }, { "name": "php-cs-fixer/shim", diff --git a/js/NcCheckboxRadioSwitch-CqbiLdI-.chunk.mjs.map.license b/js/NcCheckboxRadioSwitch-CqbiLdI-.chunk.mjs.map.license deleted file mode 120000 index 0d0a7936..00000000 --- a/js/NcCheckboxRadioSwitch-CqbiLdI-.chunk.mjs.map.license +++ /dev/null @@ -1 +0,0 @@ -NcCheckboxRadioSwitch-CqbiLdI-.chunk.mjs.license \ No newline at end of file diff --git a/js/NcCheckboxRadioSwitch-CqbiLdI-.chunk.mjs b/js/NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs similarity index 99% rename from js/NcCheckboxRadioSwitch-CqbiLdI-.chunk.mjs rename to js/NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs index 0cc0bc28..b5bc9cc2 100644 --- a/js/NcCheckboxRadioSwitch-CqbiLdI-.chunk.mjs +++ b/js/NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs @@ -1,5 +1,5 @@ (function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode(".material-design-icon[data-v-5ca1e30f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.checkbox-content[data-v-5ca1e30f]{display:flex;align-items:center;flex-direction:row;gap:var(--default-grid-baseline);-webkit-user-select:none;user-select:none;min-height:var(--default-clickable-area);border-radius:var(--checkbox-radio-switch--border-radius);padding:var(--default-grid-baseline) calc((var(--default-clickable-area) - var(--icon-height)) / 2);width:100%;max-width:fit-content}.checkbox-content__wrapper[data-v-5ca1e30f]{flex:1 0 0;max-width:100%}.checkbox-content__text[data-v-5ca1e30f]:empty{display:none}.checkbox-content-checkbox:not(.checkbox-content--button-variant) .checkbox-content__icon[data-v-5ca1e30f],.checkbox-content-radio:not(.checkbox-content--button-variant) .checkbox-content__icon[data-v-5ca1e30f],.checkbox-content-switch:not(.checkbox-content--button-variant) .checkbox-content__icon[data-v-5ca1e30f]{margin-block:calc((var(--default-clickable-area) - 2 * var(--default-grid-baseline) - var(--icon-height)) / 2) auto;line-height:0}.checkbox-content-checkbox:not(.checkbox-content--button-variant) .checkbox-content__icon--has-description[data-v-5ca1e30f],.checkbox-content-radio:not(.checkbox-content--button-variant) .checkbox-content__icon--has-description[data-v-5ca1e30f],.checkbox-content-switch:not(.checkbox-content--button-variant) .checkbox-content__icon--has-description[data-v-5ca1e30f]{display:flex;align-items:center;margin-block-end:0;align-self:start}.checkbox-content__icon[data-v-5ca1e30f]>*{width:var(--icon-size);height:var(--icon-height);color:var(--color-primary-element)}.checkbox-content__description[data-v-5ca1e30f]{display:block;color:var(--color-text-maxcontrast);font-weight:var(--font-weight-default, normal)}.checkbox-content--button-variant .checkbox-content__icon[data-v-5ca1e30f]:not(.checkbox-content__icon--checked)>*{color:var(--color-primary-element)}.checkbox-content--button-variant .checkbox-content__icon--checked[data-v-5ca1e30f]>*{color:var(--color-primary-element-text)}.checkbox-content--has-text[data-v-5ca1e30f]{padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2)}.checkbox-content[data-v-5ca1e30f],.checkbox-content[data-v-5ca1e30f] *{cursor:pointer;flex-shrink:0}.material-design-icon[data-v-81045d2a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.checkbox-radio-switch[data-v-81045d2a]{--icon-size: var(--f99d0228);--icon-height: var(--v69c82152);--checkbox-radio-switch--border-radius: var(--border-radius-element);--checkbox-radio-switch--border-radius-outer: calc(var(--checkbox-radio-switch--border-radius) + 2px);display:flex;align-items:center;color:var(--color-main-text);background-color:transparent;font-size:var(--default-font-size);font-weight:var(--font-weight-element, normal);line-height:var(--default-line-height);padding:0;position:relative}.checkbox-radio-switch__input[data-v-81045d2a]{position:absolute;z-index:-1;opacity:0!important;width:var(--icon-size);height:var(--icon-size)}.checkbox-radio-switch__input:focus-visible+.checkbox-radio-switch__content[data-v-81045d2a],.checkbox-radio-switch__input[data-v-81045d2a]:focus-visible{outline:2px solid var(--color-main-text);border-color:var(--color-main-background);outline-offset:-2px}.checkbox-radio-switch--disabled .checkbox-radio-switch__content[data-v-81045d2a]{opacity:.5}.checkbox-radio-switch--disabled .checkbox-radio-switch__content[data-v-81045d2a] .checkbox-radio-switch__icon>*{color:var(--color-main-text)}.checkbox-radio-switch--disabled .checkbox-radio-switch__content.checkbox-content[data-v-81045d2a],.checkbox-radio-switch--disabled .checkbox-radio-switch__content.checkbox-content[data-v-81045d2a] *:not(a){cursor:default!important}.checkbox-radio-switch:not(.checkbox-radio-switch--disabled,.checkbox-radio-switch--checked):focus-within .checkbox-radio-switch__content[data-v-81045d2a],.checkbox-radio-switch:not(.checkbox-radio-switch--disabled,.checkbox-radio-switch--checked) .checkbox-radio-switch__content[data-v-81045d2a]:hover{background-color:var(--color-background-hover)}.checkbox-radio-switch--checked:not(.checkbox-radio-switch--disabled):focus-within .checkbox-radio-switch__content[data-v-81045d2a],.checkbox-radio-switch--checked:not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__content[data-v-81045d2a]:hover{background-color:var(--color-primary-element-hover)}.checkbox-radio-switch--checked:not(.checkbox-radio-switch--button-variant):not(.checkbox-radio-switch--disabled):focus-within .checkbox-radio-switch__content[data-v-81045d2a],.checkbox-radio-switch--checked:not(.checkbox-radio-switch--button-variant):not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__content[data-v-81045d2a]:hover{background-color:var(--color-primary-element-light-hover)}.checkbox-radio-switch-switch[data-v-81045d2a]:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon>*{color:var(--color-text-maxcontrast)}.checkbox-radio-switch-switch.checkbox-radio-switch--disabled.checkbox-radio-switch--checked[data-v-81045d2a] .checkbox-radio-switch__icon>*{color:var(--color-primary-element-light)}.checkbox-radio-switch--button-variant.checkbox-radio-switch[data-v-81045d2a]{background-color:var(--color-main-background);border:2px solid var(--color-border-maxcontrast);overflow:hidden}.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked[data-v-81045d2a]{font-weight:var(--font-weight-element, bold)}.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked .checkbox-radio-switch__content[data-v-81045d2a]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.checkbox-radio-switch--button-variant[data-v-81045d2a] .checkbox-radio-switch__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.checkbox-radio-switch--button-variant[data-v-81045d2a]:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon>*{color:var(--color-main-text)}.checkbox-radio-switch--button-variant[data-v-81045d2a] .checkbox-radio-switch__icon:empty{display:none}.checkbox-radio-switch--button-variant[data-v-81045d2a]:not(.checkbox-radio-switch--button-variant-v-grouped):not(.checkbox-radio-switch--button-variant-h-grouped),.checkbox-radio-switch--button-variant .checkbox-radio-switch__content[data-v-81045d2a]{border-radius:var(--checkbox-radio-switch--border-radius)}.checkbox-radio-switch--button-variant-v-grouped .checkbox-radio-switch__content[data-v-81045d2a]{flex-basis:100%;max-width:unset}.checkbox-radio-switch--button-variant-v-grouped[data-v-81045d2a]:first-of-type{border-start-start-radius:var(--checkbox-radio-switch--border-radius-outer);border-start-end-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-v-grouped[data-v-81045d2a]:last-of-type{border-end-start-radius:var(--checkbox-radio-switch--border-radius-outer);border-end-end-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-v-grouped[data-v-81045d2a]:not(:last-of-type){border-bottom:0!important}.checkbox-radio-switch--button-variant-v-grouped:not(:last-of-type) .checkbox-radio-switch__content[data-v-81045d2a]{margin-bottom:2px}.checkbox-radio-switch--button-variant-v-grouped[data-v-81045d2a]:not(:first-of-type){border-top:0!important}.checkbox-radio-switch--button-variant-h-grouped[data-v-81045d2a]:first-of-type{border-start-start-radius:var(--checkbox-radio-switch--border-radius-outer);border-end-start-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-h-grouped[data-v-81045d2a]:last-of-type{border-start-end-radius:var(--checkbox-radio-switch--border-radius-outer);border-end-end-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-h-grouped[data-v-81045d2a]:not(:last-of-type){border-inline-end:0!important}.checkbox-radio-switch--button-variant-h-grouped:not(:last-of-type) .checkbox-radio-switch__content[data-v-81045d2a]{margin-inline-end:2px}.checkbox-radio-switch--button-variant-h-grouped[data-v-81045d2a]:not(:first-of-type){border-inline-start:0!important}.checkbox-radio-switch--button-variant-h-grouped[data-v-81045d2a] .checkbox-radio-switch__text{text-align:center;display:flex;align-items:center}.checkbox-radio-switch--button-variant-h-grouped .checkbox-radio-switch__content[data-v-81045d2a]{flex-direction:column;justify-content:center;width:100%;margin:0;gap:0}._material-design-icon_GIyb6{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}._iconToggleSwitch_2xTzi{color:var(--v6bd152af);transition:color var(--animation-quick) ease}._iconToggleSwitch_2xTzi svg{height:auto!important}._iconToggleSwitch_2xTzi circle{cx:var(--v16fd8ca9);transition:cx var(--animation-quick) ease}")),document.head.appendChild(t)}}catch(c){console.error("vite-plugin-css-injected-by-js",c)}})(); -import{_ as u,j as M,aA as B,c as w,k as n,l as m,J as x,a6 as $,i as N,O as H,b as L,S as C,aB as E,P as R,B as S,m as v,E as l,x as p,al as _,G as r,C as q,ac as O,r as b,q as G,v as g,y as z,a9 as Z,p as k}from"./store-BUdOGViY.chunk.mjs";const j=` @@ -8,4 +8,4 @@ import{_ as u,j as M,aA as B,c as w,k as n,l as m,J as x,a6 as $,i as N,O as H,b r="3" fill="var(--color-main-background)" /> `,W=M({__name:"NcIconToggleSwitch",props:{checked:{type:Boolean},size:{default:34},inline:{type:Boolean,default:!1}},setup(t){B(o=>({v6bd152af:a.value,v16fd8ca9:e.value}));const a=w(()=>t.checked?"var(--color-primary-element)":"var(--color-text-maxcontrast)"),e=w(()=>t.checked?"calc(17 / 24 * 100%)":"calc(7 / 24 * 100%)");return(o,c)=>(n(),m($,{class:x(o.$style.iconToggleSwitch),svg:j,size:t.size,inline:t.inline},null,8,["class","size","inline"]))}}),P="_iconToggleSwitch_2xTzi",J={"material-design-icon":"_material-design-icon_GIyb6",iconToggleSwitch:P},U={$style:J},D=u(W,[["__cssModules",U]]),F=Symbol.for("insideRadioGroup");function K(){return N(F,void 0)}const Q={name:"CheckboxBlankOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},X=["aria-hidden","aria-label"],Y=["fill","width","height"],ee={key:0};function te(t,a,e,o,c,i){return n(),l("span",p(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon checkbox-blank-outline-icon",role:"img",onClick:a[0]||(a[0]=s=>t.$emit("click",s))}),[(n(),l("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[e.title?(n(),l("title",ee,g(e.title),1)):r("",!0),a[1]||(a[1]=k("path",{d:"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z"},null,-1))],8,Y))],16,X)}const ie=u(Q,[["render",te]]),ae={name:"CheckboxMarkedIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ne=["aria-hidden","aria-label"],le=["fill","width","height"],oe={key:0};function se(t,a,e,o,c,i){return n(),l("span",p(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon checkbox-marked-icon",role:"img",onClick:a[0]||(a[0]=s=>t.$emit("click",s))}),[(n(),l("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[e.title?(n(),l("title",oe,g(e.title),1)):r("",!0),a[1]||(a[1]=k("path",{d:"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z"},null,-1))],8,le))],16,ne)}const re=u(ae,[["render",se]]),ce={name:"MinusBoxIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},de=["aria-hidden","aria-label"],ue=["fill","width","height"],he={key:0};function pe(t,a,e,o,c,i){return n(),l("span",p(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon minus-box-icon",role:"img",onClick:a[0]||(a[0]=s=>t.$emit("click",s))}),[(n(),l("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[e.title?(n(),l("title",he,g(e.title),1)):r("",!0),a[1]||(a[1]=k("path",{d:"M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z"},null,-1))],8,ue))],16,de)}const ye=u(ce,[["render",pe]]),be={name:"RadioboxBlankIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ge=["aria-hidden","aria-label"],ke=["fill","width","height"],me={key:0};function fe(t,a,e,o,c,i){return n(),l("span",p(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon radiobox-blank-icon",role:"img",onClick:a[0]||(a[0]=s=>t.$emit("click",s))}),[(n(),l("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[e.title?(n(),l("title",me,g(e.title),1)):r("",!0),a[1]||(a[1]=k("path",{d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"},null,-1))],8,ke))],16,ge)}const ve=u(be,[["render",fe]]),xe={name:"RadioboxMarkedIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},we=["aria-hidden","aria-label"],Ce=["fill","width","height"],Se={key:0};function Te(t,a,e,o,c,i){return n(),l("span",p(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon radiobox-marked-icon",role:"img",onClick:a[0]||(a[0]=s=>t.$emit("click",s))}),[(n(),l("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[e.title?(n(),l("title",Se,g(e.title),1)):r("",!0),a[1]||(a[1]=k("path",{d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z"},null,-1))],8,Ce))],16,we)}const _e=u(xe,[["render",Te]]),y="checkbox",h="radio",d="switch",f="button",Ve={name:"NcCheckboxContent",components:{NcLoadingIcon:Z,NcIconToggleSwitch:D},props:{iconClass:{type:[String,Object],default:null},textClass:{type:[String,Object],default:null},type:{type:String,default:"checkbox",validator:t=>[y,h,d,f].includes(t)},buttonVariant:{type:Boolean,default:!1},isChecked:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},iconSize:{type:Number,default:24},labelId:{type:String,required:!0},descriptionId:{type:String,required:!0}},computed:{isButtonType(){return this.type===f},isSwitchType(){return this.type===d},checkboxRadioIconElement(){return this.type===h?this.isChecked?_e:ve:this.indeterminate?ye:this.isChecked?re:ie}}},Ie={key:0,class:"checkbox-content__wrapper"},Be=["id"],ze=["id"];function Ae(t,a,e,o,c,i){const s=S("NcLoadingIcon"),A=S("NcIconToggleSwitch");return n(),l("span",{class:x(["checkbox-content",{["checkbox-content-"+e.type]:!0,"checkbox-content--button-variant":e.buttonVariant,"checkbox-content--has-text":!!t.$slots.default}])},[k("span",{class:x(["checkbox-content__icon",{"checkbox-content__icon--checked":e.isChecked,"checkbox-content__icon--has-description":!i.isButtonType&&t.$slots.description,[e.iconClass]:!0}]),"aria-hidden":!0,inert:""},[b(t.$slots,"icon",{checked:e.isChecked,loading:e.loading},()=>[e.loading?(n(),m(s,{key:0})):i.isSwitchType?(n(),m(A,{key:1,checked:e.isChecked,size:e.iconSize,inline:""},null,8,["checked","size"])):e.buttonVariant?r("",!0):(n(),m(z(i.checkboxRadioIconElement),{key:2,size:e.iconSize},null,8,["size"]))],!0)],2),t.$slots.default||t.$slots.description?(n(),l("span",Ie,[t.$slots.default?(n(),l("span",{key:0,id:e.labelId,class:x(["checkbox-content__text",e.textClass])},[b(t.$slots,"default",{},void 0,!0)],10,Be)):r("",!0),!i.isButtonType&&t.$slots.description?(n(),l("span",{key:1,id:e.descriptionId,class:"checkbox-content__description"},[b(t.$slots,"description",{},void 0,!0)],8,ze)):r("",!0)])):r("",!0)],2)}const Me=u(Ve,[["render",Ae],["__scopeId","data-v-5ca1e30f"]]);H();const T={name:"NcCheckboxRadioSwitch",components:{NcCheckboxContent:Me},inheritAttrs:!1,props:{id:{type:String,default:()=>"checkbox-radio-switch-"+C(),validator:t=>t.trim()!==""},wrapperId:{type:String,default:null},name:{type:String,default:null},ariaLabel:{type:String,default:""},type:{type:String,default:"checkbox",validator:t=>[y,h,d,f].includes(t)},buttonVariant:{type:Boolean,default:!1},buttonVariantGrouped:{type:String,default:"no",validator:t=>["no","vertical","horizontal"].includes(t)},modelValue:{type:[Boolean,Array,String],default:!1},value:{type:String,default:null},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},required:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},wrapperElement:{type:String,default:null},class:{type:[String,Array,Object],default:""},style:{type:[String,Array,Object],default:""},description:{type:String,default:null}},emits:["update:modelValue"],setup(t,{emit:a}){const e=K();L(()=>e?.value.register(!1));const o=w(()=>e?.value?h:t.type),c=w({get(){return e?.value?e.value.modelValue:t.modelValue},set(i){e?.value?e.value.onUpdate(i):a("update:modelValue",i)}});return{internalType:o,internalModelValue:c,labelId:C(),descriptionId:C()}},computed:{isButtonType(){return this.internalType===f},computedWrapperElement(){return this.isButtonType?"button":this.wrapperElement!==null?this.wrapperElement:"span"},listeners(){return this.isButtonType?{click:this.onToggle}:{change:this.onToggle}},iconSize(){return this.internalType===d?36:20},cssIconSize(){return this.iconSize+"px"},cssIconHeight(){return this.internalType===d?"16px":this.cssIconSize},inputType(){return[y,h,f].includes(this.internalType)?this.internalType:y},inputRole(){return this.internalType===d?"switch":void 0},isChecked(){return this.value!==null?Array.isArray(this.internalModelValue)?[...this.internalModelValue].indexOf(this.value)>-1:this.internalModelValue===this.value:this.internalModelValue===!0},hasIndeterminate(){return[y,h].includes(this.inputType)}},mounted(){if(this.name&&this.internalType===y&&!Array.isArray(this.internalModelValue))throw new Error("When using groups of checkboxes, the updated value will be an array.");if(this.name&&this.internalType===d)throw new Error("Switches are not made to be used for data sets. Please use checkboxes instead.");if(typeof this.internalModelValue!="boolean"&&this.internalType===d)throw new Error("Switches can only be used with boolean as modelValue prop.")},methods:{t:R,n:E,onToggle(t){if(!(this.disabled||t.target.tagName.toLowerCase()==="a")){if(this.internalType===h){this.internalModelValue=this.value;return}if(this.internalType===d){this.internalModelValue=!this.isChecked;return}if(typeof this.internalModelValue=="boolean"){this.internalModelValue=!this.internalModelValue;return}this.isChecked?this.internalModelValue=this.internalModelValue.filter(a=>a!==this.value):this.internalModelValue=[...this.internalModelValue,this.value]}}}},V=()=>{B(t=>({f99d0228:t.cssIconSize,v69c82152:t.cssIconHeight}))},I=T.setup;T.setup=I?(t,a)=>(V(),I(t,a)):V;const $e=["id","aria-labelledby","aria-describedby","aria-label","disabled","type","role","value","checked",".indeterminate","required","name"];function Ne(t,a,e,o,c,i){const s=S("NcCheckboxContent");return n(),m(z(i.computedWrapperElement),p({id:e.wrapperId??(i.isButtonType?e.id:null),"aria-label":i.isButtonType&&e.ariaLabel?e.ariaLabel:void 0,class:["checkbox-radio-switch",[t.$props.class,{["checkbox-radio-switch-"+o.internalType]:o.internalType,"checkbox-radio-switch--checked":i.isChecked,"checkbox-radio-switch--disabled":e.disabled,"checkbox-radio-switch--indeterminate":i.hasIndeterminate?e.indeterminate:!1,"checkbox-radio-switch--button-variant":e.buttonVariant,"checkbox-radio-switch--button-variant-v-grouped":e.buttonVariant&&e.buttonVariantGrouped==="vertical","checkbox-radio-switch--button-variant-h-grouped":e.buttonVariant&&e.buttonVariantGrouped==="horizontal","button-vue":i.isButtonType}]],style:e.style,type:i.isButtonType?"button":null},i.isButtonType?t.$attrs:{},_(i.isButtonType?i.listeners:{})),{default:v(()=>[i.isButtonType?r("",!0):(n(),l("input",p({key:0,id:e.id,"aria-labelledby":!i.isButtonType&&!e.ariaLabel?o.labelId:null,"aria-describedby":!i.isButtonType&&(e.description||t.$slots.description)?o.descriptionId:null,"aria-label":e.ariaLabel||void 0,class:"checkbox-radio-switch__input",disabled:e.disabled,type:i.inputType,role:i.inputRole,value:e.value,checked:i.isChecked,".indeterminate":i.hasIndeterminate?e.indeterminate:null,required:e.required,name:e.name},t.$attrs,_(i.listeners,!0)),null,48,$e)),q(s,{id:i.isButtonType?void 0:`${e.id}-label`,class:"checkbox-radio-switch__content",iconClass:"checkbox-radio-switch__icon",textClass:"checkbox-radio-switch__text",type:o.internalType,indeterminate:i.hasIndeterminate?e.indeterminate:!1,buttonVariant:e.buttonVariant,isChecked:i.isChecked,loading:e.loading,labelId:o.labelId,descriptionId:o.descriptionId,iconSize:i.iconSize,onClick:i.onToggle},O({icon:v(()=>[b(t.$slots,"icon",{},void 0,!0)]),_:2},[t.$slots.description||e.description?{name:"description",fn:v(()=>[b(t.$slots,"description",{},()=>[G(g(e.description),1)],!0)]),key:"0"}:void 0,t.$slots.default?{name:"default",fn:v(()=>[b(t.$slots,"default",{},void 0,!0)]),key:"1"}:void 0]),1032,["id","type","indeterminate","buttonVariant","isChecked","loading","labelId","descriptionId","iconSize","onClick"])]),_:3},16,["id","aria-label","class","style","type"])}const Le=u(T,[["render",Ne],["__scopeId","data-v-81045d2a"]]);export{Le as N}; -//# sourceMappingURL=NcCheckboxRadioSwitch-CqbiLdI-.chunk.mjs.map +//# sourceMappingURL=NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs.map diff --git a/js/NcCheckboxRadioSwitch-CqbiLdI-.chunk.mjs.license b/js/NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs.license similarity index 100% rename from js/NcCheckboxRadioSwitch-CqbiLdI-.chunk.mjs.license rename to js/NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs.license diff --git a/js/NcCheckboxRadioSwitch-CqbiLdI-.chunk.mjs.map b/js/NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs.map similarity index 99% rename from js/NcCheckboxRadioSwitch-CqbiLdI-.chunk.mjs.map rename to js/NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs.map index 32421f80..299e7b4e 100644 --- a/js/NcCheckboxRadioSwitch-CqbiLdI-.chunk.mjs.map +++ b/js/NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"NcCheckboxRadioSwitch-CqbiLdI-.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcIconToggleSwitch.mjs","../node_modules/@nextcloud/vue/dist/chunks/useNcRadioGroup.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcCheckboxRadioSwitch.mjs"],"sourcesContent":["import '../assets/NcIconToggleSwitch.css';\nimport { defineComponent, useCssVars, computed, openBlock, createBlock, normalizeClass } from \"vue\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nconst svg = `\n\t\n\t\n`;\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcIconToggleSwitch\",\n props: {\n checked: { type: Boolean },\n size: { default: 34 },\n inline: { type: Boolean, default: false }\n },\n setup(__props) {\n useCssVars((_ctx) => ({\n \"v6bd152af\": color.value,\n \"v16fd8ca9\": cx.value\n }));\n const color = computed(() => __props.checked ? \"var(--color-primary-element)\" : \"var(--color-text-maxcontrast)\");\n const cx = computed(() => __props.checked ? \"calc(17 / 24 * 100%)\" : \"calc(7 / 24 * 100%)\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(NcIconSvgWrapper, {\n class: normalizeClass(_ctx.$style.iconToggleSwitch),\n svg,\n size: __props.size,\n inline: __props.inline\n }, null, 8, [\"class\", \"size\", \"inline\"]);\n };\n }\n});\nconst iconToggleSwitch = \"_iconToggleSwitch_2xTzi\";\nconst style0 = {\n \"material-design-icon\": \"_material-design-icon_GIyb6\",\n iconToggleSwitch\n};\nconst cssModules = {\n \"$style\": style0\n};\nconst NcIconToggleSwitch = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__cssModules\", cssModules]]);\nexport {\n NcIconToggleSwitch as N\n};\n//# sourceMappingURL=NcIconToggleSwitch.mjs.map\n","import { inject } from \"vue\";\n/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nconst INSIDE_RADIO_GROUP_KEY = /* @__PURE__ */ Symbol.for(\"insideRadioGroup\");\nfunction useInsideRadioGroup() {\n return inject(INSIDE_RADIO_GROUP_KEY, void 0);\n}\nexport {\n INSIDE_RADIO_GROUP_KEY as I,\n useInsideRadioGroup as u\n};\n//# sourceMappingURL=useNcRadioGroup.mjs.map\n","import '../assets/NcCheckboxRadioSwitch.css';\nimport { openBlock, createElementBlock, mergeProps, toDisplayString, createCommentVNode, createElementVNode, resolveComponent, normalizeClass, renderSlot, createBlock, resolveDynamicComponent, toHandlers, withCtx, createVNode, createSlots, createTextVNode, onMounted, computed, useCssVars } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nimport { N as NcIconToggleSwitch } from \"./NcIconToggleSwitch.mjs\";\nimport { N as NcLoadingIcon } from \"./NcLoadingIcon.mjs\";\nimport { r as register, M as n, a as t } from \"./_l10n.mjs\";\nimport { c as createElementId } from \"./createElementId.mjs\";\nimport { u as useInsideRadioGroup } from \"./useNcRadioGroup.mjs\";\nconst _sfc_main$6 = {\n name: \"CheckboxBlankOutlineIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$6 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$5 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$5 = { key: 0 };\nfunction _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon checkbox-blank-outline-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_3$5, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true),\n _cache[1] || (_cache[1] = createElementVNode(\"path\", { d: \"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z\" }, null, -1))\n ], 8, _hoisted_2$5))\n ], 16, _hoisted_1$6);\n}\nconst CheckboxBlankOutline = /* @__PURE__ */ _export_sfc(_sfc_main$6, [[\"render\", _sfc_render$6]]);\nconst _sfc_main$5 = {\n name: \"CheckboxMarkedIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$5 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$4 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$4 = { key: 0 };\nfunction _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon checkbox-marked-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_3$4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true),\n _cache[1] || (_cache[1] = createElementVNode(\"path\", { d: \"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\" }, null, -1))\n ], 8, _hoisted_2$4))\n ], 16, _hoisted_1$5);\n}\nconst CheckboxMarked = /* @__PURE__ */ _export_sfc(_sfc_main$5, [[\"render\", _sfc_render$5]]);\nconst _sfc_main$4 = {\n name: \"MinusBoxIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$4 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$3 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$3 = { key: 0 };\nfunction _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon minus-box-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_3$3, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true),\n _cache[1] || (_cache[1] = createElementVNode(\"path\", { d: \"M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\" }, null, -1))\n ], 8, _hoisted_2$3))\n ], 16, _hoisted_1$4);\n}\nconst MinusBox = /* @__PURE__ */ _export_sfc(_sfc_main$4, [[\"render\", _sfc_render$4]]);\nconst _sfc_main$3 = {\n name: \"RadioboxBlankIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$3 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon radiobox-blank-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_3$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true),\n _cache[1] || (_cache[1] = createElementVNode(\"path\", { d: \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\" }, null, -1))\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$3);\n}\nconst RadioboxBlank = /* @__PURE__ */ _export_sfc(_sfc_main$3, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$2 = {\n name: \"RadioboxMarkedIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$2 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon radiobox-marked-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_3$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true),\n _cache[1] || (_cache[1] = createElementVNode(\"path\", { d: \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z\" }, null, -1))\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$2);\n}\nconst RadioboxMarked = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render$2]]);\nconst TYPE_CHECKBOX = \"checkbox\";\nconst TYPE_RADIO = \"radio\";\nconst TYPE_SWITCH = \"switch\";\nconst TYPE_BUTTON = \"button\";\nconst _sfc_main$1 = {\n name: \"NcCheckboxContent\",\n components: {\n NcLoadingIcon,\n NcIconToggleSwitch\n },\n props: {\n /**\n * Class for the icon element\n */\n iconClass: {\n type: [String, Object],\n default: null\n },\n /**\n * Class for the text element\n */\n textClass: {\n type: [String, Object],\n default: null\n },\n /**\n * Type of the input. checkbox, radio, switch, or button.\n *\n * Only use button when used in a `tablist` container and the\n * `tab` role is set.\n *\n * @type {'checkbox'|'radio'|'switch'|'button'}\n */\n type: {\n type: String,\n default: \"checkbox\",\n validator: (type) => [\n TYPE_CHECKBOX,\n TYPE_RADIO,\n TYPE_SWITCH,\n TYPE_BUTTON\n ].includes(type)\n },\n /**\n * Toggle the alternative button style\n */\n buttonVariant: {\n type: Boolean,\n default: false\n },\n /**\n * True if the entry is checked\n */\n isChecked: {\n type: Boolean,\n default: false\n },\n /**\n * Indeterminate state\n */\n indeterminate: {\n type: Boolean,\n default: false\n },\n /**\n * Loading state\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Icon size\n */\n iconSize: {\n type: Number,\n default: 24\n },\n /**\n * Label id attribute\n */\n labelId: {\n type: String,\n required: true\n },\n /**\n * Description id attribute\n */\n descriptionId: {\n type: String,\n required: true\n }\n },\n computed: {\n isButtonType() {\n return this.type === TYPE_BUTTON;\n },\n isSwitchType() {\n return this.type === TYPE_SWITCH;\n },\n /**\n * Returns the proper Material icon depending on the select case\n *\n * @return {object}\n */\n checkboxRadioIconElement() {\n if (this.type === TYPE_RADIO) {\n if (this.isChecked) {\n return RadioboxMarked;\n }\n return RadioboxBlank;\n }\n if (this.indeterminate) {\n return MinusBox;\n }\n if (this.isChecked) {\n return CheckboxMarked;\n }\n return CheckboxBlankOutline;\n }\n }\n};\nconst _hoisted_1$1 = {\n key: 0,\n class: \"checkbox-content__wrapper\"\n};\nconst _hoisted_2 = [\"id\"];\nconst _hoisted_3 = [\"id\"];\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcLoadingIcon = resolveComponent(\"NcLoadingIcon\");\n const _component_NcIconToggleSwitch = resolveComponent(\"NcIconToggleSwitch\");\n return openBlock(), createElementBlock(\"span\", {\n class: normalizeClass([\"checkbox-content\", {\n [\"checkbox-content-\" + $props.type]: true,\n \"checkbox-content--button-variant\": $props.buttonVariant,\n \"checkbox-content--has-text\": !!_ctx.$slots.default\n }])\n }, [\n createElementVNode(\"span\", {\n class: normalizeClass([\"checkbox-content__icon\", {\n \"checkbox-content__icon--checked\": $props.isChecked,\n \"checkbox-content__icon--has-description\": !$options.isButtonType && _ctx.$slots.description,\n [$props.iconClass]: true\n }]),\n \"aria-hidden\": true,\n inert: \"\"\n }, [\n renderSlot(_ctx.$slots, \"icon\", {\n checked: $props.isChecked,\n loading: $props.loading\n }, () => [\n $props.loading ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 0 })) : $options.isSwitchType ? (openBlock(), createBlock(_component_NcIconToggleSwitch, {\n key: 1,\n checked: $props.isChecked,\n size: $props.iconSize,\n inline: \"\"\n }, null, 8, [\"checked\", \"size\"])) : !$props.buttonVariant ? (openBlock(), createBlock(resolveDynamicComponent($options.checkboxRadioIconElement), {\n key: 2,\n size: $props.iconSize\n }, null, 8, [\"size\"])) : createCommentVNode(\"\", true)\n ], true)\n ], 2),\n _ctx.$slots.default || _ctx.$slots.description ? (openBlock(), createElementBlock(\"span\", _hoisted_1$1, [\n _ctx.$slots.default ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n id: $props.labelId,\n class: normalizeClass([\"checkbox-content__text\", $props.textClass])\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 10, _hoisted_2)) : createCommentVNode(\"\", true),\n !$options.isButtonType && _ctx.$slots.description ? (openBlock(), createElementBlock(\"span\", {\n key: 1,\n id: $props.descriptionId,\n class: \"checkbox-content__description\"\n }, [\n renderSlot(_ctx.$slots, \"description\", {}, void 0, true)\n ], 8, _hoisted_3)) : createCommentVNode(\"\", true)\n ])) : createCommentVNode(\"\", true)\n ], 2);\n}\nconst NcCheckboxContent = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1], [\"__scopeId\", \"data-v-5ca1e30f\"]]);\nregister();\nconst _sfc_main = {\n name: \"NcCheckboxRadioSwitch\",\n components: {\n NcCheckboxContent\n },\n // We need to pass attributes to the input element\n inheritAttrs: false,\n props: {\n /**\n * Unique id attribute of the input\n */\n id: {\n type: String,\n default: () => \"checkbox-radio-switch-\" + createElementId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * Unique id attribute of the wrapper element\n */\n wrapperId: {\n type: String,\n default: null\n },\n /**\n * Input name. Required for radio, optional for checkbox, and ignored\n * for button.\n */\n name: {\n type: String,\n default: null\n },\n /**\n * Required if no text is set.\n * The aria-label is forwarded to the input or button.\n */\n ariaLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Type of the input. checkbox, radio, switch, or button.\n *\n * Only use button when used in a `tablist` container and the\n * `tab` role is set.\n *\n * @type {'checkbox'|'radio'|'switch'|'button'}\n */\n type: {\n type: String,\n default: \"checkbox\",\n validator: (type) => [\n TYPE_CHECKBOX,\n TYPE_RADIO,\n TYPE_SWITCH,\n TYPE_BUTTON\n ].includes(type)\n },\n /**\n * Toggle the alternative button style\n *\n * @deprecated - Use `NcRadioGroup` instead\n */\n buttonVariant: {\n type: Boolean,\n default: false\n },\n /**\n * Are the elements are all direct siblings?\n * If so they will be grouped horizontally or vertically\n *\n * @type {'no'|'horizontal'|'vertical'}\n * @deprecated - Use `NcRadioGroup` instead\n */\n buttonVariantGrouped: {\n type: String,\n default: \"no\",\n validator: (v) => [\"no\", \"vertical\", \"horizontal\"].includes(v)\n },\n /**\n * Checked state. To be used with `v-model:value`\n */\n modelValue: {\n type: [Boolean, Array, String],\n default: false\n },\n /**\n * Value to be synced on check\n */\n value: {\n type: String,\n default: null\n },\n /**\n * Disabled state\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Indeterminate state\n */\n indeterminate: {\n type: Boolean,\n default: false\n },\n /**\n * Required state\n */\n required: {\n type: Boolean,\n default: false\n },\n /**\n * Loading state\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Wrapping element tag\n *\n * When `type` is set to `button` this will be ignored\n *\n * Defaults to `span`\n */\n wrapperElement: {\n type: String,\n default: null\n },\n /**\n * The class(es) to pass to the wrapper / root element of the component\n */\n class: {\n type: [String, Array, Object],\n default: \"\"\n },\n /**\n * The style to pass to the wrapper / root element of the component\n */\n style: {\n type: [String, Array, Object],\n default: \"\"\n },\n /**\n * Description\n *\n * This is unsupported when using button has type.\n */\n description: {\n type: String,\n default: null\n }\n },\n emits: [\"update:modelValue\"],\n setup(props, { emit }) {\n const radioGroup = useInsideRadioGroup();\n onMounted(() => radioGroup?.value.register(false));\n const internalType = computed(() => radioGroup?.value ? TYPE_RADIO : props.type);\n const internalModelValue = computed({\n get() {\n if (radioGroup?.value) {\n return radioGroup.value.modelValue;\n }\n return props.modelValue;\n },\n set(value) {\n if (radioGroup?.value) {\n radioGroup.value.onUpdate(value);\n } else {\n emit(\"update:modelValue\", value);\n }\n }\n });\n return {\n internalType,\n internalModelValue,\n labelId: createElementId(),\n descriptionId: createElementId()\n };\n },\n computed: {\n isButtonType() {\n return this.internalType === TYPE_BUTTON;\n },\n computedWrapperElement() {\n if (this.isButtonType) {\n return \"button\";\n }\n if (this.wrapperElement !== null) {\n return this.wrapperElement;\n }\n return \"span\";\n },\n listeners() {\n if (this.isButtonType) {\n return {\n click: this.onToggle\n };\n }\n return {\n change: this.onToggle\n };\n },\n iconSize() {\n return this.internalType === TYPE_SWITCH ? 36 : 20;\n },\n cssIconSize() {\n return this.iconSize + \"px\";\n },\n cssIconHeight() {\n return this.internalType === TYPE_SWITCH ? \"16px\" : this.cssIconSize;\n },\n /**\n * Return the input type.\n * Switch is not an official type\n *\n * @return {string}\n */\n inputType() {\n const nativeTypes = [\n TYPE_CHECKBOX,\n TYPE_RADIO,\n TYPE_BUTTON\n ];\n if (nativeTypes.includes(this.internalType)) {\n return this.internalType;\n }\n return TYPE_CHECKBOX;\n },\n /**\n * ARIA role for the input. A switch renders as a native checkbox, so it\n * needs an explicit `switch` role to be announced correctly.\n *\n * @return {string|undefined}\n */\n inputRole() {\n return this.internalType === TYPE_SWITCH ? \"switch\" : void 0;\n },\n /**\n * Check if that entry is checked\n * If value is defined, we use that as the checked value\n * If not, we expect true/false in this.checked\n *\n * @return {boolean}\n */\n isChecked() {\n if (this.value !== null) {\n if (Array.isArray(this.internalModelValue)) {\n return [...this.internalModelValue].indexOf(this.value) > -1;\n }\n return this.internalModelValue === this.value;\n }\n return this.internalModelValue === true;\n },\n hasIndeterminate() {\n return [\n TYPE_CHECKBOX,\n TYPE_RADIO\n ].includes(this.inputType);\n }\n },\n mounted() {\n if (this.name && this.internalType === TYPE_CHECKBOX) {\n if (!Array.isArray(this.internalModelValue)) {\n throw new Error(\"When using groups of checkboxes, the updated value will be an array.\");\n }\n }\n if (this.name && this.internalType === TYPE_SWITCH) {\n throw new Error(\"Switches are not made to be used for data sets. Please use checkboxes instead.\");\n }\n if (typeof this.internalModelValue !== \"boolean\" && this.internalType === TYPE_SWITCH) {\n throw new Error(\"Switches can only be used with boolean as modelValue prop.\");\n }\n },\n methods: {\n t,\n n,\n onToggle(event) {\n if (this.disabled || event.target.tagName.toLowerCase() === \"a\") {\n return;\n }\n if (this.internalType === TYPE_RADIO) {\n this.internalModelValue = this.value;\n return;\n }\n if (this.internalType === TYPE_SWITCH) {\n this.internalModelValue = !this.isChecked;\n return;\n }\n if (typeof this.internalModelValue === \"boolean\") {\n this.internalModelValue = !this.internalModelValue;\n return;\n }\n if (this.isChecked) {\n this.internalModelValue = this.internalModelValue.filter((v) => v !== this.value);\n } else {\n this.internalModelValue = [...this.internalModelValue, this.value];\n }\n }\n }\n};\nconst __injectCSSVars__ = () => {\n useCssVars((_ctx) => ({\n \"f99d0228\": _ctx.cssIconSize,\n \"v69c82152\": _ctx.cssIconHeight\n }));\n};\nconst __setup__ = _sfc_main.setup;\n_sfc_main.setup = __setup__ ? (props, ctx) => {\n __injectCSSVars__();\n return __setup__(props, ctx);\n} : __injectCSSVars__;\nconst _hoisted_1 = [\"id\", \"aria-labelledby\", \"aria-describedby\", \"aria-label\", \"disabled\", \"type\", \"role\", \"value\", \"checked\", \".indeterminate\", \"required\", \"name\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcCheckboxContent = resolveComponent(\"NcCheckboxContent\");\n return openBlock(), createBlock(resolveDynamicComponent($options.computedWrapperElement), mergeProps({\n id: $props.wrapperId ?? ($options.isButtonType ? $props.id : null),\n \"aria-label\": $options.isButtonType && $props.ariaLabel ? $props.ariaLabel : void 0,\n class: [\"checkbox-radio-switch\", [\n _ctx.$props.class,\n {\n [\"checkbox-radio-switch-\" + $setup.internalType]: $setup.internalType,\n \"checkbox-radio-switch--checked\": $options.isChecked,\n \"checkbox-radio-switch--disabled\": $props.disabled,\n \"checkbox-radio-switch--indeterminate\": $options.hasIndeterminate ? $props.indeterminate : false,\n \"checkbox-radio-switch--button-variant\": $props.buttonVariant,\n \"checkbox-radio-switch--button-variant-v-grouped\": $props.buttonVariant && $props.buttonVariantGrouped === \"vertical\",\n \"checkbox-radio-switch--button-variant-h-grouped\": $props.buttonVariant && $props.buttonVariantGrouped === \"horizontal\",\n \"button-vue\": $options.isButtonType\n }\n ]],\n style: $props.style,\n type: $options.isButtonType ? \"button\" : null\n }, $options.isButtonType ? _ctx.$attrs : {}, toHandlers($options.isButtonType ? $options.listeners : {})), {\n default: withCtx(() => [\n !$options.isButtonType ? (openBlock(), createElementBlock(\"input\", mergeProps({\n key: 0,\n id: $props.id,\n \"aria-labelledby\": !$options.isButtonType && !$props.ariaLabel ? $setup.labelId : null,\n \"aria-describedby\": !$options.isButtonType && ($props.description || _ctx.$slots.description) ? $setup.descriptionId : null,\n \"aria-label\": $props.ariaLabel || void 0,\n class: \"checkbox-radio-switch__input\",\n disabled: $props.disabled,\n type: $options.inputType,\n role: $options.inputRole,\n value: $props.value,\n checked: $options.isChecked,\n \".indeterminate\": $options.hasIndeterminate ? $props.indeterminate : null,\n required: $props.required,\n name: $props.name\n }, _ctx.$attrs, toHandlers($options.listeners, true)), null, 48, _hoisted_1)) : createCommentVNode(\"\", true),\n createVNode(_component_NcCheckboxContent, {\n id: !$options.isButtonType ? `${$props.id}-label` : void 0,\n class: \"checkbox-radio-switch__content\",\n iconClass: \"checkbox-radio-switch__icon\",\n textClass: \"checkbox-radio-switch__text\",\n type: $setup.internalType,\n indeterminate: $options.hasIndeterminate ? $props.indeterminate : false,\n buttonVariant: $props.buttonVariant,\n isChecked: $options.isChecked,\n loading: $props.loading,\n labelId: $setup.labelId,\n descriptionId: $setup.descriptionId,\n iconSize: $options.iconSize,\n onClick: $options.onToggle\n }, createSlots({\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true)\n ]),\n _: 2\n }, [\n _ctx.$slots.description || $props.description ? {\n name: \"description\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"description\", {}, () => [\n createTextVNode(toDisplayString($props.description), 1)\n ], true)\n ]),\n key: \"0\"\n } : void 0,\n !!_ctx.$slots.default ? {\n name: \"default\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]),\n key: \"1\"\n } : void 0\n ]), 1032, [\"id\", \"type\", \"indeterminate\", \"buttonVariant\", \"isChecked\", \"loading\", \"labelId\", \"descriptionId\", \"iconSize\", \"onClick\"])\n ]),\n _: 3\n }, 16, [\"id\", \"aria-label\", \"class\", \"style\", \"type\"]);\n}\nconst NcCheckboxRadioSwitch = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-81045d2a\"]]);\nexport {\n NcCheckboxRadioSwitch as N\n};\n//# sourceMappingURL=NcCheckboxRadioSwitch.mjs.map\n"],"names":["svg","_sfc_main","defineComponent","__props","useCssVars","_ctx","color","cx","computed","_cache","openBlock","createBlock","NcIconSvgWrapper","normalizeClass","iconToggleSwitch","style0","cssModules","NcIconToggleSwitch","_export_sfc","INSIDE_RADIO_GROUP_KEY","useInsideRadioGroup","inject","_sfc_main$6","_hoisted_1$6","_hoisted_2$5","_hoisted_3$5","_sfc_render$6","$props","$setup","$data","$options","createElementBlock","mergeProps","$event","toDisplayString","createCommentVNode","createElementVNode","CheckboxBlankOutline","_sfc_main$5","_hoisted_1$5","_hoisted_2$4","_hoisted_3$4","_sfc_render$5","CheckboxMarked","_sfc_main$4","_hoisted_1$4","_hoisted_2$3","_hoisted_3$3","_sfc_render$4","MinusBox","_sfc_main$3","_hoisted_1$3","_hoisted_2$2","_hoisted_3$2","_sfc_render$3","RadioboxBlank","_sfc_main$2","_hoisted_1$2","_hoisted_2$1","_hoisted_3$1","_sfc_render$2","RadioboxMarked","TYPE_CHECKBOX","TYPE_RADIO","TYPE_SWITCH","TYPE_BUTTON","_sfc_main$1","NcLoadingIcon","type","_hoisted_1$1","_hoisted_2","_hoisted_3","_sfc_render$1","_component_NcLoadingIcon","resolveComponent","_component_NcIconToggleSwitch","renderSlot","resolveDynamicComponent","NcCheckboxContent","register","createElementId","id","v","props","emit","radioGroup","onMounted","internalType","internalModelValue","value","t","n","event","__injectCSSVars__","__setup__","ctx","_hoisted_1","_sfc_render","_component_NcCheckboxContent","toHandlers","withCtx","createVNode","createSlots","createTextVNode","NcCheckboxRadioSwitch"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file +{"version":3,"file":"NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcIconToggleSwitch.mjs","../node_modules/@nextcloud/vue/dist/chunks/useNcRadioGroup.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcCheckboxRadioSwitch.mjs"],"sourcesContent":["import '../assets/NcIconToggleSwitch.css';\nimport { defineComponent, useCssVars, computed, openBlock, createBlock, normalizeClass } from \"vue\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nconst svg = `\n\t\n\t\n`;\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcIconToggleSwitch\",\n props: {\n checked: { type: Boolean },\n size: { default: 34 },\n inline: { type: Boolean, default: false }\n },\n setup(__props) {\n useCssVars((_ctx) => ({\n \"v6bd152af\": color.value,\n \"v16fd8ca9\": cx.value\n }));\n const color = computed(() => __props.checked ? \"var(--color-primary-element)\" : \"var(--color-text-maxcontrast)\");\n const cx = computed(() => __props.checked ? \"calc(17 / 24 * 100%)\" : \"calc(7 / 24 * 100%)\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(NcIconSvgWrapper, {\n class: normalizeClass(_ctx.$style.iconToggleSwitch),\n svg,\n size: __props.size,\n inline: __props.inline\n }, null, 8, [\"class\", \"size\", \"inline\"]);\n };\n }\n});\nconst iconToggleSwitch = \"_iconToggleSwitch_2xTzi\";\nconst style0 = {\n \"material-design-icon\": \"_material-design-icon_GIyb6\",\n iconToggleSwitch\n};\nconst cssModules = {\n \"$style\": style0\n};\nconst NcIconToggleSwitch = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__cssModules\", cssModules]]);\nexport {\n NcIconToggleSwitch as N\n};\n//# sourceMappingURL=NcIconToggleSwitch.mjs.map\n","import { inject } from \"vue\";\n/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nconst INSIDE_RADIO_GROUP_KEY = /* @__PURE__ */ Symbol.for(\"insideRadioGroup\");\nfunction useInsideRadioGroup() {\n return inject(INSIDE_RADIO_GROUP_KEY, void 0);\n}\nexport {\n INSIDE_RADIO_GROUP_KEY as I,\n useInsideRadioGroup as u\n};\n//# sourceMappingURL=useNcRadioGroup.mjs.map\n","import '../assets/NcCheckboxRadioSwitch.css';\nimport { openBlock, createElementBlock, mergeProps, toDisplayString, createCommentVNode, createElementVNode, resolveComponent, normalizeClass, renderSlot, createBlock, resolveDynamicComponent, toHandlers, withCtx, createVNode, createSlots, createTextVNode, onMounted, computed, useCssVars } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nimport { N as NcIconToggleSwitch } from \"./NcIconToggleSwitch.mjs\";\nimport { N as NcLoadingIcon } from \"./NcLoadingIcon.mjs\";\nimport { r as register, M as n, a as t } from \"./_l10n.mjs\";\nimport { c as createElementId } from \"./createElementId.mjs\";\nimport { u as useInsideRadioGroup } from \"./useNcRadioGroup.mjs\";\nconst _sfc_main$6 = {\n name: \"CheckboxBlankOutlineIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$6 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$5 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$5 = { key: 0 };\nfunction _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon checkbox-blank-outline-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_3$5, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true),\n _cache[1] || (_cache[1] = createElementVNode(\"path\", { d: \"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z\" }, null, -1))\n ], 8, _hoisted_2$5))\n ], 16, _hoisted_1$6);\n}\nconst CheckboxBlankOutline = /* @__PURE__ */ _export_sfc(_sfc_main$6, [[\"render\", _sfc_render$6]]);\nconst _sfc_main$5 = {\n name: \"CheckboxMarkedIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$5 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$4 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$4 = { key: 0 };\nfunction _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon checkbox-marked-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_3$4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true),\n _cache[1] || (_cache[1] = createElementVNode(\"path\", { d: \"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\" }, null, -1))\n ], 8, _hoisted_2$4))\n ], 16, _hoisted_1$5);\n}\nconst CheckboxMarked = /* @__PURE__ */ _export_sfc(_sfc_main$5, [[\"render\", _sfc_render$5]]);\nconst _sfc_main$4 = {\n name: \"MinusBoxIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$4 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$3 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$3 = { key: 0 };\nfunction _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon minus-box-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_3$3, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true),\n _cache[1] || (_cache[1] = createElementVNode(\"path\", { d: \"M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\" }, null, -1))\n ], 8, _hoisted_2$3))\n ], 16, _hoisted_1$4);\n}\nconst MinusBox = /* @__PURE__ */ _export_sfc(_sfc_main$4, [[\"render\", _sfc_render$4]]);\nconst _sfc_main$3 = {\n name: \"RadioboxBlankIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$3 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon radiobox-blank-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_3$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true),\n _cache[1] || (_cache[1] = createElementVNode(\"path\", { d: \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\" }, null, -1))\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$3);\n}\nconst RadioboxBlank = /* @__PURE__ */ _export_sfc(_sfc_main$3, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$2 = {\n name: \"RadioboxMarkedIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$2 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon radiobox-marked-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_3$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true),\n _cache[1] || (_cache[1] = createElementVNode(\"path\", { d: \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z\" }, null, -1))\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$2);\n}\nconst RadioboxMarked = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render$2]]);\nconst TYPE_CHECKBOX = \"checkbox\";\nconst TYPE_RADIO = \"radio\";\nconst TYPE_SWITCH = \"switch\";\nconst TYPE_BUTTON = \"button\";\nconst _sfc_main$1 = {\n name: \"NcCheckboxContent\",\n components: {\n NcLoadingIcon,\n NcIconToggleSwitch\n },\n props: {\n /**\n * Class for the icon element\n */\n iconClass: {\n type: [String, Object],\n default: null\n },\n /**\n * Class for the text element\n */\n textClass: {\n type: [String, Object],\n default: null\n },\n /**\n * Type of the input. checkbox, radio, switch, or button.\n *\n * Only use button when used in a `tablist` container and the\n * `tab` role is set.\n *\n * @type {'checkbox'|'radio'|'switch'|'button'}\n */\n type: {\n type: String,\n default: \"checkbox\",\n validator: (type) => [\n TYPE_CHECKBOX,\n TYPE_RADIO,\n TYPE_SWITCH,\n TYPE_BUTTON\n ].includes(type)\n },\n /**\n * Toggle the alternative button style\n */\n buttonVariant: {\n type: Boolean,\n default: false\n },\n /**\n * True if the entry is checked\n */\n isChecked: {\n type: Boolean,\n default: false\n },\n /**\n * Indeterminate state\n */\n indeterminate: {\n type: Boolean,\n default: false\n },\n /**\n * Loading state\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Icon size\n */\n iconSize: {\n type: Number,\n default: 24\n },\n /**\n * Label id attribute\n */\n labelId: {\n type: String,\n required: true\n },\n /**\n * Description id attribute\n */\n descriptionId: {\n type: String,\n required: true\n }\n },\n computed: {\n isButtonType() {\n return this.type === TYPE_BUTTON;\n },\n isSwitchType() {\n return this.type === TYPE_SWITCH;\n },\n /**\n * Returns the proper Material icon depending on the select case\n *\n * @return {object}\n */\n checkboxRadioIconElement() {\n if (this.type === TYPE_RADIO) {\n if (this.isChecked) {\n return RadioboxMarked;\n }\n return RadioboxBlank;\n }\n if (this.indeterminate) {\n return MinusBox;\n }\n if (this.isChecked) {\n return CheckboxMarked;\n }\n return CheckboxBlankOutline;\n }\n }\n};\nconst _hoisted_1$1 = {\n key: 0,\n class: \"checkbox-content__wrapper\"\n};\nconst _hoisted_2 = [\"id\"];\nconst _hoisted_3 = [\"id\"];\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcLoadingIcon = resolveComponent(\"NcLoadingIcon\");\n const _component_NcIconToggleSwitch = resolveComponent(\"NcIconToggleSwitch\");\n return openBlock(), createElementBlock(\"span\", {\n class: normalizeClass([\"checkbox-content\", {\n [\"checkbox-content-\" + $props.type]: true,\n \"checkbox-content--button-variant\": $props.buttonVariant,\n \"checkbox-content--has-text\": !!_ctx.$slots.default\n }])\n }, [\n createElementVNode(\"span\", {\n class: normalizeClass([\"checkbox-content__icon\", {\n \"checkbox-content__icon--checked\": $props.isChecked,\n \"checkbox-content__icon--has-description\": !$options.isButtonType && _ctx.$slots.description,\n [$props.iconClass]: true\n }]),\n \"aria-hidden\": true,\n inert: \"\"\n }, [\n renderSlot(_ctx.$slots, \"icon\", {\n checked: $props.isChecked,\n loading: $props.loading\n }, () => [\n $props.loading ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 0 })) : $options.isSwitchType ? (openBlock(), createBlock(_component_NcIconToggleSwitch, {\n key: 1,\n checked: $props.isChecked,\n size: $props.iconSize,\n inline: \"\"\n }, null, 8, [\"checked\", \"size\"])) : !$props.buttonVariant ? (openBlock(), createBlock(resolveDynamicComponent($options.checkboxRadioIconElement), {\n key: 2,\n size: $props.iconSize\n }, null, 8, [\"size\"])) : createCommentVNode(\"\", true)\n ], true)\n ], 2),\n _ctx.$slots.default || _ctx.$slots.description ? (openBlock(), createElementBlock(\"span\", _hoisted_1$1, [\n _ctx.$slots.default ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n id: $props.labelId,\n class: normalizeClass([\"checkbox-content__text\", $props.textClass])\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 10, _hoisted_2)) : createCommentVNode(\"\", true),\n !$options.isButtonType && _ctx.$slots.description ? (openBlock(), createElementBlock(\"span\", {\n key: 1,\n id: $props.descriptionId,\n class: \"checkbox-content__description\"\n }, [\n renderSlot(_ctx.$slots, \"description\", {}, void 0, true)\n ], 8, _hoisted_3)) : createCommentVNode(\"\", true)\n ])) : createCommentVNode(\"\", true)\n ], 2);\n}\nconst NcCheckboxContent = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1], [\"__scopeId\", \"data-v-5ca1e30f\"]]);\nregister();\nconst _sfc_main = {\n name: \"NcCheckboxRadioSwitch\",\n components: {\n NcCheckboxContent\n },\n // We need to pass attributes to the input element\n inheritAttrs: false,\n props: {\n /**\n * Unique id attribute of the input\n */\n id: {\n type: String,\n default: () => \"checkbox-radio-switch-\" + createElementId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * Unique id attribute of the wrapper element\n */\n wrapperId: {\n type: String,\n default: null\n },\n /**\n * Input name. Required for radio, optional for checkbox, and ignored\n * for button.\n */\n name: {\n type: String,\n default: null\n },\n /**\n * Required if no text is set.\n * The aria-label is forwarded to the input or button.\n */\n ariaLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Type of the input. checkbox, radio, switch, or button.\n *\n * Only use button when used in a `tablist` container and the\n * `tab` role is set.\n *\n * @type {'checkbox'|'radio'|'switch'|'button'}\n */\n type: {\n type: String,\n default: \"checkbox\",\n validator: (type) => [\n TYPE_CHECKBOX,\n TYPE_RADIO,\n TYPE_SWITCH,\n TYPE_BUTTON\n ].includes(type)\n },\n /**\n * Toggle the alternative button style\n *\n * @deprecated - Use `NcRadioGroup` instead\n */\n buttonVariant: {\n type: Boolean,\n default: false\n },\n /**\n * Are the elements are all direct siblings?\n * If so they will be grouped horizontally or vertically\n *\n * @type {'no'|'horizontal'|'vertical'}\n * @deprecated - Use `NcRadioGroup` instead\n */\n buttonVariantGrouped: {\n type: String,\n default: \"no\",\n validator: (v) => [\"no\", \"vertical\", \"horizontal\"].includes(v)\n },\n /**\n * Checked state. To be used with `v-model:value`\n */\n modelValue: {\n type: [Boolean, Array, String],\n default: false\n },\n /**\n * Value to be synced on check\n */\n value: {\n type: String,\n default: null\n },\n /**\n * Disabled state\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Indeterminate state\n */\n indeterminate: {\n type: Boolean,\n default: false\n },\n /**\n * Required state\n */\n required: {\n type: Boolean,\n default: false\n },\n /**\n * Loading state\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Wrapping element tag\n *\n * When `type` is set to `button` this will be ignored\n *\n * Defaults to `span`\n */\n wrapperElement: {\n type: String,\n default: null\n },\n /**\n * The class(es) to pass to the wrapper / root element of the component\n */\n class: {\n type: [String, Array, Object],\n default: \"\"\n },\n /**\n * The style to pass to the wrapper / root element of the component\n */\n style: {\n type: [String, Array, Object],\n default: \"\"\n },\n /**\n * Description\n *\n * This is unsupported when using button has type.\n */\n description: {\n type: String,\n default: null\n }\n },\n emits: [\"update:modelValue\"],\n setup(props, { emit }) {\n const radioGroup = useInsideRadioGroup();\n onMounted(() => radioGroup?.value.register(false));\n const internalType = computed(() => radioGroup?.value ? TYPE_RADIO : props.type);\n const internalModelValue = computed({\n get() {\n if (radioGroup?.value) {\n return radioGroup.value.modelValue;\n }\n return props.modelValue;\n },\n set(value) {\n if (radioGroup?.value) {\n radioGroup.value.onUpdate(value);\n } else {\n emit(\"update:modelValue\", value);\n }\n }\n });\n return {\n internalType,\n internalModelValue,\n labelId: createElementId(),\n descriptionId: createElementId()\n };\n },\n computed: {\n isButtonType() {\n return this.internalType === TYPE_BUTTON;\n },\n computedWrapperElement() {\n if (this.isButtonType) {\n return \"button\";\n }\n if (this.wrapperElement !== null) {\n return this.wrapperElement;\n }\n return \"span\";\n },\n listeners() {\n if (this.isButtonType) {\n return {\n click: this.onToggle\n };\n }\n return {\n change: this.onToggle\n };\n },\n iconSize() {\n return this.internalType === TYPE_SWITCH ? 36 : 20;\n },\n cssIconSize() {\n return this.iconSize + \"px\";\n },\n cssIconHeight() {\n return this.internalType === TYPE_SWITCH ? \"16px\" : this.cssIconSize;\n },\n /**\n * Return the input type.\n * Switch is not an official type\n *\n * @return {string}\n */\n inputType() {\n const nativeTypes = [\n TYPE_CHECKBOX,\n TYPE_RADIO,\n TYPE_BUTTON\n ];\n if (nativeTypes.includes(this.internalType)) {\n return this.internalType;\n }\n return TYPE_CHECKBOX;\n },\n /**\n * ARIA role for the input. A switch renders as a native checkbox, so it\n * needs an explicit `switch` role to be announced correctly.\n *\n * @return {string|undefined}\n */\n inputRole() {\n return this.internalType === TYPE_SWITCH ? \"switch\" : void 0;\n },\n /**\n * Check if that entry is checked\n * If value is defined, we use that as the checked value\n * If not, we expect true/false in this.checked\n *\n * @return {boolean}\n */\n isChecked() {\n if (this.value !== null) {\n if (Array.isArray(this.internalModelValue)) {\n return [...this.internalModelValue].indexOf(this.value) > -1;\n }\n return this.internalModelValue === this.value;\n }\n return this.internalModelValue === true;\n },\n hasIndeterminate() {\n return [\n TYPE_CHECKBOX,\n TYPE_RADIO\n ].includes(this.inputType);\n }\n },\n mounted() {\n if (this.name && this.internalType === TYPE_CHECKBOX) {\n if (!Array.isArray(this.internalModelValue)) {\n throw new Error(\"When using groups of checkboxes, the updated value will be an array.\");\n }\n }\n if (this.name && this.internalType === TYPE_SWITCH) {\n throw new Error(\"Switches are not made to be used for data sets. Please use checkboxes instead.\");\n }\n if (typeof this.internalModelValue !== \"boolean\" && this.internalType === TYPE_SWITCH) {\n throw new Error(\"Switches can only be used with boolean as modelValue prop.\");\n }\n },\n methods: {\n t,\n n,\n onToggle(event) {\n if (this.disabled || event.target.tagName.toLowerCase() === \"a\") {\n return;\n }\n if (this.internalType === TYPE_RADIO) {\n this.internalModelValue = this.value;\n return;\n }\n if (this.internalType === TYPE_SWITCH) {\n this.internalModelValue = !this.isChecked;\n return;\n }\n if (typeof this.internalModelValue === \"boolean\") {\n this.internalModelValue = !this.internalModelValue;\n return;\n }\n if (this.isChecked) {\n this.internalModelValue = this.internalModelValue.filter((v) => v !== this.value);\n } else {\n this.internalModelValue = [...this.internalModelValue, this.value];\n }\n }\n }\n};\nconst __injectCSSVars__ = () => {\n useCssVars((_ctx) => ({\n \"f99d0228\": _ctx.cssIconSize,\n \"v69c82152\": _ctx.cssIconHeight\n }));\n};\nconst __setup__ = _sfc_main.setup;\n_sfc_main.setup = __setup__ ? (props, ctx) => {\n __injectCSSVars__();\n return __setup__(props, ctx);\n} : __injectCSSVars__;\nconst _hoisted_1 = [\"id\", \"aria-labelledby\", \"aria-describedby\", \"aria-label\", \"disabled\", \"type\", \"role\", \"value\", \"checked\", \".indeterminate\", \"required\", \"name\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcCheckboxContent = resolveComponent(\"NcCheckboxContent\");\n return openBlock(), createBlock(resolveDynamicComponent($options.computedWrapperElement), mergeProps({\n id: $props.wrapperId ?? ($options.isButtonType ? $props.id : null),\n \"aria-label\": $options.isButtonType && $props.ariaLabel ? $props.ariaLabel : void 0,\n class: [\"checkbox-radio-switch\", [\n _ctx.$props.class,\n {\n [\"checkbox-radio-switch-\" + $setup.internalType]: $setup.internalType,\n \"checkbox-radio-switch--checked\": $options.isChecked,\n \"checkbox-radio-switch--disabled\": $props.disabled,\n \"checkbox-radio-switch--indeterminate\": $options.hasIndeterminate ? $props.indeterminate : false,\n \"checkbox-radio-switch--button-variant\": $props.buttonVariant,\n \"checkbox-radio-switch--button-variant-v-grouped\": $props.buttonVariant && $props.buttonVariantGrouped === \"vertical\",\n \"checkbox-radio-switch--button-variant-h-grouped\": $props.buttonVariant && $props.buttonVariantGrouped === \"horizontal\",\n \"button-vue\": $options.isButtonType\n }\n ]],\n style: $props.style,\n type: $options.isButtonType ? \"button\" : null\n }, $options.isButtonType ? _ctx.$attrs : {}, toHandlers($options.isButtonType ? $options.listeners : {})), {\n default: withCtx(() => [\n !$options.isButtonType ? (openBlock(), createElementBlock(\"input\", mergeProps({\n key: 0,\n id: $props.id,\n \"aria-labelledby\": !$options.isButtonType && !$props.ariaLabel ? $setup.labelId : null,\n \"aria-describedby\": !$options.isButtonType && ($props.description || _ctx.$slots.description) ? $setup.descriptionId : null,\n \"aria-label\": $props.ariaLabel || void 0,\n class: \"checkbox-radio-switch__input\",\n disabled: $props.disabled,\n type: $options.inputType,\n role: $options.inputRole,\n value: $props.value,\n checked: $options.isChecked,\n \".indeterminate\": $options.hasIndeterminate ? $props.indeterminate : null,\n required: $props.required,\n name: $props.name\n }, _ctx.$attrs, toHandlers($options.listeners, true)), null, 48, _hoisted_1)) : createCommentVNode(\"\", true),\n createVNode(_component_NcCheckboxContent, {\n id: !$options.isButtonType ? `${$props.id}-label` : void 0,\n class: \"checkbox-radio-switch__content\",\n iconClass: \"checkbox-radio-switch__icon\",\n textClass: \"checkbox-radio-switch__text\",\n type: $setup.internalType,\n indeterminate: $options.hasIndeterminate ? $props.indeterminate : false,\n buttonVariant: $props.buttonVariant,\n isChecked: $options.isChecked,\n loading: $props.loading,\n labelId: $setup.labelId,\n descriptionId: $setup.descriptionId,\n iconSize: $options.iconSize,\n onClick: $options.onToggle\n }, createSlots({\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true)\n ]),\n _: 2\n }, [\n _ctx.$slots.description || $props.description ? {\n name: \"description\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"description\", {}, () => [\n createTextVNode(toDisplayString($props.description), 1)\n ], true)\n ]),\n key: \"0\"\n } : void 0,\n !!_ctx.$slots.default ? {\n name: \"default\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]),\n key: \"1\"\n } : void 0\n ]), 1032, [\"id\", \"type\", \"indeterminate\", \"buttonVariant\", \"isChecked\", \"loading\", \"labelId\", \"descriptionId\", \"iconSize\", \"onClick\"])\n ]),\n _: 3\n }, 16, [\"id\", \"aria-label\", \"class\", \"style\", \"type\"]);\n}\nconst NcCheckboxRadioSwitch = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-81045d2a\"]]);\nexport {\n NcCheckboxRadioSwitch as N\n};\n//# sourceMappingURL=NcCheckboxRadioSwitch.mjs.map\n"],"names":["svg","_sfc_main","defineComponent","__props","useCssVars","_ctx","color","cx","computed","_cache","openBlock","createBlock","NcIconSvgWrapper","normalizeClass","iconToggleSwitch","style0","cssModules","NcIconToggleSwitch","_export_sfc","INSIDE_RADIO_GROUP_KEY","useInsideRadioGroup","inject","_sfc_main$6","_hoisted_1$6","_hoisted_2$5","_hoisted_3$5","_sfc_render$6","$props","$setup","$data","$options","createElementBlock","mergeProps","$event","toDisplayString","createCommentVNode","createElementVNode","CheckboxBlankOutline","_sfc_main$5","_hoisted_1$5","_hoisted_2$4","_hoisted_3$4","_sfc_render$5","CheckboxMarked","_sfc_main$4","_hoisted_1$4","_hoisted_2$3","_hoisted_3$3","_sfc_render$4","MinusBox","_sfc_main$3","_hoisted_1$3","_hoisted_2$2","_hoisted_3$2","_sfc_render$3","RadioboxBlank","_sfc_main$2","_hoisted_1$2","_hoisted_2$1","_hoisted_3$1","_sfc_render$2","RadioboxMarked","TYPE_CHECKBOX","TYPE_RADIO","TYPE_SWITCH","TYPE_BUTTON","_sfc_main$1","NcLoadingIcon","type","_hoisted_1$1","_hoisted_2","_hoisted_3","_sfc_render$1","_component_NcLoadingIcon","resolveComponent","_component_NcIconToggleSwitch","renderSlot","resolveDynamicComponent","NcCheckboxContent","register","createElementId","id","v","props","emit","radioGroup","onMounted","internalType","internalModelValue","value","t","n","event","__injectCSSVars__","__setup__","ctx","_hoisted_1","_sfc_render","_component_NcCheckboxContent","toHandlers","withCtx","createVNode","createSlots","createTextVNode","NcCheckboxRadioSwitch"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/js/NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs.map.license b/js/NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs.map.license new file mode 120000 index 00000000..7bf36486 --- /dev/null +++ b/js/NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs.map.license @@ -0,0 +1 @@ +NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs.license \ No newline at end of file diff --git a/js/NcProfileHoverCard-Dt6jr72a.chunk.mjs b/js/NcProfileHoverCard-DBdEYRaM.chunk.mjs similarity index 99% rename from js/NcProfileHoverCard-Dt6jr72a.chunk.mjs rename to js/NcProfileHoverCard-DBdEYRaM.chunk.mjs index 4514e56d..ddefeae3 100644 --- a/js/NcProfileHoverCard-Dt6jr72a.chunk.mjs +++ b/js/NcProfileHoverCard-DBdEYRaM.chunk.mjs @@ -1,6 +1,6 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('recommendations', '', 'js/index-CaKmmcr4.chunk.mjs'),window.OC.filePath('recommendations', '', 'js/store-BUdOGViY.chunk.mjs'),window.OC.filePath('recommendations', '', 'js/recommendations-dashboard.mjs'),window.OC.filePath('recommendations', '', 'js/NcCheckboxRadioSwitch-CqbiLdI-.chunk.mjs')])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('recommendations', '', 'js/index-Bh0j2qE0.chunk.mjs'),window.OC.filePath('recommendations', '', 'js/store-CbAhoamf.chunk.mjs'),window.OC.filePath('recommendations', '', 'js/recommendations-dashboard.mjs'),window.OC.filePath('recommendations', '', 'js/NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs')])))=>i.map(i=>d[i]); (function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");a.appendChild(document.createTextNode('.material-design-icon[data-v-592f6ec3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.profile-hover-card[data-v-592f6ec3]{box-sizing:border-box;position:relative;width:560px;max-width:min(560px,90vw);min-height:300px;overflow:hidden;color:var(--color-main-text);background-color:var(--color-main-background);border-radius:var(--border-radius-large);display:flex;flex-direction:column}.profile-hover-card__profile-link[data-v-592f6ec3]{color:inherit;text-decoration:none;outline-offset:2px}.profile-hover-card__profile-link:hover h2[data-v-592f6ec3],.profile-hover-card__profile-link:focus-visible h2[data-v-592f6ec3]{text-decoration:underline}.profile-hover-card__header[data-v-592f6ec3]{display:flex;flex-shrink:0;position:relative;height:127px;background-color:var(--color-primary-element-light)}.profile-hover-card__header__edit[data-v-592f6ec3]{position:absolute;inset-block-start:8px;inset-inline-end:8px;z-index:1}.profile-hover-card__header__container[data-v-592f6ec3]{align-self:flex-end;display:flex;align-items:flex-end;gap:12px;width:100%;margin:8px 0;padding-inline:16px;box-sizing:border-box}.profile-hover-card__header__container__placeholder[data-v-592f6ec3]{flex:0 0 180px;width:180px}.profile-hover-card__header__container__avatar[data-v-592f6ec3]{flex-shrink:0}.profile-hover-card__header__container__identity[data-v-592f6ec3]{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:4px;min-width:0;flex:1;padding-inline:0}.profile-hover-card__header__container__displayname[data-v-592f6ec3]{display:flex;align-items:baseline;gap:8px;min-width:0}.profile-hover-card__header__container__displayname h2[data-v-592f6ec3]{font-size:24px;margin:0;overflow-wrap:anywhere}.profile-hover-card__header__container__pronouns[data-v-592f6ec3]{font-size:15px;color:var(--color-text-maxcontrast)}.profile-hover-card__header__container__status[data-v-592f6ec3]{min-width:0}.profile-hover-card__header__container__status-content[data-v-592f6ec3]{display:flex;align-items:center;gap:8px;font-size:14px;overflow-wrap:anywhere}.profile-hover-card__body[data-v-592f6ec3]{flex:1;min-height:0;background-color:var(--color-main-background)}.profile-hover-card__content[data-v-592f6ec3]{display:flex;width:100%;height:100%;padding-inline:16px 16px;box-sizing:border-box}.profile-hover-card__sidebar[data-v-592f6ec3]{align-self:flex-start;padding-top:8px;width:180px;min-width:180px;margin-block:-100px 0;margin-inline:0 12px}.profile-hover-card__header[data-v-592f6ec3] .avatar.avatardiv,.profile-hover-card__sidebar[data-v-592f6ec3] .avatar.avatardiv{text-align:center;margin:auto;display:block;padding:8px}.profile-hover-card__header[data-v-592f6ec3] .avatar.avatardiv .avatardiv__user-status,.profile-hover-card__sidebar[data-v-592f6ec3] .avatar.avatardiv .avatardiv__user-status{inset-inline-end:10px;bottom:10px;width:26px;height:26px;background-size:22px;border:none;background-color:var(--color-main-background);line-height:26px;font-size:16px}.profile-hover-card__blocks[data-v-592f6ec3]{margin:12px 0;display:grid;gap:8px 0;min-width:0;flex:1;overflow:hidden;align-content:start}.profile-hover-card__blocks p[data-v-592f6ec3],.profile-hover-card__blocks h3[data-v-592f6ec3]{overflow-wrap:anywhere}.profile-hover-card__blocks-details[data-v-592f6ec3]{display:flex;flex-direction:column;gap:2px 0}.profile-hover-card__blocks-details .detail[data-v-592f6ec3]{display:inline-block;color:var(--color-text-maxcontrast);font-size:14px}.profile-hover-card__blocks-details .detail p .detail-icon[data-v-592f6ec3]{display:inline-block;vertical-align:middle}.profile-hover-card__blocks-headline[data-v-592f6ec3]{margin-inline:0;margin-block:4px 0;font-weight:700;font-size:16px}.profile-hover-card__blocks-biography[data-v-592f6ec3]{overflow:hidden;font-size:14px;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;text-overflow:ellipsis;overflow-wrap:anywhere}.profile-hover-card__blocks-biography[data-v-592f6ec3] p{margin:0}.profile-hover-card__loading[data-v-592f6ec3]{display:flex;align-items:center;justify-content:center;height:100%;min-height:300px;padding:16px;color:var(--color-text-maxcontrast)}.profile-hover-card--limited[data-v-592f6ec3]{min-height:0}.profile-hover-card--limited .profile-hover-card__body[data-v-592f6ec3]{flex:0 0 auto}.profile-hover-card--limited .profile-hover-card__content[data-v-592f6ec3]{height:auto;padding-block-end:24px}.profile-hover-card--limited .profile-hover-card__sidebar[data-v-592f6ec3]{margin-block-end:0}.profile-hover-card--limited .user-actions[data-v-592f6ec3]{margin-top:8px}.user-actions[data-v-592f6ec3]{display:flex;flex-direction:column;gap:8px 0;margin-top:12px;max-width:180px}.user-actions__loading[data-v-592f6ec3]{display:flex;justify-content:center;padding:8px 0}.user-actions__primary[data-v-592f6ec3]{margin:0 auto;width:180px!important}.user-actions__primary__icon[data-v-592f6ec3]{height:20px;width:20px;object-fit:contain;filter:var(--primary-invert-if-dark)}.user-actions__primary__icon-class[data-v-592f6ec3]{display:block;height:20px;width:20px;background-size:20px;background-repeat:no-repeat;background-position:center;filter:var(--primary-invert-if-dark)}.user-actions__other[data-v-592f6ec3]{display:flex;justify-content:center;gap:0 4px}.user-actions__other__icon[data-v-592f6ec3]{height:20px;width:20px;object-fit:contain;filter:var(--background-invert-if-dark);align-self:center;margin:8px}.user-actions__other__icon-class[data-v-592f6ec3]{display:block;height:20px;width:20px;margin:8px;background-size:20px;background-repeat:no-repeat;background-position:center;filter:var(--background-invert-if-dark)}@media only screen and (max-width:512px){.profile-hover-card[data-v-592f6ec3]{width:min(560px,100vw - 24px);max-width:calc(100vw - 24px);height:auto;min-height:0;max-height:min(80vh,520px);overflow:auto}.profile-hover-card__header[data-v-592f6ec3]{height:auto;min-height:112px}.profile-hover-card__header__container[data-v-592f6ec3]{align-self:flex-end;align-items:flex-end;gap:16px;margin:12px auto;padding-inline:12px}.profile-hover-card__header__container__avatar[data-v-592f6ec3]{align-self:flex-end}.profile-hover-card__header__container__identity[data-v-592f6ec3]{gap:6px;padding-inline:0;justify-content:flex-end}.profile-hover-card__header__container__displayname[data-v-592f6ec3]{flex-direction:column;align-items:flex-start;gap:4px}.profile-hover-card__header__container__displayname h2[data-v-592f6ec3]{font-size:20px}.profile-hover-card__header__container__pronouns[data-v-592f6ec3]{font-size:16px}.profile-hover-card__header__container__pronoun-separator[data-v-592f6ec3]{display:none}.profile-hover-card__header__container__status-content[data-v-592f6ec3]{font-size:16px}.profile-hover-card__content[data-v-592f6ec3]{display:block;height:auto;padding-inline:12px;padding-block-end:12px}.profile-hover-card__sidebar[data-v-592f6ec3]{margin:unset;width:auto;min-width:0;padding-top:0}.profile-hover-card__blocks[data-v-592f6ec3]{width:unset;margin:0;padding:8px 4px 12px}.profile-hover-card__header[data-v-592f6ec3] .avatar.avatardiv .avatardiv__user-status,.profile-hover-card__sidebar[data-v-592f6ec3] .avatar.avatardiv .avatardiv__user-status{inset-inline-end:0;bottom:0}.profile-hover-card__loading[data-v-592f6ec3]{min-height:200px}.profile-hover-card--limited .profile-hover-card__body[data-v-592f6ec3]{display:none}.user-actions[data-v-592f6ec3]{width:unset;max-width:none;margin:8px auto 0;padding:0 4px}.user-actions__primary[data-v-592f6ec3]{width:100%!important;max-width:220px}.user-actions__other[data-v-592f6ec3]{flex-wrap:wrap}}@media only screen and (max-width:480px){.profile-hover-card[data-v-592f6ec3]{width:calc(100vw - 16px);max-width:calc(100vw - 16px);border-radius:var(--border-radius)}.profile-hover-card__header__container[data-v-592f6ec3]{gap:8px;padding-inline:8px}}.material-design-icon[data-v-8db718e3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widgets--list[data-v-8db718e3]{width:100%;min-height:var(--default-clickable-area)}.material-design-icon[data-v-80e57a29]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.rich-text--wrapper[data-v-80e57a29]{overflow-wrap:break-word;line-height:1.5}.rich-text--wrapper .rich-text--fallback[data-v-80e57a29],.rich-text--wrapper .rich-text-component[data-v-80e57a29]{display:inline}.rich-text--wrapper-markdown[data-v-80e57a29]{tab-size:4}.rich-text--wrapper-markdown[data-v-80e57a29]>:first-child,.rich-text--wrapper-markdown div[data-v-80e57a29]>:first-child,.rich-text--wrapper-markdown blockquote[data-v-80e57a29]>:first-child{margin-top:0!important}.rich-text--wrapper-markdown[data-v-80e57a29]>:last-child,.rich-text--wrapper-markdown[data-v-80e57a29]>*:has(+.rich-text--reference-widget),.rich-text--wrapper-markdown div[data-v-80e57a29]>:last-child,.rich-text--wrapper-markdown blockquote[data-v-80e57a29]>:last-child{margin-block-end:0!important}.rich-text--wrapper-markdown blockquote[data-v-80e57a29]{padding-inline-start:13px;border-inline-start:2px solid var(--color-border-dark);color:var(--color-text-maxcontrast)}.rich-text--wrapper-markdown h1[data-v-80e57a29],.rich-text--wrapper-markdown h2[data-v-80e57a29],.rich-text--wrapper-markdown h3[data-v-80e57a29],.rich-text--wrapper-markdown h4[data-v-80e57a29],.rich-text--wrapper-markdown h5[data-v-80e57a29],.rich-text--wrapper-markdown h6[data-v-80e57a29],.rich-text--wrapper-markdown p[data-v-80e57a29],.rich-text--wrapper-markdown ul[data-v-80e57a29],.rich-text--wrapper-markdown ol[data-v-80e57a29],.rich-text--wrapper-markdown blockquote[data-v-80e57a29],.rich-text--wrapper-markdown pre[data-v-80e57a29]{margin-top:0;margin-block-end:1em}.rich-text--wrapper-markdown h1[data-v-80e57a29],.rich-text--wrapper-markdown h2[data-v-80e57a29],.rich-text--wrapper-markdown h3[data-v-80e57a29],.rich-text--wrapper-markdown h4[data-v-80e57a29],.rich-text--wrapper-markdown h5[data-v-80e57a29],.rich-text--wrapper-markdown h6[data-v-80e57a29]{font-weight:var(--font-weight-heading, bold)}.rich-text--wrapper-markdown h4[data-v-80e57a29]{font-size:20px}.rich-text--wrapper-markdown h5[data-v-80e57a29]{font-size:18px}.rich-text--wrapper-markdown h6[data-v-80e57a29]{font-size:15px}.rich-text--wrapper-markdown ul[data-v-80e57a29],.rich-text--wrapper-markdown ol[data-v-80e57a29]{padding-inline-start:4ch}.rich-text--wrapper-markdown ul[data-v-80e57a29]{list-style-type:disc}.rich-text--wrapper-markdown ul.contains-task-list[data-v-80e57a29]{list-style-type:none;padding:0}.rich-text--wrapper-markdown li.task-list-item>ul[data-v-80e57a29],.rich-text--wrapper-markdown li.task-list-item>ol[data-v-80e57a29],.rich-text--wrapper-markdown li.task-list-item>li[data-v-80e57a29],.rich-text--wrapper-markdown li.task-list-item>blockquote[data-v-80e57a29],.rich-text--wrapper-markdown li.task-list-item>pre[data-v-80e57a29]{margin-inline-start:15px;margin-block-end:0}.rich-text--wrapper-markdown pre[data-v-80e57a29]{direction:ltr}.rich-text--wrapper-markdown table[data-v-80e57a29]{border-collapse:collapse;border:2px solid var(--color-border-maxcontrast)}.rich-text--wrapper-markdown table th[data-v-80e57a29],.rich-text--wrapper-markdown table td[data-v-80e57a29]{padding:var(--default-grid-baseline);border:1px solid var(--color-border-maxcontrast)}.rich-text--wrapper-markdown table th[data-v-80e57a29]:first-child,.rich-text--wrapper-markdown table td[data-v-80e57a29]:first-child{border-inline-start:0}.rich-text--wrapper-markdown table th[data-v-80e57a29]:last-child,.rich-text--wrapper-markdown table td[data-v-80e57a29]:last-child{border-inline-end:0}.rich-text--wrapper-markdown table tr:first-child th[data-v-80e57a29]{border-top:0}.rich-text--wrapper-markdown table tr:last-child td[data-v-80e57a29]{border-block-end:0}.rich-text--wrapper-markdown .rich-text__code-block[data-v-80e57a29]:has(.hljs){color:var(--hljs-color);background:var(--hljs-background-color)}.rich-text--wrapper-markdown .hljs-doctag[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-keyword[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-meta .hljs-keyword[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-template-tag[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-template-variable[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-type[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-variable.language_[data-v-80e57a29]{color:var(--hljs-syntax-keyword-color)}.rich-text--wrapper-markdown .hljs-title[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-title.class_[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-title.class_.inherited__[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-title.function_[data-v-80e57a29]{color:var(--hljs-syntax-entity-color)}.rich-text--wrapper-markdown .hljs-attr[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-attribute[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-literal[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-meta[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-number[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-operator[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-variable[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-selector-attr[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-selector-class[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-selector-id[data-v-80e57a29]{color:var(--hljs-syntax-constant-color)}.rich-text--wrapper-markdown .hljs-regexp[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-string[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-meta .hljs-string[data-v-80e57a29]{color:var(--hljs-syntax-string-color)}.rich-text--wrapper-markdown .hljs-built_in[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-symbol[data-v-80e57a29]{color:var(--hljs-syntax-variable-color)}.rich-text--wrapper-markdown .hljs-comment[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-code[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-formula[data-v-80e57a29]{color:var(--hljs-syntax-comment-color)}.rich-text--wrapper-markdown .hljs-name[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-quote[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-selector-tag[data-v-80e57a29],.rich-text--wrapper-markdown .hljs-selector-pseudo[data-v-80e57a29]{color:var(--hljs-syntax-entity-tag-color)}.rich-text--wrapper-markdown .hljs-subst[data-v-80e57a29]{color:var(--hljs-syntax-storage-modifier-import-color)}.rich-text--wrapper-markdown .hljs-section[data-v-80e57a29]{color:var(--hljs-syntax-markup-heading-color);font-weight:var(--font-weight-heading, bold)}.rich-text--wrapper-markdown .hljs-bullet[data-v-80e57a29]{color:var(--hljs-syntax-markup-list-color)}.rich-text--wrapper-markdown .hljs-emphasis[data-v-80e57a29]{color:var(--hljs-syntax-markup-italic-color);font-style:italic}.rich-text--wrapper-markdown .hljs-strong[data-v-80e57a29]{color:var(--hljs-syntax-markup-bold-color);font-weight:700}.rich-text--wrapper-markdown .hljs-addition[data-v-80e57a29]{color:var(--hljs-syntax-markup-inserted-color);background-color:var(--hljs-syntax-markup-inserted-background-color)}.rich-text--wrapper-markdown .hljs-deletion[data-v-80e57a29]{color:var(--hljs-syntax-markup-deleted-color);background-color:var(--hljs-syntax-markup-deleted-background-color)}a[data-v-80e57a29]:not(.rich-text--component){text-decoration:underline}@media(prefers-color-scheme:light){.rich-text--wrapper-markdown[data-v-80e57a29]{--hljs-color: var(--color-main-text, #24292e);--hljs-background-color: var(--color-background-dark, #ffffff);--hljs-syntax-keyword-color: #d73a49;--hljs-syntax-entity-color: #6f42c1;--hljs-syntax-constant-color: #005cc5;--hljs-syntax-string-color: #032f62;--hljs-syntax-variable-color: #e36209;--hljs-syntax-comment-color: #6a737d;--hljs-syntax-entity-tag-color: #22863a;--hljs-syntax-storage-modifier-import-color: #24292e;--hljs-syntax-markup-heading-color: #005cc5;--hljs-syntax-markup-list-color: #735c0f;--hljs-syntax-markup-italic-color: #24292e;--hljs-syntax-markup-bold-color: #24292e;--hljs-syntax-markup-inserted-color: #22863a;--hljs-syntax-markup-inserted-background-color: #f0fff4;--hljs-syntax-markup-deleted-color: #b31d28;--hljs-syntax-markup-deleted-background-color: #ffeef0}[data-theme-dark] .rich-text--wrapper-markdown[data-v-80e57a29]{--hljs-color: var(--color-main-text, #c9d1d9);--hljs-background-color: var(--color-background-dark, #0d1117);--hljs-syntax-keyword-color: #ff7b72;--hljs-syntax-entity-color: #d2a8ff;--hljs-syntax-constant-color: #79c0ff;--hljs-syntax-string-color: #a5d6ff;--hljs-syntax-variable-color: #ffa657;--hljs-syntax-comment-color: #8b949e;--hljs-syntax-entity-tag-color: #7ee787;--hljs-syntax-storage-modifier-import-color: #c9d1d9;--hljs-syntax-markup-heading-color: #1f6feb;--hljs-syntax-markup-list-color: #f2cc60;--hljs-syntax-markup-italic-color: #c9d1d9;--hljs-syntax-markup-bold-color: #c9d1d9;--hljs-syntax-markup-inserted-color: #aff5b4;--hljs-syntax-markup-inserted-background-color: #033a16;--hljs-syntax-markup-deleted-color: #ffdcd7;--hljs-syntax-markup-deleted-background-color: #67060c}}@media(prefers-color-scheme:dark){.rich-text--wrapper-markdown[data-v-80e57a29]{--hljs-color: var(--color-main-text, #c9d1d9);--hljs-background-color: var(--color-background-dark, #0d1117);--hljs-syntax-keyword-color: #ff7b72;--hljs-syntax-entity-color: #d2a8ff;--hljs-syntax-constant-color: #79c0ff;--hljs-syntax-string-color: #a5d6ff;--hljs-syntax-variable-color: #ffa657;--hljs-syntax-comment-color: #8b949e;--hljs-syntax-entity-tag-color: #7ee787;--hljs-syntax-storage-modifier-import-color: #c9d1d9;--hljs-syntax-markup-heading-color: #1f6feb;--hljs-syntax-markup-list-color: #f2cc60;--hljs-syntax-markup-italic-color: #c9d1d9;--hljs-syntax-markup-bold-color: #c9d1d9;--hljs-syntax-markup-inserted-color: #aff5b4;--hljs-syntax-markup-inserted-background-color: #033a16;--hljs-syntax-markup-deleted-color: #ffdcd7;--hljs-syntax-markup-deleted-background-color: #67060c}[data-theme-light] .rich-text--wrapper-markdown[data-v-80e57a29]{--hljs-color: var(--color-main-text, #24292e);--hljs-background-color: var(--color-background-dark, #ffffff);--hljs-syntax-keyword-color: #d73a49;--hljs-syntax-entity-color: #6f42c1;--hljs-syntax-constant-color: #005cc5;--hljs-syntax-string-color: #032f62;--hljs-syntax-variable-color: #e36209;--hljs-syntax-comment-color: #6a737d;--hljs-syntax-entity-tag-color: #22863a;--hljs-syntax-storage-modifier-import-color: #24292e;--hljs-syntax-markup-heading-color: #005cc5;--hljs-syntax-markup-list-color: #735c0f;--hljs-syntax-markup-italic-color: #24292e;--hljs-syntax-markup-bold-color: #24292e;--hljs-syntax-markup-inserted-color: #22863a;--hljs-syntax-markup-inserted-background-color: #f0fff4;--hljs-syntax-markup-deleted-color: #b31d28;--hljs-syntax-markup-deleted-background-color: #ffeef0}}.rich-text__code-block[data-v-80e57a29]{position:relative;padding-inline-end:calc(var(--clickable-area-small) + var(--default-grid-baseline))}.rich-text__code-block pre[data-v-80e57a29]{width:100%;overflow-x:auto}.rich-text__code-block .rich-text__code-block-button[data-v-80e57a29]{position:absolute;top:var(--default-grid-baseline);inset-inline-end:var(--default-grid-baseline);opacity:0}.rich-text__code-block:hover .rich-text__code-block-button[data-v-80e57a29],.rich-text__code-block:focus-within .rich-text__code-block-button[data-v-80e57a29],.rich-text__code-block .rich-text__code-block-button[data-v-80e57a29]:focus{opacity:1}.material-design-icon[data-v-f8edbaf7]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widget-custom[data-v-f8edbaf7]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px) * 3);margin-top:calc(var(--default-grid-baseline, 4px) * 3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-container);background-color:transparent;display:flex;position:relative}.widget-custom.full-width[data-v-f8edbaf7]{width:var(--widget-full-width, 100%)!important;inset-inline-start:calc((var(--widget-full-width, 100%) - 100%) / 2 * -1);position:relative}.widget-custom__content[data-v-f8edbaf7]{width:100%;display:flex;flex-direction:column}.widget-custom__resize-handle[data-v-f8edbaf7]{position:absolute;bottom:0;inset-inline-start:0;width:100%;height:calc(var(--default-grid-baseline) * 2);border-top:1px solid var(--color-border);margin-top:-1px;cursor:row-resize;touch-action:none}.widget-custom__resize-handle[data-v-f8edbaf7]:before,.widget-custom__resize-handle[data-v-f8edbaf7]:after{content:"";position:absolute;top:50%;left:50%;background-color:var(--color-border);margin-top:1px;transform:translate(-50%);width:30px;height:1px}.widget-custom__resize-handle[data-v-f8edbaf7]:before{margin-top:-2px}.widget-custom__resize-handle[data-v-f8edbaf7]:focus-visible{outline:2px solid var(--color-primary-element);outline-offset:-4px}.widget-access[data-v-f8edbaf7]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px) * 3);margin-top:calc(var(--default-grid-baseline, 4px) * 3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-container);background-color:transparent;display:flex;padding:calc(var(--default-grid-baseline, 4px) * 3)}.widget-default[data-v-f8edbaf7]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px) * 3);margin-top:calc(var(--default-grid-baseline, 4px) * 3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-container);background-color:transparent;display:flex}.widget-default--compact[data-v-f8edbaf7]{flex-direction:column}.widget-default--compact .widget-default--image[data-v-f8edbaf7]{width:100%;height:150px}.widget-default--compact .widget-default--details[data-v-f8edbaf7]{width:100%;padding-top:calc(var(--default-grid-baseline, 4px) * 2);padding-bottom:calc(var(--default-grid-baseline, 4px) * 2)}.widget-default--compact .widget-default--description[data-v-f8edbaf7]{display:none}.widget-default--image[data-v-f8edbaf7]{width:40%;background-position:center;background-size:cover;background-repeat:no-repeat}.widget-default--name[data-v-f8edbaf7]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--font-weight-heading, bold)}.widget-default--details[data-v-f8edbaf7]{padding:calc(var(--default-grid-baseline, 4px) * 3);width:0;flex-grow:1}.widget-default--details p[data-v-f8edbaf7]{margin:0;padding:0}.widget-default--description[data-v-f8edbaf7]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.widget-default--link[data-v-f8edbaf7]{color:var(--color-text-maxcontrast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toggle-interactive[data-v-f8edbaf7]{position:relative}.toggle-interactive .toggle-interactive--button[data-v-f8edbaf7]{position:absolute;bottom:var(--default-grid-baseline);inset-inline-end:var(--default-grid-baseline);z-index:10000}')),document.head.appendChild(a)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})(); -import{j as Vt,as as Po,i as Rt,R as te,c as W,u as oe,at as mi,_ as Re,S as Ot,au as Qt,w as Je,av as zo,n as lr,k as P,E as N,H as ar,J as it,p as ne,I as sr,aj as Zt,P as me,G as X,l as xe,m as we,v as ie,x as Me,y as Pt,q as Be,X as le,O as Pn,aw as Mo,t as Fo,ax as Ro,B as vn,F as tt,C as _e,a6 as yn,ad as vi,ae as kn,a3 as Ve,a4 as nt,af as Kt,b as No,a9 as ur,ac as cr,ay as fr,az as jo}from"./store-BUdOGViY.chunk.mjs";import{i as xt,r as zn,a as Bo,n as Ho,v as We,c as Vo,l as Uo,b as ot,u as pr,d as qo,N as Nt,g as yi,m as $o,e as Wo,f as Go,p as Yo,h as Qo,_ as Zo,U as dr,E as Ko,j as hr,S as ki,k as Xo,o as gr,q as Jo,s as el,t as tl,w as nl,x as rl}from"./recommendations-dashboard.mjs";import{N as il}from"./NcCheckboxRadioSwitch-CqbiLdI-.chunk.mjs";function mr(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function ol(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!ll(e[n],t[n]))return!1;return!0}function ll(e,t){return xt(e)?vr(e,t):xt(t)?vr(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function vr(e,t){return xt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function yr(e){const t=Rt(zn),n=Rt(Bo),r=W(()=>{const s=oe(e.to);return t.resolve(s)}),i=W(()=>{const{matched:s}=r.value,{length:u}=s,f=s[u-1],c=n.matched;if(!f||!c.length)return-1;const d=c.findIndex(mr.bind(null,f));if(d>-1)return d;const p=kr(s[u-2]);return u>1&&kr(f)===p&&c[c.length-1].path!==p?c.findIndex(mr.bind(null,s[u-2])):d}),o=W(()=>i.value>-1&&ul(n.params,r.value.params)),l=W(()=>i.value>-1&&i.value===n.matched.length-1&&ol(n.params,r.value.params));function a(s={}){if(sl(s)){const u=t[oe(e.replace)?"replace":"push"](oe(e.to)).catch(Ho);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:r,href:W(()=>r.value.href),isActive:o,isExactActive:l,navigate:a}}function al(e){return e.length===1?e[0]:e}const xi=Vt({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:yr,setup(e,{slots:t}){const n=Po(yr(e)),{options:r}=Rt(zn),i=W(()=>({[xr(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[xr(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&al(t.default(n));return e.custom?o:te("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},o)}}});function sl(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function ul(e,t){for(const n in t){const r=t[n],i=e[n];if(xt(r)){if(!xt(i)||i.length!==r.length||r.some((o,l)=>o.valueOf()!==i[l].valueOf()))return!1}else if(r!==i)return!1}return!0}function kr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const xr=(e,t,n)=>e??t??n,cl={};function Ut(e,t){const n=cl,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return bi(e,r,i)}function bi(e,t,n){if(fl(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return br(e.children,t,n)}return Array.isArray(e)?br(e,t,n):""}function br(e,t,n){const r=[];let i=-1;for(;++i{switch(e){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw new TypeError("unable to deserialize "+e)}return new _i[e](t)},pl=(e,t)=>{const n=(i,o)=>(e.set(o,i),i),r=i=>{if(e.has(i))return e.get(i);const[o,l]=t[i];switch(o){case qt:case wi:return n(l,i);case mt:{const a=n([],i);for(const s of l)a.push(r(s));return a}case jt:{const a=n({},i);for(const[s,u]of l)a[r(s)]=r(u);return a}case Mn:return n(new Date(l),i);case Fn:{const{source:a,flags:s}=l;return n(new RegExp(a,s),i)}case Rn:{const a=n(new Map,i);for(const[s,u]of l)a.set(r(s),r(u));return a}case Nn:{const a=n(new Set,i);for(const s of l)a.add(r(s));return a}case Si:{const{name:a,message:s}=l;return n(typeof _i[a]=="function"?wr(a,s):new Error(s),i)}case Ci:return n(BigInt(l),i);case"BigInt":return n(Object(BigInt(l)),i);case"ArrayBuffer":return n(new Uint8Array(l).buffer,l);case"DataView":{const{buffer:a}=new Uint8Array(l);return n(new DataView(a),l)}}return n(wr(o,l),i)};return r},Sr=e=>pl(new Map,e)(0),He="",{toString:dl}={},{keys:hl}=Object,ft=e=>{const t=typeof e;if(t!=="object"||!e)return[qt,t];const n=dl.call(e).slice(8,-1);switch(n){case"Array":return[mt,He];case"Object":return[jt,He];case"Date":return[Mn,He];case"RegExp":return[Fn,He];case"Map":return[Rn,He];case"Set":return[Nn,He];case"DataView":return[mt,n]}return n.includes("Array")?[mt,n]:e instanceof Error?[Si,e.name||"Error"]:[jt,n]},Tt=([e,t])=>e===qt&&(t==="function"||t==="symbol"),gl=(e,t,n,r)=>{const i=(l,a)=>{const s=r.push(l)-1;return n.set(a,s),s},o=l=>{if(n.has(l))return n.get(l);let[a,s]=ft(l);switch(a){case qt:{let f=l;switch(s){case"bigint":a=Ci,f=l.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+s);f=null;break;case"undefined":return i([wi],l)}return i([a,f],l)}case mt:{if(s){let d=l;return s==="DataView"?d=new Uint8Array(l.buffer):s==="ArrayBuffer"&&(d=new Uint8Array(l)),i([s,[...d]],l)}const f=[],c=i([a,f],l);for(const d of l)f.push(o(d));return c}case jt:{if(s)switch(s){case"BigInt":return i([s,l.toString()],l);case"Boolean":case"Number":case"String":return i([s,l.valueOf()],l)}if(t&&"toJSON"in l)return o(l.toJSON());const f=[],c=i([a,f],l);for(const d of hl(l))(e||!Tt(ft(l[d])))&&f.push([o(d),o(l[d])]);return c}case Mn:return i([a,isNaN(l.getTime())?He:l.toISOString()],l);case Fn:{const{source:f,flags:c}=l;return i([a,{source:f,flags:c}],l)}case Rn:{const f=[],c=i([a,f],l);for(const[d,p]of l)(e||!(Tt(ft(d))||Tt(ft(p))))&&f.push([o(d),o(p)]);return c}case Nn:{const f=[],c=i([a,f],l);for(const d of l)(e||!Tt(ft(d)))&&f.push(o(d));return c}}const{message:u}=l;return i([a,{name:s,message:u}],l)};return o},Cr=(e,{json:t,lossy:n}={})=>{const r=[];return gl(!(t||n),!!t,new Map,r)(e),r},Ue=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?Sr(Cr(e,t)):structuredClone(e):(e,t)=>Sr(Cr(e,t)),Ii=(function(e){if(e==null)return yl;if(typeof e=="string")return vl(e);if(typeof e=="object")return ml(e);if(typeof e=="function")return jn(e);throw new Error("Expected function, string, or array as `test`")});function ml(e){const t=[];let n=-1;for(;++n0&&(o.properties.rel=[...d]),p&&(o.properties.target=p),f){const S=pt(t.contentProperties,o)||{};o.children.push({type:"element",tagName:"span",properties:Ue(S),children:Ue(f)})}}}})}}function pt(e,t){return typeof e=="function"?e(t):e}function Al(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const Ll=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Dl=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ol={};function _r(e,t){return(Ol.jsx?Dl:Ll).test(e)}const Pl=/[ \t\n\f\r]/g;function zl(e){return typeof e=="object"?e.type==="text"?Ir(e.value):!1:Ir(e)}function Ir(e){return e.replace(Pl,"")===""}class vt{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}vt.prototype.normal={},vt.prototype.property={},vt.prototype.space=void 0;function Ei(e,t){const n={},r={};for(const i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new vt(n,r,t)}function xn(e){return e.toLowerCase()}class ce{constructor(t,n){this.attribute=n,this.property=t}}ce.prototype.attribute="",ce.prototype.booleanish=!1,ce.prototype.boolean=!1,ce.prototype.commaOrSpaceSeparated=!1,ce.prototype.commaSeparated=!1,ce.prototype.defined=!1,ce.prototype.mustUseProperty=!1,ce.prototype.number=!1,ce.prototype.overloadedBoolean=!1,ce.prototype.property="",ce.prototype.spaceSeparated=!1,ce.prototype.space=void 0;let Ml=0;const R=Ge(),re=Ge(),bn=Ge(),_=Ge(),K=Ge(),qe=Ge(),ge=Ge();function Ge(){return 2**++Ml}const wn=Object.freeze(Object.defineProperty({__proto__:null,boolean:R,booleanish:re,commaOrSpaceSeparated:ge,commaSeparated:qe,number:_,overloadedBoolean:bn,spaceSeparated:K},Symbol.toStringTag,{value:"Module"})),Xt=Object.keys(wn);class Bn extends ce{constructor(t,n,r,i){let o=-1;if(super(t,n),Er(this,"space",i),typeof r=="number")for(;++o4&&n.slice(0,4)==="data"&&Bl.test(t)){if(t.charAt(4)==="-"){const o=t.slice(5).replace(Tr,Ul);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=t.slice(4);if(!Tr.test(o)){let l=o.replace(jl,Vl);l.charAt(0)!=="-"&&(l="-"+l),t="data"+l}}i=Bn}return new i(r,t)}function Vl(e){return"-"+e.toLowerCase()}function Ul(e){return e.charAt(1).toUpperCase()}const ql=Ei([Ti,Fl,Di,Oi,Pi],"html"),Hn=Ei([Ti,Rl,Di,Oi,Pi],"svg");var Xe={},Jt,Ar;function $l(){if(Ar)return Jt;Ar=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,l=/^[;\s]*/,a=/^\s+|\s+$/g,s=` +import{j as Vt,as as Po,i as Rt,R as te,c as W,u as oe,at as mi,_ as Re,S as Ot,au as Qt,w as Je,av as zo,n as lr,k as P,E as N,H as ar,J as it,p as ne,I as sr,aj as Zt,P as me,G as X,l as xe,m as we,v as ie,x as Me,y as Pt,q as Be,X as le,O as Pn,aw as Mo,t as Fo,ax as Ro,B as vn,F as tt,C as _e,a6 as yn,ad as vi,ae as kn,a3 as Ve,a4 as nt,af as Kt,b as No,a9 as ur,ac as cr,ay as fr,az as jo}from"./store-CbAhoamf.chunk.mjs";import{i as xt,r as zn,a as Bo,n as Ho,v as We,c as Vo,l as Uo,b as ot,u as pr,d as qo,N as Nt,g as yi,m as $o,e as Wo,f as Go,p as Yo,h as Qo,_ as Zo,U as dr,E as Ko,j as hr,S as ki,k as Xo,o as gr,q as Jo,s as el,t as tl,w as nl,x as rl}from"./recommendations-dashboard.mjs";import{N as il}from"./NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs";function mr(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function ol(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!ll(e[n],t[n]))return!1;return!0}function ll(e,t){return xt(e)?vr(e,t):xt(t)?vr(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function vr(e,t){return xt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function yr(e){const t=Rt(zn),n=Rt(Bo),r=W(()=>{const s=oe(e.to);return t.resolve(s)}),i=W(()=>{const{matched:s}=r.value,{length:u}=s,f=s[u-1],c=n.matched;if(!f||!c.length)return-1;const d=c.findIndex(mr.bind(null,f));if(d>-1)return d;const p=kr(s[u-2]);return u>1&&kr(f)===p&&c[c.length-1].path!==p?c.findIndex(mr.bind(null,s[u-2])):d}),o=W(()=>i.value>-1&&ul(n.params,r.value.params)),l=W(()=>i.value>-1&&i.value===n.matched.length-1&&ol(n.params,r.value.params));function a(s={}){if(sl(s)){const u=t[oe(e.replace)?"replace":"push"](oe(e.to)).catch(Ho);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:r,href:W(()=>r.value.href),isActive:o,isExactActive:l,navigate:a}}function al(e){return e.length===1?e[0]:e}const xi=Vt({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:yr,setup(e,{slots:t}){const n=Po(yr(e)),{options:r}=Rt(zn),i=W(()=>({[xr(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[xr(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&al(t.default(n));return e.custom?o:te("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},o)}}});function sl(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function ul(e,t){for(const n in t){const r=t[n],i=e[n];if(xt(r)){if(!xt(i)||i.length!==r.length||r.some((o,l)=>o.valueOf()!==i[l].valueOf()))return!1}else if(r!==i)return!1}return!0}function kr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const xr=(e,t,n)=>e??t??n,cl={};function Ut(e,t){const n=cl,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return bi(e,r,i)}function bi(e,t,n){if(fl(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return br(e.children,t,n)}return Array.isArray(e)?br(e,t,n):""}function br(e,t,n){const r=[];let i=-1;for(;++i{switch(e){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw new TypeError("unable to deserialize "+e)}return new _i[e](t)},pl=(e,t)=>{const n=(i,o)=>(e.set(o,i),i),r=i=>{if(e.has(i))return e.get(i);const[o,l]=t[i];switch(o){case qt:case wi:return n(l,i);case mt:{const a=n([],i);for(const s of l)a.push(r(s));return a}case jt:{const a=n({},i);for(const[s,u]of l)a[r(s)]=r(u);return a}case Mn:return n(new Date(l),i);case Fn:{const{source:a,flags:s}=l;return n(new RegExp(a,s),i)}case Rn:{const a=n(new Map,i);for(const[s,u]of l)a.set(r(s),r(u));return a}case Nn:{const a=n(new Set,i);for(const s of l)a.add(r(s));return a}case Si:{const{name:a,message:s}=l;return n(typeof _i[a]=="function"?wr(a,s):new Error(s),i)}case Ci:return n(BigInt(l),i);case"BigInt":return n(Object(BigInt(l)),i);case"ArrayBuffer":return n(new Uint8Array(l).buffer,l);case"DataView":{const{buffer:a}=new Uint8Array(l);return n(new DataView(a),l)}}return n(wr(o,l),i)};return r},Sr=e=>pl(new Map,e)(0),He="",{toString:dl}={},{keys:hl}=Object,ft=e=>{const t=typeof e;if(t!=="object"||!e)return[qt,t];const n=dl.call(e).slice(8,-1);switch(n){case"Array":return[mt,He];case"Object":return[jt,He];case"Date":return[Mn,He];case"RegExp":return[Fn,He];case"Map":return[Rn,He];case"Set":return[Nn,He];case"DataView":return[mt,n]}return n.includes("Array")?[mt,n]:e instanceof Error?[Si,e.name||"Error"]:[jt,n]},Tt=([e,t])=>e===qt&&(t==="function"||t==="symbol"),gl=(e,t,n,r)=>{const i=(l,a)=>{const s=r.push(l)-1;return n.set(a,s),s},o=l=>{if(n.has(l))return n.get(l);let[a,s]=ft(l);switch(a){case qt:{let f=l;switch(s){case"bigint":a=Ci,f=l.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+s);f=null;break;case"undefined":return i([wi],l)}return i([a,f],l)}case mt:{if(s){let d=l;return s==="DataView"?d=new Uint8Array(l.buffer):s==="ArrayBuffer"&&(d=new Uint8Array(l)),i([s,[...d]],l)}const f=[],c=i([a,f],l);for(const d of l)f.push(o(d));return c}case jt:{if(s)switch(s){case"BigInt":return i([s,l.toString()],l);case"Boolean":case"Number":case"String":return i([s,l.valueOf()],l)}if(t&&"toJSON"in l)return o(l.toJSON());const f=[],c=i([a,f],l);for(const d of hl(l))(e||!Tt(ft(l[d])))&&f.push([o(d),o(l[d])]);return c}case Mn:return i([a,isNaN(l.getTime())?He:l.toISOString()],l);case Fn:{const{source:f,flags:c}=l;return i([a,{source:f,flags:c}],l)}case Rn:{const f=[],c=i([a,f],l);for(const[d,p]of l)(e||!(Tt(ft(d))||Tt(ft(p))))&&f.push([o(d),o(p)]);return c}case Nn:{const f=[],c=i([a,f],l);for(const d of l)(e||!Tt(ft(d)))&&f.push(o(d));return c}}const{message:u}=l;return i([a,{name:s,message:u}],l)};return o},Cr=(e,{json:t,lossy:n}={})=>{const r=[];return gl(!(t||n),!!t,new Map,r)(e),r},Ue=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?Sr(Cr(e,t)):structuredClone(e):(e,t)=>Sr(Cr(e,t)),Ii=(function(e){if(e==null)return yl;if(typeof e=="string")return vl(e);if(typeof e=="object")return ml(e);if(typeof e=="function")return jn(e);throw new Error("Expected function, string, or array as `test`")});function ml(e){const t=[];let n=-1;for(;++n0&&(o.properties.rel=[...d]),p&&(o.properties.target=p),f){const S=pt(t.contentProperties,o)||{};o.children.push({type:"element",tagName:"span",properties:Ue(S),children:Ue(f)})}}}})}}function pt(e,t){return typeof e=="function"?e(t):e}function Al(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const Ll=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Dl=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ol={};function _r(e,t){return(Ol.jsx?Dl:Ll).test(e)}const Pl=/[ \t\n\f\r]/g;function zl(e){return typeof e=="object"?e.type==="text"?Ir(e.value):!1:Ir(e)}function Ir(e){return e.replace(Pl,"")===""}class vt{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}vt.prototype.normal={},vt.prototype.property={},vt.prototype.space=void 0;function Ei(e,t){const n={},r={};for(const i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new vt(n,r,t)}function xn(e){return e.toLowerCase()}class ce{constructor(t,n){this.attribute=n,this.property=t}}ce.prototype.attribute="",ce.prototype.booleanish=!1,ce.prototype.boolean=!1,ce.prototype.commaOrSpaceSeparated=!1,ce.prototype.commaSeparated=!1,ce.prototype.defined=!1,ce.prototype.mustUseProperty=!1,ce.prototype.number=!1,ce.prototype.overloadedBoolean=!1,ce.prototype.property="",ce.prototype.spaceSeparated=!1,ce.prototype.space=void 0;let Ml=0;const R=Ge(),re=Ge(),bn=Ge(),_=Ge(),K=Ge(),qe=Ge(),ge=Ge();function Ge(){return 2**++Ml}const wn=Object.freeze(Object.defineProperty({__proto__:null,boolean:R,booleanish:re,commaOrSpaceSeparated:ge,commaSeparated:qe,number:_,overloadedBoolean:bn,spaceSeparated:K},Symbol.toStringTag,{value:"Module"})),Xt=Object.keys(wn);class Bn extends ce{constructor(t,n,r,i){let o=-1;if(super(t,n),Er(this,"space",i),typeof r=="number")for(;++o4&&n.slice(0,4)==="data"&&Bl.test(t)){if(t.charAt(4)==="-"){const o=t.slice(5).replace(Tr,Ul);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=t.slice(4);if(!Tr.test(o)){let l=o.replace(jl,Vl);l.charAt(0)!=="-"&&(l="-"+l),t="data"+l}}i=Bn}return new i(r,t)}function Vl(e){return"-"+e.toLowerCase()}function Ul(e){return e.charAt(1).toUpperCase()}const ql=Ei([Ti,Fl,Di,Oi,Pi],"html"),Hn=Ei([Ti,Rl,Di,Oi,Pi],"svg");var Xe={},Jt,Ar;function $l(){if(Ar)return Jt;Ar=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,l=/^[;\s]*/,a=/^\s+|\s+$/g,s=` `,u="/",f="*",c="",d="comment",p="declaration";function m(b,v){if(typeof b!="string")throw new TypeError("First argument must be a string");if(!b)return[];v=v||{};var I=1,C=1;function A(O){var T=O.match(t);T&&(I+=T.length);var $=O.lastIndexOf(s);C=~$?O.length-$:C+O.length}function M(){var O={line:I,column:C};return function(T){return T.position=new w(O),B(),T}}function w(O){this.start=O,this.end={line:I,column:C},this.source=v.source}w.prototype.content=b;function j(O){var T=new Error(v.source+":"+I+":"+C+": "+O);if(T.reason=O,T.filename=v.source,T.line=I,T.column=C,T.source=b,!v.silent)throw T}function V(O){var T=O.exec(b);if(T){var $=T[0];return A($),b=b.slice($.length),T}}function B(){V(n)}function y(O){var T;for(O=O||[];T=L();)T!==!1&&O.push(T);return O}function L(){var O=M();if(!(u!=b.charAt(0)||f!=b.charAt(1))){for(var T=2;c!=b.charAt(T)&&(f!=b.charAt(T)||u!=b.charAt(T+1));)++T;if(T+=2,c===b.charAt(T-1))return j("End of comment missing");var $=b.slice(2,T-2);return C+=2,A($),b=b.slice(T),C+=2,O({type:d,comment:$})}}function D(){var O=M(),T=V(r);if(T){if(L(),!V(i))return j("property missing ':'");var $=V(o),k=O({type:p,property:S(T[0].replace(e,c)),value:$?S($[0].replace(e,c)):c});return V(l),k}}function q(){var O=[];y(O);for(var T;T=D();)T!==!1&&(O.push(T),y(O));return O}return B(),q()}function S(b){return b?b.replace(a,c):c}return Jt=m,Jt}var Lr;function Wl(){if(Lr)return Xe;Lr=1;var e=Xe&&Xe.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.default=n;const t=e($l());function n(r,i){let o=null;if(!r||typeof r!="string")return o;const l=(0,t.default)(r),a=typeof i=="function";return l.forEach(s=>{if(s.type!=="declaration")return;const{property:u,value:f}=s;a?i(u,f,s):f&&(o=o||{},o[u]=f)}),o}return Xe}var dt={},Dr;function Gl(){if(Dr)return dt;Dr=1,Object.defineProperty(dt,"__esModule",{value:!0}),dt.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,n=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,i=/^-(ms)-/,o=function(u){return!u||n.test(u)||e.test(u)},l=function(u,f){return f.toUpperCase()},a=function(u,f){return"".concat(f,"-")},s=function(u,f){return f===void 0&&(f={}),o(u)?u:(u=u.toLowerCase(),f.reactCompat?u=u.replace(i,a):u=u.replace(r,a),u.replace(t,l))};return dt.camelCase=s,dt}var ht,Or;function Yl(){if(Or)return ht;Or=1;var e=ht&&ht.__importDefault||function(i){return i&&i.__esModule?i:{default:i}},t=e(Wl()),n=Gl();function r(i,o){var l={};return!i||typeof i!="string"||(0,t.default)(i,function(a,s){a&&s&&(l[(0,n.camelCase)(a,o)]=s)}),l}return r.default=r,ht=r,ht}var Ql=Yl();const Zl=mi(Ql),zi=Mi("end"),Vn=Mi("start");function Mi(e){return t;function t(n){const r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function Kl(e){const t=Vn(e),n=zi(e);if(t&&n)return{start:t,end:n}}function yt(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Pr(e.position):"start"in e||"end"in e?Pr(e):"line"in e||"column"in e?Sn(e):""}function Sn(e){return zr(e&&e.line)+":"+zr(e&&e.column)}function Pr(e){return Sn(e&&e.start)+"-"+Sn(e&&e.end)}function zr(e){return e&&typeof e=="number"?e:1}class ae extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",o={},l=!1;if(n&&("line"in n&&"column"in n?o={place:n}:"start"in n&&"end"in n?o={place:n}:"type"in n?o={ancestors:[n],place:n.position}:o={...n}),typeof t=="string"?i=t:!o.cause&&t&&(l=!0,i=t.message,o.cause=t),!o.ruleId&&!o.source&&typeof r=="string"){const s=r.indexOf(":");s===-1?o.ruleId=r:(o.source=r.slice(0,s),o.ruleId=r.slice(s+1))}if(!o.place&&o.ancestors&&o.ancestors){const s=o.ancestors[o.ancestors.length-1];s&&(o.place=s.position)}const a=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=a?a.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=a?a.line:void 0,this.name=yt(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=l&&o.cause&&typeof o.cause.stack=="string"?o.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}ae.prototype.file="",ae.prototype.name="",ae.prototype.reason="",ae.prototype.message="",ae.prototype.stack="",ae.prototype.column=void 0,ae.prototype.line=void 0,ae.prototype.ancestors=void 0,ae.prototype.cause=void 0,ae.prototype.fatal=void 0,ae.prototype.place=void 0,ae.prototype.ruleId=void 0,ae.prototype.source=void 0;const Un={}.hasOwnProperty,Xl=new Map,Jl=/[A-Z]/g,ea=new Set(["table","tbody","thead","tfoot","tr"]),ta=new Set(["td","th"]),Fi="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function na(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=ca(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=ua(n,t.jsx,t.jsxs)}const i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?Hn:ql,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},o=Ri(i,e,void 0);return o&&typeof o!="string"?o:i.create(e,i.Fragment,{children:o||void 0},void 0)}function Ri(e,t,n){if(t.type==="element")return ra(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return ia(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return la(e,t,n);if(t.type==="mdxjsEsm")return oa(e,t);if(t.type==="root")return aa(e,t,n);if(t.type==="text")return sa(e,t)}function ra(e,t,n){const r=e.schema;let i=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=Hn,e.schema=i),e.ancestors.push(t);const o=ji(e,t.tagName,!1),l=fa(e,t);let a=$n(e,t);return ea.has(t.tagName)&&(a=a.filter(function(s){return typeof s=="string"?!zl(s):!0})),Ni(e,l,o,t),qn(l,a),e.ancestors.pop(),e.schema=r,e.create(t,o,l,n)}function ia(e,t){if(t.data&&t.data.estree&&e.evaluater){const n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}wt(e,t.position)}function oa(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);wt(e,t.position)}function la(e,t,n){const r=e.schema;let i=r;t.name==="svg"&&r.space==="html"&&(i=Hn,e.schema=i),e.ancestors.push(t);const o=t.name===null?e.Fragment:ji(e,t.name,!0),l=pa(e,t),a=$n(e,t);return Ni(e,l,o,t),qn(l,a),e.ancestors.pop(),e.schema=r,e.create(t,o,l,n)}function aa(e,t,n){const r={};return qn(r,$n(e,t)),e.create(t,e.Fragment,r,n)}function sa(e,t){return t.value}function Ni(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function qn(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function ua(e,t,n){return r;function r(i,o,l,a){const s=Array.isArray(l.children)?n:t;return a?s(o,l,a):s(o,l)}}function ca(e,t){return n;function n(r,i,o,l){const a=Array.isArray(o.children),s=Vn(r);return t(i,o,l,a,{columnNumber:s?s.column-1:void 0,fileName:e,lineNumber:s?s.line:void 0},void 0)}}function fa(e,t){const n={};let r,i;for(i in t.properties)if(i!=="children"&&Un.call(t.properties,i)){const o=da(e,i,t.properties[i]);if(o){const[l,a]=o;e.tableCellAlignToStyle&&l==="align"&&typeof a=="string"&&ta.has(t.tagName)?r=a:n[l]=a}}if(r){const o=n.style||(n.style={});o[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function pa(e,t){const n={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const i=r.data.estree.body[0];i.type;const o=i.expression;o.type;const l=o.properties[0];l.type,Object.assign(n,e.evaluater.evaluateExpression(l.argument))}else wt(e,t.position);else{const i=r.name;let o;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const l=r.value.data.estree.body[0];l.type,o=e.evaluater.evaluateExpression(l.expression)}else wt(e,t.position);else o=r.value===null?!0:r.value;n[i]=o}return n}function $n(e,t){const n=[];let r=-1;const i=e.passKeys?new Map:Xl;for(;++r0?{type:"text",value:A}:void 0),A===!1?c.lastIndex=I+1:(p!==I&&b.push({type:"text",value:s.value.slice(p,I)}),Array.isArray(A)?b.push(...A):A&&b.push(A),p=I+v[0].length,S=!0),!c.global)break;v=c.exec(s.value)}return S?(pi?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)l=Array.from(r),l.unshift(t,n),e.splice(...l);else for(n&&e.splice(t,n);o0?(Ae(e,e.length,0,t),e):t}const Fr={}.hasOwnProperty;function Ea(e){const t={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function lt(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Te=Ne(/[A-Za-z]/),ve=Ne(/[\dA-Za-z]/),La=Ne(/[#-'*+\--9=?A-Z^-~]/);function Cn(e){return e!==null&&(e<32||e===127)}const _n=Ne(/\d/),Da=Ne(/[\dA-Fa-f]/),Oa=Ne(/[!-/:-@[-`{-~]/);function z(e){return e!==null&&e<-2}function fe(e){return e!==null&&(e<0||e===32)}function Y(e){return e===-2||e===-1||e===32}const Pa=Ne(new RegExp("\\p{P}|\\p{S}","u")),za=Ne(/\s/);function Ne(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function st(e){const t=[];let n=-1,r=0,i=0;for(;++n55295&&o<57344){const a=e.charCodeAt(n+1);o<56320&&a>56319&&a<57344?(l=String.fromCharCode(o,a),i=1):l="�"}else l=String.fromCharCode(o);l&&(t.push(e.slice(r,n),encodeURIComponent(l)),r=n+i+1,l=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function J(e,t,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let o=0;return l;function l(s){return Y(s)?(e.enter(n),a(s)):t(s)}function a(s){return Y(s)&&o++l))return;const j=t.events.length;let V=j,B,y;for(;V--;)if(t.events[V][0]==="exit"&&t.events[V][1].type==="chunkFlow"){if(B){y=t.events[V][1].end;break}B=!0}for(v(r),w=j;wC;){const M=n[A];t.containerState=M[1],M[0].exit.call(t,e)}n.length=C}function I(){i.write([null]),o=void 0,i=void 0,t.containerState._closeFlow=void 0}}function ja(e,t,n){return J(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Nr(e){if(e===null||fe(e)||za(e))return 1;if(Pa(e))return 2}function Gn(e,t,n){const r=[];let i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const c={...e[r][1].end},d={...e[n][1].start};jr(c,-s),jr(d,s),l={type:s>1?"strongSequence":"emphasisSequence",start:c,end:{...e[r][1].end}},a={type:s>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:d},o={type:s>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},i={type:s>1?"strong":"emphasis",start:{...l.start},end:{...a.end}},e[r][1].end={...l.start},e[n][1].start={...a.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=be(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=be(u,[["enter",i,t],["enter",l,t],["exit",l,t],["enter",o,t]]),u=be(u,Gn(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),u=be(u,[["exit",o,t],["enter",a,t],["exit",a,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(f=2,u=be(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):f=0,Ae(e,r-1,n-r+3,u),n=r+u.length-f-2;break}}for(n=-1;++n0&&Y(w)?J(e,I,"linePrefix",o+1)(w):I(w)}function I(w){return w===null||z(w)?e.check(Br,S,A)(w):(e.enter("codeFlowValue"),C(w))}function C(w){return w===null||z(w)?(e.exit("codeFlowValue"),I(w)):(e.consume(w),C)}function A(w){return e.exit("codeFenced"),t(w)}function M(w,j,V){let B=0;return y;function y(T){return w.enter("lineEnding"),w.consume(T),w.exit("lineEnding"),L}function L(T){return w.enter("codeFencedFence"),Y(T)?J(w,D,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(T):D(T)}function D(T){return T===a?(w.enter("codeFencedFenceSequence"),q(T)):V(T)}function q(T){return T===a?(B++,w.consume(T),q):B>=l?(w.exit("codeFencedFenceSequence"),Y(T)?J(w,O,"whitespace")(T):O(T)):V(T)}function O(T){return T===null||z(T)?(w.exit("codeFencedFence"),j(T)):V(T)}}}function Ka(e,t,n){const r=this;return i;function i(l){return l===null?n(l):(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),o)}function o(l){return r.parser.lazy[r.now().line]?n(l):t(l)}}const en={name:"codeIndented",tokenize:Ja},Xa={partial:!0,tokenize:es};function Ja(e,t,n){const r=this;return i;function i(u){return e.enter("codeIndented"),J(e,o,"linePrefix",5)(u)}function o(u){const f=r.events[r.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?l(u):n(u)}function l(u){return u===null?s(u):z(u)?e.attempt(Xa,l,s)(u):(e.enter("codeFlowValue"),a(u))}function a(u){return u===null||z(u)?(e.exit("codeFlowValue"),l(u)):(e.consume(u),a)}function s(u){return e.exit("codeIndented"),t(u)}}function es(e,t,n){const r=this;return i;function i(l){return r.parser.lazy[r.now().line]?n(l):z(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),i):J(e,o,"linePrefix",5)(l)}function o(l){const a=r.events[r.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(l):z(l)?i(l):n(l)}}const ts={name:"codeText",previous:rs,resolve:ns,tokenize:is};function ns(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const i=n||0;this.setCursor(Math.trunc(t));const o=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&>(this.left,r),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),gt(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),gt(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(l):e.interrupt(r.parser.constructs.flow,n,t)(l)}}function $i(e,t,n,r,i,o,l,a,s){const u=s||Number.POSITIVE_INFINITY;let f=0;return c;function c(v){return v===60?(e.enter(r),e.enter(i),e.enter(o),e.consume(v),e.exit(o),d):v===null||v===32||v===41||Cn(v)?n(v):(e.enter(r),e.enter(l),e.enter(a),e.enter("chunkString",{contentType:"string"}),S(v))}function d(v){return v===62?(e.enter(o),e.consume(v),e.exit(o),e.exit(i),e.exit(r),t):(e.enter(a),e.enter("chunkString",{contentType:"string"}),p(v))}function p(v){return v===62?(e.exit("chunkString"),e.exit(a),d(v)):v===null||v===60||z(v)?n(v):(e.consume(v),v===92?m:p)}function m(v){return v===60||v===62||v===92?(e.consume(v),p):p(v)}function S(v){return!f&&(v===null||v===41||fe(v))?(e.exit("chunkString"),e.exit(a),e.exit(l),e.exit(r),t(v)):f999||p===null||p===91||p===93&&!s||p===94&&!a&&"_hiddenFootnoteSupport"in l.parser.constructs?n(p):p===93?(e.exit(o),e.enter(i),e.consume(p),e.exit(i),e.exit(r),t):z(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),f):(e.enter("chunkString",{contentType:"string"}),c(p))}function c(p){return p===null||p===91||p===93||z(p)||a++>999?(e.exit("chunkString"),f(p)):(e.consume(p),s||(s=!Y(p)),p===92?d:c)}function d(p){return p===91||p===92||p===93?(e.consume(p),a++,c):c(p)}}function Gi(e,t,n,r,i,o){let l;return a;function a(d){return d===34||d===39||d===40?(e.enter(r),e.enter(i),e.consume(d),e.exit(i),l=d===40?41:d,s):n(d)}function s(d){return d===l?(e.enter(i),e.consume(d),e.exit(i),e.exit(r),t):(e.enter(o),u(d))}function u(d){return d===l?(e.exit(o),s(l)):d===null?n(d):z(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),J(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),f(d))}function f(d){return d===l||d===null||z(d)?(e.exit("chunkString"),u(d)):(e.consume(d),d===92?c:f)}function c(d){return d===l||d===92?(e.consume(d),f):f(d)}}function kt(e,t){let n;return r;function r(i){return z(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):Y(i)?J(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}const ps={name:"definition",tokenize:hs},ds={partial:!0,tokenize:gs};function hs(e,t,n){const r=this;let i;return o;function o(p){return e.enter("definition"),l(p)}function l(p){return Wi.call(r,e,a,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function a(p){return i=lt(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),s):n(p)}function s(p){return fe(p)?kt(e,u)(p):u(p)}function u(p){return $i(e,f,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function f(p){return e.attempt(ds,c,c)(p)}function c(p){return Y(p)?J(e,d,"whitespace")(p):d(p)}function d(p){return p===null||z(p)?(e.exit("definition"),r.parser.defined.push(i),t(p)):n(p)}}function gs(e,t,n){return r;function r(a){return fe(a)?kt(e,i)(a):n(a)}function i(a){return Gi(e,o,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function o(a){return Y(a)?J(e,l,"whitespace")(a):l(a)}function l(a){return a===null||z(a)?t(a):n(a)}}const ms={name:"hardBreakEscape",tokenize:vs};function vs(e,t,n){return r;function r(o){return e.enter("hardBreakEscape"),e.consume(o),i}function i(o){return z(o)?(e.exit("hardBreakEscape"),t(o)):n(o)}}const ys={name:"headingAtx",resolve:ks,tokenize:xs};function ks(e,t){let n=e.length-2,r=3,i,o;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},o={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},Ae(e,r,n-r+1,[["enter",i,t],["enter",o,t],["exit",o,t],["exit",i,t]])),e}function xs(e,t,n){let r=0;return i;function i(f){return e.enter("atxHeading"),o(f)}function o(f){return e.enter("atxHeadingSequence"),l(f)}function l(f){return f===35&&r++<6?(e.consume(f),l):f===null||fe(f)?(e.exit("atxHeadingSequence"),a(f)):n(f)}function a(f){return f===35?(e.enter("atxHeadingSequence"),s(f)):f===null||z(f)?(e.exit("atxHeading"),t(f)):Y(f)?J(e,a,"whitespace")(f):(e.enter("atxHeadingText"),u(f))}function s(f){return f===35?(e.consume(f),s):(e.exit("atxHeadingSequence"),a(f))}function u(f){return f===null||f===35||fe(f)?(e.exit("atxHeadingText"),a(f)):(e.consume(f),u)}}const bs=["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","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Vr=["pre","script","style","textarea"],ws={concrete:!0,name:"htmlFlow",resolveTo:_s,tokenize:Is},Ss={partial:!0,tokenize:Ts},Cs={partial:!0,tokenize:Es};function _s(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function Is(e,t,n){const r=this;let i,o,l,a,s;return u;function u(g){return f(g)}function f(g){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(g),c}function c(g){return g===33?(e.consume(g),d):g===47?(e.consume(g),o=!0,S):g===63?(e.consume(g),i=3,r.interrupt?t:h):Te(g)?(e.consume(g),l=String.fromCharCode(g),b):n(g)}function d(g){return g===45?(e.consume(g),i=2,p):g===91?(e.consume(g),i=5,a=0,m):Te(g)?(e.consume(g),i=4,r.interrupt?t:h):n(g)}function p(g){return g===45?(e.consume(g),r.interrupt?t:h):n(g)}function m(g){const se="CDATA[";return g===se.charCodeAt(a++)?(e.consume(g),a===se.length?r.interrupt?t:D:m):n(g)}function S(g){return Te(g)?(e.consume(g),l=String.fromCharCode(g),b):n(g)}function b(g){if(g===null||g===47||g===62||fe(g)){const se=g===47,H=l.toLowerCase();return!se&&!o&&Vr.includes(H)?(i=1,r.interrupt?t(g):D(g)):bs.includes(l.toLowerCase())?(i=6,se?(e.consume(g),v):r.interrupt?t(g):D(g)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(g):o?I(g):C(g))}return g===45||ve(g)?(e.consume(g),l+=String.fromCharCode(g),b):n(g)}function v(g){return g===62?(e.consume(g),r.interrupt?t:D):n(g)}function I(g){return Y(g)?(e.consume(g),I):y(g)}function C(g){return g===47?(e.consume(g),y):g===58||g===95||Te(g)?(e.consume(g),A):Y(g)?(e.consume(g),C):y(g)}function A(g){return g===45||g===46||g===58||g===95||ve(g)?(e.consume(g),A):M(g)}function M(g){return g===61?(e.consume(g),w):Y(g)?(e.consume(g),M):C(g)}function w(g){return g===null||g===60||g===61||g===62||g===96?n(g):g===34||g===39?(e.consume(g),s=g,j):Y(g)?(e.consume(g),w):V(g)}function j(g){return g===s?(e.consume(g),s=null,B):g===null||z(g)?n(g):(e.consume(g),j)}function V(g){return g===null||g===34||g===39||g===47||g===60||g===61||g===62||g===96||fe(g)?M(g):(e.consume(g),V)}function B(g){return g===47||g===62||Y(g)?C(g):n(g)}function y(g){return g===62?(e.consume(g),L):n(g)}function L(g){return g===null||z(g)?D(g):Y(g)?(e.consume(g),L):n(g)}function D(g){return g===45&&i===2?(e.consume(g),$):g===60&&i===1?(e.consume(g),k):g===62&&i===4?(e.consume(g),de):g===63&&i===3?(e.consume(g),h):g===93&&i===5?(e.consume(g),U):z(g)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(Ss,ye,q)(g)):g===null||z(g)?(e.exit("htmlFlowData"),q(g)):(e.consume(g),D)}function q(g){return e.check(Cs,O,ye)(g)}function O(g){return e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),T}function T(g){return g===null||z(g)?q(g):(e.enter("htmlFlowData"),D(g))}function $(g){return g===45?(e.consume(g),h):D(g)}function k(g){return g===47?(e.consume(g),l="",G):D(g)}function G(g){if(g===62){const se=l.toLowerCase();return Vr.includes(se)?(e.consume(g),de):D(g)}return Te(g)&&l.length<8?(e.consume(g),l+=String.fromCharCode(g),G):D(g)}function U(g){return g===93?(e.consume(g),h):D(g)}function h(g){return g===62?(e.consume(g),de):g===45&&i===2?(e.consume(g),h):D(g)}function de(g){return g===null||z(g)?(e.exit("htmlFlowData"),ye(g)):(e.consume(g),de)}function ye(g){return e.exit("htmlFlow"),t(g)}}function Es(e,t,n){const r=this;return i;function i(l){return z(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),o):n(l)}function o(l){return r.parser.lazy[r.now().line]?n(l):t(l)}}function Ts(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt($t,t,n)}}const As={name:"htmlText",tokenize:Ls};function Ls(e,t,n){const r=this;let i,o,l;return a;function a(h){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(h),s}function s(h){return h===33?(e.consume(h),u):h===47?(e.consume(h),M):h===63?(e.consume(h),C):Te(h)?(e.consume(h),V):n(h)}function u(h){return h===45?(e.consume(h),f):h===91?(e.consume(h),o=0,m):Te(h)?(e.consume(h),I):n(h)}function f(h){return h===45?(e.consume(h),p):n(h)}function c(h){return h===null?n(h):h===45?(e.consume(h),d):z(h)?(l=c,k(h)):(e.consume(h),c)}function d(h){return h===45?(e.consume(h),p):c(h)}function p(h){return h===62?$(h):h===45?d(h):c(h)}function m(h){const de="CDATA[";return h===de.charCodeAt(o++)?(e.consume(h),o===de.length?S:m):n(h)}function S(h){return h===null?n(h):h===93?(e.consume(h),b):z(h)?(l=S,k(h)):(e.consume(h),S)}function b(h){return h===93?(e.consume(h),v):S(h)}function v(h){return h===62?$(h):h===93?(e.consume(h),v):S(h)}function I(h){return h===null||h===62?$(h):z(h)?(l=I,k(h)):(e.consume(h),I)}function C(h){return h===null?n(h):h===63?(e.consume(h),A):z(h)?(l=C,k(h)):(e.consume(h),C)}function A(h){return h===62?$(h):C(h)}function M(h){return Te(h)?(e.consume(h),w):n(h)}function w(h){return h===45||ve(h)?(e.consume(h),w):j(h)}function j(h){return z(h)?(l=j,k(h)):Y(h)?(e.consume(h),j):$(h)}function V(h){return h===45||ve(h)?(e.consume(h),V):h===47||h===62||fe(h)?B(h):n(h)}function B(h){return h===47?(e.consume(h),$):h===58||h===95||Te(h)?(e.consume(h),y):z(h)?(l=B,k(h)):Y(h)?(e.consume(h),B):$(h)}function y(h){return h===45||h===46||h===58||h===95||ve(h)?(e.consume(h),y):L(h)}function L(h){return h===61?(e.consume(h),D):z(h)?(l=L,k(h)):Y(h)?(e.consume(h),L):B(h)}function D(h){return h===null||h===60||h===61||h===62||h===96?n(h):h===34||h===39?(e.consume(h),i=h,q):z(h)?(l=D,k(h)):Y(h)?(e.consume(h),D):(e.consume(h),O)}function q(h){return h===i?(e.consume(h),i=void 0,T):h===null?n(h):z(h)?(l=q,k(h)):(e.consume(h),q)}function O(h){return h===null||h===34||h===39||h===60||h===61||h===96?n(h):h===47||h===62||fe(h)?B(h):(e.consume(h),O)}function T(h){return h===47||h===62||fe(h)?B(h):n(h)}function $(h){return h===62?(e.consume(h),e.exit("htmlTextData"),e.exit("htmlText"),t):n(h)}function k(h){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),G}function G(h){return Y(h)?J(e,U,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(h):U(h)}function U(h){return e.enter("htmlTextData"),l(h)}}const Yn={name:"labelEnd",resolveAll:zs,resolveTo:Ms,tokenize:Fs},Ds={tokenize:Rs},Os={tokenize:Ns},Ps={tokenize:js};function zs(e){let t=-1;const n=[];for(;++t=3&&(u===null||z(u))?(e.exit("thematicBreak"),t(u)):n(u)}function s(u){return u===i?(e.consume(u),r++,s):(e.exit("thematicBreakSequence"),Y(u)?J(e,a,"whitespace")(u):a(u))}}const ue={continuation:{tokenize:Qs},exit:Ks,name:"list",tokenize:Ys},Ws={partial:!0,tokenize:Xs},Gs={partial:!0,tokenize:Zs};function Ys(e,t,n){const r=this,i=r.events[r.events.length-1];let o=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,l=0;return a;function a(p){const m=r.containerState.type||(p===42||p===43||p===45?"listUnordered":"listOrdered");if(m==="listUnordered"?!r.containerState.marker||p===r.containerState.marker:_n(p)){if(r.containerState.type||(r.containerState.type=m,e.enter(m,{_container:!0})),m==="listUnordered")return e.enter("listItemPrefix"),p===42||p===45?e.check(zt,n,u)(p):u(p);if(!r.interrupt||p===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),s(p)}return n(p)}function s(p){return _n(p)&&++l<10?(e.consume(p),s):(!r.interrupt||l<2)&&(r.containerState.marker?p===r.containerState.marker:p===41||p===46)?(e.exit("listItemValue"),u(p)):n(p)}function u(p){return e.enter("listItemMarker"),e.consume(p),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||p,e.check($t,r.interrupt?n:f,e.attempt(Ws,d,c))}function f(p){return r.containerState.initialBlankLine=!0,o++,d(p)}function c(p){return Y(p)?(e.enter("listItemPrefixWhitespace"),e.consume(p),e.exit("listItemPrefixWhitespace"),d):n(p)}function d(p){return r.containerState.size=o+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(p)}}function Qs(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check($t,i,o);function i(a){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,J(e,t,"listItemIndent",r.containerState.size+1)(a)}function o(a){return r.containerState.furtherBlankLines||!Y(a)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,l(a)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Gs,t,l)(a))}function l(a){return r.containerState._closeFlow=!0,r.interrupt=void 0,J(e,e.attempt(ue,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function Zs(e,t,n){const r=this;return J(e,i,"listItemIndent",r.containerState.size+1);function i(o){const l=r.events[r.events.length-1];return l&&l[1].type==="listItemIndent"&&l[2].sliceSerialize(l[1],!0).length===r.containerState.size?t(o):n(o)}}function Ks(e){e.exit(this.containerState.type)}function Xs(e,t,n){const r=this;return J(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(o){const l=r.events[r.events.length-1];return!Y(o)&&l&&l[1].type==="listItemPrefixWhitespace"?t(o):n(o)}}const Ur={name:"setextUnderline",resolveTo:Js,tokenize:eu};function Js(e,t){let n=e.length,r,i,o;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!o&&e[n][1].type==="definition"&&(o=n);const l={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",o?(e.splice(i,0,["enter",l,t]),e.splice(o+1,0,["exit",e[r][1],t]),e[r][1].end={...e[o][1].end}):e[r][1]=l,e.push(["exit",l,t]),e}function eu(e,t,n){const r=this;let i;return o;function o(u){let f=r.events.length,c;for(;f--;)if(r.events[f][1].type!=="lineEnding"&&r.events[f][1].type!=="linePrefix"&&r.events[f][1].type!=="content"){c=r.events[f][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||c)?(e.enter("setextHeadingLine"),i=u,l(u)):n(u)}function l(u){return e.enter("setextHeadingLineSequence"),a(u)}function a(u){return u===i?(e.consume(u),a):(e.exit("setextHeadingLineSequence"),Y(u)?J(e,s,"lineSuffix")(u):s(u))}function s(u){return u===null||z(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}const tu={tokenize:nu};function nu(e){const t=this,n=e.attempt($t,r,e.attempt(this.parser.constructs.flowInitial,i,J(e,e.attempt(this.parser.constructs.flow,i,e.attempt(as,i)),"linePrefix")));return n;function r(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const ru={resolveAll:Qi()},iu=Yi("string"),ou=Yi("text");function Yi(e){return{resolveAll:Qi(e==="text"?lu:void 0),tokenize:t};function t(n){const r=this,i=this.parser.constructs[e],o=n.attempt(i,l,a);return l;function l(f){return u(f)?o(f):a(f)}function a(f){if(f===null){n.consume(f);return}return n.enter("data"),n.consume(f),s}function s(f){return u(f)?(n.exit("data"),o(f)):(n.consume(f),s)}function u(f){if(f===null)return!0;const c=i[f];let d=-1;if(c)for(;++d-1){const a=l[0];typeof a=="string"?l[0]=a.slice(r):l.shift()}o>0&&l.push(e[i].slice(0,o))}return l}function ku(e,t){let n=-1;const r=[];let i;for(;++n0){const Ce=F.tokenStack[F.tokenStack.length-1];(Ce[1]||$r).call(F,void 0,Ce[0])}for(E.position={start:Fe(x.length>0?x[0][1].start:{line:1,column:1,offset:0}),end:Fe(x.length>0?x[x.length-2][1].end:{line:1,column:1,offset:0})},ee=-1;++ee",...s.current()})),u+=s.move(">")):(a=n.enter("destinationRaw"),u+=s.move(n.safe(e.url,{before:u,after:e.title?" ":")",...s.current()}))),a(),e.title&&(a=n.enter(`title${o}`),u+=s.move(" "+i),u+=s.move(n.safe(e.title,{before:u,after:i,...s.current()})),u+=s.move(i),a()),u+=s.move(")"),l(),u}function op(){return"!"}ao.peek=lp;function ao(e,t,n,r){const i=e.referenceType,o=n.enter("imageReference");let l=n.enter("label");const a=n.createTracker(r);let s=a.move("![");const u=n.safe(e.alt,{before:s,after:"]",...a.current()});s+=a.move(u+"]["),l();const f=n.stack;n.stack=[],l=n.enter("reference");const c=n.safe(n.associationId(e),{before:s,after:"]",...a.current()});return l(),n.stack=f,o(),i==="full"||!u||u!==c?s+=a.move(c+"]"):i==="shortcut"?s=s.slice(0,-1):s+=a.move("]"),s}function lp(){return"!"}so.peek=ap;function so(e,t,n){let r=e.value||"",i="`",o=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++o\u007F]/.test(e.url))}co.peek=sp;function co(e,t,n,r){const i=Xn(n),o=i==='"'?"Quote":"Apostrophe",l=n.createTracker(r);let a,s;if(uo(e,n)){const f=n.stack;n.stack=[],a=n.enter("autolink");let c=l.move("<");return c+=l.move(n.containerPhrasing(e,{before:c,after:">",...l.current()})),c+=l.move(">"),a(),n.stack=f,c}a=n.enter("link"),s=n.enter("label");let u=l.move("[");return u+=l.move(n.containerPhrasing(e,{before:u,after:"](",...l.current()})),u+=l.move("]("),s(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(s=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(e.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(s=n.enter("destinationRaw"),u+=l.move(n.safe(e.url,{before:u,after:e.title?" ":")",...l.current()}))),s(),e.title&&(s=n.enter(`title${o}`),u+=l.move(" "+i),u+=l.move(n.safe(e.title,{before:u,after:i,...l.current()})),u+=l.move(i),s()),u+=l.move(")"),a(),u}function sp(e,t,n){return uo(e,n)?"<":"["}fo.peek=up;function fo(e,t,n,r){const i=e.referenceType,o=n.enter("linkReference");let l=n.enter("label");const a=n.createTracker(r);let s=a.move("[");const u=n.containerPhrasing(e,{before:s,after:"]",...a.current()});s+=a.move(u+"]["),l();const f=n.stack;n.stack=[],l=n.enter("reference");const c=n.safe(n.associationId(e),{before:s,after:"]",...a.current()});return l(),n.stack=f,o(),i==="full"||!u||u!==c?s+=a.move(c+"]"):i==="shortcut"?s=s.slice(0,-1):s+=a.move("]"),s}function up(){return"["}function Jn(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function cp(e){const t=Jn(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function fp(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function po(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function pp(e,t,n,r){const i=n.enter("list"),o=n.bulletCurrent;let l=e.ordered?fp(n):Jn(n);const a=e.ordered?l==="."?")":".":cp(n);let s=t&&n.bulletLastUsed?l===n.bulletLastUsed:!1;if(!e.ordered){const f=e.children?e.children[0]:void 0;if((l==="*"||l==="-")&&f&&(!f.children||!f.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(s=!0),po(n)===l&&f){let c=-1;for(;++c-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+o);let l=o.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(l=Math.ceil(l/4)*4);const a=n.createTracker(r);a.move(o+" ".repeat(l-o.length)),a.shift(l);const s=n.enter("listItem"),u=n.indentLines(n.containerFlow(e,a.current()),f);return s(),u;function f(c,d,p){return d?(p?"":" ".repeat(l))+c:(p?o:o+" ".repeat(l-o.length))+c}}function gp(e,t,n,r){const i=n.enter("paragraph"),o=n.enter("phrasing"),l=n.containerPhrasing(e,r);return o(),i(),l}const mp=Kn(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function vp(e,t,n,r){return(e.children.some(function(i){return mp(i)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function yp(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}ho.peek=kp;function ho(e,t,n,r){const i=yp(n),o=n.enter("strong"),l=n.createTracker(r),a=l.move(i+i);let s=l.move(n.containerPhrasing(e,{after:i,before:a,...l.current()}));const u=s.charCodeAt(0),f=Ht(r.before.charCodeAt(r.before.length-1),u,i);f.inside&&(s=Ct(u)+s.slice(1));const c=s.charCodeAt(s.length-1),d=Ht(r.after.charCodeAt(0),c,i);d.inside&&(s=s.slice(0,-1)+Ct(c));const p=l.move(i+i);return o(),n.attentionEncodeSurroundingInfo={after:d.outside,before:f.outside},a+s+p}function kp(e,t,n){return n.options.strong||"*"}function xp(e,t,n,r){return n.safe(e.value,r)}function bp(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function wp(e,t,n){const r=(po(n)+(n.options.ruleSpaces?" ":"")).repeat(bp(n));return n.options.ruleSpaces?r.slice(0,-1):r}const go={blockquote:qf,break:ui,code:Zf,definition:Xf,emphasis:io,hardBreak:ui,heading:rp,html:oo,image:lo,imageReference:ao,inlineCode:so,link:co,linkReference:fo,list:pp,listItem:hp,paragraph:gp,root:vp,strong:ho,text:xp,thematicBreak:wp};function Sp(){return{enter:{table:Cp,tableData:ci,tableHeader:ci,tableRow:Ip},exit:{codeText:Ep,table:_p,tableData:gn,tableHeader:gn,tableRow:gn}}}function Cp(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function _p(e){this.exit(e),this.data.inTable=void 0}function Ip(e){this.enter({type:"tableRow",children:[]},e)}function gn(e){this.exit(e)}function ci(e){this.enter({type:"tableCell",children:[]},e)}function Ep(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,Tp));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function Tp(e,t){return t==="|"?t:e}function Ap(e){const t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,o=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:d,table:l,tableCell:s,tableRow:a}};function l(p,m,S,b){return u(f(p,S,b),p.align)}function a(p,m,S,b){const v=c(p,S,b),I=u([v]);return I.slice(0,I.indexOf(` -`))}function s(p,m,S,b){const v=S.enter("tableCell"),I=S.enter("phrasing"),C=S.containerPhrasing(p,{...b,before:o,after:o});return I(),v(),C}function u(p,m){return Vf(p,{align:m,alignDelimiters:r,padding:n,stringLength:i})}function f(p,m,S){const b=p.children;let v=-1;const I=[],C=m.enter("table");for(;++vi?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)l=Array.from(r),l.unshift(t,n),e.splice(...l);else for(n&&e.splice(t,n);o0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}function Zp(e,t,n){const r=[];let i=-1;for(;++i999||c===93&&!l||c===null||c===91||pe(c))return n(c);if(c===93){e.exit("chunkString");const d=e.exit("gfmFootnoteCallString");return i.includes(It(r.sliceSerialize(d)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(c)}return pe(c)||(l=!0),o++,e.consume(c),c===92?f:u}function f(c){return c===91||c===92||c===93?(e.consume(c),o++,u):u(c)}}function id(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o,l=0,a;return s;function s(m){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(m){return m===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",f):n(m)}function f(m){if(l>999||m===93&&!a||m===null||m===91||pe(m))return n(m);if(m===93){e.exit("chunkString");const S=e.exit("gfmFootnoteDefinitionLabelString");return o=It(r.sliceSerialize(S)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),d}return pe(m)||(a=!0),l++,e.consume(m),m===92?c:f}function c(m){return m===91||m===92||m===93?(e.consume(m),l++,f):f(m)}function d(m){return m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),i.includes(o)||i.push(o),ze(e,p,"gfmFootnoteDefinitionWhitespace")):n(m)}function p(m){return t(m)}}function od(e,t,n){return e.check(Kp,t,e.attempt(Jp,t,n))}function ld(e){e.exit("gfmFootnoteDefinition")}function ad(e,t,n){const r=this;return ze(e,i,"gfmFootnoteDefinitionIndent",5);function i(o){const l=r.events[r.events.length-1];return l&&l[1].type==="gfmFootnoteDefinitionIndent"&&l[2].sliceSerialize(l[1],!0).length===4?t(o):n(o)}}function sd(e){let t=(e||{}).singleTilde;const n={name:"strikethrough",tokenize:i,resolveAll:r};return t==null&&(t=!0),{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(o,l){let a=-1;for(;++a1?a(p):(o.consume(p),f++,d);if(f<2&&!t)return a(p);const S=o.exit("strikethroughSequenceTemporary"),b=Bt(p);return S._open=!b||b===2&&!!m,S._close=!m||m===2&&!!b,l(p)}}}class ud{constructor(){this.map=[]}add(t,n,r){cd(this,t,n,r)}consume(t){if(this.map.sort(function(o,l){return o[0]-l[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(const o of i)t.push(o);i=r.pop()}this.map.length=0}}function cd(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i-1;){const O=r.events[L][1].type;if(O==="lineEnding"||O==="linePrefix")L--;else break}const D=L>-1?r.events[L][1].type:null,q=D==="tableHead"||D==="tableRow"?w:s;return q===w&&r.parser.lazy[r.now().line]?n(y):q(y)}function s(y){return e.enter("tableHead"),e.enter("tableRow"),u(y)}function u(y){return y===124||(l=!0,o+=1),f(y)}function f(y){return y===null?n(y):rt(y)?o>1?(o=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),p):n(y):Pe(y)?ze(e,f,"whitespace")(y):(o+=1,l&&(l=!1,i+=1),y===124?(e.enter("tableCellDivider"),e.consume(y),e.exit("tableCellDivider"),l=!0,f):(e.enter("data"),c(y)))}function c(y){return y===null||y===124||pe(y)?(e.exit("data"),f(y)):(e.consume(y),y===92?d:c)}function d(y){return y===92||y===124?(e.consume(y),c):c(y)}function p(y){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(y):(e.enter("tableDelimiterRow"),l=!1,Pe(y)?ze(e,m,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(y):m(y))}function m(y){return y===45||y===58?b(y):y===124?(l=!0,e.enter("tableCellDivider"),e.consume(y),e.exit("tableCellDivider"),S):M(y)}function S(y){return Pe(y)?ze(e,b,"whitespace")(y):b(y)}function b(y){return y===58?(o+=1,l=!0,e.enter("tableDelimiterMarker"),e.consume(y),e.exit("tableDelimiterMarker"),v):y===45?(o+=1,v(y)):y===null||rt(y)?A(y):M(y)}function v(y){return y===45?(e.enter("tableDelimiterFiller"),I(y)):M(y)}function I(y){return y===45?(e.consume(y),I):y===58?(l=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(y),e.exit("tableDelimiterMarker"),C):(e.exit("tableDelimiterFiller"),C(y))}function C(y){return Pe(y)?ze(e,A,"whitespace")(y):A(y)}function A(y){return y===124?m(y):y===null||rt(y)?!l||i!==o?M(y):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(y)):M(y)}function M(y){return n(y)}function w(y){return e.enter("tableRow"),j(y)}function j(y){return y===124?(e.enter("tableCellDivider"),e.consume(y),e.exit("tableCellDivider"),j):y===null||rt(y)?(e.exit("tableRow"),t(y)):Pe(y)?ze(e,j,"whitespace")(y):(e.enter("data"),V(y))}function V(y){return y===null||y===124||pe(y)?(e.exit("data"),j(y)):(e.consume(y),y===92?B:V)}function B(y){return y===92||y===124?(e.consume(y),V):V(y)}}function hd(e,t){let n=-1,r=!0,i=0,o=[0,0,0,0],l=[0,0,0,0],a=!1,s=0,u,f,c;const d=new ud;for(;++nn[2]+1){const m=n[2]+1,S=n[3]-n[2]-1;e.add(m,S,[])}}e.add(n[3]+1,0,[["exit",c,t]])}return i!==void 0&&(o.end=Object.assign({},et(t.events,i)),e.add(i,0,[["exit",o,t]]),o=void 0),o}function gi(e,t,n,r,i){const o=[],l=et(t.events,n);i&&(i.end=Object.assign({},l),o.push(["exit",i,t])),r.end=Object.assign({},l),o.push(["exit",r,t]),e.add(n+1,0,o)}function et(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const gd={name:"tasklistCheck",tokenize:vd};function md(){return{text:{91:gd}}}function vd(e,t,n){const r=this;return i;function i(s){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(s):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(s),e.exit("taskListCheckMarker"),o)}function o(s){return pe(s)?(e.enter("taskListCheckValueUnchecked"),e.consume(s),e.exit("taskListCheckValueUnchecked"),l):s===88||s===120?(e.enter("taskListCheckValueChecked"),e.consume(s),e.exit("taskListCheckValueChecked"),l):n(s)}function l(s){return s===93?(e.enter("taskListCheckMarker"),e.consume(s),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),a):n(s)}function a(s){return rt(s)?t(s):Pe(s)?e.check({tokenize:yd},t,n)(s):n(s)}}function yd(e,t,n){return ze(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function kd(e){return Fp([Hp(),ed(),sd(e),pd(),md()])}const xd={};function bd(e){const t=this,n=e||xd,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),o=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),l=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(kd(n)),o.push(zp()),l.push(Mp(n))}const wd=Vt({__name:"NcRichTextCopyButton",props:{contentId:{}},setup(e){const{copy:t,icon:n,altText:r}=Zc(()=>document.getElementById(e.contentId).textContent);return(i,o)=>(P(),xe(Nt,{variant:"tertiary",size:"small","aria-label":oe(r),title:oe(r),onClick:oe(t)},{icon:we(()=>[_e(yn,{path:oe(n),inline:""},null,8,["path"])]),_:1},8,["aria-label","title","onClick"]))}});function Sd(e){return e.type==="text"}const Cd=function(e){We(e,Sd,(t,n)=>{const r=n.at(-1),i=r.children.indexOf(t),o=t.value.split(/(\{[a-z\-_.0-9]+\})/ig).map(l=>{const a=l.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!a)return hr("text",l);const[,s]=a;return hr("element",{tagName:`#${s}`,children:[]})});r.children.splice(i,1,...o)})},_d=()=>Cd;function Id(e){return["code","inlineCode"].includes(e.type)}const Ed=function(){return function(e){We(e,Id,(t,n)=>{const r=n.at(-1),i=r.children.indexOf(t);return r.children.splice(i,1,{...t,value:""}),[ki,i+1]})}};function Td(e){return["text","code","inlineCode"].includes(e.type)}const Ad=function(){return function(e){We(e,Td,(t,n)=>{const r=n.at(-1),i=r.children.indexOf(t);return r.children.splice(i,1,{...t,value:t.value.replace(/</gmi,"<").replace(/>/gmi,">")}),[ki,i+1]})}},Ld=["http","https","mailto","tel"],Dn=le(null);async function Dd(){const e=await Zo(()=>import("./index-CaKmmcr4.chunk.mjs"),__vite__mapDeps([0,1,2,3]),import.meta.url);Dn.value=e.default}const Od={name:"NcRichText",components:{NcReferenceList:fn},props:{text:{type:String,default:""},arguments:{type:Object,default:()=>({})},referenceLimit:{type:Number,default:0},referenceInteractive:{type:Boolean,default:!0},referenceInteractiveOptIn:{type:Boolean,default:!1},references:{type:Array,default:null},useMarkdown:{type:Boolean,default:!1},useExtendedMarkdown:{type:Boolean,default:!1},interactive:{type:Boolean,default:!1},autolink:{type:Boolean,default:!0}},emits:["interactTodo"],data(){return{parentId:Ot()}},methods:{renderPlaintext(){const e=this.text.split(/(\{[a-z\-_.0-9]+\})/ig).map(t=>{const n=t.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!n)return this.prepareTextNode(t);const r=n[1],i=this.arguments[r];if(typeof i=="object"){const{component:o,props:l}=i;return te(typeof o=="string"?vn(o):o,{...l,class:"rich-text--component"})}return i?te("span",{class:"rich-text--fallback"},i):t});return te("div",{class:"rich-text--wrapper"},[te("div",{},e.flat()),this.referenceLimit>0?te("div",{class:"rich-text--reference-widget"},[te(fn,{text:this.text,referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn})]):null])},renderMarkdown(){const e=ti().use(Wr).use(Qo,{autolink:this.autolink,useMarkdown:this.useMarkdown,useExtendedMarkdown:this.useExtendedMarkdown}).use(Ad).use(this.useExtendedMarkdown?bd:void 0).use(Ia).use(pc,{except:Ld}).use(cc,{handlers:{component(t,n){return t(n,n.component,{value:n.value})}}}).use(this.useExtendedMarkdown?Dn.value:void 0).use(_d).use(Tl,{target:"_blank",rel:["noopener noreferrer"]}).use(ya,{Fragment:tt,jsx:this.createElement,jsxs:this.createElement,elementAttributeNameCase:"html",prefix:!1}).processSync(this.text.replace(/<[^>]+>/g,t=>t.replace(/")).result;return te("div",{class:"rich-text--wrapper rich-text--wrapper-markdown"},[e,this.referenceLimit>0?te("div",{class:"rich-text--reference-widget"},[te(fn,{text:this.prepareReferenceSource(this.text),referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn})]):null])},prepareTextNode(e){return this.autolink&&(e=Yo(e)),Array.isArray(e)?e.map(t=>{if(typeof t=="string")return t;const{component:n,props:r}=t;return te(n,{...r,class:"rich-text--component"})}):e},prepareReferenceSource(e){if(!this.useMarkdown&&!this.useExtendedMarkdown)return e;const t=ti();return t.compiler=n=>Ut(n),t.use(Wr).use(Ed).processSync(e.replace(/\s/g," ")).value},createElement(e,t,n){n&&(t.key=n);const r=t.children??[];if(delete t.children,!String(e).startsWith("#")){["h1","h2","h3","h4","h5","h6"].includes(String(e))&&(e=`h${Math.min(+String(e)[1]+3,6)}`);let o=null;if(this.useExtendedMarkdown){if(String(e)==="code"&&!Dn.value&&t?.class?.includes("language")&&Dd(),String(e)==="pre"&&r&&String(r.type)==="code"){const l=this.parentId+"-code-block-"+Ot();return te("p",{class:"rich-text__code-block"},[te(e,{...t,id:l},r),te(wd,{class:"rich-text__code-block-button",contentId:l})])}if(String(e)==="li"&&Array.isArray(r)&&r.length!==0&&r[0].type==="input"&&r[0].props.type==="checkbox"){const[l,,...a]=r,s=a.findIndex(d=>["ul","ol","li","blockquote","pre"].includes(d.type));s!==-1&&(o=a[s],a.splice(s));const u=this.parentId+"-markdown-input-"+Ot(),f={...l.props};delete f.checked;const c=te(il,{...f,modelValue:l.props.checked,id:u,disabled:!this.interactive,"onUpdate:modelValue":()=>{this.$emit("interactTodo",u)}},{default:()=>a});return te(e,t,[c,o])}}if(String(e)==="a"){const l=yi(this.$router,t.href);return l?(delete t.href,delete t.target,te(xi,{...t,to:l},{default:()=>r})):/^(https?:\/\/|tel:|mailto:)/.test(t.href)?(t.href=t.href.trim(),te(Go,t,r)):(delete t.href,delete t.target,te("span",t,r))}return te(e,t,r)}const i=this.arguments[e.slice(1)];return i?i.component?te(typeof i.component=="string"?vn(i.component):i.component,{...t,...i.props,class:"rich-text--component"},{default:()=>r}):te("span",{...t},[i]):te("span",{...t,class:"rich-text--fallback"},[`{${e.slice(1)}}`])}},render(){return this.useMarkdown||this.useExtendedMarkdown?this.renderMarkdown():this.renderPlaintext()}},Pd=Re(Od,[["__scopeId","data-v-80e57a29"]]),zd={name:"BriefcaseOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Md=["aria-hidden","aria-label"],Fd=["fill","width","height"],Rd={key:0};function Nd(e,t,n,r,i,o){return P(),N("span",Me(e.$attrs,{"aria-hidden":n.title?null:"true","aria-label":n.title,class:"material-design-icon briefcase-outline-icon",role:"img",onClick:t[0]||(t[0]=l=>e.$emit("click",l))}),[(P(),N("svg",{fill:n.fillColor,class:"material-design-icon__svg",width:n.size,height:n.size,viewBox:"0 0 24 24"},[n.title?(P(),N("title",Rd,ie(n.title),1)):X("",!0),t[1]||(t[1]=ne("path",{d:"M20,6C20.58,6 21.05,6.2 21.42,6.59C21.8,7 22,7.45 22,8V19C22,19.55 21.8,20 21.42,20.41C21.05,20.8 20.58,21 20,21H4C3.42,21 2.95,20.8 2.58,20.41C2.2,20 2,19.55 2,19V8C2,7.45 2.2,7 2.58,6.59C2.95,6.2 3.42,6 4,6H8V4C8,3.42 8.2,2.95 8.58,2.58C8.95,2.2 9.42,2 10,2H14C14.58,2 15.05,2.2 15.42,2.58C15.8,2.95 16,3.42 16,4V6H20M4,8V19H20V8H4M14,6V4H10V6H14Z"},null,-1))],8,Fd))],16,Md)}const jd=Re(zd,[["render",Nd]]),Bd={name:"ClockOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Hd=["aria-hidden","aria-label"],Vd=["fill","width","height"],Ud={key:0};function qd(e,t,n,r,i,o){return P(),N("span",Me(e.$attrs,{"aria-hidden":n.title?null:"true","aria-label":n.title,class:"material-design-icon clock-outline-icon",role:"img",onClick:t[0]||(t[0]=l=>e.$emit("click",l))}),[(P(),N("svg",{fill:n.fillColor,class:"material-design-icon__svg",width:n.size,height:n.size,viewBox:"0 0 24 24"},[n.title?(P(),N("title",Ud,ie(n.title),1)):X("",!0),t[1]||(t[1]=ne("path",{d:"M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C6.47,22 2,17.5 2,12A10,10 0 0,1 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z"},null,-1))],8,Vd))],16,Hd)}const $d=Re(Bd,[["render",qd]]),Wd={name:"MapMarkerOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Gd=["aria-hidden","aria-label"],Yd=["fill","width","height"],Qd={key:0};function Zd(e,t,n,r,i,o){return P(),N("span",Me(e.$attrs,{"aria-hidden":n.title?null:"true","aria-label":n.title,class:"material-design-icon map-marker-outline-icon",role:"img",onClick:t[0]||(t[0]=l=>e.$emit("click",l))}),[(P(),N("svg",{fill:n.fillColor,class:"material-design-icon__svg",width:n.size,height:n.size,viewBox:"0 0 24 24"},[n.title?(P(),N("title",Qd,ie(n.title),1)):X("",!0),t[1]||(t[1]=ne("path",{d:"M12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5M12,2A7,7 0 0,1 19,9C19,14.25 12,22 12,22C12,22 5,14.25 5,9A7,7 0 0,1 12,2M12,4A5,5 0 0,0 7,9C7,10 7,12 12,18.71C17,12 17,10 17,9A5,5 0 0,0 12,4Z"},null,-1))],8,Yd))],16,Gd)}const Kd=Re(Wd,[["render",Zd]]),Xd={name:"PencilOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Jd=["aria-hidden","aria-label"],eh=["fill","width","height"],th={key:0};function nh(e,t,n,r,i,o){return P(),N("span",Me(e.$attrs,{"aria-hidden":n.title?null:"true","aria-label":n.title,class:"material-design-icon pencil-outline-icon",role:"img",onClick:t[0]||(t[0]=l=>e.$emit("click",l))}),[(P(),N("svg",{fill:n.fillColor,class:"material-design-icon__svg",width:n.size,height:n.size,viewBox:"0 0 24 24"},[n.title?(P(),N("title",th,ie(n.title),1)):X("",!0),t[1]||(t[1]=ne("path",{d:"M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,3 17.15,3.1 16.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18.17,3.09 17.92,3 17.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z"},null,-1))],8,eh))],16,Jd)}const rh=Re(Xd,[["render",nh]]);Pn(jo);const wo=1800*1e3,On=new Map,mn=new Map;function So(e){const t=On.get(e);return t?Date.now()>=t.expiresAt?(On.delete(e),null):t.data:null}function Ft(e,t,n=wo){On.set(e,{data:t,expiresAt:Date.now()+n})}async function ih(e,t,n=wo){const r=So(e);if(r)return r;const i=mn.get(e);if(i)return i;const o=(async()=>{try{const l=await t();return l&&Ft(e,l,n),l}finally{mn.delete(e)}})();return mn.set(e,o),o}const oh=["aria-label"],lh={key:0,class:"profile-hover-card__loading"},ah={class:"profile-hover-card__header"},sh={class:"profile-hover-card__header__container"},uh={key:1,class:"profile-hover-card__header__container__placeholder"},ch={class:"profile-hover-card__header__container__identity"},fh={class:"profile-hover-card__header__container__displayname"},ph=["href"],dh={key:1},hh={key:2,class:"profile-hover-card__header__container__pronoun-separator"},gh={key:3,class:"profile-hover-card__header__container__pronouns"},mh={key:0,class:"profile-hover-card__header__container__status"},vh={class:"profile-hover-card__header__container__status-content"},yh={class:"profile-hover-card__body"},kh={class:"profile-hover-card__content"},xh={class:"profile-hover-card__sidebar"},bh={class:"user-actions"},wh={key:0,class:"user-actions__loading"},Sh=["src"],Ch=["src"],_h={key:0,class:"profile-hover-card__blocks"},Ih={key:0,class:"profile-hover-card__blocks-details"},Eh={key:0,class:"detail"},Th={key:0},Ah={key:1,class:"detail"},Lh={key:2,class:"detail"},Dh={key:0,class:"profile-hover-card__blocks-headline"},Oh={key:1,class:"profile-hover-card__blocks-biography"},Ph=Vt({__name:"NcProfileHoverCard",props:{user:{default:null},displayName:{default:null},profile:{default:null},preloadedUserStatus:{default:null},open:{type:Boolean,default:!1},actions:{default:null},actionsLoading:{type:Boolean,default:!1}},setup(e){const t=e,n=le(!1),r=le(!1),i=le(t.profile),o=le(t.preloadedUserStatus??{}),l=le(!!t.profile),a=le(t.preloadedUserStatus!==null),s=el(),u=W(()=>n.value||!!i.value&&!r.value&&!a.value);t.user&&t.profile&&Ft(t.user,t.profile);const f=W(()=>!!t.user&&kn()?.uid===t.user),c=Kt("/settings/user"),d=W(()=>{if(!l.value)return null;const k=i.value?.userId||t.user;return k?Kt("/u/{userId}",{userId:k}):null}),p=W(()=>i.value?.displayname||t.displayName||i.value?.userId||t.user||""),m=W(()=>d.value?{href:d.value,"aria-label":me("View profile")}:{});function S(k){return k.appId!=="timezone"&&k.appId!=="profile"&&k.id!=="profile"}function b(k){return f.value?k.text:k.id==="talk-call"||v(k)?me("Start call"):k.id==="talk"||k.appId==="spreed"?me("Send message"):k.text}function v(k){if(k.appId!=="spreed")return!1;const G=k.href??(typeof k.to=="string"?k.to:"");return typeof G=="string"&&G.includes("#direct-call")}const I=W(()=>t.actions&&t.actions.length>0?t.actions.filter(S):(i.value?.actions??[]).filter(S).map(k=>({id:k.id,appId:k.appId,text:k.title,href:k.target||void 0,icon:k.icon,target:k.id==="phone"?"_self":"_blank",rel:k.id==="fediverse"?"me":void 0}))),C=W(()=>{const k=V(new Date);return k?me("Local time: {time}",{time:k}):null}),A=W(()=>I.value[0]),M=W(()=>I.value.slice(1)),w=W(()=>{const k=A.value;return k?k.to?{to:k.to}:k.href?{href:k.href,target:k.target??(k.href.startsWith("tel:")?"_self":"_blank"),rel:k.rel}:{}:{}}),j=W(()=>({status:o.value.status??null,icon:o.value.icon??null,message:o.value.message??null}));function V(k){const G=i.value?.timezone;if(G)try{return new Intl.DateTimeFormat(fr(),{timeZone:G,hour:"2-digit",minute:"2-digit"}).format(k)}catch{}if(typeof i.value?.timezoneOffset=="number"){const U=new Date(k.getTime()+i.value.timezoneOffset*1e3);return new Intl.DateTimeFormat(fr(),{timeZone:"UTC",hour:"2-digit",minute:"2-digit"}).format(U)}return null}function B(k){return!!k&&(/^(https?:)?\/\//.test(k)||k.startsWith("/")||k.startsWith("data:"))}function y(k){return k.to?tl:k.onClick&&!k.href?nl:rl}function L(k){return k.to?{to:k.to,closeAfterClick:!0}:k.onClick&&!k.href?{onClick:k.onClick,closeAfterClick:!0}:{href:k.href,target:k.target??(k.href?.startsWith("tel:")?"_self":"_blank"),rel:k.rel,closeAfterClick:!0}}Je(()=>t.profile,k=>{k&&(i.value=k,l.value=!0,t.user&&Ft(t.user,k),r.value=!1)}),Je(()=>t.preloadedUserStatus,k=>{k&&(o.value=k,a.value=!0)}),Je(()=>t.displayName,k=>{k&&i.value&&!l.value&&(i.value={...i.value,displayname:k})}),Je(()=>t.user,()=>{i.value=t.profile,o.value=t.preloadedUserStatus??{},a.value=t.preloadedUserStatus!==null,l.value=!!t.profile,r.value=!1,t.user&&t.profile&&Ft(t.user,t.profile),t.open&&T()}),Je(()=>t.open,k=>{k&&T()}),No(()=>{t.open&&T()});async function D(k){if(t.displayName)return t.displayName;try{const{data:G}=await Ve.post(Kt("/displaynames"),{users:[k]});return G?.users?.[k]||k}catch(G){return ot.debug("Failed to load display name for hovercard",{error:G,userId:k}),k}}async function q(k){return{userId:k,displayname:await D(k),actions:[],isUserAvatarVisible:!0}}async function O(k){a.value||(o.value=await $(k),a.value=!0)}async function T(){if(!t.user||n.value)return;const k=t.user;if(!i.value){const U=So(k);U&&(i.value=U,l.value=!0)}if(i.value&&l.value){if(!a.value){n.value=!0;try{await O(k)}finally{n.value=!1}}return}n.value=!0,r.value=!1;const G=a.value?Promise.resolve(o.value):$(k);try{const U=await ih(k,async()=>{const{data:h}=await Ve.get(nt("/profile/{userId}",{userId:k}));return h.ocs?.data??null});U?(i.value=U,l.value=!0):(i.value=await q(k),l.value=!1)}catch(U){ot.debug("Failed to load profile for hovercard, showing limited info",{error:U,user:k}),i.value=await q(k),l.value=!1}try{o.value=await G,a.value=!0}finally{n.value=!1}}async function $(k){try{if(!Xo()?.user_status?.enabled||!kn())return{};const{data:G}=await Ve.get(nt("/apps/user_status/api/v1/statuses/{userId}",{userId:k}));return G.ocs?.data??{}}catch(G){return ot.debug("Failed to load user status for hovercard",{error:G,userId:k}),{}}}return(k,G)=>(P(),N("div",{class:it(["profile-hover-card",{"profile-hover-card--limited":!u.value&&!!i.value&&!r.value&&!l.value}]),role:"dialog","aria-label":oe(me)("Profile of {user}",{user:p.value})},[u.value?(P(),N("div",lh,[_e(ur,{size:32,name:oe(me)("Loading profile")},null,8,["name"])])):i.value&&!r.value?(P(),N(tt,{key:1},[ne("div",ah,[f.value?(P(),xe(Nt,{key:0,class:"profile-hover-card__header__edit",variant:"tertiary","aria-label":oe(me)("Edit profile"),title:oe(me)("Edit profile"),href:oe(c),target:"_blank"},{icon:we(()=>[_e(rh,{size:20})]),_:1},8,["aria-label","title","href"])):X("",!0),ne("div",sh,[oe(s)?(P(),xe(Pt(d.value?"a":"div"),Me({key:0,class:["profile-hover-card__header__container__avatar",{"profile-hover-card__profile-link":!!d.value}]},m.value),{default:we(()=>[_e(gr,{class:"avatar",user:i.value.userId,displayName:p.value,size:96,disableMenu:"",disableTooltip:"",preloadedUserStatus:j.value,isNoUser:!i.value.isUserAvatarVisible},null,8,["user","displayName","preloadedUserStatus","isNoUser"])]),_:1},16,["class"])):(P(),N("div",uh)),ne("div",ch,[ne("div",fh,[d.value?(P(),N("a",{key:0,class:"profile-hover-card__profile-link",href:d.value},[ne("h2",null,ie(p.value),1)],8,ph)):(P(),N("h2",dh,ie(p.value),1)),i.value.pronouns?(P(),N("span",hh,"·")):X("",!0),i.value.pronouns?(P(),N("span",gh,ie(i.value.pronouns),1)):X("",!0)]),o.value.icon||o.value.message?(P(),N("div",mh,[ne("span",vh,[ne("span",null,ie(o.value.icon)+" "+ie(o.value.message),1)])])):X("",!0)])])]),ne("div",yh,[ne("div",kh,[ne("div",xh,[oe(s)?X("",!0):(P(),xe(Pt(d.value?"a":"div"),Me({key:0,class:{"profile-hover-card__profile-link":!!d.value}},m.value),{default:we(()=>[_e(gr,{class:"avatar",user:i.value.userId,displayName:p.value,size:135,disableMenu:"",disableTooltip:"",preloadedUserStatus:j.value,isNoUser:!i.value.isUserAvatarVisible},null,8,["user","displayName","preloadedUserStatus","isNoUser"])]),_:1},16,["class"])),ne("div",bh,[e.actionsLoading&&I.value.length===0?(P(),N("div",wh,[_e(ur,{size:20,name:oe(me)("Loading actions")},null,8,["name"])])):(P(),N(tt,{key:1},[A.value?(P(),xe(Nt,Me({key:0,variant:"primary",class:"user-actions__primary"},w.value,{onClick:A.value.onClick}),cr({default:we(()=>[Be(" "+ie(b(A.value)),1)]),_:2},[A.value.iconSvg||A.value.icon?{name:"icon",fn:we(()=>[A.value.iconSvg?(P(),xe(oe(yn),{key:0,svg:A.value.iconSvg},null,8,["svg"])):B(A.value.icon)?(P(),N("img",{key:1,src:A.value.icon,alt:"",class:"user-actions__primary__icon"},null,8,Sh)):(P(),N("span",{key:2,"aria-hidden":"true",class:it(["user-actions__primary__icon-class",A.value.icon])},null,2))]),key:"0"}:void 0]),1040,["onClick"])):X("",!0),M.value.length>0?(P(),xe(Jo,{key:1,class:"user-actions__other",inline:oe(s)?5:4},{default:we(()=>[(P(!0),N(tt,null,vi(M.value,(U,h)=>(P(),xe(Pt(y(U)),Me({key:U.id||U.href||h},{ref_for:!0},L(U)),cr({default:we(()=>[Be(" "+ie(b(U)),1)]),_:2},[U.iconSvg||U.icon?{name:"icon",fn:we(()=>[U.iconSvg?(P(),xe(oe(yn),{key:0,svg:U.iconSvg},null,8,["svg"])):B(U.icon)?(P(),N("img",{key:1,src:U.icon,alt:"",class:"user-actions__other__icon"},null,8,Ch)):(P(),N("span",{key:2,"aria-hidden":"true",class:it(["user-actions__other__icon-class",U.icon])},null,2))]),key:"0"}:void 0]),1040))),128))]),_:1},8,["inline"])):X("",!0)],64))])]),l.value?(P(),N("div",_h,[i.value.organisation||i.value.role||i.value.address||C.value?(P(),N("div",Ih,[i.value.organisation||i.value.role?(P(),N("div",Eh,[ne("p",null,[_e(jd,{class:"detail-icon",size:16,title:""}),Be(" "+ie(i.value.organisation)+" ",1),i.value.organisation&&i.value.role?(P(),N("span",Th,"•")):X("",!0),Be(" "+ie(i.value.role),1)])])):X("",!0),i.value.address?(P(),N("div",Ah,[ne("p",null,[_e(Kd,{class:"detail-icon",size:16,title:""}),Be(" "+ie(i.value.address),1)])])):X("",!0),C.value?(P(),N("div",Lh,[ne("p",null,[_e($d,{class:"detail-icon",size:16,title:""}),Be(" "+ie(C.value),1)])])):X("",!0)])):X("",!0),i.value.headline||i.value.biography?(P(),N(tt,{key:1},[i.value.headline?(P(),N("h3",Dh,ie(i.value.headline),1)):X("",!0),i.value.biography?(P(),N("div",Oh,[_e(Pd,{text:i.value.biography,useExtendedMarkdown:""},null,8,["text"])])):X("",!0)],64)):X("",!0)])):X("",!0)])])],64)):X("",!0)],10,oh))}}),zh=Re(Ph,[["__scopeId","data-v-592f6ec3"]]),Nh=Object.freeze(Object.defineProperty({__proto__:null,default:zh},Symbol.toStringTag,{value:"Module"}));export{Nh as N,Ii as c,bt as v}; -//# sourceMappingURL=NcProfileHoverCard-Dt6jr72a.chunk.mjs.map +`))}function s(p,m,S,b){const v=S.enter("tableCell"),I=S.enter("phrasing"),C=S.containerPhrasing(p,{...b,before:o,after:o});return I(),v(),C}function u(p,m){return Vf(p,{align:m,alignDelimiters:r,padding:n,stringLength:i})}function f(p,m,S){const b=p.children;let v=-1;const I=[],C=m.enter("table");for(;++vi?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)l=Array.from(r),l.unshift(t,n),e.splice(...l);else for(n&&e.splice(t,n);o0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}function Zp(e,t,n){const r=[];let i=-1;for(;++i999||c===93&&!l||c===null||c===91||pe(c))return n(c);if(c===93){e.exit("chunkString");const d=e.exit("gfmFootnoteCallString");return i.includes(It(r.sliceSerialize(d)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(c)}return pe(c)||(l=!0),o++,e.consume(c),c===92?f:u}function f(c){return c===91||c===92||c===93?(e.consume(c),o++,u):u(c)}}function id(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o,l=0,a;return s;function s(m){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(m){return m===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",f):n(m)}function f(m){if(l>999||m===93&&!a||m===null||m===91||pe(m))return n(m);if(m===93){e.exit("chunkString");const S=e.exit("gfmFootnoteDefinitionLabelString");return o=It(r.sliceSerialize(S)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),d}return pe(m)||(a=!0),l++,e.consume(m),m===92?c:f}function c(m){return m===91||m===92||m===93?(e.consume(m),l++,f):f(m)}function d(m){return m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),i.includes(o)||i.push(o),ze(e,p,"gfmFootnoteDefinitionWhitespace")):n(m)}function p(m){return t(m)}}function od(e,t,n){return e.check(Kp,t,e.attempt(Jp,t,n))}function ld(e){e.exit("gfmFootnoteDefinition")}function ad(e,t,n){const r=this;return ze(e,i,"gfmFootnoteDefinitionIndent",5);function i(o){const l=r.events[r.events.length-1];return l&&l[1].type==="gfmFootnoteDefinitionIndent"&&l[2].sliceSerialize(l[1],!0).length===4?t(o):n(o)}}function sd(e){let t=(e||{}).singleTilde;const n={name:"strikethrough",tokenize:i,resolveAll:r};return t==null&&(t=!0),{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(o,l){let a=-1;for(;++a1?a(p):(o.consume(p),f++,d);if(f<2&&!t)return a(p);const S=o.exit("strikethroughSequenceTemporary"),b=Bt(p);return S._open=!b||b===2&&!!m,S._close=!m||m===2&&!!b,l(p)}}}class ud{constructor(){this.map=[]}add(t,n,r){cd(this,t,n,r)}consume(t){if(this.map.sort(function(o,l){return o[0]-l[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(const o of i)t.push(o);i=r.pop()}this.map.length=0}}function cd(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i-1;){const O=r.events[L][1].type;if(O==="lineEnding"||O==="linePrefix")L--;else break}const D=L>-1?r.events[L][1].type:null,q=D==="tableHead"||D==="tableRow"?w:s;return q===w&&r.parser.lazy[r.now().line]?n(y):q(y)}function s(y){return e.enter("tableHead"),e.enter("tableRow"),u(y)}function u(y){return y===124||(l=!0,o+=1),f(y)}function f(y){return y===null?n(y):rt(y)?o>1?(o=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),p):n(y):Pe(y)?ze(e,f,"whitespace")(y):(o+=1,l&&(l=!1,i+=1),y===124?(e.enter("tableCellDivider"),e.consume(y),e.exit("tableCellDivider"),l=!0,f):(e.enter("data"),c(y)))}function c(y){return y===null||y===124||pe(y)?(e.exit("data"),f(y)):(e.consume(y),y===92?d:c)}function d(y){return y===92||y===124?(e.consume(y),c):c(y)}function p(y){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(y):(e.enter("tableDelimiterRow"),l=!1,Pe(y)?ze(e,m,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(y):m(y))}function m(y){return y===45||y===58?b(y):y===124?(l=!0,e.enter("tableCellDivider"),e.consume(y),e.exit("tableCellDivider"),S):M(y)}function S(y){return Pe(y)?ze(e,b,"whitespace")(y):b(y)}function b(y){return y===58?(o+=1,l=!0,e.enter("tableDelimiterMarker"),e.consume(y),e.exit("tableDelimiterMarker"),v):y===45?(o+=1,v(y)):y===null||rt(y)?A(y):M(y)}function v(y){return y===45?(e.enter("tableDelimiterFiller"),I(y)):M(y)}function I(y){return y===45?(e.consume(y),I):y===58?(l=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(y),e.exit("tableDelimiterMarker"),C):(e.exit("tableDelimiterFiller"),C(y))}function C(y){return Pe(y)?ze(e,A,"whitespace")(y):A(y)}function A(y){return y===124?m(y):y===null||rt(y)?!l||i!==o?M(y):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(y)):M(y)}function M(y){return n(y)}function w(y){return e.enter("tableRow"),j(y)}function j(y){return y===124?(e.enter("tableCellDivider"),e.consume(y),e.exit("tableCellDivider"),j):y===null||rt(y)?(e.exit("tableRow"),t(y)):Pe(y)?ze(e,j,"whitespace")(y):(e.enter("data"),V(y))}function V(y){return y===null||y===124||pe(y)?(e.exit("data"),j(y)):(e.consume(y),y===92?B:V)}function B(y){return y===92||y===124?(e.consume(y),V):V(y)}}function hd(e,t){let n=-1,r=!0,i=0,o=[0,0,0,0],l=[0,0,0,0],a=!1,s=0,u,f,c;const d=new ud;for(;++nn[2]+1){const m=n[2]+1,S=n[3]-n[2]-1;e.add(m,S,[])}}e.add(n[3]+1,0,[["exit",c,t]])}return i!==void 0&&(o.end=Object.assign({},et(t.events,i)),e.add(i,0,[["exit",o,t]]),o=void 0),o}function gi(e,t,n,r,i){const o=[],l=et(t.events,n);i&&(i.end=Object.assign({},l),o.push(["exit",i,t])),r.end=Object.assign({},l),o.push(["exit",r,t]),e.add(n+1,0,o)}function et(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const gd={name:"tasklistCheck",tokenize:vd};function md(){return{text:{91:gd}}}function vd(e,t,n){const r=this;return i;function i(s){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(s):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(s),e.exit("taskListCheckMarker"),o)}function o(s){return pe(s)?(e.enter("taskListCheckValueUnchecked"),e.consume(s),e.exit("taskListCheckValueUnchecked"),l):s===88||s===120?(e.enter("taskListCheckValueChecked"),e.consume(s),e.exit("taskListCheckValueChecked"),l):n(s)}function l(s){return s===93?(e.enter("taskListCheckMarker"),e.consume(s),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),a):n(s)}function a(s){return rt(s)?t(s):Pe(s)?e.check({tokenize:yd},t,n)(s):n(s)}}function yd(e,t,n){return ze(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function kd(e){return Fp([Hp(),ed(),sd(e),pd(),md()])}const xd={};function bd(e){const t=this,n=e||xd,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),o=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),l=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(kd(n)),o.push(zp()),l.push(Mp(n))}const wd=Vt({__name:"NcRichTextCopyButton",props:{contentId:{}},setup(e){const{copy:t,icon:n,altText:r}=Zc(()=>document.getElementById(e.contentId).textContent);return(i,o)=>(P(),xe(Nt,{variant:"tertiary",size:"small","aria-label":oe(r),title:oe(r),onClick:oe(t)},{icon:we(()=>[_e(yn,{path:oe(n),inline:""},null,8,["path"])]),_:1},8,["aria-label","title","onClick"]))}});function Sd(e){return e.type==="text"}const Cd=function(e){We(e,Sd,(t,n)=>{const r=n.at(-1),i=r.children.indexOf(t),o=t.value.split(/(\{[a-z\-_.0-9]+\})/ig).map(l=>{const a=l.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!a)return hr("text",l);const[,s]=a;return hr("element",{tagName:`#${s}`,children:[]})});r.children.splice(i,1,...o)})},_d=()=>Cd;function Id(e){return["code","inlineCode"].includes(e.type)}const Ed=function(){return function(e){We(e,Id,(t,n)=>{const r=n.at(-1),i=r.children.indexOf(t);return r.children.splice(i,1,{...t,value:""}),[ki,i+1]})}};function Td(e){return["text","code","inlineCode"].includes(e.type)}const Ad=function(){return function(e){We(e,Td,(t,n)=>{const r=n.at(-1),i=r.children.indexOf(t);return r.children.splice(i,1,{...t,value:t.value.replace(/</gmi,"<").replace(/>/gmi,">")}),[ki,i+1]})}},Ld=["http","https","mailto","tel"],Dn=le(null);async function Dd(){const e=await Zo(()=>import("./index-Bh0j2qE0.chunk.mjs"),__vite__mapDeps([0,1,2,3]),import.meta.url);Dn.value=e.default}const Od={name:"NcRichText",components:{NcReferenceList:fn},props:{text:{type:String,default:""},arguments:{type:Object,default:()=>({})},referenceLimit:{type:Number,default:0},referenceInteractive:{type:Boolean,default:!0},referenceInteractiveOptIn:{type:Boolean,default:!1},references:{type:Array,default:null},useMarkdown:{type:Boolean,default:!1},useExtendedMarkdown:{type:Boolean,default:!1},interactive:{type:Boolean,default:!1},autolink:{type:Boolean,default:!0}},emits:["interactTodo"],data(){return{parentId:Ot()}},methods:{renderPlaintext(){const e=this.text.split(/(\{[a-z\-_.0-9]+\})/ig).map(t=>{const n=t.match(/^\{([a-z\-_.0-9]+)\}$/i);if(!n)return this.prepareTextNode(t);const r=n[1],i=this.arguments[r];if(typeof i=="object"){const{component:o,props:l}=i;return te(typeof o=="string"?vn(o):o,{...l,class:"rich-text--component"})}return i?te("span",{class:"rich-text--fallback"},i):t});return te("div",{class:"rich-text--wrapper"},[te("div",{},e.flat()),this.referenceLimit>0?te("div",{class:"rich-text--reference-widget"},[te(fn,{text:this.text,referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn})]):null])},renderMarkdown(){const e=ti().use(Wr).use(Qo,{autolink:this.autolink,useMarkdown:this.useMarkdown,useExtendedMarkdown:this.useExtendedMarkdown}).use(Ad).use(this.useExtendedMarkdown?bd:void 0).use(Ia).use(pc,{except:Ld}).use(cc,{handlers:{component(t,n){return t(n,n.component,{value:n.value})}}}).use(this.useExtendedMarkdown?Dn.value:void 0).use(_d).use(Tl,{target:"_blank",rel:["noopener noreferrer"]}).use(ya,{Fragment:tt,jsx:this.createElement,jsxs:this.createElement,elementAttributeNameCase:"html",prefix:!1}).processSync(this.text.replace(/<[^>]+>/g,t=>t.replace(/")).result;return te("div",{class:"rich-text--wrapper rich-text--wrapper-markdown"},[e,this.referenceLimit>0?te("div",{class:"rich-text--reference-widget"},[te(fn,{text:this.prepareReferenceSource(this.text),referenceData:this.references,interactive:this.referenceInteractive,interactiveOptIn:this.referenceInteractiveOptIn})]):null])},prepareTextNode(e){return this.autolink&&(e=Yo(e)),Array.isArray(e)?e.map(t=>{if(typeof t=="string")return t;const{component:n,props:r}=t;return te(n,{...r,class:"rich-text--component"})}):e},prepareReferenceSource(e){if(!this.useMarkdown&&!this.useExtendedMarkdown)return e;const t=ti();return t.compiler=n=>Ut(n),t.use(Wr).use(Ed).processSync(e.replace(/\s/g," ")).value},createElement(e,t,n){n&&(t.key=n);const r=t.children??[];if(delete t.children,!String(e).startsWith("#")){["h1","h2","h3","h4","h5","h6"].includes(String(e))&&(e=`h${Math.min(+String(e)[1]+3,6)}`);let o=null;if(this.useExtendedMarkdown){if(String(e)==="code"&&!Dn.value&&t?.class?.includes("language")&&Dd(),String(e)==="pre"&&r&&String(r.type)==="code"){const l=this.parentId+"-code-block-"+Ot();return te("p",{class:"rich-text__code-block"},[te(e,{...t,id:l},r),te(wd,{class:"rich-text__code-block-button",contentId:l})])}if(String(e)==="li"&&Array.isArray(r)&&r.length!==0&&r[0].type==="input"&&r[0].props.type==="checkbox"){const[l,,...a]=r,s=a.findIndex(d=>["ul","ol","li","blockquote","pre"].includes(d.type));s!==-1&&(o=a[s],a.splice(s));const u=this.parentId+"-markdown-input-"+Ot(),f={...l.props};delete f.checked;const c=te(il,{...f,modelValue:l.props.checked,id:u,disabled:!this.interactive,"onUpdate:modelValue":()=>{this.$emit("interactTodo",u)}},{default:()=>a});return te(e,t,[c,o])}}if(String(e)==="a"){const l=yi(this.$router,t.href);return l?(delete t.href,delete t.target,te(xi,{...t,to:l},{default:()=>r})):/^(https?:\/\/|tel:|mailto:)/.test(t.href)?(t.href=t.href.trim(),te(Go,t,r)):(delete t.href,delete t.target,te("span",t,r))}return te(e,t,r)}const i=this.arguments[e.slice(1)];return i?i.component?te(typeof i.component=="string"?vn(i.component):i.component,{...t,...i.props,class:"rich-text--component"},{default:()=>r}):te("span",{...t},[i]):te("span",{...t,class:"rich-text--fallback"},[`{${e.slice(1)}}`])}},render(){return this.useMarkdown||this.useExtendedMarkdown?this.renderMarkdown():this.renderPlaintext()}},Pd=Re(Od,[["__scopeId","data-v-80e57a29"]]),zd={name:"BriefcaseOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Md=["aria-hidden","aria-label"],Fd=["fill","width","height"],Rd={key:0};function Nd(e,t,n,r,i,o){return P(),N("span",Me(e.$attrs,{"aria-hidden":n.title?null:"true","aria-label":n.title,class:"material-design-icon briefcase-outline-icon",role:"img",onClick:t[0]||(t[0]=l=>e.$emit("click",l))}),[(P(),N("svg",{fill:n.fillColor,class:"material-design-icon__svg",width:n.size,height:n.size,viewBox:"0 0 24 24"},[n.title?(P(),N("title",Rd,ie(n.title),1)):X("",!0),t[1]||(t[1]=ne("path",{d:"M20,6C20.58,6 21.05,6.2 21.42,6.59C21.8,7 22,7.45 22,8V19C22,19.55 21.8,20 21.42,20.41C21.05,20.8 20.58,21 20,21H4C3.42,21 2.95,20.8 2.58,20.41C2.2,20 2,19.55 2,19V8C2,7.45 2.2,7 2.58,6.59C2.95,6.2 3.42,6 4,6H8V4C8,3.42 8.2,2.95 8.58,2.58C8.95,2.2 9.42,2 10,2H14C14.58,2 15.05,2.2 15.42,2.58C15.8,2.95 16,3.42 16,4V6H20M4,8V19H20V8H4M14,6V4H10V6H14Z"},null,-1))],8,Fd))],16,Md)}const jd=Re(zd,[["render",Nd]]),Bd={name:"ClockOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Hd=["aria-hidden","aria-label"],Vd=["fill","width","height"],Ud={key:0};function qd(e,t,n,r,i,o){return P(),N("span",Me(e.$attrs,{"aria-hidden":n.title?null:"true","aria-label":n.title,class:"material-design-icon clock-outline-icon",role:"img",onClick:t[0]||(t[0]=l=>e.$emit("click",l))}),[(P(),N("svg",{fill:n.fillColor,class:"material-design-icon__svg",width:n.size,height:n.size,viewBox:"0 0 24 24"},[n.title?(P(),N("title",Ud,ie(n.title),1)):X("",!0),t[1]||(t[1]=ne("path",{d:"M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C6.47,22 2,17.5 2,12A10,10 0 0,1 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z"},null,-1))],8,Vd))],16,Hd)}const $d=Re(Bd,[["render",qd]]),Wd={name:"MapMarkerOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Gd=["aria-hidden","aria-label"],Yd=["fill","width","height"],Qd={key:0};function Zd(e,t,n,r,i,o){return P(),N("span",Me(e.$attrs,{"aria-hidden":n.title?null:"true","aria-label":n.title,class:"material-design-icon map-marker-outline-icon",role:"img",onClick:t[0]||(t[0]=l=>e.$emit("click",l))}),[(P(),N("svg",{fill:n.fillColor,class:"material-design-icon__svg",width:n.size,height:n.size,viewBox:"0 0 24 24"},[n.title?(P(),N("title",Qd,ie(n.title),1)):X("",!0),t[1]||(t[1]=ne("path",{d:"M12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5M12,2A7,7 0 0,1 19,9C19,14.25 12,22 12,22C12,22 5,14.25 5,9A7,7 0 0,1 12,2M12,4A5,5 0 0,0 7,9C7,10 7,12 12,18.71C17,12 17,10 17,9A5,5 0 0,0 12,4Z"},null,-1))],8,Yd))],16,Gd)}const Kd=Re(Wd,[["render",Zd]]),Xd={name:"PencilOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Jd=["aria-hidden","aria-label"],eh=["fill","width","height"],th={key:0};function nh(e,t,n,r,i,o){return P(),N("span",Me(e.$attrs,{"aria-hidden":n.title?null:"true","aria-label":n.title,class:"material-design-icon pencil-outline-icon",role:"img",onClick:t[0]||(t[0]=l=>e.$emit("click",l))}),[(P(),N("svg",{fill:n.fillColor,class:"material-design-icon__svg",width:n.size,height:n.size,viewBox:"0 0 24 24"},[n.title?(P(),N("title",th,ie(n.title),1)):X("",!0),t[1]||(t[1]=ne("path",{d:"M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,3 17.15,3.1 16.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18.17,3.09 17.92,3 17.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z"},null,-1))],8,eh))],16,Jd)}const rh=Re(Xd,[["render",nh]]);Pn(jo);const wo=1800*1e3,On=new Map,mn=new Map;function So(e){const t=On.get(e);return t?Date.now()>=t.expiresAt?(On.delete(e),null):t.data:null}function Ft(e,t,n=wo){On.set(e,{data:t,expiresAt:Date.now()+n})}async function ih(e,t,n=wo){const r=So(e);if(r)return r;const i=mn.get(e);if(i)return i;const o=(async()=>{try{const l=await t();return l&&Ft(e,l,n),l}finally{mn.delete(e)}})();return mn.set(e,o),o}const oh=["aria-label"],lh={key:0,class:"profile-hover-card__loading"},ah={class:"profile-hover-card__header"},sh={class:"profile-hover-card__header__container"},uh={key:1,class:"profile-hover-card__header__container__placeholder"},ch={class:"profile-hover-card__header__container__identity"},fh={class:"profile-hover-card__header__container__displayname"},ph=["href"],dh={key:1},hh={key:2,class:"profile-hover-card__header__container__pronoun-separator"},gh={key:3,class:"profile-hover-card__header__container__pronouns"},mh={key:0,class:"profile-hover-card__header__container__status"},vh={class:"profile-hover-card__header__container__status-content"},yh={class:"profile-hover-card__body"},kh={class:"profile-hover-card__content"},xh={class:"profile-hover-card__sidebar"},bh={class:"user-actions"},wh={key:0,class:"user-actions__loading"},Sh=["src"],Ch=["src"],_h={key:0,class:"profile-hover-card__blocks"},Ih={key:0,class:"profile-hover-card__blocks-details"},Eh={key:0,class:"detail"},Th={key:0},Ah={key:1,class:"detail"},Lh={key:2,class:"detail"},Dh={key:0,class:"profile-hover-card__blocks-headline"},Oh={key:1,class:"profile-hover-card__blocks-biography"},Ph=Vt({__name:"NcProfileHoverCard",props:{user:{default:null},displayName:{default:null},profile:{default:null},preloadedUserStatus:{default:null},open:{type:Boolean,default:!1},actions:{default:null},actionsLoading:{type:Boolean,default:!1}},setup(e){const t=e,n=le(!1),r=le(!1),i=le(t.profile),o=le(t.preloadedUserStatus??{}),l=le(!!t.profile),a=le(t.preloadedUserStatus!==null),s=el(),u=W(()=>n.value||!!i.value&&!r.value&&!a.value);t.user&&t.profile&&Ft(t.user,t.profile);const f=W(()=>!!t.user&&kn()?.uid===t.user),c=Kt("/settings/user"),d=W(()=>{if(!l.value)return null;const k=i.value?.userId||t.user;return k?Kt("/u/{userId}",{userId:k}):null}),p=W(()=>i.value?.displayname||t.displayName||i.value?.userId||t.user||""),m=W(()=>d.value?{href:d.value,"aria-label":me("View profile")}:{});function S(k){return k.appId!=="timezone"&&k.appId!=="profile"&&k.id!=="profile"}function b(k){return f.value?k.text:k.id==="talk-call"||v(k)?me("Start call"):k.id==="talk"||k.appId==="spreed"?me("Send message"):k.text}function v(k){if(k.appId!=="spreed")return!1;const G=k.href??(typeof k.to=="string"?k.to:"");return typeof G=="string"&&G.includes("#direct-call")}const I=W(()=>t.actions&&t.actions.length>0?t.actions.filter(S):(i.value?.actions??[]).filter(S).map(k=>({id:k.id,appId:k.appId,text:k.title,href:k.target||void 0,icon:k.icon,target:k.id==="phone"?"_self":"_blank",rel:k.id==="fediverse"?"me":void 0}))),C=W(()=>{const k=V(new Date);return k?me("Local time: {time}",{time:k}):null}),A=W(()=>I.value[0]),M=W(()=>I.value.slice(1)),w=W(()=>{const k=A.value;return k?k.to?{to:k.to}:k.href?{href:k.href,target:k.target??(k.href.startsWith("tel:")?"_self":"_blank"),rel:k.rel}:{}:{}}),j=W(()=>({status:o.value.status??null,icon:o.value.icon??null,message:o.value.message??null}));function V(k){const G=i.value?.timezone;if(G)try{return new Intl.DateTimeFormat(fr(),{timeZone:G,hour:"2-digit",minute:"2-digit"}).format(k)}catch{}if(typeof i.value?.timezoneOffset=="number"){const U=new Date(k.getTime()+i.value.timezoneOffset*1e3);return new Intl.DateTimeFormat(fr(),{timeZone:"UTC",hour:"2-digit",minute:"2-digit"}).format(U)}return null}function B(k){return!!k&&(/^(https?:)?\/\//.test(k)||k.startsWith("/")||k.startsWith("data:"))}function y(k){return k.to?tl:k.onClick&&!k.href?nl:rl}function L(k){return k.to?{to:k.to,closeAfterClick:!0}:k.onClick&&!k.href?{onClick:k.onClick,closeAfterClick:!0}:{href:k.href,target:k.target??(k.href?.startsWith("tel:")?"_self":"_blank"),rel:k.rel,closeAfterClick:!0}}Je(()=>t.profile,k=>{k&&(i.value=k,l.value=!0,t.user&&Ft(t.user,k),r.value=!1)}),Je(()=>t.preloadedUserStatus,k=>{k&&(o.value=k,a.value=!0)}),Je(()=>t.displayName,k=>{k&&i.value&&!l.value&&(i.value={...i.value,displayname:k})}),Je(()=>t.user,()=>{i.value=t.profile,o.value=t.preloadedUserStatus??{},a.value=t.preloadedUserStatus!==null,l.value=!!t.profile,r.value=!1,t.user&&t.profile&&Ft(t.user,t.profile),t.open&&T()}),Je(()=>t.open,k=>{k&&T()}),No(()=>{t.open&&T()});async function D(k){if(t.displayName)return t.displayName;try{const{data:G}=await Ve.post(Kt("/displaynames"),{users:[k]});return G?.users?.[k]||k}catch(G){return ot.debug("Failed to load display name for hovercard",{error:G,userId:k}),k}}async function q(k){return{userId:k,displayname:await D(k),actions:[],isUserAvatarVisible:!0}}async function O(k){a.value||(o.value=await $(k),a.value=!0)}async function T(){if(!t.user||n.value)return;const k=t.user;if(!i.value){const U=So(k);U&&(i.value=U,l.value=!0)}if(i.value&&l.value){if(!a.value){n.value=!0;try{await O(k)}finally{n.value=!1}}return}n.value=!0,r.value=!1;const G=a.value?Promise.resolve(o.value):$(k);try{const U=await ih(k,async()=>{const{data:h}=await Ve.get(nt("/profile/{userId}",{userId:k}));return h.ocs?.data??null});U?(i.value=U,l.value=!0):(i.value=await q(k),l.value=!1)}catch(U){ot.debug("Failed to load profile for hovercard, showing limited info",{error:U,user:k}),i.value=await q(k),l.value=!1}try{o.value=await G,a.value=!0}finally{n.value=!1}}async function $(k){try{if(!Xo()?.user_status?.enabled||!kn())return{};const{data:G}=await Ve.get(nt("/apps/user_status/api/v1/statuses/{userId}",{userId:k}));return G.ocs?.data??{}}catch(G){return ot.debug("Failed to load user status for hovercard",{error:G,userId:k}),{}}}return(k,G)=>(P(),N("div",{class:it(["profile-hover-card",{"profile-hover-card--limited":!u.value&&!!i.value&&!r.value&&!l.value}]),role:"dialog","aria-label":oe(me)("Profile of {user}",{user:p.value})},[u.value?(P(),N("div",lh,[_e(ur,{size:32,name:oe(me)("Loading profile")},null,8,["name"])])):i.value&&!r.value?(P(),N(tt,{key:1},[ne("div",ah,[f.value?(P(),xe(Nt,{key:0,class:"profile-hover-card__header__edit",variant:"tertiary","aria-label":oe(me)("Edit profile"),title:oe(me)("Edit profile"),href:oe(c),target:"_blank"},{icon:we(()=>[_e(rh,{size:20})]),_:1},8,["aria-label","title","href"])):X("",!0),ne("div",sh,[oe(s)?(P(),xe(Pt(d.value?"a":"div"),Me({key:0,class:["profile-hover-card__header__container__avatar",{"profile-hover-card__profile-link":!!d.value}]},m.value),{default:we(()=>[_e(gr,{class:"avatar",user:i.value.userId,displayName:p.value,size:96,disableMenu:"",disableTooltip:"",preloadedUserStatus:j.value,isNoUser:!i.value.isUserAvatarVisible},null,8,["user","displayName","preloadedUserStatus","isNoUser"])]),_:1},16,["class"])):(P(),N("div",uh)),ne("div",ch,[ne("div",fh,[d.value?(P(),N("a",{key:0,class:"profile-hover-card__profile-link",href:d.value},[ne("h2",null,ie(p.value),1)],8,ph)):(P(),N("h2",dh,ie(p.value),1)),i.value.pronouns?(P(),N("span",hh,"·")):X("",!0),i.value.pronouns?(P(),N("span",gh,ie(i.value.pronouns),1)):X("",!0)]),o.value.icon||o.value.message?(P(),N("div",mh,[ne("span",vh,[ne("span",null,ie(o.value.icon)+" "+ie(o.value.message),1)])])):X("",!0)])])]),ne("div",yh,[ne("div",kh,[ne("div",xh,[oe(s)?X("",!0):(P(),xe(Pt(d.value?"a":"div"),Me({key:0,class:{"profile-hover-card__profile-link":!!d.value}},m.value),{default:we(()=>[_e(gr,{class:"avatar",user:i.value.userId,displayName:p.value,size:135,disableMenu:"",disableTooltip:"",preloadedUserStatus:j.value,isNoUser:!i.value.isUserAvatarVisible},null,8,["user","displayName","preloadedUserStatus","isNoUser"])]),_:1},16,["class"])),ne("div",bh,[e.actionsLoading&&I.value.length===0?(P(),N("div",wh,[_e(ur,{size:20,name:oe(me)("Loading actions")},null,8,["name"])])):(P(),N(tt,{key:1},[A.value?(P(),xe(Nt,Me({key:0,variant:"primary",class:"user-actions__primary"},w.value,{onClick:A.value.onClick}),cr({default:we(()=>[Be(" "+ie(b(A.value)),1)]),_:2},[A.value.iconSvg||A.value.icon?{name:"icon",fn:we(()=>[A.value.iconSvg?(P(),xe(oe(yn),{key:0,svg:A.value.iconSvg},null,8,["svg"])):B(A.value.icon)?(P(),N("img",{key:1,src:A.value.icon,alt:"",class:"user-actions__primary__icon"},null,8,Sh)):(P(),N("span",{key:2,"aria-hidden":"true",class:it(["user-actions__primary__icon-class",A.value.icon])},null,2))]),key:"0"}:void 0]),1040,["onClick"])):X("",!0),M.value.length>0?(P(),xe(Jo,{key:1,class:"user-actions__other",inline:oe(s)?5:4},{default:we(()=>[(P(!0),N(tt,null,vi(M.value,(U,h)=>(P(),xe(Pt(y(U)),Me({key:U.id||U.href||h},{ref_for:!0},L(U)),cr({default:we(()=>[Be(" "+ie(b(U)),1)]),_:2},[U.iconSvg||U.icon?{name:"icon",fn:we(()=>[U.iconSvg?(P(),xe(oe(yn),{key:0,svg:U.iconSvg},null,8,["svg"])):B(U.icon)?(P(),N("img",{key:1,src:U.icon,alt:"",class:"user-actions__other__icon"},null,8,Ch)):(P(),N("span",{key:2,"aria-hidden":"true",class:it(["user-actions__other__icon-class",U.icon])},null,2))]),key:"0"}:void 0]),1040))),128))]),_:1},8,["inline"])):X("",!0)],64))])]),l.value?(P(),N("div",_h,[i.value.organisation||i.value.role||i.value.address||C.value?(P(),N("div",Ih,[i.value.organisation||i.value.role?(P(),N("div",Eh,[ne("p",null,[_e(jd,{class:"detail-icon",size:16,title:""}),Be(" "+ie(i.value.organisation)+" ",1),i.value.organisation&&i.value.role?(P(),N("span",Th,"•")):X("",!0),Be(" "+ie(i.value.role),1)])])):X("",!0),i.value.address?(P(),N("div",Ah,[ne("p",null,[_e(Kd,{class:"detail-icon",size:16,title:""}),Be(" "+ie(i.value.address),1)])])):X("",!0),C.value?(P(),N("div",Lh,[ne("p",null,[_e($d,{class:"detail-icon",size:16,title:""}),Be(" "+ie(C.value),1)])])):X("",!0)])):X("",!0),i.value.headline||i.value.biography?(P(),N(tt,{key:1},[i.value.headline?(P(),N("h3",Dh,ie(i.value.headline),1)):X("",!0),i.value.biography?(P(),N("div",Oh,[_e(Pd,{text:i.value.biography,useExtendedMarkdown:""},null,8,["text"])])):X("",!0)],64)):X("",!0)])):X("",!0)])])],64)):X("",!0)],10,oh))}}),zh=Re(Ph,[["__scopeId","data-v-592f6ec3"]]),Nh=Object.freeze(Object.defineProperty({__proto__:null,default:zh},Symbol.toStringTag,{value:"Module"}));export{Nh as N,Ii as c,bt as v}; +//# sourceMappingURL=NcProfileHoverCard-DBdEYRaM.chunk.mjs.map diff --git a/js/NcProfileHoverCard-Dt6jr72a.chunk.mjs.license b/js/NcProfileHoverCard-DBdEYRaM.chunk.mjs.license similarity index 100% rename from js/NcProfileHoverCard-Dt6jr72a.chunk.mjs.license rename to js/NcProfileHoverCard-DBdEYRaM.chunk.mjs.license diff --git a/js/NcProfileHoverCard-Dt6jr72a.chunk.mjs.map b/js/NcProfileHoverCard-DBdEYRaM.chunk.mjs.map similarity index 99% rename from js/NcProfileHoverCard-Dt6jr72a.chunk.mjs.map rename to js/NcProfileHoverCard-DBdEYRaM.chunk.mjs.map index eb7f6e96..50b7f7e4 100644 --- a/js/NcProfileHoverCard-Dt6jr72a.chunk.mjs.map +++ b/js/NcProfileHoverCard-DBdEYRaM.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"mappings":"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,SACE,cAAe,iBACf,QAAW,SACX,SAAS,SACT,MAAW,WACf,QACE,YAAkB,cAAW,MAAY,WAAS,SAClD,eAEE,GAAM,MACN,MAAQZ,GACR,gBACA,SAAWD,GACX,QAAQ,KACR,SACA,gBAAiBL,EACjB,oBAAqBA,EACrB,gBAAgBA,CAChB,MAAOA,GACP,GAAK,KACL,KAAI,SACGA,SACP,iBACA,WACA,WAAWA,CACX,UAAUA,CACV,UAAUK,CACV,YAAS,CACT,WAAS,IACT,OAASL,CACT,UACA,aACA,cACA,UAAY,KACZ,OACA,QAASI,QACT,EAAS,KACT,cAAY,SACZ,CAAS,KACT,gBAAiBH,QACjB,OACA,cACA,SAAiBK,MACjB,WAAa,QACP,KACN,WAAU,GACV,SAAU,SACV,SACA,MACA,SACA,SAAS,GACT,SAAUN,EACV,SAAUG,SACV,SACA,MAAS,SACT,SAAc,KACd,cAAe,KACf,KAAM,QACN,SAAY,MACZ,UAAa,WACb,OAAY,KACZ,kBACA,eACA,UACA,KAAQC,EACR,SAAQD,CACR,MAAMC,CACN,KAAM,KACN,eACA,OAASC,EACT,UAAWA,QACP,SACJ,MAAY,MACZ,gBACA,OACA,cACA,UAAW,KACX,MAAI,OACJ,CAAOL,IACP,WACA,QAAUK,IACV,SACA,SAAWL,EACX,UAAUK,CACV,MAAM,YACC,KACP,GAAM,QACN,OAAU,KACV,SACA,SAAS,MACT,MACA,UACA,KAAU,WACL,EACL,UAAWD,EACX,WACA,OAAQ,MACR,GAAK,KACL,aACA,SAAUJ,CACV,MAAOA,IACP,KAAM,GACN,QAAO,GACP,SAAUA,EACV,gBACA,MAAS,UACT,OAAc,SACd,OAAY,KACZ,kBAAe,CACf,cAAe,KACf,iBAAgB,KAChB,kBACA,OAAQ,KACR,eACA,YAAW,EACX,iBAAkB,KAClB,YAAU,EACV,SAAS,OACT,KAAS,SACT,UAAe,KACf,cAAe,WACf,YAAmB,SACnB,SACA,eAAa,CACb,MAAO,SACP,OAAY,KACZ,SAAQ,SACR,MAAW,SACX,MAAa,KACb,WAAY,MACZ,cAAa,SACb,MAAY,SACZ,MAAa,KACb,WAAQ,CACR,oBAAkB,SAClB,MAAW,SACX,CAAS,OACT,WACA,QAAS,KACT,YAAY,SACZ,QAAc,KACd,cACA,SAAW,MACX,YAAW,EACX,WAAY,KACZ,cACA,gBAAkB,MAClB,MAAQ,UACR,QAAc,KACd,iBAAkB,MAClB,WAAW,OACX,QAAa,QACb,OAAW,KACX,oBACA,aAAa,KACb,kBACA,eAAc,KACd,WAAa,GACb,WAAY,OACZ,UAAa,KACb,YAAW,GACX,UAAW,KACX,WAAU,OACV,SAAY,MACZ,QAAY,KACZ,QAAS,SACT,MAAS,QACT,KAAQ,EACR,UAAW,MACX,cAAY,CACZ,cAAY,KACZ,gBACA,qBAAoB,SACpB,CAAS,KACT,SAAU,KACV,UAAU,OACV,WAAa,OACb,sBAA2B,KAC3B,SAAU,QACV,OAAW,KACX,eACA,YAAc,SACd,SAAW,EACX,UAAW,KACX,WAAU,GACV,UAAW,QACX,UAAc,KACd,SAAU,KACV,sBAAsB,KACtB,SAAU,SACV,eACA,YAAW,GACX,QAAS,OACT,IAAMA,CACN,aACA,OAAS,IACT,MACA,YAAa,SACb,SAAaA,CACb,WAAS,KACT,WAAe,OACf,kBAAqB,QACrB,SACA,QAAS,KACT,YACA,kBAAgB,CAChB,KAAKK,CACL,YACA,WACA,OACA,OAASD,IACT,OAASC,CACT,MAAO,QACP,MACA,aACA,OAAUL,IACV,iBAAoBA,IACpB,8BAAiCA,EACjC,2BACA,kBAAgB,OAChB,kBAAwBA,EACxB,MAAO,KACP,QACA,SAAO,CACP,KAAM,SACN,CAAMI,IACN,WAAYH,CACZ,MAAK,IACL,OAAQ,OACR,OAAS,OACT,MAAQ,EACR,UACA,OAAM,CACN,MAAO,KACP,SAAUG,QACV,CAAQ,KACR,OAAO,KACP,WAAW,OACX,CAAM,KACN,mBACA,KAAQ,MACR,MAAOH,CACP,MAAOG,IACP,MAAM,KACN,kBAAoB,MAIpB,SACA,KAAO,WACP,EAASC,KACT,IAAM,GACN,WAAY,OACZ,SAAS,MACT,YACA,MAAa,IACb,cAAcD,CACd,eAAa,WACb,MAAa,EACb,KAAM,KACN,SAAS,SACT,MAAS,SAC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MAAU,OACV,4BACA,OACA,QAAWA,QACX,QAAY,EACZ,OAAQA,cACR,OACA,gBAAe,OACf,QACA,YAAW,CACX,eAAe,MACf,eAAe,MACf,YAAa,CACb,MAAM,QACN,IAAO,IACP,UACI,UACJ,IAAU,QACV,MAAWA,MACX,MAAWC,MACX,CAAM,cACI,OACV,gBAAe,CACf,cACA,MAAO,KACP,qBAAoB,OACpB,uBAA2B,QAC3B,SAAc,SACd,YAAgB,QAChB,QAAS,CACT,oBAAmB,QACnB,YAAkB,WAClB,OAAa,IACb,QAAQ,KACR,OACA,OAAI,CACJ,IAAG,IACH,UAAU,KACV,cAAe,GACf,UACA,gBAAiBD,OACjB,KAAW,SACX,KAAS,IACT,WACA,OAASA,CACT,iBAAkB,KAClB,aACA,CAAI,OACJ,CAAI,MACJ,aACA,iBACA,YACA,kBAAkB,CAClB,OAAK,KACL,QACA,SAAUA,EACV,2BAA2B,IAC3B,UACA,aAAaA,CACb,UAAU,OACV,IAAQ,QACR,YACA,YAAa,KACb,cAAY,SACZ,MAAc,KACd,WAAW,KACX,cAAgB,KAChB,WAAY,KACZ,aAAU,CACV,iBAAgB,MAChB,YAAa,OACb,QAAW,OACX,OAAa,MACb,iBACA,YACA,CAAI,KACJ,YACA,CAAI,OACJ,CAAI,KACJ,OACA,QACA,SAAWE,CACX,+BAA4B,CAC5B,+BACA,QAAU,QACV,eAAmB,QACnB,WAAe,QACf,MAAS,QACT,QACA,iBAAmB,QACnB,SAAY,KACZ,WACA,OAAM,IACN,SAAU,IACV,SAAWF,EACX,aAAcA,SACd,MAAcA,EACd,GAAI,QACJ,YACA,cAAgB,KAChB,kBAAmB,UACf,QACC,SACL,QACA,CAAGA,OAEH,aAEIA,KACJ,WAAcG,EACd,oBAAkB,QAClB,OAAW,KACX,WAAY,EACZ,SAAU,WACV,SACA,OAAM,CACN,eAAc,MACd,WAAe,OACf,YAAe,MACf,mBACA,WACA,UAAW,OACX,cACA,eAAa,CACb,aAAc,KACd,YAAa,KACb,eAAa,EACb,KAAM,QACN,iBAAkB,KAClB,WACA,UAAW,KACX,aAAc,KACd,SACA,MAAO,KACP,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","names":["isSameRouteRecord","a","b","isSameRouteLocationParams","key","isSameRouteLocationParamsValue","isArray","isEquivalentArray","value","i","props","router","inject","routerKey","currentRoute","routeLocationKey","computed","to","activeRecordIndex","matched","length","currentMatched","routeMatched","index","parentRecordPath","route","navigate","e","guardEvent","vnodes","defineComponent","slots","link","useLink","elClass","getLinkClass","options","preferSingleVNode","h","target","includesParams","outer","innerValue","outerValue","record","propClass","defaultClass","emptyOptions","toString","settings","one","includeHtml","node","includeImageAlt","all","result","PRIMITIVE","ARRAY","DATE","REGEXP","SET","ERROR","env","guard","init","deserializer","_","as","out","$","unpair","type","VOID","arr","OBJECT","object","source","map","set","name","message","buffer","serialized","keys","typeOf","asString","EMPTY","MAP","TYPE","serializer","json","pair","entry","spread","strict","flags","entries","structuredClone$1","deserialize","serialize","any","element","test","castFactory","anyFactory","tests","checks","convertElement","tagNameFactory","check","parent","looksLikeAnElement","testFunction","WINDOWS_PATH_REGEX","isAbsoluteUrl","url","parse","input","stringify","visit","tree","testOrVisitor","visitor","visitorOrReverse","reverse","maybeReverse","visitParents","overload","parents","defaultProtocols","rehypeExternalLinks","protocols","is","createIfNeeded","contentRaw","relRaw","rel","properties","structuredClone","content","values","nameRe","nameReJsx","re","whitespace","thing","empty","Schema","normal","space","merge","definitions","property","definition","Info","attribute","powers","boolean","booleanish","increment","overloadedBoolean","number","spaceSeparated","commaSeparated","commaOrSpaceSeparated","DefinedInfo","mark","mask","types","normals","info","normalize","aria","attributes","caseInsensitiveTransform","create","svg","ASTERISK","EMPTY_STRING","TYPE_COMMENT","TYPE_DECLARATION","style","lineno","column","updatePosition","str","lines","position","start","Position","error","msg","err","match","m","comments","rules","c","comment","pos","FORWARD_SLASH","declaration","prop","val","VALUE_REGEX","ret","trim","COMMENT_REGEX","declarations","decl","decls","TRIM_REGEX","cjs","__importDefault","this","mod","StyleToObject","require$$0","styleObject","inline_style_parser_1","hasIterator","iterator","utilities","CUSTOM_PROPERTY_REGEX","HYPHEN_REGEX","NO_HYPHEN_REGEX","MS_VENDOR_PREFIX_REGEX","skipCamelCase","character","trimHyphen","prefix","camelCase","VENDOR_PREFIX_REGEX","capitalize","utilities_1","StyleToJS","style_to_object_1","output","point","pointStart","end","pointEnd","stringifyPosition","VFileMessage","optionsOrParentOrPlace","reason","causeOrReason","legacyCause","origin","own","emptyMap","cap","tableElements","tableCellElement","docs","toJsxRuntime","developmentCreate","filePath","productionCreate","state","mdxExpression","mdxJsxElement","mdxEsm","text","parentSchema","schema","findComponentFromName","children","createChildren","child","addNode","addChildren","assert","expression","crashEstree","jsx","jsxs","fn","jsxDEV","isStaticChildren","createProperty","alignValue","createJsxElementProps","objectExpression","countsByName","count","find","commas","parseStyle","cause","identifiers","isIdentifierName","place","transformStylesToCssCasing","domCasing","cssCasing","from","transformStyleToCssCasing","toDash","$0","rehypeReact","compiler","file","escapeStringRegexp","pairs","toPairs","pairIndex","siblings","grandparent","ignored","handler","replace","change","nodes","tupleOrList","toFunction","toExpression","escape","newlineToBreak","remarkBreaks","decodeNamedCharacterReference","characterReference","remove","list","chunkStart","parameters","push","splice","items","combineExtensions","extensions","extension","hook","code","right","hasOwnProperty","left","constructs","before","existing","decodeNumericCharacterReference","base","regexCheck","asciiAtext","asciiDigit","asciiHexDigit","asciiPunctuation","markdownLineEndingOrSpace","skip","asciiAlphanumeric","next","factorySpace","effects","markdownSpace","size","initializeContent","previous","contentStart","lineStart","token","data","markdownLineEnding","document","initializeDocument","self","stack","item","documentContinue","continued","indexBeforeFlow","indexBeforeExits","checkNewContainers","childFlow","containerConstruct","thereIsANewContainer","lineStartOffset","documentContinued","containerContinue","writeToChild","flowContinue","endOfFile","childToken","ok","classifyCharacter","unicodeWhitespace","unicodePunctuation","resolveAll","events","called","resolve","context","attention","openingSequence","open","movePoint","closingSequence","group","nextEvents","tokenizeAttention","inside","after","marker","close","offset","schemeInsideOrEmailAtext","emailAtSignOrDot","emailLabel","nok","emailValue","tokenizeBlankLine","blockQuote","exit","tokenizeCharacterEscape","tokenizeCharacterReference","max","numeric","nonLazyContinuation","codeFenced","tokenizeCodeFenced","closeStart","tokenizeCloseStart","tail","sequenceOpen","sizeOpen","infoBefore","metaBefore","meta","atNonLazyBreak","contentBefore","initialPrefix","beforeContentChunk","contentChunk","sequenceClose","tokenizeNonLazyContinuation","tokenizeCodeIndented","furtherStart","atBreak","resolveCodeText","headEnterIndex","enter","tailExitIndex","tokenizeCodeText","between","initial","stop","expandTabs","loose","results","listLoose","listItems","definitionById","footnoteById","trimMarkdownSpaceStart","foot","remarkRehype","destination","hastTree","toHast","squeezeParagraphs","tracker","exit2","mapExceptFirst","line","blank","mapAll","handleDelete","peekDelete","gfmStrikethroughFromMarkdown","enterStrikethrough","constructsWithoutStrikethrough","exitStrikethrough","defaultStringLength","table","align","stringLength","alignments","sizeMatrix","longestCellByColumn","rowIndex","row2","columnIndex2","mostCellsPerRow","cellMatrix","sizes2","columnIndex","toAlignment","row","code2","cell","sizes","map$1","patternInScope","pattern","listInScope","list2","none","hardBreak","longestStreak","substring","expected","subexit","raw","suffix","quote","encodeCharacterReference","encodeInfo","outside","outsideKind","insideKind","rank","sequence","inlineCodeWithTable","handleTableCell","handleTableRow","handleTable","handleTableRowAsData","serializeData","around","matrix"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71],"sources":["../node_modules/vue-router/dist/devtools-CxgSYwGp.js","../node_modules/vue-router/dist/vue-router.js","../node_modules/mdast-util-to-string/lib/index.js","../node_modules/@ungap/structured-clone/esm/types.js","../node_modules/@ungap/structured-clone/esm/deserialize.js","../node_modules/@ungap/structured-clone/esm/serialize.js","../node_modules/@ungap/structured-clone/esm/index.js","../node_modules/hast-util-is-element/lib/index.js","../node_modules/is-absolute-url/index.js","../node_modules/space-separated-tokens/index.js","../node_modules/unist-util-visit/lib/index.js","../node_modules/rehype-external-links/lib/index.js","../node_modules/comma-separated-tokens/index.js","../node_modules/estree-util-is-identifier-name/lib/index.js","../node_modules/hast-util-whitespace/lib/index.js","../node_modules/property-information/lib/util/schema.js","../node_modules/property-information/lib/util/merge.js","../node_modules/property-information/lib/normalize.js","../node_modules/property-information/lib/util/info.js","../node_modules/property-information/lib/util/types.js","../node_modules/property-information/lib/util/defined-info.js","../node_modules/property-information/lib/util/create.js","../node_modules/property-information/lib/aria.js","../node_modules/property-information/lib/util/case-sensitive-transform.js","../node_modules/property-information/lib/util/case-insensitive-transform.js","../node_modules/property-information/lib/html.js","../node_modules/property-information/lib/svg.js","../node_modules/inline-style-parser/cjs/index.js","../node_modules/style-to-object/cjs/index.js","../node_modules/style-to-js/cjs/utilities.js","../node_modules/style-to-js/cjs/index.js","../node_modules/unist-util-position/lib/index.js","../node_modules/unist-util-stringify-position/lib/index.js","../node_modules/vfile-message/lib/index.js","../node_modules/hast-util-to-jsx-runtime/lib/index.js","../node_modules/rehype-react/lib/index.js","../node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp/index.js","../node_modules/mdast-util-find-and-replace/lib/index.js","../node_modules/mdast-util-newline-to-break/lib/index.js","../node_modules/remark-breaks/lib/index.js","../node_modules/decode-named-character-reference/index.dom.js","../node_modules/micromark-util-chunked/index.js","../node_modules/micromark-util-combine-extensions/index.js","../node_modules/micromark-util-decode-numeric-character-reference/index.js","../node_modules/micromark-util-normalize-identifier/index.js","../node_modules/micromark-util-character/index.js","../node_modules/micromark-util-sanitize-uri/index.js","../node_modules/micromark-factory-space/index.js","../node_modules/micromark/lib/initialize/content.js","../node_modules/micromark/lib/initialize/document.js","../node_modules/micromark-util-classify-character/index.js","../node_modules/micromark-util-resolve-all/index.js","../node_modules/micromark-core-commonmark/lib/attention.js","../node_modules/micromark-core-commonmark/lib/autolink.js","../node_modules/micromark-core-commonmark/lib/blank-line.js","../node_modules/micromark-core-commonmark/lib/block-quote.js","../node_modules/micromark-core-commonmark/lib/character-escape.js","../node_modules/micromark-core-commonmark/lib/character-reference.js","../node_modules/micromark-core-commonmark/lib/code-fenced.js","../node_modules/micromark-core-commonmark/lib/code-indented.js","../node_modules/micromark-core-commonmark/lib/code-text.js","../node_modules/micromark-util-subtokenize/lib/splice-buffer.js","../node_modules/micromark/lib/create-tokenizer.js","../node_modules/mdast-util-to-hast/lib/handlers/break.js","../node_modules/mdast-util-to-hast/lib/handlers/code.js","../node_modules/mdast-util-to-hast/lib/handlers/list-item.js","../node_modules/mdast-util-to-hast/lib/footer.js","../node_modules/mdast-util-to-hast/lib/state.js","../node_modules/mdast-util-to-hast/lib/index.js","../node_modules/remark-rehype/lib/index.js","../node_modules/mdast-squeeze-paragraphs/lib/index.js","../node_modules/@nextcloud/vue/dist/chunks/NcRichText.mjs"],"sourcesContent":["/*!\n* vue-router v5.4.0\n* (c) 2026 Eduardo San Martin Morote\n* @license MIT\n*/\nimport { _ as isArray, d as createRouterError, g as isAbsolutePath, l as diagnostics, m as assign, r as matchedRouteKey, v as isESModule, y as isRouteComponent } from \"./useApi-CUWMwLLw.js\";\nimport { getCurrentInstance, inject, onActivated, onDeactivated, onUnmounted, watch } from \"vue\";\nimport { setupDevtoolsPlugin } from \"@vue/devtools-api\";\n//#region src/utils/env.ts\nconst isBrowser = typeof document !== \"undefined\";\n//#endregion\n//#region src/encoding.ts\n/**\n* Encoding Rules (␣ = Space)\n* - Path: ␣ \" < > # ? { }\n* - Query: ␣ \" < > # & =\n* - Hash: ␣ \" < > `\n*\n* On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\n* defines some extra characters to be encoded. Most browsers do not encode them\n* in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\n* also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\n* plus `-._~`. This extra safety should be applied to query by patching the\n* string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\n* should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\n* into a `/` if directly typed in. The _backtick_ (`````) should also be\n* encoded everywhere because some browsers like FF encode it when directly\n* written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\n*/\n/**\n* NOTE: `replaceAll()` is not faster than `replace()` with a global RegExp.\n* Benchmarks do not show a clear benefit for these simple replacements:\n* https://github.com/mathiasbynens/string-prototype-replace-regexp-benchmark\n*/\nconst HASH_RE = /#/g;\nconst AMPERSAND_RE = /&/g;\nconst SLASH_RE = /\\//g;\nconst EQUAL_RE = /=/g;\nconst IM_RE = /\\?/g;\nconst PLUS_RE = /\\+/g;\n/**\n* NOTE: It's not clear to me if we should encode the + symbol in queries, it\n* seems to be less flexible than not doing so and I can't find out the legacy\n* systems requiring this for regular requests like text/html. In the standard,\n* the encoding of the plus character is only mentioned for\n* application/x-www-form-urlencoded\n* (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\n* leave the plus character as is in queries. To be more flexible, we allow the\n* plus character on the query, but it can also be manually encoded by the user.\n*\n* Resources:\n* - https://url.spec.whatwg.org/#urlencoded-parsing\n* - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\n*/\nconst ENC_BRACKET_OPEN_RE = /%5B/g;\nconst ENC_BRACKET_CLOSE_RE = /%5D/g;\nconst ENC_CARET_RE = /%5E/g;\nconst ENC_BACKTICK_RE = /%60/g;\nconst ENC_CURLY_OPEN_RE = /%7B/g;\nconst ENC_PIPE_RE = /%7C/g;\nconst ENC_CURLY_CLOSE_RE = /%7D/g;\nconst ENC_SPACE_RE = /%20/g;\n/**\n* Encode characters that need to be encoded on the path, search and hash\n* sections of the URL.\n*\n* @internal\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction commonEncode(text) {\n\treturn text == null ? \"\" : encodeURI(\"\" + text).replace(ENC_PIPE_RE, \"|\").replace(ENC_BRACKET_OPEN_RE, \"[\").replace(ENC_BRACKET_CLOSE_RE, \"]\");\n}\n/**\n* Encode characters that need to be encoded on the hash section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeHash(text) {\n\treturn commonEncode(text).replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\n/**\n* Encode characters that need to be encoded query values on the query\n* section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeQueryValue(text) {\n\treturn commonEncode(text).replace(PLUS_RE, \"%2B\").replace(ENC_SPACE_RE, \"+\").replace(HASH_RE, \"%23\").replace(AMPERSAND_RE, \"%26\").replace(ENC_BACKTICK_RE, \"`\").replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\n/**\n* Like `encodeQueryValue` but also encodes the `=` character.\n*\n* @param text - string to encode\n*/\nfunction encodeQueryKey(text) {\n\treturn encodeQueryValue(text).replace(EQUAL_RE, \"%3D\");\n}\n/**\n* Encode characters that need to be encoded on the path section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodePath(text) {\n\treturn commonEncode(text).replace(HASH_RE, \"%23\").replace(IM_RE, \"%3F\");\n}\n/**\n* Encode characters that need to be encoded on the path section of the URL as a\n* param. This function encodes everything {@link encodePath} does plus the\n* slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\n* string instead.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeParam(text) {\n\treturn encodePath(text).replace(SLASH_RE, \"%2F\");\n}\nfunction decode(text) {\n\tif (text == null) return null;\n\ttry {\n\t\treturn decodeURIComponent(\"\" + text);\n\t} catch {\n\t\tprocess.env.NODE_ENV !== \"production\" && diagnostics.VUE_ROUTER_R0080({ text: \"\" + text });\n\t}\n\treturn \"\" + text;\n}\n//#endregion\n//#region src/location.ts\nconst TRAILING_SLASH_RE = /\\/$/;\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, \"\");\n/**\n* Transforms a URI into a normalized history location\n*\n* @param parseQuery\n* @param location - URI to normalize\n* @param currentLocation - current absolute location. Allows resolving relative\n* paths. Must start with `/`. Defaults to `/`\n* @returns a normalized history location\n*/\nfunction parseURL(parseQuery, location, currentLocation = \"/\") {\n\tlet path, query = {}, searchString = \"\", hash = \"\";\n\tconst hashPos = location.indexOf(\"#\");\n\tlet searchPos = location.indexOf(\"?\");\n\tsearchPos = hashPos >= 0 && searchPos > hashPos ? -1 : searchPos;\n\tif (searchPos >= 0) {\n\t\tpath = location.slice(0, searchPos);\n\t\tsearchString = location.slice(searchPos, hashPos > 0 ? hashPos : location.length);\n\t\tquery = parseQuery(searchString.slice(1));\n\t}\n\tif (hashPos >= 0) {\n\t\tpath = path || location.slice(0, hashPos);\n\t\thash = location.slice(hashPos, location.length);\n\t}\n\tpath = resolveRelativePath(path != null ? path : location, currentLocation);\n\treturn {\n\t\tfullPath: path + searchString + hash,\n\t\tpath,\n\t\tquery,\n\t\thash: decode(hash)\n\t};\n}\n/**\n* Stringifies a URL object\n*\n* @param stringifyQuery\n* @param location\n*/\nfunction stringifyURL(stringifyQuery, location) {\n\tconst query = location.query ? stringifyQuery(location.query) : \"\";\n\treturn location.path + (query && \"?\") + query + (location.hash || \"\");\n}\n/**\n* Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\n*\n* @param pathname - location.pathname\n* @param base - base to strip off\n*/\nfunction stripBase(pathname, base) {\n\tif (!base || !pathname.toLowerCase().startsWith(base.toLowerCase())) return pathname;\n\treturn pathname.slice(base.length) || \"/\";\n}\n/**\n* Checks if two RouteLocation are equal. This means that both locations are\n* pointing towards the same {@link RouteRecord} and that all `params`, `query`\n* parameters and `hash` are the same\n*\n* @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it.\n* @param a - first {@link RouteLocation}\n* @param b - second {@link RouteLocation}\n*/\nfunction isSameRouteLocation(stringifyQuery, a, b) {\n\tconst aLastIndex = a.matched.length - 1;\n\tconst bLastIndex = b.matched.length - 1;\n\treturn aLastIndex > -1 && aLastIndex === bLastIndex && isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) && isSameRouteLocationParams(a.params, b.params) && stringifyQuery(a.query) === stringifyQuery(b.query) && a.hash === b.hash;\n}\n/**\n* Check if two `RouteRecords` are equal. Takes into account aliases: they are\n* considered equal to the `RouteRecord` they are aliasing.\n*\n* @param a - first {@link RouteRecord}\n* @param b - second {@link RouteRecord}\n*/\nfunction isSameRouteRecord(a, b) {\n\treturn (a.aliasOf || a) === (b.aliasOf || b);\n}\nfunction isSameRouteLocationParams(a, b) {\n\tif (Object.keys(a).length !== Object.keys(b).length) return false;\n\tfor (var key in a) if (!isSameRouteLocationParamsValue(a[key], b[key])) return false;\n\treturn true;\n}\nfunction isSameRouteLocationParamsValue(a, b) {\n\treturn isArray(a) ? isEquivalentArray(a, b) : isArray(b) ? isEquivalentArray(b, a) : (a && a.valueOf()) === (b && b.valueOf());\n}\n/**\n* Check if two arrays are the same or if an array with one single entry is the\n* same as another primitive value. Used to check query and parameters\n*\n* @param a - array of values\n* @param b - array of values or a single value\n*/\nfunction isEquivalentArray(a, b) {\n\treturn isArray(b) ? a.length === b.length && a.every((value, i) => value === b[i]) : a.length === 1 && a[0] === b;\n}\n/**\n* Resolves a relative path that starts with `.`.\n*\n* @param to - path location we are resolving\n* @param from - currentLocation.path, should start with `/`\n*/\nfunction resolveRelativePath(to, from) {\n\tif (isAbsolutePath(to)) return to;\n\tif (process.env.NODE_ENV !== \"production\" && !isAbsolutePath(from)) {\n\t\tdiagnostics.VUE_ROUTER_R0070({\n\t\t\tto,\n\t\t\tfrom\n\t\t});\n\t\treturn to;\n\t}\n\tif (!to) return from;\n\tconst fromSegments = from.split(\"/\");\n\tconst toSegments = to.split(\"/\");\n\tconst lastToSegment = toSegments[toSegments.length - 1];\n\tif (lastToSegment === \"..\" || lastToSegment === \".\") toSegments.push(\"\");\n\tlet position = fromSegments.length - 1;\n\tlet toPosition;\n\tlet segment;\n\tfor (toPosition = 0; toPosition < toSegments.length; toPosition++) {\n\t\tsegment = toSegments[toPosition];\n\t\tif (segment === \".\") continue;\n\t\tif (segment === \"..\") {\n\t\t\tif (position > 1) position--;\n\t\t} else break;\n\t}\n\treturn fromSegments.slice(0, position).join(\"/\") + \"/\" + toSegments.slice(toPosition).join(\"/\");\n}\n/**\n* Initial route location where the router is. Can be used in navigation guards\n* to differentiate the initial navigation.\n*\n* @example\n* ```js\n* import { START_LOCATION } from 'vue-router'\n*\n* router.beforeEach((to, from) => {\n* if (from === START_LOCATION) {\n* // initial navigation\n* }\n* })\n* ```\n*/\nconst START_LOCATION_NORMALIZED = {\n\tpath: \"/\",\n\tname: void 0,\n\tparams: {},\n\tquery: {},\n\thash: \"\",\n\tfullPath: \"/\",\n\tmatched: [],\n\tmeta: {},\n\tredirectedFrom: void 0\n};\n//#endregion\n//#region src/history/common.ts\n/**\n* Normalizes a base by removing any trailing slash and reading the base tag if\n* present.\n*\n* @param base - base to normalize\n*/\nfunction normalizeBase(base) {\n\tif (!base) {\n\t\tif (isBrowser) {\n\t\t\tconst baseEl = document.querySelector(\"base\");\n\t\t\tbase = baseEl && baseEl.getAttribute(\"href\") || \"/\";\n\t\t\tbase = base.replace(/^\\w+:\\/\\/[^/]+/, \"\");\n\t\t} else base = \"/\";\n\t}\n\tif (base[0] !== \"/\" && base[0] !== \"#\") base = \"/\" + base;\n\treturn removeTrailingSlash(base);\n}\nconst BEFORE_HASH_RE = /^[^#]+#/;\nfunction createHref(base, location) {\n\treturn base.replace(BEFORE_HASH_RE, \"#\") + location;\n}\n//#endregion\n//#region src/scrollBehavior.ts\nfunction getElementPosition(el, offset) {\n\tconst docRect = document.documentElement.getBoundingClientRect();\n\tconst elRect = el.getBoundingClientRect();\n\treturn {\n\t\tbehavior: offset.behavior,\n\t\tleft: elRect.left - docRect.left - (offset.left || 0),\n\t\ttop: elRect.top - docRect.top - (offset.top || 0)\n\t};\n}\nconst computeScrollPosition = () => history.scrollRestoration === \"manual\" ? {\n\tleft: window.scrollX,\n\ttop: window.scrollY\n} : null;\nfunction scrollToPosition(position) {\n\tlet scrollToOptions;\n\tif (\"el\" in position) {\n\t\tconst positionEl = position.el;\n\t\tconst isIdSelector = typeof positionEl === \"string\" && positionEl.startsWith(\"#\");\n\t\t/**\n\t\t* `id`s can accept pretty much any characters, including CSS combinators\n\t\t* like `>` or `~`. It's still possible to retrieve elements using\n\t\t* `document.getElementById('~')` but it needs to be escaped when using\n\t\t* `document.querySelector('#\\\\~')` for it to be valid. The only\n\t\t* requirements for `id`s are them to be unique on the page and to not be\n\t\t* empty (`id=\"\"`). Because of that, when passing an id selector, it should\n\t\t* be properly escaped for it to work with `querySelector`. We could check\n\t\t* for the id selector to be simple (no CSS combinators `+ >~`) but that\n\t\t* would make things inconsistent since they are valid characters for an\n\t\t* `id` but would need to be escaped when using `querySelector`, breaking\n\t\t* their usage and ending up in no selector returned. Selectors need to be\n\t\t* escaped:\n\t\t*\n\t\t* - `#1-thing` becomes `#\\31 -thing`\n\t\t* - `#with~symbols` becomes `#with\\\\~symbols`\n\t\t*\n\t\t* - More information about the topic can be found at\n\t\t* https://mathiasbynens.be/notes/html5-id-class.\n\t\t* - Practical example: https://mathiasbynens.be/demo/html5-id\n\t\t*/\n\t\tif (process.env.NODE_ENV !== \"production\" && typeof position.el === \"string\") {\n\t\t\tif (!isIdSelector || !document.getElementById(position.el.slice(1))) try {\n\t\t\t\tconst foundEl = document.querySelector(position.el);\n\t\t\t\tif (isIdSelector && foundEl) {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0040({ el: position.el });\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tdiagnostics.VUE_ROUTER_R0041({ el: position.el });\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tconst el = typeof positionEl === \"string\" ? isIdSelector ? document.getElementById(positionEl.slice(1)) : document.querySelector(positionEl) : positionEl;\n\t\tif (!el) {\n\t\t\tprocess.env.NODE_ENV !== \"production\" && diagnostics.VUE_ROUTER_R0042({ el: position.el });\n\t\t\treturn;\n\t\t}\n\t\tscrollToOptions = getElementPosition(el, position);\n\t} else scrollToOptions = position;\n\tif (\"scrollBehavior\" in document.documentElement.style) window.scrollTo(scrollToOptions);\n\telse window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY);\n}\nfunction getScrollKey(path, delta) {\n\treturn (history.state ? history.state.position - delta : -1) + path;\n}\nconst scrollPositions = /* @__PURE__ */ new Map();\nfunction saveScrollPosition(key) {\n\tscrollPositions.set(key, computeScrollPosition());\n}\nfunction getSavedScrollPosition(key) {\n\tconst scroll = scrollPositions.get(key);\n\tscrollPositions.delete(key);\n\treturn scroll;\n}\nfunction invalidateScrollPositions(position, replace = false) {\n\tfor (const key of scrollPositions.keys()) {\n\t\tconst entryPosition = parseInt(key, 10);\n\t\tif (entryPosition === position || !replace && entryPosition > position) scrollPositions.delete(key);\n\t}\n}\n/**\n* ScrollBehavior instance used by the router to compute and restore the scroll\n* position when navigating.\n*/\n//#endregion\n//#region src/types/typeGuards.ts\nfunction isRouteLocation(route) {\n\treturn typeof route === \"string\" || route && typeof route === \"object\";\n}\nfunction isRouteName(name) {\n\treturn typeof name === \"string\" || typeof name === \"symbol\";\n}\n//#endregion\n//#region src/query.ts\n/**\n* Transforms a queryString into a {@link LocationQuery} object. Accept both, a\n* version with the leading `?` and without Should work as URLSearchParams\n\n* @internal\n*\n* @param search - search string to parse\n* @returns a query object\n*/\nfunction parseQuery(search) {\n\tconst query = {};\n\tif (search === \"\" || search === \"?\") return query;\n\tconst searchParams = (search[0] === \"?\" ? search.slice(1) : search).split(\"&\");\n\tfor (let i = 0; i < searchParams.length; ++i) {\n\t\tconst searchParam = searchParams[i].replace(PLUS_RE, \" \");\n\t\tconst eqPos = searchParam.indexOf(\"=\");\n\t\tconst key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n\t\tconst value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n\t\tif (key in query) {\n\t\t\tlet currentValue = query[key];\n\t\t\tif (!isArray(currentValue)) currentValue = query[key] = [currentValue];\n\t\t\tcurrentValue.push(value);\n\t\t} else query[key] = value;\n\t}\n\treturn query;\n}\n/**\n* Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\n* doesn't prepend a `?`\n*\n* @internal\n*\n* @param query - query object to stringify\n* @returns string version of the query without the leading `?`\n*/\nfunction stringifyQuery(query) {\n\tlet search = \"\";\n\tfor (let key in query) {\n\t\tconst value = query[key];\n\t\tkey = encodeQueryKey(key);\n\t\tif (value == null) {\n\t\t\tif (value !== void 0) search += (search.length ? \"&\" : \"\") + key;\n\t\t\tcontinue;\n\t\t}\n\t\t(isArray(value) ? value.map((v) => v && encodeQueryValue(v)) : [value && encodeQueryValue(value)]).forEach((value) => {\n\t\t\tif (value !== void 0) {\n\t\t\t\tsearch += (search.length ? \"&\" : \"\") + key;\n\t\t\t\tif (value != null) search += \"=\" + value;\n\t\t\t}\n\t\t});\n\t}\n\treturn search;\n}\n/**\n* Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\n* numbers into strings, removing keys with an undefined value and replacing\n* undefined with null in arrays\n*\n* @param query - query object to normalize\n* @returns a normalized query object\n*/\nfunction normalizeQuery(query) {\n\tconst normalizedQuery = {};\n\tfor (const key in query) {\n\t\tconst value = query[key];\n\t\tif (value !== void 0) normalizedQuery[key] = isArray(value) ? value.map((v) => v == null ? null : \"\" + v) : value == null ? value : \"\" + value;\n\t}\n\treturn normalizedQuery;\n}\n//#endregion\n//#region src/utils/callbacks.ts\n/**\n* Create a list of callbacks that can be reset. Used to create before and after navigation guards list\n*/\nfunction useCallbacks() {\n\tlet handlers = [];\n\tfunction add(handler) {\n\t\thandlers.push(handler);\n\t\treturn () => {\n\t\t\tconst i = handlers.indexOf(handler);\n\t\t\tif (i > -1) handlers.splice(i, 1);\n\t\t};\n\t}\n\tfunction reset() {\n\t\thandlers = [];\n\t}\n\treturn {\n\t\tadd,\n\t\tlist: () => handlers.slice(),\n\t\treset\n\t};\n}\n//#endregion\n//#region src/navigationGuards.ts\nfunction registerGuard(activeRecordRef, name, guard) {\n\tconst record = activeRecordRef.value;\n\tif (!record) {\n\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\tconst fnName = name === \"updateGuards\" ? \"onBeforeRouteUpdate\" : \"onBeforeRouteLeave\";\n\t\t\tdiagnostics.VUE_ROUTER_R0020({ fn: fnName });\n\t\t}\n\t\treturn;\n\t}\n\tlet currentRecord = record;\n\tconst removeFromList = () => {\n\t\tcurrentRecord[name].delete(guard);\n\t};\n\tonUnmounted(removeFromList);\n\tonDeactivated(removeFromList);\n\tonActivated(() => {\n\t\tconst newRecord = activeRecordRef.value;\n\t\tif (process.env.NODE_ENV !== \"production\" && !newRecord) diagnostics.VUE_ROUTER_R0021();\n\t\tif (newRecord) currentRecord = newRecord;\n\t\tcurrentRecord[name].add(guard);\n\t});\n\tcurrentRecord[name].add(guard);\n}\n/**\n* Add a navigation guard that triggers whenever the component for the current\n* location is about to be left. Similar to {@link beforeRouteLeave} but can be\n* used in any component. The guard is removed when the component is unmounted.\n*\n* @param leaveGuard - {@link NavigationGuard}\n*/\nfunction onBeforeRouteLeave(leaveGuard) {\n\tif (process.env.NODE_ENV !== \"production\" && !getCurrentInstance()) {\n\t\tdiagnostics.VUE_ROUTER_R0022({ fn: \"onBeforeRouteLeave\" });\n\t\treturn;\n\t}\n\tregisterGuard(inject(matchedRouteKey, {}), \"leaveGuards\", leaveGuard);\n}\n/**\n* Add a navigation guard that triggers whenever the current location is about\n* to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\n* component. The guard is removed when the component is unmounted.\n*\n* @param updateGuard - {@link NavigationGuard}\n*/\nfunction onBeforeRouteUpdate(updateGuard) {\n\tif (process.env.NODE_ENV !== \"production\" && !getCurrentInstance()) {\n\t\tdiagnostics.VUE_ROUTER_R0022({ fn: \"onBeforeRouteUpdate\" });\n\t\treturn;\n\t}\n\tregisterGuard(inject(matchedRouteKey, {}), \"updateGuards\", updateGuard);\n}\nfunction guardToPromiseFn(guard, to, from, record, name, runWithContext = (fn) => fn()) {\n\tconst enterCallbackArray = record && (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\n\treturn () => new Promise((resolve, reject) => {\n\t\tconst next = (valid) => {\n\t\t\tif (valid === false) reject(createRouterError(4, {\n\t\t\t\tfrom,\n\t\t\t\tto\n\t\t\t}));\n\t\t\telse if (valid instanceof Error) reject(valid);\n\t\t\telse if (isRouteLocation(valid)) reject(createRouterError(2, {\n\t\t\t\tfrom: to,\n\t\t\t\tto: valid\n\t\t\t}));\n\t\t\telse {\n\t\t\t\tif (enterCallbackArray && record.enterCallbacks[name] === enterCallbackArray && typeof valid === \"function\") enterCallbackArray.push(valid);\n\t\t\t\tresolve();\n\t\t\t}\n\t\t};\n\t\tconst guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, process.env.NODE_ENV !== \"production\" ? withDeprecationWarning(canOnlyBeCalledOnce(next, to, from)) : next));\n\t\tlet guardCall = Promise.resolve(guardReturn);\n\t\tif (guard.length < 3) guardCall = guardCall.then(next);\n\t\tif (process.env.NODE_ENV !== \"production\" && guard.length > 2) {\n\t\t\tconst guardInfo = {\n\t\t\t\tname: guard.name,\n\t\t\t\tguard: guard.toString()\n\t\t\t};\n\t\t\tif (typeof guardReturn === \"object\" && \"then\" in guardReturn) guardCall = guardCall.then((resolvedValue) => {\n\t\t\t\tif (!next._called) {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0023(guardInfo);\n\t\t\t\t\treturn Promise.reject(/* @__PURE__ */ new Error(\"Invalid navigation guard\"));\n\t\t\t\t}\n\t\t\t\treturn resolvedValue;\n\t\t\t});\n\t\t\telse if (guardReturn !== void 0) {\n\t\t\t\tif (!next._called) {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0023(guardInfo);\n\t\t\t\t\treject(/* @__PURE__ */ new Error(\"Invalid navigation guard\"));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tguardCall.catch((err) => reject(err));\n\t});\n}\n/**\n* Wraps the next callback to warn when it is used. Dev-only: when __DEV__ is\n* false (production builds), this branch is dead code and is stripped from the\n* bundle.\n*\n* @internal\n*/\nfunction withDeprecationWarning(next) {\n\tlet warned = false;\n\treturn function() {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tdiagnostics.VUE_ROUTER_R0025();\n\t\t}\n\t\treturn next.apply(this, arguments);\n\t};\n}\nfunction canOnlyBeCalledOnce(next, to, from) {\n\tlet called = 0;\n\treturn function() {\n\t\tif (called++ === 1) diagnostics.VUE_ROUTER_R0024({\n\t\t\tfrom: from.fullPath,\n\t\t\tto: to.fullPath\n\t\t});\n\t\tnext._called = true;\n\t\tif (called === 1) next.apply(null, arguments);\n\t};\n}\nfunction extractComponentsGuards(matched, guardType, to, from, runWithContext = (fn) => fn()) {\n\tconst guards = [];\n\tfor (const record of matched) {\n\t\tif (process.env.NODE_ENV !== \"production\" && !record.components && record.children && !record.children.length) diagnostics.VUE_ROUTER_R0026({ path: record.path });\n\t\tfor (const name in record.components) {\n\t\t\tlet rawComponent = record.components[name];\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tif (!rawComponent || typeof rawComponent !== \"object\" && typeof rawComponent !== \"function\") {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0027({\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tpath: record.path,\n\t\t\t\t\t\treceived: String(rawComponent)\n\t\t\t\t\t});\n\t\t\t\t\tthrow new Error(\"Invalid route component\");\n\t\t\t\t} else if (\"then\" in rawComponent) {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0028({\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tpath: record.path\n\t\t\t\t\t});\n\t\t\t\t\tconst promise = rawComponent;\n\t\t\t\t\trawComponent = () => promise;\n\t\t\t\t} else if (rawComponent.__asyncLoader && !rawComponent.__warnedDefineAsync) {\n\t\t\t\t\trawComponent.__warnedDefineAsync = true;\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0029({\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tpath: record.path\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (guardType !== \"beforeRouteEnter\" && !record.instances[name]) continue;\n\t\t\tif (isRouteComponent(rawComponent)) {\n\t\t\t\tconst guard = (rawComponent.__vccOpts || rawComponent)[guardType];\n\t\t\t\tguard && guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext));\n\t\t\t} else {\n\t\t\t\tlet componentPromise = rawComponent();\n\t\t\t\tif (process.env.NODE_ENV !== \"production\" && !(\"catch\" in componentPromise)) {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0030({\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tpath: record.path\n\t\t\t\t\t});\n\t\t\t\t\tcomponentPromise = Promise.resolve(componentPromise);\n\t\t\t\t}\n\t\t\t\tguards.push(() => componentPromise.then((resolved) => {\n\t\t\t\t\tif (!resolved) throw new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`);\n\t\t\t\t\tconst resolvedComponent = isESModule(resolved) ? resolved.default : resolved;\n\t\t\t\t\trecord.mods[name] = resolved;\n\t\t\t\t\trecord.components[name] = resolvedComponent;\n\t\t\t\t\tconst guard = (resolvedComponent.__vccOpts || resolvedComponent)[guardType];\n\t\t\t\t\treturn guard && guardToPromiseFn(guard, to, from, record, name, runWithContext)();\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\t}\n\treturn guards;\n}\n/**\n* Ensures a route is loaded, so it can be passed as o prop to ``.\n*\n* @param route - resolved route to load\n*/\nfunction loadRouteLocation(route) {\n\treturn route.matched.every((record) => record.redirect) ? Promise.reject(/* @__PURE__ */ new Error(\"Cannot load a route that redirects.\")) : Promise.all(route.matched.map((record) => record.components && Promise.all(Object.keys(record.components).reduce((promises, name) => {\n\t\tconst rawComponent = record.components[name];\n\t\tif (typeof rawComponent === \"function\" && !(\"displayName\" in rawComponent)) promises.push(rawComponent().then((resolved) => {\n\t\t\tif (!resolved) return Promise.reject(/* @__PURE__ */ new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\n\t\t\tconst resolvedComponent = isESModule(resolved) ? resolved.default : resolved;\n\t\t\trecord.mods[name] = resolved;\n\t\t\trecord.components[name] = resolvedComponent;\n\t\t}));\n\t\treturn promises;\n\t}, [])))).then(() => route);\n}\n/**\n* Split the leaving, updating, and entering records.\n* @internal\n*\n* @param to - Location we are navigating to\n* @param from - Location we are navigating from\n*/\nfunction extractChangingRecords(to, from) {\n\tconst leavingRecords = [];\n\tconst updatingRecords = [];\n\tconst enteringRecords = [];\n\tconst len = Math.max(from.matched.length, to.matched.length);\n\tfor (let i = 0; i < len; i++) {\n\t\tconst recordFrom = from.matched[i];\n\t\tif (recordFrom) {\n\t\t\tif (to.matched.find((record) => isSameRouteRecord(record, recordFrom))) updatingRecords.push(recordFrom);\n\t\t\telse leavingRecords.push(recordFrom);\n\t\t}\n\t\tconst recordTo = to.matched[i];\n\t\tif (recordTo) {\n\t\t\tif (!from.matched.find((record) => isSameRouteRecord(record, recordTo))) enteringRecords.push(recordTo);\n\t\t}\n\t}\n\treturn [\n\t\tleavingRecords,\n\t\tupdatingRecords,\n\t\tenteringRecords\n\t];\n}\n//#endregion\n//#region src/devtools.ts\n/**\n* Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\n*\n* @param routeLocation - routeLocation to format\n* @param tooltip - optional tooltip\n* @returns a copy of the routeLocation\n*/\nfunction formatRouteLocation(routeLocation, tooltip) {\n\tconst copy = assign({}, routeLocation, { matched: routeLocation.matched.map((matched) => omit(matched, [\n\t\t\"instances\",\n\t\t\"children\",\n\t\t\"aliasOf\"\n\t])) });\n\treturn { _custom: {\n\t\ttype: null,\n\t\treadOnly: true,\n\t\tdisplay: routeLocation.fullPath,\n\t\ttooltip,\n\t\tvalue: copy\n\t} };\n}\nfunction formatDisplay(display) {\n\treturn { _custom: { display } };\n}\nlet routerId = 0;\nfunction addDevtools(app, router, matcher) {\n\tif (router.__hasDevtools) return;\n\trouter.__hasDevtools = true;\n\tconst id = routerId++;\n\tsetupDevtoolsPlugin({\n\t\tid: \"org.vuejs.router\" + (id ? \".\" + id : \"\"),\n\t\tlabel: \"Vue Router\",\n\t\tpackageName: \"vue-router\",\n\t\thomepage: \"https://router.vuejs.org\",\n\t\tlogo: \"https://router.vuejs.org/logo.png\",\n\t\tcomponentStateTypes: [\"Routing\"],\n\t\tapp\n\t}, (api) => {\n\t\tapi.on.inspectComponent((payload) => {\n\t\t\tif (payload.instanceData) payload.instanceData.state.push({\n\t\t\t\ttype: \"Routing\",\n\t\t\t\tkey: \"$route\",\n\t\t\t\teditable: false,\n\t\t\t\tvalue: formatRouteLocation(router.currentRoute.value, \"Current Route\")\n\t\t\t});\n\t\t});\n\t\tapi.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\n\t\t\tif (componentInstance.__vrv_devtools) {\n\t\t\t\tconst info = componentInstance.__vrv_devtools;\n\t\t\t\tnode.tags.push({\n\t\t\t\t\tlabel: (info.name ? `${info.name.toString()}: ` : \"\") + info.path,\n\t\t\t\t\ttextColor: 0,\n\t\t\t\t\ttooltip: \"This component is rendered by <router-view>\",\n\t\t\t\t\tbackgroundColor: PINK_500\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (isArray(componentInstance.__vrl_devtools)) {\n\t\t\t\tcomponentInstance.__devtoolsApi = api;\n\t\t\t\tcomponentInstance.__vrl_devtools.forEach((devtoolsData) => {\n\t\t\t\t\tlet label = devtoolsData.route.path;\n\t\t\t\t\tlet backgroundColor = ORANGE_400;\n\t\t\t\t\tlet tooltip = \"\";\n\t\t\t\t\tlet textColor = 0;\n\t\t\t\t\tif (devtoolsData.error) {\n\t\t\t\t\t\tlabel = devtoolsData.error;\n\t\t\t\t\t\tbackgroundColor = RED_100;\n\t\t\t\t\t\ttextColor = RED_700;\n\t\t\t\t\t} else if (devtoolsData.isExactActive) {\n\t\t\t\t\t\tbackgroundColor = LIME_500;\n\t\t\t\t\t\ttooltip = \"This is exactly active\";\n\t\t\t\t\t} else if (devtoolsData.isActive) {\n\t\t\t\t\t\tbackgroundColor = BLUE_600;\n\t\t\t\t\t\ttooltip = \"This link is active\";\n\t\t\t\t\t}\n\t\t\t\t\tnode.tags.push({\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\ttextColor,\n\t\t\t\t\t\ttooltip,\n\t\t\t\t\t\tbackgroundColor\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\twatch(router.currentRoute, () => {\n\t\t\trefreshRoutesView();\n\t\t\tapi.notifyComponentUpdate();\n\t\t\tapi.sendInspectorTree(routerInspectorId);\n\t\t\tapi.sendInspectorState(routerInspectorId);\n\t\t});\n\t\tconst navigationsLayerId = \"router:navigations:\" + id;\n\t\tapi.addTimelineLayer({\n\t\t\tid: navigationsLayerId,\n\t\t\tlabel: `Router${id ? \" \" + id : \"\"} Navigations`,\n\t\t\tcolor: 4237508\n\t\t});\n\t\trouter.onError((error, to) => {\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttitle: \"Error during Navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\tlogType: \"error\",\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\tdata: { error },\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tlet navigationId = 0;\n\t\trouter.beforeEach((to, from) => {\n\t\t\tconst data = {\n\t\t\t\tguard: formatDisplay(\"beforeEach\"),\n\t\t\t\tfrom: formatRouteLocation(from, \"Current Location during this navigation\"),\n\t\t\t\tto: formatRouteLocation(to, \"Target location\")\n\t\t\t};\n\t\t\tObject.defineProperty(to.meta, \"__navigationId\", { value: navigationId++ });\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\ttitle: \"Start of navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\tdata,\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\trouter.afterEach((to, from, failure) => {\n\t\t\tconst data = { guard: formatDisplay(\"afterEach\") };\n\t\t\tif (failure) {\n\t\t\t\tdata.failure = { _custom: {\n\t\t\t\t\ttype: Error,\n\t\t\t\t\treadOnly: true,\n\t\t\t\t\tdisplay: failure ? failure.message : \"\",\n\t\t\t\t\ttooltip: \"Navigation Failure\",\n\t\t\t\t\tvalue: failure\n\t\t\t\t} };\n\t\t\t\tdata.status = formatDisplay(\"❌\");\n\t\t\t} else data.status = formatDisplay(\"✅\");\n\t\t\tdata.from = formatRouteLocation(from, \"Current Location during this navigation\");\n\t\t\tdata.to = formatRouteLocation(to, \"Target location\");\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttitle: \"End of navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\tdata,\n\t\t\t\t\tlogType: failure ? \"warning\" : \"default\",\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\t/**\n\t\t* Inspector of Existing routes\n\t\t*/\n\t\tconst routerInspectorId = \"router-inspector:\" + id;\n\t\tapi.addInspector({\n\t\t\tid: routerInspectorId,\n\t\t\tlabel: \"Routes\" + (id ? \" \" + id : \"\"),\n\t\t\ticon: \"book\",\n\t\t\ttreeFilterPlaceholder: \"Search routes\"\n\t\t});\n\t\tfunction refreshRoutesView() {\n\t\t\tif (!activeRoutesPayload) return;\n\t\t\tconst payload = activeRoutesPayload;\n\t\t\tlet routes = matcher.getRoutes().filter((route) => !route.parent || !route.parent.record.components);\n\t\t\troutes.forEach(resetMatchStateOnRouteRecord);\n\t\t\tif (payload.filter) routes = routes.filter((route) => isRouteMatching(route, payload.filter.toLowerCase()));\n\t\t\troutes.forEach((route) => markRouteRecordActive(route, router.currentRoute.value));\n\t\t\tpayload.rootNodes = routes.map(formatRouteRecordForInspector);\n\t\t}\n\t\tlet activeRoutesPayload;\n\t\tapi.on.getInspectorTree((payload) => {\n\t\t\tactiveRoutesPayload = payload;\n\t\t\tif (payload.app === app && payload.inspectorId === routerInspectorId) refreshRoutesView();\n\t\t});\n\t\t/**\n\t\t* Display information about the currently selected route record\n\t\t*/\n\t\tapi.on.getInspectorState((payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === routerInspectorId) {\n\t\t\t\tconst route = matcher.getRoutes().find((route) => route.record.__vd_id === payload.nodeId);\n\t\t\t\tif (route) payload.state = { options: formatRouteRecordMatcherForStateInspector(route) };\n\t\t\t}\n\t\t});\n\t\tapi.sendInspectorTree(routerInspectorId);\n\t\tapi.sendInspectorState(routerInspectorId);\n\t});\n}\nfunction modifierForKey(key) {\n\tif (key.optional) return key.repeatable ? \"*\" : \"?\";\n\telse return key.repeatable ? \"+\" : \"\";\n}\nfunction formatRouteRecordMatcherForStateInspector(route) {\n\tconst { record } = route;\n\tconst fields = [{\n\t\teditable: false,\n\t\tkey: \"path\",\n\t\tvalue: record.path\n\t}];\n\tif (record.name != null) fields.push({\n\t\teditable: false,\n\t\tkey: \"name\",\n\t\tvalue: record.name\n\t});\n\tfields.push({\n\t\teditable: false,\n\t\tkey: \"regexp\",\n\t\tvalue: route.re\n\t});\n\tif (route.keys.length) fields.push({\n\t\teditable: false,\n\t\tkey: \"keys\",\n\t\tvalue: { _custom: {\n\t\t\ttype: null,\n\t\t\treadOnly: true,\n\t\t\tdisplay: route.keys.map((key) => `${key.name}${modifierForKey(key)}`).join(\" \"),\n\t\t\ttooltip: \"Param keys\",\n\t\t\tvalue: route.keys\n\t\t} }\n\t});\n\tif (record.redirect != null) fields.push({\n\t\teditable: false,\n\t\tkey: \"redirect\",\n\t\tvalue: record.redirect\n\t});\n\tif (route.alias.length) fields.push({\n\t\teditable: false,\n\t\tkey: \"aliases\",\n\t\tvalue: route.alias.map((alias) => alias.record.path)\n\t});\n\tif (Object.keys(route.record.meta).length) fields.push({\n\t\teditable: false,\n\t\tkey: \"meta\",\n\t\tvalue: route.record.meta\n\t});\n\tfields.push({\n\t\tkey: \"score\",\n\t\teditable: false,\n\t\tvalue: { _custom: {\n\t\t\ttype: null,\n\t\t\treadOnly: true,\n\t\t\tdisplay: route.score.map((score) => score.join(\", \")).join(\" | \"),\n\t\t\ttooltip: \"Score used to sort routes\",\n\t\t\tvalue: route.score\n\t\t} }\n\t});\n\treturn fields;\n}\n/**\n* Extracted from tailwind palette\n*/\nconst PINK_500 = 15485081;\nconst BLUE_600 = 2450411;\nconst LIME_500 = 8702998;\nconst CYAN_400 = 2282478;\nconst ORANGE_400 = 16486972;\nconst DARK = 6710886;\nconst RED_100 = 16704226;\nconst RED_700 = 12131356;\nfunction formatRouteRecordForInspector(route) {\n\tconst tags = [];\n\tconst { record } = route;\n\tif (record.name != null) tags.push({\n\t\tlabel: String(record.name),\n\t\ttextColor: 0,\n\t\tbackgroundColor: CYAN_400\n\t});\n\tif (record.aliasOf) tags.push({\n\t\tlabel: \"alias\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: ORANGE_400\n\t});\n\tif (route.__vd_match) tags.push({\n\t\tlabel: \"matches\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: PINK_500\n\t});\n\tif (route.__vd_exactActive) tags.push({\n\t\tlabel: \"exact\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: LIME_500\n\t});\n\tif (route.__vd_active) tags.push({\n\t\tlabel: \"active\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: BLUE_600\n\t});\n\tif (record.redirect) tags.push({\n\t\tlabel: typeof record.redirect === \"string\" ? `redirect: ${record.redirect}` : \"redirects\",\n\t\ttextColor: 16777215,\n\t\tbackgroundColor: DARK\n\t});\n\tlet id = record.__vd_id;\n\tif (id == null) {\n\t\tid = String(routeRecordId++);\n\t\trecord.__vd_id = id;\n\t}\n\treturn {\n\t\tid,\n\t\tlabel: record.path,\n\t\ttags,\n\t\tchildren: route.children.map(formatRouteRecordForInspector)\n\t};\n}\nlet routeRecordId = 0;\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\nfunction markRouteRecordActive(route, currentRoute) {\n\tconst isExactActive = currentRoute.matched.length && isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\n\troute.__vd_exactActive = route.__vd_active = isExactActive;\n\tif (!isExactActive) route.__vd_active = currentRoute.matched.some((match) => isSameRouteRecord(match, route.record));\n\troute.children.forEach((childRoute) => markRouteRecordActive(childRoute, currentRoute));\n}\nfunction resetMatchStateOnRouteRecord(route) {\n\troute.__vd_match = false;\n\troute.children.forEach(resetMatchStateOnRouteRecord);\n}\nfunction isRouteMatching(route, filter) {\n\tconst found = String(route.re).match(EXTRACT_REGEXP_RE);\n\troute.__vd_match = false;\n\tif (!found || found.length < 3) return false;\n\tif (new RegExp(found[1].replace(/\\$$/, \"\"), found[2]).test(filter)) {\n\t\troute.children.forEach((child) => isRouteMatching(child, filter));\n\t\tif (route.record.path !== \"/\" || filter === \"/\") {\n\t\t\troute.__vd_match = route.re.test(filter);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tconst path = route.record.path.toLowerCase();\n\tconst decodedPath = decode(path);\n\tif (!isAbsolutePath(filter) && (decodedPath.includes(filter) || path.includes(filter))) return true;\n\tif (decodedPath.startsWith(filter) || path.startsWith(filter)) return true;\n\tif (route.record.name && String(route.record.name).includes(filter)) return true;\n\treturn route.children.some((child) => isRouteMatching(child, filter));\n}\nfunction omit(obj, keys) {\n\tconst ret = {};\n\tfor (const key in obj) if (!keys.includes(key)) ret[key] = obj[key];\n\treturn ret;\n}\n//#endregion\nexport { PLUS_RE as A, isSameRouteLocation as C, resolveRelativePath as D, parseURL as E, encodePath as F, isBrowser as I, decode as M, encodeHash as N, stringifyURL as O, encodeParam as P, START_LOCATION_NORMALIZED as S, isSameRouteRecord as T, invalidateScrollPositions as _, loadRouteLocation as a, createHref as b, useCallbacks as c, stringifyQuery as d, isRouteLocation as f, getScrollKey as g, getSavedScrollPosition as h, guardToPromiseFn as i, commonEncode as j, stripBase as k, normalizeQuery as l, computeScrollPosition as m, extractChangingRecords as n, onBeforeRouteLeave as o, isRouteName as p, extractComponentsGuards as r, onBeforeRouteUpdate as s, addDevtools as t, parseQuery as u, saveScrollPosition as v, isSameRouteLocationParams as w, normalizeBase as x, scrollToPosition as y };\n","/*!\n* vue-router v5.4.0\n* (c) 2026 Eduardo San Martin Morote\n* @license MIT\n*/\nimport { C as isSameRouteLocation, E as parseURL, I as isBrowser, M as decode, N as encodeHash, O as stringifyURL, P as encodeParam, S as START_LOCATION_NORMALIZED, T as isSameRouteRecord, _ as invalidateScrollPositions, a as loadRouteLocation, b as createHref, c as useCallbacks, d as stringifyQuery, f as isRouteLocation, g as getScrollKey, h as getSavedScrollPosition, i as guardToPromiseFn, k as stripBase, l as normalizeQuery, m as computeScrollPosition, n as extractChangingRecords, o as onBeforeRouteLeave, p as isRouteName, r as extractComponentsGuards, s as onBeforeRouteUpdate, t as addDevtools, u as parseQuery, v as saveScrollPosition, w as isSameRouteLocationParams, x as normalizeBase, y as scrollToPosition } from \"./devtools-CxgSYwGp.js\";\nimport { _ as isArray, a as routerKey, b as mergeOptions, c as viewDepthKey, d as createRouterError, f as isNavigationFailure, g as isAbsolutePath, i as routeLocationKey, l as diagnostics, m as assign, n as useRouter, o as routerViewLocationKey, p as applyToParams, r as matchedRouteKey, s as routerViewOnRouteRenderedKey, t as useRoute, u as NavigationFailureType, x as noop } from \"./useApi-CUWMwLLw.js\";\nimport { computed, defineComponent, getCurrentInstance, h, inject, nextTick, provide, reactive, ref, shallowReactive, shallowRef, unref, watch, watchEffect } from \"vue\";\n//#region src/history/html5.ts\nlet createBaseLocation = () => location.protocol + \"//\" + location.host;\n/**\n* Creates a normalized history location from a window.location object\n* @param base - The base path\n* @param location - The window.location object\n*/\nfunction createCurrentLocation(base, location) {\n\tconst { pathname, search, hash } = location;\n\tconst hashPos = base.indexOf(\"#\");\n\tif (hashPos > -1) {\n\t\tlet slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1;\n\t\tlet pathFromHash = hash.slice(slicePos);\n\t\tif (pathFromHash[0] !== \"/\") pathFromHash = \"/\" + pathFromHash;\n\t\treturn stripBase(pathFromHash, \"\");\n\t}\n\treturn stripBase(pathname, base) + search + hash;\n}\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\n\tlet listeners = [];\n\tlet teardowns = [];\n\tlet pauseState = null;\n\tconst popStateHandler = ({ state }) => {\n\t\tconst to = createCurrentLocation(base, location);\n\t\tconst from = currentLocation.value;\n\t\tconst fromState = historyState.value;\n\t\tlet delta = 0;\n\t\tif (state) {\n\t\t\tcurrentLocation.value = to;\n\t\t\thistoryState.value = state;\n\t\t\tif (pauseState && pauseState === from) {\n\t\t\t\tpauseState = null;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdelta = fromState ? state.position - fromState.position : 0;\n\t\t} else replace(to);\n\t\tlisteners.forEach((listener) => {\n\t\t\tlistener(currentLocation.value, from, {\n\t\t\t\tdelta,\n\t\t\t\ttype: \"pop\",\n\t\t\t\tdirection: delta ? delta > 0 ? \"forward\" : \"back\" : \"\"\n\t\t\t});\n\t\t});\n\t};\n\tfunction pauseListeners() {\n\t\tpauseState = currentLocation.value;\n\t}\n\tfunction listen(callback) {\n\t\tlisteners.push(callback);\n\t\tconst teardown = () => {\n\t\t\tconst index = listeners.indexOf(callback);\n\t\t\tif (index > -1) listeners.splice(index, 1);\n\t\t};\n\t\tteardowns.push(teardown);\n\t\treturn teardown;\n\t}\n\tfunction beforeUnloadListener() {\n\t\tconst { history } = window;\n\t\tif (!history.state) return;\n\t\thistory.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), \"\");\n\t}\n\tfunction destroy() {\n\t\tfor (const teardown of teardowns) teardown();\n\t\tteardowns = [];\n\t\twindow.removeEventListener(\"popstate\", popStateHandler);\n\t\twindow.removeEventListener(\"pagehide\", beforeUnloadListener);\n\t}\n\twindow.addEventListener(\"popstate\", popStateHandler);\n\twindow.addEventListener(\"pagehide\", beforeUnloadListener);\n\treturn {\n\t\tpauseListeners,\n\t\tlisten,\n\t\tdestroy\n\t};\n}\n/**\n* Creates a state object\n*/\nfunction buildState(back, current, forward, replaced = false) {\n\treturn {\n\t\tback,\n\t\tcurrent,\n\t\tforward,\n\t\treplaced,\n\t\tposition: window.history.length,\n\t\tscroll: null\n\t};\n}\nfunction useHistoryStateNavigation(base) {\n\tconst { history, location } = window;\n\tconst currentLocation = { value: createCurrentLocation(base, location) };\n\tconst historyState = { value: history.state };\n\tif (!historyState.value) changeLocation(currentLocation.value, {\n\t\tback: null,\n\t\tcurrent: currentLocation.value,\n\t\tforward: null,\n\t\tposition: history.length - 1,\n\t\treplaced: true,\n\t\tscroll: null\n\t}, true);\n\tfunction changeLocation(to, state, replace) {\n\t\t/**\n\t\t* if a base tag is provided, and we are on a normal domain, we have to\n\t\t* respect the provided `base` attribute because pushState() will use it and\n\t\t* potentially erase anything before the `#` like at\n\t\t* https://github.com/vuejs/router/issues/685 where a base of\n\t\t* `/folder/#` but a base of `/` would erase the `/folder/` section. If\n\t\t* there is no host, the `` tag makes no sense and if there isn't a\n\t\t* base tag we can just use everything after the `#`.\n\t\t*/\n\t\tconst hashIndex = base.indexOf(\"#\");\n\t\tconst url = hashIndex > -1 ? (location.host && document.querySelector(\"base\") ? base : base.slice(hashIndex)) + to : createBaseLocation() + base + to;\n\t\ttry {\n\t\t\thistory[replace ? \"replaceState\" : \"pushState\"](state, \"\", url);\n\t\t\thistoryState.value = state;\n\t\t} catch (err) {\n\t\t\tif (process.env.NODE_ENV !== \"production\") diagnostics.VUE_ROUTER_R0120({ cause: err });\n\t\t\telse console.error(err);\n\t\t\tlocation[replace ? \"replace\" : \"assign\"](url);\n\t\t}\n\t}\n\tfunction replace(to, data) {\n\t\tconst state = assign({}, history.state, buildState(historyState.value.back, to, historyState.value.forward, true), data, { position: historyState.value.position });\n\t\tchangeLocation(to, state, true);\n\t\tinvalidateScrollPositions(state.position, true);\n\t\tcurrentLocation.value = to;\n\t}\n\tfunction push(to, data) {\n\t\tconst currentState = assign({}, historyState.value, history.state, {\n\t\t\tforward: to,\n\t\t\tscroll: computeScrollPosition()\n\t\t});\n\t\tif (process.env.NODE_ENV !== \"production\" && !history.state) diagnostics.VUE_ROUTER_R0121();\n\t\tchangeLocation(currentState.current, currentState, true);\n\t\tchangeLocation(to, assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data), false);\n\t\tinvalidateScrollPositions(currentState.position);\n\t\tcurrentLocation.value = to;\n\t}\n\treturn {\n\t\tlocation: currentLocation,\n\t\tstate: historyState,\n\t\tpush,\n\t\treplace\n\t};\n}\n/**\n* Creates an HTML5 history. Most common history for single page applications.\n*\n* @param base -\n*/\nfunction createWebHistory(base) {\n\tbase = normalizeBase(base);\n\tconst historyNavigation = useHistoryStateNavigation(base);\n\tconst historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\n\tfunction go(delta, triggerListeners = true) {\n\t\tif (!triggerListeners) historyListeners.pauseListeners();\n\t\thistory.go(delta);\n\t}\n\tconst routerHistory = assign({\n\t\tlocation: \"\",\n\t\tbase,\n\t\tgo,\n\t\tcreateHref: createHref.bind(null, base)\n\t}, historyNavigation, historyListeners);\n\tObject.defineProperty(routerHistory, \"location\", {\n\t\tenumerable: true,\n\t\tget: () => historyNavigation.location.value\n\t});\n\tObject.defineProperty(routerHistory, \"state\", {\n\t\tenumerable: true,\n\t\tget: () => historyNavigation.state.value\n\t});\n\treturn routerHistory;\n}\n//#endregion\n//#region src/history/hash.ts\n/**\n* Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\n* handle any URL is not possible.\n*\n* @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag\n* in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\n* calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything\n* after the `#`).\n*\n* @example\n* ```js\n* // at https://example.com/folder\n* createWebHashHistory() // gives a url of `https://example.com/folder#`\n* createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\n* // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\n* createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\n* // you should avoid doing this because it changes the original url and breaks copying urls\n* createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\n*\n* // at file:///usr/etc/folder/index.html\n* // for locations with no `host`, the base is ignored\n* createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\n* ```\n*/\nfunction createWebHashHistory(base) {\n\tbase = location.host ? base || location.pathname + location.search : \"\";\n\tif (!base.includes(\"#\")) base += \"#\";\n\tif (process.env.NODE_ENV !== \"production\" && !base.endsWith(\"#/\") && !base.endsWith(\"#\")) diagnostics.VUE_ROUTER_R0110({\n\t\tbase,\n\t\tsuggestion: base.replace(/#.*$/, \"#\")\n\t});\n\treturn createWebHistory(base);\n}\n//#endregion\n//#region src/history/memory.ts\n/**\n* Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\n* It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\n*\n* @param base - Base applied to all urls, defaults to '/'\n* @returns a history object that can be passed to the router constructor\n*/\nfunction createMemoryHistory(base = \"\") {\n\tlet listeners = [];\n\tlet queue = [[\"\", {}]];\n\tlet position = 0;\n\tbase = normalizeBase(base);\n\tfunction setLocation(location, state = {}) {\n\t\tposition++;\n\t\tif (position !== queue.length) queue.splice(position);\n\t\tqueue.push([location, state]);\n\t}\n\tfunction triggerListeners(to, from, { direction, delta }) {\n\t\tconst info = {\n\t\t\tdirection,\n\t\t\tdelta,\n\t\t\ttype: \"pop\"\n\t\t};\n\t\tfor (const callback of listeners) callback(to, from, info);\n\t}\n\tconst routerHistory = {\n\t\tlocation: \"\",\n\t\tstate: {},\n\t\tbase,\n\t\tcreateHref: createHref.bind(null, base),\n\t\treplace(to, state) {\n\t\t\tqueue.splice(position--, 1);\n\t\t\tsetLocation(to, state);\n\t\t},\n\t\tpush(to, state) {\n\t\t\tsetLocation(to, state);\n\t\t},\n\t\tlisten(callback) {\n\t\t\tlisteners.push(callback);\n\t\t\treturn () => {\n\t\t\t\tconst index = listeners.indexOf(callback);\n\t\t\t\tif (index > -1) listeners.splice(index, 1);\n\t\t\t};\n\t\t},\n\t\tdestroy() {\n\t\t\tlisteners = [];\n\t\t\tqueue = [[\"\", {}]];\n\t\t\tposition = 0;\n\t\t},\n\t\tgo(delta, shouldTrigger = true) {\n\t\t\tconst from = this.location;\n\t\t\tconst direction = delta < 0 ? \"back\" : \"forward\";\n\t\t\tposition = Math.max(0, Math.min(position + delta, queue.length - 1));\n\t\t\tif (shouldTrigger) triggerListeners(this.location, from, {\n\t\t\t\tdirection,\n\t\t\t\tdelta\n\t\t\t});\n\t\t}\n\t};\n\tObject.defineProperty(routerHistory, \"location\", {\n\t\tenumerable: true,\n\t\tget: () => queue[position][0]\n\t});\n\tObject.defineProperty(routerHistory, \"state\", {\n\t\tenumerable: true,\n\t\tget: () => queue[position][1]\n\t});\n\treturn routerHistory;\n}\n//#endregion\n//#region src/matcher/pathTokenizer.ts\nconst ROOT_TOKEN = {\n\ttype: 0,\n\tvalue: \"\"\n};\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\nfunction tokenizePath(path) {\n\tif (!path) return [[]];\n\tif (path === \"/\") return [[ROOT_TOKEN]];\n\tif (!isAbsolutePath(path)) throw new Error(process.env.NODE_ENV !== \"production\" ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".` : `Invalid path \"${path}\"`);\n\tfunction crash(message) {\n\t\tthrow new Error(`ERR (${state})/\"${buffer}\": ${message}`);\n\t}\n\tlet state = 0;\n\tlet previousState = state;\n\tconst tokens = [];\n\tlet segment;\n\tfunction finalizeSegment() {\n\t\tif (segment) tokens.push(segment);\n\t\tsegment = [];\n\t}\n\tlet i = 0;\n\tlet char;\n\tlet buffer = \"\";\n\tlet customRe = \"\";\n\tfunction consumeBuffer() {\n\t\tif (!buffer) return;\n\t\tif (state === 0) segment.push({\n\t\t\ttype: 0,\n\t\t\tvalue: buffer\n\t\t});\n\t\telse if (state === 1 || state === 2 || state === 3) {\n\t\t\tif (segment.length > 1 && (char === \"*\" || char === \"+\")) crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\n\t\t\tsegment.push({\n\t\t\t\ttype: 1,\n\t\t\t\tvalue: buffer,\n\t\t\t\tregexp: customRe,\n\t\t\t\trepeatable: char === \"*\" || char === \"+\",\n\t\t\t\toptional: char === \"*\" || char === \"?\"\n\t\t\t});\n\t\t} else crash(\"Invalid state to consume buffer\");\n\t\tbuffer = \"\";\n\t}\n\tfunction addCharToBuffer() {\n\t\tbuffer += char;\n\t}\n\twhile (i < path.length) {\n\t\tchar = path[i++];\n\t\tswitch (state) {\n\t\t\tcase 0:\n\t\t\t\tif (char === \"\\\\\") {\n\t\t\t\t\tpreviousState = state;\n\t\t\t\t\tstate = 4;\n\t\t\t\t} else if (char === \"/\") {\n\t\t\t\t\tif (buffer) consumeBuffer();\n\t\t\t\t\tfinalizeSegment();\n\t\t\t\t} else if (char === \":\") {\n\t\t\t\t\tconsumeBuffer();\n\t\t\t\t\tstate = 1;\n\t\t\t\t} else addCharToBuffer();\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\taddCharToBuffer();\n\t\t\t\tstate = previousState;\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tif (char === \"(\") state = 2;\n\t\t\t\telse if (VALID_PARAM_RE.test(char)) addCharToBuffer();\n\t\t\t\telse {\n\t\t\t\t\tconsumeBuffer();\n\t\t\t\t\tstate = 0;\n\t\t\t\t\tif (char !== \"*\" && char !== \"?\" && char !== \"+\") i--;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tif (char === \")\") {\n\t\t\t\t\tif (customRe[customRe.length - 1] == \"\\\\\") customRe = customRe.slice(0, -1) + char;\n\t\t\t\t\telse state = 3;\n\t\t\t\t} else customRe += char;\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tconsumeBuffer();\n\t\t\t\tstate = 0;\n\t\t\t\tif (char !== \"*\" && char !== \"?\" && char !== \"+\") i--;\n\t\t\t\tcustomRe = \"\";\n\t\t\t\tbreak;\n\t\t\tdefault: crash(\"Unknown state\");\n\t\t}\n\t}\n\tif (state === 2) crash(`Unfinished custom RegExp for param \"${buffer}\"`);\n\tconsumeBuffer();\n\tfinalizeSegment();\n\treturn tokens;\n}\n//#endregion\n//#region src/matcher/pathParserRanker.ts\nconst BASE_PARAM_PATTERN = \"[^/]+?\";\nconst BASE_PATH_PARSER_OPTIONS = {\n\tsensitive: false,\n\tstrict: false,\n\tstart: true,\n\tend: true\n};\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\n/**\n* Creates a path parser from an array of Segments (a segment is an array of Tokens)\n*\n* @param segments - array of segments returned by tokenizePath\n* @param extraOptions - optional options for the regexp\n* @returns a PathParser\n*/\nfunction tokensToParser(segments, extraOptions) {\n\tconst options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\n\tconst score = [];\n\tlet pattern = options.start ? \"^\" : \"\";\n\tconst keys = [];\n\tfor (const segment of segments) {\n\t\tconst segmentScores = segment.length ? [] : [90];\n\t\tif (options.strict && !segment.length) pattern += \"/\";\n\t\tfor (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\n\t\t\tconst token = segment[tokenIndex];\n\t\t\tlet subSegmentScore = 40 + (options.sensitive ? .25 : 0);\n\t\t\tif (token.type === 0) {\n\t\t\t\tif (!tokenIndex) pattern += \"/\";\n\t\t\t\tpattern += token.value.replace(REGEX_CHARS_RE, \"\\\\$&\");\n\t\t\t\tsubSegmentScore += 40;\n\t\t\t} else if (token.type === 1) {\n\t\t\t\tconst { value, repeatable, optional, regexp } = token;\n\t\t\t\tkeys.push({\n\t\t\t\t\tname: value,\n\t\t\t\t\trepeatable,\n\t\t\t\t\toptional\n\t\t\t\t});\n\t\t\t\tconst re = regexp ? regexp : BASE_PARAM_PATTERN;\n\t\t\t\tif (re !== BASE_PARAM_PATTERN) {\n\t\t\t\t\tsubSegmentScore += 10;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tnew RegExp(`(${re})`);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tthrow new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` + err.message);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlet subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\n\t\t\t\tif (!tokenIndex) subPattern = optional && segment.length < 2 ? `(?:/${subPattern})` : \"/\" + subPattern;\n\t\t\t\tif (optional) subPattern += \"?\";\n\t\t\t\tpattern += subPattern;\n\t\t\t\tsubSegmentScore += 20;\n\t\t\t\tif (optional) subSegmentScore += -8;\n\t\t\t\tif (repeatable) subSegmentScore += -20;\n\t\t\t\tif (re === \".*\") subSegmentScore += -50;\n\t\t\t}\n\t\t\tsegmentScores.push(subSegmentScore);\n\t\t}\n\t\tscore.push(segmentScores);\n\t}\n\tif (options.strict && options.end) {\n\t\tconst i = score.length - 1;\n\t\tscore[i][score[i].length - 1] += .7000000000000001;\n\t}\n\tif (!options.strict) pattern += \"/?\";\n\tif (options.end) pattern += \"$\";\n\telse if (options.strict && !pattern.endsWith(\"/\")) pattern += \"(?:/|$)\";\n\tconst re = new RegExp(pattern, options.sensitive ? \"\" : \"i\");\n\tfunction parse(path) {\n\t\tconst match = path.match(re);\n\t\tconst params = {};\n\t\tif (!match) return null;\n\t\tfor (let i = 1; i < match.length; i++) {\n\t\t\tconst value = match[i] || \"\";\n\t\t\tconst key = keys[i - 1];\n\t\t\tparams[key.name] = value && key.repeatable ? value.split(\"/\") : value;\n\t\t}\n\t\treturn params;\n\t}\n\tfunction stringify(params) {\n\t\tlet path = \"\";\n\t\tlet avoidDuplicatedSlash = false;\n\t\tfor (const segment of segments) {\n\t\t\tif (!avoidDuplicatedSlash || !path.endsWith(\"/\")) path += \"/\";\n\t\t\tavoidDuplicatedSlash = false;\n\t\t\tfor (const token of segment) if (token.type === 0) path += token.value;\n\t\t\telse if (token.type === 1) {\n\t\t\t\tconst { value, repeatable, optional } = token;\n\t\t\t\tconst param = value in params ? params[value] : \"\";\n\t\t\t\tif (isArray(param) && !repeatable) throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\n\t\t\t\tconst text = isArray(param) ? param.join(\"/\") : param;\n\t\t\t\tif (!text) {\n\t\t\t\t\tif (optional) {\n\t\t\t\t\t\tif (segment.length < 2) {\n\t\t\t\t\t\t\tif (path.endsWith(\"/\")) path = path.slice(0, -1);\n\t\t\t\t\t\t\telse avoidDuplicatedSlash = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else throw new Error(`Missing required param \"${value}\"`);\n\t\t\t\t}\n\t\t\t\tpath += text;\n\t\t\t}\n\t\t}\n\t\treturn path || \"/\";\n\t}\n\treturn {\n\t\tre,\n\t\tscore,\n\t\tkeys,\n\t\tparse,\n\t\tstringify\n\t};\n}\n/**\n* Compares an array of numbers as used in PathParser.score and returns a\n* number. This function can be used to `sort` an array\n*\n* @param a - first array of numbers\n* @param b - second array of numbers\n* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n* should be sorted first\n*/\nfunction compareScoreArray(a, b) {\n\tlet i = 0;\n\twhile (i < a.length && i < b.length) {\n\t\tconst diff = b[i] - a[i];\n\t\tif (diff) return diff;\n\t\ti++;\n\t}\n\tif (a.length < b.length) return a.length === 1 && a[0] === 80 ? -1 : 1;\n\telse if (a.length > b.length) return b.length === 1 && b[0] === 80 ? 1 : -1;\n\treturn 0;\n}\n/**\n* Compare function that can be used with `sort` to sort an array of PathParser\n*\n* @param a - first PathParser\n* @param b - second PathParser\n* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n*/\nfunction comparePathParserScore(a, b) {\n\tlet i = 0;\n\tconst aScore = a.score;\n\tconst bScore = b.score;\n\twhile (i < aScore.length && i < bScore.length) {\n\t\tconst comp = compareScoreArray(aScore[i], bScore[i]);\n\t\tif (comp) return comp;\n\t\ti++;\n\t}\n\tif (Math.abs(bScore.length - aScore.length) === 1) {\n\t\tif (isLastScoreNegative(aScore)) return 1;\n\t\tif (isLastScoreNegative(bScore)) return -1;\n\t}\n\treturn bScore.length - aScore.length;\n}\n/**\n* This allows detecting splats at the end of a path: /home/:id(.*)*\n*\n* @param score - score to check\n* @returns true if the last entry is negative\n*/\nfunction isLastScoreNegative(score) {\n\tconst last = score[score.length - 1];\n\treturn score.length > 0 && last[last.length - 1] < 0;\n}\nconst PATH_PARSER_OPTIONS_DEFAULTS = {\n\tstrict: false,\n\tend: true,\n\tsensitive: false\n};\n//#endregion\n//#region src/matcher/pathMatcher.ts\nfunction createRouteRecordMatcher(record, parent, options) {\n\tconst parser = tokensToParser(tokenizePath(record.path), options);\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\tconst existingKeys = /* @__PURE__ */ new Set();\n\t\tfor (const key of parser.keys) {\n\t\t\tif (existingKeys.has(key.name)) diagnostics.VUE_ROUTER_R0090({\n\t\t\t\tname: key.name,\n\t\t\t\tpath: record.path\n\t\t\t});\n\t\t\texistingKeys.add(key.name);\n\t\t}\n\t}\n\tconst matcher = assign(parser, {\n\t\trecord,\n\t\tparent,\n\t\tchildren: [],\n\t\talias: []\n\t});\n\tif (parent) {\n\t\tif (!matcher.record.aliasOf === !parent.record.aliasOf) parent.children.push(matcher);\n\t}\n\treturn matcher;\n}\n//#endregion\n//#region src/matcher/index.ts\n/**\n* Creates a Router Matcher.\n*\n* @internal\n* @param routes - array of initial routes\n* @param globalOptions - global route options\n*/\nfunction createRouterMatcher(routes, globalOptions) {\n\tconst matchers = [];\n\tconst matcherMap = /* @__PURE__ */ new Map();\n\tglobalOptions = mergeOptions(PATH_PARSER_OPTIONS_DEFAULTS, globalOptions);\n\tfunction getRecordMatcher(name) {\n\t\treturn matcherMap.get(name);\n\t}\n\tfunction addRoute(record, parent, originalRecord) {\n\t\tconst isRootAdd = !originalRecord;\n\t\tconst mainNormalizedRecord = normalizeRouteRecord(record);\n\t\tif (process.env.NODE_ENV !== \"production\") checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\n\t\tmainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\n\t\tconst options = mergeOptions(globalOptions, record);\n\t\tconst normalizedRecords = [mainNormalizedRecord];\n\t\tif (\"alias\" in record) {\n\t\t\tconst aliases = typeof record.alias === \"string\" ? [record.alias] : record.alias;\n\t\t\tfor (const alias of aliases) normalizedRecords.push(normalizeRouteRecord(assign({}, mainNormalizedRecord, {\n\t\t\t\tcomponents: originalRecord ? originalRecord.record.components : mainNormalizedRecord.components,\n\t\t\t\tpath: alias,\n\t\t\t\taliasOf: originalRecord ? originalRecord.record : mainNormalizedRecord\n\t\t\t})));\n\t\t}\n\t\tlet matcher;\n\t\tlet originalMatcher;\n\t\tfor (const normalizedRecord of normalizedRecords) {\n\t\t\tconst { path } = normalizedRecord;\n\t\t\tif (parent && !isAbsolutePath(path)) {\n\t\t\t\tconst parentPath = parent.record.path;\n\t\t\t\tconst connectingSlash = parentPath[parentPath.length - 1] === \"/\" ? \"\" : \"/\";\n\t\t\t\tnormalizedRecord.path = parent.record.path + (path && connectingSlash + path);\n\t\t\t}\n\t\t\tif (process.env.NODE_ENV !== \"production\" && normalizedRecord.path === \"*\") throw new Error(\"Catch all routes (\\\"*\\\") must now be defined using a param with a custom regexp.\\nSee more at https://router.vuejs.org/guide/migration/#Removed-star-or-catch-all-routes.\");\n\t\t\tmatcher = createRouteRecordMatcher(normalizedRecord, parent, options);\n\t\t\tif (process.env.NODE_ENV !== \"production\" && parent && isAbsolutePath(path)) checkMissingParamsInAbsolutePath(matcher, parent);\n\t\t\tif (originalRecord) {\n\t\t\t\toriginalRecord.alias.push(matcher);\n\t\t\t\tif (process.env.NODE_ENV !== \"production\") checkSameParams(originalRecord, matcher);\n\t\t\t} else {\n\t\t\t\toriginalMatcher = originalMatcher || matcher;\n\t\t\t\tif (originalMatcher !== matcher) originalMatcher.alias.push(matcher);\n\t\t\t\tif (isRootAdd && record.name && !isAliasRecord(matcher)) {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") checkSameNameAsAncestor(record, parent);\n\t\t\t\t\tremoveRoute(record.name);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (isMatchable(matcher)) insertMatcher(matcher);\n\t\t\tif (mainNormalizedRecord.children) {\n\t\t\t\tconst children = mainNormalizedRecord.children;\n\t\t\t\tfor (let i = 0; i < children.length; i++) addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\n\t\t\t}\n\t\t\toriginalRecord = originalRecord || matcher;\n\t\t}\n\t\treturn originalMatcher ? () => {\n\t\t\tremoveRoute(originalMatcher);\n\t\t} : noop;\n\t}\n\tfunction removeRoute(matcherRef) {\n\t\tif (isRouteName(matcherRef)) {\n\t\t\tconst matcher = matcherMap.get(matcherRef);\n\t\t\tif (matcher) {\n\t\t\t\tmatcherMap.delete(matcherRef);\n\t\t\t\tmatchers.splice(matchers.indexOf(matcher), 1);\n\t\t\t\tmatcher.children.forEach(removeRoute);\n\t\t\t\tmatcher.alias.forEach(removeRoute);\n\t\t\t}\n\t\t} else {\n\t\t\tconst index = matchers.indexOf(matcherRef);\n\t\t\tif (index > -1) {\n\t\t\t\tmatchers.splice(index, 1);\n\t\t\t\tif (matcherRef.record.name) matcherMap.delete(matcherRef.record.name);\n\t\t\t\tmatcherRef.children.forEach(removeRoute);\n\t\t\t\tmatcherRef.alias.forEach(removeRoute);\n\t\t\t}\n\t\t}\n\t}\n\tfunction getRoutes() {\n\t\treturn matchers;\n\t}\n\tfunction insertMatcher(matcher) {\n\t\tconst index = findInsertionIndex(matcher, matchers);\n\t\tmatchers.splice(index, 0, matcher);\n\t\tif (matcher.record.name && !isAliasRecord(matcher)) matcherMap.set(matcher.record.name, matcher);\n\t}\n\tfunction resolve(location, currentLocation) {\n\t\tlet matcher;\n\t\tlet params = {};\n\t\tlet path;\n\t\tlet name;\n\t\tif (\"name\" in location && location.name) {\n\t\t\tmatcher = matcherMap.get(location.name);\n\t\t\tif (!matcher) throw createRouterError(1, { location });\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tconst invalidParams = Object.keys(location.params || {}).filter((paramName) => !matcher.keys.find((k) => k.name === paramName));\n\t\t\t\tif (invalidParams.length) {\n\t\t\t\t\tconst isInherited = !matcher.keys.length && invalidParams.some((name) => name in currentLocation.params);\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0100({\n\t\t\t\t\t\tparams: invalidParams.join(\"\\\", \\\"\"),\n\t\t\t\t\t\tinherited: isInherited ? ` If you are using a catch-all route with a named redirect, pass an empty \\`params\\` object: \\`redirect: { name: '...', params: {} }\\`.` : \"\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tname = matcher.record.name;\n\t\t\tparams = assign(pickParams(currentLocation.params, matcher.keys.filter((k) => !k.optional).concat(matcher.parent ? matcher.parent.keys.filter((k) => k.optional) : []).map((k) => k.name)), location.params && pickParams(location.params, matcher.keys.map((k) => k.name)));\n\t\t\tpath = matcher.stringify(params);\n\t\t} else if (location.path != null) {\n\t\t\tpath = location.path;\n\t\t\tif (process.env.NODE_ENV !== \"production\" && !isAbsolutePath(path)) diagnostics.VUE_ROUTER_R0101({ path });\n\t\t\tmatcher = matchers.find((m) => m.re.test(path));\n\t\t\tif (matcher) {\n\t\t\t\tparams = matcher.parse(path);\n\t\t\t\tname = matcher.record.name;\n\t\t\t\tmatcher.keys.forEach((key) => {\n\t\t\t\t\tif (key.optional && !params[key.name]) delete params[key.name];\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tmatcher = currentLocation.name ? matcherMap.get(currentLocation.name) : matchers.find((m) => m.re.test(currentLocation.path));\n\t\t\tif (!matcher) throw createRouterError(1, {\n\t\t\t\tlocation,\n\t\t\t\tcurrentLocation\n\t\t\t});\n\t\t\tname = matcher.record.name;\n\t\t\tparams = assign({}, currentLocation.params, location.params);\n\t\t\tpath = matcher.stringify(params);\n\t\t}\n\t\tconst matched = [];\n\t\tlet parentMatcher = matcher;\n\t\twhile (parentMatcher) {\n\t\t\tmatched.unshift(parentMatcher.record);\n\t\t\tparentMatcher = parentMatcher.parent;\n\t\t}\n\t\treturn {\n\t\t\tname,\n\t\t\tpath,\n\t\t\tparams,\n\t\t\tmatched,\n\t\t\tmeta: mergeMetaFields(matched)\n\t\t};\n\t}\n\troutes.forEach((route) => addRoute(route));\n\tfunction clearRoutes() {\n\t\tmatchers.length = 0;\n\t\tmatcherMap.clear();\n\t}\n\treturn {\n\t\taddRoute,\n\t\tresolve,\n\t\tremoveRoute,\n\t\tclearRoutes,\n\t\tgetRoutes,\n\t\tgetRecordMatcher\n\t};\n}\n/**\n* Picks an object param to contain only specified keys.\n*\n* @param params - params object to pick from\n* @param keys - keys to pick\n*/\nfunction pickParams(params, keys) {\n\tconst newParams = {};\n\tfor (const key of keys) if (key in params) newParams[key] = params[key];\n\treturn newParams;\n}\n/**\n* Normalizes a RouteRecordRaw. Creates a copy\n*\n* @param record\n* @returns the normalized version\n*/\nfunction normalizeRouteRecord(record) {\n\tconst normalized = {\n\t\tpath: record.path,\n\t\tredirect: record.redirect,\n\t\tname: record.name,\n\t\tmeta: record.meta || {},\n\t\taliasOf: record.aliasOf,\n\t\tbeforeEnter: record.beforeEnter,\n\t\tprops: normalizeRecordProps(record),\n\t\tchildren: record.children || [],\n\t\tinstances: {},\n\t\tleaveGuards: /* @__PURE__ */ new Set(),\n\t\tupdateGuards: /* @__PURE__ */ new Set(),\n\t\tenterCallbacks: {},\n\t\tcomponents: \"components\" in record ? record.components || null : record.component && { default: record.component }\n\t};\n\tObject.defineProperty(normalized, \"mods\", { value: {} });\n\treturn normalized;\n}\n/**\n* Normalize the optional `props` in a record to always be an object similar to\n* components. Also accept a boolean for components.\n* @param record\n*/\nfunction normalizeRecordProps(record) {\n\tconst propsObject = {};\n\tconst props = record.props || false;\n\tif (\"component\" in record) propsObject.default = props;\n\telse for (const name in record.components) propsObject[name] = typeof props === \"object\" ? props[name] : props;\n\treturn propsObject;\n}\n/**\n* Checks if a record or any of its parent is an alias\n* @param record\n*/\nfunction isAliasRecord(record) {\n\twhile (record) {\n\t\tif (record.record.aliasOf) return true;\n\t\trecord = record.parent;\n\t}\n\treturn false;\n}\n/**\n* Merge meta fields of an array of records\n*\n* @param matched - array of matched records\n*/\nfunction mergeMetaFields(matched) {\n\treturn matched.reduce((meta, record) => assign(meta, record.meta), {});\n}\nfunction isSameParam(a, b) {\n\treturn a.name === b.name && a.optional === b.optional && a.repeatable === b.repeatable;\n}\n/**\n* Check if a path and its alias have the same required params\n*\n* @param a - original record\n* @param b - alias record\n*/\nfunction checkSameParams(a, b) {\n\tfor (const key of a.keys) if (!key.optional && !b.keys.find(isSameParam.bind(null, key))) {\n\t\tdiagnostics.VUE_ROUTER_R0102({\n\t\t\talias: b.record.path,\n\t\t\toriginal: a.record.path,\n\t\t\tname: key.name\n\t\t});\n\t\treturn;\n\t}\n\tfor (const key of b.keys) if (!key.optional && !a.keys.find(isSameParam.bind(null, key))) {\n\t\tdiagnostics.VUE_ROUTER_R0102({\n\t\t\talias: b.record.path,\n\t\t\toriginal: a.record.path,\n\t\t\tname: key.name\n\t\t});\n\t\treturn;\n\t}\n}\n/**\n* A route with a name and a child with an empty path without a name should warn when adding the route\n*\n* @param mainNormalizedRecord - RouteRecordNormalized\n* @param parent - RouteRecordMatcher\n*/\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\n\tif (parent && parent.record.name && !mainNormalizedRecord.name && !mainNormalizedRecord.path && mainNormalizedRecord.children.length === 0) diagnostics.VUE_ROUTER_R0103({ name: String(parent.record.name) });\n}\nfunction checkSameNameAsAncestor(record, parent) {\n\tfor (let ancestor = parent; ancestor; ancestor = ancestor.parent) if (ancestor.record.name === record.name) throw new Error(`A route named \"${String(record.name)}\" has been added as a ${parent === ancestor ? \"child\" : \"descendant\"} of a route with the same name. Route names must be unique and a nested route cannot use the same name as an ancestor.`);\n}\nfunction checkMissingParamsInAbsolutePath(record, parent) {\n\tfor (const key of parent.keys) if (!record.keys.find(isSameParam.bind(null, key))) {\n\t\tdiagnostics.VUE_ROUTER_R0104({\n\t\t\tpath: record.record.path,\n\t\t\tname: key.name,\n\t\t\tparent: parent.record.path\n\t\t});\n\t\treturn;\n\t}\n}\n/**\n* Performs a binary search to find the correct insertion index for a new matcher.\n*\n* Matchers are primarily sorted by their score. If scores are tied then we also consider parent/child relationships,\n* with descendants coming before ancestors. If there's still a tie, new routes are inserted after existing routes.\n*\n* @param matcher - new matcher to be inserted\n* @param matchers - existing matchers\n*/\nfunction findInsertionIndex(matcher, matchers) {\n\tlet lower = 0;\n\tlet upper = matchers.length;\n\twhile (lower !== upper) {\n\t\tconst mid = lower + upper >> 1;\n\t\tif (comparePathParserScore(matcher, matchers[mid]) < 0) upper = mid;\n\t\telse lower = mid + 1;\n\t}\n\tconst insertionAncestor = getInsertionAncestor(matcher);\n\tif (insertionAncestor) {\n\t\tupper = matchers.lastIndexOf(insertionAncestor, upper - 1);\n\t\tif (process.env.NODE_ENV !== \"production\" && upper < 0) diagnostics.VUE_ROUTER_R0105({\n\t\t\tancestor: insertionAncestor.record.path,\n\t\t\trecord: matcher.record.path\n\t\t});\n\t}\n\treturn upper;\n}\nfunction getInsertionAncestor(matcher) {\n\tlet ancestor = matcher;\n\twhile (ancestor = ancestor.parent) if (isMatchable(ancestor) && comparePathParserScore(matcher, ancestor) === 0) return ancestor;\n}\n/**\n* Checks if a matcher can be reachable. This means if it's possible to reach it as a route. For example, routes without\n* a component, or name, or redirect, are just used to group other routes.\n* @param matcher\n* @param matcher.record record of the matcher\n* @returns\n*/\nfunction isMatchable({ record }) {\n\treturn !!(record.name || record.components && Object.keys(record.components).length || record.redirect);\n}\n//#endregion\n//#region src/RouterLink.ts\n/**\n* Returns the internal behavior of a {@link RouterLink} without the rendering part.\n*\n* @param props - a `to` location and an optional `replace` flag\n*/\nfunction useLink(props) {\n\tconst router = inject(routerKey);\n\tconst currentRoute = inject(routeLocationKey);\n\tlet hasPrevious = false;\n\tlet previousTo = null;\n\tconst route = computed(() => {\n\t\tconst to = unref(props.to);\n\t\tif (process.env.NODE_ENV !== \"production\" && (!hasPrevious || to !== previousTo)) {\n\t\t\tif (!isRouteLocation(to)) diagnostics.VUE_ROUTER_R0050({ to });\n\t\t\tpreviousTo = to;\n\t\t\thasPrevious = true;\n\t\t}\n\t\treturn router.resolve(to);\n\t});\n\tconst activeRecordIndex = computed(() => {\n\t\tconst { matched } = route.value;\n\t\tconst { length } = matched;\n\t\tconst routeMatched = matched[length - 1];\n\t\tconst currentMatched = currentRoute.matched;\n\t\tif (!routeMatched || !currentMatched.length) return -1;\n\t\tconst index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\n\t\tif (index > -1) return index;\n\t\tconst parentRecordPath = getOriginalPath(matched[length - 2]);\n\t\treturn length > 1 && getOriginalPath(routeMatched) === parentRecordPath && currentMatched[currentMatched.length - 1].path !== parentRecordPath ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2])) : index;\n\t});\n\tconst isActive = computed(() => activeRecordIndex.value > -1 && includesParams(currentRoute.params, route.value.params));\n\tconst isExactActive = computed(() => activeRecordIndex.value > -1 && activeRecordIndex.value === currentRoute.matched.length - 1 && isSameRouteLocationParams(currentRoute.params, route.value.params));\n\tfunction navigate(e = {}) {\n\t\tif (guardEvent(e)) {\n\t\t\tconst p = router[unref(props.replace) ? \"replace\" : \"push\"](unref(props.to)).catch(noop);\n\t\t\tif (props.viewTransition && typeof document !== \"undefined\" && \"startViewTransition\" in document) document.startViewTransition(() => p);\n\t\t\treturn p;\n\t\t}\n\t\treturn Promise.resolve();\n\t}\n\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n\t\tconst instance = getCurrentInstance();\n\t\tif (instance) {\n\t\t\tconst linkContextDevtools = {\n\t\t\t\troute: route.value,\n\t\t\t\tisActive: isActive.value,\n\t\t\t\tisExactActive: isExactActive.value,\n\t\t\t\terror: null\n\t\t\t};\n\t\t\tinstance.__vrl_devtools = instance.__vrl_devtools || [];\n\t\t\tinstance.__vrl_devtools.push(linkContextDevtools);\n\t\t\twatchEffect(() => {\n\t\t\t\tlinkContextDevtools.route = route.value;\n\t\t\t\tlinkContextDevtools.isActive = isActive.value;\n\t\t\t\tlinkContextDevtools.isExactActive = isExactActive.value;\n\t\t\t\tlinkContextDevtools.error = isRouteLocation(unref(props.to)) ? null : \"Invalid \\\"to\\\" value\";\n\t\t\t}, { flush: \"post\" });\n\t\t}\n\t}\n\t/**\n\t* NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\n\t*/\n\treturn {\n\t\troute,\n\t\thref: computed(() => route.value.href),\n\t\tisActive,\n\t\tisExactActive,\n\t\tnavigate\n\t};\n}\nfunction preferSingleVNode(vnodes) {\n\treturn vnodes.length === 1 ? vnodes[0] : vnodes;\n}\n/**\n* Component to render a link that triggers a navigation on click.\n*/\nconst RouterLink = /* @__PURE__ */ defineComponent({\n\tname: \"RouterLink\",\n\tcompatConfig: { MODE: 3 },\n\tprops: {\n\t\tto: {\n\t\t\ttype: [String, Object],\n\t\t\trequired: true\n\t\t},\n\t\treplace: Boolean,\n\t\tactiveClass: String,\n\t\texactActiveClass: String,\n\t\tcustom: Boolean,\n\t\tariaCurrentValue: {\n\t\t\ttype: String,\n\t\t\tdefault: \"page\"\n\t\t},\n\t\tviewTransition: Boolean\n\t},\n\tuseLink,\n\tsetup(props, { slots }) {\n\t\tconst link = reactive(useLink(props));\n\t\tconst { options } = inject(routerKey);\n\t\tconst elClass = computed(() => ({\n\t\t\t[getLinkClass(props.activeClass, options.linkActiveClass, \"router-link-active\")]: link.isActive,\n\t\t\t[getLinkClass(props.exactActiveClass, options.linkExactActiveClass, \"router-link-exact-active\")]: link.isExactActive\n\t\t}));\n\t\treturn () => {\n\t\t\tconst children = slots.default && preferSingleVNode(slots.default(link));\n\t\t\treturn props.custom ? children : h(\"a\", {\n\t\t\t\t\"aria-current\": link.isExactActive ? props.ariaCurrentValue : null,\n\t\t\t\thref: link.href,\n\t\t\t\tonClick: link.navigate,\n\t\t\t\tclass: elClass.value\n\t\t\t}, children);\n\t\t};\n\t}\n});\nfunction guardEvent(e) {\n\tif (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) return;\n\tif (e.defaultPrevented) return;\n\tif (e.button !== void 0 && e.button !== 0) return;\n\tif (e.currentTarget && e.currentTarget.getAttribute) {\n\t\tconst target = e.currentTarget.getAttribute(\"target\");\n\t\tif (/\\b_blank\\b/i.test(target)) return;\n\t}\n\tif (e.preventDefault) e.preventDefault();\n\treturn true;\n}\nfunction includesParams(outer, inner) {\n\tfor (const key in inner) {\n\t\tconst innerValue = inner[key];\n\t\tconst outerValue = outer[key];\n\t\tif (isArray(innerValue)) {\n\t\t\tif (!isArray(outerValue) || outerValue.length !== innerValue.length || innerValue.some((value, i) => value.valueOf() !== outerValue[i].valueOf())) return false;\n\t\t} else if (innerValue !== outerValue) return false;\n\t}\n\treturn true;\n}\n/**\n* Get the original path value of a record by following its aliasOf\n* @param record\n*/\nfunction getOriginalPath(record) {\n\treturn record ? record.aliasOf ? record.aliasOf.path : record.path : \"\";\n}\n/**\n* Utility class to get the active class based on defaults.\n* @param propClass\n* @param globalClass\n* @param defaultClass\n*/\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null ? propClass : globalClass != null ? globalClass : defaultClass;\n//#endregion\n//#region src/RouterView.ts\nconst RouterViewImpl = /*#__PURE__*/ defineComponent({\n\tname: \"RouterView\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: \"default\"\n\t\t},\n\t\troute: Object\n\t},\n\tcompatConfig: { MODE: 3 },\n\tsetup(props, { attrs, slots }) {\n\t\tprocess.env.NODE_ENV !== \"production\" && warnDeprecatedUsage();\n\t\tconst injectedRoute = inject(routerViewLocationKey);\n\t\tconst routeToDisplay = computed(() => props.route || injectedRoute.value);\n\t\tconst injectedDepth = inject(viewDepthKey, 0);\n\t\tconst depth = computed(() => {\n\t\t\tlet initialDepth = unref(injectedDepth);\n\t\t\tconst { matched } = routeToDisplay.value;\n\t\t\tlet matchedRoute;\n\t\t\twhile ((matchedRoute = matched[initialDepth]) && !matchedRoute.components) initialDepth++;\n\t\t\treturn initialDepth;\n\t\t});\n\t\tconst matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\n\t\tprovide(viewDepthKey, computed(() => depth.value + 1));\n\t\tprovide(matchedRouteKey, matchedRouteRef);\n\t\tprovide(routerViewLocationKey, routeToDisplay);\n\t\tconst onRouteRenderedCallbacks = /* @__PURE__ */ new Set();\n\t\tprovide(routerViewOnRouteRenderedKey, onRouteRenderedCallbacks);\n\t\tconst viewRef = ref();\n\t\tlet settledRoute = START_LOCATION_NORMALIZED;\n\t\tconst { app } = getCurrentInstance().appContext;\n\t\twatch(() => [\n\t\t\tviewRef.value,\n\t\t\tmatchedRouteRef.value,\n\t\t\tprops.name\n\t\t], ([instance, to, name], [oldInstance, from, _oldName]) => {\n\t\t\tif (to) {\n\t\t\t\tto.instances[name] = instance;\n\t\t\t\tif (from && from !== to && instance && instance === oldInstance) {\n\t\t\t\t\tif (!to.leaveGuards.size) to.leaveGuards = from.leaveGuards;\n\t\t\t\t\tif (!to.updateGuards.size) to.updateGuards = from.updateGuards;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (instance && to && (!from || !isSameRouteRecord(to, from) || !oldInstance)) (to.enterCallbacks[name] || []).forEach((callback) => callback(instance));\n\t\t}, { flush: \"post\" });\n\t\treturn () => {\n\t\t\tconst route = routeToDisplay.value;\n\t\t\tconst currentName = props.name;\n\t\t\tconst matchedRoute = matchedRouteRef.value;\n\t\t\tconst ViewComponent = matchedRoute && matchedRoute.components[currentName];\n\t\t\tif (!ViewComponent) return normalizeSlot(slots.default, {\n\t\t\t\tComponent: ViewComponent,\n\t\t\t\troute\n\t\t\t});\n\t\t\tconst routePropsOption = matchedRoute.props[currentName];\n\t\t\tconst routeProps = routePropsOption ? routePropsOption === true ? route.params : typeof routePropsOption === \"function\" ? routePropsOption(route) : routePropsOption : null;\n\t\t\tconst onVnodeUnmounted = (vnode) => {\n\t\t\t\tif (vnode.component.isUnmounted) matchedRoute.instances[currentName] = null;\n\t\t\t};\n\t\t\tconst onVnodeSettled = (vnode) => nextTick(() => {\n\t\t\t\tif (settledRoute === route || routeToDisplay.value !== route || vnode.el.getRootNode() !== app._container.getRootNode()) return;\n\t\t\t\tconst from = settledRoute;\n\t\t\t\tsettledRoute = route;\n\t\t\t\tfor (const callback of onRouteRenderedCallbacks) callback(route, from);\n\t\t\t});\n\t\t\tconst component = h(ViewComponent, assign({}, routeProps, attrs, {\n\t\t\t\tonVnodeUnmounted,\n\t\t\t\tonVnodeMounted: onVnodeSettled,\n\t\t\t\tonVnodeUpdated: onVnodeSettled,\n\t\t\t\tref: viewRef\n\t\t\t}));\n\t\t\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser && component.ref) {\n\t\t\t\tconst info = {\n\t\t\t\t\tdepth: depth.value,\n\t\t\t\t\tname: matchedRoute.name,\n\t\t\t\t\tpath: matchedRoute.path,\n\t\t\t\t\tmeta: matchedRoute.meta\n\t\t\t\t};\n\t\t\t\t(isArray(component.ref) ? component.ref.map((r) => r.i) : [component.ref.i]).forEach((instance) => {\n\t\t\t\t\tif (instance) instance.__vrv_devtools = info;\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn normalizeSlot(slots.default, {\n\t\t\t\tComponent: component,\n\t\t\t\troute\n\t\t\t}) || component;\n\t\t};\n\t}\n});\nfunction normalizeSlot(slot, data) {\n\tif (!slot) return null;\n\tconst slotContent = slot(data);\n\treturn slotContent.length === 1 ? slotContent[0] : slotContent;\n}\n/**\n* Component to display the current route the user is at.\n*/\nconst RouterView = RouterViewImpl;\nfunction warnDeprecatedUsage() {\n\tconst instance = getCurrentInstance();\n\tconst parentName = instance.parent && instance.parent.type.name;\n\tconst parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type;\n\tif (parentName && (parentName === \"KeepAlive\" || parentName.includes(\"Transition\")) && typeof parentSubTreeType === \"object\" && parentSubTreeType.name === \"RouterView\") {\n\t\tconst comp = parentName === \"KeepAlive\" ? \"keep-alive\" : \"transition\";\n\t\tdiagnostics.VUE_ROUTER_R0060({ comp });\n\t}\n}\n//#endregion\n//#region src/router.ts\n/**\n* Creates a Router instance that can be used by a Vue app.\n*\n* @param options - {@link RouterOptions}\n*/\nfunction createRouter(options) {\n\tconst matcher = options.matcher || createRouterMatcher(options.routes, options);\n\tconst parseQuery$1 = options.parseQuery || parseQuery;\n\tconst stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\n\tconst routerHistory = options.history;\n\tif (process.env.NODE_ENV !== \"production\" && !routerHistory) throw new Error(\"Provide the \\\"history\\\" option when calling \\\"createRouter()\\\": https://router.vuejs.org/api/interfaces/RouterOptions.html#history\");\n\tconst beforeGuards = useCallbacks();\n\tconst beforeResolveGuards = useCallbacks();\n\tconst afterGuards = useCallbacks();\n\tconst currentRoute = shallowRef(START_LOCATION_NORMALIZED);\n\tconst routesVersion = shallowRef(0);\n\tlet pendingLocation = START_LOCATION_NORMALIZED;\n\tif (isBrowser && options.scrollBehavior && \"scrollRestoration\" in history) history.scrollRestoration = \"manual\";\n\tconst normalizeParams = applyToParams.bind(null, (paramValue) => \"\" + paramValue);\n\tconst encodeParams = applyToParams.bind(null, encodeParam);\n\tconst decodeParams = applyToParams.bind(null, decode);\n\tfunction addRoute(parentOrRoute, route) {\n\t\tlet parent;\n\t\tlet record;\n\t\tif (isRouteName(parentOrRoute)) {\n\t\t\tparent = matcher.getRecordMatcher(parentOrRoute);\n\t\t\tif (process.env.NODE_ENV !== \"production\" && !parent) diagnostics.VUE_ROUTER_R0001({ name: String(parentOrRoute) });\n\t\t\trecord = route;\n\t\t} else record = parentOrRoute;\n\t\tconst removeRoute = matcher.addRoute(record, parent);\n\t\troutesVersion.value++;\n\t\treturn () => {\n\t\t\tremoveRoute();\n\t\t\troutesVersion.value++;\n\t\t};\n\t}\n\tfunction removeRoute(name) {\n\t\tconst recordMatcher = matcher.getRecordMatcher(name);\n\t\tif (recordMatcher) {\n\t\t\tmatcher.removeRoute(recordMatcher);\n\t\t\troutesVersion.value++;\n\t\t} else if (process.env.NODE_ENV !== \"production\") diagnostics.VUE_ROUTER_R0002({ name: String(name) });\n\t}\n\tfunction clearRoutes() {\n\t\tmatcher.clearRoutes();\n\t\troutesVersion.value++;\n\t}\n\tfunction getRoutes() {\n\t\treturn matcher.getRoutes().map((routeMatcher) => routeMatcher.record);\n\t}\n\tfunction hasRoute(name) {\n\t\treturn !!matcher.getRecordMatcher(name);\n\t}\n\tfunction resolve(rawLocation, currentLocation) {\n\t\troutesVersion.value;\n\t\tif (typeof rawLocation === \"string\") {\n\t\t\tcurrentLocation = currentLocation || (rawLocation.startsWith(\"/\") ? START_LOCATION_NORMALIZED : currentRoute.value);\n\t\t\tconst locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\n\t\t\tconst matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\n\t\t\tconst href = routerHistory.createHref(locationNormalized.fullPath);\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tif (href.startsWith(\"//\")) diagnostics.VUE_ROUTER_R0003({\n\t\t\t\t\tlocation: rawLocation,\n\t\t\t\t\thref\n\t\t\t\t});\n\t\t\t\telse if (!matchedRoute.matched.length) diagnostics.VUE_ROUTER_R0004({ path: rawLocation });\n\t\t\t}\n\t\t\treturn assign(locationNormalized, matchedRoute, {\n\t\t\t\tparams: decodeParams(matchedRoute.params),\n\t\t\t\tredirectedFrom: void 0,\n\t\t\t\thref\n\t\t\t});\n\t\t}\n\t\tif (process.env.NODE_ENV !== \"production\" && !isRouteLocation(rawLocation)) {\n\t\t\tdiagnostics.VUE_ROUTER_R0005({ rawLocation });\n\t\t\treturn resolve({});\n\t\t}\n\t\tcurrentLocation = assign({}, currentLocation || (rawLocation.path != null && rawLocation.path.startsWith(\"/\") && !(\"name\" in rawLocation && rawLocation.name) ? START_LOCATION_NORMALIZED : currentRoute.value));\n\t\tlet matcherLocation;\n\t\tif (rawLocation.path != null) {\n\t\t\tif (process.env.NODE_ENV !== \"production\" && \"params\" in rawLocation && !(\"name\" in rawLocation) && Object.keys(rawLocation.params).length) diagnostics.VUE_ROUTER_R0006({ path: rawLocation.path });\n\t\t\tmatcherLocation = assign({}, rawLocation, { path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path });\n\t\t} else {\n\t\t\tconst targetParams = assign({}, rawLocation.params);\n\t\t\tfor (const key in targetParams) if (targetParams[key] == null) delete targetParams[key];\n\t\t\tmatcherLocation = assign({}, rawLocation, { params: encodeParams(targetParams) });\n\t\t\tcurrentLocation.params = encodeParams(currentLocation.params);\n\t\t}\n\t\tconst matchedRoute = matcher.resolve(matcherLocation, currentLocation);\n\t\tconst hash = rawLocation.hash || \"\";\n\t\tif (process.env.NODE_ENV !== \"production\" && hash && !hash.startsWith(\"#\")) diagnostics.VUE_ROUTER_R0007({ hash });\n\t\tmatchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\n\t\tconst fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\n\t\t\thash: encodeHash(hash),\n\t\t\tpath: matchedRoute.path\n\t\t}));\n\t\tconst href = routerHistory.createHref(fullPath);\n\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\tif (href.startsWith(\"//\")) diagnostics.VUE_ROUTER_R0003({\n\t\t\t\tlocation: rawLocation,\n\t\t\t\thref\n\t\t\t});\n\t\t\telse if (!matchedRoute.matched.length) diagnostics.VUE_ROUTER_R0004({ path: rawLocation.path != null ? rawLocation.path : rawLocation });\n\t\t}\n\t\treturn assign({\n\t\t\tfullPath,\n\t\t\thash,\n\t\t\tquery: stringifyQuery$1 === stringifyQuery ? normalizeQuery(rawLocation.query) : rawLocation.query || {}\n\t\t}, matchedRoute, {\n\t\t\tredirectedFrom: void 0,\n\t\t\thref\n\t\t});\n\t}\n\tfunction locationAsObject(to) {\n\t\treturn typeof to === \"string\" ? parseURL(parseQuery$1, to, currentRoute.value.path) : assign({}, to);\n\t}\n\tfunction checkCanceledNavigation(to, from) {\n\t\tif (pendingLocation !== to) return createRouterError(8, {\n\t\t\tfrom,\n\t\t\tto\n\t\t});\n\t}\n\tfunction push(to) {\n\t\treturn pushWithRedirect(to);\n\t}\n\tfunction replace(to) {\n\t\treturn push(assign(locationAsObject(to), { replace: true }));\n\t}\n\tfunction handleRedirectRecord(to, from) {\n\t\tconst lastMatched = to.matched[to.matched.length - 1];\n\t\tif (lastMatched && lastMatched.redirect) {\n\t\t\tconst { redirect } = lastMatched;\n\t\t\tlet newTargetLocation = typeof redirect === \"function\" ? redirect(to, from) : redirect;\n\t\t\tif (typeof newTargetLocation === \"string\") {\n\t\t\t\tnewTargetLocation = newTargetLocation.includes(\"?\") || newTargetLocation.includes(\"#\") ? newTargetLocation = locationAsObject(newTargetLocation) : { path: newTargetLocation };\n\t\t\t\tnewTargetLocation.params = {};\n\t\t\t}\n\t\t\tif (process.env.NODE_ENV !== \"production\" && newTargetLocation.path == null && !(\"name\" in newTargetLocation)) {\n\t\t\t\tdiagnostics.VUE_ROUTER_R0008({\n\t\t\t\t\ttarget: JSON.stringify(newTargetLocation, null, 2),\n\t\t\t\t\tto: to.fullPath\n\t\t\t\t});\n\t\t\t\tthrow new Error(\"Invalid redirect\");\n\t\t\t}\n\t\t\treturn assign({\n\t\t\t\tquery: to.query,\n\t\t\t\thash: to.hash,\n\t\t\t\tparams: newTargetLocation.path != null ? {} : to.params\n\t\t\t}, newTargetLocation);\n\t\t}\n\t}\n\tfunction pushWithRedirect(to, redirectedFrom) {\n\t\tconst targetLocation = pendingLocation = resolve(to);\n\t\tconst from = currentRoute.value;\n\t\tconst data = to.state;\n\t\tconst force = to.force;\n\t\tconst replace = to.replace === true;\n\t\tconst shouldRedirect = handleRedirectRecord(targetLocation, from);\n\t\tif (shouldRedirect) return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\n\t\t\tstate: typeof shouldRedirect === \"object\" ? assign({}, data, shouldRedirect.state) : data,\n\t\t\tforce,\n\t\t\treplace\n\t\t}), redirectedFrom || targetLocation);\n\t\tconst toLocation = targetLocation;\n\t\ttoLocation.redirectedFrom = redirectedFrom;\n\t\tlet failure;\n\t\tif (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\n\t\t\tfailure = createRouterError(16, {\n\t\t\t\tto: toLocation,\n\t\t\t\tfrom\n\t\t\t});\n\t\t\thandleScroll(from, from, true, false);\n\t\t}\n\t\treturn (failure ? Promise.resolve(failure) : navigate(toLocation, from)).catch((error) => isNavigationFailure(error) ? isNavigationFailure(error, 2) ? error : markAsReady(error) : triggerError(error, toLocation, from)).then((failure) => {\n\t\t\tif (failure) {\n\t\t\t\tif (isNavigationFailure(failure, 2)) {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\" && isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) && redirectedFrom && (redirectedFrom._count = redirectedFrom._count ? redirectedFrom._count + 1 : 1) > 30) {\n\t\t\t\t\t\tdiagnostics.VUE_ROUTER_R0009({\n\t\t\t\t\t\t\tfrom: from.fullPath,\n\t\t\t\t\t\t\tto: toLocation.fullPath\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn Promise.reject(/* @__PURE__ */ new Error(\"Infinite redirect in navigation guard\"));\n\t\t\t\t\t}\n\t\t\t\t\treturn pushWithRedirect(assign({ replace }, locationAsObject(failure.to), {\n\t\t\t\t\t\tstate: typeof failure.to === \"object\" ? assign({}, data, failure.to.state) : data,\n\t\t\t\t\t\tforce\n\t\t\t\t\t}), redirectedFrom || toLocation);\n\t\t\t\t}\n\t\t\t} else failure = finalizeNavigation(toLocation, from, true, replace, data);\n\t\t\ttriggerAfterEach(toLocation, from, failure);\n\t\t\treturn failure;\n\t\t});\n\t}\n\t/**\n\t* Helper to reject and skip all navigation guards if a new navigation happened\n\t* @param to\n\t* @param from\n\t*/\n\tfunction checkCanceledNavigationAndReject(to, from) {\n\t\tconst error = checkCanceledNavigation(to, from);\n\t\treturn error ? Promise.reject(error) : Promise.resolve();\n\t}\n\tfunction runWithContext(fn) {\n\t\tconst app = installedApps.values().next().value;\n\t\treturn app && typeof app.runWithContext === \"function\" ? app.runWithContext(fn) : fn();\n\t}\n\tfunction navigate(to, from) {\n\t\tlet guards;\n\t\tconst [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\n\t\tguards = extractComponentsGuards(leavingRecords.reverse(), \"beforeRouteLeave\", to, from);\n\t\tfor (const record of leavingRecords) record.leaveGuards.forEach((guard) => {\n\t\t\tguards.push(guardToPromiseFn(guard, to, from));\n\t\t});\n\t\tconst canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\n\t\tguards.push(canceledNavigationCheck);\n\t\treturn runGuardQueue(guards).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const guard of beforeGuards.list()) guards.push(guardToPromiseFn(guard, to, from));\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = extractComponentsGuards(updatingRecords, \"beforeRouteUpdate\", to, from);\n\t\t\tfor (const record of updatingRecords) record.updateGuards.forEach((guard) => {\n\t\t\t\tguards.push(guardToPromiseFn(guard, to, from));\n\t\t\t});\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const record of enteringRecords) if (record.beforeEnter) {\n\t\t\t\tif (isArray(record.beforeEnter)) for (const beforeEnter of record.beforeEnter) guards.push(guardToPromiseFn(beforeEnter, to, from));\n\t\t\t\telse guards.push(guardToPromiseFn(record.beforeEnter, to, from));\n\t\t\t}\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tto.matched.forEach((record) => record.enterCallbacks = {});\n\t\t\tguards = extractComponentsGuards(enteringRecords, \"beforeRouteEnter\", to, from, runWithContext);\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const guard of beforeResolveGuards.list()) guards.push(guardToPromiseFn(guard, to, from));\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).catch((err) => isNavigationFailure(err, 8) ? err : Promise.reject(err));\n\t}\n\tfunction triggerAfterEach(to, from, failure) {\n\t\tafterGuards.list().forEach((guard) => runWithContext(() => guard(to, from, failure)));\n\t}\n\t/**\n\t* - Cleans up any navigation guards\n\t* - Changes the url if necessary\n\t* - Calls the scrollBehavior\n\t*/\n\tfunction finalizeNavigation(toLocation, from, isPush, replace, data) {\n\t\tconst error = checkCanceledNavigation(toLocation, from);\n\t\tif (error) return error;\n\t\tconst isFirstNavigation = from === START_LOCATION_NORMALIZED;\n\t\tconst state = !isBrowser ? {} : history.state;\n\t\tif (isPush) {\n\t\t\tif (replace || isFirstNavigation) routerHistory.replace(toLocation.fullPath, assign({ scroll: isFirstNavigation && state && state.scroll }, data));\n\t\t\telse routerHistory.push(toLocation.fullPath, data);\n\t\t}\n\t\tcurrentRoute.value = toLocation;\n\t\thandleScroll(toLocation, from, isPush, isFirstNavigation);\n\t\tmarkAsReady();\n\t}\n\tlet removeHistoryListener;\n\tfunction setupListeners() {\n\t\tif (removeHistoryListener) return;\n\t\tremoveHistoryListener = routerHistory.listen((to, _from, info) => {\n\t\t\tif (!router.listening) return;\n\t\t\tconst toLocation = resolve(to);\n\t\t\tconst shouldRedirect = handleRedirectRecord(toLocation, router.currentRoute.value);\n\t\t\tif (shouldRedirect) {\n\t\t\t\tpushWithRedirect(assign(shouldRedirect, {\n\t\t\t\t\treplace: true,\n\t\t\t\t\tforce: true\n\t\t\t\t}), toLocation).catch(noop);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tpendingLocation = toLocation;\n\t\t\tconst from = currentRoute.value;\n\t\t\tif (isBrowser && info.delta) saveScrollPosition(getScrollKey(from.fullPath, info.delta));\n\t\t\tnavigate(toLocation, from).catch((error) => {\n\t\t\t\tif (isNavigationFailure(error, 12)) return error;\n\t\t\t\tif (isNavigationFailure(error, 2)) {\n\t\t\t\t\tpushWithRedirect(assign(locationAsObject(error.to), { force: true }), toLocation).then((failure) => {\n\t\t\t\t\t\tif (isNavigationFailure(failure, 20) && !info.delta && info.type === \"pop\") routerHistory.go(-1, false);\n\t\t\t\t\t}).catch(noop);\n\t\t\t\t\treturn Promise.reject();\n\t\t\t\t}\n\t\t\t\tif (info.delta) routerHistory.go(-info.delta, false);\n\t\t\t\treturn triggerError(error, toLocation, from);\n\t\t\t}).then((failure) => {\n\t\t\t\tfailure = failure || finalizeNavigation(toLocation, from, false);\n\t\t\t\tif (failure) {\n\t\t\t\t\tif (info.delta && !isNavigationFailure(failure, 8)) routerHistory.go(-info.delta, false);\n\t\t\t\t\telse if (info.type === \"pop\" && isNavigationFailure(failure, 20)) routerHistory.go(-1, false);\n\t\t\t\t}\n\t\t\t\ttriggerAfterEach(toLocation, from, failure);\n\t\t\t}).catch(noop);\n\t\t});\n\t}\n\tlet readyHandlers = useCallbacks();\n\tlet errorListeners = useCallbacks();\n\tlet ready;\n\t/**\n\t* Trigger errorListeners added via onError and throws the error as well\n\t*\n\t* @param error - error to throw\n\t* @param to - location we were navigating to when the error happened\n\t* @param from - location we were navigating from when the error happened\n\t* @returns the error as a rejected promise\n\t*/\n\tfunction triggerError(error, to, from) {\n\t\tmarkAsReady(error);\n\t\tconst list = errorListeners.list();\n\t\tif (list.length) list.forEach((handler) => handler(error, to, from));\n\t\telse {\n\t\t\tif (process.env.NODE_ENV !== \"production\") diagnostics.VUE_ROUTER_R0010();\n\t\t\tconsole.error(error);\n\t\t}\n\t\treturn Promise.reject(error);\n\t}\n\tfunction isReady() {\n\t\tif (ready && currentRoute.value !== START_LOCATION_NORMALIZED) return Promise.resolve();\n\t\treturn new Promise((resolve, reject) => {\n\t\t\treadyHandlers.add([resolve, reject]);\n\t\t});\n\t}\n\tfunction markAsReady(err) {\n\t\tif (!ready) {\n\t\t\tready = !err;\n\t\t\tsetupListeners();\n\t\t\treadyHandlers.list().forEach(([resolve, reject]) => err ? reject(err) : resolve());\n\t\t\treadyHandlers.reset();\n\t\t}\n\t\treturn err;\n\t}\n\tfunction handleScroll(to, from, isPush, isFirstNavigation) {\n\t\tconst { scrollBehavior } = options;\n\t\tif (!isBrowser || !scrollBehavior) return Promise.resolve();\n\t\tconst scrollPosition = !isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0)) || (isFirstNavigation || !isPush) && history.state && history.state.scroll || null;\n\t\treturn nextTick().then(() => scrollBehavior(to, from, scrollPosition)).then((position) => to === currentRoute.value && position && scrollToPosition(position)).catch((err) => to === currentRoute.value && triggerError(err, to, from));\n\t}\n\tconst go = (delta) => routerHistory.go(delta);\n\tlet started;\n\tconst installedApps = /* @__PURE__ */ new Set();\n\tconst router = {\n\t\tcurrentRoute,\n\t\tlistening: true,\n\t\taddRoute,\n\t\tremoveRoute,\n\t\tclearRoutes,\n\t\thasRoute,\n\t\tgetRoutes,\n\t\tresolve,\n\t\toptions,\n\t\tpush,\n\t\treplace,\n\t\tgo,\n\t\tback: () => go(-1),\n\t\tforward: () => go(1),\n\t\tbeforeEach: beforeGuards.add,\n\t\tbeforeResolve: beforeResolveGuards.add,\n\t\tafterEach: afterGuards.add,\n\t\tonError: errorListeners.add,\n\t\tisReady,\n\t\tinstall(app) {\n\t\t\tapp.component(\"RouterLink\", RouterLink);\n\t\t\tapp.component(\"RouterView\", RouterView);\n\t\t\tapp.config.globalProperties.$router = router;\n\t\t\tObject.defineProperty(app.config.globalProperties, \"$route\", {\n\t\t\t\tenumerable: true,\n\t\t\t\tget: () => unref(currentRoute)\n\t\t\t});\n\t\t\tif (isBrowser && !started && currentRoute.value === START_LOCATION_NORMALIZED) {\n\t\t\t\tstarted = true;\n\t\t\t\tpush(routerHistory.location).catch((err) => {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") diagnostics.VUE_ROUTER_R0011({ cause: err });\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst reactiveRoute = {};\n\t\t\tfor (const key in START_LOCATION_NORMALIZED) Object.defineProperty(reactiveRoute, key, {\n\t\t\t\tget: () => currentRoute.value[key],\n\t\t\t\tenumerable: true\n\t\t\t});\n\t\t\tapp.provide(routerKey, router);\n\t\t\tapp.provide(routeLocationKey, shallowReactive(reactiveRoute));\n\t\t\tapp.provide(routerViewLocationKey, currentRoute);\n\t\t\tconst unmountApp = app.unmount;\n\t\t\tinstalledApps.add(app);\n\t\t\tapp.unmount = function() {\n\t\t\t\tinstalledApps.delete(app);\n\t\t\t\tif (installedApps.size < 1) {\n\t\t\t\t\tpendingLocation = START_LOCATION_NORMALIZED;\n\t\t\t\t\tremoveHistoryListener && removeHistoryListener();\n\t\t\t\t\tremoveHistoryListener = null;\n\t\t\t\t\tcurrentRoute.value = START_LOCATION_NORMALIZED;\n\t\t\t\t\tstarted = false;\n\t\t\t\t\tready = false;\n\t\t\t\t}\n\t\t\t\tunmountApp();\n\t\t\t};\n\t\t\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser && true) addDevtools(app, router, matcher);\n\t\t}\n\t};\n\tfunction runGuardQueue(guards) {\n\t\treturn guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());\n\t}\n\treturn router;\n}\n//#endregion\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };\n","/**\n * @typedef {import('mdast').Nodes} Nodes\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [includeImageAlt=true]\n * Whether to use `alt` for `image`s (default: `true`).\n * @property {boolean | null | undefined} [includeHtml=true]\n * Whether to use `value` of HTML (default: `true`).\n */\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Get the text content of a node or list of nodes.\n *\n * Prefers the node’s plain-text fields, otherwise serializes its children,\n * and if the given value is an array, serialize the nodes in it.\n *\n * @param {unknown} [value]\n * Thing to serialize, typically `Node`.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Serialized `value`.\n */\nexport function toString(value, options) {\n const settings = options || emptyOptions\n const includeImageAlt =\n typeof settings.includeImageAlt === 'boolean'\n ? settings.includeImageAlt\n : true\n const includeHtml =\n typeof settings.includeHtml === 'boolean' ? settings.includeHtml : true\n\n return one(value, includeImageAlt, includeHtml)\n}\n\n/**\n * One node or several nodes.\n *\n * @param {unknown} value\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized node.\n */\nfunction one(value, includeImageAlt, includeHtml) {\n if (node(value)) {\n if ('value' in value) {\n return value.type === 'html' && !includeHtml ? '' : value.value\n }\n\n if (includeImageAlt && 'alt' in value && value.alt) {\n return value.alt\n }\n\n if ('children' in value) {\n return all(value.children, includeImageAlt, includeHtml)\n }\n }\n\n if (Array.isArray(value)) {\n return all(value, includeImageAlt, includeHtml)\n }\n\n return ''\n}\n\n/**\n * Serialize a list of nodes.\n *\n * @param {Array} values\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized nodes.\n */\nfunction all(values, includeImageAlt, includeHtml) {\n /** @type {Array} */\n const result = []\n let index = -1\n\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt, includeHtml)\n }\n\n return result.join('')\n}\n\n/**\n * Check if `value` looks like a node.\n *\n * @param {unknown} value\n * Thing.\n * @returns {value is Nodes}\n * Whether `value` is a node.\n */\nfunction node(value) {\n return Boolean(value && typeof value === 'object')\n}\n","export const VOID = -1;\nexport const PRIMITIVE = 0;\nexport const ARRAY = 1;\nexport const OBJECT = 2;\nexport const DATE = 3;\nexport const REGEXP = 4;\nexport const MAP = 5;\nexport const SET = 6;\nexport const ERROR = 7;\nexport const BIGINT = 8;\n// export const SYMBOL = 9;\n","import {\n VOID, PRIMITIVE,\n ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst env = typeof self === 'object' ? self : globalThis;\n\nconst guard = (name, init) => {\n switch (name) {\n case 'Function':\n case 'SharedWorker':\n case 'Worker':\n case 'eval':\n case 'setInterval':\n case 'setTimeout':\n throw new TypeError('unable to deserialize ' + name);\n }\n return new env[name](init);\n};\n\nconst deserializer = ($, _) => {\n const as = (out, index) => {\n $.set(index, out);\n return out;\n };\n\n const unpair = index => {\n if ($.has(index))\n return $.get(index);\n\n const [type, value] = _[index];\n switch (type) {\n case PRIMITIVE:\n case VOID:\n return as(value, index);\n case ARRAY: {\n const arr = as([], index);\n for (const index of value)\n arr.push(unpair(index));\n return arr;\n }\n case OBJECT: {\n const object = as({}, index);\n for (const [key, index] of value)\n object[unpair(key)] = unpair(index);\n return object;\n }\n case DATE:\n return as(new Date(value), index);\n case REGEXP: {\n const {source, flags} = value;\n return as(new RegExp(source, flags), index);\n }\n case MAP: {\n const map = as(new Map, index);\n for (const [key, index] of value)\n map.set(unpair(key), unpair(index));\n return map;\n }\n case SET: {\n const set = as(new Set, index);\n for (const index of value)\n set.add(unpair(index));\n return set;\n }\n case ERROR: {\n const {name, message} = value;\n return as(\n typeof env[name] === 'function' ?\n guard(name, message) :\n new Error(message),\n index\n );\n }\n case BIGINT:\n return as(BigInt(value), index);\n case 'BigInt':\n return as(Object(BigInt(value)), index);\n case 'ArrayBuffer':\n return as(new Uint8Array(value).buffer, value);\n case 'DataView': {\n const { buffer } = new Uint8Array(value);\n return as(new DataView(buffer), value);\n }\n }\n return as(guard(type, value), index);\n };\n\n return unpair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns a deserialized value from a serialized array of Records.\n * @param {Record[]} serialized a previously serialized value.\n * @returns {any}\n */\nexport const deserialize = serialized => deserializer(new Map, serialized)(0);\n","import {\n VOID, PRIMITIVE,\n ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst EMPTY = '';\n\nconst {toString} = {};\nconst {keys} = Object;\n\nconst typeOf = value => {\n const type = typeof value;\n if (type !== 'object' || !value)\n return [PRIMITIVE, type];\n\n const asString = toString.call(value).slice(8, -1);\n switch (asString) {\n case 'Array':\n return [ARRAY, EMPTY];\n case 'Object':\n return [OBJECT, EMPTY];\n case 'Date':\n return [DATE, EMPTY];\n case 'RegExp':\n return [REGEXP, EMPTY];\n case 'Map':\n return [MAP, EMPTY];\n case 'Set':\n return [SET, EMPTY];\n case 'DataView':\n return [ARRAY, asString];\n }\n\n if (asString.includes('Array'))\n return [ARRAY, asString];\n\n if (value instanceof Error)\n return [ERROR, value.name || 'Error'];\n\n return [OBJECT, asString];\n};\n\nconst shouldSkip = ([TYPE, type]) => (\n TYPE === PRIMITIVE &&\n (type === 'function' || type === 'symbol')\n);\n\nconst serializer = (strict, json, $, _) => {\n\n const as = (out, value) => {\n const index = _.push(out) - 1;\n $.set(value, index);\n return index;\n };\n\n const pair = value => {\n if ($.has(value))\n return $.get(value);\n\n let [TYPE, type] = typeOf(value);\n switch (TYPE) {\n case PRIMITIVE: {\n let entry = value;\n switch (type) {\n case 'bigint':\n TYPE = BIGINT;\n entry = value.toString();\n break;\n case 'function':\n case 'symbol':\n if (strict)\n throw new TypeError('unable to serialize ' + type);\n entry = null;\n break;\n case 'undefined':\n return as([VOID], value);\n }\n return as([TYPE, entry], value);\n }\n case ARRAY: {\n if (type) {\n let spread = value;\n if (type === 'DataView') {\n spread = new Uint8Array(value.buffer);\n }\n else if (type === 'ArrayBuffer') {\n spread = new Uint8Array(value);\n }\n return as([type, [...spread]], value);\n }\n\n const arr = [];\n const index = as([TYPE, arr], value);\n for (const entry of value)\n arr.push(pair(entry));\n return index;\n }\n case OBJECT: {\n if (type) {\n switch (type) {\n case 'BigInt':\n return as([type, value.toString()], value);\n case 'Boolean':\n case 'Number':\n case 'String':\n return as([type, value.valueOf()], value);\n }\n }\n\n if (json && ('toJSON' in value))\n return pair(value.toJSON());\n\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const key of keys(value)) {\n if (strict || !shouldSkip(typeOf(value[key])))\n entries.push([pair(key), pair(value[key])]);\n }\n return index;\n }\n case DATE:\n return as([TYPE, isNaN(value.getTime()) ? EMPTY : value.toISOString()], value);\n case REGEXP: {\n const {source, flags} = value;\n return as([TYPE, {source, flags}], value);\n }\n case MAP: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const [key, entry] of value) {\n if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry))))\n entries.push([pair(key), pair(entry)]);\n }\n return index;\n }\n case SET: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const entry of value) {\n if (strict || !shouldSkip(typeOf(entry)))\n entries.push(pair(entry));\n }\n return index;\n }\n }\n\n const {message} = value;\n return as([TYPE, {name: type, message}], value);\n };\n\n return pair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} value a serializable value.\n * @param {{json?: boolean, lossy?: boolean}?} options an object with a `lossy` or `json` property that,\n * if `true`, will not throw errors on incompatible types, and behave more\n * like JSON stringify would behave. Symbol and Function will be discarded.\n * @returns {Record[]}\n */\n export const serialize = (value, {json, lossy} = {}) => {\n const _ = [];\n return serializer(!(json || lossy), !!json, new Map, _)(value), _;\n};\n","import {deserialize} from './deserialize.js';\nimport {serialize} from './serialize.js';\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} any a serializable value.\n * @param {{transfer?: any[], json?: boolean, lossy?: boolean}?} options an object with\n * a transfer option (ignored when polyfilled) and/or non standard fields that\n * fallback to the polyfill if present.\n * @returns {Record[]}\n */\nexport default typeof structuredClone === \"function\" ?\n /* c8 ignore start */\n (any, options) => (\n options && ('json' in options || 'lossy' in options) ?\n deserialize(serialize(any, options)) : structuredClone(any)\n ) :\n (any, options) => deserialize(serialize(any, options));\n /* c8 ignore stop */\n\nexport {deserialize, serialize};\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Parents} Parents\n */\n\n/**\n * @template Fn\n * @template Fallback\n * @typedef {Fn extends (value: any) => value is infer Thing ? Thing : Fallback} Predicate\n */\n\n/**\n * @callback Check\n * Check that an arbitrary value is an element.\n * @param {unknown} this\n * Context object (`this`) to call `test` with\n * @param {unknown} [element]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * Position of `element` in its parent.\n * @param {Parents | null | undefined} [parent]\n * Parent of `element`.\n * @returns {boolean}\n * Whether this is an element and passes a test.\n *\n * @typedef {Array | TestFunction | string | null | undefined} Test\n * Check for an arbitrary element.\n *\n * * when `string`, checks that the element has that tag name\n * * when `function`, see `TestFunction`\n * * when `Array`, checks if one of the subtests pass\n *\n * @callback TestFunction\n * Check if an element passes a test.\n * @param {unknown} this\n * The given context.\n * @param {Element} element\n * An element.\n * @param {number | undefined} [index]\n * Position of `element` in its parent.\n * @param {Parents | undefined} [parent]\n * Parent of `element`.\n * @returns {boolean | undefined | void}\n * Whether this element passes the test.\n *\n * Note: `void` is included until TS sees no return as `undefined`.\n */\n\n/**\n * Check if `element` is an `Element` and whether it passes the given test.\n *\n * @param element\n * Thing to check, typically `element`.\n * @param test\n * Check for a specific element.\n * @param index\n * Position of `element` in its parent.\n * @param parent\n * Parent of `element`.\n * @param context\n * Context object (`this`) to call `test` with.\n * @returns\n * Whether `element` is an `Element` and passes a test.\n * @throws\n * When an incorrect `test`, `index`, or `parent` is given; there is no error\n * thrown when `element` is not a node or not an element.\n */\nexport const isElement =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((element: unknown, test: Condition, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & Predicate) &\n * ((element: unknown, test: Condition, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & {tagName: Condition}) &\n * ((element?: null | undefined) => false) &\n * ((element: unknown, test?: null | undefined, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element) &\n * ((element: unknown, test?: Test, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [element]\n * @param {Test | undefined} [test]\n * @param {number | null | undefined} [index]\n * @param {Parents | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function (element, test, index, parent, context) {\n const check = convertElement(test)\n\n if (\n index !== null &&\n index !== undefined &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite `index`')\n }\n\n if (\n parent !== null &&\n parent !== undefined &&\n (!parent.type || !parent.children)\n ) {\n throw new Error('Expected valid `parent`')\n }\n\n if (\n (index === null || index === undefined) !==\n (parent === null || parent === undefined)\n ) {\n throw new Error('Expected both `index` and `parent`')\n }\n\n return looksLikeAnElement(element)\n ? check.call(context, element, index, parent)\n : false\n }\n )\n\n/**\n * Generate a check from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * an `element`, `index`, and `parent`.\n *\n * @param test\n * A test for a specific element.\n * @returns\n * A check.\n */\nexport const convertElement =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((test: Condition) => (element: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & Predicate) &\n * ((test: Condition) => (element: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & {tagName: Condition}) &\n * ((test?: null | undefined) => (element?: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element) &\n * ((test?: Test) => Check)\n * )}\n */\n (\n /**\n * @param {Test | null | undefined} [test]\n * @returns {Check}\n */\n function (test) {\n if (test === null || test === undefined) {\n return element\n }\n\n if (typeof test === 'string') {\n return tagNameFactory(test)\n }\n\n // Assume array.\n if (typeof test === 'object') {\n return anyFactory(test)\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n throw new Error('Expected function, string, or array as `test`')\n }\n )\n\n/**\n * Handle multiple tests.\n *\n * @param {Array} tests\n * @returns {Check}\n */\nfunction anyFactory(tests) {\n /** @type {Array} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convertElement(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @type {TestFunction}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].apply(this, parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Turn a string into a test for an element with a certain type.\n *\n * @param {string} check\n * @returns {Check}\n */\nfunction tagNameFactory(check) {\n return castFactory(tagName)\n\n /**\n * @param {Element} element\n * @returns {boolean}\n */\n function tagName(element) {\n return element.tagName === check\n }\n}\n\n/**\n * Turn a custom test into a test for an element that passes that test.\n *\n * @param {TestFunction} testFunction\n * @returns {Check}\n */\nfunction castFactory(testFunction) {\n return check\n\n /**\n * @this {unknown}\n * @type {Check}\n */\n function check(value, index, parent) {\n return Boolean(\n looksLikeAnElement(value) &&\n testFunction.call(\n this,\n value,\n typeof index === 'number' ? index : undefined,\n parent || undefined\n )\n )\n }\n}\n\n/**\n * Make sure something is an element.\n *\n * @param {unknown} element\n * @returns {element is Element}\n */\nfunction element(element) {\n return Boolean(\n element &&\n typeof element === 'object' &&\n 'type' in element &&\n element.type === 'element' &&\n 'tagName' in element &&\n typeof element.tagName === 'string'\n )\n}\n\n/**\n * @param {unknown} value\n * @returns {value is Element}\n */\nfunction looksLikeAnElement(value) {\n return (\n value !== null &&\n typeof value === 'object' &&\n 'type' in value &&\n 'tagName' in value\n )\n}\n","// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\n\n// Windows paths like `c:\\`\nconst WINDOWS_PATH_REGEX = /^[a-zA-Z]:\\\\/;\n\nexport default function isAbsoluteUrl(url) {\n\tif (typeof url !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof url}\\``);\n\t}\n\n\tif (WINDOWS_PATH_REGEX.test(url)) {\n\t\treturn false;\n\t}\n\n\treturn ABSOLUTE_URL_REGEX.test(url);\n}\n","/**\n * Parse space-separated tokens to an array of strings.\n *\n * @param {string} value\n * Space-separated tokens.\n * @returns {Array}\n * List of tokens.\n */\nexport function parse(value) {\n const input = String(value || '').trim()\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated-tokens.\n *\n * @param {Array} values\n * List of tokens.\n * @returns {string}\n * Space-separated tokens.\n */\nexport function stringify(values) {\n return values.join(' ').trim()\n}\n","/**\n * @import {Node as UnistNode, Parent as UnistParent} from 'unist'\n * @import {VisitorResult} from 'unist-util-visit-parents'\n */\n\n/**\n * @typedef {Exclude | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n// To do: use types from `unist-util-visit-parents` when it’s released.\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate extends Value\n * ? Predicate\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends ReadonlyArray\n * ? MatchesOne\n * : MatchesOne\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint\n * Number; capped reasonably.\n */\n\n/**\n * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment\n * Increment a number in the type system.\n * @template {Uint} [I=0]\n * Index.\n */\n\n/**\n * @typedef {(\n * Node extends UnistParent\n * ? Node extends {children: Array}\n * ? Child extends Children ? Node : never\n * : never\n * : never\n * )} InternalParent\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {InternalParent, Child>} Parent\n * Collect nodes in `Tree` that can be parents of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Depth extends Max\n * ? never\n * :\n * | InternalParent\n * | InternalAncestor, Max, Increment>\n * )} InternalAncestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {(\n * Tree extends UnistParent\n * ? Depth extends Max\n * ? Tree\n * : Tree | InclusiveDescendant>\n * : Tree\n * )} InclusiveDescendant\n * Collect all (inclusive) descendants of `Tree`.\n *\n * > 👉 **Note**: for performance reasons, this seems to be the fastest way to\n * > recurse without actually running into an infinite loop, which the\n * > previous version did.\n * >\n * > Practically, a max of `2` is typically enough assuming a `Root` is\n * > passed, but it doesn’t improve performance.\n * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.\n * > Using up to `10` doesn’t hurt or help either.\n * @template {UnistNode} Tree\n * Tree type.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform `parent`.\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of `parent` still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Visited extends UnistNode ? number | undefined : never} index\n * Index of `node` in `parent`.\n * @param {Ancestor extends UnistParent ? Ancestor | undefined : never} parent\n * Parent of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n * @template {UnistNode} [Visited=UnistNode]\n * Visited node type.\n * @template {UnistParent} [Ancestor=UnistParent]\n * Ancestor type.\n */\n\n/**\n * @typedef {Visitor>} BuildVisitorFromMatch\n * Build a typed `Visitor` function from a node and all possible parents.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} Visited\n * Node type.\n * @template {UnistParent} Ancestor\n * Parent type.\n */\n\n/**\n * @typedef {(\n * BuildVisitorFromMatch<\n * Matches,\n * Extract\n * >\n * )} BuildVisitorFromDescendants\n * Build a typed `Visitor` function from a list of descendants and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} Descendant\n * Node type.\n * @template {Test} Check\n * Test type.\n */\n\n/**\n * @typedef {(\n * BuildVisitorFromDescendants<\n * InclusiveDescendant,\n * Check\n * >\n * )} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} [Tree=UnistNode]\n * Node type.\n * @template {Test} [Check=Test]\n * Test type.\n */\n\nimport {visitParents} from 'unist-util-visit-parents'\n\nexport {CONTINUE, EXIT, SKIP} from 'unist-util-visit-parents'\n\n/**\n * Visit nodes.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @overload\n * @param {Tree} tree\n * @param {Check} check\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @overload\n * @param {Tree} tree\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @param {UnistNode} tree\n * Tree to traverse.\n * @param {Visitor | Test} testOrVisitor\n * `unist-util-is`-compatible test (optional, omit to pass a visitor).\n * @param {Visitor | boolean | null | undefined} [visitorOrReverse]\n * Handle each node (when test is omitted, pass `reverse`).\n * @param {boolean | null | undefined} [maybeReverse=false]\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns {undefined}\n * Nothing.\n *\n * @template {UnistNode} Tree\n * Node type.\n * @template {Test} Check\n * `unist-util-is`-compatible test.\n */\nexport function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {\n /** @type {boolean | null | undefined} */\n let reverse\n /** @type {Test} */\n let test\n /** @type {Visitor} */\n let visitor\n\n if (\n typeof testOrVisitor === 'function' &&\n typeof visitorOrReverse !== 'function'\n ) {\n test = undefined\n visitor = testOrVisitor\n reverse = visitorOrReverse\n } else {\n // @ts-expect-error: assume the overload with test was given.\n test = testOrVisitor\n // @ts-expect-error: assume the overload with test was given.\n visitor = visitorOrReverse\n reverse = maybeReverse\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {UnistNode} node\n * @param {Array} parents\n */\n function overload(node, parents) {\n const parent = parents[parents.length - 1]\n const index = parent ? parent.children.indexOf(node) : undefined\n return visitor(node, index, parent)\n }\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast-util-is-element').Test} Test\n */\n\n/**\n * @callback CreateContent\n * Create a target for the element.\n * @param {Element} element\n * Element to check.\n * @returns {Array | ElementContent | null | undefined}\n * Content to add.\n *\n * @callback CreateProperties\n * Create properties for an element.\n * @param {Element} element\n * Element to check.\n * @returns {Properties | null | undefined}\n * Properties to add.\n *\n * @callback CreateRel\n * Create a `rel` for the element.\n * @param {Element} element\n * Element to check.\n * @returns {Array | string | null | undefined}\n * `rel` to use.\n *\n * @callback CreateTarget\n * Create a `target` for the element.\n * @param {Element} element\n * Element to check.\n * @returns {Target | null | undefined}\n * `target` to use.\n *\n * @typedef Options\n * Configuration.\n * @property {Array | CreateContent | ElementContent | null | undefined} [content]\n * Content to insert at the end of external links (optional); will be\n * inserted in a `` element; useful for improving accessibility by\n * giving users advanced warning when opening a new window.\n * @property {CreateProperties | Properties | null | undefined} [contentProperties]\n * Properties to add to the `span` wrapping `content` (optional).\n * @property {CreateProperties | Properties | null | undefined} [properties]\n * Properties to add to the link itself (optional).\n * @property {Array | null | undefined} [protocols=['http', 'https']]\n * Protocols to check, such as `mailto` or `tel` (default: `['http',\n * 'https']`).\n * @property {Array | CreateRel | string | null | undefined} [rel=['nofollow']]\n * Link types to hint about the referenced documents (default:\n * `['nofollow']`); pass an empty array (`[]`) to not set `rel`s on links;\n * when using a `target`, add `noopener` and `noreferrer` to avoid\n * exploitation of the `window.opener` API.\n * @property {CreateTarget | Target | null | undefined} [target]\n * How to display referenced documents; the default (nothing) is to not set\n * `target`s on links.\n * @property {Test | null | undefined} [test]\n * Extra test to define which external link elements are modified (optional);\n * any test that can be given to `hast-util-is-element` is supported.\n *\n * @typedef {'_blank' | '_parent' | '_self' | '_top'} Target\n * Target.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {convertElement} from 'hast-util-is-element'\nimport isAbsoluteUrl from 'is-absolute-url'\nimport {parse} from 'space-separated-tokens'\nimport {visit} from 'unist-util-visit'\n\nconst defaultProtocols = ['http', 'https']\nconst defaultRel = ['nofollow']\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Automatically add `rel` (and `target`?) to external links.\n *\n * ###### Notes\n *\n * You should [likely not configure `target`][css-tricks].\n *\n * You should at least set `rel` to `['nofollow']`.\n * When using a `target`, add `noopener` and `noreferrer` to avoid exploitation\n * of the `window.opener` API.\n *\n * When using a `target`, you should set `content` to adhere to accessibility\n * guidelines by giving users advanced warning when opening a new window.\n *\n * [css-tricks]: https://css-tricks.com/use-target_blank/\n *\n * @param {Readonly | null | undefined} [options]\n * Configuration (optional).\n * @returns\n * Transform.\n */\nexport default function rehypeExternalLinks(options) {\n const settings = options || emptyOptions\n const protocols = settings.protocols || defaultProtocols\n const is = convertElement(settings.test)\n\n /**\n * Transform.\n *\n * @param {Root} tree\n * Tree.\n * @returns {undefined}\n * Nothing.\n */\n return function (tree) {\n visit(tree, 'element', function (node, index, parent) {\n if (\n node.tagName === 'a' &&\n typeof node.properties.href === 'string' &&\n is(node, index, parent)\n ) {\n const url = node.properties.href\n\n if (\n isAbsoluteUrl(url)\n ? protocols.includes(url.slice(0, url.indexOf(':')))\n : url.startsWith('//')\n ) {\n const contentRaw = createIfNeeded(settings.content, node)\n const content =\n contentRaw && !Array.isArray(contentRaw) ? [contentRaw] : contentRaw\n const relRaw = createIfNeeded(settings.rel, node) || defaultRel\n const rel = typeof relRaw === 'string' ? parse(relRaw) : relRaw\n const target = createIfNeeded(settings.target, node)\n\n const properties = createIfNeeded(settings.properties, node)\n\n if (properties) {\n Object.assign(node.properties, structuredClone(properties))\n }\n\n if (rel.length > 0) {\n node.properties.rel = [...rel]\n }\n\n if (target) {\n node.properties.target = target\n }\n\n if (content) {\n const properties =\n createIfNeeded(settings.contentProperties, node) || {}\n\n node.children.push({\n type: 'element',\n tagName: 'span',\n properties: structuredClone(properties),\n children: structuredClone(content)\n })\n }\n }\n }\n })\n }\n}\n\n/**\n * Call a function to get a return value or use the value.\n *\n * @template T\n * Type of value.\n * @param {T} value\n * Value.\n * @param {Element} element\n * Element.\n * @returns {T extends Function ? ReturnType : T}\n * Result.\n */\nfunction createIfNeeded(value, element) {\n return typeof value === 'function' ? value(element) : value\n}\n","/**\n * @typedef Options\n * Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n * Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n * Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n * Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n * Comma-separated tokens.\n * @returns {Array}\n * List of tokens.\n */\nexport function parse(value) {\n /** @type {Array} */\n const tokens = []\n const input = String(value || '')\n let index = input.indexOf(',')\n let start = 0\n /** @type {boolean} */\n let end = false\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n const token = input.slice(start, index).trim()\n\n if (token || !end) {\n tokens.push(token)\n }\n\n start = index + 1\n index = input.indexOf(',', start)\n }\n\n return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array} values\n * List of tokens.\n * @param {Options} [options]\n * Configuration for `stringify` (optional).\n * @returns {string}\n * Comma-separated tokens.\n */\nexport function stringify(values, options) {\n const settings = options || {}\n\n // Ensure the last empty entry is seen.\n const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n return input\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n","/**\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [jsx=false]\n * Support JSX identifiers (default: `false`).\n */\n\nconst startRe = /[$_\\p{ID_Start}]/u\nconst contRe = /[$_\\u{200C}\\u{200D}\\p{ID_Continue}]/u\nconst contReJsx = /[-$_\\u{200C}\\u{200D}\\p{ID_Continue}]/u\nconst nameRe = /^[$_\\p{ID_Start}][$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u\nconst nameReJsx = /^[$_\\p{ID_Start}][-$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Checks if the given code point can start an identifier.\n *\n * @param {number | undefined} code\n * Code point to check.\n * @returns {boolean}\n * Whether `code` can start an identifier.\n */\n// Note: `undefined` is supported so you can pass the result from `''.codePointAt`.\nexport function start(code) {\n return code ? startRe.test(String.fromCodePoint(code)) : false\n}\n\n/**\n * Checks if the given code point can continue an identifier.\n *\n * @param {number | undefined} code\n * Code point to check.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {boolean}\n * Whether `code` can continue an identifier.\n */\n// Note: `undefined` is supported so you can pass the result from `''.codePointAt`.\nexport function cont(code, options) {\n const settings = options || emptyOptions\n const re = settings.jsx ? contReJsx : contRe\n return code ? re.test(String.fromCodePoint(code)) : false\n}\n\n/**\n * Checks if the given value is a valid identifier name.\n *\n * @param {string} name\n * Identifier to check.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {boolean}\n * Whether `name` can be an identifier.\n */\nexport function name(name, options) {\n const settings = options || emptyOptions\n const re = settings.jsx ? nameReJsx : nameRe\n return re.test(name)\n}\n","/**\n * @typedef {import('hast').Nodes} Nodes\n */\n\n// HTML whitespace expression.\n// See .\nconst re = /[ \\t\\n\\f\\r]/g\n\n/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {Nodes | string} thing\n * Thing to check (`Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`); if a node is passed it must be a `Text` node,\n * whose `value` field is checked.\n */\nexport function whitespace(thing) {\n return typeof thing === 'object'\n ? thing.type === 'text'\n ? empty(thing.value)\n : false\n : empty(thing)\n}\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction empty(value) {\n return value.replace(re, '') === ''\n}\n","/**\n * @import {Schema as SchemaType, Space} from 'property-information'\n */\n\n/** @type {SchemaType} */\nexport class Schema {\n /**\n * @param {SchemaType['property']} property\n * Property.\n * @param {SchemaType['normal']} normal\n * Normal.\n * @param {Space | undefined} [space]\n * Space.\n * @returns\n * Schema.\n */\n constructor(property, normal, space) {\n this.normal = normal\n this.property = property\n\n if (space) {\n this.space = space\n }\n }\n}\n\nSchema.prototype.normal = {}\nSchema.prototype.property = {}\nSchema.prototype.space = undefined\n","/**\n * @import {Info, Space} from 'property-information'\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {ReadonlyArray} definitions\n * Definitions.\n * @param {Space | undefined} [space]\n * Space.\n * @returns {Schema}\n * Schema.\n */\nexport function merge(definitions, space) {\n /** @type {Record} */\n const property = {}\n /** @type {Record} */\n const normal = {}\n\n for (const definition of definitions) {\n Object.assign(property, definition.property)\n Object.assign(normal, definition.normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * Get the cleaned case insensitive form of an attribute or property.\n *\n * @param {string} value\n * An attribute-like or property-like name.\n * @returns {string}\n * Value that can be used to look up the properly cased property on a\n * `Schema`.\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","/**\n * @import {Info as InfoType} from 'property-information'\n */\n\n/** @type {InfoType} */\nexport class Info {\n /**\n * @param {string} property\n * Property.\n * @param {string} attribute\n * Attribute.\n * @returns\n * Info.\n */\n constructor(property, attribute) {\n this.attribute = attribute\n this.property = property\n }\n}\n\nInfo.prototype.attribute = ''\nInfo.prototype.booleanish = false\nInfo.prototype.boolean = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.defined = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.number = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.property = ''\nInfo.prototype.spaceSeparated = false\nInfo.prototype.space = undefined\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n","/**\n * @import {Space} from 'property-information'\n */\n\nimport {Info} from './info.js'\nimport * as types from './types.js'\n\nconst checks = /** @type {ReadonlyArray} */ (\n Object.keys(types)\n)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * Property.\n * @param {string} attribute\n * Attribute.\n * @param {number | null | undefined} [mask]\n * Mask.\n * @param {Space | undefined} [space]\n * Space.\n * @returns\n * Info.\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @template {keyof DefinedInfo} Key\n * Key type.\n * @param {DefinedInfo} values\n * Info.\n * @param {Key} key\n * Key.\n * @param {DefinedInfo[Key]} value\n * Value.\n * @returns {undefined}\n * Nothing.\n */\nfunction mark(values, key, value) {\n if (value) {\n values[key] = value\n }\n}\n","/**\n * @import {Info, Space} from 'property-information'\n */\n\n/**\n * @typedef Definition\n * Definition of a schema.\n * @property {Record | undefined} [attributes]\n * Normalzed names to special attribute case.\n * @property {ReadonlyArray | undefined} [mustUseProperty]\n * Normalized names that must be set as properties.\n * @property {Record} properties\n * Property names to their types.\n * @property {Space | undefined} [space]\n * Space.\n * @property {Transform} transform\n * Transform a property name.\n */\n\n/**\n * @callback Transform\n * Transform.\n * @param {Record} attributes\n * Attributes.\n * @param {string} property\n * Property.\n * @returns {string}\n * Attribute.\n */\n\nimport {normalize} from '../normalize.js'\nimport {DefinedInfo} from './defined-info.js'\nimport {Schema} from './schema.js'\n\n/**\n * @param {Definition} definition\n * Definition.\n * @returns {Schema}\n * Schema.\n */\nexport function create(definition) {\n /** @type {Record} */\n const properties = {}\n /** @type {Record} */\n const normals = {}\n\n for (const [property, value] of Object.entries(definition.properties)) {\n const info = new DefinedInfo(\n property,\n definition.transform(definition.attributes || {}, property),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(property)\n ) {\n info.mustUseProperty = true\n }\n\n properties[property] = info\n\n normals[normalize(property)] = property\n normals[normalize(info.attribute)] = property\n }\n\n return new Schema(properties, normals, definition.space)\n}\n","import {create} from './util/create.js'\nimport {booleanish, number, spaceSeparated} from './util/types.js'\n\nexport const aria = create({\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n },\n transform(_, property) {\n return property === 'role'\n ? property\n : 'aria-' + property.slice(4).toLowerCase()\n }\n})\n","/**\n * @param {Record} attributes\n * Attributes.\n * @param {string} attribute\n * Attribute.\n * @returns {string}\n * Transformed attribute.\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record} attributes\n * Attributes.\n * @param {string} property\n * Property.\n * @returns {string}\n * Transformed property.\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","import {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\nimport {create} from './util/create.js'\nimport {\n booleanish,\n boolean,\n commaSeparated,\n number,\n overloadedBoolean,\n spaceSeparated\n} from './util/types.js'\n\nexport const html = create({\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alpha: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n blocking: spaceSeparated,\n capture: null,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n closedBy: null,\n colorSpace: null,\n cols: number,\n colSpan: number,\n command: null,\n commandFor: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n fetchPriority: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: overloadedBoolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inert: boolean,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforeMatch: null,\n onBeforePrint: null,\n onBeforeToggle: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onScrollEnd: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n popover: null,\n popoverTarget: null,\n popoverTargetAction: null,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shadowRootClonable: boolean,\n shadowRootCustomElementRegistry: boolean,\n shadowRootDelegatesFocus: boolean,\n shadowRootMode: null,\n shadowRootSerializable: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n writingSuggestions: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // ``. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // ``. List of URIs to archives\n axis: null, // `` and ``. Use `scope` on ``\n background: null, // ``. Use CSS `background-image` instead\n bgColor: null, // `` and table elements. Use CSS `background-color` instead\n border: number, // ``. Use CSS `border-width` instead,\n borderColor: null, // `
`. Use CSS `border-color` instead,\n bottomMargin: number, // ``\n cellPadding: null, // `
`\n cellSpacing: null, // `
`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // ``\n clear: null, // `
`. Use CSS `clear` instead\n code: null, // ``\n codeBase: null, // ``\n codeType: null, // ``\n color: null, // `` and `
`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // ``\n event: null, // `\n * ```\n *\n * The above example shows that elements are made available by browsers, by\n * their ID, on the `window` object.\n * This is a security risk because you might be expecting some other variable\n * at that place.\n * It can also break polyfills.\n * Using a prefix solves these problems.\n * @property {VFile | null | undefined} [file]\n * Corresponding virtual file representing the input document (optional).\n * @property {FootnoteBackContentTemplate | string | null | undefined} [footnoteBackContent]\n * Content of the backreference back to references (default: `defaultFootnoteBackContent`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackContent(_, rereferenceIndex) {\n * const result = [{type: 'text', value: '↩'}]\n *\n * if (rereferenceIndex > 1) {\n * result.push({\n * type: 'element',\n * tagName: 'sup',\n * properties: {},\n * children: [{type: 'text', value: String(rereferenceIndex)}]\n * })\n * }\n *\n * return result\n * }\n * ```\n *\n * This content is used in the `a` element of each backreference (the `↩`\n * links).\n * @property {FootnoteBackLabelTemplate | string | null | undefined} [footnoteBackLabel]\n * Label to describe the backreference back to references (default:\n * `defaultFootnoteBackLabel`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n * return (\n * 'Back to reference ' +\n * (referenceIndex + 1) +\n * (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n * )\n * }\n * ```\n *\n * Change it when the markdown is not in English.\n *\n * This label is used in the `ariaLabel` property on each backreference\n * (the `↩` links).\n * It affects users of assistive technology.\n * @property {string | null | undefined} [footnoteLabel='Footnotes']\n * Textual label to use for the footnotes section (default: `'Footnotes'`).\n *\n * Change it when the markdown is not in English.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]\n * Properties to use on the footnote label (default: `{className:\n * ['sr-only']}`).\n *\n * Change it to show the label and add other properties.\n *\n * This label is typically hidden visually (assuming an `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass an empty string.\n * You can also add different properties.\n *\n * > **Note**: `id: 'footnote-label'` is always added, because footnote\n * > calls use it with `aria-describedby` to provide an accessible label.\n * @property {string | null | undefined} [footnoteLabelTagName='h2']\n * HTML tag name to use for the footnote label element (default: `'h2'`).\n *\n * Change it to match your document structure.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {Handlers | null | undefined} [handlers]\n * Extra handlers for nodes (optional).\n * @property {Array | null | undefined} [passThrough]\n * List of custom mdast node types to pass through (keep) in hast (note that\n * the node itself is passed, but eventual children are transformed)\n * (optional).\n * @property {Handler | null | undefined} [unknownHandler]\n * Handler for all unknown nodes (optional).\n *\n * @typedef State\n * Info passed around.\n * @property {(node: MdastNodes) => Array} all\n * Transform the children of an mdast parent to hast.\n * @property {(from: MdastNodes, to: Type) => HastElement | Type} applyData\n * Honor the `data` of `from`, and generate an element instead of `node`.\n * @property {Map} definitionById\n * Definitions by their identifier.\n * @property {Map} footnoteById\n * Footnote definitions by their identifier.\n * @property {Map} footnoteCounts\n * Counts for how often the same footnote was called.\n * @property {Array} footnoteOrder\n * Identifiers of order when footnote calls first appear in tree order.\n * @property {Handlers} handlers\n * Applied handlers.\n * @property {(node: MdastNodes, parent: MdastParents | undefined) => Array | HastElementContent | undefined} one\n * Transform an mdast node to hast.\n * @property {Options} options\n * Configuration.\n * @property {(from: MdastNodes, node: HastNodes) => undefined} patch\n * Copy a node’s positional info.\n * @property {(nodes: Array, loose?: boolean | undefined) => Array} wrap\n * Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {visit} from 'unist-util-visit'\nimport {position} from 'unist-util-position'\nimport {handlers as defaultHandlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Create `state` from an mdast tree.\n *\n * @param {MdastNodes} tree\n * mdast node to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {State}\n * `state` function.\n */\nexport function createState(tree, options) {\n const settings = options || emptyOptions\n /** @type {Map} */\n const definitionById = new Map()\n /** @type {Map} */\n const footnoteById = new Map()\n /** @type {Map} */\n const footnoteCounts = new Map()\n /** @type {Handlers} */\n // @ts-expect-error: the root handler returns a root.\n // Hard to type.\n const handlers = {...defaultHandlers, ...settings.handlers}\n\n /** @type {State} */\n const state = {\n all,\n applyData,\n definitionById,\n footnoteById,\n footnoteCounts,\n footnoteOrder: [],\n handlers,\n one,\n options: settings,\n patch,\n wrap\n }\n\n visit(tree, function (node) {\n if (node.type === 'definition' || node.type === 'footnoteDefinition') {\n const map = node.type === 'definition' ? definitionById : footnoteById\n const id = String(node.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: .\n if (!map.has(id)) {\n // @ts-expect-error: node type matches map.\n map.set(id, node)\n }\n }\n })\n\n return state\n\n /**\n * Transform an mdast node into a hast node.\n *\n * @param {MdastNodes} node\n * mdast node.\n * @param {MdastParents | undefined} [parent]\n * Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n * Resulting hast node.\n */\n function one(node, parent) {\n const type = node.type\n const handle = state.handlers[type]\n\n if (own.call(state.handlers, type) && handle) {\n return handle(state, node, parent)\n }\n\n if (state.options.passThrough && state.options.passThrough.includes(type)) {\n if ('children' in node) {\n const {children, ...shallow} = node\n const result = structuredClone(shallow)\n // @ts-expect-error: TS doesn’t understand…\n result.children = state.all(node)\n // @ts-expect-error: TS doesn’t understand…\n return result\n }\n\n // @ts-expect-error: it’s custom.\n return structuredClone(node)\n }\n\n const unknown = state.options.unknownHandler || defaultUnknownHandler\n\n return unknown(state, node, parent)\n }\n\n /**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {MdastNodes} parent\n * mdast node to compile\n * @returns {Array}\n * Resulting hast nodes.\n */\n function all(parent) {\n /** @type {Array} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n while (++index < nodes.length) {\n const result = state.one(nodes[index], parent)\n\n // To do: see if we van clean this? Can we merge texts?\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = trimMarkdownSpaceStart(result.value)\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = trimMarkdownSpaceStart(head.value)\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n }\n}\n\n/**\n * Copy a node’s positional info.\n *\n * @param {MdastNodes} from\n * mdast node to copy from.\n * @param {HastNodes} to\n * hast node to copy into.\n * @returns {undefined}\n * Nothing.\n */\nfunction patch(from, to) {\n if (from.position) to.position = position(from)\n}\n\n/**\n * Honor the `data` of `from` and maybe generate an element instead of `to`.\n *\n * @template {HastNodes} Type\n * Node type.\n * @param {MdastNodes} from\n * mdast node to use data from.\n * @param {Type} to\n * hast node to change.\n * @returns {HastElement | Type}\n * Nothing.\n */\nfunction applyData(from, to) {\n /** @type {HastElement | Type} */\n let result = to\n\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (from && from.data) {\n const hName = from.data.hName\n const hChildren = from.data.hChildren\n const hProperties = from.data.hProperties\n\n if (typeof hName === 'string') {\n // Transforming the node resulted in an element with a different name\n // than wanted:\n if (result.type === 'element') {\n result.tagName = hName\n }\n // Transforming the node resulted in a non-element, which happens for\n // raw, text, and root nodes (unless custom handlers are passed).\n // The intent of `hName` is to create an element, but likely also to keep\n // the content around (otherwise: pass `hChildren`).\n else {\n /** @type {Array} */\n // @ts-expect-error: assume no doctypes in `root`.\n const children = 'children' in result ? result.children : [result]\n result = {type: 'element', tagName: hName, properties: {}, children}\n }\n }\n\n if (result.type === 'element' && hProperties) {\n Object.assign(result.properties, structuredClone(hProperties))\n }\n\n if (\n 'children' in result &&\n result.children &&\n hChildren !== null &&\n hChildren !== undefined\n ) {\n result.children = hChildren\n }\n }\n\n return result\n}\n\n/**\n * Transform an unknown node.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} node\n * Unknown mdast node.\n * @returns {HastElement | HastText}\n * Resulting hast node.\n */\nfunction defaultUnknownHandler(state, node) {\n const data = node.data || {}\n /** @type {HastElement | HastText} */\n const result =\n 'value' in node &&\n !(own.call(data, 'hProperties') || own.call(data, 'hChildren'))\n ? {type: 'text', value: node.value}\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: state.all(node)\n }\n\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * Wrap `nodes` with line endings between each node.\n *\n * @template {HastRootContent} Type\n * Node type.\n * @param {Array} nodes\n * List of nodes to wrap.\n * @param {boolean | undefined} [loose=false]\n * Whether to add line endings at start and end (default: `false`).\n * @returns {Array}\n * Wrapped nodes.\n */\nexport function wrap(nodes, loose) {\n /** @type {Array} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push({type: 'text', value: '\\n'})\n }\n\n while (++index < nodes.length) {\n if (index) result.push({type: 'text', value: '\\n'})\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push({type: 'text', value: '\\n'})\n }\n\n return result\n}\n\n/**\n * Trim spaces and tabs at the start of `value`.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Result.\n */\nfunction trimMarkdownSpaceStart(value) {\n let index = 0\n let code = value.charCodeAt(index)\n\n while (code === 9 || code === 32) {\n index++\n code = value.charCodeAt(index)\n }\n\n return value.slice(index)\n}\n","/**\n * @import {Nodes as HastNodes} from 'hast'\n * @import {Nodes as MdastNodes} from 'mdast'\n * @import {Options} from './state.js'\n */\n\nimport {ok as assert} from 'devlop'\nimport {footer} from './footer.js'\nimport {createState} from './state.js'\n\n/**\n * Transform mdast to hast.\n *\n * ##### Notes\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most utilities ignore `raw` nodes but two notable ones don’t:\n *\n * * `hast-util-to-html` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful\n * if you completely trust authors\n * * `hast-util-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only\n * way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `mdast-util-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * Example: headings (DOM clobbering) in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @param {MdastNodes} tree\n * mdast tree.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {HastNodes}\n * hast tree.\n */\nexport function toHast(tree, options) {\n const state = createState(tree, options)\n const node = state.one(tree, undefined)\n const foot = footer(state)\n /** @type {HastNodes} */\n const result = Array.isArray(node)\n ? {type: 'root', children: node}\n : node || {type: 'root', children: []}\n\n if (foot) {\n // If there’s a footer, there were definitions, meaning block\n // content.\n // So `result` is a parent node.\n assert('children' in result)\n result.children.push({type: 'text', value: '\\n'}, foot)\n }\n\n return result\n}\n","/**\n * @import {Root as HastRoot} from 'hast'\n * @import {Root as MdastRoot} from 'mdast'\n * @import {Options as ToHastOptions} from 'mdast-util-to-hast'\n * @import {Processor} from 'unified'\n * @import {VFile} from 'vfile'\n */\n\n/**\n * @typedef {Omit} Options\n *\n * @callback TransformBridge\n * Bridge-mode.\n *\n * Runs the destination with the new hast tree.\n * Discards result.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {Promise}\n * Nothing.\n *\n * @callback TransformMutate\n * Mutate-mode.\n *\n * Further transformers run on the hast tree.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {HastRoot}\n * Tree (hast).\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n/**\n * Turn markdown into HTML.\n *\n * ##### Notes\n *\n * ###### Signature\n *\n * * if a processor is given,\n * runs the (rehype) plugins used on it with a hast tree,\n * then discards the result (*bridge mode*)\n * * otherwise,\n * returns a hast tree,\n * the plugins used after `remarkRehype` are rehype plugins (*mutate mode*)\n *\n * > 👉 **Note**:\n * > It’s highly unlikely that you want to pass a `processor`.\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most plugins ignore `raw` nodes but two notable ones don’t:\n *\n * * `rehype-stringify` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful if\n * you completely trust authors\n * * `rehype-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc);\n * this is a heavy task as it needs a full HTML parser,\n * but it is the only way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark,\n * which we follow by default.\n * They are supported by GitHub,\n * so footnotes can be enabled in markdown with `remark-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes,\n * which is hidden for sighted users but shown to assistive technology.\n * When your page is not in English,\n * you must define translated values.\n *\n * Back references use ARIA attributes,\n * but the section label itself uses a heading that is hidden with an\n * `sr-only` class.\n * To show it to sighted users,\n * define different attributes in `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem,\n * as it links footnote calls to footnote definitions on the page through `id`\n * attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * *Example: headings (DOM clobbering)* in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value`\n * (and doesn’t have `data.hName`, `data.hProperties`, or `data.hChildren`,\n * see later),\n * create a hast `text` node\n * * otherwise,\n * create a `
` element (which could be changed with `data.hName`),\n * with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @overload\n * @param {Processor} processor\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformBridge}\n *\n * @overload\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformMutate}\n *\n * @overload\n * @param {Readonly | Processor | null | undefined} [destination]\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformBridge | TransformMutate}\n *\n * @param {Readonly | Processor | null | undefined} [destination]\n * Processor or configuration (optional).\n * @param {Readonly | null | undefined} [options]\n * When a processor was given,\n * configuration (optional).\n * @returns {TransformBridge | TransformMutate}\n * Transform.\n */\nexport default function remarkRehype(destination, options) {\n if (destination && 'run' in destination) {\n /**\n * @type {TransformBridge}\n */\n return async function (tree, file) {\n // Cast because root in -> root out.\n const hastTree = /** @type {HastRoot} */ (\n toHast(tree, {file, ...options})\n )\n await destination.run(hastTree, file)\n }\n }\n\n /**\n * @type {TransformMutate}\n */\n return function (tree, file) {\n // Cast because root in -> root out.\n // To do: in the future, disallow ` || options` fallback.\n // With `unified-engine`, `destination` can be `undefined` but\n // `options` will be the file set.\n // We should not pass that as `options`.\n return /** @type {HastRoot} */ (\n toHast(tree, {file, ...(destination || options)})\n )\n }\n}\n","/**\n * @typedef {import('mdast').Nodes} Nodes\n */\n\nimport {visit} from 'unist-util-visit'\n\n/**\n * Remove empty paragraphs in `tree`.\n *\n * @param {Nodes} tree\n * Tree to change.\n * @returns {undefined}\n * Nothing.\n */\nexport function squeezeParagraphs(tree) {\n visit(tree, function (node, index, parent) {\n if (\n index !== undefined &&\n parent &&\n node.type === 'paragraph' &&\n node.children.every(function (child) {\n return child.type === 'text' && /^\\s*$/.test(child.value)\n })\n ) {\n parent.children.splice(index, 1)\n return index\n }\n })\n}\n","import '../assets/NcRichText.css';\nimport { toString } from \"mdast-util-to-string\";\nimport rehypeExternalLinks from \"rehype-external-links\";\nimport rehype2react from \"rehype-react\";\nimport breaks from \"remark-breaks\";\nimport remarkParse from \"remark-parse\";\nimport remark2rehype from \"remark-rehype\";\nimport remarkUnlinkProtocols from \"remark-unlink-protocols\";\nimport { unified } from \"unified\";\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, Fragment, renderList, createBlock, createCommentVNode, defineComponent, unref, withCtx, createVNode, h, ref } from \"vue\";\nimport { RouterLink } from \"vue-router\";\nimport { N as NcCheckboxRadioSwitch } from \"./NcCheckboxRadioSwitch.mjs\";\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport axios from \"@nextcloud/axios\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { getSharingToken } from \"@nextcloud/sharing/public\";\nimport { N as NcReferenceWidget } from \"./NcReferenceWidget.mjs\";\nimport { l as logger } from \"./logger.mjs\";\nimport { U as URL_PATTERN, g as getRoute, N as NcRichTextExternalLink, p as parseUrl, r as remarkAutolink } from \"./autolink.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nimport { N as NcButton } from \"./NcButton.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper.mjs\";\nimport { u as useCopy } from \"./useCopy.mjs\";\nimport { c as createElementId } from \"./createElementId.mjs\";\nimport { u } from \"unist-builder\";\nimport { visitParents, EXIT, SKIP } from \"unist-util-visit-parents\";\nconst _sfc_main$2 = {\n name: \"NcReferenceList\",\n components: {\n NcReferenceWidget\n },\n props: {\n /**\n * The text to extract references from\n */\n text: {\n type: String,\n default: \"\"\n },\n /**\n * The data of the references to display.\n */\n referenceData: {\n type: Array,\n default: null\n },\n /**\n * The maximum number of references to display\n */\n limit: {\n type: Number,\n default: 1\n },\n /**\n * Show the fallback reference if no references are found\n */\n displayFallback: {\n type: Boolean,\n default: false\n },\n /**\n * Whether to render the widgets in interactive mode (if available)\n */\n interactive: {\n type: Boolean,\n default: true\n },\n /**\n * Whether to show user an option to enable to interactive mode for widgets (if available)\n */\n interactiveOptIn: {\n type: Boolean,\n default: false\n }\n },\n emits: [\"loaded\"],\n data() {\n return {\n references: null,\n loading: false\n };\n },\n computed: {\n isVisible() {\n return this.loading || this.displayedReferences.length !== 0;\n },\n values() {\n if (this.referenceData) {\n return this.referenceData;\n }\n if (this.displayFallback && !this.loading && !this.references) {\n return [this.fallbackReference];\n }\n return this.references ? Object.values(this.references) : [];\n },\n firstReference() {\n return this.values[0] ?? null;\n },\n displayedReferences() {\n return this.values.filter(Boolean).slice(0, this.limit);\n },\n fallbackReference() {\n return {\n accessible: true,\n openGraphObject: {\n id: this.text,\n link: this.text,\n name: this.text\n },\n richObjectType: \"open-graph\"\n };\n }\n },\n watch: {\n text: \"fetch\"\n },\n created() {\n this.fetch();\n },\n methods: {\n fetch() {\n this.loading = true;\n if (this.referenceData) {\n this.references = null;\n this.loading = false;\n return;\n }\n if (!new RegExp(URL_PATTERN).exec(this.text)) {\n this.references = null;\n this.loading = false;\n return;\n }\n this.resolve().then((response) => {\n this.references = response.data.ocs.data.references;\n this.loading = false;\n this.$emit(\"loaded\");\n }).catch((error) => {\n logger.error(\"[NcReferenceList] Failed to extract references\", { error });\n this.loading = false;\n this.$emit(\"loaded\");\n });\n },\n resolve() {\n const match = new RegExp(URL_PATTERN).exec(this.text.trim());\n const isPublic = getCurrentUser() === null;\n if (this.limit === 1 && match) {\n return isPublic ? axios.get(generateOcsUrl(\"references/resolvePublic\") + `?reference=${encodeURIComponent(match[0])}&sharingToken=${getSharingToken()}`) : axios.get(generateOcsUrl(\"references/resolve\") + `?reference=${encodeURIComponent(match[0])}`);\n }\n return isPublic ? axios.post(generateOcsUrl(\"references/extractPublic\"), {\n text: this.text,\n resolve: true,\n limit: this.limit,\n sharingToken: getSharingToken()\n }) : axios.post(generateOcsUrl(\"references/extract\"), {\n text: this.text,\n resolve: true,\n limit: this.limit\n });\n }\n }\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcReferenceWidget = resolveComponent(\"NcReferenceWidget\");\n return $options.isVisible ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"widgets--list\", { \"icon-loading\": $data.loading }])\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList($options.displayedReferences, (reference) => {\n return openBlock(), createBlock(_component_NcReferenceWidget, {\n key: reference.openGraphObject?.id,\n reference,\n interactive: $props.interactive,\n interactiveOptIn: $props.interactiveOptIn\n }, null, 8, [\"reference\", \"interactive\", \"interactiveOptIn\"]);\n }), 128))\n ], 2)) : createCommentVNode(\"\", true);\n}\nconst NcReferenceList = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-8db718e3\"]]);\nfunction ccount(value, character) {\n const source = String(value);\n if (typeof character !== \"string\") {\n throw new TypeError(\"Expected character\");\n }\n let count = 0;\n let index = source.indexOf(character);\n while (index !== -1) {\n count++;\n index = source.indexOf(character, index + character.length);\n }\n return count;\n}\nfunction ok$1() {\n}\nconst asciiAlpha = regexCheck(/[A-Za-z]/);\nconst asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/);\nfunction asciiControl(code2) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code2 !== null && (code2 < 32 || code2 === 127)\n );\n}\nfunction markdownLineEnding(code2) {\n return code2 !== null && code2 < -2;\n}\nfunction markdownLineEndingOrSpace(code2) {\n return code2 !== null && (code2 < 0 || code2 === 32);\n}\nfunction markdownSpace(code2) {\n return code2 === -2 || code2 === -1 || code2 === 32;\n}\nconst unicodePunctuation = regexCheck(new RegExp(\"\\\\p{P}|\\\\p{S}\", \"u\"));\nconst unicodeWhitespace = regexCheck(/\\s/);\nfunction regexCheck(regex) {\n return check;\n function check(code2) {\n return code2 !== null && code2 > -1 && regex.test(String.fromCharCode(code2));\n }\n}\nfunction escapeStringRegexp(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(\"Expected a string\");\n }\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\").replace(/-/g, \"\\\\x2d\");\n}\nconst convert = (\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((test?: Test) => Check)\n * )}\n */\n /**\n * @param {Test} [test]\n * @returns {Check}\n */\n (function(test) {\n if (test === null || test === void 0) {\n return ok;\n }\n if (typeof test === \"function\") {\n return castFactory(test);\n }\n if (typeof test === \"object\") {\n return Array.isArray(test) ? anyFactory(test) : (\n // Cast because `ReadonlyArray` goes into the above but `isArray`\n // narrows to `Array`.\n propertiesFactory(\n /** @type {Props} */\n test\n )\n );\n }\n if (typeof test === \"string\") {\n return typeFactory(test);\n }\n throw new Error(\"Expected function, string, or object as test\");\n })\n);\nfunction anyFactory(tests) {\n const checks = [];\n let index = -1;\n while (++index < tests.length) {\n checks[index] = convert(tests[index]);\n }\n return castFactory(any);\n function any(...parameters) {\n let index2 = -1;\n while (++index2 < checks.length) {\n if (checks[index2].apply(this, parameters)) return true;\n }\n return false;\n }\n}\nfunction propertiesFactory(check) {\n const checkAsRecord = (\n /** @type {Record} */\n check\n );\n return castFactory(all);\n function all(node) {\n const nodeAsRecord = (\n /** @type {Record} */\n /** @type {unknown} */\n node\n );\n let key;\n for (key in check) {\n if (nodeAsRecord[key] !== checkAsRecord[key]) return false;\n }\n return true;\n }\n}\nfunction typeFactory(check) {\n return castFactory(type);\n function type(node) {\n return node && node.type === check;\n }\n}\nfunction castFactory(testFunction) {\n return check;\n function check(value, index, parent) {\n return Boolean(\n looksLikeANode(value) && testFunction.call(\n this,\n value,\n typeof index === \"number\" ? index : void 0,\n parent || void 0\n )\n );\n }\n}\nfunction ok() {\n return true;\n}\nfunction looksLikeANode(value) {\n return value !== null && typeof value === \"object\" && \"type\" in value;\n}\nfunction findAndReplace(tree, list2, options) {\n const settings = options || {};\n const ignored = convert(settings.ignore || []);\n const pairs = toPairs(list2);\n let pairIndex = -1;\n while (++pairIndex < pairs.length) {\n visitParents(tree, \"text\", visitor);\n }\n function visitor(node, parents) {\n let index = -1;\n let grandparent;\n while (++index < parents.length) {\n const parent = parents[index];\n const siblings = grandparent ? grandparent.children : void 0;\n if (ignored(\n parent,\n siblings ? siblings.indexOf(parent) : void 0,\n grandparent\n )) {\n return;\n }\n grandparent = parent;\n }\n if (grandparent) {\n return handler(node, parents);\n }\n }\n function handler(node, parents) {\n const parent = parents[parents.length - 1];\n const find = pairs[pairIndex][0];\n const replace2 = pairs[pairIndex][1];\n let start = 0;\n const siblings = parent.children;\n const index = siblings.indexOf(node);\n let change = false;\n let nodes = [];\n find.lastIndex = 0;\n let match = find.exec(node.value);\n while (match) {\n const position = match.index;\n const matchObject = {\n index: match.index,\n input: match.input,\n stack: [...parents, node]\n };\n let value = replace2(...match, matchObject);\n if (typeof value === \"string\") {\n value = value.length > 0 ? { type: \"text\", value } : void 0;\n }\n if (value === false) {\n find.lastIndex = position + 1;\n } else {\n if (start !== position) {\n nodes.push({\n type: \"text\",\n value: node.value.slice(start, position)\n });\n }\n if (Array.isArray(value)) {\n nodes.push(...value);\n } else if (value) {\n nodes.push(value);\n }\n start = position + match[0].length;\n change = true;\n }\n if (!find.global) {\n break;\n }\n match = find.exec(node.value);\n }\n if (change) {\n if (start < node.value.length) {\n nodes.push({ type: \"text\", value: node.value.slice(start) });\n }\n parent.children.splice(index, 1, ...nodes);\n } else {\n nodes = [node];\n }\n return index + nodes.length;\n }\n}\nfunction toPairs(tupleOrList) {\n const result = [];\n if (!Array.isArray(tupleOrList)) {\n throw new TypeError(\"Expected find and replace tuple or list of tuples\");\n }\n const list2 = !tupleOrList[0] || Array.isArray(tupleOrList[0]) ? tupleOrList : [tupleOrList];\n let index = -1;\n while (++index < list2.length) {\n const tuple = list2[index];\n result.push([toExpression(tuple[0]), toFunction(tuple[1])]);\n }\n return result;\n}\nfunction toExpression(find) {\n return typeof find === \"string\" ? new RegExp(escapeStringRegexp(find), \"g\") : find;\n}\nfunction toFunction(replace2) {\n return typeof replace2 === \"function\" ? replace2 : function() {\n return replace2;\n };\n}\nconst inConstruct = \"phrasing\";\nconst notInConstruct = [\"autolink\", \"link\", \"image\", \"label\"];\nfunction gfmAutolinkLiteralFromMarkdown() {\n return {\n transforms: [transformGfmAutolinkLiterals],\n enter: {\n literalAutolink: enterLiteralAutolink,\n literalAutolinkEmail: enterLiteralAutolinkValue,\n literalAutolinkHttp: enterLiteralAutolinkValue,\n literalAutolinkWww: enterLiteralAutolinkValue\n },\n exit: {\n literalAutolink: exitLiteralAutolink,\n literalAutolinkEmail: exitLiteralAutolinkEmail,\n literalAutolinkHttp: exitLiteralAutolinkHttp,\n literalAutolinkWww: exitLiteralAutolinkWww\n }\n };\n}\nfunction gfmAutolinkLiteralToMarkdown() {\n return {\n unsafe: [\n {\n character: \"@\",\n before: \"[+\\\\-.\\\\w]\",\n after: \"[\\\\-.\\\\w]\",\n inConstruct,\n notInConstruct\n },\n {\n character: \".\",\n before: \"[Ww]\",\n after: \"[\\\\-.\\\\w]\",\n inConstruct,\n notInConstruct\n },\n {\n character: \":\",\n before: \"[ps]\",\n after: \"\\\\/\",\n inConstruct,\n notInConstruct\n }\n ]\n };\n}\nfunction enterLiteralAutolink(token) {\n this.enter({ type: \"link\", title: null, url: \"\", children: [] }, token);\n}\nfunction enterLiteralAutolinkValue(token) {\n this.config.enter.autolinkProtocol.call(this, token);\n}\nfunction exitLiteralAutolinkHttp(token) {\n this.config.exit.autolinkProtocol.call(this, token);\n}\nfunction exitLiteralAutolinkWww(token) {\n this.config.exit.data.call(this, token);\n const node = this.stack[this.stack.length - 1];\n ok$1(node.type === \"link\");\n node.url = \"http://\" + this.sliceSerialize(token);\n}\nfunction exitLiteralAutolinkEmail(token) {\n this.config.exit.autolinkEmail.call(this, token);\n}\nfunction exitLiteralAutolink(token) {\n this.exit(token);\n}\nfunction transformGfmAutolinkLiterals(tree) {\n findAndReplace(\n tree,\n [\n [/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi, findUrl],\n [/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/g, findEmail]\n ],\n { ignore: [\"link\", \"linkReference\"] }\n );\n}\nfunction findUrl(_, protocol, domain2, path2, match) {\n let prefix = \"\";\n if (!previous(match)) {\n return false;\n }\n if (/^w/i.test(protocol)) {\n domain2 = protocol + domain2;\n protocol = \"\";\n prefix = \"http://\";\n }\n if (!isCorrectDomain(domain2)) {\n return false;\n }\n const parts = splitUrl(domain2 + path2);\n if (!parts[0]) return false;\n const result = {\n type: \"link\",\n title: null,\n url: prefix + protocol + parts[0],\n children: [{ type: \"text\", value: protocol + parts[0] }]\n };\n if (parts[1]) {\n return [result, { type: \"text\", value: parts[1] }];\n }\n return result;\n}\nfunction findEmail(_, atext, label, match) {\n if (\n // Not an expected previous character.\n !previous(match, true) || // Label ends in not allowed character.\n /[-\\d_]$/.test(label)\n ) {\n return false;\n }\n return {\n type: \"link\",\n title: null,\n url: \"mailto:\" + atext + \"@\" + label,\n children: [{ type: \"text\", value: atext + \"@\" + label }]\n };\n}\nfunction isCorrectDomain(domain2) {\n const parts = domain2.split(\".\");\n if (parts.length < 2 || parts[parts.length - 1] && (/_/.test(parts[parts.length - 1]) || !/[a-zA-Z\\d]/.test(parts[parts.length - 1])) || parts[parts.length - 2] && (/_/.test(parts[parts.length - 2]) || !/[a-zA-Z\\d]/.test(parts[parts.length - 2]))) {\n return false;\n }\n return true;\n}\nfunction splitUrl(url) {\n const trailExec = /[!\"&'),.:;<>?\\]}]+$/.exec(url);\n if (!trailExec) {\n return [url, void 0];\n }\n url = url.slice(0, trailExec.index);\n let trail2 = trailExec[0];\n let closingParenIndex = trail2.indexOf(\")\");\n const openingParens = ccount(url, \"(\");\n let closingParens = ccount(url, \")\");\n while (closingParenIndex !== -1 && openingParens > closingParens) {\n url += trail2.slice(0, closingParenIndex + 1);\n trail2 = trail2.slice(closingParenIndex + 1);\n closingParenIndex = trail2.indexOf(\")\");\n closingParens++;\n }\n return [url, trail2];\n}\nfunction previous(match, email) {\n const code2 = match.input.charCodeAt(match.index - 1);\n return (match.index === 0 || unicodeWhitespace(code2) || unicodePunctuation(code2)) && (!email || code2 !== 47);\n}\nfunction normalizeIdentifier(value) {\n return value.replace(/[\\t\\n\\r ]+/g, \" \").replace(/^ | $/g, \"\").toLowerCase().toUpperCase();\n}\nfootnoteReference.peek = footnoteReferencePeek;\nfunction enterFootnoteCallString() {\n this.buffer();\n}\nfunction enterFootnoteCall(token) {\n this.enter({ type: \"footnoteReference\", identifier: \"\", label: \"\" }, token);\n}\nfunction enterFootnoteDefinitionLabelString() {\n this.buffer();\n}\nfunction enterFootnoteDefinition(token) {\n this.enter(\n { type: \"footnoteDefinition\", identifier: \"\", label: \"\", children: [] },\n token\n );\n}\nfunction exitFootnoteCallString(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n ok$1(node.type === \"footnoteReference\");\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n node.label = label;\n}\nfunction exitFootnoteCall(token) {\n this.exit(token);\n}\nfunction exitFootnoteDefinitionLabelString(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n ok$1(node.type === \"footnoteDefinition\");\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n node.label = label;\n}\nfunction exitFootnoteDefinition(token) {\n this.exit(token);\n}\nfunction footnoteReferencePeek() {\n return \"[\";\n}\nfunction footnoteReference(node, _, state, info) {\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[^\");\n const exit2 = state.enter(\"footnoteReference\");\n const subexit = state.enter(\"reference\");\n value += tracker.move(\n state.safe(state.associationId(node), { after: \"]\", before: value })\n );\n subexit();\n exit2();\n value += tracker.move(\"]\");\n return value;\n}\nfunction gfmFootnoteFromMarkdown() {\n return {\n enter: {\n gfmFootnoteCallString: enterFootnoteCallString,\n gfmFootnoteCall: enterFootnoteCall,\n gfmFootnoteDefinitionLabelString: enterFootnoteDefinitionLabelString,\n gfmFootnoteDefinition: enterFootnoteDefinition\n },\n exit: {\n gfmFootnoteCallString: exitFootnoteCallString,\n gfmFootnoteCall: exitFootnoteCall,\n gfmFootnoteDefinitionLabelString: exitFootnoteDefinitionLabelString,\n gfmFootnoteDefinition: exitFootnoteDefinition\n }\n };\n}\nfunction gfmFootnoteToMarkdown(options) {\n let firstLineBlank = false;\n if (options && options.firstLineBlank) {\n firstLineBlank = true;\n }\n return {\n handlers: { footnoteDefinition, footnoteReference },\n // This is on by default already.\n unsafe: [{ character: \"[\", inConstruct: [\"label\", \"phrasing\", \"reference\"] }]\n };\n function footnoteDefinition(node, _, state, info) {\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[^\");\n const exit2 = state.enter(\"footnoteDefinition\");\n const subexit = state.enter(\"label\");\n value += tracker.move(\n state.safe(state.associationId(node), { before: value, after: \"]\" })\n );\n subexit();\n value += tracker.move(\"]:\");\n if (node.children && node.children.length > 0) {\n tracker.shift(4);\n value += tracker.move(\n (firstLineBlank ? \"\\n\" : \" \") + state.indentLines(\n state.containerFlow(node, tracker.current()),\n firstLineBlank ? mapAll : mapExceptFirst\n )\n );\n }\n exit2();\n return value;\n }\n}\nfunction mapExceptFirst(line, index, blank) {\n return index === 0 ? line : mapAll(line, index, blank);\n}\nfunction mapAll(line, index, blank) {\n return (blank ? \"\" : \" \") + line;\n}\nconst constructsWithoutStrikethrough = [\n \"autolink\",\n \"destinationLiteral\",\n \"destinationRaw\",\n \"reference\",\n \"titleQuote\",\n \"titleApostrophe\"\n];\nhandleDelete.peek = peekDelete;\nfunction gfmStrikethroughFromMarkdown() {\n return {\n canContainEols: [\"delete\"],\n enter: { strikethrough: enterStrikethrough },\n exit: { strikethrough: exitStrikethrough }\n };\n}\nfunction gfmStrikethroughToMarkdown() {\n return {\n unsafe: [\n {\n character: \"~\",\n inConstruct: \"phrasing\",\n notInConstruct: constructsWithoutStrikethrough\n }\n ],\n handlers: { delete: handleDelete }\n };\n}\nfunction enterStrikethrough(token) {\n this.enter({ type: \"delete\", children: [] }, token);\n}\nfunction exitStrikethrough(token) {\n this.exit(token);\n}\nfunction handleDelete(node, _, state, info) {\n const tracker = state.createTracker(info);\n const exit2 = state.enter(\"strikethrough\");\n let value = tracker.move(\"~~\");\n value += state.containerPhrasing(node, {\n ...tracker.current(),\n before: value,\n after: \"~\"\n });\n value += tracker.move(\"~~\");\n exit2();\n return value;\n}\nfunction peekDelete() {\n return \"~\";\n}\nfunction defaultStringLength(value) {\n return value.length;\n}\nfunction markdownTable(table, options) {\n const settings = options || {};\n const align = (settings.align || []).concat();\n const stringLength = settings.stringLength || defaultStringLength;\n const alignments = [];\n const cellMatrix = [];\n const sizeMatrix = [];\n const longestCellByColumn = [];\n let mostCellsPerRow = 0;\n let rowIndex = -1;\n while (++rowIndex < table.length) {\n const row2 = [];\n const sizes2 = [];\n let columnIndex2 = -1;\n if (table[rowIndex].length > mostCellsPerRow) {\n mostCellsPerRow = table[rowIndex].length;\n }\n while (++columnIndex2 < table[rowIndex].length) {\n const cell = serialize(table[rowIndex][columnIndex2]);\n if (settings.alignDelimiters !== false) {\n const size = stringLength(cell);\n sizes2[columnIndex2] = size;\n if (longestCellByColumn[columnIndex2] === void 0 || size > longestCellByColumn[columnIndex2]) {\n longestCellByColumn[columnIndex2] = size;\n }\n }\n row2.push(cell);\n }\n cellMatrix[rowIndex] = row2;\n sizeMatrix[rowIndex] = sizes2;\n }\n let columnIndex = -1;\n if (typeof align === \"object\" && \"length\" in align) {\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = toAlignment(align[columnIndex]);\n }\n } else {\n const code2 = toAlignment(align);\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = code2;\n }\n }\n columnIndex = -1;\n const row = [];\n const sizes = [];\n while (++columnIndex < mostCellsPerRow) {\n const code2 = alignments[columnIndex];\n let before = \"\";\n let after = \"\";\n if (code2 === 99) {\n before = \":\";\n after = \":\";\n } else if (code2 === 108) {\n before = \":\";\n } else if (code2 === 114) {\n after = \":\";\n }\n let size = settings.alignDelimiters === false ? 1 : Math.max(\n 1,\n longestCellByColumn[columnIndex] - before.length - after.length\n );\n const cell = before + \"-\".repeat(size) + after;\n if (settings.alignDelimiters !== false) {\n size = before.length + size + after.length;\n if (size > longestCellByColumn[columnIndex]) {\n longestCellByColumn[columnIndex] = size;\n }\n sizes[columnIndex] = size;\n }\n row[columnIndex] = cell;\n }\n cellMatrix.splice(1, 0, row);\n sizeMatrix.splice(1, 0, sizes);\n rowIndex = -1;\n const lines = [];\n while (++rowIndex < cellMatrix.length) {\n const row2 = cellMatrix[rowIndex];\n const sizes2 = sizeMatrix[rowIndex];\n columnIndex = -1;\n const line = [];\n while (++columnIndex < mostCellsPerRow) {\n const cell = row2[columnIndex] || \"\";\n let before = \"\";\n let after = \"\";\n if (settings.alignDelimiters !== false) {\n const size = longestCellByColumn[columnIndex] - (sizes2[columnIndex] || 0);\n const code2 = alignments[columnIndex];\n if (code2 === 114) {\n before = \" \".repeat(size);\n } else if (code2 === 99) {\n if (size % 2) {\n before = \" \".repeat(size / 2 + 0.5);\n after = \" \".repeat(size / 2 - 0.5);\n } else {\n before = \" \".repeat(size / 2);\n after = before;\n }\n } else {\n after = \" \".repeat(size);\n }\n }\n if (settings.delimiterStart !== false && !columnIndex) {\n line.push(\"|\");\n }\n if (settings.padding !== false && // Don’t add the opening space if we’re not aligning and the cell is\n // empty: there will be a closing space.\n !(settings.alignDelimiters === false && cell === \"\") && (settings.delimiterStart !== false || columnIndex)) {\n line.push(\" \");\n }\n if (settings.alignDelimiters !== false) {\n line.push(before);\n }\n line.push(cell);\n if (settings.alignDelimiters !== false) {\n line.push(after);\n }\n if (settings.padding !== false) {\n line.push(\" \");\n }\n if (settings.delimiterEnd !== false || columnIndex !== mostCellsPerRow - 1) {\n line.push(\"|\");\n }\n }\n lines.push(\n settings.delimiterEnd === false ? line.join(\"\").replace(/ +$/, \"\") : line.join(\"\")\n );\n }\n return lines.join(\"\\n\");\n}\nfunction serialize(value) {\n return value === null || value === void 0 ? \"\" : String(value);\n}\nfunction toAlignment(value) {\n const code2 = typeof value === \"string\" ? value.codePointAt(0) : 0;\n return code2 === 67 || code2 === 99 ? 99 : code2 === 76 || code2 === 108 ? 108 : code2 === 82 || code2 === 114 ? 114 : 0;\n}\nfunction blockquote(node, _, state, info) {\n const exit2 = state.enter(\"blockquote\");\n const tracker = state.createTracker(info);\n tracker.move(\"> \");\n tracker.shift(2);\n const value = state.indentLines(\n state.containerFlow(node, tracker.current()),\n map$1\n );\n exit2();\n return value;\n}\nfunction map$1(line, _, blank) {\n return \">\" + (blank ? \"\" : \" \") + line;\n}\nfunction patternInScope(stack, pattern) {\n return listInScope(stack, pattern.inConstruct, true) && !listInScope(stack, pattern.notInConstruct, false);\n}\nfunction listInScope(stack, list2, none) {\n if (typeof list2 === \"string\") {\n list2 = [list2];\n }\n if (!list2 || list2.length === 0) {\n return none;\n }\n let index = -1;\n while (++index < list2.length) {\n if (stack.includes(list2[index])) {\n return true;\n }\n }\n return false;\n}\nfunction hardBreak(_, _1, state, info) {\n let index = -1;\n while (++index < state.unsafe.length) {\n if (state.unsafe[index].character === \"\\n\" && patternInScope(state.stack, state.unsafe[index])) {\n return /[ \\t]/.test(info.before) ? \"\" : \" \";\n }\n }\n return \"\\\\\\n\";\n}\nfunction longestStreak(value, substring) {\n const source = String(value);\n let index = source.indexOf(substring);\n let expected = index;\n let count = 0;\n let max = 0;\n if (typeof substring !== \"string\") {\n throw new TypeError(\"Expected substring\");\n }\n while (index !== -1) {\n if (index === expected) {\n if (++count > max) {\n max = count;\n }\n } else {\n count = 1;\n }\n expected = index + substring.length;\n index = source.indexOf(substring, expected);\n }\n return max;\n}\nfunction formatCodeAsIndented(node, state) {\n return Boolean(\n state.options.fences === false && node.value && // If there’s no info…\n !node.lang && // And there’s a non-whitespace character…\n /[^ \\r\\n]/.test(node.value) && // And the value doesn’t start or end in a blank…\n !/^[\\t ]*(?:[\\r\\n]|$)|(?:^|[\\r\\n])[\\t ]*$/.test(node.value)\n );\n}\nfunction checkFence(state) {\n const marker = state.options.fence || \"`\";\n if (marker !== \"`\" && marker !== \"~\") {\n throw new Error(\n \"Cannot serialize code with `\" + marker + \"` for `options.fence`, expected `` ` `` or `~`\"\n );\n }\n return marker;\n}\nfunction code$1(node, _, state, info) {\n const marker = checkFence(state);\n const raw = node.value || \"\";\n const suffix = marker === \"`\" ? \"GraveAccent\" : \"Tilde\";\n if (formatCodeAsIndented(node, state)) {\n const exit3 = state.enter(\"codeIndented\");\n const value2 = state.indentLines(raw, map);\n exit3();\n return value2;\n }\n const tracker = state.createTracker(info);\n const sequence = marker.repeat(Math.max(longestStreak(raw, marker) + 1, 3));\n const exit2 = state.enter(\"codeFenced\");\n let value = tracker.move(sequence);\n if (node.lang) {\n const subexit = state.enter(`codeFencedLang${suffix}`);\n value += tracker.move(\n state.safe(node.lang, {\n before: value,\n after: \" \",\n encode: [\"`\"],\n ...tracker.current()\n })\n );\n subexit();\n }\n if (node.lang && node.meta) {\n const subexit = state.enter(`codeFencedMeta${suffix}`);\n value += tracker.move(\" \");\n value += tracker.move(\n state.safe(node.meta, {\n before: value,\n after: \"\\n\",\n encode: [\"`\"],\n ...tracker.current()\n })\n );\n subexit();\n }\n value += tracker.move(\"\\n\");\n if (raw) {\n value += tracker.move(raw + \"\\n\");\n }\n value += tracker.move(sequence);\n exit2();\n return value;\n}\nfunction map(line, _, blank) {\n return (blank ? \"\" : \" \") + line;\n}\nfunction checkQuote(state) {\n const marker = state.options.quote || '\"';\n if (marker !== '\"' && marker !== \"'\") {\n throw new Error(\n \"Cannot serialize title with `\" + marker + \"` for `options.quote`, expected `\\\"`, or `'`\"\n );\n }\n return marker;\n}\nfunction definition(node, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const exit2 = state.enter(\"definition\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[\");\n value += tracker.move(\n state.safe(state.associationId(node), {\n before: value,\n after: \"]\",\n ...tracker.current()\n })\n );\n value += tracker.move(\"]: \");\n subexit();\n if (\n // If there’s no url, or…\n !node.url || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? \" \" : \"\\n\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n exit2();\n return value;\n}\nfunction checkEmphasis(state) {\n const marker = state.options.emphasis || \"*\";\n if (marker !== \"*\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize emphasis with `\" + marker + \"` for `options.emphasis`, expected `*`, or `_`\"\n );\n }\n return marker;\n}\nfunction encodeCharacterReference(code2) {\n return \"&#x\" + code2.toString(16).toUpperCase() + \";\";\n}\nfunction classifyCharacter(code2) {\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return 1;\n }\n if (unicodePunctuation(code2)) {\n return 2;\n }\n}\nfunction encodeInfo(outside, inside, marker) {\n const outsideKind = classifyCharacter(outside);\n const insideKind = classifyCharacter(inside);\n if (outsideKind === void 0) {\n return insideKind === void 0 ? (\n // Letter inside:\n // we have to encode *both* letters for `_` as it is looser.\n // it already forms for `*` (and GFMs `~`).\n marker === \"_\" ? { inside: true, outside: true } : { inside: false, outside: false }\n ) : insideKind === 1 ? (\n // Whitespace inside: encode both (letter, whitespace).\n { inside: true, outside: true }\n ) : (\n // Punctuation inside: encode outer (letter)\n { inside: false, outside: true }\n );\n }\n if (outsideKind === 1) {\n return insideKind === void 0 ? (\n // Letter inside: already forms.\n { inside: false, outside: false }\n ) : insideKind === 1 ? (\n // Whitespace inside: encode both (whitespace).\n { inside: true, outside: true }\n ) : (\n // Punctuation inside: already forms.\n { inside: false, outside: false }\n );\n }\n return insideKind === void 0 ? (\n // Letter inside: already forms.\n { inside: false, outside: false }\n ) : insideKind === 1 ? (\n // Whitespace inside: encode inner (whitespace).\n { inside: true, outside: false }\n ) : (\n // Punctuation inside: already forms.\n { inside: false, outside: false }\n );\n}\nemphasis.peek = emphasisPeek;\nfunction emphasis(node, _, state, info) {\n const marker = checkEmphasis(state);\n const exit2 = state.enter(\"emphasis\");\n const tracker = state.createTracker(info);\n const before = tracker.move(marker);\n let between = tracker.move(\n state.containerPhrasing(node, {\n after: marker,\n before,\n ...tracker.current()\n })\n );\n const betweenHead = between.charCodeAt(0);\n const open = encodeInfo(\n info.before.charCodeAt(info.before.length - 1),\n betweenHead,\n marker\n );\n if (open.inside) {\n between = encodeCharacterReference(betweenHead) + between.slice(1);\n }\n const betweenTail = between.charCodeAt(between.length - 1);\n const close = encodeInfo(info.after.charCodeAt(0), betweenTail, marker);\n if (close.inside) {\n between = between.slice(0, -1) + encodeCharacterReference(betweenTail);\n }\n const after = tracker.move(marker);\n exit2();\n state.attentionEncodeSurroundingInfo = {\n after: close.outside,\n before: open.outside\n };\n return before + between + after;\n}\nfunction emphasisPeek(_, _1, state) {\n return state.options.emphasis || \"*\";\n}\nfunction visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {\n let reverse;\n let test;\n let visitor;\n if (typeof testOrVisitor === \"function\" && typeof visitorOrReverse !== \"function\") {\n test = void 0;\n visitor = testOrVisitor;\n reverse = visitorOrReverse;\n } else {\n test = testOrVisitor;\n visitor = visitorOrReverse;\n reverse = maybeReverse;\n }\n visitParents(tree, test, overload, reverse);\n function overload(node, parents) {\n const parent = parents[parents.length - 1];\n const index = parent ? parent.children.indexOf(node) : void 0;\n return visitor(node, index, parent);\n }\n}\nfunction formatHeadingAsSetext(node, state) {\n let literalWithBreak = false;\n visit(node, function(node2) {\n if (\"value\" in node2 && /\\r?\\n|\\r/.test(node2.value) || node2.type === \"break\") {\n literalWithBreak = true;\n return EXIT;\n }\n });\n return Boolean(\n (!node.depth || node.depth < 3) && toString(node) && (state.options.setext || literalWithBreak)\n );\n}\nfunction heading(node, _, state, info) {\n const rank = Math.max(Math.min(6, node.depth || 1), 1);\n const tracker = state.createTracker(info);\n if (formatHeadingAsSetext(node, state)) {\n const exit3 = state.enter(\"headingSetext\");\n const subexit2 = state.enter(\"phrasing\");\n const value2 = state.containerPhrasing(node, {\n ...tracker.current(),\n before: \"\\n\",\n after: \"\\n\"\n });\n subexit2();\n exit3();\n return value2 + \"\\n\" + (rank === 1 ? \"=\" : \"-\").repeat(\n // The whole size…\n value2.length - // Minus the position of the character after the last EOL (or\n // 0 if there is none)…\n (Math.max(value2.lastIndexOf(\"\\r\"), value2.lastIndexOf(\"\\n\")) + 1)\n );\n }\n const sequence = \"#\".repeat(rank);\n const exit2 = state.enter(\"headingAtx\");\n const subexit = state.enter(\"phrasing\");\n tracker.move(sequence + \" \");\n let value = state.containerPhrasing(node, {\n before: \"# \",\n after: \"\\n\",\n ...tracker.current()\n });\n if (/^[\\t ]/.test(value)) {\n value = encodeCharacterReference(value.charCodeAt(0)) + value.slice(1);\n }\n value = value ? sequence + \" \" + value : sequence;\n if (state.options.closeAtx) {\n value += \" \" + sequence;\n }\n subexit();\n exit2();\n return value;\n}\nhtml.peek = htmlPeek;\nfunction html(node) {\n return node.value || \"\";\n}\nfunction htmlPeek() {\n return \"<\";\n}\nimage.peek = imagePeek;\nfunction image(node, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const exit2 = state.enter(\"image\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"![\");\n value += tracker.move(\n state.safe(node.alt, { before: value, after: \"]\", ...tracker.current() })\n );\n value += tracker.move(\"](\");\n subexit();\n if (\n // If there’s no url but there is a title…\n !node.url && node.title || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? \" \" : \")\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n value += tracker.move(\")\");\n exit2();\n return value;\n}\nfunction imagePeek() {\n return \"!\";\n}\nimageReference.peek = imageReferencePeek;\nfunction imageReference(node, _, state, info) {\n const type = node.referenceType;\n const exit2 = state.enter(\"imageReference\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"![\");\n const alt = state.safe(node.alt, {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n value += tracker.move(alt + \"][\");\n subexit();\n const stack = state.stack;\n state.stack = [];\n subexit = state.enter(\"reference\");\n const reference = state.safe(state.associationId(node), {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n subexit();\n state.stack = stack;\n exit2();\n if (type === \"full\" || !alt || alt !== reference) {\n value += tracker.move(reference + \"]\");\n } else if (type === \"shortcut\") {\n value = value.slice(0, -1);\n } else {\n value += tracker.move(\"]\");\n }\n return value;\n}\nfunction imageReferencePeek() {\n return \"!\";\n}\ninlineCode.peek = inlineCodePeek;\nfunction inlineCode(node, _, state) {\n let value = node.value || \"\";\n let sequence = \"`\";\n let index = -1;\n while (new RegExp(\"(^|[^`])\" + sequence + \"([^`]|$)\").test(value)) {\n sequence += \"`\";\n }\n if (/[^ \\r\\n]/.test(value) && (/^[ \\r\\n]/.test(value) && /[ \\r\\n]$/.test(value) || /^`|`$/.test(value))) {\n value = \" \" + value + \" \";\n }\n while (++index < state.unsafe.length) {\n const pattern = state.unsafe[index];\n const expression = state.compilePattern(pattern);\n let match;\n if (!pattern.atBreak) continue;\n while (match = expression.exec(value)) {\n let position = match.index;\n if (value.charCodeAt(position) === 10 && value.charCodeAt(position - 1) === 13) {\n position--;\n }\n value = value.slice(0, position) + \" \" + value.slice(match.index + 1);\n }\n }\n return sequence + value + sequence;\n}\nfunction inlineCodePeek() {\n return \"`\";\n}\nfunction formatLinkAsAutolink(node, state) {\n const raw = toString(node);\n return Boolean(\n !state.options.resourceLink && // If there’s a url…\n node.url && // And there’s a no title…\n !node.title && // And the content of `node` is a single text node…\n node.children && node.children.length === 1 && node.children[0].type === \"text\" && // And if the url is the same as the content…\n (raw === node.url || \"mailto:\" + raw === node.url) && // And that starts w/ a protocol…\n /^[a-z][a-z+.-]+:/i.test(node.url) && // And that doesn’t contain ASCII control codes (character escapes and\n // references don’t work), space, or angle brackets…\n !/[\\0- <>\\u007F]/.test(node.url)\n );\n}\nlink.peek = linkPeek;\nfunction link(node, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const tracker = state.createTracker(info);\n let exit2;\n let subexit;\n if (formatLinkAsAutolink(node, state)) {\n const stack = state.stack;\n state.stack = [];\n exit2 = state.enter(\"autolink\");\n let value2 = tracker.move(\"<\");\n value2 += tracker.move(\n state.containerPhrasing(node, {\n before: value2,\n after: \">\",\n ...tracker.current()\n })\n );\n value2 += tracker.move(\">\");\n exit2();\n state.stack = stack;\n return value2;\n }\n exit2 = state.enter(\"link\");\n subexit = state.enter(\"label\");\n let value = tracker.move(\"[\");\n value += tracker.move(\n state.containerPhrasing(node, {\n before: value,\n after: \"](\",\n ...tracker.current()\n })\n );\n value += tracker.move(\"](\");\n subexit();\n if (\n // If there’s no url but there is a title…\n !node.url && node.title || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? \" \" : \")\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n value += tracker.move(\")\");\n exit2();\n return value;\n}\nfunction linkPeek(node, _, state) {\n return formatLinkAsAutolink(node, state) ? \"<\" : \"[\";\n}\nlinkReference.peek = linkReferencePeek;\nfunction linkReference(node, _, state, info) {\n const type = node.referenceType;\n const exit2 = state.enter(\"linkReference\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[\");\n const text2 = state.containerPhrasing(node, {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n value += tracker.move(text2 + \"][\");\n subexit();\n const stack = state.stack;\n state.stack = [];\n subexit = state.enter(\"reference\");\n const reference = state.safe(state.associationId(node), {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n subexit();\n state.stack = stack;\n exit2();\n if (type === \"full\" || !text2 || text2 !== reference) {\n value += tracker.move(reference + \"]\");\n } else if (type === \"shortcut\") {\n value = value.slice(0, -1);\n } else {\n value += tracker.move(\"]\");\n }\n return value;\n}\nfunction linkReferencePeek() {\n return \"[\";\n}\nfunction checkBullet(state) {\n const marker = state.options.bullet || \"*\";\n if (marker !== \"*\" && marker !== \"+\" && marker !== \"-\") {\n throw new Error(\n \"Cannot serialize items with `\" + marker + \"` for `options.bullet`, expected `*`, `+`, or `-`\"\n );\n }\n return marker;\n}\nfunction checkBulletOther(state) {\n const bullet = checkBullet(state);\n const bulletOther = state.options.bulletOther;\n if (!bulletOther) {\n return bullet === \"*\" ? \"-\" : \"*\";\n }\n if (bulletOther !== \"*\" && bulletOther !== \"+\" && bulletOther !== \"-\") {\n throw new Error(\n \"Cannot serialize items with `\" + bulletOther + \"` for `options.bulletOther`, expected `*`, `+`, or `-`\"\n );\n }\n if (bulletOther === bullet) {\n throw new Error(\n \"Expected `bullet` (`\" + bullet + \"`) and `bulletOther` (`\" + bulletOther + \"`) to be different\"\n );\n }\n return bulletOther;\n}\nfunction checkBulletOrdered(state) {\n const marker = state.options.bulletOrdered || \".\";\n if (marker !== \".\" && marker !== \")\") {\n throw new Error(\n \"Cannot serialize items with `\" + marker + \"` for `options.bulletOrdered`, expected `.` or `)`\"\n );\n }\n return marker;\n}\nfunction checkRule(state) {\n const marker = state.options.rule || \"*\";\n if (marker !== \"*\" && marker !== \"-\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize rules with `\" + marker + \"` for `options.rule`, expected `*`, `-`, or `_`\"\n );\n }\n return marker;\n}\nfunction list(node, parent, state, info) {\n const exit2 = state.enter(\"list\");\n const bulletCurrent = state.bulletCurrent;\n let bullet = node.ordered ? checkBulletOrdered(state) : checkBullet(state);\n const bulletOther = node.ordered ? bullet === \".\" ? \")\" : \".\" : checkBulletOther(state);\n let useDifferentMarker = parent && state.bulletLastUsed ? bullet === state.bulletLastUsed : false;\n if (!node.ordered) {\n const firstListItem = node.children ? node.children[0] : void 0;\n if (\n // Bullet could be used as a thematic break marker:\n (bullet === \"*\" || bullet === \"-\") && // Empty first list item:\n firstListItem && (!firstListItem.children || !firstListItem.children[0]) && // Directly in two other list items:\n state.stack[state.stack.length - 1] === \"list\" && state.stack[state.stack.length - 2] === \"listItem\" && state.stack[state.stack.length - 3] === \"list\" && state.stack[state.stack.length - 4] === \"listItem\" && // That are each the first child.\n state.indexStack[state.indexStack.length - 1] === 0 && state.indexStack[state.indexStack.length - 2] === 0 && state.indexStack[state.indexStack.length - 3] === 0\n ) {\n useDifferentMarker = true;\n }\n if (checkRule(state) === bullet && firstListItem) {\n let index = -1;\n while (++index < node.children.length) {\n const item = node.children[index];\n if (item && item.type === \"listItem\" && item.children && item.children[0] && item.children[0].type === \"thematicBreak\") {\n useDifferentMarker = true;\n break;\n }\n }\n }\n }\n if (useDifferentMarker) {\n bullet = bulletOther;\n }\n state.bulletCurrent = bullet;\n const value = state.containerFlow(node, info);\n state.bulletLastUsed = bullet;\n state.bulletCurrent = bulletCurrent;\n exit2();\n return value;\n}\nfunction checkListItemIndent(state) {\n const style = state.options.listItemIndent || \"one\";\n if (style !== \"tab\" && style !== \"one\" && style !== \"mixed\") {\n throw new Error(\n \"Cannot serialize items with `\" + style + \"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`\"\n );\n }\n return style;\n}\nfunction listItem(node, parent, state, info) {\n const listItemIndent = checkListItemIndent(state);\n let bullet = state.bulletCurrent || checkBullet(state);\n if (parent && parent.type === \"list\" && parent.ordered) {\n bullet = (typeof parent.start === \"number\" && parent.start > -1 ? parent.start : 1) + (state.options.incrementListMarker === false ? 0 : parent.children.indexOf(node)) + bullet;\n }\n let size = bullet.length + 1;\n if (listItemIndent === \"tab\" || listItemIndent === \"mixed\" && (parent && parent.type === \"list\" && parent.spread || node.spread)) {\n size = Math.ceil(size / 4) * 4;\n }\n const tracker = state.createTracker(info);\n tracker.move(bullet + \" \".repeat(size - bullet.length));\n tracker.shift(size);\n const exit2 = state.enter(\"listItem\");\n const value = state.indentLines(\n state.containerFlow(node, tracker.current()),\n map2\n );\n exit2();\n return value;\n function map2(line, index, blank) {\n if (index) {\n return (blank ? \"\" : \" \".repeat(size)) + line;\n }\n return (blank ? bullet : bullet + \" \".repeat(size - bullet.length)) + line;\n }\n}\nfunction paragraph(node, _, state, info) {\n const exit2 = state.enter(\"paragraph\");\n const subexit = state.enter(\"phrasing\");\n const value = state.containerPhrasing(node, info);\n subexit();\n exit2();\n return value;\n}\nconst phrasing = (\n /** @type {(node?: unknown) => node is Exclude} */\n convert([\n \"break\",\n \"delete\",\n \"emphasis\",\n // To do: next major: removed since footnotes were added to GFM.\n \"footnote\",\n \"footnoteReference\",\n \"image\",\n \"imageReference\",\n \"inlineCode\",\n // Enabled by `mdast-util-math`:\n \"inlineMath\",\n \"link\",\n \"linkReference\",\n // Enabled by `mdast-util-mdx`:\n \"mdxJsxTextElement\",\n // Enabled by `mdast-util-mdx`:\n \"mdxTextExpression\",\n \"strong\",\n \"text\",\n // Enabled by `mdast-util-directive`:\n \"textDirective\"\n ])\n);\nfunction root(node, _, state, info) {\n const hasPhrasing = node.children.some(function(d) {\n return phrasing(d);\n });\n const container = hasPhrasing ? state.containerPhrasing : state.containerFlow;\n return container.call(state, node, info);\n}\nfunction checkStrong(state) {\n const marker = state.options.strong || \"*\";\n if (marker !== \"*\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize strong with `\" + marker + \"` for `options.strong`, expected `*`, or `_`\"\n );\n }\n return marker;\n}\nstrong.peek = strongPeek;\nfunction strong(node, _, state, info) {\n const marker = checkStrong(state);\n const exit2 = state.enter(\"strong\");\n const tracker = state.createTracker(info);\n const before = tracker.move(marker + marker);\n let between = tracker.move(\n state.containerPhrasing(node, {\n after: marker,\n before,\n ...tracker.current()\n })\n );\n const betweenHead = between.charCodeAt(0);\n const open = encodeInfo(\n info.before.charCodeAt(info.before.length - 1),\n betweenHead,\n marker\n );\n if (open.inside) {\n between = encodeCharacterReference(betweenHead) + between.slice(1);\n }\n const betweenTail = between.charCodeAt(between.length - 1);\n const close = encodeInfo(info.after.charCodeAt(0), betweenTail, marker);\n if (close.inside) {\n between = between.slice(0, -1) + encodeCharacterReference(betweenTail);\n }\n const after = tracker.move(marker + marker);\n exit2();\n state.attentionEncodeSurroundingInfo = {\n after: close.outside,\n before: open.outside\n };\n return before + between + after;\n}\nfunction strongPeek(_, _1, state) {\n return state.options.strong || \"*\";\n}\nfunction text$1(node, _, state, info) {\n return state.safe(node.value, info);\n}\nfunction checkRuleRepetition(state) {\n const repetition = state.options.ruleRepetition || 3;\n if (repetition < 3) {\n throw new Error(\n \"Cannot serialize rules with repetition `\" + repetition + \"` for `options.ruleRepetition`, expected `3` or more\"\n );\n }\n return repetition;\n}\nfunction thematicBreak(_, _1, state) {\n const value = (checkRule(state) + (state.options.ruleSpaces ? \" \" : \"\")).repeat(checkRuleRepetition(state));\n return state.options.ruleSpaces ? value.slice(0, -1) : value;\n}\nconst handle = {\n blockquote,\n break: hardBreak,\n code: code$1,\n definition,\n emphasis,\n hardBreak,\n heading,\n html,\n image,\n imageReference,\n inlineCode,\n link,\n linkReference,\n list,\n listItem,\n paragraph,\n root,\n strong,\n text: text$1,\n thematicBreak\n};\nfunction gfmTableFromMarkdown() {\n return {\n enter: {\n table: enterTable,\n tableData: enterCell,\n tableHeader: enterCell,\n tableRow: enterRow\n },\n exit: {\n codeText: exitCodeText,\n table: exitTable,\n tableData: exit,\n tableHeader: exit,\n tableRow: exit\n }\n };\n}\nfunction enterTable(token) {\n const align = token._align;\n this.enter(\n {\n type: \"table\",\n align: align.map(function(d) {\n return d === \"none\" ? null : d;\n }),\n children: []\n },\n token\n );\n this.data.inTable = true;\n}\nfunction exitTable(token) {\n this.exit(token);\n this.data.inTable = void 0;\n}\nfunction enterRow(token) {\n this.enter({ type: \"tableRow\", children: [] }, token);\n}\nfunction exit(token) {\n this.exit(token);\n}\nfunction enterCell(token) {\n this.enter({ type: \"tableCell\", children: [] }, token);\n}\nfunction exitCodeText(token) {\n let value = this.resume();\n if (this.data.inTable) {\n value = value.replace(/\\\\([\\\\|])/g, replace);\n }\n const node = this.stack[this.stack.length - 1];\n ok$1(node.type === \"inlineCode\");\n node.value = value;\n this.exit(token);\n}\nfunction replace($0, $1) {\n return $1 === \"|\" ? $1 : $0;\n}\nfunction gfmTableToMarkdown(options) {\n const settings = options || {};\n const padding = settings.tableCellPadding;\n const alignDelimiters = settings.tablePipeAlign;\n const stringLength = settings.stringLength;\n const around = padding ? \" \" : \"|\";\n return {\n unsafe: [\n { character: \"\\r\", inConstruct: \"tableCell\" },\n { character: \"\\n\", inConstruct: \"tableCell\" },\n // A pipe, when followed by a tab or space (padding), or a dash or colon\n // (unpadded delimiter row), could result in a table.\n { atBreak: true, character: \"|\", after: \"[\t :-]\" },\n // A pipe in a cell must be encoded.\n { character: \"|\", inConstruct: \"tableCell\" },\n // A colon must be followed by a dash, in which case it could start a\n // delimiter row.\n { atBreak: true, character: \":\", after: \"-\" },\n // A delimiter row can also start with a dash, when followed by more\n // dashes, a colon, or a pipe.\n // This is a stricter version than the built in check for lists, thematic\n // breaks, and setex heading underlines though:\n // \n { atBreak: true, character: \"-\", after: \"[:|-]\" }\n ],\n handlers: {\n inlineCode: inlineCodeWithTable,\n table: handleTable,\n tableCell: handleTableCell,\n tableRow: handleTableRow\n }\n };\n function handleTable(node, _, state, info) {\n return serializeData(handleTableAsData(node, state, info), node.align);\n }\n function handleTableRow(node, _, state, info) {\n const row = handleTableRowAsData(node, state, info);\n const value = serializeData([row]);\n return value.slice(0, value.indexOf(\"\\n\"));\n }\n function handleTableCell(node, _, state, info) {\n const exit2 = state.enter(\"tableCell\");\n const subexit = state.enter(\"phrasing\");\n const value = state.containerPhrasing(node, {\n ...info,\n before: around,\n after: around\n });\n subexit();\n exit2();\n return value;\n }\n function serializeData(matrix, align) {\n return markdownTable(matrix, {\n align,\n // @ts-expect-error: `markdown-table` types should support `null`.\n alignDelimiters,\n // @ts-expect-error: `markdown-table` types should support `null`.\n padding,\n // @ts-expect-error: `markdown-table` types should support `null`.\n stringLength\n });\n }\n function handleTableAsData(node, state, info) {\n const children = node.children;\n let index = -1;\n const result = [];\n const subexit = state.enter(\"table\");\n while (++index < children.length) {\n result[index] = handleTableRowAsData(children[index], state, info);\n }\n subexit();\n return result;\n }\n function handleTableRowAsData(node, state, info) {\n const children = node.children;\n let index = -1;\n const result = [];\n const subexit = state.enter(\"tableRow\");\n while (++index < children.length) {\n result[index] = handleTableCell(children[index], node, state, info);\n }\n subexit();\n return result;\n }\n function inlineCodeWithTable(node, parent, state) {\n let value = handle.inlineCode(node, parent, state);\n if (state.stack.includes(\"tableCell\")) {\n value = value.replace(/\\|/g, \"\\\\$&\");\n }\n return value;\n }\n}\nfunction gfmTaskListItemFromMarkdown() {\n return {\n exit: {\n taskListCheckValueChecked: exitCheck,\n taskListCheckValueUnchecked: exitCheck,\n paragraph: exitParagraphWithTaskListItem\n }\n };\n}\nfunction gfmTaskListItemToMarkdown() {\n return {\n unsafe: [{ atBreak: true, character: \"-\", after: \"[:|-]\" }],\n handlers: { listItem: listItemWithTaskListItem }\n };\n}\nfunction exitCheck(token) {\n const node = this.stack[this.stack.length - 2];\n ok$1(node.type === \"listItem\");\n node.checked = token.type === \"taskListCheckValueChecked\";\n}\nfunction exitParagraphWithTaskListItem(token) {\n const parent = this.stack[this.stack.length - 2];\n if (parent && parent.type === \"listItem\" && typeof parent.checked === \"boolean\") {\n const node = this.stack[this.stack.length - 1];\n ok$1(node.type === \"paragraph\");\n const head = node.children[0];\n if (head && head.type === \"text\") {\n const siblings = parent.children;\n let index = -1;\n let firstParaghraph;\n while (++index < siblings.length) {\n const sibling = siblings[index];\n if (sibling.type === \"paragraph\") {\n firstParaghraph = sibling;\n break;\n }\n }\n if (firstParaghraph === node) {\n head.value = head.value.slice(1);\n if (head.value.length === 0) {\n node.children.shift();\n } else if (node.position && head.position && typeof head.position.start.offset === \"number\") {\n head.position.start.column++;\n head.position.start.offset++;\n node.position.start = Object.assign({}, head.position.start);\n }\n }\n }\n }\n this.exit(token);\n}\nfunction listItemWithTaskListItem(node, parent, state, info) {\n const head = node.children[0];\n const checkable = typeof node.checked === \"boolean\" && head && head.type === \"paragraph\";\n const checkbox = \"[\" + (node.checked ? \"x\" : \" \") + \"] \";\n const tracker = state.createTracker(info);\n if (checkable) {\n tracker.move(checkbox);\n }\n let value = handle.listItem(node, parent, state, {\n ...info,\n ...tracker.current()\n });\n if (checkable) {\n value = value.replace(/^(?:[*+-]|\\d+\\.)([\\r\\n]| {1,3})/, check);\n }\n return value;\n function check($0) {\n return $0 + checkbox;\n }\n}\nfunction gfmFromMarkdown() {\n return [\n gfmAutolinkLiteralFromMarkdown(),\n gfmFootnoteFromMarkdown(),\n gfmStrikethroughFromMarkdown(),\n gfmTableFromMarkdown(),\n gfmTaskListItemFromMarkdown()\n ];\n}\nfunction gfmToMarkdown(options) {\n return {\n extensions: [\n gfmAutolinkLiteralToMarkdown(),\n gfmFootnoteToMarkdown(options),\n gfmStrikethroughToMarkdown(),\n gfmTableToMarkdown(options),\n gfmTaskListItemToMarkdown()\n ]\n };\n}\nfunction splice(list2, start, remove, items) {\n const end = list2.length;\n let chunkStart = 0;\n let parameters;\n if (start < 0) {\n start = -start > end ? 0 : end + start;\n } else {\n start = start > end ? end : start;\n }\n remove = remove > 0 ? remove : 0;\n if (items.length < 1e4) {\n parameters = Array.from(items);\n parameters.unshift(start, remove);\n list2.splice(...parameters);\n } else {\n if (remove) list2.splice(start, remove);\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 1e4);\n parameters.unshift(start, 0);\n list2.splice(...parameters);\n chunkStart += 1e4;\n start += 1e4;\n }\n }\n}\nconst hasOwnProperty = {}.hasOwnProperty;\nfunction combineExtensions(extensions) {\n const all = {};\n let index = -1;\n while (++index < extensions.length) {\n syntaxExtension(all, extensions[index]);\n }\n return all;\n}\nfunction syntaxExtension(all, extension) {\n let hook;\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : void 0;\n const left = maybe || (all[hook] = {});\n const right = extension[hook];\n let code2;\n if (right) {\n for (code2 in right) {\n if (!hasOwnProperty.call(left, code2)) left[code2] = [];\n const value = right[code2];\n constructs(\n // @ts-expect-error Looks like a list.\n left[code2],\n Array.isArray(value) ? value : value ? [value] : []\n );\n }\n }\n }\n}\nfunction constructs(existing, list2) {\n let index = -1;\n const before = [];\n while (++index < list2.length) {\n (list2[index].add === \"after\" ? existing : before).push(list2[index]);\n }\n splice(existing, 0, 0, before);\n}\nconst wwwPrefix = {\n tokenize: tokenizeWwwPrefix,\n partial: true\n};\nconst domain = {\n tokenize: tokenizeDomain,\n partial: true\n};\nconst path = {\n tokenize: tokenizePath,\n partial: true\n};\nconst trail = {\n tokenize: tokenizeTrail,\n partial: true\n};\nconst emailDomainDotTrail = {\n tokenize: tokenizeEmailDomainDotTrail,\n partial: true\n};\nconst wwwAutolink = {\n name: \"wwwAutolink\",\n tokenize: tokenizeWwwAutolink,\n previous: previousWww\n};\nconst protocolAutolink = {\n name: \"protocolAutolink\",\n tokenize: tokenizeProtocolAutolink,\n previous: previousProtocol\n};\nconst emailAutolink = {\n name: \"emailAutolink\",\n tokenize: tokenizeEmailAutolink,\n previous: previousEmail\n};\nconst text = {};\nfunction gfmAutolinkLiteral() {\n return {\n text\n };\n}\nlet code = 48;\nwhile (code < 123) {\n text[code] = emailAutolink;\n code++;\n if (code === 58) code = 65;\n else if (code === 91) code = 97;\n}\ntext[43] = emailAutolink;\ntext[45] = emailAutolink;\ntext[46] = emailAutolink;\ntext[95] = emailAutolink;\ntext[72] = [emailAutolink, protocolAutolink];\ntext[104] = [emailAutolink, protocolAutolink];\ntext[87] = [emailAutolink, wwwAutolink];\ntext[119] = [emailAutolink, wwwAutolink];\nfunction tokenizeEmailAutolink(effects, ok2, nok) {\n const self = this;\n let dot;\n let data;\n return start;\n function start(code2) {\n if (!gfmAtext(code2) || !previousEmail.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code2);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkEmail\");\n return atext(code2);\n }\n function atext(code2) {\n if (gfmAtext(code2)) {\n effects.consume(code2);\n return atext;\n }\n if (code2 === 64) {\n effects.consume(code2);\n return emailDomain;\n }\n return nok(code2);\n }\n function emailDomain(code2) {\n if (code2 === 46) {\n return effects.check(emailDomainDotTrail, emailDomainAfter, emailDomainDot)(code2);\n }\n if (code2 === 45 || code2 === 95 || asciiAlphanumeric(code2)) {\n data = true;\n effects.consume(code2);\n return emailDomain;\n }\n return emailDomainAfter(code2);\n }\n function emailDomainDot(code2) {\n effects.consume(code2);\n dot = true;\n return emailDomain;\n }\n function emailDomainAfter(code2) {\n if (data && dot && asciiAlpha(self.previous)) {\n effects.exit(\"literalAutolinkEmail\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n return nok(code2);\n }\n}\nfunction tokenizeWwwAutolink(effects, ok2, nok) {\n const self = this;\n return wwwStart;\n function wwwStart(code2) {\n if (code2 !== 87 && code2 !== 119 || !previousWww.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code2);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkWww\");\n return effects.check(wwwPrefix, effects.attempt(domain, effects.attempt(path, wwwAfter), nok), nok)(code2);\n }\n function wwwAfter(code2) {\n effects.exit(\"literalAutolinkWww\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n}\nfunction tokenizeProtocolAutolink(effects, ok2, nok) {\n const self = this;\n let buffer = \"\";\n let seen = false;\n return protocolStart;\n function protocolStart(code2) {\n if ((code2 === 72 || code2 === 104) && previousProtocol.call(self, self.previous) && !previousUnbalanced(self.events)) {\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkHttp\");\n buffer += String.fromCodePoint(code2);\n effects.consume(code2);\n return protocolPrefixInside;\n }\n return nok(code2);\n }\n function protocolPrefixInside(code2) {\n if (asciiAlpha(code2) && buffer.length < 5) {\n buffer += String.fromCodePoint(code2);\n effects.consume(code2);\n return protocolPrefixInside;\n }\n if (code2 === 58) {\n const protocol = buffer.toLowerCase();\n if (protocol === \"http\" || protocol === \"https\") {\n effects.consume(code2);\n return protocolSlashesInside;\n }\n }\n return nok(code2);\n }\n function protocolSlashesInside(code2) {\n if (code2 === 47) {\n effects.consume(code2);\n if (seen) {\n return afterProtocol;\n }\n seen = true;\n return protocolSlashesInside;\n }\n return nok(code2);\n }\n function afterProtocol(code2) {\n return code2 === null || asciiControl(code2) || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2) || unicodePunctuation(code2) ? nok(code2) : effects.attempt(domain, effects.attempt(path, protocolAfter), nok)(code2);\n }\n function protocolAfter(code2) {\n effects.exit(\"literalAutolinkHttp\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n}\nfunction tokenizeWwwPrefix(effects, ok2, nok) {\n let size = 0;\n return wwwPrefixInside;\n function wwwPrefixInside(code2) {\n if ((code2 === 87 || code2 === 119) && size < 3) {\n size++;\n effects.consume(code2);\n return wwwPrefixInside;\n }\n if (code2 === 46 && size === 3) {\n effects.consume(code2);\n return wwwPrefixAfter;\n }\n return nok(code2);\n }\n function wwwPrefixAfter(code2) {\n return code2 === null ? nok(code2) : ok2(code2);\n }\n}\nfunction tokenizeDomain(effects, ok2, nok) {\n let underscoreInLastSegment;\n let underscoreInLastLastSegment;\n let seen;\n return domainInside;\n function domainInside(code2) {\n if (code2 === 46 || code2 === 95) {\n return effects.check(trail, domainAfter, domainAtPunctuation)(code2);\n }\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2) || code2 !== 45 && unicodePunctuation(code2)) {\n return domainAfter(code2);\n }\n seen = true;\n effects.consume(code2);\n return domainInside;\n }\n function domainAtPunctuation(code2) {\n if (code2 === 95) {\n underscoreInLastSegment = true;\n } else {\n underscoreInLastLastSegment = underscoreInLastSegment;\n underscoreInLastSegment = void 0;\n }\n effects.consume(code2);\n return domainInside;\n }\n function domainAfter(code2) {\n if (underscoreInLastLastSegment || underscoreInLastSegment || !seen) {\n return nok(code2);\n }\n return ok2(code2);\n }\n}\nfunction tokenizePath(effects, ok2) {\n let sizeOpen = 0;\n let sizeClose = 0;\n return pathInside;\n function pathInside(code2) {\n if (code2 === 40) {\n sizeOpen++;\n effects.consume(code2);\n return pathInside;\n }\n if (code2 === 41 && sizeClose < sizeOpen) {\n return pathAtPunctuation(code2);\n }\n if (code2 === 33 || code2 === 34 || code2 === 38 || code2 === 39 || code2 === 41 || code2 === 42 || code2 === 44 || code2 === 46 || code2 === 58 || code2 === 59 || code2 === 60 || code2 === 63 || code2 === 93 || code2 === 95 || code2 === 126) {\n return effects.check(trail, ok2, pathAtPunctuation)(code2);\n }\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return ok2(code2);\n }\n effects.consume(code2);\n return pathInside;\n }\n function pathAtPunctuation(code2) {\n if (code2 === 41) {\n sizeClose++;\n }\n effects.consume(code2);\n return pathInside;\n }\n}\nfunction tokenizeTrail(effects, ok2, nok) {\n return trail2;\n function trail2(code2) {\n if (code2 === 33 || code2 === 34 || code2 === 39 || code2 === 41 || code2 === 42 || code2 === 44 || code2 === 46 || code2 === 58 || code2 === 59 || code2 === 63 || code2 === 95 || code2 === 126) {\n effects.consume(code2);\n return trail2;\n }\n if (code2 === 38) {\n effects.consume(code2);\n return trailCharacterReferenceStart;\n }\n if (code2 === 93) {\n effects.consume(code2);\n return trailBracketAfter;\n }\n if (\n // `<` is an end.\n code2 === 60 || // So is whitespace.\n code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)\n ) {\n return ok2(code2);\n }\n return nok(code2);\n }\n function trailBracketAfter(code2) {\n if (code2 === null || code2 === 40 || code2 === 91 || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return ok2(code2);\n }\n return trail2(code2);\n }\n function trailCharacterReferenceStart(code2) {\n return asciiAlpha(code2) ? trailCharacterReferenceInside(code2) : nok(code2);\n }\n function trailCharacterReferenceInside(code2) {\n if (code2 === 59) {\n effects.consume(code2);\n return trail2;\n }\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n return trailCharacterReferenceInside;\n }\n return nok(code2);\n }\n}\nfunction tokenizeEmailDomainDotTrail(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.consume(code2);\n return after;\n }\n function after(code2) {\n return asciiAlphanumeric(code2) ? nok(code2) : ok2(code2);\n }\n}\nfunction previousWww(code2) {\n return code2 === null || code2 === 40 || code2 === 42 || code2 === 95 || code2 === 91 || code2 === 93 || code2 === 126 || markdownLineEndingOrSpace(code2);\n}\nfunction previousProtocol(code2) {\n return !asciiAlpha(code2);\n}\nfunction previousEmail(code2) {\n return !(code2 === 47 || gfmAtext(code2));\n}\nfunction gfmAtext(code2) {\n return code2 === 43 || code2 === 45 || code2 === 46 || code2 === 95 || asciiAlphanumeric(code2);\n}\nfunction previousUnbalanced(events) {\n let index = events.length;\n let result = false;\n while (index--) {\n const token = events[index][1];\n if ((token.type === \"labelLink\" || token.type === \"labelImage\") && !token._balanced) {\n result = true;\n break;\n }\n if (token._gfmAutolinkLiteralWalkedInto) {\n result = false;\n break;\n }\n }\n if (events.length > 0 && !result) {\n events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true;\n }\n return result;\n}\nfunction resolveAll(constructs2, events, context) {\n const called = [];\n let index = -1;\n while (++index < constructs2.length) {\n const resolve = constructs2[index].resolveAll;\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context);\n called.push(resolve);\n }\n }\n return events;\n}\nfunction factorySpace(effects, ok2, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY;\n let size = 0;\n return start;\n function start(code2) {\n if (markdownSpace(code2)) {\n effects.enter(type);\n return prefix(code2);\n }\n return ok2(code2);\n }\n function prefix(code2) {\n if (markdownSpace(code2) && size++ < limit) {\n effects.consume(code2);\n return prefix;\n }\n effects.exit(type);\n return ok2(code2);\n }\n}\nconst blankLine = {\n partial: true,\n tokenize: tokenizeBlankLine\n};\nfunction tokenizeBlankLine(effects, ok2, nok) {\n return start;\n function start(code2) {\n return markdownSpace(code2) ? factorySpace(effects, after, \"linePrefix\")(code2) : after(code2);\n }\n function after(code2) {\n return code2 === null || markdownLineEnding(code2) ? ok2(code2) : nok(code2);\n }\n}\nconst indent = {\n tokenize: tokenizeIndent,\n partial: true\n};\nfunction gfmFootnote() {\n return {\n document: {\n [91]: {\n name: \"gfmFootnoteDefinition\",\n tokenize: tokenizeDefinitionStart,\n continuation: {\n tokenize: tokenizeDefinitionContinuation\n },\n exit: gfmFootnoteDefinitionEnd\n }\n },\n text: {\n [91]: {\n name: \"gfmFootnoteCall\",\n tokenize: tokenizeGfmFootnoteCall\n },\n [93]: {\n name: \"gfmPotentialFootnoteCall\",\n add: \"after\",\n tokenize: tokenizePotentialGfmFootnoteCall,\n resolveTo: resolveToPotentialGfmFootnoteCall\n }\n }\n };\n}\nfunction tokenizePotentialGfmFootnoteCall(effects, ok2, nok) {\n const self = this;\n let index = self.events.length;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let labelStart;\n while (index--) {\n const token = self.events[index][1];\n if (token.type === \"labelImage\") {\n labelStart = token;\n break;\n }\n if (token.type === \"gfmFootnoteCall\" || token.type === \"labelLink\" || token.type === \"label\" || token.type === \"image\" || token.type === \"link\") {\n break;\n }\n }\n return start;\n function start(code2) {\n if (!labelStart || !labelStart._balanced) {\n return nok(code2);\n }\n const id = normalizeIdentifier(self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n }));\n if (id.codePointAt(0) !== 94 || !defined.includes(id.slice(1))) {\n return nok(code2);\n }\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n return ok2(code2);\n }\n}\nfunction resolveToPotentialGfmFootnoteCall(events, context) {\n let index = events.length;\n while (index--) {\n if (events[index][1].type === \"labelImage\" && events[index][0] === \"enter\") {\n events[index][1];\n break;\n }\n }\n events[index + 1][1].type = \"data\";\n events[index + 3][1].type = \"gfmFootnoteCallLabelMarker\";\n const call = {\n type: \"gfmFootnoteCall\",\n start: Object.assign({}, events[index + 3][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n };\n const marker = {\n type: \"gfmFootnoteCallMarker\",\n start: Object.assign({}, events[index + 3][1].end),\n end: Object.assign({}, events[index + 3][1].end)\n };\n marker.end.column++;\n marker.end.offset++;\n marker.end._bufferIndex++;\n const string = {\n type: \"gfmFootnoteCallString\",\n start: Object.assign({}, marker.end),\n end: Object.assign({}, events[events.length - 1][1].start)\n };\n const chunk = {\n type: \"chunkString\",\n contentType: \"string\",\n start: Object.assign({}, string.start),\n end: Object.assign({}, string.end)\n };\n const replacement = [\n // Take the `labelImageMarker` (now `data`, the `!`)\n events[index + 1],\n events[index + 2],\n [\"enter\", call, context],\n // The `[`\n events[index + 3],\n events[index + 4],\n // The `^`.\n [\"enter\", marker, context],\n [\"exit\", marker, context],\n // Everything in between.\n [\"enter\", string, context],\n [\"enter\", chunk, context],\n [\"exit\", chunk, context],\n [\"exit\", string, context],\n // The ending (`]`, properly parsed and labelled).\n events[events.length - 2],\n events[events.length - 1],\n [\"exit\", call, context]\n ];\n events.splice(index, events.length - index + 1, ...replacement);\n return events;\n}\nfunction tokenizeGfmFootnoteCall(effects, ok2, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(\"gfmFootnoteCall\");\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n return callStart;\n }\n function callStart(code2) {\n if (code2 !== 94) return nok(code2);\n effects.enter(\"gfmFootnoteCallMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallMarker\");\n effects.enter(\"gfmFootnoteCallString\");\n effects.enter(\"chunkString\").contentType = \"string\";\n return callData;\n }\n function callData(code2) {\n if (\n // Too long.\n size > 999 || // Closing brace with nothing.\n code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)\n ) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(\"chunkString\");\n const token = effects.exit(\"gfmFootnoteCallString\");\n if (!defined.includes(normalizeIdentifier(self.sliceSerialize(token)))) {\n return nok(code2);\n }\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n effects.exit(\"gfmFootnoteCall\");\n return ok2;\n }\n if (!markdownLineEndingOrSpace(code2)) {\n data = true;\n }\n size++;\n effects.consume(code2);\n return code2 === 92 ? callEscape : callData;\n }\n function callEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return callData;\n }\n return callData(code2);\n }\n}\nfunction tokenizeDefinitionStart(effects, ok2, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let identifier;\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(\"gfmFootnoteDefinition\")._container = true;\n effects.enter(\"gfmFootnoteDefinitionLabel\");\n effects.enter(\"gfmFootnoteDefinitionLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionLabelMarker\");\n return labelAtMarker;\n }\n function labelAtMarker(code2) {\n if (code2 === 94) {\n effects.enter(\"gfmFootnoteDefinitionMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionMarker\");\n effects.enter(\"gfmFootnoteDefinitionLabelString\");\n effects.enter(\"chunkString\").contentType = \"string\";\n return labelInside;\n }\n return nok(code2);\n }\n function labelInside(code2) {\n if (\n // Too long.\n size > 999 || // Closing brace with nothing.\n code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)\n ) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(\"chunkString\");\n const token = effects.exit(\"gfmFootnoteDefinitionLabelString\");\n identifier = normalizeIdentifier(self.sliceSerialize(token));\n effects.enter(\"gfmFootnoteDefinitionLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionLabelMarker\");\n effects.exit(\"gfmFootnoteDefinitionLabel\");\n return labelAfter;\n }\n if (!markdownLineEndingOrSpace(code2)) {\n data = true;\n }\n size++;\n effects.consume(code2);\n return code2 === 92 ? labelEscape : labelInside;\n }\n function labelEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return labelInside;\n }\n return labelInside(code2);\n }\n function labelAfter(code2) {\n if (code2 === 58) {\n effects.enter(\"definitionMarker\");\n effects.consume(code2);\n effects.exit(\"definitionMarker\");\n if (!defined.includes(identifier)) {\n defined.push(identifier);\n }\n return factorySpace(effects, whitespaceAfter, \"gfmFootnoteDefinitionWhitespace\");\n }\n return nok(code2);\n }\n function whitespaceAfter(code2) {\n return ok2(code2);\n }\n}\nfunction tokenizeDefinitionContinuation(effects, ok2, nok) {\n return effects.check(blankLine, ok2, effects.attempt(indent, ok2, nok));\n}\nfunction gfmFootnoteDefinitionEnd(effects) {\n effects.exit(\"gfmFootnoteDefinition\");\n}\nfunction tokenizeIndent(effects, ok2, nok) {\n const self = this;\n return factorySpace(effects, afterPrefix, \"gfmFootnoteDefinitionIndent\", 4 + 1);\n function afterPrefix(code2) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"gfmFootnoteDefinitionIndent\" && tail[2].sliceSerialize(tail[1], true).length === 4 ? ok2(code2) : nok(code2);\n }\n}\nfunction gfmStrikethrough(options) {\n const options_ = options || {};\n let single = options_.singleTilde;\n const tokenizer = {\n name: \"strikethrough\",\n tokenize: tokenizeStrikethrough,\n resolveAll: resolveAllStrikethrough\n };\n if (single === null || single === void 0) {\n single = true;\n }\n return {\n text: {\n [126]: tokenizer\n },\n insideSpan: {\n null: [tokenizer]\n },\n attentionMarkers: {\n null: [126]\n }\n };\n function resolveAllStrikethrough(events, context) {\n let index = -1;\n while (++index < events.length) {\n if (events[index][0] === \"enter\" && events[index][1].type === \"strikethroughSequenceTemporary\" && events[index][1]._close) {\n let open = index;\n while (open--) {\n if (events[open][0] === \"exit\" && events[open][1].type === \"strikethroughSequenceTemporary\" && events[open][1]._open && // If the sizes are the same:\n events[index][1].end.offset - events[index][1].start.offset === events[open][1].end.offset - events[open][1].start.offset) {\n events[index][1].type = \"strikethroughSequence\";\n events[open][1].type = \"strikethroughSequence\";\n const strikethrough = {\n type: \"strikethrough\",\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[index][1].end)\n };\n const text2 = {\n type: \"strikethroughText\",\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n };\n const nextEvents = [[\"enter\", strikethrough, context], [\"enter\", events[open][1], context], [\"exit\", events[open][1], context], [\"enter\", text2, context]];\n const insideSpan = context.parser.constructs.insideSpan.null;\n if (insideSpan) {\n splice(nextEvents, nextEvents.length, 0, resolveAll(insideSpan, events.slice(open + 1, index), context));\n }\n splice(nextEvents, nextEvents.length, 0, [[\"exit\", text2, context], [\"enter\", events[index][1], context], [\"exit\", events[index][1], context], [\"exit\", strikethrough, context]]);\n splice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - 2;\n break;\n }\n }\n }\n }\n index = -1;\n while (++index < events.length) {\n if (events[index][1].type === \"strikethroughSequenceTemporary\") {\n events[index][1].type = \"data\";\n }\n }\n return events;\n }\n function tokenizeStrikethrough(effects, ok2, nok) {\n const previous2 = this.previous;\n const events = this.events;\n let size = 0;\n return start;\n function start(code2) {\n if (previous2 === 126 && events[events.length - 1][1].type !== \"characterEscape\") {\n return nok(code2);\n }\n effects.enter(\"strikethroughSequenceTemporary\");\n return more(code2);\n }\n function more(code2) {\n const before = classifyCharacter(previous2);\n if (code2 === 126) {\n if (size > 1) return nok(code2);\n effects.consume(code2);\n size++;\n return more;\n }\n if (size < 2 && !single) return nok(code2);\n const token = effects.exit(\"strikethroughSequenceTemporary\");\n const after = classifyCharacter(code2);\n token._open = !after || after === 2 && Boolean(before);\n token._close = !before || before === 2 && Boolean(after);\n return ok2(code2);\n }\n }\n}\nclass EditMap {\n /**\n * Create a new edit map.\n */\n constructor() {\n this.map = [];\n }\n /**\n * Create an edit: a remove and/or add at a certain place.\n *\n * @param {number} index\n * @param {number} remove\n * @param {Array} add\n * @returns {undefined}\n */\n add(index, remove, add) {\n addImplementation(this, index, remove, add);\n }\n // To do: add this when moving to `micromark`.\n // /**\n // * Create an edit: but insert `add` before existing additions.\n // *\n // * @param {number} index\n // * @param {number} remove\n // * @param {Array} add\n // * @returns {undefined}\n // */\n // addBefore(index, remove, add) {\n // addImplementation(this, index, remove, add, true)\n // }\n /**\n * Done, change the events.\n *\n * @param {Array} events\n * @returns {undefined}\n */\n consume(events) {\n this.map.sort(function(a, b) {\n return a[0] - b[0];\n });\n if (this.map.length === 0) {\n return;\n }\n let index = this.map.length;\n const vecs = [];\n while (index > 0) {\n index -= 1;\n vecs.push(events.slice(this.map[index][0] + this.map[index][1]), this.map[index][2]);\n events.length = this.map[index][0];\n }\n vecs.push(events.slice());\n events.length = 0;\n let slice = vecs.pop();\n while (slice) {\n for (const element of slice) {\n events.push(element);\n }\n slice = vecs.pop();\n }\n this.map.length = 0;\n }\n}\nfunction addImplementation(editMap, at, remove, add) {\n let index = 0;\n if (remove === 0 && add.length === 0) {\n return;\n }\n while (index < editMap.map.length) {\n if (editMap.map[index][0] === at) {\n editMap.map[index][1] += remove;\n editMap.map[index][2].push(...add);\n return;\n }\n index += 1;\n }\n editMap.map.push([at, remove, add]);\n}\nfunction gfmTableAlign(events, index) {\n let inDelimiterRow = false;\n const align = [];\n while (index < events.length) {\n const event = events[index];\n if (inDelimiterRow) {\n if (event[0] === \"enter\") {\n if (event[1].type === \"tableContent\") {\n align.push(events[index + 1][1].type === \"tableDelimiterMarker\" ? \"left\" : \"none\");\n }\n } else if (event[1].type === \"tableContent\") {\n if (events[index - 1][1].type === \"tableDelimiterMarker\") {\n const alignIndex = align.length - 1;\n align[alignIndex] = align[alignIndex] === \"left\" ? \"center\" : \"right\";\n }\n } else if (event[1].type === \"tableDelimiterRow\") {\n break;\n }\n } else if (event[0] === \"enter\" && event[1].type === \"tableDelimiterRow\") {\n inDelimiterRow = true;\n }\n index += 1;\n }\n return align;\n}\nfunction gfmTable() {\n return {\n flow: {\n null: {\n name: \"table\",\n tokenize: tokenizeTable,\n resolveAll: resolveTable\n }\n }\n };\n}\nfunction tokenizeTable(effects, ok2, nok) {\n const self = this;\n let size = 0;\n let sizeB = 0;\n let seen;\n return start;\n function start(code2) {\n let index = self.events.length - 1;\n while (index > -1) {\n const type = self.events[index][1].type;\n if (type === \"lineEnding\" || // Note: markdown-rs uses `whitespace` instead of `linePrefix`\n type === \"linePrefix\") index--;\n else break;\n }\n const tail = index > -1 ? self.events[index][1].type : null;\n const next = tail === \"tableHead\" || tail === \"tableRow\" ? bodyRowStart : headRowBefore;\n if (next === bodyRowStart && self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n return next(code2);\n }\n function headRowBefore(code2) {\n effects.enter(\"tableHead\");\n effects.enter(\"tableRow\");\n return headRowStart(code2);\n }\n function headRowStart(code2) {\n if (code2 === 124) {\n return headRowBreak(code2);\n }\n seen = true;\n sizeB += 1;\n return headRowBreak(code2);\n }\n function headRowBreak(code2) {\n if (code2 === null) {\n return nok(code2);\n }\n if (markdownLineEnding(code2)) {\n if (sizeB > 1) {\n sizeB = 0;\n self.interrupt = true;\n effects.exit(\"tableRow\");\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return headDelimiterStart;\n }\n return nok(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, headRowBreak, \"whitespace\")(code2);\n }\n sizeB += 1;\n if (seen) {\n seen = false;\n size += 1;\n }\n if (code2 === 124) {\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n seen = true;\n return headRowBreak;\n }\n effects.enter(\"data\");\n return headRowData(code2);\n }\n function headRowData(code2) {\n if (code2 === null || code2 === 124 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"data\");\n return headRowBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? headRowEscape : headRowData;\n }\n function headRowEscape(code2) {\n if (code2 === 92 || code2 === 124) {\n effects.consume(code2);\n return headRowData;\n }\n return headRowData(code2);\n }\n function headDelimiterStart(code2) {\n self.interrupt = false;\n if (self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n effects.enter(\"tableDelimiterRow\");\n seen = false;\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterBefore, \"linePrefix\", self.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4)(code2);\n }\n return headDelimiterBefore(code2);\n }\n function headDelimiterBefore(code2) {\n if (code2 === 45 || code2 === 58) {\n return headDelimiterValueBefore(code2);\n }\n if (code2 === 124) {\n seen = true;\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n return headDelimiterCellBefore;\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterCellBefore(code2) {\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterValueBefore, \"whitespace\")(code2);\n }\n return headDelimiterValueBefore(code2);\n }\n function headDelimiterValueBefore(code2) {\n if (code2 === 58) {\n sizeB += 1;\n seen = true;\n effects.enter(\"tableDelimiterMarker\");\n effects.consume(code2);\n effects.exit(\"tableDelimiterMarker\");\n return headDelimiterLeftAlignmentAfter;\n }\n if (code2 === 45) {\n sizeB += 1;\n return headDelimiterLeftAlignmentAfter(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n return headDelimiterCellAfter(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterLeftAlignmentAfter(code2) {\n if (code2 === 45) {\n effects.enter(\"tableDelimiterFiller\");\n return headDelimiterFiller(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterFiller(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return headDelimiterFiller;\n }\n if (code2 === 58) {\n seen = true;\n effects.exit(\"tableDelimiterFiller\");\n effects.enter(\"tableDelimiterMarker\");\n effects.consume(code2);\n effects.exit(\"tableDelimiterMarker\");\n return headDelimiterRightAlignmentAfter;\n }\n effects.exit(\"tableDelimiterFiller\");\n return headDelimiterRightAlignmentAfter(code2);\n }\n function headDelimiterRightAlignmentAfter(code2) {\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterCellAfter, \"whitespace\")(code2);\n }\n return headDelimiterCellAfter(code2);\n }\n function headDelimiterCellAfter(code2) {\n if (code2 === 124) {\n return headDelimiterBefore(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n if (!seen || size !== sizeB) {\n return headDelimiterNok(code2);\n }\n effects.exit(\"tableDelimiterRow\");\n effects.exit(\"tableHead\");\n return ok2(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterNok(code2) {\n return nok(code2);\n }\n function bodyRowStart(code2) {\n effects.enter(\"tableRow\");\n return bodyRowBreak(code2);\n }\n function bodyRowBreak(code2) {\n if (code2 === 124) {\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n return bodyRowBreak;\n }\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"tableRow\");\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, bodyRowBreak, \"whitespace\")(code2);\n }\n effects.enter(\"data\");\n return bodyRowData(code2);\n }\n function bodyRowData(code2) {\n if (code2 === null || code2 === 124 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"data\");\n return bodyRowBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? bodyRowEscape : bodyRowData;\n }\n function bodyRowEscape(code2) {\n if (code2 === 92 || code2 === 124) {\n effects.consume(code2);\n return bodyRowData;\n }\n return bodyRowData(code2);\n }\n}\nfunction resolveTable(events, context) {\n let index = -1;\n let inFirstCellAwaitingPipe = true;\n let rowKind = 0;\n let lastCell = [0, 0, 0, 0];\n let cell = [0, 0, 0, 0];\n let afterHeadAwaitingFirstBodyRow = false;\n let lastTableEnd = 0;\n let currentTable;\n let currentBody;\n let currentCell;\n const map2 = new EditMap();\n while (++index < events.length) {\n const event = events[index];\n const token = event[1];\n if (event[0] === \"enter\") {\n if (token.type === \"tableHead\") {\n afterHeadAwaitingFirstBodyRow = false;\n if (lastTableEnd !== 0) {\n flushTableEnd(map2, context, lastTableEnd, currentTable, currentBody);\n currentBody = void 0;\n lastTableEnd = 0;\n }\n currentTable = {\n type: \"table\",\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map2.add(index, 0, [[\"enter\", currentTable, context]]);\n } else if (token.type === \"tableRow\" || token.type === \"tableDelimiterRow\") {\n inFirstCellAwaitingPipe = true;\n currentCell = void 0;\n lastCell = [0, 0, 0, 0];\n cell = [0, index + 1, 0, 0];\n if (afterHeadAwaitingFirstBodyRow) {\n afterHeadAwaitingFirstBodyRow = false;\n currentBody = {\n type: \"tableBody\",\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map2.add(index, 0, [[\"enter\", currentBody, context]]);\n }\n rowKind = token.type === \"tableDelimiterRow\" ? 2 : currentBody ? 3 : 1;\n } else if (rowKind && (token.type === \"data\" || token.type === \"tableDelimiterMarker\" || token.type === \"tableDelimiterFiller\")) {\n inFirstCellAwaitingPipe = false;\n if (cell[2] === 0) {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(map2, context, lastCell, rowKind, void 0, currentCell);\n lastCell = [0, 0, 0, 0];\n }\n cell[2] = index;\n }\n } else if (token.type === \"tableCellDivider\") {\n if (inFirstCellAwaitingPipe) {\n inFirstCellAwaitingPipe = false;\n } else {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(map2, context, lastCell, rowKind, void 0, currentCell);\n }\n lastCell = cell;\n cell = [lastCell[1], index, 0, 0];\n }\n }\n } else if (token.type === \"tableHead\") {\n afterHeadAwaitingFirstBodyRow = true;\n lastTableEnd = index;\n } else if (token.type === \"tableRow\" || token.type === \"tableDelimiterRow\") {\n lastTableEnd = index;\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(map2, context, lastCell, rowKind, index, currentCell);\n } else if (cell[1] !== 0) {\n currentCell = flushCell(map2, context, cell, rowKind, index, currentCell);\n }\n rowKind = 0;\n } else if (rowKind && (token.type === \"data\" || token.type === \"tableDelimiterMarker\" || token.type === \"tableDelimiterFiller\")) {\n cell[3] = index;\n }\n }\n if (lastTableEnd !== 0) {\n flushTableEnd(map2, context, lastTableEnd, currentTable, currentBody);\n }\n map2.consume(context.events);\n index = -1;\n while (++index < context.events.length) {\n const event = context.events[index];\n if (event[0] === \"enter\" && event[1].type === \"table\") {\n event[1]._align = gfmTableAlign(context.events, index);\n }\n }\n return events;\n}\nfunction flushCell(map2, context, range, rowKind, rowEnd, previousCell) {\n const groupName = rowKind === 1 ? \"tableHeader\" : rowKind === 2 ? \"tableDelimiter\" : \"tableData\";\n const valueName = \"tableContent\";\n if (range[0] !== 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, range[0]));\n map2.add(range[0], 0, [[\"exit\", previousCell, context]]);\n }\n const now = getPoint(context.events, range[1]);\n previousCell = {\n type: groupName,\n start: Object.assign({}, now),\n // Note: correct end is set later.\n end: Object.assign({}, now)\n };\n map2.add(range[1], 0, [[\"enter\", previousCell, context]]);\n if (range[2] !== 0) {\n const relatedStart = getPoint(context.events, range[2]);\n const relatedEnd = getPoint(context.events, range[3]);\n const valueToken = {\n type: valueName,\n start: Object.assign({}, relatedStart),\n end: Object.assign({}, relatedEnd)\n };\n map2.add(range[2], 0, [[\"enter\", valueToken, context]]);\n if (rowKind !== 2) {\n const start = context.events[range[2]];\n const end = context.events[range[3]];\n start[1].end = Object.assign({}, end[1].end);\n start[1].type = \"chunkText\";\n start[1].contentType = \"text\";\n if (range[3] > range[2] + 1) {\n const a = range[2] + 1;\n const b = range[3] - range[2] - 1;\n map2.add(a, b, []);\n }\n }\n map2.add(range[3] + 1, 0, [[\"exit\", valueToken, context]]);\n }\n if (rowEnd !== void 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, rowEnd));\n map2.add(rowEnd, 0, [[\"exit\", previousCell, context]]);\n previousCell = void 0;\n }\n return previousCell;\n}\nfunction flushTableEnd(map2, context, index, table, tableBody) {\n const exits = [];\n const related = getPoint(context.events, index);\n if (tableBody) {\n tableBody.end = Object.assign({}, related);\n exits.push([\"exit\", tableBody, context]);\n }\n table.end = Object.assign({}, related);\n exits.push([\"exit\", table, context]);\n map2.add(index + 1, 0, exits);\n}\nfunction getPoint(events, index) {\n const event = events[index];\n const side = event[0] === \"enter\" ? \"start\" : \"end\";\n return event[1][side];\n}\nconst tasklistCheck = {\n name: \"tasklistCheck\",\n tokenize: tokenizeTasklistCheck\n};\nfunction gfmTaskListItem() {\n return {\n text: {\n [91]: tasklistCheck\n }\n };\n}\nfunction tokenizeTasklistCheck(effects, ok2, nok) {\n const self = this;\n return open;\n function open(code2) {\n if (\n // Exit if there’s stuff before.\n self.previous !== null || // Exit if not in the first content that is the first child of a list\n // item.\n !self._gfmTasklistFirstContentOfListItem\n ) {\n return nok(code2);\n }\n effects.enter(\"taskListCheck\");\n effects.enter(\"taskListCheckMarker\");\n effects.consume(code2);\n effects.exit(\"taskListCheckMarker\");\n return inside;\n }\n function inside(code2) {\n if (markdownLineEndingOrSpace(code2)) {\n effects.enter(\"taskListCheckValueUnchecked\");\n effects.consume(code2);\n effects.exit(\"taskListCheckValueUnchecked\");\n return close;\n }\n if (code2 === 88 || code2 === 120) {\n effects.enter(\"taskListCheckValueChecked\");\n effects.consume(code2);\n effects.exit(\"taskListCheckValueChecked\");\n return close;\n }\n return nok(code2);\n }\n function close(code2) {\n if (code2 === 93) {\n effects.enter(\"taskListCheckMarker\");\n effects.consume(code2);\n effects.exit(\"taskListCheckMarker\");\n effects.exit(\"taskListCheck\");\n return after;\n }\n return nok(code2);\n }\n function after(code2) {\n if (markdownLineEnding(code2)) {\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return effects.check({\n tokenize: spaceThenNonSpace\n }, ok2, nok)(code2);\n }\n return nok(code2);\n }\n}\nfunction spaceThenNonSpace(effects, ok2, nok) {\n return factorySpace(effects, after, \"whitespace\");\n function after(code2) {\n return code2 === null ? nok(code2) : ok2(code2);\n }\n}\nfunction gfm(options) {\n return combineExtensions([\n gfmAutolinkLiteral(),\n gfmFootnote(),\n gfmStrikethrough(options),\n gfmTable(),\n gfmTaskListItem()\n ]);\n}\nconst emptyOptions = {};\nfunction remarkGfm(options) {\n const self = (\n /** @type {Processor} */\n this\n );\n const settings = options || emptyOptions;\n const data = self.data();\n const micromarkExtensions = data.micromarkExtensions || (data.micromarkExtensions = []);\n const fromMarkdownExtensions = data.fromMarkdownExtensions || (data.fromMarkdownExtensions = []);\n const toMarkdownExtensions = data.toMarkdownExtensions || (data.toMarkdownExtensions = []);\n micromarkExtensions.push(gfm(settings));\n fromMarkdownExtensions.push(gfmFromMarkdown());\n toMarkdownExtensions.push(gfmToMarkdown(settings));\n}\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcRichTextCopyButton\",\n props: {\n contentId: {}\n },\n setup(__props) {\n const { copy, icon, altText } = useCopy(() => document.getElementById(__props.contentId).textContent);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(NcButton, {\n variant: \"tertiary\",\n size: \"small\",\n \"aria-label\": unref(altText),\n title: unref(altText),\n onClick: unref(copy)\n }, {\n icon: withCtx(() => [\n createVNode(NcIconSvgWrapper, {\n path: unref(icon),\n inline: \"\"\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\", \"onClick\"]);\n };\n }\n});\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction isTextNode$1(node) {\n return node.type === \"text\";\n}\nconst transformPlaceholders = function(ast) {\n visitParents(ast, isTextNode$1, (node, ancestors) => {\n const parent = ancestors.at(-1);\n const index = parent.children.indexOf(node);\n const placeholders = node.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map((entry) => {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return u(\"text\", entry);\n }\n const [, component] = matches;\n return u(\"element\", {\n tagName: `#${component}`,\n children: []\n });\n });\n parent.children.splice(index, 1, ...placeholders);\n });\n};\nconst remarkPlaceholder = () => transformPlaceholders;\n/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction isCodeNode(node) {\n return [\"code\", \"inlineCode\"].includes(node.type);\n}\nconst remarkStripCode = function() {\n return function(tree) {\n visitParents(tree, isCodeNode, (node, ancestors) => {\n const parent = ancestors.at(-1);\n const index = parent.children.indexOf(node);\n parent.children.splice(index, 1, {\n ...node,\n value: \"\"\n });\n return [SKIP, index + 1];\n });\n };\n};\n/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction isTextNode(node) {\n return [\"text\", \"code\", \"inlineCode\"].includes(node.type);\n}\nconst remarkUnescape = function() {\n return function(tree) {\n visitParents(tree, isTextNode, (node, ancestors) => {\n const parent = ancestors.at(-1);\n const index = parent.children.indexOf(node);\n parent.children.splice(index, 1, {\n ...node,\n value: node.value.replace(/</gmi, \"<\").replace(/>/gmi, \">\")\n });\n return [SKIP, index + 1];\n });\n };\n};\nconst LINK_PROTOCOLS = [\"http\", \"https\", \"mailto\", \"tel\"];\nconst rehypeHighlight = ref(null);\nasync function importRehypeHighlightLibrary() {\n const module = await import(\"rehype-highlight\");\n rehypeHighlight.value = module.default;\n}\nconst _sfc_main = {\n name: \"NcRichText\",\n components: {\n NcReferenceList\n },\n /* eslint vue/require-prop-comment: warn -- TODO: Add a proper doc block about what this props do */\n props: {\n /**\n * The main text\n */\n text: {\n type: String,\n default: \"\"\n },\n /**\n * Arguments for the richobjects\n */\n arguments: {\n type: Object,\n default: () => {\n return {};\n }\n },\n /**\n * Limit the number of reference widgets to render\n */\n referenceLimit: {\n type: Number,\n default: 0\n },\n /**\n * Whether to render the widgets in interactive mode (if available)\n */\n referenceInteractive: {\n type: Boolean,\n default: true\n },\n /**\n * Whether to show user an option to enable to interactive mode for widgets (if available)\n */\n referenceInteractiveOptIn: {\n type: Boolean,\n default: false\n },\n /** Provide data upfront to avoid extra http request */\n references: {\n type: Array,\n default: null\n },\n /** Provide basic Markdown syntax */\n useMarkdown: {\n type: Boolean,\n default: false\n },\n /** Provide GitHub Flavored Markdown syntax */\n useExtendedMarkdown: {\n type: Boolean,\n default: false\n },\n /** Provide event from rendered markdown inputs */\n interactive: {\n type: Boolean,\n default: false\n },\n /**\n * Automatically convert link-like text to markdown links\n */\n autolink: {\n type: Boolean,\n default: true\n }\n },\n emits: [\n \"interactTodo\"\n ],\n data() {\n return {\n parentId: createElementId()\n };\n },\n methods: {\n renderPlaintext() {\n const placeholders = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map((entry) => {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return this.prepareTextNode(entry);\n }\n const argumentId = matches[1];\n const argument = this.arguments[argumentId];\n if (typeof argument === \"object\") {\n const { component, props } = argument;\n return h(typeof component === \"string\" ? resolveComponent(component) : component, {\n ...props,\n class: \"rich-text--component\"\n });\n }\n if (argument) {\n return h(\"span\", { class: \"rich-text--fallback\" }, argument);\n }\n return entry;\n });\n return h(\"div\", { class: \"rich-text--wrapper\" }, [\n h(\"div\", {}, placeholders.flat()),\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(NcReferenceList, {\n text: this.text,\n referenceData: this.references,\n interactive: this.referenceInteractive,\n interactiveOptIn: this.referenceInteractiveOptIn\n })\n ]) : null\n ]);\n },\n renderMarkdown() {\n const renderedMarkdown = unified().use(remarkParse).use(remarkAutolink, {\n autolink: this.autolink,\n useMarkdown: this.useMarkdown,\n useExtendedMarkdown: this.useExtendedMarkdown\n }).use(remarkUnescape).use(this.useExtendedMarkdown ? remarkGfm : void 0).use(breaks).use(remarkUnlinkProtocols, { except: LINK_PROTOCOLS }).use(remark2rehype, {\n handlers: {\n component(toHast, node) {\n return toHast(node, node.component, { value: node.value });\n }\n }\n }).use(this.useExtendedMarkdown ? rehypeHighlight.value : void 0).use(remarkPlaceholder).use(rehypeExternalLinks, {\n target: \"_blank\",\n rel: [\"noopener noreferrer\"]\n }).use(rehype2react, {\n Fragment,\n jsx: this.createElement,\n jsxs: this.createElement,\n elementAttributeNameCase: \"html\",\n prefix: false\n }).processSync(this.text.replace(/<[^>]+>/g, (match) => match.replace(/\")).result;\n return h(\"div\", { class: \"rich-text--wrapper rich-text--wrapper-markdown\" }, [\n renderedMarkdown,\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(NcReferenceList, {\n text: this.prepareReferenceSource(this.text),\n referenceData: this.references,\n interactive: this.referenceInteractive,\n interactiveOptIn: this.referenceInteractiveOptIn\n })\n ]) : null\n ]);\n },\n /**\n * Render plain text nodes\n *\n * @param {string} text - Content of the node\n */\n prepareTextNode(text2) {\n if (this.autolink) {\n text2 = parseUrl(text2);\n }\n if (Array.isArray(text2)) {\n return text2.map((entry) => {\n if (typeof entry === \"string\") {\n return entry;\n }\n const { component, props } = entry;\n return h(component, {\n ...props,\n class: \"rich-text--component\"\n });\n });\n }\n return text2;\n },\n /**\n * Strip content of inline code and code blocks for reference widgets\n * (e.g. ignore fenced links from being added as reference)\n *\n * @param {string} text - Content of the node\n */\n prepareReferenceSource(text2) {\n if (!this.useMarkdown && !this.useExtendedMarkdown) {\n return text2;\n }\n const processor = unified();\n processor.compiler = (tree) => toString(tree);\n return processor.use(remarkParse).use(remarkStripCode).processSync(text2.replace(/\\s/g, \" \")).value;\n },\n createElement(type, props, key) {\n if (key) {\n props.key = key;\n }\n const children = props.children ?? [];\n delete props.children;\n if (!String(type).startsWith(\"#\")) {\n if ([\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"].includes(String(type))) {\n type = `h${Math.min(+String(type)[1] + 3, 6)}`;\n }\n let nestedNode = null;\n if (this.useExtendedMarkdown) {\n if (String(type) === \"code\" && !rehypeHighlight.value && props?.class?.includes(\"language\")) {\n importRehypeHighlightLibrary();\n }\n if (String(type) === \"pre\" && children && String(children.type) === \"code\") {\n const id = this.parentId + \"-code-block-\" + createElementId();\n return h(\"p\", { class: \"rich-text__code-block\" }, [\n h(type, { ...props, id }, children),\n h(_sfc_main$1, { class: \"rich-text__code-block-button\", contentId: id })\n ]);\n }\n if (String(type) === \"li\" && Array.isArray(children) && children.length !== 0 && children[0].type === \"input\" && children[0].props.type === \"checkbox\") {\n const [inputNode, , ...labelParts] = children;\n const nestedNodeIndex = labelParts.findIndex((child) => [\"ul\", \"ol\", \"li\", \"blockquote\", \"pre\"].includes(child.type));\n if (nestedNodeIndex !== -1) {\n nestedNode = labelParts[nestedNodeIndex];\n labelParts.splice(nestedNodeIndex);\n }\n const id = this.parentId + \"-markdown-input-\" + createElementId();\n const propsToForward = { ...inputNode.props };\n delete propsToForward.checked;\n const inputComponent = h(NcCheckboxRadioSwitch, {\n ...propsToForward,\n modelValue: inputNode.props.checked,\n id,\n disabled: !this.interactive,\n \"onUpdate:modelValue\": () => {\n this.$emit(\"interactTodo\", id);\n }\n }, { default: () => labelParts });\n return h(type, props, [inputComponent, nestedNode]);\n }\n }\n if (String(type) === \"a\") {\n const route = getRoute(this.$router, props.href);\n if (route) {\n delete props.href;\n delete props.target;\n return h(RouterLink, {\n ...props,\n to: route\n }, { default: () => children });\n }\n const isAllowedScheme = /^(https?:\\/\\/|tel:|mailto:)/.test(props.href);\n if (isAllowedScheme) {\n props.href = props.href.trim();\n return h(NcRichTextExternalLink, props, children);\n } else {\n delete props.href;\n delete props.target;\n return h(\"span\", props, children);\n }\n }\n return h(type, props, children);\n }\n const placeholder = this.arguments[type.slice(1)];\n if (!placeholder) {\n return h(\"span\", { ...props, class: \"rich-text--fallback\" }, [`{${type.slice(1)}}`]);\n }\n if (!placeholder.component) {\n return h(\"span\", { ...props }, [placeholder]);\n }\n return h(\n typeof placeholder.component === \"string\" ? resolveComponent(placeholder.component) : placeholder.component,\n {\n ...props,\n ...placeholder.props,\n class: \"rich-text--component\"\n },\n { default: () => children }\n );\n }\n },\n render() {\n return this.useMarkdown || this.useExtendedMarkdown ? this.renderMarkdown() : this.renderPlaintext();\n }\n};\nconst NcRichText = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-80e57a29\"]]);\nexport {\n NcRichText as N,\n NcReferenceList as a\n};\n//# sourceMappingURL=NcRichText.mjs.map\n"],"file":"NcProfileHoverCard-Dt6jr72a.chunk.mjs"} \ No newline at end of file +{"version":3,"mappings":"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,SACE,cAAe,iBACf,QAAW,SACX,SAAS,SACT,MAAW,WACf,QACE,YAAkB,cAAW,MAAY,WAAS,SAClD,eAEE,GAAM,MACN,MAAQZ,GACR,gBACA,SAAWD,GACX,QAAQ,KACR,SACA,gBAAiBL,EACjB,oBAAqBA,EACrB,gBAAgBA,CAChB,MAAOA,GACP,GAAK,KACL,KAAI,SACGA,SACP,iBACA,WACA,WAAWA,CACX,UAAUA,CACV,UAAUK,CACV,YAAS,CACT,WAAS,IACT,OAASL,CACT,UACA,aACA,cACA,UAAY,KACZ,OACA,QAASI,QACT,EAAS,KACT,cAAY,SACZ,CAAS,KACT,gBAAiBH,QACjB,OACA,cACA,SAAiBK,MACjB,WAAa,QACP,KACN,WAAU,GACV,SAAU,SACV,SACA,MACA,SACA,SAAS,GACT,SAAUN,EACV,SAAUG,SACV,SACA,MAAS,SACT,SAAc,KACd,cAAe,KACf,KAAM,QACN,SAAY,MACZ,UAAa,WACb,OAAY,KACZ,kBACA,eACA,UACA,KAAQC,EACR,SAAQD,CACR,MAAMC,CACN,KAAM,KACN,eACA,OAASC,EACT,UAAWA,QACP,SACJ,MAAY,MACZ,gBACA,OACA,cACA,UAAW,KACX,MAAI,OACJ,CAAOL,IACP,WACA,QAAUK,IACV,SACA,SAAWL,EACX,UAAUK,CACV,MAAM,YACC,KACP,GAAM,QACN,OAAU,KACV,SACA,SAAS,MACT,MACA,UACA,KAAU,WACL,EACL,UAAWD,EACX,WACA,OAAQ,MACR,GAAK,KACL,aACA,SAAUJ,CACV,MAAOA,IACP,KAAM,GACN,QAAO,GACP,SAAUA,EACV,gBACA,MAAS,UACT,OAAc,SACd,OAAY,KACZ,kBAAe,CACf,cAAe,KACf,iBAAgB,KAChB,kBACA,OAAQ,KACR,eACA,YAAW,EACX,iBAAkB,KAClB,YAAU,EACV,SAAS,OACT,KAAS,SACT,UAAe,KACf,cAAe,WACf,YAAmB,SACnB,SACA,eAAa,CACb,MAAO,SACP,OAAY,KACZ,SAAQ,SACR,MAAW,SACX,MAAa,KACb,WAAY,MACZ,cAAa,SACb,MAAY,SACZ,MAAa,KACb,WAAQ,CACR,oBAAkB,SAClB,MAAW,SACX,CAAS,OACT,WACA,QAAS,KACT,YAAY,SACZ,QAAc,KACd,cACA,SAAW,MACX,YAAW,EACX,WAAY,KACZ,cACA,gBAAkB,MAClB,MAAQ,UACR,QAAc,KACd,iBAAkB,MAClB,WAAW,OACX,QAAa,QACb,OAAW,KACX,oBACA,aAAa,KACb,kBACA,eAAc,KACd,WAAa,GACb,WAAY,OACZ,UAAa,KACb,YAAW,GACX,UAAW,KACX,WAAU,OACV,SAAY,MACZ,QAAY,KACZ,QAAS,SACT,MAAS,QACT,KAAQ,EACR,UAAW,MACX,cAAY,CACZ,cAAY,KACZ,gBACA,qBAAoB,SACpB,CAAS,KACT,SAAU,KACV,UAAU,OACV,WAAa,OACb,sBAA2B,KAC3B,SAAU,QACV,OAAW,KACX,eACA,YAAc,SACd,SAAW,EACX,UAAW,KACX,WAAU,GACV,UAAW,QACX,UAAc,KACd,SAAU,KACV,sBAAsB,KACtB,SAAU,SACV,eACA,YAAW,GACX,QAAS,OACT,IAAMA,CACN,aACA,OAAS,IACT,MACA,YAAa,SACb,SAAaA,CACb,WAAS,KACT,WAAe,OACf,kBAAqB,QACrB,SACA,QAAS,KACT,YACA,kBAAgB,CAChB,KAAKK,CACL,YACA,WACA,OACA,OAASD,IACT,OAASC,CACT,MAAO,QACP,MACA,aACA,OAAUL,IACV,iBAAoBA,IACpB,8BAAiCA,EACjC,2BACA,kBAAgB,OAChB,kBAAwBA,EACxB,MAAO,KACP,QACA,SAAO,CACP,KAAM,SACN,CAAMI,IACN,WAAYH,CACZ,MAAK,IACL,OAAQ,OACR,OAAS,OACT,MAAQ,EACR,UACA,OAAM,CACN,MAAO,KACP,SAAUG,QACV,CAAQ,KACR,OAAO,KACP,WAAW,OACX,CAAM,KACN,mBACA,KAAQ,MACR,MAAOH,CACP,MAAOG,IACP,MAAM,KACN,kBAAoB,MAIpB,SACA,KAAO,WACP,EAASC,KACT,IAAM,GACN,WAAY,OACZ,SAAS,MACT,YACA,MAAa,IACb,cAAcD,CACd,eAAa,WACb,MAAa,EACb,KAAM,KACN,SAAS,SACT,MAAS,SAC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MAAU,OACV,4BACA,OACA,QAAWA,QACX,QAAY,EACZ,OAAQA,cACR,OACA,gBAAe,OACf,QACA,YAAW,CACX,eAAe,MACf,eAAe,MACf,YAAa,CACb,MAAM,QACN,IAAO,IACP,UACI,UACJ,IAAU,QACV,MAAWA,MACX,MAAWC,MACX,CAAM,cACI,OACV,gBAAe,CACf,cACA,MAAO,KACP,qBAAoB,OACpB,uBAA2B,QAC3B,SAAc,SACd,YAAgB,QAChB,QAAS,CACT,oBAAmB,QACnB,YAAkB,WAClB,OAAa,IACb,QAAQ,KACR,OACA,OAAI,CACJ,IAAG,IACH,UAAU,KACV,cAAe,GACf,UACA,gBAAiBD,OACjB,KAAW,SACX,KAAS,IACT,WACA,OAASA,CACT,iBAAkB,KAClB,aACA,CAAI,OACJ,CAAI,MACJ,aACA,iBACA,YACA,kBAAkB,CAClB,OAAK,KACL,QACA,SAAUA,EACV,2BAA2B,IAC3B,UACA,aAAaA,CACb,UAAU,OACV,IAAQ,QACR,YACA,YAAa,KACb,cAAY,SACZ,MAAc,KACd,WAAW,KACX,cAAgB,KAChB,WAAY,KACZ,aAAU,CACV,iBAAgB,MAChB,YAAa,OACb,QAAW,OACX,OAAa,MACb,iBACA,YACA,CAAI,KACJ,YACA,CAAI,OACJ,CAAI,KACJ,OACA,QACA,SAAWE,CACX,+BAA4B,CAC5B,+BACA,QAAU,QACV,eAAmB,QACnB,WAAe,QACf,MAAS,QACT,QACA,iBAAmB,QACnB,SAAY,KACZ,WACA,OAAM,IACN,SAAU,IACV,SAAWF,EACX,aAAcA,SACd,MAAcA,EACd,GAAI,QACJ,YACA,cAAgB,KAChB,kBAAmB,UACf,QACC,SACL,QACA,CAAGA,OAEH,aAEIA,KACJ,WAAcG,EACd,oBAAkB,QAClB,OAAW,KACX,WAAY,EACZ,SAAU,WACV,SACA,OAAM,CACN,eAAc,MACd,WAAe,OACf,YAAe,MACf,mBACA,WACA,UAAW,OACX,cACA,eAAa,CACb,aAAc,KACd,YAAa,KACb,eAAa,EACb,KAAM,QACN,iBAAkB,KAClB,WACA,UAAW,KACX,aAAc,KACd,SACA,MAAO,KACP,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","names":["isSameRouteRecord","a","b","isSameRouteLocationParams","key","isSameRouteLocationParamsValue","isArray","isEquivalentArray","value","i","props","router","inject","routerKey","currentRoute","routeLocationKey","computed","to","activeRecordIndex","matched","length","currentMatched","routeMatched","index","parentRecordPath","route","navigate","e","guardEvent","vnodes","defineComponent","slots","link","useLink","elClass","getLinkClass","options","preferSingleVNode","h","target","includesParams","outer","innerValue","outerValue","record","propClass","defaultClass","emptyOptions","toString","settings","one","includeHtml","node","includeImageAlt","all","result","PRIMITIVE","ARRAY","DATE","REGEXP","SET","ERROR","env","guard","init","deserializer","_","as","out","$","unpair","type","VOID","arr","OBJECT","object","source","map","set","name","message","buffer","serialized","keys","typeOf","asString","EMPTY","MAP","TYPE","serializer","json","pair","entry","spread","strict","flags","entries","structuredClone$1","deserialize","serialize","any","element","test","castFactory","anyFactory","tests","checks","convertElement","tagNameFactory","check","parent","looksLikeAnElement","testFunction","WINDOWS_PATH_REGEX","isAbsoluteUrl","url","parse","input","stringify","visit","tree","testOrVisitor","visitor","visitorOrReverse","reverse","maybeReverse","visitParents","overload","parents","defaultProtocols","rehypeExternalLinks","protocols","is","createIfNeeded","contentRaw","relRaw","rel","properties","structuredClone","content","values","nameRe","nameReJsx","re","whitespace","thing","empty","Schema","normal","space","merge","definitions","property","definition","Info","attribute","powers","boolean","booleanish","increment","overloadedBoolean","number","spaceSeparated","commaSeparated","commaOrSpaceSeparated","DefinedInfo","mark","mask","types","normals","info","normalize","aria","attributes","caseInsensitiveTransform","create","svg","ASTERISK","EMPTY_STRING","TYPE_COMMENT","TYPE_DECLARATION","style","lineno","column","updatePosition","str","lines","position","start","Position","error","msg","err","match","m","comments","rules","c","comment","pos","FORWARD_SLASH","declaration","prop","val","VALUE_REGEX","ret","trim","COMMENT_REGEX","declarations","decl","decls","TRIM_REGEX","cjs","__importDefault","this","mod","StyleToObject","require$$0","styleObject","inline_style_parser_1","hasIterator","iterator","utilities","CUSTOM_PROPERTY_REGEX","HYPHEN_REGEX","NO_HYPHEN_REGEX","MS_VENDOR_PREFIX_REGEX","skipCamelCase","character","trimHyphen","prefix","camelCase","VENDOR_PREFIX_REGEX","capitalize","utilities_1","StyleToJS","style_to_object_1","output","point","pointStart","end","pointEnd","stringifyPosition","VFileMessage","optionsOrParentOrPlace","reason","causeOrReason","legacyCause","origin","own","emptyMap","cap","tableElements","tableCellElement","docs","toJsxRuntime","developmentCreate","filePath","productionCreate","state","mdxExpression","mdxJsxElement","mdxEsm","text","parentSchema","schema","findComponentFromName","children","createChildren","child","addNode","addChildren","assert","expression","crashEstree","jsx","jsxs","fn","jsxDEV","isStaticChildren","createProperty","alignValue","createJsxElementProps","objectExpression","countsByName","count","find","commas","parseStyle","cause","identifiers","isIdentifierName","place","transformStylesToCssCasing","domCasing","cssCasing","from","transformStyleToCssCasing","toDash","$0","rehypeReact","compiler","file","escapeStringRegexp","pairs","toPairs","pairIndex","siblings","grandparent","ignored","handler","replace","change","nodes","tupleOrList","toFunction","toExpression","escape","newlineToBreak","remarkBreaks","decodeNamedCharacterReference","characterReference","remove","list","chunkStart","parameters","push","splice","items","combineExtensions","extensions","extension","hook","code","right","hasOwnProperty","left","constructs","before","existing","decodeNumericCharacterReference","base","regexCheck","asciiAtext","asciiDigit","asciiHexDigit","asciiPunctuation","markdownLineEndingOrSpace","skip","asciiAlphanumeric","next","factorySpace","effects","markdownSpace","size","initializeContent","previous","contentStart","lineStart","token","data","markdownLineEnding","document","initializeDocument","self","stack","item","documentContinue","continued","indexBeforeFlow","indexBeforeExits","checkNewContainers","childFlow","containerConstruct","thereIsANewContainer","lineStartOffset","documentContinued","containerContinue","writeToChild","flowContinue","endOfFile","childToken","ok","classifyCharacter","unicodeWhitespace","unicodePunctuation","resolveAll","events","called","resolve","context","attention","openingSequence","open","movePoint","closingSequence","group","nextEvents","tokenizeAttention","inside","after","marker","close","offset","schemeInsideOrEmailAtext","emailAtSignOrDot","emailLabel","nok","emailValue","tokenizeBlankLine","blockQuote","exit","tokenizeCharacterEscape","tokenizeCharacterReference","max","numeric","nonLazyContinuation","codeFenced","tokenizeCodeFenced","closeStart","tokenizeCloseStart","tail","sequenceOpen","sizeOpen","infoBefore","metaBefore","meta","atNonLazyBreak","contentBefore","initialPrefix","beforeContentChunk","contentChunk","sequenceClose","tokenizeNonLazyContinuation","tokenizeCodeIndented","furtherStart","atBreak","resolveCodeText","headEnterIndex","enter","tailExitIndex","tokenizeCodeText","between","initial","stop","expandTabs","loose","results","listLoose","listItems","definitionById","footnoteById","trimMarkdownSpaceStart","foot","remarkRehype","destination","hastTree","toHast","squeezeParagraphs","tracker","exit2","mapExceptFirst","line","blank","mapAll","handleDelete","peekDelete","gfmStrikethroughFromMarkdown","enterStrikethrough","constructsWithoutStrikethrough","exitStrikethrough","defaultStringLength","table","align","stringLength","alignments","sizeMatrix","longestCellByColumn","rowIndex","row2","columnIndex2","mostCellsPerRow","cellMatrix","sizes2","columnIndex","toAlignment","row","code2","cell","sizes","map$1","patternInScope","pattern","listInScope","list2","none","hardBreak","longestStreak","substring","expected","subexit","raw","suffix","quote","encodeCharacterReference","encodeInfo","outside","outsideKind","insideKind","rank","sequence","inlineCodeWithTable","handleTableCell","handleTableRow","handleTable","handleTableRowAsData","serializeData","around","matrix"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71],"sources":["../node_modules/vue-router/dist/devtools-CxgSYwGp.js","../node_modules/vue-router/dist/vue-router.js","../node_modules/mdast-util-to-string/lib/index.js","../node_modules/@ungap/structured-clone/esm/types.js","../node_modules/@ungap/structured-clone/esm/deserialize.js","../node_modules/@ungap/structured-clone/esm/serialize.js","../node_modules/@ungap/structured-clone/esm/index.js","../node_modules/hast-util-is-element/lib/index.js","../node_modules/is-absolute-url/index.js","../node_modules/space-separated-tokens/index.js","../node_modules/unist-util-visit/lib/index.js","../node_modules/rehype-external-links/lib/index.js","../node_modules/comma-separated-tokens/index.js","../node_modules/estree-util-is-identifier-name/lib/index.js","../node_modules/hast-util-whitespace/lib/index.js","../node_modules/property-information/lib/util/schema.js","../node_modules/property-information/lib/util/merge.js","../node_modules/property-information/lib/normalize.js","../node_modules/property-information/lib/util/info.js","../node_modules/property-information/lib/util/types.js","../node_modules/property-information/lib/util/defined-info.js","../node_modules/property-information/lib/util/create.js","../node_modules/property-information/lib/aria.js","../node_modules/property-information/lib/util/case-sensitive-transform.js","../node_modules/property-information/lib/util/case-insensitive-transform.js","../node_modules/property-information/lib/html.js","../node_modules/property-information/lib/svg.js","../node_modules/inline-style-parser/cjs/index.js","../node_modules/style-to-object/cjs/index.js","../node_modules/style-to-js/cjs/utilities.js","../node_modules/style-to-js/cjs/index.js","../node_modules/unist-util-position/lib/index.js","../node_modules/unist-util-stringify-position/lib/index.js","../node_modules/vfile-message/lib/index.js","../node_modules/hast-util-to-jsx-runtime/lib/index.js","../node_modules/rehype-react/lib/index.js","../node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp/index.js","../node_modules/mdast-util-find-and-replace/lib/index.js","../node_modules/mdast-util-newline-to-break/lib/index.js","../node_modules/remark-breaks/lib/index.js","../node_modules/decode-named-character-reference/index.dom.js","../node_modules/micromark-util-chunked/index.js","../node_modules/micromark-util-combine-extensions/index.js","../node_modules/micromark-util-decode-numeric-character-reference/index.js","../node_modules/micromark-util-normalize-identifier/index.js","../node_modules/micromark-util-character/index.js","../node_modules/micromark-util-sanitize-uri/index.js","../node_modules/micromark-factory-space/index.js","../node_modules/micromark/lib/initialize/content.js","../node_modules/micromark/lib/initialize/document.js","../node_modules/micromark-util-classify-character/index.js","../node_modules/micromark-util-resolve-all/index.js","../node_modules/micromark-core-commonmark/lib/attention.js","../node_modules/micromark-core-commonmark/lib/autolink.js","../node_modules/micromark-core-commonmark/lib/blank-line.js","../node_modules/micromark-core-commonmark/lib/block-quote.js","../node_modules/micromark-core-commonmark/lib/character-escape.js","../node_modules/micromark-core-commonmark/lib/character-reference.js","../node_modules/micromark-core-commonmark/lib/code-fenced.js","../node_modules/micromark-core-commonmark/lib/code-indented.js","../node_modules/micromark-core-commonmark/lib/code-text.js","../node_modules/micromark-util-subtokenize/lib/splice-buffer.js","../node_modules/micromark/lib/create-tokenizer.js","../node_modules/mdast-util-to-hast/lib/handlers/break.js","../node_modules/mdast-util-to-hast/lib/handlers/code.js","../node_modules/mdast-util-to-hast/lib/handlers/list-item.js","../node_modules/mdast-util-to-hast/lib/footer.js","../node_modules/mdast-util-to-hast/lib/state.js","../node_modules/mdast-util-to-hast/lib/index.js","../node_modules/remark-rehype/lib/index.js","../node_modules/mdast-squeeze-paragraphs/lib/index.js","../node_modules/@nextcloud/vue/dist/chunks/NcRichText.mjs"],"sourcesContent":["/*!\n* vue-router v5.4.0\n* (c) 2026 Eduardo San Martin Morote\n* @license MIT\n*/\nimport { _ as isArray, d as createRouterError, g as isAbsolutePath, l as diagnostics, m as assign, r as matchedRouteKey, v as isESModule, y as isRouteComponent } from \"./useApi-CUWMwLLw.js\";\nimport { getCurrentInstance, inject, onActivated, onDeactivated, onUnmounted, watch } from \"vue\";\nimport { setupDevtoolsPlugin } from \"@vue/devtools-api\";\n//#region src/utils/env.ts\nconst isBrowser = typeof document !== \"undefined\";\n//#endregion\n//#region src/encoding.ts\n/**\n* Encoding Rules (␣ = Space)\n* - Path: ␣ \" < > # ? { }\n* - Query: ␣ \" < > # & =\n* - Hash: ␣ \" < > `\n*\n* On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\n* defines some extra characters to be encoded. Most browsers do not encode them\n* in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\n* also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\n* plus `-._~`. This extra safety should be applied to query by patching the\n* string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\n* should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\n* into a `/` if directly typed in. The _backtick_ (`````) should also be\n* encoded everywhere because some browsers like FF encode it when directly\n* written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\n*/\n/**\n* NOTE: `replaceAll()` is not faster than `replace()` with a global RegExp.\n* Benchmarks do not show a clear benefit for these simple replacements:\n* https://github.com/mathiasbynens/string-prototype-replace-regexp-benchmark\n*/\nconst HASH_RE = /#/g;\nconst AMPERSAND_RE = /&/g;\nconst SLASH_RE = /\\//g;\nconst EQUAL_RE = /=/g;\nconst IM_RE = /\\?/g;\nconst PLUS_RE = /\\+/g;\n/**\n* NOTE: It's not clear to me if we should encode the + symbol in queries, it\n* seems to be less flexible than not doing so and I can't find out the legacy\n* systems requiring this for regular requests like text/html. In the standard,\n* the encoding of the plus character is only mentioned for\n* application/x-www-form-urlencoded\n* (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\n* leave the plus character as is in queries. To be more flexible, we allow the\n* plus character on the query, but it can also be manually encoded by the user.\n*\n* Resources:\n* - https://url.spec.whatwg.org/#urlencoded-parsing\n* - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\n*/\nconst ENC_BRACKET_OPEN_RE = /%5B/g;\nconst ENC_BRACKET_CLOSE_RE = /%5D/g;\nconst ENC_CARET_RE = /%5E/g;\nconst ENC_BACKTICK_RE = /%60/g;\nconst ENC_CURLY_OPEN_RE = /%7B/g;\nconst ENC_PIPE_RE = /%7C/g;\nconst ENC_CURLY_CLOSE_RE = /%7D/g;\nconst ENC_SPACE_RE = /%20/g;\n/**\n* Encode characters that need to be encoded on the path, search and hash\n* sections of the URL.\n*\n* @internal\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction commonEncode(text) {\n\treturn text == null ? \"\" : encodeURI(\"\" + text).replace(ENC_PIPE_RE, \"|\").replace(ENC_BRACKET_OPEN_RE, \"[\").replace(ENC_BRACKET_CLOSE_RE, \"]\");\n}\n/**\n* Encode characters that need to be encoded on the hash section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeHash(text) {\n\treturn commonEncode(text).replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\n/**\n* Encode characters that need to be encoded query values on the query\n* section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeQueryValue(text) {\n\treturn commonEncode(text).replace(PLUS_RE, \"%2B\").replace(ENC_SPACE_RE, \"+\").replace(HASH_RE, \"%23\").replace(AMPERSAND_RE, \"%26\").replace(ENC_BACKTICK_RE, \"`\").replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\n/**\n* Like `encodeQueryValue` but also encodes the `=` character.\n*\n* @param text - string to encode\n*/\nfunction encodeQueryKey(text) {\n\treturn encodeQueryValue(text).replace(EQUAL_RE, \"%3D\");\n}\n/**\n* Encode characters that need to be encoded on the path section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodePath(text) {\n\treturn commonEncode(text).replace(HASH_RE, \"%23\").replace(IM_RE, \"%3F\");\n}\n/**\n* Encode characters that need to be encoded on the path section of the URL as a\n* param. This function encodes everything {@link encodePath} does plus the\n* slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\n* string instead.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeParam(text) {\n\treturn encodePath(text).replace(SLASH_RE, \"%2F\");\n}\nfunction decode(text) {\n\tif (text == null) return null;\n\ttry {\n\t\treturn decodeURIComponent(\"\" + text);\n\t} catch {\n\t\tprocess.env.NODE_ENV !== \"production\" && diagnostics.VUE_ROUTER_R0080({ text: \"\" + text });\n\t}\n\treturn \"\" + text;\n}\n//#endregion\n//#region src/location.ts\nconst TRAILING_SLASH_RE = /\\/$/;\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, \"\");\n/**\n* Transforms a URI into a normalized history location\n*\n* @param parseQuery\n* @param location - URI to normalize\n* @param currentLocation - current absolute location. Allows resolving relative\n* paths. Must start with `/`. Defaults to `/`\n* @returns a normalized history location\n*/\nfunction parseURL(parseQuery, location, currentLocation = \"/\") {\n\tlet path, query = {}, searchString = \"\", hash = \"\";\n\tconst hashPos = location.indexOf(\"#\");\n\tlet searchPos = location.indexOf(\"?\");\n\tsearchPos = hashPos >= 0 && searchPos > hashPos ? -1 : searchPos;\n\tif (searchPos >= 0) {\n\t\tpath = location.slice(0, searchPos);\n\t\tsearchString = location.slice(searchPos, hashPos > 0 ? hashPos : location.length);\n\t\tquery = parseQuery(searchString.slice(1));\n\t}\n\tif (hashPos >= 0) {\n\t\tpath = path || location.slice(0, hashPos);\n\t\thash = location.slice(hashPos, location.length);\n\t}\n\tpath = resolveRelativePath(path != null ? path : location, currentLocation);\n\treturn {\n\t\tfullPath: path + searchString + hash,\n\t\tpath,\n\t\tquery,\n\t\thash: decode(hash)\n\t};\n}\n/**\n* Stringifies a URL object\n*\n* @param stringifyQuery\n* @param location\n*/\nfunction stringifyURL(stringifyQuery, location) {\n\tconst query = location.query ? stringifyQuery(location.query) : \"\";\n\treturn location.path + (query && \"?\") + query + (location.hash || \"\");\n}\n/**\n* Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\n*\n* @param pathname - location.pathname\n* @param base - base to strip off\n*/\nfunction stripBase(pathname, base) {\n\tif (!base || !pathname.toLowerCase().startsWith(base.toLowerCase())) return pathname;\n\treturn pathname.slice(base.length) || \"/\";\n}\n/**\n* Checks if two RouteLocation are equal. This means that both locations are\n* pointing towards the same {@link RouteRecord} and that all `params`, `query`\n* parameters and `hash` are the same\n*\n* @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it.\n* @param a - first {@link RouteLocation}\n* @param b - second {@link RouteLocation}\n*/\nfunction isSameRouteLocation(stringifyQuery, a, b) {\n\tconst aLastIndex = a.matched.length - 1;\n\tconst bLastIndex = b.matched.length - 1;\n\treturn aLastIndex > -1 && aLastIndex === bLastIndex && isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) && isSameRouteLocationParams(a.params, b.params) && stringifyQuery(a.query) === stringifyQuery(b.query) && a.hash === b.hash;\n}\n/**\n* Check if two `RouteRecords` are equal. Takes into account aliases: they are\n* considered equal to the `RouteRecord` they are aliasing.\n*\n* @param a - first {@link RouteRecord}\n* @param b - second {@link RouteRecord}\n*/\nfunction isSameRouteRecord(a, b) {\n\treturn (a.aliasOf || a) === (b.aliasOf || b);\n}\nfunction isSameRouteLocationParams(a, b) {\n\tif (Object.keys(a).length !== Object.keys(b).length) return false;\n\tfor (var key in a) if (!isSameRouteLocationParamsValue(a[key], b[key])) return false;\n\treturn true;\n}\nfunction isSameRouteLocationParamsValue(a, b) {\n\treturn isArray(a) ? isEquivalentArray(a, b) : isArray(b) ? isEquivalentArray(b, a) : (a && a.valueOf()) === (b && b.valueOf());\n}\n/**\n* Check if two arrays are the same or if an array with one single entry is the\n* same as another primitive value. Used to check query and parameters\n*\n* @param a - array of values\n* @param b - array of values or a single value\n*/\nfunction isEquivalentArray(a, b) {\n\treturn isArray(b) ? a.length === b.length && a.every((value, i) => value === b[i]) : a.length === 1 && a[0] === b;\n}\n/**\n* Resolves a relative path that starts with `.`.\n*\n* @param to - path location we are resolving\n* @param from - currentLocation.path, should start with `/`\n*/\nfunction resolveRelativePath(to, from) {\n\tif (isAbsolutePath(to)) return to;\n\tif (process.env.NODE_ENV !== \"production\" && !isAbsolutePath(from)) {\n\t\tdiagnostics.VUE_ROUTER_R0070({\n\t\t\tto,\n\t\t\tfrom\n\t\t});\n\t\treturn to;\n\t}\n\tif (!to) return from;\n\tconst fromSegments = from.split(\"/\");\n\tconst toSegments = to.split(\"/\");\n\tconst lastToSegment = toSegments[toSegments.length - 1];\n\tif (lastToSegment === \"..\" || lastToSegment === \".\") toSegments.push(\"\");\n\tlet position = fromSegments.length - 1;\n\tlet toPosition;\n\tlet segment;\n\tfor (toPosition = 0; toPosition < toSegments.length; toPosition++) {\n\t\tsegment = toSegments[toPosition];\n\t\tif (segment === \".\") continue;\n\t\tif (segment === \"..\") {\n\t\t\tif (position > 1) position--;\n\t\t} else break;\n\t}\n\treturn fromSegments.slice(0, position).join(\"/\") + \"/\" + toSegments.slice(toPosition).join(\"/\");\n}\n/**\n* Initial route location where the router is. Can be used in navigation guards\n* to differentiate the initial navigation.\n*\n* @example\n* ```js\n* import { START_LOCATION } from 'vue-router'\n*\n* router.beforeEach((to, from) => {\n* if (from === START_LOCATION) {\n* // initial navigation\n* }\n* })\n* ```\n*/\nconst START_LOCATION_NORMALIZED = {\n\tpath: \"/\",\n\tname: void 0,\n\tparams: {},\n\tquery: {},\n\thash: \"\",\n\tfullPath: \"/\",\n\tmatched: [],\n\tmeta: {},\n\tredirectedFrom: void 0\n};\n//#endregion\n//#region src/history/common.ts\n/**\n* Normalizes a base by removing any trailing slash and reading the base tag if\n* present.\n*\n* @param base - base to normalize\n*/\nfunction normalizeBase(base) {\n\tif (!base) {\n\t\tif (isBrowser) {\n\t\t\tconst baseEl = document.querySelector(\"base\");\n\t\t\tbase = baseEl && baseEl.getAttribute(\"href\") || \"/\";\n\t\t\tbase = base.replace(/^\\w+:\\/\\/[^/]+/, \"\");\n\t\t} else base = \"/\";\n\t}\n\tif (base[0] !== \"/\" && base[0] !== \"#\") base = \"/\" + base;\n\treturn removeTrailingSlash(base);\n}\nconst BEFORE_HASH_RE = /^[^#]+#/;\nfunction createHref(base, location) {\n\treturn base.replace(BEFORE_HASH_RE, \"#\") + location;\n}\n//#endregion\n//#region src/scrollBehavior.ts\nfunction getElementPosition(el, offset) {\n\tconst docRect = document.documentElement.getBoundingClientRect();\n\tconst elRect = el.getBoundingClientRect();\n\treturn {\n\t\tbehavior: offset.behavior,\n\t\tleft: elRect.left - docRect.left - (offset.left || 0),\n\t\ttop: elRect.top - docRect.top - (offset.top || 0)\n\t};\n}\nconst computeScrollPosition = () => history.scrollRestoration === \"manual\" ? {\n\tleft: window.scrollX,\n\ttop: window.scrollY\n} : null;\nfunction scrollToPosition(position) {\n\tlet scrollToOptions;\n\tif (\"el\" in position) {\n\t\tconst positionEl = position.el;\n\t\tconst isIdSelector = typeof positionEl === \"string\" && positionEl.startsWith(\"#\");\n\t\t/**\n\t\t* `id`s can accept pretty much any characters, including CSS combinators\n\t\t* like `>` or `~`. It's still possible to retrieve elements using\n\t\t* `document.getElementById('~')` but it needs to be escaped when using\n\t\t* `document.querySelector('#\\\\~')` for it to be valid. The only\n\t\t* requirements for `id`s are them to be unique on the page and to not be\n\t\t* empty (`id=\"\"`). Because of that, when passing an id selector, it should\n\t\t* be properly escaped for it to work with `querySelector`. We could check\n\t\t* for the id selector to be simple (no CSS combinators `+ >~`) but that\n\t\t* would make things inconsistent since they are valid characters for an\n\t\t* `id` but would need to be escaped when using `querySelector`, breaking\n\t\t* their usage and ending up in no selector returned. Selectors need to be\n\t\t* escaped:\n\t\t*\n\t\t* - `#1-thing` becomes `#\\31 -thing`\n\t\t* - `#with~symbols` becomes `#with\\\\~symbols`\n\t\t*\n\t\t* - More information about the topic can be found at\n\t\t* https://mathiasbynens.be/notes/html5-id-class.\n\t\t* - Practical example: https://mathiasbynens.be/demo/html5-id\n\t\t*/\n\t\tif (process.env.NODE_ENV !== \"production\" && typeof position.el === \"string\") {\n\t\t\tif (!isIdSelector || !document.getElementById(position.el.slice(1))) try {\n\t\t\t\tconst foundEl = document.querySelector(position.el);\n\t\t\t\tif (isIdSelector && foundEl) {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0040({ el: position.el });\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tdiagnostics.VUE_ROUTER_R0041({ el: position.el });\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tconst el = typeof positionEl === \"string\" ? isIdSelector ? document.getElementById(positionEl.slice(1)) : document.querySelector(positionEl) : positionEl;\n\t\tif (!el) {\n\t\t\tprocess.env.NODE_ENV !== \"production\" && diagnostics.VUE_ROUTER_R0042({ el: position.el });\n\t\t\treturn;\n\t\t}\n\t\tscrollToOptions = getElementPosition(el, position);\n\t} else scrollToOptions = position;\n\tif (\"scrollBehavior\" in document.documentElement.style) window.scrollTo(scrollToOptions);\n\telse window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY);\n}\nfunction getScrollKey(path, delta) {\n\treturn (history.state ? history.state.position - delta : -1) + path;\n}\nconst scrollPositions = /* @__PURE__ */ new Map();\nfunction saveScrollPosition(key) {\n\tscrollPositions.set(key, computeScrollPosition());\n}\nfunction getSavedScrollPosition(key) {\n\tconst scroll = scrollPositions.get(key);\n\tscrollPositions.delete(key);\n\treturn scroll;\n}\nfunction invalidateScrollPositions(position, replace = false) {\n\tfor (const key of scrollPositions.keys()) {\n\t\tconst entryPosition = parseInt(key, 10);\n\t\tif (entryPosition === position || !replace && entryPosition > position) scrollPositions.delete(key);\n\t}\n}\n/**\n* ScrollBehavior instance used by the router to compute and restore the scroll\n* position when navigating.\n*/\n//#endregion\n//#region src/types/typeGuards.ts\nfunction isRouteLocation(route) {\n\treturn typeof route === \"string\" || route && typeof route === \"object\";\n}\nfunction isRouteName(name) {\n\treturn typeof name === \"string\" || typeof name === \"symbol\";\n}\n//#endregion\n//#region src/query.ts\n/**\n* Transforms a queryString into a {@link LocationQuery} object. Accept both, a\n* version with the leading `?` and without Should work as URLSearchParams\n\n* @internal\n*\n* @param search - search string to parse\n* @returns a query object\n*/\nfunction parseQuery(search) {\n\tconst query = {};\n\tif (search === \"\" || search === \"?\") return query;\n\tconst searchParams = (search[0] === \"?\" ? search.slice(1) : search).split(\"&\");\n\tfor (let i = 0; i < searchParams.length; ++i) {\n\t\tconst searchParam = searchParams[i].replace(PLUS_RE, \" \");\n\t\tconst eqPos = searchParam.indexOf(\"=\");\n\t\tconst key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n\t\tconst value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n\t\tif (key in query) {\n\t\t\tlet currentValue = query[key];\n\t\t\tif (!isArray(currentValue)) currentValue = query[key] = [currentValue];\n\t\t\tcurrentValue.push(value);\n\t\t} else query[key] = value;\n\t}\n\treturn query;\n}\n/**\n* Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\n* doesn't prepend a `?`\n*\n* @internal\n*\n* @param query - query object to stringify\n* @returns string version of the query without the leading `?`\n*/\nfunction stringifyQuery(query) {\n\tlet search = \"\";\n\tfor (let key in query) {\n\t\tconst value = query[key];\n\t\tkey = encodeQueryKey(key);\n\t\tif (value == null) {\n\t\t\tif (value !== void 0) search += (search.length ? \"&\" : \"\") + key;\n\t\t\tcontinue;\n\t\t}\n\t\t(isArray(value) ? value.map((v) => v && encodeQueryValue(v)) : [value && encodeQueryValue(value)]).forEach((value) => {\n\t\t\tif (value !== void 0) {\n\t\t\t\tsearch += (search.length ? \"&\" : \"\") + key;\n\t\t\t\tif (value != null) search += \"=\" + value;\n\t\t\t}\n\t\t});\n\t}\n\treturn search;\n}\n/**\n* Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\n* numbers into strings, removing keys with an undefined value and replacing\n* undefined with null in arrays\n*\n* @param query - query object to normalize\n* @returns a normalized query object\n*/\nfunction normalizeQuery(query) {\n\tconst normalizedQuery = {};\n\tfor (const key in query) {\n\t\tconst value = query[key];\n\t\tif (value !== void 0) normalizedQuery[key] = isArray(value) ? value.map((v) => v == null ? null : \"\" + v) : value == null ? value : \"\" + value;\n\t}\n\treturn normalizedQuery;\n}\n//#endregion\n//#region src/utils/callbacks.ts\n/**\n* Create a list of callbacks that can be reset. Used to create before and after navigation guards list\n*/\nfunction useCallbacks() {\n\tlet handlers = [];\n\tfunction add(handler) {\n\t\thandlers.push(handler);\n\t\treturn () => {\n\t\t\tconst i = handlers.indexOf(handler);\n\t\t\tif (i > -1) handlers.splice(i, 1);\n\t\t};\n\t}\n\tfunction reset() {\n\t\thandlers = [];\n\t}\n\treturn {\n\t\tadd,\n\t\tlist: () => handlers.slice(),\n\t\treset\n\t};\n}\n//#endregion\n//#region src/navigationGuards.ts\nfunction registerGuard(activeRecordRef, name, guard) {\n\tconst record = activeRecordRef.value;\n\tif (!record) {\n\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\tconst fnName = name === \"updateGuards\" ? \"onBeforeRouteUpdate\" : \"onBeforeRouteLeave\";\n\t\t\tdiagnostics.VUE_ROUTER_R0020({ fn: fnName });\n\t\t}\n\t\treturn;\n\t}\n\tlet currentRecord = record;\n\tconst removeFromList = () => {\n\t\tcurrentRecord[name].delete(guard);\n\t};\n\tonUnmounted(removeFromList);\n\tonDeactivated(removeFromList);\n\tonActivated(() => {\n\t\tconst newRecord = activeRecordRef.value;\n\t\tif (process.env.NODE_ENV !== \"production\" && !newRecord) diagnostics.VUE_ROUTER_R0021();\n\t\tif (newRecord) currentRecord = newRecord;\n\t\tcurrentRecord[name].add(guard);\n\t});\n\tcurrentRecord[name].add(guard);\n}\n/**\n* Add a navigation guard that triggers whenever the component for the current\n* location is about to be left. Similar to {@link beforeRouteLeave} but can be\n* used in any component. The guard is removed when the component is unmounted.\n*\n* @param leaveGuard - {@link NavigationGuard}\n*/\nfunction onBeforeRouteLeave(leaveGuard) {\n\tif (process.env.NODE_ENV !== \"production\" && !getCurrentInstance()) {\n\t\tdiagnostics.VUE_ROUTER_R0022({ fn: \"onBeforeRouteLeave\" });\n\t\treturn;\n\t}\n\tregisterGuard(inject(matchedRouteKey, {}), \"leaveGuards\", leaveGuard);\n}\n/**\n* Add a navigation guard that triggers whenever the current location is about\n* to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\n* component. The guard is removed when the component is unmounted.\n*\n* @param updateGuard - {@link NavigationGuard}\n*/\nfunction onBeforeRouteUpdate(updateGuard) {\n\tif (process.env.NODE_ENV !== \"production\" && !getCurrentInstance()) {\n\t\tdiagnostics.VUE_ROUTER_R0022({ fn: \"onBeforeRouteUpdate\" });\n\t\treturn;\n\t}\n\tregisterGuard(inject(matchedRouteKey, {}), \"updateGuards\", updateGuard);\n}\nfunction guardToPromiseFn(guard, to, from, record, name, runWithContext = (fn) => fn()) {\n\tconst enterCallbackArray = record && (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\n\treturn () => new Promise((resolve, reject) => {\n\t\tconst next = (valid) => {\n\t\t\tif (valid === false) reject(createRouterError(4, {\n\t\t\t\tfrom,\n\t\t\t\tto\n\t\t\t}));\n\t\t\telse if (valid instanceof Error) reject(valid);\n\t\t\telse if (isRouteLocation(valid)) reject(createRouterError(2, {\n\t\t\t\tfrom: to,\n\t\t\t\tto: valid\n\t\t\t}));\n\t\t\telse {\n\t\t\t\tif (enterCallbackArray && record.enterCallbacks[name] === enterCallbackArray && typeof valid === \"function\") enterCallbackArray.push(valid);\n\t\t\t\tresolve();\n\t\t\t}\n\t\t};\n\t\tconst guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, process.env.NODE_ENV !== \"production\" ? withDeprecationWarning(canOnlyBeCalledOnce(next, to, from)) : next));\n\t\tlet guardCall = Promise.resolve(guardReturn);\n\t\tif (guard.length < 3) guardCall = guardCall.then(next);\n\t\tif (process.env.NODE_ENV !== \"production\" && guard.length > 2) {\n\t\t\tconst guardInfo = {\n\t\t\t\tname: guard.name,\n\t\t\t\tguard: guard.toString()\n\t\t\t};\n\t\t\tif (typeof guardReturn === \"object\" && \"then\" in guardReturn) guardCall = guardCall.then((resolvedValue) => {\n\t\t\t\tif (!next._called) {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0023(guardInfo);\n\t\t\t\t\treturn Promise.reject(/* @__PURE__ */ new Error(\"Invalid navigation guard\"));\n\t\t\t\t}\n\t\t\t\treturn resolvedValue;\n\t\t\t});\n\t\t\telse if (guardReturn !== void 0) {\n\t\t\t\tif (!next._called) {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0023(guardInfo);\n\t\t\t\t\treject(/* @__PURE__ */ new Error(\"Invalid navigation guard\"));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tguardCall.catch((err) => reject(err));\n\t});\n}\n/**\n* Wraps the next callback to warn when it is used. Dev-only: when __DEV__ is\n* false (production builds), this branch is dead code and is stripped from the\n* bundle.\n*\n* @internal\n*/\nfunction withDeprecationWarning(next) {\n\tlet warned = false;\n\treturn function() {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tdiagnostics.VUE_ROUTER_R0025();\n\t\t}\n\t\treturn next.apply(this, arguments);\n\t};\n}\nfunction canOnlyBeCalledOnce(next, to, from) {\n\tlet called = 0;\n\treturn function() {\n\t\tif (called++ === 1) diagnostics.VUE_ROUTER_R0024({\n\t\t\tfrom: from.fullPath,\n\t\t\tto: to.fullPath\n\t\t});\n\t\tnext._called = true;\n\t\tif (called === 1) next.apply(null, arguments);\n\t};\n}\nfunction extractComponentsGuards(matched, guardType, to, from, runWithContext = (fn) => fn()) {\n\tconst guards = [];\n\tfor (const record of matched) {\n\t\tif (process.env.NODE_ENV !== \"production\" && !record.components && record.children && !record.children.length) diagnostics.VUE_ROUTER_R0026({ path: record.path });\n\t\tfor (const name in record.components) {\n\t\t\tlet rawComponent = record.components[name];\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tif (!rawComponent || typeof rawComponent !== \"object\" && typeof rawComponent !== \"function\") {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0027({\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tpath: record.path,\n\t\t\t\t\t\treceived: String(rawComponent)\n\t\t\t\t\t});\n\t\t\t\t\tthrow new Error(\"Invalid route component\");\n\t\t\t\t} else if (\"then\" in rawComponent) {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0028({\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tpath: record.path\n\t\t\t\t\t});\n\t\t\t\t\tconst promise = rawComponent;\n\t\t\t\t\trawComponent = () => promise;\n\t\t\t\t} else if (rawComponent.__asyncLoader && !rawComponent.__warnedDefineAsync) {\n\t\t\t\t\trawComponent.__warnedDefineAsync = true;\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0029({\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tpath: record.path\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (guardType !== \"beforeRouteEnter\" && !record.instances[name]) continue;\n\t\t\tif (isRouteComponent(rawComponent)) {\n\t\t\t\tconst guard = (rawComponent.__vccOpts || rawComponent)[guardType];\n\t\t\t\tguard && guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext));\n\t\t\t} else {\n\t\t\t\tlet componentPromise = rawComponent();\n\t\t\t\tif (process.env.NODE_ENV !== \"production\" && !(\"catch\" in componentPromise)) {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0030({\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tpath: record.path\n\t\t\t\t\t});\n\t\t\t\t\tcomponentPromise = Promise.resolve(componentPromise);\n\t\t\t\t}\n\t\t\t\tguards.push(() => componentPromise.then((resolved) => {\n\t\t\t\t\tif (!resolved) throw new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`);\n\t\t\t\t\tconst resolvedComponent = isESModule(resolved) ? resolved.default : resolved;\n\t\t\t\t\trecord.mods[name] = resolved;\n\t\t\t\t\trecord.components[name] = resolvedComponent;\n\t\t\t\t\tconst guard = (resolvedComponent.__vccOpts || resolvedComponent)[guardType];\n\t\t\t\t\treturn guard && guardToPromiseFn(guard, to, from, record, name, runWithContext)();\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\t}\n\treturn guards;\n}\n/**\n* Ensures a route is loaded, so it can be passed as o prop to ``.\n*\n* @param route - resolved route to load\n*/\nfunction loadRouteLocation(route) {\n\treturn route.matched.every((record) => record.redirect) ? Promise.reject(/* @__PURE__ */ new Error(\"Cannot load a route that redirects.\")) : Promise.all(route.matched.map((record) => record.components && Promise.all(Object.keys(record.components).reduce((promises, name) => {\n\t\tconst rawComponent = record.components[name];\n\t\tif (typeof rawComponent === \"function\" && !(\"displayName\" in rawComponent)) promises.push(rawComponent().then((resolved) => {\n\t\t\tif (!resolved) return Promise.reject(/* @__PURE__ */ new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\n\t\t\tconst resolvedComponent = isESModule(resolved) ? resolved.default : resolved;\n\t\t\trecord.mods[name] = resolved;\n\t\t\trecord.components[name] = resolvedComponent;\n\t\t}));\n\t\treturn promises;\n\t}, [])))).then(() => route);\n}\n/**\n* Split the leaving, updating, and entering records.\n* @internal\n*\n* @param to - Location we are navigating to\n* @param from - Location we are navigating from\n*/\nfunction extractChangingRecords(to, from) {\n\tconst leavingRecords = [];\n\tconst updatingRecords = [];\n\tconst enteringRecords = [];\n\tconst len = Math.max(from.matched.length, to.matched.length);\n\tfor (let i = 0; i < len; i++) {\n\t\tconst recordFrom = from.matched[i];\n\t\tif (recordFrom) {\n\t\t\tif (to.matched.find((record) => isSameRouteRecord(record, recordFrom))) updatingRecords.push(recordFrom);\n\t\t\telse leavingRecords.push(recordFrom);\n\t\t}\n\t\tconst recordTo = to.matched[i];\n\t\tif (recordTo) {\n\t\t\tif (!from.matched.find((record) => isSameRouteRecord(record, recordTo))) enteringRecords.push(recordTo);\n\t\t}\n\t}\n\treturn [\n\t\tleavingRecords,\n\t\tupdatingRecords,\n\t\tenteringRecords\n\t];\n}\n//#endregion\n//#region src/devtools.ts\n/**\n* Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\n*\n* @param routeLocation - routeLocation to format\n* @param tooltip - optional tooltip\n* @returns a copy of the routeLocation\n*/\nfunction formatRouteLocation(routeLocation, tooltip) {\n\tconst copy = assign({}, routeLocation, { matched: routeLocation.matched.map((matched) => omit(matched, [\n\t\t\"instances\",\n\t\t\"children\",\n\t\t\"aliasOf\"\n\t])) });\n\treturn { _custom: {\n\t\ttype: null,\n\t\treadOnly: true,\n\t\tdisplay: routeLocation.fullPath,\n\t\ttooltip,\n\t\tvalue: copy\n\t} };\n}\nfunction formatDisplay(display) {\n\treturn { _custom: { display } };\n}\nlet routerId = 0;\nfunction addDevtools(app, router, matcher) {\n\tif (router.__hasDevtools) return;\n\trouter.__hasDevtools = true;\n\tconst id = routerId++;\n\tsetupDevtoolsPlugin({\n\t\tid: \"org.vuejs.router\" + (id ? \".\" + id : \"\"),\n\t\tlabel: \"Vue Router\",\n\t\tpackageName: \"vue-router\",\n\t\thomepage: \"https://router.vuejs.org\",\n\t\tlogo: \"https://router.vuejs.org/logo.png\",\n\t\tcomponentStateTypes: [\"Routing\"],\n\t\tapp\n\t}, (api) => {\n\t\tapi.on.inspectComponent((payload) => {\n\t\t\tif (payload.instanceData) payload.instanceData.state.push({\n\t\t\t\ttype: \"Routing\",\n\t\t\t\tkey: \"$route\",\n\t\t\t\teditable: false,\n\t\t\t\tvalue: formatRouteLocation(router.currentRoute.value, \"Current Route\")\n\t\t\t});\n\t\t});\n\t\tapi.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\n\t\t\tif (componentInstance.__vrv_devtools) {\n\t\t\t\tconst info = componentInstance.__vrv_devtools;\n\t\t\t\tnode.tags.push({\n\t\t\t\t\tlabel: (info.name ? `${info.name.toString()}: ` : \"\") + info.path,\n\t\t\t\t\ttextColor: 0,\n\t\t\t\t\ttooltip: \"This component is rendered by <router-view>\",\n\t\t\t\t\tbackgroundColor: PINK_500\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (isArray(componentInstance.__vrl_devtools)) {\n\t\t\t\tcomponentInstance.__devtoolsApi = api;\n\t\t\t\tcomponentInstance.__vrl_devtools.forEach((devtoolsData) => {\n\t\t\t\t\tlet label = devtoolsData.route.path;\n\t\t\t\t\tlet backgroundColor = ORANGE_400;\n\t\t\t\t\tlet tooltip = \"\";\n\t\t\t\t\tlet textColor = 0;\n\t\t\t\t\tif (devtoolsData.error) {\n\t\t\t\t\t\tlabel = devtoolsData.error;\n\t\t\t\t\t\tbackgroundColor = RED_100;\n\t\t\t\t\t\ttextColor = RED_700;\n\t\t\t\t\t} else if (devtoolsData.isExactActive) {\n\t\t\t\t\t\tbackgroundColor = LIME_500;\n\t\t\t\t\t\ttooltip = \"This is exactly active\";\n\t\t\t\t\t} else if (devtoolsData.isActive) {\n\t\t\t\t\t\tbackgroundColor = BLUE_600;\n\t\t\t\t\t\ttooltip = \"This link is active\";\n\t\t\t\t\t}\n\t\t\t\t\tnode.tags.push({\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\ttextColor,\n\t\t\t\t\t\ttooltip,\n\t\t\t\t\t\tbackgroundColor\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\twatch(router.currentRoute, () => {\n\t\t\trefreshRoutesView();\n\t\t\tapi.notifyComponentUpdate();\n\t\t\tapi.sendInspectorTree(routerInspectorId);\n\t\t\tapi.sendInspectorState(routerInspectorId);\n\t\t});\n\t\tconst navigationsLayerId = \"router:navigations:\" + id;\n\t\tapi.addTimelineLayer({\n\t\t\tid: navigationsLayerId,\n\t\t\tlabel: `Router${id ? \" \" + id : \"\"} Navigations`,\n\t\t\tcolor: 4237508\n\t\t});\n\t\trouter.onError((error, to) => {\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttitle: \"Error during Navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\tlogType: \"error\",\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\tdata: { error },\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tlet navigationId = 0;\n\t\trouter.beforeEach((to, from) => {\n\t\t\tconst data = {\n\t\t\t\tguard: formatDisplay(\"beforeEach\"),\n\t\t\t\tfrom: formatRouteLocation(from, \"Current Location during this navigation\"),\n\t\t\t\tto: formatRouteLocation(to, \"Target location\")\n\t\t\t};\n\t\t\tObject.defineProperty(to.meta, \"__navigationId\", { value: navigationId++ });\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\ttitle: \"Start of navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\tdata,\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\trouter.afterEach((to, from, failure) => {\n\t\t\tconst data = { guard: formatDisplay(\"afterEach\") };\n\t\t\tif (failure) {\n\t\t\t\tdata.failure = { _custom: {\n\t\t\t\t\ttype: Error,\n\t\t\t\t\treadOnly: true,\n\t\t\t\t\tdisplay: failure ? failure.message : \"\",\n\t\t\t\t\ttooltip: \"Navigation Failure\",\n\t\t\t\t\tvalue: failure\n\t\t\t\t} };\n\t\t\t\tdata.status = formatDisplay(\"❌\");\n\t\t\t} else data.status = formatDisplay(\"✅\");\n\t\t\tdata.from = formatRouteLocation(from, \"Current Location during this navigation\");\n\t\t\tdata.to = formatRouteLocation(to, \"Target location\");\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttitle: \"End of navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\tdata,\n\t\t\t\t\tlogType: failure ? \"warning\" : \"default\",\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\t/**\n\t\t* Inspector of Existing routes\n\t\t*/\n\t\tconst routerInspectorId = \"router-inspector:\" + id;\n\t\tapi.addInspector({\n\t\t\tid: routerInspectorId,\n\t\t\tlabel: \"Routes\" + (id ? \" \" + id : \"\"),\n\t\t\ticon: \"book\",\n\t\t\ttreeFilterPlaceholder: \"Search routes\"\n\t\t});\n\t\tfunction refreshRoutesView() {\n\t\t\tif (!activeRoutesPayload) return;\n\t\t\tconst payload = activeRoutesPayload;\n\t\t\tlet routes = matcher.getRoutes().filter((route) => !route.parent || !route.parent.record.components);\n\t\t\troutes.forEach(resetMatchStateOnRouteRecord);\n\t\t\tif (payload.filter) routes = routes.filter((route) => isRouteMatching(route, payload.filter.toLowerCase()));\n\t\t\troutes.forEach((route) => markRouteRecordActive(route, router.currentRoute.value));\n\t\t\tpayload.rootNodes = routes.map(formatRouteRecordForInspector);\n\t\t}\n\t\tlet activeRoutesPayload;\n\t\tapi.on.getInspectorTree((payload) => {\n\t\t\tactiveRoutesPayload = payload;\n\t\t\tif (payload.app === app && payload.inspectorId === routerInspectorId) refreshRoutesView();\n\t\t});\n\t\t/**\n\t\t* Display information about the currently selected route record\n\t\t*/\n\t\tapi.on.getInspectorState((payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === routerInspectorId) {\n\t\t\t\tconst route = matcher.getRoutes().find((route) => route.record.__vd_id === payload.nodeId);\n\t\t\t\tif (route) payload.state = { options: formatRouteRecordMatcherForStateInspector(route) };\n\t\t\t}\n\t\t});\n\t\tapi.sendInspectorTree(routerInspectorId);\n\t\tapi.sendInspectorState(routerInspectorId);\n\t});\n}\nfunction modifierForKey(key) {\n\tif (key.optional) return key.repeatable ? \"*\" : \"?\";\n\telse return key.repeatable ? \"+\" : \"\";\n}\nfunction formatRouteRecordMatcherForStateInspector(route) {\n\tconst { record } = route;\n\tconst fields = [{\n\t\teditable: false,\n\t\tkey: \"path\",\n\t\tvalue: record.path\n\t}];\n\tif (record.name != null) fields.push({\n\t\teditable: false,\n\t\tkey: \"name\",\n\t\tvalue: record.name\n\t});\n\tfields.push({\n\t\teditable: false,\n\t\tkey: \"regexp\",\n\t\tvalue: route.re\n\t});\n\tif (route.keys.length) fields.push({\n\t\teditable: false,\n\t\tkey: \"keys\",\n\t\tvalue: { _custom: {\n\t\t\ttype: null,\n\t\t\treadOnly: true,\n\t\t\tdisplay: route.keys.map((key) => `${key.name}${modifierForKey(key)}`).join(\" \"),\n\t\t\ttooltip: \"Param keys\",\n\t\t\tvalue: route.keys\n\t\t} }\n\t});\n\tif (record.redirect != null) fields.push({\n\t\teditable: false,\n\t\tkey: \"redirect\",\n\t\tvalue: record.redirect\n\t});\n\tif (route.alias.length) fields.push({\n\t\teditable: false,\n\t\tkey: \"aliases\",\n\t\tvalue: route.alias.map((alias) => alias.record.path)\n\t});\n\tif (Object.keys(route.record.meta).length) fields.push({\n\t\teditable: false,\n\t\tkey: \"meta\",\n\t\tvalue: route.record.meta\n\t});\n\tfields.push({\n\t\tkey: \"score\",\n\t\teditable: false,\n\t\tvalue: { _custom: {\n\t\t\ttype: null,\n\t\t\treadOnly: true,\n\t\t\tdisplay: route.score.map((score) => score.join(\", \")).join(\" | \"),\n\t\t\ttooltip: \"Score used to sort routes\",\n\t\t\tvalue: route.score\n\t\t} }\n\t});\n\treturn fields;\n}\n/**\n* Extracted from tailwind palette\n*/\nconst PINK_500 = 15485081;\nconst BLUE_600 = 2450411;\nconst LIME_500 = 8702998;\nconst CYAN_400 = 2282478;\nconst ORANGE_400 = 16486972;\nconst DARK = 6710886;\nconst RED_100 = 16704226;\nconst RED_700 = 12131356;\nfunction formatRouteRecordForInspector(route) {\n\tconst tags = [];\n\tconst { record } = route;\n\tif (record.name != null) tags.push({\n\t\tlabel: String(record.name),\n\t\ttextColor: 0,\n\t\tbackgroundColor: CYAN_400\n\t});\n\tif (record.aliasOf) tags.push({\n\t\tlabel: \"alias\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: ORANGE_400\n\t});\n\tif (route.__vd_match) tags.push({\n\t\tlabel: \"matches\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: PINK_500\n\t});\n\tif (route.__vd_exactActive) tags.push({\n\t\tlabel: \"exact\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: LIME_500\n\t});\n\tif (route.__vd_active) tags.push({\n\t\tlabel: \"active\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: BLUE_600\n\t});\n\tif (record.redirect) tags.push({\n\t\tlabel: typeof record.redirect === \"string\" ? `redirect: ${record.redirect}` : \"redirects\",\n\t\ttextColor: 16777215,\n\t\tbackgroundColor: DARK\n\t});\n\tlet id = record.__vd_id;\n\tif (id == null) {\n\t\tid = String(routeRecordId++);\n\t\trecord.__vd_id = id;\n\t}\n\treturn {\n\t\tid,\n\t\tlabel: record.path,\n\t\ttags,\n\t\tchildren: route.children.map(formatRouteRecordForInspector)\n\t};\n}\nlet routeRecordId = 0;\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\nfunction markRouteRecordActive(route, currentRoute) {\n\tconst isExactActive = currentRoute.matched.length && isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\n\troute.__vd_exactActive = route.__vd_active = isExactActive;\n\tif (!isExactActive) route.__vd_active = currentRoute.matched.some((match) => isSameRouteRecord(match, route.record));\n\troute.children.forEach((childRoute) => markRouteRecordActive(childRoute, currentRoute));\n}\nfunction resetMatchStateOnRouteRecord(route) {\n\troute.__vd_match = false;\n\troute.children.forEach(resetMatchStateOnRouteRecord);\n}\nfunction isRouteMatching(route, filter) {\n\tconst found = String(route.re).match(EXTRACT_REGEXP_RE);\n\troute.__vd_match = false;\n\tif (!found || found.length < 3) return false;\n\tif (new RegExp(found[1].replace(/\\$$/, \"\"), found[2]).test(filter)) {\n\t\troute.children.forEach((child) => isRouteMatching(child, filter));\n\t\tif (route.record.path !== \"/\" || filter === \"/\") {\n\t\t\troute.__vd_match = route.re.test(filter);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tconst path = route.record.path.toLowerCase();\n\tconst decodedPath = decode(path);\n\tif (!isAbsolutePath(filter) && (decodedPath.includes(filter) || path.includes(filter))) return true;\n\tif (decodedPath.startsWith(filter) || path.startsWith(filter)) return true;\n\tif (route.record.name && String(route.record.name).includes(filter)) return true;\n\treturn route.children.some((child) => isRouteMatching(child, filter));\n}\nfunction omit(obj, keys) {\n\tconst ret = {};\n\tfor (const key in obj) if (!keys.includes(key)) ret[key] = obj[key];\n\treturn ret;\n}\n//#endregion\nexport { PLUS_RE as A, isSameRouteLocation as C, resolveRelativePath as D, parseURL as E, encodePath as F, isBrowser as I, decode as M, encodeHash as N, stringifyURL as O, encodeParam as P, START_LOCATION_NORMALIZED as S, isSameRouteRecord as T, invalidateScrollPositions as _, loadRouteLocation as a, createHref as b, useCallbacks as c, stringifyQuery as d, isRouteLocation as f, getScrollKey as g, getSavedScrollPosition as h, guardToPromiseFn as i, commonEncode as j, stripBase as k, normalizeQuery as l, computeScrollPosition as m, extractChangingRecords as n, onBeforeRouteLeave as o, isRouteName as p, extractComponentsGuards as r, onBeforeRouteUpdate as s, addDevtools as t, parseQuery as u, saveScrollPosition as v, isSameRouteLocationParams as w, normalizeBase as x, scrollToPosition as y };\n","/*!\n* vue-router v5.4.0\n* (c) 2026 Eduardo San Martin Morote\n* @license MIT\n*/\nimport { C as isSameRouteLocation, E as parseURL, I as isBrowser, M as decode, N as encodeHash, O as stringifyURL, P as encodeParam, S as START_LOCATION_NORMALIZED, T as isSameRouteRecord, _ as invalidateScrollPositions, a as loadRouteLocation, b as createHref, c as useCallbacks, d as stringifyQuery, f as isRouteLocation, g as getScrollKey, h as getSavedScrollPosition, i as guardToPromiseFn, k as stripBase, l as normalizeQuery, m as computeScrollPosition, n as extractChangingRecords, o as onBeforeRouteLeave, p as isRouteName, r as extractComponentsGuards, s as onBeforeRouteUpdate, t as addDevtools, u as parseQuery, v as saveScrollPosition, w as isSameRouteLocationParams, x as normalizeBase, y as scrollToPosition } from \"./devtools-CxgSYwGp.js\";\nimport { _ as isArray, a as routerKey, b as mergeOptions, c as viewDepthKey, d as createRouterError, f as isNavigationFailure, g as isAbsolutePath, i as routeLocationKey, l as diagnostics, m as assign, n as useRouter, o as routerViewLocationKey, p as applyToParams, r as matchedRouteKey, s as routerViewOnRouteRenderedKey, t as useRoute, u as NavigationFailureType, x as noop } from \"./useApi-CUWMwLLw.js\";\nimport { computed, defineComponent, getCurrentInstance, h, inject, nextTick, provide, reactive, ref, shallowReactive, shallowRef, unref, watch, watchEffect } from \"vue\";\n//#region src/history/html5.ts\nlet createBaseLocation = () => location.protocol + \"//\" + location.host;\n/**\n* Creates a normalized history location from a window.location object\n* @param base - The base path\n* @param location - The window.location object\n*/\nfunction createCurrentLocation(base, location) {\n\tconst { pathname, search, hash } = location;\n\tconst hashPos = base.indexOf(\"#\");\n\tif (hashPos > -1) {\n\t\tlet slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1;\n\t\tlet pathFromHash = hash.slice(slicePos);\n\t\tif (pathFromHash[0] !== \"/\") pathFromHash = \"/\" + pathFromHash;\n\t\treturn stripBase(pathFromHash, \"\");\n\t}\n\treturn stripBase(pathname, base) + search + hash;\n}\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\n\tlet listeners = [];\n\tlet teardowns = [];\n\tlet pauseState = null;\n\tconst popStateHandler = ({ state }) => {\n\t\tconst to = createCurrentLocation(base, location);\n\t\tconst from = currentLocation.value;\n\t\tconst fromState = historyState.value;\n\t\tlet delta = 0;\n\t\tif (state) {\n\t\t\tcurrentLocation.value = to;\n\t\t\thistoryState.value = state;\n\t\t\tif (pauseState && pauseState === from) {\n\t\t\t\tpauseState = null;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdelta = fromState ? state.position - fromState.position : 0;\n\t\t} else replace(to);\n\t\tlisteners.forEach((listener) => {\n\t\t\tlistener(currentLocation.value, from, {\n\t\t\t\tdelta,\n\t\t\t\ttype: \"pop\",\n\t\t\t\tdirection: delta ? delta > 0 ? \"forward\" : \"back\" : \"\"\n\t\t\t});\n\t\t});\n\t};\n\tfunction pauseListeners() {\n\t\tpauseState = currentLocation.value;\n\t}\n\tfunction listen(callback) {\n\t\tlisteners.push(callback);\n\t\tconst teardown = () => {\n\t\t\tconst index = listeners.indexOf(callback);\n\t\t\tif (index > -1) listeners.splice(index, 1);\n\t\t};\n\t\tteardowns.push(teardown);\n\t\treturn teardown;\n\t}\n\tfunction beforeUnloadListener() {\n\t\tconst { history } = window;\n\t\tif (!history.state) return;\n\t\thistory.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), \"\");\n\t}\n\tfunction destroy() {\n\t\tfor (const teardown of teardowns) teardown();\n\t\tteardowns = [];\n\t\twindow.removeEventListener(\"popstate\", popStateHandler);\n\t\twindow.removeEventListener(\"pagehide\", beforeUnloadListener);\n\t}\n\twindow.addEventListener(\"popstate\", popStateHandler);\n\twindow.addEventListener(\"pagehide\", beforeUnloadListener);\n\treturn {\n\t\tpauseListeners,\n\t\tlisten,\n\t\tdestroy\n\t};\n}\n/**\n* Creates a state object\n*/\nfunction buildState(back, current, forward, replaced = false) {\n\treturn {\n\t\tback,\n\t\tcurrent,\n\t\tforward,\n\t\treplaced,\n\t\tposition: window.history.length,\n\t\tscroll: null\n\t};\n}\nfunction useHistoryStateNavigation(base) {\n\tconst { history, location } = window;\n\tconst currentLocation = { value: createCurrentLocation(base, location) };\n\tconst historyState = { value: history.state };\n\tif (!historyState.value) changeLocation(currentLocation.value, {\n\t\tback: null,\n\t\tcurrent: currentLocation.value,\n\t\tforward: null,\n\t\tposition: history.length - 1,\n\t\treplaced: true,\n\t\tscroll: null\n\t}, true);\n\tfunction changeLocation(to, state, replace) {\n\t\t/**\n\t\t* if a base tag is provided, and we are on a normal domain, we have to\n\t\t* respect the provided `base` attribute because pushState() will use it and\n\t\t* potentially erase anything before the `#` like at\n\t\t* https://github.com/vuejs/router/issues/685 where a base of\n\t\t* `/folder/#` but a base of `/` would erase the `/folder/` section. If\n\t\t* there is no host, the `` tag makes no sense and if there isn't a\n\t\t* base tag we can just use everything after the `#`.\n\t\t*/\n\t\tconst hashIndex = base.indexOf(\"#\");\n\t\tconst url = hashIndex > -1 ? (location.host && document.querySelector(\"base\") ? base : base.slice(hashIndex)) + to : createBaseLocation() + base + to;\n\t\ttry {\n\t\t\thistory[replace ? \"replaceState\" : \"pushState\"](state, \"\", url);\n\t\t\thistoryState.value = state;\n\t\t} catch (err) {\n\t\t\tif (process.env.NODE_ENV !== \"production\") diagnostics.VUE_ROUTER_R0120({ cause: err });\n\t\t\telse console.error(err);\n\t\t\tlocation[replace ? \"replace\" : \"assign\"](url);\n\t\t}\n\t}\n\tfunction replace(to, data) {\n\t\tconst state = assign({}, history.state, buildState(historyState.value.back, to, historyState.value.forward, true), data, { position: historyState.value.position });\n\t\tchangeLocation(to, state, true);\n\t\tinvalidateScrollPositions(state.position, true);\n\t\tcurrentLocation.value = to;\n\t}\n\tfunction push(to, data) {\n\t\tconst currentState = assign({}, historyState.value, history.state, {\n\t\t\tforward: to,\n\t\t\tscroll: computeScrollPosition()\n\t\t});\n\t\tif (process.env.NODE_ENV !== \"production\" && !history.state) diagnostics.VUE_ROUTER_R0121();\n\t\tchangeLocation(currentState.current, currentState, true);\n\t\tchangeLocation(to, assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data), false);\n\t\tinvalidateScrollPositions(currentState.position);\n\t\tcurrentLocation.value = to;\n\t}\n\treturn {\n\t\tlocation: currentLocation,\n\t\tstate: historyState,\n\t\tpush,\n\t\treplace\n\t};\n}\n/**\n* Creates an HTML5 history. Most common history for single page applications.\n*\n* @param base -\n*/\nfunction createWebHistory(base) {\n\tbase = normalizeBase(base);\n\tconst historyNavigation = useHistoryStateNavigation(base);\n\tconst historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\n\tfunction go(delta, triggerListeners = true) {\n\t\tif (!triggerListeners) historyListeners.pauseListeners();\n\t\thistory.go(delta);\n\t}\n\tconst routerHistory = assign({\n\t\tlocation: \"\",\n\t\tbase,\n\t\tgo,\n\t\tcreateHref: createHref.bind(null, base)\n\t}, historyNavigation, historyListeners);\n\tObject.defineProperty(routerHistory, \"location\", {\n\t\tenumerable: true,\n\t\tget: () => historyNavigation.location.value\n\t});\n\tObject.defineProperty(routerHistory, \"state\", {\n\t\tenumerable: true,\n\t\tget: () => historyNavigation.state.value\n\t});\n\treturn routerHistory;\n}\n//#endregion\n//#region src/history/hash.ts\n/**\n* Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\n* handle any URL is not possible.\n*\n* @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag\n* in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\n* calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything\n* after the `#`).\n*\n* @example\n* ```js\n* // at https://example.com/folder\n* createWebHashHistory() // gives a url of `https://example.com/folder#`\n* createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\n* // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\n* createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\n* // you should avoid doing this because it changes the original url and breaks copying urls\n* createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\n*\n* // at file:///usr/etc/folder/index.html\n* // for locations with no `host`, the base is ignored\n* createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\n* ```\n*/\nfunction createWebHashHistory(base) {\n\tbase = location.host ? base || location.pathname + location.search : \"\";\n\tif (!base.includes(\"#\")) base += \"#\";\n\tif (process.env.NODE_ENV !== \"production\" && !base.endsWith(\"#/\") && !base.endsWith(\"#\")) diagnostics.VUE_ROUTER_R0110({\n\t\tbase,\n\t\tsuggestion: base.replace(/#.*$/, \"#\")\n\t});\n\treturn createWebHistory(base);\n}\n//#endregion\n//#region src/history/memory.ts\n/**\n* Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\n* It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\n*\n* @param base - Base applied to all urls, defaults to '/'\n* @returns a history object that can be passed to the router constructor\n*/\nfunction createMemoryHistory(base = \"\") {\n\tlet listeners = [];\n\tlet queue = [[\"\", {}]];\n\tlet position = 0;\n\tbase = normalizeBase(base);\n\tfunction setLocation(location, state = {}) {\n\t\tposition++;\n\t\tif (position !== queue.length) queue.splice(position);\n\t\tqueue.push([location, state]);\n\t}\n\tfunction triggerListeners(to, from, { direction, delta }) {\n\t\tconst info = {\n\t\t\tdirection,\n\t\t\tdelta,\n\t\t\ttype: \"pop\"\n\t\t};\n\t\tfor (const callback of listeners) callback(to, from, info);\n\t}\n\tconst routerHistory = {\n\t\tlocation: \"\",\n\t\tstate: {},\n\t\tbase,\n\t\tcreateHref: createHref.bind(null, base),\n\t\treplace(to, state) {\n\t\t\tqueue.splice(position--, 1);\n\t\t\tsetLocation(to, state);\n\t\t},\n\t\tpush(to, state) {\n\t\t\tsetLocation(to, state);\n\t\t},\n\t\tlisten(callback) {\n\t\t\tlisteners.push(callback);\n\t\t\treturn () => {\n\t\t\t\tconst index = listeners.indexOf(callback);\n\t\t\t\tif (index > -1) listeners.splice(index, 1);\n\t\t\t};\n\t\t},\n\t\tdestroy() {\n\t\t\tlisteners = [];\n\t\t\tqueue = [[\"\", {}]];\n\t\t\tposition = 0;\n\t\t},\n\t\tgo(delta, shouldTrigger = true) {\n\t\t\tconst from = this.location;\n\t\t\tconst direction = delta < 0 ? \"back\" : \"forward\";\n\t\t\tposition = Math.max(0, Math.min(position + delta, queue.length - 1));\n\t\t\tif (shouldTrigger) triggerListeners(this.location, from, {\n\t\t\t\tdirection,\n\t\t\t\tdelta\n\t\t\t});\n\t\t}\n\t};\n\tObject.defineProperty(routerHistory, \"location\", {\n\t\tenumerable: true,\n\t\tget: () => queue[position][0]\n\t});\n\tObject.defineProperty(routerHistory, \"state\", {\n\t\tenumerable: true,\n\t\tget: () => queue[position][1]\n\t});\n\treturn routerHistory;\n}\n//#endregion\n//#region src/matcher/pathTokenizer.ts\nconst ROOT_TOKEN = {\n\ttype: 0,\n\tvalue: \"\"\n};\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\nfunction tokenizePath(path) {\n\tif (!path) return [[]];\n\tif (path === \"/\") return [[ROOT_TOKEN]];\n\tif (!isAbsolutePath(path)) throw new Error(process.env.NODE_ENV !== \"production\" ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".` : `Invalid path \"${path}\"`);\n\tfunction crash(message) {\n\t\tthrow new Error(`ERR (${state})/\"${buffer}\": ${message}`);\n\t}\n\tlet state = 0;\n\tlet previousState = state;\n\tconst tokens = [];\n\tlet segment;\n\tfunction finalizeSegment() {\n\t\tif (segment) tokens.push(segment);\n\t\tsegment = [];\n\t}\n\tlet i = 0;\n\tlet char;\n\tlet buffer = \"\";\n\tlet customRe = \"\";\n\tfunction consumeBuffer() {\n\t\tif (!buffer) return;\n\t\tif (state === 0) segment.push({\n\t\t\ttype: 0,\n\t\t\tvalue: buffer\n\t\t});\n\t\telse if (state === 1 || state === 2 || state === 3) {\n\t\t\tif (segment.length > 1 && (char === \"*\" || char === \"+\")) crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\n\t\t\tsegment.push({\n\t\t\t\ttype: 1,\n\t\t\t\tvalue: buffer,\n\t\t\t\tregexp: customRe,\n\t\t\t\trepeatable: char === \"*\" || char === \"+\",\n\t\t\t\toptional: char === \"*\" || char === \"?\"\n\t\t\t});\n\t\t} else crash(\"Invalid state to consume buffer\");\n\t\tbuffer = \"\";\n\t}\n\tfunction addCharToBuffer() {\n\t\tbuffer += char;\n\t}\n\twhile (i < path.length) {\n\t\tchar = path[i++];\n\t\tswitch (state) {\n\t\t\tcase 0:\n\t\t\t\tif (char === \"\\\\\") {\n\t\t\t\t\tpreviousState = state;\n\t\t\t\t\tstate = 4;\n\t\t\t\t} else if (char === \"/\") {\n\t\t\t\t\tif (buffer) consumeBuffer();\n\t\t\t\t\tfinalizeSegment();\n\t\t\t\t} else if (char === \":\") {\n\t\t\t\t\tconsumeBuffer();\n\t\t\t\t\tstate = 1;\n\t\t\t\t} else addCharToBuffer();\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\taddCharToBuffer();\n\t\t\t\tstate = previousState;\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tif (char === \"(\") state = 2;\n\t\t\t\telse if (VALID_PARAM_RE.test(char)) addCharToBuffer();\n\t\t\t\telse {\n\t\t\t\t\tconsumeBuffer();\n\t\t\t\t\tstate = 0;\n\t\t\t\t\tif (char !== \"*\" && char !== \"?\" && char !== \"+\") i--;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tif (char === \")\") {\n\t\t\t\t\tif (customRe[customRe.length - 1] == \"\\\\\") customRe = customRe.slice(0, -1) + char;\n\t\t\t\t\telse state = 3;\n\t\t\t\t} else customRe += char;\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tconsumeBuffer();\n\t\t\t\tstate = 0;\n\t\t\t\tif (char !== \"*\" && char !== \"?\" && char !== \"+\") i--;\n\t\t\t\tcustomRe = \"\";\n\t\t\t\tbreak;\n\t\t\tdefault: crash(\"Unknown state\");\n\t\t}\n\t}\n\tif (state === 2) crash(`Unfinished custom RegExp for param \"${buffer}\"`);\n\tconsumeBuffer();\n\tfinalizeSegment();\n\treturn tokens;\n}\n//#endregion\n//#region src/matcher/pathParserRanker.ts\nconst BASE_PARAM_PATTERN = \"[^/]+?\";\nconst BASE_PATH_PARSER_OPTIONS = {\n\tsensitive: false,\n\tstrict: false,\n\tstart: true,\n\tend: true\n};\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\n/**\n* Creates a path parser from an array of Segments (a segment is an array of Tokens)\n*\n* @param segments - array of segments returned by tokenizePath\n* @param extraOptions - optional options for the regexp\n* @returns a PathParser\n*/\nfunction tokensToParser(segments, extraOptions) {\n\tconst options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\n\tconst score = [];\n\tlet pattern = options.start ? \"^\" : \"\";\n\tconst keys = [];\n\tfor (const segment of segments) {\n\t\tconst segmentScores = segment.length ? [] : [90];\n\t\tif (options.strict && !segment.length) pattern += \"/\";\n\t\tfor (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\n\t\t\tconst token = segment[tokenIndex];\n\t\t\tlet subSegmentScore = 40 + (options.sensitive ? .25 : 0);\n\t\t\tif (token.type === 0) {\n\t\t\t\tif (!tokenIndex) pattern += \"/\";\n\t\t\t\tpattern += token.value.replace(REGEX_CHARS_RE, \"\\\\$&\");\n\t\t\t\tsubSegmentScore += 40;\n\t\t\t} else if (token.type === 1) {\n\t\t\t\tconst { value, repeatable, optional, regexp } = token;\n\t\t\t\tkeys.push({\n\t\t\t\t\tname: value,\n\t\t\t\t\trepeatable,\n\t\t\t\t\toptional\n\t\t\t\t});\n\t\t\t\tconst re = regexp ? regexp : BASE_PARAM_PATTERN;\n\t\t\t\tif (re !== BASE_PARAM_PATTERN) {\n\t\t\t\t\tsubSegmentScore += 10;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tnew RegExp(`(${re})`);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tthrow new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` + err.message);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlet subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\n\t\t\t\tif (!tokenIndex) subPattern = optional && segment.length < 2 ? `(?:/${subPattern})` : \"/\" + subPattern;\n\t\t\t\tif (optional) subPattern += \"?\";\n\t\t\t\tpattern += subPattern;\n\t\t\t\tsubSegmentScore += 20;\n\t\t\t\tif (optional) subSegmentScore += -8;\n\t\t\t\tif (repeatable) subSegmentScore += -20;\n\t\t\t\tif (re === \".*\") subSegmentScore += -50;\n\t\t\t}\n\t\t\tsegmentScores.push(subSegmentScore);\n\t\t}\n\t\tscore.push(segmentScores);\n\t}\n\tif (options.strict && options.end) {\n\t\tconst i = score.length - 1;\n\t\tscore[i][score[i].length - 1] += .7000000000000001;\n\t}\n\tif (!options.strict) pattern += \"/?\";\n\tif (options.end) pattern += \"$\";\n\telse if (options.strict && !pattern.endsWith(\"/\")) pattern += \"(?:/|$)\";\n\tconst re = new RegExp(pattern, options.sensitive ? \"\" : \"i\");\n\tfunction parse(path) {\n\t\tconst match = path.match(re);\n\t\tconst params = {};\n\t\tif (!match) return null;\n\t\tfor (let i = 1; i < match.length; i++) {\n\t\t\tconst value = match[i] || \"\";\n\t\t\tconst key = keys[i - 1];\n\t\t\tparams[key.name] = value && key.repeatable ? value.split(\"/\") : value;\n\t\t}\n\t\treturn params;\n\t}\n\tfunction stringify(params) {\n\t\tlet path = \"\";\n\t\tlet avoidDuplicatedSlash = false;\n\t\tfor (const segment of segments) {\n\t\t\tif (!avoidDuplicatedSlash || !path.endsWith(\"/\")) path += \"/\";\n\t\t\tavoidDuplicatedSlash = false;\n\t\t\tfor (const token of segment) if (token.type === 0) path += token.value;\n\t\t\telse if (token.type === 1) {\n\t\t\t\tconst { value, repeatable, optional } = token;\n\t\t\t\tconst param = value in params ? params[value] : \"\";\n\t\t\t\tif (isArray(param) && !repeatable) throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\n\t\t\t\tconst text = isArray(param) ? param.join(\"/\") : param;\n\t\t\t\tif (!text) {\n\t\t\t\t\tif (optional) {\n\t\t\t\t\t\tif (segment.length < 2) {\n\t\t\t\t\t\t\tif (path.endsWith(\"/\")) path = path.slice(0, -1);\n\t\t\t\t\t\t\telse avoidDuplicatedSlash = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else throw new Error(`Missing required param \"${value}\"`);\n\t\t\t\t}\n\t\t\t\tpath += text;\n\t\t\t}\n\t\t}\n\t\treturn path || \"/\";\n\t}\n\treturn {\n\t\tre,\n\t\tscore,\n\t\tkeys,\n\t\tparse,\n\t\tstringify\n\t};\n}\n/**\n* Compares an array of numbers as used in PathParser.score and returns a\n* number. This function can be used to `sort` an array\n*\n* @param a - first array of numbers\n* @param b - second array of numbers\n* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n* should be sorted first\n*/\nfunction compareScoreArray(a, b) {\n\tlet i = 0;\n\twhile (i < a.length && i < b.length) {\n\t\tconst diff = b[i] - a[i];\n\t\tif (diff) return diff;\n\t\ti++;\n\t}\n\tif (a.length < b.length) return a.length === 1 && a[0] === 80 ? -1 : 1;\n\telse if (a.length > b.length) return b.length === 1 && b[0] === 80 ? 1 : -1;\n\treturn 0;\n}\n/**\n* Compare function that can be used with `sort` to sort an array of PathParser\n*\n* @param a - first PathParser\n* @param b - second PathParser\n* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n*/\nfunction comparePathParserScore(a, b) {\n\tlet i = 0;\n\tconst aScore = a.score;\n\tconst bScore = b.score;\n\twhile (i < aScore.length && i < bScore.length) {\n\t\tconst comp = compareScoreArray(aScore[i], bScore[i]);\n\t\tif (comp) return comp;\n\t\ti++;\n\t}\n\tif (Math.abs(bScore.length - aScore.length) === 1) {\n\t\tif (isLastScoreNegative(aScore)) return 1;\n\t\tif (isLastScoreNegative(bScore)) return -1;\n\t}\n\treturn bScore.length - aScore.length;\n}\n/**\n* This allows detecting splats at the end of a path: /home/:id(.*)*\n*\n* @param score - score to check\n* @returns true if the last entry is negative\n*/\nfunction isLastScoreNegative(score) {\n\tconst last = score[score.length - 1];\n\treturn score.length > 0 && last[last.length - 1] < 0;\n}\nconst PATH_PARSER_OPTIONS_DEFAULTS = {\n\tstrict: false,\n\tend: true,\n\tsensitive: false\n};\n//#endregion\n//#region src/matcher/pathMatcher.ts\nfunction createRouteRecordMatcher(record, parent, options) {\n\tconst parser = tokensToParser(tokenizePath(record.path), options);\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\tconst existingKeys = /* @__PURE__ */ new Set();\n\t\tfor (const key of parser.keys) {\n\t\t\tif (existingKeys.has(key.name)) diagnostics.VUE_ROUTER_R0090({\n\t\t\t\tname: key.name,\n\t\t\t\tpath: record.path\n\t\t\t});\n\t\t\texistingKeys.add(key.name);\n\t\t}\n\t}\n\tconst matcher = assign(parser, {\n\t\trecord,\n\t\tparent,\n\t\tchildren: [],\n\t\talias: []\n\t});\n\tif (parent) {\n\t\tif (!matcher.record.aliasOf === !parent.record.aliasOf) parent.children.push(matcher);\n\t}\n\treturn matcher;\n}\n//#endregion\n//#region src/matcher/index.ts\n/**\n* Creates a Router Matcher.\n*\n* @internal\n* @param routes - array of initial routes\n* @param globalOptions - global route options\n*/\nfunction createRouterMatcher(routes, globalOptions) {\n\tconst matchers = [];\n\tconst matcherMap = /* @__PURE__ */ new Map();\n\tglobalOptions = mergeOptions(PATH_PARSER_OPTIONS_DEFAULTS, globalOptions);\n\tfunction getRecordMatcher(name) {\n\t\treturn matcherMap.get(name);\n\t}\n\tfunction addRoute(record, parent, originalRecord) {\n\t\tconst isRootAdd = !originalRecord;\n\t\tconst mainNormalizedRecord = normalizeRouteRecord(record);\n\t\tif (process.env.NODE_ENV !== \"production\") checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\n\t\tmainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\n\t\tconst options = mergeOptions(globalOptions, record);\n\t\tconst normalizedRecords = [mainNormalizedRecord];\n\t\tif (\"alias\" in record) {\n\t\t\tconst aliases = typeof record.alias === \"string\" ? [record.alias] : record.alias;\n\t\t\tfor (const alias of aliases) normalizedRecords.push(normalizeRouteRecord(assign({}, mainNormalizedRecord, {\n\t\t\t\tcomponents: originalRecord ? originalRecord.record.components : mainNormalizedRecord.components,\n\t\t\t\tpath: alias,\n\t\t\t\taliasOf: originalRecord ? originalRecord.record : mainNormalizedRecord\n\t\t\t})));\n\t\t}\n\t\tlet matcher;\n\t\tlet originalMatcher;\n\t\tfor (const normalizedRecord of normalizedRecords) {\n\t\t\tconst { path } = normalizedRecord;\n\t\t\tif (parent && !isAbsolutePath(path)) {\n\t\t\t\tconst parentPath = parent.record.path;\n\t\t\t\tconst connectingSlash = parentPath[parentPath.length - 1] === \"/\" ? \"\" : \"/\";\n\t\t\t\tnormalizedRecord.path = parent.record.path + (path && connectingSlash + path);\n\t\t\t}\n\t\t\tif (process.env.NODE_ENV !== \"production\" && normalizedRecord.path === \"*\") throw new Error(\"Catch all routes (\\\"*\\\") must now be defined using a param with a custom regexp.\\nSee more at https://router.vuejs.org/guide/migration/#Removed-star-or-catch-all-routes.\");\n\t\t\tmatcher = createRouteRecordMatcher(normalizedRecord, parent, options);\n\t\t\tif (process.env.NODE_ENV !== \"production\" && parent && isAbsolutePath(path)) checkMissingParamsInAbsolutePath(matcher, parent);\n\t\t\tif (originalRecord) {\n\t\t\t\toriginalRecord.alias.push(matcher);\n\t\t\t\tif (process.env.NODE_ENV !== \"production\") checkSameParams(originalRecord, matcher);\n\t\t\t} else {\n\t\t\t\toriginalMatcher = originalMatcher || matcher;\n\t\t\t\tif (originalMatcher !== matcher) originalMatcher.alias.push(matcher);\n\t\t\t\tif (isRootAdd && record.name && !isAliasRecord(matcher)) {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") checkSameNameAsAncestor(record, parent);\n\t\t\t\t\tremoveRoute(record.name);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (isMatchable(matcher)) insertMatcher(matcher);\n\t\t\tif (mainNormalizedRecord.children) {\n\t\t\t\tconst children = mainNormalizedRecord.children;\n\t\t\t\tfor (let i = 0; i < children.length; i++) addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\n\t\t\t}\n\t\t\toriginalRecord = originalRecord || matcher;\n\t\t}\n\t\treturn originalMatcher ? () => {\n\t\t\tremoveRoute(originalMatcher);\n\t\t} : noop;\n\t}\n\tfunction removeRoute(matcherRef) {\n\t\tif (isRouteName(matcherRef)) {\n\t\t\tconst matcher = matcherMap.get(matcherRef);\n\t\t\tif (matcher) {\n\t\t\t\tmatcherMap.delete(matcherRef);\n\t\t\t\tmatchers.splice(matchers.indexOf(matcher), 1);\n\t\t\t\tmatcher.children.forEach(removeRoute);\n\t\t\t\tmatcher.alias.forEach(removeRoute);\n\t\t\t}\n\t\t} else {\n\t\t\tconst index = matchers.indexOf(matcherRef);\n\t\t\tif (index > -1) {\n\t\t\t\tmatchers.splice(index, 1);\n\t\t\t\tif (matcherRef.record.name) matcherMap.delete(matcherRef.record.name);\n\t\t\t\tmatcherRef.children.forEach(removeRoute);\n\t\t\t\tmatcherRef.alias.forEach(removeRoute);\n\t\t\t}\n\t\t}\n\t}\n\tfunction getRoutes() {\n\t\treturn matchers;\n\t}\n\tfunction insertMatcher(matcher) {\n\t\tconst index = findInsertionIndex(matcher, matchers);\n\t\tmatchers.splice(index, 0, matcher);\n\t\tif (matcher.record.name && !isAliasRecord(matcher)) matcherMap.set(matcher.record.name, matcher);\n\t}\n\tfunction resolve(location, currentLocation) {\n\t\tlet matcher;\n\t\tlet params = {};\n\t\tlet path;\n\t\tlet name;\n\t\tif (\"name\" in location && location.name) {\n\t\t\tmatcher = matcherMap.get(location.name);\n\t\t\tif (!matcher) throw createRouterError(1, { location });\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tconst invalidParams = Object.keys(location.params || {}).filter((paramName) => !matcher.keys.find((k) => k.name === paramName));\n\t\t\t\tif (invalidParams.length) {\n\t\t\t\t\tconst isInherited = !matcher.keys.length && invalidParams.some((name) => name in currentLocation.params);\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0100({\n\t\t\t\t\t\tparams: invalidParams.join(\"\\\", \\\"\"),\n\t\t\t\t\t\tinherited: isInherited ? ` If you are using a catch-all route with a named redirect, pass an empty \\`params\\` object: \\`redirect: { name: '...', params: {} }\\`.` : \"\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tname = matcher.record.name;\n\t\t\tparams = assign(pickParams(currentLocation.params, matcher.keys.filter((k) => !k.optional).concat(matcher.parent ? matcher.parent.keys.filter((k) => k.optional) : []).map((k) => k.name)), location.params && pickParams(location.params, matcher.keys.map((k) => k.name)));\n\t\t\tpath = matcher.stringify(params);\n\t\t} else if (location.path != null) {\n\t\t\tpath = location.path;\n\t\t\tif (process.env.NODE_ENV !== \"production\" && !isAbsolutePath(path)) diagnostics.VUE_ROUTER_R0101({ path });\n\t\t\tmatcher = matchers.find((m) => m.re.test(path));\n\t\t\tif (matcher) {\n\t\t\t\tparams = matcher.parse(path);\n\t\t\t\tname = matcher.record.name;\n\t\t\t\tmatcher.keys.forEach((key) => {\n\t\t\t\t\tif (key.optional && !params[key.name]) delete params[key.name];\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tmatcher = currentLocation.name ? matcherMap.get(currentLocation.name) : matchers.find((m) => m.re.test(currentLocation.path));\n\t\t\tif (!matcher) throw createRouterError(1, {\n\t\t\t\tlocation,\n\t\t\t\tcurrentLocation\n\t\t\t});\n\t\t\tname = matcher.record.name;\n\t\t\tparams = assign({}, currentLocation.params, location.params);\n\t\t\tpath = matcher.stringify(params);\n\t\t}\n\t\tconst matched = [];\n\t\tlet parentMatcher = matcher;\n\t\twhile (parentMatcher) {\n\t\t\tmatched.unshift(parentMatcher.record);\n\t\t\tparentMatcher = parentMatcher.parent;\n\t\t}\n\t\treturn {\n\t\t\tname,\n\t\t\tpath,\n\t\t\tparams,\n\t\t\tmatched,\n\t\t\tmeta: mergeMetaFields(matched)\n\t\t};\n\t}\n\troutes.forEach((route) => addRoute(route));\n\tfunction clearRoutes() {\n\t\tmatchers.length = 0;\n\t\tmatcherMap.clear();\n\t}\n\treturn {\n\t\taddRoute,\n\t\tresolve,\n\t\tremoveRoute,\n\t\tclearRoutes,\n\t\tgetRoutes,\n\t\tgetRecordMatcher\n\t};\n}\n/**\n* Picks an object param to contain only specified keys.\n*\n* @param params - params object to pick from\n* @param keys - keys to pick\n*/\nfunction pickParams(params, keys) {\n\tconst newParams = {};\n\tfor (const key of keys) if (key in params) newParams[key] = params[key];\n\treturn newParams;\n}\n/**\n* Normalizes a RouteRecordRaw. Creates a copy\n*\n* @param record\n* @returns the normalized version\n*/\nfunction normalizeRouteRecord(record) {\n\tconst normalized = {\n\t\tpath: record.path,\n\t\tredirect: record.redirect,\n\t\tname: record.name,\n\t\tmeta: record.meta || {},\n\t\taliasOf: record.aliasOf,\n\t\tbeforeEnter: record.beforeEnter,\n\t\tprops: normalizeRecordProps(record),\n\t\tchildren: record.children || [],\n\t\tinstances: {},\n\t\tleaveGuards: /* @__PURE__ */ new Set(),\n\t\tupdateGuards: /* @__PURE__ */ new Set(),\n\t\tenterCallbacks: {},\n\t\tcomponents: \"components\" in record ? record.components || null : record.component && { default: record.component }\n\t};\n\tObject.defineProperty(normalized, \"mods\", { value: {} });\n\treturn normalized;\n}\n/**\n* Normalize the optional `props` in a record to always be an object similar to\n* components. Also accept a boolean for components.\n* @param record\n*/\nfunction normalizeRecordProps(record) {\n\tconst propsObject = {};\n\tconst props = record.props || false;\n\tif (\"component\" in record) propsObject.default = props;\n\telse for (const name in record.components) propsObject[name] = typeof props === \"object\" ? props[name] : props;\n\treturn propsObject;\n}\n/**\n* Checks if a record or any of its parent is an alias\n* @param record\n*/\nfunction isAliasRecord(record) {\n\twhile (record) {\n\t\tif (record.record.aliasOf) return true;\n\t\trecord = record.parent;\n\t}\n\treturn false;\n}\n/**\n* Merge meta fields of an array of records\n*\n* @param matched - array of matched records\n*/\nfunction mergeMetaFields(matched) {\n\treturn matched.reduce((meta, record) => assign(meta, record.meta), {});\n}\nfunction isSameParam(a, b) {\n\treturn a.name === b.name && a.optional === b.optional && a.repeatable === b.repeatable;\n}\n/**\n* Check if a path and its alias have the same required params\n*\n* @param a - original record\n* @param b - alias record\n*/\nfunction checkSameParams(a, b) {\n\tfor (const key of a.keys) if (!key.optional && !b.keys.find(isSameParam.bind(null, key))) {\n\t\tdiagnostics.VUE_ROUTER_R0102({\n\t\t\talias: b.record.path,\n\t\t\toriginal: a.record.path,\n\t\t\tname: key.name\n\t\t});\n\t\treturn;\n\t}\n\tfor (const key of b.keys) if (!key.optional && !a.keys.find(isSameParam.bind(null, key))) {\n\t\tdiagnostics.VUE_ROUTER_R0102({\n\t\t\talias: b.record.path,\n\t\t\toriginal: a.record.path,\n\t\t\tname: key.name\n\t\t});\n\t\treturn;\n\t}\n}\n/**\n* A route with a name and a child with an empty path without a name should warn when adding the route\n*\n* @param mainNormalizedRecord - RouteRecordNormalized\n* @param parent - RouteRecordMatcher\n*/\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\n\tif (parent && parent.record.name && !mainNormalizedRecord.name && !mainNormalizedRecord.path && mainNormalizedRecord.children.length === 0) diagnostics.VUE_ROUTER_R0103({ name: String(parent.record.name) });\n}\nfunction checkSameNameAsAncestor(record, parent) {\n\tfor (let ancestor = parent; ancestor; ancestor = ancestor.parent) if (ancestor.record.name === record.name) throw new Error(`A route named \"${String(record.name)}\" has been added as a ${parent === ancestor ? \"child\" : \"descendant\"} of a route with the same name. Route names must be unique and a nested route cannot use the same name as an ancestor.`);\n}\nfunction checkMissingParamsInAbsolutePath(record, parent) {\n\tfor (const key of parent.keys) if (!record.keys.find(isSameParam.bind(null, key))) {\n\t\tdiagnostics.VUE_ROUTER_R0104({\n\t\t\tpath: record.record.path,\n\t\t\tname: key.name,\n\t\t\tparent: parent.record.path\n\t\t});\n\t\treturn;\n\t}\n}\n/**\n* Performs a binary search to find the correct insertion index for a new matcher.\n*\n* Matchers are primarily sorted by their score. If scores are tied then we also consider parent/child relationships,\n* with descendants coming before ancestors. If there's still a tie, new routes are inserted after existing routes.\n*\n* @param matcher - new matcher to be inserted\n* @param matchers - existing matchers\n*/\nfunction findInsertionIndex(matcher, matchers) {\n\tlet lower = 0;\n\tlet upper = matchers.length;\n\twhile (lower !== upper) {\n\t\tconst mid = lower + upper >> 1;\n\t\tif (comparePathParserScore(matcher, matchers[mid]) < 0) upper = mid;\n\t\telse lower = mid + 1;\n\t}\n\tconst insertionAncestor = getInsertionAncestor(matcher);\n\tif (insertionAncestor) {\n\t\tupper = matchers.lastIndexOf(insertionAncestor, upper - 1);\n\t\tif (process.env.NODE_ENV !== \"production\" && upper < 0) diagnostics.VUE_ROUTER_R0105({\n\t\t\tancestor: insertionAncestor.record.path,\n\t\t\trecord: matcher.record.path\n\t\t});\n\t}\n\treturn upper;\n}\nfunction getInsertionAncestor(matcher) {\n\tlet ancestor = matcher;\n\twhile (ancestor = ancestor.parent) if (isMatchable(ancestor) && comparePathParserScore(matcher, ancestor) === 0) return ancestor;\n}\n/**\n* Checks if a matcher can be reachable. This means if it's possible to reach it as a route. For example, routes without\n* a component, or name, or redirect, are just used to group other routes.\n* @param matcher\n* @param matcher.record record of the matcher\n* @returns\n*/\nfunction isMatchable({ record }) {\n\treturn !!(record.name || record.components && Object.keys(record.components).length || record.redirect);\n}\n//#endregion\n//#region src/RouterLink.ts\n/**\n* Returns the internal behavior of a {@link RouterLink} without the rendering part.\n*\n* @param props - a `to` location and an optional `replace` flag\n*/\nfunction useLink(props) {\n\tconst router = inject(routerKey);\n\tconst currentRoute = inject(routeLocationKey);\n\tlet hasPrevious = false;\n\tlet previousTo = null;\n\tconst route = computed(() => {\n\t\tconst to = unref(props.to);\n\t\tif (process.env.NODE_ENV !== \"production\" && (!hasPrevious || to !== previousTo)) {\n\t\t\tif (!isRouteLocation(to)) diagnostics.VUE_ROUTER_R0050({ to });\n\t\t\tpreviousTo = to;\n\t\t\thasPrevious = true;\n\t\t}\n\t\treturn router.resolve(to);\n\t});\n\tconst activeRecordIndex = computed(() => {\n\t\tconst { matched } = route.value;\n\t\tconst { length } = matched;\n\t\tconst routeMatched = matched[length - 1];\n\t\tconst currentMatched = currentRoute.matched;\n\t\tif (!routeMatched || !currentMatched.length) return -1;\n\t\tconst index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\n\t\tif (index > -1) return index;\n\t\tconst parentRecordPath = getOriginalPath(matched[length - 2]);\n\t\treturn length > 1 && getOriginalPath(routeMatched) === parentRecordPath && currentMatched[currentMatched.length - 1].path !== parentRecordPath ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2])) : index;\n\t});\n\tconst isActive = computed(() => activeRecordIndex.value > -1 && includesParams(currentRoute.params, route.value.params));\n\tconst isExactActive = computed(() => activeRecordIndex.value > -1 && activeRecordIndex.value === currentRoute.matched.length - 1 && isSameRouteLocationParams(currentRoute.params, route.value.params));\n\tfunction navigate(e = {}) {\n\t\tif (guardEvent(e)) {\n\t\t\tconst p = router[unref(props.replace) ? \"replace\" : \"push\"](unref(props.to)).catch(noop);\n\t\t\tif (props.viewTransition && typeof document !== \"undefined\" && \"startViewTransition\" in document) document.startViewTransition(() => p);\n\t\t\treturn p;\n\t\t}\n\t\treturn Promise.resolve();\n\t}\n\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n\t\tconst instance = getCurrentInstance();\n\t\tif (instance) {\n\t\t\tconst linkContextDevtools = {\n\t\t\t\troute: route.value,\n\t\t\t\tisActive: isActive.value,\n\t\t\t\tisExactActive: isExactActive.value,\n\t\t\t\terror: null\n\t\t\t};\n\t\t\tinstance.__vrl_devtools = instance.__vrl_devtools || [];\n\t\t\tinstance.__vrl_devtools.push(linkContextDevtools);\n\t\t\twatchEffect(() => {\n\t\t\t\tlinkContextDevtools.route = route.value;\n\t\t\t\tlinkContextDevtools.isActive = isActive.value;\n\t\t\t\tlinkContextDevtools.isExactActive = isExactActive.value;\n\t\t\t\tlinkContextDevtools.error = isRouteLocation(unref(props.to)) ? null : \"Invalid \\\"to\\\" value\";\n\t\t\t}, { flush: \"post\" });\n\t\t}\n\t}\n\t/**\n\t* NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\n\t*/\n\treturn {\n\t\troute,\n\t\thref: computed(() => route.value.href),\n\t\tisActive,\n\t\tisExactActive,\n\t\tnavigate\n\t};\n}\nfunction preferSingleVNode(vnodes) {\n\treturn vnodes.length === 1 ? vnodes[0] : vnodes;\n}\n/**\n* Component to render a link that triggers a navigation on click.\n*/\nconst RouterLink = /* @__PURE__ */ defineComponent({\n\tname: \"RouterLink\",\n\tcompatConfig: { MODE: 3 },\n\tprops: {\n\t\tto: {\n\t\t\ttype: [String, Object],\n\t\t\trequired: true\n\t\t},\n\t\treplace: Boolean,\n\t\tactiveClass: String,\n\t\texactActiveClass: String,\n\t\tcustom: Boolean,\n\t\tariaCurrentValue: {\n\t\t\ttype: String,\n\t\t\tdefault: \"page\"\n\t\t},\n\t\tviewTransition: Boolean\n\t},\n\tuseLink,\n\tsetup(props, { slots }) {\n\t\tconst link = reactive(useLink(props));\n\t\tconst { options } = inject(routerKey);\n\t\tconst elClass = computed(() => ({\n\t\t\t[getLinkClass(props.activeClass, options.linkActiveClass, \"router-link-active\")]: link.isActive,\n\t\t\t[getLinkClass(props.exactActiveClass, options.linkExactActiveClass, \"router-link-exact-active\")]: link.isExactActive\n\t\t}));\n\t\treturn () => {\n\t\t\tconst children = slots.default && preferSingleVNode(slots.default(link));\n\t\t\treturn props.custom ? children : h(\"a\", {\n\t\t\t\t\"aria-current\": link.isExactActive ? props.ariaCurrentValue : null,\n\t\t\t\thref: link.href,\n\t\t\t\tonClick: link.navigate,\n\t\t\t\tclass: elClass.value\n\t\t\t}, children);\n\t\t};\n\t}\n});\nfunction guardEvent(e) {\n\tif (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) return;\n\tif (e.defaultPrevented) return;\n\tif (e.button !== void 0 && e.button !== 0) return;\n\tif (e.currentTarget && e.currentTarget.getAttribute) {\n\t\tconst target = e.currentTarget.getAttribute(\"target\");\n\t\tif (/\\b_blank\\b/i.test(target)) return;\n\t}\n\tif (e.preventDefault) e.preventDefault();\n\treturn true;\n}\nfunction includesParams(outer, inner) {\n\tfor (const key in inner) {\n\t\tconst innerValue = inner[key];\n\t\tconst outerValue = outer[key];\n\t\tif (isArray(innerValue)) {\n\t\t\tif (!isArray(outerValue) || outerValue.length !== innerValue.length || innerValue.some((value, i) => value.valueOf() !== outerValue[i].valueOf())) return false;\n\t\t} else if (innerValue !== outerValue) return false;\n\t}\n\treturn true;\n}\n/**\n* Get the original path value of a record by following its aliasOf\n* @param record\n*/\nfunction getOriginalPath(record) {\n\treturn record ? record.aliasOf ? record.aliasOf.path : record.path : \"\";\n}\n/**\n* Utility class to get the active class based on defaults.\n* @param propClass\n* @param globalClass\n* @param defaultClass\n*/\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null ? propClass : globalClass != null ? globalClass : defaultClass;\n//#endregion\n//#region src/RouterView.ts\nconst RouterViewImpl = /*#__PURE__*/ defineComponent({\n\tname: \"RouterView\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: \"default\"\n\t\t},\n\t\troute: Object\n\t},\n\tcompatConfig: { MODE: 3 },\n\tsetup(props, { attrs, slots }) {\n\t\tprocess.env.NODE_ENV !== \"production\" && warnDeprecatedUsage();\n\t\tconst injectedRoute = inject(routerViewLocationKey);\n\t\tconst routeToDisplay = computed(() => props.route || injectedRoute.value);\n\t\tconst injectedDepth = inject(viewDepthKey, 0);\n\t\tconst depth = computed(() => {\n\t\t\tlet initialDepth = unref(injectedDepth);\n\t\t\tconst { matched } = routeToDisplay.value;\n\t\t\tlet matchedRoute;\n\t\t\twhile ((matchedRoute = matched[initialDepth]) && !matchedRoute.components) initialDepth++;\n\t\t\treturn initialDepth;\n\t\t});\n\t\tconst matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\n\t\tprovide(viewDepthKey, computed(() => depth.value + 1));\n\t\tprovide(matchedRouteKey, matchedRouteRef);\n\t\tprovide(routerViewLocationKey, routeToDisplay);\n\t\tconst onRouteRenderedCallbacks = /* @__PURE__ */ new Set();\n\t\tprovide(routerViewOnRouteRenderedKey, onRouteRenderedCallbacks);\n\t\tconst viewRef = ref();\n\t\tlet settledRoute = START_LOCATION_NORMALIZED;\n\t\tconst { app } = getCurrentInstance().appContext;\n\t\twatch(() => [\n\t\t\tviewRef.value,\n\t\t\tmatchedRouteRef.value,\n\t\t\tprops.name\n\t\t], ([instance, to, name], [oldInstance, from, _oldName]) => {\n\t\t\tif (to) {\n\t\t\t\tto.instances[name] = instance;\n\t\t\t\tif (from && from !== to && instance && instance === oldInstance) {\n\t\t\t\t\tif (!to.leaveGuards.size) to.leaveGuards = from.leaveGuards;\n\t\t\t\t\tif (!to.updateGuards.size) to.updateGuards = from.updateGuards;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (instance && to && (!from || !isSameRouteRecord(to, from) || !oldInstance)) (to.enterCallbacks[name] || []).forEach((callback) => callback(instance));\n\t\t}, { flush: \"post\" });\n\t\treturn () => {\n\t\t\tconst route = routeToDisplay.value;\n\t\t\tconst currentName = props.name;\n\t\t\tconst matchedRoute = matchedRouteRef.value;\n\t\t\tconst ViewComponent = matchedRoute && matchedRoute.components[currentName];\n\t\t\tif (!ViewComponent) return normalizeSlot(slots.default, {\n\t\t\t\tComponent: ViewComponent,\n\t\t\t\troute\n\t\t\t});\n\t\t\tconst routePropsOption = matchedRoute.props[currentName];\n\t\t\tconst routeProps = routePropsOption ? routePropsOption === true ? route.params : typeof routePropsOption === \"function\" ? routePropsOption(route) : routePropsOption : null;\n\t\t\tconst onVnodeUnmounted = (vnode) => {\n\t\t\t\tif (vnode.component.isUnmounted) matchedRoute.instances[currentName] = null;\n\t\t\t};\n\t\t\tconst onVnodeSettled = (vnode) => nextTick(() => {\n\t\t\t\tif (settledRoute === route || routeToDisplay.value !== route || vnode.el.getRootNode() !== app._container.getRootNode()) return;\n\t\t\t\tconst from = settledRoute;\n\t\t\t\tsettledRoute = route;\n\t\t\t\tfor (const callback of onRouteRenderedCallbacks) callback(route, from);\n\t\t\t});\n\t\t\tconst component = h(ViewComponent, assign({}, routeProps, attrs, {\n\t\t\t\tonVnodeUnmounted,\n\t\t\t\tonVnodeMounted: onVnodeSettled,\n\t\t\t\tonVnodeUpdated: onVnodeSettled,\n\t\t\t\tref: viewRef\n\t\t\t}));\n\t\t\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser && component.ref) {\n\t\t\t\tconst info = {\n\t\t\t\t\tdepth: depth.value,\n\t\t\t\t\tname: matchedRoute.name,\n\t\t\t\t\tpath: matchedRoute.path,\n\t\t\t\t\tmeta: matchedRoute.meta\n\t\t\t\t};\n\t\t\t\t(isArray(component.ref) ? component.ref.map((r) => r.i) : [component.ref.i]).forEach((instance) => {\n\t\t\t\t\tif (instance) instance.__vrv_devtools = info;\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn normalizeSlot(slots.default, {\n\t\t\t\tComponent: component,\n\t\t\t\troute\n\t\t\t}) || component;\n\t\t};\n\t}\n});\nfunction normalizeSlot(slot, data) {\n\tif (!slot) return null;\n\tconst slotContent = slot(data);\n\treturn slotContent.length === 1 ? slotContent[0] : slotContent;\n}\n/**\n* Component to display the current route the user is at.\n*/\nconst RouterView = RouterViewImpl;\nfunction warnDeprecatedUsage() {\n\tconst instance = getCurrentInstance();\n\tconst parentName = instance.parent && instance.parent.type.name;\n\tconst parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type;\n\tif (parentName && (parentName === \"KeepAlive\" || parentName.includes(\"Transition\")) && typeof parentSubTreeType === \"object\" && parentSubTreeType.name === \"RouterView\") {\n\t\tconst comp = parentName === \"KeepAlive\" ? \"keep-alive\" : \"transition\";\n\t\tdiagnostics.VUE_ROUTER_R0060({ comp });\n\t}\n}\n//#endregion\n//#region src/router.ts\n/**\n* Creates a Router instance that can be used by a Vue app.\n*\n* @param options - {@link RouterOptions}\n*/\nfunction createRouter(options) {\n\tconst matcher = options.matcher || createRouterMatcher(options.routes, options);\n\tconst parseQuery$1 = options.parseQuery || parseQuery;\n\tconst stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\n\tconst routerHistory = options.history;\n\tif (process.env.NODE_ENV !== \"production\" && !routerHistory) throw new Error(\"Provide the \\\"history\\\" option when calling \\\"createRouter()\\\": https://router.vuejs.org/api/interfaces/RouterOptions.html#history\");\n\tconst beforeGuards = useCallbacks();\n\tconst beforeResolveGuards = useCallbacks();\n\tconst afterGuards = useCallbacks();\n\tconst currentRoute = shallowRef(START_LOCATION_NORMALIZED);\n\tconst routesVersion = shallowRef(0);\n\tlet pendingLocation = START_LOCATION_NORMALIZED;\n\tif (isBrowser && options.scrollBehavior && \"scrollRestoration\" in history) history.scrollRestoration = \"manual\";\n\tconst normalizeParams = applyToParams.bind(null, (paramValue) => \"\" + paramValue);\n\tconst encodeParams = applyToParams.bind(null, encodeParam);\n\tconst decodeParams = applyToParams.bind(null, decode);\n\tfunction addRoute(parentOrRoute, route) {\n\t\tlet parent;\n\t\tlet record;\n\t\tif (isRouteName(parentOrRoute)) {\n\t\t\tparent = matcher.getRecordMatcher(parentOrRoute);\n\t\t\tif (process.env.NODE_ENV !== \"production\" && !parent) diagnostics.VUE_ROUTER_R0001({ name: String(parentOrRoute) });\n\t\t\trecord = route;\n\t\t} else record = parentOrRoute;\n\t\tconst removeRoute = matcher.addRoute(record, parent);\n\t\troutesVersion.value++;\n\t\treturn () => {\n\t\t\tremoveRoute();\n\t\t\troutesVersion.value++;\n\t\t};\n\t}\n\tfunction removeRoute(name) {\n\t\tconst recordMatcher = matcher.getRecordMatcher(name);\n\t\tif (recordMatcher) {\n\t\t\tmatcher.removeRoute(recordMatcher);\n\t\t\troutesVersion.value++;\n\t\t} else if (process.env.NODE_ENV !== \"production\") diagnostics.VUE_ROUTER_R0002({ name: String(name) });\n\t}\n\tfunction clearRoutes() {\n\t\tmatcher.clearRoutes();\n\t\troutesVersion.value++;\n\t}\n\tfunction getRoutes() {\n\t\treturn matcher.getRoutes().map((routeMatcher) => routeMatcher.record);\n\t}\n\tfunction hasRoute(name) {\n\t\treturn !!matcher.getRecordMatcher(name);\n\t}\n\tfunction resolve(rawLocation, currentLocation) {\n\t\troutesVersion.value;\n\t\tif (typeof rawLocation === \"string\") {\n\t\t\tcurrentLocation = currentLocation || (rawLocation.startsWith(\"/\") ? START_LOCATION_NORMALIZED : currentRoute.value);\n\t\t\tconst locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\n\t\t\tconst matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\n\t\t\tconst href = routerHistory.createHref(locationNormalized.fullPath);\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tif (href.startsWith(\"//\")) diagnostics.VUE_ROUTER_R0003({\n\t\t\t\t\tlocation: rawLocation,\n\t\t\t\t\thref\n\t\t\t\t});\n\t\t\t\telse if (!matchedRoute.matched.length) diagnostics.VUE_ROUTER_R0004({ path: rawLocation });\n\t\t\t}\n\t\t\treturn assign(locationNormalized, matchedRoute, {\n\t\t\t\tparams: decodeParams(matchedRoute.params),\n\t\t\t\tredirectedFrom: void 0,\n\t\t\t\thref\n\t\t\t});\n\t\t}\n\t\tif (process.env.NODE_ENV !== \"production\" && !isRouteLocation(rawLocation)) {\n\t\t\tdiagnostics.VUE_ROUTER_R0005({ rawLocation });\n\t\t\treturn resolve({});\n\t\t}\n\t\tcurrentLocation = assign({}, currentLocation || (rawLocation.path != null && rawLocation.path.startsWith(\"/\") && !(\"name\" in rawLocation && rawLocation.name) ? START_LOCATION_NORMALIZED : currentRoute.value));\n\t\tlet matcherLocation;\n\t\tif (rawLocation.path != null) {\n\t\t\tif (process.env.NODE_ENV !== \"production\" && \"params\" in rawLocation && !(\"name\" in rawLocation) && Object.keys(rawLocation.params).length) diagnostics.VUE_ROUTER_R0006({ path: rawLocation.path });\n\t\t\tmatcherLocation = assign({}, rawLocation, { path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path });\n\t\t} else {\n\t\t\tconst targetParams = assign({}, rawLocation.params);\n\t\t\tfor (const key in targetParams) if (targetParams[key] == null) delete targetParams[key];\n\t\t\tmatcherLocation = assign({}, rawLocation, { params: encodeParams(targetParams) });\n\t\t\tcurrentLocation.params = encodeParams(currentLocation.params);\n\t\t}\n\t\tconst matchedRoute = matcher.resolve(matcherLocation, currentLocation);\n\t\tconst hash = rawLocation.hash || \"\";\n\t\tif (process.env.NODE_ENV !== \"production\" && hash && !hash.startsWith(\"#\")) diagnostics.VUE_ROUTER_R0007({ hash });\n\t\tmatchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\n\t\tconst fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\n\t\t\thash: encodeHash(hash),\n\t\t\tpath: matchedRoute.path\n\t\t}));\n\t\tconst href = routerHistory.createHref(fullPath);\n\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\tif (href.startsWith(\"//\")) diagnostics.VUE_ROUTER_R0003({\n\t\t\t\tlocation: rawLocation,\n\t\t\t\thref\n\t\t\t});\n\t\t\telse if (!matchedRoute.matched.length) diagnostics.VUE_ROUTER_R0004({ path: rawLocation.path != null ? rawLocation.path : rawLocation });\n\t\t}\n\t\treturn assign({\n\t\t\tfullPath,\n\t\t\thash,\n\t\t\tquery: stringifyQuery$1 === stringifyQuery ? normalizeQuery(rawLocation.query) : rawLocation.query || {}\n\t\t}, matchedRoute, {\n\t\t\tredirectedFrom: void 0,\n\t\t\thref\n\t\t});\n\t}\n\tfunction locationAsObject(to) {\n\t\treturn typeof to === \"string\" ? parseURL(parseQuery$1, to, currentRoute.value.path) : assign({}, to);\n\t}\n\tfunction checkCanceledNavigation(to, from) {\n\t\tif (pendingLocation !== to) return createRouterError(8, {\n\t\t\tfrom,\n\t\t\tto\n\t\t});\n\t}\n\tfunction push(to) {\n\t\treturn pushWithRedirect(to);\n\t}\n\tfunction replace(to) {\n\t\treturn push(assign(locationAsObject(to), { replace: true }));\n\t}\n\tfunction handleRedirectRecord(to, from) {\n\t\tconst lastMatched = to.matched[to.matched.length - 1];\n\t\tif (lastMatched && lastMatched.redirect) {\n\t\t\tconst { redirect } = lastMatched;\n\t\t\tlet newTargetLocation = typeof redirect === \"function\" ? redirect(to, from) : redirect;\n\t\t\tif (typeof newTargetLocation === \"string\") {\n\t\t\t\tnewTargetLocation = newTargetLocation.includes(\"?\") || newTargetLocation.includes(\"#\") ? newTargetLocation = locationAsObject(newTargetLocation) : { path: newTargetLocation };\n\t\t\t\tnewTargetLocation.params = {};\n\t\t\t}\n\t\t\tif (process.env.NODE_ENV !== \"production\" && newTargetLocation.path == null && !(\"name\" in newTargetLocation)) {\n\t\t\t\tdiagnostics.VUE_ROUTER_R0008({\n\t\t\t\t\ttarget: JSON.stringify(newTargetLocation, null, 2),\n\t\t\t\t\tto: to.fullPath\n\t\t\t\t});\n\t\t\t\tthrow new Error(\"Invalid redirect\");\n\t\t\t}\n\t\t\treturn assign({\n\t\t\t\tquery: to.query,\n\t\t\t\thash: to.hash,\n\t\t\t\tparams: newTargetLocation.path != null ? {} : to.params\n\t\t\t}, newTargetLocation);\n\t\t}\n\t}\n\tfunction pushWithRedirect(to, redirectedFrom) {\n\t\tconst targetLocation = pendingLocation = resolve(to);\n\t\tconst from = currentRoute.value;\n\t\tconst data = to.state;\n\t\tconst force = to.force;\n\t\tconst replace = to.replace === true;\n\t\tconst shouldRedirect = handleRedirectRecord(targetLocation, from);\n\t\tif (shouldRedirect) return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\n\t\t\tstate: typeof shouldRedirect === \"object\" ? assign({}, data, shouldRedirect.state) : data,\n\t\t\tforce,\n\t\t\treplace\n\t\t}), redirectedFrom || targetLocation);\n\t\tconst toLocation = targetLocation;\n\t\ttoLocation.redirectedFrom = redirectedFrom;\n\t\tlet failure;\n\t\tif (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\n\t\t\tfailure = createRouterError(16, {\n\t\t\t\tto: toLocation,\n\t\t\t\tfrom\n\t\t\t});\n\t\t\thandleScroll(from, from, true, false);\n\t\t}\n\t\treturn (failure ? Promise.resolve(failure) : navigate(toLocation, from)).catch((error) => isNavigationFailure(error) ? isNavigationFailure(error, 2) ? error : markAsReady(error) : triggerError(error, toLocation, from)).then((failure) => {\n\t\t\tif (failure) {\n\t\t\t\tif (isNavigationFailure(failure, 2)) {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\" && isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) && redirectedFrom && (redirectedFrom._count = redirectedFrom._count ? redirectedFrom._count + 1 : 1) > 30) {\n\t\t\t\t\t\tdiagnostics.VUE_ROUTER_R0009({\n\t\t\t\t\t\t\tfrom: from.fullPath,\n\t\t\t\t\t\t\tto: toLocation.fullPath\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn Promise.reject(/* @__PURE__ */ new Error(\"Infinite redirect in navigation guard\"));\n\t\t\t\t\t}\n\t\t\t\t\treturn pushWithRedirect(assign({ replace }, locationAsObject(failure.to), {\n\t\t\t\t\t\tstate: typeof failure.to === \"object\" ? assign({}, data, failure.to.state) : data,\n\t\t\t\t\t\tforce\n\t\t\t\t\t}), redirectedFrom || toLocation);\n\t\t\t\t}\n\t\t\t} else failure = finalizeNavigation(toLocation, from, true, replace, data);\n\t\t\ttriggerAfterEach(toLocation, from, failure);\n\t\t\treturn failure;\n\t\t});\n\t}\n\t/**\n\t* Helper to reject and skip all navigation guards if a new navigation happened\n\t* @param to\n\t* @param from\n\t*/\n\tfunction checkCanceledNavigationAndReject(to, from) {\n\t\tconst error = checkCanceledNavigation(to, from);\n\t\treturn error ? Promise.reject(error) : Promise.resolve();\n\t}\n\tfunction runWithContext(fn) {\n\t\tconst app = installedApps.values().next().value;\n\t\treturn app && typeof app.runWithContext === \"function\" ? app.runWithContext(fn) : fn();\n\t}\n\tfunction navigate(to, from) {\n\t\tlet guards;\n\t\tconst [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\n\t\tguards = extractComponentsGuards(leavingRecords.reverse(), \"beforeRouteLeave\", to, from);\n\t\tfor (const record of leavingRecords) record.leaveGuards.forEach((guard) => {\n\t\t\tguards.push(guardToPromiseFn(guard, to, from));\n\t\t});\n\t\tconst canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\n\t\tguards.push(canceledNavigationCheck);\n\t\treturn runGuardQueue(guards).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const guard of beforeGuards.list()) guards.push(guardToPromiseFn(guard, to, from));\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = extractComponentsGuards(updatingRecords, \"beforeRouteUpdate\", to, from);\n\t\t\tfor (const record of updatingRecords) record.updateGuards.forEach((guard) => {\n\t\t\t\tguards.push(guardToPromiseFn(guard, to, from));\n\t\t\t});\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const record of enteringRecords) if (record.beforeEnter) {\n\t\t\t\tif (isArray(record.beforeEnter)) for (const beforeEnter of record.beforeEnter) guards.push(guardToPromiseFn(beforeEnter, to, from));\n\t\t\t\telse guards.push(guardToPromiseFn(record.beforeEnter, to, from));\n\t\t\t}\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tto.matched.forEach((record) => record.enterCallbacks = {});\n\t\t\tguards = extractComponentsGuards(enteringRecords, \"beforeRouteEnter\", to, from, runWithContext);\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const guard of beforeResolveGuards.list()) guards.push(guardToPromiseFn(guard, to, from));\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).catch((err) => isNavigationFailure(err, 8) ? err : Promise.reject(err));\n\t}\n\tfunction triggerAfterEach(to, from, failure) {\n\t\tafterGuards.list().forEach((guard) => runWithContext(() => guard(to, from, failure)));\n\t}\n\t/**\n\t* - Cleans up any navigation guards\n\t* - Changes the url if necessary\n\t* - Calls the scrollBehavior\n\t*/\n\tfunction finalizeNavigation(toLocation, from, isPush, replace, data) {\n\t\tconst error = checkCanceledNavigation(toLocation, from);\n\t\tif (error) return error;\n\t\tconst isFirstNavigation = from === START_LOCATION_NORMALIZED;\n\t\tconst state = !isBrowser ? {} : history.state;\n\t\tif (isPush) {\n\t\t\tif (replace || isFirstNavigation) routerHistory.replace(toLocation.fullPath, assign({ scroll: isFirstNavigation && state && state.scroll }, data));\n\t\t\telse routerHistory.push(toLocation.fullPath, data);\n\t\t}\n\t\tcurrentRoute.value = toLocation;\n\t\thandleScroll(toLocation, from, isPush, isFirstNavigation);\n\t\tmarkAsReady();\n\t}\n\tlet removeHistoryListener;\n\tfunction setupListeners() {\n\t\tif (removeHistoryListener) return;\n\t\tremoveHistoryListener = routerHistory.listen((to, _from, info) => {\n\t\t\tif (!router.listening) return;\n\t\t\tconst toLocation = resolve(to);\n\t\t\tconst shouldRedirect = handleRedirectRecord(toLocation, router.currentRoute.value);\n\t\t\tif (shouldRedirect) {\n\t\t\t\tpushWithRedirect(assign(shouldRedirect, {\n\t\t\t\t\treplace: true,\n\t\t\t\t\tforce: true\n\t\t\t\t}), toLocation).catch(noop);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tpendingLocation = toLocation;\n\t\t\tconst from = currentRoute.value;\n\t\t\tif (isBrowser && info.delta) saveScrollPosition(getScrollKey(from.fullPath, info.delta));\n\t\t\tnavigate(toLocation, from).catch((error) => {\n\t\t\t\tif (isNavigationFailure(error, 12)) return error;\n\t\t\t\tif (isNavigationFailure(error, 2)) {\n\t\t\t\t\tpushWithRedirect(assign(locationAsObject(error.to), { force: true }), toLocation).then((failure) => {\n\t\t\t\t\t\tif (isNavigationFailure(failure, 20) && !info.delta && info.type === \"pop\") routerHistory.go(-1, false);\n\t\t\t\t\t}).catch(noop);\n\t\t\t\t\treturn Promise.reject();\n\t\t\t\t}\n\t\t\t\tif (info.delta) routerHistory.go(-info.delta, false);\n\t\t\t\treturn triggerError(error, toLocation, from);\n\t\t\t}).then((failure) => {\n\t\t\t\tfailure = failure || finalizeNavigation(toLocation, from, false);\n\t\t\t\tif (failure) {\n\t\t\t\t\tif (info.delta && !isNavigationFailure(failure, 8)) routerHistory.go(-info.delta, false);\n\t\t\t\t\telse if (info.type === \"pop\" && isNavigationFailure(failure, 20)) routerHistory.go(-1, false);\n\t\t\t\t}\n\t\t\t\ttriggerAfterEach(toLocation, from, failure);\n\t\t\t}).catch(noop);\n\t\t});\n\t}\n\tlet readyHandlers = useCallbacks();\n\tlet errorListeners = useCallbacks();\n\tlet ready;\n\t/**\n\t* Trigger errorListeners added via onError and throws the error as well\n\t*\n\t* @param error - error to throw\n\t* @param to - location we were navigating to when the error happened\n\t* @param from - location we were navigating from when the error happened\n\t* @returns the error as a rejected promise\n\t*/\n\tfunction triggerError(error, to, from) {\n\t\tmarkAsReady(error);\n\t\tconst list = errorListeners.list();\n\t\tif (list.length) list.forEach((handler) => handler(error, to, from));\n\t\telse {\n\t\t\tif (process.env.NODE_ENV !== \"production\") diagnostics.VUE_ROUTER_R0010();\n\t\t\tconsole.error(error);\n\t\t}\n\t\treturn Promise.reject(error);\n\t}\n\tfunction isReady() {\n\t\tif (ready && currentRoute.value !== START_LOCATION_NORMALIZED) return Promise.resolve();\n\t\treturn new Promise((resolve, reject) => {\n\t\t\treadyHandlers.add([resolve, reject]);\n\t\t});\n\t}\n\tfunction markAsReady(err) {\n\t\tif (!ready) {\n\t\t\tready = !err;\n\t\t\tsetupListeners();\n\t\t\treadyHandlers.list().forEach(([resolve, reject]) => err ? reject(err) : resolve());\n\t\t\treadyHandlers.reset();\n\t\t}\n\t\treturn err;\n\t}\n\tfunction handleScroll(to, from, isPush, isFirstNavigation) {\n\t\tconst { scrollBehavior } = options;\n\t\tif (!isBrowser || !scrollBehavior) return Promise.resolve();\n\t\tconst scrollPosition = !isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0)) || (isFirstNavigation || !isPush) && history.state && history.state.scroll || null;\n\t\treturn nextTick().then(() => scrollBehavior(to, from, scrollPosition)).then((position) => to === currentRoute.value && position && scrollToPosition(position)).catch((err) => to === currentRoute.value && triggerError(err, to, from));\n\t}\n\tconst go = (delta) => routerHistory.go(delta);\n\tlet started;\n\tconst installedApps = /* @__PURE__ */ new Set();\n\tconst router = {\n\t\tcurrentRoute,\n\t\tlistening: true,\n\t\taddRoute,\n\t\tremoveRoute,\n\t\tclearRoutes,\n\t\thasRoute,\n\t\tgetRoutes,\n\t\tresolve,\n\t\toptions,\n\t\tpush,\n\t\treplace,\n\t\tgo,\n\t\tback: () => go(-1),\n\t\tforward: () => go(1),\n\t\tbeforeEach: beforeGuards.add,\n\t\tbeforeResolve: beforeResolveGuards.add,\n\t\tafterEach: afterGuards.add,\n\t\tonError: errorListeners.add,\n\t\tisReady,\n\t\tinstall(app) {\n\t\t\tapp.component(\"RouterLink\", RouterLink);\n\t\t\tapp.component(\"RouterView\", RouterView);\n\t\t\tapp.config.globalProperties.$router = router;\n\t\t\tObject.defineProperty(app.config.globalProperties, \"$route\", {\n\t\t\t\tenumerable: true,\n\t\t\t\tget: () => unref(currentRoute)\n\t\t\t});\n\t\t\tif (isBrowser && !started && currentRoute.value === START_LOCATION_NORMALIZED) {\n\t\t\t\tstarted = true;\n\t\t\t\tpush(routerHistory.location).catch((err) => {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") diagnostics.VUE_ROUTER_R0011({ cause: err });\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst reactiveRoute = {};\n\t\t\tfor (const key in START_LOCATION_NORMALIZED) Object.defineProperty(reactiveRoute, key, {\n\t\t\t\tget: () => currentRoute.value[key],\n\t\t\t\tenumerable: true\n\t\t\t});\n\t\t\tapp.provide(routerKey, router);\n\t\t\tapp.provide(routeLocationKey, shallowReactive(reactiveRoute));\n\t\t\tapp.provide(routerViewLocationKey, currentRoute);\n\t\t\tconst unmountApp = app.unmount;\n\t\t\tinstalledApps.add(app);\n\t\t\tapp.unmount = function() {\n\t\t\t\tinstalledApps.delete(app);\n\t\t\t\tif (installedApps.size < 1) {\n\t\t\t\t\tpendingLocation = START_LOCATION_NORMALIZED;\n\t\t\t\t\tremoveHistoryListener && removeHistoryListener();\n\t\t\t\t\tremoveHistoryListener = null;\n\t\t\t\t\tcurrentRoute.value = START_LOCATION_NORMALIZED;\n\t\t\t\t\tstarted = false;\n\t\t\t\t\tready = false;\n\t\t\t\t}\n\t\t\t\tunmountApp();\n\t\t\t};\n\t\t\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser && true) addDevtools(app, router, matcher);\n\t\t}\n\t};\n\tfunction runGuardQueue(guards) {\n\t\treturn guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());\n\t}\n\treturn router;\n}\n//#endregion\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };\n","/**\n * @typedef {import('mdast').Nodes} Nodes\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [includeImageAlt=true]\n * Whether to use `alt` for `image`s (default: `true`).\n * @property {boolean | null | undefined} [includeHtml=true]\n * Whether to use `value` of HTML (default: `true`).\n */\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Get the text content of a node or list of nodes.\n *\n * Prefers the node’s plain-text fields, otherwise serializes its children,\n * and if the given value is an array, serialize the nodes in it.\n *\n * @param {unknown} [value]\n * Thing to serialize, typically `Node`.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Serialized `value`.\n */\nexport function toString(value, options) {\n const settings = options || emptyOptions\n const includeImageAlt =\n typeof settings.includeImageAlt === 'boolean'\n ? settings.includeImageAlt\n : true\n const includeHtml =\n typeof settings.includeHtml === 'boolean' ? settings.includeHtml : true\n\n return one(value, includeImageAlt, includeHtml)\n}\n\n/**\n * One node or several nodes.\n *\n * @param {unknown} value\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized node.\n */\nfunction one(value, includeImageAlt, includeHtml) {\n if (node(value)) {\n if ('value' in value) {\n return value.type === 'html' && !includeHtml ? '' : value.value\n }\n\n if (includeImageAlt && 'alt' in value && value.alt) {\n return value.alt\n }\n\n if ('children' in value) {\n return all(value.children, includeImageAlt, includeHtml)\n }\n }\n\n if (Array.isArray(value)) {\n return all(value, includeImageAlt, includeHtml)\n }\n\n return ''\n}\n\n/**\n * Serialize a list of nodes.\n *\n * @param {Array} values\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized nodes.\n */\nfunction all(values, includeImageAlt, includeHtml) {\n /** @type {Array} */\n const result = []\n let index = -1\n\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt, includeHtml)\n }\n\n return result.join('')\n}\n\n/**\n * Check if `value` looks like a node.\n *\n * @param {unknown} value\n * Thing.\n * @returns {value is Nodes}\n * Whether `value` is a node.\n */\nfunction node(value) {\n return Boolean(value && typeof value === 'object')\n}\n","export const VOID = -1;\nexport const PRIMITIVE = 0;\nexport const ARRAY = 1;\nexport const OBJECT = 2;\nexport const DATE = 3;\nexport const REGEXP = 4;\nexport const MAP = 5;\nexport const SET = 6;\nexport const ERROR = 7;\nexport const BIGINT = 8;\n// export const SYMBOL = 9;\n","import {\n VOID, PRIMITIVE,\n ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst env = typeof self === 'object' ? self : globalThis;\n\nconst guard = (name, init) => {\n switch (name) {\n case 'Function':\n case 'SharedWorker':\n case 'Worker':\n case 'eval':\n case 'setInterval':\n case 'setTimeout':\n throw new TypeError('unable to deserialize ' + name);\n }\n return new env[name](init);\n};\n\nconst deserializer = ($, _) => {\n const as = (out, index) => {\n $.set(index, out);\n return out;\n };\n\n const unpair = index => {\n if ($.has(index))\n return $.get(index);\n\n const [type, value] = _[index];\n switch (type) {\n case PRIMITIVE:\n case VOID:\n return as(value, index);\n case ARRAY: {\n const arr = as([], index);\n for (const index of value)\n arr.push(unpair(index));\n return arr;\n }\n case OBJECT: {\n const object = as({}, index);\n for (const [key, index] of value)\n object[unpair(key)] = unpair(index);\n return object;\n }\n case DATE:\n return as(new Date(value), index);\n case REGEXP: {\n const {source, flags} = value;\n return as(new RegExp(source, flags), index);\n }\n case MAP: {\n const map = as(new Map, index);\n for (const [key, index] of value)\n map.set(unpair(key), unpair(index));\n return map;\n }\n case SET: {\n const set = as(new Set, index);\n for (const index of value)\n set.add(unpair(index));\n return set;\n }\n case ERROR: {\n const {name, message} = value;\n return as(\n typeof env[name] === 'function' ?\n guard(name, message) :\n new Error(message),\n index\n );\n }\n case BIGINT:\n return as(BigInt(value), index);\n case 'BigInt':\n return as(Object(BigInt(value)), index);\n case 'ArrayBuffer':\n return as(new Uint8Array(value).buffer, value);\n case 'DataView': {\n const { buffer } = new Uint8Array(value);\n return as(new DataView(buffer), value);\n }\n }\n return as(guard(type, value), index);\n };\n\n return unpair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns a deserialized value from a serialized array of Records.\n * @param {Record[]} serialized a previously serialized value.\n * @returns {any}\n */\nexport const deserialize = serialized => deserializer(new Map, serialized)(0);\n","import {\n VOID, PRIMITIVE,\n ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst EMPTY = '';\n\nconst {toString} = {};\nconst {keys} = Object;\n\nconst typeOf = value => {\n const type = typeof value;\n if (type !== 'object' || !value)\n return [PRIMITIVE, type];\n\n const asString = toString.call(value).slice(8, -1);\n switch (asString) {\n case 'Array':\n return [ARRAY, EMPTY];\n case 'Object':\n return [OBJECT, EMPTY];\n case 'Date':\n return [DATE, EMPTY];\n case 'RegExp':\n return [REGEXP, EMPTY];\n case 'Map':\n return [MAP, EMPTY];\n case 'Set':\n return [SET, EMPTY];\n case 'DataView':\n return [ARRAY, asString];\n }\n\n if (asString.includes('Array'))\n return [ARRAY, asString];\n\n if (value instanceof Error)\n return [ERROR, value.name || 'Error'];\n\n return [OBJECT, asString];\n};\n\nconst shouldSkip = ([TYPE, type]) => (\n TYPE === PRIMITIVE &&\n (type === 'function' || type === 'symbol')\n);\n\nconst serializer = (strict, json, $, _) => {\n\n const as = (out, value) => {\n const index = _.push(out) - 1;\n $.set(value, index);\n return index;\n };\n\n const pair = value => {\n if ($.has(value))\n return $.get(value);\n\n let [TYPE, type] = typeOf(value);\n switch (TYPE) {\n case PRIMITIVE: {\n let entry = value;\n switch (type) {\n case 'bigint':\n TYPE = BIGINT;\n entry = value.toString();\n break;\n case 'function':\n case 'symbol':\n if (strict)\n throw new TypeError('unable to serialize ' + type);\n entry = null;\n break;\n case 'undefined':\n return as([VOID], value);\n }\n return as([TYPE, entry], value);\n }\n case ARRAY: {\n if (type) {\n let spread = value;\n if (type === 'DataView') {\n spread = new Uint8Array(value.buffer);\n }\n else if (type === 'ArrayBuffer') {\n spread = new Uint8Array(value);\n }\n return as([type, [...spread]], value);\n }\n\n const arr = [];\n const index = as([TYPE, arr], value);\n for (const entry of value)\n arr.push(pair(entry));\n return index;\n }\n case OBJECT: {\n if (type) {\n switch (type) {\n case 'BigInt':\n return as([type, value.toString()], value);\n case 'Boolean':\n case 'Number':\n case 'String':\n return as([type, value.valueOf()], value);\n }\n }\n\n if (json && ('toJSON' in value))\n return pair(value.toJSON());\n\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const key of keys(value)) {\n if (strict || !shouldSkip(typeOf(value[key])))\n entries.push([pair(key), pair(value[key])]);\n }\n return index;\n }\n case DATE:\n return as([TYPE, isNaN(value.getTime()) ? EMPTY : value.toISOString()], value);\n case REGEXP: {\n const {source, flags} = value;\n return as([TYPE, {source, flags}], value);\n }\n case MAP: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const [key, entry] of value) {\n if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry))))\n entries.push([pair(key), pair(entry)]);\n }\n return index;\n }\n case SET: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const entry of value) {\n if (strict || !shouldSkip(typeOf(entry)))\n entries.push(pair(entry));\n }\n return index;\n }\n }\n\n const {message} = value;\n return as([TYPE, {name: type, message}], value);\n };\n\n return pair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} value a serializable value.\n * @param {{json?: boolean, lossy?: boolean}?} options an object with a `lossy` or `json` property that,\n * if `true`, will not throw errors on incompatible types, and behave more\n * like JSON stringify would behave. Symbol and Function will be discarded.\n * @returns {Record[]}\n */\n export const serialize = (value, {json, lossy} = {}) => {\n const _ = [];\n return serializer(!(json || lossy), !!json, new Map, _)(value), _;\n};\n","import {deserialize} from './deserialize.js';\nimport {serialize} from './serialize.js';\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} any a serializable value.\n * @param {{transfer?: any[], json?: boolean, lossy?: boolean}?} options an object with\n * a transfer option (ignored when polyfilled) and/or non standard fields that\n * fallback to the polyfill if present.\n * @returns {Record[]}\n */\nexport default typeof structuredClone === \"function\" ?\n /* c8 ignore start */\n (any, options) => (\n options && ('json' in options || 'lossy' in options) ?\n deserialize(serialize(any, options)) : structuredClone(any)\n ) :\n (any, options) => deserialize(serialize(any, options));\n /* c8 ignore stop */\n\nexport {deserialize, serialize};\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Parents} Parents\n */\n\n/**\n * @template Fn\n * @template Fallback\n * @typedef {Fn extends (value: any) => value is infer Thing ? Thing : Fallback} Predicate\n */\n\n/**\n * @callback Check\n * Check that an arbitrary value is an element.\n * @param {unknown} this\n * Context object (`this`) to call `test` with\n * @param {unknown} [element]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * Position of `element` in its parent.\n * @param {Parents | null | undefined} [parent]\n * Parent of `element`.\n * @returns {boolean}\n * Whether this is an element and passes a test.\n *\n * @typedef {Array | TestFunction | string | null | undefined} Test\n * Check for an arbitrary element.\n *\n * * when `string`, checks that the element has that tag name\n * * when `function`, see `TestFunction`\n * * when `Array`, checks if one of the subtests pass\n *\n * @callback TestFunction\n * Check if an element passes a test.\n * @param {unknown} this\n * The given context.\n * @param {Element} element\n * An element.\n * @param {number | undefined} [index]\n * Position of `element` in its parent.\n * @param {Parents | undefined} [parent]\n * Parent of `element`.\n * @returns {boolean | undefined | void}\n * Whether this element passes the test.\n *\n * Note: `void` is included until TS sees no return as `undefined`.\n */\n\n/**\n * Check if `element` is an `Element` and whether it passes the given test.\n *\n * @param element\n * Thing to check, typically `element`.\n * @param test\n * Check for a specific element.\n * @param index\n * Position of `element` in its parent.\n * @param parent\n * Parent of `element`.\n * @param context\n * Context object (`this`) to call `test` with.\n * @returns\n * Whether `element` is an `Element` and passes a test.\n * @throws\n * When an incorrect `test`, `index`, or `parent` is given; there is no error\n * thrown when `element` is not a node or not an element.\n */\nexport const isElement =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((element: unknown, test: Condition, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & Predicate) &\n * ((element: unknown, test: Condition, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & {tagName: Condition}) &\n * ((element?: null | undefined) => false) &\n * ((element: unknown, test?: null | undefined, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element) &\n * ((element: unknown, test?: Test, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [element]\n * @param {Test | undefined} [test]\n * @param {number | null | undefined} [index]\n * @param {Parents | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function (element, test, index, parent, context) {\n const check = convertElement(test)\n\n if (\n index !== null &&\n index !== undefined &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite `index`')\n }\n\n if (\n parent !== null &&\n parent !== undefined &&\n (!parent.type || !parent.children)\n ) {\n throw new Error('Expected valid `parent`')\n }\n\n if (\n (index === null || index === undefined) !==\n (parent === null || parent === undefined)\n ) {\n throw new Error('Expected both `index` and `parent`')\n }\n\n return looksLikeAnElement(element)\n ? check.call(context, element, index, parent)\n : false\n }\n )\n\n/**\n * Generate a check from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * an `element`, `index`, and `parent`.\n *\n * @param test\n * A test for a specific element.\n * @returns\n * A check.\n */\nexport const convertElement =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((test: Condition) => (element: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & Predicate) &\n * ((test: Condition) => (element: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & {tagName: Condition}) &\n * ((test?: null | undefined) => (element?: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element) &\n * ((test?: Test) => Check)\n * )}\n */\n (\n /**\n * @param {Test | null | undefined} [test]\n * @returns {Check}\n */\n function (test) {\n if (test === null || test === undefined) {\n return element\n }\n\n if (typeof test === 'string') {\n return tagNameFactory(test)\n }\n\n // Assume array.\n if (typeof test === 'object') {\n return anyFactory(test)\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n throw new Error('Expected function, string, or array as `test`')\n }\n )\n\n/**\n * Handle multiple tests.\n *\n * @param {Array} tests\n * @returns {Check}\n */\nfunction anyFactory(tests) {\n /** @type {Array} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convertElement(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @type {TestFunction}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].apply(this, parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Turn a string into a test for an element with a certain type.\n *\n * @param {string} check\n * @returns {Check}\n */\nfunction tagNameFactory(check) {\n return castFactory(tagName)\n\n /**\n * @param {Element} element\n * @returns {boolean}\n */\n function tagName(element) {\n return element.tagName === check\n }\n}\n\n/**\n * Turn a custom test into a test for an element that passes that test.\n *\n * @param {TestFunction} testFunction\n * @returns {Check}\n */\nfunction castFactory(testFunction) {\n return check\n\n /**\n * @this {unknown}\n * @type {Check}\n */\n function check(value, index, parent) {\n return Boolean(\n looksLikeAnElement(value) &&\n testFunction.call(\n this,\n value,\n typeof index === 'number' ? index : undefined,\n parent || undefined\n )\n )\n }\n}\n\n/**\n * Make sure something is an element.\n *\n * @param {unknown} element\n * @returns {element is Element}\n */\nfunction element(element) {\n return Boolean(\n element &&\n typeof element === 'object' &&\n 'type' in element &&\n element.type === 'element' &&\n 'tagName' in element &&\n typeof element.tagName === 'string'\n )\n}\n\n/**\n * @param {unknown} value\n * @returns {value is Element}\n */\nfunction looksLikeAnElement(value) {\n return (\n value !== null &&\n typeof value === 'object' &&\n 'type' in value &&\n 'tagName' in value\n )\n}\n","// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\n\n// Windows paths like `c:\\`\nconst WINDOWS_PATH_REGEX = /^[a-zA-Z]:\\\\/;\n\nexport default function isAbsoluteUrl(url) {\n\tif (typeof url !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof url}\\``);\n\t}\n\n\tif (WINDOWS_PATH_REGEX.test(url)) {\n\t\treturn false;\n\t}\n\n\treturn ABSOLUTE_URL_REGEX.test(url);\n}\n","/**\n * Parse space-separated tokens to an array of strings.\n *\n * @param {string} value\n * Space-separated tokens.\n * @returns {Array}\n * List of tokens.\n */\nexport function parse(value) {\n const input = String(value || '').trim()\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated-tokens.\n *\n * @param {Array} values\n * List of tokens.\n * @returns {string}\n * Space-separated tokens.\n */\nexport function stringify(values) {\n return values.join(' ').trim()\n}\n","/**\n * @import {Node as UnistNode, Parent as UnistParent} from 'unist'\n * @import {VisitorResult} from 'unist-util-visit-parents'\n */\n\n/**\n * @typedef {Exclude | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n// To do: use types from `unist-util-visit-parents` when it’s released.\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate extends Value\n * ? Predicate\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends ReadonlyArray\n * ? MatchesOne\n * : MatchesOne\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint\n * Number; capped reasonably.\n */\n\n/**\n * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment\n * Increment a number in the type system.\n * @template {Uint} [I=0]\n * Index.\n */\n\n/**\n * @typedef {(\n * Node extends UnistParent\n * ? Node extends {children: Array}\n * ? Child extends Children ? Node : never\n * : never\n * : never\n * )} InternalParent\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {InternalParent, Child>} Parent\n * Collect nodes in `Tree` that can be parents of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Depth extends Max\n * ? never\n * :\n * | InternalParent\n * | InternalAncestor, Max, Increment>\n * )} InternalAncestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {(\n * Tree extends UnistParent\n * ? Depth extends Max\n * ? Tree\n * : Tree | InclusiveDescendant>\n * : Tree\n * )} InclusiveDescendant\n * Collect all (inclusive) descendants of `Tree`.\n *\n * > 👉 **Note**: for performance reasons, this seems to be the fastest way to\n * > recurse without actually running into an infinite loop, which the\n * > previous version did.\n * >\n * > Practically, a max of `2` is typically enough assuming a `Root` is\n * > passed, but it doesn’t improve performance.\n * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.\n * > Using up to `10` doesn’t hurt or help either.\n * @template {UnistNode} Tree\n * Tree type.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform `parent`.\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of `parent` still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Visited extends UnistNode ? number | undefined : never} index\n * Index of `node` in `parent`.\n * @param {Ancestor extends UnistParent ? Ancestor | undefined : never} parent\n * Parent of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n * @template {UnistNode} [Visited=UnistNode]\n * Visited node type.\n * @template {UnistParent} [Ancestor=UnistParent]\n * Ancestor type.\n */\n\n/**\n * @typedef {Visitor>} BuildVisitorFromMatch\n * Build a typed `Visitor` function from a node and all possible parents.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} Visited\n * Node type.\n * @template {UnistParent} Ancestor\n * Parent type.\n */\n\n/**\n * @typedef {(\n * BuildVisitorFromMatch<\n * Matches,\n * Extract\n * >\n * )} BuildVisitorFromDescendants\n * Build a typed `Visitor` function from a list of descendants and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} Descendant\n * Node type.\n * @template {Test} Check\n * Test type.\n */\n\n/**\n * @typedef {(\n * BuildVisitorFromDescendants<\n * InclusiveDescendant,\n * Check\n * >\n * )} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} [Tree=UnistNode]\n * Node type.\n * @template {Test} [Check=Test]\n * Test type.\n */\n\nimport {visitParents} from 'unist-util-visit-parents'\n\nexport {CONTINUE, EXIT, SKIP} from 'unist-util-visit-parents'\n\n/**\n * Visit nodes.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @overload\n * @param {Tree} tree\n * @param {Check} check\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @overload\n * @param {Tree} tree\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @param {UnistNode} tree\n * Tree to traverse.\n * @param {Visitor | Test} testOrVisitor\n * `unist-util-is`-compatible test (optional, omit to pass a visitor).\n * @param {Visitor | boolean | null | undefined} [visitorOrReverse]\n * Handle each node (when test is omitted, pass `reverse`).\n * @param {boolean | null | undefined} [maybeReverse=false]\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns {undefined}\n * Nothing.\n *\n * @template {UnistNode} Tree\n * Node type.\n * @template {Test} Check\n * `unist-util-is`-compatible test.\n */\nexport function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {\n /** @type {boolean | null | undefined} */\n let reverse\n /** @type {Test} */\n let test\n /** @type {Visitor} */\n let visitor\n\n if (\n typeof testOrVisitor === 'function' &&\n typeof visitorOrReverse !== 'function'\n ) {\n test = undefined\n visitor = testOrVisitor\n reverse = visitorOrReverse\n } else {\n // @ts-expect-error: assume the overload with test was given.\n test = testOrVisitor\n // @ts-expect-error: assume the overload with test was given.\n visitor = visitorOrReverse\n reverse = maybeReverse\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {UnistNode} node\n * @param {Array} parents\n */\n function overload(node, parents) {\n const parent = parents[parents.length - 1]\n const index = parent ? parent.children.indexOf(node) : undefined\n return visitor(node, index, parent)\n }\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast-util-is-element').Test} Test\n */\n\n/**\n * @callback CreateContent\n * Create a target for the element.\n * @param {Element} element\n * Element to check.\n * @returns {Array | ElementContent | null | undefined}\n * Content to add.\n *\n * @callback CreateProperties\n * Create properties for an element.\n * @param {Element} element\n * Element to check.\n * @returns {Properties | null | undefined}\n * Properties to add.\n *\n * @callback CreateRel\n * Create a `rel` for the element.\n * @param {Element} element\n * Element to check.\n * @returns {Array | string | null | undefined}\n * `rel` to use.\n *\n * @callback CreateTarget\n * Create a `target` for the element.\n * @param {Element} element\n * Element to check.\n * @returns {Target | null | undefined}\n * `target` to use.\n *\n * @typedef Options\n * Configuration.\n * @property {Array | CreateContent | ElementContent | null | undefined} [content]\n * Content to insert at the end of external links (optional); will be\n * inserted in a `` element; useful for improving accessibility by\n * giving users advanced warning when opening a new window.\n * @property {CreateProperties | Properties | null | undefined} [contentProperties]\n * Properties to add to the `span` wrapping `content` (optional).\n * @property {CreateProperties | Properties | null | undefined} [properties]\n * Properties to add to the link itself (optional).\n * @property {Array | null | undefined} [protocols=['http', 'https']]\n * Protocols to check, such as `mailto` or `tel` (default: `['http',\n * 'https']`).\n * @property {Array | CreateRel | string | null | undefined} [rel=['nofollow']]\n * Link types to hint about the referenced documents (default:\n * `['nofollow']`); pass an empty array (`[]`) to not set `rel`s on links;\n * when using a `target`, add `noopener` and `noreferrer` to avoid\n * exploitation of the `window.opener` API.\n * @property {CreateTarget | Target | null | undefined} [target]\n * How to display referenced documents; the default (nothing) is to not set\n * `target`s on links.\n * @property {Test | null | undefined} [test]\n * Extra test to define which external link elements are modified (optional);\n * any test that can be given to `hast-util-is-element` is supported.\n *\n * @typedef {'_blank' | '_parent' | '_self' | '_top'} Target\n * Target.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {convertElement} from 'hast-util-is-element'\nimport isAbsoluteUrl from 'is-absolute-url'\nimport {parse} from 'space-separated-tokens'\nimport {visit} from 'unist-util-visit'\n\nconst defaultProtocols = ['http', 'https']\nconst defaultRel = ['nofollow']\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Automatically add `rel` (and `target`?) to external links.\n *\n * ###### Notes\n *\n * You should [likely not configure `target`][css-tricks].\n *\n * You should at least set `rel` to `['nofollow']`.\n * When using a `target`, add `noopener` and `noreferrer` to avoid exploitation\n * of the `window.opener` API.\n *\n * When using a `target`, you should set `content` to adhere to accessibility\n * guidelines by giving users advanced warning when opening a new window.\n *\n * [css-tricks]: https://css-tricks.com/use-target_blank/\n *\n * @param {Readonly | null | undefined} [options]\n * Configuration (optional).\n * @returns\n * Transform.\n */\nexport default function rehypeExternalLinks(options) {\n const settings = options || emptyOptions\n const protocols = settings.protocols || defaultProtocols\n const is = convertElement(settings.test)\n\n /**\n * Transform.\n *\n * @param {Root} tree\n * Tree.\n * @returns {undefined}\n * Nothing.\n */\n return function (tree) {\n visit(tree, 'element', function (node, index, parent) {\n if (\n node.tagName === 'a' &&\n typeof node.properties.href === 'string' &&\n is(node, index, parent)\n ) {\n const url = node.properties.href\n\n if (\n isAbsoluteUrl(url)\n ? protocols.includes(url.slice(0, url.indexOf(':')))\n : url.startsWith('//')\n ) {\n const contentRaw = createIfNeeded(settings.content, node)\n const content =\n contentRaw && !Array.isArray(contentRaw) ? [contentRaw] : contentRaw\n const relRaw = createIfNeeded(settings.rel, node) || defaultRel\n const rel = typeof relRaw === 'string' ? parse(relRaw) : relRaw\n const target = createIfNeeded(settings.target, node)\n\n const properties = createIfNeeded(settings.properties, node)\n\n if (properties) {\n Object.assign(node.properties, structuredClone(properties))\n }\n\n if (rel.length > 0) {\n node.properties.rel = [...rel]\n }\n\n if (target) {\n node.properties.target = target\n }\n\n if (content) {\n const properties =\n createIfNeeded(settings.contentProperties, node) || {}\n\n node.children.push({\n type: 'element',\n tagName: 'span',\n properties: structuredClone(properties),\n children: structuredClone(content)\n })\n }\n }\n }\n })\n }\n}\n\n/**\n * Call a function to get a return value or use the value.\n *\n * @template T\n * Type of value.\n * @param {T} value\n * Value.\n * @param {Element} element\n * Element.\n * @returns {T extends Function ? ReturnType : T}\n * Result.\n */\nfunction createIfNeeded(value, element) {\n return typeof value === 'function' ? value(element) : value\n}\n","/**\n * @typedef Options\n * Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n * Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n * Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n * Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n * Comma-separated tokens.\n * @returns {Array}\n * List of tokens.\n */\nexport function parse(value) {\n /** @type {Array} */\n const tokens = []\n const input = String(value || '')\n let index = input.indexOf(',')\n let start = 0\n /** @type {boolean} */\n let end = false\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n const token = input.slice(start, index).trim()\n\n if (token || !end) {\n tokens.push(token)\n }\n\n start = index + 1\n index = input.indexOf(',', start)\n }\n\n return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array} values\n * List of tokens.\n * @param {Options} [options]\n * Configuration for `stringify` (optional).\n * @returns {string}\n * Comma-separated tokens.\n */\nexport function stringify(values, options) {\n const settings = options || {}\n\n // Ensure the last empty entry is seen.\n const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n return input\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n","/**\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [jsx=false]\n * Support JSX identifiers (default: `false`).\n */\n\nconst startRe = /[$_\\p{ID_Start}]/u\nconst contRe = /[$_\\u{200C}\\u{200D}\\p{ID_Continue}]/u\nconst contReJsx = /[-$_\\u{200C}\\u{200D}\\p{ID_Continue}]/u\nconst nameRe = /^[$_\\p{ID_Start}][$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u\nconst nameReJsx = /^[$_\\p{ID_Start}][-$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Checks if the given code point can start an identifier.\n *\n * @param {number | undefined} code\n * Code point to check.\n * @returns {boolean}\n * Whether `code` can start an identifier.\n */\n// Note: `undefined` is supported so you can pass the result from `''.codePointAt`.\nexport function start(code) {\n return code ? startRe.test(String.fromCodePoint(code)) : false\n}\n\n/**\n * Checks if the given code point can continue an identifier.\n *\n * @param {number | undefined} code\n * Code point to check.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {boolean}\n * Whether `code` can continue an identifier.\n */\n// Note: `undefined` is supported so you can pass the result from `''.codePointAt`.\nexport function cont(code, options) {\n const settings = options || emptyOptions\n const re = settings.jsx ? contReJsx : contRe\n return code ? re.test(String.fromCodePoint(code)) : false\n}\n\n/**\n * Checks if the given value is a valid identifier name.\n *\n * @param {string} name\n * Identifier to check.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {boolean}\n * Whether `name` can be an identifier.\n */\nexport function name(name, options) {\n const settings = options || emptyOptions\n const re = settings.jsx ? nameReJsx : nameRe\n return re.test(name)\n}\n","/**\n * @typedef {import('hast').Nodes} Nodes\n */\n\n// HTML whitespace expression.\n// See .\nconst re = /[ \\t\\n\\f\\r]/g\n\n/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {Nodes | string} thing\n * Thing to check (`Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`); if a node is passed it must be a `Text` node,\n * whose `value` field is checked.\n */\nexport function whitespace(thing) {\n return typeof thing === 'object'\n ? thing.type === 'text'\n ? empty(thing.value)\n : false\n : empty(thing)\n}\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction empty(value) {\n return value.replace(re, '') === ''\n}\n","/**\n * @import {Schema as SchemaType, Space} from 'property-information'\n */\n\n/** @type {SchemaType} */\nexport class Schema {\n /**\n * @param {SchemaType['property']} property\n * Property.\n * @param {SchemaType['normal']} normal\n * Normal.\n * @param {Space | undefined} [space]\n * Space.\n * @returns\n * Schema.\n */\n constructor(property, normal, space) {\n this.normal = normal\n this.property = property\n\n if (space) {\n this.space = space\n }\n }\n}\n\nSchema.prototype.normal = {}\nSchema.prototype.property = {}\nSchema.prototype.space = undefined\n","/**\n * @import {Info, Space} from 'property-information'\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {ReadonlyArray} definitions\n * Definitions.\n * @param {Space | undefined} [space]\n * Space.\n * @returns {Schema}\n * Schema.\n */\nexport function merge(definitions, space) {\n /** @type {Record} */\n const property = {}\n /** @type {Record} */\n const normal = {}\n\n for (const definition of definitions) {\n Object.assign(property, definition.property)\n Object.assign(normal, definition.normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * Get the cleaned case insensitive form of an attribute or property.\n *\n * @param {string} value\n * An attribute-like or property-like name.\n * @returns {string}\n * Value that can be used to look up the properly cased property on a\n * `Schema`.\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","/**\n * @import {Info as InfoType} from 'property-information'\n */\n\n/** @type {InfoType} */\nexport class Info {\n /**\n * @param {string} property\n * Property.\n * @param {string} attribute\n * Attribute.\n * @returns\n * Info.\n */\n constructor(property, attribute) {\n this.attribute = attribute\n this.property = property\n }\n}\n\nInfo.prototype.attribute = ''\nInfo.prototype.booleanish = false\nInfo.prototype.boolean = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.defined = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.number = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.property = ''\nInfo.prototype.spaceSeparated = false\nInfo.prototype.space = undefined\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n","/**\n * @import {Space} from 'property-information'\n */\n\nimport {Info} from './info.js'\nimport * as types from './types.js'\n\nconst checks = /** @type {ReadonlyArray} */ (\n Object.keys(types)\n)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * Property.\n * @param {string} attribute\n * Attribute.\n * @param {number | null | undefined} [mask]\n * Mask.\n * @param {Space | undefined} [space]\n * Space.\n * @returns\n * Info.\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @template {keyof DefinedInfo} Key\n * Key type.\n * @param {DefinedInfo} values\n * Info.\n * @param {Key} key\n * Key.\n * @param {DefinedInfo[Key]} value\n * Value.\n * @returns {undefined}\n * Nothing.\n */\nfunction mark(values, key, value) {\n if (value) {\n values[key] = value\n }\n}\n","/**\n * @import {Info, Space} from 'property-information'\n */\n\n/**\n * @typedef Definition\n * Definition of a schema.\n * @property {Record | undefined} [attributes]\n * Normalzed names to special attribute case.\n * @property {ReadonlyArray | undefined} [mustUseProperty]\n * Normalized names that must be set as properties.\n * @property {Record} properties\n * Property names to their types.\n * @property {Space | undefined} [space]\n * Space.\n * @property {Transform} transform\n * Transform a property name.\n */\n\n/**\n * @callback Transform\n * Transform.\n * @param {Record} attributes\n * Attributes.\n * @param {string} property\n * Property.\n * @returns {string}\n * Attribute.\n */\n\nimport {normalize} from '../normalize.js'\nimport {DefinedInfo} from './defined-info.js'\nimport {Schema} from './schema.js'\n\n/**\n * @param {Definition} definition\n * Definition.\n * @returns {Schema}\n * Schema.\n */\nexport function create(definition) {\n /** @type {Record} */\n const properties = {}\n /** @type {Record} */\n const normals = {}\n\n for (const [property, value] of Object.entries(definition.properties)) {\n const info = new DefinedInfo(\n property,\n definition.transform(definition.attributes || {}, property),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(property)\n ) {\n info.mustUseProperty = true\n }\n\n properties[property] = info\n\n normals[normalize(property)] = property\n normals[normalize(info.attribute)] = property\n }\n\n return new Schema(properties, normals, definition.space)\n}\n","import {create} from './util/create.js'\nimport {booleanish, number, spaceSeparated} from './util/types.js'\n\nexport const aria = create({\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n },\n transform(_, property) {\n return property === 'role'\n ? property\n : 'aria-' + property.slice(4).toLowerCase()\n }\n})\n","/**\n * @param {Record} attributes\n * Attributes.\n * @param {string} attribute\n * Attribute.\n * @returns {string}\n * Transformed attribute.\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record} attributes\n * Attributes.\n * @param {string} property\n * Property.\n * @returns {string}\n * Transformed property.\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","import {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\nimport {create} from './util/create.js'\nimport {\n booleanish,\n boolean,\n commaSeparated,\n number,\n overloadedBoolean,\n spaceSeparated\n} from './util/types.js'\n\nexport const html = create({\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alpha: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n blocking: spaceSeparated,\n capture: null,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n closedBy: null,\n colorSpace: null,\n cols: number,\n colSpan: number,\n command: null,\n commandFor: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n fetchPriority: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: overloadedBoolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inert: boolean,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforeMatch: null,\n onBeforePrint: null,\n onBeforeToggle: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onScrollEnd: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n popover: null,\n popoverTarget: null,\n popoverTargetAction: null,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shadowRootClonable: boolean,\n shadowRootCustomElementRegistry: boolean,\n shadowRootDelegatesFocus: boolean,\n shadowRootMode: null,\n shadowRootSerializable: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n writingSuggestions: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // ``. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // ``. List of URIs to archives\n axis: null, // `
` and ``. Use `scope` on ``\n background: null, // ``. Use CSS `background-image` instead\n bgColor: null, // `` and table elements. Use CSS `background-color` instead\n border: number, // ``. Use CSS `border-width` instead,\n borderColor: null, // `
`. Use CSS `border-color` instead,\n bottomMargin: number, // ``\n cellPadding: null, // `
`\n cellSpacing: null, // `
`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // ``\n clear: null, // `
`. Use CSS `clear` instead\n code: null, // ``\n codeBase: null, // ``\n codeType: null, // ``\n color: null, // `` and `
`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // ``\n event: null, // `\n * ```\n *\n * The above example shows that elements are made available by browsers, by\n * their ID, on the `window` object.\n * This is a security risk because you might be expecting some other variable\n * at that place.\n * It can also break polyfills.\n * Using a prefix solves these problems.\n * @property {VFile | null | undefined} [file]\n * Corresponding virtual file representing the input document (optional).\n * @property {FootnoteBackContentTemplate | string | null | undefined} [footnoteBackContent]\n * Content of the backreference back to references (default: `defaultFootnoteBackContent`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackContent(_, rereferenceIndex) {\n * const result = [{type: 'text', value: '↩'}]\n *\n * if (rereferenceIndex > 1) {\n * result.push({\n * type: 'element',\n * tagName: 'sup',\n * properties: {},\n * children: [{type: 'text', value: String(rereferenceIndex)}]\n * })\n * }\n *\n * return result\n * }\n * ```\n *\n * This content is used in the `a` element of each backreference (the `↩`\n * links).\n * @property {FootnoteBackLabelTemplate | string | null | undefined} [footnoteBackLabel]\n * Label to describe the backreference back to references (default:\n * `defaultFootnoteBackLabel`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n * return (\n * 'Back to reference ' +\n * (referenceIndex + 1) +\n * (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n * )\n * }\n * ```\n *\n * Change it when the markdown is not in English.\n *\n * This label is used in the `ariaLabel` property on each backreference\n * (the `↩` links).\n * It affects users of assistive technology.\n * @property {string | null | undefined} [footnoteLabel='Footnotes']\n * Textual label to use for the footnotes section (default: `'Footnotes'`).\n *\n * Change it when the markdown is not in English.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]\n * Properties to use on the footnote label (default: `{className:\n * ['sr-only']}`).\n *\n * Change it to show the label and add other properties.\n *\n * This label is typically hidden visually (assuming an `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass an empty string.\n * You can also add different properties.\n *\n * > **Note**: `id: 'footnote-label'` is always added, because footnote\n * > calls use it with `aria-describedby` to provide an accessible label.\n * @property {string | null | undefined} [footnoteLabelTagName='h2']\n * HTML tag name to use for the footnote label element (default: `'h2'`).\n *\n * Change it to match your document structure.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {Handlers | null | undefined} [handlers]\n * Extra handlers for nodes (optional).\n * @property {Array | null | undefined} [passThrough]\n * List of custom mdast node types to pass through (keep) in hast (note that\n * the node itself is passed, but eventual children are transformed)\n * (optional).\n * @property {Handler | null | undefined} [unknownHandler]\n * Handler for all unknown nodes (optional).\n *\n * @typedef State\n * Info passed around.\n * @property {(node: MdastNodes) => Array} all\n * Transform the children of an mdast parent to hast.\n * @property {(from: MdastNodes, to: Type) => HastElement | Type} applyData\n * Honor the `data` of `from`, and generate an element instead of `node`.\n * @property {Map} definitionById\n * Definitions by their identifier.\n * @property {Map} footnoteById\n * Footnote definitions by their identifier.\n * @property {Map} footnoteCounts\n * Counts for how often the same footnote was called.\n * @property {Array} footnoteOrder\n * Identifiers of order when footnote calls first appear in tree order.\n * @property {Handlers} handlers\n * Applied handlers.\n * @property {(node: MdastNodes, parent: MdastParents | undefined) => Array | HastElementContent | undefined} one\n * Transform an mdast node to hast.\n * @property {Options} options\n * Configuration.\n * @property {(from: MdastNodes, node: HastNodes) => undefined} patch\n * Copy a node’s positional info.\n * @property {(nodes: Array, loose?: boolean | undefined) => Array} wrap\n * Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {visit} from 'unist-util-visit'\nimport {position} from 'unist-util-position'\nimport {handlers as defaultHandlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Create `state` from an mdast tree.\n *\n * @param {MdastNodes} tree\n * mdast node to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {State}\n * `state` function.\n */\nexport function createState(tree, options) {\n const settings = options || emptyOptions\n /** @type {Map} */\n const definitionById = new Map()\n /** @type {Map} */\n const footnoteById = new Map()\n /** @type {Map} */\n const footnoteCounts = new Map()\n /** @type {Handlers} */\n // @ts-expect-error: the root handler returns a root.\n // Hard to type.\n const handlers = {...defaultHandlers, ...settings.handlers}\n\n /** @type {State} */\n const state = {\n all,\n applyData,\n definitionById,\n footnoteById,\n footnoteCounts,\n footnoteOrder: [],\n handlers,\n one,\n options: settings,\n patch,\n wrap\n }\n\n visit(tree, function (node) {\n if (node.type === 'definition' || node.type === 'footnoteDefinition') {\n const map = node.type === 'definition' ? definitionById : footnoteById\n const id = String(node.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: .\n if (!map.has(id)) {\n // @ts-expect-error: node type matches map.\n map.set(id, node)\n }\n }\n })\n\n return state\n\n /**\n * Transform an mdast node into a hast node.\n *\n * @param {MdastNodes} node\n * mdast node.\n * @param {MdastParents | undefined} [parent]\n * Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n * Resulting hast node.\n */\n function one(node, parent) {\n const type = node.type\n const handle = state.handlers[type]\n\n if (own.call(state.handlers, type) && handle) {\n return handle(state, node, parent)\n }\n\n if (state.options.passThrough && state.options.passThrough.includes(type)) {\n if ('children' in node) {\n const {children, ...shallow} = node\n const result = structuredClone(shallow)\n // @ts-expect-error: TS doesn’t understand…\n result.children = state.all(node)\n // @ts-expect-error: TS doesn’t understand…\n return result\n }\n\n // @ts-expect-error: it’s custom.\n return structuredClone(node)\n }\n\n const unknown = state.options.unknownHandler || defaultUnknownHandler\n\n return unknown(state, node, parent)\n }\n\n /**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {MdastNodes} parent\n * mdast node to compile\n * @returns {Array}\n * Resulting hast nodes.\n */\n function all(parent) {\n /** @type {Array} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n while (++index < nodes.length) {\n const result = state.one(nodes[index], parent)\n\n // To do: see if we van clean this? Can we merge texts?\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = trimMarkdownSpaceStart(result.value)\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = trimMarkdownSpaceStart(head.value)\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n }\n}\n\n/**\n * Copy a node’s positional info.\n *\n * @param {MdastNodes} from\n * mdast node to copy from.\n * @param {HastNodes} to\n * hast node to copy into.\n * @returns {undefined}\n * Nothing.\n */\nfunction patch(from, to) {\n if (from.position) to.position = position(from)\n}\n\n/**\n * Honor the `data` of `from` and maybe generate an element instead of `to`.\n *\n * @template {HastNodes} Type\n * Node type.\n * @param {MdastNodes} from\n * mdast node to use data from.\n * @param {Type} to\n * hast node to change.\n * @returns {HastElement | Type}\n * Nothing.\n */\nfunction applyData(from, to) {\n /** @type {HastElement | Type} */\n let result = to\n\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (from && from.data) {\n const hName = from.data.hName\n const hChildren = from.data.hChildren\n const hProperties = from.data.hProperties\n\n if (typeof hName === 'string') {\n // Transforming the node resulted in an element with a different name\n // than wanted:\n if (result.type === 'element') {\n result.tagName = hName\n }\n // Transforming the node resulted in a non-element, which happens for\n // raw, text, and root nodes (unless custom handlers are passed).\n // The intent of `hName` is to create an element, but likely also to keep\n // the content around (otherwise: pass `hChildren`).\n else {\n /** @type {Array} */\n // @ts-expect-error: assume no doctypes in `root`.\n const children = 'children' in result ? result.children : [result]\n result = {type: 'element', tagName: hName, properties: {}, children}\n }\n }\n\n if (result.type === 'element' && hProperties) {\n Object.assign(result.properties, structuredClone(hProperties))\n }\n\n if (\n 'children' in result &&\n result.children &&\n hChildren !== null &&\n hChildren !== undefined\n ) {\n result.children = hChildren\n }\n }\n\n return result\n}\n\n/**\n * Transform an unknown node.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} node\n * Unknown mdast node.\n * @returns {HastElement | HastText}\n * Resulting hast node.\n */\nfunction defaultUnknownHandler(state, node) {\n const data = node.data || {}\n /** @type {HastElement | HastText} */\n const result =\n 'value' in node &&\n !(own.call(data, 'hProperties') || own.call(data, 'hChildren'))\n ? {type: 'text', value: node.value}\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: state.all(node)\n }\n\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * Wrap `nodes` with line endings between each node.\n *\n * @template {HastRootContent} Type\n * Node type.\n * @param {Array} nodes\n * List of nodes to wrap.\n * @param {boolean | undefined} [loose=false]\n * Whether to add line endings at start and end (default: `false`).\n * @returns {Array}\n * Wrapped nodes.\n */\nexport function wrap(nodes, loose) {\n /** @type {Array} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push({type: 'text', value: '\\n'})\n }\n\n while (++index < nodes.length) {\n if (index) result.push({type: 'text', value: '\\n'})\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push({type: 'text', value: '\\n'})\n }\n\n return result\n}\n\n/**\n * Trim spaces and tabs at the start of `value`.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Result.\n */\nfunction trimMarkdownSpaceStart(value) {\n let index = 0\n let code = value.charCodeAt(index)\n\n while (code === 9 || code === 32) {\n index++\n code = value.charCodeAt(index)\n }\n\n return value.slice(index)\n}\n","/**\n * @import {Nodes as HastNodes} from 'hast'\n * @import {Nodes as MdastNodes} from 'mdast'\n * @import {Options} from './state.js'\n */\n\nimport {ok as assert} from 'devlop'\nimport {footer} from './footer.js'\nimport {createState} from './state.js'\n\n/**\n * Transform mdast to hast.\n *\n * ##### Notes\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most utilities ignore `raw` nodes but two notable ones don’t:\n *\n * * `hast-util-to-html` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful\n * if you completely trust authors\n * * `hast-util-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only\n * way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `mdast-util-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * Example: headings (DOM clobbering) in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @param {MdastNodes} tree\n * mdast tree.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {HastNodes}\n * hast tree.\n */\nexport function toHast(tree, options) {\n const state = createState(tree, options)\n const node = state.one(tree, undefined)\n const foot = footer(state)\n /** @type {HastNodes} */\n const result = Array.isArray(node)\n ? {type: 'root', children: node}\n : node || {type: 'root', children: []}\n\n if (foot) {\n // If there’s a footer, there were definitions, meaning block\n // content.\n // So `result` is a parent node.\n assert('children' in result)\n result.children.push({type: 'text', value: '\\n'}, foot)\n }\n\n return result\n}\n","/**\n * @import {Root as HastRoot} from 'hast'\n * @import {Root as MdastRoot} from 'mdast'\n * @import {Options as ToHastOptions} from 'mdast-util-to-hast'\n * @import {Processor} from 'unified'\n * @import {VFile} from 'vfile'\n */\n\n/**\n * @typedef {Omit} Options\n *\n * @callback TransformBridge\n * Bridge-mode.\n *\n * Runs the destination with the new hast tree.\n * Discards result.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {Promise}\n * Nothing.\n *\n * @callback TransformMutate\n * Mutate-mode.\n *\n * Further transformers run on the hast tree.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {HastRoot}\n * Tree (hast).\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n/**\n * Turn markdown into HTML.\n *\n * ##### Notes\n *\n * ###### Signature\n *\n * * if a processor is given,\n * runs the (rehype) plugins used on it with a hast tree,\n * then discards the result (*bridge mode*)\n * * otherwise,\n * returns a hast tree,\n * the plugins used after `remarkRehype` are rehype plugins (*mutate mode*)\n *\n * > 👉 **Note**:\n * > It’s highly unlikely that you want to pass a `processor`.\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most plugins ignore `raw` nodes but two notable ones don’t:\n *\n * * `rehype-stringify` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful if\n * you completely trust authors\n * * `rehype-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc);\n * this is a heavy task as it needs a full HTML parser,\n * but it is the only way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark,\n * which we follow by default.\n * They are supported by GitHub,\n * so footnotes can be enabled in markdown with `remark-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes,\n * which is hidden for sighted users but shown to assistive technology.\n * When your page is not in English,\n * you must define translated values.\n *\n * Back references use ARIA attributes,\n * but the section label itself uses a heading that is hidden with an\n * `sr-only` class.\n * To show it to sighted users,\n * define different attributes in `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem,\n * as it links footnote calls to footnote definitions on the page through `id`\n * attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * *Example: headings (DOM clobbering)* in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value`\n * (and doesn’t have `data.hName`, `data.hProperties`, or `data.hChildren`,\n * see later),\n * create a hast `text` node\n * * otherwise,\n * create a `
` element (which could be changed with `data.hName`),\n * with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @overload\n * @param {Processor} processor\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformBridge}\n *\n * @overload\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformMutate}\n *\n * @overload\n * @param {Readonly | Processor | null | undefined} [destination]\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformBridge | TransformMutate}\n *\n * @param {Readonly | Processor | null | undefined} [destination]\n * Processor or configuration (optional).\n * @param {Readonly | null | undefined} [options]\n * When a processor was given,\n * configuration (optional).\n * @returns {TransformBridge | TransformMutate}\n * Transform.\n */\nexport default function remarkRehype(destination, options) {\n if (destination && 'run' in destination) {\n /**\n * @type {TransformBridge}\n */\n return async function (tree, file) {\n // Cast because root in -> root out.\n const hastTree = /** @type {HastRoot} */ (\n toHast(tree, {file, ...options})\n )\n await destination.run(hastTree, file)\n }\n }\n\n /**\n * @type {TransformMutate}\n */\n return function (tree, file) {\n // Cast because root in -> root out.\n // To do: in the future, disallow ` || options` fallback.\n // With `unified-engine`, `destination` can be `undefined` but\n // `options` will be the file set.\n // We should not pass that as `options`.\n return /** @type {HastRoot} */ (\n toHast(tree, {file, ...(destination || options)})\n )\n }\n}\n","/**\n * @typedef {import('mdast').Nodes} Nodes\n */\n\nimport {visit} from 'unist-util-visit'\n\n/**\n * Remove empty paragraphs in `tree`.\n *\n * @param {Nodes} tree\n * Tree to change.\n * @returns {undefined}\n * Nothing.\n */\nexport function squeezeParagraphs(tree) {\n visit(tree, function (node, index, parent) {\n if (\n index !== undefined &&\n parent &&\n node.type === 'paragraph' &&\n node.children.every(function (child) {\n return child.type === 'text' && /^\\s*$/.test(child.value)\n })\n ) {\n parent.children.splice(index, 1)\n return index\n }\n })\n}\n","import '../assets/NcRichText.css';\nimport { toString } from \"mdast-util-to-string\";\nimport rehypeExternalLinks from \"rehype-external-links\";\nimport rehype2react from \"rehype-react\";\nimport breaks from \"remark-breaks\";\nimport remarkParse from \"remark-parse\";\nimport remark2rehype from \"remark-rehype\";\nimport remarkUnlinkProtocols from \"remark-unlink-protocols\";\nimport { unified } from \"unified\";\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, Fragment, renderList, createBlock, createCommentVNode, defineComponent, unref, withCtx, createVNode, h, ref } from \"vue\";\nimport { RouterLink } from \"vue-router\";\nimport { N as NcCheckboxRadioSwitch } from \"./NcCheckboxRadioSwitch.mjs\";\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport axios from \"@nextcloud/axios\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { getSharingToken } from \"@nextcloud/sharing/public\";\nimport { N as NcReferenceWidget } from \"./NcReferenceWidget.mjs\";\nimport { l as logger } from \"./logger.mjs\";\nimport { U as URL_PATTERN, g as getRoute, N as NcRichTextExternalLink, p as parseUrl, r as remarkAutolink } from \"./autolink.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper.mjs\";\nimport { N as NcButton } from \"./NcButton.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper.mjs\";\nimport { u as useCopy } from \"./useCopy.mjs\";\nimport { c as createElementId } from \"./createElementId.mjs\";\nimport { u } from \"unist-builder\";\nimport { visitParents, EXIT, SKIP } from \"unist-util-visit-parents\";\nconst _sfc_main$2 = {\n name: \"NcReferenceList\",\n components: {\n NcReferenceWidget\n },\n props: {\n /**\n * The text to extract references from\n */\n text: {\n type: String,\n default: \"\"\n },\n /**\n * The data of the references to display.\n */\n referenceData: {\n type: Array,\n default: null\n },\n /**\n * The maximum number of references to display\n */\n limit: {\n type: Number,\n default: 1\n },\n /**\n * Show the fallback reference if no references are found\n */\n displayFallback: {\n type: Boolean,\n default: false\n },\n /**\n * Whether to render the widgets in interactive mode (if available)\n */\n interactive: {\n type: Boolean,\n default: true\n },\n /**\n * Whether to show user an option to enable to interactive mode for widgets (if available)\n */\n interactiveOptIn: {\n type: Boolean,\n default: false\n }\n },\n emits: [\"loaded\"],\n data() {\n return {\n references: null,\n loading: false\n };\n },\n computed: {\n isVisible() {\n return this.loading || this.displayedReferences.length !== 0;\n },\n values() {\n if (this.referenceData) {\n return this.referenceData;\n }\n if (this.displayFallback && !this.loading && !this.references) {\n return [this.fallbackReference];\n }\n return this.references ? Object.values(this.references) : [];\n },\n firstReference() {\n return this.values[0] ?? null;\n },\n displayedReferences() {\n return this.values.filter(Boolean).slice(0, this.limit);\n },\n fallbackReference() {\n return {\n accessible: true,\n openGraphObject: {\n id: this.text,\n link: this.text,\n name: this.text\n },\n richObjectType: \"open-graph\"\n };\n }\n },\n watch: {\n text: \"fetch\"\n },\n created() {\n this.fetch();\n },\n methods: {\n fetch() {\n this.loading = true;\n if (this.referenceData) {\n this.references = null;\n this.loading = false;\n return;\n }\n if (!new RegExp(URL_PATTERN).exec(this.text)) {\n this.references = null;\n this.loading = false;\n return;\n }\n this.resolve().then((response) => {\n this.references = response.data.ocs.data.references;\n this.loading = false;\n this.$emit(\"loaded\");\n }).catch((error) => {\n logger.error(\"[NcReferenceList] Failed to extract references\", { error });\n this.loading = false;\n this.$emit(\"loaded\");\n });\n },\n resolve() {\n const match = new RegExp(URL_PATTERN).exec(this.text.trim());\n const isPublic = getCurrentUser() === null;\n if (this.limit === 1 && match) {\n return isPublic ? axios.get(generateOcsUrl(\"references/resolvePublic\") + `?reference=${encodeURIComponent(match[0])}&sharingToken=${getSharingToken()}`) : axios.get(generateOcsUrl(\"references/resolve\") + `?reference=${encodeURIComponent(match[0])}`);\n }\n return isPublic ? axios.post(generateOcsUrl(\"references/extractPublic\"), {\n text: this.text,\n resolve: true,\n limit: this.limit,\n sharingToken: getSharingToken()\n }) : axios.post(generateOcsUrl(\"references/extract\"), {\n text: this.text,\n resolve: true,\n limit: this.limit\n });\n }\n }\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcReferenceWidget = resolveComponent(\"NcReferenceWidget\");\n return $options.isVisible ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"widgets--list\", { \"icon-loading\": $data.loading }])\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList($options.displayedReferences, (reference) => {\n return openBlock(), createBlock(_component_NcReferenceWidget, {\n key: reference.openGraphObject?.id,\n reference,\n interactive: $props.interactive,\n interactiveOptIn: $props.interactiveOptIn\n }, null, 8, [\"reference\", \"interactive\", \"interactiveOptIn\"]);\n }), 128))\n ], 2)) : createCommentVNode(\"\", true);\n}\nconst NcReferenceList = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-8db718e3\"]]);\nfunction ccount(value, character) {\n const source = String(value);\n if (typeof character !== \"string\") {\n throw new TypeError(\"Expected character\");\n }\n let count = 0;\n let index = source.indexOf(character);\n while (index !== -1) {\n count++;\n index = source.indexOf(character, index + character.length);\n }\n return count;\n}\nfunction ok$1() {\n}\nconst asciiAlpha = regexCheck(/[A-Za-z]/);\nconst asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/);\nfunction asciiControl(code2) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code2 !== null && (code2 < 32 || code2 === 127)\n );\n}\nfunction markdownLineEnding(code2) {\n return code2 !== null && code2 < -2;\n}\nfunction markdownLineEndingOrSpace(code2) {\n return code2 !== null && (code2 < 0 || code2 === 32);\n}\nfunction markdownSpace(code2) {\n return code2 === -2 || code2 === -1 || code2 === 32;\n}\nconst unicodePunctuation = regexCheck(new RegExp(\"\\\\p{P}|\\\\p{S}\", \"u\"));\nconst unicodeWhitespace = regexCheck(/\\s/);\nfunction regexCheck(regex) {\n return check;\n function check(code2) {\n return code2 !== null && code2 > -1 && regex.test(String.fromCharCode(code2));\n }\n}\nfunction escapeStringRegexp(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(\"Expected a string\");\n }\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\").replace(/-/g, \"\\\\x2d\");\n}\nconst convert = (\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((test?: Test) => Check)\n * )}\n */\n /**\n * @param {Test} [test]\n * @returns {Check}\n */\n (function(test) {\n if (test === null || test === void 0) {\n return ok;\n }\n if (typeof test === \"function\") {\n return castFactory(test);\n }\n if (typeof test === \"object\") {\n return Array.isArray(test) ? anyFactory(test) : (\n // Cast because `ReadonlyArray` goes into the above but `isArray`\n // narrows to `Array`.\n propertiesFactory(\n /** @type {Props} */\n test\n )\n );\n }\n if (typeof test === \"string\") {\n return typeFactory(test);\n }\n throw new Error(\"Expected function, string, or object as test\");\n })\n);\nfunction anyFactory(tests) {\n const checks = [];\n let index = -1;\n while (++index < tests.length) {\n checks[index] = convert(tests[index]);\n }\n return castFactory(any);\n function any(...parameters) {\n let index2 = -1;\n while (++index2 < checks.length) {\n if (checks[index2].apply(this, parameters)) return true;\n }\n return false;\n }\n}\nfunction propertiesFactory(check) {\n const checkAsRecord = (\n /** @type {Record} */\n check\n );\n return castFactory(all);\n function all(node) {\n const nodeAsRecord = (\n /** @type {Record} */\n /** @type {unknown} */\n node\n );\n let key;\n for (key in check) {\n if (nodeAsRecord[key] !== checkAsRecord[key]) return false;\n }\n return true;\n }\n}\nfunction typeFactory(check) {\n return castFactory(type);\n function type(node) {\n return node && node.type === check;\n }\n}\nfunction castFactory(testFunction) {\n return check;\n function check(value, index, parent) {\n return Boolean(\n looksLikeANode(value) && testFunction.call(\n this,\n value,\n typeof index === \"number\" ? index : void 0,\n parent || void 0\n )\n );\n }\n}\nfunction ok() {\n return true;\n}\nfunction looksLikeANode(value) {\n return value !== null && typeof value === \"object\" && \"type\" in value;\n}\nfunction findAndReplace(tree, list2, options) {\n const settings = options || {};\n const ignored = convert(settings.ignore || []);\n const pairs = toPairs(list2);\n let pairIndex = -1;\n while (++pairIndex < pairs.length) {\n visitParents(tree, \"text\", visitor);\n }\n function visitor(node, parents) {\n let index = -1;\n let grandparent;\n while (++index < parents.length) {\n const parent = parents[index];\n const siblings = grandparent ? grandparent.children : void 0;\n if (ignored(\n parent,\n siblings ? siblings.indexOf(parent) : void 0,\n grandparent\n )) {\n return;\n }\n grandparent = parent;\n }\n if (grandparent) {\n return handler(node, parents);\n }\n }\n function handler(node, parents) {\n const parent = parents[parents.length - 1];\n const find = pairs[pairIndex][0];\n const replace2 = pairs[pairIndex][1];\n let start = 0;\n const siblings = parent.children;\n const index = siblings.indexOf(node);\n let change = false;\n let nodes = [];\n find.lastIndex = 0;\n let match = find.exec(node.value);\n while (match) {\n const position = match.index;\n const matchObject = {\n index: match.index,\n input: match.input,\n stack: [...parents, node]\n };\n let value = replace2(...match, matchObject);\n if (typeof value === \"string\") {\n value = value.length > 0 ? { type: \"text\", value } : void 0;\n }\n if (value === false) {\n find.lastIndex = position + 1;\n } else {\n if (start !== position) {\n nodes.push({\n type: \"text\",\n value: node.value.slice(start, position)\n });\n }\n if (Array.isArray(value)) {\n nodes.push(...value);\n } else if (value) {\n nodes.push(value);\n }\n start = position + match[0].length;\n change = true;\n }\n if (!find.global) {\n break;\n }\n match = find.exec(node.value);\n }\n if (change) {\n if (start < node.value.length) {\n nodes.push({ type: \"text\", value: node.value.slice(start) });\n }\n parent.children.splice(index, 1, ...nodes);\n } else {\n nodes = [node];\n }\n return index + nodes.length;\n }\n}\nfunction toPairs(tupleOrList) {\n const result = [];\n if (!Array.isArray(tupleOrList)) {\n throw new TypeError(\"Expected find and replace tuple or list of tuples\");\n }\n const list2 = !tupleOrList[0] || Array.isArray(tupleOrList[0]) ? tupleOrList : [tupleOrList];\n let index = -1;\n while (++index < list2.length) {\n const tuple = list2[index];\n result.push([toExpression(tuple[0]), toFunction(tuple[1])]);\n }\n return result;\n}\nfunction toExpression(find) {\n return typeof find === \"string\" ? new RegExp(escapeStringRegexp(find), \"g\") : find;\n}\nfunction toFunction(replace2) {\n return typeof replace2 === \"function\" ? replace2 : function() {\n return replace2;\n };\n}\nconst inConstruct = \"phrasing\";\nconst notInConstruct = [\"autolink\", \"link\", \"image\", \"label\"];\nfunction gfmAutolinkLiteralFromMarkdown() {\n return {\n transforms: [transformGfmAutolinkLiterals],\n enter: {\n literalAutolink: enterLiteralAutolink,\n literalAutolinkEmail: enterLiteralAutolinkValue,\n literalAutolinkHttp: enterLiteralAutolinkValue,\n literalAutolinkWww: enterLiteralAutolinkValue\n },\n exit: {\n literalAutolink: exitLiteralAutolink,\n literalAutolinkEmail: exitLiteralAutolinkEmail,\n literalAutolinkHttp: exitLiteralAutolinkHttp,\n literalAutolinkWww: exitLiteralAutolinkWww\n }\n };\n}\nfunction gfmAutolinkLiteralToMarkdown() {\n return {\n unsafe: [\n {\n character: \"@\",\n before: \"[+\\\\-.\\\\w]\",\n after: \"[\\\\-.\\\\w]\",\n inConstruct,\n notInConstruct\n },\n {\n character: \".\",\n before: \"[Ww]\",\n after: \"[\\\\-.\\\\w]\",\n inConstruct,\n notInConstruct\n },\n {\n character: \":\",\n before: \"[ps]\",\n after: \"\\\\/\",\n inConstruct,\n notInConstruct\n }\n ]\n };\n}\nfunction enterLiteralAutolink(token) {\n this.enter({ type: \"link\", title: null, url: \"\", children: [] }, token);\n}\nfunction enterLiteralAutolinkValue(token) {\n this.config.enter.autolinkProtocol.call(this, token);\n}\nfunction exitLiteralAutolinkHttp(token) {\n this.config.exit.autolinkProtocol.call(this, token);\n}\nfunction exitLiteralAutolinkWww(token) {\n this.config.exit.data.call(this, token);\n const node = this.stack[this.stack.length - 1];\n ok$1(node.type === \"link\");\n node.url = \"http://\" + this.sliceSerialize(token);\n}\nfunction exitLiteralAutolinkEmail(token) {\n this.config.exit.autolinkEmail.call(this, token);\n}\nfunction exitLiteralAutolink(token) {\n this.exit(token);\n}\nfunction transformGfmAutolinkLiterals(tree) {\n findAndReplace(\n tree,\n [\n [/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi, findUrl],\n [/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/g, findEmail]\n ],\n { ignore: [\"link\", \"linkReference\"] }\n );\n}\nfunction findUrl(_, protocol, domain2, path2, match) {\n let prefix = \"\";\n if (!previous(match)) {\n return false;\n }\n if (/^w/i.test(protocol)) {\n domain2 = protocol + domain2;\n protocol = \"\";\n prefix = \"http://\";\n }\n if (!isCorrectDomain(domain2)) {\n return false;\n }\n const parts = splitUrl(domain2 + path2);\n if (!parts[0]) return false;\n const result = {\n type: \"link\",\n title: null,\n url: prefix + protocol + parts[0],\n children: [{ type: \"text\", value: protocol + parts[0] }]\n };\n if (parts[1]) {\n return [result, { type: \"text\", value: parts[1] }];\n }\n return result;\n}\nfunction findEmail(_, atext, label, match) {\n if (\n // Not an expected previous character.\n !previous(match, true) || // Label ends in not allowed character.\n /[-\\d_]$/.test(label)\n ) {\n return false;\n }\n return {\n type: \"link\",\n title: null,\n url: \"mailto:\" + atext + \"@\" + label,\n children: [{ type: \"text\", value: atext + \"@\" + label }]\n };\n}\nfunction isCorrectDomain(domain2) {\n const parts = domain2.split(\".\");\n if (parts.length < 2 || parts[parts.length - 1] && (/_/.test(parts[parts.length - 1]) || !/[a-zA-Z\\d]/.test(parts[parts.length - 1])) || parts[parts.length - 2] && (/_/.test(parts[parts.length - 2]) || !/[a-zA-Z\\d]/.test(parts[parts.length - 2]))) {\n return false;\n }\n return true;\n}\nfunction splitUrl(url) {\n const trailExec = /[!\"&'),.:;<>?\\]}]+$/.exec(url);\n if (!trailExec) {\n return [url, void 0];\n }\n url = url.slice(0, trailExec.index);\n let trail2 = trailExec[0];\n let closingParenIndex = trail2.indexOf(\")\");\n const openingParens = ccount(url, \"(\");\n let closingParens = ccount(url, \")\");\n while (closingParenIndex !== -1 && openingParens > closingParens) {\n url += trail2.slice(0, closingParenIndex + 1);\n trail2 = trail2.slice(closingParenIndex + 1);\n closingParenIndex = trail2.indexOf(\")\");\n closingParens++;\n }\n return [url, trail2];\n}\nfunction previous(match, email) {\n const code2 = match.input.charCodeAt(match.index - 1);\n return (match.index === 0 || unicodeWhitespace(code2) || unicodePunctuation(code2)) && (!email || code2 !== 47);\n}\nfunction normalizeIdentifier(value) {\n return value.replace(/[\\t\\n\\r ]+/g, \" \").replace(/^ | $/g, \"\").toLowerCase().toUpperCase();\n}\nfootnoteReference.peek = footnoteReferencePeek;\nfunction enterFootnoteCallString() {\n this.buffer();\n}\nfunction enterFootnoteCall(token) {\n this.enter({ type: \"footnoteReference\", identifier: \"\", label: \"\" }, token);\n}\nfunction enterFootnoteDefinitionLabelString() {\n this.buffer();\n}\nfunction enterFootnoteDefinition(token) {\n this.enter(\n { type: \"footnoteDefinition\", identifier: \"\", label: \"\", children: [] },\n token\n );\n}\nfunction exitFootnoteCallString(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n ok$1(node.type === \"footnoteReference\");\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n node.label = label;\n}\nfunction exitFootnoteCall(token) {\n this.exit(token);\n}\nfunction exitFootnoteDefinitionLabelString(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n ok$1(node.type === \"footnoteDefinition\");\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n node.label = label;\n}\nfunction exitFootnoteDefinition(token) {\n this.exit(token);\n}\nfunction footnoteReferencePeek() {\n return \"[\";\n}\nfunction footnoteReference(node, _, state, info) {\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[^\");\n const exit2 = state.enter(\"footnoteReference\");\n const subexit = state.enter(\"reference\");\n value += tracker.move(\n state.safe(state.associationId(node), { after: \"]\", before: value })\n );\n subexit();\n exit2();\n value += tracker.move(\"]\");\n return value;\n}\nfunction gfmFootnoteFromMarkdown() {\n return {\n enter: {\n gfmFootnoteCallString: enterFootnoteCallString,\n gfmFootnoteCall: enterFootnoteCall,\n gfmFootnoteDefinitionLabelString: enterFootnoteDefinitionLabelString,\n gfmFootnoteDefinition: enterFootnoteDefinition\n },\n exit: {\n gfmFootnoteCallString: exitFootnoteCallString,\n gfmFootnoteCall: exitFootnoteCall,\n gfmFootnoteDefinitionLabelString: exitFootnoteDefinitionLabelString,\n gfmFootnoteDefinition: exitFootnoteDefinition\n }\n };\n}\nfunction gfmFootnoteToMarkdown(options) {\n let firstLineBlank = false;\n if (options && options.firstLineBlank) {\n firstLineBlank = true;\n }\n return {\n handlers: { footnoteDefinition, footnoteReference },\n // This is on by default already.\n unsafe: [{ character: \"[\", inConstruct: [\"label\", \"phrasing\", \"reference\"] }]\n };\n function footnoteDefinition(node, _, state, info) {\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[^\");\n const exit2 = state.enter(\"footnoteDefinition\");\n const subexit = state.enter(\"label\");\n value += tracker.move(\n state.safe(state.associationId(node), { before: value, after: \"]\" })\n );\n subexit();\n value += tracker.move(\"]:\");\n if (node.children && node.children.length > 0) {\n tracker.shift(4);\n value += tracker.move(\n (firstLineBlank ? \"\\n\" : \" \") + state.indentLines(\n state.containerFlow(node, tracker.current()),\n firstLineBlank ? mapAll : mapExceptFirst\n )\n );\n }\n exit2();\n return value;\n }\n}\nfunction mapExceptFirst(line, index, blank) {\n return index === 0 ? line : mapAll(line, index, blank);\n}\nfunction mapAll(line, index, blank) {\n return (blank ? \"\" : \" \") + line;\n}\nconst constructsWithoutStrikethrough = [\n \"autolink\",\n \"destinationLiteral\",\n \"destinationRaw\",\n \"reference\",\n \"titleQuote\",\n \"titleApostrophe\"\n];\nhandleDelete.peek = peekDelete;\nfunction gfmStrikethroughFromMarkdown() {\n return {\n canContainEols: [\"delete\"],\n enter: { strikethrough: enterStrikethrough },\n exit: { strikethrough: exitStrikethrough }\n };\n}\nfunction gfmStrikethroughToMarkdown() {\n return {\n unsafe: [\n {\n character: \"~\",\n inConstruct: \"phrasing\",\n notInConstruct: constructsWithoutStrikethrough\n }\n ],\n handlers: { delete: handleDelete }\n };\n}\nfunction enterStrikethrough(token) {\n this.enter({ type: \"delete\", children: [] }, token);\n}\nfunction exitStrikethrough(token) {\n this.exit(token);\n}\nfunction handleDelete(node, _, state, info) {\n const tracker = state.createTracker(info);\n const exit2 = state.enter(\"strikethrough\");\n let value = tracker.move(\"~~\");\n value += state.containerPhrasing(node, {\n ...tracker.current(),\n before: value,\n after: \"~\"\n });\n value += tracker.move(\"~~\");\n exit2();\n return value;\n}\nfunction peekDelete() {\n return \"~\";\n}\nfunction defaultStringLength(value) {\n return value.length;\n}\nfunction markdownTable(table, options) {\n const settings = options || {};\n const align = (settings.align || []).concat();\n const stringLength = settings.stringLength || defaultStringLength;\n const alignments = [];\n const cellMatrix = [];\n const sizeMatrix = [];\n const longestCellByColumn = [];\n let mostCellsPerRow = 0;\n let rowIndex = -1;\n while (++rowIndex < table.length) {\n const row2 = [];\n const sizes2 = [];\n let columnIndex2 = -1;\n if (table[rowIndex].length > mostCellsPerRow) {\n mostCellsPerRow = table[rowIndex].length;\n }\n while (++columnIndex2 < table[rowIndex].length) {\n const cell = serialize(table[rowIndex][columnIndex2]);\n if (settings.alignDelimiters !== false) {\n const size = stringLength(cell);\n sizes2[columnIndex2] = size;\n if (longestCellByColumn[columnIndex2] === void 0 || size > longestCellByColumn[columnIndex2]) {\n longestCellByColumn[columnIndex2] = size;\n }\n }\n row2.push(cell);\n }\n cellMatrix[rowIndex] = row2;\n sizeMatrix[rowIndex] = sizes2;\n }\n let columnIndex = -1;\n if (typeof align === \"object\" && \"length\" in align) {\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = toAlignment(align[columnIndex]);\n }\n } else {\n const code2 = toAlignment(align);\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = code2;\n }\n }\n columnIndex = -1;\n const row = [];\n const sizes = [];\n while (++columnIndex < mostCellsPerRow) {\n const code2 = alignments[columnIndex];\n let before = \"\";\n let after = \"\";\n if (code2 === 99) {\n before = \":\";\n after = \":\";\n } else if (code2 === 108) {\n before = \":\";\n } else if (code2 === 114) {\n after = \":\";\n }\n let size = settings.alignDelimiters === false ? 1 : Math.max(\n 1,\n longestCellByColumn[columnIndex] - before.length - after.length\n );\n const cell = before + \"-\".repeat(size) + after;\n if (settings.alignDelimiters !== false) {\n size = before.length + size + after.length;\n if (size > longestCellByColumn[columnIndex]) {\n longestCellByColumn[columnIndex] = size;\n }\n sizes[columnIndex] = size;\n }\n row[columnIndex] = cell;\n }\n cellMatrix.splice(1, 0, row);\n sizeMatrix.splice(1, 0, sizes);\n rowIndex = -1;\n const lines = [];\n while (++rowIndex < cellMatrix.length) {\n const row2 = cellMatrix[rowIndex];\n const sizes2 = sizeMatrix[rowIndex];\n columnIndex = -1;\n const line = [];\n while (++columnIndex < mostCellsPerRow) {\n const cell = row2[columnIndex] || \"\";\n let before = \"\";\n let after = \"\";\n if (settings.alignDelimiters !== false) {\n const size = longestCellByColumn[columnIndex] - (sizes2[columnIndex] || 0);\n const code2 = alignments[columnIndex];\n if (code2 === 114) {\n before = \" \".repeat(size);\n } else if (code2 === 99) {\n if (size % 2) {\n before = \" \".repeat(size / 2 + 0.5);\n after = \" \".repeat(size / 2 - 0.5);\n } else {\n before = \" \".repeat(size / 2);\n after = before;\n }\n } else {\n after = \" \".repeat(size);\n }\n }\n if (settings.delimiterStart !== false && !columnIndex) {\n line.push(\"|\");\n }\n if (settings.padding !== false && // Don’t add the opening space if we’re not aligning and the cell is\n // empty: there will be a closing space.\n !(settings.alignDelimiters === false && cell === \"\") && (settings.delimiterStart !== false || columnIndex)) {\n line.push(\" \");\n }\n if (settings.alignDelimiters !== false) {\n line.push(before);\n }\n line.push(cell);\n if (settings.alignDelimiters !== false) {\n line.push(after);\n }\n if (settings.padding !== false) {\n line.push(\" \");\n }\n if (settings.delimiterEnd !== false || columnIndex !== mostCellsPerRow - 1) {\n line.push(\"|\");\n }\n }\n lines.push(\n settings.delimiterEnd === false ? line.join(\"\").replace(/ +$/, \"\") : line.join(\"\")\n );\n }\n return lines.join(\"\\n\");\n}\nfunction serialize(value) {\n return value === null || value === void 0 ? \"\" : String(value);\n}\nfunction toAlignment(value) {\n const code2 = typeof value === \"string\" ? value.codePointAt(0) : 0;\n return code2 === 67 || code2 === 99 ? 99 : code2 === 76 || code2 === 108 ? 108 : code2 === 82 || code2 === 114 ? 114 : 0;\n}\nfunction blockquote(node, _, state, info) {\n const exit2 = state.enter(\"blockquote\");\n const tracker = state.createTracker(info);\n tracker.move(\"> \");\n tracker.shift(2);\n const value = state.indentLines(\n state.containerFlow(node, tracker.current()),\n map$1\n );\n exit2();\n return value;\n}\nfunction map$1(line, _, blank) {\n return \">\" + (blank ? \"\" : \" \") + line;\n}\nfunction patternInScope(stack, pattern) {\n return listInScope(stack, pattern.inConstruct, true) && !listInScope(stack, pattern.notInConstruct, false);\n}\nfunction listInScope(stack, list2, none) {\n if (typeof list2 === \"string\") {\n list2 = [list2];\n }\n if (!list2 || list2.length === 0) {\n return none;\n }\n let index = -1;\n while (++index < list2.length) {\n if (stack.includes(list2[index])) {\n return true;\n }\n }\n return false;\n}\nfunction hardBreak(_, _1, state, info) {\n let index = -1;\n while (++index < state.unsafe.length) {\n if (state.unsafe[index].character === \"\\n\" && patternInScope(state.stack, state.unsafe[index])) {\n return /[ \\t]/.test(info.before) ? \"\" : \" \";\n }\n }\n return \"\\\\\\n\";\n}\nfunction longestStreak(value, substring) {\n const source = String(value);\n let index = source.indexOf(substring);\n let expected = index;\n let count = 0;\n let max = 0;\n if (typeof substring !== \"string\") {\n throw new TypeError(\"Expected substring\");\n }\n while (index !== -1) {\n if (index === expected) {\n if (++count > max) {\n max = count;\n }\n } else {\n count = 1;\n }\n expected = index + substring.length;\n index = source.indexOf(substring, expected);\n }\n return max;\n}\nfunction formatCodeAsIndented(node, state) {\n return Boolean(\n state.options.fences === false && node.value && // If there’s no info…\n !node.lang && // And there’s a non-whitespace character…\n /[^ \\r\\n]/.test(node.value) && // And the value doesn’t start or end in a blank…\n !/^[\\t ]*(?:[\\r\\n]|$)|(?:^|[\\r\\n])[\\t ]*$/.test(node.value)\n );\n}\nfunction checkFence(state) {\n const marker = state.options.fence || \"`\";\n if (marker !== \"`\" && marker !== \"~\") {\n throw new Error(\n \"Cannot serialize code with `\" + marker + \"` for `options.fence`, expected `` ` `` or `~`\"\n );\n }\n return marker;\n}\nfunction code$1(node, _, state, info) {\n const marker = checkFence(state);\n const raw = node.value || \"\";\n const suffix = marker === \"`\" ? \"GraveAccent\" : \"Tilde\";\n if (formatCodeAsIndented(node, state)) {\n const exit3 = state.enter(\"codeIndented\");\n const value2 = state.indentLines(raw, map);\n exit3();\n return value2;\n }\n const tracker = state.createTracker(info);\n const sequence = marker.repeat(Math.max(longestStreak(raw, marker) + 1, 3));\n const exit2 = state.enter(\"codeFenced\");\n let value = tracker.move(sequence);\n if (node.lang) {\n const subexit = state.enter(`codeFencedLang${suffix}`);\n value += tracker.move(\n state.safe(node.lang, {\n before: value,\n after: \" \",\n encode: [\"`\"],\n ...tracker.current()\n })\n );\n subexit();\n }\n if (node.lang && node.meta) {\n const subexit = state.enter(`codeFencedMeta${suffix}`);\n value += tracker.move(\" \");\n value += tracker.move(\n state.safe(node.meta, {\n before: value,\n after: \"\\n\",\n encode: [\"`\"],\n ...tracker.current()\n })\n );\n subexit();\n }\n value += tracker.move(\"\\n\");\n if (raw) {\n value += tracker.move(raw + \"\\n\");\n }\n value += tracker.move(sequence);\n exit2();\n return value;\n}\nfunction map(line, _, blank) {\n return (blank ? \"\" : \" \") + line;\n}\nfunction checkQuote(state) {\n const marker = state.options.quote || '\"';\n if (marker !== '\"' && marker !== \"'\") {\n throw new Error(\n \"Cannot serialize title with `\" + marker + \"` for `options.quote`, expected `\\\"`, or `'`\"\n );\n }\n return marker;\n}\nfunction definition(node, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const exit2 = state.enter(\"definition\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[\");\n value += tracker.move(\n state.safe(state.associationId(node), {\n before: value,\n after: \"]\",\n ...tracker.current()\n })\n );\n value += tracker.move(\"]: \");\n subexit();\n if (\n // If there’s no url, or…\n !node.url || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? \" \" : \"\\n\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n exit2();\n return value;\n}\nfunction checkEmphasis(state) {\n const marker = state.options.emphasis || \"*\";\n if (marker !== \"*\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize emphasis with `\" + marker + \"` for `options.emphasis`, expected `*`, or `_`\"\n );\n }\n return marker;\n}\nfunction encodeCharacterReference(code2) {\n return \"&#x\" + code2.toString(16).toUpperCase() + \";\";\n}\nfunction classifyCharacter(code2) {\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return 1;\n }\n if (unicodePunctuation(code2)) {\n return 2;\n }\n}\nfunction encodeInfo(outside, inside, marker) {\n const outsideKind = classifyCharacter(outside);\n const insideKind = classifyCharacter(inside);\n if (outsideKind === void 0) {\n return insideKind === void 0 ? (\n // Letter inside:\n // we have to encode *both* letters for `_` as it is looser.\n // it already forms for `*` (and GFMs `~`).\n marker === \"_\" ? { inside: true, outside: true } : { inside: false, outside: false }\n ) : insideKind === 1 ? (\n // Whitespace inside: encode both (letter, whitespace).\n { inside: true, outside: true }\n ) : (\n // Punctuation inside: encode outer (letter)\n { inside: false, outside: true }\n );\n }\n if (outsideKind === 1) {\n return insideKind === void 0 ? (\n // Letter inside: already forms.\n { inside: false, outside: false }\n ) : insideKind === 1 ? (\n // Whitespace inside: encode both (whitespace).\n { inside: true, outside: true }\n ) : (\n // Punctuation inside: already forms.\n { inside: false, outside: false }\n );\n }\n return insideKind === void 0 ? (\n // Letter inside: already forms.\n { inside: false, outside: false }\n ) : insideKind === 1 ? (\n // Whitespace inside: encode inner (whitespace).\n { inside: true, outside: false }\n ) : (\n // Punctuation inside: already forms.\n { inside: false, outside: false }\n );\n}\nemphasis.peek = emphasisPeek;\nfunction emphasis(node, _, state, info) {\n const marker = checkEmphasis(state);\n const exit2 = state.enter(\"emphasis\");\n const tracker = state.createTracker(info);\n const before = tracker.move(marker);\n let between = tracker.move(\n state.containerPhrasing(node, {\n after: marker,\n before,\n ...tracker.current()\n })\n );\n const betweenHead = between.charCodeAt(0);\n const open = encodeInfo(\n info.before.charCodeAt(info.before.length - 1),\n betweenHead,\n marker\n );\n if (open.inside) {\n between = encodeCharacterReference(betweenHead) + between.slice(1);\n }\n const betweenTail = between.charCodeAt(between.length - 1);\n const close = encodeInfo(info.after.charCodeAt(0), betweenTail, marker);\n if (close.inside) {\n between = between.slice(0, -1) + encodeCharacterReference(betweenTail);\n }\n const after = tracker.move(marker);\n exit2();\n state.attentionEncodeSurroundingInfo = {\n after: close.outside,\n before: open.outside\n };\n return before + between + after;\n}\nfunction emphasisPeek(_, _1, state) {\n return state.options.emphasis || \"*\";\n}\nfunction visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {\n let reverse;\n let test;\n let visitor;\n if (typeof testOrVisitor === \"function\" && typeof visitorOrReverse !== \"function\") {\n test = void 0;\n visitor = testOrVisitor;\n reverse = visitorOrReverse;\n } else {\n test = testOrVisitor;\n visitor = visitorOrReverse;\n reverse = maybeReverse;\n }\n visitParents(tree, test, overload, reverse);\n function overload(node, parents) {\n const parent = parents[parents.length - 1];\n const index = parent ? parent.children.indexOf(node) : void 0;\n return visitor(node, index, parent);\n }\n}\nfunction formatHeadingAsSetext(node, state) {\n let literalWithBreak = false;\n visit(node, function(node2) {\n if (\"value\" in node2 && /\\r?\\n|\\r/.test(node2.value) || node2.type === \"break\") {\n literalWithBreak = true;\n return EXIT;\n }\n });\n return Boolean(\n (!node.depth || node.depth < 3) && toString(node) && (state.options.setext || literalWithBreak)\n );\n}\nfunction heading(node, _, state, info) {\n const rank = Math.max(Math.min(6, node.depth || 1), 1);\n const tracker = state.createTracker(info);\n if (formatHeadingAsSetext(node, state)) {\n const exit3 = state.enter(\"headingSetext\");\n const subexit2 = state.enter(\"phrasing\");\n const value2 = state.containerPhrasing(node, {\n ...tracker.current(),\n before: \"\\n\",\n after: \"\\n\"\n });\n subexit2();\n exit3();\n return value2 + \"\\n\" + (rank === 1 ? \"=\" : \"-\").repeat(\n // The whole size…\n value2.length - // Minus the position of the character after the last EOL (or\n // 0 if there is none)…\n (Math.max(value2.lastIndexOf(\"\\r\"), value2.lastIndexOf(\"\\n\")) + 1)\n );\n }\n const sequence = \"#\".repeat(rank);\n const exit2 = state.enter(\"headingAtx\");\n const subexit = state.enter(\"phrasing\");\n tracker.move(sequence + \" \");\n let value = state.containerPhrasing(node, {\n before: \"# \",\n after: \"\\n\",\n ...tracker.current()\n });\n if (/^[\\t ]/.test(value)) {\n value = encodeCharacterReference(value.charCodeAt(0)) + value.slice(1);\n }\n value = value ? sequence + \" \" + value : sequence;\n if (state.options.closeAtx) {\n value += \" \" + sequence;\n }\n subexit();\n exit2();\n return value;\n}\nhtml.peek = htmlPeek;\nfunction html(node) {\n return node.value || \"\";\n}\nfunction htmlPeek() {\n return \"<\";\n}\nimage.peek = imagePeek;\nfunction image(node, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const exit2 = state.enter(\"image\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"![\");\n value += tracker.move(\n state.safe(node.alt, { before: value, after: \"]\", ...tracker.current() })\n );\n value += tracker.move(\"](\");\n subexit();\n if (\n // If there’s no url but there is a title…\n !node.url && node.title || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? \" \" : \")\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n value += tracker.move(\")\");\n exit2();\n return value;\n}\nfunction imagePeek() {\n return \"!\";\n}\nimageReference.peek = imageReferencePeek;\nfunction imageReference(node, _, state, info) {\n const type = node.referenceType;\n const exit2 = state.enter(\"imageReference\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"![\");\n const alt = state.safe(node.alt, {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n value += tracker.move(alt + \"][\");\n subexit();\n const stack = state.stack;\n state.stack = [];\n subexit = state.enter(\"reference\");\n const reference = state.safe(state.associationId(node), {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n subexit();\n state.stack = stack;\n exit2();\n if (type === \"full\" || !alt || alt !== reference) {\n value += tracker.move(reference + \"]\");\n } else if (type === \"shortcut\") {\n value = value.slice(0, -1);\n } else {\n value += tracker.move(\"]\");\n }\n return value;\n}\nfunction imageReferencePeek() {\n return \"!\";\n}\ninlineCode.peek = inlineCodePeek;\nfunction inlineCode(node, _, state) {\n let value = node.value || \"\";\n let sequence = \"`\";\n let index = -1;\n while (new RegExp(\"(^|[^`])\" + sequence + \"([^`]|$)\").test(value)) {\n sequence += \"`\";\n }\n if (/[^ \\r\\n]/.test(value) && (/^[ \\r\\n]/.test(value) && /[ \\r\\n]$/.test(value) || /^`|`$/.test(value))) {\n value = \" \" + value + \" \";\n }\n while (++index < state.unsafe.length) {\n const pattern = state.unsafe[index];\n const expression = state.compilePattern(pattern);\n let match;\n if (!pattern.atBreak) continue;\n while (match = expression.exec(value)) {\n let position = match.index;\n if (value.charCodeAt(position) === 10 && value.charCodeAt(position - 1) === 13) {\n position--;\n }\n value = value.slice(0, position) + \" \" + value.slice(match.index + 1);\n }\n }\n return sequence + value + sequence;\n}\nfunction inlineCodePeek() {\n return \"`\";\n}\nfunction formatLinkAsAutolink(node, state) {\n const raw = toString(node);\n return Boolean(\n !state.options.resourceLink && // If there’s a url…\n node.url && // And there’s a no title…\n !node.title && // And the content of `node` is a single text node…\n node.children && node.children.length === 1 && node.children[0].type === \"text\" && // And if the url is the same as the content…\n (raw === node.url || \"mailto:\" + raw === node.url) && // And that starts w/ a protocol…\n /^[a-z][a-z+.-]+:/i.test(node.url) && // And that doesn’t contain ASCII control codes (character escapes and\n // references don’t work), space, or angle brackets…\n !/[\\0- <>\\u007F]/.test(node.url)\n );\n}\nlink.peek = linkPeek;\nfunction link(node, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const tracker = state.createTracker(info);\n let exit2;\n let subexit;\n if (formatLinkAsAutolink(node, state)) {\n const stack = state.stack;\n state.stack = [];\n exit2 = state.enter(\"autolink\");\n let value2 = tracker.move(\"<\");\n value2 += tracker.move(\n state.containerPhrasing(node, {\n before: value2,\n after: \">\",\n ...tracker.current()\n })\n );\n value2 += tracker.move(\">\");\n exit2();\n state.stack = stack;\n return value2;\n }\n exit2 = state.enter(\"link\");\n subexit = state.enter(\"label\");\n let value = tracker.move(\"[\");\n value += tracker.move(\n state.containerPhrasing(node, {\n before: value,\n after: \"](\",\n ...tracker.current()\n })\n );\n value += tracker.move(\"](\");\n subexit();\n if (\n // If there’s no url but there is a title…\n !node.url && node.title || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? \" \" : \")\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n value += tracker.move(\")\");\n exit2();\n return value;\n}\nfunction linkPeek(node, _, state) {\n return formatLinkAsAutolink(node, state) ? \"<\" : \"[\";\n}\nlinkReference.peek = linkReferencePeek;\nfunction linkReference(node, _, state, info) {\n const type = node.referenceType;\n const exit2 = state.enter(\"linkReference\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[\");\n const text2 = state.containerPhrasing(node, {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n value += tracker.move(text2 + \"][\");\n subexit();\n const stack = state.stack;\n state.stack = [];\n subexit = state.enter(\"reference\");\n const reference = state.safe(state.associationId(node), {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n subexit();\n state.stack = stack;\n exit2();\n if (type === \"full\" || !text2 || text2 !== reference) {\n value += tracker.move(reference + \"]\");\n } else if (type === \"shortcut\") {\n value = value.slice(0, -1);\n } else {\n value += tracker.move(\"]\");\n }\n return value;\n}\nfunction linkReferencePeek() {\n return \"[\";\n}\nfunction checkBullet(state) {\n const marker = state.options.bullet || \"*\";\n if (marker !== \"*\" && marker !== \"+\" && marker !== \"-\") {\n throw new Error(\n \"Cannot serialize items with `\" + marker + \"` for `options.bullet`, expected `*`, `+`, or `-`\"\n );\n }\n return marker;\n}\nfunction checkBulletOther(state) {\n const bullet = checkBullet(state);\n const bulletOther = state.options.bulletOther;\n if (!bulletOther) {\n return bullet === \"*\" ? \"-\" : \"*\";\n }\n if (bulletOther !== \"*\" && bulletOther !== \"+\" && bulletOther !== \"-\") {\n throw new Error(\n \"Cannot serialize items with `\" + bulletOther + \"` for `options.bulletOther`, expected `*`, `+`, or `-`\"\n );\n }\n if (bulletOther === bullet) {\n throw new Error(\n \"Expected `bullet` (`\" + bullet + \"`) and `bulletOther` (`\" + bulletOther + \"`) to be different\"\n );\n }\n return bulletOther;\n}\nfunction checkBulletOrdered(state) {\n const marker = state.options.bulletOrdered || \".\";\n if (marker !== \".\" && marker !== \")\") {\n throw new Error(\n \"Cannot serialize items with `\" + marker + \"` for `options.bulletOrdered`, expected `.` or `)`\"\n );\n }\n return marker;\n}\nfunction checkRule(state) {\n const marker = state.options.rule || \"*\";\n if (marker !== \"*\" && marker !== \"-\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize rules with `\" + marker + \"` for `options.rule`, expected `*`, `-`, or `_`\"\n );\n }\n return marker;\n}\nfunction list(node, parent, state, info) {\n const exit2 = state.enter(\"list\");\n const bulletCurrent = state.bulletCurrent;\n let bullet = node.ordered ? checkBulletOrdered(state) : checkBullet(state);\n const bulletOther = node.ordered ? bullet === \".\" ? \")\" : \".\" : checkBulletOther(state);\n let useDifferentMarker = parent && state.bulletLastUsed ? bullet === state.bulletLastUsed : false;\n if (!node.ordered) {\n const firstListItem = node.children ? node.children[0] : void 0;\n if (\n // Bullet could be used as a thematic break marker:\n (bullet === \"*\" || bullet === \"-\") && // Empty first list item:\n firstListItem && (!firstListItem.children || !firstListItem.children[0]) && // Directly in two other list items:\n state.stack[state.stack.length - 1] === \"list\" && state.stack[state.stack.length - 2] === \"listItem\" && state.stack[state.stack.length - 3] === \"list\" && state.stack[state.stack.length - 4] === \"listItem\" && // That are each the first child.\n state.indexStack[state.indexStack.length - 1] === 0 && state.indexStack[state.indexStack.length - 2] === 0 && state.indexStack[state.indexStack.length - 3] === 0\n ) {\n useDifferentMarker = true;\n }\n if (checkRule(state) === bullet && firstListItem) {\n let index = -1;\n while (++index < node.children.length) {\n const item = node.children[index];\n if (item && item.type === \"listItem\" && item.children && item.children[0] && item.children[0].type === \"thematicBreak\") {\n useDifferentMarker = true;\n break;\n }\n }\n }\n }\n if (useDifferentMarker) {\n bullet = bulletOther;\n }\n state.bulletCurrent = bullet;\n const value = state.containerFlow(node, info);\n state.bulletLastUsed = bullet;\n state.bulletCurrent = bulletCurrent;\n exit2();\n return value;\n}\nfunction checkListItemIndent(state) {\n const style = state.options.listItemIndent || \"one\";\n if (style !== \"tab\" && style !== \"one\" && style !== \"mixed\") {\n throw new Error(\n \"Cannot serialize items with `\" + style + \"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`\"\n );\n }\n return style;\n}\nfunction listItem(node, parent, state, info) {\n const listItemIndent = checkListItemIndent(state);\n let bullet = state.bulletCurrent || checkBullet(state);\n if (parent && parent.type === \"list\" && parent.ordered) {\n bullet = (typeof parent.start === \"number\" && parent.start > -1 ? parent.start : 1) + (state.options.incrementListMarker === false ? 0 : parent.children.indexOf(node)) + bullet;\n }\n let size = bullet.length + 1;\n if (listItemIndent === \"tab\" || listItemIndent === \"mixed\" && (parent && parent.type === \"list\" && parent.spread || node.spread)) {\n size = Math.ceil(size / 4) * 4;\n }\n const tracker = state.createTracker(info);\n tracker.move(bullet + \" \".repeat(size - bullet.length));\n tracker.shift(size);\n const exit2 = state.enter(\"listItem\");\n const value = state.indentLines(\n state.containerFlow(node, tracker.current()),\n map2\n );\n exit2();\n return value;\n function map2(line, index, blank) {\n if (index) {\n return (blank ? \"\" : \" \".repeat(size)) + line;\n }\n return (blank ? bullet : bullet + \" \".repeat(size - bullet.length)) + line;\n }\n}\nfunction paragraph(node, _, state, info) {\n const exit2 = state.enter(\"paragraph\");\n const subexit = state.enter(\"phrasing\");\n const value = state.containerPhrasing(node, info);\n subexit();\n exit2();\n return value;\n}\nconst phrasing = (\n /** @type {(node?: unknown) => node is Exclude} */\n convert([\n \"break\",\n \"delete\",\n \"emphasis\",\n // To do: next major: removed since footnotes were added to GFM.\n \"footnote\",\n \"footnoteReference\",\n \"image\",\n \"imageReference\",\n \"inlineCode\",\n // Enabled by `mdast-util-math`:\n \"inlineMath\",\n \"link\",\n \"linkReference\",\n // Enabled by `mdast-util-mdx`:\n \"mdxJsxTextElement\",\n // Enabled by `mdast-util-mdx`:\n \"mdxTextExpression\",\n \"strong\",\n \"text\",\n // Enabled by `mdast-util-directive`:\n \"textDirective\"\n ])\n);\nfunction root(node, _, state, info) {\n const hasPhrasing = node.children.some(function(d) {\n return phrasing(d);\n });\n const container = hasPhrasing ? state.containerPhrasing : state.containerFlow;\n return container.call(state, node, info);\n}\nfunction checkStrong(state) {\n const marker = state.options.strong || \"*\";\n if (marker !== \"*\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize strong with `\" + marker + \"` for `options.strong`, expected `*`, or `_`\"\n );\n }\n return marker;\n}\nstrong.peek = strongPeek;\nfunction strong(node, _, state, info) {\n const marker = checkStrong(state);\n const exit2 = state.enter(\"strong\");\n const tracker = state.createTracker(info);\n const before = tracker.move(marker + marker);\n let between = tracker.move(\n state.containerPhrasing(node, {\n after: marker,\n before,\n ...tracker.current()\n })\n );\n const betweenHead = between.charCodeAt(0);\n const open = encodeInfo(\n info.before.charCodeAt(info.before.length - 1),\n betweenHead,\n marker\n );\n if (open.inside) {\n between = encodeCharacterReference(betweenHead) + between.slice(1);\n }\n const betweenTail = between.charCodeAt(between.length - 1);\n const close = encodeInfo(info.after.charCodeAt(0), betweenTail, marker);\n if (close.inside) {\n between = between.slice(0, -1) + encodeCharacterReference(betweenTail);\n }\n const after = tracker.move(marker + marker);\n exit2();\n state.attentionEncodeSurroundingInfo = {\n after: close.outside,\n before: open.outside\n };\n return before + between + after;\n}\nfunction strongPeek(_, _1, state) {\n return state.options.strong || \"*\";\n}\nfunction text$1(node, _, state, info) {\n return state.safe(node.value, info);\n}\nfunction checkRuleRepetition(state) {\n const repetition = state.options.ruleRepetition || 3;\n if (repetition < 3) {\n throw new Error(\n \"Cannot serialize rules with repetition `\" + repetition + \"` for `options.ruleRepetition`, expected `3` or more\"\n );\n }\n return repetition;\n}\nfunction thematicBreak(_, _1, state) {\n const value = (checkRule(state) + (state.options.ruleSpaces ? \" \" : \"\")).repeat(checkRuleRepetition(state));\n return state.options.ruleSpaces ? value.slice(0, -1) : value;\n}\nconst handle = {\n blockquote,\n break: hardBreak,\n code: code$1,\n definition,\n emphasis,\n hardBreak,\n heading,\n html,\n image,\n imageReference,\n inlineCode,\n link,\n linkReference,\n list,\n listItem,\n paragraph,\n root,\n strong,\n text: text$1,\n thematicBreak\n};\nfunction gfmTableFromMarkdown() {\n return {\n enter: {\n table: enterTable,\n tableData: enterCell,\n tableHeader: enterCell,\n tableRow: enterRow\n },\n exit: {\n codeText: exitCodeText,\n table: exitTable,\n tableData: exit,\n tableHeader: exit,\n tableRow: exit\n }\n };\n}\nfunction enterTable(token) {\n const align = token._align;\n this.enter(\n {\n type: \"table\",\n align: align.map(function(d) {\n return d === \"none\" ? null : d;\n }),\n children: []\n },\n token\n );\n this.data.inTable = true;\n}\nfunction exitTable(token) {\n this.exit(token);\n this.data.inTable = void 0;\n}\nfunction enterRow(token) {\n this.enter({ type: \"tableRow\", children: [] }, token);\n}\nfunction exit(token) {\n this.exit(token);\n}\nfunction enterCell(token) {\n this.enter({ type: \"tableCell\", children: [] }, token);\n}\nfunction exitCodeText(token) {\n let value = this.resume();\n if (this.data.inTable) {\n value = value.replace(/\\\\([\\\\|])/g, replace);\n }\n const node = this.stack[this.stack.length - 1];\n ok$1(node.type === \"inlineCode\");\n node.value = value;\n this.exit(token);\n}\nfunction replace($0, $1) {\n return $1 === \"|\" ? $1 : $0;\n}\nfunction gfmTableToMarkdown(options) {\n const settings = options || {};\n const padding = settings.tableCellPadding;\n const alignDelimiters = settings.tablePipeAlign;\n const stringLength = settings.stringLength;\n const around = padding ? \" \" : \"|\";\n return {\n unsafe: [\n { character: \"\\r\", inConstruct: \"tableCell\" },\n { character: \"\\n\", inConstruct: \"tableCell\" },\n // A pipe, when followed by a tab or space (padding), or a dash or colon\n // (unpadded delimiter row), could result in a table.\n { atBreak: true, character: \"|\", after: \"[\t :-]\" },\n // A pipe in a cell must be encoded.\n { character: \"|\", inConstruct: \"tableCell\" },\n // A colon must be followed by a dash, in which case it could start a\n // delimiter row.\n { atBreak: true, character: \":\", after: \"-\" },\n // A delimiter row can also start with a dash, when followed by more\n // dashes, a colon, or a pipe.\n // This is a stricter version than the built in check for lists, thematic\n // breaks, and setex heading underlines though:\n // \n { atBreak: true, character: \"-\", after: \"[:|-]\" }\n ],\n handlers: {\n inlineCode: inlineCodeWithTable,\n table: handleTable,\n tableCell: handleTableCell,\n tableRow: handleTableRow\n }\n };\n function handleTable(node, _, state, info) {\n return serializeData(handleTableAsData(node, state, info), node.align);\n }\n function handleTableRow(node, _, state, info) {\n const row = handleTableRowAsData(node, state, info);\n const value = serializeData([row]);\n return value.slice(0, value.indexOf(\"\\n\"));\n }\n function handleTableCell(node, _, state, info) {\n const exit2 = state.enter(\"tableCell\");\n const subexit = state.enter(\"phrasing\");\n const value = state.containerPhrasing(node, {\n ...info,\n before: around,\n after: around\n });\n subexit();\n exit2();\n return value;\n }\n function serializeData(matrix, align) {\n return markdownTable(matrix, {\n align,\n // @ts-expect-error: `markdown-table` types should support `null`.\n alignDelimiters,\n // @ts-expect-error: `markdown-table` types should support `null`.\n padding,\n // @ts-expect-error: `markdown-table` types should support `null`.\n stringLength\n });\n }\n function handleTableAsData(node, state, info) {\n const children = node.children;\n let index = -1;\n const result = [];\n const subexit = state.enter(\"table\");\n while (++index < children.length) {\n result[index] = handleTableRowAsData(children[index], state, info);\n }\n subexit();\n return result;\n }\n function handleTableRowAsData(node, state, info) {\n const children = node.children;\n let index = -1;\n const result = [];\n const subexit = state.enter(\"tableRow\");\n while (++index < children.length) {\n result[index] = handleTableCell(children[index], node, state, info);\n }\n subexit();\n return result;\n }\n function inlineCodeWithTable(node, parent, state) {\n let value = handle.inlineCode(node, parent, state);\n if (state.stack.includes(\"tableCell\")) {\n value = value.replace(/\\|/g, \"\\\\$&\");\n }\n return value;\n }\n}\nfunction gfmTaskListItemFromMarkdown() {\n return {\n exit: {\n taskListCheckValueChecked: exitCheck,\n taskListCheckValueUnchecked: exitCheck,\n paragraph: exitParagraphWithTaskListItem\n }\n };\n}\nfunction gfmTaskListItemToMarkdown() {\n return {\n unsafe: [{ atBreak: true, character: \"-\", after: \"[:|-]\" }],\n handlers: { listItem: listItemWithTaskListItem }\n };\n}\nfunction exitCheck(token) {\n const node = this.stack[this.stack.length - 2];\n ok$1(node.type === \"listItem\");\n node.checked = token.type === \"taskListCheckValueChecked\";\n}\nfunction exitParagraphWithTaskListItem(token) {\n const parent = this.stack[this.stack.length - 2];\n if (parent && parent.type === \"listItem\" && typeof parent.checked === \"boolean\") {\n const node = this.stack[this.stack.length - 1];\n ok$1(node.type === \"paragraph\");\n const head = node.children[0];\n if (head && head.type === \"text\") {\n const siblings = parent.children;\n let index = -1;\n let firstParaghraph;\n while (++index < siblings.length) {\n const sibling = siblings[index];\n if (sibling.type === \"paragraph\") {\n firstParaghraph = sibling;\n break;\n }\n }\n if (firstParaghraph === node) {\n head.value = head.value.slice(1);\n if (head.value.length === 0) {\n node.children.shift();\n } else if (node.position && head.position && typeof head.position.start.offset === \"number\") {\n head.position.start.column++;\n head.position.start.offset++;\n node.position.start = Object.assign({}, head.position.start);\n }\n }\n }\n }\n this.exit(token);\n}\nfunction listItemWithTaskListItem(node, parent, state, info) {\n const head = node.children[0];\n const checkable = typeof node.checked === \"boolean\" && head && head.type === \"paragraph\";\n const checkbox = \"[\" + (node.checked ? \"x\" : \" \") + \"] \";\n const tracker = state.createTracker(info);\n if (checkable) {\n tracker.move(checkbox);\n }\n let value = handle.listItem(node, parent, state, {\n ...info,\n ...tracker.current()\n });\n if (checkable) {\n value = value.replace(/^(?:[*+-]|\\d+\\.)([\\r\\n]| {1,3})/, check);\n }\n return value;\n function check($0) {\n return $0 + checkbox;\n }\n}\nfunction gfmFromMarkdown() {\n return [\n gfmAutolinkLiteralFromMarkdown(),\n gfmFootnoteFromMarkdown(),\n gfmStrikethroughFromMarkdown(),\n gfmTableFromMarkdown(),\n gfmTaskListItemFromMarkdown()\n ];\n}\nfunction gfmToMarkdown(options) {\n return {\n extensions: [\n gfmAutolinkLiteralToMarkdown(),\n gfmFootnoteToMarkdown(options),\n gfmStrikethroughToMarkdown(),\n gfmTableToMarkdown(options),\n gfmTaskListItemToMarkdown()\n ]\n };\n}\nfunction splice(list2, start, remove, items) {\n const end = list2.length;\n let chunkStart = 0;\n let parameters;\n if (start < 0) {\n start = -start > end ? 0 : end + start;\n } else {\n start = start > end ? end : start;\n }\n remove = remove > 0 ? remove : 0;\n if (items.length < 1e4) {\n parameters = Array.from(items);\n parameters.unshift(start, remove);\n list2.splice(...parameters);\n } else {\n if (remove) list2.splice(start, remove);\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 1e4);\n parameters.unshift(start, 0);\n list2.splice(...parameters);\n chunkStart += 1e4;\n start += 1e4;\n }\n }\n}\nconst hasOwnProperty = {}.hasOwnProperty;\nfunction combineExtensions(extensions) {\n const all = {};\n let index = -1;\n while (++index < extensions.length) {\n syntaxExtension(all, extensions[index]);\n }\n return all;\n}\nfunction syntaxExtension(all, extension) {\n let hook;\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : void 0;\n const left = maybe || (all[hook] = {});\n const right = extension[hook];\n let code2;\n if (right) {\n for (code2 in right) {\n if (!hasOwnProperty.call(left, code2)) left[code2] = [];\n const value = right[code2];\n constructs(\n // @ts-expect-error Looks like a list.\n left[code2],\n Array.isArray(value) ? value : value ? [value] : []\n );\n }\n }\n }\n}\nfunction constructs(existing, list2) {\n let index = -1;\n const before = [];\n while (++index < list2.length) {\n (list2[index].add === \"after\" ? existing : before).push(list2[index]);\n }\n splice(existing, 0, 0, before);\n}\nconst wwwPrefix = {\n tokenize: tokenizeWwwPrefix,\n partial: true\n};\nconst domain = {\n tokenize: tokenizeDomain,\n partial: true\n};\nconst path = {\n tokenize: tokenizePath,\n partial: true\n};\nconst trail = {\n tokenize: tokenizeTrail,\n partial: true\n};\nconst emailDomainDotTrail = {\n tokenize: tokenizeEmailDomainDotTrail,\n partial: true\n};\nconst wwwAutolink = {\n name: \"wwwAutolink\",\n tokenize: tokenizeWwwAutolink,\n previous: previousWww\n};\nconst protocolAutolink = {\n name: \"protocolAutolink\",\n tokenize: tokenizeProtocolAutolink,\n previous: previousProtocol\n};\nconst emailAutolink = {\n name: \"emailAutolink\",\n tokenize: tokenizeEmailAutolink,\n previous: previousEmail\n};\nconst text = {};\nfunction gfmAutolinkLiteral() {\n return {\n text\n };\n}\nlet code = 48;\nwhile (code < 123) {\n text[code] = emailAutolink;\n code++;\n if (code === 58) code = 65;\n else if (code === 91) code = 97;\n}\ntext[43] = emailAutolink;\ntext[45] = emailAutolink;\ntext[46] = emailAutolink;\ntext[95] = emailAutolink;\ntext[72] = [emailAutolink, protocolAutolink];\ntext[104] = [emailAutolink, protocolAutolink];\ntext[87] = [emailAutolink, wwwAutolink];\ntext[119] = [emailAutolink, wwwAutolink];\nfunction tokenizeEmailAutolink(effects, ok2, nok) {\n const self = this;\n let dot;\n let data;\n return start;\n function start(code2) {\n if (!gfmAtext(code2) || !previousEmail.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code2);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkEmail\");\n return atext(code2);\n }\n function atext(code2) {\n if (gfmAtext(code2)) {\n effects.consume(code2);\n return atext;\n }\n if (code2 === 64) {\n effects.consume(code2);\n return emailDomain;\n }\n return nok(code2);\n }\n function emailDomain(code2) {\n if (code2 === 46) {\n return effects.check(emailDomainDotTrail, emailDomainAfter, emailDomainDot)(code2);\n }\n if (code2 === 45 || code2 === 95 || asciiAlphanumeric(code2)) {\n data = true;\n effects.consume(code2);\n return emailDomain;\n }\n return emailDomainAfter(code2);\n }\n function emailDomainDot(code2) {\n effects.consume(code2);\n dot = true;\n return emailDomain;\n }\n function emailDomainAfter(code2) {\n if (data && dot && asciiAlpha(self.previous)) {\n effects.exit(\"literalAutolinkEmail\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n return nok(code2);\n }\n}\nfunction tokenizeWwwAutolink(effects, ok2, nok) {\n const self = this;\n return wwwStart;\n function wwwStart(code2) {\n if (code2 !== 87 && code2 !== 119 || !previousWww.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code2);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkWww\");\n return effects.check(wwwPrefix, effects.attempt(domain, effects.attempt(path, wwwAfter), nok), nok)(code2);\n }\n function wwwAfter(code2) {\n effects.exit(\"literalAutolinkWww\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n}\nfunction tokenizeProtocolAutolink(effects, ok2, nok) {\n const self = this;\n let buffer = \"\";\n let seen = false;\n return protocolStart;\n function protocolStart(code2) {\n if ((code2 === 72 || code2 === 104) && previousProtocol.call(self, self.previous) && !previousUnbalanced(self.events)) {\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkHttp\");\n buffer += String.fromCodePoint(code2);\n effects.consume(code2);\n return protocolPrefixInside;\n }\n return nok(code2);\n }\n function protocolPrefixInside(code2) {\n if (asciiAlpha(code2) && buffer.length < 5) {\n buffer += String.fromCodePoint(code2);\n effects.consume(code2);\n return protocolPrefixInside;\n }\n if (code2 === 58) {\n const protocol = buffer.toLowerCase();\n if (protocol === \"http\" || protocol === \"https\") {\n effects.consume(code2);\n return protocolSlashesInside;\n }\n }\n return nok(code2);\n }\n function protocolSlashesInside(code2) {\n if (code2 === 47) {\n effects.consume(code2);\n if (seen) {\n return afterProtocol;\n }\n seen = true;\n return protocolSlashesInside;\n }\n return nok(code2);\n }\n function afterProtocol(code2) {\n return code2 === null || asciiControl(code2) || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2) || unicodePunctuation(code2) ? nok(code2) : effects.attempt(domain, effects.attempt(path, protocolAfter), nok)(code2);\n }\n function protocolAfter(code2) {\n effects.exit(\"literalAutolinkHttp\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n}\nfunction tokenizeWwwPrefix(effects, ok2, nok) {\n let size = 0;\n return wwwPrefixInside;\n function wwwPrefixInside(code2) {\n if ((code2 === 87 || code2 === 119) && size < 3) {\n size++;\n effects.consume(code2);\n return wwwPrefixInside;\n }\n if (code2 === 46 && size === 3) {\n effects.consume(code2);\n return wwwPrefixAfter;\n }\n return nok(code2);\n }\n function wwwPrefixAfter(code2) {\n return code2 === null ? nok(code2) : ok2(code2);\n }\n}\nfunction tokenizeDomain(effects, ok2, nok) {\n let underscoreInLastSegment;\n let underscoreInLastLastSegment;\n let seen;\n return domainInside;\n function domainInside(code2) {\n if (code2 === 46 || code2 === 95) {\n return effects.check(trail, domainAfter, domainAtPunctuation)(code2);\n }\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2) || code2 !== 45 && unicodePunctuation(code2)) {\n return domainAfter(code2);\n }\n seen = true;\n effects.consume(code2);\n return domainInside;\n }\n function domainAtPunctuation(code2) {\n if (code2 === 95) {\n underscoreInLastSegment = true;\n } else {\n underscoreInLastLastSegment = underscoreInLastSegment;\n underscoreInLastSegment = void 0;\n }\n effects.consume(code2);\n return domainInside;\n }\n function domainAfter(code2) {\n if (underscoreInLastLastSegment || underscoreInLastSegment || !seen) {\n return nok(code2);\n }\n return ok2(code2);\n }\n}\nfunction tokenizePath(effects, ok2) {\n let sizeOpen = 0;\n let sizeClose = 0;\n return pathInside;\n function pathInside(code2) {\n if (code2 === 40) {\n sizeOpen++;\n effects.consume(code2);\n return pathInside;\n }\n if (code2 === 41 && sizeClose < sizeOpen) {\n return pathAtPunctuation(code2);\n }\n if (code2 === 33 || code2 === 34 || code2 === 38 || code2 === 39 || code2 === 41 || code2 === 42 || code2 === 44 || code2 === 46 || code2 === 58 || code2 === 59 || code2 === 60 || code2 === 63 || code2 === 93 || code2 === 95 || code2 === 126) {\n return effects.check(trail, ok2, pathAtPunctuation)(code2);\n }\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return ok2(code2);\n }\n effects.consume(code2);\n return pathInside;\n }\n function pathAtPunctuation(code2) {\n if (code2 === 41) {\n sizeClose++;\n }\n effects.consume(code2);\n return pathInside;\n }\n}\nfunction tokenizeTrail(effects, ok2, nok) {\n return trail2;\n function trail2(code2) {\n if (code2 === 33 || code2 === 34 || code2 === 39 || code2 === 41 || code2 === 42 || code2 === 44 || code2 === 46 || code2 === 58 || code2 === 59 || code2 === 63 || code2 === 95 || code2 === 126) {\n effects.consume(code2);\n return trail2;\n }\n if (code2 === 38) {\n effects.consume(code2);\n return trailCharacterReferenceStart;\n }\n if (code2 === 93) {\n effects.consume(code2);\n return trailBracketAfter;\n }\n if (\n // `<` is an end.\n code2 === 60 || // So is whitespace.\n code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)\n ) {\n return ok2(code2);\n }\n return nok(code2);\n }\n function trailBracketAfter(code2) {\n if (code2 === null || code2 === 40 || code2 === 91 || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return ok2(code2);\n }\n return trail2(code2);\n }\n function trailCharacterReferenceStart(code2) {\n return asciiAlpha(code2) ? trailCharacterReferenceInside(code2) : nok(code2);\n }\n function trailCharacterReferenceInside(code2) {\n if (code2 === 59) {\n effects.consume(code2);\n return trail2;\n }\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n return trailCharacterReferenceInside;\n }\n return nok(code2);\n }\n}\nfunction tokenizeEmailDomainDotTrail(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.consume(code2);\n return after;\n }\n function after(code2) {\n return asciiAlphanumeric(code2) ? nok(code2) : ok2(code2);\n }\n}\nfunction previousWww(code2) {\n return code2 === null || code2 === 40 || code2 === 42 || code2 === 95 || code2 === 91 || code2 === 93 || code2 === 126 || markdownLineEndingOrSpace(code2);\n}\nfunction previousProtocol(code2) {\n return !asciiAlpha(code2);\n}\nfunction previousEmail(code2) {\n return !(code2 === 47 || gfmAtext(code2));\n}\nfunction gfmAtext(code2) {\n return code2 === 43 || code2 === 45 || code2 === 46 || code2 === 95 || asciiAlphanumeric(code2);\n}\nfunction previousUnbalanced(events) {\n let index = events.length;\n let result = false;\n while (index--) {\n const token = events[index][1];\n if ((token.type === \"labelLink\" || token.type === \"labelImage\") && !token._balanced) {\n result = true;\n break;\n }\n if (token._gfmAutolinkLiteralWalkedInto) {\n result = false;\n break;\n }\n }\n if (events.length > 0 && !result) {\n events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true;\n }\n return result;\n}\nfunction resolveAll(constructs2, events, context) {\n const called = [];\n let index = -1;\n while (++index < constructs2.length) {\n const resolve = constructs2[index].resolveAll;\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context);\n called.push(resolve);\n }\n }\n return events;\n}\nfunction factorySpace(effects, ok2, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY;\n let size = 0;\n return start;\n function start(code2) {\n if (markdownSpace(code2)) {\n effects.enter(type);\n return prefix(code2);\n }\n return ok2(code2);\n }\n function prefix(code2) {\n if (markdownSpace(code2) && size++ < limit) {\n effects.consume(code2);\n return prefix;\n }\n effects.exit(type);\n return ok2(code2);\n }\n}\nconst blankLine = {\n partial: true,\n tokenize: tokenizeBlankLine\n};\nfunction tokenizeBlankLine(effects, ok2, nok) {\n return start;\n function start(code2) {\n return markdownSpace(code2) ? factorySpace(effects, after, \"linePrefix\")(code2) : after(code2);\n }\n function after(code2) {\n return code2 === null || markdownLineEnding(code2) ? ok2(code2) : nok(code2);\n }\n}\nconst indent = {\n tokenize: tokenizeIndent,\n partial: true\n};\nfunction gfmFootnote() {\n return {\n document: {\n [91]: {\n name: \"gfmFootnoteDefinition\",\n tokenize: tokenizeDefinitionStart,\n continuation: {\n tokenize: tokenizeDefinitionContinuation\n },\n exit: gfmFootnoteDefinitionEnd\n }\n },\n text: {\n [91]: {\n name: \"gfmFootnoteCall\",\n tokenize: tokenizeGfmFootnoteCall\n },\n [93]: {\n name: \"gfmPotentialFootnoteCall\",\n add: \"after\",\n tokenize: tokenizePotentialGfmFootnoteCall,\n resolveTo: resolveToPotentialGfmFootnoteCall\n }\n }\n };\n}\nfunction tokenizePotentialGfmFootnoteCall(effects, ok2, nok) {\n const self = this;\n let index = self.events.length;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let labelStart;\n while (index--) {\n const token = self.events[index][1];\n if (token.type === \"labelImage\") {\n labelStart = token;\n break;\n }\n if (token.type === \"gfmFootnoteCall\" || token.type === \"labelLink\" || token.type === \"label\" || token.type === \"image\" || token.type === \"link\") {\n break;\n }\n }\n return start;\n function start(code2) {\n if (!labelStart || !labelStart._balanced) {\n return nok(code2);\n }\n const id = normalizeIdentifier(self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n }));\n if (id.codePointAt(0) !== 94 || !defined.includes(id.slice(1))) {\n return nok(code2);\n }\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n return ok2(code2);\n }\n}\nfunction resolveToPotentialGfmFootnoteCall(events, context) {\n let index = events.length;\n while (index--) {\n if (events[index][1].type === \"labelImage\" && events[index][0] === \"enter\") {\n events[index][1];\n break;\n }\n }\n events[index + 1][1].type = \"data\";\n events[index + 3][1].type = \"gfmFootnoteCallLabelMarker\";\n const call = {\n type: \"gfmFootnoteCall\",\n start: Object.assign({}, events[index + 3][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n };\n const marker = {\n type: \"gfmFootnoteCallMarker\",\n start: Object.assign({}, events[index + 3][1].end),\n end: Object.assign({}, events[index + 3][1].end)\n };\n marker.end.column++;\n marker.end.offset++;\n marker.end._bufferIndex++;\n const string = {\n type: \"gfmFootnoteCallString\",\n start: Object.assign({}, marker.end),\n end: Object.assign({}, events[events.length - 1][1].start)\n };\n const chunk = {\n type: \"chunkString\",\n contentType: \"string\",\n start: Object.assign({}, string.start),\n end: Object.assign({}, string.end)\n };\n const replacement = [\n // Take the `labelImageMarker` (now `data`, the `!`)\n events[index + 1],\n events[index + 2],\n [\"enter\", call, context],\n // The `[`\n events[index + 3],\n events[index + 4],\n // The `^`.\n [\"enter\", marker, context],\n [\"exit\", marker, context],\n // Everything in between.\n [\"enter\", string, context],\n [\"enter\", chunk, context],\n [\"exit\", chunk, context],\n [\"exit\", string, context],\n // The ending (`]`, properly parsed and labelled).\n events[events.length - 2],\n events[events.length - 1],\n [\"exit\", call, context]\n ];\n events.splice(index, events.length - index + 1, ...replacement);\n return events;\n}\nfunction tokenizeGfmFootnoteCall(effects, ok2, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(\"gfmFootnoteCall\");\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n return callStart;\n }\n function callStart(code2) {\n if (code2 !== 94) return nok(code2);\n effects.enter(\"gfmFootnoteCallMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallMarker\");\n effects.enter(\"gfmFootnoteCallString\");\n effects.enter(\"chunkString\").contentType = \"string\";\n return callData;\n }\n function callData(code2) {\n if (\n // Too long.\n size > 999 || // Closing brace with nothing.\n code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)\n ) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(\"chunkString\");\n const token = effects.exit(\"gfmFootnoteCallString\");\n if (!defined.includes(normalizeIdentifier(self.sliceSerialize(token)))) {\n return nok(code2);\n }\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n effects.exit(\"gfmFootnoteCall\");\n return ok2;\n }\n if (!markdownLineEndingOrSpace(code2)) {\n data = true;\n }\n size++;\n effects.consume(code2);\n return code2 === 92 ? callEscape : callData;\n }\n function callEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return callData;\n }\n return callData(code2);\n }\n}\nfunction tokenizeDefinitionStart(effects, ok2, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let identifier;\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(\"gfmFootnoteDefinition\")._container = true;\n effects.enter(\"gfmFootnoteDefinitionLabel\");\n effects.enter(\"gfmFootnoteDefinitionLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionLabelMarker\");\n return labelAtMarker;\n }\n function labelAtMarker(code2) {\n if (code2 === 94) {\n effects.enter(\"gfmFootnoteDefinitionMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionMarker\");\n effects.enter(\"gfmFootnoteDefinitionLabelString\");\n effects.enter(\"chunkString\").contentType = \"string\";\n return labelInside;\n }\n return nok(code2);\n }\n function labelInside(code2) {\n if (\n // Too long.\n size > 999 || // Closing brace with nothing.\n code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)\n ) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(\"chunkString\");\n const token = effects.exit(\"gfmFootnoteDefinitionLabelString\");\n identifier = normalizeIdentifier(self.sliceSerialize(token));\n effects.enter(\"gfmFootnoteDefinitionLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionLabelMarker\");\n effects.exit(\"gfmFootnoteDefinitionLabel\");\n return labelAfter;\n }\n if (!markdownLineEndingOrSpace(code2)) {\n data = true;\n }\n size++;\n effects.consume(code2);\n return code2 === 92 ? labelEscape : labelInside;\n }\n function labelEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return labelInside;\n }\n return labelInside(code2);\n }\n function labelAfter(code2) {\n if (code2 === 58) {\n effects.enter(\"definitionMarker\");\n effects.consume(code2);\n effects.exit(\"definitionMarker\");\n if (!defined.includes(identifier)) {\n defined.push(identifier);\n }\n return factorySpace(effects, whitespaceAfter, \"gfmFootnoteDefinitionWhitespace\");\n }\n return nok(code2);\n }\n function whitespaceAfter(code2) {\n return ok2(code2);\n }\n}\nfunction tokenizeDefinitionContinuation(effects, ok2, nok) {\n return effects.check(blankLine, ok2, effects.attempt(indent, ok2, nok));\n}\nfunction gfmFootnoteDefinitionEnd(effects) {\n effects.exit(\"gfmFootnoteDefinition\");\n}\nfunction tokenizeIndent(effects, ok2, nok) {\n const self = this;\n return factorySpace(effects, afterPrefix, \"gfmFootnoteDefinitionIndent\", 4 + 1);\n function afterPrefix(code2) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"gfmFootnoteDefinitionIndent\" && tail[2].sliceSerialize(tail[1], true).length === 4 ? ok2(code2) : nok(code2);\n }\n}\nfunction gfmStrikethrough(options) {\n const options_ = options || {};\n let single = options_.singleTilde;\n const tokenizer = {\n name: \"strikethrough\",\n tokenize: tokenizeStrikethrough,\n resolveAll: resolveAllStrikethrough\n };\n if (single === null || single === void 0) {\n single = true;\n }\n return {\n text: {\n [126]: tokenizer\n },\n insideSpan: {\n null: [tokenizer]\n },\n attentionMarkers: {\n null: [126]\n }\n };\n function resolveAllStrikethrough(events, context) {\n let index = -1;\n while (++index < events.length) {\n if (events[index][0] === \"enter\" && events[index][1].type === \"strikethroughSequenceTemporary\" && events[index][1]._close) {\n let open = index;\n while (open--) {\n if (events[open][0] === \"exit\" && events[open][1].type === \"strikethroughSequenceTemporary\" && events[open][1]._open && // If the sizes are the same:\n events[index][1].end.offset - events[index][1].start.offset === events[open][1].end.offset - events[open][1].start.offset) {\n events[index][1].type = \"strikethroughSequence\";\n events[open][1].type = \"strikethroughSequence\";\n const strikethrough = {\n type: \"strikethrough\",\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[index][1].end)\n };\n const text2 = {\n type: \"strikethroughText\",\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n };\n const nextEvents = [[\"enter\", strikethrough, context], [\"enter\", events[open][1], context], [\"exit\", events[open][1], context], [\"enter\", text2, context]];\n const insideSpan = context.parser.constructs.insideSpan.null;\n if (insideSpan) {\n splice(nextEvents, nextEvents.length, 0, resolveAll(insideSpan, events.slice(open + 1, index), context));\n }\n splice(nextEvents, nextEvents.length, 0, [[\"exit\", text2, context], [\"enter\", events[index][1], context], [\"exit\", events[index][1], context], [\"exit\", strikethrough, context]]);\n splice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - 2;\n break;\n }\n }\n }\n }\n index = -1;\n while (++index < events.length) {\n if (events[index][1].type === \"strikethroughSequenceTemporary\") {\n events[index][1].type = \"data\";\n }\n }\n return events;\n }\n function tokenizeStrikethrough(effects, ok2, nok) {\n const previous2 = this.previous;\n const events = this.events;\n let size = 0;\n return start;\n function start(code2) {\n if (previous2 === 126 && events[events.length - 1][1].type !== \"characterEscape\") {\n return nok(code2);\n }\n effects.enter(\"strikethroughSequenceTemporary\");\n return more(code2);\n }\n function more(code2) {\n const before = classifyCharacter(previous2);\n if (code2 === 126) {\n if (size > 1) return nok(code2);\n effects.consume(code2);\n size++;\n return more;\n }\n if (size < 2 && !single) return nok(code2);\n const token = effects.exit(\"strikethroughSequenceTemporary\");\n const after = classifyCharacter(code2);\n token._open = !after || after === 2 && Boolean(before);\n token._close = !before || before === 2 && Boolean(after);\n return ok2(code2);\n }\n }\n}\nclass EditMap {\n /**\n * Create a new edit map.\n */\n constructor() {\n this.map = [];\n }\n /**\n * Create an edit: a remove and/or add at a certain place.\n *\n * @param {number} index\n * @param {number} remove\n * @param {Array} add\n * @returns {undefined}\n */\n add(index, remove, add) {\n addImplementation(this, index, remove, add);\n }\n // To do: add this when moving to `micromark`.\n // /**\n // * Create an edit: but insert `add` before existing additions.\n // *\n // * @param {number} index\n // * @param {number} remove\n // * @param {Array} add\n // * @returns {undefined}\n // */\n // addBefore(index, remove, add) {\n // addImplementation(this, index, remove, add, true)\n // }\n /**\n * Done, change the events.\n *\n * @param {Array} events\n * @returns {undefined}\n */\n consume(events) {\n this.map.sort(function(a, b) {\n return a[0] - b[0];\n });\n if (this.map.length === 0) {\n return;\n }\n let index = this.map.length;\n const vecs = [];\n while (index > 0) {\n index -= 1;\n vecs.push(events.slice(this.map[index][0] + this.map[index][1]), this.map[index][2]);\n events.length = this.map[index][0];\n }\n vecs.push(events.slice());\n events.length = 0;\n let slice = vecs.pop();\n while (slice) {\n for (const element of slice) {\n events.push(element);\n }\n slice = vecs.pop();\n }\n this.map.length = 0;\n }\n}\nfunction addImplementation(editMap, at, remove, add) {\n let index = 0;\n if (remove === 0 && add.length === 0) {\n return;\n }\n while (index < editMap.map.length) {\n if (editMap.map[index][0] === at) {\n editMap.map[index][1] += remove;\n editMap.map[index][2].push(...add);\n return;\n }\n index += 1;\n }\n editMap.map.push([at, remove, add]);\n}\nfunction gfmTableAlign(events, index) {\n let inDelimiterRow = false;\n const align = [];\n while (index < events.length) {\n const event = events[index];\n if (inDelimiterRow) {\n if (event[0] === \"enter\") {\n if (event[1].type === \"tableContent\") {\n align.push(events[index + 1][1].type === \"tableDelimiterMarker\" ? \"left\" : \"none\");\n }\n } else if (event[1].type === \"tableContent\") {\n if (events[index - 1][1].type === \"tableDelimiterMarker\") {\n const alignIndex = align.length - 1;\n align[alignIndex] = align[alignIndex] === \"left\" ? \"center\" : \"right\";\n }\n } else if (event[1].type === \"tableDelimiterRow\") {\n break;\n }\n } else if (event[0] === \"enter\" && event[1].type === \"tableDelimiterRow\") {\n inDelimiterRow = true;\n }\n index += 1;\n }\n return align;\n}\nfunction gfmTable() {\n return {\n flow: {\n null: {\n name: \"table\",\n tokenize: tokenizeTable,\n resolveAll: resolveTable\n }\n }\n };\n}\nfunction tokenizeTable(effects, ok2, nok) {\n const self = this;\n let size = 0;\n let sizeB = 0;\n let seen;\n return start;\n function start(code2) {\n let index = self.events.length - 1;\n while (index > -1) {\n const type = self.events[index][1].type;\n if (type === \"lineEnding\" || // Note: markdown-rs uses `whitespace` instead of `linePrefix`\n type === \"linePrefix\") index--;\n else break;\n }\n const tail = index > -1 ? self.events[index][1].type : null;\n const next = tail === \"tableHead\" || tail === \"tableRow\" ? bodyRowStart : headRowBefore;\n if (next === bodyRowStart && self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n return next(code2);\n }\n function headRowBefore(code2) {\n effects.enter(\"tableHead\");\n effects.enter(\"tableRow\");\n return headRowStart(code2);\n }\n function headRowStart(code2) {\n if (code2 === 124) {\n return headRowBreak(code2);\n }\n seen = true;\n sizeB += 1;\n return headRowBreak(code2);\n }\n function headRowBreak(code2) {\n if (code2 === null) {\n return nok(code2);\n }\n if (markdownLineEnding(code2)) {\n if (sizeB > 1) {\n sizeB = 0;\n self.interrupt = true;\n effects.exit(\"tableRow\");\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return headDelimiterStart;\n }\n return nok(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, headRowBreak, \"whitespace\")(code2);\n }\n sizeB += 1;\n if (seen) {\n seen = false;\n size += 1;\n }\n if (code2 === 124) {\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n seen = true;\n return headRowBreak;\n }\n effects.enter(\"data\");\n return headRowData(code2);\n }\n function headRowData(code2) {\n if (code2 === null || code2 === 124 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"data\");\n return headRowBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? headRowEscape : headRowData;\n }\n function headRowEscape(code2) {\n if (code2 === 92 || code2 === 124) {\n effects.consume(code2);\n return headRowData;\n }\n return headRowData(code2);\n }\n function headDelimiterStart(code2) {\n self.interrupt = false;\n if (self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n effects.enter(\"tableDelimiterRow\");\n seen = false;\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterBefore, \"linePrefix\", self.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4)(code2);\n }\n return headDelimiterBefore(code2);\n }\n function headDelimiterBefore(code2) {\n if (code2 === 45 || code2 === 58) {\n return headDelimiterValueBefore(code2);\n }\n if (code2 === 124) {\n seen = true;\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n return headDelimiterCellBefore;\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterCellBefore(code2) {\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterValueBefore, \"whitespace\")(code2);\n }\n return headDelimiterValueBefore(code2);\n }\n function headDelimiterValueBefore(code2) {\n if (code2 === 58) {\n sizeB += 1;\n seen = true;\n effects.enter(\"tableDelimiterMarker\");\n effects.consume(code2);\n effects.exit(\"tableDelimiterMarker\");\n return headDelimiterLeftAlignmentAfter;\n }\n if (code2 === 45) {\n sizeB += 1;\n return headDelimiterLeftAlignmentAfter(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n return headDelimiterCellAfter(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterLeftAlignmentAfter(code2) {\n if (code2 === 45) {\n effects.enter(\"tableDelimiterFiller\");\n return headDelimiterFiller(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterFiller(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return headDelimiterFiller;\n }\n if (code2 === 58) {\n seen = true;\n effects.exit(\"tableDelimiterFiller\");\n effects.enter(\"tableDelimiterMarker\");\n effects.consume(code2);\n effects.exit(\"tableDelimiterMarker\");\n return headDelimiterRightAlignmentAfter;\n }\n effects.exit(\"tableDelimiterFiller\");\n return headDelimiterRightAlignmentAfter(code2);\n }\n function headDelimiterRightAlignmentAfter(code2) {\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterCellAfter, \"whitespace\")(code2);\n }\n return headDelimiterCellAfter(code2);\n }\n function headDelimiterCellAfter(code2) {\n if (code2 === 124) {\n return headDelimiterBefore(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n if (!seen || size !== sizeB) {\n return headDelimiterNok(code2);\n }\n effects.exit(\"tableDelimiterRow\");\n effects.exit(\"tableHead\");\n return ok2(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterNok(code2) {\n return nok(code2);\n }\n function bodyRowStart(code2) {\n effects.enter(\"tableRow\");\n return bodyRowBreak(code2);\n }\n function bodyRowBreak(code2) {\n if (code2 === 124) {\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n return bodyRowBreak;\n }\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"tableRow\");\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, bodyRowBreak, \"whitespace\")(code2);\n }\n effects.enter(\"data\");\n return bodyRowData(code2);\n }\n function bodyRowData(code2) {\n if (code2 === null || code2 === 124 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"data\");\n return bodyRowBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? bodyRowEscape : bodyRowData;\n }\n function bodyRowEscape(code2) {\n if (code2 === 92 || code2 === 124) {\n effects.consume(code2);\n return bodyRowData;\n }\n return bodyRowData(code2);\n }\n}\nfunction resolveTable(events, context) {\n let index = -1;\n let inFirstCellAwaitingPipe = true;\n let rowKind = 0;\n let lastCell = [0, 0, 0, 0];\n let cell = [0, 0, 0, 0];\n let afterHeadAwaitingFirstBodyRow = false;\n let lastTableEnd = 0;\n let currentTable;\n let currentBody;\n let currentCell;\n const map2 = new EditMap();\n while (++index < events.length) {\n const event = events[index];\n const token = event[1];\n if (event[0] === \"enter\") {\n if (token.type === \"tableHead\") {\n afterHeadAwaitingFirstBodyRow = false;\n if (lastTableEnd !== 0) {\n flushTableEnd(map2, context, lastTableEnd, currentTable, currentBody);\n currentBody = void 0;\n lastTableEnd = 0;\n }\n currentTable = {\n type: \"table\",\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map2.add(index, 0, [[\"enter\", currentTable, context]]);\n } else if (token.type === \"tableRow\" || token.type === \"tableDelimiterRow\") {\n inFirstCellAwaitingPipe = true;\n currentCell = void 0;\n lastCell = [0, 0, 0, 0];\n cell = [0, index + 1, 0, 0];\n if (afterHeadAwaitingFirstBodyRow) {\n afterHeadAwaitingFirstBodyRow = false;\n currentBody = {\n type: \"tableBody\",\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map2.add(index, 0, [[\"enter\", currentBody, context]]);\n }\n rowKind = token.type === \"tableDelimiterRow\" ? 2 : currentBody ? 3 : 1;\n } else if (rowKind && (token.type === \"data\" || token.type === \"tableDelimiterMarker\" || token.type === \"tableDelimiterFiller\")) {\n inFirstCellAwaitingPipe = false;\n if (cell[2] === 0) {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(map2, context, lastCell, rowKind, void 0, currentCell);\n lastCell = [0, 0, 0, 0];\n }\n cell[2] = index;\n }\n } else if (token.type === \"tableCellDivider\") {\n if (inFirstCellAwaitingPipe) {\n inFirstCellAwaitingPipe = false;\n } else {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(map2, context, lastCell, rowKind, void 0, currentCell);\n }\n lastCell = cell;\n cell = [lastCell[1], index, 0, 0];\n }\n }\n } else if (token.type === \"tableHead\") {\n afterHeadAwaitingFirstBodyRow = true;\n lastTableEnd = index;\n } else if (token.type === \"tableRow\" || token.type === \"tableDelimiterRow\") {\n lastTableEnd = index;\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(map2, context, lastCell, rowKind, index, currentCell);\n } else if (cell[1] !== 0) {\n currentCell = flushCell(map2, context, cell, rowKind, index, currentCell);\n }\n rowKind = 0;\n } else if (rowKind && (token.type === \"data\" || token.type === \"tableDelimiterMarker\" || token.type === \"tableDelimiterFiller\")) {\n cell[3] = index;\n }\n }\n if (lastTableEnd !== 0) {\n flushTableEnd(map2, context, lastTableEnd, currentTable, currentBody);\n }\n map2.consume(context.events);\n index = -1;\n while (++index < context.events.length) {\n const event = context.events[index];\n if (event[0] === \"enter\" && event[1].type === \"table\") {\n event[1]._align = gfmTableAlign(context.events, index);\n }\n }\n return events;\n}\nfunction flushCell(map2, context, range, rowKind, rowEnd, previousCell) {\n const groupName = rowKind === 1 ? \"tableHeader\" : rowKind === 2 ? \"tableDelimiter\" : \"tableData\";\n const valueName = \"tableContent\";\n if (range[0] !== 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, range[0]));\n map2.add(range[0], 0, [[\"exit\", previousCell, context]]);\n }\n const now = getPoint(context.events, range[1]);\n previousCell = {\n type: groupName,\n start: Object.assign({}, now),\n // Note: correct end is set later.\n end: Object.assign({}, now)\n };\n map2.add(range[1], 0, [[\"enter\", previousCell, context]]);\n if (range[2] !== 0) {\n const relatedStart = getPoint(context.events, range[2]);\n const relatedEnd = getPoint(context.events, range[3]);\n const valueToken = {\n type: valueName,\n start: Object.assign({}, relatedStart),\n end: Object.assign({}, relatedEnd)\n };\n map2.add(range[2], 0, [[\"enter\", valueToken, context]]);\n if (rowKind !== 2) {\n const start = context.events[range[2]];\n const end = context.events[range[3]];\n start[1].end = Object.assign({}, end[1].end);\n start[1].type = \"chunkText\";\n start[1].contentType = \"text\";\n if (range[3] > range[2] + 1) {\n const a = range[2] + 1;\n const b = range[3] - range[2] - 1;\n map2.add(a, b, []);\n }\n }\n map2.add(range[3] + 1, 0, [[\"exit\", valueToken, context]]);\n }\n if (rowEnd !== void 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, rowEnd));\n map2.add(rowEnd, 0, [[\"exit\", previousCell, context]]);\n previousCell = void 0;\n }\n return previousCell;\n}\nfunction flushTableEnd(map2, context, index, table, tableBody) {\n const exits = [];\n const related = getPoint(context.events, index);\n if (tableBody) {\n tableBody.end = Object.assign({}, related);\n exits.push([\"exit\", tableBody, context]);\n }\n table.end = Object.assign({}, related);\n exits.push([\"exit\", table, context]);\n map2.add(index + 1, 0, exits);\n}\nfunction getPoint(events, index) {\n const event = events[index];\n const side = event[0] === \"enter\" ? \"start\" : \"end\";\n return event[1][side];\n}\nconst tasklistCheck = {\n name: \"tasklistCheck\",\n tokenize: tokenizeTasklistCheck\n};\nfunction gfmTaskListItem() {\n return {\n text: {\n [91]: tasklistCheck\n }\n };\n}\nfunction tokenizeTasklistCheck(effects, ok2, nok) {\n const self = this;\n return open;\n function open(code2) {\n if (\n // Exit if there’s stuff before.\n self.previous !== null || // Exit if not in the first content that is the first child of a list\n // item.\n !self._gfmTasklistFirstContentOfListItem\n ) {\n return nok(code2);\n }\n effects.enter(\"taskListCheck\");\n effects.enter(\"taskListCheckMarker\");\n effects.consume(code2);\n effects.exit(\"taskListCheckMarker\");\n return inside;\n }\n function inside(code2) {\n if (markdownLineEndingOrSpace(code2)) {\n effects.enter(\"taskListCheckValueUnchecked\");\n effects.consume(code2);\n effects.exit(\"taskListCheckValueUnchecked\");\n return close;\n }\n if (code2 === 88 || code2 === 120) {\n effects.enter(\"taskListCheckValueChecked\");\n effects.consume(code2);\n effects.exit(\"taskListCheckValueChecked\");\n return close;\n }\n return nok(code2);\n }\n function close(code2) {\n if (code2 === 93) {\n effects.enter(\"taskListCheckMarker\");\n effects.consume(code2);\n effects.exit(\"taskListCheckMarker\");\n effects.exit(\"taskListCheck\");\n return after;\n }\n return nok(code2);\n }\n function after(code2) {\n if (markdownLineEnding(code2)) {\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return effects.check({\n tokenize: spaceThenNonSpace\n }, ok2, nok)(code2);\n }\n return nok(code2);\n }\n}\nfunction spaceThenNonSpace(effects, ok2, nok) {\n return factorySpace(effects, after, \"whitespace\");\n function after(code2) {\n return code2 === null ? nok(code2) : ok2(code2);\n }\n}\nfunction gfm(options) {\n return combineExtensions([\n gfmAutolinkLiteral(),\n gfmFootnote(),\n gfmStrikethrough(options),\n gfmTable(),\n gfmTaskListItem()\n ]);\n}\nconst emptyOptions = {};\nfunction remarkGfm(options) {\n const self = (\n /** @type {Processor} */\n this\n );\n const settings = options || emptyOptions;\n const data = self.data();\n const micromarkExtensions = data.micromarkExtensions || (data.micromarkExtensions = []);\n const fromMarkdownExtensions = data.fromMarkdownExtensions || (data.fromMarkdownExtensions = []);\n const toMarkdownExtensions = data.toMarkdownExtensions || (data.toMarkdownExtensions = []);\n micromarkExtensions.push(gfm(settings));\n fromMarkdownExtensions.push(gfmFromMarkdown());\n toMarkdownExtensions.push(gfmToMarkdown(settings));\n}\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcRichTextCopyButton\",\n props: {\n contentId: {}\n },\n setup(__props) {\n const { copy, icon, altText } = useCopy(() => document.getElementById(__props.contentId).textContent);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(NcButton, {\n variant: \"tertiary\",\n size: \"small\",\n \"aria-label\": unref(altText),\n title: unref(altText),\n onClick: unref(copy)\n }, {\n icon: withCtx(() => [\n createVNode(NcIconSvgWrapper, {\n path: unref(icon),\n inline: \"\"\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\", \"onClick\"]);\n };\n }\n});\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction isTextNode$1(node) {\n return node.type === \"text\";\n}\nconst transformPlaceholders = function(ast) {\n visitParents(ast, isTextNode$1, (node, ancestors) => {\n const parent = ancestors.at(-1);\n const index = parent.children.indexOf(node);\n const placeholders = node.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map((entry) => {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return u(\"text\", entry);\n }\n const [, component] = matches;\n return u(\"element\", {\n tagName: `#${component}`,\n children: []\n });\n });\n parent.children.splice(index, 1, ...placeholders);\n });\n};\nconst remarkPlaceholder = () => transformPlaceholders;\n/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction isCodeNode(node) {\n return [\"code\", \"inlineCode\"].includes(node.type);\n}\nconst remarkStripCode = function() {\n return function(tree) {\n visitParents(tree, isCodeNode, (node, ancestors) => {\n const parent = ancestors.at(-1);\n const index = parent.children.indexOf(node);\n parent.children.splice(index, 1, {\n ...node,\n value: \"\"\n });\n return [SKIP, index + 1];\n });\n };\n};\n/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction isTextNode(node) {\n return [\"text\", \"code\", \"inlineCode\"].includes(node.type);\n}\nconst remarkUnescape = function() {\n return function(tree) {\n visitParents(tree, isTextNode, (node, ancestors) => {\n const parent = ancestors.at(-1);\n const index = parent.children.indexOf(node);\n parent.children.splice(index, 1, {\n ...node,\n value: node.value.replace(/</gmi, \"<\").replace(/>/gmi, \">\")\n });\n return [SKIP, index + 1];\n });\n };\n};\nconst LINK_PROTOCOLS = [\"http\", \"https\", \"mailto\", \"tel\"];\nconst rehypeHighlight = ref(null);\nasync function importRehypeHighlightLibrary() {\n const module = await import(\"rehype-highlight\");\n rehypeHighlight.value = module.default;\n}\nconst _sfc_main = {\n name: \"NcRichText\",\n components: {\n NcReferenceList\n },\n /* eslint vue/require-prop-comment: warn -- TODO: Add a proper doc block about what this props do */\n props: {\n /**\n * The main text\n */\n text: {\n type: String,\n default: \"\"\n },\n /**\n * Arguments for the richobjects\n */\n arguments: {\n type: Object,\n default: () => {\n return {};\n }\n },\n /**\n * Limit the number of reference widgets to render\n */\n referenceLimit: {\n type: Number,\n default: 0\n },\n /**\n * Whether to render the widgets in interactive mode (if available)\n */\n referenceInteractive: {\n type: Boolean,\n default: true\n },\n /**\n * Whether to show user an option to enable to interactive mode for widgets (if available)\n */\n referenceInteractiveOptIn: {\n type: Boolean,\n default: false\n },\n /** Provide data upfront to avoid extra http request */\n references: {\n type: Array,\n default: null\n },\n /** Provide basic Markdown syntax */\n useMarkdown: {\n type: Boolean,\n default: false\n },\n /** Provide GitHub Flavored Markdown syntax */\n useExtendedMarkdown: {\n type: Boolean,\n default: false\n },\n /** Provide event from rendered markdown inputs */\n interactive: {\n type: Boolean,\n default: false\n },\n /**\n * Automatically convert link-like text to markdown links\n */\n autolink: {\n type: Boolean,\n default: true\n }\n },\n emits: [\n \"interactTodo\"\n ],\n data() {\n return {\n parentId: createElementId()\n };\n },\n methods: {\n renderPlaintext() {\n const placeholders = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map((entry) => {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return this.prepareTextNode(entry);\n }\n const argumentId = matches[1];\n const argument = this.arguments[argumentId];\n if (typeof argument === \"object\") {\n const { component, props } = argument;\n return h(typeof component === \"string\" ? resolveComponent(component) : component, {\n ...props,\n class: \"rich-text--component\"\n });\n }\n if (argument) {\n return h(\"span\", { class: \"rich-text--fallback\" }, argument);\n }\n return entry;\n });\n return h(\"div\", { class: \"rich-text--wrapper\" }, [\n h(\"div\", {}, placeholders.flat()),\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(NcReferenceList, {\n text: this.text,\n referenceData: this.references,\n interactive: this.referenceInteractive,\n interactiveOptIn: this.referenceInteractiveOptIn\n })\n ]) : null\n ]);\n },\n renderMarkdown() {\n const renderedMarkdown = unified().use(remarkParse).use(remarkAutolink, {\n autolink: this.autolink,\n useMarkdown: this.useMarkdown,\n useExtendedMarkdown: this.useExtendedMarkdown\n }).use(remarkUnescape).use(this.useExtendedMarkdown ? remarkGfm : void 0).use(breaks).use(remarkUnlinkProtocols, { except: LINK_PROTOCOLS }).use(remark2rehype, {\n handlers: {\n component(toHast, node) {\n return toHast(node, node.component, { value: node.value });\n }\n }\n }).use(this.useExtendedMarkdown ? rehypeHighlight.value : void 0).use(remarkPlaceholder).use(rehypeExternalLinks, {\n target: \"_blank\",\n rel: [\"noopener noreferrer\"]\n }).use(rehype2react, {\n Fragment,\n jsx: this.createElement,\n jsxs: this.createElement,\n elementAttributeNameCase: \"html\",\n prefix: false\n }).processSync(this.text.replace(/<[^>]+>/g, (match) => match.replace(/\")).result;\n return h(\"div\", { class: \"rich-text--wrapper rich-text--wrapper-markdown\" }, [\n renderedMarkdown,\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(NcReferenceList, {\n text: this.prepareReferenceSource(this.text),\n referenceData: this.references,\n interactive: this.referenceInteractive,\n interactiveOptIn: this.referenceInteractiveOptIn\n })\n ]) : null\n ]);\n },\n /**\n * Render plain text nodes\n *\n * @param {string} text - Content of the node\n */\n prepareTextNode(text2) {\n if (this.autolink) {\n text2 = parseUrl(text2);\n }\n if (Array.isArray(text2)) {\n return text2.map((entry) => {\n if (typeof entry === \"string\") {\n return entry;\n }\n const { component, props } = entry;\n return h(component, {\n ...props,\n class: \"rich-text--component\"\n });\n });\n }\n return text2;\n },\n /**\n * Strip content of inline code and code blocks for reference widgets\n * (e.g. ignore fenced links from being added as reference)\n *\n * @param {string} text - Content of the node\n */\n prepareReferenceSource(text2) {\n if (!this.useMarkdown && !this.useExtendedMarkdown) {\n return text2;\n }\n const processor = unified();\n processor.compiler = (tree) => toString(tree);\n return processor.use(remarkParse).use(remarkStripCode).processSync(text2.replace(/\\s/g, \" \")).value;\n },\n createElement(type, props, key) {\n if (key) {\n props.key = key;\n }\n const children = props.children ?? [];\n delete props.children;\n if (!String(type).startsWith(\"#\")) {\n if ([\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"].includes(String(type))) {\n type = `h${Math.min(+String(type)[1] + 3, 6)}`;\n }\n let nestedNode = null;\n if (this.useExtendedMarkdown) {\n if (String(type) === \"code\" && !rehypeHighlight.value && props?.class?.includes(\"language\")) {\n importRehypeHighlightLibrary();\n }\n if (String(type) === \"pre\" && children && String(children.type) === \"code\") {\n const id = this.parentId + \"-code-block-\" + createElementId();\n return h(\"p\", { class: \"rich-text__code-block\" }, [\n h(type, { ...props, id }, children),\n h(_sfc_main$1, { class: \"rich-text__code-block-button\", contentId: id })\n ]);\n }\n if (String(type) === \"li\" && Array.isArray(children) && children.length !== 0 && children[0].type === \"input\" && children[0].props.type === \"checkbox\") {\n const [inputNode, , ...labelParts] = children;\n const nestedNodeIndex = labelParts.findIndex((child) => [\"ul\", \"ol\", \"li\", \"blockquote\", \"pre\"].includes(child.type));\n if (nestedNodeIndex !== -1) {\n nestedNode = labelParts[nestedNodeIndex];\n labelParts.splice(nestedNodeIndex);\n }\n const id = this.parentId + \"-markdown-input-\" + createElementId();\n const propsToForward = { ...inputNode.props };\n delete propsToForward.checked;\n const inputComponent = h(NcCheckboxRadioSwitch, {\n ...propsToForward,\n modelValue: inputNode.props.checked,\n id,\n disabled: !this.interactive,\n \"onUpdate:modelValue\": () => {\n this.$emit(\"interactTodo\", id);\n }\n }, { default: () => labelParts });\n return h(type, props, [inputComponent, nestedNode]);\n }\n }\n if (String(type) === \"a\") {\n const route = getRoute(this.$router, props.href);\n if (route) {\n delete props.href;\n delete props.target;\n return h(RouterLink, {\n ...props,\n to: route\n }, { default: () => children });\n }\n const isAllowedScheme = /^(https?:\\/\\/|tel:|mailto:)/.test(props.href);\n if (isAllowedScheme) {\n props.href = props.href.trim();\n return h(NcRichTextExternalLink, props, children);\n } else {\n delete props.href;\n delete props.target;\n return h(\"span\", props, children);\n }\n }\n return h(type, props, children);\n }\n const placeholder = this.arguments[type.slice(1)];\n if (!placeholder) {\n return h(\"span\", { ...props, class: \"rich-text--fallback\" }, [`{${type.slice(1)}}`]);\n }\n if (!placeholder.component) {\n return h(\"span\", { ...props }, [placeholder]);\n }\n return h(\n typeof placeholder.component === \"string\" ? resolveComponent(placeholder.component) : placeholder.component,\n {\n ...props,\n ...placeholder.props,\n class: \"rich-text--component\"\n },\n { default: () => children }\n );\n }\n },\n render() {\n return this.useMarkdown || this.useExtendedMarkdown ? this.renderMarkdown() : this.renderPlaintext();\n }\n};\nconst NcRichText = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-80e57a29\"]]);\nexport {\n NcRichText as N,\n NcReferenceList as a\n};\n//# sourceMappingURL=NcRichText.mjs.map\n"],"file":"NcProfileHoverCard-DBdEYRaM.chunk.mjs"} \ No newline at end of file diff --git a/js/NcProfileHoverCard-DBdEYRaM.chunk.mjs.map.license b/js/NcProfileHoverCard-DBdEYRaM.chunk.mjs.map.license new file mode 120000 index 00000000..6e092f79 --- /dev/null +++ b/js/NcProfileHoverCard-DBdEYRaM.chunk.mjs.map.license @@ -0,0 +1 @@ +NcProfileHoverCard-DBdEYRaM.chunk.mjs.license \ No newline at end of file diff --git a/js/NcProfileHoverCard-Dt6jr72a.chunk.mjs.map.license b/js/NcProfileHoverCard-Dt6jr72a.chunk.mjs.map.license deleted file mode 120000 index f10b411f..00000000 --- a/js/NcProfileHoverCard-Dt6jr72a.chunk.mjs.map.license +++ /dev/null @@ -1 +0,0 @@ -NcProfileHoverCard-Dt6jr72a.chunk.mjs.license \ No newline at end of file diff --git a/js/index-CaKmmcr4.chunk.mjs b/js/index-Bh0j2qE0.chunk.mjs similarity index 99% rename from js/index-CaKmmcr4.chunk.mjs rename to js/index-Bh0j2qE0.chunk.mjs index ea392e07..ecee1477 100644 --- a/js/index-CaKmmcr4.chunk.mjs +++ b/js/index-Bh0j2qE0.chunk.mjs @@ -1,8 +1,8 @@ -import{at as Ut}from"./store-BUdOGViY.chunk.mjs";import{c as Ae,v as Pt}from"./NcProfileHoverCard-Dt6jr72a.chunk.mjs";import{c as jt}from"./recommendations-dashboard.mjs";import"./NcCheckboxRadioSwitch-CqbiLdI-.chunk.mjs";const Rn=(function(e,n,a){const i=jt(a);if(!e||!e.type||!e.children)throw new Error("Expected parent node");if(typeof n=="number"){if(n<0||n===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(n=e.children.indexOf(n),n<0)throw new Error("Expected child node or index");for(;++no&&(o=b):b&&(o!==void 0&&o>-1&&g.push(` +import{at as Ut}from"./store-CbAhoamf.chunk.mjs";import{c as Ae,v as Pt}from"./NcProfileHoverCard-DBdEYRaM.chunk.mjs";import{c as jt}from"./recommendations-dashboard.mjs";import"./NcCheckboxRadioSwitch-Di8Bp9TK.chunk.mjs";const Rn=(function(e,n,a){const i=jt(a);if(!e||!e.type||!e.children)throw new Error("Expected parent node");if(typeof n=="number"){if(n<0||n===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(n=e.children.indexOf(n),n<0)throw new Error("Expected child node or index");for(;++no&&(o=b):b&&(o!==void 0&&o>-1&&g.push(` `.repeat(o)||" "),o=-1,g.push(b))}return g.join("")}function Gn(e,n,a){return e.type==="element"?Ht(e,n,a):e.type==="text"?a.whitespace==="normal"?Hn(e,a):Zt(e):[]}function Ht(e,n,a){const i=Zn(e,a),r=e.children||[];let d=-1,s=[];if(Kt(e))return s;let l,g;for(pn(e)||Bn(e)&&Rn(n,e,Bn)?g=` `:qt(e)?(l=2,g=2):Kn(e)&&(l=1,g=1);++d]+>")+")",s={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},l={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},g={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},o={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:"string"}),{className:"string",begin:/<.*?>/},a,e.C_BLOCK_COMMENT_MODE]},b={className:"title",begin:n.optional(r)+e.IDENT_RE,relevance:0},p=n.optional(r)+e.IDENT_RE+"\\s*\\(",u=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],y=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],v=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],h=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],N={type:y,keyword:u,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:v},S={className:"function.dispatch",relevance:0,keywords:{_hint:h},begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/))},C=[S,o,s,a,e.C_BLOCK_COMMENT_MODE,g,l],R={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:N,contains:C.concat([{begin:/\(/,end:/\)/,keywords:N,contains:C.concat(["self"]),relevance:0}]),relevance:0},B={className:"function",begin:"("+d+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:N,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:N,relevance:0},{begin:p,returnBegin:!0,contains:[b],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[l,g]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:N,relevance:0,contains:[a,e.C_BLOCK_COMMENT_MODE,l,g,s,{begin:/\(/,end:/\)/,keywords:N,relevance:0,contains:["self",a,e.C_BLOCK_COMMENT_MODE,l,g,s]}]},s,a,e.C_BLOCK_COMMENT_MODE,o]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:N,illegal:"",keywords:N,contains:["self",s]},{begin:e.IDENT_RE+"::",keywords:N},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function Yt(e){const n={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},a=Jt(e),i=a.keywords;return i.type=[...i.type,...n.type],i.literal=[...i.literal,...n.literal],i.built_in=[...i.built_in,...n.built_in],i._hints=n._hints,a.name="Arduino",a.aliases=["ino"],a.supersetOf="cpp",a}function ea(e){const n=e.regex,a={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[a]}]};Object.assign(a,{className:"variable",variants:[{begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});const r={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},d=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},l={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,a,r]};r.contains.push(l);const g={match:/\\"/},o={className:"string",begin:/'/,end:/'/},b={match:/\\'/},p={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,a]},u=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],y=e.SHEBANG({binary:`(${u.join("|")})`,relevance:10}),v={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},h=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],N=["true","false"],S={match:/(\/[a-z._-]+)+/},C=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],R=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],B=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],D=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:h,literal:N,built_in:[...C,...R,"set","shopt",...B,...D]},contains:[y,e.SHEBANG(),v,p,d,s,S,l,g,o,b,a]}}function na(e){const n=e.regex,a=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",d="("+i+"|"+n.optional(r)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},l={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},g={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},o={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:"string"}),{className:"string",begin:/<.*?>/},a,e.C_BLOCK_COMMENT_MODE]},b={className:"title",begin:n.optional(r)+e.IDENT_RE,relevance:0},p=n.optional(r)+e.IDENT_RE+"\\s*\\(",u={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},y=[o,s,a,e.C_BLOCK_COMMENT_MODE,g,l],v={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:u,contains:y.concat([{begin:/\(/,end:/\)/,keywords:u,contains:y.concat(["self"]),relevance:0}]),relevance:0},h={begin:"("+d+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:u,relevance:0},{begin:p,returnBegin:!0,contains:[e.inherit(b,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:u,relevance:0,contains:[a,e.C_BLOCK_COMMENT_MODE,l,g,s,{begin:/\(/,end:/\)/,keywords:u,relevance:0,contains:["self",a,e.C_BLOCK_COMMENT_MODE,l,g,s]}]},s,a,e.C_BLOCK_COMMENT_MODE,o]};return{name:"C",aliases:["h"],keywords:u,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:o,strings:l,keywords:u}}}function ta(e){const n=e.regex,a=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",d="(?!struct)("+i+"|"+n.optional(r)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},l={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},g={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},o={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:"string"}),{className:"string",begin:/<.*?>/},a,e.C_BLOCK_COMMENT_MODE]},b={className:"title",begin:n.optional(r)+e.IDENT_RE,relevance:0},p=n.optional(r)+e.IDENT_RE+"\\s*\\(",u=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],y=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],v=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],h=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],N={type:y,keyword:u,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:v},S={className:"function.dispatch",relevance:0,keywords:{_hint:h},begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/))},C=[S,o,s,a,e.C_BLOCK_COMMENT_MODE,g,l],R={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:N,contains:C.concat([{begin:/\(/,end:/\)/,keywords:N,contains:C.concat(["self"]),relevance:0}]),relevance:0},B={className:"function",begin:"("+d+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:N,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:N,relevance:0},{begin:p,returnBegin:!0,contains:[b],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[l,g]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:N,relevance:0,contains:[a,e.C_BLOCK_COMMENT_MODE,l,g,s,{begin:/\(/,end:/\)/,keywords:N,relevance:0,contains:["self",a,e.C_BLOCK_COMMENT_MODE,l,g,s]}]},s,a,e.C_BLOCK_COMMENT_MODE,o]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:N,illegal:"",keywords:N,contains:["self",s]},{begin:e.IDENT_RE+"::",keywords:N},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function aa(e){const n=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],a=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],i=["default","false","null","true"],r=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],d=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],s={keyword:r.concat(d),built_in:n,literal:i},l=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),g={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},o={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},b={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},p=e.inherit(b,{illegal:/\n/}),u={className:"subst",begin:/\{/,end:/\}/,keywords:s},y=e.inherit(u,{illegal:/\n/}),v={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,y]},h={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},u]},N=e.inherit(h,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},y]});u.contains=[h,v,b,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,g,e.C_BLOCK_COMMENT_MODE],y.contains=[N,v,p,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,g,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const S={variants:[o,h,v,b,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},C={begin:"<",end:">",contains:[{beginKeywords:"in out"},l]},R=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",B={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:s,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},S,g,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},l,C,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[l,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[l,C,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+R+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:s,contains:[{beginKeywords:a.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,C],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,relevance:0,contains:[S,g,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},B]}}const ia=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),ra=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],sa=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],oa=[...ra,...sa],la=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),ca=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),da=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),ga=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function ua(e){const n=e.regex,a=ia(e),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",d=/@-?\w[\w]*(-\w+)*/,s="[a-zA-Z-][a-zA-Z0-9_-]*",l=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[a.BLOCK_COMMENT,i,a.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+s,relevance:0},a.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+ca.join("|")+")"},{begin:":(:)?("+da.join("|")+")"}]},a.CSS_VARIABLE,{className:"attribute",begin:"\\b("+ga.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[a.BLOCK_COMMENT,a.HEXCOLOR,a.IMPORTANT,a.CSS_NUMBER_MODE,...l,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...l,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},a.FUNCTION_DISPATCH]},{begin:n.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:d},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:la.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...l,a.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+oa.join("|")+")\\b"}]}}function ba(e){const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function ma(e){const n={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:n,illegal:"Wn(e,n,a-1))}function ha(e){const n=e.regex,a="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",i=a+Wn("(?:<"+a+"~~~(?:\\s*,\\s*"+a+"~~~)*>)?",/~~~/g,2),r={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},d={className:"meta",begin:"@"+a,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},s={className:"params",begin:/\(/,end:/\)/,keywords:r,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:r,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,a],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[n.concat(/(?!else)/,a),/\s+/,a,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,a],className:{1:"keyword",3:"title.class"},contains:[s,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+i+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:r,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:r,relevance:0,contains:[d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,zn,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},zn,d]}}const Fn="[A-Za-z$_][0-9A-Za-z$_]*",_a=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],ya=["true","false","null","undefined","NaN","Infinity"],Xn=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Qn=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Vn=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Ea=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],wa=[].concat(Vn,Xn,Qn);function va(e){const n=e.regex,a=(L,{after:Z})=>{const ae="",end:""},d=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(L,Z)=>{const ae=L[0].length+L.index,ge=L.input[ae];if(ge==="<"||ge===","){Z.ignoreMatch();return}ge===">"&&(a(L,{after:ae})||Z.ignoreMatch());let se;const ie=L.input.substring(ae);if(se=ie.match(/^\s*=/)){Z.ignoreMatch();return}if((se=ie.match(/^\s+extends\s+/))&&se.index===0){Z.ignoreMatch();return}}},l={$pattern:Fn,keyword:_a,literal:ya,built_in:wa,"variable.language":Ea},g="[0-9](_?[0-9])*",o=`\\.(${g})`,b="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",p={className:"number",variants:[{begin:`(\\b(${b})((${o})|\\.)?|(${o}))[eE][+-]?(${g})\\b`},{begin:`\\b(${b})\\b((${o})\\b|\\.)?|(${o})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},u={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"xml"}},v={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"css"}},h={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"graphql"}},N={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,u]},S={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},C=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,y,v,h,N,{match:/\$\d+/},p];u.contains=C.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(C)});const R=[].concat(S,u.contains),B=R.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(R)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:B},V={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,n.concat(i,"(",n.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},H={relevance:0,match:n.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...Xn,...Qn]}},J={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},q={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},le={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function de(L){return n.concat("(?!",L.join("|"),")")}const ce={match:n.concat(/\b/,de([...Vn,"super","import"].map(L=>`${L}\\s*\\(`)),i,n.lookahead(/\s*\(/)),className:"title.function",relevance:0},Y={begin:n.concat(/\./,n.lookahead(n.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},j={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},te="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",ye={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(te)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:H},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),J,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,y,v,h,N,S,{match:/\$\d+/},p,H,{scope:"attr",match:i+n.lookahead(":"),relevance:0},ye,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[S,e.REGEXP_MODE,{className:"function",begin:te,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:d},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},q,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,e.inherit(e.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},Y,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},ce,le,V,j,{match:/\$[(.]/}]}}function Na(e){const n={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},a={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],r={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:i},contains:[n,a,e.QUOTE_STRING_MODE,r,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var Oe="[0-9](_*[0-9])*",Ke=`\\.(${Oe})`,Ge="[0-9a-fA-F](_*[0-9a-fA-F])*",ka={className:"number",variants:[{begin:`(\\b(${Oe})((${Ke})|\\.)?|(${Ke}))[eE][+-]?(${Oe})[fFdD]?\\b`},{begin:`\\b(${Oe})((${Ke})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Ke})[fFdD]?\\b`},{begin:`\\b(${Oe})[fFdD]\\b`},{begin:`\\b0[xX]((${Ge})\\.?|(${Ge})?\\.(${Ge}))[pP][+-]?(${Oe})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Ge})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function xa(e){const n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},i={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},r={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},d={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},s={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[d,r]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,d,r]}]};r.contains.push(s);const l={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},g={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(s,{className:"string"}),"self"]}]},o=ka,b=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),p={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},u=p;return u.variants[1].contains=[p],p.variants[1].contains=[u],{name:"Kotlin",aliases:["kt","kts"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,b,a,i,l,g,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[p,e.C_LINE_COMMENT_MODE,b],relevance:0},e.C_LINE_COMMENT_MODE,b,l,g,s,e.C_NUMBER_MODE]},b]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},l,g]},s,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` `},o]}}const Sa=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Ma=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Oa=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],Aa=[...Ma,...Oa],Ca=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Jn=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Yn=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Ta=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),Ra=Jn.concat(Yn).sort().reverse();function Ia(e){const n=Sa(e),a=Ra,i="and or not only",r="[\\w-]+",d="("+r+"|@\\{"+r+"\\})",s=[],l=[],g=function(R){return{className:"string",begin:"~?"+R+".*?"+R}},o=function(R,B,D){return{className:R,begin:B,relevance:D}},b={$pattern:/[a-z-]+/,keyword:i,attribute:Ca.join(" ")},p={begin:"\\(",end:"\\)",contains:l,keywords:b,relevance:0};l.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g("'"),g('"'),n.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},n.HEXCOLOR,p,o("variable","@@?"+r,10),o("variable","@\\{"+r+"\\}"),o("built_in","~?`[^`]*?`"),{className:"attribute",begin:r+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},n.IMPORTANT,{beginKeywords:"and not"},n.FUNCTION_DISPATCH);const u=l.concat({begin:/\{/,end:/\}/,contains:s}),y={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(l)},v={begin:d+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Ta.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:l}}]},h={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:b,returnEnd:!0,contains:l,relevance:0}},N={className:"variable",variants:[{begin:"@"+r+"\\s*:",relevance:15},{begin:"@"+r}],starts:{end:"[;}]",returnEnd:!0,contains:u}},S={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:d,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,y,o("keyword","all\\b"),o("variable","@\\{"+r+"\\}"),{begin:"\\b("+Aa.join("|")+")\\b",className:"selector-tag"},n.CSS_NUMBER_MODE,o("selector-tag",d,0),o("selector-id","#"+d),o("selector-class","\\."+d,0),o("selector-tag","&",0),n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+Jn.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Yn.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:u},{begin:"!important"},n.FUNCTION_DISPATCH]},C={begin:r+`:(:)?(${a.join("|")})`,returnBegin:!0,contains:[S]};return s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,h,N,C,v,S,y,n.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:s}}function Da(e){const n="\\[=*\\[",a="\\]=*\\]",i={begin:n,end:a,contains:["self"]},r=[e.COMMENT("--(?!"+n+")","$"),e.COMMENT("--"+n,a,{contains:[i],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:n,end:a,contains:[i],relevance:5}])}}function La(e){const n={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},r={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},d={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},s={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},l=/[A-Za-z][A-Za-z0-9+.-]*/,g={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:n.concat(/\[.+?\]\(/,l,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},o={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},b={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},p=e.inherit(o,{contains:[]}),u=e.inherit(b,{contains:[]});o.contains.push(u),b.contains.push(p);let y=[a,g];return[o,b,p,u].forEach(v=>{v.contains=v.contains.concat(y)}),y=y.concat(o,b),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:y},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:y}]}]},a,d,o,b,{className:"quote",begin:"^>\\s+",contains:y,end:"$"},r,i,g,s,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function za(e){const n={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},a=/[a-zA-Z@][a-zA-Z0-9_]*/,i={"variable.language":["this","super"],$pattern:a,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},r={$pattern:a,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:i,illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+r.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:r,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function Fa(e){const n=e.regex,a=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],i=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:a.join(" ")},d={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},s={begin:/->\{/,end:/\}/},l={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},g={scope:"variable",variants:[{begin:/\$\d/},{begin:n.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[l]},o={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},b=[e.BACKSLASH_ESCAPE,d,g],p=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],u=(h,N,S="\\1")=>{const C=S==="\\1"?S:n.concat(S,N);return n.concat(n.concat("(?:",h,")"),N,/(?:\\.|[^\\\/])*?/,C,/(?:\\.|[^\\\/])*?/,S,i)},y=(h,N,S)=>n.concat(n.concat("(?:",h,")"),N,/(?:\\.|[^\\\/])*?/,S,i),v=[g,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),s,{className:"string",contains:b,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},o,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:u("s|tr|y",n.either(...p,{capture:!0}))},{begin:u("s|tr|y","\\(","\\)")},{begin:u("s|tr|y","\\[","\\]")},{begin:u("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:y("(?:m|qr)?",/\//,/\//)},{begin:y("m|qr",n.either(...p,{capture:!0}),/\1/)},{begin:y("m|qr",/\(/,/\)/)},{begin:y("m|qr",/\[/,/\]/)},{begin:y("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,l]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,l,o]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return d.contains=v,s.contains=v,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:v}}function $a(e){const n=e.regex,a=/(?![A-Za-z0-9])(?![$])/,i=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,a),r=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,a),d=n.concat(/[A-Z]+/,a),s={scope:"variable",match:"\\$+"+i},l={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},g={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},o=e.inherit(e.APOS_STRING_MODE,{illegal:null}),b=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(g)}),p={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(g),"on:begin":(Y,j)=>{j.data._beginMatch=Y[1]||Y[2]},"on:end":(Y,j)=>{j.data._beginMatch!==Y[1]&&j.ignoreMatch()}},u=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),y=`[ ]`,v={scope:"string",variants:[b,o,p,u]},h={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},N=["false","null","true"],S=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],C=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],R={keyword:S,literal:(Y=>{const j=[];return Y.forEach(te=>{j.push(te),te.toLowerCase()===te?j.push(te.toUpperCase()):j.push(te.toLowerCase())}),j})(N),built_in:C},B=Y=>Y.map(j=>j.replace(/\|\d+$/,"")),D={variants:[{match:[/new/,n.concat(y,"+"),n.concat("(?!",B(C).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},V=n.concat(i,"\\b(?!\\()"),H={variants:[{match:[n.concat(/::/,n.lookahead(/(?!class\b)/)),V],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,n.concat(/::/,n.lookahead(/(?!class\b)/)),V],scope:{1:"title.class",3:"variable.constant"}},{match:[r,n.concat("::",n.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},J={scope:"attr",match:n.concat(i,n.lookahead(":"),n.lookahead(/(?!::)/))},q={relevance:0,begin:/\(/,end:/\)/,keywords:R,contains:[J,s,H,e.C_BLOCK_COMMENT_MODE,v,h,D]},le={relevance:0,match:[/\b/,n.concat("(?!fn\\b|function\\b|",B(S).join("\\b|"),"|",B(C).join("\\b|"),"\\b)"),i,n.concat(y,"*"),n.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[q]};q.contains.push(le);const de=[J,H,e.C_BLOCK_COMMENT_MODE,v,h,D],ce={begin:n.concat(/#\[\s*\\?/,n.either(r,d)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:N,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:N,keyword:["new","array"]},contains:["self",...de]},...de,{scope:"meta",variants:[{match:r},{match:d}]}]};return{case_insensitive:!1,keywords:R,contains:[ce,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},l,{scope:"variable.language",match:/\$this\b/},s,le,H,{match:[/const/,/\s/,i],scope:{1:"keyword",3:"variable.constant"}},D,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:R,contains:["self",ce,s,H,e.C_BLOCK_COMMENT_MODE,v,h]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},v,h]}}function Ua(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function Pa(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function ja(e){const n=e.regex,a=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),i=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],r={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},d={className:"meta",begin:/^(>>>|\.\.\.) /},s={className:"subst",begin:/\{/,end:/\}/,keywords:r,illegal:/#/},l={begin:/\{\{/,relevance:0},g={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,d],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,d],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,d,l,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,d,l,s]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,l,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,l,s]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},o="[0-9](_?[0-9])*",b=`(\\b(${o}))?\\.(${o})|\\b(${o})\\.`,p=`\\b|${i.join("|")}`,u={className:"number",relevance:0,variants:[{begin:`(\\b(${o})|(${b}))[eE][+-]?(${o})[jJ]?(?=${p})`},{begin:`(${b})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${p})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${p})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${p})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${p})`},{begin:`\\b(${o})[jJ](?=${p})`}]},y={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:r,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},v={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,contains:["self",d,u,g,e.HASH_COMMENT_MODE]}]};return s.contains=[g,u,d],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:r,illegal:/(<\/|\?)|=>/,contains:[d,u,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},g,y,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,a],scope:{1:"keyword",3:"title.function"},contains:[v]},{variants:[{match:[/\bclass/,/\s+/,a,/\s*/,/\(\s*/,a,/\s*\)/]},{match:[/\bclass/,/\s+/,a]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[u,v,g]}]}}function qa(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function Ka(e){const n=e.regex,a=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,i=n.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),r=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,d=n.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:a,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:n.lookahead(n.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:a},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[r,i]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,i]},{scope:{1:"punctuation",2:"number"},match:[d,i]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,i]}]},{scope:{3:"operator"},match:[a,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:r},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:d},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function Ga(e){const n=e.regex,a="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),r=n.concat(i,/(::\w+)*/),d={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},s={className:"doctag",begin:"@[A-Za-z]+"},l={begin:"#<",end:">"},g=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^=begin","^=end",{contains:[s],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],o={className:"subst",begin:/#\{/,end:/\}/,keywords:d},b={className:"string",contains:[e.BACKSLASH_ESCAPE,o],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,o]})]}]},p="[1-9](_?[0-9])*|0",u="[0-9](_?[0-9])*",y={className:"number",relevance:0,variants:[{begin:`\\b(${p})(\\.(${u}))?([eE][+-]?(${u})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},v={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:d}]},h=[b,{variants:[{match:[/class\s+/,r,/\s+<\s+/,r]},{match:[/\b(class|module)\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:d},{match:[/(include|extend)\s+/,r],scope:{2:"title.class"},keywords:d},{relevance:0,match:[r,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:i,scope:"title.class"},{match:[/def/,/\s+/,a],scope:{1:"keyword",3:"title.function"},contains:[v]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[b,{begin:a}],relevance:0},y,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:d},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,o],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(l,g),relevance:0}].concat(l,g);o.contains=h,v.contains=h;const N=[{begin:/^\s*=>/,starts:{end:"$",contains:h}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:d,contains:h}}];return g.unshift(l),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:d,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(N).concat(g).concat(h)}}function Ha(e){const n=e.regex,a=/(r#)?/,i=n.concat(a,e.UNDERSCORE_IDENT_RE),r=n.concat(a,e.IDENT_RE),d={className:"title.function.invoke",relevance:0,begin:n.concat(/\b/,/(?!let|for|while|if|else|match\b)/,r,n.lookahead(/\s*\(/))},s="([ui](8|16|32|64|128|size)|f(32|64))?",l=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],g=["true","false","Some","None","Ok","Err"],o=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],b=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:b,keyword:l,literal:g,built_in:o},illegal:""},d]}}const Za=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Wa=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Xa=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],Qa=[...Wa,...Xa],Va=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Ja=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Ya=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),ei=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function ni(e){const n=Za(e),a=Ya,i=Ja,r="@[a-z-]+",d="and or not only",s={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+Qa.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+i.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+a.join("|")+")"},s,{begin:/\(/,end:/\)/,contains:[n.CSS_NUMBER_MODE]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+ei.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[n.BLOCK_COMMENT,s,n.HEXCOLOR,n.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.IMPORTANT,n.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:r,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:d,attribute:Va.join(" ")},contains:[{begin:r,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},s,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.HEXCOLOR,n.CSS_NUMBER_MODE]},n.FUNCTION_DISPATCH]}}function ti(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function ai(e){const n=e.regex,a=e.COMMENT("--","$"),i={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},r={begin:/"/,end:/"/,contains:[{match:/""/}]},d=["true","false","unknown"],s=["double precision","large object","with timezone","without timezone"],l=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],g=["add","asc","collation","desc","final","first","last","view"],o=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],b=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],p=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],u=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],y=b,v=[...o,...g].filter(D=>!b.includes(D)),h={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},N={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},S={match:n.concat(/\b/,n.either(...y),/\s*\(/),relevance:0,keywords:{built_in:y}};function C(D){return n.concat(/\b/,n.either(...D.map(V=>V.replace(/\s+/,"\\s+"))),/\b/)}const R={scope:"keyword",match:C(u),relevance:0};function B(D,{exceptions:V,when:H}={}){const J=H;return V=V||[],D.map(q=>q.match(/\|\d+$/)||V.includes(q)?q:J(q)?`${q}|0`:q)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:B(v,{when:D=>D.length<3}),literal:d,type:l,built_in:p},contains:[{scope:"type",match:C(s)},R,S,h,i,r,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,a,N]}}function et(e){return e?typeof e=="string"?e:e.source:null}function Re(e){return $("(?=",e,")")}function $(...e){return e.map(n=>et(n)).join("")}function ii(e){const n=e[e.length-1];return typeof n=="object"&&n.constructor===Object?(e.splice(e.length-1,1),n):{}}function re(...e){return"("+(ii(e).capture?"":"?:")+e.map(n=>et(n)).join("|")+")"}const fn=e=>$(/\b/,e,/\w$/.test(e)?/\b/:/\B/),ri=["Protocol","Type"].map(fn),$n=["init","self"].map(fn),si=["Any","Self"],un=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Un=["false","nil","true"],oi=["assignment","associativity","higherThan","left","lowerThan","none","right"],li=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],Pn=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],nt=re(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),tt=re(nt,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),bn=$(nt,tt,"*"),at=re(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),Ze=re(at,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),pe=$(at,Ze,"*"),He=$(/[A-Z]/,Ze,"*"),ci=["attached","autoclosure",$(/convention\(/,re("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",$(/objc\(/,pe,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],di=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function gi(e){const n={match:/\s+/,relevance:0},a=e.COMMENT("/\\*","\\*/",{contains:["self"]}),i=[e.C_LINE_COMMENT_MODE,a],r={match:[/\./,re(...ri,...$n)],className:{2:"keyword"}},d={match:$(/\./,re(...un)),relevance:0},s=un.filter(z=>typeof z=="string").concat(["_|0"]),l=un.filter(z=>typeof z!="string").concat(si).map(fn),g={variants:[{className:"keyword",match:re(...l,...$n)}]},o={$pattern:re(/\b\w+/,/#\w+/),keyword:s.concat(li),literal:Un},b=[r,d,g],p={match:$(/\./,re(...Pn)),relevance:0},u={className:"built_in",match:$(/\b/,re(...Pn),/(?=\()/)},y=[p,u],v={match:/->/,relevance:0},h={className:"operator",relevance:0,variants:[{match:bn},{match:`\\.(\\.|${tt})+`}]},N=[v,h],S="([0-9]_*)+",C="([0-9a-fA-F]_*)+",R={className:"number",relevance:0,variants:[{match:`\\b(${S})(\\.(${S}))?([eE][+-]?(${S}))?\\b`},{match:`\\b0x(${C})(\\.(${C}))?([pP][+-]?(${S}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},B=(z="")=>({className:"subst",variants:[{match:$(/\\/,z,/[0\\tnr"']/)},{match:$(/\\/,z,/u\{[0-9a-fA-F]{1,8}\}/)}]}),D=(z="")=>({className:"subst",match:$(/\\/,z,/[\t ]*(?:[\r\n]|\r\n)/)}),V=(z="")=>({className:"subst",label:"interpol",begin:$(/\\/,z,/\(/),end:/\)/}),H=(z="")=>({begin:$(z,/"""/),end:$(/"""/,z),contains:[B(z),D(z),V(z)]}),J=(z="")=>({begin:$(z,/"/),end:$(/"/,z),contains:[B(z),V(z)]}),q={className:"string",variants:[H(),H("#"),H("##"),H("###"),J(),J("#"),J("##"),J("###")]},le=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],de={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:le},ce=z=>{const ke=$(z,/\//),Ee=$(/\//,z);return{begin:ke,end:Ee,contains:[...le,{scope:"comment",begin:`#(?!.*${Ee})`,end:/$/}]}},Y={scope:"regexp",variants:[ce("###"),ce("##"),ce("#"),de]},j={match:$(/`/,pe,/`/)},te={className:"variable",match:/\$\d+/},ye={className:"variable",match:`\\$${Ze}+`},L=[j,te,ye],Z={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:di,contains:[...N,R,q]}]}},ae={scope:"keyword",match:$(/@/,re(...ci),Re(re(/\(/,/\s+/)))},ge={scope:"meta",match:$(/@/,pe)},se=[Z,ae,ge],ie={match:Re(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:$(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Ze,"+")},{className:"type",match:He,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:$(/\s+&\s+/,Re(He)),relevance:0}]},Xe={begin://,keywords:o,contains:[...i,...b,...se,v,ie]};ie.contains.push(Xe);const Qe={match:$(pe,/\s*:/),keywords:"_|0",relevance:0},Ie={begin:/\(/,end:/\)/,relevance:0,keywords:o,contains:["self",Qe,...i,Y,...b,...y,...N,R,q,...L,...se,ie]},Ce={begin://,keywords:"repeat each",contains:[...i,ie]},Ve={begin:re(Re($(pe,/\s*:/)),Re($(pe,/\s+/,pe,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:pe}]},De={begin:/\(/,end:/\)/,keywords:o,contains:[Ve,...i,...b,...N,R,q,...se,ie,Ie],endsParent:!0,illegal:/["']/},Ne={match:[/(func|macro)/,/\s+/,re(j.match,pe,bn)],className:{1:"keyword",3:"title.function"},contains:[Ce,De,n],illegal:[/\[/,/%/]},Je={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[Ce,De,n],illegal:/\[|%/},Ye={match:[/operator/,/\s+/,bn],className:{1:"keyword",3:"title"}},en={begin:[/precedencegroup/,/\s+/,He],className:{1:"keyword",3:"title"},contains:[ie],keywords:[...oi,...Un],end:/}/},nn={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},tn={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},an={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,pe,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:o,contains:[Ce,...b,{begin:/:/,end:/\{/,keywords:o,contains:[{scope:"title.class.inherited",match:He},...b],relevance:0}]};for(const z of q.variants){const ke=z.contains.find(Le=>Le.label==="interpol");ke.keywords=o;const Ee=[...b,...y,...N,R,q,...L];ke.contains=[...Ee,{begin:/\(/,end:/\)/,contains:["self",...Ee]}]}return{name:"Swift",keywords:o,contains:[...i,Ne,Je,nn,tn,an,Ye,en,{beginKeywords:"import",end:/$/,contains:[...i],relevance:0},Y,...b,...y,...N,R,q,...L,...se,ie,Ie]}}const We="[A-Za-z$_][0-9A-Za-z$_]*",it=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],rt=["true","false","null","undefined","NaN","Infinity"],st=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],ot=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],lt=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],ct=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],dt=[].concat(lt,st,ot);function ui(e){const n=e.regex,a=(L,{after:Z})=>{const ae="",end:""},d=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(L,Z)=>{const ae=L[0].length+L.index,ge=L.input[ae];if(ge==="<"||ge===","){Z.ignoreMatch();return}ge===">"&&(a(L,{after:ae})||Z.ignoreMatch());let se;const ie=L.input.substring(ae);if(se=ie.match(/^\s*=/)){Z.ignoreMatch();return}if((se=ie.match(/^\s+extends\s+/))&&se.index===0){Z.ignoreMatch();return}}},l={$pattern:We,keyword:it,literal:rt,built_in:dt,"variable.language":ct},g="[0-9](_?[0-9])*",o=`\\.(${g})`,b="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",p={className:"number",variants:[{begin:`(\\b(${b})((${o})|\\.)?|(${o}))[eE][+-]?(${g})\\b`},{begin:`\\b(${b})\\b((${o})\\b|\\.)?|(${o})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},u={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"xml"}},v={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"css"}},h={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"graphql"}},N={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,u]},S={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},C=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,y,v,h,N,{match:/\$\d+/},p];u.contains=C.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(C)});const R=[].concat(S,u.contains),B=R.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(R)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:B},V={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,n.concat(i,"(",n.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},H={relevance:0,match:n.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...st,...ot]}},J={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},q={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},le={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function de(L){return n.concat("(?!",L.join("|"),")")}const ce={match:n.concat(/\b/,de([...lt,"super","import"].map(L=>`${L}\\s*\\(`)),i,n.lookahead(/\s*\(/)),className:"title.function",relevance:0},Y={begin:n.concat(/\./,n.lookahead(n.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},j={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},te="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",ye={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(te)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:H},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),J,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,y,v,h,N,S,{match:/\$\d+/},p,H,{scope:"attr",match:i+n.lookahead(":"),relevance:0},ye,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[S,e.REGEXP_MODE,{className:"function",begin:te,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:d},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},q,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,e.inherit(e.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},Y,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},ce,le,V,j,{match:/\$[(.]/}]}}function bi(e){const n=e.regex,a=ui(e),i=We,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],d={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[a.exports.CLASS_REFERENCE]},l={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},g=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],o={$pattern:We,keyword:it.concat(g),literal:rt,built_in:dt.concat(r),"variable.language":ct},b={className:"meta",begin:"@"+i},p=(h,N,S)=>{const C=h.contains.findIndex(R=>R.label===N);if(C===-1)throw new Error("can not find mode to replace");h.contains.splice(C,1,S)};Object.assign(a.keywords,o),a.exports.PARAMS_CONTAINS.push(b);const u=a.contains.find(h=>h.scope==="attr"),y=Object.assign({},u,{match:n.concat(i,n.lookahead(/\s*\?:/))});a.exports.PARAMS_CONTAINS.push([a.exports.CLASS_REFERENCE,u,y]),a.contains=a.contains.concat([b,d,s,y]),p(a,"shebang",e.SHEBANG()),p(a,"use_strict",l);const v=a.contains.find(h=>h.label==="func.def");return v.relevance=0,Object.assign(a,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),a}function mi(e){const n=e.regex,a={className:"string",begin:/"(""|[^/n])"C\b/},i={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},r=/\d{1,2}\/\d{1,2}\/\d{4}/,d=/\d{4}-\d{1,2}-\d{1,2}/,s=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,l=/\d{1,2}(:\d{1,2}){1,2}/,g={className:"literal",variants:[{begin:n.concat(/# */,n.either(d,r),/ *#/)},{begin:n.concat(/# */,l,/ *#/)},{begin:n.concat(/# */,s,/ *#/)},{begin:n.concat(/# */,n.either(d,r),/ +/,n.either(s,l),/ *#/)}]},o={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},b={className:"label",begin:/^\w+:/},p=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),u=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[a,i,g,o,b,p,u,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[u]}]}}function pi(e){e.regex;const n=e.COMMENT(/\(;/,/;\)/);n.contains.push("self");const a=e.COMMENT(/;;/,/$/),i=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],r={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},d={className:"variable",begin:/\$[\w_]+/},s={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},l={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},g={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},o={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:i},contains:[a,n,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},d,s,r,e.QUOTE_STRING_MODE,g,o,l]}}function fi(e){const n=e.regex,a=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},d={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=e.inherit(d,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{className:"string"}),g=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),o={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[d,g,l,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[d,s,g,l]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[g]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[o],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[o],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:n.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:a,relevance:0,starts:o}]},{className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(a,/>/))),contains:[{className:"name",begin:a,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function hi(e){const n="true false yes no null",a="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},d={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},s={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,r]},l=e.inherit(s,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),g={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},o={end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},b={begin:/\{/,end:/\}/,contains:[o],illegal:"\\n",relevance:0},p={begin:"\\[",end:"\\]",contains:[o],illegal:"\\n",relevance:0},u=[i,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},g,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},b,p,d,s],y=[...u];return y.pop(),y.push(l),o.contains=y,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:u}}const _i={arduino:Yt,bash:ea,c:na,cpp:ta,csharp:aa,css:ua,diff:ba,go:ma,graphql:pa,ini:fa,java:ha,javascript:va,json:Na,kotlin:xa,less:Ia,lua:Da,makefile:La,markdown:Ba,objectivec:za,perl:Fa,php:$a,"php-template":Ua,plaintext:Pa,python:ja,"python-repl":qa,r:Ka,ruby:Ga,rust:Ha,scss:ni,shell:ti,sql:ai,swift:gi,typescript:bi,vbnet:mi,wasm:pi,xml:fi,yaml:hi};var mn,jn;function yi(){if(jn)return mn;jn=1;function e(t){return t instanceof Map?t.clear=t.delete=t.set=function(){throw new Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=function(){throw new Error("set is read-only")}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach(c=>{const _=t[c],A=typeof _;(A==="object"||A==="function")&&!Object.isFrozen(_)&&e(_)}),t}class n{constructor(c){c.data===void 0&&(c.data={}),this.data=c.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function a(t){return t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function i(t,...c){const _=Object.create(null);for(const A in t)_[A]=t[A];return c.forEach(function(A){for(const K in A)_[K]=A[K]}),_}const r="",d=t=>!!t.scope,s=(t,{prefix:c})=>{if(t.startsWith("language:"))return t.replace("language:","language-");if(t.includes(".")){const _=t.split(".");return[`${c}${_.shift()}`,..._.map((A,K)=>`${A}${"_".repeat(K+1)}`)].join(" ")}return`${c}${t}`};class l{constructor(c,_){this.buffer="",this.classPrefix=_.classPrefix,c.walk(this)}addText(c){this.buffer+=a(c)}openNode(c){if(!d(c))return;const _=s(c.scope,{prefix:this.classPrefix});this.span(_)}closeNode(c){d(c)&&(this.buffer+=r)}value(){return this.buffer}span(c){this.buffer+=``}}const g=(t={})=>{const c={children:[]};return Object.assign(c,t),c};class o{constructor(){this.rootNode=g(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(c){this.top.children.push(c)}openNode(c){const _=g({scope:c});this.add(_),this.stack.push(_)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(c){return this.constructor._walk(c,this.rootNode)}static _walk(c,_){return typeof _=="string"?c.addText(_):_.children&&(c.openNode(_),_.children.forEach(A=>this._walk(c,A)),c.closeNode(_)),c}static _collapse(c){typeof c!="string"&&c.children&&(c.children.every(_=>typeof _=="string")?c.children=[c.children.join("")]:c.children.forEach(_=>{o._collapse(_)}))}}class b extends o{constructor(c){super(),this.options=c}addText(c){c!==""&&this.add(c)}startScope(c){this.openNode(c)}endScope(){this.closeNode()}__addSublanguage(c,_){const A=c.root;_&&(A.scope=`language:${_}`),this.add(A)}toHTML(){return new l(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function p(t){return t?typeof t=="string"?t:t.source:null}function u(t){return h("(?=",t,")")}function y(t){return h("(?:",t,")*")}function v(t){return h("(?:",t,")?")}function h(...t){return t.map(c=>p(c)).join("")}function N(t){const c=t[t.length-1];return typeof c=="object"&&c.constructor===Object?(t.splice(t.length-1,1),c):{}}function S(...t){return"("+(N(t).capture?"":"?:")+t.map(c=>p(c)).join("|")+")"}function C(t){return new RegExp(t.toString()+"|").exec("").length-1}function R(t,c){const _=t&&t.exec(c);return _&&_.index===0}const B=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function D(t,{joinWith:c}){let _=0;return t.map(A=>{_+=1;const K=_;let G=p(A),w="";for(;G.length>0;){const E=B.exec(G);if(!E){w+=G;break}w+=G.substring(0,E.index),G=G.substring(E.index+E[0].length),E[0][0]==="\\"&&E[1]?w+="\\"+String(Number(E[1])+K):(w+=E[0],E[0]==="("&&_++)}return w}).map(A=>`(${A})`).join(c)}const V=/\b\B/,H="[a-zA-Z]\\w*",J="[a-zA-Z_]\\w*",q="\\b\\d+(\\.\\d+)?",le="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",de="\\b(0b[01]+)",ce="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Y=(t={})=>{const c=/^#![ ]*\//;return t.binary&&(t.begin=h(c,/.*\b/,t.binary,/\b.*/)),i({scope:"meta",begin:c,end:/$/,relevance:0,"on:begin":(_,A)=>{_.index!==0&&A.ignoreMatch()}},t)},j={begin:"\\\\[\\s\\S]",relevance:0},te={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[j]},ye={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[j]},L={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Z=function(t,c,_={}){const A=i({scope:"comment",begin:t,end:c,contains:[]},_);A.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const K=S("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return A.contains.push({begin:h(/[ ]+/,"(",K,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),A},ae=Z("//","$"),ge=Z("/\\*","\\*/"),se=Z("#","$"),ie={scope:"number",begin:q,relevance:0},Xe={scope:"number",begin:le,relevance:0},Qe={scope:"number",begin:de,relevance:0},Ie={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[j,{begin:/\[/,end:/\]/,relevance:0,contains:[j]}]},Ce={scope:"title",begin:H,relevance:0},Ve={scope:"title",begin:J,relevance:0},De={begin:"\\.\\s*"+J,relevance:0};var Ne=Object.freeze({__proto__:null,APOS_STRING_MODE:te,BACKSLASH_ESCAPE:j,BINARY_NUMBER_MODE:Qe,BINARY_NUMBER_RE:de,COMMENT:Z,C_BLOCK_COMMENT_MODE:ge,C_LINE_COMMENT_MODE:ae,C_NUMBER_MODE:Xe,C_NUMBER_RE:le,END_SAME_AS_BEGIN:function(t){return Object.assign(t,{"on:begin":(c,_)=>{_.data._beginMatch=c[1]},"on:end":(c,_)=>{_.data._beginMatch!==c[1]&&_.ignoreMatch()}})},HASH_COMMENT_MODE:se,IDENT_RE:H,MATCH_NOTHING_RE:V,METHOD_GUARD:De,NUMBER_MODE:ie,NUMBER_RE:q,PHRASAL_WORDS_MODE:L,QUOTE_STRING_MODE:ye,REGEXP_MODE:Ie,RE_STARTERS_RE:ce,SHEBANG:Y,TITLE_MODE:Ce,UNDERSCORE_IDENT_RE:J,UNDERSCORE_TITLE_MODE:Ve});function Je(t,c){t.input[t.index-1]==="."&&c.ignoreMatch()}function Ye(t,c){t.className!==void 0&&(t.scope=t.className,delete t.className)}function en(t,c){c&&t.beginKeywords&&(t.begin="\\b("+t.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",t.__beforeBegin=Je,t.keywords=t.keywords||t.beginKeywords,delete t.beginKeywords,t.relevance===void 0&&(t.relevance=0))}function nn(t,c){Array.isArray(t.illegal)&&(t.illegal=S(...t.illegal))}function tn(t,c){if(t.match){if(t.begin||t.end)throw new Error("begin & end are not supported with match");t.begin=t.match,delete t.match}}function an(t,c){t.relevance===void 0&&(t.relevance=1)}const z=(t,c)=>{if(!t.beforeMatch)return;if(t.starts)throw new Error("beforeMatch cannot be used with starts");const _=Object.assign({},t);Object.keys(t).forEach(A=>{delete t[A]}),t.keywords=_.keywords,t.begin=h(_.beforeMatch,u(_.begin)),t.starts={relevance:0,contains:[Object.assign(_,{endsParent:!0})]},t.relevance=0,delete _.beforeMatch},ke=["of","and","for","in","not","or","if","then","parent","list","value"],Ee="keyword";function Le(t,c,_=Ee){const A=Object.create(null);return typeof t=="string"?K(_,t.split(" ")):Array.isArray(t)?K(_,t):Object.keys(t).forEach(function(G){Object.assign(A,Le(t[G],c,G))}),A;function K(G,w){c&&(w=w.map(E=>E.toLowerCase())),w.forEach(function(E){const M=E.split("|");A[M[0]]=[G,gt(M[0],M[1])]})}}function gt(t,c){return c?Number(c):ut(t)?0:1}function ut(t){return ke.includes(t.toLowerCase())}const hn={},we=t=>{console.error(t)},_n=(t,...c)=>{console.log(`WARN: ${t}`,...c)},xe=(t,c)=>{hn[`${t}/${c}`]||(console.log(`Deprecated as of ${t}. ${c}`),hn[`${t}/${c}`]=!0)},Be=new Error;function yn(t,c,{key:_}){let A=0;const K=t[_],G={},w={};for(let E=1;E<=c.length;E++)w[E+A]=K[E],G[E+A]=!0,A+=C(c[E-1]);t[_]=w,t[_]._emit=G,t[_]._multi=!0}function bt(t){if(Array.isArray(t.begin)){if(t.skip||t.excludeBegin||t.returnBegin)throw we("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Be;if(typeof t.beginScope!="object"||t.beginScope===null)throw we("beginScope must be object"),Be;yn(t,t.begin,{key:"beginScope"}),t.begin=D(t.begin,{joinWith:""})}}function mt(t){if(Array.isArray(t.end)){if(t.skip||t.excludeEnd||t.returnEnd)throw we("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Be;if(typeof t.endScope!="object"||t.endScope===null)throw we("endScope must be object"),Be;yn(t,t.end,{key:"endScope"}),t.end=D(t.end,{joinWith:""})}}function pt(t){t.scope&&typeof t.scope=="object"&&t.scope!==null&&(t.beginScope=t.scope,delete t.scope)}function ft(t){pt(t),typeof t.beginScope=="string"&&(t.beginScope={_wrap:t.beginScope}),typeof t.endScope=="string"&&(t.endScope={_wrap:t.endScope}),bt(t),mt(t)}function ht(t){function c(w,E){return new RegExp(p(w),"m"+(t.case_insensitive?"i":"")+(t.unicodeRegex?"u":"")+(E?"g":""))}class _{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(E,M){M.position=this.position++,this.matchIndexes[this.matchAt]=M,this.regexes.push([M,E]),this.matchAt+=C(E)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const E=this.regexes.map(M=>M[1]);this.matcherRe=c(D(E,{joinWith:"|"}),!0),this.lastIndex=0}exec(E){this.matcherRe.lastIndex=this.lastIndex;const M=this.matcherRe.exec(E);if(!M)return null;const Q=M.findIndex((Te,sn)=>sn>0&&Te!==void 0),W=this.matchIndexes[Q];return M.splice(0,Q),Object.assign(M,W)}}class A{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(E){if(this.multiRegexes[E])return this.multiRegexes[E];const M=new _;return this.rules.slice(E).forEach(([Q,W])=>M.addRule(Q,W)),M.compile(),this.multiRegexes[E]=M,M}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(E,M){this.rules.push([E,M]),M.type==="begin"&&this.count++}exec(E){const M=this.getMatcher(this.regexIndex);M.lastIndex=this.lastIndex;let Q=M.exec(E);if(this.resumingScanAtSamePosition()&&!(Q&&Q.index===this.lastIndex)){const W=this.getMatcher(0);W.lastIndex=this.lastIndex+1,Q=W.exec(E)}return Q&&(this.regexIndex+=Q.position+1,this.regexIndex===this.count&&this.considerAll()),Q}}function K(w){const E=new A;return w.contains.forEach(M=>E.addRule(M.begin,{rule:M,type:"begin"})),w.terminatorEnd&&E.addRule(w.terminatorEnd,{type:"end"}),w.illegal&&E.addRule(w.illegal,{type:"illegal"}),E}function G(w,E){const M=w;if(w.isCompiled)return M;[Ye,tn,ft,z].forEach(W=>W(w,E)),t.compilerExtensions.forEach(W=>W(w,E)),w.__beforeBegin=null,[en,nn,an].forEach(W=>W(w,E)),w.isCompiled=!0;let Q=null;return typeof w.keywords=="object"&&w.keywords.$pattern&&(w.keywords=Object.assign({},w.keywords),Q=w.keywords.$pattern,delete w.keywords.$pattern),Q=Q||/\w+/,w.keywords&&(w.keywords=Le(w.keywords,t.case_insensitive)),M.keywordPatternRe=c(Q,!0),E&&(w.begin||(w.begin=/\B|\b/),M.beginRe=c(M.begin),!w.end&&!w.endsWithParent&&(w.end=/\B|\b/),w.end&&(M.endRe=c(M.end)),M.terminatorEnd=p(M.end)||"",w.endsWithParent&&E.terminatorEnd&&(M.terminatorEnd+=(w.end?"|":"")+E.terminatorEnd)),w.illegal&&(M.illegalRe=c(w.illegal)),w.contains||(w.contains=[]),w.contains=[].concat(...w.contains.map(function(W){return _t(W==="self"?w:W)})),w.contains.forEach(function(W){G(W,M)}),w.starts&&G(w.starts,E),M.matcher=K(M),M}if(t.compilerExtensions||(t.compilerExtensions=[]),t.contains&&t.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return t.classNameAliases=i(t.classNameAliases||{}),G(t)}function En(t){return t?t.endsWithParent||En(t.starts):!1}function _t(t){return t.variants&&!t.cachedVariants&&(t.cachedVariants=t.variants.map(function(c){return i(t,{variants:null},c)})),t.cachedVariants?t.cachedVariants:En(t)?i(t,{starts:t.starts?i(t.starts):null}):Object.isFrozen(t)?i(t):t}var yt="11.11.1";class Et extends Error{constructor(c,_){super(c),this.name="HTMLInjectionError",this.html=_}}const rn=a,wn=i,vn=Symbol("nomatch"),wt=7,Nn=function(t){const c=Object.create(null),_=Object.create(null),A=[];let K=!0;const G="Could not find the language '{}', did you forget to load/include a language module?",w={disableAutodetect:!0,name:"Plain text",contains:[]};let E={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:b};function M(m){return E.noHighlightRe.test(m)}function Q(m){let x=m.className+" ";x+=m.parentNode?m.parentNode.className:"";const I=E.languageDetectRe.exec(x);if(I){const U=he(I[1]);return U||(_n(G.replace("{}",I[1])),_n("Falling back to no-highlight mode for this block.",m)),U?I[1]:"no-highlight"}return x.split(/\s+/).find(U=>M(U)||he(U))}function W(m,x,I){let U="",X="";typeof x=="object"?(U=m,I=x.ignoreIllegals,X=x.language):(xe("10.7.0","highlight(lang, code, ...args) has been deprecated."),xe("10.7.0",`Please use highlight(code, options) instead. https://github.com/highlightjs/highlight.js/issues/2277`),X=m,U=x),I===void 0&&(I=!0);const ue={code:U,language:X};Fe("before:highlight",ue);const _e=ue.result?ue.result:Te(ue.language,ue.code,I);return _e.code=ue.code,Fe("after:highlight",_e),_e}function Te(m,x,I,U){const X=Object.create(null);function ue(f,k){return f.keywords[k]}function _e(){if(!O.keywords){ee.addText(P);return}let f=0;O.keywordPatternRe.lastIndex=0;let k=O.keywordPatternRe.exec(P),T="";for(;k;){T+=P.substring(f,k.index);const F=me.case_insensitive?k[0].toLowerCase():k[0],ne=ue(O,F);if(ne){const[fe,Ft]=ne;if(ee.addText(T),T="",X[F]=(X[F]||0)+1,X[F]<=wt&&(Pe+=Ft),fe.startsWith("_"))T+=k[0];else{const $t=me.classNameAliases[fe]||fe;be(k[0],$t)}}else T+=k[0];f=O.keywordPatternRe.lastIndex,k=O.keywordPatternRe.exec(P)}T+=P.substring(f),ee.addText(T)}function $e(){if(P==="")return;let f=null;if(typeof O.subLanguage=="string"){if(!c[O.subLanguage]){ee.addText(P);return}f=Te(O.subLanguage,P,!0,Tn[O.subLanguage]),Tn[O.subLanguage]=f._top}else f=on(P,O.subLanguage.length?O.subLanguage:null);O.relevance>0&&(Pe+=f.relevance),ee.__addSublanguage(f._emitter,f.language)}function oe(){O.subLanguage!=null?$e():_e(),P=""}function be(f,k){f!==""&&(ee.startScope(k),ee.addText(f),ee.endScope())}function Mn(f,k){let T=1;const F=k.length-1;for(;T<=F;){if(!f._emit[T]){T++;continue}const ne=me.classNameAliases[f[T]]||f[T],fe=k[T];ne?be(fe,ne):(P=fe,_e(),P=""),T++}}function On(f,k){return f.scope&&typeof f.scope=="string"&&ee.openNode(me.classNameAliases[f.scope]||f.scope),f.beginScope&&(f.beginScope._wrap?(be(P,me.classNameAliases[f.beginScope._wrap]||f.beginScope._wrap),P=""):f.beginScope._multi&&(Mn(f.beginScope,k),P="")),O=Object.create(f,{parent:{value:O}}),O}function An(f,k,T){let F=R(f.endRe,T);if(F){if(f["on:end"]){const ne=new n(f);f["on:end"](k,ne),ne.isMatchIgnored&&(F=!1)}if(F){for(;f.endsParent&&f.parent;)f=f.parent;return f}}if(f.endsWithParent)return An(f.parent,k,T)}function It(f){return O.matcher.regexIndex===0?(P+=f[0],1):(gn=!0,0)}function Dt(f){const k=f[0],T=f.rule,F=new n(T),ne=[T.__beforeBegin,T["on:begin"]];for(const fe of ne)if(fe&&(fe(f,F),F.isMatchIgnored))return It(k);return T.skip?P+=k:(T.excludeBegin&&(P+=k),oe(),!T.returnBegin&&!T.excludeBegin&&(P=k)),On(T,f),T.returnBegin?0:k.length}function Lt(f){const k=f[0],T=x.substring(f.index),F=An(O,f,T);if(!F)return vn;const ne=O;O.endScope&&O.endScope._wrap?(oe(),be(k,O.endScope._wrap)):O.endScope&&O.endScope._multi?(oe(),Mn(O.endScope,f)):ne.skip?P+=k:(ne.returnEnd||ne.excludeEnd||(P+=k),oe(),ne.excludeEnd&&(P=k));do O.scope&&ee.closeNode(),!O.skip&&!O.subLanguage&&(Pe+=O.relevance),O=O.parent;while(O!==F.parent);return F.starts&&On(F.starts,f),ne.returnEnd?0:k.length}function Bt(){const f=[];for(let k=O;k!==me;k=k.parent)k.scope&&f.unshift(k.scope);f.forEach(k=>ee.openNode(k))}let Ue={};function Cn(f,k){const T=k&&k[0];if(P+=f,T==null)return oe(),0;if(Ue.type==="begin"&&k.type==="end"&&Ue.index===k.index&&T===""){if(P+=x.slice(k.index,k.index+1),!K){const F=new Error(`0 width match regex (${m})`);throw F.languageName=m,F.badRule=Ue.rule,F}return 1}if(Ue=k,k.type==="begin")return Dt(k);if(k.type==="illegal"&&!I){const F=new Error('Illegal lexeme "'+T+'" for mode "'+(O.scope||"")+'"');throw F.mode=O,F}else if(k.type==="end"){const F=Lt(k);if(F!==vn)return F}if(k.type==="illegal"&&T==="")return P+=` `,1;if(dn>1e5&&dn>k.index*3)throw new Error("potential infinite loop, way more iterations than matches");return P+=T,T.length}const me=he(m);if(!me)throw we(G.replace("{}",m)),new Error('Unknown language: "'+m+'"');const zt=ht(me);let cn="",O=U||zt;const Tn={},ee=new E.__emitter(E);Bt();let P="",Pe=0,ve=0,dn=0,gn=!1;try{if(me.__emitTokens)me.__emitTokens(x,ee);else{for(O.matcher.considerAll();;){dn++,gn?gn=!1:O.matcher.considerAll(),O.matcher.lastIndex=ve;const f=O.matcher.exec(x);if(!f)break;const k=x.substring(ve,f.index),T=Cn(k,f);ve=f.index+T}Cn(x.substring(ve))}return ee.finalize(),cn=ee.toHTML(),{language:m,value:cn,relevance:Pe,illegal:!1,_emitter:ee,_top:O}}catch(f){if(f.message&&f.message.includes("Illegal"))return{language:m,value:rn(x),illegal:!0,relevance:0,_illegalBy:{message:f.message,index:ve,context:x.slice(ve-100,ve+100),mode:f.mode,resultSoFar:cn},_emitter:ee};if(K)return{language:m,value:rn(x),illegal:!1,relevance:0,errorRaised:f,_emitter:ee,_top:O};throw f}}function sn(m){const x={value:rn(m),illegal:!1,relevance:0,_top:w,_emitter:new E.__emitter(E)};return x._emitter.addText(m),x}function on(m,x){x=x||E.languages||Object.keys(c);const I=sn(m),U=x.filter(he).filter(Sn).map(oe=>Te(oe,m,!1));U.unshift(I);const X=U.sort((oe,be)=>{if(oe.relevance!==be.relevance)return be.relevance-oe.relevance;if(oe.language&&be.language){if(he(oe.language).supersetOf===be.language)return 1;if(he(be.language).supersetOf===oe.language)return-1}return 0}),[ue,_e]=X,$e=ue;return $e.secondBest=_e,$e}function vt(m,x,I){const U=x&&_[x]||I;m.classList.add("hljs"),m.classList.add(`language-${U}`)}function ln(m){let x=null;const I=Q(m);if(M(I))return;if(Fe("before:highlightElement",{el:m,language:I}),m.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",m);return}if(m.children.length>0&&(E.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(m)),E.throwUnescapedHTML))throw new Et("One of your code blocks includes unescaped HTML.",m.innerHTML);x=m;const U=x.textContent,X=I?W(U,{language:I,ignoreIllegals:!0}):on(U);m.innerHTML=X.value,m.dataset.highlighted="yes",vt(m,I,X.language),m.result={language:X.language,re:X.relevance,relevance:X.relevance},X.secondBest&&(m.secondBest={language:X.secondBest.language,relevance:X.secondBest.relevance}),Fe("after:highlightElement",{el:m,result:X,text:U})}function Nt(m){E=wn(E,m)}const kt=()=>{ze(),xe("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function xt(){ze(),xe("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let kn=!1;function ze(){function m(){ze()}if(document.readyState==="loading"){kn||window.addEventListener("DOMContentLoaded",m,!1),kn=!0;return}document.querySelectorAll(E.cssSelector).forEach(ln)}function St(m,x){let I=null;try{I=x(t)}catch(U){if(we("Language definition for '{}' could not be registered.".replace("{}",m)),K)we(U);else throw U;I=w}I.name||(I.name=m),c[m]=I,I.rawDefinition=x.bind(null,t),I.aliases&&xn(I.aliases,{languageName:m})}function Mt(m){delete c[m];for(const x of Object.keys(_))_[x]===m&&delete _[x]}function Ot(){return Object.keys(c)}function he(m){return m=(m||"").toLowerCase(),c[m]||c[_[m]]}function xn(m,{languageName:x}){typeof m=="string"&&(m=[m]),m.forEach(I=>{_[I.toLowerCase()]=x})}function Sn(m){const x=he(m);return x&&!x.disableAutodetect}function At(m){m["before:highlightBlock"]&&!m["before:highlightElement"]&&(m["before:highlightElement"]=x=>{m["before:highlightBlock"](Object.assign({block:x.el},x))}),m["after:highlightBlock"]&&!m["after:highlightElement"]&&(m["after:highlightElement"]=x=>{m["after:highlightBlock"](Object.assign({block:x.el},x))})}function Ct(m){At(m),A.push(m)}function Tt(m){const x=A.indexOf(m);x!==-1&&A.splice(x,1)}function Fe(m,x){const I=m;A.forEach(function(U){U[I]&&U[I](x)})}function Rt(m){return xe("10.7.0","highlightBlock will be removed entirely in v12.0"),xe("10.7.0","Please use highlightElement now."),ln(m)}Object.assign(t,{highlight:W,highlightAuto:on,highlightAll:ze,highlightElement:ln,highlightBlock:Rt,configure:Nt,initHighlighting:kt,initHighlightingOnLoad:xt,registerLanguage:St,unregisterLanguage:Mt,listLanguages:Ot,getLanguage:he,registerAliases:xn,autoDetection:Sn,inherit:wn,addPlugin:Ct,removePlugin:Tt}),t.debugMode=function(){K=!1},t.safeMode=function(){K=!0},t.versionString=yt,t.regex={concat:h,lookahead:u,either:S,optional:v,anyNumberOfTimes:y};for(const m in Ne)typeof Ne[m]=="object"&&e(Ne[m]);return Object.assign(t,Ne),t},Se=Nn({});return Se.newInstance=()=>Nn({}),mn=Se,Se.HighlightJS=Se,Se.default=Se,mn}var Ei=yi();const wi=Ut(Ei),qn={},vi="hljs-";function Ni(e){const n=wi.newInstance();return e&&d(e),{highlight:a,highlightAuto:i,listLanguages:r,register:d,registerAlias:s,registered:l};function a(g,o,b){const p=b||qn,u=typeof p.prefix=="string"?p.prefix:vi;if(!n.getLanguage(g))throw new Error("Unknown language: `"+g+"` is not registered");n.configure({__emitter:ki,classPrefix:u});const y=n.highlight(o,{ignoreIllegals:!0,language:g});if(y.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:y.errorRaised});const v=y._emitter.root,h=v.data;return h.language=y.language,h.relevance=y.relevance,v}function i(g,o){const b=(o||qn).subset||r();let p=-1,u=0,y;for(;++pu&&(u=h.data.relevance,y=h)}return y||{type:"root",children:[],data:{language:void 0,relevance:u}}}function r(){return n.listLanguages()}function d(g,o){if(typeof g=="string")n.registerLanguage(g,o);else{let b;for(b in g)Object.hasOwn(g,b)&&n.registerLanguage(b,g[b])}}function s(g,o){if(typeof g=="string")n.registerAliases(typeof o=="string"?o:[...o],{languageName:g});else{let b;for(b in g)if(Object.hasOwn(g,b)){const p=g[b];n.registerAliases(typeof p=="string"?p:[...p],{languageName:b})}}}function l(g){return!!n.getLanguage(g)}}class ki{constructor(n){this.options=n,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(n){if(n==="")return;const a=this.stack[this.stack.length-1],i=a.children[a.children.length-1];i&&i.type==="text"?i.value+=n:a.children.push({type:"text",value:n})}startScope(n){this.openNode(String(n))}endScope(){this.closeNode()}__addSublanguage(n,a){const i=this.stack[this.stack.length-1],r=n.root.children;a?i.children.push({type:"element",tagName:"span",properties:{className:[a]},children:r}):i.children.push(...r)}openNode(n){const a=this,i=n.split(".").map(function(s,l){return l?s+"_".repeat(l):a.options.classPrefix+s}),r=this.stack[this.stack.length-1],d={type:"element",tagName:"span",properties:{className:i},children:[]};r.children.push(d),this.stack.push(d)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const xi={};function Ti(e){const n=e||xi,a=n.aliases,i=n.detect||!1,r=n.languages||_i,d=n.plainText,s=n.prefix,l=n.subset;let g="hljs";const o=Ni(r);if(a&&o.registerAlias(a),s){const b=s.indexOf("-");g=b===-1?s:s.slice(0,b)}return function(b,p){Pt(b,"element",function(u,y,v){if(u.tagName!=="code"||!v||v.type!=="element"||v.tagName!=="pre")return;const h=Si(u);if(h===!1||!h&&!i||h&&d&&d.includes(h))return;Array.isArray(u.properties.className)||(u.properties.className=[]),u.properties.className.includes(g)||u.properties.className.unshift(g);const N=Gt(u,{whitespace:"pre"});let S;try{S=h?o.highlight(h,N,{prefix:s}):o.highlightAuto(N,{prefix:s,subset:l})}catch(C){const R=C;if(h&&/Unknown language/.test(R.message)){p.message("Cannot highlight as `"+h+"`, it’s not registered",{ancestors:[v,u],cause:R,place:u.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw R}!h&&S.data&&S.data.language&&u.properties.className.push("language-"+S.data.language),S.children.length>0&&(u.children=S.children)})}}function Si(e){const n=e.properties.className;let a=-1;if(!Array.isArray(n))return;let i;for(;++a | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate extends Value\n * ? Predicate\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends Array\n * ? MatchesOne\n * : MatchesOne\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {(\n * Kind extends {children: Array}\n * ? Child\n * : never\n * )} Child\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Kind\n * All node types.\n */\n\nimport {convert} from 'unist-util-is'\n\n/**\n * Find the first node in `parent` after another `node` or after an index,\n * that passes `test`.\n *\n * @param parent\n * Parent node.\n * @param index\n * Child node or index.\n * @param [test=undefined]\n * Test for child to look for (optional).\n * @returns\n * A child (matching `test`, if given) or `undefined`.\n */\nexport const findAfter =\n // Note: overloads like this are needed to support optional generics.\n /**\n * @type {(\n * ((parent: Kind, index: Child | number, test: Check) => Matches, Check> | undefined) &\n * ((parent: Kind, index: Child | number, test?: null | undefined) => Child | undefined)\n * )}\n */\n (\n /**\n * @param {UnistParent} parent\n * @param {UnistNode | number} index\n * @param {Test} [test]\n * @returns {UnistNode | undefined}\n */\n function (parent, index, test) {\n const is = convert(test)\n\n if (!parent || !parent.type || !parent.children) {\n throw new Error('Expected parent node')\n }\n\n if (typeof index === 'number') {\n if (index < 0 || index === Number.POSITIVE_INFINITY) {\n throw new Error('Expected positive finite number as index')\n }\n } else {\n index = parent.children.indexOf(index)\n\n if (index < 0) {\n throw new Error('Expected child node or index')\n }\n }\n\n while (++index < parent.children.length) {\n if (is(parent.children[index], index, parent)) {\n return parent.children[index]\n }\n }\n\n return undefined\n }\n )\n","/**\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Nodes} Nodes\n * @typedef {import('hast').Parents} Parents\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast-util-is-element').TestFunction} TestFunction\n */\n\n/**\n * @typedef {'normal' | 'nowrap' | 'pre' | 'pre-wrap'} Whitespace\n * Valid and useful whitespace values (from CSS).\n *\n * @typedef {0 | 1 | 2} BreakNumber\n * Specific break:\n *\n * * `0` — space\n * * `1` — line ending\n * * `2` — blank line\n *\n * @typedef {'\\n'} BreakForce\n * Forced break.\n *\n * @typedef {boolean} BreakValue\n * Whether there was a break.\n *\n * @typedef {BreakNumber | BreakValue | undefined} BreakBefore\n * Any value for a break before.\n *\n * @typedef {BreakForce | BreakNumber | BreakValue | undefined} BreakAfter\n * Any value for a break after.\n *\n * @typedef CollectionInfo\n * Info on current collection.\n * @property {BreakAfter} breakAfter\n * Whether there was a break after.\n * @property {BreakBefore} breakBefore\n * Whether there was a break before.\n * @property {Whitespace} whitespace\n * Current whitespace setting.\n *\n * @typedef Options\n * Configuration.\n * @property {Whitespace | null | undefined} [whitespace='normal']\n * Initial CSS whitespace setting to use (default: `'normal'`).\n */\n\nimport {findAfter} from 'unist-util-find-after'\nimport {convertElement} from 'hast-util-is-element'\n\nconst searchLineFeeds = /\\n/g\nconst searchTabOrSpaces = /[\\t ]+/g\n\nconst br = convertElement('br')\nconst cell = convertElement(isCell)\nconst p = convertElement('p')\nconst row = convertElement('tr')\n\n// Note that we don’t need to include void elements here as they don’t have text.\n// See: \nconst notRendered = convertElement([\n // List from: \n 'datalist',\n 'head',\n 'noembed',\n 'noframes',\n 'noscript', // Act as if we support scripting.\n 'rp',\n 'script',\n 'style',\n 'template',\n 'title',\n // Hidden attribute.\n hidden,\n // From: \n closedDialog\n])\n\n// See: \nconst blockOrCaption = convertElement([\n 'address', // Flow content\n 'article', // Sections and headings\n 'aside', // Sections and headings\n 'blockquote', // Flow content\n 'body', // Page\n 'caption', // `table-caption`\n 'center', // Flow content (legacy)\n 'dd', // Lists\n 'dialog', // Flow content\n 'dir', // Lists (legacy)\n 'dl', // Lists\n 'dt', // Lists\n 'div', // Flow content\n 'figure', // Flow content\n 'figcaption', // Flow content\n 'footer', // Flow content\n 'form,', // Flow content\n 'h1', // Sections and headings\n 'h2', // Sections and headings\n 'h3', // Sections and headings\n 'h4', // Sections and headings\n 'h5', // Sections and headings\n 'h6', // Sections and headings\n 'header', // Flow content\n 'hgroup', // Sections and headings\n 'hr', // Flow content\n 'html', // Page\n 'legend', // Flow content\n 'li', // Lists (as `display: list-item`)\n 'listing', // Flow content (legacy)\n 'main', // Flow content\n 'menu', // Lists\n 'nav', // Sections and headings\n 'ol', // Lists\n 'p', // Flow content\n 'plaintext', // Flow content (legacy)\n 'pre', // Flow content\n 'section', // Sections and headings\n 'ul', // Lists\n 'xmp' // Flow content (legacy)\n])\n\n/**\n * Get the plain-text value of a node.\n *\n * ###### Algorithm\n *\n * * if `tree` is a comment, returns its `value`\n * * if `tree` is a text, applies normal whitespace collapsing to its\n * `value`, as defined by the CSS Text spec\n * * if `tree` is a root or element, applies an algorithm similar to the\n * `innerText` getter as defined by HTML\n *\n * ###### Notes\n *\n * > 👉 **Note**: the algorithm acts as if `tree` is being rendered, and as if\n * > we’re a CSS-supporting user agent, with scripting enabled.\n *\n * * if `tree` is an element that is not displayed (such as a `head`), we’ll\n * still use the `innerText` algorithm instead of switching to `textContent`\n * * if descendants of `tree` are elements that are not displayed, they are\n * ignored\n * * CSS is not considered, except for the default user agent style sheet\n * * a line feed is collapsed instead of ignored in cases where Fullwidth, Wide,\n * or Halfwidth East Asian Width characters are used, the same goes for a case\n * with Chinese, Japanese, or Yi writing systems\n * * replaced elements (such as `audio`) are treated like non-replaced elements\n *\n * @param {Nodes} tree\n * Tree to turn into text.\n * @param {Readonly | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Serialized `tree`.\n */\nexport function toText(tree, options) {\n const options_ = options || {}\n const children = 'children' in tree ? tree.children : []\n const block = blockOrCaption(tree)\n const whitespace = inferWhitespace(tree, {\n whitespace: options_.whitespace || 'normal',\n breakBefore: false,\n breakAfter: false\n })\n\n /** @type {Array} */\n const results = []\n\n // Treat `text` and `comment` as having normal white-space.\n // This deviates from the spec as in the DOM the node’s `.data` has to be\n // returned.\n // If you want that behavior use `hast-util-to-string`.\n // All other nodes are later handled as if they are `element`s (so the\n // algorithm also works on a `root`).\n // Nodes without children are treated as a void element, so `doctype` is thus\n // ignored.\n if (tree.type === 'text' || tree.type === 'comment') {\n results.push(\n ...collectText(tree, {\n whitespace,\n breakBefore: true,\n breakAfter: true\n })\n )\n }\n\n // 1. If this element is not being rendered, or if the user agent is a\n // non-CSS user agent, then return the same value as the textContent IDL\n // attribute on this element.\n //\n // Note: we’re not supporting stylesheets so we’re acting as if the node\n // is rendered.\n //\n // If you want that behavior use `hast-util-to-string`.\n // Important: we’ll have to account for this later though.\n\n // 2. Let results be a new empty list.\n let index = -1\n\n // 3. For each child node node of this element:\n while (++index < children.length) {\n // 3.1. Let current be the list resulting in running the inner text\n // collection steps with node.\n // Each item in results will either be a JavaScript string or a\n // positive integer (a required line break count).\n // 3.2. For each item item in current, append item to results.\n results.push(\n ...renderedTextCollection(\n children[index],\n // @ts-expect-error: `tree` is a parent if we’re here.\n tree,\n {\n whitespace,\n breakBefore: index ? undefined : block,\n breakAfter:\n index < children.length - 1 ? br(children[index + 1]) : block\n }\n )\n )\n }\n\n // 4. Remove any items from results that are the empty string.\n // 5. Remove any runs of consecutive required line break count items at the\n // start or end of results.\n // 6. Replace each remaining run of consecutive required line break count\n // items with a string consisting of as many U+000A LINE FEED (LF)\n // characters as the maximum of the values in the required line break\n // count items.\n /** @type {Array} */\n const result = []\n /** @type {number | undefined} */\n let count\n\n index = -1\n\n while (++index < results.length) {\n const value = results[index]\n\n if (typeof value === 'number') {\n if (count !== undefined && value > count) count = value\n } else if (value) {\n if (count !== undefined && count > -1) {\n result.push('\\n'.repeat(count) || ' ')\n }\n\n count = -1\n result.push(value)\n }\n }\n\n // 7. Return the concatenation of the string items in results.\n return result.join('')\n}\n\n/**\n * \n *\n * @param {Nodes} node\n * @param {Parents} parent\n * @param {CollectionInfo} info\n * @returns {Array}\n */\nfunction renderedTextCollection(node, parent, info) {\n if (node.type === 'element') {\n return collectElement(node, parent, info)\n }\n\n if (node.type === 'text') {\n return info.whitespace === 'normal'\n ? collectText(node, info)\n : collectPreText(node)\n }\n\n return []\n}\n\n/**\n * Collect an element.\n *\n * @param {Element} node\n * Element node.\n * @param {Parents} parent\n * @param {CollectionInfo} info\n * Info on current collection.\n * @returns {Array}\n */\nfunction collectElement(node, parent, info) {\n // First we infer the `white-space` property.\n const whitespace = inferWhitespace(node, info)\n const children = node.children || []\n let index = -1\n /** @type {Array} */\n let items = []\n\n // We’re ignoring point 3, and exiting without any content here, because we\n // deviated from the spec in `toText` at step 3.\n if (notRendered(node)) {\n return items\n }\n\n /** @type {BreakNumber | undefined} */\n let prefix\n /** @type {BreakForce | BreakNumber | undefined} */\n let suffix\n // Note: we first detect if there is going to be a break before or after the\n // contents, as that changes the white-space handling.\n\n // 2. If node’s computed value of `visibility` is not `visible`, then return\n // items.\n //\n // Note: Ignored, as everything is visible by default user agent styles.\n\n // 3. If node is not being rendered, then return items. [...]\n //\n // Note: We already did this above.\n\n // See `collectText` for step 4.\n\n // 5. If node is a `
` element, then append a string containing a single\n // U+000A LINE FEED (LF) character to items.\n if (br(node)) {\n suffix = '\\n'\n }\n\n // 7. If node’s computed value of `display` is `table-row`, and node’s CSS\n // box is not the last `table-row` box of the nearest ancestor `table`\n // box, then append a string containing a single U+000A LINE FEED (LF)\n // character to items.\n //\n // See: \n // Note: needs further investigation as this does not account for implicit\n // rows.\n else if (\n row(node) &&\n // @ts-expect-error: something up with types of parents.\n findAfter(parent, node, row)\n ) {\n suffix = '\\n'\n }\n\n // 8. If node is a `

` element, then append 2 (a required line break count)\n // at the beginning and end of items.\n else if (p(node)) {\n prefix = 2\n suffix = 2\n }\n\n // 9. If node’s used value of `display` is block-level or `table-caption`,\n // then append 1 (a required line break count) at the beginning and end of\n // items.\n else if (blockOrCaption(node)) {\n prefix = 1\n suffix = 1\n }\n\n // 1. Let items be the result of running the inner text collection steps with\n // each child node of node in tree order, and then concatenating the\n // results to a single list.\n while (++index < children.length) {\n items = items.concat(\n renderedTextCollection(children[index], node, {\n whitespace,\n breakBefore: index ? undefined : prefix,\n breakAfter:\n index < children.length - 1 ? br(children[index + 1]) : suffix\n })\n )\n }\n\n // 6. If node’s computed value of `display` is `table-cell`, and node’s CSS\n // box is not the last `table-cell` box of its enclosing `table-row` box,\n // then append a string containing a single U+0009 CHARACTER TABULATION\n // (tab) character to items.\n //\n // See: \n if (\n cell(node) &&\n // @ts-expect-error: something up with types of parents.\n findAfter(parent, node, cell)\n ) {\n items.push('\\t')\n }\n\n // Add the pre- and suffix.\n if (prefix) items.unshift(prefix)\n if (suffix) items.push(suffix)\n\n return items\n}\n\n/**\n * 4. If node is a Text node, then for each CSS text box produced by node,\n * in content order, compute the text of the box after application of the\n * CSS `white-space` processing rules and `text-transform` rules, set\n * items to the list of the resulting strings, and return items.\n * The CSS `white-space` processing rules are slightly modified:\n * collapsible spaces at the end of lines are always collapsed, but they\n * are only removed if the line is the last line of the block, or it ends\n * with a br element.\n * Soft hyphens should be preserved.\n *\n * Note: See `collectText` and `collectPreText`.\n * Note: we don’t deal with `text-transform`, no element has that by\n * default.\n *\n * See: \n *\n * @param {Comment | Text} node\n * Text node.\n * @param {CollectionInfo} info\n * Info on current collection.\n * @returns {Array}\n * Result.\n */\nfunction collectText(node, info) {\n const value = String(node.value)\n /** @type {Array} */\n const lines = []\n /** @type {Array} */\n const result = []\n let start = 0\n\n while (start <= value.length) {\n searchLineFeeds.lastIndex = start\n\n const match = searchLineFeeds.exec(value)\n const end = match && 'index' in match ? match.index : value.length\n\n lines.push(\n // Any sequence of collapsible spaces and tabs immediately preceding or\n // following a segment break is removed.\n trimAndCollapseSpacesAndTabs(\n // […] ignoring bidi formatting characters (characters with the\n // Bidi_Control property [UAX9]: ALM, LTR, RTL, LRE-RLO, LRI-PDI) as if\n // they were not there.\n value\n .slice(start, end)\n .replace(/[\\u061C\\u200E\\u200F\\u202A-\\u202E\\u2066-\\u2069]/g, ''),\n start === 0 ? info.breakBefore : true,\n end === value.length ? info.breakAfter : true\n )\n )\n\n start = end + 1\n }\n\n // Collapsible segment breaks are transformed for rendering according to the\n // segment break transformation rules.\n // So here we jump to 4.1.2 of [CSSTEXT]:\n // Any collapsible segment break immediately following another collapsible\n // segment break is removed\n let index = -1\n /** @type {BreakNumber | undefined} */\n let join\n\n while (++index < lines.length) {\n // * If the character immediately before or immediately after the segment\n // break is the zero-width space character (U+200B), then the break is\n // removed, leaving behind the zero-width space.\n if (\n lines[index].charCodeAt(lines[index].length - 1) === 0x20_0b /* ZWSP */ ||\n (index < lines.length - 1 &&\n lines[index + 1].charCodeAt(0) === 0x20_0b) /* ZWSP */\n ) {\n result.push(lines[index])\n join = undefined\n }\n\n // * Otherwise, if the East Asian Width property [UAX11] of both the\n // character before and after the segment break is Fullwidth, Wide, or\n // Halfwidth (not Ambiguous), and neither side is Hangul, then the\n // segment break is removed.\n //\n // Note: ignored.\n // * Otherwise, if the writing system of the segment break is Chinese,\n // Japanese, or Yi, and the character before or after the segment break\n // is punctuation or a symbol (Unicode general category P* or S*) and\n // has an East Asian Width property of Ambiguous, and the character on\n // the other side of the segment break is Fullwidth, Wide, or Halfwidth,\n // and not Hangul, then the segment break is removed.\n //\n // Note: ignored.\n\n // * Otherwise, the segment break is converted to a space (U+0020).\n else if (lines[index]) {\n if (typeof join === 'number') result.push(join)\n result.push(lines[index])\n join = 0\n } else if (index === 0 || index === lines.length - 1) {\n // If this line is empty, and it’s the first or last, add a space.\n // Note that this function is only called in normal whitespace, so we\n // don’t worry about `pre`.\n result.push(0)\n }\n }\n\n return result\n}\n\n/**\n * Collect a text node as “pre” whitespace.\n *\n * @param {Text} node\n * Text node.\n * @returns {Array}\n * Result.\n */\nfunction collectPreText(node) {\n return [String(node.value)]\n}\n\n/**\n * 3. Every collapsible tab is converted to a collapsible space (U+0020).\n * 4. Any collapsible space immediately following another collapsible\n * space—even one outside the boundary of the inline containing that\n * space, provided both spaces are within the same inline formatting\n * context—is collapsed to have zero advance width. (It is invisible,\n * but retains its soft wrap opportunity, if any.)\n *\n * @param {string} value\n * Value to collapse.\n * @param {BreakBefore} breakBefore\n * Whether there was a break before.\n * @param {BreakAfter} breakAfter\n * Whether there was a break after.\n * @returns {string}\n * Result.\n */\nfunction trimAndCollapseSpacesAndTabs(value, breakBefore, breakAfter) {\n /** @type {Array} */\n const result = []\n let start = 0\n /** @type {number | undefined} */\n let end\n\n while (start < value.length) {\n searchTabOrSpaces.lastIndex = start\n const match = searchTabOrSpaces.exec(value)\n end = match ? match.index : value.length\n\n // If we’re not directly after a segment break, but there was white space,\n // add an empty value that will be turned into a space.\n if (!start && !end && match && !breakBefore) {\n result.push('')\n }\n\n if (start !== end) {\n result.push(value.slice(start, end))\n }\n\n start = match ? end + match[0].length : end\n }\n\n // If we reached the end, there was trailing white space, and there’s no\n // segment break after this node, add an empty value that will be turned\n // into a space.\n if (start !== end && !breakAfter) {\n result.push('')\n }\n\n return result.join(' ')\n}\n\n/**\n * Figure out the whitespace of a node.\n *\n * We don’t support void elements here (so `nobr wbr` -> `normal` is ignored).\n *\n * @param {Nodes} node\n * Node (typically `Element`).\n * @param {CollectionInfo} info\n * Info on current collection.\n * @returns {Whitespace}\n * Applied whitespace.\n */\nfunction inferWhitespace(node, info) {\n if (node.type === 'element') {\n const properties = node.properties || {}\n switch (node.tagName) {\n case 'listing':\n case 'plaintext':\n case 'xmp': {\n return 'pre'\n }\n\n case 'nobr': {\n return 'nowrap'\n }\n\n case 'pre': {\n return properties.wrap ? 'pre-wrap' : 'pre'\n }\n\n case 'td':\n case 'th': {\n return properties.noWrap ? 'nowrap' : info.whitespace\n }\n\n case 'textarea': {\n return 'pre-wrap'\n }\n\n default:\n }\n }\n\n return info.whitespace\n}\n\n/**\n * @type {TestFunction}\n * @param {Element} node\n * @returns {node is {properties: {hidden: true}}}\n */\nfunction hidden(node) {\n return Boolean((node.properties || {}).hidden)\n}\n\n/**\n * @type {TestFunction}\n * @param {Element} node\n * @returns {node is {tagName: 'td' | 'th'}}\n */\nfunction isCell(node) {\n return node.tagName === 'td' || node.tagName === 'th'\n}\n\n/**\n * @type {TestFunction}\n */\nfunction closedDialog(node) {\n return node.tagName === 'dialog' && !(node.properties || {}).open\n}\n","/*\nLanguage: C++\nCategory: common, system\nWebsite: https://isocpp.org\n*/\n\n/** @type LanguageFn */\nfunction cPlusPlus(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(?!struct)('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n const CPP_PRIMITIVE_TYPES = {\n className: 'type',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + '|.)',\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n // Floating-point literal.\n { begin:\n \"[+-]?(?:\" // Leading sign.\n // Decimal.\n + \"(?:\"\n +\"[0-9](?:'?[0-9])*\\\\.(?:[0-9](?:'?[0-9])*)?\"\n + \"|\\\\.[0-9](?:'?[0-9])*\"\n + \")(?:[Ee][+-]?[0-9](?:'?[0-9])*)?\"\n + \"|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*\"\n // Hexadecimal.\n + \"|0[Xx](?:\"\n +\"[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?\"\n + \"|\\\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*\"\n + \")[Pp][+-]?[0-9](?:'?[0-9])*\"\n + \")(?:\" // Literal suffixes.\n + \"[Ff](?:16|32|64|128)?\"\n + \"|(BF|bf)16\"\n + \"|[Ll]\"\n + \"|\" // Literal suffix is optional.\n + \")\"\n },\n // Integer literal.\n { begin:\n \"[+-]?\\\\b(?:\" // Leading sign.\n + \"0[Bb][01](?:'?[01])*\" // Binary.\n + \"|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*\" // Hexadecimal.\n + \"|0(?:'?[0-7])*\" // Octal or just a lone zero.\n + \"|[1-9](?:'?[0-9])*\" // Decimal.\n + \")(?:\" // Literal suffixes.\n + \"[Uu](?:LL?|ll?)\"\n + \"|[Uu][Zz]?\"\n + \"|(?:LL?|ll?)[Uu]?\"\n + \"|[Zz][Uu]\"\n + \"|\" // Literal suffix is optional.\n + \")\"\n // Note: there are user-defined literal suffixes too, but perhaps having the custom suffix not part of the\n // literal highlight actually makes it stand out more.\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_KEYWORDS = [\n 'alignas',\n 'alignof',\n 'and',\n 'and_eq',\n 'asm',\n 'atomic_cancel',\n 'atomic_commit',\n 'atomic_noexcept',\n 'auto',\n 'bitand',\n 'bitor',\n 'break',\n 'case',\n 'catch',\n 'class',\n 'co_await',\n 'co_return',\n 'co_yield',\n 'compl',\n 'concept',\n 'const_cast|10',\n 'consteval',\n 'constexpr',\n 'constinit',\n 'continue',\n 'decltype',\n 'default',\n 'delete',\n 'do',\n 'dynamic_cast|10',\n 'else',\n 'enum',\n 'explicit',\n 'export',\n 'extern',\n 'false',\n 'final',\n 'for',\n 'friend',\n 'goto',\n 'if',\n 'import',\n 'inline',\n 'module',\n 'mutable',\n 'namespace',\n 'new',\n 'noexcept',\n 'not',\n 'not_eq',\n 'nullptr',\n 'operator',\n 'or',\n 'or_eq',\n 'override',\n 'private',\n 'protected',\n 'public',\n 'reflexpr',\n 'register',\n 'reinterpret_cast|10',\n 'requires',\n 'return',\n 'sizeof',\n 'static_assert',\n 'static_cast|10',\n 'struct',\n 'switch',\n 'synchronized',\n 'template',\n 'this',\n 'thread_local',\n 'throw',\n 'transaction_safe',\n 'transaction_safe_dynamic',\n 'true',\n 'try',\n 'typedef',\n 'typeid',\n 'typename',\n 'union',\n 'using',\n 'virtual',\n 'volatile',\n 'while',\n 'xor',\n 'xor_eq'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_TYPES = [\n 'bool',\n 'char',\n 'char16_t',\n 'char32_t',\n 'char8_t',\n 'double',\n 'float',\n 'int',\n 'long',\n 'short',\n 'void',\n 'wchar_t',\n 'unsigned',\n 'signed',\n 'const',\n 'static'\n ];\n\n const TYPE_HINTS = [\n 'any',\n 'auto_ptr',\n 'barrier',\n 'binary_semaphore',\n 'bitset',\n 'complex',\n 'condition_variable',\n 'condition_variable_any',\n 'counting_semaphore',\n 'deque',\n 'false_type',\n 'flat_map',\n 'flat_set',\n 'future',\n 'imaginary',\n 'initializer_list',\n 'istringstream',\n 'jthread',\n 'latch',\n 'lock_guard',\n 'multimap',\n 'multiset',\n 'mutex',\n 'optional',\n 'ostringstream',\n 'packaged_task',\n 'pair',\n 'promise',\n 'priority_queue',\n 'queue',\n 'recursive_mutex',\n 'recursive_timed_mutex',\n 'scoped_lock',\n 'set',\n 'shared_future',\n 'shared_lock',\n 'shared_mutex',\n 'shared_timed_mutex',\n 'shared_ptr',\n 'stack',\n 'string_view',\n 'stringstream',\n 'timed_mutex',\n 'thread',\n 'true_type',\n 'tuple',\n 'unique_lock',\n 'unique_ptr',\n 'unordered_map',\n 'unordered_multimap',\n 'unordered_multiset',\n 'unordered_set',\n 'variant',\n 'vector',\n 'weak_ptr',\n 'wstring',\n 'wstring_view'\n ];\n\n const FUNCTION_HINTS = [\n 'abort',\n 'abs',\n 'acos',\n 'apply',\n 'as_const',\n 'asin',\n 'atan',\n 'atan2',\n 'calloc',\n 'ceil',\n 'cerr',\n 'cin',\n 'clog',\n 'cos',\n 'cosh',\n 'cout',\n 'declval',\n 'endl',\n 'exchange',\n 'exit',\n 'exp',\n 'fabs',\n 'floor',\n 'fmod',\n 'forward',\n 'fprintf',\n 'fputs',\n 'free',\n 'frexp',\n 'fscanf',\n 'future',\n 'invoke',\n 'isalnum',\n 'isalpha',\n 'iscntrl',\n 'isdigit',\n 'isgraph',\n 'islower',\n 'isprint',\n 'ispunct',\n 'isspace',\n 'isupper',\n 'isxdigit',\n 'labs',\n 'launder',\n 'ldexp',\n 'log',\n 'log10',\n 'make_pair',\n 'make_shared',\n 'make_shared_for_overwrite',\n 'make_tuple',\n 'make_unique',\n 'malloc',\n 'memchr',\n 'memcmp',\n 'memcpy',\n 'memset',\n 'modf',\n 'move',\n 'pow',\n 'printf',\n 'putchar',\n 'puts',\n 'realloc',\n 'scanf',\n 'sin',\n 'sinh',\n 'snprintf',\n 'sprintf',\n 'sqrt',\n 'sscanf',\n 'std',\n 'stderr',\n 'stdin',\n 'stdout',\n 'strcat',\n 'strchr',\n 'strcmp',\n 'strcpy',\n 'strcspn',\n 'strlen',\n 'strncat',\n 'strncmp',\n 'strncpy',\n 'strpbrk',\n 'strrchr',\n 'strspn',\n 'strstr',\n 'swap',\n 'tan',\n 'tanh',\n 'terminate',\n 'to_underlying',\n 'tolower',\n 'toupper',\n 'vfprintf',\n 'visit',\n 'vprintf',\n 'vsprintf'\n ];\n\n const LITERALS = [\n 'NULL',\n 'false',\n 'nullopt',\n 'nullptr',\n 'true'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const BUILT_IN = [ '_Pragma' ];\n\n const CPP_KEYWORDS = {\n type: RESERVED_TYPES,\n keyword: RESERVED_KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_IN,\n _type_hints: TYPE_HINTS\n };\n\n const FUNCTION_DISPATCH = {\n className: 'function.dispatch',\n relevance: 0,\n keywords: {\n // Only for relevance, not highlighting.\n _hint: FUNCTION_HINTS },\n begin: regex.concat(\n /\\b/,\n /(?!decltype)/,\n /(?!if)/,\n /(?!for)/,\n /(?!switch)/,\n /(?!while)/,\n hljs.IDENT_RE,\n regex.lookahead(/(<[^<>]+>|)\\s*\\(/))\n };\n\n const EXPRESSION_CONTAINS = [\n FUNCTION_DISPATCH,\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n // needed because we do not have look-behind on the below rule\n // to prevent it from grabbing the final : in a :: pair\n {\n begin: /::/,\n relevance: 0\n },\n // initializers\n {\n begin: /:/,\n endsWithParent: true,\n contains: [\n STRINGS,\n NUMBERS\n ]\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: 'C++',\n aliases: [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ],\n keywords: CPP_KEYWORDS,\n illegal: ' rooms (9);`\n begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\\\s*<(?!<)',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n match: [\n // extra complexity to deal with `enum class` and `enum struct`\n /\\b(?:enum(?:\\s+(?:class|struct))?|class|struct|union)/,\n /\\s+/,\n /\\w+/\n ],\n className: {\n 1: 'keyword',\n 3: 'title.class'\n }\n }\n ])\n };\n}\n\n/*\nLanguage: Arduino\nAuthor: Stefania Mellai \nDescription: The Arduino® Language is a superset of C++. This rules are designed to highlight the Arduino® source code. For info about language see http://www.arduino.cc.\nWebsite: https://www.arduino.cc\nCategory: system\n*/\n\n\n/** @type LanguageFn */\nfunction arduino(hljs) {\n const ARDUINO_KW = {\n type: [\n \"boolean\",\n \"byte\",\n \"word\",\n \"String\"\n ],\n built_in: [\n \"KeyboardController\",\n \"MouseController\",\n \"SoftwareSerial\",\n \"EthernetServer\",\n \"EthernetClient\",\n \"LiquidCrystal\",\n \"RobotControl\",\n \"GSMVoiceCall\",\n \"EthernetUDP\",\n \"EsploraTFT\",\n \"HttpClient\",\n \"RobotMotor\",\n \"WiFiClient\",\n \"GSMScanner\",\n \"FileSystem\",\n \"Scheduler\",\n \"GSMServer\",\n \"YunClient\",\n \"YunServer\",\n \"IPAddress\",\n \"GSMClient\",\n \"GSMModem\",\n \"Keyboard\",\n \"Ethernet\",\n \"Console\",\n \"GSMBand\",\n \"Esplora\",\n \"Stepper\",\n \"Process\",\n \"WiFiUDP\",\n \"GSM_SMS\",\n \"Mailbox\",\n \"USBHost\",\n \"Firmata\",\n \"PImage\",\n \"Client\",\n \"Server\",\n \"GSMPIN\",\n \"FileIO\",\n \"Bridge\",\n \"Serial\",\n \"EEPROM\",\n \"Stream\",\n \"Mouse\",\n \"Audio\",\n \"Servo\",\n \"File\",\n \"Task\",\n \"GPRS\",\n \"WiFi\",\n \"Wire\",\n \"TFT\",\n \"GSM\",\n \"SPI\",\n \"SD\"\n ],\n _hints: [\n \"setup\",\n \"loop\",\n \"runShellCommandAsynchronously\",\n \"analogWriteResolution\",\n \"retrieveCallingNumber\",\n \"printFirmwareVersion\",\n \"analogReadResolution\",\n \"sendDigitalPortPair\",\n \"noListenOnLocalhost\",\n \"readJoystickButton\",\n \"setFirmwareVersion\",\n \"readJoystickSwitch\",\n \"scrollDisplayRight\",\n \"getVoiceCallStatus\",\n \"scrollDisplayLeft\",\n \"writeMicroseconds\",\n \"delayMicroseconds\",\n \"beginTransmission\",\n \"getSignalStrength\",\n \"runAsynchronously\",\n \"getAsynchronously\",\n \"listenOnLocalhost\",\n \"getCurrentCarrier\",\n \"readAccelerometer\",\n \"messageAvailable\",\n \"sendDigitalPorts\",\n \"lineFollowConfig\",\n \"countryNameWrite\",\n \"runShellCommand\",\n \"readStringUntil\",\n \"rewindDirectory\",\n \"readTemperature\",\n \"setClockDivider\",\n \"readLightSensor\",\n \"endTransmission\",\n \"analogReference\",\n \"detachInterrupt\",\n \"countryNameRead\",\n \"attachInterrupt\",\n \"encryptionType\",\n \"readBytesUntil\",\n \"robotNameWrite\",\n \"readMicrophone\",\n \"robotNameRead\",\n \"cityNameWrite\",\n \"userNameWrite\",\n \"readJoystickY\",\n \"readJoystickX\",\n \"mouseReleased\",\n \"openNextFile\",\n \"scanNetworks\",\n \"noInterrupts\",\n \"digitalWrite\",\n \"beginSpeaker\",\n \"mousePressed\",\n \"isActionDone\",\n \"mouseDragged\",\n \"displayLogos\",\n \"noAutoscroll\",\n \"addParameter\",\n \"remoteNumber\",\n \"getModifiers\",\n \"keyboardRead\",\n \"userNameRead\",\n \"waitContinue\",\n \"processInput\",\n \"parseCommand\",\n \"printVersion\",\n \"readNetworks\",\n \"writeMessage\",\n \"blinkVersion\",\n \"cityNameRead\",\n \"readMessage\",\n \"setDataMode\",\n \"parsePacket\",\n \"isListening\",\n \"setBitOrder\",\n \"beginPacket\",\n \"isDirectory\",\n \"motorsWrite\",\n \"drawCompass\",\n \"digitalRead\",\n \"clearScreen\",\n \"serialEvent\",\n \"rightToLeft\",\n \"setTextSize\",\n \"leftToRight\",\n \"requestFrom\",\n \"keyReleased\",\n \"compassRead\",\n \"analogWrite\",\n \"interrupts\",\n \"WiFiServer\",\n \"disconnect\",\n \"playMelody\",\n \"parseFloat\",\n \"autoscroll\",\n \"getPINUsed\",\n \"setPINUsed\",\n \"setTimeout\",\n \"sendAnalog\",\n \"readSlider\",\n \"analogRead\",\n \"beginWrite\",\n \"createChar\",\n \"motorsStop\",\n \"keyPressed\",\n \"tempoWrite\",\n \"readButton\",\n \"subnetMask\",\n \"debugPrint\",\n \"macAddress\",\n \"writeGreen\",\n \"randomSeed\",\n \"attachGPRS\",\n \"readString\",\n \"sendString\",\n \"remotePort\",\n \"releaseAll\",\n \"mouseMoved\",\n \"background\",\n \"getXChange\",\n \"getYChange\",\n \"answerCall\",\n \"getResult\",\n \"voiceCall\",\n \"endPacket\",\n \"constrain\",\n \"getSocket\",\n \"writeJSON\",\n \"getButton\",\n \"available\",\n \"connected\",\n \"findUntil\",\n \"readBytes\",\n \"exitValue\",\n \"readGreen\",\n \"writeBlue\",\n \"startLoop\",\n \"IPAddress\",\n \"isPressed\",\n \"sendSysex\",\n \"pauseMode\",\n \"gatewayIP\",\n \"setCursor\",\n \"getOemKey\",\n \"tuneWrite\",\n \"noDisplay\",\n \"loadImage\",\n \"switchPIN\",\n \"onRequest\",\n \"onReceive\",\n \"changePIN\",\n \"playFile\",\n \"noBuffer\",\n \"parseInt\",\n \"overflow\",\n \"checkPIN\",\n \"knobRead\",\n \"beginTFT\",\n \"bitClear\",\n \"updateIR\",\n \"bitWrite\",\n \"position\",\n \"writeRGB\",\n \"highByte\",\n \"writeRed\",\n \"setSpeed\",\n \"readBlue\",\n \"noStroke\",\n \"remoteIP\",\n \"transfer\",\n \"shutdown\",\n \"hangCall\",\n \"beginSMS\",\n \"endWrite\",\n \"attached\",\n \"maintain\",\n \"noCursor\",\n \"checkReg\",\n \"checkPUK\",\n \"shiftOut\",\n \"isValid\",\n \"shiftIn\",\n \"pulseIn\",\n \"connect\",\n \"println\",\n \"localIP\",\n \"pinMode\",\n \"getIMEI\",\n \"display\",\n \"noBlink\",\n \"process\",\n \"getBand\",\n \"running\",\n \"beginSD\",\n \"drawBMP\",\n \"lowByte\",\n \"setBand\",\n \"release\",\n \"bitRead\",\n \"prepare\",\n \"pointTo\",\n \"readRed\",\n \"setMode\",\n \"noFill\",\n \"remove\",\n \"listen\",\n \"stroke\",\n \"detach\",\n \"attach\",\n \"noTone\",\n \"exists\",\n \"buffer\",\n \"height\",\n \"bitSet\",\n \"circle\",\n \"config\",\n \"cursor\",\n \"random\",\n \"IRread\",\n \"setDNS\",\n \"endSMS\",\n \"getKey\",\n \"micros\",\n \"millis\",\n \"begin\",\n \"print\",\n \"write\",\n \"ready\",\n \"flush\",\n \"width\",\n \"isPIN\",\n \"blink\",\n \"clear\",\n \"press\",\n \"mkdir\",\n \"rmdir\",\n \"close\",\n \"point\",\n \"yield\",\n \"image\",\n \"BSSID\",\n \"click\",\n \"delay\",\n \"read\",\n \"text\",\n \"move\",\n \"peek\",\n \"beep\",\n \"rect\",\n \"line\",\n \"open\",\n \"seek\",\n \"fill\",\n \"size\",\n \"turn\",\n \"stop\",\n \"home\",\n \"find\",\n \"step\",\n \"tone\",\n \"sqrt\",\n \"RSSI\",\n \"SSID\",\n \"end\",\n \"bit\",\n \"tan\",\n \"cos\",\n \"sin\",\n \"pow\",\n \"map\",\n \"abs\",\n \"max\",\n \"min\",\n \"get\",\n \"run\",\n \"put\"\n ],\n literal: [\n \"DIGITAL_MESSAGE\",\n \"FIRMATA_STRING\",\n \"ANALOG_MESSAGE\",\n \"REPORT_DIGITAL\",\n \"REPORT_ANALOG\",\n \"INPUT_PULLUP\",\n \"SET_PIN_MODE\",\n \"INTERNAL2V56\",\n \"SYSTEM_RESET\",\n \"LED_BUILTIN\",\n \"INTERNAL1V1\",\n \"SYSEX_START\",\n \"INTERNAL\",\n \"EXTERNAL\",\n \"DEFAULT\",\n \"OUTPUT\",\n \"INPUT\",\n \"HIGH\",\n \"LOW\"\n ]\n };\n\n const ARDUINO = cPlusPlus(hljs);\n\n const kws = /** @type {Record} */ (ARDUINO.keywords);\n\n kws.type = [\n ...kws.type,\n ...ARDUINO_KW.type\n ];\n kws.literal = [\n ...kws.literal,\n ...ARDUINO_KW.literal\n ];\n kws.built_in = [\n ...kws.built_in,\n ...ARDUINO_KW.built_in\n ];\n kws._hints = ARDUINO_KW._hints;\n\n ARDUINO.name = 'Arduino';\n ARDUINO.aliases = [ 'ino' ];\n ARDUINO.supersetOf = \"cpp\";\n\n return ARDUINO;\n}\n\nexport { arduino as default };\n","/*\nLanguage: Bash\nAuthor: vah \nContributrors: Benjamin Pannell \nWebsite: https://www.gnu.org/software/bash/\nCategory: common, scripting\n*/\n\n/** @type LanguageFn */\nfunction bash(hljs) {\n const regex = hljs.regex;\n const VAR = {};\n const BRACED_VAR = {\n begin: /\\$\\{/,\n end: /\\}/,\n contains: [\n \"self\",\n {\n begin: /:-/,\n contains: [ VAR ]\n } // default values\n ]\n };\n Object.assign(VAR, {\n className: 'variable',\n variants: [\n { begin: regex.concat(/\\$[\\w\\d#@][\\w\\d_]*/,\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n `(?![\\\\w\\\\d])(?![$])`) },\n BRACED_VAR\n ]\n });\n\n const SUBST = {\n className: 'subst',\n begin: /\\$\\(/,\n end: /\\)/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n };\n const COMMENT = hljs.inherit(\n hljs.COMMENT(),\n {\n match: [\n /(^|\\s)/,\n /#.*$/\n ],\n scope: {\n 2: 'comment'\n }\n }\n );\n const HERE_DOC = {\n begin: /<<-?\\s*(?=\\w+)/,\n starts: { contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n className: 'string'\n })\n ] }\n };\n const QUOTE_STRING = {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VAR,\n SUBST\n ]\n };\n SUBST.contains.push(QUOTE_STRING);\n const ESCAPED_QUOTE = {\n match: /\\\\\"/\n };\n const APOS_STRING = {\n className: 'string',\n begin: /'/,\n end: /'/\n };\n const ESCAPED_APOS = {\n match: /\\\\'/\n };\n const ARITHMETIC = {\n begin: /\\$?\\(\\(/,\n end: /\\)\\)/,\n contains: [\n {\n begin: /\\d+#[0-9a-f]+/,\n className: \"number\"\n },\n hljs.NUMBER_MODE,\n VAR\n ]\n };\n const SH_LIKE_SHELLS = [\n \"fish\",\n \"bash\",\n \"zsh\",\n \"sh\",\n \"csh\",\n \"ksh\",\n \"tcsh\",\n \"dash\",\n \"scsh\",\n ];\n const KNOWN_SHEBANG = hljs.SHEBANG({\n binary: `(${SH_LIKE_SHELLS.join(\"|\")})`,\n relevance: 10\n });\n const FUNCTION = {\n className: 'function',\n begin: /\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,\n returnBegin: true,\n contains: [ hljs.inherit(hljs.TITLE_MODE, { begin: /\\w[\\w\\d_]*/ }) ],\n relevance: 0\n };\n\n const KEYWORDS = [\n \"if\",\n \"then\",\n \"else\",\n \"elif\",\n \"fi\",\n \"time\",\n \"for\",\n \"while\",\n \"until\",\n \"in\",\n \"do\",\n \"done\",\n \"case\",\n \"esac\",\n \"coproc\",\n \"function\",\n \"select\"\n ];\n\n const LITERALS = [\n \"true\",\n \"false\"\n ];\n\n // to consume paths to prevent keyword matches inside them\n const PATH_MODE = { match: /(\\/[a-z._-]+)+/ };\n\n // http://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n const SHELL_BUILT_INS = [\n \"break\",\n \"cd\",\n \"continue\",\n \"eval\",\n \"exec\",\n \"exit\",\n \"export\",\n \"getopts\",\n \"hash\",\n \"pwd\",\n \"readonly\",\n \"return\",\n \"shift\",\n \"test\",\n \"times\",\n \"trap\",\n \"umask\",\n \"unset\"\n ];\n\n const BASH_BUILT_INS = [\n \"alias\",\n \"bind\",\n \"builtin\",\n \"caller\",\n \"command\",\n \"declare\",\n \"echo\",\n \"enable\",\n \"help\",\n \"let\",\n \"local\",\n \"logout\",\n \"mapfile\",\n \"printf\",\n \"read\",\n \"readarray\",\n \"source\",\n \"sudo\",\n \"type\",\n \"typeset\",\n \"ulimit\",\n \"unalias\"\n ];\n\n const ZSH_BUILT_INS = [\n \"autoload\",\n \"bg\",\n \"bindkey\",\n \"bye\",\n \"cap\",\n \"chdir\",\n \"clone\",\n \"comparguments\",\n \"compcall\",\n \"compctl\",\n \"compdescribe\",\n \"compfiles\",\n \"compgroups\",\n \"compquote\",\n \"comptags\",\n \"comptry\",\n \"compvalues\",\n \"dirs\",\n \"disable\",\n \"disown\",\n \"echotc\",\n \"echoti\",\n \"emulate\",\n \"fc\",\n \"fg\",\n \"float\",\n \"functions\",\n \"getcap\",\n \"getln\",\n \"history\",\n \"integer\",\n \"jobs\",\n \"kill\",\n \"limit\",\n \"log\",\n \"noglob\",\n \"popd\",\n \"print\",\n \"pushd\",\n \"pushln\",\n \"rehash\",\n \"sched\",\n \"setcap\",\n \"setopt\",\n \"stat\",\n \"suspend\",\n \"ttyctl\",\n \"unfunction\",\n \"unhash\",\n \"unlimit\",\n \"unsetopt\",\n \"vared\",\n \"wait\",\n \"whence\",\n \"where\",\n \"which\",\n \"zcompile\",\n \"zformat\",\n \"zftp\",\n \"zle\",\n \"zmodload\",\n \"zparseopts\",\n \"zprof\",\n \"zpty\",\n \"zregexparse\",\n \"zsocket\",\n \"zstyle\",\n \"ztcp\"\n ];\n\n const GNU_CORE_UTILS = [\n \"chcon\",\n \"chgrp\",\n \"chown\",\n \"chmod\",\n \"cp\",\n \"dd\",\n \"df\",\n \"dir\",\n \"dircolors\",\n \"ln\",\n \"ls\",\n \"mkdir\",\n \"mkfifo\",\n \"mknod\",\n \"mktemp\",\n \"mv\",\n \"realpath\",\n \"rm\",\n \"rmdir\",\n \"shred\",\n \"sync\",\n \"touch\",\n \"truncate\",\n \"vdir\",\n \"b2sum\",\n \"base32\",\n \"base64\",\n \"cat\",\n \"cksum\",\n \"comm\",\n \"csplit\",\n \"cut\",\n \"expand\",\n \"fmt\",\n \"fold\",\n \"head\",\n \"join\",\n \"md5sum\",\n \"nl\",\n \"numfmt\",\n \"od\",\n \"paste\",\n \"ptx\",\n \"pr\",\n \"sha1sum\",\n \"sha224sum\",\n \"sha256sum\",\n \"sha384sum\",\n \"sha512sum\",\n \"shuf\",\n \"sort\",\n \"split\",\n \"sum\",\n \"tac\",\n \"tail\",\n \"tr\",\n \"tsort\",\n \"unexpand\",\n \"uniq\",\n \"wc\",\n \"arch\",\n \"basename\",\n \"chroot\",\n \"date\",\n \"dirname\",\n \"du\",\n \"echo\",\n \"env\",\n \"expr\",\n \"factor\",\n // \"false\", // keyword literal already\n \"groups\",\n \"hostid\",\n \"id\",\n \"link\",\n \"logname\",\n \"nice\",\n \"nohup\",\n \"nproc\",\n \"pathchk\",\n \"pinky\",\n \"printenv\",\n \"printf\",\n \"pwd\",\n \"readlink\",\n \"runcon\",\n \"seq\",\n \"sleep\",\n \"stat\",\n \"stdbuf\",\n \"stty\",\n \"tee\",\n \"test\",\n \"timeout\",\n // \"true\", // keyword literal already\n \"tty\",\n \"uname\",\n \"unlink\",\n \"uptime\",\n \"users\",\n \"who\",\n \"whoami\",\n \"yes\"\n ];\n\n return {\n name: 'Bash',\n aliases: [\n 'sh',\n 'zsh'\n ],\n keywords: {\n $pattern: /\\b[a-z][a-z0-9._-]+\\b/,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: [\n ...SHELL_BUILT_INS,\n ...BASH_BUILT_INS,\n // Shell modifiers\n \"set\",\n \"shopt\",\n ...ZSH_BUILT_INS,\n ...GNU_CORE_UTILS\n ]\n },\n contains: [\n KNOWN_SHEBANG, // to catch known shells and boost relevancy\n hljs.SHEBANG(), // to catch unknown shells but still highlight the shebang\n FUNCTION,\n ARITHMETIC,\n COMMENT,\n HERE_DOC,\n PATH_MODE,\n QUOTE_STRING,\n ESCAPED_QUOTE,\n APOS_STRING,\n ESCAPED_APOS,\n VAR\n ]\n };\n}\n\nexport { bash as default };\n","/*\nLanguage: C\nCategory: common, system\nWebsite: https://en.wikipedia.org/wiki/C_(programming_language)\n*/\n\n/** @type LanguageFn */\nfunction c(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n\n const TYPES = {\n className: 'type',\n variants: [\n { begin: '\\\\b[a-z\\\\d_]*_t\\\\b' },\n { match: /\\batomic_[a-z]{3,6}\\b/ }\n ]\n\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + \"|.)\",\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n { match: /\\b(0b[01']+)/ }, \n { match: /(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/ }, \n { match: /(-?)\\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/ }, \n { match: /(-?)\\b\\d+(?:'\\d+)*(?:\\.\\d*(?:'\\d*)*)?(?:[eE][-+]?\\d+)?/ } \n ],\n relevance: 0\n }; \n \n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef elifdef elifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n const C_KEYWORDS = [\n \"asm\",\n \"auto\",\n \"break\",\n \"case\",\n \"continue\",\n \"default\",\n \"do\",\n \"else\",\n \"enum\",\n \"extern\",\n \"for\",\n \"fortran\",\n \"goto\",\n \"if\",\n \"inline\",\n \"register\",\n \"restrict\",\n \"return\",\n \"sizeof\",\n \"typeof\",\n \"typeof_unqual\",\n \"struct\",\n \"switch\",\n \"typedef\",\n \"union\",\n \"volatile\",\n \"while\",\n \"_Alignas\",\n \"_Alignof\",\n \"_Atomic\",\n \"_Generic\",\n \"_Noreturn\",\n \"_Static_assert\",\n \"_Thread_local\",\n // aliases\n \"alignas\",\n \"alignof\",\n \"noreturn\",\n \"static_assert\",\n \"thread_local\",\n // not a C keyword but is, for all intents and purposes, treated exactly like one.\n \"_Pragma\"\n ];\n\n const C_TYPES = [\n \"float\",\n \"double\",\n \"signed\",\n \"unsigned\",\n \"int\",\n \"short\",\n \"long\",\n \"char\",\n \"void\",\n \"_Bool\",\n \"_BitInt\",\n \"_Complex\",\n \"_Imaginary\",\n \"_Decimal32\",\n \"_Decimal64\",\n \"_Decimal96\",\n \"_Decimal128\",\n \"_Decimal64x\",\n \"_Decimal128x\",\n \"_Float16\",\n \"_Float32\",\n \"_Float64\",\n \"_Float128\",\n \"_Float32x\",\n \"_Float64x\",\n \"_Float128x\",\n // modifiers\n \"const\",\n \"static\",\n \"constexpr\",\n // aliases\n \"complex\",\n \"bool\",\n \"imaginary\"\n ];\n\n const KEYWORDS = {\n keyword: C_KEYWORDS,\n type: C_TYPES,\n literal: 'true false NULL',\n // TODO: apply hinting work similar to what was done in cpp.js\n built_in: 'std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream '\n + 'auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set '\n + 'unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos '\n + 'asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp '\n + 'fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper '\n + 'isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow '\n + 'printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp '\n + 'strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan '\n + 'vfprintf vprintf vsprintf endl initializer_list unique_ptr',\n };\n\n const EXPRESSION_CONTAINS = [\n PREPROCESSOR,\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ hljs.inherit(TITLE_MODE, { className: \"title.function\" }) ],\n relevance: 0\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n TYPES\n ]\n }\n ]\n },\n TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: \"C\",\n aliases: [ 'h' ],\n keywords: KEYWORDS,\n // Until differentiations are added between `c` and `cpp`, `c` will\n // not be auto-detected to avoid auto-detect conflicts between C and C++\n disableAutodetect: true,\n illegal: '=]/,\n contains: [\n { beginKeywords: \"final class struct\" },\n hljs.TITLE_MODE\n ]\n }\n ]),\n exports: {\n preprocessor: PREPROCESSOR,\n strings: STRINGS,\n keywords: KEYWORDS\n }\n };\n}\n\nexport { c as default };\n","/*\nLanguage: C++\nCategory: common, system\nWebsite: https://isocpp.org\n*/\n\n/** @type LanguageFn */\nfunction cpp(hljs) {\n const regex = hljs.regex;\n // added for historic reasons because `hljs.C_LINE_COMMENT_MODE` does\n // not include such support nor can we be sure all the grammars depending\n // on it would desire this behavior\n const C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$', { contains: [ { begin: /\\\\\\n/ } ] });\n const DECLTYPE_AUTO_RE = 'decltype\\\\(auto\\\\)';\n const NAMESPACE_RE = '[a-zA-Z_]\\\\w*::';\n const TEMPLATE_ARGUMENT_RE = '<[^<>]+>';\n const FUNCTION_TYPE_RE = '(?!struct)('\n + DECLTYPE_AUTO_RE + '|'\n + regex.optional(NAMESPACE_RE)\n + '[a-zA-Z_]\\\\w*' + regex.optional(TEMPLATE_ARGUMENT_RE)\n + ')';\n\n const CPP_PRIMITIVE_TYPES = {\n className: 'type',\n begin: '\\\\b[a-z\\\\d_]*_t\\\\b'\n };\n\n // https://en.cppreference.com/w/cpp/language/escape\n // \\\\ \\x \\xFF \\u2837 \\u00323747 \\374\n const CHARACTER_ESCAPES = '\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\\\S)';\n const STRINGS = {\n className: 'string',\n variants: [\n {\n begin: '(u8?|U|L)?\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '(u8?|U|L)?\\'(' + CHARACTER_ESCAPES + '|.)',\n end: '\\'',\n illegal: '.'\n },\n hljs.END_SAME_AS_BEGIN({\n begin: /(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(/,\n end: /\\)([^()\\\\ ]{0,16})\"/\n })\n ]\n };\n\n const NUMBERS = {\n className: 'number',\n variants: [\n // Floating-point literal.\n { begin:\n \"[+-]?(?:\" // Leading sign.\n // Decimal.\n + \"(?:\"\n +\"[0-9](?:'?[0-9])*\\\\.(?:[0-9](?:'?[0-9])*)?\"\n + \"|\\\\.[0-9](?:'?[0-9])*\"\n + \")(?:[Ee][+-]?[0-9](?:'?[0-9])*)?\"\n + \"|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*\"\n // Hexadecimal.\n + \"|0[Xx](?:\"\n +\"[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?\"\n + \"|\\\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*\"\n + \")[Pp][+-]?[0-9](?:'?[0-9])*\"\n + \")(?:\" // Literal suffixes.\n + \"[Ff](?:16|32|64|128)?\"\n + \"|(BF|bf)16\"\n + \"|[Ll]\"\n + \"|\" // Literal suffix is optional.\n + \")\"\n },\n // Integer literal.\n { begin:\n \"[+-]?\\\\b(?:\" // Leading sign.\n + \"0[Bb][01](?:'?[01])*\" // Binary.\n + \"|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*\" // Hexadecimal.\n + \"|0(?:'?[0-7])*\" // Octal or just a lone zero.\n + \"|[1-9](?:'?[0-9])*\" // Decimal.\n + \")(?:\" // Literal suffixes.\n + \"[Uu](?:LL?|ll?)\"\n + \"|[Uu][Zz]?\"\n + \"|(?:LL?|ll?)[Uu]?\"\n + \"|[Zz][Uu]\"\n + \"|\" // Literal suffix is optional.\n + \")\"\n // Note: there are user-defined literal suffixes too, but perhaps having the custom suffix not part of the\n // literal highlight actually makes it stand out more.\n }\n ],\n relevance: 0\n };\n\n const PREPROCESSOR = {\n className: 'meta',\n begin: /#\\s*[a-z]+\\b/,\n end: /$/,\n keywords: { keyword:\n 'if else elif endif define undef warning error line '\n + 'pragma _Pragma ifdef ifndef include' },\n contains: [\n {\n begin: /\\\\\\n/,\n relevance: 0\n },\n hljs.inherit(STRINGS, { className: 'string' }),\n {\n className: 'string',\n begin: /<.*?>/\n },\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n\n const TITLE_MODE = {\n className: 'title',\n begin: regex.optional(NAMESPACE_RE) + hljs.IDENT_RE,\n relevance: 0\n };\n\n const FUNCTION_TITLE = regex.optional(NAMESPACE_RE) + hljs.IDENT_RE + '\\\\s*\\\\(';\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_KEYWORDS = [\n 'alignas',\n 'alignof',\n 'and',\n 'and_eq',\n 'asm',\n 'atomic_cancel',\n 'atomic_commit',\n 'atomic_noexcept',\n 'auto',\n 'bitand',\n 'bitor',\n 'break',\n 'case',\n 'catch',\n 'class',\n 'co_await',\n 'co_return',\n 'co_yield',\n 'compl',\n 'concept',\n 'const_cast|10',\n 'consteval',\n 'constexpr',\n 'constinit',\n 'continue',\n 'decltype',\n 'default',\n 'delete',\n 'do',\n 'dynamic_cast|10',\n 'else',\n 'enum',\n 'explicit',\n 'export',\n 'extern',\n 'false',\n 'final',\n 'for',\n 'friend',\n 'goto',\n 'if',\n 'import',\n 'inline',\n 'module',\n 'mutable',\n 'namespace',\n 'new',\n 'noexcept',\n 'not',\n 'not_eq',\n 'nullptr',\n 'operator',\n 'or',\n 'or_eq',\n 'override',\n 'private',\n 'protected',\n 'public',\n 'reflexpr',\n 'register',\n 'reinterpret_cast|10',\n 'requires',\n 'return',\n 'sizeof',\n 'static_assert',\n 'static_cast|10',\n 'struct',\n 'switch',\n 'synchronized',\n 'template',\n 'this',\n 'thread_local',\n 'throw',\n 'transaction_safe',\n 'transaction_safe_dynamic',\n 'true',\n 'try',\n 'typedef',\n 'typeid',\n 'typename',\n 'union',\n 'using',\n 'virtual',\n 'volatile',\n 'while',\n 'xor',\n 'xor_eq'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const RESERVED_TYPES = [\n 'bool',\n 'char',\n 'char16_t',\n 'char32_t',\n 'char8_t',\n 'double',\n 'float',\n 'int',\n 'long',\n 'short',\n 'void',\n 'wchar_t',\n 'unsigned',\n 'signed',\n 'const',\n 'static'\n ];\n\n const TYPE_HINTS = [\n 'any',\n 'auto_ptr',\n 'barrier',\n 'binary_semaphore',\n 'bitset',\n 'complex',\n 'condition_variable',\n 'condition_variable_any',\n 'counting_semaphore',\n 'deque',\n 'false_type',\n 'flat_map',\n 'flat_set',\n 'future',\n 'imaginary',\n 'initializer_list',\n 'istringstream',\n 'jthread',\n 'latch',\n 'lock_guard',\n 'multimap',\n 'multiset',\n 'mutex',\n 'optional',\n 'ostringstream',\n 'packaged_task',\n 'pair',\n 'promise',\n 'priority_queue',\n 'queue',\n 'recursive_mutex',\n 'recursive_timed_mutex',\n 'scoped_lock',\n 'set',\n 'shared_future',\n 'shared_lock',\n 'shared_mutex',\n 'shared_timed_mutex',\n 'shared_ptr',\n 'stack',\n 'string_view',\n 'stringstream',\n 'timed_mutex',\n 'thread',\n 'true_type',\n 'tuple',\n 'unique_lock',\n 'unique_ptr',\n 'unordered_map',\n 'unordered_multimap',\n 'unordered_multiset',\n 'unordered_set',\n 'variant',\n 'vector',\n 'weak_ptr',\n 'wstring',\n 'wstring_view'\n ];\n\n const FUNCTION_HINTS = [\n 'abort',\n 'abs',\n 'acos',\n 'apply',\n 'as_const',\n 'asin',\n 'atan',\n 'atan2',\n 'calloc',\n 'ceil',\n 'cerr',\n 'cin',\n 'clog',\n 'cos',\n 'cosh',\n 'cout',\n 'declval',\n 'endl',\n 'exchange',\n 'exit',\n 'exp',\n 'fabs',\n 'floor',\n 'fmod',\n 'forward',\n 'fprintf',\n 'fputs',\n 'free',\n 'frexp',\n 'fscanf',\n 'future',\n 'invoke',\n 'isalnum',\n 'isalpha',\n 'iscntrl',\n 'isdigit',\n 'isgraph',\n 'islower',\n 'isprint',\n 'ispunct',\n 'isspace',\n 'isupper',\n 'isxdigit',\n 'labs',\n 'launder',\n 'ldexp',\n 'log',\n 'log10',\n 'make_pair',\n 'make_shared',\n 'make_shared_for_overwrite',\n 'make_tuple',\n 'make_unique',\n 'malloc',\n 'memchr',\n 'memcmp',\n 'memcpy',\n 'memset',\n 'modf',\n 'move',\n 'pow',\n 'printf',\n 'putchar',\n 'puts',\n 'realloc',\n 'scanf',\n 'sin',\n 'sinh',\n 'snprintf',\n 'sprintf',\n 'sqrt',\n 'sscanf',\n 'std',\n 'stderr',\n 'stdin',\n 'stdout',\n 'strcat',\n 'strchr',\n 'strcmp',\n 'strcpy',\n 'strcspn',\n 'strlen',\n 'strncat',\n 'strncmp',\n 'strncpy',\n 'strpbrk',\n 'strrchr',\n 'strspn',\n 'strstr',\n 'swap',\n 'tan',\n 'tanh',\n 'terminate',\n 'to_underlying',\n 'tolower',\n 'toupper',\n 'vfprintf',\n 'visit',\n 'vprintf',\n 'vsprintf'\n ];\n\n const LITERALS = [\n 'NULL',\n 'false',\n 'nullopt',\n 'nullptr',\n 'true'\n ];\n\n // https://en.cppreference.com/w/cpp/keyword\n const BUILT_IN = [ '_Pragma' ];\n\n const CPP_KEYWORDS = {\n type: RESERVED_TYPES,\n keyword: RESERVED_KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_IN,\n _type_hints: TYPE_HINTS\n };\n\n const FUNCTION_DISPATCH = {\n className: 'function.dispatch',\n relevance: 0,\n keywords: {\n // Only for relevance, not highlighting.\n _hint: FUNCTION_HINTS },\n begin: regex.concat(\n /\\b/,\n /(?!decltype)/,\n /(?!if)/,\n /(?!for)/,\n /(?!switch)/,\n /(?!while)/,\n hljs.IDENT_RE,\n regex.lookahead(/(<[^<>]+>|)\\s*\\(/))\n };\n\n const EXPRESSION_CONTAINS = [\n FUNCTION_DISPATCH,\n PREPROCESSOR,\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n STRINGS\n ];\n\n const EXPRESSION_CONTEXT = {\n // This mode covers expression context where we can't expect a function\n // definition and shouldn't highlight anything that looks like one:\n // `return some()`, `else if()`, `(x*sum(1, 2))`\n variants: [\n {\n begin: /=/,\n end: /;/\n },\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n beginKeywords: 'new throw return else',\n end: /;/\n }\n ],\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n contains: EXPRESSION_CONTAINS.concat([ 'self' ]),\n relevance: 0\n }\n ]),\n relevance: 0\n };\n\n const FUNCTION_DECLARATION = {\n className: 'function',\n begin: '(' + FUNCTION_TYPE_RE + '[\\\\*&\\\\s]+)+' + FUNCTION_TITLE,\n returnBegin: true,\n end: /[{;=]/,\n excludeEnd: true,\n keywords: CPP_KEYWORDS,\n illegal: /[^\\w\\s\\*&:<>.]/,\n contains: [\n { // to prevent it from being confused as the function title\n begin: DECLTYPE_AUTO_RE,\n keywords: CPP_KEYWORDS,\n relevance: 0\n },\n {\n begin: FUNCTION_TITLE,\n returnBegin: true,\n contains: [ TITLE_MODE ],\n relevance: 0\n },\n // needed because we do not have look-behind on the below rule\n // to prevent it from grabbing the final : in a :: pair\n {\n begin: /::/,\n relevance: 0\n },\n // initializers\n {\n begin: /:/,\n endsWithParent: true,\n contains: [\n STRINGS,\n NUMBERS\n ]\n },\n // allow for multiple declarations, e.g.:\n // extern void f(int), g(char);\n {\n relevance: 0,\n match: /,/\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES,\n // Count matching parentheses.\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: CPP_KEYWORDS,\n relevance: 0,\n contains: [\n 'self',\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRINGS,\n NUMBERS,\n CPP_PRIMITIVE_TYPES\n ]\n }\n ]\n },\n CPP_PRIMITIVE_TYPES,\n C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n PREPROCESSOR\n ]\n };\n\n return {\n name: 'C++',\n aliases: [\n 'cc',\n 'c++',\n 'h++',\n 'hpp',\n 'hh',\n 'hxx',\n 'cxx'\n ],\n keywords: CPP_KEYWORDS,\n illegal: ' rooms (9);`\n begin: '\\\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\\\s*<(?!<)',\n end: '>',\n keywords: CPP_KEYWORDS,\n contains: [\n 'self',\n CPP_PRIMITIVE_TYPES\n ]\n },\n {\n begin: hljs.IDENT_RE + '::',\n keywords: CPP_KEYWORDS\n },\n {\n match: [\n // extra complexity to deal with `enum class` and `enum struct`\n /\\b(?:enum(?:\\s+(?:class|struct))?|class|struct|union)/,\n /\\s+/,\n /\\w+/\n ],\n className: {\n 1: 'keyword',\n 3: 'title.class'\n }\n }\n ])\n };\n}\n\nexport { cpp as default };\n","/*\nLanguage: C#\nAuthor: Jason Diamond \nContributor: Nicolas LLOBERA , Pieter Vantorre , David Pine \nWebsite: https://docs.microsoft.com/dotnet/csharp/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction csharp(hljs) {\n const BUILT_IN_KEYWORDS = [\n 'bool',\n 'byte',\n 'char',\n 'decimal',\n 'delegate',\n 'double',\n 'dynamic',\n 'enum',\n 'float',\n 'int',\n 'long',\n 'nint',\n 'nuint',\n 'object',\n 'sbyte',\n 'short',\n 'string',\n 'ulong',\n 'uint',\n 'ushort'\n ];\n const FUNCTION_MODIFIERS = [\n 'public',\n 'private',\n 'protected',\n 'static',\n 'internal',\n 'protected',\n 'abstract',\n 'async',\n 'extern',\n 'override',\n 'unsafe',\n 'virtual',\n 'new',\n 'sealed',\n 'partial'\n ];\n const LITERAL_KEYWORDS = [\n 'default',\n 'false',\n 'null',\n 'true'\n ];\n const NORMAL_KEYWORDS = [\n 'abstract',\n 'as',\n 'base',\n 'break',\n 'case',\n 'catch',\n 'class',\n 'const',\n 'continue',\n 'do',\n 'else',\n 'event',\n 'explicit',\n 'extern',\n 'finally',\n 'fixed',\n 'for',\n 'foreach',\n 'goto',\n 'if',\n 'implicit',\n 'in',\n 'interface',\n 'internal',\n 'is',\n 'lock',\n 'namespace',\n 'new',\n 'operator',\n 'out',\n 'override',\n 'params',\n 'private',\n 'protected',\n 'public',\n 'readonly',\n 'record',\n 'ref',\n 'return',\n 'scoped',\n 'sealed',\n 'sizeof',\n 'stackalloc',\n 'static',\n 'struct',\n 'switch',\n 'this',\n 'throw',\n 'try',\n 'typeof',\n 'unchecked',\n 'unsafe',\n 'using',\n 'virtual',\n 'void',\n 'volatile',\n 'while'\n ];\n const CONTEXTUAL_KEYWORDS = [\n 'add',\n 'alias',\n 'and',\n 'ascending',\n 'args',\n 'async',\n 'await',\n 'by',\n 'descending',\n 'dynamic',\n 'equals',\n 'file',\n 'from',\n 'get',\n 'global',\n 'group',\n 'init',\n 'into',\n 'join',\n 'let',\n 'nameof',\n 'not',\n 'notnull',\n 'on',\n 'or',\n 'orderby',\n 'partial',\n 'record',\n 'remove',\n 'required',\n 'scoped',\n 'select',\n 'set',\n 'unmanaged',\n 'value|0',\n 'var',\n 'when',\n 'where',\n 'with',\n 'yield'\n ];\n\n const KEYWORDS = {\n keyword: NORMAL_KEYWORDS.concat(CONTEXTUAL_KEYWORDS),\n built_in: BUILT_IN_KEYWORDS,\n literal: LITERAL_KEYWORDS\n };\n const TITLE_MODE = hljs.inherit(hljs.TITLE_MODE, { begin: '[a-zA-Z](\\\\.?\\\\w)*' });\n const NUMBERS = {\n className: 'number',\n variants: [\n { begin: '\\\\b(0b[01\\']+)' },\n { begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)(u|U|l|L|ul|UL|f|F|b|B)' },\n { begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)' }\n ],\n relevance: 0\n };\n const RAW_STRING = {\n className: 'string',\n begin: /\"\"\"(\"*)(?!\")(.|\\n)*?\"\"\"\\1/,\n relevance: 1\n };\n const VERBATIM_STRING = {\n className: 'string',\n begin: '@\"',\n end: '\"',\n contains: [ { begin: '\"\"' } ]\n };\n const VERBATIM_STRING_NO_LF = hljs.inherit(VERBATIM_STRING, { illegal: /\\n/ });\n const SUBST = {\n className: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS\n };\n const SUBST_NO_LF = hljs.inherit(SUBST, { illegal: /\\n/ });\n const INTERPOLATED_STRING = {\n className: 'string',\n begin: /\\$\"/,\n end: '\"',\n illegal: /\\n/,\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n hljs.BACKSLASH_ESCAPE,\n SUBST_NO_LF\n ]\n };\n const INTERPOLATED_VERBATIM_STRING = {\n className: 'string',\n begin: /\\$@\"/,\n end: '\"',\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n { begin: '\"\"' },\n SUBST\n ]\n };\n const INTERPOLATED_VERBATIM_STRING_NO_LF = hljs.inherit(INTERPOLATED_VERBATIM_STRING, {\n illegal: /\\n/,\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n { begin: '\"\"' },\n SUBST_NO_LF\n ]\n });\n SUBST.contains = [\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ];\n SUBST_NO_LF.contains = [\n INTERPOLATED_VERBATIM_STRING_NO_LF,\n INTERPOLATED_STRING,\n VERBATIM_STRING_NO_LF,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.inherit(hljs.C_BLOCK_COMMENT_MODE, { illegal: /\\n/ })\n ];\n const STRING = { variants: [\n RAW_STRING,\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ] };\n\n const GENERIC_MODIFIER = {\n begin: \"<\",\n end: \">\",\n contains: [\n { beginKeywords: \"in out\" },\n TITLE_MODE\n ]\n };\n const TYPE_IDENT_RE = hljs.IDENT_RE + '(<' + hljs.IDENT_RE + '(\\\\s*,\\\\s*' + hljs.IDENT_RE + ')*>)?(\\\\[\\\\])?';\n const AT_IDENTIFIER = {\n // prevents expressions like `@class` from incorrect flagging\n // `class` as a keyword\n begin: \"@\" + hljs.IDENT_RE,\n relevance: 0\n };\n\n return {\n name: 'C#',\n aliases: [\n 'cs',\n 'c#'\n ],\n keywords: KEYWORDS,\n illegal: /::/,\n contains: [\n hljs.COMMENT(\n '///',\n '$',\n {\n returnBegin: true,\n contains: [\n {\n className: 'doctag',\n variants: [\n {\n begin: '///',\n relevance: 0\n },\n { begin: '' },\n {\n begin: ''\n }\n ]\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'meta',\n begin: '#',\n end: '$',\n keywords: { keyword: 'if else elif endif define undef warning error line region endregion pragma checksum' }\n },\n STRING,\n NUMBERS,\n {\n beginKeywords: 'class interface',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:,]/,\n contains: [\n { beginKeywords: \"where class\" },\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'record',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n // [Attributes(\"\")]\n className: 'meta',\n begin: '^\\\\s*\\\\[(?=[\\\\w])',\n excludeBegin: true,\n end: '\\\\]',\n excludeEnd: true,\n contains: [\n {\n className: 'string',\n begin: /\"/,\n end: /\"/\n }\n ]\n },\n {\n // Expression keywords prevent 'keyword Name(...)' from being\n // recognized as a function definition\n beginKeywords: 'new return throw await else',\n relevance: 0\n },\n {\n className: 'function',\n begin: '(' + TYPE_IDENT_RE + '\\\\s+)+' + hljs.IDENT_RE + '\\\\s*(<[^=]+>\\\\s*)?\\\\(',\n returnBegin: true,\n end: /\\s*[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n // prevents these from being highlighted `title`\n {\n beginKeywords: FUNCTION_MODIFIERS.join(\" \"),\n relevance: 0\n },\n {\n begin: hljs.IDENT_RE + '\\\\s*(<[^=]+>\\\\s*)?\\\\(',\n returnBegin: true,\n contains: [\n hljs.TITLE_MODE,\n GENERIC_MODIFIER\n ],\n relevance: 0\n },\n { match: /\\(\\)/ },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n STRING,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n AT_IDENTIFIER\n ]\n };\n}\n\nexport { csharp as default };\n","const MODES = (hljs) => {\n return {\n IMPORTANT: {\n scope: 'meta',\n begin: '!important'\n },\n BLOCK_COMMENT: hljs.C_BLOCK_COMMENT_MODE,\n HEXCOLOR: {\n scope: 'number',\n begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\\b/\n },\n FUNCTION_DISPATCH: {\n className: \"built_in\",\n begin: /[\\w-]+(?=\\()/\n },\n ATTRIBUTE_SELECTOR_MODE: {\n scope: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n },\n CSS_NUMBER_MODE: {\n scope: 'number',\n begin: hljs.NUMBER_RE + '(' +\n '%|em|ex|ch|rem' +\n '|vw|vh|vmin|vmax' +\n '|cm|mm|in|pt|pc|px' +\n '|deg|grad|rad|turn' +\n '|s|ms' +\n '|Hz|kHz' +\n '|dpi|dpcm|dppx' +\n ')?',\n relevance: 0\n },\n CSS_VARIABLE: {\n className: \"attr\",\n begin: /--[A-Za-z_][A-Za-z0-9_-]*/\n }\n };\n};\n\nconst HTML_TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'picture',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'select',\n 'source',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst SVG_TAGS = [\n 'defs',\n 'g',\n 'marker',\n 'mask',\n 'pattern',\n 'svg',\n 'switch',\n 'symbol',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feFlood',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMorphology',\n 'feOffset',\n 'feSpecularLighting',\n 'feTile',\n 'feTurbulence',\n 'linearGradient',\n 'radialGradient',\n 'stop',\n 'circle',\n 'ellipse',\n 'image',\n 'line',\n 'path',\n 'polygon',\n 'polyline',\n 'rect',\n 'text',\n 'use',\n 'textPath',\n 'tspan',\n 'foreignObject',\n 'clipPath'\n];\n\nconst TAGS = [\n ...HTML_TAGS,\n ...SVG_TAGS,\n];\n\n// Sorting, then reversing makes sure longer attributes/elements like\n// `font-weight` are matched fully instead of getting false positives on say `font`\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n].sort().reverse();\n\nconst ATTRIBUTES = [\n 'accent-color',\n 'align-content',\n 'align-items',\n 'align-self',\n 'alignment-baseline',\n 'all',\n 'anchor-name',\n 'animation',\n 'animation-composition',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-range',\n 'animation-range-end',\n 'animation-range-start',\n 'animation-timeline',\n 'animation-timing-function',\n 'appearance',\n 'aspect-ratio',\n 'backdrop-filter',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-blend-mode',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-position-x',\n 'background-position-y',\n 'background-repeat',\n 'background-size',\n 'baseline-shift',\n 'block-size',\n 'border',\n 'border-block',\n 'border-block-color',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-style',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-style',\n 'border-block-start-width',\n 'border-block-style',\n 'border-block-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-inline',\n 'border-inline-color',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-style',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-style',\n 'border-inline-start-width',\n 'border-inline-style',\n 'border-inline-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-align',\n 'box-decoration-break',\n 'box-direction',\n 'box-flex',\n 'box-flex-group',\n 'box-lines',\n 'box-ordinal-group',\n 'box-orient',\n 'box-pack',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'caption-side',\n 'caret-color',\n 'clear',\n 'clip',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'color-scheme',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'contain',\n 'contain-intrinsic-block-size',\n 'contain-intrinsic-height',\n 'contain-intrinsic-inline-size',\n 'contain-intrinsic-size',\n 'contain-intrinsic-width',\n 'container',\n 'container-name',\n 'container-type',\n 'content',\n 'content-visibility',\n 'counter-increment',\n 'counter-reset',\n 'counter-set',\n 'cue',\n 'cue-after',\n 'cue-before',\n 'cursor',\n 'cx',\n 'cy',\n 'direction',\n 'display',\n 'dominant-baseline',\n 'empty-cells',\n 'enable-background',\n 'field-sizing',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'flood-color',\n 'flood-opacity',\n 'flow',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-optical-sizing',\n 'font-palette',\n 'font-size',\n 'font-size-adjust',\n 'font-smooth',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-synthesis',\n 'font-synthesis-position',\n 'font-synthesis-small-caps',\n 'font-synthesis-style',\n 'font-synthesis-weight',\n 'font-variant',\n 'font-variant-alternates',\n 'font-variant-caps',\n 'font-variant-east-asian',\n 'font-variant-emoji',\n 'font-variant-ligatures',\n 'font-variant-numeric',\n 'font-variant-position',\n 'font-variation-settings',\n 'font-weight',\n 'forced-color-adjust',\n 'gap',\n 'glyph-orientation-horizontal',\n 'glyph-orientation-vertical',\n 'grid',\n 'grid-area',\n 'grid-auto-columns',\n 'grid-auto-flow',\n 'grid-auto-rows',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-gap',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'grid-template',\n 'grid-template-areas',\n 'grid-template-columns',\n 'grid-template-rows',\n 'hanging-punctuation',\n 'height',\n 'hyphenate-character',\n 'hyphenate-limit-chars',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'initial-letter',\n 'initial-letter-align',\n 'inline-size',\n 'inset',\n 'inset-area',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'isolation',\n 'justify-content',\n 'justify-items',\n 'justify-self',\n 'kerning',\n 'left',\n 'letter-spacing',\n 'lighting-color',\n 'line-break',\n 'line-height',\n 'line-height-step',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'margin',\n 'margin-block',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'margin-trim',\n 'marker',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'marks',\n 'mask',\n 'mask-border',\n 'mask-border-mode',\n 'mask-border-outset',\n 'mask-border-repeat',\n 'mask-border-slice',\n 'mask-border-source',\n 'mask-border-width',\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-mode',\n 'mask-origin',\n 'mask-position',\n 'mask-repeat',\n 'mask-size',\n 'mask-type',\n 'masonry-auto-flow',\n 'math-depth',\n 'math-shift',\n 'math-style',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'mix-blend-mode',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-anchor',\n 'overflow-block',\n 'overflow-clip-margin',\n 'overflow-inline',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'overlay',\n 'overscroll-behavior',\n 'overscroll-behavior-block',\n 'overscroll-behavior-inline',\n 'overscroll-behavior-x',\n 'overscroll-behavior-y',\n 'padding',\n 'padding-block',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'paint-order',\n 'pause',\n 'pause-after',\n 'pause-before',\n 'perspective',\n 'perspective-origin',\n 'place-content',\n 'place-items',\n 'place-self',\n 'pointer-events',\n 'position',\n 'position-anchor',\n 'position-visibility',\n 'print-color-adjust',\n 'quotes',\n 'r',\n 'resize',\n 'rest',\n 'rest-after',\n 'rest-before',\n 'right',\n 'rotate',\n 'row-gap',\n 'ruby-align',\n 'ruby-position',\n 'scale',\n 'scroll-behavior',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-align',\n 'scroll-snap-stop',\n 'scroll-snap-type',\n 'scroll-timeline',\n 'scroll-timeline-axis',\n 'scroll-timeline-name',\n 'scrollbar-color',\n 'scrollbar-gutter',\n 'scrollbar-width',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'shape-rendering',\n 'speak',\n 'speak-as',\n 'src', // @font-face\n 'stop-color',\n 'stop-opacity',\n 'stroke',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'tab-size',\n 'table-layout',\n 'text-align',\n 'text-align-all',\n 'text-align-last',\n 'text-anchor',\n 'text-combine-upright',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-skip',\n 'text-decoration-skip-ink',\n 'text-decoration-style',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-emphasis-position',\n 'text-emphasis-style',\n 'text-indent',\n 'text-justify',\n 'text-orientation',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-size-adjust',\n 'text-transform',\n 'text-underline-offset',\n 'text-underline-position',\n 'text-wrap',\n 'text-wrap-mode',\n 'text-wrap-style',\n 'timeline-scope',\n 'top',\n 'touch-action',\n 'transform',\n 'transform-box',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-behavior',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'translate',\n 'unicode-bidi',\n 'user-modify',\n 'user-select',\n 'vector-effect',\n 'vertical-align',\n 'view-timeline',\n 'view-timeline-axis',\n 'view-timeline-inset',\n 'view-timeline-name',\n 'view-transition-name',\n 'visibility',\n 'voice-balance',\n 'voice-duration',\n 'voice-family',\n 'voice-pitch',\n 'voice-range',\n 'voice-rate',\n 'voice-stress',\n 'voice-volume',\n 'white-space',\n 'white-space-collapse',\n 'widows',\n 'width',\n 'will-change',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'writing-mode',\n 'x',\n 'y',\n 'z-index',\n 'zoom'\n].sort().reverse();\n\n/*\nLanguage: CSS\nCategory: common, css, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/CSS\n*/\n\n\n/** @type LanguageFn */\nfunction css(hljs) {\n const regex = hljs.regex;\n const modes = MODES(hljs);\n const VENDOR_PREFIX = { begin: /-(webkit|moz|ms|o)-(?=[a-z])/ };\n const AT_MODIFIERS = \"and or not only\";\n const AT_PROPERTY_RE = /@-?\\w[\\w]*(-\\w+)*/; // @-webkit-keyframes\n const IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';\n const STRINGS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ];\n\n return {\n name: 'CSS',\n case_insensitive: true,\n illegal: /[=|'\\$]/,\n keywords: { keyframePosition: \"from to\" },\n classNameAliases: {\n // for visual continuity with `tag {}` and because we\n // don't have a great class for this?\n keyframePosition: \"selector-tag\" },\n contains: [\n modes.BLOCK_COMMENT,\n VENDOR_PREFIX,\n // to recognize keyframe 40% etc which are outside the scope of our\n // attribute value mode\n modes.CSS_NUMBER_MODE,\n {\n className: 'selector-id',\n begin: /#[A-Za-z0-9_-]+/,\n relevance: 0\n },\n {\n className: 'selector-class',\n begin: '\\\\.' + IDENT_RE,\n relevance: 0\n },\n modes.ATTRIBUTE_SELECTOR_MODE,\n {\n className: 'selector-pseudo',\n variants: [\n { begin: ':(' + PSEUDO_CLASSES.join('|') + ')' },\n { begin: ':(:)?(' + PSEUDO_ELEMENTS.join('|') + ')' }\n ]\n },\n // we may actually need this (12/2020)\n // { // pseudo-selector params\n // begin: /\\(/,\n // end: /\\)/,\n // contains: [ hljs.CSS_NUMBER_MODE ]\n // },\n modes.CSS_VARIABLE,\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b'\n },\n // attribute values\n {\n begin: /:/,\n end: /[;}{]/,\n contains: [\n modes.BLOCK_COMMENT,\n modes.HEXCOLOR,\n modes.IMPORTANT,\n modes.CSS_NUMBER_MODE,\n ...STRINGS,\n // needed to highlight these as strings and to avoid issues with\n // illegal characters that might be inside urls that would tigger the\n // languages illegal stack\n {\n begin: /(url|data-uri)\\(/,\n end: /\\)/,\n relevance: 0, // from keywords\n keywords: { built_in: \"url data-uri\" },\n contains: [\n ...STRINGS,\n {\n className: \"string\",\n // any character other than `)` as in `url()` will be the start\n // of a string, which ends with `)` (from the parent mode)\n begin: /[^)]/,\n endsWithParent: true,\n excludeEnd: true\n }\n ]\n },\n modes.FUNCTION_DISPATCH\n ]\n },\n {\n begin: regex.lookahead(/@/),\n end: '[{;]',\n relevance: 0,\n illegal: /:/, // break on Less variables @var: ...\n contains: [\n {\n className: 'keyword',\n begin: AT_PROPERTY_RE\n },\n {\n begin: /\\s/,\n endsWithParent: true,\n excludeEnd: true,\n relevance: 0,\n keywords: {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n },\n contains: [\n {\n begin: /[a-z-]+(?=:)/,\n className: \"attribute\"\n },\n ...STRINGS,\n modes.CSS_NUMBER_MODE\n ]\n }\n ]\n },\n {\n className: 'selector-tag',\n begin: '\\\\b(' + TAGS.join('|') + ')\\\\b'\n }\n ]\n };\n}\n\nexport { css as default };\n","/*\nLanguage: Diff\nDescription: Unified and context diff\nAuthor: Vasily Polovnyov \nWebsite: https://www.gnu.org/software/diffutils/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction diff(hljs) {\n const regex = hljs.regex;\n return {\n name: 'Diff',\n aliases: [ 'patch' ],\n contains: [\n {\n className: 'meta',\n relevance: 10,\n match: regex.either(\n /^@@ +-\\d+,\\d+ +\\+\\d+,\\d+ +@@/,\n /^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$/,\n /^--- +\\d+,\\d+ +----$/\n )\n },\n {\n className: 'comment',\n variants: [\n {\n begin: regex.either(\n /Index: /,\n /^index/,\n /={3,}/,\n /^-{3}/,\n /^\\*{3} /,\n /^\\+{3}/,\n /^diff --git/\n ),\n end: /$/\n },\n { match: /^\\*{15}$/ }\n ]\n },\n {\n className: 'addition',\n begin: /^\\+/,\n end: /$/\n },\n {\n className: 'deletion',\n begin: /^-/,\n end: /$/\n },\n {\n className: 'addition',\n begin: /^!/,\n end: /$/\n }\n ]\n };\n}\n\nexport { diff as default };\n","/*\nLanguage: Go\nAuthor: Stephan Kountso aka StepLg \nContributors: Evgeny Stepanischev \nDescription: Google go language (golang). For info about language\nWebsite: http://golang.org/\nCategory: common, system\n*/\n\nfunction go(hljs) {\n const LITERALS = [\n \"true\",\n \"false\",\n \"iota\",\n \"nil\"\n ];\n const BUILT_INS = [\n \"append\",\n \"cap\",\n \"close\",\n \"complex\",\n \"copy\",\n \"imag\",\n \"len\",\n \"make\",\n \"new\",\n \"panic\",\n \"print\",\n \"println\",\n \"real\",\n \"recover\",\n \"delete\"\n ];\n const TYPES = [\n \"bool\",\n \"byte\",\n \"complex64\",\n \"complex128\",\n \"error\",\n \"float32\",\n \"float64\",\n \"int8\",\n \"int16\",\n \"int32\",\n \"int64\",\n \"string\",\n \"uint8\",\n \"uint16\",\n \"uint32\",\n \"uint64\",\n \"int\",\n \"uint\",\n \"uintptr\",\n \"rune\"\n ];\n const KWS = [\n \"break\",\n \"case\",\n \"chan\",\n \"const\",\n \"continue\",\n \"default\",\n \"defer\",\n \"else\",\n \"fallthrough\",\n \"for\",\n \"func\",\n \"go\",\n \"goto\",\n \"if\",\n \"import\",\n \"interface\",\n \"map\",\n \"package\",\n \"range\",\n \"return\",\n \"select\",\n \"struct\",\n \"switch\",\n \"type\",\n \"var\",\n ];\n const KEYWORDS = {\n keyword: KWS,\n type: TYPES,\n literal: LITERALS,\n built_in: BUILT_INS\n };\n return {\n name: 'Go',\n aliases: [ 'golang' ],\n keywords: KEYWORDS,\n illegal: '\nCategory: common, config\nWebsite: https://github.com/toml-lang/toml\n*/\n\nfunction ini(hljs) {\n const regex = hljs.regex;\n const NUMBERS = {\n className: 'number',\n relevance: 0,\n variants: [\n { begin: /([+-]+)?[\\d]+_[\\d_]+/ },\n { begin: hljs.NUMBER_RE }\n ]\n };\n const COMMENTS = hljs.COMMENT();\n COMMENTS.variants = [\n {\n begin: /;/,\n end: /$/\n },\n {\n begin: /#/,\n end: /$/\n }\n ];\n const VARIABLES = {\n className: 'variable',\n variants: [\n { begin: /\\$[\\w\\d\"][\\w\\d_]*/ },\n { begin: /\\$\\{(.*?)\\}/ }\n ]\n };\n const LITERALS = {\n className: 'literal',\n begin: /\\bon|off|true|false|yes|no\\b/\n };\n const STRINGS = {\n className: \"string\",\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n {\n begin: \"'''\",\n end: \"'''\",\n relevance: 10\n },\n {\n begin: '\"\"\"',\n end: '\"\"\"',\n relevance: 10\n },\n {\n begin: '\"',\n end: '\"'\n },\n {\n begin: \"'\",\n end: \"'\"\n }\n ]\n };\n const ARRAY = {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n COMMENTS,\n LITERALS,\n VARIABLES,\n STRINGS,\n NUMBERS,\n 'self'\n ],\n relevance: 0\n };\n\n const BARE_KEY = /[A-Za-z0-9_-]+/;\n const QUOTED_KEY_DOUBLE_QUOTE = /\"(\\\\\"|[^\"])*\"/;\n const QUOTED_KEY_SINGLE_QUOTE = /'[^']*'/;\n const ANY_KEY = regex.either(\n BARE_KEY, QUOTED_KEY_DOUBLE_QUOTE, QUOTED_KEY_SINGLE_QUOTE\n );\n const DOTTED_KEY = regex.concat(\n ANY_KEY, '(\\\\s*\\\\.\\\\s*', ANY_KEY, ')*',\n regex.lookahead(/\\s*=\\s*[^#\\s]/)\n );\n\n return {\n name: 'TOML, also INI',\n aliases: [ 'toml' ],\n case_insensitive: true,\n illegal: /\\S/,\n contains: [\n COMMENTS,\n {\n className: 'section',\n begin: /\\[+/,\n end: /\\]+/\n },\n {\n begin: DOTTED_KEY,\n className: 'attr',\n starts: {\n end: /$/,\n contains: [\n COMMENTS,\n ARRAY,\n LITERALS,\n VARIABLES,\n STRINGS,\n NUMBERS\n ]\n }\n }\n ]\n };\n}\n\nexport { ini as default };\n","// https://docs.oracle.com/javase/specs/jls/se15/html/jls-3.html#jls-3.10\nvar decimalDigits = '[0-9](_*[0-9])*';\nvar frac = `\\\\.(${decimalDigits})`;\nvar hexDigits = '[0-9a-fA-F](_*[0-9a-fA-F])*';\nvar NUMERIC = {\n className: 'number',\n variants: [\n // DecimalFloatingPointLiteral\n // including ExponentPart\n { begin: `(\\\\b(${decimalDigits})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n // excluding ExponentPart\n { begin: `\\\\b(${decimalDigits})((${frac})[fFdD]?\\\\b|\\\\.([fFdD]\\\\b)?)` },\n { begin: `(${frac})[fFdD]?\\\\b` },\n { begin: `\\\\b(${decimalDigits})[fFdD]\\\\b` },\n\n // HexadecimalFloatingPointLiteral\n { begin: `\\\\b0[xX]((${hexDigits})\\\\.?|(${hexDigits})?\\\\.(${hexDigits}))` +\n `[pP][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n\n // DecimalIntegerLiteral\n { begin: '\\\\b(0|[1-9](_*[0-9])*)[lL]?\\\\b' },\n\n // HexIntegerLiteral\n { begin: `\\\\b0[xX](${hexDigits})[lL]?\\\\b` },\n\n // OctalIntegerLiteral\n { begin: '\\\\b0(_*[0-7])*[lL]?\\\\b' },\n\n // BinaryIntegerLiteral\n { begin: '\\\\b0[bB][01](_*[01])*[lL]?\\\\b' },\n ],\n relevance: 0\n};\n\n/*\nLanguage: Java\nAuthor: Vsevolod Solovyov \nCategory: common, enterprise\nWebsite: https://www.java.com/\n*/\n\n\n/**\n * Allows recursive regex expressions to a given depth\n *\n * ie: recurRegex(\"(abc~~~)\", /~~~/g, 2) becomes:\n * (abc(abc(abc)))\n *\n * @param {string} re\n * @param {RegExp} substitution (should be a g mode regex)\n * @param {number} depth\n * @returns {string}``\n */\nfunction recurRegex(re, substitution, depth) {\n if (depth === -1) return \"\";\n\n return re.replace(substitution, _ => {\n return recurRegex(re, substitution, depth - 1);\n });\n}\n\n/** @type LanguageFn */\nfunction java(hljs) {\n const regex = hljs.regex;\n const JAVA_IDENT_RE = '[\\u00C0-\\u02B8a-zA-Z_$][\\u00C0-\\u02B8a-zA-Z_$0-9]*';\n const GENERIC_IDENT_RE = JAVA_IDENT_RE\n + recurRegex('(?:<' + JAVA_IDENT_RE + '~~~(?:\\\\s*,\\\\s*' + JAVA_IDENT_RE + '~~~)*>)?', /~~~/g, 2);\n const MAIN_KEYWORDS = [\n 'synchronized',\n 'abstract',\n 'private',\n 'var',\n 'static',\n 'if',\n 'const ',\n 'for',\n 'while',\n 'strictfp',\n 'finally',\n 'protected',\n 'import',\n 'native',\n 'final',\n 'void',\n 'enum',\n 'else',\n 'break',\n 'transient',\n 'catch',\n 'instanceof',\n 'volatile',\n 'case',\n 'assert',\n 'package',\n 'default',\n 'public',\n 'try',\n 'switch',\n 'continue',\n 'throws',\n 'protected',\n 'public',\n 'private',\n 'module',\n 'requires',\n 'exports',\n 'do',\n 'sealed',\n 'yield',\n 'permits',\n 'goto',\n 'when'\n ];\n\n const BUILT_INS = [\n 'super',\n 'this'\n ];\n\n const LITERALS = [\n 'false',\n 'true',\n 'null'\n ];\n\n const TYPES = [\n 'char',\n 'boolean',\n 'long',\n 'float',\n 'int',\n 'byte',\n 'short',\n 'double'\n ];\n\n const KEYWORDS = {\n keyword: MAIN_KEYWORDS,\n literal: LITERALS,\n type: TYPES,\n built_in: BUILT_INS\n };\n\n const ANNOTATION = {\n className: 'meta',\n begin: '@' + JAVA_IDENT_RE,\n contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [ \"self\" ] // allow nested () inside our annotation\n }\n ]\n };\n const PARAMS = {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [ hljs.C_BLOCK_COMMENT_MODE ],\n endsParent: true\n };\n\n return {\n name: 'Java',\n aliases: [ 'jsp' ],\n keywords: KEYWORDS,\n illegal: /<\\/|#/,\n contains: [\n hljs.COMMENT(\n '/\\\\*\\\\*',\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n // eat up @'s in emails to prevent them to be recognized as doctags\n begin: /\\w+@/,\n relevance: 0\n },\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n }\n ]\n }\n ),\n // relevance boost\n {\n begin: /import java\\.[a-z]+\\./,\n keywords: \"import\",\n relevance: 2\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n begin: /\"\"\"/,\n end: /\"\"\"/,\n className: \"string\",\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n {\n match: [\n /\\b(?:class|interface|enum|extends|implements|new)/,\n /\\s+/,\n JAVA_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n {\n // Exceptions for hyphenated keywords\n match: /non-sealed/,\n scope: \"keyword\"\n },\n {\n begin: [\n regex.concat(/(?!else)/, JAVA_IDENT_RE),\n /\\s+/,\n JAVA_IDENT_RE,\n /\\s+/,\n /=(?!=)/\n ],\n className: {\n 1: \"type\",\n 3: \"variable\",\n 5: \"operator\"\n }\n },\n {\n begin: [\n /record/,\n /\\s+/,\n JAVA_IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.class\"\n },\n contains: [\n PARAMS,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n // Expression keywords prevent 'keyword Name(...)' from being\n // recognized as a function definition\n beginKeywords: 'new throw return else',\n relevance: 0\n },\n {\n begin: [\n '(?:' + GENERIC_IDENT_RE + '\\\\s+)',\n hljs.UNDERSCORE_IDENT_RE,\n /\\s*(?=\\()/\n ],\n className: { 2: \"title.function\" },\n keywords: KEYWORDS,\n contains: [\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n ANNOTATION,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMERIC,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n NUMERIC,\n ANNOTATION\n ]\n };\n}\n\nexport { java as default };\n","const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\",\n // It's reached stage 3, which is \"recommended for implementation\":\n \"using\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nconst TYPES = [\n // Fundamental objects\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Symbol\",\n // numbers and dates\n \"Math\",\n \"Date\",\n \"Number\",\n \"BigInt\",\n // text\n \"String\",\n \"RegExp\",\n // Indexed collections\n \"Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n // Keyed collections\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n // Structured data\n \"ArrayBuffer\",\n \"SharedArrayBuffer\",\n \"Atomics\",\n \"DataView\",\n \"JSON\",\n // Control abstraction objects\n \"Promise\",\n \"Generator\",\n \"GeneratorFunction\",\n \"AsyncFunction\",\n // Reflection\n \"Reflect\",\n \"Proxy\",\n // Internationalization\n \"Intl\",\n // WebAssembly\n \"WebAssembly\"\n];\n\nconst ERROR_TYPES = [\n \"Error\",\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"sessionStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n const regex = hljs.regex;\n /**\n * Takes a string like \" {\n const tag = \"',\n end: ''\n };\n // to avoid some special cases inside isTrulyOpeningTag\n const XML_SELF_CLOSING = /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/;\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n if (\n // HTML should not include another raw `<` inside a tag\n // nested type?\n // `>`, etc.\n nextChar === \"<\" ||\n // the , gives away that this is not HTML\n // ``\n nextChar === \",\"\n ) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // Quite possibly a tag, lets look for a matching closing tag...\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n\n // `` (self-closing)\n // handled by simpleSelfClosing rule\n\n let m;\n const afterMatch = match.input.substring(afterMatchIndex);\n\n // some more template typing stuff\n // (key?: string) => Modify<\n if ((m = afterMatch.match(/^\\s*=/))) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // technically this could be HTML, but it smells like a type\n // NOTE: This is ugh, but added specifically for https://github.com/highlightjs/highlight.js/issues/3276\n if ((m = afterMatch.match(/^\\s+extends\\s+/))) {\n if (m.index === 0) {\n response.ignoreMatch();\n // eslint-disable-next-line no-useless-return\n return;\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS,\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: '\\.?html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: '\\.?css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const GRAPHQL_TEMPLATE = {\n begin: '\\.?gql`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'graphql'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n begin: '(?=@[A-Za-z]+)',\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n },\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n excludeEnd: true,\n excludeBegin: true,\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n // This is intentional:\n // See https://github.com/highlightjs/highlight.js/issues/3288\n // hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n // convert this to negative lookbehind in v12\n begin: /(\\s*)\\(/, // to match the parms with\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n // ES6 classes\n const CLASS_OR_EXTENDS = {\n variants: [\n // class Car extends vehicle\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1,\n /\\s+/,\n /extends/,\n /\\s+/,\n regex.concat(IDENT_RE$1, \"(\", regex.concat(/\\./, IDENT_RE$1), \")*\")\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n },\n // class Car\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n\n ]\n };\n\n const CLASS_REFERENCE = {\n relevance: 0,\n match:\n regex.either(\n // Hard coded exceptions\n /\\bJSON/,\n // Float32Array, OutT\n /\\b[A-Z][a-z]+([A-Z][a-z]*|\\d)*/,\n // CSSFactory, CSSFactoryT\n /\\b[A-Z]{2,}([A-Z][a-z]+|\\d)+([A-Z][a-z]*)*/,\n // FPs, FPsT\n /\\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\\d)*([A-Z][a-z]*)*/,\n // P\n // single letters are not highlighted\n // BLAH\n // this will be flagged as a UPPER_CASE_CONSTANT instead\n ),\n className: \"title.class\",\n keywords: {\n _: [\n // se we still get relevance credit for JS library classes\n ...TYPES,\n ...ERROR_TYPES\n ]\n }\n };\n\n const USE_STRICT = {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n };\n\n const FUNCTION_DEFINITION = {\n variants: [\n {\n match: [\n /function/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\s*\\()/\n ]\n },\n // anonymous function\n {\n match: [\n /function/,\n /\\s*(?=\\()/\n ]\n }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n label: \"func.def\",\n contains: [ PARAMS ],\n illegal: /%/\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n function noneOf(list) {\n return regex.concat(\"(?!\", list.join(\"|\"), \")\");\n }\n\n const FUNCTION_CALL = {\n match: regex.concat(\n /\\b/,\n noneOf([\n ...BUILT_IN_GLOBALS,\n \"super\",\n \"import\"\n ].map(x => `${x}\\\\s*\\\\(`)),\n IDENT_RE$1, regex.lookahead(/\\s*\\(/)),\n className: \"title.function\",\n relevance: 0\n };\n\n const PROPERTY_ACCESS = {\n begin: regex.concat(/\\./, regex.lookahead(\n regex.concat(IDENT_RE$1, /(?![0-9A-Za-z$_(])/)\n )),\n end: IDENT_RE$1,\n excludeBegin: true,\n keywords: \"prototype\",\n className: \"property\",\n relevance: 0\n };\n\n const GETTER_OR_SETTER = {\n match: [\n /get|set/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\()/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n { // eat to avoid empty params\n begin: /\\(\\)/\n },\n PARAMS\n ]\n };\n\n const FUNC_LEAD_IN_RE = '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>';\n\n const FUNCTION_VARIABLE = {\n match: [\n /const|var|let/, /\\s+/,\n IDENT_RE$1, /\\s*/,\n /=\\s*/,\n /(async\\s*)?/, // async is optional\n regex.lookahead(FUNC_LEAD_IN_RE)\n ],\n keywords: \"async\",\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n return {\n name: 'JavaScript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS, CLASS_REFERENCE },\n illegal: /#(?![$_A-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n USE_STRICT,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n CLASS_REFERENCE,\n {\n scope: 'attr',\n match: IDENT_RE$1 + regex.lookahead(':'),\n relevance: 0\n },\n FUNCTION_VARIABLE,\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n relevance: 0,\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: FUNC_LEAD_IN_RE,\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/,\n relevance: 0\n },\n {\n match: /\\s+/,\n relevance: 0\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n { match: XML_SELF_CLOSING },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n },\n FUNCTION_DEFINITION,\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: '\\\\b(?!function)' + hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n label: \"func.def\",\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1, className: \"title.function\" })\n ]\n },\n // catch ... so it won't trigger the property rule below\n {\n match: /\\.\\.\\./,\n relevance: 0\n },\n PROPERTY_ACCESS,\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n match: '\\\\$' + IDENT_RE$1,\n relevance: 0\n },\n {\n match: [ /\\bconstructor(?=\\s*\\()/ ],\n className: { 1: \"title.function\" },\n contains: [ PARAMS ]\n },\n FUNCTION_CALL,\n UPPER_CASE_CONSTANT,\n CLASS_OR_EXTENDS,\n GETTER_OR_SETTER,\n {\n match: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\nexport { javascript as default };\n","/*\nLanguage: JSON\nDescription: JSON (JavaScript Object Notation) is a lightweight data-interchange format.\nAuthor: Ivan Sagalaev \nWebsite: http://www.json.org\nCategory: common, protocols, web\n*/\n\nfunction json(hljs) {\n const ATTRIBUTE = {\n className: 'attr',\n begin: /\"(\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n relevance: 1.01\n };\n const PUNCTUATION = {\n match: /[{}[\\],:]/,\n className: \"punctuation\",\n relevance: 0\n };\n const LITERALS = [\n \"true\",\n \"false\",\n \"null\"\n ];\n // NOTE: normally we would rely on `keywords` for this but using a mode here allows us\n // - to use the very tight `illegal: \\S` rule later to flag any other character\n // - as illegal indicating that despite looking like JSON we do not truly have\n // - JSON and thus improve false-positively greatly since JSON will try and claim\n // - all sorts of JSON looking stuff\n const LITERALS_MODE = {\n scope: \"literal\",\n beginKeywords: LITERALS.join(\" \"),\n };\n\n return {\n name: 'JSON',\n aliases: ['jsonc'],\n keywords:{\n literal: LITERALS,\n },\n contains: [\n ATTRIBUTE,\n PUNCTUATION,\n hljs.QUOTE_STRING_MODE,\n LITERALS_MODE,\n hljs.C_NUMBER_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ],\n illegal: '\\\\S'\n };\n}\n\nexport { json as default };\n","// https://docs.oracle.com/javase/specs/jls/se15/html/jls-3.html#jls-3.10\nvar decimalDigits = '[0-9](_*[0-9])*';\nvar frac = `\\\\.(${decimalDigits})`;\nvar hexDigits = '[0-9a-fA-F](_*[0-9a-fA-F])*';\nvar NUMERIC = {\n className: 'number',\n variants: [\n // DecimalFloatingPointLiteral\n // including ExponentPart\n { begin: `(\\\\b(${decimalDigits})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n // excluding ExponentPart\n { begin: `\\\\b(${decimalDigits})((${frac})[fFdD]?\\\\b|\\\\.([fFdD]\\\\b)?)` },\n { begin: `(${frac})[fFdD]?\\\\b` },\n { begin: `\\\\b(${decimalDigits})[fFdD]\\\\b` },\n\n // HexadecimalFloatingPointLiteral\n { begin: `\\\\b0[xX]((${hexDigits})\\\\.?|(${hexDigits})?\\\\.(${hexDigits}))` +\n `[pP][+-]?(${decimalDigits})[fFdD]?\\\\b` },\n\n // DecimalIntegerLiteral\n { begin: '\\\\b(0|[1-9](_*[0-9])*)[lL]?\\\\b' },\n\n // HexIntegerLiteral\n { begin: `\\\\b0[xX](${hexDigits})[lL]?\\\\b` },\n\n // OctalIntegerLiteral\n { begin: '\\\\b0(_*[0-7])*[lL]?\\\\b' },\n\n // BinaryIntegerLiteral\n { begin: '\\\\b0[bB][01](_*[01])*[lL]?\\\\b' },\n ],\n relevance: 0\n};\n\n/*\n Language: Kotlin\n Description: Kotlin is an OSS statically typed programming language that targets the JVM, Android, JavaScript and Native.\n Author: Sergey Mashkov \n Website: https://kotlinlang.org\n Category: common\n */\n\n\nfunction kotlin(hljs) {\n const KEYWORDS = {\n keyword:\n 'abstract as val var vararg get set class object open private protected public noinline '\n + 'crossinline dynamic final enum if else do while for when throw try catch finally '\n + 'import package is in fun override companion reified inline lateinit init '\n + 'interface annotation data sealed internal infix operator out by constructor super '\n + 'tailrec where const inner suspend typealias external expect actual',\n built_in:\n 'Byte Short Char Int Long Boolean Float Double Void Unit Nothing',\n literal:\n 'true false null'\n };\n const KEYWORDS_WITH_LABEL = {\n className: 'keyword',\n begin: /\\b(break|continue|return|this)\\b/,\n starts: { contains: [\n {\n className: 'symbol',\n begin: /@\\w+/\n }\n ] }\n };\n const LABEL = {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '@'\n };\n\n // for string templates\n const SUBST = {\n className: 'subst',\n begin: /\\$\\{/,\n end: /\\}/,\n contains: [ hljs.C_NUMBER_MODE ]\n };\n const VARIABLE = {\n className: 'variable',\n begin: '\\\\$' + hljs.UNDERSCORE_IDENT_RE\n };\n const STRING = {\n className: 'string',\n variants: [\n {\n begin: '\"\"\"',\n end: '\"\"\"(?=[^\"])',\n contains: [\n VARIABLE,\n SUBST\n ]\n },\n // Can't use built-in modes easily, as we want to use STRING in the meta\n // context as 'meta-string' and there's no syntax to remove explicitly set\n // classNames in built-in modes.\n {\n begin: '\\'',\n end: '\\'',\n illegal: /\\n/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '\"',\n end: '\"',\n illegal: /\\n/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VARIABLE,\n SUBST\n ]\n }\n ]\n };\n SUBST.contains.push(STRING);\n\n const ANNOTATION_USE_SITE = {\n className: 'meta',\n begin: '@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\\\s*:(?:\\\\s*' + hljs.UNDERSCORE_IDENT_RE + ')?'\n };\n const ANNOTATION = {\n className: 'meta',\n begin: '@' + hljs.UNDERSCORE_IDENT_RE,\n contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [\n hljs.inherit(STRING, { className: 'string' }),\n \"self\"\n ]\n }\n ]\n };\n\n // https://kotlinlang.org/docs/reference/whatsnew11.html#underscores-in-numeric-literals\n // According to the doc above, the number mode of kotlin is the same as java 8,\n // so the code below is copied from java.js\n const KOTLIN_NUMBER_MODE = NUMERIC;\n const KOTLIN_NESTED_COMMENT = hljs.COMMENT(\n '/\\\\*', '\\\\*/',\n { contains: [ hljs.C_BLOCK_COMMENT_MODE ] }\n );\n const KOTLIN_PAREN_TYPE = { variants: [\n {\n className: 'type',\n begin: hljs.UNDERSCORE_IDENT_RE\n },\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [] // defined later\n }\n ] };\n const KOTLIN_PAREN_TYPE2 = KOTLIN_PAREN_TYPE;\n KOTLIN_PAREN_TYPE2.variants[1].contains = [ KOTLIN_PAREN_TYPE ];\n KOTLIN_PAREN_TYPE.variants[1].contains = [ KOTLIN_PAREN_TYPE2 ];\n\n return {\n name: 'Kotlin',\n aliases: [\n 'kt',\n 'kts'\n ],\n keywords: KEYWORDS,\n contains: [\n hljs.COMMENT(\n '/\\\\*\\\\*',\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT,\n KEYWORDS_WITH_LABEL,\n LABEL,\n ANNOTATION_USE_SITE,\n ANNOTATION,\n {\n className: 'function',\n beginKeywords: 'fun',\n end: '[(]|$',\n returnBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n relevance: 5,\n contains: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE + '\\\\s*\\\\(',\n returnBegin: true,\n relevance: 0,\n contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n },\n {\n className: 'type',\n begin: //,\n keywords: 'reified',\n relevance: 0\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n endsParent: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n {\n begin: /:/,\n end: /[=,\\/]/,\n endsWithParent: true,\n contains: [\n KOTLIN_PAREN_TYPE,\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT\n ],\n relevance: 0\n },\n hljs.C_LINE_COMMENT_MODE,\n KOTLIN_NESTED_COMMENT,\n ANNOTATION_USE_SITE,\n ANNOTATION,\n STRING,\n hljs.C_NUMBER_MODE\n ]\n },\n KOTLIN_NESTED_COMMENT\n ]\n },\n {\n begin: [\n /class|interface|trait/,\n /\\s+/,\n hljs.UNDERSCORE_IDENT_RE\n ],\n beginScope: {\n 3: \"title.class\"\n },\n keywords: 'class interface trait',\n end: /[:\\{(]|$/,\n excludeEnd: true,\n illegal: 'extends implements',\n contains: [\n { beginKeywords: 'public protected internal private constructor' },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n className: 'type',\n begin: //,\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0\n },\n {\n className: 'type',\n begin: /[,:]\\s*/,\n end: /[<\\(,){\\s]|$/,\n excludeBegin: true,\n returnEnd: true\n },\n ANNOTATION_USE_SITE,\n ANNOTATION\n ]\n },\n STRING,\n {\n className: 'meta',\n begin: \"^#!/usr/bin/env\",\n end: '$',\n illegal: '\\n'\n },\n KOTLIN_NUMBER_MODE\n ]\n };\n}\n\nexport { kotlin as default };\n","const MODES = (hljs) => {\n return {\n IMPORTANT: {\n scope: 'meta',\n begin: '!important'\n },\n BLOCK_COMMENT: hljs.C_BLOCK_COMMENT_MODE,\n HEXCOLOR: {\n scope: 'number',\n begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\\b/\n },\n FUNCTION_DISPATCH: {\n className: \"built_in\",\n begin: /[\\w-]+(?=\\()/\n },\n ATTRIBUTE_SELECTOR_MODE: {\n scope: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n },\n CSS_NUMBER_MODE: {\n scope: 'number',\n begin: hljs.NUMBER_RE + '(' +\n '%|em|ex|ch|rem' +\n '|vw|vh|vmin|vmax' +\n '|cm|mm|in|pt|pc|px' +\n '|deg|grad|rad|turn' +\n '|s|ms' +\n '|Hz|kHz' +\n '|dpi|dpcm|dppx' +\n ')?',\n relevance: 0\n },\n CSS_VARIABLE: {\n className: \"attr\",\n begin: /--[A-Za-z_][A-Za-z0-9_-]*/\n }\n };\n};\n\nconst HTML_TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'picture',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'select',\n 'source',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst SVG_TAGS = [\n 'defs',\n 'g',\n 'marker',\n 'mask',\n 'pattern',\n 'svg',\n 'switch',\n 'symbol',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feFlood',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMorphology',\n 'feOffset',\n 'feSpecularLighting',\n 'feTile',\n 'feTurbulence',\n 'linearGradient',\n 'radialGradient',\n 'stop',\n 'circle',\n 'ellipse',\n 'image',\n 'line',\n 'path',\n 'polygon',\n 'polyline',\n 'rect',\n 'text',\n 'use',\n 'textPath',\n 'tspan',\n 'foreignObject',\n 'clipPath'\n];\n\nconst TAGS = [\n ...HTML_TAGS,\n ...SVG_TAGS,\n];\n\n// Sorting, then reversing makes sure longer attributes/elements like\n// `font-weight` are matched fully instead of getting false positives on say `font`\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n].sort().reverse();\n\nconst ATTRIBUTES = [\n 'accent-color',\n 'align-content',\n 'align-items',\n 'align-self',\n 'alignment-baseline',\n 'all',\n 'anchor-name',\n 'animation',\n 'animation-composition',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-range',\n 'animation-range-end',\n 'animation-range-start',\n 'animation-timeline',\n 'animation-timing-function',\n 'appearance',\n 'aspect-ratio',\n 'backdrop-filter',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-blend-mode',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-position-x',\n 'background-position-y',\n 'background-repeat',\n 'background-size',\n 'baseline-shift',\n 'block-size',\n 'border',\n 'border-block',\n 'border-block-color',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-style',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-style',\n 'border-block-start-width',\n 'border-block-style',\n 'border-block-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-inline',\n 'border-inline-color',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-style',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-style',\n 'border-inline-start-width',\n 'border-inline-style',\n 'border-inline-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-align',\n 'box-decoration-break',\n 'box-direction',\n 'box-flex',\n 'box-flex-group',\n 'box-lines',\n 'box-ordinal-group',\n 'box-orient',\n 'box-pack',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'caption-side',\n 'caret-color',\n 'clear',\n 'clip',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'color-scheme',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'contain',\n 'contain-intrinsic-block-size',\n 'contain-intrinsic-height',\n 'contain-intrinsic-inline-size',\n 'contain-intrinsic-size',\n 'contain-intrinsic-width',\n 'container',\n 'container-name',\n 'container-type',\n 'content',\n 'content-visibility',\n 'counter-increment',\n 'counter-reset',\n 'counter-set',\n 'cue',\n 'cue-after',\n 'cue-before',\n 'cursor',\n 'cx',\n 'cy',\n 'direction',\n 'display',\n 'dominant-baseline',\n 'empty-cells',\n 'enable-background',\n 'field-sizing',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'flood-color',\n 'flood-opacity',\n 'flow',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-optical-sizing',\n 'font-palette',\n 'font-size',\n 'font-size-adjust',\n 'font-smooth',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-synthesis',\n 'font-synthesis-position',\n 'font-synthesis-small-caps',\n 'font-synthesis-style',\n 'font-synthesis-weight',\n 'font-variant',\n 'font-variant-alternates',\n 'font-variant-caps',\n 'font-variant-east-asian',\n 'font-variant-emoji',\n 'font-variant-ligatures',\n 'font-variant-numeric',\n 'font-variant-position',\n 'font-variation-settings',\n 'font-weight',\n 'forced-color-adjust',\n 'gap',\n 'glyph-orientation-horizontal',\n 'glyph-orientation-vertical',\n 'grid',\n 'grid-area',\n 'grid-auto-columns',\n 'grid-auto-flow',\n 'grid-auto-rows',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-gap',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'grid-template',\n 'grid-template-areas',\n 'grid-template-columns',\n 'grid-template-rows',\n 'hanging-punctuation',\n 'height',\n 'hyphenate-character',\n 'hyphenate-limit-chars',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'initial-letter',\n 'initial-letter-align',\n 'inline-size',\n 'inset',\n 'inset-area',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'isolation',\n 'justify-content',\n 'justify-items',\n 'justify-self',\n 'kerning',\n 'left',\n 'letter-spacing',\n 'lighting-color',\n 'line-break',\n 'line-height',\n 'line-height-step',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'margin',\n 'margin-block',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'margin-trim',\n 'marker',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'marks',\n 'mask',\n 'mask-border',\n 'mask-border-mode',\n 'mask-border-outset',\n 'mask-border-repeat',\n 'mask-border-slice',\n 'mask-border-source',\n 'mask-border-width',\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-mode',\n 'mask-origin',\n 'mask-position',\n 'mask-repeat',\n 'mask-size',\n 'mask-type',\n 'masonry-auto-flow',\n 'math-depth',\n 'math-shift',\n 'math-style',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'mix-blend-mode',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-anchor',\n 'overflow-block',\n 'overflow-clip-margin',\n 'overflow-inline',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'overlay',\n 'overscroll-behavior',\n 'overscroll-behavior-block',\n 'overscroll-behavior-inline',\n 'overscroll-behavior-x',\n 'overscroll-behavior-y',\n 'padding',\n 'padding-block',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'paint-order',\n 'pause',\n 'pause-after',\n 'pause-before',\n 'perspective',\n 'perspective-origin',\n 'place-content',\n 'place-items',\n 'place-self',\n 'pointer-events',\n 'position',\n 'position-anchor',\n 'position-visibility',\n 'print-color-adjust',\n 'quotes',\n 'r',\n 'resize',\n 'rest',\n 'rest-after',\n 'rest-before',\n 'right',\n 'rotate',\n 'row-gap',\n 'ruby-align',\n 'ruby-position',\n 'scale',\n 'scroll-behavior',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-align',\n 'scroll-snap-stop',\n 'scroll-snap-type',\n 'scroll-timeline',\n 'scroll-timeline-axis',\n 'scroll-timeline-name',\n 'scrollbar-color',\n 'scrollbar-gutter',\n 'scrollbar-width',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'shape-rendering',\n 'speak',\n 'speak-as',\n 'src', // @font-face\n 'stop-color',\n 'stop-opacity',\n 'stroke',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'tab-size',\n 'table-layout',\n 'text-align',\n 'text-align-all',\n 'text-align-last',\n 'text-anchor',\n 'text-combine-upright',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-skip',\n 'text-decoration-skip-ink',\n 'text-decoration-style',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-emphasis-position',\n 'text-emphasis-style',\n 'text-indent',\n 'text-justify',\n 'text-orientation',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-size-adjust',\n 'text-transform',\n 'text-underline-offset',\n 'text-underline-position',\n 'text-wrap',\n 'text-wrap-mode',\n 'text-wrap-style',\n 'timeline-scope',\n 'top',\n 'touch-action',\n 'transform',\n 'transform-box',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-behavior',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'translate',\n 'unicode-bidi',\n 'user-modify',\n 'user-select',\n 'vector-effect',\n 'vertical-align',\n 'view-timeline',\n 'view-timeline-axis',\n 'view-timeline-inset',\n 'view-timeline-name',\n 'view-transition-name',\n 'visibility',\n 'voice-balance',\n 'voice-duration',\n 'voice-family',\n 'voice-pitch',\n 'voice-range',\n 'voice-rate',\n 'voice-stress',\n 'voice-volume',\n 'white-space',\n 'white-space-collapse',\n 'widows',\n 'width',\n 'will-change',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'writing-mode',\n 'x',\n 'y',\n 'z-index',\n 'zoom'\n].sort().reverse();\n\n// some grammars use them all as a single group\nconst PSEUDO_SELECTORS = PSEUDO_CLASSES.concat(PSEUDO_ELEMENTS).sort().reverse();\n\n/*\nLanguage: Less\nDescription: It's CSS, with just a little more.\nAuthor: Max Mikhailov \nWebsite: http://lesscss.org\nCategory: common, css, web\n*/\n\n\n/** @type LanguageFn */\nfunction less(hljs) {\n const modes = MODES(hljs);\n const PSEUDO_SELECTORS$1 = PSEUDO_SELECTORS;\n\n const AT_MODIFIERS = \"and or not only\";\n const IDENT_RE = '[\\\\w-]+'; // yes, Less identifiers may begin with a digit\n const INTERP_IDENT_RE = '(' + IDENT_RE + '|@\\\\{' + IDENT_RE + '\\\\})';\n\n /* Generic Modes */\n\n const RULES = []; const VALUE_MODES = []; // forward def. for recursive modes\n\n const STRING_MODE = function(c) {\n return {\n // Less strings are not multiline (also include '~' for more consistent coloring of \"escaped\" strings)\n className: 'string',\n begin: '~?' + c + '.*?' + c\n };\n };\n\n const IDENT_MODE = function(name, begin, relevance) {\n return {\n className: name,\n begin: begin,\n relevance: relevance\n };\n };\n\n const AT_KEYWORDS = {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n };\n\n const PARENS_MODE = {\n // used only to properly balance nested parens inside mixin call, def. arg list\n begin: '\\\\(',\n end: '\\\\)',\n contains: VALUE_MODES,\n keywords: AT_KEYWORDS,\n relevance: 0\n };\n\n // generic Less highlighter (used almost everywhere except selectors):\n VALUE_MODES.push(\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING_MODE(\"'\"),\n STRING_MODE('\"'),\n modes.CSS_NUMBER_MODE, // fixme: it does not include dot for numbers like .5em :(\n {\n begin: '(url|data-uri)\\\\(',\n starts: {\n className: 'string',\n end: '[\\\\)\\\\n]',\n excludeEnd: true\n }\n },\n modes.HEXCOLOR,\n PARENS_MODE,\n IDENT_MODE('variable', '@@?' + IDENT_RE, 10),\n IDENT_MODE('variable', '@\\\\{' + IDENT_RE + '\\\\}'),\n IDENT_MODE('built_in', '~?`[^`]*?`'), // inline javascript (or whatever host language) *multiline* string\n { // @media features (it’s here to not duplicate things in AT_RULE_MODE with extra PARENS_MODE overriding):\n className: 'attribute',\n begin: IDENT_RE + '\\\\s*:',\n end: ':',\n returnBegin: true,\n excludeEnd: true\n },\n modes.IMPORTANT,\n { beginKeywords: 'and not' },\n modes.FUNCTION_DISPATCH\n );\n\n const VALUE_WITH_RULESETS = VALUE_MODES.concat({\n begin: /\\{/,\n end: /\\}/,\n contains: RULES\n });\n\n const MIXIN_GUARD_MODE = {\n beginKeywords: 'when',\n endsWithParent: true,\n contains: [ { beginKeywords: 'and not' } ].concat(VALUE_MODES) // using this form to override VALUE’s 'function' match\n };\n\n /* Rule-Level Modes */\n\n const RULE_MODE = {\n begin: INTERP_IDENT_RE + '\\\\s*:',\n returnBegin: true,\n end: /[;}]/,\n relevance: 0,\n contains: [\n { begin: /-(webkit|moz|ms|o)-/ },\n modes.CSS_VARIABLE,\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b',\n end: /(?=:)/,\n starts: {\n endsWithParent: true,\n illegal: '[<=$]',\n relevance: 0,\n contains: VALUE_MODES\n }\n }\n ]\n };\n\n const AT_RULE_MODE = {\n className: 'keyword',\n begin: '@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\\\b',\n starts: {\n end: '[;{}]',\n keywords: AT_KEYWORDS,\n returnEnd: true,\n contains: VALUE_MODES,\n relevance: 0\n }\n };\n\n // variable definitions and calls\n const VAR_RULE_MODE = {\n className: 'variable',\n variants: [\n // using more strict pattern for higher relevance to increase chances of Less detection.\n // this is *the only* Less specific statement used in most of the sources, so...\n // (we’ll still often loose to the css-parser unless there's '//' comment,\n // simply because 1 variable just can't beat 99 properties :)\n {\n begin: '@' + IDENT_RE + '\\\\s*:',\n relevance: 15\n },\n { begin: '@' + IDENT_RE }\n ],\n starts: {\n end: '[;}]',\n returnEnd: true,\n contains: VALUE_WITH_RULESETS\n }\n };\n\n const SELECTOR_MODE = {\n // first parse unambiguous selectors (i.e. those not starting with tag)\n // then fall into the scary lookahead-discriminator variant.\n // this mode also handles mixin definitions and calls\n variants: [\n {\n begin: '[\\\\.#:&\\\\[>]',\n end: '[;{}]' // mixin calls end with ';'\n },\n {\n begin: INTERP_IDENT_RE,\n end: /\\{/\n }\n ],\n returnBegin: true,\n returnEnd: true,\n illegal: '[<=\\'$\"]',\n relevance: 0,\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n MIXIN_GUARD_MODE,\n IDENT_MODE('keyword', 'all\\\\b'),\n IDENT_MODE('variable', '@\\\\{' + IDENT_RE + '\\\\}'), // otherwise it’s identified as tag\n \n {\n begin: '\\\\b(' + TAGS.join('|') + ')\\\\b',\n className: 'selector-tag'\n },\n modes.CSS_NUMBER_MODE,\n IDENT_MODE('selector-tag', INTERP_IDENT_RE, 0),\n IDENT_MODE('selector-id', '#' + INTERP_IDENT_RE),\n IDENT_MODE('selector-class', '\\\\.' + INTERP_IDENT_RE, 0),\n IDENT_MODE('selector-tag', '&', 0),\n modes.ATTRIBUTE_SELECTOR_MODE,\n {\n className: 'selector-pseudo',\n begin: ':(' + PSEUDO_CLASSES.join('|') + ')'\n },\n {\n className: 'selector-pseudo',\n begin: ':(:)?(' + PSEUDO_ELEMENTS.join('|') + ')'\n },\n {\n begin: /\\(/,\n end: /\\)/,\n relevance: 0,\n contains: VALUE_WITH_RULESETS\n }, // argument list of parametric mixins\n { begin: '!important' }, // eat !important after mixin call or it will be colored as tag\n modes.FUNCTION_DISPATCH\n ]\n };\n\n const PSEUDO_SELECTOR_MODE = {\n begin: IDENT_RE + ':(:)?' + `(${PSEUDO_SELECTORS$1.join('|')})`,\n returnBegin: true,\n contains: [ SELECTOR_MODE ]\n };\n\n RULES.push(\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n AT_RULE_MODE,\n VAR_RULE_MODE,\n PSEUDO_SELECTOR_MODE,\n RULE_MODE,\n SELECTOR_MODE,\n MIXIN_GUARD_MODE,\n modes.FUNCTION_DISPATCH\n );\n\n return {\n name: 'Less',\n case_insensitive: true,\n illegal: '[=>\\'/<($\"]',\n contains: RULES\n };\n}\n\nexport { less as default };\n","/*\nLanguage: Lua\nDescription: Lua is a powerful, efficient, lightweight, embeddable scripting language.\nAuthor: Andrew Fedorov \nCategory: common, gaming, scripting\nWebsite: https://www.lua.org\n*/\n\nfunction lua(hljs) {\n const OPENING_LONG_BRACKET = '\\\\[=*\\\\[';\n const CLOSING_LONG_BRACKET = '\\\\]=*\\\\]';\n const LONG_BRACKETS = {\n begin: OPENING_LONG_BRACKET,\n end: CLOSING_LONG_BRACKET,\n contains: [ 'self' ]\n };\n const COMMENTS = [\n hljs.COMMENT('--(?!' + OPENING_LONG_BRACKET + ')', '$'),\n hljs.COMMENT(\n '--' + OPENING_LONG_BRACKET,\n CLOSING_LONG_BRACKET,\n {\n contains: [ LONG_BRACKETS ],\n relevance: 10\n }\n )\n ];\n return {\n name: 'Lua',\n aliases: ['pluto'],\n keywords: {\n $pattern: hljs.UNDERSCORE_IDENT_RE,\n literal: \"true false nil\",\n keyword: \"and break do else elseif end for goto if in local not or repeat return then until while\",\n built_in:\n // Metatags and globals:\n '_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len '\n + '__gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert '\n // Standard methods and properties:\n + 'collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring '\n + 'module next pairs pcall print rawequal rawget rawset require select setfenv '\n + 'setmetatable tonumber tostring type unpack xpcall arg self '\n // Library methods and properties (one line per library):\n + 'coroutine resume yield status wrap create running debug getupvalue '\n + 'debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv '\n + 'io lines write close flush open output type read stderr stdin input stdout popen tmpfile '\n + 'math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan '\n + 'os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall '\n + 'string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower '\n + 'table setn insert getn foreachi maxn foreach concat sort remove'\n },\n contains: COMMENTS.concat([\n {\n className: 'function',\n beginKeywords: 'function',\n end: '\\\\)',\n contains: [\n hljs.inherit(hljs.TITLE_MODE, { begin: '([_a-zA-Z]\\\\w*\\\\.)*([_a-zA-Z]\\\\w*:)?[_a-zA-Z]\\\\w*' }),\n {\n className: 'params',\n begin: '\\\\(',\n endsWithParent: true,\n contains: COMMENTS\n }\n ].concat(COMMENTS)\n },\n hljs.C_NUMBER_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n {\n className: 'string',\n begin: OPENING_LONG_BRACKET,\n end: CLOSING_LONG_BRACKET,\n contains: [ LONG_BRACKETS ],\n relevance: 5\n }\n ])\n };\n}\n\nexport { lua as default };\n","/*\nLanguage: Makefile\nAuthor: Ivan Sagalaev \nContributors: Joël Porquet \nWebsite: https://www.gnu.org/software/make/manual/html_node/Introduction.html\nCategory: common, build-system\n*/\n\nfunction makefile(hljs) {\n /* Variables: simple (eg $(var)) and special (eg $@) */\n const VARIABLE = {\n className: 'variable',\n variants: [\n {\n begin: '\\\\$\\\\(' + hljs.UNDERSCORE_IDENT_RE + '\\\\)',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n { begin: /\\$[@%\nWebsite: https://daringfireball.net/projects/markdown/\nCategory: common, markup\n*/\n\nfunction markdown(hljs) {\n const regex = hljs.regex;\n const INLINE_HTML = {\n begin: /<\\/?[A-Za-z_]/,\n end: '>',\n subLanguage: 'xml',\n relevance: 0\n };\n const HORIZONTAL_RULE = {\n begin: '^[-\\\\*]{3,}',\n end: '$'\n };\n const CODE = {\n className: 'code',\n variants: [\n // TODO: fix to allow these to work with sublanguage also\n { begin: '(`{3,})[^`](.|\\\\n)*?\\\\1`*[ ]*' },\n { begin: '(~{3,})[^~](.|\\\\n)*?\\\\1~*[ ]*' },\n // needed to allow markdown as a sublanguage to work\n {\n begin: '```',\n end: '```+[ ]*$'\n },\n {\n begin: '~~~',\n end: '~~~+[ ]*$'\n },\n { begin: '`.+?`' },\n {\n begin: '(?=^( {4}|\\\\t))',\n // use contains to gobble up multiple lines to allow the block to be whatever size\n // but only have a single open/close tag vs one per line\n contains: [\n {\n begin: '^( {4}|\\\\t)',\n end: '(\\\\n)$'\n }\n ],\n relevance: 0\n }\n ]\n };\n const LIST = {\n className: 'bullet',\n begin: '^[ \\t]*([*+-]|(\\\\d+\\\\.))(?=\\\\s+)',\n end: '\\\\s+',\n excludeEnd: true\n };\n const LINK_REFERENCE = {\n begin: /^\\[[^\\n]+\\]:/,\n returnBegin: true,\n contains: [\n {\n className: 'symbol',\n begin: /\\[/,\n end: /\\]/,\n excludeBegin: true,\n excludeEnd: true\n },\n {\n className: 'link',\n begin: /:\\s*/,\n end: /$/,\n excludeBegin: true\n }\n ]\n };\n const URL_SCHEME = /[A-Za-z][A-Za-z0-9+.-]*/;\n const LINK = {\n variants: [\n // too much like nested array access in so many languages\n // to have any real relevance\n {\n begin: /\\[.+?\\]\\[.*?\\]/,\n relevance: 0\n },\n // popular internet URLs\n {\n begin: /\\[.+?\\]\\(((data|javascript|mailto):|(?:http|ftp)s?:\\/\\/).*?\\)/,\n relevance: 2\n },\n {\n begin: regex.concat(/\\[.+?\\]\\(/, URL_SCHEME, /:\\/\\/.*?\\)/),\n relevance: 2\n },\n // relative urls\n {\n begin: /\\[.+?\\]\\([./?&#].*?\\)/,\n relevance: 1\n },\n // whatever else, lower relevance (might not be a link at all)\n {\n begin: /\\[.*?\\]\\(.*?\\)/,\n relevance: 0\n }\n ],\n returnBegin: true,\n contains: [\n {\n // empty strings for alt or link text\n match: /\\[(?=\\])/ },\n {\n className: 'string',\n relevance: 0,\n begin: '\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n returnEnd: true\n },\n {\n className: 'link',\n relevance: 0,\n begin: '\\\\]\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true\n },\n {\n className: 'symbol',\n relevance: 0,\n begin: '\\\\]\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n excludeEnd: true\n }\n ]\n };\n const BOLD = {\n className: 'strong',\n contains: [], // defined later\n variants: [\n {\n begin: /_{2}(?!\\s)/,\n end: /_{2}/\n },\n {\n begin: /\\*{2}(?!\\s)/,\n end: /\\*{2}/\n }\n ]\n };\n const ITALIC = {\n className: 'emphasis',\n contains: [], // defined later\n variants: [\n {\n begin: /\\*(?![*\\s])/,\n end: /\\*/\n },\n {\n begin: /_(?![_\\s])/,\n end: /_/,\n relevance: 0\n }\n ]\n };\n\n // 3 level deep nesting is not allowed because it would create confusion\n // in cases like `***testing***` because where we don't know if the last\n // `***` is starting a new bold/italic or finishing the last one\n const BOLD_WITHOUT_ITALIC = hljs.inherit(BOLD, { contains: [] });\n const ITALIC_WITHOUT_BOLD = hljs.inherit(ITALIC, { contains: [] });\n BOLD.contains.push(ITALIC_WITHOUT_BOLD);\n ITALIC.contains.push(BOLD_WITHOUT_ITALIC);\n\n let CONTAINABLE = [\n INLINE_HTML,\n LINK\n ];\n\n [\n BOLD,\n ITALIC,\n BOLD_WITHOUT_ITALIC,\n ITALIC_WITHOUT_BOLD\n ].forEach(m => {\n m.contains = m.contains.concat(CONTAINABLE);\n });\n\n CONTAINABLE = CONTAINABLE.concat(BOLD, ITALIC);\n\n const HEADER = {\n className: 'section',\n variants: [\n {\n begin: '^#{1,6}',\n end: '$',\n contains: CONTAINABLE\n },\n {\n begin: '(?=^.+?\\\\n[=-]{2,}$)',\n contains: [\n { begin: '^[=-]*$' },\n {\n begin: '^',\n end: \"\\\\n\",\n contains: CONTAINABLE\n }\n ]\n }\n ]\n };\n\n const BLOCKQUOTE = {\n className: 'quote',\n begin: '^>\\\\s+',\n contains: CONTAINABLE,\n end: '$'\n };\n\n const ENTITY = {\n //https://spec.commonmark.org/0.31.2/#entity-references\n scope: 'literal',\n match: /&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/\n };\n\n return {\n name: 'Markdown',\n aliases: [\n 'md',\n 'mkdown',\n 'mkd'\n ],\n contains: [\n HEADER,\n INLINE_HTML,\n LIST,\n BOLD,\n ITALIC,\n BLOCKQUOTE,\n CODE,\n HORIZONTAL_RULE,\n LINK,\n LINK_REFERENCE,\n ENTITY\n ]\n };\n}\n\nexport { markdown as default };\n","/*\nLanguage: Objective-C\nAuthor: Valerii Hiora \nContributors: Angel G. Olloqui , Matt Diephouse , Andrew Farmer , Minh Nguyễn \nWebsite: https://developer.apple.com/documentation/objectivec\nCategory: common\n*/\n\nfunction objectivec(hljs) {\n const API_CLASS = {\n className: 'built_in',\n begin: '\\\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\\\w+'\n };\n const IDENTIFIER_RE = /[a-zA-Z@][a-zA-Z0-9_]*/;\n const TYPES = [\n \"int\",\n \"float\",\n \"char\",\n \"unsigned\",\n \"signed\",\n \"short\",\n \"long\",\n \"double\",\n \"wchar_t\",\n \"unichar\",\n \"void\",\n \"bool\",\n \"BOOL\",\n \"id|0\",\n \"_Bool\"\n ];\n const KWS = [\n \"while\",\n \"export\",\n \"sizeof\",\n \"typedef\",\n \"const\",\n \"struct\",\n \"for\",\n \"union\",\n \"volatile\",\n \"static\",\n \"mutable\",\n \"if\",\n \"do\",\n \"return\",\n \"goto\",\n \"enum\",\n \"else\",\n \"break\",\n \"extern\",\n \"asm\",\n \"case\",\n \"default\",\n \"register\",\n \"explicit\",\n \"typename\",\n \"switch\",\n \"continue\",\n \"inline\",\n \"readonly\",\n \"assign\",\n \"readwrite\",\n \"self\",\n \"@synchronized\",\n \"id\",\n \"typeof\",\n \"nonatomic\",\n \"IBOutlet\",\n \"IBAction\",\n \"strong\",\n \"weak\",\n \"copy\",\n \"in\",\n \"out\",\n \"inout\",\n \"bycopy\",\n \"byref\",\n \"oneway\",\n \"__strong\",\n \"__weak\",\n \"__block\",\n \"__autoreleasing\",\n \"@private\",\n \"@protected\",\n \"@public\",\n \"@try\",\n \"@property\",\n \"@end\",\n \"@throw\",\n \"@catch\",\n \"@finally\",\n \"@autoreleasepool\",\n \"@synthesize\",\n \"@dynamic\",\n \"@selector\",\n \"@optional\",\n \"@required\",\n \"@encode\",\n \"@package\",\n \"@import\",\n \"@defs\",\n \"@compatibility_alias\",\n \"__bridge\",\n \"__bridge_transfer\",\n \"__bridge_retained\",\n \"__bridge_retain\",\n \"__covariant\",\n \"__contravariant\",\n \"__kindof\",\n \"_Nonnull\",\n \"_Nullable\",\n \"_Null_unspecified\",\n \"__FUNCTION__\",\n \"__PRETTY_FUNCTION__\",\n \"__attribute__\",\n \"getter\",\n \"setter\",\n \"retain\",\n \"unsafe_unretained\",\n \"nonnull\",\n \"nullable\",\n \"null_unspecified\",\n \"null_resettable\",\n \"class\",\n \"instancetype\",\n \"NS_DESIGNATED_INITIALIZER\",\n \"NS_UNAVAILABLE\",\n \"NS_REQUIRES_SUPER\",\n \"NS_RETURNS_INNER_POINTER\",\n \"NS_INLINE\",\n \"NS_AVAILABLE\",\n \"NS_DEPRECATED\",\n \"NS_ENUM\",\n \"NS_OPTIONS\",\n \"NS_SWIFT_UNAVAILABLE\",\n \"NS_ASSUME_NONNULL_BEGIN\",\n \"NS_ASSUME_NONNULL_END\",\n \"NS_REFINED_FOR_SWIFT\",\n \"NS_SWIFT_NAME\",\n \"NS_SWIFT_NOTHROW\",\n \"NS_DURING\",\n \"NS_HANDLER\",\n \"NS_ENDHANDLER\",\n \"NS_VALUERETURN\",\n \"NS_VOIDRETURN\"\n ];\n const LITERALS = [\n \"false\",\n \"true\",\n \"FALSE\",\n \"TRUE\",\n \"nil\",\n \"YES\",\n \"NO\",\n \"NULL\"\n ];\n const BUILT_INS = [\n \"dispatch_once_t\",\n \"dispatch_queue_t\",\n \"dispatch_sync\",\n \"dispatch_async\",\n \"dispatch_once\"\n ];\n const KEYWORDS = {\n \"variable.language\": [\n \"this\",\n \"super\"\n ],\n $pattern: IDENTIFIER_RE,\n keyword: KWS,\n literal: LITERALS,\n built_in: BUILT_INS,\n type: TYPES\n };\n const CLASS_KEYWORDS = {\n $pattern: IDENTIFIER_RE,\n keyword: [\n \"@interface\",\n \"@class\",\n \"@protocol\",\n \"@implementation\"\n ]\n };\n return {\n name: 'Objective-C',\n aliases: [\n 'mm',\n 'objc',\n 'obj-c',\n 'obj-c++',\n 'objective-c++'\n ],\n keywords: KEYWORDS,\n illegal: '/,\n end: /$/,\n illegal: '\\\\n'\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n className: 'class',\n begin: '(' + CLASS_KEYWORDS.keyword.join('|') + ')\\\\b',\n end: /(\\{|$)/,\n excludeEnd: true,\n keywords: CLASS_KEYWORDS,\n contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n },\n {\n begin: '\\\\.' + hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n }\n ]\n };\n}\n\nexport { objectivec as default };\n","/*\nLanguage: Perl\nAuthor: Peter Leonov \nWebsite: https://www.perl.org\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction perl(hljs) {\n const regex = hljs.regex;\n const KEYWORDS = [\n 'abs',\n 'accept',\n 'alarm',\n 'and',\n 'atan2',\n 'bind',\n 'binmode',\n 'bless',\n 'break',\n 'caller',\n 'chdir',\n 'chmod',\n 'chomp',\n 'chop',\n 'chown',\n 'chr',\n 'chroot',\n 'class',\n 'close',\n 'closedir',\n 'connect',\n 'continue',\n 'cos',\n 'crypt',\n 'dbmclose',\n 'dbmopen',\n 'defined',\n 'delete',\n 'die',\n 'do',\n 'dump',\n 'each',\n 'else',\n 'elsif',\n 'endgrent',\n 'endhostent',\n 'endnetent',\n 'endprotoent',\n 'endpwent',\n 'endservent',\n 'eof',\n 'eval',\n 'exec',\n 'exists',\n 'exit',\n 'exp',\n 'fcntl',\n 'field',\n 'fileno',\n 'flock',\n 'for',\n 'foreach',\n 'fork',\n 'format',\n 'formline',\n 'getc',\n 'getgrent',\n 'getgrgid',\n 'getgrnam',\n 'gethostbyaddr',\n 'gethostbyname',\n 'gethostent',\n 'getlogin',\n 'getnetbyaddr',\n 'getnetbyname',\n 'getnetent',\n 'getpeername',\n 'getpgrp',\n 'getpriority',\n 'getprotobyname',\n 'getprotobynumber',\n 'getprotoent',\n 'getpwent',\n 'getpwnam',\n 'getpwuid',\n 'getservbyname',\n 'getservbyport',\n 'getservent',\n 'getsockname',\n 'getsockopt',\n 'given',\n 'glob',\n 'gmtime',\n 'goto',\n 'grep',\n 'gt',\n 'hex',\n 'if',\n 'index',\n 'int',\n 'ioctl',\n 'join',\n 'keys',\n 'kill',\n 'last',\n 'lc',\n 'lcfirst',\n 'length',\n 'link',\n 'listen',\n 'local',\n 'localtime',\n 'log',\n 'lstat',\n 'lt',\n 'ma',\n 'map',\n 'method',\n 'mkdir',\n 'msgctl',\n 'msgget',\n 'msgrcv',\n 'msgsnd',\n 'my',\n 'ne',\n 'next',\n 'no',\n 'not',\n 'oct',\n 'open',\n 'opendir',\n 'or',\n 'ord',\n 'our',\n 'pack',\n 'package',\n 'pipe',\n 'pop',\n 'pos',\n 'print',\n 'printf',\n 'prototype',\n 'push',\n 'q|0',\n 'qq',\n 'quotemeta',\n 'qw',\n 'qx',\n 'rand',\n 'read',\n 'readdir',\n 'readline',\n 'readlink',\n 'readpipe',\n 'recv',\n 'redo',\n 'ref',\n 'rename',\n 'require',\n 'reset',\n 'return',\n 'reverse',\n 'rewinddir',\n 'rindex',\n 'rmdir',\n 'say',\n 'scalar',\n 'seek',\n 'seekdir',\n 'select',\n 'semctl',\n 'semget',\n 'semop',\n 'send',\n 'setgrent',\n 'sethostent',\n 'setnetent',\n 'setpgrp',\n 'setpriority',\n 'setprotoent',\n 'setpwent',\n 'setservent',\n 'setsockopt',\n 'shift',\n 'shmctl',\n 'shmget',\n 'shmread',\n 'shmwrite',\n 'shutdown',\n 'sin',\n 'sleep',\n 'socket',\n 'socketpair',\n 'sort',\n 'splice',\n 'split',\n 'sprintf',\n 'sqrt',\n 'srand',\n 'stat',\n 'state',\n 'study',\n 'sub',\n 'substr',\n 'symlink',\n 'syscall',\n 'sysopen',\n 'sysread',\n 'sysseek',\n 'system',\n 'syswrite',\n 'tell',\n 'telldir',\n 'tie',\n 'tied',\n 'time',\n 'times',\n 'tr',\n 'truncate',\n 'uc',\n 'ucfirst',\n 'umask',\n 'undef',\n 'unless',\n 'unlink',\n 'unpack',\n 'unshift',\n 'untie',\n 'until',\n 'use',\n 'utime',\n 'values',\n 'vec',\n 'wait',\n 'waitpid',\n 'wantarray',\n 'warn',\n 'when',\n 'while',\n 'write',\n 'x|0',\n 'xor',\n 'y|0'\n ];\n\n // https://perldoc.perl.org/perlre#Modifiers\n const REGEX_MODIFIERS = /[dualxmsipngr]{0,12}/; // aa and xx are valid, making max length 12\n const PERL_KEYWORDS = {\n $pattern: /[\\w.]+/,\n keyword: KEYWORDS.join(\" \")\n };\n const SUBST = {\n className: 'subst',\n begin: '[$@]\\\\{',\n end: '\\\\}',\n keywords: PERL_KEYWORDS\n };\n const METHOD = {\n begin: /->\\{/,\n end: /\\}/\n // contains defined later\n };\n const ATTR = {\n scope: 'attr',\n match: /\\s+:\\s*\\w+(\\s*\\(.*?\\))?/,\n };\n const VAR = {\n scope: 'variable',\n variants: [\n { begin: /\\$\\d/ },\n { begin: regex.concat(\n /[$%@](?!\")(\\^\\w\\b|#\\w+(::\\w+)*|\\{\\w+\\}|\\w+(::\\w*)*)/,\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n `(?![A-Za-z])(?![@$%])`\n )\n },\n {\n // Only $= is a special Perl variable and one can't declare @= or %=.\n begin: /[$%@](?!\")[^\\s\\w{=]|\\$=/,\n relevance: 0\n }\n ],\n contains: [ ATTR ],\n };\n const NUMBER = {\n className: 'number',\n variants: [\n // decimal numbers:\n // include the case where a number starts with a dot (eg. .9), and\n // the leading 0? avoids mixing the first and second match on 0.x cases\n { match: /0?\\.[0-9][0-9_]+\\b/ },\n // include the special versioned number (eg. v5.38)\n { match: /\\bv?(0|[1-9][0-9_]*(\\.[0-9_]+)?|[1-9][0-9_]*)\\b/ },\n // non-decimal numbers:\n { match: /\\b0[0-7][0-7_]*\\b/ },\n { match: /\\b0x[0-9a-fA-F][0-9a-fA-F_]*\\b/ },\n { match: /\\b0b[0-1][0-1_]*\\b/ },\n ],\n relevance: 0\n };\n const STRING_CONTAINS = [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n VAR\n ];\n const REGEX_DELIMS = [\n /!/,\n /\\//,\n /\\|/,\n /\\?/,\n /'/,\n /\"/, // valid but infrequent and weird\n /#/ // valid but infrequent and weird\n ];\n /**\n * @param {string|RegExp} prefix\n * @param {string|RegExp} open\n * @param {string|RegExp} close\n */\n const PAIRED_DOUBLE_RE = (prefix, open, close = '\\\\1') => {\n const middle = (close === '\\\\1')\n ? close\n : regex.concat(close, open);\n return regex.concat(\n regex.concat(\"(?:\", prefix, \")\"),\n open,\n /(?:\\\\.|[^\\\\\\/])*?/,\n middle,\n /(?:\\\\.|[^\\\\\\/])*?/,\n close,\n REGEX_MODIFIERS\n );\n };\n /**\n * @param {string|RegExp} prefix\n * @param {string|RegExp} open\n * @param {string|RegExp} close\n */\n const PAIRED_RE = (prefix, open, close) => {\n return regex.concat(\n regex.concat(\"(?:\", prefix, \")\"),\n open,\n /(?:\\\\.|[^\\\\\\/])*?/,\n close,\n REGEX_MODIFIERS\n );\n };\n const PERL_DEFAULT_CONTAINS = [\n VAR,\n hljs.HASH_COMMENT_MODE,\n hljs.COMMENT(\n /^=\\w/,\n /=cut/,\n { endsWithParent: true }\n ),\n METHOD,\n {\n className: 'string',\n contains: STRING_CONTAINS,\n variants: [\n {\n begin: 'q[qwxr]?\\\\s*\\\\(',\n end: '\\\\)',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*\\\\[',\n end: '\\\\]',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*\\\\{',\n end: '\\\\}',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*\\\\|',\n end: '\\\\|',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*<',\n end: '>',\n relevance: 5\n },\n {\n begin: 'qw\\\\s+q',\n end: 'q',\n relevance: 5\n },\n {\n begin: '\\'',\n end: '\\'',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '\"',\n end: '\"'\n },\n {\n begin: '`',\n end: '`',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: /\\{\\w+\\}/,\n relevance: 0\n },\n {\n begin: '-?\\\\w+\\\\s*=>',\n relevance: 0\n }\n ]\n },\n NUMBER,\n { // regexp container\n begin: '(\\\\/\\\\/|' + hljs.RE_STARTERS_RE + '|\\\\b(split|return|print|reverse|grep)\\\\b)\\\\s*',\n keywords: 'split return print reverse grep',\n relevance: 0,\n contains: [\n hljs.HASH_COMMENT_MODE,\n {\n className: 'regexp',\n variants: [\n // allow matching common delimiters\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", regex.either(...REGEX_DELIMS, { capture: true })) },\n // and then paired delmis\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\(\", \"\\\\)\") },\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\[\", \"\\\\]\") },\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\{\", \"\\\\}\") }\n ],\n relevance: 2\n },\n {\n className: 'regexp',\n variants: [\n {\n // could be a comment in many languages so do not count\n // as relevant\n begin: /(m|qr)\\/\\//,\n relevance: 0\n },\n // prefix is optional with /regex/\n { begin: PAIRED_RE(\"(?:m|qr)?\", /\\//, /\\//) },\n // allow matching common delimiters\n { begin: PAIRED_RE(\"m|qr\", regex.either(...REGEX_DELIMS, { capture: true }), /\\1/) },\n // allow common paired delmins\n { begin: PAIRED_RE(\"m|qr\", /\\(/, /\\)/) },\n { begin: PAIRED_RE(\"m|qr\", /\\[/, /\\]/) },\n { begin: PAIRED_RE(\"m|qr\", /\\{/, /\\}/) }\n ]\n }\n ]\n },\n {\n className: 'function',\n beginKeywords: 'sub method',\n end: '(\\\\s*\\\\(.*?\\\\))?[;{]',\n excludeEnd: true,\n relevance: 5,\n contains: [ hljs.TITLE_MODE, ATTR ]\n },\n {\n className: 'class',\n beginKeywords: 'class',\n end: '[;{]',\n excludeEnd: true,\n relevance: 5,\n contains: [ hljs.TITLE_MODE, ATTR, NUMBER ]\n },\n {\n begin: '-\\\\w\\\\b',\n relevance: 0\n },\n {\n begin: \"^__DATA__$\",\n end: \"^__END__$\",\n subLanguage: 'mojolicious',\n contains: [\n {\n begin: \"^@@.*\",\n end: \"$\",\n className: \"comment\"\n }\n ]\n }\n ];\n SUBST.contains = PERL_DEFAULT_CONTAINS;\n METHOD.contains = PERL_DEFAULT_CONTAINS;\n\n return {\n name: 'Perl',\n aliases: [\n 'pl',\n 'pm'\n ],\n keywords: PERL_KEYWORDS,\n contains: PERL_DEFAULT_CONTAINS\n };\n}\n\nexport { perl as default };\n","/*\nLanguage: PHP\nAuthor: Victor Karamzin \nContributors: Evgeny Stepanischev , Ivan Sagalaev \nWebsite: https://www.php.net\nCategory: common\n*/\n\n/**\n * @param {HLJSApi} hljs\n * @returns {LanguageDetail}\n * */\nfunction php(hljs) {\n const regex = hljs.regex;\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n const NOT_PERL_ETC = /(?![A-Za-z0-9])(?![$])/;\n const IDENT_RE = regex.concat(\n /[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/,\n NOT_PERL_ETC);\n // Will not detect camelCase classes\n const PASCAL_CASE_CLASS_NAME_RE = regex.concat(\n /(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}/,\n NOT_PERL_ETC);\n const UPCASE_NAME_RE = regex.concat(\n /[A-Z]+/,\n NOT_PERL_ETC);\n const VARIABLE = {\n scope: 'variable',\n match: '\\\\$+' + IDENT_RE,\n };\n const PREPROCESSOR = {\n scope: \"meta\",\n variants: [\n { begin: /<\\?php/, relevance: 10 }, // boost for obvious PHP\n { begin: /<\\?=/ },\n // less relevant per PSR-1 which says not to use short-tags\n { begin: /<\\?/, relevance: 0.1 },\n { begin: /\\?>/ } // end php tag\n ]\n };\n const SUBST = {\n scope: 'subst',\n variants: [\n { begin: /\\$\\w+/ },\n {\n begin: /\\{\\$/,\n end: /\\}/\n }\n ]\n };\n const SINGLE_QUOTED = hljs.inherit(hljs.APOS_STRING_MODE, { illegal: null, });\n const DOUBLE_QUOTED = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n });\n\n const HEREDOC = {\n begin: /<<<[ \\t]*(?:(\\w+)|\"(\\w+)\")\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1] || m[2]; },\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); },\n };\n\n const NOWDOC = hljs.END_SAME_AS_BEGIN({\n begin: /<<<[ \\t]*'(\\w+)'\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n });\n // list of valid whitespaces because non-breaking space might be part of a IDENT_RE\n const WHITESPACE = '[ \\t\\n]';\n const STRING = {\n scope: 'string',\n variants: [\n DOUBLE_QUOTED,\n SINGLE_QUOTED,\n HEREDOC,\n NOWDOC\n ]\n };\n const NUMBER = {\n scope: 'number',\n variants: [\n { begin: `\\\\b0[bB][01]+(?:_[01]+)*\\\\b` }, // Binary w/ underscore support\n { begin: `\\\\b0[oO][0-7]+(?:_[0-7]+)*\\\\b` }, // Octals w/ underscore support\n { begin: `\\\\b0[xX][\\\\da-fA-F]+(?:_[\\\\da-fA-F]+)*\\\\b` }, // Hex w/ underscore support\n // Decimals w/ underscore support, with optional fragments and scientific exponent (e) suffix.\n { begin: `(?:\\\\b\\\\d+(?:_\\\\d+)*(\\\\.(?:\\\\d+(?:_\\\\d+)*))?|\\\\B\\\\.\\\\d+)(?:[eE][+-]?\\\\d+)?` }\n ],\n relevance: 0\n };\n const LITERALS = [\n \"false\",\n \"null\",\n \"true\"\n ];\n const KWS = [\n // Magic constants:\n // \n \"__CLASS__\",\n \"__DIR__\",\n \"__FILE__\",\n \"__FUNCTION__\",\n \"__COMPILER_HALT_OFFSET__\",\n \"__LINE__\",\n \"__METHOD__\",\n \"__NAMESPACE__\",\n \"__TRAIT__\",\n // Function that look like language construct or language construct that look like function:\n // List of keywords that may not require parenthesis\n \"die\",\n \"echo\",\n \"exit\",\n \"include\",\n \"include_once\",\n \"print\",\n \"require\",\n \"require_once\",\n // These are not language construct (function) but operate on the currently-executing function and can access the current symbol table\n // 'compact extract func_get_arg func_get_args func_num_args get_called_class get_parent_class ' +\n // Other keywords:\n // \n // \n \"array\",\n \"abstract\",\n \"and\",\n \"as\",\n \"binary\",\n \"bool\",\n \"boolean\",\n \"break\",\n \"callable\",\n \"case\",\n \"catch\",\n \"class\",\n \"clone\",\n \"const\",\n \"continue\",\n \"declare\",\n \"default\",\n \"do\",\n \"double\",\n \"else\",\n \"elseif\",\n \"empty\",\n \"enddeclare\",\n \"endfor\",\n \"endforeach\",\n \"endif\",\n \"endswitch\",\n \"endwhile\",\n \"enum\",\n \"eval\",\n \"extends\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"foreach\",\n \"from\",\n \"global\",\n \"goto\",\n \"if\",\n \"implements\",\n \"instanceof\",\n \"insteadof\",\n \"int\",\n \"integer\",\n \"interface\",\n \"isset\",\n \"iterable\",\n \"list\",\n \"match|0\",\n \"mixed\",\n \"new\",\n \"never\",\n \"object\",\n \"or\",\n \"private\",\n \"protected\",\n \"public\",\n \"readonly\",\n \"real\",\n \"return\",\n \"string\",\n \"switch\",\n \"throw\",\n \"trait\",\n \"try\",\n \"unset\",\n \"use\",\n \"var\",\n \"void\",\n \"while\",\n \"xor\",\n \"yield\"\n ];\n\n const BUILT_INS = [\n // Standard PHP library:\n // \n \"Error|0\",\n \"AppendIterator\",\n \"ArgumentCountError\",\n \"ArithmeticError\",\n \"ArrayIterator\",\n \"ArrayObject\",\n \"AssertionError\",\n \"BadFunctionCallException\",\n \"BadMethodCallException\",\n \"CachingIterator\",\n \"CallbackFilterIterator\",\n \"CompileError\",\n \"Countable\",\n \"DirectoryIterator\",\n \"DivisionByZeroError\",\n \"DomainException\",\n \"EmptyIterator\",\n \"ErrorException\",\n \"Exception\",\n \"FilesystemIterator\",\n \"FilterIterator\",\n \"GlobIterator\",\n \"InfiniteIterator\",\n \"InvalidArgumentException\",\n \"IteratorIterator\",\n \"LengthException\",\n \"LimitIterator\",\n \"LogicException\",\n \"MultipleIterator\",\n \"NoRewindIterator\",\n \"OutOfBoundsException\",\n \"OutOfRangeException\",\n \"OuterIterator\",\n \"OverflowException\",\n \"ParentIterator\",\n \"ParseError\",\n \"RangeException\",\n \"RecursiveArrayIterator\",\n \"RecursiveCachingIterator\",\n \"RecursiveCallbackFilterIterator\",\n \"RecursiveDirectoryIterator\",\n \"RecursiveFilterIterator\",\n \"RecursiveIterator\",\n \"RecursiveIteratorIterator\",\n \"RecursiveRegexIterator\",\n \"RecursiveTreeIterator\",\n \"RegexIterator\",\n \"RuntimeException\",\n \"SeekableIterator\",\n \"SplDoublyLinkedList\",\n \"SplFileInfo\",\n \"SplFileObject\",\n \"SplFixedArray\",\n \"SplHeap\",\n \"SplMaxHeap\",\n \"SplMinHeap\",\n \"SplObjectStorage\",\n \"SplObserver\",\n \"SplPriorityQueue\",\n \"SplQueue\",\n \"SplStack\",\n \"SplSubject\",\n \"SplTempFileObject\",\n \"TypeError\",\n \"UnderflowException\",\n \"UnexpectedValueException\",\n \"UnhandledMatchError\",\n // Reserved interfaces:\n // \n \"ArrayAccess\",\n \"BackedEnum\",\n \"Closure\",\n \"Fiber\",\n \"Generator\",\n \"Iterator\",\n \"IteratorAggregate\",\n \"Serializable\",\n \"Stringable\",\n \"Throwable\",\n \"Traversable\",\n \"UnitEnum\",\n \"WeakReference\",\n \"WeakMap\",\n // Reserved classes:\n // \n \"Directory\",\n \"__PHP_Incomplete_Class\",\n \"parent\",\n \"php_user_filter\",\n \"self\",\n \"static\",\n \"stdClass\"\n ];\n\n /** Dual-case keywords\n *\n * [\"then\",\"FILE\"] =>\n * [\"then\", \"THEN\", \"FILE\", \"file\"]\n *\n * @param {string[]} items */\n const dualCase = (items) => {\n /** @type string[] */\n const result = [];\n items.forEach(item => {\n result.push(item);\n if (item.toLowerCase() === item) {\n result.push(item.toUpperCase());\n } else {\n result.push(item.toLowerCase());\n }\n });\n return result;\n };\n\n const KEYWORDS = {\n keyword: KWS,\n literal: dualCase(LITERALS),\n built_in: BUILT_INS,\n };\n\n /**\n * @param {string[]} items */\n const normalizeKeywords = (items) => {\n return items.map(item => {\n return item.replace(/\\|\\d+$/, \"\");\n });\n };\n\n const CONSTRUCTOR_CALL = { variants: [\n {\n match: [\n /new/,\n regex.concat(WHITESPACE, \"+\"),\n // to prevent built ins from being confused as the class constructor call\n regex.concat(\"(?!\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n PASCAL_CASE_CLASS_NAME_RE,\n ],\n scope: {\n 1: \"keyword\",\n 4: \"title.class\",\n },\n }\n ] };\n\n const CONSTANT_REFERENCE = regex.concat(IDENT_RE, \"\\\\b(?!\\\\()\");\n\n const LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON = { variants: [\n {\n match: [\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: { 2: \"variable.constant\", },\n },\n {\n match: [\n /::/,\n /class/,\n ],\n scope: { 2: \"variable.language\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.constant\",\n },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n \"::\",\n regex.lookahead(/(?!class\\b)/)\n ),\n ],\n scope: { 1: \"title.class\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n /::/,\n /class/,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.language\",\n },\n }\n ] };\n\n const NAMED_ARGUMENT = {\n scope: 'attr',\n match: regex.concat(IDENT_RE, regex.lookahead(':'), regex.lookahead(/(?!::)/)),\n };\n const PARAMS_MODE = {\n relevance: 0,\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n NAMED_ARGUMENT,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ],\n };\n const FUNCTION_INVOKE = {\n relevance: 0,\n match: [\n /\\b/,\n // to prevent keywords from being confused as the function title\n regex.concat(\"(?!fn\\\\b|function\\\\b|\", normalizeKeywords(KWS).join(\"\\\\b|\"), \"|\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n IDENT_RE,\n regex.concat(WHITESPACE, \"*\"),\n regex.lookahead(/(?=\\()/)\n ],\n scope: { 3: \"title.function.invoke\", },\n contains: [ PARAMS_MODE ]\n };\n PARAMS_MODE.contains.push(FUNCTION_INVOKE);\n\n const ATTRIBUTE_CONTAINS = [\n NAMED_ARGUMENT,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ];\n\n const ATTRIBUTES = {\n begin: regex.concat(/#\\[\\s*\\\\?/,\n regex.either(\n PASCAL_CASE_CLASS_NAME_RE,\n UPCASE_NAME_RE\n )\n ),\n beginScope: \"meta\",\n end: /]/,\n endScope: \"meta\",\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n {\n begin: /\\[/,\n end: /]/,\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n 'self',\n ...ATTRIBUTE_CONTAINS,\n ]\n },\n ...ATTRIBUTE_CONTAINS,\n {\n scope: 'meta',\n variants: [\n { match: PASCAL_CASE_CLASS_NAME_RE },\n { match: UPCASE_NAME_RE }\n ]\n }\n ]\n };\n\n return {\n case_insensitive: false,\n keywords: KEYWORDS,\n contains: [\n ATTRIBUTES,\n hljs.HASH_COMMENT_MODE,\n hljs.COMMENT('//', '$'),\n hljs.COMMENT(\n '/\\\\*',\n '\\\\*/',\n { contains: [\n {\n scope: 'doctag',\n match: '@[A-Za-z]+'\n }\n ] }\n ),\n {\n match: /__halt_compiler\\(\\);/,\n keywords: '__halt_compiler',\n starts: {\n scope: \"comment\",\n end: hljs.MATCH_NOTHING_RE,\n contains: [\n {\n match: /\\?>/,\n scope: \"meta\",\n endsParent: true\n }\n ]\n }\n },\n PREPROCESSOR,\n {\n scope: 'variable.language',\n match: /\\$this\\b/\n },\n VARIABLE,\n FUNCTION_INVOKE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n {\n match: [\n /const/,\n /\\s/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"variable.constant\",\n },\n },\n CONSTRUCTOR_CALL,\n {\n scope: 'function',\n relevance: 0,\n beginKeywords: 'fn function',\n end: /[;{]/,\n excludeEnd: true,\n illegal: '[$%\\\\[]',\n contains: [\n { beginKeywords: 'use', },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n begin: '=>', // No markup, just a relevance booster\n endsParent: true\n },\n {\n scope: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n ATTRIBUTES,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER\n ]\n },\n ]\n },\n {\n scope: 'class',\n variants: [\n {\n beginKeywords: \"enum\",\n illegal: /[($\"]/\n },\n {\n beginKeywords: \"class interface trait\",\n illegal: /[:($\"]/\n }\n ],\n relevance: 0,\n end: /\\{/,\n excludeEnd: true,\n contains: [\n { beginKeywords: 'extends implements' },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n // both use and namespace still use \"old style\" rules (vs multi-match)\n // because the namespace name can include `\\` and we still want each\n // element to be treated as its own *individual* title\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: ';',\n illegal: /[.']/,\n contains: [ hljs.inherit(hljs.UNDERSCORE_TITLE_MODE, { scope: \"title.class\" }) ]\n },\n {\n beginKeywords: 'use',\n relevance: 0,\n end: ';',\n contains: [\n // TODO: title.function vs title.class\n {\n match: /\\b(as|const|function)\\b/,\n scope: \"keyword\"\n },\n // TODO: could be title.class or title.function\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n STRING,\n NUMBER,\n ]\n };\n}\n\nexport { php as default };\n","/*\nLanguage: PHP Template\nRequires: xml.js, php.js\nAuthor: Josh Goebel \nWebsite: https://www.php.net\nCategory: common\n*/\n\nfunction phpTemplate(hljs) {\n return {\n name: \"PHP template\",\n subLanguage: 'xml',\n contains: [\n {\n begin: /<\\?(php|=)?/,\n end: /\\?>/,\n subLanguage: 'php',\n contains: [\n // We don't want the php closing tag ?> to close the PHP block when\n // inside any of the following blocks:\n {\n begin: '/\\\\*',\n end: '\\\\*/',\n skip: true\n },\n {\n begin: 'b\"',\n end: '\"',\n skip: true\n },\n {\n begin: 'b\\'',\n end: '\\'',\n skip: true\n },\n hljs.inherit(hljs.APOS_STRING_MODE, {\n illegal: null,\n className: null,\n contains: null,\n skip: true\n }),\n hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n className: null,\n contains: null,\n skip: true\n })\n ]\n }\n ]\n };\n}\n\nexport { phpTemplate as default };\n","/*\nLanguage: Plain text\nAuthor: Egor Rogov (e.rogov@postgrespro.ru)\nDescription: Plain text without any highlighting.\nCategory: common\n*/\n\nfunction plaintext(hljs) {\n return {\n name: 'Plain text',\n aliases: [\n 'text',\n 'txt'\n ],\n disableAutodetect: true\n };\n}\n\nexport { plaintext as default };\n","/*\nLanguage: Python\nDescription: Python is an interpreted, object-oriented, high-level programming language with dynamic semantics.\nWebsite: https://www.python.org\nCategory: common\n*/\n\nfunction python(hljs) {\n const regex = hljs.regex;\n const IDENT_RE = /[\\p{XID_Start}_]\\p{XID_Continue}*/u;\n const RESERVED_WORDS = [\n 'and',\n 'as',\n 'assert',\n 'async',\n 'await',\n 'break',\n 'case',\n 'class',\n 'continue',\n 'def',\n 'del',\n 'elif',\n 'else',\n 'except',\n 'finally',\n 'for',\n 'from',\n 'global',\n 'if',\n 'import',\n 'in',\n 'is',\n 'lambda',\n 'match',\n 'nonlocal|10',\n 'not',\n 'or',\n 'pass',\n 'raise',\n 'return',\n 'try',\n 'while',\n 'with',\n 'yield'\n ];\n\n const BUILT_INS = [\n '__import__',\n 'abs',\n 'all',\n 'any',\n 'ascii',\n 'bin',\n 'bool',\n 'breakpoint',\n 'bytearray',\n 'bytes',\n 'callable',\n 'chr',\n 'classmethod',\n 'compile',\n 'complex',\n 'delattr',\n 'dict',\n 'dir',\n 'divmod',\n 'enumerate',\n 'eval',\n 'exec',\n 'filter',\n 'float',\n 'format',\n 'frozenset',\n 'getattr',\n 'globals',\n 'hasattr',\n 'hash',\n 'help',\n 'hex',\n 'id',\n 'input',\n 'int',\n 'isinstance',\n 'issubclass',\n 'iter',\n 'len',\n 'list',\n 'locals',\n 'map',\n 'max',\n 'memoryview',\n 'min',\n 'next',\n 'object',\n 'oct',\n 'open',\n 'ord',\n 'pow',\n 'print',\n 'property',\n 'range',\n 'repr',\n 'reversed',\n 'round',\n 'set',\n 'setattr',\n 'slice',\n 'sorted',\n 'staticmethod',\n 'str',\n 'sum',\n 'super',\n 'tuple',\n 'type',\n 'vars',\n 'zip'\n ];\n\n const LITERALS = [\n '__debug__',\n 'Ellipsis',\n 'False',\n 'None',\n 'NotImplemented',\n 'True'\n ];\n\n // https://docs.python.org/3/library/typing.html\n // TODO: Could these be supplemented by a CamelCase matcher in certain\n // contexts, leaving these remaining only for relevance hinting?\n const TYPES = [\n \"Any\",\n \"Callable\",\n \"Coroutine\",\n \"Dict\",\n \"List\",\n \"Literal\",\n \"Generic\",\n \"Optional\",\n \"Sequence\",\n \"Set\",\n \"Tuple\",\n \"Type\",\n \"Union\"\n ];\n\n const KEYWORDS = {\n $pattern: /[A-Za-z]\\w+|__\\w+__/,\n keyword: RESERVED_WORDS,\n built_in: BUILT_INS,\n literal: LITERALS,\n type: TYPES\n };\n\n const PROMPT = {\n className: 'meta',\n begin: /^(>>>|\\.\\.\\.) /\n };\n\n const SUBST = {\n className: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS,\n illegal: /#/\n };\n\n const LITERAL_BRACKET = {\n begin: /\\{\\{/,\n relevance: 0\n };\n\n const STRING = {\n className: 'string',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n {\n begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,\n end: /'''/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT\n ],\n relevance: 10\n },\n {\n begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT\n ],\n relevance: 10\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])'''/,\n end: /'''/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([uU]|[rR])'/,\n end: /'/,\n relevance: 10\n },\n {\n begin: /([uU]|[rR])\"/,\n end: /\"/,\n relevance: 10\n },\n {\n begin: /([bB]|[bB][rR]|[rR][bB])'/,\n end: /'/\n },\n {\n begin: /([bB]|[bB][rR]|[rR][bB])\"/,\n end: /\"/\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])'/,\n end: /'/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n };\n\n // https://docs.python.org/3.9/reference/lexical_analysis.html#numeric-literals\n const digitpart = '[0-9](_?[0-9])*';\n const pointfloat = `(\\\\b(${digitpart}))?\\\\.(${digitpart})|\\\\b(${digitpart})\\\\.`;\n // Whitespace after a number (or any lexical token) is needed only if its absence\n // would change the tokenization\n // https://docs.python.org/3.9/reference/lexical_analysis.html#whitespace-between-tokens\n // We deviate slightly, requiring a word boundary or a keyword\n // to avoid accidentally recognizing *prefixes* (e.g., `0` in `0x41` or `08` or `0__1`)\n const lookahead = `\\\\b|${RESERVED_WORDS.join('|')}`;\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // exponentfloat, pointfloat\n // https://docs.python.org/3.9/reference/lexical_analysis.html#floating-point-literals\n // optionally imaginary\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n // Note: no leading \\b because floats can start with a decimal point\n // and we don't want to mishandle e.g. `fn(.5)`,\n // no trailing \\b for pointfloat because it can end with a decimal point\n // and we don't want to mishandle e.g. `0..hex()`; this should be safe\n // because both MUST contain a decimal point and so cannot be confused with\n // the interior part of an identifier\n {\n begin: `(\\\\b(${digitpart})|(${pointfloat}))[eE][+-]?(${digitpart})[jJ]?(?=${lookahead})`\n },\n {\n begin: `(${pointfloat})[jJ]?`\n },\n\n // decinteger, bininteger, octinteger, hexinteger\n // https://docs.python.org/3.9/reference/lexical_analysis.html#integer-literals\n // optionally \"long\" in Python 2\n // https://docs.python.org/2.7/reference/lexical_analysis.html#integer-and-long-integer-literals\n // decinteger is optionally imaginary\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n {\n begin: `\\\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[bB](_?[01])+[lL]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[oO](_?[0-7])+[lL]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${lookahead})`\n },\n\n // imagnumber (digitpart-based)\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n {\n begin: `\\\\b(${digitpart})[jJ](?=${lookahead})`\n }\n ]\n };\n const COMMENT_TYPE = {\n className: \"comment\",\n begin: regex.lookahead(/# type:/),\n end: /$/,\n keywords: KEYWORDS,\n contains: [\n { // prevent keywords from coloring `type`\n begin: /# type:/\n },\n // comment within a datatype comment includes no keywords\n {\n begin: /#/,\n end: /\\b\\B/,\n endsWithParent: true\n }\n ]\n };\n const PARAMS = {\n className: 'params',\n variants: [\n // Exclude params in functions without params\n {\n className: \"\",\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n PROMPT,\n NUMBER,\n STRING,\n hljs.HASH_COMMENT_MODE\n ]\n }\n ]\n };\n SUBST.contains = [\n STRING,\n NUMBER,\n PROMPT\n ];\n\n return {\n name: 'Python',\n aliases: [\n 'py',\n 'gyp',\n 'ipython'\n ],\n unicodeRegex: true,\n keywords: KEYWORDS,\n illegal: /(<\\/|\\?)|=>/,\n contains: [\n PROMPT,\n NUMBER,\n {\n // very common convention\n scope: 'variable.language',\n match: /\\bself\\b/\n },\n {\n // eat \"if\" prior to string so that it won't accidentally be\n // labeled as an f-string\n beginKeywords: \"if\",\n relevance: 0\n },\n { match: /\\bor\\b/, scope: \"keyword\" },\n STRING,\n COMMENT_TYPE,\n hljs.HASH_COMMENT_MODE,\n {\n match: [\n /\\bdef/, /\\s+/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [ PARAMS ]\n },\n {\n variants: [\n {\n match: [\n /\\bclass/, /\\s+/,\n IDENT_RE, /\\s*/,\n /\\(\\s*/, IDENT_RE,/\\s*\\)/\n ],\n },\n {\n match: [\n /\\bclass/, /\\s+/,\n IDENT_RE\n ],\n }\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 6: \"title.class.inherited\",\n }\n },\n {\n className: 'meta',\n begin: /^[\\t ]*@/,\n end: /(?=#)|$/,\n contains: [\n NUMBER,\n PARAMS,\n STRING\n ]\n }\n ]\n };\n}\n\nexport { python as default };\n","/*\nLanguage: Python REPL\nRequires: python.js\nAuthor: Josh Goebel \nCategory: common\n*/\n\nfunction pythonRepl(hljs) {\n return {\n aliases: [ 'pycon' ],\n contains: [\n {\n className: 'meta.prompt',\n starts: {\n // a space separates the REPL prefix from the actual code\n // this is purely for cleaner HTML output\n end: / |$/,\n starts: {\n end: '$',\n subLanguage: 'python'\n }\n },\n variants: [\n { begin: /^>>>(?=[ ]|$)/ },\n { begin: /^\\.\\.\\.(?=[ ]|$)/ }\n ]\n }\n ]\n };\n}\n\nexport { pythonRepl as default };\n","/*\nLanguage: R\nDescription: R is a free software environment for statistical computing and graphics.\nAuthor: Joe Cheng \nContributors: Konrad Rudolph \nWebsite: https://www.r-project.org\nCategory: common,scientific\n*/\n\n/** @type LanguageFn */\nfunction r(hljs) {\n const regex = hljs.regex;\n // Identifiers in R cannot start with `_`, but they can start with `.` if it\n // is not immediately followed by a digit.\n // R also supports quoted identifiers, which are near-arbitrary sequences\n // delimited by backticks (`…`), which may contain escape sequences. These are\n // handled in a separate mode. See `test/markup/r/names.txt` for examples.\n // FIXME: Support Unicode identifiers.\n const IDENT_RE = /(?:(?:[a-zA-Z]|\\.[._a-zA-Z])[._a-zA-Z0-9]*)|\\.(?!\\d)/;\n const NUMBER_TYPES_RE = regex.either(\n // Special case: only hexadecimal binary powers can contain fractions\n /0[xX][0-9a-fA-F]+\\.[0-9a-fA-F]*[pP][+-]?\\d+i?/,\n // Hexadecimal numbers without fraction and optional binary power\n /0[xX][0-9a-fA-F]+(?:[pP][+-]?\\d+)?[Li]?/,\n // Decimal numbers\n /(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?[Li]?/\n );\n const OPERATORS_RE = /[=!<>:]=|\\|\\||&&|:::?|<-|<<-|->>|->|\\|>|[-+*\\/?!$&|:<=>@^~]|\\*\\*/;\n const PUNCTUATION_RE = regex.either(\n /[()]/,\n /[{}]/,\n /\\[\\[/,\n /[[\\]]/,\n /\\\\/,\n /,/\n );\n\n return {\n name: 'R',\n\n keywords: {\n $pattern: IDENT_RE,\n keyword:\n 'function if in break next repeat else for while',\n literal:\n 'NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 '\n + 'NA_character_|10 NA_complex_|10',\n built_in:\n // Builtin constants\n 'LETTERS letters month.abb month.name pi T F '\n // Primitive functions\n // These are all the functions in `base` that are implemented as a\n // `.Primitive`, minus those functions that are also keywords.\n + 'abs acos acosh all any anyNA Arg as.call as.character '\n + 'as.complex as.double as.environment as.integer as.logical '\n + 'as.null.default as.numeric as.raw asin asinh atan atanh attr '\n + 'attributes baseenv browser c call ceiling class Conj cos cosh '\n + 'cospi cummax cummin cumprod cumsum digamma dim dimnames '\n + 'emptyenv exp expression floor forceAndCall gamma gc.time '\n + 'globalenv Im interactive invisible is.array is.atomic is.call '\n + 'is.character is.complex is.double is.environment is.expression '\n + 'is.finite is.function is.infinite is.integer is.language '\n + 'is.list is.logical is.matrix is.na is.name is.nan is.null '\n + 'is.numeric is.object is.pairlist is.raw is.recursive is.single '\n + 'is.symbol lazyLoadDBfetch length lgamma list log max min '\n + 'missing Mod names nargs nzchar oldClass on.exit pos.to.env '\n + 'proc.time prod quote range Re rep retracemem return round '\n + 'seq_along seq_len seq.int sign signif sin sinh sinpi sqrt '\n + 'standardGeneric substitute sum switch tan tanh tanpi tracemem '\n + 'trigamma trunc unclass untracemem UseMethod xtfrm',\n },\n\n contains: [\n // Roxygen comments\n hljs.COMMENT(\n /#'/,\n /$/,\n { contains: [\n {\n // Handle `@examples` separately to cause all subsequent code\n // until the next `@`-tag on its own line to be kept as-is,\n // preventing highlighting. This code is example R code, so nested\n // doctags shouldn’t be treated as such. See\n // `test/markup/r/roxygen.txt` for an example.\n scope: 'doctag',\n match: /@examples/,\n starts: {\n end: regex.lookahead(regex.either(\n // end if another doc comment\n /\\n^#'\\s*(?=@[a-zA-Z]+)/,\n // or a line with no comment\n /\\n^(?!#')/\n )),\n endsParent: true\n }\n },\n {\n // Handle `@param` to highlight the parameter name following\n // after.\n scope: 'doctag',\n begin: '@param',\n end: /$/,\n contains: [\n {\n scope: 'variable',\n variants: [\n { match: IDENT_RE },\n { match: /`(?:\\\\.|[^`\\\\])+`/ }\n ],\n endsParent: true\n }\n ]\n },\n {\n scope: 'doctag',\n match: /@[a-zA-Z]+/\n },\n {\n scope: 'keyword',\n match: /\\\\[a-zA-Z]+/\n }\n ] }\n ),\n\n hljs.HASH_COMMENT_MODE,\n\n {\n scope: 'string',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\(/,\n end: /\\)(-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\{/,\n end: /\\}(-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\[/,\n end: /\\](-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\(/,\n end: /\\)(-*)'/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\{/,\n end: /\\}(-*)'/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\[/,\n end: /\\](-*)'/\n }),\n {\n begin: '\"',\n end: '\"',\n relevance: 0\n },\n {\n begin: \"'\",\n end: \"'\",\n relevance: 0\n }\n ],\n },\n\n // Matching numbers immediately following punctuation and operators is\n // tricky since we need to look at the character ahead of a number to\n // ensure the number is not part of an identifier, and we cannot use\n // negative look-behind assertions. So instead we explicitly handle all\n // possible combinations of (operator|punctuation), number.\n // TODO: replace with negative look-behind when available\n // { begin: /(?\nContributors: Peter Leonov , Vasily Polovnyov , Loren Segal , Pascal Hurni , Cedric Sohrauer \nCategory: common, scripting\n*/\n\nfunction ruby(hljs) {\n const regex = hljs.regex;\n const RUBY_METHOD_RE = '([a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?)';\n // TODO: move concepts like CAMEL_CASE into `modes.js`\n const CLASS_NAME_RE = regex.either(\n /\\b([A-Z]+[a-z0-9]+)+/,\n // ends in caps\n /\\b([A-Z]+[a-z0-9]+)+[A-Z]+/,\n )\n ;\n const CLASS_NAME_WITH_NAMESPACE_RE = regex.concat(CLASS_NAME_RE, /(::\\w+)*/);\n // very popular ruby built-ins that one might even assume\n // are actual keywords (despite that not being the case)\n const PSEUDO_KWS = [\n \"include\",\n \"extend\",\n \"prepend\",\n \"public\",\n \"private\",\n \"protected\",\n \"raise\",\n \"throw\"\n ];\n const RUBY_KEYWORDS = {\n \"variable.constant\": [\n \"__FILE__\",\n \"__LINE__\",\n \"__ENCODING__\"\n ],\n \"variable.language\": [\n \"self\",\n \"super\",\n ],\n keyword: [\n \"alias\",\n \"and\",\n \"begin\",\n \"BEGIN\",\n \"break\",\n \"case\",\n \"class\",\n \"defined\",\n \"do\",\n \"else\",\n \"elsif\",\n \"end\",\n \"END\",\n \"ensure\",\n \"for\",\n \"if\",\n \"in\",\n \"module\",\n \"next\",\n \"not\",\n \"or\",\n \"redo\",\n \"require\",\n \"rescue\",\n \"retry\",\n \"return\",\n \"then\",\n \"undef\",\n \"unless\",\n \"until\",\n \"when\",\n \"while\",\n \"yield\",\n ...PSEUDO_KWS\n ],\n built_in: [\n \"proc\",\n \"lambda\",\n \"attr_accessor\",\n \"attr_reader\",\n \"attr_writer\",\n \"define_method\",\n \"private_constant\",\n \"module_function\"\n ],\n literal: [\n \"true\",\n \"false\",\n \"nil\"\n ]\n };\n const YARDOCTAG = {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n };\n const IRB_OBJECT = {\n begin: '#<',\n end: '>'\n };\n const COMMENT_MODES = [\n hljs.COMMENT(\n '#',\n '$',\n { contains: [ YARDOCTAG ] }\n ),\n hljs.COMMENT(\n '^=begin',\n '^=end',\n {\n contains: [ YARDOCTAG ],\n relevance: 10\n }\n ),\n hljs.COMMENT('^__END__', hljs.MATCH_NOTHING_RE)\n ];\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: RUBY_KEYWORDS\n };\n const STRING = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /`/,\n end: /`/\n },\n {\n begin: /%[qQwWx]?\\(/,\n end: /\\)/\n },\n {\n begin: /%[qQwWx]?\\[/,\n end: /\\]/\n },\n {\n begin: /%[qQwWx]?\\{/,\n end: /\\}/\n },\n {\n begin: /%[qQwWx]?/\n },\n {\n begin: /%[qQwWx]?\\//,\n end: /\\//\n },\n {\n begin: /%[qQwWx]?%/,\n end: /%/\n },\n {\n begin: /%[qQwWx]?-/,\n end: /-/\n },\n {\n begin: /%[qQwWx]?\\|/,\n end: /\\|/\n },\n // in the following expressions, \\B in the beginning suppresses recognition of ?-sequences\n // where ? is the last character of a preceding identifier, as in: `func?4`\n { begin: /\\B\\?(\\\\\\d{1,3})/ },\n { begin: /\\B\\?(\\\\x[A-Fa-f0-9]{1,2})/ },\n { begin: /\\B\\?(\\\\u\\{?[A-Fa-f0-9]{1,6}\\}?)/ },\n { begin: /\\B\\?(\\\\M-\\\\C-|\\\\M-\\\\c|\\\\c\\\\M-|\\\\M-|\\\\C-\\\\M-)[\\x20-\\x7e]/ },\n { begin: /\\B\\?\\\\(c|C-)[\\x20-\\x7e]/ },\n { begin: /\\B\\?\\\\?\\S/ },\n // heredocs\n {\n // this guard makes sure that we have an entire heredoc and not a false\n // positive (auto-detect, etc.)\n begin: regex.concat(\n /<<[-~]?'?/,\n regex.lookahead(/(\\w+)(?=\\W)[^\\n]*\\n(?:[^\\n]*\\n)*?\\s*\\1\\b/)\n ),\n contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n })\n ]\n }\n ]\n };\n\n // Ruby syntax is underdocumented, but this grammar seems to be accurate\n // as of version 2.7.2 (confirmed with (irb and `Ripper.sexp(...)`)\n // https://docs.ruby-lang.org/en/2.7.0/doc/syntax/literals_rdoc.html#label-Numbers\n const decimal = '[1-9](_?[0-9])*|0';\n const digits = '[0-9](_?[0-9])*';\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // decimal integer/float, optionally exponential or rational, optionally imaginary\n { begin: `\\\\b(${decimal})(\\\\.(${digits}))?([eE][+-]?(${digits})|r)?i?\\\\b` },\n\n // explicit decimal/binary/octal/hexadecimal integer,\n // optionally rational and/or imaginary\n { begin: \"\\\\b0[dD][0-9](_?[0-9])*r?i?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*r?i?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*r?i?\\\\b\" },\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\\\b\" },\n\n // 0-prefixed implicit octal integer, optionally rational and/or imaginary\n { begin: \"\\\\b0(_?[0-7])+r?i?\\\\b\" }\n ]\n };\n\n const PARAMS = {\n variants: [\n {\n match: /\\(\\)/,\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /(?=\\))/,\n excludeBegin: true,\n endsParent: true,\n keywords: RUBY_KEYWORDS,\n }\n ]\n };\n\n const INCLUDE_EXTEND = {\n match: [\n /(include|extend)\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ],\n scope: {\n 2: \"title.class\"\n },\n keywords: RUBY_KEYWORDS\n };\n\n const CLASS_DEFINITION = {\n variants: [\n {\n match: [\n /class\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE,\n /\\s+<\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ]\n },\n {\n match: [\n /\\b(class|module)\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ]\n }\n ],\n scope: {\n 2: \"title.class\",\n 4: \"title.class.inherited\"\n },\n keywords: RUBY_KEYWORDS\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n const METHOD_DEFINITION = {\n match: [\n /def/, /\\s+/,\n RUBY_METHOD_RE\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n const OBJECT_CREATION = {\n relevance: 0,\n match: [\n CLASS_NAME_WITH_NAMESPACE_RE,\n /\\.new[. (]/\n ],\n scope: {\n 1: \"title.class\"\n }\n };\n\n // CamelCase\n const CLASS_REFERENCE = {\n relevance: 0,\n match: CLASS_NAME_RE,\n scope: \"title.class\"\n };\n\n const RUBY_DEFAULT_CONTAINS = [\n STRING,\n CLASS_DEFINITION,\n INCLUDE_EXTEND,\n OBJECT_CREATION,\n UPPER_CASE_CONSTANT,\n CLASS_REFERENCE,\n METHOD_DEFINITION,\n {\n // swallow namespace qualifiers before symbols\n begin: hljs.IDENT_RE + '::' },\n {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '(!|\\\\?)?:',\n relevance: 0\n },\n {\n className: 'symbol',\n begin: ':(?!\\\\s)',\n contains: [\n STRING,\n { begin: RUBY_METHOD_RE }\n ],\n relevance: 0\n },\n NUMBER,\n {\n // negative-look forward attempts to prevent false matches like:\n // @ident@ or $ident$ that might indicate this is not ruby at all\n className: \"variable\",\n begin: '(\\\\$\\\\W)|((\\\\$|@@?)(\\\\w+))(?=[^@$?])' + `(?![A-Za-z])(?![@$?'])`\n },\n {\n className: 'params',\n begin: /\\|(?!=)/,\n end: /\\|/,\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0, // this could be a lot of things (in other languages) other than params\n keywords: RUBY_KEYWORDS\n },\n { // regexp container\n begin: '(' + hljs.RE_STARTERS_RE + '|unless)\\\\s*',\n keywords: 'unless',\n contains: [\n {\n className: 'regexp',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n illegal: /\\n/,\n variants: [\n {\n begin: '/',\n end: '/[a-z]*'\n },\n {\n begin: /%r\\{/,\n end: /\\}[a-z]*/\n },\n {\n begin: '%r\\\\(',\n end: '\\\\)[a-z]*'\n },\n {\n begin: '%r!',\n end: '![a-z]*'\n },\n {\n begin: '%r\\\\[',\n end: '\\\\][a-z]*'\n }\n ]\n }\n ].concat(IRB_OBJECT, COMMENT_MODES),\n relevance: 0\n }\n ].concat(IRB_OBJECT, COMMENT_MODES);\n\n SUBST.contains = RUBY_DEFAULT_CONTAINS;\n PARAMS.contains = RUBY_DEFAULT_CONTAINS;\n\n // >>\n // ?>\n const SIMPLE_PROMPT = \"[>?]>\";\n // irb(main):001:0>\n const DEFAULT_PROMPT = \"[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+[>*]\";\n const RVM_PROMPT = \"(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d+(p\\\\d+)?[^\\\\d][^>]+>\";\n\n const IRB_DEFAULT = [\n {\n begin: /^\\s*=>/,\n starts: {\n end: '$',\n contains: RUBY_DEFAULT_CONTAINS\n }\n },\n {\n className: 'meta.prompt',\n begin: '^(' + SIMPLE_PROMPT + \"|\" + DEFAULT_PROMPT + '|' + RVM_PROMPT + ')(?=[ ])',\n starts: {\n end: '$',\n keywords: RUBY_KEYWORDS,\n contains: RUBY_DEFAULT_CONTAINS\n }\n }\n ];\n\n COMMENT_MODES.unshift(IRB_OBJECT);\n\n return {\n name: 'Ruby',\n aliases: [\n 'rb',\n 'gemspec',\n 'podspec',\n 'thor',\n 'irb'\n ],\n keywords: RUBY_KEYWORDS,\n illegal: /\\/\\*/,\n contains: [ hljs.SHEBANG({ binary: \"ruby\" }) ]\n .concat(IRB_DEFAULT)\n .concat(COMMENT_MODES)\n .concat(RUBY_DEFAULT_CONTAINS)\n };\n}\n\nexport { ruby as default };\n","/*\nLanguage: Rust\nAuthor: Andrey Vlasovskikh \nContributors: Roman Shmatov , Kasper Andersen \nWebsite: https://www.rust-lang.org\nCategory: common, system\n*/\n\n/** @type LanguageFn */\n\nfunction rust(hljs) {\n const regex = hljs.regex;\n // ============================================\n // Added to support the r# keyword, which is a raw identifier in Rust.\n const RAW_IDENTIFIER = /(r#)?/;\n const UNDERSCORE_IDENT_RE = regex.concat(RAW_IDENTIFIER, hljs.UNDERSCORE_IDENT_RE);\n const IDENT_RE = regex.concat(RAW_IDENTIFIER, hljs.IDENT_RE);\n // ============================================\n const FUNCTION_INVOKE = {\n className: \"title.function.invoke\",\n relevance: 0,\n begin: regex.concat(\n /\\b/,\n /(?!let|for|while|if|else|match\\b)/,\n IDENT_RE,\n regex.lookahead(/\\s*\\(/))\n };\n const NUMBER_SUFFIX = '([ui](8|16|32|64|128|size)|f(32|64))\\?';\n const KEYWORDS = [\n \"abstract\",\n \"as\",\n \"async\",\n \"await\",\n \"become\",\n \"box\",\n \"break\",\n \"const\",\n \"continue\",\n \"crate\",\n \"do\",\n \"dyn\",\n \"else\",\n \"enum\",\n \"extern\",\n \"false\",\n \"final\",\n \"fn\",\n \"for\",\n \"if\",\n \"impl\",\n \"in\",\n \"let\",\n \"loop\",\n \"macro\",\n \"match\",\n \"mod\",\n \"move\",\n \"mut\",\n \"override\",\n \"priv\",\n \"pub\",\n \"ref\",\n \"return\",\n \"self\",\n \"Self\",\n \"static\",\n \"struct\",\n \"super\",\n \"trait\",\n \"true\",\n \"try\",\n \"type\",\n \"typeof\",\n \"union\",\n \"unsafe\",\n \"unsized\",\n \"use\",\n \"virtual\",\n \"where\",\n \"while\",\n \"yield\"\n ];\n const LITERALS = [\n \"true\",\n \"false\",\n \"Some\",\n \"None\",\n \"Ok\",\n \"Err\"\n ];\n const BUILTINS = [\n // functions\n 'drop ',\n // traits\n \"Copy\",\n \"Send\",\n \"Sized\",\n \"Sync\",\n \"Drop\",\n \"Fn\",\n \"FnMut\",\n \"FnOnce\",\n \"ToOwned\",\n \"Clone\",\n \"Debug\",\n \"PartialEq\",\n \"PartialOrd\",\n \"Eq\",\n \"Ord\",\n \"AsRef\",\n \"AsMut\",\n \"Into\",\n \"From\",\n \"Default\",\n \"Iterator\",\n \"Extend\",\n \"IntoIterator\",\n \"DoubleEndedIterator\",\n \"ExactSizeIterator\",\n \"SliceConcatExt\",\n \"ToString\",\n // macros\n \"assert!\",\n \"assert_eq!\",\n \"bitflags!\",\n \"bytes!\",\n \"cfg!\",\n \"col!\",\n \"concat!\",\n \"concat_idents!\",\n \"debug_assert!\",\n \"debug_assert_eq!\",\n \"env!\",\n \"eprintln!\",\n \"panic!\",\n \"file!\",\n \"format!\",\n \"format_args!\",\n \"include_bytes!\",\n \"include_str!\",\n \"line!\",\n \"local_data_key!\",\n \"module_path!\",\n \"option_env!\",\n \"print!\",\n \"println!\",\n \"select!\",\n \"stringify!\",\n \"try!\",\n \"unimplemented!\",\n \"unreachable!\",\n \"vec!\",\n \"write!\",\n \"writeln!\",\n \"macro_rules!\",\n \"assert_ne!\",\n \"debug_assert_ne!\"\n ];\n const TYPES = [\n \"i8\",\n \"i16\",\n \"i32\",\n \"i64\",\n \"i128\",\n \"isize\",\n \"u8\",\n \"u16\",\n \"u32\",\n \"u64\",\n \"u128\",\n \"usize\",\n \"f32\",\n \"f64\",\n \"str\",\n \"char\",\n \"bool\",\n \"Box\",\n \"Option\",\n \"Result\",\n \"String\",\n \"Vec\"\n ];\n return {\n name: 'Rust',\n aliases: [ 'rs' ],\n keywords: {\n $pattern: hljs.IDENT_RE + '!?',\n type: TYPES,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILTINS\n },\n illegal: ''\n },\n FUNCTION_INVOKE\n ]\n };\n}\n\nexport { rust as default };\n","const MODES = (hljs) => {\n return {\n IMPORTANT: {\n scope: 'meta',\n begin: '!important'\n },\n BLOCK_COMMENT: hljs.C_BLOCK_COMMENT_MODE,\n HEXCOLOR: {\n scope: 'number',\n begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\\b/\n },\n FUNCTION_DISPATCH: {\n className: \"built_in\",\n begin: /[\\w-]+(?=\\()/\n },\n ATTRIBUTE_SELECTOR_MODE: {\n scope: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n },\n CSS_NUMBER_MODE: {\n scope: 'number',\n begin: hljs.NUMBER_RE + '(' +\n '%|em|ex|ch|rem' +\n '|vw|vh|vmin|vmax' +\n '|cm|mm|in|pt|pc|px' +\n '|deg|grad|rad|turn' +\n '|s|ms' +\n '|Hz|kHz' +\n '|dpi|dpcm|dppx' +\n ')?',\n relevance: 0\n },\n CSS_VARIABLE: {\n className: \"attr\",\n begin: /--[A-Za-z_][A-Za-z0-9_-]*/\n }\n };\n};\n\nconst HTML_TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'picture',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'select',\n 'source',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst SVG_TAGS = [\n 'defs',\n 'g',\n 'marker',\n 'mask',\n 'pattern',\n 'svg',\n 'switch',\n 'symbol',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feFlood',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMorphology',\n 'feOffset',\n 'feSpecularLighting',\n 'feTile',\n 'feTurbulence',\n 'linearGradient',\n 'radialGradient',\n 'stop',\n 'circle',\n 'ellipse',\n 'image',\n 'line',\n 'path',\n 'polygon',\n 'polyline',\n 'rect',\n 'text',\n 'use',\n 'textPath',\n 'tspan',\n 'foreignObject',\n 'clipPath'\n];\n\nconst TAGS = [\n ...HTML_TAGS,\n ...SVG_TAGS,\n];\n\n// Sorting, then reversing makes sure longer attributes/elements like\n// `font-weight` are matched fully instead of getting false positives on say `font`\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n].sort().reverse();\n\nconst ATTRIBUTES = [\n 'accent-color',\n 'align-content',\n 'align-items',\n 'align-self',\n 'alignment-baseline',\n 'all',\n 'anchor-name',\n 'animation',\n 'animation-composition',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-range',\n 'animation-range-end',\n 'animation-range-start',\n 'animation-timeline',\n 'animation-timing-function',\n 'appearance',\n 'aspect-ratio',\n 'backdrop-filter',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-blend-mode',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-position-x',\n 'background-position-y',\n 'background-repeat',\n 'background-size',\n 'baseline-shift',\n 'block-size',\n 'border',\n 'border-block',\n 'border-block-color',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-style',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-style',\n 'border-block-start-width',\n 'border-block-style',\n 'border-block-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-inline',\n 'border-inline-color',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-style',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-style',\n 'border-inline-start-width',\n 'border-inline-style',\n 'border-inline-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-align',\n 'box-decoration-break',\n 'box-direction',\n 'box-flex',\n 'box-flex-group',\n 'box-lines',\n 'box-ordinal-group',\n 'box-orient',\n 'box-pack',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'caption-side',\n 'caret-color',\n 'clear',\n 'clip',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'color-scheme',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'contain',\n 'contain-intrinsic-block-size',\n 'contain-intrinsic-height',\n 'contain-intrinsic-inline-size',\n 'contain-intrinsic-size',\n 'contain-intrinsic-width',\n 'container',\n 'container-name',\n 'container-type',\n 'content',\n 'content-visibility',\n 'counter-increment',\n 'counter-reset',\n 'counter-set',\n 'cue',\n 'cue-after',\n 'cue-before',\n 'cursor',\n 'cx',\n 'cy',\n 'direction',\n 'display',\n 'dominant-baseline',\n 'empty-cells',\n 'enable-background',\n 'field-sizing',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'flood-color',\n 'flood-opacity',\n 'flow',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-optical-sizing',\n 'font-palette',\n 'font-size',\n 'font-size-adjust',\n 'font-smooth',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-synthesis',\n 'font-synthesis-position',\n 'font-synthesis-small-caps',\n 'font-synthesis-style',\n 'font-synthesis-weight',\n 'font-variant',\n 'font-variant-alternates',\n 'font-variant-caps',\n 'font-variant-east-asian',\n 'font-variant-emoji',\n 'font-variant-ligatures',\n 'font-variant-numeric',\n 'font-variant-position',\n 'font-variation-settings',\n 'font-weight',\n 'forced-color-adjust',\n 'gap',\n 'glyph-orientation-horizontal',\n 'glyph-orientation-vertical',\n 'grid',\n 'grid-area',\n 'grid-auto-columns',\n 'grid-auto-flow',\n 'grid-auto-rows',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-gap',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'grid-template',\n 'grid-template-areas',\n 'grid-template-columns',\n 'grid-template-rows',\n 'hanging-punctuation',\n 'height',\n 'hyphenate-character',\n 'hyphenate-limit-chars',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'initial-letter',\n 'initial-letter-align',\n 'inline-size',\n 'inset',\n 'inset-area',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'isolation',\n 'justify-content',\n 'justify-items',\n 'justify-self',\n 'kerning',\n 'left',\n 'letter-spacing',\n 'lighting-color',\n 'line-break',\n 'line-height',\n 'line-height-step',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'margin',\n 'margin-block',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'margin-trim',\n 'marker',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'marks',\n 'mask',\n 'mask-border',\n 'mask-border-mode',\n 'mask-border-outset',\n 'mask-border-repeat',\n 'mask-border-slice',\n 'mask-border-source',\n 'mask-border-width',\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-mode',\n 'mask-origin',\n 'mask-position',\n 'mask-repeat',\n 'mask-size',\n 'mask-type',\n 'masonry-auto-flow',\n 'math-depth',\n 'math-shift',\n 'math-style',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'mix-blend-mode',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-anchor',\n 'overflow-block',\n 'overflow-clip-margin',\n 'overflow-inline',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'overlay',\n 'overscroll-behavior',\n 'overscroll-behavior-block',\n 'overscroll-behavior-inline',\n 'overscroll-behavior-x',\n 'overscroll-behavior-y',\n 'padding',\n 'padding-block',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'paint-order',\n 'pause',\n 'pause-after',\n 'pause-before',\n 'perspective',\n 'perspective-origin',\n 'place-content',\n 'place-items',\n 'place-self',\n 'pointer-events',\n 'position',\n 'position-anchor',\n 'position-visibility',\n 'print-color-adjust',\n 'quotes',\n 'r',\n 'resize',\n 'rest',\n 'rest-after',\n 'rest-before',\n 'right',\n 'rotate',\n 'row-gap',\n 'ruby-align',\n 'ruby-position',\n 'scale',\n 'scroll-behavior',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-align',\n 'scroll-snap-stop',\n 'scroll-snap-type',\n 'scroll-timeline',\n 'scroll-timeline-axis',\n 'scroll-timeline-name',\n 'scrollbar-color',\n 'scrollbar-gutter',\n 'scrollbar-width',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'shape-rendering',\n 'speak',\n 'speak-as',\n 'src', // @font-face\n 'stop-color',\n 'stop-opacity',\n 'stroke',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'tab-size',\n 'table-layout',\n 'text-align',\n 'text-align-all',\n 'text-align-last',\n 'text-anchor',\n 'text-combine-upright',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-skip',\n 'text-decoration-skip-ink',\n 'text-decoration-style',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-emphasis-position',\n 'text-emphasis-style',\n 'text-indent',\n 'text-justify',\n 'text-orientation',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-size-adjust',\n 'text-transform',\n 'text-underline-offset',\n 'text-underline-position',\n 'text-wrap',\n 'text-wrap-mode',\n 'text-wrap-style',\n 'timeline-scope',\n 'top',\n 'touch-action',\n 'transform',\n 'transform-box',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-behavior',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'translate',\n 'unicode-bidi',\n 'user-modify',\n 'user-select',\n 'vector-effect',\n 'vertical-align',\n 'view-timeline',\n 'view-timeline-axis',\n 'view-timeline-inset',\n 'view-timeline-name',\n 'view-transition-name',\n 'visibility',\n 'voice-balance',\n 'voice-duration',\n 'voice-family',\n 'voice-pitch',\n 'voice-range',\n 'voice-rate',\n 'voice-stress',\n 'voice-volume',\n 'white-space',\n 'white-space-collapse',\n 'widows',\n 'width',\n 'will-change',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'writing-mode',\n 'x',\n 'y',\n 'z-index',\n 'zoom'\n].sort().reverse();\n\n/*\nLanguage: SCSS\nDescription: Scss is an extension of the syntax of CSS.\nAuthor: Kurt Emch \nWebsite: https://sass-lang.com\nCategory: common, css, web\n*/\n\n\n/** @type LanguageFn */\nfunction scss(hljs) {\n const modes = MODES(hljs);\n const PSEUDO_ELEMENTS$1 = PSEUDO_ELEMENTS;\n const PSEUDO_CLASSES$1 = PSEUDO_CLASSES;\n\n const AT_IDENTIFIER = '@[a-z-]+'; // @font-face\n const AT_MODIFIERS = \"and or not only\";\n const IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';\n const VARIABLE = {\n className: 'variable',\n begin: '(\\\\$' + IDENT_RE + ')\\\\b',\n relevance: 0\n };\n\n return {\n name: 'SCSS',\n case_insensitive: true,\n illegal: '[=/|\\']',\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n // to recognize keyframe 40% etc which are outside the scope of our\n // attribute value mode\n modes.CSS_NUMBER_MODE,\n {\n className: 'selector-id',\n begin: '#[A-Za-z0-9_-]+',\n relevance: 0\n },\n {\n className: 'selector-class',\n begin: '\\\\.[A-Za-z0-9_-]+',\n relevance: 0\n },\n modes.ATTRIBUTE_SELECTOR_MODE,\n {\n className: 'selector-tag',\n begin: '\\\\b(' + TAGS.join('|') + ')\\\\b',\n // was there, before, but why?\n relevance: 0\n },\n {\n className: 'selector-pseudo',\n begin: ':(' + PSEUDO_CLASSES$1.join('|') + ')'\n },\n {\n className: 'selector-pseudo',\n begin: ':(:)?(' + PSEUDO_ELEMENTS$1.join('|') + ')'\n },\n VARIABLE,\n { // pseudo-selector params\n begin: /\\(/,\n end: /\\)/,\n contains: [ modes.CSS_NUMBER_MODE ]\n },\n modes.CSS_VARIABLE,\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b'\n },\n { begin: '\\\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\\\b' },\n {\n begin: /:/,\n end: /[;}{]/,\n relevance: 0,\n contains: [\n modes.BLOCK_COMMENT,\n VARIABLE,\n modes.HEXCOLOR,\n modes.CSS_NUMBER_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n modes.IMPORTANT,\n modes.FUNCTION_DISPATCH\n ]\n },\n // matching these here allows us to treat them more like regular CSS\n // rules so everything between the {} gets regular rule highlighting,\n // which is what we want for page and font-face\n {\n begin: '@(page|font-face)',\n keywords: {\n $pattern: AT_IDENTIFIER,\n keyword: '@page @font-face'\n }\n },\n {\n begin: '@',\n end: '[{;]',\n returnBegin: true,\n keywords: {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n },\n contains: [\n {\n begin: AT_IDENTIFIER,\n className: \"keyword\"\n },\n {\n begin: /[a-z-]+(?=:)/,\n className: \"attribute\"\n },\n VARIABLE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n modes.HEXCOLOR,\n modes.CSS_NUMBER_MODE\n ]\n },\n modes.FUNCTION_DISPATCH\n ]\n };\n}\n\nexport { scss as default };\n","/*\nLanguage: Shell Session\nRequires: bash.js\nAuthor: TSUYUSATO Kitsune \nCategory: common\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction shell(hljs) {\n return {\n name: 'Shell Session',\n aliases: [\n 'console',\n 'shellsession'\n ],\n contains: [\n {\n className: 'meta.prompt',\n // We cannot add \\s (spaces) in the regular expression otherwise it will be too broad and produce unexpected result.\n // For instance, in the following example, it would match \"echo /path/to/home >\" as a prompt:\n // echo /path/to/home > t.exe\n begin: /^\\s{0,3}[/~\\w\\d[\\]()@-]*[>%$#][ ]?/,\n starts: {\n end: /[^\\\\](?=\\s*$)/,\n subLanguage: 'bash'\n }\n }\n ]\n };\n}\n\nexport { shell as default };\n","/*\n Language: SQL\n Website: https://en.wikipedia.org/wiki/SQL\n Category: common, database\n */\n\n/*\n\nGoals:\n\nSQL is intended to highlight basic/common SQL keywords and expressions\n\n- If pretty much every single SQL server includes supports, then it's a canidate.\n- It is NOT intended to include tons of vendor specific keywords (Oracle, MySQL,\n PostgreSQL) although the list of data types is purposely a bit more expansive.\n- For more specific SQL grammars please see:\n - PostgreSQL and PL/pgSQL - core\n - T-SQL - https://github.com/highlightjs/highlightjs-tsql\n - sql_more (core)\n\n */\n\nfunction sql(hljs) {\n const regex = hljs.regex;\n const COMMENT_MODE = hljs.COMMENT('--', '$');\n const STRING = {\n scope: 'string',\n variants: [\n {\n begin: /'/,\n end: /'/,\n contains: [ { match: /''/ } ]\n }\n ]\n };\n const QUOTED_IDENTIFIER = {\n begin: /\"/,\n end: /\"/,\n contains: [ { match: /\"\"/ } ]\n };\n\n const LITERALS = [\n \"true\",\n \"false\",\n // Not sure it's correct to call NULL literal, and clauses like IS [NOT] NULL look strange that way.\n // \"null\",\n \"unknown\"\n ];\n\n const MULTI_WORD_TYPES = [\n \"double precision\",\n \"large object\",\n \"with timezone\",\n \"without timezone\"\n ];\n\n const TYPES = [\n 'bigint',\n 'binary',\n 'blob',\n 'boolean',\n 'char',\n 'character',\n 'clob',\n 'date',\n 'dec',\n 'decfloat',\n 'decimal',\n 'float',\n 'int',\n 'integer',\n 'interval',\n 'nchar',\n 'nclob',\n 'national',\n 'numeric',\n 'real',\n 'row',\n 'smallint',\n 'time',\n 'timestamp',\n 'varchar',\n 'varying', // modifier (character varying)\n 'varbinary'\n ];\n\n const NON_RESERVED_WORDS = [\n \"add\",\n \"asc\",\n \"collation\",\n \"desc\",\n \"final\",\n \"first\",\n \"last\",\n \"view\"\n ];\n\n // https://jakewheat.github.io/sql-overview/sql-2016-foundation-grammar.html#reserved-word\n const RESERVED_WORDS = [\n \"abs\",\n \"acos\",\n \"all\",\n \"allocate\",\n \"alter\",\n \"and\",\n \"any\",\n \"are\",\n \"array\",\n \"array_agg\",\n \"array_max_cardinality\",\n \"as\",\n \"asensitive\",\n \"asin\",\n \"asymmetric\",\n \"at\",\n \"atan\",\n \"atomic\",\n \"authorization\",\n \"avg\",\n \"begin\",\n \"begin_frame\",\n \"begin_partition\",\n \"between\",\n \"bigint\",\n \"binary\",\n \"blob\",\n \"boolean\",\n \"both\",\n \"by\",\n \"call\",\n \"called\",\n \"cardinality\",\n \"cascaded\",\n \"case\",\n \"cast\",\n \"ceil\",\n \"ceiling\",\n \"char\",\n \"char_length\",\n \"character\",\n \"character_length\",\n \"check\",\n \"classifier\",\n \"clob\",\n \"close\",\n \"coalesce\",\n \"collate\",\n \"collect\",\n \"column\",\n \"commit\",\n \"condition\",\n \"connect\",\n \"constraint\",\n \"contains\",\n \"convert\",\n \"copy\",\n \"corr\",\n \"corresponding\",\n \"cos\",\n \"cosh\",\n \"count\",\n \"covar_pop\",\n \"covar_samp\",\n \"create\",\n \"cross\",\n \"cube\",\n \"cume_dist\",\n \"current\",\n \"current_catalog\",\n \"current_date\",\n \"current_default_transform_group\",\n \"current_path\",\n \"current_role\",\n \"current_row\",\n \"current_schema\",\n \"current_time\",\n \"current_timestamp\",\n \"current_path\",\n \"current_role\",\n \"current_transform_group_for_type\",\n \"current_user\",\n \"cursor\",\n \"cycle\",\n \"date\",\n \"day\",\n \"deallocate\",\n \"dec\",\n \"decimal\",\n \"decfloat\",\n \"declare\",\n \"default\",\n \"define\",\n \"delete\",\n \"dense_rank\",\n \"deref\",\n \"describe\",\n \"deterministic\",\n \"disconnect\",\n \"distinct\",\n \"double\",\n \"drop\",\n \"dynamic\",\n \"each\",\n \"element\",\n \"else\",\n \"empty\",\n \"end\",\n \"end_frame\",\n \"end_partition\",\n \"end-exec\",\n \"equals\",\n \"escape\",\n \"every\",\n \"except\",\n \"exec\",\n \"execute\",\n \"exists\",\n \"exp\",\n \"external\",\n \"extract\",\n \"false\",\n \"fetch\",\n \"filter\",\n \"first_value\",\n \"float\",\n \"floor\",\n \"for\",\n \"foreign\",\n \"frame_row\",\n \"free\",\n \"from\",\n \"full\",\n \"function\",\n \"fusion\",\n \"get\",\n \"global\",\n \"grant\",\n \"group\",\n \"grouping\",\n \"groups\",\n \"having\",\n \"hold\",\n \"hour\",\n \"identity\",\n \"in\",\n \"indicator\",\n \"initial\",\n \"inner\",\n \"inout\",\n \"insensitive\",\n \"insert\",\n \"int\",\n \"integer\",\n \"intersect\",\n \"intersection\",\n \"interval\",\n \"into\",\n \"is\",\n \"join\",\n \"json_array\",\n \"json_arrayagg\",\n \"json_exists\",\n \"json_object\",\n \"json_objectagg\",\n \"json_query\",\n \"json_table\",\n \"json_table_primitive\",\n \"json_value\",\n \"lag\",\n \"language\",\n \"large\",\n \"last_value\",\n \"lateral\",\n \"lead\",\n \"leading\",\n \"left\",\n \"like\",\n \"like_regex\",\n \"listagg\",\n \"ln\",\n \"local\",\n \"localtime\",\n \"localtimestamp\",\n \"log\",\n \"log10\",\n \"lower\",\n \"match\",\n \"match_number\",\n \"match_recognize\",\n \"matches\",\n \"max\",\n \"member\",\n \"merge\",\n \"method\",\n \"min\",\n \"minute\",\n \"mod\",\n \"modifies\",\n \"module\",\n \"month\",\n \"multiset\",\n \"national\",\n \"natural\",\n \"nchar\",\n \"nclob\",\n \"new\",\n \"no\",\n \"none\",\n \"normalize\",\n \"not\",\n \"nth_value\",\n \"ntile\",\n \"null\",\n \"nullif\",\n \"numeric\",\n \"octet_length\",\n \"occurrences_regex\",\n \"of\",\n \"offset\",\n \"old\",\n \"omit\",\n \"on\",\n \"one\",\n \"only\",\n \"open\",\n \"or\",\n \"order\",\n \"out\",\n \"outer\",\n \"over\",\n \"overlaps\",\n \"overlay\",\n \"parameter\",\n \"partition\",\n \"pattern\",\n \"per\",\n \"percent\",\n \"percent_rank\",\n \"percentile_cont\",\n \"percentile_disc\",\n \"period\",\n \"portion\",\n \"position\",\n \"position_regex\",\n \"power\",\n \"precedes\",\n \"precision\",\n \"prepare\",\n \"primary\",\n \"procedure\",\n \"ptf\",\n \"range\",\n \"rank\",\n \"reads\",\n \"real\",\n \"recursive\",\n \"ref\",\n \"references\",\n \"referencing\",\n \"regr_avgx\",\n \"regr_avgy\",\n \"regr_count\",\n \"regr_intercept\",\n \"regr_r2\",\n \"regr_slope\",\n \"regr_sxx\",\n \"regr_sxy\",\n \"regr_syy\",\n \"release\",\n \"result\",\n \"return\",\n \"returns\",\n \"revoke\",\n \"right\",\n \"rollback\",\n \"rollup\",\n \"row\",\n \"row_number\",\n \"rows\",\n \"running\",\n \"savepoint\",\n \"scope\",\n \"scroll\",\n \"search\",\n \"second\",\n \"seek\",\n \"select\",\n \"sensitive\",\n \"session_user\",\n \"set\",\n \"show\",\n \"similar\",\n \"sin\",\n \"sinh\",\n \"skip\",\n \"smallint\",\n \"some\",\n \"specific\",\n \"specifictype\",\n \"sql\",\n \"sqlexception\",\n \"sqlstate\",\n \"sqlwarning\",\n \"sqrt\",\n \"start\",\n \"static\",\n \"stddev_pop\",\n \"stddev_samp\",\n \"submultiset\",\n \"subset\",\n \"substring\",\n \"substring_regex\",\n \"succeeds\",\n \"sum\",\n \"symmetric\",\n \"system\",\n \"system_time\",\n \"system_user\",\n \"table\",\n \"tablesample\",\n \"tan\",\n \"tanh\",\n \"then\",\n \"time\",\n \"timestamp\",\n \"timezone_hour\",\n \"timezone_minute\",\n \"to\",\n \"trailing\",\n \"translate\",\n \"translate_regex\",\n \"translation\",\n \"treat\",\n \"trigger\",\n \"trim\",\n \"trim_array\",\n \"true\",\n \"truncate\",\n \"uescape\",\n \"union\",\n \"unique\",\n \"unknown\",\n \"unnest\",\n \"update\",\n \"upper\",\n \"user\",\n \"using\",\n \"value\",\n \"values\",\n \"value_of\",\n \"var_pop\",\n \"var_samp\",\n \"varbinary\",\n \"varchar\",\n \"varying\",\n \"versioning\",\n \"when\",\n \"whenever\",\n \"where\",\n \"width_bucket\",\n \"window\",\n \"with\",\n \"within\",\n \"without\",\n \"year\",\n ];\n\n // these are reserved words we have identified to be functions\n // and should only be highlighted in a dispatch-like context\n // ie, array_agg(...), etc.\n const RESERVED_FUNCTIONS = [\n \"abs\",\n \"acos\",\n \"array_agg\",\n \"asin\",\n \"atan\",\n \"avg\",\n \"cast\",\n \"ceil\",\n \"ceiling\",\n \"coalesce\",\n \"corr\",\n \"cos\",\n \"cosh\",\n \"count\",\n \"covar_pop\",\n \"covar_samp\",\n \"cume_dist\",\n \"dense_rank\",\n \"deref\",\n \"element\",\n \"exp\",\n \"extract\",\n \"first_value\",\n \"floor\",\n \"json_array\",\n \"json_arrayagg\",\n \"json_exists\",\n \"json_object\",\n \"json_objectagg\",\n \"json_query\",\n \"json_table\",\n \"json_table_primitive\",\n \"json_value\",\n \"lag\",\n \"last_value\",\n \"lead\",\n \"listagg\",\n \"ln\",\n \"log\",\n \"log10\",\n \"lower\",\n \"max\",\n \"min\",\n \"mod\",\n \"nth_value\",\n \"ntile\",\n \"nullif\",\n \"percent_rank\",\n \"percentile_cont\",\n \"percentile_disc\",\n \"position\",\n \"position_regex\",\n \"power\",\n \"rank\",\n \"regr_avgx\",\n \"regr_avgy\",\n \"regr_count\",\n \"regr_intercept\",\n \"regr_r2\",\n \"regr_slope\",\n \"regr_sxx\",\n \"regr_sxy\",\n \"regr_syy\",\n \"row_number\",\n \"sin\",\n \"sinh\",\n \"sqrt\",\n \"stddev_pop\",\n \"stddev_samp\",\n \"substring\",\n \"substring_regex\",\n \"sum\",\n \"tan\",\n \"tanh\",\n \"translate\",\n \"translate_regex\",\n \"treat\",\n \"trim\",\n \"trim_array\",\n \"unnest\",\n \"upper\",\n \"value_of\",\n \"var_pop\",\n \"var_samp\",\n \"width_bucket\",\n ];\n\n // these functions can\n const POSSIBLE_WITHOUT_PARENS = [\n \"current_catalog\",\n \"current_date\",\n \"current_default_transform_group\",\n \"current_path\",\n \"current_role\",\n \"current_schema\",\n \"current_transform_group_for_type\",\n \"current_user\",\n \"session_user\",\n \"system_time\",\n \"system_user\",\n \"current_time\",\n \"localtime\",\n \"current_timestamp\",\n \"localtimestamp\"\n ];\n\n // those exist to boost relevance making these very\n // \"SQL like\" keyword combos worth +1 extra relevance\n const COMBOS = [\n \"create table\",\n \"insert into\",\n \"primary key\",\n \"foreign key\",\n \"not null\",\n \"alter table\",\n \"add constraint\",\n \"grouping sets\",\n \"on overflow\",\n \"character set\",\n \"respect nulls\",\n \"ignore nulls\",\n \"nulls first\",\n \"nulls last\",\n \"depth first\",\n \"breadth first\"\n ];\n\n const FUNCTIONS = RESERVED_FUNCTIONS;\n\n const KEYWORDS = [\n ...RESERVED_WORDS,\n ...NON_RESERVED_WORDS\n ].filter((keyword) => {\n return !RESERVED_FUNCTIONS.includes(keyword);\n });\n\n const VARIABLE = {\n scope: \"variable\",\n match: /@[a-z0-9][a-z0-9_]*/,\n };\n\n const OPERATOR = {\n scope: \"operator\",\n match: /[-+*/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,\n relevance: 0,\n };\n\n const FUNCTION_CALL = {\n match: regex.concat(/\\b/, regex.either(...FUNCTIONS), /\\s*\\(/),\n relevance: 0,\n keywords: { built_in: FUNCTIONS }\n };\n\n // turns a multi-word keyword combo into a regex that doesn't\n // care about extra whitespace etc.\n // input: \"START QUERY\"\n // output: /\\bSTART\\s+QUERY\\b/\n function kws_to_regex(list) {\n return regex.concat(\n /\\b/,\n regex.either(...list.map((kw) => {\n return kw.replace(/\\s+/, \"\\\\s+\")\n })),\n /\\b/\n )\n }\n\n const MULTI_WORD_KEYWORDS = {\n scope: \"keyword\",\n match: kws_to_regex(COMBOS),\n relevance: 0,\n };\n\n // keywords with less than 3 letters are reduced in relevancy\n function reduceRelevancy(list, {\n exceptions, when\n } = {}) {\n const qualifyFn = when;\n exceptions = exceptions || [];\n return list.map((item) => {\n if (item.match(/\\|\\d+$/) || exceptions.includes(item)) {\n return item;\n } else if (qualifyFn(item)) {\n return `${item}|0`;\n } else {\n return item;\n }\n });\n }\n\n return {\n name: 'SQL',\n case_insensitive: true,\n // does not include {} or HTML tags ` x.length < 3 }),\n literal: LITERALS,\n type: TYPES,\n built_in: POSSIBLE_WITHOUT_PARENS\n },\n contains: [\n {\n scope: \"type\",\n match: kws_to_regex(MULTI_WORD_TYPES)\n },\n MULTI_WORD_KEYWORDS,\n FUNCTION_CALL,\n VARIABLE,\n STRING,\n QUOTED_IDENTIFIER,\n hljs.C_NUMBER_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n COMMENT_MODE,\n OPERATOR\n ]\n };\n}\n\nexport { sql as default };\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\nconst keywordWrapper = keyword => concat(\n /\\b/,\n keyword,\n /\\w$/.test(keyword) ? /\\b/ : /\\B/\n);\n\n// Keywords that require a leading dot.\nconst dotKeywords = [\n 'Protocol', // contextual\n 'Type' // contextual\n].map(keywordWrapper);\n\n// Keywords that may have a leading dot.\nconst optionalDotKeywords = [\n 'init',\n 'self'\n].map(keywordWrapper);\n\n// should register as keyword, not type\nconst keywordTypes = [\n 'Any',\n 'Self'\n];\n\n// Regular keywords and literals.\nconst keywords = [\n // strings below will be fed into the regular `keywords` engine while regex\n // will result in additional modes being created to scan for those keywords to\n // avoid conflicts with other rules\n 'actor',\n 'any', // contextual\n 'associatedtype',\n 'async',\n 'await',\n /as\\?/, // operator\n /as!/, // operator\n 'as', // operator\n 'borrowing', // contextual\n 'break',\n 'case',\n 'catch',\n 'class',\n 'consume', // contextual\n 'consuming', // contextual\n 'continue',\n 'convenience', // contextual\n 'copy', // contextual\n 'default',\n 'defer',\n 'deinit',\n 'didSet', // contextual\n 'distributed',\n 'do',\n 'dynamic', // contextual\n 'each',\n 'else',\n 'enum',\n 'extension',\n 'fallthrough',\n /fileprivate\\(set\\)/,\n 'fileprivate',\n 'final', // contextual\n 'for',\n 'func',\n 'get', // contextual\n 'guard',\n 'if',\n 'import',\n 'indirect', // contextual\n 'infix', // contextual\n /init\\?/,\n /init!/,\n 'inout',\n /internal\\(set\\)/,\n 'internal',\n 'in',\n 'is', // operator\n 'isolated', // contextual\n 'nonisolated', // contextual\n 'lazy', // contextual\n 'let',\n 'macro',\n 'mutating', // contextual\n 'nonmutating', // contextual\n /open\\(set\\)/, // contextual\n 'open', // contextual\n 'operator',\n 'optional', // contextual\n 'override', // contextual\n 'package',\n 'postfix', // contextual\n 'precedencegroup',\n 'prefix', // contextual\n /private\\(set\\)/,\n 'private',\n 'protocol',\n /public\\(set\\)/,\n 'public',\n 'repeat',\n 'required', // contextual\n 'rethrows',\n 'return',\n 'set', // contextual\n 'some', // contextual\n 'static',\n 'struct',\n 'subscript',\n 'super',\n 'switch',\n 'throws',\n 'throw',\n /try\\?/, // operator\n /try!/, // operator\n 'try', // operator\n 'typealias',\n /unowned\\(safe\\)/, // contextual\n /unowned\\(unsafe\\)/, // contextual\n 'unowned', // contextual\n 'var',\n 'weak', // contextual\n 'where',\n 'while',\n 'willSet' // contextual\n];\n\n// NOTE: Contextual keywords are reserved only in specific contexts.\n// Ideally, these should be matched using modes to avoid false positives.\n\n// Literals.\nconst literals = [\n 'false',\n 'nil',\n 'true'\n];\n\n// Keywords used in precedence groups.\nconst precedencegroupKeywords = [\n 'assignment',\n 'associativity',\n 'higherThan',\n 'left',\n 'lowerThan',\n 'none',\n 'right'\n];\n\n// Keywords that start with a number sign (#).\n// #(un)available is handled separately.\nconst numberSignKeywords = [\n '#colorLiteral',\n '#column',\n '#dsohandle',\n '#else',\n '#elseif',\n '#endif',\n '#error',\n '#file',\n '#fileID',\n '#fileLiteral',\n '#filePath',\n '#function',\n '#if',\n '#imageLiteral',\n '#keyPath',\n '#line',\n '#selector',\n '#sourceLocation',\n '#warning'\n];\n\n// Global functions in the Standard Library.\nconst builtIns = [\n 'abs',\n 'all',\n 'any',\n 'assert',\n 'assertionFailure',\n 'debugPrint',\n 'dump',\n 'fatalError',\n 'getVaList',\n 'isKnownUniquelyReferenced',\n 'max',\n 'min',\n 'numericCast',\n 'pointwiseMax',\n 'pointwiseMin',\n 'precondition',\n 'preconditionFailure',\n 'print',\n 'readLine',\n 'repeatElement',\n 'sequence',\n 'stride',\n 'swap',\n 'swift_unboxFromSwiftValueWithType',\n 'transcode',\n 'type',\n 'unsafeBitCast',\n 'unsafeDowncast',\n 'withExtendedLifetime',\n 'withUnsafeMutablePointer',\n 'withUnsafePointer',\n 'withVaList',\n 'withoutActuallyEscaping',\n 'zip'\n];\n\n// Valid first characters for operators.\nconst operatorHead = either(\n /[/=\\-+!*%<>&|^~?]/,\n /[\\u00A1-\\u00A7]/,\n /[\\u00A9\\u00AB]/,\n /[\\u00AC\\u00AE]/,\n /[\\u00B0\\u00B1]/,\n /[\\u00B6\\u00BB\\u00BF\\u00D7\\u00F7]/,\n /[\\u2016-\\u2017]/,\n /[\\u2020-\\u2027]/,\n /[\\u2030-\\u203E]/,\n /[\\u2041-\\u2053]/,\n /[\\u2055-\\u205E]/,\n /[\\u2190-\\u23FF]/,\n /[\\u2500-\\u2775]/,\n /[\\u2794-\\u2BFF]/,\n /[\\u2E00-\\u2E7F]/,\n /[\\u3001-\\u3003]/,\n /[\\u3008-\\u3020]/,\n /[\\u3030]/\n);\n\n// Valid characters for operators.\nconst operatorCharacter = either(\n operatorHead,\n /[\\u0300-\\u036F]/,\n /[\\u1DC0-\\u1DFF]/,\n /[\\u20D0-\\u20FF]/,\n /[\\uFE00-\\uFE0F]/,\n /[\\uFE20-\\uFE2F]/\n // TODO: The following characters are also allowed, but the regex isn't supported yet.\n // /[\\u{E0100}-\\u{E01EF}]/u\n);\n\n// Valid operator.\nconst operator = concat(operatorHead, operatorCharacter, '*');\n\n// Valid first characters for identifiers.\nconst identifierHead = either(\n /[a-zA-Z_]/,\n /[\\u00A8\\u00AA\\u00AD\\u00AF\\u00B2-\\u00B5\\u00B7-\\u00BA]/,\n /[\\u00BC-\\u00BE\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF]/,\n /[\\u0100-\\u02FF\\u0370-\\u167F\\u1681-\\u180D\\u180F-\\u1DBF]/,\n /[\\u1E00-\\u1FFF]/,\n /[\\u200B-\\u200D\\u202A-\\u202E\\u203F-\\u2040\\u2054\\u2060-\\u206F]/,\n /[\\u2070-\\u20CF\\u2100-\\u218F\\u2460-\\u24FF\\u2776-\\u2793]/,\n /[\\u2C00-\\u2DFF\\u2E80-\\u2FFF]/,\n /[\\u3004-\\u3007\\u3021-\\u302F\\u3031-\\u303F\\u3040-\\uD7FF]/,\n /[\\uF900-\\uFD3D\\uFD40-\\uFDCF\\uFDF0-\\uFE1F\\uFE30-\\uFE44]/,\n /[\\uFE47-\\uFEFE\\uFF00-\\uFFFD]/ // Should be /[\\uFE47-\\uFFFD]/, but we have to exclude FEFF.\n // The following characters are also allowed, but the regexes aren't supported yet.\n // /[\\u{10000}-\\u{1FFFD}\\u{20000-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}]/u,\n // /[\\u{50000}-\\u{5FFFD}\\u{60000-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}]/u,\n // /[\\u{90000}-\\u{9FFFD}\\u{A0000-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}]/u,\n // /[\\u{D0000}-\\u{DFFFD}\\u{E0000-\\u{EFFFD}]/u\n);\n\n// Valid characters for identifiers.\nconst identifierCharacter = either(\n identifierHead,\n /\\d/,\n /[\\u0300-\\u036F\\u1DC0-\\u1DFF\\u20D0-\\u20FF\\uFE20-\\uFE2F]/\n);\n\n// Valid identifier.\nconst identifier = concat(identifierHead, identifierCharacter, '*');\n\n// Valid type identifier.\nconst typeIdentifier = concat(/[A-Z]/, identifierCharacter, '*');\n\n// Built-in attributes, which are highlighted as keywords.\n// @available is handled separately.\n// https://docs.swift.org/swift-book/documentation/the-swift-programming-language/attributes\nconst keywordAttributes = [\n 'attached',\n 'autoclosure',\n concat(/convention\\(/, either('swift', 'block', 'c'), /\\)/),\n 'discardableResult',\n 'dynamicCallable',\n 'dynamicMemberLookup',\n 'escaping',\n 'freestanding',\n 'frozen',\n 'GKInspectable',\n 'IBAction',\n 'IBDesignable',\n 'IBInspectable',\n 'IBOutlet',\n 'IBSegueAction',\n 'inlinable',\n 'main',\n 'nonobjc',\n 'NSApplicationMain',\n 'NSCopying',\n 'NSManaged',\n concat(/objc\\(/, identifier, /\\)/),\n 'objc',\n 'objcMembers',\n 'propertyWrapper',\n 'requires_stored_property_inits',\n 'resultBuilder',\n 'Sendable',\n 'testable',\n 'UIApplicationMain',\n 'unchecked',\n 'unknown',\n 'usableFromInline',\n 'warn_unqualified_access'\n];\n\n// Contextual keywords used in @available and #(un)available.\nconst availabilityKeywords = [\n 'iOS',\n 'iOSApplicationExtension',\n 'macOS',\n 'macOSApplicationExtension',\n 'macCatalyst',\n 'macCatalystApplicationExtension',\n 'watchOS',\n 'watchOSApplicationExtension',\n 'tvOS',\n 'tvOSApplicationExtension',\n 'swift'\n];\n\n/*\nLanguage: Swift\nDescription: Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.\nAuthor: Steven Van Impe \nContributors: Chris Eidhof , Nate Cook , Alexander Lichter , Richard Gibson \nWebsite: https://swift.org\nCategory: common, system\n*/\n\n\n/** @type LanguageFn */\nfunction swift(hljs) {\n const WHITESPACE = {\n match: /\\s+/,\n relevance: 0\n };\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID411\n const BLOCK_COMMENT = hljs.COMMENT(\n '/\\\\*',\n '\\\\*/',\n { contains: [ 'self' ] }\n );\n const COMMENTS = [\n hljs.C_LINE_COMMENT_MODE,\n BLOCK_COMMENT\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID413\n // https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html\n const DOT_KEYWORD = {\n match: [\n /\\./,\n either(...dotKeywords, ...optionalDotKeywords)\n ],\n className: { 2: \"keyword\" }\n };\n const KEYWORD_GUARD = {\n // Consume .keyword to prevent highlighting properties and methods as keywords.\n match: concat(/\\./, either(...keywords)),\n relevance: 0\n };\n const PLAIN_KEYWORDS = keywords\n .filter(kw => typeof kw === 'string')\n .concat([ \"_|0\" ]); // seems common, so 0 relevance\n const REGEX_KEYWORDS = keywords\n .filter(kw => typeof kw !== 'string') // find regex\n .concat(keywordTypes)\n .map(keywordWrapper);\n const KEYWORD = { variants: [\n {\n className: 'keyword',\n match: either(...REGEX_KEYWORDS, ...optionalDotKeywords)\n }\n ] };\n // find all the regular keywords\n const KEYWORDS = {\n $pattern: either(\n /\\b\\w+/, // regular keywords\n /#\\w+/ // number keywords\n ),\n keyword: PLAIN_KEYWORDS\n .concat(numberSignKeywords),\n literal: literals\n };\n const KEYWORD_MODES = [\n DOT_KEYWORD,\n KEYWORD_GUARD,\n KEYWORD\n ];\n\n // https://github.com/apple/swift/tree/main/stdlib/public/core\n const BUILT_IN_GUARD = {\n // Consume .built_in to prevent highlighting properties and methods.\n match: concat(/\\./, either(...builtIns)),\n relevance: 0\n };\n const BUILT_IN = {\n className: 'built_in',\n match: concat(/\\b/, either(...builtIns), /(?=\\()/)\n };\n const BUILT_INS = [\n BUILT_IN_GUARD,\n BUILT_IN\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID418\n const OPERATOR_GUARD = {\n // Prevent -> from being highlighting as an operator.\n match: /->/,\n relevance: 0\n };\n const OPERATOR = {\n className: 'operator',\n relevance: 0,\n variants: [\n { match: operator },\n {\n // dot-operator: only operators that start with a dot are allowed to use dots as\n // characters (..., ...<, .*, etc). So there rule here is: a dot followed by one or more\n // characters that may also include dots.\n match: `\\\\.(\\\\.|${operatorCharacter})+` }\n ]\n };\n const OPERATORS = [\n OPERATOR_GUARD,\n OPERATOR\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_numeric-literal\n // TODO: Update for leading `-` after lookbehind is supported everywhere\n const decimalDigits = '([0-9]_*)+';\n const hexDigits = '([0-9a-fA-F]_*)+';\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // decimal floating-point-literal (subsumes decimal-literal)\n { match: `\\\\b(${decimalDigits})(\\\\.(${decimalDigits}))?` + `([eE][+-]?(${decimalDigits}))?\\\\b` },\n // hexadecimal floating-point-literal (subsumes hexadecimal-literal)\n { match: `\\\\b0x(${hexDigits})(\\\\.(${hexDigits}))?` + `([pP][+-]?(${decimalDigits}))?\\\\b` },\n // octal-literal\n { match: /\\b0o([0-7]_*)+\\b/ },\n // binary-literal\n { match: /\\b0b([01]_*)+\\b/ }\n ]\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_string-literal\n const ESCAPED_CHARACTER = (rawDelimiter = \"\") => ({\n className: 'subst',\n variants: [\n { match: concat(/\\\\/, rawDelimiter, /[0\\\\tnr\"']/) },\n { match: concat(/\\\\/, rawDelimiter, /u\\{[0-9a-fA-F]{1,8}\\}/) }\n ]\n });\n const ESCAPED_NEWLINE = (rawDelimiter = \"\") => ({\n className: 'subst',\n match: concat(/\\\\/, rawDelimiter, /[\\t ]*(?:[\\r\\n]|\\r\\n)/)\n });\n const INTERPOLATION = (rawDelimiter = \"\") => ({\n className: 'subst',\n label: \"interpol\",\n begin: concat(/\\\\/, rawDelimiter, /\\(/),\n end: /\\)/\n });\n const MULTILINE_STRING = (rawDelimiter = \"\") => ({\n begin: concat(rawDelimiter, /\"\"\"/),\n end: concat(/\"\"\"/, rawDelimiter),\n contains: [\n ESCAPED_CHARACTER(rawDelimiter),\n ESCAPED_NEWLINE(rawDelimiter),\n INTERPOLATION(rawDelimiter)\n ]\n });\n const SINGLE_LINE_STRING = (rawDelimiter = \"\") => ({\n begin: concat(rawDelimiter, /\"/),\n end: concat(/\"/, rawDelimiter),\n contains: [\n ESCAPED_CHARACTER(rawDelimiter),\n INTERPOLATION(rawDelimiter)\n ]\n });\n const STRING = {\n className: 'string',\n variants: [\n MULTILINE_STRING(),\n MULTILINE_STRING(\"#\"),\n MULTILINE_STRING(\"##\"),\n MULTILINE_STRING(\"###\"),\n SINGLE_LINE_STRING(),\n SINGLE_LINE_STRING(\"#\"),\n SINGLE_LINE_STRING(\"##\"),\n SINGLE_LINE_STRING(\"###\")\n ]\n };\n\n const REGEXP_CONTENTS = [\n hljs.BACKSLASH_ESCAPE,\n {\n begin: /\\[/,\n end: /\\]/,\n relevance: 0,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n }\n ];\n\n const BARE_REGEXP_LITERAL = {\n begin: /\\/[^\\s](?=[^/\\n]*\\/)/,\n end: /\\//,\n contains: REGEXP_CONTENTS\n };\n\n const EXTENDED_REGEXP_LITERAL = (rawDelimiter) => {\n const begin = concat(rawDelimiter, /\\//);\n const end = concat(/\\//, rawDelimiter);\n return {\n begin,\n end,\n contains: [\n ...REGEXP_CONTENTS,\n {\n scope: \"comment\",\n begin: `#(?!.*${end})`,\n end: /$/,\n },\n ],\n };\n };\n\n // https://docs.swift.org/swift-book/documentation/the-swift-programming-language/lexicalstructure/#Regular-Expression-Literals\n const REGEXP = {\n scope: \"regexp\",\n variants: [\n EXTENDED_REGEXP_LITERAL('###'),\n EXTENDED_REGEXP_LITERAL('##'),\n EXTENDED_REGEXP_LITERAL('#'),\n BARE_REGEXP_LITERAL\n ]\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID412\n const QUOTED_IDENTIFIER = { match: concat(/`/, identifier, /`/) };\n const IMPLICIT_PARAMETER = {\n className: 'variable',\n match: /\\$\\d+/\n };\n const PROPERTY_WRAPPER_PROJECTION = {\n className: 'variable',\n match: `\\\\$${identifierCharacter}+`\n };\n const IDENTIFIERS = [\n QUOTED_IDENTIFIER,\n IMPLICIT_PARAMETER,\n PROPERTY_WRAPPER_PROJECTION\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/Attributes.html\n const AVAILABLE_ATTRIBUTE = {\n match: /(@|#(un)?)available/,\n scope: 'keyword',\n starts: { contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: availabilityKeywords,\n contains: [\n ...OPERATORS,\n NUMBER,\n STRING\n ]\n }\n ] }\n };\n\n const KEYWORD_ATTRIBUTE = {\n scope: 'keyword',\n match: concat(/@/, either(...keywordAttributes), lookahead(either(/\\(/, /\\s+/))),\n };\n\n const USER_DEFINED_ATTRIBUTE = {\n scope: 'meta',\n match: concat(/@/, identifier)\n };\n\n const ATTRIBUTES = [\n AVAILABLE_ATTRIBUTE,\n KEYWORD_ATTRIBUTE,\n USER_DEFINED_ATTRIBUTE\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/Types.html\n const TYPE = {\n match: lookahead(/\\b[A-Z]/),\n relevance: 0,\n contains: [\n { // Common Apple frameworks, for relevance boost\n className: 'type',\n match: concat(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/, identifierCharacter, '+')\n },\n { // Type identifier\n className: 'type',\n match: typeIdentifier,\n relevance: 0\n },\n { // Optional type\n match: /[?!]+/,\n relevance: 0\n },\n { // Variadic parameter\n match: /\\.\\.\\./,\n relevance: 0\n },\n { // Protocol composition\n match: concat(/\\s+&\\s+/, lookahead(typeIdentifier)),\n relevance: 0\n }\n ]\n };\n const GENERIC_ARGUMENTS = {\n begin: //,\n keywords: KEYWORDS,\n contains: [\n ...COMMENTS,\n ...KEYWORD_MODES,\n ...ATTRIBUTES,\n OPERATOR_GUARD,\n TYPE\n ]\n };\n TYPE.contains.push(GENERIC_ARGUMENTS);\n\n // https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#ID552\n // Prevents element names from being highlighted as keywords.\n const TUPLE_ELEMENT_NAME = {\n match: concat(identifier, /\\s*:/),\n keywords: \"_|0\",\n relevance: 0\n };\n // Matches tuples as well as the parameter list of a function type.\n const TUPLE = {\n begin: /\\(/,\n end: /\\)/,\n relevance: 0,\n keywords: KEYWORDS,\n contains: [\n 'self',\n TUPLE_ELEMENT_NAME,\n ...COMMENTS,\n REGEXP,\n ...KEYWORD_MODES,\n ...BUILT_INS,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...IDENTIFIERS,\n ...ATTRIBUTES,\n TYPE\n ]\n };\n\n const GENERIC_PARAMETERS = {\n begin: //,\n keywords: 'repeat each',\n contains: [\n ...COMMENTS,\n TYPE\n ]\n };\n const FUNCTION_PARAMETER_NAME = {\n begin: either(\n lookahead(concat(identifier, /\\s*:/)),\n lookahead(concat(identifier, /\\s+/, identifier, /\\s*:/))\n ),\n end: /:/,\n relevance: 0,\n contains: [\n {\n className: 'keyword',\n match: /\\b_\\b/\n },\n {\n className: 'params',\n match: identifier\n }\n ]\n };\n const FUNCTION_PARAMETERS = {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n FUNCTION_PARAMETER_NAME,\n ...COMMENTS,\n ...KEYWORD_MODES,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...ATTRIBUTES,\n TYPE,\n TUPLE\n ],\n endsParent: true,\n illegal: /[\"']/\n };\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID362\n // https://docs.swift.org/swift-book/documentation/the-swift-programming-language/declarations/#Macro-Declaration\n const FUNCTION_OR_MACRO = {\n match: [\n /(func|macro)/,\n /\\s+/,\n either(QUOTED_IDENTIFIER.match, identifier, operator)\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n GENERIC_PARAMETERS,\n FUNCTION_PARAMETERS,\n WHITESPACE\n ],\n illegal: [\n /\\[/,\n /%/\n ]\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID375\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID379\n const INIT_SUBSCRIPT = {\n match: [\n /\\b(?:subscript|init[?!]?)/,\n /\\s*(?=[<(])/,\n ],\n className: { 1: \"keyword\" },\n contains: [\n GENERIC_PARAMETERS,\n FUNCTION_PARAMETERS,\n WHITESPACE\n ],\n illegal: /\\[|%/\n };\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID380\n const OPERATOR_DECLARATION = {\n match: [\n /operator/,\n /\\s+/,\n operator\n ],\n className: {\n 1: \"keyword\",\n 3: \"title\"\n }\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID550\n const PRECEDENCEGROUP = {\n begin: [\n /precedencegroup/,\n /\\s+/,\n typeIdentifier\n ],\n className: {\n 1: \"keyword\",\n 3: \"title\"\n },\n contains: [ TYPE ],\n keywords: [\n ...precedencegroupKeywords,\n ...literals\n ],\n end: /}/\n };\n\n const CLASS_FUNC_DECLARATION = {\n match: [\n /class\\b/, \n /\\s+/,\n /func\\b/,\n /\\s+/,\n /\\b[A-Za-z_][A-Za-z0-9_]*\\b/ \n ],\n scope: {\n 1: \"keyword\",\n 3: \"keyword\",\n 5: \"title.function\"\n }\n };\n\n const CLASS_VAR_DECLARATION = {\n match: [\n /class\\b/,\n /\\s+/, \n /var\\b/, \n ],\n scope: {\n 1: \"keyword\",\n 3: \"keyword\"\n }\n };\n\n const TYPE_DECLARATION = {\n begin: [\n /(struct|protocol|class|extension|enum|actor)/,\n /\\s+/,\n identifier,\n /\\s*/,\n ],\n beginScope: {\n 1: \"keyword\",\n 3: \"title.class\"\n },\n keywords: KEYWORDS,\n contains: [\n GENERIC_PARAMETERS,\n ...KEYWORD_MODES,\n {\n begin: /:/,\n end: /\\{/,\n keywords: KEYWORDS,\n contains: [\n {\n scope: \"title.class.inherited\",\n match: typeIdentifier,\n },\n ...KEYWORD_MODES,\n ],\n relevance: 0,\n },\n ]\n };\n\n // Add supported submodes to string interpolation.\n for (const variant of STRING.variants) {\n const interpolation = variant.contains.find(mode => mode.label === \"interpol\");\n // TODO: Interpolation can contain any expression, so there's room for improvement here.\n interpolation.keywords = KEYWORDS;\n const submodes = [\n ...KEYWORD_MODES,\n ...BUILT_INS,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...IDENTIFIERS\n ];\n interpolation.contains = [\n ...submodes,\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [\n 'self',\n ...submodes\n ]\n }\n ];\n }\n\n return {\n name: 'Swift',\n keywords: KEYWORDS,\n contains: [\n ...COMMENTS,\n FUNCTION_OR_MACRO,\n INIT_SUBSCRIPT,\n CLASS_FUNC_DECLARATION,\n CLASS_VAR_DECLARATION,\n TYPE_DECLARATION,\n OPERATOR_DECLARATION,\n PRECEDENCEGROUP,\n {\n beginKeywords: 'import',\n end: /$/,\n contains: [ ...COMMENTS ],\n relevance: 0\n },\n REGEXP,\n ...KEYWORD_MODES,\n ...BUILT_INS,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...IDENTIFIERS,\n ...ATTRIBUTES,\n TYPE,\n TUPLE\n ]\n };\n}\n\nexport { swift as default };\n","const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\",\n // It's reached stage 3, which is \"recommended for implementation\":\n \"using\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nconst TYPES = [\n // Fundamental objects\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Symbol\",\n // numbers and dates\n \"Math\",\n \"Date\",\n \"Number\",\n \"BigInt\",\n // text\n \"String\",\n \"RegExp\",\n // Indexed collections\n \"Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n // Keyed collections\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n // Structured data\n \"ArrayBuffer\",\n \"SharedArrayBuffer\",\n \"Atomics\",\n \"DataView\",\n \"JSON\",\n // Control abstraction objects\n \"Promise\",\n \"Generator\",\n \"GeneratorFunction\",\n \"AsyncFunction\",\n // Reflection\n \"Reflect\",\n \"Proxy\",\n // Internationalization\n \"Intl\",\n // WebAssembly\n \"WebAssembly\"\n];\n\nconst ERROR_TYPES = [\n \"Error\",\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"sessionStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n const regex = hljs.regex;\n /**\n * Takes a string like \" {\n const tag = \"',\n end: ''\n };\n // to avoid some special cases inside isTrulyOpeningTag\n const XML_SELF_CLOSING = /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/;\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n if (\n // HTML should not include another raw `<` inside a tag\n // nested type?\n // `>`, etc.\n nextChar === \"<\" ||\n // the , gives away that this is not HTML\n // ``\n nextChar === \",\"\n ) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // Quite possibly a tag, lets look for a matching closing tag...\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n\n // `` (self-closing)\n // handled by simpleSelfClosing rule\n\n let m;\n const afterMatch = match.input.substring(afterMatchIndex);\n\n // some more template typing stuff\n // (key?: string) => Modify<\n if ((m = afterMatch.match(/^\\s*=/))) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // technically this could be HTML, but it smells like a type\n // NOTE: This is ugh, but added specifically for https://github.com/highlightjs/highlight.js/issues/3276\n if ((m = afterMatch.match(/^\\s+extends\\s+/))) {\n if (m.index === 0) {\n response.ignoreMatch();\n // eslint-disable-next-line no-useless-return\n return;\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS,\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: '\\.?html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: '\\.?css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const GRAPHQL_TEMPLATE = {\n begin: '\\.?gql`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'graphql'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n begin: '(?=@[A-Za-z]+)',\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n },\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n excludeEnd: true,\n excludeBegin: true,\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n // This is intentional:\n // See https://github.com/highlightjs/highlight.js/issues/3288\n // hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n // convert this to negative lookbehind in v12\n begin: /(\\s*)\\(/, // to match the parms with\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n // ES6 classes\n const CLASS_OR_EXTENDS = {\n variants: [\n // class Car extends vehicle\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1,\n /\\s+/,\n /extends/,\n /\\s+/,\n regex.concat(IDENT_RE$1, \"(\", regex.concat(/\\./, IDENT_RE$1), \")*\")\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n },\n // class Car\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n\n ]\n };\n\n const CLASS_REFERENCE = {\n relevance: 0,\n match:\n regex.either(\n // Hard coded exceptions\n /\\bJSON/,\n // Float32Array, OutT\n /\\b[A-Z][a-z]+([A-Z][a-z]*|\\d)*/,\n // CSSFactory, CSSFactoryT\n /\\b[A-Z]{2,}([A-Z][a-z]+|\\d)+([A-Z][a-z]*)*/,\n // FPs, FPsT\n /\\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\\d)*([A-Z][a-z]*)*/,\n // P\n // single letters are not highlighted\n // BLAH\n // this will be flagged as a UPPER_CASE_CONSTANT instead\n ),\n className: \"title.class\",\n keywords: {\n _: [\n // se we still get relevance credit for JS library classes\n ...TYPES,\n ...ERROR_TYPES\n ]\n }\n };\n\n const USE_STRICT = {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n };\n\n const FUNCTION_DEFINITION = {\n variants: [\n {\n match: [\n /function/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\s*\\()/\n ]\n },\n // anonymous function\n {\n match: [\n /function/,\n /\\s*(?=\\()/\n ]\n }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n label: \"func.def\",\n contains: [ PARAMS ],\n illegal: /%/\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n function noneOf(list) {\n return regex.concat(\"(?!\", list.join(\"|\"), \")\");\n }\n\n const FUNCTION_CALL = {\n match: regex.concat(\n /\\b/,\n noneOf([\n ...BUILT_IN_GLOBALS,\n \"super\",\n \"import\"\n ].map(x => `${x}\\\\s*\\\\(`)),\n IDENT_RE$1, regex.lookahead(/\\s*\\(/)),\n className: \"title.function\",\n relevance: 0\n };\n\n const PROPERTY_ACCESS = {\n begin: regex.concat(/\\./, regex.lookahead(\n regex.concat(IDENT_RE$1, /(?![0-9A-Za-z$_(])/)\n )),\n end: IDENT_RE$1,\n excludeBegin: true,\n keywords: \"prototype\",\n className: \"property\",\n relevance: 0\n };\n\n const GETTER_OR_SETTER = {\n match: [\n /get|set/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\()/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n { // eat to avoid empty params\n begin: /\\(\\)/\n },\n PARAMS\n ]\n };\n\n const FUNC_LEAD_IN_RE = '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>';\n\n const FUNCTION_VARIABLE = {\n match: [\n /const|var|let/, /\\s+/,\n IDENT_RE$1, /\\s*/,\n /=\\s*/,\n /(async\\s*)?/, // async is optional\n regex.lookahead(FUNC_LEAD_IN_RE)\n ],\n keywords: \"async\",\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n return {\n name: 'JavaScript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS, CLASS_REFERENCE },\n illegal: /#(?![$_A-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n USE_STRICT,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n CLASS_REFERENCE,\n {\n scope: 'attr',\n match: IDENT_RE$1 + regex.lookahead(':'),\n relevance: 0\n },\n FUNCTION_VARIABLE,\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n relevance: 0,\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: FUNC_LEAD_IN_RE,\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/,\n relevance: 0\n },\n {\n match: /\\s+/,\n relevance: 0\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n { match: XML_SELF_CLOSING },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n },\n FUNCTION_DEFINITION,\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: '\\\\b(?!function)' + hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n label: \"func.def\",\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1, className: \"title.function\" })\n ]\n },\n // catch ... so it won't trigger the property rule below\n {\n match: /\\.\\.\\./,\n relevance: 0\n },\n PROPERTY_ACCESS,\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n match: '\\\\$' + IDENT_RE$1,\n relevance: 0\n },\n {\n match: [ /\\bconstructor(?=\\s*\\()/ ],\n className: { 1: \"title.function\" },\n contains: [ PARAMS ]\n },\n FUNCTION_CALL,\n UPPER_CASE_CONSTANT,\n CLASS_OR_EXTENDS,\n GETTER_OR_SETTER,\n {\n match: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\n/*\nLanguage: TypeScript\nAuthor: Panu Horsmalahti \nContributors: Ike Ku \nDescription: TypeScript is a strict superset of JavaScript\nWebsite: https://www.typescriptlang.org\nCategory: common, scripting\n*/\n\n\n/** @type LanguageFn */\nfunction typescript(hljs) {\n const regex = hljs.regex;\n const tsLanguage = javascript(hljs);\n\n const IDENT_RE$1 = IDENT_RE;\n const TYPES = [\n \"any\",\n \"void\",\n \"number\",\n \"boolean\",\n \"string\",\n \"object\",\n \"never\",\n \"symbol\",\n \"bigint\",\n \"unknown\"\n ];\n const NAMESPACE = {\n begin: [\n /namespace/,\n /\\s+/,\n hljs.IDENT_RE\n ],\n beginScope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n };\n const INTERFACE = {\n beginKeywords: 'interface',\n end: /\\{/,\n excludeEnd: true,\n keywords: {\n keyword: 'interface extends',\n built_in: TYPES\n },\n contains: [ tsLanguage.exports.CLASS_REFERENCE ]\n };\n const USE_STRICT = {\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use strict['\"]/\n };\n const TS_SPECIFIC_KEYWORDS = [\n \"type\",\n // \"namespace\",\n \"interface\",\n \"public\",\n \"private\",\n \"protected\",\n \"implements\",\n \"declare\",\n \"abstract\",\n \"readonly\",\n \"enum\",\n \"override\",\n \"satisfies\"\n ];\n /*\n namespace is a TS keyword but it's fine to use it as a variable name too.\n const message = 'foo';\n const namespace = 'bar';\n */\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS.concat(TS_SPECIFIC_KEYWORDS),\n literal: LITERALS,\n built_in: BUILT_INS.concat(TYPES),\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n const DECORATOR = {\n className: 'meta',\n begin: '@' + IDENT_RE$1,\n };\n\n const swapMode = (mode, label, replacement) => {\n const indx = mode.contains.findIndex(m => m.label === label);\n if (indx === -1) { throw new Error(\"can not find mode to replace\"); }\n\n mode.contains.splice(indx, 1, replacement);\n };\n\n\n // this should update anywhere keywords is used since\n // it will be the same actual JS object\n Object.assign(tsLanguage.keywords, KEYWORDS$1);\n\n tsLanguage.exports.PARAMS_CONTAINS.push(DECORATOR);\n\n // highlight the function params\n const ATTRIBUTE_HIGHLIGHT = tsLanguage.contains.find(c => c.scope === \"attr\");\n\n // take default attr rule and extend it to support optionals\n const OPTIONAL_KEY_OR_ARGUMENT = Object.assign({},\n ATTRIBUTE_HIGHLIGHT,\n { match: regex.concat(IDENT_RE$1, regex.lookahead(/\\s*\\?:/)) }\n );\n tsLanguage.exports.PARAMS_CONTAINS.push([\n tsLanguage.exports.CLASS_REFERENCE, // class reference for highlighting the params types\n ATTRIBUTE_HIGHLIGHT, // highlight the params key\n OPTIONAL_KEY_OR_ARGUMENT, // Added for optional property assignment highlighting\n ]);\n\n // Add the optional property assignment highlighting for objects or classes\n tsLanguage.contains = tsLanguage.contains.concat([\n DECORATOR,\n NAMESPACE,\n INTERFACE,\n OPTIONAL_KEY_OR_ARGUMENT, // Added for optional property assignment highlighting\n ]);\n\n // TS gets a simpler shebang rule than JS\n swapMode(tsLanguage, \"shebang\", hljs.SHEBANG());\n // JS use strict rule purposely excludes `asm` which makes no sense\n swapMode(tsLanguage, \"use_strict\", USE_STRICT);\n\n const functionDeclaration = tsLanguage.contains.find(m => m.label === \"func.def\");\n functionDeclaration.relevance = 0; // () => {} is more typical in TypeScript\n\n Object.assign(tsLanguage, {\n name: 'TypeScript',\n aliases: [\n 'ts',\n 'tsx',\n 'mts',\n 'cts'\n ]\n });\n\n return tsLanguage;\n}\n\nexport { typescript as default };\n","/*\nLanguage: Visual Basic .NET\nDescription: Visual Basic .NET (VB.NET) is a multi-paradigm, object-oriented programming language, implemented on the .NET Framework.\nAuthors: Poren Chiang , Jan Pilzer\nWebsite: https://docs.microsoft.com/dotnet/visual-basic/getting-started\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction vbnet(hljs) {\n const regex = hljs.regex;\n /**\n * Character Literal\n * Either a single character (\"a\"C) or an escaped double quote (\"\"\"\"C).\n */\n const CHARACTER = {\n className: 'string',\n begin: /\"(\"\"|[^/n])\"C\\b/\n };\n\n const STRING = {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n illegal: /\\n/,\n contains: [\n {\n // double quote escape\n begin: /\"\"/ }\n ]\n };\n\n /** Date Literals consist of a date, a time, or both separated by whitespace, surrounded by # */\n const MM_DD_YYYY = /\\d{1,2}\\/\\d{1,2}\\/\\d{4}/;\n const YYYY_MM_DD = /\\d{4}-\\d{1,2}-\\d{1,2}/;\n const TIME_12H = /(\\d|1[012])(:\\d+){0,2} *(AM|PM)/;\n const TIME_24H = /\\d{1,2}(:\\d{1,2}){1,2}/;\n const DATE = {\n className: 'literal',\n variants: [\n {\n // #YYYY-MM-DD# (ISO-Date) or #M/D/YYYY# (US-Date)\n begin: regex.concat(/# */, regex.either(YYYY_MM_DD, MM_DD_YYYY), / *#/) },\n {\n // #H:mm[:ss]# (24h Time)\n begin: regex.concat(/# */, TIME_24H, / *#/) },\n {\n // #h[:mm[:ss]] A# (12h Time)\n begin: regex.concat(/# */, TIME_12H, / *#/) },\n {\n // date plus time\n begin: regex.concat(\n /# */,\n regex.either(YYYY_MM_DD, MM_DD_YYYY),\n / +/,\n regex.either(TIME_12H, TIME_24H),\n / *#/\n ) }\n ]\n };\n\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n {\n // Float\n begin: /\\b\\d[\\d_]*((\\.[\\d_]+(E[+-]?[\\d_]+)?)|(E[+-]?[\\d_]+))[RFD@!#]?/ },\n {\n // Integer (base 10)\n begin: /\\b\\d[\\d_]*((U?[SIL])|[%&])?/ },\n {\n // Integer (base 16)\n begin: /&H[\\dA-F_]+((U?[SIL])|[%&])?/ },\n {\n // Integer (base 8)\n begin: /&O[0-7_]+((U?[SIL])|[%&])?/ },\n {\n // Integer (base 2)\n begin: /&B[01_]+((U?[SIL])|[%&])?/ }\n ]\n };\n\n const LABEL = {\n className: 'label',\n begin: /^\\w+:/\n };\n\n const DOC_COMMENT = hljs.COMMENT(/'''/, /$/, { contains: [\n {\n className: 'doctag',\n begin: /<\\/?/,\n end: />/\n }\n ] });\n\n const COMMENT = hljs.COMMENT(null, /$/, { variants: [\n { begin: /'/ },\n {\n // TODO: Use multi-class for leading spaces\n begin: /([\\t ]|^)REM(?=\\s)/ }\n ] });\n\n const DIRECTIVES = {\n className: 'meta',\n // TODO: Use multi-class for indentation once available\n begin: /[\\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\\b/,\n end: /$/,\n keywords: { keyword:\n 'const disable else elseif enable end externalsource if region then' },\n contains: [ COMMENT ]\n };\n\n return {\n name: 'Visual Basic .NET',\n aliases: [ 'vb' ],\n case_insensitive: true,\n classNameAliases: { label: 'symbol' },\n keywords: {\n keyword:\n 'addhandler alias aggregate ansi as async assembly auto binary by byref byval ' /* a-b */\n + 'call case catch class compare const continue custom declare default delegate dim distinct do ' /* c-d */\n + 'each equals else elseif end enum erase error event exit explicit finally for friend from function ' /* e-f */\n + 'get global goto group handles if implements imports in inherits interface into iterator ' /* g-i */\n + 'join key let lib loop me mid module mustinherit mustoverride mybase myclass ' /* j-m */\n + 'namespace narrowing new next notinheritable notoverridable ' /* n */\n + 'of off on operator option optional order overloads overridable overrides ' /* o */\n + 'paramarray partial preserve private property protected public ' /* p */\n + 'raiseevent readonly redim removehandler resume return ' /* r */\n + 'select set shadows shared skip static step stop structure strict sub synclock ' /* s */\n + 'take text then throw to try unicode until using when where while widening with withevents writeonly yield' /* t-y */,\n built_in:\n // Operators https://docs.microsoft.com/dotnet/visual-basic/language-reference/operators\n 'addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor '\n // Type Conversion Functions https://docs.microsoft.com/dotnet/visual-basic/language-reference/functions/type-conversion-functions\n + 'cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort',\n type:\n // Data types https://docs.microsoft.com/dotnet/visual-basic/language-reference/data-types\n 'boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort',\n literal: 'true false nothing'\n },\n illegal:\n '//|\\\\{|\\\\}|endif|gosub|variant|wend|^\\\\$ ' /* reserved deprecated keywords */,\n contains: [\n CHARACTER,\n STRING,\n DATE,\n NUMBER,\n LABEL,\n DOC_COMMENT,\n COMMENT,\n DIRECTIVES\n ]\n };\n}\n\nexport { vbnet as default };\n","/*\nLanguage: WebAssembly\nWebsite: https://webassembly.org\nDescription: Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.\nCategory: web, common\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction wasm(hljs) {\n hljs.regex;\n const BLOCK_COMMENT = hljs.COMMENT(/\\(;/, /;\\)/);\n BLOCK_COMMENT.contains.push(\"self\");\n const LINE_COMMENT = hljs.COMMENT(/;;/, /$/);\n\n const KWS = [\n \"anyfunc\",\n \"block\",\n \"br\",\n \"br_if\",\n \"br_table\",\n \"call\",\n \"call_indirect\",\n \"data\",\n \"drop\",\n \"elem\",\n \"else\",\n \"end\",\n \"export\",\n \"func\",\n \"global.get\",\n \"global.set\",\n \"local.get\",\n \"local.set\",\n \"local.tee\",\n \"get_global\",\n \"get_local\",\n \"global\",\n \"if\",\n \"import\",\n \"local\",\n \"loop\",\n \"memory\",\n \"memory.grow\",\n \"memory.size\",\n \"module\",\n \"mut\",\n \"nop\",\n \"offset\",\n \"param\",\n \"result\",\n \"return\",\n \"select\",\n \"set_global\",\n \"set_local\",\n \"start\",\n \"table\",\n \"tee_local\",\n \"then\",\n \"type\",\n \"unreachable\"\n ];\n\n const FUNCTION_REFERENCE = {\n begin: [\n /(?:func|call|call_indirect)/,\n /\\s+/,\n /\\$[^\\s)]+/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n }\n };\n\n const ARGUMENT = {\n className: \"variable\",\n begin: /\\$[\\w_]+/\n };\n\n const PARENS = {\n match: /(\\((?!;)|\\))+/,\n className: \"punctuation\",\n relevance: 0\n };\n\n const NUMBER = {\n className: \"number\",\n relevance: 0,\n // borrowed from Prism, TODO: split out into variants\n match: /[+-]?\\b(?:\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:[eE][+-]?\\d(?:_?\\d)*)?|0x[\\da-fA-F](?:_?[\\da-fA-F])*(?:\\.[\\da-fA-F](?:_?[\\da-fA-D])*)?(?:[pP][+-]?\\d(?:_?\\d)*)?)\\b|\\binf\\b|\\bnan(?::0x[\\da-fA-F](?:_?[\\da-fA-D])*)?\\b/\n };\n\n const TYPE = {\n // look-ahead prevents us from gobbling up opcodes\n match: /(i32|i64|f32|f64)(?!\\.)/,\n className: \"type\"\n };\n\n const MATH_OPERATIONS = {\n className: \"keyword\",\n // borrowed from Prism, TODO: split out into variants\n match: /\\b(f32|f64|i32|i64)(?:\\.(?:abs|add|and|ceil|clz|const|convert_[su]\\/i(?:32|64)|copysign|ctz|demote\\/f64|div(?:_[su])?|eqz?|extend_[su]\\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\\/f32|reinterpret\\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\\/f(?:32|64))?|wrap\\/i64|xor))\\b/\n };\n\n const OFFSET_ALIGN = {\n match: [\n /(?:offset|align)/,\n /\\s*/,\n /=/\n ],\n className: {\n 1: \"keyword\",\n 3: \"operator\"\n }\n };\n\n return {\n name: 'WebAssembly',\n keywords: {\n $pattern: /[\\w.]+/,\n keyword: KWS\n },\n contains: [\n LINE_COMMENT,\n BLOCK_COMMENT,\n OFFSET_ALIGN,\n ARGUMENT,\n PARENS,\n FUNCTION_REFERENCE,\n hljs.QUOTE_STRING_MODE,\n TYPE,\n MATH_OPERATIONS,\n NUMBER\n ]\n };\n}\n\nexport { wasm as default };\n","/*\nLanguage: HTML, XML\nWebsite: https://www.w3.org/XML/\nCategory: common, web\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction xml(hljs) {\n const regex = hljs.regex;\n // XML names can have the following additional letters: https://www.w3.org/TR/xml/#NT-NameChar\n // OTHER_NAME_CHARS = /[:\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]/;\n // Element names start with NAME_START_CHAR followed by optional other Unicode letters, ASCII digits, hyphens, underscores, and periods\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);;\n // const XML_IDENT_RE = /[A-Z_a-z:\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]+/;\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);\n // however, to cater for performance and more Unicode support rely simply on the Unicode letter class\n const TAG_NAME_RE = regex.concat(/[\\p{L}_]/u, regex.optional(/[\\p{L}0-9_.-]*:/u), /[\\p{L}0-9_.-]*/u);\n const XML_IDENT_RE = /[\\p{L}0-9._:-]+/u;\n const XML_ENTITIES = {\n className: 'symbol',\n begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/\n };\n const XML_META_KEYWORDS = {\n begin: /\\s/,\n contains: [\n {\n className: 'keyword',\n begin: /#?[a-z_][a-z1-9_-]+/,\n illegal: /\\n/\n }\n ]\n };\n const XML_META_PAR_KEYWORDS = hljs.inherit(XML_META_KEYWORDS, {\n begin: /\\(/,\n end: /\\)/\n });\n const APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, { className: 'string' });\n const QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, { className: 'string' });\n const TAG_INTERNALS = {\n endsWithParent: true,\n illegal: /`]+/ }\n ]\n }\n ]\n }\n ]\n };\n return {\n name: 'HTML, XML',\n aliases: [\n 'html',\n 'xhtml',\n 'rss',\n 'atom',\n 'xjb',\n 'xsd',\n 'xsl',\n 'plist',\n 'wsf',\n 'svg'\n ],\n case_insensitive: true,\n unicodeRegex: true,\n contains: [\n {\n className: 'meta',\n begin: //,\n relevance: 10,\n contains: [\n XML_META_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE,\n XML_META_PAR_KEYWORDS,\n {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n {\n className: 'meta',\n begin: //,\n contains: [\n XML_META_KEYWORDS,\n XML_META_PAR_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE\n ]\n }\n ]\n }\n ]\n },\n hljs.COMMENT(\n //,\n { relevance: 10 }\n ),\n {\n begin: //,\n relevance: 10\n },\n XML_ENTITIES,\n // xml processing instructions\n {\n className: 'meta',\n end: /\\?>/,\n variants: [\n {\n begin: /<\\?xml/,\n relevance: 10,\n contains: [\n QUOTE_META_STRING_MODE\n ]\n },\n {\n begin: /<\\?[a-z][a-z0-9]+/,\n }\n ]\n\n },\n {\n className: 'tag',\n /*\n The lookahead pattern (?=...) ensures that 'begin' only matches\n ')/,\n end: />/,\n keywords: { name: 'style' },\n contains: [ TAG_INTERNALS ],\n starts: {\n end: /<\\/style>/,\n returnEnd: true,\n subLanguage: [\n 'css',\n 'xml'\n ]\n }\n },\n {\n className: 'tag',\n // See the comment in the \n","/*!\n * pinia v4.1.0\n * (c) 2026 Eduardo San Martin Morote\n * @license MIT\n */\nimport { computed, effectScope, getCurrentInstance, getCurrentScope, hasInjectionContext, inject, isReactive, isReadonly, isRef, isShallow, markRaw, nextTick, onScopeDispose, reactive, ref, toRaw, toRef, toRefs, triggerRef, unref, watch } from \"vue\";\nimport { createConsoleReporter, defineDiagnostics } from \"nostics\";\nimport { setupDevtoolsPlugin } from \"@vue/devtools-api\";\n//#region src/env.ts\nconst IS_CLIENT = typeof window !== \"undefined\";\n//#endregion\n//#region src/diagnostics.ts\n/**\n* Catalog of user-facing Pinia diagnostics. Each handle builds a diagnostic\n* and runs the reporters. All call sites are dev-only (`__DEV__` guarded or\n* HMR), so production builds drop the calls and tree-shake this catalog.\n*/\nconst diagnostics = /*#__PURE__*/ defineDiagnostics({\n\treporters: [/*#__PURE__*/ createConsoleReporter()],\n\tcodes: {\n\t\tPINIA_R1001: {\n\t\t\twhy: \"Directly pass all stores to \\\"mapStores()\\\" without putting them in an array. This will fail in production.\",\n\t\t\tfix: \"Replace mapStores([useAuthStore, useCartStore]) with mapStores(useAuthStore, useCartStore).\",\n\t\t\tdocs: \"https://pinia.vuejs.org/cookbook/options-api.html#Giving-access-to-the-whole-store\"\n\t\t},\n\t\tPINIA_R1002: {\n\t\t\twhy: (p) => `A getter cannot have the same name as another state property. Found \"${p.name}\" in store \"${p.id}\".`,\n\t\t\tfix: \"Rename either the getter or the state property.\",\n\t\t\tdocs: \"https://pinia.vuejs.org/core-concepts/getters.html#Accessing-other-getters\"\n\t\t},\n\t\tPINIA_R1003: {\n\t\t\twhy: (p) => `The \"state\" must be a plain object. Found in store \"${p.id}\".`,\n\t\t\tfix: \"Return a plain object, e.g. avoid state: () => new MyClass().\",\n\t\t\tdocs: \"https://pinia.vuejs.org/core-concepts/state.html#State\"\n\t\t},\n\t\tPINIA_R1004: {\n\t\t\twhy: \"Pinia instance not found in context. This falls back to the global activePinia, which exposes you to cross-request pollution on the server.\",\n\t\t\tfix: \"\\\"useStore()\\\" is a composable and follows the same rules: call it at the top of setup() (or another composable), or pass the pinia instance explicitly when used outside of a component.\",\n\t\t\tdocs: \"https://pinia.vuejs.org/ssr/#Using-the-store-outside-of-setup-\"\n\t\t},\n\t\tPINIA_R1005: {\n\t\t\twhy: (p) => `The store id changed from \"${p.from}\" to \"${p.to}\", forcing a reload.`,\n\t\t\tdocs: \"https://pinia.vuejs.org/cookbook/hot-module-replacement.html#HMR-Hot-Module-Replacement-\"\n\t\t},\n\t\tPINIA_R1006: {\n\t\t\twhy: (p) => `Property \"${p.key}\" of store \"${p.id}\" is not reactive (not a ref, reactive object, or shallowRef), so storeToRefs() ignores it.`,\n\t\t\tfix: \"If it should be reactive state, wrap it with ref(), reactive(), or shallowRef(). If it is an intentional non-reactive property, wrap it with markRaw() so storeToRefs() skips it explicitly.\",\n\t\t\tdocs: \"https://pinia.vuejs.org/core-concepts/plugins.html#Adding-new-external-properties\"\n\t\t},\n\t\tPINIA_R1007: {\n\t\t\twhy: (p) => `The same callback was passed to \"$subscribe()\" of store \"${p.id}\" more than once. Subscriptions are deduplicated, so the duplicate is ignored.`,\n\t\t\tfix: \"Subscribe each callback only once. If you need to resubscribe, call the returned function to remove the previous subscription first, or create a new function.\",\n\t\t\tdocs: \"https://pinia.vuejs.org/core-concepts/state.html#Subscribing-to-the-state\"\n\t\t},\n\t\tPINIA_R1008: {\n\t\t\twhy: (p) => `\"$dispose()\" was called on an old instance of store \"${p.id}\" that has already been replaced by a new one. This also removes the new store.`,\n\t\t\tfix: \"Avoid keeping references to disposed stores. Call the useStore() function again to get the current store.\",\n\t\t\tdocs: \"https://pinia.vuejs.org/api/pinia/interfaces/StoreWithState.html#-dispose-\"\n\t\t}\n\t}\n});\n//#endregion\n//#region src/rootStore.ts\n/**\n* setActivePinia must be called to handle SSR at the top of functions like\n* `fetch`, `setup`, `serverPrefetch` and others\n*/\nlet activePinia;\n/**\n* Sets or unsets the active pinia. Used in SSR and internally when calling\n* actions and getters\n*\n* @param pinia - Pinia instance\n*/\nconst setActivePinia = (pinia) => activePinia = pinia;\n/**\n* Get the currently active pinia if there is any.\n*/\nconst getActivePinia = process.env.NODE_ENV !== \"production\" ? () => {\n\tconst pinia = hasInjectionContext() && inject(piniaSymbol);\n\tif (!pinia && !IS_CLIENT) diagnostics.PINIA_R1004({}, { method: \"error\" });\n\treturn pinia || activePinia;\n} : () => hasInjectionContext() && inject(piniaSymbol) || activePinia;\n/**\n* Get the stores that are currently in use by a pinia instance. Prefer this\n* over the internal `pinia._s`: it returns a new array, so it's safe to\n* dispose or create stores while iterating over it.\n*\n* @param pinia - pinia instance\n*/\nfunction getStores(pinia) {\n\treturn Array.from(pinia._s.values());\n}\n/**\n* Symbol used to provide/inject the pinia instance in the app. Used internally\n* and exposed for testing purposes and edge cases like storybook. Could break\n* in a minor, **USE AT YOUR OWN RISK**.\n*\n* For context, see:\n* - https://github.com/vuejs/pinia/issues/870\n* - https://github.com/vuejs/pinia/pull/2973\n*\n* @internal\n*/\nconst piniaSymbol = process.env.NODE_ENV !== \"production\" ? Symbol(\"pinia\") : /* istanbul ignore next */ Symbol();\n//#endregion\n//#region src/types.ts\nfunction isPlainObject(o) {\n\treturn o && typeof o === \"object\" && Object.prototype.toString.call(o) === \"[object Object]\" && typeof o.toJSON !== \"function\";\n}\n/**\n* Possible types for SubscriptionCallback\n*/\nlet MutationType = /* @__PURE__ */ function(MutationType) {\n\t/**\n\t* Direct mutation of the state:\n\t*\n\t* - `store.name = 'new name'`\n\t* - `store.$state.name = 'new name'`\n\t* - `store.list.push('new item')`\n\t*/\n\tMutationType[\"direct\"] = \"direct\";\n\t/**\n\t* Mutated the state with `$patch` and an object\n\t*\n\t* - `store.$patch({ name: 'newName' })`\n\t*/\n\tMutationType[\"patchObject\"] = \"patch object\";\n\t/**\n\t* Mutated the state with `$patch` and a function\n\t*\n\t* - `store.$patch(state => state.name = 'newName')`\n\t*/\n\tMutationType[\"patchFunction\"] = \"patch function\";\n\treturn MutationType;\n}({});\n//#endregion\n//#region src/devtools/file-saver.ts\nconst _global = /*#__PURE__*/ (() => typeof window === \"object\" && window.window === window ? window : typeof self === \"object\" && self.self === self ? self : typeof global === \"object\" && global.global === global ? global : typeof globalThis === \"object\" ? globalThis : { HTMLElement: null })();\nfunction bom(blob, { autoBom = false } = {}) {\n\tif (autoBom && /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) return new Blob([String.fromCharCode(65279), blob], { type: blob.type });\n\treturn blob;\n}\nfunction download(url, name, opts) {\n\tconst xhr = new XMLHttpRequest();\n\txhr.open(\"GET\", url);\n\txhr.responseType = \"blob\";\n\txhr.onload = function() {\n\t\tsaveAs(xhr.response, name, opts);\n\t};\n\txhr.onerror = function() {\n\t\tconsole.error(\"could not download file\");\n\t};\n\txhr.send();\n}\nfunction corsEnabled(url) {\n\tconst xhr = new XMLHttpRequest();\n\txhr.open(\"HEAD\", url, false);\n\ttry {\n\t\txhr.send();\n\t} catch (e) {}\n\treturn xhr.status >= 200 && xhr.status <= 299;\n}\nfunction click(node) {\n\ttry {\n\t\tnode.dispatchEvent(new MouseEvent(\"click\"));\n\t} catch (e) {\n\t\tconst evt = new MouseEvent(\"click\", {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true,\n\t\t\tview: window,\n\t\t\tdetail: 0,\n\t\t\tscreenX: 80,\n\t\t\tscreenY: 20,\n\t\t\tclientX: 80,\n\t\t\tclientY: 20,\n\t\t\tctrlKey: false,\n\t\t\taltKey: false,\n\t\t\tshiftKey: false,\n\t\t\tmetaKey: false,\n\t\t\tbutton: 0,\n\t\t\trelatedTarget: null\n\t\t});\n\t\tnode.dispatchEvent(evt);\n\t}\n}\nconst _navigator = typeof navigator === \"object\" ? navigator : { userAgent: \"\" };\nconst isMacOSWebView = /*#__PURE__*/ (() => /Macintosh/.test(_navigator.userAgent) && /AppleWebKit/.test(_navigator.userAgent) && !/Safari/.test(_navigator.userAgent))();\nconst saveAs = !IS_CLIENT ? () => {} : typeof HTMLAnchorElement !== \"undefined\" && \"download\" in HTMLAnchorElement.prototype && !isMacOSWebView ? downloadSaveAs : \"msSaveOrOpenBlob\" in _navigator ? msSaveAs : fileSaverSaveAs;\nfunction downloadSaveAs(blob, name = \"download\", opts) {\n\tconst a = document.createElement(\"a\");\n\ta.download = name;\n\ta.rel = \"noopener\";\n\tif (typeof blob === \"string\") {\n\t\ta.href = blob;\n\t\tif (a.origin !== location.origin) {\n\t\t\tif (corsEnabled(a.href)) download(blob, name, opts);\n\t\t\telse {\n\t\t\t\ta.target = \"_blank\";\n\t\t\t\tclick(a);\n\t\t\t}\n\t\t} else click(a);\n\t} else {\n\t\ta.href = URL.createObjectURL(blob);\n\t\tsetTimeout(function() {\n\t\t\tURL.revokeObjectURL(a.href);\n\t\t}, 4e4);\n\t\tsetTimeout(function() {\n\t\t\tclick(a);\n\t\t}, 0);\n\t}\n}\nfunction msSaveAs(blob, name = \"download\", opts) {\n\tif (typeof blob === \"string\") {\n\t\tif (corsEnabled(blob)) download(blob, name, opts);\n\t\telse {\n\t\t\tconst a = document.createElement(\"a\");\n\t\t\ta.href = blob;\n\t\t\ta.target = \"_blank\";\n\t\t\tsetTimeout(function() {\n\t\t\t\tclick(a);\n\t\t\t});\n\t\t}\n\t} else navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n}\nfunction fileSaverSaveAs(blob, name, opts, popup) {\n\tpopup = popup || open(\"\", \"_blank\");\n\tif (popup) popup.document.title = popup.document.body.innerText = \"downloading...\";\n\tif (typeof blob === \"string\") return download(blob, name, opts);\n\tconst force = blob.type === \"application/octet-stream\";\n\tconst isSafari = /constructor/i.test(String(_global.HTMLElement)) || \"safari\" in _global;\n\tconst isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n\tif ((isChromeIOS || force && isSafari || isMacOSWebView) && typeof FileReader !== \"undefined\") {\n\t\tconst reader = new FileReader();\n\t\treader.onloadend = function() {\n\t\t\tlet url = reader.result;\n\t\t\tif (typeof url !== \"string\") {\n\t\t\t\tpopup = null;\n\t\t\t\tthrow new Error(\"Wrong reader.result type\");\n\t\t\t}\n\t\t\turl = isChromeIOS ? url : url.replace(/^data:[^;]*;/, \"data:attachment/file;\");\n\t\t\tif (popup) popup.location.href = url;\n\t\t\telse location.assign(url);\n\t\t\tpopup = null;\n\t\t};\n\t\treader.readAsDataURL(blob);\n\t} else {\n\t\tconst url = URL.createObjectURL(blob);\n\t\tif (popup) popup.location.assign(url);\n\t\telse location.href = url;\n\t\tpopup = null;\n\t\tsetTimeout(function() {\n\t\t\tURL.revokeObjectURL(url);\n\t\t}, 4e4);\n\t}\n}\n//#endregion\n//#region src/devtools/utils.ts\n/**\n* Shows a toast or console.log\n*\n* @param message - message to log\n* @param type - different color of the tooltip\n*/\nfunction toastMessage(message, type) {\n\tconst piniaMessage = \"🍍 \" + message;\n\tif (type === \"error\") console.error(piniaMessage);\n\telse if (type === \"warn\") console.warn(piniaMessage);\n\telse console.debug(piniaMessage);\n}\nfunction isPinia(o) {\n\treturn \"_a\" in o && \"install\" in o;\n}\n/**\n* Detects if a store getter is a writable computed (has a setter) so it can be\n* edited from devtools.\n*/\nfunction isWritableComputed(store, key) {\n\tconst rawProp = toRaw(store)[key];\n\treturn isRef(rawProp) && !isReadonly(rawProp);\n}\n//#endregion\n//#region src/devtools/actions.ts\n/**\n* This file contain devtools actions, they are not Pinia actions.\n*/\nfunction checkClipboardAccess() {\n\tif (!(\"clipboard\" in navigator)) {\n\t\ttoastMessage(`Your browser doesn't support the Clipboard API`, \"error\");\n\t\treturn true;\n\t}\n}\nfunction checkNotFocusedError(error) {\n\tif (error instanceof Error && error.message.toLowerCase().includes(\"document is not focused\")) {\n\t\ttoastMessage(\"You need to activate the \\\"Emulate a focused page\\\" setting in the \\\"Rendering\\\" panel of devtools.\", \"warn\");\n\t\treturn true;\n\t}\n\treturn false;\n}\nasync function actionGlobalCopyState(pinia) {\n\tif (checkClipboardAccess()) return;\n\ttry {\n\t\tawait navigator.clipboard.writeText(JSON.stringify(pinia.state.value));\n\t\ttoastMessage(\"Global state copied to clipboard.\");\n\t} catch (error) {\n\t\tif (checkNotFocusedError(error)) return;\n\t\ttoastMessage(`Failed to serialize the state. Check the console for more details.`, \"error\");\n\t\tconsole.error(error);\n\t}\n}\nasync function actionGlobalPasteState(pinia) {\n\tif (checkClipboardAccess()) return;\n\ttry {\n\t\tloadStoresState(pinia, JSON.parse(await navigator.clipboard.readText()));\n\t\ttoastMessage(\"Global state pasted from clipboard.\");\n\t} catch (error) {\n\t\tif (checkNotFocusedError(error)) return;\n\t\ttoastMessage(`Failed to deserialize the state from clipboard. Check the console for more details.`, \"error\");\n\t\tconsole.error(error);\n\t}\n}\nasync function actionGlobalSaveState(pinia) {\n\ttry {\n\t\tsaveAs(new Blob([JSON.stringify(pinia.state.value)], { type: \"text/plain;charset=utf-8\" }), \"pinia-state.json\");\n\t} catch (error) {\n\t\ttoastMessage(`Failed to export the state as JSON. Check the console for more details.`, \"error\");\n\t\tconsole.error(error);\n\t}\n}\nlet fileInput;\nfunction getFileOpener() {\n\tif (!fileInput) {\n\t\tfileInput = document.createElement(\"input\");\n\t\tfileInput.type = \"file\";\n\t\tfileInput.accept = \".json\";\n\t}\n\tfunction openFile() {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tfileInput.onchange = async () => {\n\t\t\t\tconst files = fileInput.files;\n\t\t\t\tif (!files) return resolve(null);\n\t\t\t\tconst file = files.item(0);\n\t\t\t\tif (!file) return resolve(null);\n\t\t\t\treturn resolve({\n\t\t\t\t\ttext: await file.text(),\n\t\t\t\t\tfile\n\t\t\t\t});\n\t\t\t};\n\t\t\tfileInput.oncancel = () => resolve(null);\n\t\t\tfileInput.onerror = reject;\n\t\t\tfileInput.click();\n\t\t});\n\t}\n\treturn openFile;\n}\nasync function actionGlobalOpenStateFile(pinia) {\n\ttry {\n\t\tconst result = await getFileOpener()();\n\t\tif (!result) return;\n\t\tconst { text, file } = result;\n\t\tloadStoresState(pinia, JSON.parse(text));\n\t\ttoastMessage(`Global state imported from \"${file.name}\".`);\n\t} catch (error) {\n\t\ttoastMessage(`Failed to import the state from JSON. Check the console for more details.`, \"error\");\n\t\tconsole.error(error);\n\t}\n}\nfunction loadStoresState(pinia, state) {\n\tfor (const key in state) {\n\t\tconst storeState = pinia.state.value[key];\n\t\tif (storeState) Object.assign(storeState, state[key]);\n\t\telse pinia.state.value[key] = state[key];\n\t}\n}\n//#endregion\n//#region src/devtools/formatting.ts\nfunction formatDisplay(display) {\n\treturn { _custom: { display } };\n}\nconst PINIA_ROOT_LABEL = \"🍍 Pinia (root)\";\nconst PINIA_ROOT_ID = \"_root\";\nfunction formatStoreForInspectorTree(store) {\n\treturn isPinia(store) ? {\n\t\tid: PINIA_ROOT_ID,\n\t\tlabel: PINIA_ROOT_LABEL\n\t} : {\n\t\tid: store.$id,\n\t\tlabel: store.$id\n\t};\n}\nfunction formatStoreForInspectorState(store) {\n\tif (isPinia(store)) {\n\t\tconst storeNames = Array.from(store._s.keys());\n\t\tconst storeMap = store._s;\n\t\treturn {\n\t\t\tstate: storeNames.map((storeId) => ({\n\t\t\t\teditable: true,\n\t\t\t\tkey: storeId,\n\t\t\t\tvalue: store.state.value[storeId]\n\t\t\t})),\n\t\t\tgetters: storeNames.filter((id) => storeMap.get(id)._getters).map((id) => {\n\t\t\t\tconst store = storeMap.get(id);\n\t\t\t\treturn {\n\t\t\t\t\teditable: false,\n\t\t\t\t\tkey: id,\n\t\t\t\t\tvalue: store._getters.reduce((getters, key) => {\n\t\t\t\t\t\tgetters[key] = store[key];\n\t\t\t\t\t\treturn getters;\n\t\t\t\t\t}, {})\n\t\t\t\t};\n\t\t\t})\n\t\t};\n\t}\n\tconst state = { state: Object.keys(store.$state).map((key) => ({\n\t\teditable: true,\n\t\tkey,\n\t\tvalue: store.$state[key]\n\t})) };\n\tif (store._getters && store._getters.length) state.getters = store._getters.map((getterName) => ({\n\t\teditable: isWritableComputed(store, getterName),\n\t\tkey: getterName,\n\t\tvalue: store[getterName]\n\t}));\n\tif (store._customProperties.size) state.customProperties = Array.from(store._customProperties).map((key) => ({\n\t\teditable: true,\n\t\tkey,\n\t\tvalue: store[key]\n\t}));\n\treturn state;\n}\nfunction formatEventData(events) {\n\tif (!events) return {};\n\tif (Array.isArray(events)) return events.reduce((data, event) => {\n\t\tdata.keys.push(event.key);\n\t\tdata.operations.push(event.type);\n\t\tdata.oldValue[event.key] = event.oldValue;\n\t\tdata.newValue[event.key] = event.newValue;\n\t\treturn data;\n\t}, {\n\t\toldValue: {},\n\t\tkeys: [],\n\t\toperations: [],\n\t\tnewValue: {}\n\t});\n\telse return {\n\t\toperation: formatDisplay(events.type),\n\t\tkey: formatDisplay(events.key),\n\t\toldValue: events.oldValue,\n\t\tnewValue: events.newValue\n\t};\n}\nfunction formatMutationType(type) {\n\tswitch (type) {\n\t\tcase \"direct\": return \"mutation\";\n\t\tcase \"patch function\": return \"$patch\";\n\t\tcase \"patch object\": return \"$patch\";\n\t\tdefault: return \"unknown\";\n\t}\n}\n//#endregion\n//#region src/devtools/plugin.ts\nlet isTimelineActive = true;\nconst componentStateTypes = [];\nconst MUTATIONS_LAYER_ID = \"pinia:mutations\";\nconst INSPECTOR_ID = \"pinia\";\nconst { assign: assign$1 } = Object;\n/**\n* Gets the displayed name of a store in devtools\n*\n* @param id - id of the store\n* @returns a formatted string\n*/\nconst getStoreType = (id) => \"🍍 \" + id;\n/**\n* Add the pinia plugin without any store. Allows displaying a Pinia plugin tab\n* as soon as it is added to the application.\n*\n* @param app - Vue application\n* @param pinia - pinia instance\n*/\nfunction registerPiniaDevtools(app, pinia) {\n\tsetupDevtoolsPlugin({\n\t\tid: \"dev.esm.pinia\",\n\t\tlabel: \"Pinia 🍍\",\n\t\tlogo: \"https://pinia.vuejs.org/logo.svg\",\n\t\tpackageName: \"pinia\",\n\t\thomepage: \"https://pinia.vuejs.org\",\n\t\tcomponentStateTypes,\n\t\tapp\n\t}, (api) => {\n\t\tif (typeof api.now !== \"function\") toastMessage(\"You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.\");\n\t\tapi.addTimelineLayer({\n\t\t\tid: MUTATIONS_LAYER_ID,\n\t\t\tlabel: `Pinia 🍍`,\n\t\t\tcolor: 15064968\n\t\t});\n\t\tapi.addInspector({\n\t\t\tid: INSPECTOR_ID,\n\t\t\tlabel: \"Pinia 🍍\",\n\t\t\ticon: \"storage\",\n\t\t\ttreeFilterPlaceholder: \"Search stores\",\n\t\t\tactions: [\n\t\t\t\t{\n\t\t\t\t\ticon: \"content_copy\",\n\t\t\t\t\taction: () => {\n\t\t\t\t\t\tactionGlobalCopyState(pinia);\n\t\t\t\t\t},\n\t\t\t\t\ttooltip: \"Serialize and copy the state\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: \"content_paste\",\n\t\t\t\t\taction: async () => {\n\t\t\t\t\t\tawait actionGlobalPasteState(pinia);\n\t\t\t\t\t\tapi.sendInspectorTree(INSPECTOR_ID);\n\t\t\t\t\t\tapi.sendInspectorState(INSPECTOR_ID);\n\t\t\t\t\t},\n\t\t\t\t\ttooltip: \"Replace the state with the content of your clipboard\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: \"save\",\n\t\t\t\t\taction: () => {\n\t\t\t\t\t\tactionGlobalSaveState(pinia);\n\t\t\t\t\t},\n\t\t\t\t\ttooltip: \"Save the state as a JSON file\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: \"folder_open\",\n\t\t\t\t\taction: async () => {\n\t\t\t\t\t\tawait actionGlobalOpenStateFile(pinia);\n\t\t\t\t\t\tapi.sendInspectorTree(INSPECTOR_ID);\n\t\t\t\t\t\tapi.sendInspectorState(INSPECTOR_ID);\n\t\t\t\t\t},\n\t\t\t\t\ttooltip: \"Import the state from a JSON file\"\n\t\t\t\t}\n\t\t\t],\n\t\t\tnodeActions: [{\n\t\t\t\ticon: \"restore\",\n\t\t\t\ttooltip: \"Reset the state (with \\\"$reset\\\")\",\n\t\t\t\taction: (nodeId) => {\n\t\t\t\t\tconst store = pinia._s.get(nodeId);\n\t\t\t\t\tif (!store) toastMessage(`Cannot reset \"${nodeId}\" store because it wasn't found.`, \"warn\");\n\t\t\t\t\telse if (typeof store.$reset !== \"function\") toastMessage(`Cannot reset \"${nodeId}\" store because it doesn't have a \"$reset\" method implemented.`, \"warn\");\n\t\t\t\t\telse {\n\t\t\t\t\t\tstore.$reset();\n\t\t\t\t\t\ttoastMessage(`Store \"${nodeId}\" reset.`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}]\n\t\t});\n\t\tapi.on.inspectComponent((payload) => {\n\t\t\tconst proxy = payload.componentInstance && payload.componentInstance.proxy;\n\t\t\tif (proxy && proxy._pStores) {\n\t\t\t\tconst piniaStores = payload.componentInstance.proxy._pStores;\n\t\t\t\tObject.values(piniaStores).forEach((store) => {\n\t\t\t\t\tpayload.instanceData.state.push({\n\t\t\t\t\t\ttype: getStoreType(store.$id),\n\t\t\t\t\t\tkey: \"state\",\n\t\t\t\t\t\teditable: true,\n\t\t\t\t\t\tvalue: store._isOptionsAPI ? { _custom: {\n\t\t\t\t\t\t\tvalue: toRaw(store.$state),\n\t\t\t\t\t\t\tactions: [{\n\t\t\t\t\t\t\t\ticon: \"restore\",\n\t\t\t\t\t\t\t\ttooltip: \"Reset the state of this store\",\n\t\t\t\t\t\t\t\taction: () => store.$reset()\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t} } : Object.keys(store.$state).reduce((state, key) => {\n\t\t\t\t\t\t\tstate[key] = store.$state[key];\n\t\t\t\t\t\t\treturn state;\n\t\t\t\t\t\t}, {})\n\t\t\t\t\t});\n\t\t\t\t\tif (store._getters && store._getters.length) payload.instanceData.state.push({\n\t\t\t\t\t\ttype: getStoreType(store.$id),\n\t\t\t\t\t\tkey: \"getters\",\n\t\t\t\t\t\teditable: false,\n\t\t\t\t\t\tvalue: store._getters.reduce((getters, key) => {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tgetters[key] = store[key];\n\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\tgetters[key] = error;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn getters;\n\t\t\t\t\t\t}, {})\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tapi.on.getInspectorTree((payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n\t\t\t\tlet stores = [pinia];\n\t\t\t\tstores = stores.concat(Array.from(pinia._s.values()));\n\t\t\t\tpayload.rootNodes = (payload.filter ? stores.filter((store) => \"$id\" in store ? store.$id.toLowerCase().includes(payload.filter.toLowerCase()) : PINIA_ROOT_LABEL.toLowerCase().includes(payload.filter.toLowerCase())) : stores).map(formatStoreForInspectorTree);\n\t\t\t}\n\t\t});\n\t\tglobalThis.$pinia = pinia;\n\t\tapi.on.getInspectorState((payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n\t\t\t\tconst inspectedStore = payload.nodeId === \"_root\" ? pinia : pinia._s.get(payload.nodeId);\n\t\t\t\tif (!inspectedStore) return;\n\t\t\t\tif (inspectedStore) {\n\t\t\t\t\tif (payload.nodeId !== \"_root\") globalThis.$store = toRaw(inspectedStore);\n\t\t\t\t\tpayload.state = formatStoreForInspectorState(inspectedStore);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tapi.on.editInspectorState((payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n\t\t\t\tconst inspectedStore = payload.nodeId === \"_root\" ? pinia : pinia._s.get(payload.nodeId);\n\t\t\t\tif (!inspectedStore) return toastMessage(`store \"${payload.nodeId}\" not found`, \"error\");\n\t\t\t\tconst { path } = payload;\n\t\t\t\tif (!isPinia(inspectedStore)) {\n\t\t\t\t\tif (path.length !== 1 || !inspectedStore._customProperties.has(path[0]) && !isWritableComputed(inspectedStore, path[0]) || path[0] in inspectedStore.$state) path.unshift(\"$state\");\n\t\t\t\t} else path.unshift(\"state\");\n\t\t\t\tisTimelineActive = false;\n\t\t\t\tpayload.set(inspectedStore, path, payload.state.value);\n\t\t\t\tisTimelineActive = true;\n\t\t\t}\n\t\t});\n\t\tapi.on.editComponentState((payload) => {\n\t\t\tif (payload.type.startsWith(\"🍍\")) {\n\t\t\t\tconst storeId = payload.type.replace(/^🍍\\s*/, \"\");\n\t\t\t\tconst store = pinia._s.get(storeId);\n\t\t\t\tif (!store) return toastMessage(`store \"${storeId}\" not found`, \"error\");\n\t\t\t\tconst { path } = payload;\n\t\t\t\tif (path[0] !== \"state\") return toastMessage(`Invalid path for store \"${storeId}\":\\n${path}\\nOnly state can be modified.`);\n\t\t\t\tpath[0] = \"$state\";\n\t\t\t\tisTimelineActive = false;\n\t\t\t\tpayload.set(store, path, payload.state.value);\n\t\t\t\tisTimelineActive = true;\n\t\t\t}\n\t\t});\n\t});\n}\nfunction addStoreToDevtools(app, store) {\n\tif (!componentStateTypes.includes(getStoreType(store.$id))) componentStateTypes.push(getStoreType(store.$id));\n\tsetupDevtoolsPlugin({\n\t\tid: \"dev.esm.pinia\",\n\t\tlabel: \"Pinia 🍍\",\n\t\tlogo: \"https://pinia.vuejs.org/logo.svg\",\n\t\tpackageName: \"pinia\",\n\t\thomepage: \"https://pinia.vuejs.org\",\n\t\tcomponentStateTypes,\n\t\tapp,\n\t\tsettings: { logStoreChanges: {\n\t\t\tlabel: \"Notify about new/deleted stores\",\n\t\t\ttype: \"boolean\",\n\t\t\tdefaultValue: true\n\t\t} }\n\t}, (api) => {\n\t\tconst now = typeof api.now === \"function\" ? api.now.bind(api) : Date.now;\n\t\tstore.$onAction(({ after, onError, name, args }) => {\n\t\t\tconst groupId = runningActionId++;\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: MUTATIONS_LAYER_ID,\n\t\t\t\tevent: {\n\t\t\t\t\ttime: now(),\n\t\t\t\t\ttitle: \"🛫 \" + name,\n\t\t\t\t\tsubtitle: \"start\",\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tstore: formatDisplay(store.$id),\n\t\t\t\t\t\taction: formatDisplay(name),\n\t\t\t\t\t\targs\n\t\t\t\t\t},\n\t\t\t\t\tgroupId\n\t\t\t\t}\n\t\t\t});\n\t\t\tafter((result) => {\n\t\t\t\tactiveAction = void 0;\n\t\t\t\tapi.addTimelineEvent({\n\t\t\t\t\tlayerId: MUTATIONS_LAYER_ID,\n\t\t\t\t\tevent: {\n\t\t\t\t\t\ttime: now(),\n\t\t\t\t\t\ttitle: \"🛬 \" + name,\n\t\t\t\t\t\tsubtitle: \"end\",\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tstore: formatDisplay(store.$id),\n\t\t\t\t\t\t\taction: formatDisplay(name),\n\t\t\t\t\t\t\targs,\n\t\t\t\t\t\t\tresult\n\t\t\t\t\t\t},\n\t\t\t\t\t\tgroupId\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tonError((error) => {\n\t\t\t\tactiveAction = void 0;\n\t\t\t\tapi.addTimelineEvent({\n\t\t\t\t\tlayerId: MUTATIONS_LAYER_ID,\n\t\t\t\t\tevent: {\n\t\t\t\t\t\ttime: now(),\n\t\t\t\t\t\tlogType: \"error\",\n\t\t\t\t\t\ttitle: \"💥 \" + name,\n\t\t\t\t\t\tsubtitle: \"end\",\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tstore: formatDisplay(store.$id),\n\t\t\t\t\t\t\taction: formatDisplay(name),\n\t\t\t\t\t\t\targs,\n\t\t\t\t\t\t\terror\n\t\t\t\t\t\t},\n\t\t\t\t\t\tgroupId\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}, true);\n\t\tstore._customProperties.forEach((name) => {\n\t\t\twatch(() => unref(store[name]), (newValue, oldValue) => {\n\t\t\t\tapi.notifyComponentUpdate();\n\t\t\t\tapi.sendInspectorState(INSPECTOR_ID);\n\t\t\t\tif (isTimelineActive) api.addTimelineEvent({\n\t\t\t\t\tlayerId: MUTATIONS_LAYER_ID,\n\t\t\t\t\tevent: {\n\t\t\t\t\t\ttime: now(),\n\t\t\t\t\t\ttitle: \"Change\",\n\t\t\t\t\t\tsubtitle: name,\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tnewValue,\n\t\t\t\t\t\t\toldValue\n\t\t\t\t\t\t},\n\t\t\t\t\t\tgroupId: activeAction\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}, { deep: true });\n\t\t});\n\t\tstore.$subscribe(({ events, type }, state) => {\n\t\t\tapi.notifyComponentUpdate();\n\t\t\tapi.sendInspectorState(INSPECTOR_ID);\n\t\t\tif (!isTimelineActive) return;\n\t\t\tconst eventData = {\n\t\t\t\ttime: now(),\n\t\t\t\ttitle: formatMutationType(type),\n\t\t\t\tdata: assign$1({ store: formatDisplay(store.$id) }, formatEventData(events)),\n\t\t\t\tgroupId: activeAction\n\t\t\t};\n\t\t\tif (type === \"patch function\") eventData.subtitle = \"⤵️\";\n\t\t\telse if (type === \"patch object\") eventData.subtitle = \"🧩\";\n\t\t\telse if (events && !Array.isArray(events)) eventData.subtitle = events.type;\n\t\t\tif (events) eventData.data[\"rawEvent(s)\"] = { _custom: {\n\t\t\t\tdisplay: \"DebuggerEvent\",\n\t\t\t\ttype: \"object\",\n\t\t\t\ttooltip: \"raw DebuggerEvent[]\",\n\t\t\t\tvalue: events\n\t\t\t} };\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: MUTATIONS_LAYER_ID,\n\t\t\t\tevent: eventData\n\t\t\t});\n\t\t}, {\n\t\t\tdetached: true,\n\t\t\tflush: \"sync\"\n\t\t});\n\t\tconst hotUpdate = store._hotUpdate;\n\t\tstore._hotUpdate = markRaw((newStore) => {\n\t\t\thotUpdate(newStore);\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: MUTATIONS_LAYER_ID,\n\t\t\t\tevent: {\n\t\t\t\t\ttime: now(),\n\t\t\t\t\ttitle: \"🔥 \" + store.$id,\n\t\t\t\t\tsubtitle: \"HMR update\",\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tstore: formatDisplay(store.$id),\n\t\t\t\t\t\tinfo: formatDisplay(`HMR update`)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tapi.notifyComponentUpdate();\n\t\t\tapi.sendInspectorTree(INSPECTOR_ID);\n\t\t\tapi.sendInspectorState(INSPECTOR_ID);\n\t\t});\n\t\tconst { $dispose } = store;\n\t\tstore.$dispose = () => {\n\t\t\t$dispose();\n\t\t\tapi.notifyComponentUpdate();\n\t\t\tapi.sendInspectorTree(INSPECTOR_ID);\n\t\t\tapi.sendInspectorState(INSPECTOR_ID);\n\t\t\tapi.getSettings().logStoreChanges && toastMessage(`Disposed \"${store.$id}\" store 🗑`);\n\t\t};\n\t\tapi.notifyComponentUpdate();\n\t\tapi.sendInspectorTree(INSPECTOR_ID);\n\t\tapi.sendInspectorState(INSPECTOR_ID);\n\t\tapi.getSettings().logStoreChanges && toastMessage(`\"${store.$id}\" store installed 🆕`);\n\t});\n}\nlet runningActionId = 0;\nlet activeAction;\n/**\n* Patches a store to enable action grouping in devtools by wrapping the store with a Proxy that is passed as the\n* context of all actions, allowing us to set `runningAction` on each access and effectively associating any state\n* mutation to the action.\n*\n* @param store - store to patch\n* @param actionNames - list of actionst to patch\n*/\nfunction patchActionForGrouping(store, actionNames, wrapWithProxy) {\n\tconst actions = actionNames.reduce((storeActions, actionName) => {\n\t\tstoreActions[actionName] = toRaw(store)[actionName];\n\t\treturn storeActions;\n\t}, {});\n\tfor (const actionName in actions) store[actionName] = function() {\n\t\tconst _actionId = runningActionId;\n\t\tconst trackedStore = wrapWithProxy ? new Proxy(store, {\n\t\t\tget(...args) {\n\t\t\t\tactiveAction = _actionId;\n\t\t\t\treturn Reflect.get(...args);\n\t\t\t},\n\t\t\tset(...args) {\n\t\t\t\tactiveAction = _actionId;\n\t\t\t\treturn Reflect.set(...args);\n\t\t\t}\n\t\t}) : store;\n\t\tactiveAction = _actionId;\n\t\tconst retValue = actions[actionName].apply(trackedStore, arguments);\n\t\tactiveAction = void 0;\n\t\treturn retValue;\n\t};\n}\n/**\n* pinia.use(devtoolsPlugin)\n*/\nfunction devtoolsPlugin({ app, store, options }) {\n\tif (store.$id.startsWith(\"__hot:\")) return;\n\tstore._isOptionsAPI = !!options.state;\n\tif (!store._p._testing) {\n\t\tpatchActionForGrouping(store, Object.keys(options.actions), store._isOptionsAPI);\n\t\tconst originalHotUpdate = store._hotUpdate;\n\t\ttoRaw(store)._hotUpdate = function(newStore) {\n\t\t\toriginalHotUpdate.apply(this, arguments);\n\t\t\tpatchActionForGrouping(store, Object.keys(newStore._hmrPayload.actions), !!store._isOptionsAPI);\n\t\t};\n\t}\n\taddStoreToDevtools(app, store);\n}\n//#endregion\n//#region src/createPinia.ts\n/**\n* Creates a Pinia instance to be used by the application\n*/\nfunction createPinia() {\n\tconst scope = effectScope(true);\n\tconst state = scope.run(() => ref({}));\n\tlet _p = [];\n\tlet toBeInstalled = [];\n\tconst pinia = markRaw({\n\t\tinstall(app) {\n\t\t\tsetActivePinia(pinia);\n\t\t\tpinia._a = app;\n\t\t\tapp.provide(piniaSymbol, pinia);\n\t\t\tapp.config.globalProperties.$pinia = pinia;\n\t\t\t/* istanbul ignore else */\n\t\t\tif ((process.env.NODE_ENV !== \"production\" || typeof __VUE_PROD_DEVTOOLS__ !== \"undefined\" && __VUE_PROD_DEVTOOLS__) && !(process.env.NODE_ENV === \"test\") && IS_CLIENT) registerPiniaDevtools(app, pinia);\n\t\t\ttoBeInstalled.forEach((plugin) => _p.push(plugin));\n\t\t\ttoBeInstalled = [];\n\t\t},\n\t\tuse(plugin) {\n\t\t\tif (!this._a) toBeInstalled.push(plugin);\n\t\t\telse _p.push(plugin);\n\t\t\treturn this;\n\t\t},\n\t\t_p,\n\t\t_a: null,\n\t\t_e: scope,\n\t\t_s: /* @__PURE__ */ new Map(),\n\t\tstate\n\t});\n\tif ((process.env.NODE_ENV !== \"production\" || typeof __VUE_PROD_DEVTOOLS__ !== \"undefined\" && __VUE_PROD_DEVTOOLS__) && !(process.env.NODE_ENV === \"test\") && IS_CLIENT && typeof Proxy !== \"undefined\") pinia.use(devtoolsPlugin);\n\treturn pinia;\n}\n/**\n* Dispose a Pinia instance by stopping its effectScope and removing the state, plugins and stores. This is mostly\n* useful in tests, with both a testing pinia or a regular pinia and in applications that use multiple pinia instances.\n* Once disposed, the pinia instance cannot be used anymore.\n*\n* @param pinia - pinia instance\n*/\nfunction disposePinia(pinia) {\n\tpinia._e.stop();\n\tpinia._s.clear();\n\tpinia._p.splice(0);\n\tpinia.state.value = {};\n\tpinia._a = null;\n}\n//#endregion\n//#region src/hmr.ts\n/**\n* Checks if a function is a `StoreDefinition`.\n*\n* @param fn - object to test\n* @returns true if `fn` is a StoreDefinition\n*/\nconst isUseStore = (fn) => {\n\treturn typeof fn === \"function\" && typeof fn.$id === \"string\";\n};\n/**\n* Mutates in place `newState` with `oldState` to _hot update_ it. It will\n* remove any key not existing in `newState` and recursively merge plain\n* objects.\n*\n* @param newState - new state object to be patched\n* @param oldState - old state that should be used to patch newState\n* @returns - newState\n*/\nfunction patchObject(newState, oldState) {\n\tfor (const key in oldState) {\n\t\tconst subPatch = oldState[key];\n\t\tif (!(key in newState)) continue;\n\t\tconst targetValue = newState[key];\n\t\tif (isPlainObject(targetValue) && isPlainObject(subPatch) && !isRef(subPatch) && !isReactive(subPatch)) newState[key] = patchObject(targetValue, subPatch);\n\t\telse newState[key] = subPatch;\n\t}\n\treturn newState;\n}\n/**\n* Creates an _accept_ function to pass to `import.meta.hot` in Vite applications.\n*\n* @example\n* ```js\n* const useUser = defineStore(...)\n* if (import.meta.hot) {\n* import.meta.hot.accept(acceptHMRUpdate(useUser, import.meta.hot))\n* }\n* ```\n*\n* @param initialUseStore - return of the defineStore to hot update\n* @param hot - `import.meta.hot`\n*/\nfunction acceptHMRUpdate(initialUseStore, hot) {\n\tif (!(process.env.NODE_ENV !== \"production\")) return () => {};\n\treturn (newModule) => {\n\t\tconst pinia = hot.data.pinia || initialUseStore._pinia;\n\t\tif (!pinia) return;\n\t\thot.data.pinia = pinia;\n\t\tfor (const exportName in newModule) {\n\t\t\tconst useStore = newModule[exportName];\n\t\t\tif (isUseStore(useStore) && pinia._s.has(useStore.$id)) {\n\t\t\t\tconst id = useStore.$id;\n\t\t\t\tif (id !== initialUseStore.$id) {\n\t\t\t\t\tdiagnostics.PINIA_R1005({\n\t\t\t\t\t\tfrom: initialUseStore.$id,\n\t\t\t\t\t\tto: id\n\t\t\t\t\t});\n\t\t\t\t\treturn hot.invalidate();\n\t\t\t\t}\n\t\t\t\tconst existingStore = pinia._s.get(id);\n\t\t\t\tif (!existingStore) {\n\t\t\t\t\tconsole.log(`[Pinia]: skipping hmr because store doesn't exist yet`);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tuseStore(pinia, existingStore);\n\t\t\t}\n\t\t}\n\t};\n}\n//#endregion\n//#region src/subscriptions.ts\nconst noop = () => {};\nfunction addSubscription(subscriptions, callback, detached, onCleanup = noop) {\n\tsubscriptions.add(callback);\n\tconst removeSubscription = () => {\n\t\tsubscriptions.delete(callback) && onCleanup();\n\t};\n\tif (!detached && getCurrentScope()) onScopeDispose(removeSubscription);\n\treturn removeSubscription;\n}\nfunction triggerSubscriptions(subscriptions, ...args) {\n\tsubscriptions.forEach((callback) => {\n\t\tcallback(...args);\n\t});\n}\n//#endregion\n//#region src/store.ts\nconst fallbackRunWithContext = (fn) => fn();\n/**\n* Marks a function as an action for `$onAction`\n* @internal\n*/\nconst ACTION_MARKER = Symbol();\n/**\n* Action name symbol. Allows to add a name to an action after defining it\n* @internal\n*/\nconst ACTION_NAME = Symbol();\nfunction mergeReactiveObjects(target, patchToApply) {\n\tif (target instanceof Map && patchToApply instanceof Map) patchToApply.forEach((value, key) => target.set(key, value));\n\telse if (target instanceof Set && patchToApply instanceof Set) patchToApply.forEach(target.add, target);\n\tfor (const key in patchToApply) {\n\t\tif (!Object.hasOwn(patchToApply, key)) continue;\n\t\tconst subPatch = patchToApply[key];\n\t\tconst targetValue = target[key];\n\t\tif (isPlainObject(targetValue) && isPlainObject(subPatch) && Object.hasOwn(target, key) && !isRef(subPatch) && !isReactive(subPatch)) {\n\t\t\ttarget[key] = mergeReactiveObjects(targetValue, subPatch);\n\t\t\tconst targetRef = toRaw(target)[key];\n\t\t\tif (isRef(targetRef) && isShallow(targetRef)) triggerRef(targetRef);\n\t\t} else target[key] = subPatch;\n\t}\n\treturn target;\n}\nconst skipHydrateSymbol = process.env.NODE_ENV !== \"production\" ? Symbol(\"pinia:skipHydration\") : /* istanbul ignore next */ Symbol();\n/**\n* Tells Pinia to skip the hydration process of a given object. This is useful in setup stores (only) when you return a\n* stateful object in the store but it isn't really state. e.g. returning a router instance in a setup store.\n*\n* @param obj - target object\n* @returns obj\n*/\nfunction skipHydrate(obj) {\n\treturn Object.defineProperty(obj, skipHydrateSymbol, {});\n}\n/**\n* Returns whether a value should be hydrated\n*\n* @param obj - target variable\n* @returns true if `obj` should be hydrated\n*/\nfunction shouldHydrate(obj) {\n\treturn !obj || typeof obj !== \"object\" || !Object.hasOwn(obj, skipHydrateSymbol);\n}\nconst { assign } = Object;\nfunction isComputed(o) {\n\treturn !!(isRef(o) && o.effect);\n}\nfunction createOptionsStore(id, options, pinia, hot) {\n\tconst { state, actions, getters } = options;\n\tconst initialState = pinia.state.value[id];\n\tlet store;\n\tfunction setup() {\n\t\tif (!initialState && (!(process.env.NODE_ENV !== \"production\") || !hot))\n /* istanbul ignore if */\n\t\tpinia.state.value[id] = state ? state() : {};\n\t\tconst localState = process.env.NODE_ENV !== \"production\" && hot ? toRefs(ref(state ? state() : {}).value) : toRefs(pinia.state.value[id]);\n\t\treturn assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => {\n\t\t\tif (process.env.NODE_ENV !== \"production\" && name in localState) diagnostics.PINIA_R1002({\n\t\t\t\tname,\n\t\t\t\tid\n\t\t\t});\n\t\t\tcomputedGetters[name] = markRaw(computed(() => {\n\t\t\t\tsetActivePinia(pinia);\n\t\t\t\tconst store = pinia._s.get(id);\n\t\t\t\treturn getters[name].call(store, store);\n\t\t\t}));\n\t\t\treturn computedGetters;\n\t\t}, {}));\n\t}\n\tstore = createSetupStore(id, setup, options, pinia, hot, true);\n\treturn store;\n}\nfunction createSetupStore($id, setup, options = {}, pinia, hot, isOptionsStore) {\n\tlet scope;\n\tconst optionsForPlugin = assign({ actions: {} }, options);\n\t/* istanbul ignore if */\n\tif (process.env.NODE_ENV !== \"production\" && !pinia._e.active) throw new Error(\"Pinia destroyed\");\n\tconst $subscribeOptions = { deep: true };\n\t/* istanbul ignore else */\n\tif (process.env.NODE_ENV !== \"production\") $subscribeOptions.onTrigger = (event) => {\n\t\t/* istanbul ignore else */\n\t\tif (isListening) debuggerEvents = event;\n\t\telse if (isListening === false && !store._hotUpdating) {\n\t\t\t/* istanbul ignore else */\n\t\t\tif (Array.isArray(debuggerEvents)) debuggerEvents.push(event);\n\t\t\telse console.error(\"🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.\");\n\t\t}\n\t};\n\tlet isListening;\n\tlet isSyncListening;\n\tlet subscriptions = /* @__PURE__ */ new Set();\n\tlet actionSubscriptions = /* @__PURE__ */ new Set();\n\tlet debuggerEvents;\n\tconst initialState = pinia.state.value[$id];\n\tif (!isOptionsStore && !initialState && (!(process.env.NODE_ENV !== \"production\") || !hot))\n /* istanbul ignore if */\n\tpinia.state.value[$id] = {};\n\tconst hotState = /*#__PURE__*/ ref({});\n\tlet activeListener;\n\tfunction $patch(partialStateOrMutator) {\n\t\tlet subscriptionMutation;\n\t\tisListening = isSyncListening = false;\n\t\t/* istanbul ignore else */\n\t\tif (process.env.NODE_ENV !== \"production\") debuggerEvents = [];\n\t\tif (typeof partialStateOrMutator === \"function\") {\n\t\t\tpartialStateOrMutator(pinia.state.value[$id]);\n\t\t\tsubscriptionMutation = {\n\t\t\t\ttype: \"patch function\",\n\t\t\t\tstoreId: $id,\n\t\t\t\tevents: debuggerEvents\n\t\t\t};\n\t\t} else {\n\t\t\tmergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator);\n\t\t\tsubscriptionMutation = {\n\t\t\t\ttype: \"patch object\",\n\t\t\t\tpayload: partialStateOrMutator,\n\t\t\t\tstoreId: $id,\n\t\t\t\tevents: debuggerEvents\n\t\t\t};\n\t\t}\n\t\tconst myListenerId = activeListener = Symbol();\n\t\tnextTick().then(() => {\n\t\t\tif (activeListener === myListenerId) isListening = true;\n\t\t});\n\t\tisSyncListening = true;\n\t\ttriggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]);\n\t}\n\tconst $reset = isOptionsStore ? function $reset() {\n\t\tconst { state } = options;\n\t\tconst newState = state ? state() : {};\n\t\tthis.$patch(($state) => {\n\t\t\tassign($state, newState);\n\t\t});\n\t} : process.env.NODE_ENV !== \"production\" ? () => {\n\t\tthrow new Error(`🍍: Store \"${$id}\" is built using the setup syntax and does not implement $reset().`);\n\t} : noop;\n\tfunction $dispose() {\n\t\tscope.stop();\n\t\tsubscriptions.clear();\n\t\tactionSubscriptions.clear();\n\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\tconst registeredStore = pinia._s.get($id);\n\t\t\tif (registeredStore && registeredStore !== store) diagnostics.PINIA_R1008({ id: $id });\n\t\t}\n\t\tpinia._s.delete($id);\n\t}\n\t/**\n\t* Helper that wraps function so it can be tracked with $onAction\n\t* @param fn - action to wrap\n\t* @param name - name of the action\n\t*/\n\tconst action = (fn, name = \"\") => {\n\t\tif (ACTION_MARKER in fn) {\n\t\t\tfn[ACTION_NAME] = name;\n\t\t\treturn fn;\n\t\t}\n\t\tconst wrappedAction = function() {\n\t\t\tsetActivePinia(pinia);\n\t\t\tconst args = Array.from(arguments);\n\t\t\tconst afterCallbackSet = /* @__PURE__ */ new Set();\n\t\t\tconst onErrorCallbackSet = /* @__PURE__ */ new Set();\n\t\t\tfunction after(callback) {\n\t\t\t\tafterCallbackSet.add(callback);\n\t\t\t}\n\t\t\tfunction onError(callback) {\n\t\t\t\tonErrorCallbackSet.add(callback);\n\t\t\t}\n\t\t\ttriggerSubscriptions(actionSubscriptions, {\n\t\t\t\targs,\n\t\t\t\tname: wrappedAction[ACTION_NAME],\n\t\t\t\tstore,\n\t\t\t\tafter,\n\t\t\t\tonError\n\t\t\t});\n\t\t\tlet ret;\n\t\t\ttry {\n\t\t\t\tret = fn.apply(this && this.$id === $id ? this : store, args);\n\t\t\t} catch (error) {\n\t\t\t\ttriggerSubscriptions(onErrorCallbackSet, error);\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tif (ret instanceof Promise) return ret.then((value) => {\n\t\t\t\ttriggerSubscriptions(afterCallbackSet, value);\n\t\t\t\treturn value;\n\t\t\t}).catch((error) => {\n\t\t\t\ttriggerSubscriptions(onErrorCallbackSet, error);\n\t\t\t\treturn Promise.reject(error);\n\t\t\t});\n\t\t\ttriggerSubscriptions(afterCallbackSet, ret);\n\t\t\treturn ret;\n\t\t};\n\t\twrappedAction[ACTION_MARKER] = true;\n\t\twrappedAction[ACTION_NAME] = name;\n\t\treturn wrappedAction;\n\t};\n\tconst _hmrPayload = /*#__PURE__*/ markRaw({\n\t\tactions: {},\n\t\tgetters: {},\n\t\tstate: [],\n\t\tstateKeys: {},\n\t\thotState\n\t});\n\tconst partialStore = {\n\t\t_p: pinia,\n\t\t$id,\n\t\t$onAction: addSubscription.bind(null, actionSubscriptions),\n\t\t$patch,\n\t\t$reset,\n\t\t$subscribe(callback, options = {}) {\n\t\t\tif (subscriptions.has(callback)) {\n\t\t\t\tif (process.env.NODE_ENV !== \"production\") diagnostics.PINIA_R1007({ id: $id });\n\t\t\t\treturn noop;\n\t\t\t}\n\t\t\tconst removeSubscription = addSubscription(subscriptions, callback, options.detached, () => stopWatcher());\n\t\t\tconst stopWatcher = scope.run(() => watch(() => pinia.state.value[$id], (state) => {\n\t\t\t\tif (options.flush === \"sync\" ? isSyncListening : isListening) callback({\n\t\t\t\t\tstoreId: $id,\n\t\t\t\t\ttype: \"direct\",\n\t\t\t\t\tevents: debuggerEvents\n\t\t\t\t}, state);\n\t\t\t}, assign({}, $subscribeOptions, options)));\n\t\t\treturn removeSubscription;\n\t\t},\n\t\t$dispose\n\t};\n\tconst store = reactive(process.env.NODE_ENV !== \"production\" || (process.env.NODE_ENV !== \"production\" || typeof __VUE_PROD_DEVTOOLS__ !== \"undefined\" && __VUE_PROD_DEVTOOLS__) && !(process.env.NODE_ENV === \"test\") && IS_CLIENT ? assign({\n\t\t_hmrPayload,\n\t\t_customProperties: markRaw(/* @__PURE__ */ new Set())\n\t}, partialStore) : partialStore);\n\tpinia._s.set($id, store);\n\tconst setupStore = (pinia._a && pinia._a.runWithContext || fallbackRunWithContext)(() => pinia._e.run(() => (scope = effectScope()).run(() => setup({ action }))));\n\tfor (const key in setupStore) {\n\t\tconst prop = setupStore[key];\n\t\tif (isRef(prop) && !isComputed(prop) || isReactive(prop)) {\n\t\t\tif (process.env.NODE_ENV !== \"production\" && hot) hotState.value[key] = toRef(setupStore, key);\n\t\t\telse if (!isOptionsStore) {\n\t\t\t\tif (initialState && shouldHydrate(prop)) {\n\t\t\t\t\tif (isRef(prop)) prop.value = initialState[key];\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (prop instanceof Set || prop instanceof Map) prop.clear();\n\t\t\t\t\t\tmergeReactiveObjects(prop, initialState[key]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpinia.state.value[$id][key] = prop;\n\t\t\t}\n\t\t\t/* istanbul ignore else */\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\t_hmrPayload.state.push(key);\n\t\t\t\tconst stateValue = isRef(prop) ? prop.value : prop;\n\t\t\t\tif (isPlainObject(stateValue) && !(isRef(prop) && isShallow(prop))) _hmrPayload.stateKeys[key] = Object.keys(stateValue);\n\t\t\t}\n\t\t} else if (typeof prop === \"function\") {\n\t\t\tsetupStore[key] = process.env.NODE_ENV !== \"production\" && hot ? prop : action(prop, key);\n\t\t\t/* istanbul ignore else */\n\t\t\tif (process.env.NODE_ENV !== \"production\") _hmrPayload.actions[key] = prop;\n\t\t\toptionsForPlugin.actions[key] = prop;\n\t\t} else if (process.env.NODE_ENV !== \"production\") {\n\t\t\tif (isComputed(prop)) {\n\t\t\t\t_hmrPayload.getters[key] = isOptionsStore ? options.getters[key] : prop;\n\t\t\t\tif (IS_CLIENT) (setupStore._getters || (setupStore._getters = markRaw([]))).push(key);\n\t\t\t}\n\t\t}\n\t}\n\t/* istanbul ignore if */\n\tassign(store, setupStore);\n\tassign(toRaw(store), setupStore);\n\tObject.defineProperty(store, \"$state\", {\n\t\tget: () => process.env.NODE_ENV !== \"production\" && hot ? hotState.value : pinia.state.value[$id],\n\t\tset: (state) => {\n\t\t\t/* istanbul ignore if */\n\t\t\tif (process.env.NODE_ENV !== \"production\" && hot) throw new Error(\"cannot set hotState\");\n\t\t\t$patch(($state) => {\n\t\t\t\tassign($state, state);\n\t\t\t});\n\t\t}\n\t});\n\t/* istanbul ignore else */\n\tif (process.env.NODE_ENV !== \"production\") store._hotUpdate = markRaw((newStore) => {\n\t\tstore._hotUpdating = true;\n\t\tnewStore._hmrPayload.state.forEach((stateKey) => {\n\t\t\tif (stateKey in store.$state) {\n\t\t\t\tconst newStateTarget = newStore.$state[stateKey];\n\t\t\t\tconst oldStateSource = store.$state[stateKey];\n\t\t\t\tconst newStoreProperty = toRaw(newStore)[stateKey];\n\t\t\t\tif (!(isRef(newStoreProperty) && isShallow(newStoreProperty))) {\n\t\t\t\t\tif (Object.hasOwn(newStore._hmrPayload.stateKeys, stateKey) && typeof newStateTarget === \"object\" && isPlainObject(newStateTarget) && isPlainObject(oldStateSource)) {\n\t\t\t\t\t\tif (isShallow(newStoreProperty)) {\n\t\t\t\t\t\t\tfor (const key in oldStateSource) if (Object.hasOwn(oldStateSource, key) && key in newStateTarget) newStateTarget[key] = oldStateSource[key];\n\t\t\t\t\t\t\ttriggerRef(newStoreProperty);\n\t\t\t\t\t\t} else patchObject(newStateTarget, oldStateSource);\n\t\t\t\t\t\tconst oldStateKeys = store._hmrPayload.stateKeys[stateKey];\n\t\t\t\t\t\tif (oldStateKeys) {\n\t\t\t\t\t\t\tfor (const key in oldStateSource) if (Object.hasOwn(oldStateSource, key) && !oldStateKeys.includes(key)) newStateTarget[key] = oldStateSource[key];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (isShallow(newStoreProperty)) triggerRef(newStoreProperty);\n\t\t\t\t\t} else newStore.$state[stateKey] = oldStateSource;\n\t\t\t\t}\n\t\t\t}\n\t\t\tstore[stateKey] = toRef(newStore.$state, stateKey);\n\t\t});\n\t\tObject.keys(store.$state).forEach((stateKey) => {\n\t\t\tif (!(stateKey in newStore.$state)) delete store[stateKey];\n\t\t});\n\t\tisListening = false;\n\t\tisSyncListening = false;\n\t\tpinia.state.value[$id] = toRef(newStore._hmrPayload, \"hotState\");\n\t\tisSyncListening = true;\n\t\tnextTick().then(() => {\n\t\t\tisListening = true;\n\t\t});\n\t\tfor (const actionName in newStore._hmrPayload.actions) {\n\t\t\tconst actionFn = newStore[actionName];\n\t\t\tstore[actionName] = action(actionFn, actionName);\n\t\t}\n\t\tfor (const getterName in newStore._hmrPayload.getters) {\n\t\t\tconst getter = newStore._hmrPayload.getters[getterName];\n\t\t\tconst getterValue = isOptionsStore ? computed(() => {\n\t\t\t\tsetActivePinia(pinia);\n\t\t\t\treturn getter.call(store, store);\n\t\t\t}) : getter;\n\t\t\tstore[getterName] = getterValue;\n\t\t}\n\t\tObject.keys(store._hmrPayload.getters).forEach((key) => {\n\t\t\tif (!(key in newStore._hmrPayload.getters)) delete store[key];\n\t\t});\n\t\tObject.keys(store._hmrPayload.actions).forEach((key) => {\n\t\t\tif (!(key in newStore._hmrPayload.actions)) delete store[key];\n\t\t});\n\t\tstore._hmrPayload = newStore._hmrPayload;\n\t\tstore._getters = newStore._getters;\n\t\tstore._hotUpdating = false;\n\t});\n\tif ((process.env.NODE_ENV !== \"production\" || typeof __VUE_PROD_DEVTOOLS__ !== \"undefined\" && __VUE_PROD_DEVTOOLS__) && !(process.env.NODE_ENV === \"test\") && IS_CLIENT) {\n\t\tconst nonEnumerable = {\n\t\t\twritable: true,\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false\n\t\t};\n\t\t[\n\t\t\t\"_p\",\n\t\t\t\"_hmrPayload\",\n\t\t\t\"_getters\",\n\t\t\t\"_customProperties\"\n\t\t].forEach((p) => {\n\t\t\tObject.defineProperty(store, p, assign({ value: store[p] }, nonEnumerable));\n\t\t});\n\t}\n\tpinia._p.forEach((extender) => {\n\t\tconst extensions = scope.run(() => extender({\n\t\t\tstore,\n\t\t\tapp: pinia._a,\n\t\t\tpinia,\n\t\t\toptions: optionsForPlugin\n\t\t}));\n\t\t/* istanbul ignore else */\n\t\tif ((process.env.NODE_ENV !== \"production\" || typeof __VUE_PROD_DEVTOOLS__ !== \"undefined\" && __VUE_PROD_DEVTOOLS__) && !(process.env.NODE_ENV === \"test\") && IS_CLIENT) Object.keys(extensions || {}).forEach((key) => store._customProperties.add(key));\n\t\tif (process.env.NODE_ENV !== \"production\") for (const key in extensions) {\n\t\t\tconst value = extensions[key];\n\t\t\tif (typeof value === \"object\" && !isRef(value) && !isReactive(value) && !value?.__v_skip) diagnostics.PINIA_R1006({\n\t\t\t\tkey,\n\t\t\t\tid: $id\n\t\t\t});\n\t\t}\n\t\tassign(store, extensions);\n\t});\n\tif (process.env.NODE_ENV !== \"production\" && store.$state && typeof store.$state === \"object\" && typeof store.$state.constructor === \"function\" && !store.$state.constructor.toString().includes(\"[native code]\")) diagnostics.PINIA_R1003({ id: store.$id });\n\tif (initialState && isOptionsStore && options.hydrate) options.hydrate(store.$state, initialState);\n\tisListening = true;\n\tisSyncListening = true;\n\treturn store;\n}\n/*! #__NO_SIDE_EFFECTS__ */\nfunction defineStore(id, setup, setupOptions) {\n\tlet options;\n\tconst isSetupStore = typeof setup === \"function\";\n\toptions = isSetupStore ? setupOptions : setup;\n\tfunction useStore(pinia, hot) {\n\t\tconst hasContext = hasInjectionContext();\n\t\tpinia = (process.env.NODE_ENV === \"test\" && activePinia && activePinia._testing ? null : pinia) || (hasContext ? inject(piniaSymbol, null) : null);\n\t\tif (pinia) setActivePinia(pinia);\n\t\tif (process.env.NODE_ENV !== \"production\" && !activePinia) throw new Error(\"[🍍]: \\\"getActivePinia()\\\" was called but there was no active Pinia. Are you trying to use a store before calling \\\"app.use(pinia)\\\"?\\nSee https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.\\nThis will fail in production.\");\n\t\tpinia = activePinia;\n\t\tif (!pinia._s.has(id)) {\n\t\t\tif (isSetupStore) createSetupStore(id, setup, options, pinia);\n\t\t\telse createOptionsStore(id, options, pinia);\n\t\t\t/* istanbul ignore else */\n\t\t\tif (process.env.NODE_ENV !== \"production\") useStore._pinia = pinia;\n\t\t}\n\t\tconst store = pinia._s.get(id);\n\t\tif (process.env.NODE_ENV !== \"production\" && hot) {\n\t\t\tconst hotId = \"__hot:\" + id;\n\t\t\tconst newStore = isSetupStore ? createSetupStore(hotId, setup, options, pinia, true) : createOptionsStore(hotId, assign({}, options), pinia, true);\n\t\t\thot._hotUpdate(newStore);\n\t\t\tdelete pinia.state.value[hotId];\n\t\t\tpinia._s.delete(hotId);\n\t\t}\n\t\tif (process.env.NODE_ENV !== \"production\" && IS_CLIENT) {\n\t\t\tconst currentInstance = getCurrentInstance();\n\t\t\tif (currentInstance && currentInstance.proxy && !hot) {\n\t\t\t\tconst vm = currentInstance.proxy;\n\t\t\t\tconst cache = \"_pStores\" in vm ? vm._pStores : vm._pStores = {};\n\t\t\t\tcache[id] = store;\n\t\t\t}\n\t\t}\n\t\treturn store;\n\t}\n\tuseStore.$id = id;\n\treturn useStore;\n}\n//#endregion\n//#region src/mapHelpers.ts\nlet mapStoreSuffix = \"Store\";\n/**\n* Changes the suffix added by `mapStores()`. Can be set to an empty string.\n* Defaults to `\"Store\"`. Make sure to extend the MapStoresCustomization\n* interface if you are using TypeScript.\n*\n* @param suffix - new suffix\n*/\nfunction setMapStoreSuffix(suffix) {\n\tmapStoreSuffix = suffix;\n}\n/**\n* Allows using stores without the composition API (`setup()`) by generating an\n* object to be spread in the `computed` field of a component. It accepts a list\n* of store definitions.\n*\n* @example\n* ```js\n* export default {\n* computed: {\n* // other computed properties\n* ...mapStores(useUserStore, useCartStore)\n* },\n*\n* created() {\n* this.userStore // store with id \"user\"\n* this.cartStore // store with id \"cart\"\n* }\n* }\n* ```\n*\n* @param stores - list of stores to map to an object\n*/\nfunction mapStores(...stores) {\n\tif (process.env.NODE_ENV !== \"production\" && Array.isArray(stores[0])) {\n\t\tdiagnostics.PINIA_R1001();\n\t\tstores = stores[0];\n\t}\n\treturn stores.reduce((reduced, useStore) => {\n\t\treduced[useStore.$id + mapStoreSuffix] = function() {\n\t\t\treturn useStore(this.$pinia);\n\t\t};\n\t\treturn reduced;\n\t}, {});\n}\n/**\n* Allows using state and getters from one store without using the composition\n* API (`setup()`) by generating an object to be spread in the `computed` field\n* of a component.\n*\n* @param useStore - store to map from\n* @param keysOrMapper - array or object\n*/\nfunction mapState(useStore, keysOrMapper) {\n\treturn Array.isArray(keysOrMapper) ? keysOrMapper.reduce((reduced, key) => {\n\t\treduced[key] = function() {\n\t\t\treturn useStore(this.$pinia)[key];\n\t\t};\n\t\treturn reduced;\n\t}, {}) : Object.keys(keysOrMapper).reduce((reduced, key) => {\n\t\treduced[key] = function() {\n\t\t\tconst store = useStore(this.$pinia);\n\t\t\tconst storeKey = keysOrMapper[key];\n\t\t\treturn typeof storeKey === \"function\" ? storeKey.call(this, store) : store[storeKey];\n\t\t};\n\t\treturn reduced;\n\t}, {});\n}\n/**\n* Alias for `mapState()`. You should use `mapState()` instead.\n* @deprecated use `mapState()` instead.\n*/\nconst mapGetters = mapState;\n/**\n* Allows directly using actions from your store without using the composition\n* API (`setup()`) by generating an object to be spread in the `methods` field\n* of a component.\n*\n* @param useStore - store to map from\n* @param keysOrMapper - array or object\n*/\nfunction mapActions(useStore, keysOrMapper) {\n\treturn Array.isArray(keysOrMapper) ? keysOrMapper.reduce((reduced, key) => {\n\t\treduced[key] = function(...args) {\n\t\t\treturn useStore(this.$pinia)[key](...args);\n\t\t};\n\t\treturn reduced;\n\t}, {}) : Object.keys(keysOrMapper).reduce((reduced, key) => {\n\t\treduced[key] = function(...args) {\n\t\t\treturn useStore(this.$pinia)[keysOrMapper[key]](...args);\n\t\t};\n\t\treturn reduced;\n\t}, {});\n}\n/**\n* Allows using state and getters from one store without using the composition\n* API (`setup()`) by generating an object to be spread in the `computed` field\n* of a component.\n*\n* @param useStore - store to map from\n* @param keysOrMapper - array or object\n*/\nfunction mapWritableState(useStore, keysOrMapper) {\n\treturn Array.isArray(keysOrMapper) ? keysOrMapper.reduce((reduced, key) => {\n\t\treduced[key] = {\n\t\t\tget() {\n\t\t\t\treturn useStore(this.$pinia)[key];\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\treturn useStore(this.$pinia)[key] = value;\n\t\t\t}\n\t\t};\n\t\treturn reduced;\n\t}, {}) : Object.keys(keysOrMapper).reduce((reduced, key) => {\n\t\treduced[key] = {\n\t\t\tget() {\n\t\t\t\treturn useStore(this.$pinia)[keysOrMapper[key]];\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\treturn useStore(this.$pinia)[keysOrMapper[key]] = value;\n\t\t\t}\n\t\t};\n\t\treturn reduced;\n\t}, {});\n}\n//#endregion\n//#region src/storeToRefs.ts\n/**\n* Creates an object of references with all the state, getters, and plugin-added\n* state properties of the store. Similar to `toRefs()` but specifically\n* designed for Pinia stores so methods and non reactive properties are\n* completely ignored.\n*\n* @param store - store to extract the refs from\n*/\nfunction storeToRefs(store) {\n\tconst rawStore = toRaw(store);\n\tconst refs = {};\n\tfor (const key in rawStore) {\n\t\tconst value = rawStore[key];\n\t\tif (value?.effect) refs[key] = computed({\n\t\t\tget: () => store[key],\n\t\t\tset(value) {\n\t\t\t\tstore[key] = value;\n\t\t\t}\n\t\t});\n\t\telse if (isRef(value) || isReactive(value)) refs[key] = toRef(store, key);\n\t}\n\treturn refs;\n}\n//#endregion\nexport { MutationType, acceptHMRUpdate, createPinia, defineStore, disposePinia, getActivePinia, getStores, mapActions, mapGetters, mapState, mapStores, mapWritableState, piniaSymbol, setActivePinia, setMapStoreSuffix, shouldHydrate, skipHydrate, storeToRefs };\n","/*\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\n/**\n * Fetch the recommended files of the current user\n *\n * @param {boolean} always Return recommendations even if the user disabled them\n */\nexport function fetchRecommendedFiles(always) {\n\tconst url = generateOcsUrl('apps/recommendations/api/v1/recommendations' + (always ? '/always' : ''))\n\n\treturn Axios.get(url)\n\t\t.then((resp) => resp.data.ocs.data)\n}\n","import axios from '@nextcloud/axios'\n/*\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { generateUrl } from '@nextcloud/router'\nimport { createPinia, defineStore, setActivePinia } from 'pinia'\nimport { fetchRecommendedFiles } from '../service/RecommendationService.js'\n\nsetActivePinia(createPinia())\n\nexport const useRecommendationsStore = defineStore('recommendations', {\n\tstate: () => ({\n\t\tenabled: true,\n\t\tloadedRecommendations: false,\n\t\tloading: false,\n\t\trecommendedFiles: [],\n\t}),\n\tactions: {\n\t\t/**\n\t\t * Toggle the recommendations and fetch recommended files if required\n\t\t *\n\t\t * @async\n\t\t * @param {boolean} enabled recommendations status\n\t\t */\n\t\tasync setEnabled(enabled) {\n\t\t\tthis.enabled = enabled\n\t\t\tawait axios.put(generateUrl('apps/recommendations/settings/enabled'), {\n\t\t\t\tvalue: enabled.toString(),\n\t\t\t})\n\t\t\tif (enabled) {\n\t\t\t\tthis.fetchRecommendations()\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Fetch recommendations and current enabled setting\n\t\t *\n\t\t * @async\n\t\t * @param {boolean} [always] set to true to always get recommendations regardless of enabled setting\n\t\t */\n\t\tasync fetchRecommendations(always) {\n\t\t\tif (this.loadedRecommendations || this.loading) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.loading = true\n\t\t\tconst fetched = await fetchRecommendedFiles(always)\n\n\t\t\tthis.enabled = fetched.enabled\n\t\t\tif (fetched.recommendations) {\n\t\t\t\tthis.recommendedFiles = fetched.recommendations\n\t\t\t\tthis.loadedRecommendations = true\n\t\t\t}\n\t\t\tthis.loading = false\n\t\t},\n\t},\n})\n"],"names":["global","makeMap","str","map","key","val","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","isModelListener","extend","remove","arr","el","i","hasOwnProperty","hasOwn","isArray","isMap","toTypeString","isSet","isDate","isFunction","isString","isSymbol","isObject","isPromise","objectToString","value","toRawType","isPlainObject","isIntegerKey","isReservedProp","cacheStringFunction","fn","cache","camelizeRE","camelize","c","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","oldValue","invokeArrayFns","fns","arg","def","obj","writable","looseToNumber","n","_globalThis","getGlobalThis","normalizeStyle","res","item","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","ret","match","tmp","normalizeClass","name","normalizeProps","props","klass","style","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","a","b","seen","equal","looseEqual","looseCompareCollections","candidates","matched","index","looseCompareObjects","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","looseCompareNested","compare","seenA","seenB","isRef","toDisplayString","replacer","_key","entries","val2","stringifySymbol","v","_a","normalizeCssVarValue","activeEffectScope","EffectScope","detached","l","scopes","effects","currentEffectScope","current","fromParent","last","effectScope","getCurrentScope","onScopeDispose","failSilently","activeSub","pausedQueueEffects","ReactiveEffect","batch","cleanupEffect","prepareDeps","prevEffect","prevShouldTrack","shouldTrack","cleanupDeps","link","removeSub","isDirty","batchDepth","batchedSub","batchedComputed","sub","isComputed","startBatch","endBatch","e","next","error","err","head","tail","prev","removeDep","refreshComputed","computed","globalVersion","dep","prevSub","soft","nextSub","prevDep","nextDep","trackStack","pauseTracking","resetTracking","cleanup","Link","Dep","debugInfo","addSub","currentTail","targetMap","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ARRAY_ITERATE_KEY","track","target","type","depsMap","trigger","newValue","oldTarget","run","targetIsArray","isArrayIndex","newLength","key2","getDepFromReactive","object","depMap","reactiveReadArray","array","raw","isShallow","isReadonly","isReactive","toReadonly","toReactive","shallowReadArray","toRaw","toWrapped","arrayInstrumentations","iterator","args","x","thisArg","apply","searchProxy","separator","noTracking","reduce","comparer","self","method","wrapValue","methodFn","iter","wrapped","wrapResult","arrayProto","result","wrappedRetFn","needsWrap","result2","wrappedFn","wrapInitialAccumulator","acc","isNonTrackableKeys","builtInSymbols","BaseReactiveHandler","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","readonly","MutableReactiveHandler","isArrayWithIntegerKey","isOldValueReadonly","hadKey","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","shallowReadonlyHandlers","toShallow","getProto","createIterableMethod","rawTarget","targetIsMap","isPair","isKeyOnly","innerIterator","wrap","done","createReadonlyMethod","createInstrumentations","shallow","instrumentations","rawKey","has","callback","observed","proto","rawValue","valueToAdd","get","hadItems","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","shallowReadonlyCollectionHandlers","targetTypeMap","rawType","reactive","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","isProxy","markRaw","r","ref","createRef","shallowRef","RefImpl","useDirectValue","triggerRef","ref2","unref","toValue","source","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","factory","set","newVal","customRef","toRefs","propertyToRef","ObjectRefImpl","_object","_defaultValue","nestedRef","GetterRefImpl","_getter","toRef","defaultValue","ComputedRefImpl","setter","isSSR","getterOrOptions","debugOptions","getter","INITIAL_WATCHER_VALUE","cleanupMap","activeWatcher","onWatcherCleanup","cleanupFn","owner","cleanups","watch","cb","options","immediate","deep","once","scheduler","augmentJob","call","reactiveGetter","source2","traverse","effect","boundCleanup","forceTrigger","isMultiSource","s","currentEffect","baseGetter","depth","scope","watchHandle","_cb","job","immediateFirstRun","currentWatcher","cleanup2","callWithErrorHandling","instance","handleError","callWithAsyncErrorHandling","values","throwInDev","contextVNode","errorHandler","throwUnhandledErrorInProduction","cur","exposedInstance","errorInfo","errorCapturedHooks","logError","throwInProd","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","nextTick","p","findInsertionIndex","id","start","end","middle","middleJob","middleJobId","getId","queueJob","jobId","lastJob","queueFlush","flushJobs","queuePostFlushCb","flushPreFlushCbs","minUid","flushPostFlushCbs","skip","cbs","kept","deduped","isFlushing","flushOnAppMount","queued","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","pushScopeId","popScopeId","withScopeId","_id","withCtx","ctx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","prevStackSize","blockStack","closeBlock","withDirectives","vnode","directives","getComponentPublicInstance","bindings","dir","modifiers","invokeDirectiveHook","prevVNode","oldBindings","binding","hook","provide","currentInstance","provides","parentProvides","inject","treatDefaultAsFactory","getCurrentInstance","currentApp","hasInjectionContext","ssrContextKey","useSSRContext","watchEffect","doWatch","watchSyncEffect","flush","baseWatchOptions","runsImmediately","ssrCleanup","isInSSRComponentSetup","watchStopHandle","isPre","queuePostRenderEffect","isFirstRun","watch$1","instanceWatch","publicThis","createPathGetter","reset","setCurrentInstance","path","segments","TeleportEndKey","isTeleport","leaveCbKey","findNonCommentChild","children","child","Comment","getInnerChild$1","isKeepAlive","shapeFlag","setTransitionHooks","hooks","subTree","Fragment","filterSingleRoot","getTransitionRoot","defineComponent","extraOptions","markAsyncBoundary","useTemplateRef","refs","isTemplateRefKey","desc","pendingSetRefMap","setRef","rawRef","oldRawRef","parentSuspense","isUnmount","isAsyncWrapper","refValue","oldRef","setupState","rawSetupState","canSetSetupRef","canSetRef","invalidatePendingSetRef","oldRawRefAtom","_isString","_isRef","doSet","existing","pendingSetRef","isComment","node","forEachElement","defineAsyncComponent","loader","loadingComponent","errorComponent","delay","hydrateStrategy","timeout","suspensible","userOnError","pendingRequest","resolvedComp","retries","retry","load","thisRequest","resolve","reject","comp","hydrate","wasConnected","patched","performHydrate","doHydrate","teardown","createInnerComp","onError","createVNode","loaded","delayed","timeoutTimer","delayTimer","onUnmounted","parent","ce","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","prepend","createHook","lifecycle","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","COMPONENTS","DIRECTIVES","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","resolveDynamicComponent","component","resolveDirective","warnMissing","Component","selfName","getComponentName","registry","renderList","renderItem","cached","sourceIsArray","sourceIsReactiveArray","isReadonlySource","keys","createSlots","slots","dynamicSlots","slot","j","renderSlot","fallback","noSlotted","branchKey","slotProps","hasProps","openBlock","createBlock","rendered","validSlotContent","ensureValidVNode","slotKey","vnodes","isVNode","toHandlers","preserveCaseIfNecessary","getPublicInstance","isStatefulComponent","publicPropertiesMap","resolveMergedOptions","hasSetupBinding","state","PublicInstanceProxyHandlers","data","accessCache","appContext","shouldCacheAccess","publicGetter","cssModule","globalProperties","cssModules","descriptor","normalizePropsOrEmits","mergeModels","applyOptions","callHook","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","render","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","inheritAttrs","components","filters","resolveInjections","methodHandler","opt","createWatcher","registerLifecycleHook","register","_hook","exposed","checkDuplicateProperties","normalizeInject","h","handler","base","mixins","extendsOptions","globalMixins","optionMergeStrategies","resolved","m","mergeOptions","to","from","strats","asMixin","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","uid$1","createAppAPI","rootComponent","rootProps","context","installedPlugins","pluginCleanupFns","isMounted","app","version","plugin","mixin","directive","rootContainer","isHydrate","namespace","lastApp","useModel","camelizedName","hyphenatedName","getModelModifiers","localValue","prevSetValue","prevEmittedValue","propValue","emittedValue","rawProps","hasVModel","i2","modelName","emit","event","rawArgs","handlerName","onceHandler","mixinEmitsCache","normalizeEmitsOptions","hasExtends","extendEmits","raw2","normalizedFromExtend","isEmitListener","renderComponentRoot","withProxy","propsOptions","attrs","renderCache","fallthroughAttrs","proxyToUse","thisProxy","normalizeVNode","render2","getFunctionalFallthrough","root","filterModelListeners","cloneVNode","recurse","singleRoot","shouldUpdateComponent","nextVNode","optimized","prevProps","prevChildren","nextProps","nextChildren","patchFlag","emits","hasPropsChanged","dynamicProps","hasPropValueChanged","emitsOptions","nextKeys","nextProp","prevProp","updateHOCHostEl","suspense","internalObjectProto","createInternalObject","isInternalObject","initProps","isStateful","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","propsToUpdate","camelizedKey","resolvePropValue","kebabKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","propsDefaults","mixinPropsCache","normalizePropsOptions","extendProps","normalizedKey","validatePropName","prop","propType","shouldCast","shouldCastTrue","typeName","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","assignSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","queueEffectWithSuspense","createRenderer","baseCreateRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","patch","n1","n2","container","anchor","parentComponent","slotScopeIds","isSameVNodeType","getNextHostNode","unmount","Text","processText","processCommentNode","Static","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","nextSibling","removeStaticNode","mountElement","customElement","patchElement","vnodeHook","transition","dirs","mountChildren","resolveChildrenNamespace","setScopeId","invokeVNodeHook","needCallTransitionHooks","needTransition","scopeId","isSuspense","parentVNode","cloneIfMounted","dynamicChildren","oldProps","newProps","toggleRecurse","patchBlockChildren","patchChildren","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","oldEl","resolveAsyncComponentPlaceholder","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","mountComponent","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","placeholder","updateComponentPreRender","componentUpdateFn","bu","u","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","update","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","scopedInitialVNode","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","unmountChildren","oldLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","anchorVNode","move","moveType","leave","delayLeave","afterLeave","remove2","performLeave","wasLeaving","doRemove","cacheIndex","memo","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","shouldInvalidateMemo","isFragment","removeFragment","leavingNode","performRemove","leavingEl","bum","um","invalidateMount","teleportEnd","getNextUid","currentNamespace","allowed","ch1","ch2","len","arrI","subComponent","anchorVnode","currentBlock","disableTracking","isBlockTreeEnabled","inVOnce","setupBlock","createElementBlock","createBaseVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","extraProps","mergeRef","cloneTransition","mergedProps","mergeProps","createTextVNode","text","flag","createCommentVNode","asBlock","slotFlag","toMerge","incoming","emptyAppContext","uid","internalSetCurrentInstance","setInSSRSetupState","g","registerGlobalSetter","setters","unsetCurrentInstance","setupResult","setupStatefulComponent","setup","setupContext","createSetupContext","isAsyncSetup","resolvedResult","handleSetupResult","finishComponentSetup","skipOptions","attrsProxyHandlers","includeInferred","computed$1","propsOrChildren","policy","tt","unsafeToTrustedHTML","svgNS","mathmlNS","doc","templateContainer","nodeOps","tag","is","selector","content","before","template","wrapper","vtcKey","patchClass","isSVG","transitionClasses","vShowOriginalDisplay","vShowHidden","CSS_VAR_TEXT","useCssVars","updateTeleports","vars","setVarsOnNode","setVars","setVarsOnVNode","ob","displayRE","patchStyle","isCssString","hasControlledDisplay","prevStyle","setStyle","shouldPreserveTextareaResizeStyle","cssVarText","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","isBoolean","patchDOMProp","attrName","needRemove","addEventListener","removeEventListener","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","optionsModifierEventRE","cachedNow","getNow","initialValue","originalStop","handlers","isNativeOn","patchProp","shouldSetAsProp","shouldSetAsPropForVueCE","camelize$1","systemModifiers","modifierGuards","withModifiers","cacheKey","guard","keyNames","withKeys","eventKey","k","rendererOptions","renderer","ensureRenderer","createApp","mount","containerOrSelector","normalizeContainer","resolveRootNamespace","generateOcsUrl","url","params","allOptions","ensureBaseUrlInNonDomEnvironment","getBaseUrl","_generateUrlPath","_build","generateUrl","baseOrRootURL","getRootUrl","ensureDomEnvironment","webroot","pos","generateAvatarUrl","user","size","guestUrl","themeUrl","query","queryString","_arrayLikeToArray","_arrayWithHoles","_iterableToArrayLimit","t","f","o","_nonIterableRest","_slicedToArray","_unsupportedIterableToArray","setPrototypeOf","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","create","_ref","construct","func","_len","Func","_len2","_key2","arrayForEach","unapply","arrayLastIndexOf","arrayPop","arrayPush","arraySlice","arraySplice","arrayIsArray","setCreate","unconstruct","setAdd","setHas","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","numberToString","booleanToString","bigintToString","symbolToString","objectHasOwnProperty","regExpTest","typeErrorCreate","_len3","_key3","_len4","_key4","addToSet","transformCaseFunc","element","lcElement","cleanArray","clone","newObject","_ref2","_ref3","property","stringifyValue","valueAsRecord","valueToString","lookupGetter","stringified","fallbackValue","lookupAccessor","isRegex","html$1","svg$1","svgFilters","svgDisallowed","mathMl$1","mathMlDisallowed","html","svg","mathMl","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","ELEMENT_MARKUP_PROBE","COMMENT_MARKUP_PROBE","FALLBACK_TAG_CLOSE","SELF_CLOSING_TAG","NODE_TYPE","LITERAL_TEXT_ELEMENTS","getGlobal","_createTrustedTypesPolicy","trustedTypes","purifyHostElement","suffix","ATTR_NAME","policyName","scriptUrl","_createHooksMap","_resolveSetOption","cfg","_resolveObjectOption","makeFallback","createDOMPurify","window","DOMPurify","document","originalDocument","currentScript","HTMLTemplateElement","Node","Element","NodeFilter","DOMParser","ElementPrototype","cloneNode","removeAttributeNode","getNextSibling","getChildNodes","getParentNode","getShadowRoot","getAttributes","getNodeType","getNodeName","getOwnerDocument","_readNodeType","_readNodeName","getNamespaceURI","_readNamespaceURI","trustedTypesPolicy","emptyHTML","defaultTrustedTypesPolicy","defaultTrustedTypesPolicyResolved","IN_TRUSTED_TYPES_POLICY","_assertNotInTrustedTypesPolicy","_createTrustedHTML","_createTrustedScriptURL","_getDefaultTrustedTypesPolicy","_document","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","MUSTACHE_EXPR$1","ERB_EXPR$1","TMPLIT_EXPR$1","DATA_ATTR$1","ARIA_ATTR$1","IS_SCRIPT_OR_DATA$1","ATTR_WHITESPACE$1","CUSTOM_ELEMENT$1","IS_ALLOWED_URI$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","FORBID_TAGS","FORBID_ATTR","EXTRA_ELEMENT_HANDLING","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","SET_CONFIG_ALLOWED_TAGS","SET_CONFIG_ALLOWED_ATTR","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","SANITIZE_NAMED_PROPS_PREFIX","KEEP_CONTENT","IN_PLACE","IN_PLACE_VISITED","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","DEFAULT_MATHML_TEXT_INTEGRATION_POINTS","MATHML_TEXT_INTEGRATION_POINTS","DEFAULT_HTML_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","DEFAULT_PARSER_MEDIA_TYPE","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","customElementHandling","previousTrustedTypesPolicy","ALL_SVG_TAGS","ALL_MATHML_TAGS","_checkSvgNamespace","tagName","parentTagName","_checkMathMlNamespace","_checkHtmlNamespace","_checkValidNamespace","elementNamespace","parentNode","_forceRemove","_stripAttributeNode","attribute","_neutralizeRoot","_neutralizeSubtree","childNodes","attributes","_removeAttribute","attr","_stripDisallowedAttributes","_walkTree","visit","intoShadow","stack","shadowRoot","_isDocumentFragment","_collectLiveNodes","nodes","_neutralizeEscapedElements","reachable","_neutralizeDiscarded","rootRemoved","entry","MAX_UNVISITED_ROUNDS","_sanitizeUnvisitedNodes","visited","original","getOriginal","beforeNode","round","live","containers","pending","_sanitizeUnvisitedIn","inShadow","_createNodeIterator","_executeHooks","_sanitizeElements","_sanitizeAttributes","_sanitizeShadowDOM2","_markVisited","_isPatchLinkageAttribute","lcName","lcTag","_neutralizePatchLinkage","nodeType","_initDocument","dirty","leadingWhitespace","matches","dirtyPayload","body","_stripTemplateExpressions","_scrubTemplateExpressions2","_node$querySelectorAl","_scrubOwnCharacterData","templates","tmpl","walker","currentNode","_isClobbered","realTagName","_isNode","_isUnsafeNode","_matchesNameCheck","check","_sanitizeDisallowedNode","_isBasicCustomElement","childCount","hoisted","_forkSharedAllowlist","hookList","defaultSet","setConfigSet","_handleHookDetachedNode","removed","_isValidAttribute","nameIsPermitted","RESERVED_CUSTOM_ELEMENT_NAMES","_applyTrustedTypesToAttribute","namespaceURI","_setAttributeValue","_isUnsafeAttributeValue","hookEvent","attrValue","initValue","recreatedNamedProp","fragment","shadowNode","shadowIterator","innerSr","_sanitizeAttachedShadowRoots","isElement","rootName","sr","importedNode","returnNode","inPlace","inPlaceNodes","outerVisited","nn","walkRoot","nodeIterator","serializedHTML","entryPoint","hookFunction","purify_default","matchHtmlRegExp","escapeHtml_1","escapeHtml","string","escape","lastIndex","getLocale","getCanonicalLocale","getLanguage","isRTL","language","languageCode","getAppTranslations","appId","number","translate","placeholdersOrNumber","optionsOrNumber","identity","optSanitize","optEscape","escapeHTML","isValidReplacement","text2","vars2","number2","replacement","translation","translatePlural","textSingular","textPlural","identifier","bundle","plural","getPlural","formatRelativeTime","timestamp","opts","date","formatter","seconds","minutes","hours","days","weeks","months","format","_export_sfc","sfc","GettextWrapper","pluralFunction","dict","msgid","msgidPlural","msgstr","placeholders","singular","count","GettextBuilder","getGettextBuilder","gettext","chunks","chunk","translations","decompressed","t2","t3","t4","t11","t12","t24","t26","t27","t38","t55","getDefaultExportFromCjs","browser","process","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","runClearTimeout","marker","draining","currentQueue","queueIndex","cleanUpNextTick","drainQueue","Item","noop","browserExports","process$1","debug_1","define_process_env_default","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_INTEGER","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","constants","require$$0","debug","require$$1","exports","module","re","safeRe","src","safeSrc","R","LETTERDASHNUMBER","safeRegexReplacements","makeSafeRegex","token","max","createToken","isGlobal","safe","looseOption","emptyOpts","parseOptions_1","numeric","compareIdentifiers","anum","bnum","identifiers","require$$2","parseOptions","require$$3","require$$4","isPrereleaseIdentifier","prerelease","SemVer","num","other","release","identifierBase","prereleaseBase","semver","major_1","loose","parse_1","throwErrors","er","parse","valid_1","ProxyBus","bus2","valid","major","SimpleBus","bus","getBus","subscribe","unsubscribe","ScopedStorage","persistent","StorageBuilder","persist","clear","getBuilder","_subscribeToTokenUpdates","getRequestToken","setRequestToken","fetchRequestToken","response","onRequestTokenUpdate","observer","_internal","currentUser","getAttribute","getCurrentUser","bind","toString","toStringTag","isUnsafeObjectKey","isPrototypeBoundary","prototype","isSafeAndFullyMutable","hasOwnInPrototypeChain","thing","getSafeProp","toSafeFlatObject","sourcePrototype","kindOf","kindOfTest","typeOfTest","isUndefined","isBuffer","isArrayBuffer","isArrayBufferView","isNumber","isEmptyObject","isFile","isReactNativeBlob","isReactNative","formData","isBlob","isFileList","isStream","G","FormDataCtor","isFormData","kind","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","trim","forEach","allOwnKeys","findKey","_global","isContextDefined","merge","objs","caseless","skipUndefined","lowerCaseKeys","assignValue","targetKey","lowerKey","knownKey","symbols","symbol","propertyIsEnumerable","stripBOM","inherits","constructor","superConstructor","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","endsWith","searchString","position","toArray","indexes","isTypedArray","TypedArray","forEachEntry","_iterator","pair","matchAll","regExp","isHTMLForm","toCamelCase","p1","p2","isRegExp","reduceDescriptors","reducer","reducedDescriptors","freezeMethods","toObjectSet","arrayOrString","delimiter","define","toFiniteNumber","isSpecCompliantForm","toJSONObject","reducedValue","isAsyncFn","isThenable","_setImmediate","setImmediateSupported","postMessageSupported","callbacks","asap","isIterable","isSafeIterable","utils$1","ignoreDuplicateOf","utils","parseHeaders","rawHeaders","parsed","line","hasKey","trimSPorHTAB","code","INVALID_UNICODE_HEADER_VALUE_CHARS","INVALID_BYTE_STRING_HEADER_VALUE_CHARS","sanitizeValue","invalidChars","sanitizeHeaderValue","sanitizeByteStringHeaderValue","toByteStringHeaderObject","headers","byteStringHeaders","header","$internals","normalizeHeader","normalizeValue","parseTokens","tokens","tokensRE","parameterNameRE","trimOWS","decodeQuotedString","decoded","parseParameters","parameters","quoted","escaped","parseParameter","part","equals","normalizedName","parameterValue","isValidHeaderName","PROTO_HEADER_SLOT","headerSlot","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders$1","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","dest","parser","matcher","deleted","deleteHeader","targets","asStrings","first","accessors","defineAccessor","AxiosHeaders","mapped","headerValue","REDACTED","hasOwnOrPrototypeToJSON","redactConfig","config","redactKeys","lowerKeys","stringifySafely","aggregateErrorMessage","CAUSED_BY_SEPARATOR","$causeStack","getCauseStackIndex","causeStack","appendCauseStack","sourceStack","targetStack","AxiosError","request","customProps","message","axiosError","serializedConfig","httpAdapter","DEFAULT_FORM_DATA_MAX_DEPTH","isVisitable","removeBrackets","renderKey","dots","isFlatArray","predicates","toFormData","option","metaTokens","visitor","defaultVisitor","_Blob","maxDepth","useBlob","convertValue","throwIfMaxDepthExceeded","stringifyWithDepthLimit","ancestors","currentValue","exposedHelpers","build","encode","charMap","AxiosURLSearchParams","encoder","_encode","buildURL","_options","serializeFn","serializedParams","hashmarkIndex","countHandlers","trimHandlers","normalizeHandlerId","syncHandlerEntries","manager","length","InterceptorManager","fulfilled","rejected","handlerId","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","platform$1","URLSearchParams","FormData","Blob","hasBrowserEnv","_navigator","hasStandardBrowserEnv","hasStandardBrowserWebWorkerEnv","origin","platform","toURLEncodedForm","helpers","MAX_DEPTH","throwIfDepthExceeded","parsePropPath","pattern","arrayToObject","normalizeArray","normalizeArrays","formDataToJSON","buildPath","isNumericKey","isLast","methodList","own","defaults","contentType","hasJSONContentType","isObjectPayload","formSerializer","env","_FormData","transitional","forcedJSONParsing","responseType","JSONRequested","strictJSONParsing","status","transformData","isCancel","settle","validateStatus","urlParserControlCharacters","normalizeURLForProtocolCheck","parseProtocol","decodeCookieValue","cookies","expires","domain","secure","sameSite","cookie","cookieString","eq","store","speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","throttle","freq","threshold","lastArgs","timer","invoke","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","rawLoaded","total","progressBytes","rate","progressEventDecorator","throttled","lengthComputable","asyncDecorator","isURLSameOrigin","isAbsoluteURL","combineURLs","baseURL","relativeURL","malformedHttpProtocol","redactFragment","parameterName","redactSensitiveURLParts","redactedURL","fragmentIndex","redactedURLWithoutFragment","assertValidHttpProtocolURL","normalizedURL","buildFullPath","requestedURL","allowAbsoluteUrls","isRelativeUrl","assertParamsAcyclic","active","headersToObject","ownEnumerableKeys","mergeParams","copies","empty","copy","bases","baseKeys","sourceKeys","hasSource","previous","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","getMergedTransitionalOption","config1","config2","transitional2","transitional1","mergeDirectKeys","mergeHeaders","hasOwnPropertyDescriptor","mergeMap","mergeConfig","configValue","FORM_DATA_CONTENT_HEADERS","setFormDataHeaders","formHeaders","encodeUTF8","_","hex","readCookie","resolveConfig","readXsrfCookie","newConfig","withXSRFToken","xsrfHeaderName","xsrfCookieName","auth","username","password","encodeUsername","getHeaders","xsrfValue","isXHRAdapterSupported","xhrAdapter","useAsyncXsrf","_config","requestData","requestHeaders","onUploadProgress","onDownloadProgress","onCanceled","timeoutId","uploadThrottled","downloadThrottled","flushUpload","flushDownload","flushDownloadWithEvent","onloadend","responseHeaders","msg","timeoutErrorMessage","cancel","CanceledError","xhr","protocol","sendRequest","deadline","abortOnTimeout","scheduleTimeout","remaining","headerName","composeSignals","signals","controller","aborted","onabort","reason","signal","unsubscribeSignal","streamChunk","chunkSize","readBytes","iterable","readStream","stream","reader","trackStream","onProgress","onFinish","_onFinish","loadedBytes","CRLF","normalizeLines","escapeName","stringBytes","normalize","FormDataError","formDataToBlob","form","limit","limitError","boundary","footer","parts","checkLength","extra","valueLength","partLength","blobParts","createMultipartBody","crypto","random","isHexDigit","charCode","isPercentEncodedByte","hexValue","isBase64Char","isBase64Whitespace","base64Bytes","significant","groups","remainder","estimateBase64BufferAllocation","padding","estimatePercentDecodedBase64Bytes","invalid","estimateDataURLBytes","estimateBase64","base64Pattern","comma","meta","estimateDataURLDecodedBytes","VERSION","DEFAULT_CHUNK_SIZE","DEFAULT_REQUEST_OPTIONS","decodeURIComponentSafe","test","maybeWithAuthCredentials","protocolIndex","urlToCheck","globalObject","ReadableStream","TextEncoder","envFetch","Request","Response","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","supportsRequestStream","duplexAccessed","hasContentType","supportsResponseStream","requestDefaults","resolvers","getBodyLength","resolveBodyLength","cancelToken","withCredentials","fetchOptions","maxContentLength","maxBodyLength","maxRedirects","hasMaxContentLength","hasMaxBodyLength","_fetch","composedSignal","requestContentLength","pendingBodyError","pendingResponseError","maxBodyLengthError","configAuth","parsedURL","urlUsername","urlPassword","formContentType","formBoundary","outboundLength","mustEnforceStreamBody","trackRequestStream","_request","contentTypeHeader","isCredentialsSupported","safeFetchOptions","resolvedOptions","declaredLength","isStreamResponse","responseContentLength","bytesRead","onChunkProgress","responseData","materializedSize","canceledError","networkError","seedCache","getFetch","configuredEnv","fetch","seeds","seed","knownAdapters","fetchAdapter.getFetch","renderReason","isResolvedHandle","adapter","getAdapter","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","elapsedSince","dispatchRequest","validators","deprecatedWarnings","validator","formatMessage","correctSpelling","assertOptions","schema","allowUnknown","isHeadersBucket","Axios$1","instanceConfig","configOrUrl","dummy","dummyStack","firstNewlineIndex","secondNewlineIndex","duplicateCheckSuffix","currentStack","causeIndex","stackHead","causeSection","paramsSerializer","commonHeaders","methodHeaders","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","onFulfilled","onRejected","rejectedResult","rejectedError","fullPath","Axios","generateHTTPMethod","isForm","CancelToken$1","CancelToken","executor","resolvePromise","onfulfilled","_resolve","abort","spread","isAxiosError","payload","HttpStatusCode","createInstance","defaultConfig","axios","promises","all","Cancel","formToJSON","getCancelableClient","client","RETRY_KEY","onCsrfTokenError","responseURL","RETRY_DELAY_KEY","onMaintenanceModeError","retryDelay","onNotLoggedInError","cancelableClient","createElementId","LogLevel","LogLevel2","ConsoleLogger","level","buildConsoleLogger","LoggerBuilder","onLoaded","getLoggerBuilder","FEW_SECONDS_AGO","useFormatRelativeTime","relativeTime2","ignoreSeconds","relativeTime","updateRelativeTime","timestamp2","diff","interval","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_sfc_main","__props","_ctx","iconSize","cleanSvg","svgDocument","_cache","createElementVNode","NcIconSvgWrapper","_hoisted_5","colors","colors2","NcLoadingIcon","join","nonEmptyArgs","lastArg","leadingSlash","trailingSlash","sections","section","_createElementBlock","_mergeProps","$props","$event","_createElementVNode","_openBlock","formattedTime","previewUrl","nameWithoutExtension","isFolder","description","img","navigate","fileid","_createBlock","FolderIcon","_Fragment","_toDisplayString","_hoisted_6","_hoisted_7","_unref","_hoisted_8","activePinia","setActivePinia","pinia","piniaSymbol","createPinia","_p","toBeInstalled","addSubscription","subscriptions","onCleanup","removeSubscription","triggerSubscriptions","fallbackRunWithContext","ACTION_MARKER","ACTION_NAME","mergeReactiveObjects","patchToApply","subPatch","targetValue","targetRef","skipHydrateSymbol","shouldHydrate","assign","createOptionsStore","hot","actions","getters","initialState","localState","computedGetters","createSetupStore","$id","isOptionsStore","optionsForPlugin","$subscribeOptions","isListening","isSyncListening","actionSubscriptions","debuggerEvents","activeListener","$patch","partialStateOrMutator","subscriptionMutation","myListenerId","$reset","newState","$state","$dispose","action","wrappedAction","afterCallbackSet","onErrorCallbackSet","after","partialStore","stopWatcher","setupStore","extender","extensions","defineStore","setupOptions","isSetupStore","useStore","hasContext","storeToRefs","rawStore","fetchRecommendedFiles","always","resp","useRecommendationsStore","enabled","fetched"],"mappings":"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lB,IAAW,MAAM,CACvB,MAAM4S,EAAOsoB,GAAyBl7B,EAAQ0lB,CAAI,EAClD,GAAI9S,EAAM,OAAOA,EAAK,IAAMkpB,GAAQlpB,EAAK,GAAG,EAAI,KAChD5S,EAASi7B,GAAej7B,CAAM,CAC/B,CACA,OAAO,IACR,CACA,SAAS2+B,GAAQvoC,EAAO,CACvB,GAAI,CACH,OAAAgnC,GAAWhnC,EAAO,EAAE,EACb,EACR,MAAkB,CACjB,MAAO,EACR,CACD,CACA,MAAMwoC,GAASzD,GAAO,CACrB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,SACA,OACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KACD,CAAC,EACK0D,GAAQ1D,GAAO,CACpB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,eACA,cACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,YACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OACD,CAAC,EACK2D,GAAa3D,GAAO,CACzB,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cACD,CAAC,EACK4D,GAAgB5D,GAAO,CAC5B,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KACD,CAAC,EACK6D,GAAW7D,GAAO,CACvB,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aACD,CAAC,EACK8D,GAAmB9D,GAAO,CAC/B,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MACD,CAAC,EACKxJ,GAAOwJ,GAAO,CAAC,OAAO,CAAC,EACvB+D,GAAO/D,GAAO,CACnB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,UACA,aACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,cACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,QACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,OACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,OACD,CAAC,EACKgE,GAAMhE,GAAO,CAClB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,oBACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,YACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,iBACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,mBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,gBACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YACD,CAAC,EACKiE,GAASjE,GAAO,CACrB,SACA,cACA,QACA,WACA,QACA,cACA,cACA,gBACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,S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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,99]} \ No newline at end of file +{"version":3,"file":"store-CbAhoamf.chunk.mjs","sources":["../node_modules/vite-plugin-node-polyfills/shims/global/dist/index.js","../node_modules/@vue/shared/dist/shared.esm-bundler.js","../node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../node_modules/@nextcloud/router/dist/index.mjs","../node_modules/dompurify/dist/purify.es.mjs","../node_modules/escape-html/index.js","../node_modules/@nextcloud/l10n/dist/chunks/translation-DoG5ZELJ.mjs","../node_modules/@nextcloud/l10n/dist/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/_plugin-vue_export-helper.mjs","../node_modules/@nextcloud/l10n/dist/gettext.mjs","../node_modules/@nextcloud/vue/dist/chunks/_l10n.mjs","../node_modules/vite-plugin-node-polyfills/shims/process/dist/index.js","../node_modules/semver/internal/debug.js","../node_modules/semver/internal/constants.js","../node_modules/semver/internal/re.js","../node_modules/semver/internal/parse-options.js","../node_modules/semver/internal/identifiers.js","../node_modules/semver/classes/semver.js","../node_modules/semver/functions/major.js","../node_modules/semver/functions/parse.js","../node_modules/semver/functions/valid.js","../node_modules/@nextcloud/event-bus/dist/index.mjs","../node_modules/@nextcloud/browser-storage/dist/ScopedStorage.js","../node_modules/@nextcloud/browser-storage/dist/StorageBuilder.js","../node_modules/@nextcloud/browser-storage/dist/index.js","../node_modules/@nextcloud/auth/dist/index.mjs","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/sanitizeHeaderValue.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/core/methodList.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/normalizeURLForProtocolCheck.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/assertParamsAcyclic.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/core/setFormDataHeaders.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/helpers/formDataToBlob.js","../node_modules/axios/lib/core/createMultipartBody.js","../node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/index.js","../node_modules/@nextcloud/axios/dist/client.js","../node_modules/@nextcloud/axios/dist/interceptors/csrf-token.js","../node_modules/@nextcloud/axios/dist/interceptors/maintenance-mode.js","../node_modules/@nextcloud/axios/dist/interceptors/not-logged-in.js","../node_modules/@nextcloud/axios/dist/index.js","../node_modules/@nextcloud/vue/dist/chunks/createElementId.mjs","../node_modules/@nextcloud/logger/dist/index.mjs","../node_modules/@nextcloud/vue/dist/composables/useFormatDateTime/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcIconSvgWrapper.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcLoadingIcon.mjs","../node_modules/@nextcloud/paths/dist/index.mjs","../node_modules/vue-material-design-icons/Folder.vue","../src/components/RecommendedFile.vue","../node_modules/pinia/dist/pinia.js","../src/service/RecommendationService.js","../src/store/store.js"],"sourcesContent":["const global = globalThis || void 0 || self;\n\nexport { global as default, global };\n//# sourceMappingURL=index.js.map\n","/**\n* @vue/shared v3.5.44\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str) {\n const map = /* @__PURE__ */ Object.create(null);\n for (const key of str.split(\",\")) map[key] = 1;\n return (val) => val in map;\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return ((str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n });\n};\nconst camelizeRE = /-\\w/g;\nconst camelize = cacheStringFunction(\n (str) => {\n return str.replace(camelizeRE, (c) => c.slice(1).toUpperCase());\n }\n);\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction(\n (str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n }\n);\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, ...arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](...arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\nfunction genCacheKey(source, options) {\n return source + JSON.stringify(\n options,\n (_, val) => typeof val === \"function\" ? val.toString() : val\n );\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"CACHED\": -1,\n \"-1\": \"CACHED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `CACHED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n start = Math.max(0, Math.min(start, source.length));\n end = Math.max(0, Math.min(end, source.length));\n if (start > end) return \"\";\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\"(?:[^\"\\\\]|\\\\[^])*\"|'(?:[^'\\\\]|\\\\[^])*'|\\\\[^]|\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, (match) => match.startsWith(\"/*\") ? \"\" : match).split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n if (!styles) return \"\";\n if (isString(styles)) return styles;\n let ret = \"\";\n for (const key in styles) {\n const value = styles[key];\n if (isString(value) || typeof value === \"number\") {\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props) return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u000d\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nconst isKnownMathMLAttr = /* @__PURE__ */ makeMap(\n `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^(?:-?>)+||--!>|?@[\\\\\\]^`{|}~]/g;\nfunction getEscapedCssVarName(key, doubleEscape) {\n return key.replace(\n cssVarNameEscapeSymbolsRE,\n (s) => doubleEscape ? s === '\"' ? '\\\\\\\\\\\\\"' : `\\\\\\\\${s}` : `\\\\${s}`\n );\n}\n\nfunction looseCompareArrays(a, b, seen) {\n if (a.length !== b.length) return false;\n let equal = true;\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i], seen);\n }\n return equal;\n}\nfunction looseCompareCollections(a, b, seen) {\n if (a.size !== b.size) return false;\n const candidates = Array.from(b);\n const matched = new Uint8Array(candidates.length);\n for (const item of a) {\n let index = -1;\n for (let i = 0; i < candidates.length; i++) {\n if (!matched[i] && looseEqual(item, candidates[i], seen)) {\n index = i;\n break;\n }\n }\n if (index < 0) return false;\n matched[index] = 1;\n }\n return true;\n}\nfunction looseCompareObjects(a, b, seen) {\n let aValidType = isMap(a);\n let bValidType = isMap(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareCollections(a, b, seen) : false;\n }\n aValidType = isSet(a);\n bValidType = isSet(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareCollections(a, b, seen) : false;\n }\n const aKeysCount = Object.keys(a).length;\n const bKeysCount = Object.keys(b).length;\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n for (const key in a) {\n const aHasKey = a.hasOwnProperty(key);\n const bHasKey = b.hasOwnProperty(key);\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key], seen)) {\n return false;\n }\n }\n return String(a) === String(b);\n}\nfunction looseCompareNested(a, b, seen, compare) {\n if (!seen) {\n seen = [/* @__PURE__ */ new Map(), /* @__PURE__ */ new Map()];\n }\n const [seenA, seenB] = seen;\n if (seenA.has(a) || seenB.has(b)) {\n return seenA.get(a) === b && seenB.get(b) === a;\n }\n seenA.set(a, b);\n seenB.set(b, a);\n const equal = compare(a, b, seen);\n seenA.delete(a);\n seenB.delete(b);\n return equal;\n}\nfunction looseEqual(a, b, seen) {\n if (a === b) return true;\n let aValidType = isDate(a);\n let bValidType = isDate(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n aValidType = isSymbol(a);\n bValidType = isSymbol(b);\n if (aValidType || bValidType) {\n return a === b;\n }\n aValidType = isArray(a);\n bValidType = isArray(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareNested(a, b, seen, looseCompareArrays) : false;\n }\n aValidType = isObject(a);\n bValidType = isObject(b);\n if (aValidType || bValidType) {\n if (!aValidType || !bValidType) {\n return false;\n }\n return looseCompareNested(a, b, seen, looseCompareObjects);\n }\n return String(a) === String(b);\n}\nfunction looseIndexOf(arr, val) {\n return arr.findIndex((item) => looseEqual(item, val));\n}\n\nconst isRef = (val) => {\n return !!(val && val[\"__v_isRef\"] === true);\n};\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (isRef(val)) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return (\n // Symbol.description in es2019+ so we need to cast here to pass\n // the lib: es2016 check\n isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v\n );\n};\n\nfunction normalizeCssVarValue(value) {\n if (value == null) {\n return \"initial\";\n }\n if (typeof value === \"string\") {\n return value === \"\" ? \" \" : value;\n }\n if (typeof value !== \"number\" || !Number.isFinite(value)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n console.warn(\n \"[Vue warn] Invalid value used for CSS binding. Expected a string or a finite number but received:\",\n value\n );\n }\n }\n return String(value);\n}\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, cssVarNameEscapeSymbolsRE, def, escapeHtml, escapeHtmlComment, extend, genCacheKey, genPropsAccessExp, generateCodeFrame, getEscapedCssVarName, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownMathMLAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeCssVarValue, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","/**\n* @vue/reactivity v3.5.44\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { extend, hasChanged, isArray, isIntegerKey, isSymbol, isMap, hasOwn, isObject, makeMap, capitalize, toRawType, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, remove, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n // TODO isolatedDeclarations \"__v_skip\"\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal track `on` calls, allow `on` call multiple times\n */\n this._on = 0;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this._isPaused = false;\n this._warnOnRun = true;\n this.__v_skip = true;\n if (!detached && activeEffectScope) {\n if (activeEffectScope.active) {\n this.parent = activeEffectScope;\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n } else {\n this._active = false;\n this._warnOnRun = false;\n }\n }\n }\n get active() {\n return this._active;\n }\n pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n const scopes = this.scopes.slice();\n for (i = 0, l = scopes.length; i < l; i++) {\n scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n const scopes = this.scopes.slice();\n for (i = 0, l = scopes.length; i < l; i++) {\n scopes[i].resume();\n }\n }\n const effects = this.effects.slice();\n for (i = 0, l = effects.length; i < l; i++) {\n effects[i].resume();\n }\n }\n }\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && this._warnOnRun) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n if (++this._on === 1) {\n this.prevScope = activeEffectScope;\n activeEffectScope = this;\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n if (this._on > 0 && --this._on === 0) {\n if (activeEffectScope === this) {\n activeEffectScope = this.prevScope;\n } else {\n let current = activeEffectScope;\n while (current) {\n if (current.prevScope === this) {\n current.prevScope = this.prevScope;\n break;\n }\n current = current.prevScope;\n }\n }\n this.prevScope = void 0;\n }\n }\n stop(fromParent) {\n if (this._active) {\n this._active = false;\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n this.effects.length = 0;\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n this.cleanups.length = 0;\n if (this.scopes) {\n const scopes = this.scopes.slice();\n for (i = 0, l = scopes.length; i < l; i++) {\n scopes[i].stop(true);\n }\n this.scopes.length = 0;\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\",\n \"EVALUATED\": 128,\n \"128\": \"EVALUATED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */ new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope) {\n if (activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n } else {\n this.flags &= -2;\n }\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= -65;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\n \"Active effect was not restored correctly - this is likely a Vue internal bug.\"\n );\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= -3;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= -2;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= -9;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= -9;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= -17;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) {\n return;\n }\n computed.flags |= 2;\n const dep = computed.dep;\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed.flags |= 128;\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= -3;\n }\n}\nfunction removeSub(link, soft = false) {\n const { dep, prevSub, nextSub } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n if (!prevSub && dep.computed) {\n dep.computed.flags &= -5;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n }\n if (!soft && !--dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const { prevDep, nextDep } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onEffectCleanup() was called when there was no active effect to associate with.`\n );\n }\n}\nfunction cleanupEffect(e) {\n const { cleanup } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\n\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n // TODO isolatedDeclarations \"__v_skip\"\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n /**\n * @internal\n */\n this.__v_skip = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(\n extend(\n {\n effect: activeSub\n },\n debugInfo\n )\n );\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(\n extend(\n {\n effect: head.sub\n },\n debugInfo\n )\n );\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = /* @__PURE__ */ Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\"\n);\nconst MAP_KEY_ITERATE_KEY = /* @__PURE__ */ Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\"\n);\nconst ARRAY_ITERATE_KEY = /* @__PURE__ */ Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\"\n);\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = (dep) => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0 || depsMap.has(void 0)) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\n\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n if (isShallow(array)) return raw;\n if (!isReadonly(array)) return raw.map(toReactive);\n return isReactive(array) ? raw.map((item) => toReadonly(toReactive(item))) : raw.map(toReadonly);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nfunction toWrapped(target, item) {\n if (isReadonly(target)) {\n return isReactive(target) ? toReadonly(toReactive(item)) : toReadonly(item);\n }\n return toReactive(item);\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, (item) => toWrapped(this, item));\n },\n concat(...args) {\n return reactiveReadArray(this).concat(\n ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)\n );\n },\n entries() {\n return iterator(this, \"entries\", (value) => {\n value[1] = toWrapped(this, value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(\n this,\n \"filter\",\n fn,\n thisArg,\n (v) => v.map((item) => toWrapped(this, item)),\n arguments\n );\n },\n find(fn, thisArg) {\n return apply(\n this,\n \"find\",\n fn,\n thisArg,\n (item) => toWrapped(this, item),\n arguments\n );\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(\n this,\n \"findLast\",\n fn,\n thisArg,\n (item) => toWrapped(this, item),\n arguments\n );\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimization required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", (item) => toWrapped(this, item));\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const methodFn = arr[method];\n const iter = methodFn.call(arr);\n if (arr !== self && !isShallow(self)) {\n if (iter[Symbol.toStringTag] === \"Array Iterator\") {\n const wrapped = Object.create(Object.getPrototypeOf(iter));\n wrapped.next = () => wrapResult(iter.next(), wrapValue);\n if (methodFn !== arrayProto[method]) {\n Object.defineProperties(wrapped, {\n return: {\n get() {\n const fn = iter.return;\n return typeof fn === \"function\" ? fn.bind(iter) : fn;\n }\n },\n throw: {\n get() {\n const fn = iter.throw;\n return typeof fn === \"function\" ? fn.bind(iter) : fn;\n }\n }\n });\n }\n return wrapped;\n }\n iter._next = iter.next;\n iter.next = () => wrapResult(iter._next(), wrapValue);\n }\n return iter;\n}\nfunction wrapResult(result, wrapValue) {\n if (!result.done) {\n result.value = wrapValue(result.value);\n }\n return result;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function(item, index) {\n return fn.call(this, toWrapped(self, item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function(item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n let wrappedFn = fn;\n let wrapInitialAccumulator = false;\n if (arr !== self) {\n if (needsWrap) {\n wrapInitialAccumulator = args.length === 0;\n wrappedFn = function(acc, item, index) {\n if (wrapInitialAccumulator) {\n wrapInitialAccumulator = false;\n acc = toWrapped(self, acc);\n }\n return fn.call(this, acc, toWrapped(self, item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n const result = arr[method](wrappedFn, ...args);\n return wrapInitialAccumulator ? toWrapped(self, result) : result;\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n if (key === \"__v_skip\") return target[\"__v_skip\"];\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the receiver is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(\n target,\n key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver\n );\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n const value = targetIsArray && isIntegerKey(key) ? res : res.value;\n return isReadonly2 && isObject(value) ? readonly(value) : value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n const isArrayWithIntegerKey = isArray(target) && isIntegerKey(key);\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArrayWithIntegerKey && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target[key]\n );\n }\n return true;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArrayWithIntegerKey ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(\n target,\n key,\n value,\n isRef(target) ? target : receiver\n );\n if (target === toRaw(receiver) && result) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return extend(\n // inheriting all iterator properties\n Object.create(innerIterator),\n {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n }\n }\n );\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations(readonly, shallow) {\n const instrumentations = {\n get(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n },\n get size() {\n const target = this[\"__v_raw\"];\n !readonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return target.size;\n },\n has(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n },\n forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n !readonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n }\n };\n extend(\n instrumentations,\n readonly ? {\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\")\n } : {\n add(value) {\n const target = toRaw(this);\n const proto = getProto(target);\n const rawValue = toRaw(value);\n const valueToAdd = !shallow && !isShallow(value) && !isReadonly(value) ? rawValue : value;\n const hadKey = proto.has.call(target, valueToAdd) || hasChanged(value, valueToAdd) && proto.has.call(target, value) || hasChanged(rawValue, valueToAdd) && proto.has.call(target, rawValue);\n if (!hadKey) {\n target.add(valueToAdd);\n trigger(target, \"add\", valueToAdd, valueToAdd);\n }\n return this;\n },\n set(key, value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n },\n delete(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(\n target,\n \"clear\",\n void 0,\n void 0,\n oldTarget\n );\n }\n return result;\n }\n }\n );\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n instrumentations[method] = createIterableMethod(method, readonly, shallow);\n });\n return instrumentations;\n}\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = createInstrumentations(isReadonly2, shallow);\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return shallow;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\n// @__NO_SIDE_EFFECTS__\nfunction reactive(target) {\n if (/* @__PURE__ */ isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\n// @__NO_SIDE_EFFECTS__\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\n// @__NO_SIDE_EFFECTS__\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\n// @__NO_SIDE_EFFECTS__\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n if (target[\"__v_skip\"] || !Object.isExtensible(target)) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = targetTypeMap(toRawType(target));\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\n// @__NO_SIDE_EFFECTS__\nfunction isReactive(value) {\n if (/* @__PURE__ */ isReadonly(value)) {\n return /* @__PURE__ */ isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\n// @__NO_SIDE_EFFECTS__\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\n// @__NO_SIDE_EFFECTS__\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\n// @__NO_SIDE_EFFECTS__\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\n// @__NO_SIDE_EFFECTS__\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? /* @__PURE__ */ toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? /* @__PURE__ */ reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? /* @__PURE__ */ readonly(value) : value;\n\n// @__NO_SIDE_EFFECTS__\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\n}\n// @__NO_SIDE_EFFECTS__\nfunction ref(value) {\n return createRef(value, false);\n}\n// @__NO_SIDE_EFFECTS__\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (/* @__PURE__ */ isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\n}\nfunction unref(ref2) {\n return /* @__PURE__ */ isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => key === \"__v_raw\" ? target : unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (/* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\n// @__NO_SIDE_EFFECTS__\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, key, _defaultValue) {\n this._object = _object;\n this._defaultValue = _defaultValue;\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n this._key = isSymbol(key) ? key : String(key);\n this._raw = toRaw(_object);\n let shallow = true;\n let obj = _object;\n if (!isArray(_object) || isSymbol(this._key) || !isIntegerKey(this._key)) {\n do {\n shallow = !isProxy(obj) || isShallow(obj);\n } while (shallow && (obj = obj[\"__v_raw\"]));\n }\n this._shallow = shallow;\n }\n get value() {\n let val = this._object[this._key];\n if (this._shallow) {\n val = unref(val);\n }\n return this._value = val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n if (this._shallow && /* @__PURE__ */ isRef(this._raw[this._key])) {\n const nestedRef = this._object[this._key];\n if (/* @__PURE__ */ isRef(nestedRef)) {\n nestedRef.value = newVal;\n return;\n }\n }\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(this._raw, this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this[\"__v_isRef\"] = true;\n this[\"__v_isReadonly\"] = true;\n this._value = void 0;\n }\n get value() {\n return this._value = this._getter();\n }\n}\n// @__NO_SIDE_EFFECTS__\nfunction toRef(source, key, defaultValue) {\n if (/* @__PURE__ */ isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return /* @__PURE__ */ ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n return new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) && // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\n// @__NO_SIDE_EFFECTS__\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\",\n \"IS_REF\": \"__v_isRef\"\n};\n\nconst WatchErrorCodes = {\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\"\n};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */ new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onWatcherCleanup() was called when there was no active watcher to associate with.`\n );\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, once, scheduler, augmentJob, call } = options;\n const warnInvalidSource = (s) => {\n (options.onWarn || warn)(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const reactiveGetter = (source2) => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0)\n return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\n }\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope && scope.active) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n try {\n return _cb(...args);\n } finally {\n watchHandle();\n }\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = (immediateFirstRun) => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (immediateFirstRun || deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {\n const currentWatcher = activeWatcher;\n pauseTracking();\n try {\n if (cleanup) {\n cleanup();\n }\n activeWatcher = effect;\n const args = [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n boundCleanup\n ];\n oldValue = newValue;\n call ? call(cb, 3, args) : (\n // @ts-expect-error\n cb(...args)\n );\n } finally {\n activeWatcher = currentWatcher;\n resetTracking();\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Map();\n if ((seen.get(value) || 0) >= depth) {\n return value;\n }\n seen.set(value, depth);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\n\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };\n","/**\n* @vue/runtime-core v3.5.44\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, traverse, watch as watch$1, shallowRef, readonly, isReactive, ref, isShallow, isReadonly, shallowReadArray, toReadonly, toReactive, shallowReadonly, track, reactive, customRef, shallowReactive, trigger, ReactiveEffect, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1 } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, EMPTY_OBJ, isPromise, isArray, NOOP, getGlobalThis, extend, isBuiltInDirective, NO, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, normalizeCssVarValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, camelize, capitalize, isSymbol, isGloballyAllowed, hyphenate, hasChanged, looseToNumber, isModelListener, looseEqual, EMPTY_ARR, toRawType, makeMap, toNumber } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nlet isWarning = false;\nfunction warn$1(msg, ...args) {\n if (isWarning) return;\n isWarning = true;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n // eslint-disable-next-line no-restricted-syntax\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n isWarning = false;\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\")) return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\",\n \"COMPONENT_UPDATE\": 15,\n \"15\": \"COMPONENT_UPDATE\",\n \"APP_UNMOUNT_CLEANUP\": 16,\n \"16\": \"APP_UNMOUNT_CLEANUP\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush\",\n [15]: \"component update\",\n [16]: \"app unmount cleanup function\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n if (errorHandler) {\n pauseTracking();\n callWithErrorHandling(errorHandler, null, 10, [\n err,\n exposedInstance,\n errorInfo\n ]);\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);\n}\nfunction logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else if (throwInProd) {\n throw err;\n } else {\n console.error(err);\n }\n}\n\nconst queue = [];\nlet flushIndex = -1;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.flags & 2) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!(job.flags & 1)) {\n const jobId = getId(job);\n const lastJob = queue[queue.length - 1];\n if (!lastJob || // fast path when the job id is larger than the tail\n !(job.flags & 2) && jobId >= getId(lastJob)) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(jobId), 0, job);\n }\n job.flags |= 1;\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!currentFlushPromise) {\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (activePostFlushCbs && cb.id === -1) {\n activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);\n } else if (!(cb.flags & 1)) {\n pendingPostFlushCbs.push(cb);\n cb.flags |= 1;\n }\n } else {\n for (let i = 0; i < cb.length; i++) {\n pendingPostFlushCbs.push(cb[i]);\n }\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, minUid, seen, i = flushIndex + 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.flags & 2) {\n if (instance && cb.id !== instance.uid || minUid !== void 0 && !(cb.id >= minUid)) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i = instance ? i - 1 : flushIndex;\n if (cb.flags & 4) {\n cb.flags &= -2;\n }\n cb();\n if (!(cb.flags & 4)) {\n cb.flags &= -2;\n }\n }\n }\n}\nfunction flushPostFlushCbs(seen, skip, minUid = 0) {\n if (pendingPostFlushCbs.length) {\n let cbs = pendingPostFlushCbs;\n let kept = 0;\n if (skip) {\n cbs = [];\n for (let i = 0; i < pendingPostFlushCbs.length; i++) {\n const cb = pendingPostFlushCbs[i];\n if (cb.i !== void 0 ? !cb.i || cb.i.uid < minUid : skip.has(cb)) {\n pendingPostFlushCbs[kept++] = cb;\n } else {\n cbs.push(cb);\n }\n }\n }\n const deduped = [...new Set(cbs)].sort((a, b) => getId(a) - getId(b));\n pendingPostFlushCbs.length = kept;\n if (activePostFlushCbs) {\n for (let i = 0; i < deduped.length; i++) {\n activePostFlushCbs.push(deduped[i]);\n }\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.flags & 4) {\n cb.flags &= -2;\n }\n if (!(cb.flags & 8)) cb();\n cb.flags &= -2;\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nlet isFlushing = false;\nfunction flushOnAppMount(fn, minUid) {\n if (isFlushing) {\n fn();\n return;\n }\n const queued = minUid === void 0 ? void 0 : new Set(pendingPostFlushCbs);\n fn();\n isFlushing = true;\n try {\n flushPreFlushCbs(void 0, minUid);\n flushPostFlushCbs(void 0, queued, minUid);\n } finally {\n isFlushing = false;\n }\n}\nconst getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;\nfunction flushJobs(seen) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && !(job.flags & 8)) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n if (job.flags & 4) {\n job.flags &= ~1;\n }\n callWithErrorHandling(\n job,\n job.i,\n job.i ? 15 : 14\n );\n if (!(job.flags & 4)) {\n job.flags &= ~1;\n }\n }\n }\n } finally {\n for (; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job) {\n job.flags &= -2;\n }\n }\n flushIndex = -1;\n queue.length = 0;\n flushPostFlushCbs(seen);\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n const count = seen.get(fn) || 0;\n if (count > RECURSION_LIMIT) {\n const instance = fn.i;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n }\n seen.set(fn, count + 1);\n return false;\n}\n\nlet isHmrUpdating = false;\nconst setHmrUpdating = (v) => {\n try {\n return isHmrUpdating;\n } finally {\n isHmrUpdating = v;\n }\n};\nconst hmrDirtyComponents = /* @__PURE__ */ new Map();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (let i = 0; i < instances.length; i++) {\n const instance = instances[i];\n const oldComp = normalizeClassComponent(instance.type);\n let dirtyInstances = hmrDirtyComponents.get(oldComp);\n if (!dirtyInstances) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());\n }\n dirtyInstances.add(instance);\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n dirtyInstances.add(instance);\n instance.ceReload(newComp.styles);\n dirtyInstances.delete(instance);\n } else if (instance.parent) {\n queueJob(() => {\n if (!(instance.job.flags & 8)) {\n isHmrUpdating = true;\n instance.parent.update();\n isHmrUpdating = false;\n dirtyInstances.delete(instance);\n }\n });\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n if (instance.root.ce && instance !== instance.root) {\n instance.root.ce._removeChildStyle(oldComp);\n }\n }\n queuePostFlushCb(() => {\n hmrDirtyComponents.clear();\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n // eslint-disable-next-line no-restricted-syntax\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx) return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n const prevStackSize = blockStack.length;\n let res;\n try {\n res = fn(...args);\n } finally {\n for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getComponentPublicInstance(currentRenderingInstance);\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nfunction provide(key, value) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!currentInstance || currentInstance.isMounted) {\n warn$1(`provide() can only be used inside setup().`);\n }\n }\n if (currentInstance) {\n let provides = currentInstance.provides;\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n provides[key] = value;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n const instance = getCurrentInstance();\n if (instance || currentApp) {\n let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;\n if (provides && key in provides) {\n return provides[key];\n } else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`injection \"${String(key)}\" not found.`);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`inject() can only be used inside setup() or functional components.`);\n }\n}\nfunction hasInjectionContext() {\n return !!(getCurrentInstance() || currentApp);\n}\n\nconst ssrContextKey = /* @__PURE__ */ Symbol.for(\"v-scx\");\nconst useSSRContext = () => {\n {\n const ctx = inject(ssrContextKey);\n if (!ctx) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\n );\n }\n return ctx;\n }\n};\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn$1(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, flush, once } = options;\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn$1(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn$1(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (once !== void 0) {\n warn$1(\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const baseWatchOptions = extend({}, options);\n if (!!(process.env.NODE_ENV !== \"production\")) baseWatchOptions.onWarn = warn$1;\n const runsImmediately = cb && immediate || !cb && flush !== \"post\";\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n if (flush === \"sync\") {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n } else if (!runsImmediately) {\n const watchStopHandle = () => {\n };\n watchStopHandle.stop = NOOP;\n watchStopHandle.resume = NOOP;\n watchStopHandle.pause = NOOP;\n return watchStopHandle;\n }\n }\n const instance = currentInstance;\n baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);\n let isPre = false;\n if (flush === \"post\") {\n baseWatchOptions.scheduler = (job) => {\n job.i = instance;\n queuePostRenderEffect(job, instance && instance.suspense);\n };\n } else if (flush !== \"sync\") {\n isPre = true;\n baseWatchOptions.scheduler = (job, isFirstRun) => {\n if (isFirstRun) {\n job();\n } else {\n queueJob(job);\n }\n };\n }\n baseWatchOptions.augmentJob = (job) => {\n if (cb) {\n job.flags |= 4;\n }\n if (isPre) {\n job.flags |= 2;\n if (instance) {\n job.id = instance.uid;\n job.i = instance;\n }\n }\n };\n const watchHandle = watch$1(source, cb, baseWatchOptions);\n if (isInSSRComponentSetup) {\n if (ssrCleanup) {\n ssrCleanup.push(watchHandle);\n } else if (runsImmediately) {\n watchHandle();\n }\n }\n return watchHandle;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const reset = setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n reset();\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\n\nconst pendingMounts = /* @__PURE__ */ new WeakMap();\nconst TeleportEndKey = /* @__PURE__ */ Symbol(\"_vte\");\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTeleportDeferred = (props) => props && (props.defer || props.defer === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst isTargetMathML = (target) => typeof MathMLElement === \"function\" && target instanceof MathMLElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!!(process.env.NODE_ENV !== \"production\") && !target && !isTeleportDisabled(props)) {\n warn$1(\n `Failed to locate Teleport target with selector \"${targetSelector}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn$1(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n name: \"Teleport\",\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment, parentNode }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n const mount = (vnode, container2, anchor2) => {\n if (vnode.shapeFlag & 16) {\n mountChildren(\n vnode.children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountToTarget = (vnode = n2) => {\n const disabled2 = isTeleportDisabled(vnode.props);\n const target = vnode.target = resolveTarget(vnode.props, querySelector);\n const targetAnchor = prepareAnchor(target, vnode, createText, insert);\n if (target) {\n if (namespace !== \"svg\" && isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace !== \"mathml\" && isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (parentComponent && parentComponent.isCE) {\n (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target);\n }\n if (!disabled2) {\n mount(vnode, target, targetAnchor);\n updateCssVars(vnode, false);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled2) {\n warn$1(\"Invalid Teleport target on mount:\", target, `(${typeof target})`);\n }\n };\n const queuePendingMount = (vnode) => {\n const mountJob = () => {\n if (pendingMounts.get(vnode) !== mountJob) return;\n pendingMounts.delete(vnode);\n if (isTeleportDisabled(vnode.props)) {\n const mountContainer = parentNode(vnode.el) || container;\n mount(vnode, mountContainer, vnode.anchor);\n updateCssVars(vnode, true);\n }\n mountToTarget(vnode);\n };\n pendingMounts.set(vnode, mountJob);\n queuePostRenderEffect(mountJob, parentSuspense);\n };\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n if (isTeleportDeferred(n2.props) || parentSuspense && parentSuspense.pendingBranch) {\n queuePendingMount(n2);\n return;\n }\n if (disabled) {\n mount(n2, container, mainAnchor);\n updateCssVars(n2, true);\n }\n mountToTarget();\n } else {\n n2.el = n1.el;\n const mainAnchor = n2.anchor = n1.anchor;\n const pendingMount = pendingMounts.get(n1);\n if (pendingMount) {\n pendingMount.flags |= 8;\n pendingMounts.delete(n1);\n queuePendingMount(n2);\n return;\n }\n n2.targetStart = n1.targetStart;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, !!!(process.env.NODE_ENV !== \"production\"));\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = resolveTarget(n2.props, querySelector);\n if (nextTarget) {\n n2.target = nextTarget;\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n updateCssVars(n2, disabled);\n }\n },\n remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const {\n shapeFlag,\n children,\n anchor,\n targetStart,\n targetAnchor,\n target,\n props\n } = vnode;\n const disabled = isTeleportDisabled(props);\n const shouldRemove = doRemove || !disabled;\n const pendingMount = pendingMounts.get(vnode);\n if (pendingMount) {\n pendingMount.flags |= 8;\n pendingMounts.delete(vnode);\n }\n if (target) {\n hostRemove(targetStart);\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (!pendingMount && (disabled || target) && shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n if (vnode.targetStart) {\n insert(vnode.targetStart, container, parentAnchor);\n }\n insert(vnode.targetAnchor, container, parentAnchor);\n parentAnchor = vnode.targetAnchor;\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!pendingMounts.has(vnode) && (!isReorder || isTeleportDisabled(props))) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector, insert, createText }\n}, hydrateChildren) {\n function hydrateAnchor(target2, targetNode) {\n let targetAnchor = targetNode;\n while (targetAnchor) {\n if (targetAnchor && targetAnchor.nodeType === 8) {\n if (targetAnchor.data === \"teleport start anchor\") {\n vnode.targetStart = targetAnchor;\n } else if (targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n targetAnchor = nextSibling(targetAnchor);\n }\n }\n function hydrateDisabledTeleport(node2, vnode2) {\n vnode2.anchor = hydrateChildren(\n nextSibling(node2),\n vnode2,\n parentNode(node2),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n const disabled = isTeleportDisabled(vnode.props);\n if (target) {\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (disabled) {\n hydrateDisabledTeleport(node, vnode);\n hydrateAnchor(target, targetNode);\n if (!vnode.targetAnchor) {\n prepareAnchor(\n target,\n vnode,\n createText,\n insert,\n // if target is the same as the main view, insert anchors before current node\n // to avoid hydrating mismatch\n parentNode(node) === target ? node : null\n );\n }\n } else {\n vnode.anchor = nextSibling(node);\n hydrateAnchor(target, targetNode);\n if (!vnode.targetAnchor) {\n prepareAnchor(target, vnode, createText, insert);\n }\n hydrateChildren(\n targetNode && nextSibling(targetNode),\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode, disabled);\n } else if (disabled) {\n if (vnode.shapeFlag & 16) {\n hydrateDisabledTeleport(node, vnode);\n vnode.targetStart = node;\n vnode.targetAnchor = nextSibling(node);\n }\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode, isDisabled) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node, anchor;\n if (isDisabled) {\n node = vnode.el;\n anchor = vnode.anchor;\n } else {\n node = vnode.targetStart;\n anchor = vnode.targetAnchor;\n }\n while (node && node !== anchor) {\n if (node.nodeType === 1) node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\nfunction prepareAnchor(target, vnode, createText, insert, anchor = null) {\n const targetStart = vnode.targetStart = createText(\"\");\n const targetAnchor = vnode.targetAnchor = createText(\"\");\n targetStart[TeleportEndKey] = targetAnchor;\n if (target) {\n insert(targetStart, target, anchor);\n insert(targetAnchor, target, anchor);\n }\n return targetAnchor;\n}\n\nconst leaveCbKey = /* @__PURE__ */ Symbol(\"_leaveCb\");\nconst enterCbKey = /* @__PURE__ */ Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n const child = children && children.length ? findNonCommentChild(children) : (\n // Keep explicit default-slot conditionals on the same transition path\n // as regular v-if branches, which render a comment placeholder.\n instance.subTree ? createCommentVNode() : void 0\n );\n if (!child) {\n return;\n }\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getInnerChild$1(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n let enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance,\n // #11061, ensure enterHooks is fresh after clone\n (hooks) => enterHooks = hooks\n );\n if (innerChild.type !== Comment) {\n setTransitionHooks(innerChild, enterHooks);\n }\n let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && getTransitionRoot(instance.subTree)) {\n let leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n delete leavingHooks.afterLeave;\n oldInnerChild = void 0;\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n enterHooks.delayedLeave = () => {\n delayedLeave();\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n };\n } else {\n oldInnerChild = void 0;\n }\n } else if (oldInnerChild) {\n oldInnerChild = void 0;\n }\n return child;\n };\n }\n};\nfunction findNonCommentChild(children) {\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\")) break;\n }\n }\n }\n return child;\n}\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance, postClone) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1)) done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode)) {\n let leavingCb = leavingVNode.el[leaveCbKey];\n if (!leavingCb) {\n const leavingRoot = getTransitionRoot(leavingVNode);\n leavingCb = leavingRoot && leavingRoot.el[leaveCbKey];\n }\n if (leavingCb) {\n leavingCb();\n }\n }\n callHook(hook, [el]);\n },\n enter(el) {\n if (!isHmrUpdating && leavingVNodesCache[key] === vnode) return;\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n el[enterCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n const done = el[enterCbKey].bind(null, false);\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n el[leaveCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n const done = el[leaveCbKey].bind(null, false);\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n const hooks2 = resolveTransitionHooks(\n vnode2,\n props,\n state,\n instance,\n postClone\n );\n if (postClone) postClone(hooks2);\n return hooks2;\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getInnerChild$1(vnode) {\n if (!isKeepAlive(vnode)) {\n if (isTeleport(vnode.type) && vnode.children) {\n return findNonCommentChild(vnode.children);\n }\n return vnode;\n }\n if (vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n vnode.transition = hooks;\n const subTree = vnode.component.subTree;\n setTransitionHooks(\n isTeleport(subTree.type) ? getInnerChild$1(subTree) || subTree : subTree,\n hooks\n );\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n if (vnode.type === Fragment && isArray(vnode.children)) {\n const child = filterSingleRoot(vnode.children, false);\n if (child) {\n setTransitionHooks(child, hooks);\n }\n }\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128) keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\nfunction getTransitionRoot(vnode) {\n if (vnode.component) {\n return getTransitionRoot(vnode.component.subTree);\n }\n if (vnode.type === Fragment) {\n const child = isArray(vnode.children) && filterSingleRoot(vnode.children, false);\n return child ? getTransitionRoot(child) : void 0;\n }\n if (vnode.type !== Comment) {\n return vnode;\n }\n}\n\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8236: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nfunction useId() {\n const i = getCurrentInstance();\n if (i) {\n return (i.appContext.config.idPrefix || \"v\") + \"-\" + i.ids[0] + i.ids[1]++;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useId() is called when there is no active component instance to be associated with.`\n );\n }\n return \"\";\n}\nfunction markAsyncBoundary(instance) {\n instance.ids = [instance.ids[0] + instance.ids[2]++ + \"-\", 0, 0];\n}\n\nconst knownTemplateRefs = /* @__PURE__ */ new WeakSet();\nfunction useTemplateRef(key) {\n const i = getCurrentInstance();\n const r = shallowRef(null);\n if (i) {\n const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;\n if (!!(process.env.NODE_ENV !== \"production\") && isTemplateRefKey(refs, key)) {\n warn$1(`useTemplateRef('${key}') already exists.`);\n } else {\n Object.defineProperty(refs, key, {\n enumerable: true,\n get: () => r.value,\n set: (val) => r.value = val\n });\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useTemplateRef() is called when there is no active component instance to be associated with.`\n );\n }\n const ret = !!(process.env.NODE_ENV !== \"production\") ? readonly(r) : r;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n knownTemplateRefs.add(ret);\n }\n return ret;\n}\nfunction isTemplateRefKey(refs, key) {\n let desc;\n return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);\n}\n\nconst pendingSetRefMap = /* @__PURE__ */ new WeakMap();\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {\n setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);\n }\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn$1(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n const rawSetupState = toRaw(setupState);\n const canSetSetupRef = setupState === EMPTY_OBJ ? NO : (key) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {\n warn$1(\n `Template ref \"${key}\" used on a non-ref value. It will not work in the production build.`\n );\n }\n if (knownTemplateRefs.has(rawSetupState[key])) {\n return false;\n }\n }\n if (isTemplateRefKey(refs, key)) {\n return false;\n }\n return hasOwn(rawSetupState, key);\n };\n const canSetRef = (ref2, key) => {\n if (!!(process.env.NODE_ENV !== \"production\") && knownTemplateRefs.has(ref2)) {\n return false;\n }\n if (key && isTemplateRefKey(refs, key)) {\n return false;\n }\n return true;\n };\n if (oldRef != null && oldRef !== ref) {\n invalidatePendingSetRef(oldRawRef);\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (canSetSetupRef(oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n const oldRawRefAtom = oldRawRef;\n if (canSetRef(oldRef, oldRawRefAtom.k)) {\n oldRef.value = null;\n }\n if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef(ref) || !rawRef.k ? ref.value : refs[rawRef.k];\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (canSetSetupRef(ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n const newVal = [refValue];\n if (canSetRef(ref, rawRef.k)) {\n ref.value = newVal;\n }\n if (rawRef.k) refs[rawRef.k] = newVal;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (canSetSetupRef(ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n if (canSetRef(ref, rawRef.k)) {\n ref.value = value;\n }\n if (rawRef.k) refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n const job = () => {\n doSet();\n pendingSetRefMap.delete(rawRef);\n };\n job.id = -1;\n pendingSetRefMap.set(rawRef, job);\n queuePostRenderEffect(job, parentSuspense);\n } else {\n invalidatePendingSetRef(rawRef);\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\nfunction invalidatePendingSetRef(rawRef) {\n const pendingSetRef = pendingSetRefMap.get(rawRef);\n if (pendingSetRef) {\n pendingSetRef.flags |= 8;\n pendingSetRefMap.delete(rawRef);\n }\n}\n\nlet hasLoggedMismatchError = false;\nconst logMismatchError = () => {\n if (hasLoggedMismatchError) {\n return;\n }\n console.error(\"Hydration completed but contains mismatches.\");\n hasLoggedMismatchError = true;\n};\nconst isSVGContainer = (container) => container.namespaceURI.includes(\"svg\") && container.tagName !== \"foreignObject\";\nconst isMathMLContainer = (container) => container.namespaceURI.includes(\"MathML\");\nconst getContainerType = (container) => {\n if (container.nodeType !== 1) return void 0;\n if (isSVGContainer(container)) return \"svg\";\n if (isMathMLContainer(container)) return \"mathml\";\n return void 0;\n};\nconst isComment = (node) => node.nodeType === 8;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(node, \"__vnode\", vnode, true);\n def(node, \"__vueParentComponent\", parentComponent, true);\n }\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text mismatch in`,\n node.parentNode,\n `\n - rendered on server: ${JSON.stringify(\n node.data\n )}\n - expected on client: ${JSON.stringify(vnode.children)}`\n );\n logMismatchError();\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 || domType === 3) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n optimized\n );\n if ((isAsyncWrapper(vnode) || vnode.component.asyncDep) && !vnode.component.subTree) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Static);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\n node.nodeType === 8 ? Comment : \"div\"\n );\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n getContainerType(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {\n warn$1(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const {\n type,\n dynamicProps,\n props,\n patchFlag,\n shapeFlag,\n dirs,\n transition\n } = vnode;\n const forcePatch = type === \"input\" || type === \"option\";\n const hasDynamicProps = !!dynamicProps;\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatch || hasDynamicProps || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(\n null,\n // no need check parentSuspense in hydration\n transition\n ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n const cls = content.getAttribute(\"class\");\n if (cls) content.$cls = cls;\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && !isMismatchAllowed(el, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration children mismatch on`,\n el,\n `\nServer rendered element contains more child nodes than client vdom.`\n );\n logMismatchError();\n }\n while (next) {\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n let clientText = vnode.children;\n if (clientText[0] === \"\\n\" && (el.tagName === \"PRE\" || el.tagName === \"TEXTAREA\")) {\n clientText = clientText.slice(1);\n }\n const { textContent } = el;\n if (textContent !== clientText && // innerHTML normalize \\r\\n or \\r into a single \\n in the DOM\n textContent !== clientText.replace(/\\r\\n|\\r/g, \"\\n\")) {\n if (!isMismatchAllowed(el, 0 /* TEXT */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text content mismatch on`,\n el,\n `\n - rendered on server: ${textContent}\n - expected on client: ${clientText}`\n );\n logMismatchError();\n }\n el.textContent = vnode.children;\n }\n }\n if (props) {\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || hasDynamicProps || !optimized || patchFlag & (16 | 32)) {\n const isCustomElement = el.tagName.includes(\"-\");\n const namespace = el.namespaceURI.includes(\"svg\") ? \"svg\" : el.namespaceURI.includes(\"MathML\") ? \"mathml\" : void 0;\n for (const key in props) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks\n // as it could have mutated the DOM in any possible way\n !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {\n logMismatchError();\n }\n if (forcePatch && (key.endsWith(\"value\") || key === \"indeterminate\") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers\n key[0] === \".\" || isCustomElement && !isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) {\n if (isUnchangedResourceProp(el, key, props[key])) {\n continue;\n }\n patchProp(el, key, null, props[key], namespace, parentComponent);\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n void 0,\n parentComponent\n );\n } else if (patchFlag & 4 && isReactive(props.style)) {\n for (const key in props.style) props.style[key];\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasCheckedMismatch = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n const isText = vnode.type === Text;\n if (node) {\n if (isText && !optimized) {\n if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {\n insert(\n createText(\n node.data.slice(vnode.children.length)\n ),\n container,\n nextSibling(node)\n );\n node.data = vnode.children;\n }\n }\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (isText && !vnode.children) {\n insert(vnode.el = createText(\"\"), container);\n } else {\n if (!hasCheckedMismatch) {\n hasCheckedMismatch = true;\n if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration children mismatch on`,\n container,\n `\nServer rendered element contains fewer child nodes than client vdom.`\n );\n logMismatchError();\n }\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n logMismatchError();\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n if (!isNodeMismatchAllowed(node, vnode)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration node mismatch:\n- rendered on server:`,\n node,\n node.nodeType === 3 ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``,\n `\n- expected on client:`,\n vnode.type\n );\n logMismatchError();\n }\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n if (parentComponent) {\n parentComponent.vnode.el = vnode.el;\n updateHOCHostEl(parentComponent, vnode.el);\n }\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open) match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 && node.tagName === \"TEMPLATE\";\n };\n return [hydrate, hydrateNode];\n}\nconst resourceProps = /* @__PURE__ */ new Set([\"src\", \"srcset\", \"href\", \"poster\"]);\nfunction isUnchangedResourceProp(el, key, clientValue) {\n if (!resourceProps.has(key)) {\n return false;\n }\n return el.getAttribute(key) === (clientValue == null ? null : `${clientValue}`);\n}\nfunction propHasMismatch(el, key, clientValue, vnode, instance) {\n let mismatchType;\n let mismatchKey;\n let actual;\n let expected;\n if (key === \"class\") {\n if (el.$cls) {\n actual = el.$cls;\n delete el.$cls;\n } else {\n actual = el.getAttribute(\"class\");\n }\n expected = normalizeClass(clientValue);\n if (!isSetEqual(toClassSet(actual || \"\"), toClassSet(expected))) {\n mismatchType = 2 /* CLASS */;\n mismatchKey = `class`;\n }\n } else if (key === \"style\") {\n actual = el.getAttribute(\"style\") || \"\";\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n const actualMap = toStyleMap(actual);\n const expectedMap = toStyleMap(expected);\n if (vnode.dirs) {\n for (const { dir, value } of vnode.dirs) {\n if (dir.name === \"show\" && !value) {\n expectedMap.set(\"display\", \"none\");\n }\n }\n }\n if (instance) {\n resolveCssVars(instance, vnode, expectedMap);\n }\n if (!isMapEqual(actualMap, expectedMap)) {\n mismatchType = 3 /* STYLE */;\n mismatchKey = \"style\";\n }\n } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {\n if (key === \"hidden\") {\n actual = normalizeHiddenValue(el.getAttribute(key));\n expected = normalizeHiddenValue(clientValue);\n } else if (isBooleanAttr(key)) {\n actual = el.hasAttribute(key);\n expected = includeBooleanAttr(clientValue);\n } else if (clientValue == null) {\n actual = el.hasAttribute(key);\n expected = false;\n } else {\n if (el.hasAttribute(key)) {\n actual = el.getAttribute(key);\n } else if (key === \"value\" && el.tagName === \"TEXTAREA\") {\n actual = el.value;\n } else {\n actual = false;\n }\n expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;\n }\n if (actual !== expected) {\n mismatchType = 4 /* ATTRIBUTE */;\n mismatchKey = key;\n }\n }\n if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) {\n const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}=\"${v}\"`;\n const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`;\n const postSegment = `\n - rendered on server: ${format(actual)}\n - expected on client: ${format(expected)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`;\n {\n warn$1(preSegment, el, postSegment);\n }\n return true;\n }\n return false;\n}\nfunction normalizeHiddenValue(value) {\n if (!isRenderableAttrValue(value)) {\n return false;\n }\n if (isString(value)) {\n return value.toLowerCase() === \"until-found\" ? \"until-found\" : \"\";\n }\n return includeBooleanAttr(value) ? \"\" : false;\n}\nfunction toClassSet(str) {\n return new Set(str.trim().split(/\\s+/));\n}\nfunction isSetEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const s of a) {\n if (!b.has(s)) {\n return false;\n }\n }\n return true;\n}\nfunction toStyleMap(str) {\n const styleMap = /* @__PURE__ */ new Map();\n for (const item of str.split(\";\")) {\n let [key, value] = item.split(\":\");\n key = key.trim();\n value = value && value.trim();\n if (key && value) {\n styleMap.set(key, value);\n }\n }\n return styleMap;\n}\nfunction isMapEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [key, value] of a) {\n if (value !== b.get(key)) {\n return false;\n }\n }\n return true;\n}\nfunction resolveCssVars(instance, vnode, expectedMap) {\n const root = instance.subTree;\n if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {\n const cssVars = instance.getCssVars();\n for (const key in cssVars) {\n const value = normalizeCssVarValue(cssVars[key]);\n expectedMap.set(`--${getEscapedCssVarName(key, false)}`, value);\n }\n }\n if (vnode === root && instance.parent) {\n resolveCssVars(instance.parent, instance.vnode, expectedMap);\n }\n}\nconst allowMismatchAttr = \"data-allow-mismatch\";\nconst MismatchTypeString = {\n [0 /* TEXT */]: \"text\",\n [1 /* CHILDREN */]: \"children\",\n [2 /* CLASS */]: \"class\",\n [3 /* STYLE */]: \"style\",\n [4 /* ATTRIBUTE */]: \"attribute\"\n};\nfunction isMismatchAllowed(el, allowedType) {\n if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) {\n while (el && !el.hasAttribute(allowMismatchAttr)) {\n el = el.parentElement;\n }\n }\n return isMismatchAllowedByAttr(\n el && el.getAttribute(allowMismatchAttr),\n allowedType\n );\n}\nfunction isMismatchAllowedByAttr(allowedAttr, allowedType) {\n if (allowedAttr == null) {\n return false;\n } else if (allowedAttr === \"\") {\n return true;\n } else {\n const list = allowedAttr.split(\",\");\n if (allowedType === 0 /* TEXT */ && list.includes(\"children\")) {\n return true;\n }\n return list.includes(MismatchTypeString[allowedType]);\n }\n}\nfunction isNodeMismatchAllowed(node, vnode) {\n return isMismatchAllowed(node.parentElement, 1 /* CHILDREN */) || isMismatchAllowedByNode(node) || isMismatchAllowedByVNode(vnode);\n}\nfunction isMismatchAllowedByNode(node) {\n return node.nodeType === 1 && isMismatchAllowedByAttr(\n node.getAttribute(allowMismatchAttr),\n 1 /* CHILDREN */\n );\n}\nfunction isMismatchAllowedByVNode({ props }) {\n const allowedAttr = props && props[allowMismatchAttr];\n return typeof allowedAttr === \"string\" && isMismatchAllowedByAttr(allowedAttr, 1 /* CHILDREN */);\n}\n\nconst requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));\nconst cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id));\nconst hydrateOnIdle = (timeout = 1e4) => (hydrate) => {\n const id = requestIdleCallback(hydrate, { timeout });\n return () => cancelIdleCallback(id);\n};\nfunction elementIsVisibleInViewport(el) {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);\n}\nconst hydrateOnVisible = (opts) => (hydrate, forEach) => {\n const ob = new IntersectionObserver((entries) => {\n for (const e of entries) {\n if (!e.isIntersecting) continue;\n ob.disconnect();\n hydrate();\n break;\n }\n }, opts);\n const observe = (el) => {\n if (elementIsVisibleInViewport(el)) {\n hydrate();\n ob.disconnect();\n return false;\n }\n if (getComputedStyle(el).display === \"contents\") {\n for (let i = 0; i < el.children.length; i++) {\n if (observe(el.children[i]) === false) return false;\n }\n }\n ob.observe(el);\n };\n forEach((el) => {\n if (!(el instanceof Element)) return;\n return observe(el);\n });\n return () => ob.disconnect();\n};\nconst hydrateOnMediaQuery = (query) => (hydrate) => {\n if (query) {\n const mql = matchMedia(query);\n if (mql.matches) {\n hydrate();\n } else {\n mql.addEventListener(\"change\", hydrate, { once: true });\n return () => mql.removeEventListener(\"change\", hydrate);\n }\n }\n};\nconst hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {\n if (isString(interactions)) interactions = [interactions];\n let hasHydrated = false;\n const doHydrate = (e) => {\n if (!hasHydrated) {\n hasHydrated = true;\n teardown();\n hydrate();\n e.target.dispatchEvent(new e.constructor(e.type, e));\n }\n };\n const teardown = () => {\n forEach((el) => {\n for (const i of interactions) {\n el.removeEventListener(i, doHydrate);\n }\n });\n };\n forEach((el) => {\n for (const i of interactions) {\n el.addEventListener(i, doHydrate, { once: true });\n }\n });\n return teardown;\n};\nfunction forEachElement(node, cb) {\n if (isComment(node) && node.data === \"[\") {\n let depth = 1;\n let next = node.nextSibling;\n while (next) {\n if (next.nodeType === 1) {\n const result = cb(next);\n if (result === false) {\n break;\n }\n } else if (isComment(next)) {\n if (next.data === \"]\") {\n if (--depth === 0) break;\n } else if (next.data === \"[\") {\n depth++;\n }\n }\n next = next.nextSibling;\n }\n } else {\n cb(node);\n }\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n hydrate: hydrateStrategy,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n __asyncHydrate(el, instance, hydrate) {\n const wasConnected = el.isConnected;\n let patched = false;\n (instance.bu || (instance.bu = [])).push(() => patched = true);\n const performHydrate = () => {\n if (patched) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Skipping lazy hydration for component '${getComponentName(resolvedComp) || resolvedComp.__file}': it was updated before lazy hydration performed.`\n );\n }\n return;\n }\n if (!el.parentNode || wasConnected && !el.isConnected) return;\n hydrate();\n };\n const doHydrate = hydrateStrategy ? () => {\n const teardown = hydrateStrategy(\n performHydrate,\n (cb) => forEachElement(el, cb)\n );\n if (teardown) {\n (instance.bum || (instance.bum = [])).push(teardown);\n }\n } : performHydrate;\n if (resolvedComp) {\n doHydrate();\n } else {\n load().then(() => !instance.isUnmounted && doHydrate());\n }\n },\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n markAsyncBoundary(instance);\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n let timeoutTimer;\n let delayTimer;\n onUnmounted(() => {\n if (timeoutTimer != null) clearTimeout(timeoutTimer);\n if (delayTimer != null) clearTimeout(delayTimer);\n });\n if (delay) {\n delayTimer = setTimeout(() => {\n if (instance.isUnmounted) return;\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n timeoutTimer = setTimeout(() => {\n if (instance.isUnmounted) return;\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n if (instance.isUnmounted) return;\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.update();\n }\n }).catch((err) => {\n if (instance.isUnmounted) {\n pendingRequest = null;\n return;\n }\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createInnerComp(\n loadingComponent,\n instance\n );\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n invalidateMount(instance2.m);\n invalidateMount(instance2.a);\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n instance2.__keepAliveStorageContainer = storageContainer;\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type\n );\n if (name && !filter(name)) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (cached && (!current || !isSameVNodeType(cached, current))) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n if (cached) resetShapeFlag(cached);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n if (isSuspense(instance.subTree.type)) {\n queuePostRenderEffect(() => {\n const vnode = getInnerChild(instance.subTree);\n if (vnode.component) {\n cache.set(pendingCacheKey, vnode);\n }\n }, instance.subTree.suspense);\n } else {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return current = null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n if (vnode.type === Comment) {\n current = null;\n return vnode;\n }\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n vnode.shapeFlag &= -257;\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n pattern.lastIndex = 0;\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= -257;\n vnode.shapeFlag &= -513;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => {\n if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\n};\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\n \"bu\"\n);\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\n \"bum\"\n);\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\n \"sp\"\n);\nconst onRenderTriggered = createHook(\"rtg\");\nconst onRenderTracked = createHook(\"rtc\");\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n const sourceIsArray = isArray(source);\n if (sourceIsArray || isString(source)) {\n const sourceIsReactiveArray = sourceIsArray && isReactive(source);\n let needsWrap = false;\n let isReadonlySource = false;\n if (sourceIsReactiveArray) {\n needsWrap = !isShallow(source);\n isReadonlySource = isReadonly(source);\n source = shallowReadArray(source);\n }\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(\n needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i],\n i,\n void 0,\n cached && cached[i]\n );\n }\n } else if (typeof source === \"number\") {\n if (!Number.isInteger(source) || source < 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `The v-for range expects a positive integer value but got ${source}.`\n );\n }\n ret = [];\n } else {\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res) res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props, fallback, noSlotted, branchKey) {\n if (props == null) props = {};\n if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {\n const slotProps = branchKey != null && props.key == null ? extend({}, props, { key: branchKey }) : props;\n const hasProps = Object.keys(slotProps).length > 0;\n if (name !== \"default\") slotProps.name = name;\n return openBlock(), createBlock(\n Fragment,\n null,\n [createVNode(\"slot\", slotProps, fallback && fallback())],\n hasProps ? -2 : 64\n );\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n const prevStackSize = blockStack.length;\n openBlock();\n let rendered;\n try {\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const slotKey = props.key || branchKey || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key;\n rendered = createBlock(\n Fragment,\n {\n key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content\n (!validSlotContent && fallback ? \"_fb\" : \"\")\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n } catch (err) {\n for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();\n throw err;\n } finally {\n if (slot && slot._c) {\n slot._d = true;\n }\n }\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\n return getPublicInstance(i.parent);\n};\nconst resolveDevRootEl = (vnode) => {\n let found = false;\n while (true) {\n if (vnode.patchFlag > 0 && vnode.patchFlag & 2048) {\n const root = filterSingleRoot(vnode.children);\n if (!root) {\n return;\n }\n vnode = root;\n found = true;\n continue;\n }\n const component = vnode.component;\n if (component && component.subTree) {\n vnode = component.subTree;\n continue;\n }\n const suspense = vnode.suspense;\n if (suspense && suspense.activeBranch) {\n vnode = suspense.activeBranch;\n continue;\n }\n return found ? vnode.el : void 0;\n }\n};\nconst getDevRootFragmentEl = (i) => {\n const el = i.subTree && resolveDevRootEl(i.subTree);\n return el === void 0 ? i.vnode.el : el;\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => !!(process.env.NODE_ENV !== \"production\") ? getDevRootFragmentEl(i) : i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $host: (i) => i.ce,\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (__VUE_OPTIONS_API__ && data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (hasOwn(props, key)) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate ","\n\n\n\n\n\n\n","/*!\n * pinia v4.1.0\n * (c) 2026 Eduardo San Martin Morote\n * @license MIT\n */\nimport { computed, effectScope, getCurrentInstance, getCurrentScope, hasInjectionContext, inject, isReactive, isReadonly, isRef, isShallow, markRaw, nextTick, onScopeDispose, reactive, ref, toRaw, toRef, toRefs, triggerRef, unref, watch } from \"vue\";\nimport { createConsoleReporter, defineDiagnostics } from \"nostics\";\nimport { setupDevtoolsPlugin } from \"@vue/devtools-api\";\n//#region src/env.ts\nconst IS_CLIENT = typeof window !== \"undefined\";\n//#endregion\n//#region src/diagnostics.ts\n/**\n* Catalog of user-facing Pinia diagnostics. Each handle builds a diagnostic\n* and runs the reporters. All call sites are dev-only (`__DEV__` guarded or\n* HMR), so production builds drop the calls and tree-shake this catalog.\n*/\nconst diagnostics = /*#__PURE__*/ defineDiagnostics({\n\treporters: [/*#__PURE__*/ createConsoleReporter()],\n\tcodes: {\n\t\tPINIA_R1001: {\n\t\t\twhy: \"Directly pass all stores to \\\"mapStores()\\\" without putting them in an array. This will fail in production.\",\n\t\t\tfix: \"Replace mapStores([useAuthStore, useCartStore]) with mapStores(useAuthStore, useCartStore).\",\n\t\t\tdocs: \"https://pinia.vuejs.org/cookbook/options-api.html#Giving-access-to-the-whole-store\"\n\t\t},\n\t\tPINIA_R1002: {\n\t\t\twhy: (p) => `A getter cannot have the same name as another state property. Found \"${p.name}\" in store \"${p.id}\".`,\n\t\t\tfix: \"Rename either the getter or the state property.\",\n\t\t\tdocs: \"https://pinia.vuejs.org/core-concepts/getters.html#Accessing-other-getters\"\n\t\t},\n\t\tPINIA_R1003: {\n\t\t\twhy: (p) => `The \"state\" must be a plain object. Found in store \"${p.id}\".`,\n\t\t\tfix: \"Return a plain object, e.g. avoid state: () => new MyClass().\",\n\t\t\tdocs: \"https://pinia.vuejs.org/core-concepts/state.html#State\"\n\t\t},\n\t\tPINIA_R1004: {\n\t\t\twhy: \"Pinia instance not found in context. This falls back to the global activePinia, which exposes you to cross-request pollution on the server.\",\n\t\t\tfix: \"\\\"useStore()\\\" is a composable and follows the same rules: call it at the top of setup() (or another composable), or pass the pinia instance explicitly when used outside of a component.\",\n\t\t\tdocs: \"https://pinia.vuejs.org/ssr/#Using-the-store-outside-of-setup-\"\n\t\t},\n\t\tPINIA_R1005: {\n\t\t\twhy: (p) => `The store id changed from \"${p.from}\" to \"${p.to}\", forcing a reload.`,\n\t\t\tdocs: \"https://pinia.vuejs.org/cookbook/hot-module-replacement.html#HMR-Hot-Module-Replacement-\"\n\t\t},\n\t\tPINIA_R1006: {\n\t\t\twhy: (p) => `Property \"${p.key}\" of store \"${p.id}\" is not reactive (not a ref, reactive object, or shallowRef), so storeToRefs() ignores it.`,\n\t\t\tfix: \"If it should be reactive state, wrap it with ref(), reactive(), or shallowRef(). If it is an intentional non-reactive property, wrap it with markRaw() so storeToRefs() skips it explicitly.\",\n\t\t\tdocs: \"https://pinia.vuejs.org/core-concepts/plugins.html#Adding-new-external-properties\"\n\t\t},\n\t\tPINIA_R1007: {\n\t\t\twhy: (p) => `The same callback was passed to \"$subscribe()\" of store \"${p.id}\" more than once. Subscriptions are deduplicated, so the duplicate is ignored.`,\n\t\t\tfix: \"Subscribe each callback only once. If you need to resubscribe, call the returned function to remove the previous subscription first, or create a new function.\",\n\t\t\tdocs: \"https://pinia.vuejs.org/core-concepts/state.html#Subscribing-to-the-state\"\n\t\t},\n\t\tPINIA_R1008: {\n\t\t\twhy: (p) => `\"$dispose()\" was called on an old instance of store \"${p.id}\" that has already been replaced by a new one. This also removes the new store.`,\n\t\t\tfix: \"Avoid keeping references to disposed stores. Call the useStore() function again to get the current store.\",\n\t\t\tdocs: \"https://pinia.vuejs.org/api/pinia/interfaces/StoreWithState.html#-dispose-\"\n\t\t}\n\t}\n});\n//#endregion\n//#region src/rootStore.ts\n/**\n* setActivePinia must be called to handle SSR at the top of functions like\n* `fetch`, `setup`, `serverPrefetch` and others\n*/\nlet activePinia;\n/**\n* Sets or unsets the active pinia. Used in SSR and internally when calling\n* actions and getters\n*\n* @param pinia - Pinia instance\n*/\nconst setActivePinia = (pinia) => activePinia = pinia;\n/**\n* Get the currently active pinia if there is any.\n*/\nconst getActivePinia = process.env.NODE_ENV !== \"production\" ? () => {\n\tconst pinia = hasInjectionContext() && inject(piniaSymbol);\n\tif (!pinia && !IS_CLIENT) diagnostics.PINIA_R1004({}, { method: \"error\" });\n\treturn pinia || activePinia;\n} : () => hasInjectionContext() && inject(piniaSymbol) || activePinia;\n/**\n* Get the stores that are currently in use by a pinia instance. Prefer this\n* over the internal `pinia._s`: it returns a new array, so it's safe to\n* dispose or create stores while iterating over it.\n*\n* @param pinia - pinia instance\n*/\nfunction getStores(pinia) {\n\treturn Array.from(pinia._s.values());\n}\n/**\n* Symbol used to provide/inject the pinia instance in the app. Used internally\n* and exposed for testing purposes and edge cases like storybook. Could break\n* in a minor, **USE AT YOUR OWN RISK**.\n*\n* For context, see:\n* - https://github.com/vuejs/pinia/issues/870\n* - https://github.com/vuejs/pinia/pull/2973\n*\n* @internal\n*/\nconst piniaSymbol = process.env.NODE_ENV !== \"production\" ? Symbol(\"pinia\") : /* istanbul ignore next */ Symbol();\n//#endregion\n//#region src/types.ts\nfunction isPlainObject(o) {\n\treturn o && typeof o === \"object\" && Object.prototype.toString.call(o) === \"[object Object]\" && typeof o.toJSON !== \"function\";\n}\n/**\n* Possible types for SubscriptionCallback\n*/\nlet MutationType = /* @__PURE__ */ function(MutationType) {\n\t/**\n\t* Direct mutation of the state:\n\t*\n\t* - `store.name = 'new name'`\n\t* - `store.$state.name = 'new name'`\n\t* - `store.list.push('new item')`\n\t*/\n\tMutationType[\"direct\"] = \"direct\";\n\t/**\n\t* Mutated the state with `$patch` and an object\n\t*\n\t* - `store.$patch({ name: 'newName' })`\n\t*/\n\tMutationType[\"patchObject\"] = \"patch object\";\n\t/**\n\t* Mutated the state with `$patch` and a function\n\t*\n\t* - `store.$patch(state => state.name = 'newName')`\n\t*/\n\tMutationType[\"patchFunction\"] = \"patch function\";\n\treturn MutationType;\n}({});\n//#endregion\n//#region src/devtools/file-saver.ts\nconst _global = /*#__PURE__*/ (() => typeof window === \"object\" && window.window === window ? window : typeof self === \"object\" && self.self === self ? self : typeof global === \"object\" && global.global === global ? global : typeof globalThis === \"object\" ? globalThis : { HTMLElement: null })();\nfunction bom(blob, { autoBom = false } = {}) {\n\tif (autoBom && /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) return new Blob([String.fromCharCode(65279), blob], { type: blob.type });\n\treturn blob;\n}\nfunction download(url, name, opts) {\n\tconst xhr = new XMLHttpRequest();\n\txhr.open(\"GET\", url);\n\txhr.responseType = \"blob\";\n\txhr.onload = function() {\n\t\tsaveAs(xhr.response, name, opts);\n\t};\n\txhr.onerror = function() {\n\t\tconsole.error(\"could not download file\");\n\t};\n\txhr.send();\n}\nfunction corsEnabled(url) {\n\tconst xhr = new XMLHttpRequest();\n\txhr.open(\"HEAD\", url, false);\n\ttry {\n\t\txhr.send();\n\t} catch (e) {}\n\treturn xhr.status >= 200 && xhr.status <= 299;\n}\nfunction click(node) {\n\ttry {\n\t\tnode.dispatchEvent(new MouseEvent(\"click\"));\n\t} catch (e) {\n\t\tconst evt = new MouseEvent(\"click\", {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true,\n\t\t\tview: window,\n\t\t\tdetail: 0,\n\t\t\tscreenX: 80,\n\t\t\tscreenY: 20,\n\t\t\tclientX: 80,\n\t\t\tclientY: 20,\n\t\t\tctrlKey: false,\n\t\t\taltKey: false,\n\t\t\tshiftKey: false,\n\t\t\tmetaKey: false,\n\t\t\tbutton: 0,\n\t\t\trelatedTarget: null\n\t\t});\n\t\tnode.dispatchEvent(evt);\n\t}\n}\nconst _navigator = typeof navigator === \"object\" ? navigator : { userAgent: \"\" };\nconst isMacOSWebView = /*#__PURE__*/ (() => /Macintosh/.test(_navigator.userAgent) && /AppleWebKit/.test(_navigator.userAgent) && !/Safari/.test(_navigator.userAgent))();\nconst saveAs = !IS_CLIENT ? () => {} : typeof HTMLAnchorElement !== \"undefined\" && \"download\" in HTMLAnchorElement.prototype && !isMacOSWebView ? downloadSaveAs : \"msSaveOrOpenBlob\" in _navigator ? msSaveAs : fileSaverSaveAs;\nfunction downloadSaveAs(blob, name = \"download\", opts) {\n\tconst a = document.createElement(\"a\");\n\ta.download = name;\n\ta.rel = \"noopener\";\n\tif (typeof blob === \"string\") {\n\t\ta.href = blob;\n\t\tif (a.origin !== location.origin) {\n\t\t\tif (corsEnabled(a.href)) download(blob, name, opts);\n\t\t\telse {\n\t\t\t\ta.target = \"_blank\";\n\t\t\t\tclick(a);\n\t\t\t}\n\t\t} else click(a);\n\t} else {\n\t\ta.href = URL.createObjectURL(blob);\n\t\tsetTimeout(function() {\n\t\t\tURL.revokeObjectURL(a.href);\n\t\t}, 4e4);\n\t\tsetTimeout(function() {\n\t\t\tclick(a);\n\t\t}, 0);\n\t}\n}\nfunction msSaveAs(blob, name = \"download\", opts) {\n\tif (typeof blob === \"string\") {\n\t\tif (corsEnabled(blob)) download(blob, name, opts);\n\t\telse {\n\t\t\tconst a = document.createElement(\"a\");\n\t\t\ta.href = blob;\n\t\t\ta.target = \"_blank\";\n\t\t\tsetTimeout(function() {\n\t\t\t\tclick(a);\n\t\t\t});\n\t\t}\n\t} else navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n}\nfunction fileSaverSaveAs(blob, name, opts, popup) {\n\tpopup = popup || open(\"\", \"_blank\");\n\tif (popup) popup.document.title = popup.document.body.innerText = \"downloading...\";\n\tif (typeof blob === \"string\") return download(blob, name, opts);\n\tconst force = blob.type === \"application/octet-stream\";\n\tconst isSafari = /constructor/i.test(String(_global.HTMLElement)) || \"safari\" in _global;\n\tconst isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n\tif ((isChromeIOS || force && isSafari || isMacOSWebView) && typeof FileReader !== \"undefined\") {\n\t\tconst reader = new FileReader();\n\t\treader.onloadend = function() {\n\t\t\tlet url = reader.result;\n\t\t\tif (typeof url !== \"string\") {\n\t\t\t\tpopup = null;\n\t\t\t\tthrow new Error(\"Wrong reader.result type\");\n\t\t\t}\n\t\t\turl = isChromeIOS ? url : url.replace(/^data:[^;]*;/, \"data:attachment/file;\");\n\t\t\tif (popup) popup.location.href = url;\n\t\t\telse location.assign(url);\n\t\t\tpopup = null;\n\t\t};\n\t\treader.readAsDataURL(blob);\n\t} else {\n\t\tconst url = URL.createObjectURL(blob);\n\t\tif (popup) popup.location.assign(url);\n\t\telse location.href = url;\n\t\tpopup = null;\n\t\tsetTimeout(function() {\n\t\t\tURL.revokeObjectURL(url);\n\t\t}, 4e4);\n\t}\n}\n//#endregion\n//#region src/devtools/utils.ts\n/**\n* Shows a toast or console.log\n*\n* @param message - message to log\n* @param type - different color of the tooltip\n*/\nfunction toastMessage(message, type) {\n\tconst piniaMessage = \"🍍 \" + message;\n\tif (type === \"error\") console.error(piniaMessage);\n\telse if (type === \"warn\") console.warn(piniaMessage);\n\telse console.debug(piniaMessage);\n}\nfunction isPinia(o) {\n\treturn \"_a\" in o && \"install\" in o;\n}\n/**\n* Detects if a store getter is a writable computed (has a setter) so it can be\n* edited from devtools.\n*/\nfunction isWritableComputed(store, key) {\n\tconst rawProp = toRaw(store)[key];\n\treturn isRef(rawProp) && !isReadonly(rawProp);\n}\n//#endregion\n//#region src/devtools/actions.ts\n/**\n* This file contain devtools actions, they are not Pinia actions.\n*/\nfunction checkClipboardAccess() {\n\tif (!(\"clipboard\" in navigator)) {\n\t\ttoastMessage(`Your browser doesn't support the Clipboard API`, \"error\");\n\t\treturn true;\n\t}\n}\nfunction checkNotFocusedError(error) {\n\tif (error instanceof Error && error.message.toLowerCase().includes(\"document is not focused\")) {\n\t\ttoastMessage(\"You need to activate the \\\"Emulate a focused page\\\" setting in the \\\"Rendering\\\" panel of devtools.\", \"warn\");\n\t\treturn true;\n\t}\n\treturn false;\n}\nasync function actionGlobalCopyState(pinia) {\n\tif (checkClipboardAccess()) return;\n\ttry {\n\t\tawait navigator.clipboard.writeText(JSON.stringify(pinia.state.value));\n\t\ttoastMessage(\"Global state copied to clipboard.\");\n\t} catch (error) {\n\t\tif (checkNotFocusedError(error)) return;\n\t\ttoastMessage(`Failed to serialize the state. Check the console for more details.`, \"error\");\n\t\tconsole.error(error);\n\t}\n}\nasync function actionGlobalPasteState(pinia) {\n\tif (checkClipboardAccess()) return;\n\ttry {\n\t\tloadStoresState(pinia, JSON.parse(await navigator.clipboard.readText()));\n\t\ttoastMessage(\"Global state pasted from clipboard.\");\n\t} catch (error) {\n\t\tif (checkNotFocusedError(error)) return;\n\t\ttoastMessage(`Failed to deserialize the state from clipboard. Check the console for more details.`, \"error\");\n\t\tconsole.error(error);\n\t}\n}\nasync function actionGlobalSaveState(pinia) {\n\ttry {\n\t\tsaveAs(new Blob([JSON.stringify(pinia.state.value)], { type: \"text/plain;charset=utf-8\" }), \"pinia-state.json\");\n\t} catch (error) {\n\t\ttoastMessage(`Failed to export the state as JSON. Check the console for more details.`, \"error\");\n\t\tconsole.error(error);\n\t}\n}\nlet fileInput;\nfunction getFileOpener() {\n\tif (!fileInput) {\n\t\tfileInput = document.createElement(\"input\");\n\t\tfileInput.type = \"file\";\n\t\tfileInput.accept = \".json\";\n\t}\n\tfunction openFile() {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tfileInput.onchange = async () => {\n\t\t\t\tconst files = fileInput.files;\n\t\t\t\tif (!files) return resolve(null);\n\t\t\t\tconst file = files.item(0);\n\t\t\t\tif (!file) return resolve(null);\n\t\t\t\treturn resolve({\n\t\t\t\t\ttext: await file.text(),\n\t\t\t\t\tfile\n\t\t\t\t});\n\t\t\t};\n\t\t\tfileInput.oncancel = () => resolve(null);\n\t\t\tfileInput.onerror = reject;\n\t\t\tfileInput.click();\n\t\t});\n\t}\n\treturn openFile;\n}\nasync function actionGlobalOpenStateFile(pinia) {\n\ttry {\n\t\tconst result = await getFileOpener()();\n\t\tif (!result) return;\n\t\tconst { text, file } = result;\n\t\tloadStoresState(pinia, JSON.parse(text));\n\t\ttoastMessage(`Global state imported from \"${file.name}\".`);\n\t} catch (error) {\n\t\ttoastMessage(`Failed to import the state from JSON. Check the console for more details.`, \"error\");\n\t\tconsole.error(error);\n\t}\n}\nfunction loadStoresState(pinia, state) {\n\tfor (const key in state) {\n\t\tconst storeState = pinia.state.value[key];\n\t\tif (storeState) Object.assign(storeState, state[key]);\n\t\telse pinia.state.value[key] = state[key];\n\t}\n}\n//#endregion\n//#region src/devtools/formatting.ts\nfunction formatDisplay(display) {\n\treturn { _custom: { display } };\n}\nconst PINIA_ROOT_LABEL = \"🍍 Pinia (root)\";\nconst PINIA_ROOT_ID = \"_root\";\nfunction formatStoreForInspectorTree(store) {\n\treturn isPinia(store) ? {\n\t\tid: PINIA_ROOT_ID,\n\t\tlabel: PINIA_ROOT_LABEL\n\t} : {\n\t\tid: store.$id,\n\t\tlabel: store.$id\n\t};\n}\nfunction formatStoreForInspectorState(store) {\n\tif (isPinia(store)) {\n\t\tconst storeNames = Array.from(store._s.keys());\n\t\tconst storeMap = store._s;\n\t\treturn {\n\t\t\tstate: storeNames.map((storeId) => ({\n\t\t\t\teditable: true,\n\t\t\t\tkey: storeId,\n\t\t\t\tvalue: store.state.value[storeId]\n\t\t\t})),\n\t\t\tgetters: storeNames.filter((id) => storeMap.get(id)._getters).map((id) => {\n\t\t\t\tconst store = storeMap.get(id);\n\t\t\t\treturn {\n\t\t\t\t\teditable: false,\n\t\t\t\t\tkey: id,\n\t\t\t\t\tvalue: store._getters.reduce((getters, key) => {\n\t\t\t\t\t\tgetters[key] = store[key];\n\t\t\t\t\t\treturn getters;\n\t\t\t\t\t}, {})\n\t\t\t\t};\n\t\t\t})\n\t\t};\n\t}\n\tconst state = { state: Object.keys(store.$state).map((key) => ({\n\t\teditable: true,\n\t\tkey,\n\t\tvalue: store.$state[key]\n\t})) };\n\tif (store._getters && store._getters.length) state.getters = store._getters.map((getterName) => ({\n\t\teditable: isWritableComputed(store, getterName),\n\t\tkey: getterName,\n\t\tvalue: store[getterName]\n\t}));\n\tif (store._customProperties.size) state.customProperties = Array.from(store._customProperties).map((key) => ({\n\t\teditable: true,\n\t\tkey,\n\t\tvalue: store[key]\n\t}));\n\treturn state;\n}\nfunction formatEventData(events) {\n\tif (!events) return {};\n\tif (Array.isArray(events)) return events.reduce((data, event) => {\n\t\tdata.keys.push(event.key);\n\t\tdata.operations.push(event.type);\n\t\tdata.oldValue[event.key] = event.oldValue;\n\t\tdata.newValue[event.key] = event.newValue;\n\t\treturn data;\n\t}, {\n\t\toldValue: {},\n\t\tkeys: [],\n\t\toperations: [],\n\t\tnewValue: {}\n\t});\n\telse return {\n\t\toperation: formatDisplay(events.type),\n\t\tkey: formatDisplay(events.key),\n\t\toldValue: events.oldValue,\n\t\tnewValue: events.newValue\n\t};\n}\nfunction formatMutationType(type) {\n\tswitch (type) {\n\t\tcase \"direct\": return \"mutation\";\n\t\tcase \"patch function\": return \"$patch\";\n\t\tcase \"patch object\": return \"$patch\";\n\t\tdefault: return \"unknown\";\n\t}\n}\n//#endregion\n//#region src/devtools/plugin.ts\nlet isTimelineActive = true;\nconst componentStateTypes = [];\nconst MUTATIONS_LAYER_ID = \"pinia:mutations\";\nconst INSPECTOR_ID = \"pinia\";\nconst { assign: assign$1 } = Object;\n/**\n* Gets the displayed name of a store in devtools\n*\n* @param id - id of the store\n* @returns a formatted string\n*/\nconst getStoreType = (id) => \"🍍 \" + id;\n/**\n* Add the pinia plugin without any store. Allows displaying a Pinia plugin tab\n* as soon as it is added to the application.\n*\n* @param app - Vue application\n* @param pinia - pinia instance\n*/\nfunction registerPiniaDevtools(app, pinia) {\n\tsetupDevtoolsPlugin({\n\t\tid: \"dev.esm.pinia\",\n\t\tlabel: \"Pinia 🍍\",\n\t\tlogo: \"https://pinia.vuejs.org/logo.svg\",\n\t\tpackageName: \"pinia\",\n\t\thomepage: \"https://pinia.vuejs.org\",\n\t\tcomponentStateTypes,\n\t\tapp\n\t}, (api) => {\n\t\tif (typeof api.now !== \"function\") toastMessage(\"You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.\");\n\t\tapi.addTimelineLayer({\n\t\t\tid: MUTATIONS_LAYER_ID,\n\t\t\tlabel: `Pinia 🍍`,\n\t\t\tcolor: 15064968\n\t\t});\n\t\tapi.addInspector({\n\t\t\tid: INSPECTOR_ID,\n\t\t\tlabel: \"Pinia 🍍\",\n\t\t\ticon: \"storage\",\n\t\t\ttreeFilterPlaceholder: \"Search stores\",\n\t\t\tactions: [\n\t\t\t\t{\n\t\t\t\t\ticon: \"content_copy\",\n\t\t\t\t\taction: () => {\n\t\t\t\t\t\tactionGlobalCopyState(pinia);\n\t\t\t\t\t},\n\t\t\t\t\ttooltip: \"Serialize and copy the state\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: \"content_paste\",\n\t\t\t\t\taction: async () => {\n\t\t\t\t\t\tawait actionGlobalPasteState(pinia);\n\t\t\t\t\t\tapi.sendInspectorTree(INSPECTOR_ID);\n\t\t\t\t\t\tapi.sendInspectorState(INSPECTOR_ID);\n\t\t\t\t\t},\n\t\t\t\t\ttooltip: \"Replace the state with the content of your clipboard\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: \"save\",\n\t\t\t\t\taction: () => {\n\t\t\t\t\t\tactionGlobalSaveState(pinia);\n\t\t\t\t\t},\n\t\t\t\t\ttooltip: \"Save the state as a JSON file\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: \"folder_open\",\n\t\t\t\t\taction: async () => {\n\t\t\t\t\t\tawait actionGlobalOpenStateFile(pinia);\n\t\t\t\t\t\tapi.sendInspectorTree(INSPECTOR_ID);\n\t\t\t\t\t\tapi.sendInspectorState(INSPECTOR_ID);\n\t\t\t\t\t},\n\t\t\t\t\ttooltip: \"Import the state from a JSON file\"\n\t\t\t\t}\n\t\t\t],\n\t\t\tnodeActions: [{\n\t\t\t\ticon: \"restore\",\n\t\t\t\ttooltip: \"Reset the state (with \\\"$reset\\\")\",\n\t\t\t\taction: (nodeId) => {\n\t\t\t\t\tconst store = pinia._s.get(nodeId);\n\t\t\t\t\tif (!store) toastMessage(`Cannot reset \"${nodeId}\" store because it wasn't found.`, \"warn\");\n\t\t\t\t\telse if (typeof store.$reset !== \"function\") toastMessage(`Cannot reset \"${nodeId}\" store because it doesn't have a \"$reset\" method implemented.`, \"warn\");\n\t\t\t\t\telse {\n\t\t\t\t\t\tstore.$reset();\n\t\t\t\t\t\ttoastMessage(`Store \"${nodeId}\" reset.`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}]\n\t\t});\n\t\tapi.on.inspectComponent((payload) => {\n\t\t\tconst proxy = payload.componentInstance && payload.componentInstance.proxy;\n\t\t\tif (proxy && proxy._pStores) {\n\t\t\t\tconst piniaStores = payload.componentInstance.proxy._pStores;\n\t\t\t\tObject.values(piniaStores).forEach((store) => {\n\t\t\t\t\tpayload.instanceData.state.push({\n\t\t\t\t\t\ttype: getStoreType(store.$id),\n\t\t\t\t\t\tkey: \"state\",\n\t\t\t\t\t\teditable: true,\n\t\t\t\t\t\tvalue: store._isOptionsAPI ? { _custom: {\n\t\t\t\t\t\t\tvalue: toRaw(store.$state),\n\t\t\t\t\t\t\tactions: [{\n\t\t\t\t\t\t\t\ticon: \"restore\",\n\t\t\t\t\t\t\t\ttooltip: \"Reset the state of this store\",\n\t\t\t\t\t\t\t\taction: () => store.$reset()\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t} } : Object.keys(store.$state).reduce((state, key) => {\n\t\t\t\t\t\t\tstate[key] = store.$state[key];\n\t\t\t\t\t\t\treturn state;\n\t\t\t\t\t\t}, {})\n\t\t\t\t\t});\n\t\t\t\t\tif (store._getters && store._getters.length) payload.instanceData.state.push({\n\t\t\t\t\t\ttype: getStoreType(store.$id),\n\t\t\t\t\t\tkey: \"getters\",\n\t\t\t\t\t\teditable: false,\n\t\t\t\t\t\tvalue: store._getters.reduce((getters, key) => {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tgetters[key] = store[key];\n\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\tgetters[key] = error;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn getters;\n\t\t\t\t\t\t}, {})\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tapi.on.getInspectorTree((payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n\t\t\t\tlet stores = [pinia];\n\t\t\t\tstores = stores.concat(Array.from(pinia._s.values()));\n\t\t\t\tpayload.rootNodes = (payload.filter ? stores.filter((store) => \"$id\" in store ? store.$id.toLowerCase().includes(payload.filter.toLowerCase()) : PINIA_ROOT_LABEL.toLowerCase().includes(payload.filter.toLowerCase())) : stores).map(formatStoreForInspectorTree);\n\t\t\t}\n\t\t});\n\t\tglobalThis.$pinia = pinia;\n\t\tapi.on.getInspectorState((payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n\t\t\t\tconst inspectedStore = payload.nodeId === \"_root\" ? pinia : pinia._s.get(payload.nodeId);\n\t\t\t\tif (!inspectedStore) return;\n\t\t\t\tif (inspectedStore) {\n\t\t\t\t\tif (payload.nodeId !== \"_root\") globalThis.$store = toRaw(inspectedStore);\n\t\t\t\t\tpayload.state = formatStoreForInspectorState(inspectedStore);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tapi.on.editInspectorState((payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n\t\t\t\tconst inspectedStore = payload.nodeId === \"_root\" ? pinia : pinia._s.get(payload.nodeId);\n\t\t\t\tif (!inspectedStore) return toastMessage(`store \"${payload.nodeId}\" not found`, \"error\");\n\t\t\t\tconst { path } = payload;\n\t\t\t\tif (!isPinia(inspectedStore)) {\n\t\t\t\t\tif (path.length !== 1 || !inspectedStore._customProperties.has(path[0]) && !isWritableComputed(inspectedStore, path[0]) || path[0] in inspectedStore.$state) path.unshift(\"$state\");\n\t\t\t\t} else path.unshift(\"state\");\n\t\t\t\tisTimelineActive = false;\n\t\t\t\tpayload.set(inspectedStore, path, payload.state.value);\n\t\t\t\tisTimelineActive = true;\n\t\t\t}\n\t\t});\n\t\tapi.on.editComponentState((payload) => {\n\t\t\tif (payload.type.startsWith(\"🍍\")) {\n\t\t\t\tconst storeId = payload.type.replace(/^🍍\\s*/, \"\");\n\t\t\t\tconst store = pinia._s.get(storeId);\n\t\t\t\tif (!store) return toastMessage(`store \"${storeId}\" not found`, \"error\");\n\t\t\t\tconst { path } = payload;\n\t\t\t\tif (path[0] !== \"state\") return toastMessage(`Invalid path for store \"${storeId}\":\\n${path}\\nOnly state can be modified.`);\n\t\t\t\tpath[0] = \"$state\";\n\t\t\t\tisTimelineActive = false;\n\t\t\t\tpayload.set(store, path, payload.state.value);\n\t\t\t\tisTimelineActive = true;\n\t\t\t}\n\t\t});\n\t});\n}\nfunction addStoreToDevtools(app, store) {\n\tif (!componentStateTypes.includes(getStoreType(store.$id))) componentStateTypes.push(getStoreType(store.$id));\n\tsetupDevtoolsPlugin({\n\t\tid: \"dev.esm.pinia\",\n\t\tlabel: \"Pinia 🍍\",\n\t\tlogo: \"https://pinia.vuejs.org/logo.svg\",\n\t\tpackageName: \"pinia\",\n\t\thomepage: \"https://pinia.vuejs.org\",\n\t\tcomponentStateTypes,\n\t\tapp,\n\t\tsettings: { logStoreChanges: {\n\t\t\tlabel: \"Notify about new/deleted stores\",\n\t\t\ttype: \"boolean\",\n\t\t\tdefaultValue: true\n\t\t} }\n\t}, (api) => {\n\t\tconst now = typeof api.now === \"function\" ? api.now.bind(api) : Date.now;\n\t\tstore.$onAction(({ after, onError, name, args }) => {\n\t\t\tconst groupId = runningActionId++;\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: MUTATIONS_LAYER_ID,\n\t\t\t\tevent: {\n\t\t\t\t\ttime: now(),\n\t\t\t\t\ttitle: \"🛫 \" + name,\n\t\t\t\t\tsubtitle: \"start\",\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tstore: formatDisplay(store.$id),\n\t\t\t\t\t\taction: formatDisplay(name),\n\t\t\t\t\t\targs\n\t\t\t\t\t},\n\t\t\t\t\tgroupId\n\t\t\t\t}\n\t\t\t});\n\t\t\tafter((result) => {\n\t\t\t\tactiveAction = void 0;\n\t\t\t\tapi.addTimelineEvent({\n\t\t\t\t\tlayerId: MUTATIONS_LAYER_ID,\n\t\t\t\t\tevent: {\n\t\t\t\t\t\ttime: now(),\n\t\t\t\t\t\ttitle: \"🛬 \" + name,\n\t\t\t\t\t\tsubtitle: \"end\",\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tstore: formatDisplay(store.$id),\n\t\t\t\t\t\t\taction: formatDisplay(name),\n\t\t\t\t\t\t\targs,\n\t\t\t\t\t\t\tresult\n\t\t\t\t\t\t},\n\t\t\t\t\t\tgroupId\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tonError((error) => {\n\t\t\t\tactiveAction = void 0;\n\t\t\t\tapi.addTimelineEvent({\n\t\t\t\t\tlayerId: MUTATIONS_LAYER_ID,\n\t\t\t\t\tevent: {\n\t\t\t\t\t\ttime: now(),\n\t\t\t\t\t\tlogType: \"error\",\n\t\t\t\t\t\ttitle: \"💥 \" + name,\n\t\t\t\t\t\tsubtitle: \"end\",\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tstore: formatDisplay(store.$id),\n\t\t\t\t\t\t\taction: formatDisplay(name),\n\t\t\t\t\t\t\targs,\n\t\t\t\t\t\t\terror\n\t\t\t\t\t\t},\n\t\t\t\t\t\tgroupId\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}, true);\n\t\tstore._customProperties.forEach((name) => {\n\t\t\twatch(() => unref(store[name]), (newValue, oldValue) => {\n\t\t\t\tapi.notifyComponentUpdate();\n\t\t\t\tapi.sendInspectorState(INSPECTOR_ID);\n\t\t\t\tif (isTimelineActive) api.addTimelineEvent({\n\t\t\t\t\tlayerId: MUTATIONS_LAYER_ID,\n\t\t\t\t\tevent: {\n\t\t\t\t\t\ttime: now(),\n\t\t\t\t\t\ttitle: \"Change\",\n\t\t\t\t\t\tsubtitle: name,\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tnewValue,\n\t\t\t\t\t\t\toldValue\n\t\t\t\t\t\t},\n\t\t\t\t\t\tgroupId: activeAction\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}, { deep: true });\n\t\t});\n\t\tstore.$subscribe(({ events, type }, state) => {\n\t\t\tapi.notifyComponentUpdate();\n\t\t\tapi.sendInspectorState(INSPECTOR_ID);\n\t\t\tif (!isTimelineActive) return;\n\t\t\tconst eventData = {\n\t\t\t\ttime: now(),\n\t\t\t\ttitle: formatMutationType(type),\n\t\t\t\tdata: assign$1({ store: formatDisplay(store.$id) }, formatEventData(events)),\n\t\t\t\tgroupId: activeAction\n\t\t\t};\n\t\t\tif (type === \"patch function\") eventData.subtitle = \"⤵️\";\n\t\t\telse if (type === \"patch object\") eventData.subtitle = \"🧩\";\n\t\t\telse if (events && !Array.isArray(events)) eventData.subtitle = events.type;\n\t\t\tif (events) eventData.data[\"rawEvent(s)\"] = { _custom: {\n\t\t\t\tdisplay: \"DebuggerEvent\",\n\t\t\t\ttype: \"object\",\n\t\t\t\ttooltip: \"raw DebuggerEvent[]\",\n\t\t\t\tvalue: events\n\t\t\t} };\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: MUTATIONS_LAYER_ID,\n\t\t\t\tevent: eventData\n\t\t\t});\n\t\t}, {\n\t\t\tdetached: true,\n\t\t\tflush: \"sync\"\n\t\t});\n\t\tconst hotUpdate = store._hotUpdate;\n\t\tstore._hotUpdate = markRaw((newStore) => {\n\t\t\thotUpdate(newStore);\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: MUTATIONS_LAYER_ID,\n\t\t\t\tevent: {\n\t\t\t\t\ttime: now(),\n\t\t\t\t\ttitle: \"🔥 \" + store.$id,\n\t\t\t\t\tsubtitle: \"HMR update\",\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tstore: formatDisplay(store.$id),\n\t\t\t\t\t\tinfo: formatDisplay(`HMR update`)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tapi.notifyComponentUpdate();\n\t\t\tapi.sendInspectorTree(INSPECTOR_ID);\n\t\t\tapi.sendInspectorState(INSPECTOR_ID);\n\t\t});\n\t\tconst { $dispose } = store;\n\t\tstore.$dispose = () => {\n\t\t\t$dispose();\n\t\t\tapi.notifyComponentUpdate();\n\t\t\tapi.sendInspectorTree(INSPECTOR_ID);\n\t\t\tapi.sendInspectorState(INSPECTOR_ID);\n\t\t\tapi.getSettings().logStoreChanges && toastMessage(`Disposed \"${store.$id}\" store 🗑`);\n\t\t};\n\t\tapi.notifyComponentUpdate();\n\t\tapi.sendInspectorTree(INSPECTOR_ID);\n\t\tapi.sendInspectorState(INSPECTOR_ID);\n\t\tapi.getSettings().logStoreChanges && toastMessage(`\"${store.$id}\" store installed 🆕`);\n\t});\n}\nlet runningActionId = 0;\nlet activeAction;\n/**\n* Patches a store to enable action grouping in devtools by wrapping the store with a Proxy that is passed as the\n* context of all actions, allowing us to set `runningAction` on each access and effectively associating any state\n* mutation to the action.\n*\n* @param store - store to patch\n* @param actionNames - list of actionst to patch\n*/\nfunction patchActionForGrouping(store, actionNames, wrapWithProxy) {\n\tconst actions = actionNames.reduce((storeActions, actionName) => {\n\t\tstoreActions[actionName] = toRaw(store)[actionName];\n\t\treturn storeActions;\n\t}, {});\n\tfor (const actionName in actions) store[actionName] = function() {\n\t\tconst _actionId = runningActionId;\n\t\tconst trackedStore = wrapWithProxy ? new Proxy(store, {\n\t\t\tget(...args) {\n\t\t\t\tactiveAction = _actionId;\n\t\t\t\treturn Reflect.get(...args);\n\t\t\t},\n\t\t\tset(...args) {\n\t\t\t\tactiveAction = _actionId;\n\t\t\t\treturn Reflect.set(...args);\n\t\t\t}\n\t\t}) : store;\n\t\tactiveAction = _actionId;\n\t\tconst retValue = actions[actionName].apply(trackedStore, arguments);\n\t\tactiveAction = void 0;\n\t\treturn retValue;\n\t};\n}\n/**\n* pinia.use(devtoolsPlugin)\n*/\nfunction devtoolsPlugin({ app, store, options }) {\n\tif (store.$id.startsWith(\"__hot:\")) return;\n\tstore._isOptionsAPI = !!options.state;\n\tif (!store._p._testing) {\n\t\tpatchActionForGrouping(store, Object.keys(options.actions), store._isOptionsAPI);\n\t\tconst originalHotUpdate = store._hotUpdate;\n\t\ttoRaw(store)._hotUpdate = function(newStore) {\n\t\t\toriginalHotUpdate.apply(this, arguments);\n\t\t\tpatchActionForGrouping(store, Object.keys(newStore._hmrPayload.actions), !!store._isOptionsAPI);\n\t\t};\n\t}\n\taddStoreToDevtools(app, store);\n}\n//#endregion\n//#region src/createPinia.ts\n/**\n* Creates a Pinia instance to be used by the application\n*/\nfunction createPinia() {\n\tconst scope = effectScope(true);\n\tconst state = scope.run(() => ref({}));\n\tlet _p = [];\n\tlet toBeInstalled = [];\n\tconst pinia = markRaw({\n\t\tinstall(app) {\n\t\t\tsetActivePinia(pinia);\n\t\t\tpinia._a = app;\n\t\t\tapp.provide(piniaSymbol, pinia);\n\t\t\tapp.config.globalProperties.$pinia = pinia;\n\t\t\t/* istanbul ignore else */\n\t\t\tif ((process.env.NODE_ENV !== \"production\" || typeof __VUE_PROD_DEVTOOLS__ !== \"undefined\" && __VUE_PROD_DEVTOOLS__) && !(process.env.NODE_ENV === \"test\") && IS_CLIENT) registerPiniaDevtools(app, pinia);\n\t\t\ttoBeInstalled.forEach((plugin) => _p.push(plugin));\n\t\t\ttoBeInstalled = [];\n\t\t},\n\t\tuse(plugin) {\n\t\t\tif (!this._a) toBeInstalled.push(plugin);\n\t\t\telse _p.push(plugin);\n\t\t\treturn this;\n\t\t},\n\t\t_p,\n\t\t_a: null,\n\t\t_e: scope,\n\t\t_s: /* @__PURE__ */ new Map(),\n\t\tstate\n\t});\n\tif ((process.env.NODE_ENV !== \"production\" || typeof __VUE_PROD_DEVTOOLS__ !== \"undefined\" && __VUE_PROD_DEVTOOLS__) && !(process.env.NODE_ENV === \"test\") && IS_CLIENT && typeof Proxy !== \"undefined\") pinia.use(devtoolsPlugin);\n\treturn pinia;\n}\n/**\n* Dispose a Pinia instance by stopping its effectScope and removing the state, plugins and stores. This is mostly\n* useful in tests, with both a testing pinia or a regular pinia and in applications that use multiple pinia instances.\n* Once disposed, the pinia instance cannot be used anymore.\n*\n* @param pinia - pinia instance\n*/\nfunction disposePinia(pinia) {\n\tpinia._e.stop();\n\tpinia._s.clear();\n\tpinia._p.splice(0);\n\tpinia.state.value = {};\n\tpinia._a = null;\n}\n//#endregion\n//#region src/hmr.ts\n/**\n* Checks if a function is a `StoreDefinition`.\n*\n* @param fn - object to test\n* @returns true if `fn` is a StoreDefinition\n*/\nconst isUseStore = (fn) => {\n\treturn typeof fn === \"function\" && typeof fn.$id === \"string\";\n};\n/**\n* Mutates in place `newState` with `oldState` to _hot update_ it. It will\n* remove any key not existing in `newState` and recursively merge plain\n* objects.\n*\n* @param newState - new state object to be patched\n* @param oldState - old state that should be used to patch newState\n* @returns - newState\n*/\nfunction patchObject(newState, oldState) {\n\tfor (const key in oldState) {\n\t\tconst subPatch = oldState[key];\n\t\tif (!(key in newState)) continue;\n\t\tconst targetValue = newState[key];\n\t\tif (isPlainObject(targetValue) && isPlainObject(subPatch) && !isRef(subPatch) && !isReactive(subPatch)) newState[key] = patchObject(targetValue, subPatch);\n\t\telse newState[key] = subPatch;\n\t}\n\treturn newState;\n}\n/**\n* Creates an _accept_ function to pass to `import.meta.hot` in Vite applications.\n*\n* @example\n* ```js\n* const useUser = defineStore(...)\n* if (import.meta.hot) {\n* import.meta.hot.accept(acceptHMRUpdate(useUser, import.meta.hot))\n* }\n* ```\n*\n* @param initialUseStore - return of the defineStore to hot update\n* @param hot - `import.meta.hot`\n*/\nfunction acceptHMRUpdate(initialUseStore, hot) {\n\tif (!(process.env.NODE_ENV !== \"production\")) return () => {};\n\treturn (newModule) => {\n\t\tconst pinia = hot.data.pinia || initialUseStore._pinia;\n\t\tif (!pinia) return;\n\t\thot.data.pinia = pinia;\n\t\tfor (const exportName in newModule) {\n\t\t\tconst useStore = newModule[exportName];\n\t\t\tif (isUseStore(useStore) && pinia._s.has(useStore.$id)) {\n\t\t\t\tconst id = useStore.$id;\n\t\t\t\tif (id !== initialUseStore.$id) {\n\t\t\t\t\tdiagnostics.PINIA_R1005({\n\t\t\t\t\t\tfrom: initialUseStore.$id,\n\t\t\t\t\t\tto: id\n\t\t\t\t\t});\n\t\t\t\t\treturn hot.invalidate();\n\t\t\t\t}\n\t\t\t\tconst existingStore = pinia._s.get(id);\n\t\t\t\tif (!existingStore) {\n\t\t\t\t\tconsole.log(`[Pinia]: skipping hmr because store doesn't exist yet`);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tuseStore(pinia, existingStore);\n\t\t\t}\n\t\t}\n\t};\n}\n//#endregion\n//#region src/subscriptions.ts\nconst noop = () => {};\nfunction addSubscription(subscriptions, callback, detached, onCleanup = noop) {\n\tsubscriptions.add(callback);\n\tconst removeSubscription = () => {\n\t\tsubscriptions.delete(callback) && onCleanup();\n\t};\n\tif (!detached && getCurrentScope()) onScopeDispose(removeSubscription);\n\treturn removeSubscription;\n}\nfunction triggerSubscriptions(subscriptions, ...args) {\n\tsubscriptions.forEach((callback) => {\n\t\tcallback(...args);\n\t});\n}\n//#endregion\n//#region src/store.ts\nconst fallbackRunWithContext = (fn) => fn();\n/**\n* Marks a function as an action for `$onAction`\n* @internal\n*/\nconst ACTION_MARKER = Symbol();\n/**\n* Action name symbol. Allows to add a name to an action after defining it\n* @internal\n*/\nconst ACTION_NAME = Symbol();\nfunction mergeReactiveObjects(target, patchToApply) {\n\tif (target instanceof Map && patchToApply instanceof Map) patchToApply.forEach((value, key) => target.set(key, value));\n\telse if (target instanceof Set && patchToApply instanceof Set) patchToApply.forEach(target.add, target);\n\tfor (const key in patchToApply) {\n\t\tif (!Object.hasOwn(patchToApply, key)) continue;\n\t\tconst subPatch = patchToApply[key];\n\t\tconst targetValue = target[key];\n\t\tif (isPlainObject(targetValue) && isPlainObject(subPatch) && Object.hasOwn(target, key) && !isRef(subPatch) && !isReactive(subPatch)) {\n\t\t\ttarget[key] = mergeReactiveObjects(targetValue, subPatch);\n\t\t\tconst targetRef = toRaw(target)[key];\n\t\t\tif (isRef(targetRef) && isShallow(targetRef)) triggerRef(targetRef);\n\t\t} else target[key] = subPatch;\n\t}\n\treturn target;\n}\nconst skipHydrateSymbol = process.env.NODE_ENV !== \"production\" ? Symbol(\"pinia:skipHydration\") : /* istanbul ignore next */ Symbol();\n/**\n* Tells Pinia to skip the hydration process of a given object. This is useful in setup stores (only) when you return a\n* stateful object in the store but it isn't really state. e.g. returning a router instance in a setup store.\n*\n* @param obj - target object\n* @returns obj\n*/\nfunction skipHydrate(obj) {\n\treturn Object.defineProperty(obj, skipHydrateSymbol, {});\n}\n/**\n* Returns whether a value should be hydrated\n*\n* @param obj - target variable\n* @returns true if `obj` should be hydrated\n*/\nfunction shouldHydrate(obj) {\n\treturn !obj || typeof obj !== \"object\" || !Object.hasOwn(obj, skipHydrateSymbol);\n}\nconst { assign } = Object;\nfunction isComputed(o) {\n\treturn !!(isRef(o) && o.effect);\n}\nfunction createOptionsStore(id, options, pinia, hot) {\n\tconst { state, actions, getters } = options;\n\tconst initialState = pinia.state.value[id];\n\tlet store;\n\tfunction setup() {\n\t\tif (!initialState && (!(process.env.NODE_ENV !== \"production\") || !hot))\n /* istanbul ignore if */\n\t\tpinia.state.value[id] = state ? state() : {};\n\t\tconst localState = process.env.NODE_ENV !== \"production\" && hot ? toRefs(ref(state ? state() : {}).value) : toRefs(pinia.state.value[id]);\n\t\treturn assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => {\n\t\t\tif (process.env.NODE_ENV !== \"production\" && name in localState) diagnostics.PINIA_R1002({\n\t\t\t\tname,\n\t\t\t\tid\n\t\t\t});\n\t\t\tcomputedGetters[name] = markRaw(computed(() => {\n\t\t\t\tsetActivePinia(pinia);\n\t\t\t\tconst store = pinia._s.get(id);\n\t\t\t\treturn getters[name].call(store, store);\n\t\t\t}));\n\t\t\treturn computedGetters;\n\t\t}, {}));\n\t}\n\tstore = createSetupStore(id, setup, options, pinia, hot, true);\n\treturn store;\n}\nfunction createSetupStore($id, setup, options = {}, pinia, hot, isOptionsStore) {\n\tlet scope;\n\tconst optionsForPlugin = assign({ actions: {} }, options);\n\t/* istanbul ignore if */\n\tif (process.env.NODE_ENV !== \"production\" && !pinia._e.active) throw new Error(\"Pinia destroyed\");\n\tconst $subscribeOptions = { deep: true };\n\t/* istanbul ignore else */\n\tif (process.env.NODE_ENV !== \"production\") $subscribeOptions.onTrigger = (event) => {\n\t\t/* istanbul ignore else */\n\t\tif (isListening) debuggerEvents = event;\n\t\telse if (isListening === false && !store._hotUpdating) {\n\t\t\t/* istanbul ignore else */\n\t\t\tif (Array.isArray(debuggerEvents)) debuggerEvents.push(event);\n\t\t\telse console.error(\"🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.\");\n\t\t}\n\t};\n\tlet isListening;\n\tlet isSyncListening;\n\tlet subscriptions = /* @__PURE__ */ new Set();\n\tlet actionSubscriptions = /* @__PURE__ */ new Set();\n\tlet debuggerEvents;\n\tconst initialState = pinia.state.value[$id];\n\tif (!isOptionsStore && !initialState && (!(process.env.NODE_ENV !== \"production\") || !hot))\n /* istanbul ignore if */\n\tpinia.state.value[$id] = {};\n\tconst hotState = /*#__PURE__*/ ref({});\n\tlet activeListener;\n\tfunction $patch(partialStateOrMutator) {\n\t\tlet subscriptionMutation;\n\t\tisListening = isSyncListening = false;\n\t\t/* istanbul ignore else */\n\t\tif (process.env.NODE_ENV !== \"production\") debuggerEvents = [];\n\t\tif (typeof partialStateOrMutator === \"function\") {\n\t\t\tpartialStateOrMutator(pinia.state.value[$id]);\n\t\t\tsubscriptionMutation = {\n\t\t\t\ttype: \"patch function\",\n\t\t\t\tstoreId: $id,\n\t\t\t\tevents: debuggerEvents\n\t\t\t};\n\t\t} else {\n\t\t\tmergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator);\n\t\t\tsubscriptionMutation = {\n\t\t\t\ttype: \"patch object\",\n\t\t\t\tpayload: partialStateOrMutator,\n\t\t\t\tstoreId: $id,\n\t\t\t\tevents: debuggerEvents\n\t\t\t};\n\t\t}\n\t\tconst myListenerId = activeListener = Symbol();\n\t\tnextTick().then(() => {\n\t\t\tif (activeListener === myListenerId) isListening = true;\n\t\t});\n\t\tisSyncListening = true;\n\t\ttriggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]);\n\t}\n\tconst $reset = isOptionsStore ? function $reset() {\n\t\tconst { state } = options;\n\t\tconst newState = state ? state() : {};\n\t\tthis.$patch(($state) => {\n\t\t\tassign($state, newState);\n\t\t});\n\t} : process.env.NODE_ENV !== \"production\" ? () => {\n\t\tthrow new Error(`🍍: Store \"${$id}\" is built using the setup syntax and does not implement $reset().`);\n\t} : noop;\n\tfunction $dispose() {\n\t\tscope.stop();\n\t\tsubscriptions.clear();\n\t\tactionSubscriptions.clear();\n\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\tconst registeredStore = pinia._s.get($id);\n\t\t\tif (registeredStore && registeredStore !== store) diagnostics.PINIA_R1008({ id: $id });\n\t\t}\n\t\tpinia._s.delete($id);\n\t}\n\t/**\n\t* Helper that wraps function so it can be tracked with $onAction\n\t* @param fn - action to wrap\n\t* @param name - name of the action\n\t*/\n\tconst action = (fn, name = \"\") => {\n\t\tif (ACTION_MARKER in fn) {\n\t\t\tfn[ACTION_NAME] = name;\n\t\t\treturn fn;\n\t\t}\n\t\tconst wrappedAction = function() {\n\t\t\tsetActivePinia(pinia);\n\t\t\tconst args = Array.from(arguments);\n\t\t\tconst afterCallbackSet = /* @__PURE__ */ new Set();\n\t\t\tconst onErrorCallbackSet = /* @__PURE__ */ new Set();\n\t\t\tfunction after(callback) {\n\t\t\t\tafterCallbackSet.add(callback);\n\t\t\t}\n\t\t\tfunction onError(callback) {\n\t\t\t\tonErrorCallbackSet.add(callback);\n\t\t\t}\n\t\t\ttriggerSubscriptions(actionSubscriptions, {\n\t\t\t\targs,\n\t\t\t\tname: wrappedAction[ACTION_NAME],\n\t\t\t\tstore,\n\t\t\t\tafter,\n\t\t\t\tonError\n\t\t\t});\n\t\t\tlet ret;\n\t\t\ttry {\n\t\t\t\tret = fn.apply(this && this.$id === $id ? this : store, args);\n\t\t\t} catch (error) {\n\t\t\t\ttriggerSubscriptions(onErrorCallbackSet, error);\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tif (ret instanceof Promise) return ret.then((value) => {\n\t\t\t\ttriggerSubscriptions(afterCallbackSet, value);\n\t\t\t\treturn value;\n\t\t\t}).catch((error) => {\n\t\t\t\ttriggerSubscriptions(onErrorCallbackSet, error);\n\t\t\t\treturn Promise.reject(error);\n\t\t\t});\n\t\t\ttriggerSubscriptions(afterCallbackSet, ret);\n\t\t\treturn ret;\n\t\t};\n\t\twrappedAction[ACTION_MARKER] = true;\n\t\twrappedAction[ACTION_NAME] = name;\n\t\treturn wrappedAction;\n\t};\n\tconst _hmrPayload = /*#__PURE__*/ markRaw({\n\t\tactions: {},\n\t\tgetters: {},\n\t\tstate: [],\n\t\tstateKeys: {},\n\t\thotState\n\t});\n\tconst partialStore = {\n\t\t_p: pinia,\n\t\t$id,\n\t\t$onAction: addSubscription.bind(null, actionSubscriptions),\n\t\t$patch,\n\t\t$reset,\n\t\t$subscribe(callback, options = {}) {\n\t\t\tif (subscriptions.has(callback)) {\n\t\t\t\tif (process.env.NODE_ENV !== \"production\") diagnostics.PINIA_R1007({ id: $id });\n\t\t\t\treturn noop;\n\t\t\t}\n\t\t\tconst removeSubscription = addSubscription(subscriptions, callback, options.detached, () => stopWatcher());\n\t\t\tconst stopWatcher = scope.run(() => watch(() => pinia.state.value[$id], (state) => {\n\t\t\t\tif (options.flush === \"sync\" ? isSyncListening : isListening) callback({\n\t\t\t\t\tstoreId: $id,\n\t\t\t\t\ttype: \"direct\",\n\t\t\t\t\tevents: debuggerEvents\n\t\t\t\t}, state);\n\t\t\t}, assign({}, $subscribeOptions, options)));\n\t\t\treturn removeSubscription;\n\t\t},\n\t\t$dispose\n\t};\n\tconst store = reactive(process.env.NODE_ENV !== \"production\" || (process.env.NODE_ENV !== \"production\" || typeof __VUE_PROD_DEVTOOLS__ !== \"undefined\" && __VUE_PROD_DEVTOOLS__) && !(process.env.NODE_ENV === \"test\") && IS_CLIENT ? assign({\n\t\t_hmrPayload,\n\t\t_customProperties: markRaw(/* @__PURE__ */ new Set())\n\t}, partialStore) : partialStore);\n\tpinia._s.set($id, store);\n\tconst setupStore = (pinia._a && pinia._a.runWithContext || fallbackRunWithContext)(() => pinia._e.run(() => (scope = effectScope()).run(() => setup({ action }))));\n\tfor (const key in setupStore) {\n\t\tconst prop = setupStore[key];\n\t\tif (isRef(prop) && !isComputed(prop) || isReactive(prop)) {\n\t\t\tif (process.env.NODE_ENV !== \"production\" && hot) hotState.value[key] = toRef(setupStore, key);\n\t\t\telse if (!isOptionsStore) {\n\t\t\t\tif (initialState && shouldHydrate(prop)) {\n\t\t\t\t\tif (isRef(prop)) prop.value = initialState[key];\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (prop instanceof Set || prop instanceof Map) prop.clear();\n\t\t\t\t\t\tmergeReactiveObjects(prop, initialState[key]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpinia.state.value[$id][key] = prop;\n\t\t\t}\n\t\t\t/* istanbul ignore else */\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\t_hmrPayload.state.push(key);\n\t\t\t\tconst stateValue = isRef(prop) ? prop.value : prop;\n\t\t\t\tif (isPlainObject(stateValue) && !(isRef(prop) && isShallow(prop))) _hmrPayload.stateKeys[key] = Object.keys(stateValue);\n\t\t\t}\n\t\t} else if (typeof prop === \"function\") {\n\t\t\tsetupStore[key] = process.env.NODE_ENV !== \"production\" && hot ? prop : action(prop, key);\n\t\t\t/* istanbul ignore else */\n\t\t\tif (process.env.NODE_ENV !== \"production\") _hmrPayload.actions[key] = prop;\n\t\t\toptionsForPlugin.actions[key] = prop;\n\t\t} else if (process.env.NODE_ENV !== \"production\") {\n\t\t\tif (isComputed(prop)) {\n\t\t\t\t_hmrPayload.getters[key] = isOptionsStore ? options.getters[key] : prop;\n\t\t\t\tif (IS_CLIENT) (setupStore._getters || (setupStore._getters = markRaw([]))).push(key);\n\t\t\t}\n\t\t}\n\t}\n\t/* istanbul ignore if */\n\tassign(store, setupStore);\n\tassign(toRaw(store), setupStore);\n\tObject.defineProperty(store, \"$state\", {\n\t\tget: () => process.env.NODE_ENV !== \"production\" && hot ? hotState.value : pinia.state.value[$id],\n\t\tset: (state) => {\n\t\t\t/* istanbul ignore if */\n\t\t\tif (process.env.NODE_ENV !== \"production\" && hot) throw new Error(\"cannot set hotState\");\n\t\t\t$patch(($state) => {\n\t\t\t\tassign($state, state);\n\t\t\t});\n\t\t}\n\t});\n\t/* istanbul ignore else */\n\tif (process.env.NODE_ENV !== \"production\") store._hotUpdate = markRaw((newStore) => {\n\t\tstore._hotUpdating = true;\n\t\tnewStore._hmrPayload.state.forEach((stateKey) => {\n\t\t\tif (stateKey in store.$state) {\n\t\t\t\tconst newStateTarget = newStore.$state[stateKey];\n\t\t\t\tconst oldStateSource = store.$state[stateKey];\n\t\t\t\tconst newStoreProperty = toRaw(newStore)[stateKey];\n\t\t\t\tif (!(isRef(newStoreProperty) && isShallow(newStoreProperty))) {\n\t\t\t\t\tif (Object.hasOwn(newStore._hmrPayload.stateKeys, stateKey) && typeof newStateTarget === \"object\" && isPlainObject(newStateTarget) && isPlainObject(oldStateSource)) {\n\t\t\t\t\t\tif (isShallow(newStoreProperty)) {\n\t\t\t\t\t\t\tfor (const key in oldStateSource) if (Object.hasOwn(oldStateSource, key) && key in newStateTarget) newStateTarget[key] = oldStateSource[key];\n\t\t\t\t\t\t\ttriggerRef(newStoreProperty);\n\t\t\t\t\t\t} else patchObject(newStateTarget, oldStateSource);\n\t\t\t\t\t\tconst oldStateKeys = store._hmrPayload.stateKeys[stateKey];\n\t\t\t\t\t\tif (oldStateKeys) {\n\t\t\t\t\t\t\tfor (const key in oldStateSource) if (Object.hasOwn(oldStateSource, key) && !oldStateKeys.includes(key)) newStateTarget[key] = oldStateSource[key];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (isShallow(newStoreProperty)) triggerRef(newStoreProperty);\n\t\t\t\t\t} else newStore.$state[stateKey] = oldStateSource;\n\t\t\t\t}\n\t\t\t}\n\t\t\tstore[stateKey] = toRef(newStore.$state, stateKey);\n\t\t});\n\t\tObject.keys(store.$state).forEach((stateKey) => {\n\t\t\tif (!(stateKey in newStore.$state)) delete store[stateKey];\n\t\t});\n\t\tisListening = false;\n\t\tisSyncListening = false;\n\t\tpinia.state.value[$id] = toRef(newStore._hmrPayload, \"hotState\");\n\t\tisSyncListening = true;\n\t\tnextTick().then(() => {\n\t\t\tisListening = true;\n\t\t});\n\t\tfor (const actionName in newStore._hmrPayload.actions) {\n\t\t\tconst actionFn = newStore[actionName];\n\t\t\tstore[actionName] = action(actionFn, actionName);\n\t\t}\n\t\tfor (const getterName in newStore._hmrPayload.getters) {\n\t\t\tconst getter = newStore._hmrPayload.getters[getterName];\n\t\t\tconst getterValue = isOptionsStore ? computed(() => {\n\t\t\t\tsetActivePinia(pinia);\n\t\t\t\treturn getter.call(store, store);\n\t\t\t}) : getter;\n\t\t\tstore[getterName] = getterValue;\n\t\t}\n\t\tObject.keys(store._hmrPayload.getters).forEach((key) => {\n\t\t\tif (!(key in newStore._hmrPayload.getters)) delete store[key];\n\t\t});\n\t\tObject.keys(store._hmrPayload.actions).forEach((key) => {\n\t\t\tif (!(key in newStore._hmrPayload.actions)) delete store[key];\n\t\t});\n\t\tstore._hmrPayload = newStore._hmrPayload;\n\t\tstore._getters = newStore._getters;\n\t\tstore._hotUpdating = false;\n\t});\n\tif ((process.env.NODE_ENV !== \"production\" || typeof __VUE_PROD_DEVTOOLS__ !== \"undefined\" && __VUE_PROD_DEVTOOLS__) && !(process.env.NODE_ENV === \"test\") && IS_CLIENT) {\n\t\tconst nonEnumerable = {\n\t\t\twritable: true,\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false\n\t\t};\n\t\t[\n\t\t\t\"_p\",\n\t\t\t\"_hmrPayload\",\n\t\t\t\"_getters\",\n\t\t\t\"_customProperties\"\n\t\t].forEach((p) => {\n\t\t\tObject.defineProperty(store, p, assign({ value: store[p] }, nonEnumerable));\n\t\t});\n\t}\n\tpinia._p.forEach((extender) => {\n\t\tconst extensions = scope.run(() => extender({\n\t\t\tstore,\n\t\t\tapp: pinia._a,\n\t\t\tpinia,\n\t\t\toptions: optionsForPlugin\n\t\t}));\n\t\t/* istanbul ignore else */\n\t\tif ((process.env.NODE_ENV !== \"production\" || typeof __VUE_PROD_DEVTOOLS__ !== \"undefined\" && __VUE_PROD_DEVTOOLS__) && !(process.env.NODE_ENV === \"test\") && IS_CLIENT) Object.keys(extensions || {}).forEach((key) => store._customProperties.add(key));\n\t\tif (process.env.NODE_ENV !== \"production\") for (const key in extensions) {\n\t\t\tconst value = extensions[key];\n\t\t\tif (typeof value === \"object\" && !isRef(value) && !isReactive(value) && !value?.__v_skip) diagnostics.PINIA_R1006({\n\t\t\t\tkey,\n\t\t\t\tid: $id\n\t\t\t});\n\t\t}\n\t\tassign(store, extensions);\n\t});\n\tif (process.env.NODE_ENV !== \"production\" && store.$state && typeof store.$state === \"object\" && typeof store.$state.constructor === \"function\" && !store.$state.constructor.toString().includes(\"[native code]\")) diagnostics.PINIA_R1003({ id: store.$id });\n\tif (initialState && isOptionsStore && options.hydrate) options.hydrate(store.$state, initialState);\n\tisListening = true;\n\tisSyncListening = true;\n\treturn store;\n}\n/*! #__NO_SIDE_EFFECTS__ */\nfunction defineStore(id, setup, setupOptions) {\n\tlet options;\n\tconst isSetupStore = typeof setup === \"function\";\n\toptions = isSetupStore ? setupOptions : setup;\n\tfunction useStore(pinia, hot) {\n\t\tconst hasContext = hasInjectionContext();\n\t\tpinia = (process.env.NODE_ENV === \"test\" && activePinia && activePinia._testing ? null : pinia) || (hasContext ? inject(piniaSymbol, null) : null);\n\t\tif (pinia) setActivePinia(pinia);\n\t\tif (process.env.NODE_ENV !== \"production\" && !activePinia) throw new Error(\"[🍍]: \\\"getActivePinia()\\\" was called but there was no active Pinia. Are you trying to use a store before calling \\\"app.use(pinia)\\\"?\\nSee https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.\\nThis will fail in production.\");\n\t\tpinia = activePinia;\n\t\tif (!pinia._s.has(id)) {\n\t\t\tif (isSetupStore) createSetupStore(id, setup, options, pinia);\n\t\t\telse createOptionsStore(id, options, pinia);\n\t\t\t/* istanbul ignore else */\n\t\t\tif (process.env.NODE_ENV !== \"production\") useStore._pinia = pinia;\n\t\t}\n\t\tconst store = pinia._s.get(id);\n\t\tif (process.env.NODE_ENV !== \"production\" && hot) {\n\t\t\tconst hotId = \"__hot:\" + id;\n\t\t\tconst newStore = isSetupStore ? createSetupStore(hotId, setup, options, pinia, true) : createOptionsStore(hotId, assign({}, options), pinia, true);\n\t\t\thot._hotUpdate(newStore);\n\t\t\tdelete pinia.state.value[hotId];\n\t\t\tpinia._s.delete(hotId);\n\t\t}\n\t\tif (process.env.NODE_ENV !== \"production\" && IS_CLIENT) {\n\t\t\tconst currentInstance = getCurrentInstance();\n\t\t\tif (currentInstance && currentInstance.proxy && !hot) {\n\t\t\t\tconst vm = currentInstance.proxy;\n\t\t\t\tconst cache = \"_pStores\" in vm ? vm._pStores : vm._pStores = {};\n\t\t\t\tcache[id] = store;\n\t\t\t}\n\t\t}\n\t\treturn store;\n\t}\n\tuseStore.$id = id;\n\treturn useStore;\n}\n//#endregion\n//#region src/mapHelpers.ts\nlet mapStoreSuffix = \"Store\";\n/**\n* Changes the suffix added by `mapStores()`. Can be set to an empty string.\n* Defaults to `\"Store\"`. Make sure to extend the MapStoresCustomization\n* interface if you are using TypeScript.\n*\n* @param suffix - new suffix\n*/\nfunction setMapStoreSuffix(suffix) {\n\tmapStoreSuffix = suffix;\n}\n/**\n* Allows using stores without the composition API (`setup()`) by generating an\n* object to be spread in the `computed` field of a component. It accepts a list\n* of store definitions.\n*\n* @example\n* ```js\n* export default {\n* computed: {\n* // other computed properties\n* ...mapStores(useUserStore, useCartStore)\n* },\n*\n* created() {\n* this.userStore // store with id \"user\"\n* this.cartStore // store with id \"cart\"\n* }\n* }\n* ```\n*\n* @param stores - list of stores to map to an object\n*/\nfunction mapStores(...stores) {\n\tif (process.env.NODE_ENV !== \"production\" && Array.isArray(stores[0])) {\n\t\tdiagnostics.PINIA_R1001();\n\t\tstores = stores[0];\n\t}\n\treturn stores.reduce((reduced, useStore) => {\n\t\treduced[useStore.$id + mapStoreSuffix] = function() {\n\t\t\treturn useStore(this.$pinia);\n\t\t};\n\t\treturn reduced;\n\t}, {});\n}\n/**\n* Allows using state and getters from one store without using the composition\n* API (`setup()`) by generating an object to be spread in the `computed` field\n* of a component.\n*\n* @param useStore - store to map from\n* @param keysOrMapper - array or object\n*/\nfunction mapState(useStore, keysOrMapper) {\n\treturn Array.isArray(keysOrMapper) ? keysOrMapper.reduce((reduced, key) => {\n\t\treduced[key] = function() {\n\t\t\treturn useStore(this.$pinia)[key];\n\t\t};\n\t\treturn reduced;\n\t}, {}) : Object.keys(keysOrMapper).reduce((reduced, key) => {\n\t\treduced[key] = function() {\n\t\t\tconst store = useStore(this.$pinia);\n\t\t\tconst storeKey = keysOrMapper[key];\n\t\t\treturn typeof storeKey === \"function\" ? storeKey.call(this, store) : store[storeKey];\n\t\t};\n\t\treturn reduced;\n\t}, {});\n}\n/**\n* Alias for `mapState()`. You should use `mapState()` instead.\n* @deprecated use `mapState()` instead.\n*/\nconst mapGetters = mapState;\n/**\n* Allows directly using actions from your store without using the composition\n* API (`setup()`) by generating an object to be spread in the `methods` field\n* of a component.\n*\n* @param useStore - store to map from\n* @param keysOrMapper - array or object\n*/\nfunction mapActions(useStore, keysOrMapper) {\n\treturn Array.isArray(keysOrMapper) ? keysOrMapper.reduce((reduced, key) => {\n\t\treduced[key] = function(...args) {\n\t\t\treturn useStore(this.$pinia)[key](...args);\n\t\t};\n\t\treturn reduced;\n\t}, {}) : Object.keys(keysOrMapper).reduce((reduced, key) => {\n\t\treduced[key] = function(...args) {\n\t\t\treturn useStore(this.$pinia)[keysOrMapper[key]](...args);\n\t\t};\n\t\treturn reduced;\n\t}, {});\n}\n/**\n* Allows using state and getters from one store without using the composition\n* API (`setup()`) by generating an object to be spread in the `computed` field\n* of a component.\n*\n* @param useStore - store to map from\n* @param keysOrMapper - array or object\n*/\nfunction mapWritableState(useStore, keysOrMapper) {\n\treturn Array.isArray(keysOrMapper) ? keysOrMapper.reduce((reduced, key) => {\n\t\treduced[key] = {\n\t\t\tget() {\n\t\t\t\treturn useStore(this.$pinia)[key];\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\treturn useStore(this.$pinia)[key] = value;\n\t\t\t}\n\t\t};\n\t\treturn reduced;\n\t}, {}) : Object.keys(keysOrMapper).reduce((reduced, key) => {\n\t\treduced[key] = {\n\t\t\tget() {\n\t\t\t\treturn useStore(this.$pinia)[keysOrMapper[key]];\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\treturn useStore(this.$pinia)[keysOrMapper[key]] = value;\n\t\t\t}\n\t\t};\n\t\treturn reduced;\n\t}, {});\n}\n//#endregion\n//#region src/storeToRefs.ts\n/**\n* Creates an object of references with all the state, getters, and plugin-added\n* state properties of the store. Similar to `toRefs()` but specifically\n* designed for Pinia stores so methods and non reactive properties are\n* completely ignored.\n*\n* @param store - store to extract the refs from\n*/\nfunction storeToRefs(store) {\n\tconst rawStore = toRaw(store);\n\tconst refs = {};\n\tfor (const key in rawStore) {\n\t\tconst value = rawStore[key];\n\t\tif (value?.effect) refs[key] = computed({\n\t\t\tget: () => store[key],\n\t\t\tset(value) {\n\t\t\t\tstore[key] = value;\n\t\t\t}\n\t\t});\n\t\telse if (isRef(value) || isReactive(value)) refs[key] = toRef(store, key);\n\t}\n\treturn refs;\n}\n//#endregion\nexport { MutationType, acceptHMRUpdate, createPinia, defineStore, disposePinia, getActivePinia, getStores, mapActions, mapGetters, mapState, mapStores, mapWritableState, piniaSymbol, setActivePinia, setMapStoreSuffix, shouldHydrate, skipHydrate, storeToRefs };\n","/*\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\n/**\n * Fetch the recommended files of the current user\n *\n * @param {boolean} always Return recommendations even if the user disabled them\n */\nexport function fetchRecommendedFiles(always) {\n\tconst url = generateOcsUrl('apps/recommendations/api/v1/recommendations' + (always ? '/always' : ''))\n\n\treturn Axios.get(url)\n\t\t.then((resp) => resp.data.ocs.data)\n}\n","import axios from '@nextcloud/axios'\n/*\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { generateUrl } from '@nextcloud/router'\nimport { createPinia, defineStore, setActivePinia } from 'pinia'\nimport { fetchRecommendedFiles } from '../service/RecommendationService.js'\n\nsetActivePinia(createPinia())\n\nexport const useRecommendationsStore = defineStore('recommendations', {\n\tstate: () => ({\n\t\tenabled: true,\n\t\tloadedRecommendations: false,\n\t\tloading: false,\n\t\trecommendedFiles: [],\n\t}),\n\tactions: {\n\t\t/**\n\t\t * Toggle the recommendations and fetch recommended files if required\n\t\t *\n\t\t * @async\n\t\t * @param {boolean} enabled recommendations status\n\t\t */\n\t\tasync setEnabled(enabled) {\n\t\t\tthis.enabled = enabled\n\t\t\tawait axios.put(generateUrl('apps/recommendations/settings/enabled'), {\n\t\t\t\tvalue: enabled.toString(),\n\t\t\t})\n\t\t\tif (enabled) {\n\t\t\t\tthis.fetchRecommendations()\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Fetch recommendations and current enabled setting\n\t\t *\n\t\t * @async\n\t\t * @param {boolean} [always] set to true to always get recommendations regardless of enabled setting\n\t\t */\n\t\tasync fetchRecommendations(always) {\n\t\t\tif (this.loadedRecommendations || this.loading) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.loading = true\n\t\t\tconst fetched = await fetchRecommendedFiles(always)\n\n\t\t\tthis.enabled = fetched.enabled\n\t\t\tif (fetched.recommendations) {\n\t\t\t\tthis.recommendedFiles = fetched.recommendations\n\t\t\t\tthis.loadedRecommendations = true\n\t\t\t}\n\t\t\tthis.loading = false\n\t\t},\n\t},\n})\n"],"names":["global","makeMap","str","map","key","val","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","isModelListener","extend","remove","arr","el","i","hasOwnProperty","hasOwn","isArray","isMap","toTypeString","isSet","isDate","isFunction","isString","isSymbol","isObject","isPromise","objectToString","value","toRawType","isPlainObject","isIntegerKey","isReservedProp","cacheStringFunction","fn","cache","camelizeRE","camelize","c","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","oldValue","invokeArrayFns","fns","arg","def","obj","writable","looseToNumber","n","_globalThis","getGlobalThis","normalizeStyle","res","item","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","ret","match","tmp","normalizeClass","name","normalizeProps","props","klass","style","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","a","b","seen","equal","looseEqual","looseCompareCollections","candidates","matched","index","looseCompareObjects","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","looseCompareNested","compare","seenA","seenB","isRef","toDisplayString","replacer","_key","entries","val2","stringifySymbol","v","_a","normalizeCssVarValue","activeEffectScope","EffectScope","detached","l","scopes","effects","currentEffectScope","current","fromParent","last","effectScope","getCurrentScope","onScopeDispose","failSilently","activeSub","pausedQueueEffects","ReactiveEffect","batch","cleanupEffect","prepareDeps","prevEffect","prevShouldTrack","shouldTrack","cleanupDeps","link","removeSub","isDirty","batchDepth","batchedSub","batchedComputed","sub","isComputed","startBatch","endBatch","e","next","error","err","head","tail","prev","removeDep","refreshComputed","computed","globalVersion","dep","prevSub","soft","nextSub","prevDep","nextDep","trackStack","pauseTracking","resetTracking","cleanup","Link","Dep","debugInfo","addSub","currentTail","targetMap","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ARRAY_ITERATE_KEY","track","target","type","depsMap","trigger","newValue","oldTarget","run","targetIsArray","isArrayIndex","newLength","key2","getDepFromReactive","object","depMap","reactiveReadArray","array","raw","isShallow","isReadonly","isReactive","toReadonly","toReactive","shallowReadArray","toRaw","toWrapped","arrayInstrumentations","iterator","args","x","thisArg","apply","searchProxy","separator","noTracking","reduce","comparer","self","method","wrapValue","methodFn","iter","wrapped","wrapResult","arrayProto","result","wrappedRetFn","needsWrap","result2","wrappedFn","wrapInitialAccumulator","acc","isNonTrackableKeys","builtInSymbols","BaseReactiveHandler","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","readonly","MutableReactiveHandler","isArrayWithIntegerKey","isOldValueReadonly","hadKey","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","shallowReadonlyHandlers","toShallow","getProto","createIterableMethod","rawTarget","targetIsMap","isPair","isKeyOnly","innerIterator","wrap","done","createReadonlyMethod","createInstrumentations","shallow","instrumentations","rawKey","has","callback","observed","proto","rawValue","valueToAdd","get","hadItems","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","shallowReadonlyCollectionHandlers","targetTypeMap","rawType","reactive","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","isProxy","markRaw","r","ref","createRef","shallowRef","RefImpl","useDirectValue","triggerRef","ref2","unref","toValue","source","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","factory","set","newVal","customRef","toRefs","propertyToRef","ObjectRefImpl","_object","_defaultValue","nestedRef","GetterRefImpl","_getter","toRef","defaultValue","ComputedRefImpl","setter","isSSR","getterOrOptions","debugOptions","getter","INITIAL_WATCHER_VALUE","cleanupMap","activeWatcher","onWatcherCleanup","cleanupFn","owner","cleanups","watch","cb","options","immediate","deep","once","scheduler","augmentJob","call","reactiveGetter","source2","traverse","effect","boundCleanup","forceTrigger","isMultiSource","s","currentEffect","baseGetter","depth","scope","watchHandle","_cb","job","immediateFirstRun","currentWatcher","cleanup2","callWithErrorHandling","instance","handleError","callWithAsyncErrorHandling","values","throwInDev","contextVNode","errorHandler","throwUnhandledErrorInProduction","cur","exposedInstance","errorInfo","errorCapturedHooks","logError","throwInProd","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","nextTick","p","findInsertionIndex","id","start","end","middle","middleJob","middleJobId","getId","queueJob","jobId","lastJob","queueFlush","flushJobs","queuePostFlushCb","flushPreFlushCbs","minUid","flushPostFlushCbs","skip","cbs","kept","deduped","isFlushing","flushOnAppMount","queued","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","pushScopeId","popScopeId","withScopeId","_id","withCtx","ctx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","prevStackSize","blockStack","closeBlock","withDirectives","vnode","directives","getComponentPublicInstance","bindings","dir","modifiers","invokeDirectiveHook","prevVNode","oldBindings","binding","hook","provide","currentInstance","provides","parentProvides","inject","treatDefaultAsFactory","getCurrentInstance","currentApp","hasInjectionContext","ssrContextKey","useSSRContext","watchEffect","doWatch","watchSyncEffect","flush","baseWatchOptions","runsImmediately","ssrCleanup","isInSSRComponentSetup","watchStopHandle","isPre","queuePostRenderEffect","isFirstRun","watch$1","instanceWatch","publicThis","createPathGetter","reset","setCurrentInstance","path","segments","TeleportEndKey","isTeleport","leaveCbKey","findNonCommentChild","children","child","Comment","getInnerChild$1","isKeepAlive","shapeFlag","setTransitionHooks","hooks","subTree","Fragment","filterSingleRoot","getTransitionRoot","defineComponent","extraOptions","markAsyncBoundary","useTemplateRef","refs","isTemplateRefKey","desc","pendingSetRefMap","setRef","rawRef","oldRawRef","parentSuspense","isUnmount","isAsyncWrapper","refValue","oldRef","setupState","rawSetupState","canSetSetupRef","canSetRef","invalidatePendingSetRef","oldRawRefAtom","_isString","_isRef","doSet","existing","pendingSetRef","isComment","node","forEachElement","defineAsyncComponent","loader","loadingComponent","errorComponent","delay","hydrateStrategy","timeout","suspensible","userOnError","pendingRequest","resolvedComp","retries","retry","load","thisRequest","resolve","reject","comp","hydrate","wasConnected","patched","performHydrate","doHydrate","teardown","createInnerComp","onError","createVNode","loaded","delayed","timeoutTimer","delayTimer","onUnmounted","parent","ce","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","prepend","createHook","lifecycle","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","COMPONENTS","DIRECTIVES","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","resolveDynamicComponent","component","resolveDirective","warnMissing","Component","selfName","getComponentName","registry","renderList","renderItem","cached","sourceIsArray","sourceIsReactiveArray","isReadonlySource","keys","createSlots","slots","dynamicSlots","slot","j","renderSlot","fallback","noSlotted","branchKey","slotProps","hasProps","openBlock","createBlock","rendered","validSlotContent","ensureValidVNode","slotKey","vnodes","isVNode","toHandlers","preserveCaseIfNecessary","getPublicInstance","isStatefulComponent","publicPropertiesMap","resolveMergedOptions","hasSetupBinding","state","PublicInstanceProxyHandlers","data","accessCache","appContext","shouldCacheAccess","publicGetter","cssModule","globalProperties","cssModules","descriptor","normalizePropsOrEmits","mergeModels","applyOptions","callHook","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","render","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","inheritAttrs","components","filters","resolveInjections","methodHandler","opt","createWatcher","registerLifecycleHook","register","_hook","exposed","checkDuplicateProperties","normalizeInject","h","handler","base","mixins","extendsOptions","globalMixins","optionMergeStrategies","resolved","m","mergeOptions","to","from","strats","asMixin","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","uid$1","createAppAPI","rootComponent","rootProps","context","installedPlugins","pluginCleanupFns","isMounted","app","version","plugin","mixin","directive","rootContainer","isHydrate","namespace","lastApp","useModel","camelizedName","hyphenatedName","getModelModifiers","localValue","prevSetValue","prevEmittedValue","propValue","emittedValue","rawProps","hasVModel","i2","modelName","emit","event","rawArgs","handlerName","onceHandler","mixinEmitsCache","normalizeEmitsOptions","hasExtends","extendEmits","raw2","normalizedFromExtend","isEmitListener","renderComponentRoot","withProxy","propsOptions","attrs","renderCache","fallthroughAttrs","proxyToUse","thisProxy","normalizeVNode","render2","getFunctionalFallthrough","root","filterModelListeners","cloneVNode","recurse","singleRoot","shouldUpdateComponent","nextVNode","optimized","prevProps","prevChildren","nextProps","nextChildren","patchFlag","emits","hasPropsChanged","dynamicProps","hasPropValueChanged","emitsOptions","nextKeys","nextProp","prevProp","updateHOCHostEl","suspense","internalObjectProto","createInternalObject","isInternalObject","initProps","isStateful","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","propsToUpdate","camelizedKey","resolvePropValue","kebabKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","propsDefaults","mixinPropsCache","normalizePropsOptions","extendProps","normalizedKey","validatePropName","prop","propType","shouldCast","shouldCastTrue","typeName","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","assignSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","queueEffectWithSuspense","createRenderer","baseCreateRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","patch","n1","n2","container","anchor","parentComponent","slotScopeIds","isSameVNodeType","getNextHostNode","unmount","Text","processText","processCommentNode","Static","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","nextSibling","removeStaticNode","mountElement","customElement","patchElement","vnodeHook","transition","dirs","mountChildren","resolveChildrenNamespace","setScopeId","invokeVNodeHook","needCallTransitionHooks","needTransition","scopeId","isSuspense","parentVNode","cloneIfMounted","dynamicChildren","oldProps","newProps","toggleRecurse","patchBlockChildren","patchChildren","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","oldEl","resolveAsyncComponentPlaceholder","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","mountComponent","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","placeholder","updateComponentPreRender","componentUpdateFn","bu","u","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","update","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","scopedInitialVNode","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","unmountChildren","oldLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","anchorVNode","move","moveType","leave","delayLeave","afterLeave","remove2","performLeave","wasLeaving","doRemove","cacheIndex","memo","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","shouldInvalidateMemo","isFragment","removeFragment","leavingNode","performRemove","leavingEl","bum","um","invalidateMount","teleportEnd","getNextUid","currentNamespace","allowed","ch1","ch2","len","arrI","subComponent","anchorVnode","currentBlock","disableTracking","isBlockTreeEnabled","inVOnce","setupBlock","createElementBlock","createBaseVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","extraProps","mergeRef","cloneTransition","mergedProps","mergeProps","createTextVNode","text","flag","createCommentVNode","asBlock","slotFlag","toMerge","incoming","emptyAppContext","uid","internalSetCurrentInstance","setInSSRSetupState","g","registerGlobalSetter","setters","unsetCurrentInstance","setupResult","setupStatefulComponent","setup","setupContext","createSetupContext","isAsyncSetup","resolvedResult","handleSetupResult","finishComponentSetup","skipOptions","attrsProxyHandlers","includeInferred","computed$1","propsOrChildren","policy","tt","unsafeToTrustedHTML","svgNS","mathmlNS","doc","templateContainer","nodeOps","tag","is","selector","content","before","template","wrapper","vtcKey","patchClass","isSVG","transitionClasses","vShowOriginalDisplay","vShowHidden","CSS_VAR_TEXT","useCssVars","updateTeleports","vars","setVarsOnNode","setVars","setVarsOnVNode","ob","displayRE","patchStyle","isCssString","hasControlledDisplay","prevStyle","setStyle","shouldPreserveTextareaResizeStyle","cssVarText","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","isBoolean","patchDOMProp","attrName","needRemove","addEventListener","removeEventListener","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","optionsModifierEventRE","cachedNow","getNow","initialValue","originalStop","handlers","isNativeOn","patchProp","shouldSetAsProp","shouldSetAsPropForVueCE","camelize$1","systemModifiers","modifierGuards","withModifiers","cacheKey","guard","keyNames","withKeys","eventKey","k","rendererOptions","renderer","ensureRenderer","createApp","mount","containerOrSelector","normalizeContainer","resolveRootNamespace","generateOcsUrl","url","params","allOptions","ensureBaseUrlInNonDomEnvironment","getBaseUrl","_generateUrlPath","_build","generateUrl","baseOrRootURL","getRootUrl","ensureDomEnvironment","webroot","pos","generateAvatarUrl","user","size","guestUrl","themeUrl","query","queryString","_arrayLikeToArray","_arrayWithHoles","_iterableToArrayLimit","t","f","o","_nonIterableRest","_slicedToArray","_unsupportedIterableToArray","setPrototypeOf","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","create","_ref","construct","func","_len","Func","_len2","_key2","arrayForEach","unapply","arrayLastIndexOf","arrayPop","arrayPush","arraySlice","arraySplice","arrayIsArray","setCreate","unconstruct","setAdd","setHas","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","numberToString","booleanToString","bigintToString","symbolToString","objectHasOwnProperty","regExpTest","typeErrorCreate","_len3","_key3","_len4","_key4","addToSet","transformCaseFunc","element","lcElement","cleanArray","clone","newObject","_ref2","_ref3","property","stringifyValue","valueAsRecord","valueToString","lookupGetter","stringified","fallbackValue","lookupAccessor","isRegex","html$1","svg$1","svgFilters","svgDisallowed","mathMl$1","mathMlDisallowed","html","svg","mathMl","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","ELEMENT_MARKUP_PROBE","COMMENT_MARKUP_PROBE","FALLBACK_TAG_CLOSE","SELF_CLOSING_TAG","NODE_TYPE","LITERAL_TEXT_ELEMENTS","getGlobal","_createTrustedTypesPolicy","trustedTypes","purifyHostElement","suffix","ATTR_NAME","policyName","scriptUrl","_createHooksMap","_resolveSetOption","cfg","_resolveObjectOption","makeFallback","createDOMPurify","window","DOMPurify","document","originalDocument","currentScript","HTMLTemplateElement","Node","Element","NodeFilter","DOMParser","ElementPrototype","cloneNode","removeAttributeNode","getNextSibling","getChildNodes","getParentNode","getShadowRoot","getAttributes","getNodeType","getNodeName","getOwnerDocument","_readNodeType","_readNodeName","getNamespaceURI","_readNamespaceURI","trustedTypesPolicy","emptyHTML","defaultTrustedTypesPolicy","defaultTrustedTypesPolicyResolved","IN_TRUSTED_TYPES_POLICY","_assertNotInTrustedTypesPolicy","_createTrustedHTML","_createTrustedScriptURL","_getDefaultTrustedTypesPolicy","_document","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","MUSTACHE_EXPR$1","ERB_EXPR$1","TMPLIT_EXPR$1","DATA_ATTR$1","ARIA_ATTR$1","IS_SCRIPT_OR_DATA$1","ATTR_WHITESPACE$1","CUSTOM_ELEMENT$1","IS_ALLOWED_URI$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","FORBID_TAGS","FORBID_ATTR","EXTRA_ELEMENT_HANDLING","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","SET_CONFIG_ALLOWED_TAGS","SET_CONFIG_ALLOWED_ATTR","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","SANITIZE_NAMED_PROPS_PREFIX","KEEP_CONTENT","IN_PLACE","IN_PLACE_VISITED","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","DEFAULT_MATHML_TEXT_INTEGRATION_POINTS","MATHML_TEXT_INTEGRATION_POINTS","DEFAULT_HTML_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","DEFAULT_PARSER_MEDIA_TYPE","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","customElementHandling","previousTrustedTypesPolicy","ALL_SVG_TAGS","ALL_MATHML_TAGS","_checkSvgNamespace","tagName","parentTagName","_checkMathMlNamespace","_checkHtmlNamespace","_checkValidNamespace","elementNamespace","parentNode","_forceRemove","_stripAttributeNode","attribute","_neutralizeRoot","_neutralizeSubtree","childNodes","attributes","_removeAttribute","attr","_stripDisallowedAttributes","_walkTree","visit","intoShadow","stack","shadowRoot","_isDocumentFragment","_collectLiveNodes","nodes","_neutralizeEscapedElements","reachable","_neutralizeDiscarded","rootRemoved","entry","MAX_UNVISITED_ROUNDS","_sanitizeUnvisitedNodes","visited","original","getOriginal","beforeNode","round","live","containers","pending","_sanitizeUnvisitedIn","inShadow","_createNodeIterator","_executeHooks","_sanitizeElements","_sanitizeAttributes","_sanitizeShadowDOM2","_markVisited","_isPatchLinkageAttribute","lcName","lcTag","_neutralizePatchLinkage","nodeType","_initDocument","dirty","leadingWhitespace","matches","dirtyPayload","body","_stripTemplateExpressions","_scrubTemplateExpressions2","_node$querySelectorAl","_scrubOwnCharacterData","templates","tmpl","walker","currentNode","_isClobbered","realTagName","_isNode","_isUnsafeNode","_matchesNameCheck","check","_sanitizeDisallowedNode","_isBasicCustomElement","childCount","hoisted","_forkSharedAllowlist","hookList","defaultSet","setConfigSet","_handleHookDetachedNode","removed","_isValidAttribute","nameIsPermitted","RESERVED_CUSTOM_ELEMENT_NAMES","_applyTrustedTypesToAttribute","namespaceURI","_setAttributeValue","_isUnsafeAttributeValue","hookEvent","attrValue","initValue","recreatedNamedProp","fragment","shadowNode","shadowIterator","innerSr","_sanitizeAttachedShadowRoots","isElement","rootName","sr","importedNode","returnNode","inPlace","inPlaceNodes","outerVisited","nn","walkRoot","nodeIterator","serializedHTML","entryPoint","hookFunction","purify_default","matchHtmlRegExp","escapeHtml_1","escapeHtml","string","escape","lastIndex","getLocale","getCanonicalLocale","getLanguage","isRTL","language","languageCode","getAppTranslations","appId","number","translate","placeholdersOrNumber","optionsOrNumber","identity","optSanitize","optEscape","escapeHTML","isValidReplacement","text2","vars2","number2","replacement","translation","translatePlural","textSingular","textPlural","identifier","bundle","plural","getPlural","formatRelativeTime","timestamp","opts","date","formatter","seconds","minutes","hours","days","weeks","months","format","_export_sfc","sfc","GettextWrapper","pluralFunction","dict","msgid","msgidPlural","msgstr","placeholders","singular","count","GettextBuilder","getGettextBuilder","gettext","chunks","chunk","translations","decompressed","t2","t3","t4","t11","t12","t24","t26","t27","t38","t55","getDefaultExportFromCjs","browser","process","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","runClearTimeout","marker","draining","currentQueue","queueIndex","cleanUpNextTick","drainQueue","Item","noop","browserExports","process$1","debug_1","define_process_env_default","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_INTEGER","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","constants","require$$0","debug","require$$1","exports","module","re","safeRe","src","safeSrc","R","LETTERDASHNUMBER","safeRegexReplacements","makeSafeRegex","token","max","createToken","isGlobal","safe","looseOption","emptyOpts","parseOptions_1","numeric","compareIdentifiers","anum","bnum","identifiers","require$$2","parseOptions","require$$3","require$$4","isPrereleaseIdentifier","prerelease","SemVer","num","other","release","identifierBase","prereleaseBase","semver","major_1","loose","parse_1","throwErrors","er","parse","valid_1","ProxyBus","bus2","valid","major","SimpleBus","bus","getBus","subscribe","unsubscribe","ScopedStorage","persistent","StorageBuilder","persist","clear","getBuilder","_subscribeToTokenUpdates","getRequestToken","setRequestToken","fetchRequestToken","response","onRequestTokenUpdate","observer","_internal","currentUser","getAttribute","getCurrentUser","bind","toString","toStringTag","isUnsafeObjectKey","isPrototypeBoundary","prototype","isSafeAndFullyMutable","hasOwnInPrototypeChain","thing","getSafeProp","toSafeFlatObject","sourcePrototype","kindOf","kindOfTest","typeOfTest","isUndefined","isBuffer","isArrayBuffer","isArrayBufferView","isNumber","isEmptyObject","isFile","isReactNativeBlob","isReactNative","formData","isBlob","isFileList","isStream","G","FormDataCtor","isFormData","kind","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","trim","forEach","allOwnKeys","findKey","_global","isContextDefined","merge","objs","caseless","skipUndefined","lowerCaseKeys","assignValue","targetKey","lowerKey","knownKey","symbols","symbol","propertyIsEnumerable","stripBOM","inherits","constructor","superConstructor","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","endsWith","searchString","position","toArray","indexes","isTypedArray","TypedArray","forEachEntry","_iterator","pair","matchAll","regExp","isHTMLForm","toCamelCase","p1","p2","isRegExp","reduceDescriptors","reducer","reducedDescriptors","freezeMethods","toObjectSet","arrayOrString","delimiter","define","toFiniteNumber","isSpecCompliantForm","toJSONObject","reducedValue","isAsyncFn","isThenable","_setImmediate","setImmediateSupported","postMessageSupported","callbacks","asap","isIterable","isSafeIterable","utils$1","ignoreDuplicateOf","utils","parseHeaders","rawHeaders","parsed","line","hasKey","trimSPorHTAB","code","INVALID_UNICODE_HEADER_VALUE_CHARS","INVALID_BYTE_STRING_HEADER_VALUE_CHARS","sanitizeValue","invalidChars","sanitizeHeaderValue","sanitizeByteStringHeaderValue","toByteStringHeaderObject","headers","byteStringHeaders","header","$internals","normalizeHeader","normalizeValue","parseTokens","tokens","tokensRE","parameterNameRE","trimOWS","decodeQuotedString","decoded","parseParameters","parameters","quoted","escaped","parseParameter","part","equals","normalizedName","parameterValue","isValidHeaderName","PROTO_HEADER_SLOT","headerSlot","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders$1","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","dest","parser","matcher","deleted","deleteHeader","targets","asStrings","first","accessors","defineAccessor","AxiosHeaders","mapped","headerValue","REDACTED","hasOwnOrPrototypeToJSON","redactConfig","config","redactKeys","lowerKeys","stringifySafely","aggregateErrorMessage","CAUSED_BY_SEPARATOR","$causeStack","getCauseStackIndex","causeStack","appendCauseStack","sourceStack","targetStack","AxiosError","request","customProps","message","axiosError","serializedConfig","httpAdapter","DEFAULT_FORM_DATA_MAX_DEPTH","isVisitable","removeBrackets","renderKey","dots","isFlatArray","predicates","toFormData","option","metaTokens","visitor","defaultVisitor","_Blob","maxDepth","useBlob","convertValue","throwIfMaxDepthExceeded","stringifyWithDepthLimit","ancestors","currentValue","exposedHelpers","build","encode","charMap","AxiosURLSearchParams","encoder","_encode","buildURL","_options","serializeFn","serializedParams","hashmarkIndex","countHandlers","trimHandlers","normalizeHandlerId","syncHandlerEntries","manager","length","InterceptorManager","fulfilled","rejected","handlerId","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","platform$1","URLSearchParams","FormData","Blob","hasBrowserEnv","_navigator","hasStandardBrowserEnv","hasStandardBrowserWebWorkerEnv","origin","platform","toURLEncodedForm","helpers","MAX_DEPTH","throwIfDepthExceeded","parsePropPath","pattern","arrayToObject","normalizeArray","normalizeArrays","formDataToJSON","buildPath","isNumericKey","isLast","methodList","own","defaults","contentType","hasJSONContentType","isObjectPayload","formSerializer","env","_FormData","transitional","forcedJSONParsing","responseType","JSONRequested","strictJSONParsing","status","transformData","isCancel","settle","validateStatus","urlParserControlCharacters","normalizeURLForProtocolCheck","parseProtocol","decodeCookieValue","cookies","expires","domain","secure","sameSite","cookie","cookieString","eq","store","speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","throttle","freq","threshold","lastArgs","timer","invoke","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","rawLoaded","total","progressBytes","rate","progressEventDecorator","throttled","lengthComputable","asyncDecorator","isURLSameOrigin","isAbsoluteURL","combineURLs","baseURL","relativeURL","malformedHttpProtocol","redactFragment","parameterName","redactSensitiveURLParts","redactedURL","fragmentIndex","redactedURLWithoutFragment","assertValidHttpProtocolURL","normalizedURL","buildFullPath","requestedURL","allowAbsoluteUrls","isRelativeUrl","assertParamsAcyclic","active","headersToObject","ownEnumerableKeys","mergeParams","copies","empty","copy","bases","baseKeys","sourceKeys","hasSource","previous","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","getMergedTransitionalOption","config1","config2","transitional2","transitional1","mergeDirectKeys","mergeHeaders","hasOwnPropertyDescriptor","mergeMap","mergeConfig","configValue","FORM_DATA_CONTENT_HEADERS","setFormDataHeaders","formHeaders","encodeUTF8","_","hex","readCookie","resolveConfig","readXsrfCookie","newConfig","withXSRFToken","xsrfHeaderName","xsrfCookieName","auth","username","password","encodeUsername","getHeaders","xsrfValue","isXHRAdapterSupported","xhrAdapter","useAsyncXsrf","_config","requestData","requestHeaders","onUploadProgress","onDownloadProgress","onCanceled","timeoutId","uploadThrottled","downloadThrottled","flushUpload","flushDownload","flushDownloadWithEvent","onloadend","responseHeaders","msg","timeoutErrorMessage","cancel","CanceledError","xhr","protocol","sendRequest","deadline","abortOnTimeout","scheduleTimeout","remaining","headerName","composeSignals","signals","controller","aborted","onabort","reason","signal","unsubscribeSignal","streamChunk","chunkSize","readBytes","iterable","readStream","stream","reader","trackStream","onProgress","onFinish","_onFinish","loadedBytes","CRLF","normalizeLines","escapeName","stringBytes","normalize","FormDataError","formDataToBlob","form","limit","limitError","boundary","footer","parts","checkLength","extra","valueLength","partLength","blobParts","createMultipartBody","crypto","random","isHexDigit","charCode","isPercentEncodedByte","hexValue","isBase64Char","isBase64Whitespace","base64Bytes","significant","groups","remainder","estimateBase64BufferAllocation","padding","estimatePercentDecodedBase64Bytes","invalid","estimateDataURLBytes","estimateBase64","base64Pattern","comma","meta","estimateDataURLDecodedBytes","VERSION","DEFAULT_CHUNK_SIZE","DEFAULT_REQUEST_OPTIONS","decodeURIComponentSafe","test","maybeWithAuthCredentials","protocolIndex","urlToCheck","globalObject","ReadableStream","TextEncoder","envFetch","Request","Response","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","supportsRequestStream","duplexAccessed","hasContentType","supportsResponseStream","requestDefaults","resolvers","getBodyLength","resolveBodyLength","cancelToken","withCredentials","fetchOptions","maxContentLength","maxBodyLength","maxRedirects","hasMaxContentLength","hasMaxBodyLength","_fetch","composedSignal","requestContentLength","pendingBodyError","pendingResponseError","maxBodyLengthError","configAuth","parsedURL","urlUsername","urlPassword","formContentType","formBoundary","outboundLength","mustEnforceStreamBody","trackRequestStream","_request","contentTypeHeader","isCredentialsSupported","safeFetchOptions","resolvedOptions","declaredLength","isStreamResponse","responseContentLength","bytesRead","onChunkProgress","responseData","materializedSize","canceledError","networkError","seedCache","getFetch","configuredEnv","fetch","seeds","seed","knownAdapters","fetchAdapter.getFetch","renderReason","isResolvedHandle","adapter","getAdapter","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","elapsedSince","dispatchRequest","validators","deprecatedWarnings","validator","formatMessage","correctSpelling","assertOptions","schema","allowUnknown","isHeadersBucket","Axios$1","instanceConfig","configOrUrl","dummy","dummyStack","firstNewlineIndex","secondNewlineIndex","duplicateCheckSuffix","currentStack","causeIndex","stackHead","causeSection","paramsSerializer","commonHeaders","methodHeaders","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","onFulfilled","onRejected","rejectedResult","rejectedError","fullPath","Axios","generateHTTPMethod","isForm","CancelToken$1","CancelToken","executor","resolvePromise","onfulfilled","_resolve","abort","spread","isAxiosError","payload","HttpStatusCode","createInstance","defaultConfig","axios","promises","all","Cancel","formToJSON","getCancelableClient","client","RETRY_KEY","onCsrfTokenError","responseURL","RETRY_DELAY_KEY","onMaintenanceModeError","retryDelay","onNotLoggedInError","cancelableClient","createElementId","LogLevel","LogLevel2","ConsoleLogger","level","buildConsoleLogger","LoggerBuilder","onLoaded","getLoggerBuilder","FEW_SECONDS_AGO","useFormatRelativeTime","relativeTime2","ignoreSeconds","relativeTime","updateRelativeTime","timestamp2","diff","interval","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_sfc_main","__props","_ctx","iconSize","cleanSvg","svgDocument","_cache","createElementVNode","NcIconSvgWrapper","_hoisted_5","colors","colors2","NcLoadingIcon","join","nonEmptyArgs","lastArg","leadingSlash","trailingSlash","sections","section","_createElementBlock","_mergeProps","$props","$event","_openBlock","_createElementVNode","formattedTime","previewUrl","nameWithoutExtension","isFolder","description","img","navigate","fileid","_createBlock","FolderIcon","_Fragment","_toDisplayString","_hoisted_6","_hoisted_7","_unref","_hoisted_8","activePinia","setActivePinia","pinia","piniaSymbol","createPinia","_p","toBeInstalled","addSubscription","subscriptions","onCleanup","removeSubscription","triggerSubscriptions","fallbackRunWithContext","ACTION_MARKER","ACTION_NAME","mergeReactiveObjects","patchToApply","subPatch","targetValue","targetRef","skipHydrateSymbol","shouldHydrate","assign","createOptionsStore","hot","actions","getters","initialState","localState","computedGetters","createSetupStore","$id","isOptionsStore","optionsForPlugin","$subscribeOptions","isListening","isSyncListening","actionSubscriptions","debuggerEvents","activeListener","$patch","partialStateOrMutator","subscriptionMutation","myListenerId","$reset","newState","$state","$dispose","action","wrappedAction","afterCallbackSet","onErrorCallbackSet","after","partialStore","stopWatcher","setupStore","extender","extensions","defineStore","setupOptions","isSetupStore","useStore","hasContext","storeToRefs","rawStore","fetchRecommendedFiles","always","resp","useRecommendationsStore","enabled","fetched"],"mappings":"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lB,IAAW,MAAM,CACvB,MAAM4S,EAAOsoB,GAAyBl7B,EAAQ0lB,CAAI,EAClD,GAAI9S,EAAM,OAAOA,EAAK,IAAMkpB,GAAQlpB,EAAK,GAAG,EAAI,KAChD5S,EAASi7B,GAAej7B,CAAM,CAC/B,CACA,OAAO,IACR,CACA,SAAS2+B,GAAQvoC,EAAO,CACvB,GAAI,CACH,OAAAgnC,GAAWhnC,EAAO,EAAE,EACb,EACR,MAAkB,CACjB,MAAO,EACR,CACD,CACA,MAAMwoC,GAASzD,GAAO,CACrB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,SACA,OACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KACD,CAAC,EACK0D,GAAQ1D,GAAO,CACpB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,eACA,cACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,YACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OACD,CAAC,EACK2D,GAAa3D,GAAO,CACzB,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cACD,CAAC,EACK4D,GAAgB5D,GAAO,CAC5B,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KACD,CAAC,EACK6D,GAAW7D,GAAO,CACvB,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aACD,CAAC,EACK8D,GAAmB9D,GAAO,CAC/B,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MACD,CAAC,EACKxJ,GAAOwJ,GAAO,CAAC,OAAO,CAAC,EACvB+D,GAAO/D,GAAO,CACnB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,UACA,aACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,cACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,QACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,OACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,OACD,CAAC,EACKgE,GAAMhE,GAAO,CAClB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,oBACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,YACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,iBACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,mBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,gBACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YACD,CAAC,EACKiE,GAASjE,GAAO,CACrB,SACA,cACA,QACA,WACA,QACA,cACA,cACA,gBACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,S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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,99]} \ No newline at end of file diff --git a/js/store-CbAhoamf.chunk.mjs.map.license b/js/store-CbAhoamf.chunk.mjs.map.license new file mode 120000 index 00000000..0457169b --- /dev/null +++ b/js/store-CbAhoamf.chunk.mjs.map.license @@ -0,0 +1 @@ +store-CbAhoamf.chunk.mjs.license \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 18c2f8ec..728a6108 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,14 +18,14 @@ "lodash": "^4.18.1", "pinia": "^4.1.0", "vue": "^3.5.44", - "vue-material-design-icons": "^5.3.1" + "vue-material-design-icons": "^5.4.0" }, "devDependencies": { "@nextcloud/browserslist-config": "^3.1.2", "@nextcloud/eslint-config": "^9.0.1", "@nextcloud/stylelint-config": "^3.2.2", "@nextcloud/vite-config": "^2.5.4", - "sass": "^1.104.1", + "sass": "^1.106.1", "vite": "^7.3.7" }, "engines": { @@ -9378,9 +9378,9 @@ } }, "node_modules/sass": { - "version": "1.104.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.104.1.tgz", - "integrity": "sha512-yDA+1aIG3EHgN4V/BvuhCvu61FF6hEd4e+9DxikUm9U0CAGuvdIZ/UYy7qbOxjhbbWQraoyLlMuzdRGOSV5Bmw==", + "version": "1.106.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.106.1.tgz", + "integrity": "sha512-kD+Gi66vycZcbJt+42NC4z4PXNMcCajVrJPhqoKKXy5cOBMmJQt052CxIBcRjwYXeImHYOpu/ydWWGZQIenl7A==", "devOptional": true, "license": "MIT", "dependencies": { @@ -11630,9 +11630,9 @@ } }, "node_modules/vue-material-design-icons": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/vue-material-design-icons/-/vue-material-design-icons-5.3.1.tgz", - "integrity": "sha512-6UNEyhlTzlCeT8ZeX5WbpUGFTTPSbOoTQeoASTv7X4Ylh0pe8vltj+36VMK56KM0gG8EQVoMK/Qw/6evalg8lA==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/vue-material-design-icons/-/vue-material-design-icons-5.4.0.tgz", + "integrity": "sha512-NqKTWn+4cnWDiD2P6xeKqaLg1iGajl0VVUcMbcv5aDRoXFPu70hqN55sBSrGKatkeP5M1aDZ/YCiCgBkr9qh1A==", "license": "MIT" }, "node_modules/vue-resize": { diff --git a/package.json b/package.json index 3f1ff3ed..f3b361cd 100644 --- a/package.json +++ b/package.json @@ -34,14 +34,14 @@ "lodash": "^4.18.1", "pinia": "^4.1.0", "vue": "^3.5.44", - "vue-material-design-icons": "^5.3.1" + "vue-material-design-icons": "^5.4.0" }, "devDependencies": { "@nextcloud/browserslist-config": "^3.1.2", "@nextcloud/eslint-config": "^9.0.1", "@nextcloud/stylelint-config": "^3.2.2", "@nextcloud/vite-config": "^2.5.4", - "sass": "^1.104.1", + "sass": "^1.106.1", "vite": "^7.3.7" }, "engines": { diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 1a7abbf8..376c9bf6 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -4,7 +4,7 @@ - SPDX-License-Identifier: AGPL-3.0-or-later --> diff --git a/src/components/DashboardWidget.vue b/src/components/DashboardWidget.vue index 08aa351e..b26262ed 100644 --- a/src/components/DashboardWidget.vue +++ b/src/components/DashboardWidget.vue @@ -46,7 +46,7 @@ const recommendedFiles = computed(() => store.recommendedFiles.slice(0, 7)) :deep(.recommendation) { max-width: 100%; padding: 8px; - margin-right: 0; + margin-inline-end: 0; border-radius: var(--border-radius-large); .thumbnail { @@ -65,6 +65,7 @@ const recommendedFiles = computed(() => store.recommendedFiles.slice(0, 7)) } } } + #recommendations--empty-content { text-align: center; margin-top: 5vh; diff --git a/src/components/RecommendedFile.vue b/src/components/RecommendedFile.vue index 5f57e2f9..d033b868 100644 --- a/src/components/RecommendedFile.vue +++ b/src/components/RecommendedFile.vue @@ -163,7 +163,7 @@ function navigate() { flex-grow: 1; min-width: 250px; padding: 5px; - margin-right: 12px; + margin-inline-end: 12px; border-radius: var(--border-radius); &:hover, @@ -177,7 +177,7 @@ function navigate() { } .thumbnail { - margin-right: 9px; + margin-inline-end: 9px; width: 32px; height: 32px; background-size: contain; diff --git a/tests/Unit/Service/RecentlyEditedFilesSourceTest.php b/tests/Unit/Service/RecentlyEditedFilesSourceTest.php index 1bfe6348..39ee2454 100644 --- a/tests/Unit/Service/RecentlyEditedFilesSourceTest.php +++ b/tests/Unit/Service/RecentlyEditedFilesSourceTest.php @@ -17,6 +17,7 @@ use OCP\Files\Node; use OCP\Files\StorageNotAvailableException; use OCP\IUser; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Psr\Container\ContainerInterface; @@ -290,9 +291,7 @@ public function testLoopStopsWhenFewerItemsThanMaxAreAvailable(): void { $this->assertSame(1, $callCount, 'getRecent should only be called once when the batch is smaller than max'); } - /** - * @dataProvider hiddenPathProvider - */ + #[DataProvider('hiddenPathProvider')] public function testIsNodeHiddenDetectsHiddenComponents(string $path, bool $expectedHidden): void { $this->setShowHidden(false); diff --git a/vendor-bin/openapi-extractor/composer.json b/vendor-bin/openapi-extractor/composer.json index 8b52ffa4..5a2b9554 100644 --- a/vendor-bin/openapi-extractor/composer.json +++ b/vendor-bin/openapi-extractor/composer.json @@ -5,6 +5,6 @@ } }, "require-dev": { - "nextcloud/openapi-extractor": "^1.8.7" + "nextcloud/openapi-extractor": "^1.9.1" } } diff --git a/vendor-bin/openapi-extractor/composer.lock b/vendor-bin/openapi-extractor/composer.lock index 12cbf12c..6a03d12b 100644 --- a/vendor-bin/openapi-extractor/composer.lock +++ b/vendor-bin/openapi-extractor/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "0d820f50a5bae502924ccafe4ba07f20", + "content-hash": "cae1075073283e02a704b1d8758a78db", "packages": [], "packages-dev": [ { @@ -82,16 +82,16 @@ }, { "name": "nextcloud/openapi-extractor", - "version": "v1.8.7", + "version": "v1.9.1", "source": { "type": "git", "url": "https://github.com/nextcloud-releases/openapi-extractor.git", - "reference": "230f61925c362779652b0038a1314ce5f931e853" + "reference": "5a97989bd4f9b46fb6a5d0dc2d8e84c94c6ccc5a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nextcloud-releases/openapi-extractor/zipball/230f61925c362779652b0038a1314ce5f931e853", - "reference": "230f61925c362779652b0038a1314ce5f931e853", + "url": "https://api.github.com/repos/nextcloud-releases/openapi-extractor/zipball/5a97989bd4f9b46fb6a5d0dc2d8e84c94c6ccc5a", + "reference": "5a97989bd4f9b46fb6a5d0dc2d8e84c94c6ccc5a", "shasum": "" }, "require": { @@ -123,9 +123,9 @@ "description": "A tool for extracting OpenAPI specifications from Nextcloud source code", "support": { "issues": "https://github.com/nextcloud-releases/openapi-extractor/issues", - "source": "https://github.com/nextcloud-releases/openapi-extractor/tree/v1.8.7" + "source": "https://github.com/nextcloud-releases/openapi-extractor/tree/v1.9.1" }, - "time": "2025-12-02T09:52:06+00:00" + "time": "2026-09-02T10:33:47+00:00" }, { "name": "nikic/php-parser", diff --git a/vendor-bin/phpunit/composer.json b/vendor-bin/phpunit/composer.json index 90a47140..4b12a187 100644 --- a/vendor-bin/phpunit/composer.json +++ b/vendor-bin/phpunit/composer.json @@ -6,6 +6,6 @@ "sort-packages": true }, "require-dev": { - "phpunit/phpunit": "^10.5.64" + "phpunit/phpunit": "^11.5" } } diff --git a/vendor-bin/phpunit/composer.lock b/vendor-bin/phpunit/composer.lock index d849d7bc..a28f632f 100644 --- a/vendor-bin/phpunit/composer.lock +++ b/vendor-bin/phpunit/composer.lock @@ -4,25 +4,25 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "1a99286b47472fa4bbff615ad5e78a4c", + "content-hash": "43780a3c77cdd143acf00e34f8ac4b1c", "packages": [], "packages-dev": [ { "name": "myclabs/deep-copy", - "version": "1.13.4", + "version": "1.14.0", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" + "reference": "8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae", + "reference": "8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^8.0" }, "conflict": { "doctrine/collections": "<1.6.8", @@ -57,32 +57,31 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" + "source": "https://github.com/myclabs/DeepCopy/tree/1.14.0" }, "funding": [ { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" + "url": "https://github.com/mnapoli", + "type": "github" } ], - "time": "2025-08-01T08:46:24+00:00" + "time": "2026-08-11T10:17:44+00:00" }, { "name": "nikic/php-parser", - "version": "v5.7.0", + "version": "v5.9.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" + "reference": "9e33da9553fe7786f0962b35f4e4ecf01be89def" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", - "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/9e33da9553fe7786f0962b35f4e4ecf01be89def", + "reference": "9e33da9553fe7786f0962b35f4e4ecf01be89def", "shasum": "" }, "require": { - "ext-ctype": "*", "ext-json": "*", "ext-tokenizer": "*", "php": ">=7.4" @@ -121,9 +120,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.9.0" }, - "time": "2025-12-06T11:56:16+00:00" + "time": "2026-09-13T18:51:52+00:00" }, { "name": "phar-io/manifest", @@ -245,35 +244,35 @@ }, { "name": "phpunit/php-code-coverage", - "version": "10.1.16", + "version": "11.0.12", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "7e308268858ed6baedc8704a304727d20bc07c77" + "reference": "2c1ed04922802c15e1de5d7447b4856de949cf56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e308268858ed6baedc8704a304727d20bc07c77", - "reference": "7e308268858ed6baedc8704a304727d20bc07c77", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2c1ed04922802c15e1de5d7447b4856de949cf56", + "reference": "2c1ed04922802c15e1de5d7447b4856de949cf56", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.19.1 || ^5.1.0", - "php": ">=8.1", - "phpunit/php-file-iterator": "^4.1.0", - "phpunit/php-text-template": "^3.0.1", - "sebastian/code-unit-reverse-lookup": "^3.0.0", - "sebastian/complexity": "^3.2.0", - "sebastian/environment": "^6.1.0", - "sebastian/lines-of-code": "^2.0.2", - "sebastian/version": "^4.0.1", - "theseer/tokenizer": "^1.2.3" + "nikic/php-parser": "^5.7.0", + "php": ">=8.2", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-text-template": "^4.0.1", + "sebastian/code-unit-reverse-lookup": "^4.0.1", + "sebastian/complexity": "^4.0.1", + "sebastian/environment": "^7.2.1", + "sebastian/lines-of-code": "^3.0.1", + "sebastian/version": "^5.0.2", + "theseer/tokenizer": "^1.3.1" }, "require-dev": { - "phpunit/phpunit": "^10.1" + "phpunit/phpunit": "^11.5.46" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -282,7 +281,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.1.x-dev" + "dev-main": "11.0.x-dev" } }, "autoload": { @@ -311,40 +310,52 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.16" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.12" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-code-coverage", + "type": "tidelift" } ], - "time": "2024-08-22T04:31:57+00:00" + "time": "2025-12-24T07:01:01+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "4.1.0", + "version": "5.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" + "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/2f3a64888c814fc235386b7387dd5b5ed92ad903", + "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.1-dev" } }, "autoload": { @@ -372,36 +383,48 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-file-iterator", + "type": "tidelift" } ], - "time": "2023-08-31T06:24:48+00:00" + "time": "2026-02-02T13:52:54+00:00" }, { "name": "phpunit/php-invoker", - "version": "4.0.0", + "version": "5.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2", + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { "ext-pcntl": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-pcntl": "*" @@ -409,7 +432,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -435,7 +458,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" + "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1" }, "funding": [ { @@ -443,32 +467,32 @@ "type": "github" } ], - "time": "2023-02-03T06:56:09+00:00" + "time": "2024-07-03T05:07:44+00:00" }, { "name": "phpunit/php-text-template", - "version": "3.0.1", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964", + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -495,7 +519,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1" }, "funding": [ { @@ -503,32 +527,32 @@ "type": "github" } ], - "time": "2023-08-31T14:07:24+00:00" + "time": "2024-07-03T05:08:43+00:00" }, { "name": "phpunit/php-timer", - "version": "6.0.0", + "version": "7.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -554,7 +578,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" + "security": "https://github.com/sebastianbergmann/php-timer/security/policy", + "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1" }, "funding": [ { @@ -562,20 +587,20 @@ "type": "github" } ], - "time": "2023-02-03T06:57:52+00:00" + "time": "2024-07-03T05:09:35+00:00" }, { "name": "phpunit/phpunit", - "version": "10.5.64", + "version": "11.5.57", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "0e8c1d19cea35ad97d4887f363d07c78e30fbf06" + "reference": "36b75bf56a8535623f5b3e24b27ea1823759da1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0e8c1d19cea35ad97d4887f363d07c78e30fbf06", - "reference": "0e8c1d19cea35ad97d4887f363d07c78e30fbf06", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/36b75bf56a8535623f5b3e24b27ea1823759da1a", + "reference": "36b75bf56a8535623f5b3e24b27ea1823759da1a", "shasum": "" }, "require": { @@ -585,26 +610,27 @@ "ext-libxml": "*", "ext-mbstring": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.13.4", + "myclabs/deep-copy": "^1.14.0", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", - "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.16", - "phpunit/php-file-iterator": "^4.1.0", - "phpunit/php-invoker": "^4.0.0", - "phpunit/php-text-template": "^3.0.1", - "phpunit/php-timer": "^6.0.0", - "sebastian/cli-parser": "^2.0.1", - "sebastian/code-unit": "^2.0.0", - "sebastian/comparator": "^5.0.5", - "sebastian/diff": "^5.1.1", - "sebastian/environment": "^6.1.0", - "sebastian/exporter": "^5.1.4", - "sebastian/global-state": "^6.0.2", - "sebastian/object-enumerator": "^5.0.0", - "sebastian/recursion-context": "^5.0.1", - "sebastian/type": "^4.0.0", - "sebastian/version": "^4.0.1" + "php": ">=8.2", + "phpunit/php-code-coverage": "^11.0.12", + "phpunit/php-file-iterator": "^5.1.1", + "phpunit/php-invoker": "^5.0.1", + "phpunit/php-text-template": "^4.0.1", + "phpunit/php-timer": "^7.0.1", + "sebastian/cli-parser": "^3.0.2", + "sebastian/code-unit": "^3.0.3", + "sebastian/comparator": "^6.3.3", + "sebastian/diff": "^6.0.2", + "sebastian/environment": "^7.2.1", + "sebastian/exporter": "^6.3.2", + "sebastian/global-state": "^7.0.2", + "sebastian/object-enumerator": "^6.0.1", + "sebastian/recursion-context": "^6.0.3", + "sebastian/type": "^5.1.3", + "sebastian/version": "^5.0.2", + "staabm/side-effects-detector": "^1.0.5" }, "suggest": { "ext-soap": "To be able to generate mocks based on WSDL files" @@ -615,7 +641,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.5-dev" + "dev-main": "11.5-dev" } }, "autoload": { @@ -647,7 +673,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.64" + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.57" }, "funding": [ { @@ -655,32 +681,32 @@ "type": "other" } ], - "time": "2026-07-06T14:50:35+00:00" + "time": "2026-10-05T05:47:54+00:00" }, { "name": "sebastian/cli-parser", - "version": "2.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084" + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084", - "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180", + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -704,7 +730,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1" + "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2" }, "funding": [ { @@ -712,32 +738,32 @@ "type": "github" } ], - "time": "2024-03-02T07:12:49+00:00" + "time": "2024-07-03T04:41:36+00:00" }, { "name": "sebastian/code-unit", - "version": "2.0.0", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" + "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/54391c61e4af8078e5b276ab082b6d3c54c9ad64", + "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -760,7 +786,8 @@ "homepage": "https://github.com/sebastianbergmann/code-unit", "support": { "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" + "security": "https://github.com/sebastianbergmann/code-unit/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.3" }, "funding": [ { @@ -768,32 +795,32 @@ "type": "github" } ], - "time": "2023-02-03T06:58:43+00:00" + "time": "2025-03-19T07:56:08+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", - "version": "3.0.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" + "reference": "183a9b2632194febd219bb9246eee421dad8d45e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e", + "reference": "183a9b2632194febd219bb9246eee421dad8d45e", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -815,7 +842,8 @@ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1" }, "funding": [ { @@ -823,36 +851,39 @@ "type": "github" } ], - "time": "2023-02-03T06:59:15+00:00" + "time": "2024-07-03T04:45:54+00:00" }, { "name": "sebastian/comparator", - "version": "5.0.5", + "version": "6.3.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d" + "reference": "2c95e1e86cb8dd41beb8d502057d1081ccc8eca9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55dfef806eb7dfeb6e7a6935601fef866f8ca48d", - "reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2c95e1e86cb8dd41beb8d502057d1081ccc8eca9", + "reference": "2c95e1e86cb8dd41beb8d502057d1081ccc8eca9", "shasum": "" }, "require": { "ext-dom": "*", "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/diff": "^5.0", - "sebastian/exporter": "^5.0" + "php": ">=8.2", + "sebastian/diff": "^6.0", + "sebastian/exporter": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.5" + "phpunit/phpunit": "^11.4" + }, + "suggest": { + "ext-bcmath": "For comparing BcMath\\Number objects" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.3-dev" } }, "autoload": { @@ -892,7 +923,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.5" + "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.3" }, "funding": [ { @@ -912,33 +943,33 @@ "type": "tidelift" } ], - "time": "2026-01-24T09:25:16+00:00" + "time": "2026-01-24T09:26:40+00:00" }, { "name": "sebastian/complexity", - "version": "3.2.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "68ff824baeae169ec9f2137158ee529584553799" + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", - "reference": "68ff824baeae169ec9f2137158ee529584553799", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0", + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.2-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -962,7 +993,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0" + "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1" }, "funding": [ { @@ -970,33 +1001,33 @@ "type": "github" } ], - "time": "2023-12-21T08:37:17+00:00" + "time": "2024-07-03T04:49:50+00:00" }, { "name": "sebastian/diff", - "version": "5.1.1", + "version": "6.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544", + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0", - "symfony/process": "^6.4" + "phpunit/phpunit": "^11.0", + "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -1029,7 +1060,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" + "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2" }, "funding": [ { @@ -1037,27 +1068,27 @@ "type": "github" } ], - "time": "2024-03-02T07:15:17+00:00" + "time": "2024-07-03T04:53:05+00:00" }, { "name": "sebastian/environment", - "version": "6.1.0", + "version": "7.2.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "8074dbcd93529b357029f5cc5058fd3e43666984" + "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984", - "reference": "8074dbcd93529b357029f5cc5058fd3e43666984", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/a5c75038693ad2e8d4b6c15ba2403532647830c4", + "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.3" }, "suggest": { "ext-posix": "*" @@ -1065,7 +1096,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "6.1-dev" + "dev-main": "7.2-dev" } }, "autoload": { @@ -1093,42 +1124,54 @@ "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0" + "source": "https://github.com/sebastianbergmann/environment/tree/7.2.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/environment", + "type": "tidelift" } ], - "time": "2024-03-23T08:47:14+00:00" + "time": "2025-05-21T11:55:47+00:00" }, { "name": "sebastian/exporter", - "version": "5.1.4", + "version": "6.3.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "0735b90f4da94969541dac1da743446e276defa6" + "reference": "70a298763b40b213ec087c51c739efcaa90bcd74" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/0735b90f4da94969541dac1da743446e276defa6", - "reference": "0735b90f4da94969541dac1da743446e276defa6", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/70a298763b40b213ec087c51c739efcaa90bcd74", + "reference": "70a298763b40b213ec087c51c739efcaa90bcd74", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.5" + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.3-dev" } }, "autoload": { @@ -1171,7 +1214,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.4" + "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.2" }, "funding": [ { @@ -1191,35 +1234,35 @@ "type": "tidelift" } ], - "time": "2025-09-24T06:09:11+00:00" + "time": "2025-09-24T06:12:51+00:00" }, { "name": "sebastian/global-state", - "version": "6.0.2", + "version": "7.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9" + "reference": "3be331570a721f9a4b5917f4209773de17f747d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", - "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7", + "reference": "3be331570a721f9a4b5917f4209773de17f747d7", "shasum": "" }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -1245,7 +1288,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2" + "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2" }, "funding": [ { @@ -1253,33 +1296,33 @@ "type": "github" } ], - "time": "2024-03-02T07:19:19+00:00" + "time": "2024-07-03T04:57:36+00:00" }, { "name": "sebastian/lines-of-code", - "version": "2.0.2", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a", + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -1303,7 +1346,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1" }, "funding": [ { @@ -1311,34 +1354,34 @@ "type": "github" } ], - "time": "2023-12-21T08:38:20+00:00" + "time": "2024-07-03T04:58:38+00:00" }, { "name": "sebastian/object-enumerator", - "version": "5.0.0", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" + "reference": "f5b498e631a74204185071eb41f33f38d64608aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa", + "reference": "f5b498e631a74204185071eb41f33f38d64608aa", "shasum": "" }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -1360,7 +1403,8 @@ "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1" }, "funding": [ { @@ -1368,32 +1412,32 @@ "type": "github" } ], - "time": "2023-02-03T07:08:32+00:00" + "time": "2024-07-03T05:00:13+00:00" }, { "name": "sebastian/object-reflector", - "version": "3.0.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9", + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -1415,7 +1459,8 @@ "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1" }, "funding": [ { @@ -1423,32 +1468,32 @@ "type": "github" } ], - "time": "2023-02-03T07:06:18+00:00" + "time": "2024-07-03T05:01:32+00:00" }, { "name": "sebastian/recursion-context", - "version": "5.0.1", + "version": "6.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "47e34210757a2f37a97dcd207d032e1b01e64c7a" + "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/47e34210757a2f37a97dcd207d032e1b01e64c7a", - "reference": "47e34210757a2f37a97dcd207d032e1b01e64c7a", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/f6458abbf32a6c8174f8f26261475dc133b3d9dc", + "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.5" + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -1479,7 +1524,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.1" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.3" }, "funding": [ { @@ -1499,32 +1544,32 @@ "type": "tidelift" } ], - "time": "2025-08-10T07:50:56+00:00" + "time": "2025-08-13T04:42:22+00:00" }, { "name": "sebastian/type", - "version": "4.0.0", + "version": "5.1.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" + "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/f77d2d4e78738c98d9a68d2596fe5e8fa380f449", + "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.1-dev" } }, "autoload": { @@ -1547,37 +1592,50 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" + "security": "https://github.com/sebastianbergmann/type/security/policy", + "source": "https://github.com/sebastianbergmann/type/tree/5.1.3" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/type", + "type": "tidelift" } ], - "time": "2023-02-03T07:10:45+00:00" + "time": "2025-08-09T06:55:48+00:00" }, { "name": "sebastian/version", - "version": "4.0.1", + "version": "5.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" + "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874", + "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -1600,7 +1658,8 @@ "homepage": "https://github.com/sebastianbergmann/version", "support": { "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" + "security": "https://github.com/sebastianbergmann/version/security/policy", + "source": "https://github.com/sebastianbergmann/version/tree/5.0.2" }, "funding": [ { @@ -1608,7 +1667,59 @@ "type": "github" } ], - "time": "2023-02-07T11:34:05+00:00" + "time": "2024-10-09T05:16:32+00:00" + }, + { + "name": "staabm/side-effects-detector", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/staabm/side-effects-detector.git", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.6", + "phpunit/phpunit": "^9.6.21", + "symfony/var-dumper": "^5.4.43", + "tomasvotruba/type-coverage": "1.0.0", + "tomasvotruba/unused-public": "1.0.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "lib/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A static analysis tool to detect side effects in PHP code", + "keywords": [ + "static analysis" + ], + "support": { + "issues": "https://github.com/staabm/side-effects-detector/issues", + "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5" + }, + "funding": [ + { + "url": "https://github.com/staabm", + "type": "github" + } + ], + "time": "2024-10-20T05:08:20+00:00" }, { "name": "theseer/tokenizer", diff --git a/vendor-bin/psalm/composer.json b/vendor-bin/psalm/composer.json index 950d602b..8443995e 100644 --- a/vendor-bin/psalm/composer.json +++ b/vendor-bin/psalm/composer.json @@ -6,6 +6,6 @@ "sort-packages": true }, "require-dev": { - "vimeo/psalm": "^6.16.1" + "vimeo/psalm": "^6.20.1" } } diff --git a/vendor-bin/psalm/composer.lock b/vendor-bin/psalm/composer.lock index fff27a1c..3a4cfc66 100644 --- a/vendor-bin/psalm/composer.lock +++ b/vendor-bin/psalm/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "a9800419dcf349295cb7feff8b6cfa3c", + "content-hash": "f52a9f90cb9c7ee3d530539867c5915d", "packages": [], "packages-dev": [ { @@ -3141,16 +3141,16 @@ }, { "name": "vimeo/psalm", - "version": "6.16.1", + "version": "6.20.1", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "f1f5de594dc76faf8784e02d3dc4716c91c6f6ac" + "reference": "376425b8e67b79773add388e16b4f6be5693dc87" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/f1f5de594dc76faf8784e02d3dc4716c91c6f6ac", - "reference": "f1f5de594dc76faf8784e02d3dc4716c91c6f6ac", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/376425b8e67b79773add388e16b4f6be5693dc87", + "reference": "376425b8e67b79773add388e16b4f6be5693dc87", "shasum": "" }, "require": { @@ -3172,9 +3172,9 @@ "felixfbecker/language-server-protocol": "^1.5.3", "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1 || ^1.0.0", "netresearch/jsonmapper": "^5.0", - "nikic/php-parser": "^5.0.0", + "nikic/php-parser": "^5.2.0", "php": "~8.1.31 || ~8.2.27 || ~8.3.16 || ~8.4.3 || ~8.5.0", - "sebastian/diff": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0", + "sebastian/diff": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0", "spatie/array-to-xml": "^2.17.0 || ^3.0", "symfony/console": "^6.0 || ^7.0 || ^8.0", "symfony/filesystem": "~6.3.12 || ~6.4.3 || ^7.0.3 || ^8.0", @@ -3255,7 +3255,7 @@ "issues": "https://github.com/vimeo/psalm/issues", "source": "https://github.com/vimeo/psalm" }, - "time": "2026-03-19T10:56:09+00:00" + "time": "2026-10-20T11:18:42+00:00" }, { "name": "webmozart/assert",