diff --git "a/assets/ArtifactWorkspace-B7lf_s0k.js" "b/assets/ArtifactWorkspace-B7lf_s0k.js" new file mode 100644--- /dev/null +++ "b/assets/ArtifactWorkspace-B7lf_s0k.js" @@ -0,0 +1,158 @@ +var kN=Object.defineProperty;var jA=n=>{throw TypeError(n)};var xN=(n,e,t)=>e in n?kN(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var ce=(n,e,t)=>xN(n,typeof e!="symbol"?e+"":e,t),I0=(n,e,t)=>e.has(n)||jA("Cannot "+t);var f=(n,e,t)=>(I0(n,e,"read from private field"),t?t.call(n):e.get(n)),R=(n,e,t)=>e.has(n)?jA("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),C=(n,e,t,s)=>(I0(n,e,"write to private field"),s?s.call(n,t):e.set(n,t),t),T=(n,e,t)=>(I0(n,e,"access private method"),t);var ds=(n,e,t,s)=>({set _(i){C(n,e,i,t)},get _(){return f(n,e,s)}});import{e as Ma,r as X,j as S,B as se,V as k_,F as ln,_ as Wp,W as Dy,L as zA,X as x_,Y as EN,h as fC,C as CN}from"./index-D6NpXxup.js";import{u as pC,P as mC,b as gC,M as $N,R as TN,W as PN,d as E_,A as RN,l as MN,J as IN,K as ON,L as NN,N as yC,O as LN}from"./chatLaunch-KGz9i5Uq.js";/* empty css */import{H as Fy,a as jy,b as zy}from"./hover-card-C5GFpPJ1.js";import{u as fa}from"./useQuery-BSzsAAZV.js";import{f as DN,p as FN,T as jN}from"./github-quuMVjBU.js";import{G as Hy}from"./github-CM8g5cw_.js";import{r as zN,a as HN,P as C_,c as BN}from"./PaperPreviewLink-BaxpCHGH.js";import{M as qN,d as UN}from"./index-BiPn19VT.js";import{r as VN}from"./index-PW6rRKKS.js";import{c as HA}from"./chat-CtW0GA2A.js";import{C as WN}from"./copy-ClJTXvCU.js";import{F as GN}from"./file-text-ltUPoEqb.js";import{u as Gp}from"./useMutation-DI9QqXsO.js";import{E as vC}from"./external-link-CCoWzQWa.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 BA=Ma("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 $_=Ma("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 KN=Ma("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 ZN=Ma("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 bC=Ma("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 XN=Ma("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 YN=Ma("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 JN=Ma("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 By({selection:n,editable:e=!1,onRemove:t}){const s=X.useId(),i=X.useRef(null),[r,o]=X.useState(!1),[a,l]=X.useState(!1),c=`Selection · Page ${n.page}`;return X.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 QN=MN(),dee=({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[k,A]=X.useState(QN),$=i??k,E=X.useRef(null),[O,F]=X.useState(0),q=Q=>{i||A(Q),r==null||r(Q)},D=pC({draft:$,onChange:q,enabled:d,textareaRef:E});X.useEffect(()=>{const Q=E.current;Q&&(Q.style.height="auto",Q.style.height=`${Math.min(Q.scrollHeight,200)}px`)},[$.text]),X.useEffect(()=>{var Q;s&&((Q=E.current)==null||Q.focus())},[s]);const z=()=>{const Q=$.text.length-$.text.trimStart().length,te=$.text.trim(),ae=!!$.paperSelection&&!p;if(!te||e||h||ae)return;const ge=Q+te.length,B={text:te,paperMentions:$.paperMentions.filter(P=>P.start>=Q&&P.end<=ge).map(P=>({...P,start:P.start-Q,end:P.end-Q})),...$.paperSelection?{paperSelection:$.paperSelection}:{}};n(B)},K=!!$.paperSelection&&!p,L=!!$.text.trim()&&!K,ee=_&&$.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(By,{selection:$.paperSelection,editable:!0,onRemove:()=>{var Q;q({text:$.text,paperMentions:$.paperMentions}),(Q=E.current)==null||Q.focus()}}),K&&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(mC,{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:Q=>D.updateText(Q.target.value,Q.target.selectionStart),onSelect:Q=>D.refresh(Q.currentTarget.selectionStart),onClick:Q=>D.refresh(Q.currentTarget.selectionStart),onScroll:Q=>F(Q.currentTarget.scrollTop),onBlur:Q=>{var te,ae;(ae=(te=Q.relatedTarget)==null?void 0:te.closest)!=null&&ae.call(te,".chat-paper-picker, .chat-slash-command")||window.setTimeout(D.close,0)},onKeyDown:Q=>{D.keyDown(Q)||Q.key==="Enter"&&!Q.shiftKey&&!Q.nativeEvent.isComposing&&(Q.preventDefault(),z())},role:"combobox","aria-expanded":D.open||ee,"aria-controls":D.open?D.pickerId:ee?"chat-write-paper-command":void 0,"aria-activedescendant":D.open&&D.results.length?`${D.optionIdPrefix}-${D.activeIndex}`:ee?"chat-write-paper-command":void 0,"aria-autocomplete":"list","aria-describedby":[u,D.message?"chat-paper-mention-message":null].filter(Boolean).join(" ")||void 0}),S.jsx(gC,{open:D.open,query:D.query,results:D.results,activeIndex:D.activeIndex,loading:D.loading,error:D.error,onSelect:D.select,id:D.pickerId,optionIdPrefix:D.optionIdPrefix}),ee&&S.jsxs("button",{type:"button",id:"chat-write-paper-command",className:"chat-slash-command",role:"option",onMouseDown:Q=>{var te;Q.preventDefault(),q({...$,text:"/write-paper "}),(te=E.current)==null||te.focus()},children:[S.jsx("code",{children:"/write-paper"}),S.jsx("span",{children:"Draft a paper from this research chat"})]})]}),D.message&&S.jsx("div",{id:"chat-paper-mention-message",className:"chat-paper-mention-message",role:"alert",children:D.message}),S.jsxs("div",{className:"chat-composer-row",children:[S.jsxs("div",{className:"chat-composer-tools",children:[a.length>0&&l&&c&&S.jsx($N,{models:a,selectedModel:l,onModelChange:c,disabled:e}),w&&S.jsx(TN,{value:y,onChange:w,disabled:e}),m&&v&&S.jsx(PN,{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||L?" chat-send-on":""}`,onClick:e?o:z,disabled:h||(e?!o:!L),"aria-label":e?"Stop generating":"Send message",children:e?o?S.jsx("span",{"aria-hidden":"true",children:"■"}):S.jsx(E_,{light:!0}):S.jsx(RN,{})})]})]})};function eL(){const[n,e]=X.useState(!1);return X.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 O0=new Map,wC=n=>{if(!n)return Promise.resolve();const e=O0.get(n);if(e)return e;const t=new Promise(s=>{const i=new Image;i.onload=()=>{s()},i.onerror=()=>{O0.delete(n),s()},i.src=n});return O0.set(n,t),t},tL=new Set(["huggingface.co","www.huggingface.co"]),nL=new Set(["api","blog","chat","collections","docs","enterprise","join","login","models","new","organizations","papers","posts","pricing","search","settings","spaces","tasks"]);function sL(n){let e;try{e=new URL(n)}catch{return null}if(e.protocol!=="https:"||!tL.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"&&nL.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 iL=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches,rL=({repo:n})=>{const[e,t]=se.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"})]})]})},oL=({repo:n,children:e})=>{const[t,s]=se.useState(!1),i=se.useRef(null),r=se.useCallback(()=>{wC(n.thumbnailUrl)},[n.thumbnailUrl]);return se.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(Fy,{open:t,onOpenChange:o=>{(!o||!iL())&&s(o)},openDelay:150,closeDelay:100,children:[S.jsx(jy,{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(zy,{className:"hf-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:S.jsx(rL,{repo:n})})]})},aL=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches,lL=({repo:n,preview:e,unavailable:t})=>{const[s,i]=se.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(Hy,{})}),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…"})]})]})},cL=({repo:n,children:e})=>{var c;const[t,s]=se.useState(!1),[i,r]=se.useState(!1),o=se.useRef(null),a=se.useCallback(()=>r(!0),[]),l=fa({queryKey:["github-repository-preview",n.repoId.toLowerCase()],queryFn:({signal:h})=>DN(n,h),enabled:t||i,staleTime:30*60*1e3,gcTime:60*60*1e3,retry:!1});return se.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]),se.useEffect(()=>{var h;(h=l.data)!=null&&h.avatarUrl&&wC(l.data.avatarUrl)},[(c=l.data)==null?void 0:c.avatarUrl]),S.jsxs(Fy,{open:t,onOpenChange:h=>{(!h||!aL())&&s(h)},openDelay:150,closeDelay:100,children:[S.jsx(jy,{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(Hy,{"aria-hidden":"true"}),e]})}),S.jsx(zy,{className:"github-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:S.jsx(lL,{repo:n,preview:l.data,unavailable:l.isError})})]})},hL=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches;function uL(n){try{return new URL(n).hostname.replace(/^www\./,"")}catch{return"Web source"}}const dL=({citation:n})=>{const[e,t]=se.useState(!1),[s,i]=se.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:uL(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()})]})]})},fL=({citation:n,children:e})=>{const[t,s]=se.useState(!1),i=n.url??"";return S.jsxs(Fy,{open:t,onOpenChange:r=>{(!r||!hL())&&s(r)},openDelay:150,closeDelay:100,children:[S.jsx(jy,{asChild:!0,children:S.jsx("a",{href:i,className:"chat-web-citation",target:"_blank",rel:"noopener noreferrer",children:e})}),S.jsx(zy,{className:"web-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:S.jsx(dL,{citation:n})})]})},pL=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches,mL=n=>n==="semantic_scholar"?"Semantic Scholar":"External paper",gL=({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:mL(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"]})]})},yL=({citation:n,children:e})=>{const[t,s]=se.useState(!1);return S.jsxs(Fy,{open:t,onOpenChange:i=>{(!i||!pL())&&s(i)},openDelay:150,closeDelay:100,children:[S.jsx(jy,{asChild:!0,children:S.jsx("a",{href:n.url??"",className:"chat-external-paper-citation",target:"_blank",rel:"noopener noreferrer",children:e})}),S.jsx(zy,{className:"external-paper-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:S.jsx(gL,{citation:n})})]})};function vL(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 VA(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 _C=({routeId:n,paper:e,citation:t,className:s="chat-paper-link",children:i})=>S.jsx(C_,{routeId:n,initialData:wL(n,e,t),className:s,target:"_blank",children:i});function _L(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 SL=n=>n.startsWith("paper:")?n:UN(n);function AL(n){try{const e=new URL(n);return e.protocol==="https:"&&(e.hostname==="github.com"||e.hostname==="www.github.com")}catch{return!1}}const $v=({text:n,streaming:e,papers:t,citations:s,webCitations:i})=>{const r=bL(e?_L(n):n);return S.jsx(qN,{remarkPlugins:[VN,HN],rehypePlugins:[zN],urlTransform:SL,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(_C,{routeId:h,paper:t[h],citation:s==null?void 0:s[h],children:a})}const l=o?sL(o):null;if(l)return S.jsx(oL,{repo:l,children:a});const c=o?FN(o):null;return c?S.jsx(cL,{repo:c,children:a}):o&&AL(o)?S.jsxs("a",{href:o,className:"chat-github-link",target:"_blank",rel:"noopener noreferrer",children:[S.jsx(Hy,{"aria-hidden":"true"}),a]}):o!=null&&o.startsWith("https://")&&(i!=null&&i[o])?i[o].source_type==="paper"?S.jsx(yL,{citation:i[o],children:a}):S.jsx(fL,{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})},kL=Object.freeze({status:"aborted"});function ne(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 zd extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const SC={};function Sa(n){return SC}function xL(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 EL(n,e){return typeof e=="bigint"?e.toString():e}function T_(n){return{get value(){{const e=n();return Object.defineProperty(this,"value",{value:e}),e}}}}function P_(n){return n==null}function R_(n){const e=n.startsWith("^")?1:0,t=n.endsWith("$")?n.length-1:n.length;return n.slice(e,t)}function CL(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 It(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 qy(n,e,t){Object.defineProperty(n,e,{value:t,writable:!0,enumerable:!0,configurable:!0})}function Fu(n){return JSON.stringify(n)}const AC=Error.captureStackTrace?Error.captureStackTrace:(...n)=>{};function Tg(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}const $L=T_(()=>{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 Pg(n){if(Tg(n)===!1)return!1;const e=n.constructor;if(e===void 0)return!0;const t=e.prototype;return!(Tg(t)===!1||Object.prototype.hasOwnProperty.call(t,"isPrototypeOf")===!1)}const TL=new Set(["string","number","symbol"]);function bp(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function kc(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 Ae(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 PL(n){return Object.keys(n).filter(e=>n[e]._zod.optin==="optional"&&n[e]._zod.optout==="optional")}const RL={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 ML(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 kc(n,{...n._zod.def,shape:t,checks:[]})}function IL(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 kc(n,{...n._zod.def,shape:t,checks:[]})}function OL(n,e){if(!Pg(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 qy(this,"shape",s),s},checks:[]};return kc(n,t)}function NL(n,e){return kc(n,{...n._zod.def,get shape(){const t={...n._zod.def.shape,...e._zod.def.shape};return qy(this,"shape",t),t},catchall:e._zod.def.catchall,checks:[]})}function LL(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 kc(e,{...e._zod.def,shape:i,checks:[]})}function DL(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 kc(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 Kp(n){return typeof n=="string"?n:n==null?void 0:n.message}function Aa(n,e,t){var i,r,o,a,l,c;const s={...n,path:n.path??[]};if(!n.message){const h=Kp((o=(r=(i=n.inst)==null?void 0:i._zod.def)==null?void 0:r.error)==null?void 0:o.call(r,n))??Kp((a=e==null?void 0:e.error)==null?void 0:a.call(e,n))??Kp((l=t.customError)==null?void 0:l.call(t,n))??Kp((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 M_(n){return Array.isArray(n)?"array":typeof n=="string"?"string":"unknown"}function Hd(...n){const[e,t,s]=n;return typeof e=="string"?{message:e,code:"custom",input:t,inst:s}:{...e}}const kC=(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,EL,2)},enumerable:!0}),Object.defineProperty(n,"toString",{value:()=>n.message,enumerable:!1})},xC=ne("$ZodError",kC),EC=ne("$ZodError",kC,{Parent:Error});function FL(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 jL(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 zd;if(o.issues.length){const a=new((i==null?void 0:i.Err)??n)(o.issues.map(l=>Aa(l,r,Sa())));throw AC(a,i==null?void 0:i.callee),a}return o.value},HL=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=>Aa(l,r,Sa())));throw AC(a,i==null?void 0:i.callee),a}return o.value},CC=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 zd;return r.issues.length?{success:!1,error:new(n??xC)(r.issues.map(o=>Aa(o,i,Sa())))}:{success:!0,data:r.value}},$C=CC(EC),TC=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=>Aa(o,i,Sa())))}:{success:!0,data:r.value}},BL=TC(EC),qL=/^[cC][^\s-]{8,}$/,UL=/^[0-9a-z]+$/,VL=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,WL=/^[0-9a-vA-V]{20}$/,GL=/^[A-Za-z0-9]{27}$/,KL=/^[a-zA-Z0-9_-]{21}$/,ZL=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,XL=/^([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})$/,WA=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)$/,YL=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,JL="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function QL(){return new RegExp(JL,"u")}const eD=/^(?:(?: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])$/,tD=/^(([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})$/,nD=/^((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])$/,sD=/^(([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])$/,iD=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,PC=/^[A-Za-z0-9_-]*$/,rD=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,oD=/^\+(?:[0-9]){6,14}[0-9]$/,RC="(?:(?:\\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])))",aD=new RegExp(`^${RC}$`);function MC(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 lD(n){return new RegExp(`^${MC(n)}$`)}function cD(n){const e=MC({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(`^${RC}T(?:${s})$`)}const hD=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}$`)},uD=/^\d+$/,dD=/^-?\d+(?:\.\d+)?/i,fD=/true|false/i,pD=/null/i,mD=/undefined/i,gD=/^[^A-Z]*$/,yD=/^[^a-z]*$/,Ds=ne("$ZodCheck",(n,e)=>{var t;n._zod??(n._zod={}),n._zod.def=e,(t=n._zod).onattach??(t.onattach=[])}),IC={number:"number",bigint:"bigint",object:"date"},OC=ne("$ZodCheckLessThan",(n,e)=>{Ds.init(n,e);const t=IC[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{Ds.init(n,e);const t=IC[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})}}),vD=ne("$ZodCheckMultipleOf",(n,e)=>{Ds.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):CL(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})}}),bD=ne("$ZodCheckNumberFormat",(n,e)=>{var o;Ds.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]=RL[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=uD)}),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})}}),wD=ne("$ZodCheckMaxLength",(n,e)=>{var t;Ds.init(n,e),(t=n._zod.def).when??(t.when=s=>{const i=s.value;return!P_(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=M_(i);s.issues.push({origin:o,code:"too_big",maximum:e.maximum,inclusive:!0,input:i,inst:n,continue:!e.abort})}}),_D=ne("$ZodCheckMinLength",(n,e)=>{var t;Ds.init(n,e),(t=n._zod.def).when??(t.when=s=>{const i=s.value;return!P_(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=M_(i);s.issues.push({origin:o,code:"too_small",minimum:e.minimum,inclusive:!0,input:i,inst:n,continue:!e.abort})}}),SD=ne("$ZodCheckLengthEquals",(n,e)=>{var t;Ds.init(n,e),(t=n._zod.def).when??(t.when=s=>{const i=s.value;return!P_(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=M_(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})}}),Uy=ne("$ZodCheckStringFormat",(n,e)=>{var t,s;Ds.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=()=>{})}),AD=ne("$ZodCheckRegex",(n,e)=>{Uy.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})}}),kD=ne("$ZodCheckLowerCase",(n,e)=>{e.pattern??(e.pattern=gD),Uy.init(n,e)}),xD=ne("$ZodCheckUpperCase",(n,e)=>{e.pattern??(e.pattern=yD),Uy.init(n,e)}),ED=ne("$ZodCheckIncludes",(n,e)=>{Ds.init(n,e);const t=bp(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})}}),CD=ne("$ZodCheckStartsWith",(n,e)=>{Ds.init(n,e);const t=new RegExp(`^${bp(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})}}),$D=ne("$ZodCheckEndsWith",(n,e)=>{Ds.init(n,e);const t=new RegExp(`.*${bp(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})}}),TD=ne("$ZodCheckOverwrite",(n,e)=>{Ds.init(n,e),n._zod.check=t=>{t.value=e.tx(t.value)}});class PD{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 RD={major:4,minor:0,patch:0},At=ne("$ZodType",(n,e)=>{var i;var t;n??(n={}),n._zod.def=e,n._zod.bag=n._zod.bag||{},n._zod.version=RD;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 zd;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 zd;return l.then(c=>r(c,s,a))}return r(l,s,a)}}n["~standard"]={validate:r=>{var o;try{const a=$C(n,r);return a.success?{value:a.data}:{issues:(o=a.error)==null?void 0:o.issues}}catch{return BL(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}}),I_=ne("$ZodString",(n,e)=>{var t;At.init(n,e),n._zod.pattern=[...((t=n==null?void 0:n._zod.bag)==null?void 0:t.patterns)??[]].pop()??hD(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}}),jt=ne("$ZodStringFormat",(n,e)=>{Uy.init(n,e),I_.init(n,e)}),MD=ne("$ZodGUID",(n,e)=>{e.pattern??(e.pattern=XL),jt.init(n,e)}),ID=ne("$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=WA(s))}else e.pattern??(e.pattern=WA());jt.init(n,e)}),OD=ne("$ZodEmail",(n,e)=>{e.pattern??(e.pattern=YL),jt.init(n,e)}),ND=ne("$ZodURL",(n,e)=>{jt.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:rD.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})}}}),LD=ne("$ZodEmoji",(n,e)=>{e.pattern??(e.pattern=QL()),jt.init(n,e)}),DD=ne("$ZodNanoID",(n,e)=>{e.pattern??(e.pattern=KL),jt.init(n,e)}),FD=ne("$ZodCUID",(n,e)=>{e.pattern??(e.pattern=qL),jt.init(n,e)}),jD=ne("$ZodCUID2",(n,e)=>{e.pattern??(e.pattern=UL),jt.init(n,e)}),zD=ne("$ZodULID",(n,e)=>{e.pattern??(e.pattern=VL),jt.init(n,e)}),HD=ne("$ZodXID",(n,e)=>{e.pattern??(e.pattern=WL),jt.init(n,e)}),BD=ne("$ZodKSUID",(n,e)=>{e.pattern??(e.pattern=GL),jt.init(n,e)}),qD=ne("$ZodISODateTime",(n,e)=>{e.pattern??(e.pattern=cD(e)),jt.init(n,e)}),UD=ne("$ZodISODate",(n,e)=>{e.pattern??(e.pattern=aD),jt.init(n,e)}),VD=ne("$ZodISOTime",(n,e)=>{e.pattern??(e.pattern=lD(e)),jt.init(n,e)}),WD=ne("$ZodISODuration",(n,e)=>{e.pattern??(e.pattern=ZL),jt.init(n,e)}),GD=ne("$ZodIPv4",(n,e)=>{e.pattern??(e.pattern=eD),jt.init(n,e),n._zod.onattach.push(t=>{const s=t._zod.bag;s.format="ipv4"})}),KD=ne("$ZodIPv6",(n,e)=>{e.pattern??(e.pattern=tD),jt.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})}}}),ZD=ne("$ZodCIDRv4",(n,e)=>{e.pattern??(e.pattern=nD),jt.init(n,e)}),XD=ne("$ZodCIDRv6",(n,e)=>{e.pattern??(e.pattern=sD),jt.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 LC(n){if(n==="")return!0;if(n.length%4!==0)return!1;try{return atob(n),!0}catch{return!1}}const YD=ne("$ZodBase64",(n,e)=>{e.pattern??(e.pattern=iD),jt.init(n,e),n._zod.onattach.push(t=>{t._zod.bag.contentEncoding="base64"}),n._zod.check=t=>{LC(t.value)||t.issues.push({code:"invalid_format",format:"base64",input:t.value,inst:n,continue:!e.abort})}});function JD(n){if(!PC.test(n))return!1;const e=n.replace(/[-_]/g,s=>s==="-"?"+":"/"),t=e.padEnd(Math.ceil(e.length/4)*4,"=");return LC(t)}const QD=ne("$ZodBase64URL",(n,e)=>{e.pattern??(e.pattern=PC),jt.init(n,e),n._zod.onattach.push(t=>{t._zod.bag.contentEncoding="base64url"}),n._zod.check=t=>{JD(t.value)||t.issues.push({code:"invalid_format",format:"base64url",input:t.value,inst:n,continue:!e.abort})}}),e2=ne("$ZodE164",(n,e)=>{e.pattern??(e.pattern=oD),jt.init(n,e)});function t2(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 n2=ne("$ZodJWT",(n,e)=>{jt.init(n,e),n._zod.check=t=>{t2(t.value,e.alg)||t.issues.push({code:"invalid_format",format:"jwt",input:t.value,inst:n,continue:!e.abort})}}),DC=ne("$ZodNumber",(n,e)=>{At.init(n,e),n._zod.pattern=n._zod.bag.pattern??dD,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}}),s2=ne("$ZodNumber",(n,e)=>{bD.init(n,e),DC.init(n,e)}),i2=ne("$ZodBoolean",(n,e)=>{At.init(n,e),n._zod.pattern=fD,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}}),r2=ne("$ZodUndefined",(n,e)=>{At.init(n,e),n._zod.pattern=mD,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}}),o2=ne("$ZodNull",(n,e)=>{At.init(n,e),n._zod.pattern=pD,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}}),a2=ne("$ZodAny",(n,e)=>{At.init(n,e),n._zod.parse=t=>t}),l2=ne("$ZodUnknown",(n,e)=>{At.init(n,e),n._zod.parse=t=>t}),c2=ne("$ZodNever",(n,e)=>{At.init(n,e),n._zod.parse=(t,s)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:n}),t)});function GA(n,e,t){n.issues.length&&e.issues.push(...ol(t,n.issues)),e.value[t]=n.value}const h2=ne("$ZodArray",(n,e)=>{At.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;oGA(c,t,o))):GA(l,t,o)}return r.length?Promise.all(r).then(()=>t):t}});function Zp(n,e,t){n.issues.length&&e.issues.push(...ol(t,n.issues)),e.value[t]=n.value}function KA(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(...ol(t,n.issues)):n.value===void 0?t in s&&(e.value[t]=void 0):e.value[t]=n.value}const u2=ne("$ZodObject",(n,e)=>{At.init(n,e);const t=T_(()=>{const u=Object.keys(e.shape);for(const p of u)if(!(e.shape[p]instanceof At))throw new Error(`Invalid element at key "${p}": expected a Zod schema`);const d=PL(e.shape);return{shape:e.shape,keys:u,keySet:new Set(u),numKeys:u.length,optionalKeys:new Set(d)}});It(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 PD(["shape","payload","ctx"]),p=t.value,m=w=>{const _=Fu(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 k=Fu(w);d.write(` + if (${_}.issues.length) { + if (input[${k}] === undefined) { + if (${k} in input) { + newResult[${k}] = undefined; + } + } else { + payload.issues = payload.issues.concat( + ${_}.issues.map((iss) => ({ + ...iss, + path: iss.path ? [${k}, ...iss.path] : [${k}], + })) + ); + } + } else if (${_}.value === undefined) { + if (${k} in input) newResult[${k}] = undefined; + } else { + newResult[${k}] = ${_}.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 ? [${Fu(w)}, ...iss.path] : [${Fu(w)}] + })));`),d.write(`newResult[${Fu(w)}] = ${_}.value`)}d.write("payload.value = newResult;"),d.write("return payload;");const y=d.compile();return(w,_)=>y(u,w,_)};let i;const r=Tg,o=!SC.jitless,l=o&&$L.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 k of h.keys){const A=_[k],$=A._zod.run({value:p[k],issues:[]},d),E=A._zod.optin==="optional"&&A._zod.optout==="optional";$ instanceof Promise?m.push($.then(O=>E?KA(O,u,k,p):Zp(O,u,k))):E?KA($,u,k,p):Zp($,u,k)}}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 k=y.run({value:p[_],issues:[]},d);k instanceof Promise?m.push(k.then(A=>Zp(A,u,_))):Zp(k,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 ZA(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=>Aa(r,s,Sa())))}),e}const FC=ne("$ZodUnion",(n,e)=>{At.init(n,e),It(n._zod,"optin",()=>e.options.some(t=>t._zod.optin==="optional")?"optional":void 0),It(n._zod,"optout",()=>e.options.some(t=>t._zod.optout==="optional")?"optional":void 0),It(n._zod,"values",()=>{if(e.options.every(t=>t._zod.values))return new Set(e.options.flatMap(t=>Array.from(t._zod.values)))}),It(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=>R_(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=>ZA(o,t,n,s)):ZA(r,t,n,s)}}),d2=ne("$ZodDiscriminatedUnion",(n,e)=>{FC.init(n,e);const t=n._zod.parse;It(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=T_(()=>{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(!Tg(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)}}),f2=ne("$ZodIntersection",(n,e)=>{At.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])=>XA(t,l,c)):XA(t,r,o)}});function Tv(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(Pg(n)&&Pg(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=Tv(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{At.init(n,e),n._zod.parse=(t,s)=>{const i=t.value;if(!Pg(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(...ol(l,h.issues)),t.value[l]=h.value})):(c.issues.length&&t.issues.push(...ol(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=>Aa(c,s,Sa())),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(...ol(o,c.issues)),t.value[a.value]=c.value})):(l.issues.length&&t.issues.push(...ol(o,l.issues)),t.value[a.value]=l.value)}}return r.length?Promise.all(r).then(()=>t):t}}),m2=ne("$ZodEnum",(n,e)=>{At.init(n,e);const t=xL(e.entries);n._zod.values=new Set(t),n._zod.pattern=new RegExp(`^(${t.filter(s=>TL.has(typeof s)).map(s=>typeof s=="string"?bp(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}}),g2=ne("$ZodLiteral",(n,e)=>{At.init(n,e),n._zod.values=new Set(e.values),n._zod.pattern=new RegExp(`^(${e.values.map(t=>typeof t=="string"?bp(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}}),y2=ne("$ZodTransform",(n,e)=>{At.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 zd;return t.value=i,t}}),v2=ne("$ZodOptional",(n,e)=>{At.init(n,e),n._zod.optin="optional",n._zod.optout="optional",It(n._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),It(n._zod,"pattern",()=>{const t=e.innerType._zod.pattern;return t?new RegExp(`^(${R_(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)}),b2=ne("$ZodNullable",(n,e)=>{At.init(n,e),It(n._zod,"optin",()=>e.innerType._zod.optin),It(n._zod,"optout",()=>e.innerType._zod.optout),It(n._zod,"pattern",()=>{const t=e.innerType._zod.pattern;return t?new RegExp(`^(${R_(t.source)}|null)$`):void 0}),It(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)}),w2=ne("$ZodDefault",(n,e)=>{At.init(n,e),n._zod.optin="optional",It(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=>YA(r,e)):YA(i,e)}});function YA(n,e){return n.value===void 0&&(n.value=e.defaultValue),n}const _2=ne("$ZodPrefault",(n,e)=>{At.init(n,e),n._zod.optin="optional",It(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))}),S2=ne("$ZodNonOptional",(n,e)=>{At.init(n,e),It(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=>JA(r,n)):JA(i,n)}});function JA(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 A2=ne("$ZodCatch",(n,e)=>{At.init(n,e),n._zod.optin="optional",It(n._zod,"optout",()=>e.innerType._zod.optout),It(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=>Aa(o,s,Sa()))},input:t.value}),t.issues=[]),t)):(t.value=i.value,i.issues.length&&(t.value=e.catchValue({...t,error:{issues:i.issues.map(r=>Aa(r,s,Sa()))},input:t.value}),t.issues=[]),t)}}),k2=ne("$ZodPipe",(n,e)=>{At.init(n,e),It(n._zod,"values",()=>e.in._zod.values),It(n._zod,"optin",()=>e.in._zod.optin),It(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=>QA(r,e,s)):QA(i,e,s)}});function QA(n,e,t){return _d(n)?n:e.out._zod.run({value:n.value,issues:n.issues},t)}const x2=ne("$ZodReadonly",(n,e)=>{At.init(n,e),It(n._zod,"propValues",()=>e.innerType._zod.propValues),It(n._zod,"values",()=>e.innerType._zod.values),It(n._zod,"optin",()=>e.innerType._zod.optin),It(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(ek):ek(i)}});function ek(n){return n.value=Object.freeze(n.value),n}const E2=ne("$ZodCustom",(n,e)=>{Ds.init(n,e),At.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=>tk(r,t,s,n));tk(i,t,s,n)}});function tk(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(Hd(i))}}class C2{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 $2(){return new C2}const Xp=$2();function T2(n,e){return new n({type:"string",...Ae(e)})}function P2(n,e){return new n({type:"string",format:"email",check:"string_format",abort:!1,...Ae(e)})}function nk(n,e){return new n({type:"string",format:"guid",check:"string_format",abort:!1,...Ae(e)})}function R2(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,...Ae(e)})}function M2(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Ae(e)})}function I2(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Ae(e)})}function O2(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Ae(e)})}function jC(n,e){return new n({type:"string",format:"url",check:"string_format",abort:!1,...Ae(e)})}function N2(n,e){return new n({type:"string",format:"emoji",check:"string_format",abort:!1,...Ae(e)})}function L2(n,e){return new n({type:"string",format:"nanoid",check:"string_format",abort:!1,...Ae(e)})}function D2(n,e){return new n({type:"string",format:"cuid",check:"string_format",abort:!1,...Ae(e)})}function F2(n,e){return new n({type:"string",format:"cuid2",check:"string_format",abort:!1,...Ae(e)})}function j2(n,e){return new n({type:"string",format:"ulid",check:"string_format",abort:!1,...Ae(e)})}function z2(n,e){return new n({type:"string",format:"xid",check:"string_format",abort:!1,...Ae(e)})}function H2(n,e){return new n({type:"string",format:"ksuid",check:"string_format",abort:!1,...Ae(e)})}function B2(n,e){return new n({type:"string",format:"ipv4",check:"string_format",abort:!1,...Ae(e)})}function q2(n,e){return new n({type:"string",format:"ipv6",check:"string_format",abort:!1,...Ae(e)})}function U2(n,e){return new n({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Ae(e)})}function V2(n,e){return new n({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Ae(e)})}function W2(n,e){return new n({type:"string",format:"base64",check:"string_format",abort:!1,...Ae(e)})}function G2(n,e){return new n({type:"string",format:"base64url",check:"string_format",abort:!1,...Ae(e)})}function K2(n,e){return new n({type:"string",format:"e164",check:"string_format",abort:!1,...Ae(e)})}function Z2(n,e){return new n({type:"string",format:"jwt",check:"string_format",abort:!1,...Ae(e)})}function X2(n,e){return new n({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Ae(e)})}function Y2(n,e){return new n({type:"string",format:"date",check:"string_format",...Ae(e)})}function J2(n,e){return new n({type:"string",format:"time",check:"string_format",precision:null,...Ae(e)})}function Q2(n,e){return new n({type:"string",format:"duration",check:"string_format",...Ae(e)})}function eF(n,e){return new n({type:"number",checks:[],...Ae(e)})}function tF(n,e){return new n({type:"number",coerce:!0,checks:[],...Ae(e)})}function nF(n,e){return new n({type:"number",check:"number_format",abort:!1,format:"safeint",...Ae(e)})}function sF(n,e){return new n({type:"boolean",...Ae(e)})}function iF(n,e){return new n({type:"undefined",...Ae(e)})}function rF(n,e){return new n({type:"null",...Ae(e)})}function oF(n){return new n({type:"any"})}function aF(n){return new n({type:"unknown"})}function lF(n,e){return new n({type:"never",...Ae(e)})}function sk(n,e){return new OC({check:"less_than",...Ae(e),value:n,inclusive:!1})}function N0(n,e){return new OC({check:"less_than",...Ae(e),value:n,inclusive:!0})}function ik(n,e){return new NC({check:"greater_than",...Ae(e),value:n,inclusive:!1})}function L0(n,e){return new NC({check:"greater_than",...Ae(e),value:n,inclusive:!0})}function rk(n,e){return new vD({check:"multiple_of",...Ae(e),value:n})}function zC(n,e){return new wD({check:"max_length",...Ae(e),maximum:n})}function Rg(n,e){return new _D({check:"min_length",...Ae(e),minimum:n})}function HC(n,e){return new SD({check:"length_equals",...Ae(e),length:n})}function cF(n,e){return new AD({check:"string_format",format:"regex",...Ae(e),pattern:n})}function hF(n){return new kD({check:"string_format",format:"lowercase",...Ae(n)})}function uF(n){return new xD({check:"string_format",format:"uppercase",...Ae(n)})}function dF(n,e){return new ED({check:"string_format",format:"includes",...Ae(e),includes:n})}function fF(n,e){return new CD({check:"string_format",format:"starts_with",...Ae(e),prefix:n})}function pF(n,e){return new $D({check:"string_format",format:"ends_with",...Ae(e),suffix:n})}function wp(n){return new TD({check:"overwrite",tx:n})}function mF(n){return wp(e=>e.normalize(n))}function gF(){return wp(n=>n.trim())}function yF(){return wp(n=>n.toLowerCase())}function vF(){return wp(n=>n.toUpperCase())}function bF(n,e,t){return new n({type:"array",element:e,...Ae(t)})}function wF(n,e,t){const s=Ae(t);return s.abort??(s.abort=!0),new n({type:"custom",check:"custom",fn:e,...s})}function _F(n,e,t){return new n({type:"custom",check:"custom",fn:e,...Ae(t)})}const SF=ne("ZodISODateTime",(n,e)=>{qD.init(n,e),Vt.init(n,e)});function BC(n){return X2(SF,n)}const AF=ne("ZodISODate",(n,e)=>{UD.init(n,e),Vt.init(n,e)});function kF(n){return Y2(AF,n)}const xF=ne("ZodISOTime",(n,e)=>{VD.init(n,e),Vt.init(n,e)});function EF(n){return J2(xF,n)}const CF=ne("ZodISODuration",(n,e)=>{WD.init(n,e),Vt.init(n,e)});function $F(n){return Q2(CF,n)}const TF=(n,e)=>{xC.init(n,e),n.name="ZodError",Object.defineProperties(n,{format:{value:t=>jL(n,t)},flatten:{value:t=>FL(n,t)},addIssue:{value:t=>n.issues.push(t)},addIssues:{value:t=>n.issues.push(...t)},isEmpty:{get(){return n.issues.length===0}}})},Vy=ne("ZodError",TF,{Parent:Error}),PF=zL(Vy),RF=HL(Vy),MF=CC(Vy),IF=TC(Vy),Ot=ne("ZodType",(n,e)=>(At.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)=>kc(n,t,s),n.brand=()=>n,n.register=(t,s)=>(t.add(n,s),n),n.parse=(t,s)=>PF(n,t,s,{callee:n.parse}),n.safeParse=(t,s)=>MF(n,t,s),n.parseAsync=async(t,s)=>RF(n,t,s,{callee:n.parseAsync}),n.safeParseAsync=async(t,s)=>IF(n,t,s),n.spa=n.safeParseAsync,n.refine=(t,s)=>n.check(xj(t,s)),n.superRefine=t=>n.check(Ej(t)),n.overwrite=t=>n.check(wp(t)),n.optional=()=>Ut(n),n.nullable=()=>lk(n),n.nullish=()=>Ut(lk(n)),n.nonoptional=t=>yj(n,t),n.array=()=>le(n),n.or=t=>Ye([n,t]),n.and=t=>L_(n,t),n.transform=t=>Iv(n,KC(t)),n.default=t=>pj(n,t),n.prefault=t=>gj(n,t),n.catch=t=>bj(n,t),n.pipe=t=>Iv(n,t),n.readonly=()=>Sj(n),n.describe=t=>{const s=n.clone();return Xp.add(s,{description:t}),s},Object.defineProperty(n,"description",{get(){var t;return(t=Xp.get(n))==null?void 0:t.description},configurable:!0}),n.meta=(...t)=>{if(t.length===0)return Xp.get(n);const s=n.clone();return Xp.add(s,t[0]),s},n.isOptional=()=>n.safeParse(void 0).success,n.isNullable=()=>n.safeParse(null).success,n)),qC=ne("_ZodString",(n,e)=>{I_.init(n,e),Ot.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(cF(...s)),n.includes=(...s)=>n.check(dF(...s)),n.startsWith=(...s)=>n.check(fF(...s)),n.endsWith=(...s)=>n.check(pF(...s)),n.min=(...s)=>n.check(Rg(...s)),n.max=(...s)=>n.check(zC(...s)),n.length=(...s)=>n.check(HC(...s)),n.nonempty=(...s)=>n.check(Rg(1,...s)),n.lowercase=s=>n.check(hF(s)),n.uppercase=s=>n.check(uF(s)),n.trim=()=>n.check(gF()),n.normalize=(...s)=>n.check(mF(...s)),n.toLowerCase=()=>n.check(yF()),n.toUpperCase=()=>n.check(vF())}),OF=ne("ZodString",(n,e)=>{I_.init(n,e),qC.init(n,e),n.email=t=>n.check(P2(NF,t)),n.url=t=>n.check(jC(UC,t)),n.jwt=t=>n.check(Z2(YF,t)),n.emoji=t=>n.check(N2(DF,t)),n.guid=t=>n.check(nk(ok,t)),n.uuid=t=>n.check(R2(Yp,t)),n.uuidv4=t=>n.check(M2(Yp,t)),n.uuidv6=t=>n.check(I2(Yp,t)),n.uuidv7=t=>n.check(O2(Yp,t)),n.nanoid=t=>n.check(L2(FF,t)),n.guid=t=>n.check(nk(ok,t)),n.cuid=t=>n.check(D2(jF,t)),n.cuid2=t=>n.check(F2(zF,t)),n.ulid=t=>n.check(j2(HF,t)),n.base64=t=>n.check(W2(KF,t)),n.base64url=t=>n.check(G2(ZF,t)),n.xid=t=>n.check(z2(BF,t)),n.ksuid=t=>n.check(H2(qF,t)),n.ipv4=t=>n.check(B2(UF,t)),n.ipv6=t=>n.check(q2(VF,t)),n.cidrv4=t=>n.check(U2(WF,t)),n.cidrv6=t=>n.check(V2(GF,t)),n.e164=t=>n.check(K2(XF,t)),n.datetime=t=>n.check(BC(t)),n.date=t=>n.check(kF(t)),n.time=t=>n.check(EF(t)),n.duration=t=>n.check($F(t))});function j(n){return T2(OF,n)}const Vt=ne("ZodStringFormat",(n,e)=>{jt.init(n,e),qC.init(n,e)}),NF=ne("ZodEmail",(n,e)=>{OD.init(n,e),Vt.init(n,e)}),ok=ne("ZodGUID",(n,e)=>{MD.init(n,e),Vt.init(n,e)}),Yp=ne("ZodUUID",(n,e)=>{ID.init(n,e),Vt.init(n,e)}),UC=ne("ZodURL",(n,e)=>{ND.init(n,e),Vt.init(n,e)});function LF(n){return jC(UC,n)}const DF=ne("ZodEmoji",(n,e)=>{LD.init(n,e),Vt.init(n,e)}),FF=ne("ZodNanoID",(n,e)=>{DD.init(n,e),Vt.init(n,e)}),jF=ne("ZodCUID",(n,e)=>{FD.init(n,e),Vt.init(n,e)}),zF=ne("ZodCUID2",(n,e)=>{jD.init(n,e),Vt.init(n,e)}),HF=ne("ZodULID",(n,e)=>{zD.init(n,e),Vt.init(n,e)}),BF=ne("ZodXID",(n,e)=>{HD.init(n,e),Vt.init(n,e)}),qF=ne("ZodKSUID",(n,e)=>{BD.init(n,e),Vt.init(n,e)}),UF=ne("ZodIPv4",(n,e)=>{GD.init(n,e),Vt.init(n,e)}),VF=ne("ZodIPv6",(n,e)=>{KD.init(n,e),Vt.init(n,e)}),WF=ne("ZodCIDRv4",(n,e)=>{ZD.init(n,e),Vt.init(n,e)}),GF=ne("ZodCIDRv6",(n,e)=>{XD.init(n,e),Vt.init(n,e)}),KF=ne("ZodBase64",(n,e)=>{YD.init(n,e),Vt.init(n,e)}),ZF=ne("ZodBase64URL",(n,e)=>{QD.init(n,e),Vt.init(n,e)}),XF=ne("ZodE164",(n,e)=>{e2.init(n,e),Vt.init(n,e)}),YF=ne("ZodJWT",(n,e)=>{n2.init(n,e),Vt.init(n,e)}),O_=ne("ZodNumber",(n,e)=>{DC.init(n,e),Ot.init(n,e),n.gt=(s,i)=>n.check(ik(s,i)),n.gte=(s,i)=>n.check(L0(s,i)),n.min=(s,i)=>n.check(L0(s,i)),n.lt=(s,i)=>n.check(sk(s,i)),n.lte=(s,i)=>n.check(N0(s,i)),n.max=(s,i)=>n.check(N0(s,i)),n.int=s=>n.check(ak(s)),n.safe=s=>n.check(ak(s)),n.positive=s=>n.check(ik(0,s)),n.nonnegative=s=>n.check(L0(0,s)),n.negative=s=>n.check(sk(0,s)),n.nonpositive=s=>n.check(N0(0,s)),n.multipleOf=(s,i)=>n.check(rk(s,i)),n.step=(s,i)=>n.check(rk(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 ze(n){return eF(O_,n)}const JF=ne("ZodNumberFormat",(n,e)=>{s2.init(n,e),O_.init(n,e)});function ak(n){return nF(JF,n)}const QF=ne("ZodBoolean",(n,e)=>{i2.init(n,e),Ot.init(n,e)});function et(n){return sF(QF,n)}const ej=ne("ZodUndefined",(n,e)=>{r2.init(n,e),Ot.init(n,e)});function Pv(n){return iF(ej,n)}const tj=ne("ZodNull",(n,e)=>{o2.init(n,e),Ot.init(n,e)});function nj(n){return rF(tj,n)}const sj=ne("ZodAny",(n,e)=>{a2.init(n,e),Ot.init(n,e)});function N_(){return oF(sj)}const ij=ne("ZodUnknown",(n,e)=>{l2.init(n,e),Ot.init(n,e)});function St(){return aF(ij)}const rj=ne("ZodNever",(n,e)=>{c2.init(n,e),Ot.init(n,e)});function Rv(n){return lF(rj,n)}const oj=ne("ZodArray",(n,e)=>{h2.init(n,e),Ot.init(n,e),n.element=e.element,n.min=(t,s)=>n.check(Rg(t,s)),n.nonempty=t=>n.check(Rg(1,t)),n.max=(t,s)=>n.check(zC(t,s)),n.length=(t,s)=>n.check(HC(t,s)),n.unwrap=()=>n.element});function le(n,e){return bF(oj,n,e)}const VC=ne("ZodObject",(n,e)=>{u2.init(n,e),Ot.init(n,e),It(n,"shape",()=>e.shape),n.keyof=()=>ei(Object.keys(n._zod.def.shape)),n.catchall=t=>n.clone({...n._zod.def,catchall:t}),n.passthrough=()=>n.clone({...n._zod.def,catchall:St()}),n.loose=()=>n.clone({...n._zod.def,catchall:St()}),n.strict=()=>n.clone({...n._zod.def,catchall:Rv()}),n.strip=()=>n.clone({...n._zod.def,catchall:void 0}),n.extend=t=>OL(n,t),n.merge=t=>NL(n,t),n.pick=t=>ML(n,t),n.omit=t=>IL(n,t),n.partial=(...t)=>LL(ZC,n,t[0]),n.required=(...t)=>DL(XC,n,t[0])});function Z(n,e){const t={type:"object",get shape(){return qy(this,"shape",{...n}),this.shape},...Ae(e)};return new VC(t)}function Gn(n,e){return new VC({type:"object",get shape(){return qy(this,"shape",{...n}),this.shape},catchall:St(),...Ae(e)})}const WC=ne("ZodUnion",(n,e)=>{FC.init(n,e),Ot.init(n,e),n.options=e.options});function Ye(n,e){return new WC({type:"union",options:n,...Ae(e)})}const aj=ne("ZodDiscriminatedUnion",(n,e)=>{WC.init(n,e),d2.init(n,e)});function GC(n,e,t){return new aj({type:"union",options:e,discriminator:n,...Ae(t)})}const lj=ne("ZodIntersection",(n,e)=>{f2.init(n,e),Ot.init(n,e)});function L_(n,e){return new lj({type:"intersection",left:n,right:e})}const cj=ne("ZodRecord",(n,e)=>{p2.init(n,e),Ot.init(n,e),n.keyType=e.keyType,n.valueType=e.valueType});function tt(n,e,t){return new cj({type:"record",keyType:n,valueType:e,...Ae(t)})}const Mv=ne("ZodEnum",(n,e)=>{m2.init(n,e),Ot.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 Mv({...e,checks:[],...Ae(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 Mv({...e,checks:[],...Ae(i),entries:r})}});function ei(n,e){const t=Array.isArray(n)?Object.fromEntries(n.map(s=>[s,s])):n;return new Mv({type:"enum",entries:t,...Ae(e)})}const hj=ne("ZodLiteral",(n,e)=>{g2.init(n,e),Ot.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 W(n,e){return new hj({type:"literal",values:Array.isArray(n)?n:[n],...Ae(e)})}const uj=ne("ZodTransform",(n,e)=>{y2.init(n,e),Ot.init(n,e),n._zod.parse=(t,s)=>{t.addIssue=r=>{if(typeof r=="string")t.issues.push(Hd(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(Hd(o))}};const i=e.transform(t.value,t);return i instanceof Promise?i.then(r=>(t.value=r,t)):(t.value=i,t)}});function KC(n){return new uj({type:"transform",transform:n})}const ZC=ne("ZodOptional",(n,e)=>{v2.init(n,e),Ot.init(n,e),n.unwrap=()=>n._zod.def.innerType});function Ut(n){return new ZC({type:"optional",innerType:n})}const dj=ne("ZodNullable",(n,e)=>{b2.init(n,e),Ot.init(n,e),n.unwrap=()=>n._zod.def.innerType});function lk(n){return new dj({type:"nullable",innerType:n})}const fj=ne("ZodDefault",(n,e)=>{w2.init(n,e),Ot.init(n,e),n.unwrap=()=>n._zod.def.innerType,n.removeDefault=n.unwrap});function pj(n,e){return new fj({type:"default",innerType:n,get defaultValue(){return typeof e=="function"?e():e}})}const mj=ne("ZodPrefault",(n,e)=>{_2.init(n,e),Ot.init(n,e),n.unwrap=()=>n._zod.def.innerType});function gj(n,e){return new mj({type:"prefault",innerType:n,get defaultValue(){return typeof e=="function"?e():e}})}const XC=ne("ZodNonOptional",(n,e)=>{S2.init(n,e),Ot.init(n,e),n.unwrap=()=>n._zod.def.innerType});function yj(n,e){return new XC({type:"nonoptional",innerType:n,...Ae(e)})}const vj=ne("ZodCatch",(n,e)=>{A2.init(n,e),Ot.init(n,e),n.unwrap=()=>n._zod.def.innerType,n.removeCatch=n.unwrap});function bj(n,e){return new vj({type:"catch",innerType:n,catchValue:typeof e=="function"?e:()=>e})}const wj=ne("ZodPipe",(n,e)=>{k2.init(n,e),Ot.init(n,e),n.in=e.in,n.out=e.out});function Iv(n,e){return new wj({type:"pipe",in:n,out:e})}const _j=ne("ZodReadonly",(n,e)=>{x2.init(n,e),Ot.init(n,e)});function Sj(n){return new _j({type:"readonly",innerType:n})}const YC=ne("ZodCustom",(n,e)=>{E2.init(n,e),Ot.init(n,e)});function Aj(n){const e=new Ds({check:"custom"});return e._zod.check=n,e}function kj(n,e){return wF(YC,n??(()=>!0),e)}function xj(n,e={}){return _F(YC,n,e)}function Ej(n){const e=Aj(t=>(t.addIssue=s=>{if(typeof s=="string")t.issues.push(Hd(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(Hd(i))}},n(t.value,t)));return e}function JC(n,e){return Iv(KC(n),e)}const Cj={custom:"custom"};function $j(n){return tF(O_,n)}const Wy="2025-11-25",Tj=[Wy,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Wa="io.modelcontextprotocol/related-task",Gy="2.0",_n=kj(n=>n!==null&&(typeof n=="object"||typeof n=="function")),QC=Ye([j(),ze().int()]),e$=j();Gn({ttl:ze().optional(),pollInterval:ze().optional()});const Pj=Z({ttl:ze().optional()}),Rj=Z({taskId:j()}),D_=Gn({progressToken:QC.optional(),[Wa]:Rj.optional()}),ti=Z({_meta:D_.optional()}),_p=ti.extend({task:Pj.optional()}),Mj=n=>_p.safeParse(n).success,Xn=Z({method:j(),params:ti.loose().optional()}),vi=Z({_meta:D_.optional()}),bi=Z({method:j(),params:vi.loose().optional()}),Yn=Gn({_meta:D_.optional()}),Sp=Ye([j(),ze().int()]),t$=Z({jsonrpc:W(Gy),id:Sp,...Xn.shape}).strict(),Ov=n=>t$.safeParse(n).success,n$=Z({jsonrpc:W(Gy),...bi.shape}).strict(),Ij=n=>n$.safeParse(n).success,F_=Z({jsonrpc:W(Gy),id:Sp,result:Yn}).strict(),Ju=n=>F_.safeParse(n).success;var Oe;(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"})(Oe||(Oe={}));const j_=Z({jsonrpc:W(Gy),id:Sp.optional(),error:Z({code:ze().int(),message:j(),data:St().optional()})}).strict(),Oj=n=>j_.safeParse(n).success,Nm=Ye([t$,n$,F_,j_]);Ye([F_,j_]);const Kc=Yn.strict(),Nj=vi.extend({requestId:Sp.optional(),reason:j().optional()}),z_=bi.extend({method:W("notifications/cancelled"),params:Nj}),Lj=Z({src:j(),mimeType:j().optional(),sizes:le(j()).optional(),theme:ei(["light","dark"]).optional()}),Ap=Z({icons:le(Lj).optional()}),uu=Z({name:j(),title:j().optional()}),Ky=uu.extend({...uu.shape,...Ap.shape,version:j(),websiteUrl:j().optional(),description:j().optional()}),Dj=L_(Z({applyDefaults:et().optional()}),tt(j(),St())),Fj=JC(n=>n&&typeof n=="object"&&!Array.isArray(n)&&Object.keys(n).length===0?{form:{}}:n,L_(Z({form:Dj.optional(),url:_n.optional()}),tt(j(),St()).optional())),jj=Gn({list:_n.optional(),cancel:_n.optional(),requests:Gn({sampling:Gn({createMessage:_n.optional()}).optional(),elicitation:Gn({create:_n.optional()}).optional()}).optional()}),zj=Gn({list:_n.optional(),cancel:_n.optional(),requests:Gn({tools:Gn({call:_n.optional()}).optional()}).optional()}),Hj=Z({experimental:tt(j(),_n).optional(),sampling:Z({context:_n.optional(),tools:_n.optional()}).optional(),elicitation:Fj.optional(),roots:Z({listChanged:et().optional()}).optional(),tasks:jj.optional(),extensions:tt(j(),_n).optional()}),Bj=ti.extend({protocolVersion:j(),capabilities:Hj,clientInfo:Ky}),qj=Xn.extend({method:W("initialize"),params:Bj}),Uj=Z({experimental:tt(j(),_n).optional(),logging:_n.optional(),completions:_n.optional(),prompts:Z({listChanged:et().optional()}).optional(),resources:Z({subscribe:et().optional(),listChanged:et().optional()}).optional(),tools:Z({listChanged:et().optional()}).optional(),tasks:zj.optional(),extensions:tt(j(),_n).optional()}),s$=Yn.extend({protocolVersion:j(),capabilities:Uj,serverInfo:Ky,instructions:j().optional()}),i$=bi.extend({method:W("notifications/initialized"),params:vi.optional()}),Vj=n=>i$.safeParse(n).success,Zy=Xn.extend({method:W("ping"),params:ti.optional()}),Wj=Z({progress:ze(),total:Ut(ze()),message:Ut(j())}),Gj=Z({...vi.shape,...Wj.shape,progressToken:QC}),H_=bi.extend({method:W("notifications/progress"),params:Gj}),Kj=ti.extend({cursor:e$.optional()}),kp=Xn.extend({params:Kj.optional()}),xp=Yn.extend({nextCursor:e$.optional()}),Zj=ei(["working","input_required","completed","failed","cancelled"]),Ep=Z({taskId:j(),status:Zj,ttl:Ye([ze(),nj()]),createdAt:j(),lastUpdatedAt:j(),pollInterval:Ut(ze()),statusMessage:Ut(j())}),Bd=Yn.extend({task:Ep}),Xj=vi.merge(Ep),Mg=bi.extend({method:W("notifications/tasks/status"),params:Xj}),B_=Xn.extend({method:W("tasks/get"),params:ti.extend({taskId:j()})}),q_=Yn.merge(Ep),U_=Xn.extend({method:W("tasks/result"),params:ti.extend({taskId:j()})});Yn.loose();const V_=kp.extend({method:W("tasks/list")}),W_=xp.extend({tasks:le(Ep)}),G_=Xn.extend({method:W("tasks/cancel"),params:ti.extend({taskId:j()})}),Yj=Yn.merge(Ep),r$=Z({uri:j(),mimeType:Ut(j()),_meta:tt(j(),St()).optional()}),o$=r$.extend({text:j()}),K_=j().refine(n=>{try{return atob(n),!0}catch{return!1}},{message:"Invalid Base64 string"}),a$=r$.extend({blob:K_}),Cp=ei(["user","assistant"]),Cu=Z({audience:le(Cp).optional(),priority:ze().min(0).max(1).optional(),lastModified:BC({offset:!0}).optional()}),l$=Z({...uu.shape,...Ap.shape,uri:j(),description:Ut(j()),mimeType:Ut(j()),size:Ut(ze()),annotations:Cu.optional(),_meta:Ut(Gn({}))}),Jj=Z({...uu.shape,...Ap.shape,uriTemplate:j(),description:Ut(j()),mimeType:Ut(j()),annotations:Cu.optional(),_meta:Ut(Gn({}))}),c$=kp.extend({method:W("resources/list")}),Z_=xp.extend({resources:le(l$)}),h$=kp.extend({method:W("resources/templates/list")}),X_=xp.extend({resourceTemplates:le(Jj)}),Y_=ti.extend({uri:j()}),Qj=Y_,u$=Xn.extend({method:W("resources/read"),params:Qj}),J_=Yn.extend({contents:le(Ye([o$,a$]))}),Q_=bi.extend({method:W("notifications/resources/list_changed"),params:vi.optional()}),ez=Y_,tz=Xn.extend({method:W("resources/subscribe"),params:ez}),nz=Y_,sz=Xn.extend({method:W("resources/unsubscribe"),params:nz}),iz=vi.extend({uri:j()}),rz=bi.extend({method:W("notifications/resources/updated"),params:iz}),oz=Z({name:j(),description:Ut(j()),required:Ut(et())}),az=Z({...uu.shape,...Ap.shape,description:Ut(j()),arguments:Ut(le(oz)),_meta:Ut(Gn({}))}),d$=kp.extend({method:W("prompts/list")}),eS=xp.extend({prompts:le(az)}),lz=ti.extend({name:j(),arguments:tt(j(),j()).optional()}),cz=Xn.extend({method:W("prompts/get"),params:lz}),tS=Z({type:W("text"),text:j(),annotations:Cu.optional(),_meta:tt(j(),St()).optional()}),nS=Z({type:W("image"),data:K_,mimeType:j(),annotations:Cu.optional(),_meta:tt(j(),St()).optional()}),sS=Z({type:W("audio"),data:K_,mimeType:j(),annotations:Cu.optional(),_meta:tt(j(),St()).optional()}),hz=Z({type:W("tool_use"),name:j(),id:j(),input:tt(j(),St()),_meta:tt(j(),St()).optional()}),f$=Z({type:W("resource"),resource:Ye([o$,a$]),annotations:Cu.optional(),_meta:tt(j(),St()).optional()}),p$=l$.extend({type:W("resource_link")}),$p=Ye([tS,nS,sS,p$,f$]),uz=Z({role:Cp,content:$p}),m$=Yn.extend({description:j().optional(),messages:le(uz)}),iS=bi.extend({method:W("notifications/prompts/list_changed"),params:vi.optional()}),dz=Z({title:j().optional(),readOnlyHint:et().optional(),destructiveHint:et().optional(),idempotentHint:et().optional(),openWorldHint:et().optional()}),fz=Z({taskSupport:ei(["required","optional","forbidden"]).optional()}),rS=Z({...uu.shape,...Ap.shape,description:j().optional(),inputSchema:Z({type:W("object"),properties:tt(j(),_n).optional(),required:le(j()).optional()}).catchall(St()),outputSchema:Z({type:W("object"),properties:tt(j(),_n).optional(),required:le(j()).optional()}).catchall(St()).optional(),annotations:dz.optional(),execution:fz.optional(),_meta:tt(j(),St()).optional()}),pz=kp.extend({method:W("tools/list")}),oS=xp.extend({tools:le(rS)}),oc=Yn.extend({content:le($p).default([]),structuredContent:tt(j(),St()).optional(),isError:et().optional()});oc.or(Yn.extend({toolResult:St()}));const mz=_p.extend({name:j(),arguments:tt(j(),St()).optional()}),g$=Xn.extend({method:W("tools/call"),params:mz}),aS=bi.extend({method:W("notifications/tools/list_changed"),params:vi.optional()}),gz=Z({autoRefresh:et().default(!0),debounceMs:ze().int().nonnegative().default(300)}),y$=ei(["debug","info","notice","warning","error","critical","alert","emergency"]),yz=ti.extend({level:y$}),vz=Xn.extend({method:W("logging/setLevel"),params:yz}),bz=vi.extend({level:y$,logger:j().optional(),data:St()}),v$=bi.extend({method:W("notifications/message"),params:bz}),wz=Z({name:j().optional()}),_z=Z({hints:le(wz).optional(),costPriority:ze().min(0).max(1).optional(),speedPriority:ze().min(0).max(1).optional(),intelligencePriority:ze().min(0).max(1).optional()}),Sz=Z({mode:ei(["auto","required","none"]).optional()}),Az=Z({type:W("tool_result"),toolUseId:j().describe("The unique identifier for the corresponding tool call."),content:le($p).default([]),structuredContent:Z({}).loose().optional(),isError:et().optional(),_meta:tt(j(),St()).optional()}),kz=GC("type",[tS,nS,sS]),Ig=GC("type",[tS,nS,sS,hz,Az]),xz=Z({role:Cp,content:Ye([Ig,le(Ig)]),_meta:tt(j(),St()).optional()}),Ez=_p.extend({messages:le(xz),modelPreferences:_z.optional(),systemPrompt:j().optional(),includeContext:ei(["none","thisServer","allServers"]).optional(),temperature:ze().optional(),maxTokens:ze().int(),stopSequences:le(j()).optional(),metadata:_n.optional(),tools:le(rS).optional(),toolChoice:Sz.optional()}),lS=Xn.extend({method:W("sampling/createMessage"),params:Ez}),b$=Yn.extend({model:j(),stopReason:Ut(ei(["endTurn","stopSequence","maxTokens"]).or(j())),role:Cp,content:kz}),w$=Yn.extend({model:j(),stopReason:Ut(ei(["endTurn","stopSequence","maxTokens","toolUse"]).or(j())),role:Cp,content:Ye([Ig,le(Ig)])}),Cz=Z({type:W("boolean"),title:j().optional(),description:j().optional(),default:et().optional()}),$z=Z({type:W("string"),title:j().optional(),description:j().optional(),minLength:ze().optional(),maxLength:ze().optional(),format:ei(["email","uri","date","date-time"]).optional(),default:j().optional()}),Tz=Z({type:ei(["number","integer"]),title:j().optional(),description:j().optional(),minimum:ze().optional(),maximum:ze().optional(),default:ze().optional()}),Pz=Z({type:W("string"),title:j().optional(),description:j().optional(),enum:le(j()),default:j().optional()}),Rz=Z({type:W("string"),title:j().optional(),description:j().optional(),oneOf:le(Z({const:j(),title:j()})),default:j().optional()}),Mz=Z({type:W("string"),title:j().optional(),description:j().optional(),enum:le(j()),enumNames:le(j()).optional(),default:j().optional()}),Iz=Ye([Pz,Rz]),Oz=Z({type:W("array"),title:j().optional(),description:j().optional(),minItems:ze().optional(),maxItems:ze().optional(),items:Z({type:W("string"),enum:le(j())}),default:le(j()).optional()}),Nz=Z({type:W("array"),title:j().optional(),description:j().optional(),minItems:ze().optional(),maxItems:ze().optional(),items:Z({anyOf:le(Z({const:j(),title:j()}))}),default:le(j()).optional()}),Lz=Ye([Oz,Nz]),Dz=Ye([Mz,Iz,Lz]),Fz=Ye([Dz,Cz,$z,Tz]),jz=_p.extend({mode:W("form").optional(),message:j(),requestedSchema:Z({type:W("object"),properties:tt(j(),Fz),required:le(j()).optional()})}),zz=_p.extend({mode:W("url"),message:j(),elicitationId:j(),url:j().url()}),Hz=Ye([jz,zz]),_$=Xn.extend({method:W("elicitation/create"),params:Hz}),Bz=vi.extend({elicitationId:j()}),qz=bi.extend({method:W("notifications/elicitation/complete"),params:Bz}),S$=Yn.extend({action:ei(["accept","decline","cancel"]),content:JC(n=>n===null?void 0:n,tt(j(),Ye([j(),ze(),et(),le(j())])).optional())}),Uz=Z({type:W("ref/resource"),uri:j()}),Vz=Z({type:W("ref/prompt"),name:j()}),Wz=ti.extend({ref:Ye([Vz,Uz]),argument:Z({name:j(),value:j()}),context:Z({arguments:tt(j(),j()).optional()}).optional()}),Gz=Xn.extend({method:W("completion/complete"),params:Wz}),A$=Yn.extend({completion:Gn({values:le(j()).max(100),total:Ut(ze().int()),hasMore:Ut(et())})}),Kz=Z({uri:j().startsWith("file://"),name:j().optional(),_meta:tt(j(),St()).optional()}),Zz=Xn.extend({method:W("roots/list"),params:ti.optional()}),Xz=Yn.extend({roots:le(Kz)}),Yz=bi.extend({method:W("notifications/roots/list_changed"),params:vi.optional()});Ye([Zy,qj,Gz,vz,cz,d$,c$,h$,u$,tz,sz,g$,pz,B_,U_,V_,G_]);Ye([z_,H_,i$,Yz,Mg]);Ye([Kc,b$,w$,S$,Xz,q_,W_,Bd]);Ye([Zy,lS,_$,Zz,B_,U_,V_,G_]);Ye([z_,H_,v$,rz,Q_,aS,iS,Mg,qz]);Ye([Kc,s$,A$,m$,eS,Z_,X_,J_,oc,oS,q_,W_,Bd]);class Te 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===Oe.UrlElicitationRequired&&s){const i=s;if(i.elicitations)return new Jz(i.elicitations,t)}return new Te(e,t,s)}}class Jz extends Te{constructor(e,t=`URL elicitation${e.length>1?"s":""} required`){super(Oe.UrlElicitationRequired,t,{elicitations:e})}get elicitations(){var e;return((e=this.data)==null?void 0:e.elicitations)??[]}}function cS(n){return!!n._zod}function Oo(n,e){return cS(n)?$C(n,e):n.safeParse(e)}function k$(n){var t,s;if(!n)return;let e;if(cS(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 x$(n){var i;if(cS(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 Fa(n){return n==="completed"||n==="failed"||n==="cancelled"}new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function ck(n){const e=k$(n),t=e==null?void 0:e.method;if(!t)throw new Error("Schema is missing a method literal");const s=x$(t);if(typeof s!="string")throw new Error("Schema method literal must be a string");return s}function hk(n,e){const t=Oo(n,e);if(!t.success)throw t.error;return t.data}const Qz=6e4;class E${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(z_,t=>{this._oncancel(t)}),this.setNotificationHandler(H_,t=>{this._onprogress(t)}),this.setRequestHandler(Zy,t=>({})),this._taskStore=e==null?void 0:e.taskStore,this._taskMessageQueue=e==null?void 0:e.taskMessageQueue,this._taskStore&&(this.setRequestHandler(B_,async(t,s)=>{const i=await this._taskStore.getTask(t.params.taskId,s.sessionId);if(!i)throw new Te(Oe.InvalidParams,"Failed to retrieve task: Task not found");return{...i}}),this.setRequestHandler(U_,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 Te(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 Te(Oe.InvalidParams,`Task not found: ${r}`);if(!Fa(o.status))return await this._waitForTaskUpdate(r,s.signal),await i();if(Fa(o.status)){const l=await this._taskStore.getTaskResult(r,s.sessionId);return this._clearTaskQueue(r),{...l,_meta:{...l._meta,[Wa]:{taskId:r}}}}return await i()};return await i()}),this.setRequestHandler(V_,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 Te(Oe.InvalidParams,`Failed to list tasks: ${r instanceof Error?r.message:String(r)}`)}}),this.setRequestHandler(G_,async(t,s)=>{try{const i=await this._taskStore.getTask(t.params.taskId,s.sessionId);if(!i)throw new Te(Oe.InvalidParams,`Task not found: ${t.params.taskId}`);if(Fa(i.status))throw new Te(Oe.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 Te(Oe.InvalidParams,`Task not found after cancellation: ${t.params.taskId}`);return{_meta:{},...r}}catch(i){throw i instanceof Te?i:new Te(Oe.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),Te.fromError(Oe.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),Ju(l)||Oj(l)?this._onresponse(l):Ov(l)?this._onrequest(l,c):Ij(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=Te.fromError(Oe.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[Wa])==null?void 0:d.taskId;if(s===void 0){const m={jsonrpc:"2.0",id:e.id,error:{code:Oe.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=Mj(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 Te(Oe.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:Oe.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),Ju(e))s(e);else{const o=new Te(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(Ju(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),Ju(e))i(e);else{const o=Te.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 Te?l:new Te(Oe.InternalError,String(l))}}return}let r;try{const l=await this.request(e,Bd,s);if(l.task)r=l.task.taskId,yield{type:"taskCreated",task:l.task};else throw new Te(Oe.InternalError,"Task creation did not return a task");for(;;){const c=await this.getTask({taskId:r},s);if(yield{type:"taskStatus",task:c},Fa(c.status)){c.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:r},t,s)}:c.status==="failed"?yield{type:"error",error:new Te(Oe.InternalError,`Task ${r} failed`)}:c.status==="cancelled"&&(yield{type:"error",error:new Te(Oe.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 Te?l:new Te(Oe.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,_,k,A,$;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:{...((k=e.params)==null?void 0:k._meta)||{},progressToken:d}}),a&&(p.params={...p.params,task:a}),l&&(p.params={...p.params,_meta:{...((A=p.params)==null?void 0:A._meta)||{},[Wa]: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(q=>this._onerror(new Error(`Failed to send cancellation: ${q}`)));const O=E instanceof Te?E:new Te(Oe.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=Oo(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)??Qz,v=()=>m(Te.fromError(Oe.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},q_,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},W_,t)}async cancelTask(e,t){return this.request({method:"tasks/cancel",params:e},Yj,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)||{},[Wa]: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)||{},[Wa]: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)||{},[Wa]:t.relatedTask}}}),await this._transport.send(o,t)}setRequestHandler(e,t){const s=ck(e);this.assertRequestHandlerCapability(s),this._requestHandlers.set(s,(i,r)=>{const o=hk(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=ck(e);this._notificationHandlers.set(s,i=>{const r=hk(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"&&Ov(i.message)){const r=i.message.id,o=this._requestResolvers.get(r);o?(o(new Te(Oe.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 Te(Oe.InvalidRequest,"Request cancelled"));return}const l=setTimeout(o,s);t.addEventListener("abort",()=>{clearTimeout(l),a(new Te(Oe.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 Te(Oe.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=Mg.parse({method:"notifications/tasks/status",params:a});await this.notification(l),Fa(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 Te(Oe.InvalidParams,`Task "${i}" not found - it may have been cleaned up`);if(Fa(a.status))throw new Te(Oe.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=Mg.parse({method:"notifications/tasks/status",params:l});await this.notification(c),Fa(l.status)&&this._cleanupTaskProgressHandler(i)}},listTasks:i=>s.listTasks(i,t)}}}function uk(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function eH(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];uk(o)&&uk(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 tH extends E${constructor(){super(...arguments);ce(this,"_registeredMethods",new Set);ce(this,"_eventSlots",new Map);ce(this,"setRequestHandler",(t,s)=>{this._assertMethodNotRegistered(t,"setRequestHandler"),super.setRequestHandler(t,s)});ce(this,"setNotificationHandler",(t,s)=>{this._assertMethodNotRegistered(t,"setNotificationHandler"),super.setNotificationHandler(t,s)});ce(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 C$="2026-01-26",nH="ui/notifications/tool-input-partial",sH=Ye([W("light"),W("dark")]).describe("Color theme preference for the host environment."),qd=Ye([W("inline"),W("fullscreen"),W("pip")]).describe("Display mode for UI presentation."),iH=Ye([W("--color-background-primary"),W("--color-background-secondary"),W("--color-background-tertiary"),W("--color-background-inverse"),W("--color-background-ghost"),W("--color-background-info"),W("--color-background-danger"),W("--color-background-success"),W("--color-background-warning"),W("--color-background-disabled"),W("--color-text-primary"),W("--color-text-secondary"),W("--color-text-tertiary"),W("--color-text-inverse"),W("--color-text-ghost"),W("--color-text-info"),W("--color-text-danger"),W("--color-text-success"),W("--color-text-warning"),W("--color-text-disabled"),W("--color-border-primary"),W("--color-border-secondary"),W("--color-border-tertiary"),W("--color-border-inverse"),W("--color-border-ghost"),W("--color-border-info"),W("--color-border-danger"),W("--color-border-success"),W("--color-border-warning"),W("--color-border-disabled"),W("--color-ring-primary"),W("--color-ring-secondary"),W("--color-ring-inverse"),W("--color-ring-info"),W("--color-ring-danger"),W("--color-ring-success"),W("--color-ring-warning"),W("--font-sans"),W("--font-mono"),W("--font-weight-normal"),W("--font-weight-medium"),W("--font-weight-semibold"),W("--font-weight-bold"),W("--font-text-xs-size"),W("--font-text-sm-size"),W("--font-text-md-size"),W("--font-text-lg-size"),W("--font-heading-xs-size"),W("--font-heading-sm-size"),W("--font-heading-md-size"),W("--font-heading-lg-size"),W("--font-heading-xl-size"),W("--font-heading-2xl-size"),W("--font-heading-3xl-size"),W("--font-text-xs-line-height"),W("--font-text-sm-line-height"),W("--font-text-md-line-height"),W("--font-text-lg-line-height"),W("--font-heading-xs-line-height"),W("--font-heading-sm-line-height"),W("--font-heading-md-line-height"),W("--font-heading-lg-line-height"),W("--font-heading-xl-line-height"),W("--font-heading-2xl-line-height"),W("--font-heading-3xl-line-height"),W("--border-radius-xs"),W("--border-radius-sm"),W("--border-radius-md"),W("--border-radius-lg"),W("--border-radius-xl"),W("--border-radius-full"),W("--border-width-regular"),W("--shadow-hairline"),W("--shadow-sm"),W("--shadow-md"),W("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),rH=tt(iH.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.`),Ye([j(),Pv()]).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.`),oH=Z({method:W("ui/open-link"),params:Z({url:j().describe("URL to open in the host's browser")})});Z({isError:et().optional().describe("True if the host failed to open the URL (e.g., due to security policy).")}).passthrough();Z({isError:et().optional().describe("True if the download failed (e.g., user cancelled or host denied).")}).passthrough();Z({isError:et().optional().describe("True if the host rejected or failed to deliver the message.")}).passthrough();var aH=Z({method:W("ui/notifications/sandbox-proxy-ready"),params:Z({})}),hS=Z({connectDomains:le(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:le(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:le(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:le(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'`)")}),uS=Z({camera:Z({}).optional().describe("Request camera access.\n\nMaps to Permission Policy `camera` feature."),microphone:Z({}).optional().describe("Request microphone access.\n\nMaps to Permission Policy `microphone` feature."),geolocation:Z({}).optional().describe("Request geolocation access.\n\nMaps to Permission Policy `geolocation` feature."),clipboardWrite:Z({}).optional().describe("Request clipboard write access.\n\nMaps to Permission Policy `clipboard-write` feature.")}),lH=Z({method:W("ui/notifications/size-changed"),params:Z({width:ze().optional().describe("New width in pixels."),height:ze().optional().describe("New height in pixels.")})});Z({method:W("ui/notifications/tool-input"),params:Z({arguments:tt(j(),St().describe("Complete tool call arguments as key-value pairs.")).optional().describe("Complete tool call arguments as key-value pairs.")})});Z({method:W("ui/notifications/tool-input-partial"),params:Z({arguments:tt(j(),St().describe("Partial tool call arguments (incomplete, may change).")).optional().describe("Partial tool call arguments (incomplete, may change).")})});Z({method:W("ui/notifications/tool-cancelled"),params:Z({reason:j().optional().describe('Optional reason for the cancellation (e.g., "user action", "timeout").')})});var cH=Z({fonts:j().optional()}),hH=Z({variables:rH.optional().describe("CSS variables for theming the app."),css:cH.optional().describe("CSS blocks that apps can inject.")});Z({method:W("ui/resource-teardown"),params:Z({})});var uH=tt(j(),St()),dk=Z({text:Z({}).optional().describe("Host supports text content blocks."),image:Z({}).optional().describe("Host supports image content blocks."),audio:Z({}).optional().describe("Host supports audio content blocks."),resource:Z({}).optional().describe("Host supports resource content blocks."),resourceLink:Z({}).optional().describe("Host supports resource link content blocks."),structuredContent:Z({}).optional().describe("Host supports structured content.")}),dH=Z({method:W("ui/notifications/request-teardown"),params:Z({}).optional()}),fH=Z({experimental:tt(j(),tt(j(),N_()).describe("Experimental features keyed by identifier.")).optional().describe("Experimental features keyed by identifier."),openLinks:Z({}).optional().describe("Host supports opening external URLs."),downloadFile:Z({}).optional().describe("Host supports file downloads via ui/download-file."),serverTools:Z({listChanged:et().optional().describe("Host supports tools/list_changed notifications.")}).optional().describe("Host can proxy tool calls to the MCP server."),serverResources:Z({listChanged:et().optional().describe("Host supports resources/list_changed notifications.")}).optional().describe("Host can proxy resource reads to the MCP server."),logging:Z({}).optional().describe("Host accepts log messages."),sandbox:Z({permissions:uS.optional().describe("Permissions granted by the host (camera, microphone, geolocation)."),csp:hS.optional().describe("CSP domains approved by the host.")}).optional().describe("Sandbox configuration applied by the host."),updateModelContext:dk.optional().describe("Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns."),message:dk.optional().describe("Host supports receiving content messages (ui/message) from the view."),sampling:Z({tools:Z({}).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.")}),pH=Z({experimental:tt(j(),tt(j(),N_()).describe("Experimental features keyed by identifier.")).optional().describe("Experimental features keyed by identifier."),tools:Z({listChanged:et().optional().describe("App supports tools/list_changed notifications.")}).optional().describe("App exposes MCP-style tools that the host can call."),availableDisplayModes:le(qd).optional().describe("Display modes the app supports.")}),mH=Z({method:W("ui/notifications/initialized"),params:Z({}).optional()});Z({csp:hS.optional().describe("Content Security Policy configuration for UI resources."),permissions:uS.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:et().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 fk=Z({method:W("ui/request-display-mode"),params:Z({mode:qd.describe("The display mode being requested.")})});Z({mode:qd.describe("The display mode that was actually set. May differ from requested if not supported.")}).passthrough();var gH=Ye([W("model"),W("app")]).describe("Tool visibility scope - who can access the tool.");Z({resourceUri:j().optional(),visibility:le(gH).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:Rv().optional(),permissions:Rv().optional()});Z({mimeTypes:le(j()).optional().describe('Array of supported MIME types for UI resources.\nMust include `"text/html;profile=mcp-app"` for MCP Apps support.')});var yH=Z({method:W("ui/download-file"),params:Z({contents:le(Ye([f$,p$])).describe("Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.")})}),vH=Z({method:W("ui/message"),params:Z({role:W("user").describe('Message role, currently only "user" is supported.'),content:le($p).describe("Message content blocks (text, image, etc.).")})});Z({method:W("ui/notifications/sandbox-resource-ready"),params:Z({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:hS.optional().describe("CSP configuration from resource metadata."),permissions:uS.optional().describe("Sandbox permissions from resource metadata.")})});Z({method:W("ui/notifications/tool-result"),params:oc.describe("Standard MCP tool execution result.")});var $$=Z({toolInfo:Z({id:Sp.optional().describe("JSON-RPC id of the tools/call request."),tool:rS.describe("Tool definition including name, inputSchema, etc.")}).optional().describe("Metadata of the tool call that instantiated this App."),theme:sH.optional().describe("Current color theme preference."),styles:hH.optional().describe("Style configuration for theming the app."),displayMode:qd.optional().describe("How the UI is currently displayed."),availableDisplayModes:le(qd).optional().describe("Display modes the host supports."),containerDimensions:Ye([Z({height:ze().describe("Fixed container height in pixels.")}),Z({maxHeight:Ye([ze(),Pv()]).optional().describe("Maximum container height in pixels.")})]).and(Ye([Z({width:ze().describe("Fixed container width in pixels.")}),Z({maxWidth:Ye([ze(),Pv()]).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:Ye([W("web"),W("desktop"),W("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:Z({touch:et().optional().describe("Whether the device supports touch input."),hover:et().optional().describe("Whether the device supports hover interactions.")}).optional().describe("Device input capabilities."),safeAreaInsets:Z({top:ze().describe("Top safe area inset in pixels."),right:ze().describe("Right safe area inset in pixels."),bottom:ze().describe("Bottom safe area inset in pixels."),left:ze().describe("Left safe area inset in pixels.")}).optional().describe("Mobile safe area boundaries in pixels.")}).passthrough();Z({method:W("ui/notifications/host-context-changed"),params:$$.describe("Partial context update containing only changed fields.")});var bH=Z({method:W("ui/update-model-context"),params:Z({content:le($p).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:tt(j(),St().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})}),wH=Z({method:W("ui/initialize"),params:Z({appInfo:Ky.describe("App identification (name and version)."),appCapabilities:pH.describe("Features and capabilities this app provides."),protocolVersion:j().describe("Protocol version this app supports.")})});Z({protocolVersion:j().describe('Negotiated protocol version string (e.g., "2025-11-21").'),hostInfo:Ky.describe("Host application identification and version."),hostCapabilities:fH.describe("Features and capabilities provided by the host."),hostContext:$$.describe("Rich context about the host environment.")}).passthrough();class _H{constructor(e=window.parent,t){ce(this,"eventTarget");ce(this,"eventSource");ce(this,"messageListener");ce(this,"onclose");ce(this,"onerror");ce(this,"onmessage");ce(this,"sessionId");ce(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=Nm.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!==nH&&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 SH=[C$];class AH extends tH{constructor(t,s,i,r){super(r);ce(this,"_client");ce(this,"_hostInfo");ce(this,"_capabilities");ce(this,"_appCapabilities");ce(this,"_hostContext",{});ce(this,"_appInfo");ce(this,"_initializedReceived",!1);ce(this,"_baseReplaceRequestHandler",this.replaceRequestHandler);ce(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)))});ce(this,"eventSchemas",{sizechange:lH,sandboxready:aH,initialized:mH,requestteardown:dH,loggingmessage:v$});ce(this,"onping");ce(this,"_onmessage");ce(this,"_onopenlink");ce(this,"_ondownloadfile");ce(this,"_onrequestdisplaymode");ce(this,"_onupdatemodelcontext");ce(this,"_oncalltool");ce(this,"_onlistresources");ce(this,"_onlistresourcetemplates");ce(this,"_onreadresource");ce(this,"_onlistprompts");ce(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(wH,o=>this._oninitialize(o)),this.setRequestHandler(Zy,(o,a)=>{var l;return(l=this.onping)==null||l.call(this,o.params,a),{}}),this.replaceRequestHandler(fk,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(vH,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(oH,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(yH,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(fk,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(bH,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(g$,async(s,i)=>{if(!this._oncalltool)throw Error("No oncalltool handler set");return this._oncalltool(s.params,i)})}set oncreatesamplingmessage(t){this.setRequestHandler(lS,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(c$,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(h$,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(u$,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(d$,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:SH.includes(s)?s:C$,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];kH(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},uH,s)}callTool(t,s){return this.request({method:"tools/call",params:t},oc,s)}listTools(t,s){return this.request({method:"tools/list",params:t},oS,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},oc,{signal:r.signal}),s.tools.listChanged&&this._client.setNotificationHandler(aS,i=>this.sendToolListChanged(i.params))),s.resources&&(this.onlistresources=async(i,r)=>this._client.request({method:"resources/list",params:i},Z_,{signal:r.signal}),this.onlistresourcetemplates=async(i,r)=>this._client.request({method:"resources/templates/list",params:i},X_,{signal:r.signal}),this.onreadresource=async(i,r)=>this._client.request({method:"resources/read",params:i},J_,{signal:r.signal}),s.resources.listChanged&&this._client.setNotificationHandler(Q_,i=>this.sendResourceListChanged(i.params))),s.prompts&&(this.onlistprompts=async(i,r)=>this._client.request({method:"prompts/list",params:i},eS,{signal:r.signal}),s.prompts.listChanged&&this._client.setNotificationHandler(iS,i=>this.sendPromptListChanged(i.params)))}return super.connect(t)}}function kH(n,e){return JSON.stringify(n)===JSON.stringify(e)}const xH={x:0,y:0,width:1024,height:768},Nv=28,EH=12,CH=.9;function pa(n){return typeof n=="number"&&Number.isFinite(n)?n:void 0}function T$(n){if(!(!n||typeof n!="object"||Array.isArray(n)))return n}function Lv(n){if(Array.isArray(n))return n.map(Lv);const e=T$(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,` +`):Lv(s)])):n}function $H(n){return n.type==="text"&&typeof(n.text??n.originalText)=="string"}function P$(n){const e=String(n.text??n.originalText??""),t=pa(n.fontSize)??20,s=e.length*t*CH,i=pa(n.width);return Math.max(i&&i>0?i:0,s)}function TH(n){for(const e of n){if(e.type!=="cameraUpdate")continue;const t=pa(e.width),s=pa(e.height);if(!(!t||t<=0||!s||s<=0))return{x:pa(e.x)??0,y:pa(e.y)??0,width:t,height:s}}return xH}function PH(n,e){const t=pa(n.x);if(t===void 0)return!1;const s=P$(n),i=e.x+Nv,r=e.x+e.width-Nv;return tr+1}function RH(n,e){const t={...n},s=pa(t.fontSize)??20;let i=P$(t);const r=Math.max(1,e.width-Nv*2);if(i>r){const o=r/i;t.fontSize=Math.max(EH,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 MH(n){const t=Lv(n).map(T$);if(t.some(r=>r===void 0))return n;const s=t,i=TH(s);return s.map(r=>!$H(r)||!PH(r,i)?r:RH(r,i))}var Dv={exports:{}},R$={},Dr={},ja={},Tp={},Ke={},Ud={};(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((_,k)=>`${_}${k}`,"")}get names(){var w;return(w=this._names)!==null&&w!==void 0?w:this._names=this._items.reduce((_,k)=>(k instanceof t&&(_[k.str]=(_[k.str]||0)+1),_),{})}}n._Code=s,n.nil=new s("");function i(y,...w){const _=[y[0]];let k=0;for(;k{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})(Fv);(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=Ud,t=Fv;var s=Ud;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=Fv;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,G=this.rhs===void 0?"":` = ${this.rhs}`;return`${I} ${this.name}${G};`+x}optimizeNames(b,x){if(b[this.name.str])return this.rhs&&(this.rhs=L(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=L(this.rhs,b,x),this}get names(){const b=this.lhs instanceof e.Name?{}:{...this.lhs.names};return K(b,this.rhs)}}class l extends a{constructor(b,x,I,G){super(b,I,G),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=L(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 G=I.length;for(;G--;){const Y=I[G];Y.optimizeNames(b,x)||(ee(b,Y.names),I.splice(G,1))}return I.length>0?this:void 0}get names(){return this.nodes.reduce((b,x)=>z(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(Q(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=L(this.condition,b,x),this}get names(){const b=super.names;return K(b,this.condition),this.else&&z(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=L(this.iteration,b,x),this}get names(){return z(super.names,this.iteration.names)}}class k extends w{constructor(b,x,I,G){super(),this.varKind=b,this.name=x,this.from=I,this.to=G}render(b){const x=b.es5?t.varKinds.var:this.varKind,{name:I,from:G,to:Y}=this;return`for(${x} ${I}=${G}; ${I}<${Y}; ${I}++)`+super.render(b)}get names(){const b=K(super.names,this.from);return K(b,this.to)}}class A extends w{constructor(b,x,I,G){super(),this.loop=b,this.varKind=x,this.name=I,this.iterable=G}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=L(this.iterable,b,x),this}get names(){return z(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,G;return super.optimizeNames(b,x),(I=this.catch)===null||I===void 0||I.optimizeNames(b,x),(G=this.finally)===null||G===void 0||G.optimizeNames(b,x),this}get names(){const b=super.names;return this.catch&&z(b,this.catch.names),this.finally&&z(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 q extends m{render(b){return"finally"+super.render(b)}}q.kind="finally";class D{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,G){const Y=this._scope.toName(x);return I!==void 0&&G&&(this._constants[Y.str]=I),this._leafNode(new o(b,Y,I)),Y}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,G]of b)x.length>1&&x.push(","),x.push(I),(I!==G||this.opts.es5)&&(x.push(":"),(0,e.addCodeArg)(x,G));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,G,Y=this.opts.es5?t.varKinds.var:t.varKinds.let){const ue=this._scope.toName(b);return this._for(new k(Y,ue,x,I),()=>G(ue))}forOf(b,x,I,G=t.varKinds.const){const Y=this._scope.toName(b);if(this.opts.es5){const ue=x instanceof e.Name?x:this.var("_arr",x);return this.forRange("_i",0,(0,e._)`${ue}.length`,oe=>{this.var(Y,(0,e._)`${ue}[${oe}]`),I(Y)})}return this._for(new A("of",G,Y,x),()=>I(Y))}forIn(b,x,I,G=this.opts.es5?t.varKinds.var:t.varKinds.const){if(this.opts.ownProperties)return this.forOf(b,(0,e._)`Object.keys(${x})`,I);const Y=this._scope.toName(b);return this._for(new A("in",G,Y,x),()=>I(Y))}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 G=new O;if(this._blockNode(G),this.code(b),x){const Y=this.name("e");this._currNode=G.catch=new F(Y),x(Y)}return I&&(this._currNode=G.finally=new q,this.code(I)),this._endBlockNode(F,q)}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,G){return this._blockNode(new $(b,x,I)),G&&this.code(G).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=D;function z(M,b){for(const x in b)M[x]=(M[x]||0)+(b[x]||0);return M}function K(M,b){return b instanceof e._CodeOrName?z(M,b.names):M}function L(M,b,x){if(M instanceof e.Name)return I(M);if(!G(M))return M;return new e._Code(M._items.reduce((Y,ue)=>(ue instanceof e.Name&&(ue=I(ue)),ue instanceof e._Code?Y.push(...ue._items):Y.push(ue),Y),[]));function I(Y){const ue=x[Y.str];return ue===void 0||b[Y.str]!==1?Y:(delete b[Y.str],ue)}function G(Y){return Y instanceof e._Code&&Y._items.some(ue=>ue instanceof e.Name&&b[ue.str]===1&&x[ue.str]!==void 0)}}function ee(M,b){for(const x in b)M[x]=(M[x]||0)-(b[x]||0)}function Q(M){return typeof M=="boolean"||typeof M=="number"||M===null?!M:(0,e._)`!${N(M)}`}n.not=Q;const te=P(n.operators.AND);function ae(...M){return M.reduce(te)}n.and=ae;const ge=P(n.operators.OR);function B(...M){return M.reduce(ge)}n.or=B;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})`}})(Ke);var ve={};Object.defineProperty(ve,"__esModule",{value:!0});ve.checkStrictMode=ve.getErrorPath=ve.Type=ve.useFunc=ve.setEvaluated=ve.evaluatedPropsToName=ve.mergeEvaluated=ve.eachItem=ve.unescapeJsonPointer=ve.escapeJsonPointer=ve.escapeFragment=ve.unescapeFragment=ve.schemaRefOrVal=ve.schemaHasRulesButRef=ve.schemaHasRules=ve.checkUnknownRules=ve.alwaysValidSchema=ve.toHash=void 0;const vt=Ke,IH=Ud;function OH(n){const e={};for(const t of n)e[t]=!0;return e}ve.toHash=OH;function NH(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(M$(n,e),!I$(e,n.self.RULES.all))}ve.alwaysValidSchema=NH;function M$(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]||L$(n,`unknown keyword: "${r}"`)}ve.checkUnknownRules=M$;function I$(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(e[t])return!0;return!1}ve.schemaHasRules=I$;function LH(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(t!=="$ref"&&e.all[t])return!0;return!1}ve.schemaHasRulesButRef=LH;function DH({topSchemaRef:n,schemaPath:e},t,s,i){if(!i){if(typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="string")return(0,vt._)`${t}`}return(0,vt._)`${n}${e}${(0,vt.getProperty)(s)}`}ve.schemaRefOrVal=DH;function FH(n){return O$(decodeURIComponent(n))}ve.unescapeFragment=FH;function jH(n){return encodeURIComponent(dS(n))}ve.escapeFragment=jH;function dS(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}ve.escapeJsonPointer=dS;function O$(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}ve.unescapeJsonPointer=O$;function zH(n,e){if(Array.isArray(n))for(const t of n)e(t);else e(n)}ve.eachItem=zH;function pk({mergeNames:n,mergeToName:e,mergeValues:t,resultToName:s}){return(i,r,o,a)=>{const l=o===void 0?r:o instanceof vt.Name?(r instanceof vt.Name?n(i,r,o):e(i,r,o),o):r instanceof vt.Name?(e(i,o,r),r):t(r,o);return a===vt.Name&&!(l instanceof vt.Name)?s(i,l):l}}ve.mergeEvaluated={props:pk({mergeNames:(n,e,t)=>n.if((0,vt._)`${t} !== true && ${e} !== undefined`,()=>{n.if((0,vt._)`${e} === true`,()=>n.assign(t,!0),()=>n.assign(t,(0,vt._)`${t} || {}`).code((0,vt._)`Object.assign(${t}, ${e})`))}),mergeToName:(n,e,t)=>n.if((0,vt._)`${t} !== true`,()=>{e===!0?n.assign(t,!0):(n.assign(t,(0,vt._)`${t} || {}`),fS(n,t,e))}),mergeValues:(n,e)=>n===!0?!0:{...n,...e},resultToName:N$}),items:pk({mergeNames:(n,e,t)=>n.if((0,vt._)`${t} !== true && ${e} !== undefined`,()=>n.assign(t,(0,vt._)`${e} === true ? true : ${t} > ${e} ? ${t} : ${e}`)),mergeToName:(n,e,t)=>n.if((0,vt._)`${t} !== true`,()=>n.assign(t,e===!0?!0:(0,vt._)`${t} > ${e} ? ${t} : ${e}`)),mergeValues:(n,e)=>n===!0?!0:Math.max(n,e),resultToName:(n,e)=>n.var("items",e)})};function N$(n,e){if(e===!0)return n.var("props",!0);const t=n.var("props",(0,vt._)`{}`);return e!==void 0&&fS(n,t,e),t}ve.evaluatedPropsToName=N$;function fS(n,e,t){Object.keys(t).forEach(s=>n.assign((0,vt._)`${e}${(0,vt.getProperty)(s)}`,!0))}ve.setEvaluated=fS;const mk={};function HH(n,e){return n.scopeValue("func",{ref:e,code:mk[e.code]||(mk[e.code]=new IH._Code(e.code))})}ve.useFunc=HH;var jv;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(jv||(ve.Type=jv={}));function BH(n,e,t){if(n instanceof vt.Name){const s=e===jv.Num;return t?s?(0,vt._)`"[" + ${n} + "]"`:(0,vt._)`"['" + ${n} + "']"`:s?(0,vt._)`"/" + ${n}`:(0,vt._)`"/" + ${n}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return t?(0,vt.getProperty)(n).toString():"/"+dS(n)}ve.getErrorPath=BH;function L$(n,e,t=n.opts.strictSchema){if(t){if(e=`strict mode: ${e}`,t===!0)throw new Error(e);n.self.logger.warn(e)}}ve.checkStrictMode=L$;var Mr={};Object.defineProperty(Mr,"__esModule",{value:!0});const Qn=Ke,qH={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")};Mr.default=qH;(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=Ke,t=ve,s=Mr;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:k}=v,{gen:A,compositeRule:$,allErrors:E}=k,O=u(v,y,w);_??($||E)?l(A,O):c(k,(0,e._)`[${O}]`)}n.reportError=i;function r(v,y=n.keywordError,w){const{it:_}=v,{gen:k,compositeRule:A,allErrors:$}=_,E=u(v,y,w);l(k,E),A||$||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:k,it:A}){if(k===void 0)throw new Error("ajv implementation error");const $=v.name("err");v.forRange("i",k,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,A.errorPath))),v.assign((0,e._)`${$}.schemaPath`,(0,e.str)`${A.errSchemaPath}/${y}`),A.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:k}=v;k.$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:k}=v,A=[p(k,w),m(v,w)];return g(v,y,A),_.object(...A)}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 k=_?y:(0,e.str)`${y}/${v}`;return w&&(k=(0,e.str)`${k}${(0,t.getErrorPath)(w,t.Type.Str)}`),[h.schemaPath,k]}function g(v,{params:y,message:w},_){const{keyword:k,data:A,schemaValue:$,it:E}=v,{opts:O,propertyName:F,topSchemaRef:q,schemaPath:D}=E;_.push([h.keyword,k],[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._)`${q}${D}`],[s.default.data,A]),F&&_.push([h.propertyName,F])}})(Tp);var gk;function UH(){if(gk)return ja;gk=1,Object.defineProperty(ja,"__esModule",{value:!0}),ja.boolOrEmptySchema=ja.topBoolOrEmptySchema=void 0;const n=Tp,e=Ke,t=Mr,s={message:"boolean schema is false"};function i(a){const{gen:l,schema:c,validateName:h}=a;c===!1?o(a,!1):typeof c=="object"&&c.$async===!0?l.return(t.default.data):(l.assign((0,e._)`${h}.errors`,null),l.return(!0))}ja.topBoolOrEmptySchema=i;function r(a,l){const{gen:c,schema:h}=a;h===!1?(c.var(l,!1),o(a)):c.var(l,!0)}ja.boolOrEmptySchema=r;function o(a,l){const{gen:c,data:h}=a,u={gen:c,keyword:"false schema",data:h,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:a};(0,n.reportError)(u,s,void 0,l)}return ja}var yn={},ac={};Object.defineProperty(ac,"__esModule",{value:!0});ac.getRules=ac.isJSONType=void 0;const VH=["string","number","integer","boolean","null","object","array"],WH=new Set(VH);function GH(n){return typeof n=="string"&&WH.has(n)}ac.isJSONType=GH;function KH(){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:{}}}ac.getRules=KH;var yo={};Object.defineProperty(yo,"__esModule",{value:!0});yo.shouldUseRule=yo.shouldUseGroup=yo.schemaHasRulesForType=void 0;function ZH({schema:n,self:e},t){const s=e.RULES.types[t];return s&&s!==!0&&D$(n,s)}yo.schemaHasRulesForType=ZH;function D$(n,e){return e.rules.some(t=>F$(n,t))}yo.shouldUseGroup=D$;function F$(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))}yo.shouldUseRule=F$;Object.defineProperty(yn,"__esModule",{value:!0});yn.reportTypeError=yn.checkDataTypes=yn.checkDataType=yn.coerceAndCheckDataType=yn.getJSONTypes=yn.getSchemaTypes=yn.DataType=void 0;const XH=ac,YH=yo,JH=Tp,De=Ke,j$=ve;var eh;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(eh||(yn.DataType=eh={}));function QH(n){const e=z$(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}yn.getSchemaTypes=QH;function z$(n){const e=Array.isArray(n)?n:n?[n]:[];if(e.every(XH.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}yn.getJSONTypes=z$;function eB(n,e){const{gen:t,data:s,opts:i}=n,r=tB(e,i.coerceTypes),o=e.length>0&&!(r.length===0&&e.length===1&&(0,YH.schemaHasRulesForType)(n,e[0]));if(o){const a=pS(e,s,i.strictNumbers,eh.Wrong);t.if(a,()=>{r.length?nB(n,e,r):mS(n)})}return o}yn.coerceAndCheckDataType=eB;const H$=new Set(["string","number","integer","boolean","null"]);function tB(n,e){return e?n.filter(t=>H$.has(t)||e==="array"&&t==="array"):[]}function nB(n,e,t){const{gen:s,data:i,opts:r}=n,o=s.let("dataType",(0,De._)`typeof ${i}`),a=s.let("coerced",(0,De._)`undefined`);r.coerceTypes==="array"&&s.if((0,De._)`${o} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>s.assign(i,(0,De._)`${i}[0]`).assign(o,(0,De._)`typeof ${i}`).if(pS(e,i,r.strictNumbers),()=>s.assign(a,i))),s.if((0,De._)`${a} !== undefined`);for(const c of t)(H$.has(c)||c==="array"&&r.coerceTypes==="array")&&l(c);s.else(),mS(n),s.endIf(),s.if((0,De._)`${a} !== undefined`,()=>{s.assign(i,a),sB(n,a)});function l(c){switch(c){case"string":s.elseIf((0,De._)`${o} == "number" || ${o} == "boolean"`).assign(a,(0,De._)`"" + ${i}`).elseIf((0,De._)`${i} === null`).assign(a,(0,De._)`""`);return;case"number":s.elseIf((0,De._)`${o} == "boolean" || ${i} === null + || (${o} == "string" && ${i} && ${i} == +${i})`).assign(a,(0,De._)`+${i}`);return;case"integer":s.elseIf((0,De._)`${o} === "boolean" || ${i} === null + || (${o} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(a,(0,De._)`+${i}`);return;case"boolean":s.elseIf((0,De._)`${i} === "false" || ${i} === 0 || ${i} === null`).assign(a,!1).elseIf((0,De._)`${i} === "true" || ${i} === 1`).assign(a,!0);return;case"null":s.elseIf((0,De._)`${i} === "" || ${i} === 0 || ${i} === false`),s.assign(a,null);return;case"array":s.elseIf((0,De._)`${o} === "string" || ${o} === "number" + || ${o} === "boolean" || ${i} === null`).assign(a,(0,De._)`[${i}]`)}}}function sB({gen:n,parentData:e,parentDataProperty:t},s){n.if((0,De._)`${e} !== undefined`,()=>n.assign((0,De._)`${e}[${t}]`,s))}function zv(n,e,t,s=eh.Correct){const i=s===eh.Correct?De.operators.EQ:De.operators.NEQ;let r;switch(n){case"null":return(0,De._)`${e} ${i} null`;case"array":r=(0,De._)`Array.isArray(${e})`;break;case"object":r=(0,De._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":r=o((0,De._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":r=o();break;default:return(0,De._)`typeof ${e} ${i} ${n}`}return s===eh.Correct?r:(0,De.not)(r);function o(a=De.nil){return(0,De.and)((0,De._)`typeof ${e} == "number"`,a,t?(0,De._)`isFinite(${e})`:De.nil)}}yn.checkDataType=zv;function pS(n,e,t,s){if(n.length===1)return zv(n[0],e,t,s);let i;const r=(0,j$.toHash)(n);if(r.array&&r.object){const o=(0,De._)`typeof ${e} != "object"`;i=r.null?o:(0,De._)`!${e} || ${o}`,delete r.null,delete r.array,delete r.object}else i=De.nil;r.number&&delete r.integer;for(const o in r)i=(0,De.and)(i,zv(o,e,t,s));return i}yn.checkDataTypes=pS;const iB={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,De._)`{type: ${n}}`:(0,De._)`{type: ${e}}`};function mS(n){const e=rB(n);(0,JH.reportError)(e,iB)}yn.reportTypeError=mS;function rB(n){const{gen:e,data:t,schema:s}=n,i=(0,j$.schemaRefOrVal)(n,s,"type");return{gen:e,keyword:"type",data:t,schema:s.type,schemaCode:i,schemaValue:i,parentSchema:s,params:{},it:n}}var ju={},yk;function oB(){if(yk)return ju;yk=1,Object.defineProperty(ju,"__esModule",{value:!0}),ju.assignDefaults=void 0;const n=Ke,e=ve;function t(i,r){const{properties:o,items:a}=i.schema;if(r==="object"&&o)for(const l in o)s(i,l,o[l].default);else r==="array"&&Array.isArray(a)&&a.forEach((l,c)=>s(i,c,l.default))}ju.assignDefaults=t;function s(i,r,o){const{gen:a,compositeRule:l,data:c,opts:h}=i;if(o===void 0)return;const u=(0,n._)`${c}${(0,n.getProperty)(r)}`;if(l){(0,e.checkStrictMode)(i,`default is ignored for: ${u}`);return}let d=(0,n._)`${u} === undefined`;h.useDefaults==="empty"&&(d=(0,n._)`${d} || ${u} === null || ${u} === ""`),a.if(d,(0,n._)`${u} = ${(0,n.stringify)(o)}`)}return ju}var Ai={},We={};Object.defineProperty(We,"__esModule",{value:!0});We.validateUnion=We.validateArray=We.usePattern=We.callValidateCode=We.schemaProperties=We.allSchemaProperties=We.noPropertyInData=We.propertyInData=We.isOwnProperty=We.hasPropFunc=We.reportMissingProp=We.checkMissingProp=We.checkReportMissingProp=void 0;const Pt=Ke,gS=ve,$o=Mr,aB=ve;function lB(n,e){const{gen:t,data:s,it:i}=n;t.if(vS(t,s,e,i.opts.ownProperties),()=>{n.setParams({missingProperty:(0,Pt._)`${e}`},!0),n.error()})}We.checkReportMissingProp=lB;function cB({gen:n,data:e,it:{opts:t}},s,i){return(0,Pt.or)(...s.map(r=>(0,Pt.and)(vS(n,e,r,t.ownProperties),(0,Pt._)`${i} = ${r}`)))}We.checkMissingProp=cB;function hB(n,e){n.setParams({missingProperty:e},!0),n.error()}We.reportMissingProp=hB;function B$(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Pt._)`Object.prototype.hasOwnProperty`})}We.hasPropFunc=B$;function yS(n,e,t){return(0,Pt._)`${B$(n)}.call(${e}, ${t})`}We.isOwnProperty=yS;function uB(n,e,t,s){const i=(0,Pt._)`${e}${(0,Pt.getProperty)(t)} !== undefined`;return s?(0,Pt._)`${i} && ${yS(n,e,t)}`:i}We.propertyInData=uB;function vS(n,e,t,s){const i=(0,Pt._)`${e}${(0,Pt.getProperty)(t)} === undefined`;return s?(0,Pt.or)(i,(0,Pt.not)(yS(n,e,t))):i}We.noPropertyInData=vS;function q$(n){return n?Object.keys(n).filter(e=>e!=="__proto__"):[]}We.allSchemaProperties=q$;function dB(n,e){return q$(e).filter(t=>!(0,gS.alwaysValidSchema)(n,e[t]))}We.schemaProperties=dB;function fB({schemaCode:n,data:e,it:{gen:t,topSchemaRef:s,schemaPath:i,errorPath:r},it:o},a,l,c){const h=c?(0,Pt._)`${n}, ${e}, ${s}${i}`:e,u=[[$o.default.instancePath,(0,Pt.strConcat)($o.default.instancePath,r)],[$o.default.parentData,o.parentData],[$o.default.parentDataProperty,o.parentDataProperty],[$o.default.rootData,$o.default.rootData]];o.opts.dynamicRef&&u.push([$o.default.dynamicAnchors,$o.default.dynamicAnchors]);const d=(0,Pt._)`${h}, ${t.object(...u)}`;return l!==Pt.nil?(0,Pt._)`${a}.call(${l}, ${d})`:(0,Pt._)`${a}(${d})`}We.callValidateCode=fB;const pB=(0,Pt._)`new RegExp`;function mB({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,Pt._)`${i.code==="new RegExp"?pB:(0,aB.useFunc)(n,i)}(${t}, ${s})`})}We.usePattern=mB;function gB(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,Pt._)`${t}.length`);e.forRange("i",0,l,c=>{n.subschema({keyword:s,dataProp:c,dataPropType:gS.Type.Num},r),e.if((0,Pt.not)(r),a)})}}We.validateArray=gB;function yB(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,gS.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,Pt._)`${o} || ${a}`),n.mergeValidEvaluated(h,a)||e.if((0,Pt.not)(o))})),n.result(o,()=>n.reset(),()=>n.error(!0))}We.validateUnion=yB;var vk;function vB(){if(vk)return Ai;vk=1,Object.defineProperty(Ai,"__esModule",{value:!0}),Ai.validateKeywordUsage=Ai.validSchemaType=Ai.funcKeywordCode=Ai.macroKeywordCode=void 0;const n=Ke,e=Mr,t=We,s=Tp;function i(d,p){const{gen:m,keyword:g,schema:v,parentSchema:y,it:w}=d,_=p.macro.call(w.self,v,y,w),k=c(m,g,_);w.opts.validateSchema!==!1&&w.self.validateSchema(_,!0);const A=m.name("valid");d.subschema({schema:_,schemaPath:n.nil,errSchemaPath:`${w.errSchemaPath}/${g}`,topSchemaRef:k,compositeRule:!0},A),d.pass(A,()=>d.error(!0))}Ai.macroKeywordCode=i;function r(d,p){var m;const{gen:g,keyword:v,schema:y,parentSchema:w,$data:_,it:k}=d;l(k,p);const A=!_&&p.compile?p.compile.call(k.self,y,w,k):p.validate,$=c(g,v,A),E=g.let("valid");d.block$data(E,O),d.ok((m=p.valid)!==null&&m!==void 0?m:E);function O(){if(p.errors===!1)D(),p.modifying&&o(d),z(()=>d.error());else{const K=p.async?F():q();p.modifying&&o(d),z(()=>a(d,K))}}function F(){const K=g.let("ruleErrs",null);return g.try(()=>D((0,n._)`await `),L=>g.assign(E,!1).if((0,n._)`${L} instanceof ${k.ValidationError}`,()=>g.assign(K,(0,n._)`${L}.errors`),()=>g.throw(L))),K}function q(){const K=(0,n._)`${$}.errors`;return g.assign(K,null),D(n.nil),K}function D(K=p.async?(0,n._)`await `:n.nil){const L=k.opts.passContext?e.default.this:e.default.self,ee=!("compile"in p&&!_||p.schema===!1);g.assign(E,(0,n._)`${K}${(0,t.callValidateCode)(d,$,L,ee)}`,p.modifying)}function z(K){var L;g.if((0,n.not)((L=p.valid)!==null&&L!==void 0?L:E),K)}}Ai.funcKeywordCode=r;function o(d){const{gen:p,data:m,it:g}=d;p.if(g.parentData,()=>p.assign(m,(0,n._)`${g.parentData}[${g.parentDataProperty}]`))}function a(d,p){const{gen:m}=d;m.if((0,n._)`Array.isArray(${p})`,()=>{m.assign(e.default.vErrors,(0,n._)`${e.default.vErrors} === null ? ${p} : ${e.default.vErrors}.concat(${p})`).assign(e.default.errors,(0,n._)`${e.default.vErrors}.length`),(0,s.extendErrors)(d)},()=>d.error())}function l({schemaEnv:d},p){if(p.async&&!d.$async)throw new Error("async keyword in sync schema")}function c(d,p,m){if(m===void 0)throw new Error(`keyword "${p}" failed to compile`);return d.scopeValue("keyword",typeof m=="function"?{ref:m}:{ref:m,code:(0,n.stringify)(m)})}function h(d,p,m=!1){return!p.length||p.some(g=>g==="array"?Array.isArray(d):g==="object"?d&&typeof d=="object"&&!Array.isArray(d):typeof d==g||m&&typeof d>"u")}Ai.validSchemaType=h;function u({schema:d,opts:p,self:m,errSchemaPath:g},v,y){if(Array.isArray(v.keyword)?!v.keyword.includes(y):v.keyword!==y)throw new Error("ajv implementation error");const w=v.dependencies;if(w!=null&&w.some(_=>!Object.prototype.hasOwnProperty.call(d,_)))throw new Error(`parent schema must have dependencies of ${y}: ${w.join(",")}`);if(v.validateSchema&&!v.validateSchema(d[y])){const k=`keyword "${y}" value is invalid at path "${g}": `+m.errorsText(v.validateSchema.errors);if(p.validateSchema==="log")m.logger.error(k);else throw new Error(k)}}return Ai.validateKeywordUsage=u,Ai}var Fr={},bk;function bB(){if(bk)return Fr;bk=1,Object.defineProperty(Fr,"__esModule",{value:!0}),Fr.extendSubschemaMode=Fr.extendSubschemaData=Fr.getSubschema=void 0;const n=Ke,e=ve;function t(r,{keyword:o,schemaProp:a,schema:l,schemaPath:c,errSchemaPath:h,topSchemaRef:u}){if(o!==void 0&&l!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(o!==void 0){const d=r.schema[o];return a===void 0?{schema:d,schemaPath:(0,n._)`${r.schemaPath}${(0,n.getProperty)(o)}`,errSchemaPath:`${r.errSchemaPath}/${o}`}:{schema:d[a],schemaPath:(0,n._)`${r.schemaPath}${(0,n.getProperty)(o)}${(0,n.getProperty)(a)}`,errSchemaPath:`${r.errSchemaPath}/${o}/${(0,e.escapeFragment)(a)}`}}if(l!==void 0){if(c===void 0||h===void 0||u===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:l,schemaPath:c,topSchemaRef:u,errSchemaPath:h}}throw new Error('either "keyword" or "schema" must be passed')}Fr.getSubschema=t;function s(r,o,{dataProp:a,dataPropType:l,data:c,dataTypes:h,propertyName:u}){if(c!==void 0&&a!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:d}=o;if(a!==void 0){const{errorPath:m,dataPathArr:g,opts:v}=o,y=d.let("data",(0,n._)`${o.data}${(0,n.getProperty)(a)}`,!0);p(y),r.errorPath=(0,n.str)`${m}${(0,e.getErrorPath)(a,l,v.jsPropertySyntax)}`,r.parentDataProperty=(0,n._)`${a}`,r.dataPathArr=[...g,r.parentDataProperty]}if(c!==void 0){const m=c instanceof n.Name?c:d.let("data",c,!0);p(m),u!==void 0&&(r.propertyName=u)}h&&(r.dataTypes=h);function p(m){r.data=m,r.dataLevel=o.dataLevel+1,r.dataTypes=[],o.definedProperties=new Set,r.parentData=o.data,r.dataNames=[...o.dataNames,m]}}Fr.extendSubschemaData=s;function i(r,{jtdDiscriminator:o,jtdMetadata:a,compositeRule:l,createErrors:c,allErrors:h}){l!==void 0&&(r.compositeRule=l),c!==void 0&&(r.createErrors=c),h!==void 0&&(r.allErrors=h),r.jtdDiscriminator=o,r.jtdMetadata=a}return Fr.extendSubschemaMode=i,Fr}var Un={},Xy=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},U$={exports:{}},ma=U$.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(){};Lm(e,s,i,n,"",n)};ma.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};ma.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};ma.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};ma.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 Lm(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 ma.arrayKeywords)for(var d=0;de+=V$(s)),e===1/0))return 1/0}return e}function W$(n,e="",t){t!==!1&&(e=th(e));const s=n.parse(e);return G$(n,s)}Un.getFullPath=W$;function G$(n,e){return n.serialize(e).split("#")[0]+"#"}Un._getFullPath=G$;const $B=/#\/?$/;function th(n){return n?n.replace($B,""):""}Un.normalizeId=th;function TB(n,e,t){return t=th(t),n.resolve(e,t)}Un.resolveUrl=TB;const PB=/^[a-z_][-a-z0-9._]*$/i;function RB(n,e){if(typeof n=="boolean")return{};const{schemaId:t,uriResolver:s}=this.opts,i=th(n[t]||e),r={"":i},o=W$(s,i,!1),a={},l=new Set;return kB(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 k=this.opts.uriResolver.resolve;if(_=th(v?k(v,_):_),l.has(_))throw h(_);l.add(_);let A=this.refs[_];return typeof A=="string"&&(A=this.refs[A]),typeof A=="object"?c(u,A.schema,_):_!==th(g)&&(_[0]==="#"?(c(u,a[_],_),a[_]=u):this.refs[_]=g),_}function w(_){if(typeof _=="string"){if(!PB.test(_))throw new Error(`invalid anchor "${_}"`);y.call(this,`#${_}`)}}}),a;function c(u,d,p){if(d!==void 0&&!AB(u,d))throw h(p)}function h(u){return new Error(`reference "${u}" resolves to more than one schema`)}}Un.getSchemaRefs=RB;var wk;function Yy(){if(wk)return Dr;wk=1,Object.defineProperty(Dr,"__esModule",{value:!0}),Dr.getData=Dr.KeywordCxt=Dr.validateFunctionCode=void 0;const n=UH(),e=yn,t=yo,s=yn,i=oB(),r=vB(),o=bB(),a=Ke,l=Mr,c=Un,h=ve,u=Tp;function d(H){if(A(H)&&(E(H),k(H))){v(H);return}p(H,()=>(0,n.topBoolOrEmptySchema)(H))}Dr.validateFunctionCode=d;function p({gen:H,validateName:U,schema:J,schemaEnv:ie,opts:he},_e){he.code.es5?H.func(U,(0,a._)`${l.default.data}, ${l.default.valCxt}`,ie.$async,()=>{H.code((0,a._)`"use strict"; ${w(J,he)}`),g(H,he),H.code(_e)}):H.func(U,(0,a._)`${l.default.data}, ${m(he)}`,ie.$async,()=>H.code(w(J,he)).code(_e))}function m(H){return(0,a._)`{${l.default.instancePath}="", ${l.default.parentData}, ${l.default.parentDataProperty}, ${l.default.rootData}=${l.default.data}${H.dynamicRef?(0,a._)`, ${l.default.dynamicAnchors}={}`:a.nil}}={}`}function g(H,U){H.if(l.default.valCxt,()=>{H.var(l.default.instancePath,(0,a._)`${l.default.valCxt}.${l.default.instancePath}`),H.var(l.default.parentData,(0,a._)`${l.default.valCxt}.${l.default.parentData}`),H.var(l.default.parentDataProperty,(0,a._)`${l.default.valCxt}.${l.default.parentDataProperty}`),H.var(l.default.rootData,(0,a._)`${l.default.valCxt}.${l.default.rootData}`),U.dynamicRef&&H.var(l.default.dynamicAnchors,(0,a._)`${l.default.valCxt}.${l.default.dynamicAnchors}`)},()=>{H.var(l.default.instancePath,(0,a._)`""`),H.var(l.default.parentData,(0,a._)`undefined`),H.var(l.default.parentDataProperty,(0,a._)`undefined`),H.var(l.default.rootData,l.default.data),U.dynamicRef&&H.var(l.default.dynamicAnchors,(0,a._)`{}`)})}function v(H){const{schema:U,opts:J,gen:ie}=H;p(H,()=>{J.$comment&&U.$comment&&K(H),q(H),ie.let(l.default.vErrors,null),ie.let(l.default.errors,0),J.unevaluated&&y(H),O(H),L(H)})}function y(H){const{gen:U,validateName:J}=H;H.evaluated=U.const("evaluated",(0,a._)`${J}.evaluated`),U.if((0,a._)`${H.evaluated}.dynamicProps`,()=>U.assign((0,a._)`${H.evaluated}.props`,(0,a._)`undefined`)),U.if((0,a._)`${H.evaluated}.dynamicItems`,()=>U.assign((0,a._)`${H.evaluated}.items`,(0,a._)`undefined`))}function w(H,U){const J=typeof H=="object"&&H[U.schemaId];return J&&(U.code.source||U.code.process)?(0,a._)`/*# sourceURL=${J} */`:a.nil}function _(H,U){if(A(H)&&(E(H),k(H))){$(H,U);return}(0,n.boolOrEmptySchema)(H,U)}function k({schema:H,self:U}){if(typeof H=="boolean")return!H;for(const J in H)if(U.RULES.all[J])return!0;return!1}function A(H){return typeof H.schema!="boolean"}function $(H,U){const{schema:J,gen:ie,opts:he}=H;he.$comment&&J.$comment&&K(H),D(H),z(H);const _e=ie.const("_errs",l.default.errors);O(H,_e),ie.var(U,(0,a._)`${_e} === ${l.default.errors}`)}function E(H){(0,h.checkUnknownRules)(H),F(H)}function O(H,U){if(H.opts.jtd)return Q(H,[],!1,U);const J=(0,e.getSchemaTypes)(H.schema),ie=(0,e.coerceAndCheckDataType)(H,J);Q(H,J,!ie,U)}function F(H){const{schema:U,errSchemaPath:J,opts:ie,self:he}=H;U.$ref&&ie.ignoreKeywordsWithRef&&(0,h.schemaHasRulesButRef)(U,he.RULES)&&he.logger.warn(`$ref: keywords ignored in schema at path "${J}"`)}function q(H){const{schema:U,opts:J}=H;U.default!==void 0&&J.useDefaults&&J.strictSchema&&(0,h.checkStrictMode)(H,"default is ignored in the schema root")}function D(H){const U=H.schema[H.opts.schemaId];U&&(H.baseId=(0,c.resolveUrl)(H.opts.uriResolver,H.baseId,U))}function z(H){if(H.schema.$async&&!H.schemaEnv.$async)throw new Error("async schema in sync schema")}function K({gen:H,schemaEnv:U,schema:J,errSchemaPath:ie,opts:he}){const _e=J.$comment;if(he.$comment===!0)H.code((0,a._)`${l.default.self}.logger.log(${_e})`);else if(typeof he.$comment=="function"){const Je=(0,a.str)`${ie}/$comment`,Ct=H.scopeValue("root",{ref:U.root});H.code((0,a._)`${l.default.self}.opts.$comment(${_e}, ${Je}, ${Ct}.schema)`)}}function L(H){const{gen:U,schemaEnv:J,validateName:ie,ValidationError:he,opts:_e}=H;J.$async?U.if((0,a._)`${l.default.errors} === 0`,()=>U.return(l.default.data),()=>U.throw((0,a._)`new ${he}(${l.default.vErrors})`)):(U.assign((0,a._)`${ie}.errors`,l.default.vErrors),_e.unevaluated&&ee(H),U.return((0,a._)`${l.default.errors} === 0`))}function ee({gen:H,evaluated:U,props:J,items:ie}){J instanceof a.Name&&H.assign((0,a._)`${U}.props`,J),ie instanceof a.Name&&H.assign((0,a._)`${U}.items`,ie)}function Q(H,U,J,ie){const{gen:he,schema:_e,data:Je,allErrors:Ct,opts:pt,self:kt}=H,{RULES:ot}=kt;if(_e.$ref&&(pt.ignoreKeywordsWithRef||!(0,h.schemaHasRulesButRef)(_e,ot))){he.block(()=>G(H,"$ref",ot.all.$ref.definition));return}pt.jtd||ae(H,U),he.block(()=>{for(const $t of ot.rules)kn($t);kn(ot.post)});function kn($t){(0,t.shouldUseGroup)(_e,$t)&&($t.type?(he.if((0,s.checkDataType)($t.type,Je,pt.strictNumbers)),te(H,$t),U.length===1&&U[0]===$t.type&&J&&(he.else(),(0,s.reportTypeError)(H)),he.endIf()):te(H,$t),Ct||he.if((0,a._)`${l.default.errors} === ${ie||0}`))}}function te(H,U){const{gen:J,schema:ie,opts:{useDefaults:he}}=H;he&&(0,i.assignDefaults)(H,U.type),J.block(()=>{for(const _e of U.rules)(0,t.shouldUseRule)(ie,_e)&&G(H,_e.keyword,_e.definition,U.type)})}function ae(H,U){H.schemaEnv.meta||!H.opts.strictTypes||(ge(H,U),H.opts.allowUnionTypes||B(H,U),P(H,H.dataTypes))}function ge(H,U){if(U.length){if(!H.dataTypes.length){H.dataTypes=U;return}U.forEach(J=>{M(H.dataTypes,J)||x(H,`type "${J}" not allowed by context "${H.dataTypes.join(",")}"`)}),b(H,U)}}function B(H,U){U.length>1&&!(U.length===2&&U.includes("null"))&&x(H,"use allowUnionTypes to allow union type keyword")}function P(H,U){const J=H.self.RULES.all;for(const ie in J){const he=J[ie];if(typeof he=="object"&&(0,t.shouldUseRule)(H.schema,he)){const{type:_e}=he.definition;_e.length&&!_e.some(Je=>N(U,Je))&&x(H,`missing type "${_e.join(",")}" for keyword "${ie}"`)}}}function N(H,U){return H.includes(U)||U==="number"&&H.includes("integer")}function M(H,U){return H.includes(U)||U==="integer"&&H.includes("number")}function b(H,U){const J=[];for(const ie of H.dataTypes)M(U,ie)?J.push(ie):U.includes("integer")&&ie==="number"&&J.push("integer");H.dataTypes=J}function x(H,U){const J=H.schemaEnv.baseId+H.errSchemaPath;U+=` at "${J}" (strictTypes)`,(0,h.checkStrictMode)(H,U,H.opts.strictTypes)}class I{constructor(U,J,ie){if((0,r.validateKeywordUsage)(U,J,ie),this.gen=U.gen,this.allErrors=U.allErrors,this.keyword=ie,this.data=U.data,this.schema=U.schema[ie],this.$data=J.$data&&U.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,h.schemaRefOrVal)(U,this.schema,ie,this.$data),this.schemaType=J.schemaType,this.parentSchema=U.schema,this.params={},this.it=U,this.def=J,this.$data)this.schemaCode=U.gen.const("vSchema",oe(this.$data,U));else if(this.schemaCode=this.schemaValue,!(0,r.validSchemaType)(this.schema,J.schemaType,J.allowUndefined))throw new Error(`${ie} value must be ${JSON.stringify(J.schemaType)}`);("code"in J?J.trackErrors:J.errors!==!1)&&(this.errsCount=U.gen.const("_errs",l.default.errors))}result(U,J,ie){this.failResult((0,a.not)(U),J,ie)}failResult(U,J,ie){this.gen.if(U),ie?ie():this.error(),J?(this.gen.else(),J(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(U,J){this.failResult((0,a.not)(U),void 0,J)}fail(U){if(U===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(U),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(U){if(!this.$data)return this.fail(U);const{schemaCode:J}=this;this.fail((0,a._)`${J} !== undefined && (${(0,a.or)(this.invalid$data(),U)})`)}error(U,J,ie){if(J){this.setParams(J),this._error(U,ie),this.setParams({});return}this._error(U,ie)}_error(U,J){(U?u.reportExtraError:u.reportError)(this,this.def.error,J)}$dataError(){(0,u.reportError)(this,this.def.$dataError||u.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,u.resetErrorsCount)(this.gen,this.errsCount)}ok(U){this.allErrors||this.gen.if(U)}setParams(U,J){J?Object.assign(this.params,U):this.params=U}block$data(U,J,ie=a.nil){this.gen.block(()=>{this.check$data(U,ie),J()})}check$data(U=a.nil,J=a.nil){if(!this.$data)return;const{gen:ie,schemaCode:he,schemaType:_e,def:Je}=this;ie.if((0,a.or)((0,a._)`${he} === undefined`,J)),U!==a.nil&&ie.assign(U,!0),(_e.length||Je.validateSchema)&&(ie.elseIf(this.invalid$data()),this.$dataError(),U!==a.nil&&ie.assign(U,!1)),ie.else()}invalid$data(){const{gen:U,schemaCode:J,schemaType:ie,def:he,it:_e}=this;return(0,a.or)(Je(),Ct());function Je(){if(ie.length){if(!(J instanceof a.Name))throw new Error("ajv implementation error");const pt=Array.isArray(ie)?ie:[ie];return(0,a._)`${(0,s.checkDataTypes)(pt,J,_e.opts.strictNumbers,s.DataType.Wrong)}`}return a.nil}function Ct(){if(he.validateSchema){const pt=U.scopeValue("validate$data",{ref:he.validateSchema});return(0,a._)`!${pt}(${J})`}return a.nil}}subschema(U,J){const ie=(0,o.getSubschema)(this.it,U);(0,o.extendSubschemaData)(ie,this.it,U),(0,o.extendSubschemaMode)(ie,U);const he={...this.it,...ie,items:void 0,props:void 0};return _(he,J),he}mergeEvaluated(U,J){const{it:ie,gen:he}=this;ie.opts.unevaluated&&(ie.props!==!0&&U.props!==void 0&&(ie.props=h.mergeEvaluated.props(he,U.props,ie.props,J)),ie.items!==!0&&U.items!==void 0&&(ie.items=h.mergeEvaluated.items(he,U.items,ie.items,J)))}mergeValidEvaluated(U,J){const{it:ie,gen:he}=this;if(ie.opts.unevaluated&&(ie.props!==!0||ie.items!==!0))return he.if(J,()=>this.mergeEvaluated(U,a.Name)),!0}}Dr.KeywordCxt=I;function G(H,U,J,ie){const he=new I(H,J,U);"code"in J?J.code(he,ie):he.$data&&J.validate?(0,r.funcKeywordCode)(he,J):"macro"in J?(0,r.macroKeywordCode)(he,J):(J.compile||J.validate)&&(0,r.funcKeywordCode)(he,J)}const Y=/^\/(?:[^~]|~0|~1)*$/,ue=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function oe(H,{dataLevel:U,dataNames:J,dataPathArr:ie}){let he,_e;if(H==="")return l.default.rootData;if(H[0]==="/"){if(!Y.test(H))throw new Error(`Invalid JSON-pointer: ${H}`);he=H,_e=l.default.rootData}else{const kt=ue.exec(H);if(!kt)throw new Error(`Invalid JSON-pointer: ${H}`);const ot=+kt[1];if(he=kt[2],he==="#"){if(ot>=U)throw new Error(pt("property/index",ot));return ie[U-ot]}if(ot>U)throw new Error(pt("data",ot));if(_e=J[U-ot],!he)return _e}let Je=_e;const Ct=he.split("/");for(const kt of Ct)kt&&(_e=(0,a._)`${_e}${(0,a.getProperty)((0,h.unescapeJsonPointer)(kt))}`,Je=(0,a._)`${Je} && ${_e}`);return Je;function pt(kt,ot){return`Cannot access ${kt} ${ot} levels up, current level is ${U}`}}return Dr.getData=oe,Dr}var Pp={};Object.defineProperty(Pp,"__esModule",{value:!0});let MB=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};Pp.default=MB;var $u={};Object.defineProperty($u,"__esModule",{value:!0});const D0=Un;let IB=class extends Error{constructor(e,t,s,i){super(i||`can't resolve reference ${s} from id ${t}`),this.missingRef=(0,D0.resolveUrl)(e,t,s),this.missingSchema=(0,D0.normalizeId)((0,D0.getFullPath)(e,this.missingRef))}};$u.default=IB;var Rs={};Object.defineProperty(Rs,"__esModule",{value:!0});Rs.resolveSchema=Rs.getCompilingSchema=Rs.resolveRef=Rs.compileSchema=Rs.SchemaEnv=void 0;const ki=Ke,OB=Pp,za=Mr,qi=Un,_k=ve,NB=Yy();let Jy=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,qi.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={}}};Rs.SchemaEnv=Jy;function bS(n){const e=K$.call(this,n);if(e)return e;const t=(0,qi.getFullPath)(this.opts.uriResolver,n.root.baseId),{es5:s,lines:i}=this.opts.code,{ownProperties:r}=this.opts,o=new ki.CodeGen(this.scope,{es5:s,lines:i,ownProperties:r});let a;n.$async&&(a=o.scopeValue("Error",{ref:OB.default,code:(0,ki._)`require("ajv/dist/runtime/validation_error").default`}));const l=o.scopeName("validate");n.validateName=l;const c={gen:o,allErrors:this.opts.allErrors,data:za.default.data,parentData:za.default.parentData,parentDataProperty:za.default.parentDataProperty,dataNames:[za.default.data],dataPathArr:[ki.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:n.schema,code:(0,ki.stringify)(n.schema)}:{ref:n.schema}),validateName:l,ValidationError:a,schema:n.schema,schemaEnv:n,rootId:t,baseId:n.baseId||t,schemaPath:ki.nil,errSchemaPath:n.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,ki._)`""`,opts:this.opts,self:this};let h;try{this._compilations.add(n),(0,NB.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);const u=o.toString();h=`${o.scopeRefs(za.default.scope)}return ${u}`,this.opts.code.process&&(h=this.opts.code.process(h,n));const p=new Function(`${za.default.self}`,`${za.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 ki.Name?void 0:m,items:g instanceof ki.Name?void 0:g,dynamicProps:m instanceof ki.Name,dynamicItems:g instanceof ki.Name},p.source&&(p.source.evaluated=(0,ki.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)}}Rs.compileSchema=bS;function LB(n,e,t){var s;t=(0,qi.resolveUrl)(this.opts.uriResolver,e,t);const i=n.refs[t];if(i)return i;let r=jB.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 Jy({schema:o,schemaId:a,root:n,baseId:e}))}if(r!==void 0)return n.refs[t]=DB.call(this,r)}Rs.resolveRef=LB;function DB(n){return(0,qi.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:bS.call(this,n)}function K$(n){for(const e of this._compilations)if(FB(e,n))return e}Rs.getCompilingSchema=K$;function FB(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function jB(n,e){let t;for(;typeof(t=this.refs[e])=="string";)e=t;return t||this.schemas[e]||Qy.call(this,n,e)}function Qy(n,e){const t=this.opts.uriResolver.parse(e),s=(0,qi._getFullPath)(this.opts.uriResolver,t);let i=(0,qi.getFullPath)(this.opts.uriResolver,n.baseId,void 0);if(Object.keys(n.schema).length>0&&s===i)return F0.call(this,t,n);const r=(0,qi.normalizeId)(s),o=this.refs[r]||this.schemas[r];if(typeof o=="string"){const a=Qy.call(this,n,o);return typeof(a==null?void 0:a.schema)!="object"?void 0:F0.call(this,t,a)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||bS.call(this,o),r===(0,qi.normalizeId)(e)){const{schema:a}=o,{schemaId:l}=this.opts,c=a[l];return c&&(i=(0,qi.resolveUrl)(this.opts.uriResolver,i,c)),new Jy({schema:a,schemaId:l,root:n,baseId:i})}return F0.call(this,t,o)}}Rs.resolveSchema=Qy;const zB=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function F0(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,_k.unescapeFragment)(a)];if(l===void 0)return;t=l;const c=typeof t=="object"&&t[this.opts.schemaId];!zB.has(a)&&c&&(e=(0,qi.resolveUrl)(this.opts.uriResolver,e,c))}let r;if(typeof t!="boolean"&&t.$ref&&!(0,_k.schemaHasRulesButRef)(t,this.RULES)){const a=(0,qi.resolveUrl)(this.opts.uriResolver,e,t.$ref);r=Qy.call(this,s,a)}const{schemaId:o}=this.opts;if(r=r||new Jy({schema:t,schemaId:o,root:s,baseId:e}),r.schema!==r.root.schema)return r}const HB="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",BB="Meta-schema for $data reference (JSON AnySchema extension proposal)",qB="object",UB=["$data"],VB={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},WB=!1,GB={$id:HB,description:BB,type:qB,required:UB,properties:VB,additionalProperties:WB};var wS={},e0={exports:{}};const KB=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Z$=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),_S=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),X$=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),ZB=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function Y$(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 XB=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Sk(n){return n.length=0,!0}function YB(n,e,t){if(n.length){const s=Y$(n);if(s!=="")e.push(s);else return t.error=!0,!1;n.length=0}return!0}function JB(n){let e=0;const t={error:!1,address:"",zone:""},s=[],i=[];let r=!1,o=!1,a=YB;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=Sk}else{i.push(c);continue}}return i.length&&(a===Sk?t.zone=i.join(""):o?s.push(i.join("")):s.push(Y$(i))),t.address=s.join(""),t}function J$(n){if(QB(n,":")<2)return{host:n,isIPV6:!1};const e=JB(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 QB(n,e){let t=0;for(let s=0;stq[s])}function iq(n,e=!1){if(n.indexOf("%")===-1)return n;let t="";for(let s=0;s65535))return"URI port is malformed."}function Ng(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(Oq);o!==null&&o[1].indexOf("\\")!==-1&&(s.error="URI authority must not contain a literal backslash.",i=!0);const a=n.match(Nq);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(Iq);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=Lq(s,l);if(c!==void 0&&(s.error=s.error||c,i=!0),s.host)if(Cq(s.host)===!1){const d=_q(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=rT(t.scheme||s.scheme);if(!t.unicodeSupport&&(!h||!h.unicodeSupport)&&s.host&&(t.domainHost||h&&h.domainHost)&&r===!1&&$q(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=Eq(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 Lg(n,e){return Ng(n,e).parsed}function Dq(n,e){return aT(n,e).normalized}function aT(n,e){const{parsed:t,malformedAuthorityOrPort:s}=Ng(n,e);return{normalized:s?n:lc(t,e),malformedAuthorityOrPort:s}}function Ak(n,e){if(typeof n=="string"){const{normalized:t,malformedAuthorityOrPort:s}=aT(n,e);return s?void 0:t}if(typeof n=="object")return lc(n,e)}const AS={SCHEMES:Tq,normalize:Pq,resolve:Rq,resolveComponent:oT,equal:Mq,serialize:lc,parse:Lg};e0.exports=AS;e0.exports.default=AS;e0.exports.fastUri=AS;var lT=e0.exports;Object.defineProperty(wS,"__esModule",{value:!0});const cT=lT;cT.code='require("ajv/dist/runtime/uri").default';wS.default=cT;(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=Yy();Object.defineProperty(n,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var t=Ke;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=Pp,i=$u,r=ac,o=Rs,a=Ke,l=Un,c=yn,h=ve,u=GB,d=wS,p=(B,P)=>new RegExp(B,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 _(B){var P,N,M,b,x,I,G,Y,ue,oe,H,U,J,ie,he,_e,Je,Ct,pt,kt,ot,kn,$t,Jn,On;const nn=B.strict,hn=(P=B.code)===null||P===void 0?void 0:P.optimize,un=hn===!0||hn===void 0?1:hn||0,sn=(M=(N=B.code)===null||N===void 0?void 0:N.regExp)!==null&&M!==void 0?M:p,us=(b=B.uriResolver)!==null&&b!==void 0?b:d.default;return{strictSchema:(I=(x=B.strictSchema)!==null&&x!==void 0?x:nn)!==null&&I!==void 0?I:!0,strictNumbers:(Y=(G=B.strictNumbers)!==null&&G!==void 0?G:nn)!==null&&Y!==void 0?Y:!0,strictTypes:(oe=(ue=B.strictTypes)!==null&&ue!==void 0?ue:nn)!==null&&oe!==void 0?oe:"log",strictTuples:(U=(H=B.strictTuples)!==null&&H!==void 0?H:nn)!==null&&U!==void 0?U:"log",strictRequired:(ie=(J=B.strictRequired)!==null&&J!==void 0?J:nn)!==null&&ie!==void 0?ie:!1,code:B.code?{...B.code,optimize:un,regExp:sn}:{optimize:un,regExp:sn},loopRequired:(he=B.loopRequired)!==null&&he!==void 0?he:w,loopEnum:(_e=B.loopEnum)!==null&&_e!==void 0?_e:w,meta:(Je=B.meta)!==null&&Je!==void 0?Je:!0,messages:(Ct=B.messages)!==null&&Ct!==void 0?Ct:!0,inlineRefs:(pt=B.inlineRefs)!==null&&pt!==void 0?pt:!0,schemaId:(kt=B.schemaId)!==null&&kt!==void 0?kt:"$id",addUsedSchema:(ot=B.addUsedSchema)!==null&&ot!==void 0?ot:!0,validateSchema:(kn=B.validateSchema)!==null&&kn!==void 0?kn:!0,validateFormats:($t=B.validateFormats)!==null&&$t!==void 0?$t:!0,unicodeRegExp:(Jn=B.unicodeRegExp)!==null&&Jn!==void 0?Jn:!0,int32range:(On=B.int32range)!==null&&On!==void 0?On:!0,uriResolver:us}}class k{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=z(P.logger);const b=P.validateFormats;P.validateFormats=!1,this.RULES=(0,r.getRules)(),A.call(this,v,P,"NOT SUPPORTED"),A.call(this,y,P,"DEPRECATED","warn"),this._metaOpts=q.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(oe,H){await x.call(this,oe.$schema);const U=this._addSchema(oe,H);return U.validate||I.call(this,U)}async function x(oe){oe&&!this.getSchema(oe)&&await b.call(this,{$ref:oe},!0)}async function I(oe){try{return this._compileSchemaEnv(oe)}catch(H){if(!(H instanceof i.default))throw H;return G.call(this,H),await Y.call(this,H.missingSchema),I.call(this,oe)}}function G({missingSchema:oe,missingRef:H}){if(this.refs[oe])throw new Error(`AnySchema ${oe} is loaded but ${H} cannot be resolved`)}async function Y(oe){const H=await ue.call(this,oe);this.refs[oe]||await x.call(this,H.$schema),this.refs[oe]||this.addSchema(H,oe,N)}async function ue(oe){const H=this._loading[oe];if(H)return H;try{return await(this._loading[oe]=M(oe))}finally{delete this._loading[oe]}}}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(L.call(this,M,N),!N)return(0,h.eachItem)(M,x=>ee.call(this,x)),this;te.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=>ee.call(this,x,b):x=>b.type.forEach(I=>ee.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 G of x)I=I[G];for(const G in M){const Y=M[G];if(typeof Y!="object")continue;const{$data:ue}=Y.definition,oe=I[G];ue&&oe&&(I[G]=ge(oe))}}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:G}=this.opts;if(typeof P=="object")I=P[G];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 Y=this._cache.get(P);if(Y!==void 0)return Y;M=(0,l.normalizeId)(I||M);const ue=l.getSchemaRefs.call(this,P,M);return Y=new o.SchemaEnv({schema:P,schemaId:G,meta:N,baseId:M,localRefs:ue}),this._cache.set(Y.schema,Y),x&&!M.startsWith("#")&&(M&&this._checkUnique(M),this.refs[M]=Y),b&&this.validateSchema(P,!0),Y}_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}}}k.ValidationError=s.default,k.MissingRefError=i.default,n.default=k;function A(B,P,N,M="error"){for(const b in B){const x=b;x in P&&this.logger[M](`${N}: option ${b}. ${B[x]}`)}}function $(B){return B=(0,l.normalizeId)(B),this.schemas[B]||this.refs[B]}function E(){const B=this.opts.schemas;if(B)if(Array.isArray(B))this.addSchema(B);else for(const P in B)this.addSchema(B[P],P)}function O(){for(const B in this.opts.formats){const P=this.opts.formats[B];P&&this.addFormat(B,P)}}function F(B){if(Array.isArray(B)){this.addVocabulary(B);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const P in B){const N=B[P];N.keyword||(N.keyword=P),this.addKeyword(N)}}function q(){const B={...this.opts};for(const P of m)delete B[P];return B}const D={log(){},warn(){},error(){}};function z(B){if(B===!1)return D;if(B===void 0)return console;if(B.log&&B.warn&&B.error)return B;throw new Error("logger must implement log, warn and error methods")}const K=/^[a-z_$][a-z0-9_$:-]*$/i;function L(B,P){const{RULES:N}=this;if((0,h.eachItem)(B,M=>{if(N.keywords[M])throw new Error(`Keyword ${M} is already defined`);if(!K.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 ee(B,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:Y})=>Y===N);if(I||(I={type:N,rules:[]},x.rules.push(I)),x.keywords[B]=!0,!P)return;const G={keyword:B,definition:{...P,type:(0,c.getJSONTypes)(P.type),schemaType:(0,c.getJSONTypes)(P.schemaType)}};P.before?Q.call(this,I,G,P.before):I.rules.push(G),x.all[B]=G,(M=P.implements)===null||M===void 0||M.forEach(Y=>this.addKeyword(Y))}function Q(B,P,N){const M=B.rules.findIndex(b=>b.keyword===N);M>=0?B.rules.splice(M,0,P):(B.rules.push(P),this.logger.warn(`rule ${N} is not defined`))}function te(B){let{metaSchema:P}=B;P!==void 0&&(B.$data&&this.opts.$data&&(P=ge(P)),B.validateSchema=this.compile(P,!0))}const ae={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function ge(B){return{anyOf:[B,ae]}}})(R$);var kS={},xS={},ES={};Object.defineProperty(ES,"__esModule",{value:!0});const Fq={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};ES.default=Fq;var cc={};Object.defineProperty(cc,"__esModule",{value:!0});cc.callRef=cc.getValidate=void 0;const jq=$u,kk=We,$s=Ke,Pc=Mr,xk=Rs,Jp=ve,zq={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=xk.resolveRef.call(l,c,i,t);if(h===void 0)throw new jq.default(s.opts.uriResolver,i,t);if(h instanceof xk.SchemaEnv)return d(h);return p(h);function u(){if(r===c)return Fm(n,o,r,r.$async);const m=e.scopeValue("root",{ref:c});return Fm(n,(0,$s._)`${m}.validate`,c,c.$async)}function d(m){const g=hT(n,m);Fm(n,g,m,m.$async)}function p(m){const g=e.scopeValue("schema",a.code.source===!0?{ref:m,code:(0,$s.stringify)(m)}:{ref:m}),v=e.name("valid"),y=n.subschema({schema:m,dataTypes:[],schemaPath:$s.nil,topSchemaRef:g,errSchemaPath:t},v);n.mergeEvaluated(y),n.ok(v)}}};function hT(n,e){const{gen:t}=n;return e.validate?t.scopeValue("validate",{ref:e.validate}):(0,$s._)`${t.scopeValue("wrapper",{ref:e})}.validate`}cc.getValidate=hT;function Fm(n,e,t,s){const{gen:i,it:r}=n,{allErrors:o,schemaEnv:a,opts:l}=r,c=l.passContext?Pc.default.this:$s.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,$s._)`await ${(0,kk.callValidateCode)(n,e,c)}`),p(e),o||i.assign(m,!0)},g=>{i.if((0,$s._)`!(${g} instanceof ${r.ValidationError})`,()=>i.throw(g)),d(g),o||i.assign(m,!1)}),n.ok(m)}function u(){n.result((0,kk.callValidateCode)(n,e,c),()=>p(e),()=>d(e))}function d(m){const g=(0,$s._)`${m}.errors`;i.assign(Pc.default.vErrors,(0,$s._)`${Pc.default.vErrors} === null ? ${g} : ${Pc.default.vErrors}.concat(${g})`),i.assign(Pc.default.errors,(0,$s._)`${Pc.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=Jp.mergeEvaluated.props(i,v.props,r.props));else{const y=i.var("props",(0,$s._)`${m}.evaluated.props`);r.props=Jp.mergeEvaluated.props(i,y,r.props,$s.Name)}if(r.items!==!0)if(v&&!v.dynamicItems)v.items!==void 0&&(r.items=Jp.mergeEvaluated.items(i,v.items,r.items));else{const y=i.var("items",(0,$s._)`${m}.evaluated.items`);r.items=Jp.mergeEvaluated.items(i,y,r.items,$s.Name)}}}cc.callRef=Fm;cc.default=zq;Object.defineProperty(xS,"__esModule",{value:!0});const Hq=ES,Bq=cc,qq=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Hq.default,Bq.default];xS.default=qq;var CS={},$S={};Object.defineProperty($S,"__esModule",{value:!0});const Dg=Ke,To=Dg.operators,Fg={maximum:{okStr:"<=",ok:To.LTE,fail:To.GT},minimum:{okStr:">=",ok:To.GTE,fail:To.LT},exclusiveMaximum:{okStr:"<",ok:To.LT,fail:To.GTE},exclusiveMinimum:{okStr:">",ok:To.GT,fail:To.LTE}},Uq={message:({keyword:n,schemaCode:e})=>(0,Dg.str)`must be ${Fg[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,Dg._)`{comparison: ${Fg[n].okStr}, limit: ${e}}`},Vq={keyword:Object.keys(Fg),type:"number",schemaType:"number",$data:!0,error:Uq,code(n){const{keyword:e,data:t,schemaCode:s}=n;n.fail$data((0,Dg._)`${t} ${Fg[e].fail} ${s} || isNaN(${t})`)}};$S.default=Vq;var TS={};Object.defineProperty(TS,"__esModule",{value:!0});const Sd=Ke,Wq={message:({schemaCode:n})=>(0,Sd.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,Sd._)`{multipleOf: ${n}}`},Gq={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Wq,code(n){const{gen:e,data:t,schemaCode:s,it:i}=n,r=i.opts.multipleOfPrecision,o=e.let("res"),a=r?(0,Sd._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${r}`:(0,Sd._)`${o} !== parseInt(${o})`;n.fail$data((0,Sd._)`(${s} === 0 || (${o} = ${t}/${s}, ${a}))`)}};TS.default=Gq;var PS={},RS={};Object.defineProperty(RS,"__esModule",{value:!0});function uT(n){const e=n.length;let t=0,s=0,i;for(;s=55296&&i<=56319&&s(0,Ja._)`{limit: ${n}}`},Yq={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Xq,code(n){const{keyword:e,data:t,schemaCode:s,it:i}=n,r=e==="maxLength"?Ja.operators.GT:Ja.operators.LT,o=i.opts.unicode===!1?(0,Ja._)`${t}.length`:(0,Ja._)`${(0,Kq.useFunc)(n.gen,Zq.default)}(${t})`;n.fail$data((0,Ja._)`${o} ${r} ${s}`)}};PS.default=Yq;var MS={};Object.defineProperty(MS,"__esModule",{value:!0});const Jq=We,Qq=ve,Zc=Ke,eU={message:({schemaCode:n})=>(0,Zc.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,Zc._)`{pattern: ${n}}`},tU={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:eU,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,Zc._)`new RegExp`:(0,Qq.useFunc)(e,l),h=e.let("valid");e.try(()=>e.assign(h,(0,Zc._)`${c}(${r}, ${a}).test(${t})`),()=>e.assign(h,!1)),n.fail$data((0,Zc._)`!${h}`)}else{const l=(0,Jq.usePattern)(n,i);n.fail$data((0,Zc._)`!${l}.test(${t})`)}}};MS.default=tU;var IS={};Object.defineProperty(IS,"__esModule",{value:!0});const Ad=Ke,nU={message({keyword:n,schemaCode:e}){const t=n==="maxProperties"?"more":"fewer";return(0,Ad.str)`must NOT have ${t} than ${e} properties`},params:({schemaCode:n})=>(0,Ad._)`{limit: ${n}}`},sU={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:nU,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxProperties"?Ad.operators.GT:Ad.operators.LT;n.fail$data((0,Ad._)`Object.keys(${t}).length ${i} ${s}`)}};IS.default=sU;var OS={};Object.defineProperty(OS,"__esModule",{value:!0});const zu=We,kd=Ke,iU=ve,rU={message:({params:{missingProperty:n}})=>(0,kd.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,kd._)`{missingProperty: ${n}}`},oU={keyword:"required",type:"object",schemaType:"array",$data:!0,error:rU,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,iU.checkStrictMode)(o,y,o.opts.strictRequired)}}function c(){if(l||r)n.block$data(kd.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,kd.not)(m),()=>{n.error(),e.break()})},kd.nil)}}};OS.default=oU;var NS={};Object.defineProperty(NS,"__esModule",{value:!0});const xd=Ke,aU={message({keyword:n,schemaCode:e}){const t=n==="maxItems"?"more":"fewer";return(0,xd.str)`must NOT have ${t} than ${e} items`},params:({schemaCode:n})=>(0,xd._)`{limit: ${n}}`},lU={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:aU,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxItems"?xd.operators.GT:xd.operators.LT;n.fail$data((0,xd._)`${t}.length ${i} ${s}`)}};NS.default=lU;var LS={},Rp={};Object.defineProperty(Rp,"__esModule",{value:!0});const dT=Xy;dT.code='require("ajv/dist/runtime/equal").default';Rp.default=dT;Object.defineProperty(LS,"__esModule",{value:!0});const j0=yn,Ln=Ke,cU=ve,hU=Rp,uU={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}}`},dU={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:uU,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,j0.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,j0.checkDataTypes)(c,v,a.opts.strictNumbers,j0.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,cU.useFunc)(e,hU.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)})))}}};LS.default=dU;var DS={};Object.defineProperty(DS,"__esModule",{value:!0});const Bv=Ke,fU=ve,pU=Rp,mU={message:"must be equal to constant",params:({schemaCode:n})=>(0,Bv._)`{allowedValue: ${n}}`},gU={keyword:"const",$data:!0,error:mU,code(n){const{gen:e,data:t,$data:s,schemaCode:i,schema:r}=n;s||r&&typeof r=="object"?n.fail$data((0,Bv._)`!${(0,fU.useFunc)(e,pU.default)}(${t}, ${i})`):n.fail((0,Bv._)`${r} !== ${t}`)}};DS.default=gU;var FS={};Object.defineProperty(FS,"__esModule",{value:!0});const ed=Ke,yU=ve,vU=Rp,bU={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,ed._)`{allowedValues: ${n}}`},wU={keyword:"enum",schemaType:"array",$data:!0,error:bU,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,yU.useFunc)(e,vU.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,ed.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,ed._)`${c()}(${t}, ${p})`,()=>e.assign(h,!0).break()))}function d(p,m){const g=i[m];return typeof g=="object"&&g!==null?(0,ed._)`${c()}(${t}, ${p}[${m}])`:(0,ed._)`${t} === ${g}`}}};FS.default=wU;Object.defineProperty(CS,"__esModule",{value:!0});const _U=$S,SU=TS,AU=PS,kU=MS,xU=IS,EU=OS,CU=NS,$U=LS,TU=DS,PU=FS,RU=[_U.default,SU.default,AU.default,kU.default,xU.default,EU.default,CU.default,$U.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},TU.default,PU.default];CS.default=RU;var jS={},Tu={};Object.defineProperty(Tu,"__esModule",{value:!0});Tu.validateAdditionalItems=void 0;const Qa=Ke,qv=ve,MU={message:({params:{len:n}})=>(0,Qa.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Qa._)`{limit: ${n}}`},IU={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:MU,code(n){const{parentSchema:e,it:t}=n,{items:s}=e;if(!Array.isArray(s)){(0,qv.checkStrictMode)(t,'"additionalItems" is ignored when "items" is not an array of schemas');return}fT(n,s)}};function fT(n,e){const{gen:t,schema:s,data:i,keyword:r,it:o}=n;o.items=!0;const a=t.const("len",(0,Qa._)`${i}.length`);if(s===!1)n.setParams({len:e.length}),n.pass((0,Qa._)`${a} <= ${e.length}`);else if(typeof s=="object"&&!(0,qv.alwaysValidSchema)(o,s)){const c=t.var("valid",(0,Qa._)`${a} <= ${e.length}`);t.if((0,Qa.not)(c),()=>l(c)),n.ok(c)}function l(c){t.forRange("i",e.length,a,h=>{n.subschema({keyword:r,dataProp:h,dataPropType:qv.Type.Num},c),o.allErrors||t.if((0,Qa.not)(c),()=>t.break())})}}Tu.validateAdditionalItems=fT;Tu.default=IU;var zS={},Pu={};Object.defineProperty(Pu,"__esModule",{value:!0});Pu.validateTuple=void 0;const Ek=Ke,jm=ve,OU=We,NU={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){const{schema:e,it:t}=n;if(Array.isArray(e))return pT(n,"additionalItems",e);t.items=!0,!(0,jm.alwaysValidSchema)(t,e)&&n.ok((0,OU.validateArray)(n))}};function pT(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=jm.mergeEvaluated.items(s,t.length,a.items));const l=s.name("valid"),c=s.const("len",(0,Ek._)`${r}.length`);t.forEach((u,d)=>{(0,jm.alwaysValidSchema)(a,u)||(s.if((0,Ek._)`${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,jm.checkStrictMode)(a,v,d.strictTuples)}}}Pu.validateTuple=pT;Pu.default=NU;Object.defineProperty(zS,"__esModule",{value:!0});const LU=Pu,DU={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,LU.validateTuple)(n,"items")};zS.default=DU;var HS={};Object.defineProperty(HS,"__esModule",{value:!0});const Ck=Ke,FU=ve,jU=We,zU=Tu,HU={message:({params:{len:n}})=>(0,Ck.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Ck._)`{limit: ${n}}`},BU={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:HU,code(n){const{schema:e,parentSchema:t,it:s}=n,{prefixItems:i}=t;s.items=!0,!(0,FU.alwaysValidSchema)(s,e)&&(i?(0,zU.validateAdditionalItems)(n,i):n.ok((0,jU.validateArray)(n)))}};HS.default=BU;var BS={};Object.defineProperty(BS,"__esModule",{value:!0});const li=Ke,Qp=ve,qU={message:({params:{min:n,max:e}})=>e===void 0?(0,li.str)`must contain at least ${n} valid item(s)`:(0,li.str)`must contain at least ${n} and no more than ${e} valid item(s)`,params:({params:{min:n,max:e}})=>e===void 0?(0,li._)`{minContains: ${n}}`:(0,li._)`{minContains: ${n}, maxContains: ${e}}`},UU={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:qU,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,li._)`${i}.length`);if(n.setParams({min:o,max:a}),a===void 0&&o===0){(0,Qp.checkStrictMode)(r,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,Qp.checkStrictMode)(r,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,Qp.alwaysValidSchema)(r,t)){let g=(0,li._)`${h} >= ${o}`;a!==void 0&&(g=(0,li._)`${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,li._)`${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:Qp.Type.Num,compositeRule:!0},g),v()})}function m(g){e.code((0,li._)`${g}++`),a===void 0?e.if((0,li._)`${g} >= ${o}`,()=>e.assign(u,!0).break()):(e.if((0,li._)`${g} > ${a}`,()=>e.assign(u,!1).break()),o===1?e.assign(u,!0):e.if((0,li._)`${g} >= ${o}`,()=>e.assign(u,!0)))}}};BS.default=UU;var mT={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.validateSchemaDeps=n.validatePropertyDeps=n.error=void 0;const e=Ke,t=ve,s=We;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})(mT);var qS={};Object.defineProperty(qS,"__esModule",{value:!0});const gT=Ke,VU=ve,WU={message:"property name must be valid",params:({params:n})=>(0,gT._)`{propertyName: ${n.propertyName}}`},GU={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:WU,code(n){const{gen:e,schema:t,data:s,it:i}=n;if((0,VU.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,gT.not)(r),()=>{n.error(!0),i.allErrors||e.break()})}),n.ok(r)}};qS.default=GU;var t0={};Object.defineProperty(t0,"__esModule",{value:!0});const em=We,Ei=Ke,KU=Mr,tm=ve,ZU={message:"must NOT have additional properties",params:({params:n})=>(0,Ei._)`{additionalProperty: ${n.additionalProperty}}`},XU={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:ZU,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,tm.alwaysValidSchema)(o,t))return;const c=(0,em.allSchemaProperties)(s.properties),h=(0,em.allSchemaProperties)(s.patternProperties);u(),n.ok((0,Ei._)`${r} === ${KU.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,tm.schemaRefOrVal)(o,s.properties,"properties");y=(0,em.isOwnProperty)(e,w,v)}else c.length?y=(0,Ei.or)(...c.map(w=>(0,Ei._)`${v} === ${w}`)):y=Ei.nil;return h.length&&(y=(0,Ei.or)(y,...h.map(w=>(0,Ei._)`${(0,em.usePattern)(n,w)}.test(${v})`))),(0,Ei.not)(y)}function p(v){e.code((0,Ei._)`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,tm.alwaysValidSchema)(o,t)){const y=e.name("valid");l.removeAdditional==="failing"?(g(v,y,!1),e.if((0,Ei.not)(y),()=>{n.reset(),p(v)})):(g(v,y),a||e.if((0,Ei.not)(y),()=>e.break()))}}function g(v,y,w){const _={keyword:"additionalProperties",dataProp:v,dataPropType:tm.Type.Str};w===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(_,y)}}};t0.default=XU;var US={};Object.defineProperty(US,"__esModule",{value:!0});const YU=Yy(),$k=We,z0=ve,Tk=t0,JU={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&&Tk.default.code(new YU.KeywordCxt(r,Tk.default,"additionalProperties"));const o=(0,$k.allSchemaProperties)(t);for(const u of o)r.definedProperties.add(u);r.opts.unevaluated&&o.length&&r.props!==!0&&(r.props=z0.mergeEvaluated.props(e,(0,z0.toHash)(o),r.props));const a=o.filter(u=>!(0,z0.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,$k.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)}}};US.default=JU;var VS={};Object.defineProperty(VS,"__esModule",{value:!0});const Pk=We,nm=Ke,Rk=ve,Mk=ve,QU={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,Pk.allSchemaProperties)(t),l=a.filter(g=>(0,Rk.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 nm.Name)&&(r.props=(0,Mk.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,Rk.checkStrictMode)(r,`property ${v} matches pattern ${g} (use allowMatchingProperties)`)}function m(g){e.forIn("key",s,v=>{e.if((0,nm._)`${(0,Pk.usePattern)(n,g)}.test(${v})`,()=>{const y=l.includes(g);y||n.subschema({keyword:"patternProperties",schemaProp:g,dataProp:v,dataPropType:Mk.Type.Str},h),r.opts.unevaluated&&u!==!0?e.assign((0,nm._)`${u}[${v}]`,!0):!y&&!r.allErrors&&e.if((0,nm.not)(h),()=>e.break())})})}}};VS.default=QU;var WS={};Object.defineProperty(WS,"__esModule",{value:!0});const eV=ve,tV={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){const{gen:e,schema:t,it:s}=n;if((0,eV.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"}};WS.default=tV;var GS={};Object.defineProperty(GS,"__esModule",{value:!0});const nV=We,sV={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:nV.validateUnion,error:{message:"must match a schema in anyOf"}};GS.default=sV;var KS={};Object.defineProperty(KS,"__esModule",{value:!0});const zm=Ke,iV=ve,rV={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,zm._)`{passingSchemas: ${n.passing}}`},oV={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:rV,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,iV.alwaysValidSchema)(i,h)?e.var(l,!0):d=n.subschema({keyword:"oneOf",schemaProp:u,compositeRule:!0},l),u>0&&e.if((0,zm._)`${l} && ${o}`).assign(o,!1).assign(a,(0,zm._)`[${a}, ${u}]`).else(),e.if(l,()=>{e.assign(o,!0),e.assign(a,u),d&&n.mergeEvaluated(d,zm.Name)})})}}};KS.default=oV;var ZS={};Object.defineProperty(ZS,"__esModule",{value:!0});const aV=ve,lV={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,aV.alwaysValidSchema)(s,r))return;const a=n.subschema({keyword:"allOf",schemaProp:o},i);n.ok(i),n.mergeEvaluated(a)})}};ZS.default=lV;var XS={};Object.defineProperty(XS,"__esModule",{value:!0});const jg=Ke,yT=ve,cV={message:({params:n})=>(0,jg.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,jg._)`{failingKeyword: ${n.ifClause}}`},hV={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:cV,code(n){const{gen:e,parentSchema:t,it:s}=n;t.then===void 0&&t.else===void 0&&(0,yT.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const i=Ik(s,"then"),r=Ik(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,jg.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,jg._)`${h}`):n.setParams({ifClause:h})}}}};function Ik(n,e){const t=n.schema[e];return t!==void 0&&!(0,yT.alwaysValidSchema)(n,t)}XS.default=hV;var YS={};Object.defineProperty(YS,"__esModule",{value:!0});const uV=ve,dV={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:t}){e.if===void 0&&(0,uV.checkStrictMode)(t,`"${n}" without "if" is ignored`)}};YS.default=dV;Object.defineProperty(jS,"__esModule",{value:!0});const fV=Tu,pV=zS,mV=Pu,gV=HS,yV=BS,vV=mT,bV=qS,wV=t0,_V=US,SV=VS,AV=WS,kV=GS,xV=KS,EV=ZS,CV=XS,$V=YS;function TV(n=!1){const e=[AV.default,kV.default,xV.default,EV.default,CV.default,$V.default,bV.default,wV.default,vV.default,_V.default,SV.default];return n?e.push(pV.default,gV.default):e.push(fV.default,mV.default),e.push(yV.default),e}jS.default=TV;var JS={},QS={};Object.defineProperty(QS,"__esModule",{value:!0});const Zt=Ke,PV={message:({schemaCode:n})=>(0,Zt.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,Zt._)`{format: ${n}}`},RV={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:PV,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,Zt._)`${m}[${o}]`),v=t.let("fType"),y=t.let("format");t.if((0,Zt._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>t.assign(v,(0,Zt._)`${g}.type || "string"`).assign(y,(0,Zt._)`${g}.validate`),()=>t.assign(v,(0,Zt._)`"string"`).assign(y,g)),n.fail$data((0,Zt.or)(w(),_()));function w(){return l.strictSchema===!1?Zt.nil:(0,Zt._)`${o} && !${y}`}function _(){const k=h.$async?(0,Zt._)`(${g}.async ? await ${y}(${s}) : ${y}(${s}))`:(0,Zt._)`${y}(${s})`,A=(0,Zt._)`(typeof ${y} == "function" ? ${k} : ${y}.test(${s}))`;return(0,Zt._)`${y} && ${y} !== true && ${v} === ${e} && !${A}`}}function p(){const m=u.formats[r];if(!m){w();return}if(m===!0)return;const[g,v,y]=_(m);g===e&&n.pass(k());function w(){if(l.strictSchema===!1){u.logger.warn(A());return}throw new Error(A());function A(){return`unknown format "${r}" ignored in schema at path "${c}"`}}function _(A){const $=A instanceof RegExp?(0,Zt.regexpCode)(A):l.code.formats?(0,Zt._)`${l.code.formats}${(0,Zt.getProperty)(r)}`:void 0,E=t.scopeValue("formats",{key:r,ref:A,code:$});return typeof A=="object"&&!(A instanceof RegExp)?[A.type||"string",A.validate,(0,Zt._)`${E}.validate`]:["string",A,E]}function k(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!h.$async)throw new Error("async format in sync schema");return(0,Zt._)`await ${y}(${s})`}return typeof v=="function"?(0,Zt._)`${y}(${s})`:(0,Zt._)`${y}.test(${s})`}}}};QS.default=RV;Object.defineProperty(JS,"__esModule",{value:!0});const MV=QS,IV=[MV.default];JS.default=IV;var du={};Object.defineProperty(du,"__esModule",{value:!0});du.contentVocabulary=du.metadataVocabulary=void 0;du.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];du.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];Object.defineProperty(kS,"__esModule",{value:!0});const OV=xS,NV=CS,LV=jS,DV=JS,Ok=du,FV=[OV.default,NV.default,(0,LV.default)(),DV.default,Ok.metadataVocabulary,Ok.contentVocabulary];kS.default=FV;var e1={},n0={};Object.defineProperty(n0,"__esModule",{value:!0});n0.DiscrError=void 0;var Nk;(function(n){n.Tag="tag",n.Mapping="mapping"})(Nk||(n0.DiscrError=Nk={}));Object.defineProperty(e1,"__esModule",{value:!0});const Nc=Ke,Uv=n0,Lk=Rs,jV=$u,zV=ve,HV={message:({params:{discrError:n,tagName:e}})=>n===Uv.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:t}})=>(0,Nc._)`{error: ${n}, tag: ${t}, tagValue: ${e}}`},BV={keyword:"discriminator",type:"object",schemaType:"object",error:HV,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,Nc._)`${t}${(0,Nc.getProperty)(a)}`);e.if((0,Nc._)`typeof ${c} == "string"`,()=>h(),()=>n.error(!1,{discrError:Uv.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,Nc._)`${c} === ${m}`),e.assign(l,u(p[m]));e.else(),n.error(!1,{discrError:Uv.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,Nc.Name),m}function d(){var p;const m={},g=y(i);let v=!0;for(let k=0;kthis.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=Yy();Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return c.KeywordCxt}});var h=Ke;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=Pp;Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return u.default}});var d=$u;Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return d.default}})})(Dv,Dv.exports);var XV=Dv.exports;const YV=k_(XV);var Vv={exports:{}},vT={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.formatNames=n.fastFormats=n.fullFormats=void 0;function e(D,z){return{validate:D,compare:z}}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:q,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(D){return D%4===0&&(D%100!==0||D%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(D){const z=s.exec(D);if(!z)return!1;const K=+z[1],L=+z[2],ee=+z[3];return L>=1&&L<=12&&ee>=1&&ee<=(L===2&&t(K)?29:i[L])}function o(D,z){if(D&&z)return D>z?1:D23||P>59||D&&!ae)return!1;if(ee<=23&&Q<=59&&te<60)return!0;const N=Q-P*ge,M=ee-B*ge-(N<0?1:0);return(M===23||M===-1)&&(N===59||N===-1)&&te<61}}function c(D,z){if(!(D&&z))return;const K=new Date("2020-01-01T"+D).valueOf(),L=new Date("2020-01-01T"+z).valueOf();if(K&&L)return K-L}function h(D,z){if(!(D&&z))return;const K=a.exec(D),L=a.exec(z);if(K&&L)return D=K[1]+K[2]+K[3],z=L[1]+L[2]+L[3],D>z?1:D=k}function E(D){return Number.isInteger(D)}function O(){return!0}const F=/[^\\]\\Z/;function q(D){if(F.test(D))return!1;try{return new RegExp(D),!0}catch{return!1}}})(vT);var bT={},Wv={exports:{}},wT={},Ki={},fu={},Mp={},qe={},Vd={};(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((_,k)=>`${_}${k}`,"")}get names(){var w;return(w=this._names)!==null&&w!==void 0?w:this._names=this._items.reduce((_,k)=>(k instanceof t&&(_[k.str]=(_[k.str]||0)+1),_),{})}}n._Code=s,n.nil=new s("");function i(y,...w){const _=[y[0]];let k=0;for(;k{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})(Gv);(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=Vd,t=Gv;var s=Vd;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=Gv;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,G=this.rhs===void 0?"":` = ${this.rhs}`;return`${I} ${this.name}${G};`+x}optimizeNames(b,x){if(b[this.name.str])return this.rhs&&(this.rhs=L(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=L(this.rhs,b,x),this}get names(){const b=this.lhs instanceof e.Name?{}:{...this.lhs.names};return K(b,this.rhs)}}class l extends a{constructor(b,x,I,G){super(b,I,G),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=L(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 G=I.length;for(;G--;){const Y=I[G];Y.optimizeNames(b,x)||(ee(b,Y.names),I.splice(G,1))}return I.length>0?this:void 0}get names(){return this.nodes.reduce((b,x)=>z(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(Q(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=L(this.condition,b,x),this}get names(){const b=super.names;return K(b,this.condition),this.else&&z(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=L(this.iteration,b,x),this}get names(){return z(super.names,this.iteration.names)}}class k extends w{constructor(b,x,I,G){super(),this.varKind=b,this.name=x,this.from=I,this.to=G}render(b){const x=b.es5?t.varKinds.var:this.varKind,{name:I,from:G,to:Y}=this;return`for(${x} ${I}=${G}; ${I}<${Y}; ${I}++)`+super.render(b)}get names(){const b=K(super.names,this.from);return K(b,this.to)}}class A extends w{constructor(b,x,I,G){super(),this.loop=b,this.varKind=x,this.name=I,this.iterable=G}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=L(this.iterable,b,x),this}get names(){return z(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,G;return super.optimizeNames(b,x),(I=this.catch)===null||I===void 0||I.optimizeNames(b,x),(G=this.finally)===null||G===void 0||G.optimizeNames(b,x),this}get names(){const b=super.names;return this.catch&&z(b,this.catch.names),this.finally&&z(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 q extends m{render(b){return"finally"+super.render(b)}}q.kind="finally";class D{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,G){const Y=this._scope.toName(x);return I!==void 0&&G&&(this._constants[Y.str]=I),this._leafNode(new o(b,Y,I)),Y}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,G]of b)x.length>1&&x.push(","),x.push(I),(I!==G||this.opts.es5)&&(x.push(":"),(0,e.addCodeArg)(x,G));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,G,Y=this.opts.es5?t.varKinds.var:t.varKinds.let){const ue=this._scope.toName(b);return this._for(new k(Y,ue,x,I),()=>G(ue))}forOf(b,x,I,G=t.varKinds.const){const Y=this._scope.toName(b);if(this.opts.es5){const ue=x instanceof e.Name?x:this.var("_arr",x);return this.forRange("_i",0,(0,e._)`${ue}.length`,oe=>{this.var(Y,(0,e._)`${ue}[${oe}]`),I(Y)})}return this._for(new A("of",G,Y,x),()=>I(Y))}forIn(b,x,I,G=this.opts.es5?t.varKinds.var:t.varKinds.const){if(this.opts.ownProperties)return this.forOf(b,(0,e._)`Object.keys(${x})`,I);const Y=this._scope.toName(b);return this._for(new A("in",G,Y,x),()=>I(Y))}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 G=new O;if(this._blockNode(G),this.code(b),x){const Y=this.name("e");this._currNode=G.catch=new F(Y),x(Y)}return I&&(this._currNode=G.finally=new q,this.code(I)),this._endBlockNode(F,q)}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,G){return this._blockNode(new $(b,x,I)),G&&this.code(G).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=D;function z(M,b){for(const x in b)M[x]=(M[x]||0)+(b[x]||0);return M}function K(M,b){return b instanceof e._CodeOrName?z(M,b.names):M}function L(M,b,x){if(M instanceof e.Name)return I(M);if(!G(M))return M;return new e._Code(M._items.reduce((Y,ue)=>(ue instanceof e.Name&&(ue=I(ue)),ue instanceof e._Code?Y.push(...ue._items):Y.push(ue),Y),[]));function I(Y){const ue=x[Y.str];return ue===void 0||b[Y.str]!==1?Y:(delete b[Y.str],ue)}function G(Y){return Y instanceof e._Code&&Y._items.some(ue=>ue instanceof e.Name&&b[ue.str]===1&&x[ue.str]!==void 0)}}function ee(M,b){for(const x in b)M[x]=(M[x]||0)-(b[x]||0)}function Q(M){return typeof M=="boolean"||typeof M=="number"||M===null?!M:(0,e._)`!${N(M)}`}n.not=Q;const te=P(n.operators.AND);function ae(...M){return M.reduce(te)}n.and=ae;const ge=P(n.operators.OR);function B(...M){return M.reduce(ge)}n.or=B;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})`}})(qe);var be={};Object.defineProperty(be,"__esModule",{value:!0});be.checkStrictMode=be.getErrorPath=be.Type=be.useFunc=be.setEvaluated=be.evaluatedPropsToName=be.mergeEvaluated=be.eachItem=be.unescapeJsonPointer=be.escapeJsonPointer=be.escapeFragment=be.unescapeFragment=be.schemaRefOrVal=be.schemaHasRulesButRef=be.schemaHasRules=be.checkUnknownRules=be.alwaysValidSchema=be.toHash=void 0;const bt=qe,JV=Vd;function QV(n){const e={};for(const t of n)e[t]=!0;return e}be.toHash=QV;function e3(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(_T(n,e),!ST(e,n.self.RULES.all))}be.alwaysValidSchema=e3;function _T(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]||xT(n,`unknown keyword: "${r}"`)}be.checkUnknownRules=_T;function ST(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(e[t])return!0;return!1}be.schemaHasRules=ST;function t3(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(t!=="$ref"&&e.all[t])return!0;return!1}be.schemaHasRulesButRef=t3;function n3({topSchemaRef:n,schemaPath:e},t,s,i){if(!i){if(typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="string")return(0,bt._)`${t}`}return(0,bt._)`${n}${e}${(0,bt.getProperty)(s)}`}be.schemaRefOrVal=n3;function s3(n){return AT(decodeURIComponent(n))}be.unescapeFragment=s3;function i3(n){return encodeURIComponent(t1(n))}be.escapeFragment=i3;function t1(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}be.escapeJsonPointer=t1;function AT(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}be.unescapeJsonPointer=AT;function r3(n,e){if(Array.isArray(n))for(const t of n)e(t);else e(n)}be.eachItem=r3;function Dk({mergeNames:n,mergeToName:e,mergeValues:t,resultToName:s}){return(i,r,o,a)=>{const l=o===void 0?r:o instanceof bt.Name?(r instanceof bt.Name?n(i,r,o):e(i,r,o),o):r instanceof bt.Name?(e(i,o,r),r):t(r,o);return a===bt.Name&&!(l instanceof bt.Name)?s(i,l):l}}be.mergeEvaluated={props:Dk({mergeNames:(n,e,t)=>n.if((0,bt._)`${t} !== true && ${e} !== undefined`,()=>{n.if((0,bt._)`${e} === true`,()=>n.assign(t,!0),()=>n.assign(t,(0,bt._)`${t} || {}`).code((0,bt._)`Object.assign(${t}, ${e})`))}),mergeToName:(n,e,t)=>n.if((0,bt._)`${t} !== true`,()=>{e===!0?n.assign(t,!0):(n.assign(t,(0,bt._)`${t} || {}`),n1(n,t,e))}),mergeValues:(n,e)=>n===!0?!0:{...n,...e},resultToName:kT}),items:Dk({mergeNames:(n,e,t)=>n.if((0,bt._)`${t} !== true && ${e} !== undefined`,()=>n.assign(t,(0,bt._)`${e} === true ? true : ${t} > ${e} ? ${t} : ${e}`)),mergeToName:(n,e,t)=>n.if((0,bt._)`${t} !== true`,()=>n.assign(t,e===!0?!0:(0,bt._)`${t} > ${e} ? ${t} : ${e}`)),mergeValues:(n,e)=>n===!0?!0:Math.max(n,e),resultToName:(n,e)=>n.var("items",e)})};function kT(n,e){if(e===!0)return n.var("props",!0);const t=n.var("props",(0,bt._)`{}`);return e!==void 0&&n1(n,t,e),t}be.evaluatedPropsToName=kT;function n1(n,e,t){Object.keys(t).forEach(s=>n.assign((0,bt._)`${e}${(0,bt.getProperty)(s)}`,!0))}be.setEvaluated=n1;const Fk={};function o3(n,e){return n.scopeValue("func",{ref:e,code:Fk[e.code]||(Fk[e.code]=new JV._Code(e.code))})}be.useFunc=o3;var Kv;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(Kv||(be.Type=Kv={}));function a3(n,e,t){if(n instanceof bt.Name){const s=e===Kv.Num;return t?s?(0,bt._)`"[" + ${n} + "]"`:(0,bt._)`"['" + ${n} + "']"`:s?(0,bt._)`"/" + ${n}`:(0,bt._)`"/" + ${n}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return t?(0,bt.getProperty)(n).toString():"/"+t1(n)}be.getErrorPath=a3;function xT(n,e,t=n.opts.strictSchema){if(t){if(e=`strict mode: ${e}`,t===!0)throw new Error(e);n.self.logger.warn(e)}}be.checkStrictMode=xT;var Ir={};Object.defineProperty(Ir,"__esModule",{value:!0});const es=qe,l3={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")};Ir.default=l3;(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=qe,t=be,s=Ir;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:k}=v,{gen:A,compositeRule:$,allErrors:E}=k,O=u(v,y,w);_??($||E)?l(A,O):c(k,(0,e._)`[${O}]`)}n.reportError=i;function r(v,y=n.keywordError,w){const{it:_}=v,{gen:k,compositeRule:A,allErrors:$}=_,E=u(v,y,w);l(k,E),A||$||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:k,it:A}){if(k===void 0)throw new Error("ajv implementation error");const $=v.name("err");v.forRange("i",k,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,A.errorPath))),v.assign((0,e._)`${$}.schemaPath`,(0,e.str)`${A.errSchemaPath}/${y}`),A.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:k}=v;k.$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:k}=v,A=[p(k,w),m(v,w)];return g(v,y,A),_.object(...A)}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 k=_?y:(0,e.str)`${y}/${v}`;return w&&(k=(0,e.str)`${k}${(0,t.getErrorPath)(w,t.Type.Str)}`),[h.schemaPath,k]}function g(v,{params:y,message:w},_){const{keyword:k,data:A,schemaValue:$,it:E}=v,{opts:O,propertyName:F,topSchemaRef:q,schemaPath:D}=E;_.push([h.keyword,k],[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._)`${q}${D}`],[s.default.data,A]),F&&_.push([h.propertyName,F])}})(Mp);Object.defineProperty(fu,"__esModule",{value:!0});fu.boolOrEmptySchema=fu.topBoolOrEmptySchema=void 0;const c3=Mp,h3=qe,u3=Ir,d3={message:"boolean schema is false"};function f3(n){const{gen:e,schema:t,validateName:s}=n;t===!1?ET(n,!1):typeof t=="object"&&t.$async===!0?e.return(u3.default.data):(e.assign((0,h3._)`${s}.errors`,null),e.return(!0))}fu.topBoolOrEmptySchema=f3;function p3(n,e){const{gen:t,schema:s}=n;s===!1?(t.var(e,!1),ET(n)):t.var(e,!0)}fu.boolOrEmptySchema=p3;function ET(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,c3.reportError)(i,d3,void 0,e)}var vn={},hc={};Object.defineProperty(hc,"__esModule",{value:!0});hc.getRules=hc.isJSONType=void 0;const m3=["string","number","integer","boolean","null","object","array"],g3=new Set(m3);function y3(n){return typeof n=="string"&&g3.has(n)}hc.isJSONType=y3;function v3(){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:{}}}hc.getRules=v3;var vo={};Object.defineProperty(vo,"__esModule",{value:!0});vo.shouldUseRule=vo.shouldUseGroup=vo.schemaHasRulesForType=void 0;function b3({schema:n,self:e},t){const s=e.RULES.types[t];return s&&s!==!0&&CT(n,s)}vo.schemaHasRulesForType=b3;function CT(n,e){return e.rules.some(t=>$T(n,t))}vo.shouldUseGroup=CT;function $T(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))}vo.shouldUseRule=$T;Object.defineProperty(vn,"__esModule",{value:!0});vn.reportTypeError=vn.checkDataTypes=vn.checkDataType=vn.coerceAndCheckDataType=vn.getJSONTypes=vn.getSchemaTypes=vn.DataType=void 0;const w3=hc,_3=vo,S3=Mp,Fe=qe,TT=be;var nh;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(nh||(vn.DataType=nh={}));function A3(n){const e=PT(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}vn.getSchemaTypes=A3;function PT(n){const e=Array.isArray(n)?n:n?[n]:[];if(e.every(w3.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}vn.getJSONTypes=PT;function k3(n,e){const{gen:t,data:s,opts:i}=n,r=x3(e,i.coerceTypes),o=e.length>0&&!(r.length===0&&e.length===1&&(0,_3.schemaHasRulesForType)(n,e[0]));if(o){const a=s1(e,s,i.strictNumbers,nh.Wrong);t.if(a,()=>{r.length?E3(n,e,r):i1(n)})}return o}vn.coerceAndCheckDataType=k3;const RT=new Set(["string","number","integer","boolean","null"]);function x3(n,e){return e?n.filter(t=>RT.has(t)||e==="array"&&t==="array"):[]}function E3(n,e,t){const{gen:s,data:i,opts:r}=n,o=s.let("dataType",(0,Fe._)`typeof ${i}`),a=s.let("coerced",(0,Fe._)`undefined`);r.coerceTypes==="array"&&s.if((0,Fe._)`${o} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>s.assign(i,(0,Fe._)`${i}[0]`).assign(o,(0,Fe._)`typeof ${i}`).if(s1(e,i,r.strictNumbers),()=>s.assign(a,i))),s.if((0,Fe._)`${a} !== undefined`);for(const c of t)(RT.has(c)||c==="array"&&r.coerceTypes==="array")&&l(c);s.else(),i1(n),s.endIf(),s.if((0,Fe._)`${a} !== undefined`,()=>{s.assign(i,a),C3(n,a)});function l(c){switch(c){case"string":s.elseIf((0,Fe._)`${o} == "number" || ${o} == "boolean"`).assign(a,(0,Fe._)`"" + ${i}`).elseIf((0,Fe._)`${i} === null`).assign(a,(0,Fe._)`""`);return;case"number":s.elseIf((0,Fe._)`${o} == "boolean" || ${i} === null + || (${o} == "string" && ${i} && ${i} == +${i})`).assign(a,(0,Fe._)`+${i}`);return;case"integer":s.elseIf((0,Fe._)`${o} === "boolean" || ${i} === null + || (${o} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(a,(0,Fe._)`+${i}`);return;case"boolean":s.elseIf((0,Fe._)`${i} === "false" || ${i} === 0 || ${i} === null`).assign(a,!1).elseIf((0,Fe._)`${i} === "true" || ${i} === 1`).assign(a,!0);return;case"null":s.elseIf((0,Fe._)`${i} === "" || ${i} === 0 || ${i} === false`),s.assign(a,null);return;case"array":s.elseIf((0,Fe._)`${o} === "string" || ${o} === "number" + || ${o} === "boolean" || ${i} === null`).assign(a,(0,Fe._)`[${i}]`)}}}function C3({gen:n,parentData:e,parentDataProperty:t},s){n.if((0,Fe._)`${e} !== undefined`,()=>n.assign((0,Fe._)`${e}[${t}]`,s))}function Zv(n,e,t,s=nh.Correct){const i=s===nh.Correct?Fe.operators.EQ:Fe.operators.NEQ;let r;switch(n){case"null":return(0,Fe._)`${e} ${i} null`;case"array":r=(0,Fe._)`Array.isArray(${e})`;break;case"object":r=(0,Fe._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":r=o((0,Fe._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":r=o();break;default:return(0,Fe._)`typeof ${e} ${i} ${n}`}return s===nh.Correct?r:(0,Fe.not)(r);function o(a=Fe.nil){return(0,Fe.and)((0,Fe._)`typeof ${e} == "number"`,a,t?(0,Fe._)`isFinite(${e})`:Fe.nil)}}vn.checkDataType=Zv;function s1(n,e,t,s){if(n.length===1)return Zv(n[0],e,t,s);let i;const r=(0,TT.toHash)(n);if(r.array&&r.object){const o=(0,Fe._)`typeof ${e} != "object"`;i=r.null?o:(0,Fe._)`!${e} || ${o}`,delete r.null,delete r.array,delete r.object}else i=Fe.nil;r.number&&delete r.integer;for(const o in r)i=(0,Fe.and)(i,Zv(o,e,t,s));return i}vn.checkDataTypes=s1;const $3={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,Fe._)`{type: ${n}}`:(0,Fe._)`{type: ${e}}`};function i1(n){const e=T3(n);(0,S3.reportError)(e,$3)}vn.reportTypeError=i1;function T3(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 s0={};Object.defineProperty(s0,"__esModule",{value:!0});s0.assignDefaults=void 0;const Rc=qe,P3=be;function R3(n,e){const{properties:t,items:s}=n.schema;if(e==="object"&&t)for(const i in t)jk(n,i,t[i].default);else e==="array"&&Array.isArray(s)&&s.forEach((i,r)=>jk(n,r,i.default))}s0.assignDefaults=R3;function jk(n,e,t){const{gen:s,compositeRule:i,data:r,opts:o}=n;if(t===void 0)return;const a=(0,Rc._)`${r}${(0,Rc.getProperty)(e)}`;if(i){(0,P3.checkStrictMode)(n,`default is ignored for: ${a}`);return}let l=(0,Rc._)`${a} === undefined`;o.useDefaults==="empty"&&(l=(0,Rc._)`${l} || ${a} === null || ${a} === ""`),s.if(l,(0,Rc._)`${a} = ${(0,Rc.stringify)(t)}`)}var xr={},Ge={};Object.defineProperty(Ge,"__esModule",{value:!0});Ge.validateUnion=Ge.validateArray=Ge.usePattern=Ge.callValidateCode=Ge.schemaProperties=Ge.allSchemaProperties=Ge.noPropertyInData=Ge.propertyInData=Ge.isOwnProperty=Ge.hasPropFunc=Ge.reportMissingProp=Ge.checkMissingProp=Ge.checkReportMissingProp=void 0;const Rt=qe,r1=be,Po=Ir,M3=be;function I3(n,e){const{gen:t,data:s,it:i}=n;t.if(a1(t,s,e,i.opts.ownProperties),()=>{n.setParams({missingProperty:(0,Rt._)`${e}`},!0),n.error()})}Ge.checkReportMissingProp=I3;function O3({gen:n,data:e,it:{opts:t}},s,i){return(0,Rt.or)(...s.map(r=>(0,Rt.and)(a1(n,e,r,t.ownProperties),(0,Rt._)`${i} = ${r}`)))}Ge.checkMissingProp=O3;function N3(n,e){n.setParams({missingProperty:e},!0),n.error()}Ge.reportMissingProp=N3;function MT(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Rt._)`Object.prototype.hasOwnProperty`})}Ge.hasPropFunc=MT;function o1(n,e,t){return(0,Rt._)`${MT(n)}.call(${e}, ${t})`}Ge.isOwnProperty=o1;function L3(n,e,t,s){const i=(0,Rt._)`${e}${(0,Rt.getProperty)(t)} !== undefined`;return s?(0,Rt._)`${i} && ${o1(n,e,t)}`:i}Ge.propertyInData=L3;function a1(n,e,t,s){const i=(0,Rt._)`${e}${(0,Rt.getProperty)(t)} === undefined`;return s?(0,Rt.or)(i,(0,Rt.not)(o1(n,e,t))):i}Ge.noPropertyInData=a1;function IT(n){return n?Object.keys(n).filter(e=>e!=="__proto__"):[]}Ge.allSchemaProperties=IT;function D3(n,e){return IT(e).filter(t=>!(0,r1.alwaysValidSchema)(n,e[t]))}Ge.schemaProperties=D3;function F3({schemaCode:n,data:e,it:{gen:t,topSchemaRef:s,schemaPath:i,errorPath:r},it:o},a,l,c){const h=c?(0,Rt._)`${n}, ${e}, ${s}${i}`:e,u=[[Po.default.instancePath,(0,Rt.strConcat)(Po.default.instancePath,r)],[Po.default.parentData,o.parentData],[Po.default.parentDataProperty,o.parentDataProperty],[Po.default.rootData,Po.default.rootData]];o.opts.dynamicRef&&u.push([Po.default.dynamicAnchors,Po.default.dynamicAnchors]);const d=(0,Rt._)`${h}, ${t.object(...u)}`;return l!==Rt.nil?(0,Rt._)`${a}.call(${l}, ${d})`:(0,Rt._)`${a}(${d})`}Ge.callValidateCode=F3;const j3=(0,Rt._)`new RegExp`;function z3({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,Rt._)`${i.code==="new RegExp"?j3:(0,M3.useFunc)(n,i)}(${t}, ${s})`})}Ge.usePattern=z3;function H3(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,Rt._)`${t}.length`);e.forRange("i",0,l,c=>{n.subschema({keyword:s,dataProp:c,dataPropType:r1.Type.Num},r),e.if((0,Rt.not)(r),a)})}}Ge.validateArray=H3;function B3(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,r1.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,Rt._)`${o} || ${a}`),n.mergeValidEvaluated(h,a)||e.if((0,Rt.not)(o))})),n.result(o,()=>n.reset(),()=>n.error(!0))}Ge.validateUnion=B3;Object.defineProperty(xr,"__esModule",{value:!0});xr.validateKeywordUsage=xr.validSchemaType=xr.funcKeywordCode=xr.macroKeywordCode=void 0;const ms=qe,el=Ir,q3=Ge,U3=Mp;function V3(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:ms.nil,errSchemaPath:`${o.errSchemaPath}/${s}`,topSchemaRef:l,compositeRule:!0},c),n.pass(c,()=>n.error(!0))}xr.macroKeywordCode=V3;function W3(n,e){var t;const{gen:s,keyword:i,schema:r,parentSchema:o,$data:a,it:l}=n;K3(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&&zk(n),v(()=>n.error());else{const y=e.async?p():m();e.modifying&&zk(n),v(()=>G3(n,y))}}function p(){const y=s.let("ruleErrs",null);return s.try(()=>g((0,ms._)`await `),w=>s.assign(u,!1).if((0,ms._)`${w} instanceof ${l.ValidationError}`,()=>s.assign(y,(0,ms._)`${w}.errors`),()=>s.throw(w))),y}function m(){const y=(0,ms._)`${h}.errors`;return s.assign(y,null),g(ms.nil),y}function g(y=e.async?(0,ms._)`await `:ms.nil){const w=l.opts.passContext?el.default.this:el.default.self,_=!("compile"in e&&!a||e.schema===!1);s.assign(u,(0,ms._)`${y}${(0,q3.callValidateCode)(n,h,w,_)}`,e.modifying)}function v(y){var w;s.if((0,ms.not)((w=e.valid)!==null&&w!==void 0?w:u),y)}}xr.funcKeywordCode=W3;function zk(n){const{gen:e,data:t,it:s}=n;e.if(s.parentData,()=>e.assign(t,(0,ms._)`${s.parentData}[${s.parentDataProperty}]`))}function G3(n,e){const{gen:t}=n;t.if((0,ms._)`Array.isArray(${e})`,()=>{t.assign(el.default.vErrors,(0,ms._)`${el.default.vErrors} === null ? ${e} : ${el.default.vErrors}.concat(${e})`).assign(el.default.errors,(0,ms._)`${el.default.vErrors}.length`),(0,U3.extendErrors)(n)},()=>n.error())}function K3({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,ms.stringify)(t)})}function Z3(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")}xr.validSchemaType=Z3;function X3({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)}}xr.validateKeywordUsage=X3;var wa={};Object.defineProperty(wa,"__esModule",{value:!0});wa.extendSubschemaMode=wa.extendSubschemaData=wa.getSubschema=void 0;const Sr=qe,NT=be;function Y3(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,Sr._)`${n.schemaPath}${(0,Sr.getProperty)(e)}`,errSchemaPath:`${n.errSchemaPath}/${e}`}:{schema:a[t],schemaPath:(0,Sr._)`${n.schemaPath}${(0,Sr.getProperty)(e)}${(0,Sr.getProperty)(t)}`,errSchemaPath:`${n.errSchemaPath}/${e}/${(0,NT.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')}wa.getSubschema=Y3;function J3(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,Sr._)`${e.data}${(0,Sr.getProperty)(t)}`,!0);l(d),n.errorPath=(0,Sr.str)`${c}${(0,NT.getErrorPath)(t,s,u.jsPropertySyntax)}`,n.parentDataProperty=(0,Sr._)`${t}`,n.dataPathArr=[...h,n.parentDataProperty]}if(i!==void 0){const c=i instanceof Sr.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]}}wa.extendSubschemaData=J3;function Q3(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}wa.extendSubschemaMode=Q3;var Vn={},LT={exports:{}},ga=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(){};Hm(e,s,i,n,"",n)};ga.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};ga.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};ga.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};ga.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 Hm(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 ga.arrayKeywords)for(var d=0;de+=DT(s)),e===1/0))return 1/0}return e}function FT(n,e="",t){t!==!1&&(e=sh(e));const s=n.parse(e);return jT(n,s)}Vn.getFullPath=FT;function jT(n,e){return n.serialize(e).split("#")[0]+"#"}Vn._getFullPath=jT;const lW=/#\/?$/;function sh(n){return n?n.replace(lW,""):""}Vn.normalizeId=sh;function cW(n,e,t){return t=sh(t),n.resolve(e,t)}Vn.resolveUrl=cW;const hW=/^[a-z_][-a-z0-9._]*$/i;function uW(n,e){if(typeof n=="boolean")return{};const{schemaId:t,uriResolver:s}=this.opts,i=sh(n[t]||e),r={"":i},o=FT(s,i,!1),a={},l=new Set;return iW(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 k=this.opts.uriResolver.resolve;if(_=sh(v?k(v,_):_),l.has(_))throw h(_);l.add(_);let A=this.refs[_];return typeof A=="string"&&(A=this.refs[A]),typeof A=="object"?c(u,A.schema,_):_!==sh(g)&&(_[0]==="#"?(c(u,a[_],_),a[_]=u):this.refs[_]=g),_}function w(_){if(typeof _=="string"){if(!hW.test(_))throw new Error(`invalid anchor "${_}"`);y.call(this,`#${_}`)}}}),a;function c(u,d,p){if(d!==void 0&&!sW(u,d))throw h(p)}function h(u){return new Error(`reference "${u}" resolves to more than one schema`)}}Vn.getSchemaRefs=uW;Object.defineProperty(Ki,"__esModule",{value:!0});Ki.getData=Ki.KeywordCxt=Ki.validateFunctionCode=void 0;const zT=fu,Hk=vn,l1=vo,zg=vn,dW=s0,Ed=xr,H0=wa,xe=qe,Me=Ir,fW=Vn,bo=be,Hu=Mp;function pW(n){if(qT(n)&&(UT(n),BT(n))){yW(n);return}HT(n,()=>(0,zT.topBoolOrEmptySchema)(n))}Ki.validateFunctionCode=pW;function HT({gen:n,validateName:e,schema:t,schemaEnv:s,opts:i},r){i.code.es5?n.func(e,(0,xe._)`${Me.default.data}, ${Me.default.valCxt}`,s.$async,()=>{n.code((0,xe._)`"use strict"; ${Bk(t,i)}`),gW(n,i),n.code(r)}):n.func(e,(0,xe._)`${Me.default.data}, ${mW(i)}`,s.$async,()=>n.code(Bk(t,i)).code(r))}function mW(n){return(0,xe._)`{${Me.default.instancePath}="", ${Me.default.parentData}, ${Me.default.parentDataProperty}, ${Me.default.rootData}=${Me.default.data}${n.dynamicRef?(0,xe._)`, ${Me.default.dynamicAnchors}={}`:xe.nil}}={}`}function gW(n,e){n.if(Me.default.valCxt,()=>{n.var(Me.default.instancePath,(0,xe._)`${Me.default.valCxt}.${Me.default.instancePath}`),n.var(Me.default.parentData,(0,xe._)`${Me.default.valCxt}.${Me.default.parentData}`),n.var(Me.default.parentDataProperty,(0,xe._)`${Me.default.valCxt}.${Me.default.parentDataProperty}`),n.var(Me.default.rootData,(0,xe._)`${Me.default.valCxt}.${Me.default.rootData}`),e.dynamicRef&&n.var(Me.default.dynamicAnchors,(0,xe._)`${Me.default.valCxt}.${Me.default.dynamicAnchors}`)},()=>{n.var(Me.default.instancePath,(0,xe._)`""`),n.var(Me.default.parentData,(0,xe._)`undefined`),n.var(Me.default.parentDataProperty,(0,xe._)`undefined`),n.var(Me.default.rootData,Me.default.data),e.dynamicRef&&n.var(Me.default.dynamicAnchors,(0,xe._)`{}`)})}function yW(n){const{schema:e,opts:t,gen:s}=n;HT(n,()=>{t.$comment&&e.$comment&&WT(n),SW(n),s.let(Me.default.vErrors,null),s.let(Me.default.errors,0),t.unevaluated&&vW(n),VT(n),xW(n)})}function vW(n){const{gen:e,validateName:t}=n;n.evaluated=e.const("evaluated",(0,xe._)`${t}.evaluated`),e.if((0,xe._)`${n.evaluated}.dynamicProps`,()=>e.assign((0,xe._)`${n.evaluated}.props`,(0,xe._)`undefined`)),e.if((0,xe._)`${n.evaluated}.dynamicItems`,()=>e.assign((0,xe._)`${n.evaluated}.items`,(0,xe._)`undefined`))}function Bk(n,e){const t=typeof n=="object"&&n[e.schemaId];return t&&(e.code.source||e.code.process)?(0,xe._)`/*# sourceURL=${t} */`:xe.nil}function bW(n,e){if(qT(n)&&(UT(n),BT(n))){wW(n,e);return}(0,zT.boolOrEmptySchema)(n,e)}function BT({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 qT(n){return typeof n.schema!="boolean"}function wW(n,e){const{schema:t,gen:s,opts:i}=n;i.$comment&&t.$comment&&WT(n),AW(n),kW(n);const r=s.const("_errs",Me.default.errors);VT(n,r),s.var(e,(0,xe._)`${r} === ${Me.default.errors}`)}function UT(n){(0,bo.checkUnknownRules)(n),_W(n)}function VT(n,e){if(n.opts.jtd)return qk(n,[],!1,e);const t=(0,Hk.getSchemaTypes)(n.schema),s=(0,Hk.coerceAndCheckDataType)(n,t);qk(n,t,!s,e)}function _W(n){const{schema:e,errSchemaPath:t,opts:s,self:i}=n;e.$ref&&s.ignoreKeywordsWithRef&&(0,bo.schemaHasRulesButRef)(e,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${t}"`)}function SW(n){const{schema:e,opts:t}=n;e.default!==void 0&&t.useDefaults&&t.strictSchema&&(0,bo.checkStrictMode)(n,"default is ignored in the schema root")}function AW(n){const e=n.schema[n.opts.schemaId];e&&(n.baseId=(0,fW.resolveUrl)(n.opts.uriResolver,n.baseId,e))}function kW(n){if(n.schema.$async&&!n.schemaEnv.$async)throw new Error("async schema in sync schema")}function WT({gen:n,schemaEnv:e,schema:t,errSchemaPath:s,opts:i}){const r=t.$comment;if(i.$comment===!0)n.code((0,xe._)`${Me.default.self}.logger.log(${r})`);else if(typeof i.$comment=="function"){const o=(0,xe.str)`${s}/$comment`,a=n.scopeValue("root",{ref:e.root});n.code((0,xe._)`${Me.default.self}.opts.$comment(${r}, ${o}, ${a}.schema)`)}}function xW(n){const{gen:e,schemaEnv:t,validateName:s,ValidationError:i,opts:r}=n;t.$async?e.if((0,xe._)`${Me.default.errors} === 0`,()=>e.return(Me.default.data),()=>e.throw((0,xe._)`new ${i}(${Me.default.vErrors})`)):(e.assign((0,xe._)`${s}.errors`,Me.default.vErrors),r.unevaluated&&EW(n),e.return((0,xe._)`${Me.default.errors} === 0`))}function EW({gen:n,evaluated:e,props:t,items:s}){t instanceof xe.Name&&n.assign((0,xe._)`${e}.props`,t),s instanceof xe.Name&&n.assign((0,xe._)`${e}.items`,s)}function qk(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,bo.schemaHasRulesButRef)(r,h))){i.block(()=>ZT(n,"$ref",h.all.$ref.definition));return}l.jtd||CW(n,e),i.block(()=>{for(const d of h.rules)u(d);u(h.post)});function u(d){(0,l1.shouldUseGroup)(r,d)&&(d.type?(i.if((0,zg.checkDataType)(d.type,o,l.strictNumbers)),Uk(n,d),e.length===1&&e[0]===d.type&&t&&(i.else(),(0,zg.reportTypeError)(n)),i.endIf()):Uk(n,d),a||i.if((0,xe._)`${Me.default.errors} === ${s||0}`))}}function Uk(n,e){const{gen:t,schema:s,opts:{useDefaults:i}}=n;i&&(0,dW.assignDefaults)(n,e.type),t.block(()=>{for(const r of e.rules)(0,l1.shouldUseRule)(s,r)&&ZT(n,r.keyword,r.definition,e.type)})}function CW(n,e){n.schemaEnv.meta||!n.opts.strictTypes||($W(n,e),n.opts.allowUnionTypes||TW(n,e),PW(n,n.dataTypes))}function $W(n,e){if(e.length){if(!n.dataTypes.length){n.dataTypes=e;return}e.forEach(t=>{GT(n.dataTypes,t)||c1(n,`type "${t}" not allowed by context "${n.dataTypes.join(",")}"`)}),MW(n,e)}}function TW(n,e){e.length>1&&!(e.length===2&&e.includes("null"))&&c1(n,"use allowUnionTypes to allow union type keyword")}function PW(n,e){const t=n.self.RULES.all;for(const s in t){const i=t[s];if(typeof i=="object"&&(0,l1.shouldUseRule)(n.schema,i)){const{type:r}=i.definition;r.length&&!r.some(o=>RW(e,o))&&c1(n,`missing type "${r.join(",")}" for keyword "${s}"`)}}}function RW(n,e){return n.includes(e)||e==="number"&&n.includes("integer")}function GT(n,e){return n.includes(e)||e==="integer"&&n.includes("number")}function MW(n,e){const t=[];for(const s of n.dataTypes)GT(e,s)?t.push(s):e.includes("integer")&&s==="number"&&t.push("integer");n.dataTypes=t}function c1(n,e){const t=n.schemaEnv.baseId+n.errSchemaPath;e+=` at "${t}" (strictTypes)`,(0,bo.checkStrictMode)(n,e,n.opts.strictTypes)}class KT{constructor(e,t,s){if((0,Ed.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,bo.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",XT(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Ed.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",Me.default.errors))}result(e,t,s){this.failResult((0,xe.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,xe.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,xe._)`${t} !== undefined && (${(0,xe.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?Hu.reportExtraError:Hu.reportError)(this,this.def.error,t)}$dataError(){(0,Hu.reportError)(this,this.def.$dataError||Hu.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Hu.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=xe.nil){this.gen.block(()=>{this.check$data(e,s),t()})}check$data(e=xe.nil,t=xe.nil){if(!this.$data)return;const{gen:s,schemaCode:i,schemaType:r,def:o}=this;s.if((0,xe.or)((0,xe._)`${i} === undefined`,t)),e!==xe.nil&&s.assign(e,!0),(r.length||o.validateSchema)&&(s.elseIf(this.invalid$data()),this.$dataError(),e!==xe.nil&&s.assign(e,!1)),s.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:s,def:i,it:r}=this;return(0,xe.or)(o(),a());function o(){if(s.length){if(!(t instanceof xe.Name))throw new Error("ajv implementation error");const l=Array.isArray(s)?s:[s];return(0,xe._)`${(0,zg.checkDataTypes)(l,t,r.opts.strictNumbers,zg.DataType.Wrong)}`}return xe.nil}function a(){if(i.validateSchema){const l=e.scopeValue("validate$data",{ref:i.validateSchema});return(0,xe._)`!${l}(${t})`}return xe.nil}}subschema(e,t){const s=(0,H0.getSubschema)(this.it,e);(0,H0.extendSubschemaData)(s,this.it,e),(0,H0.extendSubschemaMode)(s,e);const i={...this.it,...s,items:void 0,props:void 0};return bW(i,t),i}mergeEvaluated(e,t){const{it:s,gen:i}=this;s.opts.unevaluated&&(s.props!==!0&&e.props!==void 0&&(s.props=bo.mergeEvaluated.props(i,e.props,s.props,t)),s.items!==!0&&e.items!==void 0&&(s.items=bo.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,xe.Name)),!0}}Ki.KeywordCxt=KT;function ZT(n,e,t,s){const i=new KT(n,t,e);"code"in t?t.code(i,s):i.$data&&t.validate?(0,Ed.funcKeywordCode)(i,t):"macro"in t?(0,Ed.macroKeywordCode)(i,t):(t.compile||t.validate)&&(0,Ed.funcKeywordCode)(i,t)}const IW=/^\/(?:[^~]|~0|~1)*$/,OW=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function XT(n,{dataLevel:e,dataNames:t,dataPathArr:s}){let i,r;if(n==="")return Me.default.rootData;if(n[0]==="/"){if(!IW.test(n))throw new Error(`Invalid JSON-pointer: ${n}`);i=n,r=Me.default.rootData}else{const c=OW.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,xe._)`${r}${(0,xe.getProperty)((0,bo.unescapeJsonPointer)(c))}`,o=(0,xe._)`${o} && ${r}`);return o;function l(c,h){return`Cannot access ${c} ${h} levels up, current level is ${e}`}}Ki.getData=XT;var Ip={};Object.defineProperty(Ip,"__esModule",{value:!0});class NW extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}Ip.default=NW;var Ru={};Object.defineProperty(Ru,"__esModule",{value:!0});const B0=Vn;class LW extends Error{constructor(e,t,s,i){super(i||`can't resolve reference ${s} from id ${t}`),this.missingRef=(0,B0.resolveUrl)(e,t,s),this.missingSchema=(0,B0.normalizeId)((0,B0.getFullPath)(e,this.missingRef))}}Ru.default=LW;var Ms={};Object.defineProperty(Ms,"__esModule",{value:!0});Ms.resolveSchema=Ms.getCompilingSchema=Ms.resolveRef=Ms.compileSchema=Ms.SchemaEnv=void 0;const xi=qe,DW=Ip,Ha=Ir,Ui=Vn,Vk=be,FW=Ki;class i0{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,Ui.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={}}}Ms.SchemaEnv=i0;function h1(n){const e=YT.call(this,n);if(e)return e;const t=(0,Ui.getFullPath)(this.opts.uriResolver,n.root.baseId),{es5:s,lines:i}=this.opts.code,{ownProperties:r}=this.opts,o=new xi.CodeGen(this.scope,{es5:s,lines:i,ownProperties:r});let a;n.$async&&(a=o.scopeValue("Error",{ref:DW.default,code:(0,xi._)`require("ajv/dist/runtime/validation_error").default`}));const l=o.scopeName("validate");n.validateName=l;const c={gen:o,allErrors:this.opts.allErrors,data:Ha.default.data,parentData:Ha.default.parentData,parentDataProperty:Ha.default.parentDataProperty,dataNames:[Ha.default.data],dataPathArr:[xi.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:n.schema,code:(0,xi.stringify)(n.schema)}:{ref:n.schema}),validateName:l,ValidationError:a,schema:n.schema,schemaEnv:n,rootId:t,baseId:n.baseId||t,schemaPath:xi.nil,errSchemaPath:n.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,xi._)`""`,opts:this.opts,self:this};let h;try{this._compilations.add(n),(0,FW.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);const u=o.toString();h=`${o.scopeRefs(Ha.default.scope)}return ${u}`,this.opts.code.process&&(h=this.opts.code.process(h,n));const p=new Function(`${Ha.default.self}`,`${Ha.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 xi.Name?void 0:m,items:g instanceof xi.Name?void 0:g,dynamicProps:m instanceof xi.Name,dynamicItems:g instanceof xi.Name},p.source&&(p.source.evaluated=(0,xi.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)}}Ms.compileSchema=h1;function jW(n,e,t){var s;t=(0,Ui.resolveUrl)(this.opts.uriResolver,e,t);const i=n.refs[t];if(i)return i;let r=BW.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 i0({schema:o,schemaId:a,root:n,baseId:e}))}if(r!==void 0)return n.refs[t]=zW.call(this,r)}Ms.resolveRef=jW;function zW(n){return(0,Ui.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:h1.call(this,n)}function YT(n){for(const e of this._compilations)if(HW(e,n))return e}Ms.getCompilingSchema=YT;function HW(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function BW(n,e){let t;for(;typeof(t=this.refs[e])=="string";)e=t;return t||this.schemas[e]||r0.call(this,n,e)}function r0(n,e){const t=this.opts.uriResolver.parse(e),s=(0,Ui._getFullPath)(this.opts.uriResolver,t);let i=(0,Ui.getFullPath)(this.opts.uriResolver,n.baseId,void 0);if(Object.keys(n.schema).length>0&&s===i)return q0.call(this,t,n);const r=(0,Ui.normalizeId)(s),o=this.refs[r]||this.schemas[r];if(typeof o=="string"){const a=r0.call(this,n,o);return typeof(a==null?void 0:a.schema)!="object"?void 0:q0.call(this,t,a)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||h1.call(this,o),r===(0,Ui.normalizeId)(e)){const{schema:a}=o,{schemaId:l}=this.opts,c=a[l];return c&&(i=(0,Ui.resolveUrl)(this.opts.uriResolver,i,c)),new i0({schema:a,schemaId:l,root:n,baseId:i})}return q0.call(this,t,o)}}Ms.resolveSchema=r0;const qW=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function q0(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,Vk.unescapeFragment)(a)];if(l===void 0)return;t=l;const c=typeof t=="object"&&t[this.opts.schemaId];!qW.has(a)&&c&&(e=(0,Ui.resolveUrl)(this.opts.uriResolver,e,c))}let r;if(typeof t!="boolean"&&t.$ref&&!(0,Vk.schemaHasRulesButRef)(t,this.RULES)){const a=(0,Ui.resolveUrl)(this.opts.uriResolver,e,t.$ref);r=r0.call(this,s,a)}const{schemaId:o}=this.opts;if(r=r||new i0({schema:t,schemaId:o,root:s,baseId:e}),r.schema!==r.root.schema)return r}const UW="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",VW="Meta-schema for $data reference (JSON AnySchema extension proposal)",WW="object",GW=["$data"],KW={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},ZW=!1,XW={$id:UW,description:VW,type:WW,required:GW,properties:KW,additionalProperties:ZW};var u1={};Object.defineProperty(u1,"__esModule",{value:!0});const JT=lT;JT.code='require("ajv/dist/runtime/uri").default';u1.default=JT;(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=Ki;Object.defineProperty(n,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var t=qe;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=Ip,i=Ru,r=hc,o=Ms,a=qe,l=Vn,c=vn,h=be,u=XW,d=u1,p=(B,P)=>new RegExp(B,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 _(B){var P,N,M,b,x,I,G,Y,ue,oe,H,U,J,ie,he,_e,Je,Ct,pt,kt,ot,kn,$t,Jn,On;const nn=B.strict,hn=(P=B.code)===null||P===void 0?void 0:P.optimize,un=hn===!0||hn===void 0?1:hn||0,sn=(M=(N=B.code)===null||N===void 0?void 0:N.regExp)!==null&&M!==void 0?M:p,us=(b=B.uriResolver)!==null&&b!==void 0?b:d.default;return{strictSchema:(I=(x=B.strictSchema)!==null&&x!==void 0?x:nn)!==null&&I!==void 0?I:!0,strictNumbers:(Y=(G=B.strictNumbers)!==null&&G!==void 0?G:nn)!==null&&Y!==void 0?Y:!0,strictTypes:(oe=(ue=B.strictTypes)!==null&&ue!==void 0?ue:nn)!==null&&oe!==void 0?oe:"log",strictTuples:(U=(H=B.strictTuples)!==null&&H!==void 0?H:nn)!==null&&U!==void 0?U:"log",strictRequired:(ie=(J=B.strictRequired)!==null&&J!==void 0?J:nn)!==null&&ie!==void 0?ie:!1,code:B.code?{...B.code,optimize:un,regExp:sn}:{optimize:un,regExp:sn},loopRequired:(he=B.loopRequired)!==null&&he!==void 0?he:w,loopEnum:(_e=B.loopEnum)!==null&&_e!==void 0?_e:w,meta:(Je=B.meta)!==null&&Je!==void 0?Je:!0,messages:(Ct=B.messages)!==null&&Ct!==void 0?Ct:!0,inlineRefs:(pt=B.inlineRefs)!==null&&pt!==void 0?pt:!0,schemaId:(kt=B.schemaId)!==null&&kt!==void 0?kt:"$id",addUsedSchema:(ot=B.addUsedSchema)!==null&&ot!==void 0?ot:!0,validateSchema:(kn=B.validateSchema)!==null&&kn!==void 0?kn:!0,validateFormats:($t=B.validateFormats)!==null&&$t!==void 0?$t:!0,unicodeRegExp:(Jn=B.unicodeRegExp)!==null&&Jn!==void 0?Jn:!0,int32range:(On=B.int32range)!==null&&On!==void 0?On:!0,uriResolver:us}}class k{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=z(P.logger);const b=P.validateFormats;P.validateFormats=!1,this.RULES=(0,r.getRules)(),A.call(this,v,P,"NOT SUPPORTED"),A.call(this,y,P,"DEPRECATED","warn"),this._metaOpts=q.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(oe,H){await x.call(this,oe.$schema);const U=this._addSchema(oe,H);return U.validate||I.call(this,U)}async function x(oe){oe&&!this.getSchema(oe)&&await b.call(this,{$ref:oe},!0)}async function I(oe){try{return this._compileSchemaEnv(oe)}catch(H){if(!(H instanceof i.default))throw H;return G.call(this,H),await Y.call(this,H.missingSchema),I.call(this,oe)}}function G({missingSchema:oe,missingRef:H}){if(this.refs[oe])throw new Error(`AnySchema ${oe} is loaded but ${H} cannot be resolved`)}async function Y(oe){const H=await ue.call(this,oe);this.refs[oe]||await x.call(this,H.$schema),this.refs[oe]||this.addSchema(H,oe,N)}async function ue(oe){const H=this._loading[oe];if(H)return H;try{return await(this._loading[oe]=M(oe))}finally{delete this._loading[oe]}}}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(L.call(this,M,N),!N)return(0,h.eachItem)(M,x=>ee.call(this,x)),this;te.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=>ee.call(this,x,b):x=>b.type.forEach(I=>ee.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 G of x)I=I[G];for(const G in M){const Y=M[G];if(typeof Y!="object")continue;const{$data:ue}=Y.definition,oe=I[G];ue&&oe&&(I[G]=ge(oe))}}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:G}=this.opts;if(typeof P=="object")I=P[G];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 Y=this._cache.get(P);if(Y!==void 0)return Y;M=(0,l.normalizeId)(I||M);const ue=l.getSchemaRefs.call(this,P,M);return Y=new o.SchemaEnv({schema:P,schemaId:G,meta:N,baseId:M,localRefs:ue}),this._cache.set(Y.schema,Y),x&&!M.startsWith("#")&&(M&&this._checkUnique(M),this.refs[M]=Y),b&&this.validateSchema(P,!0),Y}_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}}}k.ValidationError=s.default,k.MissingRefError=i.default,n.default=k;function A(B,P,N,M="error"){for(const b in B){const x=b;x in P&&this.logger[M](`${N}: option ${b}. ${B[x]}`)}}function $(B){return B=(0,l.normalizeId)(B),this.schemas[B]||this.refs[B]}function E(){const B=this.opts.schemas;if(B)if(Array.isArray(B))this.addSchema(B);else for(const P in B)this.addSchema(B[P],P)}function O(){for(const B in this.opts.formats){const P=this.opts.formats[B];P&&this.addFormat(B,P)}}function F(B){if(Array.isArray(B)){this.addVocabulary(B);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const P in B){const N=B[P];N.keyword||(N.keyword=P),this.addKeyword(N)}}function q(){const B={...this.opts};for(const P of m)delete B[P];return B}const D={log(){},warn(){},error(){}};function z(B){if(B===!1)return D;if(B===void 0)return console;if(B.log&&B.warn&&B.error)return B;throw new Error("logger must implement log, warn and error methods")}const K=/^[a-z_$][a-z0-9_$:-]*$/i;function L(B,P){const{RULES:N}=this;if((0,h.eachItem)(B,M=>{if(N.keywords[M])throw new Error(`Keyword ${M} is already defined`);if(!K.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 ee(B,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:Y})=>Y===N);if(I||(I={type:N,rules:[]},x.rules.push(I)),x.keywords[B]=!0,!P)return;const G={keyword:B,definition:{...P,type:(0,c.getJSONTypes)(P.type),schemaType:(0,c.getJSONTypes)(P.schemaType)}};P.before?Q.call(this,I,G,P.before):I.rules.push(G),x.all[B]=G,(M=P.implements)===null||M===void 0||M.forEach(Y=>this.addKeyword(Y))}function Q(B,P,N){const M=B.rules.findIndex(b=>b.keyword===N);M>=0?B.rules.splice(M,0,P):(B.rules.push(P),this.logger.warn(`rule ${N} is not defined`))}function te(B){let{metaSchema:P}=B;P!==void 0&&(B.$data&&this.opts.$data&&(P=ge(P)),B.validateSchema=this.compile(P,!0))}const ae={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function ge(B){return{anyOf:[B,ae]}}})(wT);var d1={},f1={},p1={};Object.defineProperty(p1,"__esModule",{value:!0});const YW={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};p1.default=YW;var uc={};Object.defineProperty(uc,"__esModule",{value:!0});uc.callRef=uc.getValidate=void 0;const JW=Ru,Wk=Ge,Ts=qe,Mc=Ir,Gk=Ms,sm=be,QW={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=Gk.resolveRef.call(l,c,i,t);if(h===void 0)throw new JW.default(s.opts.uriResolver,i,t);if(h instanceof Gk.SchemaEnv)return d(h);return p(h);function u(){if(r===c)return Bm(n,o,r,r.$async);const m=e.scopeValue("root",{ref:c});return Bm(n,(0,Ts._)`${m}.validate`,c,c.$async)}function d(m){const g=QT(n,m);Bm(n,g,m,m.$async)}function p(m){const g=e.scopeValue("schema",a.code.source===!0?{ref:m,code:(0,Ts.stringify)(m)}:{ref:m}),v=e.name("valid"),y=n.subschema({schema:m,dataTypes:[],schemaPath:Ts.nil,topSchemaRef:g,errSchemaPath:t},v);n.mergeEvaluated(y),n.ok(v)}}};function QT(n,e){const{gen:t}=n;return e.validate?t.scopeValue("validate",{ref:e.validate}):(0,Ts._)`${t.scopeValue("wrapper",{ref:e})}.validate`}uc.getValidate=QT;function Bm(n,e,t,s){const{gen:i,it:r}=n,{allErrors:o,schemaEnv:a,opts:l}=r,c=l.passContext?Mc.default.this:Ts.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,Ts._)`await ${(0,Wk.callValidateCode)(n,e,c)}`),p(e),o||i.assign(m,!0)},g=>{i.if((0,Ts._)`!(${g} instanceof ${r.ValidationError})`,()=>i.throw(g)),d(g),o||i.assign(m,!1)}),n.ok(m)}function u(){n.result((0,Wk.callValidateCode)(n,e,c),()=>p(e),()=>d(e))}function d(m){const g=(0,Ts._)`${m}.errors`;i.assign(Mc.default.vErrors,(0,Ts._)`${Mc.default.vErrors} === null ? ${g} : ${Mc.default.vErrors}.concat(${g})`),i.assign(Mc.default.errors,(0,Ts._)`${Mc.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=sm.mergeEvaluated.props(i,v.props,r.props));else{const y=i.var("props",(0,Ts._)`${m}.evaluated.props`);r.props=sm.mergeEvaluated.props(i,y,r.props,Ts.Name)}if(r.items!==!0)if(v&&!v.dynamicItems)v.items!==void 0&&(r.items=sm.mergeEvaluated.items(i,v.items,r.items));else{const y=i.var("items",(0,Ts._)`${m}.evaluated.items`);r.items=sm.mergeEvaluated.items(i,y,r.items,Ts.Name)}}}uc.callRef=Bm;uc.default=QW;Object.defineProperty(f1,"__esModule",{value:!0});const e4=p1,t4=uc,n4=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",e4.default,t4.default];f1.default=n4;var m1={},g1={};Object.defineProperty(g1,"__esModule",{value:!0});const Hg=qe,Ro=Hg.operators,Bg={maximum:{okStr:"<=",ok:Ro.LTE,fail:Ro.GT},minimum:{okStr:">=",ok:Ro.GTE,fail:Ro.LT},exclusiveMaximum:{okStr:"<",ok:Ro.LT,fail:Ro.GTE},exclusiveMinimum:{okStr:">",ok:Ro.GT,fail:Ro.LTE}},s4={message:({keyword:n,schemaCode:e})=>(0,Hg.str)`must be ${Bg[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,Hg._)`{comparison: ${Bg[n].okStr}, limit: ${e}}`},i4={keyword:Object.keys(Bg),type:"number",schemaType:"number",$data:!0,error:s4,code(n){const{keyword:e,data:t,schemaCode:s}=n;n.fail$data((0,Hg._)`${t} ${Bg[e].fail} ${s} || isNaN(${t})`)}};g1.default=i4;var y1={};Object.defineProperty(y1,"__esModule",{value:!0});const Cd=qe,r4={message:({schemaCode:n})=>(0,Cd.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,Cd._)`{multipleOf: ${n}}`},o4={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:r4,code(n){const{gen:e,data:t,schemaCode:s,it:i}=n,r=i.opts.multipleOfPrecision,o=e.let("res"),a=r?(0,Cd._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${r}`:(0,Cd._)`${o} !== parseInt(${o})`;n.fail$data((0,Cd._)`(${s} === 0 || (${o} = ${t}/${s}, ${a}))`)}};y1.default=o4;var v1={},b1={};Object.defineProperty(b1,"__esModule",{value:!0});function eP(n){const e=n.length;let t=0,s=0,i;for(;s=55296&&i<=56319&&s(0,tl._)`{limit: ${n}}`},h4={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:c4,code(n){const{keyword:e,data:t,schemaCode:s,it:i}=n,r=e==="maxLength"?tl.operators.GT:tl.operators.LT,o=i.opts.unicode===!1?(0,tl._)`${t}.length`:(0,tl._)`${(0,a4.useFunc)(n.gen,l4.default)}(${t})`;n.fail$data((0,tl._)`${o} ${r} ${s}`)}};v1.default=h4;var w1={};Object.defineProperty(w1,"__esModule",{value:!0});const u4=Ge,d4=be,Xc=qe,f4={message:({schemaCode:n})=>(0,Xc.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,Xc._)`{pattern: ${n}}`},p4={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:f4,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,Xc._)`new RegExp`:(0,d4.useFunc)(e,l),h=e.let("valid");e.try(()=>e.assign(h,(0,Xc._)`${c}(${r}, ${a}).test(${t})`),()=>e.assign(h,!1)),n.fail$data((0,Xc._)`!${h}`)}else{const l=(0,u4.usePattern)(n,i);n.fail$data((0,Xc._)`!${l}.test(${t})`)}}};w1.default=p4;var _1={};Object.defineProperty(_1,"__esModule",{value:!0});const $d=qe,m4={message({keyword:n,schemaCode:e}){const t=n==="maxProperties"?"more":"fewer";return(0,$d.str)`must NOT have ${t} than ${e} properties`},params:({schemaCode:n})=>(0,$d._)`{limit: ${n}}`},g4={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:m4,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxProperties"?$d.operators.GT:$d.operators.LT;n.fail$data((0,$d._)`Object.keys(${t}).length ${i} ${s}`)}};_1.default=g4;var S1={};Object.defineProperty(S1,"__esModule",{value:!0});const Bu=Ge,Td=qe,y4=be,v4={message:({params:{missingProperty:n}})=>(0,Td.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,Td._)`{missingProperty: ${n}}`},b4={keyword:"required",type:"object",schemaType:"array",$data:!0,error:v4,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,y4.checkStrictMode)(o,y,o.opts.strictRequired)}}function c(){if(l||r)n.block$data(Td.nil,u);else for(const p of t)(0,Bu.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,Bu.checkMissingProp)(n,t,p)),(0,Bu.reportMissingProp)(n,p),e.else()}function u(){e.forOf("prop",s,p=>{n.setParams({missingProperty:p}),e.if((0,Bu.noPropertyInData)(e,i,p,a.ownProperties),()=>n.error())})}function d(p,m){n.setParams({missingProperty:p}),e.forOf(p,s,()=>{e.assign(m,(0,Bu.propertyInData)(e,i,p,a.ownProperties)),e.if((0,Td.not)(m),()=>{n.error(),e.break()})},Td.nil)}}};S1.default=b4;var A1={};Object.defineProperty(A1,"__esModule",{value:!0});const Pd=qe,w4={message({keyword:n,schemaCode:e}){const t=n==="maxItems"?"more":"fewer";return(0,Pd.str)`must NOT have ${t} than ${e} items`},params:({schemaCode:n})=>(0,Pd._)`{limit: ${n}}`},_4={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:w4,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxItems"?Pd.operators.GT:Pd.operators.LT;n.fail$data((0,Pd._)`${t}.length ${i} ${s}`)}};A1.default=_4;var k1={},Op={};Object.defineProperty(Op,"__esModule",{value:!0});const tP=Xy;tP.code='require("ajv/dist/runtime/equal").default';Op.default=tP;Object.defineProperty(k1,"__esModule",{value:!0});const U0=vn,Dn=qe,S4=be,A4=Op,k4={message:({params:{i:n,j:e}})=>(0,Dn.str)`must NOT have duplicate items (items ## ${e} and ${n} are identical)`,params:({params:{i:n,j:e}})=>(0,Dn._)`{i: ${n}, j: ${e}}`},x4={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:k4,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,U0.getSchemaTypes)(r.items):[];n.block$data(l,h,(0,Dn._)`${o} === false`),n.ok(l);function h(){const m=e.let("i",(0,Dn._)`${t}.length`),g=e.let("j");n.setParams({i:m,j:g}),e.assign(l,!0),e.if((0,Dn._)`${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,U0.checkDataTypes)(c,v,a.opts.strictNumbers,U0.DataType.Wrong),w=e.const("indices",(0,Dn._)`{}`);e.for((0,Dn._)`;${m}--;`,()=>{e.let(v,(0,Dn._)`${t}[${m}]`),e.if(y,(0,Dn._)`continue`),c.length>1&&e.if((0,Dn._)`typeof ${v} == "string"`,(0,Dn._)`${v} += "_"`),e.if((0,Dn._)`typeof ${w}[${v}] == "number"`,()=>{e.assign(g,(0,Dn._)`${w}[${v}]`),n.error(),e.assign(l,!1).break()}).code((0,Dn._)`${w}[${v}] = ${m}`)})}function p(m,g){const v=(0,S4.useFunc)(e,A4.default),y=e.name("outer");e.label(y).for((0,Dn._)`;${m}--;`,()=>e.for((0,Dn._)`${g} = ${m}; ${g}--;`,()=>e.if((0,Dn._)`${v}(${t}[${m}], ${t}[${g}])`,()=>{n.error(),e.assign(l,!1).break(y)})))}}};k1.default=x4;var x1={};Object.defineProperty(x1,"__esModule",{value:!0});const Yv=qe,E4=be,C4=Op,$4={message:"must be equal to constant",params:({schemaCode:n})=>(0,Yv._)`{allowedValue: ${n}}`},T4={keyword:"const",$data:!0,error:$4,code(n){const{gen:e,data:t,$data:s,schemaCode:i,schema:r}=n;s||r&&typeof r=="object"?n.fail$data((0,Yv._)`!${(0,E4.useFunc)(e,C4.default)}(${t}, ${i})`):n.fail((0,Yv._)`${r} !== ${t}`)}};x1.default=T4;var E1={};Object.defineProperty(E1,"__esModule",{value:!0});const td=qe,P4=be,R4=Op,M4={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,td._)`{allowedValues: ${n}}`},I4={keyword:"enum",schemaType:"array",$data:!0,error:M4,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,P4.useFunc)(e,R4.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,td.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,td._)`${c()}(${t}, ${p})`,()=>e.assign(h,!0).break()))}function d(p,m){const g=i[m];return typeof g=="object"&&g!==null?(0,td._)`${c()}(${t}, ${p}[${m}])`:(0,td._)`${t} === ${g}`}}};E1.default=I4;Object.defineProperty(m1,"__esModule",{value:!0});const O4=g1,N4=y1,L4=v1,D4=w1,F4=_1,j4=S1,z4=A1,H4=k1,B4=x1,q4=E1,U4=[O4.default,N4.default,L4.default,D4.default,F4.default,j4.default,z4.default,H4.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},B4.default,q4.default];m1.default=U4;var C1={},Mu={};Object.defineProperty(Mu,"__esModule",{value:!0});Mu.validateAdditionalItems=void 0;const nl=qe,Jv=be,V4={message:({params:{len:n}})=>(0,nl.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,nl._)`{limit: ${n}}`},W4={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:V4,code(n){const{parentSchema:e,it:t}=n,{items:s}=e;if(!Array.isArray(s)){(0,Jv.checkStrictMode)(t,'"additionalItems" is ignored when "items" is not an array of schemas');return}nP(n,s)}};function nP(n,e){const{gen:t,schema:s,data:i,keyword:r,it:o}=n;o.items=!0;const a=t.const("len",(0,nl._)`${i}.length`);if(s===!1)n.setParams({len:e.length}),n.pass((0,nl._)`${a} <= ${e.length}`);else if(typeof s=="object"&&!(0,Jv.alwaysValidSchema)(o,s)){const c=t.var("valid",(0,nl._)`${a} <= ${e.length}`);t.if((0,nl.not)(c),()=>l(c)),n.ok(c)}function l(c){t.forRange("i",e.length,a,h=>{n.subschema({keyword:r,dataProp:h,dataPropType:Jv.Type.Num},c),o.allErrors||t.if((0,nl.not)(c),()=>t.break())})}}Mu.validateAdditionalItems=nP;Mu.default=W4;var $1={},Iu={};Object.defineProperty(Iu,"__esModule",{value:!0});Iu.validateTuple=void 0;const Kk=qe,qm=be,G4=Ge,K4={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){const{schema:e,it:t}=n;if(Array.isArray(e))return sP(n,"additionalItems",e);t.items=!0,!(0,qm.alwaysValidSchema)(t,e)&&n.ok((0,G4.validateArray)(n))}};function sP(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=qm.mergeEvaluated.items(s,t.length,a.items));const l=s.name("valid"),c=s.const("len",(0,Kk._)`${r}.length`);t.forEach((u,d)=>{(0,qm.alwaysValidSchema)(a,u)||(s.if((0,Kk._)`${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,qm.checkStrictMode)(a,v,d.strictTuples)}}}Iu.validateTuple=sP;Iu.default=K4;Object.defineProperty($1,"__esModule",{value:!0});const Z4=Iu,X4={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,Z4.validateTuple)(n,"items")};$1.default=X4;var T1={};Object.defineProperty(T1,"__esModule",{value:!0});const Zk=qe,Y4=be,J4=Ge,Q4=Mu,e5={message:({params:{len:n}})=>(0,Zk.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Zk._)`{limit: ${n}}`},t5={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:e5,code(n){const{schema:e,parentSchema:t,it:s}=n,{prefixItems:i}=t;s.items=!0,!(0,Y4.alwaysValidSchema)(s,e)&&(i?(0,Q4.validateAdditionalItems)(n,i):n.ok((0,J4.validateArray)(n)))}};T1.default=t5;var P1={};Object.defineProperty(P1,"__esModule",{value:!0});const ci=qe,im=be,n5={message:({params:{min:n,max:e}})=>e===void 0?(0,ci.str)`must contain at least ${n} valid item(s)`:(0,ci.str)`must contain at least ${n} and no more than ${e} valid item(s)`,params:({params:{min:n,max:e}})=>e===void 0?(0,ci._)`{minContains: ${n}}`:(0,ci._)`{minContains: ${n}, maxContains: ${e}}`},s5={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:n5,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,ci._)`${i}.length`);if(n.setParams({min:o,max:a}),a===void 0&&o===0){(0,im.checkStrictMode)(r,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,im.checkStrictMode)(r,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,im.alwaysValidSchema)(r,t)){let g=(0,ci._)`${h} >= ${o}`;a!==void 0&&(g=(0,ci._)`${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,ci._)`${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:im.Type.Num,compositeRule:!0},g),v()})}function m(g){e.code((0,ci._)`${g}++`),a===void 0?e.if((0,ci._)`${g} >= ${o}`,()=>e.assign(u,!0).break()):(e.if((0,ci._)`${g} > ${a}`,()=>e.assign(u,!1).break()),o===1?e.assign(u,!0):e.if((0,ci._)`${g} >= ${o}`,()=>e.assign(u,!0)))}}};P1.default=s5;var iP={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.validateSchemaDeps=n.validatePropertyDeps=n.error=void 0;const e=qe,t=be,s=Ge;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 R1={};Object.defineProperty(R1,"__esModule",{value:!0});const rP=qe,i5=be,r5={message:"property name must be valid",params:({params:n})=>(0,rP._)`{propertyName: ${n.propertyName}}`},o5={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:r5,code(n){const{gen:e,schema:t,data:s,it:i}=n;if((0,i5.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,rP.not)(r),()=>{n.error(!0),i.allErrors||e.break()})}),n.ok(r)}};R1.default=o5;var o0={};Object.defineProperty(o0,"__esModule",{value:!0});const rm=Ge,Ci=qe,a5=Ir,om=be,l5={message:"must NOT have additional properties",params:({params:n})=>(0,Ci._)`{additionalProperty: ${n.additionalProperty}}`},c5={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:l5,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,om.alwaysValidSchema)(o,t))return;const c=(0,rm.allSchemaProperties)(s.properties),h=(0,rm.allSchemaProperties)(s.patternProperties);u(),n.ok((0,Ci._)`${r} === ${a5.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,om.schemaRefOrVal)(o,s.properties,"properties");y=(0,rm.isOwnProperty)(e,w,v)}else c.length?y=(0,Ci.or)(...c.map(w=>(0,Ci._)`${v} === ${w}`)):y=Ci.nil;return h.length&&(y=(0,Ci.or)(y,...h.map(w=>(0,Ci._)`${(0,rm.usePattern)(n,w)}.test(${v})`))),(0,Ci.not)(y)}function p(v){e.code((0,Ci._)`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,om.alwaysValidSchema)(o,t)){const y=e.name("valid");l.removeAdditional==="failing"?(g(v,y,!1),e.if((0,Ci.not)(y),()=>{n.reset(),p(v)})):(g(v,y),a||e.if((0,Ci.not)(y),()=>e.break()))}}function g(v,y,w){const _={keyword:"additionalProperties",dataProp:v,dataPropType:om.Type.Str};w===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(_,y)}}};o0.default=c5;var M1={};Object.defineProperty(M1,"__esModule",{value:!0});const h5=Ki,Xk=Ge,V0=be,Yk=o0,u5={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&&Yk.default.code(new h5.KeywordCxt(r,Yk.default,"additionalProperties"));const o=(0,Xk.allSchemaProperties)(t);for(const u of o)r.definedProperties.add(u);r.opts.unevaluated&&o.length&&r.props!==!0&&(r.props=V0.mergeEvaluated.props(e,(0,V0.toHash)(o),r.props));const a=o.filter(u=>!(0,V0.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,Xk.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)}}};M1.default=u5;var I1={};Object.defineProperty(I1,"__esModule",{value:!0});const Jk=Ge,am=qe,Qk=be,ex=be,d5={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,Jk.allSchemaProperties)(t),l=a.filter(g=>(0,Qk.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 am.Name)&&(r.props=(0,ex.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,Qk.checkStrictMode)(r,`property ${v} matches pattern ${g} (use allowMatchingProperties)`)}function m(g){e.forIn("key",s,v=>{e.if((0,am._)`${(0,Jk.usePattern)(n,g)}.test(${v})`,()=>{const y=l.includes(g);y||n.subschema({keyword:"patternProperties",schemaProp:g,dataProp:v,dataPropType:ex.Type.Str},h),r.opts.unevaluated&&u!==!0?e.assign((0,am._)`${u}[${v}]`,!0):!y&&!r.allErrors&&e.if((0,am.not)(h),()=>e.break())})})}}};I1.default=d5;var O1={};Object.defineProperty(O1,"__esModule",{value:!0});const f5=be,p5={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){const{gen:e,schema:t,it:s}=n;if((0,f5.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=p5;var N1={};Object.defineProperty(N1,"__esModule",{value:!0});const m5=Ge,g5={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:m5.validateUnion,error:{message:"must match a schema in anyOf"}};N1.default=g5;var L1={};Object.defineProperty(L1,"__esModule",{value:!0});const Um=qe,y5=be,v5={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,Um._)`{passingSchemas: ${n.passing}}`},b5={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:v5,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,y5.alwaysValidSchema)(i,h)?e.var(l,!0):d=n.subschema({keyword:"oneOf",schemaProp:u,compositeRule:!0},l),u>0&&e.if((0,Um._)`${l} && ${o}`).assign(o,!1).assign(a,(0,Um._)`[${a}, ${u}]`).else(),e.if(l,()=>{e.assign(o,!0),e.assign(a,u),d&&n.mergeEvaluated(d,Um.Name)})})}}};L1.default=b5;var D1={};Object.defineProperty(D1,"__esModule",{value:!0});const w5=be,_5={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,w5.alwaysValidSchema)(s,r))return;const a=n.subschema({keyword:"allOf",schemaProp:o},i);n.ok(i),n.mergeEvaluated(a)})}};D1.default=_5;var F1={};Object.defineProperty(F1,"__esModule",{value:!0});const qg=qe,oP=be,S5={message:({params:n})=>(0,qg.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,qg._)`{failingKeyword: ${n.ifClause}}`},A5={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:S5,code(n){const{gen:e,parentSchema:t,it:s}=n;t.then===void 0&&t.else===void 0&&(0,oP.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const i=tx(s,"then"),r=tx(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,qg.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,qg._)`${h}`):n.setParams({ifClause:h})}}}};function tx(n,e){const t=n.schema[e];return t!==void 0&&!(0,oP.alwaysValidSchema)(n,t)}F1.default=A5;var j1={};Object.defineProperty(j1,"__esModule",{value:!0});const k5=be,x5={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:t}){e.if===void 0&&(0,k5.checkStrictMode)(t,`"${n}" without "if" is ignored`)}};j1.default=x5;Object.defineProperty(C1,"__esModule",{value:!0});const E5=Mu,C5=$1,$5=Iu,T5=T1,P5=P1,R5=iP,M5=R1,I5=o0,O5=M1,N5=I1,L5=O1,D5=N1,F5=L1,j5=D1,z5=F1,H5=j1;function B5(n=!1){const e=[L5.default,D5.default,F5.default,j5.default,z5.default,H5.default,M5.default,I5.default,R5.default,O5.default,N5.default];return n?e.push(C5.default,T5.default):e.push(E5.default,$5.default),e.push(P5.default),e}C1.default=B5;var z1={},H1={};Object.defineProperty(H1,"__esModule",{value:!0});const Xt=qe,q5={message:({schemaCode:n})=>(0,Xt.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,Xt._)`{format: ${n}}`},U5={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:q5,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,Xt._)`${m}[${o}]`),v=t.let("fType"),y=t.let("format");t.if((0,Xt._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>t.assign(v,(0,Xt._)`${g}.type || "string"`).assign(y,(0,Xt._)`${g}.validate`),()=>t.assign(v,(0,Xt._)`"string"`).assign(y,g)),n.fail$data((0,Xt.or)(w(),_()));function w(){return l.strictSchema===!1?Xt.nil:(0,Xt._)`${o} && !${y}`}function _(){const k=h.$async?(0,Xt._)`(${g}.async ? await ${y}(${s}) : ${y}(${s}))`:(0,Xt._)`${y}(${s})`,A=(0,Xt._)`(typeof ${y} == "function" ? ${k} : ${y}.test(${s}))`;return(0,Xt._)`${y} && ${y} !== true && ${v} === ${e} && !${A}`}}function p(){const m=u.formats[r];if(!m){w();return}if(m===!0)return;const[g,v,y]=_(m);g===e&&n.pass(k());function w(){if(l.strictSchema===!1){u.logger.warn(A());return}throw new Error(A());function A(){return`unknown format "${r}" ignored in schema at path "${c}"`}}function _(A){const $=A instanceof RegExp?(0,Xt.regexpCode)(A):l.code.formats?(0,Xt._)`${l.code.formats}${(0,Xt.getProperty)(r)}`:void 0,E=t.scopeValue("formats",{key:r,ref:A,code:$});return typeof A=="object"&&!(A instanceof RegExp)?[A.type||"string",A.validate,(0,Xt._)`${E}.validate`]:["string",A,E]}function k(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!h.$async)throw new Error("async format in sync schema");return(0,Xt._)`await ${y}(${s})`}return typeof v=="function"?(0,Xt._)`${y}(${s})`:(0,Xt._)`${y}.test(${s})`}}}};H1.default=U5;Object.defineProperty(z1,"__esModule",{value:!0});const V5=H1,W5=[V5.default];z1.default=W5;var pu={};Object.defineProperty(pu,"__esModule",{value:!0});pu.contentVocabulary=pu.metadataVocabulary=void 0;pu.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];pu.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];Object.defineProperty(d1,"__esModule",{value:!0});const G5=f1,K5=m1,Z5=C1,X5=z1,nx=pu,Y5=[G5.default,K5.default,(0,Z5.default)(),X5.default,nx.metadataVocabulary,nx.contentVocabulary];d1.default=Y5;var B1={},a0={};Object.defineProperty(a0,"__esModule",{value:!0});a0.DiscrError=void 0;var sx;(function(n){n.Tag="tag",n.Mapping="mapping"})(sx||(a0.DiscrError=sx={}));Object.defineProperty(B1,"__esModule",{value:!0});const Lc=qe,Qv=a0,ix=Ms,J5=Ru,Q5=be,eG={message:({params:{discrError:n,tagName:e}})=>n===Qv.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:t}})=>(0,Lc._)`{error: ${n}, tag: ${t}, tagValue: ${e}}`},tG={keyword:"discriminator",type:"object",schemaType:"object",error:eG,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,Lc._)`${t}${(0,Lc.getProperty)(a)}`);e.if((0,Lc._)`typeof ${c} == "string"`,()=>h(),()=>n.error(!1,{discrError:Qv.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,Lc._)`${c} === ${m}`),e.assign(l,u(p[m]));e.else(),n.error(!1,{discrError:Qv.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,Lc.Name),m}function d(){var p;const m={},g=y(i);let v=!0;for(let k=0;kthis.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=Ki;Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return c.KeywordCxt}});var h=qe;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=Ip;Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return u.default}});var d=Ru;Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return d.default}})})(Wv,Wv.exports);var cG=Wv.exports;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.formatLimitDefinition=void 0;const e=cG,t=qe,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}),k=l.const("fmt",(0,t._)`${_}[${g.schemaCode}]`);a.fail$data((0,t.or)((0,t._)`typeof ${k} != "object"`,(0,t._)`${k} instanceof RegExp`,(0,t._)`typeof ${k}.compare != "function"`,w(k)))}function y(){const _=g.schema,k=m.formats[_];if(!k||k===!0)return;if(typeof k!="object"||k instanceof RegExp||typeof k.compare!="function")throw new Error(`"${u}": format "${_}" does not define "compare" function`);const A=l.scopeValue("formats",{key:_,ref:k,code:p.code.formats?(0,t._)`${p.code.formats}${(0,t.getProperty)(_)}`:void 0});a.fail$data(w(A))}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})(bT);(function(n,e){Object.defineProperty(e,"__esModule",{value:!0});const t=vT,s=bT,i=qe,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})(Vv,Vv.exports);var hG=Vv.exports;const uG=k_(hG);function dG(){const n=new YV({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return uG(n),n}class fG{constructor(e){this._ajv=e??dG()}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 pG{constructor(e){this._client=e}async*callToolStream(e,t=oc,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 Te(Oe.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 Te(Oe.InvalidParams,`Structured content does not match the tool's output schema: ${h.errorMessage}`)};return}}catch(h){if(h instanceof Te){yield{type:"error",error:h};return}yield{type:"error",error:new Te(Oe.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 mG(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 gG(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 Vm(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&&Vm(r,t[i])}}if(Array.isArray(n.anyOf))for(const t of n.anyOf)typeof t!="boolean"&&Vm(t,e);if(Array.isArray(n.oneOf))for(const t of n.oneOf)typeof t!="boolean"&&Vm(t,e)}}function yG(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 vG extends E${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 fG,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",aS,e.tools,async()=>(await this.listTools()).tools),e.prompts&&((r=(i=this._serverCapabilities)==null?void 0:i.prompts)!=null&&r.listChanged)&&this._setupListChangedHandler("prompts",iS,e.prompts,async()=>(await this.listPrompts()).prompts),e.resources&&((a=(o=this._serverCapabilities)==null?void 0:o.resources)!=null&&a.listChanged)&&this._setupListChangedHandler("resources",Q_,e.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new pG(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=eH(this._capabilities,e)}setRequestHandler(e,t){const s=k$(e),i=s==null?void 0:s.method;if(!i)throw new Error("Schema is missing a method literal");const r=x$(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=Oo(_$,l);if(!h.success){const k=h.error instanceof Error?h.error.message:String(h.error);throw new Te(Oe.InvalidParams,`Invalid elicitation request: ${k}`)}const{params:u}=h.data;u.mode=u.mode??"form";const{supportsFormMode:d,supportsUrlMode:p}=yG(this._capabilities.elicitation);if(u.mode==="form"&&!d)throw new Te(Oe.InvalidParams,"Client does not support form-mode elicitation requests");if(u.mode==="url"&&!p)throw new Te(Oe.InvalidParams,"Client does not support URL-mode elicitation requests");const m=await Promise.resolve(t(l,c));if(u.task){const k=Oo(Bd,m);if(!k.success){const A=k.error instanceof Error?k.error.message:String(k.error);throw new Te(Oe.InvalidParams,`Invalid task creation result: ${A}`)}return k.data}const g=Oo(S$,m);if(!g.success){const k=g.error instanceof Error?g.error.message:String(g.error);throw new Te(Oe.InvalidParams,`Invalid elicitation result: ${k}`)}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{Vm(y,v.content)}catch{}return v};return super.setRequestHandler(e,a)}if(o==="sampling/createMessage"){const a=async(l,c)=>{const h=Oo(lS,l);if(!h.success){const v=h.error instanceof Error?h.error.message:String(h.error);throw new Te(Oe.InvalidParams,`Invalid sampling request: ${v}`)}const{params:u}=h.data,d=await Promise.resolve(t(l,c));if(u.task){const v=Oo(Bd,d);if(!v.success){const y=v.error instanceof Error?v.error.message:String(v.error);throw new Te(Oe.InvalidParams,`Invalid task creation result: ${y}`)}return v.data}const m=u.tools||u.toolChoice?w$:b$,g=Oo(m,d);if(!g.success){const v=g.error instanceof Error?g.error.message:String(g.error);throw new Te(Oe.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:Wy,capabilities:this._capabilities,clientInfo:this._clientInfo}},s$,t);if(s===void 0)throw new Error(`Server sent invalid initialize result: ${s}`);if(!Tj.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;mG((s=(t=this._serverCapabilities)==null?void 0:t.tasks)==null?void 0:s.requests,e,"Server")}assertTaskHandlerCapability(e){var t;this._capabilities&&gG((t=this._capabilities.tasks)==null?void 0:t.requests,e,"Client")}async ping(e){return this.request({method:"ping"},Kc,e)}async complete(e,t){return this.request({method:"completion/complete",params:e},A$,t)}async setLoggingLevel(e,t){return this.request({method:"logging/setLevel",params:{level:e}},Kc,t)}async getPrompt(e,t){return this.request({method:"prompts/get",params:e},m$,t)}async listPrompts(e,t){return this.request({method:"prompts/list",params:e},eS,t)}async listResources(e,t){return this.request({method:"resources/list",params:e},Z_,t)}async listResourceTemplates(e,t){return this.request({method:"resources/templates/list",params:e},X_,t)}async readResource(e,t){return this.request({method:"resources/read",params:e},J_,t)}async subscribeResource(e,t){return this.request({method:"resources/subscribe",params:e},Kc,t)}async unsubscribeResource(e,t){return this.request({method:"resources/unsubscribe",params:e},Kc,t)}async callTool(e,t=oc,s){if(this.isToolTaskRequired(e.name))throw new Te(Oe.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 Te(Oe.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 Te(Oe.InvalidParams,`Structured content does not match the tool's output schema: ${o.errorMessage}`)}catch(o){throw o instanceof Te?o:new Te(Oe.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},oS,t);return this.cacheToolMetadata(s.tools),s}_setupListChangedHandler(e,t,s,i){const r=gz.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 q1={};/*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */var rx=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,bG=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,aP=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,wG=/\\([\u000b\u0020-\u00ff])/g,_G=/([\\"])/g,lP=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;q1.format=SG;q1.parse=AG;function SG(n){if(!n||typeof n!="object")throw new TypeError("argument obj is required");var e=n.parameters,t=n.type;if(!t||!lP.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&&!bG.test(e))throw new TypeError("invalid parameter value");return'"'+e.replace(_G,"\\$1")+'"'}function EG(n){this.parameters=Object.create(null),this.type=n}function CG(n){if(n)try{return q1.parse(n).type}catch{const e=(n.split(";",1)[0]??"").trim().toLowerCase();return e===""||n.slice(e.length).includes(",")?void 0:e}}function eb(n){return n?n instanceof Headers?Object.fromEntries(n.entries()):Array.isArray(n)?Object.fromEntries(n):{...n}:{}}function $G(n=fetch,e){return e?async(t,s)=>{const i={...e,...s,headers:s!=null&&s.headers?{...eb(e.headers),...eb(s.headers)}:e.headers};return n(t,i)}:n}let U1;U1=globalThis.crypto;async function TG(n){return(await U1).getRandomValues(new Uint8Array(n))}async function PG(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 RG(n),t=await MG(e);return{code_verifier:e,code_challenge:t}}const qn=LF().superRefine((n,e)=>{if(!URL.canParse(n))return e.addIssue({code:Cj.custom,message:"URL must be parseable",fatal:!0}),kL}).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"}),OG=Gn({resource:j().url(),authorization_servers:le(qn).optional(),jwks_uri:j().url().optional(),scopes_supported:le(j()).optional(),bearer_methods_supported:le(j()).optional(),resource_signing_alg_values_supported:le(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:et().optional(),authorization_details_types_supported:le(j()).optional(),dpop_signing_alg_values_supported:le(j()).optional(),dpop_bound_access_tokens_required:et().optional()}),cP=Gn({issuer:j(),authorization_endpoint:qn,token_endpoint:qn,registration_endpoint:qn.optional(),scopes_supported:le(j()).optional(),response_types_supported:le(j()),response_modes_supported:le(j()).optional(),grant_types_supported:le(j()).optional(),token_endpoint_auth_methods_supported:le(j()).optional(),token_endpoint_auth_signing_alg_values_supported:le(j()).optional(),service_documentation:qn.optional(),revocation_endpoint:qn.optional(),revocation_endpoint_auth_methods_supported:le(j()).optional(),revocation_endpoint_auth_signing_alg_values_supported:le(j()).optional(),introspection_endpoint:j().optional(),introspection_endpoint_auth_methods_supported:le(j()).optional(),introspection_endpoint_auth_signing_alg_values_supported:le(j()).optional(),code_challenge_methods_supported:le(j()).optional(),client_id_metadata_document_supported:et().optional()}),NG=Gn({issuer:j(),authorization_endpoint:qn,token_endpoint:qn,userinfo_endpoint:qn.optional(),jwks_uri:qn,registration_endpoint:qn.optional(),scopes_supported:le(j()).optional(),response_types_supported:le(j()),response_modes_supported:le(j()).optional(),grant_types_supported:le(j()).optional(),acr_values_supported:le(j()).optional(),subject_types_supported:le(j()),id_token_signing_alg_values_supported:le(j()),id_token_encryption_alg_values_supported:le(j()).optional(),id_token_encryption_enc_values_supported:le(j()).optional(),userinfo_signing_alg_values_supported:le(j()).optional(),userinfo_encryption_alg_values_supported:le(j()).optional(),userinfo_encryption_enc_values_supported:le(j()).optional(),request_object_signing_alg_values_supported:le(j()).optional(),request_object_encryption_alg_values_supported:le(j()).optional(),request_object_encryption_enc_values_supported:le(j()).optional(),token_endpoint_auth_methods_supported:le(j()).optional(),token_endpoint_auth_signing_alg_values_supported:le(j()).optional(),display_values_supported:le(j()).optional(),claim_types_supported:le(j()).optional(),claims_supported:le(j()).optional(),service_documentation:j().optional(),claims_locales_supported:le(j()).optional(),ui_locales_supported:le(j()).optional(),claims_parameter_supported:et().optional(),request_parameter_supported:et().optional(),request_uri_parameter_supported:et().optional(),require_request_uri_registration:et().optional(),op_policy_uri:qn.optional(),op_tos_uri:qn.optional(),client_id_metadata_document_supported:et().optional()}),LG=Z({...NG.shape,...cP.pick({code_challenge_methods_supported:!0}).shape}),DG=Z({access_token:j(),id_token:j().optional(),token_type:j(),expires_in:$j().optional(),scope:j().optional(),refresh_token:j().optional()}).strip(),FG=Z({error:j(),error_description:j().optional(),error_uri:j().optional()}),ox=qn.optional().or(W("").transform(()=>{})),jG=Z({redirect_uris:le(qn),token_endpoint_auth_method:j().optional(),grant_types:le(j()).optional(),response_types:le(j()).optional(),client_name:j().optional(),client_uri:qn.optional(),logo_uri:ox,scope:j().optional(),contacts:le(j()).optional(),tos_uri:ox,policy_uri:j().optional(),jwks_uri:qn.optional(),jwks:N_().optional(),software_id:j().optional(),software_version:j().optional(),software_statement:j().optional()}).strip(),zG=Z({client_id:j(),client_secret:j().optional(),client_id_issued_at:ze().optional(),client_secret_expires_at:ze().optional()}).strip(),HG=jG.merge(zG);Z({error:j(),error_description:j().optional()}).strip();Z({token:j(),token_type_hint:j().optional()}).strip();function BG(n){const e=typeof n=="string"?new URL(n):new URL(n.href);return e.hash="",e}function qG({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 tK(n,e,t,s){const i=new URL(n),r=(s==null?void 0:s.protocolVersion)??Wy;let o;if(s!=null&&s.metadataUrl)o=new URL(s.metadataUrl);else{const l=QG(e,i.pathname);o=new URL(l,(s==null?void 0:s.metadataServerUrl)??i),o.search=i.search}let a=await lx(o,r,t);if(!(s!=null&&s.metadataUrl)&&eK(a,i.pathname)){const l=new URL(`/.well-known/${e}`,i);a=await lx(l,r,t)}return a}function nK(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 dP(n,{fetchFn:e=fetch,protocolVersion:t=Wy}={}){var r;const s={"MCP-Protocol-Version":t,Accept:"application/json"},i=nK(n);for(const{url:o,type:a}of i){const l=await V1(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"?cP.parse(await l.json()):LG.parse(await l.json())}}}async function sK(n,e){let t,s;try{t=await uP(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 dP(s,{fetchFn:e==null?void 0:e.fetchFn});return{authorizationServerUrl:s,authorizationServerMetadata:i,resourceMetadata:t}}async function iK(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(W0))throw new Error(`Incompatible auth server: does not support response type ${W0}`);if(e.code_challenge_methods_supported&&!e.code_challenge_methods_supported.includes(G0))throw new Error(`Incompatible auth server: does not support code challenge method ${G0}`)}else a=new URL("/authorize",n);const l=await IG(),c=l.code_verifier,h=l.code_challenge;return a.searchParams.set("response_type",W0),a.searchParams.set("client_id",t.client_id),a.searchParams.set("code_challenge",h),a.searchParams.set("code_challenge_method",G0),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 rK(n,e,t){return new URLSearchParams({grant_type:"authorization_code",code:n,code_verifier:e,redirect_uri:String(t)})}async function fP(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=WG(s,h);GG(u,s,l,t)}const c=await(o??fetch)(a,{method:"POST",headers:l,body:t});if(!c.ok)throw await hP(c);return DG.parse(await c.json())}async function oK(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 fP(n,{metadata:e,tokenRequestParams:a,clientInformation:t,addClientAuthentication:r,resource:i,fetchFn:o});return{refresh_token:s,...l}}async function aK(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=rK(i,c,n.redirectUrl)}const l=await n.clientInformation();return fP(e,{metadata:t,tokenRequestParams:a,clientInformation:l??void 0,addClientAuthentication:n.addClientAuthentication,resource:s,fetchFn:r})}async function lK(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 hP(o);return HG.parse(await o.json())}class X0 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 cx=10,cK=13,Ba=32;function Y0(n){}function hK(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=Y0,onError:t=Y0,onRetry:s=Y0,onComment:i,maxBufferSize:r}=n,o=[];let a=0,l=!0,c,h="",u=0,d,p=!1;function m(A){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,A.charCodeAt(0)===239&&A.charCodeAt(1)===187&&A.charCodeAt(2)===191&&(A=A.slice(3))),o.length===0){const O=v(A);O!==""&&(o.push(O),a=O.length),g();return}if(A.indexOf(` +`)===-1&&A.indexOf("\r")===-1){o.push(A),a+=A.length,g();return}o.push(A);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 X0(`Buffered data exceeded max buffer size of ${r} characters`,{type:"max-buffer-size-exceeded"}))))}function v(A){let $=0;if(A.indexOf("\r")===-1){let E=A.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=A.indexOf(` +`,$);continue}const O=A.charCodeAt($);if(hx(A,$,O)){const F=A.charCodeAt($+5)===Ba?$+6:$+5,q=A.slice(F,E);if(u===0&&A.charCodeAt(E+1)===cx){e({id:c,event:d,data:q}),c=void 0,h="",d=void 0,$=E+2,E=A.indexOf(` +`,$);continue}h=u===0?q:`${h} +${q}`,u++}else ux(A,$,O)?d=A.slice(A.charCodeAt($+6)===Ba?$+7:$+6,E)||void 0:y(A,$,E);$=E+1,E=A.indexOf(` +`,$)}return A.slice($)}for(;$20?`${A.slice(0,20)}…`:A}"`,{type:"unknown-field",field:A,value:$,line:E}));break}}function _(){u>0&&e({id:c,event:d,data:h}),c=void 0,h="",u=0,d=void 0}function k(A={}){if(A.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:k}}function hx(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 ux(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 uK extends TransformStream{constructor({onError:e,onRetry:t,onComment:s,maxBufferSize:i}={}){let r;super({start(o){r=hK({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 dK={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2};class Oc extends Error{constructor(e,t){super(`Streamable HTTP error: ${t}`),this.code=e}}class fK{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=$G(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)??dK}async _authThenStart(){var t;if(!this._authProvider)throw new Ic("No auth provider");let e;try{e=await lm(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 Ic;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=eb((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 Oc(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 uK({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 _=Nm.parse(JSON.parse(y.data));Ju(_)&&(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 Ic("No auth provider");if(await lm(this._authProvider,{serverUrl:this._url,authorizationCode:e,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new Ic("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:Ov(e)?e.id:void 0}).catch(_=>{var k;return(k=this.onerror)==null?void 0:k.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 Oc(401,"Server returned 401 after successful authentication");const{resourceMetadataUrl:k,scope:A}=ax(p);if(this._resourceMetadataUrl=k,this._scope=A,await lm(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new Ic;return this._hasCompletedAuthFlow=!0,this.send(e)}if(p.status===403&&this._authProvider){const{resourceMetadataUrl:k,scope:A,error:$}=ax(p);if($==="insufficient_scope"){const E=p.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===E)throw new Oc(403,"Server returned 403 after trying upscoping");if(A&&(this._scope=A),k&&(this._resourceMetadataUrl=k),this._lastUpscopingHeader=E??void 0,await lm(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new Ic;return this.send(e)}}throw new Oc(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()),Vj(e)&&this._startOrAuthSse({resumptionToken:void 0}).catch(_=>{var k;return(k=this.onerror)==null?void 0:k.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=CG(y);if(v)if(w==="text/event-stream")this._handleSseStream(p.body,{onresumptiontoken:h},!1);else if(w==="application/json"){const _=await p.json(),k=Array.isArray(_)?_.map(A=>Nm.parse(A)):[Nm.parse(_)];for(const A of k)(r=this.onmessage)==null||r.call(this,A)}else throw await((o=p.body)==null?void 0:o.cancel()),new Oc(-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 Oc(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 pK="https://mcp.excalidraw.com/mcp",mK="mcp.excalidraw.com",gK="/api/v1/chat/mcp-apps/excalidraw",pP="ui://excalidraw/mcp-app.html",yK=["read_me","create_view"],mP=new Set(["export_to_excalidraw","save_checkpoint","read_checkpoint"]),vK=256*1024,bK=1024*1024,wK=1024*1024,_K=240,SK=720,AK=525;function kK(n){return!Number.isFinite(n)||n<=0?AK:Math.max(_K,Math.min(SK,Math.round(n*3/4)))}const xK={excalidraw:{id:"excalidraw",endpoint:pK,hostname:mK,resourceUri:pP,modelTools:yK,appTools:mP}};function EK(n){return xK[n]}function CK(){return new URL(ln(gK),window.location.origin)}class $K{constructor(){ce(this,"client",new vG({name:"pwc-chat-mcp-app-host",version:"1"}));ce(this,"transport",new fK(CK(),{requestInit:{credentials:"include"}}));ce(this,"connected");ce(this,"bytes",0);ce(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!==pP)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,wK);const i=await MK(s.text);return{text:s.text,digest:i}}async callTool(e,t){if(!mP.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(),ya===this&&(ya=void 0)}consume(e,t=vK){const s=new TextEncoder().encode(e).byteLength;if(s>t||this.bytes+s>bK)throw new Error("App request exceeds host limit");this.bytes+=s}}let ya;function TK(){return ya??(ya=new $K),ya}function PK(){ya==null||ya.close(),ya=void 0}function RK(n){PK()}async function MK(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 IK(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 OK=({block:n})=>{const e=se.useRef(null),t=se.useRef(null),s=se.useRef(!1),i=se.useRef(n),r=se.useRef(!1);i.current=n;const[o,a]=se.useState(),[l,c]=se.useState("loading"),[h,u]=se.useState(n.height),[d,p]=se.useState(!1),[m,g]=se.useState(0),v=se.useRef(null),y=n.input.elements,w=!!n.permissions.clipboardWrite;r.current=d;const _=se.useCallback(()=>{p(!1),document.fullscreenElement&&document.exitFullscreen()},[]),k=se.useCallback(()=>{var E,O;if(d){_();return}p(!0),(O=(E=v.current)==null?void 0:E.requestFullscreen)==null||O.call(E).catch(()=>{})},[_,d]),A=se.useCallback(()=>{RK(),a(void 0),c("loading"),g(E=>E+1)},[]);se.useEffect(()=>{const E=v.current;if(!E)return;const O=()=>{r.current||u(kK(E.clientWidth))};O();const F=new ResizeObserver(O);return F.observe(E),()=>F.disconnect()},[]),se.useEffect(()=>{if(!d)return;const E=v.current,O=q=>{q.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]),se.useEffect(()=>{EK(n.provider);{c("unavailable");return}},[m,n.provider,n.resource_uri]),se.useEffect(()=>{if(!o||l!=="ready")return;const E=e.current;if(!E)return;let O=null;const F=[],q=IK(E,()=>{E.contentWindow&&(O=new AH(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:D,arguments:z})=>{if(i.current.public_fork&&D!=="export_to_excalidraw")throw new Error("Shared diagrams cannot mutate owner state");return TK().callTool(D,z??{})},O.onopenlink=async({url:D})=>{const z=new URL(D);if(z.protocol!=="https:"||z.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(z.href,"_blank","noopener,noreferrer"),{}},O.onsizechange=()=>{},O.oninitialized=()=>{const D=O;if(!D){c("error");return}s.current=!0;try{const z=JSON.parse(y),K={arguments:{elements:Array.isArray(z)?MH(z):z}};for(const L of[0,50,200,750])F.push(window.setTimeout(()=>{t.current===D&&D.sendToolInput(K)},L));D.sendToolResult(i.current.result)}catch{c("error")}},t.current=O,O.connect(new _H(E.contentWindow??void 0,E.contentWindow)).catch(()=>c("error")))});return()=>{q(),F.forEach(D=>window.clearTimeout(D)),s.current=!1,O==null||O.teardownResource({}).catch(()=>{}),t.current===O&&(t.current=null)}},[o,l,d,y,w,m]),se.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:k,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:A,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 Rd={};Rd.d=(n,e)=>{for(var t in e)Rd.o(e,t)&&!Rd.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:e[t]})};Rd.o=(n,e)=>Object.prototype.hasOwnProperty.call(n,e);var Ne=globalThis.pdfjsLib={};Rd.d(Ne,{AbortException:()=>Ec,AnnotationEditorLayer:()=>kw,AnnotationEditorParamsType:()=>Ie,AnnotationEditorType:()=>je,AnnotationEditorUIManager:()=>fc,AnnotationLayer:()=>M8,AnnotationMode:()=>Do,ColorPicker:()=>Yg,DOMSVGFactory:()=>sA,DrawLayer:()=>$w,FeatureTest:()=>vs,GlobalWorkerOptions:()=>mo,ImageKind:()=>Wm,InvalidPDFException:()=>yP,MissingPDFException:()=>xc,OPS:()=>Ti,OutputScale:()=>yb,PDFDataRangeTransport:()=>fR,PDFDateString:()=>X1,PDFWorker:()=>rh,PasswordResponses:()=>FK,PermissionFlag:()=>DK,PixelsPerInch:()=>ka,RenderingCancelledException:()=>K1,TextLayer:()=>Vb,UnexpectedResponseException:()=>u0,Util:()=>Ee,VerbosityLevel:()=>l0,XfaLayer:()=>mR,build:()=>d8,createValidAbsoluteUrl:()=>BK,fetchData:()=>f0,getDocument:()=>s8,getFilenameFromUrl:()=>YK,getPdfFilenameFromUrl:()=>JK,getXfaPageViewport:()=>QK,isDataScheme:()=>p0,isPdfFile:()=>Z1,noContextMenu:()=>yi,normalizeUnicode:()=>KK,setLayerDimensions:()=>dc,shadow:()=>Xe,version:()=>u8});const cs=typeof process=="object"&&process+""=="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&process.type!=="browser"),gP=[1,0,0,1,0,0],fb=[.001,0,0,.001,0,0],NK=1e7,J0=1.35,Ks={ANY:1,DISPLAY:2,PRINT:4,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,IS_EDITING:128,OPLIST:256},Do={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},LK="pdfjs_internal_editor_",je={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15},Ie={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},DK={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},Wm={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},fn={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},qu={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},l0={ERRORS:0,WARNINGS:1,INFOS:5},Ti={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},FK={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let c0=l0.WARNINGS;function jK(n){Number.isInteger(n)&&(c0=n)}function zK(){return c0}function h0(n){c0>=l0.INFOS&&console.log(`Info: ${n}`)}function Ue(n){c0>=l0.WARNINGS&&console.log(`Warning: ${n}`)}function Mt(n){throw new Error(n)}function wn(n,e){n||Mt(e)}function HK(n){switch(n==null?void 0:n.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function BK(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=GK(n)}catch{}}const s=e?new URL(n,e):new URL(n);if(HK(s))return s}catch{}return null}function Xe(n,e,t,s=!1){return Object.defineProperty(n,e,{value:t,enumerable:!s,configurable:!0,writable:!1}),t}const Ia=function(){function e(t,s){this.message=t,this.name=s}return e.prototype=new Error,e.constructor=e,e}();class pb extends Ia{constructor(e,t){super(e,"PasswordException"),this.code=t}}class mb extends Ia{constructor(e,t){super(e,"UnknownErrorException"),this.details=t}}class yP extends Ia{constructor(e){super(e,"InvalidPDFException")}}class xc extends Ia{constructor(e){super(e,"MissingPDFException")}}class u0 extends Ia{constructor(e,t){super(e,"UnexpectedResponseException"),this.status=t}}class qK extends Ia{constructor(e){super(e,"FormatError")}}class Ec extends Ia{constructor(e){super(e,"AbortException")}}function vP(n){(typeof n!="object"||(n==null?void 0:n.length)===void 0)&&Mt("Invalid argument for bytesToString");const e=n.length,t=8192;if(e>24&255,n>>16&255,n>>8&255,n&255)}function W1(n){const e=Object.create(null);for(const[t,s]of n)e[t]=s;return e}function VK(){const n=new Uint8Array(4);return n[0]=1,new Uint32Array(n.buffer,0,1)[0]===1}function WK(){try{return new Function(""),!0}catch{return!1}}class vs{static get isLittleEndian(){return Xe(this,"isLittleEndian",VK())}static get isEvalSupported(){return Xe(this,"isEvalSupported",WK())}static get isOffscreenCanvasSupported(){return Xe(this,"isOffscreenCanvasSupported",typeof OffscreenCanvas<"u")}static get platform(){return typeof navigator<"u"&&typeof(navigator==null?void 0:navigator.platform)=="string"?Xe(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")}):Xe(this,"platform",{isMac:!1,isWindows:!1,isFirefox:!1})}static get isCSSRoundSupported(){var e,t;return Xe(this,"isCSSRoundSupported",(t=(e=globalThis.CSS)==null?void 0:e.supports)==null?void 0:t.call(e,"width: round(1.5px, 1px)"))}}const Q0=Array.from(Array(256).keys(),n=>n.toString(16).padStart(2,"0"));var So,Gm,gb;class Ee{static makeHexColor(e,t,s){return`#${Q0[e]}${Q0[t]}${Q0[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,So,gb).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,So,gb).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}}So=new WeakSet,Gm=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)},gb=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,So,Gm).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,So,Gm).call(this,e,t,s,i,r,o,a,l,(-h+m)/g,d),T(this,So,Gm).call(this,e,t,s,i,r,o,a,l,(-h-m)/g,d)},R(Ee,So);function GK(n){return decodeURIComponent(escape(n))}let ev=null,dx=null;function KK(n){return ev||(ev=/([\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,dx=new Map([["ſt","ſt"]])),n.replaceAll(ev,(e,t,s)=>t?t.normalize("NFKC"):dx.get(s))}function ZK(){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 vP(n)}const G1="pdfjs_internal_id_",jr={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 XK(n){return Uint8Array.prototype.toBase64?n.toBase64():btoa(vP(n))}const Hr="http://www.w3.org/2000/svg",il=class il{};ce(il,"CSS",96),ce(il,"PDF",72),ce(il,"PDF_TO_CSS_UNITS",il.CSS/il.PDF);let ka=il;async function f0(n,e="text"){if(nd(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 Np{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 Xe(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 Np({viewBox:this.viewBox.slice(),scale:e,rotation:t,offsetX:s,offsetY:i,dontFlip:r})}convertToViewportPoint(e,t){return Ee.applyTransform([e,t],this.transform)}convertToViewportRectangle(e){const t=Ee.applyTransform([e[0],e[1]],this.transform),s=Ee.applyTransform([e[2],e[3]],this.transform);return[t[0],t[1],s[0],s[1]]}convertToPdfPoint(e,t){return Ee.applyInverseTransform([e,t],this.transform)}}class K1 extends Ia{constructor(e,t=0){super(e,"RenderingCancelledException"),this.extraDelay=t}}function p0(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))}}sf=new WeakMap,R(X1,sf);function QK(n,{scale:e=1,rotation:t=0}){const{width:s,height:i}=n.attributes.style,r=[0,0,parseInt(s),parseInt(i)];return new Np({viewBox:r,scale:e,rotation:t})}function Y1(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):(Ue(`Not a valid color format: "${n}"`),[0,0,0])}function e9(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,Y1(s))}e.remove()}function qt(n){const{a:e,b:t,c:s,d:i,e:r,f:o}=n.getTransform();return[e,t,s,i,r,o]}function zr(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 dc(n,e,t=!1,s=!0){if(e instanceof Np){const{pageWidth:i,pageHeight:r}=e.rawDims,{style:o}=n,a=vs.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 yb{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 zo,ll,Pi,cl,rf,of,wy,bP,ws,wP,_P,Km,SP,bb;const Br=class Br{constructor(e){R(this,ws);R(this,zo,null);R(this,ll,null);R(this,Pi);R(this,cl,null);R(this,rf,null);C(this,Pi,e),f(Br,of)||C(Br,of,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,zo,document.createElement("div"));e.classList.add("editToolbar","hidden"),e.setAttribute("role","toolbar");const t=f(this,Pi)._uiManager._signal;e.addEventListener("contextmenu",yi,{signal:t}),e.addEventListener("pointerdown",T(Br,wy,bP),{signal:t});const s=C(this,cl,document.createElement("div"));s.className="buttons",e.append(s);const i=f(this,Pi).toolbarPosition;if(i){const{style:r}=e,o=f(this,Pi)._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,ws,SP).call(this),e}get div(){return f(this,zo)}hide(){var e;f(this,zo).classList.add("hidden"),(e=f(this,ll))==null||e.hideDropdown()}show(){var e;f(this,zo).classList.remove("hidden"),(e=f(this,rf))==null||e.shown()}async addAltText(e){const t=await e.render();T(this,ws,Km).call(this,t),f(this,cl).prepend(t,f(this,ws,bb)),C(this,rf,e)}addColorPicker(e){C(this,ll,e);const t=e.renderButton();T(this,ws,Km).call(this,t),f(this,cl).prepend(t,f(this,ws,bb))}remove(){var e;f(this,zo).remove(),(e=f(this,ll))==null||e.destroy(),C(this,ll,null)}};zo=new WeakMap,ll=new WeakMap,Pi=new WeakMap,cl=new WeakMap,rf=new WeakMap,of=new WeakMap,wy=new WeakSet,bP=function(e){e.stopPropagation()},ws=new WeakSet,wP=function(e){f(this,Pi)._focusEventsAllowed=!1,e.preventDefault(),e.stopPropagation()},_P=function(e){f(this,Pi)._focusEventsAllowed=!0,e.preventDefault(),e.stopPropagation()},Km=function(e){const t=f(this,Pi)._uiManager._signal;e.addEventListener("focusin",T(this,ws,wP).bind(this),{capture:!0,signal:t}),e.addEventListener("focusout",T(this,ws,_P).bind(this),{capture:!0,signal:t}),e.addEventListener("contextmenu",yi,{signal:t})},SP=function(){const{editorType:e,_uiManager:t}=f(this,Pi),s=document.createElement("button");s.className="delete",s.tabIndex=0,s.setAttribute("data-l10n-id",f(Br,of)[e]),T(this,ws,Km).call(this,s),s.addEventListener("click",i=>{t.delete()},{signal:t._signal}),f(this,cl).append(s)},bb=function(){const e=document.createElement("div");return e.className="divider",e},R(Br,wy),R(Br,of,null);let vb=Br;var af,hl,ul,Pa,AP,kP,xP;class t9{constructor(e){R(this,Pa);R(this,af,null);R(this,hl,null);R(this,ul);C(this,ul,e)}show(e,t,s){const[i,r]=T(this,Pa,kP).call(this,t,s),{style:o}=f(this,hl)||C(this,hl,T(this,Pa,AP).call(this));e.append(f(this,hl)),o.insetInlineEnd=`${100*i}%`,o.top=`calc(${100*r}% + var(--editor-toolbar-vert-offset))`}hide(){f(this,hl).remove()}}af=new WeakMap,hl=new WeakMap,ul=new WeakMap,Pa=new WeakSet,AP=function(){const e=C(this,hl,document.createElement("div"));e.className="editToolbar",e.setAttribute("role","toolbar"),e.addEventListener("contextmenu",yi,{signal:f(this,ul)._signal});const t=C(this,af,document.createElement("div"));return t.className="buttons",e.append(t),T(this,Pa,xP).call(this),e},kP=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,ul).highlightSelection("floating_button")},{signal:s}),f(this,af).append(e)};function Kg(n,e,t){for(const s of t)e.addEventListener(s,n[s].bind(n))}function n9(n){return Math.round(Math.min(255,Math.max(1,255*n))).toString(16).padStart(2,"0")}var _y;class s9{constructor(){R(this,_y,0)}get id(){return`${LK}${ds(this,_y)._++}`}}_y=new WeakMap;var fh,lf,ss,ph,Zm;const NA=class NA{constructor(){R(this,ph);R(this,fh,ZK());R(this,lf,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 Xe(this,"_isSVGFittingCanvas",r)}async getFromFile(e){const{lastModified:t,name:s,size:i,type:r}=e;return T(this,ph,Zm).call(this,`${t}_${s}_${i}_${r}`,e)}async getFromUrl(e){return T(this,ph,Zm).call(this,e,e)}async getFromBlob(e,t){const s=await t;return T(this,ph,Zm).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,fh)}_${ds(this,lf)._++}`,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,fh)}_`)}};fh=new WeakMap,lf=new WeakMap,ss=new WeakMap,ph=new WeakSet,Zm=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,fh)}_${ds(this,lf)._++}`,refCounter:0,isSvg:!1});let i;if(typeof t=="string"?(s.url=t,i=await f0(t,"blob")):t instanceof File?i=s.file=t:t instanceof Blob&&(i=t),i.type==="image/svg+xml"){const r=NA._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 wb=NA;var En,Ho,cf,Cn;class i9{constructor(e=128){R(this,En,[]);R(this,Ho,!1);R(this,cf);R(this,Cn,-1);C(this,cf,e)}add({cmd:e,undo:t,post:s,mustExec:i,type:r=NaN,overwriteIfSameType:o=!1,keepUndo:a=!1}){if(i&&e(),f(this,Ho))return;const l={cmd:e,undo:t,post:s,type:r};if(f(this,Cn)===-1){f(this,En).length>0&&(f(this,En).length=0),C(this,Cn,0),f(this,En).push(l);return}if(o&&f(this,En)[f(this,Cn)].type===r){a&&(l.undo=f(this,En)[f(this,Cn)].undo),f(this,En)[f(this,Cn)]=l;return}const c=f(this,Cn)+1;c===f(this,cf)?f(this,En).splice(0,1):(C(this,Cn,c),cr===t[o]))return Ay._colorsMapping.get(s);return t}getHexCode(e){const t=this._colors.get(e);return t?Ee.makeHexColor(...t):e}};ce(Ay,"_colorsMapping",new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]));let _b=Ay;var mh,zs,pn,jn,gh,Ur,yh,Ri,Bo,vh,dl,ir,Mi,fl,hf,uf,bh,df,rr,qo,wh,Uo,or,ky,Vo,ff,Wo,pl,pf,mf,$n,ut,Vr,ml,gf,yf,Go,ar,Wr,vf,si,me,Xm,Sb,CP,$P,Ym,TP,PP,RP,Ab,MP,kb,xb,IP,fs,Mo,OP,NP,Eb,LP,sd,Cb;const Qc=class Qc{constructor(e,t,s,i,r,o,a,l,c,h,u){R(this,me);R(this,mh,new AbortController);R(this,zs,null);R(this,pn,new Map);R(this,jn,new Map);R(this,gh,null);R(this,Ur,null);R(this,yh,null);R(this,Ri,new i9);R(this,Bo,null);R(this,vh,0);R(this,dl,new Set);R(this,ir,null);R(this,Mi,null);R(this,fl,new Set);R(this,hf,!1);R(this,uf,!1);R(this,bh,!1);R(this,df,null);R(this,rr,null);R(this,qo,null);R(this,wh,null);R(this,Uo,!1);R(this,or,null);R(this,ky,new s9);R(this,Vo,!1);R(this,ff,!1);R(this,Wo,null);R(this,pl,null);R(this,pf,null);R(this,mf,null);R(this,$n,je.NONE);R(this,ut,new Set);R(this,Vr,null);R(this,ml,null);R(this,gf,null);R(this,yf,{isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1});R(this,Go,[0,0]);R(this,ar,null);R(this,Wr,null);R(this,vf,null);R(this,si,null);const d=this._signal=f(this,mh).signal;C(this,Wr,e),C(this,vf,t),C(this,gh,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,me,TP).call(this),T(this,me,IP).call(this),T(this,me,Ab).call(this),C(this,Ur,r.annotationStorage),C(this,df,r.filterFactory),C(this,ml,o),C(this,wh,a||null),C(this,hf,l),C(this,uf,c),C(this,bh,h),C(this,mf,u||null),this.viewParameters={realScale:ka.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1}static get _keyboardManager(){const e=Qc.prototype,t=o=>f(o,Wr).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 Xe(this,"_keyboardManager",new Lp([[["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,Wr).contains(a)&&!o.isEnterHandled}],[[" ","mac+ "],e.addNewEditorFromKeyboard,{checker:(o,{target:a})=>!(a instanceof HTMLButtonElement)&&f(o,Wr).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,si))==null||e.resolve(),C(this,si,null),(t=f(this,mh))==null||t.abort(),C(this,mh,null),this._signal=null;for(const r of f(this,jn).values())r.destroy();f(this,jn).clear(),f(this,pn).clear(),f(this,fl).clear(),C(this,zs,null),f(this,ut).clear(),f(this,Ri).destroy(),(s=f(this,gh))==null||s.destroy(),(i=f(this,or))==null||i.hide(),C(this,or,null),f(this,rr)&&(clearTimeout(f(this,rr)),C(this,rr,null)),f(this,ar)&&(clearTimeout(f(this,ar)),C(this,ar,null))}combinedSignal(e){return AbortSignal.any([this._signal,e.signal])}get mlManager(){return f(this,mf)}get useNewAltTextFlow(){return f(this,uf)}get useNewAltTextWhenAddingImage(){return f(this,bh)}get hcmFilter(){return Xe(this,"hcmFilter",f(this,ml)?f(this,df).addHCMFilter(f(this,ml).foreground,f(this,ml).background):"none")}get direction(){return Xe(this,"direction",getComputedStyle(f(this,Wr)).direction)}get highlightColors(){return Xe(this,"highlightColors",f(this,wh)?new Map(f(this,wh).split(",").map(e=>e.split("=").map(t=>t.trim()))):null)}get highlightColorNames(){return Xe(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,e=>e.reverse())):null)}setMainHighlightColorPicker(e){C(this,pf,e)}editAltText(e,t=!1){var s;(s=f(this,gh))==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,bh,t);break}}onPageChanging({pageNumber:e}){C(this,vh,e-1)}focusMainContainer(){f(this,Wr).focus()}findParent(e,t){for(const s of f(this,jn).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,vf).classList.toggle("noUserSelect",e)}addShouldRescale(e){f(this,fl).add(e)}removeShouldRescale(e){f(this,fl).delete(e)}onScaleChanging({scale:e}){this.commitOrRemove(),this.viewParameters.realScale=e*ka.PDF_TO_CSS_UNITS;for(const t of f(this,fl))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,me,Xm).call(this,t).closest(".textLayer"),h=this.getSelectionBoxes(c);if(!h)return;t.empty();const u=T(this,me,Sb).call(this,c),d=f(this,$n)===je.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(je.HIGHLIGHT,p);return}p()}addToAnnotationStorage(e){!e.isEmpty()&&f(this,Ur)&&!f(this,Ur).has(e.id)&&f(this,Ur).setValue(e.id,e)}blur(){if(this.isShiftKeyDown=!1,f(this,Uo)&&(C(this,Uo,!1),T(this,me,Ym).call(this,"main_toolbar")),!this.hasSelection)return;const{activeElement:e}=document;for(const t of f(this,ut))if(t.div.contains(e)){C(this,pl,[t,e]),t._focusEventsAllowed=!1;break}}focus(){if(!f(this,pl))return;const[e,t]=f(this,pl);C(this,pl,null),t.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:this._signal}),t.focus()}addEditListeners(){T(this,me,Ab).call(this),T(this,me,kb).call(this)}removeEditListeners(){T(this,me,MP).call(this),T(this,me,xb).call(this)}dragOver(e){for(const{type:t}of e.dataTransfer.items)for(const s of f(this,Mi))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,Mi))if(s.isHandlingMimeForPasting(t.type)){s.paste(t,this.currentLayer),e.preventDefault();return}}copy(e){var s;if(e.preventDefault(),(s=f(this,zs))==null||s.commitOrRemove(),!this.hasSelection)return;const t=[];for(const i of f(this,ut)){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,Mi))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){Ue(`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,me,Eb).call(this,l);T(this,me,Cb).call(this,r)},a=()=>{for(const l of r)l.remove()};this.addCommands({cmd:o,undo:a,mustExec:!0})}catch(r){Ue(`paste: "${r.message}".`)}}keydown(e){!this.isShiftKeyDown&&e.key==="Shift"&&(this.isShiftKeyDown=!0),f(this,$n)!==je.NONE&&!this.isEditorHandlingKeyboard&&Qc._keyboardManager.exec(this,e)}keyup(e){this.isShiftKeyDown&&e.key==="Shift"&&(this.isShiftKeyDown=!1,f(this,Uo)&&(C(this,Uo,!1),T(this,me,Ym).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,me,PP).call(this),T(this,me,kb).call(this),T(this,me,fs).call(this,{isEditing:f(this,$n)!==je.NONE,isEmpty:T(this,me,sd).call(this),hasSomethingToUndo:f(this,Ri).hasSomethingToUndo(),hasSomethingToRedo:f(this,Ri).hasSomethingToRedo(),hasSelectedEditor:!1})):(T(this,me,RP).call(this),T(this,me,xb).call(this),T(this,me,fs).call(this,{isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(e){if(!f(this,Mi)){C(this,Mi,e);for(const t of f(this,Mi))T(this,me,Mo).call(this,t.defaultPropertiesToUpdate)}}getId(){return f(this,ky).id}get currentLayer(){return f(this,jn).get(f(this,vh))}getLayer(e){return f(this,jn).get(e)}get currentPageIndex(){return f(this,vh)}addLayer(e){f(this,jn).set(e.pageIndex,e),f(this,Vo)?e.enable():e.disable()}removeLayer(e){f(this,jn).delete(e.pageIndex)}async updateMode(e,t=null,s=!1){if(f(this,$n)!==e&&!(f(this,si)&&(await f(this,si).promise,!f(this,si)))){if(C(this,si,Promise.withResolvers()),C(this,$n,e),e===je.NONE){this.setEditingState(!1),T(this,me,NP).call(this),f(this,si).resolve();return}this.setEditingState(!0),await T(this,me,OP).call(this),this.unselectAll();for(const i of f(this,jn).values())i.updateMode(e);if(!t){s&&this.addNewEditorFromKeyboard(),f(this,si).resolve();return}for(const i of f(this,pn).values())i.annotationElementId===t?(this.setSelected(i),i.enterInEditMode()):i.unselect();f(this,si).resolve()}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(e){e!==f(this,$n)&&this._eventBus.dispatch("switchannotationeditormode",{source:this,mode:e})}updateParams(e,t){var s;if(f(this,Mi)){switch(e){case Ie.CREATE:this.currentLayer.addNewEditor();return;case Ie.HIGHLIGHT_DEFAULT_COLOR:(s=f(this,pf))==null||s.updateColor(t);break;case Ie.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(f(this,gf)||C(this,gf,new Map)).set(e,t),this.showAllEditors("highlight",t);break}for(const i of f(this,ut))i.updateParams(e,t);for(const i of f(this,Mi))i.updateDefaultParams(e,t)}}showAllEditors(e,t,s=!1){var r;for(const o of f(this,pn).values())o.editorType===e&&o.show(t);(((r=f(this,gf))==null?void 0:r.get(Ie.HIGHLIGHT_SHOW_ALL))??!0)!==t&&T(this,me,Mo).call(this,[[Ie.HIGHLIGHT_SHOW_ALL,t]])}enableWaiting(e=!1){if(f(this,ff)!==e){C(this,ff,e);for(const t of f(this,jn).values())e?t.disableClick():t.enableClick(),t.div.classList.toggle("waiting",e)}}getEditors(e){const t=[];for(const s of f(this,pn).values())s.pageIndex===e&&t.push(s);return t}getEditor(e){return f(this,pn).get(e)}addEditor(e){f(this,pn).set(e.id,e)}removeEditor(e){var t;e.div.contains(document.activeElement)&&(f(this,rr)&&clearTimeout(f(this,rr)),C(this,rr,setTimeout(()=>{this.focusMainContainer(),C(this,rr,null)},0))),f(this,pn).delete(e.id),this.unselect(e),(!e.annotationElementId||!f(this,dl).has(e.annotationElementId))&&((t=f(this,Ur))==null||t.remove(e.id))}addDeletedAnnotationElement(e){f(this,dl).add(e.annotationElementId),this.addChangedExistingAnnotation(e),e.deleted=!0}isDeletedAnnotationElement(e){return f(this,dl).has(e)}removeDeletedAnnotationElement(e){f(this,dl).delete(e.annotationElementId),this.removeChangedExistingAnnotation(e),e.deleted=!1}setActiveEditor(e){f(this,zs)!==e&&(C(this,zs,e),e&&T(this,me,Mo).call(this,e.propertiesToUpdate))}updateUI(e){f(this,me,LP)===e&&T(this,me,Mo).call(this,e.propertiesToUpdate)}toggleSelected(e){if(f(this,ut).has(e)){f(this,ut).delete(e),e.unselect(),T(this,me,fs).call(this,{hasSelectedEditor:this.hasSelection});return}f(this,ut).add(e),e.select(),T(this,me,Mo).call(this,e.propertiesToUpdate),T(this,me,fs).call(this,{hasSelectedEditor:!0})}setSelected(e){for(const t of f(this,ut))t!==e&&t.unselect();f(this,ut).clear(),f(this,ut).add(e),e.select(),T(this,me,Mo).call(this,e.propertiesToUpdate),T(this,me,fs).call(this,{hasSelectedEditor:!0})}isSelected(e){return f(this,ut).has(e)}get firstSelectedEditor(){return f(this,ut).values().next().value}unselect(e){e.unselect(),f(this,ut).delete(e),T(this,me,fs).call(this,{hasSelectedEditor:this.hasSelection})}get hasSelection(){return f(this,ut).size!==0}get isEnterHandled(){return f(this,ut).size===1&&this.firstSelectedEditor.isEnterHandled}undo(){f(this,Ri).undo(),T(this,me,fs).call(this,{hasSomethingToUndo:f(this,Ri).hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:T(this,me,sd).call(this)})}redo(){f(this,Ri).redo(),T(this,me,fs).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:f(this,Ri).hasSomethingToRedo(),isEmpty:T(this,me,sd).call(this)})}addCommands(e){f(this,Ri).add(e),T(this,me,fs).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:T(this,me,sd).call(this)})}delete(){if(this.commitOrRemove(),!this.hasSelection)return;const e=[...f(this,ut)],t=()=>{for(const i of e)i.remove()},s=()=>{for(const i of e)T(this,me,Eb).call(this,i)};this.addCommands({cmd:t,undo:s,mustExec:!0})}commitOrRemove(){var e;(e=f(this,zs))==null||e.commitOrRemove()}hasSomethingToControl(){return f(this,zs)||this.hasSelection}selectAll(){for(const e of f(this,ut))e.commit();T(this,me,Cb).call(this,f(this,pn).values())}unselectAll(){if(!(f(this,zs)&&(f(this,zs).commitOrRemove(),f(this,$n)!==je.NONE))&&this.hasSelection){for(const e of f(this,ut))e.unselect();f(this,ut).clear(),T(this,me,fs).call(this,{hasSelectedEditor:!1})}}translateSelectedEditors(e,t,s=!1){if(s||this.commitOrRemove(),!this.hasSelection)return;f(this,Go)[0]+=e,f(this,Go)[1]+=t;const[i,r]=f(this,Go),o=[...f(this,ut)],a=1e3;f(this,ar)&&clearTimeout(f(this,ar)),C(this,ar,setTimeout(()=>{C(this,ar,null),f(this,Go)[0]=f(this,Go)[1]=0,this.addCommands({cmd:()=>{for(const l of o)f(this,pn).has(l.id)&&l.translateInPage(i,r)},undo:()=>{for(const l of o)f(this,pn).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,ir,new Map);for(const e of f(this,ut))f(this,ir).set(e,{savedX:e.x,savedY:e.y,savedPageIndex:e.pageIndex,newX:0,newY:0,newPageIndex:-1})}}endDragSession(){if(!f(this,ir))return!1;this.disableUserSelect(!1);const e=f(this,ir);C(this,ir,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,pn).has(i.id)){const l=f(this,jn).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,ir))for(const s of f(this,ir).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,ut).size===1&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(e){return f(this,zs)===e}getActive(){return f(this,zs)}getMode(){return f(this,$n)}get imageManager(){return Xe(this,"imageManager",new wb)}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,me,Ym).call(this,"main_toolbar"))};window.addEventListener("pointerup",u,{signal:h}),window.addEventListener("blur",u,{signal:h})}},Ym=function(e=""){f(this,$n)===je.HIGHLIGHT?this.highlightSelection(e):f(this,hf)&&T(this,me,CP).call(this)},TP=function(){document.addEventListener("selectionchange",T(this,me,$P).bind(this),{signal:this._signal})},PP=function(){if(f(this,qo))return;C(this,qo,new AbortController);const e=this.combinedSignal(f(this,qo));window.addEventListener("focus",this.focus.bind(this),{signal:e}),window.addEventListener("blur",this.blur.bind(this),{signal:e})},RP=function(){var e;(e=f(this,qo))==null||e.abort(),C(this,qo,null)},Ab=function(){if(f(this,Wo))return;C(this,Wo,new AbortController);const e=this.combinedSignal(f(this,Wo));window.addEventListener("keydown",this.keydown.bind(this),{signal:e}),window.addEventListener("keyup",this.keyup.bind(this),{signal:e})},MP=function(){var e;(e=f(this,Wo))==null||e.abort(),C(this,Wo,null)},kb=function(){if(f(this,Bo))return;C(this,Bo,new AbortController);const e=this.combinedSignal(f(this,Bo));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})},xb=function(){var e;(e=f(this,Bo))==null||e.abort(),C(this,Bo,null)},IP=function(){const e=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:e}),document.addEventListener("drop",this.drop.bind(this),{signal:e})},fs=function(e){Object.entries(e).some(([s,i])=>f(this,yf)[s]!==i)&&(this._eventBus.dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(f(this,yf),e)}),f(this,$n)===je.HIGHLIGHT&&e.hasSelectedEditor===!1&&T(this,me,Mo).call(this,[[Ie.HIGHLIGHT_FREE,!0]]))},Mo=function(e){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:e})},OP=async function(){if(!f(this,Vo)){C(this,Vo,!0);const e=[];for(const t of f(this,jn).values())e.push(t.enable());await Promise.all(e);for(const t of f(this,pn).values())t.enable()}},NP=function(){if(this.unselectAll(),f(this,Vo)){C(this,Vo,!1);for(const e of f(this,jn).values())e.disable();for(const e of f(this,pn).values())e.disable()}},Eb=function(e){const t=f(this,jn).get(e.pageIndex);t?t.addOrRebuild(e):(this.addEditor(e),this.addToAnnotationStorage(e))},LP=function(){let e=null;for(e of f(this,ut));return e},sd=function(){if(f(this,pn).size===0)return!0;if(f(this,pn).size===1)for(const e of f(this,pn).values())return e.isEmpty();return!1},Cb=function(e){for(const t of f(this,ut))t.unselect();f(this,ut).clear();for(const t of e)t.isEmpty()||(f(this,ut).add(t),t.select());T(this,me,fs).call(this,{hasSelectedEditor:this.hasSelection})},ce(Qc,"TRANSLATE_SMALL",1),ce(Qc,"TRANSLATE_BIG",10);let fc=Qc;var Tn,lr,Ii,_h,cr,Hs,Sh,hr,xs,Gr,gl,ur,Ko,Gi,id,Jm;const ps=class ps{constructor(e){R(this,Gi);R(this,Tn,null);R(this,lr,!1);R(this,Ii,null);R(this,_h,null);R(this,cr,null);R(this,Hs,null);R(this,Sh,!1);R(this,hr,null);R(this,xs,null);R(this,Gr,null);R(this,gl,null);R(this,ur,!1);C(this,xs,e),C(this,ur,e._uiManager.useNewAltTextFlow),f(ps,Ko)||C(ps,Ko,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){ps._l10n??(ps._l10n=e)}async render(){const e=C(this,Ii,document.createElement("button"));e.className="altText",e.tabIndex="0";const t=C(this,_h,document.createElement("span"));e.append(t),f(this,ur)?(e.classList.add("new"),e.setAttribute("data-l10n-id",f(ps,Ko).missing),t.setAttribute("data-l10n-id",f(ps,Ko)["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,xs)._uiManager._signal;e.addEventListener("contextmenu",yi,{signal:s}),e.addEventListener("pointerdown",r=>r.stopPropagation(),{signal:s});const i=r=>{r.preventDefault(),f(this,xs)._uiManager.editAltText(f(this,xs)),f(this,ur)&&f(this,xs)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:f(this,Gi,id)}})};return e.addEventListener("click",i,{capture:!0,signal:s}),e.addEventListener("keydown",r=>{r.target===e&&r.key==="Enter"&&(C(this,Sh,!0),i(r))},{signal:s}),await T(this,Gi,Jm).call(this),e}finish(){f(this,Ii)&&(f(this,Ii).focus({focusVisible:f(this,Sh)}),C(this,Sh,!1))}isEmpty(){return f(this,ur)?f(this,Tn)===null:!f(this,Tn)&&!f(this,lr)}hasData(){return f(this,ur)?f(this,Tn)!==null||!!f(this,Gr):this.isEmpty()}get guessedText(){return f(this,Gr)}async setGuessedText(e){f(this,Tn)===null&&(C(this,Gr,e),C(this,gl,await ps._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:e})),T(this,Gi,Jm).call(this))}toggleAltTextBadge(e=!1){var t;if(!f(this,ur)||f(this,Tn)){(t=f(this,hr))==null||t.remove(),C(this,hr,null);return}if(!f(this,hr)){const s=C(this,hr,document.createElement("div"));s.className="noAltTextBadge",f(this,xs).div.append(s)}f(this,hr).classList.toggle("hidden",!e)}serialize(e){let t=f(this,Tn);return!e&&f(this,Gr)===t&&(t=f(this,gl)),{altText:t,decorative:f(this,lr),guessedText:f(this,Gr),textWithDisclaimer:f(this,gl)}}get data(){return{altText:f(this,Tn),decorative:f(this,lr)}}set data({altText:e,decorative:t,guessedText:s,textWithDisclaimer:i,cancel:r=!1}){s&&(C(this,Gr,s),C(this,gl,i)),!(f(this,Tn)===e&&f(this,lr)===t)&&(r||(C(this,Tn,e),C(this,lr,t)),T(this,Gi,Jm).call(this))}toggle(e=!1){f(this,Ii)&&(!e&&f(this,Hs)&&(clearTimeout(f(this,Hs)),C(this,Hs,null)),f(this,Ii).disabled=!e)}shown(){f(this,xs)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:f(this,Gi,id)}})}destroy(){var e,t;(e=f(this,Ii))==null||e.remove(),C(this,Ii,null),C(this,_h,null),C(this,cr,null),(t=f(this,hr))==null||t.remove(),C(this,hr,null)}};Tn=new WeakMap,lr=new WeakMap,Ii=new WeakMap,_h=new WeakMap,cr=new WeakMap,Hs=new WeakMap,Sh=new WeakMap,hr=new WeakMap,xs=new WeakMap,Gr=new WeakMap,gl=new WeakMap,ur=new WeakMap,Ko=new WeakMap,Gi=new WeakSet,id=function(){return f(this,Tn)&&"added"||f(this,Tn)===null&&this.guessedText&&"review"||"missing"},Jm=async function(){var i,r,o;const e=f(this,Ii);if(!e)return;if(f(this,ur)){if(e.classList.toggle("done",!!f(this,Tn)),e.setAttribute("data-l10n-id",f(ps,Ko)[f(this,Gi,id)]),(i=f(this,_h))==null||i.setAttribute("data-l10n-id",f(ps,Ko)[`${f(this,Gi,id)}-label`]),!f(this,Tn)){(r=f(this,cr))==null||r.remove();return}}else{if(!f(this,Tn)&&!f(this,lr)){e.classList.remove("done"),(o=f(this,cr))==null||o.remove();return}e.classList.add("done"),e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-edit-button")}let t=f(this,cr);if(!t){C(this,cr,t=document.createElement("span")),t.className="tooltip",t.setAttribute("role","tooltip"),t.id=`alt-text-tooltip-${f(this,xs).id}`;const a=100,l=f(this,xs)._uiManager._signal;l.addEventListener("abort",()=>{clearTimeout(f(this,Hs)),C(this,Hs,null)},{once:!0}),e.addEventListener("mouseenter",()=>{C(this,Hs,setTimeout(()=>{C(this,Hs,null),f(this,cr).classList.add("show"),f(this,xs)._reportTelemetry({action:"alt_text_tooltip"})},a))},{signal:l}),e.addEventListener("mouseleave",()=>{var c;f(this,Hs)&&(clearTimeout(f(this,Hs)),C(this,Hs,null)),(c=f(this,cr))==null||c.classList.remove("show")},{signal:l})}f(this,lr)?t.setAttribute("data-l10n-id","pdfjs-editor-alt-text-decorative-tooltip"):(t.removeAttribute("data-l10n-id"),t.textContent=f(this,Tn)),t.parentNode||e.append(t);const s=f(this,xs).getImageForAltText();s==null||s.setAttribute("aria-describedby",t.id)},R(ps,Ko,null),ce(ps,"_l10n",null);let Zg=ps;var yl,Oi,Ht,Ah,vl,zn,bl,Zo,bf,wl,Xo,wf,_l,Kr,dr,kh,xh,ii,_f,xy,Be,$b,Sf,Tb,Pb,DP,FP,Rb,Mb,Ib,jP,Ob,zP,HP,BP,Nb,rd;const ht=class ht{constructor(e){R(this,Be);R(this,yl,null);R(this,Oi,null);R(this,Ht,null);R(this,Ah,!1);R(this,vl,!1);R(this,zn,null);R(this,bl,null);R(this,Zo,null);R(this,bf,"");R(this,wl,!1);R(this,Xo,null);R(this,wf,!1);R(this,_l,!1);R(this,Kr,!1);R(this,dr,null);R(this,kh,0);R(this,xh,0);R(this,ii,null);ce(this,"_editToolbar",null);ce(this,"_initialOptions",Object.create(null));ce(this,"_initialData",null);ce(this,"_isVisible",!0);ce(this,"_uiManager",null);ce(this,"_focusEventsAllowed",!0);R(this,_f,!1);R(this,xy,ht._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=ht.prototype._resizeWithKeyboard,t=fc.TRANSLATE_SMALL,s=fc.TRANSLATE_BIG;return Xe(this,"_resizerKeyboardManager",new Lp([[["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"],ht.prototype._stopResizingWithKeyboard]]))}get editorType(){return Object.getPrototypeOf(this).constructor._type}static get _defaultLineColor(){return Xe(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(e){const t=new r9({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(ht._l10n??(ht._l10n=e),ht._l10nResizer||(ht._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"})),ht._borderLineWidth!==-1)return;const s=getComputedStyle(document.documentElement);ht._borderLineWidth=parseFloat(s.getPropertyValue("--outline-width"))||0}static updateDefaultParams(e,t){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(e){return!1}static paste(e,t){Mt("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return f(this,_f)}set _isDraggable(e){var t;C(this,_f,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,xy)}setParent(e){e!==null?(this.pageIndex=e.pageIndex,this.pageDimensions=e.pageDimensions):T(this,Be,rd).call(this),this.parent=e}focusin(e){this._focusEventsAllowed&&(f(this,wl)?C(this,wl,!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,Be,$b).call(this,this.parentDimensions,e,t)}translateInPage(e,t){f(this,Xo)||C(this,Xo,[this.x,this.y]),T(this,Be,$b).call(this,this.pageDimensions,e,t),this.div.scrollIntoView({block:"nearest"})}drag(e,t){f(this,Xo)||C(this,Xo,[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,Xo)&&(f(this,Xo)[0]!==this.x||f(this,Xo)[1]!==this.y)}getBaseTranslation(){const[e,t]=this.parentDimensions,{_borderLineWidth:s}=ht,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=ht,Sf,Tb).call(s,e,t,this.parentRotation)}pageTranslationToScreen(e,t){var s;return T(s=ht,Sf,Tb).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,vl)||(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,vl)&&t.endsWith("%");if(i&&r)return;const[o,a]=this.parentDimensions;i||(e.width=`${(100*parseFloat(s)/o).toFixed(2)}%`),!f(this,vl)&&!r&&(e.height=`${(100*parseFloat(t)/a).toFixed(2)}%`)}getInitialTranslation(){return[0,0]}altTextFinish(){var e;(e=f(this,Ht))==null||e.finish()}async addEditToolbar(){return this._editToolbar||f(this,_l)?this._editToolbar:(this._editToolbar=new vb(this),this.div.append(this._editToolbar.render()),f(this,Ht)&&await this._editToolbar.addAltText(f(this,Ht)),this._editToolbar)}removeEditToolbar(){var e;this._editToolbar&&(this._editToolbar.remove(),this._editToolbar=null,(e=f(this,Ht))==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,Ht)||(Zg.initialize(ht._l10n),C(this,Ht,new Zg(this)),f(this,yl)&&(f(this,Ht).data=f(this,yl),C(this,yl,null)),await this.addEditToolbar())}get altTextData(){var e;return(e=f(this,Ht))==null?void 0:e.data}set altTextData(e){f(this,Ht)&&(f(this,Ht).data=e)}get guessedAltText(){var e;return(e=f(this,Ht))==null?void 0:e.guessedText}async setGuessedAltText(e){var t;await((t=f(this,Ht))==null?void 0:t.setGuessedText(e))}serializeAltText(e){var t;return(t=f(this,Ht))==null?void 0:t.serialize(e)}hasAltText(){return!!f(this,Ht)&&!f(this,Ht).isEmpty()}hasAltTextData(){var e;return((e=f(this,Ht))==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,Ah)?-1:0,this._isVisible||this.div.classList.add("hidden"),this.setInForeground(),T(this,Be,Ob).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),Kg(this,this.div,["pointerdown"]),this.div}pointerdown(e){const{isMac:t}=vs.platform;if(e.button!==0||e.ctrlKey&&t){e.preventDefault();return}if(C(this,wl,!0),this._isDraggable){T(this,Be,jP).call(this,e);return}T(this,Be,Ib).call(this,e)}get isSelected(){return this._uiManager.isSelected(this)}moveInDOM(){f(this,dr)&&clearTimeout(f(this,dr)),C(this,dr,setTimeout(()=>{var e;C(this,dr,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,_l,!0)}disableEditMode(){C(this,_l,!1)}isInEditMode(){return f(this,_l)}shouldGetKeyboardEvents(){return f(this,Kr)}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}rebuild(){T(this,Be,Ob).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){Mt("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,yl,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,Zo))==null||e.abort(),C(this,Zo,null),this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),f(this,dr)&&(clearTimeout(f(this,dr)),C(this,dr,null)),T(this,Be,rd).call(this),this.removeEditToolbar(),f(this,ii)){for(const t of f(this,ii).values())clearTimeout(t);C(this,ii,null)}this.parent=null}get isResizable(){return!1}makeResizable(){this.isResizable&&(T(this,Be,DP).call(this),f(this,zn).classList.remove("hidden"),Kg(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,bl,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height});const t=f(this,zn).children;if(!f(this,Oi)){C(this,Oi,Array.from(t));const o=T(this,Be,zP).bind(this),a=T(this,Be,HP).bind(this),l=this._uiManager._signal;for(const c of f(this,Oi)){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,Be,BP).bind(this,h),{signal:l}),c.setAttribute("data-l10n-id",ht._l10nResizer[h])}}const s=f(this,Oi)[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,Oi).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,Ht))==null||s.toggleAltTextBadge(!1)}unselect(){var e,t,s,i,r;(e=f(this,zn))==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,Ht))==null||r.toggleAltTextBadge(!0)}updateParams(e,t){}disableEditing(){}enableEditing(){}enterInEditMode(){}getImageForAltText(){return null}get contentDiv(){return this.div}get isEditing(){return f(this,wf)}set isEditing(e){C(this,wf,e),this.parent&&(e?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null))}setAspectRatio(e,t){C(this,vl,!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,ii)||C(this,ii,new Map);const{action:s}=e;let i=f(this,ii).get(s);i&&clearTimeout(i),i=setTimeout(()=>{this._reportTelemetry(e),f(this,ii).delete(s),f(this,ii).size===0&&C(this,ii,null)},ht._telemetryTimeout),f(this,ii).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,Ah,!1)}disable(){this.div&&(this.div.tabIndex=-1),C(this,Ah,!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()}};yl=new WeakMap,Oi=new WeakMap,Ht=new WeakMap,Ah=new WeakMap,vl=new WeakMap,zn=new WeakMap,bl=new WeakMap,Zo=new WeakMap,bf=new WeakMap,wl=new WeakMap,Xo=new WeakMap,wf=new WeakMap,_l=new WeakMap,Kr=new WeakMap,dr=new WeakMap,kh=new WeakMap,xh=new WeakMap,ii=new WeakMap,_f=new WeakMap,xy=new WeakMap,Be=new WeakSet,$b=function([e,t],s,i){[s,i]=this.screenToPageTranslation(s,i),this.x+=s/e,this.y+=i/t,this.fixAndSetPosition()},Sf=new WeakSet,Tb=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]}},Pb=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]}},DP=function(){if(f(this,zn))return;C(this,zn,document.createElement("div")),f(this,zn).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,zn).append(i),i.classList.add("resizer",s),i.setAttribute("data-resizer-name",s),i.addEventListener("pointerdown",T(this,Be,FP).bind(this,s),{signal:t}),i.addEventListener("contextmenu",yi,{signal:t}),i.tabIndex=-1}this.div.prepend(f(this,zn))},FP=function(e,t){var m;t.preventDefault();const{isMac:s}=vs.platform;if(t.button!==0||t.ctrlKey&&s)return;(m=f(this,Ht))==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,Be,Mb).bind(this,e),{passive:!0,capture:!0,signal:o}),window.addEventListener("contextmenu",yi,{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,Ht))==null||g.toggle(!0),this._isDraggable=i,this.parent.div.style.cursor=u,this.div.style.cursor=d,T(this,Be,Rb).call(this,a,l,c,h)};window.addEventListener("pointerup",p,{signal:o}),window.addEventListener("blur",p,{signal:o})},Rb=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})},Mb=function(e,t){const[s,i]=this.parentDimensions,r=this.x,o=this.y,a=this.width,l=this.height,c=ht.MIN_SIZE/s,h=ht.MIN_SIZE/i,u=te=>Math.round(te*1e4)/1e4,d=T(this,Be,Pb).call(this,this.rotation),p=(te,ae)=>[d[0]*te+d[2]*ae,d[1]*te+d[3]*ae],m=T(this,Be,Pb).call(this,360-this.rotation),g=(te,ae)=>[m[0]*te+m[2]*ae,m[1]*te+m[3]*ae];let v,y,w=!1,_=!1;switch(e){case"topLeft":w=!0,v=(te,ae)=>[0,0],y=(te,ae)=>[te,ae];break;case"topMiddle":v=(te,ae)=>[te/2,0],y=(te,ae)=>[te/2,ae];break;case"topRight":w=!0,v=(te,ae)=>[te,0],y=(te,ae)=>[0,ae];break;case"middleRight":_=!0,v=(te,ae)=>[te,ae/2],y=(te,ae)=>[0,ae/2];break;case"bottomRight":w=!0,v=(te,ae)=>[te,ae],y=(te,ae)=>[0,0];break;case"bottomMiddle":v=(te,ae)=>[te/2,ae],y=(te,ae)=>[te/2,0];break;case"bottomLeft":w=!0,v=(te,ae)=>[0,ae],y=(te,ae)=>[te,0];break;case"middleLeft":_=!0,v=(te,ae)=>[0,ae/2],y=(te,ae)=>[te,ae/2];break}const k=v(a,l),A=y(a,l);let $=p(...A);const E=u(r+$[0]),O=u(o+$[1]);let F=1,q=1,[D,z]=this.screenToPageTranslation(t.movementX,t.movementY);if([D,z]=g(D/s,z/i),w){const te=Math.hypot(a,l);F=q=Math.max(Math.min(Math.hypot(A[0]-k[0]-D,A[1]-k[1]-z)/te,1/a,1/l),c/a,h/l)}else _?F=Math.max(c,Math.min(1,Math.abs(A[0]-k[0]-D)))/a:q=Math.max(h,Math.min(1,Math.abs(A[1]-k[1]-z)))/l;const K=u(a*F),L=u(l*q);$=p(...y(K,L));const ee=E-$[0],Q=O-$[1];this.width=K,this.height=L,this.x=ee,this.y=Q,this.setDims(s*K,i*L),this.fixAndSetPosition()},Ib=function(e){const{isMac:t}=vs.platform;e.ctrlKey&&!t||e.shiftKey||e.metaKey&&t?this.parent.toggleSelected(this):this.parent.setSelected(this)},jP=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,kh,e.clientX),C(this,xh,e.clientY);const o=a=>{const{clientX:l,clientY:c}=a,[h,u]=this.screenToPageTranslation(l-f(this,kh),c-f(this,xh));C(this,kh,l),C(this,xh,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,wl,!1),this._uiManager.endDragSession()||T(this,Be,Ib).call(this,e)};window.addEventListener("pointerup",r,{signal:i}),window.addEventListener("blur",r,{signal:i})},Ob=function(){if(f(this,Zo)||!this.div)return;C(this,Zo,new AbortController);const e=this._uiManager.combinedSignal(f(this,Zo));this.div.addEventListener("focusin",this.focusin.bind(this),{signal:e}),this.div.addEventListener("focusout",this.focusout.bind(this),{signal:e})},zP=function(e){ht._resizerKeyboardManager.exec(this,e)},HP=function(e){var t;f(this,Kr)&&((t=e.relatedTarget)==null?void 0:t.parentNode)!==f(this,zn)&&T(this,Be,rd).call(this)},BP=function(e){C(this,bf,f(this,Kr)?e:"")},Nb=function(e){if(f(this,Oi))for(const t of f(this,Oi))t.tabIndex=e},rd=function(){if(C(this,Kr,!1),T(this,Be,Nb).call(this,-1),f(this,bl)){const{savedX:e,savedY:t,savedWidth:s,savedHeight:i}=f(this,bl);T(this,Be,Rb).call(this,e,t,s,i),C(this,bl,null)}},R(ht,Sf),ce(ht,"_l10n",null),ce(ht,"_l10nResizer",null),ce(ht,"_borderLineWidth",-1),ce(ht,"_colorManager",new _b),ce(ht,"_zIndex",1),ce(ht,"_telemetryTimeout",1e3);let ft=ht;class r9 extends ft{constructor(e){super(e),this.annotationElementId=e.annotationElementId,this.deleted=!0}serialize(){return this.serializeDeleted()}}const mx=3285377520,ni=4294901760,Qi=65535;class qP{constructor(e){this.h1=e?e&4294967295:mx,this.h2=e?e&4294967295:mx}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&Qi,m=d&Qi;for(let g=0;g>>17,a=a*d&ni|a*m&Qi,c^=a,c=c<<13|c>>>19,c=c*5+3864292196):(l=o[g],l=l*u&ni|l*p&Qi,l=l<<15|l>>>17,l=l*d&ni|l*m&Qi,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&ni|a*p&Qi,a=a<<15|a>>>17,a=a*d&ni|a*m&Qi,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&ni|e*36045&Qi,t=t*4283543511&ni|((t<<16|e>>>16)*2950163797&ni)>>>16,e^=t>>>1,e=e*444984403&ni|e*60499&Qi,t=t*3301882366&ni|((t<<16|e>>>16)*3120437893&ni)>>>16,e^=t>>>1,(e>>>0).toString(16).padStart(8,"0")+(t>>>0).toString(16).padStart(8,"0")}}const Lb=Object.freeze({map:null,hash:"",transfer:void 0});var Sl,Al,Pn,Ey,UP;class J1{constructor(){R(this,Ey);R(this,Sl,!1);R(this,Al,null);R(this,Pn,new Map);this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(e,t){const s=f(this,Pn).get(e);return s===void 0?t:Object.assign(t,s)}getRawValue(e){return f(this,Pn).get(e)}remove(e){if(f(this,Pn).delete(e),f(this,Pn).size===0&&this.resetModified(),typeof this.onAnnotationEditor=="function"){for(const t of f(this,Pn).values())if(t instanceof ft)return;this.onAnnotationEditor(null)}}setValue(e,t){const s=f(this,Pn).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,Pn).set(e,t);i&&T(this,Ey,UP).call(this),t instanceof ft&&typeof this.onAnnotationEditor=="function"&&this.onAnnotationEditor(t.constructor._type)}has(e){return f(this,Pn).has(e)}getAll(){return f(this,Pn).size>0?W1(f(this,Pn)):null}setAll(e){for(const[t,s]of Object.entries(e))this.setValue(t,s)}get size(){return f(this,Pn).size}resetModified(){f(this,Sl)&&(C(this,Sl,!1),typeof this.onResetModified=="function"&&this.onResetModified())}get print(){return new VP(this)}get serializable(){if(f(this,Pn).size===0)return Lb;const e=new Map,t=new qP,s=[],i=Object.create(null);let r=!1;for(const[o,a]of f(this,Pn)){const l=a instanceof ft?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}:Lb}get editorStats(){let e=null;const t=new Map;for(const s of f(this,Pn).values()){if(!(s instanceof ft))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,Al,null)}get modifiedIds(){if(f(this,Al))return f(this,Al);const e=[];for(const t of f(this,Pn).values())!(t instanceof ft)||!t.annotationElementId||!t.serialize()||e.push(t.annotationElementId);return C(this,Al,{ids:new Set(e),hash:e.join(",")})}}Sl=new WeakMap,Al=new WeakMap,Pn=new WeakMap,Ey=new WeakSet,UP=function(){f(this,Sl)||(C(this,Sl,!0),typeof this.onSetModified=="function"&&this.onSetModified())};var Af;class VP extends J1{constructor(t){super();R(this,Af);const{map:s,hash:i,transfer:r}=t.serializable,o=structuredClone(s,r?{transfer:r}:null);C(this,Af,{map:o,hash:i,transfer:r})}get print(){Mt("Should not call PrintAnnotationStorage.print")}get serializable(){return f(this,Af)}get modifiedIds(){return Xe(this,"modifiedIds",{ids:new Set,hash:""})}}Af=new WeakMap;var Eh;class o9{constructor({ownerDocument:e=globalThis.document,styleElement:t=null}){R(this,Eh,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,Eh).clear(),this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async loadSystemFont({systemFontInfo:e,_inspectFont:t}){if(!(!e||f(this,Eh).has(e.loadedName))){if(wn(!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,Eh).add(s),t==null||t(e)}catch{Ue(`Cannot load system font: ${e.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(o)}return}Mt("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 Ue(`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 Xe(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),Xe(this,"isSyncFontLoadingSupported",e)}_queueLoadingCallback(e){function t(){for(wn(!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 Xe(this,"_loadTestFont",e)}_prepareFontLoadEvent(e,t){function s(k,A){return k.charCodeAt(A)<<24|k.charCodeAt(A+1)<<16|k.charCodeAt(A+2)<<8|k.charCodeAt(A+3)&255}function i(k,A,$,E){const O=k.substring(0,A),F=k.substring(A+$);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(k,A){if(++c>30){Ue("Load test font never loaded."),A();return}if(l.font="30px "+k,l.fillText(".",0,20),l.getImageData(0,0,1,1).data[3]>0){A();return}setTimeout(h.bind(null,k,A))}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()})}}Eh=new WeakMap;class a9{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,${XK(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){Ue(`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 jr.MOVE_TO:{const[a,l]=s.slice(r,r+2);i.push(c=>c.moveTo(a,l)),r+=2}break;case jr.LINE_TO:{const[a,l]=s.slice(r,r+2);i.push(c=>c.lineTo(a,l)),r+=2}break;case jr.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 jr.RESTORE:i.push(a=>a.restore());break;case jr.SAVE:i.push(a=>a.save());break;case jr.SCALE:wn(i.length===2,"Scale command is only valid at the third position.");break;case jr.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 jr.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){Mt("Abstract method `_fetch` called.")}}class KP extends GP{async _fetch(e){const t=await f0(e,this.isCompressed?"arraybuffer":"text");return t instanceof ArrayBuffer?new Uint8Array(t):d0(t)}}class ZP{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 kl,xl,fr,Zr,is,Cy,El,we,ns,Dc,Fc,Qm,jc,XP,Db,zc,od,ad,Fb,ld;class c9 extends ZP{constructor({docId:t,ownerDocument:s=globalThis.document}){super();R(this,we);R(this,kl);R(this,xl);R(this,fr);R(this,Zr);R(this,is);R(this,Cy);R(this,El,0);C(this,Zr,t),C(this,is,s)}addFilter(t){if(!t)return"none";let s=f(this,we,ns).get(t);if(s)return s;const[i,r,o]=T(this,we,Qm).call(this,t),a=t.length===1?i:`${i}${r}${o}`;if(s=f(this,we,ns).get(a),s)return f(this,we,ns).set(t,s),s;const l=`g_${f(this,Zr)}_transfer_map_${ds(this,El)._++}`,c=T(this,we,jc).call(this,l);f(this,we,ns).set(t,c),f(this,we,ns).set(a,c);const h=T(this,we,zc).call(this,l);return T(this,we,ad).call(this,i,r,o,h),c}addHCMFilter(t,s){var m;const i=`${t}-${s}`,r="base";let o=f(this,we,Dc).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,we,Dc).set(r,o)),!t||!s))return o.url;const a=T(this,we,ld).call(this,t);t=Ee.makeHexColor(...a);const l=T(this,we,ld).call(this,s);if(s=Ee.makeHexColor(...l),f(this,we,Fc).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,Zr)}_hcm_filter`,d=o.filter=T(this,we,zc).call(this,u);T(this,we,ad).call(this,h,h,h,d),T(this,we,Db).call(this,d);const p=(g,v)=>{const y=a[g]/255,w=l[g]/255,_=new Array(v+1);for(let k=0;k<=v;k++)_[k]=y+k/v*(w-y);return _.join(",")};return T(this,we,ad).call(this,p(0,5),p(1,5),p(2,5),d),o.url=T(this,we,jc).call(this,u),o.url}addAlphaFilter(t){let s=f(this,we,ns).get(t);if(s)return s;const[i]=T(this,we,Qm).call(this,[t]),r=`alpha_${i}`;if(s=f(this,we,ns).get(r),s)return f(this,we,ns).set(t,s),s;const o=`g_${f(this,Zr)}_alpha_map_${ds(this,El)._++}`,a=T(this,we,jc).call(this,o);f(this,we,ns).set(t,a),f(this,we,ns).set(r,a);const l=T(this,we,zc).call(this,o);return T(this,we,Fb).call(this,i,l),a}addLuminosityFilter(t){let s=f(this,we,ns).get(t||"luminosity");if(s)return s;let i,r;if(t?([i]=T(this,we,Qm).call(this,[t]),r=`luminosity_${i}`):r="luminosity",s=f(this,we,ns).get(r),s)return f(this,we,ns).set(t,s),s;const o=`g_${f(this,Zr)}_luminosity_map_${ds(this,El)._++}`,a=T(this,we,jc).call(this,o);f(this,we,ns).set(t,a),f(this,we,ns).set(r,a);const l=T(this,we,zc).call(this,o);return T(this,we,XP).call(this,l),t&&T(this,we,Fb).call(this,i,l),a}addHighlightHCMFilter(t,s,i,r,o){var w;const a=`${s}-${i}-${r}-${o}`;let l=f(this,we,Dc).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,we,Dc).set(t,l)),!s||!i))return l.url;const[c,h]=[s,i].map(T(this,we,ld).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,we,ld).bind(this));d{const $=new Array(256),E=(d-u)/A,O=_/255,F=(k-_)/(255*A);let q=0;for(let D=0;D<=A;D++){const z=Math.round(u+D*E),K=O+D*F;for(let L=q;L<=z;L++)$[L]=K;q=z+1}for(let D=q;D<256;D++)$[D]=$[q-1];return $.join(",")},v=`g_${f(this,Zr)}_hcm_${t}_filter`,y=l.filter=T(this,we,zc).call(this,v);return T(this,we,Db).call(this,y),T(this,we,ad).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,we,jc).call(this,v),l.url}destroy(t=!1){t&&f(this,we,Dc).size!==0||(f(this,fr)&&(f(this,fr).parentNode.parentNode.remove(),C(this,fr,null)),f(this,xl)&&(f(this,xl).clear(),C(this,xl,null)),C(this,El,0))}}kl=new WeakMap,xl=new WeakMap,fr=new WeakMap,Zr=new WeakMap,is=new WeakMap,Cy=new WeakMap,El=new WeakMap,we=new WeakSet,ns=function(){return f(this,xl)||C(this,xl,new Map)},Dc=function(){return f(this,Cy)||C(this,Cy,new Map)},Fc=function(){if(!f(this,fr)){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(Hr,"svg");i.setAttribute("width",0),i.setAttribute("height",0),C(this,fr,f(this,is).createElementNS(Hr,"defs")),t.append(i),i.append(f(this,fr)),f(this,is).body.append(t)}return f(this,fr)},Qm=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(",")]},jc=function(t){if(f(this,kl)===void 0){C(this,kl,"");const s=f(this,is).URL;s!==f(this,is).baseURI&&(p0(s)?Ue('#createUrl: ignore "data:"-URL for performance reasons.'):C(this,kl,s.split("#",1)[0]))}return`url(${f(this,kl)}#${t})`},XP=function(t){const s=f(this,is).createElementNS(Hr,"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)},Db=function(t){const s=f(this,is).createElementNS(Hr,"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)},zc=function(t){const s=f(this,is).createElementNS(Hr,"filter");return s.setAttribute("color-interpolation-filters","sRGB"),s.setAttribute("id",t),f(this,we,Fc).append(s),s},od=function(t,s,i){const r=f(this,is).createElementNS(Hr,s);r.setAttribute("type","discrete"),r.setAttribute("tableValues",i),t.append(r)},ad=function(t,s,i,r){const o=f(this,is).createElementNS(Hr,"feComponentTransfer");r.append(o),T(this,we,od).call(this,o,"feFuncR",t),T(this,we,od).call(this,o,"feFuncG",s),T(this,we,od).call(this,o,"feFuncB",i)},Fb=function(t,s){const i=f(this,is).createElementNS(Hr,"feComponentTransfer");s.append(i),T(this,we,od).call(this,i,"feFuncA",t)},ld=function(t){return f(this,we,Fc).style.color=t,Y1(getComputedStyle(f(this,we,Fc)).getPropertyValue("color"))};class YP{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){Mt("Abstract method `_fetch` called.")}}class JP extends YP{async _fetch(e){const t=await f0(e,"arraybuffer");return new Uint8Array(t)}}if(cs){var jb=Promise.withResolvers(),Md=null;(async()=>{const e=await Wp(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),t=await Wp(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),s=await Wp(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),i=await Wp(()=>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=>{Md=e,jb.resolve()},e=>{Ue(`loadPackages: ${e}`),Md=new Map,jb.resolve()})}class xa{static get promise(){return jb.promise}static get(e){return Md==null?void 0:Md.get(e)}}async function QP(n){const t=await xa.get("fs").promises.readFile(n);return new Uint8Array(t)}class h9 extends ZP{}class u9 extends WP{_createCanvas(e,t){return xa.get("canvas").createCanvas(e,t)}}class d9 extends GP{async _fetch(e){return QP(e)}}class f9 extends YP{async _fetch(e){return QP(e)}}const ys={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function zb(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 Q1{getPattern(){Mt("Abstract method `getPattern` called.")}}class p9 extends Q1{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===ys.STROKE||i===ys.FILL){const o=t.current.getClippedPathBoundingBox(i,qt(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=Ee.transform(s,[1,0,0,1,o[0],o[1]]),h.transform(...t.baseTransform),this.matrix&&h.transform(...this.matrix),zb(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 zb(e,this._bbox),r=this._createGradient(e);return r}}function tv(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],k=c[r+1],A=c[r+2],$=c[o],E=c[o+1],O=c[o+2],F=c[a],q=c[a+1],D=c[a+2],z=Math.round(m),K=Math.round(w);let L,ee,Q,te,ae,ge,B,P;for(let N=z;N<=K;N++){if(Nw?G=1:v===w?G=0:G=(v-N)/(v-w),L=g-(g-y)*G,ee=$-($-F)*G,Q=E-(E-q)*G,te=O-(O-D)*G}let M;Nw?M=1:M=(m-N)/(m-w),ae=p-(p-y)*M,ge=_-(_-F)*M,B=k-(k-q)*M,P=A-(A-D)*M;const b=Math.round(Math.min(L,ae)),x=Math.round(Math.max(L,ae));let I=u*N+b*4;for(let G=b;G<=x;G++)M=(L-G)/(L-ae),M<0?M=0:M>1&&(M=1),h[I++]=ee-(ee-ge)*M|0,h[I++]=Q-(Q-B)*M|0,h[I++]=te-(te-P)*M|0,h[I++]=255}}function m9(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=q?k=l:$=!0,F>=D?A=c:E=!0;const z=this.getSizeAndScale(k,this.ctx.canvas.width,w),K=this.getSizeAndScale(A,this.ctx.canvas.height,_),L=e.cachedCanvases.getCanvas("pattern",z.size,K.size),ee=L.context,Q=a.createCanvasGraphics(ee);if(Q.groupLevel=e.groupLevel,this.setFillAndStrokeStyleToContext(Q,i,o),ee.translate(-z.scale*h,-K.scale*u),Q.transform(z.scale,0,0,K.scale,0,0),ee.save(),this.clipBbox(Q,h,u,d,p),Q.baseTransform=qt(Q.ctx),Q.executeOperatorList(s),Q.endDrawing(),ee.restore(),$||E){const te=L.canvas;$&&(k=l),E&&(A=c);const ae=this.getSizeAndScale(k,this.ctx.canvas.width,w),ge=this.getSizeAndScale(A,this.ctx.canvas.height,_),B=ae.size,P=ge.size,N=e.cachedCanvases.getCanvas("pattern-workaround",B,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 G=0;G<=x;G++)M.drawImage(te,B*I,P*G,B,P,0,0,B,P);return{canvas:N.canvas,scaleX:ae.scale,scaleY:ge.scale,offsetX:h,offsetY:u}}return{canvas:L.canvas,scaleX:z.scale,scaleY:K.scale,offsetX:h,offsetY:u}}getSizeAndScale(e,t,s){const i=Math.max($y.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(qt(e.ctx),[t,s,i,r]),e.clip(),e.endPath()}setFillAndStrokeStyleToContext(e,t,s){const i=e.ctx,r=e.current;switch(t){case gx.COLORED:const o=this.ctx;i.fillStyle=o.fillStyle,i.strokeStyle=o.strokeStyle,r.fillColor=o.fillStyle,r.strokeColor=o.strokeStyle;break;case gx.UNCOLORED:const a=Ee.makeHexColor(s[0],s[1],s[2]);i.fillStyle=a,i.strokeStyle=a,r.fillColor=a,r.strokeColor=a;break;default:throw new qK(`Unsupported paint type: ${t}`)}}getPattern(e,t,s,i){let r=s;i!==ys.SHADING&&(r=Ee.transform(r,t.baseTransform),this.matrix&&(r=Ee.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}};ce($y,"MAX_PATTERN_SIZE",3e3);let Hb=$y;function b9({src:n,srcPos:e=0,dest:t,width:s,height:i,nonBlackColor:r=4294967295,inverseDecode:o=!1}){const a=vs.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 S9{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 cm(n,e,t,s,i,r,o,a,l,c){const[h,u,d,p,m,g]=qt(n);if(u===0&&d===0){const w=o*h+m,_=Math.round(w),k=a*p+g,A=Math.round(k),$=(o+l)*h+m,E=Math.abs(Math.round($)-_)||1,O=(a+c)*p+g,F=Math.abs(Math.round(O)-A)||1;return n.setTransform(Math.sign(h),0,0,Math.sign(p),_,A),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),k=o*u+g,A=Math.round(k),$=(a+c)*d+m,E=Math.abs(Math.round($)-_)||1,O=(o+l)*u+g,F=Math.abs(Math.round(O)-A)||1;return n.setTransform(0,Math.sign(u),Math.sign(d),0,_,A),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 A9(n){const{width:e,height:t}=n;if(e>wx||t>wx)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]&=k>>2|k<<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 _x{constructor(e,t){this.alphaIsShape=!1,this.fontSize=0,this.fontSizeScale=1,this.textMatrix=gP,this.textMatrixScale=1,this.fontMatrix=fb,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]=Ee.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=Ee.applyTransform(t,e),i=Ee.applyTransform(t.slice(2),e),r=Ee.applyTransform([t[0],t[3]],e),o=Ee.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){Ee.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=Ee.bezierBoundingBox(t,s,i,r,o,a,l,c,h);h||this.updateRectMinMax(e,u)}getPathBoundingBox(e=ys.FILL,t=null){const s=[this.minX,this.minY,this.maxX,this.maxY];if(e===ys.STROKE){t||Mt("Stroke bounding box must include transform.");const i=Ee.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=Ee.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=ys.FILL,t=null){return Ee.intersect(this.clipBox,this.getPathBoundingBox(e,t))}}function Sx(n,e){if(typeof ImageData<"u"&&e instanceof ImageData){n.putImageData(e,0,0);return}const t=e.height,s=e.width,i=t%Ps,r=(t-i)/Ps,o=i===0?r:r+1,a=n.createImageData(s,Ps);let l=0,c;const h=e.data,u=a.data;let d,p,m,g;if(e.kind===Wm.GRAYSCALE_1BPP){const v=h.byteLength,y=new Uint32Array(u.buffer,0,u.byteLength>>2),w=y.length,_=s+7>>3,k=4294967295,A=vs.isLittleEndian?4278190080:255;for(d=0;d_?s:$*8-7,F=O&-8;let q=0,D=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*Ps)}else throw new Error(`bad image kind: ${e.kind}`)}function Ax(n,e){if(e.bitmap){n.drawImage(e.bitmap,0,0);return}const t=e.height,s=e.width,i=t%Ps,r=(t-i)/Ps,o=i===0?r:r+1,a=n.createImageData(s,Ps);let l=0;const c=e.data,h=a.data;for(let u=0;ubx&&typeof s=="function",h=c?Date.now()+w9: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!==Ti.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>bx){if(Date.now()>h)return s(),a;u=0}}}endDrawing(){T(this,Ra,Bb).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,Ra,qb).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=qt(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 q=Math.round(Math.min(a[0],a[2])+a[4]),D=Math.round(Math.min(a[1],a[3])+a[5]);return{canvas:F,offsetX:q,offsetY:D}}h=F}h||(u=this.cachedCanvases.getCanvas("maskCanvas",s,i),Ax(u.context,e));let d=Ee.transform(a,[1/s,0,0,-1/i,0,0]);d=Ee.transform(d,[1,0,0,1,0,-i]);const[p,m,g,v]=Ee.getAxialAlignedBoundingBox([0,0,s,i],d),y=Math.round(g-p)||1,w=Math.round(v-m)||1,_=this.cachedCanvases.getCanvas("fillCanvas",y,w),k=_.context,A=p,$=m;k.translate(-A,-$),k.transform(...d),h||(h=this._scaleImage(u.canvas,zr(k)),h=h.img,l&&o&&l.set(c,h)),k.imageSmoothingEnabled=kx(qt(k),e.interpolate),cm(k,h,0,0,h.width,h.height,0,0,s,i),k.globalCompositeOperation="source-in";const E=Ee.transform(zr(k),[1,0,0,1,-A,-$]);return k.fillStyle=o?r.getPattern(t,this,E,ys.FILL):r,k.fillRect(0,0,s,i),l&&!o&&(this.cachedCanvases.delete("fillCanvas"),l.set(c,_.canvas)),{canvas:_.canvas,offsetX:Math.round(A),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=k9[e]}setLineJoin(e){this.ctx.lineJoin=x9[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(...qt(this.suspendedCtx)),Uu(this.suspendedCtx,r),_9(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(),Uu(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=Ee.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?(Uu(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(),Uu(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=qt(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;pvx&&(c=vx),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:qt(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 Xe(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,zr(r),ys.FILL);y=qt(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 k=0,A;for(A=0;A0){const ee=r.measureText(F).width*1e3/i*o;if(Knew LA(o,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack})};t=new Hb(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=Ee.makeHexColor(e,t,s)}setStrokeTransparent(){this.ctx.strokeStyle=this.current.strokeColor="transparent"}setFillRGBColor(e,t,s){this.ctx.fillStyle=this.current.fillColor=Ee.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=v9(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,zr(t),ys.SHADING);const i=zr(t);if(i){const{width:r,height:o}=t.canvas,[a,l,c,h]=Ee.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(){Mt("Should not call beginInlineImage")}beginImageData(){Mt("Should not call beginImageData")}paintFormXObjectBegin(e,t){if(this.contentVisible&&(this.save(),this.baseTransformStack.push(this.baseTransform),e&&this.transform(...e),this.baseTransform=qt(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(qt(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||h0("TODO: Support non-isolated groups."),e.knockout&&Ue("Knockout groups not supported.");const s=qt(t);if(e.matrix&&t.transform(...e.matrix),!e.bbox)throw new Error("Bounding box is required.");let i=Ee.getAxialAlignedBoundingBox(e.bbox,qt(t));const r=[0,0,t.canvas.width,t.canvas.height];i=Ee.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()),Uu(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=qt(this.ctx);this.restore(),this.ctx.save(),this.ctx.setTransform(...i);const r=Ee.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,Ra,Bb).call(this),hm(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]=Ee.singularValueDecompose2dScale(qt(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),hm(this.ctx)}else hm(this.ctx),this.endPath(),this.ctx.rect(t[0],t[1],o,a),this.ctx.clip(),this.ctx.beginPath()}this.current=new _x(this.ctx.canvas.width,this.ctx.canvas.height),this.transform(...s),this.transform(...i)}endAnnotation(){this.annotationCanvas&&(this.ctx.restore(),T(this,Ra,qb).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=A9(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=qt(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}};Ra=new WeakSet,Bb=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)},qb=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 ih=LA;for(const n in Ti)ih.prototype[n]!==void 0&&(ih.prototype[Ti[n]]=ih.prototype[n]);var xf,Ef;class mo{static get workerPort(){return f(this,xf)}static set workerPort(e){if(!(typeof Worker<"u"&&e instanceof Worker)&&e!==null)throw new Error("Invalid `workerPort` type.");C(this,xf,e)}static get workerSrc(){return f(this,Ef)}static set workerSrc(e){if(typeof e!="string")throw new Error("Invalid `workerSrc` type.");C(this,Ef,e)}}xf=new WeakMap,Ef=new WeakMap,R(mo,xf,null),R(mo,Ef,"");const um={DATA:1,ERROR:2},on={CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function Fs(n){switch(n instanceof Error||typeof n=="object"&&n!==null||Mt('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),n.name){case"AbortException":return new Ec(n.message);case"MissingPDFException":return new xc(n.message);case"PasswordException":return new pb(n.message,n.code);case"UnexpectedResponseException":return new u0(n.message,n.status);case"UnknownErrorException":return new mb(n.message,n.details);default:return new mb(n.message,n.toString())}}var Ch,gi,eR,tR,nR,eg;class cd{constructor(e,t,s){R(this,gi);R(this,Ch,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,gi,eR).bind(this),{signal:f(this,Ch).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:on.PULL,streamId:r,desiredSize:c.desiredSize}),h.promise},cancel:c=>{wn(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:on.CANCEL,streamId:r,reason:Fs(c)}),h.promise}},s)}destroy(){var e;(e=f(this,Ch))==null||e.abort(),C(this,Ch,null)}}Ch=new WeakMap,gi=new WeakSet,eR=function({data:e}){if(e.targetName!==this.sourceName)return;if(e.stream){T(this,gi,nR).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===um.DATA)i.resolve(e.data);else if(e.callback===um.ERROR)i.reject(Fs(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:um.DATA,callbackId:e.callbackId,data:o})},function(o){r.postMessage({sourceName:s,targetName:i,callback:um.ERROR,callbackId:e.callbackId,reason:Fs(o)})});return}if(e.streamId){T(this,gi,tR).call(this,e);return}t(e.data)},tR=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:on.ENQUEUE,streamId:t,chunk:c},u)},close(){this.isCancelled||(this.isCancelled=!0,r.postMessage({sourceName:s,targetName:i,stream:on.CLOSE,streamId:t}),delete o.streamSinks[t])},error(c){wn(c instanceof Error,"error must have a valid reason"),!this.isCancelled&&(this.isCancelled=!0,r.postMessage({sourceName:s,targetName:i,stream:on.ERROR,streamId:t,reason:Fs(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:on.START_COMPLETE,streamId:t,success:!0})},function(c){r.postMessage({sourceName:s,targetName:i,stream:on.START_COMPLETE,streamId:t,reason:Fs(c)})})},nR=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 on.START_COMPLETE:e.success?o.startCall.resolve():o.startCall.reject(Fs(e.reason));break;case on.PULL_COMPLETE:e.success?o.pullCall.resolve():o.pullCall.reject(Fs(e.reason));break;case on.PULL:if(!a){r.postMessage({sourceName:s,targetName:i,stream:on.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:on.PULL_COMPLETE,streamId:t,success:!0})},function(l){r.postMessage({sourceName:s,targetName:i,stream:on.PULL_COMPLETE,streamId:t,reason:Fs(l)})});break;case on.ENQUEUE:if(wn(o,"enqueue should have stream controller"),o.isClosed)break;o.controller.enqueue(e.chunk);break;case on.CLOSE:if(wn(o,"close should have stream controller"),o.isClosed)break;o.isClosed=!0,o.controller.close(),T(this,gi,eg).call(this,o,t);break;case on.ERROR:wn(o,"error should have stream controller"),o.controller.error(Fs(e.reason)),T(this,gi,eg).call(this,o,t);break;case on.CANCEL_COMPLETE:e.success?o.cancelCall.resolve():o.cancelCall.reject(Fs(e.reason)),T(this,gi,eg).call(this,o,t);break;case on.CANCEL:if(!a)break;new Promise(function(l){var c;l((c=a.onCancel)==null?void 0:c.call(a,Fs(e.reason)))}).then(function(){r.postMessage({sourceName:s,targetName:i,stream:on.CANCEL_COMPLETE,streamId:t,success:!0})},function(l){r.postMessage({sourceName:s,targetName:i,stream:on.CANCEL_COMPLETE,streamId:t,reason:Fs(l)})}),a.sinkCapability.reject(Fs(e.reason)),a.isCancelled=!0,delete this.streamSinks[t];break;default:throw new Error("Unexpected stream case")}},eg=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 Cl,Cf;class C9{constructor({parsedData:e,rawData:t}){R(this,Cl);R(this,Cf);C(this,Cl,e),C(this,Cf,t)}getRaw(){return f(this,Cf)}get(e){return f(this,Cl).get(e)??null}getAll(){return W1(f(this,Cl))}has(e){return f(this,Cl).has(e)}}Cl=new WeakMap,Cf=new WeakMap;const Hc=Symbol("INTERNAL");var $f,Tf,Pf,$h;class $9{constructor(e,{name:t,intent:s,usage:i,rbGroups:r}){R(this,$f,!1);R(this,Tf,!1);R(this,Pf,!1);R(this,$h,!0);C(this,$f,!!(e&Ks.DISPLAY)),C(this,Tf,!!(e&Ks.PRINT)),this.name=t,this.intent=s,this.usage=i,this.rbGroups=r}get visible(){if(f(this,Pf))return f(this,$h);if(!f(this,$h))return!1;const{print:e,view:t}=this.usage;return f(this,$f)?(t==null?void 0:t.viewState)!=="OFF":f(this,Tf)?(e==null?void 0:e.printState)!=="OFF":!0}_setVisible(e,t,s=!1){e!==Hc&&Mt("Internal method `_setVisible` called."),C(this,Pf,s),C(this,$h,t)}}$f=new WeakMap,Tf=new WeakMap,Pf=new WeakMap,$h=new WeakMap;var Yo,dt,Th,Ph,Rf,Ub;class T9{constructor(e,t=Ks.DISPLAY){R(this,Rf);R(this,Yo,null);R(this,dt,new Map);R(this,Th,null);R(this,Ph,null);if(this.renderingIntent=t,this.name=null,this.creator=null,e!==null){this.name=e.name,this.creator=e.creator,C(this,Ph,e.order);for(const s of e.groups)f(this,dt).set(s.id,new $9(t,s));if(e.baseState==="OFF")for(const s of f(this,dt).values())s._setVisible(Hc,!1);for(const s of e.on)f(this,dt).get(s)._setVisible(Hc,!0);for(const s of e.off)f(this,dt).get(s)._setVisible(Hc,!1);C(this,Th,this.getHash())}}isVisible(e){if(f(this,dt).size===0)return!0;if(!e)return h0("Optional content group not defined."),!0;if(e.type==="OCG")return f(this,dt).has(e.id)?f(this,dt).get(e.id).visible:(Ue(`Optional content group not found: ${e.id}`),!0);if(e.type==="OCMD"){if(e.expression)return T(this,Rf,Ub).call(this,e.expression);if(!e.policy||e.policy==="AnyOn"){for(const t of e.ids){if(!f(this,dt).has(t))return Ue(`Optional content group not found: ${t}`),!0;if(f(this,dt).get(t).visible)return!0}return!1}else if(e.policy==="AllOn"){for(const t of e.ids){if(!f(this,dt).has(t))return Ue(`Optional content group not found: ${t}`),!0;if(!f(this,dt).get(t).visible)return!1}return!0}else if(e.policy==="AnyOff"){for(const t of e.ids){if(!f(this,dt).has(t))return Ue(`Optional content group not found: ${t}`),!0;if(!f(this,dt).get(t).visible)return!0}return!1}else if(e.policy==="AllOff"){for(const t of e.ids){if(!f(this,dt).has(t))return Ue(`Optional content group not found: ${t}`),!0;if(f(this,dt).get(t).visible)return!1}return!0}return Ue(`Unknown optional content policy ${e.policy}.`),!0}return Ue(`Unknown group type ${e.type}.`),!0}setVisibility(e,t=!0,s=!0){var r;const i=f(this,dt).get(e);if(!i){Ue(`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,dt).get(a))==null||r._setVisible(Hc,!1,!0));i._setVisible(Hc,!!t,!0),C(this,Yo,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,dt).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,Yo,null)}get hasInitialVisibility(){return f(this,Th)===null||this.getHash()===f(this,Th)}getOrder(){return f(this,dt).size?f(this,Ph)?f(this,Ph).slice():[...f(this,dt).keys()]:null}getGroups(){return f(this,dt).size>0?W1(f(this,dt)):null}getGroup(e){return f(this,dt).get(e)||null}getHash(){if(f(this,Yo)!==null)return f(this,Yo);const e=new qP;for(const[t,s]of f(this,dt))e.update(`${t}:${s.visible}`);return C(this,Yo,e.hexdigest())}}Yo=new WeakMap,dt=new WeakMap,Th=new WeakMap,Ph=new WeakMap,Rf=new WeakSet,Ub=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)});wn(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(){wn(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");const e=this._queuedChunks;return this._queuedChunks=null,new R9(this,e,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;const s=new M9(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 R9{constructor(e,t,s=!1,i=null){this._stream=e,this._done=s||!1,this._filename=Z1(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 M9{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 I9(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=d0(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(!sR(r.status))throw m0(r.status,i);this._reader=r.body.getReader(),this._headersCapability.resolve();const o=r.headers,{allowRangeRequests:a,suggestedLength:l}=tA({responseHeaders:o,isHttp:e.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=a,this._contentLength=l||this._contentLength,this._filename=nA(o),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new Ec("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:rR(e),done:!1})}cancel(e){var t;(t=this._reader)==null||t.cancel(e),this._abortController.abort()}}class N9{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(!sR(a.status))throw m0(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:rR(e),done:!1})}cancel(e){var t;(t=this._reader)==null||t.cancel(e),this._abortController.abort()}}const nv=200,sv=206;function L9(n){const e=n.response;return typeof e!="string"?e:d0(e).buffer}class D9{constructor({url:e,httpHeaders:t,withCredentials:s}){this.url=e,this.isHttp=/^https?:/i.test(e),this.headers=eA(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=sv):i.expectedStatus=nv,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||nv;if(!(r===nv&&s.expectedStatus===sv)&&r!==s.expectedStatus){(c=s.onError)==null||c.call(s,i.status);return}const a=L9(i);if(r===sv){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 F9{constructor(e){this._source=e,this._manager=new D9(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 wn(!this._fullRequestReader,"PDFNetworkStream.getFullReader can only be called once."),this._fullRequestReader=new j9(this._manager,this._source),this._fullRequestReader}getRangeReader(e,t){const s=new z9(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 j9{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}=tA({responseHeaders:s,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});i&&(this._isRangeSupported=!0),this._contentLength=r||this._contentLength,this._filename=nA(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=m0(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 z9{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=m0(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 H9=/^[a-z][a-z0-9\-+.]+:/i;function B9(n){if(H9.test(n))return new URL(n);const e=xa.get("url");return new URL(e.pathToFileURL(n))}function oR(n,e,t){return n.protocol==="http:"?xa.get("http").request(n,{headers:e},t):xa.get("https").request(n,{headers:e},t)}class q9{constructor(e){this.source=e,this.url=B9(e.url),this.isHttp=this.url.protocol==="http:"||this.url.protocol==="https:",this.isFsUrl=this.url.protocol==="file:",this.headers=eA(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 wn(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once."),this._fullRequestReader=this.isFsUrl?new W9(this):new U9(this),this._fullRequestReader}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;const s=this.isFsUrl?new G9(this,e,t):new V9(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 aR{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 Ec("streaming is disabled")),this._storedError&&this._readableStream.destroy(this._storedError)}}class lR{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 U9 extends aR{constructor(e){super(e);const t=Object.fromEntries(e.headers),s=i=>{if(i.statusCode===404){const l=new xc(`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}=tA({responseHeaders:r,isHttp:e.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=o,this._contentLength=a||this._contentLength,this._filename=nA(r)};this._request=oR(this._url,t,s),this._request.on("error",i=>{this._storedError=i,this._headersCapability.reject(i)}),this._request.end()}}class V9 extends lR{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 xc(`Missing PDF "${this._url}".`);this._storedError=a;return}this._setReadableStream(o)};this._request=oR(this._url,i,r),this._request.on("error",o=>{this._storedError=o}),this._request.end()}}class W9 extends aR{constructor(e){super(e);const t=xa.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 xc(`Missing PDF "${this._url}".`)),this._storedError=s,this._headersCapability.reject(s)})}}class G9 extends lR{constructor(e,t,s){super(e);const i=xa.get("fs");this._setReadableStream(i.createReadStream(this._url,{start:t,end:s-1}))}}const K9=1e5,As=30,Z9=.8;var uC,Jo,Es,Mf,If,$l,Xr,Of,Nf,Tl,Rh,Mh,Qo,Ih,Lf,Oh,Pl,Df,Ff,Gt,Rl,Ml,jf,ea,Nh,xo,cR,hR,Wb,Js,tg,Gb,uR,dR;let Vb=(Gt=class{constructor({textContentSource:e,container:t,viewport:s}){R(this,xo);R(this,Jo,Promise.withResolvers());R(this,Es,null);R(this,Mf,!1);R(this,If,!!((uC=globalThis.FontInspector)!=null&&uC.enabled));R(this,$l,null);R(this,Xr,null);R(this,Of,0);R(this,Nf,0);R(this,Tl,null);R(this,Rh,null);R(this,Mh,0);R(this,Qo,0);R(this,Ih,Object.create(null));R(this,Lf,[]);R(this,Oh,null);R(this,Pl,[]);R(this,Df,new WeakMap);R(this,Ff,null);var l;if(e instanceof ReadableStream)C(this,Oh,e);else if(typeof e=="object")C(this,Oh,new ReadableStream({start(c){c.enqueue(e),c.close()}}));else throw new Error('No "textContentSource" parameter specified.');C(this,Es,C(this,Rh,t)),C(this,Qo,s.scale*(globalThis.devicePixelRatio||1)),C(this,Mh,s.rotation),C(this,Xr,{div:null,properties:null,ctx:null});const{pageWidth:i,pageHeight:r,pageX:o,pageY:a}=s.rawDims;C(this,Ff,[1,0,0,-1,-o,a+r]),C(this,Nf,i),C(this,Of,r),T(l=Gt,Js,uR).call(l),dc(t,s),f(this,Jo).promise.finally(()=>{f(Gt,Nh).delete(this),C(this,Xr,null),C(this,Ih,null)}).catch(()=>{})}static get fontFamilyMap(){const{isWindows:e,isFirefox:t}=vs.platform;return Xe(this,"fontFamilyMap",new Map([["sans-serif",`${e&&t?"Calibri, ":""}sans-serif`],["monospace",`${e&&t?"Lucida Console, ":""}monospace`]]))}render(){const e=()=>{f(this,Tl).read().then(({value:t,done:s})=>{if(s){f(this,Jo).resolve();return}f(this,$l)??C(this,$l,t.lang),Object.assign(f(this,Ih),t.styles),T(this,xo,cR).call(this,t.items),e()},f(this,Jo).reject)};return C(this,Tl,f(this,Oh).getReader()),f(Gt,Nh).add(this),e(),f(this,Jo).promise}update({viewport:e,onBefore:t=null}){var r;const s=e.scale*(globalThis.devicePixelRatio||1),i=e.rotation;if(i!==f(this,Mh)&&(t==null||t(),C(this,Mh,i),dc(f(this,Rh),{rotation:i})),s!==f(this,Qo)){t==null||t(),C(this,Qo,s);const o={div:null,properties:null,ctx:T(r=Gt,Js,tg).call(r,f(this,$l))};for(const a of f(this,Pl))o.properties=f(this,Df).get(a),o.div=a,T(this,xo,Wb).call(this,o)}}cancel(){var t;const e=new Ec("TextLayer task cancelled.");(t=f(this,Tl))==null||t.cancel(e).catch(()=>{}),C(this,Tl,null),f(this,Jo).reject(e)}get textDivs(){return f(this,Pl)}get textContentItemsStr(){return f(this,Lf)}static cleanup(){if(!(f(this,Nh).size>0)){f(this,Rl).clear();for(const{canvas:e}of f(this,Ml).values())e.remove();f(this,Ml).clear()}}},Jo=new WeakMap,Es=new WeakMap,Mf=new WeakMap,If=new WeakMap,$l=new WeakMap,Xr=new WeakMap,Of=new WeakMap,Nf=new WeakMap,Tl=new WeakMap,Rh=new WeakMap,Mh=new WeakMap,Qo=new WeakMap,Ih=new WeakMap,Lf=new WeakMap,Oh=new WeakMap,Pl=new WeakMap,Df=new WeakMap,Ff=new WeakMap,Rl=new WeakMap,Ml=new WeakMap,jf=new WeakMap,ea=new WeakMap,Nh=new WeakMap,xo=new WeakSet,cR=function(e){var i,r;if(f(this,Mf))return;(r=f(this,Xr)).ctx??(r.ctx=T(i=Gt,Js,tg).call(i,f(this,$l)));const t=f(this,Pl),s=f(this,Lf);for(const o of e){if(t.length>K9){Ue("Ignoring additional textDivs for performance reasons."),C(this,Mf,!0);return}if(o.str===void 0){if(o.type==="beginMarkedContentProps"||o.type==="beginMarkedContent"){const a=f(this,Es);C(this,Es,document.createElement("span")),f(this,Es).classList.add("markedContent"),o.id!==null&&f(this,Es).setAttribute("id",`${o.id}`),a.append(f(this,Es))}else o.type==="endMarkedContent"&&C(this,Es,f(this,Es).parentNode);continue}s.push(o.str),T(this,xo,hR).call(this,o)}},hR=function(e){var g;const t=document.createElement("span"),s={angle:0,canvasWidth:0,hasText:e.str!=="",hasEOL:e.hasEOL,fontSize:0};f(this,Pl).push(t);const i=Ee.transform(f(this,Ff),e.transform);let r=Math.atan2(i[1],i[0]);const o=f(this,Ih)[e.fontName];o.vertical&&(r+=Math.PI/2);let a=f(this,If)&&o.fontSubstitution||o.fontFamily;a=Gt.fontFamilyMap.get(a)||a;const l=Math.hypot(i[2],i[3]),c=l*T(g=Gt,Js,dR).call(g,a,f(this,$l));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,Es)===f(this,Rh)?(p.left=`${(100*h/f(this,Nf)).toFixed(2)}%`,p.top=`${(100*u/f(this,Of)).toFixed(2)}%`):(p.left=`${d}${h.toFixed(2)}px)`,p.top=`${d}${u.toFixed(2)}px)`),p.fontSize=`${d}${(f(Gt,ea)*l).toFixed(2)}px)`,p.fontFamily=a,s.fontSize=l,t.setAttribute("role","presentation"),t.textContent=e.str,t.dir=e.dir,f(this,If)&&(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,Df).set(t,s),f(this,Xr).div=t,f(this,Xr).properties=s,T(this,xo,Wb).call(this,f(this,Xr)),s.hasText&&f(this,Es).append(t),s.hasEOL){const v=document.createElement("br");v.setAttribute("role","presentation"),f(this,Es).append(v)}},Wb=function(e){var a;const{div:t,properties:s,ctx:i}=e,{style:r}=t;let o="";if(f(Gt,ea)>1&&(o=`scale(${1/f(Gt,ea)})`),s.canvasWidth!==0&&s.hasText){const{fontFamily:l}=r,{canvasWidth:c,fontSize:h}=s;T(a=Gt,Js,Gb).call(a,i,h*f(this,Qo),l);const{width:u}=i.measureText(t.textContent);u>0&&(o=`scaleX(${c*f(this,Qo)/u}) ${o}`)}s.angle!==0&&(o=`rotate(${s.angle}deg) ${o}`),o.length>0&&(r.transform=o)},Js=new WeakSet,tg=function(e=null){let t=f(this,Ml).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,Ml).set(e,t),f(this,jf).set(t,{size:0,family:""})}return t},Gb=function(e,t,s){const i=f(this,jf).get(e);t===i.size&&s===i.family||(e.font=`${t}px ${s}`,i.size=t,i.family=s)},uR=function(){if(f(this,ea)!==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,ea,e.getBoundingClientRect().height),e.remove()},dR=function(e,t){const s=f(this,Rl).get(e);if(s)return s;const i=T(this,Js,tg).call(this,t);i.canvas.width=i.canvas.height=As,T(this,Js,Gb).call(this,i,As,e);const r=i.measureText("");let o=r.fontBoundingBoxAscent,a=Math.abs(r.fontBoundingBoxDescent);if(o){const h=o/(o+a);return f(this,Rl).set(e,h),i.canvas.width=i.canvas.height=0,h}i.strokeStyle="red",i.clearRect(0,0,As,As),i.strokeText("g",0,0);let l=i.getImageData(0,0,As,As).data;a=0;for(let h=l.length-1-3;h>=0;h-=4)if(l[h]>0){a=Math.ceil(h/4/As);break}i.clearRect(0,0,As,As),i.strokeText("A",0,As),l=i.getImageData(0,0,As,As).data,o=0;for(let h=0,u=l.length;h0){o=As-Math.floor(h/4/As);break}i.canvas.width=i.canvas.height=0;const c=o?o/(o+a):Z9;return f(this,Rl).set(e,c),c},R(Gt,Js),R(Gt,Rl,new Map),R(Gt,Ml,new Map),R(Gt,jf,new WeakMap),R(Gt,ea,null),R(Gt,Nh,new Set),Gt);class Wd{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(Wd.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 X9=65536,Y9=100,J9=5e3,Q9=cs?u9:l9,e8=cs?d9:KP,t8=cs?h9:c9,n8=cs?f9:JP;function s8(n={}){typeof n=="string"||n instanceof URL?n={url:n}:(n instanceof ArrayBuffer||ArrayBuffer.isView(n))&&(n={data:n});const e=new Kb,{docId:t}=e,s=n.url?i8(n.url):null,i=n.data?r8(n.data):null,r=n.httpHeaders||null,o=n.withCredentials===!0,a=n.password??null,l=n.range instanceof fR?n.range:null,c=Number.isInteger(n.rangeChunkSize)&&n.rangeChunkSize>0?n.rangeChunkSize:X9;let h=n.worker instanceof rh?n.worker:null;const u=n.verbosity,d=typeof n.docBaseUrl=="string"&&!p0(n.docBaseUrl)?n.docBaseUrl:null,p=typeof n.cMapUrl=="string"?n.cMapUrl:null,m=n.cMapPacked!==!1,g=n.CMapReaderFactory||e8,v=typeof n.standardFontDataUrl=="string"?n.standardFontDataUrl:null,y=n.StandardFontDataFactory||n8,w=n.stopAtErrors!==!0,_=Number.isInteger(n.maxImageSize)&&n.maxImageSize>-1?n.maxImageSize:-1,k=n.isEvalSupported!==!1,A=typeof n.isOffscreenCanvasSupported=="boolean"?n.isOffscreenCanvasSupported:!cs,$=typeof n.isChrome=="boolean"?n.isChrome:!vs.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,q=n.enableXfa===!0,D=n.ownerDocument||globalThis.document,z=n.disableRange===!0,K=n.disableStream===!0,L=n.disableAutoFetch===!0,ee=n.pdfBug===!0,Q=n.CanvasFactory||Q9,te=n.FilterFactory||t8,ae=n.enableHWA===!0,ge=l?l.length:n.length??NaN,B=typeof n.useSystemFonts=="boolean"?n.useSystemFonts:!cs&&!O,P=typeof n.useWorkerFetch=="boolean"?n.useWorkerFetch:g===KP&&y===JP&&p&&v&&nd(p,document.baseURI)&&nd(v,document.baseURI);n.canvasFactory&&px("`canvasFactory`-instance option, please use `CanvasFactory` instead."),n.filterFactory&&px("`filterFactory`-instance option, please use `FilterFactory` instead.");const N=null;jK(u);const M={canvasFactory:new Q({ownerDocument:D,enableHWA:ae}),filterFactory:new te({docId:t,ownerDocument:D}),cMapReaderFactory:P?null:new g({baseUrl:p,isCompressed:m}),standardFontDataFactory:P?null:new y({baseUrl:v})};if(!h){const I={verbosity:u,port:mo.workerPort};h=I.port?rh.fromPort(I):new rh(I),e._worker=h}const b={docId:t,apiVersion:"4.8.69",data:i,password:a,disableAutoFetch:L,rangeChunkSize:c,length:ge,docBaseUrl:d,enableXfa:q,evaluatorOptions:{maxImageSize:_,disableFontFace:O,ignoreErrors:w,isEvalSupported:k,isOffscreenCanvasSupported:A,isChrome:$,canvasMaxAreaInBytes:E,fontExtraProperties:F,useSystemFonts:B,cMapUrl:P?p:null,standardFontDataUrl:P?v:null}},x={disableFontFace:O,fontExtraProperties:F,ownerDocument:D,pdfBug:ee,styleElement:N,loadingParams:{disableAutoFetch:L,enableXfa:q}};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 G;if(l)G=new P9(l,{disableRange:z,disableStream:K});else if(!i){if(!s)throw new Error("getDocument - no `url` parameter provided.");let Y;cs?Y=typeof fetch<"u"&&typeof Response<"u"&&"body"in Response.prototype&&nd(s)?Ex:q9:Y=nd(s)?Ex:F9,G=new Y({url:s,length:ge,httpHeaders:r,withCredentials:o,rangeChunkSize:c,disableRange:z,disableStream:K})}return I.then(Y=>{if(e.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const ue=new cd(t,Y,h.port),oe=new c8(ue,e,G,x,M);e._transport=oe,ue.send("Ready",null)})}).catch(e._capability.reject),e}function i8(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 r8(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 d0(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 Cx(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 Ty;const Py=class Py{constructor(){this._capability=Promise.withResolvers(),this._transport=null,this._worker=null,this.docId=`d${ds(Py,Ty)._++}`,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)}};Ty=new WeakMap,R(Py,Ty,0);let Kb=Py,fR=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){Mt("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}};class o8{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 Xe(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 ta,Yr,ui,Bc,ng;class a8{constructor(e,t,s,i=!1){R(this,ui);R(this,ta,null);R(this,Yr,!1);this._pageIndex=e,this._pageInfo=t,this._transport=s,this._stats=i?new fx:null,this._pdfBug=i,this.commonObjs=s.commonObjs,this.objs=new pR,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 Np({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 Xe(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=Do.ENABLE,transform:r=null,background:o=null,optionalContentConfigPromise:a=null,annotationCanvasMap:l=null,pageColors:c=null,printAnnotationStorage:h=null,isEditing:u=!1}){var k,A;(k=this._stats)==null||k.time("Overall");const d=this._transport.getRenderingIntent(s,i,h,u),{renderingIntent:p,cacheKey:m}=d;C(this,Yr,!1),T(this,ui,ng).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&Ks.PRINT);g.displayReadyCapability||(g.displayReadyCapability=Promise.withResolvers(),g.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(A=this._stats)==null||A.time("Page Request"),this._pumpOperatorList(d));const y=$=>{var E;g.renderTasks.delete(w),(this._maybeCleanupAfterRender||v)&&C(this,Yr,!0),T(this,ui,Bc).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 Xb({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=Do.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=>Wd.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,Yr,!1),T(this,ui,ng).call(this),Promise.all(e)}cleanup(e=!1){C(this,Yr,!0);const t=T(this,ui,Bc).call(this,!1);return e&&t&&this._stats&&(this._stats=new fx),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,ui,Bc).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 K1){let i=Y9;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 Ec(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}}ta=new WeakMap,Yr=new WeakMap,ui=new WeakSet,Bc=function(e=!1){if(T(this,ui,ng).call(this),!f(this,Yr)||this.destroyed)return!1;if(e)return C(this,ta,setTimeout(()=>{C(this,ta,null),T(this,ui,Bc).call(this,!1)},J9)),!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,Yr,!1),!0},ng=function(){f(this,ta)&&(clearTimeout(f(this,ta)),C(this,ta,null))};var Jr,Ry;class l8{constructor(){R(this,Jr,new Map);R(this,Ry,Promise.resolve())}postMessage(e,t){const s={data:structuredClone(e,t?{transfer:t}:null)};f(this,Ry).then(()=>{for(const[i]of f(this,Jr))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){Ue("LoopbackPort - cannot use an `aborted` signal.");return}const o=()=>this.removeEventListener(e,t);i=()=>r.removeEventListener("abort",o),r.addEventListener("abort",o)}f(this,Jr).set(t,i)}removeEventListener(e,t){const s=f(this,Jr).get(t);s==null||s(),f(this,Jr).delete(t)}terminate(){for(const[,e]of f(this,Jr))e==null||e();f(this,Jr).clear()}}Jr=new WeakMap,Ry=new WeakMap;var My,Il,Ol,Lh,sg,Dh,ig;const Lt=class Lt{constructor({name:e=null,port:t=null,verbosity:s=zK()}={}){R(this,Lh);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(Lt,Ol))!=null&&i.has(t))throw new Error("Cannot use more than one PDFWorker per port.");(f(Lt,Ol)||C(Lt,Ol,new WeakMap)).set(t,this),this._initializeFromPort(t);return}this._initialize()}get promise(){return cs?Promise.all([xa.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 cd("main","worker",e),this._messageHandler.on("ready",function(){}),T(this,Lh,sg).call(this)}_initialize(){if(f(Lt,Il)||f(Lt,Dh,ig)){this._setupFakeWorker();return}let{workerSrc:e}=Lt;try{Lt._isSameOrigin(window.location.href,e)||(e=Lt._createCDNWrapper(new URL(e,window.location).href));const t=new Worker(e,{type:"module"}),s=new cd("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,Lh,sg).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{h0("The worker has been disabled.")}this._setupFakeWorker()}_setupFakeWorker(){f(Lt,Il)||(Ue("Setting up fake worker."),C(Lt,Il,!0)),Lt._setupFakeWorkerGlobal.then(e=>{if(this.destroyed){this._readyCapability.reject(new Error("Worker was destroyed"));return}const t=new l8;this._port=t;const s=`fake${ds(Lt,My)._++}`,i=new cd(s+"_worker",s,t);e.setup(i,t),this._messageHandler=new cd(s,s+"_worker",t),T(this,Lh,sg).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(Lt,Ol))==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,Ol))==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 Lt(e)}static get workerSrc(){if(mo.workerSrc)return mo.workerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _setupFakeWorkerGlobal(){return Xe(this,"_setupFakeWorkerGlobal",(async()=>f(this,Dh,ig)?f(this,Dh,ig):(await import(this.workerSrc)).WorkerMessageHandler)())}};My=new WeakMap,Il=new WeakMap,Ol=new WeakMap,Lh=new WeakSet,sg=function(){this._readyCapability.resolve(),this._messageHandler.send("configure",{verbosity:this.verbosity})},Dh=new WeakSet,ig=function(){var e;try{return((e=globalThis.pdfjsWorker)==null?void 0:e.WorkerMessageHandler)||null}catch{return null}},R(Lt,Dh),R(Lt,My,0),R(Lt,Il,!1),R(Lt,Ol),cs&&(C(Lt,Il,!0),mo.workerSrc||(mo.workerSrc="./pdf.worker.mjs")),Lt._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},Lt._createCDNWrapper=e=>{const t=`await import("${e}");`;return URL.createObjectURL(new Blob([t],{type:"text/javascript"}))};let rh=Lt;var Qr,pr,Fh,jh,mr,Nl,hd;class c8{constructor(e,t,s,i,r){R(this,Nl);R(this,Qr,new Map);R(this,pr,new Map);R(this,Fh,new Map);R(this,jh,new Map);R(this,mr,null);this.messageHandler=e,this.loadingTask=t,this.commonObjs=new pR,this.fontLoader=new o9({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 Xe(this,"annotationStorage",new J1)}getRenderingIntent(e,t=Do.ENABLE,s=null,i=!1,r=!1){let o=Ks.DISPLAY,a=Lb;switch(e){case"any":o=Ks.ANY;break;case"display":break;case"print":o=Ks.PRINT;break;default:Ue(`getRenderingIntent - invalid intent: ${e}`)}const l=o&Ks.PRINT&&s instanceof VP?s:this.annotationStorage;switch(t){case Do.DISABLE:o+=Ks.ANNOTATIONS_DISABLE;break;case Do.ENABLE:break;case Do.ENABLE_FORMS:o+=Ks.ANNOTATIONS_FORMS;break;case Do.ENABLE_STORAGE:o+=Ks.ANNOTATIONS_STORAGE,a=l.serializable;break;default:Ue(`getRenderingIntent - invalid annotationMode: ${t}`)}i&&(o+=Ks.IS_EDITING),r&&(o+=Ks.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,mr))==null||s.reject(new Error("Worker was destroyed during onPassword callback"));const e=[];for(const i of f(this,pr).values())e.push(i._destroy());f(this,pr).clear(),f(this,Fh).clear(),f(this,jh).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,Qr).clear(),this.filterFactory.destroy(),Vb.cleanup(),(i=this._networkStream)==null||i.cancelAllRequests(new Ec("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)=>{wn(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}wn(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)=>{wn(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}wn(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 o8(s,this))}),e.on("DocException",function(s){let i;switch(s.name){case"PasswordException":i=new pb(s.message,s.code);break;case"InvalidPDFException":i=new yP(s.message);break;case"MissingPDFException":i=new xc(s.message);break;case"UnexpectedResponseException":i=new u0(s.message,s.status);break;case"UnknownErrorException":i=new mb(s.message,s.details);break;default:Mt("DocException - expected a valid Error.")}t._capability.reject(i)}),e.on("PasswordRequest",s=>{if(C(this,mr,Promise.withResolvers()),t.onPassword){const i=r=>{r instanceof Error?f(this,mr).reject(r):f(this,mr).resolve({password:r})};try{t.onPassword(i,s.code)}catch(r){f(this,mr).reject(r)}}else f(this,mr).reject(new pb(s.message,s.code));return f(this,mr).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,pr).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;Ue(`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 a9(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;wn(d,"The imageRef must be defined.");for(const p of f(this,pr).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,pr).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)>NK&&(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&&Ue("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,Fh).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,jh).set(r.refStr,e);const o=new a8(t,r,this,this._params.pdfBug);return f(this,pr).set(t,o),o});return f(this,Fh).set(t,i),i}getPageIndex(e){return Cx(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,Nl,hd).call(this,"GetFieldObjects")}hasJSActions(){return T(this,Nl,hd).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,Nl,hd).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,Nl,hd).call(this,"GetOptionalContentConfig").then(t=>new T9(t,e))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){const e="GetMetadata",t=f(this,Qr).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 C9(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,Qr).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,pr).values())if(!t.cleanup())throw new Error(`startCleanup: Page ${t.pageNumber} is currently rendering.`);this.commonObjs.clear(),e||this.fontLoader.clear(),f(this,Qr).clear(),this.filterFactory.destroy(!0),Vb.cleanup()}}cachedPageNumber(e){if(!Cx(e))return null;const t=e.gen===0?`${e.num}R`:`${e.num}R${e.gen}`;return f(this,jh).get(t)??null}}Qr=new WeakMap,pr=new WeakMap,Fh=new WeakMap,jh=new WeakMap,mr=new WeakMap,Nl=new WeakSet,hd=function(e,t=null){const s=f(this,Qr).get(e);if(s)return s;const i=this.messageHandler.sendWithPromise(e,t);return f(this,Qr).set(e,i),i};const dm=Symbol("INITIAL_DATA");var Ni,zf,Zb;class pR{constructor(){R(this,zf);R(this,Ni,Object.create(null))}get(e,t=null){if(t){const i=T(this,zf,Zb).call(this,e);return i.promise.then(()=>t(i.data)),null}const s=f(this,Ni)[e];if(!s||s.data===dm)throw new Error(`Requesting object that isn't resolved yet ${e}.`);return s.data}has(e){const t=f(this,Ni)[e];return!!t&&t.data!==dm}resolve(e,t=null){const s=T(this,zf,Zb).call(this,e);s.data=t,s.resolve()}clear(){var e;for(const t in f(this,Ni)){const{data:s}=f(this,Ni)[t];(e=s==null?void 0:s.bitmap)==null||e.close()}C(this,Ni,Object.create(null))}*[Symbol.iterator](){for(const e in f(this,Ni)){const{data:t}=f(this,Ni)[e];t!==dm&&(yield[e,t])}}}Ni=new WeakMap,zf=new WeakSet,Zb=function(e){var t;return(t=f(this,Ni))[e]||(t[e]={...Promise.withResolvers(),data:dm})};var na;class h8{constructor(e){R(this,na,null);C(this,na,e),this.onContinue=null}get promise(){return f(this,na).capability.promise}cancel(e=0){f(this,na).cancel(null,e)}get separateAnnots(){const{separateAnnots:e}=f(this,na).operatorList;if(!e)return!1;const{annotationCanvasMap:t}=f(this,na);return e.form||e.canvas&&(t==null?void 0:t.size)>0}}na=new WeakMap;var sa,Ll;const rl=class rl{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,sa,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 h8(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(rl,Ll).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(rl,Ll).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 ih(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,sa)&&(window.cancelAnimationFrame(f(this,sa)),C(this,sa,null)),f(rl,Ll).delete(this._canvas),this.callback(e||new K1(`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,sa,window.requestAnimationFrame(()=>{C(this,sa,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(rl,Ll).delete(this._canvas),this.callback())))}};sa=new WeakMap,Ll=new WeakMap,R(rl,Ll,new WeakSet);let Xb=rl;const u8="4.8.69",d8="3634dab10";function $x(n){return Math.floor(Math.max(0,Math.min(1,n))*255).toString(16).padStart(2,"0")}function Vu(n){return Math.max(0,Math.min(255,255*n))}class Tx{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=Vu(e),[e,e,e]}static G_HTML([e]){const t=$x(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(Vu)}static RGB_HTML(e){return`#${e.map($x).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[Vu(1-Math.min(1,e+i)),Vu(1-Math.min(1,s+i)),Vu(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 f8{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){Mt("Abstract method `_createSVG` called.")}}class sA extends f8{_createSVG(e){return document.createElementNS(Hr,e)}}class mR{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&&Wd.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&&Wd.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 Dp=1e3,p8=9,pc=new WeakSet;function wo(n){return{width:n[2]-n[0],height:n[3]-n[1]}}class m8{static create(e){switch(e.data.annotationType){case fn.LINK:return new gR(e);case fn.TEXT:return new g8(e);case fn.WIDGET:switch(e.data.fieldType){case"Tx":return new y8(e);case"Btn":return e.data.radioButton?new bR(e):e.data.checkBox?new b8(e):new w8(e);case"Ch":return new _8(e);case"Sig":return new v8(e)}return new Cc(e);case fn.POPUP:return new Jb(e);case fn.FREETEXT:return new kR(e);case fn.LINE:return new A8(e);case fn.SQUARE:return new k8(e);case fn.CIRCLE:return new x8(e);case fn.POLYLINE:return new xR(e);case fn.CARET:return new C8(e);case fn.INK:return new iA(e);case fn.POLYGON:return new E8(e);case fn.HIGHLIGHT:return new ER(e);case fn.UNDERLINE:return new $8(e);case fn.SQUIGGLY:return new T8(e);case fn.STRIKEOUT:return new P8(e);case fn.STAMP:return new CR(e);case fn.FILEATTACHMENT:return new R8(e);default:return new tn(e)}}}var Dl,zh,Hh,Hf,Yb;const DA=class DA{constructor(e,{isRenderable:t=!1,ignoreBorder:s=!1,createQuadrilaterals:i=!1}={}){R(this,Hf);R(this,Dl,null);R(this,zh,!1);R(this,Hh,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 DA._hasPopupData(this.data)}updateEdited(e){var s;if(!this.container)return;f(this,Dl)||C(this,Dl,{rect:this.data.rect.slice(0)});const{rect:t}=e;t&&T(this,Hf,Yb).call(this,t),(s=f(this,Hh))==null||s.popup.updateEdited(e)}resetEdited(){var e;f(this,Dl)&&(T(this,Hf,Yb).call(this,f(this,Dl).rect),(e=f(this,Hh))==null||e.popup.resetEdited(),C(this,Dl,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 Cc||(r.tabIndex=Dp);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 Jb){const{rotation:g}=t;return!t.hasOwnCanvas&&g!==0&&this.setRotation(g,r),r}const{width:a,height:l}=wo(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 bR){const w=`calc(${a}px * var(--scale-factor)) / calc(${l}px * var(--scale-factor))`;o.borderRadius=w}switch(t.borderStyle.style){case qu.SOLID:o.borderStyle="solid";break;case qu.DASHED:o.borderStyle="dashed";break;case qu.BEVELED:Ue("Unimplemented border style: beveled");break;case qu.INSET:Ue("Unimplemented border style: inset");break;case qu.UNDERLINE:o.borderBottomStyle="solid";break}const y=t.borderColor||null;y?(C(this,zh,!0),o.borderColor=Ee.makeHexColor(y[0]|0,y[1]|0,y[2]|0)):o.borderWidth=0}const c=Ee.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}=wo(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]=Tx[`${o}_HTML`](a),this.annotationStorage.setValue(this.data.id,{[s]:Tx[`${o}_rgb`](a)})};return Xe(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,zh)){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,zh)&&(a.push("')"),o.backgroundImage=a.join("")),this.container.append(u),this.container.style.clipPath=`url(#${m})`}_createPopup(){const{data:e}=this,t=C(this,Hh,new Jb({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(){Mt("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&&!pc.has(c)){Ue(`_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&&pc.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})})}};Dl=new WeakMap,zh=new WeakMap,Hh=new WeakMap,Hf=new WeakSet,Yb=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}=wo(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 tn=DA;var Xs,Ga,yR,vR;class gR extends tn{constructor(t,s=null){super(t,{isRenderable:!0,ignoreBorder:!!(s!=null&&s.ignoreBorder),createQuadrilaterals:!0});R(this,Xs);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,Xs,yR).call(this,i,t.attachment,t.attachmentDest),r=!0):t.setOCGState?(T(this,Xs,vR).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,Xs,Ga).call(this)}_bindNamedAction(t,s){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeNamedAction(s),!1),T(this,Xs,Ga).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,Xs,Ga).call(this)}_bindResetFormAction(t,s){const i=t.onclick;if(i||(t.href=this.linkService.getAnchorUrl("")),T(this,Xs,Ga).call(this),!this._fieldObjects){Ue('_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(!pc.has(m)){Ue(`_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}}}Xs=new WeakSet,Ga=function(){this.container.setAttribute("data-internal-link","")},yR=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,Xs,Ga).call(this)},vR=function(t,s){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeSetOCGState(s),!1),T(this,Xs,Ga).call(this)};class g8 extends tn{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 Cc extends tn{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 vs.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":Ee.makeHexColor(t[0],t[1],t[2])}_setTextStyle(e){const t=["left","center","right"],{fontColor:s}=this.data.defaultAppearanceData,i=this.data.defaultAppearanceData.fontSize||p8,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/(J0*i))||1,u=c/h;o=Math.min(i,l(u/J0))}else{const c=Math.abs(this.data.rect[3]-this.data.rect[1]-a);o=Math.min(i,l(c/J0))}r.fontSize=`calc(${o}px * var(--scale-factor))`,r.color=Ee.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 y8 extends Cc{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),pc.add(s),s.setAttribute("data-element-id",t),s.disabled=this.data.readOnly,s.name=this.data.fieldName,s.tabIndex=Dp,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 A;h.lastCommittedValue=null;const{data:m,target:g}=p,{value:v,selectionStart:y,selectionEnd:w}=g;let _=y,k=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*/);$&&(k+=$[0].length);break}case"deleteContentBackward":y===w&&(_-=1);break;case"deleteContentForward":y===w&&(k+=1);break}p.preventDefault(),(A=this.linkService.eventBus)==null||A.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:v,change:m||"",willCommit:!1,selStart:_,selEnd:k}})}),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 v8 extends Cc{constructor(e){super(e,{isRenderable:!!e.data.hasOwnCanvas})}}class b8 extends Cc{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 pc.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=Dp,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 bR extends Cc{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(pc.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=Dp,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 w8 extends gR{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 _8 extends Cc{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");pc.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=Dp;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 Jb extends tn{constructor(e){const{data:t,elements:s}=e;super(e,{isRenderable:tn._hasPopupData(t)}),this.elements=s,this.popup=null}render(){this.container.classList.add("popupAnnotation");const e=this.popup=new S8({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=>`${G1}${s}`).join(",")),this.container}}var Bh,Iy,Oy,qh,Fl,Wt,eo,Uh,Bf,qf,Vh,to,Li,no,Uf,so,Vf,jl,zl,gt,rg,Qb,wR,_R,SR,AR,og,ag,ew;class S8{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,gt);R(this,Bh,T(this,gt,SR).bind(this));R(this,Iy,T(this,gt,ew).bind(this));R(this,Oy,T(this,gt,ag).bind(this));R(this,qh,T(this,gt,og).bind(this));R(this,Fl,null);R(this,Wt,null);R(this,eo,null);R(this,Uh,null);R(this,Bf,null);R(this,qf,null);R(this,Vh,null);R(this,to,!1);R(this,Li,null);R(this,no,null);R(this,Uf,null);R(this,so,null);R(this,Vf,null);R(this,jl,null);R(this,zl,!1);var d;C(this,Wt,e),C(this,Vf,i),C(this,eo,o),C(this,so,a),C(this,qf,l),C(this,Fl,t),C(this,Uf,c),C(this,Vh,h),C(this,Bf,s),C(this,Uh,X1.toDateObject(r)),this.trigger=s.flatMap(p=>p.getElementsToTriggerPopup());for(const p of this.trigger)p.addEventListener("click",f(this,qh)),p.addEventListener("mouseenter",f(this,Oy)),p.addEventListener("mouseleave",f(this,Iy)),p.classList.add("popupTriggerArea");for(const p of s)(d=p.container)==null||d.addEventListener("keydown",f(this,Bh));f(this,Wt).hidden=!0,u&&T(this,gt,og).call(this)}render(){if(f(this,Li))return;const e=C(this,Li,document.createElement("div"));if(e.className="popup",f(this,Fl)){const r=e.style.outlineColor=Ee.makeHexColor(...f(this,Fl));CSS.supports("background-color","color-mix(in srgb, red 30%, white)")?e.style.backgroundColor=`color-mix(in srgb, ${r} 30%, white)`:e.style.backgroundColor=Ee.makeHexColor(...f(this,Fl).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,Vf),e.append(t),f(this,Uh)){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,Uh).valueOf()})),t.append(r)}const i=f(this,gt,rg);if(i)mR.render({xfaHtml:i,intent:"richText",div:e}),e.lastChild.classList.add("richText","popupContent");else{const r=this._formatContents(f(this,eo));e.append(r)}f(this,Wt).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,Jf,tw).call(this)}),!s.popupRef&&this.hasPopupData?this._createPopup():i.classList.add("popupTriggerArea"),t.append(i),t}getElementsToTriggerPopup(){return f(this,Yf)}addHighlightArea(){this.container.classList.add("highlightArea")}}Yf=new WeakMap,Jf=new WeakSet,tw=function(){var t;(t=this.downloadManager)==null||t.openOrDownloadData(this.content,this.filename)};var Qf,Hl,Bl,ep,Sc,$R,nw,dC;let M8=(dC=class{constructor({div:e,accessibilityManager:t,annotationCanvasMap:s,annotationEditorUIManager:i,page:r,viewport:o,structTreeLayer:a}){R(this,Sc);R(this,Qf,null);R(this,Hl,null);R(this,Bl,new Map);R(this,ep,null);this.div=e,C(this,Qf,t),C(this,Hl,s),C(this,ep,a||null),this.page=r,this.viewport=o,this.zIndex=0,this._annotationEditorUIManager=i}hasEditableAnnotations(){return f(this,Bl).size>0}async render(e){var o;const{annotations:t}=e,s=this.div;dc(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 sA,annotationStorage:e.annotationStorage||new J1,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===fn.POPUP;if(l){const u=i.get(a.id);if(!u)continue;r.elements=u}else{const{width:u,height:d}=wo(a.rect);if(u<=0||d<=0)continue}r.data=a;const c=m8.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,Sc,$R).call(this,h,a.id),c._isEditable&&(f(this,Bl).set(c.data.id,c),(o=this._annotationEditorUIManager)==null||o.renderAnnotationElement(c))}T(this,Sc,nw).call(this)}update({viewport:e}){const t=this.div;this.viewport=e,dc(t,{rotation:e.rotation}),T(this,Sc,nw).call(this),t.hidden=!1}getEditableAnnotations(){return Array.from(f(this,Bl).values())}getEditableAnnotation(e){return f(this,Bl).get(e)}},Qf=new WeakMap,Hl=new WeakMap,Bl=new WeakMap,ep=new WeakMap,Sc=new WeakSet,$R=async function(e,t){var o,a;const s=e.firstChild||e,i=s.id=`${G1}${t}`,r=await((o=f(this,ep))==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,Qf))==null||a.moveElementInDOM(this.div,e,s,!1)},nw=function(){if(!f(this,Hl))return;const e=this.div;for(const[t,s]of f(this,Hl)){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,Hl).clear()},dC);const fm=/\r\n?|\n/g;var Di,Bs,tp,ql,qs,cn,TR,PR,RR,lg,Ao,cg,hg,MR,iw,IR;const xt=class xt extends ft{constructor(t){super({...t,name:"freeTextEditor"});R(this,cn);R(this,Di);R(this,Bs,"");R(this,tp,`${this.id}-editor`);R(this,ql,null);R(this,qs);C(this,Di,t.color||xt._defaultColor||ft._defaultLineColor),C(this,qs,t.fontSize||xt._defaultFontSize)}static get _keyboardManager(){const t=xt.prototype,s=o=>o.isEmpty(),i=fc.TRANSLATE_SMALL,r=fc.TRANSLATE_BIG;return Xe(this,"_keyboardManager",new Lp([[["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){ft.initialize(t,s);const i=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(i.getPropertyValue("--freetext-padding"))}static updateDefaultParams(t,s){switch(t){case Ie.FREETEXT_SIZE:xt._defaultFontSize=s;break;case Ie.FREETEXT_COLOR:xt._defaultColor=s;break}}updateParams(t,s){switch(t){case Ie.FREETEXT_SIZE:T(this,cn,TR).call(this,s);break;case Ie.FREETEXT_COLOR:T(this,cn,PR).call(this,s);break}}static get defaultPropertiesToUpdate(){return[[Ie.FREETEXT_SIZE,xt._defaultFontSize],[Ie.FREETEXT_COLOR,xt._defaultColor||ft._defaultLineColor]]}get propertiesToUpdate(){return[[Ie.FREETEXT_SIZE,f(this,qs)],[Ie.FREETEXT_COLOR,f(this,Di)]]}_translateEmpty(t,s){this._uiManager.translateSelectedEditors(t,s,!0)}getInitialTranslation(){const t=this.parentScale;return[-xt._internalPadding*t,-(xt._internalPadding+f(this,qs))*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(je.FREETEXT),super.enableEditMode(),this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute("aria-activedescendant"),C(this,ql,new AbortController);const t=this._uiManager.combinedSignal(f(this,ql));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,tp)),this._isDraggable=!0,(t=f(this,ql))==null||t.abort(),C(this,ql,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,Bs),s=C(this,Bs,T(this,cn,RR).call(this).trimEnd());if(t===s)return;const i=r=>{if(C(this,Bs,r),!r){this.remove();return}T(this,cn,hg).call(this),this._uiManager.rebuild(this),T(this,cn,lg).call(this)};this.addCommands({cmd:()=>{i(s)},undo:()=>{i(t)},mustExec:!1}),T(this,cn,lg).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){xt._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,tp)),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,qs)}px * var(--scale-factor))`,i.color=f(this,Di),this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),Kg(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,cn,hg).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=xt,Ao,iw).call(m,s.getData("text")||"").replaceAll(fm,` +`);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(fm,"")),y!==this.editorDiv){let w=h;for(const _ of this.editorDiv.childNodes){if(_===y){w=u;continue}w.push(T(g=xt,Ao,cg).call(g,_))}}h.push(l.nodeValue.slice(0,c).replaceAll(fm,""))}else if(l===this.editorDiv){let y=h,w=0;for(const _ of this.editorDiv.childNodes)w++===c&&(y=u),y.push(T(v=xt,Ao,cg).call(v,_))}C(this,Bs,`${h.join(` +`)}${r}${u.join(` +`)}`),T(this,cn,hg).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 kR){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:je.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,qs,t.fontSize),C(o,Di,Ee.makeHexColor(...t.color)),C(o,Bs,T(a=xt,Ao,iw).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=xt._internalPadding*this.parentScale,i=this.getRect(s,s),r=ft._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:f(this,Di)),o={annotationType:je.FREETEXT,color:r,fontSize:f(this,qs),value:T(this,cn,MR).call(this),pageIndex:this.pageIndex,rect:i,rotation:this.rotation,structTreeParentId:this._structTreeParentId};return t?o:this.annotationElementId&&!T(this,cn,IR).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,qs)}px * var(--scale-factor))`,i.color=f(this,Di),s.replaceChildren();for(const o of f(this,Bs).split(` +`)){const a=document.createElement("div");a.append(o?document.createTextNode(o):document.createElement("br")),s.append(a)}const r=xt._internalPadding*this.parentScale;return t.updateEdited({rect:this.getRect(r,r),popupContent:f(this,Bs)}),s}resetAnnotationElement(t){super.resetAnnotationElement(t),t.resetEdited()}};Di=new WeakMap,Bs=new WeakMap,tp=new WeakMap,ql=new WeakMap,qs=new WeakMap,cn=new WeakSet,TR=function(t){const s=r=>{this.editorDiv.style.fontSize=`calc(${r}px * var(--scale-factor))`,this.translate(0,-(r-f(this,qs))*this.parentScale),C(this,qs,r),T(this,cn,lg).call(this)},i=f(this,qs);this.addCommands({cmd:s.bind(this,t),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Ie.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})},PR=function(t){const s=r=>{C(this,Di,this.editorDiv.style.color=r)},i=f(this,Di);this.addCommands({cmd:s.bind(this,t),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Ie.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})},RR=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=xt,Ao,cg).call(i,r)),s=r);return t.join(` +`)},lg=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()},Ao=new WeakSet,cg=function(t){return(t.nodeType===Node.TEXT_NODE?t.nodeValue:t.innerText).replaceAll(fm,"")},hg=function(){if(this.editorDiv.replaceChildren(),!!f(this,Bs))for(const t of f(this,Bs).split(` +`)){const s=document.createElement("div");s.append(t?document.createTextNode(t):document.createElement("br")),this.editorDiv.append(s)}},MR=function(){return f(this,Bs).replaceAll(" "," ")},iw=function(t){return t.replaceAll(" "," ")},IR=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(xt,Ao),ce(xt,"_freeTextDefaultContent",""),ce(xt,"_internalPadding",0),ce(xt,"_defaultColor",null),ce(xt,"_defaultFontSize",10),ce(xt,"_type","freetext"),ce(xt,"_editorType",je.FREETEXT);let sw=xt;class OR{toSVGPath(){Mt("Abstract method `toSVGPath` must be implemented.")}get box(){Mt("Abstract getter `box` must be implemented.")}serialize(e,t){Mt("Abstract method `serialize` must be implemented.")}get classNamesForDrawing(){Mt("Abstract getter `classNamesForDrawing` must be implemented.")}get classNamesForOutlining(){Mt("Abstract getter `classNamesForOutlining` must be implemented.")}get mustRemoveSelfIntersections(){return!1}}var Us,Fi,Wh,Gh,gr,Ve,Ul,Vl,np,sp,Kh,Zh,ia,ip,Ny,Ly,An,ud,NR,LR,DR,FR,jR,zR;const qr=class qr{constructor({x:e,y:t},s,i,r,o,a=0){R(this,An);R(this,Us);R(this,Fi,[]);R(this,Wh);R(this,Gh);R(this,gr,[]);R(this,Ve,new Float64Array(18));R(this,Ul);R(this,Vl);R(this,np);R(this,sp);R(this,Kh);R(this,Zh);R(this,ia,[]);C(this,Us,s),C(this,Zh,r*i),C(this,Gh,o),f(this,Ve).set([NaN,NaN,NaN,NaN,e,t],6),C(this,Wh,a),C(this,sp,f(qr,ip)*i),C(this,np,f(qr,Ly)*i),C(this,Kh,i),f(this,ia).push(e,t)}isEmpty(){return isNaN(f(this,Ve)[8])}add({x:e,y:t}){var F;C(this,Ul,e),C(this,Vl,t);const[s,i,r,o]=f(this,Us);let[a,l,c,h]=f(this,Ve).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,An,LR).call(this,s),s.join(" ")}newFreeDrawOutline(e,t,s,i,r,o){return new HR(e,t,s,i,r,o)}getOutlines(){var u;const e=f(this,gr),t=f(this,Fi),s=f(this,Ve),[i,r,o,a]=f(this,Us),l=new Float64Array((((u=f(this,ia))==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,An,jR).call(this,c,h),this.newFreeDrawOutline(c,l,f(this,Us),f(this,Kh),f(this,Wh),f(this,Gh))}};Us=new WeakMap,Fi=new WeakMap,Wh=new WeakMap,Gh=new WeakMap,gr=new WeakMap,Ve=new WeakMap,Ul=new WeakMap,Vl=new WeakMap,np=new WeakMap,sp=new WeakMap,Kh=new WeakMap,Zh=new WeakMap,ia=new WeakMap,ip=new WeakMap,Ny=new WeakMap,Ly=new WeakMap,An=new WeakSet,ud=function(){const e=f(this,Ve).subarray(4,6),t=f(this,Ve).subarray(16,18),[s,i,r,o]=f(this,Us);return[(f(this,Ul)+(e[0]-t[0])/2-s)/r,(f(this,Vl)+(e[1]-t[1])/2-i)/o,(f(this,Ul)+(t[0]-e[0])/2-s)/r,(f(this,Vl)+(t[1]-e[1])/2-i)/o]},NR=function(){const[e,t,s,i]=f(this,Us),[r,o,a,l]=T(this,An,ud).call(this);return`M${(f(this,Ve)[2]-e)/s} ${(f(this,Ve)[3]-t)/i} L${(f(this,Ve)[4]-e)/s} ${(f(this,Ve)[5]-t)/i} L${r} ${o} L${a} ${l} L${(f(this,Ve)[16]-e)/s} ${(f(this,Ve)[17]-t)/i} L${(f(this,Ve)[14]-e)/s} ${(f(this,Ve)[15]-t)/i} Z`},LR=function(e){const t=f(this,Fi);e.push(`L${t[4]} ${t[5]} Z`)},DR=function(e){const[t,s,i,r]=f(this,Us),o=f(this,Ve).subarray(4,6),a=f(this,Ve).subarray(16,18),[l,c,h,u]=T(this,An,ud).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}`)},FR=function(e){const t=f(this,Ve),[s,i,r,o]=f(this,Us),[a,l,c,h]=T(this,An,ud).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,Us),f(this,Kh),f(this,Wh),f(this,Gh))},jR=function(e,t){const s=f(this,Fi);return e.set([NaN,NaN,NaN,NaN,s[4],s[5]],t),t+=6},zR=function(e,t){const s=f(this,Ve).subarray(4,6),i=f(this,Ve).subarray(16,18),[r,o,a,l]=f(this,Us),[c,h,u,d]=T(this,An,ud).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(qr,ip,8),R(qr,Ny,2),R(qr,Ly,f(qr,ip)+f(qr,Ny));let Xg=qr;var Xh,Wl,io,rp,Vs,op,Yt,Ns,dd,fd,BR;class HR extends OR{constructor(t,s,i,r,o,a){super();R(this,Ns);R(this,Xh);R(this,Wl,null);R(this,io);R(this,rp);R(this,Vs);R(this,op);R(this,Yt);C(this,Yt,t),C(this,Vs,s),C(this,Xh,i),C(this,op,r),C(this,io,o),C(this,rp,a),T(this,Ns,BR).call(this,a);const{x:l,y:c,width:h,height:u}=f(this,Wl);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,ra))t[3]?(e.push(...T(this,_s,rw).call(this,t)),T(this,_s,UR).call(this,t)):(T(this,_s,VR).call(this,t),e.push(...T(this,_s,rw).call(this,t)));return T(this,_s,qR).call(this,e)}}ap=new WeakMap,ra=new WeakMap,ji=new WeakMap,_s=new WeakSet,qR=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 I8(i,f(this,ap))},ug=function(e){const t=f(this,ji);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,ji)[i];if(r!==e)break;if(r===e&&o===t){f(this,ji).splice(i,1);return}}},rw=function(e){const[t,s,i]=e,r=[[t,s,i]],o=T(this,_s,ug).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 lp,Yh;class I8 extends OR{constructor(t,s){super();R(this,lp);R(this,Yh);C(this,Yh,t),C(this,lp,s)}toSVGPath(){const t=[];for(const s of f(this,Yh)){let[i,r]=s;t.push(`M${i} ${r}`);for(let o=2;o-1?(C(this,Cs,!0),T(this,Le,dg).call(this,t),T(this,Le,Za).call(this)):f(this,ro)&&(C(this,tu,t.anchorNode),C(this,fp,t.anchorOffset),C(this,pp,t.focusNode),C(this,mp,t.focusOffset),T(this,Le,hw).call(this),T(this,Le,Za).call(this),this.rotate(this.rotation))}static get _keyboardManager(){const t=at.prototype;return Xe(this,"_keyboardManager",new Lp([[["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,Cs)?"free_highlight":"highlight",color:this._uiManager.highlightColorNames.get(this.color),thickness:f(this,oi),methodOfCreation:f(this,gp)}}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;ft.initialize(t,s),at._defaultColor||(at._defaultColor=((i=s.highlightColors)==null?void 0:i.values().next().value)||"#fff066")}static updateDefaultParams(t,s){switch(t){case Ie.HIGHLIGHT_DEFAULT_COLOR:at._defaultColor=s;break;case Ie.HIGHLIGHT_THICKNESS:at._defaultThickness=s;break}}translateInPage(t,s){}get toolbarPosition(){return f(this,su)}updateParams(t,s){switch(t){case Ie.HIGHLIGHT_COLOR:T(this,Le,GR).call(this,s);break;case Ie.HIGHLIGHT_THICKNESS:T(this,Le,KR).call(this,s);break}}static get defaultPropertiesToUpdate(){return[[Ie.HIGHLIGHT_DEFAULT_COLOR,at._defaultColor],[Ie.HIGHLIGHT_THICKNESS,at._defaultThickness]]}get propertiesToUpdate(){return[[Ie.HIGHLIGHT_COLOR,this.color||at._defaultColor],[Ie.HIGHLIGHT_THICKNESS,f(this,oi)||at._defaultThickness],[Ie.HIGHLIGHT_FREE,f(this,Cs)]]}async addEditToolbar(){const t=await super.addEditToolbar();return t?(this._uiManager.highlightColors&&(C(this,nu,new Yg({editor:this})),t.addColorPicker(f(this,nu))),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,Le,pd).call(this))}getBaseTranslation(){return[0,0]}getRect(t,s){return super.getRect(t,s,T(this,Le,pd).call(this))}onceAdded(){this.annotationElementId||this.parent.addUndoableEditor(this),this.div.focus()}remove(){T(this,Le,uw).call(this),this._reportTelemetry({action:"deleted"}),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(T(this,Le,Za).call(this),this.isAttachedToDOM||this.parent.add(this)))}setParent(t){var i;let s=!1;this.parent&&!t?T(this,Le,uw).call(this):t&&(T(this,Le,Za).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,Cs)?(t=(t-this.rotation+360)%360,i=T(r=at,di,qc).call(r,f(this,Bi).box,t)):i=T(o=at,di,qc).call(o,this,t),s.rotate(f(this,rs),t),s.rotate(f(this,gn),t),s.updateBox(f(this,rs),i),s.updateBox(f(this,gn),T(a=at,di,qc).call(a,f(this,ri).box,t))}render(){if(this.div)return this.div;const t=super.render();f(this,iu)&&(t.setAttribute("aria-label",f(this,iu)),t.setAttribute("role","mark")),f(this,Cs)?t.classList.add("free"):this.div.addEventListener("keydown",T(this,Le,XR).bind(this),{signal:this._uiManager._signal});const s=C(this,Zl,document.createElement("div"));t.append(s),s.setAttribute("aria-hidden","true"),s.className="internal",s.style.clipPath=f(this,Kl);const[i,r]=this.parentDimensions;return this.setDims(this.width*i,this.height*r),Kg(this,f(this,Zl),["pointerover","pointerleave"]),this.enableEditing(),t}pointerover(){this.isSelected||this.parent.drawLayer.addClass(f(this,gn),"hovered")}pointerleave(){this.isSelected||this.parent.drawLayer.removeClass(f(this,gn),"hovered")}_moveCaret(t){switch(this.parent.unselect(this),t){case 0:case 2:T(this,Le,fg).call(this,!0);break;case 1:case 3:T(this,Le,fg).call(this,!1);break}}select(){var t,s;super.select(),f(this,gn)&&((t=this.parent)==null||t.drawLayer.removeClass(f(this,gn),"hovered"),(s=this.parent)==null||s.drawLayer.addClass(f(this,gn),"selected"))}unselect(){var t;super.unselect(),f(this,gn)&&((t=this.parent)==null||t.drawLayer.removeClass(f(this,gn),"selected"),f(this,Cs)||T(this,Le,fg).call(this,!1))}get _mustFixPosition(){return!f(this,Cs)}show(t=this._isVisible){super.show(t),this.parent&&(this.parent.drawLayer.show(f(this,rs),t),this.parent.drawLayer.show(f(this,gn),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,di,eM).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",yi,{signal:d}),i.addEventListener("pointermove",T(this,di,QR).bind(this,t),{signal:d}),this._freeHighlight=new ow({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 ER){const{data:{quadPoints:_,rect:k,rotation:A,id:$,color:E,opacity:O,popupRef:F},parent:{page:{pageNumber:q}}}=t;r=t={annotationType:je.HIGHLIGHT,color:Array.from(E),opacity:O,quadPoints:_,boxes:null,pageIndex:q-1,rect:k.slice(0),rotation:A,id:$,deleted:!1,popupRef:F}}else if(t instanceof iA){const{data:{inkLists:_,rect:k,rotation:A,id:$,color:E,borderStyle:{rawWidth:O},popupRef:F},parent:{page:{pageNumber:q}}}=t;r=t={annotationType:je.HIGHLIGHT,color:Array.from(E),thickness:O,inkLists:_,boxes:null,pageIndex:q-1,rect:k.slice(0),rotation:A,id:$,deleted:!1,popupRef:F}}const{color:o,quadPoints:a,inkLists:l,opacity:c}=t,h=await super.deserialize(t,s,i);h.color=Ee.makeHexColor(...o),C(h,oo,c||1),l&&C(h,oi,t.thickness),h.annotationElementId=t.id||null,h._initialData=r;const[u,d]=h.pageDimensions,[p,m]=h.pageTranslation;if(a){const _=C(h,ro,[]);for(let k=0;k=0)C(this,rs,s),C(this,Kl,i),this.parent.drawLayer.finalizeLine(s,t),C(this,gn,this.parent.drawLayer.drawOutline(f(this,ri)));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=at,di,qc).call(u,f(this,Bi).box,(p-this.rotation+360)%360)),this.parent.drawLayer.updateLine(f(this,gn),f(this,ri)),this.parent.drawLayer.updateBox(f(this,gn),T(d=at,di,qc).call(d,f(this,ri).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,ri).box;C(this,su,[(h[0]-o)/l,(h[1]-a)/c])},GR=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,nu))==null||c.updateColor(o),C(this,oo,a),(h=this.parent)==null||h.drawLayer.changeOpacity(f(this,rs),a)},i=this.color,r=f(this,oo);this.addCommands({cmd:s.bind(this,t,at._defaultOpacity),undo:s.bind(this,i,r),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Ie.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"color_changed",color:this._uiManager.highlightColorNames.get(t)},!0)},KR=function(t){const s=f(this,oi),i=r=>{C(this,oi,r),T(this,Le,ZR).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:Ie.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"thickness_changed",thickness:t},!0)},ZR=function(t){if(!f(this,Cs))return;T(this,Le,dg).call(this,{highlightOutlines:f(this,Bi).getNewOutline(t/2)}),this.fixAndSetPosition();const[s,i]=this.parentDimensions;this.setDims(this.width*s,this.height*i)},uw=function(){f(this,rs)===null||!this.parent||(this.parent.drawLayer.remove(f(this,rs)),C(this,rs,null),this.parent.drawLayer.remove(f(this,gn)),C(this,gn,null))},Za=function(t=this.parent){f(this,rs)===null&&({id:ds(this,rs)._,clipPathId:ds(this,Kl)._}=t.drawLayer.draw(f(this,Bi),this.color,f(this,oo)),C(this,gn,t.drawLayer.drawOutline(f(this,ri))),f(this,Zl)&&(f(this,Zl).style.clipPath=f(this,Kl)))},di=new WeakSet,qc=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}},XR=function(t){at._keyboardManager.exec(this,t)},fg=function(t){if(!f(this,tu))return;const s=window.getSelection();t?s.setPosition(f(this,tu),f(this,fp)):s.setPosition(f(this,pp),f(this,mp))},pd=function(){return f(this,Cs)?this.rotation:0},YR=function(){if(f(this,Cs))return null;const[t,s]=this.pageDimensions,[i,r]=this.pageTranslation,o=f(this,ro),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},JR=function(t){return f(this,Bi).serialize(t,T(this,Le,pd).call(this))},QR=function(t,s){this._freeHighlight.add(s)&&t.drawLayer.updatePath(this._freeHighlightId,this._freeHighlight)},eM=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=""},tM=function(t){const{color:s}=this._initialData;return t.color.some((i,r)=>i!==s[r])},R(at,di),ce(at,"_defaultColor",null),ce(at,"_defaultOpacity",1),ce(at,"_defaultThickness",12),ce(at,"_type","highlight"),ce(at,"_editorType",je.HIGHLIGHT),ce(at,"_freeHighlightId",-1),ce(at,"_freeHighlight",null),ce(at,"_freeHighlightClipId","");let Jg=at;var Xl,Yl,yr,ao,ai,Jl,Ql,ec,lo,ru,tc,nc,aa,fe,nM,sM,iM,rM,fw,oM,pw,aM,lM,cM,hM,uM,Xa,mw,gw,yw,pg,mg,Uc,vw,gg,Eo,dM,bw,fM,pM,ww,yg,md;const zt=class zt extends ft{constructor(t){super({...t,name:"inkEditor"});R(this,fe);R(this,Xl,0);R(this,Yl,0);R(this,yr,null);R(this,ao,new Path2D);R(this,ai,!1);R(this,Jl,null);R(this,Ql,!1);R(this,ec,!1);R(this,lo,null);R(this,ru,null);R(this,tc,0);R(this,nc,0);R(this,aa,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){ft.initialize(t,s)}static updateDefaultParams(t,s){switch(t){case Ie.INK_THICKNESS:zt._defaultThickness=s;break;case Ie.INK_COLOR:zt._defaultColor=s;break;case Ie.INK_OPACITY:zt._defaultOpacity=s/100;break}}updateParams(t,s){switch(t){case Ie.INK_THICKNESS:T(this,fe,nM).call(this,s);break;case Ie.INK_COLOR:T(this,fe,sM).call(this,s);break;case Ie.INK_OPACITY:T(this,fe,iM).call(this,s);break}}static get defaultPropertiesToUpdate(){return[[Ie.INK_THICKNESS,zt._defaultThickness],[Ie.INK_COLOR,zt._defaultColor||ft._defaultLineColor],[Ie.INK_OPACITY,Math.round(zt._defaultOpacity*100)]]}get propertiesToUpdate(){return[[Ie.INK_THICKNESS,this.thickness||zt._defaultThickness],[Ie.INK_COLOR,this.color||zt._defaultColor||ft._defaultLineColor],[Ie.INK_OPACITY,Math.round(100*(this.opacity??zt._defaultOpacity))]]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.canvas||(T(this,fe,pg).call(this),T(this,fe,mg).call(this)),this.isAttachedToDOM||(this.parent.add(this),T(this,fe,Uc).call(this)),T(this,fe,md).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,yr)&&(clearTimeout(f(this,yr)),C(this,yr,null)),(t=f(this,lo))==null||t.disconnect(),C(this,lo,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,ai)||this.canvas===null||(super.enableEditMode(),this._isDraggable=!1,T(this,fe,mw).call(this))}disableEditMode(){!this.isInEditMode()||this.canvas===null||(super.disableEditMode(),this._isDraggable=!this.isEmpty(),this.div.classList.remove("editing"),T(this,fe,gw).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,ai)||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),C(this,ai,!0),this.div.classList.add("disabled"),T(this,fe,md).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,ai)||(this.setInForeground(),t.preventDefault(),this.div.contains(document.activeElement)||this.div.focus({preventScroll:!0}),T(this,fe,oM).call(this,t.offsetX,t.offsetY))}canvasPointermove(t){t.preventDefault(),T(this,fe,pw).call(this,t.offsetX,t.offsetY)}canvasPointerup(t){t.preventDefault(),T(this,fe,yw).call(this,t)}canvasPointerleave(t){T(this,fe,yw).call(this,t)}get isResizable(){return!this.isEmpty()&&f(this,ai)}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,fe,rM).call(this);if(this.setAt(i,r,0,0),this.setDims(o,a),T(this,fe,pg).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,ec,!0),T(this,fe,Uc).call(this),this.setDims(this.width*l,this.height*c),T(this,fe,Xa).call(this),this.div.classList.add("disabled")}else this.div.classList.add("editing"),this.enableEditMode();return T(this,fe,mg).call(this),this.div}setDimensions(t,s){const i=Math.round(t),r=Math.round(s);if(f(this,tc)===i&&f(this,nc)===r)return;C(this,tc,i),C(this,nc,r),this.canvas.style.visibility="hidden";const[o,a]=this.parentDimensions;this.width=t/o,this.height=s/a,this.fixAndSetPosition(),f(this,ai)&&T(this,fe,vw).call(this,t,s),T(this,fe,Uc).call(this),T(this,fe,Xa).call(this),this.canvas.style.visibility="visible",this.fixDims()}static async deserialize(t,s,i){var v,y,w;if(t instanceof iA)return null;const r=await super.deserialize(t,s,i);r.thickness=t.thickness,r.color=Ee.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,ai,!0),C(r,tc,Math.round(l)),C(r,nc,Math.round(c));const{paths:d,rect:p,rotation:m}=t;for(let{bezier:_}of d){_=T(v=zt,Eo,fM).call(v,_,p,m);const k=[];r.paths.push(k);let A=h*(_[0]-u),$=h*(_[1]-u);for(let O=2,F=_.length;O{this.thickness=r,T(this,fe,md).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:Ie.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})},sM=function(t){const s=r=>{this.color=r,T(this,fe,Xa).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:Ie.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})},iM=function(t){const s=r=>{this.opacity=r,T(this,fe,Xa).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:Ie.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})},rM=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]}},fw=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}${n9(i)}`},oM=function(t,s){this.canvas.addEventListener("contextmenu",yi,{signal:this._uiManager._signal}),T(this,fe,gw).call(this),C(this,Jl,new AbortController);const i=this._uiManager.combinedSignal(f(this,Jl));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,ec)||(C(this,ec,!0),T(this,fe,Uc).call(this),this.thickness||(this.thickness=zt._defaultThickness),this.color||(this.color=zt._defaultColor||ft._defaultLineColor),this.opacity??(this.opacity=zt._defaultOpacity)),this.currentPath.push([t,s]),C(this,Ql,!1),T(this,fe,fw).call(this),C(this,aa,()=>{T(this,fe,cM).call(this),f(this,aa)&&window.requestAnimationFrame(f(this,aa))}),window.requestAnimationFrame(f(this,aa))},pw=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,ao);if(o.push([t,s]),C(this,Ql,!0),o.length<=2){a.moveTo(...o[0]),a.lineTo(t,s);return}o.length===3&&(C(this,ao,a=new Path2D),a.moveTo(...o[0])),T(this,fe,hM).call(this,a,...o.at(-3),...o.at(-2),t,s)},aM=function(){if(this.currentPath.length===0)return;const t=this.currentPath.at(-1);f(this,ao).lineTo(...t)},lM=function(t,s){C(this,aa,null),t=Math.min(Math.max(t,0),this.canvas.width),s=Math.min(Math.max(s,0),this.canvas.height),T(this,fe,pw).call(this,t,s),T(this,fe,aM).call(this);let i;if(this.currentPath.length!==1)i=T(this,fe,uM).call(this);else{const c=[t,s];i=[[c,c.slice(),c.slice(),c]]}const r=f(this,ao),o=this.currentPath;this.currentPath=[],C(this,ao,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,fe,pg).call(this),T(this,fe,mg).call(this)),T(this,fe,md).call(this))};this.addCommands({cmd:a,undo:l,mustExec:!0})},cM=function(){if(!f(this,Ql))return;C(this,Ql,!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,ao)),o.restore()},hM=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)},uM=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,yr,null),this.canvas.removeEventListener("contextmenu",yi)},10)),T(this,fe,lM).call(this,t.offsetX,t.offsetY),this.addToAnnotationStorage(),this.setInBackground()},pg=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")},mg=function(){C(this,lo,new ResizeObserver(t=>{const s=t[0].contentRect;s.width&&s.height&&this.setDimensions(s.width,s.height)})),f(this,lo).observe(this.div),this._uiManager._signal.addEventListener("abort",()=>{var t;(t=f(this,lo))==null||t.disconnect(),C(this,lo,null)},{once:!0})},Uc=function(){if(!f(this,ec))return;const[t,s]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*t),this.canvas.height=Math.ceil(this.height*s),T(this,fe,gg).call(this)},vw=function(t,s){const i=T(this,fe,yg).call(this),r=(t-i)/f(this,Yl),o=(s-i)/f(this,Xl);this.scaleFactor=Math.min(r,o)},gg=function(){const t=T(this,fe,yg).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+t,this.translationY*this.scaleFactor+t)},Eo=new WeakSet,dM=function(t){const s=new Path2D;for(let i=0,r=t.length;i`image/${s}`))}static get supportedTypesStr(){return Xe(this,"supportedTypesStr",this.supportedTypes.join(","))}static isHandlingMimeForPasting(t){return this.supportedTypes.includes(t)}static paste(t,s){s.pasteEditor(je.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,Hn)&&(C(this,Bt,null),this._uiManager.imageManager.deleteId(f(this,Hn)),(t=f(this,vr))==null||t.remove(),C(this,vr,null),(s=f(this,ho))==null||s.disconnect(),C(this,ho,null),f(this,br)&&(clearTimeout(f(this,br)),C(this,br,null))),super.remove()}rebuild(){if(!this.parent){f(this,Hn)&&T(this,Ze,vg).call(this);return}super.rebuild(),this.div!==null&&(f(this,Hn)&&f(this,vr)===null&&T(this,Ze,vg).call(this),this.isAttachedToDOM||this.parent.add(this))}onceAdded(){this._isDraggable=!0,this.div.focus()}isEmpty(){return!(f(this,la)||f(this,Bt)||f(this,co)||f(this,ca)||f(this,Hn))}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,Bt)?T(this,Ze,Sw).call(this):T(this,Ze,vg).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,Bt),a=new yb;let l=f(this,Bt),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,Ws)||(l=T(this,Ze,bg).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,k=_*a.sx,A=_*a.sy,$=new OffscreenCanvas(k*2,A*2),E=$.getContext("2d");E.fillStyle=y,E.fillRect(0,0,k*2,A*2),E.fillStyle=w,E.fillRect(0,0,k,A),E.fillRect(k,A,k,A),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,Ws)||(l=T(this,Ze,bg).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,vr)}static async deserialize(t,s,i){var g;let r=null;if(t instanceof CR){const{data:{rect:v,rotation:y,id:w,structParent:_,popupRef:k},container:A,parent:{page:{pageNumber:$}}}=t,E=A.querySelector("canvas"),O=i.imageManager.getFromCanvas(A.id,E);E.remove();const F=((g=await s._structTree.getAriaAttributes(`${G1}${w}`))==null?void 0:g.get("aria-label"))||"";r=t={annotationType:je.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:k}}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,Hn,h),l&&C(o,Bt,l)):C(o,co,c),C(o,Ws,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,au,!!r),o}serialize(t=!1,s=null){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();const i={annotationType:je.STAMP,bitmapId:f(this,Hn),pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:f(this,Ws),structTreeParentId:this._structTreeParentId};if(t)return i.bitmapUrl=T(this,Ze,wg).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,Ze,yM).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,Ws)?(i.rect[2]-i.rect[0])*(i.rect[3]-i.rect[1]):null;if(!s.stamps.has(f(this,Hn)))s.stamps.set(f(this,Hn),{area:a,serialized:i}),i.bitmap=T(this,Ze,wg).call(this,!1);else if(f(this,Ws)){const l=s.stamps.get(f(this,Hn));a>l.area&&(l.area=a,l.serialized.bitmap.close(),l.serialized.bitmap=T(this,Ze,wg).call(this,!1))}return i}renderAnnotationElement(t){return t.updateEdited({rect:this.getRect(0,0)}),null}};Bt=new WeakMap,Hn=new WeakMap,la=new WeakMap,co=new WeakMap,ca=new WeakMap,ou=new WeakMap,vr=new WeakMap,ho=new WeakMap,br=new WeakMap,Ws=new WeakMap,au=new WeakMap,Ze=new WeakSet,gd=function(t,s=!1){if(!t){this.remove();return}C(this,Bt,t.bitmap),s||(C(this,Hn,t.id),C(this,Ws,t.isSvg)),t.file&&C(this,ou,t.file.name),T(this,Ze,Sw).call(this)},yd=function(){if(C(this,la,null),this._uiManager.enableWaiting(!1),!!f(this,vr)){if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&f(this,Bt)){this._editToolbar.hide(),this._uiManager.editAltText(this,!0);return}if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&f(this,Bt)){this._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!1,alt_text_type:"empty"}});try{this.mlGuessAltText()}catch{}}this.div.focus()}},vg=function(){if(f(this,Hn)){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(f(this,Hn)).then(i=>T(this,Ze,gd).call(this,i,!0)).finally(()=>T(this,Ze,yd).call(this));return}if(f(this,co)){const i=f(this,co);C(this,co,null),this._uiManager.enableWaiting(!0),C(this,la,this._uiManager.imageManager.getFromUrl(i).then(r=>T(this,Ze,gd).call(this,r)).finally(()=>T(this,Ze,yd).call(this)));return}if(f(this,ca)){const i=f(this,ca);C(this,ca,null),this._uiManager.enableWaiting(!0),C(this,la,this._uiManager.imageManager.getFromFile(i).then(r=>T(this,Ze,gd).call(this,r)).finally(()=>T(this,Ze,yd).call(this)));return}const t=document.createElement("input");t.type="file",t.accept=jd.supportedTypesStr;const s=this._uiManager._signal;C(this,la,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,Ze,gd).call(this,r)}i()},{signal:s}),t.addEventListener("cancel",()=>{this.remove(),i()},{signal:s})}).finally(()=>T(this,Ze,yd).call(this))),t.click()},Sw=function(){const{div:t}=this;let{width:s,height:i}=f(this,Bt);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,vr,document.createElement("canvas"));h.setAttribute("role","img"),this.addContainer(h),(!this._uiManager.useNewAltTextWhenAddingImage||!this._uiManager.useNewAltTextFlow||this.annotationElementId)&&(t.hidden=!1),T(this,Ze,Aw).call(this,s,i),T(this,Ze,gM).call(this),f(this,au)||(this.parent.addUndoableEditor(this),C(this,au,!0)),this._reportTelemetry({action:"inserted_image"}),f(this,ou)&&h.setAttribute("aria-label",f(this,ou))},mM=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,br)!==null&&clearTimeout(f(this,br)),C(this,br,setTimeout(()=>{C(this,br,null),T(this,Ze,Aw).call(this,t,s)},200))},bg=function(t,s){const{width:i,height:r}=f(this,Bt);let o=i,a=r,l=f(this,Bt);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},Aw=function(t,s){const i=new yb,r=Math.ceil(t*i.sx),o=Math.ceil(s*i.sy),a=f(this,vr);if(!a||a.width===r&&a.height===o)return;a.width=r,a.height=o;const l=f(this,Ws)?f(this,Bt):T(this,Ze,bg).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)},wg=function(t){if(t){if(f(this,Ws)){const r=this._uiManager.imageManager.getSvgUrl(f(this,Hn));if(r)return r}const s=document.createElement("canvas");return{width:s.width,height:s.height}=f(this,Bt),s.getContext("2d").drawImage(f(this,Bt),0,0),s.toDataURL()}if(f(this,Ws)){const[s,i]=this.pageDimensions,r=Math.round(this.width*s*ka.PDF_TO_CSS_UNITS),o=Math.round(this.height*i*ka.PDF_TO_CSS_UNITS),a=new OffscreenCanvas(r,o);return a.getContext("2d").drawImage(f(this,Bt),0,0,f(this,Bt).width,f(this,Bt).height,0,0,r,o),a.transferToImageBitmap()}return structuredClone(f(this,Bt))},gM=function(){this._uiManager._signal&&(C(this,ho,new ResizeObserver(t=>{const s=t[0].contentRect;s.width&&s.height&&T(this,Ze,mM).call(this,s.width,s.height)})),f(this,ho).observe(this.div),this._uiManager._signal.addEventListener("abort",()=>{var t;(t=f(this,ho))==null||t.disconnect(),C(this,ho,null)},{once:!0}))},yM=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}},ce(jd,"_type","stamp"),ce(jd,"_editorType",je.STAMP);let _w=jd;var sc,lu,wr,ha,uo,Gs,ua,cu,hu,os,fo,$e,da,Zn,vM,xw,Ew,Cw,_g;const $i=class $i{constructor({uiManager:e,pageIndex:t,div:s,structTreeLayer:i,accessibilityManager:r,annotationLayer:o,drawLayer:a,textLayer:l,viewport:c,l10n:h}){R(this,Zn);R(this,sc);R(this,lu,!1);R(this,wr,null);R(this,ha,null);R(this,uo,null);R(this,Gs,new Map);R(this,ua,!1);R(this,cu,!1);R(this,hu,!1);R(this,os,null);R(this,fo,null);R(this,$e);const u=[...f($i,da).values()];if(!$i._initialized){$i._initialized=!0;for(const d of u)d.initialize(h,e)}e.registerEditorTypes(u),C(this,$e,e),this.pageIndex=t,this.div=s,C(this,sc,r),C(this,wr,o),this.viewport=c,C(this,os,l),this.drawLayer=a,this._structTree=i,f(this,$e).addLayer(this)}get isEmpty(){return f(this,Gs).size===0}get isInvisible(){return this.isEmpty&&f(this,$e).getMode()===je.NONE}updateToolbar(e){f(this,$e).updateToolbar(e)}updateMode(e=f(this,$e).getMode()){switch(T(this,Zn,_g).call(this),e){case je.NONE:this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case je.INK:this.addInkEditorIfNeeded(!1),this.disableTextSelection(),this.togglePointerEvents(!0),this.disableClick();break;case je.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($i,da).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,$e).getMode()!==je.INK)return;if(!e){for(const s of f(this,Gs).values())if(s.isEmpty()){s.setInBackground();return}}this.createAndAddNewEditor({offsetX:0,offsetY:0},!1).setInBackground()}setEditingState(e){f(this,$e).setEditingState(e)}addCommands(e){f(this,$e).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,wr))==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,Gs).values())s.enableEditing(),s.show(!0),s.annotationElementId&&(f(this,$e).removeChangedExistingAnnotation(s),e.add(s.annotationElementId));if(!f(this,wr))return;const t=f(this,wr).getEditableAnnotations();for(const s of t){if(s.hide(),f(this,$e).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,hu,!0),this.div.tabIndex=-1,this.togglePointerEvents(!1);const e=new Map,t=new Map;for(const r of f(this,Gs).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,wr)){const r=f(this,wr).getEditableAnnotations();for(const o of r){const{id:a}=o.data;if(f(this,$e).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,$e).addChangedExistingAnnotation(l),l.renderAnnotationElement(o)&&l.show(!1)),o.show()}}T(this,Zn,_g).call(this),this.isEmpty&&(this.div.hidden=!0);const{classList:s}=this.div;for(const r of f($i,da).values())s.remove(`${r._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),C(this,hu,!1)}getEditableAnnotation(e){var t;return((t=f(this,wr))==null?void 0:t.getEditableAnnotation(e))||null}setActiveEditor(e){f(this,$e).getActive()!==e&&f(this,$e).setActiveEditor(e)}enableTextSelection(){var e;if(this.div.tabIndex=-1,(e=f(this,os))!=null&&e.div&&!f(this,fo)){C(this,fo,new AbortController);const t=f(this,$e).combinedSignal(f(this,fo));f(this,os).div.addEventListener("pointerdown",T(this,Zn,vM).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,fo)&&(f(this,fo).abort(),C(this,fo,null),f(this,os).div.classList.remove("highlighting"))}enableClick(){if(f(this,ha))return;C(this,ha,new AbortController);const e=f(this,$e).combinedSignal(f(this,ha));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,ha))==null||e.abort(),C(this,ha,null)}attach(e){f(this,Gs).set(e.id,e);const{annotationElementId:t}=e;t&&f(this,$e).isDeletedAnnotationElement(t)&&f(this,$e).removeDeletedAnnotationElement(e)}detach(e){var t;f(this,Gs).delete(e.id),(t=f(this,sc))==null||t.removePointerInTextLayer(e.contentDiv),!f(this,hu)&&e.annotationElementId&&f(this,$e).addDeletedAnnotationElement(e)}remove(e){this.detach(e),f(this,$e).removeEditor(e),e.div.remove(),e.isAttachedToDOM=!1,f(this,cu)||this.addInkEditorIfNeeded(!1)}changeParent(e){var t;e.parent!==this&&(e.parent&&e.annotationElementId&&(f(this,$e).addDeletedAnnotationElement(e.annotationElementId),ft.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,$e).addEditor(e),this.attach(e),!e.isAttachedToDOM){const t=e.render();this.div.append(t),e.isAttachedToDOM=!0}e.fixAndSetPosition(),e.onceAdded(),f(this,$e).addToAnnotationStorage(e),e._reportTelemetry(e.telemetryInitialData)}}moveEditorInDOM(e){var s;if(!e.isAttachedToDOM)return;const{activeElement:t}=document;e.div.contains(t)&&!f(this,uo)&&(e._focusEventsAllowed=!1,C(this,uo,setTimeout(()=>{C(this,uo,null),e.div.contains(document.activeElement)?e._focusEventsAllowed=!0:(e.div.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:f(this,$e)._signal}),t.focus())},0))),e._structTreeParentId=(s=f(this,sc))==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,$e).getId()}combinedSignal(e){return f(this,$e).combinedSignal(e)}canCreateNewEmptyEditor(){var e;return(e=f(this,Zn,xw))==null?void 0:e.canCreateNewEmptyEditor()}pasteEditor(e,t){f(this,$e).updateToolbar(e),f(this,$e).updateMode(e);const{offsetX:s,offsetY:i}=T(this,Zn,Cw).call(this),r=this.getNextId(),o=T(this,Zn,Ew).call(this,{parent:this,id:r,x:s,y:i,uiManager:f(this,$e),isCentered:!0,...t});o&&this.add(o)}async deserialize(e){var t;return await((t=f($i,da).get(e.annotationType??e.annotationEditorType))==null?void 0:t.deserialize(e,this,f(this,$e)))||null}createAndAddNewEditor(e,t,s={}){const i=this.getNextId(),r=T(this,Zn,Ew).call(this,{parent:this,id:i,x:e.offsetX,y:e.offsetY,uiManager:f(this,$e),isCentered:t,...s});return r&&this.add(r),r}addNewEditor(){this.createAndAddNewEditor(T(this,Zn,Cw).call(this),!0)}setSelected(e){f(this,$e).setSelected(e)}toggleSelected(e){f(this,$e).toggleSelected(e)}unselect(e){f(this,$e).unselect(e)}pointerup(e){const{isMac:t}=vs.platform;if(!(e.button!==0||e.ctrlKey&&t)&&e.target===this.div&&f(this,ua)){if(C(this,ua,!1),!f(this,lu)){C(this,lu,!0);return}if(f(this,$e).getMode()===je.STAMP){f(this,$e).unselectAll();return}this.createAndAddNewEditor(e,!1)}}pointerdown(e){if(f(this,$e).getMode()===je.HIGHLIGHT&&this.enableTextSelection(),f(this,ua)){C(this,ua,!1);return}const{isMac:t}=vs.platform;if(e.button!==0||e.ctrlKey&&t||e.target!==this.div)return;C(this,ua,!0);const s=f(this,$e).getActive();C(this,lu,!s||s.isEmpty())}findNewParent(e,t,s){const i=f(this,$e).findParent(t,s);return i===null||i===this?!1:(i.changeParent(e),!0)}destroy(){var e,t;((e=f(this,$e).getActive())==null?void 0:e.parent)===this&&(f(this,$e).commitOrRemove(),f(this,$e).setActiveEditor(null)),f(this,uo)&&(clearTimeout(f(this,uo)),C(this,uo,null));for(const s of f(this,Gs).values())(t=f(this,sc))==null||t.removePointerInTextLayer(s.contentDiv),s.setParent(null),s.isAttachedToDOM=!1,s.div.remove();this.div=null,f(this,Gs).clear(),f(this,$e).removeLayer(this)}render({viewport:e}){this.viewport=e,dc(this.div,e);for(const t of f(this,$e).getEditors(this.pageIndex))this.add(t),t.rebuild();this.updateMode()}update({viewport:e}){f(this,$e).commitOrRemove(),T(this,Zn,_g).call(this);const t=this.viewport.rotation,s=e.rotation;if(this.viewport=e,dc(this.div,{rotation:s}),t!==s)for(const i of f(this,Gs).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,$e).viewParameters.realScale}};sc=new WeakMap,lu=new WeakMap,wr=new WeakMap,ha=new WeakMap,uo=new WeakMap,Gs=new WeakMap,ua=new WeakMap,cu=new WeakMap,hu=new WeakMap,os=new WeakMap,fo=new WeakMap,$e=new WeakMap,da=new WeakMap,Zn=new WeakSet,vM=function(e){f(this,$e).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}=vs.platform;if(e.button!==0||e.ctrlKey&&s)return;f(this,$e).showAllEditors("highlight",!0,!0),f(this,os).div.classList.add("free"),this.toggleDrawing(),Jg.startHighlighting(this,f(this,$e).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,$e)._signal}),e.preventDefault()}},xw=function(){return f($i,da).get(f(this,$e).getMode())},Ew=function(e){const t=f(this,Zn,xw);return t?new t.prototype.constructor(e):null},Cw=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}},_g=function(){C(this,cu,!0);for(const e of f(this,Gs).values())e.isEmpty()&&e.remove();C(this,cu,!1)},ce($i,"_initialized",!1),R($i,da,new Map([sw,dw,_w,Jg].map(e=>[e._editorType,e])));let kw=$i;var _r,yp,an,po,vp,Tw,Ac,Pw,bM;const Fn=class Fn{constructor({pageIndex:e}){R(this,Ac);R(this,_r,null);R(this,yp,0);R(this,an,new Map);R(this,po,new Map);this.pageIndex=e}setParent(e){if(!f(this,_r)){C(this,_r,e);return}if(f(this,_r)!==e){if(f(this,an).size>0)for(const t of f(this,an).values())t.remove(),e.append(t);C(this,_r,e)}}static get _svgFactory(){return Xe(this,"_svgFactory",new sA)}draw(e,t,s,i=!1){const r=ds(this,yp)._++,o=T(this,Ac,Pw).call(this,e.box);o.classList.add(...e.classNamesForDrawing);const a=Fn._svgFactory.createElement("defs");o.append(a);const l=Fn._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,po).set(r,l);const h=T(this,Ac,bM).call(this,a,c),u=Fn._svgFactory.createElement("use");return o.append(u),o.setAttribute("fill",t),o.setAttribute("fill-opacity",s),u.setAttribute("href",`#${c}`),f(this,an).set(r,o),{id:r,clipPathId:`url(#${h})`}}drawOutline(e){const t=ds(this,yp)._++,s=T(this,Ac,Pw).call(this,e.box);s.classList.add(...e.classNamesForOutlining);const i=Fn._svgFactory.createElement("defs");s.append(i);const r=Fn._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=Fn._svgFactory.createElement("mask");i.append(h),a=`mask_p${this.pageIndex}_${t}`,h.setAttribute("id",a),h.setAttribute("maskUnits","objectBoundingBox");const u=Fn._svgFactory.createElement("rect");h.append(u),u.setAttribute("width","1"),u.setAttribute("height","1"),u.setAttribute("fill","white");const d=Fn._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=Fn._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,an).set(t,s),t}finalizeLine(e,t){const s=f(this,po).get(e);f(this,po).delete(e),this.updateBox(e,t.box),s.setAttribute("d",t.toSVGPath())}updateLine(e,t){f(this,an).get(e).firstChild.firstChild.setAttribute("d",t.toSVGPath())}updatePath(e,t){f(this,po).get(e).setAttribute("d",t.toSVGPath())}updateBox(e,t){var s;T(s=Fn,vp,Tw).call(s,f(this,an).get(e),t)}show(e,t){f(this,an).get(e).classList.toggle("hidden",!t)}rotate(e,t){f(this,an).get(e).setAttribute("data-main-rotation",t)}changeColor(e,t){f(this,an).get(e).setAttribute("fill",t)}changeOpacity(e,t){f(this,an).get(e).setAttribute("fill-opacity",t)}addClass(e,t){f(this,an).get(e).classList.add(t)}removeClass(e,t){f(this,an).get(e).classList.remove(t)}getSVGRoot(e){return f(this,an).get(e)}remove(e){f(this,po).delete(e),f(this,_r)!==null&&(f(this,an).get(e).remove(),f(this,an).delete(e))}destroy(){C(this,_r,null);for(const e of f(this,an).values())e.remove();f(this,an).clear(),f(this,po).clear()}};_r=new WeakMap,yp=new WeakMap,an=new WeakMap,po=new WeakMap,vp=new WeakSet,Tw=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}%`},Ac=new WeakSet,Pw=function(e){var s;const t=Fn._svgFactory.create(1,1,!0);return f(this,_r).append(t),t.setAttribute("aria-hidden",!0),T(s=Fn,vp,Tw).call(s,t,e),t},bM=function(e,t){const s=Fn._svgFactory.createElement("clipPath");e.append(s);const i=`clip_${t}`;s.setAttribute("id",i),s.setAttribute("clipPathUnits","objectBoundingBox");const r=Fn._svgFactory.createElement("use");return s.append(r),r.setAttribute("href",`#${t}`),r.classList.add("clip"),i},R(Fn,vp);let $w=Fn;Ne.AbortException;Ne.AnnotationEditorLayer;Ne.AnnotationEditorParamsType;Ne.AnnotationEditorType;Ne.AnnotationEditorUIManager;var wM=Ne.AnnotationLayer,_M=Ne.AnnotationMode;Ne.ColorPicker;Ne.DOMSVGFactory;Ne.DrawLayer;Ne.FeatureTest;var g0=Ne.GlobalWorkerOptions;Ne.ImageKind;Ne.InvalidPDFException;Ne.MissingPDFException;Ne.OPS;Ne.OutputScale;var N8=Ne.PDFDataRangeTransport;Ne.PDFDateString;Ne.PDFWorker;Ne.PasswordResponses;Ne.PermissionFlag;Ne.PixelsPerInch;Ne.RenderingCancelledException;var SM=Ne.TextLayer;Ne.UnexpectedResponseException;Ne.Util;Ne.VerbosityLevel;Ne.XfaLayer;Ne.build;Ne.createValidAbsoluteUrl;Ne.fetchData;var AM=Ne.getDocument;Ne.getFilenameFromUrl;Ne.getPdfFilenameFromUrl;Ne.getXfaPageViewport;Ne.isDataScheme;Ne.isPdfFile;Ne.noContextMenu;Ne.normalizeUnicode;Ne.setLayerDimensions;Ne.shadow;var Rw=Ne.version;const L8=Object.freeze(Object.defineProperty({__proto__:null,AnnotationLayer:wM,AnnotationMode:_M,GlobalWorkerOptions:g0,PDFDataRangeTransport:N8,TextLayer:SM,getDocument:AM,version:Rw},Symbol.toStringTag,{value:"Module"}));var xn=function(n,e,t){if(t||arguments.length===2)for(var s=0,i=e.length,r;s{yt(this.pdfDocument),yt(e),typeof e=="string"?this.pdfDocument.getDestination(e).then(t):Array.isArray(e)?t(e):e.then(t)}).then(t=>{yt(Array.isArray(t));const s=t[0];new Promise(i=>{yt(this.pdfDocument),s instanceof Object?this.pdfDocument.getPageIndex(s).then(r=>{i(r)}).catch(()=>{yt(!1)}):typeof s=="number"?i(s):yt(!1)}).then(i=>{const r=i+1;yt(this.pdfViewer),yt(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;yt(this.pdfViewer),yt(e>=1&&e<=this.pagesCount),this.pdfViewer.scrollPageIntoView({pageIndex:t,pageNumber:e})}addLinkAttributes(e,t,s){e.href=t,e.rel=this.externalLinkRel||r6,e.target=s?"_blank":this.externalLinkTarget||""}getDestinationHash(){return"#"}getAnchorUrl(){return"#"}setHash(){}executeNamedAction(){}cachePageRef(){}isPageVisible(){return!0}isPageCached(){return!0}executeSetOCGState(){}}const Ix={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},y0=typeof window<"u",EM=y0&&window.location.protocol==="file:";function a6(n){return typeof n<"u"}function qa(n){return a6(n)&&n!==null}function l6(n){return typeof n=="string"}function c6(n){return n instanceof ArrayBuffer}function h6(n){return yt(y0),n instanceof Blob}function Mw(n){return l6(n)&&/^data:/.test(n)}function Ox(n){yt(Mw(n));const[e="",t=""]=n.split(",");return e.split(";").indexOf("base64")!==-1?atob(t):unescape(t)}function u6(){return y0&&window.devicePixelRatio||1}const CM="On Chromium based browsers, you can use --allow-file-access-from-files flag for debugging purposes.";function Nx(){ls(!EM,`Loading PDF as base64 strings/URLs may not work on protocols other than HTTP/HTTPS. ${CM}`)}function d6(){ls(!EM,`Loading PDF.js worker may not work on protocols other than HTTP/HTTPS. ${CM}`)}function mc(n){n!=null&&n.cancel&&n.cancel()}function Iw(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 f6(n){return n.name==="RenderingCancelledException"}function p6(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 m6(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 gu(){return X.useReducer(m6,{value:void 0,error:void 0})}var g6=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())})},Lx=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 Ix.NEED_PASSWORD:{const t=prompt("Enter the password to open this PDF file.");n(t);break}case Ix.INCORRECT_PASSWORD:{const t=prompt("Invalid password. Please try again.");n(t);break}}};function Dx(n){return typeof n=="object"&&n!==null&&("data"in n||"range"in n||"url"in n)}const b6=X.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=v6,onSourceError:w,onSourceSuccess:_,options:k,renderMode:A,rotate:$}=e,E=Lx(e,["children","className","error","externalLinkRel","externalLinkTarget","file","inputRef","imageResourcesPath","loading","noData","onItemClick","onLoadError","onLoadProgress","onLoadSuccess","onPassword","onSourceError","onSourceSuccess","options","renderMode","rotate"]);const[O,F]=gu(),{value:q,error:D}=O,[z,K]=gu(),{value:L,error:ee}=z,Q=X.useRef(new o6),te=X.useRef([]),ae=X.useRef(void 0),ge=X.useRef(void 0);l&&l!==ae.current&&Dx(l)&&(ls(!oh(l,ae.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.`),ae.current=l),k&&k!==ge.current&&(ls(!oh(k,ge.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.`),ge.current=k);const B=X.useRef({scrollPageIntoView:J=>{const{dest:ie,pageNumber:he,pageIndex:_e=he-1}=J;if(p){p({dest:ie,pageIndex:_e,pageNumber:he});return}const Je=te.current[_e];if(Je){Je.scrollIntoView();return}ls(!1,`An internal link leading to page ${he} 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 .`)}});X.useImperativeHandle(t,()=>({linkService:Q,pages:te,viewer:B}),[]);function P(){_&&_()}function N(){D&&(ls(!1,D.toString()),w&&w(D))}function M(){F({type:"RESET"})}X.useEffect(M,[l,F]);const b=X.useCallback(()=>g6(this,void 0,void 0,function*(){if(!l)return null;if(typeof l=="string")return Mw(l)?{data:Ox(l)}:(Nx(),{url:l});if(l instanceof y6)return{range:l};if(c6(l))return{data:l};if(y0&&h6(l))return{data:yield p6(l)};if(yt(typeof l=="object"),yt(Dx(l)),"url"in l&&typeof l.url=="string"){if(Mw(l.url)){const{url:J}=l,ie=Lx(l,["url"]),he=Ox(J);return Object.assign({data:he},ie)}Nx()}return l}),[l]);X.useEffect(()=>{const J=Fp(b());return J.promise.then(ie=>{F({type:"RESOLVE",value:ie})}).catch(ie=>{F({type:"REJECT",error:ie})}),()=>{mc(J)}},[b,F]),X.useEffect(()=>{if(!(typeof q>"u")){if(q===!1){N();return}P()}},[q]);function x(){L&&(v&&v(L),te.current=new Array(L.numPages),Q.current.setDocument(L))}function I(){ee&&(ls(!1,ee.toString()),m&&m(ee))}X.useEffect(function(){K({type:"RESET"})},[K,q]),X.useEffect(function(){if(!q)return;const ie=k?Object.assign(Object.assign({},q),k):q,he=AM(ie);g&&(he.onProgress=g),y&&(he.onPassword=y);const _e=he,Je=_e.promise.then(Ct=>{K({type:"RESOLVE",value:Ct})}).catch(Ct=>{_e.destroyed||K({type:"REJECT",error:Ct})});return()=>{Je.finally(()=>_e.destroy())}},[k,K,q]),X.useEffect(()=>{if(!(typeof L>"u")){if(L===!1){I();return}x()}},[L]),X.useEffect(function(){Q.current.setViewer(B.current),Q.current.setExternalLinkRel(o),Q.current.setExternalLinkTarget(a)},[o,a]);const G=X.useCallback((J,ie)=>{te.current[J]=ie},[]),Y=X.useCallback(J=>{delete te.current[J]},[]),ue=X.useMemo(()=>({imageResourcesPath:h,linkService:Q.current,onItemClick:p,pdf:L,registerPage:G,renderMode:A,rotate:$,unregisterPage:Y}),[h,p,L,G,A,$,Y]),oe=X.useMemo(()=>kM(E,()=>L),[E,L]);function H(){return S.jsx(xM.Provider,{value:ue,children:s})}function U(){return l?L==null?S.jsx(ah,{type:"loading",children:typeof u=="function"?u():u}):L===!1?S.jsx(ah,{type:"error",children:typeof r=="function"?r():r}):H():S.jsx(ah,{type:"no-data",children:typeof d=="function"?d():d})}return S.jsx("div",Object.assign({className:Dy("react-pdf__Document",i),ref:c,style:{"--scale-factor":"1"}},oe,{children:U()}))});function $M(){return X.useContext(xM)}function TM(){for(var n=[],e=0;eA6(e),[e]),s=X.useMemo(()=>!v0(e)||MM(e)?null:e.children.map((i,r)=>S.jsx(OM,{node:i},r)),[e]);return S.jsx("span",Object.assign({className:n},t,{children:s}))}function b0(){return X.useContext(PM)}function k6(){const n=b0();yt(n);const{onGetStructTreeError:e,onGetStructTreeSuccess:t}=n,[s,i]=gu(),{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 X.useEffect(function(){i({type:"RESET"})},[i,l]),X.useEffect(function(){if(a||!l)return;const d=Fp(l.getStructTree()),p=d;return d.promise.then(m=>{i({type:"RESOLVE",value:m})}).catch(m=>{i({type:"REJECT",error:m})}),()=>mc(p)},[a,l,i]),X.useEffect(()=>{if(r!==void 0){if(r===!1){h();return}c()}},[r]),r?S.jsx(OM,{className:"react-pdf__Page__structTree structTree",node:r}):null}const Fx=_M;function x6(n){const e=b0();yt(e);const t=Object.assign(Object.assign({},e),n),{_className:s,canvasBackground:i,devicePixelRatio:r=u6(),onRenderError:o,onRenderSuccess:a,page:l,renderForms:c,renderTextLayer:h,rotate:u,scale:d}=t,{canvasRef:p}=n;yt(l);const m=X.useRef(null);function g(){l&&a&&a(Iw(l,d))}function v(k){f6(k)||(ls(!1,k.toString()),o&&o(k))}const y=X.useMemo(()=>l.getViewport({scale:d*r,rotation:u}),[r,l,u,d]),w=X.useMemo(()=>l.getViewport({scale:d,rotation:u}),[l,u,d]);X.useEffect(function(){if(!l)return;l.cleanup();const{current:A}=m;if(!A)return;A.width=y.width,A.height=y.height,A.style.width=`${Math.floor(w.width)}px`,A.style.height=`${Math.floor(w.height)}px`,A.style.visibility="hidden";const $={annotationMode:c?Fx.ENABLE_FORMS:Fx.ENABLE,canvasContext:A.getContext("2d",{alpha:!1}),viewport:y};i&&($.background=i);const E=l.render($),O=E;return E.promise.then(()=>{A.style.visibility="",g()}).catch(v),()=>mc(O)},[i,l,c,y,w]);const _=X.useCallback(()=>{const{current:k}=m;k&&(k.width=0,k.height=0)},[]);return X.useEffect(()=>_,[_]),S.jsx("canvas",{className:`${s}__canvas`,dir:"ltr",ref:TM(p,m),style:{display:"block",userSelect:"none"},children:h?S.jsx(k6,{}):null})}function E6(n){return"str"in n}function C6(){const n=b0();yt(n);const{customTextRenderer:e,onGetTextError:t,onGetTextSuccess:s,onRenderTextLayerError:i,onRenderTextLayerSuccess:r,page:o,pageIndex:a,pageNumber:l,rotate:c,scale:h}=n;yt(o);const[u,d]=gu(),{value:p,error:m}=u,g=X.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))}X.useEffect(function(){d({type:"RESET"})},[o,d]),X.useEffect(function(){if(!o)return;const O=Fp(o.getTextContent()),F=O;return O.promise.then(q=>{d({type:"RESOLVE",value:q})}).catch(q=>{d({type:"REJECT",error:q})}),()=>mc(F)},[o,d]),X.useEffect(()=>{if(p!==void 0){if(p===!1){y();return}v()}},[p]);const w=X.useCallback(()=>{r&&r()},[r]),_=X.useCallback(E=>{ls(!1,E.toString()),i&&i(E)},[i]);function k(){const E=g.current;E&&E.classList.add("selecting")}function A(){const E=g.current;E&&E.classList.remove("selecting")}const $=X.useMemo(()=>o.getViewport({scale:h,rotation:c}),[o,c,h]);return X.useLayoutEffect(function(){if(!o||!p)return;const{current:O}=g;if(!O)return;O.innerHTML="";const F=o.streamTextContent({includeMarkedContent:!0}),q={container:O,textContentSource:F,viewport:$},D=new SM(q),z=D;return D.render().then(()=>{const K=document.createElement("div");K.className="endOfContent",O.append(K);const L=O.querySelectorAll('[role="presentation"]');if(e){let ee=0;p.items.forEach((Q,te)=>{if(!E6(Q))return;const ae=L[ee];if(!ae)return;const ge=e(Object.assign({pageIndex:a,pageNumber:l,itemIndex:te},Q));ae.innerHTML=ge,ee+=Q.str&&Q.hasEOL?2:1})}w()}).catch(_),()=>mc(z)},[e,_,w,o,a,l,p,$]),S.jsx("div",{className:Dy("react-pdf__Page__textContent","textLayer"),onMouseUp:A,onMouseDown:k,ref:g})}function $6(){const n=$M(),e=b0();yt(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;yt(h),yt(c),yt(i);const[m,g]=gu(),{value:v,error:y}=m,w=X.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 k(){y&&(ls(!1,y.toString()),r&&r(y))}X.useEffect(function(){g({type:"RESET"})},[g,c]),X.useEffect(function(){if(!c)return;const F=Fp(c.getAnnotations()),q=F;return F.promise.then(D=>{g({type:"RESOLVE",value:D})}).catch(D=>{g({type:"REJECT",error:D})}),()=>{mc(q)}},[g,c]),X.useEffect(()=>{if(v!==void 0){if(v===!1){k();return}_()}},[v]);function A(){l&&l()}function $(O){ls(!1,`${O}`),a&&a(O)}const E=X.useMemo(()=>c.getViewport({scale:p,rotation:d}),[c,d,p]);return X.useEffect(function(){if(!h||!c||!i||!v)return;const{current:F}=w;if(!F)return;const q=E.clone({dontFlip:!0}),D={accessibilityManager:null,annotationCanvasMap:null,annotationEditorUIManager:null,div:F,l10n:null,page:c,structTreeLayer:null,viewport:q},z={annotations:v,annotationStorage:h.annotationStorage,div:F,imageResourcesPath:s,linkService:i,page:c,renderForms:u,viewport:q};F.innerHTML="";try{new wM(D).render(z),A()}catch(K){$(K)}return()=>{}},[v,s,i,c,h,u,E]),S.jsx("div",{className:Dy("react-pdf__Page__annotations","annotationLayer"),ref:w})}var T6=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(!oe)return null;let hn=1;const un=b??jx;if(I||p){const sn=oe.getViewport({scale:1,rotation:he});I?hn=I/sn.width:p&&(hn=p/sn.height)}return un*hn},[p,oe,he,b,I]);X.useEffect(function(){return()=>{qa(J)&&i&&x&&x(J)}},[i,te,J,x]);function Je(){if(O){if(!oe||!_e)return;O(Iw(oe,_e))}if(i&&ae){if(!qa(J)||!U.current)return;ae(J,U.current)}}function Ct(){H&&(ls(!1,H.toString()),E&&E(H))}X.useEffect(function(){ue({type:"RESET"})},[ue,te,J]),X.useEffect(function(){if(!te||!ie)return;const un=Fp(te.getPage(ie)),sn=un;return un.promise.then(us=>{ue({type:"RESOLVE",value:us})}).catch(us=>{ue({type:"REJECT",error:us})}),()=>mc(sn)},[ue,te,ie]),X.useEffect(()=>{if(oe!==void 0){if(oe===!1){Ct();return}Je()}},[oe,_e]);const pt=X.useMemo(()=>oe&&qa(J)&&ie&&qa(he)&&qa(_e)?{_className:s,canvasBackground:r,customTextRenderer:h,devicePixelRatio:u,onGetAnnotationsError:y,onGetAnnotationsSuccess:w,onGetStructTreeError:_,onGetStructTreeSuccess:k,onGetTextError:A,onGetTextSuccess:$,onRenderAnnotationLayerError:F,onRenderAnnotationLayerSuccess:q,onRenderError:D,onRenderSuccess:z,onRenderTextLayerError:K,onRenderTextLayerSuccess:L,page:oe,pageIndex:J,pageNumber:ie,renderForms:B,renderTextLayer:N,rotate:he,scale:_e}:null,[s,r,h,u,y,w,_,k,A,$,F,q,D,z,K,L,oe,J,ie,B,N,he,_e]),kt=X.useMemo(()=>kM(G,()=>oe&&(_e?Iw(oe,_e):void 0)),[G,oe,_e]),ot=`${J}@${_e}/${he}`;function kn(){switch(P){case"custom":return yt(c),S.jsx(c,{},`${ot}_custom`);case"none":return null;case"canvas":default:return S.jsx(x6,{canvasRef:o},`${ot}_canvas`)}}function $t(){return N?S.jsx(C6,{},`${ot}_text`):null}function Jn(){return ge?S.jsx($6,{},`${ot}_annotations`):null}function On(){return S.jsxs(PM.Provider,{value:pt,children:[kn(),$t(),Jn(),a]})}function nn(){return ie?te===null||oe===void 0||oe===null?S.jsx(ah,{type:"loading",children:typeof g=="function"?g():g}):te===!1||oe===!1?S.jsx(ah,{type:"error",children:typeof d=="function"?d():d}):On():S.jsx(ah,{type:"no-data",children:typeof v=="function"?v():v})}return S.jsx("div",Object.assign({className:Dy(s,l),"data-page-number":ie,ref:TM(m,U),style:{"--scale-factor":`${_e}`,backgroundColor:r||"white",position:"relative",minWidth:"min-content",minHeight:"min-content"}},kt,{children:nn()}))}d6();g0.workerSrc="pdf.worker.mjs";const R6="/assets/pdf.worker.min-GB3t0DcA.js";g0.workerSrc=R6;function M6(){if(!g0.workerSrc)throw new Error("The bundled PDF worker is not configured.");if(Rw!=="4.8.69")throw new Error(`PDF runtime version mismatch (${Rw}).`)}const I6=280,O6=new Set(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","A"]);function N6({enabled:n,pagesRoot:e,routeId:t,paperVersion:s,numPages:i,resetKey:r,onSelect:o,onError:a}){const l=X.useRef(!1),c=X.useRef(!1),h=X.useRef(""),u=X.useRef(0),d=X.useRef(0),p=X.useRef(""),m=X.useRef(o),g=X.useRef(a);m.current=o,g.current=a,X.useEffect(()=>{l.current=!1,c.current=!1,h.current="",p.current="",window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=0},[t,s,r]),X.useEffect(()=>{if(!n){l.current=!1,c.current=!1,window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=0;return}const v=()=>{var F,q;const E=IN({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=ON(E.selection);O!==h.current&&(h.current=O,(q=m.current)==null||q.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())},k=E=>{!l.current||!E.isPrimary||(l.current=!1,c.current=!0,p.current="",window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=0)},A=E=>{var D,z;const O=e.current;if(!O||l.current||!(E.target instanceof Node&&!!((z=(D=E.target instanceof Element?E.target:E.target.parentElement)==null?void 0:D.closest)!=null&&z.call(D,".textLayer")&&O.contains(E.target))))return;const q=(E.key==="a"||E.key==="A")&&(E.metaKey||E.ctrlKey);(E.shiftKey||O6.has(E.key)||q)&&(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()},I6)};return document.addEventListener("pointerdown",w,!0),document.addEventListener("pointerup",_,!0),document.addEventListener("pointercancel",k,!0),document.addEventListener("keyup",A,!0),document.addEventListener("selectionchange",$),()=>{document.removeEventListener("pointerdown",w,!0),document.removeEventListener("pointerup",_,!0),document.removeEventListener("pointercancel",k,!0),document.removeEventListener("keyup",A,!0),document.removeEventListener("selectionchange",$),window.clearTimeout(u.current),cancelAnimationFrame(d.current)}},[n,i,e,s,t])}const L6=.25,D6=4,zx=[.25,.33,.5,.67,.75,.9,1,1.1,1.25,1.5,1.75,2,2.5,3,4];function Ow(n){return Math.max(L6,Math.min(D6,n))}function pm(n,e){const t=e>0?zx:[...zx].reverse();return t.find(s=>(s-n)*e>.005)??t[t.length-1]}function F6({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 _=X.useRef(null);X.useLayoutEffect(()=>{const $=_.current,E=document.querySelector(".app-header .brand-mark");if(!$||!E)return;const O=()=>{const q=E.getBoundingClientRect().left-$.getBoundingClientRect().left;$.style.setProperty("--reader-title-inset",`${Math.max(10,q)}px`)};O();const F=new ResizeObserver(O);return F.observe($),F.observe(E),()=>F.disconnect()},[]);const k=$=>{$.preventDefault();const E=Number(new FormData($.currentTarget).get("page"));Number.isInteger(E)&&u(E)},A=$=>{$.preventDefault();const E=$.currentTarget.elements.namedItem("zoom"),O=Number.parseFloat(E.value),F=Number.isFinite(O)&&O>0?Ow(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(zA,{className:"pdf-toolbar-back",to:e,"aria-label":"Back",children:"← Back"}),S.jsx(zA,{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(Hy,{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(vC,{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:k,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:A,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(x_,{size:16,"aria-hidden":"true"})})]})]})}function Hx(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 j6=8,z6=300;function H6(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<=z6&&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,j6)}function B6(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,k=(E,O)=>E>=p.x-4&&Ev;for(const E of await w){if(!E.url||!E.rect)continue;const O=Hx(E.url);if(!O)continue;const[F,q,D,z]=E.rect;k((F+D)/2,(q+z)/2)&&_.add(O)}let A=i.get(p.page);A||(A=n.getPage(p.page).then(E=>E.getTextContent()),i.set(p.page,A));const $=(await A).items.filter(E=>"str"in E&&k(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:H6($)}})(),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 Hx(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 q6({anchor:n,routeId:e,internal:t}){X.useEffect(()=>{const i=n.style.display;return n.style.display="none",()=>{n.style.display=i}},[n]);const s=n.parentElement;return s?EN.createPortal(S.jsx(C_,{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 U6(n,e,t,s){const i=X.useRef([]),r=X.useRef(0),[o,a]=X.useState([]);X.useEffect(()=>()=>{r.current+=1},[]);const l=X.useCallback(h=>{i.current=h},[]),c=X.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 X.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 V6({entries:n,activeIndex:e,onSelect:t}){const s=X.useId(),[i,r]=X.useState(!1);return X.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 W6=/^#pdf-section-(\d+)$/,G6=2;function K6(n){const e=W6.exec(n);return e?Number(e[1]):void 0}function Z6(n,e){let t=-1;return n.forEach((s,i)=>{s<=e&&(t=i)}),t}async function X6(n,e){return typeof e=="string"?n.getDestination(e):Array.isArray(e)?e:null}async function Y6(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 J6(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 X6(n,a.dest).catch(()=>null),h=c?await Y6(n,c).catch(()=>null):null;l&&h&&t.push({index:t.length,title:l,level:r,...h}),r+1"']/g,e=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[e]??e)}function iZ(n,e,t){const s=e.trim().toLocaleLowerCase();if(!s)return Wu(n);const i=n.toLocaleLowerCase(),r=`pdf-search-highlight${t?" is-active":""}`;let o=0,a=i.indexOf(s);if(a<0)return Wu(n);let l="";for(;a>=0;)l+=Wu(n.slice(o,a)),l+=`${Wu(n.slice(a,a+s.length))}`,o=a+s.length,a=i.indexOf(s,o);return l+Wu(n.slice(o))}function rZ({page:n,width:e,aspect:t,searchQuery:s,activeSearchPage:i,resolveCitation:r,warmPreviews:o}){const a=X.useRef(null),[l,c]=X.useState(n<=2),{paperLinks:h,onAnnotations:u}=U6(a,l,r,o),[d,p]=X.useState(e);!l&&d!==e&&p(e);const m=d===e?[e]:[d,e];return X.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(P6,{pageNumber:n,width:g,devicePixelRatio:nZ(g,t),renderTextLayer:v,renderAnnotationLayer:v,onGetAnnotationsSuccess:u,onRenderSuccess:y,onRenderError:y,loading:null,customTextRenderer:s?({str:w})=>iZ(w,s,n===i):void 0})},g)}),l&&h.map(g=>{var v;return S.jsx(q6,{...g},(v=g.anchor.parentElement)==null?void 0:v.dataset.annotationId)})]})}function oZ({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 aZ({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=X.useRef(null),y=X.useRef(null),w=X.useRef(null),_=X.useRef(null),[k,A]=X.useState(),$=fC(),E=X.useMemo(()=>BN($),[$]),O=X.useRef(()=>{}),F=X.useRef(0),q=X.useRef(!1),D=X.useRef(),z=X.useRef(0),K=X.useRef(),L=X.useRef(0),ee=X.useRef(0),Q=X.useRef(1),te=X.useRef(1),ae=X.useRef(1),ge=X.useRef(!1),[B,P]=X.useState(0),[N,M]=X.useState(0),[b,x]=X.useState(Bx),[I,G]=X.useState([]),[Y,ue]=X.useState(-1),[oe,H]=X.useState(),U=X.useRef(()=>{}),[J,ie]=X.useState(o),[he,_e]=X.useState(),[Je,Ct]=X.useState(700),[pt,kt]=X.useState(1),[ot,kn]=X.useState(""),[$t,Jn]=X.useState(!1),[On,nn]=X.useState(""),[hn,un]=X.useState(!1),[sn,us]=X.useState([]),[$c,La]=X.useState(0),V=Math.max(120,Math.round(Je*pt)),Se=X.useMemo(()=>g==="canvas"?{withCredentials:!0}:{disableStream:!0,disableAutoFetch:!0},[g]);N6({enabled:l&&!!c,pagesRoot:w,routeId:t,paperVersion:c,numPages:N||void 0,resetKey:`${t}-${B}`,onSelect:h,onError:u}),X.useEffect(()=>{M6()},[]),X.useEffect(()=>{var de;cancelAnimationFrame(L.current),window.clearTimeout(ee.current),L.current=0,ee.current=0,z.current=0,M(0),x(Bx),G([]),ue(-1),H(void 0),A(void 0),ie(o),_e(void 0),kt(1),Q.current=1,te.current=1,ae.current=1,ge.current=!1,(de=w.current)==null||de.style.setProperty("--pdf-live-scale","1"),kn(""),nn(""),us([])},[o,t,B]),X.useEffect(()=>{const de=y.current;if(!de)return;const Re=()=>{var rn;const dn=Math.max(240,de.clientWidth-10);a&&(ge.current=!0);const Tt=a||ge.current;ae.current=Tt?dn/Je:1,(rn=w.current)==null||rn.style.setProperty("--pdf-live-scale",String(ae.current)),Tt||Ct(dn)};Re();const st=new ResizeObserver(Re);return st.observe(de),()=>st.disconnect()},[Je,a]),X.useLayoutEffect(()=>{var Re;Q.current=pt,(Re=w.current)==null||Re.style.setProperty("--pdf-live-scale",String(ge.current?ae.current:1));const de=y.current;de&&D.current&&qx(de,D.current),D.current=void 0,q.current&&(de&&(de.scrollLeft=Math.max(0,(de.scrollWidth-de.clientWidth)/2)),q.current=!1)},[V,a,pt]);const Pe=X.useCallback(de=>{window.clearTimeout(ee.current);const Re=Ow(de(te.current));te.current=Re,q.current=Re!==Q.current,q.current&&y.current&&(D.current=iv(y.current)),kt(Re)},[]);X.useEffect(()=>{const de=y.current;if(!de)return;const Re=st=>{st.ctrlKey&&(st.preventDefault(),z.current+=st.deltaY,K.current=st.clientY,!L.current&&(L.current=requestAnimationFrame(()=>{var Nn;const dn=z.current;z.current=0,L.current=0;const Tt=Ow(te.current*Math.exp(-dn*.002));te.current=Tt;const rn=iv(de,K.current);(Nn=w.current)==null||Nn.style.setProperty("--pdf-live-scale",String(ae.current*Tt/Q.current)),rn&&qx(de,rn),window.clearTimeout(ee.current),ee.current=window.setTimeout(()=>{q.current=Tt!==Q.current,q.current&&(D.current=iv(de,K.current)),kt(te.current)},180)})))};return de.addEventListener("wheel",Re,{passive:!1}),()=>{de.removeEventListener("wheel",Re),cancelAnimationFrame(L.current),window.clearTimeout(ee.current),L.current=0,ee.current=0,z.current=0}},[]);const rt=X.useCallback(de=>{const Re=Math.max(1,Math.min(N||1,de));ie(Re),d==null||d(Re)},[d,N]),Nt=X.useCallback(()=>{F.current+=1,Jn(!1),nn(""),us([]),La(0),un(!1)},[]);X.useEffect(()=>{const de=y.current;if(!de||!N)return;let Re=0,st=0;const dn=(Nn=!1)=>{window.clearTimeout(st),cancelAnimationFrame(Re),Re=requestAnimationFrame(()=>{const Si=de.getBoundingClientRect().top,Co=Si+de.clientHeight/2;let Nr=J,Da=Number.POSITIVE_INFINITY;const Du=new Map;de.querySelectorAll("[data-page]").forEach(Tc=>{const Lr=Tc.getBoundingClientRect();Du.set(Number(Tc.dataset.page),Lr);const FA=Co>=Lr.top&&Co<=Lr.bottom?0:Math.min(Math.abs(Co-Lr.top),Math.abs(Co-Lr.bottom));FA{const Lr=Du.get(Tc.page);return Lr?Lr.top+Lr.height*Tc.offset:Number.POSITIVE_INFINITY});ue(Z6(AN,Si+eZ))})},Tt=()=>{cancelAnimationFrame(Re),window.clearTimeout(st),st=window.setTimeout(()=>dn(!0),150)},rn=()=>dn(!0);return de.addEventListener("scroll",Tt,{passive:!0}),de.addEventListener("scrollend",rn),dn(),()=>{de.removeEventListener("scroll",Tt),de.removeEventListener("scrollend",rn),window.clearTimeout(st),cancelAnimationFrame(Re)}},[I,J,V,N,rt]),X.useEffect(()=>{const de=Re=>{Re.defaultPrevented||((Re.ctrlKey||Re.metaKey)&&Re.key.toLowerCase()==="f"?(Re.preventDefault(),Jn(!0)):Re.key==="Escape"&&$t?(Re.preventDefault(),Nt()):Re.key==="Escape"&&!Re.repeat&&p&&(Re.preventDefault(),p()))};return window.addEventListener("keydown",de),()=>window.removeEventListener("keydown",de)},[Nt,p,$t]),X.useEffect(()=>{const de=_.current,Re=On.trim().toLocaleLowerCase(),st=++F.current;if(!de||!Re){us([]),La(0),un(!1);return}un(!0);const dn=window.setTimeout(()=>void(async()=>{const Tt=[];for(let rn=1;rn<=de.numPages;rn+=1){if(F.current!==st)return;const Co=(await(await de.getPage(rn)).getTextContent()).items.map(Da=>"str"in Da?Da.str:"").join(" ").toLocaleLowerCase();let Nr=0;for(;(Nr=Co.indexOf(Re,Nr))>=0;)Tt.push(rn),Nr+=Math.max(1,Re.length)}F.current===st&&(us(Tt),La(0),un(!1),Tt[0]&&_i(Tt[0]))})().catch(()=>{F.current===st&&un(!1)}),180);return()=>window.clearTimeout(dn)},[On,N]);const _i=de=>{var dn,Tt;const Re=Math.max(1,Math.min(N||1,de)),st=window.matchMedia("(prefers-reduced-motion: reduce)").matches?"instant":"smooth";_e(st==="smooth"?Re:void 0),(Tt=(dn=y.current)==null?void 0:dn.querySelector(`[data-page="${Re}"]`))==null||Tt.scrollIntoView({block:"start",behavior:st}),st==="instant"&&rt(Re)},Ji=(de,Re)=>{const st=y.current,dn=st==null?void 0:st.querySelector(`[data-page="${de.page}"]`);if(!st||!dn)return;const Tt=Re??(window.matchMedia("(prefers-reduced-motion: reduce)").matches?"instant":"smooth"),rn=dn.getBoundingClientRect(),Nn=rn.top-st.getBoundingClientRect().top+st.scrollTop+rn.height*de.offset;_e(Tt==="smooth"?de.page:void 0),H(Tt==="smooth"?de.index:void 0),st.scrollTo({top:Math.max(0,Nn-Q6),behavior:Tt}),Tt==="instant"&&rt(de.page),g==="reader"&&window.history.replaceState(window.history.state,"",`#pdf-section-${de.index}`)};X.useLayoutEffect(()=>{O.current=_i,U.current=Ji});const _N=de=>{if(!sn.length)return;const Re=($c+de+sn.length)%sn.length;La(Re),_i(sn[Re])},SN=X.useMemo(()=>Array.from({length:N},(de,Re)=>Re+1),[N]);return S.jsxs("div",{ref:v,className:"pdf-viewer",children:[g==="canvas"?S.jsx(oZ,{downloadUrl:e,page:he??J,pages:N,zoomPercent:Math.round(pt*100),onPage:_i,onZoomIn:()=>Pe(de=>pm(de,1)),onZoomOut:()=>Pe(de=>pm(de,-1)),onFitWidth:()=>Pe(()=>1)}):S.jsx(F6,{paperTitle:s,paperHref:i,resources:r,page:he??J,pages:N,zoomPercent:Math.round(pt*100),searchOpen:$t,searchQuery:On,searchMatch:$c,searchCount:sn.length,searching:hn,onPage:_i,onZoom:de=>Pe(()=>de),onZoomIn:()=>Pe(de=>pm(de,1)),onZoomOut:()=>Pe(de=>pm(de,-1)),onToggleSearch:()=>$t?Nt():Jn(!0),onCloseSearch:Nt,onSearchQuery:nn,onSearch:_N}),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:ot?S.jsxs("div",{className:"pdf-error",role:"alert",children:[S.jsx("p",{children:ot}),S.jsxs("div",{children:[S.jsx("button",{type:"button",onClick:()=>P(de=>de+1),children:"Retry"})," ",S.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",children:"Open PDF"})]})]}):S.jsx(b6,{file:n,options:Se,loading:S.jsx("div",{className:"pdf-loading",role:"status",children:g==="canvas"?"Loading paper preview…":"Loading paper…"}),onLoadSuccess:de=>{_.current=de,g==="reader"&&A(()=>B6(de,E.lookup)),M(de.numPages),kn("");const Re=de.getPage(1).then(Nn=>{const[Si,Co,Nr,Da]=Nn.view,Du=(Da-Co)/(Nr-Si);_.current===de&&Du>0&&x(Du)},()=>{}),st=Math.max(1,Math.min(de.numPages,o)),dn=()=>{var Nn,Si;st<=1||((Si=(Nn=y.current)==null?void 0:Nn.querySelector(`[data-page="${st}"]`))==null||Si.scrollIntoView({block:"start"}),ie(st),d==null||d(st))},Tt=Nn=>void Re.then(()=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{_.current===de&&Nn()}))}),rn=g==="reader"?K6(window.location.hash):void 0;rn===void 0&&Tt(dn),J6(de).catch(()=>[]).then(Nn=>{if(_.current!==de||(G(Nn),rn===void 0))return;const Si=Nn[rn];Tt(()=>Si?U.current(Si,"instant"):dn())})},onLoadError:de=>kn(m||sZ(de)),externalLinkTarget:"_blank",onItemClick:({pageNumber:de})=>O.current(de),children:S.jsx("div",{ref:w,className:"pdf-pages",style:{"--pdf-live-scale":ae.current},children:SN.map(de=>S.jsx(rZ,{page:de,width:V,aspect:b,searchQuery:On.trim(),activeSearchPage:sn[$c],resolveCitation:k,warmPreviews:E.warm},de))})},`${t}-${B}`)}),S.jsx(V6,{entries:I,activeIndex:oe??Y,onSelect:Ji})]})]})}let Nw=[],NM=[];(()=>{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=NM[s])e=s+1;else return!0;if(e==t)return!1}}function Ux(n){return n>=127462&&n<=127487}const Vx=8205;function cZ(n,e,t=!0,s=!0){return(t?LM:hZ)(n,e,s)}function LM(n,e,t){if(e==n.length)return e;e&&DM(n.charCodeAt(e))&&FM(n.charCodeAt(e-1))&&e--;let s=rv(n,e);for(e+=Wx(s);e=0&&Ux(rv(n,o));)r++,o-=2;if(r%2==0)break;e+=2}else break}return e}function hZ(n,e,t){for(;e>1;){let s=LM(n,e-2,t);if(s=56320&&n<57344}function FM(n){return n>=55296&&n<56320}function Wx(n){return n<65536?1:2}let ct=class jM{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]=yu(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),Ar.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]=yu(this,e,t);let s=[];return this.decompose(e,t,s,0),Ar.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 Id(this),r=new Id(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 Id(this,e)}iterRange(e,t=this.length){return new zM(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 HM(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]?jM.empty:e.length<=32?new Jt(e):Ar.from(Jt.split(e,[]))}};class Jt extends ct{constructor(e,t=uZ(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 dZ(i,a,s,o);i=a+1,s++}}decompose(e,t,s,i){let r=e<=0&&t>=this.length?this:new Jt(Gx(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(i&1){let o=s.pop(),a=Sg(r.text,o.text.slice(),0,r.length);if(a.length<=32)s.push(new Jt(a,o.length+r.length));else{let l=a.length>>1;s.push(new Jt(a.slice(0,l)),new Jt(a.slice(l)))}}else s.push(r)}replace(e,t,s){if(!(s instanceof Jt))return super.replace(e,t,s);[e,t]=yu(this,e,t);let i=Sg(this.text,Sg(s.text,Gx(this.text,0,e)),t),r=this.length+s.length-(t-e);return i.length<=32?new Jt(i,r):Ar.from(Jt.split(i,[]),r)}sliceString(e,t=this.length,s=` +`){[e,t]=yu(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 Jt(s,i)),s=[],i=-1);return i>-1&&t.push(new Jt(s,i)),t}}class Ar extends ct{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]=yu(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 Ar(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]=yu(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 Ar))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 Jt(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 Ar)for(let g of p.children)u(g);else p.lines>o&&(l>o||!l)?(d(),a.push(p)):p instanceof Jt&&l&&(m=h[h.length-1])instanceof Jt&&p.lines+m.lines<=32?(l+=p.lines,c+=p.length+1,h[h.length-1]=new Jt(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]:Ar.from(h,c)),c=-1,l=h.length=0)}for(let p of e)u(p);return d(),a.length==1?a[0]:new Ar(a,t)}}ct.empty=new Jt([""],0);function uZ(n){let e=-1;for(let t of n)e+=t.length+1;return e}function Sg(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 Jt?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 Jt?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 Jt){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 Jt?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 zM{constructor(e,t,s){this.value="",this.done=!1,this.cursor=new Id(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 HM{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"&&(ct.prototype[Symbol.iterator]=function(){return this.iter()},Id.prototype[Symbol.iterator]=zM.prototype[Symbol.iterator]=HM.prototype[Symbol.iterator]=function(){return this});class dZ{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 yu(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function Mn(n,e,t=!0,s=!0){return cZ(n,e,t,s)}function fZ(n){return n>=56320&&n<57344}function pZ(n){return n>=55296&&n<56320}function BM(n,e){let t=n.charCodeAt(e);if(!pZ(t)||e+1==n.length)return t;let s=n.charCodeAt(e+1);return fZ(s)?(t-55296<<10)+(s-56320)+65536:t}function mZ(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function qM(n){return n<65536?1:2}const Lw=/\r\n?|\n/;var Ys=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(Ys||(Ys={}));class Rr{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return r+(e-i);r+=a}else{if(s!=Ys.Simple&&c>=e&&(s==Ys.TrackDel&&ie||s==Ys.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 Rr(e)}static create(e){return new Rr(e)}}class bn extends Rr{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 Dw(this,(t,s,i,r,o)=>e=e.replace(i,i+(s-t),o),!1),e}mapDesc(e,t=!1){return Fw(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&&va(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"?ct.of(p.split(s||Lw)):p:ct.empty,g=m.length;if(u==d&&g==0)return;uo&&as(i,u-o,-1),as(i,d-u,g),va(r,i,m),o=d}}return c(e),l(!a),a}static empty(e){return new bn(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 va(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 Fw(n,e,t,s=!1){let i=[],r=s?[]:null,o=new Gd(n),a=new Gd(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 Gd{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?ct.empty:e[t]}textBit(e){let{inserted:t}=this.set,s=this.i-2>>1;return s>=t.length&&!e?ct.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 Fo{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 Fo(s,i,this.flags,this.goalColumn)}extend(e,t=e,s=0){if(e<=this.anchor&&t>=this.anchor)return re.range(e,t,void 0,void 0,s);let i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return re.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 re.range(e.anchor,e.head)}static create(e,t,s,i){return new Fo(e,t,s,i)}}class re{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:re.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 re(e.ranges.map(t=>Fo.fromJSON(t)),e.main)}static single(e,t=e){return new re([re.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?re.range(l,a):re.range(a,l))}}return new re(e,t)}}function VM(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let rA=0;class ke{constructor(e,t,s,i,r){this.combine=e,this.compareInput=t,this.compare=s,this.isStatic=i,this.id=rA++,this.default=e([]),this.extensions=typeof r=="function"?r(this):r}get reader(){return this}static define(e={}){return new ke(e.combine||(t=>t),e.compareInput||((t,s)=>t===s),e.compare||(e.combine?(t,s)=>t===s:oA),!!e.static,e.enables)}of(e){return new Ag([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Ag(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Ag(e,this,2,t)}from(e,t){return t||(t=s=>s),this.compute([e],s=>t(s.field(e)))}}function oA(n,e){return n==e||n.length==e.length&&n.every((t,s)=>t===e[s])}class Ag{constructor(e,t,s,i){this.dependencies=e,this.facet=t,this.type=s,this.value=i,this.id=rA++}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)||jw(u,h)){let p=s(u);if(a?!Kx(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=ey(d,m);if(this.dependencies.every(v=>v instanceof ke?d.facet(v)===u.facet(v):v instanceof Or?d.field(v,!1)==u.field(v,!1):!0)||(a?Kx(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 Kx(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(mm).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(mm),o=i.facet(mm),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,mm.of({field:this,create:e})]}get extension(){return this}}const sl={lowest:4,low:3,default:2,high:1,highest:0};function Gu(n){return e=>new WM(e,n)}const w0={highest:Gu(sl.highest),high:Gu(sl.high),default:Gu(sl.default),low:Gu(sl.low),lowest:Gu(sl.lowest)};class WM{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}}class jp{of(e){return new zw(this,e)}reconfigure(e){return jp.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class zw{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}}class Qg{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 yZ(e,t,o))d instanceof Or?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,oA(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=>gZ(v,m,p))}}let u=c.map(d=>d(a));return new Qg(e,o,u,a,l,r)}}function yZ(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 zw&&t.delete(o.compartment)}if(i.set(o,a),Array.isArray(o))for(let c of o)r(c,a);else if(o instanceof zw){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 WM)r(o.inner,o.prec);else if(o instanceof Or)s[a].push(o),o.provides&&r(o.provides,a);else if(o instanceof Ag)s[a].push(o),o.facet.extensions&&r(o.facet.extensions,sl.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,sl.default),s.reduce((o,a)=>o.concat(a))}function Od(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 ey(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const GM=ke.define(),Hw=ke.define({combine:n=>n.some(e=>e),static:!0}),KM=ke.define({combine:n=>n.length?n[0]:void 0,static:!0}),ZM=ke.define(),XM=ke.define(),YM=ke.define(),JM=ke.define({combine:n=>n.length?n[0]:!1});class Oa{constructor(e,t){this.type=e,this.value=t}static define(){return new vZ}}class vZ{of(e){return new Oa(this,e)}}class bZ{constructor(e){this.map=e}of(e){return new _t(this,e)}}class _t{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 _t(this.type,t)}is(e){return this.type==e}static define(e={}){return new bZ(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}}_t.reconfigure=_t.define();_t.appendConfig=_t.define();class Sn{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&&VM(s,t.newLength),r.some(a=>a.type==Sn.time)||(this.annotations=r.concat(Sn.time.of(Date.now())))}static create(e,t,s,i,r,o){return new Sn(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(Sn.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}Sn.time=Oa.define();Sn.userEvent=Oa.define();Sn.addToHistory=Oa.define();Sn.remote=Oa.define();function wZ(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 Sn?n=r:Array.isArray(r)&&r.length==1&&r[0]instanceof Sn?n=r[0]:n=eI(e,lh(r),!1)}return n}function SZ(n){let e=n.startState,t=e.facet(YM),s=n;for(let i=t.length-1;i>=0;i--){let r=t[i](n);r&&Object.keys(r).length&&(s=QM(s,Bw(e,r,n.changes.newLength),!0))}return s==n?n:Sn.create(e,n.changes,n.selection,s.effects,s.annotations,s.scrollIntoView)}const AZ=[];function lh(n){return n==null?AZ:Array.isArray(n)?n:[n]}var en=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(en||(en={}));const kZ=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let qw;try{qw=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function xZ(n){if(qw)return qw.test(n);for(let e=0;e"€"&&(t.toUpperCase()!=t.toLowerCase()||kZ.test(t)))return!0}return!1}function EZ(n){return e=>{if(!/\S/.test(e))return en.Space;if(xZ(e))return en.Word;for(let t=0;t-1)return en.Word;return en.Other}}class lt{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(_t.reconfigure)?(t=null,s=a.value):a.is(_t.appendConfig)&&(t=null,s=lh(s).concat(a.value));let r;t?r=e.startState.values.slice():(t=Qg.resolve(s,i,this),r=new lt(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Hw)?e.newSelection:e.newSelection.asSingle();new lt(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:re.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=lh(s.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return lt.create({doc:e.doc,selection:re.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(e={}){let t=Qg.resolve(e.extensions||[],new Map),s=e.doc instanceof ct?e.doc:ct.of((e.doc||"").split(t.staticFacet(lt.lineSeparator)||Lw)),i=e.selection?e.selection instanceof re?e.selection:re.single(e.selection.anchor,e.selection.head):re.single(0);return VM(i,s.length),t.staticFacet(Hw)||(i=i.asSingle()),new lt(t,s,i,t.dynamicSlots.map(()=>null),(r,o)=>o.create(r),null)}get tabSize(){return this.facet(lt.tabSize)}get lineBreak(){return this.facet(lt.lineSeparator)||` +`}get readOnly(){return this.facet(JM)}phrase(e,...t){for(let s of this.facet(lt.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(GM))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 EZ(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=Mn(t,o,!1);if(r(t.slice(l,o))!=en.Word)break;o=l}for(;an.length?n[0]:4});lt.lineSeparator=KM;lt.readOnly=JM;lt.phrases=ke.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])}});lt.languageData=GM;lt.changeFilter=ZM;lt.transactionFilter=XM;lt.transactionExtender=YM;jp.reconfigure=_t.define();function Ou(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 gc{eq(e){return this==e}range(e,t=e){return Uw.create(e,t,this)}}gc.prototype.startSide=gc.prototype.endSide=0;gc.prototype.point=!1;gc.prototype.mapMode=Ys.TrackDel;function aA(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}let Uw=class tI{constructor(e,t,s){this.from=e,this.to=t,this.value=s}static create(e,t,s){return new tI(e,t,s)}};function Vw(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class lA{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 lA(i,r,s,a):null,pos:o}}}class it{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 it(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(Vw)),this.isEmpty)return t.length?it.of(t):this;let a=new nI(this,null,-1).goto(0),l=0,c=[],h=new Kd;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 Zd.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Zd.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=Zx(o,a,s),c=new Ku(o,l,r),h=new Ku(a,l,r);s.iterGaps((u,d,p)=>Xx(c,u,h,d,p,i)),s.empty&&s.length==0&&Xx(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=Zx(r,o),l=new Ku(r,a,0).goto(s),c=new Ku(o,a,0).goto(s);for(;;){if(l.to!=c.to||!Ww(l.active,c.active)||l.point&&(!c.point||!aA(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 Ku(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 Kd;for(let i of e instanceof Uw?[e]:t?CZ(e):e)s.add(i.from,i.to,i.value);return s.finish()}static join(e){if(!e.length)return it.empty;let t=e[e.length-1];for(let s=e.length-2;s>=0;s--)for(let i=e[s];i!=it.empty;i=i.nextLayer)t=new it(i.chunkPos,i.chunk,t,Math.max(i.maxPoint,t.maxPoint));return t}}it.empty=new it([],[],null,-1);function CZ(n){if(n.length>1)for(let e=n[0],t=1;t0)return n.slice().sort(Vw);e=s}return n}it.empty.nextLayer=it.empty;class Kd{finishChunk(e){this.chunks.push(new lA(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 Kd)).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(it.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=it.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function Zx(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 nI(o,t,s,r));return i.length==1?i[0]:new Zd(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--)ov(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--)ov(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(),ov(this.heap,0)}}}function ov(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 Ku{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=Zd.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){gm(this.active,e),gm(this.activeTo,e),gm(this.activeRank,e),this.minActive=Yx(this.active,this.activeTo)}addActive(e){let t=0,{value:s,to:i,rank:r}=this.cursor;for(;t0;)t++;ym(this.active,t,s),ym(this.activeTo,t,i),ym(this.activeRank,t,r),e&&ym(e,t,this.cursor.from),this.minActive=Yx(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&&gm(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 Xx(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&&aA(n.point,t.point)&&Ww(n.activeForPoint(n.to),t.activeForPoint(t.to))||r.comparePoint(a,m,n.point,t.point),h=!1):(h&&r.boundChange(a),m>a&&!Ww(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 Ww(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 Yx(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=Mn(n,i)}return n.length}const Gw="ͼ",Jx=typeof Symbol>"u"?"__"+Gw:Symbol.for(Gw),Kw=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Qx=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class vu{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=Qx[Jx]||1;return Qx[Jx]=e+1,Gw+e.toString(36)}static mount(e,t,s){let i=e[Kw],r=s&&s.nonce;i?r&&i.setNonce(r):i=new TZ(e,r),i.mount(Array.isArray(t)?t:[t],e)}}let eE=new Map;class TZ{constructor(e,t){let s=e.ownerDocument||e,i=s.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let r=eE.get(s);if(r)return e[Kw]=r;this.sheet=new i.CSSStyleSheet,eE.set(s,this)}else this.styleTag=s.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Kw]=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:'"'},PZ=typeof navigator<"u"&&/Mac/.test(navigator.platform),RZ=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Wn=0;Wn<10;Wn++)Ea[48+Wn]=Ea[96+Wn]=String(Wn);for(var Wn=1;Wn<=24;Wn++)Ea[Wn+111]="F"+Wn;for(var Wn=65;Wn<=90;Wn++)Ea[Wn]=String.fromCharCode(Wn+32),Xd[Wn]=String.fromCharCode(Wn);for(var av in Ea)Xd.hasOwnProperty(av)||(Xd[av]=Ea[av]);function MZ(n){var e=PZ&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||RZ&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?Xd:Ea)[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 Rn(){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 ye={mac:sE||/Mac/.test(gs.platform),windows:/Win/.test(gs.platform),linux:/Linux|X11/.test(gs.platform),ie:S0,ie_version:iI?Zw.documentMode||6:Yw?+Yw[1]:Xw?+Xw[1]:0,gecko:tE,gecko_version:tE?+(/Firefox\/(\d+)/.exec(gs.userAgent)||[0,0])[1]:0,chrome:!!lv,chrome_version:lv?+lv[1]:0,ios:sE,android:/Android\b/.test(gs.userAgent),webkit:nE,webkit_version:nE?+(/\bAppleWebKit\/(\d+)/.exec(gs.userAgent)||[0,0])[1]:0,safari:Jw,safari_version:Jw?+(/\bVersion\/(\d+(\.\d+)?)/.exec(gs.userAgent)||[0,0])[1]:0,tabSize:Zw.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function cA(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 ty=Object.create(null);function hA(n,e,t){if(n==e)return!0;n||(n=ty),e||(e=ty);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 IZ(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 iE(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 OZ(n){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new yc(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}=rI(e,t);s=(r?t?-3e8:-1:5e8)-1,i=(o?t?2e8:1:-6e8)+1}return new yc(e,s,i,t,e.widget||null,!0)}static line(e){return new Hp(e)}static set(e,t=!1){return it.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}Qe.none=it.empty;class zp extends Qe{constructor(e){let{start:t,end:s}=rI(e);super(t?-1:5e8,s?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?cA(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||ty}eq(e){return this==e||e instanceof zp&&this.tagName==e.tagName&&hA(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)}}zp.prototype.point=!1;class Hp extends Qe{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Hp&&this.spec.class==e.spec.class&&hA(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)}}Hp.prototype.mapMode=Ys.TrackBefore;Hp.prototype.point=!0;class yc extends Qe{constructor(e,t,s,i,r,o){super(t,s,r,e),this.block=i,this.isReplace=o,this.mapMode=i?t<=0?Ys.TrackBefore:Ys.TrackAfter:Ys.TrackDel}get type(){return this.startSide!=this.endSide?Kn.WidgetRange:this.startSide<=0?Kn.WidgetBefore:Kn.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof yc&&NZ(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)}}yc.prototype.point=!0;function rI(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 NZ(n,e){return n==e||!!(n&&e&&n.compare(e))}function ch(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 Yd extends gc{constructor(e,t,s){super(),this.tagName=e,this.attributes=t,this.rank=s}eq(e){return e==this||e instanceof Yd&&this.tagName==e.tagName&&hA(this.attributes,e.attributes)}static create(e){return new Yd(e.tagName,e.attributes||ty,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return it.of(e,t)}}Yd.prototype.startSide=Yd.prototype.endSide=-1;function Jd(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function Qw(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function Nd(n,e){if(!e.anchorNode)return!1;try{return Qw(n,e.anchorNode)}catch{return!1}}function kg(n){return n.nodeType==3?Qd(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function Ld(n,e,t,s){return t?rE(n,e,t,s,-1)||rE(n,e,t,s,1):!1}function Ca(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function ny(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function rE(n,e,t,s,i){for(;;){if(n==t&&e==s)return!0;if(e==(i<0?0:ko(n))){if(n.nodeName=="DIV")return!1;let r=n.parentNode;if(!r||r.nodeType!=1)return!1;e=Ca(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?ko(n):0}else return!1}}function ko(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function sy(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 LZ(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 oI(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 DZ(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=LZ(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}=oI(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 aI(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 FZ{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?ko(t):0),s,Math.min(e.focusOffset,s?ko(s):0))}set(e,t,s,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=s,this.focusOffset=i}}function lI(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 cI(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 Ya=null;ye.safari&&ye.safari_version>=26&&(Ya=!1);function hI(n){if(n.setActive)return n.setActive();if(Ya)return n.focus(Ya);let e=lI(n);n.focus(Ya==null?{get preventScroll(){return Ya={preventScroll:!0},!0}}:void 0),Ya||(Ya=!1,cI(e))}let oE;function Qd(n,e,t=e){let s=oE||(oE=document.createRange());return s.setEnd(n,t),s.setStart(n,e),s}function hh(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 jZ(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function zZ(n,e){let t=e.focusNode,s=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=s)return!1;for(s=Math.min(s,ko(t));;)if(s){if(t.nodeType!=1)return!1;let i=t.childNodes[s-1];i.contentEditable=="false"?s--:(t=i,s=ko(t))}else{if(t==n)return!0;s=Ca(t),t=t.parentNode}}function uI(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 dI(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=ko(t)}else if(t.parentNode&&!ny(t))s=Ca(t),t=t.parentNode;else return null}}function fI(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 gI(n,e){if(n.length!=e.length)return!1;for(let t=0;t=0;g-=3)if(er[g+1]==-p){let v=er[g+2],y=v&2?i:v&4?v&1?r:i:0;y&&(wt[u]=wt[er[g]]=y),a=g;break}}else{if(er.length==189)break;er[a++]=u,er[a++]=d,er[a++]=l}else if((m=wt[u])==2||m==1){let g=m==i;l=g?0:1;for(let v=a-3;v>=0;v-=3){let y=er[v+2];if(y&2)break;if(g)er[v+2]|=2;else{if(y&4)break;er[v+2]|=4}}}}}function WZ(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),wt[--m]=p;l=h}else r=c,l++}}}function t_(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 Er(l,g.from,p));let v=g.direction==vc!=!(p%2);n_(n,v?s+1:s,i,g.inner,g.from,g.to,o),l=g.to}m=g.to}else{if(m==t||(h?wt[m]!=a:wt[m]==a))break;m++}d?t_(n,l,m,s+1,i,d,o):le;){let h=!0,u=!1;if(!c||l>r[c-1].to){let g=wt[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(wt[v-1]==a)break e;break}}if(d)d.push(g);else{g.towt.length;)wt[wt.length]=256;let s=[],i=e==vc?0:1;return n_(n,i,i,t,0,n.length,s),s}function yI(n){return[new Er(0,n,0)]}let vI="";function KZ(n,e,t,s,i){var r;let o=s.head-n.from,a=Er.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=Mn(n.text,o,l.forward(i,t));(hl.to)&&(h=c),vI=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)}),EI=ke.define({combine:n=>n.some(e=>e)}),CI=ke.define();class uh{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 uh(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 uh(re.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const vm=_t.define({map:(n,e)=>n.map(e)}),$I=_t.define();function Cr(n,e,t){let s=n.facet(SI);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 go=ke.define({combine:n=>n.length?n[0]:!0});let XZ=0;const Yc=ke.define({combine(n){return n.filter((e,t)=>{for(let s=0;s{let l=[];return o&&l.push(k0.of(c=>{let h=c.plugin(a);return h?o(h):Qe.none})),r&&l.push(r(a)),l})}static fromClass(e,t){return Qs.define((s,i)=>new e(s,i),t)}}class cv{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(Cr(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){Cr(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){Cr(e.state,s,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const TI=ke.define(),pA=ke.define(),k0=ke.define(),PI=ke.define(),mA=ke.define(),Bp=ke.define(),RI=ke.define();function aE(n,e){let t=n.state.facet(RI);if(!t.length)return t;let s=t.map(r=>r instanceof Function?r(n):r),i=[];return it.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=ZZ(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 MI=ke.define();function II(n){let e=0,t=0,s=0,i=0;for(let r of n.state.facet(MI)){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 vd=ke.define();class fi{constructor(e,t,s,i){this.fromA=e,this.toA=t,this.fromB=s,this.toB=i}join(e){return new fi(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 fi(r,o,a,l))),this.changedRanges=i}static create(e,t,s){return new iy(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 YZ=[];class Kt{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 YZ}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&&IZ(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=Ca(this.dom),i=this.length?e>0:t>0;return new Wi(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 E0)return e;return null}static get(e){return e.cmTile}}class x0 extends Kt{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=lE(i);else t.insertBefore(a.dom,i);s=a.dom}for(i=s?s.nextSibling:t.firstChild,r&&i&&(r.written=!0);i;)i=lE(i);this.length=o}}function lE(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}class E0 extends x0{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=Kt.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 _o)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 _o extends x0{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 _o(t||document.createElement(e.tagName),e);return t||(s.flags|=4),s}}class bu extends x0{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,s){let i=new bu(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&&QZ(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):JZ(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 Wi(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 Wi(l.dom,0);l==s.tile&&(a=!0)}}return new Wi(this.dom,0)}}function JZ(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=kg(e);return t[t.length-1]||null}function QZ(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?ye.chrome||ye.gecko||(e?(r--,a=1):o=0)?0:l.length-1];return ye.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),s==null?c:sy(c,(a?a>0:t<0)==s)}static of(e,t){let s=new al(t||document.createTextNode(e),e);return t||(s.flags|=2),s}}class bc extends Kt{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 sy(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 eX{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 Is&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(hv(l.dom)),i=c;else{if(this.cache.reused.get(l)){let u=Kt.get(l.dom);u&&u.setDOM(hv(l.dom))}let h=Is.of(l.mark,l.dom);i.append(h),i=h}this.cache.reused.set(l,2)}let r=Kt.get(e.text);r&&this.cache.reused.set(r,2);let o=new al(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=OI);let i=bu.start(e,t||((s=this.cache.find(bu))===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 Is&&a.mark.eq(o))i=a,t--;else{let l=Is.of(o,(s=this.cache.find(Is,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||!cE(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(ye.ios&&cE(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(uv,0,32)||new bc(uv.toDOM(),0,uv,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 tX(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(ry,void 0,1);return s&&(s.flags=t),s||new ry(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class sX{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 oy=[bc,bu,al,Is,ry,_o,E0];for(let n=0;n[]),this.index=oy.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 Is&&i.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?i.length&&(i.length=r=0):o instanceof Is&&(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=it.spans(this.decorations,e,t,{point:(a,l,c,h,u,d)=>{if(c instanceof yc){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?wu.block:wu.inline),m=oX(c),g=this.cache.findWidget(p,l-a,m)||bc.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=aX(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=Kt.get(i);if(i==this.view.contentDOM)break;r instanceof Is?t.push(r):r!=null&&r.isLine()?s=r:r instanceof _o||(i.nodeName=="DIV"&&!s&&i!=this.view.contentDOM?s=new bu(i,OI):s||t.push(Is.of(new zp({tagName:i.nodeName.toLowerCase(),attributes:OZ(i)}),i)))}return{line:s,marks:t}}}function cE(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 oX(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 OI={class:"cm-line"};function aX(n,e){let t=e.spec.attributes,s=e.spec.class;return!t&&!s||(n||(n={class:"cm-line"}),t&&cA(t,n),s&&(n.class+=" "+s)),n}function lX(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 Is&&e.push(s.mark)}return e}function hv(n){let e=Kt.get(n);return e&&e.setDOM(n.cloneNode()),n}class wu extends A0{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}}wu.inline=new wu("span");wu.block=new wu("div");const uv=new class extends A0{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class hE{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Qe.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 E0(e,e.contentDOM),this.updateInner([new fi(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:!yX(e.changes,this.hasComposition)&&!e.selectionSet&&(i=e.state.selection.main.head));let r=i>-1?hX(this.view,e.changes,i):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:u}=this.hasComposition;s=new fi(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,(ye.ie||ye.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=fX(o,this.decorations,e.changes);l.length&&(s=fi.extendWithRanges(s,l));let c=mX(a,this.blockWrappers,e.changes);return c.length&&(s=fi.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 rX(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&Kt.get(t.text)&&a.cache.reused.set(Kt.get(t.text),2),this.tile=a.run(e,t),i_(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=ye.chrome||ye.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)&&Nd(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)),ye.gecko&&l.empty&&!this.hasComposition&&cX(c)){let d=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(d,c.node.childNodes[c.offset]||null)),c=h=new Wi(d,0),a=!0}let u=this.view.observer.selectionRange;(a||!u.focusNode||(!Ld(c.node,c.offset,u.anchorNode,u.anchorOffset)||!Ld(h.node,h.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,l))&&(this.view.observer.ignore(()=>{ye.android&&ye.chrome&&s.contains(u.focusNode)&&gX(u.focusNode,s)&&(s.blur(),s.focus({preventScroll:!0}));let d=Jd(this.view.root);if(d)if(l.empty){if(ye.gecko){let p=uX(c.node,c.offset);if(p&&p!=3){let m=(p==1?dI:fI)(c.node,c.offset);m&&(c=new Wi(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 Wi(u.anchorNode,u.anchorOffset),this.impreciseHead=h.precise?null:new Wi(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Ld(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=Jd(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=ko(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&&!Kt.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 dv?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==Dt.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 _o)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,k=_?kg(_):[];if(k.length){let A=k[k.length-1],$=l?A.right-y.left:y.right-A.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"?Dt.RTL:Dt.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=kg(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=kg(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(Qe.replace({widget:new dv(a),block:!0,inclusive:!0,isBlockGap:!0}).range(s,o))}if(!r)break;s=r.to+1}return Qe.set(e)}updateDeco(){let e=1,t=this.view.state.facet(k0).map(r=>(this.dynamicDecorationMap[e++]=typeof r=="function")?r(this.view):r),s=!1,i=this.view.state.facet(mA).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(it.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(CI))try{if(c(this.view,e.range,e))return!0}catch(h){Cr(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=II(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(DZ(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(){i_(this.tile)}}function i_(n,e){let t=e==null?void 0:e.get(n);if(t!=1){t==null&&n.destroy();for(let s of n.children)i_(s,e)}}function cX(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 NI(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let s=dI(t.focusNode,t.focusOffset),i=fI(t.focusNode,t.focusOffset),r=s||i;if(i&&s&&i.node!=s.node){let a=Kt.get(i.node);if(!a||a.isText()&&a.text!=i.node.nodeValue)r=i;else if(n.docView.lastCompositionAfterCursor){let l=Kt.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 hX(n,e,t){let s=NI(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 fi(l.mapPos(r),l.mapPos(o),r,o),text:i}}function uX(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e{se.from&&(t=!0)}),t}class dv extends A0{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 vX(n,e,t=1){let s=n.charCategorizer(e),i=n.doc.lineAt(e),r=e-i.from;if(i.length==0)return re.cursor(e);r==0?t=1:r==i.length&&(t=-1);let o=r,a=r;t<0?o=Mn(i.text,r,!1):a=Mn(i.text,r);let l=s(i.text.slice(o,a));for(;o>0;){let c=Mn(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+$Z(o,r,n.state.tabSize)}function r_(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==Kn.Text&&(i.type!=r.type||(t<0?r.frome)))&&(i=r)}}return i||s}return s}function wX(n,e,t,s){let i=r_(n,e.head,e.assoc||-1),r=!s||i.type!=Kn.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==Dt.LTR)?o.right-1:o.left+1,y:(r.top+r.bottom)/2});if(l!=null)return re.cursor(l,t?-1:1)}return re.cursor(t?i.to:i.from,t?-1:1)}function uE(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=KZ(i,r,o,a,t),h=vI;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 _X(n,e,t){let s=n.state.charCategorizer(e),i=s(t);return r=>{let o=s(r);return i==en.Space&&(i=o),i==o}}function SX(n,e,t,s){let i=e.head,r=t?1:-1;if(i==(t?n.state.doc.length:0))return re.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=o_(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:re.cursor(s,sn.viewState.docHeight)return new kr(n.state.doc.length,-1);if(c=n.elementAtHeight(l),s==null)break;if(c.type==Kn.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==Kn.Text){let u=bX(n,i,c,o,a);return new kr(u,u==c.from?1:-1)}}if(c.type!=Kn.Text)return l<(c.top+c.bottom)/2?new kr(c.from,1):new kr(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 AX(n,o,a,n.textDirectionAt(c.from)).scanTile(h,c.from)}class AX{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 k=_.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)==Dt.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 Qd(e.dom,o,a).getClientRects()});return i.after?new kr(s[i.i+1],-1):new kr(s[i.i],1)}scanTile(e,t){if(!e.length)return new kr(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:Qd(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 kr(s[i.i+1],-1):new kr(o,1)}}const Vc="￿";class kX{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(lt.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Vc}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=Kt.get(i),a=i.nextSibling;if(a==t){o!=null&&o.breakAfter&&!a&&s!=this.view.contentDOM&&this.lineBreak();break}let l=Kt.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:ny(i))||ny(a)&&(i.nodeName!="BR"||o!=null&&o.isWidget())&&this.text.length>r)&&!EX(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=Kt.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+(xX(e,s.node,s.offset)?t:0))}}function xX(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=DI(e.docView.tile,t,s,0))){let l=r||o?[]:TX(e),c=new kX(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=PX(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=r&&r.node==l.focusNode&&r.offset==l.focusOffset||!Qw(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!Qw(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),u=e.viewport;if((ye.ios||ye.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(re.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=re.create([re.cursor(c,p)])}else this.newSel=re.single(h,c)}}}function DI(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 DI(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 FI(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||ye.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:ct.of(e.text.slice(r.from-a,d).split(Vc))}:(p=jI(u,e.text,c-a,h))&&(ye.chrome&&o==13&&p.toB==p.from+2&&e.text.slice(p.from,p.toB)==Vc+Vc&&p.toB--,t={from:a+p.from,to:a+p.toA,insert:ct.of(e.text.slice(p.from,p.toB).split(Vc))})}else s&&(!n.hasFocus&&i.facet(go)||ay(s,r))&&(s=null);if(!t&&!s)return!1;if((ye.mac||ye.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=re.single(s.main.anchor-1,s.main.head-1)),t={from:t.from,to:t.to,insert:ct.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)}:ye.chrome&&t&&t.from==t.to&&t.from==r.head&&t.insert.toString()==` + `&&n.lineWrapping&&(s&&(s=re.single(s.main.anchor-1,s.main.head-1)),t={from:r.from,to:r.to,insert:ct.of([" "])}),t)return gA(n,t,s,o);if(s&&!ay(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=LI(i.facet(Bp).map(c=>c(n)),s))),n.dispatch({selection:s,scrollIntoView:a,userEvent:l}),!0}else return!1}function gA(n,e,t,s=-1){if(ye.ios&&n.inputState.flushIOSKey(e))return!0;let i=n.state.selection.main;if(ye.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&&hh(n.contentDOM,"Enter",13)||(e.from==i.from-1&&e.to==i.to&&e.insert.length==0||s==8&&e.insert.lengthi.head)&&hh(n.contentDOM,"Backspace",8)||e.from==i.from&&e.to==i.to+1&&e.insert.length==0&&hh(n.contentDOM,"Delete",46)))return!0;let r=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,a=()=>o||(o=$X(n,e,t));return n.state.facet(AI).some(l=>l(n,e.from,e.to,r,a))||n.dispatch(a()),!0}function $X(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:re.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&&NI(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?re.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 jI(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 TX(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 dE(t,s)),(i!=t||r!=s)&&e.push(new dE(i,r))),e}function PX(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?re.single(t+e,s+e):null}function ay(n,e){return e.head==n.main.head&&e.anchor==n.main.anchor}class RX{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,ye.safari&&e.contentDOM.addEventListener("input",()=>null),ye.gecko&&GX(e.contentDOM.ownerDocument)}handleEvent(e){!zX(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=IX(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&&HI.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),ye.android&&ye.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(ye.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(zI.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||OX.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&ye.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&MX(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:ye.safari&&!ye.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 MX(n){return n.visualViewport?n.visualViewport.height*n.visualViewport.scale/n.document.documentElement.clientHeight<.85:!1}function fE(n,e){return(t,s)=>{try{return e.call(n,s,t)}catch(i){Cr(t.state,i)}}}function IX(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(fE(s.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(fE(s.value,l))}}for(let s in Zi)t(s).handlers.push(Zi[s]);for(let s in Ss)t(s).observers.push(Ss[s]);return e}const zI=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],OX="dthko",HI=[16,17,18,20,91,92,224,225],bm=6;function wm(n){return Math.max(0,n)*.7+8}function NX(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class LX{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=aI(e.contentDOM),this.atoms=e.state.facet(Bp).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(lt.allowMultipleSelections)&&DX(e,t),this.dragging=jX(e,t)&&UI(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&&NX(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=II(this.view);e.clientX-l.left<=i+bm?t=-wm(i-e.clientX):e.clientX+l.right>=o-bm&&(t=wm(e.clientX-o)),e.clientY-l.top<=r+bm?s=-wm(r-e.clientY):e.clientY+l.bottom>=a-bm&&(s=wm(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=LI(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 DX(n,e){let t=n.state.facet(bI);return t.length?t[0](e):ye.mac?e.metaKey:e.ctrlKey}function FX(n,e){let t=n.state.facet(wI);return t.length?t[0](e):ye.mac?!e.altKey:!e.ctrlKey}function jX(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let s=Jd(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 zX(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=Kt.get(t))&&s.isWidget()&&!s.isHidden&&s.widget.ignoreEvent(e))return!1;return!0}const Zi=Object.create(null),Ss=Object.create(null),BI=ye.ie&&ye.ie_version<15||ye.ios&&ye.webkit_version<604;function HX(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(),qI(n,t.value)},50)}function C0(n,e,t){for(let s of n.facet(e))t=s(t,n);return t}function qI(n,e){e=C0(n.state,dA,e);let{state:t}=n,s,i=1,r=t.toText(e),o=r.lines==t.selection.ranges.length;if(a_!=null&&t.selection.ranges.every(l=>l.empty)&&a_==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:re.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:re.cursor(l.from+c.length)}}):s=t.replaceSelection(r);n.dispatch(s,{userEvent:"input.paste",scrollIntoView:!0})}Ss.scroll=n=>{let e=n.inputState;e.lastScrollTop=n.scrollDOM.scrollTop,e.lastScrollLeft=n.scrollDOM.scrollLeft,ye.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Ss.wheel=Ss.mousewheel=n=>{n.inputState.lastWheelEvent=Date.now()};Zi.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);Ss.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")};Ss.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};Ss.touchend=(n,e)=>{n.inputState.touchActive=!1};Zi.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(_I))if(t=s(n,e),t)break;if(!t&&e.button==0&&(t=qX(n,e)),t){let s=!n.hasFocus;n.inputState.startMouseSelection(new LX(n,e,t,s)),s&&n.observer.ignore(()=>{hI(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 pE(n,e,t,s){if(s==1)return re.cursor(e,t);if(s==2)return vX(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?(gE+1)%3:1}function qX(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),s=UI(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=pE(n,l.pos,l.assoc,s);if(t.pos!=l.pos&&!o){let u=pE(n,t.pos,t.assoc,s),d=Math.min(u.from,h.from),p=Math.max(u.to,h.to);h=d1&&(c=UX(i,l.pos))?c:a?i.addRange(h):re.create([h])}}}function UX(n,e){for(let t=0;t=e)return re.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}Zi.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=re.undirectionalRange(r,o))}}let{inputState:s}=n;return s.mouseSelection&&(s.mouseSelection.dragging=!0),s.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",C0(n.state,fA,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Zi.dragend=n=>(n.inputState.draggedContent=null,!1);function vE(n,e,t,s){if(t=C0(n.state,dA,t),!t)return;let i=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:r}=n.inputState,o=s&&r&&FX(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}Zi.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&&vE(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 vE(n,e,s,!0),!0}return!1};Zi.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=BI?null:e.clipboardData;return t?(qI(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(HX(n),!1)};function VX(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 WX(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:C0(n,fA,e.join(n.lineBreak)),ranges:t,linewise:s}}let a_=null;Zi.copy=Zi.cut=(n,e)=>{if(!Nd(n.contentDOM,n.observer.selectionRange))return!1;let{text:t,ranges:s,linewise:i}=WX(n.state);if(!t&&!i)return!1;a_=i?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:s,scrollIntoView:!0,userEvent:"delete.cut"});let r=BI?null:e.clipboardData;return r?(r.clearData(),r.setData("text/plain",t),!0):(VX(n,t),!1)};const VI=Oa.define();function WI(n,e){let t=[];for(let s of n.facet(kI)){let i=s(n,e);i&&t.push(i)}return t.length?n.update({effects:t,annotations:VI.of(!0)}):null}function GI(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=WI(n.state,e);t?n.dispatch(t):n.update([])}},10)}Ss.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),GI(n)};Ss.blur=n=>{n.observer.clearSelectionRange(),GI(n)};Ss.compositionstart=Ss.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};Ss.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,ye.chrome&&ye.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};Ss.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};Zi.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 gA(n,{from:l,to:c,insert:n.state.toText(r)},null),!0}}let i;if(ye.chrome&&ye.android&&(i=zI.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 ye.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),ye.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>Ss.compositionend(n,e),20),!1};const bE=new Set;function GX(n){bE.has(n)||(bE.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const wE=["pre-wrap","normal","pre-line","break-spaces"];let _u=!1;function _E(){_u=!1}class KX{constructor(e){this.lineWrapping=e,this.doc=ct.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 wE.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)>xg&&(_u=!0),this.height=e)}replace(e,t,s){return bs.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,Et.ByPosNoHeight,s.setDoc(t),0,0),p=d.to>=c?d:r.lineAt(c,Et.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,Et.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 Zs extends KI{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 Vi(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 Zs||i instanceof Bn&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof Bn?i=new Zs(i.length,this.height,this.spaceAbove):i.height=this.height,this.outdated||(i.outdated=!1),i):bs.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 Bn extends bs{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 Bn?s[s.length-1]=new Bn(r.length+i):s.push(null,new Bn(i-1))}if(e>0){let r=s[0];r instanceof Bn?s[0]=new Bn(e+r.length):s.unshift(new Bn(e-1),null)}return bs.of(s)}decomposeLeft(e,t){t.push(new Bn(e-1),null)}decomposeRight(e,t){t.push(null,new Bn(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 Bn(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)>=xg&&(l=-2);let p=new Zs(h,u,d);p.outdated=!1,o.push(p),a+=h+1}a<=r&&o.push(null,new Bn(r-a).updateHeight(e,a));let c=bs.of(o);return(l<0||Math.abs(c.height-this.height)>=xg||Math.abs(l-this.heightMetrics(e,t).perLine)>=xg)&&(_u=!0),ly(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 YX extends bs{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==Et.ByPosNoHeight?Et.ByPosNoHeight:Et.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,Et.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&&SE(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?bs.of(this.break?[e,null,t]:[e,t]):(this.left=ly(this.left,e),this.right=ly(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 SE(n,e){let t,s;n[e]==null&&(t=n[e-1])instanceof Bn&&(s=n[e+1])instanceof Bn&&n.splice(e-1,3,new Bn(t.length+1+s.length))}const JX=5;class yA{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 Zs?i.length+=s-this.pos:(s>this.pos||!this.isCovered)&&this.nodes.push(new Zs(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=JX)&&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 Zs(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let s=new Bn(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 Zs)return e;let t=new Zs(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 Zs)&&!this.isCovered?this.nodes.push(new Zs(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 nY(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left0&&e.top0}function sY(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class pv{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 KX(s),this.stateDeco=xE(t),this.heightMap=bs.empty().applyChanges(this.stateDeco,ct.empty,this.heightOracle.setDoc(t.doc),[new fi(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=Qe.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 _m(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?kE:new vA(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(bd(e,this.scaler))})}update(e,t=null){this.state=e.state;let s=this.stateDeco;this.stateDeco=xE(this.state);let i=e.changedRanges,r=fi.extendWithRanges(i,QX(s,this.stateDeco,e?e.changes:bn.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);_E(),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(EI)&&(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"?Dt.RTL:Dt.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:A,scaleY:$}=oI(t,a);(A>.005&&Math.abs(this.scaleX-A)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=A,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=aI(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=uI(this.scrollParent||e.win);let g=(this.printing?sY:tY)(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&&!nY(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 A=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(A)&&(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),A),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)),_E();for(let $ of this.viewports){let E=$.from==this.viewport.from?A:e.docView.measureVisibleLineHeights($);this.heightMap=(o?bs.empty().applyChanges(this.stateDeco,ct.empty,this.heightOracle,[new fi(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,o,new ZX($.from,E))}_u&&(c|=2)}let k=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return k&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||k)&&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 _m(i.lineAt(o-s*1e3,Et.ByHeight,r,0,0).from,i.lineAt(a+(1-s)*1e3,Et.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,Et.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!=Dt.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(re.cursor(u),!1,!0).head;_>h&&(u=_)}let y=this.gapSize(d,h,u,p),w=s||y<2e6?y:2e6;v=new pv(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=[];it.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)||bd(this.heightMap.lineAt(e,Et.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)||bd(this.heightMap.lineAt(this.scaler.fromDOM(e),Et.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 bd(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 _m{constructor(e,t){this.from=e,this.to=t}}function rY(n,e,t){let s=[],i=n,r=0;return it.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 Am(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 oY(n,e){for(let t of n)if(e(t))return t}const kE={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};function xE(n){let e=n.facet(k0).filter(s=>typeof s!="function"),t=n.facet(mA).filter(s=>typeof s!="function");return t.length&&e.push(it.join(t)),e}class vA{constructor(e,t,s){let i=0,r=0,o=0;this.viewports=s.map(({from:a,to:l})=>{let c=t.lineAt(a,Et.ByPos,e,0,0).top,h=t.lineAt(l,Et.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 bd(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),s=e.toDOM(n.bottom);return new Vi(n.from,n.length,t,s-t,Array.isArray(n._content)?n._content.map(i=>bd(i,e)):n._content)}const km=ke.define({combine:n=>n.join(" ")}),l_=ke.define({combine:n=>n.indexOf(!0)>-1}),c_=vu.newName(),ZI=vu.newName(),XI=vu.newName(),YI={"&light":"."+ZI,"&dark":"."+XI};function h_(n,e,t){return new vu(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 aY=h_("."+c_,{"&":{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"}},YI),lY={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},mv=ye.ie&&ye.ie_version<=11;class cY{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new FZ,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);(ye.ie&&ye.ie_version<=11||ye.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&&ye.android&&e.constructor.EDIT_CONTEXT!==!1&&!(ye.chrome&&ye.chrome_version<126)&&(this.editContext=new uY(e),e.state.facet(go)&&(e.contentDOM.editContext=this.editContext.editContext)),mv&&(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(go)?s.root.activeElement!=this.dom:!Nd(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}(ye.ie&&ye.ie_version<=11||ye.android&&ye.chrome)&&!s.state.selection.main.empty&&i.focusNode&&Ld(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Jd(e.root);if(!t)return!1;let s=ye.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&hY(this.view,t)||t;if(!s||this.selectionRange.eq(s))return!1;let i=Nd(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&&hh(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&&Nd(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 CX(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=FI(this.view,t);return this.view.state==s&&(t.domChanged||t.newSel&&!ay(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=EE(t,e.previousSibling||e.target.previousSibling,-1),i=EE(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(go)!=e.state.facet(go)&&(e.view.contentDOM.editContext=e.state.facet(go)?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 EE(n,e,t){for(;e;){let s=Kt.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 CE(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 Ld(o.node,o.offset,i,r)&&([t,s,i,r]=[i,r,t,s]),{anchorNode:t,anchorOffset:s,focusNode:i,focusOffset:r}}function hY(n,e){if(e.getComposedRanges){let i=e.getComposedRanges(n.root)[0];if(i)return CE(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?CE(n,t):null}class uY{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=jI(e.state.sliceDoc(a,l),s.text,(c?i.from:i.to)-a,c?"end":null);if(!h){let d=re.single(this.toEditorPos(s.selectionStart),this.toEditorPos(s.selectionEnd));ay(d,i)||e.dispatch({selection:d,userEvent:"select"});return}let u={from:h.from+a,to:h.toA+a,insert:ct.of(s.text.slice(h.from,h.toB).split(` +`))};if((ye.mac||ye.android)&&u.from==o-1&&/^\. ?$/.test(s.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(u={from:a,to:l,insert:ct.of([s.text.replace("."," ")])}),this.pendingContextChange=u,!e.state.readOnly){let d=this.to-this.from+(u.to-u.from+u.insert.length);gA(e,u,re.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=Jd(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 Ce{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||jZ(e.parent)||document,this.viewState=new AE(this,e.state||lt.create(e)),e.scrollTo&&e.scrollTo.is(vm)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Yc).map(i=>new cv(i));for(let i of this.plugins)i.update(this);this.observer=new cY(this),this.inputState=new RX(this),this.inputState.ensureHandlers(this.plugins),this.docView=new hE(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 Sn?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(VI))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=WI(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(lt.phrases)!=this.state.facet(lt.phrases))return this.setState(r);i=iy.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(Ce.cursorScrollMargin);u=new uh(p.empty?p:re.cursor(p.head,p.head>p.anchor?-1:1),"nearest","nearest",g,m)}for(let p of d.effects)p.is(vm)&&(u=p.value.clip(this.state))}this.viewState.update(i,u),this.bidiCache=cy.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),t=this.docView.update(i),this.state.facet(vd)!=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(km)!=i.state.facet(km)&&(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(s_))try{d(i)}catch(p){Cr(this.state,p,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!FI(this,h)&&c.force&&hh(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 AE(this,e),this.plugins=e.facet(Yc).map(s=>new cv(s)),this.pluginMap.clear();for(let s of this.plugins)s.update(this);this.docView.destroy(),this.docView=new hE(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(Yc),s=e.state.facet(Yc);if(t!=s){let i=[];for(let r of s){let o=t.indexOf(r);if(o<0)i.push(new cv(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(uI(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 Cr(this.state,m),$E}}),u=iy.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)&&!(ye.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(s_))a(t)}get themeClasses(){return c_+" "+(this.state.facet(l_)?XI:ZI)+" "+this.state.facet(km)}updateAttrs(){let e=TE(this,TI,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(go)?"true":"false",class:"cm-content",style:`${ye.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),TE(this,pA,t);let s=this.observer.ignore(()=>{let i=iE(this.contentDOM,this.contentAttrs,t),r=iE(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(Ce.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(vd);let e=this.state.facet(Ce.cspNonce);vu.mount(this.root,this.styleModules.concat(aY).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 fv(this,e,uE(this,e,t,s))}moveByGroup(e,t){return fv(this,e,uE(this,e,t,s=>_X(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 re.cursor(r.side(t,i)+e.from,r.forward(!t,i)?1:-1)}moveToLineBoundary(e,t,s=!0){return wX(this,e,t,s)}moveVertically(e,t,s){return fv(this,e,SX(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=o_(this,e,t);return s&&s.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),o_(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let s=this.state.doc.lineAt(e),i=this.bidiSpans(s),r=i[Er.find(i,e-s.from,-1,t)];return this.docView.coordsAt(e,t,r.dir==Dt.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(xI)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>dY)return yI(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||gI(r.isolates,s=aE(this,e))))return r.order;s||(s=aE(this,e));let i=GZ(e.text,t,s);return this.bidiCache.push(new cy(e.from,e.to,t,s,!0,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||ye.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{hI(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 vm.of(new uh(typeof e=="number"?re.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 vm.of(new uh(re.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 Qs.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Qs.define(()=>({}),{eventObservers:e})}static theme(e,t){let s=vu.newName(),i=[km.of(s),vd.of(h_(`.${s}`,e))];return t&&t.dark&&i.push(l_.of(!0)),i}static baseTheme(e){return w0.lowest(vd.of(h_("."+c_,e,YI)))}static findFromDOM(e){var t;let s=e.querySelector(".cm-content"),i=s&&Kt.get(s)||Kt.get(e);return((t=i==null?void 0:i.root)===null||t===void 0?void 0:t.view)||null}}Ce.styleModule=vd;Ce.inputHandler=AI;Ce.clipboardInputFilter=dA;Ce.clipboardOutputFilter=fA;Ce.scrollHandler=CI;Ce.focusChangeEffect=kI;Ce.perLineTextDirection=xI;Ce.exceptionSink=SI;Ce.updateListener=s_;Ce.editable=go;Ce.mouseSelectionStyle=_I;Ce.dragMovesSelection=wI;Ce.clickAddsSelectionRange=bI;Ce.decorations=k0;Ce.blockWrappers=PI;Ce.outerDecorations=mA;Ce.atomicRanges=Bp;Ce.bidiIsolatedRanges=RI;Ce.cursorScrollMargin=ke.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}}});Ce.scrollMargins=MI;Ce.darkTheme=l_;Ce.cspNonce=ke.define({combine:n=>n.length?n[0]:""});Ce.contentAttributes=pA;Ce.editorAttributes=TI;Ce.lineWrapping=Ce.contentAttributes.of({class:"cm-lineWrapping"});Ce.announce=_t.define();const dY=4096,$E={};class cy{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:Dt.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&&cA(o,t)}return t}const fY=ye.mac?"mac":ye.windows?"win":ye.linux?"linux":"key";function pY(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 gY(n,e,t){return eO(QI(n.state),e,n,t)}let jo=null;const yY=4e3;function vY(n,e=fY){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=>pY(y,e));for(let y=1;y{let k=jo={view:_,prefix:w,scope:o};return setTimeout(()=>{jo==k&&(jo=null)},yY),!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,u_))}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 u_=null;function eO(n,e,t,s){u_=e;let i=MZ(e),r=BM(i,0),o=qM(r)==i.length&&i!=" ",a="",l=!1,c=!1,h=!1;jo&&jo.view==t&&jo.scope==s&&(a=jo.prefix+" ",HI.indexOf(e.keyCode)<0&&(c=!0,jo=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+xm(i,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(ye.windows&&e.ctrlKey&&e.altKey)&&!(ye.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=Ea[e.keyCode])&&m!=i?(d(p[a+xm(m,e,!0)])||e.shiftKey&&(g=Xd[e.keyCode])!=i&&g!=m&&d(p[a+xm(g,e,!1)]))&&(l=!0):o&&e.shiftKey&&d(p[a+xm(i,e,!0)])&&(l=!0),!l&&d(p._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),u_=null,l}class ic{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=tO(e);return[new ic(t,i.left-r.left,i.top-r.top,null,i.bottom-i.top)]}else return bY(e,t,s)}}function tO(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==Dt.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function RE(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 bY(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==Dt.LTR,o=n.contentDOM,a=o.getBoundingClientRect(),l=tO(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=r_(n,s,1),m=r_(n,i,-1),g=p.type==Kn.Text?p:null,v=m.type==Kn.Text?m:null;if(g&&(n.lineWrapping||p.widgetLineBreaks)&&(g=RE(n,s,1,g)),v&&(n.lineWrapping||m.widgetLineBreaks)&&(v=RE(n,i,-1,v)),g&&v&&g.from==v.from&&g.to==v.to)return w(_(t.from,t.to,g));{let A=g?_(t.from,null,g):k(p,!1),$=v?_(null,t.to,v):k(m,!0),E=[];return(g||p).to<(v||m).from-(g&&v?1:0)||p.widgetLineBreaks>1&&A.bottom+n.defaultLineHeight/2<$.top?E.push(y(u,A.bottom,d,$.top)):A.bottom<$.top&&n.elementAtHeight((A.bottom+$.top)/2).type==Kn.Text&&(A.bottom=$.top=(A.bottom+$.top)/2),w(A).concat(E).concat(w($))}function y(A,$,E,O){return new ic(e,A-l.left,$-l.top,Math.max(0,E-A),O-$)}function w({top:A,bottom:$,horizontal:E}){let O=[];for(let F=0;Fz&&L.from=Q)break;B>ee&&D(Math.max(ge,ee),A==null&&ge<=z,Math.min(B,Q),$==null&&B>=K,ae.dir)}if(ee=te.to+1,ee>=Q)break}return q.length==0&&D(z,A==null,K,$==null,n.textDirection),{top:O,bottom:F,horizontal:q}}function k(A,$){let E=a.top+($?A.top:A.bottom);return{top:E,bottom:E,horizontal:[]}}}function wY(n,e){return n.constructor==e.constructor&&n.eq(e)}class _Y{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(Eg)!=e.state.facet(Eg)&&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(Eg);for(;t!wY(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,ye.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Eg=ke.define();function nO(n){return[Qs.define(e=>new _Y(e,n)),Eg.of(n)]}const Su=ke.define({combine(n){return Ou(n,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function SY(n={}){return[Su.of(n),AY,kY,EY,EI.of(!0)]}function sO(n){return n.startState.facet(Su)!=n.state.facet(Su)}const AY=nO({above:!0,markers(n){let{state:e}=n,t=e.facet(Su),s=[];for(let i of e.selection.ranges){let r=i==e.selection.main;if(i.empty||t.drawRangeCursor&&!(r&&ye.ios&&t.iosSelectionHandles)){let o=r?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=i.empty?i:re.cursor(i.head,i.assoc);for(let l of ic.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=sO(n);return t&&ME(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){ME(e.state,n)},class:"cm-cursorLayer"});function ME(n,e){e.style.animationDuration=n.facet(Su).cursorBlinkRate+"ms"}const kY=nO({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 ic.forRange(n,"cm-selectionBackground",i))e.push(r);if(ye.ios&&!t.empty&&n.state.facet(Su).iosSelectionHandles){for(let i of ic.forRange(n,"cm-selectionHandle cm-selectionHandle-start",re.cursor(t.from,1)))e.push(i);for(let i of ic.forRange(n,"cm-selectionHandle cm-selectionHandle-end",re.cursor(t.to,1)))e.push(i)}return e},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||sO(n)},class:"cm-selectionLayer"}),xY=ye.gecko&&ye.gecko_version==153?"#ffffff01":"transparent",EY=w0.highest(Ce.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:`${xY} !important`},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}}));function CY(){return TY}const $Y=Qe.line({class:"cm-activeLine"}),TY=Qs.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($Y.range(i.from)),e=i.from)}return Qe.set(t)}},{decorations:n=>n.decorations}),IE=ke.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(rO),s=t?t.specs.indexOf(e):-1;return s>-1?t.panels[s]:null}const rO=Qs.fromClass(class{constructor(n){this.input=n.state.facet(hy),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(IE);this.top=new Em(n,!0,e.topContainer),this.bottom=new Em(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(IE);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Em(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Em(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(hy);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=>Ce.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class Em{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=OE(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=OE(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 OE(n){let e=n.nextSibling;return n.remove(),e}const hy=ke.define({enables:rO});function PY(n,e){let t,s=new Promise(o=>t=o),i=o=>RY(o,e,t);n.state.field(gv,!1)?n.dispatch({effects:oO.of(i)}):n.dispatch({effects:_t.appendConfig.of(gv.init(()=>[i]))});let r=aO.of(i);return{close:r,result:s.then(o=>((n.win.queueMicrotask||(l=>n.win.setTimeout(l,10)))(()=>{n.state.field(gv).indexOf(i)>-1&&n.dispatch({effects:r})}),o))}}const gv=Or.define({create(){return[]},update(n,e){for(let t of e.effects)t.is(oO)?n=[t.value].concat(n):t.is(aO)&&(n=n.filter(s=>s!=t.value));return n},provide:n=>hy.computeN([n],e=>e.field(n))}),oO=_t.define(),aO=_t.define();function RY(n,e,t){let s=e.content?e.content(n,()=>o(null)):null;if(!s){if(s=Rn("form"),e.input){let a=Rn("input",e.input);/^(text|password|number|email|tel|url)$/.test(a.type)&&a.classList.add("cm-textfield"),a.name||(a.name="input"),s.appendChild(Rn("label",(e.label||"")+": ",a))}else s.appendChild(document.createTextNode(e.label||""));s.appendChild(document.createTextNode(" ")),s.appendChild(Rn("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=Rn("div",s,Rn("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 wc extends gc{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}wc.prototype.elementClass="";wc.prototype.toDOM=void 0;wc.prototype.mapMode=Ys.TrackBefore;wc.prototype.startSide=wc.prototype.endSide=-1;wc.prototype.point=!0;const yv=ke.define(),MY=ke.define(),Cg=ke.define(),NE=ke.define({combine:n=>n.some(e=>e)});function IY(n){return[OY]}const OY=Qs.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(Cg).map(e=>new DE(n,e)),this.fixed=!n.state.facet(NE);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(NE)!=!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=it.iter(this.view.state.facet(yv),this.view.viewport.from),s=[],i=this.gutters.map(r=>new NY(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==Kn.Text&&o){d_(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==Kn.Text){d_(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(Cg),t=n.state.facet(Cg),s=n.docChanged||n.heightChanged||n.viewportChanged||!it.eq(n.startState.facet(yv),n.state.facet(yv),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 DE(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=>Ce.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==Dt.LTR?{left:s,right:i}:{right:s,left:i}})});function LE(n){return Array.isArray(n)?n:[n]}function d_(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class NY{constructor(e,t,s){this.gutter=e,this.height=s,this.i=0,this.cursor=it.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 lO(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=[];d_(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(MY)){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 DE{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=LE(t.markers(e)),t.initialSpacer&&(this.spacer=new lO(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=LE(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!it.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 lO{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":""),LY(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 vv extends wc{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function bv(n,e){return n.state.facet(Jc).formatNumber(e,n.state)}const jY=Cg.compute([Jc],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(DY)},lineMarker(e,t,s){return s.some(i=>i.toDOM)?null:new vv(bv(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,s)=>{for(let i of e.state.facet(FY)){let r=i(e,t,s);if(r)return r}return null},lineMarkerChange:e=>e.startState.facet(Jc)!=e.state.facet(Jc),initialSpacer(e){return new vv(bv(e,FE(e.state.doc.lines)))},updateSpacer(e,t){let s=bv(t.view,FE(t.view.state.doc.lines));return s==e.number?e:new vv(s)},domEventHandlers:n.facet(Jc).domEventHandlers,side:"before"}));function zY(n={}){return[Jc.of(n),IY(),jY]}function FE(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=Ls.match(e)),t=>{let s=e(t);return s===void 0?null:[this,s]}}}nt.closedBy=new nt({deserialize:n=>n.split(" ")});nt.openedBy=new nt({deserialize:n=>n.split(" ")});nt.group=new nt({deserialize:n=>n.split(" ")});nt.isolate=new nt({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});nt.contextHash=new nt({perNode:!0});nt.lookAhead=new nt({perNode:!0});nt.mounted=new nt({perNode:!0});class Fd{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[nt.mounted.id]}}const qY=Object.create(null);class Ls{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):qY,s=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new Ls(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(nt.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(nt.group),r=-1;r<(i?i.length:0);r++){let o=t[r<0?s.name:i[r]];if(o)return o}}}}Ls.none=new Ls("",Object.create(null),0,8);class bA{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|Qt.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:SA(Ls.none,this.children,this.positions,0,this.children.length,0,this.length,(t,s,i)=>new Ft(this.type,t,s,i,this.propValues),e.makeTree||((t,s,i)=>new Ft(Ls.none,t,s,i)))}static build(e){return GY(e)}}Ft.empty=new Ft(Ls.none,[],[],0);class wA{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 wA(this.buffer,this.index)}}class $a{constructor(e,t,s){this.buffer=e,this.length=t,this.set=s}get type(){return Ls.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 ef(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&Qt.EnterBracketed&&h instanceof Ft&&(d=Fd.get(h))&&!d.overlay&&d.bracketed&&s>=u&&s<=u+h.length)&&!cO(i,s,u,u+h.length))){if(h instanceof $a){if(r&Qt.ExcludeBuffers)continue;let p=h.findChild(0,h.buffer.length,t,s-u,i);if(p>-1)return new ba(new UY(o,h,e,u),null,p)}else if(r&Qt.IncludeAnonymous||!h.type.isAnonymous||_A(h)){let p;if(!(r&Qt.IgnoreMounts)&&(p=Fd.get(h))&&!p.overlay)return new mi(p.tree,u,e,o);let m=new mi(h,u,e,o);return r&Qt.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?h.children.length-1:0,t,s,i,r)}}}if(r&Qt.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&Qt.IgnoreOverlays)&&(i=Fd.get(this._tree))&&i.overlay){let r=e-this.from,o=s&Qt.EnterBracketed&&i.bracketed;for(let{from:a,to:l}of i.overlay)if((t>0||o?a<=r:a=r:l>r))return new mi(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 zE(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 f_(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 UY{constructor(e,t,s,i){this.parent=e,this.buffer=t,this.index=s,this.start=i}}class ba extends hO{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 ba(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&Qt.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 ba(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 ba(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 ba(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 Ft(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function uO(n){if(!n.length)return null;let e=0,t=n[0];for(let r=1;rt.from||o.to=e){let a=new mi(o.tree,o.overlay[0].from+r.from,-1,r);(i||(i=[s])).push(ef(a,e,t,!1))}}return i?uO(i):s}class p_{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&~Qt.EnterBracketed,e instanceof mi)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 mi?(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&Qt.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,s))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Qt.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Qt.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&Qt.IncludeAnonymous||a instanceof $a||!a.type.isAnonymous||_A(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 f_(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 _A(n){return n.children.some(e=>e instanceof $a||!e.type.isAnonymous||_A(e))}function GY(n){var e;let{buffer:t,nodeSet:s,maxBufferLength:i=HY,reused:r=[],minRepeatType:o=s.types.length}=n,a=Array.isArray(t)?new wA(t,t.length):t,l=s.types,c=0,h=0;function u(A,$,E,O,F,q){let{id:D,start:z,end:K,size:L}=a,ee=h,Q=c;if(L<0)if(a.next(),L==-1){let P=r[D];E.push(P),O.push(z-A);return}else if(L==-3){c=D;return}else if(L==-4){h=D;return}else throw new RangeError(`Unrecognized record size: ${L}`);let te=l[D],ae,ge,B=z-A;if(K-z<=i&&(ge=v(a.pos-$,F))){let P=new Uint16Array(ge.size-ge.skip),N=a.pos-ge.size,M=P.length;for(;a.pos>N;)M=y(ge.start,P,M);ae=new $a(P,K-ge.start,s),B=ge.start-A}else{let P=a.pos-L;a.next();let N=[],M=[],b=D>=o?D:-1,x=0,I=K;for(;a.pos>P;)b>=0&&a.id==b&&a.size>=0?(a.end<=I-i&&(m(N,M,z,x,a.end,I,b,ee,Q),x=N.length,I=a.end),a.next()):q>2500?d(z,P,N,M):u(z,P,N,M,b,q+1);if(b>=0&&x>0&&x-1&&x>0){let G=p(te,Q);ae=SA(te,N,M,0,N.length,0,K-z,G,G)}else ae=g(te,N,M,K-z,ee-K,Q)}E.push(ae),O.push(B)}function d(A,$,E,O){let F=[],q=0,D=-1;for(;a.pos>$;){let{id:z,start:K,end:L,size:ee}=a;if(ee>4)a.next();else{if(D>-1&&K=0;L-=3)z[ee++]=F[L],z[ee++]=F[L+1]-K,z[ee++]=F[L+2]-K,z[ee++]=ee;E.push(new $a(z,F[2]-K,s)),O.push(K-A)}}function p(A,$){return(E,O,F)=>{let q=0,D=E.length-1,z,K;if(D>=0&&(z=E[D])instanceof Ft){if(!D&&z.type==A&&z.length==F)return z;(K=z.prop(nt.lookAhead))&&(q=O[D]+z.length+K)}return g(A,E,O,F,q,$)}}function m(A,$,E,O,F,q,D,z,K){let L=[],ee=[];for(;A.length>O;)L.push(A.pop()),ee.push($.pop()+E-F);A.push(g(s.types[D],L,ee,q-F,z-q,K)),$.push(F-E)}function g(A,$,E,O,F,q,D){if(q){let z=[nt.contextHash,q];D=D?[z].concat(D):[z]}if(F>25){let z=[nt.lookAhead,F];D=D?[z].concat(D):[z]}return new Ft(A,$,E,O,D)}function v(A,$){let E=a.fork(),O=0,F=0,q=0,D=E.end-i,z={size:0,start:0,skip:0};e:for(let K=E.pos-A;E.pos>K;){let L=E.size;if(E.id==$&&L>=0){z.size=O,z.start=F,z.skip=q,q+=4,O+=4,E.next();continue}let ee=E.pos-L;if(L<0||ee=o?4:0,te=E.start;for(E.next();E.pos>ee;){if(E.size<0)if(E.size==-3||E.size==-4)Q+=4;else break e;else E.id>=o&&(Q+=4);E.next()}F=te,O+=L,q+=Q}return($<0||O==A)&&(z.size=O,z.start=F,z.skip=q),z.size>4?z:void 0}function y(A,$,E){let{id:O,start:F,end:q,size:D}=a;if(a.next(),D>=0&&O4){let K=a.pos-(D-4);for(;a.pos>K;)E=y(A,$,E)}$[--E]=z,$[--E]=q-A,$[--E]=F-A,$[--E]=O}else D==-3?c=O:D==-4&&(h=O);return E}let w=[],_=[];for(;a.pos>0;)u(n.start||0,n.bufferStart||0,w,_,-1,0);let k=(e=n.length)!==null&&e!==void 0?e:w.length?_[0]+w[0].length:0;return new Ft(l[n.topID],w.reverse(),_.reverse(),k)}const HE=new WeakMap;function $g(n,e){if(!n.isAnonymous||e instanceof $a||e.type!=n)return 1;let t=HE.get(e);if(t==null){t=1;for(let s of e.children){if(s.type!=n||!(s instanceof Ft)){t=1;break}t+=$g(n,s)}HE.set(e,t)}return t}function SA(n,e,t,s,i,r,o,a,l){let c=0;for(let m=s;m=h)break;$+=E}if(_==k+1){if($>h){let E=m[k];p(E.children,E.positions,0,E.children.length,g[k]+w);continue}u.push(m[k])}else{let E=g[_-1]+m[_-1].length-A;u.push(SA(n,m,g,k,_,A,E,null,l))}d.push(A+w-r)}}return p(e,t,s,i,0),(a||l)(u,d,o)}class rc{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 rc(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 rc(p,m,d.tree,d.offset+c,a>0,!!h)}if(d&&i.push(d),o.to>u)break;o=rnew wv(i.from,i.to)):[new wv(0,0)]:[new wv(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 KY{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 nt({perNode:!0});let ZY=0;class hi{constructor(e,t,s,i){this.name=e,this.set=t,this.base=s,this.modified=i,this.id=ZY++}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 hi&&(t=e),t!=null&&t.base)throw new Error("Can not derive from a modified tag");let i=new hi(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 uy(e);return s=>s.modified.indexOf(t)>-1?s:uy.get(s.base||s,s.modified.concat(t).sort((i,r)=>i.id-r.id))}}let XY=0;class uy{constructor(e){this.name=e,this.instances=[],this.id=XY++}static get(e,t){if(!t.length)return e;let s=t[0].instances.find(a=>a.base==e&&YY(t,a.modified));if(s)return s;let i=[],r=new hi(e.name,i,e,t);for(let a of t)a.instances.push(r);let o=JY(t);for(let a of e.set)if(!a.modified.length)for(let l of o)i.push(uy.get(a,l));return r}}function YY(n,e){return n.length==e.length&&n.every((t,s)=>t==e[s])}function JY(n){let e=[[]];for(let t=0;ts.length-t.length)}function QY(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 dy(s,o,l>0?r.slice(0,l):null);e[c]=h.sort(e[c])}}return e7.add(e)}const e7=new nt({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 dy(i.tags,i.mode,i.context);t?t.next=r:s=r,t=r}return s}});class dy{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 pe=hi.define,$m=pe(),No=pe(),BE=pe(No),qE=pe(No),Lo=pe(),Tm=pe(Lo),_v=pe(Lo),sr=pe(),Ua=pe(sr),tr=pe(),nr=pe(),m_=pe(),Zu=pe(m_),Pm=pe(),He={comment:$m,lineComment:pe($m),blockComment:pe($m),docComment:pe($m),name:No,variableName:pe(No),typeName:BE,tagName:pe(BE),propertyName:qE,attributeName:pe(qE),className:pe(No),labelName:pe(No),namespace:pe(No),macroName:pe(No),literal:Lo,string:Tm,docString:pe(Tm),character:pe(Tm),attributeValue:pe(Tm),number:_v,integer:pe(_v),float:pe(_v),bool:pe(Lo),regexp:pe(Lo),escape:pe(Lo),color:pe(Lo),url:pe(Lo),keyword:tr,self:pe(tr),null:pe(tr),atom:pe(tr),unit:pe(tr),modifier:pe(tr),operatorKeyword:pe(tr),controlKeyword:pe(tr),definitionKeyword:pe(tr),moduleKeyword:pe(tr),operator:nr,derefOperator:pe(nr),arithmeticOperator:pe(nr),logicOperator:pe(nr),bitwiseOperator:pe(nr),compareOperator:pe(nr),updateOperator:pe(nr),definitionOperator:pe(nr),typeOperator:pe(nr),controlOperator:pe(nr),punctuation:m_,separator:pe(m_),bracket:Zu,angleBracket:pe(Zu),squareBracket:pe(Zu),paren:pe(Zu),brace:pe(Zu),content:sr,heading:Ua,heading1:pe(Ua),heading2:pe(Ua),heading3:pe(Ua),heading4:pe(Ua),heading5:pe(Ua),heading6:pe(Ua),contentSeparator:pe(sr),list:pe(sr),quote:pe(sr),emphasis:pe(sr),strong:pe(sr),link:pe(sr),monospace:pe(sr),strikethrough:pe(sr),inserted:pe(),deleted:pe(),changed:pe(),invalid:pe(),meta:Pm,documentMeta:pe(Pm),annotation:pe(Pm),processingInstruction:pe(Pm),definition:hi.defineModifier("definition"),constant:hi.defineModifier("constant"),function:hi.defineModifier("function"),standard:hi.defineModifier("standard"),local:hi.defineModifier("local"),special:hi.defineModifier("special")};for(let n in He){let e=He[n];e instanceof hi&&(e.name=n)}t7([{tag:He.link,class:"tok-link"},{tag:He.heading,class:"tok-heading"},{tag:He.emphasis,class:"tok-emphasis"},{tag:He.strong,class:"tok-strong"},{tag:He.keyword,class:"tok-keyword"},{tag:He.atom,class:"tok-atom"},{tag:He.bool,class:"tok-bool"},{tag:He.url,class:"tok-url"},{tag:He.labelName,class:"tok-labelName"},{tag:He.inserted,class:"tok-inserted"},{tag:He.deleted,class:"tok-deleted"},{tag:He.literal,class:"tok-literal"},{tag:He.string,class:"tok-string"},{tag:He.number,class:"tok-number"},{tag:[He.regexp,He.escape,He.special(He.string)],class:"tok-string2"},{tag:He.variableName,class:"tok-variableName"},{tag:He.local(He.variableName),class:"tok-variableName tok-local"},{tag:He.definition(He.variableName),class:"tok-variableName tok-definition"},{tag:He.special(He.variableName),class:"tok-variableName2"},{tag:He.definition(He.propertyName),class:"tok-propertyName tok-definition"},{tag:He.typeName,class:"tok-typeName"},{tag:He.namespace,class:"tok-namespace"},{tag:He.className,class:"tok-className"},{tag:He.macroName,class:"tok-macroName"},{tag:He.propertyName,class:"tok-propertyName"},{tag:He.operator,class:"tok-operator"},{tag:He.comment,class:"tok-comment"},{tag:He.meta,class:"tok-meta"},{tag:He.invalid,class:"tok-invalid"},{tag:He.punctuation,class:"tok-punctuation"}]);var Sv;const wd=new nt;function n7(n){return ke.define({combine:n?e=>e.concat(n):void 0})}const s7=new nt;class $r{constructor(e,t,s=[],i=""){this.data=e,this.name=i,lt.prototype.hasOwnProperty("tree")||Object.defineProperty(lt.prototype,"tree",{get(){return Ta(this)}}),this.parser=t,this.extension=[xu.of(this),lt.languageData.of((r,o,a)=>{let l=UE(r,o,a),c=l.type.prop(wd);if(!c)return[];let h=r.facet(c),u=l.type.prop(s7);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 UE(e,t,s).type.prop(wd)==this.data}findRegions(e){let t=e.facet(xu);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(wd)==this.data){s.push({from:o,to:o+r.length});return}let a=r.prop(nt.mounted);if(a){if(a.tree.prop(wd)==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 Xu=null;class Au{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 Au(e,t,[],Ft.empty,0,s,[],null)}startParse(){return this.parser.startParse(new i7(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Ft.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(rc.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Xu;Xu=this;try{return e()}finally{Xu=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=VE(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=rc.applyChanges(s,l),i=Ft.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=VE(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 dO{createParse(t,s,i){let r=i[0].from,o=i[i.length-1].to;return{parsedPos:r,advance(){let l=Xu;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 Ft(Ls.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 Xu}}function VE(n,e,t){return rc.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class ku{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 ku(t)}static init(e){let t=Math.min(3e3,e.doc.length),s=Au.create(e.facet(xu).parser,e,{from:0,to:t});return s.work(20,t)||s.takeTree(),new ku(s)}}$r.state=Or.define({create:ku.init,update(n,e){for(let t of e.effects)if(t.is($r.setState))return t.value;return e.startState.facet(xu)!=e.state.facet(xu)?ku.init(e.state):n.apply(e)}});let fO=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(fO=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const Av=typeof navigator<"u"&&(!((Sv=navigator.scheduling)===null||Sv===void 0)&&Sv.isInputPending)?()=>navigator.scheduling.isInputPending():null,r7=Qs.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($r.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($r.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=fO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndi+1e3,l=r.context.work(()=>Av&&Av()||Date.now()>o,i+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(r.context.takeTree(),this.view.dispatch({effects:$r.setState.of(new ku(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=>Cr(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()}}}),xu=ke.define({combine(n){return n.length?n[0]:null},enables:n=>[$r.state,r7,Ce.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]}),o7=ke.define(),AA=ke.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 _c(n){let e=n.facet(AA);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function fy(n,e){let t="",s=n.tabSize,i=n.facet(AA)[0];if(i==" "){for(;e>=s;)t+=" ",e-=s;i=" "}for(let r=0;r=e?a7(n,t,e):null}class $0{constructor(e,t={}){this.state=e,this.options=t,this.unit=_c(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 _0(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 mO=new nt;function a7(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 gO(s,n,t)}function gO(n,e,t){for(let s=n;s;s=s.next){let i=c7(s.node);if(i)return i(kA.create(e,t,s))}return 0}function l7(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function c7(n){let e=n.type.prop(mO);if(e)return e;let t=n.firstChild,s;if(t&&(s=t.type.prop(nt.closedBy))){let i=n.lastChild,r=i&&s.indexOf(i.name)>-1;return o=>f7(o,!0,1,void 0,r&&!l7(o)?i.from:void 0)}return n.parent==null?h7:null}function h7(){return 0}class kA extends $0{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 kA(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(u7(s,e))break;t=this.state.doc.lineAt(s.from)}return this.lineIndent(t.from)}continue(){return gO(this.context.next,this.base,this.pos)}}function u7(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function d7(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 f7(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=d7(n);return l?a?n.column(l.from):n.column(l.to):n.baseIndent+(a?0:n.unit*t)}const p7=Ce.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),yO=1e4,vO="()[]{}",bO=ke.define({combine(n){return Ou(n,{afterCursor:!0,brackets:vO,maxScanDistance:yO,renderMatch:y7})}}),m7=Qe.mark({class:"cm-matchingBracket"}),g7=Qe.mark({class:"cm-nonmatchingBracket"});function y7(n){let e=[],t=n.matched?m7:g7;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 WE(n){let e=[],t=n.facet(bO);for(let s of n.selection.ranges){if(!s.empty)continue;let i=Tr(n,s.head,-1,t)||s.head>0&&Tr(n,s.head-1,1,t)||t.afterCursor&&(Tr(n,s.head,1,t)||s.headn.decorations}),b7=[v7,p7];function w7(n={}){return[bO.of(n),b7]}const _7=new nt;function g_(n,e,t){let s=n.prop(e<0?nt.openedBy:nt.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 y_(n){let e=n.type.prop(_7);return e?e(n.node):n}function Tr(n,e,t,s={}){let i=s.maxScanDistance||yO,r=s.brackets||vO,o=Ta(n),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=g_(l.type,t,r);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return S7(n,e,t,l,h,c,r)}}return A7(n,e,t,o,a.type,i,r)}function S7(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 GE(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 k7(n){return{name:n.name||"",token:n.token,blankLine:n.blankLine||(()=>{}),startState:n.startState||(()=>!0),copyState:n.copyState||x7,indent:n.indent||(()=>null),languageData:n.languageData||{},tokenTable:n.tokenTable||CA,mergeTokens:n.mergeTokens!==!1}}function x7(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 KE=new WeakMap;class xA extends $r{constructor(e){let t=n7(e.languageData),s=k7(e),i,r=new class extends dO{createParse(o,a,l){return new C7(i,o,a,l)}};super(t,r,[],e.name),this.topNode=P7(t,this),i=this,this.streamParser=s,this.stateAfter=new nt({perNode:!0}),this.tokenTable=e.tokenTable?new kO(s.tokenTable):T7}static define(e){return new xA(e)}getIndent(e){let t,{overrideIndentation:s}=e.options;s&&(t=KE.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 Ft&&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&&EA(n,r.tree,0-r.offset,t,a),c;if(l&&l.pos<=s&&(c=_O(n,r.tree,t+r.offset,l.pos+r.offset,!1)))return{state:l.state,tree:c}}return{state:n.streamParser.startState(i?_c(i):4),tree:Ft.empty}}class C7{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=Au.get(),o=i[0].from,{state:a,tree:l}=E7(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(_c(r.state)),r.skipUntilInView(this.parsedPos,r.viewport.from),this.parsedPos=r.viewport.from),this.moveRangeIndex()}advance(){let e=Au.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 wO(t,e?e.state.tabSize:4,e?_c(e.state):2);if(o.eol())r.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=SO(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 CA=Object.create(null),tf=[Ls.none],$7=new bA(tf),ZE=[],XE=Object.create(null),AO=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"]])AO[n]=xO(CA,e);class kO{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),AO)}resolve(e){return e?this.table[e]||(this.table[e]=xO(this.extra,e)):0}}const T7=new kO(CA);function kv(n,e){ZE.indexOf(n)>-1||(ZE.push(n),console.warn(e))}function xO(n,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=n[c]||He[c];h?typeof h=="function"?l.length?l=l.map(h):kv(c,`Modifier ${c} used at start of tag`):l.length?kv(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:kv(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=XE[i];if(r)return r.id;let o=XE[i]=Ls.define({id:tf.length,name:s,props:[QY({[s]:t})]});return tf.push(o),o.id}function P7(n,e){let t=Ls.define({id:tf.length,name:"Document",props:[wd.add(()=>n),mO.add(()=>s=>e.getIndent(s))],top:!0});return tf.push(t),t}Dt.RTL,Dt.LTR;const R7=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),s=TA(n.state,t.from);return s.line?M7(n):s.block?O7(n):!1};function $A(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 M7=$A(D7,0),I7=$A(EO,0),O7=$A((n,e)=>EO(n,e,L7(e)),0);function TA(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const Yu=50;function N7(n,{open:e,close:t},s,i){let r=n.sliceDoc(s-Yu,s),o=n.sliceDoc(i,i+Yu),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*Yu?h=u=n.sliceDoc(s,i):(h=n.sliceDoc(s,s+Yu),u=n.sliceDoc(i-Yu,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 L7(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 EO(n,e,t=e.selection.ranges){let s=t.map(r=>TA(e,r.from).block);if(!s.every(r=>r))return null;let i=t.map((r,o)=>N7(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 v_=Oa.define(),F7=Oa.define(),j7=ke.define(),CO=ke.define({combine(n){return Ou(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)})}}),$O=Or.define({create(){return Pr.empty},update(n,e){let t=e.state.facet(CO),s=e.annotation(v_);if(s){let l=Os.fromTransaction(e,s.selection),c=s.side,h=c==0?n.undone:n.done;return l?h=py(h,h.length,t.minDepth,l):h=RO(h,e.startState.selection),new Pr(c==0?s.rest:h,c==0?h:s.rest)}let i=e.annotation(F7);if((i=="full"||i=="before")&&(n=n.isolate()),e.annotation(Sn.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let r=Os.fromTransaction(e),o=e.annotation(Sn.time),a=e.annotation(Sn.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 Pr(n.done.map(Os.fromJSON),n.undone.map(Os.fromJSON))}});function z7(n={}){return[$O,CO.of(n),Ce.domEventHandlers({beforeinput(e,t){let s=e.inputType=="historyUndo"?TO:e.inputType=="historyRedo"?b_:null;return s?(e.preventDefault(),s(t)):!1}})]}function T0(n,e){return function({state:t,dispatch:s}){if(!e&&t.readOnly)return!1;let i=t.field($O,!1);if(!i)return!1;let r=i.pop(n,t,e);return r?(s(r),!0):!1}}const TO=T0(0,!1),b_=T0(1,!1),H7=T0(0,!0),B7=T0(1,!0);class Os{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 Os(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 Os(e.changes&&bn.fromJSON(e.changes),[],e.mapped&&Rr.fromJSON(e.mapped),e.startSelection&&re.fromJSON(e.startSelection),e.selectionsAfter.map(re.fromJSON))}static fromTransaction(e,t){let s=pi;for(let i of e.startState.facet(j7)){let r=i(e);r.length&&(s=s.concat(r))}return!s.length&&e.changes.empty?null:new Os(e.changes.invert(e.startState.doc),s,void 0,t||e.startState.selection,pi)}static selection(e){return new Os(void 0,pi,void 0,void 0,e)}}function py(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 q7(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 U7(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,s)=>t.empty!=e.ranges[s].empty).length===0}function PO(n,e){return n.length?e.length?n.concat(e):n:e}const pi=[],V7=200;function RO(n,e){if(n.length){let t=n[n.length-1],s=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-V7));return s.length&&s[s.length-1].eq(e)?n:(s.push(e),py(n,n.length-1,1e9,t.setSelAfter(s)))}else return[Os.selection([e])]}function W7(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 xv(n,e){if(!n.length)return n;let t=n.length,s=pi;for(;t;){let i=G7(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?[Os.selection(s)]:pi}function G7(n,e,t){let s=PO(n.selectionsAfter.length?n.selectionsAfter.map(a=>a.map(e)):pi,t);if(!n.changes)return Os.selection(s);let i=n.changes.map(e),r=e.mapDesc(n.changes,!0),o=n.mapped?n.mapped.composeDesc(r):r;return new Os(i,_t.mapEffects(n.effects,e),o,n.startSelection.map(r),s)}const K7=/^(input\.type|delete)($|\.)/;class Pr{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 Pr(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||K7.test(s))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?n.moveByChar(t,e):P0(t,e))}function hs(n){return n.textDirectionAt(n.state.selection.main.head)==Dt.LTR}const IO=n=>MO(n,!hs(n)),OO=n=>MO(n,hs(n));function NO(n,e){return Yi(n,t=>t.empty?n.moveByGroup(t,e):P0(t,e))}const X7=n=>NO(n,!hs(n)),Y7=n=>NO(n,hs(n));function J7(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 R0(n,e,t){let s=Ta(n).resolveInner(e.head),i=t?nt.closedBy:nt.openedBy;for(let l=e.head;;){let c=t?s.childAfter(l):s.childBefore(l);if(!c)break;J7(n,c,i)?s=c:l=t?c.to:c.from}let r=s.type.prop(i),o,a;return r&&(o=t?Tr(n,s.from,1):Tr(n,s.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?s.to:s.from,re.cursor(a,t?-1:1)}const Q7=n=>Yi(n,e=>R0(n.state,e,!hs(n))),eJ=n=>Yi(n,e=>R0(n.state,e,hs(n)));function LO(n,e){return Yi(n,t=>{if(!t.empty)return P0(t,e);let s=n.moveVertically(t,e);return s.head!=t.head?s:n.moveToLineBoundary(t,e)})}const DO=n=>LO(n,!1),FO=n=>LO(n,!0);function jO(n){let e=n.scrollDOM.clientHeighto.empty?n.moveVertically(o,e,t.height):P0(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.bottomzO(n,!1),w_=n=>zO(n,!0);function Na(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=re.cursor(s.from+r))}return i}const tJ=n=>Yi(n,e=>Na(n,e,!0)),nJ=n=>Yi(n,e=>Na(n,e,!1)),sJ=n=>Yi(n,e=>Na(n,e,!hs(n))),iJ=n=>Yi(n,e=>Na(n,e,hs(n))),rJ=n=>Yi(n,e=>re.cursor(n.lineBlockAt(e.head).from,1)),oJ=n=>Yi(n,e=>re.cursor(n.lineBlockAt(e.head).to,-1));function aJ(n,e,t){let s=!1,i=Nu(n.selection,r=>{let o=Tr(n,r.head,-1)||Tr(n,r.head,1)||r.head>0&&Tr(n,r.head-1,1)||r.headaJ(n,e);function wi(n,e,t){let s=Nu(n.state.selection,i=>{i.undirectional&&i.head>=i.anchor!=e&&(i=re.range(i.head,i.anchor));let r=t(i);return re.range(i.anchor,r.head,r.goalColumn,r.bidiLevel||void 0,r.assoc)});return s.eq(n.state.selection)?!1:(n.dispatch(Xi(n.state,s)),!0)}function HO(n,e){return wi(n,e,t=>n.moveByChar(t,e))}const BO=n=>HO(n,!hs(n)),qO=n=>HO(n,hs(n));function UO(n,e){return wi(n,e,t=>n.moveByGroup(t,e))}const cJ=n=>UO(n,!hs(n)),hJ=n=>UO(n,hs(n)),uJ=n=>{let e=!hs(n);return wi(n,e,t=>R0(n.state,t,e))},dJ=n=>{let e=hs(n);return wi(n,e,t=>R0(n.state,t,e))};function VO(n,e){return wi(n,e,t=>n.moveVertically(t,e))}const WO=n=>VO(n,!1),GO=n=>VO(n,!0);function KO(n,e){return wi(n,e,t=>n.moveVertically(t,e,jO(n).height))}const JE=n=>KO(n,!1),QE=n=>KO(n,!0),fJ=n=>wi(n,!0,e=>Na(n,e,!0)),pJ=n=>wi(n,!1,e=>Na(n,e,!1)),mJ=n=>{let e=!hs(n);return wi(n,e,t=>Na(n,t,e))},gJ=n=>{let e=hs(n);return wi(n,e,t=>Na(n,t,e))},yJ=n=>wi(n,!1,e=>re.cursor(n.lineBlockAt(e.head).from)),vJ=n=>wi(n,!0,e=>re.cursor(n.lineBlockAt(e.head).to)),eC=({state:n,dispatch:e})=>(e(Xi(n,{anchor:0})),!0),tC=({state:n,dispatch:e})=>(e(Xi(n,{anchor:n.doc.length})),!0),nC=({state:n,dispatch:e})=>(e(Xi(n,{anchor:n.selection.main.anchor,head:0})),!0),sC=({state:n,dispatch:e})=>(e(Xi(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),bJ=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),wJ=({state:n,dispatch:e})=>{let t=M0(n).map(({from:s,to:i})=>re.undirectionalRange(s,Math.min(i+1,n.doc.length)));return e(n.update({selection:re.create(t),userEvent:"select"})),!0},_J=({state:n,dispatch:e})=>{let t=Nu(n.selection,s=>{let i=Ta(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 re.undirectionalRange(a.from,a.to)}return s});return t.eq(n.selection)?!1:(e(Xi(n,t)),!0)};function ZO(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(Xi(t,re.create(i,i.length-1))),!0)}const SJ=n=>ZO(n,!1),AJ=n=>ZO(n,!0),kJ=({state:n,dispatch:e})=>{let t=n.selection,s=null;return t.ranges.length>1?s=re.create([t.main]):t.main.empty||(s=re.create([re.cursor(t.main.head)])),s?(e(Xi(n,s)),!0):!1};function qp(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=Rm(n,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Rm(n,o,!1),a=Rm(n,a,!0);return o==a?{range:r}:{changes:{from:o,to:a},range:re.cursor(o,oi(n)))s.between(e,e,(i,r)=>{ie&&(e=t?r:i)});return e}const XO=(n,e,t)=>qp(n,s=>{let i=s.from,{state:r}=n,o=r.doc.lineAt(i),a,l;if(t&&!e&&i>o.from&&iXO(n,!1,!0),YO=n=>XO(n,!0,!1),JO=(n,e)=>qp(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=Mn(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}),QO=n=>JO(n,!1),xJ=n=>JO(n,!0),EJ=n=>qp(n,e=>{let t=n.lineBlockAt(e.head).to;return e.headqp(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),$J=n=>qp(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:ct.of(["",""])},range:re.cursor(s.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},PJ=({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:Mn(r.text,i-r.from,!1)+r.from,a=i==r.to?i+1:Mn(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:re.cursor(a)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function M0(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 eN(n,e,t){if(n.readOnly)return!1;let s=[],i=[];for(let r of M0(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(re.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(re.range(l.anchor-a,l.head-a))}}return s.length?(e(n.update({changes:s,scrollIntoView:!0,selection:re.create(i,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const RJ=({state:n,dispatch:e})=>eN(n,e,!1),MJ=({state:n,dispatch:e})=>eN(n,e,!0);function tN(n,e,t){if(n.readOnly)return!1;let s=[];for(let r of M0(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 IJ=({state:n,dispatch:e})=>tN(n,e,!1),OJ=({state:n,dispatch:e})=>tN(n,e,!0),NJ=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(M0(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 LJ(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=Ta(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(nt.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 iC=nN(!1),DJ=nN(!0);function nN(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&&LJ(e,r);n&&(r=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new $0(e,{simulateBreak:r,simulateDoubleBreak:!!l}),h=pO(c,r);for(h==null&&(h=_0(/^\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:re.range(r.mapPos(s.anchor,1),r.mapPos(s.head,1))}})}const FJ=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),s=new $0(n,{overrideIndentation:r=>{let o=t[r];return o??-1}}),i=PA(n,(r,o,a)=>{let l=pO(s,r.from);if(l==null)return;/\S/.test(r.text)||(l=0);let c=/^\s*/.exec(r.text)[0],h=fy(n,l);(c!=h||a.fromn.readOnly?!1:(e(n.update(PA(n,(t,s)=>{s.push({from:t.from,insert:n.facet(AA)})}),{userEvent:"input.indent"})),!0),iN=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(PA(n,(t,s)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let r=_0(i,n.tabSize),o=0,a=fy(n,Math.max(0,r-_c(n)));for(;o(n.setTabFocusMode(),!0),zJ=[{key:"Ctrl-b",run:IO,shift:BO,preventDefault:!0},{key:"Ctrl-f",run:OO,shift:qO},{key:"Ctrl-p",run:DO,shift:WO},{key:"Ctrl-n",run:FO,shift:GO},{key:"Ctrl-a",run:rJ,shift:yJ},{key:"Ctrl-e",run:oJ,shift:vJ},{key:"Ctrl-d",run:YO},{key:"Ctrl-h",run:__},{key:"Ctrl-k",run:EJ},{key:"Ctrl-Alt-h",run:QO},{key:"Ctrl-o",run:TJ},{key:"Ctrl-t",run:PJ},{key:"Ctrl-v",run:w_}],HJ=[{key:"ArrowLeft",run:IO,shift:BO,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:X7,shift:cJ,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:sJ,shift:mJ,preventDefault:!0},{key:"ArrowRight",run:OO,shift:qO,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:Y7,shift:hJ,preventDefault:!0},{mac:"Cmd-ArrowRight",run:iJ,shift:gJ,preventDefault:!0},{key:"ArrowUp",run:DO,shift:WO,preventDefault:!0},{mac:"Cmd-ArrowUp",run:eC,shift:nC},{mac:"Ctrl-ArrowUp",run:YE,shift:JE},{key:"ArrowDown",run:FO,shift:GO,preventDefault:!0},{mac:"Cmd-ArrowDown",run:tC,shift:sC},{mac:"Ctrl-ArrowDown",run:w_,shift:QE},{key:"PageUp",run:YE,shift:JE},{key:"PageDown",run:w_,shift:QE},{key:"Home",run:nJ,shift:pJ,preventDefault:!0},{key:"Mod-Home",run:eC,shift:nC},{key:"End",run:tJ,shift:fJ,preventDefault:!0},{key:"Mod-End",run:tC,shift:sC},{key:"Enter",run:iC,shift:iC},{key:"Mod-a",run:bJ},{key:"Backspace",run:__,shift:__,preventDefault:!0},{key:"Delete",run:YO,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:QO,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:xJ,preventDefault:!0},{mac:"Mod-Backspace",run:CJ,preventDefault:!0},{mac:"Mod-Delete",run:$J,preventDefault:!0}].concat(zJ.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),BJ=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Q7,shift:uJ},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:eJ,shift:dJ},{key:"Alt-ArrowUp",run:RJ},{key:"Shift-Alt-ArrowUp",run:IJ},{key:"Alt-ArrowDown",run:MJ},{key:"Shift-Alt-ArrowDown",run:OJ},{key:"Mod-Alt-ArrowUp",run:SJ},{key:"Mod-Alt-ArrowDown",run:AJ},{key:"Escape",run:kJ},{key:"Mod-Enter",run:DJ},{key:"Alt-l",mac:"Ctrl-l",run:wJ},{key:"Mod-i",run:_J,preventDefault:!0},{key:"Mod-[",run:iN},{key:"Mod-]",run:sN},{key:"Mod-Alt-\\",run:FJ},{key:"Shift-Mod-k",run:NJ},{key:"Shift-Mod-\\",run:lJ},{key:"Mod-/",run:R7},{key:"Alt-A",mac:"Ctrl-A",run:I7},{key:"Ctrl-m",mac:"Shift-Alt-m",run:jJ}].concat(HJ),qJ={key:"Tab",run:sN,shift:iN};function rN(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 UJ=rN(!1);rN(!0);const rC=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n;class Eu{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(rC(a)):rC,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 BM(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=mZ(e),s=this.bufferStart+this.bufferPos;this.bufferPos+=qM(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=my(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 dh(t,e.sliceString(t,s));return Ev.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=my(this.text,i+(s==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=dh.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(aN.prototype[Symbol.iterator]=lN.prototype[Symbol.iterator]=function(){return this});function VJ(n){try{return new RegExp(n,RA),!0}catch{return!1}}function my(n,e){if(e>=n.length)return e;let t=n.lineAt(e),s;for(;e=56320&&s<57344;)e++;return e}const WJ=n=>{let{state:e}=n,t=String(e.doc.lineAt(n.state.selection.main.head).number),{close:s,result:i}=PY(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=re.cursor(m.from+Math.max(0,Math.min(d,m.length)));n.dispatch({effects:[s,Ce.scrollIntoView(g.from,{y:"center"})],selection:g})}),!0},GJ={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},KJ=ke.define({combine(n){return Ou(n,GJ,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function ZJ(n){return[eQ,QJ]}const XJ=Qe.mark({class:"cm-selectionMatch"}),YJ=Qe.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function oC(n,e,t,s){return(t==0||n(e.sliceDoc(t-1,t))!=en.Word)&&(s==e.doc.length||n(e.sliceDoc(s,s+1))!=en.Word)}function JJ(n,e,t,s){return n(e.sliceDoc(t,t+1))==en.Word&&n(e.sliceDoc(s-1,s))==en.Word}const QJ=Qs.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(KJ),{state:t}=n,s=t.selection;if(s.ranges.length>1)return Qe.none;let i=s.main,r,o=null;if(i.empty){if(!e.highlightWordAroundCursor)return Qe.none;let l=t.wordAt(i.head);if(!l)return Qe.none;o=t.charCategorizer(i.head),r=t.sliceDoc(l.from,l.to)}else{let l=i.to-i.from;if(l200)return Qe.none;if(e.wholeWords){if(r=t.sliceDoc(i.from,i.to),o=t.charCategorizer(i.head),!(oC(o,t,i.from,i.to)&&JJ(o,t,i.from,i.to)))return Qe.none}else if(r=t.sliceDoc(i.from,i.to),!r)return Qe.none}let a=[];for(let l of n.visibleRanges){let c=new Eu(t.doc,r,l.from,l.to);for(;!c.next().done;){let{from:h,to:u}=c.value;if((!o||oC(o,t,h,u))&&(i.empty&&h<=i.from&&u>=i.to?a.push(YJ.range(h,u)):(h>=i.to||u<=i.from)&&a.push(XJ.range(h,u)),a.length>e.maxMatches))return Qe.none}}return Qe.set(a)}},{decorations:n=>n.decorations}),eQ=Ce.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),tQ=({state:n,dispatch:e})=>{let{selection:t}=n,s=re.create(t.ranges.map(i=>n.wordAt(i.head)||re.cursor(i.head)),t.mainIndex);return s.eq(t)?!1:(e(n.update({selection:s})),!0)};function nQ(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 Eu(n.doc,e,s[s.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new Eu(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 sQ=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(r=>r.from===r.to))return tQ({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=nQ(n,s);return i?(e(n.update({selection:n.selection.addRange(re.range(i.from,i.to),!1),effects:Ce.scrollIntoView(i.to)})),!0):!1},Lu=ke.define({combine(n){return Ou(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new yQ(e),scrollToMatch:e=>Ce.scrollIntoView(e)})}});class cN{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||VJ(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 cQ(this):new oQ(this)}getCursor(e,t=0,s){let i=e.doc?e:lt.create({doc:e});return s==null&&(s=i.doc.length),this.regexp?Gc(this,i,t,s):Wc(this,i,t,s)}}class hN{constructor(e){this.spec=e}}function iQ(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 Wc(n,e,t,s){let i;return n.wholeWord&&(i=rQ(e.doc,e.charCategorizer(e.selection.main.head))),n.test&&(i=iQ(n.test,e,i)),new Eu(e.doc,n.unquoted,t,s,n.caseSensitive?void 0:r=>r.toLowerCase(),i)}function rQ(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=Wc(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 aQ(n,e,t){return(s,i,r)=>(!t||t(s,i,r))&&n(r[0],e,s,i)}function Gc(n,e,t,s){let i;return n.wholeWord&&(i=lQ(e.charCategorizer(e.selection.main.head))),n.test&&(i=aQ(n.test,e,i)),new aN(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:i},t,s)}function gy(n,e){return n.slice(Mn(n,e,!1),e)}function yy(n,e){return n.slice(e,Mn(n,e))}function lQ(n){return(e,t,s)=>!s[0].length||(n(gy(s.input,s.index))!=en.Word||n(yy(s.input,s.index))!=en.Word)&&(n(yy(s.input,s.index+s[0].length))!=en.Word||n(gy(s.input,s.index+s[0].length))!=en.Word)}class cQ extends hN{nextMatch(e,t,s){let i=Gc(this.spec,e,s,e.doc.length).next();return i.done&&(i=Gc(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=Gc(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=Gc(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 nf=_t.define(),MA=_t.define(),_a=Or.define({create(n){return new Cv(S_(n).create(),null)},update(n,e){for(let t of e.effects)t.is(nf)?n=new Cv(t.value.create(),n.panel):t.is(MA)&&(n=new Cv(n.query,t.value?IA:null));return n},provide:n=>hy.from(n,e=>e.panel)});class Cv{constructor(e,t){this.query=e,this.panel=t}}const hQ=Qe.mark({class:"cm-searchMatch"}),uQ=Qe.mark({class:"cm-searchMatch cm-searchMatch-selected"}),dQ=Qs.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(_a))}update(n){let e=n.state.field(_a);(e!=n.startState.field(_a)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return Qe.none;let{view:t}=this,s=new Kd;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?uQ:hQ)})}return s.finish()}},{decorations:n=>n.decorations});function Up(n){return e=>{let t=e.state.field(_a,!1);return t&&t.query.spec.valid?n(e,t):fN(e)}}const vy=Up((n,{query:e})=>{let{to:t}=n.state.selection.main,s=e.nextMatch(n.state,t,t);if(!s)return!1;let i=re.single(s.from,s.to),r=n.state.facet(Lu);return n.dispatch({selection:i,effects:[OA(n,s),r.scrollToMatch(i.main,n)],userEvent:"select.search"}),dN(n),!0}),by=Up((n,{query:e})=>{let{state:t}=n,{from:s}=t.selection.main,i=e.prevMatch(t,s,s);if(!i)return!1;let r=re.single(i.from,i.to),o=n.state.facet(Lu);return n.dispatch({selection:r,effects:[OA(n,i),o.scrollToMatch(r.main,n)],userEvent:"select.search"}),dN(n),!0}),fQ=Up((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:re.create(t.map(s=>re.range(s.from,s.to))),userEvent:"select.search.matches"}),!0)}),pQ=({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 Eu(n.doc,n.sliceDoc(s,i));!a.next().done;){if(r.length>1e3)return!1;a.value.from==s&&(o=r.length),r.push(re.range(a.value.from,a.value.to))}return e(n.update({selection:re.create(r,o),userEvent:"select.search.matches"})),!0},aC=Up((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(Ce.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=re.single(o.from,o.to).map(u),h.push(OA(n,o)),h.push(t.facet(Lu).scrollToMatch(l.main,n))),n.dispatch({changes:u,selection:l,effects:h,userEvent:"input.replace"}),!0}),mQ=Up((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:Ce.announce.of(s),userEvent:"input.replace.all"}),!0});function IA(n){return n.state.facet(Lu).createPanel(n)}function S_(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(Lu);return new cN({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 uN(n){let e=iO(n,IA);return e&&e.dom.querySelector("[main-field]")}function dN(n){let e=uN(n);e&&e==n.root.activeElement&&e.select()}const fN=n=>{let e=n.state.field(_a,!1);if(e&&e.panel){let t=uN(n);if(t&&t!=n.root.activeElement){let s=S_(n.state,e.query.spec);s.valid&&n.dispatch({effects:nf.of(s)}),t.focus(),t.select()}}else n.dispatch({effects:[MA.of(!0),e?nf.of(S_(n.state,e.query.spec)):_t.appendConfig.of(bQ)]});return!0},pN=n=>{let e=n.state.field(_a,!1);if(!e||!e.panel)return!1;let t=iO(n,IA);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:MA.of(!1)}),!0},gQ=[{key:"Mod-f",run:fN,scope:"editor search-panel"},{key:"F3",run:vy,shift:by,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:vy,shift:by,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:pN,scope:"editor search-panel"},{key:"Mod-Shift-l",run:pQ},{key:"Mod-Alt-g",run:WJ},{key:"Mod-d",run:sQ,preventDefault:!0}];class yQ{constructor(e){this.view=e;let t=this.query=e.state.field(_a).query.spec;this.commit=this.commit.bind(this),this.searchField=Rn("input",{value:t.search,placeholder:js(e,"Find"),"aria-label":js(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Rn("input",{value:t.replace,placeholder:js(e,"Replace"),"aria-label":js(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Rn("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=Rn("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=Rn("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function s(i,r,o){return Rn("button",{class:"cm-button",name:i,onclick:r,type:"button"},o)}this.dom=Rn("div",{onkeydown:i=>this.keydown(i),class:"cm-search"},[this.searchField,s("next",()=>vy(e),[js(e,"next")]),s("prev",()=>by(e),[js(e,"previous")]),s("select",()=>fQ(e),[js(e,"all")]),Rn("label",null,[this.caseField,js(e,"match case")]),Rn("label",null,[this.reField,js(e,"regexp")]),Rn("label",null,[this.wordField,js(e,"by word")]),...e.state.readOnly?[]:[Rn("br"),this.replaceField,s("replace",()=>aC(e),[js(e,"replace")]),s("replaceAll",()=>mQ(e),[js(e,"replace all")])],Rn("button",{name:"close",onclick:()=>pN(e),"aria-label":js(e,"close"),type:"button"},["×"])])}commit(){let e=new cN({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:nf.of(e)}))}keydown(e){gY(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?by:vy)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),aC(this.view))}update(e){for(let t of e.transactions)for(let s of t.effects)s.is(nf)&&!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(Lu).top}}function js(n,e){return n.state.phrase(e)}const Mm=30,Im=/[\s\.,:;?!]/;function OA(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-Mm),o=Math.min(i,t+Mm),a=n.state.sliceDoc(r,o);if(r!=s.from){for(let l=0;la.length-Mm;l--)if(!Im.test(a[l-1])&&Im.test(a[l])){a=a.slice(0,l);break}}return Ce.announce.of(`${n.state.phrase("current match")}. ${a} ${n.state.phrase("on line")} ${s.number}.`)}const vQ=Ce.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"}}),bQ=[_a,w0.low(dQ),vQ],wQ=({path:n,value:e,readOnly:t,onChange:s})=>{const i=se.useRef(null),r=se.useRef(null),o=se.useRef(new jp),a=se.useRef(s);return a.current=s,se.useEffect(()=>{if(!i.current)return;const l=lt.create({doc:e,extensions:[zY(),SY(),CY(),z7(),ZJ(),w7(),xA.define(UJ),JI.of([...BJ,...Z7,...gQ,qJ]),Ce.contentAttributes.of({"aria-label":`Editing ${n}`,class:"ph-no-capture","data-ph-no-autocapture":"true","data-ph-no-capture":"true"}),o.current.of(Ce.editable.of(!t)),Ce.updateListener.of(c=>{c.docChanged&&a.current(c.state.doc.toString())})]});return r.current=new Ce({state:l,parent:i.current}),()=>{var c;return(c=r.current)==null?void 0:c.destroy()}},[n]),se.useEffect(()=>{const l=r.current;!l||l.state.doc.toString()===e||l.dispatch({changes:{from:0,to:l.state.doc.length,insert:e}})},[e]),se.useEffect(()=>{var l;(l=r.current)==null||l.dispatch({effects:o.current.reconfigure(Ce.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})},_Q="pwc:artifact-navigation";function _ee(){return typeof window>"u"?!0:window.dispatchEvent(new Event(_Q,{cancelable:!0}))}const mN=()=>({open:!1,selectedKey:null,selected:null,selectedVersionId:null,tab:"preview",sourceFile:null,panelPercent:55,requestNonce:0,registry:{},autoOpened:{},manuallyClosed:{}});function SQ(n,e){if(e.type==="reset")return{...mN(),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 A_(n){return n.publication_id||n.public_capability||n.version_id||`${n.scope}:${n.identifier}:${n.version??"pending"}`}const gN=se.createContext(null),See=({children:n,workspaceKey:e,autoOpenOnMount:t=!1,onAskAiFix:s})=>{const[i,r]=se.useReducer(SQ,void 0,mN),o=se.useRef(null),a=se.useRef(e);se.useEffect(()=>{a.current!==e&&(a.current=e,o.current=null,r({type:"reset"}))},[e]);const l=se.useCallback(()=>{r({type:"close"}),window.setTimeout(()=>{var _;(_=o.current)!=null&&_.isConnected&&o.current.focus()},0)},[]),c=se.useCallback(_=>r({type:"register",key:A_(_),block:_,autoOpenOnMount:t}),[t]),h=se.useCallback(_=>r({type:"unregister",key:_}),[]),u=se.useCallback((_,k)=>{const A=document.activeElement;o.current=k??(A instanceof HTMLElement&&A!==document.body?A:null),r({type:"open",key:A_(_),block:_})},[]),d=se.useCallback(_=>r({type:"tab",tab:_}),[]),p=se.useCallback(_=>r({type:"source",path:_}),[]),m=se.useCallback(_=>r({type:"version",versionId:_}),[]),g=se.useCallback(_=>r({type:"width",percent:_}),[]),v=se.useCallback(_=>s==null?void 0:s(_),[s]),y=se.useCallback(()=>r({type:"reset"}),[]),w=se.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(gN.Provider,{value:w,children:n})};function Vp(){const n=se.useContext(gN);if(!n)throw new Error("Poster artifacts require an ArtifactPanelProvider");return n}function AQ(n,e,t){return ln(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/versions/${encodeURIComponent(e)}/source/${t.split("/").map(encodeURIComponent).join("/")}`)}function kQ(n,e,t){return ln(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/versions/${encodeURIComponent(e)}/figures/${t.split("/").map(encodeURIComponent).join("/")}`)}function xQ(n){return ln(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/export/pdf`)}function lC(n,e){return ln(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/versions/${encodeURIComponent(e)}/export/source.zip`)}function Om(n){return`pwc:latex-paper-draft:${n}`}function EQ(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 cC(n){return!n.includes("\\")&&/^(?!\/)(?!.*(?:^|\/)\.\.?\/)[^\0]{1,300}\.(?:tex|bib)$/iu.test(n)}function CQ(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 $Q=({block:n,forceDialog:e=!1})=>{var Jn,On,nn,hn,un,sn,us,$c,La;const t=Vp(),s=fC(),i=t.close,[r,o]=se.useState(()=>{var V;return typeof window<"u"&&((V=window.matchMedia)==null?void 0:V.call(window,"(max-width: 760px)").matches)}),[a,l]=se.useState({}),[c,h]=se.useState({}),[u,d]=se.useState(null),[p,m]=se.useState(!1),[g,v]=se.useState(!1),[y,w]=se.useState(null),[_,k]=se.useState(!1),[A,$]=se.useState(null),E=se.useRef(null),O=se.useRef(null),F=se.useRef(!1),q=e||r,D=u!==null&&!EQ(a,c);se.useEffect(()=>{var Pe,rt;const V=(Pe=window.matchMedia)==null?void 0:Pe.call(window,"(max-width: 760px)");if(!V)return;const Se=()=>o(V.matches);return Se(),(rt=V.addEventListener)==null||rt.call(V,"change",Se),()=>{var Nt;return(Nt=V.removeEventListener)==null?void 0:Nt.call(V,"change",Se)}},[]),se.useEffect(()=>{var Pe,rt;if(!q)return;(rt=(Pe=O.current)==null?void 0:Pe.querySelector("[data-artifact-close]"))==null||rt.focus(),window.history.pushState({...window.history.state,pwcArtifactPanel:!0},""),F.current=!0;const V=()=>{if(D&&!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()},Se=Nt=>{Nt.key==="Escape"&&(Nt.preventDefault(),!(D&&!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",V),document.addEventListener("keydown",Se),()=>{window.removeEventListener("popstate",V),document.removeEventListener("keydown",Se)}},[i,q,D]),se.useEffect(()=>{if(!q)return;const V=Se=>{if(Se.key!=="Tab"||!O.current)return;const Pe=[...O.current.querySelectorAll('button:not([disabled]), a[href], input:not([disabled]), select:not([disabled]), [contenteditable="true"], [tabindex]:not([tabindex="-1"])')];if(!Pe.length)return;const rt=Pe[0],Nt=Pe.at(-1);Se.shiftKey&&document.activeElement===rt?(Se.preventDefault(),Nt.focus()):!Se.shiftKey&&document.activeElement===Nt&&(Se.preventDefault(),rt.focus())};return document.addEventListener("keydown",V),()=>document.removeEventListener("keydown",V)},[q]),se.useEffect(()=>{const V=Se=>{D&&(Se.preventDefault(),Se.returnValue="")};return window.addEventListener("beforeunload",V),()=>window.removeEventListener("beforeunload",V)},[D]),se.useEffect(()=>{const V=Se=>{D&&!window.confirm("Leave this view? Unsaved paper edits remain in this browser.")&&Se.preventDefault()};return window.addEventListener("pwc:artifact-navigation",V),()=>window.removeEventListener("pwc:artifact-navigation",V)},[D]);const z=fa({queryKey:["chat-latex-paper",n.artifact_id],queryFn:async()=>{const V=await fetch(ln(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}`),{credentials:"include",cache:"no-store"});if(!V.ok)throw new Error("Could not load paper details");return V.json()},enabled:!!n.artifact_id,staleTime:5e3}),K=z.data,L=K==null?void 0:K.source_head,ee=K==null?void 0:K.preview_head,Q=fa({queryKey:["chat-latex-paper-history",n.artifact_id,A],queryFn:async()=>{const V=new URLSearchParams({limit:"20"});A&&V.set("cursor",A);const Se=await fetch(ln(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions?${V}`),{credentials:"include",cache:"no-store"});if(!Se.ok)throw new Error("Could not load paper history");return Se.json()},enabled:_&&!!n.artifact_id,staleTime:Number.POSITIVE_INFINITY}),te=fa({queryKey:["chat-latex-paper-manifest",n.artifact_id,L==null?void 0:L.version_id],queryFn:async()=>{const V=await fetch(ln(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions/${encodeURIComponent(L.version_id)}/manifest`),{credentials:"include",cache:"no-store"});if(!V.ok)throw new Error("Could not load paper files");return V.json()},enabled:t.state.tab==="files"&&!!(L!=null&&L.version_id),staleTime:Number.POSITIVE_INFINITY}),ae=((Jn=te.data)==null?void 0:Jn.files.filter(V=>V.media_type==="text/x-tex"||V.media_type==="application/x-bibtex"))??[],ge=((On=te.data)==null?void 0:On.files.filter(V=>V.media_type==="image/png"||V.media_type==="image/jpeg"||V.media_type==="application/pdf"))??[],B=fa({queryKey:["chat-latex-paper-source-files",n.artifact_id,L==null?void 0:L.version_id],queryFn:async()=>Object.fromEntries(await Promise.all(ae.map(async V=>{const Se=await fetch(AQ(n.artifact_id,L.version_id,V.path),{credentials:"include",cache:"no-store"});if(!Se.ok)throw new Error("Could not load paper source");return[V.path,await Se.text()]}))),enabled:t.state.tab==="files"&&!!(L!=null&&L.version_id&&ae.length),staleTime:Number.POSITIVE_INFINITY});se.useEffect(()=>{m(!1)},[L==null?void 0:L.version_id]),se.useEffect(()=>{var Nt;if(!(L!=null&&L.version_id)||!B.data||E.current===L.version_id)return;const V=B.data;let Se=V,Pe=!1,rt=L.version_id;try{const _i=window.localStorage.getItem(Om(n.artifact_id)),Ji=_i?JSON.parse(_i):null;Ji!=null&&Ji.files&&typeof Ji.files=="object"&&(Se=Ji.files,Pe=Ji.parentVersionId!==L.version_id,rt=Ji.parentVersionId)}catch{}E.current=L.version_id,l(Se),h(V),d(rt),v(Pe),m(!0),Pe&&w("This local draft is based on an older paper version. Copy or discard it before saving the latest version."),(!t.state.sourceFile||!Se[t.state.sourceFile])&&t.setSourceFile(((Nt=te.data)==null?void 0:Nt.root_document)??null)},[n.artifact_id,(nn=te.data)==null?void 0:nn.root_document,t,L==null?void 0:L.version_id,B.data]),se.useEffect(()=>{if(!u||!n.artifact_id)return;const V=Om(n.artifact_id);if(!D){window.localStorage.removeItem(V);return}window.localStorage.setItem(V,JSON.stringify({parentVersionId:u,files:a}))},[n.artifact_id,D,u,a]);const P=Gp({mutationFn:async()=>{var Pe;if(!(L!=null&&L.version_id))throw new Error("Paper source is not ready to save");const V=await fetch(ln(`/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:L.version_id,files:Object.entries(a).map(([rt,Nt])=>({path:rt,content:Nt}))})}),Se=await V.json().catch(()=>null);if(!V.ok)throw new Error(((Pe=Se==null?void 0:Se.detail)==null?void 0:Pe.message)??"Could not save paper");return Se},onSuccess:V=>{var Se,Pe;s.setQueryData(["chat-latex-paper",n.artifact_id],V),s.invalidateQueries({queryKey:["chat-latex-paper-manifest",n.artifact_id]}),s.invalidateQueries({queryKey:["chat-latex-paper-source-files",n.artifact_id]}),E.current=((Se=V.source_head)==null?void 0:Se.version_id)??null,h(a),d(((Pe=V.source_head)==null?void 0:Pe.version_id)??null),window.localStorage.removeItem(Om(n.artifact_id)),w(null),v(!1),t.setTab("preview")},onError:V=>w(V instanceof Error?V.message:"Could not save paper")}),N=Gp({mutationFn:async V=>{var rt;if(!(L!=null&&L.version_id))throw new Error("Paper source is not ready to restore");const Se=await fetch(ln(`/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:V,expected_parent_version_id:L.version_id})}),Pe=await Se.json().catch(()=>null);if(!Se.ok)throw new Error(((rt=Pe==null?void 0:Pe.detail)==null?void 0:rt.message)??"Could not restore paper version");return Pe},onSuccess:V=>{s.setQueryData(["chat-latex-paper",n.artifact_id],V),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:V=>w(V instanceof Error?V.message:"Could not restore paper version")}),M=Gp({mutationFn:async V=>{var Nt;if(!(L!=null&&L.version_id))throw new Error("Paper source is not ready to upload a figure");if(D)throw new Error("Save or discard text edits before uploading a figure");const Se=new FormData;Se.set("expected_parent_version_id",L.version_id),Se.set("path",`figures/${V.name}`),Se.set("figure",V);const Pe=await fetch(ln(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/figures`),{method:"POST",credentials:"include",body:Se}),rt=await Pe.json().catch(()=>null);if(!Pe.ok)throw new Error(((Nt=rt==null?void 0:rt.detail)==null?void 0:Nt.message)??"Could not upload figure");return rt},onSuccess:V=>{s.setQueryData(["chat-latex-paper",n.artifact_id],V),s.invalidateQueries({queryKey:["chat-latex-paper-manifest",n.artifact_id]}),s.invalidateQueries({queryKey:["chat-latex-paper-source-files",n.artifact_id]}),w(null)},onError:V=>w(V instanceof Error?V.message:"Could not upload figure")}),x=Gp({mutationFn:async()=>{const V=await fetch(ln(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/refresh-compile`),{method:"POST",credentials:"include"});if(!V.ok)throw new Error("Could not refresh paper compilation");return V.json()},onSuccess:V=>s.setQueryData(["chat-latex-paper",n.artifact_id],V)}).mutate,I=L==null?void 0:L.version_id,G=L==null?void 0:L.compile_status;se.useEffect(()=>{if(!I||!n.artifact_id||!["queued","compiling"].includes(G??""))return;const V=window.setTimeout(()=>x(),2e3);return()=>window.clearTimeout(V)},[n.artifact_id,x,G,I]);const Y=t.state.sourceFile??((hn=te.data)==null?void 0:hn.root_document)??null,ue=(K==null?void 0:K.editing_enabled)===!0&&!!(L!=null&&L.version_id)&&p&&!g&&!P.isPending,oe=new Map(((un=Q.data)==null?void 0:un.items.map(V=>[V.version_id,V.version]))??[]),H=ee?ln(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions/${encodeURIComponent(ee.version_id)}/preview`):null,U=!!(L&&ee&&L.version_id!==ee.version_id),J=()=>!D||window.confirm("Leave this view? Unsaved paper edits remain in this browser."),ie=V=>V!==t.state.tab&&!J()?!1:(t.setTab(V),!0),he=V=>{var Pe,rt;if(!["ArrowLeft","ArrowRight","Home","End"].includes(V.key))return;V.preventDefault();const Se=V.key==="ArrowLeft"||V.key==="Home"?"preview":"files";ie(Se)&&((rt=(Pe=V.currentTarget.parentElement)==null?void 0:Pe.querySelector(`#paper-${Se}-tab`))==null||rt.focus())},_e=V=>{V!==Y&&D&&!window.confirm("Switch files? Unsaved edits stay in this browser.")||t.setSourceFile(V)},Je=()=>{const V=window.prompt("New TeX or BibTeX file name","section.tex");if(V){if(!cC(V)||a[V]){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,[V]:""}),w(null),t.setSourceFile(V)}},Ct=()=>{var Pe;if(!Y||Y===((Pe=te.data)==null?void 0:Pe.root_document))return;const V=window.prompt("Rename file",Y);if(!V||V===Y)return;if(!cC(V)||a[V]){w("Choose a new safe .tex or .bib filename.");return}const Se={...a,[V]:a[Y]};delete Se[Y],l(Se),t.setSourceFile(V)},pt=()=>{var Se,Pe;if(!Y||Y===((Se=te.data)==null?void 0:Se.root_document)||!window.confirm(`Delete ${Y}?`))return;const V={...a};delete V[Y],l(V),t.setSourceFile(((Pe=te.data)==null?void 0:Pe.root_document)??null)},kt=()=>{!g||!window.confirm("Discard this stale local draft?")||(window.localStorage.removeItem(Om(n.artifact_id)),l(c),d((L==null?void 0:L.version_id)??null),v(!1),w(null))},ot=()=>{J()&&(i(),q&&F.current&&(F.current=!1,window.history.back()))},kn=()=>{if(!L||L.compile_status!=="failed"||L.repair_exhausted)return;const V=(L.compile_diagnostics??[]).slice(0,20).map(Se=>`${Se.file??"project"}${Se.line?`:${Se.line}`:""}: ${Se.message}`).join(` +`);t.askAiToFix(`Repair the failed paper source version ${L.version_id}. Use pwc-paper to inspect and repair it; make no more than three attempts. Compiler diagnostics: +${V||"No compiler diagnostic was available."}`)},$t=V=>{!V||!ie("files")||t.setSourceFile(V)};return S.jsxs("section",{ref:O,className:`chat-artifact-panel${q?" is-dialog":" is-docked"}`,role:q?"dialog":"complementary","aria-modal":q?!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:[L?`Source v${L.version} · ${L.compile_status}`:"Preparing paper source",U?" · 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),k(!_)},children:"Version history"}),S.jsx("button",{type:"button","data-artifact-close":!0,"aria-label":q?"Back to conversation":"Close paper",onClick:ot,children:S.jsx(x_,{})})]})]}),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:()=>ie("preview"),onKeyDown:he,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:()=>ie("files"),onKeyDown:he,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"?z.isError?S.jsxs("div",{role:"alert",children:["Could not load paper details. ",S.jsx("button",{type:"button",onClick:()=>void z.refetch(),children:"Retry paper details"})]}):H?S.jsx(aZ,{url:H,downloadUrl:xQ(n.artifact_id),paperKey:`${n.artifact_id}:${ee==null?void 0:ee.version_id}`,paperTitle:n.title,paperHref:"/chat",chrome:"canvas"},ee==null?void 0:ee.version_id):L?L.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(L.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:[ae.map(V=>S.jsx("button",{type:"button","aria-pressed":Y===V.path,onClick:()=>_e(V.path),children:V.path},V.path)),ue&&S.jsxs("button",{type:"button",className:"latex-file-action","aria-label":"Add TeX file",onClick:Je,children:[S.jsx(KN,{})," Add file"]}),ue&&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:V=>{var Pe;const Se=(Pe=V.currentTarget.files)==null?void 0:Pe[0];V.currentTarget.value="",Se&&M.mutate(Se)}})]}),ge.map(V=>L&&S.jsx("a",{href:kQ(n.artifact_id,L.version_id,V.path),download:!0,children:V.path},V.path))]}),S.jsxs("div",{className:"latex-editor-column",children:[Y&&a[Y]!==void 0?S.jsx(wQ,{path:Y,value:a[Y],readOnly:!ue,onChange:V=>l({...a,[Y]:V})}):S.jsx("p",{children:B.isError?"Source could not be loaded.":"Loading source…"}),ue&&Y&&Y!==((sn=te.data)==null?void 0:sn.root_document)&&S.jsxs("div",{className:"latex-file-buttons",children:[S.jsxs("button",{type:"button",onClick:Ct,children:[S.jsx(bC,{})," Rename"]}),S.jsxs("button",{type:"button",onClick:pt,children:[S.jsx(jN,{})," Delete"]})]})]})]}),_&&S.jsxs("section",{id:"paper-version-history",className:"chat-artifact-history","aria-label":"Paper version history",children:[S.jsx("h3",{children:"Version history"}),Q.isLoading&&S.jsx("p",{children:"Loading history…"}),Q.isError&&S.jsx("p",{role:"alert",children:"Paper history could not be loaded."}),(us=Q.data)==null?void 0:us.items.map(V=>{var Se,Pe,rt,Nt;return S.jsxs("article",{children:[S.jsxs("strong",{children:["v",V.version," · ",V.compile_status]}),S.jsx("span",{children:CQ(V)}),V.created_at&&S.jsx("time",{dateTime:V.created_at,children:V.created_at}),V.parent_version_id&&S.jsxs("span",{children:["Parent ",oe.has(V.parent_version_id)?`v${oe.get(V.parent_version_id)}`:V.parent_version_id]}),(Se=V.provenance)!=null&&Se.changed_files.length?S.jsxs("span",{children:["Changed: ",V.provenance.changed_files.join(", ")]}):null,((Pe=V.provenance)==null?void 0:Pe.restored_from_version_id)&&S.jsxs("span",{children:["Restored from ",V.provenance.restored_from_version_id]}),((rt=V.provenance)==null?void 0:rt.change_summary)&&S.jsx("p",{children:V.provenance.change_summary}),(Nt=V.provenance)==null?void 0:Nt.reference_changes.map(_i=>S.jsx("p",{children:_i},_i)),S.jsx("a",{href:lC(n.artifact_id,V.version_id),download:!0,children:"Source ZIP"}),(K==null?void 0:K.editing_enabled)&&(L==null?void 0:L.version_id)&&V.version_id!==L.version_id&&S.jsxs("button",{type:"button",disabled:N.isPending||D,onClick:()=>N.mutate(V.version_id),children:["Restore version ",V.version]})]},V.version_id)}),(($c=Q.data)==null?void 0:$c.next_cursor)&&S.jsx("button",{type:"button",onClick:()=>$(Q.data.next_cursor??null),children:"Load older versions"})]})]}),S.jsxs("footer",{children:[S.jsxs("div",{className:"chat-artifact-metadata","aria-live":"polite",children:[U&&S.jsx("strong",{children:"Out of date"}),(La=L==null?void 0:L.compile_diagnostics)==null?void 0:La.map((V,Se)=>S.jsxs("button",{type:"button",onClick:()=>$t(V.file),className:"latex-compile-diagnostic",children:[V.file?`${V.file}${V.line?`:${V.line}`:""}: `:"",V.message]},`${V.file??"global"}:${V.line??""}:${Se}`)),y&&S.jsx("span",{role:"alert",children:y}),g&&S.jsx("button",{type:"button",onClick:kt,children:"Discard stale local draft"})]}),S.jsxs("div",{className:"chat-artifact-actions",children:[(L==null?void 0:L.compile_status)==="failed"&&!L.repair_exhausted&&S.jsx("button",{type:"button",onClick:kn,children:"Ask AI to fix"}),(L==null?void 0:L.compile_status)==="failed"&&L.repair_exhausted&&S.jsx("span",{role:"status",children:"AI repair attempts exhausted"}),t.state.tab==="files"&&ue&&S.jsxs("button",{type:"button",disabled:!D,onClick:()=>P.mutate(),children:[S.jsx(XN,{}),P.isPending?"Saving…":"Save & Compile"]}),L&&S.jsxs("a",{href:lC(n.artifact_id,L.version_id),download:!0,children:[S.jsx($_,{})," Source ZIP"]})]})]})]})},TQ="https://github.com/Chenruishuo/posterly/tree/b9f42e5578a49a27525a68f85376bb3bb25af86f";function PQ(){if(typeof window>"u")return null;const n=window.location.pathname.match(/^\/share\/([^/]+)/u);return n?decodeURIComponent(n[1]):null}function yN(n){if(n.scope==="public"){const s=PQ();if(!s||!n.public_capability)return null;const i=`/api/v1/chat/shares/${encodeURIComponent(s)}/artifacts/${encodeURIComponent(n.public_capability)}`;return{preview:ln(`${i}/preview`),png:ln(`${i}/download/png`),pdf:ln(`${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)=>ln(`${e}/${s}/${i.split("/").map(encodeURIComponent).join("/")}`);return{preview:ln(`${e}/preview`),png:t("download","poster.png"),pdf:null,manifest:ln(`${e}/manifest`),source:s=>t("source",s),gate:s=>t("source",s),download:s=>t("download",s)}}const vN=n=>({passed:"Passed",warnings:"Passed with warnings",failed:"Draft—checks failed"})[n??"passed"];function RQ(){const[n,e]=se.useState(()=>{var t;return typeof window<"u"&&((t=window.matchMedia)==null?void 0:t.call(window,"(max-width: 760px)").matches)});return se.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 MQ=({forceDialog:n=!1,readerFallback:e=!1})=>{var A,$,E,O;const t=Vp(),s=t.close,{state:i}=t,r=i.selected,o=RQ(),a=n||o,l=se.useRef(null),c=se.useRef(!1),h=fa({queryKey:["chat-artifact-versions",r==null?void 0:r.artifact_id],queryFn:async()=>{const F=await fetch(ln(`/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=(A=h.data)==null?void 0:A.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?yN(d):null,g=fa({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=fa({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(se.useEffect(()=>{var q,D;if(!i.open||!a)return;(D=(q=l.current)==null?void 0:q.querySelector("[data-artifact-close]"))==null||D.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]),se.useEffect(()=>{if(!i.open||!a)return;const F=q=>{if(q.key==="Escape"){q.preventDefault(),s(),c.current&&(c.current=!1,window.history.back());return}if(q.key!=="Tab"||!l.current)return;const D=[...l.current.querySelectorAll('button:not([disabled]), a[href], select:not([disabled]), [tabindex]:not([tabindex="-1"])')];if(!D.length)return;const z=D[0],K=D.at(-1);q.shiftKey&&document.activeElement===z?(q.preventDefault(),K.focus()):!q.shiftKey&&document.activeElement===K&&(q.preventDefault(),z.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,k=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(x_,{})})]}),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:vN(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(BA,{})," PNG"]}),d.gate_status!=="failed"&&k&&S.jsxs("a",{href:k,download:!0,children:[S.jsx(BA,{})," PDF"]}),d.scope==="owner"&&g&&p.source&&S.jsxs("a",{href:p.source(g.entrypoint),download:!0,children:[S.jsx($_,{})," 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:TQ,target:"_blank",rel:"noreferrer",children:[S.jsx(vC,{})," Posterly source · AGPL-3.0"]})]})]})]})},hC=n=>{var t;const{state:e}=Vp();return((t=e.selected)==null?void 0:t.artifact_kind)==="latex_paper"?S.jsx($Q,{block:e.selected,...n}):S.jsx(MQ,{...n})},IQ=({block:n})=>{const e=Vp(),t=e.register,s=e.unregister,i=A_(n);if(se.useEffect(()=>{t(n)},[n,t]),se.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($_,{"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=yN(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(ZN,{"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:vN(n.gate_status)})]})]})};function OQ(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 NQ(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 LQ(n,e=240){const t=n.content.trim();return t.length<=e?t:`${t.slice(0,e).trimEnd()}…`}const DQ="https://huggingface.co/pro",FQ="https://huggingface.co/docs/inference-providers/pricing",jQ="https://paperswithcode.co/chat",bN=()=>S.jsx("span",{className:"chat-caret"}),zQ=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},HQ=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(GN,{size:13,"aria-hidden":"true"}),S.jsx(C_,{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})},qQ=({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(E_,{})," ",S.jsx("span",{children:"Thinking…"})]}),S.jsxs("div",{className:"chat-reason-live-body chat-answer chat-reason-markdown",children:[S.jsx($v,{text:n.text,streaming:!0,papers:e,citations:t,webCitations:s}),S.jsx(bN,{})]})]}):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(NN,{}),S.jsx("span",{children:"Thought for a few seconds"}),S.jsx(yC,{open:n.open})]}),n.open&&S.jsx("div",{className:"chat-reason-done-body chat-answer chat-reason-markdown",children:S.jsx($v,{text:n.text,papers:e,citations:t,webCitations:s})})]}),UQ=({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(E_,{}):S.jsx(LN,{}),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(yC,{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(_C,{routeId:v.route_id,paper:e[v.route_id],className:"chat-hit-title",children:v.title})}),S.jsx("div",{className:"chat-hit-meta",children:[OQ(v.metadata),NQ(v.metadata)].filter(Boolean).join(" · ")}),S.jsxs("div",{className:"chat-hit-snippet",children:[LQ(v),v.content_truncated&&S.jsx("span",{className:"chat-hit-truncated",children:" (truncated)"})]})]},v.route_id))})]})]})]})},VQ=({block:n,papers:e,citations:t,webCitations:s,streaming:i})=>S.jsxs("div",{className:"chat-answer",children:[S.jsx($v,{text:n.text,streaming:i,papers:e,citations:t,webCitations:s}),i&&!!n.text.trim()&&S.jsx(bN,{})]}),WQ=({block:n})=>S.jsx(OK,{block:n}),wN=n=>{const e=se.useRef(null),t=se.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 se.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}},GQ=({id:n,text:e,paperSelection:t,editNotice:s,onCancel:i,onResend:r,onResendDraft:o})=>{const[a,l]=se.useState(e),[c,h]=se.useState(t),[u,d]=se.useState(!1),{textareaRef:p,resize:m}=wN(e);se.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(By,{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"})]})]})})},KQ=({id:n,text:e,paperMentions:t,paperSelection:s,enabled:i,editNotice:r,onCancel:o,onResend:a,onResendDraft:l})=>{const[c,h]=se.useState({text:e,paperMentions:t,...s?{paperSelection:s}:{}}),[u,d]=se.useState(!1),[p,m]=se.useState(0),{textareaRef:g,resize:v}=wN(e),y=pC({draft:c,onChange:h,enabled:i,textareaRef:g});se.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(By,{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(mC,{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:k=>y.updateText(k.target.value,k.target.selectionStart),onSelect:k=>y.refresh(k.currentTarget.selectionStart),onScroll:k=>m(k.currentTarget.scrollTop),onKeyDown:k=>{y.keyDown(k)||(k.key==="Escape"?(k.preventDefault(),o==null||o()):k.key==="Enter"&&!k.shiftKey&&!k.nativeEvent.isComposing&&(k.preventDefault(),_()))}}),S.jsx(gC,{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"})]})]})})},Aee=({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]=se.useState(!1),m=se.useRef(null);se.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(GQ,{id:n,text:e,paperSelection:s,editNotice:a,onCancel:c,onResend:h,onResendDraft:u}):S.jsx(KQ,{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(By,{selection:s}),S.jsx("div",{className:"chat-bubble",onDoubleClick:HQ,children:S.jsx(BQ,{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(CN,{"aria-hidden":"true"}):S.jsx(WN,{"aria-hidden":"true"})}),r&&S.jsx("button",{type:"button",className:"chat-user-action","aria-label":"Edit message",title:"Edit",onClick:l,children:S.jsx(bC,{"aria-hidden":"true"})})]})]})})},kee=({msg:n,papers:e,onToggleBlock:t,onRetryCompaction:s,onArchiveOldChats:i,onArchiveOldestChats:r,archivePending:o=null,hfBilling:a=null,openRouterFallbackEnabled:l=!1,feedbackEnabled:c=!1})=>{var O,F,q,D;const[h,u]=se.useState(null),[d,p]=se.useState(!1),[m,g]=se.useState(!1),[v,y]=se.useState(!1),[w,_]=se.useState(""),k=se.useRef(null),A=`chat-feedback-panel-${n.id}`,$=c&&!n.streaming&&!n.error&&!!((O=n.blocks)!=null&&O.some(z=>z.kind==="answer"&&z.text.trim()));se.useEffect(()=>{var z;v&&((z=k.current)==null||z.focus())},[v]);const E=async(z,K)=>{if(!d){p(!0),g(!1);try{K===void 0?await HA.reportFeedback(n.id,z):await HA.reportFeedback(n.id,z,K),u(z),y(!1),_("")}catch{g(!0)}finally{p(!1)}}};return S.jsx("div",{className:"chat-msg chat-msg-assistant",children:S.jsxs("div",{className:"chat-msg-blocks",children:[(F=n.blocks)==null?void 0:F.map((z,K)=>{var ae;const L=`${n.id}-${K}`,ee="citations"in z&&z.citations!==void 0?z.citations:n.citations??[],Q=Object.fromEntries(ee.filter(ge=>(ge.kind==="catalog_paper"||ge.kind==="paper"||!ge.kind&&ge.route_id)&&ge.route_id).map(ge=>[ge.route_id,ge])),te=Object.fromEntries(ee.filter(ge=>(ge.kind==="external_source"||ge.kind==="web")&&ge.url).map(ge=>[ge.url,ge]));return z.kind==="reasoning"?S.jsx(qQ,{block:z,papers:e,citations:Q,webCitations:te,onToggle:()=>t(n.id,K)},L):z.kind==="tool"?S.jsx(UQ,{block:z,papers:e,onToggle:()=>t(n.id,K)},L):z.kind==="app"?S.jsx(WQ,{block:z},z.instance_id||L):z.kind==="artifact"?S.jsx(IQ,{block:z},z.publication_id||z.version_id||L):S.jsx(VQ,{block:z,papers:e,citations:Q,webCitations:te,streaming:!!(n.streaming&&K===(((ae=n.blocks)==null?void 0:ae.length)??0)-1)},L)}),n.streaming&&n.compacting&&S.jsx(eL,{}),!n.compacting&&zQ(n)&&S.jsx("div",{className:"chat-waiting",role:"status","aria-live":"polite",children:S.jsx("span",{className:"chat-thinking",children:(((q=n.blocks)==null?void 0:q.length)??0)===0?n.status??"Thinking…":"Thinking…"})}),n.error&&S.jsxs("div",{className:"chat-error",children:[((D=n.blocks)==null?void 0:D.some(z=>z.kind==="answer"&&z.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:[(a==null?void 0:a.account_type)==="Free"&&!a.bill_to?S.jsx("a",{href:DQ,target:"_blank",rel:"noreferrer",children:"Upgrade to Hugging Face PRO — $9/month for 20× more included credits"}):S.jsx("a",{href:(a==null?void 0:a.usage_url)??"/settings",target:a?"_blank":void 0,rel:a?"noreferrer":void 0,children:"Review Hugging Face usage and billing"}),S.jsx("a",{href:FQ,target:"_blank",rel:"noreferrer",children:"Inference Providers pricing and billing details"})]}),n.errorCode==="openrouter_monthly_budget_exhausted"&&S.jsxs(S.Fragment,{children:[l?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:jQ,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"&&(i||r)&&S.jsxs("span",{className:"chat-error-actions",children:[i&&S.jsx("button",{type:"button",disabled:o!==null,onClick:i,children:o==="old"?"Archiving…":"Archive chats older than 30 days"}),r&&S.jsx("button",{type:"button",disabled:o!==null,onClick:r,children:o==="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," ")}).`}),$&&S.jsxs("div",{className:"chat-feedback","aria-label":"Rate this response",children:[S.jsx("span",{className:"chat-feedback-label",children:h===null?"Was this helpful?":"Thanks for your feedback"}),S.jsx("button",{type:"button",className:`chat-feedback-action${h===!0?" chat-feedback-action-selected":""}`,"aria-label":"Helpful response","aria-pressed":h===!0,disabled:d,onClick:()=>{y(!1),E(!0)},children:S.jsx(JN,{"aria-hidden":"true"})}),S.jsx("button",{type:"button",className:`chat-feedback-action${h===!1?" chat-feedback-action-selected":""}`,"aria-label":"Unhelpful response","aria-pressed":h===!1,"aria-expanded":v,"aria-controls":A,disabled:d,onClick:()=>{g(!1),y(!0)},children:S.jsx(YN,{"aria-hidden":"true"})}),m&&S.jsx("span",{className:"chat-feedback-error",role:"status",children:"Couldn’t send feedback."})]}),$&&v&&S.jsxs("div",{className:"chat-feedback-panel",id:A,role:"group","aria-labelledby":`${A}-title`,children:[S.jsx("div",{className:"chat-feedback-panel-title",id:`${A}-title`,children:"Additional feedback"}),S.jsx("label",{className:"chat-feedback-panel-label",htmlFor:`${A}-comment`,children:"Tell us what went wrong (optional)"}),S.jsx("textarea",{ref:k,id:`${A}-comment`,className:"chat-feedback-comment",value:w,maxLength:500,rows:4,disabled:d,onChange:z=>_(z.target.value),onKeyDown:z=>{z.key==="Escape"&&(z.preventDefault(),y(!1))}}),S.jsxs("div",{className:"chat-feedback-panel-actions",children:[S.jsx("button",{type:"button",className:"chat-feedback-skip",disabled:d,onClick:()=>void E(!1),children:"Skip"}),S.jsx("button",{type:"button",className:"chat-feedback-submit",disabled:d,onClick:()=>void E(!1,w.trim()||void 0),children:d?"Submitting…":"Submit"})]})]})]})})},ZQ={chat:{breakpoint:760,left:360,right:360},shared:{breakpoint:760,left:360,right:360},reader:{breakpoint:1260,left:840,right:420}};function Va(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 xee=({children:n,variant:e})=>{var w;const t=Vp(),s=ZQ[e],i=se.useRef(null),r=se.useRef(null),o=se.useRef(null),a=se.useRef(null),[l,c]=se.useState(0),h=se.useRef(!1),u=se.useRef(t.state.panelPercent);se.useLayoutEffect(()=>{const _=i.current;if(!_)return;const k=()=>c(_.clientWidth||window.innerWidth);if(k(),typeof ResizeObserver>"u")return;const A=new ResizeObserver(k);return A.observe(_),()=>A.disconnect()},[]);const d=t.state.open&&l>=s.breakpoint,p=Va(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 A;const k=Va(l,_,s.left,s.right);u.current=k,r.current&&(r.current.style.width=`${100-k}%`),o.current&&(o.current.style.width=`${k}%`),(A=a.current)==null||A.setAttribute("aria-valuenow",String(Math.round(k)))},v=_=>{var A;const k=(A=i.current)==null?void 0:A.getBoundingClientRect();k!=null&&k.width&&g((k.right-_)/k.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(Va(l,0,s.left,s.right)),"aria-valuemax":Math.floor(Va(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(Va(l,p+(_.key==="ArrowLeft"?2:-2),s.left,s.right))),_.key==="Home"&&t.setPanelPercent(Va(l,25,s.left,s.right)),_.key==="End"&&t.setPanelPercent(Va(l,75,s.left,s.right))}}),S.jsx("div",{ref:o,className:"chat-artifact-workspace-pane",style:{width:`${p}%`},children:S.jsx(hC,{})})]}),t.state.open&&!d&&S.jsx(hC,{forceDialog:!0,readerFallback:e==="reader"})]})};export{See as A,dee as C,aZ as P,Aee as U,xee as a,kee as b,_ee as c,A_ as d,Vp as u};