diff --git "a/assets/ArtifactWorkspace-C7nTcvIL.js" "b/assets/ArtifactWorkspace-C7nTcvIL.js" new file mode 100644--- /dev/null +++ "b/assets/ArtifactWorkspace-C7nTcvIL.js" @@ -0,0 +1,158 @@ +var QN=Object.defineProperty;var Qk=n=>{throw TypeError(n)};var eL=(n,e,t)=>e in n?QN(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var re=(n,e,t)=>eL(n,typeof e!="symbol"?e+"":e,t),B0=(n,e,t)=>e.has(n)||Qk("Cannot "+t);var f=(n,e,t)=>(B0(n,e,"read from private field"),t?t.call(n):e.get(n)),R=(n,e,t)=>e.has(n)?Qk("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),C=(n,e,t,s)=>(B0(n,e,"write to private field"),s?s.call(n,t):e.set(n,t),t),T=(n,e,t)=>(B0(n,e,"access private method"),t);var ps=(n,e,t,s)=>({set _(i){C(n,e,i,t)},get _(){return f(n,e,s)}});import{g as Da,r as K,j as S,F as ee,L as jv,U as tL,Z as L_,K as rn,_ as sm,$ as Zy,X as D_,a0 as nL,m as CC,l as sL}from"./index-CnBotBa4.js";import{u as $C,P as TC,b as PC,M as iL,R as rL,W as oL,d as F_,A as aL,l as lL,K as cL,L as hL,N as uL,O as RC,Q as dL}from"./chatLaunch-CptFdc8a.js";/* empty css */import{H as Cp,a as $p,b as Tp}from"./hover-card-CkboGKdu.js";import{u as wo}from"./useQuery-C8pfCInN.js";import{f as fL,p as pL,T as mL}from"./github-D6RT7m6V.js";import{G as Xy}from"./github-DFkgF81-.js";import{c as U0}from"./catalog-mND3MerS.js";import{r as gL,a as yL,P as j_,c as vL}from"./PaperPreviewLink-ChJBLunV.js";import{M as bL,d as wL}from"./index-DxRopg3G.js";import{r as _L}from"./index-DLNxIk77.js";import{c as eA}from"./chat-B0u4w1H2.js";import{C as SL}from"./copy-0hFmISJO.js";import{F as kL}from"./file-text-BZVTM8hV.js";import{u as im}from"./useMutation-YEvFXzv3.js";import{E as MC}from"./external-link-C_QBJuYU.js";/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const tA=Da("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const z_=Da("FileCode2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m5 12-3 3 3 3",key:"oke12k"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const AL=Da("FilePlus2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M3 15h6",key:"4e2qda"}],["path",{d:"M6 12v6",key:"1u72j0"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const xL=Da("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const IC=Da("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const EL=Da("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const CL=Da("ThumbsDown",[["path",{d:"M17 14V2",key:"8ymqnk"}],["path",{d:"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z",key:"m61m77"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const $L=Da("ThumbsUp",[["path",{d:"M7 10v12",key:"1qc93n"}],["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",key:"emmmcr"}]]);function Yy({selection:n,editable:e=!1,onRemove:t}){const s=K.useId(),i=K.useRef(null),[r,o]=K.useState(!1),[a,l]=K.useState(!1),c=`Selection · Page ${n.page}`;return K.useEffect(()=>{const h=i.current;!h||r||l(h.scrollHeight>h.clientHeight+1)},[r,n.text]),S.jsxs("div",{className:`chat-paper-selection${e?" is-editable":""}`,children:[S.jsxs("div",{className:"chat-paper-selection-header",children:[S.jsx("span",{className:"chat-paper-selection-label",children:c}),S.jsxs("div",{className:"chat-paper-selection-actions",children:[(a||r)&&S.jsx("button",{type:"button",className:"chat-paper-selection-toggle","aria-expanded":r,"aria-controls":s,onClick:()=>o(h=>!h),children:r?"Collapse":"Expand"}),e&&t&&S.jsx("button",{type:"button",className:"chat-paper-selection-remove","aria-label":"Remove selected paper passage",onClick:t,children:"Remove"})]})]}),S.jsx("blockquote",{id:s,ref:i,className:`chat-paper-selection-quote${r?" is-expanded":""}`,children:n.text})]})}const TL=lL(),Dte=({onSend:n,busy:e,placeholder:t,autoFocus:s,draft:i,onDraftChange:r,onStop:o,models:a=[],selectedModel:l,onModelChange:c,disabled:h=!1,describedBy:u,paperMentionsEnabled:d=!1,paperSelectionEnabled:p=!0,webSearchAvailable:m=!1,webSearchEnabled:g=!1,onWebSearchChange:v,reasoningEffort:y="low",onReasoningEffortChange:w,paperArtifactsEnabled:_=!1})=>{const[A,k]=K.useState(TL),$=i??A,E=K.useRef(null),[O,F]=K.useState(0),U=X=>{i||k(X),r==null||r(X)},L=$C({draft:$,onChange:U,enabled:d,textareaRef:E});K.useEffect(()=>{const X=E.current;X&&(X.style.height="auto",X.style.height=`${Math.min(X.scrollHeight,200)}px`)},[$.text]),K.useEffect(()=>{var X;s&&((X=E.current)==null||X.focus())},[s]);const H=()=>{const X=$.text.length-$.text.trimStart().length,Q=$.text.trim(),se=!!$.paperSelection&&!p;if(!Q||e||h||se)return;const ve=X+Q.length,z={text:Q,paperMentions:$.paperMentions.filter(P=>P.start>=X&&P.end<=ve).map(P=>({...P,start:P.start-X,end:P.end-X})),...$.paperSelection?{paperSelection:$.paperSelection}:{}};n(z)},B=!!$.paperSelection&&!p,D=!!$.text.trim()&&!B,Y=_&&$.text==="/";return S.jsxs("div",{className:"chat-composer ph-no-capture","data-ph-no-autocapture":"true","data-ph-no-capture":"true",children:[$.paperSelection&&S.jsx(Yy,{selection:$.paperSelection,editable:!0,onRemove:()=>{var X;U({text:$.text,paperMentions:$.paperMentions}),(X=E.current)==null||X.focus()}}),B&&S.jsx("div",{className:"chat-paper-selection-disabled",role:"status",children:"Paper selection is currently disabled. Remove the selected passage or wait for the feature to recover."}),S.jsxs("div",{className:"chat-composer-textarea-wrap",children:[S.jsx(TC,{text:$.text,mentions:$.paperMentions,scrollTop:O}),S.jsx("textarea",{className:"ph-no-capture","data-ph-no-autocapture":"true","data-ph-no-capture":"true",ref:E,rows:1,value:$.text,placeholder:t||($.paperSelection?"Ask about this selection…":"Ask anything about research…"),onChange:X=>L.updateText(X.target.value,X.target.selectionStart),onSelect:X=>L.refresh(X.currentTarget.selectionStart),onClick:X=>L.refresh(X.currentTarget.selectionStart),onScroll:X=>F(X.currentTarget.scrollTop),onBlur:X=>{var Q,se;(se=(Q=X.relatedTarget)==null?void 0:Q.closest)!=null&&se.call(Q,".chat-paper-picker, .chat-slash-command")||window.setTimeout(L.close,0)},onKeyDown:X=>{L.keyDown(X)||X.key==="Enter"&&!X.shiftKey&&!X.nativeEvent.isComposing&&(X.preventDefault(),H())},role:"combobox","aria-expanded":L.open||Y,"aria-controls":L.open?L.pickerId:Y?"chat-write-paper-command":void 0,"aria-activedescendant":L.open&&L.results.length?`${L.optionIdPrefix}-${L.activeIndex}`:Y?"chat-write-paper-command":void 0,"aria-autocomplete":"list","aria-describedby":[u,L.message?"chat-paper-mention-message":null].filter(Boolean).join(" ")||void 0}),S.jsx(PC,{open:L.open,query:L.query,results:L.results,activeIndex:L.activeIndex,loading:L.loading,error:L.error,onSelect:L.select,id:L.pickerId,optionIdPrefix:L.optionIdPrefix}),Y&&S.jsxs("button",{type:"button",id:"chat-write-paper-command",className:"chat-slash-command",role:"option",onMouseDown:X=>{var Q;X.preventDefault(),U({...$,text:"/write-paper "}),(Q=E.current)==null||Q.focus()},children:[S.jsx("code",{children:"/write-paper"}),S.jsx("span",{children:"Draft a paper from this research chat"})]})]}),L.message&&S.jsx("div",{id:"chat-paper-mention-message",className:"chat-paper-mention-message",role:"alert",children:L.message}),S.jsxs("div",{className:"chat-composer-row",children:[S.jsxs("div",{className:"chat-composer-tools",children:[a.length>0&&l&&c&&S.jsx(iL,{models:a,selectedModel:l,onModelChange:c,disabled:e}),w&&S.jsx(rL,{value:y,onChange:w,disabled:e}),m&&v&&S.jsx(oL,{enabled:g,onChange:v,disabled:e}),S.jsx("span",{className:"chat-composer-hint",children:"Enter to send · Shift+Enter for newline"})]}),S.jsx("button",{type:"button",className:`chat-send${e||D?" chat-send-on":""}`,onClick:e?o:H,disabled:h||(e?!o:!D),"aria-label":e?"Stop generating":"Send message",children:e?o?S.jsx("span",{"aria-hidden":"true",children:"■"}):S.jsx(F_,{light:!0}):S.jsx(aL,{})})]})]})};function PL(){const[n,e]=K.useState(!1);return K.useEffect(()=>{const t=window.setTimeout(()=>e(!0),15e3);return()=>window.clearTimeout(t)},[]),S.jsxs("div",{className:"chat-waiting chat-compaction-status",role:"status","aria-live":"polite",children:[S.jsx("span",{className:"chat-thinking",children:"Summarizing earlier context…"}),n&&S.jsx("span",{className:"chat-compaction-explanation",children:"This conversation is long. Preserving its details may take up to a minute."})]})}const q0=new Map,OC=n=>{if(!n)return Promise.resolve();const e=q0.get(n);if(e)return e;const t=new Promise(s=>{const i=new Image;i.onload=()=>{s()},i.onerror=()=>{q0.delete(n),s()},i.src=n});return q0.set(n,t),t},RL=new Set(["huggingface.co","www.huggingface.co"]),ML=new Set(["api","blog","chat","collections","docs","enterprise","join","login","models","new","organizations","papers","posts","pricing","search","settings","spaces","tasks"]);function IL(n){let e;try{e=new URL(n)}catch{return null}if(e.protocol!=="https:"||!RL.has(e.hostname))return null;const t=e.pathname.split("/").filter(Boolean),s=t[0]==="datasets"?"dataset":"model",i=s==="dataset"?t.slice(1):t;if(i.length!==2||s==="model"&&ML.has(i[0])||i.some(c=>!c||c==="."||c===".."))return null;const r=i.join("/"),o=i.map(encodeURIComponent).join("/"),a=s==="dataset"?`datasets/${o}`:o,l=s==="dataset"?"datasets":"models";return{type:s,repoId:r,url:`https://huggingface.co/${a}`,thumbnailUrl:`https://cdn-thumbnails.huggingface.co/social-thumbnails/${l}/${o}.png`}}const OL=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches,NL=({repo:n})=>{const[e,t]=ee.useState(!1);return S.jsxs("div",{className:"hf-preview-card",children:[e?S.jsx("div",{className:"hf-preview-fallback","aria-hidden":"true",children:"🤗"}):S.jsx("img",{className:"hf-preview-image","data-testid":"hf-preview-image",src:n.thumbnailUrl,alt:"",loading:"eager",decoding:"async",onError:()=>t(!0)}),S.jsxs("div",{className:"hf-preview-meta",children:[S.jsxs("span",{className:"hf-preview-kind",children:["Hugging Face ",n.type]}),S.jsx("strong",{children:n.repoId}),S.jsx("span",{children:"huggingface.co"})]})]})},LL=({repo:n,children:e})=>{const[t,s]=ee.useState(!1),i=ee.useRef(null),r=ee.useCallback(()=>{OC(n.thumbnailUrl)},[n.thumbnailUrl]);return ee.useEffect(()=>{const o=i.current;if(!o||typeof IntersectionObserver>"u")return;const a=new IntersectionObserver(([l])=>{l.isIntersecting&&(r(),a.disconnect())},{rootMargin:"200px"});return a.observe(o),()=>a.disconnect()},[r]),S.jsxs(Cp,{open:t,onOpenChange:o=>{(!o||!OL())&&s(o)},openDelay:150,closeDelay:100,children:[S.jsx($p,{asChild:!0,children:S.jsx("a",{ref:i,className:"chat-paper-link chat-hf-link",href:n.url,target:"_blank",rel:"noopener noreferrer",onPointerEnter:r,onFocus:r,children:e})}),S.jsx(Tp,{className:"hf-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:S.jsx(NL,{repo:n})})]})},DL=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches,FL=({repo:n,preview:e,unavailable:t})=>{const[s,i]=ee.useState(!1),r=!!(e!=null&&e.avatarUrl)&&!s;return S.jsxs("div",{className:"github-preview-card",children:[r?S.jsx("img",{className:"github-preview-image","data-testid":"github-preview-image",src:e==null?void 0:e.avatarUrl,alt:"",loading:"eager",decoding:"async",onError:()=>i(!0)}):S.jsx("div",{className:"github-preview-fallback","aria-hidden":"true",children:S.jsx(Xy,{})}),S.jsxs("div",{className:"github-preview-meta",children:[S.jsx("span",{className:"github-preview-kind",children:"GitHub repository"}),S.jsx("strong",{children:n.repoId}),(e==null?void 0:e.description)&&S.jsx("span",{className:"github-preview-description",children:e.description}),e?S.jsxs("span",{className:"github-preview-stats",children:[e.language&&S.jsxs(S.Fragment,{children:[e.language," · "]}),"★ ",e.stars.toLocaleString()," · ⑂ ",e.forks.toLocaleString(),e.archived&&S.jsx(S.Fragment,{children:" · Archived"})]}):S.jsx("span",{children:t?"Preview unavailable":"Loading preview…"})]})]})},jL=({repo:n,children:e})=>{var c;const[t,s]=ee.useState(!1),[i,r]=ee.useState(!1),o=ee.useRef(null),a=ee.useCallback(()=>r(!0),[]),l=wo({queryKey:["github-repository-preview",n.repoId.toLowerCase()],queryFn:({signal:h})=>fL(n,h),enabled:t||i,staleTime:30*60*1e3,gcTime:60*60*1e3,retry:!1});return ee.useEffect(()=>{const h=o.current;if(!h||typeof IntersectionObserver>"u")return;const u=new IntersectionObserver(([d])=>{d.isIntersecting&&(a(),u.disconnect())},{rootMargin:"200px"});return u.observe(h),()=>u.disconnect()},[a]),ee.useEffect(()=>{var h;(h=l.data)!=null&&h.avatarUrl&&OC(l.data.avatarUrl)},[(c=l.data)==null?void 0:c.avatarUrl]),S.jsxs(Cp,{open:t,onOpenChange:h=>{(!h||!DL())&&s(h)},openDelay:150,closeDelay:100,children:[S.jsx($p,{asChild:!0,children:S.jsxs("a",{ref:o,className:"chat-github-link",href:n.url,target:"_blank",rel:"noopener noreferrer",onPointerEnter:a,onFocus:a,children:[S.jsx(Xy,{"aria-hidden":"true"}),e]})}),S.jsx(Tp,{className:"github-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:S.jsx(FL,{repo:n,preview:l.data,unavailable:l.isError})})]})},zL=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches;function HL(n){try{return new URL(n).hostname.replace(/^www\./,"")}catch{return"Web source"}}const BL=({citation:n})=>{const[e,t]=ee.useState(!1),[s,i]=ee.useState(!1),r=n.thumbnail_url,o=n.favicon_url;return S.jsxs("div",{className:"web-preview-card",children:[r&&!e&&S.jsx("img",{className:"web-preview-image","data-testid":"web-preview-image",src:r,alt:"",loading:"eager",decoding:"async",referrerPolicy:"no-referrer",onError:()=>t(!0)}),S.jsxs("div",{className:"web-preview-meta",children:[S.jsxs("div",{className:"web-preview-source",children:[o&&!s&&S.jsx("img",{src:o,alt:"",loading:"eager",decoding:"async",referrerPolicy:"no-referrer",onError:()=>i(!0)}),S.jsx("span",{children:HL(n.url??"")}),n.published&&S.jsxs(S.Fragment,{children:[S.jsx("span",{"aria-hidden":"true",children:"·"}),S.jsx("time",{children:n.published.slice(0,10)})]})]}),S.jsx("strong",{children:n.title}),n.excerpt&&S.jsx("p",{children:n.excerpt.replace(/\s+/g," ").trim()})]})]})},UL=({citation:n,children:e})=>{const[t,s]=ee.useState(!1),i=n.url??"";return S.jsxs(Cp,{open:t,onOpenChange:r=>{(!r||!zL())&&s(r)},openDelay:150,closeDelay:100,children:[S.jsx($p,{asChild:!0,children:S.jsx("a",{href:i,className:"chat-web-citation",target:"_blank",rel:"noopener noreferrer",children:e})}),S.jsx(Tp,{className:"web-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:S.jsx(BL,{citation:n})})]})},qL=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches,VL=n=>n==="semantic_scholar"?"Semantic Scholar":"External paper",WL=({citation:n})=>{var e,t;return S.jsxs("div",{className:"external-paper-preview-card",children:[S.jsxs("div",{className:"external-paper-preview-source",children:[S.jsx("span",{children:VL(n.provider)}),n.published&&S.jsxs(S.Fragment,{children:[S.jsx("span",{"aria-hidden":"true",children:"·"}),S.jsx("time",{children:n.published.slice(0,10)})]})]}),S.jsx("strong",{children:n.title}),(((e=n.authors)==null?void 0:e.length)??0)>0&&S.jsx("p",{className:"external-paper-preview-authors",children:(t=n.authors)==null?void 0:t.join(", ")}),n.excerpt&&S.jsx("p",{children:n.excerpt.replace(/\s+/g," ").trim()}),n.citation_count!==null&&n.citation_count!==void 0&&S.jsxs("span",{className:"external-paper-preview-citations",children:[n.citation_count.toLocaleString()," citations"]})]})},GL=({citation:n,children:e})=>{const[t,s]=ee.useState(!1);return S.jsxs(Cp,{open:t,onOpenChange:i=>{(!i||!qL())&&s(i)},openDelay:150,closeDelay:100,children:[S.jsx($p,{asChild:!0,children:S.jsx("a",{href:n.url??"",className:"chat-external-paper-citation",target:"_blank",rel:"noopener noreferrer",children:e})}),S.jsx(Tp,{className:"external-paper-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:S.jsx(WL,{citation:n})})]})},KL=/^(task|method|benchmark):([A-Za-z0-9][A-Za-z0-9._-]{0,199})$/;function ZL(n){const e=KL.exec(n);return e?{kind:e[1],slug:e[2]}:null}const NC=n=>/^(task|method|benchmark):/.test(n),XL={task:"/tasks/",method:"/methods/",benchmark:"/benchmark/"},YL={task:"Task",method:"Method",benchmark:"Benchmark"},JL={task:["paper","papers"],method:["paper","papers"],benchmark:["entry","entries"]};async function QL({kind:n,slug:e}){if(n==="task"){const s=await U0.getTask(e);return{name:s.name,description:s.description??null,imageUrl:s.image_url??null,count:s.paper_count??null,detail:null}}if(n==="method"){const s=await U0.getMethod(e);return{name:s.full_name||s.name,description:s.description??null,imageUrl:s.image_url??null,count:s.paper_count??null,detail:s.introduced_year?`Introduced ${s.introduced_year}`:null}}const t=await U0.getDatasetBySlug(e);return{name:t.full_name||t.name,description:t.description??null,imageUrl:null,count:t.paper_count??null,detail:t.introduced_year?`Introduced ${t.introduced_year}`:null}}function eD(n){return n.replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/[*_`#>]+/g,"").replace(/\s+/g," ").trim()}const tD=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches,nD=({kind:n,preview:e})=>{const[t,s]=ee.useState(!1),i=tL(e.imageUrl),r=[e.count!=null?`${e.count.toLocaleString()} ${JL[n][e.count===1?0:1]}`:null,e.detail].filter(Boolean);return S.jsxs("div",{className:"catalog-preview-card",children:[i&&!t&&S.jsx("img",{className:"catalog-preview-image","data-testid":"catalog-preview-image",src:i,alt:"",loading:"lazy",decoding:"async",onError:()=>s(!0)}),S.jsxs("div",{className:"catalog-preview-meta",children:[S.jsx("span",{className:"catalog-preview-kind",children:YL[n]}),S.jsx("strong",{children:e.name}),e.description&&S.jsx("p",{children:eD(e.description)}),r.length>0&&S.jsx("span",{className:"catalog-preview-stats",children:r.join(" · ")})]})]})},sD=({entity:n,children:e})=>{const[t,s]=ee.useState(!1),i=wo({queryKey:["chat-catalog-preview",n.kind,n.slug],queryFn:()=>QL(n),enabled:t,staleTime:10*60*1e3,gcTime:30*60*1e3,retry:!1});return S.jsxs(Cp,{open:t,onOpenChange:r=>{(!r||!tD())&&s(r)},openDelay:150,closeDelay:100,children:[S.jsx($p,{asChild:!0,children:S.jsx(jv,{className:"chat-paper-link",to:`${XL[n.kind]}${encodeURIComponent(n.slug)}`,target:"_blank",rel:"noopener noreferrer",onClick:()=>s(!1),children:e})}),S.jsx(Tp,{className:"catalog-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:i.data?S.jsx(nD,{kind:n.kind,preview:i.data}):i.isError?S.jsx("div",{className:"paper-preview-status",children:"Preview unavailable"}):S.jsx("div",{className:"paper-preview-status","aria-live":"polite",children:"Loading preview…"})})]})};function iD(n){const e=[];let t=0,s=null;for(const i of n.match(/.*(?:\n|$)/g)??[]){if(!i)continue;const r=i.endsWith(` +`)?i.slice(0,-1):i;if(s){const l=r.match(/^ {0,3}(`+|~+)[ \t]*$/);l&&l[1][0]===s.marker&&l[1].length>=s.length&&(e.push({start:s.start,end:t+i.length}),s=null),t+=i.length;continue}const o=r.match(/^ {0,3}(`{3,}|~{3,})/);if(o){s={marker:o[1][0],length:o[1].length,start:t},t+=i.length;continue}let a=0;for(;ae>=t.start&&e=0&&n[s]==="\\";s-=1)t+=1;return t%2===0}function iA(n,e,t,s){const i=[];let r=0;for(;rs.name),published:e.metadata.published,conference:e.metadata.conference,citationCount:e.metadata.citation_count,tasks:e.metadata.tasks};if(t)return{routeId:n,title:t.title,arxivId:t.arxiv_id??null,source:t.arxiv_id?"arxiv":"external",sourceUrl:t.source_url,thumbnailUrl:t.thumbnail_url??null,authors:t.authors??[],published:t.published??null,conference:t.conference??null,citationCount:t.citation_count??null,tasks:[]}}const LC=({routeId:n,paper:e,citation:t,className:s="chat-paper-link",children:i})=>S.jsx(j_,{routeId:n,initialData:oD(n,e,t),className:s,target:"_blank",children:i});function aD(n){const e=n.lastIndexOf("[");if(e===-1)return n;const t=n.slice(e);return/^\[[^\]]*(\]\(?[^)\s]*)?$/.test(t)?n.slice(0,e):n}const lD=n=>n.startsWith("paper:")||NC(n)?n:wL(n);function cD(n){try{const e=new URL(n);return e.protocol==="https:"&&(e.hostname==="github.com"||e.hostname==="www.github.com")}catch{return!1}}const zv=({text:n,streaming:e,papers:t,citations:s,webCitations:i})=>{const r=rD(e?aD(n):n);return S.jsx(bL,{remarkPlugins:[_L,yL],rehypePlugins:[gL],urlTransform:lD,components:{a:({href:o,children:a})=>{if(o!=null&&o.startsWith("paper:")){const h=o.slice(6);return!t[h]&&!(s!=null&&s[h])?S.jsx("span",{className:"chat-invalid-citation",children:a}):S.jsx(LC,{routeId:h,paper:t[h],citation:s==null?void 0:s[h],children:a})}if(o&&NC(o)){const h=ZL(o);return h?S.jsx(sD,{entity:h,children:a}):S.jsx("span",{className:"chat-invalid-citation",children:a})}const l=o?IL(o):null;if(l)return S.jsx(LL,{repo:l,children:a});const c=o?pL(o):null;return c?S.jsx(jL,{repo:c,children:a}):o&&cD(o)?S.jsxs("a",{href:o,className:"chat-github-link",target:"_blank",rel:"noopener noreferrer",children:[S.jsx(Xy,{"aria-hidden":"true"}),a]}):o!=null&&o.startsWith("https://")&&(i!=null&&i[o])?i[o].source_type==="paper"?S.jsx(GL,{citation:i[o],children:a}):S.jsx(UL,{citation:i[o],children:a}):o!=null&&o.startsWith("https://")?S.jsx("a",{href:o,className:"chat-external-link",target:"_blank",rel:"noopener noreferrer",children:a}):S.jsx("span",{children:a})}},children:r})},hD=Object.freeze({status:"aborted"});function J(n,e,t){function s(a,l){var c;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(c=a._zod).traits??(c.traits=new Set),a._zod.traits.add(n),e(a,l);for(const h in o.prototype)h in a||Object.defineProperty(a,h,{value:o.prototype[h].bind(a)});a._zod.constr=o,a._zod.def=l}const i=(t==null?void 0:t.Parent)??Object;class r extends i{}Object.defineProperty(r,"name",{value:n});function o(a){var l;const c=t!=null&&t.Parent?new r:this;s(c,a),(l=c._zod).deferred??(l.deferred=[]);for(const h of c._zod.deferred)h();return c}return Object.defineProperty(o,"init",{value:s}),Object.defineProperty(o,Symbol.hasInstance,{value:a=>{var l,c;return t!=null&&t.Parent&&a instanceof t.Parent?!0:(c=(l=a==null?void 0:a._zod)==null?void 0:l.traits)==null?void 0:c.has(n)}}),Object.defineProperty(o,"name",{value:n}),o}class Kd extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const DC={};function Ca(n){return DC}function uD(n){const e=Object.values(n).filter(s=>typeof s=="number");return Object.entries(n).filter(([s,i])=>e.indexOf(+s)===-1).map(([s,i])=>i)}function dD(n,e){return typeof e=="bigint"?e.toString():e}function H_(n){return{get value(){{const e=n();return Object.defineProperty(this,"value",{value:e}),e}}}}function B_(n){return n==null}function U_(n){const e=n.startsWith("^")?1:0,t=n.endsWith("$")?n.length-1:n.length;return n.slice(e,t)}function fD(n,e){const t=(n.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,i=t>s?t:s,r=Number.parseInt(n.toFixed(i).replace(".","")),o=Number.parseInt(e.toFixed(i).replace(".",""));return r%o/10**i}function Tt(n,e,t){Object.defineProperty(n,e,{get(){{const s=t();return n[e]=s,s}},set(s){Object.defineProperty(n,e,{value:s})},configurable:!0})}function Jy(n,e,t){Object.defineProperty(n,e,{value:t,writable:!0,enumerable:!0,configurable:!0})}function Vu(n){return JSON.stringify(n)}const FC=Error.captureStackTrace?Error.captureStackTrace:(...n)=>{};function zg(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}const pD=H_(()=>{var n;if(typeof navigator<"u"&&((n=navigator==null?void 0:navigator.userAgent)!=null&&n.includes("Cloudflare")))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Hg(n){if(zg(n)===!1)return!1;const e=n.constructor;if(e===void 0)return!0;const t=e.prototype;return!(zg(t)===!1||Object.prototype.hasOwnProperty.call(t,"isPrototypeOf")===!1)}const mD=new Set(["string","number","symbol"]);function Pp(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Tc(n,e,t){const s=new n._zod.constr(e??n._zod.def);return(!e||t!=null&&t.parent)&&(s._zod.parent=n),s}function ge(n){const e=n;if(!e)return{};if(typeof e=="string")return{error:()=>e};if((e==null?void 0:e.message)!==void 0){if((e==null?void 0:e.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function gD(n){return Object.keys(n).filter(e=>n[e]._zod.optin==="optional"&&n[e]._zod.optout==="optional")}const yD={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function vD(n,e){const t={},s=n._zod.def;for(const i in e){if(!(i in s.shape))throw new Error(`Unrecognized key: "${i}"`);e[i]&&(t[i]=s.shape[i])}return Tc(n,{...n._zod.def,shape:t,checks:[]})}function bD(n,e){const t={...n._zod.def.shape},s=n._zod.def;for(const i in e){if(!(i in s.shape))throw new Error(`Unrecognized key: "${i}"`);e[i]&&delete t[i]}return Tc(n,{...n._zod.def,shape:t,checks:[]})}function wD(n,e){if(!Hg(e))throw new Error("Invalid input to extend: expected a plain object");const t={...n._zod.def,get shape(){const s={...n._zod.def.shape,...e};return Jy(this,"shape",s),s},checks:[]};return Tc(n,t)}function _D(n,e){return Tc(n,{...n._zod.def,get shape(){const t={...n._zod.def.shape,...e._zod.def.shape};return Jy(this,"shape",t),t},catchall:e._zod.def.catchall,checks:[]})}function SD(n,e,t){const s=e._zod.def.shape,i={...s};if(t)for(const r in t){if(!(r in s))throw new Error(`Unrecognized key: "${r}"`);t[r]&&(i[r]=n?new n({type:"optional",innerType:s[r]}):s[r])}else for(const r in s)i[r]=n?new n({type:"optional",innerType:s[r]}):s[r];return Tc(e,{...e._zod.def,shape:i,checks:[]})}function kD(n,e,t){const s=e._zod.def.shape,i={...s};if(t)for(const r in t){if(!(r in i))throw new Error(`Unrecognized key: "${r}"`);t[r]&&(i[r]=new n({type:"nonoptional",innerType:s[r]}))}else for(const r in s)i[r]=new n({type:"nonoptional",innerType:s[r]});return Tc(e,{...e._zod.def,shape:i,checks:[]})}function $d(n,e=0){var t;for(let s=e;s{var s;return(s=t).path??(s.path=[]),t.path.unshift(n),t})}function rm(n){return typeof n=="string"?n:n==null?void 0:n.message}function $a(n,e,t){var i,r,o,a,l,c;const s={...n,path:n.path??[]};if(!n.message){const h=rm((o=(r=(i=n.inst)==null?void 0:i._zod.def)==null?void 0:r.error)==null?void 0:o.call(r,n))??rm((a=e==null?void 0:e.error)==null?void 0:a.call(e,n))??rm((l=t.customError)==null?void 0:l.call(t,n))??rm((c=t.localeError)==null?void 0:c.call(t,n))??"Invalid input";s.message=h}return delete s.inst,delete s.continue,e!=null&&e.reportInput||delete s.input,s}function q_(n){return Array.isArray(n)?"array":typeof n=="string"?"string":"unknown"}function Zd(...n){const[e,t,s]=n;return typeof e=="string"?{message:e,code:"custom",input:t,inst:s}:{...e}}const jC=(n,e)=>{n.name="$ZodError",Object.defineProperty(n,"_zod",{value:n._zod,enumerable:!1}),Object.defineProperty(n,"issues",{value:e,enumerable:!1}),Object.defineProperty(n,"message",{get(){return JSON.stringify(e,dD,2)},enumerable:!0}),Object.defineProperty(n,"toString",{value:()=>n.message,enumerable:!1})},zC=J("$ZodError",jC),HC=J("$ZodError",jC,{Parent:Error});function AD(n,e=t=>t.message){const t={},s=[];for(const i of n.issues)i.path.length>0?(t[i.path[0]]=t[i.path[0]]||[],t[i.path[0]].push(e(i))):s.push(e(i));return{formErrors:s,fieldErrors:t}}function xD(n,e){const t=e||function(r){return r.message},s={_errors:[]},i=r=>{for(const o of r.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(a=>i({issues:a}));else if(o.code==="invalid_key")i({issues:o.issues});else if(o.code==="invalid_element")i({issues:o.issues});else if(o.path.length===0)s._errors.push(t(o));else{let a=s,l=0;for(;l(e,t,s,i)=>{const r=s?Object.assign(s,{async:!1}):{async:!1},o=e._zod.run({value:t,issues:[]},r);if(o instanceof Promise)throw new Kd;if(o.issues.length){const a=new((i==null?void 0:i.Err)??n)(o.issues.map(l=>$a(l,r,Ca())));throw FC(a,i==null?void 0:i.callee),a}return o.value},CD=n=>async(e,t,s,i)=>{const r=s?Object.assign(s,{async:!0}):{async:!0};let o=e._zod.run({value:t,issues:[]},r);if(o instanceof Promise&&(o=await o),o.issues.length){const a=new((i==null?void 0:i.Err)??n)(o.issues.map(l=>$a(l,r,Ca())));throw FC(a,i==null?void 0:i.callee),a}return o.value},BC=n=>(e,t,s)=>{const i=s?{...s,async:!1}:{async:!1},r=e._zod.run({value:t,issues:[]},i);if(r instanceof Promise)throw new Kd;return r.issues.length?{success:!1,error:new(n??zC)(r.issues.map(o=>$a(o,i,Ca())))}:{success:!0,data:r.value}},UC=BC(HC),qC=n=>async(e,t,s)=>{const i=s?Object.assign(s,{async:!0}):{async:!0};let r=e._zod.run({value:t,issues:[]},i);return r instanceof Promise&&(r=await r),r.issues.length?{success:!1,error:new n(r.issues.map(o=>$a(o,i,Ca())))}:{success:!0,data:r.value}},$D=qC(HC),TD=/^[cC][^\s-]{8,}$/,PD=/^[0-9a-z]+$/,RD=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,MD=/^[0-9a-vA-V]{20}$/,ID=/^[A-Za-z0-9]{27}$/,OD=/^[a-zA-Z0-9_-]{21}$/,ND=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,LD=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,rA=n=>n?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${n}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/,DD=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,FD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function jD(){return new RegExp(FD,"u")}const zD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,HD=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,BD=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,UD=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,qD=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,VC=/^[A-Za-z0-9_-]*$/,VD=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,WD=/^\+(?:[0-9]){6,14}[0-9]$/,WC="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",GD=new RegExp(`^${WC}$`);function GC(n){const e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof n.precision=="number"?n.precision===-1?`${e}`:n.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${n.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function KD(n){return new RegExp(`^${GC(n)}$`)}function ZD(n){const e=GC({precision:n.precision}),t=["Z"];n.local&&t.push(""),n.offset&&t.push("([+-]\\d{2}:\\d{2})");const s=`${e}(?:${t.join("|")})`;return new RegExp(`^${WC}T(?:${s})$`)}const XD=n=>{const e=n?`[\\s\\S]{${(n==null?void 0:n.minimum)??0},${(n==null?void 0:n.maximum)??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},YD=/^\d+$/,JD=/^-?\d+(?:\.\d+)?/i,QD=/true|false/i,e2=/null/i,t2=/undefined/i,n2=/^[^A-Z]*$/,s2=/^[^a-z]*$/,zs=J("$ZodCheck",(n,e)=>{var t;n._zod??(n._zod={}),n._zod.def=e,(t=n._zod).onattach??(t.onattach=[])}),KC={number:"number",bigint:"bigint",object:"date"},ZC=J("$ZodCheckLessThan",(n,e)=>{zs.init(n,e);const t=KC[typeof e.value];n._zod.onattach.push(s=>{const i=s._zod.bag,r=(e.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value{(e.inclusive?s.value<=e.value:s.value{zs.init(n,e);const t=KC[typeof e.value];n._zod.onattach.push(s=>{const i=s._zod.bag,r=(e.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>r&&(e.inclusive?i.minimum=e.value:i.exclusiveMinimum=e.value)}),n._zod.check=s=>{(e.inclusive?s.value>=e.value:s.value>e.value)||s.issues.push({origin:t,code:"too_small",minimum:e.value,input:s.value,inclusive:e.inclusive,inst:n,continue:!e.abort})}}),i2=J("$ZodCheckMultipleOf",(n,e)=>{zs.init(n,e),n._zod.onattach.push(t=>{var s;(s=t._zod.bag).multipleOf??(s.multipleOf=e.value)}),n._zod.check=t=>{if(typeof t.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof t.value=="bigint"?t.value%e.value===BigInt(0):fD(t.value,e.value)===0)||t.issues.push({origin:typeof t.value,code:"not_multiple_of",divisor:e.value,input:t.value,inst:n,continue:!e.abort})}}),r2=J("$ZodCheckNumberFormat",(n,e)=>{var o;zs.init(n,e),e.format=e.format||"float64";const t=(o=e.format)==null?void 0:o.includes("int"),s=t?"int":"number",[i,r]=yD[e.format];n._zod.onattach.push(a=>{const l=a._zod.bag;l.format=e.format,l.minimum=i,l.maximum=r,t&&(l.pattern=YD)}),n._zod.check=a=>{const l=a.value;if(t){if(!Number.isInteger(l)){a.issues.push({expected:s,format:e.format,code:"invalid_type",input:l,inst:n});return}if(!Number.isSafeInteger(l)){l>0?a.issues.push({input:l,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:n,origin:s,continue:!e.abort}):a.issues.push({input:l,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:n,origin:s,continue:!e.abort});return}}lr&&a.issues.push({origin:"number",input:l,code:"too_big",maximum:r,inst:n})}}),o2=J("$ZodCheckMaxLength",(n,e)=>{var t;zs.init(n,e),(t=n._zod.def).when??(t.when=s=>{const i=s.value;return!B_(i)&&i.length!==void 0}),n._zod.onattach.push(s=>{const i=s._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{const i=s.value;if(i.length<=e.maximum)return;const o=q_(i);s.issues.push({origin:o,code:"too_big",maximum:e.maximum,inclusive:!0,input:i,inst:n,continue:!e.abort})}}),a2=J("$ZodCheckMinLength",(n,e)=>{var t;zs.init(n,e),(t=n._zod.def).when??(t.when=s=>{const i=s.value;return!B_(i)&&i.length!==void 0}),n._zod.onattach.push(s=>{const i=s._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>i&&(s._zod.bag.minimum=e.minimum)}),n._zod.check=s=>{const i=s.value;if(i.length>=e.minimum)return;const o=q_(i);s.issues.push({origin:o,code:"too_small",minimum:e.minimum,inclusive:!0,input:i,inst:n,continue:!e.abort})}}),l2=J("$ZodCheckLengthEquals",(n,e)=>{var t;zs.init(n,e),(t=n._zod.def).when??(t.when=s=>{const i=s.value;return!B_(i)&&i.length!==void 0}),n._zod.onattach.push(s=>{const i=s._zod.bag;i.minimum=e.length,i.maximum=e.length,i.length=e.length}),n._zod.check=s=>{const i=s.value,r=i.length;if(r===e.length)return;const o=q_(i),a=r>e.length;s.issues.push({origin:o,...a?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:s.value,inst:n,continue:!e.abort})}}),Qy=J("$ZodCheckStringFormat",(n,e)=>{var t,s;zs.init(n,e),n._zod.onattach.push(i=>{const r=i._zod.bag;r.format=e.format,e.pattern&&(r.patterns??(r.patterns=new Set),r.patterns.add(e.pattern))}),e.pattern?(t=n._zod).check??(t.check=i=>{e.pattern.lastIndex=0,!e.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:e.format,input:i.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:n,continue:!e.abort})}):(s=n._zod).check??(s.check=()=>{})}),c2=J("$ZodCheckRegex",(n,e)=>{Qy.init(n,e),n._zod.check=t=>{e.pattern.lastIndex=0,!e.pattern.test(t.value)&&t.issues.push({origin:"string",code:"invalid_format",format:"regex",input:t.value,pattern:e.pattern.toString(),inst:n,continue:!e.abort})}}),h2=J("$ZodCheckLowerCase",(n,e)=>{e.pattern??(e.pattern=n2),Qy.init(n,e)}),u2=J("$ZodCheckUpperCase",(n,e)=>{e.pattern??(e.pattern=s2),Qy.init(n,e)}),d2=J("$ZodCheckIncludes",(n,e)=>{zs.init(n,e);const t=Pp(e.includes),s=new RegExp(typeof e.position=="number"?`^.{${e.position}}${t}`:t);e.pattern=s,n._zod.onattach.push(i=>{const r=i._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(s)}),n._zod.check=i=>{i.value.includes(e.includes,e.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:i.value,inst:n,continue:!e.abort})}}),f2=J("$ZodCheckStartsWith",(n,e)=>{zs.init(n,e);const t=new RegExp(`^${Pp(e.prefix)}.*`);e.pattern??(e.pattern=t),n._zod.onattach.push(s=>{const i=s._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(t)}),n._zod.check=s=>{s.value.startsWith(e.prefix)||s.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:s.value,inst:n,continue:!e.abort})}}),p2=J("$ZodCheckEndsWith",(n,e)=>{zs.init(n,e);const t=new RegExp(`.*${Pp(e.suffix)}$`);e.pattern??(e.pattern=t),n._zod.onattach.push(s=>{const i=s._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(t)}),n._zod.check=s=>{s.value.endsWith(e.suffix)||s.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:s.value,inst:n,continue:!e.abort})}}),m2=J("$ZodCheckOverwrite",(n,e)=>{zs.init(n,e),n._zod.check=t=>{t.value=e.tx(t.value)}});class g2{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}const s=e.split(` +`).filter(o=>o),i=Math.min(...s.map(o=>o.length-o.trimStart().length)),r=s.map(o=>o.slice(i)).map(o=>" ".repeat(this.indent*2)+o);for(const o of r)this.content.push(o)}compile(){const e=Function,t=this==null?void 0:this.args,i=[...((this==null?void 0:this.content)??[""]).map(r=>` ${r}`)];return new e(...t,i.join(` +`))}}const y2={major:4,minor:0,patch:0},_t=J("$ZodType",(n,e)=>{var i;var t;n??(n={}),n._zod.def=e,n._zod.bag=n._zod.bag||{},n._zod.version=y2;const s=[...n._zod.def.checks??[]];n._zod.traits.has("$ZodCheck")&&s.unshift(n);for(const r of s)for(const o of r._zod.onattach)o(n);if(s.length===0)(t=n._zod).deferred??(t.deferred=[]),(i=n._zod.deferred)==null||i.push(()=>{n._zod.run=n._zod.parse});else{const r=(o,a,l)=>{let c=$d(o),h;for(const u of a){if(u._zod.def.when){if(!u._zod.def.when(o))continue}else if(c)continue;const d=o.issues.length,p=u._zod.check(o);if(p instanceof Promise&&(l==null?void 0:l.async)===!1)throw new Kd;if(h||p instanceof Promise)h=(h??Promise.resolve()).then(async()=>{await p,o.issues.length!==d&&(c||(c=$d(o,d)))});else{if(o.issues.length===d)continue;c||(c=$d(o,d))}}return h?h.then(()=>o):o};n._zod.run=(o,a)=>{const l=n._zod.parse(o,a);if(l instanceof Promise){if(a.async===!1)throw new Kd;return l.then(c=>r(c,s,a))}return r(l,s,a)}}n["~standard"]={validate:r=>{var o;try{const a=UC(n,r);return a.success?{value:a.data}:{issues:(o=a.error)==null?void 0:o.issues}}catch{return $D(n,r).then(l=>{var c;return l.success?{value:l.data}:{issues:(c=l.error)==null?void 0:c.issues}})}},vendor:"zod",version:1}}),V_=J("$ZodString",(n,e)=>{var t;_t.init(n,e),n._zod.pattern=[...((t=n==null?void 0:n._zod.bag)==null?void 0:t.patterns)??[]].pop()??XD(n._zod.bag),n._zod.parse=(s,i)=>{if(e.coerce)try{s.value=String(s.value)}catch{}return typeof s.value=="string"||s.issues.push({expected:"string",code:"invalid_type",input:s.value,inst:n}),s}}),Nt=J("$ZodStringFormat",(n,e)=>{Qy.init(n,e),V_.init(n,e)}),v2=J("$ZodGUID",(n,e)=>{e.pattern??(e.pattern=LD),Nt.init(n,e)}),b2=J("$ZodUUID",(n,e)=>{if(e.version){const s={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(s===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=rA(s))}else e.pattern??(e.pattern=rA());Nt.init(n,e)}),w2=J("$ZodEmail",(n,e)=>{e.pattern??(e.pattern=DD),Nt.init(n,e)}),_2=J("$ZodURL",(n,e)=>{Nt.init(n,e),n._zod.check=t=>{try{const s=t.value,i=new URL(s),r=i.href;e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(i.hostname)||t.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:VD.source,input:t.value,inst:n,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||t.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:t.value,inst:n,continue:!e.abort})),!s.endsWith("/")&&r.endsWith("/")?t.value=r.slice(0,-1):t.value=r;return}catch{t.issues.push({code:"invalid_format",format:"url",input:t.value,inst:n,continue:!e.abort})}}}),S2=J("$ZodEmoji",(n,e)=>{e.pattern??(e.pattern=jD()),Nt.init(n,e)}),k2=J("$ZodNanoID",(n,e)=>{e.pattern??(e.pattern=OD),Nt.init(n,e)}),A2=J("$ZodCUID",(n,e)=>{e.pattern??(e.pattern=TD),Nt.init(n,e)}),x2=J("$ZodCUID2",(n,e)=>{e.pattern??(e.pattern=PD),Nt.init(n,e)}),E2=J("$ZodULID",(n,e)=>{e.pattern??(e.pattern=RD),Nt.init(n,e)}),C2=J("$ZodXID",(n,e)=>{e.pattern??(e.pattern=MD),Nt.init(n,e)}),$2=J("$ZodKSUID",(n,e)=>{e.pattern??(e.pattern=ID),Nt.init(n,e)}),T2=J("$ZodISODateTime",(n,e)=>{e.pattern??(e.pattern=ZD(e)),Nt.init(n,e)}),P2=J("$ZodISODate",(n,e)=>{e.pattern??(e.pattern=GD),Nt.init(n,e)}),R2=J("$ZodISOTime",(n,e)=>{e.pattern??(e.pattern=KD(e)),Nt.init(n,e)}),M2=J("$ZodISODuration",(n,e)=>{e.pattern??(e.pattern=ND),Nt.init(n,e)}),I2=J("$ZodIPv4",(n,e)=>{e.pattern??(e.pattern=zD),Nt.init(n,e),n._zod.onattach.push(t=>{const s=t._zod.bag;s.format="ipv4"})}),O2=J("$ZodIPv6",(n,e)=>{e.pattern??(e.pattern=HD),Nt.init(n,e),n._zod.onattach.push(t=>{const s=t._zod.bag;s.format="ipv6"}),n._zod.check=t=>{try{new URL(`http://[${t.value}]`)}catch{t.issues.push({code:"invalid_format",format:"ipv6",input:t.value,inst:n,continue:!e.abort})}}}),N2=J("$ZodCIDRv4",(n,e)=>{e.pattern??(e.pattern=BD),Nt.init(n,e)}),L2=J("$ZodCIDRv6",(n,e)=>{e.pattern??(e.pattern=UD),Nt.init(n,e),n._zod.check=t=>{const[s,i]=t.value.split("/");try{if(!i)throw new Error;const r=Number(i);if(`${r}`!==i)throw new Error;if(r<0||r>128)throw new Error;new URL(`http://[${s}]`)}catch{t.issues.push({code:"invalid_format",format:"cidrv6",input:t.value,inst:n,continue:!e.abort})}}});function YC(n){if(n==="")return!0;if(n.length%4!==0)return!1;try{return atob(n),!0}catch{return!1}}const D2=J("$ZodBase64",(n,e)=>{e.pattern??(e.pattern=qD),Nt.init(n,e),n._zod.onattach.push(t=>{t._zod.bag.contentEncoding="base64"}),n._zod.check=t=>{YC(t.value)||t.issues.push({code:"invalid_format",format:"base64",input:t.value,inst:n,continue:!e.abort})}});function F2(n){if(!VC.test(n))return!1;const e=n.replace(/[-_]/g,s=>s==="-"?"+":"/"),t=e.padEnd(Math.ceil(e.length/4)*4,"=");return YC(t)}const j2=J("$ZodBase64URL",(n,e)=>{e.pattern??(e.pattern=VC),Nt.init(n,e),n._zod.onattach.push(t=>{t._zod.bag.contentEncoding="base64url"}),n._zod.check=t=>{F2(t.value)||t.issues.push({code:"invalid_format",format:"base64url",input:t.value,inst:n,continue:!e.abort})}}),z2=J("$ZodE164",(n,e)=>{e.pattern??(e.pattern=WD),Nt.init(n,e)});function H2(n,e=null){try{const t=n.split(".");if(t.length!==3)return!1;const[s]=t;if(!s)return!1;const i=JSON.parse(atob(s));return!("typ"in i&&(i==null?void 0:i.typ)!=="JWT"||!i.alg||e&&(!("alg"in i)||i.alg!==e))}catch{return!1}}const B2=J("$ZodJWT",(n,e)=>{Nt.init(n,e),n._zod.check=t=>{H2(t.value,e.alg)||t.issues.push({code:"invalid_format",format:"jwt",input:t.value,inst:n,continue:!e.abort})}}),JC=J("$ZodNumber",(n,e)=>{_t.init(n,e),n._zod.pattern=n._zod.bag.pattern??JD,n._zod.parse=(t,s)=>{if(e.coerce)try{t.value=Number(t.value)}catch{}const i=t.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return t;const r=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return t.issues.push({expected:"number",code:"invalid_type",input:i,inst:n,...r?{received:r}:{}}),t}}),U2=J("$ZodNumber",(n,e)=>{r2.init(n,e),JC.init(n,e)}),q2=J("$ZodBoolean",(n,e)=>{_t.init(n,e),n._zod.pattern=QD,n._zod.parse=(t,s)=>{if(e.coerce)try{t.value=!!t.value}catch{}const i=t.value;return typeof i=="boolean"||t.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:n}),t}}),V2=J("$ZodUndefined",(n,e)=>{_t.init(n,e),n._zod.pattern=t2,n._zod.values=new Set([void 0]),n._zod.optin="optional",n._zod.optout="optional",n._zod.parse=(t,s)=>{const i=t.value;return typeof i>"u"||t.issues.push({expected:"undefined",code:"invalid_type",input:i,inst:n}),t}}),W2=J("$ZodNull",(n,e)=>{_t.init(n,e),n._zod.pattern=e2,n._zod.values=new Set([null]),n._zod.parse=(t,s)=>{const i=t.value;return i===null||t.issues.push({expected:"null",code:"invalid_type",input:i,inst:n}),t}}),G2=J("$ZodAny",(n,e)=>{_t.init(n,e),n._zod.parse=t=>t}),K2=J("$ZodUnknown",(n,e)=>{_t.init(n,e),n._zod.parse=t=>t}),Z2=J("$ZodNever",(n,e)=>{_t.init(n,e),n._zod.parse=(t,s)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:n}),t)});function oA(n,e,t){n.issues.length&&e.issues.push(...ul(t,n.issues)),e.value[t]=n.value}const X2=J("$ZodArray",(n,e)=>{_t.init(n,e),n._zod.parse=(t,s)=>{const i=t.value;if(!Array.isArray(i))return t.issues.push({expected:"array",code:"invalid_type",input:i,inst:n}),t;t.value=Array(i.length);const r=[];for(let o=0;ooA(c,t,o))):oA(l,t,o)}return r.length?Promise.all(r).then(()=>t):t}});function om(n,e,t){n.issues.length&&e.issues.push(...ul(t,n.issues)),e.value[t]=n.value}function aA(n,e,t,s){n.issues.length?s[t]===void 0?t in s?e.value[t]=void 0:e.value[t]=n.value:e.issues.push(...ul(t,n.issues)):n.value===void 0?t in s&&(e.value[t]=void 0):e.value[t]=n.value}const Y2=J("$ZodObject",(n,e)=>{_t.init(n,e);const t=H_(()=>{const u=Object.keys(e.shape);for(const p of u)if(!(e.shape[p]instanceof _t))throw new Error(`Invalid element at key "${p}": expected a Zod schema`);const d=gD(e.shape);return{shape:e.shape,keys:u,keySet:new Set(u),numKeys:u.length,optionalKeys:new Set(d)}});Tt(n._zod,"propValues",()=>{const u=e.shape,d={};for(const p in u){const m=u[p]._zod;if(m.values){d[p]??(d[p]=new Set);for(const g of m.values)d[p].add(g)}}return d});const s=u=>{const d=new g2(["shape","payload","ctx"]),p=t.value,m=w=>{const _=Vu(w);return`shape[${_}]._zod.run({ value: input[${_}], issues: [] }, ctx)`};d.write("const input = payload.value;");const g=Object.create(null);let v=0;for(const w of p.keys)g[w]=`key_${v++}`;d.write("const newResult = {}");for(const w of p.keys)if(p.optionalKeys.has(w)){const _=g[w];d.write(`const ${_} = ${m(w)};`);const A=Vu(w);d.write(` + if (${_}.issues.length) { + if (input[${A}] === undefined) { + if (${A} in input) { + newResult[${A}] = undefined; + } + } else { + payload.issues = payload.issues.concat( + ${_}.issues.map((iss) => ({ + ...iss, + path: iss.path ? [${A}, ...iss.path] : [${A}], + })) + ); + } + } else if (${_}.value === undefined) { + if (${A} in input) newResult[${A}] = undefined; + } else { + newResult[${A}] = ${_}.value; + } + `)}else{const _=g[w];d.write(`const ${_} = ${m(w)};`),d.write(` + if (${_}.issues.length) payload.issues = payload.issues.concat(${_}.issues.map(iss => ({ + ...iss, + path: iss.path ? [${Vu(w)}, ...iss.path] : [${Vu(w)}] + })));`),d.write(`newResult[${Vu(w)}] = ${_}.value`)}d.write("payload.value = newResult;"),d.write("return payload;");const y=d.compile();return(w,_)=>y(u,w,_)};let i;const r=zg,o=!DC.jitless,l=o&&pD.value,c=e.catchall;let h;n._zod.parse=(u,d)=>{h??(h=t.value);const p=u.value;if(!r(p))return u.issues.push({expected:"object",code:"invalid_type",input:p,inst:n}),u;const m=[];if(o&&l&&(d==null?void 0:d.async)===!1&&d.jitless!==!0)i||(i=s(e.shape)),u=i(u,d);else{u.value={};const _=h.shape;for(const A of h.keys){const k=_[A],$=k._zod.run({value:p[A],issues:[]},d),E=k._zod.optin==="optional"&&k._zod.optout==="optional";$ instanceof Promise?m.push($.then(O=>E?aA(O,u,A,p):om(O,u,A))):E?aA($,u,A,p):om($,u,A)}}if(!c)return m.length?Promise.all(m).then(()=>u):u;const g=[],v=h.keySet,y=c._zod,w=y.def.type;for(const _ of Object.keys(p)){if(v.has(_))continue;if(w==="never"){g.push(_);continue}const A=y.run({value:p[_],issues:[]},d);A instanceof Promise?m.push(A.then(k=>om(k,u,_))):om(A,u,_)}return g.length&&u.issues.push({code:"unrecognized_keys",keys:g,input:p,inst:n}),m.length?Promise.all(m).then(()=>u):u}});function lA(n,e,t,s){for(const i of n)if(i.issues.length===0)return e.value=i.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:t,errors:n.map(i=>i.issues.map(r=>$a(r,s,Ca())))}),e}const QC=J("$ZodUnion",(n,e)=>{_t.init(n,e),Tt(n._zod,"optin",()=>e.options.some(t=>t._zod.optin==="optional")?"optional":void 0),Tt(n._zod,"optout",()=>e.options.some(t=>t._zod.optout==="optional")?"optional":void 0),Tt(n._zod,"values",()=>{if(e.options.every(t=>t._zod.values))return new Set(e.options.flatMap(t=>Array.from(t._zod.values)))}),Tt(n._zod,"pattern",()=>{if(e.options.every(t=>t._zod.pattern)){const t=e.options.map(s=>s._zod.pattern);return new RegExp(`^(${t.map(s=>U_(s.source)).join("|")})$`)}}),n._zod.parse=(t,s)=>{let i=!1;const r=[];for(const o of e.options){const a=o._zod.run({value:t.value,issues:[]},s);if(a instanceof Promise)r.push(a),i=!0;else{if(a.issues.length===0)return a;r.push(a)}}return i?Promise.all(r).then(o=>lA(o,t,n,s)):lA(r,t,n,s)}}),J2=J("$ZodDiscriminatedUnion",(n,e)=>{QC.init(n,e);const t=n._zod.parse;Tt(n._zod,"propValues",()=>{const i={};for(const r of e.options){const o=r._zod.propValues;if(!o||Object.keys(o).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(r)}"`);for(const[a,l]of Object.entries(o)){i[a]||(i[a]=new Set);for(const c of l)i[a].add(c)}}return i});const s=H_(()=>{const i=e.options,r=new Map;for(const o of i){const a=o._zod.propValues[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(o)}"`);for(const l of a){if(r.has(l))throw new Error(`Duplicate discriminator value "${String(l)}"`);r.set(l,o)}}return r});n._zod.parse=(i,r)=>{const o=i.value;if(!zg(o))return i.issues.push({code:"invalid_type",expected:"object",input:o,inst:n}),i;const a=s.value.get(o==null?void 0:o[e.discriminator]);return a?a._zod.run(i,r):e.unionFallback?t(i,r):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:o,path:[e.discriminator],inst:n}),i)}}),Q2=J("$ZodIntersection",(n,e)=>{_t.init(n,e),n._zod.parse=(t,s)=>{const i=t.value,r=e.left._zod.run({value:i,issues:[]},s),o=e.right._zod.run({value:i,issues:[]},s);return r instanceof Promise||o instanceof Promise?Promise.all([r,o]).then(([l,c])=>cA(t,l,c)):cA(t,r,o)}});function Hv(n,e){if(n===e)return{valid:!0,data:n};if(n instanceof Date&&e instanceof Date&&+n==+e)return{valid:!0,data:n};if(Hg(n)&&Hg(e)){const t=Object.keys(e),s=Object.keys(n).filter(r=>t.indexOf(r)!==-1),i={...n,...e};for(const r of s){const o=Hv(n[r],e[r]);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};i[r]=o.data}return{valid:!0,data:i}}if(Array.isArray(n)&&Array.isArray(e)){if(n.length!==e.length)return{valid:!1,mergeErrorPath:[]};const t=[];for(let s=0;s{_t.init(n,e),n._zod.parse=(t,s)=>{const i=t.value;if(!Hg(i))return t.issues.push({expected:"record",code:"invalid_type",input:i,inst:n}),t;const r=[];if(e.keyType._zod.values){const o=e.keyType._zod.values;t.value={};for(const l of o)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){const c=e.valueType._zod.run({value:i[l],issues:[]},s);c instanceof Promise?r.push(c.then(h=>{h.issues.length&&t.issues.push(...ul(l,h.issues)),t.value[l]=h.value})):(c.issues.length&&t.issues.push(...ul(l,c.issues)),t.value[l]=c.value)}let a;for(const l in i)o.has(l)||(a=a??[],a.push(l));a&&a.length>0&&t.issues.push({code:"unrecognized_keys",input:i,inst:n,keys:a})}else{t.value={};for(const o of Reflect.ownKeys(i)){if(o==="__proto__")continue;const a=e.keyType._zod.run({value:o,issues:[]},s);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){t.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(c=>$a(c,s,Ca())),input:o,path:[o],inst:n}),t.value[a.value]=a.value;continue}const l=e.valueType._zod.run({value:i[o],issues:[]},s);l instanceof Promise?r.push(l.then(c=>{c.issues.length&&t.issues.push(...ul(o,c.issues)),t.value[a.value]=c.value})):(l.issues.length&&t.issues.push(...ul(o,l.issues)),t.value[a.value]=l.value)}}return r.length?Promise.all(r).then(()=>t):t}}),tF=J("$ZodEnum",(n,e)=>{_t.init(n,e);const t=uD(e.entries);n._zod.values=new Set(t),n._zod.pattern=new RegExp(`^(${t.filter(s=>mD.has(typeof s)).map(s=>typeof s=="string"?Pp(s):s.toString()).join("|")})$`),n._zod.parse=(s,i)=>{const r=s.value;return n._zod.values.has(r)||s.issues.push({code:"invalid_value",values:t,input:r,inst:n}),s}}),nF=J("$ZodLiteral",(n,e)=>{_t.init(n,e),n._zod.values=new Set(e.values),n._zod.pattern=new RegExp(`^(${e.values.map(t=>typeof t=="string"?Pp(t):t?t.toString():String(t)).join("|")})$`),n._zod.parse=(t,s)=>{const i=t.value;return n._zod.values.has(i)||t.issues.push({code:"invalid_value",values:e.values,input:i,inst:n}),t}}),sF=J("$ZodTransform",(n,e)=>{_t.init(n,e),n._zod.parse=(t,s)=>{const i=e.transform(t.value,t);if(s.async)return(i instanceof Promise?i:Promise.resolve(i)).then(o=>(t.value=o,t));if(i instanceof Promise)throw new Kd;return t.value=i,t}}),iF=J("$ZodOptional",(n,e)=>{_t.init(n,e),n._zod.optin="optional",n._zod.optout="optional",Tt(n._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),Tt(n._zod,"pattern",()=>{const t=e.innerType._zod.pattern;return t?new RegExp(`^(${U_(t.source)})?$`):void 0}),n._zod.parse=(t,s)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(t,s):t.value===void 0?t:e.innerType._zod.run(t,s)}),rF=J("$ZodNullable",(n,e)=>{_t.init(n,e),Tt(n._zod,"optin",()=>e.innerType._zod.optin),Tt(n._zod,"optout",()=>e.innerType._zod.optout),Tt(n._zod,"pattern",()=>{const t=e.innerType._zod.pattern;return t?new RegExp(`^(${U_(t.source)}|null)$`):void 0}),Tt(n._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),n._zod.parse=(t,s)=>t.value===null?t:e.innerType._zod.run(t,s)}),oF=J("$ZodDefault",(n,e)=>{_t.init(n,e),n._zod.optin="optional",Tt(n._zod,"values",()=>e.innerType._zod.values),n._zod.parse=(t,s)=>{if(t.value===void 0)return t.value=e.defaultValue,t;const i=e.innerType._zod.run(t,s);return i instanceof Promise?i.then(r=>hA(r,e)):hA(i,e)}});function hA(n,e){return n.value===void 0&&(n.value=e.defaultValue),n}const aF=J("$ZodPrefault",(n,e)=>{_t.init(n,e),n._zod.optin="optional",Tt(n._zod,"values",()=>e.innerType._zod.values),n._zod.parse=(t,s)=>(t.value===void 0&&(t.value=e.defaultValue),e.innerType._zod.run(t,s))}),lF=J("$ZodNonOptional",(n,e)=>{_t.init(n,e),Tt(n._zod,"values",()=>{const t=e.innerType._zod.values;return t?new Set([...t].filter(s=>s!==void 0)):void 0}),n._zod.parse=(t,s)=>{const i=e.innerType._zod.run(t,s);return i instanceof Promise?i.then(r=>uA(r,n)):uA(i,n)}});function uA(n,e){return!n.issues.length&&n.value===void 0&&n.issues.push({code:"invalid_type",expected:"nonoptional",input:n.value,inst:e}),n}const cF=J("$ZodCatch",(n,e)=>{_t.init(n,e),n._zod.optin="optional",Tt(n._zod,"optout",()=>e.innerType._zod.optout),Tt(n._zod,"values",()=>e.innerType._zod.values),n._zod.parse=(t,s)=>{const i=e.innerType._zod.run(t,s);return i instanceof Promise?i.then(r=>(t.value=r.value,r.issues.length&&(t.value=e.catchValue({...t,error:{issues:r.issues.map(o=>$a(o,s,Ca()))},input:t.value}),t.issues=[]),t)):(t.value=i.value,i.issues.length&&(t.value=e.catchValue({...t,error:{issues:i.issues.map(r=>$a(r,s,Ca()))},input:t.value}),t.issues=[]),t)}}),hF=J("$ZodPipe",(n,e)=>{_t.init(n,e),Tt(n._zod,"values",()=>e.in._zod.values),Tt(n._zod,"optin",()=>e.in._zod.optin),Tt(n._zod,"optout",()=>e.out._zod.optout),n._zod.parse=(t,s)=>{const i=e.in._zod.run(t,s);return i instanceof Promise?i.then(r=>dA(r,e,s)):dA(i,e,s)}});function dA(n,e,t){return $d(n)?n:e.out._zod.run({value:n.value,issues:n.issues},t)}const uF=J("$ZodReadonly",(n,e)=>{_t.init(n,e),Tt(n._zod,"propValues",()=>e.innerType._zod.propValues),Tt(n._zod,"values",()=>e.innerType._zod.values),Tt(n._zod,"optin",()=>e.innerType._zod.optin),Tt(n._zod,"optout",()=>e.innerType._zod.optout),n._zod.parse=(t,s)=>{const i=e.innerType._zod.run(t,s);return i instanceof Promise?i.then(fA):fA(i)}});function fA(n){return n.value=Object.freeze(n.value),n}const dF=J("$ZodCustom",(n,e)=>{zs.init(n,e),_t.init(n,e),n._zod.parse=(t,s)=>t,n._zod.check=t=>{const s=t.value,i=e.fn(s);if(i instanceof Promise)return i.then(r=>pA(r,t,s,n));pA(i,t,s,n)}});function pA(n,e,t,s){if(!n){const i={code:"custom",input:t,inst:s,path:[...s._zod.def.path??[]],continue:!s._zod.def.abort};s._zod.def.params&&(i.params=s._zod.def.params),e.issues.push(Zd(i))}}class fF{constructor(){this._map=new Map,this._idmap=new Map}add(e,...t){const s=t[0];if(this._map.set(e,s),s&&typeof s=="object"&&"id"in s){if(this._idmap.has(s.id))throw new Error(`ID ${s.id} already exists in the registry`);this._idmap.set(s.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){const t=this._map.get(e);return t&&typeof t=="object"&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){const t=e._zod.parent;if(t){const s={...this.get(t)??{}};return delete s.id,{...s,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}}function pF(){return new fF}const am=pF();function mF(n,e){return new n({type:"string",...ge(e)})}function gF(n,e){return new n({type:"string",format:"email",check:"string_format",abort:!1,...ge(e)})}function mA(n,e){return new n({type:"string",format:"guid",check:"string_format",abort:!1,...ge(e)})}function yF(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,...ge(e)})}function vF(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...ge(e)})}function bF(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...ge(e)})}function wF(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...ge(e)})}function e$(n,e){return new n({type:"string",format:"url",check:"string_format",abort:!1,...ge(e)})}function _F(n,e){return new n({type:"string",format:"emoji",check:"string_format",abort:!1,...ge(e)})}function SF(n,e){return new n({type:"string",format:"nanoid",check:"string_format",abort:!1,...ge(e)})}function kF(n,e){return new n({type:"string",format:"cuid",check:"string_format",abort:!1,...ge(e)})}function AF(n,e){return new n({type:"string",format:"cuid2",check:"string_format",abort:!1,...ge(e)})}function xF(n,e){return new n({type:"string",format:"ulid",check:"string_format",abort:!1,...ge(e)})}function EF(n,e){return new n({type:"string",format:"xid",check:"string_format",abort:!1,...ge(e)})}function CF(n,e){return new n({type:"string",format:"ksuid",check:"string_format",abort:!1,...ge(e)})}function $F(n,e){return new n({type:"string",format:"ipv4",check:"string_format",abort:!1,...ge(e)})}function TF(n,e){return new n({type:"string",format:"ipv6",check:"string_format",abort:!1,...ge(e)})}function PF(n,e){return new n({type:"string",format:"cidrv4",check:"string_format",abort:!1,...ge(e)})}function RF(n,e){return new n({type:"string",format:"cidrv6",check:"string_format",abort:!1,...ge(e)})}function MF(n,e){return new n({type:"string",format:"base64",check:"string_format",abort:!1,...ge(e)})}function IF(n,e){return new n({type:"string",format:"base64url",check:"string_format",abort:!1,...ge(e)})}function OF(n,e){return new n({type:"string",format:"e164",check:"string_format",abort:!1,...ge(e)})}function NF(n,e){return new n({type:"string",format:"jwt",check:"string_format",abort:!1,...ge(e)})}function LF(n,e){return new n({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...ge(e)})}function DF(n,e){return new n({type:"string",format:"date",check:"string_format",...ge(e)})}function FF(n,e){return new n({type:"string",format:"time",check:"string_format",precision:null,...ge(e)})}function jF(n,e){return new n({type:"string",format:"duration",check:"string_format",...ge(e)})}function zF(n,e){return new n({type:"number",checks:[],...ge(e)})}function HF(n,e){return new n({type:"number",coerce:!0,checks:[],...ge(e)})}function BF(n,e){return new n({type:"number",check:"number_format",abort:!1,format:"safeint",...ge(e)})}function UF(n,e){return new n({type:"boolean",...ge(e)})}function qF(n,e){return new n({type:"undefined",...ge(e)})}function VF(n,e){return new n({type:"null",...ge(e)})}function WF(n){return new n({type:"any"})}function GF(n){return new n({type:"unknown"})}function KF(n,e){return new n({type:"never",...ge(e)})}function gA(n,e){return new ZC({check:"less_than",...ge(e),value:n,inclusive:!1})}function V0(n,e){return new ZC({check:"less_than",...ge(e),value:n,inclusive:!0})}function yA(n,e){return new XC({check:"greater_than",...ge(e),value:n,inclusive:!1})}function W0(n,e){return new XC({check:"greater_than",...ge(e),value:n,inclusive:!0})}function vA(n,e){return new i2({check:"multiple_of",...ge(e),value:n})}function t$(n,e){return new o2({check:"max_length",...ge(e),maximum:n})}function Bg(n,e){return new a2({check:"min_length",...ge(e),minimum:n})}function n$(n,e){return new l2({check:"length_equals",...ge(e),length:n})}function ZF(n,e){return new c2({check:"string_format",format:"regex",...ge(e),pattern:n})}function XF(n){return new h2({check:"string_format",format:"lowercase",...ge(n)})}function YF(n){return new u2({check:"string_format",format:"uppercase",...ge(n)})}function JF(n,e){return new d2({check:"string_format",format:"includes",...ge(e),includes:n})}function QF(n,e){return new f2({check:"string_format",format:"starts_with",...ge(e),prefix:n})}function ej(n,e){return new p2({check:"string_format",format:"ends_with",...ge(e),suffix:n})}function Rp(n){return new m2({check:"overwrite",tx:n})}function tj(n){return Rp(e=>e.normalize(n))}function nj(){return Rp(n=>n.trim())}function sj(){return Rp(n=>n.toLowerCase())}function ij(){return Rp(n=>n.toUpperCase())}function rj(n,e,t){return new n({type:"array",element:e,...ge(t)})}function oj(n,e,t){const s=ge(t);return s.abort??(s.abort=!0),new n({type:"custom",check:"custom",fn:e,...s})}function aj(n,e,t){return new n({type:"custom",check:"custom",fn:e,...ge(t)})}const lj=J("ZodISODateTime",(n,e)=>{T2.init(n,e),Ht.init(n,e)});function s$(n){return LF(lj,n)}const cj=J("ZodISODate",(n,e)=>{P2.init(n,e),Ht.init(n,e)});function hj(n){return DF(cj,n)}const uj=J("ZodISOTime",(n,e)=>{R2.init(n,e),Ht.init(n,e)});function dj(n){return FF(uj,n)}const fj=J("ZodISODuration",(n,e)=>{M2.init(n,e),Ht.init(n,e)});function pj(n){return jF(fj,n)}const mj=(n,e)=>{zC.init(n,e),n.name="ZodError",Object.defineProperties(n,{format:{value:t=>xD(n,t)},flatten:{value:t=>AD(n,t)},addIssue:{value:t=>n.issues.push(t)},addIssues:{value:t=>n.issues.push(...t)},isEmpty:{get(){return n.issues.length===0}}})},e0=J("ZodError",mj,{Parent:Error}),gj=ED(e0),yj=CD(e0),vj=BC(e0),bj=qC(e0),Pt=J("ZodType",(n,e)=>(_t.init(n,e),n.def=e,Object.defineProperty(n,"_def",{value:e}),n.check=(...t)=>n.clone({...e,checks:[...e.checks??[],...t.map(s=>typeof s=="function"?{_zod:{check:s,def:{check:"custom"},onattach:[]}}:s)]}),n.clone=(t,s)=>Tc(n,t,s),n.brand=()=>n,n.register=(t,s)=>(t.add(n,s),n),n.parse=(t,s)=>gj(n,t,s,{callee:n.parse}),n.safeParse=(t,s)=>vj(n,t,s),n.parseAsync=async(t,s)=>yj(n,t,s,{callee:n.parseAsync}),n.safeParseAsync=async(t,s)=>bj(n,t,s),n.spa=n.safeParseAsync,n.refine=(t,s)=>n.check(uz(t,s)),n.superRefine=t=>n.check(dz(t)),n.overwrite=t=>n.check(Rp(t)),n.optional=()=>zt(n),n.nullable=()=>_A(n),n.nullish=()=>zt(_A(n)),n.nonoptional=t=>sz(n,t),n.array=()=>ie(n),n.or=t=>Xe([n,t]),n.and=t=>K_(n,t),n.transform=t=>Vv(n,c$(t)),n.default=t=>ez(n,t),n.prefault=t=>nz(n,t),n.catch=t=>rz(n,t),n.pipe=t=>Vv(n,t),n.readonly=()=>lz(n),n.describe=t=>{const s=n.clone();return am.add(s,{description:t}),s},Object.defineProperty(n,"description",{get(){var t;return(t=am.get(n))==null?void 0:t.description},configurable:!0}),n.meta=(...t)=>{if(t.length===0)return am.get(n);const s=n.clone();return am.add(s,t[0]),s},n.isOptional=()=>n.safeParse(void 0).success,n.isNullable=()=>n.safeParse(null).success,n)),i$=J("_ZodString",(n,e)=>{V_.init(n,e),Pt.init(n,e);const t=n._zod.bag;n.format=t.format??null,n.minLength=t.minimum??null,n.maxLength=t.maximum??null,n.regex=(...s)=>n.check(ZF(...s)),n.includes=(...s)=>n.check(JF(...s)),n.startsWith=(...s)=>n.check(QF(...s)),n.endsWith=(...s)=>n.check(ej(...s)),n.min=(...s)=>n.check(Bg(...s)),n.max=(...s)=>n.check(t$(...s)),n.length=(...s)=>n.check(n$(...s)),n.nonempty=(...s)=>n.check(Bg(1,...s)),n.lowercase=s=>n.check(XF(s)),n.uppercase=s=>n.check(YF(s)),n.trim=()=>n.check(nj()),n.normalize=(...s)=>n.check(tj(...s)),n.toLowerCase=()=>n.check(sj()),n.toUpperCase=()=>n.check(ij())}),wj=J("ZodString",(n,e)=>{V_.init(n,e),i$.init(n,e),n.email=t=>n.check(gF(_j,t)),n.url=t=>n.check(e$(r$,t)),n.jwt=t=>n.check(NF(Dj,t)),n.emoji=t=>n.check(_F(kj,t)),n.guid=t=>n.check(mA(bA,t)),n.uuid=t=>n.check(yF(lm,t)),n.uuidv4=t=>n.check(vF(lm,t)),n.uuidv6=t=>n.check(bF(lm,t)),n.uuidv7=t=>n.check(wF(lm,t)),n.nanoid=t=>n.check(SF(Aj,t)),n.guid=t=>n.check(mA(bA,t)),n.cuid=t=>n.check(kF(xj,t)),n.cuid2=t=>n.check(AF(Ej,t)),n.ulid=t=>n.check(xF(Cj,t)),n.base64=t=>n.check(MF(Oj,t)),n.base64url=t=>n.check(IF(Nj,t)),n.xid=t=>n.check(EF($j,t)),n.ksuid=t=>n.check(CF(Tj,t)),n.ipv4=t=>n.check($F(Pj,t)),n.ipv6=t=>n.check(TF(Rj,t)),n.cidrv4=t=>n.check(PF(Mj,t)),n.cidrv6=t=>n.check(RF(Ij,t)),n.e164=t=>n.check(OF(Lj,t)),n.datetime=t=>n.check(s$(t)),n.date=t=>n.check(hj(t)),n.time=t=>n.check(dj(t)),n.duration=t=>n.check(pj(t))});function j(n){return mF(wj,n)}const Ht=J("ZodStringFormat",(n,e)=>{Nt.init(n,e),i$.init(n,e)}),_j=J("ZodEmail",(n,e)=>{w2.init(n,e),Ht.init(n,e)}),bA=J("ZodGUID",(n,e)=>{v2.init(n,e),Ht.init(n,e)}),lm=J("ZodUUID",(n,e)=>{b2.init(n,e),Ht.init(n,e)}),r$=J("ZodURL",(n,e)=>{_2.init(n,e),Ht.init(n,e)});function Sj(n){return e$(r$,n)}const kj=J("ZodEmoji",(n,e)=>{S2.init(n,e),Ht.init(n,e)}),Aj=J("ZodNanoID",(n,e)=>{k2.init(n,e),Ht.init(n,e)}),xj=J("ZodCUID",(n,e)=>{A2.init(n,e),Ht.init(n,e)}),Ej=J("ZodCUID2",(n,e)=>{x2.init(n,e),Ht.init(n,e)}),Cj=J("ZodULID",(n,e)=>{E2.init(n,e),Ht.init(n,e)}),$j=J("ZodXID",(n,e)=>{C2.init(n,e),Ht.init(n,e)}),Tj=J("ZodKSUID",(n,e)=>{$2.init(n,e),Ht.init(n,e)}),Pj=J("ZodIPv4",(n,e)=>{I2.init(n,e),Ht.init(n,e)}),Rj=J("ZodIPv6",(n,e)=>{O2.init(n,e),Ht.init(n,e)}),Mj=J("ZodCIDRv4",(n,e)=>{N2.init(n,e),Ht.init(n,e)}),Ij=J("ZodCIDRv6",(n,e)=>{L2.init(n,e),Ht.init(n,e)}),Oj=J("ZodBase64",(n,e)=>{D2.init(n,e),Ht.init(n,e)}),Nj=J("ZodBase64URL",(n,e)=>{j2.init(n,e),Ht.init(n,e)}),Lj=J("ZodE164",(n,e)=>{z2.init(n,e),Ht.init(n,e)}),Dj=J("ZodJWT",(n,e)=>{B2.init(n,e),Ht.init(n,e)}),W_=J("ZodNumber",(n,e)=>{JC.init(n,e),Pt.init(n,e),n.gt=(s,i)=>n.check(yA(s,i)),n.gte=(s,i)=>n.check(W0(s,i)),n.min=(s,i)=>n.check(W0(s,i)),n.lt=(s,i)=>n.check(gA(s,i)),n.lte=(s,i)=>n.check(V0(s,i)),n.max=(s,i)=>n.check(V0(s,i)),n.int=s=>n.check(wA(s)),n.safe=s=>n.check(wA(s)),n.positive=s=>n.check(yA(0,s)),n.nonnegative=s=>n.check(W0(0,s)),n.negative=s=>n.check(gA(0,s)),n.nonpositive=s=>n.check(V0(0,s)),n.multipleOf=(s,i)=>n.check(vA(s,i)),n.step=(s,i)=>n.check(vA(s,i)),n.finite=()=>n;const t=n._zod.bag;n.minValue=Math.max(t.minimum??Number.NEGATIVE_INFINITY,t.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,n.maxValue=Math.min(t.maximum??Number.POSITIVE_INFINITY,t.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,n.isInt=(t.format??"").includes("int")||Number.isSafeInteger(t.multipleOf??.5),n.isFinite=!0,n.format=t.format??null});function Fe(n){return zF(W_,n)}const Fj=J("ZodNumberFormat",(n,e)=>{U2.init(n,e),W_.init(n,e)});function wA(n){return BF(Fj,n)}const jj=J("ZodBoolean",(n,e)=>{q2.init(n,e),Pt.init(n,e)});function Je(n){return UF(jj,n)}const zj=J("ZodUndefined",(n,e)=>{V2.init(n,e),Pt.init(n,e)});function Bv(n){return qF(zj,n)}const Hj=J("ZodNull",(n,e)=>{W2.init(n,e),Pt.init(n,e)});function Bj(n){return VF(Hj,n)}const Uj=J("ZodAny",(n,e)=>{G2.init(n,e),Pt.init(n,e)});function G_(){return WF(Uj)}const qj=J("ZodUnknown",(n,e)=>{K2.init(n,e),Pt.init(n,e)});function wt(){return GF(qj)}const Vj=J("ZodNever",(n,e)=>{Z2.init(n,e),Pt.init(n,e)});function Uv(n){return KF(Vj,n)}const Wj=J("ZodArray",(n,e)=>{X2.init(n,e),Pt.init(n,e),n.element=e.element,n.min=(t,s)=>n.check(Bg(t,s)),n.nonempty=t=>n.check(Bg(1,t)),n.max=(t,s)=>n.check(t$(t,s)),n.length=(t,s)=>n.check(n$(t,s)),n.unwrap=()=>n.element});function ie(n,e){return rj(Wj,n,e)}const o$=J("ZodObject",(n,e)=>{Y2.init(n,e),Pt.init(n,e),Tt(n,"shape",()=>e.shape),n.keyof=()=>si(Object.keys(n._zod.def.shape)),n.catchall=t=>n.clone({...n._zod.def,catchall:t}),n.passthrough=()=>n.clone({...n._zod.def,catchall:wt()}),n.loose=()=>n.clone({...n._zod.def,catchall:wt()}),n.strict=()=>n.clone({...n._zod.def,catchall:Uv()}),n.strip=()=>n.clone({...n._zod.def,catchall:void 0}),n.extend=t=>wD(n,t),n.merge=t=>_D(n,t),n.pick=t=>vD(n,t),n.omit=t=>bD(n,t),n.partial=(...t)=>SD(h$,n,t[0]),n.required=(...t)=>kD(u$,n,t[0])});function G(n,e){const t={type:"object",get shape(){return Jy(this,"shape",{...n}),this.shape},...ge(e)};return new o$(t)}function Wn(n,e){return new o$({type:"object",get shape(){return Jy(this,"shape",{...n}),this.shape},catchall:wt(),...ge(e)})}const a$=J("ZodUnion",(n,e)=>{QC.init(n,e),Pt.init(n,e),n.options=e.options});function Xe(n,e){return new a$({type:"union",options:n,...ge(e)})}const Gj=J("ZodDiscriminatedUnion",(n,e)=>{a$.init(n,e),J2.init(n,e)});function l$(n,e,t){return new Gj({type:"union",options:e,discriminator:n,...ge(t)})}const Kj=J("ZodIntersection",(n,e)=>{Q2.init(n,e),Pt.init(n,e)});function K_(n,e){return new Kj({type:"intersection",left:n,right:e})}const Zj=J("ZodRecord",(n,e)=>{eF.init(n,e),Pt.init(n,e),n.keyType=e.keyType,n.valueType=e.valueType});function Qe(n,e,t){return new Zj({type:"record",keyType:n,valueType:e,...ge(t)})}const qv=J("ZodEnum",(n,e)=>{tF.init(n,e),Pt.init(n,e),n.enum=e.entries,n.options=Object.values(e.entries);const t=new Set(Object.keys(e.entries));n.extract=(s,i)=>{const r={};for(const o of s)if(t.has(o))r[o]=e.entries[o];else throw new Error(`Key ${o} not found in enum`);return new qv({...e,checks:[],...ge(i),entries:r})},n.exclude=(s,i)=>{const r={...e.entries};for(const o of s)if(t.has(o))delete r[o];else throw new Error(`Key ${o} not found in enum`);return new qv({...e,checks:[],...ge(i),entries:r})}});function si(n,e){const t=Array.isArray(n)?Object.fromEntries(n.map(s=>[s,s])):n;return new qv({type:"enum",entries:t,...ge(e)})}const Xj=J("ZodLiteral",(n,e)=>{nF.init(n,e),Pt.init(n,e),n.values=new Set(e.values),Object.defineProperty(n,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function V(n,e){return new Xj({type:"literal",values:Array.isArray(n)?n:[n],...ge(e)})}const Yj=J("ZodTransform",(n,e)=>{sF.init(n,e),Pt.init(n,e),n._zod.parse=(t,s)=>{t.addIssue=r=>{if(typeof r=="string")t.issues.push(Zd(r,t.value,e));else{const o=r;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=t.value),o.inst??(o.inst=n),o.continue??(o.continue=!0),t.issues.push(Zd(o))}};const i=e.transform(t.value,t);return i instanceof Promise?i.then(r=>(t.value=r,t)):(t.value=i,t)}});function c$(n){return new Yj({type:"transform",transform:n})}const h$=J("ZodOptional",(n,e)=>{iF.init(n,e),Pt.init(n,e),n.unwrap=()=>n._zod.def.innerType});function zt(n){return new h$({type:"optional",innerType:n})}const Jj=J("ZodNullable",(n,e)=>{rF.init(n,e),Pt.init(n,e),n.unwrap=()=>n._zod.def.innerType});function _A(n){return new Jj({type:"nullable",innerType:n})}const Qj=J("ZodDefault",(n,e)=>{oF.init(n,e),Pt.init(n,e),n.unwrap=()=>n._zod.def.innerType,n.removeDefault=n.unwrap});function ez(n,e){return new Qj({type:"default",innerType:n,get defaultValue(){return typeof e=="function"?e():e}})}const tz=J("ZodPrefault",(n,e)=>{aF.init(n,e),Pt.init(n,e),n.unwrap=()=>n._zod.def.innerType});function nz(n,e){return new tz({type:"prefault",innerType:n,get defaultValue(){return typeof e=="function"?e():e}})}const u$=J("ZodNonOptional",(n,e)=>{lF.init(n,e),Pt.init(n,e),n.unwrap=()=>n._zod.def.innerType});function sz(n,e){return new u$({type:"nonoptional",innerType:n,...ge(e)})}const iz=J("ZodCatch",(n,e)=>{cF.init(n,e),Pt.init(n,e),n.unwrap=()=>n._zod.def.innerType,n.removeCatch=n.unwrap});function rz(n,e){return new iz({type:"catch",innerType:n,catchValue:typeof e=="function"?e:()=>e})}const oz=J("ZodPipe",(n,e)=>{hF.init(n,e),Pt.init(n,e),n.in=e.in,n.out=e.out});function Vv(n,e){return new oz({type:"pipe",in:n,out:e})}const az=J("ZodReadonly",(n,e)=>{uF.init(n,e),Pt.init(n,e)});function lz(n){return new az({type:"readonly",innerType:n})}const d$=J("ZodCustom",(n,e)=>{dF.init(n,e),Pt.init(n,e)});function cz(n){const e=new zs({check:"custom"});return e._zod.check=n,e}function hz(n,e){return oj(d$,n??(()=>!0),e)}function uz(n,e={}){return aj(d$,n,e)}function dz(n){const e=cz(t=>(t.addIssue=s=>{if(typeof s=="string")t.issues.push(Zd(s,t.value,e._zod.def));else{const i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=t.value),i.inst??(i.inst=e),i.continue??(i.continue=!e._zod.def.abort),t.issues.push(Zd(i))}},n(t.value,t)));return e}function f$(n,e){return Vv(c$(n),e)}const fz={custom:"custom"};function pz(n){return HF(W_,n)}const t0="2025-11-25",mz=[t0,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Xa="io.modelcontextprotocol/related-task",n0="2.0",vn=hz(n=>n!==null&&(typeof n=="object"||typeof n=="function")),p$=Xe([j(),Fe().int()]),m$=j();Wn({ttl:Fe().optional(),pollInterval:Fe().optional()});const gz=G({ttl:Fe().optional()}),yz=G({taskId:j()}),Z_=Wn({progressToken:p$.optional(),[Xa]:yz.optional()}),ii=G({_meta:Z_.optional()}),Mp=ii.extend({task:gz.optional()}),vz=n=>Mp.safeParse(n).success,Zn=G({method:j(),params:ii.loose().optional()}),_i=G({_meta:Z_.optional()}),Si=G({method:j(),params:_i.loose().optional()}),Xn=Wn({_meta:Z_.optional()}),Ip=Xe([j(),Fe().int()]),g$=G({jsonrpc:V(n0),id:Ip,...Zn.shape}).strict(),Wv=n=>g$.safeParse(n).success,y$=G({jsonrpc:V(n0),...Si.shape}).strict(),bz=n=>y$.safeParse(n).success,X_=G({jsonrpc:V(n0),id:Ip,result:Xn}).strict(),rd=n=>X_.safeParse(n).success;var Re;(function(n){n[n.ConnectionClosed=-32e3]="ConnectionClosed",n[n.RequestTimeout=-32001]="RequestTimeout",n[n.ParseError=-32700]="ParseError",n[n.InvalidRequest=-32600]="InvalidRequest",n[n.MethodNotFound=-32601]="MethodNotFound",n[n.InvalidParams=-32602]="InvalidParams",n[n.InternalError=-32603]="InternalError",n[n.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(Re||(Re={}));const Y_=G({jsonrpc:V(n0),id:Ip.optional(),error:G({code:Fe().int(),message:j(),data:wt().optional()})}).strict(),wz=n=>Y_.safeParse(n).success,Wm=Xe([g$,y$,X_,Y_]);Xe([X_,Y_]);const eh=Xn.strict(),_z=_i.extend({requestId:Ip.optional(),reason:j().optional()}),J_=Si.extend({method:V("notifications/cancelled"),params:_z}),Sz=G({src:j(),mimeType:j().optional(),sizes:ie(j()).optional(),theme:si(["light","dark"]).optional()}),Op=G({icons:ie(Sz).optional()}),yu=G({name:j(),title:j().optional()}),s0=yu.extend({...yu.shape,...Op.shape,version:j(),websiteUrl:j().optional(),description:j().optional()}),kz=K_(G({applyDefaults:Je().optional()}),Qe(j(),wt())),Az=f$(n=>n&&typeof n=="object"&&!Array.isArray(n)&&Object.keys(n).length===0?{form:{}}:n,K_(G({form:kz.optional(),url:vn.optional()}),Qe(j(),wt()).optional())),xz=Wn({list:vn.optional(),cancel:vn.optional(),requests:Wn({sampling:Wn({createMessage:vn.optional()}).optional(),elicitation:Wn({create:vn.optional()}).optional()}).optional()}),Ez=Wn({list:vn.optional(),cancel:vn.optional(),requests:Wn({tools:Wn({call:vn.optional()}).optional()}).optional()}),Cz=G({experimental:Qe(j(),vn).optional(),sampling:G({context:vn.optional(),tools:vn.optional()}).optional(),elicitation:Az.optional(),roots:G({listChanged:Je().optional()}).optional(),tasks:xz.optional(),extensions:Qe(j(),vn).optional()}),$z=ii.extend({protocolVersion:j(),capabilities:Cz,clientInfo:s0}),Tz=Zn.extend({method:V("initialize"),params:$z}),Pz=G({experimental:Qe(j(),vn).optional(),logging:vn.optional(),completions:vn.optional(),prompts:G({listChanged:Je().optional()}).optional(),resources:G({subscribe:Je().optional(),listChanged:Je().optional()}).optional(),tools:G({listChanged:Je().optional()}).optional(),tasks:Ez.optional(),extensions:Qe(j(),vn).optional()}),v$=Xn.extend({protocolVersion:j(),capabilities:Pz,serverInfo:s0,instructions:j().optional()}),b$=Si.extend({method:V("notifications/initialized"),params:_i.optional()}),Rz=n=>b$.safeParse(n).success,i0=Zn.extend({method:V("ping"),params:ii.optional()}),Mz=G({progress:Fe(),total:zt(Fe()),message:zt(j())}),Iz=G({..._i.shape,...Mz.shape,progressToken:p$}),Q_=Si.extend({method:V("notifications/progress"),params:Iz}),Oz=ii.extend({cursor:m$.optional()}),Np=Zn.extend({params:Oz.optional()}),Lp=Xn.extend({nextCursor:m$.optional()}),Nz=si(["working","input_required","completed","failed","cancelled"]),Dp=G({taskId:j(),status:Nz,ttl:Xe([Fe(),Bj()]),createdAt:j(),lastUpdatedAt:j(),pollInterval:zt(Fe()),statusMessage:zt(j())}),Xd=Xn.extend({task:Dp}),Lz=_i.merge(Dp),Ug=Si.extend({method:V("notifications/tasks/status"),params:Lz}),eS=Zn.extend({method:V("tasks/get"),params:ii.extend({taskId:j()})}),tS=Xn.merge(Dp),nS=Zn.extend({method:V("tasks/result"),params:ii.extend({taskId:j()})});Xn.loose();const sS=Np.extend({method:V("tasks/list")}),iS=Lp.extend({tasks:ie(Dp)}),rS=Zn.extend({method:V("tasks/cancel"),params:ii.extend({taskId:j()})}),Dz=Xn.merge(Dp),w$=G({uri:j(),mimeType:zt(j()),_meta:Qe(j(),wt()).optional()}),_$=w$.extend({text:j()}),oS=j().refine(n=>{try{return atob(n),!0}catch{return!1}},{message:"Invalid Base64 string"}),S$=w$.extend({blob:oS}),Fp=si(["user","assistant"]),Ou=G({audience:ie(Fp).optional(),priority:Fe().min(0).max(1).optional(),lastModified:s$({offset:!0}).optional()}),k$=G({...yu.shape,...Op.shape,uri:j(),description:zt(j()),mimeType:zt(j()),size:zt(Fe()),annotations:Ou.optional(),_meta:zt(Wn({}))}),Fz=G({...yu.shape,...Op.shape,uriTemplate:j(),description:zt(j()),mimeType:zt(j()),annotations:Ou.optional(),_meta:zt(Wn({}))}),A$=Np.extend({method:V("resources/list")}),aS=Lp.extend({resources:ie(k$)}),x$=Np.extend({method:V("resources/templates/list")}),lS=Lp.extend({resourceTemplates:ie(Fz)}),cS=ii.extend({uri:j()}),jz=cS,E$=Zn.extend({method:V("resources/read"),params:jz}),hS=Xn.extend({contents:ie(Xe([_$,S$]))}),uS=Si.extend({method:V("notifications/resources/list_changed"),params:_i.optional()}),zz=cS,Hz=Zn.extend({method:V("resources/subscribe"),params:zz}),Bz=cS,Uz=Zn.extend({method:V("resources/unsubscribe"),params:Bz}),qz=_i.extend({uri:j()}),Vz=Si.extend({method:V("notifications/resources/updated"),params:qz}),Wz=G({name:j(),description:zt(j()),required:zt(Je())}),Gz=G({...yu.shape,...Op.shape,description:zt(j()),arguments:zt(ie(Wz)),_meta:zt(Wn({}))}),C$=Np.extend({method:V("prompts/list")}),dS=Lp.extend({prompts:ie(Gz)}),Kz=ii.extend({name:j(),arguments:Qe(j(),j()).optional()}),Zz=Zn.extend({method:V("prompts/get"),params:Kz}),fS=G({type:V("text"),text:j(),annotations:Ou.optional(),_meta:Qe(j(),wt()).optional()}),pS=G({type:V("image"),data:oS,mimeType:j(),annotations:Ou.optional(),_meta:Qe(j(),wt()).optional()}),mS=G({type:V("audio"),data:oS,mimeType:j(),annotations:Ou.optional(),_meta:Qe(j(),wt()).optional()}),Xz=G({type:V("tool_use"),name:j(),id:j(),input:Qe(j(),wt()),_meta:Qe(j(),wt()).optional()}),$$=G({type:V("resource"),resource:Xe([_$,S$]),annotations:Ou.optional(),_meta:Qe(j(),wt()).optional()}),T$=k$.extend({type:V("resource_link")}),jp=Xe([fS,pS,mS,T$,$$]),Yz=G({role:Fp,content:jp}),P$=Xn.extend({description:j().optional(),messages:ie(Yz)}),gS=Si.extend({method:V("notifications/prompts/list_changed"),params:_i.optional()}),Jz=G({title:j().optional(),readOnlyHint:Je().optional(),destructiveHint:Je().optional(),idempotentHint:Je().optional(),openWorldHint:Je().optional()}),Qz=G({taskSupport:si(["required","optional","forbidden"]).optional()}),yS=G({...yu.shape,...Op.shape,description:j().optional(),inputSchema:G({type:V("object"),properties:Qe(j(),vn).optional(),required:ie(j()).optional()}).catchall(wt()),outputSchema:G({type:V("object"),properties:Qe(j(),vn).optional(),required:ie(j()).optional()}).catchall(wt()).optional(),annotations:Jz.optional(),execution:Qz.optional(),_meta:Qe(j(),wt()).optional()}),eH=Np.extend({method:V("tools/list")}),vS=Lp.extend({tools:ie(yS)}),uc=Xn.extend({content:ie(jp).default([]),structuredContent:Qe(j(),wt()).optional(),isError:Je().optional()});uc.or(Xn.extend({toolResult:wt()}));const tH=Mp.extend({name:j(),arguments:Qe(j(),wt()).optional()}),R$=Zn.extend({method:V("tools/call"),params:tH}),bS=Si.extend({method:V("notifications/tools/list_changed"),params:_i.optional()}),nH=G({autoRefresh:Je().default(!0),debounceMs:Fe().int().nonnegative().default(300)}),M$=si(["debug","info","notice","warning","error","critical","alert","emergency"]),sH=ii.extend({level:M$}),iH=Zn.extend({method:V("logging/setLevel"),params:sH}),rH=_i.extend({level:M$,logger:j().optional(),data:wt()}),I$=Si.extend({method:V("notifications/message"),params:rH}),oH=G({name:j().optional()}),aH=G({hints:ie(oH).optional(),costPriority:Fe().min(0).max(1).optional(),speedPriority:Fe().min(0).max(1).optional(),intelligencePriority:Fe().min(0).max(1).optional()}),lH=G({mode:si(["auto","required","none"]).optional()}),cH=G({type:V("tool_result"),toolUseId:j().describe("The unique identifier for the corresponding tool call."),content:ie(jp).default([]),structuredContent:G({}).loose().optional(),isError:Je().optional(),_meta:Qe(j(),wt()).optional()}),hH=l$("type",[fS,pS,mS]),qg=l$("type",[fS,pS,mS,Xz,cH]),uH=G({role:Fp,content:Xe([qg,ie(qg)]),_meta:Qe(j(),wt()).optional()}),dH=Mp.extend({messages:ie(uH),modelPreferences:aH.optional(),systemPrompt:j().optional(),includeContext:si(["none","thisServer","allServers"]).optional(),temperature:Fe().optional(),maxTokens:Fe().int(),stopSequences:ie(j()).optional(),metadata:vn.optional(),tools:ie(yS).optional(),toolChoice:lH.optional()}),wS=Zn.extend({method:V("sampling/createMessage"),params:dH}),O$=Xn.extend({model:j(),stopReason:zt(si(["endTurn","stopSequence","maxTokens"]).or(j())),role:Fp,content:hH}),N$=Xn.extend({model:j(),stopReason:zt(si(["endTurn","stopSequence","maxTokens","toolUse"]).or(j())),role:Fp,content:Xe([qg,ie(qg)])}),fH=G({type:V("boolean"),title:j().optional(),description:j().optional(),default:Je().optional()}),pH=G({type:V("string"),title:j().optional(),description:j().optional(),minLength:Fe().optional(),maxLength:Fe().optional(),format:si(["email","uri","date","date-time"]).optional(),default:j().optional()}),mH=G({type:si(["number","integer"]),title:j().optional(),description:j().optional(),minimum:Fe().optional(),maximum:Fe().optional(),default:Fe().optional()}),gH=G({type:V("string"),title:j().optional(),description:j().optional(),enum:ie(j()),default:j().optional()}),yH=G({type:V("string"),title:j().optional(),description:j().optional(),oneOf:ie(G({const:j(),title:j()})),default:j().optional()}),vH=G({type:V("string"),title:j().optional(),description:j().optional(),enum:ie(j()),enumNames:ie(j()).optional(),default:j().optional()}),bH=Xe([gH,yH]),wH=G({type:V("array"),title:j().optional(),description:j().optional(),minItems:Fe().optional(),maxItems:Fe().optional(),items:G({type:V("string"),enum:ie(j())}),default:ie(j()).optional()}),_H=G({type:V("array"),title:j().optional(),description:j().optional(),minItems:Fe().optional(),maxItems:Fe().optional(),items:G({anyOf:ie(G({const:j(),title:j()}))}),default:ie(j()).optional()}),SH=Xe([wH,_H]),kH=Xe([vH,bH,SH]),AH=Xe([kH,fH,pH,mH]),xH=Mp.extend({mode:V("form").optional(),message:j(),requestedSchema:G({type:V("object"),properties:Qe(j(),AH),required:ie(j()).optional()})}),EH=Mp.extend({mode:V("url"),message:j(),elicitationId:j(),url:j().url()}),CH=Xe([xH,EH]),L$=Zn.extend({method:V("elicitation/create"),params:CH}),$H=_i.extend({elicitationId:j()}),TH=Si.extend({method:V("notifications/elicitation/complete"),params:$H}),D$=Xn.extend({action:si(["accept","decline","cancel"]),content:f$(n=>n===null?void 0:n,Qe(j(),Xe([j(),Fe(),Je(),ie(j())])).optional())}),PH=G({type:V("ref/resource"),uri:j()}),RH=G({type:V("ref/prompt"),name:j()}),MH=ii.extend({ref:Xe([RH,PH]),argument:G({name:j(),value:j()}),context:G({arguments:Qe(j(),j()).optional()}).optional()}),IH=Zn.extend({method:V("completion/complete"),params:MH}),F$=Xn.extend({completion:Wn({values:ie(j()).max(100),total:zt(Fe().int()),hasMore:zt(Je())})}),OH=G({uri:j().startsWith("file://"),name:j().optional(),_meta:Qe(j(),wt()).optional()}),NH=Zn.extend({method:V("roots/list"),params:ii.optional()}),LH=Xn.extend({roots:ie(OH)}),DH=Si.extend({method:V("notifications/roots/list_changed"),params:_i.optional()});Xe([i0,Tz,IH,iH,Zz,C$,A$,x$,E$,Hz,Uz,R$,eH,eS,nS,sS,rS]);Xe([J_,Q_,b$,DH,Ug]);Xe([eh,O$,N$,D$,LH,tS,iS,Xd]);Xe([i0,wS,L$,NH,eS,nS,sS,rS]);Xe([J_,Q_,I$,Vz,uS,bS,gS,Ug,TH]);Xe([eh,v$,F$,P$,dS,aS,lS,hS,uc,vS,tS,iS,Xd]);class xe extends Error{constructor(e,t,s){super(`MCP error ${e}: ${t}`),this.code=e,this.data=s,this.name="McpError"}static fromError(e,t,s){if(e===Re.UrlElicitationRequired&&s){const i=s;if(i.elicitations)return new FH(i.elicitations,t)}return new xe(e,t,s)}}class FH extends xe{constructor(e,t=`URL elicitation${e.length>1?"s":""} required`){super(Re.UrlElicitationRequired,t,{elicitations:e})}get elicitations(){var e;return((e=this.data)==null?void 0:e.elicitations)??[]}}function _S(n){return!!n._zod}function jo(n,e){return _S(n)?UC(n,e):n.safeParse(e)}function j$(n){var t,s;if(!n)return;let e;if(_S(n)?e=(s=(t=n._zod)==null?void 0:t.def)==null?void 0:s.shape:e=n.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function z$(n){var i;if(_S(n)){const o=(i=n._zod)==null?void 0:i.def;if(o){if(o.value!==void 0)return o.value;if(Array.isArray(o.values)&&o.values.length>0)return o.values[0]}}const t=n._def;if(t){if(t.value!==void 0)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}const s=n.value;if(s!==void 0)return s}function Ua(n){return n==="completed"||n==="failed"||n==="cancelled"}new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function SA(n){const e=j$(n),t=e==null?void 0:e.method;if(!t)throw new Error("Schema is missing a method literal");const s=z$(t);if(typeof s!="string")throw new Error("Schema method literal must be a string");return s}function kA(n,e){const t=jo(n,e);if(!t.success)throw t.error;return t.data}const jH=6e4;class H${constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(J_,t=>{this._oncancel(t)}),this.setNotificationHandler(Q_,t=>{this._onprogress(t)}),this.setRequestHandler(i0,t=>({})),this._taskStore=e==null?void 0:e.taskStore,this._taskMessageQueue=e==null?void 0:e.taskMessageQueue,this._taskStore&&(this.setRequestHandler(eS,async(t,s)=>{const i=await this._taskStore.getTask(t.params.taskId,s.sessionId);if(!i)throw new xe(Re.InvalidParams,"Failed to retrieve task: Task not found");return{...i}}),this.setRequestHandler(nS,async(t,s)=>{const i=async()=>{var a;const r=t.params.taskId;if(this._taskMessageQueue){let l;for(;l=await this._taskMessageQueue.dequeue(r,s.sessionId);){if(l.type==="response"||l.type==="error"){const c=l.message,h=c.id,u=this._requestResolvers.get(h);if(u)if(this._requestResolvers.delete(h),l.type==="response")u(c);else{const d=c,p=new xe(d.error.code,d.error.message,d.error.data);u(p)}else{const d=l.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${h}`))}continue}await((a=this._transport)==null?void 0:a.send(l.message,{relatedRequestId:s.requestId}))}}const o=await this._taskStore.getTask(r,s.sessionId);if(!o)throw new xe(Re.InvalidParams,`Task not found: ${r}`);if(!Ua(o.status))return await this._waitForTaskUpdate(r,s.signal),await i();if(Ua(o.status)){const l=await this._taskStore.getTaskResult(r,s.sessionId);return this._clearTaskQueue(r),{...l,_meta:{...l._meta,[Xa]:{taskId:r}}}}return await i()};return await i()}),this.setRequestHandler(sS,async(t,s)=>{var i;try{const{tasks:r,nextCursor:o}=await this._taskStore.listTasks((i=t.params)==null?void 0:i.cursor,s.sessionId);return{tasks:r,nextCursor:o,_meta:{}}}catch(r){throw new xe(Re.InvalidParams,`Failed to list tasks: ${r instanceof Error?r.message:String(r)}`)}}),this.setRequestHandler(rS,async(t,s)=>{try{const i=await this._taskStore.getTask(t.params.taskId,s.sessionId);if(!i)throw new xe(Re.InvalidParams,`Task not found: ${t.params.taskId}`);if(Ua(i.status))throw new xe(Re.InvalidParams,`Cannot cancel task in terminal status: ${i.status}`);await this._taskStore.updateTaskStatus(t.params.taskId,"cancelled","Client cancelled task execution.",s.sessionId),this._clearTaskQueue(t.params.taskId);const r=await this._taskStore.getTask(t.params.taskId,s.sessionId);if(!r)throw new xe(Re.InvalidParams,`Task not found after cancellation: ${t.params.taskId}`);return{_meta:{},...r}}catch(i){throw i instanceof xe?i:new xe(Re.InvalidRequest,`Failed to cancel task: ${i instanceof Error?i.message:String(i)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;const t=this._requestHandlerAbortControllers.get(e.params.requestId);t==null||t.abort(e.params.reason)}_setupTimeout(e,t,s,i,r=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(i,t),startTime:Date.now(),timeout:t,maxTotalTimeout:s,resetTimeoutOnProgress:r,onTimeout:i})}_resetTimeout(e){const t=this._timeoutInfo.get(e);if(!t)return!1;const s=Date.now()-t.startTime;if(t.maxTotalTimeout&&s>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),xe.fromError(Re.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:s});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){const t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){var r,o,a;if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;const t=(r=this.transport)==null?void 0:r.onclose;this._transport.onclose=()=>{t==null||t(),this._onclose()};const s=(o=this.transport)==null?void 0:o.onerror;this._transport.onerror=l=>{s==null||s(l),this._onerror(l)};const i=(a=this._transport)==null?void 0:a.onmessage;this._transport.onmessage=(l,c)=>{i==null||i(l,c),rd(l)||wz(l)?this._onresponse(l):Wv(l)?this._onrequest(l,c):bz(l)?this._onnotification(l):this._onerror(new Error(`Unknown message type: ${JSON.stringify(l)}`))},await this._transport.start()}_onclose(){var s;const e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(const i of this._timeoutInfo.values())clearTimeout(i.timeoutId);this._timeoutInfo.clear();for(const i of this._requestHandlerAbortControllers.values())i.abort();this._requestHandlerAbortControllers.clear();const t=xe.fromError(Re.ConnectionClosed,"Connection closed");this._transport=void 0,(s=this.onclose)==null||s.call(this);for(const i of e.values())i(t)}_onerror(e){var t;(t=this.onerror)==null||t.call(this,e)}_onnotification(e){const t=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;t!==void 0&&Promise.resolve().then(()=>t(e)).catch(s=>this._onerror(new Error(`Uncaught error in notification handler: ${s}`)))}_onrequest(e,t){var h,u,d,p;const s=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,i=this._transport,r=(d=(u=(h=e.params)==null?void 0:h._meta)==null?void 0:u[Xa])==null?void 0:d.taskId;if(s===void 0){const m={jsonrpc:"2.0",id:e.id,error:{code:Re.MethodNotFound,message:"Method not found"}};r&&this._taskMessageQueue?this._enqueueTaskMessage(r,{type:"error",message:m,timestamp:Date.now()},i==null?void 0:i.sessionId).catch(g=>this._onerror(new Error(`Failed to enqueue error response: ${g}`))):i==null||i.send(m).catch(g=>this._onerror(new Error(`Failed to send an error response: ${g}`)));return}const o=new AbortController;this._requestHandlerAbortControllers.set(e.id,o);const a=vz(e.params)?e.params.task:void 0,l=this._taskStore?this.requestTaskStore(e,i==null?void 0:i.sessionId):void 0,c={signal:o.signal,sessionId:i==null?void 0:i.sessionId,_meta:(p=e.params)==null?void 0:p._meta,sendNotification:async m=>{if(o.signal.aborted)return;const g={relatedRequestId:e.id};r&&(g.relatedTask={taskId:r}),await this.notification(m,g)},sendRequest:async(m,g,v)=>{var _;if(o.signal.aborted)throw new xe(Re.ConnectionClosed,"Request was cancelled");const y={...v,relatedRequestId:e.id};r&&!y.relatedTask&&(y.relatedTask={taskId:r});const w=((_=y.relatedTask)==null?void 0:_.taskId)??r;return w&&l&&await l.updateTaskStatus(w,"input_required"),await this.request(m,g,y)},authInfo:t==null?void 0:t.authInfo,requestId:e.id,requestInfo:t==null?void 0:t.requestInfo,taskId:r,taskStore:l,taskRequestedTtl:a==null?void 0:a.ttl,closeSSEStream:t==null?void 0:t.closeSSEStream,closeStandaloneSSEStream:t==null?void 0:t.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>s(e,c)).then(async m=>{if(o.signal.aborted)return;const g={result:m,jsonrpc:"2.0",id:e.id};r&&this._taskMessageQueue?await this._enqueueTaskMessage(r,{type:"response",message:g,timestamp:Date.now()},i==null?void 0:i.sessionId):await(i==null?void 0:i.send(g))},async m=>{if(o.signal.aborted)return;const g={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(m.code)?m.code:Re.InternalError,message:m.message??"Internal error",...m.data!==void 0&&{data:m.data}}};r&&this._taskMessageQueue?await this._enqueueTaskMessage(r,{type:"error",message:g,timestamp:Date.now()},i==null?void 0:i.sessionId):await(i==null?void 0:i.send(g))}).catch(m=>this._onerror(new Error(`Failed to send response: ${m}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===o&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){const{progressToken:t,...s}=e.params,i=Number(t),r=this._progressHandlers.get(i);if(!r){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}const o=this._responseHandlers.get(i),a=this._timeoutInfo.get(i);if(a&&o&&a.resetTimeoutOnProgress)try{this._resetTimeout(i)}catch(l){this._responseHandlers.delete(i),this._progressHandlers.delete(i),this._cleanupTimeout(i),o(l);return}r(s)}_onresponse(e){const t=Number(e.id),s=this._requestResolvers.get(t);if(s){if(this._requestResolvers.delete(t),rd(e))s(e);else{const o=new xe(e.error.code,e.error.message,e.error.data);s(o)}return}const i=this._responseHandlers.get(t);if(i===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(t),this._cleanupTimeout(t);let r=!1;if(rd(e)&&e.result&&typeof e.result=="object"){const o=e.result;if(o.task&&typeof o.task=="object"){const a=o.task;typeof a.taskId=="string"&&(r=!0,this._taskProgressTokens.set(a.taskId,t))}}if(r||this._progressHandlers.delete(t),rd(e))i(e);else{const o=xe.fromError(e.error.code,e.error.message,e.error.data);i(o)}}get transport(){return this._transport}async close(){var e;await((e=this._transport)==null?void 0:e.close())}async*requestStream(e,t,s){var o,a;const{task:i}=s??{};if(!i){try{yield{type:"result",result:await this.request(e,t,s)}}catch(l){yield{type:"error",error:l instanceof xe?l:new xe(Re.InternalError,String(l))}}return}let r;try{const l=await this.request(e,Xd,s);if(l.task)r=l.task.taskId,yield{type:"taskCreated",task:l.task};else throw new xe(Re.InternalError,"Task creation did not return a task");for(;;){const c=await this.getTask({taskId:r},s);if(yield{type:"taskStatus",task:c},Ua(c.status)){c.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:r},t,s)}:c.status==="failed"?yield{type:"error",error:new xe(Re.InternalError,`Task ${r} failed`)}:c.status==="cancelled"&&(yield{type:"error",error:new xe(Re.InternalError,`Task ${r} was cancelled`)});return}if(c.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:r},t,s)};return}const h=c.pollInterval??((o=this._options)==null?void 0:o.defaultTaskPollInterval)??1e3;await new Promise(u=>setTimeout(u,h)),(a=s==null?void 0:s.signal)==null||a.throwIfAborted()}}catch(l){yield{type:"error",error:l instanceof xe?l:new xe(Re.InternalError,String(l))}}}request(e,t,s){const{relatedRequestId:i,resumptionToken:r,onresumptiontoken:o,task:a,relatedTask:l}=s??{};return new Promise((c,h)=>{var w,_,A,k,$;const u=E=>{h(E)};if(!this._transport){u(new Error("Not connected"));return}if(((w=this._options)==null?void 0:w.enforceStrictCapabilities)===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch(E){u(E);return}(_=s==null?void 0:s.signal)==null||_.throwIfAborted();const d=this._requestMessageId++,p={...e,jsonrpc:"2.0",id:d};s!=null&&s.onprogress&&(this._progressHandlers.set(d,s.onprogress),p.params={...e.params,_meta:{...((A=e.params)==null?void 0:A._meta)||{},progressToken:d}}),a&&(p.params={...p.params,task:a}),l&&(p.params={...p.params,_meta:{...((k=p.params)==null?void 0:k._meta)||{},[Xa]:l}});const m=E=>{var F;this._responseHandlers.delete(d),this._progressHandlers.delete(d),this._cleanupTimeout(d),(F=this._transport)==null||F.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:d,reason:String(E)}},{relatedRequestId:i,resumptionToken:r,onresumptiontoken:o}).catch(U=>this._onerror(new Error(`Failed to send cancellation: ${U}`)));const O=E instanceof xe?E:new xe(Re.RequestTimeout,String(E));h(O)};this._responseHandlers.set(d,E=>{var O;if(!((O=s==null?void 0:s.signal)!=null&&O.aborted)){if(E instanceof Error)return h(E);try{const F=jo(t,E.result);F.success?c(F.data):h(F.error)}catch(F){h(F)}}}),($=s==null?void 0:s.signal)==null||$.addEventListener("abort",()=>{var E;m((E=s==null?void 0:s.signal)==null?void 0:E.reason)});const g=(s==null?void 0:s.timeout)??jH,v=()=>m(xe.fromError(Re.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(d,g,s==null?void 0:s.maxTotalTimeout,v,(s==null?void 0:s.resetTimeoutOnProgress)??!1);const y=l==null?void 0:l.taskId;if(y){const E=O=>{const F=this._responseHandlers.get(d);F?F(O):this._onerror(new Error(`Response handler missing for side-channeled request ${d}`))};this._requestResolvers.set(d,E),this._enqueueTaskMessage(y,{type:"request",message:p,timestamp:Date.now()}).catch(O=>{this._cleanupTimeout(d),h(O)})}else this._transport.send(p,{relatedRequestId:i,resumptionToken:r,onresumptiontoken:o}).catch(E=>{this._cleanupTimeout(d),h(E)})})}async getTask(e,t){return this.request({method:"tasks/get",params:e},tS,t)}async getTaskResult(e,t,s){return this.request({method:"tasks/result",params:e},t,s)}async listTasks(e,t){return this.request({method:"tasks/list",params:e},iS,t)}async cancelTask(e,t){return this.request({method:"tasks/cancel",params:e},Dz,t)}async notification(e,t){var a,l,c,h;if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);const s=(a=t==null?void 0:t.relatedTask)==null?void 0:a.taskId;if(s){const u={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...((l=e.params)==null?void 0:l._meta)||{},[Xa]:t.relatedTask}}};await this._enqueueTaskMessage(s,{type:"notification",message:u,timestamp:Date.now()});return}if((((c=this._options)==null?void 0:c.debouncedNotificationMethods)??[]).includes(e.method)&&!e.params&&!(t!=null&&t.relatedRequestId)&&!(t!=null&&t.relatedTask)){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{var d,p;if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let u={...e,jsonrpc:"2.0"};t!=null&&t.relatedTask&&(u={...u,params:{...u.params,_meta:{...((d=u.params)==null?void 0:d._meta)||{},[Xa]:t.relatedTask}}}),(p=this._transport)==null||p.send(u,t).catch(m=>this._onerror(m))});return}let o={...e,jsonrpc:"2.0"};t!=null&&t.relatedTask&&(o={...o,params:{...o.params,_meta:{...((h=o.params)==null?void 0:h._meta)||{},[Xa]:t.relatedTask}}}),await this._transport.send(o,t)}setRequestHandler(e,t){const s=SA(e);this.assertRequestHandlerCapability(s),this._requestHandlers.set(s,(i,r)=>{const o=kA(e,i);return Promise.resolve(t(o,r))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){const s=SA(e);this._notificationHandlers.set(s,i=>{const r=kA(e,i);return Promise.resolve(t(r))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){const t=this._taskProgressTokens.get(e);t!==void 0&&(this._progressHandlers.delete(t),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,t,s){var r;if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");const i=(r=this._options)==null?void 0:r.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,t,s,i)}async _clearTaskQueue(e,t){if(this._taskMessageQueue){const s=await this._taskMessageQueue.dequeueAll(e,t);for(const i of s)if(i.type==="request"&&Wv(i.message)){const r=i.message.id,o=this._requestResolvers.get(r);o?(o(new xe(Re.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(r)):this._onerror(new Error(`Resolver missing for request ${r} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,t){var i,r;let s=((i=this._options)==null?void 0:i.defaultTaskPollInterval)??1e3;try{const o=await((r=this._taskStore)==null?void 0:r.getTask(e));o!=null&&o.pollInterval&&(s=o.pollInterval)}catch{}return new Promise((o,a)=>{if(t.aborted){a(new xe(Re.InvalidRequest,"Request cancelled"));return}const l=setTimeout(o,s);t.addEventListener("abort",()=>{clearTimeout(l),a(new xe(Re.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,t){const s=this._taskStore;if(!s)throw new Error("No task store configured");return{createTask:async i=>{if(!e)throw new Error("No request provided");return await s.createTask(i,e.id,{method:e.method,params:e.params},t)},getTask:async i=>{const r=await s.getTask(i,t);if(!r)throw new xe(Re.InvalidParams,"Failed to retrieve task: Task not found");return r},storeTaskResult:async(i,r,o)=>{await s.storeTaskResult(i,r,o,t);const a=await s.getTask(i,t);if(a){const l=Ug.parse({method:"notifications/tasks/status",params:a});await this.notification(l),Ua(a.status)&&this._cleanupTaskProgressHandler(i)}},getTaskResult:i=>s.getTaskResult(i,t),updateTaskStatus:async(i,r,o)=>{const a=await s.getTask(i,t);if(!a)throw new xe(Re.InvalidParams,`Task "${i}" not found - it may have been cleaned up`);if(Ua(a.status))throw new xe(Re.InvalidParams,`Cannot update task "${i}" from terminal status "${a.status}" to "${r}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await s.updateTaskStatus(i,r,o,t);const l=await s.getTask(i,t);if(l){const c=Ug.parse({method:"notifications/tasks/status",params:l});await this.notification(c),Ua(l.status)&&this._cleanupTaskProgressHandler(i)}},listTasks:i=>s.listTasks(i,t)}}}function AA(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function zH(n,e){const t={...n};for(const s in e){const i=s,r=e[i];if(r===void 0)continue;const o=t[i];AA(o)&&AA(r)?t[i]={...o,...r}:t[i]=r}return t}(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});class HH extends H${constructor(){super(...arguments);re(this,"_registeredMethods",new Set);re(this,"_eventSlots",new Map);re(this,"setRequestHandler",(t,s)=>{this._assertMethodNotRegistered(t,"setRequestHandler"),super.setRequestHandler(t,s)});re(this,"setNotificationHandler",(t,s)=>{this._assertMethodNotRegistered(t,"setNotificationHandler"),super.setNotificationHandler(t,s)});re(this,"replaceRequestHandler",(t,s)=>{let i=t.shape.method.value;this._registeredMethods.add(i),super.setRequestHandler(t,s)})}onEventDispatch(t,s){}_ensureEventSlot(t){let s=this._eventSlots.get(t);if(!s){let i=this.eventSchemas[t];if(!i)throw Error(`Unknown event: ${String(t)}`);s={listeners:[]},this._eventSlots.set(t,s);let r=i.shape.method.value;this._registeredMethods.add(r);let o=s;super.setNotificationHandler(i,a=>{var c;let l=a.params;this.onEventDispatch(t,l),(c=o.onHandler)==null||c.call(o,l);for(let h of[...o.listeners])h(l)})}return s}setEventHandler(t,s){let i=this._ensureEventSlot(t);i.onHandler&&s&&console.warn(`[MCP Apps] on${String(t)} handler replaced. Use addEventListener("${String(t)}", …) to add multiple listeners without replacing.`),i.onHandler=s}getEventHandler(t){var s;return(s=this._eventSlots.get(t))==null?void 0:s.onHandler}addEventListener(t,s){this._ensureEventSlot(t).listeners.push(s)}removeEventListener(t,s){let i=this._eventSlots.get(t);if(!i)return;let r=i.listeners.indexOf(s);r!==-1&&i.listeners.splice(r,1)}warnIfRequestHandlerReplaced(t,s,i){s&&i&&console.warn(`[MCP Apps] ${t} handler replaced. Previous handler will no longer be called.`)}_assertMethodNotRegistered(t,s){let i=t.shape.method.value;if(this._registeredMethods.has(i))throw Error(`Handler for "${i}" already registered (via ${s}). Use addEventListener() to attach multiple listeners, or the on* setter for replace semantics.`);this._registeredMethods.add(i)}}var B$="2026-01-26",BH="ui/notifications/tool-input-partial",UH=Xe([V("light"),V("dark")]).describe("Color theme preference for the host environment."),Yd=Xe([V("inline"),V("fullscreen"),V("pip")]).describe("Display mode for UI presentation."),qH=Xe([V("--color-background-primary"),V("--color-background-secondary"),V("--color-background-tertiary"),V("--color-background-inverse"),V("--color-background-ghost"),V("--color-background-info"),V("--color-background-danger"),V("--color-background-success"),V("--color-background-warning"),V("--color-background-disabled"),V("--color-text-primary"),V("--color-text-secondary"),V("--color-text-tertiary"),V("--color-text-inverse"),V("--color-text-ghost"),V("--color-text-info"),V("--color-text-danger"),V("--color-text-success"),V("--color-text-warning"),V("--color-text-disabled"),V("--color-border-primary"),V("--color-border-secondary"),V("--color-border-tertiary"),V("--color-border-inverse"),V("--color-border-ghost"),V("--color-border-info"),V("--color-border-danger"),V("--color-border-success"),V("--color-border-warning"),V("--color-border-disabled"),V("--color-ring-primary"),V("--color-ring-secondary"),V("--color-ring-inverse"),V("--color-ring-info"),V("--color-ring-danger"),V("--color-ring-success"),V("--color-ring-warning"),V("--font-sans"),V("--font-mono"),V("--font-weight-normal"),V("--font-weight-medium"),V("--font-weight-semibold"),V("--font-weight-bold"),V("--font-text-xs-size"),V("--font-text-sm-size"),V("--font-text-md-size"),V("--font-text-lg-size"),V("--font-heading-xs-size"),V("--font-heading-sm-size"),V("--font-heading-md-size"),V("--font-heading-lg-size"),V("--font-heading-xl-size"),V("--font-heading-2xl-size"),V("--font-heading-3xl-size"),V("--font-text-xs-line-height"),V("--font-text-sm-line-height"),V("--font-text-md-line-height"),V("--font-text-lg-line-height"),V("--font-heading-xs-line-height"),V("--font-heading-sm-line-height"),V("--font-heading-md-line-height"),V("--font-heading-lg-line-height"),V("--font-heading-xl-line-height"),V("--font-heading-2xl-line-height"),V("--font-heading-3xl-line-height"),V("--border-radius-xs"),V("--border-radius-sm"),V("--border-radius-md"),V("--border-radius-lg"),V("--border-radius-xl"),V("--border-radius-full"),V("--border-width-regular"),V("--shadow-hairline"),V("--shadow-sm"),V("--shadow-md"),V("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),VH=Qe(qH.describe(`Style variables for theming MCP apps. + +Individual style keys are optional - hosts may provide any subset of these values. +Values are strings containing CSS values (colors, sizes, font stacks, etc.). + +Note: This type uses \`Record\` rather than \`Partial>\` +for compatibility with Zod schema generation. Both are functionally equivalent for validation.`),Xe([j(),Bv()]).describe(`Style variables for theming MCP apps. + +Individual style keys are optional - hosts may provide any subset of these values. +Values are strings containing CSS values (colors, sizes, font stacks, etc.). + +Note: This type uses \`Record\` rather than \`Partial>\` +for compatibility with Zod schema generation. Both are functionally equivalent for validation.`)).describe(`Style variables for theming MCP apps. + +Individual style keys are optional - hosts may provide any subset of these values. +Values are strings containing CSS values (colors, sizes, font stacks, etc.). + +Note: This type uses \`Record\` rather than \`Partial>\` +for compatibility with Zod schema generation. Both are functionally equivalent for validation.`),WH=G({method:V("ui/open-link"),params:G({url:j().describe("URL to open in the host's browser")})});G({isError:Je().optional().describe("True if the host failed to open the URL (e.g., due to security policy).")}).passthrough();G({isError:Je().optional().describe("True if the download failed (e.g., user cancelled or host denied).")}).passthrough();G({isError:Je().optional().describe("True if the host rejected or failed to deliver the message.")}).passthrough();var GH=G({method:V("ui/notifications/sandbox-proxy-ready"),params:G({})}),SS=G({connectDomains:ie(j()).optional().describe(`Origins for network requests (fetch/XHR/WebSocket). + +- Maps to CSP \`connect-src\` directive +- Empty or omitted → no network connections (secure default)`),resourceDomains:ie(j()).optional().describe("Origins for static resources (images, scripts, stylesheets, fonts, media).\n\n- Maps to CSP `img-src`, `script-src`, `style-src`, `font-src`, `media-src` directives\n- Wildcard subdomains supported: `https://*.example.com`\n- Empty or omitted → no network resources (secure default)"),frameDomains:ie(j()).optional().describe("Origins for nested iframes.\n\n- Maps to CSP `frame-src` directive\n- Empty or omitted → no nested iframes allowed (`frame-src 'none'`)"),baseUriDomains:ie(j()).optional().describe("Allowed base URIs for the document.\n\n- Maps to CSP `base-uri` directive\n- Empty or omitted → only same origin allowed (`base-uri 'self'`)")}),kS=G({camera:G({}).optional().describe("Request camera access.\n\nMaps to Permission Policy `camera` feature."),microphone:G({}).optional().describe("Request microphone access.\n\nMaps to Permission Policy `microphone` feature."),geolocation:G({}).optional().describe("Request geolocation access.\n\nMaps to Permission Policy `geolocation` feature."),clipboardWrite:G({}).optional().describe("Request clipboard write access.\n\nMaps to Permission Policy `clipboard-write` feature.")}),KH=G({method:V("ui/notifications/size-changed"),params:G({width:Fe().optional().describe("New width in pixels."),height:Fe().optional().describe("New height in pixels.")})});G({method:V("ui/notifications/tool-input"),params:G({arguments:Qe(j(),wt().describe("Complete tool call arguments as key-value pairs.")).optional().describe("Complete tool call arguments as key-value pairs.")})});G({method:V("ui/notifications/tool-input-partial"),params:G({arguments:Qe(j(),wt().describe("Partial tool call arguments (incomplete, may change).")).optional().describe("Partial tool call arguments (incomplete, may change).")})});G({method:V("ui/notifications/tool-cancelled"),params:G({reason:j().optional().describe('Optional reason for the cancellation (e.g., "user action", "timeout").')})});var ZH=G({fonts:j().optional()}),XH=G({variables:VH.optional().describe("CSS variables for theming the app."),css:ZH.optional().describe("CSS blocks that apps can inject.")});G({method:V("ui/resource-teardown"),params:G({})});var YH=Qe(j(),wt()),xA=G({text:G({}).optional().describe("Host supports text content blocks."),image:G({}).optional().describe("Host supports image content blocks."),audio:G({}).optional().describe("Host supports audio content blocks."),resource:G({}).optional().describe("Host supports resource content blocks."),resourceLink:G({}).optional().describe("Host supports resource link content blocks."),structuredContent:G({}).optional().describe("Host supports structured content.")}),JH=G({method:V("ui/notifications/request-teardown"),params:G({}).optional()}),QH=G({experimental:Qe(j(),Qe(j(),G_()).describe("Experimental features keyed by identifier.")).optional().describe("Experimental features keyed by identifier."),openLinks:G({}).optional().describe("Host supports opening external URLs."),downloadFile:G({}).optional().describe("Host supports file downloads via ui/download-file."),serverTools:G({listChanged:Je().optional().describe("Host supports tools/list_changed notifications.")}).optional().describe("Host can proxy tool calls to the MCP server."),serverResources:G({listChanged:Je().optional().describe("Host supports resources/list_changed notifications.")}).optional().describe("Host can proxy resource reads to the MCP server."),logging:G({}).optional().describe("Host accepts log messages."),sandbox:G({permissions:kS.optional().describe("Permissions granted by the host (camera, microphone, geolocation)."),csp:SS.optional().describe("CSP domains approved by the host.")}).optional().describe("Sandbox configuration applied by the host."),updateModelContext:xA.optional().describe("Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns."),message:xA.optional().describe("Host supports receiving content messages (ui/message) from the view."),sampling:G({tools:G({}).optional().describe("Host supports tool use via `tools` and `toolChoice` parameters.")}).optional().describe("Host supports LLM sampling (sampling/createMessage) from the view.\nMirrors the MCP `ClientCapabilities.sampling` shape so hosts can pass it through.")}),eB=G({experimental:Qe(j(),Qe(j(),G_()).describe("Experimental features keyed by identifier.")).optional().describe("Experimental features keyed by identifier."),tools:G({listChanged:Je().optional().describe("App supports tools/list_changed notifications.")}).optional().describe("App exposes MCP-style tools that the host can call."),availableDisplayModes:ie(Yd).optional().describe("Display modes the app supports.")}),tB=G({method:V("ui/notifications/initialized"),params:G({}).optional()});G({csp:SS.optional().describe("Content Security Policy configuration for UI resources."),permissions:kS.optional().describe("Sandbox permissions requested by the UI resource."),domain:j().optional().describe(`Dedicated origin for view sandbox. + +Useful when views need stable, dedicated origins for OAuth callbacks, CORS policies, or API key allowlists. + +**Host-dependent:** The format and validation rules for this field are determined by each host. Servers MUST consult host-specific documentation for the expected domain format. Common patterns include: +- Hash-based subdomains (e.g., \`{hash}.claudemcpcontent.com\`) +- URL-derived subdomains (e.g., \`www-example-com.oaiusercontent.com\`) + +If omitted, host uses default sandbox origin (typically per-conversation).`),prefersBorder:Je().optional().describe(`Visual boundary preference - true if view prefers a visible border. + +Boolean requesting whether a visible border and background is provided by the host. Specifying an explicit value for this is recommended because hosts' defaults may vary. + +- \`true\`: request visible border + background +- \`false\`: request no visible border + background +- omitted: host decides border`)});var EA=G({method:V("ui/request-display-mode"),params:G({mode:Yd.describe("The display mode being requested.")})});G({mode:Yd.describe("The display mode that was actually set. May differ from requested if not supported.")}).passthrough();var nB=Xe([V("model"),V("app")]).describe("Tool visibility scope - who can access the tool.");G({resourceUri:j().optional(),visibility:ie(nB).optional().describe(`Who can access this tool. Default: ["model", "app"] +- "model": Tool visible to and callable by the agent +- "app": Tool callable by the app from this server only`),csp:Uv().optional(),permissions:Uv().optional()});G({mimeTypes:ie(j()).optional().describe('Array of supported MIME types for UI resources.\nMust include `"text/html;profile=mcp-app"` for MCP Apps support.')});var sB=G({method:V("ui/download-file"),params:G({contents:ie(Xe([$$,T$])).describe("Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.")})}),iB=G({method:V("ui/message"),params:G({role:V("user").describe('Message role, currently only "user" is supported.'),content:ie(jp).describe("Message content blocks (text, image, etc.).")})});G({method:V("ui/notifications/sandbox-resource-ready"),params:G({html:j().describe("HTML content to load into the inner iframe."),sandbox:j().optional().describe("Optional override for the inner iframe's sandbox attribute."),csp:SS.optional().describe("CSP configuration from resource metadata."),permissions:kS.optional().describe("Sandbox permissions from resource metadata.")})});G({method:V("ui/notifications/tool-result"),params:uc.describe("Standard MCP tool execution result.")});var U$=G({toolInfo:G({id:Ip.optional().describe("JSON-RPC id of the tools/call request."),tool:yS.describe("Tool definition including name, inputSchema, etc.")}).optional().describe("Metadata of the tool call that instantiated this App."),theme:UH.optional().describe("Current color theme preference."),styles:XH.optional().describe("Style configuration for theming the app."),displayMode:Yd.optional().describe("How the UI is currently displayed."),availableDisplayModes:ie(Yd).optional().describe("Display modes the host supports."),containerDimensions:Xe([G({height:Fe().describe("Fixed container height in pixels.")}),G({maxHeight:Xe([Fe(),Bv()]).optional().describe("Maximum container height in pixels.")})]).and(Xe([G({width:Fe().describe("Fixed container width in pixels.")}),G({maxWidth:Xe([Fe(),Bv()]).optional().describe("Maximum container width in pixels.")})])).optional().describe(`Container dimensions. Represents the dimensions of the iframe or other +container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:j().optional().describe("User's language and region preference in BCP 47 format."),timeZone:j().optional().describe("User's timezone in IANA format."),userAgent:j().optional().describe("Host application identifier."),platform:Xe([V("web"),V("desktop"),V("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:G({touch:Je().optional().describe("Whether the device supports touch input."),hover:Je().optional().describe("Whether the device supports hover interactions.")}).optional().describe("Device input capabilities."),safeAreaInsets:G({top:Fe().describe("Top safe area inset in pixels."),right:Fe().describe("Right safe area inset in pixels."),bottom:Fe().describe("Bottom safe area inset in pixels."),left:Fe().describe("Left safe area inset in pixels.")}).optional().describe("Mobile safe area boundaries in pixels.")}).passthrough();G({method:V("ui/notifications/host-context-changed"),params:U$.describe("Partial context update containing only changed fields.")});var rB=G({method:V("ui/update-model-context"),params:G({content:ie(jp).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:Qe(j(),wt().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})}),oB=G({method:V("ui/initialize"),params:G({appInfo:s0.describe("App identification (name and version)."),appCapabilities:eB.describe("Features and capabilities this app provides."),protocolVersion:j().describe("Protocol version this app supports.")})});G({protocolVersion:j().describe('Negotiated protocol version string (e.g., "2025-11-21").'),hostInfo:s0.describe("Host application identification and version."),hostCapabilities:QH.describe("Features and capabilities provided by the host."),hostContext:U$.describe("Rich context about the host environment.")}).passthrough();class aB{constructor(e=window.parent,t){re(this,"eventTarget");re(this,"eventSource");re(this,"messageListener");re(this,"onclose");re(this,"onerror");re(this,"onmessage");re(this,"sessionId");re(this,"setProtocolVersion");this.eventTarget=e,this.eventSource=t,this.messageListener=s=>{var r,o,a;if(t&&s.source!==this.eventSource){console.debug("Ignoring message from unknown source",s);return}let i=Wm.safeParse(s.data);i.success?(console.debug("Parsed message",i.data),(r=this.onmessage)==null||r.call(this,i.data)):((o=s.data)==null?void 0:o.jsonrpc)!=="2.0"?console.debug("Ignoring non-JSON-RPC message",i.error.message,s):(console.error("Failed to parse message",i.error.message,s),(a=this.onerror)==null||a.call(this,Error("Invalid JSON-RPC message received: "+i.error.message)))}}async start(){window.addEventListener("message",this.messageListener)}async send(e,t){e.method!==BH&&console.debug("Sending message",e),this.eventTarget.postMessage(e,"*")}async close(){var e;window.removeEventListener("message",this.messageListener),(e=this.onclose)==null||e.call(this)}}var lB=[B$];class cB extends HH{constructor(t,s,i,r){super(r);re(this,"_client");re(this,"_hostInfo");re(this,"_capabilities");re(this,"_appCapabilities");re(this,"_hostContext",{});re(this,"_appInfo");re(this,"_initializedReceived",!1);re(this,"_baseReplaceRequestHandler",this.replaceRequestHandler);re(this,"replaceRequestHandler",(t,s)=>{this._baseReplaceRequestHandler(t,(i,r)=>(this._initializedReceived||console.warn(`[ext-apps] AppBridge received '${i.method}' before ui/notifications/initialized. The View is calling host methods before completing the handshake; it should await app.connect() first.`),s(i,r)))});re(this,"eventSchemas",{sizechange:KH,sandboxready:GH,initialized:tB,requestteardown:JH,loggingmessage:I$});re(this,"onping");re(this,"_onmessage");re(this,"_onopenlink");re(this,"_ondownloadfile");re(this,"_onrequestdisplaymode");re(this,"_onupdatemodelcontext");re(this,"_oncalltool");re(this,"_onlistresources");re(this,"_onlistresourcetemplates");re(this,"_onreadresource");re(this,"_onlistprompts");re(this,"sendResourceTeardown",this.teardownResource);this._client=t,this._hostInfo=s,this._capabilities=i,this.addEventListener("initialized",()=>{this._initializedReceived=!0}),this._hostContext=(r==null?void 0:r.hostContext)||{},this.setRequestHandler(oB,o=>this._oninitialize(o)),this.setRequestHandler(i0,(o,a)=>{var l;return(l=this.onping)==null||l.call(this,o.params,a),{}}),this.replaceRequestHandler(EA,o=>({mode:this._hostContext.displayMode??"inline"}))}getAppCapabilities(){return this._appCapabilities}getAppVersion(){return this._appInfo}get onsizechange(){return this.getEventHandler("sizechange")}set onsizechange(t){this.setEventHandler("sizechange",t)}get onsandboxready(){return this.getEventHandler("sandboxready")}set onsandboxready(t){this.setEventHandler("sandboxready",t)}get oninitialized(){return this.getEventHandler("initialized")}set oninitialized(t){this.setEventHandler("initialized",t)}get onmessage(){return this._onmessage}set onmessage(t){this.warnIfRequestHandlerReplaced("onmessage",this._onmessage,t),this._onmessage=t,this.replaceRequestHandler(iB,async(s,i)=>{if(!this._onmessage)throw Error("No onmessage handler set");return this._onmessage(s.params,i)})}get onopenlink(){return this._onopenlink}set onopenlink(t){this.warnIfRequestHandlerReplaced("onopenlink",this._onopenlink,t),this._onopenlink=t,this.replaceRequestHandler(WH,async(s,i)=>{if(!this._onopenlink)throw Error("No onopenlink handler set");return this._onopenlink(s.params,i)})}get ondownloadfile(){return this._ondownloadfile}set ondownloadfile(t){this.warnIfRequestHandlerReplaced("ondownloadfile",this._ondownloadfile,t),this._ondownloadfile=t,this.replaceRequestHandler(sB,async(s,i)=>{if(!this._ondownloadfile)throw Error("No ondownloadfile handler set");return this._ondownloadfile(s.params,i)})}get onrequestteardown(){return this.getEventHandler("requestteardown")}set onrequestteardown(t){this.setEventHandler("requestteardown",t)}get onrequestdisplaymode(){return this._onrequestdisplaymode}set onrequestdisplaymode(t){this.warnIfRequestHandlerReplaced("onrequestdisplaymode",this._onrequestdisplaymode,t),this._onrequestdisplaymode=t,this.replaceRequestHandler(EA,async(s,i)=>{if(!this._onrequestdisplaymode)throw Error("No onrequestdisplaymode handler set");return this._onrequestdisplaymode(s.params,i)})}get onloggingmessage(){return this.getEventHandler("loggingmessage")}set onloggingmessage(t){this.setEventHandler("loggingmessage",t)}get onupdatemodelcontext(){return this._onupdatemodelcontext}set onupdatemodelcontext(t){this.warnIfRequestHandlerReplaced("onupdatemodelcontext",this._onupdatemodelcontext,t),this._onupdatemodelcontext=t,this.replaceRequestHandler(rB,async(s,i)=>{if(!this._onupdatemodelcontext)throw Error("No onupdatemodelcontext handler set");return this._onupdatemodelcontext(s.params,i)})}get oncalltool(){return this._oncalltool}set oncalltool(t){this.warnIfRequestHandlerReplaced("oncalltool",this._oncalltool,t),this._oncalltool=t,this.replaceRequestHandler(R$,async(s,i)=>{if(!this._oncalltool)throw Error("No oncalltool handler set");return this._oncalltool(s.params,i)})}set oncreatesamplingmessage(t){this.setRequestHandler(wS,async(s,i)=>t(s.params,i))}sendToolListChanged(t={}){return this.notification({method:"notifications/tools/list_changed",params:t})}get onlistresources(){return this._onlistresources}set onlistresources(t){this.warnIfRequestHandlerReplaced("onlistresources",this._onlistresources,t),this._onlistresources=t,this.replaceRequestHandler(A$,async(s,i)=>{if(!this._onlistresources)throw Error("No onlistresources handler set");return this._onlistresources(s.params,i)})}get onlistresourcetemplates(){return this._onlistresourcetemplates}set onlistresourcetemplates(t){this.warnIfRequestHandlerReplaced("onlistresourcetemplates",this._onlistresourcetemplates,t),this._onlistresourcetemplates=t,this.replaceRequestHandler(x$,async(s,i)=>{if(!this._onlistresourcetemplates)throw Error("No onlistresourcetemplates handler set");return this._onlistresourcetemplates(s.params,i)})}get onreadresource(){return this._onreadresource}set onreadresource(t){this.warnIfRequestHandlerReplaced("onreadresource",this._onreadresource,t),this._onreadresource=t,this.replaceRequestHandler(E$,async(s,i)=>{if(!this._onreadresource)throw Error("No onreadresource handler set");return this._onreadresource(s.params,i)})}sendResourceListChanged(t={}){return this.notification({method:"notifications/resources/list_changed",params:t})}get onlistprompts(){return this._onlistprompts}set onlistprompts(t){this.warnIfRequestHandlerReplaced("onlistprompts",this._onlistprompts,t),this._onlistprompts=t,this.replaceRequestHandler(C$,async(s,i)=>{if(!this._onlistprompts)throw Error("No onlistprompts handler set");return this._onlistprompts(s.params,i)})}sendPromptListChanged(t={}){return this.notification({method:"notifications/prompts/list_changed",params:t})}assertCapabilityForMethod(t){}assertRequestHandlerCapability(t){}assertNotificationCapability(t){}assertTaskCapability(t){throw Error("Tasks are not supported in MCP Apps")}assertTaskHandlerCapability(t){throw Error("Task handlers are not supported in MCP Apps")}getCapabilities(){return this._capabilities}async _oninitialize(t){let s=t.params.protocolVersion;return this._appInfo!==void 0&&console.warn("[ext-apps] AppBridge received a second ui/initialize. The View may be double-mounting (e.g. React StrictMode in dev) without closing the previous App instance. Responding normally; the latest appInfo/appCapabilities replace the previous values."),this._appCapabilities=t.params.appCapabilities,this._appInfo=t.params.appInfo,{protocolVersion:lB.includes(s)?s:B$,hostCapabilities:this.getCapabilities(),hostInfo:this._hostInfo,hostContext:this._hostContext}}setHostContext(t){let s={},i=!1;for(let r of Object.keys(t)){let o=this._hostContext[r],a=t[r];hB(o,a)||(s[r]=a,i=!0)}i&&(this._hostContext=t,this.sendHostContextChange(s))}sendHostContextChange(t){return this.notification({method:"ui/notifications/host-context-changed",params:t})}sendToolInput(t){return this.notification({method:"ui/notifications/tool-input",params:t})}sendToolInputPartial(t){return this.notification({method:"ui/notifications/tool-input-partial",params:t})}sendToolResult(t){return this.notification({method:"ui/notifications/tool-result",params:t})}sendToolCancelled(t){return this.notification({method:"ui/notifications/tool-cancelled",params:t})}sendSandboxResourceReady(t){return this.notification({method:"ui/notifications/sandbox-resource-ready",params:t})}teardownResource(t,s){return this.request({method:"ui/resource-teardown",params:t},YH,s)}callTool(t,s){return this.request({method:"tools/call",params:t},uc,s)}listTools(t,s){return this.request({method:"tools/list",params:t},vS,s)}async connect(t){if(this.transport)throw Error("AppBridge is already connected. Call close() before connecting again.");if(this._initializedReceived=!1,this._client){let s=this._client.getServerCapabilities();if(!s)throw Error("Client server capabilities not available");s.tools&&(this.oncalltool=async(i,r)=>this._client.request({method:"tools/call",params:i},uc,{signal:r.signal}),s.tools.listChanged&&this._client.setNotificationHandler(bS,i=>this.sendToolListChanged(i.params))),s.resources&&(this.onlistresources=async(i,r)=>this._client.request({method:"resources/list",params:i},aS,{signal:r.signal}),this.onlistresourcetemplates=async(i,r)=>this._client.request({method:"resources/templates/list",params:i},lS,{signal:r.signal}),this.onreadresource=async(i,r)=>this._client.request({method:"resources/read",params:i},hS,{signal:r.signal}),s.resources.listChanged&&this._client.setNotificationHandler(uS,i=>this.sendResourceListChanged(i.params))),s.prompts&&(this.onlistprompts=async(i,r)=>this._client.request({method:"prompts/list",params:i},dS,{signal:r.signal}),s.prompts.listChanged&&this._client.setNotificationHandler(gS,i=>this.sendPromptListChanged(i.params)))}return super.connect(t)}}function hB(n,e){return JSON.stringify(n)===JSON.stringify(e)}const uB={x:0,y:0,width:1024,height:768},Gv=28,dB=12,fB=.9;function va(n){return typeof n=="number"&&Number.isFinite(n)?n:void 0}function q$(n){if(!(!n||typeof n!="object"||Array.isArray(n)))return n}function Kv(n){if(Array.isArray(n))return n.map(Kv);const e=q$(n);return e?Object.fromEntries(Object.entries(e).map(([t,s])=>[t,(t==="text"||t==="originalText")&&typeof s=="string"?s.replace(/\\r\\n|\\n|\\r/gu,` +`):Kv(s)])):n}function pB(n){return n.type==="text"&&typeof(n.text??n.originalText)=="string"}function V$(n){const e=String(n.text??n.originalText??""),t=va(n.fontSize)??20,s=e.length*t*fB,i=va(n.width);return Math.max(i&&i>0?i:0,s)}function mB(n){for(const e of n){if(e.type!=="cameraUpdate")continue;const t=va(e.width),s=va(e.height);if(!(!t||t<=0||!s||s<=0))return{x:va(e.x)??0,y:va(e.y)??0,width:t,height:s}}return uB}function gB(n,e){const t=va(n.x);if(t===void 0)return!1;const s=V$(n),i=e.x+Gv,r=e.x+e.width-Gv;return tr+1}function yB(n,e){const t={...n},s=va(t.fontSize)??20;let i=V$(t);const r=Math.max(1,e.width-Gv*2);if(i>r){const o=r/i;t.fontSize=Math.max(dB,s*o),typeof t.height=="number"&&(t.height*=Number(t.fontSize)/s),i=Math.min(r,i*(Number(t.fontSize)/s))}return t.width=i,t.autoResize=!1,t.textAlign="left",t.x=e.x+(e.width-i)/2,t}function vB(n){const t=Kv(n).map(q$);if(t.some(r=>r===void 0))return n;const s=t,i=mB(s);return s.map(r=>!pB(r)||!gB(r,i)?r:yB(r,i))}var Zv={exports:{}},W$={},Xi={},vu={},zp={},We={},Jd={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.regexpCode=n.getEsmExportName=n.getProperty=n.safeStringify=n.stringify=n.strConcat=n.addCodeArg=n.str=n._=n.nil=n._Code=n.Name=n.IDENTIFIER=n._CodeOrName=void 0;class e{}n._CodeOrName=e,n.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class t extends e{constructor(w){if(super(),!n.IDENTIFIER.test(w))throw new Error("CodeGen: name must be a valid identifier");this.str=w}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}n.Name=t;class s extends e{constructor(w){super(),this._items=typeof w=="string"?[w]:w}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const w=this._items[0];return w===""||w==='""'}get str(){var w;return(w=this._str)!==null&&w!==void 0?w:this._str=this._items.reduce((_,A)=>`${_}${A}`,"")}get names(){var w;return(w=this._names)!==null&&w!==void 0?w:this._names=this._items.reduce((_,A)=>(A instanceof t&&(_[A.str]=(_[A.str]||0)+1),_),{})}}n._Code=s,n.nil=new s("");function i(y,...w){const _=[y[0]];let A=0;for(;A{if(u.scopePath===void 0)throw new Error(`CodeGen: name "${u}" has no value`);return(0,e._)`${c}${u.scopePath}`})}scopeCode(c=this._values,h,u){return this._reduceValues(c,d=>{if(d.value===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return d.value.code},h,u)}_reduceValues(c,h,u={},d){let p=e.nil;for(const m in c){const g=c[m];if(!g)continue;const v=u[m]=u[m]||new Map;g.forEach(y=>{if(v.has(y))return;v.set(y,s.Started);let w=h(y);if(w){const _=this.opts.es5?n.varKinds.var:n.varKinds.const;p=(0,e._)`${p}${_} ${y} = ${w};${this.opts._n}`}else if(w=d==null?void 0:d(y))p=(0,e._)`${p}${w}${this.opts._n}`;else throw new t(y);v.set(y,s.Completed)})}return p}}n.ValueScope=a})(Xv);(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.or=n.and=n.not=n.CodeGen=n.operators=n.varKinds=n.ValueScopeName=n.ValueScope=n.Scope=n.Name=n.regexpCode=n.stringify=n.getProperty=n.nil=n.strConcat=n.str=n._=void 0;const e=Jd,t=Xv;var s=Jd;Object.defineProperty(n,"_",{enumerable:!0,get:function(){return s._}}),Object.defineProperty(n,"str",{enumerable:!0,get:function(){return s.str}}),Object.defineProperty(n,"strConcat",{enumerable:!0,get:function(){return s.strConcat}}),Object.defineProperty(n,"nil",{enumerable:!0,get:function(){return s.nil}}),Object.defineProperty(n,"getProperty",{enumerable:!0,get:function(){return s.getProperty}}),Object.defineProperty(n,"stringify",{enumerable:!0,get:function(){return s.stringify}}),Object.defineProperty(n,"regexpCode",{enumerable:!0,get:function(){return s.regexpCode}}),Object.defineProperty(n,"Name",{enumerable:!0,get:function(){return s.Name}});var i=Xv;Object.defineProperty(n,"Scope",{enumerable:!0,get:function(){return i.Scope}}),Object.defineProperty(n,"ValueScope",{enumerable:!0,get:function(){return i.ValueScope}}),Object.defineProperty(n,"ValueScopeName",{enumerable:!0,get:function(){return i.ValueScopeName}}),Object.defineProperty(n,"varKinds",{enumerable:!0,get:function(){return i.varKinds}}),n.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class r{optimizeNodes(){return this}optimizeNames(b,x){return this}}class o extends r{constructor(b,x,I){super(),this.varKind=b,this.name=x,this.rhs=I}render({es5:b,_n:x}){const I=b?t.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${I} ${this.name}${W};`+x}optimizeNames(b,x){if(b[this.name.str])return this.rhs&&(this.rhs=D(this.rhs,b,x)),this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class a extends r{constructor(b,x,I){super(),this.lhs=b,this.rhs=x,this.sideEffects=I}render({_n:b}){return`${this.lhs} = ${this.rhs};`+b}optimizeNames(b,x){if(!(this.lhs instanceof e.Name&&!b[this.lhs.str]&&!this.sideEffects))return this.rhs=D(this.rhs,b,x),this}get names(){const b=this.lhs instanceof e.Name?{}:{...this.lhs.names};return B(b,this.rhs)}}class l extends a{constructor(b,x,I,W){super(b,I,W),this.op=x}render({_n:b}){return`${this.lhs} ${this.op}= ${this.rhs};`+b}}class c extends r{constructor(b){super(),this.label=b,this.names={}}render({_n:b}){return`${this.label}:`+b}}class h extends r{constructor(b){super(),this.label=b,this.names={}}render({_n:b}){return`break${this.label?` ${this.label}`:""};`+b}}class u extends r{constructor(b){super(),this.error=b}render({_n:b}){return`throw ${this.error};`+b}get names(){return this.error.names}}class d extends r{constructor(b){super(),this.code=b}render({_n:b}){return`${this.code};`+b}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(b,x){return this.code=D(this.code,b,x),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class p extends r{constructor(b=[]){super(),this.nodes=b}render(b){return this.nodes.reduce((x,I)=>x+I.render(b),"")}optimizeNodes(){const{nodes:b}=this;let x=b.length;for(;x--;){const I=b[x].optimizeNodes();Array.isArray(I)?b.splice(x,1,...I):I?b[x]=I:b.splice(x,1)}return b.length>0?this:void 0}optimizeNames(b,x){const{nodes:I}=this;let W=I.length;for(;W--;){const Z=I[W];Z.optimizeNames(b,x)||(Y(b,Z.names),I.splice(W,1))}return I.length>0?this:void 0}get names(){return this.nodes.reduce((b,x)=>H(b,x.names),{})}}class m extends p{render(b){return"{"+b._n+super.render(b)+"}"+b._n}}class g extends p{}class v extends m{}v.kind="else";class y extends m{constructor(b,x){super(x),this.condition=b}render(b){let x=`if(${this.condition})`+super.render(b);return this.else&&(x+="else "+this.else.render(b)),x}optimizeNodes(){super.optimizeNodes();const b=this.condition;if(b===!0)return this.nodes;let x=this.else;if(x){const I=x.optimizeNodes();x=this.else=Array.isArray(I)?new v(I):I}if(x)return b===!1?x instanceof y?x:x.nodes:this.nodes.length?this:new y(X(b),x instanceof y?[x]:x.nodes);if(!(b===!1||!this.nodes.length))return this}optimizeNames(b,x){var I;if(this.else=(I=this.else)===null||I===void 0?void 0:I.optimizeNames(b,x),!!(super.optimizeNames(b,x)||this.else))return this.condition=D(this.condition,b,x),this}get names(){const b=super.names;return B(b,this.condition),this.else&&H(b,this.else.names),b}}y.kind="if";class w extends m{}w.kind="for";class _ extends w{constructor(b){super(),this.iteration=b}render(b){return`for(${this.iteration})`+super.render(b)}optimizeNames(b,x){if(super.optimizeNames(b,x))return this.iteration=D(this.iteration,b,x),this}get names(){return H(super.names,this.iteration.names)}}class A extends w{constructor(b,x,I,W){super(),this.varKind=b,this.name=x,this.from=I,this.to=W}render(b){const x=b.es5?t.varKinds.var:this.varKind,{name:I,from:W,to:Z}=this;return`for(${x} ${I}=${W}; ${I}<${Z}; ${I}++)`+super.render(b)}get names(){const b=B(super.names,this.from);return B(b,this.to)}}class k extends w{constructor(b,x,I,W){super(),this.loop=b,this.varKind=x,this.name=I,this.iterable=W}render(b){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(b)}optimizeNames(b,x){if(super.optimizeNames(b,x))return this.iterable=D(this.iterable,b,x),this}get names(){return H(super.names,this.iterable.names)}}class $ extends m{constructor(b,x,I){super(),this.name=b,this.args=x,this.async=I}render(b){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(b)}}$.kind="func";class E extends p{render(b){return"return "+super.render(b)}}E.kind="return";class O extends m{render(b){let x="try"+super.render(b);return this.catch&&(x+=this.catch.render(b)),this.finally&&(x+=this.finally.render(b)),x}optimizeNodes(){var b,x;return super.optimizeNodes(),(b=this.catch)===null||b===void 0||b.optimizeNodes(),(x=this.finally)===null||x===void 0||x.optimizeNodes(),this}optimizeNames(b,x){var I,W;return super.optimizeNames(b,x),(I=this.catch)===null||I===void 0||I.optimizeNames(b,x),(W=this.finally)===null||W===void 0||W.optimizeNames(b,x),this}get names(){const b=super.names;return this.catch&&H(b,this.catch.names),this.finally&&H(b,this.finally.names),b}}class F extends m{constructor(b){super(),this.error=b}render(b){return`catch(${this.error})`+super.render(b)}}F.kind="catch";class U extends m{render(b){return"finally"+super.render(b)}}U.kind="finally";class L{constructor(b,x={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...x,_n:x.lines?` +`:""},this._extScope=b,this._scope=new t.Scope({parent:b}),this._nodes=[new g]}toString(){return this._root.render(this.opts)}name(b){return this._scope.name(b)}scopeName(b){return this._extScope.name(b)}scopeValue(b,x){const I=this._extScope.value(b,x);return(this._values[I.prefix]||(this._values[I.prefix]=new Set)).add(I),I}getScopeValue(b,x){return this._extScope.getValue(b,x)}scopeRefs(b){return this._extScope.scopeRefs(b,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(b,x,I,W){const Z=this._scope.toName(x);return I!==void 0&&W&&(this._constants[Z.str]=I),this._leafNode(new o(b,Z,I)),Z}const(b,x,I){return this._def(t.varKinds.const,b,x,I)}let(b,x,I){return this._def(t.varKinds.let,b,x,I)}var(b,x,I){return this._def(t.varKinds.var,b,x,I)}assign(b,x,I){return this._leafNode(new a(b,x,I))}add(b,x){return this._leafNode(new l(b,n.operators.ADD,x))}code(b){return typeof b=="function"?b():b!==e.nil&&this._leafNode(new d(b)),this}object(...b){const x=["{"];for(const[I,W]of b)x.length>1&&x.push(","),x.push(I),(I!==W||this.opts.es5)&&(x.push(":"),(0,e.addCodeArg)(x,W));return x.push("}"),new e._Code(x)}if(b,x,I){if(this._blockNode(new y(b)),x&&I)this.code(x).else().code(I).endIf();else if(x)this.code(x).endIf();else if(I)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(b){return this._elseNode(new y(b))}else(){return this._elseNode(new v)}endIf(){return this._endBlockNode(y,v)}_for(b,x){return this._blockNode(b),x&&this.code(x).endFor(),this}for(b,x){return this._for(new _(b),x)}forRange(b,x,I,W,Z=this.opts.es5?t.varKinds.var:t.varKinds.let){const ae=this._scope.toName(b);return this._for(new A(Z,ae,x,I),()=>W(ae))}forOf(b,x,I,W=t.varKinds.const){const Z=this._scope.toName(b);if(this.opts.es5){const ae=x instanceof e.Name?x:this.var("_arr",x);return this.forRange("_i",0,(0,e._)`${ae}.length`,ne=>{this.var(Z,(0,e._)`${ae}[${ne}]`),I(Z)})}return this._for(new k("of",W,Z,x),()=>I(Z))}forIn(b,x,I,W=this.opts.es5?t.varKinds.var:t.varKinds.const){if(this.opts.ownProperties)return this.forOf(b,(0,e._)`Object.keys(${x})`,I);const Z=this._scope.toName(b);return this._for(new k("in",W,Z,x),()=>I(Z))}endFor(){return this._endBlockNode(w)}label(b){return this._leafNode(new c(b))}break(b){return this._leafNode(new h(b))}return(b){const x=new E;if(this._blockNode(x),this.code(b),x.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(E)}try(b,x,I){if(!x&&!I)throw new Error('CodeGen: "try" without "catch" and "finally"');const W=new O;if(this._blockNode(W),this.code(b),x){const Z=this.name("e");this._currNode=W.catch=new F(Z),x(Z)}return I&&(this._currNode=W.finally=new U,this.code(I)),this._endBlockNode(F,U)}throw(b){return this._leafNode(new u(b))}block(b,x){return this._blockStarts.push(this._nodes.length),b&&this.code(b).endBlock(x),this}endBlock(b){const x=this._blockStarts.pop();if(x===void 0)throw new Error("CodeGen: not in self-balancing block");const I=this._nodes.length-x;if(I<0||b!==void 0&&I!==b)throw new Error(`CodeGen: wrong number of nodes: ${I} vs ${b} expected`);return this._nodes.length=x,this}func(b,x=e.nil,I,W){return this._blockNode(new $(b,x,I)),W&&this.code(W).endFunc(),this}endFunc(){return this._endBlockNode($)}optimize(b=1){for(;b-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(b){return this._currNode.nodes.push(b),this}_blockNode(b){this._currNode.nodes.push(b),this._nodes.push(b)}_endBlockNode(b,x){const I=this._currNode;if(I instanceof b||x&&I instanceof x)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${x?`${b.kind}/${x.kind}`:b.kind}"`)}_elseNode(b){const x=this._currNode;if(!(x instanceof y))throw new Error('CodeGen: "else" without "if"');return this._currNode=x.else=b,this}get _root(){return this._nodes[0]}get _currNode(){const b=this._nodes;return b[b.length-1]}set _currNode(b){const x=this._nodes;x[x.length-1]=b}}n.CodeGen=L;function H(M,b){for(const x in b)M[x]=(M[x]||0)+(b[x]||0);return M}function B(M,b){return b instanceof e._CodeOrName?H(M,b.names):M}function D(M,b,x){if(M instanceof e.Name)return I(M);if(!W(M))return M;return new e._Code(M._items.reduce((Z,ae)=>(ae instanceof e.Name&&(ae=I(ae)),ae instanceof e._Code?Z.push(...ae._items):Z.push(ae),Z),[]));function I(Z){const ae=x[Z.str];return ae===void 0||b[Z.str]!==1?Z:(delete b[Z.str],ae)}function W(Z){return Z instanceof e._Code&&Z._items.some(ae=>ae instanceof e.Name&&b[ae.str]===1&&x[ae.str]!==void 0)}}function Y(M,b){for(const x in b)M[x]=(M[x]||0)-(b[x]||0)}function X(M){return typeof M=="boolean"||typeof M=="number"||M===null?!M:(0,e._)`!${N(M)}`}n.not=X;const Q=P(n.operators.AND);function se(...M){return M.reduce(Q)}n.and=se;const ve=P(n.operators.OR);function z(...M){return M.reduce(ve)}n.or=z;function P(M){return(b,x)=>b===e.nil?x:x===e.nil?b:(0,e._)`${N(b)} ${M} ${N(x)}`}function N(M){return M instanceof e.Name?M:(0,e._)`(${M})`}})(We);var de={};Object.defineProperty(de,"__esModule",{value:!0});de.checkStrictMode=de.getErrorPath=de.Type=de.useFunc=de.setEvaluated=de.evaluatedPropsToName=de.mergeEvaluated=de.eachItem=de.unescapeJsonPointer=de.escapeJsonPointer=de.escapeFragment=de.unescapeFragment=de.schemaRefOrVal=de.schemaHasRulesButRef=de.schemaHasRules=de.checkUnknownRules=de.alwaysValidSchema=de.toHash=void 0;const gt=We,bB=Jd;function wB(n){const e={};for(const t of n)e[t]=!0;return e}de.toHash=wB;function _B(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(G$(n,e),!K$(e,n.self.RULES.all))}de.alwaysValidSchema=_B;function G$(n,e=n.schema){const{opts:t,self:s}=n;if(!t.strictSchema||typeof e=="boolean")return;const i=s.RULES.keywords;for(const r in e)i[r]||Y$(n,`unknown keyword: "${r}"`)}de.checkUnknownRules=G$;function K$(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(e[t])return!0;return!1}de.schemaHasRules=K$;function SB(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(t!=="$ref"&&e.all[t])return!0;return!1}de.schemaHasRulesButRef=SB;function kB({topSchemaRef:n,schemaPath:e},t,s,i){if(!i){if(typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="string")return(0,gt._)`${t}`}return(0,gt._)`${n}${e}${(0,gt.getProperty)(s)}`}de.schemaRefOrVal=kB;function AB(n){return Z$(decodeURIComponent(n))}de.unescapeFragment=AB;function xB(n){return encodeURIComponent(AS(n))}de.escapeFragment=xB;function AS(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}de.escapeJsonPointer=AS;function Z$(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}de.unescapeJsonPointer=Z$;function EB(n,e){if(Array.isArray(n))for(const t of n)e(t);else e(n)}de.eachItem=EB;function CA({mergeNames:n,mergeToName:e,mergeValues:t,resultToName:s}){return(i,r,o,a)=>{const l=o===void 0?r:o instanceof gt.Name?(r instanceof gt.Name?n(i,r,o):e(i,r,o),o):r instanceof gt.Name?(e(i,o,r),r):t(r,o);return a===gt.Name&&!(l instanceof gt.Name)?s(i,l):l}}de.mergeEvaluated={props:CA({mergeNames:(n,e,t)=>n.if((0,gt._)`${t} !== true && ${e} !== undefined`,()=>{n.if((0,gt._)`${e} === true`,()=>n.assign(t,!0),()=>n.assign(t,(0,gt._)`${t} || {}`).code((0,gt._)`Object.assign(${t}, ${e})`))}),mergeToName:(n,e,t)=>n.if((0,gt._)`${t} !== true`,()=>{e===!0?n.assign(t,!0):(n.assign(t,(0,gt._)`${t} || {}`),xS(n,t,e))}),mergeValues:(n,e)=>n===!0?!0:{...n,...e},resultToName:X$}),items:CA({mergeNames:(n,e,t)=>n.if((0,gt._)`${t} !== true && ${e} !== undefined`,()=>n.assign(t,(0,gt._)`${e} === true ? true : ${t} > ${e} ? ${t} : ${e}`)),mergeToName:(n,e,t)=>n.if((0,gt._)`${t} !== true`,()=>n.assign(t,e===!0?!0:(0,gt._)`${t} > ${e} ? ${t} : ${e}`)),mergeValues:(n,e)=>n===!0?!0:Math.max(n,e),resultToName:(n,e)=>n.var("items",e)})};function X$(n,e){if(e===!0)return n.var("props",!0);const t=n.var("props",(0,gt._)`{}`);return e!==void 0&&xS(n,t,e),t}de.evaluatedPropsToName=X$;function xS(n,e,t){Object.keys(t).forEach(s=>n.assign((0,gt._)`${e}${(0,gt.getProperty)(s)}`,!0))}de.setEvaluated=xS;const $A={};function CB(n,e){return n.scopeValue("func",{ref:e,code:$A[e.code]||($A[e.code]=new bB._Code(e.code))})}de.useFunc=CB;var Yv;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(Yv||(de.Type=Yv={}));function $B(n,e,t){if(n instanceof gt.Name){const s=e===Yv.Num;return t?s?(0,gt._)`"[" + ${n} + "]"`:(0,gt._)`"['" + ${n} + "']"`:s?(0,gt._)`"/" + ${n}`:(0,gt._)`"/" + ${n}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return t?(0,gt.getProperty)(n).toString():"/"+AS(n)}de.getErrorPath=$B;function Y$(n,e,t=n.opts.strictSchema){if(t){if(e=`strict mode: ${e}`,t===!0)throw new Error(e);n.self.logger.warn(e)}}de.checkStrictMode=Y$;var Dr={};Object.defineProperty(Dr,"__esModule",{value:!0});const Qn=We,TB={data:new Qn.Name("data"),valCxt:new Qn.Name("valCxt"),instancePath:new Qn.Name("instancePath"),parentData:new Qn.Name("parentData"),parentDataProperty:new Qn.Name("parentDataProperty"),rootData:new Qn.Name("rootData"),dynamicAnchors:new Qn.Name("dynamicAnchors"),vErrors:new Qn.Name("vErrors"),errors:new Qn.Name("errors"),this:new Qn.Name("this"),self:new Qn.Name("self"),scope:new Qn.Name("scope"),json:new Qn.Name("json"),jsonPos:new Qn.Name("jsonPos"),jsonLen:new Qn.Name("jsonLen"),jsonPart:new Qn.Name("jsonPart")};Dr.default=TB;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.extendErrors=n.resetErrorsCount=n.reportExtraError=n.reportError=n.keyword$DataError=n.keywordError=void 0;const e=We,t=de,s=Dr;n.keywordError={message:({keyword:v})=>(0,e.str)`must pass "${v}" keyword validation`},n.keyword$DataError={message:({keyword:v,schemaType:y})=>y?(0,e.str)`"${v}" keyword must be ${y} ($data)`:(0,e.str)`"${v}" keyword is invalid ($data)`};function i(v,y=n.keywordError,w,_){const{it:A}=v,{gen:k,compositeRule:$,allErrors:E}=A,O=u(v,y,w);_??($||E)?l(k,O):c(A,(0,e._)`[${O}]`)}n.reportError=i;function r(v,y=n.keywordError,w){const{it:_}=v,{gen:A,compositeRule:k,allErrors:$}=_,E=u(v,y,w);l(A,E),k||$||c(_,s.default.vErrors)}n.reportExtraError=r;function o(v,y){v.assign(s.default.errors,y),v.if((0,e._)`${s.default.vErrors} !== null`,()=>v.if(y,()=>v.assign((0,e._)`${s.default.vErrors}.length`,y),()=>v.assign(s.default.vErrors,null)))}n.resetErrorsCount=o;function a({gen:v,keyword:y,schemaValue:w,data:_,errsCount:A,it:k}){if(A===void 0)throw new Error("ajv implementation error");const $=v.name("err");v.forRange("i",A,s.default.errors,E=>{v.const($,(0,e._)`${s.default.vErrors}[${E}]`),v.if((0,e._)`${$}.instancePath === undefined`,()=>v.assign((0,e._)`${$}.instancePath`,(0,e.strConcat)(s.default.instancePath,k.errorPath))),v.assign((0,e._)`${$}.schemaPath`,(0,e.str)`${k.errSchemaPath}/${y}`),k.opts.verbose&&(v.assign((0,e._)`${$}.schema`,w),v.assign((0,e._)`${$}.data`,_))})}n.extendErrors=a;function l(v,y){const w=v.const("err",y);v.if((0,e._)`${s.default.vErrors} === null`,()=>v.assign(s.default.vErrors,(0,e._)`[${w}]`),(0,e._)`${s.default.vErrors}.push(${w})`),v.code((0,e._)`${s.default.errors}++`)}function c(v,y){const{gen:w,validateName:_,schemaEnv:A}=v;A.$async?w.throw((0,e._)`new ${v.ValidationError}(${y})`):(w.assign((0,e._)`${_}.errors`,y),w.return(!1))}const h={keyword:new e.Name("keyword"),schemaPath:new e.Name("schemaPath"),params:new e.Name("params"),propertyName:new e.Name("propertyName"),message:new e.Name("message"),schema:new e.Name("schema"),parentSchema:new e.Name("parentSchema")};function u(v,y,w){const{createErrors:_}=v.it;return _===!1?(0,e._)`{}`:d(v,y,w)}function d(v,y,w={}){const{gen:_,it:A}=v,k=[p(A,w),m(v,w)];return g(v,y,k),_.object(...k)}function p({errorPath:v},{instancePath:y}){const w=y?(0,e.str)`${v}${(0,t.getErrorPath)(y,t.Type.Str)}`:v;return[s.default.instancePath,(0,e.strConcat)(s.default.instancePath,w)]}function m({keyword:v,it:{errSchemaPath:y}},{schemaPath:w,parentSchema:_}){let A=_?y:(0,e.str)`${y}/${v}`;return w&&(A=(0,e.str)`${A}${(0,t.getErrorPath)(w,t.Type.Str)}`),[h.schemaPath,A]}function g(v,{params:y,message:w},_){const{keyword:A,data:k,schemaValue:$,it:E}=v,{opts:O,propertyName:F,topSchemaRef:U,schemaPath:L}=E;_.push([h.keyword,A],[h.params,typeof y=="function"?y(v):y||(0,e._)`{}`]),O.messages&&_.push([h.message,typeof w=="function"?w(v):w]),O.verbose&&_.push([h.schema,$],[h.parentSchema,(0,e._)`${U}${L}`],[s.default.data,k]),F&&_.push([h.propertyName,F])}})(zp);Object.defineProperty(vu,"__esModule",{value:!0});vu.boolOrEmptySchema=vu.topBoolOrEmptySchema=void 0;const PB=zp,RB=We,MB=Dr,IB={message:"boolean schema is false"};function OB(n){const{gen:e,schema:t,validateName:s}=n;t===!1?J$(n,!1):typeof t=="object"&&t.$async===!0?e.return(MB.default.data):(e.assign((0,RB._)`${s}.errors`,null),e.return(!0))}vu.topBoolOrEmptySchema=OB;function NB(n,e){const{gen:t,schema:s}=n;s===!1?(t.var(e,!1),J$(n)):t.var(e,!0)}vu.boolOrEmptySchema=NB;function J$(n,e){const{gen:t,data:s}=n,i={gen:t,keyword:"false schema",data:s,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:n};(0,PB.reportError)(i,IB,void 0,e)}var pn={},dc={};Object.defineProperty(dc,"__esModule",{value:!0});dc.getRules=dc.isJSONType=void 0;const LB=["string","number","integer","boolean","null","object","array"],DB=new Set(LB);function FB(n){return typeof n=="string"&&DB.has(n)}dc.isJSONType=FB;function jB(){const n={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...n,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},n.number,n.string,n.array,n.object],post:{rules:[]},all:{},keywords:{}}}dc.getRules=jB;var _o={};Object.defineProperty(_o,"__esModule",{value:!0});_o.shouldUseRule=_o.shouldUseGroup=_o.schemaHasRulesForType=void 0;function zB({schema:n,self:e},t){const s=e.RULES.types[t];return s&&s!==!0&&Q$(n,s)}_o.schemaHasRulesForType=zB;function Q$(n,e){return e.rules.some(t=>eT(n,t))}_o.shouldUseGroup=Q$;function eT(n,e){var t;return n[e.keyword]!==void 0||((t=e.definition.implements)===null||t===void 0?void 0:t.some(s=>n[s]!==void 0))}_o.shouldUseRule=eT;Object.defineProperty(pn,"__esModule",{value:!0});pn.reportTypeError=pn.checkDataTypes=pn.checkDataType=pn.coerceAndCheckDataType=pn.getJSONTypes=pn.getSchemaTypes=pn.DataType=void 0;const HB=dc,BB=_o,UB=zp,Ne=We,tT=de;var oh;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(oh||(pn.DataType=oh={}));function qB(n){const e=nT(n.type);if(e.includes("null")){if(n.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&n.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');n.nullable===!0&&e.push("null")}return e}pn.getSchemaTypes=qB;function nT(n){const e=Array.isArray(n)?n:n?[n]:[];if(e.every(HB.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}pn.getJSONTypes=nT;function VB(n,e){const{gen:t,data:s,opts:i}=n,r=WB(e,i.coerceTypes),o=e.length>0&&!(r.length===0&&e.length===1&&(0,BB.schemaHasRulesForType)(n,e[0]));if(o){const a=ES(e,s,i.strictNumbers,oh.Wrong);t.if(a,()=>{r.length?GB(n,e,r):CS(n)})}return o}pn.coerceAndCheckDataType=VB;const sT=new Set(["string","number","integer","boolean","null"]);function WB(n,e){return e?n.filter(t=>sT.has(t)||e==="array"&&t==="array"):[]}function GB(n,e,t){const{gen:s,data:i,opts:r}=n,o=s.let("dataType",(0,Ne._)`typeof ${i}`),a=s.let("coerced",(0,Ne._)`undefined`);r.coerceTypes==="array"&&s.if((0,Ne._)`${o} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>s.assign(i,(0,Ne._)`${i}[0]`).assign(o,(0,Ne._)`typeof ${i}`).if(ES(e,i,r.strictNumbers),()=>s.assign(a,i))),s.if((0,Ne._)`${a} !== undefined`);for(const c of t)(sT.has(c)||c==="array"&&r.coerceTypes==="array")&&l(c);s.else(),CS(n),s.endIf(),s.if((0,Ne._)`${a} !== undefined`,()=>{s.assign(i,a),KB(n,a)});function l(c){switch(c){case"string":s.elseIf((0,Ne._)`${o} == "number" || ${o} == "boolean"`).assign(a,(0,Ne._)`"" + ${i}`).elseIf((0,Ne._)`${i} === null`).assign(a,(0,Ne._)`""`);return;case"number":s.elseIf((0,Ne._)`${o} == "boolean" || ${i} === null + || (${o} == "string" && ${i} && ${i} == +${i})`).assign(a,(0,Ne._)`+${i}`);return;case"integer":s.elseIf((0,Ne._)`${o} === "boolean" || ${i} === null + || (${o} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(a,(0,Ne._)`+${i}`);return;case"boolean":s.elseIf((0,Ne._)`${i} === "false" || ${i} === 0 || ${i} === null`).assign(a,!1).elseIf((0,Ne._)`${i} === "true" || ${i} === 1`).assign(a,!0);return;case"null":s.elseIf((0,Ne._)`${i} === "" || ${i} === 0 || ${i} === false`),s.assign(a,null);return;case"array":s.elseIf((0,Ne._)`${o} === "string" || ${o} === "number" + || ${o} === "boolean" || ${i} === null`).assign(a,(0,Ne._)`[${i}]`)}}}function KB({gen:n,parentData:e,parentDataProperty:t},s){n.if((0,Ne._)`${e} !== undefined`,()=>n.assign((0,Ne._)`${e}[${t}]`,s))}function Jv(n,e,t,s=oh.Correct){const i=s===oh.Correct?Ne.operators.EQ:Ne.operators.NEQ;let r;switch(n){case"null":return(0,Ne._)`${e} ${i} null`;case"array":r=(0,Ne._)`Array.isArray(${e})`;break;case"object":r=(0,Ne._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":r=o((0,Ne._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":r=o();break;default:return(0,Ne._)`typeof ${e} ${i} ${n}`}return s===oh.Correct?r:(0,Ne.not)(r);function o(a=Ne.nil){return(0,Ne.and)((0,Ne._)`typeof ${e} == "number"`,a,t?(0,Ne._)`isFinite(${e})`:Ne.nil)}}pn.checkDataType=Jv;function ES(n,e,t,s){if(n.length===1)return Jv(n[0],e,t,s);let i;const r=(0,tT.toHash)(n);if(r.array&&r.object){const o=(0,Ne._)`typeof ${e} != "object"`;i=r.null?o:(0,Ne._)`!${e} || ${o}`,delete r.null,delete r.array,delete r.object}else i=Ne.nil;r.number&&delete r.integer;for(const o in r)i=(0,Ne.and)(i,Jv(o,e,t,s));return i}pn.checkDataTypes=ES;const ZB={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,Ne._)`{type: ${n}}`:(0,Ne._)`{type: ${e}}`};function CS(n){const e=XB(n);(0,UB.reportError)(e,ZB)}pn.reportTypeError=CS;function XB(n){const{gen:e,data:t,schema:s}=n,i=(0,tT.schemaRefOrVal)(n,s,"type");return{gen:e,keyword:"type",data:t,schema:s.type,schemaCode:i,schemaValue:i,parentSchema:s,params:{},it:n}}var r0={};Object.defineProperty(r0,"__esModule",{value:!0});r0.assignDefaults=void 0;const Nc=We,YB=de;function JB(n,e){const{properties:t,items:s}=n.schema;if(e==="object"&&t)for(const i in t)TA(n,i,t[i].default);else e==="array"&&Array.isArray(s)&&s.forEach((i,r)=>TA(n,r,i.default))}r0.assignDefaults=JB;function TA(n,e,t){const{gen:s,compositeRule:i,data:r,opts:o}=n;if(t===void 0)return;const a=(0,Nc._)`${r}${(0,Nc.getProperty)(e)}`;if(i){(0,YB.checkStrictMode)(n,`default is ignored for: ${a}`);return}let l=(0,Nc._)`${a} === undefined`;o.useDefaults==="empty"&&(l=(0,Nc._)`${l} || ${a} === null || ${a} === ""`),s.if(l,(0,Nc._)`${a} = ${(0,Nc.stringify)(t)}`)}var Tr={},qe={};Object.defineProperty(qe,"__esModule",{value:!0});qe.validateUnion=qe.validateArray=qe.usePattern=qe.callValidateCode=qe.schemaProperties=qe.allSchemaProperties=qe.noPropertyInData=qe.propertyInData=qe.isOwnProperty=qe.hasPropFunc=qe.reportMissingProp=qe.checkMissingProp=qe.checkReportMissingProp=void 0;const Et=We,$S=de,Io=Dr,QB=de;function eU(n,e){const{gen:t,data:s,it:i}=n;t.if(PS(t,s,e,i.opts.ownProperties),()=>{n.setParams({missingProperty:(0,Et._)`${e}`},!0),n.error()})}qe.checkReportMissingProp=eU;function tU({gen:n,data:e,it:{opts:t}},s,i){return(0,Et.or)(...s.map(r=>(0,Et.and)(PS(n,e,r,t.ownProperties),(0,Et._)`${i} = ${r}`)))}qe.checkMissingProp=tU;function nU(n,e){n.setParams({missingProperty:e},!0),n.error()}qe.reportMissingProp=nU;function iT(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Et._)`Object.prototype.hasOwnProperty`})}qe.hasPropFunc=iT;function TS(n,e,t){return(0,Et._)`${iT(n)}.call(${e}, ${t})`}qe.isOwnProperty=TS;function sU(n,e,t,s){const i=(0,Et._)`${e}${(0,Et.getProperty)(t)} !== undefined`;return s?(0,Et._)`${i} && ${TS(n,e,t)}`:i}qe.propertyInData=sU;function PS(n,e,t,s){const i=(0,Et._)`${e}${(0,Et.getProperty)(t)} === undefined`;return s?(0,Et.or)(i,(0,Et.not)(TS(n,e,t))):i}qe.noPropertyInData=PS;function rT(n){return n?Object.keys(n).filter(e=>e!=="__proto__"):[]}qe.allSchemaProperties=rT;function iU(n,e){return rT(e).filter(t=>!(0,$S.alwaysValidSchema)(n,e[t]))}qe.schemaProperties=iU;function rU({schemaCode:n,data:e,it:{gen:t,topSchemaRef:s,schemaPath:i,errorPath:r},it:o},a,l,c){const h=c?(0,Et._)`${n}, ${e}, ${s}${i}`:e,u=[[Io.default.instancePath,(0,Et.strConcat)(Io.default.instancePath,r)],[Io.default.parentData,o.parentData],[Io.default.parentDataProperty,o.parentDataProperty],[Io.default.rootData,Io.default.rootData]];o.opts.dynamicRef&&u.push([Io.default.dynamicAnchors,Io.default.dynamicAnchors]);const d=(0,Et._)`${h}, ${t.object(...u)}`;return l!==Et.nil?(0,Et._)`${a}.call(${l}, ${d})`:(0,Et._)`${a}(${d})`}qe.callValidateCode=rU;const oU=(0,Et._)`new RegExp`;function aU({gen:n,it:{opts:e}},t){const s=e.unicodeRegExp?"u":"",{regExp:i}=e.code,r=i(t,s);return n.scopeValue("pattern",{key:r.toString(),ref:r,code:(0,Et._)`${i.code==="new RegExp"?oU:(0,QB.useFunc)(n,i)}(${t}, ${s})`})}qe.usePattern=aU;function lU(n){const{gen:e,data:t,keyword:s,it:i}=n,r=e.name("valid");if(i.allErrors){const a=e.let("valid",!0);return o(()=>e.assign(a,!1)),a}return e.var(r,!0),o(()=>e.break()),r;function o(a){const l=e.const("len",(0,Et._)`${t}.length`);e.forRange("i",0,l,c=>{n.subschema({keyword:s,dataProp:c,dataPropType:$S.Type.Num},r),e.if((0,Et.not)(r),a)})}}qe.validateArray=lU;function cU(n){const{gen:e,schema:t,keyword:s,it:i}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");if(t.some(l=>(0,$S.alwaysValidSchema)(i,l))&&!i.opts.unevaluated)return;const o=e.let("valid",!1),a=e.name("_valid");e.block(()=>t.forEach((l,c)=>{const h=n.subschema({keyword:s,schemaProp:c,compositeRule:!0},a);e.assign(o,(0,Et._)`${o} || ${a}`),n.mergeValidEvaluated(h,a)||e.if((0,Et.not)(o))})),n.result(o,()=>n.reset(),()=>n.error(!0))}qe.validateUnion=cU;Object.defineProperty(Tr,"__esModule",{value:!0});Tr.validateKeywordUsage=Tr.validSchemaType=Tr.funcKeywordCode=Tr.macroKeywordCode=void 0;const ys=We,nl=Dr,hU=qe,uU=zp;function dU(n,e){const{gen:t,keyword:s,schema:i,parentSchema:r,it:o}=n,a=e.macro.call(o.self,i,r,o),l=oT(t,s,a);o.opts.validateSchema!==!1&&o.self.validateSchema(a,!0);const c=t.name("valid");n.subschema({schema:a,schemaPath:ys.nil,errSchemaPath:`${o.errSchemaPath}/${s}`,topSchemaRef:l,compositeRule:!0},c),n.pass(c,()=>n.error(!0))}Tr.macroKeywordCode=dU;function fU(n,e){var t;const{gen:s,keyword:i,schema:r,parentSchema:o,$data:a,it:l}=n;mU(l,e);const c=!a&&e.compile?e.compile.call(l.self,r,o,l):e.validate,h=oT(s,i,c),u=s.let("valid");n.block$data(u,d),n.ok((t=e.valid)!==null&&t!==void 0?t:u);function d(){if(e.errors===!1)g(),e.modifying&&PA(n),v(()=>n.error());else{const y=e.async?p():m();e.modifying&&PA(n),v(()=>pU(n,y))}}function p(){const y=s.let("ruleErrs",null);return s.try(()=>g((0,ys._)`await `),w=>s.assign(u,!1).if((0,ys._)`${w} instanceof ${l.ValidationError}`,()=>s.assign(y,(0,ys._)`${w}.errors`),()=>s.throw(w))),y}function m(){const y=(0,ys._)`${h}.errors`;return s.assign(y,null),g(ys.nil),y}function g(y=e.async?(0,ys._)`await `:ys.nil){const w=l.opts.passContext?nl.default.this:nl.default.self,_=!("compile"in e&&!a||e.schema===!1);s.assign(u,(0,ys._)`${y}${(0,hU.callValidateCode)(n,h,w,_)}`,e.modifying)}function v(y){var w;s.if((0,ys.not)((w=e.valid)!==null&&w!==void 0?w:u),y)}}Tr.funcKeywordCode=fU;function PA(n){const{gen:e,data:t,it:s}=n;e.if(s.parentData,()=>e.assign(t,(0,ys._)`${s.parentData}[${s.parentDataProperty}]`))}function pU(n,e){const{gen:t}=n;t.if((0,ys._)`Array.isArray(${e})`,()=>{t.assign(nl.default.vErrors,(0,ys._)`${nl.default.vErrors} === null ? ${e} : ${nl.default.vErrors}.concat(${e})`).assign(nl.default.errors,(0,ys._)`${nl.default.vErrors}.length`),(0,uU.extendErrors)(n)},()=>n.error())}function mU({schemaEnv:n},e){if(e.async&&!n.$async)throw new Error("async keyword in sync schema")}function oT(n,e,t){if(t===void 0)throw new Error(`keyword "${e}" failed to compile`);return n.scopeValue("keyword",typeof t=="function"?{ref:t}:{ref:t,code:(0,ys.stringify)(t)})}function gU(n,e,t=!1){return!e.length||e.some(s=>s==="array"?Array.isArray(n):s==="object"?n&&typeof n=="object"&&!Array.isArray(n):typeof n==s||t&&typeof n>"u")}Tr.validSchemaType=gU;function yU({schema:n,opts:e,self:t,errSchemaPath:s},i,r){if(Array.isArray(i.keyword)?!i.keyword.includes(r):i.keyword!==r)throw new Error("ajv implementation error");const o=i.dependencies;if(o!=null&&o.some(a=>!Object.prototype.hasOwnProperty.call(n,a)))throw new Error(`parent schema must have dependencies of ${r}: ${o.join(",")}`);if(i.validateSchema&&!i.validateSchema(n[r])){const l=`keyword "${r}" value is invalid at path "${s}": `+t.errorsText(i.validateSchema.errors);if(e.validateSchema==="log")t.logger.error(l);else throw new Error(l)}}Tr.validateKeywordUsage=yU;var Aa={};Object.defineProperty(Aa,"__esModule",{value:!0});Aa.extendSubschemaMode=Aa.extendSubschemaData=Aa.getSubschema=void 0;const xr=We,aT=de;function vU(n,{keyword:e,schemaProp:t,schema:s,schemaPath:i,errSchemaPath:r,topSchemaRef:o}){if(e!==void 0&&s!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){const a=n.schema[e];return t===void 0?{schema:a,schemaPath:(0,xr._)`${n.schemaPath}${(0,xr.getProperty)(e)}`,errSchemaPath:`${n.errSchemaPath}/${e}`}:{schema:a[t],schemaPath:(0,xr._)`${n.schemaPath}${(0,xr.getProperty)(e)}${(0,xr.getProperty)(t)}`,errSchemaPath:`${n.errSchemaPath}/${e}/${(0,aT.escapeFragment)(t)}`}}if(s!==void 0){if(i===void 0||r===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:i,topSchemaRef:o,errSchemaPath:r}}throw new Error('either "keyword" or "schema" must be passed')}Aa.getSubschema=vU;function bU(n,e,{dataProp:t,dataPropType:s,data:i,dataTypes:r,propertyName:o}){if(i!==void 0&&t!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:a}=e;if(t!==void 0){const{errorPath:c,dataPathArr:h,opts:u}=e,d=a.let("data",(0,xr._)`${e.data}${(0,xr.getProperty)(t)}`,!0);l(d),n.errorPath=(0,xr.str)`${c}${(0,aT.getErrorPath)(t,s,u.jsPropertySyntax)}`,n.parentDataProperty=(0,xr._)`${t}`,n.dataPathArr=[...h,n.parentDataProperty]}if(i!==void 0){const c=i instanceof xr.Name?i:a.let("data",i,!0);l(c),o!==void 0&&(n.propertyName=o)}r&&(n.dataTypes=r);function l(c){n.data=c,n.dataLevel=e.dataLevel+1,n.dataTypes=[],e.definedProperties=new Set,n.parentData=e.data,n.dataNames=[...e.dataNames,c]}}Aa.extendSubschemaData=bU;function wU(n,{jtdDiscriminator:e,jtdMetadata:t,compositeRule:s,createErrors:i,allErrors:r}){s!==void 0&&(n.compositeRule=s),i!==void 0&&(n.createErrors=i),r!==void 0&&(n.allErrors=r),n.jtdDiscriminator=e,n.jtdMetadata=t}Aa.extendSubschemaMode=wU;var Un={},o0=function n(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var s,i,r;if(Array.isArray(e)){if(s=e.length,s!=t.length)return!1;for(i=s;i--!==0;)if(!n(e[i],t[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(r=Object.keys(e),s=r.length,s!==Object.keys(t).length)return!1;for(i=s;i--!==0;)if(!Object.prototype.hasOwnProperty.call(t,r[i]))return!1;for(i=s;i--!==0;){var o=r[i];if(!n(e[o],t[o]))return!1}return!0}return e!==e&&t!==t},lT={exports:{}},ba=lT.exports=function(n,e,t){typeof e=="function"&&(t=e,e={}),t=e.cb||t;var s=typeof t=="function"?t:t.pre||function(){},i=t.post||function(){};Gm(e,s,i,n,"",n)};ba.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};ba.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};ba.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};ba.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Gm(n,e,t,s,i,r,o,a,l,c){if(s&&typeof s=="object"&&!Array.isArray(s)){e(s,i,r,o,a,l,c);for(var h in s){var u=s[h];if(Array.isArray(u)){if(h in ba.arrayKeywords)for(var d=0;de+=cT(s)),e===1/0))return 1/0}return e}function hT(n,e="",t){t!==!1&&(e=ah(e));const s=n.parse(e);return uT(n,s)}Un.getFullPath=hT;function uT(n,e){return n.serialize(e).split("#")[0]+"#"}Un._getFullPath=uT;const TU=/#\/?$/;function ah(n){return n?n.replace(TU,""):""}Un.normalizeId=ah;function PU(n,e,t){return t=ah(t),n.resolve(e,t)}Un.resolveUrl=PU;const RU=/^[a-z_][-a-z0-9._]*$/i;function MU(n,e){if(typeof n=="boolean")return{};const{schemaId:t,uriResolver:s}=this.opts,i=ah(n[t]||e),r={"":i},o=hT(s,i,!1),a={},l=new Set;return xU(n,{allKeys:!0},(u,d,p,m)=>{if(m===void 0)return;const g=o+d;let v=r[m];typeof u[t]=="string"&&(v=y.call(this,u[t])),w.call(this,u.$anchor),w.call(this,u.$dynamicAnchor),r[d]=v;function y(_){const A=this.opts.uriResolver.resolve;if(_=ah(v?A(v,_):_),l.has(_))throw h(_);l.add(_);let k=this.refs[_];return typeof k=="string"&&(k=this.refs[k]),typeof k=="object"?c(u,k.schema,_):_!==ah(g)&&(_[0]==="#"?(c(u,a[_],_),a[_]=u):this.refs[_]=g),_}function w(_){if(typeof _=="string"){if(!RU.test(_))throw new Error(`invalid anchor "${_}"`);y.call(this,`#${_}`)}}}),a;function c(u,d,p){if(d!==void 0&&!AU(u,d))throw h(p)}function h(u){return new Error(`reference "${u}" resolves to more than one schema`)}}Un.getSchemaRefs=MU;Object.defineProperty(Xi,"__esModule",{value:!0});Xi.getData=Xi.KeywordCxt=Xi.validateFunctionCode=void 0;const dT=vu,RA=pn,RS=_o,Vg=pn,IU=r0,Td=Tr,G0=Aa,be=We,$e=Dr,OU=Un,So=de,Wu=zp;function NU(n){if(mT(n)&&(gT(n),pT(n))){FU(n);return}fT(n,()=>(0,dT.topBoolOrEmptySchema)(n))}Xi.validateFunctionCode=NU;function fT({gen:n,validateName:e,schema:t,schemaEnv:s,opts:i},r){i.code.es5?n.func(e,(0,be._)`${$e.default.data}, ${$e.default.valCxt}`,s.$async,()=>{n.code((0,be._)`"use strict"; ${MA(t,i)}`),DU(n,i),n.code(r)}):n.func(e,(0,be._)`${$e.default.data}, ${LU(i)}`,s.$async,()=>n.code(MA(t,i)).code(r))}function LU(n){return(0,be._)`{${$e.default.instancePath}="", ${$e.default.parentData}, ${$e.default.parentDataProperty}, ${$e.default.rootData}=${$e.default.data}${n.dynamicRef?(0,be._)`, ${$e.default.dynamicAnchors}={}`:be.nil}}={}`}function DU(n,e){n.if($e.default.valCxt,()=>{n.var($e.default.instancePath,(0,be._)`${$e.default.valCxt}.${$e.default.instancePath}`),n.var($e.default.parentData,(0,be._)`${$e.default.valCxt}.${$e.default.parentData}`),n.var($e.default.parentDataProperty,(0,be._)`${$e.default.valCxt}.${$e.default.parentDataProperty}`),n.var($e.default.rootData,(0,be._)`${$e.default.valCxt}.${$e.default.rootData}`),e.dynamicRef&&n.var($e.default.dynamicAnchors,(0,be._)`${$e.default.valCxt}.${$e.default.dynamicAnchors}`)},()=>{n.var($e.default.instancePath,(0,be._)`""`),n.var($e.default.parentData,(0,be._)`undefined`),n.var($e.default.parentDataProperty,(0,be._)`undefined`),n.var($e.default.rootData,$e.default.data),e.dynamicRef&&n.var($e.default.dynamicAnchors,(0,be._)`{}`)})}function FU(n){const{schema:e,opts:t,gen:s}=n;fT(n,()=>{t.$comment&&e.$comment&&vT(n),UU(n),s.let($e.default.vErrors,null),s.let($e.default.errors,0),t.unevaluated&&jU(n),yT(n),WU(n)})}function jU(n){const{gen:e,validateName:t}=n;n.evaluated=e.const("evaluated",(0,be._)`${t}.evaluated`),e.if((0,be._)`${n.evaluated}.dynamicProps`,()=>e.assign((0,be._)`${n.evaluated}.props`,(0,be._)`undefined`)),e.if((0,be._)`${n.evaluated}.dynamicItems`,()=>e.assign((0,be._)`${n.evaluated}.items`,(0,be._)`undefined`))}function MA(n,e){const t=typeof n=="object"&&n[e.schemaId];return t&&(e.code.source||e.code.process)?(0,be._)`/*# sourceURL=${t} */`:be.nil}function zU(n,e){if(mT(n)&&(gT(n),pT(n))){HU(n,e);return}(0,dT.boolOrEmptySchema)(n,e)}function pT({schema:n,self:e}){if(typeof n=="boolean")return!n;for(const t in n)if(e.RULES.all[t])return!0;return!1}function mT(n){return typeof n.schema!="boolean"}function HU(n,e){const{schema:t,gen:s,opts:i}=n;i.$comment&&t.$comment&&vT(n),qU(n),VU(n);const r=s.const("_errs",$e.default.errors);yT(n,r),s.var(e,(0,be._)`${r} === ${$e.default.errors}`)}function gT(n){(0,So.checkUnknownRules)(n),BU(n)}function yT(n,e){if(n.opts.jtd)return IA(n,[],!1,e);const t=(0,RA.getSchemaTypes)(n.schema),s=(0,RA.coerceAndCheckDataType)(n,t);IA(n,t,!s,e)}function BU(n){const{schema:e,errSchemaPath:t,opts:s,self:i}=n;e.$ref&&s.ignoreKeywordsWithRef&&(0,So.schemaHasRulesButRef)(e,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${t}"`)}function UU(n){const{schema:e,opts:t}=n;e.default!==void 0&&t.useDefaults&&t.strictSchema&&(0,So.checkStrictMode)(n,"default is ignored in the schema root")}function qU(n){const e=n.schema[n.opts.schemaId];e&&(n.baseId=(0,OU.resolveUrl)(n.opts.uriResolver,n.baseId,e))}function VU(n){if(n.schema.$async&&!n.schemaEnv.$async)throw new Error("async schema in sync schema")}function vT({gen:n,schemaEnv:e,schema:t,errSchemaPath:s,opts:i}){const r=t.$comment;if(i.$comment===!0)n.code((0,be._)`${$e.default.self}.logger.log(${r})`);else if(typeof i.$comment=="function"){const o=(0,be.str)`${s}/$comment`,a=n.scopeValue("root",{ref:e.root});n.code((0,be._)`${$e.default.self}.opts.$comment(${r}, ${o}, ${a}.schema)`)}}function WU(n){const{gen:e,schemaEnv:t,validateName:s,ValidationError:i,opts:r}=n;t.$async?e.if((0,be._)`${$e.default.errors} === 0`,()=>e.return($e.default.data),()=>e.throw((0,be._)`new ${i}(${$e.default.vErrors})`)):(e.assign((0,be._)`${s}.errors`,$e.default.vErrors),r.unevaluated&&GU(n),e.return((0,be._)`${$e.default.errors} === 0`))}function GU({gen:n,evaluated:e,props:t,items:s}){t instanceof be.Name&&n.assign((0,be._)`${e}.props`,t),s instanceof be.Name&&n.assign((0,be._)`${e}.items`,s)}function IA(n,e,t,s){const{gen:i,schema:r,data:o,allErrors:a,opts:l,self:c}=n,{RULES:h}=c;if(r.$ref&&(l.ignoreKeywordsWithRef||!(0,So.schemaHasRulesButRef)(r,h))){i.block(()=>_T(n,"$ref",h.all.$ref.definition));return}l.jtd||KU(n,e),i.block(()=>{for(const d of h.rules)u(d);u(h.post)});function u(d){(0,RS.shouldUseGroup)(r,d)&&(d.type?(i.if((0,Vg.checkDataType)(d.type,o,l.strictNumbers)),OA(n,d),e.length===1&&e[0]===d.type&&t&&(i.else(),(0,Vg.reportTypeError)(n)),i.endIf()):OA(n,d),a||i.if((0,be._)`${$e.default.errors} === ${s||0}`))}}function OA(n,e){const{gen:t,schema:s,opts:{useDefaults:i}}=n;i&&(0,IU.assignDefaults)(n,e.type),t.block(()=>{for(const r of e.rules)(0,RS.shouldUseRule)(s,r)&&_T(n,r.keyword,r.definition,e.type)})}function KU(n,e){n.schemaEnv.meta||!n.opts.strictTypes||(ZU(n,e),n.opts.allowUnionTypes||XU(n,e),YU(n,n.dataTypes))}function ZU(n,e){if(e.length){if(!n.dataTypes.length){n.dataTypes=e;return}e.forEach(t=>{bT(n.dataTypes,t)||MS(n,`type "${t}" not allowed by context "${n.dataTypes.join(",")}"`)}),QU(n,e)}}function XU(n,e){e.length>1&&!(e.length===2&&e.includes("null"))&&MS(n,"use allowUnionTypes to allow union type keyword")}function YU(n,e){const t=n.self.RULES.all;for(const s in t){const i=t[s];if(typeof i=="object"&&(0,RS.shouldUseRule)(n.schema,i)){const{type:r}=i.definition;r.length&&!r.some(o=>JU(e,o))&&MS(n,`missing type "${r.join(",")}" for keyword "${s}"`)}}}function JU(n,e){return n.includes(e)||e==="number"&&n.includes("integer")}function bT(n,e){return n.includes(e)||e==="integer"&&n.includes("number")}function QU(n,e){const t=[];for(const s of n.dataTypes)bT(e,s)?t.push(s):e.includes("integer")&&s==="number"&&t.push("integer");n.dataTypes=t}function MS(n,e){const t=n.schemaEnv.baseId+n.errSchemaPath;e+=` at "${t}" (strictTypes)`,(0,So.checkStrictMode)(n,e,n.opts.strictTypes)}let wT=class{constructor(e,t,s){if((0,Td.validateKeywordUsage)(e,t,s),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=s,this.data=e.data,this.schema=e.schema[s],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,So.schemaRefOrVal)(e,this.schema,s,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",ST(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Td.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${s} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:t.errors!==!1)&&(this.errsCount=e.gen.const("_errs",$e.default.errors))}result(e,t,s){this.failResult((0,be.not)(e),t,s)}failResult(e,t,s){this.gen.if(e),s?s():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,be.not)(e),void 0,t)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail((0,be._)`${t} !== undefined && (${(0,be.or)(this.invalid$data(),e)})`)}error(e,t,s){if(t){this.setParams(t),this._error(e,s),this.setParams({});return}this._error(e,s)}_error(e,t){(e?Wu.reportExtraError:Wu.reportError)(this,this.def.error,t)}$dataError(){(0,Wu.reportError)(this,this.def.$dataError||Wu.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Wu.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,s=be.nil){this.gen.block(()=>{this.check$data(e,s),t()})}check$data(e=be.nil,t=be.nil){if(!this.$data)return;const{gen:s,schemaCode:i,schemaType:r,def:o}=this;s.if((0,be.or)((0,be._)`${i} === undefined`,t)),e!==be.nil&&s.assign(e,!0),(r.length||o.validateSchema)&&(s.elseIf(this.invalid$data()),this.$dataError(),e!==be.nil&&s.assign(e,!1)),s.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:s,def:i,it:r}=this;return(0,be.or)(o(),a());function o(){if(s.length){if(!(t instanceof be.Name))throw new Error("ajv implementation error");const l=Array.isArray(s)?s:[s];return(0,be._)`${(0,Vg.checkDataTypes)(l,t,r.opts.strictNumbers,Vg.DataType.Wrong)}`}return be.nil}function a(){if(i.validateSchema){const l=e.scopeValue("validate$data",{ref:i.validateSchema});return(0,be._)`!${l}(${t})`}return be.nil}}subschema(e,t){const s=(0,G0.getSubschema)(this.it,e);(0,G0.extendSubschemaData)(s,this.it,e),(0,G0.extendSubschemaMode)(s,e);const i={...this.it,...s,items:void 0,props:void 0};return zU(i,t),i}mergeEvaluated(e,t){const{it:s,gen:i}=this;s.opts.unevaluated&&(s.props!==!0&&e.props!==void 0&&(s.props=So.mergeEvaluated.props(i,e.props,s.props,t)),s.items!==!0&&e.items!==void 0&&(s.items=So.mergeEvaluated.items(i,e.items,s.items,t)))}mergeValidEvaluated(e,t){const{it:s,gen:i}=this;if(s.opts.unevaluated&&(s.props!==!0||s.items!==!0))return i.if(t,()=>this.mergeEvaluated(e,be.Name)),!0}};Xi.KeywordCxt=wT;function _T(n,e,t,s){const i=new wT(n,t,e);"code"in t?t.code(i,s):i.$data&&t.validate?(0,Td.funcKeywordCode)(i,t):"macro"in t?(0,Td.macroKeywordCode)(i,t):(t.compile||t.validate)&&(0,Td.funcKeywordCode)(i,t)}const eq=/^\/(?:[^~]|~0|~1)*$/,tq=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ST(n,{dataLevel:e,dataNames:t,dataPathArr:s}){let i,r;if(n==="")return $e.default.rootData;if(n[0]==="/"){if(!eq.test(n))throw new Error(`Invalid JSON-pointer: ${n}`);i=n,r=$e.default.rootData}else{const c=tq.exec(n);if(!c)throw new Error(`Invalid JSON-pointer: ${n}`);const h=+c[1];if(i=c[2],i==="#"){if(h>=e)throw new Error(l("property/index",h));return s[e-h]}if(h>e)throw new Error(l("data",h));if(r=t[e-h],!i)return r}let o=r;const a=i.split("/");for(const c of a)c&&(r=(0,be._)`${r}${(0,be.getProperty)((0,So.unescapeJsonPointer)(c))}`,o=(0,be._)`${o} && ${r}`);return o;function l(c,h){return`Cannot access ${c} ${h} levels up, current level is ${e}`}}Xi.getData=ST;var Hp={};Object.defineProperty(Hp,"__esModule",{value:!0});let nq=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};Hp.default=nq;var Nu={};Object.defineProperty(Nu,"__esModule",{value:!0});const K0=Un;let sq=class extends Error{constructor(e,t,s,i){super(i||`can't resolve reference ${s} from id ${t}`),this.missingRef=(0,K0.resolveUrl)(e,t,s),this.missingSchema=(0,K0.normalizeId)((0,K0.getFullPath)(e,this.missingRef))}};Nu.default=sq;var Os={};Object.defineProperty(Os,"__esModule",{value:!0});Os.resolveSchema=Os.getCompilingSchema=Os.resolveRef=Os.compileSchema=Os.SchemaEnv=void 0;const Ei=We,iq=Hp,qa=Dr,Vi=Un,NA=de,rq=Xi;let a0=class{constructor(e){var t;this.refs={},this.dynamicAnchors={};let s;typeof e.schema=="object"&&(s=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(t=e.baseId)!==null&&t!==void 0?t:(0,Vi.normalizeId)(s==null?void 0:s[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=s==null?void 0:s.$async,this.refs={}}};Os.SchemaEnv=a0;function IS(n){const e=kT.call(this,n);if(e)return e;const t=(0,Vi.getFullPath)(this.opts.uriResolver,n.root.baseId),{es5:s,lines:i}=this.opts.code,{ownProperties:r}=this.opts,o=new Ei.CodeGen(this.scope,{es5:s,lines:i,ownProperties:r});let a;n.$async&&(a=o.scopeValue("Error",{ref:iq.default,code:(0,Ei._)`require("ajv/dist/runtime/validation_error").default`}));const l=o.scopeName("validate");n.validateName=l;const c={gen:o,allErrors:this.opts.allErrors,data:qa.default.data,parentData:qa.default.parentData,parentDataProperty:qa.default.parentDataProperty,dataNames:[qa.default.data],dataPathArr:[Ei.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:n.schema,code:(0,Ei.stringify)(n.schema)}:{ref:n.schema}),validateName:l,ValidationError:a,schema:n.schema,schemaEnv:n,rootId:t,baseId:n.baseId||t,schemaPath:Ei.nil,errSchemaPath:n.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Ei._)`""`,opts:this.opts,self:this};let h;try{this._compilations.add(n),(0,rq.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);const u=o.toString();h=`${o.scopeRefs(qa.default.scope)}return ${u}`,this.opts.code.process&&(h=this.opts.code.process(h,n));const p=new Function(`${qa.default.self}`,`${qa.default.scope}`,h)(this,this.scope.get());if(this.scope.value(l,{ref:p}),p.errors=null,p.schema=n.schema,p.schemaEnv=n,n.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:l,validateCode:u,scopeValues:o._values}),this.opts.unevaluated){const{props:m,items:g}=c;p.evaluated={props:m instanceof Ei.Name?void 0:m,items:g instanceof Ei.Name?void 0:g,dynamicProps:m instanceof Ei.Name,dynamicItems:g instanceof Ei.Name},p.source&&(p.source.evaluated=(0,Ei.stringify)(p.evaluated))}return n.validate=p,n}catch(u){throw delete n.validate,delete n.validateName,h&&this.logger.error("Error compiling schema, function code:",h),u}finally{this._compilations.delete(n)}}Os.compileSchema=IS;function oq(n,e,t){var s;t=(0,Vi.resolveUrl)(this.opts.uriResolver,e,t);const i=n.refs[t];if(i)return i;let r=cq.call(this,n,t);if(r===void 0){const o=(s=n.localRefs)===null||s===void 0?void 0:s[t],{schemaId:a}=this.opts;o&&(r=new a0({schema:o,schemaId:a,root:n,baseId:e}))}if(r!==void 0)return n.refs[t]=aq.call(this,r)}Os.resolveRef=oq;function aq(n){return(0,Vi.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:IS.call(this,n)}function kT(n){for(const e of this._compilations)if(lq(e,n))return e}Os.getCompilingSchema=kT;function lq(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function cq(n,e){let t;for(;typeof(t=this.refs[e])=="string";)e=t;return t||this.schemas[e]||l0.call(this,n,e)}function l0(n,e){const t=this.opts.uriResolver.parse(e),s=(0,Vi._getFullPath)(this.opts.uriResolver,t);let i=(0,Vi.getFullPath)(this.opts.uriResolver,n.baseId,void 0);if(Object.keys(n.schema).length>0&&s===i)return Z0.call(this,t,n);const r=(0,Vi.normalizeId)(s),o=this.refs[r]||this.schemas[r];if(typeof o=="string"){const a=l0.call(this,n,o);return typeof(a==null?void 0:a.schema)!="object"?void 0:Z0.call(this,t,a)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||IS.call(this,o),r===(0,Vi.normalizeId)(e)){const{schema:a}=o,{schemaId:l}=this.opts,c=a[l];return c&&(i=(0,Vi.resolveUrl)(this.opts.uriResolver,i,c)),new a0({schema:a,schemaId:l,root:n,baseId:i})}return Z0.call(this,t,o)}}Os.resolveSchema=l0;const hq=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Z0(n,{baseId:e,schema:t,root:s}){var i;if(((i=n.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(const a of n.fragment.slice(1).split("/")){if(typeof t=="boolean")return;const l=t[(0,NA.unescapeFragment)(a)];if(l===void 0)return;t=l;const c=typeof t=="object"&&t[this.opts.schemaId];!hq.has(a)&&c&&(e=(0,Vi.resolveUrl)(this.opts.uriResolver,e,c))}let r;if(typeof t!="boolean"&&t.$ref&&!(0,NA.schemaHasRulesButRef)(t,this.RULES)){const a=(0,Vi.resolveUrl)(this.opts.uriResolver,e,t.$ref);r=l0.call(this,s,a)}const{schemaId:o}=this.opts;if(r=r||new a0({schema:t,schemaId:o,root:s,baseId:e}),r.schema!==r.root.schema)return r}const uq="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",dq="Meta-schema for $data reference (JSON AnySchema extension proposal)",fq="object",pq=["$data"],mq={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},gq=!1,yq={$id:uq,description:dq,type:fq,required:pq,properties:mq,additionalProperties:gq};var OS={},c0={exports:{}};const vq=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),AT=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u),NS=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),xT=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),bq=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function ET(n){let e="",t=0,s=0;for(s=0;s=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102))return"";e+=n[s];break}for(s+=1;s=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102))return"";e+=n[s]}return e}const wq=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function LA(n){return n.length=0,!0}function _q(n,e,t){if(n.length){const s=ET(n);if(s!=="")e.push(s);else return t.error=!0,!1;n.length=0}return!0}function Sq(n){let e=0;const t={error:!1,address:"",zone:""},s=[],i=[];let r=!1,o=!1,a=_q;for(let l=0;l7){t.error=!0;break}l>0&&n[l-1]===":"&&(r=!0),s.push(":");continue}else if(c==="%"){if(!a(i,s,t))break;a=LA}else{i.push(c);continue}}return i.length&&(a===LA?t.zone=i.join(""):o?s.push(i.join("")):s.push(ET(i))),t.address=s.join(""),t}function CT(n){if(kq(n,":")<2)return{host:n,isIPV6:!1};const e=Sq(n);if(e.error)return{host:n,isIPV6:!1};{let t=e.address,s=e.address;return e.zone&&(t+="%"+e.zone,s+="%25"+e.zone),{host:t,isIPV6:!0,escapedHost:s}}}function kq(n,e){let t=0;for(let s=0;sxq[s])}function $q(n,e=!1){if(n.indexOf("%")===-1)return n;let t="";for(let s=0;s65535))return"URI port is malformed."}function Gg(n,e){const t=Object.assign({},e),s={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0};let i=!1,r=!1;t.reference==="suffix"&&(t.scheme?n=t.scheme+":"+n:n="//"+n);const o=n.match(iV);o!==null&&o[1].indexOf("\\")!==-1&&(s.error="URI authority must not contain a literal backslash.",i=!0);const a=n.match(rV);if(a!==null){const c=a[1],h=c.replace(/[\t\n\r]/g,"");h.length>=2&&(h.slice(0,2)!=="//"?(s.error=s.error||"URI authority must not contain a literal backslash.",i=!0):c.length!==h.length&&(s.error=s.error||"URI authority introducer must not contain whitespace.",i=!0))}const l=n.match(sV);if(l){s.scheme=l[1],s.userinfo=l[3],s.host=l[4],s.port=parseInt(l[5],10),s.path=l[6]||"",s.query=l[7],s.fragment=l[8],isNaN(s.port)&&(s.port=l[5]);const c=oV(s,l);if(c!==void 0&&(s.error=s.error||c,i=!0),s.host)if(Yq(s.host)===!1){const d=Vq(s.host);s.host=d.host.toLowerCase(),r=d.isIPV6}else r=!0;s.scheme===void 0&&s.userinfo===void 0&&s.host===void 0&&s.port===void 0&&s.query===void 0&&!s.path?s.reference="same-document":s.scheme===void 0?s.reference="relative":s.fragment===void 0?s.reference="absolute":s.reference="uri",t.reference&&t.reference!=="suffix"&&t.reference!==s.reference&&(s.error=s.error||"URI is not a "+t.reference+" reference.");const h=OT(t.scheme||s.scheme);if(!t.unicodeSupport&&(!h||!h.unicodeSupport)&&s.host&&(t.domainHost||h&&h.domainHost)&&r===!1&&Jq(s.host))try{s.host=new URL("http://"+s.host).hostname}catch(u){s.error=s.error||"Host's domain name can not be converted to ASCII: "+u}if((!h||h&&!h.skipNormalize)&&(n.indexOf("%")!==-1&&(s.scheme!==void 0&&(s.scheme=unescape(s.scheme)),s.host!==void 0&&(s.host=Xq(unescape(s.host),r))),s.path&&(s.path=Kq(s.path)),s.fragment))try{s.fragment=encodeURI(decodeURIComponent(s.fragment))}catch{s.error=s.error||"URI malformed"}h&&h.parse&&h.parse(s,t)}else s.error=s.error||"URI can not be parsed.";return{parsed:s,malformedAuthorityOrPort:i}}function Kg(n,e){return Gg(n,e).parsed}function aV(n,e){return LT(n,e).normalized}function LT(n,e){const{parsed:t,malformedAuthorityOrPort:s}=Gg(n,e);return{normalized:s?n:fc(t,e),malformedAuthorityOrPort:s}}function DA(n,e){if(typeof n=="string"){const{normalized:t,malformedAuthorityOrPort:s}=LT(n,e);return s?void 0:t}if(typeof n=="object")return fc(n,e)}const DS={SCHEMES:Qq,normalize:eV,resolve:tV,resolveComponent:NT,equal:nV,serialize:fc,parse:Kg};c0.exports=DS;c0.exports.default=DS;c0.exports.fastUri=DS;var DT=c0.exports;Object.defineProperty(OS,"__esModule",{value:!0});const FT=DT;FT.code='require("ajv/dist/runtime/uri").default';OS.default=FT;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.CodeGen=n.Name=n.nil=n.stringify=n.str=n._=n.KeywordCxt=void 0;var e=Xi;Object.defineProperty(n,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var t=We;Object.defineProperty(n,"_",{enumerable:!0,get:function(){return t._}}),Object.defineProperty(n,"str",{enumerable:!0,get:function(){return t.str}}),Object.defineProperty(n,"stringify",{enumerable:!0,get:function(){return t.stringify}}),Object.defineProperty(n,"nil",{enumerable:!0,get:function(){return t.nil}}),Object.defineProperty(n,"Name",{enumerable:!0,get:function(){return t.Name}}),Object.defineProperty(n,"CodeGen",{enumerable:!0,get:function(){return t.CodeGen}});const s=Hp,i=Nu,r=dc,o=Os,a=We,l=Un,c=pn,h=de,u=yq,d=OS,p=(z,P)=>new RegExp(z,P);p.code="new RegExp";const m=["removeAdditional","useDefaults","coerceTypes"],g=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),v={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},y={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},w=200;function _(z){var P,N,M,b,x,I,W,Z,ae,ne,Ae,At,Ie,Ge,lt,tt,Jt,Pn,Rn,us,Mn,ds,Yn,Jn,In;const Qt=z.strict,an=(P=z.code)===null||P===void 0?void 0:P.optimize,ln=an===!0||an===void 0?1:an||0,en=(M=(N=z.code)===null||N===void 0?void 0:N.regExp)!==null&&M!==void 0?M:p,fs=(b=z.uriResolver)!==null&&b!==void 0?b:d.default;return{strictSchema:(I=(x=z.strictSchema)!==null&&x!==void 0?x:Qt)!==null&&I!==void 0?I:!0,strictNumbers:(Z=(W=z.strictNumbers)!==null&&W!==void 0?W:Qt)!==null&&Z!==void 0?Z:!0,strictTypes:(ne=(ae=z.strictTypes)!==null&&ae!==void 0?ae:Qt)!==null&&ne!==void 0?ne:"log",strictTuples:(At=(Ae=z.strictTuples)!==null&&Ae!==void 0?Ae:Qt)!==null&&At!==void 0?At:"log",strictRequired:(Ge=(Ie=z.strictRequired)!==null&&Ie!==void 0?Ie:Qt)!==null&&Ge!==void 0?Ge:!1,code:z.code?{...z.code,optimize:ln,regExp:en}:{optimize:ln,regExp:en},loopRequired:(lt=z.loopRequired)!==null&<!==void 0?lt:w,loopEnum:(tt=z.loopEnum)!==null&&tt!==void 0?tt:w,meta:(Jt=z.meta)!==null&&Jt!==void 0?Jt:!0,messages:(Pn=z.messages)!==null&&Pn!==void 0?Pn:!0,inlineRefs:(Rn=z.inlineRefs)!==null&&Rn!==void 0?Rn:!0,schemaId:(us=z.schemaId)!==null&&us!==void 0?us:"$id",addUsedSchema:(Mn=z.addUsedSchema)!==null&&Mn!==void 0?Mn:!0,validateSchema:(ds=z.validateSchema)!==null&&ds!==void 0?ds:!0,validateFormats:(Yn=z.validateFormats)!==null&&Yn!==void 0?Yn:!0,unicodeRegExp:(Jn=z.unicodeRegExp)!==null&&Jn!==void 0?Jn:!0,int32range:(In=z.int32range)!==null&&In!==void 0?In:!0,uriResolver:fs}}class A{constructor(P={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,P=this.opts={...P,..._(P)};const{es5:N,lines:M}=this.opts.code;this.scope=new a.ValueScope({scope:{},prefixes:g,es5:N,lines:M}),this.logger=H(P.logger);const b=P.validateFormats;P.validateFormats=!1,this.RULES=(0,r.getRules)(),k.call(this,v,P,"NOT SUPPORTED"),k.call(this,y,P,"DEPRECATED","warn"),this._metaOpts=U.call(this),P.formats&&O.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),P.keywords&&F.call(this,P.keywords),typeof P.meta=="object"&&this.addMetaSchema(P.meta),E.call(this),P.validateFormats=b}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:P,meta:N,schemaId:M}=this.opts;let b=u;M==="id"&&(b={...u},b.id=b.$id,delete b.$id),N&&P&&this.addMetaSchema(b,b[M],!1)}defaultMeta(){const{meta:P,schemaId:N}=this.opts;return this.opts.defaultMeta=typeof P=="object"?P[N]||P:void 0}validate(P,N){let M;if(typeof P=="string"){if(M=this.getSchema(P),!M)throw new Error(`no schema with key or ref "${P}"`)}else M=this.compile(P);const b=M(N);return"$async"in M||(this.errors=M.errors),b}compile(P,N){const M=this._addSchema(P,N);return M.validate||this._compileSchemaEnv(M)}compileAsync(P,N){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:M}=this.opts;return b.call(this,P,N);async function b(ne,Ae){await x.call(this,ne.$schema);const At=this._addSchema(ne,Ae);return At.validate||I.call(this,At)}async function x(ne){ne&&!this.getSchema(ne)&&await b.call(this,{$ref:ne},!0)}async function I(ne){try{return this._compileSchemaEnv(ne)}catch(Ae){if(!(Ae instanceof i.default))throw Ae;return W.call(this,Ae),await Z.call(this,Ae.missingSchema),I.call(this,ne)}}function W({missingSchema:ne,missingRef:Ae}){if(this.refs[ne])throw new Error(`AnySchema ${ne} is loaded but ${Ae} cannot be resolved`)}async function Z(ne){const Ae=await ae.call(this,ne);this.refs[ne]||await x.call(this,Ae.$schema),this.refs[ne]||this.addSchema(Ae,ne,N)}async function ae(ne){const Ae=this._loading[ne];if(Ae)return Ae;try{return await(this._loading[ne]=M(ne))}finally{delete this._loading[ne]}}}addSchema(P,N,M,b=this.opts.validateSchema){if(Array.isArray(P)){for(const I of P)this.addSchema(I,void 0,M,b);return this}let x;if(typeof P=="object"){const{schemaId:I}=this.opts;if(x=P[I],x!==void 0&&typeof x!="string")throw new Error(`schema ${I} must be string`)}return N=(0,l.normalizeId)(N||x),this._checkUnique(N),this.schemas[N]=this._addSchema(P,M,N,b,!0),this}addMetaSchema(P,N,M=this.opts.validateSchema){return this.addSchema(P,N,!0,M),this}validateSchema(P,N){if(typeof P=="boolean")return!0;let M;if(M=P.$schema,M!==void 0&&typeof M!="string")throw new Error("$schema must be a string");if(M=M||this.opts.defaultMeta||this.defaultMeta(),!M)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const b=this.validate(M,P);if(!b&&N){const x="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(x);else throw new Error(x)}return b}getSchema(P){let N;for(;typeof(N=$.call(this,P))=="string";)P=N;if(N===void 0){const{schemaId:M}=this.opts,b=new o.SchemaEnv({schema:{},schemaId:M});if(N=o.resolveSchema.call(this,b,P),!N)return;this.refs[P]=N}return N.validate||this._compileSchemaEnv(N)}removeSchema(P){if(P instanceof RegExp)return this._removeAllSchemas(this.schemas,P),this._removeAllSchemas(this.refs,P),this;switch(typeof P){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const N=$.call(this,P);return typeof N=="object"&&this._cache.delete(N.schema),delete this.schemas[P],delete this.refs[P],this}case"object":{const N=P;this._cache.delete(N);let M=P[this.opts.schemaId];return M&&(M=(0,l.normalizeId)(M),delete this.schemas[M],delete this.refs[M]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(P){for(const N of P)this.addKeyword(N);return this}addKeyword(P,N){let M;if(typeof P=="string")M=P,typeof N=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),N.keyword=M);else if(typeof P=="object"&&N===void 0){if(N=P,M=N.keyword,Array.isArray(M)&&!M.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(D.call(this,M,N),!N)return(0,h.eachItem)(M,x=>Y.call(this,x)),this;Q.call(this,N);const b={...N,type:(0,c.getJSONTypes)(N.type),schemaType:(0,c.getJSONTypes)(N.schemaType)};return(0,h.eachItem)(M,b.type.length===0?x=>Y.call(this,x,b):x=>b.type.forEach(I=>Y.call(this,x,b,I))),this}getKeyword(P){const N=this.RULES.all[P];return typeof N=="object"?N.definition:!!N}removeKeyword(P){const{RULES:N}=this;delete N.keywords[P],delete N.all[P];for(const M of N.rules){const b=M.rules.findIndex(x=>x.keyword===P);b>=0&&M.rules.splice(b,1)}return this}addFormat(P,N){return typeof N=="string"&&(N=new RegExp(N)),this.formats[P]=N,this}errorsText(P=this.errors,{separator:N=", ",dataVar:M="data"}={}){return!P||P.length===0?"No errors":P.map(b=>`${M}${b.instancePath} ${b.message}`).reduce((b,x)=>b+N+x)}$dataMetaSchema(P,N){const M=this.RULES.all;P=JSON.parse(JSON.stringify(P));for(const b of N){const x=b.split("/").slice(1);let I=P;for(const W of x)I=I[W];for(const W in M){const Z=M[W];if(typeof Z!="object")continue;const{$data:ae}=Z.definition,ne=I[W];ae&&ne&&(I[W]=ve(ne))}}return P}_removeAllSchemas(P,N){for(const M in P){const b=P[M];(!N||N.test(M))&&(typeof b=="string"?delete P[M]:b&&!b.meta&&(this._cache.delete(b.schema),delete P[M]))}}_addSchema(P,N,M,b=this.opts.validateSchema,x=this.opts.addUsedSchema){let I;const{schemaId:W}=this.opts;if(typeof P=="object")I=P[W];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof P!="boolean")throw new Error("schema must be object or boolean")}let Z=this._cache.get(P);if(Z!==void 0)return Z;M=(0,l.normalizeId)(I||M);const ae=l.getSchemaRefs.call(this,P,M);return Z=new o.SchemaEnv({schema:P,schemaId:W,meta:N,baseId:M,localRefs:ae}),this._cache.set(Z.schema,Z),x&&!M.startsWith("#")&&(M&&this._checkUnique(M),this.refs[M]=Z),b&&this.validateSchema(P,!0),Z}_checkUnique(P){if(this.schemas[P]||this.refs[P])throw new Error(`schema with key or id "${P}" already exists`)}_compileSchemaEnv(P){if(P.meta?this._compileMetaSchema(P):o.compileSchema.call(this,P),!P.validate)throw new Error("ajv implementation error");return P.validate}_compileMetaSchema(P){const N=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,P)}finally{this.opts=N}}}A.ValidationError=s.default,A.MissingRefError=i.default,n.default=A;function k(z,P,N,M="error"){for(const b in z){const x=b;x in P&&this.logger[M](`${N}: option ${b}. ${z[x]}`)}}function $(z){return z=(0,l.normalizeId)(z),this.schemas[z]||this.refs[z]}function E(){const z=this.opts.schemas;if(z)if(Array.isArray(z))this.addSchema(z);else for(const P in z)this.addSchema(z[P],P)}function O(){for(const z in this.opts.formats){const P=this.opts.formats[z];P&&this.addFormat(z,P)}}function F(z){if(Array.isArray(z)){this.addVocabulary(z);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const P in z){const N=z[P];N.keyword||(N.keyword=P),this.addKeyword(N)}}function U(){const z={...this.opts};for(const P of m)delete z[P];return z}const L={log(){},warn(){},error(){}};function H(z){if(z===!1)return L;if(z===void 0)return console;if(z.log&&z.warn&&z.error)return z;throw new Error("logger must implement log, warn and error methods")}const B=/^[a-z_$][a-z0-9_$:-]*$/i;function D(z,P){const{RULES:N}=this;if((0,h.eachItem)(z,M=>{if(N.keywords[M])throw new Error(`Keyword ${M} is already defined`);if(!B.test(M))throw new Error(`Keyword ${M} has invalid name`)}),!!P&&P.$data&&!("code"in P||"validate"in P))throw new Error('$data keyword must have "code" or "validate" function')}function Y(z,P,N){var M;const b=P==null?void 0:P.post;if(N&&b)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:x}=this;let I=b?x.post:x.rules.find(({type:Z})=>Z===N);if(I||(I={type:N,rules:[]},x.rules.push(I)),x.keywords[z]=!0,!P)return;const W={keyword:z,definition:{...P,type:(0,c.getJSONTypes)(P.type),schemaType:(0,c.getJSONTypes)(P.schemaType)}};P.before?X.call(this,I,W,P.before):I.rules.push(W),x.all[z]=W,(M=P.implements)===null||M===void 0||M.forEach(Z=>this.addKeyword(Z))}function X(z,P,N){const M=z.rules.findIndex(b=>b.keyword===N);M>=0?z.rules.splice(M,0,P):(z.rules.push(P),this.logger.warn(`rule ${N} is not defined`))}function Q(z){let{metaSchema:P}=z;P!==void 0&&(z.$data&&this.opts.$data&&(P=ve(P)),z.validateSchema=this.compile(P,!0))}const se={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function ve(z){return{anyOf:[z,se]}}})(W$);var FS={},jS={},zS={};Object.defineProperty(zS,"__esModule",{value:!0});const lV={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};zS.default=lV;var pc={};Object.defineProperty(pc,"__esModule",{value:!0});pc.callRef=pc.getValidate=void 0;const cV=Nu,FA=qe,Rs=We,Lc=Dr,jA=Os,cm=de,hV={keyword:"$ref",schemaType:"string",code(n){const{gen:e,schema:t,it:s}=n,{baseId:i,schemaEnv:r,validateName:o,opts:a,self:l}=s,{root:c}=r;if((t==="#"||t==="#/")&&i===c.baseId)return u();const h=jA.resolveRef.call(l,c,i,t);if(h===void 0)throw new cV.default(s.opts.uriResolver,i,t);if(h instanceof jA.SchemaEnv)return d(h);return p(h);function u(){if(r===c)return Zm(n,o,r,r.$async);const m=e.scopeValue("root",{ref:c});return Zm(n,(0,Rs._)`${m}.validate`,c,c.$async)}function d(m){const g=jT(n,m);Zm(n,g,m,m.$async)}function p(m){const g=e.scopeValue("schema",a.code.source===!0?{ref:m,code:(0,Rs.stringify)(m)}:{ref:m}),v=e.name("valid"),y=n.subschema({schema:m,dataTypes:[],schemaPath:Rs.nil,topSchemaRef:g,errSchemaPath:t},v);n.mergeEvaluated(y),n.ok(v)}}};function jT(n,e){const{gen:t}=n;return e.validate?t.scopeValue("validate",{ref:e.validate}):(0,Rs._)`${t.scopeValue("wrapper",{ref:e})}.validate`}pc.getValidate=jT;function Zm(n,e,t,s){const{gen:i,it:r}=n,{allErrors:o,schemaEnv:a,opts:l}=r,c=l.passContext?Lc.default.this:Rs.nil;s?h():u();function h(){if(!a.$async)throw new Error("async schema referenced by sync schema");const m=i.let("valid");i.try(()=>{i.code((0,Rs._)`await ${(0,FA.callValidateCode)(n,e,c)}`),p(e),o||i.assign(m,!0)},g=>{i.if((0,Rs._)`!(${g} instanceof ${r.ValidationError})`,()=>i.throw(g)),d(g),o||i.assign(m,!1)}),n.ok(m)}function u(){n.result((0,FA.callValidateCode)(n,e,c),()=>p(e),()=>d(e))}function d(m){const g=(0,Rs._)`${m}.errors`;i.assign(Lc.default.vErrors,(0,Rs._)`${Lc.default.vErrors} === null ? ${g} : ${Lc.default.vErrors}.concat(${g})`),i.assign(Lc.default.errors,(0,Rs._)`${Lc.default.vErrors}.length`)}function p(m){var g;if(!r.opts.unevaluated)return;const v=(g=t==null?void 0:t.validate)===null||g===void 0?void 0:g.evaluated;if(r.props!==!0)if(v&&!v.dynamicProps)v.props!==void 0&&(r.props=cm.mergeEvaluated.props(i,v.props,r.props));else{const y=i.var("props",(0,Rs._)`${m}.evaluated.props`);r.props=cm.mergeEvaluated.props(i,y,r.props,Rs.Name)}if(r.items!==!0)if(v&&!v.dynamicItems)v.items!==void 0&&(r.items=cm.mergeEvaluated.items(i,v.items,r.items));else{const y=i.var("items",(0,Rs._)`${m}.evaluated.items`);r.items=cm.mergeEvaluated.items(i,y,r.items,Rs.Name)}}}pc.callRef=Zm;pc.default=hV;Object.defineProperty(jS,"__esModule",{value:!0});const uV=zS,dV=pc,fV=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",uV.default,dV.default];jS.default=fV;var HS={},BS={};Object.defineProperty(BS,"__esModule",{value:!0});const Zg=We,Oo=Zg.operators,Xg={maximum:{okStr:"<=",ok:Oo.LTE,fail:Oo.GT},minimum:{okStr:">=",ok:Oo.GTE,fail:Oo.LT},exclusiveMaximum:{okStr:"<",ok:Oo.LT,fail:Oo.GTE},exclusiveMinimum:{okStr:">",ok:Oo.GT,fail:Oo.LTE}},pV={message:({keyword:n,schemaCode:e})=>(0,Zg.str)`must be ${Xg[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,Zg._)`{comparison: ${Xg[n].okStr}, limit: ${e}}`},mV={keyword:Object.keys(Xg),type:"number",schemaType:"number",$data:!0,error:pV,code(n){const{keyword:e,data:t,schemaCode:s}=n;n.fail$data((0,Zg._)`${t} ${Xg[e].fail} ${s} || isNaN(${t})`)}};BS.default=mV;var US={};Object.defineProperty(US,"__esModule",{value:!0});const Pd=We,gV={message:({schemaCode:n})=>(0,Pd.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,Pd._)`{multipleOf: ${n}}`},yV={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:gV,code(n){const{gen:e,data:t,schemaCode:s,it:i}=n,r=i.opts.multipleOfPrecision,o=e.let("res"),a=r?(0,Pd._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${r}`:(0,Pd._)`${o} !== parseInt(${o})`;n.fail$data((0,Pd._)`(${s} === 0 || (${o} = ${t}/${s}, ${a}))`)}};US.default=yV;var qS={},VS={};Object.defineProperty(VS,"__esModule",{value:!0});function zT(n){const e=n.length;let t=0,s=0,i;for(;s=55296&&i<=56319&&s(0,sl._)`{limit: ${n}}`},_V={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:wV,code(n){const{keyword:e,data:t,schemaCode:s,it:i}=n,r=e==="maxLength"?sl.operators.GT:sl.operators.LT,o=i.opts.unicode===!1?(0,sl._)`${t}.length`:(0,sl._)`${(0,vV.useFunc)(n.gen,bV.default)}(${t})`;n.fail$data((0,sl._)`${o} ${r} ${s}`)}};qS.default=_V;var WS={};Object.defineProperty(WS,"__esModule",{value:!0});const SV=qe,kV=de,th=We,AV={message:({schemaCode:n})=>(0,th.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,th._)`{pattern: ${n}}`},xV={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:AV,code(n){const{gen:e,data:t,$data:s,schema:i,schemaCode:r,it:o}=n,a=o.opts.unicodeRegExp?"u":"";if(s){const{regExp:l}=o.opts.code,c=l.code==="new RegExp"?(0,th._)`new RegExp`:(0,kV.useFunc)(e,l),h=e.let("valid");e.try(()=>e.assign(h,(0,th._)`${c}(${r}, ${a}).test(${t})`),()=>e.assign(h,!1)),n.fail$data((0,th._)`!${h}`)}else{const l=(0,SV.usePattern)(n,i);n.fail$data((0,th._)`!${l}.test(${t})`)}}};WS.default=xV;var GS={};Object.defineProperty(GS,"__esModule",{value:!0});const Rd=We,EV={message({keyword:n,schemaCode:e}){const t=n==="maxProperties"?"more":"fewer";return(0,Rd.str)`must NOT have ${t} than ${e} properties`},params:({schemaCode:n})=>(0,Rd._)`{limit: ${n}}`},CV={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:EV,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxProperties"?Rd.operators.GT:Rd.operators.LT;n.fail$data((0,Rd._)`Object.keys(${t}).length ${i} ${s}`)}};GS.default=CV;var KS={};Object.defineProperty(KS,"__esModule",{value:!0});const Gu=qe,Md=We,$V=de,TV={message:({params:{missingProperty:n}})=>(0,Md.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,Md._)`{missingProperty: ${n}}`},PV={keyword:"required",type:"object",schemaType:"array",$data:!0,error:TV,code(n){const{gen:e,schema:t,schemaCode:s,data:i,$data:r,it:o}=n,{opts:a}=o;if(!r&&t.length===0)return;const l=t.length>=a.loopRequired;if(o.allErrors?c():h(),a.strictRequired){const p=n.parentSchema.properties,{definedProperties:m}=n.it;for(const g of t)if((p==null?void 0:p[g])===void 0&&!m.has(g)){const v=o.schemaEnv.baseId+o.errSchemaPath,y=`required property "${g}" is not defined at "${v}" (strictRequired)`;(0,$V.checkStrictMode)(o,y,o.opts.strictRequired)}}function c(){if(l||r)n.block$data(Md.nil,u);else for(const p of t)(0,Gu.checkReportMissingProp)(n,p)}function h(){const p=e.let("missing");if(l||r){const m=e.let("valid",!0);n.block$data(m,()=>d(p,m)),n.ok(m)}else e.if((0,Gu.checkMissingProp)(n,t,p)),(0,Gu.reportMissingProp)(n,p),e.else()}function u(){e.forOf("prop",s,p=>{n.setParams({missingProperty:p}),e.if((0,Gu.noPropertyInData)(e,i,p,a.ownProperties),()=>n.error())})}function d(p,m){n.setParams({missingProperty:p}),e.forOf(p,s,()=>{e.assign(m,(0,Gu.propertyInData)(e,i,p,a.ownProperties)),e.if((0,Md.not)(m),()=>{n.error(),e.break()})},Md.nil)}}};KS.default=PV;var ZS={};Object.defineProperty(ZS,"__esModule",{value:!0});const Id=We,RV={message({keyword:n,schemaCode:e}){const t=n==="maxItems"?"more":"fewer";return(0,Id.str)`must NOT have ${t} than ${e} items`},params:({schemaCode:n})=>(0,Id._)`{limit: ${n}}`},MV={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:RV,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxItems"?Id.operators.GT:Id.operators.LT;n.fail$data((0,Id._)`${t}.length ${i} ${s}`)}};ZS.default=MV;var XS={},Bp={};Object.defineProperty(Bp,"__esModule",{value:!0});const HT=o0;HT.code='require("ajv/dist/runtime/equal").default';Bp.default=HT;Object.defineProperty(XS,"__esModule",{value:!0});const X0=pn,Nn=We,IV=de,OV=Bp,NV={message:({params:{i:n,j:e}})=>(0,Nn.str)`must NOT have duplicate items (items ## ${e} and ${n} are identical)`,params:({params:{i:n,j:e}})=>(0,Nn._)`{i: ${n}, j: ${e}}`},LV={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:NV,code(n){const{gen:e,data:t,$data:s,schema:i,parentSchema:r,schemaCode:o,it:a}=n;if(!s&&!i)return;const l=e.let("valid"),c=r.items?(0,X0.getSchemaTypes)(r.items):[];n.block$data(l,h,(0,Nn._)`${o} === false`),n.ok(l);function h(){const m=e.let("i",(0,Nn._)`${t}.length`),g=e.let("j");n.setParams({i:m,j:g}),e.assign(l,!0),e.if((0,Nn._)`${m} > 1`,()=>(u()?d:p)(m,g))}function u(){return c.length>0&&!c.some(m=>m==="object"||m==="array")}function d(m,g){const v=e.name("item"),y=(0,X0.checkDataTypes)(c,v,a.opts.strictNumbers,X0.DataType.Wrong),w=e.const("indices",(0,Nn._)`{}`);e.for((0,Nn._)`;${m}--;`,()=>{e.let(v,(0,Nn._)`${t}[${m}]`),e.if(y,(0,Nn._)`continue`),c.length>1&&e.if((0,Nn._)`typeof ${v} == "string"`,(0,Nn._)`${v} += "_"`),e.if((0,Nn._)`typeof ${w}[${v}] == "number"`,()=>{e.assign(g,(0,Nn._)`${w}[${v}]`),n.error(),e.assign(l,!1).break()}).code((0,Nn._)`${w}[${v}] = ${m}`)})}function p(m,g){const v=(0,IV.useFunc)(e,OV.default),y=e.name("outer");e.label(y).for((0,Nn._)`;${m}--;`,()=>e.for((0,Nn._)`${g} = ${m}; ${g}--;`,()=>e.if((0,Nn._)`${v}(${t}[${m}], ${t}[${g}])`,()=>{n.error(),e.assign(l,!1).break(y)})))}}};XS.default=LV;var YS={};Object.defineProperty(YS,"__esModule",{value:!0});const eb=We,DV=de,FV=Bp,jV={message:"must be equal to constant",params:({schemaCode:n})=>(0,eb._)`{allowedValue: ${n}}`},zV={keyword:"const",$data:!0,error:jV,code(n){const{gen:e,data:t,$data:s,schemaCode:i,schema:r}=n;s||r&&typeof r=="object"?n.fail$data((0,eb._)`!${(0,DV.useFunc)(e,FV.default)}(${t}, ${i})`):n.fail((0,eb._)`${r} !== ${t}`)}};YS.default=zV;var JS={};Object.defineProperty(JS,"__esModule",{value:!0});const ad=We,HV=de,BV=Bp,UV={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,ad._)`{allowedValues: ${n}}`},qV={keyword:"enum",schemaType:"array",$data:!0,error:UV,code(n){const{gen:e,data:t,$data:s,schema:i,schemaCode:r,it:o}=n;if(!s&&i.length===0)throw new Error("enum must have non-empty array");const a=i.length>=o.opts.loopEnum;let l;const c=()=>l??(l=(0,HV.useFunc)(e,BV.default));let h;if(a||s)h=e.let("valid"),n.block$data(h,u);else{if(!Array.isArray(i))throw new Error("ajv implementation error");const p=e.const("vSchema",r);h=(0,ad.or)(...i.map((m,g)=>d(p,g)))}n.pass(h);function u(){e.assign(h,!1),e.forOf("v",r,p=>e.if((0,ad._)`${c()}(${t}, ${p})`,()=>e.assign(h,!0).break()))}function d(p,m){const g=i[m];return typeof g=="object"&&g!==null?(0,ad._)`${c()}(${t}, ${p}[${m}])`:(0,ad._)`${t} === ${g}`}}};JS.default=qV;Object.defineProperty(HS,"__esModule",{value:!0});const VV=BS,WV=US,GV=qS,KV=WS,ZV=GS,XV=KS,YV=ZS,JV=XS,QV=YS,e3=JS,t3=[VV.default,WV.default,GV.default,KV.default,ZV.default,XV.default,YV.default,JV.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},QV.default,e3.default];HS.default=t3;var QS={},Lu={};Object.defineProperty(Lu,"__esModule",{value:!0});Lu.validateAdditionalItems=void 0;const il=We,tb=de,n3={message:({params:{len:n}})=>(0,il.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,il._)`{limit: ${n}}`},s3={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:n3,code(n){const{parentSchema:e,it:t}=n,{items:s}=e;if(!Array.isArray(s)){(0,tb.checkStrictMode)(t,'"additionalItems" is ignored when "items" is not an array of schemas');return}BT(n,s)}};function BT(n,e){const{gen:t,schema:s,data:i,keyword:r,it:o}=n;o.items=!0;const a=t.const("len",(0,il._)`${i}.length`);if(s===!1)n.setParams({len:e.length}),n.pass((0,il._)`${a} <= ${e.length}`);else if(typeof s=="object"&&!(0,tb.alwaysValidSchema)(o,s)){const c=t.var("valid",(0,il._)`${a} <= ${e.length}`);t.if((0,il.not)(c),()=>l(c)),n.ok(c)}function l(c){t.forRange("i",e.length,a,h=>{n.subschema({keyword:r,dataProp:h,dataPropType:tb.Type.Num},c),o.allErrors||t.if((0,il.not)(c),()=>t.break())})}}Lu.validateAdditionalItems=BT;Lu.default=s3;var e1={},Du={};Object.defineProperty(Du,"__esModule",{value:!0});Du.validateTuple=void 0;const zA=We,Xm=de,i3=qe,r3={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){const{schema:e,it:t}=n;if(Array.isArray(e))return UT(n,"additionalItems",e);t.items=!0,!(0,Xm.alwaysValidSchema)(t,e)&&n.ok((0,i3.validateArray)(n))}};function UT(n,e,t=n.schema){const{gen:s,parentSchema:i,data:r,keyword:o,it:a}=n;h(i),a.opts.unevaluated&&t.length&&a.items!==!0&&(a.items=Xm.mergeEvaluated.items(s,t.length,a.items));const l=s.name("valid"),c=s.const("len",(0,zA._)`${r}.length`);t.forEach((u,d)=>{(0,Xm.alwaysValidSchema)(a,u)||(s.if((0,zA._)`${c} > ${d}`,()=>n.subschema({keyword:o,schemaProp:d,dataProp:d},l)),n.ok(l))});function h(u){const{opts:d,errSchemaPath:p}=a,m=t.length,g=m===u.minItems&&(m===u.maxItems||u[e]===!1);if(d.strictTuples&&!g){const v=`"${o}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,Xm.checkStrictMode)(a,v,d.strictTuples)}}}Du.validateTuple=UT;Du.default=r3;Object.defineProperty(e1,"__esModule",{value:!0});const o3=Du,a3={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,o3.validateTuple)(n,"items")};e1.default=a3;var t1={};Object.defineProperty(t1,"__esModule",{value:!0});const HA=We,l3=de,c3=qe,h3=Lu,u3={message:({params:{len:n}})=>(0,HA.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,HA._)`{limit: ${n}}`},d3={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:u3,code(n){const{schema:e,parentSchema:t,it:s}=n,{prefixItems:i}=t;s.items=!0,!(0,l3.alwaysValidSchema)(s,e)&&(i?(0,h3.validateAdditionalItems)(n,i):n.ok((0,c3.validateArray)(n)))}};t1.default=d3;var n1={};Object.defineProperty(n1,"__esModule",{value:!0});const ui=We,hm=de,f3={message:({params:{min:n,max:e}})=>e===void 0?(0,ui.str)`must contain at least ${n} valid item(s)`:(0,ui.str)`must contain at least ${n} and no more than ${e} valid item(s)`,params:({params:{min:n,max:e}})=>e===void 0?(0,ui._)`{minContains: ${n}}`:(0,ui._)`{minContains: ${n}, maxContains: ${e}}`},p3={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:f3,code(n){const{gen:e,schema:t,parentSchema:s,data:i,it:r}=n;let o,a;const{minContains:l,maxContains:c}=s;r.opts.next?(o=l===void 0?1:l,a=c):o=1;const h=e.const("len",(0,ui._)`${i}.length`);if(n.setParams({min:o,max:a}),a===void 0&&o===0){(0,hm.checkStrictMode)(r,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,hm.checkStrictMode)(r,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,hm.alwaysValidSchema)(r,t)){let g=(0,ui._)`${h} >= ${o}`;a!==void 0&&(g=(0,ui._)`${g} && ${h} <= ${a}`),n.pass(g);return}r.items=!0;const u=e.name("valid");a===void 0&&o===1?p(u,()=>e.if(u,()=>e.break())):o===0?(e.let(u,!0),a!==void 0&&e.if((0,ui._)`${i}.length > 0`,d)):(e.let(u,!1),d()),n.result(u,()=>n.reset());function d(){const g=e.name("_valid"),v=e.let("count",0);p(g,()=>e.if(g,()=>m(v)))}function p(g,v){e.forRange("i",0,h,y=>{n.subschema({keyword:"contains",dataProp:y,dataPropType:hm.Type.Num,compositeRule:!0},g),v()})}function m(g){e.code((0,ui._)`${g}++`),a===void 0?e.if((0,ui._)`${g} >= ${o}`,()=>e.assign(u,!0).break()):(e.if((0,ui._)`${g} > ${a}`,()=>e.assign(u,!1).break()),o===1?e.assign(u,!0):e.if((0,ui._)`${g} >= ${o}`,()=>e.assign(u,!0)))}}};n1.default=p3;var qT={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.validateSchemaDeps=n.validatePropertyDeps=n.error=void 0;const e=We,t=de,s=qe;n.error={message:({params:{property:l,depsCount:c,deps:h}})=>{const u=c===1?"property":"properties";return(0,e.str)`must have ${u} ${h} when property ${l} is present`},params:({params:{property:l,depsCount:c,deps:h,missingProperty:u}})=>(0,e._)`{property: ${l}, + missingProperty: ${u}, + depsCount: ${c}, + deps: ${h}}`};const i={keyword:"dependencies",type:"object",schemaType:"object",error:n.error,code(l){const[c,h]=r(l);o(l,c),a(l,h)}};function r({schema:l}){const c={},h={};for(const u in l){if(u==="__proto__")continue;const d=Array.isArray(l[u])?c:h;d[u]=l[u]}return[c,h]}function o(l,c=l.schema){const{gen:h,data:u,it:d}=l;if(Object.keys(c).length===0)return;const p=h.let("missing");for(const m in c){const g=c[m];if(g.length===0)continue;const v=(0,s.propertyInData)(h,u,m,d.opts.ownProperties);l.setParams({property:m,depsCount:g.length,deps:g.join(", ")}),d.allErrors?h.if(v,()=>{for(const y of g)(0,s.checkReportMissingProp)(l,y)}):(h.if((0,e._)`${v} && (${(0,s.checkMissingProp)(l,g,p)})`),(0,s.reportMissingProp)(l,p),h.else())}}n.validatePropertyDeps=o;function a(l,c=l.schema){const{gen:h,data:u,keyword:d,it:p}=l,m=h.name("valid");for(const g in c)(0,t.alwaysValidSchema)(p,c[g])||(h.if((0,s.propertyInData)(h,u,g,p.opts.ownProperties),()=>{const v=l.subschema({keyword:d,schemaProp:g},m);l.mergeValidEvaluated(v,m)},()=>h.var(m,!0)),l.ok(m))}n.validateSchemaDeps=a,n.default=i})(qT);var s1={};Object.defineProperty(s1,"__esModule",{value:!0});const VT=We,m3=de,g3={message:"property name must be valid",params:({params:n})=>(0,VT._)`{propertyName: ${n.propertyName}}`},y3={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:g3,code(n){const{gen:e,schema:t,data:s,it:i}=n;if((0,m3.alwaysValidSchema)(i,t))return;const r=e.name("valid");e.forIn("key",s,o=>{n.setParams({propertyName:o}),n.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},r),e.if((0,VT.not)(r),()=>{n.error(!0),i.allErrors||e.break()})}),n.ok(r)}};s1.default=y3;var h0={};Object.defineProperty(h0,"__esModule",{value:!0});const um=qe,$i=We,v3=Dr,dm=de,b3={message:"must NOT have additional properties",params:({params:n})=>(0,$i._)`{additionalProperty: ${n.additionalProperty}}`},w3={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:b3,code(n){const{gen:e,schema:t,parentSchema:s,data:i,errsCount:r,it:o}=n;if(!r)throw new Error("ajv implementation error");const{allErrors:a,opts:l}=o;if(o.props=!0,l.removeAdditional!=="all"&&(0,dm.alwaysValidSchema)(o,t))return;const c=(0,um.allSchemaProperties)(s.properties),h=(0,um.allSchemaProperties)(s.patternProperties);u(),n.ok((0,$i._)`${r} === ${v3.default.errors}`);function u(){e.forIn("key",i,v=>{!c.length&&!h.length?m(v):e.if(d(v),()=>m(v))})}function d(v){let y;if(c.length>8){const w=(0,dm.schemaRefOrVal)(o,s.properties,"properties");y=(0,um.isOwnProperty)(e,w,v)}else c.length?y=(0,$i.or)(...c.map(w=>(0,$i._)`${v} === ${w}`)):y=$i.nil;return h.length&&(y=(0,$i.or)(y,...h.map(w=>(0,$i._)`${(0,um.usePattern)(n,w)}.test(${v})`))),(0,$i.not)(y)}function p(v){e.code((0,$i._)`delete ${i}[${v}]`)}function m(v){if(l.removeAdditional==="all"||l.removeAdditional&&t===!1){p(v);return}if(t===!1){n.setParams({additionalProperty:v}),n.error(),a||e.break();return}if(typeof t=="object"&&!(0,dm.alwaysValidSchema)(o,t)){const y=e.name("valid");l.removeAdditional==="failing"?(g(v,y,!1),e.if((0,$i.not)(y),()=>{n.reset(),p(v)})):(g(v,y),a||e.if((0,$i.not)(y),()=>e.break()))}}function g(v,y,w){const _={keyword:"additionalProperties",dataProp:v,dataPropType:dm.Type.Str};w===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(_,y)}}};h0.default=w3;var i1={};Object.defineProperty(i1,"__esModule",{value:!0});const _3=Xi,BA=qe,Y0=de,UA=h0,S3={keyword:"properties",type:"object",schemaType:"object",code(n){const{gen:e,schema:t,parentSchema:s,data:i,it:r}=n;r.opts.removeAdditional==="all"&&s.additionalProperties===void 0&&UA.default.code(new _3.KeywordCxt(r,UA.default,"additionalProperties"));const o=(0,BA.allSchemaProperties)(t);for(const u of o)r.definedProperties.add(u);r.opts.unevaluated&&o.length&&r.props!==!0&&(r.props=Y0.mergeEvaluated.props(e,(0,Y0.toHash)(o),r.props));const a=o.filter(u=>!(0,Y0.alwaysValidSchema)(r,t[u]));if(a.length===0)return;const l=e.name("valid");for(const u of a)c(u)?h(u):(e.if((0,BA.propertyInData)(e,i,u,r.opts.ownProperties)),h(u),r.allErrors||e.else().var(l,!0),e.endIf()),n.it.definedProperties.add(u),n.ok(l);function c(u){return r.opts.useDefaults&&!r.compositeRule&&t[u].default!==void 0}function h(u){n.subschema({keyword:"properties",schemaProp:u,dataProp:u},l)}}};i1.default=S3;var r1={};Object.defineProperty(r1,"__esModule",{value:!0});const qA=qe,fm=We,VA=de,WA=de,k3={keyword:"patternProperties",type:"object",schemaType:"object",code(n){const{gen:e,schema:t,data:s,parentSchema:i,it:r}=n,{opts:o}=r,a=(0,qA.allSchemaProperties)(t),l=a.filter(g=>(0,VA.alwaysValidSchema)(r,t[g]));if(a.length===0||l.length===a.length&&(!r.opts.unevaluated||r.props===!0))return;const c=o.strictSchema&&!o.allowMatchingProperties&&i.properties,h=e.name("valid");r.props!==!0&&!(r.props instanceof fm.Name)&&(r.props=(0,WA.evaluatedPropsToName)(e,r.props));const{props:u}=r;d();function d(){for(const g of a)c&&p(g),r.allErrors?m(g):(e.var(h,!0),m(g),e.if(h))}function p(g){for(const v in c)new RegExp(g).test(v)&&(0,VA.checkStrictMode)(r,`property ${v} matches pattern ${g} (use allowMatchingProperties)`)}function m(g){e.forIn("key",s,v=>{e.if((0,fm._)`${(0,qA.usePattern)(n,g)}.test(${v})`,()=>{const y=l.includes(g);y||n.subschema({keyword:"patternProperties",schemaProp:g,dataProp:v,dataPropType:WA.Type.Str},h),r.opts.unevaluated&&u!==!0?e.assign((0,fm._)`${u}[${v}]`,!0):!y&&!r.allErrors&&e.if((0,fm.not)(h),()=>e.break())})})}}};r1.default=k3;var o1={};Object.defineProperty(o1,"__esModule",{value:!0});const A3=de,x3={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){const{gen:e,schema:t,it:s}=n;if((0,A3.alwaysValidSchema)(s,t)){n.fail();return}const i=e.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),n.failResult(i,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};o1.default=x3;var a1={};Object.defineProperty(a1,"__esModule",{value:!0});const E3=qe,C3={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:E3.validateUnion,error:{message:"must match a schema in anyOf"}};a1.default=C3;var l1={};Object.defineProperty(l1,"__esModule",{value:!0});const Ym=We,$3=de,T3={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,Ym._)`{passingSchemas: ${n.passing}}`},P3={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:T3,code(n){const{gen:e,schema:t,parentSchema:s,it:i}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");if(i.opts.discriminator&&s.discriminator)return;const r=t,o=e.let("valid",!1),a=e.let("passing",null),l=e.name("_valid");n.setParams({passing:a}),e.block(c),n.result(o,()=>n.reset(),()=>n.error(!0));function c(){r.forEach((h,u)=>{let d;(0,$3.alwaysValidSchema)(i,h)?e.var(l,!0):d=n.subschema({keyword:"oneOf",schemaProp:u,compositeRule:!0},l),u>0&&e.if((0,Ym._)`${l} && ${o}`).assign(o,!1).assign(a,(0,Ym._)`[${a}, ${u}]`).else(),e.if(l,()=>{e.assign(o,!0),e.assign(a,u),d&&n.mergeEvaluated(d,Ym.Name)})})}}};l1.default=P3;var c1={};Object.defineProperty(c1,"__esModule",{value:!0});const R3=de,M3={keyword:"allOf",schemaType:"array",code(n){const{gen:e,schema:t,it:s}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");const i=e.name("valid");t.forEach((r,o)=>{if((0,R3.alwaysValidSchema)(s,r))return;const a=n.subschema({keyword:"allOf",schemaProp:o},i);n.ok(i),n.mergeEvaluated(a)})}};c1.default=M3;var h1={};Object.defineProperty(h1,"__esModule",{value:!0});const Yg=We,WT=de,I3={message:({params:n})=>(0,Yg.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,Yg._)`{failingKeyword: ${n.ifClause}}`},O3={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:I3,code(n){const{gen:e,parentSchema:t,it:s}=n;t.then===void 0&&t.else===void 0&&(0,WT.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const i=GA(s,"then"),r=GA(s,"else");if(!i&&!r)return;const o=e.let("valid",!0),a=e.name("_valid");if(l(),n.reset(),i&&r){const h=e.let("ifClause");n.setParams({ifClause:h}),e.if(a,c("then",h),c("else",h))}else i?e.if(a,c("then")):e.if((0,Yg.not)(a),c("else"));n.pass(o,()=>n.error(!0));function l(){const h=n.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);n.mergeEvaluated(h)}function c(h,u){return()=>{const d=n.subschema({keyword:h},a);e.assign(o,a),n.mergeValidEvaluated(d,o),u?e.assign(u,(0,Yg._)`${h}`):n.setParams({ifClause:h})}}}};function GA(n,e){const t=n.schema[e];return t!==void 0&&!(0,WT.alwaysValidSchema)(n,t)}h1.default=O3;var u1={};Object.defineProperty(u1,"__esModule",{value:!0});const N3=de,L3={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:t}){e.if===void 0&&(0,N3.checkStrictMode)(t,`"${n}" without "if" is ignored`)}};u1.default=L3;Object.defineProperty(QS,"__esModule",{value:!0});const D3=Lu,F3=e1,j3=Du,z3=t1,H3=n1,B3=qT,U3=s1,q3=h0,V3=i1,W3=r1,G3=o1,K3=a1,Z3=l1,X3=c1,Y3=h1,J3=u1;function Q3(n=!1){const e=[G3.default,K3.default,Z3.default,X3.default,Y3.default,J3.default,U3.default,q3.default,B3.default,V3.default,W3.default];return n?e.push(F3.default,z3.default):e.push(D3.default,j3.default),e.push(H3.default),e}QS.default=Q3;var d1={},f1={};Object.defineProperty(f1,"__esModule",{value:!0});const Vt=We,eW={message:({schemaCode:n})=>(0,Vt.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,Vt._)`{format: ${n}}`},tW={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:eW,code(n,e){const{gen:t,data:s,$data:i,schema:r,schemaCode:o,it:a}=n,{opts:l,errSchemaPath:c,schemaEnv:h,self:u}=a;if(!l.validateFormats)return;i?d():p();function d(){const m=t.scopeValue("formats",{ref:u.formats,code:l.code.formats}),g=t.const("fDef",(0,Vt._)`${m}[${o}]`),v=t.let("fType"),y=t.let("format");t.if((0,Vt._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>t.assign(v,(0,Vt._)`${g}.type || "string"`).assign(y,(0,Vt._)`${g}.validate`),()=>t.assign(v,(0,Vt._)`"string"`).assign(y,g)),n.fail$data((0,Vt.or)(w(),_()));function w(){return l.strictSchema===!1?Vt.nil:(0,Vt._)`${o} && !${y}`}function _(){const A=h.$async?(0,Vt._)`(${g}.async ? await ${y}(${s}) : ${y}(${s}))`:(0,Vt._)`${y}(${s})`,k=(0,Vt._)`(typeof ${y} == "function" ? ${A} : ${y}.test(${s}))`;return(0,Vt._)`${y} && ${y} !== true && ${v} === ${e} && !${k}`}}function p(){const m=u.formats[r];if(!m){w();return}if(m===!0)return;const[g,v,y]=_(m);g===e&&n.pass(A());function w(){if(l.strictSchema===!1){u.logger.warn(k());return}throw new Error(k());function k(){return`unknown format "${r}" ignored in schema at path "${c}"`}}function _(k){const $=k instanceof RegExp?(0,Vt.regexpCode)(k):l.code.formats?(0,Vt._)`${l.code.formats}${(0,Vt.getProperty)(r)}`:void 0,E=t.scopeValue("formats",{key:r,ref:k,code:$});return typeof k=="object"&&!(k instanceof RegExp)?[k.type||"string",k.validate,(0,Vt._)`${E}.validate`]:["string",k,E]}function A(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!h.$async)throw new Error("async format in sync schema");return(0,Vt._)`await ${y}(${s})`}return typeof v=="function"?(0,Vt._)`${y}(${s})`:(0,Vt._)`${y}.test(${s})`}}}};f1.default=tW;Object.defineProperty(d1,"__esModule",{value:!0});const nW=f1,sW=[nW.default];d1.default=sW;var bu={};Object.defineProperty(bu,"__esModule",{value:!0});bu.contentVocabulary=bu.metadataVocabulary=void 0;bu.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];bu.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];Object.defineProperty(FS,"__esModule",{value:!0});const iW=jS,rW=HS,oW=QS,aW=d1,KA=bu,lW=[iW.default,rW.default,(0,oW.default)(),aW.default,KA.metadataVocabulary,KA.contentVocabulary];FS.default=lW;var p1={},u0={};Object.defineProperty(u0,"__esModule",{value:!0});u0.DiscrError=void 0;var ZA;(function(n){n.Tag="tag",n.Mapping="mapping"})(ZA||(u0.DiscrError=ZA={}));Object.defineProperty(p1,"__esModule",{value:!0});const Hc=We,nb=u0,XA=Os,cW=Nu,hW=de,uW={message:({params:{discrError:n,tagName:e}})=>n===nb.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:t}})=>(0,Hc._)`{error: ${n}, tag: ${t}, tagValue: ${e}}`},dW={keyword:"discriminator",type:"object",schemaType:"object",error:uW,code(n){const{gen:e,data:t,schema:s,parentSchema:i,it:r}=n,{oneOf:o}=i;if(!r.opts.discriminator)throw new Error("discriminator: requires discriminator option");const a=s.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(s.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");const l=e.let("valid",!1),c=e.const("tag",(0,Hc._)`${t}${(0,Hc.getProperty)(a)}`);e.if((0,Hc._)`typeof ${c} == "string"`,()=>h(),()=>n.error(!1,{discrError:nb.DiscrError.Tag,tag:c,tagName:a})),n.ok(l);function h(){const p=d();e.if(!1);for(const m in p)e.elseIf((0,Hc._)`${c} === ${m}`),e.assign(l,u(p[m]));e.else(),n.error(!1,{discrError:nb.DiscrError.Mapping,tag:c,tagName:a}),e.endIf()}function u(p){const m=e.name("valid"),g=n.subschema({keyword:"oneOf",schemaProp:p},m);return n.mergeEvaluated(g,Hc.Name),m}function d(){var p;const m={},g=y(i);let v=!0;for(let A=0;Athis.addVocabulary(m)),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const m=this.opts.$data?this.$dataMetaSchema(r,o):r;this.addMetaSchema(m,a,!1),this.refs["http://json-schema.org/schema"]=a}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}e.Ajv=l,n.exports=e=l,n.exports.Ajv=l,Object.defineProperty(e,"__esModule",{value:!0}),e.default=l;var c=Xi;Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return c.KeywordCxt}});var h=We;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return h._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return h.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return h.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return h.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return h.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return h.CodeGen}});var u=Hp;Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return u.default}});var d=Nu;Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return d.default}})})(Zv,Zv.exports);var wW=Zv.exports;const _W=L_(wW);var sb={exports:{}},GT={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.formatNames=n.fastFormats=n.fullFormats=void 0;function e(L,H){return{validate:L,compare:H}}n.fullFormats={date:e(r,o),time:e(l(!0),c),"date-time":e(d(!0),p),"iso-time":e(l(),h),"iso-date-time":e(d(),m),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:y,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:U,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:_,int32:{type:"number",validate:$},int64:{type:"number",validate:E},float:{type:"number",validate:O},double:{type:"number",validate:O},password:!0,binary:!0},n.fastFormats={...n.fullFormats,date:e(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:e(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,c),"date-time":e(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,p),"iso-time":e(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,h),"iso-date-time":e(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,m),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},n.formatNames=Object.keys(n.fullFormats);function t(L){return L%4===0&&(L%100!==0||L%400===0)}const s=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31];function r(L){const H=s.exec(L);if(!H)return!1;const B=+H[1],D=+H[2],Y=+H[3];return D>=1&&D<=12&&Y>=1&&Y<=(D===2&&t(B)?29:i[D])}function o(L,H){if(L&&H)return L>H?1:L23||P>59||L&&!se)return!1;if(Y<=23&&X<=59&&Q<60)return!0;const N=X-P*ve,M=Y-z*ve-(N<0?1:0);return(M===23||M===-1)&&(N===59||N===-1)&&Q<61}}function c(L,H){if(!(L&&H))return;const B=new Date("2020-01-01T"+L).valueOf(),D=new Date("2020-01-01T"+H).valueOf();if(B&&D)return B-D}function h(L,H){if(!(L&&H))return;const B=a.exec(L),D=a.exec(H);if(B&&D)return L=B[1]+B[2]+B[3],H=D[1]+D[2]+D[3],L>H?1:L=A}function E(L){return Number.isInteger(L)}function O(){return!0}const F=/[^\\]\\Z/;function U(L){if(F.test(L))return!1;try{return new RegExp(L),!0}catch{return!1}}})(GT);var KT={},ib={exports:{}},ZT={},Yi={},wu={},Up={},He={},Qd={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.regexpCode=n.getEsmExportName=n.getProperty=n.safeStringify=n.stringify=n.strConcat=n.addCodeArg=n.str=n._=n.nil=n._Code=n.Name=n.IDENTIFIER=n._CodeOrName=void 0;class e{}n._CodeOrName=e,n.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class t extends e{constructor(w){if(super(),!n.IDENTIFIER.test(w))throw new Error("CodeGen: name must be a valid identifier");this.str=w}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}n.Name=t;class s extends e{constructor(w){super(),this._items=typeof w=="string"?[w]:w}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const w=this._items[0];return w===""||w==='""'}get str(){var w;return(w=this._str)!==null&&w!==void 0?w:this._str=this._items.reduce((_,A)=>`${_}${A}`,"")}get names(){var w;return(w=this._names)!==null&&w!==void 0?w:this._names=this._items.reduce((_,A)=>(A instanceof t&&(_[A.str]=(_[A.str]||0)+1),_),{})}}n._Code=s,n.nil=new s("");function i(y,...w){const _=[y[0]];let A=0;for(;A{if(u.scopePath===void 0)throw new Error(`CodeGen: name "${u}" has no value`);return(0,e._)`${c}${u.scopePath}`})}scopeCode(c=this._values,h,u){return this._reduceValues(c,d=>{if(d.value===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return d.value.code},h,u)}_reduceValues(c,h,u={},d){let p=e.nil;for(const m in c){const g=c[m];if(!g)continue;const v=u[m]=u[m]||new Map;g.forEach(y=>{if(v.has(y))return;v.set(y,s.Started);let w=h(y);if(w){const _=this.opts.es5?n.varKinds.var:n.varKinds.const;p=(0,e._)`${p}${_} ${y} = ${w};${this.opts._n}`}else if(w=d==null?void 0:d(y))p=(0,e._)`${p}${w}${this.opts._n}`;else throw new t(y);v.set(y,s.Completed)})}return p}}n.ValueScope=a})(rb);(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.or=n.and=n.not=n.CodeGen=n.operators=n.varKinds=n.ValueScopeName=n.ValueScope=n.Scope=n.Name=n.regexpCode=n.stringify=n.getProperty=n.nil=n.strConcat=n.str=n._=void 0;const e=Qd,t=rb;var s=Qd;Object.defineProperty(n,"_",{enumerable:!0,get:function(){return s._}}),Object.defineProperty(n,"str",{enumerable:!0,get:function(){return s.str}}),Object.defineProperty(n,"strConcat",{enumerable:!0,get:function(){return s.strConcat}}),Object.defineProperty(n,"nil",{enumerable:!0,get:function(){return s.nil}}),Object.defineProperty(n,"getProperty",{enumerable:!0,get:function(){return s.getProperty}}),Object.defineProperty(n,"stringify",{enumerable:!0,get:function(){return s.stringify}}),Object.defineProperty(n,"regexpCode",{enumerable:!0,get:function(){return s.regexpCode}}),Object.defineProperty(n,"Name",{enumerable:!0,get:function(){return s.Name}});var i=rb;Object.defineProperty(n,"Scope",{enumerable:!0,get:function(){return i.Scope}}),Object.defineProperty(n,"ValueScope",{enumerable:!0,get:function(){return i.ValueScope}}),Object.defineProperty(n,"ValueScopeName",{enumerable:!0,get:function(){return i.ValueScopeName}}),Object.defineProperty(n,"varKinds",{enumerable:!0,get:function(){return i.varKinds}}),n.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class r{optimizeNodes(){return this}optimizeNames(b,x){return this}}class o extends r{constructor(b,x,I){super(),this.varKind=b,this.name=x,this.rhs=I}render({es5:b,_n:x}){const I=b?t.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${I} ${this.name}${W};`+x}optimizeNames(b,x){if(b[this.name.str])return this.rhs&&(this.rhs=D(this.rhs,b,x)),this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class a extends r{constructor(b,x,I){super(),this.lhs=b,this.rhs=x,this.sideEffects=I}render({_n:b}){return`${this.lhs} = ${this.rhs};`+b}optimizeNames(b,x){if(!(this.lhs instanceof e.Name&&!b[this.lhs.str]&&!this.sideEffects))return this.rhs=D(this.rhs,b,x),this}get names(){const b=this.lhs instanceof e.Name?{}:{...this.lhs.names};return B(b,this.rhs)}}class l extends a{constructor(b,x,I,W){super(b,I,W),this.op=x}render({_n:b}){return`${this.lhs} ${this.op}= ${this.rhs};`+b}}class c extends r{constructor(b){super(),this.label=b,this.names={}}render({_n:b}){return`${this.label}:`+b}}class h extends r{constructor(b){super(),this.label=b,this.names={}}render({_n:b}){return`break${this.label?` ${this.label}`:""};`+b}}class u extends r{constructor(b){super(),this.error=b}render({_n:b}){return`throw ${this.error};`+b}get names(){return this.error.names}}class d extends r{constructor(b){super(),this.code=b}render({_n:b}){return`${this.code};`+b}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(b,x){return this.code=D(this.code,b,x),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class p extends r{constructor(b=[]){super(),this.nodes=b}render(b){return this.nodes.reduce((x,I)=>x+I.render(b),"")}optimizeNodes(){const{nodes:b}=this;let x=b.length;for(;x--;){const I=b[x].optimizeNodes();Array.isArray(I)?b.splice(x,1,...I):I?b[x]=I:b.splice(x,1)}return b.length>0?this:void 0}optimizeNames(b,x){const{nodes:I}=this;let W=I.length;for(;W--;){const Z=I[W];Z.optimizeNames(b,x)||(Y(b,Z.names),I.splice(W,1))}return I.length>0?this:void 0}get names(){return this.nodes.reduce((b,x)=>H(b,x.names),{})}}class m extends p{render(b){return"{"+b._n+super.render(b)+"}"+b._n}}class g extends p{}class v extends m{}v.kind="else";class y extends m{constructor(b,x){super(x),this.condition=b}render(b){let x=`if(${this.condition})`+super.render(b);return this.else&&(x+="else "+this.else.render(b)),x}optimizeNodes(){super.optimizeNodes();const b=this.condition;if(b===!0)return this.nodes;let x=this.else;if(x){const I=x.optimizeNodes();x=this.else=Array.isArray(I)?new v(I):I}if(x)return b===!1?x instanceof y?x:x.nodes:this.nodes.length?this:new y(X(b),x instanceof y?[x]:x.nodes);if(!(b===!1||!this.nodes.length))return this}optimizeNames(b,x){var I;if(this.else=(I=this.else)===null||I===void 0?void 0:I.optimizeNames(b,x),!!(super.optimizeNames(b,x)||this.else))return this.condition=D(this.condition,b,x),this}get names(){const b=super.names;return B(b,this.condition),this.else&&H(b,this.else.names),b}}y.kind="if";class w extends m{}w.kind="for";class _ extends w{constructor(b){super(),this.iteration=b}render(b){return`for(${this.iteration})`+super.render(b)}optimizeNames(b,x){if(super.optimizeNames(b,x))return this.iteration=D(this.iteration,b,x),this}get names(){return H(super.names,this.iteration.names)}}class A extends w{constructor(b,x,I,W){super(),this.varKind=b,this.name=x,this.from=I,this.to=W}render(b){const x=b.es5?t.varKinds.var:this.varKind,{name:I,from:W,to:Z}=this;return`for(${x} ${I}=${W}; ${I}<${Z}; ${I}++)`+super.render(b)}get names(){const b=B(super.names,this.from);return B(b,this.to)}}class k extends w{constructor(b,x,I,W){super(),this.loop=b,this.varKind=x,this.name=I,this.iterable=W}render(b){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(b)}optimizeNames(b,x){if(super.optimizeNames(b,x))return this.iterable=D(this.iterable,b,x),this}get names(){return H(super.names,this.iterable.names)}}class $ extends m{constructor(b,x,I){super(),this.name=b,this.args=x,this.async=I}render(b){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(b)}}$.kind="func";class E extends p{render(b){return"return "+super.render(b)}}E.kind="return";class O extends m{render(b){let x="try"+super.render(b);return this.catch&&(x+=this.catch.render(b)),this.finally&&(x+=this.finally.render(b)),x}optimizeNodes(){var b,x;return super.optimizeNodes(),(b=this.catch)===null||b===void 0||b.optimizeNodes(),(x=this.finally)===null||x===void 0||x.optimizeNodes(),this}optimizeNames(b,x){var I,W;return super.optimizeNames(b,x),(I=this.catch)===null||I===void 0||I.optimizeNames(b,x),(W=this.finally)===null||W===void 0||W.optimizeNames(b,x),this}get names(){const b=super.names;return this.catch&&H(b,this.catch.names),this.finally&&H(b,this.finally.names),b}}class F extends m{constructor(b){super(),this.error=b}render(b){return`catch(${this.error})`+super.render(b)}}F.kind="catch";class U extends m{render(b){return"finally"+super.render(b)}}U.kind="finally";class L{constructor(b,x={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...x,_n:x.lines?` +`:""},this._extScope=b,this._scope=new t.Scope({parent:b}),this._nodes=[new g]}toString(){return this._root.render(this.opts)}name(b){return this._scope.name(b)}scopeName(b){return this._extScope.name(b)}scopeValue(b,x){const I=this._extScope.value(b,x);return(this._values[I.prefix]||(this._values[I.prefix]=new Set)).add(I),I}getScopeValue(b,x){return this._extScope.getValue(b,x)}scopeRefs(b){return this._extScope.scopeRefs(b,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(b,x,I,W){const Z=this._scope.toName(x);return I!==void 0&&W&&(this._constants[Z.str]=I),this._leafNode(new o(b,Z,I)),Z}const(b,x,I){return this._def(t.varKinds.const,b,x,I)}let(b,x,I){return this._def(t.varKinds.let,b,x,I)}var(b,x,I){return this._def(t.varKinds.var,b,x,I)}assign(b,x,I){return this._leafNode(new a(b,x,I))}add(b,x){return this._leafNode(new l(b,n.operators.ADD,x))}code(b){return typeof b=="function"?b():b!==e.nil&&this._leafNode(new d(b)),this}object(...b){const x=["{"];for(const[I,W]of b)x.length>1&&x.push(","),x.push(I),(I!==W||this.opts.es5)&&(x.push(":"),(0,e.addCodeArg)(x,W));return x.push("}"),new e._Code(x)}if(b,x,I){if(this._blockNode(new y(b)),x&&I)this.code(x).else().code(I).endIf();else if(x)this.code(x).endIf();else if(I)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(b){return this._elseNode(new y(b))}else(){return this._elseNode(new v)}endIf(){return this._endBlockNode(y,v)}_for(b,x){return this._blockNode(b),x&&this.code(x).endFor(),this}for(b,x){return this._for(new _(b),x)}forRange(b,x,I,W,Z=this.opts.es5?t.varKinds.var:t.varKinds.let){const ae=this._scope.toName(b);return this._for(new A(Z,ae,x,I),()=>W(ae))}forOf(b,x,I,W=t.varKinds.const){const Z=this._scope.toName(b);if(this.opts.es5){const ae=x instanceof e.Name?x:this.var("_arr",x);return this.forRange("_i",0,(0,e._)`${ae}.length`,ne=>{this.var(Z,(0,e._)`${ae}[${ne}]`),I(Z)})}return this._for(new k("of",W,Z,x),()=>I(Z))}forIn(b,x,I,W=this.opts.es5?t.varKinds.var:t.varKinds.const){if(this.opts.ownProperties)return this.forOf(b,(0,e._)`Object.keys(${x})`,I);const Z=this._scope.toName(b);return this._for(new k("in",W,Z,x),()=>I(Z))}endFor(){return this._endBlockNode(w)}label(b){return this._leafNode(new c(b))}break(b){return this._leafNode(new h(b))}return(b){const x=new E;if(this._blockNode(x),this.code(b),x.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(E)}try(b,x,I){if(!x&&!I)throw new Error('CodeGen: "try" without "catch" and "finally"');const W=new O;if(this._blockNode(W),this.code(b),x){const Z=this.name("e");this._currNode=W.catch=new F(Z),x(Z)}return I&&(this._currNode=W.finally=new U,this.code(I)),this._endBlockNode(F,U)}throw(b){return this._leafNode(new u(b))}block(b,x){return this._blockStarts.push(this._nodes.length),b&&this.code(b).endBlock(x),this}endBlock(b){const x=this._blockStarts.pop();if(x===void 0)throw new Error("CodeGen: not in self-balancing block");const I=this._nodes.length-x;if(I<0||b!==void 0&&I!==b)throw new Error(`CodeGen: wrong number of nodes: ${I} vs ${b} expected`);return this._nodes.length=x,this}func(b,x=e.nil,I,W){return this._blockNode(new $(b,x,I)),W&&this.code(W).endFunc(),this}endFunc(){return this._endBlockNode($)}optimize(b=1){for(;b-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(b){return this._currNode.nodes.push(b),this}_blockNode(b){this._currNode.nodes.push(b),this._nodes.push(b)}_endBlockNode(b,x){const I=this._currNode;if(I instanceof b||x&&I instanceof x)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${x?`${b.kind}/${x.kind}`:b.kind}"`)}_elseNode(b){const x=this._currNode;if(!(x instanceof y))throw new Error('CodeGen: "else" without "if"');return this._currNode=x.else=b,this}get _root(){return this._nodes[0]}get _currNode(){const b=this._nodes;return b[b.length-1]}set _currNode(b){const x=this._nodes;x[x.length-1]=b}}n.CodeGen=L;function H(M,b){for(const x in b)M[x]=(M[x]||0)+(b[x]||0);return M}function B(M,b){return b instanceof e._CodeOrName?H(M,b.names):M}function D(M,b,x){if(M instanceof e.Name)return I(M);if(!W(M))return M;return new e._Code(M._items.reduce((Z,ae)=>(ae instanceof e.Name&&(ae=I(ae)),ae instanceof e._Code?Z.push(...ae._items):Z.push(ae),Z),[]));function I(Z){const ae=x[Z.str];return ae===void 0||b[Z.str]!==1?Z:(delete b[Z.str],ae)}function W(Z){return Z instanceof e._Code&&Z._items.some(ae=>ae instanceof e.Name&&b[ae.str]===1&&x[ae.str]!==void 0)}}function Y(M,b){for(const x in b)M[x]=(M[x]||0)-(b[x]||0)}function X(M){return typeof M=="boolean"||typeof M=="number"||M===null?!M:(0,e._)`!${N(M)}`}n.not=X;const Q=P(n.operators.AND);function se(...M){return M.reduce(Q)}n.and=se;const ve=P(n.operators.OR);function z(...M){return M.reduce(ve)}n.or=z;function P(M){return(b,x)=>b===e.nil?x:x===e.nil?b:(0,e._)`${N(b)} ${M} ${N(x)}`}function N(M){return M instanceof e.Name?M:(0,e._)`(${M})`}})(He);var fe={};Object.defineProperty(fe,"__esModule",{value:!0});fe.checkStrictMode=fe.getErrorPath=fe.Type=fe.useFunc=fe.setEvaluated=fe.evaluatedPropsToName=fe.mergeEvaluated=fe.eachItem=fe.unescapeJsonPointer=fe.escapeJsonPointer=fe.escapeFragment=fe.unescapeFragment=fe.schemaRefOrVal=fe.schemaHasRulesButRef=fe.schemaHasRules=fe.checkUnknownRules=fe.alwaysValidSchema=fe.toHash=void 0;const yt=He,SW=Qd;function kW(n){const e={};for(const t of n)e[t]=!0;return e}fe.toHash=kW;function AW(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(XT(n,e),!YT(e,n.self.RULES.all))}fe.alwaysValidSchema=AW;function XT(n,e=n.schema){const{opts:t,self:s}=n;if(!t.strictSchema||typeof e=="boolean")return;const i=s.RULES.keywords;for(const r in e)i[r]||eP(n,`unknown keyword: "${r}"`)}fe.checkUnknownRules=XT;function YT(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(e[t])return!0;return!1}fe.schemaHasRules=YT;function xW(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(t!=="$ref"&&e.all[t])return!0;return!1}fe.schemaHasRulesButRef=xW;function EW({topSchemaRef:n,schemaPath:e},t,s,i){if(!i){if(typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="string")return(0,yt._)`${t}`}return(0,yt._)`${n}${e}${(0,yt.getProperty)(s)}`}fe.schemaRefOrVal=EW;function CW(n){return JT(decodeURIComponent(n))}fe.unescapeFragment=CW;function $W(n){return encodeURIComponent(m1(n))}fe.escapeFragment=$W;function m1(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}fe.escapeJsonPointer=m1;function JT(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}fe.unescapeJsonPointer=JT;function TW(n,e){if(Array.isArray(n))for(const t of n)e(t);else e(n)}fe.eachItem=TW;function YA({mergeNames:n,mergeToName:e,mergeValues:t,resultToName:s}){return(i,r,o,a)=>{const l=o===void 0?r:o instanceof yt.Name?(r instanceof yt.Name?n(i,r,o):e(i,r,o),o):r instanceof yt.Name?(e(i,o,r),r):t(r,o);return a===yt.Name&&!(l instanceof yt.Name)?s(i,l):l}}fe.mergeEvaluated={props:YA({mergeNames:(n,e,t)=>n.if((0,yt._)`${t} !== true && ${e} !== undefined`,()=>{n.if((0,yt._)`${e} === true`,()=>n.assign(t,!0),()=>n.assign(t,(0,yt._)`${t} || {}`).code((0,yt._)`Object.assign(${t}, ${e})`))}),mergeToName:(n,e,t)=>n.if((0,yt._)`${t} !== true`,()=>{e===!0?n.assign(t,!0):(n.assign(t,(0,yt._)`${t} || {}`),g1(n,t,e))}),mergeValues:(n,e)=>n===!0?!0:{...n,...e},resultToName:QT}),items:YA({mergeNames:(n,e,t)=>n.if((0,yt._)`${t} !== true && ${e} !== undefined`,()=>n.assign(t,(0,yt._)`${e} === true ? true : ${t} > ${e} ? ${t} : ${e}`)),mergeToName:(n,e,t)=>n.if((0,yt._)`${t} !== true`,()=>n.assign(t,e===!0?!0:(0,yt._)`${t} > ${e} ? ${t} : ${e}`)),mergeValues:(n,e)=>n===!0?!0:Math.max(n,e),resultToName:(n,e)=>n.var("items",e)})};function QT(n,e){if(e===!0)return n.var("props",!0);const t=n.var("props",(0,yt._)`{}`);return e!==void 0&&g1(n,t,e),t}fe.evaluatedPropsToName=QT;function g1(n,e,t){Object.keys(t).forEach(s=>n.assign((0,yt._)`${e}${(0,yt.getProperty)(s)}`,!0))}fe.setEvaluated=g1;const JA={};function PW(n,e){return n.scopeValue("func",{ref:e,code:JA[e.code]||(JA[e.code]=new SW._Code(e.code))})}fe.useFunc=PW;var ob;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(ob||(fe.Type=ob={}));function RW(n,e,t){if(n instanceof yt.Name){const s=e===ob.Num;return t?s?(0,yt._)`"[" + ${n} + "]"`:(0,yt._)`"['" + ${n} + "']"`:s?(0,yt._)`"/" + ${n}`:(0,yt._)`"/" + ${n}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return t?(0,yt.getProperty)(n).toString():"/"+m1(n)}fe.getErrorPath=RW;function eP(n,e,t=n.opts.strictSchema){if(t){if(e=`strict mode: ${e}`,t===!0)throw new Error(e);n.self.logger.warn(e)}}fe.checkStrictMode=eP;var Fr={};Object.defineProperty(Fr,"__esModule",{value:!0});const es=He,MW={data:new es.Name("data"),valCxt:new es.Name("valCxt"),instancePath:new es.Name("instancePath"),parentData:new es.Name("parentData"),parentDataProperty:new es.Name("parentDataProperty"),rootData:new es.Name("rootData"),dynamicAnchors:new es.Name("dynamicAnchors"),vErrors:new es.Name("vErrors"),errors:new es.Name("errors"),this:new es.Name("this"),self:new es.Name("self"),scope:new es.Name("scope"),json:new es.Name("json"),jsonPos:new es.Name("jsonPos"),jsonLen:new es.Name("jsonLen"),jsonPart:new es.Name("jsonPart")};Fr.default=MW;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.extendErrors=n.resetErrorsCount=n.reportExtraError=n.reportError=n.keyword$DataError=n.keywordError=void 0;const e=He,t=fe,s=Fr;n.keywordError={message:({keyword:v})=>(0,e.str)`must pass "${v}" keyword validation`},n.keyword$DataError={message:({keyword:v,schemaType:y})=>y?(0,e.str)`"${v}" keyword must be ${y} ($data)`:(0,e.str)`"${v}" keyword is invalid ($data)`};function i(v,y=n.keywordError,w,_){const{it:A}=v,{gen:k,compositeRule:$,allErrors:E}=A,O=u(v,y,w);_??($||E)?l(k,O):c(A,(0,e._)`[${O}]`)}n.reportError=i;function r(v,y=n.keywordError,w){const{it:_}=v,{gen:A,compositeRule:k,allErrors:$}=_,E=u(v,y,w);l(A,E),k||$||c(_,s.default.vErrors)}n.reportExtraError=r;function o(v,y){v.assign(s.default.errors,y),v.if((0,e._)`${s.default.vErrors} !== null`,()=>v.if(y,()=>v.assign((0,e._)`${s.default.vErrors}.length`,y),()=>v.assign(s.default.vErrors,null)))}n.resetErrorsCount=o;function a({gen:v,keyword:y,schemaValue:w,data:_,errsCount:A,it:k}){if(A===void 0)throw new Error("ajv implementation error");const $=v.name("err");v.forRange("i",A,s.default.errors,E=>{v.const($,(0,e._)`${s.default.vErrors}[${E}]`),v.if((0,e._)`${$}.instancePath === undefined`,()=>v.assign((0,e._)`${$}.instancePath`,(0,e.strConcat)(s.default.instancePath,k.errorPath))),v.assign((0,e._)`${$}.schemaPath`,(0,e.str)`${k.errSchemaPath}/${y}`),k.opts.verbose&&(v.assign((0,e._)`${$}.schema`,w),v.assign((0,e._)`${$}.data`,_))})}n.extendErrors=a;function l(v,y){const w=v.const("err",y);v.if((0,e._)`${s.default.vErrors} === null`,()=>v.assign(s.default.vErrors,(0,e._)`[${w}]`),(0,e._)`${s.default.vErrors}.push(${w})`),v.code((0,e._)`${s.default.errors}++`)}function c(v,y){const{gen:w,validateName:_,schemaEnv:A}=v;A.$async?w.throw((0,e._)`new ${v.ValidationError}(${y})`):(w.assign((0,e._)`${_}.errors`,y),w.return(!1))}const h={keyword:new e.Name("keyword"),schemaPath:new e.Name("schemaPath"),params:new e.Name("params"),propertyName:new e.Name("propertyName"),message:new e.Name("message"),schema:new e.Name("schema"),parentSchema:new e.Name("parentSchema")};function u(v,y,w){const{createErrors:_}=v.it;return _===!1?(0,e._)`{}`:d(v,y,w)}function d(v,y,w={}){const{gen:_,it:A}=v,k=[p(A,w),m(v,w)];return g(v,y,k),_.object(...k)}function p({errorPath:v},{instancePath:y}){const w=y?(0,e.str)`${v}${(0,t.getErrorPath)(y,t.Type.Str)}`:v;return[s.default.instancePath,(0,e.strConcat)(s.default.instancePath,w)]}function m({keyword:v,it:{errSchemaPath:y}},{schemaPath:w,parentSchema:_}){let A=_?y:(0,e.str)`${y}/${v}`;return w&&(A=(0,e.str)`${A}${(0,t.getErrorPath)(w,t.Type.Str)}`),[h.schemaPath,A]}function g(v,{params:y,message:w},_){const{keyword:A,data:k,schemaValue:$,it:E}=v,{opts:O,propertyName:F,topSchemaRef:U,schemaPath:L}=E;_.push([h.keyword,A],[h.params,typeof y=="function"?y(v):y||(0,e._)`{}`]),O.messages&&_.push([h.message,typeof w=="function"?w(v):w]),O.verbose&&_.push([h.schema,$],[h.parentSchema,(0,e._)`${U}${L}`],[s.default.data,k]),F&&_.push([h.propertyName,F])}})(Up);Object.defineProperty(wu,"__esModule",{value:!0});wu.boolOrEmptySchema=wu.topBoolOrEmptySchema=void 0;const IW=Up,OW=He,NW=Fr,LW={message:"boolean schema is false"};function DW(n){const{gen:e,schema:t,validateName:s}=n;t===!1?tP(n,!1):typeof t=="object"&&t.$async===!0?e.return(NW.default.data):(e.assign((0,OW._)`${s}.errors`,null),e.return(!0))}wu.topBoolOrEmptySchema=DW;function FW(n,e){const{gen:t,schema:s}=n;s===!1?(t.var(e,!1),tP(n)):t.var(e,!0)}wu.boolOrEmptySchema=FW;function tP(n,e){const{gen:t,data:s}=n,i={gen:t,keyword:"false schema",data:s,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:n};(0,IW.reportError)(i,LW,void 0,e)}var mn={},mc={};Object.defineProperty(mc,"__esModule",{value:!0});mc.getRules=mc.isJSONType=void 0;const jW=["string","number","integer","boolean","null","object","array"],zW=new Set(jW);function HW(n){return typeof n=="string"&&zW.has(n)}mc.isJSONType=HW;function BW(){const n={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...n,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},n.number,n.string,n.array,n.object],post:{rules:[]},all:{},keywords:{}}}mc.getRules=BW;var ko={};Object.defineProperty(ko,"__esModule",{value:!0});ko.shouldUseRule=ko.shouldUseGroup=ko.schemaHasRulesForType=void 0;function UW({schema:n,self:e},t){const s=e.RULES.types[t];return s&&s!==!0&&nP(n,s)}ko.schemaHasRulesForType=UW;function nP(n,e){return e.rules.some(t=>sP(n,t))}ko.shouldUseGroup=nP;function sP(n,e){var t;return n[e.keyword]!==void 0||((t=e.definition.implements)===null||t===void 0?void 0:t.some(s=>n[s]!==void 0))}ko.shouldUseRule=sP;Object.defineProperty(mn,"__esModule",{value:!0});mn.reportTypeError=mn.checkDataTypes=mn.checkDataType=mn.coerceAndCheckDataType=mn.getJSONTypes=mn.getSchemaTypes=mn.DataType=void 0;const qW=mc,VW=ko,WW=Up,Le=He,iP=fe;var lh;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(lh||(mn.DataType=lh={}));function GW(n){const e=rP(n.type);if(e.includes("null")){if(n.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&n.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');n.nullable===!0&&e.push("null")}return e}mn.getSchemaTypes=GW;function rP(n){const e=Array.isArray(n)?n:n?[n]:[];if(e.every(qW.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}mn.getJSONTypes=rP;function KW(n,e){const{gen:t,data:s,opts:i}=n,r=ZW(e,i.coerceTypes),o=e.length>0&&!(r.length===0&&e.length===1&&(0,VW.schemaHasRulesForType)(n,e[0]));if(o){const a=y1(e,s,i.strictNumbers,lh.Wrong);t.if(a,()=>{r.length?XW(n,e,r):v1(n)})}return o}mn.coerceAndCheckDataType=KW;const oP=new Set(["string","number","integer","boolean","null"]);function ZW(n,e){return e?n.filter(t=>oP.has(t)||e==="array"&&t==="array"):[]}function XW(n,e,t){const{gen:s,data:i,opts:r}=n,o=s.let("dataType",(0,Le._)`typeof ${i}`),a=s.let("coerced",(0,Le._)`undefined`);r.coerceTypes==="array"&&s.if((0,Le._)`${o} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>s.assign(i,(0,Le._)`${i}[0]`).assign(o,(0,Le._)`typeof ${i}`).if(y1(e,i,r.strictNumbers),()=>s.assign(a,i))),s.if((0,Le._)`${a} !== undefined`);for(const c of t)(oP.has(c)||c==="array"&&r.coerceTypes==="array")&&l(c);s.else(),v1(n),s.endIf(),s.if((0,Le._)`${a} !== undefined`,()=>{s.assign(i,a),YW(n,a)});function l(c){switch(c){case"string":s.elseIf((0,Le._)`${o} == "number" || ${o} == "boolean"`).assign(a,(0,Le._)`"" + ${i}`).elseIf((0,Le._)`${i} === null`).assign(a,(0,Le._)`""`);return;case"number":s.elseIf((0,Le._)`${o} == "boolean" || ${i} === null + || (${o} == "string" && ${i} && ${i} == +${i})`).assign(a,(0,Le._)`+${i}`);return;case"integer":s.elseIf((0,Le._)`${o} === "boolean" || ${i} === null + || (${o} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(a,(0,Le._)`+${i}`);return;case"boolean":s.elseIf((0,Le._)`${i} === "false" || ${i} === 0 || ${i} === null`).assign(a,!1).elseIf((0,Le._)`${i} === "true" || ${i} === 1`).assign(a,!0);return;case"null":s.elseIf((0,Le._)`${i} === "" || ${i} === 0 || ${i} === false`),s.assign(a,null);return;case"array":s.elseIf((0,Le._)`${o} === "string" || ${o} === "number" + || ${o} === "boolean" || ${i} === null`).assign(a,(0,Le._)`[${i}]`)}}}function YW({gen:n,parentData:e,parentDataProperty:t},s){n.if((0,Le._)`${e} !== undefined`,()=>n.assign((0,Le._)`${e}[${t}]`,s))}function ab(n,e,t,s=lh.Correct){const i=s===lh.Correct?Le.operators.EQ:Le.operators.NEQ;let r;switch(n){case"null":return(0,Le._)`${e} ${i} null`;case"array":r=(0,Le._)`Array.isArray(${e})`;break;case"object":r=(0,Le._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":r=o((0,Le._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":r=o();break;default:return(0,Le._)`typeof ${e} ${i} ${n}`}return s===lh.Correct?r:(0,Le.not)(r);function o(a=Le.nil){return(0,Le.and)((0,Le._)`typeof ${e} == "number"`,a,t?(0,Le._)`isFinite(${e})`:Le.nil)}}mn.checkDataType=ab;function y1(n,e,t,s){if(n.length===1)return ab(n[0],e,t,s);let i;const r=(0,iP.toHash)(n);if(r.array&&r.object){const o=(0,Le._)`typeof ${e} != "object"`;i=r.null?o:(0,Le._)`!${e} || ${o}`,delete r.null,delete r.array,delete r.object}else i=Le.nil;r.number&&delete r.integer;for(const o in r)i=(0,Le.and)(i,ab(o,e,t,s));return i}mn.checkDataTypes=y1;const JW={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,Le._)`{type: ${n}}`:(0,Le._)`{type: ${e}}`};function v1(n){const e=QW(n);(0,WW.reportError)(e,JW)}mn.reportTypeError=v1;function QW(n){const{gen:e,data:t,schema:s}=n,i=(0,iP.schemaRefOrVal)(n,s,"type");return{gen:e,keyword:"type",data:t,schema:s.type,schemaCode:i,schemaValue:i,parentSchema:s,params:{},it:n}}var d0={};Object.defineProperty(d0,"__esModule",{value:!0});d0.assignDefaults=void 0;const Dc=He,e4=fe;function t4(n,e){const{properties:t,items:s}=n.schema;if(e==="object"&&t)for(const i in t)QA(n,i,t[i].default);else e==="array"&&Array.isArray(s)&&s.forEach((i,r)=>QA(n,r,i.default))}d0.assignDefaults=t4;function QA(n,e,t){const{gen:s,compositeRule:i,data:r,opts:o}=n;if(t===void 0)return;const a=(0,Dc._)`${r}${(0,Dc.getProperty)(e)}`;if(i){(0,e4.checkStrictMode)(n,`default is ignored for: ${a}`);return}let l=(0,Dc._)`${a} === undefined`;o.useDefaults==="empty"&&(l=(0,Dc._)`${l} || ${a} === null || ${a} === ""`),s.if(l,(0,Dc._)`${a} = ${(0,Dc.stringify)(t)}`)}var Pr={},Ve={};Object.defineProperty(Ve,"__esModule",{value:!0});Ve.validateUnion=Ve.validateArray=Ve.usePattern=Ve.callValidateCode=Ve.schemaProperties=Ve.allSchemaProperties=Ve.noPropertyInData=Ve.propertyInData=Ve.isOwnProperty=Ve.hasPropFunc=Ve.reportMissingProp=Ve.checkMissingProp=Ve.checkReportMissingProp=void 0;const Ct=He,b1=fe,No=Fr,n4=fe;function s4(n,e){const{gen:t,data:s,it:i}=n;t.if(_1(t,s,e,i.opts.ownProperties),()=>{n.setParams({missingProperty:(0,Ct._)`${e}`},!0),n.error()})}Ve.checkReportMissingProp=s4;function i4({gen:n,data:e,it:{opts:t}},s,i){return(0,Ct.or)(...s.map(r=>(0,Ct.and)(_1(n,e,r,t.ownProperties),(0,Ct._)`${i} = ${r}`)))}Ve.checkMissingProp=i4;function r4(n,e){n.setParams({missingProperty:e},!0),n.error()}Ve.reportMissingProp=r4;function aP(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Ct._)`Object.prototype.hasOwnProperty`})}Ve.hasPropFunc=aP;function w1(n,e,t){return(0,Ct._)`${aP(n)}.call(${e}, ${t})`}Ve.isOwnProperty=w1;function o4(n,e,t,s){const i=(0,Ct._)`${e}${(0,Ct.getProperty)(t)} !== undefined`;return s?(0,Ct._)`${i} && ${w1(n,e,t)}`:i}Ve.propertyInData=o4;function _1(n,e,t,s){const i=(0,Ct._)`${e}${(0,Ct.getProperty)(t)} === undefined`;return s?(0,Ct.or)(i,(0,Ct.not)(w1(n,e,t))):i}Ve.noPropertyInData=_1;function lP(n){return n?Object.keys(n).filter(e=>e!=="__proto__"):[]}Ve.allSchemaProperties=lP;function a4(n,e){return lP(e).filter(t=>!(0,b1.alwaysValidSchema)(n,e[t]))}Ve.schemaProperties=a4;function l4({schemaCode:n,data:e,it:{gen:t,topSchemaRef:s,schemaPath:i,errorPath:r},it:o},a,l,c){const h=c?(0,Ct._)`${n}, ${e}, ${s}${i}`:e,u=[[No.default.instancePath,(0,Ct.strConcat)(No.default.instancePath,r)],[No.default.parentData,o.parentData],[No.default.parentDataProperty,o.parentDataProperty],[No.default.rootData,No.default.rootData]];o.opts.dynamicRef&&u.push([No.default.dynamicAnchors,No.default.dynamicAnchors]);const d=(0,Ct._)`${h}, ${t.object(...u)}`;return l!==Ct.nil?(0,Ct._)`${a}.call(${l}, ${d})`:(0,Ct._)`${a}(${d})`}Ve.callValidateCode=l4;const c4=(0,Ct._)`new RegExp`;function h4({gen:n,it:{opts:e}},t){const s=e.unicodeRegExp?"u":"",{regExp:i}=e.code,r=i(t,s);return n.scopeValue("pattern",{key:r.toString(),ref:r,code:(0,Ct._)`${i.code==="new RegExp"?c4:(0,n4.useFunc)(n,i)}(${t}, ${s})`})}Ve.usePattern=h4;function u4(n){const{gen:e,data:t,keyword:s,it:i}=n,r=e.name("valid");if(i.allErrors){const a=e.let("valid",!0);return o(()=>e.assign(a,!1)),a}return e.var(r,!0),o(()=>e.break()),r;function o(a){const l=e.const("len",(0,Ct._)`${t}.length`);e.forRange("i",0,l,c=>{n.subschema({keyword:s,dataProp:c,dataPropType:b1.Type.Num},r),e.if((0,Ct.not)(r),a)})}}Ve.validateArray=u4;function d4(n){const{gen:e,schema:t,keyword:s,it:i}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");if(t.some(l=>(0,b1.alwaysValidSchema)(i,l))&&!i.opts.unevaluated)return;const o=e.let("valid",!1),a=e.name("_valid");e.block(()=>t.forEach((l,c)=>{const h=n.subschema({keyword:s,schemaProp:c,compositeRule:!0},a);e.assign(o,(0,Ct._)`${o} || ${a}`),n.mergeValidEvaluated(h,a)||e.if((0,Ct.not)(o))})),n.result(o,()=>n.reset(),()=>n.error(!0))}Ve.validateUnion=d4;Object.defineProperty(Pr,"__esModule",{value:!0});Pr.validateKeywordUsage=Pr.validSchemaType=Pr.funcKeywordCode=Pr.macroKeywordCode=void 0;const vs=He,rl=Fr,f4=Ve,p4=Up;function m4(n,e){const{gen:t,keyword:s,schema:i,parentSchema:r,it:o}=n,a=e.macro.call(o.self,i,r,o),l=cP(t,s,a);o.opts.validateSchema!==!1&&o.self.validateSchema(a,!0);const c=t.name("valid");n.subschema({schema:a,schemaPath:vs.nil,errSchemaPath:`${o.errSchemaPath}/${s}`,topSchemaRef:l,compositeRule:!0},c),n.pass(c,()=>n.error(!0))}Pr.macroKeywordCode=m4;function g4(n,e){var t;const{gen:s,keyword:i,schema:r,parentSchema:o,$data:a,it:l}=n;v4(l,e);const c=!a&&e.compile?e.compile.call(l.self,r,o,l):e.validate,h=cP(s,i,c),u=s.let("valid");n.block$data(u,d),n.ok((t=e.valid)!==null&&t!==void 0?t:u);function d(){if(e.errors===!1)g(),e.modifying&&ex(n),v(()=>n.error());else{const y=e.async?p():m();e.modifying&&ex(n),v(()=>y4(n,y))}}function p(){const y=s.let("ruleErrs",null);return s.try(()=>g((0,vs._)`await `),w=>s.assign(u,!1).if((0,vs._)`${w} instanceof ${l.ValidationError}`,()=>s.assign(y,(0,vs._)`${w}.errors`),()=>s.throw(w))),y}function m(){const y=(0,vs._)`${h}.errors`;return s.assign(y,null),g(vs.nil),y}function g(y=e.async?(0,vs._)`await `:vs.nil){const w=l.opts.passContext?rl.default.this:rl.default.self,_=!("compile"in e&&!a||e.schema===!1);s.assign(u,(0,vs._)`${y}${(0,f4.callValidateCode)(n,h,w,_)}`,e.modifying)}function v(y){var w;s.if((0,vs.not)((w=e.valid)!==null&&w!==void 0?w:u),y)}}Pr.funcKeywordCode=g4;function ex(n){const{gen:e,data:t,it:s}=n;e.if(s.parentData,()=>e.assign(t,(0,vs._)`${s.parentData}[${s.parentDataProperty}]`))}function y4(n,e){const{gen:t}=n;t.if((0,vs._)`Array.isArray(${e})`,()=>{t.assign(rl.default.vErrors,(0,vs._)`${rl.default.vErrors} === null ? ${e} : ${rl.default.vErrors}.concat(${e})`).assign(rl.default.errors,(0,vs._)`${rl.default.vErrors}.length`),(0,p4.extendErrors)(n)},()=>n.error())}function v4({schemaEnv:n},e){if(e.async&&!n.$async)throw new Error("async keyword in sync schema")}function cP(n,e,t){if(t===void 0)throw new Error(`keyword "${e}" failed to compile`);return n.scopeValue("keyword",typeof t=="function"?{ref:t}:{ref:t,code:(0,vs.stringify)(t)})}function b4(n,e,t=!1){return!e.length||e.some(s=>s==="array"?Array.isArray(n):s==="object"?n&&typeof n=="object"&&!Array.isArray(n):typeof n==s||t&&typeof n>"u")}Pr.validSchemaType=b4;function w4({schema:n,opts:e,self:t,errSchemaPath:s},i,r){if(Array.isArray(i.keyword)?!i.keyword.includes(r):i.keyword!==r)throw new Error("ajv implementation error");const o=i.dependencies;if(o!=null&&o.some(a=>!Object.prototype.hasOwnProperty.call(n,a)))throw new Error(`parent schema must have dependencies of ${r}: ${o.join(",")}`);if(i.validateSchema&&!i.validateSchema(n[r])){const l=`keyword "${r}" value is invalid at path "${s}": `+t.errorsText(i.validateSchema.errors);if(e.validateSchema==="log")t.logger.error(l);else throw new Error(l)}}Pr.validateKeywordUsage=w4;var xa={};Object.defineProperty(xa,"__esModule",{value:!0});xa.extendSubschemaMode=xa.extendSubschemaData=xa.getSubschema=void 0;const Er=He,hP=fe;function _4(n,{keyword:e,schemaProp:t,schema:s,schemaPath:i,errSchemaPath:r,topSchemaRef:o}){if(e!==void 0&&s!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){const a=n.schema[e];return t===void 0?{schema:a,schemaPath:(0,Er._)`${n.schemaPath}${(0,Er.getProperty)(e)}`,errSchemaPath:`${n.errSchemaPath}/${e}`}:{schema:a[t],schemaPath:(0,Er._)`${n.schemaPath}${(0,Er.getProperty)(e)}${(0,Er.getProperty)(t)}`,errSchemaPath:`${n.errSchemaPath}/${e}/${(0,hP.escapeFragment)(t)}`}}if(s!==void 0){if(i===void 0||r===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:i,topSchemaRef:o,errSchemaPath:r}}throw new Error('either "keyword" or "schema" must be passed')}xa.getSubschema=_4;function S4(n,e,{dataProp:t,dataPropType:s,data:i,dataTypes:r,propertyName:o}){if(i!==void 0&&t!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:a}=e;if(t!==void 0){const{errorPath:c,dataPathArr:h,opts:u}=e,d=a.let("data",(0,Er._)`${e.data}${(0,Er.getProperty)(t)}`,!0);l(d),n.errorPath=(0,Er.str)`${c}${(0,hP.getErrorPath)(t,s,u.jsPropertySyntax)}`,n.parentDataProperty=(0,Er._)`${t}`,n.dataPathArr=[...h,n.parentDataProperty]}if(i!==void 0){const c=i instanceof Er.Name?i:a.let("data",i,!0);l(c),o!==void 0&&(n.propertyName=o)}r&&(n.dataTypes=r);function l(c){n.data=c,n.dataLevel=e.dataLevel+1,n.dataTypes=[],e.definedProperties=new Set,n.parentData=e.data,n.dataNames=[...e.dataNames,c]}}xa.extendSubschemaData=S4;function k4(n,{jtdDiscriminator:e,jtdMetadata:t,compositeRule:s,createErrors:i,allErrors:r}){s!==void 0&&(n.compositeRule=s),i!==void 0&&(n.createErrors=i),r!==void 0&&(n.allErrors=r),n.jtdDiscriminator=e,n.jtdMetadata=t}xa.extendSubschemaMode=k4;var qn={},uP={exports:{}},wa=uP.exports=function(n,e,t){typeof e=="function"&&(t=e,e={}),t=e.cb||t;var s=typeof t=="function"?t:t.pre||function(){},i=t.post||function(){};Jm(e,s,i,n,"",n)};wa.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};wa.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};wa.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};wa.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Jm(n,e,t,s,i,r,o,a,l,c){if(s&&typeof s=="object"&&!Array.isArray(s)){e(s,i,r,o,a,l,c);for(var h in s){var u=s[h];if(Array.isArray(u)){if(h in wa.arrayKeywords)for(var d=0;de+=dP(s)),e===1/0))return 1/0}return e}function fP(n,e="",t){t!==!1&&(e=ch(e));const s=n.parse(e);return pP(n,s)}qn.getFullPath=fP;function pP(n,e){return n.serialize(e).split("#")[0]+"#"}qn._getFullPath=pP;const M4=/#\/?$/;function ch(n){return n?n.replace(M4,""):""}qn.normalizeId=ch;function I4(n,e,t){return t=ch(t),n.resolve(e,t)}qn.resolveUrl=I4;const O4=/^[a-z_][-a-z0-9._]*$/i;function N4(n,e){if(typeof n=="boolean")return{};const{schemaId:t,uriResolver:s}=this.opts,i=ch(n[t]||e),r={"":i},o=fP(s,i,!1),a={},l=new Set;return $4(n,{allKeys:!0},(u,d,p,m)=>{if(m===void 0)return;const g=o+d;let v=r[m];typeof u[t]=="string"&&(v=y.call(this,u[t])),w.call(this,u.$anchor),w.call(this,u.$dynamicAnchor),r[d]=v;function y(_){const A=this.opts.uriResolver.resolve;if(_=ch(v?A(v,_):_),l.has(_))throw h(_);l.add(_);let k=this.refs[_];return typeof k=="string"&&(k=this.refs[k]),typeof k=="object"?c(u,k.schema,_):_!==ch(g)&&(_[0]==="#"?(c(u,a[_],_),a[_]=u):this.refs[_]=g),_}function w(_){if(typeof _=="string"){if(!O4.test(_))throw new Error(`invalid anchor "${_}"`);y.call(this,`#${_}`)}}}),a;function c(u,d,p){if(d!==void 0&&!C4(u,d))throw h(p)}function h(u){return new Error(`reference "${u}" resolves to more than one schema`)}}qn.getSchemaRefs=N4;Object.defineProperty(Yi,"__esModule",{value:!0});Yi.getData=Yi.KeywordCxt=Yi.validateFunctionCode=void 0;const mP=wu,tx=mn,S1=ko,Jg=mn,L4=d0,Od=Pr,J0=xa,we=He,Te=Fr,D4=qn,Ao=fe,Ku=Up;function F4(n){if(vP(n)&&(bP(n),yP(n))){H4(n);return}gP(n,()=>(0,mP.topBoolOrEmptySchema)(n))}Yi.validateFunctionCode=F4;function gP({gen:n,validateName:e,schema:t,schemaEnv:s,opts:i},r){i.code.es5?n.func(e,(0,we._)`${Te.default.data}, ${Te.default.valCxt}`,s.$async,()=>{n.code((0,we._)`"use strict"; ${nx(t,i)}`),z4(n,i),n.code(r)}):n.func(e,(0,we._)`${Te.default.data}, ${j4(i)}`,s.$async,()=>n.code(nx(t,i)).code(r))}function j4(n){return(0,we._)`{${Te.default.instancePath}="", ${Te.default.parentData}, ${Te.default.parentDataProperty}, ${Te.default.rootData}=${Te.default.data}${n.dynamicRef?(0,we._)`, ${Te.default.dynamicAnchors}={}`:we.nil}}={}`}function z4(n,e){n.if(Te.default.valCxt,()=>{n.var(Te.default.instancePath,(0,we._)`${Te.default.valCxt}.${Te.default.instancePath}`),n.var(Te.default.parentData,(0,we._)`${Te.default.valCxt}.${Te.default.parentData}`),n.var(Te.default.parentDataProperty,(0,we._)`${Te.default.valCxt}.${Te.default.parentDataProperty}`),n.var(Te.default.rootData,(0,we._)`${Te.default.valCxt}.${Te.default.rootData}`),e.dynamicRef&&n.var(Te.default.dynamicAnchors,(0,we._)`${Te.default.valCxt}.${Te.default.dynamicAnchors}`)},()=>{n.var(Te.default.instancePath,(0,we._)`""`),n.var(Te.default.parentData,(0,we._)`undefined`),n.var(Te.default.parentDataProperty,(0,we._)`undefined`),n.var(Te.default.rootData,Te.default.data),e.dynamicRef&&n.var(Te.default.dynamicAnchors,(0,we._)`{}`)})}function H4(n){const{schema:e,opts:t,gen:s}=n;gP(n,()=>{t.$comment&&e.$comment&&_P(n),W4(n),s.let(Te.default.vErrors,null),s.let(Te.default.errors,0),t.unevaluated&&B4(n),wP(n),Z4(n)})}function B4(n){const{gen:e,validateName:t}=n;n.evaluated=e.const("evaluated",(0,we._)`${t}.evaluated`),e.if((0,we._)`${n.evaluated}.dynamicProps`,()=>e.assign((0,we._)`${n.evaluated}.props`,(0,we._)`undefined`)),e.if((0,we._)`${n.evaluated}.dynamicItems`,()=>e.assign((0,we._)`${n.evaluated}.items`,(0,we._)`undefined`))}function nx(n,e){const t=typeof n=="object"&&n[e.schemaId];return t&&(e.code.source||e.code.process)?(0,we._)`/*# sourceURL=${t} */`:we.nil}function U4(n,e){if(vP(n)&&(bP(n),yP(n))){q4(n,e);return}(0,mP.boolOrEmptySchema)(n,e)}function yP({schema:n,self:e}){if(typeof n=="boolean")return!n;for(const t in n)if(e.RULES.all[t])return!0;return!1}function vP(n){return typeof n.schema!="boolean"}function q4(n,e){const{schema:t,gen:s,opts:i}=n;i.$comment&&t.$comment&&_P(n),G4(n),K4(n);const r=s.const("_errs",Te.default.errors);wP(n,r),s.var(e,(0,we._)`${r} === ${Te.default.errors}`)}function bP(n){(0,Ao.checkUnknownRules)(n),V4(n)}function wP(n,e){if(n.opts.jtd)return sx(n,[],!1,e);const t=(0,tx.getSchemaTypes)(n.schema),s=(0,tx.coerceAndCheckDataType)(n,t);sx(n,t,!s,e)}function V4(n){const{schema:e,errSchemaPath:t,opts:s,self:i}=n;e.$ref&&s.ignoreKeywordsWithRef&&(0,Ao.schemaHasRulesButRef)(e,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${t}"`)}function W4(n){const{schema:e,opts:t}=n;e.default!==void 0&&t.useDefaults&&t.strictSchema&&(0,Ao.checkStrictMode)(n,"default is ignored in the schema root")}function G4(n){const e=n.schema[n.opts.schemaId];e&&(n.baseId=(0,D4.resolveUrl)(n.opts.uriResolver,n.baseId,e))}function K4(n){if(n.schema.$async&&!n.schemaEnv.$async)throw new Error("async schema in sync schema")}function _P({gen:n,schemaEnv:e,schema:t,errSchemaPath:s,opts:i}){const r=t.$comment;if(i.$comment===!0)n.code((0,we._)`${Te.default.self}.logger.log(${r})`);else if(typeof i.$comment=="function"){const o=(0,we.str)`${s}/$comment`,a=n.scopeValue("root",{ref:e.root});n.code((0,we._)`${Te.default.self}.opts.$comment(${r}, ${o}, ${a}.schema)`)}}function Z4(n){const{gen:e,schemaEnv:t,validateName:s,ValidationError:i,opts:r}=n;t.$async?e.if((0,we._)`${Te.default.errors} === 0`,()=>e.return(Te.default.data),()=>e.throw((0,we._)`new ${i}(${Te.default.vErrors})`)):(e.assign((0,we._)`${s}.errors`,Te.default.vErrors),r.unevaluated&&X4(n),e.return((0,we._)`${Te.default.errors} === 0`))}function X4({gen:n,evaluated:e,props:t,items:s}){t instanceof we.Name&&n.assign((0,we._)`${e}.props`,t),s instanceof we.Name&&n.assign((0,we._)`${e}.items`,s)}function sx(n,e,t,s){const{gen:i,schema:r,data:o,allErrors:a,opts:l,self:c}=n,{RULES:h}=c;if(r.$ref&&(l.ignoreKeywordsWithRef||!(0,Ao.schemaHasRulesButRef)(r,h))){i.block(()=>AP(n,"$ref",h.all.$ref.definition));return}l.jtd||Y4(n,e),i.block(()=>{for(const d of h.rules)u(d);u(h.post)});function u(d){(0,S1.shouldUseGroup)(r,d)&&(d.type?(i.if((0,Jg.checkDataType)(d.type,o,l.strictNumbers)),ix(n,d),e.length===1&&e[0]===d.type&&t&&(i.else(),(0,Jg.reportTypeError)(n)),i.endIf()):ix(n,d),a||i.if((0,we._)`${Te.default.errors} === ${s||0}`))}}function ix(n,e){const{gen:t,schema:s,opts:{useDefaults:i}}=n;i&&(0,L4.assignDefaults)(n,e.type),t.block(()=>{for(const r of e.rules)(0,S1.shouldUseRule)(s,r)&&AP(n,r.keyword,r.definition,e.type)})}function Y4(n,e){n.schemaEnv.meta||!n.opts.strictTypes||(J4(n,e),n.opts.allowUnionTypes||Q4(n,e),e5(n,n.dataTypes))}function J4(n,e){if(e.length){if(!n.dataTypes.length){n.dataTypes=e;return}e.forEach(t=>{SP(n.dataTypes,t)||k1(n,`type "${t}" not allowed by context "${n.dataTypes.join(",")}"`)}),n5(n,e)}}function Q4(n,e){e.length>1&&!(e.length===2&&e.includes("null"))&&k1(n,"use allowUnionTypes to allow union type keyword")}function e5(n,e){const t=n.self.RULES.all;for(const s in t){const i=t[s];if(typeof i=="object"&&(0,S1.shouldUseRule)(n.schema,i)){const{type:r}=i.definition;r.length&&!r.some(o=>t5(e,o))&&k1(n,`missing type "${r.join(",")}" for keyword "${s}"`)}}}function t5(n,e){return n.includes(e)||e==="number"&&n.includes("integer")}function SP(n,e){return n.includes(e)||e==="integer"&&n.includes("number")}function n5(n,e){const t=[];for(const s of n.dataTypes)SP(e,s)?t.push(s):e.includes("integer")&&s==="number"&&t.push("integer");n.dataTypes=t}function k1(n,e){const t=n.schemaEnv.baseId+n.errSchemaPath;e+=` at "${t}" (strictTypes)`,(0,Ao.checkStrictMode)(n,e,n.opts.strictTypes)}class kP{constructor(e,t,s){if((0,Od.validateKeywordUsage)(e,t,s),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=s,this.data=e.data,this.schema=e.schema[s],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Ao.schemaRefOrVal)(e,this.schema,s,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",xP(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Od.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${s} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:t.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Te.default.errors))}result(e,t,s){this.failResult((0,we.not)(e),t,s)}failResult(e,t,s){this.gen.if(e),s?s():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,we.not)(e),void 0,t)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail((0,we._)`${t} !== undefined && (${(0,we.or)(this.invalid$data(),e)})`)}error(e,t,s){if(t){this.setParams(t),this._error(e,s),this.setParams({});return}this._error(e,s)}_error(e,t){(e?Ku.reportExtraError:Ku.reportError)(this,this.def.error,t)}$dataError(){(0,Ku.reportError)(this,this.def.$dataError||Ku.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Ku.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,s=we.nil){this.gen.block(()=>{this.check$data(e,s),t()})}check$data(e=we.nil,t=we.nil){if(!this.$data)return;const{gen:s,schemaCode:i,schemaType:r,def:o}=this;s.if((0,we.or)((0,we._)`${i} === undefined`,t)),e!==we.nil&&s.assign(e,!0),(r.length||o.validateSchema)&&(s.elseIf(this.invalid$data()),this.$dataError(),e!==we.nil&&s.assign(e,!1)),s.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:s,def:i,it:r}=this;return(0,we.or)(o(),a());function o(){if(s.length){if(!(t instanceof we.Name))throw new Error("ajv implementation error");const l=Array.isArray(s)?s:[s];return(0,we._)`${(0,Jg.checkDataTypes)(l,t,r.opts.strictNumbers,Jg.DataType.Wrong)}`}return we.nil}function a(){if(i.validateSchema){const l=e.scopeValue("validate$data",{ref:i.validateSchema});return(0,we._)`!${l}(${t})`}return we.nil}}subschema(e,t){const s=(0,J0.getSubschema)(this.it,e);(0,J0.extendSubschemaData)(s,this.it,e),(0,J0.extendSubschemaMode)(s,e);const i={...this.it,...s,items:void 0,props:void 0};return U4(i,t),i}mergeEvaluated(e,t){const{it:s,gen:i}=this;s.opts.unevaluated&&(s.props!==!0&&e.props!==void 0&&(s.props=Ao.mergeEvaluated.props(i,e.props,s.props,t)),s.items!==!0&&e.items!==void 0&&(s.items=Ao.mergeEvaluated.items(i,e.items,s.items,t)))}mergeValidEvaluated(e,t){const{it:s,gen:i}=this;if(s.opts.unevaluated&&(s.props!==!0||s.items!==!0))return i.if(t,()=>this.mergeEvaluated(e,we.Name)),!0}}Yi.KeywordCxt=kP;function AP(n,e,t,s){const i=new kP(n,t,e);"code"in t?t.code(i,s):i.$data&&t.validate?(0,Od.funcKeywordCode)(i,t):"macro"in t?(0,Od.macroKeywordCode)(i,t):(t.compile||t.validate)&&(0,Od.funcKeywordCode)(i,t)}const s5=/^\/(?:[^~]|~0|~1)*$/,i5=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function xP(n,{dataLevel:e,dataNames:t,dataPathArr:s}){let i,r;if(n==="")return Te.default.rootData;if(n[0]==="/"){if(!s5.test(n))throw new Error(`Invalid JSON-pointer: ${n}`);i=n,r=Te.default.rootData}else{const c=i5.exec(n);if(!c)throw new Error(`Invalid JSON-pointer: ${n}`);const h=+c[1];if(i=c[2],i==="#"){if(h>=e)throw new Error(l("property/index",h));return s[e-h]}if(h>e)throw new Error(l("data",h));if(r=t[e-h],!i)return r}let o=r;const a=i.split("/");for(const c of a)c&&(r=(0,we._)`${r}${(0,we.getProperty)((0,Ao.unescapeJsonPointer)(c))}`,o=(0,we._)`${o} && ${r}`);return o;function l(c,h){return`Cannot access ${c} ${h} levels up, current level is ${e}`}}Yi.getData=xP;var qp={};Object.defineProperty(qp,"__esModule",{value:!0});class r5 extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}qp.default=r5;var Fu={};Object.defineProperty(Fu,"__esModule",{value:!0});const Q0=qn;class o5 extends Error{constructor(e,t,s,i){super(i||`can't resolve reference ${s} from id ${t}`),this.missingRef=(0,Q0.resolveUrl)(e,t,s),this.missingSchema=(0,Q0.normalizeId)((0,Q0.getFullPath)(e,this.missingRef))}}Fu.default=o5;var Ns={};Object.defineProperty(Ns,"__esModule",{value:!0});Ns.resolveSchema=Ns.getCompilingSchema=Ns.resolveRef=Ns.compileSchema=Ns.SchemaEnv=void 0;const Ci=He,a5=qp,Va=Fr,Wi=qn,rx=fe,l5=Yi;class f0{constructor(e){var t;this.refs={},this.dynamicAnchors={};let s;typeof e.schema=="object"&&(s=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(t=e.baseId)!==null&&t!==void 0?t:(0,Wi.normalizeId)(s==null?void 0:s[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=s==null?void 0:s.$async,this.refs={}}}Ns.SchemaEnv=f0;function A1(n){const e=EP.call(this,n);if(e)return e;const t=(0,Wi.getFullPath)(this.opts.uriResolver,n.root.baseId),{es5:s,lines:i}=this.opts.code,{ownProperties:r}=this.opts,o=new Ci.CodeGen(this.scope,{es5:s,lines:i,ownProperties:r});let a;n.$async&&(a=o.scopeValue("Error",{ref:a5.default,code:(0,Ci._)`require("ajv/dist/runtime/validation_error").default`}));const l=o.scopeName("validate");n.validateName=l;const c={gen:o,allErrors:this.opts.allErrors,data:Va.default.data,parentData:Va.default.parentData,parentDataProperty:Va.default.parentDataProperty,dataNames:[Va.default.data],dataPathArr:[Ci.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:n.schema,code:(0,Ci.stringify)(n.schema)}:{ref:n.schema}),validateName:l,ValidationError:a,schema:n.schema,schemaEnv:n,rootId:t,baseId:n.baseId||t,schemaPath:Ci.nil,errSchemaPath:n.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Ci._)`""`,opts:this.opts,self:this};let h;try{this._compilations.add(n),(0,l5.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);const u=o.toString();h=`${o.scopeRefs(Va.default.scope)}return ${u}`,this.opts.code.process&&(h=this.opts.code.process(h,n));const p=new Function(`${Va.default.self}`,`${Va.default.scope}`,h)(this,this.scope.get());if(this.scope.value(l,{ref:p}),p.errors=null,p.schema=n.schema,p.schemaEnv=n,n.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:l,validateCode:u,scopeValues:o._values}),this.opts.unevaluated){const{props:m,items:g}=c;p.evaluated={props:m instanceof Ci.Name?void 0:m,items:g instanceof Ci.Name?void 0:g,dynamicProps:m instanceof Ci.Name,dynamicItems:g instanceof Ci.Name},p.source&&(p.source.evaluated=(0,Ci.stringify)(p.evaluated))}return n.validate=p,n}catch(u){throw delete n.validate,delete n.validateName,h&&this.logger.error("Error compiling schema, function code:",h),u}finally{this._compilations.delete(n)}}Ns.compileSchema=A1;function c5(n,e,t){var s;t=(0,Wi.resolveUrl)(this.opts.uriResolver,e,t);const i=n.refs[t];if(i)return i;let r=d5.call(this,n,t);if(r===void 0){const o=(s=n.localRefs)===null||s===void 0?void 0:s[t],{schemaId:a}=this.opts;o&&(r=new f0({schema:o,schemaId:a,root:n,baseId:e}))}if(r!==void 0)return n.refs[t]=h5.call(this,r)}Ns.resolveRef=c5;function h5(n){return(0,Wi.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:A1.call(this,n)}function EP(n){for(const e of this._compilations)if(u5(e,n))return e}Ns.getCompilingSchema=EP;function u5(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function d5(n,e){let t;for(;typeof(t=this.refs[e])=="string";)e=t;return t||this.schemas[e]||p0.call(this,n,e)}function p0(n,e){const t=this.opts.uriResolver.parse(e),s=(0,Wi._getFullPath)(this.opts.uriResolver,t);let i=(0,Wi.getFullPath)(this.opts.uriResolver,n.baseId,void 0);if(Object.keys(n.schema).length>0&&s===i)return ev.call(this,t,n);const r=(0,Wi.normalizeId)(s),o=this.refs[r]||this.schemas[r];if(typeof o=="string"){const a=p0.call(this,n,o);return typeof(a==null?void 0:a.schema)!="object"?void 0:ev.call(this,t,a)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||A1.call(this,o),r===(0,Wi.normalizeId)(e)){const{schema:a}=o,{schemaId:l}=this.opts,c=a[l];return c&&(i=(0,Wi.resolveUrl)(this.opts.uriResolver,i,c)),new f0({schema:a,schemaId:l,root:n,baseId:i})}return ev.call(this,t,o)}}Ns.resolveSchema=p0;const f5=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function ev(n,{baseId:e,schema:t,root:s}){var i;if(((i=n.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(const a of n.fragment.slice(1).split("/")){if(typeof t=="boolean")return;const l=t[(0,rx.unescapeFragment)(a)];if(l===void 0)return;t=l;const c=typeof t=="object"&&t[this.opts.schemaId];!f5.has(a)&&c&&(e=(0,Wi.resolveUrl)(this.opts.uriResolver,e,c))}let r;if(typeof t!="boolean"&&t.$ref&&!(0,rx.schemaHasRulesButRef)(t,this.RULES)){const a=(0,Wi.resolveUrl)(this.opts.uriResolver,e,t.$ref);r=p0.call(this,s,a)}const{schemaId:o}=this.opts;if(r=r||new f0({schema:t,schemaId:o,root:s,baseId:e}),r.schema!==r.root.schema)return r}const p5="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",m5="Meta-schema for $data reference (JSON AnySchema extension proposal)",g5="object",y5=["$data"],v5={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},b5=!1,w5={$id:p5,description:m5,type:g5,required:y5,properties:v5,additionalProperties:b5};var x1={};Object.defineProperty(x1,"__esModule",{value:!0});const CP=DT;CP.code='require("ajv/dist/runtime/uri").default';x1.default=CP;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.CodeGen=n.Name=n.nil=n.stringify=n.str=n._=n.KeywordCxt=void 0;var e=Yi;Object.defineProperty(n,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var t=He;Object.defineProperty(n,"_",{enumerable:!0,get:function(){return t._}}),Object.defineProperty(n,"str",{enumerable:!0,get:function(){return t.str}}),Object.defineProperty(n,"stringify",{enumerable:!0,get:function(){return t.stringify}}),Object.defineProperty(n,"nil",{enumerable:!0,get:function(){return t.nil}}),Object.defineProperty(n,"Name",{enumerable:!0,get:function(){return t.Name}}),Object.defineProperty(n,"CodeGen",{enumerable:!0,get:function(){return t.CodeGen}});const s=qp,i=Fu,r=mc,o=Ns,a=He,l=qn,c=mn,h=fe,u=w5,d=x1,p=(z,P)=>new RegExp(z,P);p.code="new RegExp";const m=["removeAdditional","useDefaults","coerceTypes"],g=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),v={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},y={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},w=200;function _(z){var P,N,M,b,x,I,W,Z,ae,ne,Ae,At,Ie,Ge,lt,tt,Jt,Pn,Rn,us,Mn,ds,Yn,Jn,In;const Qt=z.strict,an=(P=z.code)===null||P===void 0?void 0:P.optimize,ln=an===!0||an===void 0?1:an||0,en=(M=(N=z.code)===null||N===void 0?void 0:N.regExp)!==null&&M!==void 0?M:p,fs=(b=z.uriResolver)!==null&&b!==void 0?b:d.default;return{strictSchema:(I=(x=z.strictSchema)!==null&&x!==void 0?x:Qt)!==null&&I!==void 0?I:!0,strictNumbers:(Z=(W=z.strictNumbers)!==null&&W!==void 0?W:Qt)!==null&&Z!==void 0?Z:!0,strictTypes:(ne=(ae=z.strictTypes)!==null&&ae!==void 0?ae:Qt)!==null&&ne!==void 0?ne:"log",strictTuples:(At=(Ae=z.strictTuples)!==null&&Ae!==void 0?Ae:Qt)!==null&&At!==void 0?At:"log",strictRequired:(Ge=(Ie=z.strictRequired)!==null&&Ie!==void 0?Ie:Qt)!==null&&Ge!==void 0?Ge:!1,code:z.code?{...z.code,optimize:ln,regExp:en}:{optimize:ln,regExp:en},loopRequired:(lt=z.loopRequired)!==null&<!==void 0?lt:w,loopEnum:(tt=z.loopEnum)!==null&&tt!==void 0?tt:w,meta:(Jt=z.meta)!==null&&Jt!==void 0?Jt:!0,messages:(Pn=z.messages)!==null&&Pn!==void 0?Pn:!0,inlineRefs:(Rn=z.inlineRefs)!==null&&Rn!==void 0?Rn:!0,schemaId:(us=z.schemaId)!==null&&us!==void 0?us:"$id",addUsedSchema:(Mn=z.addUsedSchema)!==null&&Mn!==void 0?Mn:!0,validateSchema:(ds=z.validateSchema)!==null&&ds!==void 0?ds:!0,validateFormats:(Yn=z.validateFormats)!==null&&Yn!==void 0?Yn:!0,unicodeRegExp:(Jn=z.unicodeRegExp)!==null&&Jn!==void 0?Jn:!0,int32range:(In=z.int32range)!==null&&In!==void 0?In:!0,uriResolver:fs}}class A{constructor(P={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,P=this.opts={...P,..._(P)};const{es5:N,lines:M}=this.opts.code;this.scope=new a.ValueScope({scope:{},prefixes:g,es5:N,lines:M}),this.logger=H(P.logger);const b=P.validateFormats;P.validateFormats=!1,this.RULES=(0,r.getRules)(),k.call(this,v,P,"NOT SUPPORTED"),k.call(this,y,P,"DEPRECATED","warn"),this._metaOpts=U.call(this),P.formats&&O.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),P.keywords&&F.call(this,P.keywords),typeof P.meta=="object"&&this.addMetaSchema(P.meta),E.call(this),P.validateFormats=b}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:P,meta:N,schemaId:M}=this.opts;let b=u;M==="id"&&(b={...u},b.id=b.$id,delete b.$id),N&&P&&this.addMetaSchema(b,b[M],!1)}defaultMeta(){const{meta:P,schemaId:N}=this.opts;return this.opts.defaultMeta=typeof P=="object"?P[N]||P:void 0}validate(P,N){let M;if(typeof P=="string"){if(M=this.getSchema(P),!M)throw new Error(`no schema with key or ref "${P}"`)}else M=this.compile(P);const b=M(N);return"$async"in M||(this.errors=M.errors),b}compile(P,N){const M=this._addSchema(P,N);return M.validate||this._compileSchemaEnv(M)}compileAsync(P,N){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:M}=this.opts;return b.call(this,P,N);async function b(ne,Ae){await x.call(this,ne.$schema);const At=this._addSchema(ne,Ae);return At.validate||I.call(this,At)}async function x(ne){ne&&!this.getSchema(ne)&&await b.call(this,{$ref:ne},!0)}async function I(ne){try{return this._compileSchemaEnv(ne)}catch(Ae){if(!(Ae instanceof i.default))throw Ae;return W.call(this,Ae),await Z.call(this,Ae.missingSchema),I.call(this,ne)}}function W({missingSchema:ne,missingRef:Ae}){if(this.refs[ne])throw new Error(`AnySchema ${ne} is loaded but ${Ae} cannot be resolved`)}async function Z(ne){const Ae=await ae.call(this,ne);this.refs[ne]||await x.call(this,Ae.$schema),this.refs[ne]||this.addSchema(Ae,ne,N)}async function ae(ne){const Ae=this._loading[ne];if(Ae)return Ae;try{return await(this._loading[ne]=M(ne))}finally{delete this._loading[ne]}}}addSchema(P,N,M,b=this.opts.validateSchema){if(Array.isArray(P)){for(const I of P)this.addSchema(I,void 0,M,b);return this}let x;if(typeof P=="object"){const{schemaId:I}=this.opts;if(x=P[I],x!==void 0&&typeof x!="string")throw new Error(`schema ${I} must be string`)}return N=(0,l.normalizeId)(N||x),this._checkUnique(N),this.schemas[N]=this._addSchema(P,M,N,b,!0),this}addMetaSchema(P,N,M=this.opts.validateSchema){return this.addSchema(P,N,!0,M),this}validateSchema(P,N){if(typeof P=="boolean")return!0;let M;if(M=P.$schema,M!==void 0&&typeof M!="string")throw new Error("$schema must be a string");if(M=M||this.opts.defaultMeta||this.defaultMeta(),!M)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const b=this.validate(M,P);if(!b&&N){const x="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(x);else throw new Error(x)}return b}getSchema(P){let N;for(;typeof(N=$.call(this,P))=="string";)P=N;if(N===void 0){const{schemaId:M}=this.opts,b=new o.SchemaEnv({schema:{},schemaId:M});if(N=o.resolveSchema.call(this,b,P),!N)return;this.refs[P]=N}return N.validate||this._compileSchemaEnv(N)}removeSchema(P){if(P instanceof RegExp)return this._removeAllSchemas(this.schemas,P),this._removeAllSchemas(this.refs,P),this;switch(typeof P){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const N=$.call(this,P);return typeof N=="object"&&this._cache.delete(N.schema),delete this.schemas[P],delete this.refs[P],this}case"object":{const N=P;this._cache.delete(N);let M=P[this.opts.schemaId];return M&&(M=(0,l.normalizeId)(M),delete this.schemas[M],delete this.refs[M]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(P){for(const N of P)this.addKeyword(N);return this}addKeyword(P,N){let M;if(typeof P=="string")M=P,typeof N=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),N.keyword=M);else if(typeof P=="object"&&N===void 0){if(N=P,M=N.keyword,Array.isArray(M)&&!M.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(D.call(this,M,N),!N)return(0,h.eachItem)(M,x=>Y.call(this,x)),this;Q.call(this,N);const b={...N,type:(0,c.getJSONTypes)(N.type),schemaType:(0,c.getJSONTypes)(N.schemaType)};return(0,h.eachItem)(M,b.type.length===0?x=>Y.call(this,x,b):x=>b.type.forEach(I=>Y.call(this,x,b,I))),this}getKeyword(P){const N=this.RULES.all[P];return typeof N=="object"?N.definition:!!N}removeKeyword(P){const{RULES:N}=this;delete N.keywords[P],delete N.all[P];for(const M of N.rules){const b=M.rules.findIndex(x=>x.keyword===P);b>=0&&M.rules.splice(b,1)}return this}addFormat(P,N){return typeof N=="string"&&(N=new RegExp(N)),this.formats[P]=N,this}errorsText(P=this.errors,{separator:N=", ",dataVar:M="data"}={}){return!P||P.length===0?"No errors":P.map(b=>`${M}${b.instancePath} ${b.message}`).reduce((b,x)=>b+N+x)}$dataMetaSchema(P,N){const M=this.RULES.all;P=JSON.parse(JSON.stringify(P));for(const b of N){const x=b.split("/").slice(1);let I=P;for(const W of x)I=I[W];for(const W in M){const Z=M[W];if(typeof Z!="object")continue;const{$data:ae}=Z.definition,ne=I[W];ae&&ne&&(I[W]=ve(ne))}}return P}_removeAllSchemas(P,N){for(const M in P){const b=P[M];(!N||N.test(M))&&(typeof b=="string"?delete P[M]:b&&!b.meta&&(this._cache.delete(b.schema),delete P[M]))}}_addSchema(P,N,M,b=this.opts.validateSchema,x=this.opts.addUsedSchema){let I;const{schemaId:W}=this.opts;if(typeof P=="object")I=P[W];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof P!="boolean")throw new Error("schema must be object or boolean")}let Z=this._cache.get(P);if(Z!==void 0)return Z;M=(0,l.normalizeId)(I||M);const ae=l.getSchemaRefs.call(this,P,M);return Z=new o.SchemaEnv({schema:P,schemaId:W,meta:N,baseId:M,localRefs:ae}),this._cache.set(Z.schema,Z),x&&!M.startsWith("#")&&(M&&this._checkUnique(M),this.refs[M]=Z),b&&this.validateSchema(P,!0),Z}_checkUnique(P){if(this.schemas[P]||this.refs[P])throw new Error(`schema with key or id "${P}" already exists`)}_compileSchemaEnv(P){if(P.meta?this._compileMetaSchema(P):o.compileSchema.call(this,P),!P.validate)throw new Error("ajv implementation error");return P.validate}_compileMetaSchema(P){const N=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,P)}finally{this.opts=N}}}A.ValidationError=s.default,A.MissingRefError=i.default,n.default=A;function k(z,P,N,M="error"){for(const b in z){const x=b;x in P&&this.logger[M](`${N}: option ${b}. ${z[x]}`)}}function $(z){return z=(0,l.normalizeId)(z),this.schemas[z]||this.refs[z]}function E(){const z=this.opts.schemas;if(z)if(Array.isArray(z))this.addSchema(z);else for(const P in z)this.addSchema(z[P],P)}function O(){for(const z in this.opts.formats){const P=this.opts.formats[z];P&&this.addFormat(z,P)}}function F(z){if(Array.isArray(z)){this.addVocabulary(z);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const P in z){const N=z[P];N.keyword||(N.keyword=P),this.addKeyword(N)}}function U(){const z={...this.opts};for(const P of m)delete z[P];return z}const L={log(){},warn(){},error(){}};function H(z){if(z===!1)return L;if(z===void 0)return console;if(z.log&&z.warn&&z.error)return z;throw new Error("logger must implement log, warn and error methods")}const B=/^[a-z_$][a-z0-9_$:-]*$/i;function D(z,P){const{RULES:N}=this;if((0,h.eachItem)(z,M=>{if(N.keywords[M])throw new Error(`Keyword ${M} is already defined`);if(!B.test(M))throw new Error(`Keyword ${M} has invalid name`)}),!!P&&P.$data&&!("code"in P||"validate"in P))throw new Error('$data keyword must have "code" or "validate" function')}function Y(z,P,N){var M;const b=P==null?void 0:P.post;if(N&&b)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:x}=this;let I=b?x.post:x.rules.find(({type:Z})=>Z===N);if(I||(I={type:N,rules:[]},x.rules.push(I)),x.keywords[z]=!0,!P)return;const W={keyword:z,definition:{...P,type:(0,c.getJSONTypes)(P.type),schemaType:(0,c.getJSONTypes)(P.schemaType)}};P.before?X.call(this,I,W,P.before):I.rules.push(W),x.all[z]=W,(M=P.implements)===null||M===void 0||M.forEach(Z=>this.addKeyword(Z))}function X(z,P,N){const M=z.rules.findIndex(b=>b.keyword===N);M>=0?z.rules.splice(M,0,P):(z.rules.push(P),this.logger.warn(`rule ${N} is not defined`))}function Q(z){let{metaSchema:P}=z;P!==void 0&&(z.$data&&this.opts.$data&&(P=ve(P)),z.validateSchema=this.compile(P,!0))}const se={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function ve(z){return{anyOf:[z,se]}}})(ZT);var E1={},C1={},$1={};Object.defineProperty($1,"__esModule",{value:!0});const _5={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};$1.default=_5;var gc={};Object.defineProperty(gc,"__esModule",{value:!0});gc.callRef=gc.getValidate=void 0;const S5=Fu,ox=Ve,Ms=He,Fc=Fr,ax=Ns,pm=fe,k5={keyword:"$ref",schemaType:"string",code(n){const{gen:e,schema:t,it:s}=n,{baseId:i,schemaEnv:r,validateName:o,opts:a,self:l}=s,{root:c}=r;if((t==="#"||t==="#/")&&i===c.baseId)return u();const h=ax.resolveRef.call(l,c,i,t);if(h===void 0)throw new S5.default(s.opts.uriResolver,i,t);if(h instanceof ax.SchemaEnv)return d(h);return p(h);function u(){if(r===c)return Qm(n,o,r,r.$async);const m=e.scopeValue("root",{ref:c});return Qm(n,(0,Ms._)`${m}.validate`,c,c.$async)}function d(m){const g=$P(n,m);Qm(n,g,m,m.$async)}function p(m){const g=e.scopeValue("schema",a.code.source===!0?{ref:m,code:(0,Ms.stringify)(m)}:{ref:m}),v=e.name("valid"),y=n.subschema({schema:m,dataTypes:[],schemaPath:Ms.nil,topSchemaRef:g,errSchemaPath:t},v);n.mergeEvaluated(y),n.ok(v)}}};function $P(n,e){const{gen:t}=n;return e.validate?t.scopeValue("validate",{ref:e.validate}):(0,Ms._)`${t.scopeValue("wrapper",{ref:e})}.validate`}gc.getValidate=$P;function Qm(n,e,t,s){const{gen:i,it:r}=n,{allErrors:o,schemaEnv:a,opts:l}=r,c=l.passContext?Fc.default.this:Ms.nil;s?h():u();function h(){if(!a.$async)throw new Error("async schema referenced by sync schema");const m=i.let("valid");i.try(()=>{i.code((0,Ms._)`await ${(0,ox.callValidateCode)(n,e,c)}`),p(e),o||i.assign(m,!0)},g=>{i.if((0,Ms._)`!(${g} instanceof ${r.ValidationError})`,()=>i.throw(g)),d(g),o||i.assign(m,!1)}),n.ok(m)}function u(){n.result((0,ox.callValidateCode)(n,e,c),()=>p(e),()=>d(e))}function d(m){const g=(0,Ms._)`${m}.errors`;i.assign(Fc.default.vErrors,(0,Ms._)`${Fc.default.vErrors} === null ? ${g} : ${Fc.default.vErrors}.concat(${g})`),i.assign(Fc.default.errors,(0,Ms._)`${Fc.default.vErrors}.length`)}function p(m){var g;if(!r.opts.unevaluated)return;const v=(g=t==null?void 0:t.validate)===null||g===void 0?void 0:g.evaluated;if(r.props!==!0)if(v&&!v.dynamicProps)v.props!==void 0&&(r.props=pm.mergeEvaluated.props(i,v.props,r.props));else{const y=i.var("props",(0,Ms._)`${m}.evaluated.props`);r.props=pm.mergeEvaluated.props(i,y,r.props,Ms.Name)}if(r.items!==!0)if(v&&!v.dynamicItems)v.items!==void 0&&(r.items=pm.mergeEvaluated.items(i,v.items,r.items));else{const y=i.var("items",(0,Ms._)`${m}.evaluated.items`);r.items=pm.mergeEvaluated.items(i,y,r.items,Ms.Name)}}}gc.callRef=Qm;gc.default=k5;Object.defineProperty(C1,"__esModule",{value:!0});const A5=$1,x5=gc,E5=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",A5.default,x5.default];C1.default=E5;var T1={},P1={};Object.defineProperty(P1,"__esModule",{value:!0});const Qg=He,Lo=Qg.operators,ey={maximum:{okStr:"<=",ok:Lo.LTE,fail:Lo.GT},minimum:{okStr:">=",ok:Lo.GTE,fail:Lo.LT},exclusiveMaximum:{okStr:"<",ok:Lo.LT,fail:Lo.GTE},exclusiveMinimum:{okStr:">",ok:Lo.GT,fail:Lo.LTE}},C5={message:({keyword:n,schemaCode:e})=>(0,Qg.str)`must be ${ey[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,Qg._)`{comparison: ${ey[n].okStr}, limit: ${e}}`},$5={keyword:Object.keys(ey),type:"number",schemaType:"number",$data:!0,error:C5,code(n){const{keyword:e,data:t,schemaCode:s}=n;n.fail$data((0,Qg._)`${t} ${ey[e].fail} ${s} || isNaN(${t})`)}};P1.default=$5;var R1={};Object.defineProperty(R1,"__esModule",{value:!0});const Nd=He,T5={message:({schemaCode:n})=>(0,Nd.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,Nd._)`{multipleOf: ${n}}`},P5={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:T5,code(n){const{gen:e,data:t,schemaCode:s,it:i}=n,r=i.opts.multipleOfPrecision,o=e.let("res"),a=r?(0,Nd._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${r}`:(0,Nd._)`${o} !== parseInt(${o})`;n.fail$data((0,Nd._)`(${s} === 0 || (${o} = ${t}/${s}, ${a}))`)}};R1.default=P5;var M1={},I1={};Object.defineProperty(I1,"__esModule",{value:!0});function TP(n){const e=n.length;let t=0,s=0,i;for(;s=55296&&i<=56319&&s(0,ol._)`{limit: ${n}}`},O5={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:I5,code(n){const{keyword:e,data:t,schemaCode:s,it:i}=n,r=e==="maxLength"?ol.operators.GT:ol.operators.LT,o=i.opts.unicode===!1?(0,ol._)`${t}.length`:(0,ol._)`${(0,R5.useFunc)(n.gen,M5.default)}(${t})`;n.fail$data((0,ol._)`${o} ${r} ${s}`)}};M1.default=O5;var O1={};Object.defineProperty(O1,"__esModule",{value:!0});const N5=Ve,L5=fe,nh=He,D5={message:({schemaCode:n})=>(0,nh.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,nh._)`{pattern: ${n}}`},F5={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:D5,code(n){const{gen:e,data:t,$data:s,schema:i,schemaCode:r,it:o}=n,a=o.opts.unicodeRegExp?"u":"";if(s){const{regExp:l}=o.opts.code,c=l.code==="new RegExp"?(0,nh._)`new RegExp`:(0,L5.useFunc)(e,l),h=e.let("valid");e.try(()=>e.assign(h,(0,nh._)`${c}(${r}, ${a}).test(${t})`),()=>e.assign(h,!1)),n.fail$data((0,nh._)`!${h}`)}else{const l=(0,N5.usePattern)(n,i);n.fail$data((0,nh._)`!${l}.test(${t})`)}}};O1.default=F5;var N1={};Object.defineProperty(N1,"__esModule",{value:!0});const Ld=He,j5={message({keyword:n,schemaCode:e}){const t=n==="maxProperties"?"more":"fewer";return(0,Ld.str)`must NOT have ${t} than ${e} properties`},params:({schemaCode:n})=>(0,Ld._)`{limit: ${n}}`},z5={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:j5,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxProperties"?Ld.operators.GT:Ld.operators.LT;n.fail$data((0,Ld._)`Object.keys(${t}).length ${i} ${s}`)}};N1.default=z5;var L1={};Object.defineProperty(L1,"__esModule",{value:!0});const Zu=Ve,Dd=He,H5=fe,B5={message:({params:{missingProperty:n}})=>(0,Dd.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,Dd._)`{missingProperty: ${n}}`},U5={keyword:"required",type:"object",schemaType:"array",$data:!0,error:B5,code(n){const{gen:e,schema:t,schemaCode:s,data:i,$data:r,it:o}=n,{opts:a}=o;if(!r&&t.length===0)return;const l=t.length>=a.loopRequired;if(o.allErrors?c():h(),a.strictRequired){const p=n.parentSchema.properties,{definedProperties:m}=n.it;for(const g of t)if((p==null?void 0:p[g])===void 0&&!m.has(g)){const v=o.schemaEnv.baseId+o.errSchemaPath,y=`required property "${g}" is not defined at "${v}" (strictRequired)`;(0,H5.checkStrictMode)(o,y,o.opts.strictRequired)}}function c(){if(l||r)n.block$data(Dd.nil,u);else for(const p of t)(0,Zu.checkReportMissingProp)(n,p)}function h(){const p=e.let("missing");if(l||r){const m=e.let("valid",!0);n.block$data(m,()=>d(p,m)),n.ok(m)}else e.if((0,Zu.checkMissingProp)(n,t,p)),(0,Zu.reportMissingProp)(n,p),e.else()}function u(){e.forOf("prop",s,p=>{n.setParams({missingProperty:p}),e.if((0,Zu.noPropertyInData)(e,i,p,a.ownProperties),()=>n.error())})}function d(p,m){n.setParams({missingProperty:p}),e.forOf(p,s,()=>{e.assign(m,(0,Zu.propertyInData)(e,i,p,a.ownProperties)),e.if((0,Dd.not)(m),()=>{n.error(),e.break()})},Dd.nil)}}};L1.default=U5;var D1={};Object.defineProperty(D1,"__esModule",{value:!0});const Fd=He,q5={message({keyword:n,schemaCode:e}){const t=n==="maxItems"?"more":"fewer";return(0,Fd.str)`must NOT have ${t} than ${e} items`},params:({schemaCode:n})=>(0,Fd._)`{limit: ${n}}`},V5={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:q5,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxItems"?Fd.operators.GT:Fd.operators.LT;n.fail$data((0,Fd._)`${t}.length ${i} ${s}`)}};D1.default=V5;var F1={},Vp={};Object.defineProperty(Vp,"__esModule",{value:!0});const PP=o0;PP.code='require("ajv/dist/runtime/equal").default';Vp.default=PP;Object.defineProperty(F1,"__esModule",{value:!0});const tv=mn,Ln=He,W5=fe,G5=Vp,K5={message:({params:{i:n,j:e}})=>(0,Ln.str)`must NOT have duplicate items (items ## ${e} and ${n} are identical)`,params:({params:{i:n,j:e}})=>(0,Ln._)`{i: ${n}, j: ${e}}`},Z5={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:K5,code(n){const{gen:e,data:t,$data:s,schema:i,parentSchema:r,schemaCode:o,it:a}=n;if(!s&&!i)return;const l=e.let("valid"),c=r.items?(0,tv.getSchemaTypes)(r.items):[];n.block$data(l,h,(0,Ln._)`${o} === false`),n.ok(l);function h(){const m=e.let("i",(0,Ln._)`${t}.length`),g=e.let("j");n.setParams({i:m,j:g}),e.assign(l,!0),e.if((0,Ln._)`${m} > 1`,()=>(u()?d:p)(m,g))}function u(){return c.length>0&&!c.some(m=>m==="object"||m==="array")}function d(m,g){const v=e.name("item"),y=(0,tv.checkDataTypes)(c,v,a.opts.strictNumbers,tv.DataType.Wrong),w=e.const("indices",(0,Ln._)`{}`);e.for((0,Ln._)`;${m}--;`,()=>{e.let(v,(0,Ln._)`${t}[${m}]`),e.if(y,(0,Ln._)`continue`),c.length>1&&e.if((0,Ln._)`typeof ${v} == "string"`,(0,Ln._)`${v} += "_"`),e.if((0,Ln._)`typeof ${w}[${v}] == "number"`,()=>{e.assign(g,(0,Ln._)`${w}[${v}]`),n.error(),e.assign(l,!1).break()}).code((0,Ln._)`${w}[${v}] = ${m}`)})}function p(m,g){const v=(0,W5.useFunc)(e,G5.default),y=e.name("outer");e.label(y).for((0,Ln._)`;${m}--;`,()=>e.for((0,Ln._)`${g} = ${m}; ${g}--;`,()=>e.if((0,Ln._)`${v}(${t}[${m}], ${t}[${g}])`,()=>{n.error(),e.assign(l,!1).break(y)})))}}};F1.default=Z5;var j1={};Object.defineProperty(j1,"__esModule",{value:!0});const cb=He,X5=fe,Y5=Vp,J5={message:"must be equal to constant",params:({schemaCode:n})=>(0,cb._)`{allowedValue: ${n}}`},Q5={keyword:"const",$data:!0,error:J5,code(n){const{gen:e,data:t,$data:s,schemaCode:i,schema:r}=n;s||r&&typeof r=="object"?n.fail$data((0,cb._)`!${(0,X5.useFunc)(e,Y5.default)}(${t}, ${i})`):n.fail((0,cb._)`${r} !== ${t}`)}};j1.default=Q5;var z1={};Object.defineProperty(z1,"__esModule",{value:!0});const ld=He,eG=fe,tG=Vp,nG={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,ld._)`{allowedValues: ${n}}`},sG={keyword:"enum",schemaType:"array",$data:!0,error:nG,code(n){const{gen:e,data:t,$data:s,schema:i,schemaCode:r,it:o}=n;if(!s&&i.length===0)throw new Error("enum must have non-empty array");const a=i.length>=o.opts.loopEnum;let l;const c=()=>l??(l=(0,eG.useFunc)(e,tG.default));let h;if(a||s)h=e.let("valid"),n.block$data(h,u);else{if(!Array.isArray(i))throw new Error("ajv implementation error");const p=e.const("vSchema",r);h=(0,ld.or)(...i.map((m,g)=>d(p,g)))}n.pass(h);function u(){e.assign(h,!1),e.forOf("v",r,p=>e.if((0,ld._)`${c()}(${t}, ${p})`,()=>e.assign(h,!0).break()))}function d(p,m){const g=i[m];return typeof g=="object"&&g!==null?(0,ld._)`${c()}(${t}, ${p}[${m}])`:(0,ld._)`${t} === ${g}`}}};z1.default=sG;Object.defineProperty(T1,"__esModule",{value:!0});const iG=P1,rG=R1,oG=M1,aG=O1,lG=N1,cG=L1,hG=D1,uG=F1,dG=j1,fG=z1,pG=[iG.default,rG.default,oG.default,aG.default,lG.default,cG.default,hG.default,uG.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},dG.default,fG.default];T1.default=pG;var H1={},ju={};Object.defineProperty(ju,"__esModule",{value:!0});ju.validateAdditionalItems=void 0;const al=He,hb=fe,mG={message:({params:{len:n}})=>(0,al.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,al._)`{limit: ${n}}`},gG={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:mG,code(n){const{parentSchema:e,it:t}=n,{items:s}=e;if(!Array.isArray(s)){(0,hb.checkStrictMode)(t,'"additionalItems" is ignored when "items" is not an array of schemas');return}RP(n,s)}};function RP(n,e){const{gen:t,schema:s,data:i,keyword:r,it:o}=n;o.items=!0;const a=t.const("len",(0,al._)`${i}.length`);if(s===!1)n.setParams({len:e.length}),n.pass((0,al._)`${a} <= ${e.length}`);else if(typeof s=="object"&&!(0,hb.alwaysValidSchema)(o,s)){const c=t.var("valid",(0,al._)`${a} <= ${e.length}`);t.if((0,al.not)(c),()=>l(c)),n.ok(c)}function l(c){t.forRange("i",e.length,a,h=>{n.subschema({keyword:r,dataProp:h,dataPropType:hb.Type.Num},c),o.allErrors||t.if((0,al.not)(c),()=>t.break())})}}ju.validateAdditionalItems=RP;ju.default=gG;var B1={},zu={};Object.defineProperty(zu,"__esModule",{value:!0});zu.validateTuple=void 0;const lx=He,eg=fe,yG=Ve,vG={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){const{schema:e,it:t}=n;if(Array.isArray(e))return MP(n,"additionalItems",e);t.items=!0,!(0,eg.alwaysValidSchema)(t,e)&&n.ok((0,yG.validateArray)(n))}};function MP(n,e,t=n.schema){const{gen:s,parentSchema:i,data:r,keyword:o,it:a}=n;h(i),a.opts.unevaluated&&t.length&&a.items!==!0&&(a.items=eg.mergeEvaluated.items(s,t.length,a.items));const l=s.name("valid"),c=s.const("len",(0,lx._)`${r}.length`);t.forEach((u,d)=>{(0,eg.alwaysValidSchema)(a,u)||(s.if((0,lx._)`${c} > ${d}`,()=>n.subschema({keyword:o,schemaProp:d,dataProp:d},l)),n.ok(l))});function h(u){const{opts:d,errSchemaPath:p}=a,m=t.length,g=m===u.minItems&&(m===u.maxItems||u[e]===!1);if(d.strictTuples&&!g){const v=`"${o}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,eg.checkStrictMode)(a,v,d.strictTuples)}}}zu.validateTuple=MP;zu.default=vG;Object.defineProperty(B1,"__esModule",{value:!0});const bG=zu,wG={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,bG.validateTuple)(n,"items")};B1.default=wG;var U1={};Object.defineProperty(U1,"__esModule",{value:!0});const cx=He,_G=fe,SG=Ve,kG=ju,AG={message:({params:{len:n}})=>(0,cx.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,cx._)`{limit: ${n}}`},xG={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:AG,code(n){const{schema:e,parentSchema:t,it:s}=n,{prefixItems:i}=t;s.items=!0,!(0,_G.alwaysValidSchema)(s,e)&&(i?(0,kG.validateAdditionalItems)(n,i):n.ok((0,SG.validateArray)(n)))}};U1.default=xG;var q1={};Object.defineProperty(q1,"__esModule",{value:!0});const di=He,mm=fe,EG={message:({params:{min:n,max:e}})=>e===void 0?(0,di.str)`must contain at least ${n} valid item(s)`:(0,di.str)`must contain at least ${n} and no more than ${e} valid item(s)`,params:({params:{min:n,max:e}})=>e===void 0?(0,di._)`{minContains: ${n}}`:(0,di._)`{minContains: ${n}, maxContains: ${e}}`},CG={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:EG,code(n){const{gen:e,schema:t,parentSchema:s,data:i,it:r}=n;let o,a;const{minContains:l,maxContains:c}=s;r.opts.next?(o=l===void 0?1:l,a=c):o=1;const h=e.const("len",(0,di._)`${i}.length`);if(n.setParams({min:o,max:a}),a===void 0&&o===0){(0,mm.checkStrictMode)(r,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,mm.checkStrictMode)(r,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,mm.alwaysValidSchema)(r,t)){let g=(0,di._)`${h} >= ${o}`;a!==void 0&&(g=(0,di._)`${g} && ${h} <= ${a}`),n.pass(g);return}r.items=!0;const u=e.name("valid");a===void 0&&o===1?p(u,()=>e.if(u,()=>e.break())):o===0?(e.let(u,!0),a!==void 0&&e.if((0,di._)`${i}.length > 0`,d)):(e.let(u,!1),d()),n.result(u,()=>n.reset());function d(){const g=e.name("_valid"),v=e.let("count",0);p(g,()=>e.if(g,()=>m(v)))}function p(g,v){e.forRange("i",0,h,y=>{n.subschema({keyword:"contains",dataProp:y,dataPropType:mm.Type.Num,compositeRule:!0},g),v()})}function m(g){e.code((0,di._)`${g}++`),a===void 0?e.if((0,di._)`${g} >= ${o}`,()=>e.assign(u,!0).break()):(e.if((0,di._)`${g} > ${a}`,()=>e.assign(u,!1).break()),o===1?e.assign(u,!0):e.if((0,di._)`${g} >= ${o}`,()=>e.assign(u,!0)))}}};q1.default=CG;var IP={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.validateSchemaDeps=n.validatePropertyDeps=n.error=void 0;const e=He,t=fe,s=Ve;n.error={message:({params:{property:l,depsCount:c,deps:h}})=>{const u=c===1?"property":"properties";return(0,e.str)`must have ${u} ${h} when property ${l} is present`},params:({params:{property:l,depsCount:c,deps:h,missingProperty:u}})=>(0,e._)`{property: ${l}, + missingProperty: ${u}, + depsCount: ${c}, + deps: ${h}}`};const i={keyword:"dependencies",type:"object",schemaType:"object",error:n.error,code(l){const[c,h]=r(l);o(l,c),a(l,h)}};function r({schema:l}){const c={},h={};for(const u in l){if(u==="__proto__")continue;const d=Array.isArray(l[u])?c:h;d[u]=l[u]}return[c,h]}function o(l,c=l.schema){const{gen:h,data:u,it:d}=l;if(Object.keys(c).length===0)return;const p=h.let("missing");for(const m in c){const g=c[m];if(g.length===0)continue;const v=(0,s.propertyInData)(h,u,m,d.opts.ownProperties);l.setParams({property:m,depsCount:g.length,deps:g.join(", ")}),d.allErrors?h.if(v,()=>{for(const y of g)(0,s.checkReportMissingProp)(l,y)}):(h.if((0,e._)`${v} && (${(0,s.checkMissingProp)(l,g,p)})`),(0,s.reportMissingProp)(l,p),h.else())}}n.validatePropertyDeps=o;function a(l,c=l.schema){const{gen:h,data:u,keyword:d,it:p}=l,m=h.name("valid");for(const g in c)(0,t.alwaysValidSchema)(p,c[g])||(h.if((0,s.propertyInData)(h,u,g,p.opts.ownProperties),()=>{const v=l.subschema({keyword:d,schemaProp:g},m);l.mergeValidEvaluated(v,m)},()=>h.var(m,!0)),l.ok(m))}n.validateSchemaDeps=a,n.default=i})(IP);var V1={};Object.defineProperty(V1,"__esModule",{value:!0});const OP=He,$G=fe,TG={message:"property name must be valid",params:({params:n})=>(0,OP._)`{propertyName: ${n.propertyName}}`},PG={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:TG,code(n){const{gen:e,schema:t,data:s,it:i}=n;if((0,$G.alwaysValidSchema)(i,t))return;const r=e.name("valid");e.forIn("key",s,o=>{n.setParams({propertyName:o}),n.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},r),e.if((0,OP.not)(r),()=>{n.error(!0),i.allErrors||e.break()})}),n.ok(r)}};V1.default=PG;var m0={};Object.defineProperty(m0,"__esModule",{value:!0});const gm=Ve,Ti=He,RG=Fr,ym=fe,MG={message:"must NOT have additional properties",params:({params:n})=>(0,Ti._)`{additionalProperty: ${n.additionalProperty}}`},IG={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:MG,code(n){const{gen:e,schema:t,parentSchema:s,data:i,errsCount:r,it:o}=n;if(!r)throw new Error("ajv implementation error");const{allErrors:a,opts:l}=o;if(o.props=!0,l.removeAdditional!=="all"&&(0,ym.alwaysValidSchema)(o,t))return;const c=(0,gm.allSchemaProperties)(s.properties),h=(0,gm.allSchemaProperties)(s.patternProperties);u(),n.ok((0,Ti._)`${r} === ${RG.default.errors}`);function u(){e.forIn("key",i,v=>{!c.length&&!h.length?m(v):e.if(d(v),()=>m(v))})}function d(v){let y;if(c.length>8){const w=(0,ym.schemaRefOrVal)(o,s.properties,"properties");y=(0,gm.isOwnProperty)(e,w,v)}else c.length?y=(0,Ti.or)(...c.map(w=>(0,Ti._)`${v} === ${w}`)):y=Ti.nil;return h.length&&(y=(0,Ti.or)(y,...h.map(w=>(0,Ti._)`${(0,gm.usePattern)(n,w)}.test(${v})`))),(0,Ti.not)(y)}function p(v){e.code((0,Ti._)`delete ${i}[${v}]`)}function m(v){if(l.removeAdditional==="all"||l.removeAdditional&&t===!1){p(v);return}if(t===!1){n.setParams({additionalProperty:v}),n.error(),a||e.break();return}if(typeof t=="object"&&!(0,ym.alwaysValidSchema)(o,t)){const y=e.name("valid");l.removeAdditional==="failing"?(g(v,y,!1),e.if((0,Ti.not)(y),()=>{n.reset(),p(v)})):(g(v,y),a||e.if((0,Ti.not)(y),()=>e.break()))}}function g(v,y,w){const _={keyword:"additionalProperties",dataProp:v,dataPropType:ym.Type.Str};w===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(_,y)}}};m0.default=IG;var W1={};Object.defineProperty(W1,"__esModule",{value:!0});const OG=Yi,hx=Ve,nv=fe,ux=m0,NG={keyword:"properties",type:"object",schemaType:"object",code(n){const{gen:e,schema:t,parentSchema:s,data:i,it:r}=n;r.opts.removeAdditional==="all"&&s.additionalProperties===void 0&&ux.default.code(new OG.KeywordCxt(r,ux.default,"additionalProperties"));const o=(0,hx.allSchemaProperties)(t);for(const u of o)r.definedProperties.add(u);r.opts.unevaluated&&o.length&&r.props!==!0&&(r.props=nv.mergeEvaluated.props(e,(0,nv.toHash)(o),r.props));const a=o.filter(u=>!(0,nv.alwaysValidSchema)(r,t[u]));if(a.length===0)return;const l=e.name("valid");for(const u of a)c(u)?h(u):(e.if((0,hx.propertyInData)(e,i,u,r.opts.ownProperties)),h(u),r.allErrors||e.else().var(l,!0),e.endIf()),n.it.definedProperties.add(u),n.ok(l);function c(u){return r.opts.useDefaults&&!r.compositeRule&&t[u].default!==void 0}function h(u){n.subschema({keyword:"properties",schemaProp:u,dataProp:u},l)}}};W1.default=NG;var G1={};Object.defineProperty(G1,"__esModule",{value:!0});const dx=Ve,vm=He,fx=fe,px=fe,LG={keyword:"patternProperties",type:"object",schemaType:"object",code(n){const{gen:e,schema:t,data:s,parentSchema:i,it:r}=n,{opts:o}=r,a=(0,dx.allSchemaProperties)(t),l=a.filter(g=>(0,fx.alwaysValidSchema)(r,t[g]));if(a.length===0||l.length===a.length&&(!r.opts.unevaluated||r.props===!0))return;const c=o.strictSchema&&!o.allowMatchingProperties&&i.properties,h=e.name("valid");r.props!==!0&&!(r.props instanceof vm.Name)&&(r.props=(0,px.evaluatedPropsToName)(e,r.props));const{props:u}=r;d();function d(){for(const g of a)c&&p(g),r.allErrors?m(g):(e.var(h,!0),m(g),e.if(h))}function p(g){for(const v in c)new RegExp(g).test(v)&&(0,fx.checkStrictMode)(r,`property ${v} matches pattern ${g} (use allowMatchingProperties)`)}function m(g){e.forIn("key",s,v=>{e.if((0,vm._)`${(0,dx.usePattern)(n,g)}.test(${v})`,()=>{const y=l.includes(g);y||n.subschema({keyword:"patternProperties",schemaProp:g,dataProp:v,dataPropType:px.Type.Str},h),r.opts.unevaluated&&u!==!0?e.assign((0,vm._)`${u}[${v}]`,!0):!y&&!r.allErrors&&e.if((0,vm.not)(h),()=>e.break())})})}}};G1.default=LG;var K1={};Object.defineProperty(K1,"__esModule",{value:!0});const DG=fe,FG={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){const{gen:e,schema:t,it:s}=n;if((0,DG.alwaysValidSchema)(s,t)){n.fail();return}const i=e.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),n.failResult(i,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};K1.default=FG;var Z1={};Object.defineProperty(Z1,"__esModule",{value:!0});const jG=Ve,zG={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:jG.validateUnion,error:{message:"must match a schema in anyOf"}};Z1.default=zG;var X1={};Object.defineProperty(X1,"__esModule",{value:!0});const tg=He,HG=fe,BG={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,tg._)`{passingSchemas: ${n.passing}}`},UG={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:BG,code(n){const{gen:e,schema:t,parentSchema:s,it:i}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");if(i.opts.discriminator&&s.discriminator)return;const r=t,o=e.let("valid",!1),a=e.let("passing",null),l=e.name("_valid");n.setParams({passing:a}),e.block(c),n.result(o,()=>n.reset(),()=>n.error(!0));function c(){r.forEach((h,u)=>{let d;(0,HG.alwaysValidSchema)(i,h)?e.var(l,!0):d=n.subschema({keyword:"oneOf",schemaProp:u,compositeRule:!0},l),u>0&&e.if((0,tg._)`${l} && ${o}`).assign(o,!1).assign(a,(0,tg._)`[${a}, ${u}]`).else(),e.if(l,()=>{e.assign(o,!0),e.assign(a,u),d&&n.mergeEvaluated(d,tg.Name)})})}}};X1.default=UG;var Y1={};Object.defineProperty(Y1,"__esModule",{value:!0});const qG=fe,VG={keyword:"allOf",schemaType:"array",code(n){const{gen:e,schema:t,it:s}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");const i=e.name("valid");t.forEach((r,o)=>{if((0,qG.alwaysValidSchema)(s,r))return;const a=n.subschema({keyword:"allOf",schemaProp:o},i);n.ok(i),n.mergeEvaluated(a)})}};Y1.default=VG;var J1={};Object.defineProperty(J1,"__esModule",{value:!0});const ty=He,NP=fe,WG={message:({params:n})=>(0,ty.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,ty._)`{failingKeyword: ${n.ifClause}}`},GG={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:WG,code(n){const{gen:e,parentSchema:t,it:s}=n;t.then===void 0&&t.else===void 0&&(0,NP.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const i=mx(s,"then"),r=mx(s,"else");if(!i&&!r)return;const o=e.let("valid",!0),a=e.name("_valid");if(l(),n.reset(),i&&r){const h=e.let("ifClause");n.setParams({ifClause:h}),e.if(a,c("then",h),c("else",h))}else i?e.if(a,c("then")):e.if((0,ty.not)(a),c("else"));n.pass(o,()=>n.error(!0));function l(){const h=n.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);n.mergeEvaluated(h)}function c(h,u){return()=>{const d=n.subschema({keyword:h},a);e.assign(o,a),n.mergeValidEvaluated(d,o),u?e.assign(u,(0,ty._)`${h}`):n.setParams({ifClause:h})}}}};function mx(n,e){const t=n.schema[e];return t!==void 0&&!(0,NP.alwaysValidSchema)(n,t)}J1.default=GG;var Q1={};Object.defineProperty(Q1,"__esModule",{value:!0});const KG=fe,ZG={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:t}){e.if===void 0&&(0,KG.checkStrictMode)(t,`"${n}" without "if" is ignored`)}};Q1.default=ZG;Object.defineProperty(H1,"__esModule",{value:!0});const XG=ju,YG=B1,JG=zu,QG=U1,eK=q1,tK=IP,nK=V1,sK=m0,iK=W1,rK=G1,oK=K1,aK=Z1,lK=X1,cK=Y1,hK=J1,uK=Q1;function dK(n=!1){const e=[oK.default,aK.default,lK.default,cK.default,hK.default,uK.default,nK.default,sK.default,tK.default,iK.default,rK.default];return n?e.push(YG.default,QG.default):e.push(XG.default,JG.default),e.push(eK.default),e}H1.default=dK;var ek={},tk={};Object.defineProperty(tk,"__esModule",{value:!0});const Wt=He,fK={message:({schemaCode:n})=>(0,Wt.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,Wt._)`{format: ${n}}`},pK={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:fK,code(n,e){const{gen:t,data:s,$data:i,schema:r,schemaCode:o,it:a}=n,{opts:l,errSchemaPath:c,schemaEnv:h,self:u}=a;if(!l.validateFormats)return;i?d():p();function d(){const m=t.scopeValue("formats",{ref:u.formats,code:l.code.formats}),g=t.const("fDef",(0,Wt._)`${m}[${o}]`),v=t.let("fType"),y=t.let("format");t.if((0,Wt._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>t.assign(v,(0,Wt._)`${g}.type || "string"`).assign(y,(0,Wt._)`${g}.validate`),()=>t.assign(v,(0,Wt._)`"string"`).assign(y,g)),n.fail$data((0,Wt.or)(w(),_()));function w(){return l.strictSchema===!1?Wt.nil:(0,Wt._)`${o} && !${y}`}function _(){const A=h.$async?(0,Wt._)`(${g}.async ? await ${y}(${s}) : ${y}(${s}))`:(0,Wt._)`${y}(${s})`,k=(0,Wt._)`(typeof ${y} == "function" ? ${A} : ${y}.test(${s}))`;return(0,Wt._)`${y} && ${y} !== true && ${v} === ${e} && !${k}`}}function p(){const m=u.formats[r];if(!m){w();return}if(m===!0)return;const[g,v,y]=_(m);g===e&&n.pass(A());function w(){if(l.strictSchema===!1){u.logger.warn(k());return}throw new Error(k());function k(){return`unknown format "${r}" ignored in schema at path "${c}"`}}function _(k){const $=k instanceof RegExp?(0,Wt.regexpCode)(k):l.code.formats?(0,Wt._)`${l.code.formats}${(0,Wt.getProperty)(r)}`:void 0,E=t.scopeValue("formats",{key:r,ref:k,code:$});return typeof k=="object"&&!(k instanceof RegExp)?[k.type||"string",k.validate,(0,Wt._)`${E}.validate`]:["string",k,E]}function A(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!h.$async)throw new Error("async format in sync schema");return(0,Wt._)`await ${y}(${s})`}return typeof v=="function"?(0,Wt._)`${y}(${s})`:(0,Wt._)`${y}.test(${s})`}}}};tk.default=pK;Object.defineProperty(ek,"__esModule",{value:!0});const mK=tk,gK=[mK.default];ek.default=gK;var _u={};Object.defineProperty(_u,"__esModule",{value:!0});_u.contentVocabulary=_u.metadataVocabulary=void 0;_u.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];_u.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];Object.defineProperty(E1,"__esModule",{value:!0});const yK=C1,vK=T1,bK=H1,wK=ek,gx=_u,_K=[yK.default,vK.default,(0,bK.default)(),wK.default,gx.metadataVocabulary,gx.contentVocabulary];E1.default=_K;var nk={},g0={};Object.defineProperty(g0,"__esModule",{value:!0});g0.DiscrError=void 0;var yx;(function(n){n.Tag="tag",n.Mapping="mapping"})(yx||(g0.DiscrError=yx={}));Object.defineProperty(nk,"__esModule",{value:!0});const Bc=He,ub=g0,vx=Ns,SK=Fu,kK=fe,AK={message:({params:{discrError:n,tagName:e}})=>n===ub.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:t}})=>(0,Bc._)`{error: ${n}, tag: ${t}, tagValue: ${e}}`},xK={keyword:"discriminator",type:"object",schemaType:"object",error:AK,code(n){const{gen:e,data:t,schema:s,parentSchema:i,it:r}=n,{oneOf:o}=i;if(!r.opts.discriminator)throw new Error("discriminator: requires discriminator option");const a=s.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(s.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");const l=e.let("valid",!1),c=e.const("tag",(0,Bc._)`${t}${(0,Bc.getProperty)(a)}`);e.if((0,Bc._)`typeof ${c} == "string"`,()=>h(),()=>n.error(!1,{discrError:ub.DiscrError.Tag,tag:c,tagName:a})),n.ok(l);function h(){const p=d();e.if(!1);for(const m in p)e.elseIf((0,Bc._)`${c} === ${m}`),e.assign(l,u(p[m]));e.else(),n.error(!1,{discrError:ub.DiscrError.Mapping,tag:c,tagName:a}),e.endIf()}function u(p){const m=e.name("valid"),g=n.subschema({keyword:"oneOf",schemaProp:p},m);return n.mergeEvaluated(g,Bc.Name),m}function d(){var p;const m={},g=y(i);let v=!0;for(let A=0;Athis.addVocabulary(m)),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const m=this.opts.$data?this.$dataMetaSchema(r,o):r;this.addMetaSchema(m,a,!1),this.refs["http://json-schema.org/schema"]=a}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}e.Ajv=l,n.exports=e=l,n.exports.Ajv=l,Object.defineProperty(e,"__esModule",{value:!0}),e.default=l;var c=Yi;Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return c.KeywordCxt}});var h=He;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return h._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return h.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return h.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return h.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return h.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return h.CodeGen}});var u=qp;Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return u.default}});var d=Fu;Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return d.default}})})(ib,ib.exports);var IK=ib.exports;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.formatLimitDefinition=void 0;const e=IK,t=He,s=t.operators,i={formatMaximum:{okStr:"<=",ok:s.LTE,fail:s.GT},formatMinimum:{okStr:">=",ok:s.GTE,fail:s.LT},formatExclusiveMaximum:{okStr:"<",ok:s.LT,fail:s.GTE},formatExclusiveMinimum:{okStr:">",ok:s.GT,fail:s.LTE}},r={message:({keyword:a,schemaCode:l})=>(0,t.str)`should be ${i[a].okStr} ${l}`,params:({keyword:a,schemaCode:l})=>(0,t._)`{comparison: ${i[a].okStr}, limit: ${l}}`};n.formatLimitDefinition={keyword:Object.keys(i),type:"string",schemaType:"string",$data:!0,error:r,code(a){const{gen:l,data:c,schemaCode:h,keyword:u,it:d}=a,{opts:p,self:m}=d;if(!p.validateFormats)return;const g=new e.KeywordCxt(d,m.RULES.all.format.definition,"format");g.$data?v():y();function v(){const _=l.scopeValue("formats",{ref:m.formats,code:p.code.formats}),A=l.const("fmt",(0,t._)`${_}[${g.schemaCode}]`);a.fail$data((0,t.or)((0,t._)`typeof ${A} != "object"`,(0,t._)`${A} instanceof RegExp`,(0,t._)`typeof ${A}.compare != "function"`,w(A)))}function y(){const _=g.schema,A=m.formats[_];if(!A||A===!0)return;if(typeof A!="object"||A instanceof RegExp||typeof A.compare!="function")throw new Error(`"${u}": format "${_}" does not define "compare" function`);const k=l.scopeValue("formats",{key:_,ref:A,code:p.code.formats?(0,t._)`${p.code.formats}${(0,t.getProperty)(_)}`:void 0});a.fail$data(w(k))}function w(_){return(0,t._)`${_}.compare(${c}, ${h}) ${i[u].fail} 0`}},dependencies:["format"]};const o=a=>(a.addKeyword(n.formatLimitDefinition),a);n.default=o})(KT);(function(n,e){Object.defineProperty(e,"__esModule",{value:!0});const t=GT,s=KT,i=He,r=new i.Name("fullFormats"),o=new i.Name("fastFormats"),a=(c,h={keywords:!0})=>{if(Array.isArray(h))return l(c,h,t.fullFormats,r),c;const[u,d]=h.mode==="fast"?[t.fastFormats,o]:[t.fullFormats,r],p=h.formats||t.formatNames;return l(c,p,u,d),h.keywords&&(0,s.default)(c),c};a.get=(c,h="full")=>{const d=(h==="fast"?t.fastFormats:t.fullFormats)[c];if(!d)throw new Error(`Unknown format "${c}"`);return d};function l(c,h,u,d){var p,m;(p=(m=c.opts.code).formats)!==null&&p!==void 0||(m.formats=(0,i._)`require("ajv-formats/dist/formats").${d}`);for(const g of h)c.addFormat(g,u[g])}n.exports=e=a,Object.defineProperty(e,"__esModule",{value:!0}),e.default=a})(sb,sb.exports);var OK=sb.exports;const NK=L_(OK);function LK(){const n=new _W({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return NK(n),n}class DK{constructor(e){this._ajv=e??LK()}getValidator(e){const t="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return s=>t(s)?{valid:!0,data:s,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(t.errors)}}}class FK{constructor(e){this._client=e}async*callToolStream(e,t=uc,s){const i=this._client,r={...s,task:(s==null?void 0:s.task)??(i.isToolTask(e.name)?{}:void 0)},o=i.requestStream({method:"tools/call",params:e},t,r),a=i.getToolOutputValidator(e.name);for await(const l of o){if(l.type==="result"&&a){const c=l.result;if(!c.structuredContent&&!c.isError){yield{type:"error",error:new xe(Re.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`)};return}if(c.structuredContent)try{const h=a(c.structuredContent);if(!h.valid){yield{type:"error",error:new xe(Re.InvalidParams,`Structured content does not match the tool's output schema: ${h.errorMessage}`)};return}}catch(h){if(h instanceof xe){yield{type:"error",error:h};return}yield{type:"error",error:new xe(Re.InvalidParams,`Failed to validate structured content: ${h instanceof Error?h.message:String(h)}`)};return}}yield l}}async getTask(e,t){return this._client.getTask({taskId:e},t)}async getTaskResult(e,t,s){return this._client.getTaskResult({taskId:e},t,s)}async listTasks(e,t){return this._client.listTasks(e?{cursor:e}:void 0,t)}async cancelTask(e,t){return this._client.cancelTask({taskId:e},t)}requestStream(e,t,s){return this._client.requestStream(e,t,s)}}function jK(n,e,t){var s;if(!n)throw new Error(`${t} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!((s=n.tools)!=null&&s.call))throw new Error(`${t} does not support task creation for tools/call (required for ${e})`);break}}function zK(n,e,t){var s,i;if(!n)throw new Error(`${t} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!((s=n.sampling)!=null&&s.createMessage))throw new Error(`${t} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!((i=n.elicitation)!=null&&i.create))throw new Error(`${t} does not support task creation for elicitation/create (required for ${e})`);break}}function ng(n,e){if(!(!n||e===null||typeof e!="object")){if(n.type==="object"&&n.properties&&typeof n.properties=="object"){const t=e,s=n.properties;for(const i of Object.keys(s)){const r=s[i];t[i]===void 0&&Object.prototype.hasOwnProperty.call(r,"default")&&(t[i]=r.default),t[i]!==void 0&&ng(r,t[i])}}if(Array.isArray(n.anyOf))for(const t of n.anyOf)typeof t!="boolean"&&ng(t,e);if(Array.isArray(n.oneOf))for(const t of n.oneOf)typeof t!="boolean"&&ng(t,e)}}function HK(n){if(!n)return{supportsFormMode:!1,supportsUrlMode:!1};const e=n.form!==void 0,t=n.url!==void 0;return{supportsFormMode:e||!e&&!t,supportsUrlMode:t}}class BK extends H${constructor(e,t){super(t),this._clientInfo=e,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=(t==null?void 0:t.capabilities)??{},this._jsonSchemaValidator=(t==null?void 0:t.jsonSchemaValidator)??new DK,t!=null&&t.listChanged&&(this._pendingListChangedConfig=t.listChanged)}_setupListChangedHandlers(e){var t,s,i,r,o,a;e.tools&&((s=(t=this._serverCapabilities)==null?void 0:t.tools)!=null&&s.listChanged)&&this._setupListChangedHandler("tools",bS,e.tools,async()=>(await this.listTools()).tools),e.prompts&&((r=(i=this._serverCapabilities)==null?void 0:i.prompts)!=null&&r.listChanged)&&this._setupListChangedHandler("prompts",gS,e.prompts,async()=>(await this.listPrompts()).prompts),e.resources&&((a=(o=this._serverCapabilities)==null?void 0:o.resources)!=null&&a.listChanged)&&this._setupListChangedHandler("resources",uS,e.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new FK(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=zH(this._capabilities,e)}setRequestHandler(e,t){const s=j$(e),i=s==null?void 0:s.method;if(!i)throw new Error("Schema is missing a method literal");const r=z$(i);if(typeof r!="string")throw new Error("Schema method literal must be a string");const o=r;if(o==="elicitation/create"){const a=async(l,c)=>{var w,_;const h=jo(L$,l);if(!h.success){const A=h.error instanceof Error?h.error.message:String(h.error);throw new xe(Re.InvalidParams,`Invalid elicitation request: ${A}`)}const{params:u}=h.data;u.mode=u.mode??"form";const{supportsFormMode:d,supportsUrlMode:p}=HK(this._capabilities.elicitation);if(u.mode==="form"&&!d)throw new xe(Re.InvalidParams,"Client does not support form-mode elicitation requests");if(u.mode==="url"&&!p)throw new xe(Re.InvalidParams,"Client does not support URL-mode elicitation requests");const m=await Promise.resolve(t(l,c));if(u.task){const A=jo(Xd,m);if(!A.success){const k=A.error instanceof Error?A.error.message:String(A.error);throw new xe(Re.InvalidParams,`Invalid task creation result: ${k}`)}return A.data}const g=jo(D$,m);if(!g.success){const A=g.error instanceof Error?g.error.message:String(g.error);throw new xe(Re.InvalidParams,`Invalid elicitation result: ${A}`)}const v=g.data,y=u.mode==="form"?u.requestedSchema:void 0;if(u.mode==="form"&&v.action==="accept"&&v.content&&y&&(_=(w=this._capabilities.elicitation)==null?void 0:w.form)!=null&&_.applyDefaults)try{ng(y,v.content)}catch{}return v};return super.setRequestHandler(e,a)}if(o==="sampling/createMessage"){const a=async(l,c)=>{const h=jo(wS,l);if(!h.success){const v=h.error instanceof Error?h.error.message:String(h.error);throw new xe(Re.InvalidParams,`Invalid sampling request: ${v}`)}const{params:u}=h.data,d=await Promise.resolve(t(l,c));if(u.task){const v=jo(Xd,d);if(!v.success){const y=v.error instanceof Error?v.error.message:String(v.error);throw new xe(Re.InvalidParams,`Invalid task creation result: ${y}`)}return v.data}const m=u.tools||u.toolChoice?N$:O$,g=jo(m,d);if(!g.success){const v=g.error instanceof Error?g.error.message:String(g.error);throw new xe(Re.InvalidParams,`Invalid sampling result: ${v}`)}return g.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,t)}assertCapability(e,t){var s;if(!((s=this._serverCapabilities)!=null&&s[e]))throw new Error(`Server does not support ${e} (required for ${t})`)}async connect(e,t){if(await super.connect(e),e.sessionId===void 0)try{const s=await this.request({method:"initialize",params:{protocolVersion:t0,capabilities:this._capabilities,clientInfo:this._clientInfo}},v$,t);if(s===void 0)throw new Error(`Server sent invalid initialize result: ${s}`);if(!mz.includes(s.protocolVersion))throw new Error(`Server's protocol version is not supported: ${s.protocolVersion}`);this._serverCapabilities=s.capabilities,this._serverVersion=s.serverInfo,e.setProtocolVersion&&e.setProtocolVersion(s.protocolVersion),this._instructions=s.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig&&(this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0)}catch(s){throw this.close(),s}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(e){var t,s,i,r,o;switch(e){case"logging/setLevel":if(!((t=this._serverCapabilities)!=null&&t.logging))throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!((s=this._serverCapabilities)!=null&&s.prompts))throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!((i=this._serverCapabilities)!=null&&i.resources))throw new Error(`Server does not support resources (required for ${e})`);if(e==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${e})`);break;case"tools/call":case"tools/list":if(!((r=this._serverCapabilities)!=null&&r.tools))throw new Error(`Server does not support tools (required for ${e})`);break;case"completion/complete":if(!((o=this._serverCapabilities)!=null&&o.completions))throw new Error(`Server does not support completions (required for ${e})`);break}}assertNotificationCapability(e){var t;switch(e){case"notifications/roots/list_changed":if(!((t=this._capabilities.roots)!=null&&t.listChanged))throw new Error(`Client does not support roots list changed notifications (required for ${e})`);break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${e})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${e})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Client does not support tasks capability (required for ${e})`);break}}assertTaskCapability(e){var t,s;jK((s=(t=this._serverCapabilities)==null?void 0:t.tasks)==null?void 0:s.requests,e,"Server")}assertTaskHandlerCapability(e){var t;this._capabilities&&zK((t=this._capabilities.tasks)==null?void 0:t.requests,e,"Client")}async ping(e){return this.request({method:"ping"},eh,e)}async complete(e,t){return this.request({method:"completion/complete",params:e},F$,t)}async setLoggingLevel(e,t){return this.request({method:"logging/setLevel",params:{level:e}},eh,t)}async getPrompt(e,t){return this.request({method:"prompts/get",params:e},P$,t)}async listPrompts(e,t){return this.request({method:"prompts/list",params:e},dS,t)}async listResources(e,t){return this.request({method:"resources/list",params:e},aS,t)}async listResourceTemplates(e,t){return this.request({method:"resources/templates/list",params:e},lS,t)}async readResource(e,t){return this.request({method:"resources/read",params:e},hS,t)}async subscribeResource(e,t){return this.request({method:"resources/subscribe",params:e},eh,t)}async unsubscribeResource(e,t){return this.request({method:"resources/unsubscribe",params:e},eh,t)}async callTool(e,t=uc,s){if(this.isToolTaskRequired(e.name))throw new xe(Re.InvalidRequest,`Tool "${e.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);const i=await this.request({method:"tools/call",params:e},t,s),r=this.getToolOutputValidator(e.name);if(r){if(!i.structuredContent&&!i.isError)throw new xe(Re.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`);if(i.structuredContent)try{const o=r(i.structuredContent);if(!o.valid)throw new xe(Re.InvalidParams,`Structured content does not match the tool's output schema: ${o.errorMessage}`)}catch(o){throw o instanceof xe?o:new xe(Re.InvalidParams,`Failed to validate structured content: ${o instanceof Error?o.message:String(o)}`)}}return i}isToolTask(e){var t,s,i,r;return(r=(i=(s=(t=this._serverCapabilities)==null?void 0:t.tasks)==null?void 0:s.requests)==null?void 0:i.tools)!=null&&r.call?this._cachedKnownTaskTools.has(e):!1}isToolTaskRequired(e){return this._cachedRequiredTaskTools.has(e)}cacheToolMetadata(e){var t;this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(const s of e){if(s.outputSchema){const r=this._jsonSchemaValidator.getValidator(s.outputSchema);this._cachedToolOutputValidators.set(s.name,r)}const i=(t=s.execution)==null?void 0:t.taskSupport;(i==="required"||i==="optional")&&this._cachedKnownTaskTools.add(s.name),i==="required"&&this._cachedRequiredTaskTools.add(s.name)}}getToolOutputValidator(e){return this._cachedToolOutputValidators.get(e)}async listTools(e,t){const s=await this.request({method:"tools/list",params:e},vS,t);return this.cacheToolMetadata(s.tools),s}_setupListChangedHandler(e,t,s,i){const r=nH.safeParse(s);if(!r.success)throw new Error(`Invalid ${e} listChanged options: ${r.error.message}`);if(typeof s.onChanged!="function")throw new Error(`Invalid ${e} listChanged options: onChanged must be a function`);const{autoRefresh:o,debounceMs:a}=r.data,{onChanged:l}=s,c=async()=>{if(!o){l(null,null);return}try{const u=await i();l(null,u)}catch(u){const d=u instanceof Error?u:new Error(String(u));l(d,null)}},h=()=>{if(a){const u=this._listChangedDebounceTimers.get(e);u&&clearTimeout(u);const d=setTimeout(c,a);this._listChangedDebounceTimers.set(e,d)}else c()};this.setNotificationHandler(t,h)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}}var sk={};/*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */var bx=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,UK=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,LP=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,qK=/\\([\u000b\u0020-\u00ff])/g,VK=/([\\"])/g,DP=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;sk.format=WK;sk.parse=GK;function WK(n){if(!n||typeof n!="object")throw new TypeError("argument obj is required");var e=n.parameters,t=n.type;if(!t||!DP.test(t))throw new TypeError("invalid type");var s=t;if(e&&typeof e=="object")for(var i,r=Object.keys(e).sort(),o=0;o0&&!UK.test(e))throw new TypeError("invalid parameter value");return'"'+e.replace(VK,"\\$1")+'"'}function XK(n){this.parameters=Object.create(null),this.type=n}function YK(n){if(n)try{return sk.parse(n).type}catch{const e=(n.split(";",1)[0]??"").trim().toLowerCase();return e===""||n.slice(e.length).includes(",")?void 0:e}}function db(n){return n?n instanceof Headers?Object.fromEntries(n.entries()):Array.isArray(n)?Object.fromEntries(n):{...n}:{}}function JK(n=fetch,e){return e?async(t,s)=>{const i={...e,...s,headers:s!=null&&s.headers?{...db(e.headers),...db(s.headers)}:e.headers};return n(t,i)}:n}let ik;ik=globalThis.crypto;async function QK(n){return(await ik).getRandomValues(new Uint8Array(n))}async function e9(n){const e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~",t=Math.pow(2,8)-Math.pow(2,8)%e.length;let s="";for(;s.length128)throw`Expected a length between 43 and 128. Received ${n}.`;const e=await t9(n),t=await n9(e);return{code_verifier:e,code_challenge:t}}const Bn=Sj().superRefine((n,e)=>{if(!URL.canParse(n))return e.addIssue({code:fz.custom,message:"URL must be parseable",fatal:!0}),hD}).refine(n=>{const e=new URL(n);return e.protocol!=="javascript:"&&e.protocol!=="data:"&&e.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),i9=Wn({resource:j().url(),authorization_servers:ie(Bn).optional(),jwks_uri:j().url().optional(),scopes_supported:ie(j()).optional(),bearer_methods_supported:ie(j()).optional(),resource_signing_alg_values_supported:ie(j()).optional(),resource_name:j().optional(),resource_documentation:j().optional(),resource_policy_uri:j().url().optional(),resource_tos_uri:j().url().optional(),tls_client_certificate_bound_access_tokens:Je().optional(),authorization_details_types_supported:ie(j()).optional(),dpop_signing_alg_values_supported:ie(j()).optional(),dpop_bound_access_tokens_required:Je().optional()}),FP=Wn({issuer:j(),authorization_endpoint:Bn,token_endpoint:Bn,registration_endpoint:Bn.optional(),scopes_supported:ie(j()).optional(),response_types_supported:ie(j()),response_modes_supported:ie(j()).optional(),grant_types_supported:ie(j()).optional(),token_endpoint_auth_methods_supported:ie(j()).optional(),token_endpoint_auth_signing_alg_values_supported:ie(j()).optional(),service_documentation:Bn.optional(),revocation_endpoint:Bn.optional(),revocation_endpoint_auth_methods_supported:ie(j()).optional(),revocation_endpoint_auth_signing_alg_values_supported:ie(j()).optional(),introspection_endpoint:j().optional(),introspection_endpoint_auth_methods_supported:ie(j()).optional(),introspection_endpoint_auth_signing_alg_values_supported:ie(j()).optional(),code_challenge_methods_supported:ie(j()).optional(),client_id_metadata_document_supported:Je().optional()}),r9=Wn({issuer:j(),authorization_endpoint:Bn,token_endpoint:Bn,userinfo_endpoint:Bn.optional(),jwks_uri:Bn,registration_endpoint:Bn.optional(),scopes_supported:ie(j()).optional(),response_types_supported:ie(j()),response_modes_supported:ie(j()).optional(),grant_types_supported:ie(j()).optional(),acr_values_supported:ie(j()).optional(),subject_types_supported:ie(j()),id_token_signing_alg_values_supported:ie(j()),id_token_encryption_alg_values_supported:ie(j()).optional(),id_token_encryption_enc_values_supported:ie(j()).optional(),userinfo_signing_alg_values_supported:ie(j()).optional(),userinfo_encryption_alg_values_supported:ie(j()).optional(),userinfo_encryption_enc_values_supported:ie(j()).optional(),request_object_signing_alg_values_supported:ie(j()).optional(),request_object_encryption_alg_values_supported:ie(j()).optional(),request_object_encryption_enc_values_supported:ie(j()).optional(),token_endpoint_auth_methods_supported:ie(j()).optional(),token_endpoint_auth_signing_alg_values_supported:ie(j()).optional(),display_values_supported:ie(j()).optional(),claim_types_supported:ie(j()).optional(),claims_supported:ie(j()).optional(),service_documentation:j().optional(),claims_locales_supported:ie(j()).optional(),ui_locales_supported:ie(j()).optional(),claims_parameter_supported:Je().optional(),request_parameter_supported:Je().optional(),request_uri_parameter_supported:Je().optional(),require_request_uri_registration:Je().optional(),op_policy_uri:Bn.optional(),op_tos_uri:Bn.optional(),client_id_metadata_document_supported:Je().optional()}),o9=G({...r9.shape,...FP.pick({code_challenge_methods_supported:!0}).shape}),a9=G({access_token:j(),id_token:j().optional(),token_type:j(),expires_in:pz().optional(),scope:j().optional(),refresh_token:j().optional()}).strip(),l9=G({error:j(),error_description:j().optional(),error_uri:j().optional()}),wx=Bn.optional().or(V("").transform(()=>{})),c9=G({redirect_uris:ie(Bn),token_endpoint_auth_method:j().optional(),grant_types:ie(j()).optional(),response_types:ie(j()).optional(),client_name:j().optional(),client_uri:Bn.optional(),logo_uri:wx,scope:j().optional(),contacts:ie(j()).optional(),tos_uri:wx,policy_uri:j().optional(),jwks_uri:Bn.optional(),jwks:G_().optional(),software_id:j().optional(),software_version:j().optional(),software_statement:j().optional()}).strip(),h9=G({client_id:j(),client_secret:j().optional(),client_id_issued_at:Fe().optional(),client_secret_expires_at:Fe().optional()}).strip(),u9=c9.merge(h9);G({error:j(),error_description:j().optional()}).strip();G({token:j(),token_type_hint:j().optional()}).strip();function d9(n){const e=typeof n=="string"?new URL(n):new URL(n.href);return e.hash="",e}function f9({requestedResource:n,configuredResource:e}){const t=typeof n=="string"?new URL(n):new URL(n.href),s=typeof e=="string"?new URL(e):new URL(e.href);if(t.origin!==s.origin||t.pathname.length=400&&n.status<500&&e!=="/"}async function x9(n,e,t,s){const i=new URL(n),r=(s==null?void 0:s.protocolVersion)??t0;let o;if(s!=null&&s.metadataUrl)o=new URL(s.metadataUrl);else{const l=k9(e,i.pathname);o=new URL(l,(s==null?void 0:s.metadataServerUrl)??i),o.search=i.search}let a=await Sx(o,r,t);if(!(s!=null&&s.metadataUrl)&&A9(a,i.pathname)){const l=new URL(`/.well-known/${e}`,i);a=await Sx(l,r,t)}return a}function E9(n){const e=typeof n=="string"?new URL(n):n,t=e.pathname!=="/",s=[];if(!t)return s.push({url:new URL("/.well-known/oauth-authorization-server",e.origin),type:"oauth"}),s.push({url:new URL("/.well-known/openid-configuration",e.origin),type:"oidc"}),s;let i=e.pathname;return i.endsWith("/")&&(i=i.slice(0,-1)),s.push({url:new URL(`/.well-known/oauth-authorization-server${i}`,e.origin),type:"oauth"}),s.push({url:new URL(`/.well-known/openid-configuration${i}`,e.origin),type:"oidc"}),s.push({url:new URL(`${i}/.well-known/openid-configuration`,e.origin),type:"oidc"}),s}async function HP(n,{fetchFn:e=fetch,protocolVersion:t=t0}={}){var r;const s={"MCP-Protocol-Version":t,Accept:"application/json"},i=E9(n);for(const{url:o,type:a}of i){const l=await rk(o,s,e);if(l){if(!l.ok){if(await((r=l.body)==null?void 0:r.cancel()),l.status>=400&&l.status<500)continue;throw new Error(`HTTP ${l.status} trying to load ${a==="oauth"?"OAuth":"OpenID provider"} metadata from ${o}`)}return a==="oauth"?FP.parse(await l.json()):o9.parse(await l.json())}}}async function C9(n,e){let t,s;try{t=await zP(n,{resourceMetadataUrl:e==null?void 0:e.resourceMetadataUrl},e==null?void 0:e.fetchFn),t.authorization_servers&&t.authorization_servers.length>0&&(s=t.authorization_servers[0])}catch{}s||(s=String(new URL("/",n)));const i=await HP(s,{fetchFn:e==null?void 0:e.fetchFn});return{authorizationServerUrl:s,authorizationServerMetadata:i,resourceMetadata:t}}async function $9(n,{metadata:e,clientInformation:t,redirectUrl:s,scope:i,state:r,resource:o}){let a;if(e){if(a=new URL(e.authorization_endpoint),!e.response_types_supported.includes(sv))throw new Error(`Incompatible auth server: does not support response type ${sv}`);if(e.code_challenge_methods_supported&&!e.code_challenge_methods_supported.includes(iv))throw new Error(`Incompatible auth server: does not support code challenge method ${iv}`)}else a=new URL("/authorize",n);const l=await s9(),c=l.code_verifier,h=l.code_challenge;return a.searchParams.set("response_type",sv),a.searchParams.set("client_id",t.client_id),a.searchParams.set("code_challenge",h),a.searchParams.set("code_challenge_method",iv),a.searchParams.set("redirect_uri",String(s)),r&&a.searchParams.set("state",r),i&&a.searchParams.set("scope",i),i!=null&&i.includes("offline_access")&&a.searchParams.append("prompt","consent"),o&&a.searchParams.set("resource",o.href),{authorizationUrl:a,codeVerifier:c}}function T9(n,e,t){return new URLSearchParams({grant_type:"authorization_code",code:n,code_verifier:e,redirect_uri:String(t)})}async function BP(n,{metadata:e,tokenRequestParams:t,clientInformation:s,addClientAuthentication:i,resource:r,fetchFn:o}){const a=e!=null&&e.token_endpoint?new URL(e.token_endpoint):new URL("/token",n),l=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(r&&t.set("resource",r.href),i)await i(l,t,a,e);else if(s){const h=(e==null?void 0:e.token_endpoint_auth_methods_supported)??[],u=g9(s,h);y9(u,s,l,t)}const c=await(o??fetch)(a,{method:"POST",headers:l,body:t});if(!c.ok)throw await jP(c);return a9.parse(await c.json())}async function P9(n,{metadata:e,clientInformation:t,refreshToken:s,resource:i,addClientAuthentication:r,fetchFn:o}){const a=new URLSearchParams({grant_type:"refresh_token",refresh_token:s}),l=await BP(n,{metadata:e,tokenRequestParams:a,clientInformation:t,addClientAuthentication:r,resource:i,fetchFn:o});return{refresh_token:s,...l}}async function R9(n,e,{metadata:t,resource:s,authorizationCode:i,fetchFn:r}={}){const o=n.clientMetadata.scope;let a;if(n.prepareTokenRequest&&(a=await n.prepareTokenRequest(o)),!a){if(!i)throw new Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!n.redirectUrl)throw new Error("redirectUrl is required for authorization_code flow");const c=await n.codeVerifier();a=T9(i,c,n.redirectUrl)}const l=await n.clientInformation();return BP(e,{metadata:t,tokenRequestParams:a,clientInformation:l??void 0,addClientAuthentication:n.addClientAuthentication,resource:s,fetchFn:r})}async function M9(n,{metadata:e,clientMetadata:t,scope:s,fetchFn:i}){let r;if(e){if(!e.registration_endpoint)throw new Error("Incompatible auth server: does not support dynamic client registration");r=new URL(e.registration_endpoint)}else r=new URL("/register",n);const o=await(i??fetch)(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...t,...s!==void 0?{scope:s}:{}})});if(!o.ok)throw await jP(o);return u9.parse(await o.json())}class av extends Error{constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}}const kx=10,I9=13,Wa=32;function lv(n){}function O9(n){if(typeof n=="function")throw new TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");const{onEvent:e=lv,onError:t=lv,onRetry:s=lv,onComment:i,maxBufferSize:r}=n,o=[];let a=0,l=!0,c,h="",u=0,d,p=!1;function m(k){if(p)throw new Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(l&&(l=!1,k.charCodeAt(0)===239&&k.charCodeAt(1)===187&&k.charCodeAt(2)===191&&(k=k.slice(3))),o.length===0){const O=v(k);O!==""&&(o.push(O),a=O.length),g();return}if(k.indexOf(` +`)===-1&&k.indexOf("\r")===-1){o.push(k),a+=k.length,g();return}o.push(k);const $=o.join("");o.length=0,a=0;const E=v($);E!==""&&(o.push(E),a=E.length),g()}function g(){r!==void 0&&(a+h.length<=r||(p=!0,o.length=0,a=0,c=void 0,h="",u=0,d=void 0,t(new av(`Buffered data exceeded max buffer size of ${r} characters`,{type:"max-buffer-size-exceeded"}))))}function v(k){let $=0;if(k.indexOf("\r")===-1){let E=k.indexOf(` +`,$);for(;E!==-1;){if($===E){u>0&&e({id:c,event:d,data:h}),c=void 0,h="",u=0,d=void 0,$=E+1,E=k.indexOf(` +`,$);continue}const O=k.charCodeAt($);if(Ax(k,$,O)){const F=k.charCodeAt($+5)===Wa?$+6:$+5,U=k.slice(F,E);if(u===0&&k.charCodeAt(E+1)===kx){e({id:c,event:d,data:U}),c=void 0,h="",d=void 0,$=E+2,E=k.indexOf(` +`,$);continue}h=u===0?U:`${h} +${U}`,u++}else xx(k,$,O)?d=k.slice(k.charCodeAt($+6)===Wa?$+7:$+6,E)||void 0:y(k,$,E);$=E+1,E=k.indexOf(` +`,$)}return k.slice($)}for(;$20?`${k.slice(0,20)}…`:k}"`,{type:"unknown-field",field:k,value:$,line:E}));break}}function _(){u>0&&e({id:c,event:d,data:h}),c=void 0,h="",u=0,d=void 0}function A(k={}){if(k.consume&&o.length>0){const $=o.join("");y($,0,$.length)}l=!0,c=void 0,h="",u=0,d=void 0,o.length=0,a=0,p=!1}return{feed:m,reset:A}}function Ax(n,e,t){return t===100&&n.charCodeAt(e+1)===97&&n.charCodeAt(e+2)===116&&n.charCodeAt(e+3)===97&&n.charCodeAt(e+4)===58}function xx(n,e,t){return t===101&&n.charCodeAt(e+1)===118&&n.charCodeAt(e+2)===101&&n.charCodeAt(e+3)===110&&n.charCodeAt(e+4)===116&&n.charCodeAt(e+5)===58}class N9 extends TransformStream{constructor({onError:e,onRetry:t,onComment:s,maxBufferSize:i}={}){let r;super({start(o){r=O9({onEvent:a=>{o.enqueue(a)},onError(a){typeof e=="function"&&e(a),(e==="terminate"||a.type==="max-buffer-size-exceeded")&&o.error(a)},onRetry:t,onComment:s,maxBufferSize:i})},transform(o){r.feed(o)}})}}const L9={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2};class zc extends Error{constructor(e,t){super(`Streamable HTTP error: ${t}`),this.code=e}}class D9{constructor(e,t){this._hasCompletedAuthFlow=!1,this._url=e,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=t==null?void 0:t.requestInit,this._authProvider=t==null?void 0:t.authProvider,this._fetch=t==null?void 0:t.fetch,this._fetchWithInit=JK(t==null?void 0:t.fetch,t==null?void 0:t.requestInit),this._sessionId=t==null?void 0:t.sessionId,this._reconnectionOptions=(t==null?void 0:t.reconnectionOptions)??L9}async _authThenStart(){var t;if(!this._authProvider)throw new jc("No auth provider");let e;try{e=await bm(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(s){throw(t=this.onerror)==null||t.call(this,s),s}if(e!=="AUTHORIZED")throw new jc;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){var s;const e={};if(this._authProvider){const i=await this._authProvider.tokens();i&&(e.Authorization=`Bearer ${i.access_token}`)}this._sessionId&&(e["mcp-session-id"]=this._sessionId),this._protocolVersion&&(e["mcp-protocol-version"]=this._protocolVersion);const t=db((s=this._requestInit)==null?void 0:s.headers);return new Headers({...e,...t})}async _startOrAuthSse(e){var s,i,r;const{resumptionToken:t}=e;try{const o=await this._commonHeaders();o.set("Accept","text/event-stream"),t&&o.set("last-event-id",t);const a=await(this._fetch??fetch)(this._url,{method:"GET",headers:o,signal:(s=this._abortController)==null?void 0:s.signal});if(!a.ok){if(await((i=a.body)==null?void 0:i.cancel()),a.status===401&&this._authProvider)return await this._authThenStart();if(a.status===405)return;throw new zc(a.status,`Failed to open SSE stream: ${a.statusText}`)}this._handleSseStream(a.body,e,!0)}catch(o){throw(r=this.onerror)==null||r.call(this,o),o}}_getNextReconnectionDelay(e){if(this._serverRetryMs!==void 0)return this._serverRetryMs;const t=this._reconnectionOptions.initialReconnectionDelay,s=this._reconnectionOptions.reconnectionDelayGrowFactor,i=this._reconnectionOptions.maxReconnectionDelay;return Math.min(t*Math.pow(s,e),i)}_scheduleReconnection(e,t=0){var r;const s=this._reconnectionOptions.maxRetries;if(t>=s){(r=this.onerror)==null||r.call(this,new Error(`Maximum reconnection attempts (${s}) exceeded.`));return}const i=this._getNextReconnectionDelay(t);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(e).catch(o=>{var a;(a=this.onerror)==null||a.call(this,new Error(`Failed to reconnect SSE stream: ${o instanceof Error?o.message:String(o)}`)),this._scheduleReconnection(e,t+1)})},i)}_handleSseStream(e,t,s){if(!e)return;const{onresumptiontoken:i,replayMessageId:r}=t;let o,a=!1,l=!1;(async()=>{var h,u,d,p;try{const m=e.pipeThrough(new TextDecoderStream).pipeThrough(new N9({onRetry:y=>{this._serverRetryMs=y}})).getReader();for(;;){const{value:y,done:w}=await m.read();if(w)break;if(y.id&&(o=y.id,a=!0,i==null||i(y.id)),!!y.data&&(!y.event||y.event==="message"))try{const _=Wm.parse(JSON.parse(y.data));rd(_)&&(l=!0,r!==void 0&&(_.id=r)),(h=this.onmessage)==null||h.call(this,_)}catch(_){(u=this.onerror)==null||u.call(this,_)}}(s||a)&&!l&&this._abortController&&!this._abortController.signal.aborted&&this._scheduleReconnection({resumptionToken:o,onresumptiontoken:i,replayMessageId:r},0)}catch(m){if((d=this.onerror)==null||d.call(this,new Error(`SSE stream disconnected: ${m}`)),(s||a)&&!l&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:o,onresumptiontoken:i,replayMessageId:r},0)}catch(y){(p=this.onerror)==null||p.call(this,new Error(`Failed to reconnect: ${y instanceof Error?y.message:String(y)}`))}}})()}async start(){if(this._abortController)throw new Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(e){if(!this._authProvider)throw new jc("No auth provider");if(await bm(this._authProvider,{serverUrl:this._url,authorizationCode:e,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new jc("Failed to authorize")}async close(){var e,t;this._reconnectionTimeout&&(clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0),(e=this._abortController)==null||e.abort(),(t=this.onclose)==null||t.call(this)}async send(e,t){var s,i,r,o,a,l;try{const{resumptionToken:c,onresumptiontoken:h}=t||{};if(c){this._startOrAuthSse({resumptionToken:c,replayMessageId:Wv(e)?e.id:void 0}).catch(_=>{var A;return(A=this.onerror)==null?void 0:A.call(this,_)});return}const u=await this._commonHeaders();u.set("content-type","application/json"),u.set("accept","application/json, text/event-stream");const d={...this._requestInit,method:"POST",headers:u,body:JSON.stringify(e),signal:(s=this._abortController)==null?void 0:s.signal},p=await(this._fetch??fetch)(this._url,d),m=p.headers.get("mcp-session-id");if(m&&(this._sessionId=m),!p.ok){const _=await p.text().catch(()=>null);if(p.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new zc(401,"Server returned 401 after successful authentication");const{resourceMetadataUrl:A,scope:k}=_x(p);if(this._resourceMetadataUrl=A,this._scope=k,await bm(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new jc;return this._hasCompletedAuthFlow=!0,this.send(e)}if(p.status===403&&this._authProvider){const{resourceMetadataUrl:A,scope:k,error:$}=_x(p);if($==="insufficient_scope"){const E=p.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===E)throw new zc(403,"Server returned 403 after trying upscoping");if(k&&(this._scope=k),A&&(this._resourceMetadataUrl=A),this._lastUpscopingHeader=E??void 0,await bm(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new jc;return this.send(e)}}throw new zc(p.status,`Error POSTing to endpoint: ${_}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,p.status===202){await((i=p.body)==null?void 0:i.cancel()),Rz(e)&&this._startOrAuthSse({resumptionToken:void 0}).catch(_=>{var A;return(A=this.onerror)==null?void 0:A.call(this,_)});return}const v=(Array.isArray(e)?e:[e]).filter(_=>"method"in _&&"id"in _&&_.id!==void 0).length>0,y=p.headers.get("content-type"),w=YK(y);if(v)if(w==="text/event-stream")this._handleSseStream(p.body,{onresumptiontoken:h},!1);else if(w==="application/json"){const _=await p.json(),A=Array.isArray(_)?_.map(k=>Wm.parse(k)):[Wm.parse(_)];for(const k of A)(r=this.onmessage)==null||r.call(this,k)}else throw await((o=p.body)==null?void 0:o.cancel()),new zc(-1,`Unexpected content type: ${y}`);else await((a=p.body)==null?void 0:a.cancel())}catch(c){throw(l=this.onerror)==null||l.call(this,c),c}}get sessionId(){return this._sessionId}async terminateSession(){var e,t,s;if(this._sessionId)try{const i=await this._commonHeaders(),r={...this._requestInit,method:"DELETE",headers:i,signal:(e=this._abortController)==null?void 0:e.signal},o=await(this._fetch??fetch)(this._url,r);if(await((t=o.body)==null?void 0:t.cancel()),!o.ok&&o.status!==405)throw new zc(o.status,`Failed to terminate session: ${o.statusText}`);this._sessionId=void 0}catch(i){throw(s=this.onerror)==null||s.call(this,i),i}}setProtocolVersion(e){this._protocolVersion=e}get protocolVersion(){return this._protocolVersion}async resumeStream(e,t){await this._startOrAuthSse({resumptionToken:e,onresumptiontoken:t==null?void 0:t.onresumptiontoken})}}const F9="https://mcp.excalidraw.com/mcp",j9="mcp.excalidraw.com",z9="/api/v1/chat/mcp-apps/excalidraw",UP="ui://excalidraw/mcp-app.html",H9=["read_me","create_view"],qP=new Set(["export_to_excalidraw","save_checkpoint","read_checkpoint"]),B9=256*1024,U9=1024*1024,q9=1024*1024,V9=240,W9=720,G9=525;function K9(n){return!Number.isFinite(n)||n<=0?G9:Math.max(V9,Math.min(W9,Math.round(n*3/4)))}const Z9={excalidraw:{id:"excalidraw",endpoint:F9,hostname:j9,resourceUri:UP,modelTools:H9,appTools:qP}};function X9(n){return Z9[n]}function Y9(){return new URL(rn(z9),window.location.origin)}class J9{constructor(){re(this,"client",new BK({name:"pwc-chat-mcp-app-host",version:"1"}));re(this,"transport",new D9(Y9(),{requestInit:{credentials:"include"}}));re(this,"connected");re(this,"bytes",0);re(this,"closed",!1)}connect(){return this.closed?Promise.reject(new Error("App host client is closed")):(this.connected||(this.connected=this.client.connect(this.transport).then(()=>{},e=>{throw this.connected=void 0,this.retire(),e})),this.connected)}async readResource(e){if(e!==UP)throw new Error("Unapproved App resource");await this.connect();const s=(await this.client.readResource({uri:e})).contents[0];if(!s||!("text"in s)||typeof s.text!="string"||s.mimeType!=="text/html;profile=mcp-app")throw new Error("Incompatible App resource");this.consume(s.text,q9);const i=await n8(s.text);return{text:s.text,digest:i}}async callTool(e,t){if(!qP.has(e))throw new Error("Unapproved App tool");const s=JSON.stringify(t);this.consume(s);try{await this.connect();const i=await this.client.callTool({name:e,arguments:t});return this.consume(JSON.stringify(i)),i}catch(i){throw this.retire(),i}}close(){this.closed=!0,this.connected=void 0,this.transport.close()}retire(){this.close(),_a===this&&(_a=void 0)}consume(e,t=B9){const s=new TextEncoder().encode(e).byteLength;if(s>t||this.bytes+s>U9)throw new Error("App request exceeds host limit");this.bytes+=s}}let _a;function Q9(){return _a??(_a=new J9),_a}function e8(){_a==null||_a.close(),_a=void 0}function t8(n){e8()}async function n8(n){const e=new TextEncoder().encode(n),t=await crypto.subtle.digest("SHA-256",e);return[...new Uint8Array(t)].map(s=>s.toString(16).padStart(2,"0")).join("")}function s8(n,e){let t=!1,s=0;const i=()=>{t||!n.contentWindow||(t=!0,e())};n.addEventListener("load",i);const r=window.requestAnimationFrame(()=>{s=window.requestAnimationFrame(i)});return()=>{t=!0,n.removeEventListener("load",i),window.cancelAnimationFrame(r),window.cancelAnimationFrame(s)}}const i8=({block:n})=>{const e=ee.useRef(null),t=ee.useRef(null),s=ee.useRef(!1),i=ee.useRef(n),r=ee.useRef(!1);i.current=n;const[o,a]=ee.useState(),[l,c]=ee.useState("loading"),[h,u]=ee.useState(n.height),[d,p]=ee.useState(!1),[m,g]=ee.useState(0),v=ee.useRef(null),y=n.input.elements,w=!!n.permissions.clipboardWrite;r.current=d;const _=ee.useCallback(()=>{p(!1),document.fullscreenElement&&document.exitFullscreen()},[]),A=ee.useCallback(()=>{var E,O;if(d){_();return}p(!0),(O=(E=v.current)==null?void 0:E.requestFullscreen)==null||O.call(E).catch(()=>{})},[_,d]),k=ee.useCallback(()=>{t8(),a(void 0),c("loading"),g(E=>E+1)},[]);ee.useEffect(()=>{const E=v.current;if(!E)return;const O=()=>{r.current||u(K9(E.clientWidth))};O();const F=new ResizeObserver(O);return F.observe(E),()=>F.disconnect()},[]),ee.useEffect(()=>{if(!d)return;const E=v.current,O=U=>{U.key==="Escape"&&(document.fullscreenElement||_())},F=()=>{document.fullscreenElement||p(!1)};return window.addEventListener("keydown",O),document.addEventListener("fullscreenchange",F),()=>{window.removeEventListener("keydown",O),document.removeEventListener("fullscreenchange",F),document.fullscreenElement===E&&document.exitFullscreen()}},[_,d]),ee.useEffect(()=>{X9(n.provider);{c("unavailable");return}},[m,n.provider,n.resource_uri]),ee.useEffect(()=>{if(!o||l!=="ready")return;const E=e.current;if(!E)return;let O=null;const F=[],U=s8(E,()=>{E.contentWindow&&(O=new cB(null,{name:"Papers with Code",version:"1"},{serverTools:{},openLinks:{},logging:{},...w?{clipboard:{write:{}}}:{}},{hostContext:{theme:document.documentElement.dataset.theme==="dark"?"dark":"light",displayMode:d?"fullscreen":"inline"}}),O.oncalltool=async({name:L,arguments:H})=>{if(i.current.public_fork&&L!=="export_to_excalidraw")throw new Error("Shared diagrams cannot mutate owner state");return Q9().callTool(L,H??{})},O.onopenlink=async({url:L})=>{const H=new URL(L);if(H.protocol!=="https:"||H.hostname!=="excalidraw.com")throw new Error("External navigation denied");if(!window.confirm("This export opens Excalidraw and uploads the diagram to its service. Continue?"))throw new Error("Export cancelled");return window.open(H.href,"_blank","noopener,noreferrer"),{}},O.onsizechange=()=>{},O.oninitialized=()=>{const L=O;if(!L){c("error");return}s.current=!0;try{const H=JSON.parse(y),B={arguments:{elements:Array.isArray(H)?vB(H):H}};for(const D of[0,50,200,750])F.push(window.setTimeout(()=>{t.current===L&&L.sendToolInput(B)},D));L.sendToolResult(i.current.result)}catch{c("error")}},t.current=O,O.connect(new aB(E.contentWindow??void 0,E.contentWindow)).catch(()=>c("error")))});return()=>{U(),F.forEach(L=>window.clearTimeout(L)),s.current=!1,O==null||O.teardownResource({}).catch(()=>{}),t.current===O&&(t.current=null)}},[o,l,d,y,w,m]),ee.useEffect(()=>{var E;l!=="ready"||!s.current||(E=t.current)==null||E.sendToolResult(n.result).catch(()=>{})},[n.result,l]);const $=l==="unavailable"||l==="incompatible"||l==="error";return S.jsxs("section",{ref:v,className:`chat-mcp-app${d?" chat-mcp-app-fullscreen":""}`,"aria-label":"Interactive Excalidraw diagram",children:[S.jsx("header",{children:S.jsx("button",{type:"button",onClick:A,children:d?"Exit fullscreen":"Fullscreen"})}),l==="loading"&&S.jsx("div",{className:"chat-mcp-loading",role:"status",children:"Loading interactive diagram…"}),$&&S.jsxs("div",{className:"chat-mcp-error",children:["Interactive diagram unavailable. The cited text answer is still available.",S.jsx("button",{type:"button",onClick:k,children:"Retry diagram"})]}),o&&l==="ready"&&S.jsx("iframe",{ref:e,title:"Interactive Excalidraw diagram",sandbox:"allow-scripts",allow:w?"clipboard-write":void 0,srcDoc:o,style:{height:h}},m)]})};var jd={};jd.d=(n,e)=>{for(var t in e)jd.o(e,t)&&!jd.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:e[t]})};jd.o=(n,e)=>Object.prototype.hasOwnProperty.call(n,e);var Me=globalThis.pdfjsLib={};jd.d(Me,{AbortException:()=>Rc,AnnotationEditorLayer:()=>Lw,AnnotationEditorParamsType:()=>Pe,AnnotationEditorType:()=>De,AnnotationEditorUIManager:()=>vc,AnnotationLayer:()=>nZ,AnnotationMode:()=>Bo,ColorPicker:()=>cy,DOMSVGFactory:()=>yk,DrawLayer:()=>zw,FeatureTest:()=>_s,GlobalWorkerOptions:()=>vo,ImageKind:()=>sg,InvalidPDFException:()=>WP,MissingPDFException:()=>Pc,OPS:()=>Ri,OutputScale:()=>Tb,PDFDataRangeTransport:()=>BR,PDFDateString:()=>hk,PDFWorker:()=>uh,PasswordResponses:()=>l8,PermissionFlag:()=>a8,PixelsPerInch:()=>Ta,RenderingCancelledException:()=>lk,TextLayer:()=>sw,UnexpectedResponseException:()=>w0,Util:()=>_e,VerbosityLevel:()=>y0,XfaLayer:()=>qR,build:()=>L6,createValidAbsoluteUrl:()=>d8,fetchData:()=>S0,getDocument:()=>C6,getFilenameFromUrl:()=>_8,getPdfFilenameFromUrl:()=>S8,getXfaPageViewport:()=>k8,isDataScheme:()=>k0,isPdfFile:()=>ck,noContextMenu:()=>wi,normalizeUnicode:()=>v8,setLayerDimensions:()=>yc,shadow:()=>Ze,version:()=>N6});const cs=typeof process=="object"&&process+""=="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&process.type!=="browser"),VP=[1,0,0,1,0,0],xb=[.001,0,0,.001,0,0],r8=1e7,cv=1.35,Ys={ANY:1,DISPLAY:2,PRINT:4,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,IS_EDITING:128,OPLIST:256},Bo={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},o8="pdfjs_internal_editor_",De={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15},Pe={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23,HIGHLIGHT_COLOR:31,HIGHLIGHT_DEFAULT_COLOR:32,HIGHLIGHT_THICKNESS:33,HIGHLIGHT_FREE:34,HIGHLIGHT_SHOW_ALL:35},a8={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},ts={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},sg={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},hn={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,WIDGET:20},Xu={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},y0={ERRORS:0,WARNINGS:1,INFOS:5},Ri={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91,setStrokeTransparent:92,setFillTransparent:93},l8={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let v0=y0.WARNINGS;function c8(n){Number.isInteger(n)&&(v0=n)}function h8(){return v0}function b0(n){v0>=y0.INFOS&&console.log(`Info: ${n}`)}function Be(n){v0>=y0.WARNINGS&&console.log(`Warning: ${n}`)}function $t(n){throw new Error(n)}function yn(n,e){n||$t(e)}function u8(n){switch(n==null?void 0:n.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function d8(n,e=null,t=null){if(!n)return null;try{if(t&&typeof n=="string"){if(t.addDefaultProtocol&&n.startsWith("www.")){const i=n.match(/\./g);(i==null?void 0:i.length)>=2&&(n=`http://${n}`)}if(t.tryConvertEncoding)try{n=y8(n)}catch{}}const s=e?new URL(n,e):new URL(n);if(u8(s))return s}catch{}return null}function Ze(n,e,t,s=!1){return Object.defineProperty(n,e,{value:t,enumerable:!s,configurable:!0,writable:!1}),t}const Fa=function(){function e(t,s){this.message=t,this.name=s}return e.prototype=new Error,e.constructor=e,e}();class Eb extends Fa{constructor(e,t){super(e,"PasswordException"),this.code=t}}class Cb extends Fa{constructor(e,t){super(e,"UnknownErrorException"),this.details=t}}class WP extends Fa{constructor(e){super(e,"InvalidPDFException")}}class Pc extends Fa{constructor(e){super(e,"MissingPDFException")}}class w0 extends Fa{constructor(e,t){super(e,"UnexpectedResponseException"),this.status=t}}class f8 extends Fa{constructor(e){super(e,"FormatError")}}class Rc extends Fa{constructor(e){super(e,"AbortException")}}function GP(n){(typeof n!="object"||(n==null?void 0:n.length)===void 0)&&$t("Invalid argument for bytesToString");const e=n.length,t=8192;if(e>24&255,n>>16&255,n>>8&255,n&255)}function ok(n){const e=Object.create(null);for(const[t,s]of n)e[t]=s;return e}function m8(){const n=new Uint8Array(4);return n[0]=1,new Uint32Array(n.buffer,0,1)[0]===1}function g8(){try{return new Function(""),!0}catch{return!1}}class _s{static get isLittleEndian(){return Ze(this,"isLittleEndian",m8())}static get isEvalSupported(){return Ze(this,"isEvalSupported",g8())}static get isOffscreenCanvasSupported(){return Ze(this,"isOffscreenCanvasSupported",typeof OffscreenCanvas<"u")}static get platform(){return typeof navigator<"u"&&typeof(navigator==null?void 0:navigator.platform)=="string"?Ze(this,"platform",{isMac:navigator.platform.includes("Mac"),isWindows:navigator.platform.includes("Win"),isFirefox:typeof(navigator==null?void 0:navigator.userAgent)=="string"&&navigator.userAgent.includes("Firefox")}):Ze(this,"platform",{isMac:!1,isWindows:!1,isFirefox:!1})}static get isCSSRoundSupported(){var e,t;return Ze(this,"isCSSRoundSupported",(t=(e=globalThis.CSS)==null?void 0:e.supports)==null?void 0:t.call(e,"width: round(1.5px, 1px)"))}}const hv=Array.from(Array(256).keys(),n=>n.toString(16).padStart(2,"0"));var Co,ig,$b;class _e{static makeHexColor(e,t,s){return`#${hv[e]}${hv[t]}${hv[s]}`}static scaleMinMax(e,t){let s;e[0]?(e[0]<0&&(s=t[0],t[0]=t[2],t[2]=s),t[0]*=e[0],t[2]*=e[0],e[3]<0&&(s=t[1],t[1]=t[3],t[3]=s),t[1]*=e[3],t[3]*=e[3]):(s=t[0],t[0]=t[1],t[1]=s,s=t[2],t[2]=t[3],t[3]=s,e[1]<0&&(s=t[1],t[1]=t[3],t[3]=s),t[1]*=e[1],t[3]*=e[1],e[2]<0&&(s=t[0],t[0]=t[2],t[2]=s),t[0]*=e[2],t[2]*=e[2]),t[0]+=e[4],t[1]+=e[5],t[2]+=e[4],t[3]+=e[5]}static transform(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]}static applyTransform(e,t){const s=e[0]*t[0]+e[1]*t[2]+t[4],i=e[0]*t[1]+e[1]*t[3]+t[5];return[s,i]}static applyInverseTransform(e,t){const s=t[0]*t[3]-t[1]*t[2],i=(e[0]*t[3]-e[1]*t[2]+t[2]*t[5]-t[4]*t[3])/s,r=(-e[0]*t[1]+e[1]*t[0]+t[4]*t[1]-t[5]*t[0])/s;return[i,r]}static getAxialAlignedBoundingBox(e,t){const s=this.applyTransform(e,t),i=this.applyTransform(e.slice(2,4),t),r=this.applyTransform([e[0],e[3]],t),o=this.applyTransform([e[2],e[1]],t);return[Math.min(s[0],i[0],r[0],o[0]),Math.min(s[1],i[1],r[1],o[1]),Math.max(s[0],i[0],r[0],o[0]),Math.max(s[1],i[1],r[1],o[1])]}static inverseTransform(e){const t=e[0]*e[3]-e[1]*e[2];return[e[3]/t,-e[1]/t,-e[2]/t,e[0]/t,(e[2]*e[5]-e[4]*e[3])/t,(e[4]*e[1]-e[5]*e[0])/t]}static singularValueDecompose2dScale(e){const t=[e[0],e[2],e[1],e[3]],s=e[0]*t[0]+e[1]*t[2],i=e[0]*t[1]+e[1]*t[3],r=e[2]*t[0]+e[3]*t[2],o=e[2]*t[1]+e[3]*t[3],a=(s+o)/2,l=Math.sqrt((s+o)**2-4*(s*o-r*i))/2,c=a+l||1,h=a-l||1;return[Math.sqrt(c),Math.sqrt(h)]}static normalizeRect(e){const t=e.slice(0);return e[0]>e[2]&&(t[0]=e[2],t[2]=e[0]),e[1]>e[3]&&(t[1]=e[3],t[3]=e[1]),t}static intersect(e,t){const s=Math.max(Math.min(e[0],e[2]),Math.min(t[0],t[2])),i=Math.min(Math.max(e[0],e[2]),Math.max(t[0],t[2]));if(s>i)return null;const r=Math.max(Math.min(e[1],e[3]),Math.min(t[1],t[3])),o=Math.min(Math.max(e[1],e[3]),Math.max(t[1],t[3]));return r>o?null:[s,r,i,o]}static bezierBoundingBox(e,t,s,i,r,o,a,l,c){return c?(c[0]=Math.min(c[0],e,a),c[1]=Math.min(c[1],t,l),c[2]=Math.max(c[2],e,a),c[3]=Math.max(c[3],t,l)):c=[Math.min(e,a),Math.min(t,l),Math.max(e,a),Math.max(t,l)],T(this,Co,$b).call(this,e,s,r,a,t,i,o,l,3*(-e+3*(s-r)+a),6*(e-2*s+r),3*(s-e),c),T(this,Co,$b).call(this,e,s,r,a,t,i,o,l,3*(-t+3*(i-o)+l),6*(t-2*i+o),3*(i-t),c),c}}Co=new WeakSet,ig=function(e,t,s,i,r,o,a,l,c,h){if(c<=0||c>=1)return;const u=1-c,d=c*c,p=d*c,m=u*(u*(u*e+3*c*t)+3*d*s)+p*i,g=u*(u*(u*r+3*c*o)+3*d*a)+p*l;h[0]=Math.min(h[0],m),h[1]=Math.min(h[1],g),h[2]=Math.max(h[2],m),h[3]=Math.max(h[3],g)},$b=function(e,t,s,i,r,o,a,l,c,h,u,d){if(Math.abs(c)<1e-12){Math.abs(h)>=1e-12&&T(this,Co,ig).call(this,e,t,s,i,r,o,a,l,-u/h,d);return}const p=h**2-4*u*c;if(p<0)return;const m=Math.sqrt(p),g=2*c;T(this,Co,ig).call(this,e,t,s,i,r,o,a,l,(-h+m)/g,d),T(this,Co,ig).call(this,e,t,s,i,r,o,a,l,(-h-m)/g,d)},R(_e,Co);function y8(n){return decodeURIComponent(escape(n))}let uv=null,Ex=null;function v8(n){return uv||(uv=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,Ex=new Map([["ſt","ſt"]])),n.replaceAll(uv,(e,t,s)=>t?t.normalize("NFKC"):Ex.get(s))}function b8(){if(typeof crypto<"u"&&typeof(crypto==null?void 0:crypto.randomUUID)=="function")return crypto.randomUUID();const n=new Uint8Array(32);if(typeof crypto<"u"&&typeof(crypto==null?void 0:crypto.getRandomValues)=="function")crypto.getRandomValues(n);else for(let e=0;e<32;e++)n[e]=Math.floor(Math.random()*255);return GP(n)}const ak="pdfjs_internal_id_",Br={BEZIER_CURVE_TO:0,MOVE_TO:1,LINE_TO:2,QUADRATIC_CURVE_TO:3,RESTORE:4,SAVE:5,SCALE:6,TRANSFORM:7,TRANSLATE:8};function w8(n){return Uint8Array.prototype.toBase64?n.toBase64():btoa(GP(n))}const qr="http://www.w3.org/2000/svg",cl=class cl{};re(cl,"CSS",96),re(cl,"PDF",72),re(cl,"PDF_TO_CSS_UNITS",cl.CSS/cl.PDF);let Ta=cl;async function S0(n,e="text"){if(cd(n,document.baseURI)){const t=await fetch(n);if(!t.ok)throw new Error(t.statusText);switch(e){case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"json":return t.json()}return t.text()}return new Promise((t,s)=>{const i=new XMLHttpRequest;i.open("GET",n,!0),i.responseType=e,i.onreadystatechange=()=>{if(i.readyState===XMLHttpRequest.DONE){if(i.status===200||i.status===0){switch(e){case"arraybuffer":case"blob":case"json":t(i.response);return}t(i.responseText);return}s(new Error(i.statusText))}},i.send(null)})}class Wp{constructor({viewBox:e,scale:t,rotation:s,offsetX:i=0,offsetY:r=0,dontFlip:o=!1}){this.viewBox=e,this.scale=t,this.rotation=s,this.offsetX=i,this.offsetY=r;const a=(e[2]+e[0])/2,l=(e[3]+e[1])/2;let c,h,u,d;switch(s%=360,s<0&&(s+=360),s){case 180:c=-1,h=0,u=0,d=1;break;case 90:c=0,h=1,u=1,d=0;break;case 270:c=0,h=-1,u=-1,d=0;break;case 0:c=1,h=0,u=0,d=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}o&&(u=-u,d=-d);let p,m,g,v;c===0?(p=Math.abs(l-e[1])*t+i,m=Math.abs(a-e[0])*t+r,g=(e[3]-e[1])*t,v=(e[2]-e[0])*t):(p=Math.abs(a-e[0])*t+i,m=Math.abs(l-e[1])*t+r,g=(e[2]-e[0])*t,v=(e[3]-e[1])*t),this.transform=[c*t,h*t,u*t,d*t,p-c*t*a-u*t*l,m-h*t*a-d*t*l],this.width=g,this.height=v}get rawDims(){const{viewBox:e}=this;return Ze(this,"rawDims",{pageWidth:e[2]-e[0],pageHeight:e[3]-e[1],pageX:e[0],pageY:e[1]})}clone({scale:e=this.scale,rotation:t=this.rotation,offsetX:s=this.offsetX,offsetY:i=this.offsetY,dontFlip:r=!1}={}){return new Wp({viewBox:this.viewBox.slice(),scale:e,rotation:t,offsetX:s,offsetY:i,dontFlip:r})}convertToViewportPoint(e,t){return _e.applyTransform([e,t],this.transform)}convertToViewportRectangle(e){const t=_e.applyTransform([e[0],e[1]],this.transform),s=_e.applyTransform([e[2],e[3]],this.transform);return[t[0],t[1],s[0],s[1]]}convertToPdfPoint(e,t){return _e.applyInverseTransform([e,t],this.transform)}}class lk extends Fa{constructor(e,t=0){super(e,"RenderingCancelledException"),this.extraDelay=t}}function k0(n){const e=n.length;let t=0;for(;t=1&&i<=12?i-1:0;let r=parseInt(t[3],10);r=r>=1&&r<=31?r:1;let o=parseInt(t[4],10);o=o>=0&&o<=23?o:0;let a=parseInt(t[5],10);a=a>=0&&a<=59?a:0;let l=parseInt(t[6],10);l=l>=0&&l<=59?l:0;const c=t[7]||"Z";let h=parseInt(t[8],10);h=h>=0&&h<=23?h:0;let u=parseInt(t[9],10)||0;return u=u>=0&&u<=59?u:0,c==="-"?(o+=h,a+=u):c==="+"&&(o-=h,a-=u),new Date(Date.UTC(s,i,r,o,a,l))}}df=new WeakMap,R(hk,df);function k8(n,{scale:e=1,rotation:t=0}){const{width:s,height:i}=n.attributes.style,r=[0,0,parseInt(s),parseInt(i)];return new Wp({viewBox:r,scale:e,rotation:t})}function uk(n){if(n.startsWith("#")){const e=parseInt(n.slice(1),16);return[(e&16711680)>>16,(e&65280)>>8,e&255]}return n.startsWith("rgb(")?n.slice(4,-1).split(",").map(e=>parseInt(e)):n.startsWith("rgba(")?n.slice(5,-1).split(",").map(e=>parseInt(e)).slice(0,3):(Be(`Not a valid color format: "${n}"`),[0,0,0])}function A8(n){const e=document.createElement("span");e.style.visibility="hidden",document.body.append(e);for(const t of n.keys()){e.style.color=t;const s=window.getComputedStyle(e).color;n.set(t,uk(s))}e.remove()}function jt(n){const{a:e,b:t,c:s,d:i,e:r,f:o}=n.getTransform();return[e,t,s,i,r,o]}function Ur(n){const{a:e,b:t,c:s,d:i,e:r,f:o}=n.getTransform().invertSelf();return[e,t,s,i,r,o]}function yc(n,e,t=!1,s=!0){if(e instanceof Wp){const{pageWidth:i,pageHeight:r}=e.rawDims,{style:o}=n,a=_s.isCSSRoundSupported,l=`var(--scale-factor) * ${i}px`,c=`var(--scale-factor) * ${r}px`,h=a?`round(down, ${l}, var(--scale-round-x, 1px))`:`calc(${l})`,u=a?`round(down, ${c}, var(--scale-round-y, 1px))`:`calc(${c})`;!t||e.rotation%180===0?(o.width=h,o.height=u):(o.width=u,o.height=h)}s&&n.setAttribute("data-main-rotation",e.rotation)}class Tb{constructor(){const e=window.devicePixelRatio||1;this.sx=e,this.sy=e}get scaled(){return this.sx!==1||this.sy!==1}get symmetric(){return this.sx===this.sy}}var Vo,fl,Mi,pl,ff,pf,My,KP,ks,ZP,XP,rg,YP,Rb;const Vr=class Vr{constructor(e){R(this,ks);R(this,Vo,null);R(this,fl,null);R(this,Mi);R(this,pl,null);R(this,ff,null);C(this,Mi,e),f(Vr,pf)||C(Vr,pf,Object.freeze({freetext:"pdfjs-editor-remove-freetext-button",highlight:"pdfjs-editor-remove-highlight-button",ink:"pdfjs-editor-remove-ink-button",stamp:"pdfjs-editor-remove-stamp-button"}))}render(){const e=C(this,Vo,document.createElement("div"));e.classList.add("editToolbar","hidden"),e.setAttribute("role","toolbar");const t=f(this,Mi)._uiManager._signal;e.addEventListener("contextmenu",wi,{signal:t}),e.addEventListener("pointerdown",T(Vr,My,KP),{signal:t});const s=C(this,pl,document.createElement("div"));s.className="buttons",e.append(s);const i=f(this,Mi).toolbarPosition;if(i){const{style:r}=e,o=f(this,Mi)._uiManager.direction==="ltr"?1-i[0]:i[0];r.insetInlineEnd=`${100*o}%`,r.top=`calc(${100*i[1]}% + var(--editor-toolbar-vert-offset))`}return T(this,ks,YP).call(this),e}get div(){return f(this,Vo)}hide(){var e;f(this,Vo).classList.add("hidden"),(e=f(this,fl))==null||e.hideDropdown()}show(){var e;f(this,Vo).classList.remove("hidden"),(e=f(this,ff))==null||e.shown()}async addAltText(e){const t=await e.render();T(this,ks,rg).call(this,t),f(this,pl).prepend(t,f(this,ks,Rb)),C(this,ff,e)}addColorPicker(e){C(this,fl,e);const t=e.renderButton();T(this,ks,rg).call(this,t),f(this,pl).prepend(t,f(this,ks,Rb))}remove(){var e;f(this,Vo).remove(),(e=f(this,fl))==null||e.destroy(),C(this,fl,null)}};Vo=new WeakMap,fl=new WeakMap,Mi=new WeakMap,pl=new WeakMap,ff=new WeakMap,pf=new WeakMap,My=new WeakSet,KP=function(e){e.stopPropagation()},ks=new WeakSet,ZP=function(e){f(this,Mi)._focusEventsAllowed=!1,e.preventDefault(),e.stopPropagation()},XP=function(e){f(this,Mi)._focusEventsAllowed=!0,e.preventDefault(),e.stopPropagation()},rg=function(e){const t=f(this,Mi)._uiManager._signal;e.addEventListener("focusin",T(this,ks,ZP).bind(this),{capture:!0,signal:t}),e.addEventListener("focusout",T(this,ks,XP).bind(this),{capture:!0,signal:t}),e.addEventListener("contextmenu",wi,{signal:t})},YP=function(){const{editorType:e,_uiManager:t}=f(this,Mi),s=document.createElement("button");s.className="delete",s.tabIndex=0,s.setAttribute("data-l10n-id",f(Vr,pf)[e]),T(this,ks,rg).call(this,s),s.addEventListener("click",i=>{t.delete()},{signal:t._signal}),f(this,pl).append(s)},Rb=function(){const e=document.createElement("div");return e.className="divider",e},R(Vr,My),R(Vr,pf,null);let Pb=Vr;var mf,ml,gl,Na,JP,QP,eR;class x8{constructor(e){R(this,Na);R(this,mf,null);R(this,ml,null);R(this,gl);C(this,gl,e)}show(e,t,s){const[i,r]=T(this,Na,QP).call(this,t,s),{style:o}=f(this,ml)||C(this,ml,T(this,Na,JP).call(this));e.append(f(this,ml)),o.insetInlineEnd=`${100*i}%`,o.top=`calc(${100*r}% + var(--editor-toolbar-vert-offset))`}hide(){f(this,ml).remove()}}mf=new WeakMap,ml=new WeakMap,gl=new WeakMap,Na=new WeakSet,JP=function(){const e=C(this,ml,document.createElement("div"));e.className="editToolbar",e.setAttribute("role","toolbar"),e.addEventListener("contextmenu",wi,{signal:f(this,gl)._signal});const t=C(this,mf,document.createElement("div"));return t.className="buttons",e.append(t),T(this,Na,eR).call(this),e},QP=function(e,t){let s=0,i=0;for(const r of e){const o=r.y+r.height;if(os){i=a,s=o;continue}t?a>i&&(i=a):a{f(this,gl).highlightSelection("floating_button")},{signal:s}),f(this,mf).append(e)};function oy(n,e,t){for(const s of t)e.addEventListener(s,n[s].bind(n))}function E8(n){return Math.round(Math.min(255,Math.max(1,255*n))).toString(16).padStart(2,"0")}var Iy;class C8{constructor(){R(this,Iy,0)}get id(){return`${o8}${ps(this,Iy)._++}`}}Iy=new WeakMap;var bh,gf,ss,wh,og;const Zk=class Zk{constructor(){R(this,wh);R(this,bh,b8());R(this,gf,0);R(this,ss,null)}static get _isSVGFittingCanvas(){const e='data:image/svg+xml;charset=UTF-8,',s=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),i=new Image;i.src=e;const r=i.decode().then(()=>(s.drawImage(i,0,0,1,1,0,0,1,3),new Uint32Array(s.getImageData(0,0,1,1).data.buffer)[0]===0));return Ze(this,"_isSVGFittingCanvas",r)}async getFromFile(e){const{lastModified:t,name:s,size:i,type:r}=e;return T(this,wh,og).call(this,`${t}_${s}_${i}_${r}`,e)}async getFromUrl(e){return T(this,wh,og).call(this,e,e)}async getFromBlob(e,t){const s=await t;return T(this,wh,og).call(this,e,s)}async getFromId(e){f(this,ss)||C(this,ss,new Map);const t=f(this,ss).get(e);if(!t)return null;if(t.bitmap)return t.refCounter+=1,t;if(t.file)return this.getFromFile(t.file);if(t.blobPromise){const{blobPromise:s}=t;return delete t.blobPromise,this.getFromBlob(t.id,s)}return this.getFromUrl(t.url)}getFromCanvas(e,t){f(this,ss)||C(this,ss,new Map);let s=f(this,ss).get(e);if(s!=null&&s.bitmap)return s.refCounter+=1,s;const i=new OffscreenCanvas(t.width,t.height);return i.getContext("2d").drawImage(t,0,0),s={bitmap:i.transferToImageBitmap(),id:`image_${f(this,bh)}_${ps(this,gf)._++}`,refCounter:1,isSvg:!1},f(this,ss).set(e,s),f(this,ss).set(s.id,s),s}getSvgUrl(e){const t=f(this,ss).get(e);return t!=null&&t.isSvg?t.svgUrl:null}deleteId(e){var i;f(this,ss)||C(this,ss,new Map);const t=f(this,ss).get(e);if(!t||(t.refCounter-=1,t.refCounter!==0))return;const{bitmap:s}=t;if(!t.url&&!t.file){const r=new OffscreenCanvas(s.width,s.height);r.getContext("bitmaprenderer").transferFromImageBitmap(s),t.blobPromise=r.convertToBlob()}(i=s.close)==null||i.call(s),t.bitmap=null}isValidId(e){return e.startsWith(`image_${f(this,bh)}_`)}};bh=new WeakMap,gf=new WeakMap,ss=new WeakMap,wh=new WeakSet,og=async function(e,t){f(this,ss)||C(this,ss,new Map);let s=f(this,ss).get(e);if(s===null)return null;if(s!=null&&s.bitmap)return s.refCounter+=1,s;try{s||(s={bitmap:null,id:`image_${f(this,bh)}_${ps(this,gf)._++}`,refCounter:0,isSvg:!1});let i;if(typeof t=="string"?(s.url=t,i=await S0(t,"blob")):t instanceof File?i=s.file=t:t instanceof Blob&&(i=t),i.type==="image/svg+xml"){const r=Zk._isSVGFittingCanvas,o=new FileReader,a=new Image,l=new Promise((c,h)=>{a.onload=()=>{s.bitmap=a,s.isSvg=!0,c()},o.onload=async()=>{const u=s.svgUrl=o.result;a.src=await r?`${u}#svgView(preserveAspectRatio(none))`:u},a.onerror=o.onerror=h});o.readAsDataURL(i),await l}else s.bitmap=await createImageBitmap(i);s.refCounter=1}catch(i){console.error(i),s=null}return f(this,ss).set(e,s),s&&f(this,ss).set(s.id,s),s};let Mb=Zk;var Sn,Wo,yf,kn;class $8{constructor(e=128){R(this,Sn,[]);R(this,Wo,!1);R(this,yf);R(this,kn,-1);C(this,yf,e)}add({cmd:e,undo:t,post:s,mustExec:i,type:r=NaN,overwriteIfSameType:o=!1,keepUndo:a=!1}){if(i&&e(),f(this,Wo))return;const l={cmd:e,undo:t,post:s,type:r};if(f(this,kn)===-1){f(this,Sn).length>0&&(f(this,Sn).length=0),C(this,kn,0),f(this,Sn).push(l);return}if(o&&f(this,Sn)[f(this,kn)].type===r){a&&(l.undo=f(this,Sn)[f(this,kn)].undo),f(this,Sn)[f(this,kn)]=l;return}const c=f(this,kn)+1;c===f(this,yf)?f(this,Sn).splice(0,1):(C(this,kn,c),cr===t[o]))return Ny._colorsMapping.get(s);return t}getHexCode(e){const t=this._colors.get(e);return t?_e.makeHexColor(...t):e}};re(Ny,"_colorsMapping",new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]));let Ib=Ny;var _h,Us,un,Fn,Sh,Gr,kh,Ii,Go,Ah,yl,ar,Oi,vl,vf,bf,xh,wf,lr,Ko,Eh,Zo,cr,Ly,Xo,_f,Yo,bl,Sf,kf,An,ht,Kr,wl,Af,xf,Jo,hr,Zr,Ef,oi,he,ag,Ob,nR,sR,lg,iR,rR,oR,Nb,aR,Lb,Db,lR,ms,Do,cR,hR,Fb,uR,hd,jb;const rh=class rh{constructor(e,t,s,i,r,o,a,l,c,h,u){R(this,he);R(this,_h,new AbortController);R(this,Us,null);R(this,un,new Map);R(this,Fn,new Map);R(this,Sh,null);R(this,Gr,null);R(this,kh,null);R(this,Ii,new $8);R(this,Go,null);R(this,Ah,0);R(this,yl,new Set);R(this,ar,null);R(this,Oi,null);R(this,vl,new Set);R(this,vf,!1);R(this,bf,!1);R(this,xh,!1);R(this,wf,null);R(this,lr,null);R(this,Ko,null);R(this,Eh,null);R(this,Zo,!1);R(this,cr,null);R(this,Ly,new C8);R(this,Xo,!1);R(this,_f,!1);R(this,Yo,null);R(this,bl,null);R(this,Sf,null);R(this,kf,null);R(this,An,De.NONE);R(this,ht,new Set);R(this,Kr,null);R(this,wl,null);R(this,Af,null);R(this,xf,{isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1});R(this,Jo,[0,0]);R(this,hr,null);R(this,Zr,null);R(this,Ef,null);R(this,oi,null);const d=this._signal=f(this,_h).signal;C(this,Zr,e),C(this,Ef,t),C(this,Sh,s),this._eventBus=i,i._on("editingaction",this.onEditingAction.bind(this),{signal:d}),i._on("pagechanging",this.onPageChanging.bind(this),{signal:d}),i._on("scalechanging",this.onScaleChanging.bind(this),{signal:d}),i._on("rotationchanging",this.onRotationChanging.bind(this),{signal:d}),i._on("setpreference",this.onSetPreference.bind(this),{signal:d}),i._on("switchannotationeditorparams",p=>this.updateParams(p.type,p.value),{signal:d}),T(this,he,iR).call(this),T(this,he,lR).call(this),T(this,he,Nb).call(this),C(this,Gr,r.annotationStorage),C(this,wf,r.filterFactory),C(this,wl,o),C(this,Eh,a||null),C(this,vf,l),C(this,bf,c),C(this,xh,h),C(this,kf,u||null),this.viewParameters={realScale:Ta.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1}static get _keyboardManager(){const e=rh.prototype,t=o=>f(o,Zr).contains(document.activeElement)&&document.activeElement.tagName!=="BUTTON"&&o.hasSomethingToControl(),s=(o,{target:a})=>{if(a instanceof HTMLInputElement){const{type:l}=a;return l!=="text"&&l!=="number"}return!0},i=this.TRANSLATE_SMALL,r=this.TRANSLATE_BIG;return Ze(this,"_keyboardManager",new Gp([[["ctrl+a","mac+meta+a"],e.selectAll,{checker:s}],[["ctrl+z","mac+meta+z"],e.undo,{checker:s}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],e.redo,{checker:s}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],e.delete,{checker:s}],[["Enter","mac+Enter"],e.addNewEditorFromKeyboard,{checker:(o,{target:a})=>!(a instanceof HTMLButtonElement)&&f(o,Zr).contains(a)&&!o.isEnterHandled}],[[" ","mac+ "],e.addNewEditorFromKeyboard,{checker:(o,{target:a})=>!(a instanceof HTMLButtonElement)&&f(o,Zr).contains(document.activeElement)}],[["Escape","mac+Escape"],e.unselectAll],[["ArrowLeft","mac+ArrowLeft"],e.translateSelectedEditors,{args:[-i,0],checker:t}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e.translateSelectedEditors,{args:[-r,0],checker:t}],[["ArrowRight","mac+ArrowRight"],e.translateSelectedEditors,{args:[i,0],checker:t}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e.translateSelectedEditors,{args:[r,0],checker:t}],[["ArrowUp","mac+ArrowUp"],e.translateSelectedEditors,{args:[0,-i],checker:t}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e.translateSelectedEditors,{args:[0,-r],checker:t}],[["ArrowDown","mac+ArrowDown"],e.translateSelectedEditors,{args:[0,i],checker:t}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e.translateSelectedEditors,{args:[0,r],checker:t}]]))}destroy(){var e,t,s,i;(e=f(this,oi))==null||e.resolve(),C(this,oi,null),(t=f(this,_h))==null||t.abort(),C(this,_h,null),this._signal=null;for(const r of f(this,Fn).values())r.destroy();f(this,Fn).clear(),f(this,un).clear(),f(this,vl).clear(),C(this,Us,null),f(this,ht).clear(),f(this,Ii).destroy(),(s=f(this,Sh))==null||s.destroy(),(i=f(this,cr))==null||i.hide(),C(this,cr,null),f(this,lr)&&(clearTimeout(f(this,lr)),C(this,lr,null)),f(this,hr)&&(clearTimeout(f(this,hr)),C(this,hr,null))}combinedSignal(e){return AbortSignal.any([this._signal,e.signal])}get mlManager(){return f(this,kf)}get useNewAltTextFlow(){return f(this,bf)}get useNewAltTextWhenAddingImage(){return f(this,xh)}get hcmFilter(){return Ze(this,"hcmFilter",f(this,wl)?f(this,wf).addHCMFilter(f(this,wl).foreground,f(this,wl).background):"none")}get direction(){return Ze(this,"direction",getComputedStyle(f(this,Zr)).direction)}get highlightColors(){return Ze(this,"highlightColors",f(this,Eh)?new Map(f(this,Eh).split(",").map(e=>e.split("=").map(t=>t.trim()))):null)}get highlightColorNames(){return Ze(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,e=>e.reverse())):null)}setMainHighlightColorPicker(e){C(this,Sf,e)}editAltText(e,t=!1){var s;(s=f(this,Sh))==null||s.editAltText(this,e,t)}switchToMode(e,t){this._eventBus.on("annotationeditormodechanged",t,{once:!0,signal:this._signal}),this._eventBus.dispatch("showannotationeditorui",{source:this,mode:e})}setPreference(e,t){this._eventBus.dispatch("setpreference",{source:this,name:e,value:t})}onSetPreference({name:e,value:t}){switch(e){case"enableNewAltTextWhenAddingImage":C(this,xh,t);break}}onPageChanging({pageNumber:e}){C(this,Ah,e-1)}focusMainContainer(){f(this,Zr).focus()}findParent(e,t){for(const s of f(this,Fn).values()){const{x:i,y:r,width:o,height:a}=s.div.getBoundingClientRect();if(e>=i&&e<=i+o&&t>=r&&t<=r+a)return s}return null}disableUserSelect(e=!1){f(this,Ef).classList.toggle("noUserSelect",e)}addShouldRescale(e){f(this,vl).add(e)}removeShouldRescale(e){f(this,vl).delete(e)}onScaleChanging({scale:e}){this.commitOrRemove(),this.viewParameters.realScale=e*Ta.PDF_TO_CSS_UNITS;for(const t of f(this,vl))t.onScaleChanging()}onRotationChanging({pagesRotation:e}){this.commitOrRemove(),this.viewParameters.rotation=e}highlightSelection(e=""){const t=document.getSelection();if(!t||t.isCollapsed)return;const{anchorNode:s,anchorOffset:i,focusNode:r,focusOffset:o}=t,a=t.toString(),c=T(this,he,ag).call(this,t).closest(".textLayer"),h=this.getSelectionBoxes(c);if(!h)return;t.empty();const u=T(this,he,Ob).call(this,c),d=f(this,An)===De.NONE,p=()=>{u==null||u.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:e,boxes:h,anchorNode:s,anchorOffset:i,focusNode:r,focusOffset:o,text:a}),d&&this.showAllEditors("highlight",!0,!0)};if(d){this.switchToMode(De.HIGHLIGHT,p);return}p()}addToAnnotationStorage(e){!e.isEmpty()&&f(this,Gr)&&!f(this,Gr).has(e.id)&&f(this,Gr).setValue(e.id,e)}blur(){if(this.isShiftKeyDown=!1,f(this,Zo)&&(C(this,Zo,!1),T(this,he,lg).call(this,"main_toolbar")),!this.hasSelection)return;const{activeElement:e}=document;for(const t of f(this,ht))if(t.div.contains(e)){C(this,bl,[t,e]),t._focusEventsAllowed=!1;break}}focus(){if(!f(this,bl))return;const[e,t]=f(this,bl);C(this,bl,null),t.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:this._signal}),t.focus()}addEditListeners(){T(this,he,Nb).call(this),T(this,he,Lb).call(this)}removeEditListeners(){T(this,he,aR).call(this),T(this,he,Db).call(this)}dragOver(e){for(const{type:t}of e.dataTransfer.items)for(const s of f(this,Oi))if(s.isHandlingMimeForPasting(t)){e.dataTransfer.dropEffect="copy",e.preventDefault();return}}drop(e){for(const t of e.dataTransfer.items)for(const s of f(this,Oi))if(s.isHandlingMimeForPasting(t.type)){s.paste(t,this.currentLayer),e.preventDefault();return}}copy(e){var s;if(e.preventDefault(),(s=f(this,Us))==null||s.commitOrRemove(),!this.hasSelection)return;const t=[];for(const i of f(this,ht)){const r=i.serialize(!0);r&&t.push(r)}t.length!==0&&e.clipboardData.setData("application/pdfjs",JSON.stringify(t))}cut(e){this.copy(e),this.delete()}async paste(e){e.preventDefault();const{clipboardData:t}=e;for(const r of t.items)for(const o of f(this,Oi))if(o.isHandlingMimeForPasting(r.type)){o.paste(r,this.currentLayer);return}let s=t.getData("application/pdfjs");if(!s)return;try{s=JSON.parse(s)}catch(r){Be(`paste: "${r.message}".`);return}if(!Array.isArray(s))return;this.unselectAll();const i=this.currentLayer;try{const r=[];for(const l of s){const c=await i.deserialize(l);if(!c)return;r.push(c)}const o=()=>{for(const l of r)T(this,he,Fb).call(this,l);T(this,he,jb).call(this,r)},a=()=>{for(const l of r)l.remove()};this.addCommands({cmd:o,undo:a,mustExec:!0})}catch(r){Be(`paste: "${r.message}".`)}}keydown(e){!this.isShiftKeyDown&&e.key==="Shift"&&(this.isShiftKeyDown=!0),f(this,An)!==De.NONE&&!this.isEditorHandlingKeyboard&&rh._keyboardManager.exec(this,e)}keyup(e){this.isShiftKeyDown&&e.key==="Shift"&&(this.isShiftKeyDown=!1,f(this,Zo)&&(C(this,Zo,!1),T(this,he,lg).call(this,"main_toolbar")))}onEditingAction({name:e}){switch(e){case"undo":case"redo":case"delete":case"selectAll":this[e]();break;case"highlightSelection":this.highlightSelection("context_menu");break}}setEditingState(e){e?(T(this,he,rR).call(this),T(this,he,Lb).call(this),T(this,he,ms).call(this,{isEditing:f(this,An)!==De.NONE,isEmpty:T(this,he,hd).call(this),hasSomethingToUndo:f(this,Ii).hasSomethingToUndo(),hasSomethingToRedo:f(this,Ii).hasSomethingToRedo(),hasSelectedEditor:!1})):(T(this,he,oR).call(this),T(this,he,Db).call(this),T(this,he,ms).call(this,{isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(e){if(!f(this,Oi)){C(this,Oi,e);for(const t of f(this,Oi))T(this,he,Do).call(this,t.defaultPropertiesToUpdate)}}getId(){return f(this,Ly).id}get currentLayer(){return f(this,Fn).get(f(this,Ah))}getLayer(e){return f(this,Fn).get(e)}get currentPageIndex(){return f(this,Ah)}addLayer(e){f(this,Fn).set(e.pageIndex,e),f(this,Xo)?e.enable():e.disable()}removeLayer(e){f(this,Fn).delete(e.pageIndex)}async updateMode(e,t=null,s=!1){if(f(this,An)!==e&&!(f(this,oi)&&(await f(this,oi).promise,!f(this,oi)))){if(C(this,oi,Promise.withResolvers()),C(this,An,e),e===De.NONE){this.setEditingState(!1),T(this,he,hR).call(this),f(this,oi).resolve();return}this.setEditingState(!0),await T(this,he,cR).call(this),this.unselectAll();for(const i of f(this,Fn).values())i.updateMode(e);if(!t){s&&this.addNewEditorFromKeyboard(),f(this,oi).resolve();return}for(const i of f(this,un).values())i.annotationElementId===t?(this.setSelected(i),i.enterInEditMode()):i.unselect();f(this,oi).resolve()}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(e){e!==f(this,An)&&this._eventBus.dispatch("switchannotationeditormode",{source:this,mode:e})}updateParams(e,t){var s;if(f(this,Oi)){switch(e){case Pe.CREATE:this.currentLayer.addNewEditor();return;case Pe.HIGHLIGHT_DEFAULT_COLOR:(s=f(this,Sf))==null||s.updateColor(t);break;case Pe.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(f(this,Af)||C(this,Af,new Map)).set(e,t),this.showAllEditors("highlight",t);break}for(const i of f(this,ht))i.updateParams(e,t);for(const i of f(this,Oi))i.updateDefaultParams(e,t)}}showAllEditors(e,t,s=!1){var r;for(const o of f(this,un).values())o.editorType===e&&o.show(t);(((r=f(this,Af))==null?void 0:r.get(Pe.HIGHLIGHT_SHOW_ALL))??!0)!==t&&T(this,he,Do).call(this,[[Pe.HIGHLIGHT_SHOW_ALL,t]])}enableWaiting(e=!1){if(f(this,_f)!==e){C(this,_f,e);for(const t of f(this,Fn).values())e?t.disableClick():t.enableClick(),t.div.classList.toggle("waiting",e)}}getEditors(e){const t=[];for(const s of f(this,un).values())s.pageIndex===e&&t.push(s);return t}getEditor(e){return f(this,un).get(e)}addEditor(e){f(this,un).set(e.id,e)}removeEditor(e){var t;e.div.contains(document.activeElement)&&(f(this,lr)&&clearTimeout(f(this,lr)),C(this,lr,setTimeout(()=>{this.focusMainContainer(),C(this,lr,null)},0))),f(this,un).delete(e.id),this.unselect(e),(!e.annotationElementId||!f(this,yl).has(e.annotationElementId))&&((t=f(this,Gr))==null||t.remove(e.id))}addDeletedAnnotationElement(e){f(this,yl).add(e.annotationElementId),this.addChangedExistingAnnotation(e),e.deleted=!0}isDeletedAnnotationElement(e){return f(this,yl).has(e)}removeDeletedAnnotationElement(e){f(this,yl).delete(e.annotationElementId),this.removeChangedExistingAnnotation(e),e.deleted=!1}setActiveEditor(e){f(this,Us)!==e&&(C(this,Us,e),e&&T(this,he,Do).call(this,e.propertiesToUpdate))}updateUI(e){f(this,he,uR)===e&&T(this,he,Do).call(this,e.propertiesToUpdate)}toggleSelected(e){if(f(this,ht).has(e)){f(this,ht).delete(e),e.unselect(),T(this,he,ms).call(this,{hasSelectedEditor:this.hasSelection});return}f(this,ht).add(e),e.select(),T(this,he,Do).call(this,e.propertiesToUpdate),T(this,he,ms).call(this,{hasSelectedEditor:!0})}setSelected(e){for(const t of f(this,ht))t!==e&&t.unselect();f(this,ht).clear(),f(this,ht).add(e),e.select(),T(this,he,Do).call(this,e.propertiesToUpdate),T(this,he,ms).call(this,{hasSelectedEditor:!0})}isSelected(e){return f(this,ht).has(e)}get firstSelectedEditor(){return f(this,ht).values().next().value}unselect(e){e.unselect(),f(this,ht).delete(e),T(this,he,ms).call(this,{hasSelectedEditor:this.hasSelection})}get hasSelection(){return f(this,ht).size!==0}get isEnterHandled(){return f(this,ht).size===1&&this.firstSelectedEditor.isEnterHandled}undo(){f(this,Ii).undo(),T(this,he,ms).call(this,{hasSomethingToUndo:f(this,Ii).hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:T(this,he,hd).call(this)})}redo(){f(this,Ii).redo(),T(this,he,ms).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:f(this,Ii).hasSomethingToRedo(),isEmpty:T(this,he,hd).call(this)})}addCommands(e){f(this,Ii).add(e),T(this,he,ms).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:T(this,he,hd).call(this)})}delete(){if(this.commitOrRemove(),!this.hasSelection)return;const e=[...f(this,ht)],t=()=>{for(const i of e)i.remove()},s=()=>{for(const i of e)T(this,he,Fb).call(this,i)};this.addCommands({cmd:t,undo:s,mustExec:!0})}commitOrRemove(){var e;(e=f(this,Us))==null||e.commitOrRemove()}hasSomethingToControl(){return f(this,Us)||this.hasSelection}selectAll(){for(const e of f(this,ht))e.commit();T(this,he,jb).call(this,f(this,un).values())}unselectAll(){if(!(f(this,Us)&&(f(this,Us).commitOrRemove(),f(this,An)!==De.NONE))&&this.hasSelection){for(const e of f(this,ht))e.unselect();f(this,ht).clear(),T(this,he,ms).call(this,{hasSelectedEditor:!1})}}translateSelectedEditors(e,t,s=!1){if(s||this.commitOrRemove(),!this.hasSelection)return;f(this,Jo)[0]+=e,f(this,Jo)[1]+=t;const[i,r]=f(this,Jo),o=[...f(this,ht)],a=1e3;f(this,hr)&&clearTimeout(f(this,hr)),C(this,hr,setTimeout(()=>{C(this,hr,null),f(this,Jo)[0]=f(this,Jo)[1]=0,this.addCommands({cmd:()=>{for(const l of o)f(this,un).has(l.id)&&l.translateInPage(i,r)},undo:()=>{for(const l of o)f(this,un).has(l.id)&&l.translateInPage(-i,-r)},mustExec:!1})},a));for(const l of o)l.translateInPage(e,t)}setUpDragSession(){if(this.hasSelection){this.disableUserSelect(!0),C(this,ar,new Map);for(const e of f(this,ht))f(this,ar).set(e,{savedX:e.x,savedY:e.y,savedPageIndex:e.pageIndex,newX:0,newY:0,newPageIndex:-1})}}endDragSession(){if(!f(this,ar))return!1;this.disableUserSelect(!1);const e=f(this,ar);C(this,ar,null);let t=!1;for(const[{x:i,y:r,pageIndex:o},a]of e)a.newX=i,a.newY=r,a.newPageIndex=o,t||(t=i!==a.savedX||r!==a.savedY||o!==a.savedPageIndex);if(!t)return!1;const s=(i,r,o,a)=>{if(f(this,un).has(i.id)){const l=f(this,Fn).get(a);l?i._setParentAndPosition(l,r,o):(i.pageIndex=a,i.x=r,i.y=o)}};return this.addCommands({cmd:()=>{for(const[i,{newX:r,newY:o,newPageIndex:a}]of e)s(i,r,o,a)},undo:()=>{for(const[i,{savedX:r,savedY:o,savedPageIndex:a}]of e)s(i,r,o,a)},mustExec:!0}),!0}dragSelectedEditors(e,t){if(f(this,ar))for(const s of f(this,ar).keys())s.drag(e,t)}rebuild(e){if(e.parent===null){const t=this.getLayer(e.pageIndex);t?(t.changeParent(e),t.addOrRebuild(e)):(this.addEditor(e),this.addToAnnotationStorage(e),e.rebuild())}else e.parent.addOrRebuild(e)}get isEditorHandlingKeyboard(){var e;return((e=this.getActive())==null?void 0:e.shouldGetKeyboardEvents())||f(this,ht).size===1&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(e){return f(this,Us)===e}getActive(){return f(this,Us)}getMode(){return f(this,An)}get imageManager(){return Ze(this,"imageManager",new Mb)}getSelectionBoxes(e){if(!e)return null;const t=document.getSelection();for(let c=0,h=t.rangeCount;c({x:(h-i)/o,y:1-(c+u-s)/r,width:d/o,height:u/r});break;case"180":a=(c,h,u,d)=>({x:1-(c+u-s)/r,y:1-(h+d-i)/o,width:u/r,height:d/o});break;case"270":a=(c,h,u,d)=>({x:1-(h+d-i)/o,y:(c-s)/r,width:d/o,height:u/r});break;default:a=(c,h,u,d)=>({x:(c-s)/r,y:(h-i)/o,width:u/r,height:d/o});break}const l=[];for(let c=0,h=t.rangeCount;c{d.type==="pointerup"&&d.button!==0||(c.abort(),l==null||l.toggleDrawing(!0),d.type==="pointerup"&&T(this,he,lg).call(this,"main_toolbar"))};window.addEventListener("pointerup",u,{signal:h}),window.addEventListener("blur",u,{signal:h})}},lg=function(e=""){f(this,An)===De.HIGHLIGHT?this.highlightSelection(e):f(this,vf)&&T(this,he,nR).call(this)},iR=function(){document.addEventListener("selectionchange",T(this,he,sR).bind(this),{signal:this._signal})},rR=function(){if(f(this,Ko))return;C(this,Ko,new AbortController);const e=this.combinedSignal(f(this,Ko));window.addEventListener("focus",this.focus.bind(this),{signal:e}),window.addEventListener("blur",this.blur.bind(this),{signal:e})},oR=function(){var e;(e=f(this,Ko))==null||e.abort(),C(this,Ko,null)},Nb=function(){if(f(this,Yo))return;C(this,Yo,new AbortController);const e=this.combinedSignal(f(this,Yo));window.addEventListener("keydown",this.keydown.bind(this),{signal:e}),window.addEventListener("keyup",this.keyup.bind(this),{signal:e})},aR=function(){var e;(e=f(this,Yo))==null||e.abort(),C(this,Yo,null)},Lb=function(){if(f(this,Go))return;C(this,Go,new AbortController);const e=this.combinedSignal(f(this,Go));document.addEventListener("copy",this.copy.bind(this),{signal:e}),document.addEventListener("cut",this.cut.bind(this),{signal:e}),document.addEventListener("paste",this.paste.bind(this),{signal:e})},Db=function(){var e;(e=f(this,Go))==null||e.abort(),C(this,Go,null)},lR=function(){const e=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:e}),document.addEventListener("drop",this.drop.bind(this),{signal:e})},ms=function(e){Object.entries(e).some(([s,i])=>f(this,xf)[s]!==i)&&(this._eventBus.dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(f(this,xf),e)}),f(this,An)===De.HIGHLIGHT&&e.hasSelectedEditor===!1&&T(this,he,Do).call(this,[[Pe.HIGHLIGHT_FREE,!0]]))},Do=function(e){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:e})},cR=async function(){if(!f(this,Xo)){C(this,Xo,!0);const e=[];for(const t of f(this,Fn).values())e.push(t.enable());await Promise.all(e);for(const t of f(this,un).values())t.enable()}},hR=function(){if(this.unselectAll(),f(this,Xo)){C(this,Xo,!1);for(const e of f(this,Fn).values())e.disable();for(const e of f(this,un).values())e.disable()}},Fb=function(e){const t=f(this,Fn).get(e.pageIndex);t?t.addOrRebuild(e):(this.addEditor(e),this.addToAnnotationStorage(e))},uR=function(){let e=null;for(e of f(this,ht));return e},hd=function(){if(f(this,un).size===0)return!0;if(f(this,un).size===1)for(const e of f(this,un).values())return e.isEmpty();return!1},jb=function(e){for(const t of f(this,ht))t.unselect();f(this,ht).clear();for(const t of e)t.isEmpty()||(f(this,ht).add(t),t.select());T(this,he,ms).call(this,{hasSelectedEditor:this.hasSelection})},re(rh,"TRANSLATE_SMALL",1),re(rh,"TRANSLATE_BIG",10);let vc=rh;var xn,ur,Ni,Ch,dr,qs,$h,fr,$s,Xr,_l,pr,Qo,Zi,ud,cg;const gs=class gs{constructor(e){R(this,Zi);R(this,xn,null);R(this,ur,!1);R(this,Ni,null);R(this,Ch,null);R(this,dr,null);R(this,qs,null);R(this,$h,!1);R(this,fr,null);R(this,$s,null);R(this,Xr,null);R(this,_l,null);R(this,pr,!1);C(this,$s,e),C(this,pr,e._uiManager.useNewAltTextFlow),f(gs,Qo)||C(gs,Qo,Object.freeze({added:"pdfjs-editor-new-alt-text-added-button","added-label":"pdfjs-editor-new-alt-text-added-button-label",missing:"pdfjs-editor-new-alt-text-missing-button","missing-label":"pdfjs-editor-new-alt-text-missing-button-label",review:"pdfjs-editor-new-alt-text-to-review-button","review-label":"pdfjs-editor-new-alt-text-to-review-button-label"}))}static initialize(e){gs._l10n??(gs._l10n=e)}async render(){const e=C(this,Ni,document.createElement("button"));e.className="altText",e.tabIndex="0";const t=C(this,Ch,document.createElement("span"));e.append(t),f(this,pr)?(e.classList.add("new"),e.setAttribute("data-l10n-id",f(gs,Qo).missing),t.setAttribute("data-l10n-id",f(gs,Qo)["missing-label"])):(e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button"),t.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button-label"));const s=f(this,$s)._uiManager._signal;e.addEventListener("contextmenu",wi,{signal:s}),e.addEventListener("pointerdown",r=>r.stopPropagation(),{signal:s});const i=r=>{r.preventDefault(),f(this,$s)._uiManager.editAltText(f(this,$s)),f(this,pr)&&f(this,$s)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:f(this,Zi,ud)}})};return e.addEventListener("click",i,{capture:!0,signal:s}),e.addEventListener("keydown",r=>{r.target===e&&r.key==="Enter"&&(C(this,$h,!0),i(r))},{signal:s}),await T(this,Zi,cg).call(this),e}finish(){f(this,Ni)&&(f(this,Ni).focus({focusVisible:f(this,$h)}),C(this,$h,!1))}isEmpty(){return f(this,pr)?f(this,xn)===null:!f(this,xn)&&!f(this,ur)}hasData(){return f(this,pr)?f(this,xn)!==null||!!f(this,Xr):this.isEmpty()}get guessedText(){return f(this,Xr)}async setGuessedText(e){f(this,xn)===null&&(C(this,Xr,e),C(this,_l,await gs._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:e})),T(this,Zi,cg).call(this))}toggleAltTextBadge(e=!1){var t;if(!f(this,pr)||f(this,xn)){(t=f(this,fr))==null||t.remove(),C(this,fr,null);return}if(!f(this,fr)){const s=C(this,fr,document.createElement("div"));s.className="noAltTextBadge",f(this,$s).div.append(s)}f(this,fr).classList.toggle("hidden",!e)}serialize(e){let t=f(this,xn);return!e&&f(this,Xr)===t&&(t=f(this,_l)),{altText:t,decorative:f(this,ur),guessedText:f(this,Xr),textWithDisclaimer:f(this,_l)}}get data(){return{altText:f(this,xn),decorative:f(this,ur)}}set data({altText:e,decorative:t,guessedText:s,textWithDisclaimer:i,cancel:r=!1}){s&&(C(this,Xr,s),C(this,_l,i)),!(f(this,xn)===e&&f(this,ur)===t)&&(r||(C(this,xn,e),C(this,ur,t)),T(this,Zi,cg).call(this))}toggle(e=!1){f(this,Ni)&&(!e&&f(this,qs)&&(clearTimeout(f(this,qs)),C(this,qs,null)),f(this,Ni).disabled=!e)}shown(){f(this,$s)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:f(this,Zi,ud)}})}destroy(){var e,t;(e=f(this,Ni))==null||e.remove(),C(this,Ni,null),C(this,Ch,null),C(this,dr,null),(t=f(this,fr))==null||t.remove(),C(this,fr,null)}};xn=new WeakMap,ur=new WeakMap,Ni=new WeakMap,Ch=new WeakMap,dr=new WeakMap,qs=new WeakMap,$h=new WeakMap,fr=new WeakMap,$s=new WeakMap,Xr=new WeakMap,_l=new WeakMap,pr=new WeakMap,Qo=new WeakMap,Zi=new WeakSet,ud=function(){return f(this,xn)&&"added"||f(this,xn)===null&&this.guessedText&&"review"||"missing"},cg=async function(){var i,r,o;const e=f(this,Ni);if(!e)return;if(f(this,pr)){if(e.classList.toggle("done",!!f(this,xn)),e.setAttribute("data-l10n-id",f(gs,Qo)[f(this,Zi,ud)]),(i=f(this,Ch))==null||i.setAttribute("data-l10n-id",f(gs,Qo)[`${f(this,Zi,ud)}-label`]),!f(this,xn)){(r=f(this,dr))==null||r.remove();return}}else{if(!f(this,xn)&&!f(this,ur)){e.classList.remove("done"),(o=f(this,dr))==null||o.remove();return}e.classList.add("done"),e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-edit-button")}let t=f(this,dr);if(!t){C(this,dr,t=document.createElement("span")),t.className="tooltip",t.setAttribute("role","tooltip"),t.id=`alt-text-tooltip-${f(this,$s).id}`;const a=100,l=f(this,$s)._uiManager._signal;l.addEventListener("abort",()=>{clearTimeout(f(this,qs)),C(this,qs,null)},{once:!0}),e.addEventListener("mouseenter",()=>{C(this,qs,setTimeout(()=>{C(this,qs,null),f(this,dr).classList.add("show"),f(this,$s)._reportTelemetry({action:"alt_text_tooltip"})},a))},{signal:l}),e.addEventListener("mouseleave",()=>{var c;f(this,qs)&&(clearTimeout(f(this,qs)),C(this,qs,null)),(c=f(this,dr))==null||c.classList.remove("show")},{signal:l})}f(this,ur)?t.setAttribute("data-l10n-id","pdfjs-editor-alt-text-decorative-tooltip"):(t.removeAttribute("data-l10n-id"),t.textContent=f(this,xn)),t.parentNode||e.append(t);const s=f(this,$s).getImageForAltText();s==null||s.setAttribute("aria-describedby",t.id)},R(gs,Qo,null),re(gs,"_l10n",null);let ay=gs;var Sl,Li,Dt,Th,kl,jn,Al,ea,Cf,xl,ta,$f,El,Yr,mr,Ph,Rh,ai,Tf,Dy,ze,zb,Pf,Hb,Bb,dR,fR,Ub,qb,Vb,pR,Wb,mR,gR,yR,Gb,dd;const ct=class ct{constructor(e){R(this,ze);R(this,Sl,null);R(this,Li,null);R(this,Dt,null);R(this,Th,!1);R(this,kl,!1);R(this,jn,null);R(this,Al,null);R(this,ea,null);R(this,Cf,"");R(this,xl,!1);R(this,ta,null);R(this,$f,!1);R(this,El,!1);R(this,Yr,!1);R(this,mr,null);R(this,Ph,0);R(this,Rh,0);R(this,ai,null);re(this,"_editToolbar",null);re(this,"_initialOptions",Object.create(null));re(this,"_initialData",null);re(this,"_isVisible",!0);re(this,"_uiManager",null);re(this,"_focusEventsAllowed",!0);R(this,Tf,!1);R(this,Dy,ct._zIndex++);this.parent=e.parent,this.id=e.id,this.width=this.height=null,this.pageIndex=e.parent.pageIndex,this.name=e.name,this.div=null,this._uiManager=e.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=e.isCentered,this._structTreeParentId=null;const{rotation:t,rawDims:{pageWidth:s,pageHeight:i,pageX:r,pageY:o}}=this.parent.viewport;this.rotation=t,this.pageRotation=(360+t-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[s,i],this.pageTranslation=[r,o];const[a,l]=this.parentDimensions;this.x=e.x/a,this.y=e.y/l,this.isAttachedToDOM=!1,this.deleted=!1}static get _resizerKeyboardManager(){const e=ct.prototype._resizeWithKeyboard,t=vc.TRANSLATE_SMALL,s=vc.TRANSLATE_BIG;return Ze(this,"_resizerKeyboardManager",new Gp([[["ArrowLeft","mac+ArrowLeft"],e,{args:[-t,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e,{args:[-s,0]}],[["ArrowRight","mac+ArrowRight"],e,{args:[t,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e,{args:[s,0]}],[["ArrowUp","mac+ArrowUp"],e,{args:[0,-t]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e,{args:[0,-s]}],[["ArrowDown","mac+ArrowDown"],e,{args:[0,t]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e,{args:[0,s]}],[["Escape","mac+Escape"],ct.prototype._stopResizingWithKeyboard]]))}get editorType(){return Object.getPrototypeOf(this).constructor._type}static get _defaultLineColor(){return Ze(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(e){const t=new T8({id:e.parent.getNextId(),parent:e.parent,uiManager:e._uiManager});t.annotationElementId=e.annotationElementId,t.deleted=!0,t._uiManager.addToAnnotationStorage(t)}static initialize(e,t){if(ct._l10n??(ct._l10n=e),ct._l10nResizer||(ct._l10nResizer=Object.freeze({topLeft:"pdfjs-editor-resizer-top-left",topMiddle:"pdfjs-editor-resizer-top-middle",topRight:"pdfjs-editor-resizer-top-right",middleRight:"pdfjs-editor-resizer-middle-right",bottomRight:"pdfjs-editor-resizer-bottom-right",bottomMiddle:"pdfjs-editor-resizer-bottom-middle",bottomLeft:"pdfjs-editor-resizer-bottom-left",middleLeft:"pdfjs-editor-resizer-middle-left"})),ct._borderLineWidth!==-1)return;const s=getComputedStyle(document.documentElement);ct._borderLineWidth=parseFloat(s.getPropertyValue("--outline-width"))||0}static updateDefaultParams(e,t){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(e){return!1}static paste(e,t){$t("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return f(this,Tf)}set _isDraggable(e){var t;C(this,Tf,e),(t=this.div)==null||t.classList.toggle("draggable",e)}get isEnterHandled(){return!0}center(){const[e,t]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*t/(e*2),this.y+=this.width*e/(t*2);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*t/(e*2),this.y-=this.width*e/(t*2);break;default:this.x-=this.width/2,this.y-=this.height/2;break}this.fixAndSetPosition()}addCommands(e){this._uiManager.addCommands(e)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=f(this,Dy)}setParent(e){e!==null?(this.pageIndex=e.pageIndex,this.pageDimensions=e.pageDimensions):T(this,ze,dd).call(this),this.parent=e}focusin(e){this._focusEventsAllowed&&(f(this,xl)?C(this,xl,!1):this.parent.setSelected(this))}focusout(e){var s;if(!this._focusEventsAllowed||!this.isAttachedToDOM)return;const t=e.relatedTarget;t!=null&&t.closest(`#${this.id}`)||(e.preventDefault(),(s=this.parent)!=null&&s.isMultipleSelection||this.commitOrRemove())}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(e,t,s,i){const[r,o]=this.parentDimensions;[s,i]=this.screenToPageTranslation(s,i),this.x=(e+s)/r,this.y=(t+i)/o,this.fixAndSetPosition()}translate(e,t){T(this,ze,zb).call(this,this.parentDimensions,e,t)}translateInPage(e,t){f(this,ta)||C(this,ta,[this.x,this.y]),T(this,ze,zb).call(this,this.pageDimensions,e,t),this.div.scrollIntoView({block:"nearest"})}drag(e,t){f(this,ta)||C(this,ta,[this.x,this.y]);const[s,i]=this.parentDimensions;if(this.x+=e/s,this.y+=t/i,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){const{x:c,y:h}=this.div.getBoundingClientRect();this.parent.findNewParent(this,c,h)&&(this.x-=Math.floor(this.x),this.y-=Math.floor(this.y))}let{x:r,y:o}=this;const[a,l]=this.getBaseTranslation();r+=a,o+=l,this.div.style.left=`${(100*r).toFixed(2)}%`,this.div.style.top=`${(100*o).toFixed(2)}%`,this.div.scrollIntoView({block:"nearest"})}get _hasBeenMoved(){return!!f(this,ta)&&(f(this,ta)[0]!==this.x||f(this,ta)[1]!==this.y)}getBaseTranslation(){const[e,t]=this.parentDimensions,{_borderLineWidth:s}=ct,i=s/e,r=s/t;switch(this.rotation){case 90:return[-i,r];case 180:return[i,r];case 270:return[i,-r];default:return[-i,-r]}}get _mustFixPosition(){return!0}fixAndSetPosition(e=this.rotation){const[t,s]=this.pageDimensions;let{x:i,y:r,width:o,height:a}=this;if(o*=t,a*=s,i*=t,r*=s,this._mustFixPosition)switch(e){case 0:i=Math.max(0,Math.min(t-o,i)),r=Math.max(0,Math.min(s-a,r));break;case 90:i=Math.max(0,Math.min(t-a,i)),r=Math.min(s,Math.max(o,r));break;case 180:i=Math.min(t,Math.max(o,i)),r=Math.min(s,Math.max(a,r));break;case 270:i=Math.min(t,Math.max(a,i)),r=Math.max(0,Math.min(s-o,r));break}this.x=i/=t,this.y=r/=s;const[l,c]=this.getBaseTranslation();i+=l,r+=c;const{style:h}=this.div;h.left=`${(100*i).toFixed(2)}%`,h.top=`${(100*r).toFixed(2)}%`,this.moveInDOM()}screenToPageTranslation(e,t){var s;return T(s=ct,Pf,Hb).call(s,e,t,this.parentRotation)}pageTranslationToScreen(e,t){var s;return T(s=ct,Pf,Hb).call(s,e,t,360-this.parentRotation)}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){const{parentScale:e,pageDimensions:[t,s]}=this;return[t*e,s*e]}setDims(e,t){const[s,i]=this.parentDimensions;this.div.style.width=`${(100*e/s).toFixed(2)}%`,f(this,kl)||(this.div.style.height=`${(100*t/i).toFixed(2)}%`)}fixDims(){const{style:e}=this.div,{height:t,width:s}=e,i=s.endsWith("%"),r=!f(this,kl)&&t.endsWith("%");if(i&&r)return;const[o,a]=this.parentDimensions;i||(e.width=`${(100*parseFloat(s)/o).toFixed(2)}%`),!f(this,kl)&&!r&&(e.height=`${(100*parseFloat(t)/a).toFixed(2)}%`)}getInitialTranslation(){return[0,0]}altTextFinish(){var e;(e=f(this,Dt))==null||e.finish()}async addEditToolbar(){return this._editToolbar||f(this,El)?this._editToolbar:(this._editToolbar=new Pb(this),this.div.append(this._editToolbar.render()),f(this,Dt)&&await this._editToolbar.addAltText(f(this,Dt)),this._editToolbar)}removeEditToolbar(){var e;this._editToolbar&&(this._editToolbar.remove(),this._editToolbar=null,(e=f(this,Dt))==null||e.destroy())}addContainer(e){var s;const t=(s=this._editToolbar)==null?void 0:s.div;t?t.before(e):this.div.append(e)}getClientDimensions(){return this.div.getBoundingClientRect()}async addAltTextButton(){f(this,Dt)||(ay.initialize(ct._l10n),C(this,Dt,new ay(this)),f(this,Sl)&&(f(this,Dt).data=f(this,Sl),C(this,Sl,null)),await this.addEditToolbar())}get altTextData(){var e;return(e=f(this,Dt))==null?void 0:e.data}set altTextData(e){f(this,Dt)&&(f(this,Dt).data=e)}get guessedAltText(){var e;return(e=f(this,Dt))==null?void 0:e.guessedText}async setGuessedAltText(e){var t;await((t=f(this,Dt))==null?void 0:t.setGuessedText(e))}serializeAltText(e){var t;return(t=f(this,Dt))==null?void 0:t.serialize(e)}hasAltText(){return!!f(this,Dt)&&!f(this,Dt).isEmpty()}hasAltTextData(){var e;return((e=f(this,Dt))==null?void 0:e.hasData())??!1}render(){this.div=document.createElement("div"),this.div.setAttribute("data-editor-rotation",(360-this.rotation)%360),this.div.className=this.name,this.div.setAttribute("id",this.id),this.div.tabIndex=f(this,Th)?-1:0,this._isVisible||this.div.classList.add("hidden"),this.setInForeground(),T(this,ze,Wb).call(this);const[e,t]=this.parentDimensions;this.parentRotation%180!==0&&(this.div.style.maxWidth=`${(100*t/e).toFixed(2)}%`,this.div.style.maxHeight=`${(100*e/t).toFixed(2)}%`);const[s,i]=this.getInitialTranslation();return this.translate(s,i),oy(this,this.div,["pointerdown"]),this.div}pointerdown(e){const{isMac:t}=_s.platform;if(e.button!==0||e.ctrlKey&&t){e.preventDefault();return}if(C(this,xl,!0),this._isDraggable){T(this,ze,pR).call(this,e);return}T(this,ze,Vb).call(this,e)}get isSelected(){return this._uiManager.isSelected(this)}moveInDOM(){f(this,mr)&&clearTimeout(f(this,mr)),C(this,mr,setTimeout(()=>{var e;C(this,mr,null),(e=this.parent)==null||e.moveEditorInDOM(this)},0))}_setParentAndPosition(e,t,s){e.changeParent(this),this.x=t,this.y=s,this.fixAndSetPosition()}getRect(e,t,s=this.rotation){const i=this.parentScale,[r,o]=this.pageDimensions,[a,l]=this.pageTranslation,c=e/i,h=t/i,u=this.x*r,d=this.y*o,p=this.width*r,m=this.height*o;switch(s){case 0:return[u+c+a,o-d-h-m+l,u+c+p+a,o-d-h+l];case 90:return[u+h+a,o-d+c+l,u+h+m+a,o-d+c+p+l];case 180:return[u-c-p+a,o-d+h+l,u-c+a,o-d+h+m+l];case 270:return[u-h-m+a,o-d-c-p+l,u-h+a,o-d-c+l];default:throw new Error("Invalid rotation")}}getRectInCurrentCoords(e,t){const[s,i,r,o]=e,a=r-s,l=o-i;switch(this.rotation){case 0:return[s,t-o,a,l];case 90:return[s,t-i,l,a];case 180:return[r,t-i,a,l];case 270:return[r,t-o,l,a];default:throw new Error("Invalid rotation")}}onceAdded(){}isEmpty(){return!1}enableEditMode(){C(this,El,!0)}disableEditMode(){C(this,El,!1)}isInEditMode(){return f(this,El)}shouldGetKeyboardEvents(){return f(this,Yr)}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}rebuild(){T(this,ze,Wb).call(this)}rotate(e){}serializeDeleted(){var e;return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex,popupRef:((e=this._initialData)==null?void 0:e.popupRef)||""}}serialize(e=!1,t=null){$t("An editor must be serializable")}static async deserialize(e,t,s){const i=new this.prototype.constructor({parent:t,id:t.getNextId(),uiManager:s});i.rotation=e.rotation,C(i,Sl,e.accessibilityData);const[r,o]=i.pageDimensions,[a,l,c,h]=i.getRectInCurrentCoords(e.rect,o);return i.x=a/r,i.y=l/o,i.width=c/r,i.height=h/o,i}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||this.serialize()!==null)}remove(){var e;if((e=f(this,ea))==null||e.abort(),C(this,ea,null),this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),f(this,mr)&&(clearTimeout(f(this,mr)),C(this,mr,null)),T(this,ze,dd).call(this),this.removeEditToolbar(),f(this,ai)){for(const t of f(this,ai).values())clearTimeout(t);C(this,ai,null)}this.parent=null}get isResizable(){return!1}makeResizable(){this.isResizable&&(T(this,ze,dR).call(this),f(this,jn).classList.remove("hidden"),oy(this,this.div,["keydown"]))}get toolbarPosition(){return null}keydown(e){if(!this.isResizable||e.target!==this.div||e.key!=="Enter")return;this._uiManager.setSelected(this),C(this,Al,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height});const t=f(this,jn).children;if(!f(this,Li)){C(this,Li,Array.from(t));const o=T(this,ze,mR).bind(this),a=T(this,ze,gR).bind(this),l=this._uiManager._signal;for(const c of f(this,Li)){const h=c.getAttribute("data-resizer-name");c.setAttribute("role","spinbutton"),c.addEventListener("keydown",o,{signal:l}),c.addEventListener("blur",a,{signal:l}),c.addEventListener("focus",T(this,ze,yR).bind(this,h),{signal:l}),c.setAttribute("data-l10n-id",ct._l10nResizer[h])}}const s=f(this,Li)[0];let i=0;for(const o of t){if(o===s)break;i++}const r=(360-this.rotation+this.parentRotation)%360/90*(f(this,Li).length/4);if(r!==i){if(ri)for(let a=0;a{var i,r;(i=this.div)!=null&&i.classList.contains("selectedEditor")&&((r=this._editToolbar)==null||r.show())});return}(t=this._editToolbar)==null||t.show(),(s=f(this,Dt))==null||s.toggleAltTextBadge(!1)}unselect(){var e,t,s,i,r;(e=f(this,jn))==null||e.classList.add("hidden"),(t=this.div)==null||t.classList.remove("selectedEditor"),(s=this.div)!=null&&s.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0}),(i=this._editToolbar)==null||i.hide(),(r=f(this,Dt))==null||r.toggleAltTextBadge(!0)}updateParams(e,t){}disableEditing(){}enableEditing(){}enterInEditMode(){}getImageForAltText(){return null}get contentDiv(){return this.div}get isEditing(){return f(this,$f)}set isEditing(e){C(this,$f,e),this.parent&&(e?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null))}setAspectRatio(e,t){C(this,kl,!0);const s=e/t,{style:i}=this.div;i.aspectRatio=s,i.height="auto"}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:"added"}}get telemetryFinalData(){return null}_reportTelemetry(e,t=!1){if(t){f(this,ai)||C(this,ai,new Map);const{action:s}=e;let i=f(this,ai).get(s);i&&clearTimeout(i),i=setTimeout(()=>{this._reportTelemetry(e),f(this,ai).delete(s),f(this,ai).size===0&&C(this,ai,null)},ct._telemetryTimeout),f(this,ai).set(s,i);return}e.type||(e.type=this.editorType),this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:e}})}show(e=this._isVisible){this.div.classList.toggle("hidden",!e),this._isVisible=e}enable(){this.div&&(this.div.tabIndex=0),C(this,Th,!1)}disable(){this.div&&(this.div.tabIndex=-1),C(this,Th,!0)}renderAnnotationElement(e){let t=e.container.querySelector(".annotationContent");if(!t)t=document.createElement("div"),t.classList.add("annotationContent",this.editorType),e.container.prepend(t);else if(t.nodeName==="CANVAS"){const s=t;t=document.createElement("div"),t.classList.add("annotationContent",this.editorType),s.before(t)}return t}resetAnnotationElement(e){const{firstChild:t}=e.container;(t==null?void 0:t.nodeName)==="DIV"&&t.classList.contains("annotationContent")&&t.remove()}};Sl=new WeakMap,Li=new WeakMap,Dt=new WeakMap,Th=new WeakMap,kl=new WeakMap,jn=new WeakMap,Al=new WeakMap,ea=new WeakMap,Cf=new WeakMap,xl=new WeakMap,ta=new WeakMap,$f=new WeakMap,El=new WeakMap,Yr=new WeakMap,mr=new WeakMap,Ph=new WeakMap,Rh=new WeakMap,ai=new WeakMap,Tf=new WeakMap,Dy=new WeakMap,ze=new WeakSet,zb=function([e,t],s,i){[s,i]=this.screenToPageTranslation(s,i),this.x+=s/e,this.y+=i/t,this.fixAndSetPosition()},Pf=new WeakSet,Hb=function(e,t,s){switch(s){case 90:return[t,-e];case 180:return[-e,-t];case 270:return[-t,e];default:return[e,t]}},Bb=function(e){switch(e){case 90:{const[t,s]=this.pageDimensions;return[0,-t/s,s/t,0]}case 180:return[-1,0,0,-1];case 270:{const[t,s]=this.pageDimensions;return[0,t/s,-s/t,0]}default:return[1,0,0,1]}},dR=function(){if(f(this,jn))return;C(this,jn,document.createElement("div")),f(this,jn).classList.add("resizers");const e=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],t=this._uiManager._signal;for(const s of e){const i=document.createElement("div");f(this,jn).append(i),i.classList.add("resizer",s),i.setAttribute("data-resizer-name",s),i.addEventListener("pointerdown",T(this,ze,fR).bind(this,s),{signal:t}),i.addEventListener("contextmenu",wi,{signal:t}),i.tabIndex=-1}this.div.prepend(f(this,jn))},fR=function(e,t){var m;t.preventDefault();const{isMac:s}=_s.platform;if(t.button!==0||t.ctrlKey&&s)return;(m=f(this,Dt))==null||m.toggle(!1);const i=this._isDraggable;this._isDraggable=!1;const r=new AbortController,o=this._uiManager.combinedSignal(r);this.parent.togglePointerEvents(!1),window.addEventListener("pointermove",T(this,ze,qb).bind(this,e),{passive:!0,capture:!0,signal:o}),window.addEventListener("contextmenu",wi,{signal:o});const a=this.x,l=this.y,c=this.width,h=this.height,u=this.parent.div.style.cursor,d=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(t.target).cursor;const p=()=>{var g;r.abort(),this.parent.togglePointerEvents(!0),(g=f(this,Dt))==null||g.toggle(!0),this._isDraggable=i,this.parent.div.style.cursor=u,this.div.style.cursor=d,T(this,ze,Ub).call(this,a,l,c,h)};window.addEventListener("pointerup",p,{signal:o}),window.addEventListener("blur",p,{signal:o})},Ub=function(e,t,s,i){const r=this.x,o=this.y,a=this.width,l=this.height;r===e&&o===t&&a===s&&l===i||this.addCommands({cmd:()=>{this.width=a,this.height=l,this.x=r,this.y=o;const[c,h]=this.parentDimensions;this.setDims(c*a,h*l),this.fixAndSetPosition()},undo:()=>{this.width=s,this.height=i,this.x=e,this.y=t;const[c,h]=this.parentDimensions;this.setDims(c*s,h*i),this.fixAndSetPosition()},mustExec:!0})},qb=function(e,t){const[s,i]=this.parentDimensions,r=this.x,o=this.y,a=this.width,l=this.height,c=ct.MIN_SIZE/s,h=ct.MIN_SIZE/i,u=Q=>Math.round(Q*1e4)/1e4,d=T(this,ze,Bb).call(this,this.rotation),p=(Q,se)=>[d[0]*Q+d[2]*se,d[1]*Q+d[3]*se],m=T(this,ze,Bb).call(this,360-this.rotation),g=(Q,se)=>[m[0]*Q+m[2]*se,m[1]*Q+m[3]*se];let v,y,w=!1,_=!1;switch(e){case"topLeft":w=!0,v=(Q,se)=>[0,0],y=(Q,se)=>[Q,se];break;case"topMiddle":v=(Q,se)=>[Q/2,0],y=(Q,se)=>[Q/2,se];break;case"topRight":w=!0,v=(Q,se)=>[Q,0],y=(Q,se)=>[0,se];break;case"middleRight":_=!0,v=(Q,se)=>[Q,se/2],y=(Q,se)=>[0,se/2];break;case"bottomRight":w=!0,v=(Q,se)=>[Q,se],y=(Q,se)=>[0,0];break;case"bottomMiddle":v=(Q,se)=>[Q/2,se],y=(Q,se)=>[Q/2,0];break;case"bottomLeft":w=!0,v=(Q,se)=>[0,se],y=(Q,se)=>[Q,0];break;case"middleLeft":_=!0,v=(Q,se)=>[0,se/2],y=(Q,se)=>[Q,se/2];break}const A=v(a,l),k=y(a,l);let $=p(...k);const E=u(r+$[0]),O=u(o+$[1]);let F=1,U=1,[L,H]=this.screenToPageTranslation(t.movementX,t.movementY);if([L,H]=g(L/s,H/i),w){const Q=Math.hypot(a,l);F=U=Math.max(Math.min(Math.hypot(k[0]-A[0]-L,k[1]-A[1]-H)/Q,1/a,1/l),c/a,h/l)}else _?F=Math.max(c,Math.min(1,Math.abs(k[0]-A[0]-L)))/a:U=Math.max(h,Math.min(1,Math.abs(k[1]-A[1]-H)))/l;const B=u(a*F),D=u(l*U);$=p(...y(B,D));const Y=E-$[0],X=O-$[1];this.width=B,this.height=D,this.x=Y,this.y=X,this.setDims(s*B,i*D),this.fixAndSetPosition()},Vb=function(e){const{isMac:t}=_s.platform;e.ctrlKey&&!t||e.shiftKey||e.metaKey&&t?this.parent.toggleSelected(this):this.parent.setSelected(this)},pR=function(e){const{isSelected:t}=this;this._uiManager.setUpDragSession();const s=new AbortController,i=this._uiManager.combinedSignal(s);if(t){this.div.classList.add("moving"),C(this,Ph,e.clientX),C(this,Rh,e.clientY);const o=a=>{const{clientX:l,clientY:c}=a,[h,u]=this.screenToPageTranslation(l-f(this,Ph),c-f(this,Rh));C(this,Ph,l),C(this,Rh,c),this._uiManager.dragSelectedEditors(h,u)};window.addEventListener("pointermove",o,{passive:!0,capture:!0,signal:i})}const r=()=>{s.abort(),t&&this.div.classList.remove("moving"),C(this,xl,!1),this._uiManager.endDragSession()||T(this,ze,Vb).call(this,e)};window.addEventListener("pointerup",r,{signal:i}),window.addEventListener("blur",r,{signal:i})},Wb=function(){if(f(this,ea)||!this.div)return;C(this,ea,new AbortController);const e=this._uiManager.combinedSignal(f(this,ea));this.div.addEventListener("focusin",this.focusin.bind(this),{signal:e}),this.div.addEventListener("focusout",this.focusout.bind(this),{signal:e})},mR=function(e){ct._resizerKeyboardManager.exec(this,e)},gR=function(e){var t;f(this,Yr)&&((t=e.relatedTarget)==null?void 0:t.parentNode)!==f(this,jn)&&T(this,ze,dd).call(this)},yR=function(e){C(this,Cf,f(this,Yr)?e:"")},Gb=function(e){if(f(this,Li))for(const t of f(this,Li))t.tabIndex=e},dd=function(){if(C(this,Yr,!1),T(this,ze,Gb).call(this,-1),f(this,Al)){const{savedX:e,savedY:t,savedWidth:s,savedHeight:i}=f(this,Al);T(this,ze,Ub).call(this,e,t,s,i),C(this,Al,null)}},R(ct,Pf),re(ct,"_l10n",null),re(ct,"_l10nResizer",null),re(ct,"_borderLineWidth",-1),re(ct,"_colorManager",new Ib),re(ct,"_zIndex",1),re(ct,"_telemetryTimeout",1e3);let dt=ct;class T8 extends dt{constructor(e){super(e),this.annotationElementId=e.annotationElementId,this.deleted=!0}serialize(){return this.serializeDeleted()}}const Tx=3285377520,ri=4294901760,nr=65535;class vR{constructor(e){this.h1=e?e&4294967295:Tx,this.h2=e?e&4294967295:Tx}update(e){let t,s;if(typeof e=="string"){t=new Uint8Array(e.length*2),s=0;for(let g=0,v=e.length;g>>8,t[s++]=y&255)}}else if(ArrayBuffer.isView(e))t=e.slice(),s=t.byteLength;else throw new Error("Invalid data format, must be a string or TypedArray.");const i=s>>2,r=s-i*4,o=new Uint32Array(t.buffer,0,i);let a=0,l=0,c=this.h1,h=this.h2;const u=3432918353,d=461845907,p=u&nr,m=d&nr;for(let g=0;g>>17,a=a*d&ri|a*m&nr,c^=a,c=c<<13|c>>>19,c=c*5+3864292196):(l=o[g],l=l*u&ri|l*p&nr,l=l<<15|l>>>17,l=l*d&ri|l*m&nr,h^=l,h=h<<13|h>>>19,h=h*5+3864292196);switch(a=0,r){case 3:a^=t[i*4+2]<<16;case 2:a^=t[i*4+1]<<8;case 1:a^=t[i*4],a=a*u&ri|a*p&nr,a=a<<15|a>>>17,a=a*d&ri|a*m&nr,i&1?c^=a:h^=a}this.h1=c,this.h2=h}hexdigest(){let e=this.h1,t=this.h2;return e^=t>>>1,e=e*3981806797&ri|e*36045&nr,t=t*4283543511&ri|((t<<16|e>>>16)*2950163797&ri)>>>16,e^=t>>>1,e=e*444984403&ri|e*60499&nr,t=t*3301882366&ri|((t<<16|e>>>16)*3120437893&ri)>>>16,e^=t>>>1,(e>>>0).toString(16).padStart(8,"0")+(t>>>0).toString(16).padStart(8,"0")}}const Kb=Object.freeze({map:null,hash:"",transfer:void 0});var Cl,$l,En,Fy,bR;class dk{constructor(){R(this,Fy);R(this,Cl,!1);R(this,$l,null);R(this,En,new Map);this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(e,t){const s=f(this,En).get(e);return s===void 0?t:Object.assign(t,s)}getRawValue(e){return f(this,En).get(e)}remove(e){if(f(this,En).delete(e),f(this,En).size===0&&this.resetModified(),typeof this.onAnnotationEditor=="function"){for(const t of f(this,En).values())if(t instanceof dt)return;this.onAnnotationEditor(null)}}setValue(e,t){const s=f(this,En).get(e);let i=!1;if(s!==void 0)for(const[r,o]of Object.entries(t))s[r]!==o&&(i=!0,s[r]=o);else i=!0,f(this,En).set(e,t);i&&T(this,Fy,bR).call(this),t instanceof dt&&typeof this.onAnnotationEditor=="function"&&this.onAnnotationEditor(t.constructor._type)}has(e){return f(this,En).has(e)}getAll(){return f(this,En).size>0?ok(f(this,En)):null}setAll(e){for(const[t,s]of Object.entries(e))this.setValue(t,s)}get size(){return f(this,En).size}resetModified(){f(this,Cl)&&(C(this,Cl,!1),typeof this.onResetModified=="function"&&this.onResetModified())}get print(){return new wR(this)}get serializable(){if(f(this,En).size===0)return Kb;const e=new Map,t=new vR,s=[],i=Object.create(null);let r=!1;for(const[o,a]of f(this,En)){const l=a instanceof dt?a.serialize(!1,i):a;l&&(e.set(o,l),t.update(`${o}:${JSON.stringify(l)}`),r||(r=!!l.bitmap))}if(r)for(const o of e.values())o.bitmap&&s.push(o.bitmap);return e.size>0?{map:e,hash:t.hexdigest(),transfer:s}:Kb}get editorStats(){let e=null;const t=new Map;for(const s of f(this,En).values()){if(!(s instanceof dt))continue;const i=s.telemetryFinalData;if(!i)continue;const{type:r}=i;t.has(r)||t.set(r,Object.getPrototypeOf(s).constructor),e||(e=Object.create(null));const o=e[r]||(e[r]=new Map);for(const[a,l]of Object.entries(i)){if(a==="type")continue;let c=o.get(a);c||(c=new Map,o.set(a,c));const h=c.get(l)??0;c.set(l,h+1)}}for(const[s,i]of t)e[s]=i.computeTelemetryFinalData(e[s]);return e}resetModifiedIds(){C(this,$l,null)}get modifiedIds(){if(f(this,$l))return f(this,$l);const e=[];for(const t of f(this,En).values())!(t instanceof dt)||!t.annotationElementId||!t.serialize()||e.push(t.annotationElementId);return C(this,$l,{ids:new Set(e),hash:e.join(",")})}}Cl=new WeakMap,$l=new WeakMap,En=new WeakMap,Fy=new WeakSet,bR=function(){f(this,Cl)||(C(this,Cl,!0),typeof this.onSetModified=="function"&&this.onSetModified())};var Rf;class wR extends dk{constructor(t){super();R(this,Rf);const{map:s,hash:i,transfer:r}=t.serializable,o=structuredClone(s,r?{transfer:r}:null);C(this,Rf,{map:o,hash:i,transfer:r})}get print(){$t("Should not call PrintAnnotationStorage.print")}get serializable(){return f(this,Rf)}get modifiedIds(){return Ze(this,"modifiedIds",{ids:new Set,hash:""})}}Rf=new WeakMap;var Mh;class P8{constructor({ownerDocument:e=globalThis.document,styleElement:t=null}){R(this,Mh,new Set);this._document=e,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(e){this.nativeFontFaces.add(e),this._document.fonts.add(e)}removeNativeFontFace(e){this.nativeFontFaces.delete(e),this._document.fonts.delete(e)}insertRule(e){this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement));const t=this.styleElement.sheet;t.insertRule(e,t.cssRules.length)}clear(){for(const e of this.nativeFontFaces)this._document.fonts.delete(e);this.nativeFontFaces.clear(),f(this,Mh).clear(),this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async loadSystemFont({systemFontInfo:e,_inspectFont:t}){if(!(!e||f(this,Mh).has(e.loadedName))){if(yn(!this.disableFontFace,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){const{loadedName:s,src:i,style:r}=e,o=new FontFace(s,i,r);this.addNativeFontFace(o);try{await o.load(),f(this,Mh).add(s),t==null||t(e)}catch{Be(`Cannot load system font: ${e.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(o)}return}$t("Not implemented: loadSystemFont without the Font Loading API.")}}async bind(e){if(e.attached||e.missingFile&&!e.systemFontInfo)return;if(e.attached=!0,e.systemFontInfo){await this.loadSystemFont(e);return}if(this.isFontLoadingAPISupported){const s=e.createNativeFontFace();if(s){this.addNativeFontFace(s);try{await s.loaded}catch(i){throw Be(`Failed to load font '${s.family}': '${i}'.`),e.disableFontFace=!0,i}}return}const t=e.createFontFaceRule();if(t){if(this.insertRule(t),this.isSyncFontLoadingSupported)return;await new Promise(s=>{const i=this._queueLoadingCallback(s);this._prepareFontLoadEvent(e,i)})}}get isFontLoadingAPISupported(){var t;const e=!!((t=this._document)!=null&&t.fonts);return Ze(this,"isFontLoadingAPISupported",e)}get isSyncFontLoadingSupported(){let e=!1;return(cs||typeof navigator<"u"&&typeof(navigator==null?void 0:navigator.userAgent)=="string"&&/Mozilla\/5.0.*?rv:\d+.*? Gecko/.test(navigator.userAgent))&&(e=!0),Ze(this,"isSyncFontLoadingSupported",e)}_queueLoadingCallback(e){function t(){for(yn(!i.done,"completeRequest() cannot be called twice."),i.done=!0;s.length>0&&s[0].done;){const r=s.shift();setTimeout(r.callback,0)}}const{loadingRequests:s}=this,i={done:!1,complete:t,callback:e};return s.push(i),i}get _loadTestFont(){const e=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");return Ze(this,"_loadTestFont",e)}_prepareFontLoadEvent(e,t){function s(A,k){return A.charCodeAt(k)<<24|A.charCodeAt(k+1)<<16|A.charCodeAt(k+2)<<8|A.charCodeAt(k+3)&255}function i(A,k,$,E){const O=A.substring(0,k),F=A.substring(k+$);return O+E+F}let r,o;const a=this._document.createElement("canvas");a.width=1,a.height=1;const l=a.getContext("2d");let c=0;function h(A,k){if(++c>30){Be("Load test font never loaded."),k();return}if(l.font="30px "+A,l.fillText(".",0,20),l.getImageData(0,0,1,1).data[3]>0){k();return}setTimeout(h.bind(null,A,k))}const u=`lt${Date.now()}${this.loadTestFontId++}`;let d=this._loadTestFont;d=i(d,976,u.length,u);const m=16,g=1482184792;let v=s(d,m);for(r=0,o=u.length-3;r{_.remove(),t.complete()})}}Mh=new WeakMap;class R8{constructor(e,{disableFontFace:t=!1,inspectFont:s=null}){this.compiledGlyphs=Object.create(null);for(const i in e)this[i]=e[i];this.disableFontFace=t===!0,this._inspectFont=s}createNativeFontFace(){var t;if(!this.data||this.disableFontFace)return null;let e;if(!this.cssFontInfo)e=new FontFace(this.loadedName,this.data,{});else{const s={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(s.style=`oblique ${this.cssFontInfo.italicAngle}deg`),e=new FontFace(this.cssFontInfo.fontFamily,this.data,s)}return(t=this._inspectFont)==null||t.call(this,this),e}createFontFaceRule(){var s;if(!this.data||this.disableFontFace)return null;const e=`url(data:${this.mimetype};base64,${w8(this.data)});`;let t;if(!this.cssFontInfo)t=`@font-face {font-family:"${this.loadedName}";src:${e}}`;else{let i=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(i+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),t=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${i}src:${e}}`}return(s=this._inspectFont)==null||s.call(this,this,e),t}getPathGenerator(e,t){if(this.compiledGlyphs[t]!==void 0)return this.compiledGlyphs[t];let s;try{s=e.get(this.loadedName+"_path_"+t)}catch(r){Be(`getPathGenerator - ignoring character: "${r}".`)}if(!Array.isArray(s)||s.length===0)return this.compiledGlyphs[t]=function(r,o){};const i=[];for(let r=0,o=s.length;rp.bezierCurveTo(a,l,c,h,u,d)),r+=6}break;case Br.MOVE_TO:{const[a,l]=s.slice(r,r+2);i.push(c=>c.moveTo(a,l)),r+=2}break;case Br.LINE_TO:{const[a,l]=s.slice(r,r+2);i.push(c=>c.lineTo(a,l)),r+=2}break;case Br.QUADRATIC_CURVE_TO:{const[a,l,c,h]=s.slice(r,r+4);i.push(u=>u.quadraticCurveTo(a,l,c,h)),r+=4}break;case Br.RESTORE:i.push(a=>a.restore());break;case Br.SAVE:i.push(a=>a.save());break;case Br.SCALE:yn(i.length===2,"Scale command is only valid at the third position.");break;case Br.TRANSFORM:{const[a,l,c,h,u,d]=s.slice(r,r+6);i.push(p=>p.transform(a,l,c,h,u,d)),r+=6}break;case Br.TRANSLATE:{const[a,l]=s.slice(r,r+2);i.push(c=>c.translate(a,l)),r+=2}break}return this.compiledGlyphs[t]=function(o,a){i[0](o),i[1](o),o.scale(a,-a);for(let l=2,c=i.length;l({cMapData:s,isCompressed:this.isCompressed})).catch(s=>{throw new Error(`Unable to load ${this.isCompressed?"binary ":""}CMap at: ${t}`)})}async _fetch(e){$t("Abstract method `_fetch` called.")}}class kR extends SR{async _fetch(e){const t=await S0(e,this.isCompressed?"arraybuffer":"text");return t instanceof ArrayBuffer?new Uint8Array(t):_0(t)}}class AR{addFilter(e){return"none"}addHCMFilter(e,t){return"none"}addAlphaFilter(e){return"none"}addLuminosityFilter(e){return"none"}addHighlightHCMFilter(e,t,s,i,r){return"none"}destroy(e=!1){}}var Tl,Pl,gr,Jr,is,jy,Rl,pe,ns,Uc,qc,hg,Vc,xR,Zb,Wc,fd,pd,Xb,md;class I8 extends AR{constructor({docId:t,ownerDocument:s=globalThis.document}){super();R(this,pe);R(this,Tl);R(this,Pl);R(this,gr);R(this,Jr);R(this,is);R(this,jy);R(this,Rl,0);C(this,Jr,t),C(this,is,s)}addFilter(t){if(!t)return"none";let s=f(this,pe,ns).get(t);if(s)return s;const[i,r,o]=T(this,pe,hg).call(this,t),a=t.length===1?i:`${i}${r}${o}`;if(s=f(this,pe,ns).get(a),s)return f(this,pe,ns).set(t,s),s;const l=`g_${f(this,Jr)}_transfer_map_${ps(this,Rl)._++}`,c=T(this,pe,Vc).call(this,l);f(this,pe,ns).set(t,c),f(this,pe,ns).set(a,c);const h=T(this,pe,Wc).call(this,l);return T(this,pe,pd).call(this,i,r,o,h),c}addHCMFilter(t,s){var m;const i=`${t}-${s}`,r="base";let o=f(this,pe,Uc).get(r);if((o==null?void 0:o.key)===i||(o?((m=o.filter)==null||m.remove(),o.key=i,o.url="none",o.filter=null):(o={key:i,url:"none",filter:null},f(this,pe,Uc).set(r,o)),!t||!s))return o.url;const a=T(this,pe,md).call(this,t);t=_e.makeHexColor(...a);const l=T(this,pe,md).call(this,s);if(s=_e.makeHexColor(...l),f(this,pe,qc).style.color="",t==="#000000"&&s==="#ffffff"||t===s)return o.url;const c=new Array(256);for(let g=0;g<=255;g++){const v=g/255;c[g]=v<=.03928?v/12.92:((v+.055)/1.055)**2.4}const h=c.join(","),u=`g_${f(this,Jr)}_hcm_filter`,d=o.filter=T(this,pe,Wc).call(this,u);T(this,pe,pd).call(this,h,h,h,d),T(this,pe,Zb).call(this,d);const p=(g,v)=>{const y=a[g]/255,w=l[g]/255,_=new Array(v+1);for(let A=0;A<=v;A++)_[A]=y+A/v*(w-y);return _.join(",")};return T(this,pe,pd).call(this,p(0,5),p(1,5),p(2,5),d),o.url=T(this,pe,Vc).call(this,u),o.url}addAlphaFilter(t){let s=f(this,pe,ns).get(t);if(s)return s;const[i]=T(this,pe,hg).call(this,[t]),r=`alpha_${i}`;if(s=f(this,pe,ns).get(r),s)return f(this,pe,ns).set(t,s),s;const o=`g_${f(this,Jr)}_alpha_map_${ps(this,Rl)._++}`,a=T(this,pe,Vc).call(this,o);f(this,pe,ns).set(t,a),f(this,pe,ns).set(r,a);const l=T(this,pe,Wc).call(this,o);return T(this,pe,Xb).call(this,i,l),a}addLuminosityFilter(t){let s=f(this,pe,ns).get(t||"luminosity");if(s)return s;let i,r;if(t?([i]=T(this,pe,hg).call(this,[t]),r=`luminosity_${i}`):r="luminosity",s=f(this,pe,ns).get(r),s)return f(this,pe,ns).set(t,s),s;const o=`g_${f(this,Jr)}_luminosity_map_${ps(this,Rl)._++}`,a=T(this,pe,Vc).call(this,o);f(this,pe,ns).set(t,a),f(this,pe,ns).set(r,a);const l=T(this,pe,Wc).call(this,o);return T(this,pe,xR).call(this,l),t&&T(this,pe,Xb).call(this,i,l),a}addHighlightHCMFilter(t,s,i,r,o){var w;const a=`${s}-${i}-${r}-${o}`;let l=f(this,pe,Uc).get(t);if((l==null?void 0:l.key)===a||(l?((w=l.filter)==null||w.remove(),l.key=a,l.url="none",l.filter=null):(l={key:a,url:"none",filter:null},f(this,pe,Uc).set(t,l)),!s||!i))return l.url;const[c,h]=[s,i].map(T(this,pe,md).bind(this));let u=Math.round(.2126*c[0]+.7152*c[1]+.0722*c[2]),d=Math.round(.2126*h[0]+.7152*h[1]+.0722*h[2]),[p,m]=[r,o].map(T(this,pe,md).bind(this));d{const $=new Array(256),E=(d-u)/k,O=_/255,F=(A-_)/(255*k);let U=0;for(let L=0;L<=k;L++){const H=Math.round(u+L*E),B=O+L*F;for(let D=U;D<=H;D++)$[D]=B;U=H+1}for(let L=U;L<256;L++)$[L]=$[U-1];return $.join(",")},v=`g_${f(this,Jr)}_hcm_${t}_filter`,y=l.filter=T(this,pe,Wc).call(this,v);return T(this,pe,Zb).call(this,y),T(this,pe,pd).call(this,g(p[0],m[0],5),g(p[1],m[1],5),g(p[2],m[2],5),y),l.url=T(this,pe,Vc).call(this,v),l.url}destroy(t=!1){t&&f(this,pe,Uc).size!==0||(f(this,gr)&&(f(this,gr).parentNode.parentNode.remove(),C(this,gr,null)),f(this,Pl)&&(f(this,Pl).clear(),C(this,Pl,null)),C(this,Rl,0))}}Tl=new WeakMap,Pl=new WeakMap,gr=new WeakMap,Jr=new WeakMap,is=new WeakMap,jy=new WeakMap,Rl=new WeakMap,pe=new WeakSet,ns=function(){return f(this,Pl)||C(this,Pl,new Map)},Uc=function(){return f(this,jy)||C(this,jy,new Map)},qc=function(){if(!f(this,gr)){const t=f(this,is).createElement("div"),{style:s}=t;s.visibility="hidden",s.contain="strict",s.width=s.height=0,s.position="absolute",s.top=s.left=0,s.zIndex=-1;const i=f(this,is).createElementNS(qr,"svg");i.setAttribute("width",0),i.setAttribute("height",0),C(this,gr,f(this,is).createElementNS(qr,"defs")),t.append(i),i.append(f(this,gr)),f(this,is).body.append(t)}return f(this,gr)},hg=function(t){if(t.length===1){const c=t[0],h=new Array(256);for(let d=0;d<256;d++)h[d]=c[d]/255;const u=h.join(",");return[u,u,u]}const[s,i,r]=t,o=new Array(256),a=new Array(256),l=new Array(256);for(let c=0;c<256;c++)o[c]=s[c]/255,a[c]=i[c]/255,l[c]=r[c]/255;return[o.join(","),a.join(","),l.join(",")]},Vc=function(t){if(f(this,Tl)===void 0){C(this,Tl,"");const s=f(this,is).URL;s!==f(this,is).baseURI&&(k0(s)?Be('#createUrl: ignore "data:"-URL for performance reasons.'):C(this,Tl,s.split("#",1)[0]))}return`url(${f(this,Tl)}#${t})`},xR=function(t){const s=f(this,is).createElementNS(qr,"feColorMatrix");s.setAttribute("type","matrix"),s.setAttribute("values","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0"),t.append(s)},Zb=function(t){const s=f(this,is).createElementNS(qr,"feColorMatrix");s.setAttribute("type","matrix"),s.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),t.append(s)},Wc=function(t){const s=f(this,is).createElementNS(qr,"filter");return s.setAttribute("color-interpolation-filters","sRGB"),s.setAttribute("id",t),f(this,pe,qc).append(s),s},fd=function(t,s,i){const r=f(this,is).createElementNS(qr,s);r.setAttribute("type","discrete"),r.setAttribute("tableValues",i),t.append(r)},pd=function(t,s,i,r){const o=f(this,is).createElementNS(qr,"feComponentTransfer");r.append(o),T(this,pe,fd).call(this,o,"feFuncR",t),T(this,pe,fd).call(this,o,"feFuncG",s),T(this,pe,fd).call(this,o,"feFuncB",i)},Xb=function(t,s){const i=f(this,is).createElementNS(qr,"feComponentTransfer");s.append(i),T(this,pe,fd).call(this,i,"feFuncA",t)},md=function(t){return f(this,pe,qc).style.color=t,uk(getComputedStyle(f(this,pe,qc)).getPropertyValue("color"))};class ER{constructor({baseUrl:e=null}){this.baseUrl=e}async fetch({filename:e}){if(!this.baseUrl)throw new Error("Ensure that the `standardFontDataUrl` API parameter is provided.");if(!e)throw new Error("Font filename must be specified.");const t=`${this.baseUrl}${e}`;return this._fetch(t).catch(s=>{throw new Error(`Unable to load font data at: ${t}`)})}async _fetch(e){$t("Abstract method `_fetch` called.")}}class CR extends ER{async _fetch(e){const t=await S0(e,"arraybuffer");return new Uint8Array(t)}}if(cs){var Yb=Promise.withResolvers(),zd=null;(async()=>{const e=await sm(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),t=await sm(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),s=await sm(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),i=await sm(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]);let r,o;return new Map(Object.entries({fs:e,http:t,https:s,url:i,canvas:r,path2d:o}))})().then(e=>{zd=e,Yb.resolve()},e=>{Be(`loadPackages: ${e}`),zd=new Map,Yb.resolve()})}class Pa{static get promise(){return Yb.promise}static get(e){return zd==null?void 0:zd.get(e)}}async function $R(n){const t=await Pa.get("fs").promises.readFile(n);return new Uint8Array(t)}class O8 extends AR{}class N8 extends _R{_createCanvas(e,t){return Pa.get("canvas").createCanvas(e,t)}}class L8 extends SR{async _fetch(e){return $R(e)}}class D8 extends ER{async _fetch(e){return $R(e)}}const ws={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function Jb(n,e){if(!e)return;const t=e[2]-e[0],s=e[3]-e[1],i=new Path2D;i.rect(e[0],e[1],t,s),n.clip(i)}class fk{getPattern(){$t("Abstract method `getPattern` called.")}}class F8 extends fk{constructor(e){super(),this._type=e[1],this._bbox=e[2],this._colorStops=e[3],this._p0=e[4],this._p1=e[5],this._r0=e[6],this._r1=e[7],this.matrix=null}_createGradient(e){let t;this._type==="axial"?t=e.createLinearGradient(this._p0[0],this._p0[1],this._p1[0],this._p1[1]):this._type==="radial"&&(t=e.createRadialGradient(this._p0[0],this._p0[1],this._r0,this._p1[0],this._p1[1],this._r1));for(const s of this._colorStops)t.addColorStop(s[0],s[1]);return t}getPattern(e,t,s,i){let r;if(i===ws.STROKE||i===ws.FILL){const o=t.current.getClippedPathBoundingBox(i,jt(e))||[0,0,0,0],a=Math.ceil(o[2]-o[0])||1,l=Math.ceil(o[3]-o[1])||1,c=t.cachedCanvases.getCanvas("pattern",a,l),h=c.context;h.clearRect(0,0,h.canvas.width,h.canvas.height),h.beginPath(),h.rect(0,0,h.canvas.width,h.canvas.height),h.translate(-o[0],-o[1]),s=_e.transform(s,[1,0,0,1,o[0],o[1]]),h.transform(...t.baseTransform),this.matrix&&h.transform(...this.matrix),Jb(h,this._bbox),h.fillStyle=this._createGradient(h),h.fill(),r=e.createPattern(c.canvas,"no-repeat");const u=new DOMMatrix(s);r.setTransform(u)}else Jb(e,this._bbox),r=this._createGradient(e);return r}}function dv(n,e,t,s,i,r,o,a){const l=e.coords,c=e.colors,h=n.data,u=n.width*4;let d;l[t+1]>l[s+1]&&(d=t,t=s,s=d,d=r,r=o,o=d),l[s+1]>l[i+1]&&(d=s,s=i,i=d,d=o,o=a,a=d),l[t+1]>l[s+1]&&(d=t,t=s,s=d,d=r,r=o,o=d);const p=(l[t]+e.offsetX)*e.scaleX,m=(l[t+1]+e.offsetY)*e.scaleY,g=(l[s]+e.offsetX)*e.scaleX,v=(l[s+1]+e.offsetY)*e.scaleY,y=(l[i]+e.offsetX)*e.scaleX,w=(l[i+1]+e.offsetY)*e.scaleY;if(m>=w)return;const _=c[r],A=c[r+1],k=c[r+2],$=c[o],E=c[o+1],O=c[o+2],F=c[a],U=c[a+1],L=c[a+2],H=Math.round(m),B=Math.round(w);let D,Y,X,Q,se,ve,z,P;for(let N=H;N<=B;N++){if(Nw?W=1:v===w?W=0:W=(v-N)/(v-w),D=g-(g-y)*W,Y=$-($-F)*W,X=E-(E-U)*W,Q=O-(O-L)*W}let M;Nw?M=1:M=(m-N)/(m-w),se=p-(p-y)*M,ve=_-(_-F)*M,z=A-(A-U)*M,P=k-(k-L)*M;const b=Math.round(Math.min(D,se)),x=Math.round(Math.max(D,se));let I=u*N+b*4;for(let W=b;W<=x;W++)M=(D-W)/(D-se),M<0?M=0:M>1&&(M=1),h[I++]=Y-(Y-ve)*M|0,h[I++]=X-(X-z)*M|0,h[I++]=Q-(Q-P)*M|0,h[I++]=255}}function j8(n,e,t){const s=e.coords,i=e.colors;let r,o;switch(e.type){case"lattice":const a=e.verticesPerRow,l=Math.floor(s.length/a)-1,c=a-1;for(r=0;r=U?A=l:$=!0,F>=L?k=c:E=!0;const H=this.getSizeAndScale(A,this.ctx.canvas.width,w),B=this.getSizeAndScale(k,this.ctx.canvas.height,_),D=e.cachedCanvases.getCanvas("pattern",H.size,B.size),Y=D.context,X=a.createCanvasGraphics(Y);if(X.groupLevel=e.groupLevel,this.setFillAndStrokeStyleToContext(X,i,o),Y.translate(-H.scale*h,-B.scale*u),X.transform(H.scale,0,0,B.scale,0,0),Y.save(),this.clipBbox(X,h,u,d,p),X.baseTransform=jt(X.ctx),X.executeOperatorList(s),X.endDrawing(),Y.restore(),$||E){const Q=D.canvas;$&&(A=l),E&&(k=c);const se=this.getSizeAndScale(A,this.ctx.canvas.width,w),ve=this.getSizeAndScale(k,this.ctx.canvas.height,_),z=se.size,P=ve.size,N=e.cachedCanvases.getCanvas("pattern-workaround",z,P),M=N.context,b=$?Math.floor(m/l):0,x=E?Math.floor(g/c):0;for(let I=0;I<=b;I++)for(let W=0;W<=x;W++)M.drawImage(Q,z*I,P*W,z,P,0,0,z,P);return{canvas:N.canvas,scaleX:se.scale,scaleY:ve.scale,offsetX:h,offsetY:u}}return{canvas:D.canvas,scaleX:H.scale,scaleY:B.scale,offsetX:h,offsetY:u}}getSizeAndScale(e,t,s){const i=Math.max(zy.MAX_PATTERN_SIZE,t);let r=Math.ceil(e*s);return r>=i?r=i:s=r/e,{scale:s,size:r}}clipBbox(e,t,s,i,r){const o=i-t,a=r-s;e.ctx.rect(t,s,o,a),e.current.updateRectMinMax(jt(e.ctx),[t,s,i,r]),e.clip(),e.endPath()}setFillAndStrokeStyleToContext(e,t,s){const i=e.ctx,r=e.current;switch(t){case Px.COLORED:const o=this.ctx;i.fillStyle=o.fillStyle,i.strokeStyle=o.strokeStyle,r.fillColor=o.fillStyle,r.strokeColor=o.strokeStyle;break;case Px.UNCOLORED:const a=_e.makeHexColor(s[0],s[1],s[2]);i.fillStyle=a,i.strokeStyle=a,r.fillColor=a,r.strokeColor=a;break;default:throw new f8(`Unsupported paint type: ${t}`)}}getPattern(e,t,s,i){let r=s;i!==ws.SHADING&&(r=_e.transform(r,t.baseTransform),this.matrix&&(r=_e.transform(r,this.matrix)));const o=this.createPatternCanvas(t);let a=new DOMMatrix(r);a=a.translate(o.offsetX,o.offsetY),a=a.scale(1/o.scaleX,1/o.scaleY);const l=e.createPattern(o.canvas,"repeat");return l.setTransform(a),l}};re(zy,"MAX_PATTERN_SIZE",3e3);let Qb=zy;function U8({src:n,srcPos:e=0,dest:t,width:s,height:i,nonBlackColor:r=4294967295,inverseDecode:o=!1}){const a=_s.isLittleEndian?4278190080:255,[l,c]=o?[r,a]:[a,r],h=s>>3,u=s&7,d=n.length;t=new Uint32Array(t.buffer);let p=0;for(let m=0;m{n.save=n.__originalSave,n.restore=n.__originalRestore,n.rotate=n.__originalRotate,n.scale=n.__originalScale,n.translate=n.__originalTranslate,n.transform=n.__originalTransform,n.setTransform=n.__originalSetTransform,n.resetTransform=n.__originalResetTransform,n.clip=n.__originalClip,n.moveTo=n.__originalMoveTo,n.lineTo=n.__originalLineTo,n.bezierCurveTo=n.__originalBezierCurveTo,n.rect=n.__originalRect,n.closePath=n.__originalClosePath,n.beginPath=n.__originalBeginPath,delete n._removeMirroring},n.save=function(){e.save(),this.__originalSave()},n.restore=function(){e.restore(),this.__originalRestore()},n.translate=function(s,i){e.translate(s,i),this.__originalTranslate(s,i)},n.scale=function(s,i){e.scale(s,i),this.__originalScale(s,i)},n.transform=function(s,i,r,o,a,l){e.transform(s,i,r,o,a,l),this.__originalTransform(s,i,r,o,a,l)},n.setTransform=function(s,i,r,o,a,l){e.setTransform(s,i,r,o,a,l),this.__originalSetTransform(s,i,r,o,a,l)},n.resetTransform=function(){e.resetTransform(),this.__originalResetTransform()},n.rotate=function(s){e.rotate(s),this.__originalRotate(s)},n.clip=function(s){e.clip(s),this.__originalClip(s)},n.moveTo=function(t,s){e.moveTo(t,s),this.__originalMoveTo(t,s)},n.lineTo=function(t,s){e.lineTo(t,s),this.__originalLineTo(t,s)},n.bezierCurveTo=function(t,s,i,r,o,a){e.bezierCurveTo(t,s,i,r,o,a),this.__originalBezierCurveTo(t,s,i,r,o,a)},n.rect=function(t,s,i,r){e.rect(t,s,i,r),this.__originalRect(t,s,i,r)},n.closePath=function(){e.closePath(),this.__originalClosePath()},n.beginPath=function(){e.beginPath(),this.__originalBeginPath()}}class W8{constructor(e){this.canvasFactory=e,this.cache=Object.create(null)}getCanvas(e,t,s){let i;return this.cache[e]!==void 0?(i=this.cache[e],this.canvasFactory.reset(i,t,s)):(i=this.canvasFactory.create(t,s),this.cache[e]=i),i}delete(e){delete this.cache[e]}clear(){for(const e in this.cache){const t=this.cache[e];this.canvasFactory.destroy(t),delete this.cache[e]}}}function wm(n,e,t,s,i,r,o,a,l,c){const[h,u,d,p,m,g]=jt(n);if(u===0&&d===0){const w=o*h+m,_=Math.round(w),A=a*p+g,k=Math.round(A),$=(o+l)*h+m,E=Math.abs(Math.round($)-_)||1,O=(a+c)*p+g,F=Math.abs(Math.round(O)-k)||1;return n.setTransform(Math.sign(h),0,0,Math.sign(p),_,k),n.drawImage(e,t,s,i,r,0,0,E,F),n.setTransform(h,u,d,p,m,g),[E,F]}if(h===0&&p===0){const w=a*d+m,_=Math.round(w),A=o*u+g,k=Math.round(A),$=(a+c)*d+m,E=Math.abs(Math.round($)-_)||1,O=(o+l)*u+g,F=Math.abs(Math.round(O)-k)||1;return n.setTransform(0,Math.sign(u),Math.sign(d),0,_,k),n.drawImage(e,t,s,i,r,0,0,F,E),n.setTransform(h,u,d,p,m,g),[F,E]}n.drawImage(e,t,s,i,r,o,a,l,c);const v=Math.hypot(h,u),y=Math.hypot(d,p);return[v*l,y*c]}function G8(n){const{width:e,height:t}=n;if(e>Ox||t>Ox)return null;const s=1e3,i=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),r=e+1;let o=new Uint8Array(r*(t+1)),a,l,c;const h=e+7&-8;let u=new Uint8Array(h*t),d=0;for(const y of n.data){let w=128;for(;w>0;)u[d++]=y&w?0:255,w>>=1}let p=0;for(d=0,u[d]!==0&&(o[0]=1,++p),l=1;l>2)+(u[d+1]?4:0)+(u[d-h+1]?8:0),i[y]&&(o[c+l]=i[y],++p),d++;if(u[d-h]!==u[d]&&(o[c+l]=u[d]?2:4,++p),p>s)return null}for(d=h*(t-1),c=a*r,u[d]!==0&&(o[c]=8,++p),l=1;ls)return null;const m=new Int32Array([0,r,-1,0,-r,0,0,0,1]),g=new Path2D;for(a=0;p&&a<=t;a++){let y=a*r;const w=y+e;for(;y>4,o[y]&=A>>2|A<<2),g.lineTo(y%r,y/r|0),o[y]||--p}while(_!==y);--a}return u=null,o=null,function(y){y.save(),y.scale(1/e,-1/t),y.translate(0,-t),y.fill(g),y.beginPath(),y.restore()}}class Nx{constructor(e,t){this.alphaIsShape=!1,this.fontSize=0,this.fontSizeScale=1,this.textMatrix=VP,this.textMatrixScale=1,this.fontMatrix=xb,this.leading=0,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRenderingMode=ts.FILL,this.textRise=0,this.fillColor="#000000",this.strokeColor="#000000",this.patternFill=!1,this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.activeSMask=null,this.transferMaps="none",this.startNewPathAndClipBox([0,0,e,t])}clone(){const e=Object.create(this);return e.clipBox=this.clipBox.slice(),e}setCurrentPoint(e,t){this.x=e,this.y=t}updatePathMinMax(e,t,s){[t,s]=_e.applyTransform([t,s],e),this.minX=Math.min(this.minX,t),this.minY=Math.min(this.minY,s),this.maxX=Math.max(this.maxX,t),this.maxY=Math.max(this.maxY,s)}updateRectMinMax(e,t){const s=_e.applyTransform(t,e),i=_e.applyTransform(t.slice(2),e),r=_e.applyTransform([t[0],t[3]],e),o=_e.applyTransform([t[2],t[1]],e);this.minX=Math.min(this.minX,s[0],i[0],r[0],o[0]),this.minY=Math.min(this.minY,s[1],i[1],r[1],o[1]),this.maxX=Math.max(this.maxX,s[0],i[0],r[0],o[0]),this.maxY=Math.max(this.maxY,s[1],i[1],r[1],o[1])}updateScalingPathMinMax(e,t){_e.scaleMinMax(e,t),this.minX=Math.min(this.minX,t[0]),this.minY=Math.min(this.minY,t[1]),this.maxX=Math.max(this.maxX,t[2]),this.maxY=Math.max(this.maxY,t[3])}updateCurvePathMinMax(e,t,s,i,r,o,a,l,c,h){const u=_e.bezierBoundingBox(t,s,i,r,o,a,l,c,h);h||this.updateRectMinMax(e,u)}getPathBoundingBox(e=ws.FILL,t=null){const s=[this.minX,this.minY,this.maxX,this.maxY];if(e===ws.STROKE){t||$t("Stroke bounding box must include transform.");const i=_e.singularValueDecompose2dScale(t),r=i[0]*this.lineWidth/2,o=i[1]*this.lineWidth/2;s[0]-=r,s[1]-=o,s[2]+=r,s[3]+=o}return s}updateClipFromPath(){const e=_e.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(e||[0,0,0,0])}isEmptyClip(){return this.minX===1/0}startNewPathAndClipBox(e){this.clipBox=e,this.minX=1/0,this.minY=1/0,this.maxX=0,this.maxY=0}getClippedPathBoundingBox(e=ws.FILL,t=null){return _e.intersect(this.clipBox,this.getPathBoundingBox(e,t))}}function Lx(n,e){if(typeof ImageData<"u"&&e instanceof ImageData){n.putImageData(e,0,0);return}const t=e.height,s=e.width,i=t%Is,r=(t-i)/Is,o=i===0?r:r+1,a=n.createImageData(s,Is);let l=0,c;const h=e.data,u=a.data;let d,p,m,g;if(e.kind===sg.GRAYSCALE_1BPP){const v=h.byteLength,y=new Uint32Array(u.buffer,0,u.byteLength>>2),w=y.length,_=s+7>>3,A=4294967295,k=_s.isLittleEndian?4278190080:255;for(d=0;d_?s:$*8-7,F=O&-8;let U=0,L=0;for(;E>=1}for(;c=r&&(m=i,g=s*m),c=0,p=g;p--;)u[c++]=h[l++],u[c++]=h[l++],u[c++]=h[l++],u[c++]=255;n.putImageData(a,0,d*Is)}else throw new Error(`bad image kind: ${e.kind}`)}function Dx(n,e){if(e.bitmap){n.drawImage(e.bitmap,0,0);return}const t=e.height,s=e.width,i=t%Is,r=(t-i)/Is,o=i===0?r:r+1,a=n.createImageData(s,Is);let l=0;const c=e.data,h=a.data;for(let u=0;uIx&&typeof s=="function",h=c?Date.now()+q8:0;let u=0;const d=this.commonObjs,p=this.objs;let m;for(;;){if(i!==void 0&&a===i.nextBreakPoint)return i.breakIt(a,s),a;if(m=o[a],m!==Ri.dependency)this[m].apply(this,r[a]);else for(const g of r[a]){const v=g.startsWith("g_")?d:p;if(!v.has(g))return v.get(g,s),a}if(a++,a===l)return a;if(c&&++u>Ix){if(Date.now()>h)return s(),a;u=0}}}endDrawing(){T(this,La,ew).call(this),this.cachedCanvases.clear(),this.cachedPatterns.clear();for(const e of this._cachedBitmapsMap.values()){for(const t of e.values())typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement&&(t.width=t.height=0);e.clear()}this._cachedBitmapsMap.clear(),T(this,La,tw).call(this)}_scaleImage(e,t){const s=e.width??e.displayWidth,i=e.height??e.displayHeight;let r=Math.max(Math.hypot(t[0],t[1]),1),o=Math.max(Math.hypot(t[2],t[3]),1),a=s,l=i,c="prescale1",h,u;for(;r>2&&a>1||o>2&&l>1;){let d=a,p=l;r>2&&a>1&&(d=a>=16384?Math.floor(a/2)-1||1:Math.ceil(a/2),r/=a/d),o>2&&l>1&&(p=l>=16384?Math.floor(l/2)-1||1:Math.ceil(l)/2,o/=l/p),h=this.cachedCanvases.getCanvas(c,d,p),u=h.context,u.clearRect(0,0,d,p),u.drawImage(e,0,0,a,l,0,0,d,p),e=h.canvas,a=d,l=p,c=c==="prescale1"?"prescale2":"prescale1"}return{img:e,paintWidth:a,paintHeight:l}}_createMaskCanvas(e){const t=this.ctx,{width:s,height:i}=e,r=this.current.fillColor,o=this.current.patternFill,a=jt(t);let l,c,h,u;if((e.bitmap||e.data)&&e.count>1){const O=e.bitmap||e.data.buffer;c=JSON.stringify(o?a:[a.slice(0,4),r]),l=this._cachedBitmapsMap.get(O),l||(l=new Map,this._cachedBitmapsMap.set(O,l));const F=l.get(c);if(F&&!o){const U=Math.round(Math.min(a[0],a[2])+a[4]),L=Math.round(Math.min(a[1],a[3])+a[5]);return{canvas:F,offsetX:U,offsetY:L}}h=F}h||(u=this.cachedCanvases.getCanvas("maskCanvas",s,i),Dx(u.context,e));let d=_e.transform(a,[1/s,0,0,-1/i,0,0]);d=_e.transform(d,[1,0,0,1,0,-i]);const[p,m,g,v]=_e.getAxialAlignedBoundingBox([0,0,s,i],d),y=Math.round(g-p)||1,w=Math.round(v-m)||1,_=this.cachedCanvases.getCanvas("fillCanvas",y,w),A=_.context,k=p,$=m;A.translate(-k,-$),A.transform(...d),h||(h=this._scaleImage(u.canvas,Ur(A)),h=h.img,l&&o&&l.set(c,h)),A.imageSmoothingEnabled=Fx(jt(A),e.interpolate),wm(A,h,0,0,h.width,h.height,0,0,s,i),A.globalCompositeOperation="source-in";const E=_e.transform(Ur(A),[1,0,0,1,-k,-$]);return A.fillStyle=o?r.getPattern(t,this,E,ws.FILL):r,A.fillRect(0,0,s,i),l&&!o&&(this.cachedCanvases.delete("fillCanvas"),l.set(c,_.canvas)),{canvas:_.canvas,offsetX:Math.round(k),offsetY:Math.round($)}}setLineWidth(e){e!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1),this.current.lineWidth=e,this.ctx.lineWidth=e}setLineCap(e){this.ctx.lineCap=K8[e]}setLineJoin(e){this.ctx.lineJoin=Z8[e]}setMiterLimit(e){this.ctx.miterLimit=e}setDash(e,t){const s=this.ctx;s.setLineDash!==void 0&&(s.setLineDash(e),s.lineDashOffset=t)}setRenderingIntent(e){}setFlatness(e){}setGState(e){for(const[t,s]of e)switch(t){case"LW":this.setLineWidth(s);break;case"LC":this.setLineCap(s);break;case"LJ":this.setLineJoin(s);break;case"ML":this.setMiterLimit(s);break;case"D":this.setDash(s[0],s[1]);break;case"RI":this.setRenderingIntent(s);break;case"FL":this.setFlatness(s);break;case"Font":this.setFont(s[0],s[1]);break;case"CA":this.current.strokeAlpha=s;break;case"ca":this.current.fillAlpha=s,this.ctx.globalAlpha=s;break;case"BM":this.ctx.globalCompositeOperation=s;break;case"SMask":this.current.activeSMask=s?this.tempSMask:null,this.tempSMask=null,this.checkSMaskState();break;case"TR":this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(s);break}}get inSMaskMode(){return!!this.suspendedCtx}checkSMaskState(){const e=this.inSMaskMode;this.current.activeSMask&&!e?this.beginSMaskMode():!this.current.activeSMask&&e&&this.endSMaskMode()}beginSMaskMode(){if(this.inSMaskMode)throw new Error("beginSMaskMode called while already in smask mode");const e=this.ctx.canvas.width,t=this.ctx.canvas.height,s="smaskGroupAt"+this.groupLevel,i=this.cachedCanvases.getCanvas(s,e,t);this.suspendedCtx=this.ctx,this.ctx=i.context;const r=this.ctx;r.setTransform(...jt(this.suspendedCtx)),Yu(this.suspendedCtx,r),V8(r,this.suspendedCtx),this.setGState([["BM","source-over"],["ca",1],["CA",1]])}endSMaskMode(){if(!this.inSMaskMode)throw new Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),Yu(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null}compose(e){if(!this.current.activeSMask)return;e?(e[0]=Math.floor(e[0]),e[1]=Math.floor(e[1]),e[2]=Math.ceil(e[2]),e[3]=Math.ceil(e[3])):e=[0,0,this.ctx.canvas.width,this.ctx.canvas.height];const t=this.current.activeSMask,s=this.suspendedCtx;this.composeSMask(s,t,this.ctx,e),this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore()}composeSMask(e,t,s,i){const r=i[0],o=i[1],a=i[2]-r,l=i[3]-o;a===0||l===0||(this.genericComposeSMask(t.context,s,a,l,t.subtype,t.backdrop,t.transferMap,r,o,t.offsetX,t.offsetY),e.save(),e.globalAlpha=1,e.globalCompositeOperation="source-over",e.setTransform(1,0,0,1,0,0),e.drawImage(s.canvas,0,0),e.restore())}genericComposeSMask(e,t,s,i,r,o,a,l,c,h,u){let d=e.canvas,p=l-h,m=c-u;if(o){const v=_e.makeHexColor(...o);if(p<0||m<0||p+s>d.width||m+i>d.height){const y=this.cachedCanvases.getCanvas("maskExtension",s,i),w=y.context;w.drawImage(d,-p,-m),w.globalCompositeOperation="destination-atop",w.fillStyle=v,w.fillRect(0,0,s,i),w.globalCompositeOperation="source-over",d=y.canvas,p=m=0}else{e.save(),e.globalAlpha=1,e.setTransform(1,0,0,1,0,0);const y=new Path2D;y.rect(p,m,s,i),e.clip(y),e.globalCompositeOperation="destination-atop",e.fillStyle=v,e.fillRect(p,m,s,i),e.restore()}}t.save(),t.globalAlpha=1,t.setTransform(1,0,0,1,0,0),r==="Alpha"&&a?t.filter=this.filterFactory.addAlphaFilter(a):r==="Luminosity"&&(t.filter=this.filterFactory.addLuminosityFilter(a));const g=new Path2D;g.rect(l,c,s,i),t.clip(g),t.globalCompositeOperation="destination-in",t.drawImage(d,p,m,s,i,l,c,s,i),t.restore()}save(){this.inSMaskMode?(Yu(this.ctx,this.suspendedCtx),this.suspendedCtx.save()):this.ctx.save();const e=this.current;this.stateStack.push(e),this.current=e.clone()}restore(){this.stateStack.length===0&&this.inSMaskMode&&this.endSMaskMode(),this.stateStack.length!==0&&(this.current=this.stateStack.pop(),this.inSMaskMode?(this.suspendedCtx.restore(),Yu(this.suspendedCtx,this.ctx)):this.ctx.restore(),this.checkSMaskState(),this.pendingClip=null,this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null)}transform(e,t,s,i,r,o){this.ctx.transform(e,t,s,i,r,o),this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}constructPath(e,t,s){const i=this.ctx,r=this.current;let o=r.x,a=r.y,l,c;const h=jt(i),u=h[0]===0&&h[3]===0||h[1]===0&&h[2]===0,d=u?s.slice(0):null;for(let p=0,m=0,g=e.length;pMx&&(c=Mx),this.current.fontSizeScale=t/c,this.ctx.font=`${l} ${a} ${c}px ${o}`}setTextRenderingMode(e){this.current.textRenderingMode=e}setTextRise(e){this.current.textRise=e}moveText(e,t){this.current.x=this.current.lineX+=e,this.current.y=this.current.lineY+=t}setLeadingMoveText(e,t){this.setLeading(-t),this.moveText(e,t)}setTextMatrix(e,t,s,i,r,o){this.current.textMatrix=[e,t,s,i,r,o],this.current.textMatrixScale=Math.hypot(e,t),this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0}nextLine(){this.moveText(0,this.current.leading)}paintChar(e,t,s,i){const r=this.ctx,o=this.current,a=o.font,l=o.textRenderingMode,c=o.fontSize/o.fontSizeScale,h=l&ts.FILL_STROKE_MASK,u=!!(l&ts.ADD_TO_PATH_FLAG),d=o.patternFill&&!a.missingFile;let p;(a.disableFontFace||u||d)&&(p=a.getPathGenerator(this.commonObjs,e)),a.disableFontFace||d?(r.save(),r.translate(t,s),r.beginPath(),p(r,c),i&&r.setTransform(...i),(h===ts.FILL||h===ts.FILL_STROKE)&&r.fill(),(h===ts.STROKE||h===ts.FILL_STROKE)&&r.stroke(),r.restore()):((h===ts.FILL||h===ts.FILL_STROKE)&&r.fillText(e,t,s),(h===ts.STROKE||h===ts.FILL_STROKE)&&r.strokeText(e,t,s)),u&&(this.pendingTextPaths||(this.pendingTextPaths=[])).push({transform:jt(r),x:t,y:s,fontSize:c,addToPath:p})}get isFontSubpixelAAEnabled(){const{context:e}=this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled",10,10);e.scale(1.5,1),e.fillText("I",0,10);const t=e.getImageData(0,0,10,10).data;let s=!1;for(let i=3;i0&&t[i]<255){s=!0;break}return Ze(this,"isFontSubpixelAAEnabled",s)}showText(e){const t=this.current,s=t.font;if(s.isType3Font)return this.showType3Text(e);const i=t.fontSize;if(i===0)return;const r=this.ctx,o=t.fontSizeScale,a=t.charSpacing,l=t.wordSpacing,c=t.fontDirection,h=t.textHScale*c,u=e.length,d=s.vertical,p=d?1:-1,m=s.defaultVMetrics,g=i*t.fontMatrix[0],v=t.textRenderingMode===ts.FILL&&!s.disableFontFace&&!t.patternFill;r.save(),r.transform(...t.textMatrix),r.translate(t.x,t.y+t.textRise),c>0?r.scale(h,-1):r.scale(h,1);let y;if(t.patternFill){r.save();const $=t.fillColor.getPattern(r,this,Ur(r),ws.FILL);y=jt(r),r.restore(),r.fillStyle=$}let w=t.lineWidth;const _=t.textMatrixScale;if(_===0||w===0){const $=t.textRenderingMode&ts.FILL_STROKE_MASK;($===ts.STROKE||$===ts.FILL_STROKE)&&(w=this.getSinglePixelWidth())}else w/=_;if(o!==1&&(r.scale(o,o),w/=o),r.lineWidth=w,s.isInvalidPDFjsFont){const $=[];let E=0;for(const O of e)$.push(O.unicode),E+=O.width;r.fillText($.join(""),0,0),t.x+=E*g*h,r.restore(),this.compose();return}let A=0,k;for(k=0;k0){const Y=r.measureText(F).width*1e3/i*o;if(Bnew Xk(o,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack})};t=new Qb(e,s,this.ctx,r,i)}else t=this._getPattern(e[1],e[2]);return t}setStrokeColorN(){this.current.strokeColor=this.getColorN_Pattern(arguments)}setFillColorN(){this.current.fillColor=this.getColorN_Pattern(arguments),this.current.patternFill=!0}setStrokeRGBColor(e,t,s){this.ctx.strokeStyle=this.current.strokeColor=_e.makeHexColor(e,t,s)}setStrokeTransparent(){this.ctx.strokeStyle=this.current.strokeColor="transparent"}setFillRGBColor(e,t,s){this.ctx.fillStyle=this.current.fillColor=_e.makeHexColor(e,t,s),this.current.patternFill=!1}setFillTransparent(){this.ctx.fillStyle=this.current.fillColor="transparent",this.current.patternFill=!1}_getPattern(e,t=null){let s;return this.cachedPatterns.has(e)?s=this.cachedPatterns.get(e):(s=B8(this.getObject(e)),this.cachedPatterns.set(e,s)),t&&(s.matrix=t),s}shadingFill(e){if(!this.contentVisible)return;const t=this.ctx;this.save();const s=this._getPattern(e);t.fillStyle=s.getPattern(t,this,Ur(t),ws.SHADING);const i=Ur(t);if(i){const{width:r,height:o}=t.canvas,[a,l,c,h]=_e.getAxialAlignedBoundingBox([0,0,r,o],i);this.ctx.fillRect(a,l,c-a,h-l)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.compose(this.current.getClippedPathBoundingBox()),this.restore()}beginInlineImage(){$t("Should not call beginInlineImage")}beginImageData(){$t("Should not call beginImageData")}paintFormXObjectBegin(e,t){if(this.contentVisible&&(this.save(),this.baseTransformStack.push(this.baseTransform),e&&this.transform(...e),this.baseTransform=jt(this.ctx),t)){const s=t[2]-t[0],i=t[3]-t[1];this.ctx.rect(t[0],t[1],s,i),this.current.updateRectMinMax(jt(this.ctx),t),this.clip(),this.endPath()}}paintFormXObjectEnd(){this.contentVisible&&(this.restore(),this.baseTransform=this.baseTransformStack.pop())}beginGroup(e){if(!this.contentVisible)return;this.save(),this.inSMaskMode&&(this.endSMaskMode(),this.current.activeSMask=null);const t=this.ctx;e.isolated||b0("TODO: Support non-isolated groups."),e.knockout&&Be("Knockout groups not supported.");const s=jt(t);if(e.matrix&&t.transform(...e.matrix),!e.bbox)throw new Error("Bounding box is required.");let i=_e.getAxialAlignedBoundingBox(e.bbox,jt(t));const r=[0,0,t.canvas.width,t.canvas.height];i=_e.intersect(i,r)||[0,0,0,0];const o=Math.floor(i[0]),a=Math.floor(i[1]),l=Math.max(Math.ceil(i[2])-o,1),c=Math.max(Math.ceil(i[3])-a,1);this.current.startNewPathAndClipBox([0,0,l,c]);let h="groupAt"+this.groupLevel;e.smask&&(h+="_smask_"+this.smaskCounter++%2);const u=this.cachedCanvases.getCanvas(h,l,c),d=u.context;d.translate(-o,-a),d.transform(...s),e.smask?this.smaskStack.push({canvas:u.canvas,context:d,offsetX:o,offsetY:a,subtype:e.smask.subtype,backdrop:e.smask.backdrop,transferMap:e.smask.transferMap||null,startTransformInverse:null}):(t.setTransform(1,0,0,1,0,0),t.translate(o,a),t.save()),Yu(t,d),this.ctx=d,this.setGState([["BM","source-over"],["ca",1],["CA",1]]),this.groupStack.push(t),this.groupLevel++}endGroup(e){if(!this.contentVisible)return;this.groupLevel--;const t=this.ctx,s=this.groupStack.pop();if(this.ctx=s,this.ctx.imageSmoothingEnabled=!1,e.smask)this.tempSMask=this.smaskStack.pop(),this.restore();else{this.ctx.restore();const i=jt(this.ctx);this.restore(),this.ctx.save(),this.ctx.setTransform(...i);const r=_e.getAxialAlignedBoundingBox([0,0,t.canvas.width,t.canvas.height],i);this.ctx.drawImage(t.canvas,0,0),this.ctx.restore(),this.compose(r)}}beginAnnotation(e,t,s,i,r){if(T(this,La,ew).call(this),_m(this.ctx),this.ctx.save(),this.save(),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),t){const o=t[2]-t[0],a=t[3]-t[1];if(r&&this.annotationCanvasMap){s=s.slice(),s[4]-=t[0],s[5]-=t[1],t=t.slice(),t[0]=t[1]=0,t[2]=o,t[3]=a;const[l,c]=_e.singularValueDecompose2dScale(jt(this.ctx)),{viewportScale:h}=this,u=Math.ceil(o*this.outputScaleX*h),d=Math.ceil(a*this.outputScaleY*h);this.annotationCanvas=this.canvasFactory.create(u,d);const{canvas:p,context:m}=this.annotationCanvas;this.annotationCanvasMap.set(e,p),this.annotationCanvas.savedCtx=this.ctx,this.ctx=m,this.ctx.save(),this.ctx.setTransform(l,0,0,-c,0,a*c),_m(this.ctx)}else _m(this.ctx),this.endPath(),this.ctx.rect(t[0],t[1],o,a),this.ctx.clip(),this.ctx.beginPath()}this.current=new Nx(this.ctx.canvas.width,this.ctx.canvas.height),this.transform(...s),this.transform(...i)}endAnnotation(){this.annotationCanvas&&(this.ctx.restore(),T(this,La,tw).call(this),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas)}paintImageMaskXObject(e){if(!this.contentVisible)return;const t=e.count;e=this.getObject(e.data,e),e.count=t;const s=this.ctx,i=this.processingType3;if(i&&(i.compiled===void 0&&(i.compiled=G8(e)),i.compiled)){i.compiled(s);return}const r=this._createMaskCanvas(e),o=r.canvas;s.save(),s.setTransform(1,0,0,1,0,0),s.drawImage(o,r.offsetX,r.offsetY),s.restore(),this.compose()}paintImageMaskXObjectRepeat(e,t,s=0,i=0,r,o){if(!this.contentVisible)return;e=this.getObject(e.data,e);const a=this.ctx;a.save();const l=jt(a);a.transform(t,s,i,r,0,0);const c=this._createMaskCanvas(e);a.setTransform(1,0,0,1,c.offsetX-l[4],c.offsetY-l[5]);for(let h=0,u=o.length;hu?h/u:1,a=c>u?c/u:1}}this._cachedScaleForStroking[0]=o,this._cachedScaleForStroking[1]=a}return this._cachedScaleForStroking}rescaleAndStroke(e){const{ctx:t}=this,{lineWidth:s}=this.current,[i,r]=this.getScaleForStroking();if(t.lineWidth=s||1,i===1&&r===1){t.stroke();return}const o=t.getLineDash();if(e&&t.save(),t.scale(i,r),o.length>0){const a=Math.max(i,r);t.setLineDash(o.map(l=>l/a)),t.lineDashOffset/=a}t.stroke(),e&&t.restore()}isContentVisible(){for(let e=this.markedContentStack.length-1;e>=0;e--)if(!this.markedContentStack[e].visible)return!1;return!0}};La=new WeakSet,ew=function(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.current.activeSMask=null,this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.transparentCanvas=null)},tw=function(){if(this.pageColors){const e=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if(e!=="none"){const t=this.ctx.filter;this.ctx.filter=e,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=t}}};let hh=Xk;for(const n in Ri)hh.prototype[n]!==void 0&&(hh.prototype[Ri[n]]=hh.prototype[n]);var If,Of;class vo{static get workerPort(){return f(this,If)}static set workerPort(e){if(!(typeof Worker<"u"&&e instanceof Worker)&&e!==null)throw new Error("Invalid `workerPort` type.");C(this,If,e)}static get workerSrc(){return f(this,Of)}static set workerSrc(e){if(typeof e!="string")throw new Error("Invalid `workerSrc` type.");C(this,Of,e)}}If=new WeakMap,Of=new WeakMap,R(vo,If,null),R(vo,Of,"");const Sm={DATA:1,ERROR:2},nn={CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function Hs(n){switch(n instanceof Error||typeof n=="object"&&n!==null||$t('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),n.name){case"AbortException":return new Rc(n.message);case"MissingPDFException":return new Pc(n.message);case"PasswordException":return new Eb(n.message,n.code);case"UnexpectedResponseException":return new w0(n.message,n.status);case"UnknownErrorException":return new Cb(n.message,n.details);default:return new Cb(n.message,n.toString())}}var Ih,bi,TR,PR,RR,ug;class gd{constructor(e,t,s){R(this,bi);R(this,Ih,new AbortController);this.sourceName=e,this.targetName=t,this.comObj=s,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),s.addEventListener("message",T(this,bi,TR).bind(this),{signal:f(this,Ih).signal})}on(e,t){const s=this.actionHandler;if(s[e])throw new Error(`There is already an actionName called "${e}"`);s[e]=t}send(e,t,s){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,data:t},s)}sendWithPromise(e,t,s){const i=this.callbackId++,r=Promise.withResolvers();this.callbackCapabilities[i]=r;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,callbackId:i,data:t},s)}catch(o){r.reject(o)}return r.promise}sendWithStream(e,t,s,i){const r=this.streamId++,o=this.sourceName,a=this.targetName,l=this.comObj;return new ReadableStream({start:c=>{const h=Promise.withResolvers();return this.streamControllers[r]={controller:c,startCall:h,pullCall:null,cancelCall:null,isClosed:!1},l.postMessage({sourceName:o,targetName:a,action:e,streamId:r,data:t,desiredSize:c.desiredSize},i),h.promise},pull:c=>{const h=Promise.withResolvers();return this.streamControllers[r].pullCall=h,l.postMessage({sourceName:o,targetName:a,stream:nn.PULL,streamId:r,desiredSize:c.desiredSize}),h.promise},cancel:c=>{yn(c instanceof Error,"cancel must have a valid reason");const h=Promise.withResolvers();return this.streamControllers[r].cancelCall=h,this.streamControllers[r].isClosed=!0,l.postMessage({sourceName:o,targetName:a,stream:nn.CANCEL,streamId:r,reason:Hs(c)}),h.promise}},s)}destroy(){var e;(e=f(this,Ih))==null||e.abort(),C(this,Ih,null)}}Ih=new WeakMap,bi=new WeakSet,TR=function({data:e}){if(e.targetName!==this.sourceName)return;if(e.stream){T(this,bi,RR).call(this,e);return}if(e.callback){const s=e.callbackId,i=this.callbackCapabilities[s];if(!i)throw new Error(`Cannot resolve callback ${s}`);if(delete this.callbackCapabilities[s],e.callback===Sm.DATA)i.resolve(e.data);else if(e.callback===Sm.ERROR)i.reject(Hs(e.reason));else throw new Error("Unexpected callback case");return}const t=this.actionHandler[e.action];if(!t)throw new Error(`Unknown action from worker: ${e.action}`);if(e.callbackId){const s=this.sourceName,i=e.sourceName,r=this.comObj;new Promise(function(o){o(t(e.data))}).then(function(o){r.postMessage({sourceName:s,targetName:i,callback:Sm.DATA,callbackId:e.callbackId,data:o})},function(o){r.postMessage({sourceName:s,targetName:i,callback:Sm.ERROR,callbackId:e.callbackId,reason:Hs(o)})});return}if(e.streamId){T(this,bi,PR).call(this,e);return}t(e.data)},PR=function(e){const t=e.streamId,s=this.sourceName,i=e.sourceName,r=this.comObj,o=this,a=this.actionHandler[e.action],l={enqueue(c,h=1,u){if(this.isCancelled)return;const d=this.desiredSize;this.desiredSize-=h,d>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),r.postMessage({sourceName:s,targetName:i,stream:nn.ENQUEUE,streamId:t,chunk:c},u)},close(){this.isCancelled||(this.isCancelled=!0,r.postMessage({sourceName:s,targetName:i,stream:nn.CLOSE,streamId:t}),delete o.streamSinks[t])},error(c){yn(c instanceof Error,"error must have a valid reason"),!this.isCancelled&&(this.isCancelled=!0,r.postMessage({sourceName:s,targetName:i,stream:nn.ERROR,streamId:t,reason:Hs(c)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};l.sinkCapability.resolve(),l.ready=l.sinkCapability.promise,this.streamSinks[t]=l,new Promise(function(c){c(a(e.data,l))}).then(function(){r.postMessage({sourceName:s,targetName:i,stream:nn.START_COMPLETE,streamId:t,success:!0})},function(c){r.postMessage({sourceName:s,targetName:i,stream:nn.START_COMPLETE,streamId:t,reason:Hs(c)})})},RR=function(e){const t=e.streamId,s=this.sourceName,i=e.sourceName,r=this.comObj,o=this.streamControllers[t],a=this.streamSinks[t];switch(e.stream){case nn.START_COMPLETE:e.success?o.startCall.resolve():o.startCall.reject(Hs(e.reason));break;case nn.PULL_COMPLETE:e.success?o.pullCall.resolve():o.pullCall.reject(Hs(e.reason));break;case nn.PULL:if(!a){r.postMessage({sourceName:s,targetName:i,stream:nn.PULL_COMPLETE,streamId:t,success:!0});break}a.desiredSize<=0&&e.desiredSize>0&&a.sinkCapability.resolve(),a.desiredSize=e.desiredSize,new Promise(function(l){var c;l((c=a.onPull)==null?void 0:c.call(a))}).then(function(){r.postMessage({sourceName:s,targetName:i,stream:nn.PULL_COMPLETE,streamId:t,success:!0})},function(l){r.postMessage({sourceName:s,targetName:i,stream:nn.PULL_COMPLETE,streamId:t,reason:Hs(l)})});break;case nn.ENQUEUE:if(yn(o,"enqueue should have stream controller"),o.isClosed)break;o.controller.enqueue(e.chunk);break;case nn.CLOSE:if(yn(o,"close should have stream controller"),o.isClosed)break;o.isClosed=!0,o.controller.close(),T(this,bi,ug).call(this,o,t);break;case nn.ERROR:yn(o,"error should have stream controller"),o.controller.error(Hs(e.reason)),T(this,bi,ug).call(this,o,t);break;case nn.CANCEL_COMPLETE:e.success?o.cancelCall.resolve():o.cancelCall.reject(Hs(e.reason)),T(this,bi,ug).call(this,o,t);break;case nn.CANCEL:if(!a)break;new Promise(function(l){var c;l((c=a.onCancel)==null?void 0:c.call(a,Hs(e.reason)))}).then(function(){r.postMessage({sourceName:s,targetName:i,stream:nn.CANCEL_COMPLETE,streamId:t,success:!0})},function(l){r.postMessage({sourceName:s,targetName:i,stream:nn.CANCEL_COMPLETE,streamId:t,reason:Hs(l)})}),a.sinkCapability.reject(Hs(e.reason)),a.isCancelled=!0,delete this.streamSinks[t];break;default:throw new Error("Unexpected stream case")}},ug=async function(e,t){var s,i,r;await Promise.allSettled([(s=e.startCall)==null?void 0:s.promise,(i=e.pullCall)==null?void 0:i.promise,(r=e.cancelCall)==null?void 0:r.promise]),delete this.streamControllers[t]};var Ml,Nf;class Y8{constructor({parsedData:e,rawData:t}){R(this,Ml);R(this,Nf);C(this,Ml,e),C(this,Nf,t)}getRaw(){return f(this,Nf)}get(e){return f(this,Ml).get(e)??null}getAll(){return ok(f(this,Ml))}has(e){return f(this,Ml).has(e)}}Ml=new WeakMap,Nf=new WeakMap;const Gc=Symbol("INTERNAL");var Lf,Df,Ff,Oh;class J8{constructor(e,{name:t,intent:s,usage:i,rbGroups:r}){R(this,Lf,!1);R(this,Df,!1);R(this,Ff,!1);R(this,Oh,!0);C(this,Lf,!!(e&Ys.DISPLAY)),C(this,Df,!!(e&Ys.PRINT)),this.name=t,this.intent=s,this.usage=i,this.rbGroups=r}get visible(){if(f(this,Ff))return f(this,Oh);if(!f(this,Oh))return!1;const{print:e,view:t}=this.usage;return f(this,Lf)?(t==null?void 0:t.viewState)!=="OFF":f(this,Df)?(e==null?void 0:e.printState)!=="OFF":!0}_setVisible(e,t,s=!1){e!==Gc&&$t("Internal method `_setVisible` called."),C(this,Ff,s),C(this,Oh,t)}}Lf=new WeakMap,Df=new WeakMap,Ff=new WeakMap,Oh=new WeakMap;var na,ut,Nh,Lh,jf,nw;class Q8{constructor(e,t=Ys.DISPLAY){R(this,jf);R(this,na,null);R(this,ut,new Map);R(this,Nh,null);R(this,Lh,null);if(this.renderingIntent=t,this.name=null,this.creator=null,e!==null){this.name=e.name,this.creator=e.creator,C(this,Lh,e.order);for(const s of e.groups)f(this,ut).set(s.id,new J8(t,s));if(e.baseState==="OFF")for(const s of f(this,ut).values())s._setVisible(Gc,!1);for(const s of e.on)f(this,ut).get(s)._setVisible(Gc,!0);for(const s of e.off)f(this,ut).get(s)._setVisible(Gc,!1);C(this,Nh,this.getHash())}}isVisible(e){if(f(this,ut).size===0)return!0;if(!e)return b0("Optional content group not defined."),!0;if(e.type==="OCG")return f(this,ut).has(e.id)?f(this,ut).get(e.id).visible:(Be(`Optional content group not found: ${e.id}`),!0);if(e.type==="OCMD"){if(e.expression)return T(this,jf,nw).call(this,e.expression);if(!e.policy||e.policy==="AnyOn"){for(const t of e.ids){if(!f(this,ut).has(t))return Be(`Optional content group not found: ${t}`),!0;if(f(this,ut).get(t).visible)return!0}return!1}else if(e.policy==="AllOn"){for(const t of e.ids){if(!f(this,ut).has(t))return Be(`Optional content group not found: ${t}`),!0;if(!f(this,ut).get(t).visible)return!1}return!0}else if(e.policy==="AnyOff"){for(const t of e.ids){if(!f(this,ut).has(t))return Be(`Optional content group not found: ${t}`),!0;if(!f(this,ut).get(t).visible)return!0}return!1}else if(e.policy==="AllOff"){for(const t of e.ids){if(!f(this,ut).has(t))return Be(`Optional content group not found: ${t}`),!0;if(f(this,ut).get(t).visible)return!1}return!0}return Be(`Unknown optional content policy ${e.policy}.`),!0}return Be(`Unknown group type ${e.type}.`),!0}setVisibility(e,t=!0,s=!0){var r;const i=f(this,ut).get(e);if(!i){Be(`Optional content group not found: ${e}`);return}if(s&&t&&i.rbGroups.length)for(const o of i.rbGroups)for(const a of o)a!==e&&((r=f(this,ut).get(a))==null||r._setVisible(Gc,!1,!0));i._setVisible(Gc,!!t,!0),C(this,na,null)}setOCGState({state:e,preserveRB:t}){let s;for(const i of e){switch(i){case"ON":case"OFF":case"Toggle":s=i;continue}const r=f(this,ut).get(i);if(r)switch(s){case"ON":this.setVisibility(i,!0,t);break;case"OFF":this.setVisibility(i,!1,t);break;case"Toggle":this.setVisibility(i,!r.visible,t);break}}C(this,na,null)}get hasInitialVisibility(){return f(this,Nh)===null||this.getHash()===f(this,Nh)}getOrder(){return f(this,ut).size?f(this,Lh)?f(this,Lh).slice():[...f(this,ut).keys()]:null}getGroups(){return f(this,ut).size>0?ok(f(this,ut)):null}getGroup(e){return f(this,ut).get(e)||null}getHash(){if(f(this,na)!==null)return f(this,na);const e=new vR;for(const[t,s]of f(this,ut))e.update(`${t}:${s.visible}`);return C(this,na,e.hexdigest())}}na=new WeakMap,ut=new WeakMap,Nh=new WeakMap,Lh=new WeakMap,jf=new WeakSet,nw=function(e){const t=e.length;if(t<2)return!0;const s=e[0];for(let i=1;i0){const l=r instanceof Uint8Array&&r.byteLength===r.buffer.byteLength?r.buffer:new Uint8Array(r).buffer;this._queuedChunks.push(l)}this._pdfDataRangeTransport=e,this._isStreamingSupported=!s,this._isRangeSupported=!t,this._contentLength=i,this._fullRequestReader=null,this._rangeReaders=[],e.addRangeListener((l,c)=>{this._onReceiveData({begin:l,chunk:c})}),e.addProgressListener((l,c)=>{this._onProgress({loaded:l,total:c})}),e.addProgressiveReadListener(l=>{this._onReceiveData({chunk:l})}),e.addProgressiveDoneListener(()=>{this._onProgressiveDone()}),e.transportReady()}_onReceiveData({begin:e,chunk:t}){const s=t instanceof Uint8Array&&t.byteLength===t.buffer.byteLength?t.buffer:new Uint8Array(t).buffer;if(e===void 0)this._fullRequestReader?this._fullRequestReader._enqueue(s):this._queuedChunks.push(s);else{const i=this._rangeReaders.some(function(r){return r._begin!==e?!1:(r._enqueue(s),!0)});yn(i,"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.")}}get _progressiveDataLength(){var e;return((e=this._fullRequestReader)==null?void 0:e._loaded)??0}_onProgress(e){var t,s,i,r;e.total===void 0?(s=(t=this._rangeReaders[0])==null?void 0:t.onProgress)==null||s.call(t,{loaded:e.loaded}):(r=(i=this._fullRequestReader)==null?void 0:i.onProgress)==null||r.call(i,{loaded:e.loaded,total:e.total})}_onProgressiveDone(){var e;(e=this._fullRequestReader)==null||e.progressiveDone(),this._progressiveDone=!0}_removeRangeReader(e){const t=this._rangeReaders.indexOf(e);t>=0&&this._rangeReaders.splice(t,1)}getFullReader(){yn(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");const e=this._queuedChunks;return this._queuedChunks=null,new t6(this,e,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;const s=new n6(this,e,t);return this._pdfDataRangeTransport.requestDataRange(e,t),this._rangeReaders.push(s),s}cancelAllRequests(e){var t;(t=this._fullRequestReader)==null||t.cancel(e);for(const s of this._rangeReaders.slice(0))s.cancel(e);this._pdfDataRangeTransport.abort()}}class t6{constructor(e,t,s=!1,i=null){this._stream=e,this._done=s||!1,this._filename=ck(i)?i:null,this._queuedChunks=t||[],this._loaded=0;for(const r of this._queuedChunks)this._loaded+=r.byteLength;this._requests=[],this._headersReady=Promise.resolve(),e._fullRequestReader=this,this.onProgress=null}_enqueue(e){this._done||(this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._queuedChunks.push(e),this._loaded+=e.byteLength)}get headersReady(){return this._headersReady}get filename(){return this._filename}get isRangeSupported(){return this._stream._isRangeSupported}get isStreamingSupported(){return this._stream._isStreamingSupported}get contentLength(){return this._stream._contentLength}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0}progressiveDone(){this._done||(this._done=!0)}}class n6{constructor(e,t,s){this._stream=e,this._begin=t,this._end=s,this._queuedChunk=null,this._requests=[],this._done=!1,this.onProgress=null}_enqueue(e){if(!this._done){if(this._requests.length===0)this._queuedChunk=e;else{this._requests.shift().resolve({value:e,done:!1});for(const s of this._requests)s.resolve({value:void 0,done:!0});this._requests.length=0}this._done=!0,this._stream._removeRangeReader(this)}}get isStreamingSupported(){return!1}async read(){if(this._queuedChunk){const t=this._queuedChunk;return this._queuedChunk=null,{value:t,done:!1}}if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0,this._stream._removeRangeReader(this)}}function s6(n){let e=!0,t=s("filename\\*","i").exec(n);if(t){t=t[1];let h=a(t);return h=unescape(h),h=l(h),h=c(h),r(h)}if(t=o(n),t){const h=c(t);return r(h)}if(t=s("filename","i").exec(n),t){t=t[1];let h=a(t);return h=c(h),r(h)}function s(h,u){return new RegExp("(?:^|;)\\s*"+h+'\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)',u)}function i(h,u){if(h){if(!/^[\x00-\xFF]+$/.test(u))return u;try{const d=new TextDecoder(h,{fatal:!0}),p=_0(u);u=d.decode(p),e=!1}catch{}}return u}function r(h){return e&&/[\x80-\xff]/.test(h)&&(h=i("utf-8",h),e&&(h=i("iso-8859-1",h))),h}function o(h){const u=[];let d;const p=s("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;(d=p.exec(h))!==null;){let[,g,v,y]=d;if(g=parseInt(g,10),g in u){if(g===0)break;continue}u[g]=[v,y]}const m=[];for(let g=0;g{if(!MR(r.status))throw A0(r.status,i);this._reader=r.body.getReader(),this._headersCapability.resolve();const o=r.headers,{allowRangeRequests:a,suggestedLength:l}=mk({responseHeaders:o,isHttp:e.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=a,this._contentLength=l||this._contentLength,this._filename=gk(o),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new Rc("Streaming is disabled."))}).catch(this._headersCapability.reject),this.onProgress=null}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var s;await this._headersCapability.promise;const{value:e,done:t}=await this._reader.read();return t?{value:e,done:t}:(this._loaded+=e.byteLength,(s=this.onProgress)==null||s.call(this,{loaded:this._loaded,total:this._contentLength}),{value:OR(e),done:!1})}cancel(e){var t;(t=this._reader)==null||t.cancel(e),this._abortController.abort()}}class r6{constructor(e,t,s){this._stream=e,this._reader=null,this._loaded=0;const i=e.source;this._withCredentials=i.withCredentials||!1,this._readCapability=Promise.withResolvers(),this._isStreamingSupported=!i.disableStream,this._abortController=new AbortController;const r=new Headers(e.headers);r.append("Range",`bytes=${t}-${s-1}`);const o=i.url;fetch(o,IR(r,this._withCredentials,this._abortController)).then(a=>{if(!MR(a.status))throw A0(a.status,o);this._readCapability.resolve(),this._reader=a.body.getReader()}).catch(this._readCapability.reject),this.onProgress=null}get isStreamingSupported(){return this._isStreamingSupported}async read(){var s;await this._readCapability.promise;const{value:e,done:t}=await this._reader.read();return t?{value:e,done:t}:(this._loaded+=e.byteLength,(s=this.onProgress)==null||s.call(this,{loaded:this._loaded}),{value:OR(e),done:!1})}cancel(e){var t;(t=this._reader)==null||t.cancel(e),this._abortController.abort()}}const fv=200,pv=206;function o6(n){const e=n.response;return typeof e!="string"?e:_0(e).buffer}class a6{constructor({url:e,httpHeaders:t,withCredentials:s}){this.url=e,this.isHttp=/^https?:/i.test(e),this.headers=pk(this.isHttp,t),this.withCredentials=s||!1,this.currXhrId=0,this.pendingRequests=Object.create(null)}requestRange(e,t,s){const i={begin:e,end:t};for(const r in s)i[r]=s[r];return this.request(i)}requestFull(e){return this.request(e)}request(e){const t=new XMLHttpRequest,s=this.currXhrId++,i=this.pendingRequests[s]={xhr:t};t.open("GET",this.url),t.withCredentials=this.withCredentials;for(const[r,o]of this.headers)t.setRequestHeader(r,o);return this.isHttp&&"begin"in e&&"end"in e?(t.setRequestHeader("Range",`bytes=${e.begin}-${e.end-1}`),i.expectedStatus=pv):i.expectedStatus=fv,t.responseType="arraybuffer",e.onError&&(t.onerror=function(r){e.onError(t.status)}),t.onreadystatechange=this.onStateChange.bind(this,s),t.onprogress=this.onProgress.bind(this,s),i.onHeadersReceived=e.onHeadersReceived,i.onDone=e.onDone,i.onError=e.onError,i.onProgress=e.onProgress,t.send(null),s}onProgress(e,t){var i;const s=this.pendingRequests[e];s&&((i=s.onProgress)==null||i.call(s,t))}onStateChange(e,t){var l,c,h;const s=this.pendingRequests[e];if(!s)return;const i=s.xhr;if(i.readyState>=2&&s.onHeadersReceived&&(s.onHeadersReceived(),delete s.onHeadersReceived),i.readyState!==4||!(e in this.pendingRequests))return;if(delete this.pendingRequests[e],i.status===0&&this.isHttp){(l=s.onError)==null||l.call(s,i.status);return}const r=i.status||fv;if(!(r===fv&&s.expectedStatus===pv)&&r!==s.expectedStatus){(c=s.onError)==null||c.call(s,i.status);return}const a=o6(i);if(r===pv){const u=i.getResponseHeader("Content-Range"),d=/bytes (\d+)-(\d+)\/(\d+)/.exec(u);s.onDone({begin:parseInt(d[1],10),chunk:a})}else a?s.onDone({begin:0,chunk:a}):(h=s.onError)==null||h.call(s,i.status)}getRequestXhr(e){return this.pendingRequests[e].xhr}isPendingRequest(e){return e in this.pendingRequests}abortRequest(e){const t=this.pendingRequests[e].xhr;delete this.pendingRequests[e],t.abort()}}class l6{constructor(e){this._source=e,this._manager=new a6(e),this._rangeChunkSize=e.rangeChunkSize,this._fullRequestReader=null,this._rangeRequestReaders=[]}_onRangeRequestReaderClosed(e){const t=this._rangeRequestReaders.indexOf(e);t>=0&&this._rangeRequestReaders.splice(t,1)}getFullReader(){return yn(!this._fullRequestReader,"PDFNetworkStream.getFullReader can only be called once."),this._fullRequestReader=new c6(this._manager,this._source),this._fullRequestReader}getRangeReader(e,t){const s=new h6(this._manager,e,t);return s.onClosed=this._onRangeRequestReaderClosed.bind(this),this._rangeRequestReaders.push(s),s}cancelAllRequests(e){var t;(t=this._fullRequestReader)==null||t.cancel(e);for(const s of this._rangeRequestReaders.slice(0))s.cancel(e)}}class c6{constructor(e,t){this._manager=e;const s={onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=t.url,this._fullRequestId=e.requestFull(s),this._headersCapability=Promise.withResolvers(),this._disableRange=t.disableRange||!1,this._contentLength=t.length,this._rangeChunkSize=t.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._isStreamingSupported=!1,this._isRangeSupported=!1,this._cachedChunks=[],this._requests=[],this._done=!1,this._storedError=void 0,this._filename=null,this.onProgress=null}_onHeadersReceived(){const e=this._fullRequestId,t=this._manager.getRequestXhr(e),s=new Headers(t.getAllResponseHeaders().trim().split(/[\r\n]+/).map(o=>{const[a,...l]=o.split(": ");return[a,l.join(": ")]})),{allowRangeRequests:i,suggestedLength:r}=mk({responseHeaders:s,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});i&&(this._isRangeSupported=!0),this._contentLength=r||this._contentLength,this._filename=gk(s),this._isRangeSupported&&this._manager.abortRequest(e),this._headersCapability.resolve()}_onDone(e){if(e&&(this._requests.length>0?this._requests.shift().resolve({value:e.chunk,done:!1}):this._cachedChunks.push(e.chunk)),this._done=!0,!(this._cachedChunks.length>0)){for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0}}_onError(e){this._storedError=A0(e,this._url),this._headersCapability.reject(this._storedError);for(const t of this._requests)t.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}_onProgress(e){var t;(t=this.onProgress)==null||t.call(this,{loaded:e.loaded,total:e.lengthComputable?e.total:this._contentLength})}get filename(){return this._filename}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}get contentLength(){return this._contentLength}get headersReady(){return this._headersCapability.promise}async read(){if(this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this._headersCapability.reject(e);for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._fullRequestId)&&this._manager.abortRequest(this._fullRequestId),this._fullRequestReader=null}}class h6{constructor(e,t,s){this._manager=e;const i={onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=e.url,this._requestId=e.requestRange(t,s,i),this._requests=[],this._queuedChunk=null,this._done=!1,this._storedError=void 0,this.onProgress=null,this.onClosed=null}_close(){var e;(e=this.onClosed)==null||e.call(this,this)}_onDone(e){const t=e.chunk;this._requests.length>0?this._requests.shift().resolve({value:t,done:!1}):this._queuedChunk=t,this._done=!0;for(const s of this._requests)s.resolve({value:void 0,done:!0});this._requests.length=0,this._close()}_onError(e){this._storedError=A0(e,this._url);for(const t of this._requests)t.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}_onProgress(e){var t;this.isStreamingSupported||(t=this.onProgress)==null||t.call(this,{loaded:e.loaded})}get isStreamingSupported(){return!1}async read(){if(this._storedError)throw this._storedError;if(this._queuedChunk!==null){const t=this._queuedChunk;return this._queuedChunk=null,{value:t,done:!1}}if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._requestId)&&this._manager.abortRequest(this._requestId),this._close()}}const u6=/^[a-z][a-z0-9\-+.]+:/i;function d6(n){if(u6.test(n))return new URL(n);const e=Pa.get("url");return new URL(e.pathToFileURL(n))}function NR(n,e,t){return n.protocol==="http:"?Pa.get("http").request(n,{headers:e},t):Pa.get("https").request(n,{headers:e},t)}class f6{constructor(e){this.source=e,this.url=d6(e.url),this.isHttp=this.url.protocol==="http:"||this.url.protocol==="https:",this.isFsUrl=this.url.protocol==="file:",this.headers=pk(this.isHttp,e.httpHeaders),this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){var e;return((e=this._fullRequestReader)==null?void 0:e._loaded)??0}getFullReader(){return yn(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once."),this._fullRequestReader=this.isFsUrl?new g6(this):new p6(this),this._fullRequestReader}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;const s=this.isFsUrl?new y6(this,e,t):new m6(this,e,t);return this._rangeRequestReaders.push(s),s}cancelAllRequests(e){var t;(t=this._fullRequestReader)==null||t.cancel(e);for(const s of this._rangeRequestReaders.slice(0))s.cancel(e)}}class LR{constructor(e){this._url=e.url,this._done=!1,this._storedError=null,this.onProgress=null;const t=e.source;this._contentLength=t.length,this._loaded=0,this._filename=null,this._disableRange=t.disableRange||!1,this._rangeChunkSize=t.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._isStreamingSupported=!t.disableStream,this._isRangeSupported=!t.disableRange,this._readableStream=null,this._readCapability=Promise.withResolvers(),this._headersCapability=Promise.withResolvers()}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var s;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const e=this._readableStream.read();return e===null?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=e.length,(s=this.onProgress)==null||s.call(this,{loaded:this._loaded,total:this._contentLength}),{value:new Uint8Array(e).buffer,done:!1})}cancel(e){if(!this._readableStream){this._error(e);return}this._readableStream.destroy(e)}_error(e){this._storedError=e,this._readCapability.resolve()}_setReadableStream(e){this._readableStream=e,e.on("readable",()=>{this._readCapability.resolve()}),e.on("end",()=>{e.destroy(),this._done=!0,this._readCapability.resolve()}),e.on("error",t=>{this._error(t)}),!this._isStreamingSupported&&this._isRangeSupported&&this._error(new Rc("streaming is disabled")),this._storedError&&this._readableStream.destroy(this._storedError)}}class DR{constructor(e){this._url=e.url,this._done=!1,this._storedError=null,this.onProgress=null,this._loaded=0,this._readableStream=null,this._readCapability=Promise.withResolvers();const t=e.source;this._isStreamingSupported=!t.disableStream}get isStreamingSupported(){return this._isStreamingSupported}async read(){var s;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const e=this._readableStream.read();return e===null?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=e.length,(s=this.onProgress)==null||s.call(this,{loaded:this._loaded}),{value:new Uint8Array(e).buffer,done:!1})}cancel(e){if(!this._readableStream){this._error(e);return}this._readableStream.destroy(e)}_error(e){this._storedError=e,this._readCapability.resolve()}_setReadableStream(e){this._readableStream=e,e.on("readable",()=>{this._readCapability.resolve()}),e.on("end",()=>{e.destroy(),this._done=!0,this._readCapability.resolve()}),e.on("error",t=>{this._error(t)}),this._storedError&&this._readableStream.destroy(this._storedError)}}class p6 extends LR{constructor(e){super(e);const t=Object.fromEntries(e.headers),s=i=>{if(i.statusCode===404){const l=new Pc(`Missing PDF "${this._url}".`);this._storedError=l,this._headersCapability.reject(l);return}this._headersCapability.resolve(),this._setReadableStream(i);const r=new Headers(this._readableStream.headers),{allowRangeRequests:o,suggestedLength:a}=mk({responseHeaders:r,isHttp:e.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=o,this._contentLength=a||this._contentLength,this._filename=gk(r)};this._request=NR(this._url,t,s),this._request.on("error",i=>{this._storedError=i,this._headersCapability.reject(i)}),this._request.end()}}class m6 extends DR{constructor(e,t,s){super(e);const i=Object.fromEntries(e.headers);i.Range=`bytes=${t}-${s-1}`;const r=o=>{if(o.statusCode===404){const a=new Pc(`Missing PDF "${this._url}".`);this._storedError=a;return}this._setReadableStream(o)};this._request=NR(this._url,i,r),this._request.on("error",o=>{this._storedError=o}),this._request.end()}}class g6 extends LR{constructor(e){super(e);const t=Pa.get("fs");t.promises.lstat(this._url).then(s=>{this._contentLength=s.size,this._setReadableStream(t.createReadStream(this._url)),this._headersCapability.resolve()},s=>{s.code==="ENOENT"&&(s=new Pc(`Missing PDF "${this._url}".`)),this._storedError=s,this._headersCapability.reject(s)})}}class y6 extends DR{constructor(e,t,s){super(e);const i=Pa.get("fs");this._setReadableStream(i.createReadStream(this._url,{start:t,end:s-1}))}}const v6=1e5,Es=30,b6=.8;var xC,sa,Ts,zf,Hf,Il,Qr,Bf,Uf,Ol,Dh,Fh,ia,jh,qf,zh,Nl,Vf,Wf,Ut,Ll,Dl,Gf,ra,Hh,Po,FR,jR,iw,ti,dg,rw,zR,HR;let sw=(Ut=class{constructor({textContentSource:e,container:t,viewport:s}){R(this,Po);R(this,sa,Promise.withResolvers());R(this,Ts,null);R(this,zf,!1);R(this,Hf,!!((xC=globalThis.FontInspector)!=null&&xC.enabled));R(this,Il,null);R(this,Qr,null);R(this,Bf,0);R(this,Uf,0);R(this,Ol,null);R(this,Dh,null);R(this,Fh,0);R(this,ia,0);R(this,jh,Object.create(null));R(this,qf,[]);R(this,zh,null);R(this,Nl,[]);R(this,Vf,new WeakMap);R(this,Wf,null);var l;if(e instanceof ReadableStream)C(this,zh,e);else if(typeof e=="object")C(this,zh,new ReadableStream({start(c){c.enqueue(e),c.close()}}));else throw new Error('No "textContentSource" parameter specified.');C(this,Ts,C(this,Dh,t)),C(this,ia,s.scale*(globalThis.devicePixelRatio||1)),C(this,Fh,s.rotation),C(this,Qr,{div:null,properties:null,ctx:null});const{pageWidth:i,pageHeight:r,pageX:o,pageY:a}=s.rawDims;C(this,Wf,[1,0,0,-1,-o,a+r]),C(this,Uf,i),C(this,Bf,r),T(l=Ut,ti,zR).call(l),yc(t,s),f(this,sa).promise.finally(()=>{f(Ut,Hh).delete(this),C(this,Qr,null),C(this,jh,null)}).catch(()=>{})}static get fontFamilyMap(){const{isWindows:e,isFirefox:t}=_s.platform;return Ze(this,"fontFamilyMap",new Map([["sans-serif",`${e&&t?"Calibri, ":""}sans-serif`],["monospace",`${e&&t?"Lucida Console, ":""}monospace`]]))}render(){const e=()=>{f(this,Ol).read().then(({value:t,done:s})=>{if(s){f(this,sa).resolve();return}f(this,Il)??C(this,Il,t.lang),Object.assign(f(this,jh),t.styles),T(this,Po,FR).call(this,t.items),e()},f(this,sa).reject)};return C(this,Ol,f(this,zh).getReader()),f(Ut,Hh).add(this),e(),f(this,sa).promise}update({viewport:e,onBefore:t=null}){var r;const s=e.scale*(globalThis.devicePixelRatio||1),i=e.rotation;if(i!==f(this,Fh)&&(t==null||t(),C(this,Fh,i),yc(f(this,Dh),{rotation:i})),s!==f(this,ia)){t==null||t(),C(this,ia,s);const o={div:null,properties:null,ctx:T(r=Ut,ti,dg).call(r,f(this,Il))};for(const a of f(this,Nl))o.properties=f(this,Vf).get(a),o.div=a,T(this,Po,iw).call(this,o)}}cancel(){var t;const e=new Rc("TextLayer task cancelled.");(t=f(this,Ol))==null||t.cancel(e).catch(()=>{}),C(this,Ol,null),f(this,sa).reject(e)}get textDivs(){return f(this,Nl)}get textContentItemsStr(){return f(this,qf)}static cleanup(){if(!(f(this,Hh).size>0)){f(this,Ll).clear();for(const{canvas:e}of f(this,Dl).values())e.remove();f(this,Dl).clear()}}},sa=new WeakMap,Ts=new WeakMap,zf=new WeakMap,Hf=new WeakMap,Il=new WeakMap,Qr=new WeakMap,Bf=new WeakMap,Uf=new WeakMap,Ol=new WeakMap,Dh=new WeakMap,Fh=new WeakMap,ia=new WeakMap,jh=new WeakMap,qf=new WeakMap,zh=new WeakMap,Nl=new WeakMap,Vf=new WeakMap,Wf=new WeakMap,Ll=new WeakMap,Dl=new WeakMap,Gf=new WeakMap,ra=new WeakMap,Hh=new WeakMap,Po=new WeakSet,FR=function(e){var i,r;if(f(this,zf))return;(r=f(this,Qr)).ctx??(r.ctx=T(i=Ut,ti,dg).call(i,f(this,Il)));const t=f(this,Nl),s=f(this,qf);for(const o of e){if(t.length>v6){Be("Ignoring additional textDivs for performance reasons."),C(this,zf,!0);return}if(o.str===void 0){if(o.type==="beginMarkedContentProps"||o.type==="beginMarkedContent"){const a=f(this,Ts);C(this,Ts,document.createElement("span")),f(this,Ts).classList.add("markedContent"),o.id!==null&&f(this,Ts).setAttribute("id",`${o.id}`),a.append(f(this,Ts))}else o.type==="endMarkedContent"&&C(this,Ts,f(this,Ts).parentNode);continue}s.push(o.str),T(this,Po,jR).call(this,o)}},jR=function(e){var g;const t=document.createElement("span"),s={angle:0,canvasWidth:0,hasText:e.str!=="",hasEOL:e.hasEOL,fontSize:0};f(this,Nl).push(t);const i=_e.transform(f(this,Wf),e.transform);let r=Math.atan2(i[1],i[0]);const o=f(this,jh)[e.fontName];o.vertical&&(r+=Math.PI/2);let a=f(this,Hf)&&o.fontSubstitution||o.fontFamily;a=Ut.fontFamilyMap.get(a)||a;const l=Math.hypot(i[2],i[3]),c=l*T(g=Ut,ti,HR).call(g,a,f(this,Il));let h,u;r===0?(h=i[4],u=i[5]-c):(h=i[4]+c*Math.sin(r),u=i[5]-c*Math.cos(r));const d="calc(var(--scale-factor)*",p=t.style;f(this,Ts)===f(this,Dh)?(p.left=`${(100*h/f(this,Uf)).toFixed(2)}%`,p.top=`${(100*u/f(this,Bf)).toFixed(2)}%`):(p.left=`${d}${h.toFixed(2)}px)`,p.top=`${d}${u.toFixed(2)}px)`),p.fontSize=`${d}${(f(Ut,ra)*l).toFixed(2)}px)`,p.fontFamily=a,s.fontSize=l,t.setAttribute("role","presentation"),t.textContent=e.str,t.dir=e.dir,f(this,Hf)&&(t.dataset.fontName=o.fontSubstitutionLoadedName||e.fontName),r!==0&&(s.angle=r*(180/Math.PI));let m=!1;if(e.str.length>1)m=!0;else if(e.str!==" "&&e.transform[0]!==e.transform[3]){const v=Math.abs(e.transform[0]),y=Math.abs(e.transform[3]);v!==y&&Math.max(v,y)/Math.min(v,y)>1.5&&(m=!0)}if(m&&(s.canvasWidth=o.vertical?e.height:e.width),f(this,Vf).set(t,s),f(this,Qr).div=t,f(this,Qr).properties=s,T(this,Po,iw).call(this,f(this,Qr)),s.hasText&&f(this,Ts).append(t),s.hasEOL){const v=document.createElement("br");v.setAttribute("role","presentation"),f(this,Ts).append(v)}},iw=function(e){var a;const{div:t,properties:s,ctx:i}=e,{style:r}=t;let o="";if(f(Ut,ra)>1&&(o=`scale(${1/f(Ut,ra)})`),s.canvasWidth!==0&&s.hasText){const{fontFamily:l}=r,{canvasWidth:c,fontSize:h}=s;T(a=Ut,ti,rw).call(a,i,h*f(this,ia),l);const{width:u}=i.measureText(t.textContent);u>0&&(o=`scaleX(${c*f(this,ia)/u}) ${o}`)}s.angle!==0&&(o=`rotate(${s.angle}deg) ${o}`),o.length>0&&(r.transform=o)},ti=new WeakSet,dg=function(e=null){let t=f(this,Dl).get(e||(e=""));if(!t){const s=document.createElement("canvas");s.className="hiddenCanvasElement",s.lang=e,document.body.append(s),t=s.getContext("2d",{alpha:!1,willReadFrequently:!0}),f(this,Dl).set(e,t),f(this,Gf).set(t,{size:0,family:""})}return t},rw=function(e,t,s){const i=f(this,Gf).get(e);t===i.size&&s===i.family||(e.font=`${t}px ${s}`,i.size=t,i.family=s)},zR=function(){if(f(this,ra)!==null)return;const e=document.createElement("div");e.style.opacity=0,e.style.lineHeight=1,e.style.fontSize="1px",e.style.position="absolute",e.textContent="X",document.body.append(e),C(this,ra,e.getBoundingClientRect().height),e.remove()},HR=function(e,t){const s=f(this,Ll).get(e);if(s)return s;const i=T(this,ti,dg).call(this,t);i.canvas.width=i.canvas.height=Es,T(this,ti,rw).call(this,i,Es,e);const r=i.measureText("");let o=r.fontBoundingBoxAscent,a=Math.abs(r.fontBoundingBoxDescent);if(o){const h=o/(o+a);return f(this,Ll).set(e,h),i.canvas.width=i.canvas.height=0,h}i.strokeStyle="red",i.clearRect(0,0,Es,Es),i.strokeText("g",0,0);let l=i.getImageData(0,0,Es,Es).data;a=0;for(let h=l.length-1-3;h>=0;h-=4)if(l[h]>0){a=Math.ceil(h/4/Es);break}i.clearRect(0,0,Es,Es),i.strokeText("A",0,Es),l=i.getImageData(0,0,Es,Es).data,o=0;for(let h=0,u=l.length;h0){o=Es-Math.floor(h/4/Es);break}i.canvas.width=i.canvas.height=0;const c=o?o/(o+a):b6;return f(this,Ll).set(e,c),c},R(Ut,ti),R(Ut,Ll,new Map),R(Ut,Dl,new Map),R(Ut,Gf,new WeakMap),R(Ut,ra,null),R(Ut,Hh,new Set),Ut);class ef{static textContent(e){const t=[],s={items:t,styles:Object.create(null)};function i(r){var l;if(!r)return;let o=null;const a=r.name;if(a==="#text")o=r.value;else if(ef.shouldBuildText(a))(l=r==null?void 0:r.attributes)!=null&&l.textContent?o=r.attributes.textContent:r.value&&(o=r.value);else return;if(o!==null&&t.push({str:o}),!!r.children)for(const c of r.children)i(c)}return i(e),s}static shouldBuildText(e){return!(e==="textarea"||e==="input"||e==="option"||e==="select")}}const w6=65536,_6=100,S6=5e3,k6=cs?N8:M8,A6=cs?L8:kR,x6=cs?O8:I8,E6=cs?D8:CR;function C6(n={}){typeof n=="string"||n instanceof URL?n={url:n}:(n instanceof ArrayBuffer||ArrayBuffer.isView(n))&&(n={data:n});const e=new ow,{docId:t}=e,s=n.url?$6(n.url):null,i=n.data?T6(n.data):null,r=n.httpHeaders||null,o=n.withCredentials===!0,a=n.password??null,l=n.range instanceof BR?n.range:null,c=Number.isInteger(n.rangeChunkSize)&&n.rangeChunkSize>0?n.rangeChunkSize:w6;let h=n.worker instanceof uh?n.worker:null;const u=n.verbosity,d=typeof n.docBaseUrl=="string"&&!k0(n.docBaseUrl)?n.docBaseUrl:null,p=typeof n.cMapUrl=="string"?n.cMapUrl:null,m=n.cMapPacked!==!1,g=n.CMapReaderFactory||A6,v=typeof n.standardFontDataUrl=="string"?n.standardFontDataUrl:null,y=n.StandardFontDataFactory||E6,w=n.stopAtErrors!==!0,_=Number.isInteger(n.maxImageSize)&&n.maxImageSize>-1?n.maxImageSize:-1,A=n.isEvalSupported!==!1,k=typeof n.isOffscreenCanvasSupported=="boolean"?n.isOffscreenCanvasSupported:!cs,$=typeof n.isChrome=="boolean"?n.isChrome:!_s.platform.isFirefox&&typeof window<"u"&&!!(window!=null&&window.chrome),E=Number.isInteger(n.canvasMaxAreaInBytes)?n.canvasMaxAreaInBytes:-1,O=typeof n.disableFontFace=="boolean"?n.disableFontFace:cs,F=n.fontExtraProperties===!0,U=n.enableXfa===!0,L=n.ownerDocument||globalThis.document,H=n.disableRange===!0,B=n.disableStream===!0,D=n.disableAutoFetch===!0,Y=n.pdfBug===!0,X=n.CanvasFactory||k6,Q=n.FilterFactory||x6,se=n.enableHWA===!0,ve=l?l.length:n.length??NaN,z=typeof n.useSystemFonts=="boolean"?n.useSystemFonts:!cs&&!O,P=typeof n.useWorkerFetch=="boolean"?n.useWorkerFetch:g===kR&&y===CR&&p&&v&&cd(p,document.baseURI)&&cd(v,document.baseURI);n.canvasFactory&&$x("`canvasFactory`-instance option, please use `CanvasFactory` instead."),n.filterFactory&&$x("`filterFactory`-instance option, please use `FilterFactory` instead.");const N=null;c8(u);const M={canvasFactory:new X({ownerDocument:L,enableHWA:se}),filterFactory:new Q({docId:t,ownerDocument:L}),cMapReaderFactory:P?null:new g({baseUrl:p,isCompressed:m}),standardFontDataFactory:P?null:new y({baseUrl:v})};if(!h){const I={verbosity:u,port:vo.workerPort};h=I.port?uh.fromPort(I):new uh(I),e._worker=h}const b={docId:t,apiVersion:"4.8.69",data:i,password:a,disableAutoFetch:D,rangeChunkSize:c,length:ve,docBaseUrl:d,enableXfa:U,evaluatorOptions:{maxImageSize:_,disableFontFace:O,ignoreErrors:w,isEvalSupported:A,isOffscreenCanvasSupported:k,isChrome:$,canvasMaxAreaInBytes:E,fontExtraProperties:F,useSystemFonts:z,cMapUrl:P?p:null,standardFontDataUrl:P?v:null}},x={disableFontFace:O,fontExtraProperties:F,ownerDocument:L,pdfBug:Y,styleElement:N,loadingParams:{disableAutoFetch:D,enableXfa:U}};return h.promise.then(function(){if(e.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const I=h.messageHandler.sendWithPromise("GetDocRequest",b,i?[i.buffer]:null);let W;if(l)W=new e6(l,{disableRange:H,disableStream:B});else if(!i){if(!s)throw new Error("getDocument - no `url` parameter provided.");let Z;cs?Z=typeof fetch<"u"&&typeof Response<"u"&&"body"in Response.prototype&&cd(s)?zx:f6:Z=cd(s)?zx:l6,W=new Z({url:s,length:ve,httpHeaders:r,withCredentials:o,rangeChunkSize:c,disableRange:H,disableStream:B})}return I.then(Z=>{if(e.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const ae=new gd(t,Z,h.port),ne=new I6(ae,e,W,x,M);e._transport=ne,ae.send("Ready",null)})}).catch(e._capability.reject),e}function $6(n){if(n instanceof URL)return n.href;try{return new URL(n,window.location).href}catch{if(cs&&typeof n=="string")return n}throw new Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}function T6(n){if(cs&&typeof Buffer<"u"&&n instanceof Buffer)throw new Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(n instanceof Uint8Array&&n.byteLength===n.buffer.byteLength)return n;if(typeof n=="string")return _0(n);if(n instanceof ArrayBuffer||ArrayBuffer.isView(n)||typeof n=="object"&&!isNaN(n==null?void 0:n.length))return new Uint8Array(n);throw new Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}function Hx(n){return typeof n=="object"&&Number.isInteger(n==null?void 0:n.num)&&n.num>=0&&Number.isInteger(n==null?void 0:n.gen)&&n.gen>=0}var Hy;const By=class By{constructor(){this._capability=Promise.withResolvers(),this._transport=null,this._worker=null,this.docId=`d${ps(By,Hy)._++}`,this.destroyed=!1,this.onPassword=null,this.onProgress=null}get promise(){return this._capability.promise}async destroy(){var e,t,s;this.destroyed=!0;try{(e=this._worker)!=null&&e.port&&(this._worker._pendingDestroy=!0),await((t=this._transport)==null?void 0:t.destroy())}catch(i){throw(s=this._worker)!=null&&s.port&&delete this._worker._pendingDestroy,i}this._transport=null,this._worker&&(this._worker.destroy(),this._worker=null)}};Hy=new WeakMap,R(By,Hy,0);let ow=By,BR=class{constructor(e,t,s=!1,i=null){this.length=e,this.initialData=t,this.progressiveDone=s,this.contentDispositionFilename=i,this._rangeListeners=[],this._progressListeners=[],this._progressiveReadListeners=[],this._progressiveDoneListeners=[],this._readyCapability=Promise.withResolvers()}addRangeListener(e){this._rangeListeners.push(e)}addProgressListener(e){this._progressListeners.push(e)}addProgressiveReadListener(e){this._progressiveReadListeners.push(e)}addProgressiveDoneListener(e){this._progressiveDoneListeners.push(e)}onDataRange(e,t){for(const s of this._rangeListeners)s(e,t)}onDataProgress(e,t){this._readyCapability.promise.then(()=>{for(const s of this._progressListeners)s(e,t)})}onDataProgressiveRead(e){this._readyCapability.promise.then(()=>{for(const t of this._progressiveReadListeners)t(e)})}onDataProgressiveDone(){this._readyCapability.promise.then(()=>{for(const e of this._progressiveDoneListeners)e()})}transportReady(){this._readyCapability.resolve()}requestDataRange(e,t){$t("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}};class P6{constructor(e,t){this._pdfInfo=e,this._transport=t}get annotationStorage(){return this._transport.annotationStorage}get canvasFactory(){return this._transport.canvasFactory}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return Ze(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(e){return this._transport.getPage(e)}getPageIndex(e){return this._transport.getPageIndex(e)}getDestinations(){return this._transport.getDestinations()}getDestination(e){return this._transport.getDestination(e)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:e="display"}={}){const{renderingIntent:t}=this._transport.getRenderingIntent(e);return this._transport.getOptionalContentConfig(t)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(e=!1){return this._transport.startCleanup(e||this.isPureXfa)}destroy(){return this.loadingTask.destroy()}cachedPageNumber(e){return this._transport.cachedPageNumber(e)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}var oa,eo,pi,Kc,fg;class R6{constructor(e,t,s,i=!1){R(this,pi);R(this,oa,null);R(this,eo,!1);this._pageIndex=e,this._pageInfo=t,this._transport=s,this._stats=i?new Cx:null,this._pdfBug=i,this.commonObjs=s.commonObjs,this.objs=new UR,this._maybeCleanupAfterRender=!1,this._intentStates=new Map,this.destroyed=!1}get pageNumber(){return this._pageIndex+1}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:e,rotation:t=this.rotate,offsetX:s=0,offsetY:i=0,dontFlip:r=!1}={}){return new Wp({viewBox:this.view,scale:e,rotation:t,offsetX:s,offsetY:i,dontFlip:r})}getAnnotations({intent:e="display"}={}){const{renderingIntent:t}=this._transport.getRenderingIntent(e);return this._transport.getAnnotations(this._pageIndex,t)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return Ze(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){var e;return((e=this._transport._htmlForXfa)==null?void 0:e.children[this._pageIndex])||null}render({canvasContext:e,viewport:t,intent:s="display",annotationMode:i=Bo.ENABLE,transform:r=null,background:o=null,optionalContentConfigPromise:a=null,annotationCanvasMap:l=null,pageColors:c=null,printAnnotationStorage:h=null,isEditing:u=!1}){var A,k;(A=this._stats)==null||A.time("Overall");const d=this._transport.getRenderingIntent(s,i,h,u),{renderingIntent:p,cacheKey:m}=d;C(this,eo,!1),T(this,pi,fg).call(this),a||(a=this._transport.getOptionalContentConfig(p));let g=this._intentStates.get(m);g||(g=Object.create(null),this._intentStates.set(m,g)),g.streamReaderCancelTimeout&&(clearTimeout(g.streamReaderCancelTimeout),g.streamReaderCancelTimeout=null);const v=!!(p&Ys.PRINT);g.displayReadyCapability||(g.displayReadyCapability=Promise.withResolvers(),g.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(k=this._stats)==null||k.time("Page Request"),this._pumpOperatorList(d));const y=$=>{var E;g.renderTasks.delete(w),(this._maybeCleanupAfterRender||v)&&C(this,eo,!0),T(this,pi,Kc).call(this,!v),$?(w.capability.reject($),this._abortOperatorList({intentState:g,reason:$ instanceof Error?$:new Error($)})):w.capability.resolve(),this._stats&&(this._stats.timeEnd("Rendering"),this._stats.timeEnd("Overall"),(E=globalThis.Stats)!=null&&E.enabled&&globalThis.Stats.add(this.pageNumber,this._stats))},w=new lw({callback:y,params:{canvasContext:e,viewport:t,transform:r,background:o},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:l,operatorList:g.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!v,pdfBug:this._pdfBug,pageColors:c});(g.renderTasks||(g.renderTasks=new Set)).add(w);const _=w.task;return Promise.all([g.displayReadyCapability.promise,a]).then(([$,E])=>{var O;if(this.destroyed){y();return}if((O=this._stats)==null||O.time("Rendering"),!(E.renderingIntent&p))throw new Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");w.initializeGraphics({transparency:$,optionalContentConfig:E}),w.operatorListChanged()}).catch(y),_}getOperatorList({intent:e="display",annotationMode:t=Bo.ENABLE,printAnnotationStorage:s=null,isEditing:i=!1}={}){var c;function r(){a.operatorList.lastChunk&&(a.opListReadCapability.resolve(a.operatorList),a.renderTasks.delete(l))}const o=this._transport.getRenderingIntent(e,t,s,i,!0);let a=this._intentStates.get(o.cacheKey);a||(a=Object.create(null),this._intentStates.set(o.cacheKey,a));let l;return a.opListReadCapability||(l=Object.create(null),l.operatorListChanged=r,a.opListReadCapability=Promise.withResolvers(),(a.renderTasks||(a.renderTasks=new Set)).add(l),a.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(c=this._stats)==null||c.time("Page Request"),this._pumpOperatorList(o)),a.opListReadCapability.promise}streamTextContent({includeMarkedContent:e=!1,disableNormalization:t=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageIndex:this._pageIndex,includeMarkedContent:e===!0,disableNormalization:t===!0},{highWaterMark:100,size(i){return i.items.length}})}getTextContent(e={}){if(this._transport._htmlForXfa)return this.getXfa().then(s=>ef.textContent(s));const t=this.streamTextContent(e);return new Promise(function(s,i){function r(){o.read().then(function({value:l,done:c}){if(c){s(a);return}a.lang??(a.lang=l.lang),Object.assign(a.styles,l.styles),a.items.push(...l.items),r()},i)}const o=t.getReader(),a={items:[],styles:Object.create(null),lang:null};r()})}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;const e=[];for(const t of this._intentStates.values())if(this._abortOperatorList({intentState:t,reason:new Error("Page was destroyed."),force:!0}),!t.opListReadCapability)for(const s of t.renderTasks)e.push(s.completed),s.cancel();return this.objs.clear(),C(this,eo,!1),T(this,pi,fg).call(this),Promise.all(e)}cleanup(e=!1){C(this,eo,!0);const t=T(this,pi,Kc).call(this,!1);return e&&t&&this._stats&&(this._stats=new Cx),t}_startRenderPage(e,t){var i,r;const s=this._intentStates.get(t);s&&((i=this._stats)==null||i.timeEnd("Page Request"),(r=s.displayReadyCapability)==null||r.resolve(e))}_renderPageChunk(e,t){for(let s=0,i=e.length;s{l.read().then(({value:u,done:d})=>{if(d){c.streamReader=null;return}this._transport.destroyed||(this._renderPageChunk(u,c),h())},u=>{if(c.streamReader=null,!this._transport.destroyed){if(c.operatorList){c.operatorList.lastChunk=!0;for(const d of c.renderTasks)d.operatorListChanged();T(this,pi,Kc).call(this,!0)}if(c.displayReadyCapability)c.displayReadyCapability.reject(u);else if(c.opListReadCapability)c.opListReadCapability.reject(u);else throw u}})};h()}_abortOperatorList({intentState:e,reason:t,force:s=!1}){if(e.streamReader){if(e.streamReaderCancelTimeout&&(clearTimeout(e.streamReaderCancelTimeout),e.streamReaderCancelTimeout=null),!s){if(e.renderTasks.size>0)return;if(t instanceof lk){let i=_6;t.extraDelay>0&&t.extraDelay<1e3&&(i+=t.extraDelay),e.streamReaderCancelTimeout=setTimeout(()=>{e.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:e,reason:t,force:!0})},i);return}}if(e.streamReader.cancel(new Rc(t.message)).catch(()=>{}),e.streamReader=null,!this._transport.destroyed){for(const[i,r]of this._intentStates)if(r===e){this._intentStates.delete(i);break}this.cleanup()}}}get stats(){return this._stats}}oa=new WeakMap,eo=new WeakMap,pi=new WeakSet,Kc=function(e=!1){if(T(this,pi,fg).call(this),!f(this,eo)||this.destroyed)return!1;if(e)return C(this,oa,setTimeout(()=>{C(this,oa,null),T(this,pi,Kc).call(this,!1)},S6)),!1;for(const{renderTasks:t,operatorList:s}of this._intentStates.values())if(t.size>0||!s.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),C(this,eo,!1),!0},fg=function(){f(this,oa)&&(clearTimeout(f(this,oa)),C(this,oa,null))};var to,Uy;class M6{constructor(){R(this,to,new Map);R(this,Uy,Promise.resolve())}postMessage(e,t){const s={data:structuredClone(e,t?{transfer:t}:null)};f(this,Uy).then(()=>{for(const[i]of f(this,to))i.call(this,s)})}addEventListener(e,t,s=null){let i=null;if((s==null?void 0:s.signal)instanceof AbortSignal){const{signal:r}=s;if(r.aborted){Be("LoopbackPort - cannot use an `aborted` signal.");return}const o=()=>this.removeEventListener(e,t);i=()=>r.removeEventListener("abort",o),r.addEventListener("abort",o)}f(this,to).set(t,i)}removeEventListener(e,t){const s=f(this,to).get(t);s==null||s(),f(this,to).delete(t)}terminate(){for(const[,e]of f(this,to))e==null||e();f(this,to).clear()}}to=new WeakMap,Uy=new WeakMap;var qy,Fl,jl,Bh,pg,Uh,mg;const Mt=class Mt{constructor({name:e=null,port:t=null,verbosity:s=h8()}={}){R(this,Bh);var i;if(this.name=e,this.destroyed=!1,this.verbosity=s,this._readyCapability=Promise.withResolvers(),this._port=null,this._webWorker=null,this._messageHandler=null,t){if((i=f(Mt,jl))!=null&&i.has(t))throw new Error("Cannot use more than one PDFWorker per port.");(f(Mt,jl)||C(Mt,jl,new WeakMap)).set(t,this),this._initializeFromPort(t);return}this._initialize()}get promise(){return cs?Promise.all([Pa.promise,this._readyCapability.promise]):this._readyCapability.promise}get port(){return this._port}get messageHandler(){return this._messageHandler}_initializeFromPort(e){this._port=e,this._messageHandler=new gd("main","worker",e),this._messageHandler.on("ready",function(){}),T(this,Bh,pg).call(this)}_initialize(){if(f(Mt,Fl)||f(Mt,Uh,mg)){this._setupFakeWorker();return}let{workerSrc:e}=Mt;try{Mt._isSameOrigin(window.location.href,e)||(e=Mt._createCDNWrapper(new URL(e,window.location).href));const t=new Worker(e,{type:"module"}),s=new gd("main","worker",t),i=()=>{r.abort(),s.destroy(),t.terminate(),this.destroyed?this._readyCapability.reject(new Error("Worker was destroyed")):this._setupFakeWorker()},r=new AbortController;t.addEventListener("error",()=>{this._webWorker||i()},{signal:r.signal}),s.on("test",a=>{if(r.abort(),this.destroyed||!a){i();return}this._messageHandler=s,this._port=t,this._webWorker=t,T(this,Bh,pg).call(this)}),s.on("ready",a=>{if(r.abort(),this.destroyed){i();return}try{o()}catch{this._setupFakeWorker()}});const o=()=>{const a=new Uint8Array;s.send("test",a,[a.buffer])};o();return}catch{b0("The worker has been disabled.")}this._setupFakeWorker()}_setupFakeWorker(){f(Mt,Fl)||(Be("Setting up fake worker."),C(Mt,Fl,!0)),Mt._setupFakeWorkerGlobal.then(e=>{if(this.destroyed){this._readyCapability.reject(new Error("Worker was destroyed"));return}const t=new M6;this._port=t;const s=`fake${ps(Mt,qy)._++}`,i=new gd(s+"_worker",s,t);e.setup(i,t),this._messageHandler=new gd(s,s+"_worker",t),T(this,Bh,pg).call(this)}).catch(e=>{this._readyCapability.reject(new Error(`Setting up fake worker failed: "${e.message}".`))})}destroy(){var e;this.destroyed=!0,this._webWorker&&(this._webWorker.terminate(),this._webWorker=null),(e=f(Mt,jl))==null||e.delete(this._port),this._port=null,this._messageHandler&&(this._messageHandler.destroy(),this._messageHandler=null)}static fromPort(e){var s;if(!(e!=null&&e.port))throw new Error("PDFWorker.fromPort - invalid method signature.");const t=(s=f(this,jl))==null?void 0:s.get(e.port);if(t){if(t._pendingDestroy)throw new Error("PDFWorker.fromPort - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return t}return new Mt(e)}static get workerSrc(){if(vo.workerSrc)return vo.workerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _setupFakeWorkerGlobal(){return Ze(this,"_setupFakeWorkerGlobal",(async()=>f(this,Uh,mg)?f(this,Uh,mg):(await import(this.workerSrc)).WorkerMessageHandler)())}};qy=new WeakMap,Fl=new WeakMap,jl=new WeakMap,Bh=new WeakSet,pg=function(){this._readyCapability.resolve(),this._messageHandler.send("configure",{verbosity:this.verbosity})},Uh=new WeakSet,mg=function(){var e;try{return((e=globalThis.pdfjsWorker)==null?void 0:e.WorkerMessageHandler)||null}catch{return null}},R(Mt,Uh),R(Mt,qy,0),R(Mt,Fl,!1),R(Mt,jl),cs&&(C(Mt,Fl,!0),vo.workerSrc||(vo.workerSrc="./pdf.worker.mjs")),Mt._isSameOrigin=(e,t)=>{let s;try{if(s=new URL(e),!s.origin||s.origin==="null")return!1}catch{return!1}const i=new URL(t,s);return s.origin===i.origin},Mt._createCDNWrapper=e=>{const t=`await import("${e}");`;return URL.createObjectURL(new Blob([t],{type:"text/javascript"}))};let uh=Mt;var no,yr,qh,Vh,vr,zl,yd;class I6{constructor(e,t,s,i,r){R(this,zl);R(this,no,new Map);R(this,yr,new Map);R(this,qh,new Map);R(this,Vh,new Map);R(this,vr,null);this.messageHandler=e,this.loadingTask=t,this.commonObjs=new UR,this.fontLoader=new P8({ownerDocument:i.ownerDocument,styleElement:i.styleElement}),this.loadingParams=i.loadingParams,this._params=i,this.canvasFactory=r.canvasFactory,this.filterFactory=r.filterFactory,this.cMapReaderFactory=r.cMapReaderFactory,this.standardFontDataFactory=r.standardFontDataFactory,this.destroyed=!1,this.destroyCapability=null,this._networkStream=s,this._fullReader=null,this._lastProgress=null,this.downloadInfoCapability=Promise.withResolvers(),this.setupMessageHandler()}get annotationStorage(){return Ze(this,"annotationStorage",new dk)}getRenderingIntent(e,t=Bo.ENABLE,s=null,i=!1,r=!1){let o=Ys.DISPLAY,a=Kb;switch(e){case"any":o=Ys.ANY;break;case"display":break;case"print":o=Ys.PRINT;break;default:Be(`getRenderingIntent - invalid intent: ${e}`)}const l=o&Ys.PRINT&&s instanceof wR?s:this.annotationStorage;switch(t){case Bo.DISABLE:o+=Ys.ANNOTATIONS_DISABLE;break;case Bo.ENABLE:break;case Bo.ENABLE_FORMS:o+=Ys.ANNOTATIONS_FORMS;break;case Bo.ENABLE_STORAGE:o+=Ys.ANNOTATIONS_STORAGE,a=l.serializable;break;default:Be(`getRenderingIntent - invalid annotationMode: ${t}`)}i&&(o+=Ys.IS_EDITING),r&&(o+=Ys.OPLIST);const{ids:c,hash:h}=l.modifiedIds,u=[o,a.hash,h];return{renderingIntent:o,cacheKey:u.join("_"),annotationStorageSerializable:a,modifiedIds:c}}destroy(){var s;if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),(s=f(this,vr))==null||s.reject(new Error("Worker was destroyed during onPassword callback"));const e=[];for(const i of f(this,yr).values())e.push(i._destroy());f(this,yr).clear(),f(this,qh).clear(),f(this,Vh).clear(),this.hasOwnProperty("annotationStorage")&&this.annotationStorage.resetModified();const t=this.messageHandler.sendWithPromise("Terminate",null);return e.push(t),Promise.all(e).then(()=>{var i;this.commonObjs.clear(),this.fontLoader.clear(),f(this,no).clear(),this.filterFactory.destroy(),sw.cleanup(),(i=this._networkStream)==null||i.cancelAllRequests(new Rc("Worker was terminated.")),this.messageHandler&&(this.messageHandler.destroy(),this.messageHandler=null),this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){const{messageHandler:e,loadingTask:t}=this;e.on("GetReader",(s,i)=>{yn(this._networkStream,"GetReader - no `IPDFStream` instance available."),this._fullReader=this._networkStream.getFullReader(),this._fullReader.onProgress=r=>{this._lastProgress={loaded:r.loaded,total:r.total}},i.onPull=()=>{this._fullReader.read().then(function({value:r,done:o}){if(o){i.close();return}yn(r instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),i.enqueue(new Uint8Array(r),1,[r])}).catch(r=>{i.error(r)})},i.onCancel=r=>{this._fullReader.cancel(r),i.ready.catch(o=>{if(!this.destroyed)throw o})}}),e.on("ReaderHeadersReady",async s=>{var a;await this._fullReader.headersReady;const{isStreamingSupported:i,isRangeSupported:r,contentLength:o}=this._fullReader;return(!i||!r)&&(this._lastProgress&&((a=t.onProgress)==null||a.call(t,this._lastProgress)),this._fullReader.onProgress=l=>{var c;(c=t.onProgress)==null||c.call(t,{loaded:l.loaded,total:l.total})}),{isStreamingSupported:i,isRangeSupported:r,contentLength:o}}),e.on("GetRangeReader",(s,i)=>{yn(this._networkStream,"GetRangeReader - no `IPDFStream` instance available.");const r=this._networkStream.getRangeReader(s.begin,s.end);if(!r){i.close();return}i.onPull=()=>{r.read().then(function({value:o,done:a}){if(a){i.close();return}yn(o instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),i.enqueue(new Uint8Array(o),1,[o])}).catch(o=>{i.error(o)})},i.onCancel=o=>{r.cancel(o),i.ready.catch(a=>{if(!this.destroyed)throw a})}}),e.on("GetDoc",({pdfInfo:s})=>{this._numPages=s.numPages,this._htmlForXfa=s.htmlForXfa,delete s.htmlForXfa,t._capability.resolve(new P6(s,this))}),e.on("DocException",function(s){let i;switch(s.name){case"PasswordException":i=new Eb(s.message,s.code);break;case"InvalidPDFException":i=new WP(s.message);break;case"MissingPDFException":i=new Pc(s.message);break;case"UnexpectedResponseException":i=new w0(s.message,s.status);break;case"UnknownErrorException":i=new Cb(s.message,s.details);break;default:$t("DocException - expected a valid Error.")}t._capability.reject(i)}),e.on("PasswordRequest",s=>{if(C(this,vr,Promise.withResolvers()),t.onPassword){const i=r=>{r instanceof Error?f(this,vr).reject(r):f(this,vr).resolve({password:r})};try{t.onPassword(i,s.code)}catch(r){f(this,vr).reject(r)}}else f(this,vr).reject(new Eb(s.message,s.code));return f(this,vr).promise}),e.on("DataLoaded",s=>{var i;(i=t.onProgress)==null||i.call(t,{loaded:s.length,total:s.length}),this.downloadInfoCapability.resolve(s)}),e.on("StartRenderPage",s=>{if(this.destroyed)return;f(this,yr).get(s.pageIndex)._startRenderPage(s.transparency,s.cacheKey)}),e.on("commonobj",([s,i,r])=>{var o;if(this.destroyed||this.commonObjs.has(s))return null;switch(i){case"Font":const{disableFontFace:a,fontExtraProperties:l,pdfBug:c}=this._params;if("error"in r){const p=r.error;Be(`Error during font loading: ${p}`),this.commonObjs.resolve(s,p);break}const h=c&&((o=globalThis.FontInspector)!=null&&o.enabled)?(p,m)=>globalThis.FontInspector.fontAdded(p,m):null,u=new R8(r,{disableFontFace:a,inspectFont:h});this.fontLoader.bind(u).catch(()=>e.sendWithPromise("FontFallback",{id:s})).finally(()=>{!l&&u.data&&(u.data=null),this.commonObjs.resolve(s,u)});break;case"CopyLocalImage":const{imageRef:d}=r;yn(d,"The imageRef must be defined.");for(const p of f(this,yr).values())for(const[,m]of p.objs)if((m==null?void 0:m.ref)===d)return m.dataLen?(this.commonObjs.resolve(s,structuredClone(m)),m.dataLen):null;break;case"FontPath":case"Image":case"Pattern":this.commonObjs.resolve(s,r);break;default:throw new Error(`Got unknown common object type ${i}`)}return null}),e.on("obj",([s,i,r,o])=>{var l;if(this.destroyed)return;const a=f(this,yr).get(i);if(!a.objs.has(s)){if(a._intentStates.size===0){(l=o==null?void 0:o.bitmap)==null||l.close();return}switch(r){case"Image":a.objs.resolve(s,o),(o==null?void 0:o.dataLen)>r8&&(a._maybeCleanupAfterRender=!0);break;case"Pattern":a.objs.resolve(s,o);break;default:throw new Error(`Got unknown object type ${r}`)}}}),e.on("DocProgress",s=>{var i;this.destroyed||(i=t.onProgress)==null||i.call(t,{loaded:s.loaded,total:s.total})}),e.on("FetchBuiltInCMap",async s=>{if(this.destroyed)throw new Error("Worker was destroyed.");if(!this.cMapReaderFactory)throw new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.");return this.cMapReaderFactory.fetch(s)}),e.on("FetchStandardFontData",async s=>{if(this.destroyed)throw new Error("Worker was destroyed.");if(!this.standardFontDataFactory)throw new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.");return this.standardFontDataFactory.fetch(s)})}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){var s;this.annotationStorage.size<=0&&Be("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");const{map:e,transfer:t}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:e,filename:((s=this._fullReader)==null?void 0:s.filename)??null},t).finally(()=>{this.annotationStorage.resetModified()})}getPage(e){if(!Number.isInteger(e)||e<=0||e>this._numPages)return Promise.reject(new Error("Invalid page request."));const t=e-1,s=f(this,qh).get(t);if(s)return s;const i=this.messageHandler.sendWithPromise("GetPage",{pageIndex:t}).then(r=>{if(this.destroyed)throw new Error("Transport destroyed");r.refStr&&f(this,Vh).set(r.refStr,e);const o=new R6(t,r,this,this._params.pdfBug);return f(this,yr).set(t,o),o});return f(this,qh).set(t,i),i}getPageIndex(e){return Hx(e)?this.messageHandler.sendWithPromise("GetPageIndex",{num:e.num,gen:e.gen}):Promise.reject(new Error("Invalid pageIndex request."))}getAnnotations(e,t){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:e,intent:t})}getFieldObjects(){return T(this,zl,yd).call(this,"GetFieldObjects")}hasJSActions(){return T(this,zl,yd).call(this,"HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(e){return typeof e!="string"?Promise.reject(new Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:e})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getDocJSActions(){return T(this,zl,yd).call(this,"GetDocJSActions")}getPageJSActions(e){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:e})}getStructTree(e){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:e})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(e){return T(this,zl,yd).call(this,"GetOptionalContentConfig").then(t=>new Q8(t,e))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){const e="GetMetadata",t=f(this,no).get(e);if(t)return t;const s=this.messageHandler.sendWithPromise(e,null).then(i=>{var r,o;return{info:i[0],metadata:i[1]?new Y8(i[1]):null,contentDispositionFilename:((r=this._fullReader)==null?void 0:r.filename)??null,contentLength:((o=this._fullReader)==null?void 0:o.contentLength)??null}});return f(this,no).set(e,s),s}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(e=!1){if(!this.destroyed){await this.messageHandler.sendWithPromise("Cleanup",null);for(const t of f(this,yr).values())if(!t.cleanup())throw new Error(`startCleanup: Page ${t.pageNumber} is currently rendering.`);this.commonObjs.clear(),e||this.fontLoader.clear(),f(this,no).clear(),this.filterFactory.destroy(!0),sw.cleanup()}}cachedPageNumber(e){if(!Hx(e))return null;const t=e.gen===0?`${e.num}R`:`${e.num}R${e.gen}`;return f(this,Vh).get(t)??null}}no=new WeakMap,yr=new WeakMap,qh=new WeakMap,Vh=new WeakMap,vr=new WeakMap,zl=new WeakSet,yd=function(e,t=null){const s=f(this,no).get(e);if(s)return s;const i=this.messageHandler.sendWithPromise(e,t);return f(this,no).set(e,i),i};const km=Symbol("INITIAL_DATA");var Di,Kf,aw;class UR{constructor(){R(this,Kf);R(this,Di,Object.create(null))}get(e,t=null){if(t){const i=T(this,Kf,aw).call(this,e);return i.promise.then(()=>t(i.data)),null}const s=f(this,Di)[e];if(!s||s.data===km)throw new Error(`Requesting object that isn't resolved yet ${e}.`);return s.data}has(e){const t=f(this,Di)[e];return!!t&&t.data!==km}resolve(e,t=null){const s=T(this,Kf,aw).call(this,e);s.data=t,s.resolve()}clear(){var e;for(const t in f(this,Di)){const{data:s}=f(this,Di)[t];(e=s==null?void 0:s.bitmap)==null||e.close()}C(this,Di,Object.create(null))}*[Symbol.iterator](){for(const e in f(this,Di)){const{data:t}=f(this,Di)[e];t!==km&&(yield[e,t])}}}Di=new WeakMap,Kf=new WeakSet,aw=function(e){var t;return(t=f(this,Di))[e]||(t[e]={...Promise.withResolvers(),data:km})};var aa;class O6{constructor(e){R(this,aa,null);C(this,aa,e),this.onContinue=null}get promise(){return f(this,aa).capability.promise}cancel(e=0){f(this,aa).cancel(null,e)}get separateAnnots(){const{separateAnnots:e}=f(this,aa).operatorList;if(!e)return!1;const{annotationCanvasMap:t}=f(this,aa);return e.form||e.canvas&&(t==null?void 0:t.size)>0}}aa=new WeakMap;var la,Hl;const hl=class hl{constructor({callback:e,params:t,objs:s,commonObjs:i,annotationCanvasMap:r,operatorList:o,pageIndex:a,canvasFactory:l,filterFactory:c,useRequestAnimationFrame:h=!1,pdfBug:u=!1,pageColors:d=null}){R(this,la,null);this.callback=e,this.params=t,this.objs=s,this.commonObjs=i,this.annotationCanvasMap=r,this.operatorListIdx=null,this.operatorList=o,this._pageIndex=a,this.canvasFactory=l,this.filterFactory=c,this._pdfBug=u,this.pageColors=d,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=h===!0&&typeof window<"u",this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new O6(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=t.canvasContext.canvas}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:e=!1,optionalContentConfig:t}){var a,l;if(this.cancelled)return;if(this._canvas){if(f(hl,Hl).has(this._canvas))throw new Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");f(hl,Hl).add(this._canvas)}this._pdfBug&&((a=globalThis.StepperManager)!=null&&a.enabled)&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());const{canvasContext:s,viewport:i,transform:r,background:o}=this.params;this.gfx=new hh(s,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:t},this.annotationCanvasMap,this.pageColors),this.gfx.beginDrawing({transform:r,viewport:i,transparency:e,background:o}),this.operatorListIdx=0,this.graphicsReady=!0,(l=this.graphicsReadyCallback)==null||l.call(this)}cancel(e=null,t=0){var s;this.running=!1,this.cancelled=!0,(s=this.gfx)==null||s.endDrawing(),f(this,la)&&(window.cancelAnimationFrame(f(this,la)),C(this,la,null)),f(hl,Hl).delete(this._canvas),this.callback(e||new lk(`Rendering cancelled, page ${this._pageIndex+1}`,t))}operatorListChanged(){var e;if(!this.graphicsReady){this.graphicsReadyCallback||(this.graphicsReadyCallback=this._continueBound);return}(e=this.stepper)==null||e.updateOperatorList(this.operatorList),!this.running&&this._continue()}_continue(){this.running=!0,!this.cancelled&&(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?C(this,la,window.requestAnimationFrame(()=>{C(this,la,null),this._nextBound().catch(this._cancelBound)})):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(),f(hl,Hl).delete(this._canvas),this.callback())))}};la=new WeakMap,Hl=new WeakMap,R(hl,Hl,new WeakSet);let lw=hl;const N6="4.8.69",L6="3634dab10";function Bx(n){return Math.floor(Math.max(0,Math.min(1,n))*255).toString(16).padStart(2,"0")}function Ju(n){return Math.max(0,Math.min(255,255*n))}class Ux{static CMYK_G([e,t,s,i]){return["G",1-Math.min(1,.3*e+.59*s+.11*t+i)]}static G_CMYK([e]){return["CMYK",0,0,0,1-e]}static G_RGB([e]){return["RGB",e,e,e]}static G_rgb([e]){return e=Ju(e),[e,e,e]}static G_HTML([e]){const t=Bx(e);return`#${t}${t}${t}`}static RGB_G([e,t,s]){return["G",.3*e+.59*t+.11*s]}static RGB_rgb(e){return e.map(Ju)}static RGB_HTML(e){return`#${e.map(Bx).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([e,t,s,i]){return["RGB",1-Math.min(1,e+i),1-Math.min(1,s+i),1-Math.min(1,t+i)]}static CMYK_rgb([e,t,s,i]){return[Ju(1-Math.min(1,e+i)),Ju(1-Math.min(1,s+i)),Ju(1-Math.min(1,t+i))]}static CMYK_HTML(e){const t=this.CMYK_RGB(e).slice(1);return this.RGB_HTML(t)}static RGB_CMYK([e,t,s]){const i=1-e,r=1-t,o=1-s,a=Math.min(i,r,o);return["CMYK",i,r,o,a]}}class D6{create(e,t,s=!1){if(e<=0||t<=0)throw new Error("Invalid SVG dimensions");const i=this._createSVG("svg:svg");return i.setAttribute("version","1.1"),s||(i.setAttribute("width",`${e}px`),i.setAttribute("height",`${t}px`)),i.setAttribute("preserveAspectRatio","none"),i.setAttribute("viewBox",`0 0 ${e} ${t}`),i}createElement(e){if(typeof e!="string")throw new Error("Invalid SVG element type");return this._createSVG(e)}_createSVG(e){$t("Abstract method `_createSVG` called.")}}class yk extends D6{_createSVG(e){return document.createElementNS(qr,e)}}class qR{static setupStorage(e,t,s,i,r){const o=i.getValue(t,{value:null});switch(s.name){case"textarea":if(o.value!==null&&(e.textContent=o.value),r==="print")break;e.addEventListener("input",a=>{i.setValue(t,{value:a.target.value})});break;case"input":if(s.attributes.type==="radio"||s.attributes.type==="checkbox"){if(o.value===s.attributes.xfaOn?e.setAttribute("checked",!0):o.value===s.attributes.xfaOff&&e.removeAttribute("checked"),r==="print")break;e.addEventListener("change",a=>{i.setValue(t,{value:a.target.checked?a.target.getAttribute("xfaOn"):a.target.getAttribute("xfaOff")})})}else{if(o.value!==null&&e.setAttribute("value",o.value),r==="print")break;e.addEventListener("input",a=>{i.setValue(t,{value:a.target.value})})}break;case"select":if(o.value!==null){e.setAttribute("value",o.value);for(const a of s.children)a.attributes.value===o.value?a.attributes.selected=!0:a.attributes.hasOwnProperty("selected")&&delete a.attributes.selected}e.addEventListener("input",a=>{const l=a.target.options,c=l.selectedIndex===-1?"":l[l.selectedIndex].value;i.setValue(t,{value:c})});break}}static setAttributes({html:e,element:t,storage:s=null,intent:i,linkService:r}){const{attributes:o}=t,a=e instanceof HTMLAnchorElement;o.type==="radio"&&(o.name=`${o.name}-${i}`);for(const[l,c]of Object.entries(o))if(c!=null)switch(l){case"class":c.length&&e.setAttribute(l,c.join(" "));break;case"dataId":break;case"id":e.setAttribute("data-element-id",c);break;case"style":Object.assign(e.style,c);break;case"textContent":e.textContent=c;break;default:(!a||l!=="href"&&l!=="newWindow")&&e.setAttribute(l,c)}a&&r.addLinkAttributes(e,o.href,o.newWindow),s&&o.dataId&&this.setupStorage(e,o.dataId,t,s)}static render(e){var u,d;const t=e.annotationStorage,s=e.linkService,i=e.xfaHtml,r=e.intent||"display",o=document.createElement(i.name);i.attributes&&this.setAttributes({html:o,element:i,intent:r,linkService:s});const a=r!=="richText",l=e.div;if(l.append(o),e.viewport){const p=`matrix(${e.viewport.transform.join(",")})`;l.style.transform=p}a&&l.setAttribute("class","xfaLayer xfaFont");const c=[];if(i.children.length===0){if(i.value){const p=document.createTextNode(i.value);o.append(p),a&&ef.shouldBuildText(i.name)&&c.push(p)}return{textDivs:c}}const h=[[i,-1,o]];for(;h.length>0;){const[p,m,g]=h.at(-1);if(m+1===p.children.length){h.pop();continue}const v=p.children[++h.at(-1)[1]];if(v===null)continue;const{name:y}=v;if(y==="#text"){const _=document.createTextNode(v.value);c.push(_),g.append(_);continue}const w=(u=v==null?void 0:v.attributes)!=null&&u.xmlns?document.createElementNS(v.attributes.xmlns,y):document.createElement(y);if(g.append(w),v.attributes&&this.setAttributes({html:w,element:v,storage:t,intent:r,linkService:s}),((d=v.children)==null?void 0:d.length)>0)h.push([v,-1,w]);else if(v.value){const _=document.createTextNode(v.value);a&&ef.shouldBuildText(y)&&c.push(_),w.append(_)}}for(const p of l.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))p.setAttribute("readOnly",!0);return{textDivs:c}}static update(e){const t=`matrix(${e.viewport.transform.join(",")})`;e.div.style.transform=t,e.div.hidden=!1}}const Kp=1e3,F6=9,bc=new WeakSet;function xo(n){return{width:n[2]-n[0],height:n[3]-n[1]}}class j6{static create(e){switch(e.data.annotationType){case hn.LINK:return new VR(e);case hn.TEXT:return new z6(e);case hn.WIDGET:switch(e.data.fieldType){case"Tx":return new H6(e);case"Btn":return e.data.radioButton?new KR(e):e.data.checkBox?new U6(e):new q6(e);case"Ch":return new V6(e);case"Sig":return new B6(e)}return new Mc(e);case hn.POPUP:return new hw(e);case hn.FREETEXT:return new QR(e);case hn.LINE:return new G6(e);case hn.SQUARE:return new K6(e);case hn.CIRCLE:return new Z6(e);case hn.POLYLINE:return new eM(e);case hn.CARET:return new Y6(e);case hn.INK:return new vk(e);case hn.POLYGON:return new X6(e);case hn.HIGHLIGHT:return new tM(e);case hn.UNDERLINE:return new J6(e);case hn.SQUIGGLY:return new Q6(e);case hn.STRIKEOUT:return new eZ(e);case hn.STAMP:return new nM(e);case hn.FILEATTACHMENT:return new tZ(e);default:return new Yt(e)}}}var Bl,Wh,Gh,Zf,cw;const Yk=class Yk{constructor(e,{isRenderable:t=!1,ignoreBorder:s=!1,createQuadrilaterals:i=!1}={}){R(this,Zf);R(this,Bl,null);R(this,Wh,!1);R(this,Gh,null);this.isRenderable=t,this.data=e.data,this.layer=e.layer,this.linkService=e.linkService,this.downloadManager=e.downloadManager,this.imageResourcesPath=e.imageResourcesPath,this.renderForms=e.renderForms,this.svgFactory=e.svgFactory,this.annotationStorage=e.annotationStorage,this.enableScripting=e.enableScripting,this.hasJSActions=e.hasJSActions,this._fieldObjects=e.fieldObjects,this.parent=e.parent,t&&(this.container=this._createContainer(s)),i&&this._createQuadrilaterals()}static _hasPopupData({titleObj:e,contentsObj:t,richText:s}){return!!(e!=null&&e.str||t!=null&&t.str||s!=null&&s.str)}get _isEditable(){return this.data.isEditable}get hasPopupData(){return Yk._hasPopupData(this.data)}updateEdited(e){var s;if(!this.container)return;f(this,Bl)||C(this,Bl,{rect:this.data.rect.slice(0)});const{rect:t}=e;t&&T(this,Zf,cw).call(this,t),(s=f(this,Gh))==null||s.popup.updateEdited(e)}resetEdited(){var e;f(this,Bl)&&(T(this,Zf,cw).call(this,f(this,Bl).rect),(e=f(this,Gh))==null||e.popup.resetEdited(),C(this,Bl,null))}_createContainer(e){const{data:t,parent:{page:s,viewport:i}}=this,r=document.createElement("section");r.setAttribute("data-annotation-id",t.id),this instanceof Mc||(r.tabIndex=Kp);const{style:o}=r;if(o.zIndex=this.parent.zIndex++,t.alternativeText&&(r.title=t.alternativeText),t.noRotate&&r.classList.add("norotate"),!t.rect||this instanceof hw){const{rotation:g}=t;return!t.hasOwnCanvas&&g!==0&&this.setRotation(g,r),r}const{width:a,height:l}=xo(t.rect);if(!e&&t.borderStyle.width>0){o.borderWidth=`${t.borderStyle.width}px`;const g=t.borderStyle.horizontalCornerRadius,v=t.borderStyle.verticalCornerRadius;if(g>0||v>0){const w=`calc(${g}px * var(--scale-factor)) / calc(${v}px * var(--scale-factor))`;o.borderRadius=w}else if(this instanceof KR){const w=`calc(${a}px * var(--scale-factor)) / calc(${l}px * var(--scale-factor))`;o.borderRadius=w}switch(t.borderStyle.style){case Xu.SOLID:o.borderStyle="solid";break;case Xu.DASHED:o.borderStyle="dashed";break;case Xu.BEVELED:Be("Unimplemented border style: beveled");break;case Xu.INSET:Be("Unimplemented border style: inset");break;case Xu.UNDERLINE:o.borderBottomStyle="solid";break}const y=t.borderColor||null;y?(C(this,Wh,!0),o.borderColor=_e.makeHexColor(y[0]|0,y[1]|0,y[2]|0)):o.borderWidth=0}const c=_e.normalizeRect([t.rect[0],s.view[3]-t.rect[1]+s.view[1],t.rect[2],s.view[3]-t.rect[3]+s.view[1]]),{pageWidth:h,pageHeight:u,pageX:d,pageY:p}=i.rawDims;o.left=`${100*(c[0]-d)/h}%`,o.top=`${100*(c[1]-p)/u}%`;const{rotation:m}=t;return t.hasOwnCanvas||m===0?(o.width=`${100*a/h}%`,o.height=`${100*l/u}%`):this.setRotation(m,r),r}setRotation(e,t=this.container){if(!this.data.rect)return;const{pageWidth:s,pageHeight:i}=this.parent.viewport.rawDims,{width:r,height:o}=xo(this.data.rect);let a,l;e%180===0?(a=100*r/s,l=100*o/i):(a=100*o/s,l=100*r/i),t.style.width=`${a}%`,t.style.height=`${l}%`,t.setAttribute("data-main-rotation",(360-e)%360)}get _commonActions(){const e=(t,s,i)=>{const r=i.detail[t],o=r[0],a=r.slice(1);i.target.style[s]=Ux[`${o}_HTML`](a),this.annotationStorage.setValue(this.data.id,{[s]:Ux[`${o}_rgb`](a)})};return Ze(this,"_commonActions",{display:t=>{const{display:s}=t.detail,i=s%2===1;this.container.style.visibility=i?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:i,noPrint:s===1||s===2})},print:t=>{this.annotationStorage.setValue(this.data.id,{noPrint:!t.detail.print})},hidden:t=>{const{hidden:s}=t.detail;this.container.style.visibility=s?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:s,noView:s})},focus:t=>{setTimeout(()=>t.target.focus({preventScroll:!1}),0)},userName:t=>{t.target.title=t.detail.userName},readonly:t=>{t.target.disabled=t.detail.readonly},required:t=>{this._setRequired(t.target,t.detail.required)},bgColor:t=>{e("bgColor","backgroundColor",t)},fillColor:t=>{e("fillColor","backgroundColor",t)},fgColor:t=>{e("fgColor","color",t)},textColor:t=>{e("textColor","color",t)},borderColor:t=>{e("borderColor","borderColor",t)},strokeColor:t=>{e("strokeColor","borderColor",t)},rotation:t=>{const s=t.detail.rotation;this.setRotation(s),this.annotationStorage.setValue(this.data.id,{rotation:s})}})}_dispatchEventFromSandbox(e,t){const s=this._commonActions;for(const i of Object.keys(t.detail)){const r=e[i]||s[i];r==null||r(t)}}_setDefaultPropertiesFromJS(e){if(!this.enableScripting)return;const t=this.annotationStorage.getRawValue(this.data.id);if(!t)return;const s=this._commonActions;for(const[i,r]of Object.entries(t)){const o=s[i];if(o){const a={detail:{[i]:r},target:e};o(a),delete t[i]}}}_createQuadrilaterals(){if(!this.container)return;const{quadPoints:e}=this.data;if(!e)return;const[t,s,i,r]=this.data.rect.map(g=>Math.fround(g));if(e.length===8){const[g,v,y,w]=e.subarray(2,6);if(i===g&&r===v&&t===y&&s===w)return}const{style:o}=this.container;let a;if(f(this,Wh)){const{borderColor:g,borderWidth:v}=o;o.borderWidth=0,a=["url('data:image/svg+xml;utf8,",'',``],this.container.classList.add("hasBorder")}const l=i-t,c=r-s,{svgFactory:h}=this,u=h.createElement("svg");u.classList.add("quadrilateralsContainer"),u.setAttribute("width",0),u.setAttribute("height",0);const d=h.createElement("defs");u.append(d);const p=h.createElement("clipPath"),m=`clippath_${this.data.id}`;p.setAttribute("id",m),p.setAttribute("clipPathUnits","objectBoundingBox"),d.append(p);for(let g=2,v=e.length;g`)}f(this,Wh)&&(a.push("')"),o.backgroundImage=a.join("")),this.container.append(u),this.container.style.clipPath=`url(#${m})`}_createPopup(){const{data:e}=this,t=C(this,Gh,new hw({data:{color:e.color,titleObj:e.titleObj,modificationDate:e.modificationDate,contentsObj:e.contentsObj,richText:e.richText,parentRect:e.rect,borderStyle:0,id:`popup_${e.id}`,rotation:e.rotation},parent:this.parent,elements:[this]}));this.parent.div.append(t.render())}render(){$t("Abstract method `AnnotationElement.render` called")}_getElementsByName(e,t=null){const s=[];if(this._fieldObjects){const i=this._fieldObjects[e];if(i)for(const{page:r,id:o,exportValues:a}of i){if(r===-1||o===t)continue;const l=typeof a=="string"?a:null,c=document.querySelector(`[data-element-id="${o}"]`);if(c&&!bc.has(c)){Be(`_getElementsByName - element not allowed: ${o}`);continue}s.push({id:o,exportValue:l,domElement:c})}return s}for(const i of document.getElementsByName(e)){const{exportValue:r}=i,o=i.getAttribute("data-element-id");o!==t&&bc.has(i)&&s.push({id:o,exportValue:r,domElement:i})}return s}show(){var e;this.container&&(this.container.hidden=!1),(e=this.popup)==null||e.maybeShow()}hide(){var e;this.container&&(this.container.hidden=!0),(e=this.popup)==null||e.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){const e=this.getElementsToTriggerPopup();if(Array.isArray(e))for(const t of e)t.classList.add("highlightArea");else e.classList.add("highlightArea")}_editOnDoubleClick(){if(!this._isEditable)return;const{annotationEditorType:e,data:{id:t}}=this;this.container.addEventListener("dblclick",()=>{var s;(s=this.linkService.eventBus)==null||s.dispatch("switchannotationeditormode",{source:this,mode:e,editId:t})})}};Bl=new WeakMap,Wh=new WeakMap,Gh=new WeakMap,Zf=new WeakSet,cw=function(e){const{container:{style:t},data:{rect:s,rotation:i},parent:{viewport:{rawDims:{pageWidth:r,pageHeight:o,pageX:a,pageY:l}}}}=this;s==null||s.splice(0,4,...e);const{width:c,height:h}=xo(e);t.left=`${100*(e[0]-a)/r}%`,t.top=`${100*(o-e[3]+l)/o}%`,i===0?(t.width=`${100*c/r}%`,t.height=`${100*h/o}%`):this.setRotation(i)};let Yt=Yk;var Qs,Ya,WR,GR;class VR extends Yt{constructor(t,s=null){super(t,{isRenderable:!0,ignoreBorder:!!(s!=null&&s.ignoreBorder),createQuadrilaterals:!0});R(this,Qs);this.isTooltipOnly=t.data.isTooltipOnly}render(){const{data:t,linkService:s}=this,i=document.createElement("a");i.setAttribute("data-element-id",t.id);let r=!1;return t.url?(s.addLinkAttributes(i,t.url,t.newWindow),r=!0):t.action?(this._bindNamedAction(i,t.action),r=!0):t.attachment?(T(this,Qs,WR).call(this,i,t.attachment,t.attachmentDest),r=!0):t.setOCGState?(T(this,Qs,GR).call(this,i,t.setOCGState),r=!0):t.dest?(this._bindLink(i,t.dest),r=!0):(t.actions&&(t.actions.Action||t.actions["Mouse Up"]||t.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(i,t),r=!0),t.resetForm?(this._bindResetFormAction(i,t.resetForm),r=!0):this.isTooltipOnly&&!r&&(this._bindLink(i,""),r=!0)),this.container.classList.add("linkAnnotation"),r&&this.container.append(i),this.container}_bindLink(t,s){t.href=this.linkService.getDestinationHash(s),t.onclick=()=>(s&&this.linkService.goToDestination(s),!1),(s||s==="")&&T(this,Qs,Ya).call(this)}_bindNamedAction(t,s){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeNamedAction(s),!1),T(this,Qs,Ya).call(this)}_bindJSAction(t,s){t.href=this.linkService.getAnchorUrl("");const i=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const r of Object.keys(s.actions)){const o=i.get(r);o&&(t[o]=()=>{var a;return(a=this.linkService.eventBus)==null||a.dispatch("dispatcheventinsandbox",{source:this,detail:{id:s.id,name:r}}),!1})}t.onclick||(t.onclick=()=>!1),T(this,Qs,Ya).call(this)}_bindResetFormAction(t,s){const i=t.onclick;if(i||(t.href=this.linkService.getAnchorUrl("")),T(this,Qs,Ya).call(this),!this._fieldObjects){Be('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),i||(t.onclick=()=>!1);return}t.onclick=()=>{var u;i==null||i();const{fields:r,refs:o,include:a}=s,l=[];if(r.length!==0||o.length!==0){const d=new Set(o);for(const p of r){const m=this._fieldObjects[p]||[];for(const{id:g}of m)d.add(g)}for(const p of Object.values(this._fieldObjects))for(const m of p)d.has(m.id)===a&&l.push(m)}else for(const d of Object.values(this._fieldObjects))l.push(...d);const c=this.annotationStorage,h=[];for(const d of l){const{id:p}=d;switch(h.push(p),d.type){case"text":{const g=d.defaultValue||"";c.setValue(p,{value:g});break}case"checkbox":case"radiobutton":{const g=d.defaultValue===d.exportValues;c.setValue(p,{value:g});break}case"combobox":case"listbox":{const g=d.defaultValue||"";c.setValue(p,{value:g});break}default:continue}const m=document.querySelector(`[data-element-id="${p}"]`);if(m){if(!bc.has(m)){Be(`_bindResetFormAction - element not allowed: ${p}`);continue}}else continue;m.dispatchEvent(new Event("resetform"))}return this.enableScripting&&((u=this.linkService.eventBus)==null||u.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:h,name:"ResetForm"}})),!1}}}Qs=new WeakSet,Ya=function(){this.container.setAttribute("data-internal-link","")},WR=function(t,s,i=null){t.href=this.linkService.getAnchorUrl(""),s.description&&(t.title=s.description),t.onclick=()=>{var r;return(r=this.downloadManager)==null||r.openOrDownloadData(s.content,s.filename,i),!1},T(this,Qs,Ya).call(this)},GR=function(t,s){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeSetOCGState(s),!1),T(this,Qs,Ya).call(this)};class z6 extends Yt{constructor(e){super(e,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");const e=document.createElement("img");return e.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",e.setAttribute("data-l10n-id","pdfjs-text-annotation-type"),e.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.append(e),this.container}}class Mc extends Yt{render(){return this.container}showElementAndHideCanvas(e){var t;this.data.hasOwnCanvas&&(((t=e.previousSibling)==null?void 0:t.nodeName)==="CANVAS"&&(e.previousSibling.hidden=!0),e.hidden=!1)}_getKeyModifier(e){return _s.platform.isMac?e.metaKey:e.ctrlKey}_setEventListener(e,t,s,i,r){s.includes("mouse")?e.addEventListener(s,o=>{var a;(a=this.linkService.eventBus)==null||a.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:i,value:r(o),shift:o.shiftKey,modifier:this._getKeyModifier(o)}})}):e.addEventListener(s,o=>{var a;if(s==="blur"){if(!t.focused||!o.relatedTarget)return;t.focused=!1}else if(s==="focus"){if(t.focused)return;t.focused=!0}r&&((a=this.linkService.eventBus)==null||a.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:i,value:r(o)}}))})}_setEventListeners(e,t,s,i){var r,o,a;for(const[l,c]of s)(c==="Action"||(r=this.data.actions)!=null&&r[c])&&((c==="Focus"||c==="Blur")&&(t||(t={focused:!1})),this._setEventListener(e,t,l,c,i),c==="Focus"&&!((o=this.data.actions)!=null&&o.Blur)?this._setEventListener(e,t,"blur","Blur",null):c==="Blur"&&!((a=this.data.actions)!=null&&a.Focus)&&this._setEventListener(e,t,"focus","Focus",null))}_setBackgroundColor(e){const t=this.data.backgroundColor||null;e.style.backgroundColor=t===null?"transparent":_e.makeHexColor(t[0],t[1],t[2])}_setTextStyle(e){const t=["left","center","right"],{fontColor:s}=this.data.defaultAppearanceData,i=this.data.defaultAppearanceData.fontSize||F6,r=e.style;let o;const a=2,l=c=>Math.round(10*c)/10;if(this.data.multiLine){const c=Math.abs(this.data.rect[3]-this.data.rect[1]-a),h=Math.round(c/(cv*i))||1,u=c/h;o=Math.min(i,l(u/cv))}else{const c=Math.abs(this.data.rect[3]-this.data.rect[1]-a);o=Math.min(i,l(c/cv))}r.fontSize=`calc(${o}px * var(--scale-factor))`,r.color=_e.makeHexColor(s[0],s[1],s[2]),this.data.textAlignment!==null&&(r.textAlign=t[this.data.textAlignment])}_setRequired(e,t){t?e.setAttribute("required",!0):e.removeAttribute("required"),e.setAttribute("aria-required",t)}}class H6 extends Mc{constructor(e){const t=e.renderForms||e.data.hasOwnCanvas||!e.data.hasAppearance&&!!e.data.fieldValue;super(e,{isRenderable:t})}setPropertyOnSiblings(e,t,s,i){const r=this.annotationStorage;for(const o of this._getElementsByName(e.name,e.id))o.domElement&&(o.domElement[t]=s),r.setValue(o.id,{[i]:s})}render(){var i,r;const e=this.annotationStorage,t=this.data.id;this.container.classList.add("textWidgetAnnotation");let s=null;if(this.renderForms){const o=e.getValue(t,{value:this.data.fieldValue});let a=o.value||"";const l=e.getValue(t,{charLimit:this.data.maxLen}).charLimit;l&&a.length>l&&(a=a.slice(0,l));let c=o.formattedValue||((i=this.data.textContent)==null?void 0:i.join(` +`))||null;c&&this.data.comb&&(c=c.replaceAll(/\s+/g,""));const h={userValue:a,formattedValue:c,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(s=document.createElement("textarea"),s.textContent=c??a,this.data.doNotScroll&&(s.style.overflowY="hidden")):(s=document.createElement("input"),s.type="text",s.setAttribute("value",c??a),this.data.doNotScroll&&(s.style.overflowX="hidden")),this.data.hasOwnCanvas&&(s.hidden=!0),bc.add(s),s.setAttribute("data-element-id",t),s.disabled=this.data.readOnly,s.name=this.data.fieldName,s.tabIndex=Kp,this._setRequired(s,this.data.required),l&&(s.maxLength=l),s.addEventListener("input",d=>{e.setValue(t,{value:d.target.value}),this.setPropertyOnSiblings(s,"value",d.target.value,"value"),h.formattedValue=null}),s.addEventListener("resetform",d=>{const p=this.data.defaultFieldValue??"";s.value=h.userValue=p,h.formattedValue=null});let u=d=>{const{formattedValue:p}=h;p!=null&&(d.target.value=p),d.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){s.addEventListener("focus",p=>{var g;if(h.focused)return;const{target:m}=p;h.userValue&&(m.value=h.userValue),h.lastCommittedValue=m.value,h.commitKey=1,(g=this.data.actions)!=null&&g.Focus||(h.focused=!0)}),s.addEventListener("updatefromsandbox",p=>{this.showElementAndHideCanvas(p.target);const m={value(g){h.userValue=g.detail.value??"",e.setValue(t,{value:h.userValue.toString()}),g.target.value=h.userValue},formattedValue(g){const{formattedValue:v}=g.detail;h.formattedValue=v,v!=null&&g.target!==document.activeElement&&(g.target.value=v),e.setValue(t,{formattedValue:v})},selRange(g){g.target.setSelectionRange(...g.detail.selRange)},charLimit:g=>{var _;const{charLimit:v}=g.detail,{target:y}=g;if(v===0){y.removeAttribute("maxLength");return}y.setAttribute("maxLength",v);let w=h.userValue;!w||w.length<=v||(w=w.slice(0,v),y.value=h.userValue=w,e.setValue(t,{value:w}),(_=this.linkService.eventBus)==null||_.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:w,willCommit:!0,commitKey:1,selStart:y.selectionStart,selEnd:y.selectionEnd}}))}};this._dispatchEventFromSandbox(m,p)}),s.addEventListener("keydown",p=>{var v;h.commitKey=1;let m=-1;if(p.key==="Escape"?m=0:p.key==="Enter"&&!this.data.multiLine?m=2:p.key==="Tab"&&(h.commitKey=3),m===-1)return;const{value:g}=p.target;h.lastCommittedValue!==g&&(h.lastCommittedValue=g,h.userValue=g,(v=this.linkService.eventBus)==null||v.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:g,willCommit:!0,commitKey:m,selStart:p.target.selectionStart,selEnd:p.target.selectionEnd}}))});const d=u;u=null,s.addEventListener("blur",p=>{var g,v;if(!h.focused||!p.relatedTarget)return;(g=this.data.actions)!=null&&g.Blur||(h.focused=!1);const{value:m}=p.target;h.userValue=m,h.lastCommittedValue!==m&&((v=this.linkService.eventBus)==null||v.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:m,willCommit:!0,commitKey:h.commitKey,selStart:p.target.selectionStart,selEnd:p.target.selectionEnd}})),d(p)}),(r=this.data.actions)!=null&&r.Keystroke&&s.addEventListener("beforeinput",p=>{var k;h.lastCommittedValue=null;const{data:m,target:g}=p,{value:v,selectionStart:y,selectionEnd:w}=g;let _=y,A=w;switch(p.inputType){case"deleteWordBackward":{const $=v.substring(0,y).match(/\w*[^\w]*$/);$&&(_-=$[0].length);break}case"deleteWordForward":{const $=v.substring(y).match(/^[^\w]*\w*/);$&&(A+=$[0].length);break}case"deleteContentBackward":y===w&&(_-=1);break;case"deleteContentForward":y===w&&(A+=1);break}p.preventDefault(),(k=this.linkService.eventBus)==null||k.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:v,change:m||"",willCommit:!1,selStart:_,selEnd:A}})}),this._setEventListeners(s,h,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],p=>p.target.value)}if(u&&s.addEventListener("blur",u),this.data.comb){const p=(this.data.rect[2]-this.data.rect[0])/l;s.classList.add("comb"),s.style.letterSpacing=`calc(${p}px * var(--scale-factor) - 1ch)`}}else s=document.createElement("div"),s.textContent=this.data.fieldValue,s.style.verticalAlign="middle",s.style.display="table-cell",this.data.hasOwnCanvas&&(s.hidden=!0);return this._setTextStyle(s),this._setBackgroundColor(s),this._setDefaultPropertiesFromJS(s),this.container.append(s),this.container}}class B6 extends Mc{constructor(e){super(e,{isRenderable:!!e.data.hasOwnCanvas})}}class U6 extends Mc{constructor(e){super(e,{isRenderable:e.renderForms})}render(){const e=this.annotationStorage,t=this.data,s=t.id;let i=e.getValue(s,{value:t.exportValue===t.fieldValue}).value;typeof i=="string"&&(i=i!=="Off",e.setValue(s,{value:i})),this.container.classList.add("buttonWidgetAnnotation","checkBox");const r=document.createElement("input");return bc.add(r),r.setAttribute("data-element-id",s),r.disabled=t.readOnly,this._setRequired(r,this.data.required),r.type="checkbox",r.name=t.fieldName,i&&r.setAttribute("checked",!0),r.setAttribute("exportValue",t.exportValue),r.tabIndex=Kp,r.addEventListener("change",o=>{const{name:a,checked:l}=o.target;for(const c of this._getElementsByName(a,s)){const h=l&&c.exportValue===t.exportValue;c.domElement&&(c.domElement.checked=h),e.setValue(c.id,{value:h})}e.setValue(s,{value:l})}),r.addEventListener("resetform",o=>{const a=t.defaultFieldValue||"Off";o.target.checked=a===t.exportValue}),this.enableScripting&&this.hasJSActions&&(r.addEventListener("updatefromsandbox",o=>{const a={value(l){l.target.checked=l.detail.value!=="Off",e.setValue(s,{value:l.target.checked})}};this._dispatchEventFromSandbox(a,o)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],o=>o.target.checked)),this._setBackgroundColor(r),this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class KR extends Mc{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const e=this.annotationStorage,t=this.data,s=t.id;let i=e.getValue(s,{value:t.fieldValue===t.buttonValue}).value;if(typeof i=="string"&&(i=i!==t.buttonValue,e.setValue(s,{value:i})),i)for(const o of this._getElementsByName(t.fieldName,s))e.setValue(o.id,{value:!1});const r=document.createElement("input");if(bc.add(r),r.setAttribute("data-element-id",s),r.disabled=t.readOnly,this._setRequired(r,this.data.required),r.type="radio",r.name=t.fieldName,i&&r.setAttribute("checked",!0),r.tabIndex=Kp,r.addEventListener("change",o=>{const{name:a,checked:l}=o.target;for(const c of this._getElementsByName(a,s))e.setValue(c.id,{value:!1});e.setValue(s,{value:l})}),r.addEventListener("resetform",o=>{const a=t.defaultFieldValue;o.target.checked=a!=null&&a===t.buttonValue}),this.enableScripting&&this.hasJSActions){const o=t.buttonValue;r.addEventListener("updatefromsandbox",a=>{const l={value:c=>{const h=o===c.detail.value;for(const u of this._getElementsByName(c.target.name)){const d=h&&u.id===s;u.domElement&&(u.domElement.checked=d),e.setValue(u.id,{value:d})}}};this._dispatchEventFromSandbox(l,a)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],a=>a.target.checked)}return this._setBackgroundColor(r),this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class q6 extends VR{constructor(e){super(e,{ignoreBorder:e.data.hasAppearance})}render(){const e=super.render();e.classList.add("buttonWidgetAnnotation","pushButton");const t=e.lastChild;return this.enableScripting&&this.hasJSActions&&t&&(this._setDefaultPropertiesFromJS(t),t.addEventListener("updatefromsandbox",s=>{this._dispatchEventFromSandbox({},s)})),e}}class V6 extends Mc{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const e=this.annotationStorage,t=this.data.id,s=e.getValue(t,{value:this.data.fieldValue}),i=document.createElement("select");bc.add(i),i.setAttribute("data-element-id",t),i.disabled=this.data.readOnly,this._setRequired(i,this.data.required),i.name=this.data.fieldName,i.tabIndex=Kp;let r=this.data.combo&&this.data.options.length>0;this.data.combo||(i.size=this.data.options.length,this.data.multiSelect&&(i.multiple=!0)),i.addEventListener("resetform",h=>{const u=this.data.defaultFieldValue;for(const d of i.options)d.selected=d.value===u});for(const h of this.data.options){const u=document.createElement("option");u.textContent=h.displayValue,u.value=h.exportValue,s.value.includes(h.exportValue)&&(u.setAttribute("selected",!0),r=!1),i.append(u)}let o=null;if(r){const h=document.createElement("option");h.value=" ",h.setAttribute("hidden",!0),h.setAttribute("selected",!0),i.prepend(h),o=()=>{h.remove(),i.removeEventListener("input",o),o=null},i.addEventListener("input",o)}const a=h=>{const u=h?"value":"textContent",{options:d,multiple:p}=i;return p?Array.prototype.filter.call(d,m=>m.selected).map(m=>m[u]):d.selectedIndex===-1?null:d[d.selectedIndex][u]};let l=a(!1);const c=h=>{const u=h.target.options;return Array.prototype.map.call(u,d=>({displayValue:d.textContent,exportValue:d.value}))};return this.enableScripting&&this.hasJSActions?(i.addEventListener("updatefromsandbox",h=>{const u={value(d){o==null||o();const p=d.detail.value,m=new Set(Array.isArray(p)?p:[p]);for(const g of i.options)g.selected=m.has(g.value);e.setValue(t,{value:a(!0)}),l=a(!1)},multipleSelection(d){i.multiple=!0},remove(d){const p=i.options,m=d.detail.remove;p[m].selected=!1,i.remove(m),p.length>0&&Array.prototype.findIndex.call(p,v=>v.selected)===-1&&(p[0].selected=!0),e.setValue(t,{value:a(!0),items:c(d)}),l=a(!1)},clear(d){for(;i.length!==0;)i.remove(0);e.setValue(t,{value:null,items:[]}),l=a(!1)},insert(d){const{index:p,displayValue:m,exportValue:g}=d.detail.insert,v=i.children[p],y=document.createElement("option");y.textContent=m,y.value=g,v?v.before(y):i.append(y),e.setValue(t,{value:a(!0),items:c(d)}),l=a(!1)},items(d){const{items:p}=d.detail;for(;i.length!==0;)i.remove(0);for(const m of p){const{displayValue:g,exportValue:v}=m,y=document.createElement("option");y.textContent=g,y.value=v,i.append(y)}i.options.length>0&&(i.options[0].selected=!0),e.setValue(t,{value:a(!0),items:c(d)}),l=a(!1)},indices(d){const p=new Set(d.detail.indices);for(const m of d.target.options)m.selected=p.has(m.index);e.setValue(t,{value:a(!0)}),l=a(!1)},editable(d){d.target.disabled=!d.detail.editable}};this._dispatchEventFromSandbox(u,h)}),i.addEventListener("input",h=>{var p;const u=a(!0),d=a(!1);e.setValue(t,{value:u}),h.preventDefault(),(p=this.linkService.eventBus)==null||p.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:l,change:d,changeEx:u,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(i,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],h=>h.target.value)):i.addEventListener("input",function(h){e.setValue(t,{value:a(!0)})}),this.data.combo&&this._setTextStyle(i),this._setBackgroundColor(i),this._setDefaultPropertiesFromJS(i),this.container.append(i),this.container}}class hw extends Yt{constructor(e){const{data:t,elements:s}=e;super(e,{isRenderable:Yt._hasPopupData(t)}),this.elements=s,this.popup=null}render(){this.container.classList.add("popupAnnotation");const e=this.popup=new W6({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open}),t=[];for(const s of this.elements)s.popup=e,s.container.ariaHasPopup="dialog",t.push(s.data.id),s.addHighlightArea();return this.container.setAttribute("aria-controls",t.map(s=>`${ak}${s}`).join(",")),this.container}}var Kh,Vy,Wy,Zh,Ul,Bt,so,Xh,Xf,Yf,Yh,io,Fi,ro,Jf,oo,Qf,ql,Vl,pt,gg,uw,ZR,XR,YR,JR,yg,vg,dw;class W6{constructor({container:e,color:t,elements:s,titleObj:i,modificationDate:r,contentsObj:o,richText:a,parent:l,rect:c,parentRect:h,open:u}){R(this,pt);R(this,Kh,T(this,pt,YR).bind(this));R(this,Vy,T(this,pt,dw).bind(this));R(this,Wy,T(this,pt,vg).bind(this));R(this,Zh,T(this,pt,yg).bind(this));R(this,Ul,null);R(this,Bt,null);R(this,so,null);R(this,Xh,null);R(this,Xf,null);R(this,Yf,null);R(this,Yh,null);R(this,io,!1);R(this,Fi,null);R(this,ro,null);R(this,Jf,null);R(this,oo,null);R(this,Qf,null);R(this,ql,null);R(this,Vl,!1);var d;C(this,Bt,e),C(this,Qf,i),C(this,so,o),C(this,oo,a),C(this,Yf,l),C(this,Ul,t),C(this,Jf,c),C(this,Yh,h),C(this,Xf,s),C(this,Xh,hk.toDateObject(r)),this.trigger=s.flatMap(p=>p.getElementsToTriggerPopup());for(const p of this.trigger)p.addEventListener("click",f(this,Zh)),p.addEventListener("mouseenter",f(this,Wy)),p.addEventListener("mouseleave",f(this,Vy)),p.classList.add("popupTriggerArea");for(const p of s)(d=p.container)==null||d.addEventListener("keydown",f(this,Kh));f(this,Bt).hidden=!0,u&&T(this,pt,yg).call(this)}render(){if(f(this,Fi))return;const e=C(this,Fi,document.createElement("div"));if(e.className="popup",f(this,Ul)){const r=e.style.outlineColor=_e.makeHexColor(...f(this,Ul));CSS.supports("background-color","color-mix(in srgb, red 30%, white)")?e.style.backgroundColor=`color-mix(in srgb, ${r} 30%, white)`:e.style.backgroundColor=_e.makeHexColor(...f(this,Ul).map(a=>Math.floor(.7*(255-a)+a)))}const t=document.createElement("span");t.className="header";const s=document.createElement("h1");if(t.append(s),{dir:s.dir,str:s.textContent}=f(this,Qf),e.append(t),f(this,Xh)){const r=document.createElement("span");r.classList.add("popupDate"),r.setAttribute("data-l10n-id","pdfjs-annotation-date-time-string"),r.setAttribute("data-l10n-args",JSON.stringify({dateObj:f(this,Xh).valueOf()})),t.append(r)}const i=f(this,pt,gg);if(i)qR.render({xfaHtml:i,intent:"richText",div:e}),e.lastChild.classList.add("richText","popupContent");else{const r=this._formatContents(f(this,so));e.append(r)}f(this,Bt).append(e)}_formatContents({str:e,dir:t}){const s=document.createElement("p");s.classList.add("popupContent"),s.dir=t;const i=e.split(/(?:\r\n?|\n)/);for(let r=0,o=i.length;r{o.key==="Enter"&&(r?o.metaKey:o.ctrlKey)&&T(this,op,fw).call(this)}),!s.popupRef&&this.hasPopupData?this._createPopup():i.classList.add("popupTriggerArea"),t.append(i),t}getElementsToTriggerPopup(){return f(this,rp)}addHighlightArea(){this.container.classList.add("highlightArea")}}rp=new WeakMap,op=new WeakSet,fw=function(){var t;(t=this.downloadManager)==null||t.openOrDownloadData(this.content,this.filename)};var ap,Wl,Gl,lp,Cc,sM,pw,EC;let nZ=(EC=class{constructor({div:e,accessibilityManager:t,annotationCanvasMap:s,annotationEditorUIManager:i,page:r,viewport:o,structTreeLayer:a}){R(this,Cc);R(this,ap,null);R(this,Wl,null);R(this,Gl,new Map);R(this,lp,null);this.div=e,C(this,ap,t),C(this,Wl,s),C(this,lp,a||null),this.page=r,this.viewport=o,this.zIndex=0,this._annotationEditorUIManager=i}hasEditableAnnotations(){return f(this,Gl).size>0}async render(e){var o;const{annotations:t}=e,s=this.div;yc(s,this.viewport);const i=new Map,r={data:null,layer:s,linkService:e.linkService,downloadManager:e.downloadManager,imageResourcesPath:e.imageResourcesPath||"",renderForms:e.renderForms!==!1,svgFactory:new yk,annotationStorage:e.annotationStorage||new dk,enableScripting:e.enableScripting===!0,hasJSActions:e.hasJSActions,fieldObjects:e.fieldObjects,parent:this,elements:null};for(const a of t){if(a.noHTML)continue;const l=a.annotationType===hn.POPUP;if(l){const u=i.get(a.id);if(!u)continue;r.elements=u}else{const{width:u,height:d}=xo(a.rect);if(u<=0||d<=0)continue}r.data=a;const c=j6.create(r);if(!c.isRenderable)continue;if(!l&&a.popupRef){const u=i.get(a.popupRef);u?u.push(c):i.set(a.popupRef,[c])}const h=c.render();a.hidden&&(h.style.visibility="hidden"),await T(this,Cc,sM).call(this,h,a.id),c._isEditable&&(f(this,Gl).set(c.data.id,c),(o=this._annotationEditorUIManager)==null||o.renderAnnotationElement(c))}T(this,Cc,pw).call(this)}update({viewport:e}){const t=this.div;this.viewport=e,yc(t,{rotation:e.rotation}),T(this,Cc,pw).call(this),t.hidden=!1}getEditableAnnotations(){return Array.from(f(this,Gl).values())}getEditableAnnotation(e){return f(this,Gl).get(e)}},ap=new WeakMap,Wl=new WeakMap,Gl=new WeakMap,lp=new WeakMap,Cc=new WeakSet,sM=async function(e,t){var o,a;const s=e.firstChild||e,i=s.id=`${ak}${t}`,r=await((o=f(this,lp))==null?void 0:o.getAriaAttributes(i));if(r)for(const[l,c]of r)s.setAttribute(l,c);this.div.append(e),(a=f(this,ap))==null||a.moveElementInDOM(this.div,e,s,!1)},pw=function(){if(!f(this,Wl))return;const e=this.div;for(const[t,s]of f(this,Wl)){const i=e.querySelector(`[data-annotation-id="${t}"]`);if(!i)continue;s.className="annotationContent";const{firstChild:r}=i;r?r.nodeName==="CANVAS"?r.replaceWith(s):r.classList.contains("annotationContent")?r.after(s):r.before(s):i.append(s)}f(this,Wl).clear()},EC);const Am=/\r\n?|\n/g;var ji,Vs,cp,Kl,Ws,on,iM,rM,oM,bg,$o,wg,_g,aM,gw,lM;const St=class St extends dt{constructor(t){super({...t,name:"freeTextEditor"});R(this,on);R(this,ji);R(this,Vs,"");R(this,cp,`${this.id}-editor`);R(this,Kl,null);R(this,Ws);C(this,ji,t.color||St._defaultColor||dt._defaultLineColor),C(this,Ws,t.fontSize||St._defaultFontSize)}static get _keyboardManager(){const t=St.prototype,s=o=>o.isEmpty(),i=vc.TRANSLATE_SMALL,r=vc.TRANSLATE_BIG;return Ze(this,"_keyboardManager",new Gp([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],t.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter","Escape","mac+Escape"],t.commitOrRemove],[["ArrowLeft","mac+ArrowLeft"],t._translateEmpty,{args:[-i,0],checker:s}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t._translateEmpty,{args:[-r,0],checker:s}],[["ArrowRight","mac+ArrowRight"],t._translateEmpty,{args:[i,0],checker:s}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t._translateEmpty,{args:[r,0],checker:s}],[["ArrowUp","mac+ArrowUp"],t._translateEmpty,{args:[0,-i],checker:s}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t._translateEmpty,{args:[0,-r],checker:s}],[["ArrowDown","mac+ArrowDown"],t._translateEmpty,{args:[0,i],checker:s}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t._translateEmpty,{args:[0,r],checker:s}]]))}static initialize(t,s){dt.initialize(t,s);const i=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(i.getPropertyValue("--freetext-padding"))}static updateDefaultParams(t,s){switch(t){case Pe.FREETEXT_SIZE:St._defaultFontSize=s;break;case Pe.FREETEXT_COLOR:St._defaultColor=s;break}}updateParams(t,s){switch(t){case Pe.FREETEXT_SIZE:T(this,on,iM).call(this,s);break;case Pe.FREETEXT_COLOR:T(this,on,rM).call(this,s);break}}static get defaultPropertiesToUpdate(){return[[Pe.FREETEXT_SIZE,St._defaultFontSize],[Pe.FREETEXT_COLOR,St._defaultColor||dt._defaultLineColor]]}get propertiesToUpdate(){return[[Pe.FREETEXT_SIZE,f(this,Ws)],[Pe.FREETEXT_COLOR,f(this,ji)]]}_translateEmpty(t,s){this._uiManager.translateSelectedEditors(t,s,!0)}getInitialTranslation(){const t=this.parentScale;return[-St._internalPadding*t,-(St._internalPadding+f(this,Ws))*t]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.isAttachedToDOM||this.parent.add(this)))}enableEditMode(){if(this.isInEditMode())return;this.parent.setEditingState(!1),this.parent.updateToolbar(De.FREETEXT),super.enableEditMode(),this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute("aria-activedescendant"),C(this,Kl,new AbortController);const t=this._uiManager.combinedSignal(f(this,Kl));this.editorDiv.addEventListener("keydown",this.editorDivKeydown.bind(this),{signal:t}),this.editorDiv.addEventListener("focus",this.editorDivFocus.bind(this),{signal:t}),this.editorDiv.addEventListener("blur",this.editorDivBlur.bind(this),{signal:t}),this.editorDiv.addEventListener("input",this.editorDivInput.bind(this),{signal:t}),this.editorDiv.addEventListener("paste",this.editorDivPaste.bind(this),{signal:t})}disableEditMode(){var t;this.isInEditMode()&&(this.parent.setEditingState(!0),super.disableEditMode(),this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",f(this,cp)),this._isDraggable=!0,(t=f(this,Kl))==null||t.abort(),C(this,Kl,null),this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add("freetextEditing"))}focusin(t){this._focusEventsAllowed&&(super.focusin(t),t.target!==this.editorDiv&&this.editorDiv.focus())}onceAdded(){var t;this.width||(this.enableEditMode(),this.editorDiv.focus(),(t=this._initialOptions)!=null&&t.isCentered&&this.center(),this._initialOptions=null)}isEmpty(){return!this.editorDiv||this.editorDiv.innerText.trim()===""}remove(){this.isEditing=!1,this.parent&&(this.parent.setEditingState(!0),this.parent.div.classList.add("freetextEditing")),super.remove()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();const t=f(this,Vs),s=C(this,Vs,T(this,on,oM).call(this).trimEnd());if(t===s)return;const i=r=>{if(C(this,Vs,r),!r){this.remove();return}T(this,on,_g).call(this),this._uiManager.rebuild(this),T(this,on,bg).call(this)};this.addCommands({cmd:()=>{i(s)},undo:()=>{i(t)},mustExec:!1}),T(this,on,bg).call(this)}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}dblclick(t){this.enterInEditMode()}keydown(t){t.target===this.div&&t.key==="Enter"&&(this.enterInEditMode(),t.preventDefault())}editorDivKeydown(t){St._keyboardManager.exec(this,t)}editorDivFocus(t){this.isEditing=!0}editorDivBlur(t){this.isEditing=!1}editorDivInput(t){this.parent.div.classList.toggle("freetextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}render(){if(this.div)return this.div;let t,s;this.width&&(t=this.x,s=this.y),super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",f(this,cp)),this.editorDiv.setAttribute("data-l10n-id","pdfjs-free-text2"),this.editorDiv.setAttribute("data-l10n-attrs","default-content"),this.enableEditing(),this.editorDiv.contentEditable=!0;const{style:i}=this.editorDiv;if(i.fontSize=`calc(${f(this,Ws)}px * var(--scale-factor))`,i.color=f(this,ji),this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),oy(this,this.div,["dblclick","keydown"]),this.width){const[r,o]=this.parentDimensions;if(this.annotationElementId){const{position:a}=this._initialData;let[l,c]=this.getInitialTranslation();[l,c]=this.pageTranslationToScreen(l,c);const[h,u]=this.pageDimensions,[d,p]=this.pageTranslation;let m,g;switch(this.rotation){case 0:m=t+(a[0]-d)/h,g=s+this.height-(a[1]-p)/u;break;case 90:m=t+(a[0]-d)/h,g=s-(a[1]-p)/u,[l,c]=[c,-l];break;case 180:m=t-this.width+(a[0]-d)/h,g=s-(a[1]-p)/u,[l,c]=[-l,-c];break;case 270:m=t+(a[0]-d-this.height*u)/h,g=s+(a[1]-p-this.width*h)/u,[l,c]=[-c,l];break}this.setAt(m*r,g*o,l,c)}else this.setAt(t*r,s*o,this.width*r,this.height*o);T(this,on,_g).call(this),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}editorDivPaste(t){var m,g,v;const s=t.clipboardData||window.clipboardData,{types:i}=s;if(i.length===1&&i[0]==="text/plain")return;t.preventDefault();const r=T(m=St,$o,gw).call(m,s.getData("text")||"").replaceAll(Am,` +`);if(!r)return;const o=window.getSelection();if(!o.rangeCount)return;this.editorDiv.normalize(),o.deleteFromDocument();const a=o.getRangeAt(0);if(!r.includes(` +`)){a.insertNode(document.createTextNode(r)),this.editorDiv.normalize(),o.collapseToStart();return}const{startContainer:l,startOffset:c}=a,h=[],u=[];if(l.nodeType===Node.TEXT_NODE){const y=l.parentElement;if(u.push(l.nodeValue.slice(c).replaceAll(Am,"")),y!==this.editorDiv){let w=h;for(const _ of this.editorDiv.childNodes){if(_===y){w=u;continue}w.push(T(g=St,$o,wg).call(g,_))}}h.push(l.nodeValue.slice(0,c).replaceAll(Am,""))}else if(l===this.editorDiv){let y=h,w=0;for(const _ of this.editorDiv.childNodes)w++===c&&(y=u),y.push(T(v=St,$o,wg).call(v,_))}C(this,Vs,`${h.join(` +`)}${r}${u.join(` +`)}`),T(this,on,_g).call(this);const d=new Range;let p=h.reduce((y,w)=>y+w.length,0);for(const{firstChild:y}of this.editorDiv.childNodes)if(y.nodeType===Node.TEXT_NODE){const w=y.nodeValue.length;if(p<=w){d.setStart(y,p),d.setEnd(y,p);break}p-=w}o.removeAllRanges(),o.addRange(d)}get contentDiv(){return this.editorDiv}static async deserialize(t,s,i){var a;let r=null;if(t instanceof QR){const{data:{defaultAppearanceData:{fontSize:l,fontColor:c},rect:h,rotation:u,id:d,popupRef:p},textContent:m,textPosition:g,parent:{page:{pageNumber:v}}}=t;if(!m||m.length===0)return null;r=t={annotationType:De.FREETEXT,color:Array.from(c),fontSize:l,value:m.join(` +`),position:g,pageIndex:v-1,rect:h.slice(0),rotation:u,id:d,deleted:!1,popupRef:p}}const o=await super.deserialize(t,s,i);return C(o,Ws,t.fontSize),C(o,ji,_e.makeHexColor(...t.color)),C(o,Vs,T(a=St,$o,gw).call(a,t.value)),o.annotationElementId=t.id||null,o._initialData=r,o}serialize(t=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();const s=St._internalPadding*this.parentScale,i=this.getRect(s,s),r=dt._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:f(this,ji)),o={annotationType:De.FREETEXT,color:r,fontSize:f(this,Ws),value:T(this,on,aM).call(this),pageIndex:this.pageIndex,rect:i,rotation:this.rotation,structTreeParentId:this._structTreeParentId};return t?o:this.annotationElementId&&!T(this,on,lM).call(this,o)?null:(o.id=this.annotationElementId,o)}renderAnnotationElement(t){const s=super.renderAnnotationElement(t);if(this.deleted)return s;const{style:i}=s;i.fontSize=`calc(${f(this,Ws)}px * var(--scale-factor))`,i.color=f(this,ji),s.replaceChildren();for(const o of f(this,Vs).split(` +`)){const a=document.createElement("div");a.append(o?document.createTextNode(o):document.createElement("br")),s.append(a)}const r=St._internalPadding*this.parentScale;return t.updateEdited({rect:this.getRect(r,r),popupContent:f(this,Vs)}),s}resetAnnotationElement(t){super.resetAnnotationElement(t),t.resetEdited()}};ji=new WeakMap,Vs=new WeakMap,cp=new WeakMap,Kl=new WeakMap,Ws=new WeakMap,on=new WeakSet,iM=function(t){const s=r=>{this.editorDiv.style.fontSize=`calc(${r}px * var(--scale-factor))`,this.translate(0,-(r-f(this,Ws))*this.parentScale),C(this,Ws,r),T(this,on,bg).call(this)},i=f(this,Ws);this.addCommands({cmd:s.bind(this,t),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Pe.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})},rM=function(t){const s=r=>{C(this,ji,this.editorDiv.style.color=r)},i=f(this,ji);this.addCommands({cmd:s.bind(this,t),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Pe.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})},oM=function(){var i;const t=[];this.editorDiv.normalize();let s=null;for(const r of this.editorDiv.childNodes)(s==null?void 0:s.nodeType)===Node.TEXT_NODE&&r.nodeName==="BR"||(t.push(T(i=St,$o,wg).call(i,r)),s=r);return t.join(` +`)},bg=function(){const[t,s]=this.parentDimensions;let i;if(this.isAttachedToDOM)i=this.div.getBoundingClientRect();else{const{currentLayer:r,div:o}=this,a=o.style.display,l=o.classList.contains("hidden");o.classList.remove("hidden"),o.style.display="hidden",r.div.append(this.div),i=o.getBoundingClientRect(),o.remove(),o.style.display=a,o.classList.toggle("hidden",l)}this.rotation%180===this.parentRotation%180?(this.width=i.width/t,this.height=i.height/s):(this.width=i.height/t,this.height=i.width/s),this.fixAndSetPosition()},$o=new WeakSet,wg=function(t){return(t.nodeType===Node.TEXT_NODE?t.nodeValue:t.innerText).replaceAll(Am,"")},_g=function(){if(this.editorDiv.replaceChildren(),!!f(this,Vs))for(const t of f(this,Vs).split(` +`)){const s=document.createElement("div");s.append(t?document.createTextNode(t):document.createElement("br")),this.editorDiv.append(s)}},aM=function(){return f(this,Vs).replaceAll(" "," ")},gw=function(t){return t.replaceAll(" "," ")},lM=function(t){const{value:s,fontSize:i,color:r,pageIndex:o}=this._initialData;return this._hasBeenMoved||t.value!==s||t.fontSize!==i||t.color.some((a,l)=>a!==r[l])||t.pageIndex!==o},R(St,$o),re(St,"_freeTextDefaultContent",""),re(St,"_internalPadding",0),re(St,"_defaultColor",null),re(St,"_defaultFontSize",10),re(St,"_type","freetext"),re(St,"_editorType",De.FREETEXT);let mw=St;class cM{toSVGPath(){$t("Abstract method `toSVGPath` must be implemented.")}get box(){$t("Abstract getter `box` must be implemented.")}serialize(e,t){$t("Abstract method `serialize` must be implemented.")}get classNamesForDrawing(){$t("Abstract getter `classNamesForDrawing` must be implemented.")}get classNamesForOutlining(){$t("Abstract getter `classNamesForOutlining` must be implemented.")}get mustRemoveSelfIntersections(){return!1}}var Gs,zi,Jh,Qh,br,Ue,Zl,Xl,hp,up,eu,tu,ca,dp,Gy,Ky,wn,vd,hM,uM,dM,fM,pM,mM;const Wr=class Wr{constructor({x:e,y:t},s,i,r,o,a=0){R(this,wn);R(this,Gs);R(this,zi,[]);R(this,Jh);R(this,Qh);R(this,br,[]);R(this,Ue,new Float64Array(18));R(this,Zl);R(this,Xl);R(this,hp);R(this,up);R(this,eu);R(this,tu);R(this,ca,[]);C(this,Gs,s),C(this,tu,r*i),C(this,Qh,o),f(this,Ue).set([NaN,NaN,NaN,NaN,e,t],6),C(this,Jh,a),C(this,up,f(Wr,dp)*i),C(this,hp,f(Wr,Ky)*i),C(this,eu,i),f(this,ca).push(e,t)}isEmpty(){return isNaN(f(this,Ue)[8])}add({x:e,y:t}){var F;C(this,Zl,e),C(this,Xl,t);const[s,i,r,o]=f(this,Gs);let[a,l,c,h]=f(this,Ue).subarray(8,12);const u=e-c,d=t-h,p=Math.hypot(u,d);if(p=6;i-=6)isNaN(t[i])?s.push(`L${t[i+4]} ${t[i+5]}`):s.push(`C${t[i]} ${t[i+1]} ${t[i+2]} ${t[i+3]} ${t[i+4]} ${t[i+5]}`);return T(this,wn,uM).call(this,s),s.join(" ")}newFreeDrawOutline(e,t,s,i,r,o){return new gM(e,t,s,i,r,o)}getOutlines(){var u;const e=f(this,br),t=f(this,zi),s=f(this,Ue),[i,r,o,a]=f(this,Gs),l=new Float64Array((((u=f(this,ca))==null?void 0:u.length)??0)+2);for(let d=0,p=l.length-2;d=6;d-=6)for(let p=0;p<6;p+=2){if(isNaN(t[d+p])){c[h]=c[h+1]=NaN,h+=2;continue}c[h]=t[d+p],c[h+1]=t[d+p+1],h+=2}return T(this,wn,pM).call(this,c,h),this.newFreeDrawOutline(c,l,f(this,Gs),f(this,eu),f(this,Jh),f(this,Qh))}};Gs=new WeakMap,zi=new WeakMap,Jh=new WeakMap,Qh=new WeakMap,br=new WeakMap,Ue=new WeakMap,Zl=new WeakMap,Xl=new WeakMap,hp=new WeakMap,up=new WeakMap,eu=new WeakMap,tu=new WeakMap,ca=new WeakMap,dp=new WeakMap,Gy=new WeakMap,Ky=new WeakMap,wn=new WeakSet,vd=function(){const e=f(this,Ue).subarray(4,6),t=f(this,Ue).subarray(16,18),[s,i,r,o]=f(this,Gs);return[(f(this,Zl)+(e[0]-t[0])/2-s)/r,(f(this,Xl)+(e[1]-t[1])/2-i)/o,(f(this,Zl)+(t[0]-e[0])/2-s)/r,(f(this,Xl)+(t[1]-e[1])/2-i)/o]},hM=function(){const[e,t,s,i]=f(this,Gs),[r,o,a,l]=T(this,wn,vd).call(this);return`M${(f(this,Ue)[2]-e)/s} ${(f(this,Ue)[3]-t)/i} L${(f(this,Ue)[4]-e)/s} ${(f(this,Ue)[5]-t)/i} L${r} ${o} L${a} ${l} L${(f(this,Ue)[16]-e)/s} ${(f(this,Ue)[17]-t)/i} L${(f(this,Ue)[14]-e)/s} ${(f(this,Ue)[15]-t)/i} Z`},uM=function(e){const t=f(this,zi);e.push(`L${t[4]} ${t[5]} Z`)},dM=function(e){const[t,s,i,r]=f(this,Gs),o=f(this,Ue).subarray(4,6),a=f(this,Ue).subarray(16,18),[l,c,h,u]=T(this,wn,vd).call(this);e.push(`L${(o[0]-t)/i} ${(o[1]-s)/r} L${l} ${c} L${h} ${u} L${(a[0]-t)/i} ${(a[1]-s)/r}`)},fM=function(e){const t=f(this,Ue),[s,i,r,o]=f(this,Gs),[a,l,c,h]=T(this,wn,vd).call(this),u=new Float64Array(36);return u.set([NaN,NaN,NaN,NaN,(t[2]-s)/r,(t[3]-i)/o,NaN,NaN,NaN,NaN,(t[4]-s)/r,(t[5]-i)/o,NaN,NaN,NaN,NaN,a,l,NaN,NaN,NaN,NaN,c,h,NaN,NaN,NaN,NaN,(t[16]-s)/r,(t[17]-i)/o,NaN,NaN,NaN,NaN,(t[14]-s)/r,(t[15]-i)/o],0),this.newFreeDrawOutline(u,e,f(this,Gs),f(this,eu),f(this,Jh),f(this,Qh))},pM=function(e,t){const s=f(this,zi);return e.set([NaN,NaN,NaN,NaN,s[4],s[5]],t),t+=6},mM=function(e,t){const s=f(this,Ue).subarray(4,6),i=f(this,Ue).subarray(16,18),[r,o,a,l]=f(this,Gs),[c,h,u,d]=T(this,wn,vd).call(this);return e.set([NaN,NaN,NaN,NaN,(s[0]-r)/a,(s[1]-o)/l,NaN,NaN,NaN,NaN,c,h,NaN,NaN,NaN,NaN,u,d,NaN,NaN,NaN,NaN,(i[0]-r)/a,(i[1]-o)/l],t),t+=24},R(Wr,dp,8),R(Wr,Gy,2),R(Wr,Ky,f(Wr,dp)+f(Wr,Gy));let ly=Wr;var nu,Yl,ao,fp,Ks,pp,Gt,Fs,bd,wd,yM;class gM extends cM{constructor(t,s,i,r,o,a){super();R(this,Fs);R(this,nu);R(this,Yl,null);R(this,ao);R(this,fp);R(this,Ks);R(this,pp);R(this,Gt);C(this,Gt,t),C(this,Ks,s),C(this,nu,i),C(this,pp,r),C(this,ao,o),C(this,fp,a),T(this,Fs,yM).call(this,a);const{x:l,y:c,width:h,height:u}=f(this,Yl);for(let d=0,p=t.length;dt[0]-s[0]||t[1]-s[1]||t[2]-s[2]);const e=[];for(const t of f(this,ha))t[3]?(e.push(...T(this,As,yw).call(this,t)),T(this,As,bM).call(this,t)):(T(this,As,wM).call(this,t),e.push(...T(this,As,yw).call(this,t)));return T(this,As,vM).call(this,e)}}mp=new WeakMap,ha=new WeakMap,Hi=new WeakMap,As=new WeakSet,vM=function(e){const t=[],s=new Set;for(const o of e){const[a,l,c]=o;t.push([a,l,o],[a,c,o])}t.sort((o,a)=>o[1]-a[1]||o[0]-a[0]);for(let o=0,a=t.length;o0;){const o=s.values().next().value;let[a,l,c,h,u]=o;s.delete(o);let d=a,p=l;for(r=[a,c],i.push(r);;){let m;if(s.has(h))m=h;else if(s.has(u))m=u;else break;s.delete(m),[a,l,c,h,u]=m,d!==a&&(r.push(d,p,a,p===l?l:c),d=a),p=p===l?c:l}r.push(d,p)}return new sZ(i,f(this,mp))},Sg=function(e){const t=f(this,Hi);let s=0,i=t.length-1;for(;s<=i;){const r=s+i>>1,o=t[r][0];if(o===e)return r;o=0;i--){const[r,o]=f(this,Hi)[i];if(r!==e)break;if(r===e&&o===t){f(this,Hi).splice(i,1);return}}},yw=function(e){const[t,s,i]=e,r=[[t,s,i]],o=T(this,As,Sg).call(this,i);for(let a=0;a=l){if(p>c)r[h][1]=c;else{if(u===1)return[];r.splice(h,1),h--,u--}continue}r[h][2]=l,p>c&&r.push([t,c,p])}}}return r};var gp,su;class sZ extends cM{constructor(t,s){super();R(this,gp);R(this,su);C(this,su,t),C(this,gp,s)}toSVGPath(){const t=[];for(const s of f(this,su)){let[i,r]=s;t.push(`M${i} ${r}`);for(let o=2;o-1?(C(this,Ps,!0),T(this,Oe,kg).call(this,t),T(this,Oe,Qa).call(this)):f(this,lo)&&(C(this,au,t.anchorNode),C(this,_p,t.anchorOffset),C(this,Sp,t.focusNode),C(this,kp,t.focusOffset),T(this,Oe,Sw).call(this),T(this,Oe,Qa).call(this),this.rotate(this.rotation))}static get _keyboardManager(){const t=rt.prototype;return Ze(this,"_keyboardManager",new Gp([[["ArrowLeft","mac+ArrowLeft"],t._moveCaret,{args:[0]}],[["ArrowRight","mac+ArrowRight"],t._moveCaret,{args:[1]}],[["ArrowUp","mac+ArrowUp"],t._moveCaret,{args:[2]}],[["ArrowDown","mac+ArrowDown"],t._moveCaret,{args:[3]}]]))}get telemetryInitialData(){return{action:"added",type:f(this,Ps)?"free_highlight":"highlight",color:this._uiManager.highlightColorNames.get(this.color),thickness:f(this,ci),methodOfCreation:f(this,Ap)}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.highlightColorNames.get(this.color)}}static computeTelemetryFinalData(t){return{numberOfColors:t.get("color").size}}static initialize(t,s){var i;dt.initialize(t,s),rt._defaultColor||(rt._defaultColor=((i=s.highlightColors)==null?void 0:i.values().next().value)||"#fff066")}static updateDefaultParams(t,s){switch(t){case Pe.HIGHLIGHT_DEFAULT_COLOR:rt._defaultColor=s;break;case Pe.HIGHLIGHT_THICKNESS:rt._defaultThickness=s;break}}translateInPage(t,s){}get toolbarPosition(){return f(this,cu)}updateParams(t,s){switch(t){case Pe.HIGHLIGHT_COLOR:T(this,Oe,SM).call(this,s);break;case Pe.HIGHLIGHT_THICKNESS:T(this,Oe,kM).call(this,s);break}}static get defaultPropertiesToUpdate(){return[[Pe.HIGHLIGHT_DEFAULT_COLOR,rt._defaultColor],[Pe.HIGHLIGHT_THICKNESS,rt._defaultThickness]]}get propertiesToUpdate(){return[[Pe.HIGHLIGHT_COLOR,this.color||rt._defaultColor],[Pe.HIGHLIGHT_THICKNESS,f(this,ci)||rt._defaultThickness],[Pe.HIGHLIGHT_FREE,f(this,Ps)]]}async addEditToolbar(){const t=await super.addEditToolbar();return t?(this._uiManager.highlightColors&&(C(this,lu,new cy({editor:this})),t.addColorPicker(f(this,lu))),t):null}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}fixAndSetPosition(){return super.fixAndSetPosition(T(this,Oe,_d).call(this))}getBaseTranslation(){return[0,0]}getRect(t,s){return super.getRect(t,s,T(this,Oe,_d).call(this))}onceAdded(){this.annotationElementId||this.parent.addUndoableEditor(this),this.div.focus()}remove(){T(this,Oe,kw).call(this),this._reportTelemetry({action:"deleted"}),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(T(this,Oe,Qa).call(this),this.isAttachedToDOM||this.parent.add(this)))}setParent(t){var i;let s=!1;this.parent&&!t?T(this,Oe,kw).call(this):t&&(T(this,Oe,Qa).call(this,t),s=!this.parent&&((i=this.div)==null?void 0:i.classList.contains("selectedEditor"))),super.setParent(t),this.show(this._isVisible),s&&this.select()}rotate(t){var r,o,a;const{drawLayer:s}=this.parent;let i;f(this,Ps)?(t=(t-this.rotation+360)%360,i=T(r=rt,mi,Zc).call(r,f(this,qi).box,t)):i=T(o=rt,mi,Zc).call(o,this,t),s.rotate(f(this,rs),t),s.rotate(f(this,fn),t),s.updateBox(f(this,rs),i),s.updateBox(f(this,fn),T(a=rt,mi,Zc).call(a,f(this,li).box,t))}render(){if(this.div)return this.div;const t=super.render();f(this,hu)&&(t.setAttribute("aria-label",f(this,hu)),t.setAttribute("role","mark")),f(this,Ps)?t.classList.add("free"):this.div.addEventListener("keydown",T(this,Oe,xM).bind(this),{signal:this._uiManager._signal});const s=C(this,ec,document.createElement("div"));t.append(s),s.setAttribute("aria-hidden","true"),s.className="internal",s.style.clipPath=f(this,Ql);const[i,r]=this.parentDimensions;return this.setDims(this.width*i,this.height*r),oy(this,f(this,ec),["pointerover","pointerleave"]),this.enableEditing(),t}pointerover(){this.isSelected||this.parent.drawLayer.addClass(f(this,fn),"hovered")}pointerleave(){this.isSelected||this.parent.drawLayer.removeClass(f(this,fn),"hovered")}_moveCaret(t){switch(this.parent.unselect(this),t){case 0:case 2:T(this,Oe,Ag).call(this,!0);break;case 1:case 3:T(this,Oe,Ag).call(this,!1);break}}select(){var t,s;super.select(),f(this,fn)&&((t=this.parent)==null||t.drawLayer.removeClass(f(this,fn),"hovered"),(s=this.parent)==null||s.drawLayer.addClass(f(this,fn),"selected"))}unselect(){var t;super.unselect(),f(this,fn)&&((t=this.parent)==null||t.drawLayer.removeClass(f(this,fn),"selected"),f(this,Ps)||T(this,Oe,Ag).call(this,!1))}get _mustFixPosition(){return!f(this,Ps)}show(t=this._isVisible){super.show(t),this.parent&&(this.parent.drawLayer.show(f(this,rs),t),this.parent.drawLayer.show(f(this,fn),t))}static startHighlighting(t,s,{target:i,x:r,y:o}){const{x:a,y:l,width:c,height:h}=i.getBoundingClientRect(),u=new AbortController,d=t.combinedSignal(u),p=g=>{g.preventDefault(),g.stopPropagation()},m=g=>{u.abort(),T(this,mi,TM).call(this,t,g)};window.addEventListener("blur",m,{signal:d}),window.addEventListener("pointerup",m,{signal:d}),window.addEventListener("pointerdown",p,{capture:!0,passive:!1,signal:d}),window.addEventListener("contextmenu",wi,{signal:d}),i.addEventListener("pointermove",T(this,mi,$M).bind(this,t),{signal:d}),this._freeHighlight=new vw({x:r,y:o},[a,l,c,h],t.scale,this._defaultThickness/2,s,.001),{id:this._freeHighlightId,clipPathId:this._freeHighlightClipId}=t.drawLayer.draw(this._freeHighlight,this._defaultColor,this._defaultOpacity,!0)}static async deserialize(t,s,i){var g,v,y,w;let r=null;if(t instanceof tM){const{data:{quadPoints:_,rect:A,rotation:k,id:$,color:E,opacity:O,popupRef:F},parent:{page:{pageNumber:U}}}=t;r=t={annotationType:De.HIGHLIGHT,color:Array.from(E),opacity:O,quadPoints:_,boxes:null,pageIndex:U-1,rect:A.slice(0),rotation:k,id:$,deleted:!1,popupRef:F}}else if(t instanceof vk){const{data:{inkLists:_,rect:A,rotation:k,id:$,color:E,borderStyle:{rawWidth:O},popupRef:F},parent:{page:{pageNumber:U}}}=t;r=t={annotationType:De.HIGHLIGHT,color:Array.from(E),thickness:O,inkLists:_,boxes:null,pageIndex:U-1,rect:A.slice(0),rotation:k,id:$,deleted:!1,popupRef:F}}const{color:o,quadPoints:a,inkLists:l,opacity:c}=t,h=await super.deserialize(t,s,i);h.color=_e.makeHexColor(...o),C(h,co,c||1),l&&C(h,ci,t.thickness),h.annotationElementId=t.id||null,h._initialData=r;const[u,d]=h.pageDimensions,[p,m]=h.pageTranslation;if(a){const _=C(h,lo,[]);for(let A=0;A=0)C(this,rs,s),C(this,Ql,i),this.parent.drawLayer.finalizeLine(s,t),C(this,fn,this.parent.drawLayer.drawOutline(f(this,li)));else if(this.parent){const p=this.parent.viewport.rotation;this.parent.drawLayer.updateLine(f(this,rs),t),this.parent.drawLayer.updateBox(f(this,rs),T(u=rt,mi,Zc).call(u,f(this,qi).box,(p-this.rotation+360)%360)),this.parent.drawLayer.updateLine(f(this,fn),f(this,li)),this.parent.drawLayer.updateBox(f(this,fn),T(d=rt,mi,Zc).call(d,f(this,li).box,p))}const{x:o,y:a,width:l,height:c}=t.box;switch(this.rotation){case 0:this.x=o,this.y=a,this.width=l,this.height=c;break;case 90:{const[p,m]=this.parentDimensions;this.x=a,this.y=1-o,this.width=l*m/p,this.height=c*p/m;break}case 180:this.x=1-o,this.y=1-a,this.width=l,this.height=c;break;case 270:{const[p,m]=this.parentDimensions;this.x=1-a,this.y=o,this.width=l*m/p,this.height=c*p/m;break}}const{lastPoint:h}=f(this,li).box;C(this,cu,[(h[0]-o)/l,(h[1]-a)/c])},SM=function(t){const s=(o,a)=>{var l,c,h;this.color=o,(l=this.parent)==null||l.drawLayer.changeColor(f(this,rs),o),(c=f(this,lu))==null||c.updateColor(o),C(this,co,a),(h=this.parent)==null||h.drawLayer.changeOpacity(f(this,rs),a)},i=this.color,r=f(this,co);this.addCommands({cmd:s.bind(this,t,rt._defaultOpacity),undo:s.bind(this,i,r),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Pe.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"color_changed",color:this._uiManager.highlightColorNames.get(t)},!0)},kM=function(t){const s=f(this,ci),i=r=>{C(this,ci,r),T(this,Oe,AM).call(this,r)};this.addCommands({cmd:i.bind(this,t),undo:i.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Pe.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"thickness_changed",thickness:t},!0)},AM=function(t){if(!f(this,Ps))return;T(this,Oe,kg).call(this,{highlightOutlines:f(this,qi).getNewOutline(t/2)}),this.fixAndSetPosition();const[s,i]=this.parentDimensions;this.setDims(this.width*s,this.height*i)},kw=function(){f(this,rs)===null||!this.parent||(this.parent.drawLayer.remove(f(this,rs)),C(this,rs,null),this.parent.drawLayer.remove(f(this,fn)),C(this,fn,null))},Qa=function(t=this.parent){f(this,rs)===null&&({id:ps(this,rs)._,clipPathId:ps(this,Ql)._}=t.drawLayer.draw(f(this,qi),this.color,f(this,co)),C(this,fn,t.drawLayer.drawOutline(f(this,li))),f(this,ec)&&(f(this,ec).style.clipPath=f(this,Ql)))},mi=new WeakSet,Zc=function({x:t,y:s,width:i,height:r},o){switch(o){case 90:return{x:1-s-r,y:t,width:r,height:i};case 180:return{x:1-t-i,y:1-s-r,width:i,height:r};case 270:return{x:s,y:1-t-i,width:r,height:i}}return{x:t,y:s,width:i,height:r}},xM=function(t){rt._keyboardManager.exec(this,t)},Ag=function(t){if(!f(this,au))return;const s=window.getSelection();t?s.setPosition(f(this,au),f(this,_p)):s.setPosition(f(this,Sp),f(this,kp))},_d=function(){return f(this,Ps)?this.rotation:0},EM=function(){if(f(this,Ps))return null;const[t,s]=this.pageDimensions,[i,r]=this.pageTranslation,o=f(this,lo),a=new Float32Array(o.length*8);let l=0;for(const{x:c,y:h,width:u,height:d}of o){const p=c*t+i,m=(1-h-d)*s+r;a[l]=a[l+4]=p,a[l+1]=a[l+3]=m,a[l+2]=a[l+6]=p+u*t,a[l+5]=a[l+7]=m+d*s,l+=8}return a},CM=function(t){return f(this,qi).serialize(t,T(this,Oe,_d).call(this))},$M=function(t,s){this._freeHighlight.add(s)&&t.drawLayer.updatePath(this._freeHighlightId,this._freeHighlight)},TM=function(t,s){this._freeHighlight.isEmpty()?t.drawLayer.remove(this._freeHighlightId):t.createAndAddNewEditor(s,!1,{highlightId:this._freeHighlightId,highlightOutlines:this._freeHighlight.getOutlines(),clipPathId:this._freeHighlightClipId,methodOfCreation:"main_toolbar"}),this._freeHighlightId=-1,this._freeHighlight=null,this._freeHighlightClipId=""},PM=function(t){const{color:s}=this._initialData;return t.color.some((i,r)=>i!==s[r])},R(rt,mi),re(rt,"_defaultColor",null),re(rt,"_defaultOpacity",1),re(rt,"_defaultThickness",12),re(rt,"_type","highlight"),re(rt,"_editorType",De.HIGHLIGHT),re(rt,"_freeHighlightId",-1),re(rt,"_freeHighlight",null),re(rt,"_freeHighlightClipId","");let hy=rt;var tc,nc,wr,ho,hi,sc,ic,rc,uo,uu,oc,ac,da,le,RM,MM,IM,OM,xw,NM,Ew,LM,DM,FM,jM,zM,el,Cw,$w,Tw,xg,Eg,Xc,Pw,Cg,Ro,HM,Rw,BM,UM,Mw,$g,Sd;const Lt=class Lt extends dt{constructor(t){super({...t,name:"inkEditor"});R(this,le);R(this,tc,0);R(this,nc,0);R(this,wr,null);R(this,ho,new Path2D);R(this,hi,!1);R(this,sc,null);R(this,ic,!1);R(this,rc,!1);R(this,uo,null);R(this,uu,null);R(this,oc,0);R(this,ac,0);R(this,da,null);this.color=t.color||null,this.thickness=t.thickness||null,this.opacity=t.opacity||null,this.paths=[],this.bezierPath2D=[],this.allRawPaths=[],this.currentPath=[],this.scaleFactor=1,this.translationX=this.translationY=0,this.x=0,this.y=0,this._willKeepAspectRatio=!0}static initialize(t,s){dt.initialize(t,s)}static updateDefaultParams(t,s){switch(t){case Pe.INK_THICKNESS:Lt._defaultThickness=s;break;case Pe.INK_COLOR:Lt._defaultColor=s;break;case Pe.INK_OPACITY:Lt._defaultOpacity=s/100;break}}updateParams(t,s){switch(t){case Pe.INK_THICKNESS:T(this,le,RM).call(this,s);break;case Pe.INK_COLOR:T(this,le,MM).call(this,s);break;case Pe.INK_OPACITY:T(this,le,IM).call(this,s);break}}static get defaultPropertiesToUpdate(){return[[Pe.INK_THICKNESS,Lt._defaultThickness],[Pe.INK_COLOR,Lt._defaultColor||dt._defaultLineColor],[Pe.INK_OPACITY,Math.round(Lt._defaultOpacity*100)]]}get propertiesToUpdate(){return[[Pe.INK_THICKNESS,this.thickness||Lt._defaultThickness],[Pe.INK_COLOR,this.color||Lt._defaultColor||dt._defaultLineColor],[Pe.INK_OPACITY,Math.round(100*(this.opacity??Lt._defaultOpacity))]]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.canvas||(T(this,le,xg).call(this),T(this,le,Eg).call(this)),this.isAttachedToDOM||(this.parent.add(this),T(this,le,Xc).call(this)),T(this,le,Sd).call(this)))}remove(){var t;this.canvas!==null&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,f(this,wr)&&(clearTimeout(f(this,wr)),C(this,wr,null)),(t=f(this,uo))==null||t.disconnect(),C(this,uo,null),super.remove())}setParent(t){!this.parent&&t?this._uiManager.removeShouldRescale(this):this.parent&&t===null&&this._uiManager.addShouldRescale(this),super.setParent(t)}onScaleChanging(){const[t,s]=this.parentDimensions,i=this.width*t,r=this.height*s;this.setDimensions(i,r)}enableEditMode(){f(this,hi)||this.canvas===null||(super.enableEditMode(),this._isDraggable=!1,T(this,le,Cw).call(this))}disableEditMode(){!this.isInEditMode()||this.canvas===null||(super.disableEditMode(),this._isDraggable=!this.isEmpty(),this.div.classList.remove("editing"),T(this,le,$w).call(this))}onceAdded(){this._isDraggable=!this.isEmpty()}isEmpty(){return this.paths.length===0||this.paths.length===1&&this.paths[0].length===0}commit(){f(this,hi)||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),C(this,hi,!0),this.div.classList.add("disabled"),T(this,le,Sd).call(this,!0),this.select(),this.parent.addInkEditorIfNeeded(!0),this.moveInDOM(),this.div.focus({preventScroll:!0}))}focusin(t){this._focusEventsAllowed&&(super.focusin(t),this.enableEditMode())}canvasPointerdown(t){t.button!==0||!this.isInEditMode()||f(this,hi)||(this.setInForeground(),t.preventDefault(),this.div.contains(document.activeElement)||this.div.focus({preventScroll:!0}),T(this,le,NM).call(this,t.offsetX,t.offsetY))}canvasPointermove(t){t.preventDefault(),T(this,le,Ew).call(this,t.offsetX,t.offsetY)}canvasPointerup(t){t.preventDefault(),T(this,le,Tw).call(this,t)}canvasPointerleave(t){T(this,le,Tw).call(this,t)}get isResizable(){return!this.isEmpty()&&f(this,hi)}render(){if(this.div)return this.div;let t,s;this.width&&(t=this.x,s=this.y),super.render(),this.div.setAttribute("data-l10n-id","pdfjs-ink");const[i,r,o,a]=T(this,le,OM).call(this);if(this.setAt(i,r,0,0),this.setDims(o,a),T(this,le,xg).call(this),this.width){const[l,c]=this.parentDimensions;this.setAspectRatio(this.width*l,this.height*c),this.setAt(t*l,s*c,this.width*l,this.height*c),C(this,rc,!0),T(this,le,Xc).call(this),this.setDims(this.width*l,this.height*c),T(this,le,el).call(this),this.div.classList.add("disabled")}else this.div.classList.add("editing"),this.enableEditMode();return T(this,le,Eg).call(this),this.div}setDimensions(t,s){const i=Math.round(t),r=Math.round(s);if(f(this,oc)===i&&f(this,ac)===r)return;C(this,oc,i),C(this,ac,r),this.canvas.style.visibility="hidden";const[o,a]=this.parentDimensions;this.width=t/o,this.height=s/a,this.fixAndSetPosition(),f(this,hi)&&T(this,le,Pw).call(this,t,s),T(this,le,Xc).call(this),T(this,le,el).call(this),this.canvas.style.visibility="visible",this.fixDims()}static async deserialize(t,s,i){var v,y,w;if(t instanceof vk)return null;const r=await super.deserialize(t,s,i);r.thickness=t.thickness,r.color=_e.makeHexColor(...t.color),r.opacity=t.opacity;const[o,a]=r.pageDimensions,l=r.width*o,c=r.height*a,h=r.parentScale,u=t.thickness/2;C(r,hi,!0),C(r,oc,Math.round(l)),C(r,ac,Math.round(c));const{paths:d,rect:p,rotation:m}=t;for(let{bezier:_}of d){_=T(v=Lt,Ro,BM).call(v,_,p,m);const A=[];r.paths.push(A);let k=h*(_[0]-u),$=h*(_[1]-u);for(let O=2,F=_.length;O{this.thickness=r,T(this,le,Sd).call(this)},i=this.thickness;this.addCommands({cmd:s.bind(this,t),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Pe.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})},MM=function(t){const s=r=>{this.color=r,T(this,le,el).call(this)},i=this.color;this.addCommands({cmd:s.bind(this,t),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Pe.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})},IM=function(t){const s=r=>{this.opacity=r,T(this,le,el).call(this)};t/=100;const i=this.opacity;this.addCommands({cmd:s.bind(this,t),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Pe.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})},OM=function(){const{parentRotation:t,parentDimensions:[s,i]}=this;switch(t){case 90:return[0,i,i,s];case 180:return[s,i,s,i];case 270:return[s,0,i,s];default:return[0,0,s,i]}},xw=function(){const{ctx:t,color:s,opacity:i,thickness:r,parentScale:o,scaleFactor:a}=this;t.lineWidth=r*o/a,t.lineCap="round",t.lineJoin="round",t.miterLimit=10,t.strokeStyle=`${s}${E8(i)}`},NM=function(t,s){this.canvas.addEventListener("contextmenu",wi,{signal:this._uiManager._signal}),T(this,le,$w).call(this),C(this,sc,new AbortController);const i=this._uiManager.combinedSignal(f(this,sc));this.canvas.addEventListener("pointerleave",this.canvasPointerleave.bind(this),{signal:i}),this.canvas.addEventListener("pointermove",this.canvasPointermove.bind(this),{signal:i}),this.canvas.addEventListener("pointerup",this.canvasPointerup.bind(this),{signal:i}),this.isEditing=!0,f(this,rc)||(C(this,rc,!0),T(this,le,Xc).call(this),this.thickness||(this.thickness=Lt._defaultThickness),this.color||(this.color=Lt._defaultColor||dt._defaultLineColor),this.opacity??(this.opacity=Lt._defaultOpacity)),this.currentPath.push([t,s]),C(this,ic,!1),T(this,le,xw).call(this),C(this,da,()=>{T(this,le,FM).call(this),f(this,da)&&window.requestAnimationFrame(f(this,da))}),window.requestAnimationFrame(f(this,da))},Ew=function(t,s){const[i,r]=this.currentPath.at(-1);if(this.currentPath.length>1&&t===i&&s===r)return;const o=this.currentPath;let a=f(this,ho);if(o.push([t,s]),C(this,ic,!0),o.length<=2){a.moveTo(...o[0]),a.lineTo(t,s);return}o.length===3&&(C(this,ho,a=new Path2D),a.moveTo(...o[0])),T(this,le,jM).call(this,a,...o.at(-3),...o.at(-2),t,s)},LM=function(){if(this.currentPath.length===0)return;const t=this.currentPath.at(-1);f(this,ho).lineTo(...t)},DM=function(t,s){C(this,da,null),t=Math.min(Math.max(t,0),this.canvas.width),s=Math.min(Math.max(s,0),this.canvas.height),T(this,le,Ew).call(this,t,s),T(this,le,LM).call(this);let i;if(this.currentPath.length!==1)i=T(this,le,zM).call(this);else{const c=[t,s];i=[[c,c.slice(),c.slice(),c]]}const r=f(this,ho),o=this.currentPath;this.currentPath=[],C(this,ho,new Path2D);const a=()=>{this.allRawPaths.push(o),this.paths.push(i),this.bezierPath2D.push(r),this._uiManager.rebuild(this)},l=()=>{this.allRawPaths.pop(),this.paths.pop(),this.bezierPath2D.pop(),this.paths.length===0?this.remove():(this.canvas||(T(this,le,xg).call(this),T(this,le,Eg).call(this)),T(this,le,Sd).call(this))};this.addCommands({cmd:a,undo:l,mustExec:!0})},FM=function(){if(!f(this,ic))return;C(this,ic,!1);const t=Math.ceil(this.thickness*this.parentScale),s=this.currentPath.slice(-3),i=s.map(a=>a[0]),r=s.map(a=>a[1]);Math.min(...i)-t,Math.max(...i)+t,Math.min(...r)-t,Math.max(...r)+t;const{ctx:o}=this;o.save(),o.clearRect(0,0,this.canvas.width,this.canvas.height);for(const a of this.bezierPath2D)o.stroke(a);o.stroke(f(this,ho)),o.restore()},jM=function(t,s,i,r,o,a,l){const c=(s+r)/2,h=(i+o)/2,u=(r+a)/2,d=(o+l)/2;t.bezierCurveTo(c+2*(r-c)/3,h+2*(o-h)/3,u+2*(r-u)/3,d+2*(o-d)/3,u,d)},zM=function(){const t=this.currentPath;if(t.length<=2)return[[t[0],t[0],t.at(-1),t.at(-1)]];const s=[];let i,[r,o]=t[0];for(i=1;i{C(this,wr,null),this.canvas.removeEventListener("contextmenu",wi)},10)),T(this,le,DM).call(this,t.offsetX,t.offsetY),this.addToAnnotationStorage(),this.setInBackground()},xg=function(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=0,this.canvas.className="inkEditorCanvas",this.canvas.setAttribute("data-l10n-id","pdfjs-ink-canvas"),this.div.append(this.canvas),this.ctx=this.canvas.getContext("2d")},Eg=function(){C(this,uo,new ResizeObserver(t=>{const s=t[0].contentRect;s.width&&s.height&&this.setDimensions(s.width,s.height)})),f(this,uo).observe(this.div),this._uiManager._signal.addEventListener("abort",()=>{var t;(t=f(this,uo))==null||t.disconnect(),C(this,uo,null)},{once:!0})},Xc=function(){if(!f(this,rc))return;const[t,s]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*t),this.canvas.height=Math.ceil(this.height*s),T(this,le,Cg).call(this)},Pw=function(t,s){const i=T(this,le,$g).call(this),r=(t-i)/f(this,nc),o=(s-i)/f(this,tc);this.scaleFactor=Math.min(r,o)},Cg=function(){const t=T(this,le,$g).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+t,this.translationY*this.scaleFactor+t)},Ro=new WeakSet,HM=function(t){const s=new Path2D;for(let i=0,r=t.length;i`image/${s}`))}static get supportedTypesStr(){return Ze(this,"supportedTypesStr",this.supportedTypes.join(","))}static isHandlingMimeForPasting(t){return this.supportedTypes.includes(t)}static paste(t,s){s.pasteEditor(De.STAMP,{bitmapFile:t.getAsFile()})}altTextFinish(){this._uiManager.useNewAltTextFlow&&(this.div.hidden=!1),super.altTextFinish()}get telemetryFinalData(){var t;return{type:"stamp",hasAltText:!!((t=this.altTextData)!=null&&t.altText)}}static computeTelemetryFinalData(t){const s=t.get("hasAltText");return{hasAltText:s.get(!0)??0,hasNoAltText:s.get(!1)??0}}async mlGuessAltText(t=null,s=!0){if(this.hasAltTextData())return null;const{mlManager:i}=this._uiManager;if(!i)throw new Error("No ML.");if(!await i.isEnabledFor("altText"))throw new Error("ML isn't enabled for alt text.");const{data:r,width:o,height:a}=t||this.copyCanvas(null,null,!0).imageData,l=await i.guess({name:"altText",request:{data:r,width:o,height:a,channels:r.length/(o*a)}});if(!l)throw new Error("No response from the AI service.");if(l.error)throw new Error("Error from the AI service.");if(l.cancel)return null;if(!l.output)throw new Error("No valid response from the AI service.");const c=l.output;return await this.setGuessedAltText(c),s&&!this.hasAltTextData()&&(this.altTextData={alt:c,decorative:!1}),c}remove(){var t,s;f(this,zn)&&(C(this,Ft,null),this._uiManager.imageManager.deleteId(f(this,zn)),(t=f(this,_r))==null||t.remove(),C(this,_r,null),(s=f(this,po))==null||s.disconnect(),C(this,po,null),f(this,Sr)&&(clearTimeout(f(this,Sr)),C(this,Sr,null))),super.remove()}rebuild(){if(!this.parent){f(this,zn)&&T(this,Ke,Tg).call(this);return}super.rebuild(),this.div!==null&&(f(this,zn)&&f(this,_r)===null&&T(this,Ke,Tg).call(this),this.isAttachedToDOM||this.parent.add(this))}onceAdded(){this._isDraggable=!0,this.div.focus()}isEmpty(){return!(f(this,fa)||f(this,Ft)||f(this,fo)||f(this,pa)||f(this,zn))}get isResizable(){return!0}render(){if(this.div)return this.div;let t,s;if(this.width&&(t=this.x,s=this.y),super.render(),this.div.hidden=!0,this.div.setAttribute("role","figure"),this.addAltTextButton(),f(this,Ft)?T(this,Ke,Ow).call(this):T(this,Ke,Tg).call(this),this.width&&!this.annotationElementId){const[i,r]=this.parentDimensions;this.setAt(t*i,s*r,this.width*i,this.height*r)}return this.div}copyCanvas(t,s,i=!1){var p;t||(t=224);const{width:r,height:o}=f(this,Ft),a=new Tb;let l=f(this,Ft),c=r,h=o,u=null;if(s){if(r>s||o>s){const O=Math.min(s/r,s/o);c=Math.floor(r*O),h=Math.floor(o*O)}u=document.createElement("canvas");const m=u.width=Math.ceil(c*a.sx),g=u.height=Math.ceil(h*a.sy);f(this,Zs)||(l=T(this,Ke,Pg).call(this,m,g));const v=u.getContext("2d");v.filter=this._uiManager.hcmFilter;let y="white",w="#cfcfd8";this._uiManager.hcmFilter!=="none"?w="black":(p=window.matchMedia)!=null&&p.call(window,"(prefers-color-scheme: dark)").matches&&(y="#8f8f9d",w="#42414d");const _=15,A=_*a.sx,k=_*a.sy,$=new OffscreenCanvas(A*2,k*2),E=$.getContext("2d");E.fillStyle=y,E.fillRect(0,0,A*2,k*2),E.fillStyle=w,E.fillRect(0,0,A,k),E.fillRect(A,k,A,k),v.fillStyle=v.createPattern($,"repeat"),v.fillRect(0,0,m,g),v.drawImage(l,0,0,l.width,l.height,0,0,m,g)}let d=null;if(i){let m,g;if(a.symmetric&&l.widtht||o>t){const w=Math.min(t/r,t/o);m=Math.floor(r*w),g=Math.floor(o*w),f(this,Zs)||(l=T(this,Ke,Pg).call(this,m,g))}const y=new OffscreenCanvas(m,g).getContext("2d",{willReadFrequently:!0});y.drawImage(l,0,0,l.width,l.height,0,0,m,g),d={width:m,height:g,data:y.getImageData(0,0,m,g).data}}return{canvas:u,width:c,height:h,imageData:d}}getImageForAltText(){return f(this,_r)}static async deserialize(t,s,i){var g;let r=null;if(t instanceof nM){const{data:{rect:v,rotation:y,id:w,structParent:_,popupRef:A},container:k,parent:{page:{pageNumber:$}}}=t,E=k.querySelector("canvas"),O=i.imageManager.getFromCanvas(k.id,E);E.remove();const F=((g=await s._structTree.getAriaAttributes(`${ak}${w}`))==null?void 0:g.get("aria-label"))||"";r=t={annotationType:De.STAMP,bitmapId:O.id,bitmap:O.bitmap,pageIndex:$-1,rect:v.slice(0),rotation:y,id:w,deleted:!1,accessibilityData:{decorative:!1,altText:F},isSvg:!1,structParent:_,popupRef:A}}const o=await super.deserialize(t,s,i),{rect:a,bitmap:l,bitmapUrl:c,bitmapId:h,isSvg:u,accessibilityData:d}=t;h&&i.imageManager.isValidId(h)?(C(o,zn,h),l&&C(o,Ft,l)):C(o,fo,c),C(o,Zs,u);const[p,m]=o.pageDimensions;return o.width=(a[2]-a[0])/p,o.height=(a[3]-a[1])/m,o.annotationElementId=t.id||null,d&&(o.altTextData=d),o._initialData=r,C(o,fu,!!r),o}serialize(t=!1,s=null){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();const i={annotationType:De.STAMP,bitmapId:f(this,zn),pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:f(this,Zs),structTreeParentId:this._structTreeParentId};if(t)return i.bitmapUrl=T(this,Ke,Rg).call(this,!0),i.accessibilityData=this.serializeAltText(!0),i;const{decorative:r,altText:o}=this.serializeAltText(!1);if(!r&&o&&(i.accessibilityData={type:"Figure",alt:o}),this.annotationElementId){const l=T(this,Ke,WM).call(this,i);if(l.isSame)return null;l.isSameAltText?delete i.accessibilityData:i.accessibilityData.structParent=this._initialData.structParent??-1}if(i.id=this.annotationElementId,s===null)return i;s.stamps||(s.stamps=new Map);const a=f(this,Zs)?(i.rect[2]-i.rect[0])*(i.rect[3]-i.rect[1]):null;if(!s.stamps.has(f(this,zn)))s.stamps.set(f(this,zn),{area:a,serialized:i}),i.bitmap=T(this,Ke,Rg).call(this,!1);else if(f(this,Zs)){const l=s.stamps.get(f(this,zn));a>l.area&&(l.area=a,l.serialized.bitmap.close(),l.serialized.bitmap=T(this,Ke,Rg).call(this,!1))}return i}renderAnnotationElement(t){return t.updateEdited({rect:this.getRect(0,0)}),null}};Ft=new WeakMap,zn=new WeakMap,fa=new WeakMap,fo=new WeakMap,pa=new WeakMap,du=new WeakMap,_r=new WeakMap,po=new WeakMap,Sr=new WeakMap,Zs=new WeakMap,fu=new WeakMap,Ke=new WeakSet,kd=function(t,s=!1){if(!t){this.remove();return}C(this,Ft,t.bitmap),s||(C(this,zn,t.id),C(this,Zs,t.isSvg)),t.file&&C(this,du,t.file.name),T(this,Ke,Ow).call(this)},Ad=function(){if(C(this,fa,null),this._uiManager.enableWaiting(!1),!!f(this,_r)){if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&f(this,Ft)){this._editToolbar.hide(),this._uiManager.editAltText(this,!0);return}if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&f(this,Ft)){this._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!1,alt_text_type:"empty"}});try{this.mlGuessAltText()}catch{}}this.div.focus()}},Tg=function(){if(f(this,zn)){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(f(this,zn)).then(i=>T(this,Ke,kd).call(this,i,!0)).finally(()=>T(this,Ke,Ad).call(this));return}if(f(this,fo)){const i=f(this,fo);C(this,fo,null),this._uiManager.enableWaiting(!0),C(this,fa,this._uiManager.imageManager.getFromUrl(i).then(r=>T(this,Ke,kd).call(this,r)).finally(()=>T(this,Ke,Ad).call(this)));return}if(f(this,pa)){const i=f(this,pa);C(this,pa,null),this._uiManager.enableWaiting(!0),C(this,fa,this._uiManager.imageManager.getFromFile(i).then(r=>T(this,Ke,kd).call(this,r)).finally(()=>T(this,Ke,Ad).call(this)));return}const t=document.createElement("input");t.type="file",t.accept=Gd.supportedTypesStr;const s=this._uiManager._signal;C(this,fa,new Promise(i=>{t.addEventListener("change",async()=>{if(!t.files||t.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);const r=await this._uiManager.imageManager.getFromFile(t.files[0]);this._reportTelemetry({action:"pdfjs.image.image_selected",data:{alt_text_modal:this._uiManager.useNewAltTextFlow}}),T(this,Ke,kd).call(this,r)}i()},{signal:s}),t.addEventListener("cancel",()=>{this.remove(),i()},{signal:s})}).finally(()=>T(this,Ke,Ad).call(this))),t.click()},Ow=function(){const{div:t}=this;let{width:s,height:i}=f(this,Ft);const[r,o]=this.pageDimensions,a=.75;if(this.width)s=this.width*r,i=this.height*o;else if(s>a*r||i>a*o){const u=Math.min(a*r/s,a*o/i);s*=u,i*=u}const[l,c]=this.parentDimensions;this.setDims(s*l/r,i*c/o),this._uiManager.enableWaiting(!1);const h=C(this,_r,document.createElement("canvas"));h.setAttribute("role","img"),this.addContainer(h),(!this._uiManager.useNewAltTextWhenAddingImage||!this._uiManager.useNewAltTextFlow||this.annotationElementId)&&(t.hidden=!1),T(this,Ke,Nw).call(this,s,i),T(this,Ke,VM).call(this),f(this,fu)||(this.parent.addUndoableEditor(this),C(this,fu,!0)),this._reportTelemetry({action:"inserted_image"}),f(this,du)&&h.setAttribute("aria-label",f(this,du))},qM=function(t,s){var a;const[i,r]=this.parentDimensions;this.width=t/i,this.height=s/r,(a=this._initialOptions)!=null&&a.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,f(this,Sr)!==null&&clearTimeout(f(this,Sr)),C(this,Sr,setTimeout(()=>{C(this,Sr,null),T(this,Ke,Nw).call(this,t,s)},200))},Pg=function(t,s){const{width:i,height:r}=f(this,Ft);let o=i,a=r,l=f(this,Ft);for(;o>2*t||a>2*s;){const c=o,h=a;o>2*t&&(o=o>=16384?Math.floor(o/2)-1:Math.ceil(o/2)),a>2*s&&(a=a>=16384?Math.floor(a/2)-1:Math.ceil(a/2));const u=new OffscreenCanvas(o,a);u.getContext("2d").drawImage(l,0,0,c,h,0,0,o,a),l=u.transferToImageBitmap()}return l},Nw=function(t,s){const i=new Tb,r=Math.ceil(t*i.sx),o=Math.ceil(s*i.sy),a=f(this,_r);if(!a||a.width===r&&a.height===o)return;a.width=r,a.height=o;const l=f(this,Zs)?f(this,Ft):T(this,Ke,Pg).call(this,r,o),c=a.getContext("2d");c.filter=this._uiManager.hcmFilter,c.drawImage(l,0,0,l.width,l.height,0,0,r,o)},Rg=function(t){if(t){if(f(this,Zs)){const r=this._uiManager.imageManager.getSvgUrl(f(this,zn));if(r)return r}const s=document.createElement("canvas");return{width:s.width,height:s.height}=f(this,Ft),s.getContext("2d").drawImage(f(this,Ft),0,0),s.toDataURL()}if(f(this,Zs)){const[s,i]=this.pageDimensions,r=Math.round(this.width*s*Ta.PDF_TO_CSS_UNITS),o=Math.round(this.height*i*Ta.PDF_TO_CSS_UNITS),a=new OffscreenCanvas(r,o);return a.getContext("2d").drawImage(f(this,Ft),0,0,f(this,Ft).width,f(this,Ft).height,0,0,r,o),a.transferToImageBitmap()}return structuredClone(f(this,Ft))},VM=function(){this._uiManager._signal&&(C(this,po,new ResizeObserver(t=>{const s=t[0].contentRect;s.width&&s.height&&T(this,Ke,qM).call(this,s.width,s.height)})),f(this,po).observe(this.div),this._uiManager._signal.addEventListener("abort",()=>{var t;(t=f(this,po))==null||t.disconnect(),C(this,po,null)},{once:!0}))},WM=function(t){var c;const{rect:s,pageIndex:i,accessibilityData:{altText:r}}=this._initialData,o=t.rect.every((h,u)=>Math.abs(h-s[u])<1),a=t.pageIndex===i,l=(((c=t.accessibilityData)==null?void 0:c.alt)||"")===r;return{isSame:o&&a&&l,isSameAltText:l}},re(Gd,"_type","stamp"),re(Gd,"_editorType",De.STAMP);let Iw=Gd;var lc,pu,kr,ma,mo,Xs,ga,mu,gu,os,go,ke,ya,Kn,GM,Dw,Fw,jw,Mg;const Pi=class Pi{constructor({uiManager:e,pageIndex:t,div:s,structTreeLayer:i,accessibilityManager:r,annotationLayer:o,drawLayer:a,textLayer:l,viewport:c,l10n:h}){R(this,Kn);R(this,lc);R(this,pu,!1);R(this,kr,null);R(this,ma,null);R(this,mo,null);R(this,Xs,new Map);R(this,ga,!1);R(this,mu,!1);R(this,gu,!1);R(this,os,null);R(this,go,null);R(this,ke);const u=[...f(Pi,ya).values()];if(!Pi._initialized){Pi._initialized=!0;for(const d of u)d.initialize(h,e)}e.registerEditorTypes(u),C(this,ke,e),this.pageIndex=t,this.div=s,C(this,lc,r),C(this,kr,o),this.viewport=c,C(this,os,l),this.drawLayer=a,this._structTree=i,f(this,ke).addLayer(this)}get isEmpty(){return f(this,Xs).size===0}get isInvisible(){return this.isEmpty&&f(this,ke).getMode()===De.NONE}updateToolbar(e){f(this,ke).updateToolbar(e)}updateMode(e=f(this,ke).getMode()){switch(T(this,Kn,Mg).call(this),e){case De.NONE:this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case De.INK:this.addInkEditorIfNeeded(!1),this.disableTextSelection(),this.togglePointerEvents(!0),this.disableClick();break;case De.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);const{classList:t}=this.div;for(const s of f(Pi,ya).values())t.toggle(`${s._type}Editing`,e===s._editorType);this.div.hidden=!1}hasTextLayer(e){var t;return e===((t=f(this,os))==null?void 0:t.div)}addInkEditorIfNeeded(e){if(f(this,ke).getMode()!==De.INK)return;if(!e){for(const s of f(this,Xs).values())if(s.isEmpty()){s.setInBackground();return}}this.createAndAddNewEditor({offsetX:0,offsetY:0},!1).setInBackground()}setEditingState(e){f(this,ke).setEditingState(e)}addCommands(e){f(this,ke).addCommands(e)}toggleDrawing(e=!1){this.div.classList.toggle("drawing",!e)}togglePointerEvents(e=!1){this.div.classList.toggle("disabled",!e)}toggleAnnotationLayerPointerEvents(e=!1){var t;(t=f(this,kr))==null||t.div.classList.toggle("disabled",!e)}async enable(){this.div.tabIndex=0,this.togglePointerEvents(!0);const e=new Set;for(const s of f(this,Xs).values())s.enableEditing(),s.show(!0),s.annotationElementId&&(f(this,ke).removeChangedExistingAnnotation(s),e.add(s.annotationElementId));if(!f(this,kr))return;const t=f(this,kr).getEditableAnnotations();for(const s of t){if(s.hide(),f(this,ke).isDeletedAnnotationElement(s.data.id)||e.has(s.data.id))continue;const i=await this.deserialize(s);i&&(this.addOrRebuild(i),i.enableEditing())}}disable(){var i;C(this,gu,!0),this.div.tabIndex=-1,this.togglePointerEvents(!1);const e=new Map,t=new Map;for(const r of f(this,Xs).values())if(r.disableEditing(),!!r.annotationElementId){if(r.serialize()!==null){e.set(r.annotationElementId,r);continue}else t.set(r.annotationElementId,r);(i=this.getEditableAnnotation(r.annotationElementId))==null||i.show(),r.remove()}if(f(this,kr)){const r=f(this,kr).getEditableAnnotations();for(const o of r){const{id:a}=o.data;if(f(this,ke).isDeletedAnnotationElement(a))continue;let l=t.get(a);if(l){l.resetAnnotationElement(o),l.show(!1),o.show();continue}l=e.get(a),l&&(f(this,ke).addChangedExistingAnnotation(l),l.renderAnnotationElement(o)&&l.show(!1)),o.show()}}T(this,Kn,Mg).call(this),this.isEmpty&&(this.div.hidden=!0);const{classList:s}=this.div;for(const r of f(Pi,ya).values())s.remove(`${r._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),C(this,gu,!1)}getEditableAnnotation(e){var t;return((t=f(this,kr))==null?void 0:t.getEditableAnnotation(e))||null}setActiveEditor(e){f(this,ke).getActive()!==e&&f(this,ke).setActiveEditor(e)}enableTextSelection(){var e;if(this.div.tabIndex=-1,(e=f(this,os))!=null&&e.div&&!f(this,go)){C(this,go,new AbortController);const t=f(this,ke).combinedSignal(f(this,go));f(this,os).div.addEventListener("pointerdown",T(this,Kn,GM).bind(this),{signal:t}),f(this,os).div.classList.add("highlighting")}}disableTextSelection(){var e;this.div.tabIndex=0,(e=f(this,os))!=null&&e.div&&f(this,go)&&(f(this,go).abort(),C(this,go,null),f(this,os).div.classList.remove("highlighting"))}enableClick(){if(f(this,ma))return;C(this,ma,new AbortController);const e=f(this,ke).combinedSignal(f(this,ma));this.div.addEventListener("pointerdown",this.pointerdown.bind(this),{signal:e}),this.div.addEventListener("pointerup",this.pointerup.bind(this),{signal:e})}disableClick(){var e;(e=f(this,ma))==null||e.abort(),C(this,ma,null)}attach(e){f(this,Xs).set(e.id,e);const{annotationElementId:t}=e;t&&f(this,ke).isDeletedAnnotationElement(t)&&f(this,ke).removeDeletedAnnotationElement(e)}detach(e){var t;f(this,Xs).delete(e.id),(t=f(this,lc))==null||t.removePointerInTextLayer(e.contentDiv),!f(this,gu)&&e.annotationElementId&&f(this,ke).addDeletedAnnotationElement(e)}remove(e){this.detach(e),f(this,ke).removeEditor(e),e.div.remove(),e.isAttachedToDOM=!1,f(this,mu)||this.addInkEditorIfNeeded(!1)}changeParent(e){var t;e.parent!==this&&(e.parent&&e.annotationElementId&&(f(this,ke).addDeletedAnnotationElement(e.annotationElementId),dt.deleteAnnotationElement(e),e.annotationElementId=null),this.attach(e),(t=e.parent)==null||t.detach(e),e.setParent(this),e.div&&e.isAttachedToDOM&&(e.div.remove(),this.div.append(e.div)))}add(e){if(!(e.parent===this&&e.isAttachedToDOM)){if(this.changeParent(e),f(this,ke).addEditor(e),this.attach(e),!e.isAttachedToDOM){const t=e.render();this.div.append(t),e.isAttachedToDOM=!0}e.fixAndSetPosition(),e.onceAdded(),f(this,ke).addToAnnotationStorage(e),e._reportTelemetry(e.telemetryInitialData)}}moveEditorInDOM(e){var s;if(!e.isAttachedToDOM)return;const{activeElement:t}=document;e.div.contains(t)&&!f(this,mo)&&(e._focusEventsAllowed=!1,C(this,mo,setTimeout(()=>{C(this,mo,null),e.div.contains(document.activeElement)?e._focusEventsAllowed=!0:(e.div.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:f(this,ke)._signal}),t.focus())},0))),e._structTreeParentId=(s=f(this,lc))==null?void 0:s.moveElementInDOM(this.div,e.div,e.contentDiv,!0)}addOrRebuild(e){e.needsToBeRebuilt()?(e.parent||(e.parent=this),e.rebuild(),e.show()):this.add(e)}addUndoableEditor(e){const t=()=>e._uiManager.rebuild(e),s=()=>{e.remove()};this.addCommands({cmd:t,undo:s,mustExec:!1})}getNextId(){return f(this,ke).getId()}combinedSignal(e){return f(this,ke).combinedSignal(e)}canCreateNewEmptyEditor(){var e;return(e=f(this,Kn,Dw))==null?void 0:e.canCreateNewEmptyEditor()}pasteEditor(e,t){f(this,ke).updateToolbar(e),f(this,ke).updateMode(e);const{offsetX:s,offsetY:i}=T(this,Kn,jw).call(this),r=this.getNextId(),o=T(this,Kn,Fw).call(this,{parent:this,id:r,x:s,y:i,uiManager:f(this,ke),isCentered:!0,...t});o&&this.add(o)}async deserialize(e){var t;return await((t=f(Pi,ya).get(e.annotationType??e.annotationEditorType))==null?void 0:t.deserialize(e,this,f(this,ke)))||null}createAndAddNewEditor(e,t,s={}){const i=this.getNextId(),r=T(this,Kn,Fw).call(this,{parent:this,id:i,x:e.offsetX,y:e.offsetY,uiManager:f(this,ke),isCentered:t,...s});return r&&this.add(r),r}addNewEditor(){this.createAndAddNewEditor(T(this,Kn,jw).call(this),!0)}setSelected(e){f(this,ke).setSelected(e)}toggleSelected(e){f(this,ke).toggleSelected(e)}unselect(e){f(this,ke).unselect(e)}pointerup(e){const{isMac:t}=_s.platform;if(!(e.button!==0||e.ctrlKey&&t)&&e.target===this.div&&f(this,ga)){if(C(this,ga,!1),!f(this,pu)){C(this,pu,!0);return}if(f(this,ke).getMode()===De.STAMP){f(this,ke).unselectAll();return}this.createAndAddNewEditor(e,!1)}}pointerdown(e){if(f(this,ke).getMode()===De.HIGHLIGHT&&this.enableTextSelection(),f(this,ga)){C(this,ga,!1);return}const{isMac:t}=_s.platform;if(e.button!==0||e.ctrlKey&&t||e.target!==this.div)return;C(this,ga,!0);const s=f(this,ke).getActive();C(this,pu,!s||s.isEmpty())}findNewParent(e,t,s){const i=f(this,ke).findParent(t,s);return i===null||i===this?!1:(i.changeParent(e),!0)}destroy(){var e,t;((e=f(this,ke).getActive())==null?void 0:e.parent)===this&&(f(this,ke).commitOrRemove(),f(this,ke).setActiveEditor(null)),f(this,mo)&&(clearTimeout(f(this,mo)),C(this,mo,null));for(const s of f(this,Xs).values())(t=f(this,lc))==null||t.removePointerInTextLayer(s.contentDiv),s.setParent(null),s.isAttachedToDOM=!1,s.div.remove();this.div=null,f(this,Xs).clear(),f(this,ke).removeLayer(this)}render({viewport:e}){this.viewport=e,yc(this.div,e);for(const t of f(this,ke).getEditors(this.pageIndex))this.add(t),t.rebuild();this.updateMode()}update({viewport:e}){f(this,ke).commitOrRemove(),T(this,Kn,Mg).call(this);const t=this.viewport.rotation,s=e.rotation;if(this.viewport=e,yc(this.div,{rotation:s}),t!==s)for(const i of f(this,Xs).values())i.rotate(s);this.addInkEditorIfNeeded(!1)}get pageDimensions(){const{pageWidth:e,pageHeight:t}=this.viewport.rawDims;return[e,t]}get scale(){return f(this,ke).viewParameters.realScale}};lc=new WeakMap,pu=new WeakMap,kr=new WeakMap,ma=new WeakMap,mo=new WeakMap,Xs=new WeakMap,ga=new WeakMap,mu=new WeakMap,gu=new WeakMap,os=new WeakMap,go=new WeakMap,ke=new WeakMap,ya=new WeakMap,Kn=new WeakSet,GM=function(e){f(this,ke).unselectAll();const{target:t}=e;if(t===f(this,os).div||(t.getAttribute("role")==="img"||t.classList.contains("endOfContent"))&&f(this,os).div.contains(t)){const{isMac:s}=_s.platform;if(e.button!==0||e.ctrlKey&&s)return;f(this,ke).showAllEditors("highlight",!0,!0),f(this,os).div.classList.add("free"),this.toggleDrawing(),hy.startHighlighting(this,f(this,ke).direction==="ltr",{target:f(this,os).div,x:e.x,y:e.y}),f(this,os).div.addEventListener("pointerup",()=>{f(this,os).div.classList.remove("free"),this.toggleDrawing(!0)},{once:!0,signal:f(this,ke)._signal}),e.preventDefault()}},Dw=function(){return f(Pi,ya).get(f(this,ke).getMode())},Fw=function(e){const t=f(this,Kn,Dw);return t?new t.prototype.constructor(e):null},jw=function(){const{x:e,y:t,width:s,height:i}=this.div.getBoundingClientRect(),r=Math.max(0,e),o=Math.max(0,t),a=Math.min(window.innerWidth,e+s),l=Math.min(window.innerHeight,t+i),c=(r+a)/2-e,h=(o+l)/2-t,[u,d]=this.viewport.rotation%180===0?[c,h]:[h,c];return{offsetX:u,offsetY:d}},Mg=function(){C(this,mu,!0);for(const e of f(this,Xs).values())e.isEmpty()&&e.remove();C(this,mu,!1)},re(Pi,"_initialized",!1),R(Pi,ya,new Map([mw,Aw,Iw,hy].map(e=>[e._editorType,e])));let Lw=Pi;var Ar,xp,sn,yo,Ep,Hw,$c,Bw,KM;const Dn=class Dn{constructor({pageIndex:e}){R(this,$c);R(this,Ar,null);R(this,xp,0);R(this,sn,new Map);R(this,yo,new Map);this.pageIndex=e}setParent(e){if(!f(this,Ar)){C(this,Ar,e);return}if(f(this,Ar)!==e){if(f(this,sn).size>0)for(const t of f(this,sn).values())t.remove(),e.append(t);C(this,Ar,e)}}static get _svgFactory(){return Ze(this,"_svgFactory",new yk)}draw(e,t,s,i=!1){const r=ps(this,xp)._++,o=T(this,$c,Bw).call(this,e.box);o.classList.add(...e.classNamesForDrawing);const a=Dn._svgFactory.createElement("defs");o.append(a);const l=Dn._svgFactory.createElement("path");a.append(l);const c=`path_p${this.pageIndex}_${r}`;l.setAttribute("id",c),l.setAttribute("d",e.toSVGPath()),i&&f(this,yo).set(r,l);const h=T(this,$c,KM).call(this,a,c),u=Dn._svgFactory.createElement("use");return o.append(u),o.setAttribute("fill",t),o.setAttribute("fill-opacity",s),u.setAttribute("href",`#${c}`),f(this,sn).set(r,o),{id:r,clipPathId:`url(#${h})`}}drawOutline(e){const t=ps(this,xp)._++,s=T(this,$c,Bw).call(this,e.box);s.classList.add(...e.classNamesForOutlining);const i=Dn._svgFactory.createElement("defs");s.append(i);const r=Dn._svgFactory.createElement("path");i.append(r);const o=`path_p${this.pageIndex}_${t}`;r.setAttribute("id",o),r.setAttribute("d",e.toSVGPath()),r.setAttribute("vector-effect","non-scaling-stroke");let a;if(e.mustRemoveSelfIntersections){const h=Dn._svgFactory.createElement("mask");i.append(h),a=`mask_p${this.pageIndex}_${t}`,h.setAttribute("id",a),h.setAttribute("maskUnits","objectBoundingBox");const u=Dn._svgFactory.createElement("rect");h.append(u),u.setAttribute("width","1"),u.setAttribute("height","1"),u.setAttribute("fill","white");const d=Dn._svgFactory.createElement("use");h.append(d),d.setAttribute("href",`#${o}`),d.setAttribute("stroke","none"),d.setAttribute("fill","black"),d.setAttribute("fill-rule","nonzero"),d.classList.add("mask")}const l=Dn._svgFactory.createElement("use");s.append(l),l.setAttribute("href",`#${o}`),a&&l.setAttribute("mask",`url(#${a})`);const c=l.cloneNode();return s.append(c),l.classList.add("mainOutline"),c.classList.add("secondaryOutline"),f(this,sn).set(t,s),t}finalizeLine(e,t){const s=f(this,yo).get(e);f(this,yo).delete(e),this.updateBox(e,t.box),s.setAttribute("d",t.toSVGPath())}updateLine(e,t){f(this,sn).get(e).firstChild.firstChild.setAttribute("d",t.toSVGPath())}updatePath(e,t){f(this,yo).get(e).setAttribute("d",t.toSVGPath())}updateBox(e,t){var s;T(s=Dn,Ep,Hw).call(s,f(this,sn).get(e),t)}show(e,t){f(this,sn).get(e).classList.toggle("hidden",!t)}rotate(e,t){f(this,sn).get(e).setAttribute("data-main-rotation",t)}changeColor(e,t){f(this,sn).get(e).setAttribute("fill",t)}changeOpacity(e,t){f(this,sn).get(e).setAttribute("fill-opacity",t)}addClass(e,t){f(this,sn).get(e).classList.add(t)}removeClass(e,t){f(this,sn).get(e).classList.remove(t)}getSVGRoot(e){return f(this,sn).get(e)}remove(e){f(this,yo).delete(e),f(this,Ar)!==null&&(f(this,sn).get(e).remove(),f(this,sn).delete(e))}destroy(){C(this,Ar,null);for(const e of f(this,sn).values())e.remove();f(this,sn).clear(),f(this,yo).clear()}};Ar=new WeakMap,xp=new WeakMap,sn=new WeakMap,yo=new WeakMap,Ep=new WeakSet,Hw=function(e,{x:t=0,y:s=0,width:i=1,height:r=1}={}){const{style:o}=e;o.top=`${100*s}%`,o.left=`${100*t}%`,o.width=`${100*i}%`,o.height=`${100*r}%`},$c=new WeakSet,Bw=function(e){var s;const t=Dn._svgFactory.create(1,1,!0);return f(this,Ar).append(t),t.setAttribute("aria-hidden",!0),T(s=Dn,Ep,Hw).call(s,t,e),t},KM=function(e,t){const s=Dn._svgFactory.createElement("clipPath");e.append(s);const i=`clip_${t}`;s.setAttribute("id",i),s.setAttribute("clipPathUnits","objectBoundingBox");const r=Dn._svgFactory.createElement("use");return s.append(r),r.setAttribute("href",`#${t}`),r.classList.add("clip"),i},R(Dn,Ep);let zw=Dn;Me.AbortException;Me.AnnotationEditorLayer;Me.AnnotationEditorParamsType;Me.AnnotationEditorType;Me.AnnotationEditorUIManager;var ZM=Me.AnnotationLayer,XM=Me.AnnotationMode;Me.ColorPicker;Me.DOMSVGFactory;Me.DrawLayer;Me.FeatureTest;var x0=Me.GlobalWorkerOptions;Me.ImageKind;Me.InvalidPDFException;Me.MissingPDFException;Me.OPS;Me.OutputScale;var rZ=Me.PDFDataRangeTransport;Me.PDFDateString;Me.PDFWorker;Me.PasswordResponses;Me.PermissionFlag;Me.PixelsPerInch;Me.RenderingCancelledException;var YM=Me.TextLayer;Me.UnexpectedResponseException;Me.Util;Me.VerbosityLevel;Me.XfaLayer;Me.build;Me.createValidAbsoluteUrl;Me.fetchData;var JM=Me.getDocument;Me.getFilenameFromUrl;Me.getPdfFilenameFromUrl;Me.getXfaPageViewport;Me.isDataScheme;Me.isPdfFile;Me.noContextMenu;Me.normalizeUnicode;Me.setLayerDimensions;Me.shadow;var Uw=Me.version;const oZ=Object.freeze(Object.defineProperty({__proto__:null,AnnotationLayer:ZM,AnnotationMode:XM,GlobalWorkerOptions:x0,PDFDataRangeTransport:rZ,TextLayer:YM,getDocument:JM,version:Uw},Symbol.toStringTag,{value:"Module"}));var _n=function(n,e,t){if(t||arguments.length===2)for(var s=0,i=e.length,r;s{mt(this.pdfDocument),mt(e),typeof e=="string"?this.pdfDocument.getDestination(e).then(t):Array.isArray(e)?t(e):e.then(t)}).then(t=>{mt(Array.isArray(t));const s=t[0];new Promise(i=>{mt(this.pdfDocument),s instanceof Object?this.pdfDocument.getPageIndex(s).then(r=>{i(r)}).catch(()=>{mt(!1)}):typeof s=="number"?i(s):mt(!1)}).then(i=>{const r=i+1;mt(this.pdfViewer),mt(r>=1&&r<=this.pagesCount),this.pdfViewer.scrollPageIntoView({dest:t,pageIndex:i,pageNumber:r})})})}navigateTo(e){this.goToDestination(e)}goToPage(e){const t=e-1;mt(this.pdfViewer),mt(e>=1&&e<=this.pagesCount),this.pdfViewer.scrollPageIntoView({pageIndex:t,pageNumber:e})}addLinkAttributes(e,t,s){e.href=t,e.rel=this.externalLinkRel||TZ,e.target=s?"_blank":this.externalLinkTarget||""}getDestinationHash(){return"#"}getAnchorUrl(){return"#"}setHash(){}executeNamedAction(){}cachePageRef(){}isPageVisible(){return!0}isPageCached(){return!0}executeSetOCGState(){}}const Gx={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},E0=typeof window<"u",tI=E0&&window.location.protocol==="file:";function RZ(n){return typeof n<"u"}function Ga(n){return RZ(n)&&n!==null}function MZ(n){return typeof n=="string"}function IZ(n){return n instanceof ArrayBuffer}function OZ(n){return mt(E0),n instanceof Blob}function qw(n){return MZ(n)&&/^data:/.test(n)}function Kx(n){mt(qw(n));const[e="",t=""]=n.split(",");return e.split(";").indexOf("base64")!==-1?atob(t):unescape(t)}function NZ(){return E0&&window.devicePixelRatio||1}const nI="On Chromium based browsers, you can use --allow-file-access-from-files flag for debugging purposes.";function Zx(){ls(!tI,`Loading PDF as base64 strings/URLs may not work on protocols other than HTTP/HTTPS. ${nI}`)}function LZ(){ls(!tI,`Loading PDF.js worker may not work on protocols other than HTTP/HTTPS. ${nI}`)}function wc(n){n!=null&&n.cancel&&n.cancel()}function Vw(n,e){return Object.defineProperty(n,"width",{get(){return this.view[2]*e},configurable:!0}),Object.defineProperty(n,"height",{get(){return this.view[3]*e},configurable:!0}),Object.defineProperty(n,"originalWidth",{get(){return this.view[2]},configurable:!0}),Object.defineProperty(n,"originalHeight",{get(){return this.view[3]},configurable:!0}),n}function DZ(n){return n.name==="RenderingCancelledException"}function FZ(n){return new Promise((e,t)=>{const s=new FileReader;s.onload=()=>{if(!s.result)return t(new Error("Error while reading a file."));e(s.result)},s.onerror=i=>{if(!i.target)return t(new Error("Error while reading a file."));const{error:r}=i.target;if(!r)return t(new Error("Error while reading a file."));switch(r.code){case r.NOT_FOUND_ERR:return t(new Error("Error while reading a file: File not found."));case r.SECURITY_ERR:return t(new Error("Error while reading a file: Security error."));case r.ABORT_ERR:return t(new Error("Error while reading a file: Aborted."));default:return t(new Error("Error while reading a file."))}},s.readAsArrayBuffer(n)})}function jZ(n,e){switch(e.type){case"RESOLVE":return{value:e.value,error:void 0};case"REJECT":return{value:!1,error:e.error};case"RESET":return{value:void 0,error:void 0};default:return n}}function ku(){return K.useReducer(jZ,{value:void 0,error:void 0})}var zZ=function(n,e,t,s){function i(r){return r instanceof t?r:new t(function(o){o(r)})}return new(t||(t=Promise))(function(r,o){function a(h){try{c(s.next(h))}catch(u){o(u)}}function l(h){try{c(s.throw(h))}catch(u){o(u)}}function c(h){h.done?r(h.value):i(h.value).then(a,l)}c((s=s.apply(n,e||[])).next())})},Xx=function(n,e){var t={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&e.indexOf(s)<0&&(t[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,s=Object.getOwnPropertySymbols(n);i{switch(e){case Gx.NEED_PASSWORD:{const t=prompt("Enter the password to open this PDF file.");n(t);break}case Gx.INCORRECT_PASSWORD:{const t=prompt("Invalid password. Please try again.");n(t);break}}};function Yx(n){return typeof n=="object"&&n!==null&&("data"in n||"range"in n||"url"in n)}const UZ=K.forwardRef(function(e,t){var{children:s,className:i,error:r="Failed to load PDF file.",externalLinkRel:o,externalLinkTarget:a,file:l,inputRef:c,imageResourcesPath:h,loading:u="Loading PDF…",noData:d="No PDF file specified.",onItemClick:p,onLoadError:m,onLoadProgress:g,onLoadSuccess:v,onPassword:y=BZ,onSourceError:w,onSourceSuccess:_,options:A,renderMode:k,rotate:$}=e,E=Xx(e,["children","className","error","externalLinkRel","externalLinkTarget","file","inputRef","imageResourcesPath","loading","noData","onItemClick","onLoadError","onLoadProgress","onLoadSuccess","onPassword","onSourceError","onSourceSuccess","options","renderMode","rotate"]);const[O,F]=ku(),{value:U,error:L}=O,[H,B]=ku(),{value:D,error:Y}=H,X=K.useRef(new PZ),Q=K.useRef([]),se=K.useRef(void 0),ve=K.useRef(void 0);l&&l!==se.current&&Yx(l)&&(ls(!dh(l,se.current),`File prop passed to changed, but it's equal to previous one. This might result in unnecessary reloads. Consider memoizing the value passed to "file" prop.`),se.current=l),A&&A!==ve.current&&(ls(!dh(A,ve.current),`Options prop passed to changed, but it's equal to previous one. This might result in unnecessary reloads. Consider memoizing the value passed to "options" prop.`),ve.current=A);const z=K.useRef({scrollPageIntoView:Ie=>{const{dest:Ge,pageNumber:lt,pageIndex:tt=lt-1}=Ie;if(p){p({dest:Ge,pageIndex:tt,pageNumber:lt});return}const Jt=Q.current[tt];if(Jt){Jt.scrollIntoView();return}ls(!1,`An internal link leading to page ${lt} was clicked, but neither was provided with onItemClick nor it was able to find the page within itself. Either provide onItemClick to and handle navigating by yourself or ensure that all pages are rendered within .`)}});K.useImperativeHandle(t,()=>({linkService:X,pages:Q,viewer:z}),[]);function P(){_&&_()}function N(){L&&(ls(!1,L.toString()),w&&w(L))}function M(){F({type:"RESET"})}K.useEffect(M,[l,F]);const b=K.useCallback(()=>zZ(this,void 0,void 0,function*(){if(!l)return null;if(typeof l=="string")return qw(l)?{data:Kx(l)}:(Zx(),{url:l});if(l instanceof HZ)return{range:l};if(IZ(l))return{data:l};if(E0&&OZ(l))return{data:yield FZ(l)};if(mt(typeof l=="object"),mt(Yx(l)),"url"in l&&typeof l.url=="string"){if(qw(l.url)){const{url:Ie}=l,Ge=Xx(l,["url"]),lt=Kx(Ie);return Object.assign({data:lt},Ge)}Zx()}return l}),[l]);K.useEffect(()=>{const Ie=Zp(b());return Ie.promise.then(Ge=>{F({type:"RESOLVE",value:Ge})}).catch(Ge=>{F({type:"REJECT",error:Ge})}),()=>{wc(Ie)}},[b,F]),K.useEffect(()=>{if(!(typeof U>"u")){if(U===!1){N();return}P()}},[U]);function x(){D&&(v&&v(D),Q.current=new Array(D.numPages),X.current.setDocument(D))}function I(){Y&&(ls(!1,Y.toString()),m&&m(Y))}K.useEffect(function(){B({type:"RESET"})},[B,U]),K.useEffect(function(){if(!U)return;const Ge=A?Object.assign(Object.assign({},U),A):U,lt=JM(Ge);g&&(lt.onProgress=g),y&&(lt.onPassword=y);const tt=lt,Jt=tt.promise.then(Pn=>{B({type:"RESOLVE",value:Pn})}).catch(Pn=>{tt.destroyed||B({type:"REJECT",error:Pn})});return()=>{Jt.finally(()=>tt.destroy())}},[A,B,U]),K.useEffect(()=>{if(!(typeof D>"u")){if(D===!1){I();return}x()}},[D]),K.useEffect(function(){X.current.setViewer(z.current),X.current.setExternalLinkRel(o),X.current.setExternalLinkTarget(a)},[o,a]);const W=K.useCallback((Ie,Ge)=>{Q.current[Ie]=Ge},[]),Z=K.useCallback(Ie=>{delete Q.current[Ie]},[]),ae=K.useMemo(()=>({imageResourcesPath:h,linkService:X.current,onItemClick:p,pdf:D,registerPage:W,renderMode:k,rotate:$,unregisterPage:Z}),[h,p,D,W,k,$,Z]),ne=K.useMemo(()=>QM(E,()=>D),[E,D]);function Ae(){return S.jsx(eI.Provider,{value:ae,children:s})}function At(){return l?D==null?S.jsx(fh,{type:"loading",children:typeof u=="function"?u():u}):D===!1?S.jsx(fh,{type:"error",children:typeof r=="function"?r():r}):Ae():S.jsx(fh,{type:"no-data",children:typeof d=="function"?d():d})}return S.jsx("div",Object.assign({className:Zy("react-pdf__Document",i),ref:c,style:{"--scale-factor":"1"}},ne,{children:At()}))});function sI(){return K.useContext(eI)}function iI(){for(var n=[],e=0;eGZ(e),[e]),s=K.useMemo(()=>!C0(e)||aI(e)?null:e.children.map((i,r)=>S.jsx(cI,{node:i},r)),[e]);return S.jsx("span",Object.assign({className:n},t,{children:s}))}function $0(){return K.useContext(rI)}function KZ(){const n=$0();mt(n);const{onGetStructTreeError:e,onGetStructTreeSuccess:t}=n,[s,i]=ku(),{value:r,error:o}=s,{customTextRenderer:a,page:l}=n;function c(){r&&t&&t(r)}function h(){o&&(ls(!1,o.toString()),e&&e(o))}return K.useEffect(function(){i({type:"RESET"})},[i,l]),K.useEffect(function(){if(a||!l)return;const d=Zp(l.getStructTree()),p=d;return d.promise.then(m=>{i({type:"RESOLVE",value:m})}).catch(m=>{i({type:"REJECT",error:m})}),()=>wc(p)},[a,l,i]),K.useEffect(()=>{if(r!==void 0){if(r===!1){h();return}c()}},[r]),r?S.jsx(cI,{className:"react-pdf__Page__structTree structTree",node:r}):null}const Jx=XM;function ZZ(n){const e=$0();mt(e);const t=Object.assign(Object.assign({},e),n),{_className:s,canvasBackground:i,devicePixelRatio:r=NZ(),onRenderError:o,onRenderSuccess:a,page:l,renderForms:c,renderTextLayer:h,rotate:u,scale:d}=t,{canvasRef:p}=n;mt(l);const m=K.useRef(null);function g(){l&&a&&a(Vw(l,d))}function v(A){DZ(A)||(ls(!1,A.toString()),o&&o(A))}const y=K.useMemo(()=>l.getViewport({scale:d*r,rotation:u}),[r,l,u,d]),w=K.useMemo(()=>l.getViewport({scale:d,rotation:u}),[l,u,d]);K.useEffect(function(){if(!l)return;l.cleanup();const{current:k}=m;if(!k)return;k.width=y.width,k.height=y.height,k.style.width=`${Math.floor(w.width)}px`,k.style.height=`${Math.floor(w.height)}px`,k.style.visibility="hidden";const $={annotationMode:c?Jx.ENABLE_FORMS:Jx.ENABLE,canvasContext:k.getContext("2d",{alpha:!1}),viewport:y};i&&($.background=i);const E=l.render($),O=E;return E.promise.then(()=>{k.style.visibility="",g()}).catch(v),()=>wc(O)},[i,l,c,y,w]);const _=K.useCallback(()=>{const{current:A}=m;A&&(A.width=0,A.height=0)},[]);return K.useEffect(()=>_,[_]),S.jsx("canvas",{className:`${s}__canvas`,dir:"ltr",ref:iI(p,m),style:{display:"block",userSelect:"none"},children:h?S.jsx(KZ,{}):null})}function XZ(n){return"str"in n}function YZ(){const n=$0();mt(n);const{customTextRenderer:e,onGetTextError:t,onGetTextSuccess:s,onRenderTextLayerError:i,onRenderTextLayerSuccess:r,page:o,pageIndex:a,pageNumber:l,rotate:c,scale:h}=n;mt(o);const[u,d]=ku(),{value:p,error:m}=u,g=K.useRef(null);ls(Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-text-layer"),10)===1,"TextLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-text-layer");function v(){p&&s&&s(p)}function y(){m&&(ls(!1,m.toString()),t&&t(m))}K.useEffect(function(){d({type:"RESET"})},[o,d]),K.useEffect(function(){if(!o)return;const O=Zp(o.getTextContent()),F=O;return O.promise.then(U=>{d({type:"RESOLVE",value:U})}).catch(U=>{d({type:"REJECT",error:U})}),()=>wc(F)},[o,d]),K.useEffect(()=>{if(p!==void 0){if(p===!1){y();return}v()}},[p]);const w=K.useCallback(()=>{r&&r()},[r]),_=K.useCallback(E=>{ls(!1,E.toString()),i&&i(E)},[i]);function A(){const E=g.current;E&&E.classList.add("selecting")}function k(){const E=g.current;E&&E.classList.remove("selecting")}const $=K.useMemo(()=>o.getViewport({scale:h,rotation:c}),[o,c,h]);return K.useLayoutEffect(function(){if(!o||!p)return;const{current:O}=g;if(!O)return;O.innerHTML="";const F=o.streamTextContent({includeMarkedContent:!0}),U={container:O,textContentSource:F,viewport:$},L=new YM(U),H=L;return L.render().then(()=>{const B=document.createElement("div");B.className="endOfContent",O.append(B);const D=O.querySelectorAll('[role="presentation"]');if(e){let Y=0;p.items.forEach((X,Q)=>{if(!XZ(X))return;const se=D[Y];if(!se)return;const ve=e(Object.assign({pageIndex:a,pageNumber:l,itemIndex:Q},X));se.innerHTML=ve,Y+=X.str&&X.hasEOL?2:1})}w()}).catch(_),()=>wc(H)},[e,_,w,o,a,l,p,$]),S.jsx("div",{className:Zy("react-pdf__Page__textContent","textLayer"),onMouseUp:k,onMouseDown:A,ref:g})}function JZ(){const n=sI(),e=$0();mt(e);const t=Object.assign(Object.assign({},n),e),{imageResourcesPath:s,linkService:i,onGetAnnotationsError:r,onGetAnnotationsSuccess:o,onRenderAnnotationLayerError:a,onRenderAnnotationLayerSuccess:l,page:c,pdf:h,renderForms:u,rotate:d,scale:p=1}=t;mt(h),mt(c),mt(i);const[m,g]=ku(),{value:v,error:y}=m,w=K.useRef(null);ls(Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-annotation-layer"),10)===1,"AnnotationLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-annotations");function _(){v&&o&&o(v)}function A(){y&&(ls(!1,y.toString()),r&&r(y))}K.useEffect(function(){g({type:"RESET"})},[g,c]),K.useEffect(function(){if(!c)return;const F=Zp(c.getAnnotations()),U=F;return F.promise.then(L=>{g({type:"RESOLVE",value:L})}).catch(L=>{g({type:"REJECT",error:L})}),()=>{wc(U)}},[g,c]),K.useEffect(()=>{if(v!==void 0){if(v===!1){A();return}_()}},[v]);function k(){l&&l()}function $(O){ls(!1,`${O}`),a&&a(O)}const E=K.useMemo(()=>c.getViewport({scale:p,rotation:d}),[c,d,p]);return K.useEffect(function(){if(!h||!c||!i||!v)return;const{current:F}=w;if(!F)return;const U=E.clone({dontFlip:!0}),L={accessibilityManager:null,annotationCanvasMap:null,annotationEditorUIManager:null,div:F,l10n:null,page:c,structTreeLayer:null,viewport:U},H={annotations:v,annotationStorage:h.annotationStorage,div:F,imageResourcesPath:s,linkService:i,page:c,renderForms:u,viewport:U};F.innerHTML="";try{new ZM(L).render(H),k()}catch(B){$(B)}return()=>{}},[v,s,i,c,h,u,E]),S.jsx("div",{className:Zy("react-pdf__Page__annotations","annotationLayer"),ref:w})}var QZ=function(n,e){var t={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&e.indexOf(s)<0&&(t[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,s=Object.getOwnPropertySymbols(n);i{if(!ne)return null;let an=1;const ln=b??Qx;if(I||p){const en=ne.getViewport({scale:1,rotation:lt});I?an=I/en.width:p&&(an=p/en.height)}return ln*an},[p,ne,lt,b,I]);K.useEffect(function(){return()=>{Ga(Ie)&&i&&x&&x(Ie)}},[i,Q,Ie,x]);function Jt(){if(O){if(!ne||!tt)return;O(Vw(ne,tt))}if(i&&se){if(!Ga(Ie)||!At.current)return;se(Ie,At.current)}}function Pn(){Ae&&(ls(!1,Ae.toString()),E&&E(Ae))}K.useEffect(function(){ae({type:"RESET"})},[ae,Q,Ie]),K.useEffect(function(){if(!Q||!Ge)return;const ln=Zp(Q.getPage(Ge)),en=ln;return ln.promise.then(fs=>{ae({type:"RESOLVE",value:fs})}).catch(fs=>{ae({type:"REJECT",error:fs})}),()=>wc(en)},[ae,Q,Ge]),K.useEffect(()=>{if(ne!==void 0){if(ne===!1){Pn();return}Jt()}},[ne,tt]);const Rn=K.useMemo(()=>ne&&Ga(Ie)&&Ge&&Ga(lt)&&Ga(tt)?{_className:s,canvasBackground:r,customTextRenderer:h,devicePixelRatio:u,onGetAnnotationsError:y,onGetAnnotationsSuccess:w,onGetStructTreeError:_,onGetStructTreeSuccess:A,onGetTextError:k,onGetTextSuccess:$,onRenderAnnotationLayerError:F,onRenderAnnotationLayerSuccess:U,onRenderError:L,onRenderSuccess:H,onRenderTextLayerError:B,onRenderTextLayerSuccess:D,page:ne,pageIndex:Ie,pageNumber:Ge,renderForms:z,renderTextLayer:N,rotate:lt,scale:tt}:null,[s,r,h,u,y,w,_,A,k,$,F,U,L,H,B,D,ne,Ie,Ge,z,N,lt,tt]),us=K.useMemo(()=>QM(W,()=>ne&&(tt?Vw(ne,tt):void 0)),[W,ne,tt]),Mn=`${Ie}@${tt}/${lt}`;function ds(){switch(P){case"custom":return mt(c),S.jsx(c,{},`${Mn}_custom`);case"none":return null;case"canvas":default:return S.jsx(ZZ,{canvasRef:o},`${Mn}_canvas`)}}function Yn(){return N?S.jsx(YZ,{},`${Mn}_text`):null}function Jn(){return ve?S.jsx(JZ,{},`${Mn}_annotations`):null}function In(){return S.jsxs(rI.Provider,{value:Rn,children:[ds(),Yn(),Jn(),a]})}function Qt(){return Ge?Q===null||ne===void 0||ne===null?S.jsx(fh,{type:"loading",children:typeof g=="function"?g():g}):Q===!1||ne===!1?S.jsx(fh,{type:"error",children:typeof d=="function"?d():d}):In():S.jsx(fh,{type:"no-data",children:typeof v=="function"?v():v})}return S.jsx("div",Object.assign({className:Zy(s,l),"data-page-number":Ge,ref:iI(m,At),style:{"--scale-factor":`${tt}`,backgroundColor:r||"white",position:"relative",minWidth:"min-content",minHeight:"min-content"}},us,{children:Qt()}))}LZ();x0.workerSrc="pdf.worker.mjs";const tX="/assets/pdf.worker.min-GB3t0DcA.js";x0.workerSrc=tX;function nX(){if(!x0.workerSrc)throw new Error("The bundled PDF worker is not configured.");if(Uw!=="4.8.69")throw new Error(`PDF runtime version mismatch (${Uw}).`)}const sX=280,iX=new Set(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","A"]);function rX({enabled:n,pagesRoot:e,routeId:t,paperVersion:s,numPages:i,resetKey:r,onSelect:o,onError:a}){const l=K.useRef(!1),c=K.useRef(!1),h=K.useRef(""),u=K.useRef(0),d=K.useRef(0),p=K.useRef(""),m=K.useRef(o),g=K.useRef(a);m.current=o,g.current=a,K.useEffect(()=>{l.current=!1,c.current=!1,h.current="",p.current="",window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=0},[t,s,r]),K.useEffect(()=>{if(!n){l.current=!1,c.current=!1,window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=0;return}const v=()=>{var F,U;const E=cL({selection:window.getSelection(),pagesRoot:e.current,routeId:t,paperVersion:s,numPages:i});if(!E.ok){E.error&&((F=g.current)==null||F.call(g,E.error));return}const O=hL(E.selection);O!==h.current&&(h.current=O,(U=m.current)==null||U.call(m,E.selection))},y=()=>{window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=requestAnimationFrame(()=>{d.current=0,v()})},w=E=>{const O=e.current;!O||!E.isPrimary||E.pointerType==="mouse"&&E.button!==0||!(E.target instanceof Node)||!O.contains(E.target)||(l.current=!0,c.current=!1,h.current="",window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=0)},_=E=>{!l.current||!E.isPrimary||(l.current=!1,y())},A=E=>{!l.current||!E.isPrimary||(l.current=!1,c.current=!0,p.current="",window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=0)},k=E=>{var L,H;const O=e.current;if(!O||l.current||!(E.target instanceof Node&&!!((H=(L=E.target instanceof Element?E.target:E.target.parentElement)==null?void 0:L.closest)!=null&&H.call(L,".textLayer")&&O.contains(E.target))))return;const U=(E.key==="a"||E.key==="A")&&(E.metaKey||E.ctrlKey);(E.shiftKey||iX.has(E.key)||U)&&(c.current=!1,h.current="",y())},$=()=>{if(l.current||c.current)return;const E=window.getSelection(),O=E&&E.rangeCount===1?`${E.toString()}\0${E.anchorNode?1:0}\0${E.focusNode?1:0}`:"";p.current=O,window.clearTimeout(u.current),u.current=window.setTimeout(()=>{p.current===O&&v()},sX)};return document.addEventListener("pointerdown",w,!0),document.addEventListener("pointerup",_,!0),document.addEventListener("pointercancel",A,!0),document.addEventListener("keyup",k,!0),document.addEventListener("selectionchange",$),()=>{document.removeEventListener("pointerdown",w,!0),document.removeEventListener("pointerup",_,!0),document.removeEventListener("pointercancel",A,!0),document.removeEventListener("keyup",k,!0),document.removeEventListener("selectionchange",$),window.clearTimeout(u.current),cancelAnimationFrame(d.current)}},[n,i,e,s,t])}const oX=.25,aX=4,eE=[.25,.33,.5,.67,.75,.9,1,1.1,1.25,1.5,1.75,2,2.5,3,4];function Ww(n){return Math.max(oX,Math.min(aX,n))}function xm(n,e){const t=e>0?eE:[...eE].reverse();return t.find(s=>(s-n)*e>.005)??t[t.length-1]}function lX({paperTitle:n,paperHref:e,resources:t,page:s,pages:i,zoomPercent:r,searchOpen:o,searchQuery:a,searchMatch:l,searchCount:c,searching:h,onPage:u,onZoom:d,onZoomIn:p,onZoomOut:m,onToggleSearch:g,onCloseSearch:v,onSearchQuery:y,onSearch:w}){const _=K.useRef(null);K.useLayoutEffect(()=>{const $=_.current,E=document.querySelector(".app-header .brand-mark");if(!$||!E)return;const O=()=>{const U=E.getBoundingClientRect().left-$.getBoundingClientRect().left;$.style.setProperty("--reader-title-inset",`${Math.max(10,U)}px`)};O();const F=new ResizeObserver(O);return F.observe($),F.observe(E),()=>F.disconnect()},[]);const A=$=>{$.preventDefault();const E=Number(new FormData($.currentTarget).get("page"));Number.isInteger(E)&&u(E)},k=$=>{$.preventDefault();const E=$.currentTarget.elements.namedItem("zoom"),O=Number.parseFloat(E.value),F=Number.isFinite(O)&&O>0?Ww(O/100):r/100;E.value=`${Math.round(F*100)}%`,d(F)};return S.jsxs("div",{ref:_,className:"pdf-toolbar","aria-label":"PDF controls",children:[S.jsxs("div",{className:"pdf-toolbar-paper",children:[S.jsx(jv,{className:"pdf-toolbar-back",to:e,"aria-label":"Back",children:"← Back"}),S.jsx(jv,{className:"pdf-toolbar-title",to:e,title:n,"aria-label":`${n} — open paper page`,children:n}),(t==null?void 0:t.repository)&&S.jsxs("a",{className:"pdf-toolbar-resource",href:t.repository.href,target:"_blank",rel:"noopener noreferrer",title:"Official GitHub repository","aria-label":"Open official GitHub repository",children:[S.jsx(Xy,{size:15,strokeWidth:1.8,"aria-hidden":"true"}),S.jsxs("span",{"aria-label":`${t.repository.stars} GitHub stars`,children:["★ ",t.repository.stars.toLocaleString()]})]}),(t==null?void 0:t.projectPage)&&S.jsxs("a",{className:"pdf-toolbar-resource",href:t.projectPage.href,target:"_blank",rel:"noopener noreferrer",title:t.projectPage.href,"aria-label":`Open project page at ${t.projectPage.label}`,children:[S.jsx(MC,{size:14,strokeWidth:1.8,"aria-hidden":"true"}),S.jsx("span",{children:t.projectPage.label})]}),(t==null?void 0:t.huggingFace)&&S.jsxs("a",{className:"pdf-toolbar-resource",href:t.huggingFace.href,target:"_blank",rel:"noopener noreferrer","aria-label":`Open ${t.huggingFace.count} Hugging Face ${t.huggingFace.count===1?"artifact":"artifacts"}`,children:[S.jsx("span",{"aria-hidden":"true",children:"🤗"}),S.jsxs("span",{children:[t.huggingFace.count," HF ",t.huggingFace.count===1?"artifact":"artifacts"]})]})]}),S.jsxs("div",{className:"pdf-toolbar-controls",children:[S.jsxs("div",{className:"pdf-toolbar-group",children:[S.jsx("button",{type:"button",onClick:()=>u(s-1),disabled:s<=1,"aria-label":"Previous page",children:"←"}),S.jsxs("form",{onSubmit:A,className:"pdf-page-form",children:[S.jsx("label",{className:"sr-only",htmlFor:"pdf-current-page",children:"Current page"}),S.jsx("input",{id:"pdf-current-page",name:"page",type:"number",min:1,max:i||1,defaultValue:s,"aria-label":`Page ${s} of ${i||"unknown"}`},s),S.jsxs("span",{"aria-hidden":"true",children:["/ ",i||"—"]})]}),S.jsx("button",{type:"button",onClick:()=>u(s+1),disabled:!i||s>=i,"aria-label":"Next page",children:"→"})]}),S.jsxs("div",{className:"pdf-toolbar-group",children:[S.jsx("button",{type:"button",onClick:m,"aria-label":"Zoom out",children:"−"}),S.jsx("form",{onSubmit:k,className:"pdf-zoom-form",children:S.jsx("input",{className:"pdf-zoom-value",name:"zoom",inputMode:"decimal",defaultValue:`${r}%`,onFocus:$=>$.currentTarget.select(),onBlur:$=>{var E;return(E=$.currentTarget.form)==null?void 0:E.requestSubmit()},"aria-label":`Zoom ${r}%`},r)}),S.jsx("button",{type:"button",onClick:p,"aria-label":"Zoom in",children:"+"}),S.jsx("button",{type:"button",onClick:g,"aria-expanded":o,"aria-controls":"pdf-search-controls",children:"Search"})]})]}),o&&S.jsxs("div",{id:"pdf-search-controls",className:"pdf-search-controls",children:[S.jsx("label",{className:"sr-only",htmlFor:"pdf-search-input",children:"Search document"}),S.jsx("input",{id:"pdf-search-input",autoFocus:!0,value:a,onChange:$=>y($.target.value),placeholder:"Search document"}),S.jsx("span",{role:"status",children:h?"Searching…":a?`${c?l+1:0} of ${c}`:""}),S.jsx("button",{type:"button",onClick:()=>w(-1),disabled:!c,"aria-label":"Previous match",children:"↑"}),S.jsx("button",{type:"button",onClick:()=>w(1),disabled:!c,"aria-label":"Next match",children:"↓"}),S.jsx("button",{type:"button",onClick:v,"aria-label":"Close search",title:"Close search",children:S.jsx(D_,{size:16,"aria-hidden":"true"})})]})]})}function tE(n){let e;try{e=new URL(n)}catch{return null}if(!["http:","https:"].includes(e.protocol)||!/^(www\.)?arxiv\.org$/i.test(e.hostname))return null;const t=e.pathname.match(/^\/(?:abs|pdf|html)\/(\d{4}\.\d{4,5}|[a-z-]+(?:\.[A-Z]{2})?\/\d{7})(?:v\d+)?(?:\.pdf)?\/?$/i);return(t==null?void 0:t[1])??null}const cX=8,hX=300;function uX(n){const e=n.replace(/^\s*\[[^\]]{1,6}\]\s*/,"").split(/[.?!](?=\s|$|[A-Z])/).map(o=>o.replace(/\s+/g," ").trim()).filter(Boolean),t=o=>o.length<=hX&&o.split(" ").length>=3&&/[a-z]/i.test(o)&&!/https?:\/\//i.test(o)&&!/^arxiv preprint/i.test(o),s=(o,a)=>a.length-o.length,i=e.filter(t).sort(s),r=e.slice(0,-1).map((o,a)=>`${o}. ${e[a+1]}`).filter(t).sort(s);return[...new Set([...i,...r])].slice(0,cX)}function dX(n,e){let t;const s=new Map,i=new Map,r=new Map;let o;const a=()=>t??(t=(async()=>{var d;const h=await n.getDestinations(),u=[];for(const[p,m]of Object.entries(h)){if(!/^cite[.:]/i.test(p)||((d=m[1])==null?void 0:d.name)!=="XYZ"||typeof m[2]!="number"||typeof m[3]!="number")continue;const g=typeof m[0]=="number"?m[0]+1:await n.getPageIndex(m[0])+1;u.push({name:p,page:g,x:m[2],y:m[3]})}return u})()),l=h=>{let u=r.get(h);return u||(u=(async()=>{const d=await a(),p=d.find(E=>E.name===h);if(!p)return null;const m=d.filter(E=>E.page===p.page),g=m.filter(E=>Math.abs(E.x-p.x)<24),v=Math.max(0,...g.filter(E=>E.yE.y)),y=Math.min(1/0,...m.filter(E=>E.x>p.x+24).map(E=>E.x-4));let w=s.get(p.page);w||(w=n.getPage(p.page).then(E=>E.getAnnotations()),s.set(p.page,w));const _=new Set,A=(E,O)=>E>=p.x-4&&Ev;for(const E of await w){if(!E.url||!E.rect)continue;const O=tE(E.url);if(!O)continue;const[F,U,L,H]=E.rect;A((F+L)/2,(U+H)/2)&&_.add(O)}let k=i.get(p.page);k||(k=n.getPage(p.page).then(E=>E.getTextContent()),i.set(p.page,k));const $=(await k).items.filter(E=>"str"in E&&A(E.transform[4],E.transform[5])).map(E=>"str"in E?E.str+(E.hasEOL?" ":""):"").join("");for(const E of $.replace(/\s/g,"").matchAll(/(?:arxiv:|arxiv\.org\/(?:abs|pdf|html)\/)(\d{4}\.\d{4,5}|[a-z-]+(?:\.[A-Z]{2})?\/\d{7})(?:v\d+)?/gi))_.add(E[1]);return{arxivId:_.size===1?[..._][0]:null,titles:uX($)}})(),r.set(h,u)),u},c=()=>o??(o=(async()=>{const h=new Map;if(!e)return h;try{const u=await a(),d=[];for(const p of u){const m=await l(p.name);m&&(m.arxivId||m.titles.length)&&d.push({key:p.name,arxiv_id:m.arxivId,titles:m.titles})}return d.length?await e(d):h}catch{return h}})());return e&&c(),async h=>{if(h.url)return tE(h.url);if(typeof h.dest!="string"||!/^cite[.:]/i.test(h.dest))return null;const u=await l(h.dest);return u?u.arxivId??(await c()).get(h.dest)??null:null}}function fX({anchor:n,routeId:e,internal:t}){K.useEffect(()=>{const i=n.style.display;return n.style.display="none",()=>{n.style.display=i}},[n]);const s=n.parentElement;return s?nL.createPortal(S.jsx(j_,{routeId:e,to:n.href,target:t?void 0:"_blank",className:"pdf-paper-preview-link",title:/^\d+$/.test(e)?"Preview paper":`Preview arXiv:${e}`,ariaLabel:`${t?"Citation":"arXiv paper"} ${e}`,onClick:t?i=>{i.preventDefault(),n.click()}:void 0,previewFooter:()=>S.jsxs("div",{className:"pdf-paper-preview-actions",children:[S.jsx("a",{href:`/paper/${encodeURIComponent(e)}`,target:"_blank",rel:"noopener noreferrer",children:"Open paper ↗"}),t&&S.jsx("button",{type:"button",onClick:()=>n.click(),children:"Jump to reference"})]}),children:null}),s):null}function pX(n,e,t,s){const i=K.useRef([]),r=K.useRef(0),[o,a]=K.useState([]);K.useEffect(()=>()=>{r.current+=1},[]);const l=K.useCallback(h=>{i.current=h},[]),c=K.useCallback(()=>{var d;const h=++r.current;if(a([]),!t)return;const u=new Map(Array.from(((d=n.current)==null?void 0:d.querySelectorAll("[data-annotation-id] a:not(.pdf-paper-preview-link)"))??[]).map(p=>{var m;return[(m=p.parentElement)==null?void 0:m.dataset.annotationId,p]}));Promise.all(i.current.map(async p=>{const m=u.get(p.id);if(!m)return null;const g=await t(p).catch(()=>null);return g?{anchor:m,routeId:g,internal:!p.url}:null})).then(p=>{if(r.current!==h)return;const m=p.filter(g=>g!==null&&g.anchor.isConnected);m.length&&(s==null||s([...new Set(m.map(g=>g.routeId))])),a(m)})},[s,n,t]);return K.useEffect(()=>{const h=n.current;if(!h||!e||!t)return;let u=requestAnimationFrame(c);const d=new MutationObserver(p=>{p.some(m=>[...m.addedNodes].some(g=>g instanceof Element&&g.matches(".linkAnnotation")))&&(cancelAnimationFrame(u),u=requestAnimationFrame(c))});return d.observe(h,{childList:!0,subtree:!0}),()=>{d.disconnect(),cancelAnimationFrame(u),r.current+=1}},[c,n,t,e]),{paperLinks:o,onAnnotations:l}}function mX({entries:n,activeIndex:e,onSelect:t}){const s=K.useId(),[i,r]=K.useState(!1);return K.useEffect(()=>{if(!i)return;const o=a=>{a.key==="Escape"&&(a.preventDefault(),r(!1))};return window.addEventListener("keydown",o,{capture:!0}),()=>window.removeEventListener("keydown",o,{capture:!0})},[i]),n.length?S.jsxs("nav",{className:`pdf-outline${i?" is-pinned":""}`,"aria-label":"Paper sections",children:[S.jsx("button",{type:"button",className:"pdf-outline-rail","aria-label":"Table of contents","aria-expanded":i,"aria-controls":s,onClick:()=>r(o=>!o),children:n.map(o=>S.jsx("span",{className:`pdf-outline-tick level-${o.level}${o.index===e?" is-active":""}`},o.index))}),S.jsx("div",{id:s,className:"pdf-outline-panel",children:S.jsx("ol",{children:n.map(o=>S.jsx("li",{className:`level-${o.level}`,children:S.jsx("a",{href:`#pdf-section-${o.index}`,"aria-current":o.index===e?"location":void 0,onClick:a=>{a.preventDefault(),a.currentTarget.blur(),r(!1),t(o)},children:o.title})},o.index))})})]}):null}const gX=/^#pdf-section-(\d+)$/,yX=2;function vX(n){const e=gX.exec(n);return e?Number(e[1]):void 0}function bX(n,e){let t=-1;return n.forEach((s,i)=>{s<=e&&(t=i)}),t}async function wX(n,e){return typeof e=="string"?n.getDestination(e):Array.isArray(e)?e:null}async function _X(n,e){const[t,s,,i]=e;let r;if(typeof t=="number")r=t;else if(t&&typeof t=="object"&&"num"in t)r=await n.getPageIndex(t);else return null;if(!Number.isInteger(r)||r<0||r>=n.numPages)return null;const o=r+1;if((s==null?void 0:s.name)!=="XYZ"||typeof i!="number")return{page:o,offset:0};const a=(await n.getPage(o)).view,[,l,,c]=a,h=c-l;return h>0?{page:o,offset:Math.min(1,Math.max(0,(c-i)/h))}:{page:o,offset:0}}async function SX(n){const e=await n.getOutline(),t=[],s=async(i,r)=>{var o;for(const a of i){const l=a.title.replace(/\s+/g," ").trim(),c=await wX(n,a.dest).catch(()=>null),h=c?await _X(n,c).catch(()=>null):null;l&&h&&t.push({index:t.length,title:l,level:r,...h}),r+1"']/g,e=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[e]??e)}function $X(n,e,t){const s=e.trim().toLocaleLowerCase();if(!s)return Qu(n);const i=n.toLocaleLowerCase(),r=`pdf-search-highlight${t?" is-active":""}`;let o=0,a=i.indexOf(s);if(a<0)return Qu(n);let l="";for(;a>=0;)l+=Qu(n.slice(o,a)),l+=`${Qu(n.slice(a,a+s.length))}`,o=a+s.length,a=i.indexOf(s,o);return l+Qu(n.slice(o))}function TX({page:n,width:e,aspect:t,searchQuery:s,activeSearchPage:i,resolveCitation:r,warmPreviews:o}){const a=K.useRef(null),[l,c]=K.useState(n<=2),{paperLinks:h,onAnnotations:u}=pX(a,l,r,o),[d,p]=K.useState(e);!l&&d!==e&&p(e);const m=d===e?[e]:[d,e];return K.useEffect(()=>{const g=a.current;if(!g)return;const v=new IntersectionObserver(([y])=>c(y.isIntersecting),{rootMargin:"120% 0px"});return v.observe(g),()=>v.disconnect()},[]),S.jsxs("div",{ref:a,className:"pdf-page","data-page":n,style:{minHeight:Math.round(e*t)},children:[l&&m.map(g=>{const v=g===d,y=v?void 0:()=>p(g);return S.jsx("div",{className:v?"pdf-page-layer":"pdf-page-layer is-pending",style:v&&g!==e?{"--pdf-layer-scale":e/g}:void 0,"aria-hidden":v?void 0:!0,children:S.jsx(eX,{pageNumber:n,width:g,devicePixelRatio:EX(g,t),renderTextLayer:v,renderAnnotationLayer:v,onGetAnnotationsSuccess:u,onRenderSuccess:y,onRenderError:y,loading:null,customTextRenderer:s?({str:w})=>$X(w,s,n===i):void 0})},g)}),l&&h.map(g=>{var v;return S.jsx(fX,{...g},(v=g.anchor.parentElement)==null?void 0:v.dataset.annotationId)})]})}function PX({downloadUrl:n,page:e,pages:t,zoomPercent:s,onPage:i,onZoomIn:r,onZoomOut:o,onFitWidth:a}){const l=c=>{c.preventDefault();const h=Number(new FormData(c.currentTarget).get("page"));Number.isInteger(h)&&i(h)};return S.jsxs("div",{className:"paper-pdf-toolbar","aria-label":"Paper preview controls",children:[S.jsxs("div",{className:"paper-pdf-toolbar-group",children:[S.jsx("button",{type:"button",onClick:()=>i(e-1),disabled:e<=1,"aria-label":"Previous page",children:"Previous"}),S.jsxs("form",{onSubmit:l,children:[S.jsx("label",{className:"sr-only",htmlFor:"paper-pdf-current-page",children:"Current page"}),S.jsx("input",{id:"paper-pdf-current-page",name:"page",type:"number",min:1,max:t||1,defaultValue:e,"aria-label":`Page ${e} of ${t||"unknown"}`},e)]}),S.jsxs("span",{role:"status","aria-live":"polite",children:["Page ",e," of ",t||"—"]}),S.jsx("button",{type:"button",onClick:()=>i(e+1),disabled:!t||e>=t,"aria-label":"Next page",children:"Next"})]}),S.jsxs("div",{className:"paper-pdf-toolbar-group",children:[S.jsx("button",{type:"button",onClick:o,"aria-label":"Zoom out",children:"−"}),S.jsxs("output",{"aria-live":"polite",children:[s,"%"]}),S.jsx("button",{type:"button",onClick:r,"aria-label":"Zoom in",children:"+"}),S.jsx("button",{type:"button",onClick:a,children:"Fit to width"}),S.jsx("a",{href:n,download:!0,children:"Download PDF"})]})]})}function RX({url:n,downloadUrl:e=n,paperKey:t,paperTitle:s,paperHref:i,resources:r,initialPage:o=1,resizeActive:a=!1,selectionEnabled:l=!1,paperVersion:c="",onPaperSelection:h,onPaperSelectionError:u,onPageChange:d,onClose:p,loadErrorMessage:m,chrome:g="reader"}){const v=K.useRef(null),y=K.useRef(null),w=K.useRef(null),_=K.useRef(null),[A,k]=K.useState(),$=CC(),E=K.useMemo(()=>vL($),[$]),O=K.useRef(()=>{}),F=K.useRef(0),U=K.useRef(!1),L=K.useRef(),H=K.useRef(0),B=K.useRef(),D=K.useRef(0),Y=K.useRef(0),X=K.useRef(1),Q=K.useRef(1),se=K.useRef(1),ve=K.useRef(!1),[z,P]=K.useState(0),[N,M]=K.useState(0),[b,x]=K.useState(nE),[I,W]=K.useState([]),[Z,ae]=K.useState(-1),[ne,Ae]=K.useState(),At=K.useRef(()=>{}),[Ie,Ge]=K.useState(o),[lt,tt]=K.useState(),[Jt,Pn]=K.useState(700),[Rn,us]=K.useState(1),[Mn,ds]=K.useState(""),[Yn,Jn]=K.useState(!1),[In,Qt]=K.useState(""),[an,ln]=K.useState(!1),[en,fs]=K.useState([]),[Ic,Ha]=K.useState(0),q=Math.max(120,Math.round(Jt*Rn)),me=K.useMemo(()=>g==="canvas"?{withCredentials:!0}:{disableStream:!0,disableAutoFetch:!0},[g]);rX({enabled:l&&!!c,pagesRoot:w,routeId:t,paperVersion:c,numPages:N||void 0,resetKey:`${t}-${z}`,onSelect:h,onError:u}),K.useEffect(()=>{nX()},[]),K.useEffect(()=>{var oe;cancelAnimationFrame(D.current),window.clearTimeout(Y.current),D.current=0,Y.current=0,H.current=0,M(0),x(nE),W([]),ae(-1),Ae(void 0),k(void 0),Ge(o),tt(void 0),us(1),X.current=1,Q.current=1,se.current=1,ve.current=!1,(oe=w.current)==null||oe.style.setProperty("--pdf-live-scale","1"),ds(""),Qt(""),fs([])},[o,t,z]),K.useEffect(()=>{const oe=y.current;if(!oe)return;const Ce=()=>{var tn;const cn=Math.max(240,oe.clientWidth-10);a&&(ve.current=!0);const xt=a||ve.current;se.current=xt?cn/Jt:1,(tn=w.current)==null||tn.style.setProperty("--pdf-live-scale",String(se.current)),xt||Pn(cn)};Ce();const nt=new ResizeObserver(Ce);return nt.observe(oe),()=>nt.disconnect()},[Jt,a]),K.useLayoutEffect(()=>{var Ce;X.current=Rn,(Ce=w.current)==null||Ce.style.setProperty("--pdf-live-scale",String(ve.current?se.current:1));const oe=y.current;oe&&L.current&&sE(oe,L.current),L.current=void 0,U.current&&(oe&&(oe.scrollLeft=Math.max(0,(oe.scrollWidth-oe.clientWidth)/2)),U.current=!1)},[q,a,Rn]);const Ee=K.useCallback(oe=>{window.clearTimeout(Y.current);const Ce=Ww(oe(Q.current));Q.current=Ce,U.current=Ce!==X.current,U.current&&y.current&&(L.current=mv(y.current)),us(Ce)},[]);K.useEffect(()=>{const oe=y.current;if(!oe)return;const Ce=nt=>{nt.ctrlKey&&(nt.preventDefault(),H.current+=nt.deltaY,B.current=nt.clientY,!D.current&&(D.current=requestAnimationFrame(()=>{var On;const cn=H.current;H.current=0,D.current=0;const xt=Ww(Q.current*Math.exp(-cn*.002));Q.current=xt;const tn=mv(oe,B.current);(On=w.current)==null||On.style.setProperty("--pdf-live-scale",String(se.current*xt/X.current)),tn&&sE(oe,tn),window.clearTimeout(Y.current),Y.current=window.setTimeout(()=>{U.current=xt!==X.current,U.current&&(L.current=mv(oe,B.current)),us(Q.current)},180)})))};return oe.addEventListener("wheel",Ce,{passive:!1}),()=>{oe.removeEventListener("wheel",Ce),cancelAnimationFrame(D.current),window.clearTimeout(Y.current),D.current=0,Y.current=0,H.current=0}},[]);const it=K.useCallback(oe=>{const Ce=Math.max(1,Math.min(N||1,oe));Ge(Ce),d==null||d(Ce)},[d,N]),Rt=K.useCallback(()=>{F.current+=1,Jn(!1),Qt(""),fs([]),Ha(0),ln(!1)},[]);K.useEffect(()=>{const oe=y.current;if(!oe||!N)return;let Ce=0,nt=0;const cn=(On=!1)=>{window.clearTimeout(nt),cancelAnimationFrame(Ce),Ce=requestAnimationFrame(()=>{const xi=oe.getBoundingClientRect().top,Mo=xi+oe.clientHeight/2;let zr=Ie,Ba=Number.POSITIVE_INFINITY;const qu=new Map;oe.querySelectorAll("[data-page]").forEach(Oc=>{const Hr=Oc.getBoundingClientRect();qu.set(Number(Oc.dataset.page),Hr);const Jk=Mo>=Hr.top&&Mo<=Hr.bottom?0:Math.min(Math.abs(Mo-Hr.top),Math.abs(Mo-Hr.bottom));Jk{const Hr=qu.get(Oc.page);return Hr?Hr.top+Hr.height*Oc.offset:Number.POSITIVE_INFINITY});ae(bX(JN,xi+AX))})},xt=()=>{cancelAnimationFrame(Ce),window.clearTimeout(nt),nt=window.setTimeout(()=>cn(!0),150)},tn=()=>cn(!0);return oe.addEventListener("scroll",xt,{passive:!0}),oe.addEventListener("scrollend",tn),cn(),()=>{oe.removeEventListener("scroll",xt),oe.removeEventListener("scrollend",tn),window.clearTimeout(nt),cancelAnimationFrame(Ce)}},[I,Ie,q,N,it]),K.useEffect(()=>{const oe=Ce=>{Ce.defaultPrevented||((Ce.ctrlKey||Ce.metaKey)&&Ce.key.toLowerCase()==="f"?(Ce.preventDefault(),Jn(!0)):Ce.key==="Escape"&&Yn?(Ce.preventDefault(),Rt()):Ce.key==="Escape"&&!Ce.repeat&&p&&(Ce.preventDefault(),p()))};return window.addEventListener("keydown",oe),()=>window.removeEventListener("keydown",oe)},[Rt,p,Yn]),K.useEffect(()=>{const oe=_.current,Ce=In.trim().toLocaleLowerCase(),nt=++F.current;if(!oe||!Ce){fs([]),Ha(0),ln(!1);return}ln(!0);const cn=window.setTimeout(()=>void(async()=>{const xt=[];for(let tn=1;tn<=oe.numPages;tn+=1){if(F.current!==nt)return;const Mo=(await(await oe.getPage(tn)).getTextContent()).items.map(Ba=>"str"in Ba?Ba.str:"").join(" ").toLocaleLowerCase();let zr=0;for(;(zr=Mo.indexOf(Ce,zr))>=0;)xt.push(tn),zr+=Math.max(1,Ce.length)}F.current===nt&&(fs(xt),Ha(0),ln(!1),xt[0]&&Ai(xt[0]))})().catch(()=>{F.current===nt&&ln(!1)}),180);return()=>window.clearTimeout(cn)},[In,N]);const Ai=oe=>{var cn,xt;const Ce=Math.max(1,Math.min(N||1,oe)),nt=window.matchMedia("(prefers-reduced-motion: reduce)").matches?"instant":"smooth";tt(nt==="smooth"?Ce:void 0),(xt=(cn=y.current)==null?void 0:cn.querySelector(`[data-page="${Ce}"]`))==null||xt.scrollIntoView({block:"start",behavior:nt}),nt==="instant"&&it(Ce)},tr=(oe,Ce)=>{const nt=y.current,cn=nt==null?void 0:nt.querySelector(`[data-page="${oe.page}"]`);if(!nt||!cn)return;const xt=Ce??(window.matchMedia("(prefers-reduced-motion: reduce)").matches?"instant":"smooth"),tn=cn.getBoundingClientRect(),On=tn.top-nt.getBoundingClientRect().top+nt.scrollTop+tn.height*oe.offset;tt(xt==="smooth"?oe.page:void 0),Ae(xt==="smooth"?oe.index:void 0),nt.scrollTo({top:Math.max(0,On-kX),behavior:xt}),xt==="instant"&&it(oe.page),g==="reader"&&window.history.replaceState(window.history.state,"",`#pdf-section-${oe.index}`)};K.useLayoutEffect(()=>{O.current=Ai,At.current=tr});const XN=oe=>{if(!en.length)return;const Ce=(Ic+oe+en.length)%en.length;Ha(Ce),Ai(en[Ce])},YN=K.useMemo(()=>Array.from({length:N},(oe,Ce)=>Ce+1),[N]);return S.jsxs("div",{ref:v,className:"pdf-viewer",children:[g==="canvas"?S.jsx(PX,{downloadUrl:e,page:lt??Ie,pages:N,zoomPercent:Math.round(Rn*100),onPage:Ai,onZoomIn:()=>Ee(oe=>xm(oe,1)),onZoomOut:()=>Ee(oe=>xm(oe,-1)),onFitWidth:()=>Ee(()=>1)}):S.jsx(lX,{paperTitle:s,paperHref:i,resources:r,page:lt??Ie,pages:N,zoomPercent:Math.round(Rn*100),searchOpen:Yn,searchQuery:In,searchMatch:Ic,searchCount:en.length,searching:an,onPage:Ai,onZoom:oe=>Ee(()=>oe),onZoomIn:()=>Ee(oe=>xm(oe,1)),onZoomOut:()=>Ee(oe=>xm(oe,-1)),onToggleSearch:()=>Yn?Rt():Jn(!0),onCloseSearch:Rt,onSearchQuery:Qt,onSearch:XN}),S.jsxs("div",{className:"pdf-scroll-frame",children:[S.jsx("div",{ref:y,className:"pdf-scroll",role:"region","aria-label":g==="canvas"?`${s} PDF preview`:"Paper PDF",children:Mn?S.jsxs("div",{className:"pdf-error",role:"alert",children:[S.jsx("p",{children:Mn}),S.jsxs("div",{children:[S.jsx("button",{type:"button",onClick:()=>P(oe=>oe+1),children:"Retry"})," ",S.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",children:"Open PDF"})]})]}):S.jsx(UZ,{file:n,options:me,loading:S.jsx("div",{className:"pdf-loading",role:"status",children:g==="canvas"?"Loading paper preview…":"Loading paper…"}),onLoadSuccess:oe=>{_.current=oe,g==="reader"&&k(()=>dX(oe,E.lookup)),M(oe.numPages),ds("");const Ce=oe.getPage(1).then(On=>{const[xi,Mo,zr,Ba]=On.view,qu=(Ba-Mo)/(zr-xi);_.current===oe&&qu>0&&x(qu)},()=>{}),nt=Math.max(1,Math.min(oe.numPages,o)),cn=()=>{var On,xi;nt<=1||((xi=(On=y.current)==null?void 0:On.querySelector(`[data-page="${nt}"]`))==null||xi.scrollIntoView({block:"start"}),Ge(nt),d==null||d(nt))},xt=On=>void Ce.then(()=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{_.current===oe&&On()}))}),tn=g==="reader"?vX(window.location.hash):void 0;tn===void 0&&xt(cn),SX(oe).catch(()=>[]).then(On=>{if(_.current!==oe||(W(On),tn===void 0))return;const xi=On[tn];xt(()=>xi?At.current(xi,"instant"):cn())})},onLoadError:oe=>ds(m||CX(oe)),externalLinkTarget:"_blank",onItemClick:({pageNumber:oe})=>O.current(oe),children:S.jsx("div",{ref:w,className:"pdf-pages",style:{"--pdf-live-scale":se.current},children:YN.map(oe=>S.jsx(TX,{page:oe,width:q,aspect:b,searchQuery:In.trim(),activeSearchPage:en[Ic],resolveCitation:A,warmPreviews:E.warm},oe))})},`${t}-${z}`)}),S.jsx(mX,{entries:I,activeIndex:ne??Z,onSelect:tr})]})]})}let Gw=[],hI=[];(()=>{let n="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,1n,9,16,o,,x,1i,3,,i,,7,a,2,t,3,1k,,,7,2,2,2,3,9,,a,2,q,,2,3,1k,,,5,4,2,2,3,3,,u,2,3,,b,3,1k,,,8,,3,,3,k,2,m,6,,3,1k,,,7,2,2,2,3,7,3,a,2,u,,1n,5,3,3,,4,9,,14,5,1j,,,7,,3,,4,7,2,b,2,t,3,1k,,,7,,3,,4,7,2,b,2,f,,c,4,1j,2,,7,,3,,4,9,,a,2,t,3,1y,,4,6,,,,8,i,2,1p,,,8,c,8,2q,,,a,b,7,21,2,r,,,,,,4,2,1d,k,,2,5,b,,10,9,,2u,b,,6,n,4,4,3,g,4,d,,,3,6,,f,,jj,3,qa,4,s,3,t,2,u,2,1s,w,9,,19,3,,,39,2,y,,3a,c,4,c,63,5,1l,a,,,,,2,o,2,,1c,1a,2,c,k,5,1b,h,12,9,c,3,u,d,1k,e,1c,k,48,3,,l,4,,6,,2,3,5i,1s,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,n,5,4,,2b,2,1e,i,q,i,d,,12,8,p,d,18,4,1b,e,10,,1v,e,c,,8,2,1a,,1f,,,3,2,2,5,2,,,15,5,5,2,6k,8,,2,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,1t,5,8t,2,25,6,1y,b,1d,4,3e,3,1h,f,15,,2,2,a,4,19,b,7,,1p,3,10,e,g,2,18,,c,3,1c,e,8,4,,2,2k,c,6,,2,,4d,c,l,4,1j,2,,7,2,2,2,3,9,,a,2,2,7,3,5,1v,9,,,2,,,4,,5,,,e,2,2a,i,n,,29,k,6j,7,2,9,r,2,2a,h,2y,d,2t,3,2,a,74,f,6t,6,,2,2,4,,,,2,3x,7,2,7,3,,s,a,14,7,,4,8,,9,b,1a,g,5i,8,5j,8,,8,2a,m,,e,3e,6,3,,,2,,7,,,1u,5,,2,,5,9n,4,9,2,,,1c,7,3,5,n,,44l,,6,f,8ug,i,1xc,5,1n,7,t4,,,1j,7,4,29,,b,2,f57,2,3mp,1a,2,n,f2,5,3,6,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,2s,,4g,7,af,,1p,4,e4,4,72,2,6r,,2,,7,2,5,,d6,7,31,7,240,5".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(n=hI[s])e=s+1;else return!0;if(e==t)return!1}}function iE(n){return n>=127462&&n<=127487}const rE=8205;function IX(n,e,t=!0,s=!0){return(t?uI:OX)(n,e,s)}function uI(n,e,t){if(e==n.length)return e;e&&dI(n.charCodeAt(e))&&fI(n.charCodeAt(e-1))&&e--;let s=gv(n,e);for(e+=oE(s);e=0&&iE(gv(n,o));)r++,o-=2;if(r%2==0)break;e+=2}else break}return e}function OX(n,e,t){for(;e>1;){let s=uI(n,e-2,t);if(s=56320&&n<57344}function fI(n){return n>=55296&&n<56320}function oE(n){return n<65536?1:2}let at=class pI{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,s){[e,t]=Au(this,e,t);let i=[];return this.decompose(0,e,i,2),s.length&&s.decompose(0,s.length,i,3),this.decompose(t,this.length,i,1),Cr.from(i,this.length-(t-e)+s.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Au(this,e,t);let s=[];return this.decompose(e,t,s,0),Cr.from(s,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),s=this.length-this.scanIdentical(e,-1),i=new Hd(this),r=new Hd(e);for(let o=t,a=t;;){if(i.next(o),r.next(o),o=0,i.lineBreak!=r.lineBreak||i.done!=r.done||i.value!=r.value)return!1;if(a+=i.value.length,i.done||a>=s)return!0}}iter(e=1){return new Hd(this,e)}iterRange(e,t=this.length){return new mI(this,e,t)}iterLines(e,t){let s;if(e==null)s=this.iter();else{t==null&&(t=this.lines+1);let i=this.line(e).from;s=this.iterRange(i,Math.max(i,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new gI(s)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?pI.empty:e.length<=32?new Kt(e):Cr.from(Kt.split(e,[]))}};class Kt extends at{constructor(e,t=NX(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,s,i){for(let r=0;;r++){let o=this.text[r],a=i+o.length;if((t?s:a)>=e)return new LX(i,a,s,o);i=a+1,s++}}decompose(e,t,s,i){let r=e<=0&&t>=this.length?this:new Kt(aE(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(i&1){let o=s.pop(),a=Ig(r.text,o.text.slice(),0,r.length);if(a.length<=32)s.push(new Kt(a,o.length+r.length));else{let l=a.length>>1;s.push(new Kt(a.slice(0,l)),new Kt(a.slice(l)))}}else s.push(r)}replace(e,t,s){if(!(s instanceof Kt))return super.replace(e,t,s);[e,t]=Au(this,e,t);let i=Ig(this.text,Ig(s.text,aE(this.text,0,e)),t),r=this.length+s.length-(t-e);return i.length<=32?new Kt(i,r):Cr.from(Kt.split(i,[]),r)}sliceString(e,t=this.length,s=` +`){[e,t]=Au(this,e,t);let i="";for(let r=0,o=0;r<=t&&oe&&o&&(i+=s),er&&(i+=a.slice(Math.max(0,e-r),t-r)),r=l+1}return i}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let s=[],i=-1;for(let r of e)s.push(r),i+=r.length+1,s.length==32&&(t.push(new Kt(s,i)),s=[],i=-1);return i>-1&&t.push(new Kt(s,i)),t}}class Cr extends at{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let s of e)this.lines+=s.lines}lineInner(e,t,s,i){for(let r=0;;r++){let o=this.children[r],a=i+o.length,l=s+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,s,i);i=a+1,s=l+1}}decompose(e,t,s,i){for(let r=0,o=0;o<=t&&r=o){let c=i&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?s.push(a):a.decompose(e-o,t-o,s,c)}o=l+1}}replace(e,t,s){if([e,t]=Au(this,e,t),s.lines=r&&t<=a){let l=o.replace(e-r,t-r,s),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let h=this.children.slice();return h[i]=l,new Cr(h,this.length-(t-e)+s.length)}return super.replace(r,a,l)}r=a+1}return super.replace(e,t,s)}sliceString(e,t=this.length,s=` +`){[e,t]=Au(this,e,t);let i="";for(let r=0,o=0;re&&r&&(i+=s),eo&&(i+=a.sliceString(e-o,t-o,s)),o=l+1}return i}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof Cr))return 0;let s=0,[i,r,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;i+=t,r+=t){if(i==o||r==a)return s;let l=this.children[i],c=e.children[r];if(l!=c)return s+l.scanIdentical(c,t);s+=l.length+1}}static from(e,t=e.reduce((s,i)=>s+i.length+1,-1)){let s=0;for(let p of e)s+=p.lines;if(s<32){let p=[];for(let m of e)m.flatten(p);return new Kt(p,t)}let i=Math.max(32,s>>5),r=i<<1,o=i>>1,a=[],l=0,c=-1,h=[];function u(p){let m;if(p.lines>r&&p instanceof Cr)for(let g of p.children)u(g);else p.lines>o&&(l>o||!l)?(d(),a.push(p)):p instanceof Kt&&l&&(m=h[h.length-1])instanceof Kt&&p.lines+m.lines<=32?(l+=p.lines,c+=p.length+1,h[h.length-1]=new Kt(m.text.concat(p.text),m.length+1+p.length)):(l+p.lines>i&&d(),l+=p.lines,c+=p.length+1,h.push(p))}function d(){l!=0&&(a.push(h.length==1?h[0]:Cr.from(h,c)),c=-1,l=h.length=0)}for(let p of e)u(p);return d(),a.length==1?a[0]:new Cr(a,t)}}at.empty=new Kt([""],0);function NX(n){let e=-1;for(let t of n)e+=t.length+1;return e}function Ig(n,e,t=0,s=1e9){for(let i=0,r=0,o=!0;r=t&&(l>s&&(a=a.slice(0,s-i)),i0?1:(e instanceof Kt?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let s=this.nodes.length-1,i=this.nodes[s],r=this.offsets[s],o=r>>1,a=i instanceof Kt?i.text.length:i.children.length;if(o==(t>0?a:0)){if(s==0)return this.done=!0,this.value="",this;t>0&&this.offsets[s-1]++,this.nodes.pop(),this.offsets.pop()}else if((r&1)==(t>0?0:1)){if(this.offsets[s]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(i instanceof Kt){let l=i.text[o+(t<0?-1:0)];if(this.offsets[s]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=i.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[s]+=t):(t<0&&this.offsets[s]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Kt?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class mI{constructor(e,t,s){this.value="",this.done=!1,this.cursor=new Hd(e,t>s?-1:1),this.pos=t>s?e.length:0,this.from=Math.min(t,s),this.to=Math.max(t,s)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let s=t<0?this.pos-this.from:this.to-this.pos;e>s&&(e=s),s-=e;let{value:i}=this.cursor.next(e);return this.pos+=(i.length+e)*t,this.value=i.length<=s?i:t<0?i.slice(i.length-s):i.slice(0,s),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class gI{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:s,value:i}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):s?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(at.prototype[Symbol.iterator]=function(){return this.iter()},Hd.prototype[Symbol.iterator]=mI.prototype[Symbol.iterator]=gI.prototype[Symbol.iterator]=function(){return this});class LX{constructor(e,t,s,i){this.from=e,this.to=t,this.number=s,this.text=i}get length(){return this.to-this.from}}function Au(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function $n(n,e,t=!0,s=!0){return IX(n,e,t,s)}function DX(n){return n>=56320&&n<57344}function FX(n){return n>=55296&&n<56320}function yI(n,e){let t=n.charCodeAt(e);if(!FX(t)||e+1==n.length)return t;let s=n.charCodeAt(e+1);return DX(s)?(t-55296<<10)+(s-56320)+65536:t}function jX(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function vI(n){return n<65536?1:2}const Kw=/\r\n?|\n/;var ei=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(ei||(ei={}));class Lr{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return r+(e-i);r+=a}else{if(s!=ei.Simple&&c>=e&&(s==ei.TrackDel&&ie||s==ei.TrackBefore&&ie))return null;if(c>e||c==e&&t<0&&!a)return e==i||t<0?r:r+l;r+=l}i=c}if(e>i)throw new RangeError(`Position ${e} is out of range for changeset of length ${i}`);return r}touchesRange(e,t=e){for(let s=0,i=0;s=0&&i<=t&&a>=e)return it?"cover":!0;i=a}return!1}toString(){let e="";for(let t=0;t=0?":"+i:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Lr(e)}static create(e){return new Lr(e)}}class gn extends Lr{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Zw(this,(t,s,i,r,o)=>e=e.replace(i,i+(s-t),o),!1),e}mapDesc(e,t=!1){return Xw(this,e,t,!0)}invert(e){let t=this.sections.slice(),s=[];for(let i=0,r=0;i=0){t[i]=a,t[i+1]=o;let l=i>>1;for(;s.length0&&Sa(s,t,r.text),r.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,s){let i=[],r=[],o=0,a=null;function l(h=!1){if(!h&&!i.length)return;od||u<0||d>t)throw new RangeError(`Invalid change range ${u} to ${d} (in doc of length ${t})`);let m=p?typeof p=="string"?at.of(p.split(s||Kw)):p:at.empty,g=m.length;if(u==d&&g==0)return;uo&&as(i,u-o,-1),as(i,d-u,g),Sa(r,i,m),o=d}}return c(e),l(!a),a}static empty(e){return new gn(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],s=[];for(let i=0;ia&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(r.length==1)t.push(r[0],0);else{for(;s.length=0&&t<=0&&t==n[i+1]?n[i]+=e:i>=0&&e==0&&n[i]==0?n[i+1]+=t:s?(n[i]+=e,n[i+1]+=t):n.push(e,t)}function Sa(n,e,t){if(t.length==0)return;let s=e.length-2>>1;if(s>1])),!(t||o==n.sections.length||n.sections[o+1]<0);)a=n.sections[o++],l=n.sections[o++];e(i,c,r,h,u),i=c,r=h}}}function Xw(n,e,t,s=!1){let i=[],r=s?[]:null,o=new tf(n),a=new tf(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);as(i,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let u=Math.min(h,a.len);c+=u,h-=u,a.forward(u)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||s.length>c),r.forward2(l),o.forward(l)}}}}class tf{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?at.empty:e[t]}textBit(e){let{inserted:t}=this.set,s=this.i-2>>1;return s>=t.length&&!e?at.empty:t[s].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Uo{constructor(e,t,s,i){this.from=e,this.to=t,this.flags=s,this.goalColumn=i}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let s,i;return this.empty?s=i=e.mapPos(this.from,t):(s=e.mapPos(this.from,1),i=e.mapPos(this.to,-1)),s==this.from&&i==this.to?this:new Uo(s,i,this.flags,this.goalColumn)}extend(e,t=e,s=0){if(e<=this.anchor&&t>=this.anchor)return te.range(e,t,void 0,void 0,s);let i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return te.range(this.anchor,i,void 0,void 0,s)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return te.range(e.anchor,e.head)}static create(e,t,s,i){return new Uo(e,t,s,i)}}class te{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:te.create(this.ranges.map(s=>s.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let s=0;se.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new te(e.ranges.map(t=>Uo.fromJSON(t)),e.main)}static single(e,t=e){return new te([te.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let s=0,i=0;ii.from-r.from),t=e.indexOf(s);for(let i=1;ir.head?te.range(l,a):te.range(a,l))}}return new te(e,t)}}function wI(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let bk=0;class ye{constructor(e,t,s,i,r){this.combine=e,this.compareInput=t,this.compare=s,this.isStatic=i,this.id=bk++,this.default=e([]),this.extensions=typeof r=="function"?r(this):r}get reader(){return this}static define(e={}){return new ye(e.combine||(t=>t),e.compareInput||((t,s)=>t===s),e.compare||(e.combine?(t,s)=>t===s:wk),!!e.static,e.enables)}of(e){return new Og([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Og(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Og(e,this,2,t)}from(e,t){return t||(t=s=>s),this.compute([e],s=>t(s.field(e)))}}function wk(n,e){return n==e||n.length==e.length&&n.every((t,s)=>t===e[s])}class Og{constructor(e,t,s,i){this.dependencies=e,this.facet=t,this.type=s,this.value=i,this.id=bk++}dynamicSlot(e){var t;let s=this.value,i=this.facet.compareInput,r=this.id,o=e[r]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let u of this.dependencies)u=="doc"?l=!0:u=="selection"?c=!0:((t=e[u.id])!==null&&t!==void 0?t:1)&1||h.push(e[u.id]);return{create(u){return u.values[o]=s(u),1},update(u,d){if(l&&d.docChanged||c&&(d.docChanged||d.selection)||Yw(u,h)){let p=s(u);if(a?!lE(p,u.values[o],i):!i(p,u.values[o]))return u.values[o]=p,1}return 0},reconfigure:(u,d)=>{let p,m=d.config.address[r];if(m!=null){let g=dy(d,m);if(this.dependencies.every(v=>v instanceof ye?d.facet(v)===u.facet(v):v instanceof jr?d.field(v,!1)==u.field(v,!1):!0)||(a?lE(p=s(u),g,i):i(p=s(u),g)))return u.values[o]=g,0}else p=s(u);return u.values[o]=p,1}}}get extension(){return this}}function lE(n,e,t){if(n.length!=e.length)return!1;for(let s=0;sn[l.id]),i=t.map(l=>l.type),r=s.filter(l=>!(l&1)),o=n[e.id]>>1;function a(l){let c=[];for(let h=0;hs===i),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Em).find(s=>s.field==this);return((t==null?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:s=>(s.values[t]=this.create(s),1),update:(s,i)=>{let r=s.values[t],o=this.updateF(r,i);return this.compareF(r,o)?0:(s.values[t]=o,1)},reconfigure:(s,i)=>{let r=s.facet(Em),o=i.facet(Em),a;return(a=r.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(s.values[t]=a.create(s),1):i.config.address[this.id]!=null?(s.values[t]=i.field(this),0):(s.values[t]=this.create(s),1)}}}init(e){return[this,Em.of({field:this,create:e})]}get extension(){return this}}const ll={lowest:4,low:3,default:2,high:1,highest:0};function ed(n){return e=>new _I(e,n)}const T0={highest:ed(ll.highest),high:ed(ll.high),default:ed(ll.default),low:ed(ll.low),lowest:ed(ll.lowest)};class _I{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}}class Xp{of(e){return new Jw(this,e)}reconfigure(e){return Xp.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class Jw{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}}class uy{constructor(e,t,s,i,r,o){for(this.base=e,this.compartments=t,this.dynamicSlots=s,this.address=i,this.staticValues=r,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,s){let i=[],r=Object.create(null),o=new Map;for(let d of HX(e,t,o))d instanceof jr?i.push(d):(r[d.facet.id]||(r[d.facet.id]=[])).push(d);let a=Object.create(null),l=[],c=[];for(let d of i)a[d.id]=c.length<<1,c.push(p=>d.slot(p));let h=s==null?void 0:s.config.facets;for(let d in r){let p=r[d],m=p[0].facet,g=h&&h[d]||[];if(p.every(v=>v.type==0))if(a[m.id]=l.length<<1|1,wk(g,p))l.push(s.facet(m));else{let v=m.combine(p.map(y=>y.value));l.push(s&&m.compare(v,s.facet(m))?s.facet(m):v)}else{for(let v of p)v.type==0?(a[v.id]=l.length<<1|1,l.push(v.value)):(a[v.id]=c.length<<1,c.push(y=>v.dynamicSlot(y)));a[m.id]=c.length<<1,c.push(v=>zX(v,m,p))}}let u=c.map(d=>d(a));return new uy(e,o,u,a,l,r)}}function HX(n,e,t){let s=[[],[],[],[],[]],i=new Map;function r(o,a){let l=i.get(o);if(l!=null){if(l<=a)return;let c=s[l].indexOf(o);c>-1&&s[l].splice(c,1),o instanceof Jw&&t.delete(o.compartment)}if(i.set(o,a),Array.isArray(o))for(let c of o)r(c,a);else if(o instanceof Jw){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),r(c,a)}else if(o instanceof _I)r(o.inner,o.prec);else if(o instanceof jr)s[a].push(o),o.provides&&r(o.provides,a);else if(o instanceof Og)s[a].push(o),o.facet.extensions&&r(o.facet.extensions,ll.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);r(c,a)}}return r(n,ll.default),s.reduce((o,a)=>o.concat(a))}function Bd(n,e){if(e&1)return 2;let t=e>>1,s=n.status[t];if(s==4)throw new Error("Cyclic dependency between fields and/or facets");if(s&2)return s;n.status[t]=4;let i=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|i}function dy(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const SI=ye.define(),Qw=ye.define({combine:n=>n.some(e=>e),static:!0}),kI=ye.define({combine:n=>n.length?n[0]:void 0,static:!0}),AI=ye.define(),xI=ye.define(),EI=ye.define(),CI=ye.define({combine:n=>n.length?n[0]:!1});class ja{constructor(e,t){this.type=e,this.value=t}static define(){return new BX}}class BX{of(e){return new ja(this,e)}}class UX{constructor(e){this.map=e}of(e){return new bt(this,e)}}class bt{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new bt(this.type,t)}is(e){return this.type==e}static define(e={}){return new UX(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let s=[];for(let i of e){let r=i.map(t);r&&s.push(r)}return s}}bt.reconfigure=bt.define();bt.appendConfig=bt.define();class bn{constructor(e,t,s,i,r,o){this.startState=e,this.changes=t,this.selection=s,this.effects=i,this.annotations=r,this.scrollIntoView=o,this._doc=null,this._state=null,s&&wI(s,t.newLength),r.some(a=>a.type==bn.time)||(this.annotations=r.concat(bn.time.of(Date.now())))}static create(e,t,s,i,r,o){return new bn(e,t,s,i,r,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(bn.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}bn.time=ja.define();bn.userEvent=ja.define();bn.addToHistory=ja.define();bn.remote=ja.define();function qX(n,e){let t=[];for(let s=0,i=0;;){let r,o;if(s=n[s]))r=n[s++],o=n[s++];else if(i=0;i--){let r=s[i](n);r instanceof bn?n=r:Array.isArray(r)&&r.length==1&&r[0]instanceof bn?n=r[0]:n=TI(e,ph(r),!1)}return n}function WX(n){let e=n.startState,t=e.facet(EI),s=n;for(let i=t.length-1;i>=0;i--){let r=t[i](n);r&&Object.keys(r).length&&(s=$I(s,e_(e,r,n.changes.newLength),!0))}return s==n?n:bn.create(e,n.changes,n.selection,s.effects,s.annotations,s.scrollIntoView)}const GX=[];function ph(n){return n==null?GX:Array.isArray(n)?n:[n]}var Xt=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(Xt||(Xt={}));const KX=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let t_;try{t_=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function ZX(n){if(t_)return t_.test(n);for(let e=0;e"€"&&(t.toUpperCase()!=t.toLowerCase()||KX.test(t)))return!0}return!1}function XX(n){return e=>{if(!/\S/.test(e))return Xt.Space;if(ZX(e))return Xt.Word;for(let t=0;t-1)return Xt.Word;return Xt.Other}}class ot{constructor(e,t,s,i,r,o){this.config=e,this.doc=t,this.selection=s,this.values=i,this.status=e.statusTemplate.slice(),this.computeSlot=r,o&&(o._state=this);for(let a=0;ai.set(c,l)),t=null),i.set(a.value.compartment,a.value.extension)):a.is(bt.reconfigure)?(t=null,s=a.value):a.is(bt.appendConfig)&&(t=null,s=ph(s).concat(a.value));let r;t?r=e.startState.values.slice():(t=uy.resolve(s,i,this),r=new ot(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Qw)?e.newSelection:e.newSelection.asSingle();new ot(t,e.newDoc,o,r,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:te.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,s=e(t.ranges[0]),i=this.changes(s.changes),r=[s.range],o=ph(s.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return ot.create({doc:e.doc,selection:te.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(e={}){let t=uy.resolve(e.extensions||[],new Map),s=e.doc instanceof at?e.doc:at.of((e.doc||"").split(t.staticFacet(ot.lineSeparator)||Kw)),i=e.selection?e.selection instanceof te?e.selection:te.single(e.selection.anchor,e.selection.head):te.single(0);return wI(i,s.length),t.staticFacet(Qw)||(i=i.asSingle()),new ot(t,s,i,t.dynamicSlots.map(()=>null),(r,o)=>o.create(r),null)}get tabSize(){return this.facet(ot.tabSize)}get lineBreak(){return this.facet(ot.lineSeparator)||` +`}get readOnly(){return this.facet(CI)}phrase(e,...t){for(let s of this.facet(ot.phrases))if(Object.prototype.hasOwnProperty.call(s,e)){e=s[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(s,i)=>{if(i=="$")return"$";let r=+(i||1);return!r||r>t.length?s:t[r-1]})),e}languageDataAt(e,t,s=-1){let i=[];for(let r of this.facet(SI))for(let o of r(this,t,s))Object.prototype.hasOwnProperty.call(o,e)&&i.push(o[e]);return i}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return XX(t.length?t[0]:"")}wordAt(e){let{text:t,from:s,length:i}=this.doc.lineAt(e),r=this.charCategorizer(e),o=e-s,a=e-s;for(;o>0;){let l=$n(t,o,!1);if(r(t.slice(l,o))!=Xt.Word)break;o=l}for(;an.length?n[0]:4});ot.lineSeparator=kI;ot.readOnly=CI;ot.phrases=ye.define({compare(n,e){let t=Object.keys(n),s=Object.keys(e);return t.length==s.length&&t.every(i=>n[i]==e[i])}});ot.languageData=SI;ot.changeFilter=AI;ot.transactionFilter=xI;ot.transactionExtender=EI;Xp.reconfigure=bt.define();function Hu(n,e,t={}){let s={};for(let i of n)for(let r of Object.keys(i)){let o=i[r],a=s[r];if(a===void 0)s[r]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,r))s[r]=t[r](a,o);else throw new Error("Config merge conflict for field "+r)}for(let i in e)s[i]===void 0&&(s[i]=e[i]);return s}class _c{eq(e){return this==e}range(e,t=e){return n_.create(e,t,this)}}_c.prototype.startSide=_c.prototype.endSide=0;_c.prototype.point=!1;_c.prototype.mapMode=ei.TrackDel;function _k(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}let n_=class PI{constructor(e,t,s){this.from=e,this.to=t,this.value=s}static create(e,t,s){return new PI(e,t,s)}};function s_(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class Sk{constructor(e,t,s,i){this.from=e,this.to=t,this.value=s,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(e,t,s,i=0){let r=s?this.to:this.from;for(let o=i,a=r.length;;){if(o==a)return o;let l=o+a>>1,c=r[l]-e||(s?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,s,i){for(let r=this.findIndex(t,-1e9,!0),o=this.findIndex(s,1e9,!1,r);rp||d==p&&c.startSide>0&&c.endSide<=0)continue;(p-d||c.endSide-c.startSide)<0||(o<0&&(o=d),c.point&&(a=Math.max(a,p-d)),s.push(c),i.push(d-o),r.push(p-o))}return{mapped:s.length?new Sk(i,r,s,a):null,pos:o}}}class st{constructor(e,t,s,i){this.chunkPos=e,this.chunk=t,this.nextLayer=s,this.maxPoint=i}static create(e,t,s,i){return new st(e,t,s,i)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:s=!1,filterFrom:i=0,filterTo:r=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(s&&(t=t.slice().sort(s_)),this.isEmpty)return t.length?st.of(t):this;let a=new RI(this,null,-1).goto(0),l=0,c=[],h=new nf;for(;a.value||l=0){let u=t[l++];h.addInner(u.from,u.to,u.value)||c.push(u)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||ra.to||r=r&&e<=r+o.length&&o.between(r,e-r,t-r,s)===!1)return}this.nextLayer.between(e,t,s)}}iter(e=0){return sf.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return sf.from(e).goto(t)}static compare(e,t,s,i,r=-1){let o=e.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=r),a=t.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=r),l=cE(o,a,s),c=new td(o,l,r),h=new td(a,l,r);s.iterGaps((u,d,p)=>hE(c,u,h,d,p,i)),s.empty&&s.length==0&&hE(c,0,h,0,0,i)}static eq(e,t,s=0,i){i==null&&(i=999999999);let r=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(r.length!=o.length)return!1;if(!r.length)return!0;let a=cE(r,o),l=new td(r,a,0).goto(s),c=new td(o,a,0).goto(s);for(;;){if(l.to!=c.to||!i_(l.active,c.active)||l.point&&(!c.point||!_k(l.point,c.point)))return!1;if(l.to>i)return!0;l.next(),c.next()}}static spans(e,t,s,i,r=-1){let o=new td(e,null,r).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,s);if(o.point){let h=o.activeForPoint(o.to),u=o.pointFroma&&(i.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>s)return l+(o.point&&o.to>s?1:0);a=o.to,o.next()}}static of(e,t=!1){let s=new nf;for(let i of e instanceof n_?[e]:t?YX(e):e)s.add(i.from,i.to,i.value);return s.finish()}static join(e){if(!e.length)return st.empty;let t=e[e.length-1];for(let s=e.length-2;s>=0;s--)for(let i=e[s];i!=st.empty;i=i.nextLayer)t=new st(i.chunkPos,i.chunk,t,Math.max(i.maxPoint,t.maxPoint));return t}}st.empty=new st([],[],null,-1);function YX(n){if(n.length>1)for(let e=n[0],t=1;t0)return n.slice().sort(s_);e=s}return n}st.empty.nextLayer=st.empty;class nf{finishChunk(e){this.chunks.push(new Sk(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,s){this.addInner(e,t,s)||(this.nextLayer||(this.nextLayer=new nf)).add(e,t,s)}addInner(e,t,s){let i=e-this.lastTo||s.startSide-this.last.endSide;if(i<=0&&(e-this.lastFrom||s.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return i<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=s,this.lastFrom=e,this.lastTo=t,this.value.push(s),s.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let s=t.value.length-1;return this.last=t.value[s],this.lastFrom=t.from[s]+e,this.lastTo=t.to[s]+e,!0}finish(){return this.finishInner(st.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=st.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function cE(n,e,t){let s=new Map;for(let r of n)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=s&&i.push(new RI(o,t,s,r));return i.length==1?i[0]:new sf(i)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let s of this.heap)s.goto(e,t);for(let s=this.heap.length>>1;s>=0;s--)yv(this.heap,s);return this.next(),this}forward(e,t){for(let s of this.heap)s.forward(e,t);for(let s=this.heap.length>>1;s>=0;s--)yv(this.heap,s);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),yv(this.heap,0)}}}function yv(n,e){for(let t=n[e];;){let s=(e<<1)+1;if(s>=n.length)break;let i=n[s];if(s+1=0&&(i=n[s+1],s++),t.compare(i)<0)break;n[s]=t,n[e]=i,e=s}}class td{constructor(e,t,s){this.minPoint=s,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=sf.from(e,t,s)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Cm(this.active,e),Cm(this.activeTo,e),Cm(this.activeRank,e),this.minActive=uE(this.active,this.activeTo)}addActive(e){let t=0,{value:s,to:i,rank:r}=this.cursor;for(;t0;)t++;$m(this.active,t,s),$m(this.activeTo,t,i),$m(this.activeRank,t,r),e&&$m(e,t,this.cursor.from),this.minActive=uE(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let s=this.openStart<0?[]:null;for(;;){let i=this.minActive;if(i>-1&&(this.activeTo[i]-this.cursor.from||this.active[i].endSide-this.cursor.startSide)<0){if(this.activeTo[i]>e){this.to=this.activeTo[i],this.endSide=this.active[i].endSide;break}this.removeActive(i),s&&Cm(s,i)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let r=this.cursor.value;if(!r.point)this.addActive(s),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&s[i]=0&&!(this.activeRank[s]e||this.activeTo[s]==e&&this.active[s].endSide>=this.point.endSide)&&t.push(this.active[s]);return t.reverse()}openEnd(e){let t=0;for(let s=this.activeTo.length-1;s>=0&&this.activeTo[s]>e;s--)t++;return t}}function hE(n,e,t,s,i,r){n.goto(e),t.goto(s);let o=s+i,a=s,l=s-e,c=!!r.boundChange;for(let h=!1;;){let u=n.to+l-t.to,d=u||n.endSide-t.endSide,p=d<0?n.to+l:t.to,m=Math.min(p,o);if(n.point||t.point?(n.point&&t.point&&_k(n.point,t.point)&&i_(n.activeForPoint(n.to),t.activeForPoint(t.to))||r.comparePoint(a,m,n.point,t.point),h=!1):(h&&r.boundChange(a),m>a&&!i_(n.active,t.active)&&r.compareRange(a,m,n.active,t.active),c&&mo)break;a=p,d<=0&&n.next(),d>=0&&t.next()}}function i_(n,e){if(n.length!=e.length)return!1;for(let t=0;t=e;s--)n[s+1]=n[s];n[e]=t}function uE(n,e){let t=-1,s=1e9;for(let i=0;i=e)return i;if(i==n.length)break;r+=n.charCodeAt(i)==9?t-r%t:1,i=$n(n,i)}return n.length}const r_="ͼ",dE=typeof Symbol>"u"?"__"+r_:Symbol.for(r_),o_=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),fE=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class xu{constructor(e,t){this.rules=[];let{finish:s}=t||{};function i(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function r(o,a,l,c){let h=[],u=/^@(\w+)\b/.exec(o[0]),d=u&&u[1]=="keyframes";if(u&&a==null)return l.push(o[0]+";");for(let p in a){let m=a[p];if(/&/.test(p))r(p.split(/,\s*/).map(g=>o.map(v=>g.replace(/&/,v))).reduce((g,v)=>g.concat(v)),m,l);else if(m&&typeof m=="object"){if(!u)throw new RangeError("The value of a property ("+p+") should be a primitive value.");r(i(p),m,h,d)}else m!=null&&h.push(p.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+m+";")}(h.length||d)&&l.push((s&&!u&&!c?o.map(s):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)r(i(o),e[o],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=fE[dE]||1;return fE[dE]=e+1,r_+e.toString(36)}static mount(e,t,s){let i=e[o_],r=s&&s.nonce;i?r&&i.setNonce(r):i=new QX(e,r),i.mount(Array.isArray(t)?t:[t],e)}}let pE=new Map;class QX{constructor(e,t){let s=e.ownerDocument||e,i=s.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let r=pE.get(s);if(r)return e[o_]=r;this.sheet=new i.CSSStyleSheet,pE.set(s,this)}else this.styleTag=s.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[o_]=this}mount(e,t){let s=this.sheet,i=0,r=0;for(let o=0;o-1&&(this.modules.splice(l,1),r--,l=-1),l==-1){if(this.modules.splice(r++,0,a),s)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},eY=typeof navigator<"u"&&/Mac/.test(navigator.platform),tY=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Vn=0;Vn<10;Vn++)Ra[48+Vn]=Ra[96+Vn]=String(Vn);for(var Vn=1;Vn<=24;Vn++)Ra[Vn+111]="F"+Vn;for(var Vn=65;Vn<=90;Vn++)Ra[Vn]=String.fromCharCode(Vn+32),rf[Vn]=String.fromCharCode(Vn);for(var vv in Ra)rf.hasOwnProperty(vv)||(rf[vv]=Ra[vv]);function nY(n){var e=eY&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||tY&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?rf:Ra)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function Cn(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var s in t)if(Object.prototype.hasOwnProperty.call(t,s)){var i=t[s];typeof i=="string"?n.setAttribute(s,i):i!=null&&(n[s]=i)}e++}for(;e2);var ue={mac:yE||/Mac/.test(bs.platform),windows:/Win/.test(bs.platform),linux:/Linux|X11/.test(bs.platform),ie:R0,ie_version:II?a_.documentMode||6:c_?+c_[1]:l_?+l_[1]:0,gecko:mE,gecko_version:mE?+(/Firefox\/(\d+)/.exec(bs.userAgent)||[0,0])[1]:0,chrome:!!bv,chrome_version:bv?+bv[1]:0,ios:yE,android:/Android\b/.test(bs.userAgent),webkit:gE,webkit_version:gE?+(/\bAppleWebKit\/(\d+)/.exec(bs.userAgent)||[0,0])[1]:0,safari:h_,safari_version:h_?+(/\bVersion\/(\d+(\.\d+)?)/.exec(bs.userAgent)||[0,0])[1]:0,tabSize:a_.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function kk(n,e){for(let t in n)t=="class"&&e.class?e.class+=" "+n.class:t=="style"&&e.style?e.style+=";"+n.style:e[t]=n[t];return e}const fy=Object.create(null);function Ak(n,e,t){if(n==e)return!0;n||(n=fy),e||(e=fy);let s=Object.keys(n),i=Object.keys(e);if(s.length-0!=i.length-0)return!1;for(let r of s)if(r!=t&&(i.indexOf(r)==-1||n[r]!==e[r]))return!1;return!0}function sY(n,e){for(let t=n.attributes.length-1;t>=0;t--){let s=n.attributes[t].name;e[s]==null&&n.removeAttribute(s)}for(let t in e){let s=e[t];t=="style"?n.style.cssText=s:n.getAttribute(t)!=s&&n.setAttribute(t,s)}}function vE(n,e,t){let s=!1;if(e)for(let i in e)t&&i in t||(s=!0,i=="style"?n.style.cssText="":n.removeAttribute(i));if(t)for(let i in t)e&&e[i]==t[i]||(s=!0,i=="style"?n.style.cssText=t[i]:n.setAttribute(i,t[i]));return s}function iY(n){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Sc(e,t,t,s,e.widget||null,!1)}static replace(e){let t=!!e.block,s,i;if(e.isBlockGap)s=-5e8,i=4e8;else{let{start:r,end:o}=OI(e,t);s=(r?t?-3e8:-1:5e8)-1,i=(o?t?2e8:1:-6e8)+1}return new Sc(e,s,i,t,e.widget||null,!0)}static line(e){return new Jp(e)}static set(e,t=!1){return st.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}Ye.none=st.empty;class Yp extends Ye{constructor(e){let{start:t,end:s}=OI(e);super(t?-1:5e8,s?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?kk(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||fy}eq(e){return this==e||e instanceof Yp&&this.tagName==e.tagName&&Ak(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}Yp.prototype.point=!1;class Jp extends Ye{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Jp&&this.spec.class==e.spec.class&&Ak(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}Jp.prototype.mapMode=ei.TrackBefore;Jp.prototype.point=!0;class Sc extends Ye{constructor(e,t,s,i,r,o){super(t,s,r,e),this.block=i,this.isReplace=o,this.mapMode=i?t<=0?ei.TrackBefore:ei.TrackAfter:ei.TrackDel}get type(){return this.startSide!=this.endSide?Gn.WidgetRange:this.startSide<=0?Gn.WidgetBefore:Gn.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Sc&&rY(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}Sc.prototype.point=!0;function OI(n,e=!1){let{inclusiveStart:t,inclusiveEnd:s}=n;return t==null&&(t=n.inclusive),s==null&&(s=n.inclusive),{start:t??e,end:s??e}}function rY(n,e){return n==e||!!(n&&e&&n.compare(e))}function mh(n,e,t,s=0){let i=t.length-1;i>=0&&t[i]+s>=n?t[i]=Math.max(t[i],e):t.push(n,e)}class of extends _c{constructor(e,t,s){super(),this.tagName=e,this.attributes=t,this.rank=s}eq(e){return e==this||e instanceof of&&this.tagName==e.tagName&&Ak(this.attributes,e.attributes)}static create(e){return new of(e.tagName,e.attributes||fy,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return st.of(e,t)}}of.prototype.startSide=of.prototype.endSide=-1;function af(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function u_(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function Ud(n,e){if(!e.anchorNode)return!1;try{return u_(n,e.anchorNode)}catch{return!1}}function Ng(n){return n.nodeType==3?lf(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function qd(n,e,t,s){return t?bE(n,e,t,s,-1)||bE(n,e,t,s,1):!1}function Ma(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function py(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function bE(n,e,t,s,i){for(;;){if(n==t&&e==s)return!0;if(e==(i<0?0:To(n))){if(n.nodeName=="DIV")return!1;let r=n.parentNode;if(!r||r.nodeType!=1)return!1;e=Ma(n)+(i<0?0:1),n=r}else if(n.nodeType==1){if(n=n.childNodes[e+(i<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=i<0?To(n):0}else return!1}}function To(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function my(n,e){let{left:t,right:s}=n;if(t==s)return n;let i=e?t:s;return{left:i,right:i,top:n.top,bottom:n.bottom}}function oY(n){let e=n.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function NI(n,e){let t=e.width/n.offsetWidth,s=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(s>.995&&s<1.005||!isFinite(s)||Math.abs(e.height-n.offsetHeight)<1)&&(s=1),{scaleX:t,scaleY:s}}function aY(n,e,t,s,i,r,o,a){let l=n.ownerDocument,c=l.defaultView||window;for(let h=n,u=!1;h&&!u;)if(h.nodeType==1){let d,p=h==l.body,m=1,g=1;if(p)d=oY(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(u=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let w=h.getBoundingClientRect();({scaleX:m,scaleY:g}=NI(h,w)),d={left:w.left,right:w.left+h.clientWidth*m,top:w.top,bottom:w.top+h.clientHeight*g}}let v=0,y=0;if(i=="nearest")e.top0&&e.bottom>d.bottom+y&&(y=e.bottom-d.bottom+o)):e.bottom>d.bottom-o&&(y=e.bottom-d.bottom+o,t<0&&e.top-y0&&e.right>d.right+v&&(v=e.right-d.right+r)):e.right>d.right-r&&(v=e.right-d.right+r,t<0&&e.leftd.bottom||e.leftd.right)&&(e={left:Math.max(e.left,d.left),right:Math.min(e.right,d.right),top:Math.max(e.top,d.top),bottom:Math.min(e.bottom,d.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function LI(n,e=!0){let t=n.ownerDocument,s=null,i=null;for(let r=n.parentNode;r&&!(r==t.body||(!e||s)&&i);)if(r.nodeType==1)!i&&r.scrollHeight>r.clientHeight&&(i=r),e&&!s&&r.scrollWidth>r.clientWidth&&(s=r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;return{x:s,y:i}}class lY{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:s}=e;this.set(t,Math.min(e.anchorOffset,t?To(t):0),s,Math.min(e.focusOffset,s?To(s):0))}set(e,t,s,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=s,this.focusOffset=i}}function DI(n){let e=[];for(let t=n;t;t=t.nodeType==11?t.host:t.parentNode)t.nodeType==1&&e.push({node:t,left:t.scrollLeft,top:t.scrollTop});return e}function FI(n,e=!0){for(let{node:t,left:s,top:i}of n)e&&t.scrollTop!=i&&(t.scrollTop=i),t.scrollLeft!=s&&(t.scrollLeft=s)}let tl=null;ue.safari&&ue.safari_version>=26&&(tl=!1);function jI(n){if(n.setActive)return n.setActive();if(tl)return n.focus(tl);let e=DI(n);n.focus(tl==null?{get preventScroll(){return tl={preventScroll:!0},!0}}:void 0),tl||(tl=!1,FI(e))}let wE;function lf(n,e,t=e){let s=wE||(wE=document.createRange());return s.setEnd(n,t),s.setStart(n,e),s}function gh(n,e,t,s){let i={key:e,code:e,keyCode:t,which:t,cancelable:!0};s&&({altKey:i.altKey,ctrlKey:i.ctrlKey,shiftKey:i.shiftKey,metaKey:i.metaKey}=s);let r=new KeyboardEvent("keydown",i);r.synthetic=!0,n.dispatchEvent(r);let o=new KeyboardEvent("keyup",i);return o.synthetic=!0,n.dispatchEvent(o),r.defaultPrevented||o.defaultPrevented}function cY(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function hY(n,e){let t=e.focusNode,s=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=s)return!1;for(s=Math.min(s,To(t));;)if(s){if(t.nodeType!=1)return!1;let i=t.childNodes[s-1];i.contentEditable=="false"?s--:(t=i,s=To(t))}else{if(t==n)return!0;s=Ma(t),t=t.parentNode}}function zI(n){return n instanceof Window?n.pageYOffset>Math.max(0,n.document.documentElement.scrollHeight-n.innerHeight-4):n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function HI(n,e){for(let t=n,s=e;;){if(t.nodeType==3&&s>0)return{node:t,offset:s};if(t.nodeType==1&&s>0){if(t.contentEditable=="false")return null;t=t.childNodes[s-1],s=To(t)}else if(t.parentNode&&!py(t))s=Ma(t),t=t.parentNode;else return null}}function BI(n,e){for(let t=n,s=e;;){if(t.nodeType==3&&s=t){if(a.level==s)return o;(r<0||(i!=0?i<0?a.fromt:e[r].level>a.level))&&(r=o)}}if(r<0)throw new RangeError("Index out of range");return r}}function VI(n,e){if(n.length!=e.length)return!1;for(let t=0;t=0;g-=3)if(sr[g+1]==-p){let v=sr[g+2],y=v&2?i:v&4?v&1?r:i:0;y&&(vt[u]=vt[sr[g]]=y),a=g;break}}else{if(sr.length==189)break;sr[a++]=u,sr[a++]=d,sr[a++]=l}else if((m=vt[u])==2||m==1){let g=m==i;l=g?0:1;for(let v=a-3;v>=0;v-=3){let y=sr[v+2];if(y&2)break;if(g)sr[v+2]|=2;else{if(y&4)break;sr[v+2]|=4}}}}}function gY(n,e,t,s){for(let i=0,r=s;i<=t.length;i++){let o=i?t[i-1].to:n,a=il;)m==v&&(m=t[--g].from,v=g?t[g-1].to:n),vt[--m]=p;l=h}else r=c,l++}}}function f_(n,e,t,s,i,r,o){let a=s%2?2:1;if(s%2==i%2)for(let l=e,c=0;ll&&o.push(new Rr(l,g.from,p));let v=g.direction==kc!=!(p%2);p_(n,v?s+1:s,i,g.inner,g.from,g.to,o),l=g.to}m=g.to}else{if(m==t||(h?vt[m]!=a:vt[m]==a))break;m++}d?f_(n,l,m,s+1,i,d,o):le;){let h=!0,u=!1;if(!c||l>r[c-1].to){let g=vt[l-1];g!=a&&(h=!1,u=g==16)}let d=!h&&a==1?[]:null,p=h?s:s+1,m=l;e:for(;;)if(c&&m==r[c-1].to){if(u)break e;let g=r[--c];if(!h)for(let v=g.from,y=c;;){if(v==e)break e;if(y&&r[y-1].to==v)v=r[--y].from;else{if(vt[v-1]==a)break e;break}}if(d)d.push(g);else{g.tovt.length;)vt[vt.length]=256;let s=[],i=e==kc?0:1;return p_(n,i,i,t,0,n.length,s),s}function WI(n){return[new Rr(0,n,0)]}let GI="";function vY(n,e,t,s,i){var r;let o=s.head-n.from,a=Rr.find(e,o,(r=s.bidiLevel)!==null&&r!==void 0?r:-1,s.assoc),l=e[a],c=l.side(i,t);if(o==c){let d=a+=i?1:-1;if(d<0||d>=e.length)return null;l=e[a=d],o=l.side(!i,t),c=l.side(i,t)}let h=$n(n.text,o,l.forward(i,t));(hl.to)&&(h=c),GI=n.text.slice(Math.min(o,h),Math.max(o,h));let u=a==(i?e.length-1:0)?null:e[a+(i?1:-1)];return u&&h==c&&u.level+(i?0:1)n.some(e=>e)}),tO=ye.define({combine:n=>n.some(e=>e)}),nO=ye.define();class yh{constructor(e,t,s,i,r,o=!1){this.range=e,this.y=t,this.x=s,this.yMargin=i,this.xMargin=r,this.isSnapshot=o}map(e){return e.empty?this:new yh(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new yh(te.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const Tm=bt.define({map:(n,e)=>n.map(e)}),sO=bt.define();function Mr(n,e,t){let s=n.facet(YI);s.length?s[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}const bo=ye.define({combine:n=>n.length?n[0]:!0});let wY=0;const sh=ye.define({combine(n){return n.filter((e,t)=>{for(let s=0;s{let l=[];return o&&l.push(I0.of(c=>{let h=c.plugin(a);return h?o(h):Ye.none})),r&&l.push(r(a)),l})}static fromClass(e,t){return ni.define((s,i)=>new e(s,i),t)}}class wv{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(s){if(Mr(t.state,s,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){Mr(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(s){Mr(e.state,s,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const iO=ye.define(),$k=ye.define(),I0=ye.define(),rO=ye.define(),Tk=ye.define(),Qp=ye.define(),oO=ye.define();function _E(n,e){let t=n.state.facet(oO);if(!t.length)return t;let s=t.map(r=>r instanceof Function?r(n):r),i=[];return st.spans(s,e.from,e.to,{point(){},span(r,o,a,l){let c=r-e.from,h=o-e.from,u=i;for(let d=a.length-1;d>=0;d--,l--){let p=a[d].spec.bidiIsolate,m;if(p==null&&(p=bY(e.text,c,h)),l>0&&u.length&&(m=u[u.length-1]).to==c&&m.direction==p)m.to=h,u=m.inner;else{let g={from:c,to:h,direction:p,inner:[]};u.push(g),u=g.inner}}}}),i}const aO=ye.define();function lO(n){let e=0,t=0,s=0,i=0;for(let r of n.state.facet(aO)){let o=r(n);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(s=Math.max(s,o.top)),o.bottom!=null&&(i=Math.max(i,o.bottom)))}return{left:e,right:t,top:s,bottom:i}}const xd=ye.define();class gi{constructor(e,t,s,i){this.fromA=e,this.toA=t,this.fromB=s,this.toB=i}join(e){return new gi(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,s=this;for(;t>0;t--){let i=e[t-1];if(!(i.fromA>s.toA)){if(i.toAi.push(new gi(r,o,a,l))),this.changedRanges=i}static create(e,t,s){return new gy(e,t,s)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const _Y=[];class qt{constructor(e,t,s=0){this.dom=e,this.length=t,this.flags=s,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return _Y}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&sY(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let s=t;for(let i of this.children){if(i==e)return s;s+=i.length+i.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,s){return null}domPosFor(e,t){let s=Ma(this.dom),i=this.length?e>0:t>0;return new Ki(this.parent.dom,s+(i?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof N0)return e;return null}static get(e){return e.cmTile}}class O0 extends qt{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,s=null,i,r=(e==null?void 0:e.node)==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,i=s?s.nextSibling:t.firstChild,r&&i!=a.dom&&(r.written=!0),a.dom.parentNode==t)for(;i&&i!=a.dom;)i=SE(i);else t.insertBefore(a.dom,i);s=a.dom}for(i=s?s.nextSibling:t.firstChild,r&&i&&(r.written=!0);i;)i=SE(i);this.length=o}}function SE(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}class N0 extends O0{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=qt.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],s=this,i=0,r=0;;)if(i==s.children.length){if(!t.length)return;s=s.parent,s.breakAfter&&r++,i=t.pop()}else{let o=s.children[i++];if(o instanceof Eo)t.push(i),s=o,i=0;else{let a=r+o.length,l=e(o,r);if(l!==void 0)return l;r=a+o.breakAfter}}}resolveBlock(e,t){let s,i=-1,r,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(s=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!r||!a.isWidget()&&r.isWidget())&&(r=a,o=e-l)}}),!s&&!r)throw new Error("No tile at position "+e);return s&&t<0||!r?{tile:s,offset:i}:{tile:r,offset:o}}}class Eo extends O0{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let s=new Eo(t||document.createElement(e.tagName),e);return t||(s.flags|=4),s}}class Eu extends O0{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,s){let i=new Eu(t||document.createElement("div"),e);return(!t||!s)&&(i.flags|=4),i}get domAttrs(){return this.attrs}resolveInline(e,t,s){let i=null,r=-1,o=null,a=-1;function l(h,u){for(let d=0,p=0;d=u&&(m.isComposite()?l(m,u-p):(!o||o.isHidden&&(t>0&&!(o.flags&32)||s&&kY(o,m)))&&(g>u||m.flags&32&&t<=1)?(o=m,a=u-p):(p=-1)&&(i=m,r=u-p)),p=g}}l(this,e);let c=(t<0?i:o)||i||o;return c?{tile:c,offset:c==i?r:a}:null}coordsIn(e,t,s){let i=this.resolveInline(e,t,!0);return i?i.tile.coordsIn(Math.max(0,i.offset),t,s):SY(this)}domIn(e,t){let s=this.resolveInline(e,t);if(s){let{tile:i,offset:r}=s;if(this.dom.contains(i.dom))return i.isText()?new Ki(i.dom,Math.min(i.dom.nodeValue.length,r)):i.domPosFor(r,i.flags&16?1:i.flags&32?-1:t);let o=s.tile.parent,a=!1;for(let l of o.children){if(a)return new Ki(l.dom,0);l==s.tile&&(a=!0)}}return new Ki(this.dom,0)}}function SY(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=Ng(e);return t[t.length-1]||null}function kY(n,e){let t=n.coordsIn(0,1),s=e.coordsIn(0,1);return t&&s&&s.topi&&(e=i);let r=e,o=e,a=0;e==0&&t<0||e==i&&t>=0?ue.chrome||ue.gecko||(e?(r--,a=1):o=0)?0:l.length-1];return ue.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),s==null?c:my(c,(a?a>0:t<0)==s)}static of(e,t){let s=new dl(t||document.createTextNode(e),e);return t||(s.flags|=2),s}}class Ac extends qt{constructor(e,t,s,i){super(e,t,i),this.widget=s}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,s){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;if(s)return my(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let r=this.dom.getClientRects(),o=null;if(!r.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?r.length-1:0;o=r[l],!(e>0?l==0:l==r.length-1||o.top0==s)}}class AY{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,s){let{tile:i,index:r,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(i.isComposite())if(o){if(!e)break;s&&s.break(),e--,o=!1}else if(r==i.children.length){if(!e&&!a.length)break;s&&s.leave(i),o=!!i.breakAfter,{tile:i,index:r}=a.pop(),r++}else{let l=i.children[r],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=i.lastChild;if(c instanceof Ls&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(_v(l.dom)),i=c;else{if(this.cache.reused.get(l)){let u=qt.get(l.dom);u&&u.setDOM(_v(l.dom))}let h=Ls.of(l.mark,l.dom);i.append(h),i=h}this.cache.reused.set(l,2)}let r=qt.get(e.text);r&&this.cache.reused.set(r,2);let o=new dl(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,i.append(o)}addInlineWidget(e,t,s){let i=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);i||this.flushBuffer();let r=this.ensureMarks(t,s);!i&&!(e.flags&16)&&r.append(this.getBuffer(1)),r.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,s){this.flushBuffer(),this.ensureMarks(t,s).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var s;e||(e=cO);let i=Eu.start(e,t||((s=this.cache.find(Eu))===null||s===void 0?void 0:s.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=i)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var s;let i=this.curLine;for(let r=e.length-1;r>=0;r--){let o=e[r],a;if(t>0&&(a=i.lastChild)&&a instanceof Ls&&a.mark.eq(o))i=a,t--;else{let l=Ls.of(o,(s=this.cache.find(Ls,c=>c.mark.eq(o)))===null||s===void 0?void 0:s.dom);i.append(l),i=l,t=0}}return i}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!kE(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(ue.ios&&kE(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(Sv,0,32)||new Ac(Sv.toDOM(),0,Sv,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,s=new xY(e.from,e.to,e.value,t),i=this.wrappers.length;for(;i>0&&(this.wrappers[i-1].rank-s.rank||this.wrappers[i-1].to-s.to)<0;)i--;this.wrappers.splice(i,0,s)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let s of this.wrappers){let i=t.lastChild;if(s.fromo.wrapper.eq(s.wrapper)))===null||e===void 0?void 0:e.dom);t.append(r),t=r}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),s=this.cache.find(yy,void 0,1);return s&&(s.flags=t),s||new yy(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class CY{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:i,lineBreak:r,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=i;let a=this.textOff=Math.min(e,i.length);return r?null:i.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),s=this.text.slice(this.textOff,t);return this.textOff=t,s}}const vy=[Ac,Eu,dl,Ls,yy,Eo,N0];for(let n=0;n[]),this.index=vy.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,s=this.buckets[t];s.length<6?s.push(e):s[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,s=2){let i=e.bucket,r=this.buckets[i],o=this.index[i];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let s=t&&this.getCompositionContext(t.text);for(let i=0,r=0,o=0;;){let a=oi){let c=l-i;this.preserve(c,!o,!a),i=l,r+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof Ls&&i.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?i.length&&(i.length=r=0):o instanceof Ls&&(i.shift(),r=Math.min(r,i.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let s=null,i=this.builder,r=-1,o=st.spans(this.decorations,e,t,{point:(a,l,c,h,u,d)=>{if(c instanceof Sc){if(this.disallowBlockEffectsFor[d]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(r=h.length,u>h.length)i.continueWidget(l-a);else{let p=c.widget||(c.block?Cu.block:Cu.inline),m=PY(c),g=this.cache.findWidget(p,l-a,m)||Ac.of(p,this.view,l-a,m);c.block?(c.startSide>0&&i.addLineStartIfNotCovered(s),i.addBlockWidget(g)):(i.ensureLine(s),i.addInlineWidget(g,h,u))}s=null}else s=RY(s,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let u=a;u-1&&(this.openWidget=o>r),this.openWidget||i.addLineStartIfNotCovered(s),this.openMarks=o}forward(e,t,s=1){t-e<=10?this.old.advance(t-e,s,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,s,this.reuseWalker))}getCompositionContext(e){let t=[],s=null;for(let i=e.parentNode;;i=i.parentNode){let r=qt.get(i);if(i==this.view.contentDOM)break;r instanceof Ls?t.push(r):r!=null&&r.isLine()?s=r:r instanceof Eo||(i.nodeName=="DIV"&&!s&&i!=this.view.contentDOM?s=new Eu(i,cO):s||t.push(Ls.of(new Yp({tagName:i.nodeName.toLowerCase(),attributes:iY(i)}),i)))}return{line:s,marks:t}}}function kE(n,e){let t=s=>{for(let i of s.children)if((e?i.isText():i.length)||t(i))return!0;return!1};return t(n)}function PY(n){let e=n.isReplace?(n.startSide<0?64:0)|(n.endSide>0?128:0):n.startSide>0?32:16;return n.block&&(e|=256),e}const cO={class:"cm-line"};function RY(n,e){let t=e.spec.attributes,s=e.spec.class;return!t&&!s||(n||(n={class:"cm-line"}),t&&kk(t,n),s&&(n.class+=" "+s)),n}function MY(n){let e=[];for(let t=n.parents.length;t>1;t--){let s=t==n.parents.length?n.tile:n.parents[t].tile;s instanceof Ls&&e.push(s.mark)}return e}function _v(n){let e=qt.get(n);return e&&e.setDOM(n.cloneNode()),n}class Cu extends M0{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}Cu.inline=new Cu("span");Cu.block=new Cu("div");const Sv=new class extends M0{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class AE{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Ye.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new N0(e,e.contentDOM),this.updateInner([new gi(0,0,0,e.state.doc.length)],null)}update(e){var t;let s=e.changedRanges;this.minWidth>0&&s.length&&(s.every(({fromA:h,toA:u})=>uthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let i=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?i=this.domChanged.newSel.head:!HY(e.changes,this.hasComposition)&&!e.selectionSet&&(i=e.state.selection.main.head));let r=i>-1?OY(this.view,e.changes,i):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:u}=this.hasComposition;s=new gi(h,u,e.changes.mapPos(h,-1),e.changes.mapPos(u,1)).addToSet(s.slice())}this.hasComposition=r?{from:r.range.fromB,to:r.range.toB}:null,(ue.ie||ue.chrome)&&!r&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=DY(o,this.decorations,e.changes);l.length&&(s=gi.extendWithRanges(s,l));let c=jY(a,this.blockWrappers,e.changes);return c.length&&(s=gi.extendWithRanges(s,c)),r&&!s.some(h=>h.fromA<=r.range.fromA&&h.toA>=r.range.toA)&&(s=r.range.addToSet(s.slice())),this.tile.flags&2&&s.length==0?!1:(this.updateInner(s,r),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:s}=this.view;s.ignore(()=>{if(t||e.length){let o=this.tile,a=new TY(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&qt.get(t.text)&&a.cache.reused.set(qt.get(t.text),2),this.tile=a.run(e,t),g_(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let r=ue.chrome||ue.ios?{node:s.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(r),r&&(r.written||s.selectionRange.focusNode!=r.node||!this.tile.dom.contains(r.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let i=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Ud(s,this.view.observer.selectionRange)&&!(i&&s.contains(i));if(!(r||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),ue.gecko&&l.empty&&!this.hasComposition&&IY(c)){let d=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(d,c.node.childNodes[c.offset]||null)),c=h=new Ki(d,0),a=!0}let u=this.view.observer.selectionRange;(a||!u.focusNode||(!qd(c.node,c.offset,u.anchorNode,u.anchorOffset)||!qd(h.node,h.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,l))&&(this.view.observer.ignore(()=>{ue.android&&ue.chrome&&s.contains(u.focusNode)&&zY(u.focusNode,s)&&(s.blur(),s.focus({preventScroll:!0}));let d=af(this.view.root);if(d)if(l.empty){if(ue.gecko){let p=NY(c.node,c.offset);if(p&&p!=3){let m=(p==1?HI:BI)(c.node,c.offset);m&&(c=new Ki(m.node,m.offset))}}d.collapse(c.node,c.offset),l.bidiLevel!=null&&d.caretBidiLevel!==void 0&&(d.caretBidiLevel=l.bidiLevel)}else if(d.extend){d.collapse(c.node,c.offset);try{d.extend(h.node,h.offset)}catch{}}else{let p=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),p.setEnd(h.node,h.offset),p.setStart(c.node,c.offset),d.removeAllRanges(),d.addRange(p)}o&&this.view.root.activeElement==s&&(s.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Ki(u.anchorNode,u.anchorOffset),this.impreciseHead=h.precise?null:new Ki(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&qd(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,s=af(e.root),{anchorNode:i,anchorOffset:r}=e.observer.selectionRange;if(!s||!t.empty||!t.assoc||!s.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);s.collapse(h.node,h.offset),s.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=t.from&&s.collapse(i,r)}posFromDOM(e,t){let s=this.tile.nearest(e);if(!s)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let i=s.posAtStart;if(s.isComposite()){let r;if(e==s.dom)r=s.dom.childNodes[t];else{let o=To(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==s.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?r=e:r=e.nextSibling}if(r==s.dom.firstChild)return i;for(;r&&!qt.get(r);)r=r.nextSibling;if(!r)return i+s.length;for(let o=0,a=i;;o++){let l=s.children[o];if(l.dom==r)return a;a+=l.length+l.breakAfter}}else return s.isText()?e==s.dom?i+t:i+(t?s.length:0):i}domAtPos(e,t){let{tile:s,offset:i}=this.tile.resolveBlock(e,t);return s.isWidget()?s.domPosFor(i,t):s.domIn(i,t)}inlineDOMNearPos(e,t){let s,i=-1,r=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(r=!0)}else{let u=h+c.length;if(h<=e&&(s=c,i=e-h,r=u=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!s&&!o?this.domAtPos(e,t):(r&&o?s=null:l&&s&&(o=null),s&&t<0||!o?s.domIn(i,t):o.domIn(a,t))}coordsAt(e,t,s){let{tile:i,offset:r}=this.tile.resolveBlock(e,t);return i.isWidget()?i.widget instanceof kv?null:i.coordsInWidget(r,t,!0):i.coordsIn(r,t,s)}lineAt(e,t){let{tile:s}=this.tile.resolveBlock(e,t);return s.isLine()?s:null}coordsForChar(e){let{tile:t,offset:s}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function i(r,o){if(r.isComposite())for(let a of r.children){if(a.length>=o){let l=i(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(r.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==It.LTR,c=0,h=(u,d,p)=>{for(let m=0;mi);m++){let g=u.children[m],v=d+g.length,y=g.dom.getBoundingClientRect(),{height:w}=y;if(p&&!m&&(c+=y.top-p.top),g instanceof Eo)v>s&&h(g,d,y);else if(d>=s&&(c>0&&t.push(-c),t.push(w+c),c=0,o)){let _=g.dom.lastChild,A=_?Ng(_):[];if(A.length){let k=A[A.length-1],$=l?k.right-y.left:y.right-k.left;$>a&&(a=$,this.minWidth=r,this.minWidthFrom=d,this.minWidthTo=v)}}p&&m==u.children.length-1&&(c+=p.bottom-y.bottom),d=v+g.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?It.RTL:It.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=Ng(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),s,i,r;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=Ng(t.firstChild)[0];s=t.getBoundingClientRect().height,i=o&&o.width?o.width/27:7,r=o&&o.height?o.height:s,t.remove()}),{lineHeight:s,charWidth:i,textHeight:r}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let s=0,i=0;;i++){let r=i==t.viewports.length?null:t.viewports[i],o=r?r.from-1:this.view.state.doc.length;if(o>s){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(s).top)/this.view.scaleY;e.push(Ye.replace({widget:new kv(a),block:!0,inclusive:!0,isBlockGap:!0}).range(s,o))}if(!r)break;s=r.to+1}return Ye.set(e)}updateDeco(){let e=1,t=this.view.state.facet(I0).map(r=>(this.dynamicDecorationMap[e++]=typeof r=="function")?r(this.view):r),s=!1,i=this.view.state.facet(Tk).map((r,o)=>{let a=typeof r=="function";return a&&(s=!0),a?r(this.view):r});for(i.length&&(this.dynamicDecorationMap[e++]=s,t.push(st.join(i))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof r=="function"?r(this.view):r)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(nO))try{if(c(this.view,e.range,e))return!0}catch(h){Mr(this.view.state,h,"scroll handler")}let{range:t}=e,s=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),i;if(!s)return;!t.empty&&(i=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(s={left:Math.min(s.left,i.left),top:Math.min(s.top,i.top),right:Math.max(s.right,i.right),bottom:Math.max(s.bottom,i.bottom)});let r=lO(this.view),o={left:s.left-r.left,top:s.top-r.top,right:s.right+r.right,bottom:s.bottom+r.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(aY(this.view.scrollDOM,o,t.head1&&(s.top>window.visualViewport.offsetTop+window.visualViewport.height||s.bottoms.isWidget()||s.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){g_(this.tile)}}function g_(n,e){let t=e==null?void 0:e.get(n);if(t!=1){t==null&&n.destroy();for(let s of n.children)g_(s,e)}}function IY(n){return n.node.nodeType==1&&n.node.firstChild&&(n.offset==0||n.node.childNodes[n.offset-1].contentEditable=="false")&&(n.offset==n.node.childNodes.length||n.node.childNodes[n.offset].contentEditable=="false")}function hO(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let s=HI(t.focusNode,t.focusOffset),i=BI(t.focusNode,t.focusOffset),r=s||i;if(i&&s&&i.node!=s.node){let a=qt.get(i.node);if(!a||a.isText()&&a.text!=i.node.nodeValue)r=i;else if(n.docView.lastCompositionAfterCursor){let l=qt.get(s.node);!l||l.isText()&&l.text!=s.node.nodeValue||(r=i)}}if(n.docView.lastCompositionAfterCursor=r!=s,!r)return null;let o=e-r.offset;return{from:o,to:o+r.node.nodeValue.length,node:r.node}}function OY(n,e,t){let s=hO(n,t);if(!s)return null;let{node:i,from:r,to:o}=s,a=i.nodeValue;if(/[\n\r]/.test(a)||n.state.doc.sliceString(s.from,s.to)!=a)return null;let l=e.invertedDesc;return{range:new gi(l.mapPos(r),l.mapPos(o),r,o),text:i}}function NY(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e{se.from&&(t=!0)}),t}class kv extends M0{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function BY(n,e,t=1){let s=n.charCategorizer(e),i=n.doc.lineAt(e),r=e-i.from;if(i.length==0)return te.cursor(e);r==0?t=1:r==i.length&&(t=-1);let o=r,a=r;t<0?o=$n(i.text,r,!1):a=$n(i.text,r);let l=s(i.text.slice(o,a));for(;o>0;){let c=$n(i.text,o,!1);if(s(i.text.slice(c,o))!=l)break;o=c}for(;an.defaultLineHeight*1.5){let a=n.viewState.heightOracle.textHeight,l=Math.floor((i-t.top-(n.defaultLineHeight-a)*.5)/a);r+=l*n.viewState.heightOracle.lineLength}let o=n.state.sliceDoc(t.from,t.to);return t.from+JX(o,r,n.state.tabSize)}function y_(n,e,t){let s=n.lineBlockAt(e);if(Array.isArray(s.type)){let i;for(let r of s.type){if(r.from>e)break;if(!(r.toe)return r;(!i||r.type==Gn.Text&&(i.type!=r.type||(t<0?r.frome)))&&(i=r)}}return i||s}return s}function qY(n,e,t,s){let i=y_(n,e.head,e.assoc||-1),r=!s||i.type!=Gn.Text||!(n.lineWrapping||i.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>i.from?e.head-1:e.head);if(r){let o=n.dom.getBoundingClientRect(),a=n.textDirectionAt(i.from),l=n.posAtCoords({x:t==(a==It.LTR)?o.right-1:o.left+1,y:(r.top+r.bottom)/2});if(l!=null)return te.cursor(l,t?-1:1)}return te.cursor(t?i.to:i.from,t?-1:1)}function xE(n,e,t,s){let i=n.state.doc.lineAt(e.head),r=n.bidiSpans(i),o=n.textDirectionAt(i.from);for(let a=e,l=null;;){let c=vY(i,r,o,a,t),h=GI;if(!c){if(i.number==(t?n.state.doc.lines:1))return a;h=` +`,i=n.state.doc.line(i.number+(t?1:-1)),r=n.bidiSpans(i),c=n.visualLineSide(i,!t)}if(l){if(!l(h))return a}else{if(!s)return c;l=s(h)}a=c}}function VY(n,e,t){let s=n.state.charCategorizer(e),i=s(t);return r=>{let o=s(r);return i==Xt.Space&&(i=o),i==o}}function WY(n,e,t,s){let i=e.head,r=t?1:-1;if(i==(t?n.state.doc.length:0))return te.cursor(i,e.assoc);let o=e.goalColumn,a,l=n.contentDOM.getBoundingClientRect(),c=n.coordsAtPos(i,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=n.documentTop;if(c)o==null&&(o=c.left-l.left),a=r<0?c.top:c.bottom;else{let m=n.viewState.lineBlockAt(i);o==null&&(o=Math.min(l.right-l.left,n.defaultCharacterWidth*(i-m.from))),a=(r<0?m.top:m.bottom)+h}let u=l.left+o,d=n.viewState.heightOracle.textHeight>>1,p=s??d;for(let m=0;;m+=d){let g=a+(p+m)*r,v=v_(n,{x:u,y:g},!1,r);if(t?g>l.bottom:ga:w{if(e>r&&ei(n)),t.from,e.head>t.from?-1:1);return s==t.from?t:te.cursor(s,sn.viewState.docHeight)return new $r(n.state.doc.length,-1);if(c=n.elementAtHeight(l),s==null)break;if(c.type==Gn.Text){if(s<0?c.ton.viewport.to)break;let d=n.docView.coordsAt(s<0?c.from:c.to,s>0?-1:1);if(d&&(s<0?d.top<=l+r:d.bottom>=l+r))break}let u=n.viewState.heightOracle.textHeight/2;l=s>0?c.bottom+u:c.top-u}if(n.viewport.from>=c.to||n.viewport.to<=c.from){if(t)return null;if(c.type==Gn.Text){let u=UY(n,i,c,o,a);return new $r(u,u==c.from?1:-1)}}if(c.type!=Gn.Text)return l<(c.top+c.bottom)/2?new $r(c.from,1):new $r(c.to,-1);let h=n.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=n.docView.lineAt(c.from,-2)),new GY(n,o,a,n.textDirectionAt(c.from)).scanTile(h,c.from)}class GY{constructor(e,t,s,i){this.view=e,this.x=t,this.y=s,this.baseDir=i,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||s.length&&(s[0].level!=this.baseDir||s[0].to+i.from>1;t:if(o.has(g)){for(let w=1;w=r&&(_-=m),!o.has(_)){g=_;break t}}break e}o.add(g);let v=t(g),y=0;if(v)for(let w=0;w1))if(_.bottomthis.y)(!c||c.top>_.top)&&(c=_),y=-1;else{let A=_.left>this.x?this.x-_.left:_.right(m+m+g)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(m+g+g)/3)return this.y=c.top+1,this.scan(e,t,!0)}let p=(a?this.dirAt(e[h],1):this.baseDir)==It.LTR;return{i:h,after:this.x>(d.left+d.right)/2==p}}scanText(e,t){let s=[];for(let r=0;r{let o=s[r]-t,a=s[r+1]-t;return lf(e.dom,o,a).getClientRects()});return i.after?new $r(s[i.i+1],-1):new $r(s[i.i],1)}scanTile(e,t){if(!e.length)return new $r(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let s=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:lf(l.dom,0,l.length)).getClientRects()}),r=e.children[i.i],o=s[i.i];return r.isText()?this.scanText(r,o):r.isComposite()?this.scanTile(r,o):i.after?new $r(s[i.i+1],-1):new $r(o,1)}}const Yc="￿";class KY{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(ot.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Yc}readRange(e,t){if(!e)return this;let s=e.parentNode;for(let i=e;;){this.findPointBefore(s,i);let r=this.text.length;this.readNode(i);let o=qt.get(i),a=i.nextSibling;if(a==t){o!=null&&o.breakAfter&&!a&&s!=this.view.contentDOM&&this.lineBreak();break}let l=qt.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:py(i))||py(a)&&(i.nodeName!="BR"||o!=null&&o.isWidget())&&this.text.length>r)&&!XY(a,t)&&this.lineBreak(),i=a}return this.findPointBefore(s,t),this}readTextNode(e){let t=e.nodeValue;for(let s of this.points)s.node==e&&(s.pos=this.text.length+Math.min(s.offset,t.length));for(let s=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let r=-1,o=1,a;if(this.lineSeparator?(r=t.indexOf(this.lineSeparator,s),o=this.lineSeparator.length):(a=i.exec(t))&&(r=a.index,o=a[0].length),this.append(t.slice(s,r<0?t.length:r)),r<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);s=r+o}}readNode(e){let t=qt.get(e),s=t&&t.overrideDOMText;if(s!=null){this.findPointInside(e,s.length);for(let i=s.iter();!i.next().done;)i.lineBreak?this.lineBreak():this.append(i.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let s of this.points)s.node==e&&e.childNodes[s.offset]==t&&(s.pos=this.text.length)}findPointInside(e,t){for(let s of this.points)(e.nodeType==3?s.node==e:e.contains(s.node))&&(s.pos=this.text.length+(ZY(e,s.node,s.offset)?t:0))}}function ZY(n,e,t){for(;;){if(!e||t-1;let{impreciseHead:r,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=dO(e.docView.tile,t,s,0))){let l=r||o?[]:QY(e),c=new KY(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=e7(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=r&&r.node==l.focusNode&&r.offset==l.focusOffset||!u_(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!u_(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),u=e.viewport;if((ue.ios||ue.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(u.from>0||u.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(te.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let d=e.coordsAtPos(c,-1),p=0;d&&(p=e.inputState.lastTouchY<=d.bottom?-1:1),this.newSel=te.create([te.cursor(c,p)])}else this.newSel=te.single(h,c)}}}function dO(n,e,t,s){if(n.isComposite()){let i=-1,r=-1,o=-1,a=-1;for(let l=0,c=s,h=s;lt)return dO(u,e,t,c);if(d>=e&&i==-1&&(i=l,r=c),c>t&&u.dom.parentNode==n.dom){o=l,a=h;break}h=d,c=d+u.breakAfter}return{from:r,to:a<0?s+n.length:a,startDOM:(i?n.children[i-1].dom.nextSibling:null)||n.dom.firstChild,endDOM:o=0?n.children[o].dom:null}}else return n.isText()?{from:s,to:s+n.length,startDOM:n.dom,endDOM:n.dom.nextSibling}:null}function fO(n,e){let t,{newSel:s}=e,{state:i}=n,r=i.selection.main,o=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=r.from,h=null;(o===8||ue.android&&e.text.length=a&&r.to<=l&&(e.typeOver||u!=e.text)&&u.slice(0,r.from-a)==e.text.slice(0,r.from-a)&&u.slice(r.to-a)==e.text.slice(d=e.text.length-(u.length-(r.to-a)))?t={from:r.from,to:r.to,insert:at.of(e.text.slice(r.from-a,d).split(Yc))}:(p=pO(u,e.text,c-a,h))&&(ue.chrome&&o==13&&p.toB==p.from+2&&e.text.slice(p.from,p.toB)==Yc+Yc&&p.toB--,t={from:a+p.from,to:a+p.toA,insert:at.of(e.text.slice(p.from,p.toB).split(Yc))})}else s&&(!n.hasFocus&&i.facet(bo)||by(s,r))&&(s=null);if(!t&&!s)return!1;if((ue.mac||ue.android)&&t&&t.from==t.to&&t.from==r.head-1&&/^\. ?$/.test(t.insert.toString())&&n.contentDOM.getAttribute("autocorrect")=="off"?(s&&t.insert.length==2&&(s=te.single(s.main.anchor-1,s.main.head-1)),t={from:t.from,to:t.to,insert:at.of([t.insert.toString().replace("."," ")])}):i.doc.lineAt(r.from).toDate.now()-50?t={from:r.from,to:r.to,insert:i.toText(n.inputState.insertingText)}:ue.chrome&&t&&t.from==t.to&&t.from==r.head&&t.insert.toString()==` + `&&n.lineWrapping&&(s&&(s=te.single(s.main.anchor-1,s.main.head-1)),t={from:r.from,to:r.to,insert:at.of([" "])}),t)return Pk(n,t,s,o);if(s&&!by(s,r)){let a=!1,l="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(a=!0),l=n.inputState.lastSelectionOrigin,l=="select.pointer"&&(s=uO(i.facet(Qp).map(c=>c(n)),s))),n.dispatch({selection:s,scrollIntoView:a,userEvent:l}),!0}else return!1}function Pk(n,e,t,s=-1){if(ue.ios&&n.inputState.flushIOSKey(e))return!0;let i=n.state.selection.main;if(ue.android&&(e.to==i.to&&(e.from==i.from||e.from==i.from-1&&n.state.sliceDoc(e.from,i.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&gh(n.contentDOM,"Enter",13)||(e.from==i.from-1&&e.to==i.to&&e.insert.length==0||s==8&&e.insert.lengthi.head)&&gh(n.contentDOM,"Backspace",8)||e.from==i.from&&e.to==i.to+1&&e.insert.length==0&&gh(n.contentDOM,"Delete",46)))return!0;let r=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,a=()=>o||(o=JY(n,e,t));return n.state.facet(JI).some(l=>l(n,e.from,e.to,r,a))||n.dispatch(a()),!0}function JY(n,e,t){let s,i=n.state,r=i.selection.main,o=-1;if(e.from==e.to&&e.fromr.to){let l=e.fromu(n)),c,l);e.from==h&&(o=h)}if(o>-1)s={changes:e,selection:te.cursor(e.from+e.insert.length,-1)};else if(e.from>=r.from&&e.to<=r.to&&e.to-e.from>=(r.to-r.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let l=r.frome.to?i.sliceDoc(e.to,r.to):"";s=i.replaceSelection(n.state.toText(l+e.insert.sliceString(0,void 0,n.state.lineBreak)+c))}else{let l=i.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(i.selection.ranges.length>1&&(n.inputState.composing>=0||n.inputState.compositionPendingChange)&&e.to<=r.to+10&&e.to>=r.to-10){let h=n.state.sliceDoc(e.from,e.to),u,d=t&&hO(n,t.main.head);if(d){let m=e.insert.length-(e.to-e.from);u={from:d.from,to:d.to-m}}else u=n.state.doc.lineAt(r.head);let p=r.to-e.to;s=i.changeByRange(m=>{if(m.from==r.from&&m.to==r.to)return{changes:l,range:c||m.map(l)};let g=m.to-p,v=g-h.length;if(n.state.sliceDoc(v,g)!=h||g>=u.from&&v<=u.to)return{range:m};let y=i.changes({from:v,to:g,insert:e.insert}),w=m.to-r.to;return{changes:y,range:c?te.range(Math.max(0,c.anchor+w),Math.max(0,c.head+w)):m.map(y)}})}else s={changes:l,selection:c&&i.selection.replaceRange(c)}}let a="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,a+=".compose",n.inputState.compositionFirstChange&&(a+=".start",n.inputState.compositionFirstChange=!1)),i.update(s,{userEvent:a,scrollIntoView:!0})}function pO(n,e,t,s){let i=Math.min(n.length,e.length),r=0;for(;r0&&a>0&&n.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(s=="end"){let l=Math.max(0,r-Math.min(o,a));t-=o+l-r}if(o=o?r-t:0;r-=l,a=r+(a-o),o=r}else if(a=a?r-t:0;r-=l,o=r+(o-a),a=r}return{from:r,toA:o,toB:a}}function QY(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:s,focusNode:i,focusOffset:r}=n.observer.selectionRange;return t&&(e.push(new EE(t,s)),(i!=t||r!=s)&&e.push(new EE(i,r))),e}function e7(n,e){if(n.length==0)return null;let t=n[0].pos,s=n.length==2?n[1].pos:t;return t>-1&&s>-1?te.single(t+e,s+e):null}function by(n,e){return e.head==n.main.head&&e.anchor==n.main.anchor}class t7{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,ue.safari&&e.contentDOM.addEventListener("input",()=>null),ue.gecko&&y7(e.contentDOM.ownerDocument)}handleEvent(e){!h7(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let s=this.handlers[e];if(s){for(let i of s.observers)i(this.view,t);for(let i of s.handlers){if(t.defaultPrevented)break;if(i(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=s7(e),s=this.handlers,i=this.view.contentDOM;for(let r in t)if(r!="scroll"){let o=!t[r].handlers.length,a=s[r];a&&o!=!a.handlers.length&&(i.removeEventListener(r,this.handleEvent),a=null),a||i.addEventListener(r,this.handleEvent,{passive:o})}for(let r in s)r!="scroll"&&!t[r]&&i.removeEventListener(r,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&gO.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),ue.android&&ue.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(ue.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(mO.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||i7.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&ue.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&n7(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:ue.safari&&!ue.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function n7(n){return n.visualViewport?n.visualViewport.height*n.visualViewport.scale/n.document.documentElement.clientHeight<.85:!1}function CE(n,e){return(t,s)=>{try{return e.call(n,s,t)}catch(i){Mr(t.state,i)}}}function s7(n){let e=Object.create(null);function t(s){return e[s]||(e[s]={observers:[],handlers:[]})}for(let s of n){let i=s.spec,r=i&&i.plugin.domEventHandlers,o=i&&i.plugin.domEventObservers;if(r)for(let a in r){let l=r[a];l&&t(a).handlers.push(CE(s.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(CE(s.value,l))}}for(let s in Ji)t(s).handlers.push(Ji[s]);for(let s in xs)t(s).observers.push(xs[s]);return e}const mO=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],i7="dthko",gO=[16,17,18,20,91,92,224,225],Pm=6;function Rm(n){return Math.max(0,n)*.7+8}function r7(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class o7{constructor(e,t,s,i){this.view=e,this.startEvent=t,this.style=s,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=LI(e.contentDOM),this.atoms=e.state.facet(Qp).map(o=>o(e));let r=e.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(ot.allowMultipleSelections)&&a7(e,t),this.dragging=c7(e,t)&&bO(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&r7(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,s=0,i=0,r=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:i,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:r,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=lO(this.view);e.clientX-l.left<=i+Pm?t=-Rm(i-e.clientX):e.clientX+l.right>=o-Pm&&(t=Rm(e.clientX-o)),e.clientY-l.top<=r+Pm?s=-Rm(r-e.clientY):e.clientY+l.bottom>=a-Pm&&(s=Rm(e.clientY-a)),this.setScrollSpeed(t,s)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,s=uO(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!s.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:s,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function a7(n,e){let t=n.state.facet(KI);return t.length?t[0](e):ue.mac?e.metaKey:e.ctrlKey}function l7(n,e){let t=n.state.facet(ZI);return t.length?t[0](e):ue.mac?!e.altKey:!e.ctrlKey}function c7(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let s=af(n.root);if(!s||s.rangeCount==0)return!0;let i=s.getRangeAt(0).getClientRects();for(let r=0;r=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function h7(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,s;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(s=qt.get(t))&&s.isWidget()&&!s.isHidden&&s.widget.ignoreEvent(e))return!1;return!0}const Ji=Object.create(null),xs=Object.create(null),yO=ue.ie&&ue.ie_version<15||ue.ios&&ue.webkit_version<604;function u7(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),vO(n,t.value)},50)}function L0(n,e,t){for(let s of n.facet(e))t=s(t,n);return t}function vO(n,e){e=L0(n.state,Ek,e);let{state:t}=n,s,i=1,r=t.toText(e),o=r.lines==t.selection.ranges.length;if(b_!=null&&t.selection.ranges.every(l=>l.empty)&&b_==r.toString()){let l=-1;s=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let u=t.toText((o?r.line(i++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:u},range:te.cursor(c.from+u.length)}})}else o?s=t.changeByRange(l=>{let c=r.line(i++);return{changes:{from:l.from,to:l.to,insert:c.text},range:te.cursor(l.from+c.length)}}):s=t.replaceSelection(r);n.dispatch(s,{userEvent:"input.paste",scrollIntoView:!0})}xs.scroll=n=>{let e=n.inputState;e.lastScrollTop=n.scrollDOM.scrollTop,e.lastScrollLeft=n.scrollDOM.scrollLeft,ue.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};xs.wheel=xs.mousewheel=n=>{n.inputState.lastWheelEvent=Date.now()};Ji.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);xs.touchstart=(n,e)=>{let t=n.inputState,s=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),s&&(t.lastTouchX=s.clientX,t.lastTouchY=s.clientY),t.setSelectionOrigin("select.pointer")};xs.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};xs.touchend=(n,e)=>{n.inputState.touchActive=!1};Ji.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let s of n.state.facet(XI))if(t=s(n,e),t)break;if(!t&&e.button==0&&(t=f7(n,e)),t){let s=!n.hasFocus;n.inputState.startMouseSelection(new o7(n,e,t,s)),s&&n.observer.ignore(()=>{jI(n.contentDOM);let r=n.root.activeElement;r&&!r.contains(n.contentDOM)&&r.blur()});let i=n.inputState.mouseSelection;if(i)return i.start(e),i.dragging===!1}else n.inputState.setSelectionOrigin("select.pointer");return!1};function $E(n,e,t,s){if(s==1)return te.cursor(e,t);if(s==2)return BY(n.state,e,t);{let i=n.docView.lineAt(e,t),r=n.state.doc.lineAt(i?i.posAtEnd:e),o=i?i.posAtStart:r.from,a=i?i.posAtEnd:r.to;return aDate.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(PE+1)%3:1}function f7(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),s=bO(e),i=n.state.selection;return{update(r){r.docChanged&&(t.pos=r.changes.mapPos(t.pos),i=i.map(r.changes))},get(r,o,a){let l=n.posAndSideAtCoords({x:r.clientX,y:r.clientY},!1),c,h=$E(n,l.pos,l.assoc,s);if(t.pos!=l.pos&&!o){let u=$E(n,t.pos,t.assoc,s),d=Math.min(u.from,h.from),p=Math.max(u.to,h.to);h=d1&&(c=p7(i,l.pos))?c:a?i.addRange(h):te.create([h])}}}function p7(n,e){for(let t=0;t=e)return te.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}Ji.dragstart=(n,e)=>{let{selection:{main:t}}=n.state;if(e.target.draggable){let i=n.docView.tile.nearest(e.target);if(i&&i.isWidget()){let r=i.posAtStart,o=r+i.length;(r>=t.to||o<=t.from)&&(t=te.undirectionalRange(r,o))}}let{inputState:s}=n;return s.mouseSelection&&(s.mouseSelection.dragging=!0),s.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",L0(n.state,Ck,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Ji.dragend=n=>(n.inputState.draggedContent=null,!1);function ME(n,e,t,s){if(t=L0(n.state,Ek,t),!t)return;let i=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:r}=n.inputState,o=s&&r&&l7(n,e)?{from:r.from,to:r.to}:null,a={from:i,insert:t},l=n.state.changes(o?[o,a]:a);n.focus(),n.dispatch({changes:l,selection:{anchor:l.mapPos(i,-1),head:l.mapPos(i,1)},userEvent:o?"move.drop":"input.drop"}),n.inputState.draggedContent=null}Ji.drop=(n,e)=>{if(!e.dataTransfer)return!1;if(n.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let s=Array(t.length),i=0,r=()=>{++i==t.length&&ME(n,e,s.filter(o=>o!=null).join(n.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(s[o]=a.result),r()},a.readAsText(t[o])}return!0}else{let s=e.dataTransfer.getData("Text");if(s)return ME(n,e,s,!0),!0}return!1};Ji.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=yO?null:e.clipboardData;return t?(vO(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(u7(n),!1)};function m7(n,e){let t=n.dom.parentNode;if(!t)return;let s=t.appendChild(document.createElement("textarea"));s.style.cssText="position: fixed; left: -10000px; top: 10px",s.value=e,s.focus(),s.selectionEnd=e.length,s.selectionStart=0,setTimeout(()=>{s.remove(),n.focus()},50)}function g7(n){let e=[],t=[],s=!1;for(let i of n.selection.ranges)i.empty||(e.push(n.sliceDoc(i.from,i.to)),t.push(i));if(!e.length){let i=-1;for(let{from:r}of n.selection.ranges){let o=n.doc.lineAt(r);o.number>i&&(e.push(o.text),t.push({from:o.from,to:Math.min(n.doc.length,o.to+1)})),i=o.number}s=!0}return{text:L0(n,Ck,e.join(n.lineBreak)),ranges:t,linewise:s}}let b_=null;Ji.copy=Ji.cut=(n,e)=>{if(!Ud(n.contentDOM,n.observer.selectionRange))return!1;let{text:t,ranges:s,linewise:i}=g7(n.state);if(!t&&!i)return!1;b_=i?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:s,scrollIntoView:!0,userEvent:"delete.cut"});let r=yO?null:e.clipboardData;return r?(r.clearData(),r.setData("text/plain",t),!0):(m7(n,t),!1)};const wO=ja.define();function _O(n,e){let t=[];for(let s of n.facet(QI)){let i=s(n,e);i&&t.push(i)}return t.length?n.update({effects:t,annotations:wO.of(!0)}):null}function SO(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=_O(n.state,e);t?n.dispatch(t):n.update([])}},10)}xs.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),SO(n)};xs.blur=n=>{n.observer.clearSelectionRange(),SO(n)};xs.compositionstart=xs.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};xs.compositionend=n=>{n.observer.editContext||(n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,ue.chrome&&ue.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};xs.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};Ji.beforeinput=(n,e)=>{var t,s;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(n.inputState.insertingText=e.data,n.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&n.observer.editContext){let r=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(r&&o.length){let a=o[0],l=n.posAtDOM(a.startContainer,a.startOffset),c=n.posAtDOM(a.endContainer,a.endOffset);return Pk(n,{from:l,to:c,insert:n.state.toText(r)},null),!0}}let i;if(ue.chrome&&ue.android&&(i=mO.find(r=>r.inputType==e.inputType))&&(n.observer.delayAndroidKey(i.key,i.keyCode),i.key=="Backspace"||i.key=="Delete")){let r=((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>r+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}return ue.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),ue.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>xs.compositionend(n,e),20),!1};const IE=new Set;function y7(n){IE.has(n)||(IE.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const OE=["pre-wrap","normal","pre-line","break-spaces"];let $u=!1;function NE(){$u=!1}class v7{constructor(e){this.lineWrapping=e,this.doc=at.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let s=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(s+=Math.max(0,Math.ceil((t-e-s*this.lineLength*.5)/this.lineLength))),this.lineHeight*s}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return OE.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let s=0;s-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=s,this.textHeight=i,this.lineLength=r,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Lg&&($u=!0),this.height=e)}replace(e,t,s){return Ss.of(s)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,s,i){let r=this,o=s.doc;for(let a=i.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:u}=i[a],d=r.lineAt(l,kt.ByPosNoHeight,s.setDoc(t),0,0),p=d.to>=c?d:r.lineAt(c,kt.ByPosNoHeight,s,0,0);for(u+=p.to-c,c=p.to;a>0&&d.from<=i[a-1].toA;)l=i[a-1].fromA,h=i[a-1].fromB,a--,lr*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),s+=1+a.break,i-=a.size}else if(r>i*2){let a=e[s];a.break?e.splice(s,1,a.left,null,a.right):e.splice(s,1,a.left,a.right),s+=2+a.break,r-=a.size}else break;else if(i=r&&o(this.lineAt(0,kt.ByPos,s,i,r))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,s=!1,i){return i&&i.from<=t&&i.more&&this.setMeasuredHeight(i),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Js extends kO{constructor(e,t,s){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=s}mainBlock(e,t){return new Gi(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,s){let i=s[0];return s.length==1&&(i instanceof Js||i instanceof Hn&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof Hn?i=new Js(i.length,this.height,this.spaceAbove):i.height=this.height,this.outdated||(i.outdated=!1),i):Ss.of(s)}updateHeight(e,t=0,s=!1,i){return i&&i.from<=t&&i.more?this.setMeasuredHeight(i):(s||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class Hn extends Ss{constructor(e){super(e,0)}heightMetrics(e,t){let s=e.doc.lineAt(t).number,i=e.doc.lineAt(t+this.length).number,r=i-s+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*r);o=l/r,this.length>r+1&&(a=(this.height-l)/(this.length-r-1))}else o=this.height/r;return{firstLine:s,lastLine:i,perLine:o,perChar:a}}blockAt(e,t,s,i){let{firstLine:r,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,i);if(t.lineWrapping){let c=i+(e0){let r=s[s.length-1];r instanceof Hn?s[s.length-1]=new Hn(r.length+i):s.push(null,new Hn(i-1))}if(e>0){let r=s[0];r instanceof Hn?s[0]=new Hn(e+r.length):s.unshift(new Hn(e-1),null)}return Ss.of(s)}decomposeLeft(e,t){t.push(new Hn(e-1),null)}decomposeRight(e,t){t.push(null,new Hn(this.length-e-1))}updateHeight(e,t=0,s=!1,i){let r=t+this.length;if(i&&i.from<=t+this.length&&i.more){let o=[],a=Math.max(t,i.from),l=-1;for(i.from>t&&o.push(new Hn(i.from-t-1).updateHeight(e,t));a<=r&&i.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let u=i.heights[i.index++],d=0;u<0&&(d=-u,u=i.heights[i.index++]),l==-1?l=u:Math.abs(u-l)>=Lg&&(l=-2);let p=new Js(h,u,d);p.outdated=!1,o.push(p),a+=h+1}a<=r&&o.push(null,new Hn(r-a).updateHeight(e,a));let c=Ss.of(o);return(l<0||Math.abs(c.height-this.height)>=Lg||Math.abs(l-this.heightMetrics(e,t).perLine)>=Lg)&&($u=!0),wy(this,c)}else(s||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class _7 extends Ss{constructor(e,t,s){super(e.length+t+s.length,e.height+s.height,t|(e.outdated||s.outdated?2:0)),this.left=e,this.right=s,this.size=e.size+s.size}get break(){return this.flags&1}blockAt(e,t,s,i){let r=s+this.left.height;return ea))return c;let h=t==kt.ByPosNoHeight?kt.ByPosNoHeight:kt.ByPos;return l?c.join(this.right.lineAt(a,h,s,o,a)):this.left.lineAt(a,h,s,i,r).join(c)}forEachLine(e,t,s,i,r,o){let a=i+this.left.height,l=r+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,s,a,l,o);else{let c=this.lineAt(l,kt.ByPos,s,i,r);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,s,a,l,o)}}replace(e,t,s){let i=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-i,t-i,s));let r=[];e>0&&this.decomposeLeft(e,r);let o=r.length;for(let a of s)r.push(a);if(e>0&&LE(r,o-1),t=s&&t.push(null)),e>s&&this.right.decomposeLeft(e-s,t)}decomposeRight(e,t){let s=this.left.length,i=s+this.break;if(e>=i)return this.right.decomposeRight(e-i,t);e2*t.size||t.size>2*e.size?Ss.of(this.break?[e,null,t]:[e,t]):(this.left=wy(this.left,e),this.right=wy(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,s=!1,i){let{left:r,right:o}=this,a=t+r.length+this.break,l=null;return i&&i.from<=t+r.length&&i.more?l=r=r.updateHeight(e,t,s,i):r.updateHeight(e,t,s),i&&i.from<=a+o.length&&i.more?l=o=o.updateHeight(e,a,s,i):o.updateHeight(e,a,s),l?this.balanced(r,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function LE(n,e){let t,s;n[e]==null&&(t=n[e-1])instanceof Hn&&(s=n[e+1])instanceof Hn&&n.splice(e-1,3,new Hn(t.length+1+s.length))}const S7=5;class Rk{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let s=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof Js?i.length+=s-this.pos:(s>this.pos||!this.isCovered)&&this.nodes.push(new Js(s-this.pos,-1,0)),this.writtenTo=s,t>s&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,s){if(e=S7)&&this.addLineDeco(i,r,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new Js(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let s=new Hn(t-e);return this.oracle.doc.lineAt(e).to==t&&(s.flags|=4),s}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Js)return e;let t=new Js(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,s){let i=this.ensureLine();i.length+=s,i.collapsed+=s,i.widgetHeight=Math.max(i.widgetHeight,e),i.breaks+=t,this.writtenTo=this.pos=this.pos+s}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof Js)&&!this.isCovered?this.nodes.push(new Js(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&u.overflow!="visible"){let d=h.getBoundingClientRect();r=Math.max(r,d.left),o=Math.min(o,d.right),a=Math.max(a,d.top),l=Math.min(c==n.parentNode?i.innerHeight:l,d.bottom)}c=u.position=="absolute"||u.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:r-t.left,right:Math.max(r,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function E7(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left0&&e.top0}function C7(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class xv{constructor(e,t,s,i){this.from=e,this.to=t,this.size=s,this.displaySize=i}static same(e,t){if(e.length!=t.length)return!1;for(let s=0;stypeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new v7(s),this.stateDeco=jE(t),this.heightMap=Ss.empty().applyChanges(this.stateDeco,at.empty,this.heightOracle.setDoc(t.doc),[new gi(0,0,0,t.doc.length)]);for(let i=0;i<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());i++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Ye.set(this.lineGaps.map(i=>i.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let s=0;s<=1;s++){let i=s?t.head:t.anchor;if(!e.some(({from:r,to:o})=>i>=r&&i<=o)){let{from:r,to:o}=this.lineBlockAt(i);e.push(new Mm(r,o))}}return this.viewports=e.sort((s,i)=>s.from-i.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?FE:new Mk(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Ed(e,this.scaler))})}update(e,t=null){this.state=e.state;let s=this.stateDeco;this.stateDeco=jE(this.state);let i=e.changedRanges,r=gi.extendWithRanges(i,k7(s,this.stateDeco,e?e.changes:gn.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);NE(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),r),(this.heightMap.height!=o||$u)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=r.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(tO)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,s=window.getComputedStyle(t),i=this.heightOracle,r=s.whiteSpace;this.defaultTextDirection=s.direction=="rtl"?It.RTL:It.LTR;let o=this.heightOracle.mustRefreshForWrapping(r)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:k,scaleY:$}=NI(t,a);(k>.005&&Math.abs(this.scaleX-k)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=k,this.scaleY=$,c|=16,o=l=!0)}let u=(parseInt(s.paddingTop)||0)*this.scaleY,d=(parseInt(s.paddingBottom)||0)*this.scaleY;(this.paddingTop!=u||this.paddingBottom!=d)&&(this.paddingTop=u,this.paddingBottom=d,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(i.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let p=LI(this.view.contentDOM,!1).y;p!=this.scrollParent&&(this.scrollParent=p,this.scrollAnchorHeight=-1,this.scrollOffset=0);let m=this.getScrollOffset();this.scrollOffset!=m&&(this.scrollAnchorHeight=-1,this.scrollOffset=m),this.scrolledToBottom=zI(this.scrollParent||e.win);let g=(this.printing?C7:x7)(t,this.paddingTop),v=g.top-this.pixelViewport.top,y=g.bottom-this.pixelViewport.bottom;this.pixelViewport=g;let w=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(w!=this.inView&&(this.inView=w,w&&(l=!0)),!this.inView&&!this.scrollTarget&&!E7(e.dom))return 0;let _=a.width;if((this.contentDOMWidth!=_||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let k=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(k)&&(o=!0),o||i.lineWrapping&&Math.abs(_-this.contentDOMWidth)>i.charWidth){let{lineHeight:$,charWidth:E,textHeight:O}=e.docView.measureTextSize();o=$>0&&i.refresh(r,$,E,O,Math.max(5,_/E),k),o&&(e.docView.minWidth=0,c|=16)}v>0&&y>0?h=Math.max(v,y):v<0&&y<0&&(h=Math.min(v,y)),NE();for(let $ of this.viewports){let E=$.from==this.viewport.from?k:e.docView.measureVisibleLineHeights($);this.heightMap=(o?Ss.empty().applyChanges(this.stateDeco,at.empty,this.heightOracle,[new gi(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,o,new b7($.from,E))}$u&&(c|=2)}let A=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return A&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||A)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let s=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),i=this.heightMap,r=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new Mm(i.lineAt(o-s*1e3,kt.ByHeight,r,0,0).from,i.lineAt(a+(1-s)*1e3,kt.ByHeight,r,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),u=i.lineAt(c,kt.ByPos,r,0,0),d;t.y=="center"?d=(u.top+u.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(s,250)))&&i>o-2*1e3&&r>1,o=i<<1;if(this.defaultTextDirection!=It.LTR&&!s)return[];let a=[],l=(h,u,d,p)=>{if(u-hh&&yy.from>=d.from&&y.to<=d.to&&Math.abs(y.from-h)y.fromw));if(!v){if(u_.from<=u&&_.to>=u)){let _=t.moveToLineBoundary(te.cursor(u),!1,!0).head;_>h&&(u=_)}let y=this.gapSize(d,h,u,p),w=s||y<2e6?y:2e6;v=new xv(h,u,y,w)}a.push(v)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,p,h,u),mt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let s=[];st.spans(t,this.viewport.from,this.viewport.to,{span(r,o){s.push({from:r,to:o})},point(){}},20);let i=0;if(s.length!=this.visibleRanges.length)i=12;else for(let r=0;r=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Ed(this.heightMap.lineAt(e,kt.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Ed(this.heightMap.lineAt(this.scaler.fromDOM(e),kt.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Ed(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Mm{constructor(e,t){this.from=e,this.to=t}}function T7(n,e,t){let s=[],i=n,r=0;return st.spans(t,n,e,{span(){},point(o,a){o>i&&(s.push({from:i,to:o}),r+=o-i),i=a}},20),i=1)return e[e.length-1].to;let s=Math.floor(n*t);for(let i=0;;i++){let{from:r,to:o}=e[i],a=o-r;if(s<=a)return r+s;s-=a}}function Om(n,e){let t=0;for(let{from:s,to:i}of n.ranges){if(e<=i){t+=e-s;break}t+=i-s}return t/n.total}function P7(n,e){for(let t of n)if(e(t))return t}const FE={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};function jE(n){let e=n.facet(I0).filter(s=>typeof s!="function"),t=n.facet(Tk).filter(s=>typeof s!="function");return t.length&&e.push(st.join(t)),e}class Mk{constructor(e,t,s){let i=0,r=0,o=0;this.viewports=s.map(({from:a,to:l})=>{let c=t.lineAt(a,kt.ByPos,e,0,0).top,h=t.lineAt(l,kt.ByPos,e,0,0).bottom;return i+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-i)/(t.height-i);for(let a of this.viewports)a.domTop=o+(a.top-r)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),r=a.bottom}toDOM(e){for(let t=0,s=0,i=0;;t++){let r=tt.from==e.viewports[s].from&&t.to==e.viewports[s].to):!1}}function Ed(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),s=e.toDOM(n.bottom);return new Gi(n.from,n.length,t,s-t,Array.isArray(n._content)?n._content.map(i=>Ed(i,e)):n._content)}const Nm=ye.define({combine:n=>n.join(" ")}),w_=ye.define({combine:n=>n.indexOf(!0)>-1}),__=xu.newName(),AO=xu.newName(),xO=xu.newName(),EO={"&light":"."+AO,"&dark":"."+xO};function S_(n,e,t){return new xu(e,{finish(s){return/&/.test(s)?s.replace(/&\w*/,i=>{if(i=="&")return n;if(!t||!t[i])throw new RangeError(`Unsupported selector: ${i}`);return t[i]}):n+" "+s}})}const R7=S_("."+__,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},".cm-panels-top":{top:"0"},".cm-panels-bottom":{bottom:"0"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},EO),M7={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Ev=ue.ie&&ue.ie_version<=11;class I7{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new lY,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let s of t)this.queue.push(s);(ue.ie&&ue.ie_version<=11||ue.ios&&e.composing)&&t.some(s=>s.type=="childList"&&s.removedNodes.length||s.type=="characterData"&&s.oldValue.length>s.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&ue.android&&e.constructor.EDIT_CONTEXT!==!1&&!(ue.chrome&&ue.chrome_version<126)&&(this.editContext=new N7(e),e.state.facet(bo)&&(e.contentDOM.editContext=this.editContext.editContext)),Ev&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,s)=>t!=e[s]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:s}=this,i=this.selectionRange;if(s.state.facet(bo)?s.root.activeElement!=this.dom:!Ud(this.dom,i))return;let r=i.anchorNode&&s.docView.tile.nearest(i.anchorNode);if(r&&r.isWidget()&&r.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(ue.ie&&ue.ie_version<=11||ue.android&&ue.chrome)&&!s.state.selection.main.empty&&i.focusNode&&qd(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=af(e.root);if(!t)return!1;let s=ue.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&O7(this.view,t)||t;if(!s||this.selectionRange.eq(s))return!1;let i=Ud(this.dom,s);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let r=this.delayedAndroidKey;r&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=r.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&r.force&&gh(this.dom,r.key,r.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(i)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,s=-1,i=!1;for(let r of e){let o=this.readMutation(r);o&&(o.typeOver&&(i=!0),t==-1?{from:t,to:s}=o:(t=Math.min(o.from,t),s=Math.max(o.to,s)))}return{from:t,to:s,typeOver:i}}readChange(){let{from:e,to:t,typeOver:s}=this.processRecords(),i=this.selectionChanged&&Ud(this.dom,this.selectionRange);if(e<0&&!i)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let r=new YY(this.view,e,t,s);return this.view.docView.domChanged={newSel:r.newSel?r.newSel.main:null},r}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let s=this.view.state,i=fO(this.view,t);return this.view.state==s&&(t.domChanged||t.newSel&&!by(this.view.state.selection,t.newSel.main))&&this.view.update([]),i}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let s=zE(t,e.previousSibling||e.target.previousSibling,-1),i=zE(t,e.nextSibling||e.target.nextSibling,1);return{from:s?t.posAfter(s):t.posAtStart,to:i?t.posBefore(i):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(bo)!=e.state.facet(bo)&&(e.view.contentDOM.editContext=e.state.facet(bo)?this.editContext.editContext:null))}destroy(){var e,t,s;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(s=this.resizeScroll)===null||s===void 0||s.disconnect();for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function zE(n,e,t){for(;e;){let s=qt.get(e);if(s&&s.parent==n)return s;let i=e.parentNode;e=i!=n.dom?i:t>0?e.nextSibling:e.previousSibling}return null}function HE(n,e){let t=e.startContainer,s=e.startOffset,i=e.endContainer,r=e.endOffset,o=n.docView.domAtPos(n.state.selection.main.anchor,1);return qd(o.node,o.offset,i,r)&&([t,s,i,r]=[i,r,t,s]),{anchorNode:t,anchorOffset:s,focusNode:i,focusOffset:r}}function O7(n,e){if(e.getComposedRanges){let i=e.getComposedRanges(n.root)[0];if(i)return HE(n,i)}let t=null;function s(i){i.preventDefault(),i.stopImmediatePropagation(),t=i.getTargetRanges()[0]}return n.contentDOM.addEventListener("beforeinput",s,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",s,!0),t?HE(n,t):null}class N7{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=s=>{let i=e.state.selection.main,{anchor:r,head:o}=i,a=this.toEditorPos(s.updateRangeStart),l=this.toEditorPos(s.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:s.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>s.text.length;a==this.from&&rthis.to&&(l=r);let h=pO(e.state.sliceDoc(a,l),s.text,(c?i.from:i.to)-a,c?"end":null);if(!h){let d=te.single(this.toEditorPos(s.selectionStart),this.toEditorPos(s.selectionEnd));by(d,i)||e.dispatch({selection:d,userEvent:"select"});return}let u={from:h.from+a,to:h.toA+a,insert:at.of(s.text.slice(h.from,h.toB).split(` +`))};if((ue.mac||ue.android)&&u.from==o-1&&/^\. ?$/.test(s.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(u={from:a,to:l,insert:at.of([s.text.replace("."," ")])}),this.pendingContextChange=u,!e.state.readOnly){let d=this.to-this.from+(u.to-u.from+u.insert.length);Pk(e,u,te.single(this.toEditorPos(s.selectionStart,d),this.toEditorPos(s.selectionEnd,d)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),u.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,s.updateRangeStart-1),Math.min(t.text.length,s.updateRangeStart+1)))&&this.handlers.compositionend(s)},this.handlers.characterboundsupdate=s=>{let i=[],r=null;for(let o=this.toEditorPos(s.rangeStart),a=this.toEditorPos(s.rangeEnd);o{let i=[];for(let r of s.getTextFormats()){let o=r.underlineStyle,a=r.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(r.rangeStart),c=this.toEditorPos(r.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:s}=this.composing;this.composing=null,s&&this.reset(e.state)}};for(let s in this.handlers)t.addEventListener(s,this.handlers[s]);this.measureReq={read:s=>{let i=af(s.root);i&&i.rangeCount&&this.editContext.updateSelectionBounds(i.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,s=!1,i=this.pendingContextChange;return e.changes.iterChanges((r,o,a,l,c)=>{if(s)return;let h=c.length-(o-r);if(i&&o>=i.to)if(i.from==r&&i.to==o&&i.insert.eq(c)){i=this.pendingContextChange=null,t+=h,this.to+=h;return}else i=null,this.revertPending(e.state);if(r+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(rthis.to||this.to-this.from+c.length>3e4){s=!0;return}this.editContext.updateText(this.toContextPos(r),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),i&&!s&&this.revertPending(e.state),!s}update(e){let t=this.pendingContextChange,s=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(s.from,s.to)&&e.transactions.some(i=>!i.isUserEvent("input.type")&&i.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,s=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),i=this.toContextPos(t.head);(this.editContext.selectionStart!=s||this.editContext.selectionEnd!=i)&&this.editContext.updateSelection(s,i)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let s=this.composing;return s&&s.drifted?s.editorBase+(e-s.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class Se{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:s}=e;this.dispatchTransactions=e.dispatchTransactions||s&&(i=>i.forEach(r=>s(r,this)))||(i=>this.update(i)),this.dispatch=this.dispatch.bind(this),this._root=e.root||cY(e.parent)||document,this.viewState=new DE(this,e.state||ot.create(e)),e.scrollTo&&e.scrollTo.is(Tm)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(sh).map(i=>new wv(i));for(let i of this.plugins)i.update(this);this.observer=new I7(this),this.inputState=new t7(this),this.inputState.ensureHandlers(this.plugins),this.docView=new AE(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof bn?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,s=!1,i,r=this.state;for(let d of e){if(d.startState!=r)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");r=d.state}if(this.destroyed){this.viewState.state=r;return}let o=this.hasFocus,a=0,l=null;e.some(d=>d.annotation(wO))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=_O(r,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(r.doc)||!this.state.selection.eq(r.selection))&&(h=null)):this.observer.clear(),r.facet(ot.phrases)!=this.state.facet(ot.phrases))return this.setState(r);i=gy.create(this,r,e),i.flags|=a;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let d of e){if(u&&(u=u.map(d.changes)),d.scrollIntoView){let{main:p}=d.state.selection,{x:m,y:g}=this.state.facet(Se.cursorScrollMargin);u=new yh(p.empty?p:te.cursor(p.head,p.head>p.anchor?-1:1),"nearest","nearest",g,m)}for(let p of d.effects)p.is(Tm)&&(u=p.value.clip(this.state))}this.viewState.update(i,u),this.bidiCache=_y.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),t=this.docView.update(i),this.state.facet(xd)!=this.styleModules&&this.mountStyles(),s=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(d=>d.isUserEvent("select.pointer")))}finally{this.updateState=0}if(i.startState.facet(Nm)!=i.state.facet(Nm)&&(this.viewState.mustMeasureContent=!0),(t||s||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!i.empty)for(let d of this.state.facet(m_))try{d(i)}catch(p){Mr(this.state,p,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!fO(this,h)&&c.force&&gh(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let s of this.plugins)s.destroy(this);this.viewState=new DE(this,e),this.plugins=e.facet(sh).map(s=>new wv(s)),this.pluginMap.clear();for(let s of this.plugins)s.update(this);this.docView.destroy(),this.docView=new AE(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(sh),s=e.state.facet(sh);if(t!=s){let i=[];for(let r of s){let o=t.indexOf(r);if(o<0)i.push(new wv(r));else{let a=this.plugins[o];a.mustUpdate=e,i.push(a)}}for(let r of this.plugins)r.mustUpdate!=e&&r.destroy(this);this.plugins=i,this.pluginMap.clear()}else for(let i of this.plugins)i.mustUpdate=e;for(let i=0;i-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,s=this.viewState.scrollParent,i=this.viewState.getScrollOffset(),{scrollAnchorPos:r,scrollAnchorHeight:o}=this.viewState;Math.abs(i-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(zI(s||this.win))r=-1,o=this.viewState.heightMap.height;else{let p=this.viewState.scrollAnchorAt(i);r=p.from,o=p.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(p=>{try{return p.read(this)}catch(m){return Mr(this.state,m),BE}}),u=gy.create(this,this.state,[]),d=!1;u.flags|=l,t?t.flags|=l:t=u,this.updateState=2,u.empty||(this.updatePlugins(u),this.inputState.update(u),this.updateAttrs(),d=this.docView.update(u),d&&this.docViewUpdate());for(let p=0;p1||m<-1)&&!(ue.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(s==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){i=i+m,s?r<0?s.scrollTop=s.scrollHeight:s.scrollTop+=m:this.win.scrollBy(0,m),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(m_))a(t)}get themeClasses(){return __+" "+(this.state.facet(w_)?xO:AO)+" "+this.state.facet(Nm)}updateAttrs(){let e=UE(this,iO,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(bo)?"true":"false",class:"cm-content",style:`${ue.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),UE(this,$k,t);let s=this.observer.ignore(()=>{let i=vE(this.contentDOM,this.contentAttrs,t),r=vE(this.dom,this.editorAttrs,e);return i||r});return this.editorAttrs=e,this.contentAttrs=t,s}showAnnouncements(e){let t=!0;for(let s of e)for(let i of s.effects)if(i.is(Se.announce)){t&&(this.announceDOM.textContent=""),t=!1;let r=this.announceDOM.appendChild(document.createElement("div"));r.textContent=i.value}}mountStyles(){this.styleModules=this.state.facet(xd);let e=this.state.facet(Se.cspNonce);xu.mount(this.root,this.styleModules.concat(R7).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;ts.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,s){return Av(this,e,xE(this,e,t,s))}moveByGroup(e,t){return Av(this,e,xE(this,e,t,s=>VY(this,e.head,s)))}visualLineSide(e,t){let s=this.bidiSpans(e),i=this.textDirectionAt(e.from),r=s[t?s.length-1:0];return te.cursor(r.side(t,i)+e.from,r.forward(!t,i)?1:-1)}moveToLineBoundary(e,t,s=!0){return qY(this,e,t,s)}moveVertically(e,t,s){return Av(this,e,WY(this,e,t,s))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let s=v_(this,e,t);return s&&s.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),v_(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let s=this.state.doc.lineAt(e),i=this.bidiSpans(s),r=i[Rr.find(i,e-s.from,-1,t)];return this.docView.coordsAt(e,t,r.dir==It.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(eO)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>L7)return WI(e.length);let t=this.textDirectionAt(e.from),s;for(let r of this.bidiCache)if(r.from==e.from&&r.dir==t&&(r.fresh||VI(r.isolates,s=_E(this,e))))return r.order;s||(s=_E(this,e));let i=yY(e.text,t,s);return this.bidiCache.push(new _y(e.from,e.to,t,s,!0,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||ue.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{jI(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var s,i,r,o;return Tm.of(new yh(typeof e=="number"?te.cursor(e):e,(s=t.y)!==null&&s!==void 0?s:"nearest",(i=t.x)!==null&&i!==void 0?i:"nearest",(r=t.yMargin)!==null&&r!==void 0?r:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,s=this.viewState.scrollAnchorAt(e);return Tm.of(new yh(te.cursor(s.from),"start","start",s.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return ni.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return ni.define(()=>({}),{eventObservers:e})}static theme(e,t){let s=xu.newName(),i=[Nm.of(s),xd.of(S_(`.${s}`,e))];return t&&t.dark&&i.push(w_.of(!0)),i}static baseTheme(e){return T0.lowest(xd.of(S_("."+__,e,EO)))}static findFromDOM(e){var t;let s=e.querySelector(".cm-content"),i=s&&qt.get(s)||qt.get(e);return((t=i==null?void 0:i.root)===null||t===void 0?void 0:t.view)||null}}Se.styleModule=xd;Se.inputHandler=JI;Se.clipboardInputFilter=Ek;Se.clipboardOutputFilter=Ck;Se.scrollHandler=nO;Se.focusChangeEffect=QI;Se.perLineTextDirection=eO;Se.exceptionSink=YI;Se.updateListener=m_;Se.editable=bo;Se.mouseSelectionStyle=XI;Se.dragMovesSelection=ZI;Se.clickAddsSelectionRange=KI;Se.decorations=I0;Se.blockWrappers=rO;Se.outerDecorations=Tk;Se.atomicRanges=Qp;Se.bidiIsolatedRanges=oO;Se.cursorScrollMargin=ye.define({combine:n=>{let e=5,t=5;for(let s of n)typeof s=="number"?e=t=s:{x:e,y:t}=s;return{x:e,y:t}}});Se.scrollMargins=aO;Se.darkTheme=w_;Se.cspNonce=ye.define({combine:n=>n.length?n[0]:""});Se.contentAttributes=$k;Se.editorAttributes=iO;Se.lineWrapping=Se.contentAttributes.of({class:"cm-lineWrapping"});Se.announce=bt.define();const L7=4096,BE={};class _y{constructor(e,t,s,i,r,o){this.from=e,this.to=t,this.dir=s,this.isolates=i,this.fresh=r,this.order=o}static update(e,t){if(t.empty&&!e.some(r=>r.fresh))return e;let s=[],i=e.length?e[e.length-1].dir:It.LTR;for(let r=Math.max(0,e.length-10);r=0;i--){let r=s[i],o=typeof r=="function"?r(n):r;o&&kk(o,t)}return t}const D7=ue.mac?"mac":ue.windows?"win":ue.linux?"linux":"key";function F7(n,e){const t=n.split(/-(?!$)/);let s=t[t.length-1];s=="Space"&&(s=" ");let i,r,o,a;for(let l=0;ls.concat(i),[]))),t}function z7(n,e,t){return TO($O(n.state),e,n,t)}let qo=null;const H7=4e3;function B7(n,e=D7){let t=Object.create(null),s=Object.create(null),i=(o,a)=>{let l=s[o];if(l==null)s[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},r=(o,a,l,c,h)=>{var u,d;let p=t[o]||(t[o]=Object.create(null)),m=a.split(/ (?!$)/).map(y=>F7(y,e));for(let y=1;y{let A=qo={view:_,prefix:w,scope:o};return setTimeout(()=>{qo==A&&(qo=null)},H7),!0}]})}let g=m.join(" ");i(g,!1);let v=p[g]||(p[g]={preventDefault:!1,stopPropagation:!1,run:((d=(u=p._any)===null||u===void 0?void 0:u.run)===null||d===void 0?void 0:d.slice())||[]});l&&v.run.push(l),c&&(v.preventDefault=!0),h&&(v.stopPropagation=!0)};for(let o of n){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:u}=o;for(let d in h)h[d].run.push(p=>u(p,k_))}let l=o[e]||o.key;if(l)for(let c of a)r(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&r(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}let k_=null;function TO(n,e,t,s){k_=e;let i=nY(e),r=yI(i,0),o=vI(r)==i.length&&i!=" ",a="",l=!1,c=!1,h=!1;qo&&qo.view==t&&qo.scope==s&&(a=qo.prefix+" ",gO.indexOf(e.keyCode)<0&&(c=!0,qo=null));let u=new Set,d=v=>{if(v){for(let y of v.run)if(!u.has(y)&&(u.add(y),y(t)))return v.stopPropagation&&(h=!0),!0;v.preventDefault&&(v.stopPropagation&&(h=!0),c=!0)}return!1},p=n[s],m,g;return p&&(d(p[a+Lm(i,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(ue.windows&&e.ctrlKey&&e.altKey)&&!(ue.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=Ra[e.keyCode])&&m!=i?(d(p[a+Lm(m,e,!0)])||e.shiftKey&&(g=rf[e.keyCode])!=i&&g!=m&&d(p[a+Lm(g,e,!1)]))&&(l=!0):o&&e.shiftKey&&d(p[a+Lm(i,e,!0)])&&(l=!0),!l&&d(p._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),k_=null,l}class cc{constructor(e,t,s,i,r){this.className=e,this.left=t,this.top=s,this.width=i,this.height=r}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,s){if(s.empty){let i=e.coordsAtPos(s.head,s.assoc||1);if(!i)return[];let r=PO(e);return[new cc(t,i.left-r.left,i.top-r.top,null,i.bottom-i.top)]}else return U7(e,t,s)}}function PO(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==It.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function VE(n,e,t,s){let i=n.coordsAtPos(e,t*2);if(!i)return s;let r=n.dom.getBoundingClientRect(),o=(i.top+i.bottom)/2,a=n.posAtCoords({x:r.left+1,y:o}),l=n.posAtCoords({x:r.right-1,y:o});return a==null||l==null?s:{from:Math.max(s.from,Math.min(a,l)),to:Math.min(s.to,Math.max(a,l))}}function U7(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let s=Math.max(t.from,n.viewport.from),i=Math.min(t.to,n.viewport.to),r=n.textDirection==It.LTR,o=n.contentDOM,a=o.getBoundingClientRect(),l=PO(n),c=o.querySelector(".cm-line"),h=c&&window.getComputedStyle(c),u=a.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),d=a.right-(h?parseInt(h.paddingRight):0),p=y_(n,s,1),m=y_(n,i,-1),g=p.type==Gn.Text?p:null,v=m.type==Gn.Text?m:null;if(g&&(n.lineWrapping||p.widgetLineBreaks)&&(g=VE(n,s,1,g)),v&&(n.lineWrapping||m.widgetLineBreaks)&&(v=VE(n,i,-1,v)),g&&v&&g.from==v.from&&g.to==v.to)return w(_(t.from,t.to,g));{let k=g?_(t.from,null,g):A(p,!1),$=v?_(null,t.to,v):A(m,!0),E=[];return(g||p).to<(v||m).from-(g&&v?1:0)||p.widgetLineBreaks>1&&k.bottom+n.defaultLineHeight/2<$.top?E.push(y(u,k.bottom,d,$.top)):k.bottom<$.top&&n.elementAtHeight((k.bottom+$.top)/2).type==Gn.Text&&(k.bottom=$.top=(k.bottom+$.top)/2),w(k).concat(E).concat(w($))}function y(k,$,E,O){return new cc(e,k-l.left,$-l.top,Math.max(0,E-k),O-$)}function w({top:k,bottom:$,horizontal:E}){let O=[];for(let F=0;FH&&D.from=X)break;z>Y&&L(Math.max(ve,Y),k==null&&ve<=H,Math.min(z,X),$==null&&z>=B,se.dir)}if(Y=Q.to+1,Y>=X)break}return U.length==0&&L(H,k==null,B,$==null,n.textDirection),{top:O,bottom:F,horizontal:U}}function A(k,$){let E=a.top+($?k.top:k.bottom);return{top:E,bottom:E,horizontal:[]}}}function q7(n,e){return n.constructor==e.constructor&&n.eq(e)}class V7{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Dg)!=e.state.facet(Dg)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,s=e.facet(Dg);for(;t!q7(t,this.drawn[s]))){let t=this.dom.firstChild,s=0;for(let i of e)i.update&&t&&i.constructor&&this.drawn[s].constructor&&i.update(t,this.drawn[s])?(t=t.nextSibling,s++):this.dom.insertBefore(i.draw(),t);for(;t;){let i=t.nextSibling;t.remove(),t=i}this.drawn=e,ue.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Dg=ye.define();function RO(n){return[ni.define(e=>new V7(e,n)),Dg.of(n)]}const Tu=ye.define({combine(n){return Hu(n,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function W7(n={}){return[Tu.of(n),G7,K7,X7,tO.of(!0)]}function MO(n){return n.startState.facet(Tu)!=n.state.facet(Tu)}const G7=RO({above:!0,markers(n){let{state:e}=n,t=e.facet(Tu),s=[];for(let i of e.selection.ranges){let r=i==e.selection.main;if(i.empty||t.drawRangeCursor&&!(r&&ue.ios&&t.iosSelectionHandles)){let o=r?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=i.empty?i:te.cursor(i.head,i.assoc);for(let l of cc.forRange(n,o,a))s.push(l)}}return s},update(n,e){n.transactions.some(s=>s.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=MO(n);return t&&WE(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){WE(e.state,n)},class:"cm-cursorLayer"});function WE(n,e){e.style.animationDuration=n.facet(Tu).cursorBlinkRate+"ms"}const K7=RO({above:!1,markers(n){let e=[],{main:t,ranges:s}=n.state.selection;for(let i of s)if(!i.empty)for(let r of cc.forRange(n,"cm-selectionBackground",i))e.push(r);if(ue.ios&&!t.empty&&n.state.facet(Tu).iosSelectionHandles){for(let i of cc.forRange(n,"cm-selectionHandle cm-selectionHandle-start",te.cursor(t.from,1)))e.push(i);for(let i of cc.forRange(n,"cm-selectionHandle cm-selectionHandle-end",te.cursor(t.to,1)))e.push(i)}return e},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||MO(n)},class:"cm-selectionLayer"}),Z7=ue.gecko&&ue.gecko_version==153?"#ffffff01":"transparent",X7=T0.highest(Se.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:`${Z7} !important`},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}}));function Y7(){return Q7}const J7=Ye.line({class:"cm-activeLine"}),Q7=ni.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let s of n.state.selection.ranges){let i=n.lineBlockAt(s.head);i.from>e&&(t.push(J7.range(i.from)),e=i.from)}return Ye.set(t)}},{decorations:n=>n.decorations}),GE=ye.define({combine(n){let e,t;for(let s of n)e=e||s.topContainer,t=t||s.bottomContainer;return{topContainer:e,bottomContainer:t}}});function IO(n,e){let t=n.plugin(OO),s=t?t.specs.indexOf(e):-1;return s>-1?t.panels[s]:null}const OO=ni.fromClass(class{constructor(n){this.input=n.state.facet(Sy),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(GE);this.top=new Dm(n,!0,e.topContainer),this.bottom=new Dm(n,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(n){let e=n.state.facet(GE);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Dm(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Dm(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(Sy);if(t!=this.input){let s=t.filter(l=>l),i=[],r=[],o=[],a=[];for(let l of s){let c=this.specs.indexOf(l),h;c<0?(h=l(n.view),a.push(h)):(h=this.panels[c],h.update&&h.update(n)),i.push(h),(h.top?r:o).push(h)}this.specs=s,this.panels=i,this.top.sync(r),this.bottom.sync(o);for(let l of a)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let s of this.panels)s.update&&s.update(n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:n=>Se.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class Dm{constructor(e,t,s){this.view=e,this.top=t,this.container=s,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=KE(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=KE(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function KE(n){let e=n.nextSibling;return n.remove(),e}const Sy=ye.define({enables:OO});function eJ(n,e){let t,s=new Promise(o=>t=o),i=o=>tJ(o,e,t);n.state.field(Cv,!1)?n.dispatch({effects:NO.of(i)}):n.dispatch({effects:bt.appendConfig.of(Cv.init(()=>[i]))});let r=LO.of(i);return{close:r,result:s.then(o=>((n.win.queueMicrotask||(l=>n.win.setTimeout(l,10)))(()=>{n.state.field(Cv).indexOf(i)>-1&&n.dispatch({effects:r})}),o))}}const Cv=jr.define({create(){return[]},update(n,e){for(let t of e.effects)t.is(NO)?n=[t.value].concat(n):t.is(LO)&&(n=n.filter(s=>s!=t.value));return n},provide:n=>Sy.computeN([n],e=>e.field(n))}),NO=bt.define(),LO=bt.define();function tJ(n,e,t){let s=e.content?e.content(n,()=>o(null)):null;if(!s){if(s=Cn("form"),e.input){let a=Cn("input",e.input);/^(text|password|number|email|tel|url)$/.test(a.type)&&a.classList.add("cm-textfield"),a.name||(a.name="input"),s.appendChild(Cn("label",(e.label||"")+": ",a))}else s.appendChild(document.createTextNode(e.label||""));s.appendChild(document.createTextNode(" ")),s.appendChild(Cn("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let i=s.nodeName=="FORM"?[s]:s.querySelectorAll("form");for(let a=0;a{c.keyCode==27?(c.preventDefault(),o(null)):c.keyCode==13&&(c.preventDefault(),o(l))}),l.addEventListener("submit",c=>{c.preventDefault(),o(l)})}let r=Cn("div",s,Cn("button",{onclick:()=>o(null),"aria-label":n.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));e.class&&(r.className=e.class),r.classList.add("cm-dialog");function o(a){r.contains(r.ownerDocument.activeElement)&&n.focus(),t(a)}return{dom:r,top:e.top,mount:()=>{if(e.focus){let a;typeof e.focus=="string"?a=s.querySelector(e.focus):a=s.querySelector("input")||s.querySelector("button"),a&&"select"in a?a.select():a&&"focus"in a&&a.focus()}}}}class xc extends _c{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}xc.prototype.elementClass="";xc.prototype.toDOM=void 0;xc.prototype.mapMode=ei.TrackBefore;xc.prototype.startSide=xc.prototype.endSide=-1;xc.prototype.point=!0;const $v=ye.define(),nJ=ye.define(),Fg=ye.define(),ZE=ye.define({combine:n=>n.some(e=>e)});function sJ(n){return[iJ]}const iJ=ni.fromClass(class{constructor(n){this.view=n,this.domAfter=null,this.prevViewport=n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=n.state.facet(Fg).map(e=>new YE(n,e)),this.fixed=!n.state.facet(ZE);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),n.scrollDOM.insertBefore(this.dom,n.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(n){if(this.updateGutters(n)){let e=this.prevViewport,t=n.view.viewport,s=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(s<(t.to-t.from)*.8)}if(n.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(ZE)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=n.view.viewport}syncGutters(n){let e=this.dom.nextSibling;n&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=st.iter(this.view.state.facet($v),this.view.viewport.from),s=[],i=this.gutters.map(r=>new rJ(r,this.view.viewport,-this.view.documentPadding.top));for(let r of this.view.viewportLineBlocks)if(s.length&&(s=[]),Array.isArray(r.type)){let o=!0;for(let a of r.type)if(a.type==Gn.Text&&o){A_(t,s,a.from);for(let l of i)l.line(this.view,a,s);o=!1}else if(a.widget)for(let l of i)l.widget(this.view,a)}else if(r.type==Gn.Text){A_(t,s,r.from);for(let o of i)o.line(this.view,r,s)}else if(r.widget)for(let o of i)o.widget(this.view,r);for(let r of i)r.finish();n&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(n){let e=n.startState.facet(Fg),t=n.state.facet(Fg),s=n.docChanged||n.heightChanged||n.viewportChanged||!st.eq(n.startState.facet($v),n.state.facet($v),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let i of this.gutters)i.update(n)&&(s=!0);else{s=!0;let i=[];for(let r of t){let o=e.indexOf(r);o<0?i.push(new YE(this.view,r)):(this.gutters[o].update(n),i.push(this.gutters[o]))}for(let r of this.gutters)r.dom.remove(),i.indexOf(r)<0&&r.destroy();for(let r of i)r.config.side=="after"?this.getDOMAfter().appendChild(r.dom):this.dom.appendChild(r.dom);this.gutters=i}return s}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:n=>Se.scrollMargins.of(e=>{let t=e.plugin(n);if(!t||t.gutters.length==0||!t.fixed)return null;let s=t.dom.offsetWidth*e.scaleX,i=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==It.LTR?{left:s,right:i}:{right:s,left:i}})});function XE(n){return Array.isArray(n)?n:[n]}function A_(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class rJ{constructor(e,t,s){this.gutter=e,this.height=s,this.i=0,this.cursor=st.iter(e.markers,t.from)}addElement(e,t,s){let{gutter:i}=this,r=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==i.elements.length){let a=new DO(e,o,r,s);i.elements.push(a),i.dom.appendChild(a.dom)}else i.elements[this.i].update(e,o,r,s);this.height=t.bottom,this.i++}line(e,t,s){let i=[];A_(this.cursor,i,t.from),s.length&&(i=i.concat(s));let r=this.gutter.config.lineMarker(e,t,i);r&&i.unshift(r);let o=this.gutter;i.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,i)}widget(e,t){let s=this.gutter.config.widgetMarker(e,t.widget,t),i=s?[s]:null;for(let r of e.state.facet(nJ)){let o=r(e,t.widget,t);o&&(i||(i=[])).push(o)}i&&this.addElement(e,t,i)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class YE{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let s in t.domEventHandlers)this.dom.addEventListener(s,i=>{let r=i.target,o;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let l=r.getBoundingClientRect();o=(l.top+l.bottom)/2}else o=i.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[s](e,a,i)&&i.preventDefault()});this.markers=XE(t.markers(e)),t.initialSpacer&&(this.spacer=new DO(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=XE(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let i=this.config.updateSpacer(this.spacer.markers[0],e);i!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[i])}let s=e.view.viewport;return!st.eq(this.markers,t,s.from,s.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class DO{constructor(e,t,s,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,s,i)}update(e,t,s,i){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=s&&(this.dom.style.marginTop=(this.above=s)?s+"px":""),oJ(this.markers,i)||this.setMarkers(e,i)}setMarkers(e,t){let s="cm-gutterElement",i=this.dom.firstChild;for(let r=0,o=0;;){let a=o,l=rr(a,l,c)||o(a,l,c):o}return s}})}});class Tv extends xc{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Pv(n,e){return n.state.facet(ih).formatNumber(e,n.state)}const cJ=Fg.compute([ih],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(aJ)},lineMarker(e,t,s){return s.some(i=>i.toDOM)?null:new Tv(Pv(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,s)=>{for(let i of e.state.facet(lJ)){let r=i(e,t,s);if(r)return r}return null},lineMarkerChange:e=>e.startState.facet(ih)!=e.state.facet(ih),initialSpacer(e){return new Tv(Pv(e,JE(e.state.doc.lines)))},updateSpacer(e,t){let s=Pv(t.view,JE(t.view.state.doc.lines));return s==e.number?e:new Tv(s)},domEventHandlers:n.facet(ih).domEventHandlers,side:"before"}));function hJ(n={}){return[ih.of(n),sJ(),cJ]}function JE(n){let e=9;for(;e{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=js.match(e)),t=>{let s=e(t);return s===void 0?null:[this,s]}}}et.closedBy=new et({deserialize:n=>n.split(" ")});et.openedBy=new et({deserialize:n=>n.split(" ")});et.group=new et({deserialize:n=>n.split(" ")});et.isolate=new et({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});et.contextHash=new et({perNode:!0});et.lookAhead=new et({perNode:!0});et.mounted=new et({perNode:!0});class Wd{constructor(e,t,s,i=!1){this.tree=e,this.overlay=t,this.parser=s,this.bracketed=i}static get(e){return e&&e.props&&e.props[et.mounted.id]}}const fJ=Object.create(null);class js{constructor(e,t,s,i=0){this.name=e,this.props=t,this.id=s,this.flags=i}static define(e){let t=e.props&&e.props.length?Object.create(null):fJ,s=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new js(e.name||"",t,e.id,s);if(e.props){for(let r of e.props)if(Array.isArray(r)||(r=r(i)),r){if(r[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[r[0].id]=r[1]}}return i}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(et.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let s in e)for(let i of s.split(" "))t[i]=e[s];return s=>{for(let i=s.prop(et.group),r=-1;r<(i?i.length:0);r++){let o=t[r<0?s.name:i[r]];if(o)return o}}}}js.none=new js("",Object.create(null),0,8);class Ik{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|Zt.IncludeAnonymous);;){let c=!1;if(l.from<=r&&l.to>=i&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&s&&(a||!l.type.isAnonymous)&&s(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Lk(js.none,this.children,this.positions,0,this.children.length,0,this.length,(t,s,i)=>new Ot(this.type,t,s,i,this.propValues),e.makeTree||((t,s,i)=>new Ot(js.none,t,s,i)))}static build(e){return yJ(e)}}Ot.empty=new Ot(js.none,[],[],0);class Ok{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new Ok(this.buffer,this.index)}}class Ia{constructor(e,t,s){this.buffer=e,this.length=t,this.set=s}get type(){return js.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,s){let i=this.buffer,r=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&s>e;case 2:return s>e;case 4:return!0}}function cf(n,e,t,s){for(var i;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to0?a.length:-1;e!=c;e+=t){let h=a[e],u=l[e]+o.from,d;if(!(!(r&Zt.EnterBracketed&&h instanceof Ot&&(d=Wd.get(h))&&!d.overlay&&d.bracketed&&s>=u&&s<=u+h.length)&&!FO(i,s,u,u+h.length))){if(h instanceof Ia){if(r&Zt.ExcludeBuffers)continue;let p=h.findChild(0,h.buffer.length,t,s-u,i);if(p>-1)return new ka(new pJ(o,h,e,u),null,p)}else if(r&Zt.IncludeAnonymous||!h.type.isAnonymous||Nk(h)){let p;if(!(r&Zt.IgnoreMounts)&&(p=Wd.get(h))&&!p.overlay)return new vi(p.tree,u,e,o);let m=new vi(h,u,e,o);return r&Zt.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?h.children.length-1:0,t,s,i,r)}}}if(r&Zt.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,s=0){let i;if(!(s&Zt.IgnoreOverlays)&&(i=Wd.get(this._tree))&&i.overlay){let r=e-this.from,o=s&Zt.EnterBracketed&&i.bracketed;for(let{from:a,to:l}of i.overlay)if((t>0||o?a<=r:a=r:l>r))return new vi(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,s)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function eC(n,e,t,s){let i=n.cursor(),r=[];if(!i.firstChild())return r;if(t!=null){for(let o=!1;!o;)if(o=i.type.is(t),!i.nextSibling())return r}for(;;){if(s!=null&&i.type.is(s))return r;if(i.type.is(e)&&r.push(i.node),!i.nextSibling())return s==null?r:[]}}function x_(n,e,t=e.length-1){for(let s=n;t>=0;s=s.parent){if(!s)return!1;if(!s.type.isAnonymous){if(e[t]&&e[t]!=s.name)return!1;t--}}return!0}class pJ{constructor(e,t,s,i){this.parent=e,this.buffer=t,this.index=s,this.start=i}}class ka extends jO{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,s){super(),this.context=e,this._parent=t,this.index=s,this.type=e.buffer.set.types[e.buffer.buffer[s]]}child(e,t,s){let{buffer:i}=this.context,r=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.context.start,s);return r<0?null:new ka(this.context,this,r)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,s=0){if(s&Zt.ExcludeBuffers)return null;let{buffer:i}=this.context,r=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return r<0?null:new ka(this.context,this,r)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new ka(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new ka(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:s}=this.context,i=this.index+4,r=s.buffer[this.index+3];if(r>i){let o=s.buffer[this.index+1];e.push(s.slice(i,r,o)),t.push(0)}return new Ot(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function zO(n){if(!n.length)return null;let e=0,t=n[0];for(let r=1;rt.from||o.to=e){let a=new vi(o.tree,o.overlay[0].from+r.from,-1,r);(i||(i=[s])).push(cf(a,e,t,!1))}}return i?zO(i):s}class E_{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~Zt.EnterBracketed,e instanceof vi)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let s=e._parent;s;s=s._parent)this.stack.unshift(s.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:s,buffer:i}=this.buffer;return this.type=t||i.set.types[i.buffer[e]],this.from=s+i.buffer[e+1],this.to=s+i.buffer[e+2],!0}yield(e){return e?e instanceof vi?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,s){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,s,this.mode));let{buffer:i}=this.buffer,r=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.buffer.start,s);return r<0?!1:(this.stack.push(this.index),this.yieldBuf(r))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,s=this.mode){return this.buffer?s&Zt.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,s))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Zt.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Zt.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,s=this.stack.length-1;if(e<0){let i=s<0?0:this.stack[s]+4;if(this.index!=i)return this.yieldBuf(t.findChild(i,this.index,-1,0,4))}else{let i=t.buffer[this.index+3];if(i<(s<0?t.buffer.length:t.buffer[this.stack[s]+3]))return this.yieldBuf(i)}return s<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,s,{buffer:i}=this;if(i){if(e>0){if(this.index-1)for(let r=t+e,o=e<0?-1:s._tree.children.length;r!=o;r+=e){let a=s._tree.children[r];if(this.mode&Zt.IncludeAnonymous||a instanceof Ia||!a.type.isAnonymous||Nk(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==i){if(i==this.index)return o;t=o,s=r+1;break e}i=this.stack[--r]}for(let i=s;i=0;r--){if(r<0)return x_(this._tree,e,i);let o=s[t.buffer[this.stack[r]]];if(!o.isAnonymous){if(e[i]&&e[i]!=o.name)return!1;i--}}return!0}}function Nk(n){return n.children.some(e=>e instanceof Ia||!e.type.isAnonymous||Nk(e))}function yJ(n){var e;let{buffer:t,nodeSet:s,maxBufferLength:i=uJ,reused:r=[],minRepeatType:o=s.types.length}=n,a=Array.isArray(t)?new Ok(t,t.length):t,l=s.types,c=0,h=0;function u(k,$,E,O,F,U){let{id:L,start:H,end:B,size:D}=a,Y=h,X=c;if(D<0)if(a.next(),D==-1){let P=r[L];E.push(P),O.push(H-k);return}else if(D==-3){c=L;return}else if(D==-4){h=L;return}else throw new RangeError(`Unrecognized record size: ${D}`);let Q=l[L],se,ve,z=H-k;if(B-H<=i&&(ve=v(a.pos-$,F))){let P=new Uint16Array(ve.size-ve.skip),N=a.pos-ve.size,M=P.length;for(;a.pos>N;)M=y(ve.start,P,M);se=new Ia(P,B-ve.start,s),z=ve.start-k}else{let P=a.pos-D;a.next();let N=[],M=[],b=L>=o?L:-1,x=0,I=B;for(;a.pos>P;)b>=0&&a.id==b&&a.size>=0?(a.end<=I-i&&(m(N,M,H,x,a.end,I,b,Y,X),x=N.length,I=a.end),a.next()):U>2500?d(H,P,N,M):u(H,P,N,M,b,U+1);if(b>=0&&x>0&&x-1&&x>0){let W=p(Q,X);se=Lk(Q,N,M,0,N.length,0,B-H,W,W)}else se=g(Q,N,M,B-H,Y-B,X)}E.push(se),O.push(z)}function d(k,$,E,O){let F=[],U=0,L=-1;for(;a.pos>$;){let{id:H,start:B,end:D,size:Y}=a;if(Y>4)a.next();else{if(L>-1&&B=0;D-=3)H[Y++]=F[D],H[Y++]=F[D+1]-B,H[Y++]=F[D+2]-B,H[Y++]=Y;E.push(new Ia(H,F[2]-B,s)),O.push(B-k)}}function p(k,$){return(E,O,F)=>{let U=0,L=E.length-1,H,B;if(L>=0&&(H=E[L])instanceof Ot){if(!L&&H.type==k&&H.length==F)return H;(B=H.prop(et.lookAhead))&&(U=O[L]+H.length+B)}return g(k,E,O,F,U,$)}}function m(k,$,E,O,F,U,L,H,B){let D=[],Y=[];for(;k.length>O;)D.push(k.pop()),Y.push($.pop()+E-F);k.push(g(s.types[L],D,Y,U-F,H-U,B)),$.push(F-E)}function g(k,$,E,O,F,U,L){if(U){let H=[et.contextHash,U];L=L?[H].concat(L):[H]}if(F>25){let H=[et.lookAhead,F];L=L?[H].concat(L):[H]}return new Ot(k,$,E,O,L)}function v(k,$){let E=a.fork(),O=0,F=0,U=0,L=E.end-i,H={size:0,start:0,skip:0};e:for(let B=E.pos-k;E.pos>B;){let D=E.size;if(E.id==$&&D>=0){H.size=O,H.start=F,H.skip=U,U+=4,O+=4,E.next();continue}let Y=E.pos-D;if(D<0||Y=o?4:0,Q=E.start;for(E.next();E.pos>Y;){if(E.size<0)if(E.size==-3||E.size==-4)X+=4;else break e;else E.id>=o&&(X+=4);E.next()}F=Q,O+=D,U+=X}return($<0||O==k)&&(H.size=O,H.start=F,H.skip=U),H.size>4?H:void 0}function y(k,$,E){let{id:O,start:F,end:U,size:L}=a;if(a.next(),L>=0&&O4){let B=a.pos-(L-4);for(;a.pos>B;)E=y(k,$,E)}$[--E]=H,$[--E]=U-k,$[--E]=F-k,$[--E]=O}else L==-3?c=O:L==-4&&(h=O);return E}let w=[],_=[];for(;a.pos>0;)u(n.start||0,n.bufferStart||0,w,_,-1,0);let A=(e=n.length)!==null&&e!==void 0?e:w.length?_[0]+w[0].length:0;return new Ot(l[n.topID],w.reverse(),_.reverse(),A)}const tC=new WeakMap;function jg(n,e){if(!n.isAnonymous||e instanceof Ia||e.type!=n)return 1;let t=tC.get(e);if(t==null){t=1;for(let s of e.children){if(s.type!=n||!(s instanceof Ot)){t=1;break}t+=jg(n,s)}tC.set(e,t)}return t}function Lk(n,e,t,s,i,r,o,a,l){let c=0;for(let m=s;m=h)break;$+=E}if(_==A+1){if($>h){let E=m[A];p(E.children,E.positions,0,E.children.length,g[A]+w);continue}u.push(m[A])}else{let E=g[_-1]+m[_-1].length-k;u.push(Lk(n,m,g,A,_,k,E,null,l))}d.push(k+w-r)}}return p(e,t,s,i,0),(a||l)(u,d,o)}class hc{constructor(e,t,s,i,r=!1,o=!1){this.from=e,this.to=t,this.tree=s,this.offset=i,this.open=(r?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],s=!1){let i=[new hc(0,e.length,e,0,!1,s)];for(let r of t)r.to>e.length&&i.push(r);return i}static applyChanges(e,t,s=128){if(!t.length)return e;let i=[],r=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=s)for(;o&&o.from=d.from||u<=d.to||c){let p=Math.max(d.from,l)-c,m=Math.min(d.to,u)-c;d=p>=m?null:new hc(p,m,d.tree,d.offset+c,a>0,!!h)}if(d&&i.push(d),o.to>u)break;o=rnew Rv(i.from,i.to)):[new Rv(0,0)]:[new Rv(0,e.length)],this.createParse(e,t||[],s)}parse(e,t,s){let i=this.startParse(e,t,s);for(;;){let r=i.advance();if(r)return r}}}class vJ{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}new et({perNode:!0});let bJ=0;class fi{constructor(e,t,s,i){this.name=e,this.set=t,this.base=s,this.modified=i,this.id=bJ++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let s=typeof e=="string"?e:"?";if(e instanceof fi&&(t=e),t!=null&&t.base)throw new Error("Can not derive from a modified tag");let i=new fi(s,[],null,[]);if(i.set.push(i),t)for(let r of t.set)i.set.push(r);return i}static defineModifier(e){let t=new ky(e);return s=>s.modified.indexOf(t)>-1?s:ky.get(s.base||s,s.modified.concat(t).sort((i,r)=>i.id-r.id))}}let wJ=0;class ky{constructor(e){this.name=e,this.instances=[],this.id=wJ++}static get(e,t){if(!t.length)return e;let s=t[0].instances.find(a=>a.base==e&&_J(t,a.modified));if(s)return s;let i=[],r=new fi(e.name,i,e,t);for(let a of t)a.instances.push(r);let o=SJ(t);for(let a of e.set)if(!a.modified.length)for(let l of o)i.push(ky.get(a,l));return r}}function _J(n,e){return n.length==e.length&&n.every((t,s)=>t==e[s])}function SJ(n){let e=[[]];for(let t=0;ts.length-t.length)}function kJ(n){let e=Object.create(null);for(let t in n){let s=n[t];Array.isArray(s)||(s=[s]);for(let i of t.split(" "))if(i){let r=[],o=2,a=i;for(let u=0;;){if(a=="..."&&u>0&&u+3==i.length){o=1;break}let d=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!d)throw new RangeError("Invalid path: "+i);if(r.push(d[0]=="*"?"":d[0][0]=='"'?JSON.parse(d[0]):d[0]),u+=d[0].length,u==i.length)break;let p=i[u++];if(u==i.length&&p=="!"){o=0;break}if(p!="/")throw new RangeError("Invalid path: "+i);a=i.slice(u)}let l=r.length-1,c=r[l];if(!c)throw new RangeError("Invalid path: "+i);let h=new Ay(s,o,l>0?r.slice(0,l):null);e[c]=h.sort(e[c])}}return AJ.add(e)}const AJ=new et({combine(n,e){let t,s,i;for(;n||e;){if(!n||e&&n.depth>=e.depth?(i=e,e=e.next):(i=n,n=n.next),t&&t.mode==i.mode&&!i.context&&!t.context)continue;let r=new Ay(i.tags,i.mode,i.context);t?t.next=r:s=r,t=r}return s}});class Ay{constructor(e,t,s,i){this.tags=e,this.mode=t,this.context=s,this.next=i}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=i;for(let a of r)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:s}}const ce=fi.define,jm=ce(),zo=ce(),nC=ce(zo),sC=ce(zo),Ho=ce(),zm=ce(Ho),Mv=ce(Ho),or=ce(),Ka=ce(or),ir=ce(),rr=ce(),C_=ce(),nd=ce(C_),Hm=ce(),je={comment:jm,lineComment:ce(jm),blockComment:ce(jm),docComment:ce(jm),name:zo,variableName:ce(zo),typeName:nC,tagName:ce(nC),propertyName:sC,attributeName:ce(sC),className:ce(zo),labelName:ce(zo),namespace:ce(zo),macroName:ce(zo),literal:Ho,string:zm,docString:ce(zm),character:ce(zm),attributeValue:ce(zm),number:Mv,integer:ce(Mv),float:ce(Mv),bool:ce(Ho),regexp:ce(Ho),escape:ce(Ho),color:ce(Ho),url:ce(Ho),keyword:ir,self:ce(ir),null:ce(ir),atom:ce(ir),unit:ce(ir),modifier:ce(ir),operatorKeyword:ce(ir),controlKeyword:ce(ir),definitionKeyword:ce(ir),moduleKeyword:ce(ir),operator:rr,derefOperator:ce(rr),arithmeticOperator:ce(rr),logicOperator:ce(rr),bitwiseOperator:ce(rr),compareOperator:ce(rr),updateOperator:ce(rr),definitionOperator:ce(rr),typeOperator:ce(rr),controlOperator:ce(rr),punctuation:C_,separator:ce(C_),bracket:nd,angleBracket:ce(nd),squareBracket:ce(nd),paren:ce(nd),brace:ce(nd),content:or,heading:Ka,heading1:ce(Ka),heading2:ce(Ka),heading3:ce(Ka),heading4:ce(Ka),heading5:ce(Ka),heading6:ce(Ka),contentSeparator:ce(or),list:ce(or),quote:ce(or),emphasis:ce(or),strong:ce(or),link:ce(or),monospace:ce(or),strikethrough:ce(or),inserted:ce(),deleted:ce(),changed:ce(),invalid:ce(),meta:Hm,documentMeta:ce(Hm),annotation:ce(Hm),processingInstruction:ce(Hm),definition:fi.defineModifier("definition"),constant:fi.defineModifier("constant"),function:fi.defineModifier("function"),standard:fi.defineModifier("standard"),local:fi.defineModifier("local"),special:fi.defineModifier("special")};for(let n in je){let e=je[n];e instanceof fi&&(e.name=n)}xJ([{tag:je.link,class:"tok-link"},{tag:je.heading,class:"tok-heading"},{tag:je.emphasis,class:"tok-emphasis"},{tag:je.strong,class:"tok-strong"},{tag:je.keyword,class:"tok-keyword"},{tag:je.atom,class:"tok-atom"},{tag:je.bool,class:"tok-bool"},{tag:je.url,class:"tok-url"},{tag:je.labelName,class:"tok-labelName"},{tag:je.inserted,class:"tok-inserted"},{tag:je.deleted,class:"tok-deleted"},{tag:je.literal,class:"tok-literal"},{tag:je.string,class:"tok-string"},{tag:je.number,class:"tok-number"},{tag:[je.regexp,je.escape,je.special(je.string)],class:"tok-string2"},{tag:je.variableName,class:"tok-variableName"},{tag:je.local(je.variableName),class:"tok-variableName tok-local"},{tag:je.definition(je.variableName),class:"tok-variableName tok-definition"},{tag:je.special(je.variableName),class:"tok-variableName2"},{tag:je.definition(je.propertyName),class:"tok-propertyName tok-definition"},{tag:je.typeName,class:"tok-typeName"},{tag:je.namespace,class:"tok-namespace"},{tag:je.className,class:"tok-className"},{tag:je.macroName,class:"tok-macroName"},{tag:je.propertyName,class:"tok-propertyName"},{tag:je.operator,class:"tok-operator"},{tag:je.comment,class:"tok-comment"},{tag:je.meta,class:"tok-meta"},{tag:je.invalid,class:"tok-invalid"},{tag:je.punctuation,class:"tok-punctuation"}]);var Iv;const Cd=new et;function EJ(n){return ye.define({combine:n?e=>e.concat(n):void 0})}const CJ=new et;class Ir{constructor(e,t,s=[],i=""){this.data=e,this.name=i,ot.prototype.hasOwnProperty("tree")||Object.defineProperty(ot.prototype,"tree",{get(){return Oa(this)}}),this.parser=t,this.extension=[Mu.of(this),ot.languageData.of((r,o,a)=>{let l=iC(r,o,a),c=l.type.prop(Cd);if(!c)return[];let h=r.facet(c),u=l.type.prop(CJ);if(u){let d=l.resolve(o-l.from,a);for(let p of u)if(p.test(d,r)){let m=r.facet(p.facet);return p.type=="replace"?m:m.concat(h)}}return h})].concat(s)}isActiveAt(e,t,s=-1){return iC(e,t,s).type.prop(Cd)==this.data}findRegions(e){let t=e.facet(Mu);if((t==null?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let s=[],i=(r,o)=>{if(r.prop(Cd)==this.data){s.push({from:o,to:o+r.length});return}let a=r.prop(et.mounted);if(a){if(a.tree.prop(Cd)==this.data){if(a.overlay)for(let l of a.overlay)s.push({from:l.from+o,to:l.to+o});else s.push({from:o,to:o+r.length});return}else if(a.overlay){let l=s.length;if(i(a.tree,a.overlay[0].from+o),s.length>l)return}}for(let l=0;l=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-s,t-s)}}let sd=null;class Pu{constructor(e,t,s=[],i,r,o,a,l){this.parser=e,this.state=t,this.fragments=s,this.tree=i,this.treeLen=r,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,s){return new Pu(e,t,[],Ot.empty,0,s,[],null)}startParse(){return this.parser.startParse(new $J(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Ot.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var s;if(typeof e=="number"){let i=Date.now()+e;e=()=>Date.now()>i}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(hc.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=sd;sd=this;try{return e()}finally{sd=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=rC(e,t.from,t.to);return e}changes(e,t){let{fragments:s,tree:i,treeLen:r,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,u,d)=>l.push({fromA:c,toA:h,fromB:u,toB:d})),s=hc.applyChanges(s,l),i=Ot.empty,r=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),u=e.mapPos(c.to,-1);he.from&&(this.fragments=rC(this.fragments,i,r),this.skipped.splice(s--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends HO{createParse(t,s,i){let r=i[0].from,o=i[i.length-1].to;return{parsedPos:r,advance(){let l=sd;if(l){for(let c of i)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new Ot(js.none,[],[],o-r)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return sd}}function rC(n,e,t){return hc.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class Ru{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),s=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,s)||t.takeTree(),new Ru(t)}static init(e){let t=Math.min(3e3,e.doc.length),s=Pu.create(e.facet(Mu).parser,e,{from:0,to:t});return s.work(20,t)||s.takeTree(),new Ru(s)}}Ir.state=jr.define({create:Ru.init,update(n,e){for(let t of e.effects)if(t.is(Ir.setState))return t.value;return e.startState.facet(Mu)!=e.state.facet(Mu)?Ru.init(e.state):n.apply(e)}});let BO=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(BO=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const Ov=typeof navigator<"u"&&(!((Iv=navigator.scheduling)===null||Iv===void 0)&&Iv.isInputPending)?()=>navigator.scheduling.isInputPending():null,TJ=ni.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(Ir.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(Ir.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=BO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndi+1e3,l=r.context.work(()=>Ov&&Ov()||Date.now()>o,i+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(r.context.takeTree(),this.view.dispatch({effects:Ir.setState.of(new Ru(r.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(r.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Mr(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Mu=ye.define({combine(n){return n.length?n[0]:null},enables:n=>[Ir.state,TJ,Se.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]}),PJ=ye.define(),Dk=ye.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function Ec(n){let e=n.facet(Dk);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function xy(n,e){let t="",s=n.tabSize,i=n.facet(Dk)[0];if(i==" "){for(;e>=s;)t+=" ",e-=s;i=" "}for(let r=0;r=e?RJ(n,t,e):null}class D0{constructor(e,t={}){this.state=e,this.options=t,this.unit=Ec(e)}lineAt(e,t=1){let s=this.state.doc.lineAt(e),{simulateBreak:i,simulateDoubleBreak:r}=this.options;return i!=null&&i>=s.from&&i<=s.to?r&&i==e?{text:"",from:e}:(t<0?i-1&&(r+=o-this.countColumn(s,s.search(/\S|$/))),r}countColumn(e,t=e.length){return P0(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:s,from:i}=this.lineAt(e,t),r=this.options.overrideIndentation;if(r){let o=r(i);if(o>-1)return o}return this.countColumn(s,s.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const qO=new et;function RJ(n,e,t){let s=e.resolveStack(t),i=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(i!=s.node){let r=[];for(let o=i;o&&!(o.froms.node.to||o.from==s.node.from&&o.type==s.node.type);o=o.parent)r.push(o);for(let o=r.length-1;o>=0;o--)s={node:r[o],next:s}}return VO(s,n,t)}function VO(n,e,t){for(let s=n;s;s=s.next){let i=IJ(s.node);if(i)return i(Fk.create(e,t,s))}return 0}function MJ(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function IJ(n){let e=n.type.prop(qO);if(e)return e;let t=n.firstChild,s;if(t&&(s=t.type.prop(et.closedBy))){let i=n.lastChild,r=i&&s.indexOf(i.name)>-1;return o=>DJ(o,!0,1,void 0,r&&!MJ(o)?i.from:void 0)}return n.parent==null?OJ:null}function OJ(){return 0}class Fk extends D0{constructor(e,t,s){super(e.state,e.options),this.base=e,this.pos=t,this.context=s}get node(){return this.context.node}static create(e,t,s){return new Fk(e,t,s)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let s=e.resolve(t.from);for(;s.parent&&s.parent.from==s.from;)s=s.parent;if(NJ(s,e))break;t=this.state.doc.lineAt(s.from)}return this.lineIndent(t.from)}continue(){return VO(this.context.next,this.base,this.pos)}}function NJ(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function LJ(n){let e=n.node,t=e.childAfter(e.from),s=e.lastChild;if(!t)return null;let i=n.options.simulateBreak,r=n.state.doc.lineAt(t.from),o=i==null||i<=r.from?r.to:Math.min(r.to,i);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==s)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(r.text.slice(t.to-r.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function DJ(n,e,t,s,i){let r=n.textAfter,o=r.match(/^\s*/)[0].length,a=s&&r.slice(o,o+s.length)==s||i==n.pos+o,l=LJ(n);return l?a?n.column(l.from):n.column(l.to):n.baseIndent+(a?0:n.unit*t)}const FJ=Se.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),WO=1e4,GO="()[]{}",KO=ye.define({combine(n){return Hu(n,{afterCursor:!0,brackets:GO,maxScanDistance:WO,renderMatch:HJ})}}),jJ=Ye.mark({class:"cm-matchingBracket"}),zJ=Ye.mark({class:"cm-nonmatchingBracket"});function HJ(n){let e=[],t=n.matched?jJ:zJ;return e.push(t.range(n.start.from,n.start.to)),n.end&&e.push(t.range(n.end.from,n.end.to)),e}function oC(n){let e=[],t=n.facet(KO);for(let s of n.selection.ranges){if(!s.empty)continue;let i=Or(n,s.head,-1,t)||s.head>0&&Or(n,s.head-1,1,t)||t.afterCursor&&(Or(n,s.head,1,t)||s.headn.decorations}),UJ=[BJ,FJ];function qJ(n={}){return[KO.of(n),UJ]}const VJ=new et;function $_(n,e,t){let s=n.prop(e<0?et.openedBy:et.closedBy);if(s)return s;if(n.name.length==1){let i=t.indexOf(n.name);if(i>-1&&i%2==(e<0?1:0))return[t[i+e]]}return null}function T_(n){let e=n.type.prop(VJ);return e?e(n.node):n}function Or(n,e,t,s={}){let i=s.maxScanDistance||WO,r=s.brackets||GO,o=Oa(n),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=$_(l.type,t,r);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return WJ(n,e,t,l,h,c,r)}}return GJ(n,e,t,o,a.type,i,r)}function WJ(n,e,t,s,i,r,o){let a=s.parent,l={from:i.from,to:i.to},c=0,h=a==null?void 0:a.cursor();if(h&&(t<0?h.childBefore(s.from):h.childAfter(s.to)))do if(t<0?h.to<=s.from:h.from>=s.to){if(c==0&&r.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=n.doc.iterRange(e,t>0?n.doc.length:0),u=0;for(let d=0;!h.next().done&&d<=r;){let p=h.value;t<0&&(d+=p.length);let m=e+d*t;for(let g=t>0?0:p.length-1,v=t>0?p.length:-1;g!=v;g+=t){let y=o.indexOf(p[g]);if(!(y<0||s.resolveInner(m+g,1).type!=i))if(y%2==0==t>0)u++;else{if(u==1)return{start:c,end:{from:m+g,to:m+g+1},matched:y>>1==l>>1};u--}}t>0&&(d+=p.length)}return h.done?{start:c,matched:!1}:null}function aC(n,e,t,s=0,i=0){e==null&&(e=n.search(/[^\s\u00a0]/),e==-1&&(e=n.length));let r=i;for(let o=s;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPoss?o.toLowerCase():o,r=this.string.substr(this.pos,e.length);return i(r)==i(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let i=this.string.slice(this.pos).match(e);return i&&i.index>0?null:(i&&t!==!1&&(this.pos+=i[0].length),i)}}current(){return this.string.slice(this.start,this.pos)}}function KJ(n){return{name:n.name||"",token:n.token,blankLine:n.blankLine||(()=>{}),startState:n.startState||(()=>!0),copyState:n.copyState||ZJ,indent:n.indent||(()=>null),languageData:n.languageData||{},tokenTable:n.tokenTable||Hk,mergeTokens:n.mergeTokens!==!1}}function ZJ(n){if(typeof n!="object")return n;let e={};for(let t in n){let s=n[t];e[t]=s instanceof Array?s.slice():s}return e}const lC=new WeakMap;class jk extends Ir{constructor(e){let t=EJ(e.languageData),s=KJ(e),i,r=new class extends HO{createParse(o,a,l){return new YJ(i,o,a,l)}};super(t,r,[],e.name),this.topNode=eQ(t,this),i=this,this.streamParser=s,this.stateAfter=new et({perNode:!0}),this.tokenTable=e.tokenTable?new QO(s.tokenTable):QJ}static define(e){return new jk(e)}getIndent(e){let t,{overrideIndentation:s}=e.options;s&&(t=lC.get(e.state),t!=null&&t1e4)return null;for(;r=s&&t+e.length<=i&&e.prop(n.stateAfter);if(r)return{state:n.streamParser.copyState(r),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof Ot&&l=e.length)return e;!i&&t==0&&e.type==n.topNode&&(i=!0);for(let r=e.children.length-1;r>=0;r--){let o=e.positions[r],a=e.children[r],l;if(ot&&zk(n,r.tree,0-r.offset,t,a),c;if(l&&l.pos<=s&&(c=XO(n,r.tree,t+r.offset,l.pos+r.offset,!1)))return{state:l.state,tree:c}}return{state:n.streamParser.startState(i?Ec(i):4),tree:Ot.empty}}class YJ{constructor(e,t,s,i){this.lang=e,this.input=t,this.fragments=s,this.ranges=i,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=i[i.length-1].to;let r=Pu.get(),o=i[0].from,{state:a,tree:l}=XJ(e,s,o,this.to,r==null?void 0:r.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=r.viewport.from&&c.to>=r.viewport.from)&&(this.state=this.lang.streamParser.startState(Ec(r.state)),r.skipUntilInView(this.parsedPos,r.viewport.from),this.parsedPos=r.viewport.from),this.moveRangeIndex()}advance(){let e=Pu.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),s=Math.min(t,this.chunkStart+512);for(e&&(s=Math.min(s,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` +`&&(t="");else{let s=t.indexOf(` +`);s>-1&&(t=t.slice(0,s))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),s=e+t.length;for(let i=this.rangeIndex;;){let r=this.ranges[i].to;if(r>=s||(t=t.slice(0,r-(s-t.length)),i++,i==this.ranges.length))break;let o=this.ranges[i].from,a=this.lineAfter(o);t+=a,s=o+a.length}return{line:t,end:s}}skipGapsTo(e,t,s){for(;;){let i=this.ranges[this.rangeIndex].to,r=e+t;if(s>0?i>r:i>=r)break;let o=this.ranges[++this.rangeIndex].from;t+=o-i}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){i=this.skipGapsTo(t,i,1),t+=i;let a=this.chunk.length;i=this.skipGapsTo(s,i,-1),s+=i,r+=this.chunk.length-a}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&r==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=s:this.chunk.push(e,t,s,r),i}parseLine(e){let{line:t,end:s}=this.nextLine(),i=0,{streamParser:r}=this.lang,o=new ZO(t,e?e.state.tabSize:4,e?Ec(e.state):2);if(o.eol())r.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=YO(r.token,o,this.state);if(a&&(i=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+o.start,this.parsedPos+o.pos,i)),o.start>1e4)break}this.parsedPos=s,this.moveRangeIndex(),this.parsedPose.start)return i}throw new Error("Stream parser failed to advance stream.")}const Hk=Object.create(null),hf=[js.none],JJ=new Ik(hf),cC=[],hC=Object.create(null),JO=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])JO[n]=eN(Hk,e);class QO{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),JO)}resolve(e){return e?this.table[e]||(this.table[e]=eN(this.extra,e)):0}}const QJ=new QO(Hk);function Nv(n,e){cC.indexOf(n)>-1||(cC.push(n),console.warn(e))}function eN(n,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=n[c]||je[c];h?typeof h=="function"?l.length?l=l.map(h):Nv(c,`Modifier ${c} used at start of tag`):l.length?Nv(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:Nv(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let s=e.replace(/ /g,"_"),i=s+" "+t.map(a=>a.id),r=hC[i];if(r)return r.id;let o=hC[i]=js.define({id:hf.length,name:s,props:[kJ({[s]:t})]});return hf.push(o),o.id}function eQ(n,e){let t=js.define({id:hf.length,name:"Document",props:[Cd.add(()=>n),qO.add(()=>s=>e.getIndent(s))],top:!0});return hf.push(t),t}It.RTL,It.LTR;const tQ=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),s=Uk(n.state,t.from);return s.line?nQ(n):s.block?iQ(n):!1};function Bk(n,e){return({state:t,dispatch:s})=>{if(t.readOnly)return!1;let i=n(e,t);return i?(s(t.update(i)),!0):!1}}const nQ=Bk(aQ,0),sQ=Bk(tN,0),iQ=Bk((n,e)=>tN(n,e,oQ(e)),0);function Uk(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const id=50;function rQ(n,{open:e,close:t},s,i){let r=n.sliceDoc(s-id,s),o=n.sliceDoc(i,i+id),a=/\s*$/.exec(r)[0].length,l=/^\s*/.exec(o)[0].length,c=r.length-a;if(r.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:s-a,margin:a&&1},close:{pos:i+l,margin:l&&1}};let h,u;i-s<=2*id?h=u=n.sliceDoc(s,i):(h=n.sliceDoc(s,s+id),u=n.sliceDoc(i-id,i));let d=/^\s*/.exec(h)[0].length,p=/\s*$/.exec(u)[0].length,m=u.length-p-t.length;return h.slice(d,d+e.length)==e&&u.slice(m,m+t.length)==t?{open:{pos:s+d+e.length,margin:/\s/.test(h.charAt(d+e.length))?1:0},close:{pos:i-p-t.length,margin:/\s/.test(u.charAt(m-1))?1:0}}:null}function oQ(n){let e=[];for(let t of n.selection.ranges){let s=n.doc.lineAt(t.from),i=t.to<=s.to?s:n.doc.lineAt(t.to);i.from>s.from&&i.from==t.to&&(i=t.to==s.to+1?s:n.doc.lineAt(t.to-1));let r=e.length-1;r>=0&&e[r].to>s.from?e[r].to=i.to:e.push({from:s.from+/^\s*/.exec(s.text)[0].length,to:i.to})}return e}function tN(n,e,t=e.selection.ranges){let s=t.map(r=>Uk(e,r.from).block);if(!s.every(r=>r))return null;let i=t.map((r,o)=>rQ(e,s[o],r.from,r.to));if(n!=2&&!i.every(r=>r))return{changes:e.changes(t.map((r,o)=>i[o]?[]:[{from:r.from,insert:s[o].open+" "},{from:r.to,insert:" "+s[o].close}]))};if(n!=1&&i.some(r=>r)){let r=[];for(let o=0,a;oi&&(r==o||o>u.from)){i=u.from;let d=/^\s*/.exec(u.text)[0].length,p=d==u.length,m=u.text.slice(d,d+c.length)==c?d:-1;dr.comment<0&&(!r.empty||r.single))){let r=[];for(let{line:a,token:l,indent:c,empty:h,single:u}of s)(u||!h)&&r.push({from:a.from+c,insert:l+" "});let o=e.changes(r);return{changes:o,selection:e.selection.map(o,1)}}else if(n!=1&&s.some(r=>r.comment>=0)){let r=[];for(let{line:o,comment:a,token:l}of s)if(a>=0){let c=o.from+a,h=c+l.length;o.text[h-o.from]==" "&&h++,r.push({from:c,to:h})}return{changes:r}}return null}const P_=ja.define(),lQ=ja.define(),cQ=ye.define(),nN=ye.define({combine(n){return Hu(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(s,i)=>e(s,i)||t(s,i)})}}),sN=jr.define({create(){return Nr.empty},update(n,e){let t=e.state.facet(nN),s=e.annotation(P_);if(s){let l=Ds.fromTransaction(e,s.selection),c=s.side,h=c==0?n.undone:n.done;return l?h=Ey(h,h.length,t.minDepth,l):h=oN(h,e.startState.selection),new Nr(c==0?s.rest:h,c==0?h:s.rest)}let i=e.annotation(lQ);if((i=="full"||i=="before")&&(n=n.isolate()),e.annotation(bn.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let r=Ds.fromTransaction(e),o=e.annotation(bn.time),a=e.annotation(bn.userEvent);return r?n=n.addChanges(r,o,a,t,e):e.selection&&(n=n.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(i=="full"||i=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new Nr(n.done.map(Ds.fromJSON),n.undone.map(Ds.fromJSON))}});function hQ(n={}){return[sN,nN.of(n),Se.domEventHandlers({beforeinput(e,t){let s=e.inputType=="historyUndo"?iN:e.inputType=="historyRedo"?R_:null;return s?(e.preventDefault(),s(t)):!1}})]}function F0(n,e){return function({state:t,dispatch:s}){if(!e&&t.readOnly)return!1;let i=t.field(sN,!1);if(!i)return!1;let r=i.pop(n,t,e);return r?(s(r),!0):!1}}const iN=F0(0,!1),R_=F0(1,!1),uQ=F0(0,!0),dQ=F0(1,!0);class Ds{constructor(e,t,s,i,r){this.changes=e,this.effects=t,this.mapped=s,this.startSelection=i,this.selectionsAfter=r}setSelAfter(e){return new Ds(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,s;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(s=this.startSelection)===null||s===void 0?void 0:s.toJSON(),selectionsAfter:this.selectionsAfter.map(i=>i.toJSON())}}static fromJSON(e){return new Ds(e.changes&&gn.fromJSON(e.changes),[],e.mapped&&Lr.fromJSON(e.mapped),e.startSelection&&te.fromJSON(e.startSelection),e.selectionsAfter.map(te.fromJSON))}static fromTransaction(e,t){let s=yi;for(let i of e.startState.facet(cQ)){let r=i(e);r.length&&(s=s.concat(r))}return!s.length&&e.changes.empty?null:new Ds(e.changes.invert(e.startState.doc),s,void 0,t||e.startState.selection,yi)}static selection(e){return new Ds(void 0,yi,void 0,void 0,e)}}function Ey(n,e,t,s){let i=e+1>t+20?e-t-1:0,r=n.slice(i,e);return r.push(s),r}function fQ(n,e){let t=[],s=!1;return n.iterChangedRanges((i,r)=>t.push(i,r)),e.iterChangedRanges((i,r,o,a)=>{for(let l=0;l=c&&o<=h&&(s=!0)}}),s}function pQ(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,s)=>t.empty!=e.ranges[s].empty).length===0}function rN(n,e){return n.length?e.length?n.concat(e):n:e}const yi=[],mQ=200;function oN(n,e){if(n.length){let t=n[n.length-1],s=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-mQ));return s.length&&s[s.length-1].eq(e)?n:(s.push(e),Ey(n,n.length-1,1e9,t.setSelAfter(s)))}else return[Ds.selection([e])]}function gQ(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Lv(n,e){if(!n.length)return n;let t=n.length,s=yi;for(;t;){let i=yQ(n[t-1],e,s);if(i.changes&&!i.changes.empty||i.effects.length){let r=n.slice(0,t);return r[t-1]=i,r}else e=i.mapped,t--,s=i.selectionsAfter}return s.length?[Ds.selection(s)]:yi}function yQ(n,e,t){let s=rN(n.selectionsAfter.length?n.selectionsAfter.map(a=>a.map(e)):yi,t);if(!n.changes)return Ds.selection(s);let i=n.changes.map(e),r=e.mapDesc(n.changes,!0),o=n.mapped?n.mapped.composeDesc(r):r;return new Ds(i,bt.mapEffects(n.effects,e),o,n.startSelection.map(r),s)}const vQ=/^(input\.type|delete)($|\.)/;class Nr{constructor(e,t,s=0,i=void 0){this.done=e,this.undone=t,this.prevTime=s,this.prevUserEvent=i}isolate(){return this.prevTime?new Nr(this.done,this.undone):this}addChanges(e,t,s,i,r){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!s||vQ.test(s))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?n.moveByChar(t,e):j0(t,e))}function hs(n){return n.textDirectionAt(n.state.selection.main.head)==It.LTR}const lN=n=>aN(n,!hs(n)),cN=n=>aN(n,hs(n));function hN(n,e){return er(n,t=>t.empty?n.moveByGroup(t,e):j0(t,e))}const wQ=n=>hN(n,!hs(n)),_Q=n=>hN(n,hs(n));function SQ(n,e,t){if(e.type.prop(t))return!0;let s=e.to-e.from;return s&&(s>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function z0(n,e,t){let s=Oa(n).resolveInner(e.head),i=t?et.closedBy:et.openedBy;for(let l=e.head;;){let c=t?s.childAfter(l):s.childBefore(l);if(!c)break;SQ(n,c,i)?s=c:l=t?c.to:c.from}let r=s.type.prop(i),o,a;return r&&(o=t?Or(n,s.from,1):Or(n,s.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?s.to:s.from,te.cursor(a,t?-1:1)}const kQ=n=>er(n,e=>z0(n.state,e,!hs(n))),AQ=n=>er(n,e=>z0(n.state,e,hs(n)));function uN(n,e){return er(n,t=>{if(!t.empty)return j0(t,e);let s=n.moveVertically(t,e);return s.head!=t.head?s:n.moveToLineBoundary(t,e)})}const dN=n=>uN(n,!1),fN=n=>uN(n,!0);function pN(n){let e=n.scrollDOM.clientHeighto.empty?n.moveVertically(o,e,t.height):j0(o,e));if(i.eq(s.selection))return!1;let r;if(t.selfScroll){let o=n.coordsAtPos(s.selection.main.head),a=n.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottommN(n,!1),M_=n=>mN(n,!0);function za(n,e,t){let s=n.lineBlockAt(e.head),i=n.moveToLineBoundary(e,t);if(i.head==e.head&&i.head!=(t?s.to:s.from)&&(i=n.moveToLineBoundary(e,t,!1)),!t&&i.head==s.from&&s.length){let r=/^\s*/.exec(n.state.sliceDoc(s.from,Math.min(s.from+100,s.to)))[0].length;r&&e.head!=s.from+r&&(i=te.cursor(s.from+r))}return i}const xQ=n=>er(n,e=>za(n,e,!0)),EQ=n=>er(n,e=>za(n,e,!1)),CQ=n=>er(n,e=>za(n,e,!hs(n))),$Q=n=>er(n,e=>za(n,e,hs(n))),TQ=n=>er(n,e=>te.cursor(n.lineBlockAt(e.head).from,1)),PQ=n=>er(n,e=>te.cursor(n.lineBlockAt(e.head).to,-1));function RQ(n,e,t){let s=!1,i=Bu(n.selection,r=>{let o=Or(n,r.head,-1)||Or(n,r.head,1)||r.head>0&&Or(n,r.head-1,1)||r.headRQ(n,e);function ki(n,e,t){let s=Bu(n.state.selection,i=>{i.undirectional&&i.head>=i.anchor!=e&&(i=te.range(i.head,i.anchor));let r=t(i);return te.range(i.anchor,r.head,r.goalColumn,r.bidiLevel||void 0,r.assoc)});return s.eq(n.state.selection)?!1:(n.dispatch(Qi(n.state,s)),!0)}function gN(n,e){return ki(n,e,t=>n.moveByChar(t,e))}const yN=n=>gN(n,!hs(n)),vN=n=>gN(n,hs(n));function bN(n,e){return ki(n,e,t=>n.moveByGroup(t,e))}const IQ=n=>bN(n,!hs(n)),OQ=n=>bN(n,hs(n)),NQ=n=>{let e=!hs(n);return ki(n,e,t=>z0(n.state,t,e))},LQ=n=>{let e=hs(n);return ki(n,e,t=>z0(n.state,t,e))};function wN(n,e){return ki(n,e,t=>n.moveVertically(t,e))}const _N=n=>wN(n,!1),SN=n=>wN(n,!0);function kN(n,e){return ki(n,e,t=>n.moveVertically(t,e,pN(n).height))}const dC=n=>kN(n,!1),fC=n=>kN(n,!0),DQ=n=>ki(n,!0,e=>za(n,e,!0)),FQ=n=>ki(n,!1,e=>za(n,e,!1)),jQ=n=>{let e=!hs(n);return ki(n,e,t=>za(n,t,e))},zQ=n=>{let e=hs(n);return ki(n,e,t=>za(n,t,e))},HQ=n=>ki(n,!1,e=>te.cursor(n.lineBlockAt(e.head).from)),BQ=n=>ki(n,!0,e=>te.cursor(n.lineBlockAt(e.head).to)),pC=({state:n,dispatch:e})=>(e(Qi(n,{anchor:0})),!0),mC=({state:n,dispatch:e})=>(e(Qi(n,{anchor:n.doc.length})),!0),gC=({state:n,dispatch:e})=>(e(Qi(n,{anchor:n.selection.main.anchor,head:0})),!0),yC=({state:n,dispatch:e})=>(e(Qi(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),UQ=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),qQ=({state:n,dispatch:e})=>{let t=H0(n).map(({from:s,to:i})=>te.undirectionalRange(s,Math.min(i+1,n.doc.length)));return e(n.update({selection:te.create(t),userEvent:"select"})),!0},VQ=({state:n,dispatch:e})=>{let t=Bu(n.selection,s=>{let i=Oa(n),r=i.resolveStack(s.from,1);if(s.empty){let o=i.resolveStack(s.from,-1);o.node.from>=r.node.from&&o.node.to<=r.node.to&&(r=o)}for(let o=r;o;o=o.next){let{node:a}=o;if((a.from=s.to||a.to>s.to&&a.from<=s.from)&&o.next)return te.undirectionalRange(a.from,a.to)}return s});return t.eq(n.selection)?!1:(e(Qi(n,t)),!0)};function AN(n,e){let{state:t}=n,s=t.selection,i=t.selection.ranges.slice();for(let r of t.selection.ranges){let o=t.doc.lineAt(r.head);if(e?o.to0)for(let a=r;;){let l=n.moveVertically(a,e);if(l.heado.to){i.some(c=>c.head==l.head)||i.push(l);break}else{if(l.head==a.head)break;a=l}}}return i.length==s.ranges.length?!1:(n.dispatch(Qi(t,te.create(i,i.length-1))),!0)}const WQ=n=>AN(n,!1),GQ=n=>AN(n,!0),KQ=({state:n,dispatch:e})=>{let t=n.selection,s=null;return t.ranges.length>1?s=te.create([t.main]):t.main.empty||(s=te.create([te.cursor(t.main.head)])),s?(e(Qi(n,s)),!0):!1};function em(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:s}=n,i=s.changeByRange(r=>{let{from:o,to:a}=r;if(o==a){let l=e(r);lo&&(t="delete.forward",l=Bm(n,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Bm(n,o,!1),a=Bm(n,a,!0);return o==a?{range:r}:{changes:{from:o,to:a},range:te.cursor(o,oi(n)))s.between(e,e,(i,r)=>{ie&&(e=t?r:i)});return e}const xN=(n,e,t)=>em(n,s=>{let i=s.from,{state:r}=n,o=r.doc.lineAt(i),a,l;if(t&&!e&&i>o.from&&ixN(n,!1,!0),EN=n=>xN(n,!0,!1),CN=(n,e)=>em(n,t=>{let s=t.head,{state:i}=n,r=i.doc.lineAt(s),o=i.charCategorizer(s);for(let a=null;;){if(s==(e?r.to:r.from)){s==t.head&&r.number!=(e?i.doc.lines:1)&&(s+=e?1:-1);break}let l=$n(r.text,s-r.from,e)+r.from,c=r.text.slice(Math.min(s,l)-r.from,Math.max(s,l)-r.from),h=o(c);if(a!=null&&h!=a)break;(c!=" "||s!=t.head)&&(a=h),s=l}return s}),$N=n=>CN(n,!1),ZQ=n=>CN(n,!0),XQ=n=>em(n,e=>{let t=n.lineBlockAt(e.head).to;return e.headem(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),JQ=n=>em(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head{if(n.readOnly)return!1;let t=n.changeByRange(s=>({changes:{from:s.from,to:s.to,insert:at.of(["",""])},range:te.cursor(s.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},eee=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(s=>{if(!s.empty||s.from==0||s.from==n.doc.length)return{range:s};let i=s.from,r=n.doc.lineAt(i),o=i==r.from?i-1:$n(r.text,i-r.from,!1)+r.from,a=i==r.to?i+1:$n(r.text,i-r.from,!0)+r.from;return{changes:{from:o,to:a,insert:n.doc.slice(i,a).append(n.doc.slice(o,i))},range:te.cursor(a)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function H0(n){let e=[],t=-1;for(let s of n.selection.ranges){let i=n.doc.lineAt(s.from),r=n.doc.lineAt(s.to);if(!s.empty&&s.to==r.from&&(r=n.doc.lineAt(s.to-1)),t>=i.number){let o=e[e.length-1];o.to=r.to,o.ranges.push(s)}else e.push({from:i.from,to:r.to,ranges:[s]});t=r.number+1}return e}function TN(n,e,t){if(n.readOnly)return!1;let s=[],i=[];for(let r of H0(n)){if(t?r.to==n.doc.length:r.from==0)continue;let o=n.doc.lineAt(t?r.to+1:r.from-1),a=o.length+1;if(t){s.push({from:r.to,to:o.to},{from:r.from,insert:o.text+n.lineBreak});for(let l of r.ranges)i.push(te.range(Math.min(n.doc.length,l.anchor+a),Math.min(n.doc.length,l.head+a)))}else{s.push({from:o.from,to:r.from},{from:r.to,insert:n.lineBreak+o.text});for(let l of r.ranges)i.push(te.range(l.anchor-a,l.head-a))}}return s.length?(e(n.update({changes:s,scrollIntoView:!0,selection:te.create(i,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const tee=({state:n,dispatch:e})=>TN(n,e,!1),nee=({state:n,dispatch:e})=>TN(n,e,!0);function PN(n,e,t){if(n.readOnly)return!1;let s=[];for(let r of H0(n))t?s.push({from:r.from,insert:n.doc.slice(r.from,r.to)+n.lineBreak}):s.push({from:r.to,insert:n.lineBreak+n.doc.slice(r.from,r.to)});let i=n.changes(s);return e(n.update({changes:i,selection:n.selection.map(i,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const see=({state:n,dispatch:e})=>PN(n,e,!1),iee=({state:n,dispatch:e})=>PN(n,e,!0),ree=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(H0(e).map(({from:i,to:r})=>(i>0?i--:r{let r;if(n.lineWrapping){let o=n.lineBlockAt(i.head),a=n.coordsAtPos(i.head,i.assoc||1);a&&(r=o.bottom+n.documentTop-a.bottom+n.defaultLineHeight/2)}return n.moveVertically(i,!0,r)}).map(t);return n.dispatch({changes:t,selection:s,scrollIntoView:!0,userEvent:"delete.line"}),!0};function oee(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=Oa(n).resolveInner(e),s=t.childBefore(e),i=t.childAfter(e),r;return s&&i&&s.to<=e&&i.from>=e&&(r=s.type.prop(et.closedBy))&&r.indexOf(i.name)>-1&&n.doc.lineAt(s.to).from==n.doc.lineAt(i.from).from&&!/\S/.test(n.sliceDoc(s.to,i.from))?{from:s.to,to:i.from}:null}const vC=RN(!1),aee=RN(!0);function RN(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let s=e.changeByRange(i=>{let{from:r,to:o}=i,a=e.doc.lineAt(r),l=!n&&r==o&&oee(e,r);n&&(r=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new D0(e,{simulateBreak:r,simulateDoubleBreak:!!l}),h=UO(c,r);for(h==null&&(h=P0(/^\s*/.exec(e.doc.lineAt(r).text)[0],e.tabSize));oa.from&&r{let i=[];for(let o=s.from;o<=s.to;){let a=n.doc.lineAt(o);a.number>t&&(s.empty||s.to>a.from)&&(e(a,i,s),t=a.number),o=a.to+1}let r=n.changes(i);return{changes:i,range:te.range(r.mapPos(s.anchor,1),r.mapPos(s.head,1))}})}const lee=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),s=new D0(n,{overrideIndentation:r=>{let o=t[r];return o??-1}}),i=qk(n,(r,o,a)=>{let l=UO(s,r.from);if(l==null)return;/\S/.test(r.text)||(l=0);let c=/^\s*/.exec(r.text)[0],h=xy(n,l);(c!=h||a.fromn.readOnly?!1:(e(n.update(qk(n,(t,s)=>{s.push({from:t.from,insert:n.facet(Dk)})}),{userEvent:"input.indent"})),!0),IN=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(qk(n,(t,s)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let r=P0(i,n.tabSize),o=0,a=xy(n,Math.max(0,r-Ec(n)));for(;o(n.setTabFocusMode(),!0),hee=[{key:"Ctrl-b",run:lN,shift:yN,preventDefault:!0},{key:"Ctrl-f",run:cN,shift:vN},{key:"Ctrl-p",run:dN,shift:_N},{key:"Ctrl-n",run:fN,shift:SN},{key:"Ctrl-a",run:TQ,shift:HQ},{key:"Ctrl-e",run:PQ,shift:BQ},{key:"Ctrl-d",run:EN},{key:"Ctrl-h",run:I_},{key:"Ctrl-k",run:XQ},{key:"Ctrl-Alt-h",run:$N},{key:"Ctrl-o",run:QQ},{key:"Ctrl-t",run:eee},{key:"Ctrl-v",run:M_}],uee=[{key:"ArrowLeft",run:lN,shift:yN,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:wQ,shift:IQ,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:CQ,shift:jQ,preventDefault:!0},{key:"ArrowRight",run:cN,shift:vN,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:_Q,shift:OQ,preventDefault:!0},{mac:"Cmd-ArrowRight",run:$Q,shift:zQ,preventDefault:!0},{key:"ArrowUp",run:dN,shift:_N,preventDefault:!0},{mac:"Cmd-ArrowUp",run:pC,shift:gC},{mac:"Ctrl-ArrowUp",run:uC,shift:dC},{key:"ArrowDown",run:fN,shift:SN,preventDefault:!0},{mac:"Cmd-ArrowDown",run:mC,shift:yC},{mac:"Ctrl-ArrowDown",run:M_,shift:fC},{key:"PageUp",run:uC,shift:dC},{key:"PageDown",run:M_,shift:fC},{key:"Home",run:EQ,shift:FQ,preventDefault:!0},{key:"Mod-Home",run:pC,shift:gC},{key:"End",run:xQ,shift:DQ,preventDefault:!0},{key:"Mod-End",run:mC,shift:yC},{key:"Enter",run:vC,shift:vC},{key:"Mod-a",run:UQ},{key:"Backspace",run:I_,shift:I_,preventDefault:!0},{key:"Delete",run:EN,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:$N,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:ZQ,preventDefault:!0},{mac:"Mod-Backspace",run:YQ,preventDefault:!0},{mac:"Mod-Delete",run:JQ,preventDefault:!0}].concat(hee.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),dee=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:kQ,shift:NQ},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:AQ,shift:LQ},{key:"Alt-ArrowUp",run:tee},{key:"Shift-Alt-ArrowUp",run:see},{key:"Alt-ArrowDown",run:nee},{key:"Shift-Alt-ArrowDown",run:iee},{key:"Mod-Alt-ArrowUp",run:WQ},{key:"Mod-Alt-ArrowDown",run:GQ},{key:"Escape",run:KQ},{key:"Mod-Enter",run:aee},{key:"Alt-l",mac:"Ctrl-l",run:qQ},{key:"Mod-i",run:VQ,preventDefault:!0},{key:"Mod-[",run:IN},{key:"Mod-]",run:MN},{key:"Mod-Alt-\\",run:lee},{key:"Shift-Mod-k",run:ree},{key:"Shift-Mod-\\",run:MQ},{key:"Mod-/",run:tQ},{key:"Alt-A",mac:"Ctrl-A",run:sQ},{key:"Ctrl-m",mac:"Shift-Alt-m",run:cee}].concat(uee),fee={key:"Tab",run:MN,shift:IN};function ON(n){function e(u,d){u.cmdState.push(d)}function t(u){return u.cmdState.length>0?u.cmdState[u.cmdState.length-1]:null}function s(u){var d=u.cmdState.pop();d&&d.closeBracket()}function i(u){for(var d=u.cmdState,p=d.length-1;p>=0;p--){var m=d[p];if(m.name!="DEFAULT")return m}return{styleIdentifier:function(){return null}}}function r(u,d,p){return function(){this.name=u,this.bracketNo=0,this.style=d,this.styles=p,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var o={};o.importmodule=r("importmodule","tag",["string","builtin"]),o.documentclass=r("documentclass","tag",["","atom"]),o.usepackage=r("usepackage","tag",["atom"]),o.begin=r("begin","tag",["atom"]),o.end=r("end","tag",["atom"]),o.label=r("label","tag",["atom"]),o.ref=r("ref","tag",["atom"]),o.eqref=r("eqref","tag",["atom"]),o.cite=r("cite","tag",["atom"]),o.bibitem=r("bibitem","tag",["atom"]),o.Bibitem=r("Bibitem","tag",["atom"]),o.RBibitem=r("RBibitem","tag",["atom"]),o.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}};function a(u,d){u.f=d}function l(u,d){var p;if(u.match(/^\\[a-zA-Z@\xc0-\u1fff\u2060-\uffff]+/)){var m=u.current().slice(1);return p=o.hasOwnProperty(m)?o[m]:o.DEFAULT,p=new p,e(d,p),a(d,h),p.style}if(u.match(/^\\[$&%#{}_]/)||u.match(/^\\[,;!\/\\]/))return"tag";if(u.match("\\["))return a(d,function(v,y){return c(v,y,"\\]")}),"keyword";if(u.match("\\("))return a(d,function(v,y){return c(v,y,"\\)")}),"keyword";if(u.match("$$"))return a(d,function(v,y){return c(v,y,"$$")}),"keyword";if(u.match("$"))return a(d,function(v,y){return c(v,y,"$")}),"keyword";var g=u.next();if(g=="%")return u.skipToEnd(),"comment";if(g=="}"||g=="]"){if(p=t(d),p)p.closeBracket(g),a(d,h);else return"error";return"bracket"}else return g=="{"||g=="["?(p=o.DEFAULT,p=new p,e(d,p),"bracket"):/\d/.test(g)?(u.eatWhile(/[\w.%]/),"atom"):(u.eatWhile(/[\w\-_]/),p=i(d),p.name=="begin"&&(p.argument=u.current()),p.styleIdentifier())}function c(u,d,p){if(u.eatSpace())return null;if(p&&u.match(p))return a(d,l),"keyword";if(u.match(/^\\[a-zA-Z@]+/))return"tag";if(u.match(/^[a-zA-Z]+/))return"variableName.special";if(u.match(/^\\[$&%#{}_]/)||u.match(/^\\[,;!\/]/)||u.match(/^[\^_&]/))return"tag";if(u.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(u.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var m=u.next();return m=="{"||m=="}"||m=="["||m=="]"||m=="("||m==")"?"bracket":m=="%"?(u.skipToEnd(),"comment"):"error"}function h(u,d){var p=u.peek(),m;return p=="{"||p=="["?(m=t(d),m.openBracket(p),u.eat(p),a(d,l),"bracket"):/[ \t\r]/.test(p)?(u.eat(p),null):(a(d,l),s(d),l(u,d))}return{name:"stex",startState:function(){var u=n?function(d,p){return c(d,p)}:l;return{cmdState:[],f:u}},copyState:function(u){return{cmdState:u.cmdState.slice(),f:u.f}},token:function(u,d){return d.f(u,d)},blankLine:function(u){u.f=l,u.cmdState.length=0},languageData:{commentTokens:{line:"%"}}}}const pee=ON(!1);ON(!0);const bC=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n;class Iu{constructor(e,t,s=0,i=e.length,r,o){this.test=o,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(s,i),this.bufferStart=s,this.normalize=r?a=>r(bC(a)):bC,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return yI(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=jX(e),s=this.bufferStart+this.bufferPos;this.bufferPos+=vI(e);let i=this.normalize(t);if(i.length)for(let r=0,o=s,a=!0;;r++){let l=i.charCodeAt(r),c=this.match(l,o,a,this.bufferPos+this.bufferStart,r==i.length-1);if(c)return this.value=c,this;if(r==i.length-1)break;a&&rthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let s=this.curLineStart+t.index,i=s+t[0].length;if(this.matchPos=Cy(this.text,i+(s==i?1:0)),s==this.curLineStart+this.curLine.length&&this.nextLine(),(sthis.value.to)&&(!this.test||this.test(s,i,t)))return this.value={from:s,to:i,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=s||i.to<=t){let a=new vh(t,e.sliceString(t,s));return Dv.set(e,a),a}if(i.from==t&&i.to==s)return i;let{text:r,from:o}=i;return o>t&&(r=e.sliceString(t,o)+r,o=t),i.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let s=this.flat.from+t.index,i=s+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(s,i,t)))return this.value={from:s,to:i,precise:!0,match:t},this.matchPos=Cy(this.text,i+(s==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=vh.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(LN.prototype[Symbol.iterator]=DN.prototype[Symbol.iterator]=function(){return this});function mee(n){try{return new RegExp(n,Vk),!0}catch{return!1}}function Cy(n,e){if(e>=n.length)return e;let t=n.lineAt(e),s;for(;e=56320&&s<57344;)e++;return e}const gee=n=>{let{state:e}=n,t=String(e.doc.lineAt(n.state.selection.main.head).number),{close:s,result:i}=eJ(n,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:t},focus:!0,submitLabel:e.phrase("go")});return i.then(r=>{let o=r&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(r.elements.line.value);if(!o){n.dispatch({effects:s});return}let a=e.doc.lineAt(e.selection.main.head),[,l,c,h,u]=o,d=h?+h.slice(1):0,p=c?+c:a.number;if(c&&u){let v=p/100;l&&(v=v*(l=="-"?-1:1)+a.number/e.doc.lines),p=Math.round(e.doc.lines*v)}else c&&l&&(p=p*(l=="-"?-1:1)+a.number);let m=e.doc.line(Math.max(1,Math.min(e.doc.lines,p))),g=te.cursor(m.from+Math.max(0,Math.min(d,m.length)));n.dispatch({effects:[s,Se.scrollIntoView(g.from,{y:"center"})],selection:g})}),!0},yee={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},vee=ye.define({combine(n){return Hu(n,yee,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function bee(n){return[Aee,kee]}const wee=Ye.mark({class:"cm-selectionMatch"}),_ee=Ye.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function wC(n,e,t,s){return(t==0||n(e.sliceDoc(t-1,t))!=Xt.Word)&&(s==e.doc.length||n(e.sliceDoc(s,s+1))!=Xt.Word)}function See(n,e,t,s){return n(e.sliceDoc(t,t+1))==Xt.Word&&n(e.sliceDoc(s-1,s))==Xt.Word}const kee=ni.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.selectionSet||n.docChanged||n.viewportChanged)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=n.state.facet(vee),{state:t}=n,s=t.selection;if(s.ranges.length>1)return Ye.none;let i=s.main,r,o=null;if(i.empty){if(!e.highlightWordAroundCursor)return Ye.none;let l=t.wordAt(i.head);if(!l)return Ye.none;o=t.charCategorizer(i.head),r=t.sliceDoc(l.from,l.to)}else{let l=i.to-i.from;if(l200)return Ye.none;if(e.wholeWords){if(r=t.sliceDoc(i.from,i.to),o=t.charCategorizer(i.head),!(wC(o,t,i.from,i.to)&&See(o,t,i.from,i.to)))return Ye.none}else if(r=t.sliceDoc(i.from,i.to),!r)return Ye.none}let a=[];for(let l of n.visibleRanges){let c=new Iu(t.doc,r,l.from,l.to);for(;!c.next().done;){let{from:h,to:u}=c.value;if((!o||wC(o,t,h,u))&&(i.empty&&h<=i.from&&u>=i.to?a.push(_ee.range(h,u)):(h>=i.to||u<=i.from)&&a.push(wee.range(h,u)),a.length>e.maxMatches))return Ye.none}}return Ye.set(a)}},{decorations:n=>n.decorations}),Aee=Se.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),xee=({state:n,dispatch:e})=>{let{selection:t}=n,s=te.create(t.ranges.map(i=>n.wordAt(i.head)||te.cursor(i.head)),t.mainIndex);return s.eq(t)?!1:(e(n.update({selection:s})),!0)};function Eee(n,e){let{main:t,ranges:s}=n.selection,i=n.wordAt(t.head),r=i&&i.from==t.from&&i.to==t.to;for(let o=!1,a=new Iu(n.doc,e,s[s.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new Iu(n.doc,e,0,Math.max(0,s[s.length-1].from-1)),o=!0}else{if(o&&s.some(l=>l.from==a.value.from))continue;if(r){let l=n.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}const Cee=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(r=>r.from===r.to))return xee({state:n,dispatch:e});let s=n.sliceDoc(t[0].from,t[0].to);if(n.selection.ranges.some(r=>n.sliceDoc(r.from,r.to)!=s))return!1;let i=Eee(n,s);return i?(e(n.update({selection:n.selection.addRange(te.range(i.from,i.to),!1),effects:Se.scrollIntoView(i.to)})),!0):!1},Uu=ye.define({combine(n){return Hu(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Hee(e),scrollToMatch:e=>Se.scrollIntoView(e)})}});class FN{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||mee(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,s)=>s=="n"?` +`:s=="r"?"\r":s=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new Iee(this):new Pee(this)}getCursor(e,t=0,s){let i=e.doc?e:ot.create({doc:e});return s==null&&(s=i.doc.length),this.regexp?Qc(this,i,t,s):Jc(this,i,t,s)}}class jN{constructor(e){this.spec=e}}function $ee(n,e,t){return(s,i,r,o)=>{if(t&&!t(s,i,r,o))return!1;let a=s>=o&&i<=o+r.length?r.slice(s-o,i-o):e.doc.sliceString(s,i);return n(a,e,s,i)}}function Jc(n,e,t,s){let i;return n.wholeWord&&(i=Tee(e.doc,e.charCategorizer(e.selection.main.head))),n.test&&(i=$ee(n.test,e,i)),new Iu(e.doc,n.unquoted,t,s,n.caseSensitive?void 0:r=>r.toLowerCase(),i)}function Tee(n,e){return(t,s,i,r)=>((r>t||r+i.length=t)return null;i.push(s.value)}return i}highlight(e,t,s,i){let r=Jc(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(s+this.spec.unquoted.length,e.doc.length));for(;!r.next().done;)i(r.value.from,r.value.to)}}function Ree(n,e,t){return(s,i,r)=>(!t||t(s,i,r))&&n(r[0],e,s,i)}function Qc(n,e,t,s){let i;return n.wholeWord&&(i=Mee(e.charCategorizer(e.selection.main.head))),n.test&&(i=Ree(n.test,e,i)),new LN(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:i},t,s)}function $y(n,e){return n.slice($n(n,e,!1),e)}function Ty(n,e){return n.slice(e,$n(n,e))}function Mee(n){return(e,t,s)=>!s[0].length||(n($y(s.input,s.index))!=Xt.Word||n(Ty(s.input,s.index))!=Xt.Word)&&(n(Ty(s.input,s.index+s[0].length))!=Xt.Word||n($y(s.input,s.index+s[0].length))!=Xt.Word)}class Iee extends jN{nextMatch(e,t,s){let i=Qc(this.spec,e,s,e.doc.length).next();return i.done&&(i=Qc(this.spec,e,0,t).next()),i.done?null:i.value}prevMatchInRange(e,t,s){for(let i=1;;i++){let r=Math.max(t,s-i*1e4),o=Qc(this.spec,e,r,s),a=null;for(;!o.next().done;)a=o.value;if(a&&(r==t||a.from>r+10))return a;if(r==t)return null}}prevMatch(e,t,s){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,s,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,s)=>{if(s=="&")return e.match[0];if(s=="$")return"$";for(let i=s.length;i>0;i--){let r=+s.slice(0,i);if(r>0&&r=t)return null;i.push(s.value)}return i}highlight(e,t,s,i){let r=Qc(this.spec,e,Math.max(0,t-250),Math.min(s+250,e.doc.length));for(;!r.next().done;)i(r.value.from,r.value.to)}}const uf=bt.define(),Wk=bt.define(),Ea=jr.define({create(n){return new Fv(O_(n).create(),null)},update(n,e){for(let t of e.effects)t.is(uf)?n=new Fv(t.value.create(),n.panel):t.is(Wk)&&(n=new Fv(n.query,t.value?Gk:null));return n},provide:n=>Sy.from(n,e=>e.panel)});class Fv{constructor(e,t){this.query=e,this.panel=t}}const Oee=Ye.mark({class:"cm-searchMatch"}),Nee=Ye.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Lee=ni.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(Ea))}update(n){let e=n.state.field(Ea);(e!=n.startState.field(Ea)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return Ye.none;let{view:t}=this,s=new nf;for(let i=0,r=t.visibleRanges,o=r.length;ir[i+1].from-2*250;)l=r[++i].to;n.highlight(t.state,a,l,(c,h)=>{let u=t.state.selection.ranges.some(d=>d.from==c&&d.to==h);s.add(c,h,u?Nee:Oee)})}return s.finish()}},{decorations:n=>n.decorations});function tm(n){return e=>{let t=e.state.field(Ea,!1);return t&&t.query.spec.valid?n(e,t):BN(e)}}const Py=tm((n,{query:e})=>{let{to:t}=n.state.selection.main,s=e.nextMatch(n.state,t,t);if(!s)return!1;let i=te.single(s.from,s.to),r=n.state.facet(Uu);return n.dispatch({selection:i,effects:[Kk(n,s),r.scrollToMatch(i.main,n)],userEvent:"select.search"}),HN(n),!0}),Ry=tm((n,{query:e})=>{let{state:t}=n,{from:s}=t.selection.main,i=e.prevMatch(t,s,s);if(!i)return!1;let r=te.single(i.from,i.to),o=n.state.facet(Uu);return n.dispatch({selection:r,effects:[Kk(n,i),o.scrollToMatch(r.main,n)],userEvent:"select.search"}),HN(n),!0}),Dee=tm((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:te.create(t.map(s=>te.range(s.from,s.to))),userEvent:"select.search.matches"}),!0)}),Fee=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:s,to:i}=t.main,r=[],o=0;for(let a=new Iu(n.doc,n.sliceDoc(s,i));!a.next().done;){if(r.length>1e3)return!1;a.value.from==s&&(o=r.length),r.push(te.range(a.value.from,a.value.to))}return e(n.update({selection:te.create(r,o),userEvent:"select.search.matches"})),!0},_C=tm((n,{query:e})=>{let{state:t}=n,{from:s,to:i}=t.selection.main;if(t.readOnly)return!1;let r=e.nextMatch(t,s,s);if(!r)return!1;let o=r,a=[],l,c,h=[];o.precise?o.from==s&&o.to==i&&(c=t.toText(e.getReplacement(o)),a.push({from:o.from,to:o.to,insert:c}),o=e.nextMatch(t,o.from,o.to),h.push(Se.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(s).number)+"."))):o=e.nextMatch(t,o.from,o.to);let u=n.state.changes(a);return o&&(l=te.single(o.from,o.to).map(u),h.push(Kk(n,o)),h.push(t.facet(Uu).scrollToMatch(l.main,n))),n.dispatch({changes:u,selection:l,effects:h,userEvent:"input.replace"}),!0}),jee=tm((n,{query:e})=>{if(n.state.readOnly)return!1;let t=[];for(let i of e.matchAll(n.state,1e9)){let{from:r,to:o,precise:a}=i;a&&t.push({from:r,to:o,insert:e.getReplacement(i)})}if(!t.length)return!1;let s=n.state.phrase("replaced $ matches",t.length)+".";return n.dispatch({changes:t,effects:Se.announce.of(s),userEvent:"input.replace.all"}),!0});function Gk(n){return n.state.facet(Uu).createPanel(n)}function O_(n,e){var t,s,i,r,o;let a=n.selection.main,l=a.empty||a.to>a.from+100?"":n.sliceDoc(a.from,a.to);if(e&&!l)return e;let c=n.facet(Uu);return new FN({search:((t=e==null?void 0:e.literal)!==null&&t!==void 0?t:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(s=e==null?void 0:e.caseSensitive)!==null&&s!==void 0?s:c.caseSensitive,literal:(i=e==null?void 0:e.literal)!==null&&i!==void 0?i:c.literal,regexp:(r=e==null?void 0:e.regexp)!==null&&r!==void 0?r:c.regexp,wholeWord:(o=e==null?void 0:e.wholeWord)!==null&&o!==void 0?o:c.wholeWord})}function zN(n){let e=IO(n,Gk);return e&&e.dom.querySelector("[main-field]")}function HN(n){let e=zN(n);e&&e==n.root.activeElement&&e.select()}const BN=n=>{let e=n.state.field(Ea,!1);if(e&&e.panel){let t=zN(n);if(t&&t!=n.root.activeElement){let s=O_(n.state,e.query.spec);s.valid&&n.dispatch({effects:uf.of(s)}),t.focus(),t.select()}}else n.dispatch({effects:[Wk.of(!0),e?uf.of(O_(n.state,e.query.spec)):bt.appendConfig.of(Uee)]});return!0},UN=n=>{let e=n.state.field(Ea,!1);if(!e||!e.panel)return!1;let t=IO(n,Gk);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:Wk.of(!1)}),!0},zee=[{key:"Mod-f",run:BN,scope:"editor search-panel"},{key:"F3",run:Py,shift:Ry,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Py,shift:Ry,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:UN,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Fee},{key:"Mod-Alt-g",run:gee},{key:"Mod-d",run:Cee,preventDefault:!0}];class Hee{constructor(e){this.view=e;let t=this.query=e.state.field(Ea).query.spec;this.commit=this.commit.bind(this),this.searchField=Cn("input",{value:t.search,placeholder:Bs(e,"Find"),"aria-label":Bs(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Cn("input",{value:t.replace,placeholder:Bs(e,"Replace"),"aria-label":Bs(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Cn("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=Cn("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=Cn("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function s(i,r,o){return Cn("button",{class:"cm-button",name:i,onclick:r,type:"button"},o)}this.dom=Cn("div",{onkeydown:i=>this.keydown(i),class:"cm-search"},[this.searchField,s("next",()=>Py(e),[Bs(e,"next")]),s("prev",()=>Ry(e),[Bs(e,"previous")]),s("select",()=>Dee(e),[Bs(e,"all")]),Cn("label",null,[this.caseField,Bs(e,"match case")]),Cn("label",null,[this.reField,Bs(e,"regexp")]),Cn("label",null,[this.wordField,Bs(e,"by word")]),...e.state.readOnly?[]:[Cn("br"),this.replaceField,s("replace",()=>_C(e),[Bs(e,"replace")]),s("replaceAll",()=>jee(e),[Bs(e,"replace all")])],Cn("button",{name:"close",onclick:()=>UN(e),"aria-label":Bs(e,"close"),type:"button"},["×"])])}commit(){let e=new FN({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:uf.of(e)}))}keydown(e){z7(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Ry:Py)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),_C(this.view))}update(e){for(let t of e.transactions)for(let s of t.effects)s.is(uf)&&!s.value.eq(this.query)&&this.setQuery(s.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Uu).top}}function Bs(n,e){return n.state.phrase(e)}const Um=30,qm=/[\s\.,:;?!]/;function Kk(n,{from:e,to:t}){let s=n.state.doc.lineAt(e),i=n.state.doc.lineAt(t).to,r=Math.max(s.from,e-Um),o=Math.min(i,t+Um),a=n.state.sliceDoc(r,o);if(r!=s.from){for(let l=0;la.length-Um;l--)if(!qm.test(a[l-1])&&qm.test(a[l])){a=a.slice(0,l);break}}return Se.announce.of(`${n.state.phrase("current match")}. ${a} ${n.state.phrase("on line")} ${s.number}.`)}const Bee=Se.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),Uee=[Ea,T0.low(Lee),Bee],qee=({path:n,value:e,readOnly:t,onChange:s})=>{const i=ee.useRef(null),r=ee.useRef(null),o=ee.useRef(new Xp),a=ee.useRef(s);return a.current=s,ee.useEffect(()=>{if(!i.current)return;const l=ot.create({doc:e,extensions:[hJ(),W7(),Y7(),hQ(),bee(),qJ(),jk.define(pee),CO.of([...dee,...bQ,...zee,fee]),Se.contentAttributes.of({"aria-label":`Editing ${n}`,class:"ph-no-capture","data-ph-no-autocapture":"true","data-ph-no-capture":"true"}),o.current.of(Se.editable.of(!t)),Se.updateListener.of(c=>{c.docChanged&&a.current(c.state.doc.toString())})]});return r.current=new Se({state:l,parent:i.current}),()=>{var c;return(c=r.current)==null?void 0:c.destroy()}},[n]),ee.useEffect(()=>{const l=r.current;!l||l.state.doc.toString()===e||l.dispatch({changes:{from:0,to:l.state.doc.length,insert:e}})},[e]),ee.useEffect(()=>{var l;(l=r.current)==null||l.dispatch({effects:o.current.reconfigure(Se.editable.of(!t))})},[t]),S.jsx("div",{className:"latex-source-editor ph-no-capture","data-ph-no-autocapture":"true","data-ph-no-capture":"true","data-testid":"latex-source-editor",ref:i})},Vee="pwc:artifact-navigation";function Gte(){return typeof window>"u"?!0:window.dispatchEvent(new Event(Vee,{cancelable:!0}))}const qN=()=>({open:!1,selectedKey:null,selected:null,selectedVersionId:null,tab:"preview",sourceFile:null,panelPercent:55,requestNonce:0,registry:{},autoOpened:{},manuallyClosed:{}});function Wee(n,e){if(e.type==="reset")return{...qN(),panelPercent:n.panelPercent};if(e.type==="register"){const t=n.registry[e.key];if(t&&JSON.stringify(t)===JSON.stringify(e.block))return n;const s={...n.registry,[e.key]:e.block},i=n.selectedKey===e.key?e.block:n.selected,r=(t==null?void 0:t.status)==="generating"&&e.block.status==="ready",o=e.autoOpenOnMount&&!t&&e.block.status==="ready"&&!Object.values(n.autoOpened).some(Boolean);return(r||o)&&!n.autoOpened[e.key]&&!n.manuallyClosed[e.key]?{...n,registry:s,open:!0,selectedKey:e.key,selected:e.block,selectedVersionId:e.block.version_id??null,tab:"preview",sourceFile:null,requestNonce:n.requestNonce+1,autoOpened:{...n.autoOpened,[e.key]:!0}}:{...n,registry:s,selected:i}}return e.type==="unregister"?n:e.type==="open"?{...n,open:!0,selectedKey:e.key,selected:e.block,selectedVersionId:e.block.version_id??null,tab:"preview",sourceFile:null,requestNonce:n.requestNonce+1,manuallyClosed:{...n.manuallyClosed,[e.key]:!1}}:e.type==="close"?{...n,open:!1,manuallyClosed:n.selectedKey?{...n.manuallyClosed,[n.selectedKey]:!0}:n.manuallyClosed}:e.type==="tab"?{...n,tab:e.tab}:e.type==="source"?{...n,sourceFile:e.path}:e.type==="version"?{...n,selectedVersionId:e.versionId,tab:"preview",sourceFile:null}:{...n,panelPercent:e.percent}}function N_(n){return n.publication_id||n.public_capability||n.version_id||`${n.scope}:${n.identifier}:${n.version??"pending"}`}const VN=ee.createContext(null),Kte=({children:n,workspaceKey:e,autoOpenOnMount:t=!1,onAskAiFix:s})=>{const[i,r]=ee.useReducer(Wee,void 0,qN),o=ee.useRef(null),a=ee.useRef(e);ee.useEffect(()=>{a.current!==e&&(a.current=e,o.current=null,r({type:"reset"}))},[e]);const l=ee.useCallback(()=>{r({type:"close"}),window.setTimeout(()=>{var _;(_=o.current)!=null&&_.isConnected&&o.current.focus()},0)},[]),c=ee.useCallback(_=>r({type:"register",key:N_(_),block:_,autoOpenOnMount:t}),[t]),h=ee.useCallback(_=>r({type:"unregister",key:_}),[]),u=ee.useCallback((_,A)=>{const k=document.activeElement;o.current=A??(k instanceof HTMLElement&&k!==document.body?k:null),r({type:"open",key:N_(_),block:_})},[]),d=ee.useCallback(_=>r({type:"tab",tab:_}),[]),p=ee.useCallback(_=>r({type:"source",path:_}),[]),m=ee.useCallback(_=>r({type:"version",versionId:_}),[]),g=ee.useCallback(_=>r({type:"width",percent:_}),[]),v=ee.useCallback(_=>s==null?void 0:s(_),[s]),y=ee.useCallback(()=>r({type:"reset"}),[]),w=ee.useMemo(()=>({state:i,autoOpenOnMount:t,register:c,unregister:h,open:u,close:l,setTab:d,setSourceFile:p,setVersion:m,setPanelPercent:g,askAiToFix:v,reset:y}),[v,t,l,u,c,y,g,p,d,m,i,h]);return S.jsx(VN.Provider,{value:w,children:n})};function nm(){const n=ee.useContext(VN);if(!n)throw new Error("Poster artifacts require an ArtifactPanelProvider");return n}function Gee(n,e,t){return rn(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/versions/${encodeURIComponent(e)}/source/${t.split("/").map(encodeURIComponent).join("/")}`)}function Kee(n,e,t){return rn(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/versions/${encodeURIComponent(e)}/figures/${t.split("/").map(encodeURIComponent).join("/")}`)}function Zee(n){return rn(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/export/pdf`)}function SC(n,e){return rn(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/versions/${encodeURIComponent(e)}/export/source.zip`)}function Vm(n){return`pwc:latex-paper-draft:${n}`}function Xee(n,e){const t=Object.keys(n).sort(),s=Object.keys(e).sort();return t.length===s.length&&t.every((i,r)=>i===s[r]&&n[i]===e[i])}function kC(n){return!n.includes("\\")&&/^(?!\/)(?!.*(?:^|\/)\.\.?\/)[^\0]{1,300}\.(?:tex|bib)$/iu.test(n)}function Yee(n){var s,i;const e=((s=n.provenance)==null?void 0:s.action)??(n.actor_type==="restore"?"restore":n.actor_type==="ai"?"ai_draft":"human_save"),t={human_save:"Human save",ai_draft:"AI draft",ai_repair:"AI repair",restore:"Restore"}[e];return(i=n.provenance)!=null&&i.model_identity?`${t} · ${n.provenance.model_identity}`:t}const Jee=({block:n,forceDialog:e=!1})=>{var Jn,In,Qt,an,ln,en,fs,Ic,Ha;const t=nm(),s=CC(),i=t.close,[r,o]=ee.useState(()=>{var q;return typeof window<"u"&&((q=window.matchMedia)==null?void 0:q.call(window,"(max-width: 760px)").matches)}),[a,l]=ee.useState({}),[c,h]=ee.useState({}),[u,d]=ee.useState(null),[p,m]=ee.useState(!1),[g,v]=ee.useState(!1),[y,w]=ee.useState(null),[_,A]=ee.useState(!1),[k,$]=ee.useState(null),E=ee.useRef(null),O=ee.useRef(null),F=ee.useRef(!1),U=e||r,L=u!==null&&!Xee(a,c);ee.useEffect(()=>{var Ee,it;const q=(Ee=window.matchMedia)==null?void 0:Ee.call(window,"(max-width: 760px)");if(!q)return;const me=()=>o(q.matches);return me(),(it=q.addEventListener)==null||it.call(q,"change",me),()=>{var Rt;return(Rt=q.removeEventListener)==null?void 0:Rt.call(q,"change",me)}},[]),ee.useEffect(()=>{var Ee,it;if(!U)return;(it=(Ee=O.current)==null?void 0:Ee.querySelector("[data-artifact-close]"))==null||it.focus(),window.history.pushState({...window.history.state,pwcArtifactPanel:!0},""),F.current=!0;const q=()=>{if(L&&!window.confirm("Leave this view? Unsaved paper edits remain in this browser.")){window.history.pushState({...window.history.state,pwcArtifactPanel:!0},""),F.current=!0;return}F.current=!1,i()},me=Rt=>{Rt.key==="Escape"&&(Rt.preventDefault(),!(L&&!window.confirm("Leave this view? Unsaved paper edits remain in this browser."))&&(i(),F.current&&(F.current=!1,window.history.back())))};return window.addEventListener("popstate",q),document.addEventListener("keydown",me),()=>{window.removeEventListener("popstate",q),document.removeEventListener("keydown",me)}},[i,U,L]),ee.useEffect(()=>{if(!U)return;const q=me=>{if(me.key!=="Tab"||!O.current)return;const Ee=[...O.current.querySelectorAll('button:not([disabled]), a[href], input:not([disabled]), select:not([disabled]), [contenteditable="true"], [tabindex]:not([tabindex="-1"])')];if(!Ee.length)return;const it=Ee[0],Rt=Ee.at(-1);me.shiftKey&&document.activeElement===it?(me.preventDefault(),Rt.focus()):!me.shiftKey&&document.activeElement===Rt&&(me.preventDefault(),it.focus())};return document.addEventListener("keydown",q),()=>document.removeEventListener("keydown",q)},[U]),ee.useEffect(()=>{const q=me=>{L&&(me.preventDefault(),me.returnValue="")};return window.addEventListener("beforeunload",q),()=>window.removeEventListener("beforeunload",q)},[L]),ee.useEffect(()=>{const q=me=>{L&&!window.confirm("Leave this view? Unsaved paper edits remain in this browser.")&&me.preventDefault()};return window.addEventListener("pwc:artifact-navigation",q),()=>window.removeEventListener("pwc:artifact-navigation",q)},[L]);const H=wo({queryKey:["chat-latex-paper",n.artifact_id],queryFn:async()=>{const q=await fetch(rn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}`),{credentials:"include",cache:"no-store"});if(!q.ok)throw new Error("Could not load paper details");return q.json()},enabled:!!n.artifact_id,staleTime:5e3}),B=H.data,D=B==null?void 0:B.source_head,Y=B==null?void 0:B.preview_head,X=wo({queryKey:["chat-latex-paper-history",n.artifact_id,k],queryFn:async()=>{const q=new URLSearchParams({limit:"20"});k&&q.set("cursor",k);const me=await fetch(rn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions?${q}`),{credentials:"include",cache:"no-store"});if(!me.ok)throw new Error("Could not load paper history");return me.json()},enabled:_&&!!n.artifact_id,staleTime:Number.POSITIVE_INFINITY}),Q=wo({queryKey:["chat-latex-paper-manifest",n.artifact_id,D==null?void 0:D.version_id],queryFn:async()=>{const q=await fetch(rn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions/${encodeURIComponent(D.version_id)}/manifest`),{credentials:"include",cache:"no-store"});if(!q.ok)throw new Error("Could not load paper files");return q.json()},enabled:t.state.tab==="files"&&!!(D!=null&&D.version_id),staleTime:Number.POSITIVE_INFINITY}),se=((Jn=Q.data)==null?void 0:Jn.files.filter(q=>q.media_type==="text/x-tex"||q.media_type==="application/x-bibtex"))??[],ve=((In=Q.data)==null?void 0:In.files.filter(q=>q.media_type==="image/png"||q.media_type==="image/jpeg"||q.media_type==="application/pdf"))??[],z=wo({queryKey:["chat-latex-paper-source-files",n.artifact_id,D==null?void 0:D.version_id],queryFn:async()=>Object.fromEntries(await Promise.all(se.map(async q=>{const me=await fetch(Gee(n.artifact_id,D.version_id,q.path),{credentials:"include",cache:"no-store"});if(!me.ok)throw new Error("Could not load paper source");return[q.path,await me.text()]}))),enabled:t.state.tab==="files"&&!!(D!=null&&D.version_id&&se.length),staleTime:Number.POSITIVE_INFINITY});ee.useEffect(()=>{m(!1)},[D==null?void 0:D.version_id]),ee.useEffect(()=>{var Rt;if(!(D!=null&&D.version_id)||!z.data||E.current===D.version_id)return;const q=z.data;let me=q,Ee=!1,it=D.version_id;try{const Ai=window.localStorage.getItem(Vm(n.artifact_id)),tr=Ai?JSON.parse(Ai):null;tr!=null&&tr.files&&typeof tr.files=="object"&&(me=tr.files,Ee=tr.parentVersionId!==D.version_id,it=tr.parentVersionId)}catch{}E.current=D.version_id,l(me),h(q),d(it),v(Ee),m(!0),Ee&&w("This local draft is based on an older paper version. Copy or discard it before saving the latest version."),(!t.state.sourceFile||!me[t.state.sourceFile])&&t.setSourceFile(((Rt=Q.data)==null?void 0:Rt.root_document)??null)},[n.artifact_id,(Qt=Q.data)==null?void 0:Qt.root_document,t,D==null?void 0:D.version_id,z.data]),ee.useEffect(()=>{if(!u||!n.artifact_id)return;const q=Vm(n.artifact_id);if(!L){window.localStorage.removeItem(q);return}window.localStorage.setItem(q,JSON.stringify({parentVersionId:u,files:a}))},[n.artifact_id,L,u,a]);const P=im({mutationFn:async()=>{var Ee;if(!(D!=null&&D.version_id))throw new Error("Paper source is not ready to save");const q=await fetch(rn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/save-compile`),{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({expected_parent_version_id:D.version_id,files:Object.entries(a).map(([it,Rt])=>({path:it,content:Rt}))})}),me=await q.json().catch(()=>null);if(!q.ok)throw new Error(((Ee=me==null?void 0:me.detail)==null?void 0:Ee.message)??"Could not save paper");return me},onSuccess:q=>{var me,Ee;s.setQueryData(["chat-latex-paper",n.artifact_id],q),s.invalidateQueries({queryKey:["chat-latex-paper-manifest",n.artifact_id]}),s.invalidateQueries({queryKey:["chat-latex-paper-source-files",n.artifact_id]}),E.current=((me=q.source_head)==null?void 0:me.version_id)??null,h(a),d(((Ee=q.source_head)==null?void 0:Ee.version_id)??null),window.localStorage.removeItem(Vm(n.artifact_id)),w(null),v(!1),t.setTab("preview")},onError:q=>w(q instanceof Error?q.message:"Could not save paper")}),N=im({mutationFn:async q=>{var it;if(!(D!=null&&D.version_id))throw new Error("Paper source is not ready to restore");const me=await fetch(rn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions/restore`),{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({source_version_id:q,expected_parent_version_id:D.version_id})}),Ee=await me.json().catch(()=>null);if(!me.ok)throw new Error(((it=Ee==null?void 0:Ee.detail)==null?void 0:it.message)??"Could not restore paper version");return Ee},onSuccess:q=>{s.setQueryData(["chat-latex-paper",n.artifact_id],q),s.invalidateQueries({queryKey:["chat-latex-paper-history",n.artifact_id]}),s.invalidateQueries({queryKey:["chat-latex-paper-manifest",n.artifact_id]}),s.invalidateQueries({queryKey:["chat-latex-paper-source-files",n.artifact_id]}),E.current=null,m(!1),$(null),w(null),t.setTab("preview")},onError:q=>w(q instanceof Error?q.message:"Could not restore paper version")}),M=im({mutationFn:async q=>{var Rt;if(!(D!=null&&D.version_id))throw new Error("Paper source is not ready to upload a figure");if(L)throw new Error("Save or discard text edits before uploading a figure");const me=new FormData;me.set("expected_parent_version_id",D.version_id),me.set("path",`figures/${q.name}`),me.set("figure",q);const Ee=await fetch(rn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/figures`),{method:"POST",credentials:"include",body:me}),it=await Ee.json().catch(()=>null);if(!Ee.ok)throw new Error(((Rt=it==null?void 0:it.detail)==null?void 0:Rt.message)??"Could not upload figure");return it},onSuccess:q=>{s.setQueryData(["chat-latex-paper",n.artifact_id],q),s.invalidateQueries({queryKey:["chat-latex-paper-manifest",n.artifact_id]}),s.invalidateQueries({queryKey:["chat-latex-paper-source-files",n.artifact_id]}),w(null)},onError:q=>w(q instanceof Error?q.message:"Could not upload figure")}),x=im({mutationFn:async()=>{const q=await fetch(rn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/refresh-compile`),{method:"POST",credentials:"include"});if(!q.ok)throw new Error("Could not refresh paper compilation");return q.json()},onSuccess:q=>s.setQueryData(["chat-latex-paper",n.artifact_id],q)}).mutate,I=D==null?void 0:D.version_id,W=D==null?void 0:D.compile_status;ee.useEffect(()=>{if(!I||!n.artifact_id||!["queued","compiling"].includes(W??""))return;const q=window.setTimeout(()=>x(),2e3);return()=>window.clearTimeout(q)},[n.artifact_id,x,W,I]);const Z=t.state.sourceFile??((an=Q.data)==null?void 0:an.root_document)??null,ae=(B==null?void 0:B.editing_enabled)===!0&&!!(D!=null&&D.version_id)&&p&&!g&&!P.isPending,ne=new Map(((ln=X.data)==null?void 0:ln.items.map(q=>[q.version_id,q.version]))??[]),Ae=Y?rn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions/${encodeURIComponent(Y.version_id)}/preview`):null,At=!!(D&&Y&&D.version_id!==Y.version_id),Ie=()=>!L||window.confirm("Leave this view? Unsaved paper edits remain in this browser."),Ge=q=>q!==t.state.tab&&!Ie()?!1:(t.setTab(q),!0),lt=q=>{var Ee,it;if(!["ArrowLeft","ArrowRight","Home","End"].includes(q.key))return;q.preventDefault();const me=q.key==="ArrowLeft"||q.key==="Home"?"preview":"files";Ge(me)&&((it=(Ee=q.currentTarget.parentElement)==null?void 0:Ee.querySelector(`#paper-${me}-tab`))==null||it.focus())},tt=q=>{q!==Z&&L&&!window.confirm("Switch files? Unsaved edits stay in this browser.")||t.setSourceFile(q)},Jt=()=>{const q=window.prompt("New TeX or BibTeX file name","section.tex");if(q){if(!kC(q)||a[q]){w("Choose a new safe .tex or .bib filename.");return}if(Object.keys(a).length>=100){w("A paper can contain at most 100 files.");return}l({...a,[q]:""}),w(null),t.setSourceFile(q)}},Pn=()=>{var Ee;if(!Z||Z===((Ee=Q.data)==null?void 0:Ee.root_document))return;const q=window.prompt("Rename file",Z);if(!q||q===Z)return;if(!kC(q)||a[q]){w("Choose a new safe .tex or .bib filename.");return}const me={...a,[q]:a[Z]};delete me[Z],l(me),t.setSourceFile(q)},Rn=()=>{var me,Ee;if(!Z||Z===((me=Q.data)==null?void 0:me.root_document)||!window.confirm(`Delete ${Z}?`))return;const q={...a};delete q[Z],l(q),t.setSourceFile(((Ee=Q.data)==null?void 0:Ee.root_document)??null)},us=()=>{!g||!window.confirm("Discard this stale local draft?")||(window.localStorage.removeItem(Vm(n.artifact_id)),l(c),d((D==null?void 0:D.version_id)??null),v(!1),w(null))},Mn=()=>{Ie()&&(i(),U&&F.current&&(F.current=!1,window.history.back()))},ds=()=>{if(!D||D.compile_status!=="failed"||D.repair_exhausted)return;const q=(D.compile_diagnostics??[]).slice(0,20).map(me=>`${me.file??"project"}${me.line?`:${me.line}`:""}: ${me.message}`).join(` +`);t.askAiToFix(`Repair the failed paper source version ${D.version_id}. Use pwc-paper to inspect and repair it; make no more than three attempts. Compiler diagnostics: +${q||"No compiler diagnostic was available."}`)},Yn=q=>{!q||!Ge("files")||t.setSourceFile(q)};return S.jsxs("section",{ref:O,className:`chat-artifact-panel${U?" is-dialog":" is-docked"}`,role:U?"dialog":"complementary","aria-modal":U?!0:void 0,"aria-labelledby":"latex-paper-title","data-testid":"latex-paper-panel",children:[S.jsxs("header",{children:[S.jsxs("div",{children:[S.jsx("span",{children:"Private paper"}),S.jsx("h2",{id:"latex-paper-title",children:n.title}),S.jsxs("p",{className:"chat-paper-status",role:"status","aria-live":"polite",children:[D?`Source v${D.version} · ${D.compile_status}`:"Preparing paper source",At?" · Preview out of date":""]}),S.jsx("p",{className:"chat-paper-privacy-note",children:"This paper is private to this chat. Source, figures, and PDFs are stored privately; AI-authored text needs your review."})]}),S.jsxs("div",{className:"chat-artifact-header-actions",children:[S.jsx("button",{type:"button","aria-expanded":_,"aria-controls":"paper-version-history",onClick:()=>{$(null),A(!_)},children:"Version history"}),S.jsx("button",{type:"button","data-artifact-close":!0,"aria-label":U?"Back to conversation":"Close paper",onClick:Mn,children:S.jsx(D_,{})})]})]}),S.jsxs("nav",{"aria-label":"Paper views",role:"tablist",children:[S.jsx("button",{type:"button",id:"paper-preview-tab",role:"tab","aria-selected":t.state.tab==="preview","aria-controls":"paper-preview-panel",tabIndex:t.state.tab==="preview"?0:-1,className:t.state.tab==="preview"?"active":"",onClick:()=>Ge("preview"),onKeyDown:lt,children:"Preview"}),S.jsx("button",{type:"button",id:"paper-files-tab",role:"tab","aria-selected":t.state.tab==="files","aria-controls":"paper-files-panel",tabIndex:t.state.tab==="files"?0:-1,className:t.state.tab==="files"?"active":"",onClick:()=>Ge("files"),onKeyDown:lt,children:"Files"})]}),S.jsxs("div",{id:t.state.tab==="preview"?"paper-preview-panel":"paper-files-panel",role:"tabpanel","aria-labelledby":t.state.tab==="preview"?"paper-preview-tab":"paper-files-tab",className:"chat-artifact-panel-body",children:[t.state.tab==="preview"?H.isError?S.jsxs("div",{role:"alert",children:["Could not load paper details. ",S.jsx("button",{type:"button",onClick:()=>void H.refetch(),children:"Retry paper details"})]}):Ae?S.jsx(RX,{url:Ae,downloadUrl:Zee(n.artifact_id),paperKey:`${n.artifact_id}:${Y==null?void 0:Y.version_id}`,paperTitle:n.title,paperHref:"/chat",chrome:"canvas"},Y==null?void 0:Y.version_id):D?D.compile_status==="failed"?S.jsx("p",{role:"alert",children:"No compiled preview is available for this failed source version. Review the diagnostics or fix the paper in Files."}):["queued","compiling"].includes(D.compile_status)?S.jsx("p",{role:"status",children:"Preview is compiling. The stored source is available in Files."}):S.jsx("p",{role:"alert",children:"No compiled preview is available for this source version."}):S.jsx("p",{role:"status",children:"Paper source and compiled preview are not available yet."}):S.jsxs("div",{className:"chat-artifact-source-workspace",children:[S.jsxs("nav",{"aria-label":"Paper source files",children:[se.map(q=>S.jsx("button",{type:"button","aria-pressed":Z===q.path,onClick:()=>tt(q.path),children:q.path},q.path)),ae&&S.jsxs("button",{type:"button",className:"latex-file-action","aria-label":"Add TeX file",onClick:Jt,children:[S.jsx(AL,{})," Add file"]}),ae&&S.jsxs("label",{className:"latex-file-action",children:["Upload figure",S.jsx("input",{"aria-label":"Upload figure",type:"file",accept:"image/png,image/jpeg,application/pdf,.png,.jpg,.jpeg,.pdf",disabled:M.isPending,onChange:q=>{var Ee;const me=(Ee=q.currentTarget.files)==null?void 0:Ee[0];q.currentTarget.value="",me&&M.mutate(me)}})]}),ve.map(q=>D&&S.jsx("a",{href:Kee(n.artifact_id,D.version_id,q.path),download:!0,children:q.path},q.path))]}),S.jsxs("div",{className:"latex-editor-column",children:[Z&&a[Z]!==void 0?S.jsx(qee,{path:Z,value:a[Z],readOnly:!ae,onChange:q=>l({...a,[Z]:q})}):S.jsx("p",{children:z.isError?"Source could not be loaded.":"Loading source…"}),ae&&Z&&Z!==((en=Q.data)==null?void 0:en.root_document)&&S.jsxs("div",{className:"latex-file-buttons",children:[S.jsxs("button",{type:"button",onClick:Pn,children:[S.jsx(IC,{})," Rename"]}),S.jsxs("button",{type:"button",onClick:Rn,children:[S.jsx(mL,{})," Delete"]})]})]})]}),_&&S.jsxs("section",{id:"paper-version-history",className:"chat-artifact-history","aria-label":"Paper version history",children:[S.jsx("h3",{children:"Version history"}),X.isLoading&&S.jsx("p",{children:"Loading history…"}),X.isError&&S.jsx("p",{role:"alert",children:"Paper history could not be loaded."}),(fs=X.data)==null?void 0:fs.items.map(q=>{var me,Ee,it,Rt;return S.jsxs("article",{children:[S.jsxs("strong",{children:["v",q.version," · ",q.compile_status]}),S.jsx("span",{children:Yee(q)}),q.created_at&&S.jsx("time",{dateTime:q.created_at,children:q.created_at}),q.parent_version_id&&S.jsxs("span",{children:["Parent ",ne.has(q.parent_version_id)?`v${ne.get(q.parent_version_id)}`:q.parent_version_id]}),(me=q.provenance)!=null&&me.changed_files.length?S.jsxs("span",{children:["Changed: ",q.provenance.changed_files.join(", ")]}):null,((Ee=q.provenance)==null?void 0:Ee.restored_from_version_id)&&S.jsxs("span",{children:["Restored from ",q.provenance.restored_from_version_id]}),((it=q.provenance)==null?void 0:it.change_summary)&&S.jsx("p",{children:q.provenance.change_summary}),(Rt=q.provenance)==null?void 0:Rt.reference_changes.map(Ai=>S.jsx("p",{children:Ai},Ai)),S.jsx("a",{href:SC(n.artifact_id,q.version_id),download:!0,children:"Source ZIP"}),(B==null?void 0:B.editing_enabled)&&(D==null?void 0:D.version_id)&&q.version_id!==D.version_id&&S.jsxs("button",{type:"button",disabled:N.isPending||L,onClick:()=>N.mutate(q.version_id),children:["Restore version ",q.version]})]},q.version_id)}),((Ic=X.data)==null?void 0:Ic.next_cursor)&&S.jsx("button",{type:"button",onClick:()=>$(X.data.next_cursor??null),children:"Load older versions"})]})]}),S.jsxs("footer",{children:[S.jsxs("div",{className:"chat-artifact-metadata","aria-live":"polite",children:[At&&S.jsx("strong",{children:"Out of date"}),(Ha=D==null?void 0:D.compile_diagnostics)==null?void 0:Ha.map((q,me)=>S.jsxs("button",{type:"button",onClick:()=>Yn(q.file),className:"latex-compile-diagnostic",children:[q.file?`${q.file}${q.line?`:${q.line}`:""}: `:"",q.message]},`${q.file??"global"}:${q.line??""}:${me}`)),y&&S.jsx("span",{role:"alert",children:y}),g&&S.jsx("button",{type:"button",onClick:us,children:"Discard stale local draft"})]}),S.jsxs("div",{className:"chat-artifact-actions",children:[(D==null?void 0:D.compile_status)==="failed"&&!D.repair_exhausted&&S.jsx("button",{type:"button",onClick:ds,children:"Ask AI to fix"}),(D==null?void 0:D.compile_status)==="failed"&&D.repair_exhausted&&S.jsx("span",{role:"status",children:"AI repair attempts exhausted"}),t.state.tab==="files"&&ae&&S.jsxs("button",{type:"button",disabled:!L,onClick:()=>P.mutate(),children:[S.jsx(EL,{}),P.isPending?"Saving…":"Save & Compile"]}),D&&S.jsxs("a",{href:SC(n.artifact_id,D.version_id),download:!0,children:[S.jsx(z_,{})," Source ZIP"]})]})]})]})},Qee="https://github.com/Chenruishuo/posterly/tree/b9f42e5578a49a27525a68f85376bb3bb25af86f";function ete(){if(typeof window>"u")return null;const n=window.location.pathname.match(/^\/share\/([^/]+)/u);return n?decodeURIComponent(n[1]):null}function WN(n){if(n.scope==="public"){const s=ete();if(!s||!n.public_capability)return null;const i=`/api/v1/chat/shares/${encodeURIComponent(s)}/artifacts/${encodeURIComponent(n.public_capability)}`;return{preview:rn(`${i}/preview`),png:rn(`${i}/download/png`),pdf:rn(`${i}/download/pdf`),manifest:null,source:null,gate:null,download:null}}if(!n.artifact_id||!n.version_id)return null;const e=`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions/${encodeURIComponent(n.version_id)}`,t=(s,i)=>rn(`${e}/${s}/${i.split("/").map(encodeURIComponent).join("/")}`);return{preview:rn(`${e}/preview`),png:t("download","poster.png"),pdf:null,manifest:rn(`${e}/manifest`),source:s=>t("source",s),gate:s=>t("source",s),download:s=>t("download",s)}}const GN=n=>({passed:"Passed",warnings:"Passed with warnings",failed:"Draft—checks failed"})[n??"passed"];function tte(){const[n,e]=ee.useState(()=>{var t;return typeof window<"u"&&((t=window.matchMedia)==null?void 0:t.call(window,"(max-width: 760px)").matches)});return ee.useEffect(()=>{var i,r;const t=(i=window.matchMedia)==null?void 0:i.call(window,"(max-width: 760px)");if(!t)return;const s=()=>e(t.matches);return s(),(r=t.addEventListener)==null||r.call(t,"change",s),()=>{var o;return(o=t.removeEventListener)==null?void 0:o.call(t,"change",s)}},[]),n}const nte=({forceDialog:n=!1,readerFallback:e=!1})=>{var k,$,E,O;const t=nm(),s=t.close,{state:i}=t,r=i.selected,o=tte(),a=n||o,l=ee.useRef(null),c=ee.useRef(!1),h=wo({queryKey:["chat-artifact-versions",r==null?void 0:r.artifact_id],queryFn:async()=>{const F=await fetch(rn(`/api/v1/chat/artifacts/${encodeURIComponent(r.artifact_id)}`),{credentials:"include",cache:"no-store"});if(!F.ok)throw new Error("Could not load poster versions");return(await F.json()).versions},enabled:i.open&&(r==null?void 0:r.scope)==="owner"&&!!r.artifact_id,staleTime:Number.POSITIVE_INFINITY}),u=(k=h.data)==null?void 0:k.find(F=>F.version_id===i.selectedVersionId),d=r&&u?{...r,version_id:u.version_id,version:u.version,gate_status:u.gate_status,total_bytes:u.total_bytes}:r,p=d?WN(d):null,g=wo({queryKey:["chat-artifact-manifest",d==null?void 0:d.version_id],queryFn:async()=>{const F=await fetch(p.manifest,{credentials:"include",cache:"no-store"});if(!F.ok)throw new Error("Could not load poster details");return F.json()},enabled:i.open&&(d==null?void 0:d.scope)==="owner"&&!!(p!=null&&p.manifest),staleTime:Number.POSITIVE_INFINITY}).data,v=i.sourceFile??(g==null?void 0:g.entrypoint)??null,y=wo({queryKey:["chat-artifact-source",d==null?void 0:d.version_id,v],queryFn:async()=>{const F=await fetch(p.source(v),{credentials:"include",cache:"no-store"});if(!F.ok)throw new Error("Source could not be loaded");return F.text()},enabled:i.open&&i.tab==="source"&&(d==null?void 0:d.scope)==="owner"&&!!(v&&(p!=null&&p.source)),staleTime:Number.POSITIVE_INFINITY});if(ee.useEffect(()=>{var U,L;if(!i.open||!a)return;(L=(U=l.current)==null?void 0:U.querySelector("[data-artifact-close]"))==null||L.focus(),window.history.pushState({...window.history.state,pwcArtifactPanel:!0},""),c.current=!0;const F=()=>{c.current=!1,s()};return window.addEventListener("popstate",F),()=>window.removeEventListener("popstate",F)},[s,a,i.open]),ee.useEffect(()=>{if(!i.open||!a)return;const F=U=>{if(U.key==="Escape"){U.preventDefault(),s(),c.current&&(c.current=!1,window.history.back());return}if(U.key!=="Tab"||!l.current)return;const L=[...l.current.querySelectorAll('button:not([disabled]), a[href], select:not([disabled]), [tabindex]:not([tabindex="-1"])')];if(!L.length)return;const H=L[0],B=L.at(-1);U.shiftKey&&document.activeElement===H?(U.preventDefault(),B.focus()):!U.shiftKey&&document.activeElement===B&&(U.preventDefault(),H.focus())};return document.addEventListener("keydown",F),()=>document.removeEventListener("keydown",F)},[s,a,i.open]),!i.open||!d||!p)return null;const w=()=>{s(),a&&c.current&&(c.current=!1,window.history.back())},_=($=g==null?void 0:g.downloads[0])==null?void 0:$.path,A=d.scope==="public"?p.pdf:_&&p.download?p.download(_):null;return S.jsxs("section",{ref:l,className:`chat-artifact-panel${a?" is-dialog":" is-docked"}${e?" is-reader-fallback":""}`,role:a?"dialog":"complementary","aria-modal":a?!0:void 0,"aria-label":d.title,"data-testid":"artifact-panel",children:[S.jsxs("header",{children:[S.jsxs("div",{children:[S.jsx("span",{children:"Posterly artifact"}),S.jsx("h2",{children:d.title})]}),(((E=h.data)==null?void 0:E.length)??0)>1&&S.jsxs("label",{className:"chat-artifact-version",children:["Version",S.jsx("select",{"aria-label":"Poster version",value:d.version_id,onChange:F=>t.setVersion(F.target.value),children:[...h.data??[]].reverse().map(F=>S.jsxs("option",{value:F.version_id,children:["v",F.version]},F.version_id))})]}),S.jsx("button",{type:"button","data-artifact-close":!0,"aria-label":a?"Back to conversation":"Close poster",onClick:w,children:S.jsx(D_,{})})]}),S.jsxs("nav",{"aria-label":"Poster views",children:[S.jsx("button",{type:"button","aria-pressed":i.tab==="preview",className:i.tab==="preview"?"active":"",onClick:()=>t.setTab("preview"),children:"Preview"}),d.scope==="owner"&&S.jsx("button",{type:"button","aria-pressed":i.tab==="source",className:i.tab==="source"?"active":"",onClick:()=>t.setTab("source"),children:"Source"})]}),S.jsx("div",{className:"chat-artifact-panel-body",children:i.tab==="preview"?S.jsx("img",{src:p.preview,alt:`Full preview of ${d.title}`}):S.jsxs("div",{className:"chat-artifact-source-workspace",children:[(((O=g==null?void 0:g.source_files)==null?void 0:O.length)??0)>1&&S.jsx("nav",{"aria-label":"Poster source files",children:g.source_files.map(F=>S.jsx("button",{type:"button","aria-pressed":v===F,onClick:()=>t.setSourceFile(F),children:F},F))}),S.jsx("pre",{children:S.jsx("code",{children:y.isError?"Source could not be loaded.":y.data??"Loading source…"})})]})}),S.jsxs("footer",{children:[S.jsxs("div",{className:"chat-artifact-metadata",children:[S.jsx("strong",{children:GN(d.gate_status)}),g&&S.jsxs("span",{children:[g.canvas.width," × ",g.canvas.height," ",g.canvas.unit," · ",g.canvas.orientation," · ",g.direction]}),g==null?void 0:g.gate_summary.map(F=>S.jsx("span",{children:F},F))]}),S.jsxs("div",{className:"chat-artifact-actions",children:[S.jsxs("a",{href:p.png,download:!0,children:[S.jsx(tA,{})," PNG"]}),d.gate_status!=="failed"&&A&&S.jsxs("a",{href:A,download:!0,children:[S.jsx(tA,{})," PDF"]}),d.scope==="owner"&&g&&p.source&&S.jsxs("a",{href:p.source(g.entrypoint),download:!0,children:[S.jsx(z_,{})," HTML"]}),d.scope==="owner"&&g&&p.gate&&S.jsx("a",{href:p.gate(g.gate_report),download:!0,children:"Gate report"}),S.jsxs("a",{href:Qee,target:"_blank",rel:"noreferrer",children:[S.jsx(MC,{})," Posterly source · AGPL-3.0"]})]})]})]})},AC=n=>{var t;const{state:e}=nm();return((t=e.selected)==null?void 0:t.artifact_kind)==="latex_paper"?S.jsx(Jee,{block:e.selected,...n}):S.jsx(nte,{...n})},ste=({block:n})=>{const e=nm(),t=e.register,s=e.unregister,i=N_(n);if(ee.useEffect(()=>{t(n)},[n,t]),ee.useEffect(()=>()=>s(i),[i,s]),n.status==="generating")return S.jsxs("div",{className:"chat-artifact-card chat-artifact-generating",role:"status",children:[S.jsx("span",{className:"chat-artifact-pulse","aria-hidden":"true"}),S.jsxs("span",{children:[S.jsx("strong",{children:n.title}),S.jsx("small",{children:"Publishing Posterly preview…"})]})]});if(n.status==="error")return S.jsxs("div",{className:"chat-artifact-card chat-artifact-error",role:"alert",children:[S.jsx(z_,{"aria-hidden":"true"}),S.jsxs("span",{children:[S.jsx("strong",{children:n.title}),S.jsx("small",{children:n.error_message??"Poster publication failed."})]})]});const r=WN(n);if(!r)return null;const o=e.state.open&&e.state.selectedKey===i;return S.jsxs("button",{type:"button",className:`chat-artifact-card${o?" is-selected":""}`,"aria-pressed":o,onClick:a=>e.open(n,a.currentTarget),children:[S.jsx("img",{src:r.preview,alt:`Preview of ${n.title}`}),S.jsxs("span",{className:"chat-artifact-card-copy",children:[S.jsxs("span",{className:"chat-artifact-kicker",children:[S.jsx(xL,{"aria-hidden":"true"})," Posterly · v",n.version]}),S.jsx("strong",{children:n.title}),S.jsx("small",{className:`chat-artifact-gate chat-artifact-gate-${n.gate_status}`,children:GN(n.gate_status)})]})]})};function ite(n){if(!n.authors.length)return"";const e=n.authors.slice(0,3).map(t=>t.name).join(", ");return n.authors.length>3?`${e}, et al.`:e}function rte(n){var t;if(n.conference)return n.conference;const e=(t=n.published)==null?void 0:t.slice(0,4);if(n.arxiv_id)return e?`arXiv ${e}`:"arXiv";if(n.source_url)try{return new URL(n.source_url).hostname.replace(/^www\./,"")}catch{}return e??"external"}function ote(n,e=240){const t=n.content.trim();return t.length<=e?t:`${t.slice(0,e).trimEnd()}…`}const ate="https://huggingface.co/pro",lte="https://huggingface.co/docs/inference-providers/pricing",cte="https://paperswithcode.co/chat",KN=()=>S.jsx("span",{className:"chat-caret"}),hte=n=>{var t;if(!n.streaming)return!1;const e=(t=n.blocks)==null?void 0:t.at(-1);return e?e.kind==="reasoning"?!e.active:e.kind==="tool"?e.status!=="running":!1:!0},ute=n=>{var p,m;const e=n.currentTarget,t=e.ownerDocument,s=(p=t.caretPositionFromPoint)==null?void 0:p.call(t,n.clientX,n.clientY),i=s?null:(m=t.caretRangeFromPoint)==null?void 0:m.call(t,n.clientX,n.clientY),r=(s==null?void 0:s.offsetNode)??(i==null?void 0:i.startContainer),o=(s==null?void 0:s.offset)??(i==null?void 0:i.startOffset);if(!(r instanceof Text)||o===void 0||!e.contains(r))return;const a=r.data,l=/[\p{L}\p{M}\p{N}_'-]/u;let c=Math.min(o,a.length),h=c;for(;c>0&&l.test(a[c-1]);)c-=1;for(;h{const t=[];let s=0;for(const i of[...e].sort((r,o)=>r.start-o.start)){const r=n.slice(i.start,i.end);i.startn.length||r!==i.title&&r!==`@${i.title}`||(t.push(n.slice(s,i.start)),t.push(S.jsxs("span",{className:"chat-inline-paper-mention",children:[S.jsx(kL,{size:13,"aria-hidden":"true"}),S.jsx(j_,{routeId:i.route_id,className:"chat-inline-paper-link",children:r.startsWith("@")?r.slice(1):r})]},i.key)),s=i.end)}return t.push(n.slice(s)),S.jsx(S.Fragment,{children:t})},fte=({block:n,papers:e,citations:t,webCitations:s,onToggle:i})=>n.active?S.jsxs("div",{className:"chat-reason-live",children:[S.jsxs("div",{className:"chat-reason-live-head",children:[S.jsx(F_,{})," ",S.jsx("span",{children:"Thinking…"})]}),S.jsxs("div",{className:"chat-reason-live-body chat-answer chat-reason-markdown",children:[S.jsx(zv,{text:n.text,streaming:!0,papers:e,citations:t,webCitations:s}),S.jsx(KN,{})]})]}):S.jsxs("div",{className:"chat-reason-done",children:[S.jsxs("button",{type:"button",className:"chat-reason-done-head",onClick:i,"aria-expanded":n.open,children:[S.jsx(uL,{}),S.jsx("span",{children:"Thought for a few seconds"}),S.jsx(RC,{open:n.open})]}),n.open&&S.jsx("div",{className:"chat-reason-done-body chat-answer chat-reason-markdown",children:S.jsx(zv,{text:n.text,papers:e,citations:t,webCitations:s})})]}),pte=({block:n,papers:e,onToggle:t})=>{var d,p,m,g;const s=n.status==="running",i=s&&n.argumentState==="streaming",r=n.schema_version===2||!!n.content,o=n.status==="error"||n.status==="denied",a=typeof n.args.query=="string"?n.args.query:"",l=typeof n.args.command=="string"?n.args.command:typeof n.args.file_path=="string"?n.args.file_path:a,c=n.name.startsWith("pwc_")?Object.entries(n.args).filter(([,v])=>v!=null&&v!=="").map(([v,y])=>`${v}=${typeof y=="string"?y:JSON.stringify(y)}`).join(" · "):r?l:`("${a}")`,h=((d=n.content)==null?void 0:d.map(v=>v.text).join(""))??"",u=i?"streaming arguments…":s?"running…":r?`${n.status} · ${n.took_ms??0} ms`:`${n.hits} results · ${n.took_ms} ms`;return S.jsxs("div",{className:`chat-tool${s?" chat-tool-running":""}${o?" chat-tool-failed":""}`,children:[S.jsxs("button",{type:"button",className:"chat-tool-head",onClick:t,"aria-expanded":n.open,children:[S.jsxs("span",{className:"chat-tool-head-left",children:[s?S.jsx(F_,{}):S.jsx(dL,{}),S.jsx("code",{className:"chat-tool-name",children:n.name}),S.jsx("span",{className:"chat-tool-query",title:c,children:c})]}),S.jsxs("span",{className:"chat-tool-head-right",children:[S.jsx("span",{className:"chat-tool-status",children:u}),S.jsx(RC,{open:n.open})]})]}),n.open&&S.jsxs("div",{className:"chat-tool-body",children:[S.jsxs("div",{className:"chat-tool-args",children:[S.jsxs("span",{className:"chat-tool-label",children:["arguments",n.arguments_redacted?" · redacted":""]}),S.jsx("pre",{children:n.argumentState==="streaming"&&!n.arguments_redacted&&n.argumentText||JSON.stringify(n.args,null,2)})]}),!s&&r?S.jsxs(S.Fragment,{children:[S.jsxs("div",{className:"chat-tool-output-head",children:[S.jsx("span",{className:"chat-tool-label",children:"result"}),S.jsx("button",{type:"button",className:"chat-tool-copy",onClick:()=>void navigator.clipboard.writeText(h),children:"Copy"})]}),S.jsx("pre",{className:"chat-tool-output",children:S.jsx("code",{children:h})}),((p=n.metadata)==null?void 0:p.output_truncated)&&S.jsx("div",{className:"chat-tool-truncated",children:"Output was truncated."})]}):s?null:S.jsxs(S.Fragment,{children:[S.jsxs("div",{className:"chat-tool-label chat-tool-results-label",children:["returned ",((m=n.results)==null?void 0:m.length)??0," papers"]}),S.jsx("ol",{className:"chat-tool-results",children:(g=n.results)==null?void 0:g.map(v=>S.jsxs("li",{className:"chat-hit",children:[S.jsx("div",{className:"chat-hit-top",children:S.jsx(LC,{routeId:v.route_id,paper:e[v.route_id],className:"chat-hit-title",children:v.title})}),S.jsx("div",{className:"chat-hit-meta",children:[ite(v.metadata),rte(v.metadata)].filter(Boolean).join(" · ")}),S.jsxs("div",{className:"chat-hit-snippet",children:[ote(v),v.content_truncated&&S.jsx("span",{className:"chat-hit-truncated",children:" (truncated)"})]})]},v.route_id))})]})]})]})},mte=({block:n,papers:e,citations:t,webCitations:s,streaming:i})=>S.jsxs("div",{className:"chat-answer",children:[S.jsx(zv,{text:n.text,streaming:i,papers:e,citations:t,webCitations:s}),i&&!!n.text.trim()&&S.jsx(KN,{})]}),gte=({block:n})=>S.jsx(i8,{block:n}),ZN=n=>{const e=ee.useRef(null),t=ee.useCallback(()=>{const s=e.current;if(!s)return;s.style.height="auto";const i=Math.max(120,window.innerHeight*.4);s.style.height=`${Math.min(s.scrollHeight,i)}px`,s.style.overflowY=s.scrollHeight>i?"auto":"hidden"},[]);return ee.useLayoutEffect(()=>{var s,i;(s=e.current)==null||s.focus(),(i=e.current)==null||i.setSelectionRange(n.length,n.length),t()},[t,n.length]),{textareaRef:e,resize:t}},yte=({id:n,text:e,paperSelection:t,editNotice:s,onCancel:i,onResend:r,onResendDraft:o})=>{const[a,l]=ee.useState(e),[c,h]=ee.useState(t),[u,d]=ee.useState(!1),{textareaRef:p,resize:m}=ZN(e);ee.useLayoutEffect(m,[m,a]);const g=!!a.trim()&&a.length<=8e3,v=()=>{if(!g||u)return;d(!0),((o==null?void 0:o({text:a,paperMentions:[],...c?{paperSelection:c}:{}}))??(r==null?void 0:r(a))??!1)||d(!1)};return S.jsx("div",{className:"chat-msg chat-msg-user chat-msg-user-editing","data-message-id":n,children:S.jsxs("div",{className:"chat-inline-editor",children:[c&&S.jsx(Yy,{selection:c,editable:!0,onRemove:()=>h(void 0)}),S.jsx("textarea",{ref:p,className:"chat-inline-editor-textarea","aria-label":"Edit message",value:a,maxLength:8e3,onChange:y=>l(y.target.value),onKeyDown:y=>{y.key==="Escape"?(y.preventDefault(),i==null||i()):y.key==="Enter"&&!y.shiftKey&&!y.nativeEvent.isComposing&&(y.preventDefault(),v())}}),s&&S.jsx("div",{className:"chat-inline-editor-notice",children:s}),S.jsxs("div",{className:"chat-inline-editor-actions",children:[S.jsx("button",{type:"button",onClick:i,children:"Cancel"}),S.jsx("button",{type:"button",className:"chat-inline-editor-send",disabled:!g||u,onClick:v,children:"Send"})]})]})})},vte=({id:n,text:e,paperMentions:t,paperSelection:s,enabled:i,editNotice:r,onCancel:o,onResend:a,onResendDraft:l})=>{const[c,h]=ee.useState({text:e,paperMentions:t,...s?{paperSelection:s}:{}}),[u,d]=ee.useState(!1),[p,m]=ee.useState(0),{textareaRef:g,resize:v}=ZN(e),y=$C({draft:c,onChange:h,enabled:i,textareaRef:g});ee.useLayoutEffect(v,[v,c.text]);const w=!!c.text.trim()&&c.text.length<=8e3&&(i||c.paperMentions.length===0),_=()=>{if(!w||u)return;d(!0),((l==null?void 0:l(c))??(a==null?void 0:a(c.text))??!1)||d(!1)};return S.jsx("div",{className:"chat-msg chat-msg-user chat-msg-user-editing","data-message-id":n,children:S.jsxs("div",{className:"chat-inline-editor",children:[c.paperSelection&&S.jsx(Yy,{selection:c.paperSelection,editable:!0,onRemove:()=>h({text:c.text,paperMentions:c.paperMentions})}),S.jsxs("div",{className:"chat-inline-editor-textarea-wrap",children:[S.jsx(TC,{text:c.text,mentions:c.paperMentions,scrollTop:p,variant:"editor"}),S.jsx("textarea",{ref:g,className:"chat-inline-editor-textarea","aria-label":"Edit message",value:c.text,maxLength:8e3,role:"combobox","aria-autocomplete":"list","aria-expanded":y.open,"aria-controls":y.open?y.pickerId:void 0,"aria-activedescendant":y.open&&y.results.length?`${y.optionIdPrefix}-${y.activeIndex}`:void 0,onChange:A=>y.updateText(A.target.value,A.target.selectionStart),onSelect:A=>y.refresh(A.currentTarget.selectionStart),onScroll:A=>m(A.currentTarget.scrollTop),onKeyDown:A=>{y.keyDown(A)||(A.key==="Escape"?(A.preventDefault(),o==null||o()):A.key==="Enter"&&!A.shiftKey&&!A.nativeEvent.isComposing&&(A.preventDefault(),_()))}}),S.jsx(PC,{open:y.open,query:y.query,results:y.results,activeIndex:y.activeIndex,loading:y.loading,error:y.error,onSelect:y.select,id:y.pickerId,optionIdPrefix:y.optionIdPrefix})]}),!i&&c.paperMentions.length>0&&S.jsx("div",{className:"chat-inline-editor-notice",role:"status",children:"Paper mentions are currently disabled. Remove them before sending."}),r&&S.jsx("div",{className:"chat-inline-editor-notice",children:r}),S.jsxs("div",{className:"chat-inline-editor-actions",children:[S.jsx("button",{type:"button",onClick:o,children:"Cancel"}),S.jsx("button",{type:"button",className:"chat-inline-editor-send",disabled:!w||u,onClick:_,children:"Send"})]})]})})},Zte=({id:n,text:e,paperMentions:t=[],paperSelection:s,paperMentionsEnabled:i=!1,editingAllowed:r=!1,editing:o=!1,editNotice:a,onEdit:l,onCancel:c,onResend:h,onResendDraft:u})=>{const[d,p]=ee.useState(!1),m=ee.useRef(null);ee.useEffect(()=>()=>{m.current!==null&&window.clearTimeout(m.current)},[]);const g=async()=>{var v;if((v=navigator.clipboard)!=null&&v.writeText)try{await navigator.clipboard.writeText(e),p(!0),m.current!==null&&window.clearTimeout(m.current),m.current=window.setTimeout(()=>p(!1),1500)}catch{}};return o?!i&&t.length===0?S.jsx(yte,{id:n,text:e,paperSelection:s,editNotice:a,onCancel:c,onResend:h,onResendDraft:u}):S.jsx(vte,{id:n,text:e,paperMentions:t,paperSelection:s,enabled:i,editNotice:a,onCancel:c,onResend:h,onResendDraft:u}):S.jsx("div",{className:"chat-msg chat-msg-user","data-message-id":n,children:S.jsxs("div",{className:"chat-user-message-wrap",children:[s&&S.jsx(Yy,{selection:s}),S.jsx("div",{className:"chat-bubble",onDoubleClick:ute,children:S.jsx(dte,{text:e,mentions:t})}),S.jsxs("div",{className:"chat-user-actions",children:[S.jsx("button",{type:"button",className:"chat-user-action","aria-label":d?"Message copied":"Copy message",title:d?"Copied":"Copy",onClick:()=>void g(),children:d?S.jsx(sL,{"aria-hidden":"true"}):S.jsx(SL,{"aria-hidden":"true"})}),r&&S.jsx("button",{type:"button",className:"chat-user-action","aria-label":"Edit message",title:"Edit",onClick:l,children:S.jsx(IC,{"aria-hidden":"true"})})]})]})})},Xte=({msg:n,papers:e,onToggleBlock:t,onRetryCompaction:s,onRetryWithLuna:i,onArchiveOldChats:r,onArchiveOldestChats:o,archivePending:a=null,hfBilling:l=null,openRouterFallbackEnabled:c=!1,feedbackEnabled:h=!1})=>{var F,U,L,H;const[u,d]=ee.useState(null),[p,m]=ee.useState(!1),[g,v]=ee.useState(!1),[y,w]=ee.useState(!1),[_,A]=ee.useState(""),k=ee.useRef(null),$=`chat-feedback-panel-${n.id}`,E=h&&!n.streaming&&!n.error&&!!((F=n.blocks)!=null&&F.some(B=>B.kind==="answer"&&B.text.trim()));ee.useEffect(()=>{var B;y&&((B=k.current)==null||B.focus())},[y]);const O=async(B,D)=>{if(!p){m(!0),v(!1);try{D===void 0?await eA.reportFeedback(n.id,B):await eA.reportFeedback(n.id,B,D),d(B),w(!1),A("")}catch{v(!0)}finally{m(!1)}}};return S.jsx("div",{className:"chat-msg chat-msg-assistant",children:S.jsxs("div",{className:"chat-msg-blocks",children:[(U=n.blocks)==null?void 0:U.map((B,D)=>{var ve;const Y=`${n.id}-${D}`,X="citations"in B&&B.citations!==void 0?B.citations:n.citations??[],Q=Object.fromEntries(X.filter(z=>(z.kind==="catalog_paper"||z.kind==="paper"||!z.kind&&z.route_id)&&z.route_id).map(z=>[z.route_id,z])),se=Object.fromEntries(X.filter(z=>(z.kind==="external_source"||z.kind==="web")&&z.url).map(z=>[z.url,z]));return B.kind==="reasoning"?S.jsx(fte,{block:B,papers:e,citations:Q,webCitations:se,onToggle:()=>t(n.id,D)},Y):B.kind==="tool"?S.jsx(pte,{block:B,papers:e,onToggle:()=>t(n.id,D)},Y):B.kind==="app"?S.jsx(gte,{block:B},B.instance_id||Y):B.kind==="artifact"?S.jsx(ste,{block:B},B.publication_id||B.version_id||Y):S.jsx(mte,{block:B,papers:e,citations:Q,webCitations:se,streaming:!!(n.streaming&&D===(((ve=n.blocks)==null?void 0:ve.length)??0)-1)},Y)}),n.streaming&&n.compacting&&S.jsx(PL,{}),!n.compacting&&hte(n)&&S.jsx("div",{className:"chat-waiting",role:"status","aria-live":"polite",children:S.jsx("span",{className:"chat-thinking",children:(((L=n.blocks)==null?void 0:L.length)??0)===0?n.status??"Thinking…":"Thinking…"})}),n.error&&S.jsxs("div",{className:"chat-error",children:[((H=n.blocks)==null?void 0:H.some(B=>B.kind==="answer"&&B.text.trim()))&&S.jsx("strong",{children:"Incomplete—response interrupted. "}),["context_too_large","provider_error","persistence_error"].includes(n.errorCode??"")&&s&&S.jsx("button",{type:"button",onClick:s,children:"Retry"}),S.jsx("span",{children:n.errorCode==="chat_disabled_interrupted"?"Chat was disabled while this response was running. The partial response is saved. Please try again later.":n.errorCode==="chat_session_quota_exceeded"?n.error:`The assistant hit an error: ${n.error}`}),["hf_inference_billing_required","hf_inference_credential_expired"].includes(n.errorCode??"")&&S.jsx("a",{href:"/settings",children:"Re-sign in with Hugging Face"}),n.errorCode==="hf_inference_billing_exhausted"&&S.jsxs(S.Fragment,{children:[i&&S.jsx("button",{type:"button",onClick:i,children:"Retry with GPT-5.6 Luna"}),(l==null?void 0:l.account_type)==="Free"&&!l.bill_to?S.jsx("a",{href:ate,target:"_blank",rel:"noreferrer",children:"Upgrade to Hugging Face PRO — $9/month for 20× more included credits"}):S.jsx("a",{href:(l==null?void 0:l.usage_url)??"/settings",target:l?"_blank":void 0,rel:l?"noreferrer":void 0,children:"Review Hugging Face usage and billing"}),S.jsx("a",{href:lte,target:"_blank",rel:"noreferrer",children:"Inference Providers pricing and billing details"})]}),n.errorCode==="openrouter_monthly_budget_exhausted"&&S.jsxs(S.Fragment,{children:[c?S.jsx("span",{children:"This response started on the shared allowance. Your connected OpenRouter key will be used when you explicitly retry."}):S.jsx("a",{href:"/settings#openrouter-byok",children:"Connect your own OpenRouter key"}),S.jsx("span",{children:"Or select a Hugging Face-backed model and explicitly retry."})]}),n.errorCode==="openrouter_staging_funding_disabled"&&S.jsx("a",{href:cte,children:"Continue on paperswithcode.co"}),n.errorCode==="openrouter_unavailable"&&S.jsxs(S.Fragment,{children:[S.jsx("a",{href:"/settings#openrouter-byok",children:"Bring your own key in Settings"}),S.jsx("a",{href:"https://github.com/huggingface/paperswithcode-feedback",target:"_blank",rel:"noreferrer",children:"File an issue"})]}),n.errorCode==="openrouter_byok_billing_error"&&S.jsx("a",{href:"https://openrouter.ai/settings/credits",target:"_blank",rel:"noreferrer",children:"Review OpenRouter billing"}),["openrouter_byok_credential_invalid","openrouter_byok_rate_limit"].includes(n.errorCode??"")&&S.jsx("a",{href:"/settings#openrouter-byok",children:"Review OpenRouter settings"}),n.errorCode==="chat_session_quota_exceeded"&&(r||o)&&S.jsxs("span",{className:"chat-error-actions",children:[r&&S.jsx("button",{type:"button",disabled:a!==null,onClick:r,children:a==="old"?"Archiving…":"Archive chats older than 30 days"}),o&&S.jsx("button",{type:"button",disabled:a!==null,onClick:o,children:a==="oldest"?"Archiving…":"Archive oldest 50 chats"})]})]}),!n.streaming&&n.finishReason&&!["success","scope_blocked"].includes(n.finishReason)&&S.jsx("div",{className:"chat-finish-note",children:["tool_limit","max_turns"].includes(n.finishReason)?"The assistant stopped at the execution limit.":`The assistant stopped early (${n.finishReason.replace(/_/g," ")}).`}),E&&S.jsxs("div",{className:"chat-feedback","aria-label":"Rate this response",children:[S.jsx("span",{className:"chat-feedback-label",children:u===null?"Was this helpful?":"Thanks for your feedback"}),S.jsx("button",{type:"button",className:`chat-feedback-action${u===!0?" chat-feedback-action-selected":""}`,"aria-label":"Helpful response","aria-pressed":u===!0,disabled:p,onClick:()=>{w(!1),O(!0)},children:S.jsx($L,{"aria-hidden":"true"})}),S.jsx("button",{type:"button",className:`chat-feedback-action${u===!1?" chat-feedback-action-selected":""}`,"aria-label":"Unhelpful response","aria-pressed":u===!1,"aria-expanded":y,"aria-controls":$,disabled:p,onClick:()=>{v(!1),w(!0)},children:S.jsx(CL,{"aria-hidden":"true"})}),g&&S.jsx("span",{className:"chat-feedback-error",role:"status",children:"Couldn’t send feedback."})]}),E&&y&&S.jsxs("div",{className:"chat-feedback-panel",id:$,role:"group","aria-labelledby":`${$}-title`,children:[S.jsx("div",{className:"chat-feedback-panel-title",id:`${$}-title`,children:"Additional feedback"}),S.jsx("label",{className:"chat-feedback-panel-label",htmlFor:`${$}-comment`,children:"Tell us what went wrong (optional)"}),S.jsx("textarea",{ref:k,id:`${$}-comment`,className:"chat-feedback-comment",value:_,maxLength:500,rows:4,disabled:p,onChange:B=>A(B.target.value),onKeyDown:B=>{B.key==="Escape"&&(B.preventDefault(),w(!1))}}),S.jsxs("div",{className:"chat-feedback-panel-actions",children:[S.jsx("button",{type:"button",className:"chat-feedback-skip",disabled:p,onClick:()=>void O(!1),children:"Skip"}),S.jsx("button",{type:"button",className:"chat-feedback-submit",disabled:p,onClick:()=>void O(!1,_.trim()||void 0),children:p?"Submitting…":"Submit"})]})]})]})})},bte={chat:{breakpoint:760,left:360,right:360},shared:{breakpoint:760,left:360,right:360},reader:{breakpoint:1260,left:840,right:420}};function Za(n,e,t,s){if(!n)return Math.max(25,Math.min(75,e));const i=Math.max(25,s/n*100),r=Math.min(75,(n-t)/n*100);return Math.max(i,Math.min(r,e))}const Yte=({children:n,variant:e})=>{var w;const t=nm(),s=bte[e],i=ee.useRef(null),r=ee.useRef(null),o=ee.useRef(null),a=ee.useRef(null),[l,c]=ee.useState(0),h=ee.useRef(!1),u=ee.useRef(t.state.panelPercent);ee.useLayoutEffect(()=>{const _=i.current;if(!_)return;const A=()=>c(_.clientWidth||window.innerWidth);if(A(),typeof ResizeObserver>"u")return;const k=new ResizeObserver(A);return k.observe(_),()=>k.disconnect()},[]);const d=t.state.open&&l>=s.breakpoint,p=Za(l,t.state.panelPercent,s.left,s.right),m=((w=t.state.selected)==null?void 0:w.artifact_kind)==="latex_paper"?"paper":"poster",g=_=>{var k;const A=Za(l,_,s.left,s.right);u.current=A,r.current&&(r.current.style.width=`${100-A}%`),o.current&&(o.current.style.width=`${A}%`),(k=a.current)==null||k.setAttribute("aria-valuenow",String(Math.round(A)))},v=_=>{var k;const A=(k=i.current)==null?void 0:k.getBoundingClientRect();A!=null&&A.width&&g((A.right-_)/A.width*100)},y=()=>{h.current&&(h.current=!1,t.setPanelPercent(u.current))};return S.jsxs("div",{ref:i,className:`chat-artifact-workspace chat-artifact-workspace-${e}${d?" has-docked-artifact":""}`,"data-artifact-layout":d?"split":t.state.open?"dialog":"closed",children:[S.jsx("div",{ref:r,className:"chat-artifact-workspace-content",style:d?{width:`${100-p}%`}:void 0,children:n}),d&&S.jsxs(S.Fragment,{children:[S.jsx("div",{ref:a,className:"chat-artifact-resize-handle",role:"separator","aria-label":`Resize conversation and ${m} panels`,"aria-orientation":"vertical","aria-valuemin":Math.ceil(Za(l,0,s.left,s.right)),"aria-valuemax":Math.floor(Za(l,100,s.left,s.right)),"aria-valuenow":Math.round(p),tabIndex:0,onPointerDown:_=>{h.current=!0,_.currentTarget.setPointerCapture(_.pointerId),v(_.clientX)},onPointerMove:_=>{h.current&&v(_.clientX)},onPointerUp:y,onPointerCancel:y,onLostPointerCapture:y,onDoubleClick:()=>t.setPanelPercent(55),onKeyDown:_=>{(_.key==="ArrowLeft"||_.key==="ArrowRight")&&(_.preventDefault(),t.setPanelPercent(Za(l,p+(_.key==="ArrowLeft"?2:-2),s.left,s.right))),_.key==="Home"&&t.setPanelPercent(Za(l,25,s.left,s.right)),_.key==="End"&&t.setPanelPercent(Za(l,75,s.left,s.right))}}),S.jsx("div",{ref:o,className:"chat-artifact-workspace-pane",style:{width:`${p}%`},children:S.jsx(AC,{})})]}),t.state.open&&!d&&S.jsx(AC,{forceDialog:!0,readerFallback:e==="reader"})]})};export{Kte as A,Dte as C,RX as P,Zte as U,Yte as a,Xte as b,Gte as c,N_ as d,nm as u};