diff --git "a/assets/ArtifactWorkspace-CJ1HK4Ql.js" "b/assets/ArtifactWorkspace-CJ1HK4Ql.js" new file mode 100644--- /dev/null +++ "b/assets/ArtifactWorkspace-CJ1HK4Ql.js" @@ -0,0 +1,158 @@ +var kN=Object.defineProperty;var Fk=n=>{throw TypeError(n)};var AN=(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)=>AN(n,typeof e!="symbol"?e+"":e,t),M0=(n,e,t)=>e.has(n)||Fk("Cannot "+t);var f=(n,e,t)=>(M0(n,e,"read from private field"),t?t.call(n):e.get(n)),R=(n,e,t)=>e.has(n)?Fk("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),$=(n,e,t,s)=>(M0(n,e,"write to private field"),s?s.call(n,t):e.set(n,t),t),T=(n,e,t)=>(M0(n,e,"access private method"),t);var us=(n,e,t,s)=>({set _(i){$(n,e,i,t)},get _(){return f(n,e,s)}});import{g as Ra,r as X,j as S,F as se,L as $v,V as xN,Z as x_,K as an,_ as Gp,$ as jy,X as E_,a0 as EN,m as fC,l as CN}from"./index-B9MfhMLC.js";import{u as pC,P as mC,b as gC,M as $N,R as TN,W as PN,d as C_,A as RN,l as MN,K as IN,L as ON,N as NN,O as yC,Q as LN}from"./chatLaunch-CsBovBmE.js";/* empty css */import{H as vp,a as bp,b as wp}from"./hover-card-Bv4bJws5.js";import{u as yo}from"./useQuery-Bx81pmgm.js";import{f as DN,p as FN,T as jN}from"./github-CE1K0ZU_.js";import{G as zy}from"./github-D0bNa_Wx.js";import{c as I0}from"./catalog-BqDz3O_s.js";import{r as zN,a as HN,P as $_,c as BN}from"./PaperPreviewLink-B3LP-qo2.js";import{M as qN,d as UN}from"./index-10yxmORR.js";import{r as VN}from"./index-CSRWQTrf.js";import{c as jk}from"./chat-BZn2Yz-P.js";import{C as WN}from"./copy-407Yr7lh.js";import{F as GN}from"./file-text-B14SZiZO.js";import{u as Kp}from"./useMutation-C2athD5k.js";import{E as vC}from"./external-link-tLC4XD6r.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 zk=Ra("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 T_=Ra("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=Ra("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=Ra("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=Ra("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=Ra("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=Ra("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=Ra("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 Hy({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:b,paperArtifactsEnabled:_=!1})=>{const[k,A]=X.useState(QN),C=i??k,E=X.useRef(null),[O,F]=X.useState(0),U=Q=>{i||A(Q),r==null||r(Q)},L=pC({draft:C,onChange:U,enabled:d,textareaRef:E});X.useEffect(()=>{const Q=E.current;Q&&(Q.style.height="auto",Q.style.height=`${Math.min(Q.scrollHeight,200)}px`)},[C.text]),X.useEffect(()=>{var Q;s&&((Q=E.current)==null||Q.focus())},[s]);const q=()=>{const Q=C.text.length-C.text.trimStart().length,te=C.text.trim(),ae=!!C.paperSelection&&!p;if(!te||e||h||ae)return;const Se=Q+te.length,z={text:te,paperMentions:C.paperMentions.filter(P=>P.start>=Q&&P.end<=Se).map(P=>({...P,start:P.start-Q,end:P.end-Q})),...C.paperSelection?{paperSelection:C.paperSelection}:{}};n(z)},B=!!C.paperSelection&&!p,N=!!C.text.trim()&&!B,ee=_&&C.text==="/";return S.jsxs("div",{className:"chat-composer ph-no-capture","data-ph-no-autocapture":"true","data-ph-no-capture":"true",children:[C.paperSelection&&S.jsx(Hy,{selection:C.paperSelection,editable:!0,onRemove:()=>{var Q;U({text:C.text,paperMentions:C.paperMentions}),(Q=E.current)==null||Q.focus()}}),B&&S.jsx("div",{className:"chat-paper-selection-disabled",role:"status",children:"Paper selection is currently disabled. Remove the selected passage or wait for the feature to recover."}),S.jsxs("div",{className:"chat-composer-textarea-wrap",children:[S.jsx(mC,{text:C.text,mentions:C.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:C.text,placeholder:t||(C.paperSelection?"Ask about this selection…":"Ask anything about research…"),onChange:Q=>L.updateText(Q.target.value,Q.target.selectionStart),onSelect:Q=>L.refresh(Q.currentTarget.selectionStart),onClick:Q=>L.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(L.close,0)},onKeyDown:Q=>{L.keyDown(Q)||Q.key==="Enter"&&!Q.shiftKey&&!Q.nativeEvent.isComposing&&(Q.preventDefault(),q())},role:"combobox","aria-expanded":L.open||ee,"aria-controls":L.open?L.pickerId:ee?"chat-write-paper-command":void 0,"aria-activedescendant":L.open&&L.results.length?`${L.optionIdPrefix}-${L.activeIndex}`:ee?"chat-write-paper-command":void 0,"aria-autocomplete":"list","aria-describedby":[u,L.message?"chat-paper-mention-message":null].filter(Boolean).join(" ")||void 0}),S.jsx(gC,{open:L.open,query:L.query,results:L.results,activeIndex:L.activeIndex,loading:L.loading,error:L.error,onSelect:L.select,id:L.pickerId,optionIdPrefix:L.optionIdPrefix}),ee&&S.jsxs("button",{type:"button",id:"chat-write-paper-command",className:"chat-slash-command",role:"option",onMouseDown:Q=>{var te;Q.preventDefault(),U({...C,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"})]})]}),L.message&&S.jsx("div",{id:"chat-paper-mention-message",className:"chat-paper-mention-message",role:"alert",children:L.message}),S.jsxs("div",{className:"chat-composer-row",children:[S.jsxs("div",{className:"chat-composer-tools",children:[a.length>0&&l&&c&&S.jsx($N,{models:a,selectedModel:l,onModelChange:c,disabled:e}),b&&S.jsx(TN,{value:y,onChange:b,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||N?" chat-send-on":""}`,onClick:e?o:q,disabled:h||(e?!o:!N),"aria-label":e?"Stop generating":"Send message",children:e?o?S.jsx("span",{"aria-hidden":"true",children:"■"}):S.jsx(C_,{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(vp,{open:t,onOpenChange:o=>{(!o||!iL())&&s(o)},openDelay:150,closeDelay:100,children:[S.jsx(bp,{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(wp,{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(zy,{})}),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=yo({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(vp,{open:t,onOpenChange:h=>{(!h||!aL())&&s(h)},openDelay:150,closeDelay:100,children:[S.jsx(bp,{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(zy,{"aria-hidden":"true"}),e]})}),S.jsx(wp,{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(vp,{open:t,onOpenChange:r=>{(!r||!hL())&&s(r)},openDelay:150,closeDelay:100,children:[S.jsx(bp,{asChild:!0,children:S.jsx("a",{href:i,className:"chat-web-citation",target:"_blank",rel:"noopener noreferrer",children:e})}),S.jsx(wp,{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(vp,{open:t,onOpenChange:i=>{(!i||!pL())&&s(i)},openDelay:150,closeDelay:100,children:[S.jsx(bp,{asChild:!0,children:S.jsx("a",{href:n.url??"",className:"chat-external-paper-citation",target:"_blank",rel:"noopener noreferrer",children:e})}),S.jsx(wp,{className:"external-paper-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:S.jsx(gL,{citation:n})})]})},vL=/^(task|method|benchmark):([A-Za-z0-9][A-Za-z0-9._-]{0,199})$/;function bL(n){const e=vL.exec(n);return e?{kind:e[1],slug:e[2]}:null}const _C=n=>/^(task|method|benchmark):/.test(n),wL={task:"/tasks/",method:"/methods/",benchmark:"/benchmark/"},_L={task:"Task",method:"Method",benchmark:"Benchmark"},SL={task:["paper","papers"],method:["paper","papers"],benchmark:["entry","entries"]};async function kL({kind:n,slug:e}){if(n==="task"){const s=await I0.getTask(e);return{name:s.name,description:s.description??null,imageUrl:s.image_url??null,count:s.paper_count??null,detail:null}}if(n==="method"){const s=await I0.getMethod(e);return{name:s.full_name||s.name,description:s.description??null,imageUrl:s.image_url??null,count:s.paper_count??null,detail:s.introduced_year?`Introduced ${s.introduced_year}`:null}}const t=await I0.getDatasetBySlug(e);return{name:t.full_name||t.name,description:t.description??null,imageUrl:null,count:t.paper_count??null,detail:t.introduced_year?`Introduced ${t.introduced_year}`:null}}function AL(n){return n.replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/[*_`#>]+/g,"").replace(/\s+/g," ").trim()}const xL=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches,EL=({kind:n,preview:e})=>{const[t,s]=se.useState(!1),i=xN(e.imageUrl),r=[e.count!=null?`${e.count.toLocaleString()} ${SL[n][e.count===1?0:1]}`:null,e.detail].filter(Boolean);return S.jsxs("div",{className:"catalog-preview-card",children:[i&&!t&&S.jsx("img",{className:"catalog-preview-image","data-testid":"catalog-preview-image",src:i,alt:"",loading:"lazy",decoding:"async",onError:()=>s(!0)}),S.jsxs("div",{className:"catalog-preview-meta",children:[S.jsx("span",{className:"catalog-preview-kind",children:_L[n]}),S.jsx("strong",{children:e.name}),e.description&&S.jsx("p",{children:AL(e.description)}),r.length>0&&S.jsx("span",{className:"catalog-preview-stats",children:r.join(" · ")})]})]})},CL=({entity:n,children:e})=>{const[t,s]=se.useState(!1),i=yo({queryKey:["chat-catalog-preview",n.kind,n.slug],queryFn:()=>kL(n),enabled:t,staleTime:10*60*1e3,gcTime:30*60*1e3,retry:!1});return S.jsxs(vp,{open:t,onOpenChange:r=>{(!r||!xL())&&s(r)},openDelay:150,closeDelay:100,children:[S.jsx(bp,{asChild:!0,children:S.jsx($v,{className:"chat-paper-link",to:`${wL[n.kind]}${encodeURIComponent(n.slug)}`,target:"_blank",rel:"noopener noreferrer",onClick:()=>s(!1),children:e})}),S.jsx(wp,{className:"catalog-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:i.data?S.jsx(EL,{kind:n.kind,preview:i.data}):i.isError?S.jsx("div",{className:"paper-preview-status",children:"Preview unavailable"}):S.jsx("div",{className:"paper-preview-status","aria-live":"polite",children:"Loading preview…"})})]})};function $L(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 qk(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 SC=({routeId:n,paper:e,citation:t,className:s="chat-paper-link",children:i})=>S.jsx($_,{routeId:n,initialData:PL(n,e,t),className:s,target:"_blank",children:i});function RL(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 ML=n=>n.startsWith("paper:")||_C(n)?n:UN(n);function IL(n){try{const e=new URL(n);return e.protocol==="https:"&&(e.hostname==="github.com"||e.hostname==="www.github.com")}catch{return!1}}const Tv=({text:n,streaming:e,papers:t,citations:s,webCitations:i})=>{const r=TL(e?RL(n):n);return S.jsx(qN,{remarkPlugins:[VN,HN],rehypePlugins:[zN],urlTransform:ML,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(SC,{routeId:h,paper:t[h],citation:s==null?void 0:s[h],children:a})}if(o&&_C(o)){const h=bL(o);return h?S.jsx(CL,{entity:h,children:a}):S.jsx("span",{className:"chat-invalid-citation",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&&IL(o)?S.jsxs("a",{href:o,className:"chat-github-link",target:"_blank",rel:"noopener noreferrer",children:[S.jsx(zy,{"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})},OL=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 jd extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const kC={};function _a(n){return kC}function NL(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 LL(n,e){return typeof e=="bigint"?e.toString():e}function P_(n){return{get value(){{const e=n();return Object.defineProperty(this,"value",{value:e}),e}}}}function R_(n){return n==null}function M_(n){const e=n.startsWith("^")?1:0,t=n.endsWith("$")?n.length-1:n.length;return n.slice(e,t)}function DL(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 Mt(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 By(n,e,t){Object.defineProperty(n,e,{value:t,writable:!0,enumerable:!0,configurable:!0})}function Du(n){return JSON.stringify(n)}const AC=Error.captureStackTrace?Error.captureStackTrace:(...n)=>{};function Rg(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}const FL=P_(()=>{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 Mg(n){if(Rg(n)===!1)return!1;const e=n.constructor;if(e===void 0)return!0;const t=e.prototype;return!(Rg(t)===!1||Object.prototype.hasOwnProperty.call(t,"isPrototypeOf")===!1)}const jL=new Set(["string","number","symbol"]);function _p(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 ke(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 zL(n){return Object.keys(n).filter(e=>n[e]._zod.optin==="optional"&&n[e]._zod.optout==="optional")}const HL={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 BL(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 qL(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 UL(n,e){if(!Mg(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 By(this,"shape",s),s},checks:[]};return kc(n,t)}function VL(n,e){return kc(n,{...n._zod.def,get shape(){const t={...n._zod.def.shape,...e._zod.def.shape};return By(this,"shape",t),t},catchall:e._zod.def.catchall,checks:[]})}function WL(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 GL(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 wd(n,e=0){var t;for(let s=e;s{var s;return(s=t).path??(s.path=[]),t.path.unshift(n),t})}function Zp(n){return typeof n=="string"?n:n==null?void 0:n.message}function Sa(n,e,t){var i,r,o,a,l,c;const s={...n,path:n.path??[]};if(!n.message){const h=Zp((o=(r=(i=n.inst)==null?void 0:i._zod.def)==null?void 0:r.error)==null?void 0:o.call(r,n))??Zp((a=e==null?void 0:e.error)==null?void 0:a.call(e,n))??Zp((l=t.customError)==null?void 0:l.call(t,n))??Zp((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 I_(n){return Array.isArray(n)?"array":typeof n=="string"?"string":"unknown"}function zd(...n){const[e,t,s]=n;return typeof e=="string"?{message:e,code:"custom",input:t,inst:s}:{...e}}const xC=(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,LL,2)},enumerable:!0}),Object.defineProperty(n,"toString",{value:()=>n.message,enumerable:!1})},EC=ne("$ZodError",xC),CC=ne("$ZodError",xC,{Parent:Error});function KL(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 ZL(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 jd;if(o.issues.length){const a=new((i==null?void 0:i.Err)??n)(o.issues.map(l=>Sa(l,r,_a())));throw AC(a,i==null?void 0:i.callee),a}return o.value},YL=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=>Sa(l,r,_a())));throw AC(a,i==null?void 0:i.callee),a}return o.value},$C=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 jd;return r.issues.length?{success:!1,error:new(n??EC)(r.issues.map(o=>Sa(o,i,_a())))}:{success:!0,data:r.value}},TC=$C(CC),PC=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=>Sa(o,i,_a())))}:{success:!0,data:r.value}},JL=PC(CC),QL=/^[cC][^\s-]{8,}$/,eD=/^[0-9a-z]+$/,tD=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,nD=/^[0-9a-vA-V]{20}$/,sD=/^[A-Za-z0-9]{27}$/,iD=/^[a-zA-Z0-9_-]{21}$/,rD=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,oD=/^([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})$/,Uk=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)$/,aD=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,lD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function cD(){return new RegExp(lD,"u")}const hD=/^(?:(?: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])$/,uD=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,dD=/^((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])$/,fD=/^(([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])$/,pD=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,RC=/^[A-Za-z0-9_-]*$/,mD=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,gD=/^\+(?:[0-9]){6,14}[0-9]$/,MC="(?:(?:\\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])))",yD=new RegExp(`^${MC}$`);function IC(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 vD(n){return new RegExp(`^${IC(n)}$`)}function bD(n){const e=IC({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(`^${MC}T(?:${s})$`)}const wD=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}$`)},_D=/^\d+$/,SD=/^-?\d+(?:\.\d+)?/i,kD=/true|false/i,AD=/null/i,xD=/undefined/i,ED=/^[^A-Z]*$/,CD=/^[^a-z]*$/,Ls=ne("$ZodCheck",(n,e)=>{var t;n._zod??(n._zod={}),n._zod.def=e,(t=n._zod).onattach??(t.onattach=[])}),OC={number:"number",bigint:"bigint",object:"date"},NC=ne("$ZodCheckLessThan",(n,e)=>{Ls.init(n,e);const t=OC[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{Ls.init(n,e);const t=OC[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})}}),$D=ne("$ZodCheckMultipleOf",(n,e)=>{Ls.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):DL(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})}}),TD=ne("$ZodCheckNumberFormat",(n,e)=>{var o;Ls.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]=HL[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=_D)}),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})}}),PD=ne("$ZodCheckMaxLength",(n,e)=>{var t;Ls.init(n,e),(t=n._zod.def).when??(t.when=s=>{const i=s.value;return!R_(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=I_(i);s.issues.push({origin:o,code:"too_big",maximum:e.maximum,inclusive:!0,input:i,inst:n,continue:!e.abort})}}),RD=ne("$ZodCheckMinLength",(n,e)=>{var t;Ls.init(n,e),(t=n._zod.def).when??(t.when=s=>{const i=s.value;return!R_(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=I_(i);s.issues.push({origin:o,code:"too_small",minimum:e.minimum,inclusive:!0,input:i,inst:n,continue:!e.abort})}}),MD=ne("$ZodCheckLengthEquals",(n,e)=>{var t;Ls.init(n,e),(t=n._zod.def).when??(t.when=s=>{const i=s.value;return!R_(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=I_(i),a=r>e.length;s.issues.push({origin:o,...a?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:s.value,inst:n,continue:!e.abort})}}),qy=ne("$ZodCheckStringFormat",(n,e)=>{var t,s;Ls.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=()=>{})}),ID=ne("$ZodCheckRegex",(n,e)=>{qy.init(n,e),n._zod.check=t=>{e.pattern.lastIndex=0,!e.pattern.test(t.value)&&t.issues.push({origin:"string",code:"invalid_format",format:"regex",input:t.value,pattern:e.pattern.toString(),inst:n,continue:!e.abort})}}),OD=ne("$ZodCheckLowerCase",(n,e)=>{e.pattern??(e.pattern=ED),qy.init(n,e)}),ND=ne("$ZodCheckUpperCase",(n,e)=>{e.pattern??(e.pattern=CD),qy.init(n,e)}),LD=ne("$ZodCheckIncludes",(n,e)=>{Ls.init(n,e);const t=_p(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})}}),DD=ne("$ZodCheckStartsWith",(n,e)=>{Ls.init(n,e);const t=new RegExp(`^${_p(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})}}),FD=ne("$ZodCheckEndsWith",(n,e)=>{Ls.init(n,e);const t=new RegExp(`.*${_p(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})}}),jD=ne("$ZodCheckOverwrite",(n,e)=>{Ls.init(n,e),n._zod.check=t=>{t.value=e.tx(t.value)}});class zD{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 HD={major:4,minor:0,patch:0},kt=ne("$ZodType",(n,e)=>{var i;var t;n??(n={}),n._zod.def=e,n._zod.bag=n._zod.bag||{},n._zod.version=HD;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=wd(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 jd;if(h||p instanceof Promise)h=(h??Promise.resolve()).then(async()=>{await p,o.issues.length!==d&&(c||(c=wd(o,d)))});else{if(o.issues.length===d)continue;c||(c=wd(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 jd;return l.then(c=>r(c,s,a))}return r(l,s,a)}}n["~standard"]={validate:r=>{var o;try{const a=TC(n,r);return a.success?{value:a.data}:{issues:(o=a.error)==null?void 0:o.issues}}catch{return JL(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}}),O_=ne("$ZodString",(n,e)=>{var t;kt.init(n,e),n._zod.pattern=[...((t=n==null?void 0:n._zod.bag)==null?void 0:t.patterns)??[]].pop()??wD(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}}),Ft=ne("$ZodStringFormat",(n,e)=>{qy.init(n,e),O_.init(n,e)}),BD=ne("$ZodGUID",(n,e)=>{e.pattern??(e.pattern=oD),Ft.init(n,e)}),qD=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=Uk(s))}else e.pattern??(e.pattern=Uk());Ft.init(n,e)}),UD=ne("$ZodEmail",(n,e)=>{e.pattern??(e.pattern=aD),Ft.init(n,e)}),VD=ne("$ZodURL",(n,e)=>{Ft.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:mD.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})}}}),WD=ne("$ZodEmoji",(n,e)=>{e.pattern??(e.pattern=cD()),Ft.init(n,e)}),GD=ne("$ZodNanoID",(n,e)=>{e.pattern??(e.pattern=iD),Ft.init(n,e)}),KD=ne("$ZodCUID",(n,e)=>{e.pattern??(e.pattern=QL),Ft.init(n,e)}),ZD=ne("$ZodCUID2",(n,e)=>{e.pattern??(e.pattern=eD),Ft.init(n,e)}),XD=ne("$ZodULID",(n,e)=>{e.pattern??(e.pattern=tD),Ft.init(n,e)}),YD=ne("$ZodXID",(n,e)=>{e.pattern??(e.pattern=nD),Ft.init(n,e)}),JD=ne("$ZodKSUID",(n,e)=>{e.pattern??(e.pattern=sD),Ft.init(n,e)}),QD=ne("$ZodISODateTime",(n,e)=>{e.pattern??(e.pattern=bD(e)),Ft.init(n,e)}),e2=ne("$ZodISODate",(n,e)=>{e.pattern??(e.pattern=yD),Ft.init(n,e)}),t2=ne("$ZodISOTime",(n,e)=>{e.pattern??(e.pattern=vD(e)),Ft.init(n,e)}),n2=ne("$ZodISODuration",(n,e)=>{e.pattern??(e.pattern=rD),Ft.init(n,e)}),s2=ne("$ZodIPv4",(n,e)=>{e.pattern??(e.pattern=hD),Ft.init(n,e),n._zod.onattach.push(t=>{const s=t._zod.bag;s.format="ipv4"})}),i2=ne("$ZodIPv6",(n,e)=>{e.pattern??(e.pattern=uD),Ft.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})}}}),r2=ne("$ZodCIDRv4",(n,e)=>{e.pattern??(e.pattern=dD),Ft.init(n,e)}),o2=ne("$ZodCIDRv6",(n,e)=>{e.pattern??(e.pattern=fD),Ft.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 DC(n){if(n==="")return!0;if(n.length%4!==0)return!1;try{return atob(n),!0}catch{return!1}}const a2=ne("$ZodBase64",(n,e)=>{e.pattern??(e.pattern=pD),Ft.init(n,e),n._zod.onattach.push(t=>{t._zod.bag.contentEncoding="base64"}),n._zod.check=t=>{DC(t.value)||t.issues.push({code:"invalid_format",format:"base64",input:t.value,inst:n,continue:!e.abort})}});function l2(n){if(!RC.test(n))return!1;const e=n.replace(/[-_]/g,s=>s==="-"?"+":"/"),t=e.padEnd(Math.ceil(e.length/4)*4,"=");return DC(t)}const c2=ne("$ZodBase64URL",(n,e)=>{e.pattern??(e.pattern=RC),Ft.init(n,e),n._zod.onattach.push(t=>{t._zod.bag.contentEncoding="base64url"}),n._zod.check=t=>{l2(t.value)||t.issues.push({code:"invalid_format",format:"base64url",input:t.value,inst:n,continue:!e.abort})}}),h2=ne("$ZodE164",(n,e)=>{e.pattern??(e.pattern=gD),Ft.init(n,e)});function u2(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 d2=ne("$ZodJWT",(n,e)=>{Ft.init(n,e),n._zod.check=t=>{u2(t.value,e.alg)||t.issues.push({code:"invalid_format",format:"jwt",input:t.value,inst:n,continue:!e.abort})}}),FC=ne("$ZodNumber",(n,e)=>{kt.init(n,e),n._zod.pattern=n._zod.bag.pattern??SD,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}}),f2=ne("$ZodNumber",(n,e)=>{TD.init(n,e),FC.init(n,e)}),p2=ne("$ZodBoolean",(n,e)=>{kt.init(n,e),n._zod.pattern=kD,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}}),m2=ne("$ZodUndefined",(n,e)=>{kt.init(n,e),n._zod.pattern=xD,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}}),g2=ne("$ZodNull",(n,e)=>{kt.init(n,e),n._zod.pattern=AD,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}}),y2=ne("$ZodAny",(n,e)=>{kt.init(n,e),n._zod.parse=t=>t}),v2=ne("$ZodUnknown",(n,e)=>{kt.init(n,e),n._zod.parse=t=>t}),b2=ne("$ZodNever",(n,e)=>{kt.init(n,e),n._zod.parse=(t,s)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:n}),t)});function Vk(n,e,t){n.issues.length&&e.issues.push(...rl(t,n.issues)),e.value[t]=n.value}const w2=ne("$ZodArray",(n,e)=>{kt.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;oVk(c,t,o))):Vk(l,t,o)}return r.length?Promise.all(r).then(()=>t):t}});function Xp(n,e,t){n.issues.length&&e.issues.push(...rl(t,n.issues)),e.value[t]=n.value}function Wk(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(...rl(t,n.issues)):n.value===void 0?t in s&&(e.value[t]=void 0):e.value[t]=n.value}const _2=ne("$ZodObject",(n,e)=>{kt.init(n,e);const t=P_(()=>{const u=Object.keys(e.shape);for(const p of u)if(!(e.shape[p]instanceof kt))throw new Error(`Invalid element at key "${p}": expected a Zod schema`);const d=zL(e.shape);return{shape:e.shape,keys:u,keySet:new Set(u),numKeys:u.length,optionalKeys:new Set(d)}});Mt(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 zD(["shape","payload","ctx"]),p=t.value,m=b=>{const _=Du(b);return`shape[${_}]._zod.run({ value: input[${_}], issues: [] }, ctx)`};d.write("const input = payload.value;");const g=Object.create(null);let v=0;for(const b of p.keys)g[b]=`key_${v++}`;d.write("const newResult = {}");for(const b of p.keys)if(p.optionalKeys.has(b)){const _=g[b];d.write(`const ${_} = ${m(b)};`);const k=Du(b);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[b];d.write(`const ${_} = ${m(b)};`),d.write(` + if (${_}.issues.length) payload.issues = payload.issues.concat(${_}.issues.map(iss => ({ + ...iss, + path: iss.path ? [${Du(b)}, ...iss.path] : [${Du(b)}] + })));`),d.write(`newResult[${Du(b)}] = ${_}.value`)}d.write("payload.value = newResult;"),d.write("return payload;");const y=d.compile();return(b,_)=>y(u,b,_)};let i;const r=Rg,o=!kC.jitless,l=o&&FL.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],C=A._zod.run({value:p[k],issues:[]},d),E=A._zod.optin==="optional"&&A._zod.optout==="optional";C instanceof Promise?m.push(C.then(O=>E?Wk(O,u,k,p):Xp(O,u,k))):E?Wk(C,u,k,p):Xp(C,u,k)}}if(!c)return m.length?Promise.all(m).then(()=>u):u;const g=[],v=h.keySet,y=c._zod,b=y.def.type;for(const _ of Object.keys(p)){if(v.has(_))continue;if(b==="never"){g.push(_);continue}const k=y.run({value:p[_],issues:[]},d);k instanceof Promise?m.push(k.then(A=>Xp(A,u,_))):Xp(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 Gk(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=>Sa(r,s,_a())))}),e}const jC=ne("$ZodUnion",(n,e)=>{kt.init(n,e),Mt(n._zod,"optin",()=>e.options.some(t=>t._zod.optin==="optional")?"optional":void 0),Mt(n._zod,"optout",()=>e.options.some(t=>t._zod.optout==="optional")?"optional":void 0),Mt(n._zod,"values",()=>{if(e.options.every(t=>t._zod.values))return new Set(e.options.flatMap(t=>Array.from(t._zod.values)))}),Mt(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=>M_(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=>Gk(o,t,n,s)):Gk(r,t,n,s)}}),S2=ne("$ZodDiscriminatedUnion",(n,e)=>{jC.init(n,e);const t=n._zod.parse;Mt(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=P_(()=>{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(!Rg(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)}}),k2=ne("$ZodIntersection",(n,e)=>{kt.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])=>Kk(t,l,c)):Kk(t,r,o)}});function Pv(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(Mg(n)&&Mg(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=Pv(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{kt.init(n,e),n._zod.parse=(t,s)=>{const i=t.value;if(!Mg(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(...rl(l,h.issues)),t.value[l]=h.value})):(c.issues.length&&t.issues.push(...rl(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=>Sa(c,s,_a())),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(...rl(o,c.issues)),t.value[a.value]=c.value})):(l.issues.length&&t.issues.push(...rl(o,l.issues)),t.value[a.value]=l.value)}}return r.length?Promise.all(r).then(()=>t):t}}),x2=ne("$ZodEnum",(n,e)=>{kt.init(n,e);const t=NL(e.entries);n._zod.values=new Set(t),n._zod.pattern=new RegExp(`^(${t.filter(s=>jL.has(typeof s)).map(s=>typeof s=="string"?_p(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}}),E2=ne("$ZodLiteral",(n,e)=>{kt.init(n,e),n._zod.values=new Set(e.values),n._zod.pattern=new RegExp(`^(${e.values.map(t=>typeof t=="string"?_p(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}}),C2=ne("$ZodTransform",(n,e)=>{kt.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 jd;return t.value=i,t}}),$2=ne("$ZodOptional",(n,e)=>{kt.init(n,e),n._zod.optin="optional",n._zod.optout="optional",Mt(n._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),Mt(n._zod,"pattern",()=>{const t=e.innerType._zod.pattern;return t?new RegExp(`^(${M_(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)}),T2=ne("$ZodNullable",(n,e)=>{kt.init(n,e),Mt(n._zod,"optin",()=>e.innerType._zod.optin),Mt(n._zod,"optout",()=>e.innerType._zod.optout),Mt(n._zod,"pattern",()=>{const t=e.innerType._zod.pattern;return t?new RegExp(`^(${M_(t.source)}|null)$`):void 0}),Mt(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)}),P2=ne("$ZodDefault",(n,e)=>{kt.init(n,e),n._zod.optin="optional",Mt(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=>Zk(r,e)):Zk(i,e)}});function Zk(n,e){return n.value===void 0&&(n.value=e.defaultValue),n}const R2=ne("$ZodPrefault",(n,e)=>{kt.init(n,e),n._zod.optin="optional",Mt(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))}),M2=ne("$ZodNonOptional",(n,e)=>{kt.init(n,e),Mt(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=>Xk(r,n)):Xk(i,n)}});function Xk(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 I2=ne("$ZodCatch",(n,e)=>{kt.init(n,e),n._zod.optin="optional",Mt(n._zod,"optout",()=>e.innerType._zod.optout),Mt(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=>Sa(o,s,_a()))},input:t.value}),t.issues=[]),t)):(t.value=i.value,i.issues.length&&(t.value=e.catchValue({...t,error:{issues:i.issues.map(r=>Sa(r,s,_a()))},input:t.value}),t.issues=[]),t)}}),O2=ne("$ZodPipe",(n,e)=>{kt.init(n,e),Mt(n._zod,"values",()=>e.in._zod.values),Mt(n._zod,"optin",()=>e.in._zod.optin),Mt(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=>Yk(r,e,s)):Yk(i,e,s)}});function Yk(n,e,t){return wd(n)?n:e.out._zod.run({value:n.value,issues:n.issues},t)}const N2=ne("$ZodReadonly",(n,e)=>{kt.init(n,e),Mt(n._zod,"propValues",()=>e.innerType._zod.propValues),Mt(n._zod,"values",()=>e.innerType._zod.values),Mt(n._zod,"optin",()=>e.innerType._zod.optin),Mt(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(Jk):Jk(i)}});function Jk(n){return n.value=Object.freeze(n.value),n}const L2=ne("$ZodCustom",(n,e)=>{Ls.init(n,e),kt.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=>Qk(r,t,s,n));Qk(i,t,s,n)}});function Qk(n,e,t,s){if(!n){const i={code:"custom",input:t,inst:s,path:[...s._zod.def.path??[]],continue:!s._zod.def.abort};s._zod.def.params&&(i.params=s._zod.def.params),e.issues.push(zd(i))}}class D2{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 F2(){return new D2}const Yp=F2();function j2(n,e){return new n({type:"string",...ke(e)})}function z2(n,e){return new n({type:"string",format:"email",check:"string_format",abort:!1,...ke(e)})}function eA(n,e){return new n({type:"string",format:"guid",check:"string_format",abort:!1,...ke(e)})}function H2(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,...ke(e)})}function B2(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...ke(e)})}function q2(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...ke(e)})}function U2(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...ke(e)})}function zC(n,e){return new n({type:"string",format:"url",check:"string_format",abort:!1,...ke(e)})}function V2(n,e){return new n({type:"string",format:"emoji",check:"string_format",abort:!1,...ke(e)})}function W2(n,e){return new n({type:"string",format:"nanoid",check:"string_format",abort:!1,...ke(e)})}function G2(n,e){return new n({type:"string",format:"cuid",check:"string_format",abort:!1,...ke(e)})}function K2(n,e){return new n({type:"string",format:"cuid2",check:"string_format",abort:!1,...ke(e)})}function Z2(n,e){return new n({type:"string",format:"ulid",check:"string_format",abort:!1,...ke(e)})}function X2(n,e){return new n({type:"string",format:"xid",check:"string_format",abort:!1,...ke(e)})}function Y2(n,e){return new n({type:"string",format:"ksuid",check:"string_format",abort:!1,...ke(e)})}function J2(n,e){return new n({type:"string",format:"ipv4",check:"string_format",abort:!1,...ke(e)})}function Q2(n,e){return new n({type:"string",format:"ipv6",check:"string_format",abort:!1,...ke(e)})}function eF(n,e){return new n({type:"string",format:"cidrv4",check:"string_format",abort:!1,...ke(e)})}function tF(n,e){return new n({type:"string",format:"cidrv6",check:"string_format",abort:!1,...ke(e)})}function nF(n,e){return new n({type:"string",format:"base64",check:"string_format",abort:!1,...ke(e)})}function sF(n,e){return new n({type:"string",format:"base64url",check:"string_format",abort:!1,...ke(e)})}function iF(n,e){return new n({type:"string",format:"e164",check:"string_format",abort:!1,...ke(e)})}function rF(n,e){return new n({type:"string",format:"jwt",check:"string_format",abort:!1,...ke(e)})}function oF(n,e){return new n({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...ke(e)})}function aF(n,e){return new n({type:"string",format:"date",check:"string_format",...ke(e)})}function lF(n,e){return new n({type:"string",format:"time",check:"string_format",precision:null,...ke(e)})}function cF(n,e){return new n({type:"string",format:"duration",check:"string_format",...ke(e)})}function hF(n,e){return new n({type:"number",checks:[],...ke(e)})}function uF(n,e){return new n({type:"number",coerce:!0,checks:[],...ke(e)})}function dF(n,e){return new n({type:"number",check:"number_format",abort:!1,format:"safeint",...ke(e)})}function fF(n,e){return new n({type:"boolean",...ke(e)})}function pF(n,e){return new n({type:"undefined",...ke(e)})}function mF(n,e){return new n({type:"null",...ke(e)})}function gF(n){return new n({type:"any"})}function yF(n){return new n({type:"unknown"})}function vF(n,e){return new n({type:"never",...ke(e)})}function tA(n,e){return new NC({check:"less_than",...ke(e),value:n,inclusive:!1})}function N0(n,e){return new NC({check:"less_than",...ke(e),value:n,inclusive:!0})}function nA(n,e){return new LC({check:"greater_than",...ke(e),value:n,inclusive:!1})}function L0(n,e){return new LC({check:"greater_than",...ke(e),value:n,inclusive:!0})}function sA(n,e){return new $D({check:"multiple_of",...ke(e),value:n})}function HC(n,e){return new PD({check:"max_length",...ke(e),maximum:n})}function Ig(n,e){return new RD({check:"min_length",...ke(e),minimum:n})}function BC(n,e){return new MD({check:"length_equals",...ke(e),length:n})}function bF(n,e){return new ID({check:"string_format",format:"regex",...ke(e),pattern:n})}function wF(n){return new OD({check:"string_format",format:"lowercase",...ke(n)})}function _F(n){return new ND({check:"string_format",format:"uppercase",...ke(n)})}function SF(n,e){return new LD({check:"string_format",format:"includes",...ke(e),includes:n})}function kF(n,e){return new DD({check:"string_format",format:"starts_with",...ke(e),prefix:n})}function AF(n,e){return new FD({check:"string_format",format:"ends_with",...ke(e),suffix:n})}function Sp(n){return new jD({check:"overwrite",tx:n})}function xF(n){return Sp(e=>e.normalize(n))}function EF(){return Sp(n=>n.trim())}function CF(){return Sp(n=>n.toLowerCase())}function $F(){return Sp(n=>n.toUpperCase())}function TF(n,e,t){return new n({type:"array",element:e,...ke(t)})}function PF(n,e,t){const s=ke(t);return s.abort??(s.abort=!0),new n({type:"custom",check:"custom",fn:e,...s})}function RF(n,e,t){return new n({type:"custom",check:"custom",fn:e,...ke(t)})}const MF=ne("ZodISODateTime",(n,e)=>{QD.init(n,e),Ut.init(n,e)});function qC(n){return oF(MF,n)}const IF=ne("ZodISODate",(n,e)=>{e2.init(n,e),Ut.init(n,e)});function OF(n){return aF(IF,n)}const NF=ne("ZodISOTime",(n,e)=>{t2.init(n,e),Ut.init(n,e)});function LF(n){return lF(NF,n)}const DF=ne("ZodISODuration",(n,e)=>{n2.init(n,e),Ut.init(n,e)});function FF(n){return cF(DF,n)}const jF=(n,e)=>{EC.init(n,e),n.name="ZodError",Object.defineProperties(n,{format:{value:t=>ZL(n,t)},flatten:{value:t=>KL(n,t)},addIssue:{value:t=>n.issues.push(t)},addIssues:{value:t=>n.issues.push(...t)},isEmpty:{get(){return n.issues.length===0}}})},Uy=ne("ZodError",jF,{Parent:Error}),zF=XL(Uy),HF=YL(Uy),BF=$C(Uy),qF=PC(Uy),It=ne("ZodType",(n,e)=>(kt.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)=>zF(n,t,s,{callee:n.parse}),n.safeParse=(t,s)=>BF(n,t,s),n.parseAsync=async(t,s)=>HF(n,t,s,{callee:n.parseAsync}),n.safeParseAsync=async(t,s)=>qF(n,t,s),n.spa=n.safeParseAsync,n.refine=(t,s)=>n.check(Nj(t,s)),n.superRefine=t=>n.check(Lj(t)),n.overwrite=t=>n.check(Sp(t)),n.optional=()=>qt(n),n.nullable=()=>oA(n),n.nullish=()=>qt(oA(n)),n.nonoptional=t=>Cj(n,t),n.array=()=>le(n),n.or=t=>Xe([n,t]),n.and=t=>D_(n,t),n.transform=t=>Ov(n,ZC(t)),n.default=t=>Aj(n,t),n.prefault=t=>Ej(n,t),n.catch=t=>Tj(n,t),n.pipe=t=>Ov(n,t),n.readonly=()=>Mj(n),n.describe=t=>{const s=n.clone();return Yp.add(s,{description:t}),s},Object.defineProperty(n,"description",{get(){var t;return(t=Yp.get(n))==null?void 0:t.description},configurable:!0}),n.meta=(...t)=>{if(t.length===0)return Yp.get(n);const s=n.clone();return Yp.add(s,t[0]),s},n.isOptional=()=>n.safeParse(void 0).success,n.isNullable=()=>n.safeParse(null).success,n)),UC=ne("_ZodString",(n,e)=>{O_.init(n,e),It.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(bF(...s)),n.includes=(...s)=>n.check(SF(...s)),n.startsWith=(...s)=>n.check(kF(...s)),n.endsWith=(...s)=>n.check(AF(...s)),n.min=(...s)=>n.check(Ig(...s)),n.max=(...s)=>n.check(HC(...s)),n.length=(...s)=>n.check(BC(...s)),n.nonempty=(...s)=>n.check(Ig(1,...s)),n.lowercase=s=>n.check(wF(s)),n.uppercase=s=>n.check(_F(s)),n.trim=()=>n.check(EF()),n.normalize=(...s)=>n.check(xF(...s)),n.toLowerCase=()=>n.check(CF()),n.toUpperCase=()=>n.check($F())}),UF=ne("ZodString",(n,e)=>{O_.init(n,e),UC.init(n,e),n.email=t=>n.check(z2(VF,t)),n.url=t=>n.check(zC(VC,t)),n.jwt=t=>n.check(rF(aj,t)),n.emoji=t=>n.check(V2(GF,t)),n.guid=t=>n.check(eA(iA,t)),n.uuid=t=>n.check(H2(Jp,t)),n.uuidv4=t=>n.check(B2(Jp,t)),n.uuidv6=t=>n.check(q2(Jp,t)),n.uuidv7=t=>n.check(U2(Jp,t)),n.nanoid=t=>n.check(W2(KF,t)),n.guid=t=>n.check(eA(iA,t)),n.cuid=t=>n.check(G2(ZF,t)),n.cuid2=t=>n.check(K2(XF,t)),n.ulid=t=>n.check(Z2(YF,t)),n.base64=t=>n.check(nF(ij,t)),n.base64url=t=>n.check(sF(rj,t)),n.xid=t=>n.check(X2(JF,t)),n.ksuid=t=>n.check(Y2(QF,t)),n.ipv4=t=>n.check(J2(ej,t)),n.ipv6=t=>n.check(Q2(tj,t)),n.cidrv4=t=>n.check(eF(nj,t)),n.cidrv6=t=>n.check(tF(sj,t)),n.e164=t=>n.check(iF(oj,t)),n.datetime=t=>n.check(qC(t)),n.date=t=>n.check(OF(t)),n.time=t=>n.check(LF(t)),n.duration=t=>n.check(FF(t))});function j(n){return j2(UF,n)}const Ut=ne("ZodStringFormat",(n,e)=>{Ft.init(n,e),UC.init(n,e)}),VF=ne("ZodEmail",(n,e)=>{UD.init(n,e),Ut.init(n,e)}),iA=ne("ZodGUID",(n,e)=>{BD.init(n,e),Ut.init(n,e)}),Jp=ne("ZodUUID",(n,e)=>{qD.init(n,e),Ut.init(n,e)}),VC=ne("ZodURL",(n,e)=>{VD.init(n,e),Ut.init(n,e)});function WF(n){return zC(VC,n)}const GF=ne("ZodEmoji",(n,e)=>{WD.init(n,e),Ut.init(n,e)}),KF=ne("ZodNanoID",(n,e)=>{GD.init(n,e),Ut.init(n,e)}),ZF=ne("ZodCUID",(n,e)=>{KD.init(n,e),Ut.init(n,e)}),XF=ne("ZodCUID2",(n,e)=>{ZD.init(n,e),Ut.init(n,e)}),YF=ne("ZodULID",(n,e)=>{XD.init(n,e),Ut.init(n,e)}),JF=ne("ZodXID",(n,e)=>{YD.init(n,e),Ut.init(n,e)}),QF=ne("ZodKSUID",(n,e)=>{JD.init(n,e),Ut.init(n,e)}),ej=ne("ZodIPv4",(n,e)=>{s2.init(n,e),Ut.init(n,e)}),tj=ne("ZodIPv6",(n,e)=>{i2.init(n,e),Ut.init(n,e)}),nj=ne("ZodCIDRv4",(n,e)=>{r2.init(n,e),Ut.init(n,e)}),sj=ne("ZodCIDRv6",(n,e)=>{o2.init(n,e),Ut.init(n,e)}),ij=ne("ZodBase64",(n,e)=>{a2.init(n,e),Ut.init(n,e)}),rj=ne("ZodBase64URL",(n,e)=>{c2.init(n,e),Ut.init(n,e)}),oj=ne("ZodE164",(n,e)=>{h2.init(n,e),Ut.init(n,e)}),aj=ne("ZodJWT",(n,e)=>{d2.init(n,e),Ut.init(n,e)}),N_=ne("ZodNumber",(n,e)=>{FC.init(n,e),It.init(n,e),n.gt=(s,i)=>n.check(nA(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(tA(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(rA(s)),n.safe=s=>n.check(rA(s)),n.positive=s=>n.check(nA(0,s)),n.nonnegative=s=>n.check(L0(0,s)),n.negative=s=>n.check(tA(0,s)),n.nonpositive=s=>n.check(N0(0,s)),n.multipleOf=(s,i)=>n.check(sA(s,i)),n.step=(s,i)=>n.check(sA(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 hF(N_,n)}const lj=ne("ZodNumberFormat",(n,e)=>{f2.init(n,e),N_.init(n,e)});function rA(n){return dF(lj,n)}const cj=ne("ZodBoolean",(n,e)=>{p2.init(n,e),It.init(n,e)});function Qe(n){return fF(cj,n)}const hj=ne("ZodUndefined",(n,e)=>{m2.init(n,e),It.init(n,e)});function Rv(n){return pF(hj,n)}const uj=ne("ZodNull",(n,e)=>{g2.init(n,e),It.init(n,e)});function dj(n){return mF(uj,n)}const fj=ne("ZodAny",(n,e)=>{y2.init(n,e),It.init(n,e)});function L_(){return gF(fj)}const pj=ne("ZodUnknown",(n,e)=>{v2.init(n,e),It.init(n,e)});function St(){return yF(pj)}const mj=ne("ZodNever",(n,e)=>{b2.init(n,e),It.init(n,e)});function Mv(n){return vF(mj,n)}const gj=ne("ZodArray",(n,e)=>{w2.init(n,e),It.init(n,e),n.element=e.element,n.min=(t,s)=>n.check(Ig(t,s)),n.nonempty=t=>n.check(Ig(1,t)),n.max=(t,s)=>n.check(HC(t,s)),n.length=(t,s)=>n.check(BC(t,s)),n.unwrap=()=>n.element});function le(n,e){return TF(gj,n,e)}const WC=ne("ZodObject",(n,e)=>{_2.init(n,e),It.init(n,e),Mt(n,"shape",()=>e.shape),n.keyof=()=>Qs(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:Mv()}),n.strip=()=>n.clone({...n._zod.def,catchall:void 0}),n.extend=t=>UL(n,t),n.merge=t=>VL(n,t),n.pick=t=>BL(n,t),n.omit=t=>qL(n,t),n.partial=(...t)=>WL(XC,n,t[0]),n.required=(...t)=>GL(YC,n,t[0])});function Z(n,e){const t={type:"object",get shape(){return By(this,"shape",{...n}),this.shape},...ke(e)};return new WC(t)}function Wn(n,e){return new WC({type:"object",get shape(){return By(this,"shape",{...n}),this.shape},catchall:St(),...ke(e)})}const GC=ne("ZodUnion",(n,e)=>{jC.init(n,e),It.init(n,e),n.options=e.options});function Xe(n,e){return new GC({type:"union",options:n,...ke(e)})}const yj=ne("ZodDiscriminatedUnion",(n,e)=>{GC.init(n,e),S2.init(n,e)});function KC(n,e,t){return new yj({type:"union",options:e,discriminator:n,...ke(t)})}const vj=ne("ZodIntersection",(n,e)=>{k2.init(n,e),It.init(n,e)});function D_(n,e){return new vj({type:"intersection",left:n,right:e})}const bj=ne("ZodRecord",(n,e)=>{A2.init(n,e),It.init(n,e),n.keyType=e.keyType,n.valueType=e.valueType});function et(n,e,t){return new bj({type:"record",keyType:n,valueType:e,...ke(t)})}const Iv=ne("ZodEnum",(n,e)=>{x2.init(n,e),It.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 Iv({...e,checks:[],...ke(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 Iv({...e,checks:[],...ke(i),entries:r})}});function Qs(n,e){const t=Array.isArray(n)?Object.fromEntries(n.map(s=>[s,s])):n;return new Iv({type:"enum",entries:t,...ke(e)})}const wj=ne("ZodLiteral",(n,e)=>{E2.init(n,e),It.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 G(n,e){return new wj({type:"literal",values:Array.isArray(n)?n:[n],...ke(e)})}const _j=ne("ZodTransform",(n,e)=>{C2.init(n,e),It.init(n,e),n._zod.parse=(t,s)=>{t.addIssue=r=>{if(typeof r=="string")t.issues.push(zd(r,t.value,e));else{const o=r;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=t.value),o.inst??(o.inst=n),o.continue??(o.continue=!0),t.issues.push(zd(o))}};const i=e.transform(t.value,t);return i instanceof Promise?i.then(r=>(t.value=r,t)):(t.value=i,t)}});function ZC(n){return new _j({type:"transform",transform:n})}const XC=ne("ZodOptional",(n,e)=>{$2.init(n,e),It.init(n,e),n.unwrap=()=>n._zod.def.innerType});function qt(n){return new XC({type:"optional",innerType:n})}const Sj=ne("ZodNullable",(n,e)=>{T2.init(n,e),It.init(n,e),n.unwrap=()=>n._zod.def.innerType});function oA(n){return new Sj({type:"nullable",innerType:n})}const kj=ne("ZodDefault",(n,e)=>{P2.init(n,e),It.init(n,e),n.unwrap=()=>n._zod.def.innerType,n.removeDefault=n.unwrap});function Aj(n,e){return new kj({type:"default",innerType:n,get defaultValue(){return typeof e=="function"?e():e}})}const xj=ne("ZodPrefault",(n,e)=>{R2.init(n,e),It.init(n,e),n.unwrap=()=>n._zod.def.innerType});function Ej(n,e){return new xj({type:"prefault",innerType:n,get defaultValue(){return typeof e=="function"?e():e}})}const YC=ne("ZodNonOptional",(n,e)=>{M2.init(n,e),It.init(n,e),n.unwrap=()=>n._zod.def.innerType});function Cj(n,e){return new YC({type:"nonoptional",innerType:n,...ke(e)})}const $j=ne("ZodCatch",(n,e)=>{I2.init(n,e),It.init(n,e),n.unwrap=()=>n._zod.def.innerType,n.removeCatch=n.unwrap});function Tj(n,e){return new $j({type:"catch",innerType:n,catchValue:typeof e=="function"?e:()=>e})}const Pj=ne("ZodPipe",(n,e)=>{O2.init(n,e),It.init(n,e),n.in=e.in,n.out=e.out});function Ov(n,e){return new Pj({type:"pipe",in:n,out:e})}const Rj=ne("ZodReadonly",(n,e)=>{N2.init(n,e),It.init(n,e)});function Mj(n){return new Rj({type:"readonly",innerType:n})}const JC=ne("ZodCustom",(n,e)=>{L2.init(n,e),It.init(n,e)});function Ij(n){const e=new Ls({check:"custom"});return e._zod.check=n,e}function Oj(n,e){return PF(JC,n??(()=>!0),e)}function Nj(n,e={}){return RF(JC,n,e)}function Lj(n){const e=Ij(t=>(t.addIssue=s=>{if(typeof s=="string")t.issues.push(zd(s,t.value,e._zod.def));else{const i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=t.value),i.inst??(i.inst=e),i.continue??(i.continue=!e._zod.def.abort),t.issues.push(zd(i))}},n(t.value,t)));return e}function QC(n,e){return Ov(ZC(n),e)}const Dj={custom:"custom"};function Fj(n){return uF(N_,n)}const Vy="2025-11-25",jj=[Vy,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Va="io.modelcontextprotocol/related-task",Wy="2.0",wn=Oj(n=>n!==null&&(typeof n=="object"||typeof n=="function")),e$=Xe([j(),ze().int()]),t$=j();Wn({ttl:ze().optional(),pollInterval:ze().optional()});const zj=Z({ttl:ze().optional()}),Hj=Z({taskId:j()}),F_=Wn({progressToken:e$.optional(),[Va]:Hj.optional()}),ei=Z({_meta:F_.optional()}),kp=ei.extend({task:zj.optional()}),Bj=n=>kp.safeParse(n).success,Zn=Z({method:j(),params:ei.loose().optional()}),yi=Z({_meta:F_.optional()}),vi=Z({method:j(),params:yi.loose().optional()}),Xn=Wn({_meta:F_.optional()}),Ap=Xe([j(),ze().int()]),n$=Z({jsonrpc:G(Wy),id:Ap,...Zn.shape}).strict(),Nv=n=>n$.safeParse(n).success,s$=Z({jsonrpc:G(Wy),...vi.shape}).strict(),qj=n=>s$.safeParse(n).success,j_=Z({jsonrpc:G(Wy),id:Ap,result:Xn}).strict(),Yu=n=>j_.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 z_=Z({jsonrpc:G(Wy),id:Ap.optional(),error:Z({code:ze().int(),message:j(),data:St().optional()})}).strict(),Uj=n=>z_.safeParse(n).success,Dm=Xe([n$,s$,j_,z_]);Xe([j_,z_]);const Gc=Xn.strict(),Vj=yi.extend({requestId:Ap.optional(),reason:j().optional()}),H_=vi.extend({method:G("notifications/cancelled"),params:Vj}),Wj=Z({src:j(),mimeType:j().optional(),sizes:le(j()).optional(),theme:Qs(["light","dark"]).optional()}),xp=Z({icons:le(Wj).optional()}),hu=Z({name:j(),title:j().optional()}),Gy=hu.extend({...hu.shape,...xp.shape,version:j(),websiteUrl:j().optional(),description:j().optional()}),Gj=D_(Z({applyDefaults:Qe().optional()}),et(j(),St())),Kj=QC(n=>n&&typeof n=="object"&&!Array.isArray(n)&&Object.keys(n).length===0?{form:{}}:n,D_(Z({form:Gj.optional(),url:wn.optional()}),et(j(),St()).optional())),Zj=Wn({list:wn.optional(),cancel:wn.optional(),requests:Wn({sampling:Wn({createMessage:wn.optional()}).optional(),elicitation:Wn({create:wn.optional()}).optional()}).optional()}),Xj=Wn({list:wn.optional(),cancel:wn.optional(),requests:Wn({tools:Wn({call:wn.optional()}).optional()}).optional()}),Yj=Z({experimental:et(j(),wn).optional(),sampling:Z({context:wn.optional(),tools:wn.optional()}).optional(),elicitation:Kj.optional(),roots:Z({listChanged:Qe().optional()}).optional(),tasks:Zj.optional(),extensions:et(j(),wn).optional()}),Jj=ei.extend({protocolVersion:j(),capabilities:Yj,clientInfo:Gy}),Qj=Zn.extend({method:G("initialize"),params:Jj}),ez=Z({experimental:et(j(),wn).optional(),logging:wn.optional(),completions:wn.optional(),prompts:Z({listChanged:Qe().optional()}).optional(),resources:Z({subscribe:Qe().optional(),listChanged:Qe().optional()}).optional(),tools:Z({listChanged:Qe().optional()}).optional(),tasks:Xj.optional(),extensions:et(j(),wn).optional()}),i$=Xn.extend({protocolVersion:j(),capabilities:ez,serverInfo:Gy,instructions:j().optional()}),r$=vi.extend({method:G("notifications/initialized"),params:yi.optional()}),tz=n=>r$.safeParse(n).success,Ky=Zn.extend({method:G("ping"),params:ei.optional()}),nz=Z({progress:ze(),total:qt(ze()),message:qt(j())}),sz=Z({...yi.shape,...nz.shape,progressToken:e$}),B_=vi.extend({method:G("notifications/progress"),params:sz}),iz=ei.extend({cursor:t$.optional()}),Ep=Zn.extend({params:iz.optional()}),Cp=Xn.extend({nextCursor:t$.optional()}),rz=Qs(["working","input_required","completed","failed","cancelled"]),$p=Z({taskId:j(),status:rz,ttl:Xe([ze(),dj()]),createdAt:j(),lastUpdatedAt:j(),pollInterval:qt(ze()),statusMessage:qt(j())}),Hd=Xn.extend({task:$p}),oz=yi.merge($p),Og=vi.extend({method:G("notifications/tasks/status"),params:oz}),q_=Zn.extend({method:G("tasks/get"),params:ei.extend({taskId:j()})}),U_=Xn.merge($p),V_=Zn.extend({method:G("tasks/result"),params:ei.extend({taskId:j()})});Xn.loose();const W_=Ep.extend({method:G("tasks/list")}),G_=Cp.extend({tasks:le($p)}),K_=Zn.extend({method:G("tasks/cancel"),params:ei.extend({taskId:j()})}),az=Xn.merge($p),o$=Z({uri:j(),mimeType:qt(j()),_meta:et(j(),St()).optional()}),a$=o$.extend({text:j()}),Z_=j().refine(n=>{try{return atob(n),!0}catch{return!1}},{message:"Invalid Base64 string"}),l$=o$.extend({blob:Z_}),Tp=Qs(["user","assistant"]),Eu=Z({audience:le(Tp).optional(),priority:ze().min(0).max(1).optional(),lastModified:qC({offset:!0}).optional()}),c$=Z({...hu.shape,...xp.shape,uri:j(),description:qt(j()),mimeType:qt(j()),size:qt(ze()),annotations:Eu.optional(),_meta:qt(Wn({}))}),lz=Z({...hu.shape,...xp.shape,uriTemplate:j(),description:qt(j()),mimeType:qt(j()),annotations:Eu.optional(),_meta:qt(Wn({}))}),h$=Ep.extend({method:G("resources/list")}),X_=Cp.extend({resources:le(c$)}),u$=Ep.extend({method:G("resources/templates/list")}),Y_=Cp.extend({resourceTemplates:le(lz)}),J_=ei.extend({uri:j()}),cz=J_,d$=Zn.extend({method:G("resources/read"),params:cz}),Q_=Xn.extend({contents:le(Xe([a$,l$]))}),eS=vi.extend({method:G("notifications/resources/list_changed"),params:yi.optional()}),hz=J_,uz=Zn.extend({method:G("resources/subscribe"),params:hz}),dz=J_,fz=Zn.extend({method:G("resources/unsubscribe"),params:dz}),pz=yi.extend({uri:j()}),mz=vi.extend({method:G("notifications/resources/updated"),params:pz}),gz=Z({name:j(),description:qt(j()),required:qt(Qe())}),yz=Z({...hu.shape,...xp.shape,description:qt(j()),arguments:qt(le(gz)),_meta:qt(Wn({}))}),f$=Ep.extend({method:G("prompts/list")}),tS=Cp.extend({prompts:le(yz)}),vz=ei.extend({name:j(),arguments:et(j(),j()).optional()}),bz=Zn.extend({method:G("prompts/get"),params:vz}),nS=Z({type:G("text"),text:j(),annotations:Eu.optional(),_meta:et(j(),St()).optional()}),sS=Z({type:G("image"),data:Z_,mimeType:j(),annotations:Eu.optional(),_meta:et(j(),St()).optional()}),iS=Z({type:G("audio"),data:Z_,mimeType:j(),annotations:Eu.optional(),_meta:et(j(),St()).optional()}),wz=Z({type:G("tool_use"),name:j(),id:j(),input:et(j(),St()),_meta:et(j(),St()).optional()}),p$=Z({type:G("resource"),resource:Xe([a$,l$]),annotations:Eu.optional(),_meta:et(j(),St()).optional()}),m$=c$.extend({type:G("resource_link")}),Pp=Xe([nS,sS,iS,m$,p$]),_z=Z({role:Tp,content:Pp}),g$=Xn.extend({description:j().optional(),messages:le(_z)}),rS=vi.extend({method:G("notifications/prompts/list_changed"),params:yi.optional()}),Sz=Z({title:j().optional(),readOnlyHint:Qe().optional(),destructiveHint:Qe().optional(),idempotentHint:Qe().optional(),openWorldHint:Qe().optional()}),kz=Z({taskSupport:Qs(["required","optional","forbidden"]).optional()}),oS=Z({...hu.shape,...xp.shape,description:j().optional(),inputSchema:Z({type:G("object"),properties:et(j(),wn).optional(),required:le(j()).optional()}).catchall(St()),outputSchema:Z({type:G("object"),properties:et(j(),wn).optional(),required:le(j()).optional()}).catchall(St()).optional(),annotations:Sz.optional(),execution:kz.optional(),_meta:et(j(),St()).optional()}),Az=Ep.extend({method:G("tools/list")}),aS=Cp.extend({tools:le(oS)}),rc=Xn.extend({content:le(Pp).default([]),structuredContent:et(j(),St()).optional(),isError:Qe().optional()});rc.or(Xn.extend({toolResult:St()}));const xz=kp.extend({name:j(),arguments:et(j(),St()).optional()}),y$=Zn.extend({method:G("tools/call"),params:xz}),lS=vi.extend({method:G("notifications/tools/list_changed"),params:yi.optional()}),Ez=Z({autoRefresh:Qe().default(!0),debounceMs:ze().int().nonnegative().default(300)}),v$=Qs(["debug","info","notice","warning","error","critical","alert","emergency"]),Cz=ei.extend({level:v$}),$z=Zn.extend({method:G("logging/setLevel"),params:Cz}),Tz=yi.extend({level:v$,logger:j().optional(),data:St()}),b$=vi.extend({method:G("notifications/message"),params:Tz}),Pz=Z({name:j().optional()}),Rz=Z({hints:le(Pz).optional(),costPriority:ze().min(0).max(1).optional(),speedPriority:ze().min(0).max(1).optional(),intelligencePriority:ze().min(0).max(1).optional()}),Mz=Z({mode:Qs(["auto","required","none"]).optional()}),Iz=Z({type:G("tool_result"),toolUseId:j().describe("The unique identifier for the corresponding tool call."),content:le(Pp).default([]),structuredContent:Z({}).loose().optional(),isError:Qe().optional(),_meta:et(j(),St()).optional()}),Oz=KC("type",[nS,sS,iS]),Ng=KC("type",[nS,sS,iS,wz,Iz]),Nz=Z({role:Tp,content:Xe([Ng,le(Ng)]),_meta:et(j(),St()).optional()}),Lz=kp.extend({messages:le(Nz),modelPreferences:Rz.optional(),systemPrompt:j().optional(),includeContext:Qs(["none","thisServer","allServers"]).optional(),temperature:ze().optional(),maxTokens:ze().int(),stopSequences:le(j()).optional(),metadata:wn.optional(),tools:le(oS).optional(),toolChoice:Mz.optional()}),cS=Zn.extend({method:G("sampling/createMessage"),params:Lz}),w$=Xn.extend({model:j(),stopReason:qt(Qs(["endTurn","stopSequence","maxTokens"]).or(j())),role:Tp,content:Oz}),_$=Xn.extend({model:j(),stopReason:qt(Qs(["endTurn","stopSequence","maxTokens","toolUse"]).or(j())),role:Tp,content:Xe([Ng,le(Ng)])}),Dz=Z({type:G("boolean"),title:j().optional(),description:j().optional(),default:Qe().optional()}),Fz=Z({type:G("string"),title:j().optional(),description:j().optional(),minLength:ze().optional(),maxLength:ze().optional(),format:Qs(["email","uri","date","date-time"]).optional(),default:j().optional()}),jz=Z({type:Qs(["number","integer"]),title:j().optional(),description:j().optional(),minimum:ze().optional(),maximum:ze().optional(),default:ze().optional()}),zz=Z({type:G("string"),title:j().optional(),description:j().optional(),enum:le(j()),default:j().optional()}),Hz=Z({type:G("string"),title:j().optional(),description:j().optional(),oneOf:le(Z({const:j(),title:j()})),default:j().optional()}),Bz=Z({type:G("string"),title:j().optional(),description:j().optional(),enum:le(j()),enumNames:le(j()).optional(),default:j().optional()}),qz=Xe([zz,Hz]),Uz=Z({type:G("array"),title:j().optional(),description:j().optional(),minItems:ze().optional(),maxItems:ze().optional(),items:Z({type:G("string"),enum:le(j())}),default:le(j()).optional()}),Vz=Z({type:G("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()}),Wz=Xe([Uz,Vz]),Gz=Xe([Bz,qz,Wz]),Kz=Xe([Gz,Dz,Fz,jz]),Zz=kp.extend({mode:G("form").optional(),message:j(),requestedSchema:Z({type:G("object"),properties:et(j(),Kz),required:le(j()).optional()})}),Xz=kp.extend({mode:G("url"),message:j(),elicitationId:j(),url:j().url()}),Yz=Xe([Zz,Xz]),S$=Zn.extend({method:G("elicitation/create"),params:Yz}),Jz=yi.extend({elicitationId:j()}),Qz=vi.extend({method:G("notifications/elicitation/complete"),params:Jz}),k$=Xn.extend({action:Qs(["accept","decline","cancel"]),content:QC(n=>n===null?void 0:n,et(j(),Xe([j(),ze(),Qe(),le(j())])).optional())}),eH=Z({type:G("ref/resource"),uri:j()}),tH=Z({type:G("ref/prompt"),name:j()}),nH=ei.extend({ref:Xe([tH,eH]),argument:Z({name:j(),value:j()}),context:Z({arguments:et(j(),j()).optional()}).optional()}),sH=Zn.extend({method:G("completion/complete"),params:nH}),A$=Xn.extend({completion:Wn({values:le(j()).max(100),total:qt(ze().int()),hasMore:qt(Qe())})}),iH=Z({uri:j().startsWith("file://"),name:j().optional(),_meta:et(j(),St()).optional()}),rH=Zn.extend({method:G("roots/list"),params:ei.optional()}),oH=Xn.extend({roots:le(iH)}),aH=vi.extend({method:G("notifications/roots/list_changed"),params:yi.optional()});Xe([Ky,Qj,sH,$z,bz,f$,h$,u$,d$,uz,fz,y$,Az,q_,V_,W_,K_]);Xe([H_,B_,r$,aH,Og]);Xe([Gc,w$,_$,k$,oH,U_,G_,Hd]);Xe([Ky,cS,S$,rH,q_,V_,W_,K_]);Xe([H_,B_,b$,mz,eS,lS,rS,Og,Qz]);Xe([Gc,i$,A$,g$,tS,X_,Y_,Q_,rc,aS,U_,G_,Hd]);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 lH(i.elicitations,t)}return new Te(e,t,s)}}class lH 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 hS(n){return!!n._zod}function Oo(n,e){return hS(n)?TC(n,e):n.safeParse(e)}function x$(n){var t,s;if(!n)return;let e;if(hS(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 E$(n){var i;if(hS(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 Da(n){return n==="completed"||n==="failed"||n==="cancelled"}new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function aA(n){const e=x$(n),t=e==null?void 0:e.method;if(!t)throw new Error("Schema is missing a method literal");const s=E$(t);if(typeof s!="string")throw new Error("Schema method literal must be a string");return s}function lA(n,e){const t=Oo(n,e);if(!t.success)throw t.error;return t.data}const cH=6e4;class C${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(H_,t=>{this._oncancel(t)}),this.setNotificationHandler(B_,t=>{this._onprogress(t)}),this.setRequestHandler(Ky,t=>({})),this._taskStore=e==null?void 0:e.taskStore,this._taskMessageQueue=e==null?void 0:e.taskMessageQueue,this._taskStore&&(this.setRequestHandler(q_,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(V_,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(!Da(o.status))return await this._waitForTaskUpdate(r,s.signal),await i();if(Da(o.status)){const l=await this._taskStore.getTaskResult(r,s.sessionId);return this._clearTaskQueue(r),{...l,_meta:{...l._meta,[Va]:{taskId:r}}}}return await i()};return await i()}),this.setRequestHandler(W_,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(K_,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(Da(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),Yu(l)||Uj(l)?this._onresponse(l):Nv(l)?this._onrequest(l,c):qj(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[Va])==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=Bj(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 b=((_=y.relatedTask)==null?void 0:_.taskId)??r;return b&&l&&await l.updateTaskStatus(b,"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),Yu(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(Yu(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),Yu(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,Hd,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},Da(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 b,_,k,A,C;const u=E=>{h(E)};if(!this._transport){u(new Error("Not connected"));return}if(((b=this._options)==null?void 0:b.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)||{},[Va]:l}});const m=E=>{var F;this._responseHandlers.delete(d),this._progressHandlers.delete(d),this._cleanupTimeout(d),(F=this._transport)==null||F.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:d,reason:String(E)}},{relatedRequestId:i,resumptionToken:r,onresumptiontoken:o}).catch(U=>this._onerror(new Error(`Failed to send cancellation: ${U}`)));const O=E instanceof 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)}}}),(C=s==null?void 0:s.signal)==null||C.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)??cH,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},U_,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},G_,t)}async cancelTask(e,t){return this.request({method:"tasks/cancel",params:e},az,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)||{},[Va]: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)||{},[Va]: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)||{},[Va]:t.relatedTask}}}),await this._transport.send(o,t)}setRequestHandler(e,t){const s=aA(e);this.assertRequestHandlerCapability(s),this._requestHandlers.set(s,(i,r)=>{const o=lA(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=aA(e);this._notificationHandlers.set(s,i=>{const r=lA(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"&&Nv(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=Og.parse({method:"notifications/tasks/status",params:a});await this.notification(l),Da(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(Da(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=Og.parse({method:"notifications/tasks/status",params:l});await this.notification(c),Da(l.status)&&this._cleanupTaskProgressHandler(i)}},listTasks:i=>s.listTasks(i,t)}}}function cA(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function hH(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];cA(o)&&cA(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 uH extends C${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 $$="2026-01-26",dH="ui/notifications/tool-input-partial",fH=Xe([G("light"),G("dark")]).describe("Color theme preference for the host environment."),Bd=Xe([G("inline"),G("fullscreen"),G("pip")]).describe("Display mode for UI presentation."),pH=Xe([G("--color-background-primary"),G("--color-background-secondary"),G("--color-background-tertiary"),G("--color-background-inverse"),G("--color-background-ghost"),G("--color-background-info"),G("--color-background-danger"),G("--color-background-success"),G("--color-background-warning"),G("--color-background-disabled"),G("--color-text-primary"),G("--color-text-secondary"),G("--color-text-tertiary"),G("--color-text-inverse"),G("--color-text-ghost"),G("--color-text-info"),G("--color-text-danger"),G("--color-text-success"),G("--color-text-warning"),G("--color-text-disabled"),G("--color-border-primary"),G("--color-border-secondary"),G("--color-border-tertiary"),G("--color-border-inverse"),G("--color-border-ghost"),G("--color-border-info"),G("--color-border-danger"),G("--color-border-success"),G("--color-border-warning"),G("--color-border-disabled"),G("--color-ring-primary"),G("--color-ring-secondary"),G("--color-ring-inverse"),G("--color-ring-info"),G("--color-ring-danger"),G("--color-ring-success"),G("--color-ring-warning"),G("--font-sans"),G("--font-mono"),G("--font-weight-normal"),G("--font-weight-medium"),G("--font-weight-semibold"),G("--font-weight-bold"),G("--font-text-xs-size"),G("--font-text-sm-size"),G("--font-text-md-size"),G("--font-text-lg-size"),G("--font-heading-xs-size"),G("--font-heading-sm-size"),G("--font-heading-md-size"),G("--font-heading-lg-size"),G("--font-heading-xl-size"),G("--font-heading-2xl-size"),G("--font-heading-3xl-size"),G("--font-text-xs-line-height"),G("--font-text-sm-line-height"),G("--font-text-md-line-height"),G("--font-text-lg-line-height"),G("--font-heading-xs-line-height"),G("--font-heading-sm-line-height"),G("--font-heading-md-line-height"),G("--font-heading-lg-line-height"),G("--font-heading-xl-line-height"),G("--font-heading-2xl-line-height"),G("--font-heading-3xl-line-height"),G("--border-radius-xs"),G("--border-radius-sm"),G("--border-radius-md"),G("--border-radius-lg"),G("--border-radius-xl"),G("--border-radius-full"),G("--border-width-regular"),G("--shadow-hairline"),G("--shadow-sm"),G("--shadow-md"),G("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),mH=et(pH.describe(`Style variables for theming MCP apps. + +Individual style keys are optional - hosts may provide any subset of these values. +Values are strings containing CSS values (colors, sizes, font stacks, etc.). + +Note: This type uses \`Record\` rather than \`Partial>\` +for compatibility with Zod schema generation. Both are functionally equivalent for validation.`),Xe([j(),Rv()]).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.`),gH=Z({method:G("ui/open-link"),params:Z({url:j().describe("URL to open in the host's browser")})});Z({isError:Qe().optional().describe("True if the host failed to open the URL (e.g., due to security policy).")}).passthrough();Z({isError:Qe().optional().describe("True if the download failed (e.g., user cancelled or host denied).")}).passthrough();Z({isError:Qe().optional().describe("True if the host rejected or failed to deliver the message.")}).passthrough();var yH=Z({method:G("ui/notifications/sandbox-proxy-ready"),params:Z({})}),uS=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'`)")}),dS=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.")}),vH=Z({method:G("ui/notifications/size-changed"),params:Z({width:ze().optional().describe("New width in pixels."),height:ze().optional().describe("New height in pixels.")})});Z({method:G("ui/notifications/tool-input"),params:Z({arguments:et(j(),St().describe("Complete tool call arguments as key-value pairs.")).optional().describe("Complete tool call arguments as key-value pairs.")})});Z({method:G("ui/notifications/tool-input-partial"),params:Z({arguments:et(j(),St().describe("Partial tool call arguments (incomplete, may change).")).optional().describe("Partial tool call arguments (incomplete, may change).")})});Z({method:G("ui/notifications/tool-cancelled"),params:Z({reason:j().optional().describe('Optional reason for the cancellation (e.g., "user action", "timeout").')})});var bH=Z({fonts:j().optional()}),wH=Z({variables:mH.optional().describe("CSS variables for theming the app."),css:bH.optional().describe("CSS blocks that apps can inject.")});Z({method:G("ui/resource-teardown"),params:Z({})});var _H=et(j(),St()),hA=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.")}),SH=Z({method:G("ui/notifications/request-teardown"),params:Z({}).optional()}),kH=Z({experimental:et(j(),et(j(),L_()).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:Qe().optional().describe("Host supports tools/list_changed notifications.")}).optional().describe("Host can proxy tool calls to the MCP server."),serverResources:Z({listChanged:Qe().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:dS.optional().describe("Permissions granted by the host (camera, microphone, geolocation)."),csp:uS.optional().describe("CSP domains approved by the host.")}).optional().describe("Sandbox configuration applied by the host."),updateModelContext:hA.optional().describe("Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns."),message:hA.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.")}),AH=Z({experimental:et(j(),et(j(),L_()).describe("Experimental features keyed by identifier.")).optional().describe("Experimental features keyed by identifier."),tools:Z({listChanged:Qe().optional().describe("App supports tools/list_changed notifications.")}).optional().describe("App exposes MCP-style tools that the host can call."),availableDisplayModes:le(Bd).optional().describe("Display modes the app supports.")}),xH=Z({method:G("ui/notifications/initialized"),params:Z({}).optional()});Z({csp:uS.optional().describe("Content Security Policy configuration for UI resources."),permissions:dS.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:Qe().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 uA=Z({method:G("ui/request-display-mode"),params:Z({mode:Bd.describe("The display mode being requested.")})});Z({mode:Bd.describe("The display mode that was actually set. May differ from requested if not supported.")}).passthrough();var EH=Xe([G("model"),G("app")]).describe("Tool visibility scope - who can access the tool.");Z({resourceUri:j().optional(),visibility:le(EH).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:Mv().optional(),permissions:Mv().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 CH=Z({method:G("ui/download-file"),params:Z({contents:le(Xe([p$,m$])).describe("Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.")})}),$H=Z({method:G("ui/message"),params:Z({role:G("user").describe('Message role, currently only "user" is supported.'),content:le(Pp).describe("Message content blocks (text, image, etc.).")})});Z({method:G("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:uS.optional().describe("CSP configuration from resource metadata."),permissions:dS.optional().describe("Sandbox permissions from resource metadata.")})});Z({method:G("ui/notifications/tool-result"),params:rc.describe("Standard MCP tool execution result.")});var T$=Z({toolInfo:Z({id:Ap.optional().describe("JSON-RPC id of the tools/call request."),tool:oS.describe("Tool definition including name, inputSchema, etc.")}).optional().describe("Metadata of the tool call that instantiated this App."),theme:fH.optional().describe("Current color theme preference."),styles:wH.optional().describe("Style configuration for theming the app."),displayMode:Bd.optional().describe("How the UI is currently displayed."),availableDisplayModes:le(Bd).optional().describe("Display modes the host supports."),containerDimensions:Xe([Z({height:ze().describe("Fixed container height in pixels.")}),Z({maxHeight:Xe([ze(),Rv()]).optional().describe("Maximum container height in pixels.")})]).and(Xe([Z({width:ze().describe("Fixed container width in pixels.")}),Z({maxWidth:Xe([ze(),Rv()]).optional().describe("Maximum container width in pixels.")})])).optional().describe(`Container dimensions. Represents the dimensions of the iframe or other +container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:j().optional().describe("User's language and region preference in BCP 47 format."),timeZone:j().optional().describe("User's timezone in IANA format."),userAgent:j().optional().describe("Host application identifier."),platform:Xe([G("web"),G("desktop"),G("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:Z({touch:Qe().optional().describe("Whether the device supports touch input."),hover:Qe().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:G("ui/notifications/host-context-changed"),params:T$.describe("Partial context update containing only changed fields.")});var TH=Z({method:G("ui/update-model-context"),params:Z({content:le(Pp).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:et(j(),St().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})}),PH=Z({method:G("ui/initialize"),params:Z({appInfo:Gy.describe("App identification (name and version)."),appCapabilities:AH.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:Gy.describe("Host application identification and version."),hostCapabilities:kH.describe("Features and capabilities provided by the host."),hostContext:T$.describe("Rich context about the host environment.")}).passthrough();class RH{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=Dm.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!==dH&&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 MH=[$$];class IH extends uH{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:vH,sandboxready:yH,initialized:xH,requestteardown:SH,loggingmessage:b$});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(PH,o=>this._oninitialize(o)),this.setRequestHandler(Ky,(o,a)=>{var l;return(l=this.onping)==null||l.call(this,o.params,a),{}}),this.replaceRequestHandler(uA,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($H,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(gH,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(CH,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(uA,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(TH,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(y$,async(s,i)=>{if(!this._oncalltool)throw Error("No oncalltool handler set");return this._oncalltool(s.params,i)})}set oncreatesamplingmessage(t){this.setRequestHandler(cS,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(h$,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(u$,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(d$,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(f$,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:MH.includes(s)?s:$$,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];OH(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},_H,s)}callTool(t,s){return this.request({method:"tools/call",params:t},rc,s)}listTools(t,s){return this.request({method:"tools/list",params:t},aS,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},rc,{signal:r.signal}),s.tools.listChanged&&this._client.setNotificationHandler(lS,i=>this.sendToolListChanged(i.params))),s.resources&&(this.onlistresources=async(i,r)=>this._client.request({method:"resources/list",params:i},X_,{signal:r.signal}),this.onlistresourcetemplates=async(i,r)=>this._client.request({method:"resources/templates/list",params:i},Y_,{signal:r.signal}),this.onreadresource=async(i,r)=>this._client.request({method:"resources/read",params:i},Q_,{signal:r.signal}),s.resources.listChanged&&this._client.setNotificationHandler(eS,i=>this.sendResourceListChanged(i.params))),s.prompts&&(this.onlistprompts=async(i,r)=>this._client.request({method:"prompts/list",params:i},tS,{signal:r.signal}),s.prompts.listChanged&&this._client.setNotificationHandler(rS,i=>this.sendPromptListChanged(i.params)))}return super.connect(t)}}function OH(n,e){return JSON.stringify(n)===JSON.stringify(e)}const NH={x:0,y:0,width:1024,height:768},Lv=28,LH=12,DH=.9;function fa(n){return typeof n=="number"&&Number.isFinite(n)?n:void 0}function P$(n){if(!(!n||typeof n!="object"||Array.isArray(n)))return n}function Dv(n){if(Array.isArray(n))return n.map(Dv);const e=P$(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,` +`):Dv(s)])):n}function FH(n){return n.type==="text"&&typeof(n.text??n.originalText)=="string"}function R$(n){const e=String(n.text??n.originalText??""),t=fa(n.fontSize)??20,s=e.length*t*DH,i=fa(n.width);return Math.max(i&&i>0?i:0,s)}function jH(n){for(const e of n){if(e.type!=="cameraUpdate")continue;const t=fa(e.width),s=fa(e.height);if(!(!t||t<=0||!s||s<=0))return{x:fa(e.x)??0,y:fa(e.y)??0,width:t,height:s}}return NH}function zH(n,e){const t=fa(n.x);if(t===void 0)return!1;const s=R$(n),i=e.x+Lv,r=e.x+e.width-Lv;return tr+1}function HH(n,e){const t={...n},s=fa(t.fontSize)??20;let i=R$(t);const r=Math.max(1,e.width-Lv*2);if(i>r){const o=r/i;t.fontSize=Math.max(LH,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 BH(n){const t=Dv(n).map(P$);if(t.some(r=>r===void 0))return n;const s=t,i=jH(s);return s.map(r=>!FH(r)||!zH(r,i)?r:HH(r,i))}var Fv={exports:{}},M$={},Dr={},Fa={},Rp={},Ge={},qd={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.regexpCode=n.getEsmExportName=n.getProperty=n.safeStringify=n.stringify=n.strConcat=n.addCodeArg=n.str=n._=n.nil=n._Code=n.Name=n.IDENTIFIER=n._CodeOrName=void 0;class e{}n._CodeOrName=e,n.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class t extends e{constructor(b){if(super(),!n.IDENTIFIER.test(b))throw new Error("CodeGen: name must be a valid identifier");this.str=b}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}n.Name=t;class s extends e{constructor(b){super(),this._items=typeof b=="string"?[b]:b}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const b=this._items[0];return b===""||b==='""'}get str(){var b;return(b=this._str)!==null&&b!==void 0?b:this._str=this._items.reduce((_,k)=>`${_}${k}`,"")}get names(){var b;return(b=this._names)!==null&&b!==void 0?b: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,...b){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 b=h(y);if(b){const _=this.opts.es5?n.varKinds.var:n.varKinds.const;p=(0,e._)`${p}${_} ${y} = ${b};${this.opts._n}`}else if(b=d==null?void 0:d(y))p=(0,e._)`${p}${b}${this.opts._n}`;else throw new t(y);v.set(y,s.Completed)})}return p}}n.ValueScope=a})(jv);(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.or=n.and=n.not=n.CodeGen=n.operators=n.varKinds=n.ValueScopeName=n.ValueScope=n.Scope=n.Name=n.regexpCode=n.stringify=n.getProperty=n.nil=n.strConcat=n.str=n._=void 0;const e=qd,t=jv;var s=qd;Object.defineProperty(n,"_",{enumerable:!0,get:function(){return s._}}),Object.defineProperty(n,"str",{enumerable:!0,get:function(){return s.str}}),Object.defineProperty(n,"strConcat",{enumerable:!0,get:function(){return s.strConcat}}),Object.defineProperty(n,"nil",{enumerable:!0,get:function(){return s.nil}}),Object.defineProperty(n,"getProperty",{enumerable:!0,get:function(){return s.getProperty}}),Object.defineProperty(n,"stringify",{enumerable:!0,get:function(){return s.stringify}}),Object.defineProperty(n,"regexpCode",{enumerable:!0,get:function(){return s.regexpCode}}),Object.defineProperty(n,"Name",{enumerable:!0,get:function(){return s.Name}});var i=jv;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(w,x){return this}}class o extends r{constructor(w,x,I){super(),this.varKind=w,this.name=x,this.rhs=I}render({es5:w,_n:x}){const I=w?t.varKinds.var:this.varKind,K=this.rhs===void 0?"":` = ${this.rhs}`;return`${I} ${this.name}${K};`+x}optimizeNames(w,x){if(w[this.name.str])return this.rhs&&(this.rhs=N(this.rhs,w,x)),this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class a extends r{constructor(w,x,I){super(),this.lhs=w,this.rhs=x,this.sideEffects=I}render({_n:w}){return`${this.lhs} = ${this.rhs};`+w}optimizeNames(w,x){if(!(this.lhs instanceof e.Name&&!w[this.lhs.str]&&!this.sideEffects))return this.rhs=N(this.rhs,w,x),this}get names(){const w=this.lhs instanceof e.Name?{}:{...this.lhs.names};return B(w,this.rhs)}}class l extends a{constructor(w,x,I,K){super(w,I,K),this.op=x}render({_n:w}){return`${this.lhs} ${this.op}= ${this.rhs};`+w}}class c extends r{constructor(w){super(),this.label=w,this.names={}}render({_n:w}){return`${this.label}:`+w}}class h extends r{constructor(w){super(),this.label=w,this.names={}}render({_n:w}){return`break${this.label?` ${this.label}`:""};`+w}}class u extends r{constructor(w){super(),this.error=w}render({_n:w}){return`throw ${this.error};`+w}get names(){return this.error.names}}class d extends r{constructor(w){super(),this.code=w}render({_n:w}){return`${this.code};`+w}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(w,x){return this.code=N(this.code,w,x),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class p extends r{constructor(w=[]){super(),this.nodes=w}render(w){return this.nodes.reduce((x,I)=>x+I.render(w),"")}optimizeNodes(){const{nodes:w}=this;let x=w.length;for(;x--;){const I=w[x].optimizeNodes();Array.isArray(I)?w.splice(x,1,...I):I?w[x]=I:w.splice(x,1)}return w.length>0?this:void 0}optimizeNames(w,x){const{nodes:I}=this;let K=I.length;for(;K--;){const Y=I[K];Y.optimizeNames(w,x)||(ee(w,Y.names),I.splice(K,1))}return I.length>0?this:void 0}get names(){return this.nodes.reduce((w,x)=>q(w,x.names),{})}}class m extends p{render(w){return"{"+w._n+super.render(w)+"}"+w._n}}class g extends p{}class v extends m{}v.kind="else";class y extends m{constructor(w,x){super(x),this.condition=w}render(w){let x=`if(${this.condition})`+super.render(w);return this.else&&(x+="else "+this.else.render(w)),x}optimizeNodes(){super.optimizeNodes();const w=this.condition;if(w===!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 w===!1?x instanceof y?x:x.nodes:this.nodes.length?this:new y(Q(w),x instanceof y?[x]:x.nodes);if(!(w===!1||!this.nodes.length))return this}optimizeNames(w,x){var I;if(this.else=(I=this.else)===null||I===void 0?void 0:I.optimizeNames(w,x),!!(super.optimizeNames(w,x)||this.else))return this.condition=N(this.condition,w,x),this}get names(){const w=super.names;return B(w,this.condition),this.else&&q(w,this.else.names),w}}y.kind="if";class b extends m{}b.kind="for";class _ extends b{constructor(w){super(),this.iteration=w}render(w){return`for(${this.iteration})`+super.render(w)}optimizeNames(w,x){if(super.optimizeNames(w,x))return this.iteration=N(this.iteration,w,x),this}get names(){return q(super.names,this.iteration.names)}}class k extends b{constructor(w,x,I,K){super(),this.varKind=w,this.name=x,this.from=I,this.to=K}render(w){const x=w.es5?t.varKinds.var:this.varKind,{name:I,from:K,to:Y}=this;return`for(${x} ${I}=${K}; ${I}<${Y}; ${I}++)`+super.render(w)}get names(){const w=B(super.names,this.from);return B(w,this.to)}}class A extends b{constructor(w,x,I,K){super(),this.loop=w,this.varKind=x,this.name=I,this.iterable=K}render(w){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(w)}optimizeNames(w,x){if(super.optimizeNames(w,x))return this.iterable=N(this.iterable,w,x),this}get names(){return q(super.names,this.iterable.names)}}class C extends m{constructor(w,x,I){super(),this.name=w,this.args=x,this.async=I}render(w){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(w)}}C.kind="func";class E extends p{render(w){return"return "+super.render(w)}}E.kind="return";class O extends m{render(w){let x="try"+super.render(w);return this.catch&&(x+=this.catch.render(w)),this.finally&&(x+=this.finally.render(w)),x}optimizeNodes(){var w,x;return super.optimizeNodes(),(w=this.catch)===null||w===void 0||w.optimizeNodes(),(x=this.finally)===null||x===void 0||x.optimizeNodes(),this}optimizeNames(w,x){var I,K;return super.optimizeNames(w,x),(I=this.catch)===null||I===void 0||I.optimizeNames(w,x),(K=this.finally)===null||K===void 0||K.optimizeNames(w,x),this}get names(){const w=super.names;return this.catch&&q(w,this.catch.names),this.finally&&q(w,this.finally.names),w}}class F extends m{constructor(w){super(),this.error=w}render(w){return`catch(${this.error})`+super.render(w)}}F.kind="catch";class U extends m{render(w){return"finally"+super.render(w)}}U.kind="finally";class L{constructor(w,x={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...x,_n:x.lines?` +`:""},this._extScope=w,this._scope=new t.Scope({parent:w}),this._nodes=[new g]}toString(){return this._root.render(this.opts)}name(w){return this._scope.name(w)}scopeName(w){return this._extScope.name(w)}scopeValue(w,x){const I=this._extScope.value(w,x);return(this._values[I.prefix]||(this._values[I.prefix]=new Set)).add(I),I}getScopeValue(w,x){return this._extScope.getValue(w,x)}scopeRefs(w){return this._extScope.scopeRefs(w,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(w,x,I,K){const Y=this._scope.toName(x);return I!==void 0&&K&&(this._constants[Y.str]=I),this._leafNode(new o(w,Y,I)),Y}const(w,x,I){return this._def(t.varKinds.const,w,x,I)}let(w,x,I){return this._def(t.varKinds.let,w,x,I)}var(w,x,I){return this._def(t.varKinds.var,w,x,I)}assign(w,x,I){return this._leafNode(new a(w,x,I))}add(w,x){return this._leafNode(new l(w,n.operators.ADD,x))}code(w){return typeof w=="function"?w():w!==e.nil&&this._leafNode(new d(w)),this}object(...w){const x=["{"];for(const[I,K]of w)x.length>1&&x.push(","),x.push(I),(I!==K||this.opts.es5)&&(x.push(":"),(0,e.addCodeArg)(x,K));return x.push("}"),new e._Code(x)}if(w,x,I){if(this._blockNode(new y(w)),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(w){return this._elseNode(new y(w))}else(){return this._elseNode(new v)}endIf(){return this._endBlockNode(y,v)}_for(w,x){return this._blockNode(w),x&&this.code(x).endFor(),this}for(w,x){return this._for(new _(w),x)}forRange(w,x,I,K,Y=this.opts.es5?t.varKinds.var:t.varKinds.let){const ue=this._scope.toName(w);return this._for(new k(Y,ue,x,I),()=>K(ue))}forOf(w,x,I,K=t.varKinds.const){const Y=this._scope.toName(w);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",K,Y,x),()=>I(Y))}forIn(w,x,I,K=this.opts.es5?t.varKinds.var:t.varKinds.const){if(this.opts.ownProperties)return this.forOf(w,(0,e._)`Object.keys(${x})`,I);const Y=this._scope.toName(w);return this._for(new A("in",K,Y,x),()=>I(Y))}endFor(){return this._endBlockNode(b)}label(w){return this._leafNode(new c(w))}break(w){return this._leafNode(new h(w))}return(w){const x=new E;if(this._blockNode(x),this.code(w),x.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(E)}try(w,x,I){if(!x&&!I)throw new Error('CodeGen: "try" without "catch" and "finally"');const K=new O;if(this._blockNode(K),this.code(w),x){const Y=this.name("e");this._currNode=K.catch=new F(Y),x(Y)}return I&&(this._currNode=K.finally=new U,this.code(I)),this._endBlockNode(F,U)}throw(w){return this._leafNode(new u(w))}block(w,x){return this._blockStarts.push(this._nodes.length),w&&this.code(w).endBlock(x),this}endBlock(w){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||w!==void 0&&I!==w)throw new Error(`CodeGen: wrong number of nodes: ${I} vs ${w} expected`);return this._nodes.length=x,this}func(w,x=e.nil,I,K){return this._blockNode(new C(w,x,I)),K&&this.code(K).endFunc(),this}endFunc(){return this._endBlockNode(C)}optimize(w=1){for(;w-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(w){return this._currNode.nodes.push(w),this}_blockNode(w){this._currNode.nodes.push(w),this._nodes.push(w)}_endBlockNode(w,x){const I=this._currNode;if(I instanceof w||x&&I instanceof x)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${x?`${w.kind}/${x.kind}`:w.kind}"`)}_elseNode(w){const x=this._currNode;if(!(x instanceof y))throw new Error('CodeGen: "else" without "if"');return this._currNode=x.else=w,this}get _root(){return this._nodes[0]}get _currNode(){const w=this._nodes;return w[w.length-1]}set _currNode(w){const x=this._nodes;x[x.length-1]=w}}n.CodeGen=L;function q(M,w){for(const x in w)M[x]=(M[x]||0)+(w[x]||0);return M}function B(M,w){return w instanceof e._CodeOrName?q(M,w.names):M}function N(M,w,x){if(M instanceof e.Name)return I(M);if(!K(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||w[Y.str]!==1?Y:(delete w[Y.str],ue)}function K(Y){return Y instanceof e._Code&&Y._items.some(ue=>ue instanceof e.Name&&w[ue.str]===1&&x[ue.str]!==void 0)}}function ee(M,w){for(const x in w)M[x]=(M[x]||0)-(w[x]||0)}function Q(M){return typeof M=="boolean"||typeof M=="number"||M===null?!M:(0,e._)`!${D(M)}`}n.not=Q;const te=P(n.operators.AND);function ae(...M){return M.reduce(te)}n.and=ae;const Se=P(n.operators.OR);function z(...M){return M.reduce(Se)}n.or=z;function P(M){return(w,x)=>w===e.nil?x:x===e.nil?w:(0,e._)`${D(w)} ${M} ${D(x)}`}function D(M){return M instanceof e.Name?M:(0,e._)`(${M})`}})(Ge);var ye={};Object.defineProperty(ye,"__esModule",{value:!0});ye.checkStrictMode=ye.getErrorPath=ye.Type=ye.useFunc=ye.setEvaluated=ye.evaluatedPropsToName=ye.mergeEvaluated=ye.eachItem=ye.unescapeJsonPointer=ye.escapeJsonPointer=ye.escapeFragment=ye.unescapeFragment=ye.schemaRefOrVal=ye.schemaHasRulesButRef=ye.schemaHasRules=ye.checkUnknownRules=ye.alwaysValidSchema=ye.toHash=void 0;const vt=Ge,qH=qd;function UH(n){const e={};for(const t of n)e[t]=!0;return e}ye.toHash=UH;function VH(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(I$(n,e),!O$(e,n.self.RULES.all))}ye.alwaysValidSchema=VH;function I$(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]||D$(n,`unknown keyword: "${r}"`)}ye.checkUnknownRules=I$;function O$(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(e[t])return!0;return!1}ye.schemaHasRules=O$;function WH(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(t!=="$ref"&&e.all[t])return!0;return!1}ye.schemaHasRulesButRef=WH;function GH({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)}`}ye.schemaRefOrVal=GH;function KH(n){return N$(decodeURIComponent(n))}ye.unescapeFragment=KH;function ZH(n){return encodeURIComponent(fS(n))}ye.escapeFragment=ZH;function fS(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}ye.escapeJsonPointer=fS;function N$(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}ye.unescapeJsonPointer=N$;function XH(n,e){if(Array.isArray(n))for(const t of n)e(t);else e(n)}ye.eachItem=XH;function dA({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}}ye.mergeEvaluated={props:dA({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} || {}`),pS(n,t,e))}),mergeValues:(n,e)=>n===!0?!0:{...n,...e},resultToName:L$}),items:dA({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 L$(n,e){if(e===!0)return n.var("props",!0);const t=n.var("props",(0,vt._)`{}`);return e!==void 0&&pS(n,t,e),t}ye.evaluatedPropsToName=L$;function pS(n,e,t){Object.keys(t).forEach(s=>n.assign((0,vt._)`${e}${(0,vt.getProperty)(s)}`,!0))}ye.setEvaluated=pS;const fA={};function YH(n,e){return n.scopeValue("func",{ref:e,code:fA[e.code]||(fA[e.code]=new qH._Code(e.code))})}ye.useFunc=YH;var zv;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(zv||(ye.Type=zv={}));function JH(n,e,t){if(n instanceof vt.Name){const s=e===zv.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():"/"+fS(n)}ye.getErrorPath=JH;function D$(n,e,t=n.opts.strictSchema){if(t){if(e=`strict mode: ${e}`,t===!0)throw new Error(e);n.self.logger.warn(e)}}ye.checkStrictMode=D$;var Mr={};Object.defineProperty(Mr,"__esModule",{value:!0});const Jn=Ge,QH={data:new Jn.Name("data"),valCxt:new Jn.Name("valCxt"),instancePath:new Jn.Name("instancePath"),parentData:new Jn.Name("parentData"),parentDataProperty:new Jn.Name("parentDataProperty"),rootData:new Jn.Name("rootData"),dynamicAnchors:new Jn.Name("dynamicAnchors"),vErrors:new Jn.Name("vErrors"),errors:new Jn.Name("errors"),this:new Jn.Name("this"),self:new Jn.Name("self"),scope:new Jn.Name("scope"),json:new Jn.Name("json"),jsonPos:new Jn.Name("jsonPos"),jsonLen:new Jn.Name("jsonLen"),jsonPart:new Jn.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=Ge,t=ye,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,b,_){const{it:k}=v,{gen:A,compositeRule:C,allErrors:E}=k,O=u(v,y,b);_??(C||E)?l(A,O):c(k,(0,e._)`[${O}]`)}n.reportError=i;function r(v,y=n.keywordError,b){const{it:_}=v,{gen:k,compositeRule:A,allErrors:C}=_,E=u(v,y,b);l(k,E),A||C||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:b,data:_,errsCount:k,it:A}){if(k===void 0)throw new Error("ajv implementation error");const C=v.name("err");v.forRange("i",k,s.default.errors,E=>{v.const(C,(0,e._)`${s.default.vErrors}[${E}]`),v.if((0,e._)`${C}.instancePath === undefined`,()=>v.assign((0,e._)`${C}.instancePath`,(0,e.strConcat)(s.default.instancePath,A.errorPath))),v.assign((0,e._)`${C}.schemaPath`,(0,e.str)`${A.errSchemaPath}/${y}`),A.opts.verbose&&(v.assign((0,e._)`${C}.schema`,b),v.assign((0,e._)`${C}.data`,_))})}n.extendErrors=a;function l(v,y){const b=v.const("err",y);v.if((0,e._)`${s.default.vErrors} === null`,()=>v.assign(s.default.vErrors,(0,e._)`[${b}]`),(0,e._)`${s.default.vErrors}.push(${b})`),v.code((0,e._)`${s.default.errors}++`)}function c(v,y){const{gen:b,validateName:_,schemaEnv:k}=v;k.$async?b.throw((0,e._)`new ${v.ValidationError}(${y})`):(b.assign((0,e._)`${_}.errors`,y),b.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,b){const{createErrors:_}=v.it;return _===!1?(0,e._)`{}`:d(v,y,b)}function d(v,y,b={}){const{gen:_,it:k}=v,A=[p(k,b),m(v,b)];return g(v,y,A),_.object(...A)}function p({errorPath:v},{instancePath:y}){const b=y?(0,e.str)`${v}${(0,t.getErrorPath)(y,t.Type.Str)}`:v;return[s.default.instancePath,(0,e.strConcat)(s.default.instancePath,b)]}function m({keyword:v,it:{errSchemaPath:y}},{schemaPath:b,parentSchema:_}){let k=_?y:(0,e.str)`${y}/${v}`;return b&&(k=(0,e.str)`${k}${(0,t.getErrorPath)(b,t.Type.Str)}`),[h.schemaPath,k]}function g(v,{params:y,message:b},_){const{keyword:k,data:A,schemaValue:C,it:E}=v,{opts:O,propertyName:F,topSchemaRef:U,schemaPath:L}=E;_.push([h.keyword,k],[h.params,typeof y=="function"?y(v):y||(0,e._)`{}`]),O.messages&&_.push([h.message,typeof b=="function"?b(v):b]),O.verbose&&_.push([h.schema,C],[h.parentSchema,(0,e._)`${U}${L}`],[s.default.data,A]),F&&_.push([h.propertyName,F])}})(Rp);var pA;function eB(){if(pA)return Fa;pA=1,Object.defineProperty(Fa,"__esModule",{value:!0}),Fa.boolOrEmptySchema=Fa.topBoolOrEmptySchema=void 0;const n=Rp,e=Ge,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))}Fa.topBoolOrEmptySchema=i;function r(a,l){const{gen:c,schema:h}=a;h===!1?(c.var(l,!1),o(a)):c.var(l,!0)}Fa.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 Fa}var gn={},oc={};Object.defineProperty(oc,"__esModule",{value:!0});oc.getRules=oc.isJSONType=void 0;const tB=["string","number","integer","boolean","null","object","array"],nB=new Set(tB);function sB(n){return typeof n=="string"&&nB.has(n)}oc.isJSONType=sB;function iB(){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:{}}}oc.getRules=iB;var vo={};Object.defineProperty(vo,"__esModule",{value:!0});vo.shouldUseRule=vo.shouldUseGroup=vo.schemaHasRulesForType=void 0;function rB({schema:n,self:e},t){const s=e.RULES.types[t];return s&&s!==!0&&F$(n,s)}vo.schemaHasRulesForType=rB;function F$(n,e){return e.rules.some(t=>j$(n,t))}vo.shouldUseGroup=F$;function j$(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=j$;Object.defineProperty(gn,"__esModule",{value:!0});gn.reportTypeError=gn.checkDataTypes=gn.checkDataType=gn.coerceAndCheckDataType=gn.getJSONTypes=gn.getSchemaTypes=gn.DataType=void 0;const oB=oc,aB=vo,lB=Rp,De=Ge,z$=ye;var Qc;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(Qc||(gn.DataType=Qc={}));function cB(n){const e=H$(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}gn.getSchemaTypes=cB;function H$(n){const e=Array.isArray(n)?n:n?[n]:[];if(e.every(oB.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}gn.getJSONTypes=H$;function hB(n,e){const{gen:t,data:s,opts:i}=n,r=uB(e,i.coerceTypes),o=e.length>0&&!(r.length===0&&e.length===1&&(0,aB.schemaHasRulesForType)(n,e[0]));if(o){const a=mS(e,s,i.strictNumbers,Qc.Wrong);t.if(a,()=>{r.length?dB(n,e,r):gS(n)})}return o}gn.coerceAndCheckDataType=hB;const B$=new Set(["string","number","integer","boolean","null"]);function uB(n,e){return e?n.filter(t=>B$.has(t)||e==="array"&&t==="array"):[]}function dB(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(mS(e,i,r.strictNumbers),()=>s.assign(a,i))),s.if((0,De._)`${a} !== undefined`);for(const c of t)(B$.has(c)||c==="array"&&r.coerceTypes==="array")&&l(c);s.else(),gS(n),s.endIf(),s.if((0,De._)`${a} !== undefined`,()=>{s.assign(i,a),fB(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 fB({gen:n,parentData:e,parentDataProperty:t},s){n.if((0,De._)`${e} !== undefined`,()=>n.assign((0,De._)`${e}[${t}]`,s))}function Hv(n,e,t,s=Qc.Correct){const i=s===Qc.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===Qc.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)}}gn.checkDataType=Hv;function mS(n,e,t,s){if(n.length===1)return Hv(n[0],e,t,s);let i;const r=(0,z$.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,Hv(o,e,t,s));return i}gn.checkDataTypes=mS;const pB={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,De._)`{type: ${n}}`:(0,De._)`{type: ${e}}`};function gS(n){const e=mB(n);(0,lB.reportError)(e,pB)}gn.reportTypeError=gS;function mB(n){const{gen:e,data:t,schema:s}=n,i=(0,z$.schemaRefOrVal)(n,s,"type");return{gen:e,keyword:"type",data:t,schema:s.type,schemaCode:i,schemaValue:i,parentSchema:s,params:{},it:n}}var Fu={},mA;function gB(){if(mA)return Fu;mA=1,Object.defineProperty(Fu,"__esModule",{value:!0}),Fu.assignDefaults=void 0;const n=Ge,e=ye;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))}Fu.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 Fu}var Si={},ht={},gA;function Zi(){if(gA)return ht;gA=1,Object.defineProperty(ht,"__esModule",{value:!0}),ht.validateUnion=ht.validateArray=ht.usePattern=ht.callValidateCode=ht.schemaProperties=ht.allSchemaProperties=ht.noPropertyInData=ht.propertyInData=ht.isOwnProperty=ht.hasPropFunc=ht.reportMissingProp=ht.checkMissingProp=ht.checkReportMissingProp=void 0;const n=Ge,e=ye,t=Mr,s=ye;function i(b,_){const{gen:k,data:A,it:C}=b;k.if(h(k,A,_,C.opts.ownProperties),()=>{b.setParams({missingProperty:(0,n._)`${_}`},!0),b.error()})}ht.checkReportMissingProp=i;function r({gen:b,data:_,it:{opts:k}},A,C){return(0,n.or)(...A.map(E=>(0,n.and)(h(b,_,E,k.ownProperties),(0,n._)`${C} = ${E}`)))}ht.checkMissingProp=r;function o(b,_){b.setParams({missingProperty:_},!0),b.error()}ht.reportMissingProp=o;function a(b){return b.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,n._)`Object.prototype.hasOwnProperty`})}ht.hasPropFunc=a;function l(b,_,k){return(0,n._)`${a(b)}.call(${_}, ${k})`}ht.isOwnProperty=l;function c(b,_,k,A){const C=(0,n._)`${_}${(0,n.getProperty)(k)} !== undefined`;return A?(0,n._)`${C} && ${l(b,_,k)}`:C}ht.propertyInData=c;function h(b,_,k,A){const C=(0,n._)`${_}${(0,n.getProperty)(k)} === undefined`;return A?(0,n.or)(C,(0,n.not)(l(b,_,k))):C}ht.noPropertyInData=h;function u(b){return b?Object.keys(b).filter(_=>_!=="__proto__"):[]}ht.allSchemaProperties=u;function d(b,_){return u(_).filter(k=>!(0,e.alwaysValidSchema)(b,_[k]))}ht.schemaProperties=d;function p({schemaCode:b,data:_,it:{gen:k,topSchemaRef:A,schemaPath:C,errorPath:E},it:O},F,U,L){const q=L?(0,n._)`${b}, ${_}, ${A}${C}`:_,B=[[t.default.instancePath,(0,n.strConcat)(t.default.instancePath,E)],[t.default.parentData,O.parentData],[t.default.parentDataProperty,O.parentDataProperty],[t.default.rootData,t.default.rootData]];O.opts.dynamicRef&&B.push([t.default.dynamicAnchors,t.default.dynamicAnchors]);const N=(0,n._)`${q}, ${k.object(...B)}`;return U!==n.nil?(0,n._)`${F}.call(${U}, ${N})`:(0,n._)`${F}(${N})`}ht.callValidateCode=p;const m=(0,n._)`new RegExp`;function g({gen:b,it:{opts:_}},k){const A=_.unicodeRegExp?"u":"",{regExp:C}=_.code,E=C(k,A);return b.scopeValue("pattern",{key:E.toString(),ref:E,code:(0,n._)`${C.code==="new RegExp"?m:(0,s.useFunc)(b,C)}(${k}, ${A})`})}ht.usePattern=g;function v(b){const{gen:_,data:k,keyword:A,it:C}=b,E=_.name("valid");if(C.allErrors){const F=_.let("valid",!0);return O(()=>_.assign(F,!1)),F}return _.var(E,!0),O(()=>_.break()),E;function O(F){const U=_.const("len",(0,n._)`${k}.length`);_.forRange("i",0,U,L=>{b.subschema({keyword:A,dataProp:L,dataPropType:e.Type.Num},E),_.if((0,n.not)(E),F)})}}ht.validateArray=v;function y(b){const{gen:_,schema:k,keyword:A,it:C}=b;if(!Array.isArray(k))throw new Error("ajv implementation error");if(k.some(U=>(0,e.alwaysValidSchema)(C,U))&&!C.opts.unevaluated)return;const O=_.let("valid",!1),F=_.name("_valid");_.block(()=>k.forEach((U,L)=>{const q=b.subschema({keyword:A,schemaProp:L,compositeRule:!0},F);_.assign(O,(0,n._)`${O} || ${F}`),b.mergeValidEvaluated(q,F)||_.if((0,n.not)(O))})),b.result(O,()=>b.reset(),()=>b.error(!0))}return ht.validateUnion=y,ht}var yA;function yB(){if(yA)return Si;yA=1,Object.defineProperty(Si,"__esModule",{value:!0}),Si.validateKeywordUsage=Si.validSchemaType=Si.funcKeywordCode=Si.macroKeywordCode=void 0;const n=Ge,e=Mr,t=Zi(),s=Rp;function i(d,p){const{gen:m,keyword:g,schema:v,parentSchema:y,it:b}=d,_=p.macro.call(b.self,v,y,b),k=c(m,g,_);b.opts.validateSchema!==!1&&b.self.validateSchema(_,!0);const A=m.name("valid");d.subschema({schema:_,schemaPath:n.nil,errSchemaPath:`${b.errSchemaPath}/${g}`,topSchemaRef:k,compositeRule:!0},A),d.pass(A,()=>d.error(!0))}Si.macroKeywordCode=i;function r(d,p){var m;const{gen:g,keyword:v,schema:y,parentSchema:b,$data:_,it:k}=d;l(k,p);const A=!_&&p.compile?p.compile.call(k.self,y,b,k):p.validate,C=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)L(),p.modifying&&o(d),q(()=>d.error());else{const B=p.async?F():U();p.modifying&&o(d),q(()=>a(d,B))}}function F(){const B=g.let("ruleErrs",null);return g.try(()=>L((0,n._)`await `),N=>g.assign(E,!1).if((0,n._)`${N} instanceof ${k.ValidationError}`,()=>g.assign(B,(0,n._)`${N}.errors`),()=>g.throw(N))),B}function U(){const B=(0,n._)`${C}.errors`;return g.assign(B,null),L(n.nil),B}function L(B=p.async?(0,n._)`await `:n.nil){const N=k.opts.passContext?e.default.this:e.default.self,ee=!("compile"in p&&!_||p.schema===!1);g.assign(E,(0,n._)`${B}${(0,t.callValidateCode)(d,C,N,ee)}`,p.modifying)}function q(B){var N;g.if((0,n.not)((N=p.valid)!==null&&N!==void 0?N:E),B)}}Si.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")}Si.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 b=v.dependencies;if(b!=null&&b.some(_=>!Object.prototype.hasOwnProperty.call(d,_)))throw new Error(`parent schema must have dependencies of ${y}: ${b.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 Si.validateKeywordUsage=u,Si}var Fr={},vA;function vB(){if(vA)return Fr;vA=1,Object.defineProperty(Fr,"__esModule",{value:!0}),Fr.extendSubschemaMode=Fr.extendSubschemaData=Fr.getSubschema=void 0;const n=Ge,e=ye;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 qn={},Zy=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},q$={exports:{}},pa=q$.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(){};Fm(e,s,i,n,"",n)};pa.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};pa.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};pa.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};pa.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 Fm(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 pa.arrayKeywords)for(var d=0;de+=U$(s)),e===1/0))return 1/0}return e}function V$(n,e="",t){t!==!1&&(e=eh(e));const s=n.parse(e);return W$(n,s)}qn.getFullPath=V$;function W$(n,e){return n.serialize(e).split("#")[0]+"#"}qn._getFullPath=W$;const CB=/#\/?$/;function eh(n){return n?n.replace(CB,""):""}qn.normalizeId=eh;function $B(n,e,t){return t=eh(t),n.resolve(e,t)}qn.resolveUrl=$B;const TB=/^[a-z_][-a-z0-9._]*$/i;function PB(n,e){if(typeof n=="boolean")return{};const{schemaId:t,uriResolver:s}=this.opts,i=eh(n[t]||e),r={"":i},o=V$(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])),b.call(this,u.$anchor),b.call(this,u.$dynamicAnchor),r[d]=v;function y(_){const k=this.opts.uriResolver.resolve;if(_=eh(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,_):_!==eh(g)&&(_[0]==="#"?(c(u,a[_],_),a[_]=u):this.refs[_]=g),_}function b(_){if(typeof _=="string"){if(!TB.test(_))throw new Error(`invalid anchor "${_}"`);y.call(this,`#${_}`)}}}),a;function c(u,d,p){if(d!==void 0&&!SB(u,d))throw h(p)}function h(u){return new Error(`reference "${u}" resolves to more than one schema`)}}qn.getSchemaRefs=PB;var bA;function Xy(){if(bA)return Dr;bA=1,Object.defineProperty(Dr,"__esModule",{value:!0}),Dr.getData=Dr.KeywordCxt=Dr.validateFunctionCode=void 0;const n=eB(),e=gn,t=vo,s=gn,i=gB(),r=yB(),o=vB(),a=Ge,l=Mr,c=qn,h=ye,u=Rp;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:V,schema:J,schemaEnv:ie,opts:he},we){he.code.es5?H.func(V,(0,a._)`${l.default.data}, ${l.default.valCxt}`,ie.$async,()=>{H.code((0,a._)`"use strict"; ${b(J,he)}`),g(H,he),H.code(we)}):H.func(V,(0,a._)`${l.default.data}, ${m(he)}`,ie.$async,()=>H.code(b(J,he)).code(we))}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,V){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}`),V.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),V.dynamicRef&&H.var(l.default.dynamicAnchors,(0,a._)`{}`)})}function v(H){const{schema:V,opts:J,gen:ie}=H;p(H,()=>{J.$comment&&V.$comment&&B(H),U(H),ie.let(l.default.vErrors,null),ie.let(l.default.errors,0),J.unevaluated&&y(H),O(H),N(H)})}function y(H){const{gen:V,validateName:J}=H;H.evaluated=V.const("evaluated",(0,a._)`${J}.evaluated`),V.if((0,a._)`${H.evaluated}.dynamicProps`,()=>V.assign((0,a._)`${H.evaluated}.props`,(0,a._)`undefined`)),V.if((0,a._)`${H.evaluated}.dynamicItems`,()=>V.assign((0,a._)`${H.evaluated}.items`,(0,a._)`undefined`))}function b(H,V){const J=typeof H=="object"&&H[V.schemaId];return J&&(V.code.source||V.code.process)?(0,a._)`/*# sourceURL=${J} */`:a.nil}function _(H,V){if(A(H)&&(E(H),k(H))){C(H,V);return}(0,n.boolOrEmptySchema)(H,V)}function k({schema:H,self:V}){if(typeof H=="boolean")return!H;for(const J in H)if(V.RULES.all[J])return!0;return!1}function A(H){return typeof H.schema!="boolean"}function C(H,V){const{schema:J,gen:ie,opts:he}=H;he.$comment&&J.$comment&&B(H),L(H),q(H);const we=ie.const("_errs",l.default.errors);O(H,we),ie.var(V,(0,a._)`${we} === ${l.default.errors}`)}function E(H){(0,h.checkUnknownRules)(H),F(H)}function O(H,V){if(H.opts.jtd)return Q(H,[],!1,V);const J=(0,e.getSchemaTypes)(H.schema),ie=(0,e.coerceAndCheckDataType)(H,J);Q(H,J,!ie,V)}function F(H){const{schema:V,errSchemaPath:J,opts:ie,self:he}=H;V.$ref&&ie.ignoreKeywordsWithRef&&(0,h.schemaHasRulesButRef)(V,he.RULES)&&he.logger.warn(`$ref: keywords ignored in schema at path "${J}"`)}function U(H){const{schema:V,opts:J}=H;V.default!==void 0&&J.useDefaults&&J.strictSchema&&(0,h.checkStrictMode)(H,"default is ignored in the schema root")}function L(H){const V=H.schema[H.opts.schemaId];V&&(H.baseId=(0,c.resolveUrl)(H.opts.uriResolver,H.baseId,V))}function q(H){if(H.schema.$async&&!H.schemaEnv.$async)throw new Error("async schema in sync schema")}function B({gen:H,schemaEnv:V,schema:J,errSchemaPath:ie,opts:he}){const we=J.$comment;if(he.$comment===!0)H.code((0,a._)`${l.default.self}.logger.log(${we})`);else if(typeof he.$comment=="function"){const Ye=(0,a.str)`${ie}/$comment`,Ct=H.scopeValue("root",{ref:V.root});H.code((0,a._)`${l.default.self}.opts.$comment(${we}, ${Ye}, ${Ct}.schema)`)}}function N(H){const{gen:V,schemaEnv:J,validateName:ie,ValidationError:he,opts:we}=H;J.$async?V.if((0,a._)`${l.default.errors} === 0`,()=>V.return(l.default.data),()=>V.throw((0,a._)`new ${he}(${l.default.vErrors})`)):(V.assign((0,a._)`${ie}.errors`,l.default.vErrors),we.unevaluated&&ee(H),V.return((0,a._)`${l.default.errors} === 0`))}function ee({gen:H,evaluated:V,props:J,items:ie}){J instanceof a.Name&&H.assign((0,a._)`${V}.props`,J),ie instanceof a.Name&&H.assign((0,a._)`${V}.items`,ie)}function Q(H,V,J,ie){const{gen:he,schema:we,data:Ye,allErrors:Ct,opts:pt,self:At}=H,{RULES:rt}=At;if(we.$ref&&(pt.ignoreKeywordsWithRef||!(0,h.schemaHasRulesButRef)(we,rt))){he.block(()=>K(H,"$ref",rt.all.$ref.definition));return}pt.jtd||ae(H,V),he.block(()=>{for(const $t of rt.rules)kn($t);kn(rt.post)});function kn($t){(0,t.shouldUseGroup)(we,$t)&&($t.type?(he.if((0,s.checkDataType)($t.type,Ye,pt.strictNumbers)),te(H,$t),V.length===1&&V[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,V){const{gen:J,schema:ie,opts:{useDefaults:he}}=H;he&&(0,i.assignDefaults)(H,V.type),J.block(()=>{for(const we of V.rules)(0,t.shouldUseRule)(ie,we)&&K(H,we.keyword,we.definition,V.type)})}function ae(H,V){H.schemaEnv.meta||!H.opts.strictTypes||(Se(H,V),H.opts.allowUnionTypes||z(H,V),P(H,H.dataTypes))}function Se(H,V){if(V.length){if(!H.dataTypes.length){H.dataTypes=V;return}V.forEach(J=>{M(H.dataTypes,J)||x(H,`type "${J}" not allowed by context "${H.dataTypes.join(",")}"`)}),w(H,V)}}function z(H,V){V.length>1&&!(V.length===2&&V.includes("null"))&&x(H,"use allowUnionTypes to allow union type keyword")}function P(H,V){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:we}=he.definition;we.length&&!we.some(Ye=>D(V,Ye))&&x(H,`missing type "${we.join(",")}" for keyword "${ie}"`)}}}function D(H,V){return H.includes(V)||V==="number"&&H.includes("integer")}function M(H,V){return H.includes(V)||V==="integer"&&H.includes("number")}function w(H,V){const J=[];for(const ie of H.dataTypes)M(V,ie)?J.push(ie):V.includes("integer")&&ie==="number"&&J.push("integer");H.dataTypes=J}function x(H,V){const J=H.schemaEnv.baseId+H.errSchemaPath;V+=` at "${J}" (strictTypes)`,(0,h.checkStrictMode)(H,V,H.opts.strictTypes)}class I{constructor(V,J,ie){if((0,r.validateKeywordUsage)(V,J,ie),this.gen=V.gen,this.allErrors=V.allErrors,this.keyword=ie,this.data=V.data,this.schema=V.schema[ie],this.$data=J.$data&&V.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,h.schemaRefOrVal)(V,this.schema,ie,this.$data),this.schemaType=J.schemaType,this.parentSchema=V.schema,this.params={},this.it=V,this.def=J,this.$data)this.schemaCode=V.gen.const("vSchema",oe(this.$data,V));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=V.gen.const("_errs",l.default.errors))}result(V,J,ie){this.failResult((0,a.not)(V),J,ie)}failResult(V,J,ie){this.gen.if(V),ie?ie():this.error(),J?(this.gen.else(),J(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(V,J){this.failResult((0,a.not)(V),void 0,J)}fail(V){if(V===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(V),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(V){if(!this.$data)return this.fail(V);const{schemaCode:J}=this;this.fail((0,a._)`${J} !== undefined && (${(0,a.or)(this.invalid$data(),V)})`)}error(V,J,ie){if(J){this.setParams(J),this._error(V,ie),this.setParams({});return}this._error(V,ie)}_error(V,J){(V?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(V){this.allErrors||this.gen.if(V)}setParams(V,J){J?Object.assign(this.params,V):this.params=V}block$data(V,J,ie=a.nil){this.gen.block(()=>{this.check$data(V,ie),J()})}check$data(V=a.nil,J=a.nil){if(!this.$data)return;const{gen:ie,schemaCode:he,schemaType:we,def:Ye}=this;ie.if((0,a.or)((0,a._)`${he} === undefined`,J)),V!==a.nil&&ie.assign(V,!0),(we.length||Ye.validateSchema)&&(ie.elseIf(this.invalid$data()),this.$dataError(),V!==a.nil&&ie.assign(V,!1)),ie.else()}invalid$data(){const{gen:V,schemaCode:J,schemaType:ie,def:he,it:we}=this;return(0,a.or)(Ye(),Ct());function Ye(){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,we.opts.strictNumbers,s.DataType.Wrong)}`}return a.nil}function Ct(){if(he.validateSchema){const pt=V.scopeValue("validate$data",{ref:he.validateSchema});return(0,a._)`!${pt}(${J})`}return a.nil}}subschema(V,J){const ie=(0,o.getSubschema)(this.it,V);(0,o.extendSubschemaData)(ie,this.it,V),(0,o.extendSubschemaMode)(ie,V);const he={...this.it,...ie,items:void 0,props:void 0};return _(he,J),he}mergeEvaluated(V,J){const{it:ie,gen:he}=this;ie.opts.unevaluated&&(ie.props!==!0&&V.props!==void 0&&(ie.props=h.mergeEvaluated.props(he,V.props,ie.props,J)),ie.items!==!0&&V.items!==void 0&&(ie.items=h.mergeEvaluated.items(he,V.items,ie.items,J)))}mergeValidEvaluated(V,J){const{it:ie,gen:he}=this;if(ie.opts.unevaluated&&(ie.props!==!0||ie.items!==!0))return he.if(J,()=>this.mergeEvaluated(V,a.Name)),!0}}Dr.KeywordCxt=I;function K(H,V,J,ie){const he=new I(H,J,V);"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:V,dataNames:J,dataPathArr:ie}){let he,we;if(H==="")return l.default.rootData;if(H[0]==="/"){if(!Y.test(H))throw new Error(`Invalid JSON-pointer: ${H}`);he=H,we=l.default.rootData}else{const At=ue.exec(H);if(!At)throw new Error(`Invalid JSON-pointer: ${H}`);const rt=+At[1];if(he=At[2],he==="#"){if(rt>=V)throw new Error(pt("property/index",rt));return ie[V-rt]}if(rt>V)throw new Error(pt("data",rt));if(we=J[V-rt],!he)return we}let Ye=we;const Ct=he.split("/");for(const At of Ct)At&&(we=(0,a._)`${we}${(0,a.getProperty)((0,h.unescapeJsonPointer)(At))}`,Ye=(0,a._)`${Ye} && ${we}`);return Ye;function pt(At,rt){return`Cannot access ${At} ${rt} levels up, current level is ${V}`}}return Dr.getData=oe,Dr}var Qp={},wA;function yS(){if(wA)return Qp;wA=1,Object.defineProperty(Qp,"__esModule",{value:!0});class n extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}}return Qp.default=n,Qp}var Cu={};Object.defineProperty(Cu,"__esModule",{value:!0});const D0=qn;let RB=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))}};Cu.default=RB;var Ps={};Object.defineProperty(Ps,"__esModule",{value:!0});Ps.resolveSchema=Ps.getCompilingSchema=Ps.resolveRef=Ps.compileSchema=Ps.SchemaEnv=void 0;const ki=Ge,MB=yS(),ja=Mr,Bi=qn,_A=ye,IB=Xy();let Yy=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,Bi.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={}}};Ps.SchemaEnv=Yy;function vS(n){const e=G$.call(this,n);if(e)return e;const t=(0,Bi.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:MB.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:ja.default.data,parentData:ja.default.parentData,parentDataProperty:ja.default.parentDataProperty,dataNames:[ja.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,IB.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);const u=o.toString();h=`${o.scopeRefs(ja.default.scope)}return ${u}`,this.opts.code.process&&(h=this.opts.code.process(h,n));const p=new Function(`${ja.default.self}`,`${ja.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)}}Ps.compileSchema=vS;function OB(n,e,t){var s;t=(0,Bi.resolveUrl)(this.opts.uriResolver,e,t);const i=n.refs[t];if(i)return i;let r=DB.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 Yy({schema:o,schemaId:a,root:n,baseId:e}))}if(r!==void 0)return n.refs[t]=NB.call(this,r)}Ps.resolveRef=OB;function NB(n){return(0,Bi.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:vS.call(this,n)}function G$(n){for(const e of this._compilations)if(LB(e,n))return e}Ps.getCompilingSchema=G$;function LB(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function DB(n,e){let t;for(;typeof(t=this.refs[e])=="string";)e=t;return t||this.schemas[e]||Jy.call(this,n,e)}function Jy(n,e){const t=this.opts.uriResolver.parse(e),s=(0,Bi._getFullPath)(this.opts.uriResolver,t);let i=(0,Bi.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,Bi.normalizeId)(s),o=this.refs[r]||this.schemas[r];if(typeof o=="string"){const a=Jy.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||vS.call(this,o),r===(0,Bi.normalizeId)(e)){const{schema:a}=o,{schemaId:l}=this.opts,c=a[l];return c&&(i=(0,Bi.resolveUrl)(this.opts.uriResolver,i,c)),new Yy({schema:a,schemaId:l,root:n,baseId:i})}return F0.call(this,t,o)}}Ps.resolveSchema=Jy;const FB=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,_A.unescapeFragment)(a)];if(l===void 0)return;t=l;const c=typeof t=="object"&&t[this.opts.schemaId];!FB.has(a)&&c&&(e=(0,Bi.resolveUrl)(this.opts.uriResolver,e,c))}let r;if(typeof t!="boolean"&&t.$ref&&!(0,_A.schemaHasRulesButRef)(t,this.RULES)){const a=(0,Bi.resolveUrl)(this.opts.uriResolver,e,t.$ref);r=Jy.call(this,s,a)}const{schemaId:o}=this.opts;if(r=r||new Yy({schema:t,schemaId:o,root:s,baseId:e}),r.schema!==r.root.schema)return r}const jB="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",zB="Meta-schema for $data reference (JSON AnySchema extension proposal)",HB="object",BB=["$data"],qB={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},UB=!1,VB={$id:jB,description:zB,type:HB,required:BB,properties:qB,additionalProperties:UB};var bS={},Qy={exports:{}};const WB=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),K$=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),wS=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Z$=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),GB=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function X$(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 KB=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function SA(n){return n.length=0,!0}function ZB(n,e,t){if(n.length){const s=X$(n);if(s!=="")e.push(s);else return t.error=!0,!1;n.length=0}return!0}function XB(n){let e=0;const t={error:!1,address:"",zone:""},s=[],i=[];let r=!1,o=!1,a=ZB;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=SA}else{i.push(c);continue}}return i.length&&(a===SA?t.zone=i.join(""):o?s.push(i.join("")):s.push(X$(i))),t.address=s.join(""),t}function Y$(n){if(YB(n,":")<2)return{host:n,isIPV6:!1};const e=XB(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 YB(n,e){let t=0;for(let s=0;sQB[s])}function nq(n,e=!1){if(n.indexOf("%")===-1)return n;let t="";for(let s=0;s65535))return"URI port is malformed."}function Dg(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(Mq);o!==null&&o[1].indexOf("\\")!==-1&&(s.error="URI authority must not contain a literal backslash.",i=!0);const a=n.match(Iq);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(Rq);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=Oq(s,l);if(c!==void 0&&(s.error=s.error||c,i=!0),s.host)if(xq(s.host)===!1){const d=bq(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=iT(t.scheme||s.scheme);if(!t.unicodeSupport&&(!h||!h.unicodeSupport)&&s.host&&(t.domainHost||h&&h.domainHost)&&r===!1&&Eq(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=Aq(unescape(s.host),r))),s.path&&(s.path=Sq(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 Fg(n,e){return Dg(n,e).parsed}function Nq(n,e){return oT(n,e).normalized}function oT(n,e){const{parsed:t,malformedAuthorityOrPort:s}=Dg(n,e);return{normalized:s?n:ac(t,e),malformedAuthorityOrPort:s}}function kA(n,e){if(typeof n=="string"){const{normalized:t,malformedAuthorityOrPort:s}=oT(n,e);return s?void 0:t}if(typeof n=="object")return ac(n,e)}const SS={SCHEMES:Cq,normalize:$q,resolve:Tq,resolveComponent:rT,equal:Pq,serialize:ac,parse:Fg};Qy.exports=SS;Qy.exports.default=SS;Qy.exports.fastUri=SS;var aT=Qy.exports;Object.defineProperty(bS,"__esModule",{value:!0});const lT=aT;lT.code='require("ajv/dist/runtime/uri").default';bS.default=lT;(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=Xy();Object.defineProperty(n,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var t=Ge;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=yS(),i=Cu,r=oc,o=Ps,a=Ge,l=qn,c=gn,h=ye,u=VB,d=bS,p=(z,P)=>new RegExp(z,P);p.code="new RegExp";const m=["removeAdditional","useDefaults","coerceTypes"],g=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),v={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},y={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},b=200;function _(z){var P,D,M,w,x,I,K,Y,ue,oe,H,V,J,ie,he,we,Ye,Ct,pt,At,rt,kn,$t,Yn,In;const tn=z.strict,cn=(P=z.code)===null||P===void 0?void 0:P.optimize,hn=cn===!0||cn===void 0?1:cn||0,nn=(M=(D=z.code)===null||D===void 0?void 0:D.regExp)!==null&&M!==void 0?M:p,hs=(w=z.uriResolver)!==null&&w!==void 0?w:d.default;return{strictSchema:(I=(x=z.strictSchema)!==null&&x!==void 0?x:tn)!==null&&I!==void 0?I:!0,strictNumbers:(Y=(K=z.strictNumbers)!==null&&K!==void 0?K:tn)!==null&&Y!==void 0?Y:!0,strictTypes:(oe=(ue=z.strictTypes)!==null&&ue!==void 0?ue:tn)!==null&&oe!==void 0?oe:"log",strictTuples:(V=(H=z.strictTuples)!==null&&H!==void 0?H:tn)!==null&&V!==void 0?V:"log",strictRequired:(ie=(J=z.strictRequired)!==null&&J!==void 0?J:tn)!==null&&ie!==void 0?ie:!1,code:z.code?{...z.code,optimize:hn,regExp:nn}:{optimize:hn,regExp:nn},loopRequired:(he=z.loopRequired)!==null&&he!==void 0?he:b,loopEnum:(we=z.loopEnum)!==null&&we!==void 0?we:b,meta:(Ye=z.meta)!==null&&Ye!==void 0?Ye:!0,messages:(Ct=z.messages)!==null&&Ct!==void 0?Ct:!0,inlineRefs:(pt=z.inlineRefs)!==null&&pt!==void 0?pt:!0,schemaId:(At=z.schemaId)!==null&&At!==void 0?At:"$id",addUsedSchema:(rt=z.addUsedSchema)!==null&&rt!==void 0?rt:!0,validateSchema:(kn=z.validateSchema)!==null&&kn!==void 0?kn:!0,validateFormats:($t=z.validateFormats)!==null&&$t!==void 0?$t:!0,unicodeRegExp:(Yn=z.unicodeRegExp)!==null&&Yn!==void 0?Yn:!0,int32range:(In=z.int32range)!==null&&In!==void 0?In:!0,uriResolver:hs}}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:D,lines:M}=this.opts.code;this.scope=new a.ValueScope({scope:{},prefixes:g,es5:D,lines:M}),this.logger=q(P.logger);const w=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=U.call(this),P.formats&&O.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),P.keywords&&F.call(this,P.keywords),typeof P.meta=="object"&&this.addMetaSchema(P.meta),E.call(this),P.validateFormats=w}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:P,meta:D,schemaId:M}=this.opts;let w=u;M==="id"&&(w={...u},w.id=w.$id,delete w.$id),D&&P&&this.addMetaSchema(w,w[M],!1)}defaultMeta(){const{meta:P,schemaId:D}=this.opts;return this.opts.defaultMeta=typeof P=="object"?P[D]||P:void 0}validate(P,D){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 w=M(D);return"$async"in M||(this.errors=M.errors),w}compile(P,D){const M=this._addSchema(P,D);return M.validate||this._compileSchemaEnv(M)}compileAsync(P,D){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:M}=this.opts;return w.call(this,P,D);async function w(oe,H){await x.call(this,oe.$schema);const V=this._addSchema(oe,H);return V.validate||I.call(this,V)}async function x(oe){oe&&!this.getSchema(oe)&&await w.call(this,{$ref:oe},!0)}async function I(oe){try{return this._compileSchemaEnv(oe)}catch(H){if(!(H instanceof i.default))throw H;return K.call(this,H),await Y.call(this,H.missingSchema),I.call(this,oe)}}function K({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,D)}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,D,M,w=this.opts.validateSchema){if(Array.isArray(P)){for(const I of P)this.addSchema(I,void 0,M,w);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 D=(0,l.normalizeId)(D||x),this._checkUnique(D),this.schemas[D]=this._addSchema(P,M,D,w,!0),this}addMetaSchema(P,D,M=this.opts.validateSchema){return this.addSchema(P,D,!0,M),this}validateSchema(P,D){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 w=this.validate(M,P);if(!w&&D){const x="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(x);else throw new Error(x)}return w}getSchema(P){let D;for(;typeof(D=C.call(this,P))=="string";)P=D;if(D===void 0){const{schemaId:M}=this.opts,w=new o.SchemaEnv({schema:{},schemaId:M});if(D=o.resolveSchema.call(this,w,P),!D)return;this.refs[P]=D}return D.validate||this._compileSchemaEnv(D)}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 D=C.call(this,P);return typeof D=="object"&&this._cache.delete(D.schema),delete this.schemas[P],delete this.refs[P],this}case"object":{const D=P;this._cache.delete(D);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 D of P)this.addKeyword(D);return this}addKeyword(P,D){let M;if(typeof P=="string")M=P,typeof D=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),D.keyword=M);else if(typeof P=="object"&&D===void 0){if(D=P,M=D.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(N.call(this,M,D),!D)return(0,h.eachItem)(M,x=>ee.call(this,x)),this;te.call(this,D);const w={...D,type:(0,c.getJSONTypes)(D.type),schemaType:(0,c.getJSONTypes)(D.schemaType)};return(0,h.eachItem)(M,w.type.length===0?x=>ee.call(this,x,w):x=>w.type.forEach(I=>ee.call(this,x,w,I))),this}getKeyword(P){const D=this.RULES.all[P];return typeof D=="object"?D.definition:!!D}removeKeyword(P){const{RULES:D}=this;delete D.keywords[P],delete D.all[P];for(const M of D.rules){const w=M.rules.findIndex(x=>x.keyword===P);w>=0&&M.rules.splice(w,1)}return this}addFormat(P,D){return typeof D=="string"&&(D=new RegExp(D)),this.formats[P]=D,this}errorsText(P=this.errors,{separator:D=", ",dataVar:M="data"}={}){return!P||P.length===0?"No errors":P.map(w=>`${M}${w.instancePath} ${w.message}`).reduce((w,x)=>w+D+x)}$dataMetaSchema(P,D){const M=this.RULES.all;P=JSON.parse(JSON.stringify(P));for(const w of D){const x=w.split("/").slice(1);let I=P;for(const K of x)I=I[K];for(const K in M){const Y=M[K];if(typeof Y!="object")continue;const{$data:ue}=Y.definition,oe=I[K];ue&&oe&&(I[K]=Se(oe))}}return P}_removeAllSchemas(P,D){for(const M in P){const w=P[M];(!D||D.test(M))&&(typeof w=="string"?delete P[M]:w&&!w.meta&&(this._cache.delete(w.schema),delete P[M]))}}_addSchema(P,D,M,w=this.opts.validateSchema,x=this.opts.addUsedSchema){let I;const{schemaId:K}=this.opts;if(typeof P=="object")I=P[K];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:K,meta:D,baseId:M,localRefs:ue}),this._cache.set(Y.schema,Y),x&&!M.startsWith("#")&&(M&&this._checkUnique(M),this.refs[M]=Y),w&&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 D=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,P)}finally{this.opts=D}}}k.ValidationError=s.default,k.MissingRefError=i.default,n.default=k;function A(z,P,D,M="error"){for(const w in z){const x=w;x in P&&this.logger[M](`${D}: option ${w}. ${z[x]}`)}}function C(z){return z=(0,l.normalizeId)(z),this.schemas[z]||this.refs[z]}function E(){const z=this.opts.schemas;if(z)if(Array.isArray(z))this.addSchema(z);else for(const P in z)this.addSchema(z[P],P)}function O(){for(const z in this.opts.formats){const P=this.opts.formats[z];P&&this.addFormat(z,P)}}function F(z){if(Array.isArray(z)){this.addVocabulary(z);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const P in z){const D=z[P];D.keyword||(D.keyword=P),this.addKeyword(D)}}function U(){const z={...this.opts};for(const P of m)delete z[P];return z}const L={log(){},warn(){},error(){}};function q(z){if(z===!1)return L;if(z===void 0)return console;if(z.log&&z.warn&&z.error)return z;throw new Error("logger must implement log, warn and error methods")}const B=/^[a-z_$][a-z0-9_$:-]*$/i;function N(z,P){const{RULES:D}=this;if((0,h.eachItem)(z,M=>{if(D.keywords[M])throw new Error(`Keyword ${M} is already defined`);if(!B.test(M))throw new Error(`Keyword ${M} has invalid name`)}),!!P&&P.$data&&!("code"in P||"validate"in P))throw new Error('$data keyword must have "code" or "validate" function')}function ee(z,P,D){var M;const w=P==null?void 0:P.post;if(D&&w)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:x}=this;let I=w?x.post:x.rules.find(({type:Y})=>Y===D);if(I||(I={type:D,rules:[]},x.rules.push(I)),x.keywords[z]=!0,!P)return;const K={keyword:z,definition:{...P,type:(0,c.getJSONTypes)(P.type),schemaType:(0,c.getJSONTypes)(P.schemaType)}};P.before?Q.call(this,I,K,P.before):I.rules.push(K),x.all[z]=K,(M=P.implements)===null||M===void 0||M.forEach(Y=>this.addKeyword(Y))}function Q(z,P,D){const M=z.rules.findIndex(w=>w.keyword===D);M>=0?z.rules.splice(M,0,P):(z.rules.push(P),this.logger.warn(`rule ${D} is not defined`))}function te(z){let{metaSchema:P}=z;P!==void 0&&(z.$data&&this.opts.$data&&(P=Se(P)),z.validateSchema=this.compile(P,!0))}const ae={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Se(z){return{anyOf:[z,ae]}}})(M$);var kS={},AS={},xS={};Object.defineProperty(xS,"__esModule",{value:!0});const Lq={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};xS.default=Lq;var lc={};Object.defineProperty(lc,"__esModule",{value:!0});lc.callRef=lc.getValidate=void 0;const Dq=Cu,AA=Zi(),Cs=Ge,Tc=Mr,xA=Ps,em=ye,Fq={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=xA.resolveRef.call(l,c,i,t);if(h===void 0)throw new Dq.default(s.opts.uriResolver,i,t);if(h instanceof xA.SchemaEnv)return d(h);return p(h);function u(){if(r===c)return zm(n,o,r,r.$async);const m=e.scopeValue("root",{ref:c});return zm(n,(0,Cs._)`${m}.validate`,c,c.$async)}function d(m){const g=cT(n,m);zm(n,g,m,m.$async)}function p(m){const g=e.scopeValue("schema",a.code.source===!0?{ref:m,code:(0,Cs.stringify)(m)}:{ref:m}),v=e.name("valid"),y=n.subschema({schema:m,dataTypes:[],schemaPath:Cs.nil,topSchemaRef:g,errSchemaPath:t},v);n.mergeEvaluated(y),n.ok(v)}}};function cT(n,e){const{gen:t}=n;return e.validate?t.scopeValue("validate",{ref:e.validate}):(0,Cs._)`${t.scopeValue("wrapper",{ref:e})}.validate`}lc.getValidate=cT;function zm(n,e,t,s){const{gen:i,it:r}=n,{allErrors:o,schemaEnv:a,opts:l}=r,c=l.passContext?Tc.default.this:Cs.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,Cs._)`await ${(0,AA.callValidateCode)(n,e,c)}`),p(e),o||i.assign(m,!0)},g=>{i.if((0,Cs._)`!(${g} instanceof ${r.ValidationError})`,()=>i.throw(g)),d(g),o||i.assign(m,!1)}),n.ok(m)}function u(){n.result((0,AA.callValidateCode)(n,e,c),()=>p(e),()=>d(e))}function d(m){const g=(0,Cs._)`${m}.errors`;i.assign(Tc.default.vErrors,(0,Cs._)`${Tc.default.vErrors} === null ? ${g} : ${Tc.default.vErrors}.concat(${g})`),i.assign(Tc.default.errors,(0,Cs._)`${Tc.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=em.mergeEvaluated.props(i,v.props,r.props));else{const y=i.var("props",(0,Cs._)`${m}.evaluated.props`);r.props=em.mergeEvaluated.props(i,y,r.props,Cs.Name)}if(r.items!==!0)if(v&&!v.dynamicItems)v.items!==void 0&&(r.items=em.mergeEvaluated.items(i,v.items,r.items));else{const y=i.var("items",(0,Cs._)`${m}.evaluated.items`);r.items=em.mergeEvaluated.items(i,y,r.items,Cs.Name)}}}lc.callRef=zm;lc.default=Fq;Object.defineProperty(AS,"__esModule",{value:!0});const jq=xS,zq=lc,Hq=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",jq.default,zq.default];AS.default=Hq;var ES={},CS={};Object.defineProperty(CS,"__esModule",{value:!0});const jg=Ge,To=jg.operators,zg={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}},Bq={message:({keyword:n,schemaCode:e})=>(0,jg.str)`must be ${zg[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,jg._)`{comparison: ${zg[n].okStr}, limit: ${e}}`},qq={keyword:Object.keys(zg),type:"number",schemaType:"number",$data:!0,error:Bq,code(n){const{keyword:e,data:t,schemaCode:s}=n;n.fail$data((0,jg._)`${t} ${zg[e].fail} ${s} || isNaN(${t})`)}};CS.default=qq;var $S={};Object.defineProperty($S,"__esModule",{value:!0});const _d=Ge,Uq={message:({schemaCode:n})=>(0,_d.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,_d._)`{multipleOf: ${n}}`},Vq={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Uq,code(n){const{gen:e,data:t,schemaCode:s,it:i}=n,r=i.opts.multipleOfPrecision,o=e.let("res"),a=r?(0,_d._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${r}`:(0,_d._)`${o} !== parseInt(${o})`;n.fail$data((0,_d._)`(${s} === 0 || (${o} = ${t}/${s}, ${a}))`)}};$S.default=Vq;var TS={},PS={};Object.defineProperty(PS,"__esModule",{value:!0});function hT(n){const e=n.length;let t=0,s=0,i;for(;s=55296&&i<=56319&&s(0,Ya._)`{limit: ${n}}`},Zq={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Kq,code(n){const{keyword:e,data:t,schemaCode:s,it:i}=n,r=e==="maxLength"?Ya.operators.GT:Ya.operators.LT,o=i.opts.unicode===!1?(0,Ya._)`${t}.length`:(0,Ya._)`${(0,Wq.useFunc)(n.gen,Gq.default)}(${t})`;n.fail$data((0,Ya._)`${o} ${r} ${s}`)}};TS.default=Zq;var RS={};Object.defineProperty(RS,"__esModule",{value:!0});const Xq=Zi(),Yq=ye,Kc=Ge,Jq={message:({schemaCode:n})=>(0,Kc.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,Kc._)`{pattern: ${n}}`},Qq={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Jq,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,Kc._)`new RegExp`:(0,Yq.useFunc)(e,l),h=e.let("valid");e.try(()=>e.assign(h,(0,Kc._)`${c}(${r}, ${a}).test(${t})`),()=>e.assign(h,!1)),n.fail$data((0,Kc._)`!${h}`)}else{const l=(0,Xq.usePattern)(n,i);n.fail$data((0,Kc._)`!${l}.test(${t})`)}}};RS.default=Qq;var MS={};Object.defineProperty(MS,"__esModule",{value:!0});const Sd=Ge,eU={message({keyword:n,schemaCode:e}){const t=n==="maxProperties"?"more":"fewer";return(0,Sd.str)`must NOT have ${t} than ${e} properties`},params:({schemaCode:n})=>(0,Sd._)`{limit: ${n}}`},tU={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:eU,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxProperties"?Sd.operators.GT:Sd.operators.LT;n.fail$data((0,Sd._)`Object.keys(${t}).length ${i} ${s}`)}};MS.default=tU;var IS={};Object.defineProperty(IS,"__esModule",{value:!0});const ju=Zi(),kd=Ge,nU=ye,sU={message:({params:{missingProperty:n}})=>(0,kd.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,kd._)`{missingProperty: ${n}}`},iU={keyword:"required",type:"object",schemaType:"array",$data:!0,error:sU,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,nU.checkStrictMode)(o,y,o.opts.strictRequired)}}function c(){if(l||r)n.block$data(kd.nil,u);else for(const p of t)(0,ju.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,ju.checkMissingProp)(n,t,p)),(0,ju.reportMissingProp)(n,p),e.else()}function u(){e.forOf("prop",s,p=>{n.setParams({missingProperty:p}),e.if((0,ju.noPropertyInData)(e,i,p,a.ownProperties),()=>n.error())})}function d(p,m){n.setParams({missingProperty:p}),e.forOf(p,s,()=>{e.assign(m,(0,ju.propertyInData)(e,i,p,a.ownProperties)),e.if((0,kd.not)(m),()=>{n.error(),e.break()})},kd.nil)}}};IS.default=iU;var OS={};Object.defineProperty(OS,"__esModule",{value:!0});const Ad=Ge,rU={message({keyword:n,schemaCode:e}){const t=n==="maxItems"?"more":"fewer";return(0,Ad.str)`must NOT have ${t} than ${e} items`},params:({schemaCode:n})=>(0,Ad._)`{limit: ${n}}`},oU={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:rU,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxItems"?Ad.operators.GT:Ad.operators.LT;n.fail$data((0,Ad._)`${t}.length ${i} ${s}`)}};OS.default=oU;var NS={},Mp={};Object.defineProperty(Mp,"__esModule",{value:!0});const uT=Zy;uT.code='require("ajv/dist/runtime/equal").default';Mp.default=uT;Object.defineProperty(NS,"__esModule",{value:!0});const j0=gn,Nn=Ge,aU=ye,lU=Mp,cU={message:({params:{i:n,j:e}})=>(0,Nn.str)`must NOT have duplicate items (items ## ${e} and ${n} are identical)`,params:({params:{i:n,j:e}})=>(0,Nn._)`{i: ${n}, j: ${e}}`},hU={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:cU,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,Nn._)`${o} === false`),n.ok(l);function h(){const m=e.let("i",(0,Nn._)`${t}.length`),g=e.let("j");n.setParams({i:m,j:g}),e.assign(l,!0),e.if((0,Nn._)`${m} > 1`,()=>(u()?d:p)(m,g))}function u(){return c.length>0&&!c.some(m=>m==="object"||m==="array")}function d(m,g){const v=e.name("item"),y=(0,j0.checkDataTypes)(c,v,a.opts.strictNumbers,j0.DataType.Wrong),b=e.const("indices",(0,Nn._)`{}`);e.for((0,Nn._)`;${m}--;`,()=>{e.let(v,(0,Nn._)`${t}[${m}]`),e.if(y,(0,Nn._)`continue`),c.length>1&&e.if((0,Nn._)`typeof ${v} == "string"`,(0,Nn._)`${v} += "_"`),e.if((0,Nn._)`typeof ${b}[${v}] == "number"`,()=>{e.assign(g,(0,Nn._)`${b}[${v}]`),n.error(),e.assign(l,!1).break()}).code((0,Nn._)`${b}[${v}] = ${m}`)})}function p(m,g){const v=(0,aU.useFunc)(e,lU.default),y=e.name("outer");e.label(y).for((0,Nn._)`;${m}--;`,()=>e.for((0,Nn._)`${g} = ${m}; ${g}--;`,()=>e.if((0,Nn._)`${v}(${t}[${m}], ${t}[${g}])`,()=>{n.error(),e.assign(l,!1).break(y)})))}}};NS.default=hU;var LS={};Object.defineProperty(LS,"__esModule",{value:!0});const qv=Ge,uU=ye,dU=Mp,fU={message:"must be equal to constant",params:({schemaCode:n})=>(0,qv._)`{allowedValue: ${n}}`},pU={keyword:"const",$data:!0,error:fU,code(n){const{gen:e,data:t,$data:s,schemaCode:i,schema:r}=n;s||r&&typeof r=="object"?n.fail$data((0,qv._)`!${(0,uU.useFunc)(e,dU.default)}(${t}, ${i})`):n.fail((0,qv._)`${r} !== ${t}`)}};LS.default=pU;var DS={};Object.defineProperty(DS,"__esModule",{value:!0});const Qu=Ge,mU=ye,gU=Mp,yU={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,Qu._)`{allowedValues: ${n}}`},vU={keyword:"enum",schemaType:"array",$data:!0,error:yU,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,mU.useFunc)(e,gU.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,Qu.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,Qu._)`${c()}(${t}, ${p})`,()=>e.assign(h,!0).break()))}function d(p,m){const g=i[m];return typeof g=="object"&&g!==null?(0,Qu._)`${c()}(${t}, ${p}[${m}])`:(0,Qu._)`${t} === ${g}`}}};DS.default=vU;Object.defineProperty(ES,"__esModule",{value:!0});const bU=CS,wU=$S,_U=TS,SU=RS,kU=MS,AU=IS,xU=OS,EU=NS,CU=LS,$U=DS,TU=[bU.default,wU.default,_U.default,SU.default,kU.default,AU.default,xU.default,EU.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},CU.default,$U.default];ES.default=TU;var FS={},$u={};Object.defineProperty($u,"__esModule",{value:!0});$u.validateAdditionalItems=void 0;const Ja=Ge,Uv=ye,PU={message:({params:{len:n}})=>(0,Ja.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Ja._)`{limit: ${n}}`},RU={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:PU,code(n){const{parentSchema:e,it:t}=n,{items:s}=e;if(!Array.isArray(s)){(0,Uv.checkStrictMode)(t,'"additionalItems" is ignored when "items" is not an array of schemas');return}dT(n,s)}};function dT(n,e){const{gen:t,schema:s,data:i,keyword:r,it:o}=n;o.items=!0;const a=t.const("len",(0,Ja._)`${i}.length`);if(s===!1)n.setParams({len:e.length}),n.pass((0,Ja._)`${a} <= ${e.length}`);else if(typeof s=="object"&&!(0,Uv.alwaysValidSchema)(o,s)){const c=t.var("valid",(0,Ja._)`${a} <= ${e.length}`);t.if((0,Ja.not)(c),()=>l(c)),n.ok(c)}function l(c){t.forRange("i",e.length,a,h=>{n.subschema({keyword:r,dataProp:h,dataPropType:Uv.Type.Num},c),o.allErrors||t.if((0,Ja.not)(c),()=>t.break())})}}$u.validateAdditionalItems=dT;$u.default=RU;var jS={},Tu={};Object.defineProperty(Tu,"__esModule",{value:!0});Tu.validateTuple=void 0;const EA=Ge,Hm=ye,MU=Zi(),IU={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){const{schema:e,it:t}=n;if(Array.isArray(e))return fT(n,"additionalItems",e);t.items=!0,!(0,Hm.alwaysValidSchema)(t,e)&&n.ok((0,MU.validateArray)(n))}};function fT(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=Hm.mergeEvaluated.items(s,t.length,a.items));const l=s.name("valid"),c=s.const("len",(0,EA._)`${r}.length`);t.forEach((u,d)=>{(0,Hm.alwaysValidSchema)(a,u)||(s.if((0,EA._)`${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,Hm.checkStrictMode)(a,v,d.strictTuples)}}}Tu.validateTuple=fT;Tu.default=IU;Object.defineProperty(jS,"__esModule",{value:!0});const OU=Tu,NU={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,OU.validateTuple)(n,"items")};jS.default=NU;var zS={};Object.defineProperty(zS,"__esModule",{value:!0});const CA=Ge,LU=ye,DU=Zi(),FU=$u,jU={message:({params:{len:n}})=>(0,CA.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,CA._)`{limit: ${n}}`},zU={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:jU,code(n){const{schema:e,parentSchema:t,it:s}=n,{prefixItems:i}=t;s.items=!0,!(0,LU.alwaysValidSchema)(s,e)&&(i?(0,FU.validateAdditionalItems)(n,i):n.ok((0,DU.validateArray)(n)))}};zS.default=zU;var HS={};Object.defineProperty(HS,"__esModule",{value:!0});const ai=Ge,tm=ye,HU={message:({params:{min:n,max:e}})=>e===void 0?(0,ai.str)`must contain at least ${n} valid item(s)`:(0,ai.str)`must contain at least ${n} and no more than ${e} valid item(s)`,params:({params:{min:n,max:e}})=>e===void 0?(0,ai._)`{minContains: ${n}}`:(0,ai._)`{minContains: ${n}, maxContains: ${e}}`},BU={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:HU,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,ai._)`${i}.length`);if(n.setParams({min:o,max:a}),a===void 0&&o===0){(0,tm.checkStrictMode)(r,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,tm.checkStrictMode)(r,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,tm.alwaysValidSchema)(r,t)){let g=(0,ai._)`${h} >= ${o}`;a!==void 0&&(g=(0,ai._)`${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,ai._)`${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:tm.Type.Num,compositeRule:!0},g),v()})}function m(g){e.code((0,ai._)`${g}++`),a===void 0?e.if((0,ai._)`${g} >= ${o}`,()=>e.assign(u,!0).break()):(e.if((0,ai._)`${g} > ${a}`,()=>e.assign(u,!1).break()),o===1?e.assign(u,!0):e.if((0,ai._)`${g} >= ${o}`,()=>e.assign(u,!0)))}}};HS.default=BU;var pT={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.validateSchemaDeps=n.validatePropertyDeps=n.error=void 0;const e=Ge,t=ye,s=Zi();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})(pT);var BS={};Object.defineProperty(BS,"__esModule",{value:!0});const mT=Ge,qU=ye,UU={message:"property name must be valid",params:({params:n})=>(0,mT._)`{propertyName: ${n.propertyName}}`},VU={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:UU,code(n){const{gen:e,schema:t,data:s,it:i}=n;if((0,qU.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,mT.not)(r),()=>{n.error(!0),i.allErrors||e.break()})}),n.ok(r)}};BS.default=VU;var e0={};Object.defineProperty(e0,"__esModule",{value:!0});const nm=Zi(),xi=Ge,WU=Mr,sm=ye,GU={message:"must NOT have additional properties",params:({params:n})=>(0,xi._)`{additionalProperty: ${n.additionalProperty}}`},KU={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:GU,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,sm.alwaysValidSchema)(o,t))return;const c=(0,nm.allSchemaProperties)(s.properties),h=(0,nm.allSchemaProperties)(s.patternProperties);u(),n.ok((0,xi._)`${r} === ${WU.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 b=(0,sm.schemaRefOrVal)(o,s.properties,"properties");y=(0,nm.isOwnProperty)(e,b,v)}else c.length?y=(0,xi.or)(...c.map(b=>(0,xi._)`${v} === ${b}`)):y=xi.nil;return h.length&&(y=(0,xi.or)(y,...h.map(b=>(0,xi._)`${(0,nm.usePattern)(n,b)}.test(${v})`))),(0,xi.not)(y)}function p(v){e.code((0,xi._)`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,sm.alwaysValidSchema)(o,t)){const y=e.name("valid");l.removeAdditional==="failing"?(g(v,y,!1),e.if((0,xi.not)(y),()=>{n.reset(),p(v)})):(g(v,y),a||e.if((0,xi.not)(y),()=>e.break()))}}function g(v,y,b){const _={keyword:"additionalProperties",dataProp:v,dataPropType:sm.Type.Str};b===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(_,y)}}};e0.default=KU;var qS={};Object.defineProperty(qS,"__esModule",{value:!0});const ZU=Xy(),$A=Zi(),z0=ye,TA=e0,XU={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&&TA.default.code(new ZU.KeywordCxt(r,TA.default,"additionalProperties"));const o=(0,$A.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,$A.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)}}};qS.default=XU;var US={};Object.defineProperty(US,"__esModule",{value:!0});const PA=Zi(),im=Ge,RA=ye,MA=ye,YU={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,PA.allSchemaProperties)(t),l=a.filter(g=>(0,RA.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 im.Name)&&(r.props=(0,MA.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,RA.checkStrictMode)(r,`property ${v} matches pattern ${g} (use allowMatchingProperties)`)}function m(g){e.forIn("key",s,v=>{e.if((0,im._)`${(0,PA.usePattern)(n,g)}.test(${v})`,()=>{const y=l.includes(g);y||n.subschema({keyword:"patternProperties",schemaProp:g,dataProp:v,dataPropType:MA.Type.Str},h),r.opts.unevaluated&&u!==!0?e.assign((0,im._)`${u}[${v}]`,!0):!y&&!r.allErrors&&e.if((0,im.not)(h),()=>e.break())})})}}};US.default=YU;var VS={};Object.defineProperty(VS,"__esModule",{value:!0});const JU=ye,QU={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){const{gen:e,schema:t,it:s}=n;if((0,JU.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"}};VS.default=QU;var WS={};Object.defineProperty(WS,"__esModule",{value:!0});const eV=Zi(),tV={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:eV.validateUnion,error:{message:"must match a schema in anyOf"}};WS.default=tV;var GS={};Object.defineProperty(GS,"__esModule",{value:!0});const Bm=Ge,nV=ye,sV={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,Bm._)`{passingSchemas: ${n.passing}}`},iV={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:sV,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,nV.alwaysValidSchema)(i,h)?e.var(l,!0):d=n.subschema({keyword:"oneOf",schemaProp:u,compositeRule:!0},l),u>0&&e.if((0,Bm._)`${l} && ${o}`).assign(o,!1).assign(a,(0,Bm._)`[${a}, ${u}]`).else(),e.if(l,()=>{e.assign(o,!0),e.assign(a,u),d&&n.mergeEvaluated(d,Bm.Name)})})}}};GS.default=iV;var KS={};Object.defineProperty(KS,"__esModule",{value:!0});const rV=ye,oV={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,rV.alwaysValidSchema)(s,r))return;const a=n.subschema({keyword:"allOf",schemaProp:o},i);n.ok(i),n.mergeEvaluated(a)})}};KS.default=oV;var ZS={};Object.defineProperty(ZS,"__esModule",{value:!0});const Hg=Ge,gT=ye,aV={message:({params:n})=>(0,Hg.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,Hg._)`{failingKeyword: ${n.ifClause}}`},lV={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:aV,code(n){const{gen:e,parentSchema:t,it:s}=n;t.then===void 0&&t.else===void 0&&(0,gT.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const i=IA(s,"then"),r=IA(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,Hg.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,Hg._)`${h}`):n.setParams({ifClause:h})}}}};function IA(n,e){const t=n.schema[e];return t!==void 0&&!(0,gT.alwaysValidSchema)(n,t)}ZS.default=lV;var XS={};Object.defineProperty(XS,"__esModule",{value:!0});const cV=ye,hV={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:t}){e.if===void 0&&(0,cV.checkStrictMode)(t,`"${n}" without "if" is ignored`)}};XS.default=hV;Object.defineProperty(FS,"__esModule",{value:!0});const uV=$u,dV=jS,fV=Tu,pV=zS,mV=HS,gV=pT,yV=BS,vV=e0,bV=qS,wV=US,_V=VS,SV=WS,kV=GS,AV=KS,xV=ZS,EV=XS;function CV(n=!1){const e=[_V.default,SV.default,kV.default,AV.default,xV.default,EV.default,yV.default,vV.default,gV.default,bV.default,wV.default];return n?e.push(dV.default,pV.default):e.push(uV.default,fV.default),e.push(mV.default),e}FS.default=CV;var YS={},JS={};Object.defineProperty(JS,"__esModule",{value:!0});const Kt=Ge,$V={message:({schemaCode:n})=>(0,Kt.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,Kt._)`{format: ${n}}`},TV={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:$V,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,Kt._)`${m}[${o}]`),v=t.let("fType"),y=t.let("format");t.if((0,Kt._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>t.assign(v,(0,Kt._)`${g}.type || "string"`).assign(y,(0,Kt._)`${g}.validate`),()=>t.assign(v,(0,Kt._)`"string"`).assign(y,g)),n.fail$data((0,Kt.or)(b(),_()));function b(){return l.strictSchema===!1?Kt.nil:(0,Kt._)`${o} && !${y}`}function _(){const k=h.$async?(0,Kt._)`(${g}.async ? await ${y}(${s}) : ${y}(${s}))`:(0,Kt._)`${y}(${s})`,A=(0,Kt._)`(typeof ${y} == "function" ? ${k} : ${y}.test(${s}))`;return(0,Kt._)`${y} && ${y} !== true && ${v} === ${e} && !${A}`}}function p(){const m=u.formats[r];if(!m){b();return}if(m===!0)return;const[g,v,y]=_(m);g===e&&n.pass(k());function b(){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 C=A instanceof RegExp?(0,Kt.regexpCode)(A):l.code.formats?(0,Kt._)`${l.code.formats}${(0,Kt.getProperty)(r)}`:void 0,E=t.scopeValue("formats",{key:r,ref:A,code:C});return typeof A=="object"&&!(A instanceof RegExp)?[A.type||"string",A.validate,(0,Kt._)`${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,Kt._)`await ${y}(${s})`}return typeof v=="function"?(0,Kt._)`${y}(${s})`:(0,Kt._)`${y}.test(${s})`}}}};JS.default=TV;Object.defineProperty(YS,"__esModule",{value:!0});const PV=JS,RV=[PV.default];YS.default=RV;var uu={};Object.defineProperty(uu,"__esModule",{value:!0});uu.contentVocabulary=uu.metadataVocabulary=void 0;uu.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];uu.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];Object.defineProperty(kS,"__esModule",{value:!0});const MV=AS,IV=ES,OV=FS,NV=YS,OA=uu,LV=[MV.default,IV.default,(0,OV.default)(),NV.default,OA.metadataVocabulary,OA.contentVocabulary];kS.default=LV;var QS={},t0={};Object.defineProperty(t0,"__esModule",{value:!0});t0.DiscrError=void 0;var NA;(function(n){n.Tag="tag",n.Mapping="mapping"})(NA||(t0.DiscrError=NA={}));Object.defineProperty(QS,"__esModule",{value:!0});const Oc=Ge,Vv=t0,LA=Ps,DV=Cu,FV=ye,jV={message:({params:{discrError:n,tagName:e}})=>n===Vv.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:t}})=>(0,Oc._)`{error: ${n}, tag: ${t}, tagValue: ${e}}`},zV={keyword:"discriminator",type:"object",schemaType:"object",error:jV,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,Oc._)`${t}${(0,Oc.getProperty)(a)}`);e.if((0,Oc._)`typeof ${c} == "string"`,()=>h(),()=>n.error(!1,{discrError:Vv.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,Oc._)`${c} === ${m}`),e.assign(l,u(p[m]));e.else(),n.error(!1,{discrError:Vv.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,Oc.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=Xy();Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return c.KeywordCxt}});var h=Ge;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=yS();Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return u.default}});var d=Cu;Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return d.default}})})(Fv,Fv.exports);var KV=Fv.exports;const ZV=x_(KV);var Wv={exports:{}},yT={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.formatNames=n.fastFormats=n.fullFormats=void 0;function e(L,q){return{validate:L,compare:q}}n.fullFormats={date:e(r,o),time:e(l(!0),c),"date-time":e(d(!0),p),"iso-time":e(l(),h),"iso-date-time":e(d(),m),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:y,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:U,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:_,int32:{type:"number",validate:C},int64:{type:"number",validate:E},float:{type:"number",validate:O},double:{type:"number",validate:O},password:!0,binary:!0},n.fastFormats={...n.fullFormats,date:e(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:e(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,c),"date-time":e(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,p),"iso-time":e(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,h),"iso-date-time":e(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,m),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},n.formatNames=Object.keys(n.fullFormats);function t(L){return L%4===0&&(L%100!==0||L%400===0)}const s=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31];function r(L){const q=s.exec(L);if(!q)return!1;const B=+q[1],N=+q[2],ee=+q[3];return N>=1&&N<=12&&ee>=1&&ee<=(N===2&&t(B)?29:i[N])}function o(L,q){if(L&&q)return L>q?1:L23||P>59||L&&!ae)return!1;if(ee<=23&&Q<=59&&te<60)return!0;const D=Q-P*Se,M=ee-z*Se-(D<0?1:0);return(M===23||M===-1)&&(D===59||D===-1)&&te<61}}function c(L,q){if(!(L&&q))return;const B=new Date("2020-01-01T"+L).valueOf(),N=new Date("2020-01-01T"+q).valueOf();if(B&&N)return B-N}function h(L,q){if(!(L&&q))return;const B=a.exec(L),N=a.exec(q);if(B&&N)return L=B[1]+B[2]+B[3],q=N[1]+N[2]+N[3],L>q?1:L=k}function E(L){return Number.isInteger(L)}function O(){return!0}const F=/[^\\]\\Z/;function U(L){if(F.test(L))return!1;try{return new RegExp(L),!0}catch{return!1}}})(yT);var vT={},Gv={exports:{}},bT={},Gi={},du={},Ip={},qe={},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(b){if(super(),!n.IDENTIFIER.test(b))throw new Error("CodeGen: name must be a valid identifier");this.str=b}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}n.Name=t;class s extends e{constructor(b){super(),this._items=typeof b=="string"?[b]:b}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const b=this._items[0];return b===""||b==='""'}get str(){var b;return(b=this._str)!==null&&b!==void 0?b:this._str=this._items.reduce((_,k)=>`${_}${k}`,"")}get names(){var b;return(b=this._names)!==null&&b!==void 0?b: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,...b){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 b=h(y);if(b){const _=this.opts.es5?n.varKinds.var:n.varKinds.const;p=(0,e._)`${p}${_} ${y} = ${b};${this.opts._n}`}else if(b=d==null?void 0:d(y))p=(0,e._)`${p}${b}${this.opts._n}`;else throw new t(y);v.set(y,s.Completed)})}return p}}n.ValueScope=a})(Kv);(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=Kv;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=Kv;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(w,x){return this}}class o extends r{constructor(w,x,I){super(),this.varKind=w,this.name=x,this.rhs=I}render({es5:w,_n:x}){const I=w?t.varKinds.var:this.varKind,K=this.rhs===void 0?"":` = ${this.rhs}`;return`${I} ${this.name}${K};`+x}optimizeNames(w,x){if(w[this.name.str])return this.rhs&&(this.rhs=N(this.rhs,w,x)),this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class a extends r{constructor(w,x,I){super(),this.lhs=w,this.rhs=x,this.sideEffects=I}render({_n:w}){return`${this.lhs} = ${this.rhs};`+w}optimizeNames(w,x){if(!(this.lhs instanceof e.Name&&!w[this.lhs.str]&&!this.sideEffects))return this.rhs=N(this.rhs,w,x),this}get names(){const w=this.lhs instanceof e.Name?{}:{...this.lhs.names};return B(w,this.rhs)}}class l extends a{constructor(w,x,I,K){super(w,I,K),this.op=x}render({_n:w}){return`${this.lhs} ${this.op}= ${this.rhs};`+w}}class c extends r{constructor(w){super(),this.label=w,this.names={}}render({_n:w}){return`${this.label}:`+w}}class h extends r{constructor(w){super(),this.label=w,this.names={}}render({_n:w}){return`break${this.label?` ${this.label}`:""};`+w}}class u extends r{constructor(w){super(),this.error=w}render({_n:w}){return`throw ${this.error};`+w}get names(){return this.error.names}}class d extends r{constructor(w){super(),this.code=w}render({_n:w}){return`${this.code};`+w}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(w,x){return this.code=N(this.code,w,x),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class p extends r{constructor(w=[]){super(),this.nodes=w}render(w){return this.nodes.reduce((x,I)=>x+I.render(w),"")}optimizeNodes(){const{nodes:w}=this;let x=w.length;for(;x--;){const I=w[x].optimizeNodes();Array.isArray(I)?w.splice(x,1,...I):I?w[x]=I:w.splice(x,1)}return w.length>0?this:void 0}optimizeNames(w,x){const{nodes:I}=this;let K=I.length;for(;K--;){const Y=I[K];Y.optimizeNames(w,x)||(ee(w,Y.names),I.splice(K,1))}return I.length>0?this:void 0}get names(){return this.nodes.reduce((w,x)=>q(w,x.names),{})}}class m extends p{render(w){return"{"+w._n+super.render(w)+"}"+w._n}}class g extends p{}class v extends m{}v.kind="else";class y extends m{constructor(w,x){super(x),this.condition=w}render(w){let x=`if(${this.condition})`+super.render(w);return this.else&&(x+="else "+this.else.render(w)),x}optimizeNodes(){super.optimizeNodes();const w=this.condition;if(w===!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 w===!1?x instanceof y?x:x.nodes:this.nodes.length?this:new y(Q(w),x instanceof y?[x]:x.nodes);if(!(w===!1||!this.nodes.length))return this}optimizeNames(w,x){var I;if(this.else=(I=this.else)===null||I===void 0?void 0:I.optimizeNames(w,x),!!(super.optimizeNames(w,x)||this.else))return this.condition=N(this.condition,w,x),this}get names(){const w=super.names;return B(w,this.condition),this.else&&q(w,this.else.names),w}}y.kind="if";class b extends m{}b.kind="for";class _ extends b{constructor(w){super(),this.iteration=w}render(w){return`for(${this.iteration})`+super.render(w)}optimizeNames(w,x){if(super.optimizeNames(w,x))return this.iteration=N(this.iteration,w,x),this}get names(){return q(super.names,this.iteration.names)}}class k extends b{constructor(w,x,I,K){super(),this.varKind=w,this.name=x,this.from=I,this.to=K}render(w){const x=w.es5?t.varKinds.var:this.varKind,{name:I,from:K,to:Y}=this;return`for(${x} ${I}=${K}; ${I}<${Y}; ${I}++)`+super.render(w)}get names(){const w=B(super.names,this.from);return B(w,this.to)}}class A extends b{constructor(w,x,I,K){super(),this.loop=w,this.varKind=x,this.name=I,this.iterable=K}render(w){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(w)}optimizeNames(w,x){if(super.optimizeNames(w,x))return this.iterable=N(this.iterable,w,x),this}get names(){return q(super.names,this.iterable.names)}}class C extends m{constructor(w,x,I){super(),this.name=w,this.args=x,this.async=I}render(w){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(w)}}C.kind="func";class E extends p{render(w){return"return "+super.render(w)}}E.kind="return";class O extends m{render(w){let x="try"+super.render(w);return this.catch&&(x+=this.catch.render(w)),this.finally&&(x+=this.finally.render(w)),x}optimizeNodes(){var w,x;return super.optimizeNodes(),(w=this.catch)===null||w===void 0||w.optimizeNodes(),(x=this.finally)===null||x===void 0||x.optimizeNodes(),this}optimizeNames(w,x){var I,K;return super.optimizeNames(w,x),(I=this.catch)===null||I===void 0||I.optimizeNames(w,x),(K=this.finally)===null||K===void 0||K.optimizeNames(w,x),this}get names(){const w=super.names;return this.catch&&q(w,this.catch.names),this.finally&&q(w,this.finally.names),w}}class F extends m{constructor(w){super(),this.error=w}render(w){return`catch(${this.error})`+super.render(w)}}F.kind="catch";class U extends m{render(w){return"finally"+super.render(w)}}U.kind="finally";class L{constructor(w,x={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...x,_n:x.lines?` +`:""},this._extScope=w,this._scope=new t.Scope({parent:w}),this._nodes=[new g]}toString(){return this._root.render(this.opts)}name(w){return this._scope.name(w)}scopeName(w){return this._extScope.name(w)}scopeValue(w,x){const I=this._extScope.value(w,x);return(this._values[I.prefix]||(this._values[I.prefix]=new Set)).add(I),I}getScopeValue(w,x){return this._extScope.getValue(w,x)}scopeRefs(w){return this._extScope.scopeRefs(w,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(w,x,I,K){const Y=this._scope.toName(x);return I!==void 0&&K&&(this._constants[Y.str]=I),this._leafNode(new o(w,Y,I)),Y}const(w,x,I){return this._def(t.varKinds.const,w,x,I)}let(w,x,I){return this._def(t.varKinds.let,w,x,I)}var(w,x,I){return this._def(t.varKinds.var,w,x,I)}assign(w,x,I){return this._leafNode(new a(w,x,I))}add(w,x){return this._leafNode(new l(w,n.operators.ADD,x))}code(w){return typeof w=="function"?w():w!==e.nil&&this._leafNode(new d(w)),this}object(...w){const x=["{"];for(const[I,K]of w)x.length>1&&x.push(","),x.push(I),(I!==K||this.opts.es5)&&(x.push(":"),(0,e.addCodeArg)(x,K));return x.push("}"),new e._Code(x)}if(w,x,I){if(this._blockNode(new y(w)),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(w){return this._elseNode(new y(w))}else(){return this._elseNode(new v)}endIf(){return this._endBlockNode(y,v)}_for(w,x){return this._blockNode(w),x&&this.code(x).endFor(),this}for(w,x){return this._for(new _(w),x)}forRange(w,x,I,K,Y=this.opts.es5?t.varKinds.var:t.varKinds.let){const ue=this._scope.toName(w);return this._for(new k(Y,ue,x,I),()=>K(ue))}forOf(w,x,I,K=t.varKinds.const){const Y=this._scope.toName(w);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",K,Y,x),()=>I(Y))}forIn(w,x,I,K=this.opts.es5?t.varKinds.var:t.varKinds.const){if(this.opts.ownProperties)return this.forOf(w,(0,e._)`Object.keys(${x})`,I);const Y=this._scope.toName(w);return this._for(new A("in",K,Y,x),()=>I(Y))}endFor(){return this._endBlockNode(b)}label(w){return this._leafNode(new c(w))}break(w){return this._leafNode(new h(w))}return(w){const x=new E;if(this._blockNode(x),this.code(w),x.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(E)}try(w,x,I){if(!x&&!I)throw new Error('CodeGen: "try" without "catch" and "finally"');const K=new O;if(this._blockNode(K),this.code(w),x){const Y=this.name("e");this._currNode=K.catch=new F(Y),x(Y)}return I&&(this._currNode=K.finally=new U,this.code(I)),this._endBlockNode(F,U)}throw(w){return this._leafNode(new u(w))}block(w,x){return this._blockStarts.push(this._nodes.length),w&&this.code(w).endBlock(x),this}endBlock(w){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||w!==void 0&&I!==w)throw new Error(`CodeGen: wrong number of nodes: ${I} vs ${w} expected`);return this._nodes.length=x,this}func(w,x=e.nil,I,K){return this._blockNode(new C(w,x,I)),K&&this.code(K).endFunc(),this}endFunc(){return this._endBlockNode(C)}optimize(w=1){for(;w-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(w){return this._currNode.nodes.push(w),this}_blockNode(w){this._currNode.nodes.push(w),this._nodes.push(w)}_endBlockNode(w,x){const I=this._currNode;if(I instanceof w||x&&I instanceof x)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${x?`${w.kind}/${x.kind}`:w.kind}"`)}_elseNode(w){const x=this._currNode;if(!(x instanceof y))throw new Error('CodeGen: "else" without "if"');return this._currNode=x.else=w,this}get _root(){return this._nodes[0]}get _currNode(){const w=this._nodes;return w[w.length-1]}set _currNode(w){const x=this._nodes;x[x.length-1]=w}}n.CodeGen=L;function q(M,w){for(const x in w)M[x]=(M[x]||0)+(w[x]||0);return M}function B(M,w){return w instanceof e._CodeOrName?q(M,w.names):M}function N(M,w,x){if(M instanceof e.Name)return I(M);if(!K(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||w[Y.str]!==1?Y:(delete w[Y.str],ue)}function K(Y){return Y instanceof e._Code&&Y._items.some(ue=>ue instanceof e.Name&&w[ue.str]===1&&x[ue.str]!==void 0)}}function ee(M,w){for(const x in w)M[x]=(M[x]||0)-(w[x]||0)}function Q(M){return typeof M=="boolean"||typeof M=="number"||M===null?!M:(0,e._)`!${D(M)}`}n.not=Q;const te=P(n.operators.AND);function ae(...M){return M.reduce(te)}n.and=ae;const Se=P(n.operators.OR);function z(...M){return M.reduce(Se)}n.or=z;function P(M){return(w,x)=>w===e.nil?x:x===e.nil?w:(0,e._)`${D(w)} ${M} ${D(x)}`}function D(M){return M instanceof e.Name?M:(0,e._)`(${M})`}})(qe);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 bt=qe,XV=Ud;function YV(n){const e={};for(const t of n)e[t]=!0;return e}ve.toHash=YV;function JV(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(wT(n,e),!_T(e,n.self.RULES.all))}ve.alwaysValidSchema=JV;function wT(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]||AT(n,`unknown keyword: "${r}"`)}ve.checkUnknownRules=wT;function _T(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(e[t])return!0;return!1}ve.schemaHasRules=_T;function QV(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=QV;function e3({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)}`}ve.schemaRefOrVal=e3;function t3(n){return ST(decodeURIComponent(n))}ve.unescapeFragment=t3;function n3(n){return encodeURIComponent(e1(n))}ve.escapeFragment=n3;function e1(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}ve.escapeJsonPointer=e1;function ST(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}ve.unescapeJsonPointer=ST;function s3(n,e){if(Array.isArray(n))for(const t of n)e(t);else e(n)}ve.eachItem=s3;function DA({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}}ve.mergeEvaluated={props:DA({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} || {}`),t1(n,t,e))}),mergeValues:(n,e)=>n===!0?!0:{...n,...e},resultToName:kT}),items:DA({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&&t1(n,t,e),t}ve.evaluatedPropsToName=kT;function t1(n,e,t){Object.keys(t).forEach(s=>n.assign((0,bt._)`${e}${(0,bt.getProperty)(s)}`,!0))}ve.setEvaluated=t1;const FA={};function i3(n,e){return n.scopeValue("func",{ref:e,code:FA[e.code]||(FA[e.code]=new XV._Code(e.code))})}ve.useFunc=i3;var Zv;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(Zv||(ve.Type=Zv={}));function r3(n,e,t){if(n instanceof bt.Name){const s=e===Zv.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():"/"+e1(n)}ve.getErrorPath=r3;function AT(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=AT;var Ir={};Object.defineProperty(Ir,"__esModule",{value:!0});const Qn=qe,o3={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")};Ir.default=o3;(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=ve,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,b,_){const{it:k}=v,{gen:A,compositeRule:C,allErrors:E}=k,O=u(v,y,b);_??(C||E)?l(A,O):c(k,(0,e._)`[${O}]`)}n.reportError=i;function r(v,y=n.keywordError,b){const{it:_}=v,{gen:k,compositeRule:A,allErrors:C}=_,E=u(v,y,b);l(k,E),A||C||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:b,data:_,errsCount:k,it:A}){if(k===void 0)throw new Error("ajv implementation error");const C=v.name("err");v.forRange("i",k,s.default.errors,E=>{v.const(C,(0,e._)`${s.default.vErrors}[${E}]`),v.if((0,e._)`${C}.instancePath === undefined`,()=>v.assign((0,e._)`${C}.instancePath`,(0,e.strConcat)(s.default.instancePath,A.errorPath))),v.assign((0,e._)`${C}.schemaPath`,(0,e.str)`${A.errSchemaPath}/${y}`),A.opts.verbose&&(v.assign((0,e._)`${C}.schema`,b),v.assign((0,e._)`${C}.data`,_))})}n.extendErrors=a;function l(v,y){const b=v.const("err",y);v.if((0,e._)`${s.default.vErrors} === null`,()=>v.assign(s.default.vErrors,(0,e._)`[${b}]`),(0,e._)`${s.default.vErrors}.push(${b})`),v.code((0,e._)`${s.default.errors}++`)}function c(v,y){const{gen:b,validateName:_,schemaEnv:k}=v;k.$async?b.throw((0,e._)`new ${v.ValidationError}(${y})`):(b.assign((0,e._)`${_}.errors`,y),b.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,b){const{createErrors:_}=v.it;return _===!1?(0,e._)`{}`:d(v,y,b)}function d(v,y,b={}){const{gen:_,it:k}=v,A=[p(k,b),m(v,b)];return g(v,y,A),_.object(...A)}function p({errorPath:v},{instancePath:y}){const b=y?(0,e.str)`${v}${(0,t.getErrorPath)(y,t.Type.Str)}`:v;return[s.default.instancePath,(0,e.strConcat)(s.default.instancePath,b)]}function m({keyword:v,it:{errSchemaPath:y}},{schemaPath:b,parentSchema:_}){let k=_?y:(0,e.str)`${y}/${v}`;return b&&(k=(0,e.str)`${k}${(0,t.getErrorPath)(b,t.Type.Str)}`),[h.schemaPath,k]}function g(v,{params:y,message:b},_){const{keyword:k,data:A,schemaValue:C,it:E}=v,{opts:O,propertyName:F,topSchemaRef:U,schemaPath:L}=E;_.push([h.keyword,k],[h.params,typeof y=="function"?y(v):y||(0,e._)`{}`]),O.messages&&_.push([h.message,typeof b=="function"?b(v):b]),O.verbose&&_.push([h.schema,C],[h.parentSchema,(0,e._)`${U}${L}`],[s.default.data,A]),F&&_.push([h.propertyName,F])}})(Ip);Object.defineProperty(du,"__esModule",{value:!0});du.boolOrEmptySchema=du.topBoolOrEmptySchema=void 0;const a3=Ip,l3=qe,c3=Ir,h3={message:"boolean schema is false"};function u3(n){const{gen:e,schema:t,validateName:s}=n;t===!1?xT(n,!1):typeof t=="object"&&t.$async===!0?e.return(c3.default.data):(e.assign((0,l3._)`${s}.errors`,null),e.return(!0))}du.topBoolOrEmptySchema=u3;function d3(n,e){const{gen:t,schema:s}=n;s===!1?(t.var(e,!1),xT(n)):t.var(e,!0)}du.boolOrEmptySchema=d3;function xT(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,a3.reportError)(i,h3,void 0,e)}var yn={},cc={};Object.defineProperty(cc,"__esModule",{value:!0});cc.getRules=cc.isJSONType=void 0;const f3=["string","number","integer","boolean","null","object","array"],p3=new Set(f3);function m3(n){return typeof n=="string"&&p3.has(n)}cc.isJSONType=m3;function g3(){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:{}}}cc.getRules=g3;var bo={};Object.defineProperty(bo,"__esModule",{value:!0});bo.shouldUseRule=bo.shouldUseGroup=bo.schemaHasRulesForType=void 0;function y3({schema:n,self:e},t){const s=e.RULES.types[t];return s&&s!==!0&&ET(n,s)}bo.schemaHasRulesForType=y3;function ET(n,e){return e.rules.some(t=>CT(n,t))}bo.shouldUseGroup=ET;function CT(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))}bo.shouldUseRule=CT;Object.defineProperty(yn,"__esModule",{value:!0});yn.reportTypeError=yn.checkDataTypes=yn.checkDataType=yn.coerceAndCheckDataType=yn.getJSONTypes=yn.getSchemaTypes=yn.DataType=void 0;const v3=cc,b3=bo,w3=Ip,Fe=qe,$T=ve;var th;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(th||(yn.DataType=th={}));function _3(n){const e=TT(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=_3;function TT(n){const e=Array.isArray(n)?n:n?[n]:[];if(e.every(v3.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}yn.getJSONTypes=TT;function S3(n,e){const{gen:t,data:s,opts:i}=n,r=k3(e,i.coerceTypes),o=e.length>0&&!(r.length===0&&e.length===1&&(0,b3.schemaHasRulesForType)(n,e[0]));if(o){const a=n1(e,s,i.strictNumbers,th.Wrong);t.if(a,()=>{r.length?A3(n,e,r):s1(n)})}return o}yn.coerceAndCheckDataType=S3;const PT=new Set(["string","number","integer","boolean","null"]);function k3(n,e){return e?n.filter(t=>PT.has(t)||e==="array"&&t==="array"):[]}function A3(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(n1(e,i,r.strictNumbers),()=>s.assign(a,i))),s.if((0,Fe._)`${a} !== undefined`);for(const c of t)(PT.has(c)||c==="array"&&r.coerceTypes==="array")&&l(c);s.else(),s1(n),s.endIf(),s.if((0,Fe._)`${a} !== undefined`,()=>{s.assign(i,a),x3(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 x3({gen:n,parentData:e,parentDataProperty:t},s){n.if((0,Fe._)`${e} !== undefined`,()=>n.assign((0,Fe._)`${e}[${t}]`,s))}function Xv(n,e,t,s=th.Correct){const i=s===th.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===th.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)}}yn.checkDataType=Xv;function n1(n,e,t,s){if(n.length===1)return Xv(n[0],e,t,s);let i;const r=(0,$T.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,Xv(o,e,t,s));return i}yn.checkDataTypes=n1;const E3={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,Fe._)`{type: ${n}}`:(0,Fe._)`{type: ${e}}`};function s1(n){const e=C3(n);(0,w3.reportError)(e,E3)}yn.reportTypeError=s1;function C3(n){const{gen:e,data:t,schema:s}=n,i=(0,$T.schemaRefOrVal)(n,s,"type");return{gen:e,keyword:"type",data:t,schema:s.type,schemaCode:i,schemaValue:i,parentSchema:s,params:{},it:n}}var n0={};Object.defineProperty(n0,"__esModule",{value:!0});n0.assignDefaults=void 0;const Pc=qe,$3=ve;function T3(n,e){const{properties:t,items:s}=n.schema;if(e==="object"&&t)for(const i in t)jA(n,i,t[i].default);else e==="array"&&Array.isArray(s)&&s.forEach((i,r)=>jA(n,r,i.default))}n0.assignDefaults=T3;function jA(n,e,t){const{gen:s,compositeRule:i,data:r,opts:o}=n;if(t===void 0)return;const a=(0,Pc._)`${r}${(0,Pc.getProperty)(e)}`;if(i){(0,$3.checkStrictMode)(n,`default is ignored for: ${a}`);return}let l=(0,Pc._)`${a} === undefined`;o.useDefaults==="empty"&&(l=(0,Pc._)`${l} || ${a} === null || ${a} === ""`),s.if(l,(0,Pc._)`${a} = ${(0,Pc.stringify)(t)}`)}var xr={},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=qe,i1=ve,Po=Ir,P3=ve;function R3(n,e){const{gen:t,data:s,it:i}=n;t.if(o1(t,s,e,i.opts.ownProperties),()=>{n.setParams({missingProperty:(0,Pt._)`${e}`},!0),n.error()})}We.checkReportMissingProp=R3;function M3({gen:n,data:e,it:{opts:t}},s,i){return(0,Pt.or)(...s.map(r=>(0,Pt.and)(o1(n,e,r,t.ownProperties),(0,Pt._)`${i} = ${r}`)))}We.checkMissingProp=M3;function I3(n,e){n.setParams({missingProperty:e},!0),n.error()}We.reportMissingProp=I3;function RT(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Pt._)`Object.prototype.hasOwnProperty`})}We.hasPropFunc=RT;function r1(n,e,t){return(0,Pt._)`${RT(n)}.call(${e}, ${t})`}We.isOwnProperty=r1;function O3(n,e,t,s){const i=(0,Pt._)`${e}${(0,Pt.getProperty)(t)} !== undefined`;return s?(0,Pt._)`${i} && ${r1(n,e,t)}`:i}We.propertyInData=O3;function o1(n,e,t,s){const i=(0,Pt._)`${e}${(0,Pt.getProperty)(t)} === undefined`;return s?(0,Pt.or)(i,(0,Pt.not)(r1(n,e,t))):i}We.noPropertyInData=o1;function MT(n){return n?Object.keys(n).filter(e=>e!=="__proto__"):[]}We.allSchemaProperties=MT;function N3(n,e){return MT(e).filter(t=>!(0,i1.alwaysValidSchema)(n,e[t]))}We.schemaProperties=N3;function L3({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=[[Po.default.instancePath,(0,Pt.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,Pt._)`${h}, ${t.object(...u)}`;return l!==Pt.nil?(0,Pt._)`${a}.call(${l}, ${d})`:(0,Pt._)`${a}(${d})`}We.callValidateCode=L3;const D3=(0,Pt._)`new RegExp`;function F3({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"?D3:(0,P3.useFunc)(n,i)}(${t}, ${s})`})}We.usePattern=F3;function j3(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:i1.Type.Num},r),e.if((0,Pt.not)(r),a)})}}We.validateArray=j3;function z3(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,i1.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=z3;Object.defineProperty(xr,"__esModule",{value:!0});xr.validateKeywordUsage=xr.validSchemaType=xr.funcKeywordCode=xr.macroKeywordCode=void 0;const ps=qe,Qa=Ir,H3=We,B3=Ip;function q3(n,e){const{gen:t,keyword:s,schema:i,parentSchema:r,it:o}=n,a=e.macro.call(o.self,i,r,o),l=IT(t,s,a);o.opts.validateSchema!==!1&&o.self.validateSchema(a,!0);const c=t.name("valid");n.subschema({schema:a,schemaPath:ps.nil,errSchemaPath:`${o.errSchemaPath}/${s}`,topSchemaRef:l,compositeRule:!0},c),n.pass(c,()=>n.error(!0))}xr.macroKeywordCode=q3;function U3(n,e){var t;const{gen:s,keyword:i,schema:r,parentSchema:o,$data:a,it:l}=n;W3(l,e);const c=!a&&e.compile?e.compile.call(l.self,r,o,l):e.validate,h=IT(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&&zA(n),v(()=>n.error());else{const y=e.async?p():m();e.modifying&&zA(n),v(()=>V3(n,y))}}function p(){const y=s.let("ruleErrs",null);return s.try(()=>g((0,ps._)`await `),b=>s.assign(u,!1).if((0,ps._)`${b} instanceof ${l.ValidationError}`,()=>s.assign(y,(0,ps._)`${b}.errors`),()=>s.throw(b))),y}function m(){const y=(0,ps._)`${h}.errors`;return s.assign(y,null),g(ps.nil),y}function g(y=e.async?(0,ps._)`await `:ps.nil){const b=l.opts.passContext?Qa.default.this:Qa.default.self,_=!("compile"in e&&!a||e.schema===!1);s.assign(u,(0,ps._)`${y}${(0,H3.callValidateCode)(n,h,b,_)}`,e.modifying)}function v(y){var b;s.if((0,ps.not)((b=e.valid)!==null&&b!==void 0?b:u),y)}}xr.funcKeywordCode=U3;function zA(n){const{gen:e,data:t,it:s}=n;e.if(s.parentData,()=>e.assign(t,(0,ps._)`${s.parentData}[${s.parentDataProperty}]`))}function V3(n,e){const{gen:t}=n;t.if((0,ps._)`Array.isArray(${e})`,()=>{t.assign(Qa.default.vErrors,(0,ps._)`${Qa.default.vErrors} === null ? ${e} : ${Qa.default.vErrors}.concat(${e})`).assign(Qa.default.errors,(0,ps._)`${Qa.default.vErrors}.length`),(0,B3.extendErrors)(n)},()=>n.error())}function W3({schemaEnv:n},e){if(e.async&&!n.$async)throw new Error("async keyword in sync schema")}function IT(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,ps.stringify)(t)})}function G3(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=G3;function K3({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=K3;var ba={};Object.defineProperty(ba,"__esModule",{value:!0});ba.extendSubschemaMode=ba.extendSubschemaData=ba.getSubschema=void 0;const Sr=qe,OT=ve;function Z3(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,OT.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')}ba.getSubschema=Z3;function X3(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,OT.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]}}ba.extendSubschemaData=X3;function Y3(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}ba.extendSubschemaMode=Y3;var Un={},NT={exports:{}},ma=NT.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(){};qm(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 qm(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+=LT(s)),e===1/0))return 1/0}return e}function DT(n,e="",t){t!==!1&&(e=nh(e));const s=n.parse(e);return FT(n,s)}Un.getFullPath=DT;function FT(n,e){return n.serialize(e).split("#")[0]+"#"}Un._getFullPath=FT;const oW=/#\/?$/;function nh(n){return n?n.replace(oW,""):""}Un.normalizeId=nh;function aW(n,e,t){return t=nh(t),n.resolve(e,t)}Un.resolveUrl=aW;const lW=/^[a-z_][-a-z0-9._]*$/i;function cW(n,e){if(typeof n=="boolean")return{};const{schemaId:t,uriResolver:s}=this.opts,i=nh(n[t]||e),r={"":i},o=DT(s,i,!1),a={},l=new Set;return nW(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])),b.call(this,u.$anchor),b.call(this,u.$dynamicAnchor),r[d]=v;function y(_){const k=this.opts.uriResolver.resolve;if(_=nh(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,_):_!==nh(g)&&(_[0]==="#"?(c(u,a[_],_),a[_]=u):this.refs[_]=g),_}function b(_){if(typeof _=="string"){if(!lW.test(_))throw new Error(`invalid anchor "${_}"`);y.call(this,`#${_}`)}}}),a;function c(u,d,p){if(d!==void 0&&!tW(u,d))throw h(p)}function h(u){return new Error(`reference "${u}" resolves to more than one schema`)}}Un.getSchemaRefs=cW;Object.defineProperty(Gi,"__esModule",{value:!0});Gi.getData=Gi.KeywordCxt=Gi.validateFunctionCode=void 0;const jT=du,HA=yn,a1=bo,Bg=yn,hW=n0,xd=xr,H0=ba,xe=qe,Me=Ir,uW=Un,wo=ve,zu=Ip;function dW(n){if(BT(n)&&(qT(n),HT(n))){mW(n);return}zT(n,()=>(0,jT.topBoolOrEmptySchema)(n))}Gi.validateFunctionCode=dW;function zT({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"; ${BA(t,i)}`),pW(n,i),n.code(r)}):n.func(e,(0,xe._)`${Me.default.data}, ${fW(i)}`,s.$async,()=>n.code(BA(t,i)).code(r))}function fW(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 pW(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 mW(n){const{schema:e,opts:t,gen:s}=n;zT(n,()=>{t.$comment&&e.$comment&&VT(n),wW(n),s.let(Me.default.vErrors,null),s.let(Me.default.errors,0),t.unevaluated&&gW(n),UT(n),kW(n)})}function gW(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 BA(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 yW(n,e){if(BT(n)&&(qT(n),HT(n))){vW(n,e);return}(0,jT.boolOrEmptySchema)(n,e)}function HT({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 BT(n){return typeof n.schema!="boolean"}function vW(n,e){const{schema:t,gen:s,opts:i}=n;i.$comment&&t.$comment&&VT(n),_W(n),SW(n);const r=s.const("_errs",Me.default.errors);UT(n,r),s.var(e,(0,xe._)`${r} === ${Me.default.errors}`)}function qT(n){(0,wo.checkUnknownRules)(n),bW(n)}function UT(n,e){if(n.opts.jtd)return qA(n,[],!1,e);const t=(0,HA.getSchemaTypes)(n.schema),s=(0,HA.coerceAndCheckDataType)(n,t);qA(n,t,!s,e)}function bW(n){const{schema:e,errSchemaPath:t,opts:s,self:i}=n;e.$ref&&s.ignoreKeywordsWithRef&&(0,wo.schemaHasRulesButRef)(e,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${t}"`)}function wW(n){const{schema:e,opts:t}=n;e.default!==void 0&&t.useDefaults&&t.strictSchema&&(0,wo.checkStrictMode)(n,"default is ignored in the schema root")}function _W(n){const e=n.schema[n.opts.schemaId];e&&(n.baseId=(0,uW.resolveUrl)(n.opts.uriResolver,n.baseId,e))}function SW(n){if(n.schema.$async&&!n.schemaEnv.$async)throw new Error("async schema in sync schema")}function VT({gen:n,schemaEnv:e,schema:t,errSchemaPath:s,opts:i}){const r=t.$comment;if(i.$comment===!0)n.code((0,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 kW(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&&AW(n),e.return((0,xe._)`${Me.default.errors} === 0`))}function AW({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 qA(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,wo.schemaHasRulesButRef)(r,h))){i.block(()=>KT(n,"$ref",h.all.$ref.definition));return}l.jtd||xW(n,e),i.block(()=>{for(const d of h.rules)u(d);u(h.post)});function u(d){(0,a1.shouldUseGroup)(r,d)&&(d.type?(i.if((0,Bg.checkDataType)(d.type,o,l.strictNumbers)),UA(n,d),e.length===1&&e[0]===d.type&&t&&(i.else(),(0,Bg.reportTypeError)(n)),i.endIf()):UA(n,d),a||i.if((0,xe._)`${Me.default.errors} === ${s||0}`))}}function UA(n,e){const{gen:t,schema:s,opts:{useDefaults:i}}=n;i&&(0,hW.assignDefaults)(n,e.type),t.block(()=>{for(const r of e.rules)(0,a1.shouldUseRule)(s,r)&&KT(n,r.keyword,r.definition,e.type)})}function xW(n,e){n.schemaEnv.meta||!n.opts.strictTypes||(EW(n,e),n.opts.allowUnionTypes||CW(n,e),$W(n,n.dataTypes))}function EW(n,e){if(e.length){if(!n.dataTypes.length){n.dataTypes=e;return}e.forEach(t=>{WT(n.dataTypes,t)||l1(n,`type "${t}" not allowed by context "${n.dataTypes.join(",")}"`)}),PW(n,e)}}function CW(n,e){e.length>1&&!(e.length===2&&e.includes("null"))&&l1(n,"use allowUnionTypes to allow union type keyword")}function $W(n,e){const t=n.self.RULES.all;for(const s in t){const i=t[s];if(typeof i=="object"&&(0,a1.shouldUseRule)(n.schema,i)){const{type:r}=i.definition;r.length&&!r.some(o=>TW(e,o))&&l1(n,`missing type "${r.join(",")}" for keyword "${s}"`)}}}function TW(n,e){return n.includes(e)||e==="number"&&n.includes("integer")}function WT(n,e){return n.includes(e)||e==="integer"&&n.includes("number")}function PW(n,e){const t=[];for(const s of n.dataTypes)WT(e,s)?t.push(s):e.includes("integer")&&s==="number"&&t.push("integer");n.dataTypes=t}function l1(n,e){const t=n.schemaEnv.baseId+n.errSchemaPath;e+=` at "${t}" (strictTypes)`,(0,wo.checkStrictMode)(n,e,n.opts.strictTypes)}class GT{constructor(e,t,s){if((0,xd.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,wo.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",ZT(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,xd.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?zu.reportExtraError:zu.reportError)(this,this.def.error,t)}$dataError(){(0,zu.reportError)(this,this.def.$dataError||zu.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,zu.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,Bg.checkDataTypes)(l,t,r.opts.strictNumbers,Bg.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 yW(i,t),i}mergeEvaluated(e,t){const{it:s,gen:i}=this;s.opts.unevaluated&&(s.props!==!0&&e.props!==void 0&&(s.props=wo.mergeEvaluated.props(i,e.props,s.props,t)),s.items!==!0&&e.items!==void 0&&(s.items=wo.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}}Gi.KeywordCxt=GT;function KT(n,e,t,s){const i=new GT(n,t,e);"code"in t?t.code(i,s):i.$data&&t.validate?(0,xd.funcKeywordCode)(i,t):"macro"in t?(0,xd.macroKeywordCode)(i,t):(t.compile||t.validate)&&(0,xd.funcKeywordCode)(i,t)}const RW=/^\/(?:[^~]|~0|~1)*$/,MW=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ZT(n,{dataLevel:e,dataNames:t,dataPathArr:s}){let i,r;if(n==="")return Me.default.rootData;if(n[0]==="/"){if(!RW.test(n))throw new Error(`Invalid JSON-pointer: ${n}`);i=n,r=Me.default.rootData}else{const c=MW.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,wo.unescapeJsonPointer)(c))}`,o=(0,xe._)`${o} && ${r}`);return o;function l(c,h){return`Cannot access ${c} ${h} levels up, current level is ${e}`}}Gi.getData=ZT;var Op={};Object.defineProperty(Op,"__esModule",{value:!0});class IW extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}Op.default=IW;var Pu={};Object.defineProperty(Pu,"__esModule",{value:!0});const B0=Un;class OW 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))}}Pu.default=OW;var Rs={};Object.defineProperty(Rs,"__esModule",{value:!0});Rs.resolveSchema=Rs.getCompilingSchema=Rs.resolveRef=Rs.compileSchema=Rs.SchemaEnv=void 0;const Ai=qe,NW=Op,za=Ir,qi=Un,VA=ve,LW=Gi;class s0{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=s0;function c1(n){const e=XT.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 Ai.CodeGen(this.scope,{es5:s,lines:i,ownProperties:r});let a;n.$async&&(a=o.scopeValue("Error",{ref:NW.default,code:(0,Ai._)`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:[Ai.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:n.schema,code:(0,Ai.stringify)(n.schema)}:{ref:n.schema}),validateName:l,ValidationError:a,schema:n.schema,schemaEnv:n,rootId:t,baseId:n.baseId||t,schemaPath:Ai.nil,errSchemaPath:n.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Ai._)`""`,opts:this.opts,self:this};let h;try{this._compilations.add(n),(0,LW.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 Ai.Name?void 0:m,items:g instanceof Ai.Name?void 0:g,dynamicProps:m instanceof Ai.Name,dynamicItems:g instanceof Ai.Name},p.source&&(p.source.evaluated=(0,Ai.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=c1;function DW(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=zW.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 s0({schema:o,schemaId:a,root:n,baseId:e}))}if(r!==void 0)return n.refs[t]=FW.call(this,r)}Rs.resolveRef=DW;function FW(n){return(0,qi.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:c1.call(this,n)}function XT(n){for(const e of this._compilations)if(jW(e,n))return e}Rs.getCompilingSchema=XT;function jW(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function zW(n,e){let t;for(;typeof(t=this.refs[e])=="string";)e=t;return t||this.schemas[e]||i0.call(this,n,e)}function i0(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 q0.call(this,t,n);const r=(0,qi.normalizeId)(s),o=this.refs[r]||this.schemas[r];if(typeof o=="string"){const a=i0.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||c1.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 s0({schema:a,schemaId:l,root:n,baseId:i})}return q0.call(this,t,o)}}Rs.resolveSchema=i0;const HW=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,VA.unescapeFragment)(a)];if(l===void 0)return;t=l;const c=typeof t=="object"&&t[this.opts.schemaId];!HW.has(a)&&c&&(e=(0,qi.resolveUrl)(this.opts.uriResolver,e,c))}let r;if(typeof t!="boolean"&&t.$ref&&!(0,VA.schemaHasRulesButRef)(t,this.RULES)){const a=(0,qi.resolveUrl)(this.opts.uriResolver,e,t.$ref);r=i0.call(this,s,a)}const{schemaId:o}=this.opts;if(r=r||new s0({schema:t,schemaId:o,root:s,baseId:e}),r.schema!==r.root.schema)return r}const BW="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",qW="Meta-schema for $data reference (JSON AnySchema extension proposal)",UW="object",VW=["$data"],WW={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},GW=!1,KW={$id:BW,description:qW,type:UW,required:VW,properties:WW,additionalProperties:GW};var h1={};Object.defineProperty(h1,"__esModule",{value:!0});const YT=aT;YT.code='require("ajv/dist/runtime/uri").default';h1.default=YT;(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=Gi;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=Op,i=Pu,r=cc,o=Rs,a=qe,l=Un,c=yn,h=ve,u=KW,d=h1,p=(z,P)=>new RegExp(z,P);p.code="new RegExp";const m=["removeAdditional","useDefaults","coerceTypes"],g=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),v={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},y={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},b=200;function _(z){var P,D,M,w,x,I,K,Y,ue,oe,H,V,J,ie,he,we,Ye,Ct,pt,At,rt,kn,$t,Yn,In;const tn=z.strict,cn=(P=z.code)===null||P===void 0?void 0:P.optimize,hn=cn===!0||cn===void 0?1:cn||0,nn=(M=(D=z.code)===null||D===void 0?void 0:D.regExp)!==null&&M!==void 0?M:p,hs=(w=z.uriResolver)!==null&&w!==void 0?w:d.default;return{strictSchema:(I=(x=z.strictSchema)!==null&&x!==void 0?x:tn)!==null&&I!==void 0?I:!0,strictNumbers:(Y=(K=z.strictNumbers)!==null&&K!==void 0?K:tn)!==null&&Y!==void 0?Y:!0,strictTypes:(oe=(ue=z.strictTypes)!==null&&ue!==void 0?ue:tn)!==null&&oe!==void 0?oe:"log",strictTuples:(V=(H=z.strictTuples)!==null&&H!==void 0?H:tn)!==null&&V!==void 0?V:"log",strictRequired:(ie=(J=z.strictRequired)!==null&&J!==void 0?J:tn)!==null&&ie!==void 0?ie:!1,code:z.code?{...z.code,optimize:hn,regExp:nn}:{optimize:hn,regExp:nn},loopRequired:(he=z.loopRequired)!==null&&he!==void 0?he:b,loopEnum:(we=z.loopEnum)!==null&&we!==void 0?we:b,meta:(Ye=z.meta)!==null&&Ye!==void 0?Ye:!0,messages:(Ct=z.messages)!==null&&Ct!==void 0?Ct:!0,inlineRefs:(pt=z.inlineRefs)!==null&&pt!==void 0?pt:!0,schemaId:(At=z.schemaId)!==null&&At!==void 0?At:"$id",addUsedSchema:(rt=z.addUsedSchema)!==null&&rt!==void 0?rt:!0,validateSchema:(kn=z.validateSchema)!==null&&kn!==void 0?kn:!0,validateFormats:($t=z.validateFormats)!==null&&$t!==void 0?$t:!0,unicodeRegExp:(Yn=z.unicodeRegExp)!==null&&Yn!==void 0?Yn:!0,int32range:(In=z.int32range)!==null&&In!==void 0?In:!0,uriResolver:hs}}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:D,lines:M}=this.opts.code;this.scope=new a.ValueScope({scope:{},prefixes:g,es5:D,lines:M}),this.logger=q(P.logger);const w=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=U.call(this),P.formats&&O.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),P.keywords&&F.call(this,P.keywords),typeof P.meta=="object"&&this.addMetaSchema(P.meta),E.call(this),P.validateFormats=w}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:P,meta:D,schemaId:M}=this.opts;let w=u;M==="id"&&(w={...u},w.id=w.$id,delete w.$id),D&&P&&this.addMetaSchema(w,w[M],!1)}defaultMeta(){const{meta:P,schemaId:D}=this.opts;return this.opts.defaultMeta=typeof P=="object"?P[D]||P:void 0}validate(P,D){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 w=M(D);return"$async"in M||(this.errors=M.errors),w}compile(P,D){const M=this._addSchema(P,D);return M.validate||this._compileSchemaEnv(M)}compileAsync(P,D){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:M}=this.opts;return w.call(this,P,D);async function w(oe,H){await x.call(this,oe.$schema);const V=this._addSchema(oe,H);return V.validate||I.call(this,V)}async function x(oe){oe&&!this.getSchema(oe)&&await w.call(this,{$ref:oe},!0)}async function I(oe){try{return this._compileSchemaEnv(oe)}catch(H){if(!(H instanceof i.default))throw H;return K.call(this,H),await Y.call(this,H.missingSchema),I.call(this,oe)}}function K({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,D)}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,D,M,w=this.opts.validateSchema){if(Array.isArray(P)){for(const I of P)this.addSchema(I,void 0,M,w);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 D=(0,l.normalizeId)(D||x),this._checkUnique(D),this.schemas[D]=this._addSchema(P,M,D,w,!0),this}addMetaSchema(P,D,M=this.opts.validateSchema){return this.addSchema(P,D,!0,M),this}validateSchema(P,D){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 w=this.validate(M,P);if(!w&&D){const x="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(x);else throw new Error(x)}return w}getSchema(P){let D;for(;typeof(D=C.call(this,P))=="string";)P=D;if(D===void 0){const{schemaId:M}=this.opts,w=new o.SchemaEnv({schema:{},schemaId:M});if(D=o.resolveSchema.call(this,w,P),!D)return;this.refs[P]=D}return D.validate||this._compileSchemaEnv(D)}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 D=C.call(this,P);return typeof D=="object"&&this._cache.delete(D.schema),delete this.schemas[P],delete this.refs[P],this}case"object":{const D=P;this._cache.delete(D);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 D of P)this.addKeyword(D);return this}addKeyword(P,D){let M;if(typeof P=="string")M=P,typeof D=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),D.keyword=M);else if(typeof P=="object"&&D===void 0){if(D=P,M=D.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(N.call(this,M,D),!D)return(0,h.eachItem)(M,x=>ee.call(this,x)),this;te.call(this,D);const w={...D,type:(0,c.getJSONTypes)(D.type),schemaType:(0,c.getJSONTypes)(D.schemaType)};return(0,h.eachItem)(M,w.type.length===0?x=>ee.call(this,x,w):x=>w.type.forEach(I=>ee.call(this,x,w,I))),this}getKeyword(P){const D=this.RULES.all[P];return typeof D=="object"?D.definition:!!D}removeKeyword(P){const{RULES:D}=this;delete D.keywords[P],delete D.all[P];for(const M of D.rules){const w=M.rules.findIndex(x=>x.keyword===P);w>=0&&M.rules.splice(w,1)}return this}addFormat(P,D){return typeof D=="string"&&(D=new RegExp(D)),this.formats[P]=D,this}errorsText(P=this.errors,{separator:D=", ",dataVar:M="data"}={}){return!P||P.length===0?"No errors":P.map(w=>`${M}${w.instancePath} ${w.message}`).reduce((w,x)=>w+D+x)}$dataMetaSchema(P,D){const M=this.RULES.all;P=JSON.parse(JSON.stringify(P));for(const w of D){const x=w.split("/").slice(1);let I=P;for(const K of x)I=I[K];for(const K in M){const Y=M[K];if(typeof Y!="object")continue;const{$data:ue}=Y.definition,oe=I[K];ue&&oe&&(I[K]=Se(oe))}}return P}_removeAllSchemas(P,D){for(const M in P){const w=P[M];(!D||D.test(M))&&(typeof w=="string"?delete P[M]:w&&!w.meta&&(this._cache.delete(w.schema),delete P[M]))}}_addSchema(P,D,M,w=this.opts.validateSchema,x=this.opts.addUsedSchema){let I;const{schemaId:K}=this.opts;if(typeof P=="object")I=P[K];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:K,meta:D,baseId:M,localRefs:ue}),this._cache.set(Y.schema,Y),x&&!M.startsWith("#")&&(M&&this._checkUnique(M),this.refs[M]=Y),w&&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 D=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,P)}finally{this.opts=D}}}k.ValidationError=s.default,k.MissingRefError=i.default,n.default=k;function A(z,P,D,M="error"){for(const w in z){const x=w;x in P&&this.logger[M](`${D}: option ${w}. ${z[x]}`)}}function C(z){return z=(0,l.normalizeId)(z),this.schemas[z]||this.refs[z]}function E(){const z=this.opts.schemas;if(z)if(Array.isArray(z))this.addSchema(z);else for(const P in z)this.addSchema(z[P],P)}function O(){for(const z in this.opts.formats){const P=this.opts.formats[z];P&&this.addFormat(z,P)}}function F(z){if(Array.isArray(z)){this.addVocabulary(z);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const P in z){const D=z[P];D.keyword||(D.keyword=P),this.addKeyword(D)}}function U(){const z={...this.opts};for(const P of m)delete z[P];return z}const L={log(){},warn(){},error(){}};function q(z){if(z===!1)return L;if(z===void 0)return console;if(z.log&&z.warn&&z.error)return z;throw new Error("logger must implement log, warn and error methods")}const B=/^[a-z_$][a-z0-9_$:-]*$/i;function N(z,P){const{RULES:D}=this;if((0,h.eachItem)(z,M=>{if(D.keywords[M])throw new Error(`Keyword ${M} is already defined`);if(!B.test(M))throw new Error(`Keyword ${M} has invalid name`)}),!!P&&P.$data&&!("code"in P||"validate"in P))throw new Error('$data keyword must have "code" or "validate" function')}function ee(z,P,D){var M;const w=P==null?void 0:P.post;if(D&&w)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:x}=this;let I=w?x.post:x.rules.find(({type:Y})=>Y===D);if(I||(I={type:D,rules:[]},x.rules.push(I)),x.keywords[z]=!0,!P)return;const K={keyword:z,definition:{...P,type:(0,c.getJSONTypes)(P.type),schemaType:(0,c.getJSONTypes)(P.schemaType)}};P.before?Q.call(this,I,K,P.before):I.rules.push(K),x.all[z]=K,(M=P.implements)===null||M===void 0||M.forEach(Y=>this.addKeyword(Y))}function Q(z,P,D){const M=z.rules.findIndex(w=>w.keyword===D);M>=0?z.rules.splice(M,0,P):(z.rules.push(P),this.logger.warn(`rule ${D} is not defined`))}function te(z){let{metaSchema:P}=z;P!==void 0&&(z.$data&&this.opts.$data&&(P=Se(P)),z.validateSchema=this.compile(P,!0))}const ae={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Se(z){return{anyOf:[z,ae]}}})(bT);var u1={},d1={},f1={};Object.defineProperty(f1,"__esModule",{value:!0});const ZW={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};f1.default=ZW;var hc={};Object.defineProperty(hc,"__esModule",{value:!0});hc.callRef=hc.getValidate=void 0;const XW=Pu,WA=We,$s=qe,Rc=Ir,GA=Rs,rm=ve,YW={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=GA.resolveRef.call(l,c,i,t);if(h===void 0)throw new XW.default(s.opts.uriResolver,i,t);if(h instanceof GA.SchemaEnv)return d(h);return p(h);function u(){if(r===c)return Um(n,o,r,r.$async);const m=e.scopeValue("root",{ref:c});return Um(n,(0,$s._)`${m}.validate`,c,c.$async)}function d(m){const g=JT(n,m);Um(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 JT(n,e){const{gen:t}=n;return e.validate?t.scopeValue("validate",{ref:e.validate}):(0,$s._)`${t.scopeValue("wrapper",{ref:e})}.validate`}hc.getValidate=JT;function Um(n,e,t,s){const{gen:i,it:r}=n,{allErrors:o,schemaEnv:a,opts:l}=r,c=l.passContext?Rc.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,WA.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,WA.callValidateCode)(n,e,c),()=>p(e),()=>d(e))}function d(m){const g=(0,$s._)`${m}.errors`;i.assign(Rc.default.vErrors,(0,$s._)`${Rc.default.vErrors} === null ? ${g} : ${Rc.default.vErrors}.concat(${g})`),i.assign(Rc.default.errors,(0,$s._)`${Rc.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=rm.mergeEvaluated.props(i,v.props,r.props));else{const y=i.var("props",(0,$s._)`${m}.evaluated.props`);r.props=rm.mergeEvaluated.props(i,y,r.props,$s.Name)}if(r.items!==!0)if(v&&!v.dynamicItems)v.items!==void 0&&(r.items=rm.mergeEvaluated.items(i,v.items,r.items));else{const y=i.var("items",(0,$s._)`${m}.evaluated.items`);r.items=rm.mergeEvaluated.items(i,y,r.items,$s.Name)}}}hc.callRef=Um;hc.default=YW;Object.defineProperty(d1,"__esModule",{value:!0});const JW=f1,QW=hc,e4=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",JW.default,QW.default];d1.default=e4;var p1={},m1={};Object.defineProperty(m1,"__esModule",{value:!0});const qg=qe,Ro=qg.operators,Ug={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}},t4={message:({keyword:n,schemaCode:e})=>(0,qg.str)`must be ${Ug[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,qg._)`{comparison: ${Ug[n].okStr}, limit: ${e}}`},n4={keyword:Object.keys(Ug),type:"number",schemaType:"number",$data:!0,error:t4,code(n){const{keyword:e,data:t,schemaCode:s}=n;n.fail$data((0,qg._)`${t} ${Ug[e].fail} ${s} || isNaN(${t})`)}};m1.default=n4;var g1={};Object.defineProperty(g1,"__esModule",{value:!0});const Ed=qe,s4={message:({schemaCode:n})=>(0,Ed.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,Ed._)`{multipleOf: ${n}}`},i4={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:s4,code(n){const{gen:e,data:t,schemaCode:s,it:i}=n,r=i.opts.multipleOfPrecision,o=e.let("res"),a=r?(0,Ed._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${r}`:(0,Ed._)`${o} !== parseInt(${o})`;n.fail$data((0,Ed._)`(${s} === 0 || (${o} = ${t}/${s}, ${a}))`)}};g1.default=i4;var y1={},v1={};Object.defineProperty(v1,"__esModule",{value:!0});function QT(n){const e=n.length;let t=0,s=0,i;for(;s=55296&&i<=56319&&s(0,el._)`{limit: ${n}}`},l4={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:a4,code(n){const{keyword:e,data:t,schemaCode:s,it:i}=n,r=e==="maxLength"?el.operators.GT:el.operators.LT,o=i.opts.unicode===!1?(0,el._)`${t}.length`:(0,el._)`${(0,r4.useFunc)(n.gen,o4.default)}(${t})`;n.fail$data((0,el._)`${o} ${r} ${s}`)}};y1.default=l4;var b1={};Object.defineProperty(b1,"__esModule",{value:!0});const c4=We,h4=ve,Zc=qe,u4={message:({schemaCode:n})=>(0,Zc.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,Zc._)`{pattern: ${n}}`},d4={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:u4,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,h4.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,c4.usePattern)(n,i);n.fail$data((0,Zc._)`!${l}.test(${t})`)}}};b1.default=d4;var w1={};Object.defineProperty(w1,"__esModule",{value:!0});const Cd=qe,f4={message({keyword:n,schemaCode:e}){const t=n==="maxProperties"?"more":"fewer";return(0,Cd.str)`must NOT have ${t} than ${e} properties`},params:({schemaCode:n})=>(0,Cd._)`{limit: ${n}}`},p4={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:f4,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxProperties"?Cd.operators.GT:Cd.operators.LT;n.fail$data((0,Cd._)`Object.keys(${t}).length ${i} ${s}`)}};w1.default=p4;var _1={};Object.defineProperty(_1,"__esModule",{value:!0});const Hu=We,$d=qe,m4=ve,g4={message:({params:{missingProperty:n}})=>(0,$d.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,$d._)`{missingProperty: ${n}}`},y4={keyword:"required",type:"object",schemaType:"array",$data:!0,error:g4,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,m4.checkStrictMode)(o,y,o.opts.strictRequired)}}function c(){if(l||r)n.block$data($d.nil,u);else for(const p of t)(0,Hu.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,Hu.checkMissingProp)(n,t,p)),(0,Hu.reportMissingProp)(n,p),e.else()}function u(){e.forOf("prop",s,p=>{n.setParams({missingProperty:p}),e.if((0,Hu.noPropertyInData)(e,i,p,a.ownProperties),()=>n.error())})}function d(p,m){n.setParams({missingProperty:p}),e.forOf(p,s,()=>{e.assign(m,(0,Hu.propertyInData)(e,i,p,a.ownProperties)),e.if((0,$d.not)(m),()=>{n.error(),e.break()})},$d.nil)}}};_1.default=y4;var S1={};Object.defineProperty(S1,"__esModule",{value:!0});const Td=qe,v4={message({keyword:n,schemaCode:e}){const t=n==="maxItems"?"more":"fewer";return(0,Td.str)`must NOT have ${t} than ${e} items`},params:({schemaCode:n})=>(0,Td._)`{limit: ${n}}`},b4={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:v4,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxItems"?Td.operators.GT:Td.operators.LT;n.fail$data((0,Td._)`${t}.length ${i} ${s}`)}};S1.default=b4;var k1={},Np={};Object.defineProperty(Np,"__esModule",{value:!0});const eP=Zy;eP.code='require("ajv/dist/runtime/equal").default';Np.default=eP;Object.defineProperty(k1,"__esModule",{value:!0});const U0=yn,Ln=qe,w4=ve,_4=Np,S4={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}}`},k4={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:S4,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,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,U0.checkDataTypes)(c,v,a.opts.strictNumbers,U0.DataType.Wrong),b=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 ${b}[${v}] == "number"`,()=>{e.assign(g,(0,Ln._)`${b}[${v}]`),n.error(),e.assign(l,!1).break()}).code((0,Ln._)`${b}[${v}] = ${m}`)})}function p(m,g){const v=(0,w4.useFunc)(e,_4.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)})))}}};k1.default=k4;var A1={};Object.defineProperty(A1,"__esModule",{value:!0});const Jv=qe,A4=ve,x4=Np,E4={message:"must be equal to constant",params:({schemaCode:n})=>(0,Jv._)`{allowedValue: ${n}}`},C4={keyword:"const",$data:!0,error:E4,code(n){const{gen:e,data:t,$data:s,schemaCode:i,schema:r}=n;s||r&&typeof r=="object"?n.fail$data((0,Jv._)`!${(0,A4.useFunc)(e,x4.default)}(${t}, ${i})`):n.fail((0,Jv._)`${r} !== ${t}`)}};A1.default=C4;var x1={};Object.defineProperty(x1,"__esModule",{value:!0});const ed=qe,$4=ve,T4=Np,P4={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,ed._)`{allowedValues: ${n}}`},R4={keyword:"enum",schemaType:"array",$data:!0,error:P4,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,$4.useFunc)(e,T4.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}`}}};x1.default=R4;Object.defineProperty(p1,"__esModule",{value:!0});const M4=m1,I4=g1,O4=y1,N4=b1,L4=w1,D4=_1,F4=S1,j4=k1,z4=A1,H4=x1,B4=[M4.default,I4.default,O4.default,N4.default,L4.default,D4.default,F4.default,j4.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},z4.default,H4.default];p1.default=B4;var E1={},Ru={};Object.defineProperty(Ru,"__esModule",{value:!0});Ru.validateAdditionalItems=void 0;const tl=qe,Qv=ve,q4={message:({params:{len:n}})=>(0,tl.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,tl._)`{limit: ${n}}`},U4={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:q4,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}tP(n,s)}};function tP(n,e){const{gen:t,schema:s,data:i,keyword:r,it:o}=n;o.items=!0;const a=t.const("len",(0,tl._)`${i}.length`);if(s===!1)n.setParams({len:e.length}),n.pass((0,tl._)`${a} <= ${e.length}`);else if(typeof s=="object"&&!(0,Qv.alwaysValidSchema)(o,s)){const c=t.var("valid",(0,tl._)`${a} <= ${e.length}`);t.if((0,tl.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,tl.not)(c),()=>t.break())})}}Ru.validateAdditionalItems=tP;Ru.default=U4;var C1={},Mu={};Object.defineProperty(Mu,"__esModule",{value:!0});Mu.validateTuple=void 0;const KA=qe,Vm=ve,V4=We,W4={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){const{schema:e,it:t}=n;if(Array.isArray(e))return nP(n,"additionalItems",e);t.items=!0,!(0,Vm.alwaysValidSchema)(t,e)&&n.ok((0,V4.validateArray)(n))}};function nP(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=Vm.mergeEvaluated.items(s,t.length,a.items));const l=s.name("valid"),c=s.const("len",(0,KA._)`${r}.length`);t.forEach((u,d)=>{(0,Vm.alwaysValidSchema)(a,u)||(s.if((0,KA._)`${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,Vm.checkStrictMode)(a,v,d.strictTuples)}}}Mu.validateTuple=nP;Mu.default=W4;Object.defineProperty(C1,"__esModule",{value:!0});const G4=Mu,K4={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,G4.validateTuple)(n,"items")};C1.default=K4;var $1={};Object.defineProperty($1,"__esModule",{value:!0});const ZA=qe,Z4=ve,X4=We,Y4=Ru,J4={message:({params:{len:n}})=>(0,ZA.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,ZA._)`{limit: ${n}}`},Q4={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:J4,code(n){const{schema:e,parentSchema:t,it:s}=n,{prefixItems:i}=t;s.items=!0,!(0,Z4.alwaysValidSchema)(s,e)&&(i?(0,Y4.validateAdditionalItems)(n,i):n.ok((0,X4.validateArray)(n)))}};$1.default=Q4;var T1={};Object.defineProperty(T1,"__esModule",{value:!0});const li=qe,om=ve,e5={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}}`},t5={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:e5,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,om.checkStrictMode)(r,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,om.checkStrictMode)(r,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,om.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:om.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)))}}};T1.default=t5;var sP={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.validateSchemaDeps=n.validatePropertyDeps=n.error=void 0;const e=qe,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})(sP);var P1={};Object.defineProperty(P1,"__esModule",{value:!0});const iP=qe,n5=ve,s5={message:"property name must be valid",params:({params:n})=>(0,iP._)`{propertyName: ${n.propertyName}}`},i5={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:s5,code(n){const{gen:e,schema:t,data:s,it:i}=n;if((0,n5.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,iP.not)(r),()=>{n.error(!0),i.allErrors||e.break()})}),n.ok(r)}};P1.default=i5;var r0={};Object.defineProperty(r0,"__esModule",{value:!0});const am=We,Ei=qe,r5=Ir,lm=ve,o5={message:"must NOT have additional properties",params:({params:n})=>(0,Ei._)`{additionalProperty: ${n.additionalProperty}}`},a5={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:o5,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,lm.alwaysValidSchema)(o,t))return;const c=(0,am.allSchemaProperties)(s.properties),h=(0,am.allSchemaProperties)(s.patternProperties);u(),n.ok((0,Ei._)`${r} === ${r5.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 b=(0,lm.schemaRefOrVal)(o,s.properties,"properties");y=(0,am.isOwnProperty)(e,b,v)}else c.length?y=(0,Ei.or)(...c.map(b=>(0,Ei._)`${v} === ${b}`)):y=Ei.nil;return h.length&&(y=(0,Ei.or)(y,...h.map(b=>(0,Ei._)`${(0,am.usePattern)(n,b)}.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,lm.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,b){const _={keyword:"additionalProperties",dataProp:v,dataPropType:lm.Type.Str};b===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(_,y)}}};r0.default=a5;var R1={};Object.defineProperty(R1,"__esModule",{value:!0});const l5=Gi,XA=We,V0=ve,YA=r0,c5={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&&YA.default.code(new l5.KeywordCxt(r,YA.default,"additionalProperties"));const o=(0,XA.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,XA.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)}}};R1.default=c5;var M1={};Object.defineProperty(M1,"__esModule",{value:!0});const JA=We,cm=qe,QA=ve,ex=ve,h5={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,JA.allSchemaProperties)(t),l=a.filter(g=>(0,QA.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 cm.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,QA.checkStrictMode)(r,`property ${v} matches pattern ${g} (use allowMatchingProperties)`)}function m(g){e.forIn("key",s,v=>{e.if((0,cm._)`${(0,JA.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,cm._)`${u}[${v}]`,!0):!y&&!r.allErrors&&e.if((0,cm.not)(h),()=>e.break())})})}}};M1.default=h5;var I1={};Object.defineProperty(I1,"__esModule",{value:!0});const u5=ve,d5={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){const{gen:e,schema:t,it:s}=n;if((0,u5.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"}};I1.default=d5;var O1={};Object.defineProperty(O1,"__esModule",{value:!0});const f5=We,p5={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:f5.validateUnion,error:{message:"must match a schema in anyOf"}};O1.default=p5;var N1={};Object.defineProperty(N1,"__esModule",{value:!0});const Wm=qe,m5=ve,g5={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,Wm._)`{passingSchemas: ${n.passing}}`},y5={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:g5,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,m5.alwaysValidSchema)(i,h)?e.var(l,!0):d=n.subschema({keyword:"oneOf",schemaProp:u,compositeRule:!0},l),u>0&&e.if((0,Wm._)`${l} && ${o}`).assign(o,!1).assign(a,(0,Wm._)`[${a}, ${u}]`).else(),e.if(l,()=>{e.assign(o,!0),e.assign(a,u),d&&n.mergeEvaluated(d,Wm.Name)})})}}};N1.default=y5;var L1={};Object.defineProperty(L1,"__esModule",{value:!0});const v5=ve,b5={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,v5.alwaysValidSchema)(s,r))return;const a=n.subschema({keyword:"allOf",schemaProp:o},i);n.ok(i),n.mergeEvaluated(a)})}};L1.default=b5;var D1={};Object.defineProperty(D1,"__esModule",{value:!0});const Vg=qe,rP=ve,w5={message:({params:n})=>(0,Vg.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,Vg._)`{failingKeyword: ${n.ifClause}}`},_5={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:w5,code(n){const{gen:e,parentSchema:t,it:s}=n;t.then===void 0&&t.else===void 0&&(0,rP.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,Vg.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,Vg._)`${h}`):n.setParams({ifClause:h})}}}};function tx(n,e){const t=n.schema[e];return t!==void 0&&!(0,rP.alwaysValidSchema)(n,t)}D1.default=_5;var F1={};Object.defineProperty(F1,"__esModule",{value:!0});const S5=ve,k5={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:t}){e.if===void 0&&(0,S5.checkStrictMode)(t,`"${n}" without "if" is ignored`)}};F1.default=k5;Object.defineProperty(E1,"__esModule",{value:!0});const A5=Ru,x5=C1,E5=Mu,C5=$1,$5=T1,T5=sP,P5=P1,R5=r0,M5=R1,I5=M1,O5=I1,N5=O1,L5=N1,D5=L1,F5=D1,j5=F1;function z5(n=!1){const e=[O5.default,N5.default,L5.default,D5.default,F5.default,j5.default,P5.default,R5.default,T5.default,M5.default,I5.default];return n?e.push(x5.default,C5.default):e.push(A5.default,E5.default),e.push($5.default),e}E1.default=z5;var j1={},z1={};Object.defineProperty(z1,"__esModule",{value:!0});const Zt=qe,H5={message:({schemaCode:n})=>(0,Zt.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,Zt._)`{format: ${n}}`},B5={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:H5,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)(b(),_()));function b(){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){b();return}if(m===!0)return;const[g,v,y]=_(m);g===e&&n.pass(k());function b(){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 C=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:C});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})`}}}};z1.default=B5;Object.defineProperty(j1,"__esModule",{value:!0});const q5=z1,U5=[q5.default];j1.default=U5;var fu={};Object.defineProperty(fu,"__esModule",{value:!0});fu.contentVocabulary=fu.metadataVocabulary=void 0;fu.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];fu.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];Object.defineProperty(u1,"__esModule",{value:!0});const V5=d1,W5=p1,G5=E1,K5=j1,nx=fu,Z5=[V5.default,W5.default,(0,G5.default)(),K5.default,nx.metadataVocabulary,nx.contentVocabulary];u1.default=Z5;var H1={},o0={};Object.defineProperty(o0,"__esModule",{value:!0});o0.DiscrError=void 0;var sx;(function(n){n.Tag="tag",n.Mapping="mapping"})(sx||(o0.DiscrError=sx={}));Object.defineProperty(H1,"__esModule",{value:!0});const Nc=qe,eb=o0,ix=Rs,X5=Pu,Y5=ve,J5={message:({params:{discrError:n,tagName:e}})=>n===eb.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}}`},Q5={keyword:"discriminator",type:"object",schemaType:"object",error:J5,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:eb.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:eb.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=Gi;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=Op;Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return u.default}});var d=Pu;Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return d.default}})})(Gv,Gv.exports);var aG=Gv.exports;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.formatLimitDefinition=void 0;const e=aG,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"`,b(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(b(A))}function b(_){return(0,t._)`${_}.compare(${c}, ${h}) ${i[u].fail} 0`}},dependencies:["format"]};const o=a=>(a.addKeyword(n.formatLimitDefinition),a);n.default=o})(vT);(function(n,e){Object.defineProperty(e,"__esModule",{value:!0});const t=yT,s=vT,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})(Wv,Wv.exports);var lG=Wv.exports;const cG=x_(lG);function hG(){const n=new ZV({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return cG(n),n}class uG{constructor(e){this._ajv=e??hG()}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 dG{constructor(e){this._client=e}async*callToolStream(e,t=rc,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 fG(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 pG(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 Gm(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&&Gm(r,t[i])}}if(Array.isArray(n.anyOf))for(const t of n.anyOf)typeof t!="boolean"&&Gm(t,e);if(Array.isArray(n.oneOf))for(const t of n.oneOf)typeof t!="boolean"&&Gm(t,e)}}function mG(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 gG extends C${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 uG,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",lS,e.tools,async()=>(await this.listTools()).tools),e.prompts&&((r=(i=this._serverCapabilities)==null?void 0:i.prompts)!=null&&r.listChanged)&&this._setupListChangedHandler("prompts",rS,e.prompts,async()=>(await this.listPrompts()).prompts),e.resources&&((a=(o=this._serverCapabilities)==null?void 0:o.resources)!=null&&a.listChanged)&&this._setupListChangedHandler("resources",eS,e.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new dG(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=hH(this._capabilities,e)}setRequestHandler(e,t){const s=x$(e),i=s==null?void 0:s.method;if(!i)throw new Error("Schema is missing a method literal");const r=E$(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 b,_;const h=Oo(S$,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}=mG(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(Hd,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(k$,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&&(_=(b=this._capabilities.elicitation)==null?void 0:b.form)!=null&&_.applyDefaults)try{Gm(y,v.content)}catch{}return v};return super.setRequestHandler(e,a)}if(o==="sampling/createMessage"){const a=async(l,c)=>{const h=Oo(cS,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(Hd,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$,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:Vy,capabilities:this._capabilities,clientInfo:this._clientInfo}},i$,t);if(s===void 0)throw new Error(`Server sent invalid initialize result: ${s}`);if(!jj.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;fG((s=(t=this._serverCapabilities)==null?void 0:t.tasks)==null?void 0:s.requests,e,"Server")}assertTaskHandlerCapability(e){var t;this._capabilities&&pG((t=this._capabilities.tasks)==null?void 0:t.requests,e,"Client")}async ping(e){return this.request({method:"ping"},Gc,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}},Gc,t)}async getPrompt(e,t){return this.request({method:"prompts/get",params:e},g$,t)}async listPrompts(e,t){return this.request({method:"prompts/list",params:e},tS,t)}async listResources(e,t){return this.request({method:"resources/list",params:e},X_,t)}async listResourceTemplates(e,t){return this.request({method:"resources/templates/list",params:e},Y_,t)}async readResource(e,t){return this.request({method:"resources/read",params:e},Q_,t)}async subscribeResource(e,t){return this.request({method:"resources/subscribe",params:e},Gc,t)}async unsubscribeResource(e,t){return this.request({method:"resources/unsubscribe",params:e},Gc,t)}async callTool(e,t=rc,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},aS,t);return this.cacheToolMetadata(s.tools),s}_setupListChangedHandler(e,t,s,i){const r=Ez.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 B1={};/*! + * 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,yG=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,oP=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,vG=/\\([\u000b\u0020-\u00ff])/g,bG=/([\\"])/g,aP=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;B1.format=wG;B1.parse=_G;function wG(n){if(!n||typeof n!="object")throw new TypeError("argument obj is required");var e=n.parameters,t=n.type;if(!t||!aP.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&&!yG.test(e))throw new TypeError("invalid parameter value");return'"'+e.replace(bG,"\\$1")+'"'}function AG(n){this.parameters=Object.create(null),this.type=n}function xG(n){if(n)try{return B1.parse(n).type}catch{const e=(n.split(";",1)[0]??"").trim().toLowerCase();return e===""||n.slice(e.length).includes(",")?void 0:e}}function tb(n){return n?n instanceof Headers?Object.fromEntries(n.entries()):Array.isArray(n)?Object.fromEntries(n):{...n}:{}}function EG(n=fetch,e){return e?async(t,s)=>{const i={...e,...s,headers:s!=null&&s.headers?{...tb(e.headers),...tb(s.headers)}:e.headers};return n(t,i)}:n}let q1;q1=globalThis.crypto;async function CG(n){return(await q1).getRandomValues(new Uint8Array(n))}async function $G(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 TG(n),t=await PG(e);return{code_verifier:e,code_challenge:t}}const Bn=WF().superRefine((n,e)=>{if(!URL.canParse(n))return e.addIssue({code:Dj.custom,message:"URL must be parseable",fatal:!0}),OL}).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"}),MG=Wn({resource:j().url(),authorization_servers:le(Bn).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:Qe().optional(),authorization_details_types_supported:le(j()).optional(),dpop_signing_alg_values_supported:le(j()).optional(),dpop_bound_access_tokens_required:Qe().optional()}),lP=Wn({issuer:j(),authorization_endpoint:Bn,token_endpoint:Bn,registration_endpoint:Bn.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:Bn.optional(),revocation_endpoint:Bn.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:Qe().optional()}),IG=Wn({issuer:j(),authorization_endpoint:Bn,token_endpoint:Bn,userinfo_endpoint:Bn.optional(),jwks_uri:Bn,registration_endpoint:Bn.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:Qe().optional(),request_parameter_supported:Qe().optional(),request_uri_parameter_supported:Qe().optional(),require_request_uri_registration:Qe().optional(),op_policy_uri:Bn.optional(),op_tos_uri:Bn.optional(),client_id_metadata_document_supported:Qe().optional()}),OG=Z({...IG.shape,...lP.pick({code_challenge_methods_supported:!0}).shape}),NG=Z({access_token:j(),id_token:j().optional(),token_type:j(),expires_in:Fj().optional(),scope:j().optional(),refresh_token:j().optional()}).strip(),LG=Z({error:j(),error_description:j().optional(),error_uri:j().optional()}),ox=Bn.optional().or(G("").transform(()=>{})),DG=Z({redirect_uris:le(Bn),token_endpoint_auth_method:j().optional(),grant_types:le(j()).optional(),response_types:le(j()).optional(),client_name:j().optional(),client_uri:Bn.optional(),logo_uri:ox,scope:j().optional(),contacts:le(j()).optional(),tos_uri:ox,policy_uri:j().optional(),jwks_uri:Bn.optional(),jwks:L_().optional(),software_id:j().optional(),software_version:j().optional(),software_statement:j().optional()}).strip(),FG=Z({client_id:j(),client_secret:j().optional(),client_id_issued_at:ze().optional(),client_secret_expires_at:ze().optional()}).strip(),jG=DG.merge(FG);Z({error:j(),error_description:j().optional()}).strip();Z({token:j(),token_type_hint:j().optional()}).strip();function zG(n){const e=typeof n=="string"?new URL(n):new URL(n.href);return e.hash="",e}function HG({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 QG(n,e,t,s){const i=new URL(n),r=(s==null?void 0:s.protocolVersion)??Vy;let o;if(s!=null&&s.metadataUrl)o=new URL(s.metadataUrl);else{const l=YG(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)&&JG(a,i.pathname)){const l=new URL(`/.well-known/${e}`,i);a=await lx(l,r,t)}return a}function eK(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 uP(n,{fetchFn:e=fetch,protocolVersion:t=Vy}={}){var r;const s={"MCP-Protocol-Version":t,Accept:"application/json"},i=eK(n);for(const{url:o,type:a}of i){const l=await U1(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"?lP.parse(await l.json()):OG.parse(await l.json())}}}async function tK(n,e){let t,s;try{t=await hP(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 uP(s,{fetchFn:e==null?void 0:e.fetchFn});return{authorizationServerUrl:s,authorizationServerMetadata:i,resourceMetadata:t}}async function nK(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 RG(),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 sK(n,e,t){return new URLSearchParams({grant_type:"authorization_code",code:n,code_verifier:e,redirect_uri:String(t)})}async function dP(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=UG(s,h);VG(u,s,l,t)}const c=await(o??fetch)(a,{method:"POST",headers:l,body:t});if(!c.ok)throw await cP(c);return NG.parse(await c.json())}async function iK(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 dP(n,{metadata:e,tokenRequestParams:a,clientInformation:t,addClientAuthentication:r,resource:i,fetchFn:o});return{refresh_token:s,...l}}async function rK(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=sK(i,c,n.redirectUrl)}const l=await n.clientInformation();return dP(e,{metadata:t,tokenRequestParams:a,clientInformation:l??void 0,addClientAuthentication:n.addClientAuthentication,resource:s,fetchFn:r})}async function oK(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 cP(o);return jG.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,aK=13,Ha=32;function Y0(n){}function lK(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 C=o.join("");o.length=0,a=0;const E=v(C);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 C=0;if(A.indexOf("\r")===-1){let E=A.indexOf(` +`,C);for(;E!==-1;){if(C===E){u>0&&e({id:c,event:d,data:h}),c=void 0,h="",u=0,d=void 0,C=E+1,E=A.indexOf(` +`,C);continue}const O=A.charCodeAt(C);if(hx(A,C,O)){const F=A.charCodeAt(C+5)===Ha?C+6:C+5,U=A.slice(F,E);if(u===0&&A.charCodeAt(E+1)===cx){e({id:c,event:d,data:U}),c=void 0,h="",d=void 0,C=E+2,E=A.indexOf(` +`,C);continue}h=u===0?U:`${h} +${U}`,u++}else ux(A,C,O)?d=A.slice(A.charCodeAt(C+6)===Ha?C+7:C+6,E)||void 0:y(A,C,E);C=E+1,E=A.indexOf(` +`,C)}return A.slice(C)}for(;C20?`${A.slice(0,20)}…`:A}"`,{type:"unknown-field",field:A,value:C,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 C=o.join("");y(C,0,C.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 cK extends TransformStream{constructor({onError:e,onRetry:t,onComment:s,maxBufferSize:i}={}){let r;super({start(o){r=lK({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 hK={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2};class Ic extends Error{constructor(e,t){super(`Streamable HTTP error: ${t}`),this.code=e}}class uK{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=EG(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)??hK}async _authThenStart(){var t;if(!this._authProvider)throw new Mc("No auth provider");let e;try{e=await hm(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 Mc;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=tb((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 Ic(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 cK({onRetry:y=>{this._serverRetryMs=y}})).getReader();for(;;){const{value:y,done:b}=await m.read();if(b)break;if(y.id&&(o=y.id,a=!0,i==null||i(y.id)),!!y.data&&(!y.event||y.event==="message"))try{const _=Dm.parse(JSON.parse(y.data));Yu(_)&&(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 Mc("No auth provider");if(await hm(this._authProvider,{serverUrl:this._url,authorizationCode:e,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new Mc("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:Nv(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 Ic(401,"Server returned 401 after successful authentication");const{resourceMetadataUrl:k,scope:A}=ax(p);if(this._resourceMetadataUrl=k,this._scope=A,await hm(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new Mc;return this._hasCompletedAuthFlow=!0,this.send(e)}if(p.status===403&&this._authProvider){const{resourceMetadataUrl:k,scope:A,error:C}=ax(p);if(C==="insufficient_scope"){const E=p.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===E)throw new Ic(403,"Server returned 403 after trying upscoping");if(A&&(this._scope=A),k&&(this._resourceMetadataUrl=k),this._lastUpscopingHeader=E??void 0,await hm(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new Mc;return this.send(e)}}throw new Ic(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()),tz(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"),b=xG(y);if(v)if(b==="text/event-stream")this._handleSseStream(p.body,{onresumptiontoken:h},!1);else if(b==="application/json"){const _=await p.json(),k=Array.isArray(_)?_.map(A=>Dm.parse(A)):[Dm.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 Ic(-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 Ic(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 dK="https://mcp.excalidraw.com/mcp",fK="mcp.excalidraw.com",pK="/api/v1/chat/mcp-apps/excalidraw",fP="ui://excalidraw/mcp-app.html",mK=["read_me","create_view"],pP=new Set(["export_to_excalidraw","save_checkpoint","read_checkpoint"]),gK=256*1024,yK=1024*1024,vK=1024*1024,bK=240,wK=720,_K=525;function SK(n){return!Number.isFinite(n)||n<=0?_K:Math.max(bK,Math.min(wK,Math.round(n*3/4)))}const kK={excalidraw:{id:"excalidraw",endpoint:dK,hostname:fK,resourceUri:fP,modelTools:mK,appTools:pP}};function AK(n){return kK[n]}function xK(){return new URL(an(pK),window.location.origin)}class EK{constructor(){ce(this,"client",new gG({name:"pwc-chat-mcp-app-host",version:"1"}));ce(this,"transport",new uK(xK(),{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!==fP)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,vK);const i=await PK(s.text);return{text:s.text,digest:i}}async callTool(e,t){if(!pP.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(),ga===this&&(ga=void 0)}consume(e,t=gK){const s=new TextEncoder().encode(e).byteLength;if(s>t||this.bytes+s>yK)throw new Error("App request exceeds host limit");this.bytes+=s}}let ga;function CK(){return ga??(ga=new EK),ga}function $K(){ga==null||ga.close(),ga=void 0}function TK(n){$K()}async function PK(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 RK(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 MK=({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,b=!!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(()=>{TK(),a(void 0),c("loading"),g(E=>E+1)},[]);se.useEffect(()=>{const E=v.current;if(!E)return;const O=()=>{r.current||u(SK(E.clientWidth))};O();const F=new ResizeObserver(O);return F.observe(E),()=>F.disconnect()},[]),se.useEffect(()=>{if(!d)return;const E=v.current,O=U=>{U.key==="Escape"&&(document.fullscreenElement||_())},F=()=>{document.fullscreenElement||p(!1)};return window.addEventListener("keydown",O),document.addEventListener("fullscreenchange",F),()=>{window.removeEventListener("keydown",O),document.removeEventListener("fullscreenchange",F),document.fullscreenElement===E&&document.exitFullscreen()}},[_,d]),se.useEffect(()=>{AK(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=[],U=RK(E,()=>{E.contentWindow&&(O=new IH(null,{name:"Papers with Code",version:"1"},{serverTools:{},openLinks:{},logging:{},...b?{clipboard:{write:{}}}:{}},{hostContext:{theme:document.documentElement.dataset.theme==="dark"?"dark":"light",displayMode:d?"fullscreen":"inline"}}),O.oncalltool=async({name:L,arguments:q})=>{if(i.current.public_fork&&L!=="export_to_excalidraw")throw new Error("Shared diagrams cannot mutate owner state");return CK().callTool(L,q??{})},O.onopenlink=async({url:L})=>{const q=new URL(L);if(q.protocol!=="https:"||q.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(q.href,"_blank","noopener,noreferrer"),{}},O.onsizechange=()=>{},O.oninitialized=()=>{const L=O;if(!L){c("error");return}s.current=!0;try{const q=JSON.parse(y),B={arguments:{elements:Array.isArray(q)?BH(q):q}};for(const N of[0,50,200,750])F.push(window.setTimeout(()=>{t.current===L&&L.sendToolInput(B)},N));L.sendToolResult(i.current.result)}catch{c("error")}},t.current=O,O.connect(new RH(E.contentWindow??void 0,E.contentWindow)).catch(()=>c("error")))});return()=>{U(),F.forEach(L=>window.clearTimeout(L)),s.current=!1,O==null||O.teardownResource({}).catch(()=>{}),t.current===O&&(t.current=null)}},[o,l,d,y,b,m]),se.useEffect(()=>{var E;l!=="ready"||!s.current||(E=t.current)==null||E.sendToolResult(n.result).catch(()=>{})},[n.result,l]);const C=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…"}),C&&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:b?"clipboard-write":void 0,srcDoc:o,style:{height:h}},m)]})};var Pd={};Pd.d=(n,e)=>{for(var t in e)Pd.o(e,t)&&!Pd.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:e[t]})};Pd.o=(n,e)=>Object.prototype.hasOwnProperty.call(n,e);var Ne=globalThis.pdfjsLib={};Pd.d(Ne,{AbortException:()=>xc,AnnotationEditorLayer:()=>xw,AnnotationEditorParamsType:()=>Ie,AnnotationEditorType:()=>je,AnnotationEditorUIManager:()=>dc,AnnotationLayer:()=>P8,AnnotationMode:()=>Do,ColorPicker:()=>Qg,DOMSVGFactory:()=>nk,DrawLayer:()=>Tw,FeatureTest:()=>ys,GlobalWorkerOptions:()=>mo,ImageKind:()=>Km,InvalidPDFException:()=>gP,MissingPDFException:()=>Ac,OPS:()=>$i,OutputScale:()=>vb,PDFDataRangeTransport:()=>dR,PDFDateString:()=>Z1,PDFWorker:()=>ih,PasswordResponses:()=>LK,PermissionFlag:()=>NK,PixelsPerInch:()=>ka,RenderingCancelledException:()=>G1,TextLayer:()=>Wb,UnexpectedResponseException:()=>h0,Util:()=>Ee,VerbosityLevel:()=>a0,XfaLayer:()=>pR,build:()=>h8,createValidAbsoluteUrl:()=>zK,fetchData:()=>d0,getDocument:()=>t8,getFilenameFromUrl:()=>ZK,getPdfFilenameFromUrl:()=>XK,getXfaPageViewport:()=>YK,isDataScheme:()=>f0,isPdfFile:()=>K1,noContextMenu:()=>gi,normalizeUnicode:()=>WK,setLayerDimensions:()=>uc,shadow:()=>Ze,version:()=>c8});const ls=typeof process=="object"&&process+""=="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&process.type!=="browser"),mP=[1,0,0,1,0,0],pb=[.001,0,0,.001,0,0],IK=1e7,J0=1.35,Gs={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},OK="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},NK={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},es={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},Km={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},dn={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},Bu={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},a0={ERRORS:0,WARNINGS:1,INFOS:5},$i={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},LK={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let l0=a0.WARNINGS;function DK(n){Number.isInteger(n)&&(l0=n)}function FK(){return l0}function c0(n){l0>=a0.INFOS&&console.log(`Info: ${n}`)}function Ue(n){l0>=a0.WARNINGS&&console.log(`Warning: ${n}`)}function Rt(n){throw new Error(n)}function bn(n,e){n||Rt(e)}function jK(n){switch(n==null?void 0:n.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function zK(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=VK(n)}catch{}}const s=e?new URL(n,e):new URL(n);if(jK(s))return s}catch{}return null}function Ze(n,e,t,s=!1){return Object.defineProperty(n,e,{value:t,enumerable:!s,configurable:!0,writable:!1}),t}const Ma=function(){function e(t,s){this.message=t,this.name=s}return e.prototype=new Error,e.constructor=e,e}();class mb extends Ma{constructor(e,t){super(e,"PasswordException"),this.code=t}}class gb extends Ma{constructor(e,t){super(e,"UnknownErrorException"),this.details=t}}class gP extends Ma{constructor(e){super(e,"InvalidPDFException")}}class Ac extends Ma{constructor(e){super(e,"MissingPDFException")}}class h0 extends Ma{constructor(e,t){super(e,"UnexpectedResponseException"),this.status=t}}class HK extends Ma{constructor(e){super(e,"FormatError")}}class xc extends Ma{constructor(e){super(e,"AbortException")}}function yP(n){(typeof n!="object"||(n==null?void 0:n.length)===void 0)&&Rt("Invalid argument for bytesToString");const e=n.length,t=8192;if(e>24&255,n>>16&255,n>>8&255,n&255)}function V1(n){const e=Object.create(null);for(const[t,s]of n)e[t]=s;return e}function qK(){const n=new Uint8Array(4);return n[0]=1,new Uint32Array(n.buffer,0,1)[0]===1}function UK(){try{return new Function(""),!0}catch{return!1}}class ys{static get isLittleEndian(){return Ze(this,"isLittleEndian",qK())}static get isEvalSupported(){return Ze(this,"isEvalSupported",UK())}static get isOffscreenCanvasSupported(){return Ze(this,"isOffscreenCanvasSupported",typeof OffscreenCanvas<"u")}static get platform(){return typeof navigator<"u"&&typeof(navigator==null?void 0:navigator.platform)=="string"?Ze(this,"platform",{isMac:navigator.platform.includes("Mac"),isWindows:navigator.platform.includes("Win"),isFirefox:typeof(navigator==null?void 0:navigator.userAgent)=="string"&&navigator.userAgent.includes("Firefox")}):Ze(this,"platform",{isMac:!1,isWindows:!1,isFirefox:!1})}static get isCSSRoundSupported(){var e,t;return Ze(this,"isCSSRoundSupported",(t=(e=globalThis.CSS)==null?void 0:e.supports)==null?void 0:t.call(e,"width: round(1.5px, 1px)"))}}const Q0=Array.from(Array(256).keys(),n=>n.toString(16).padStart(2,"0"));var ko,Zm,yb;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,ko,yb).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,ko,yb).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}}ko=new WeakSet,Zm=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)},yb=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,ko,Zm).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,ko,Zm).call(this,e,t,s,i,r,o,a,l,(-h+m)/g,d),T(this,ko,Zm).call(this,e,t,s,i,r,o,a,l,(-h-m)/g,d)},R(Ee,ko);function VK(n){return decodeURIComponent(escape(n))}let ev=null,dx=null;function WK(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 GK(){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 yP(n)}const W1="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 KK(n){return Uint8Array.prototype.toBase64?n.toBase64():btoa(yP(n))}const Hr="http://www.w3.org/2000/svg",sl=class sl{};ce(sl,"CSS",96),ce(sl,"PDF",72),ce(sl,"PDF_TO_CSS_UNITS",sl.CSS/sl.PDF);let ka=sl;async function d0(n,e="text"){if(td(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 Lp{constructor({viewBox:e,scale:t,rotation:s,offsetX:i=0,offsetY:r=0,dontFlip:o=!1}){this.viewBox=e,this.scale=t,this.rotation=s,this.offsetX=i,this.offsetY=r;const a=(e[2]+e[0])/2,l=(e[3]+e[1])/2;let c,h,u,d;switch(s%=360,s<0&&(s+=360),s){case 180:c=-1,h=0,u=0,d=1;break;case 90:c=0,h=1,u=1,d=0;break;case 270:c=0,h=-1,u=-1,d=0;break;case 0:c=1,h=0,u=0,d=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}o&&(u=-u,d=-d);let p,m,g,v;c===0?(p=Math.abs(l-e[1])*t+i,m=Math.abs(a-e[0])*t+r,g=(e[3]-e[1])*t,v=(e[2]-e[0])*t):(p=Math.abs(a-e[0])*t+i,m=Math.abs(l-e[1])*t+r,g=(e[2]-e[0])*t,v=(e[3]-e[1])*t),this.transform=[c*t,h*t,u*t,d*t,p-c*t*a-u*t*l,m-h*t*a-d*t*l],this.width=g,this.height=v}get rawDims(){const{viewBox:e}=this;return Ze(this,"rawDims",{pageWidth:e[2]-e[0],pageHeight:e[3]-e[1],pageX:e[0],pageY:e[1]})}clone({scale:e=this.scale,rotation:t=this.rotation,offsetX:s=this.offsetX,offsetY:i=this.offsetY,dontFlip:r=!1}={}){return new Lp({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 G1 extends Ma{constructor(e,t=0){super(e,"RenderingCancelledException"),this.extraDelay=t}}function f0(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))}}nf=new WeakMap,R(Z1,nf);function YK(n,{scale:e=1,rotation:t=0}){const{width:s,height:i}=n.attributes.style,r=[0,0,parseInt(s),parseInt(i)];return new Lp({viewBox:r,scale:e,rotation:t})}function X1(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 JK(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,X1(s))}e.remove()}function Bt(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 uc(n,e,t=!1,s=!0){if(e instanceof Lp){const{pageWidth:i,pageHeight:r}=e.rawDims,{style:o}=n,a=ys.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 vb{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,al,Ti,ll,sf,rf,Sy,vP,bs,bP,wP,Xm,_P,wb;const Br=class Br{constructor(e){R(this,bs);R(this,zo,null);R(this,al,null);R(this,Ti);R(this,ll,null);R(this,sf,null);$(this,Ti,e),f(Br,rf)||$(Br,rf,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=$(this,zo,document.createElement("div"));e.classList.add("editToolbar","hidden"),e.setAttribute("role","toolbar");const t=f(this,Ti)._uiManager._signal;e.addEventListener("contextmenu",gi,{signal:t}),e.addEventListener("pointerdown",T(Br,Sy,vP),{signal:t});const s=$(this,ll,document.createElement("div"));s.className="buttons",e.append(s);const i=f(this,Ti).toolbarPosition;if(i){const{style:r}=e,o=f(this,Ti)._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,bs,_P).call(this),e}get div(){return f(this,zo)}hide(){var e;f(this,zo).classList.add("hidden"),(e=f(this,al))==null||e.hideDropdown()}show(){var e;f(this,zo).classList.remove("hidden"),(e=f(this,sf))==null||e.shown()}async addAltText(e){const t=await e.render();T(this,bs,Xm).call(this,t),f(this,ll).prepend(t,f(this,bs,wb)),$(this,sf,e)}addColorPicker(e){$(this,al,e);const t=e.renderButton();T(this,bs,Xm).call(this,t),f(this,ll).prepend(t,f(this,bs,wb))}remove(){var e;f(this,zo).remove(),(e=f(this,al))==null||e.destroy(),$(this,al,null)}};zo=new WeakMap,al=new WeakMap,Ti=new WeakMap,ll=new WeakMap,sf=new WeakMap,rf=new WeakMap,Sy=new WeakSet,vP=function(e){e.stopPropagation()},bs=new WeakSet,bP=function(e){f(this,Ti)._focusEventsAllowed=!1,e.preventDefault(),e.stopPropagation()},wP=function(e){f(this,Ti)._focusEventsAllowed=!0,e.preventDefault(),e.stopPropagation()},Xm=function(e){const t=f(this,Ti)._uiManager._signal;e.addEventListener("focusin",T(this,bs,bP).bind(this),{capture:!0,signal:t}),e.addEventListener("focusout",T(this,bs,wP).bind(this),{capture:!0,signal:t}),e.addEventListener("contextmenu",gi,{signal:t})},_P=function(){const{editorType:e,_uiManager:t}=f(this,Ti),s=document.createElement("button");s.className="delete",s.tabIndex=0,s.setAttribute("data-l10n-id",f(Br,rf)[e]),T(this,bs,Xm).call(this,s),s.addEventListener("click",i=>{t.delete()},{signal:t._signal}),f(this,ll).append(s)},wb=function(){const e=document.createElement("div");return e.className="divider",e},R(Br,Sy),R(Br,rf,null);let bb=Br;var of,cl,hl,Ta,SP,kP,AP;class QK{constructor(e){R(this,Ta);R(this,of,null);R(this,cl,null);R(this,hl);$(this,hl,e)}show(e,t,s){const[i,r]=T(this,Ta,kP).call(this,t,s),{style:o}=f(this,cl)||$(this,cl,T(this,Ta,SP).call(this));e.append(f(this,cl)),o.insetInlineEnd=`${100*i}%`,o.top=`calc(${100*r}% + var(--editor-toolbar-vert-offset))`}hide(){f(this,cl).remove()}}of=new WeakMap,cl=new WeakMap,hl=new WeakMap,Ta=new WeakSet,SP=function(){const e=$(this,cl,document.createElement("div"));e.className="editToolbar",e.setAttribute("role","toolbar"),e.addEventListener("contextmenu",gi,{signal:f(this,hl)._signal});const t=$(this,of,document.createElement("div"));return t.className="buttons",e.append(t),T(this,Ta,AP).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,hl).highlightSelection("floating_button")},{signal:s}),f(this,of).append(e)};function Xg(n,e,t){for(const s of t)e.addEventListener(s,n[s].bind(n))}function e9(n){return Math.round(Math.min(255,Math.max(1,255*n))).toString(16).padStart(2,"0")}var ky;class t9{constructor(){R(this,ky,0)}get id(){return`${OK}${us(this,ky)._++}`}}ky=new WeakMap;var dh,af,ns,fh,Ym;const Ok=class Ok{constructor(){R(this,fh);R(this,dh,GK());R(this,af,0);R(this,ns,null)}static get _isSVGFittingCanvas(){const e='data:image/svg+xml;charset=UTF-8,',s=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),i=new Image;i.src=e;const r=i.decode().then(()=>(s.drawImage(i,0,0,1,1,0,0,1,3),new Uint32Array(s.getImageData(0,0,1,1).data.buffer)[0]===0));return Ze(this,"_isSVGFittingCanvas",r)}async getFromFile(e){const{lastModified:t,name:s,size:i,type:r}=e;return T(this,fh,Ym).call(this,`${t}_${s}_${i}_${r}`,e)}async getFromUrl(e){return T(this,fh,Ym).call(this,e,e)}async getFromBlob(e,t){const s=await t;return T(this,fh,Ym).call(this,e,s)}async getFromId(e){f(this,ns)||$(this,ns,new Map);const t=f(this,ns).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,ns)||$(this,ns,new Map);let s=f(this,ns).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,dh)}_${us(this,af)._++}`,refCounter:1,isSvg:!1},f(this,ns).set(e,s),f(this,ns).set(s.id,s),s}getSvgUrl(e){const t=f(this,ns).get(e);return t!=null&&t.isSvg?t.svgUrl:null}deleteId(e){var i;f(this,ns)||$(this,ns,new Map);const t=f(this,ns).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,dh)}_`)}};dh=new WeakMap,af=new WeakMap,ns=new WeakMap,fh=new WeakSet,Ym=async function(e,t){f(this,ns)||$(this,ns,new Map);let s=f(this,ns).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,dh)}_${us(this,af)._++}`,refCounter:0,isSvg:!1});let i;if(typeof t=="string"?(s.url=t,i=await d0(t,"blob")):t instanceof File?i=s.file=t:t instanceof Blob&&(i=t),i.type==="image/svg+xml"){const r=Ok._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,ns).set(e,s),s&&f(this,ns).set(s.id,s),s};let _b=Ok;var xn,Ho,lf,En;class n9{constructor(e=128){R(this,xn,[]);R(this,Ho,!1);R(this,lf);R(this,En,-1);$(this,lf,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,En)===-1){f(this,xn).length>0&&(f(this,xn).length=0),$(this,En,0),f(this,xn).push(l);return}if(o&&f(this,xn)[f(this,En)].type===r){a&&(l.undo=f(this,xn)[f(this,En)].undo),f(this,xn)[f(this,En)]=l;return}const c=f(this,En)+1;c===f(this,lf)?f(this,xn).splice(0,1):($(this,En,c),cr===t[o]))return xy._colorsMapping.get(s);return t}getHexCode(e){const t=this._colors.get(e);return t?Ee.makeHexColor(...t):e}};ce(xy,"_colorsMapping",new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]));let Sb=xy;var ph,js,fn,Fn,mh,Ur,gh,Pi,Bo,yh,ul,ir,Ri,dl,cf,hf,vh,uf,rr,qo,bh,Uo,or,Ey,Vo,df,Wo,fl,ff,pf,Cn,ut,Vr,pl,mf,gf,Go,ar,Wr,yf,ni,me,Jm,kb,EP,CP,Qm,$P,TP,PP,Ab,RP,xb,Eb,MP,ds,Mo,IP,OP,Cb,NP,nd,$b;const Jc=class Jc{constructor(e,t,s,i,r,o,a,l,c,h,u){R(this,me);R(this,ph,new AbortController);R(this,js,null);R(this,fn,new Map);R(this,Fn,new Map);R(this,mh,null);R(this,Ur,null);R(this,gh,null);R(this,Pi,new n9);R(this,Bo,null);R(this,yh,0);R(this,ul,new Set);R(this,ir,null);R(this,Ri,null);R(this,dl,new Set);R(this,cf,!1);R(this,hf,!1);R(this,vh,!1);R(this,uf,null);R(this,rr,null);R(this,qo,null);R(this,bh,null);R(this,Uo,!1);R(this,or,null);R(this,Ey,new t9);R(this,Vo,!1);R(this,df,!1);R(this,Wo,null);R(this,fl,null);R(this,ff,null);R(this,pf,null);R(this,Cn,je.NONE);R(this,ut,new Set);R(this,Vr,null);R(this,pl,null);R(this,mf,null);R(this,gf,{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,yf,null);R(this,ni,null);const d=this._signal=f(this,ph).signal;$(this,Wr,e),$(this,yf,t),$(this,mh,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,$P).call(this),T(this,me,MP).call(this),T(this,me,Ab).call(this),$(this,Ur,r.annotationStorage),$(this,uf,r.filterFactory),$(this,pl,o),$(this,bh,a||null),$(this,cf,l),$(this,hf,c),$(this,vh,h),$(this,pf,u||null),this.viewParameters={realScale:ka.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1}static get _keyboardManager(){const e=Jc.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 Ze(this,"_keyboardManager",new Dp([[["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,ni))==null||e.resolve(),$(this,ni,null),(t=f(this,ph))==null||t.abort(),$(this,ph,null),this._signal=null;for(const r of f(this,Fn).values())r.destroy();f(this,Fn).clear(),f(this,fn).clear(),f(this,dl).clear(),$(this,js,null),f(this,ut).clear(),f(this,Pi).destroy(),(s=f(this,mh))==null||s.destroy(),(i=f(this,or))==null||i.hide(),$(this,or,null),f(this,rr)&&(clearTimeout(f(this,rr)),$(this,rr,null)),f(this,ar)&&(clearTimeout(f(this,ar)),$(this,ar,null))}combinedSignal(e){return AbortSignal.any([this._signal,e.signal])}get mlManager(){return f(this,pf)}get useNewAltTextFlow(){return f(this,hf)}get useNewAltTextWhenAddingImage(){return f(this,vh)}get hcmFilter(){return Ze(this,"hcmFilter",f(this,pl)?f(this,uf).addHCMFilter(f(this,pl).foreground,f(this,pl).background):"none")}get direction(){return Ze(this,"direction",getComputedStyle(f(this,Wr)).direction)}get highlightColors(){return Ze(this,"highlightColors",f(this,bh)?new Map(f(this,bh).split(",").map(e=>e.split("=").map(t=>t.trim()))):null)}get highlightColorNames(){return Ze(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,e=>e.reverse())):null)}setMainHighlightColorPicker(e){$(this,ff,e)}editAltText(e,t=!1){var s;(s=f(this,mh))==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":$(this,vh,t);break}}onPageChanging({pageNumber:e}){$(this,yh,e-1)}focusMainContainer(){f(this,Wr).focus()}findParent(e,t){for(const s of f(this,Fn).values()){const{x:i,y:r,width:o,height:a}=s.div.getBoundingClientRect();if(e>=i&&e<=i+o&&t>=r&&t<=r+a)return s}return null}disableUserSelect(e=!1){f(this,yf).classList.toggle("noUserSelect",e)}addShouldRescale(e){f(this,dl).add(e)}removeShouldRescale(e){f(this,dl).delete(e)}onScaleChanging({scale:e}){this.commitOrRemove(),this.viewParameters.realScale=e*ka.PDF_TO_CSS_UNITS;for(const t of f(this,dl))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,Jm).call(this,t).closest(".textLayer"),h=this.getSelectionBoxes(c);if(!h)return;t.empty();const u=T(this,me,kb).call(this,c),d=f(this,Cn)===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)&&($(this,Uo,!1),T(this,me,Qm).call(this,"main_toolbar")),!this.hasSelection)return;const{activeElement:e}=document;for(const t of f(this,ut))if(t.div.contains(e)){$(this,fl,[t,e]),t._focusEventsAllowed=!1;break}}focus(){if(!f(this,fl))return;const[e,t]=f(this,fl);$(this,fl,null),t.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:this._signal}),t.focus()}addEditListeners(){T(this,me,Ab).call(this),T(this,me,xb).call(this)}removeEditListeners(){T(this,me,RP).call(this),T(this,me,Eb).call(this)}dragOver(e){for(const{type:t}of e.dataTransfer.items)for(const s of f(this,Ri))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,Ri))if(s.isHandlingMimeForPasting(t.type)){s.paste(t,this.currentLayer),e.preventDefault();return}}copy(e){var s;if(e.preventDefault(),(s=f(this,js))==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,Ri))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,Cb).call(this,l);T(this,me,$b).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,Cn)!==je.NONE&&!this.isEditorHandlingKeyboard&&Jc._keyboardManager.exec(this,e)}keyup(e){this.isShiftKeyDown&&e.key==="Shift"&&(this.isShiftKeyDown=!1,f(this,Uo)&&($(this,Uo,!1),T(this,me,Qm).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,TP).call(this),T(this,me,xb).call(this),T(this,me,ds).call(this,{isEditing:f(this,Cn)!==je.NONE,isEmpty:T(this,me,nd).call(this),hasSomethingToUndo:f(this,Pi).hasSomethingToUndo(),hasSomethingToRedo:f(this,Pi).hasSomethingToRedo(),hasSelectedEditor:!1})):(T(this,me,PP).call(this),T(this,me,Eb).call(this),T(this,me,ds).call(this,{isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(e){if(!f(this,Ri)){$(this,Ri,e);for(const t of f(this,Ri))T(this,me,Mo).call(this,t.defaultPropertiesToUpdate)}}getId(){return f(this,Ey).id}get currentLayer(){return f(this,Fn).get(f(this,yh))}getLayer(e){return f(this,Fn).get(e)}get currentPageIndex(){return f(this,yh)}addLayer(e){f(this,Fn).set(e.pageIndex,e),f(this,Vo)?e.enable():e.disable()}removeLayer(e){f(this,Fn).delete(e.pageIndex)}async updateMode(e,t=null,s=!1){if(f(this,Cn)!==e&&!(f(this,ni)&&(await f(this,ni).promise,!f(this,ni)))){if($(this,ni,Promise.withResolvers()),$(this,Cn,e),e===je.NONE){this.setEditingState(!1),T(this,me,OP).call(this),f(this,ni).resolve();return}this.setEditingState(!0),await T(this,me,IP).call(this),this.unselectAll();for(const i of f(this,Fn).values())i.updateMode(e);if(!t){s&&this.addNewEditorFromKeyboard(),f(this,ni).resolve();return}for(const i of f(this,fn).values())i.annotationElementId===t?(this.setSelected(i),i.enterInEditMode()):i.unselect();f(this,ni).resolve()}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(e){e!==f(this,Cn)&&this._eventBus.dispatch("switchannotationeditormode",{source:this,mode:e})}updateParams(e,t){var s;if(f(this,Ri)){switch(e){case Ie.CREATE:this.currentLayer.addNewEditor();return;case Ie.HIGHLIGHT_DEFAULT_COLOR:(s=f(this,ff))==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,mf)||$(this,mf,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,Ri))i.updateDefaultParams(e,t)}}showAllEditors(e,t,s=!1){var r;for(const o of f(this,fn).values())o.editorType===e&&o.show(t);(((r=f(this,mf))==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,df)!==e){$(this,df,e);for(const t of f(this,Fn).values())e?t.disableClick():t.enableClick(),t.div.classList.toggle("waiting",e)}}getEditors(e){const t=[];for(const s of f(this,fn).values())s.pageIndex===e&&t.push(s);return t}getEditor(e){return f(this,fn).get(e)}addEditor(e){f(this,fn).set(e.id,e)}removeEditor(e){var t;e.div.contains(document.activeElement)&&(f(this,rr)&&clearTimeout(f(this,rr)),$(this,rr,setTimeout(()=>{this.focusMainContainer(),$(this,rr,null)},0))),f(this,fn).delete(e.id),this.unselect(e),(!e.annotationElementId||!f(this,ul).has(e.annotationElementId))&&((t=f(this,Ur))==null||t.remove(e.id))}addDeletedAnnotationElement(e){f(this,ul).add(e.annotationElementId),this.addChangedExistingAnnotation(e),e.deleted=!0}isDeletedAnnotationElement(e){return f(this,ul).has(e)}removeDeletedAnnotationElement(e){f(this,ul).delete(e.annotationElementId),this.removeChangedExistingAnnotation(e),e.deleted=!1}setActiveEditor(e){f(this,js)!==e&&($(this,js,e),e&&T(this,me,Mo).call(this,e.propertiesToUpdate))}updateUI(e){f(this,me,NP)===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,ds).call(this,{hasSelectedEditor:this.hasSelection});return}f(this,ut).add(e),e.select(),T(this,me,Mo).call(this,e.propertiesToUpdate),T(this,me,ds).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,ds).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,ds).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,Pi).undo(),T(this,me,ds).call(this,{hasSomethingToUndo:f(this,Pi).hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:T(this,me,nd).call(this)})}redo(){f(this,Pi).redo(),T(this,me,ds).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:f(this,Pi).hasSomethingToRedo(),isEmpty:T(this,me,nd).call(this)})}addCommands(e){f(this,Pi).add(e),T(this,me,ds).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:T(this,me,nd).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,Cb).call(this,i)};this.addCommands({cmd:t,undo:s,mustExec:!0})}commitOrRemove(){var e;(e=f(this,js))==null||e.commitOrRemove()}hasSomethingToControl(){return f(this,js)||this.hasSelection}selectAll(){for(const e of f(this,ut))e.commit();T(this,me,$b).call(this,f(this,fn).values())}unselectAll(){if(!(f(this,js)&&(f(this,js).commitOrRemove(),f(this,Cn)!==je.NONE))&&this.hasSelection){for(const e of f(this,ut))e.unselect();f(this,ut).clear(),T(this,me,ds).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)),$(this,ar,setTimeout(()=>{$(this,ar,null),f(this,Go)[0]=f(this,Go)[1]=0,this.addCommands({cmd:()=>{for(const l of o)f(this,fn).has(l.id)&&l.translateInPage(i,r)},undo:()=>{for(const l of o)f(this,fn).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),$(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);$(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,fn).has(i.id)){const l=f(this,Fn).get(a);l?i._setParentAndPosition(l,r,o):(i.pageIndex=a,i.x=r,i.y=o)}};return this.addCommands({cmd:()=>{for(const[i,{newX:r,newY:o,newPageIndex:a}]of e)s(i,r,o,a)},undo:()=>{for(const[i,{savedX:r,savedY:o,savedPageIndex:a}]of e)s(i,r,o,a)},mustExec:!0}),!0}dragSelectedEditors(e,t){if(f(this,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,js)===e}getActive(){return f(this,js)}getMode(){return f(this,Cn)}get imageManager(){return Ze(this,"imageManager",new _b)}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,Qm).call(this,"main_toolbar"))};window.addEventListener("pointerup",u,{signal:h}),window.addEventListener("blur",u,{signal:h})}},Qm=function(e=""){f(this,Cn)===je.HIGHLIGHT?this.highlightSelection(e):f(this,cf)&&T(this,me,EP).call(this)},$P=function(){document.addEventListener("selectionchange",T(this,me,CP).bind(this),{signal:this._signal})},TP=function(){if(f(this,qo))return;$(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})},PP=function(){var e;(e=f(this,qo))==null||e.abort(),$(this,qo,null)},Ab=function(){if(f(this,Wo))return;$(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})},RP=function(){var e;(e=f(this,Wo))==null||e.abort(),$(this,Wo,null)},xb=function(){if(f(this,Bo))return;$(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})},Eb=function(){var e;(e=f(this,Bo))==null||e.abort(),$(this,Bo,null)},MP=function(){const e=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:e}),document.addEventListener("drop",this.drop.bind(this),{signal:e})},ds=function(e){Object.entries(e).some(([s,i])=>f(this,gf)[s]!==i)&&(this._eventBus.dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(f(this,gf),e)}),f(this,Cn)===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})},IP=async function(){if(!f(this,Vo)){$(this,Vo,!0);const e=[];for(const t of f(this,Fn).values())e.push(t.enable());await Promise.all(e);for(const t of f(this,fn).values())t.enable()}},OP=function(){if(this.unselectAll(),f(this,Vo)){$(this,Vo,!1);for(const e of f(this,Fn).values())e.disable();for(const e of f(this,fn).values())e.disable()}},Cb=function(e){const t=f(this,Fn).get(e.pageIndex);t?t.addOrRebuild(e):(this.addEditor(e),this.addToAnnotationStorage(e))},NP=function(){let e=null;for(e of f(this,ut));return e},nd=function(){if(f(this,fn).size===0)return!0;if(f(this,fn).size===1)for(const e of f(this,fn).values())return e.isEmpty();return!1},$b=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,ds).call(this,{hasSelectedEditor:this.hasSelection})},ce(Jc,"TRANSLATE_SMALL",1),ce(Jc,"TRANSLATE_BIG",10);let dc=Jc;var $n,lr,Mi,wh,cr,zs,_h,hr,As,Gr,ml,ur,Ko,Wi,sd,eg;const fs=class fs{constructor(e){R(this,Wi);R(this,$n,null);R(this,lr,!1);R(this,Mi,null);R(this,wh,null);R(this,cr,null);R(this,zs,null);R(this,_h,!1);R(this,hr,null);R(this,As,null);R(this,Gr,null);R(this,ml,null);R(this,ur,!1);$(this,As,e),$(this,ur,e._uiManager.useNewAltTextFlow),f(fs,Ko)||$(fs,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){fs._l10n??(fs._l10n=e)}async render(){const e=$(this,Mi,document.createElement("button"));e.className="altText",e.tabIndex="0";const t=$(this,wh,document.createElement("span"));e.append(t),f(this,ur)?(e.classList.add("new"),e.setAttribute("data-l10n-id",f(fs,Ko).missing),t.setAttribute("data-l10n-id",f(fs,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,As)._uiManager._signal;e.addEventListener("contextmenu",gi,{signal:s}),e.addEventListener("pointerdown",r=>r.stopPropagation(),{signal:s});const i=r=>{r.preventDefault(),f(this,As)._uiManager.editAltText(f(this,As)),f(this,ur)&&f(this,As)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:f(this,Wi,sd)}})};return e.addEventListener("click",i,{capture:!0,signal:s}),e.addEventListener("keydown",r=>{r.target===e&&r.key==="Enter"&&($(this,_h,!0),i(r))},{signal:s}),await T(this,Wi,eg).call(this),e}finish(){f(this,Mi)&&(f(this,Mi).focus({focusVisible:f(this,_h)}),$(this,_h,!1))}isEmpty(){return f(this,ur)?f(this,$n)===null:!f(this,$n)&&!f(this,lr)}hasData(){return f(this,ur)?f(this,$n)!==null||!!f(this,Gr):this.isEmpty()}get guessedText(){return f(this,Gr)}async setGuessedText(e){f(this,$n)===null&&($(this,Gr,e),$(this,ml,await fs._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:e})),T(this,Wi,eg).call(this))}toggleAltTextBadge(e=!1){var t;if(!f(this,ur)||f(this,$n)){(t=f(this,hr))==null||t.remove(),$(this,hr,null);return}if(!f(this,hr)){const s=$(this,hr,document.createElement("div"));s.className="noAltTextBadge",f(this,As).div.append(s)}f(this,hr).classList.toggle("hidden",!e)}serialize(e){let t=f(this,$n);return!e&&f(this,Gr)===t&&(t=f(this,ml)),{altText:t,decorative:f(this,lr),guessedText:f(this,Gr),textWithDisclaimer:f(this,ml)}}get data(){return{altText:f(this,$n),decorative:f(this,lr)}}set data({altText:e,decorative:t,guessedText:s,textWithDisclaimer:i,cancel:r=!1}){s&&($(this,Gr,s),$(this,ml,i)),!(f(this,$n)===e&&f(this,lr)===t)&&(r||($(this,$n,e),$(this,lr,t)),T(this,Wi,eg).call(this))}toggle(e=!1){f(this,Mi)&&(!e&&f(this,zs)&&(clearTimeout(f(this,zs)),$(this,zs,null)),f(this,Mi).disabled=!e)}shown(){f(this,As)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:f(this,Wi,sd)}})}destroy(){var e,t;(e=f(this,Mi))==null||e.remove(),$(this,Mi,null),$(this,wh,null),$(this,cr,null),(t=f(this,hr))==null||t.remove(),$(this,hr,null)}};$n=new WeakMap,lr=new WeakMap,Mi=new WeakMap,wh=new WeakMap,cr=new WeakMap,zs=new WeakMap,_h=new WeakMap,hr=new WeakMap,As=new WeakMap,Gr=new WeakMap,ml=new WeakMap,ur=new WeakMap,Ko=new WeakMap,Wi=new WeakSet,sd=function(){return f(this,$n)&&"added"||f(this,$n)===null&&this.guessedText&&"review"||"missing"},eg=async function(){var i,r,o;const e=f(this,Mi);if(!e)return;if(f(this,ur)){if(e.classList.toggle("done",!!f(this,$n)),e.setAttribute("data-l10n-id",f(fs,Ko)[f(this,Wi,sd)]),(i=f(this,wh))==null||i.setAttribute("data-l10n-id",f(fs,Ko)[`${f(this,Wi,sd)}-label`]),!f(this,$n)){(r=f(this,cr))==null||r.remove();return}}else{if(!f(this,$n)&&!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){$(this,cr,t=document.createElement("span")),t.className="tooltip",t.setAttribute("role","tooltip"),t.id=`alt-text-tooltip-${f(this,As).id}`;const a=100,l=f(this,As)._uiManager._signal;l.addEventListener("abort",()=>{clearTimeout(f(this,zs)),$(this,zs,null)},{once:!0}),e.addEventListener("mouseenter",()=>{$(this,zs,setTimeout(()=>{$(this,zs,null),f(this,cr).classList.add("show"),f(this,As)._reportTelemetry({action:"alt_text_tooltip"})},a))},{signal:l}),e.addEventListener("mouseleave",()=>{var c;f(this,zs)&&(clearTimeout(f(this,zs)),$(this,zs,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,$n)),t.parentNode||e.append(t);const s=f(this,As).getImageForAltText();s==null||s.setAttribute("aria-describedby",t.id)},R(fs,Ko,null),ce(fs,"_l10n",null);let Yg=fs;var gl,Ii,zt,Sh,yl,jn,vl,Zo,vf,bl,Xo,bf,wl,Kr,dr,kh,Ah,si,wf,Cy,Be,Tb,_f,Pb,Rb,LP,DP,Mb,Ib,Ob,FP,Nb,jP,zP,HP,Lb,id;const ct=class ct{constructor(e){R(this,Be);R(this,gl,null);R(this,Ii,null);R(this,zt,null);R(this,Sh,!1);R(this,yl,!1);R(this,jn,null);R(this,vl,null);R(this,Zo,null);R(this,vf,"");R(this,bl,!1);R(this,Xo,null);R(this,bf,!1);R(this,wl,!1);R(this,Kr,!1);R(this,dr,null);R(this,kh,0);R(this,Ah,0);R(this,si,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,wf,!1);R(this,Cy,ct._zIndex++);this.parent=e.parent,this.id=e.id,this.width=this.height=null,this.pageIndex=e.parent.pageIndex,this.name=e.name,this.div=null,this._uiManager=e.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=e.isCentered,this._structTreeParentId=null;const{rotation:t,rawDims:{pageWidth:s,pageHeight:i,pageX:r,pageY:o}}=this.parent.viewport;this.rotation=t,this.pageRotation=(360+t-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[s,i],this.pageTranslation=[r,o];const[a,l]=this.parentDimensions;this.x=e.x/a,this.y=e.y/l,this.isAttachedToDOM=!1,this.deleted=!1}static get _resizerKeyboardManager(){const e=ct.prototype._resizeWithKeyboard,t=dc.TRANSLATE_SMALL,s=dc.TRANSLATE_BIG;return Ze(this,"_resizerKeyboardManager",new Dp([[["ArrowLeft","mac+ArrowLeft"],e,{args:[-t,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e,{args:[-s,0]}],[["ArrowRight","mac+ArrowRight"],e,{args:[t,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e,{args:[s,0]}],[["ArrowUp","mac+ArrowUp"],e,{args:[0,-t]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e,{args:[0,-s]}],[["ArrowDown","mac+ArrowDown"],e,{args:[0,t]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e,{args:[0,s]}],[["Escape","mac+Escape"],ct.prototype._stopResizingWithKeyboard]]))}get editorType(){return Object.getPrototypeOf(this).constructor._type}static get _defaultLineColor(){return Ze(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(e){const t=new s9({id:e.parent.getNextId(),parent:e.parent,uiManager:e._uiManager});t.annotationElementId=e.annotationElementId,t.deleted=!0,t._uiManager.addToAnnotationStorage(t)}static initialize(e,t){if(ct._l10n??(ct._l10n=e),ct._l10nResizer||(ct._l10nResizer=Object.freeze({topLeft:"pdfjs-editor-resizer-top-left",topMiddle:"pdfjs-editor-resizer-top-middle",topRight:"pdfjs-editor-resizer-top-right",middleRight:"pdfjs-editor-resizer-middle-right",bottomRight:"pdfjs-editor-resizer-bottom-right",bottomMiddle:"pdfjs-editor-resizer-bottom-middle",bottomLeft:"pdfjs-editor-resizer-bottom-left",middleLeft:"pdfjs-editor-resizer-middle-left"})),ct._borderLineWidth!==-1)return;const s=getComputedStyle(document.documentElement);ct._borderLineWidth=parseFloat(s.getPropertyValue("--outline-width"))||0}static updateDefaultParams(e,t){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(e){return!1}static paste(e,t){Rt("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return f(this,wf)}set _isDraggable(e){var t;$(this,wf,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,Cy)}setParent(e){e!==null?(this.pageIndex=e.pageIndex,this.pageDimensions=e.pageDimensions):T(this,Be,id).call(this),this.parent=e}focusin(e){this._focusEventsAllowed&&(f(this,bl)?$(this,bl,!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,Tb).call(this,this.parentDimensions,e,t)}translateInPage(e,t){f(this,Xo)||$(this,Xo,[this.x,this.y]),T(this,Be,Tb).call(this,this.pageDimensions,e,t),this.div.scrollIntoView({block:"nearest"})}drag(e,t){f(this,Xo)||$(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}=ct,i=s/e,r=s/t;switch(this.rotation){case 90:return[-i,r];case 180:return[i,r];case 270:return[i,-r];default:return[-i,-r]}}get _mustFixPosition(){return!0}fixAndSetPosition(e=this.rotation){const[t,s]=this.pageDimensions;let{x:i,y:r,width:o,height:a}=this;if(o*=t,a*=s,i*=t,r*=s,this._mustFixPosition)switch(e){case 0:i=Math.max(0,Math.min(t-o,i)),r=Math.max(0,Math.min(s-a,r));break;case 90:i=Math.max(0,Math.min(t-a,i)),r=Math.min(s,Math.max(o,r));break;case 180:i=Math.min(t,Math.max(o,i)),r=Math.min(s,Math.max(a,r));break;case 270:i=Math.min(t,Math.max(a,i)),r=Math.max(0,Math.min(s-o,r));break}this.x=i/=t,this.y=r/=s;const[l,c]=this.getBaseTranslation();i+=l,r+=c;const{style:h}=this.div;h.left=`${(100*i).toFixed(2)}%`,h.top=`${(100*r).toFixed(2)}%`,this.moveInDOM()}screenToPageTranslation(e,t){var s;return T(s=ct,_f,Pb).call(s,e,t,this.parentRotation)}pageTranslationToScreen(e,t){var s;return T(s=ct,_f,Pb).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,yl)||(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,yl)&&t.endsWith("%");if(i&&r)return;const[o,a]=this.parentDimensions;i||(e.width=`${(100*parseFloat(s)/o).toFixed(2)}%`),!f(this,yl)&&!r&&(e.height=`${(100*parseFloat(t)/a).toFixed(2)}%`)}getInitialTranslation(){return[0,0]}altTextFinish(){var e;(e=f(this,zt))==null||e.finish()}async addEditToolbar(){return this._editToolbar||f(this,wl)?this._editToolbar:(this._editToolbar=new bb(this),this.div.append(this._editToolbar.render()),f(this,zt)&&await this._editToolbar.addAltText(f(this,zt)),this._editToolbar)}removeEditToolbar(){var e;this._editToolbar&&(this._editToolbar.remove(),this._editToolbar=null,(e=f(this,zt))==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,zt)||(Yg.initialize(ct._l10n),$(this,zt,new Yg(this)),f(this,gl)&&(f(this,zt).data=f(this,gl),$(this,gl,null)),await this.addEditToolbar())}get altTextData(){var e;return(e=f(this,zt))==null?void 0:e.data}set altTextData(e){f(this,zt)&&(f(this,zt).data=e)}get guessedAltText(){var e;return(e=f(this,zt))==null?void 0:e.guessedText}async setGuessedAltText(e){var t;await((t=f(this,zt))==null?void 0:t.setGuessedText(e))}serializeAltText(e){var t;return(t=f(this,zt))==null?void 0:t.serialize(e)}hasAltText(){return!!f(this,zt)&&!f(this,zt).isEmpty()}hasAltTextData(){var e;return((e=f(this,zt))==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,Sh)?-1:0,this._isVisible||this.div.classList.add("hidden"),this.setInForeground(),T(this,Be,Nb).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),Xg(this,this.div,["pointerdown"]),this.div}pointerdown(e){const{isMac:t}=ys.platform;if(e.button!==0||e.ctrlKey&&t){e.preventDefault();return}if($(this,bl,!0),this._isDraggable){T(this,Be,FP).call(this,e);return}T(this,Be,Ob).call(this,e)}get isSelected(){return this._uiManager.isSelected(this)}moveInDOM(){f(this,dr)&&clearTimeout(f(this,dr)),$(this,dr,setTimeout(()=>{var e;$(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(){$(this,wl,!0)}disableEditMode(){$(this,wl,!1)}isInEditMode(){return f(this,wl)}shouldGetKeyboardEvents(){return f(this,Kr)}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}rebuild(){T(this,Be,Nb).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){Rt("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,$(i,gl,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(),$(this,Zo,null),this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),f(this,dr)&&(clearTimeout(f(this,dr)),$(this,dr,null)),T(this,Be,id).call(this),this.removeEditToolbar(),f(this,si)){for(const t of f(this,si).values())clearTimeout(t);$(this,si,null)}this.parent=null}get isResizable(){return!1}makeResizable(){this.isResizable&&(T(this,Be,LP).call(this),f(this,jn).classList.remove("hidden"),Xg(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),$(this,vl,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height});const t=f(this,jn).children;if(!f(this,Ii)){$(this,Ii,Array.from(t));const o=T(this,Be,jP).bind(this),a=T(this,Be,zP).bind(this),l=this._uiManager._signal;for(const c of f(this,Ii)){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,HP).bind(this,h),{signal:l}),c.setAttribute("data-l10n-id",ct._l10nResizer[h])}}const s=f(this,Ii)[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,Ii).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,zt))==null||s.toggleAltTextBadge(!1)}unselect(){var e,t,s,i,r;(e=f(this,jn))==null||e.classList.add("hidden"),(t=this.div)==null||t.classList.remove("selectedEditor"),(s=this.div)!=null&&s.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0}),(i=this._editToolbar)==null||i.hide(),(r=f(this,zt))==null||r.toggleAltTextBadge(!0)}updateParams(e,t){}disableEditing(){}enableEditing(){}enterInEditMode(){}getImageForAltText(){return null}get contentDiv(){return this.div}get isEditing(){return f(this,bf)}set isEditing(e){$(this,bf,e),this.parent&&(e?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null))}setAspectRatio(e,t){$(this,yl,!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,si)||$(this,si,new Map);const{action:s}=e;let i=f(this,si).get(s);i&&clearTimeout(i),i=setTimeout(()=>{this._reportTelemetry(e),f(this,si).delete(s),f(this,si).size===0&&$(this,si,null)},ct._telemetryTimeout),f(this,si).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),$(this,Sh,!1)}disable(){this.div&&(this.div.tabIndex=-1),$(this,Sh,!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()}};gl=new WeakMap,Ii=new WeakMap,zt=new WeakMap,Sh=new WeakMap,yl=new WeakMap,jn=new WeakMap,vl=new WeakMap,Zo=new WeakMap,vf=new WeakMap,bl=new WeakMap,Xo=new WeakMap,bf=new WeakMap,wl=new WeakMap,Kr=new WeakMap,dr=new WeakMap,kh=new WeakMap,Ah=new WeakMap,si=new WeakMap,wf=new WeakMap,Cy=new WeakMap,Be=new WeakSet,Tb=function([e,t],s,i){[s,i]=this.screenToPageTranslation(s,i),this.x+=s/e,this.y+=i/t,this.fixAndSetPosition()},_f=new WeakSet,Pb=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]}},Rb=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]}},LP=function(){if(f(this,jn))return;$(this,jn,document.createElement("div")),f(this,jn).classList.add("resizers");const e=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],t=this._uiManager._signal;for(const s of e){const i=document.createElement("div");f(this,jn).append(i),i.classList.add("resizer",s),i.setAttribute("data-resizer-name",s),i.addEventListener("pointerdown",T(this,Be,DP).bind(this,s),{signal:t}),i.addEventListener("contextmenu",gi,{signal:t}),i.tabIndex=-1}this.div.prepend(f(this,jn))},DP=function(e,t){var m;t.preventDefault();const{isMac:s}=ys.platform;if(t.button!==0||t.ctrlKey&&s)return;(m=f(this,zt))==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,Ib).bind(this,e),{passive:!0,capture:!0,signal:o}),window.addEventListener("contextmenu",gi,{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,zt))==null||g.toggle(!0),this._isDraggable=i,this.parent.div.style.cursor=u,this.div.style.cursor=d,T(this,Be,Mb).call(this,a,l,c,h)};window.addEventListener("pointerup",p,{signal:o}),window.addEventListener("blur",p,{signal:o})},Mb=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})},Ib=function(e,t){const[s,i]=this.parentDimensions,r=this.x,o=this.y,a=this.width,l=this.height,c=ct.MIN_SIZE/s,h=ct.MIN_SIZE/i,u=te=>Math.round(te*1e4)/1e4,d=T(this,Be,Rb).call(this,this.rotation),p=(te,ae)=>[d[0]*te+d[2]*ae,d[1]*te+d[3]*ae],m=T(this,Be,Rb).call(this,360-this.rotation),g=(te,ae)=>[m[0]*te+m[2]*ae,m[1]*te+m[3]*ae];let v,y,b=!1,_=!1;switch(e){case"topLeft":b=!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":b=!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":b=!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":b=!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 C=p(...A);const E=u(r+C[0]),O=u(o+C[1]);let F=1,U=1,[L,q]=this.screenToPageTranslation(t.movementX,t.movementY);if([L,q]=g(L/s,q/i),b){const te=Math.hypot(a,l);F=U=Math.max(Math.min(Math.hypot(A[0]-k[0]-L,A[1]-k[1]-q)/te,1/a,1/l),c/a,h/l)}else _?F=Math.max(c,Math.min(1,Math.abs(A[0]-k[0]-L)))/a:U=Math.max(h,Math.min(1,Math.abs(A[1]-k[1]-q)))/l;const B=u(a*F),N=u(l*U);C=p(...y(B,N));const ee=E-C[0],Q=O-C[1];this.width=B,this.height=N,this.x=ee,this.y=Q,this.setDims(s*B,i*N),this.fixAndSetPosition()},Ob=function(e){const{isMac:t}=ys.platform;e.ctrlKey&&!t||e.shiftKey||e.metaKey&&t?this.parent.toggleSelected(this):this.parent.setSelected(this)},FP=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"),$(this,kh,e.clientX),$(this,Ah,e.clientY);const o=a=>{const{clientX:l,clientY:c}=a,[h,u]=this.screenToPageTranslation(l-f(this,kh),c-f(this,Ah));$(this,kh,l),$(this,Ah,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"),$(this,bl,!1),this._uiManager.endDragSession()||T(this,Be,Ob).call(this,e)};window.addEventListener("pointerup",r,{signal:i}),window.addEventListener("blur",r,{signal:i})},Nb=function(){if(f(this,Zo)||!this.div)return;$(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})},jP=function(e){ct._resizerKeyboardManager.exec(this,e)},zP=function(e){var t;f(this,Kr)&&((t=e.relatedTarget)==null?void 0:t.parentNode)!==f(this,jn)&&T(this,Be,id).call(this)},HP=function(e){$(this,vf,f(this,Kr)?e:"")},Lb=function(e){if(f(this,Ii))for(const t of f(this,Ii))t.tabIndex=e},id=function(){if($(this,Kr,!1),T(this,Be,Lb).call(this,-1),f(this,vl)){const{savedX:e,savedY:t,savedWidth:s,savedHeight:i}=f(this,vl);T(this,Be,Mb).call(this,e,t,s,i),$(this,vl,null)}},R(ct,_f),ce(ct,"_l10n",null),ce(ct,"_l10nResizer",null),ce(ct,"_borderLineWidth",-1),ce(ct,"_colorManager",new Sb),ce(ct,"_zIndex",1),ce(ct,"_telemetryTimeout",1e3);let ft=ct;class s9 extends ft{constructor(e){super(e),this.annotationElementId=e.annotationElementId,this.deleted=!0}serialize(){return this.serializeDeleted()}}const mx=3285377520,ti=4294901760,Qi=65535;class BP{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&ti|a*m&Qi,c^=a,c=c<<13|c>>>19,c=c*5+3864292196):(l=o[g],l=l*u&ti|l*p&Qi,l=l<<15|l>>>17,l=l*d&ti|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&ti|a*p&Qi,a=a<<15|a>>>17,a=a*d&ti|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&ti|e*36045&Qi,t=t*4283543511&ti|((t<<16|e>>>16)*2950163797&ti)>>>16,e^=t>>>1,e=e*444984403&ti|e*60499&Qi,t=t*3301882366&ti|((t<<16|e>>>16)*3120437893&ti)>>>16,e^=t>>>1,(e>>>0).toString(16).padStart(8,"0")+(t>>>0).toString(16).padStart(8,"0")}}const Db=Object.freeze({map:null,hash:"",transfer:void 0});var _l,Sl,Tn,$y,qP;class Y1{constructor(){R(this,$y);R(this,_l,!1);R(this,Sl,null);R(this,Tn,new Map);this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(e,t){const s=f(this,Tn).get(e);return s===void 0?t:Object.assign(t,s)}getRawValue(e){return f(this,Tn).get(e)}remove(e){if(f(this,Tn).delete(e),f(this,Tn).size===0&&this.resetModified(),typeof this.onAnnotationEditor=="function"){for(const t of f(this,Tn).values())if(t instanceof ft)return;this.onAnnotationEditor(null)}}setValue(e,t){const s=f(this,Tn).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,Tn).set(e,t);i&&T(this,$y,qP).call(this),t instanceof ft&&typeof this.onAnnotationEditor=="function"&&this.onAnnotationEditor(t.constructor._type)}has(e){return f(this,Tn).has(e)}getAll(){return f(this,Tn).size>0?V1(f(this,Tn)):null}setAll(e){for(const[t,s]of Object.entries(e))this.setValue(t,s)}get size(){return f(this,Tn).size}resetModified(){f(this,_l)&&($(this,_l,!1),typeof this.onResetModified=="function"&&this.onResetModified())}get print(){return new UP(this)}get serializable(){if(f(this,Tn).size===0)return Db;const e=new Map,t=new BP,s=[],i=Object.create(null);let r=!1;for(const[o,a]of f(this,Tn)){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}:Db}get editorStats(){let e=null;const t=new Map;for(const s of f(this,Tn).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(){$(this,Sl,null)}get modifiedIds(){if(f(this,Sl))return f(this,Sl);const e=[];for(const t of f(this,Tn).values())!(t instanceof ft)||!t.annotationElementId||!t.serialize()||e.push(t.annotationElementId);return $(this,Sl,{ids:new Set(e),hash:e.join(",")})}}_l=new WeakMap,Sl=new WeakMap,Tn=new WeakMap,$y=new WeakSet,qP=function(){f(this,_l)||($(this,_l,!0),typeof this.onSetModified=="function"&&this.onSetModified())};var Sf;class UP extends Y1{constructor(t){super();R(this,Sf);const{map:s,hash:i,transfer:r}=t.serializable,o=structuredClone(s,r?{transfer:r}:null);$(this,Sf,{map:o,hash:i,transfer:r})}get print(){Rt("Should not call PrintAnnotationStorage.print")}get serializable(){return f(this,Sf)}get modifiedIds(){return Ze(this,"modifiedIds",{ids:new Set,hash:""})}}Sf=new WeakMap;var xh;class i9{constructor({ownerDocument:e=globalThis.document,styleElement:t=null}){R(this,xh,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,xh).clear(),this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async loadSystemFont({systemFontInfo:e,_inspectFont:t}){if(!(!e||f(this,xh).has(e.loadedName))){if(bn(!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,xh).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}Rt("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 Ze(this,"isFontLoadingAPISupported",e)}get isSyncFontLoadingSupported(){let e=!1;return(ls||typeof navigator<"u"&&typeof(navigator==null?void 0:navigator.userAgent)=="string"&&/Mozilla\/5.0.*?rv:\d+.*? Gecko/.test(navigator.userAgent))&&(e=!0),Ze(this,"isSyncFontLoadingSupported",e)}_queueLoadingCallback(e){function t(){for(bn(!i.done,"completeRequest() cannot be called twice."),i.done=!0;s.length>0&&s[0].done;){const r=s.shift();setTimeout(r.callback,0)}}const{loadingRequests:s}=this,i={done:!1,complete:t,callback:e};return s.push(i),i}get _loadTestFont(){const e=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");return Ze(this,"_loadTestFont",e)}_prepareFontLoadEvent(e,t){function s(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,C,E){const O=k.substring(0,A),F=k.substring(A+C);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()})}}xh=new WeakMap;class r9{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,${KK(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:bn(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){Rt("Abstract method `_fetch` called.")}}class GP extends WP{async _fetch(e){const t=await d0(e,this.isCompressed?"arraybuffer":"text");return t instanceof ArrayBuffer?new Uint8Array(t):u0(t)}}class KP{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,Al,fr,Zr,ss,Ty,xl,be,ts,Lc,Dc,tg,Fc,ZP,Fb,jc,rd,od,jb,ad;class a9 extends KP{constructor({docId:t,ownerDocument:s=globalThis.document}){super();R(this,be);R(this,kl);R(this,Al);R(this,fr);R(this,Zr);R(this,ss);R(this,Ty);R(this,xl,0);$(this,Zr,t),$(this,ss,s)}addFilter(t){if(!t)return"none";let s=f(this,be,ts).get(t);if(s)return s;const[i,r,o]=T(this,be,tg).call(this,t),a=t.length===1?i:`${i}${r}${o}`;if(s=f(this,be,ts).get(a),s)return f(this,be,ts).set(t,s),s;const l=`g_${f(this,Zr)}_transfer_map_${us(this,xl)._++}`,c=T(this,be,Fc).call(this,l);f(this,be,ts).set(t,c),f(this,be,ts).set(a,c);const h=T(this,be,jc).call(this,l);return T(this,be,od).call(this,i,r,o,h),c}addHCMFilter(t,s){var m;const i=`${t}-${s}`,r="base";let o=f(this,be,Lc).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,be,Lc).set(r,o)),!t||!s))return o.url;const a=T(this,be,ad).call(this,t);t=Ee.makeHexColor(...a);const l=T(this,be,ad).call(this,s);if(s=Ee.makeHexColor(...l),f(this,be,Dc).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,be,jc).call(this,u);T(this,be,od).call(this,h,h,h,d),T(this,be,Fb).call(this,d);const p=(g,v)=>{const y=a[g]/255,b=l[g]/255,_=new Array(v+1);for(let k=0;k<=v;k++)_[k]=y+k/v*(b-y);return _.join(",")};return T(this,be,od).call(this,p(0,5),p(1,5),p(2,5),d),o.url=T(this,be,Fc).call(this,u),o.url}addAlphaFilter(t){let s=f(this,be,ts).get(t);if(s)return s;const[i]=T(this,be,tg).call(this,[t]),r=`alpha_${i}`;if(s=f(this,be,ts).get(r),s)return f(this,be,ts).set(t,s),s;const o=`g_${f(this,Zr)}_alpha_map_${us(this,xl)._++}`,a=T(this,be,Fc).call(this,o);f(this,be,ts).set(t,a),f(this,be,ts).set(r,a);const l=T(this,be,jc).call(this,o);return T(this,be,jb).call(this,i,l),a}addLuminosityFilter(t){let s=f(this,be,ts).get(t||"luminosity");if(s)return s;let i,r;if(t?([i]=T(this,be,tg).call(this,[t]),r=`luminosity_${i}`):r="luminosity",s=f(this,be,ts).get(r),s)return f(this,be,ts).set(t,s),s;const o=`g_${f(this,Zr)}_luminosity_map_${us(this,xl)._++}`,a=T(this,be,Fc).call(this,o);f(this,be,ts).set(t,a),f(this,be,ts).set(r,a);const l=T(this,be,jc).call(this,o);return T(this,be,ZP).call(this,l),t&&T(this,be,jb).call(this,i,l),a}addHighlightHCMFilter(t,s,i,r,o){var b;const a=`${s}-${i}-${r}-${o}`;let l=f(this,be,Lc).get(t);if((l==null?void 0:l.key)===a||(l?((b=l.filter)==null||b.remove(),l.key=a,l.url="none",l.filter=null):(l={key:a,url:"none",filter:null},f(this,be,Lc).set(t,l)),!s||!i))return l.url;const[c,h]=[s,i].map(T(this,be,ad).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,be,ad).bind(this));d{const C=new Array(256),E=(d-u)/A,O=_/255,F=(k-_)/(255*A);let U=0;for(let L=0;L<=A;L++){const q=Math.round(u+L*E),B=O+L*F;for(let N=U;N<=q;N++)C[N]=B;U=q+1}for(let L=U;L<256;L++)C[L]=C[U-1];return C.join(",")},v=`g_${f(this,Zr)}_hcm_${t}_filter`,y=l.filter=T(this,be,jc).call(this,v);return T(this,be,Fb).call(this,y),T(this,be,od).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,be,Fc).call(this,v),l.url}destroy(t=!1){t&&f(this,be,Lc).size!==0||(f(this,fr)&&(f(this,fr).parentNode.parentNode.remove(),$(this,fr,null)),f(this,Al)&&(f(this,Al).clear(),$(this,Al,null)),$(this,xl,0))}}kl=new WeakMap,Al=new WeakMap,fr=new WeakMap,Zr=new WeakMap,ss=new WeakMap,Ty=new WeakMap,xl=new WeakMap,be=new WeakSet,ts=function(){return f(this,Al)||$(this,Al,new Map)},Lc=function(){return f(this,Ty)||$(this,Ty,new Map)},Dc=function(){if(!f(this,fr)){const t=f(this,ss).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,ss).createElementNS(Hr,"svg");i.setAttribute("width",0),i.setAttribute("height",0),$(this,fr,f(this,ss).createElementNS(Hr,"defs")),t.append(i),i.append(f(this,fr)),f(this,ss).body.append(t)}return f(this,fr)},tg=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(",")]},Fc=function(t){if(f(this,kl)===void 0){$(this,kl,"");const s=f(this,ss).URL;s!==f(this,ss).baseURI&&(f0(s)?Ue('#createUrl: ignore "data:"-URL for performance reasons.'):$(this,kl,s.split("#",1)[0]))}return`url(${f(this,kl)}#${t})`},ZP=function(t){const s=f(this,ss).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)},Fb=function(t){const s=f(this,ss).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)},jc=function(t){const s=f(this,ss).createElementNS(Hr,"filter");return s.setAttribute("color-interpolation-filters","sRGB"),s.setAttribute("id",t),f(this,be,Dc).append(s),s},rd=function(t,s,i){const r=f(this,ss).createElementNS(Hr,s);r.setAttribute("type","discrete"),r.setAttribute("tableValues",i),t.append(r)},od=function(t,s,i,r){const o=f(this,ss).createElementNS(Hr,"feComponentTransfer");r.append(o),T(this,be,rd).call(this,o,"feFuncR",t),T(this,be,rd).call(this,o,"feFuncG",s),T(this,be,rd).call(this,o,"feFuncB",i)},jb=function(t,s){const i=f(this,ss).createElementNS(Hr,"feComponentTransfer");s.append(i),T(this,be,rd).call(this,i,"feFuncA",t)},ad=function(t){return f(this,be,Dc).style.color=t,X1(getComputedStyle(f(this,be,Dc)).getPropertyValue("color"))};class XP{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){Rt("Abstract method `_fetch` called.")}}class YP extends XP{async _fetch(e){const t=await d0(e,"arraybuffer");return new Uint8Array(t)}}if(ls){var zb=Promise.withResolvers(),Rd=null;(async()=>{const e=await Gp(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),t=await Gp(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),s=await Gp(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),i=await Gp(()=>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=>{Rd=e,zb.resolve()},e=>{Ue(`loadPackages: ${e}`),Rd=new Map,zb.resolve()})}class Aa{static get promise(){return zb.promise}static get(e){return Rd==null?void 0:Rd.get(e)}}async function JP(n){const t=await Aa.get("fs").promises.readFile(n);return new Uint8Array(t)}class l9 extends KP{}class c9 extends VP{_createCanvas(e,t){return Aa.get("canvas").createCanvas(e,t)}}class h9 extends WP{async _fetch(e){return JP(e)}}class u9 extends XP{async _fetch(e){return JP(e)}}const gs={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function Hb(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 J1{getPattern(){Rt("Abstract method `getPattern` called.")}}class d9 extends J1{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===gs.STROKE||i===gs.FILL){const o=t.current.getClippedPathBoundingBox(i,Bt(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),Hb(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 Hb(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,b=(l[i+1]+e.offsetY)*e.scaleY;if(m>=b)return;const _=c[r],k=c[r+1],A=c[r+2],C=c[o],E=c[o+1],O=c[o+2],F=c[a],U=c[a+1],L=c[a+2],q=Math.round(m),B=Math.round(b);let N,ee,Q,te,ae,Se,z,P;for(let D=q;D<=B;D++){if(Db?K=1:v===b?K=0:K=(v-D)/(v-b),N=g-(g-y)*K,ee=C-(C-F)*K,Q=E-(E-U)*K,te=O-(O-L)*K}let M;Db?M=1:M=(m-D)/(m-b),ae=p-(p-y)*M,Se=_-(_-F)*M,z=k-(k-U)*M,P=A-(A-L)*M;const w=Math.round(Math.min(N,ae)),x=Math.round(Math.max(N,ae));let I=u*D+w*4;for(let K=w;K<=x;K++)M=(N-K)/(N-ae),M<0?M=0:M>1&&(M=1),h[I++]=ee-(ee-Se)*M|0,h[I++]=Q-(Q-z)*M|0,h[I++]=te-(te-P)*M|0,h[I++]=255}}function f9(n,e,t){const s=e.coords,i=e.colors;let r,o;switch(e.type){case"lattice":const a=e.verticesPerRow,l=Math.floor(s.length/a)-1,c=a-1;for(r=0;r=U?k=l:C=!0,F>=L?A=c:E=!0;const q=this.getSizeAndScale(k,this.ctx.canvas.width,b),B=this.getSizeAndScale(A,this.ctx.canvas.height,_),N=e.cachedCanvases.getCanvas("pattern",q.size,B.size),ee=N.context,Q=a.createCanvasGraphics(ee);if(Q.groupLevel=e.groupLevel,this.setFillAndStrokeStyleToContext(Q,i,o),ee.translate(-q.scale*h,-B.scale*u),Q.transform(q.scale,0,0,B.scale,0,0),ee.save(),this.clipBbox(Q,h,u,d,p),Q.baseTransform=Bt(Q.ctx),Q.executeOperatorList(s),Q.endDrawing(),ee.restore(),C||E){const te=N.canvas;C&&(k=l),E&&(A=c);const ae=this.getSizeAndScale(k,this.ctx.canvas.width,b),Se=this.getSizeAndScale(A,this.ctx.canvas.height,_),z=ae.size,P=Se.size,D=e.cachedCanvases.getCanvas("pattern-workaround",z,P),M=D.context,w=C?Math.floor(m/l):0,x=E?Math.floor(g/c):0;for(let I=0;I<=w;I++)for(let K=0;K<=x;K++)M.drawImage(te,z*I,P*K,z,P,0,0,z,P);return{canvas:D.canvas,scaleX:ae.scale,scaleY:Se.scale,offsetX:h,offsetY:u}}return{canvas:N.canvas,scaleX:q.scale,scaleY:B.scale,offsetX:h,offsetY:u}}getSizeAndScale(e,t,s){const i=Math.max(Py.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(Bt(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 HK(`Unsupported paint type: ${t}`)}}getPattern(e,t,s,i){let r=s;i!==gs.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(Py,"MAX_PATTERN_SIZE",3e3);let Bb=Py;function y9({src:n,srcPos:e=0,dest:t,width:s,height:i,nonBlackColor:r=4294967295,inverseDecode:o=!1}){const a=ys.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 w9{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 um(n,e,t,s,i,r,o,a,l,c){const[h,u,d,p,m,g]=Bt(n);if(u===0&&d===0){const b=o*h+m,_=Math.round(b),k=a*p+g,A=Math.round(k),C=(o+l)*h+m,E=Math.abs(Math.round(C)-_)||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 b=a*d+m,_=Math.round(b),k=o*u+g,A=Math.round(k),C=(a+c)*d+m,E=Math.abs(Math.round(C)-_)||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 _9(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 b=128;for(;b>0;)u[d++]=y&b?0:255,b>>=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 b=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=mP,this.textMatrixScale=1,this.fontMatrix=pb,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=es.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=gs.FILL,t=null){const s=[this.minX,this.minY,this.maxX,this.maxY];if(e===gs.STROKE){t||Rt("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=gs.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%Ts,r=(t-i)/Ts,o=i===0?r:r+1,a=n.createImageData(s,Ts);let l=0,c;const h=e.data,u=a.data;let d,p,m,g;if(e.kind===Km.GRAYSCALE_1BPP){const v=h.byteLength,y=new Uint32Array(u.buffer,0,u.byteLength>>2),b=y.length,_=s+7>>3,k=4294967295,A=ys.isLittleEndian?4278190080:255;for(d=0;d_?s:C*8-7,F=O&-8;let U=0,L=0;for(;E>=1}for(;c=r&&(m=i,g=s*m),c=0,p=g;p--;)u[c++]=h[l++],u[c++]=h[l++],u[c++]=h[l++],u[c++]=255;n.putImageData(a,0,d*Ts)}else throw new Error(`bad image kind: ${e.kind}`)}function kx(n,e){if(e.bitmap){n.drawImage(e.bitmap,0,0);return}const t=e.height,s=e.width,i=t%Ts,r=(t-i)/Ts,o=i===0?r:r+1,a=n.createImageData(s,Ts);let l=0;const c=e.data,h=a.data;for(let u=0;ubx&&typeof s=="function",h=c?Date.now()+v9: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!==$i.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,Pa,qb).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,Pa,Ub).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=Bt(t);let l,c,h,u;if((e.bitmap||e.data)&&e.count>1){const O=e.bitmap||e.data.buffer;c=JSON.stringify(o?a:[a.slice(0,4),r]),l=this._cachedBitmapsMap.get(O),l||(l=new Map,this._cachedBitmapsMap.set(O,l));const F=l.get(c);if(F&&!o){const U=Math.round(Math.min(a[0],a[2])+a[4]),L=Math.round(Math.min(a[1],a[3])+a[5]);return{canvas:F,offsetX:U,offsetY:L}}h=F}h||(u=this.cachedCanvases.getCanvas("maskCanvas",s,i),kx(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,b=Math.round(v-m)||1,_=this.cachedCanvases.getCanvas("fillCanvas",y,b),k=_.context,A=p,C=m;k.translate(-A,-C),k.transform(...d),h||(h=this._scaleImage(u.canvas,zr(k)),h=h.img,l&&o&&l.set(c,h)),k.imageSmoothingEnabled=Ax(Bt(k),e.interpolate),um(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,-C]);return k.fillStyle=o?r.getPattern(t,this,E,gs.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(C)}}setLineWidth(e){e!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1),this.current.lineWidth=e,this.ctx.lineWidth=e}setLineCap(e){this.ctx.lineCap=S9[e]}setLineJoin(e){this.ctx.lineJoin=k9[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(...Bt(this.suspendedCtx)),qu(this.suspendedCtx,r),b9(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(),qu(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),b=y.context;b.drawImage(d,-p,-m),b.globalCompositeOperation="destination-atop",b.fillStyle=v,b.fillRect(0,0,s,i),b.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?(qu(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(),qu(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=Bt(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&es.FILL_STROKE_MASK,u=!!(l&es.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===es.FILL||h===es.FILL_STROKE)&&r.fill(),(h===es.STROKE||h===es.FILL_STROKE)&&r.stroke(),r.restore()):((h===es.FILL||h===es.FILL_STROKE)&&r.fillText(e,t,s),(h===es.STROKE||h===es.FILL_STROKE)&&r.strokeText(e,t,s)),u&&(this.pendingTextPaths||(this.pendingTextPaths=[])).push({transform:Bt(r),x:t,y:s,fontSize:c,addToPath:p})}get isFontSubpixelAAEnabled(){const{context:e}=this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled",10,10);e.scale(1.5,1),e.fillText("I",0,10);const t=e.getImageData(0,0,10,10).data;let s=!1;for(let i=3;i0&&t[i]<255){s=!0;break}return Ze(this,"isFontSubpixelAAEnabled",s)}showText(e){const t=this.current,s=t.font;if(s.isType3Font)return this.showType3Text(e);const i=t.fontSize;if(i===0)return;const r=this.ctx,o=t.fontSizeScale,a=t.charSpacing,l=t.wordSpacing,c=t.fontDirection,h=t.textHScale*c,u=e.length,d=s.vertical,p=d?1:-1,m=s.defaultVMetrics,g=i*t.fontMatrix[0],v=t.textRenderingMode===es.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 C=t.fillColor.getPattern(r,this,zr(r),gs.FILL);y=Bt(r),r.restore(),r.fillStyle=C}let b=t.lineWidth;const _=t.textMatrixScale;if(_===0||b===0){const C=t.textRenderingMode&es.FILL_STROKE_MASK;(C===es.STROKE||C===es.FILL_STROKE)&&(b=this.getSinglePixelWidth())}else b/=_;if(o!==1&&(r.scale(o,o),b/=o),r.lineWidth=b,s.isInvalidPDFjsFont){const C=[];let E=0;for(const O of e)C.push(O.unicode),E+=O.width;r.fillText(C.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(Bnew Nk(o,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack})};t=new Bb(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=g9(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),gs.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(){Rt("Should not call beginInlineImage")}beginImageData(){Rt("Should not call beginImageData")}paintFormXObjectBegin(e,t){if(this.contentVisible&&(this.save(),this.baseTransformStack.push(this.baseTransform),e&&this.transform(...e),this.baseTransform=Bt(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(Bt(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||c0("TODO: Support non-isolated groups."),e.knockout&&Ue("Knockout groups not supported.");const s=Bt(t);if(e.matrix&&t.transform(...e.matrix),!e.bbox)throw new Error("Bounding box is required.");let i=Ee.getAxialAlignedBoundingBox(e.bbox,Bt(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()),qu(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=Bt(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,Pa,qb).call(this),dm(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(Bt(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),dm(this.ctx)}else dm(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,Pa,Ub).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=_9(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=Bt(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}};Pa=new WeakSet,qb=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)},Ub=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 sh=Nk;for(const n in $i)sh.prototype[n]!==void 0&&(sh.prototype[$i[n]]=sh.prototype[n]);var Af,xf;class mo{static get workerPort(){return f(this,Af)}static set workerPort(e){if(!(typeof Worker<"u"&&e instanceof Worker)&&e!==null)throw new Error("Invalid `workerPort` type.");$(this,Af,e)}static get workerSrc(){return f(this,xf)}static set workerSrc(e){if(typeof e!="string")throw new Error("Invalid `workerSrc` type.");$(this,xf,e)}}Af=new WeakMap,xf=new WeakMap,R(mo,Af,null),R(mo,xf,"");const fm={DATA:1,ERROR:2},rn={CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function Ds(n){switch(n instanceof Error||typeof n=="object"&&n!==null||Rt('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),n.name){case"AbortException":return new xc(n.message);case"MissingPDFException":return new Ac(n.message);case"PasswordException":return new mb(n.message,n.code);case"UnexpectedResponseException":return new h0(n.message,n.status);case"UnknownErrorException":return new gb(n.message,n.details);default:return new gb(n.message,n.toString())}}var Eh,mi,QP,eR,tR,ng;class ld{constructor(e,t,s){R(this,mi);R(this,Eh,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,mi,QP).bind(this),{signal:f(this,Eh).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:rn.PULL,streamId:r,desiredSize:c.desiredSize}),h.promise},cancel:c=>{bn(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:rn.CANCEL,streamId:r,reason:Ds(c)}),h.promise}},s)}destroy(){var e;(e=f(this,Eh))==null||e.abort(),$(this,Eh,null)}}Eh=new WeakMap,mi=new WeakSet,QP=function({data:e}){if(e.targetName!==this.sourceName)return;if(e.stream){T(this,mi,tR).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===fm.DATA)i.resolve(e.data);else if(e.callback===fm.ERROR)i.reject(Ds(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:fm.DATA,callbackId:e.callbackId,data:o})},function(o){r.postMessage({sourceName:s,targetName:i,callback:fm.ERROR,callbackId:e.callbackId,reason:Ds(o)})});return}if(e.streamId){T(this,mi,eR).call(this,e);return}t(e.data)},eR=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:rn.ENQUEUE,streamId:t,chunk:c},u)},close(){this.isCancelled||(this.isCancelled=!0,r.postMessage({sourceName:s,targetName:i,stream:rn.CLOSE,streamId:t}),delete o.streamSinks[t])},error(c){bn(c instanceof Error,"error must have a valid reason"),!this.isCancelled&&(this.isCancelled=!0,r.postMessage({sourceName:s,targetName:i,stream:rn.ERROR,streamId:t,reason:Ds(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:rn.START_COMPLETE,streamId:t,success:!0})},function(c){r.postMessage({sourceName:s,targetName:i,stream:rn.START_COMPLETE,streamId:t,reason:Ds(c)})})},tR=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 rn.START_COMPLETE:e.success?o.startCall.resolve():o.startCall.reject(Ds(e.reason));break;case rn.PULL_COMPLETE:e.success?o.pullCall.resolve():o.pullCall.reject(Ds(e.reason));break;case rn.PULL:if(!a){r.postMessage({sourceName:s,targetName:i,stream:rn.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:rn.PULL_COMPLETE,streamId:t,success:!0})},function(l){r.postMessage({sourceName:s,targetName:i,stream:rn.PULL_COMPLETE,streamId:t,reason:Ds(l)})});break;case rn.ENQUEUE:if(bn(o,"enqueue should have stream controller"),o.isClosed)break;o.controller.enqueue(e.chunk);break;case rn.CLOSE:if(bn(o,"close should have stream controller"),o.isClosed)break;o.isClosed=!0,o.controller.close(),T(this,mi,ng).call(this,o,t);break;case rn.ERROR:bn(o,"error should have stream controller"),o.controller.error(Ds(e.reason)),T(this,mi,ng).call(this,o,t);break;case rn.CANCEL_COMPLETE:e.success?o.cancelCall.resolve():o.cancelCall.reject(Ds(e.reason)),T(this,mi,ng).call(this,o,t);break;case rn.CANCEL:if(!a)break;new Promise(function(l){var c;l((c=a.onCancel)==null?void 0:c.call(a,Ds(e.reason)))}).then(function(){r.postMessage({sourceName:s,targetName:i,stream:rn.CANCEL_COMPLETE,streamId:t,success:!0})},function(l){r.postMessage({sourceName:s,targetName:i,stream:rn.CANCEL_COMPLETE,streamId:t,reason:Ds(l)})}),a.sinkCapability.reject(Ds(e.reason)),a.isCancelled=!0,delete this.streamSinks[t];break;default:throw new Error("Unexpected stream case")}},ng=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 El,Ef;class x9{constructor({parsedData:e,rawData:t}){R(this,El);R(this,Ef);$(this,El,e),$(this,Ef,t)}getRaw(){return f(this,Ef)}get(e){return f(this,El).get(e)??null}getAll(){return V1(f(this,El))}has(e){return f(this,El).has(e)}}El=new WeakMap,Ef=new WeakMap;const zc=Symbol("INTERNAL");var Cf,$f,Tf,Ch;class E9{constructor(e,{name:t,intent:s,usage:i,rbGroups:r}){R(this,Cf,!1);R(this,$f,!1);R(this,Tf,!1);R(this,Ch,!0);$(this,Cf,!!(e&Gs.DISPLAY)),$(this,$f,!!(e&Gs.PRINT)),this.name=t,this.intent=s,this.usage=i,this.rbGroups=r}get visible(){if(f(this,Tf))return f(this,Ch);if(!f(this,Ch))return!1;const{print:e,view:t}=this.usage;return f(this,Cf)?(t==null?void 0:t.viewState)!=="OFF":f(this,$f)?(e==null?void 0:e.printState)!=="OFF":!0}_setVisible(e,t,s=!1){e!==zc&&Rt("Internal method `_setVisible` called."),$(this,Tf,s),$(this,Ch,t)}}Cf=new WeakMap,$f=new WeakMap,Tf=new WeakMap,Ch=new WeakMap;var Yo,dt,$h,Th,Pf,Vb;class C9{constructor(e,t=Gs.DISPLAY){R(this,Pf);R(this,Yo,null);R(this,dt,new Map);R(this,$h,null);R(this,Th,null);if(this.renderingIntent=t,this.name=null,this.creator=null,e!==null){this.name=e.name,this.creator=e.creator,$(this,Th,e.order);for(const s of e.groups)f(this,dt).set(s.id,new E9(t,s));if(e.baseState==="OFF")for(const s of f(this,dt).values())s._setVisible(zc,!1);for(const s of e.on)f(this,dt).get(s)._setVisible(zc,!0);for(const s of e.off)f(this,dt).get(s)._setVisible(zc,!1);$(this,$h,this.getHash())}}isVisible(e){if(f(this,dt).size===0)return!0;if(!e)return c0("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,Pf,Vb).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(zc,!1,!0));i._setVisible(zc,!!t,!0),$(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}}$(this,Yo,null)}get hasInitialVisibility(){return f(this,$h)===null||this.getHash()===f(this,$h)}getOrder(){return f(this,dt).size?f(this,Th)?f(this,Th).slice():[...f(this,dt).keys()]:null}getGroups(){return f(this,dt).size>0?V1(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 BP;for(const[t,s]of f(this,dt))e.update(`${t}:${s.visible}`);return $(this,Yo,e.hexdigest())}}Yo=new WeakMap,dt=new WeakMap,$h=new WeakMap,Th=new WeakMap,Pf=new WeakSet,Vb=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)});bn(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(){bn(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");const e=this._queuedChunks;return this._queuedChunks=null,new T9(this,e,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;const s=new P9(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 T9{constructor(e,t,s=!1,i=null){this._stream=e,this._done=s||!1,this._filename=K1(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 P9{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 R9(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=u0(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(!nR(r.status))throw p0(r.status,i);this._reader=r.body.getReader(),this._headersCapability.resolve();const o=r.headers,{allowRangeRequests:a,suggestedLength:l}=ek({responseHeaders:o,isHttp:e.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=a,this._contentLength=l||this._contentLength,this._filename=tk(o),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new xc("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:iR(e),done:!1})}cancel(e){var t;(t=this._reader)==null||t.cancel(e),this._abortController.abort()}}class I9{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,sR(r,this._withCredentials,this._abortController)).then(a=>{if(!nR(a.status))throw p0(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:iR(e),done:!1})}cancel(e){var t;(t=this._reader)==null||t.cancel(e),this._abortController.abort()}}const nv=200,sv=206;function O9(n){const e=n.response;return typeof e!="string"?e:u0(e).buffer}class N9{constructor({url:e,httpHeaders:t,withCredentials:s}){this.url=e,this.isHttp=/^https?:/i.test(e),this.headers=Q1(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=O9(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 L9{constructor(e){this._source=e,this._manager=new N9(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 bn(!this._fullRequestReader,"PDFNetworkStream.getFullReader can only be called once."),this._fullRequestReader=new D9(this._manager,this._source),this._fullRequestReader}getRangeReader(e,t){const s=new F9(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 D9{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}=ek({responseHeaders:s,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});i&&(this._isRangeSupported=!0),this._contentLength=r||this._contentLength,this._filename=tk(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=p0(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 F9{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=p0(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 j9=/^[a-z][a-z0-9\-+.]+:/i;function z9(n){if(j9.test(n))return new URL(n);const e=Aa.get("url");return new URL(e.pathToFileURL(n))}function rR(n,e,t){return n.protocol==="http:"?Aa.get("http").request(n,{headers:e},t):Aa.get("https").request(n,{headers:e},t)}class H9{constructor(e){this.source=e,this.url=z9(e.url),this.isHttp=this.url.protocol==="http:"||this.url.protocol==="https:",this.isFsUrl=this.url.protocol==="file:",this.headers=Q1(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 bn(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once."),this._fullRequestReader=this.isFsUrl?new U9(this):new B9(this),this._fullRequestReader}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;const s=this.isFsUrl?new V9(this,e,t):new q9(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 oR{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 xc("streaming is disabled")),this._storedError&&this._readableStream.destroy(this._storedError)}}class aR{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 B9 extends oR{constructor(e){super(e);const t=Object.fromEntries(e.headers),s=i=>{if(i.statusCode===404){const l=new Ac(`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}=ek({responseHeaders:r,isHttp:e.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=o,this._contentLength=a||this._contentLength,this._filename=tk(r)};this._request=rR(this._url,t,s),this._request.on("error",i=>{this._storedError=i,this._headersCapability.reject(i)}),this._request.end()}}class q9 extends aR{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 Ac(`Missing PDF "${this._url}".`);this._storedError=a;return}this._setReadableStream(o)};this._request=rR(this._url,i,r),this._request.on("error",o=>{this._storedError=o}),this._request.end()}}class U9 extends oR{constructor(e){super(e);const t=Aa.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 Ac(`Missing PDF "${this._url}".`)),this._storedError=s,this._headersCapability.reject(s)})}}class V9 extends aR{constructor(e,t,s){super(e);const i=Aa.get("fs");this._setReadableStream(i.createReadStream(this._url,{start:t,end:s-1}))}}const W9=1e5,Ss=30,G9=.8;var uC,Jo,xs,Rf,Mf,Cl,Xr,If,Of,$l,Ph,Rh,Qo,Mh,Nf,Ih,Tl,Lf,Df,Wt,Pl,Rl,Ff,ea,Oh,Eo,lR,cR,Gb,Ys,sg,Kb,hR,uR;let Wb=(Wt=class{constructor({textContentSource:e,container:t,viewport:s}){R(this,Eo);R(this,Jo,Promise.withResolvers());R(this,xs,null);R(this,Rf,!1);R(this,Mf,!!((uC=globalThis.FontInspector)!=null&&uC.enabled));R(this,Cl,null);R(this,Xr,null);R(this,If,0);R(this,Of,0);R(this,$l,null);R(this,Ph,null);R(this,Rh,0);R(this,Qo,0);R(this,Mh,Object.create(null));R(this,Nf,[]);R(this,Ih,null);R(this,Tl,[]);R(this,Lf,new WeakMap);R(this,Df,null);var l;if(e instanceof ReadableStream)$(this,Ih,e);else if(typeof e=="object")$(this,Ih,new ReadableStream({start(c){c.enqueue(e),c.close()}}));else throw new Error('No "textContentSource" parameter specified.');$(this,xs,$(this,Ph,t)),$(this,Qo,s.scale*(globalThis.devicePixelRatio||1)),$(this,Rh,s.rotation),$(this,Xr,{div:null,properties:null,ctx:null});const{pageWidth:i,pageHeight:r,pageX:o,pageY:a}=s.rawDims;$(this,Df,[1,0,0,-1,-o,a+r]),$(this,Of,i),$(this,If,r),T(l=Wt,Ys,hR).call(l),uc(t,s),f(this,Jo).promise.finally(()=>{f(Wt,Oh).delete(this),$(this,Xr,null),$(this,Mh,null)}).catch(()=>{})}static get fontFamilyMap(){const{isWindows:e,isFirefox:t}=ys.platform;return Ze(this,"fontFamilyMap",new Map([["sans-serif",`${e&&t?"Calibri, ":""}sans-serif`],["monospace",`${e&&t?"Lucida Console, ":""}monospace`]]))}render(){const e=()=>{f(this,$l).read().then(({value:t,done:s})=>{if(s){f(this,Jo).resolve();return}f(this,Cl)??$(this,Cl,t.lang),Object.assign(f(this,Mh),t.styles),T(this,Eo,lR).call(this,t.items),e()},f(this,Jo).reject)};return $(this,$l,f(this,Ih).getReader()),f(Wt,Oh).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,Rh)&&(t==null||t(),$(this,Rh,i),uc(f(this,Ph),{rotation:i})),s!==f(this,Qo)){t==null||t(),$(this,Qo,s);const o={div:null,properties:null,ctx:T(r=Wt,Ys,sg).call(r,f(this,Cl))};for(const a of f(this,Tl))o.properties=f(this,Lf).get(a),o.div=a,T(this,Eo,Gb).call(this,o)}}cancel(){var t;const e=new xc("TextLayer task cancelled.");(t=f(this,$l))==null||t.cancel(e).catch(()=>{}),$(this,$l,null),f(this,Jo).reject(e)}get textDivs(){return f(this,Tl)}get textContentItemsStr(){return f(this,Nf)}static cleanup(){if(!(f(this,Oh).size>0)){f(this,Pl).clear();for(const{canvas:e}of f(this,Rl).values())e.remove();f(this,Rl).clear()}}},Jo=new WeakMap,xs=new WeakMap,Rf=new WeakMap,Mf=new WeakMap,Cl=new WeakMap,Xr=new WeakMap,If=new WeakMap,Of=new WeakMap,$l=new WeakMap,Ph=new WeakMap,Rh=new WeakMap,Qo=new WeakMap,Mh=new WeakMap,Nf=new WeakMap,Ih=new WeakMap,Tl=new WeakMap,Lf=new WeakMap,Df=new WeakMap,Pl=new WeakMap,Rl=new WeakMap,Ff=new WeakMap,ea=new WeakMap,Oh=new WeakMap,Eo=new WeakSet,lR=function(e){var i,r;if(f(this,Rf))return;(r=f(this,Xr)).ctx??(r.ctx=T(i=Wt,Ys,sg).call(i,f(this,Cl)));const t=f(this,Tl),s=f(this,Nf);for(const o of e){if(t.length>W9){Ue("Ignoring additional textDivs for performance reasons."),$(this,Rf,!0);return}if(o.str===void 0){if(o.type==="beginMarkedContentProps"||o.type==="beginMarkedContent"){const a=f(this,xs);$(this,xs,document.createElement("span")),f(this,xs).classList.add("markedContent"),o.id!==null&&f(this,xs).setAttribute("id",`${o.id}`),a.append(f(this,xs))}else o.type==="endMarkedContent"&&$(this,xs,f(this,xs).parentNode);continue}s.push(o.str),T(this,Eo,cR).call(this,o)}},cR=function(e){var g;const t=document.createElement("span"),s={angle:0,canvasWidth:0,hasText:e.str!=="",hasEOL:e.hasEOL,fontSize:0};f(this,Tl).push(t);const i=Ee.transform(f(this,Df),e.transform);let r=Math.atan2(i[1],i[0]);const o=f(this,Mh)[e.fontName];o.vertical&&(r+=Math.PI/2);let a=f(this,Mf)&&o.fontSubstitution||o.fontFamily;a=Wt.fontFamilyMap.get(a)||a;const l=Math.hypot(i[2],i[3]),c=l*T(g=Wt,Ys,uR).call(g,a,f(this,Cl));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,xs)===f(this,Ph)?(p.left=`${(100*h/f(this,Of)).toFixed(2)}%`,p.top=`${(100*u/f(this,If)).toFixed(2)}%`):(p.left=`${d}${h.toFixed(2)}px)`,p.top=`${d}${u.toFixed(2)}px)`),p.fontSize=`${d}${(f(Wt,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,Mf)&&(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,Lf).set(t,s),f(this,Xr).div=t,f(this,Xr).properties=s,T(this,Eo,Gb).call(this,f(this,Xr)),s.hasText&&f(this,xs).append(t),s.hasEOL){const v=document.createElement("br");v.setAttribute("role","presentation"),f(this,xs).append(v)}},Gb=function(e){var a;const{div:t,properties:s,ctx:i}=e,{style:r}=t;let o="";if(f(Wt,ea)>1&&(o=`scale(${1/f(Wt,ea)})`),s.canvasWidth!==0&&s.hasText){const{fontFamily:l}=r,{canvasWidth:c,fontSize:h}=s;T(a=Wt,Ys,Kb).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)},Ys=new WeakSet,sg=function(e=null){let t=f(this,Rl).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,Rl).set(e,t),f(this,Ff).set(t,{size:0,family:""})}return t},Kb=function(e,t,s){const i=f(this,Ff).get(e);t===i.size&&s===i.family||(e.font=`${t}px ${s}`,i.size=t,i.family=s)},hR=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),$(this,ea,e.getBoundingClientRect().height),e.remove()},uR=function(e,t){const s=f(this,Pl).get(e);if(s)return s;const i=T(this,Ys,sg).call(this,t);i.canvas.width=i.canvas.height=Ss,T(this,Ys,Kb).call(this,i,Ss,e);const r=i.measureText("");let o=r.fontBoundingBoxAscent,a=Math.abs(r.fontBoundingBoxDescent);if(o){const h=o/(o+a);return f(this,Pl).set(e,h),i.canvas.width=i.canvas.height=0,h}i.strokeStyle="red",i.clearRect(0,0,Ss,Ss),i.strokeText("g",0,0);let l=i.getImageData(0,0,Ss,Ss).data;a=0;for(let h=l.length-1-3;h>=0;h-=4)if(l[h]>0){a=Math.ceil(h/4/Ss);break}i.clearRect(0,0,Ss,Ss),i.strokeText("A",0,Ss),l=i.getImageData(0,0,Ss,Ss).data,o=0;for(let h=0,u=l.length;h0){o=Ss-Math.floor(h/4/Ss);break}i.canvas.width=i.canvas.height=0;const c=o?o/(o+a):G9;return f(this,Pl).set(e,c),c},R(Wt,Ys),R(Wt,Pl,new Map),R(Wt,Rl,new Map),R(Wt,Ff,new WeakMap),R(Wt,ea,null),R(Wt,Oh,new Set),Wt);class Vd{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(Vd.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 K9=65536,Z9=100,X9=5e3,Y9=ls?c9:o9,J9=ls?h9:GP,Q9=ls?l9:a9,e8=ls?u9:YP;function t8(n={}){typeof n=="string"||n instanceof URL?n={url:n}:(n instanceof ArrayBuffer||ArrayBuffer.isView(n))&&(n={data:n});const e=new Zb,{docId:t}=e,s=n.url?n8(n.url):null,i=n.data?s8(n.data):null,r=n.httpHeaders||null,o=n.withCredentials===!0,a=n.password??null,l=n.range instanceof dR?n.range:null,c=Number.isInteger(n.rangeChunkSize)&&n.rangeChunkSize>0?n.rangeChunkSize:K9;let h=n.worker instanceof ih?n.worker:null;const u=n.verbosity,d=typeof n.docBaseUrl=="string"&&!f0(n.docBaseUrl)?n.docBaseUrl:null,p=typeof n.cMapUrl=="string"?n.cMapUrl:null,m=n.cMapPacked!==!1,g=n.CMapReaderFactory||J9,v=typeof n.standardFontDataUrl=="string"?n.standardFontDataUrl:null,y=n.StandardFontDataFactory||e8,b=n.stopAtErrors!==!0,_=Number.isInteger(n.maxImageSize)&&n.maxImageSize>-1?n.maxImageSize:-1,k=n.isEvalSupported!==!1,A=typeof n.isOffscreenCanvasSupported=="boolean"?n.isOffscreenCanvasSupported:!ls,C=typeof n.isChrome=="boolean"?n.isChrome:!ys.platform.isFirefox&&typeof window<"u"&&!!(window!=null&&window.chrome),E=Number.isInteger(n.canvasMaxAreaInBytes)?n.canvasMaxAreaInBytes:-1,O=typeof n.disableFontFace=="boolean"?n.disableFontFace:ls,F=n.fontExtraProperties===!0,U=n.enableXfa===!0,L=n.ownerDocument||globalThis.document,q=n.disableRange===!0,B=n.disableStream===!0,N=n.disableAutoFetch===!0,ee=n.pdfBug===!0,Q=n.CanvasFactory||Y9,te=n.FilterFactory||Q9,ae=n.enableHWA===!0,Se=l?l.length:n.length??NaN,z=typeof n.useSystemFonts=="boolean"?n.useSystemFonts:!ls&&!O,P=typeof n.useWorkerFetch=="boolean"?n.useWorkerFetch:g===GP&&y===YP&&p&&v&&td(p,document.baseURI)&&td(v,document.baseURI);n.canvasFactory&&px("`canvasFactory`-instance option, please use `CanvasFactory` instead."),n.filterFactory&&px("`filterFactory`-instance option, please use `FilterFactory` instead.");const D=null;DK(u);const M={canvasFactory:new Q({ownerDocument:L,enableHWA:ae}),filterFactory:new te({docId:t,ownerDocument:L}),cMapReaderFactory:P?null:new g({baseUrl:p,isCompressed:m}),standardFontDataFactory:P?null:new y({baseUrl:v})};if(!h){const I={verbosity:u,port:mo.workerPort};h=I.port?ih.fromPort(I):new ih(I),e._worker=h}const w={docId:t,apiVersion:"4.8.69",data:i,password:a,disableAutoFetch:N,rangeChunkSize:c,length:Se,docBaseUrl:d,enableXfa:U,evaluatorOptions:{maxImageSize:_,disableFontFace:O,ignoreErrors:b,isEvalSupported:k,isOffscreenCanvasSupported:A,isChrome:C,canvasMaxAreaInBytes:E,fontExtraProperties:F,useSystemFonts:z,cMapUrl:P?p:null,standardFontDataUrl:P?v:null}},x={disableFontFace:O,fontExtraProperties:F,ownerDocument:L,pdfBug:ee,styleElement:D,loadingParams:{disableAutoFetch:N,enableXfa:U}};return h.promise.then(function(){if(e.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const I=h.messageHandler.sendWithPromise("GetDocRequest",w,i?[i.buffer]:null);let K;if(l)K=new $9(l,{disableRange:q,disableStream:B});else if(!i){if(!s)throw new Error("getDocument - no `url` parameter provided.");let Y;ls?Y=typeof fetch<"u"&&typeof Response<"u"&&"body"in Response.prototype&&td(s)?Ex:H9:Y=td(s)?Ex:L9,K=new Y({url:s,length:Se,httpHeaders:r,withCredentials:o,rangeChunkSize:c,disableRange:q,disableStream:B})}return I.then(Y=>{if(e.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const ue=new ld(t,Y,h.port),oe=new a8(ue,e,K,x,M);e._transport=oe,ue.send("Ready",null)})}).catch(e._capability.reject),e}function n8(n){if(n instanceof URL)return n.href;try{return new URL(n,window.location).href}catch{if(ls&&typeof n=="string")return n}throw new Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}function s8(n){if(ls&&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 u0(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 Ry;const My=class My{constructor(){this._capability=Promise.withResolvers(),this._transport=null,this._worker=null,this.docId=`d${us(My,Ry)._++}`,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)}};Ry=new WeakMap,R(My,Ry,0);let Zb=My,dR=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){Rt("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}};class i8{constructor(e,t){this._pdfInfo=e,this._transport=t}get annotationStorage(){return this._transport.annotationStorage}get canvasFactory(){return this._transport.canvasFactory}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return Ze(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(e){return this._transport.getPage(e)}getPageIndex(e){return this._transport.getPageIndex(e)}getDestinations(){return this._transport.getDestinations()}getDestination(e){return this._transport.getDestination(e)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:e="display"}={}){const{renderingIntent:t}=this._transport.getRenderingIntent(e);return this._transport.getOptionalContentConfig(t)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(e=!1){return this._transport.startCleanup(e||this.isPureXfa)}destroy(){return this.loadingTask.destroy()}cachedPageNumber(e){return this._transport.cachedPageNumber(e)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}var ta,Yr,hi,Hc,ig;class r8{constructor(e,t,s,i=!1){R(this,hi);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 fR,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 Lp({viewBox:this.view,scale:e,rotation:t,offsetX:s,offsetY:i,dontFlip:r})}getAnnotations({intent:e="display"}={}){const{renderingIntent:t}=this._transport.getRenderingIntent(e);return this._transport.getAnnotations(this._pageIndex,t)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return Ze(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){var e;return((e=this._transport._htmlForXfa)==null?void 0:e.children[this._pageIndex])||null}render({canvasContext:e,viewport:t,intent:s="display",annotationMode:i=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;$(this,Yr,!1),T(this,hi,ig).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&Gs.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=C=>{var E;g.renderTasks.delete(b),(this._maybeCleanupAfterRender||v)&&$(this,Yr,!0),T(this,hi,Hc).call(this,!v),C?(b.capability.reject(C),this._abortOperatorList({intentState:g,reason:C instanceof Error?C:new Error(C)})):b.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))},b=new Yb({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(b);const _=b.task;return Promise.all([g.displayReadyCapability.promise,a]).then(([C,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.");b.initializeGraphics({transparency:C,optionalContentConfig:E}),b.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=>Vd.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(),$(this,Yr,!1),T(this,hi,ig).call(this),Promise.all(e)}cleanup(e=!1){$(this,Yr,!0);const t=T(this,hi,Hc).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,hi,Hc).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 G1){let i=Z9;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 xc(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,hi=new WeakSet,Hc=function(e=!1){if(T(this,hi,ig).call(this),!f(this,Yr)||this.destroyed)return!1;if(e)return $(this,ta,setTimeout(()=>{$(this,ta,null),T(this,hi,Hc).call(this,!1)},X9)),!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(),$(this,Yr,!1),!0},ig=function(){f(this,ta)&&(clearTimeout(f(this,ta)),$(this,ta,null))};var Jr,Iy;class o8{constructor(){R(this,Jr,new Map);R(this,Iy,Promise.resolve())}postMessage(e,t){const s={data:structuredClone(e,t?{transfer:t}:null)};f(this,Iy).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,Iy=new WeakMap;var Oy,Ml,Il,Nh,rg,Lh,og;const Nt=class Nt{constructor({name:e=null,port:t=null,verbosity:s=FK()}={}){R(this,Nh);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(Nt,Il))!=null&&i.has(t))throw new Error("Cannot use more than one PDFWorker per port.");(f(Nt,Il)||$(Nt,Il,new WeakMap)).set(t,this),this._initializeFromPort(t);return}this._initialize()}get promise(){return ls?Promise.all([Aa.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 ld("main","worker",e),this._messageHandler.on("ready",function(){}),T(this,Nh,rg).call(this)}_initialize(){if(f(Nt,Ml)||f(Nt,Lh,og)){this._setupFakeWorker();return}let{workerSrc:e}=Nt;try{Nt._isSameOrigin(window.location.href,e)||(e=Nt._createCDNWrapper(new URL(e,window.location).href));const t=new Worker(e,{type:"module"}),s=new ld("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,Nh,rg).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{c0("The worker has been disabled.")}this._setupFakeWorker()}_setupFakeWorker(){f(Nt,Ml)||(Ue("Setting up fake worker."),$(Nt,Ml,!0)),Nt._setupFakeWorkerGlobal.then(e=>{if(this.destroyed){this._readyCapability.reject(new Error("Worker was destroyed"));return}const t=new o8;this._port=t;const s=`fake${us(Nt,Oy)._++}`,i=new ld(s+"_worker",s,t);e.setup(i,t),this._messageHandler=new ld(s,s+"_worker",t),T(this,Nh,rg).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(Nt,Il))==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,Il))==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 Nt(e)}static get workerSrc(){if(mo.workerSrc)return mo.workerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _setupFakeWorkerGlobal(){return Ze(this,"_setupFakeWorkerGlobal",(async()=>f(this,Lh,og)?f(this,Lh,og):(await import(this.workerSrc)).WorkerMessageHandler)())}};Oy=new WeakMap,Ml=new WeakMap,Il=new WeakMap,Nh=new WeakSet,rg=function(){this._readyCapability.resolve(),this._messageHandler.send("configure",{verbosity:this.verbosity})},Lh=new WeakSet,og=function(){var e;try{return((e=globalThis.pdfjsWorker)==null?void 0:e.WorkerMessageHandler)||null}catch{return null}},R(Nt,Lh),R(Nt,Oy,0),R(Nt,Ml,!1),R(Nt,Il),ls&&($(Nt,Ml,!0),mo.workerSrc||(mo.workerSrc="./pdf.worker.mjs")),Nt._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},Nt._createCDNWrapper=e=>{const t=`await import("${e}");`;return URL.createObjectURL(new Blob([t],{type:"text/javascript"}))};let ih=Nt;var Qr,pr,Dh,Fh,mr,Ol,cd;class a8{constructor(e,t,s,i,r){R(this,Ol);R(this,Qr,new Map);R(this,pr,new Map);R(this,Dh,new Map);R(this,Fh,new Map);R(this,mr,null);this.messageHandler=e,this.loadingTask=t,this.commonObjs=new fR,this.fontLoader=new i9({ownerDocument:i.ownerDocument,styleElement:i.styleElement}),this.loadingParams=i.loadingParams,this._params=i,this.canvasFactory=r.canvasFactory,this.filterFactory=r.filterFactory,this.cMapReaderFactory=r.cMapReaderFactory,this.standardFontDataFactory=r.standardFontDataFactory,this.destroyed=!1,this.destroyCapability=null,this._networkStream=s,this._fullReader=null,this._lastProgress=null,this.downloadInfoCapability=Promise.withResolvers(),this.setupMessageHandler()}get annotationStorage(){return Ze(this,"annotationStorage",new Y1)}getRenderingIntent(e,t=Do.ENABLE,s=null,i=!1,r=!1){let o=Gs.DISPLAY,a=Db;switch(e){case"any":o=Gs.ANY;break;case"display":break;case"print":o=Gs.PRINT;break;default:Ue(`getRenderingIntent - invalid intent: ${e}`)}const l=o&Gs.PRINT&&s instanceof UP?s:this.annotationStorage;switch(t){case Do.DISABLE:o+=Gs.ANNOTATIONS_DISABLE;break;case Do.ENABLE:break;case Do.ENABLE_FORMS:o+=Gs.ANNOTATIONS_FORMS;break;case Do.ENABLE_STORAGE:o+=Gs.ANNOTATIONS_STORAGE,a=l.serializable;break;default:Ue(`getRenderingIntent - invalid annotationMode: ${t}`)}i&&(o+=Gs.IS_EDITING),r&&(o+=Gs.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,Dh).clear(),f(this,Fh).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(),Wb.cleanup(),(i=this._networkStream)==null||i.cancelAllRequests(new xc("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)=>{bn(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}bn(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)=>{bn(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}bn(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 i8(s,this))}),e.on("DocException",function(s){let i;switch(s.name){case"PasswordException":i=new mb(s.message,s.code);break;case"InvalidPDFException":i=new gP(s.message);break;case"MissingPDFException":i=new Ac(s.message);break;case"UnexpectedResponseException":i=new h0(s.message,s.status);break;case"UnknownErrorException":i=new gb(s.message,s.details);break;default:Rt("DocException - expected a valid Error.")}t._capability.reject(i)}),e.on("PasswordRequest",s=>{if($(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 mb(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 r9(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;bn(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)>IK&&(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,Dh).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,Fh).set(r.refStr,e);const o=new r8(t,r,this,this._params.pdfBug);return f(this,pr).set(t,o),o});return f(this,Dh).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,Ol,cd).call(this,"GetFieldObjects")}hasJSActions(){return T(this,Ol,cd).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,Ol,cd).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,Ol,cd).call(this,"GetOptionalContentConfig").then(t=>new C9(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 x9(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),Wb.cleanup()}}cachedPageNumber(e){if(!Cx(e))return null;const t=e.gen===0?`${e.num}R`:`${e.num}R${e.gen}`;return f(this,Fh).get(t)??null}}Qr=new WeakMap,pr=new WeakMap,Dh=new WeakMap,Fh=new WeakMap,mr=new WeakMap,Ol=new WeakSet,cd=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 pm=Symbol("INITIAL_DATA");var Oi,jf,Xb;class fR{constructor(){R(this,jf);R(this,Oi,Object.create(null))}get(e,t=null){if(t){const i=T(this,jf,Xb).call(this,e);return i.promise.then(()=>t(i.data)),null}const s=f(this,Oi)[e];if(!s||s.data===pm)throw new Error(`Requesting object that isn't resolved yet ${e}.`);return s.data}has(e){const t=f(this,Oi)[e];return!!t&&t.data!==pm}resolve(e,t=null){const s=T(this,jf,Xb).call(this,e);s.data=t,s.resolve()}clear(){var e;for(const t in f(this,Oi)){const{data:s}=f(this,Oi)[t];(e=s==null?void 0:s.bitmap)==null||e.close()}$(this,Oi,Object.create(null))}*[Symbol.iterator](){for(const e in f(this,Oi)){const{data:t}=f(this,Oi)[e];t!==pm&&(yield[e,t])}}}Oi=new WeakMap,jf=new WeakSet,Xb=function(e){var t;return(t=f(this,Oi))[e]||(t[e]={...Promise.withResolvers(),data:pm})};var na;class l8{constructor(e){R(this,na,null);$(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,Nl;const il=class il{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 l8(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(il,Nl).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(il,Nl).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 sh(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)),$(this,sa,null)),f(il,Nl).delete(this._canvas),this.callback(e||new G1(`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?$(this,sa,window.requestAnimationFrame(()=>{$(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(il,Nl).delete(this._canvas),this.callback())))}};sa=new WeakMap,Nl=new WeakMap,R(il,Nl,new WeakSet);let Yb=il;const c8="4.8.69",h8="3634dab10";function $x(n){return Math.floor(Math.max(0,Math.min(1,n))*255).toString(16).padStart(2,"0")}function Uu(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=Uu(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(Uu)}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[Uu(1-Math.min(1,e+i)),Uu(1-Math.min(1,s+i)),Uu(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 u8{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){Rt("Abstract method `_createSVG` called.")}}class nk extends u8{_createSVG(e){return document.createElementNS(Hr,e)}}class pR{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&&Vd.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 b=(u=v==null?void 0:v.attributes)!=null&&u.xmlns?document.createElementNS(v.attributes.xmlns,y):document.createElement(y);if(g.append(b),v.attributes&&this.setAttributes({html:b,element:v,storage:t,intent:r,linkService:s}),((d=v.children)==null?void 0:d.length)>0)h.push([v,-1,b]);else if(v.value){const _=document.createTextNode(v.value);a&&Vd.shouldBuildText(y)&&c.push(_),b.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 Fp=1e3,d8=9,fc=new WeakSet;function _o(n){return{width:n[2]-n[0],height:n[3]-n[1]}}class f8{static create(e){switch(e.data.annotationType){case dn.LINK:return new mR(e);case dn.TEXT:return new p8(e);case dn.WIDGET:switch(e.data.fieldType){case"Tx":return new m8(e);case"Btn":return e.data.radioButton?new vR(e):e.data.checkBox?new y8(e):new v8(e);case"Ch":return new b8(e);case"Sig":return new g8(e)}return new Ec(e);case dn.POPUP:return new Qb(e);case dn.FREETEXT:return new kR(e);case dn.LINE:return new _8(e);case dn.SQUARE:return new S8(e);case dn.CIRCLE:return new k8(e);case dn.POLYLINE:return new AR(e);case dn.CARET:return new x8(e);case dn.INK:return new sk(e);case dn.POLYGON:return new A8(e);case dn.HIGHLIGHT:return new xR(e);case dn.UNDERLINE:return new E8(e);case dn.SQUIGGLY:return new C8(e);case dn.STRIKEOUT:return new $8(e);case dn.STAMP:return new ER(e);case dn.FILEATTACHMENT:return new T8(e);default:return new en(e)}}}var Ll,jh,zh,zf,Jb;const Lk=class Lk{constructor(e,{isRenderable:t=!1,ignoreBorder:s=!1,createQuadrilaterals:i=!1}={}){R(this,zf);R(this,Ll,null);R(this,jh,!1);R(this,zh,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 Lk._hasPopupData(this.data)}updateEdited(e){var s;if(!this.container)return;f(this,Ll)||$(this,Ll,{rect:this.data.rect.slice(0)});const{rect:t}=e;t&&T(this,zf,Jb).call(this,t),(s=f(this,zh))==null||s.popup.updateEdited(e)}resetEdited(){var e;f(this,Ll)&&(T(this,zf,Jb).call(this,f(this,Ll).rect),(e=f(this,zh))==null||e.popup.resetEdited(),$(this,Ll,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 Ec||(r.tabIndex=Fp);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 Qb){const{rotation:g}=t;return!t.hasOwnCanvas&&g!==0&&this.setRotation(g,r),r}const{width:a,height:l}=_o(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 b=`calc(${g}px * var(--scale-factor)) / calc(${v}px * var(--scale-factor))`;o.borderRadius=b}else if(this instanceof vR){const b=`calc(${a}px * var(--scale-factor)) / calc(${l}px * var(--scale-factor))`;o.borderRadius=b}switch(t.borderStyle.style){case Bu.SOLID:o.borderStyle="solid";break;case Bu.DASHED:o.borderStyle="dashed";break;case Bu.BEVELED:Ue("Unimplemented border style: beveled");break;case Bu.INSET:Ue("Unimplemented border style: inset");break;case Bu.UNDERLINE:o.borderBottomStyle="solid";break}const y=t.borderColor||null;y?($(this,jh,!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}=_o(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 Ze(this,"_commonActions",{display:t=>{const{display:s}=t.detail,i=s%2===1;this.container.style.visibility=i?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:i,noPrint:s===1||s===2})},print:t=>{this.annotationStorage.setValue(this.data.id,{noPrint:!t.detail.print})},hidden:t=>{const{hidden:s}=t.detail;this.container.style.visibility=s?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:s,noView:s})},focus:t=>{setTimeout(()=>t.target.focus({preventScroll:!1}),0)},userName:t=>{t.target.title=t.detail.userName},readonly:t=>{t.target.disabled=t.detail.readonly},required:t=>{this._setRequired(t.target,t.detail.required)},bgColor:t=>{e("bgColor","backgroundColor",t)},fillColor:t=>{e("fillColor","backgroundColor",t)},fgColor:t=>{e("fgColor","color",t)},textColor:t=>{e("textColor","color",t)},borderColor:t=>{e("borderColor","borderColor",t)},strokeColor:t=>{e("strokeColor","borderColor",t)},rotation:t=>{const s=t.detail.rotation;this.setRotation(s),this.annotationStorage.setValue(this.data.id,{rotation:s})}})}_dispatchEventFromSandbox(e,t){const s=this._commonActions;for(const i of Object.keys(t.detail)){const r=e[i]||s[i];r==null||r(t)}}_setDefaultPropertiesFromJS(e){if(!this.enableScripting)return;const t=this.annotationStorage.getRawValue(this.data.id);if(!t)return;const s=this._commonActions;for(const[i,r]of Object.entries(t)){const o=s[i];if(o){const a={detail:{[i]:r},target:e};o(a),delete t[i]}}}_createQuadrilaterals(){if(!this.container)return;const{quadPoints:e}=this.data;if(!e)return;const[t,s,i,r]=this.data.rect.map(g=>Math.fround(g));if(e.length===8){const[g,v,y,b]=e.subarray(2,6);if(i===g&&r===v&&t===y&&s===b)return}const{style:o}=this.container;let a;if(f(this,jh)){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,jh)&&(a.push("')"),o.backgroundImage=a.join("")),this.container.append(u),this.container.style.clipPath=`url(#${m})`}_createPopup(){const{data:e}=this,t=$(this,zh,new Qb({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(){Rt("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&&!fc.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&&fc.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})})}};Ll=new WeakMap,jh=new WeakMap,zh=new WeakMap,zf=new WeakSet,Jb=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}=_o(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 en=Lk;var Zs,Wa,gR,yR;class mR extends en{constructor(t,s=null){super(t,{isRenderable:!0,ignoreBorder:!!(s!=null&&s.ignoreBorder),createQuadrilaterals:!0});R(this,Zs);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,Zs,gR).call(this,i,t.attachment,t.attachmentDest),r=!0):t.setOCGState?(T(this,Zs,yR).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,Zs,Wa).call(this)}_bindNamedAction(t,s){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeNamedAction(s),!1),T(this,Zs,Wa).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,Zs,Wa).call(this)}_bindResetFormAction(t,s){const i=t.onclick;if(i||(t.href=this.linkService.getAnchorUrl("")),T(this,Zs,Wa).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(!fc.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}}}Zs=new WeakSet,Wa=function(){this.container.setAttribute("data-internal-link","")},gR=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,Zs,Wa).call(this)},yR=function(t,s){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeSetOCGState(s),!1),T(this,Zs,Wa).call(this)};class p8 extends en{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 Ec extends en{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 ys.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||d8,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 m8 extends Ec{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),fc.add(s),s.setAttribute("data-element-id",t),s.disabled=this.data.readOnly,s.name=this.data.fieldName,s.tabIndex=Fp,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 b=h.userValue;!b||b.length<=v||(b=b.slice(0,v),y.value=h.userValue=b,e.setValue(t,{value:b}),(_=this.linkService.eventBus)==null||_.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:b,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:b}=g;let _=y,k=b;switch(p.inputType){case"deleteWordBackward":{const C=v.substring(0,y).match(/\w*[^\w]*$/);C&&(_-=C[0].length);break}case"deleteWordForward":{const C=v.substring(y).match(/^[^\w]*\w*/);C&&(k+=C[0].length);break}case"deleteContentBackward":y===b&&(_-=1);break;case"deleteContentForward":y===b&&(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 g8 extends Ec{constructor(e){super(e,{isRenderable:!!e.data.hasOwnCanvas})}}class y8 extends Ec{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 fc.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=Fp,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 vR extends Ec{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(fc.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=Fp,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 v8 extends mR{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 b8 extends Ec{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");fc.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=Fp;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 Qb extends en{constructor(e){const{data:t,elements:s}=e;super(e,{isRenderable:en._hasPopupData(t)}),this.elements=s,this.popup=null}render(){this.container.classList.add("popupAnnotation");const e=this.popup=new w8({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=>`${W1}${s}`).join(",")),this.container}}var Hh,Ny,Ly,Bh,Dl,Vt,eo,qh,Hf,Bf,Uh,to,Ni,no,qf,so,Uf,Fl,jl,gt,ag,ew,bR,wR,_R,SR,lg,cg,tw;class w8{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,Hh,T(this,gt,_R).bind(this));R(this,Ny,T(this,gt,tw).bind(this));R(this,Ly,T(this,gt,cg).bind(this));R(this,Bh,T(this,gt,lg).bind(this));R(this,Dl,null);R(this,Vt,null);R(this,eo,null);R(this,qh,null);R(this,Hf,null);R(this,Bf,null);R(this,Uh,null);R(this,to,!1);R(this,Ni,null);R(this,no,null);R(this,qf,null);R(this,so,null);R(this,Uf,null);R(this,Fl,null);R(this,jl,!1);var d;$(this,Vt,e),$(this,Uf,i),$(this,eo,o),$(this,so,a),$(this,Bf,l),$(this,Dl,t),$(this,qf,c),$(this,Uh,h),$(this,Hf,s),$(this,qh,Z1.toDateObject(r)),this.trigger=s.flatMap(p=>p.getElementsToTriggerPopup());for(const p of this.trigger)p.addEventListener("click",f(this,Bh)),p.addEventListener("mouseenter",f(this,Ly)),p.addEventListener("mouseleave",f(this,Ny)),p.classList.add("popupTriggerArea");for(const p of s)(d=p.container)==null||d.addEventListener("keydown",f(this,Hh));f(this,Vt).hidden=!0,u&&T(this,gt,lg).call(this)}render(){if(f(this,Ni))return;const e=$(this,Ni,document.createElement("div"));if(e.className="popup",f(this,Dl)){const r=e.style.outlineColor=Ee.makeHexColor(...f(this,Dl));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,Dl).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,Uf),e.append(t),f(this,qh)){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,qh).valueOf()})),t.append(r)}const i=f(this,gt,ag);if(i)pR.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,Vt).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,Yf,nw).call(this)}),!s.popupRef&&this.hasPopupData?this._createPopup():i.classList.add("popupTriggerArea"),t.append(i),t}getElementsToTriggerPopup(){return f(this,Xf)}addHighlightArea(){this.container.classList.add("highlightArea")}}Xf=new WeakMap,Yf=new WeakSet,nw=function(){var t;(t=this.downloadManager)==null||t.openOrDownloadData(this.content,this.filename)};var Jf,zl,Hl,Qf,_c,CR,sw,dC;let P8=(dC=class{constructor({div:e,accessibilityManager:t,annotationCanvasMap:s,annotationEditorUIManager:i,page:r,viewport:o,structTreeLayer:a}){R(this,_c);R(this,Jf,null);R(this,zl,null);R(this,Hl,new Map);R(this,Qf,null);this.div=e,$(this,Jf,t),$(this,zl,s),$(this,Qf,a||null),this.page=r,this.viewport=o,this.zIndex=0,this._annotationEditorUIManager=i}hasEditableAnnotations(){return f(this,Hl).size>0}async render(e){var o;const{annotations:t}=e,s=this.div;uc(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 nk,annotationStorage:e.annotationStorage||new Y1,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===dn.POPUP;if(l){const u=i.get(a.id);if(!u)continue;r.elements=u}else{const{width:u,height:d}=_o(a.rect);if(u<=0||d<=0)continue}r.data=a;const c=f8.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,_c,CR).call(this,h,a.id),c._isEditable&&(f(this,Hl).set(c.data.id,c),(o=this._annotationEditorUIManager)==null||o.renderAnnotationElement(c))}T(this,_c,sw).call(this)}update({viewport:e}){const t=this.div;this.viewport=e,uc(t,{rotation:e.rotation}),T(this,_c,sw).call(this),t.hidden=!1}getEditableAnnotations(){return Array.from(f(this,Hl).values())}getEditableAnnotation(e){return f(this,Hl).get(e)}},Jf=new WeakMap,zl=new WeakMap,Hl=new WeakMap,Qf=new WeakMap,_c=new WeakSet,CR=async function(e,t){var o,a;const s=e.firstChild||e,i=s.id=`${W1}${t}`,r=await((o=f(this,Qf))==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,Jf))==null||a.moveElementInDOM(this.div,e,s,!1)},sw=function(){if(!f(this,zl))return;const e=this.div;for(const[t,s]of f(this,zl)){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,zl).clear()},dC);const mm=/\r\n?|\n/g;var Li,Hs,ep,Bl,Bs,ln,$R,TR,PR,hg,Ao,ug,dg,RR,rw,MR;const xt=class xt extends ft{constructor(t){super({...t,name:"freeTextEditor"});R(this,ln);R(this,Li);R(this,Hs,"");R(this,ep,`${this.id}-editor`);R(this,Bl,null);R(this,Bs);$(this,Li,t.color||xt._defaultColor||ft._defaultLineColor),$(this,Bs,t.fontSize||xt._defaultFontSize)}static get _keyboardManager(){const t=xt.prototype,s=o=>o.isEmpty(),i=dc.TRANSLATE_SMALL,r=dc.TRANSLATE_BIG;return Ze(this,"_keyboardManager",new Dp([[["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,ln,$R).call(this,s);break;case Ie.FREETEXT_COLOR:T(this,ln,TR).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,Bs)],[Ie.FREETEXT_COLOR,f(this,Li)]]}_translateEmpty(t,s){this._uiManager.translateSelectedEditors(t,s,!0)}getInitialTranslation(){const t=this.parentScale;return[-xt._internalPadding*t,-(xt._internalPadding+f(this,Bs))*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"),$(this,Bl,new AbortController);const t=this._uiManager.combinedSignal(f(this,Bl));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,ep)),this._isDraggable=!0,(t=f(this,Bl))==null||t.abort(),$(this,Bl,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,Hs),s=$(this,Hs,T(this,ln,PR).call(this).trimEnd());if(t===s)return;const i=r=>{if($(this,Hs,r),!r){this.remove();return}T(this,ln,dg).call(this),this._uiManager.rebuild(this),T(this,ln,hg).call(this)};this.addCommands({cmd:()=>{i(s)},undo:()=>{i(t)},mustExec:!1}),T(this,ln,hg).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,ep)),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,Bs)}px * var(--scale-factor))`,i.color=f(this,Li),this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),Xg(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,ln,dg).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,rw).call(m,s.getData("text")||"").replaceAll(mm,` +`);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(mm,"")),y!==this.editorDiv){let b=h;for(const _ of this.editorDiv.childNodes){if(_===y){b=u;continue}b.push(T(g=xt,Ao,ug).call(g,_))}}h.push(l.nodeValue.slice(0,c).replaceAll(mm,""))}else if(l===this.editorDiv){let y=h,b=0;for(const _ of this.editorDiv.childNodes)b++===c&&(y=u),y.push(T(v=xt,Ao,ug).call(v,_))}$(this,Hs,`${h.join(` +`)}${r}${u.join(` +`)}`),T(this,ln,dg).call(this);const d=new Range;let p=h.reduce((y,b)=>y+b.length,0);for(const{firstChild:y}of this.editorDiv.childNodes)if(y.nodeType===Node.TEXT_NODE){const b=y.nodeValue.length;if(p<=b){d.setStart(y,p),d.setEnd(y,p);break}p-=b}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 $(o,Bs,t.fontSize),$(o,Li,Ee.makeHexColor(...t.color)),$(o,Hs,T(a=xt,Ao,rw).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,Li)),o={annotationType:je.FREETEXT,color:r,fontSize:f(this,Bs),value:T(this,ln,RR).call(this),pageIndex:this.pageIndex,rect:i,rotation:this.rotation,structTreeParentId:this._structTreeParentId};return t?o:this.annotationElementId&&!T(this,ln,MR).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,Bs)}px * var(--scale-factor))`,i.color=f(this,Li),s.replaceChildren();for(const o of f(this,Hs).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,Hs)}),s}resetAnnotationElement(t){super.resetAnnotationElement(t),t.resetEdited()}};Li=new WeakMap,Hs=new WeakMap,ep=new WeakMap,Bl=new WeakMap,Bs=new WeakMap,ln=new WeakSet,$R=function(t){const s=r=>{this.editorDiv.style.fontSize=`calc(${r}px * var(--scale-factor))`,this.translate(0,-(r-f(this,Bs))*this.parentScale),$(this,Bs,r),T(this,ln,hg).call(this)},i=f(this,Bs);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})},TR=function(t){const s=r=>{$(this,Li,this.editorDiv.style.color=r)},i=f(this,Li);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})},PR=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,ug).call(i,r)),s=r);return t.join(` +`)},hg=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,ug=function(t){return(t.nodeType===Node.TEXT_NODE?t.nodeValue:t.innerText).replaceAll(mm,"")},dg=function(){if(this.editorDiv.replaceChildren(),!!f(this,Hs))for(const t of f(this,Hs).split(` +`)){const s=document.createElement("div");s.append(t?document.createTextNode(t):document.createElement("br")),this.editorDiv.append(s)}},RR=function(){return f(this,Hs).replaceAll(" "," ")},rw=function(t){return t.replaceAll(" "," ")},MR=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 iw=xt;class IR{toSVGPath(){Rt("Abstract method `toSVGPath` must be implemented.")}get box(){Rt("Abstract getter `box` must be implemented.")}serialize(e,t){Rt("Abstract method `serialize` must be implemented.")}get classNamesForDrawing(){Rt("Abstract getter `classNamesForDrawing` must be implemented.")}get classNamesForOutlining(){Rt("Abstract getter `classNamesForOutlining` must be implemented.")}get mustRemoveSelfIntersections(){return!1}}var qs,Di,Vh,Wh,gr,Ve,ql,Ul,tp,np,Gh,Kh,ia,sp,Dy,Fy,Sn,hd,OR,NR,LR,DR,FR,jR;const qr=class qr{constructor({x:e,y:t},s,i,r,o,a=0){R(this,Sn);R(this,qs);R(this,Di,[]);R(this,Vh);R(this,Wh);R(this,gr,[]);R(this,Ve,new Float64Array(18));R(this,ql);R(this,Ul);R(this,tp);R(this,np);R(this,Gh);R(this,Kh);R(this,ia,[]);$(this,qs,s),$(this,Kh,r*i),$(this,Wh,o),f(this,Ve).set([NaN,NaN,NaN,NaN,e,t],6),$(this,Vh,a),$(this,np,f(qr,sp)*i),$(this,tp,f(qr,Fy)*i),$(this,Gh,i),f(this,ia).push(e,t)}isEmpty(){return isNaN(f(this,Ve)[8])}add({x:e,y:t}){var F;$(this,ql,e),$(this,Ul,t);const[s,i,r,o]=f(this,qs);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,Sn,NR).call(this,s),s.join(" ")}newFreeDrawOutline(e,t,s,i,r,o){return new zR(e,t,s,i,r,o)}getOutlines(){var u;const e=f(this,gr),t=f(this,Di),s=f(this,Ve),[i,r,o,a]=f(this,qs),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,Sn,FR).call(this,c,h),this.newFreeDrawOutline(c,l,f(this,qs),f(this,Gh),f(this,Vh),f(this,Wh))}};qs=new WeakMap,Di=new WeakMap,Vh=new WeakMap,Wh=new WeakMap,gr=new WeakMap,Ve=new WeakMap,ql=new WeakMap,Ul=new WeakMap,tp=new WeakMap,np=new WeakMap,Gh=new WeakMap,Kh=new WeakMap,ia=new WeakMap,sp=new WeakMap,Dy=new WeakMap,Fy=new WeakMap,Sn=new WeakSet,hd=function(){const e=f(this,Ve).subarray(4,6),t=f(this,Ve).subarray(16,18),[s,i,r,o]=f(this,qs);return[(f(this,ql)+(e[0]-t[0])/2-s)/r,(f(this,Ul)+(e[1]-t[1])/2-i)/o,(f(this,ql)+(t[0]-e[0])/2-s)/r,(f(this,Ul)+(t[1]-e[1])/2-i)/o]},OR=function(){const[e,t,s,i]=f(this,qs),[r,o,a,l]=T(this,Sn,hd).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`},NR=function(e){const t=f(this,Di);e.push(`L${t[4]} ${t[5]} Z`)},LR=function(e){const[t,s,i,r]=f(this,qs),o=f(this,Ve).subarray(4,6),a=f(this,Ve).subarray(16,18),[l,c,h,u]=T(this,Sn,hd).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}`)},DR=function(e){const t=f(this,Ve),[s,i,r,o]=f(this,qs),[a,l,c,h]=T(this,Sn,hd).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,qs),f(this,Gh),f(this,Vh),f(this,Wh))},FR=function(e,t){const s=f(this,Di);return e.set([NaN,NaN,NaN,NaN,s[4],s[5]],t),t+=6},jR=function(e,t){const s=f(this,Ve).subarray(4,6),i=f(this,Ve).subarray(16,18),[r,o,a,l]=f(this,qs),[c,h,u,d]=T(this,Sn,hd).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,sp,8),R(qr,Dy,2),R(qr,Fy,f(qr,sp)+f(qr,Dy));let Jg=qr;var Zh,Vl,io,ip,Us,rp,Xt,Os,ud,dd,HR;class zR extends IR{constructor(t,s,i,r,o,a){super();R(this,Os);R(this,Zh);R(this,Vl,null);R(this,io);R(this,ip);R(this,Us);R(this,rp);R(this,Xt);$(this,Xt,t),$(this,Us,s),$(this,Zh,i),$(this,rp,r),$(this,io,o),$(this,ip,a),T(this,Os,HR).call(this,a);const{x:l,y:c,width:h,height:u}=f(this,Vl);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,ws,ow).call(this,t)),T(this,ws,qR).call(this,t)):(T(this,ws,UR).call(this,t),e.push(...T(this,ws,ow).call(this,t)));return T(this,ws,BR).call(this,e)}}op=new WeakMap,ra=new WeakMap,Fi=new WeakMap,ws=new WeakSet,BR=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 R8(i,f(this,op))},fg=function(e){const t=f(this,Fi);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,Fi)[i];if(r!==e)break;if(r===e&&o===t){f(this,Fi).splice(i,1);return}}},ow=function(e){const[t,s,i]=e,r=[[t,s,i]],o=T(this,ws,fg).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 ap,Xh;class R8 extends IR{constructor(t,s){super();R(this,ap);R(this,Xh);$(this,Xh,t),$(this,ap,s)}toSVGPath(){const t=[];for(const s of f(this,Xh)){let[i,r]=s;t.push(`M${i} ${r}`);for(let o=2;o-1?($(this,Es,!0),T(this,Le,pg).call(this,t),T(this,Le,Ka).call(this)):f(this,ro)&&($(this,eu,t.anchorNode),$(this,dp,t.anchorOffset),$(this,fp,t.focusNode),$(this,pp,t.focusOffset),T(this,Le,uw).call(this),T(this,Le,Ka).call(this),this.rotate(this.rotation))}static get _keyboardManager(){const t=ot.prototype;return Ze(this,"_keyboardManager",new Dp([[["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,Es)?"free_highlight":"highlight",color:this._uiManager.highlightColorNames.get(this.color),thickness:f(this,ri),methodOfCreation:f(this,mp)}}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),ot._defaultColor||(ot._defaultColor=((i=s.highlightColors)==null?void 0:i.values().next().value)||"#fff066")}static updateDefaultParams(t,s){switch(t){case Ie.HIGHLIGHT_DEFAULT_COLOR:ot._defaultColor=s;break;case Ie.HIGHLIGHT_THICKNESS:ot._defaultThickness=s;break}}translateInPage(t,s){}get toolbarPosition(){return f(this,nu)}updateParams(t,s){switch(t){case Ie.HIGHLIGHT_COLOR:T(this,Le,WR).call(this,s);break;case Ie.HIGHLIGHT_THICKNESS:T(this,Le,GR).call(this,s);break}}static get defaultPropertiesToUpdate(){return[[Ie.HIGHLIGHT_DEFAULT_COLOR,ot._defaultColor],[Ie.HIGHLIGHT_THICKNESS,ot._defaultThickness]]}get propertiesToUpdate(){return[[Ie.HIGHLIGHT_COLOR,this.color||ot._defaultColor],[Ie.HIGHLIGHT_THICKNESS,f(this,ri)||ot._defaultThickness],[Ie.HIGHLIGHT_FREE,f(this,Es)]]}async addEditToolbar(){const t=await super.addEditToolbar();return t?(this._uiManager.highlightColors&&($(this,tu,new Qg({editor:this})),t.addColorPicker(f(this,tu))),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,fd).call(this))}getBaseTranslation(){return[0,0]}getRect(t,s){return super.getRect(t,s,T(this,Le,fd).call(this))}onceAdded(){this.annotationElementId||this.parent.addUndoableEditor(this),this.div.focus()}remove(){T(this,Le,dw).call(this),this._reportTelemetry({action:"deleted"}),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(T(this,Le,Ka).call(this),this.isAttachedToDOM||this.parent.add(this)))}setParent(t){var i;let s=!1;this.parent&&!t?T(this,Le,dw).call(this):t&&(T(this,Le,Ka).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,Es)?(t=(t-this.rotation+360)%360,i=T(r=ot,ui,Bc).call(r,f(this,Hi).box,t)):i=T(o=ot,ui,Bc).call(o,this,t),s.rotate(f(this,is),t),s.rotate(f(this,mn),t),s.updateBox(f(this,is),i),s.updateBox(f(this,mn),T(a=ot,ui,Bc).call(a,f(this,ii).box,t))}render(){if(this.div)return this.div;const t=super.render();f(this,su)&&(t.setAttribute("aria-label",f(this,su)),t.setAttribute("role","mark")),f(this,Es)?t.classList.add("free"):this.div.addEventListener("keydown",T(this,Le,ZR).bind(this),{signal:this._uiManager._signal});const s=$(this,Kl,document.createElement("div"));t.append(s),s.setAttribute("aria-hidden","true"),s.className="internal",s.style.clipPath=f(this,Gl);const[i,r]=this.parentDimensions;return this.setDims(this.width*i,this.height*r),Xg(this,f(this,Kl),["pointerover","pointerleave"]),this.enableEditing(),t}pointerover(){this.isSelected||this.parent.drawLayer.addClass(f(this,mn),"hovered")}pointerleave(){this.isSelected||this.parent.drawLayer.removeClass(f(this,mn),"hovered")}_moveCaret(t){switch(this.parent.unselect(this),t){case 0:case 2:T(this,Le,mg).call(this,!0);break;case 1:case 3:T(this,Le,mg).call(this,!1);break}}select(){var t,s;super.select(),f(this,mn)&&((t=this.parent)==null||t.drawLayer.removeClass(f(this,mn),"hovered"),(s=this.parent)==null||s.drawLayer.addClass(f(this,mn),"selected"))}unselect(){var t;super.unselect(),f(this,mn)&&((t=this.parent)==null||t.drawLayer.removeClass(f(this,mn),"selected"),f(this,Es)||T(this,Le,mg).call(this,!1))}get _mustFixPosition(){return!f(this,Es)}show(t=this._isVisible){super.show(t),this.parent&&(this.parent.drawLayer.show(f(this,is),t),this.parent.drawLayer.show(f(this,mn),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,ui,QR).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",gi,{signal:d}),i.addEventListener("pointermove",T(this,ui,JR).bind(this,t),{signal:d}),this._freeHighlight=new aw({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,b;let r=null;if(t instanceof xR){const{data:{quadPoints:_,rect:k,rotation:A,id:C,color:E,opacity:O,popupRef:F},parent:{page:{pageNumber:U}}}=t;r=t={annotationType:je.HIGHLIGHT,color:Array.from(E),opacity:O,quadPoints:_,boxes:null,pageIndex:U-1,rect:k.slice(0),rotation:A,id:C,deleted:!1,popupRef:F}}else if(t instanceof sk){const{data:{inkLists:_,rect:k,rotation:A,id:C,color:E,borderStyle:{rawWidth:O},popupRef:F},parent:{page:{pageNumber:U}}}=t;r=t={annotationType:je.HIGHLIGHT,color:Array.from(E),thickness:O,inkLists:_,boxes:null,pageIndex:U-1,rect:k.slice(0),rotation:A,id:C,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),$(h,oo,c||1),l&&$(h,ri,t.thickness),h.annotationElementId=t.id||null,h._initialData=r;const[u,d]=h.pageDimensions,[p,m]=h.pageTranslation;if(a){const _=$(h,ro,[]);for(let k=0;k=0)$(this,is,s),$(this,Gl,i),this.parent.drawLayer.finalizeLine(s,t),$(this,mn,this.parent.drawLayer.drawOutline(f(this,ii)));else if(this.parent){const p=this.parent.viewport.rotation;this.parent.drawLayer.updateLine(f(this,is),t),this.parent.drawLayer.updateBox(f(this,is),T(u=ot,ui,Bc).call(u,f(this,Hi).box,(p-this.rotation+360)%360)),this.parent.drawLayer.updateLine(f(this,mn),f(this,ii)),this.parent.drawLayer.updateBox(f(this,mn),T(d=ot,ui,Bc).call(d,f(this,ii).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,ii).box;$(this,nu,[(h[0]-o)/l,(h[1]-a)/c])},WR=function(t){const s=(o,a)=>{var l,c,h;this.color=o,(l=this.parent)==null||l.drawLayer.changeColor(f(this,is),o),(c=f(this,tu))==null||c.updateColor(o),$(this,oo,a),(h=this.parent)==null||h.drawLayer.changeOpacity(f(this,is),a)},i=this.color,r=f(this,oo);this.addCommands({cmd:s.bind(this,t,ot._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)},GR=function(t){const s=f(this,ri),i=r=>{$(this,ri,r),T(this,Le,KR).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)},KR=function(t){if(!f(this,Es))return;T(this,Le,pg).call(this,{highlightOutlines:f(this,Hi).getNewOutline(t/2)}),this.fixAndSetPosition();const[s,i]=this.parentDimensions;this.setDims(this.width*s,this.height*i)},dw=function(){f(this,is)===null||!this.parent||(this.parent.drawLayer.remove(f(this,is)),$(this,is,null),this.parent.drawLayer.remove(f(this,mn)),$(this,mn,null))},Ka=function(t=this.parent){f(this,is)===null&&({id:us(this,is)._,clipPathId:us(this,Gl)._}=t.drawLayer.draw(f(this,Hi),this.color,f(this,oo)),$(this,mn,t.drawLayer.drawOutline(f(this,ii))),f(this,Kl)&&(f(this,Kl).style.clipPath=f(this,Gl)))},ui=new WeakSet,Bc=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}},ZR=function(t){ot._keyboardManager.exec(this,t)},mg=function(t){if(!f(this,eu))return;const s=window.getSelection();t?s.setPosition(f(this,eu),f(this,dp)):s.setPosition(f(this,fp),f(this,pp))},fd=function(){return f(this,Es)?this.rotation:0},XR=function(){if(f(this,Es))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},YR=function(t){return f(this,Hi).serialize(t,T(this,Le,fd).call(this))},JR=function(t,s){this._freeHighlight.add(s)&&t.drawLayer.updatePath(this._freeHighlightId,this._freeHighlight)},QR=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=""},eM=function(t){const{color:s}=this._initialData;return t.color.some((i,r)=>i!==s[r])},R(ot,ui),ce(ot,"_defaultColor",null),ce(ot,"_defaultOpacity",1),ce(ot,"_defaultThickness",12),ce(ot,"_type","highlight"),ce(ot,"_editorType",je.HIGHLIGHT),ce(ot,"_freeHighlightId",-1),ce(ot,"_freeHighlight",null),ce(ot,"_freeHighlightClipId","");let ey=ot;var Zl,Xl,yr,ao,oi,Yl,Jl,Ql,lo,iu,ec,tc,aa,fe,tM,nM,sM,iM,pw,rM,mw,oM,aM,lM,cM,hM,Za,gw,yw,vw,gg,yg,qc,bw,vg,Co,uM,ww,dM,fM,_w,bg,pd;const jt=class jt extends ft{constructor(t){super({...t,name:"inkEditor"});R(this,fe);R(this,Zl,0);R(this,Xl,0);R(this,yr,null);R(this,ao,new Path2D);R(this,oi,!1);R(this,Yl,null);R(this,Jl,!1);R(this,Ql,!1);R(this,lo,null);R(this,iu,null);R(this,ec,0);R(this,tc,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:jt._defaultThickness=s;break;case Ie.INK_COLOR:jt._defaultColor=s;break;case Ie.INK_OPACITY:jt._defaultOpacity=s/100;break}}updateParams(t,s){switch(t){case Ie.INK_THICKNESS:T(this,fe,tM).call(this,s);break;case Ie.INK_COLOR:T(this,fe,nM).call(this,s);break;case Ie.INK_OPACITY:T(this,fe,sM).call(this,s);break}}static get defaultPropertiesToUpdate(){return[[Ie.INK_THICKNESS,jt._defaultThickness],[Ie.INK_COLOR,jt._defaultColor||ft._defaultLineColor],[Ie.INK_OPACITY,Math.round(jt._defaultOpacity*100)]]}get propertiesToUpdate(){return[[Ie.INK_THICKNESS,this.thickness||jt._defaultThickness],[Ie.INK_COLOR,this.color||jt._defaultColor||ft._defaultLineColor],[Ie.INK_OPACITY,Math.round(100*(this.opacity??jt._defaultOpacity))]]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.canvas||(T(this,fe,gg).call(this),T(this,fe,yg).call(this)),this.isAttachedToDOM||(this.parent.add(this),T(this,fe,qc).call(this)),T(this,fe,pd).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)),$(this,yr,null)),(t=f(this,lo))==null||t.disconnect(),$(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,oi)||this.canvas===null||(super.enableEditMode(),this._isDraggable=!1,T(this,fe,gw).call(this))}disableEditMode(){!this.isInEditMode()||this.canvas===null||(super.disableEditMode(),this._isDraggable=!this.isEmpty(),this.div.classList.remove("editing"),T(this,fe,yw).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,oi)||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),$(this,oi,!0),this.div.classList.add("disabled"),T(this,fe,pd).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,oi)||(this.setInForeground(),t.preventDefault(),this.div.contains(document.activeElement)||this.div.focus({preventScroll:!0}),T(this,fe,rM).call(this,t.offsetX,t.offsetY))}canvasPointermove(t){t.preventDefault(),T(this,fe,mw).call(this,t.offsetX,t.offsetY)}canvasPointerup(t){t.preventDefault(),T(this,fe,vw).call(this,t)}canvasPointerleave(t){T(this,fe,vw).call(this,t)}get isResizable(){return!this.isEmpty()&&f(this,oi)}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,iM).call(this);if(this.setAt(i,r,0,0),this.setDims(o,a),T(this,fe,gg).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),$(this,Ql,!0),T(this,fe,qc).call(this),this.setDims(this.width*l,this.height*c),T(this,fe,Za).call(this),this.div.classList.add("disabled")}else this.div.classList.add("editing"),this.enableEditMode();return T(this,fe,yg).call(this),this.div}setDimensions(t,s){const i=Math.round(t),r=Math.round(s);if(f(this,ec)===i&&f(this,tc)===r)return;$(this,ec,i),$(this,tc,r),this.canvas.style.visibility="hidden";const[o,a]=this.parentDimensions;this.width=t/o,this.height=s/a,this.fixAndSetPosition(),f(this,oi)&&T(this,fe,bw).call(this,t,s),T(this,fe,qc).call(this),T(this,fe,Za).call(this),this.canvas.style.visibility="visible",this.fixDims()}static async deserialize(t,s,i){var v,y,b;if(t instanceof sk)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;$(r,oi,!0),$(r,ec,Math.round(l)),$(r,tc,Math.round(c));const{paths:d,rect:p,rotation:m}=t;for(let{bezier:_}of d){_=T(v=jt,Co,dM).call(v,_,p,m);const k=[];r.paths.push(k);let A=h*(_[0]-u),C=h*(_[1]-u);for(let O=2,F=_.length;O{this.thickness=r,T(this,fe,pd).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})},nM=function(t){const s=r=>{this.color=r,T(this,fe,Za).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})},sM=function(t){const s=r=>{this.opacity=r,T(this,fe,Za).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})},iM=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]}},pw=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}${e9(i)}`},rM=function(t,s){this.canvas.addEventListener("contextmenu",gi,{signal:this._uiManager._signal}),T(this,fe,yw).call(this),$(this,Yl,new AbortController);const i=this._uiManager.combinedSignal(f(this,Yl));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,Ql)||($(this,Ql,!0),T(this,fe,qc).call(this),this.thickness||(this.thickness=jt._defaultThickness),this.color||(this.color=jt._defaultColor||ft._defaultLineColor),this.opacity??(this.opacity=jt._defaultOpacity)),this.currentPath.push([t,s]),$(this,Jl,!1),T(this,fe,pw).call(this),$(this,aa,()=>{T(this,fe,lM).call(this),f(this,aa)&&window.requestAnimationFrame(f(this,aa))}),window.requestAnimationFrame(f(this,aa))},mw=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]),$(this,Jl,!0),o.length<=2){a.moveTo(...o[0]),a.lineTo(t,s);return}o.length===3&&($(this,ao,a=new Path2D),a.moveTo(...o[0])),T(this,fe,cM).call(this,a,...o.at(-3),...o.at(-2),t,s)},oM=function(){if(this.currentPath.length===0)return;const t=this.currentPath.at(-1);f(this,ao).lineTo(...t)},aM=function(t,s){$(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,mw).call(this,t,s),T(this,fe,oM).call(this);let i;if(this.currentPath.length!==1)i=T(this,fe,hM).call(this);else{const c=[t,s];i=[[c,c.slice(),c.slice(),c]]}const r=f(this,ao),o=this.currentPath;this.currentPath=[],$(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,gg).call(this),T(this,fe,yg).call(this)),T(this,fe,pd).call(this))};this.addCommands({cmd:a,undo:l,mustExec:!0})},lM=function(){if(!f(this,Jl))return;$(this,Jl,!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()},cM=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)},hM=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{$(this,yr,null),this.canvas.removeEventListener("contextmenu",gi)},10)),T(this,fe,aM).call(this,t.offsetX,t.offsetY),this.addToAnnotationStorage(),this.setInBackground()},gg=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")},yg=function(){$(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(),$(this,lo,null)},{once:!0})},qc=function(){if(!f(this,Ql))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,vg).call(this)},bw=function(t,s){const i=T(this,fe,bg).call(this),r=(t-i)/f(this,Xl),o=(s-i)/f(this,Zl);this.scaleFactor=Math.min(r,o)},vg=function(){const t=T(this,fe,bg).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+t,this.translationY*this.scaleFactor+t)},Co=new WeakSet,uM=function(t){const s=new Path2D;for(let i=0,r=t.length;i`image/${s}`))}static get supportedTypesStr(){return Ze(this,"supportedTypesStr",this.supportedTypes.join(","))}static isHandlingMimeForPasting(t){return this.supportedTypes.includes(t)}static paste(t,s){s.pasteEditor(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,zn)&&($(this,Ht,null),this._uiManager.imageManager.deleteId(f(this,zn)),(t=f(this,vr))==null||t.remove(),$(this,vr,null),(s=f(this,ho))==null||s.disconnect(),$(this,ho,null),f(this,br)&&(clearTimeout(f(this,br)),$(this,br,null))),super.remove()}rebuild(){if(!this.parent){f(this,zn)&&T(this,Ke,wg).call(this);return}super.rebuild(),this.div!==null&&(f(this,zn)&&f(this,vr)===null&&T(this,Ke,wg).call(this),this.isAttachedToDOM||this.parent.add(this))}onceAdded(){this._isDraggable=!0,this.div.focus()}isEmpty(){return!(f(this,la)||f(this,Ht)||f(this,co)||f(this,ca)||f(this,zn))}get isResizable(){return!0}render(){if(this.div)return this.div;let t,s;if(this.width&&(t=this.x,s=this.y),super.render(),this.div.hidden=!0,this.div.setAttribute("role","figure"),this.addAltTextButton(),f(this,Ht)?T(this,Ke,kw).call(this):T(this,Ke,wg).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,Ht),a=new vb;let l=f(this,Ht),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,Vs)||(l=T(this,Ke,_g).call(this,m,g));const v=u.getContext("2d");v.filter=this._uiManager.hcmFilter;let y="white",b="#cfcfd8";this._uiManager.hcmFilter!=="none"?b="black":(p=window.matchMedia)!=null&&p.call(window,"(prefers-color-scheme: dark)").matches&&(y="#8f8f9d",b="#42414d");const _=15,k=_*a.sx,A=_*a.sy,C=new OffscreenCanvas(k*2,A*2),E=C.getContext("2d");E.fillStyle=y,E.fillRect(0,0,k*2,A*2),E.fillStyle=b,E.fillRect(0,0,k,A),E.fillRect(k,A,k,A),v.fillStyle=v.createPattern(C,"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 b=Math.min(t/r,t/o);m=Math.floor(r*b),g=Math.floor(o*b),f(this,Vs)||(l=T(this,Ke,_g).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 ER){const{data:{rect:v,rotation:y,id:b,structParent:_,popupRef:k},container:A,parent:{page:{pageNumber:C}}}=t,E=A.querySelector("canvas"),O=i.imageManager.getFromCanvas(A.id,E);E.remove();const F=((g=await s._structTree.getAriaAttributes(`${W1}${b}`))==null?void 0:g.get("aria-label"))||"";r=t={annotationType:je.STAMP,bitmapId:O.id,bitmap:O.bitmap,pageIndex:C-1,rect:v.slice(0),rotation:y,id:b,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)?($(o,zn,h),l&&$(o,Ht,l)):$(o,co,c),$(o,Vs,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,$(o,ou,!!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,zn),pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:f(this,Vs),structTreeParentId:this._structTreeParentId};if(t)return i.bitmapUrl=T(this,Ke,Sg).call(this,!0),i.accessibilityData=this.serializeAltText(!0),i;const{decorative:r,altText:o}=this.serializeAltText(!1);if(!r&&o&&(i.accessibilityData={type:"Figure",alt:o}),this.annotationElementId){const l=T(this,Ke,gM).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,Vs)?(i.rect[2]-i.rect[0])*(i.rect[3]-i.rect[1]):null;if(!s.stamps.has(f(this,zn)))s.stamps.set(f(this,zn),{area:a,serialized:i}),i.bitmap=T(this,Ke,Sg).call(this,!1);else if(f(this,Vs)){const l=s.stamps.get(f(this,zn));a>l.area&&(l.area=a,l.serialized.bitmap.close(),l.serialized.bitmap=T(this,Ke,Sg).call(this,!1))}return i}renderAnnotationElement(t){return t.updateEdited({rect:this.getRect(0,0)}),null}};Ht=new WeakMap,zn=new WeakMap,la=new WeakMap,co=new WeakMap,ca=new WeakMap,ru=new WeakMap,vr=new WeakMap,ho=new WeakMap,br=new WeakMap,Vs=new WeakMap,ou=new WeakMap,Ke=new WeakSet,md=function(t,s=!1){if(!t){this.remove();return}$(this,Ht,t.bitmap),s||($(this,zn,t.id),$(this,Vs,t.isSvg)),t.file&&$(this,ru,t.file.name),T(this,Ke,kw).call(this)},gd=function(){if($(this,la,null),this._uiManager.enableWaiting(!1),!!f(this,vr)){if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&f(this,Ht)){this._editToolbar.hide(),this._uiManager.editAltText(this,!0);return}if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&f(this,Ht)){this._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!1,alt_text_type:"empty"}});try{this.mlGuessAltText()}catch{}}this.div.focus()}},wg=function(){if(f(this,zn)){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(f(this,zn)).then(i=>T(this,Ke,md).call(this,i,!0)).finally(()=>T(this,Ke,gd).call(this));return}if(f(this,co)){const i=f(this,co);$(this,co,null),this._uiManager.enableWaiting(!0),$(this,la,this._uiManager.imageManager.getFromUrl(i).then(r=>T(this,Ke,md).call(this,r)).finally(()=>T(this,Ke,gd).call(this)));return}if(f(this,ca)){const i=f(this,ca);$(this,ca,null),this._uiManager.enableWaiting(!0),$(this,la,this._uiManager.imageManager.getFromFile(i).then(r=>T(this,Ke,md).call(this,r)).finally(()=>T(this,Ke,gd).call(this)));return}const t=document.createElement("input");t.type="file",t.accept=Fd.supportedTypesStr;const s=this._uiManager._signal;$(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,Ke,md).call(this,r)}i()},{signal:s}),t.addEventListener("cancel",()=>{this.remove(),i()},{signal:s})}).finally(()=>T(this,Ke,gd).call(this))),t.click()},kw=function(){const{div:t}=this;let{width:s,height:i}=f(this,Ht);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=$(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,Ke,Aw).call(this,s,i),T(this,Ke,mM).call(this),f(this,ou)||(this.parent.addUndoableEditor(this),$(this,ou,!0)),this._reportTelemetry({action:"inserted_image"}),f(this,ru)&&h.setAttribute("aria-label",f(this,ru))},pM=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)),$(this,br,setTimeout(()=>{$(this,br,null),T(this,Ke,Aw).call(this,t,s)},200))},_g=function(t,s){const{width:i,height:r}=f(this,Ht);let o=i,a=r,l=f(this,Ht);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 vb,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,Vs)?f(this,Ht):T(this,Ke,_g).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)},Sg=function(t){if(t){if(f(this,Vs)){const r=this._uiManager.imageManager.getSvgUrl(f(this,zn));if(r)return r}const s=document.createElement("canvas");return{width:s.width,height:s.height}=f(this,Ht),s.getContext("2d").drawImage(f(this,Ht),0,0),s.toDataURL()}if(f(this,Vs)){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,Ht),0,0,f(this,Ht).width,f(this,Ht).height,0,0,r,o),a.transferToImageBitmap()}return structuredClone(f(this,Ht))},mM=function(){this._uiManager._signal&&($(this,ho,new ResizeObserver(t=>{const s=t[0].contentRect;s.width&&s.height&&T(this,Ke,pM).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(),$(this,ho,null)},{once:!0}))},gM=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(Fd,"_type","stamp"),ce(Fd,"_editorType",je.STAMP);let Sw=Fd;var nc,au,wr,ha,uo,Ws,ua,lu,cu,rs,fo,$e,da,Kn,yM,Ew,Cw,$w,kg;const Ci=class Ci{constructor({uiManager:e,pageIndex:t,div:s,structTreeLayer:i,accessibilityManager:r,annotationLayer:o,drawLayer:a,textLayer:l,viewport:c,l10n:h}){R(this,Kn);R(this,nc);R(this,au,!1);R(this,wr,null);R(this,ha,null);R(this,uo,null);R(this,Ws,new Map);R(this,ua,!1);R(this,lu,!1);R(this,cu,!1);R(this,rs,null);R(this,fo,null);R(this,$e);const u=[...f(Ci,da).values()];if(!Ci._initialized){Ci._initialized=!0;for(const d of u)d.initialize(h,e)}e.registerEditorTypes(u),$(this,$e,e),this.pageIndex=t,this.div=s,$(this,nc,r),$(this,wr,o),this.viewport=c,$(this,rs,l),this.drawLayer=a,this._structTree=i,f(this,$e).addLayer(this)}get isEmpty(){return f(this,Ws).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,Kn,kg).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(Ci,da).values())t.toggle(`${s._type}Editing`,e===s._editorType);this.div.hidden=!1}hasTextLayer(e){var t;return e===((t=f(this,rs))==null?void 0:t.div)}addInkEditorIfNeeded(e){if(f(this,$e).getMode()!==je.INK)return;if(!e){for(const s of f(this,Ws).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,Ws).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;$(this,cu,!0),this.div.tabIndex=-1,this.togglePointerEvents(!1);const e=new Map,t=new Map;for(const r of f(this,Ws).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,Kn,kg).call(this),this.isEmpty&&(this.div.hidden=!0);const{classList:s}=this.div;for(const r of f(Ci,da).values())s.remove(`${r._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),$(this,cu,!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,rs))!=null&&e.div&&!f(this,fo)){$(this,fo,new AbortController);const t=f(this,$e).combinedSignal(f(this,fo));f(this,rs).div.addEventListener("pointerdown",T(this,Kn,yM).bind(this),{signal:t}),f(this,rs).div.classList.add("highlighting")}}disableTextSelection(){var e;this.div.tabIndex=0,(e=f(this,rs))!=null&&e.div&&f(this,fo)&&(f(this,fo).abort(),$(this,fo,null),f(this,rs).div.classList.remove("highlighting"))}enableClick(){if(f(this,ha))return;$(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(),$(this,ha,null)}attach(e){f(this,Ws).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,Ws).delete(e.id),(t=f(this,nc))==null||t.removePointerInTextLayer(e.contentDiv),!f(this,cu)&&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,lu)||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,$(this,uo,setTimeout(()=>{$(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,nc))==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,Kn,Ew))==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,Kn,$w).call(this),r=this.getNextId(),o=T(this,Kn,Cw).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(Ci,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,Kn,Cw).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,Kn,$w).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}=ys.platform;if(!(e.button!==0||e.ctrlKey&&t)&&e.target===this.div&&f(this,ua)){if($(this,ua,!1),!f(this,au)){$(this,au,!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)){$(this,ua,!1);return}const{isMac:t}=ys.platform;if(e.button!==0||e.ctrlKey&&t||e.target!==this.div)return;$(this,ua,!0);const s=f(this,$e).getActive();$(this,au,!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)),$(this,uo,null));for(const s of f(this,Ws).values())(t=f(this,nc))==null||t.removePointerInTextLayer(s.contentDiv),s.setParent(null),s.isAttachedToDOM=!1,s.div.remove();this.div=null,f(this,Ws).clear(),f(this,$e).removeLayer(this)}render({viewport:e}){this.viewport=e,uc(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,Kn,kg).call(this);const t=this.viewport.rotation,s=e.rotation;if(this.viewport=e,uc(this.div,{rotation:s}),t!==s)for(const i of f(this,Ws).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}};nc=new WeakMap,au=new WeakMap,wr=new WeakMap,ha=new WeakMap,uo=new WeakMap,Ws=new WeakMap,ua=new WeakMap,lu=new WeakMap,cu=new WeakMap,rs=new WeakMap,fo=new WeakMap,$e=new WeakMap,da=new WeakMap,Kn=new WeakSet,yM=function(e){f(this,$e).unselectAll();const{target:t}=e;if(t===f(this,rs).div||(t.getAttribute("role")==="img"||t.classList.contains("endOfContent"))&&f(this,rs).div.contains(t)){const{isMac:s}=ys.platform;if(e.button!==0||e.ctrlKey&&s)return;f(this,$e).showAllEditors("highlight",!0,!0),f(this,rs).div.classList.add("free"),this.toggleDrawing(),ey.startHighlighting(this,f(this,$e).direction==="ltr",{target:f(this,rs).div,x:e.x,y:e.y}),f(this,rs).div.addEventListener("pointerup",()=>{f(this,rs).div.classList.remove("free"),this.toggleDrawing(!0)},{once:!0,signal:f(this,$e)._signal}),e.preventDefault()}},Ew=function(){return f(Ci,da).get(f(this,$e).getMode())},Cw=function(e){const t=f(this,Kn,Ew);return t?new t.prototype.constructor(e):null},$w=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}},kg=function(){$(this,lu,!0);for(const e of f(this,Ws).values())e.isEmpty()&&e.remove();$(this,lu,!1)},ce(Ci,"_initialized",!1),R(Ci,da,new Map([iw,fw,Sw,ey].map(e=>[e._editorType,e])));let xw=Ci;var _r,gp,on,po,yp,Pw,Sc,Rw,vM;const Dn=class Dn{constructor({pageIndex:e}){R(this,Sc);R(this,_r,null);R(this,gp,0);R(this,on,new Map);R(this,po,new Map);this.pageIndex=e}setParent(e){if(!f(this,_r)){$(this,_r,e);return}if(f(this,_r)!==e){if(f(this,on).size>0)for(const t of f(this,on).values())t.remove(),e.append(t);$(this,_r,e)}}static get _svgFactory(){return Ze(this,"_svgFactory",new nk)}draw(e,t,s,i=!1){const r=us(this,gp)._++,o=T(this,Sc,Rw).call(this,e.box);o.classList.add(...e.classNamesForDrawing);const a=Dn._svgFactory.createElement("defs");o.append(a);const l=Dn._svgFactory.createElement("path");a.append(l);const c=`path_p${this.pageIndex}_${r}`;l.setAttribute("id",c),l.setAttribute("d",e.toSVGPath()),i&&f(this,po).set(r,l);const h=T(this,Sc,vM).call(this,a,c),u=Dn._svgFactory.createElement("use");return o.append(u),o.setAttribute("fill",t),o.setAttribute("fill-opacity",s),u.setAttribute("href",`#${c}`),f(this,on).set(r,o),{id:r,clipPathId:`url(#${h})`}}drawOutline(e){const t=us(this,gp)._++,s=T(this,Sc,Rw).call(this,e.box);s.classList.add(...e.classNamesForOutlining);const i=Dn._svgFactory.createElement("defs");s.append(i);const r=Dn._svgFactory.createElement("path");i.append(r);const o=`path_p${this.pageIndex}_${t}`;r.setAttribute("id",o),r.setAttribute("d",e.toSVGPath()),r.setAttribute("vector-effect","non-scaling-stroke");let a;if(e.mustRemoveSelfIntersections){const h=Dn._svgFactory.createElement("mask");i.append(h),a=`mask_p${this.pageIndex}_${t}`,h.setAttribute("id",a),h.setAttribute("maskUnits","objectBoundingBox");const u=Dn._svgFactory.createElement("rect");h.append(u),u.setAttribute("width","1"),u.setAttribute("height","1"),u.setAttribute("fill","white");const d=Dn._svgFactory.createElement("use");h.append(d),d.setAttribute("href",`#${o}`),d.setAttribute("stroke","none"),d.setAttribute("fill","black"),d.setAttribute("fill-rule","nonzero"),d.classList.add("mask")}const l=Dn._svgFactory.createElement("use");s.append(l),l.setAttribute("href",`#${o}`),a&&l.setAttribute("mask",`url(#${a})`);const c=l.cloneNode();return s.append(c),l.classList.add("mainOutline"),c.classList.add("secondaryOutline"),f(this,on).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,on).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=Dn,yp,Pw).call(s,f(this,on).get(e),t)}show(e,t){f(this,on).get(e).classList.toggle("hidden",!t)}rotate(e,t){f(this,on).get(e).setAttribute("data-main-rotation",t)}changeColor(e,t){f(this,on).get(e).setAttribute("fill",t)}changeOpacity(e,t){f(this,on).get(e).setAttribute("fill-opacity",t)}addClass(e,t){f(this,on).get(e).classList.add(t)}removeClass(e,t){f(this,on).get(e).classList.remove(t)}getSVGRoot(e){return f(this,on).get(e)}remove(e){f(this,po).delete(e),f(this,_r)!==null&&(f(this,on).get(e).remove(),f(this,on).delete(e))}destroy(){$(this,_r,null);for(const e of f(this,on).values())e.remove();f(this,on).clear(),f(this,po).clear()}};_r=new WeakMap,gp=new WeakMap,on=new WeakMap,po=new WeakMap,yp=new WeakSet,Pw=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}%`},Sc=new WeakSet,Rw=function(e){var s;const t=Dn._svgFactory.create(1,1,!0);return f(this,_r).append(t),t.setAttribute("aria-hidden",!0),T(s=Dn,yp,Pw).call(s,t,e),t},vM=function(e,t){const s=Dn._svgFactory.createElement("clipPath");e.append(s);const i=`clip_${t}`;s.setAttribute("id",i),s.setAttribute("clipPathUnits","objectBoundingBox");const r=Dn._svgFactory.createElement("use");return s.append(r),r.setAttribute("href",`#${t}`),r.classList.add("clip"),i},R(Dn,yp);let Tw=Dn;Ne.AbortException;Ne.AnnotationEditorLayer;Ne.AnnotationEditorParamsType;Ne.AnnotationEditorType;Ne.AnnotationEditorUIManager;var bM=Ne.AnnotationLayer,wM=Ne.AnnotationMode;Ne.ColorPicker;Ne.DOMSVGFactory;Ne.DrawLayer;Ne.FeatureTest;var m0=Ne.GlobalWorkerOptions;Ne.ImageKind;Ne.InvalidPDFException;Ne.MissingPDFException;Ne.OPS;Ne.OutputScale;var I8=Ne.PDFDataRangeTransport;Ne.PDFDateString;Ne.PDFWorker;Ne.PasswordResponses;Ne.PermissionFlag;Ne.PixelsPerInch;Ne.RenderingCancelledException;var _M=Ne.TextLayer;Ne.UnexpectedResponseException;Ne.Util;Ne.VerbosityLevel;Ne.XfaLayer;Ne.build;Ne.createValidAbsoluteUrl;Ne.fetchData;var SM=Ne.getDocument;Ne.getFilenameFromUrl;Ne.getPdfFilenameFromUrl;Ne.getXfaPageViewport;Ne.isDataScheme;Ne.isPdfFile;Ne.noContextMenu;Ne.normalizeUnicode;Ne.setLayerDimensions;Ne.shadow;var Mw=Ne.version;const O8=Object.freeze(Object.defineProperty({__proto__:null,AnnotationLayer:bM,AnnotationMode:wM,GlobalWorkerOptions:m0,PDFDataRangeTransport:I8,TextLayer:_M,getDocument:SM,version:Mw},Symbol.toStringTag,{value:"Module"}));var An=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||s6,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},g0=typeof window<"u",xM=g0&&window.location.protocol==="file:";function r6(n){return typeof n<"u"}function Ba(n){return r6(n)&&n!==null}function o6(n){return typeof n=="string"}function a6(n){return n instanceof ArrayBuffer}function l6(n){return yt(g0),n instanceof Blob}function Iw(n){return o6(n)&&/^data:/.test(n)}function Ox(n){yt(Iw(n));const[e="",t=""]=n.split(",");return e.split(";").indexOf("base64")!==-1?atob(t):unescape(t)}function c6(){return g0&&window.devicePixelRatio||1}const EM="On Chromium based browsers, you can use --allow-file-access-from-files flag for debugging purposes.";function Nx(){as(!xM,`Loading PDF as base64 strings/URLs may not work on protocols other than HTTP/HTTPS. ${EM}`)}function h6(){as(!xM,`Loading PDF.js worker may not work on protocols other than HTTP/HTTPS. ${EM}`)}function pc(n){n!=null&&n.cancel&&n.cancel()}function Ow(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 u6(n){return n.name==="RenderingCancelledException"}function d6(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 f6(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 mu(){return X.useReducer(f6,{value:void 0,error:void 0})}var p6=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 y6=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=g6,onSourceError:b,onSourceSuccess:_,options:k,renderMode:A,rotate:C}=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]=mu(),{value:U,error:L}=O,[q,B]=mu(),{value:N,error:ee}=q,Q=X.useRef(new i6),te=X.useRef([]),ae=X.useRef(void 0),Se=X.useRef(void 0);l&&l!==ae.current&&Dx(l)&&(as(!rh(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!==Se.current&&(as(!rh(k,Se.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.`),Se.current=k);const z=X.useRef({scrollPageIntoView:J=>{const{dest:ie,pageNumber:he,pageIndex:we=he-1}=J;if(p){p({dest:ie,pageIndex:we,pageNumber:he});return}const Ye=te.current[we];if(Ye){Ye.scrollIntoView();return}as(!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:z}),[]);function P(){_&&_()}function D(){L&&(as(!1,L.toString()),b&&b(L))}function M(){F({type:"RESET"})}X.useEffect(M,[l,F]);const w=X.useCallback(()=>p6(this,void 0,void 0,function*(){if(!l)return null;if(typeof l=="string")return Iw(l)?{data:Ox(l)}:(Nx(),{url:l});if(l instanceof m6)return{range:l};if(a6(l))return{data:l};if(g0&&l6(l))return{data:yield d6(l)};if(yt(typeof l=="object"),yt(Dx(l)),"url"in l&&typeof l.url=="string"){if(Iw(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=jp(w());return J.promise.then(ie=>{F({type:"RESOLVE",value:ie})}).catch(ie=>{F({type:"REJECT",error:ie})}),()=>{pc(J)}},[w,F]),X.useEffect(()=>{if(!(typeof U>"u")){if(U===!1){D();return}P()}},[U]);function x(){N&&(v&&v(N),te.current=new Array(N.numPages),Q.current.setDocument(N))}function I(){ee&&(as(!1,ee.toString()),m&&m(ee))}X.useEffect(function(){B({type:"RESET"})},[B,U]),X.useEffect(function(){if(!U)return;const ie=k?Object.assign(Object.assign({},U),k):U,he=SM(ie);g&&(he.onProgress=g),y&&(he.onPassword=y);const we=he,Ye=we.promise.then(Ct=>{B({type:"RESOLVE",value:Ct})}).catch(Ct=>{we.destroyed||B({type:"REJECT",error:Ct})});return()=>{Ye.finally(()=>we.destroy())}},[k,B,U]),X.useEffect(()=>{if(!(typeof N>"u")){if(N===!1){I();return}x()}},[N]),X.useEffect(function(){Q.current.setViewer(z.current),Q.current.setExternalLinkRel(o),Q.current.setExternalLinkTarget(a)},[o,a]);const K=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:N,registerPage:K,renderMode:A,rotate:C,unregisterPage:Y}),[h,p,N,K,A,C,Y]),oe=X.useMemo(()=>kM(E,()=>N),[E,N]);function H(){return S.jsx(AM.Provider,{value:ue,children:s})}function V(){return l?N==null?S.jsx(oh,{type:"loading",children:typeof u=="function"?u():u}):N===!1?S.jsx(oh,{type:"error",children:typeof r=="function"?r():r}):H():S.jsx(oh,{type:"no-data",children:typeof d=="function"?d():d})}return S.jsx("div",Object.assign({className:jy("react-pdf__Document",i),ref:c,style:{"--scale-factor":"1"}},oe,{children:V()}))});function CM(){return X.useContext(AM)}function $M(){for(var n=[],e=0;e_6(e),[e]),s=X.useMemo(()=>!y0(e)||RM(e)?null:e.children.map((i,r)=>S.jsx(IM,{node:i},r)),[e]);return S.jsx("span",Object.assign({className:n},t,{children:s}))}function v0(){return X.useContext(TM)}function S6(){const n=v0();yt(n);const{onGetStructTreeError:e,onGetStructTreeSuccess:t}=n,[s,i]=mu(),{value:r,error:o}=s,{customTextRenderer:a,page:l}=n;function c(){r&&t&&t(r)}function h(){o&&(as(!1,o.toString()),e&&e(o))}return X.useEffect(function(){i({type:"RESET"})},[i,l]),X.useEffect(function(){if(a||!l)return;const d=jp(l.getStructTree()),p=d;return d.promise.then(m=>{i({type:"RESOLVE",value:m})}).catch(m=>{i({type:"REJECT",error:m})}),()=>pc(p)},[a,l,i]),X.useEffect(()=>{if(r!==void 0){if(r===!1){h();return}c()}},[r]),r?S.jsx(IM,{className:"react-pdf__Page__structTree structTree",node:r}):null}const Fx=wM;function k6(n){const e=v0();yt(e);const t=Object.assign(Object.assign({},e),n),{_className:s,canvasBackground:i,devicePixelRatio:r=c6(),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(Ow(l,d))}function v(k){u6(k)||(as(!1,k.toString()),o&&o(k))}const y=X.useMemo(()=>l.getViewport({scale:d*r,rotation:u}),[r,l,u,d]),b=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(b.width)}px`,A.style.height=`${Math.floor(b.height)}px`,A.style.visibility="hidden";const C={annotationMode:c?Fx.ENABLE_FORMS:Fx.ENABLE,canvasContext:A.getContext("2d",{alpha:!1}),viewport:y};i&&(C.background=i);const E=l.render(C),O=E;return E.promise.then(()=>{A.style.visibility="",g()}).catch(v),()=>pc(O)},[i,l,c,y,b]);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:$M(p,m),style:{display:"block",userSelect:"none"},children:h?S.jsx(S6,{}):null})}function A6(n){return"str"in n}function x6(){const n=v0();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]=mu(),{value:p,error:m}=u,g=X.useRef(null);as(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&&(as(!1,m.toString()),t&&t(m))}X.useEffect(function(){d({type:"RESET"})},[o,d]),X.useEffect(function(){if(!o)return;const O=jp(o.getTextContent()),F=O;return O.promise.then(U=>{d({type:"RESOLVE",value:U})}).catch(U=>{d({type:"REJECT",error:U})}),()=>pc(F)},[o,d]),X.useEffect(()=>{if(p!==void 0){if(p===!1){y();return}v()}},[p]);const b=X.useCallback(()=>{r&&r()},[r]),_=X.useCallback(E=>{as(!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 C=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}),U={container:O,textContentSource:F,viewport:C},L=new _M(U),q=L;return L.render().then(()=>{const B=document.createElement("div");B.className="endOfContent",O.append(B);const N=O.querySelectorAll('[role="presentation"]');if(e){let ee=0;p.items.forEach((Q,te)=>{if(!A6(Q))return;const ae=N[ee];if(!ae)return;const Se=e(Object.assign({pageIndex:a,pageNumber:l,itemIndex:te},Q));ae.innerHTML=Se,ee+=Q.str&&Q.hasEOL?2:1})}b()}).catch(_),()=>pc(q)},[e,_,b,o,a,l,p,C]),S.jsx("div",{className:jy("react-pdf__Page__textContent","textLayer"),onMouseUp:A,onMouseDown:k,ref:g})}function E6(){const n=CM(),e=v0();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]=mu(),{value:v,error:y}=m,b=X.useRef(null);as(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&&(as(!1,y.toString()),r&&r(y))}X.useEffect(function(){g({type:"RESET"})},[g,c]),X.useEffect(function(){if(!c)return;const F=jp(c.getAnnotations()),U=F;return F.promise.then(L=>{g({type:"RESOLVE",value:L})}).catch(L=>{g({type:"REJECT",error:L})}),()=>{pc(U)}},[g,c]),X.useEffect(()=>{if(v!==void 0){if(v===!1){k();return}_()}},[v]);function A(){l&&l()}function C(O){as(!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}=b;if(!F)return;const U=E.clone({dontFlip:!0}),L={accessibilityManager:null,annotationCanvasMap:null,annotationEditorUIManager:null,div:F,l10n:null,page:c,structTreeLayer:null,viewport:U},q={annotations:v,annotationStorage:h.annotationStorage,div:F,imageResourcesPath:s,linkService:i,page:c,renderForms:u,viewport:U};F.innerHTML="";try{new bM(L).render(q),A()}catch(B){C(B)}return()=>{}},[v,s,i,c,h,u,E]),S.jsx("div",{className:jy("react-pdf__Page__annotations","annotationLayer"),ref:b})}var C6=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 cn=1;const hn=w??jx;if(I||p){const nn=oe.getViewport({scale:1,rotation:he});I?cn=I/nn.width:p&&(cn=p/nn.height)}return hn*cn},[p,oe,he,w,I]);X.useEffect(function(){return()=>{Ba(J)&&i&&x&&x(J)}},[i,te,J,x]);function Ye(){if(O){if(!oe||!we)return;O(Ow(oe,we))}if(i&&ae){if(!Ba(J)||!V.current)return;ae(J,V.current)}}function Ct(){H&&(as(!1,H.toString()),E&&E(H))}X.useEffect(function(){ue({type:"RESET"})},[ue,te,J]),X.useEffect(function(){if(!te||!ie)return;const hn=jp(te.getPage(ie)),nn=hn;return hn.promise.then(hs=>{ue({type:"RESOLVE",value:hs})}).catch(hs=>{ue({type:"REJECT",error:hs})}),()=>pc(nn)},[ue,te,ie]),X.useEffect(()=>{if(oe!==void 0){if(oe===!1){Ct();return}Ye()}},[oe,we]);const pt=X.useMemo(()=>oe&&Ba(J)&&ie&&Ba(he)&&Ba(we)?{_className:s,canvasBackground:r,customTextRenderer:h,devicePixelRatio:u,onGetAnnotationsError:y,onGetAnnotationsSuccess:b,onGetStructTreeError:_,onGetStructTreeSuccess:k,onGetTextError:A,onGetTextSuccess:C,onRenderAnnotationLayerError:F,onRenderAnnotationLayerSuccess:U,onRenderError:L,onRenderSuccess:q,onRenderTextLayerError:B,onRenderTextLayerSuccess:N,page:oe,pageIndex:J,pageNumber:ie,renderForms:z,renderTextLayer:D,rotate:he,scale:we}:null,[s,r,h,u,y,b,_,k,A,C,F,U,L,q,B,N,oe,J,ie,z,D,he,we]),At=X.useMemo(()=>kM(K,()=>oe&&(we?Ow(oe,we):void 0)),[K,oe,we]),rt=`${J}@${we}/${he}`;function kn(){switch(P){case"custom":return yt(c),S.jsx(c,{},`${rt}_custom`);case"none":return null;case"canvas":default:return S.jsx(k6,{canvasRef:o},`${rt}_canvas`)}}function $t(){return D?S.jsx(x6,{},`${rt}_text`):null}function Yn(){return Se?S.jsx(E6,{},`${rt}_annotations`):null}function In(){return S.jsxs(TM.Provider,{value:pt,children:[kn(),$t(),Yn(),a]})}function tn(){return ie?te===null||oe===void 0||oe===null?S.jsx(oh,{type:"loading",children:typeof g=="function"?g():g}):te===!1||oe===!1?S.jsx(oh,{type:"error",children:typeof d=="function"?d():d}):In():S.jsx(oh,{type:"no-data",children:typeof v=="function"?v():v})}return S.jsx("div",Object.assign({className:jy(s,l),"data-page-number":ie,ref:$M(m,V),style:{"--scale-factor":`${we}`,backgroundColor:r||"white",position:"relative",minWidth:"min-content",minHeight:"min-content"}},At,{children:tn()}))}h6();m0.workerSrc="pdf.worker.mjs";const T6="/assets/pdf.worker.min-GB3t0DcA.js";m0.workerSrc=T6;function P6(){if(!m0.workerSrc)throw new Error("The bundled PDF worker is not configured.");if(Mw!=="4.8.69")throw new Error(`PDF runtime version mismatch (${Mw}).`)}const R6=280,M6=new Set(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","A"]);function I6({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,U;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,(U=m.current)==null||U.call(m,E.selection))},y=()=>{window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=requestAnimationFrame(()=>{d.current=0,v()})},b=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 L,q;const O=e.current;if(!O||l.current||!(E.target instanceof Node&&!!((q=(L=E.target instanceof Element?E.target:E.target.parentElement)==null?void 0:L.closest)!=null&&q.call(L,".textLayer, .reader-web-document")&&O.contains(E.target))))return;const U=(E.key==="a"||E.key==="A")&&(E.metaKey||E.ctrlKey);(E.shiftKey||M6.has(E.key)||U)&&(c.current=!1,h.current="",y())},C=()=>{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()},R6)};return document.addEventListener("pointerdown",b,!0),document.addEventListener("pointerup",_,!0),document.addEventListener("pointercancel",k,!0),document.addEventListener("keyup",A,!0),document.addEventListener("selectionchange",C),()=>{document.removeEventListener("pointerdown",b,!0),document.removeEventListener("pointerup",_,!0),document.removeEventListener("pointercancel",k,!0),document.removeEventListener("keyup",A,!0),document.removeEventListener("selectionchange",C),window.clearTimeout(u.current),cancelAnimationFrame(d.current)}},[n,i,e,s,t])}const O6=.25,N6=4,zx=[.25,.33,.5,.67,.75,.9,1,1.1,1.25,1.5,1.75,2,2.5,3,4];function Nw(n){return Math.max(O6,Math.min(N6,n))}function gm(n,e){const t=e>0?zx:[...zx].reverse();return t.find(s=>(s-n)*e>.005)??t[t.length-1]}function L6({paperTitle:n,paperHref:e,resources:t,label:s,children:i}){const r=X.useRef(null);return X.useLayoutEffect(()=>{const o=r.current,a=document.querySelector(".app-header .brand-mark");if(!o||!a)return;const l=()=>{const h=a.getBoundingClientRect().left-o.getBoundingClientRect().left;o.style.setProperty("--reader-title-inset",`${Math.max(10,h)}px`)};l();const c=new ResizeObserver(l);return c.observe(o),c.observe(a),()=>c.disconnect()},[]),S.jsxs("div",{ref:r,className:"pdf-toolbar","aria-label":s,children:[S.jsxs("div",{className:"pdf-toolbar-paper",children:[S.jsx($v,{className:"pdf-toolbar-back",to:e,"aria-label":"Back",children:"← Back"}),S.jsx($v,{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(zy,{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"]})]})]}),i]})}function D6({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:b}){const _=A=>{A.preventDefault();const C=Number(new FormData(A.currentTarget).get("page"));Number.isInteger(C)&&u(C)},k=A=>{A.preventDefault();const C=A.currentTarget.elements.namedItem("zoom"),E=Number.parseFloat(C.value),O=Number.isFinite(E)&&E>0?Nw(E/100):r/100;C.value=`${Math.round(O*100)}%`,d(O)};return S.jsxs(L6,{paperTitle:n,paperHref:e,resources:t,label:"PDF controls",children:[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:_,className:"pdf-page-form",children:[S.jsx("label",{className:"sr-only",htmlFor:"pdf-current-page",children:"Current page"}),S.jsx("input",{id:"pdf-current-page",name:"page",type:"number",min:1,max:i||1,defaultValue:s,"aria-label":`Page ${s} of ${i||"unknown"}`},s),S.jsxs("span",{"aria-hidden":"true",children:["/ ",i||"—"]})]}),S.jsx("button",{type:"button",onClick:()=>u(s+1),disabled:!i||s>=i,"aria-label":"Next page",children:"→"})]}),S.jsxs("div",{className:"pdf-toolbar-group",children:[S.jsx("button",{type:"button",onClick:m,"aria-label":"Zoom out",children:"−"}),S.jsx("form",{onSubmit:k,className:"pdf-zoom-form",children:S.jsx("input",{className:"pdf-zoom-value",name:"zoom",inputMode:"decimal",defaultValue:`${r}%`,onFocus:A=>A.currentTarget.select(),onBlur:A=>{var C;return(C=A.currentTarget.form)==null?void 0:C.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:A=>y(A.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:()=>b(-1),disabled:!c,"aria-label":"Previous match",children:"↑"}),S.jsx("button",{type:"button",onClick:()=>b(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(E_,{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 F6=8,j6=300;function z6(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<=j6&&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,F6)}function H6(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 b=s.get(p.page);b||(b=n.getPage(p.page).then(E=>E.getAnnotations()),s.set(p.page,b));const _=new Set,k=(E,O)=>E>=p.x-4&&Ev;for(const E of await b){if(!E.url||!E.rect)continue;const O=Hx(E.url);if(!O)continue;const[F,U,L,q]=E.rect;k((F+L)/2,(U+q)/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 C=(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 C.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:z6(C)}})(),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 B6({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($_,{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 q6(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 U6({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 V6=/^#pdf-section-(\d+)$/,W6=2;function G6(n){const e=V6.exec(n);return e?Number(e[1]):void 0}function K6(n,e){let t=-1;return n.forEach((s,i)=>{s<=e&&(t=i)}),t}async function Z6(n,e){return typeof e=="string"?n.getDestination(e):Array.isArray(e)?e:null}async function X6(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 Y6(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 Z6(n,a.dest).catch(()=>null),h=c?await X6(n,c).catch(()=>null):null;l&&h&&t.push({index:t.length,title:l,level:r,...h}),r+1"']/g,e=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[e]??e)}function sZ(n,e,t){const s=e.trim().toLocaleLowerCase();if(!s)return Vu(n);const i=n.toLocaleLowerCase(),r=`pdf-search-highlight${t?" is-active":""}`;let o=0,a=i.indexOf(s);if(a<0)return Vu(n);let l="";for(;a>=0;)l+=Vu(n.slice(o,a)),l+=`${Vu(n.slice(a,a+s.length))}`,o=a+s.length,a=i.indexOf(s,o);return l+Vu(n.slice(o))}function iZ({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}=q6(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($6,{pageNumber:n,width:g,devicePixelRatio:tZ(g,t),renderTextLayer:v,renderAnnotationLayer:v,onGetAnnotationsSuccess:u,onRenderSuccess:y,onRenderError:y,loading:null,customTextRenderer:s?({str:b})=>sZ(b,s,n===i):void 0})},g)}),l&&h.map(g=>{var v;return S.jsx(B6,{...g},(v=g.anchor.parentElement)==null?void 0:v.dataset.annotationId)})]})}function rZ({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 oZ({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),b=X.useRef(null),_=X.useRef(null),[k,A]=X.useState(),C=fC(),E=X.useMemo(()=>BN(C),[C]),O=X.useRef(()=>{}),F=X.useRef(0),U=X.useRef(!1),L=X.useRef(),q=X.useRef(0),B=X.useRef(),N=X.useRef(0),ee=X.useRef(0),Q=X.useRef(1),te=X.useRef(1),ae=X.useRef(1),Se=X.useRef(!1),[z,P]=X.useState(0),[D,M]=X.useState(0),[w,x]=X.useState(Bx),[I,K]=X.useState([]),[Y,ue]=X.useState(-1),[oe,H]=X.useState(),V=X.useRef(()=>{}),[J,ie]=X.useState(o),[he,we]=X.useState(),[Ye,Ct]=X.useState(700),[pt,At]=X.useState(1),[rt,kn]=X.useState(""),[$t,Yn]=X.useState(!1),[In,tn]=X.useState(""),[cn,hn]=X.useState(!1),[nn,hs]=X.useState([]),[Cc,Na]=X.useState(0),W=Math.max(120,Math.round(Ye*pt)),_e=X.useMemo(()=>g==="canvas"?{withCredentials:!0}:{disableStream:!0,disableAutoFetch:!0},[g]);I6({enabled:l&&!!c,pagesRoot:b,routeId:t,paperVersion:c,numPages:D||void 0,resetKey:`${t}-${z}`,onSelect:h,onError:u}),X.useEffect(()=>{P6()},[]),X.useEffect(()=>{var de;cancelAnimationFrame(N.current),window.clearTimeout(ee.current),N.current=0,ee.current=0,q.current=0,M(0),x(Bx),K([]),ue(-1),H(void 0),A(void 0),ie(o),we(void 0),At(1),Q.current=1,te.current=1,ae.current=1,Se.current=!1,(de=b.current)==null||de.style.setProperty("--pdf-live-scale","1"),kn(""),tn(""),hs([])},[o,t,z]),X.useEffect(()=>{const de=y.current;if(!de)return;const Re=()=>{var sn;const un=Math.max(240,de.clientWidth-10);a&&(Se.current=!0);const Tt=a||Se.current;ae.current=Tt?un/Ye:1,(sn=b.current)==null||sn.style.setProperty("--pdf-live-scale",String(ae.current)),Tt||Ct(un)};Re();const nt=new ResizeObserver(Re);return nt.observe(de),()=>nt.disconnect()},[Ye,a]),X.useLayoutEffect(()=>{var Re;Q.current=pt,(Re=b.current)==null||Re.style.setProperty("--pdf-live-scale",String(Se.current?ae.current:1));const de=y.current;de&&L.current&&qx(de,L.current),L.current=void 0,U.current&&(de&&(de.scrollLeft=Math.max(0,(de.scrollWidth-de.clientWidth)/2)),U.current=!1)},[W,a,pt]);const Pe=X.useCallback(de=>{window.clearTimeout(ee.current);const Re=Nw(de(te.current));te.current=Re,U.current=Re!==Q.current,U.current&&y.current&&(L.current=iv(y.current)),At(Re)},[]);X.useEffect(()=>{const de=y.current;if(!de)return;const Re=nt=>{nt.ctrlKey&&(nt.preventDefault(),q.current+=nt.deltaY,B.current=nt.clientY,!N.current&&(N.current=requestAnimationFrame(()=>{var On;const un=q.current;q.current=0,N.current=0;const Tt=Nw(te.current*Math.exp(-un*.002));te.current=Tt;const sn=iv(de,B.current);(On=b.current)==null||On.style.setProperty("--pdf-live-scale",String(ae.current*Tt/Q.current)),sn&&qx(de,sn),window.clearTimeout(ee.current),ee.current=window.setTimeout(()=>{U.current=Tt!==Q.current,U.current&&(L.current=iv(de,B.current)),At(te.current)},180)})))};return de.addEventListener("wheel",Re,{passive:!1}),()=>{de.removeEventListener("wheel",Re),cancelAnimationFrame(N.current),window.clearTimeout(ee.current),N.current=0,ee.current=0,q.current=0}},[]);const it=X.useCallback(de=>{const Re=Math.max(1,Math.min(D||1,de));ie(Re),d==null||d(Re)},[d,D]),Ot=X.useCallback(()=>{F.current+=1,Yn(!1),tn(""),hs([]),Na(0),hn(!1)},[]);X.useEffect(()=>{const de=y.current;if(!de||!D)return;let Re=0,nt=0;const un=(On=!1)=>{window.clearTimeout(nt),cancelAnimationFrame(Re),Re=requestAnimationFrame(()=>{const _i=de.getBoundingClientRect().top,$o=_i+de.clientHeight/2;let Nr=J,La=Number.POSITIVE_INFINITY;const Lu=new Map;de.querySelectorAll("[data-page]").forEach($c=>{const Lr=$c.getBoundingClientRect();Lu.set(Number($c.dataset.page),Lr);const Dk=$o>=Lr.top&&$o<=Lr.bottom?0:Math.min(Math.abs($o-Lr.top),Math.abs($o-Lr.bottom));Dk{const Lr=Lu.get($c.page);return Lr?Lr.top+Lr.height*$c.offset:Number.POSITIVE_INFINITY});ue(K6(SN,_i+Q6))})},Tt=()=>{cancelAnimationFrame(Re),window.clearTimeout(nt),nt=window.setTimeout(()=>un(!0),150)},sn=()=>un(!0);return de.addEventListener("scroll",Tt,{passive:!0}),de.addEventListener("scrollend",sn),un(),()=>{de.removeEventListener("scroll",Tt),de.removeEventListener("scrollend",sn),window.clearTimeout(nt),cancelAnimationFrame(Re)}},[I,J,W,D,it]),X.useEffect(()=>{const de=Re=>{Re.defaultPrevented||((Re.ctrlKey||Re.metaKey)&&Re.key.toLowerCase()==="f"?(Re.preventDefault(),Yn(!0)):Re.key==="Escape"&&$t?(Re.preventDefault(),Ot()):Re.key==="Escape"&&!Re.repeat&&p&&(Re.preventDefault(),p()))};return window.addEventListener("keydown",de),()=>window.removeEventListener("keydown",de)},[Ot,p,$t]),X.useEffect(()=>{const de=_.current,Re=In.trim().toLocaleLowerCase(),nt=++F.current;if(!de||!Re){hs([]),Na(0),hn(!1);return}hn(!0);const un=window.setTimeout(()=>void(async()=>{const Tt=[];for(let sn=1;sn<=de.numPages;sn+=1){if(F.current!==nt)return;const $o=(await(await de.getPage(sn)).getTextContent()).items.map(La=>"str"in La?La.str:"").join(" ").toLocaleLowerCase();let Nr=0;for(;(Nr=$o.indexOf(Re,Nr))>=0;)Tt.push(sn),Nr+=Math.max(1,Re.length)}F.current===nt&&(hs(Tt),Na(0),hn(!1),Tt[0]&&wi(Tt[0]))})().catch(()=>{F.current===nt&&hn(!1)}),180);return()=>window.clearTimeout(un)},[In,D]);const wi=de=>{var un,Tt;const Re=Math.max(1,Math.min(D||1,de)),nt=window.matchMedia("(prefers-reduced-motion: reduce)").matches?"instant":"smooth";we(nt==="smooth"?Re:void 0),(Tt=(un=y.current)==null?void 0:un.querySelector(`[data-page="${Re}"]`))==null||Tt.scrollIntoView({block:"start",behavior:nt}),nt==="instant"&&it(Re)},Ji=(de,Re)=>{const nt=y.current,un=nt==null?void 0:nt.querySelector(`[data-page="${de.page}"]`);if(!nt||!un)return;const Tt=Re??(window.matchMedia("(prefers-reduced-motion: reduce)").matches?"instant":"smooth"),sn=un.getBoundingClientRect(),On=sn.top-nt.getBoundingClientRect().top+nt.scrollTop+sn.height*de.offset;we(Tt==="smooth"?de.page:void 0),H(Tt==="smooth"?de.index:void 0),nt.scrollTo({top:Math.max(0,On-J6),behavior:Tt}),Tt==="instant"&&it(de.page),g==="reader"&&window.history.replaceState(window.history.state,"",`#pdf-section-${de.index}`)};X.useLayoutEffect(()=>{O.current=wi,V.current=Ji});const wN=de=>{if(!nn.length)return;const Re=(Cc+de+nn.length)%nn.length;Na(Re),wi(nn[Re])},_N=X.useMemo(()=>Array.from({length:D},(de,Re)=>Re+1),[D]);return S.jsxs("div",{ref:v,className:"pdf-viewer",children:[g==="canvas"?S.jsx(rZ,{downloadUrl:e,page:he??J,pages:D,zoomPercent:Math.round(pt*100),onPage:wi,onZoomIn:()=>Pe(de=>gm(de,1)),onZoomOut:()=>Pe(de=>gm(de,-1)),onFitWidth:()=>Pe(()=>1)}):S.jsx(D6,{paperTitle:s,paperHref:i,resources:r,page:he??J,pages:D,zoomPercent:Math.round(pt*100),searchOpen:$t,searchQuery:In,searchMatch:Cc,searchCount:nn.length,searching:cn,onPage:wi,onZoom:de=>Pe(()=>de),onZoomIn:()=>Pe(de=>gm(de,1)),onZoomOut:()=>Pe(de=>gm(de,-1)),onToggleSearch:()=>$t?Ot():Yn(!0),onCloseSearch:Ot,onSearchQuery:tn,onSearch:wN}),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:rt?S.jsxs("div",{className:"pdf-error",role:"alert",children:[S.jsx("p",{children:rt}),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(y6,{file:n,options:_e,loading:S.jsx("div",{className:"pdf-loading",role:"status",children:g==="canvas"?"Loading paper preview…":"Loading paper…"}),onLoadSuccess:de=>{_.current=de,g==="reader"&&A(()=>H6(de,E.lookup)),M(de.numPages),kn("");const Re=de.getPage(1).then(On=>{const[_i,$o,Nr,La]=On.view,Lu=(La-$o)/(Nr-_i);_.current===de&&Lu>0&&x(Lu)},()=>{}),nt=Math.max(1,Math.min(de.numPages,o)),un=()=>{var On,_i;nt<=1||((_i=(On=y.current)==null?void 0:On.querySelector(`[data-page="${nt}"]`))==null||_i.scrollIntoView({block:"start"}),ie(nt),d==null||d(nt))},Tt=On=>void Re.then(()=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{_.current===de&&On()}))}),sn=g==="reader"?G6(window.location.hash):void 0;sn===void 0&&Tt(un),Y6(de).catch(()=>[]).then(On=>{if(_.current!==de||(K(On),sn===void 0))return;const _i=On[sn];Tt(()=>_i?V.current(_i,"instant"):un())})},onLoadError:de=>kn(m||nZ(de)),externalLinkTarget:"_blank",onItemClick:({pageNumber:de})=>O.current(de),children:S.jsx("div",{ref:b,className:"pdf-pages",style:{"--pdf-live-scale":ae.current},children:_N.map(de=>S.jsx(iZ,{page:de,width:W,aspect:w,searchQuery:In.trim(),activeSearchPage:nn[Cc],resolveCitation:k,warmPreviews:E.warm},de))})},`${t}-${z}`)}),S.jsx(U6,{entries:I,activeIndex:oe??Y,onSelect:Ji})]})]})}let Lw=[],OM=[];(()=>{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=OM[s])e=s+1;else return!0;if(e==t)return!1}}function Ux(n){return n>=127462&&n<=127487}const Vx=8205;function lZ(n,e,t=!0,s=!0){return(t?NM:cZ)(n,e,s)}function NM(n,e,t){if(e==n.length)return e;e&&LM(n.charCodeAt(e))&&DM(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 cZ(n,e,t){for(;e>1;){let s=NM(n,e-2,t);if(s=56320&&n<57344}function DM(n){return n>=55296&&n<56320}function Wx(n){return n<65536?1:2}let lt=class FM{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]=gu(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),kr.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]=gu(this,e,t);let s=[];return this.decompose(e,t,s,0),kr.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 Md(this),r=new Md(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 Md(this,e)}iterRange(e,t=this.length){return new jM(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 zM(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]?FM.empty:e.length<=32?new Yt(e):kr.from(Yt.split(e,[]))}};class Yt extends lt{constructor(e,t=hZ(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 uZ(i,a,s,o);i=a+1,s++}}decompose(e,t,s,i){let r=e<=0&&t>=this.length?this:new Yt(Gx(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(i&1){let o=s.pop(),a=Ag(r.text,o.text.slice(),0,r.length);if(a.length<=32)s.push(new Yt(a,o.length+r.length));else{let l=a.length>>1;s.push(new Yt(a.slice(0,l)),new Yt(a.slice(l)))}}else s.push(r)}replace(e,t,s){if(!(s instanceof Yt))return super.replace(e,t,s);[e,t]=gu(this,e,t);let i=Ag(this.text,Ag(s.text,Gx(this.text,0,e)),t),r=this.length+s.length-(t-e);return i.length<=32?new Yt(i,r):kr.from(Yt.split(i,[]),r)}sliceString(e,t=this.length,s=` +`){[e,t]=gu(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 Yt(s,i)),s=[],i=-1);return i>-1&&t.push(new Yt(s,i)),t}}class kr extends lt{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]=gu(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 kr(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]=gu(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 kr))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 Yt(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 kr)for(let g of p.children)u(g);else p.lines>o&&(l>o||!l)?(d(),a.push(p)):p instanceof Yt&&l&&(m=h[h.length-1])instanceof Yt&&p.lines+m.lines<=32?(l+=p.lines,c+=p.length+1,h[h.length-1]=new Yt(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]:kr.from(h,c)),c=-1,l=h.length=0)}for(let p of e)u(p);return d(),a.length==1?a[0]:new kr(a,t)}}lt.empty=new Yt([""],0);function hZ(n){let e=-1;for(let t of n)e+=t.length+1;return e}function Ag(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 Yt?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 Yt?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 Yt){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 Yt?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 jM{constructor(e,t,s){this.value="",this.done=!1,this.cursor=new Md(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 zM{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"&&(lt.prototype[Symbol.iterator]=function(){return this.iter()},Md.prototype[Symbol.iterator]=jM.prototype[Symbol.iterator]=zM.prototype[Symbol.iterator]=function(){return this});class uZ{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 gu(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function Rn(n,e,t=!0,s=!0){return lZ(n,e,t,s)}function dZ(n){return n>=56320&&n<57344}function fZ(n){return n>=55296&&n<56320}function HM(n,e){let t=n.charCodeAt(e);if(!fZ(t)||e+1==n.length)return t;let s=n.charCodeAt(e+1);return dZ(s)?(t-55296<<10)+(s-56320)+65536:t}function pZ(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function BM(n){return n<65536?1:2}const Dw=/\r\n?|\n/;var Xs=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(Xs||(Xs={}));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!=Xs.Simple&&c>=e&&(s==Xs.TrackDel&&ie||s==Xs.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 vn 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 Fw(this,(t,s,i,r,o)=>e=e.replace(i,i+(s-t),o),!1),e}mapDesc(e,t=!1){return jw(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&&ya(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"?lt.of(p.split(s||Dw)):p:lt.empty,g=m.length;if(u==d&&g==0)return;uo&&os(i,u-o,-1),os(i,d-u,g),ya(r,i,m),o=d}}return c(e),l(!a),a}static empty(e){return new vn(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 ya(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 jw(n,e,t,s=!1){let i=[],r=s?[]:null,o=new Wd(n),a=new Wd(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);os(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 Wd{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?lt.empty:e[t]}textBit(e){let{inserted:t}=this.set,s=this.i-2>>1;return s>=t.length&&!e?lt.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 UM(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let ik=0;class Ae{constructor(e,t,s,i,r){this.combine=e,this.compareInput=t,this.compare=s,this.isStatic=i,this.id=ik++,this.default=e([]),this.extensions=typeof r=="function"?r(this):r}get reader(){return this}static define(e={}){return new Ae(e.combine||(t=>t),e.compareInput||((t,s)=>t===s),e.compare||(e.combine?(t,s)=>t===s:rk),!!e.static,e.enables)}of(e){return new xg([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new xg(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new xg(e,this,2,t)}from(e,t){return t||(t=s=>s),this.compute([e],s=>t(s.field(e)))}}function rk(n,e){return n==e||n.length==e.length&&n.every((t,s)=>t===e[s])}class xg{constructor(e,t,s,i){this.dependencies=e,this.facet=t,this.type=s,this.value=i,this.id=ik++}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)||zw(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=ny(d,m);if(this.dependencies.every(v=>v instanceof Ae?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(ym).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(ym),o=i.facet(ym),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,ym.of({field:this,create:e})]}get extension(){return this}}const nl={lowest:4,low:3,default:2,high:1,highest:0};function Wu(n){return e=>new VM(e,n)}const b0={highest:Wu(nl.highest),high:Wu(nl.high),default:Wu(nl.default),low:Wu(nl.low),lowest:Wu(nl.lowest)};class VM{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}}class zp{of(e){return new Hw(this,e)}reconfigure(e){return zp.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class Hw{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}}class ty{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 gZ(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,rk(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=>mZ(v,m,p))}}let u=c.map(d=>d(a));return new ty(e,o,u,a,l,r)}}function gZ(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 Hw&&t.delete(o.compartment)}if(i.set(o,a),Array.isArray(o))for(let c of o)r(c,a);else if(o instanceof Hw){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 VM)r(o.inner,o.prec);else if(o instanceof Or)s[a].push(o),o.provides&&r(o.provides,a);else if(o instanceof xg)s[a].push(o),o.facet.extensions&&r(o.facet.extensions,nl.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,nl.default),s.reduce((o,a)=>o.concat(a))}function Id(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 ny(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const WM=Ae.define(),Bw=Ae.define({combine:n=>n.some(e=>e),static:!0}),GM=Ae.define({combine:n=>n.length?n[0]:void 0,static:!0}),KM=Ae.define(),ZM=Ae.define(),XM=Ae.define(),YM=Ae.define({combine:n=>n.length?n[0]:!1});class Ia{constructor(e,t){this.type=e,this.value=t}static define(){return new yZ}}class yZ{of(e){return new Ia(this,e)}}class vZ{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 vZ(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 _n{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&&UM(s,t.newLength),r.some(a=>a.type==_n.time)||(this.annotations=r.concat(_n.time.of(Date.now())))}static create(e,t,s,i,r,o){return new _n(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(_n.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}_n.time=Ia.define();_n.userEvent=Ia.define();_n.addToHistory=Ia.define();_n.remote=Ia.define();function bZ(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 _n?n=r:Array.isArray(r)&&r.length==1&&r[0]instanceof _n?n=r[0]:n=QM(e,ah(r),!1)}return n}function _Z(n){let e=n.startState,t=e.facet(XM),s=n;for(let i=t.length-1;i>=0;i--){let r=t[i](n);r&&Object.keys(r).length&&(s=JM(s,qw(e,r,n.changes.newLength),!0))}return s==n?n:_n.create(e,n.changes,n.selection,s.effects,s.annotations,s.scrollIntoView)}const SZ=[];function ah(n){return n==null?SZ:Array.isArray(n)?n:[n]}var Qt=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(Qt||(Qt={}));const kZ=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Uw;try{Uw=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function AZ(n){if(Uw)return Uw.test(n);for(let e=0;e"€"&&(t.toUpperCase()!=t.toLowerCase()||kZ.test(t)))return!0}return!1}function xZ(n){return e=>{if(!/\S/.test(e))return Qt.Space;if(AZ(e))return Qt.Word;for(let t=0;t-1)return Qt.Word;return Qt.Other}}class at{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=ah(s).concat(a.value));let r;t?r=e.startState.values.slice():(t=ty.resolve(s,i,this),r=new at(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Bw)?e.newSelection:e.newSelection.asSingle();new at(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=ah(s.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return at.create({doc:e.doc,selection:re.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(e={}){let t=ty.resolve(e.extensions||[],new Map),s=e.doc instanceof lt?e.doc:lt.of((e.doc||"").split(t.staticFacet(at.lineSeparator)||Dw)),i=e.selection?e.selection instanceof re?e.selection:re.single(e.selection.anchor,e.selection.head):re.single(0);return UM(i,s.length),t.staticFacet(Bw)||(i=i.asSingle()),new at(t,s,i,t.dynamicSlots.map(()=>null),(r,o)=>o.create(r),null)}get tabSize(){return this.facet(at.tabSize)}get lineBreak(){return this.facet(at.lineSeparator)||` +`}get readOnly(){return this.facet(YM)}phrase(e,...t){for(let s of this.facet(at.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(WM))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 xZ(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=Rn(t,o,!1);if(r(t.slice(l,o))!=Qt.Word)break;o=l}for(;an.length?n[0]:4});at.lineSeparator=GM;at.readOnly=YM;at.phrases=Ae.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])}});at.languageData=WM;at.changeFilter=KM;at.transactionFilter=ZM;at.transactionExtender=XM;zp.reconfigure=_t.define();function Iu(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 mc{eq(e){return this==e}range(e,t=e){return Vw.create(e,t,this)}}mc.prototype.startSide=mc.prototype.endSide=0;mc.prototype.point=!1;mc.prototype.mapMode=Xs.TrackDel;function ok(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}let Vw=class eI{constructor(e,t,s){this.from=e,this.to=t,this.value=s}static create(e,t,s){return new eI(e,t,s)}};function Ww(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class ak{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 ak(i,r,s,a):null,pos:o}}}class st{constructor(e,t,s,i){this.chunkPos=e,this.chunk=t,this.nextLayer=s,this.maxPoint=i}static create(e,t,s,i){return new st(e,t,s,i)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:s=!1,filterFrom:i=0,filterTo:r=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(s&&(t=t.slice().sort(Ww)),this.isEmpty)return t.length?st.of(t):this;let a=new tI(this,null,-1).goto(0),l=0,c=[],h=new Gd;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 Kd.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Kd.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 Gu(o,l,r),h=new Gu(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 Gu(r,a,0).goto(s),c=new Gu(o,a,0).goto(s);for(;;){if(l.to!=c.to||!Gw(l.active,c.active)||l.point&&(!c.point||!ok(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 Gu(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 Gd;for(let i of e instanceof Vw?[e]:t?EZ(e):e)s.add(i.from,i.to,i.value);return s.finish()}static join(e){if(!e.length)return st.empty;let t=e[e.length-1];for(let s=e.length-2;s>=0;s--)for(let i=e[s];i!=st.empty;i=i.nextLayer)t=new st(i.chunkPos,i.chunk,t,Math.max(i.maxPoint,t.maxPoint));return t}}st.empty=new st([],[],null,-1);function EZ(n){if(n.length>1)for(let e=n[0],t=1;t0)return n.slice().sort(Ww);e=s}return n}st.empty.nextLayer=st.empty;class Gd{finishChunk(e){this.chunks.push(new ak(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 Gd)).add(e,t,s)}addInner(e,t,s){let i=e-this.lastTo||s.startSide-this.last.endSide;if(i<=0&&(e-this.lastFrom||s.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return i<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=s,this.lastFrom=e,this.lastTo=t,this.value.push(s),s.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let s=t.value.length-1;return this.last=t.value[s],this.lastFrom=t.from[s]+e,this.lastTo=t.to[s]+e,!0}finish(){return this.finishInner(st.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=st.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function 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 tI(o,t,s,r));return i.length==1?i[0]:new Kd(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 Gu{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=Kd.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){vm(this.active,e),vm(this.activeTo,e),vm(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++;bm(this.active,t,s),bm(this.activeTo,t,i),bm(this.activeRank,t,r),e&&bm(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&&vm(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&&ok(n.point,t.point)&&Gw(n.activeForPoint(n.to),t.activeForPoint(t.to))||r.comparePoint(a,m,n.point,t.point),h=!1):(h&&r.boundChange(a),m>a&&!Gw(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 Gw(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=Rn(n,i)}return n.length}const Kw="ͼ",Jx=typeof Symbol>"u"?"__"+Kw:Symbol.for(Kw),Zw=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Qx=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class yu{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,Kw+e.toString(36)}static mount(e,t,s){let i=e[Zw],r=s&&s.nonce;i?r&&i.setNonce(r):i=new $Z(e,r),i.mount(Array.isArray(t)?t:[t],e)}}let eE=new Map;class $Z{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[Zw]=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[Zw]=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:'"'},TZ=typeof navigator<"u"&&/Mac/.test(navigator.platform),PZ=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Vn=0;Vn<10;Vn++)xa[48+Vn]=xa[96+Vn]=String(Vn);for(var Vn=1;Vn<=24;Vn++)xa[Vn+111]="F"+Vn;for(var Vn=65;Vn<=90;Vn++)xa[Vn]=String.fromCharCode(Vn+32),Zd[Vn]=String.fromCharCode(Vn);for(var av in xa)Zd.hasOwnProperty(av)||(Zd[av]=xa[av]);function RZ(n){var e=TZ&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||PZ&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?Zd:xa)[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 Pn(){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 ge={mac:sE||/Mac/.test(ms.platform),windows:/Win/.test(ms.platform),linux:/Linux|X11/.test(ms.platform),ie:_0,ie_version:sI?Xw.documentMode||6:Jw?+Jw[1]:Yw?+Yw[1]:0,gecko:tE,gecko_version:tE?+(/Firefox\/(\d+)/.exec(ms.userAgent)||[0,0])[1]:0,chrome:!!lv,chrome_version:lv?+lv[1]:0,ios:sE,android:/Android\b/.test(ms.userAgent),webkit:nE,webkit_version:nE?+(/\bAppleWebKit\/(\d+)/.exec(ms.userAgent)||[0,0])[1]:0,safari:Qw,safari_version:Qw?+(/\bVersion\/(\d+(\.\d+)?)/.exec(ms.userAgent)||[0,0])[1]:0,tabSize:Xw.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function lk(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 sy=Object.create(null);function ck(n,e,t){if(n==e)return!0;n||(n=sy),e||(e=sy);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 MZ(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 IZ(n){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new gc(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}=iI(e,t);s=(r?t?-3e8:-1:5e8)-1,i=(o?t?2e8:1:-6e8)+1}return new gc(e,s,i,t,e.widget||null,!0)}static line(e){return new Bp(e)}static set(e,t=!1){return st.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}Je.none=st.empty;class Hp extends Je{constructor(e){let{start:t,end:s}=iI(e);super(t?-1:5e8,s?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?lk(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||sy}eq(e){return this==e||e instanceof Hp&&this.tagName==e.tagName&&ck(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)}}Hp.prototype.point=!1;class Bp extends Je{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Bp&&this.spec.class==e.spec.class&&ck(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)}}Bp.prototype.mapMode=Xs.TrackBefore;Bp.prototype.point=!0;class gc extends Je{constructor(e,t,s,i,r,o){super(t,s,r,e),this.block=i,this.isReplace=o,this.mapMode=i?t<=0?Xs.TrackBefore:Xs.TrackAfter:Xs.TrackDel}get type(){return this.startSide!=this.endSide?Gn.WidgetRange:this.startSide<=0?Gn.WidgetBefore:Gn.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof gc&&OZ(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)}}gc.prototype.point=!0;function iI(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 OZ(n,e){return n==e||!!(n&&e&&n.compare(e))}function lh(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 Xd extends mc{constructor(e,t,s){super(),this.tagName=e,this.attributes=t,this.rank=s}eq(e){return e==this||e instanceof Xd&&this.tagName==e.tagName&&ck(this.attributes,e.attributes)}static create(e){return new Xd(e.tagName,e.attributes||sy,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return st.of(e,t)}}Xd.prototype.startSide=Xd.prototype.endSide=-1;function Yd(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function e_(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function Od(n,e){if(!e.anchorNode)return!1;try{return e_(n,e.anchorNode)}catch{return!1}}function Eg(n){return n.nodeType==3?Jd(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function Nd(n,e,t,s){return t?rE(n,e,t,s,-1)||rE(n,e,t,s,1):!1}function Ea(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function iy(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:xo(n))){if(n.nodeName=="DIV")return!1;let r=n.parentNode;if(!r||r.nodeType!=1)return!1;e=Ea(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?xo(n):0}else return!1}}function xo(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function ry(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 NZ(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 rI(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 LZ(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=NZ(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 b=h.getBoundingClientRect();({scaleX:m,scaleY:g}=rI(h,b)),d={left:b.left,right:b.left+h.clientWidth*m,top:b.top,bottom:b.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 oI(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 DZ{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?xo(t):0),s,Math.min(e.focusOffset,s?xo(s):0))}set(e,t,s,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=s,this.focusOffset=i}}function aI(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 lI(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 Xa=null;ge.safari&&ge.safari_version>=26&&(Xa=!1);function cI(n){if(n.setActive)return n.setActive();if(Xa)return n.focus(Xa);let e=aI(n);n.focus(Xa==null?{get preventScroll(){return Xa={preventScroll:!0},!0}}:void 0),Xa||(Xa=!1,lI(e))}let oE;function Jd(n,e,t=e){let s=oE||(oE=document.createRange());return s.setEnd(n,t),s.setStart(n,e),s}function ch(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 FZ(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function jZ(n,e){let t=e.focusNode,s=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=s)return!1;for(s=Math.min(s,xo(t));;)if(s){if(t.nodeType!=1)return!1;let i=t.childNodes[s-1];i.contentEditable=="false"?s--:(t=i,s=xo(t))}else{if(t==n)return!0;s=Ea(t),t=t.parentNode}}function hI(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 uI(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=xo(t)}else if(t.parentNode&&!iy(t))s=Ea(t),t=t.parentNode;else return null}}function dI(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 mI(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 VZ(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 n_(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==yc!=!(p%2);s_(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?n_(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==yc?0:1;return s_(n,i,i,t,0,n.length,s),s}function gI(n){return[new Er(0,n,0)]}let yI="";function GZ(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=Rn(n.text,o,l.forward(i,t));(hl.to)&&(h=c),yI=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)}),xI=Ae.define({combine:n=>n.some(e=>e)}),EI=Ae.define();class hh{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 hh(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 hh(re.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const wm=_t.define({map:(n,e)=>n.map(e)}),CI=_t.define();function Cr(n,e,t){let s=n.facet(_I);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=Ae.define({combine:n=>n.length?n[0]:!0});let ZZ=0;const Xc=Ae.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):Je.none})),r&&l.push(r(a)),l})}static fromClass(e,t){return Js.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 $I=Ae.define(),fk=Ae.define(),k0=Ae.define(),TI=Ae.define(),pk=Ae.define(),qp=Ae.define(),PI=Ae.define();function aE(n,e){let t=n.state.facet(PI);if(!t.length)return t;let s=t.map(r=>r instanceof Function?r(n):r),i=[];return st.spans(s,e.from,e.to,{point(){},span(r,o,a,l){let c=r-e.from,h=o-e.from,u=i;for(let d=a.length-1;d>=0;d--,l--){let p=a[d].spec.bidiIsolate,m;if(p==null&&(p=KZ(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 RI=Ae.define();function MI(n){let e=0,t=0,s=0,i=0;for(let r of n.state.facet(RI)){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 yd=Ae.define();class di{constructor(e,t,s,i){this.fromA=e,this.toA=t,this.fromB=s,this.toB=i}join(e){return new di(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 di(r,o,a,l))),this.changedRanges=i}static create(e,t,s){return new oy(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 XZ=[];class Gt{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 XZ}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&&MZ(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=Ea(this.dom),i=this.length?e>0:t>0;return new Vi(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 x0)return e;return null}static get(e){return e.cmTile}}class A0 extends Gt{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 x0 extends A0{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=Gt.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 So)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 So extends A0{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 So(t||document.createElement(e.tagName),e);return t||(s.flags|=4),s}}class vu extends A0{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,s){let i=new vu(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&&JZ(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):YZ(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 Vi(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 Vi(l.dom,0);l==s.tile&&(a=!0)}}return new Vi(this.dom,0)}}function YZ(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=Eg(e);return t[t.length-1]||null}function JZ(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?ge.chrome||ge.gecko||(e?(r--,a=1):o=0)?0:l.length-1];return ge.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),s==null?c:ry(c,(a?a>0:t<0)==s)}static of(e,t){let s=new ol(t||document.createTextNode(e),e);return t||(s.flags|=2),s}}class vc extends Gt{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 ry(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 QZ{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 Ms&&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=Gt.get(l.dom);u&&u.setDOM(hv(l.dom))}let h=Ms.of(l.mark,l.dom);i.append(h),i=h}this.cache.reused.set(l,2)}let r=Gt.get(e.text);r&&this.cache.reused.set(r,2);let o=new ol(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=II);let i=vu.start(e,t||((s=this.cache.find(vu))===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 Ms&&a.mark.eq(o))i=a,t--;else{let l=Ms.of(o,(s=this.cache.find(Ms,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()&&!(ge.ios&&cE(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(uv,0,32)||new vc(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 eX(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(ay,void 0,1);return s&&(s.flags=t),s||new ay(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class nX{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 ly=[vc,vu,ol,Ms,ay,So,x0];for(let n=0;n[]),this.index=ly.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 Ms&&i.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?i.length&&(i.length=r=0):o instanceof Ms&&(i.shift(),r=Math.min(r,i.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let s=null,i=this.builder,r=-1,o=st.spans(this.decorations,e,t,{point:(a,l,c,h,u,d)=>{if(c instanceof gc){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?bu.block:bu.inline),m=rX(c),g=this.cache.findWidget(p,l-a,m)||vc.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=oX(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=Gt.get(i);if(i==this.view.contentDOM)break;r instanceof Ms?t.push(r):r!=null&&r.isLine()?s=r:r instanceof So||(i.nodeName=="DIV"&&!s&&i!=this.view.contentDOM?s=new vu(i,II):s||t.push(Ms.of(new Hp({tagName:i.nodeName.toLowerCase(),attributes:IZ(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 rX(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 II={class:"cm-line"};function oX(n,e){let t=e.spec.attributes,s=e.spec.class;return!t&&!s||(n||(n={class:"cm-line"}),t&&lk(t,n),s&&(n.class+=" "+s)),n}function aX(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 Ms&&e.push(s.mark)}return e}function hv(n){let e=Gt.get(n);return e&&e.setDOM(n.cloneNode()),n}class bu extends S0{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}}bu.inline=new bu("span");bu.block=new bu("div");const uv=new class extends S0{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=Je.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 x0(e,e.contentDOM),this.updateInner([new di(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:!gX(e.changes,this.hasComposition)&&!e.selectionSet&&(i=e.state.selection.main.head));let r=i>-1?cX(this.view,e.changes,i):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:u}=this.hasComposition;s=new di(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,(ge.ie||ge.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=dX(o,this.decorations,e.changes);l.length&&(s=di.extendWithRanges(s,l));let c=pX(a,this.blockWrappers,e.changes);return c.length&&(s=di.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 iX(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&Gt.get(t.text)&&a.cache.reused.set(Gt.get(t.text),2),this.tile=a.run(e,t),r_(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=ge.chrome||ge.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)&&Od(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)),ge.gecko&&l.empty&&!this.hasComposition&&lX(c)){let d=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(d,c.node.childNodes[c.offset]||null)),c=h=new Vi(d,0),a=!0}let u=this.view.observer.selectionRange;(a||!u.focusNode||(!Nd(c.node,c.offset,u.anchorNode,u.anchorOffset)||!Nd(h.node,h.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,l))&&(this.view.observer.ignore(()=>{ge.android&&ge.chrome&&s.contains(u.focusNode)&&mX(u.focusNode,s)&&(s.blur(),s.focus({preventScroll:!0}));let d=Yd(this.view.root);if(d)if(l.empty){if(ge.gecko){let p=hX(c.node,c.offset);if(p&&p!=3){let m=(p==1?uI:dI)(c.node,c.offset);m&&(c=new Vi(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 Vi(u.anchorNode,u.anchorOffset),this.impreciseHead=h.precise?null:new Vi(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Nd(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=Yd(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=xo(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&&!Gt.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==Lt.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:b}=y;if(p&&!m&&(c+=y.top-p.top),g instanceof So)v>s&&h(g,d,y);else if(d>=s&&(c>0&&t.push(-c),t.push(b+c),c=0,o)){let _=g.dom.lastChild,k=_?Eg(_):[];if(k.length){let A=k[k.length-1],C=l?A.right-y.left:y.right-A.left;C>a&&(a=C,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"?Lt.RTL:Lt.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=Eg(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=Eg(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(Je.replace({widget:new dv(a),block:!0,inclusive:!0,isBlockGap:!0}).range(s,o))}if(!r)break;s=r.to+1}return Je.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(pk).map((r,o)=>{let a=typeof r=="function";return a&&(s=!0),a?r(this.view):r});for(i.length&&(this.dynamicDecorationMap[e++]=s,t.push(st.join(i))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof r=="function"?r(this.view):r)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(EI))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=MI(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(LZ(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(){r_(this.tile)}}function r_(n,e){let t=e==null?void 0:e.get(n);if(t!=1){t==null&&n.destroy();for(let s of n.children)r_(s,e)}}function lX(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 OI(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let s=uI(t.focusNode,t.focusOffset),i=dI(t.focusNode,t.focusOffset),r=s||i;if(i&&s&&i.node!=s.node){let a=Gt.get(i.node);if(!a||a.isText()&&a.text!=i.node.nodeValue)r=i;else if(n.docView.lastCompositionAfterCursor){let l=Gt.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 cX(n,e,t){let s=OI(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 di(l.mapPos(r),l.mapPos(o),r,o),text:i}}function hX(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 S0{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 yX(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=Rn(i.text,r,!1):a=Rn(i.text,r);let l=s(i.text.slice(o,a));for(;o>0;){let c=Rn(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+CZ(o,r,n.state.tabSize)}function o_(n,e,t){let s=n.lineBlockAt(e);if(Array.isArray(s.type)){let i;for(let r of s.type){if(r.from>e)break;if(!(r.toe)return r;(!i||r.type==Gn.Text&&(i.type!=r.type||(t<0?r.frome)))&&(i=r)}}return i||s}return s}function bX(n,e,t,s){let i=o_(n,e.head,e.assoc||-1),r=!s||i.type!=Gn.Text||!(n.lineWrapping||i.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>i.from?e.head-1:e.head);if(r){let o=n.dom.getBoundingClientRect(),a=n.textDirectionAt(i.from),l=n.posAtCoords({x:t==(a==Lt.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=GZ(i,r,o,a,t),h=yI;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 wX(n,e,t){let s=n.state.charCategorizer(e),i=s(t);return r=>{let o=s(r);return i==Qt.Space&&(i=o),i==o}}function _X(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=a_(n,{x:u,y:g},!1,r);if(t?g>l.bottom:ga:b{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 Ar(n.state.doc.length,-1);if(c=n.elementAtHeight(l),s==null)break;if(c.type==Gn.Text){if(s<0?c.ton.viewport.to)break;let d=n.docView.coordsAt(s<0?c.from:c.to,s>0?-1:1);if(d&&(s<0?d.top<=l+r:d.bottom>=l+r))break}let u=n.viewState.heightOracle.textHeight/2;l=s>0?c.bottom+u:c.top-u}if(n.viewport.from>=c.to||n.viewport.to<=c.from){if(t)return null;if(c.type==Gn.Text){let u=vX(n,i,c,o,a);return new Ar(u,u==c.from?1:-1)}}if(c.type!=Gn.Text)return l<(c.top+c.bottom)/2?new Ar(c.from,1):new Ar(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 SX(n,o,a,n.textDirectionAt(c.from)).scanTile(h,c.from)}class SX{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 b=1;b=r&&(_-=m),!o.has(_)){g=_;break t}}break e}o.add(g);let v=t(g),y=0;if(v)for(let b=0;b1))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)==Lt.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 Jd(e.dom,o,a).getClientRects()});return i.after?new Ar(s[i.i+1],-1):new Ar(s[i.i],1)}scanTile(e,t){if(!e.length)return new Ar(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:Jd(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 Ar(s[i.i+1],-1):new Ar(o,1)}}const Uc="￿";class kX{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(at.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Uc}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=Gt.get(i),a=i.nextSibling;if(a==t){o!=null&&o.breakAfter&&!a&&s!=this.view.contentDOM&&this.lineBreak();break}let l=Gt.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:iy(i))||iy(a)&&(i.nodeName!="BR"||o!=null&&o.isWidget())&&this.text.length>r)&&!xX(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=Gt.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+(AX(e,s.node,s.offset)?t:0))}}function AX(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=LI(e.docView.tile,t,s,0))){let l=r||o?[]:$X(e),c=new kX(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=TX(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=r&&r.node==l.focusNode&&r.offset==l.focusOffset||!e_(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!e_(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),u=e.viewport;if((ge.ios||ge.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 LI(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 LI(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 DI(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||ge.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:lt.of(e.text.slice(r.from-a,d).split(Uc))}:(p=FI(u,e.text,c-a,h))&&(ge.chrome&&o==13&&p.toB==p.from+2&&e.text.slice(p.from,p.toB)==Uc+Uc&&p.toB--,t={from:a+p.from,to:a+p.toA,insert:lt.of(e.text.slice(p.from,p.toB).split(Uc))})}else s&&(!n.hasFocus&&i.facet(go)||cy(s,r))&&(s=null);if(!t&&!s)return!1;if((ge.mac||ge.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:lt.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)}:ge.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:lt.of([" "])}),t)return mk(n,t,s,o);if(s&&!cy(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=NI(i.facet(qp).map(c=>c(n)),s))),n.dispatch({selection:s,scrollIntoView:a,userEvent:l}),!0}else return!1}function mk(n,e,t,s=-1){if(ge.ios&&n.inputState.flushIOSKey(e))return!0;let i=n.state.selection.main;if(ge.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&&ch(n.contentDOM,"Enter",13)||(e.from==i.from-1&&e.to==i.to&&e.insert.length==0||s==8&&e.insert.lengthi.head)&&ch(n.contentDOM,"Backspace",8)||e.from==i.from&&e.to==i.to+1&&e.insert.length==0&&ch(n.contentDOM,"Delete",46)))return!0;let r=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,a=()=>o||(o=CX(n,e,t));return n.state.facet(SI).some(l=>l(n,e.from,e.to,r,a))||n.dispatch(a()),!0}function CX(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&&OI(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}),b=m.to-r.to;return{changes:y,range:c?re.range(Math.max(0,c.anchor+b),Math.max(0,c.head+b)):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 FI(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 $X(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 TX(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 cy(n,e){return e.head==n.main.head&&e.anchor==n.main.anchor}class PX{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,ge.safari&&e.contentDOM.addEventListener("input",()=>null),ge.gecko&&WX(e.contentDOM.ownerDocument)}handleEvent(e){!jX(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=MX(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&&zI.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),ge.android&&ge.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(ge.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(jI.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||IX.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&ge.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&RX(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:ge.safari&&!ge.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 RX(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 MX(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 Ki)t(s).handlers.push(Ki[s]);for(let s in _s)t(s).observers.push(_s[s]);return e}const jI=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],IX="dthko",zI=[16,17,18,20,91,92,224,225],_m=6;function Sm(n){return Math.max(0,n)*.7+8}function OX(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class NX{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=oI(e.contentDOM),this.atoms=e.state.facet(qp).map(o=>o(e));let r=e.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(at.allowMultipleSelections)&&LX(e,t),this.dragging=FX(e,t)&&qI(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&&OX(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=MI(this.view);e.clientX-l.left<=i+_m?t=-Sm(i-e.clientX):e.clientX+l.right>=o-_m&&(t=Sm(e.clientX-o)),e.clientY-l.top<=r+_m?s=-Sm(r-e.clientY):e.clientY+l.bottom>=a-_m&&(s=Sm(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=NI(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 LX(n,e){let t=n.state.facet(vI);return t.length?t[0](e):ge.mac?e.metaKey:e.ctrlKey}function DX(n,e){let t=n.state.facet(bI);return t.length?t[0](e):ge.mac?!e.altKey:!e.ctrlKey}function FX(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let s=Yd(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 jX(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=Gt.get(t))&&s.isWidget()&&!s.isHidden&&s.widget.ignoreEvent(e))return!1;return!0}const Ki=Object.create(null),_s=Object.create(null),HI=ge.ie&&ge.ie_version<15||ge.ios&&ge.webkit_version<604;function zX(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(),BI(n,t.value)},50)}function E0(n,e,t){for(let s of n.facet(e))t=s(t,n);return t}function BI(n,e){e=E0(n.state,uk,e);let{state:t}=n,s,i=1,r=t.toText(e),o=r.lines==t.selection.ranges.length;if(l_!=null&&t.selection.ranges.every(l=>l.empty)&&l_==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})}_s.scroll=n=>{let e=n.inputState;e.lastScrollTop=n.scrollDOM.scrollTop,e.lastScrollLeft=n.scrollDOM.scrollLeft,ge.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};_s.wheel=_s.mousewheel=n=>{n.inputState.lastWheelEvent=Date.now()};Ki.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);_s.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")};_s.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};_s.touchend=(n,e)=>{n.inputState.touchActive=!1};Ki.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(wI))if(t=s(n,e),t)break;if(!t&&e.button==0&&(t=BX(n,e)),t){let s=!n.hasFocus;n.inputState.startMouseSelection(new NX(n,e,t,s)),s&&n.observer.ignore(()=>{cI(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 yX(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 BX(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),s=qI(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=qX(i,l.pos))?c:a?i.addRange(h):re.create([h])}}}function qX(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}Ki.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",E0(n.state,dk,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Ki.dragend=n=>(n.inputState.draggedContent=null,!1);function vE(n,e,t,s){if(t=E0(n.state,uk,t),!t)return;let i=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:r}=n.inputState,o=s&&r&&DX(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}Ki.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};Ki.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=HI?null:e.clipboardData;return t?(BI(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(zX(n),!1)};function UX(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 VX(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:E0(n,dk,e.join(n.lineBreak)),ranges:t,linewise:s}}let l_=null;Ki.copy=Ki.cut=(n,e)=>{if(!Od(n.contentDOM,n.observer.selectionRange))return!1;let{text:t,ranges:s,linewise:i}=VX(n.state);if(!t&&!i)return!1;l_=i?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:s,scrollIntoView:!0,userEvent:"delete.cut"});let r=HI?null:e.clipboardData;return r?(r.clearData(),r.setData("text/plain",t),!0):(UX(n,t),!1)};const UI=Ia.define();function VI(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:UI.of(!0)}):null}function WI(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=VI(n.state,e);t?n.dispatch(t):n.update([])}},10)}_s.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),WI(n)};_s.blur=n=>{n.observer.clearSelectionRange(),WI(n)};_s.compositionstart=_s.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};_s.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,ge.chrome&&ge.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};_s.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};Ki.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 mk(n,{from:l,to:c,insert:n.state.toText(r)},null),!0}}let i;if(ge.chrome&&ge.android&&(i=jI.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 ge.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),ge.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>_s.compositionend(n,e),20),!1};const bE=new Set;function WX(n){bE.has(n)||(bE.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const wE=["pre-wrap","normal","pre-line","break-spaces"];let wu=!1;function _E(){wu=!1}class GX{constructor(e){this.lineWrapping=e,this.doc=lt.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)>Cg&&(wu=!0),this.height=e)}replace(e,t,s){return vs.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 Ks extends GI{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 Ui(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 Ks||i instanceof Hn&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof Hn?i=new Ks(i.length,this.height,this.spaceAbove):i.height=this.height,this.outdated||(i.outdated=!1),i):vs.of(s)}updateHeight(e,t=0,s=!1,i){return i&&i.from<=t&&i.more?this.setMeasuredHeight(i):(s||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class Hn extends vs{constructor(e){super(e,0)}heightMetrics(e,t){let s=e.doc.lineAt(t).number,i=e.doc.lineAt(t+this.length).number,r=i-s+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*r);o=l/r,this.length>r+1&&(a=(this.height-l)/(this.length-r-1))}else o=this.height/r;return{firstLine:s,lastLine:i,perLine:o,perChar:a}}blockAt(e,t,s,i){let{firstLine:r,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,i);if(t.lineWrapping){let c=i+(e0){let r=s[s.length-1];r instanceof Hn?s[s.length-1]=new Hn(r.length+i):s.push(null,new Hn(i-1))}if(e>0){let r=s[0];r instanceof Hn?s[0]=new Hn(e+r.length):s.unshift(new Hn(e-1),null)}return vs.of(s)}decomposeLeft(e,t){t.push(new Hn(e-1),null)}decomposeRight(e,t){t.push(null,new Hn(this.length-e-1))}updateHeight(e,t=0,s=!1,i){let r=t+this.length;if(i&&i.from<=t+this.length&&i.more){let o=[],a=Math.max(t,i.from),l=-1;for(i.from>t&&o.push(new Hn(i.from-t-1).updateHeight(e,t));a<=r&&i.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let u=i.heights[i.index++],d=0;u<0&&(d=-u,u=i.heights[i.index++]),l==-1?l=u:Math.abs(u-l)>=Cg&&(l=-2);let p=new Ks(h,u,d);p.outdated=!1,o.push(p),a+=h+1}a<=r&&o.push(null,new Hn(r-a).updateHeight(e,a));let c=vs.of(o);return(l<0||Math.abs(c.height-this.height)>=Cg||Math.abs(l-this.heightMetrics(e,t).perLine)>=Cg)&&(wu=!0),hy(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 XX extends vs{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?vs.of(this.break?[e,null,t]:[e,t]):(this.left=hy(this.left,e),this.right=hy(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 Hn&&(s=n[e+1])instanceof Hn&&n.splice(e-1,3,new Hn(t.length+1+s.length))}const YX=5;class gk{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 Ks?i.length+=s-this.pos:(s>this.pos||!this.isCovered)&&this.nodes.push(new Ks(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=YX)&&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 Ks(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let s=new Hn(t-e);return this.oracle.doc.lineAt(e).to==t&&(s.flags|=4),s}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Ks)return e;let t=new Ks(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 Ks)&&!this.isCovered?this.nodes.push(new Ks(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 tY(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left0&&e.top0}function nY(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 GX(s),this.stateDeco=xE(t),this.heightMap=vs.empty().applyChanges(this.stateDeco,lt.empty,this.heightOracle.setDoc(t.doc),[new di(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=Je.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 km(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?AE:new yk(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(vd(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=di.extendWithRanges(i,JX(s,this.stateDeco,e?e.changes:vn.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||wu)&&(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(xI)&&(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"?Lt.RTL:Lt.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:C}=rI(t,a);(A>.005&&Math.abs(this.scaleX-A)>.005||C>.005&&Math.abs(this.scaleY-C)>.005)&&(this.scaleX=A,this.scaleY=C,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=oI(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=hI(this.scrollParent||e.win);let g=(this.printing?nY:eY)(t,this.paddingTop),v=g.top-this.pixelViewport.top,y=g.bottom-this.pixelViewport.bottom;this.pixelViewport=g;let b=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(b!=this.inView&&(this.inView=b,b&&(l=!0)),!this.inView&&!this.scrollTarget&&!tY(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:C,charWidth:E,textHeight:O}=e.docView.measureTextSize();o=C>0&&i.refresh(r,C,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 C of this.viewports){let E=C.from==this.viewport.from?A:e.docView.measureVisibleLineHeights(C);this.heightMap=(o?vs.empty().applyChanges(this.stateDeco,lt.empty,this.heightOracle,[new di(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,o,new KX(C.from,E))}wu&&(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 km(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!=Lt.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.fromb));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),b=s||y<2e6?y:2e6;v=new pv(h,u,y,b)}a.push(v)},c=h=>{if(h.length2e6)for(let C of e)C.from>=h.from&&C.fromh.from&&l(h.from,p,h,u),mt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let s=[];st.spans(t,this.viewport.from,this.viewport.to,{span(r,o){s.push({from:r,to:o})},point(){}},20);let i=0;if(s.length!=this.visibleRanges.length)i=12;else for(let r=0;r=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||vd(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)||vd(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 vd(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 km{constructor(e,t){this.from=e,this.to=t}}function iY(n,e,t){let s=[],i=n,r=0;return st.spans(t,n,e,{span(){},point(o,a){o>i&&(s.push({from:i,to:o}),r+=o-i),i=a}},20),i=1)return e[e.length-1].to;let s=Math.floor(n*t);for(let i=0;;i++){let{from:r,to:o}=e[i],a=o-r;if(s<=a)return r+s;s-=a}}function xm(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 rY(n,e){for(let t of n)if(e(t))return t}const AE={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(pk).filter(s=>typeof s!="function");return t.length&&e.push(st.join(t)),e}class yk{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 vd(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),s=e.toDOM(n.bottom);return new Ui(n.from,n.length,t,s-t,Array.isArray(n._content)?n._content.map(i=>vd(i,e)):n._content)}const Em=Ae.define({combine:n=>n.join(" ")}),c_=Ae.define({combine:n=>n.indexOf(!0)>-1}),h_=yu.newName(),KI=yu.newName(),ZI=yu.newName(),XI={"&light":"."+KI,"&dark":"."+ZI};function u_(n,e,t){return new yu(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 oY=u_("."+h_,{"&":{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"}},XI),aY={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},mv=ge.ie&&ge.ie_version<=11;class lY{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new DZ,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);(ge.ie&&ge.ie_version<=11||ge.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&&ge.android&&e.constructor.EDIT_CONTEXT!==!1&&!(ge.chrome&&ge.chrome_version<126)&&(this.editContext=new hY(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:!Od(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}(ge.ie&&ge.ie_version<=11||ge.android&&ge.chrome)&&!s.state.selection.main.empty&&i.focusNode&&Nd(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Yd(e.root);if(!t)return!1;let s=ge.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&cY(this.view,t)||t;if(!s||this.selectionRange.eq(s))return!1;let i=Od(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&&ch(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&&Od(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 EX(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=DI(this.view,t);return this.view.state==s&&(t.domChanged||t.newSel&&!cy(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=Gt.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 Nd(o.node,o.offset,i,r)&&([t,s,i,r]=[i,r,t,s]),{anchorNode:t,anchorOffset:s,focusNode:i,focusOffset:r}}function cY(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 hY{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=FI(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));cy(d,i)||e.dispatch({selection:d,userEvent:"select"});return}let u={from:h.from+a,to:h.toA+a,insert:lt.of(s.text.slice(h.from,h.toB).split(` +`))};if((ge.mac||ge.android)&&u.from==o-1&&/^\. ?$/.test(s.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(u={from:a,to:l,insert:lt.of([s.text.replace("."," ")])}),this.pendingContextChange=u,!e.state.readOnly){let d=this.to-this.from+(u.to-u.from+u.insert.length);mk(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=Yd(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||FZ(e.parent)||document,this.viewState=new kE(this,e.state||at.create(e)),e.scrollTo&&e.scrollTo.is(wm)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Xc).map(i=>new cv(i));for(let i of this.plugins)i.update(this);this.observer=new lY(this),this.inputState=new PX(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 _n?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(UI))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=VI(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(at.phrases)!=this.state.facet(at.phrases))return this.setState(r);i=oy.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 hh(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(wm)&&(u=p.value.clip(this.state))}this.viewState.update(i,u),this.bidiCache=uy.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),t=this.docView.update(i),this.state.facet(yd)!=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(Em)!=i.state.facet(Em)&&(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(i_))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&&!DI(this,h)&&c.force&&ch(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 kE(this,e),this.plugins=e.facet(Xc).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(Xc),s=e.state.facet(Xc);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(hI(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=oy.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)&&!(ge.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(i_))a(t)}get themeClasses(){return h_+" "+(this.state.facet(c_)?ZI:KI)+" "+this.state.facet(Em)}updateAttrs(){let e=TE(this,$I,{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:`${ge.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),TE(this,fk,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(yd);let e=this.state.facet(Ce.cspNonce);yu.mount(this.root,this.styleModules.concat(oY).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=>wX(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 bX(this,e,t,s)}moveVertically(e,t,s){return fv(this,e,_X(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=a_(this,e,t);return s&&s.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),a_(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==Lt.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(AI)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>uY)return gI(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||mI(r.isolates,s=aE(this,e))))return r.order;s||(s=aE(this,e));let i=WZ(e.text,t,s);return this.bidiCache.push(new uy(e.from,e.to,t,s,!0,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||ge.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{cI(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 wm.of(new hh(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 wm.of(new hh(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 Js.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Js.define(()=>({}),{eventObservers:e})}static theme(e,t){let s=yu.newName(),i=[Em.of(s),yd.of(u_(`.${s}`,e))];return t&&t.dark&&i.push(c_.of(!0)),i}static baseTheme(e){return b0.lowest(yd.of(u_("."+h_,e,XI)))}static findFromDOM(e){var t;let s=e.querySelector(".cm-content"),i=s&&Gt.get(s)||Gt.get(e);return((t=i==null?void 0:i.root)===null||t===void 0?void 0:t.view)||null}}Ce.styleModule=yd;Ce.inputHandler=SI;Ce.clipboardInputFilter=uk;Ce.clipboardOutputFilter=dk;Ce.scrollHandler=EI;Ce.focusChangeEffect=kI;Ce.perLineTextDirection=AI;Ce.exceptionSink=_I;Ce.updateListener=i_;Ce.editable=go;Ce.mouseSelectionStyle=wI;Ce.dragMovesSelection=bI;Ce.clickAddsSelectionRange=vI;Ce.decorations=k0;Ce.blockWrappers=TI;Ce.outerDecorations=pk;Ce.atomicRanges=qp;Ce.bidiIsolatedRanges=PI;Ce.cursorScrollMargin=Ae.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=RI;Ce.darkTheme=c_;Ce.cspNonce=Ae.define({combine:n=>n.length?n[0]:""});Ce.contentAttributes=fk;Ce.editorAttributes=$I;Ce.lineWrapping=Ce.contentAttributes.of({class:"cm-lineWrapping"});Ce.announce=_t.define();const uY=4096,$E={};class uy{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:Lt.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&&lk(o,t)}return t}const dY=ge.mac?"mac":ge.windows?"win":ge.linux?"linux":"key";function fY(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 mY(n,e,t){return QI(JI(n.state),e,n,t)}let jo=null;const gY=4e3;function yY(n,e=dY){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=>fY(y,e));for(let y=1;y{let k=jo={view:_,prefix:b,scope:o};return setTimeout(()=>{jo==k&&(jo=null)},gY),!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,d_))}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 d_=null;function QI(n,e,t,s){d_=e;let i=RZ(e),r=HM(i,0),o=BM(r)==i.length&&i!=" ",a="",l=!1,c=!1,h=!1;jo&&jo.view==t&&jo.scope==s&&(a=jo.prefix+" ",zI.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+Cm(i,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(ge.windows&&e.ctrlKey&&e.altKey)&&!(ge.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=xa[e.keyCode])&&m!=i?(d(p[a+Cm(m,e,!0)])||e.shiftKey&&(g=Zd[e.keyCode])!=i&&g!=m&&d(p[a+Cm(g,e,!1)]))&&(l=!0):o&&e.shiftKey&&d(p[a+Cm(i,e,!0)])&&(l=!0),!l&&d(p._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),d_=null,l}class sc{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=eO(e);return[new sc(t,i.left-r.left,i.top-r.top,null,i.bottom-i.top)]}else return vY(e,t,s)}}function eO(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==Lt.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 vY(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==Lt.LTR,o=n.contentDOM,a=o.getBoundingClientRect(),l=eO(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=o_(n,s,1),m=o_(n,i,-1),g=p.type==Gn.Text?p:null,v=m.type==Gn.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 b(_(t.from,t.to,g));{let A=g?_(t.from,null,g):k(p,!1),C=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/2q&&N.from=Q)break;z>ee&&L(Math.max(Se,ee),A==null&&Se<=q,Math.min(z,Q),C==null&&z>=B,ae.dir)}if(ee=te.to+1,ee>=Q)break}return U.length==0&&L(q,A==null,B,C==null,n.textDirection),{top:O,bottom:F,horizontal:U}}function k(A,C){let E=a.top+(C?A.top:A.bottom);return{top:E,bottom:E,horizontal:[]}}}function bY(n,e){return n.constructor==e.constructor&&n.eq(e)}class wY{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($g)!=e.state.facet($g)&&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($g);for(;t!bY(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,ge.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const $g=Ae.define();function tO(n){return[Js.define(e=>new wY(e,n)),$g.of(n)]}const _u=Ae.define({combine(n){return Iu(n,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function _Y(n={}){return[_u.of(n),SY,kY,xY,xI.of(!0)]}function nO(n){return n.startState.facet(_u)!=n.state.facet(_u)}const SY=tO({above:!0,markers(n){let{state:e}=n,t=e.facet(_u),s=[];for(let i of e.selection.ranges){let r=i==e.selection.main;if(i.empty||t.drawRangeCursor&&!(r&&ge.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 sc.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=nO(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(_u).cursorBlinkRate+"ms"}const kY=tO({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 sc.forRange(n,"cm-selectionBackground",i))e.push(r);if(ge.ios&&!t.empty&&n.state.facet(_u).iosSelectionHandles){for(let i of sc.forRange(n,"cm-selectionHandle cm-selectionHandle-start",re.cursor(t.from,1)))e.push(i);for(let i of sc.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||nO(n)},class:"cm-selectionLayer"}),AY=ge.gecko&&ge.gecko_version==153?"#ffffff01":"transparent",xY=b0.highest(Ce.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:`${AY} !important`},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}}));function EY(){return $Y}const CY=Je.line({class:"cm-activeLine"}),$Y=Js.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(CY.range(i.from)),e=i.from)}return Je.set(t)}},{decorations:n=>n.decorations}),IE=Ae.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 sO(n,e){let t=n.plugin(iO),s=t?t.specs.indexOf(e):-1;return s>-1?t.panels[s]:null}const iO=Js.fromClass(class{constructor(n){this.input=n.state.facet(dy),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(IE);this.top=new $m(n,!0,e.topContainer),this.bottom=new $m(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 $m(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new $m(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(dy);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 $m{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 dy=Ae.define({enables:iO});function TY(n,e){let t,s=new Promise(o=>t=o),i=o=>PY(o,e,t);n.state.field(gv,!1)?n.dispatch({effects:rO.of(i)}):n.dispatch({effects:_t.appendConfig.of(gv.init(()=>[i]))});let r=oO.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(rO)?n=[t.value].concat(n):t.is(oO)&&(n=n.filter(s=>s!=t.value));return n},provide:n=>dy.computeN([n],e=>e.field(n))}),rO=_t.define(),oO=_t.define();function PY(n,e,t){let s=e.content?e.content(n,()=>o(null)):null;if(!s){if(s=Pn("form"),e.input){let a=Pn("input",e.input);/^(text|password|number|email|tel|url)$/.test(a.type)&&a.classList.add("cm-textfield"),a.name||(a.name="input"),s.appendChild(Pn("label",(e.label||"")+": ",a))}else s.appendChild(document.createTextNode(e.label||""));s.appendChild(document.createTextNode(" ")),s.appendChild(Pn("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=Pn("div",s,Pn("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 bc extends mc{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}bc.prototype.elementClass="";bc.prototype.toDOM=void 0;bc.prototype.mapMode=Xs.TrackBefore;bc.prototype.startSide=bc.prototype.endSide=-1;bc.prototype.point=!0;const yv=Ae.define(),RY=Ae.define(),Tg=Ae.define(),NE=Ae.define({combine:n=>n.some(e=>e)});function MY(n){return[IY]}const IY=Js.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(Tg).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=st.iter(this.view.state.facet(yv),this.view.viewport.from),s=[],i=this.gutters.map(r=>new OY(r,this.view.viewport,-this.view.documentPadding.top));for(let r of this.view.viewportLineBlocks)if(s.length&&(s=[]),Array.isArray(r.type)){let o=!0;for(let a of r.type)if(a.type==Gn.Text&&o){f_(t,s,a.from);for(let l of i)l.line(this.view,a,s);o=!1}else if(a.widget)for(let l of i)l.widget(this.view,a)}else if(r.type==Gn.Text){f_(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(Tg),t=n.state.facet(Tg),s=n.docChanged||n.heightChanged||n.viewportChanged||!st.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==Lt.LTR?{left:s,right:i}:{right:s,left:i}})});function LE(n){return Array.isArray(n)?n:[n]}function f_(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class OY{constructor(e,t,s){this.gutter=e,this.height=s,this.i=0,this.cursor=st.iter(e.markers,t.from)}addElement(e,t,s){let{gutter:i}=this,r=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==i.elements.length){let a=new aO(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=[];f_(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(RY)){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 aO(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!st.eq(this.markers,t,s.from,s.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class aO{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":""),NY(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 bc{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(Yc).formatNumber(e,n.state)}const FY=Tg.compute([Yc],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(LY)},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(DY)){let r=i(e,t,s);if(r)return r}return null},lineMarkerChange:e=>e.startState.facet(Yc)!=e.state.facet(Yc),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(Yc).domEventHandlers,side:"before"}));function jY(n={}){return[Yc.of(n),MY(),FY]}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=Ns.match(e)),t=>{let s=e(t);return s===void 0?null:[this,s]}}}tt.closedBy=new tt({deserialize:n=>n.split(" ")});tt.openedBy=new tt({deserialize:n=>n.split(" ")});tt.group=new tt({deserialize:n=>n.split(" ")});tt.isolate=new tt({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});tt.contextHash=new tt({perNode:!0});tt.lookAhead=new tt({perNode:!0});tt.mounted=new tt({perNode:!0});class Dd{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[tt.mounted.id]}}const BY=Object.create(null);class Ns{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):BY,s=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new Ns(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(tt.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(tt.group),r=-1;r<(i?i.length:0);r++){let o=t[r<0?s.name:i[r]];if(o)return o}}}}Ns.none=new Ns("",Object.create(null),0,8);class vk{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|Jt.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:_k(Ns.none,this.children,this.positions,0,this.children.length,0,this.length,(t,s,i)=>new Dt(this.type,t,s,i,this.propValues),e.makeTree||((t,s,i)=>new Dt(Ns.none,t,s,i)))}static build(e){return WY(e)}}Dt.empty=new Dt(Ns.none,[],[],0);class bk{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 bk(this.buffer,this.index)}}class Ca{constructor(e,t,s){this.buffer=e,this.length=t,this.set=s}get type(){return Ns.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 Qd(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&Jt.EnterBracketed&&h instanceof Dt&&(d=Dd.get(h))&&!d.overlay&&d.bracketed&&s>=u&&s<=u+h.length)&&!lO(i,s,u,u+h.length))){if(h instanceof Ca){if(r&Jt.ExcludeBuffers)continue;let p=h.findChild(0,h.buffer.length,t,s-u,i);if(p>-1)return new va(new qY(o,h,e,u),null,p)}else if(r&Jt.IncludeAnonymous||!h.type.isAnonymous||wk(h)){let p;if(!(r&Jt.IgnoreMounts)&&(p=Dd.get(h))&&!p.overlay)return new pi(p.tree,u,e,o);let m=new pi(h,u,e,o);return r&Jt.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?h.children.length-1:0,t,s,i,r)}}}if(r&Jt.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&Jt.IgnoreOverlays)&&(i=Dd.get(this._tree))&&i.overlay){let r=e-this.from,o=s&Jt.EnterBracketed&&i.bracketed;for(let{from:a,to:l}of i.overlay)if((t>0||o?a<=r:a=r:l>r))return new pi(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 p_(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 qY{constructor(e,t,s,i){this.parent=e,this.buffer=t,this.index=s,this.start=i}}class va extends cO{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 va(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&Jt.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 va(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 va(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 va(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 Dt(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function hO(n){if(!n.length)return null;let e=0,t=n[0];for(let r=1;rt.from||o.to=e){let a=new pi(o.tree,o.overlay[0].from+r.from,-1,r);(i||(i=[s])).push(Qd(a,e,t,!1))}}return i?hO(i):s}class m_{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&~Jt.EnterBracketed,e instanceof pi)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 pi?(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&Jt.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,s))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Jt.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Jt.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&Jt.IncludeAnonymous||a instanceof Ca||!a.type.isAnonymous||wk(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 p_(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 wk(n){return n.children.some(e=>e instanceof Ca||!e.type.isAnonymous||wk(e))}function WY(n){var e;let{buffer:t,nodeSet:s,maxBufferLength:i=zY,reused:r=[],minRepeatType:o=s.types.length}=n,a=Array.isArray(t)?new bk(t,t.length):t,l=s.types,c=0,h=0;function u(A,C,E,O,F,U){let{id:L,start:q,end:B,size:N}=a,ee=h,Q=c;if(N<0)if(a.next(),N==-1){let P=r[L];E.push(P),O.push(q-A);return}else if(N==-3){c=L;return}else if(N==-4){h=L;return}else throw new RangeError(`Unrecognized record size: ${N}`);let te=l[L],ae,Se,z=q-A;if(B-q<=i&&(Se=v(a.pos-C,F))){let P=new Uint16Array(Se.size-Se.skip),D=a.pos-Se.size,M=P.length;for(;a.pos>D;)M=y(Se.start,P,M);ae=new Ca(P,B-Se.start,s),z=Se.start-A}else{let P=a.pos-N;a.next();let D=[],M=[],w=L>=o?L:-1,x=0,I=B;for(;a.pos>P;)w>=0&&a.id==w&&a.size>=0?(a.end<=I-i&&(m(D,M,q,x,a.end,I,w,ee,Q),x=D.length,I=a.end),a.next()):U>2500?d(q,P,D,M):u(q,P,D,M,w,U+1);if(w>=0&&x>0&&x-1&&x>0){let K=p(te,Q);ae=_k(te,D,M,0,D.length,0,B-q,K,K)}else ae=g(te,D,M,B-q,ee-B,Q)}E.push(ae),O.push(z)}function d(A,C,E,O){let F=[],U=0,L=-1;for(;a.pos>C;){let{id:q,start:B,end:N,size:ee}=a;if(ee>4)a.next();else{if(L>-1&&B=0;N-=3)q[ee++]=F[N],q[ee++]=F[N+1]-B,q[ee++]=F[N+2]-B,q[ee++]=ee;E.push(new Ca(q,F[2]-B,s)),O.push(B-A)}}function p(A,C){return(E,O,F)=>{let U=0,L=E.length-1,q,B;if(L>=0&&(q=E[L])instanceof Dt){if(!L&&q.type==A&&q.length==F)return q;(B=q.prop(tt.lookAhead))&&(U=O[L]+q.length+B)}return g(A,E,O,F,U,C)}}function m(A,C,E,O,F,U,L,q,B){let N=[],ee=[];for(;A.length>O;)N.push(A.pop()),ee.push(C.pop()+E-F);A.push(g(s.types[L],N,ee,U-F,q-U,B)),C.push(F-E)}function g(A,C,E,O,F,U,L){if(U){let q=[tt.contextHash,U];L=L?[q].concat(L):[q]}if(F>25){let q=[tt.lookAhead,F];L=L?[q].concat(L):[q]}return new Dt(A,C,E,O,L)}function v(A,C){let E=a.fork(),O=0,F=0,U=0,L=E.end-i,q={size:0,start:0,skip:0};e:for(let B=E.pos-A;E.pos>B;){let N=E.size;if(E.id==C&&N>=0){q.size=O,q.start=F,q.skip=U,U+=4,O+=4,E.next();continue}let ee=E.pos-N;if(N<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+=N,U+=Q}return(C<0||O==A)&&(q.size=O,q.start=F,q.skip=U),q.size>4?q:void 0}function y(A,C,E){let{id:O,start:F,end:U,size:L}=a;if(a.next(),L>=0&&O4){let B=a.pos-(L-4);for(;a.pos>B;)E=y(A,C,E)}C[--E]=q,C[--E]=U-A,C[--E]=F-A,C[--E]=O}else L==-3?c=O:L==-4&&(h=O);return E}let b=[],_=[];for(;a.pos>0;)u(n.start||0,n.bufferStart||0,b,_,-1,0);let k=(e=n.length)!==null&&e!==void 0?e:b.length?_[0]+b[0].length:0;return new Dt(l[n.topID],b.reverse(),_.reverse(),k)}const HE=new WeakMap;function Pg(n,e){if(!n.isAnonymous||e instanceof Ca||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 Dt)){t=1;break}t+=Pg(n,s)}HE.set(e,t)}return t}function _k(n,e,t,s,i,r,o,a,l){let c=0;for(let m=s;m=h)break;C+=E}if(_==k+1){if(C>h){let E=m[k];p(E.children,E.positions,0,E.children.length,g[k]+b);continue}u.push(m[k])}else{let E=g[_-1]+m[_-1].length-A;u.push(_k(n,m,g,k,_,A,E,null,l))}d.push(A+b-r)}}return p(e,t,s,i,0),(a||l)(u,d,o)}class ic{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 ic(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 ic(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 GY{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 tt({perNode:!0});let KY=0;class ci{constructor(e,t,s,i){this.name=e,this.set=t,this.base=s,this.modified=i,this.id=KY++}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 ci&&(t=e),t!=null&&t.base)throw new Error("Can not derive from a modified tag");let i=new ci(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 fy(e);return s=>s.modified.indexOf(t)>-1?s:fy.get(s.base||s,s.modified.concat(t).sort((i,r)=>i.id-r.id))}}let ZY=0;class fy{constructor(e){this.name=e,this.instances=[],this.id=ZY++}static get(e,t){if(!t.length)return e;let s=t[0].instances.find(a=>a.base==e&&XY(t,a.modified));if(s)return s;let i=[],r=new ci(e.name,i,e,t);for(let a of t)a.instances.push(r);let o=YY(t);for(let a of e.set)if(!a.modified.length)for(let l of o)i.push(fy.get(a,l));return r}}function XY(n,e){return n.length==e.length&&n.every((t,s)=>t==e[s])}function YY(n){let e=[[]];for(let t=0;ts.length-t.length)}function JY(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 py(s,o,l>0?r.slice(0,l):null);e[c]=h.sort(e[c])}}return QY.add(e)}const QY=new tt({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 py(i.tags,i.mode,i.context);t?t.next=r:s=r,t=r}return s}});class py{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=ci.define,Pm=pe(),No=pe(),BE=pe(No),qE=pe(No),Lo=pe(),Rm=pe(Lo),_v=pe(Lo),sr=pe(),qa=pe(sr),tr=pe(),nr=pe(),g_=pe(),Ku=pe(g_),Mm=pe(),He={comment:Pm,lineComment:pe(Pm),blockComment:pe(Pm),docComment:pe(Pm),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:Rm,docString:pe(Rm),character:pe(Rm),attributeValue:pe(Rm),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:g_,separator:pe(g_),bracket:Ku,angleBracket:pe(Ku),squareBracket:pe(Ku),paren:pe(Ku),brace:pe(Ku),content:sr,heading:qa,heading1:pe(qa),heading2:pe(qa),heading3:pe(qa),heading4:pe(qa),heading5:pe(qa),heading6:pe(qa),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:Mm,documentMeta:pe(Mm),annotation:pe(Mm),processingInstruction:pe(Mm),definition:ci.defineModifier("definition"),constant:ci.defineModifier("constant"),function:ci.defineModifier("function"),standard:ci.defineModifier("standard"),local:ci.defineModifier("local"),special:ci.defineModifier("special")};for(let n in He){let e=He[n];e instanceof ci&&(e.name=n)}e7([{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 bd=new tt;function t7(n){return Ae.define({combine:n?e=>e.concat(n):void 0})}const n7=new tt;class $r{constructor(e,t,s=[],i=""){this.data=e,this.name=i,at.prototype.hasOwnProperty("tree")||Object.defineProperty(at.prototype,"tree",{get(){return $a(this)}}),this.parser=t,this.extension=[Au.of(this),at.languageData.of((r,o,a)=>{let l=UE(r,o,a),c=l.type.prop(bd);if(!c)return[];let h=r.facet(c),u=l.type.prop(n7);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(bd)==this.data}findRegions(e){let t=e.facet(Au);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(bd)==this.data){s.push({from:o,to:o+r.length});return}let a=r.prop(tt.mounted);if(a){if(a.tree.prop(bd)==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 Zu=null;class Su{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 Su(e,t,[],Dt.empty,0,s,[],null)}startParse(){return this.parser.startParse(new s7(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Dt.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(ic.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Zu;Zu=this;try{return e()}finally{Zu=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=ic.applyChanges(s,l),i=Dt.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 uO{createParse(t,s,i){let r=i[0].from,o=i[i.length-1].to;return{parsedPos:r,advance(){let l=Zu;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 Dt(Ns.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 Zu}}function VE(n,e,t){return ic.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=Su.create(e.facet(Au).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(Au)!=e.state.facet(Au)?ku.init(e.state):n.apply(e)}});let dO=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(dO=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const kv=typeof navigator<"u"&&(!((Sv=navigator.scheduling)===null||Sv===void 0)&&Sv.isInputPending)?()=>navigator.scheduling.isInputPending():null,i7=Js.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=dO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndi+1e3,l=r.context.work(()=>kv&&kv()||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()}}}),Au=Ae.define({combine(n){return n.length?n[0]:null},enables:n=>[$r.state,i7,Ce.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]}),r7=Ae.define(),Sk=Ae.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 wc(n){let e=n.facet(Sk);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function my(n,e){let t="",s=n.tabSize,i=n.facet(Sk)[0];if(i==" "){for(;e>=s;)t+=" ",e-=s;i=" "}for(let r=0;r=e?o7(n,t,e):null}class C0{constructor(e,t={}){this.state=e,this.options=t,this.unit=wc(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 w0(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 pO=new tt;function o7(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 mO(s,n,t)}function mO(n,e,t){for(let s=n;s;s=s.next){let i=l7(s.node);if(i)return i(kk.create(e,t,s))}return 0}function a7(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function l7(n){let e=n.type.prop(pO);if(e)return e;let t=n.firstChild,s;if(t&&(s=t.type.prop(tt.closedBy))){let i=n.lastChild,r=i&&s.indexOf(i.name)>-1;return o=>d7(o,!0,1,void 0,r&&!a7(o)?i.from:void 0)}return n.parent==null?c7:null}function c7(){return 0}class kk extends C0{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 kk(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(h7(s,e))break;t=this.state.doc.lineAt(s.from)}return this.lineIndent(t.from)}continue(){return mO(this.context.next,this.base,this.pos)}}function h7(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function u7(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 d7(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=u7(n);return l?a?n.column(l.from):n.column(l.to):n.baseIndent+(a?0:n.unit*t)}const f7=Ce.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),gO=1e4,yO="()[]{}",vO=Ae.define({combine(n){return Iu(n,{afterCursor:!0,brackets:yO,maxScanDistance:gO,renderMatch:g7})}}),p7=Je.mark({class:"cm-matchingBracket"}),m7=Je.mark({class:"cm-nonmatchingBracket"});function g7(n){let e=[],t=n.matched?p7:m7;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(vO);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}),v7=[y7,f7];function b7(n={}){return[vO.of(n),v7]}const w7=new tt;function y_(n,e,t){let s=n.prop(e<0?tt.openedBy:tt.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 v_(n){let e=n.type.prop(w7);return e?e(n.node):n}function Tr(n,e,t,s={}){let i=s.maxScanDistance||gO,r=s.brackets||yO,o=$a(n),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=y_(l.type,t,r);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return _7(n,e,t,l,h,c,r)}}return S7(n,e,t,o,a.type,i,r)}function _7(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||A7,indent:n.indent||(()=>null),languageData:n.languageData||{},tokenTable:n.tokenTable||Ek,mergeTokens:n.mergeTokens!==!1}}function A7(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 Ak extends $r{constructor(e){let t=t7(e.languageData),s=k7(e),i,r=new class extends uO{createParse(o,a,l){return new E7(i,o,a,l)}};super(t,r,[],e.name),this.topNode=T7(t,this),i=this,this.streamParser=s,this.stateAfter=new tt({perNode:!0}),this.tokenTable=e.tokenTable?new kO(s.tokenTable):$7}static define(e){return new Ak(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 Dt&&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&&xk(n,r.tree,0-r.offset,t,a),c;if(l&&l.pos<=s&&(c=wO(n,r.tree,t+r.offset,l.pos+r.offset,!1)))return{state:l.state,tree:c}}return{state:n.streamParser.startState(i?wc(i):4),tree:Dt.empty}}class E7{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=Su.get(),o=i[0].from,{state:a,tree:l}=x7(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(wc(r.state)),r.skipUntilInView(this.parsedPos,r.viewport.from),this.parsedPos=r.viewport.from),this.moveRangeIndex()}advance(){let e=Su.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 bO(t,e?e.state.tabSize:4,e?wc(e.state):2);if(o.eol())r.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=_O(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 Ek=Object.create(null),ef=[Ns.none],C7=new vk(ef),ZE=[],XE=Object.create(null),SO=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"]])SO[n]=AO(Ek,e);class kO{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),SO)}resolve(e){return e?this.table[e]||(this.table[e]=AO(this.extra,e)):0}}const $7=new kO(Ek);function Av(n,e){ZE.indexOf(n)>-1||(ZE.push(n),console.warn(e))}function AO(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):Av(c,`Modifier ${c} used at start of tag`):l.length?Av(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:Av(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]=Ns.define({id:ef.length,name:s,props:[JY({[s]:t})]});return ef.push(o),o.id}function T7(n,e){let t=Ns.define({id:ef.length,name:"Document",props:[bd.add(()=>n),pO.add(()=>s=>e.getIndent(s))],top:!0});return ef.push(t),t}Lt.RTL,Lt.LTR;const P7=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),s=$k(n.state,t.from);return s.line?R7(n):s.block?I7(n):!1};function Ck(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 R7=Ck(L7,0),M7=Ck(xO,0),I7=Ck((n,e)=>xO(n,e,N7(e)),0);function $k(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const Xu=50;function O7(n,{open:e,close:t},s,i){let r=n.sliceDoc(s-Xu,s),o=n.sliceDoc(i,i+Xu),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*Xu?h=u=n.sliceDoc(s,i):(h=n.sliceDoc(s,s+Xu),u=n.sliceDoc(i-Xu,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 N7(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 xO(n,e,t=e.selection.ranges){let s=t.map(r=>$k(e,r.from).block);if(!s.every(r=>r))return null;let i=t.map((r,o)=>O7(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 b_=Ia.define(),D7=Ia.define(),F7=Ae.define(),EO=Ae.define({combine(n){return Iu(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)})}}),CO=Or.define({create(){return Pr.empty},update(n,e){let t=e.state.facet(EO),s=e.annotation(b_);if(s){let l=Is.fromTransaction(e,s.selection),c=s.side,h=c==0?n.undone:n.done;return l?h=gy(h,h.length,t.minDepth,l):h=PO(h,e.startState.selection),new Pr(c==0?s.rest:h,c==0?h:s.rest)}let i=e.annotation(D7);if((i=="full"||i=="before")&&(n=n.isolate()),e.annotation(_n.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let r=Is.fromTransaction(e),o=e.annotation(_n.time),a=e.annotation(_n.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(Is.fromJSON),n.undone.map(Is.fromJSON))}});function j7(n={}){return[CO,EO.of(n),Ce.domEventHandlers({beforeinput(e,t){let s=e.inputType=="historyUndo"?$O:e.inputType=="historyRedo"?w_:null;return s?(e.preventDefault(),s(t)):!1}})]}function $0(n,e){return function({state:t,dispatch:s}){if(!e&&t.readOnly)return!1;let i=t.field(CO,!1);if(!i)return!1;let r=i.pop(n,t,e);return r?(s(r),!0):!1}}const $O=$0(0,!1),w_=$0(1,!1),z7=$0(0,!0),H7=$0(1,!0);class Is{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 Is(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 Is(e.changes&&vn.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=fi;for(let i of e.startState.facet(F7)){let r=i(e);r.length&&(s=s.concat(r))}return!s.length&&e.changes.empty?null:new Is(e.changes.invert(e.startState.doc),s,void 0,t||e.startState.selection,fi)}static selection(e){return new Is(void 0,fi,void 0,void 0,e)}}function gy(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 B7(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 q7(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,s)=>t.empty!=e.ranges[s].empty).length===0}function TO(n,e){return n.length?e.length?n.concat(e):n:e}const fi=[],U7=200;function PO(n,e){if(n.length){let t=n[n.length-1],s=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-U7));return s.length&&s[s.length-1].eq(e)?n:(s.push(e),gy(n,n.length-1,1e9,t.setSelAfter(s)))}else return[Is.selection([e])]}function V7(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=fi;for(;t;){let i=W7(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?[Is.selection(s)]:fi}function W7(n,e,t){let s=TO(n.selectionsAfter.length?n.selectionsAfter.map(a=>a.map(e)):fi,t);if(!n.changes)return Is.selection(s);let i=n.changes.map(e),r=e.mapDesc(n.changes,!0),o=n.mapped?n.mapped.composeDesc(r):r;return new Is(i,_t.mapEffects(n.effects,e),o,n.startSelection.map(r),s)}const G7=/^(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||G7.test(s))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?n.moveByChar(t,e):T0(t,e))}function cs(n){return n.textDirectionAt(n.state.selection.main.head)==Lt.LTR}const MO=n=>RO(n,!cs(n)),IO=n=>RO(n,cs(n));function OO(n,e){return Yi(n,t=>t.empty?n.moveByGroup(t,e):T0(t,e))}const Z7=n=>OO(n,!cs(n)),X7=n=>OO(n,cs(n));function Y7(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 P0(n,e,t){let s=$a(n).resolveInner(e.head),i=t?tt.closedBy:tt.openedBy;for(let l=e.head;;){let c=t?s.childAfter(l):s.childBefore(l);if(!c)break;Y7(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 J7=n=>Yi(n,e=>P0(n.state,e,!cs(n))),Q7=n=>Yi(n,e=>P0(n.state,e,cs(n)));function NO(n,e){return Yi(n,t=>{if(!t.empty)return T0(t,e);let s=n.moveVertically(t,e);return s.head!=t.head?s:n.moveToLineBoundary(t,e)})}const LO=n=>NO(n,!1),DO=n=>NO(n,!0);function FO(n){let e=n.scrollDOM.clientHeighto.empty?n.moveVertically(o,e,t.height):T0(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.bottomjO(n,!1),__=n=>jO(n,!0);function Oa(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 eJ=n=>Yi(n,e=>Oa(n,e,!0)),tJ=n=>Yi(n,e=>Oa(n,e,!1)),nJ=n=>Yi(n,e=>Oa(n,e,!cs(n))),sJ=n=>Yi(n,e=>Oa(n,e,cs(n))),iJ=n=>Yi(n,e=>re.cursor(n.lineBlockAt(e.head).from,1)),rJ=n=>Yi(n,e=>re.cursor(n.lineBlockAt(e.head).to,-1));function oJ(n,e,t){let s=!1,i=Ou(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.headoJ(n,e);function bi(n,e,t){let s=Ou(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 zO(n,e){return bi(n,e,t=>n.moveByChar(t,e))}const HO=n=>zO(n,!cs(n)),BO=n=>zO(n,cs(n));function qO(n,e){return bi(n,e,t=>n.moveByGroup(t,e))}const lJ=n=>qO(n,!cs(n)),cJ=n=>qO(n,cs(n)),hJ=n=>{let e=!cs(n);return bi(n,e,t=>P0(n.state,t,e))},uJ=n=>{let e=cs(n);return bi(n,e,t=>P0(n.state,t,e))};function UO(n,e){return bi(n,e,t=>n.moveVertically(t,e))}const VO=n=>UO(n,!1),WO=n=>UO(n,!0);function GO(n,e){return bi(n,e,t=>n.moveVertically(t,e,FO(n).height))}const JE=n=>GO(n,!1),QE=n=>GO(n,!0),dJ=n=>bi(n,!0,e=>Oa(n,e,!0)),fJ=n=>bi(n,!1,e=>Oa(n,e,!1)),pJ=n=>{let e=!cs(n);return bi(n,e,t=>Oa(n,t,e))},mJ=n=>{let e=cs(n);return bi(n,e,t=>Oa(n,t,e))},gJ=n=>bi(n,!1,e=>re.cursor(n.lineBlockAt(e.head).from)),yJ=n=>bi(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),vJ=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),bJ=({state:n,dispatch:e})=>{let t=R0(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},wJ=({state:n,dispatch:e})=>{let t=Ou(n.selection,s=>{let i=$a(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 KO(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 _J=n=>KO(n,!1),SJ=n=>KO(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 Up(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=Im(n,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Im(n,o,!1),a=Im(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 ZO=(n,e,t)=>Up(n,s=>{let i=s.from,{state:r}=n,o=r.doc.lineAt(i),a,l;if(t&&!e&&i>o.from&&iZO(n,!1,!0),XO=n=>ZO(n,!0,!1),YO=(n,e)=>Up(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=Rn(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}),JO=n=>YO(n,!1),AJ=n=>YO(n,!0),xJ=n=>Up(n,e=>{let t=n.lineBlockAt(e.head).to;return e.headUp(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),CJ=n=>Up(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:lt.of(["",""])},range:re.cursor(s.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},TJ=({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:Rn(r.text,i-r.from,!1)+r.from,a=i==r.to?i+1:Rn(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 R0(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 QO(n,e,t){if(n.readOnly)return!1;let s=[],i=[];for(let r of R0(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 PJ=({state:n,dispatch:e})=>QO(n,e,!1),RJ=({state:n,dispatch:e})=>QO(n,e,!0);function eN(n,e,t){if(n.readOnly)return!1;let s=[];for(let r of R0(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 MJ=({state:n,dispatch:e})=>eN(n,e,!1),IJ=({state:n,dispatch:e})=>eN(n,e,!0),OJ=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(R0(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 NJ(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=$a(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(tt.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=tN(!1),LJ=tN(!0);function tN(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&&NJ(e,r);n&&(r=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new C0(e,{simulateBreak:r,simulateDoubleBreak:!!l}),h=fO(c,r);for(h==null&&(h=w0(/^\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 DJ=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),s=new C0(n,{overrideIndentation:r=>{let o=t[r];return o??-1}}),i=Tk(n,(r,o,a)=>{let l=fO(s,r.from);if(l==null)return;/\S/.test(r.text)||(l=0);let c=/^\s*/.exec(r.text)[0],h=my(n,l);(c!=h||a.fromn.readOnly?!1:(e(n.update(Tk(n,(t,s)=>{s.push({from:t.from,insert:n.facet(Sk)})}),{userEvent:"input.indent"})),!0),sN=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Tk(n,(t,s)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let r=w0(i,n.tabSize),o=0,a=my(n,Math.max(0,r-wc(n)));for(;o(n.setTabFocusMode(),!0),jJ=[{key:"Ctrl-b",run:MO,shift:HO,preventDefault:!0},{key:"Ctrl-f",run:IO,shift:BO},{key:"Ctrl-p",run:LO,shift:VO},{key:"Ctrl-n",run:DO,shift:WO},{key:"Ctrl-a",run:iJ,shift:gJ},{key:"Ctrl-e",run:rJ,shift:yJ},{key:"Ctrl-d",run:XO},{key:"Ctrl-h",run:S_},{key:"Ctrl-k",run:xJ},{key:"Ctrl-Alt-h",run:JO},{key:"Ctrl-o",run:$J},{key:"Ctrl-t",run:TJ},{key:"Ctrl-v",run:__}],zJ=[{key:"ArrowLeft",run:MO,shift:HO,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Z7,shift:lJ,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:nJ,shift:pJ,preventDefault:!0},{key:"ArrowRight",run:IO,shift:BO,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:X7,shift:cJ,preventDefault:!0},{mac:"Cmd-ArrowRight",run:sJ,shift:mJ,preventDefault:!0},{key:"ArrowUp",run:LO,shift:VO,preventDefault:!0},{mac:"Cmd-ArrowUp",run:eC,shift:nC},{mac:"Ctrl-ArrowUp",run:YE,shift:JE},{key:"ArrowDown",run:DO,shift:WO,preventDefault:!0},{mac:"Cmd-ArrowDown",run:tC,shift:sC},{mac:"Ctrl-ArrowDown",run:__,shift:QE},{key:"PageUp",run:YE,shift:JE},{key:"PageDown",run:__,shift:QE},{key:"Home",run:tJ,shift:fJ,preventDefault:!0},{key:"Mod-Home",run:eC,shift:nC},{key:"End",run:eJ,shift:dJ,preventDefault:!0},{key:"Mod-End",run:tC,shift:sC},{key:"Enter",run:iC,shift:iC},{key:"Mod-a",run:vJ},{key:"Backspace",run:S_,shift:S_,preventDefault:!0},{key:"Delete",run:XO,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:JO,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:AJ,preventDefault:!0},{mac:"Mod-Backspace",run:EJ,preventDefault:!0},{mac:"Mod-Delete",run:CJ,preventDefault:!0}].concat(jJ.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),HJ=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:J7,shift:hJ},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Q7,shift:uJ},{key:"Alt-ArrowUp",run:PJ},{key:"Shift-Alt-ArrowUp",run:MJ},{key:"Alt-ArrowDown",run:RJ},{key:"Shift-Alt-ArrowDown",run:IJ},{key:"Mod-Alt-ArrowUp",run:_J},{key:"Mod-Alt-ArrowDown",run:SJ},{key:"Escape",run:kJ},{key:"Mod-Enter",run:LJ},{key:"Alt-l",mac:"Ctrl-l",run:bJ},{key:"Mod-i",run:wJ,preventDefault:!0},{key:"Mod-[",run:sN},{key:"Mod-]",run:nN},{key:"Mod-Alt-\\",run:DJ},{key:"Shift-Mod-k",run:OJ},{key:"Shift-Mod-\\",run:aJ},{key:"Mod-/",run:P7},{key:"Alt-A",mac:"Ctrl-A",run:M7},{key:"Ctrl-m",mac:"Shift-Alt-m",run:FJ}].concat(zJ),BJ={key:"Tab",run:nN,shift:sN};function iN(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 qJ=iN(!1);iN(!0);const rC=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n;class xu{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 HM(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=pZ(e),s=this.bufferStart+this.bufferPos;this.bufferPos+=BM(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=yy(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 uh(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=yy(this.text,i+(s==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=uh.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(oN.prototype[Symbol.iterator]=aN.prototype[Symbol.iterator]=function(){return this});function UJ(n){try{return new RegExp(n,Pk),!0}catch{return!1}}function yy(n,e){if(e>=n.length)return e;let t=n.lineAt(e),s;for(;e=56320&&s<57344;)e++;return e}const VJ=n=>{let{state:e}=n,t=String(e.doc.lineAt(n.state.selection.main.head).number),{close:s,result:i}=TY(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},WJ={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},GJ=Ae.define({combine(n){return Iu(n,WJ,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function KJ(n){return[QJ,JJ]}const ZJ=Je.mark({class:"cm-selectionMatch"}),XJ=Je.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function oC(n,e,t,s){return(t==0||n(e.sliceDoc(t-1,t))!=Qt.Word)&&(s==e.doc.length||n(e.sliceDoc(s,s+1))!=Qt.Word)}function YJ(n,e,t,s){return n(e.sliceDoc(t,t+1))==Qt.Word&&n(e.sliceDoc(s-1,s))==Qt.Word}const JJ=Js.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(GJ),{state:t}=n,s=t.selection;if(s.ranges.length>1)return Je.none;let i=s.main,r,o=null;if(i.empty){if(!e.highlightWordAroundCursor)return Je.none;let l=t.wordAt(i.head);if(!l)return Je.none;o=t.charCategorizer(i.head),r=t.sliceDoc(l.from,l.to)}else{let l=i.to-i.from;if(l200)return Je.none;if(e.wholeWords){if(r=t.sliceDoc(i.from,i.to),o=t.charCategorizer(i.head),!(oC(o,t,i.from,i.to)&&YJ(o,t,i.from,i.to)))return Je.none}else if(r=t.sliceDoc(i.from,i.to),!r)return Je.none}let a=[];for(let l of n.visibleRanges){let c=new xu(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(XJ.range(h,u)):(h>=i.to||u<=i.from)&&a.push(ZJ.range(h,u)),a.length>e.maxMatches))return Je.none}}return Je.set(a)}},{decorations:n=>n.decorations}),QJ=Ce.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),eQ=({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 tQ(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 xu(n.doc,e,s[s.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new xu(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 nQ=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(r=>r.from===r.to))return eQ({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=tQ(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},Nu=Ae.define({combine(n){return Iu(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new gQ(e),scrollToMatch:e=>Ce.scrollIntoView(e)})}});class lN{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||UJ(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 lQ(this):new rQ(this)}getCursor(e,t=0,s){let i=e.doc?e:at.create({doc:e});return s==null&&(s=i.doc.length),this.regexp?Wc(this,i,t,s):Vc(this,i,t,s)}}class cN{constructor(e){this.spec=e}}function sQ(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 Vc(n,e,t,s){let i;return n.wholeWord&&(i=iQ(e.doc,e.charCategorizer(e.selection.main.head))),n.test&&(i=sQ(n.test,e,i)),new xu(e.doc,n.unquoted,t,s,n.caseSensitive?void 0:r=>r.toLowerCase(),i)}function iQ(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=Vc(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 oQ(n,e,t){return(s,i,r)=>(!t||t(s,i,r))&&n(r[0],e,s,i)}function Wc(n,e,t,s){let i;return n.wholeWord&&(i=aQ(e.charCategorizer(e.selection.main.head))),n.test&&(i=oQ(n.test,e,i)),new oN(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:i},t,s)}function vy(n,e){return n.slice(Rn(n,e,!1),e)}function by(n,e){return n.slice(e,Rn(n,e))}function aQ(n){return(e,t,s)=>!s[0].length||(n(vy(s.input,s.index))!=Qt.Word||n(by(s.input,s.index))!=Qt.Word)&&(n(by(s.input,s.index+s[0].length))!=Qt.Word||n(vy(s.input,s.index+s[0].length))!=Qt.Word)}class lQ extends cN{nextMatch(e,t,s){let i=Wc(this.spec,e,s,e.doc.length).next();return i.done&&(i=Wc(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=Wc(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=Wc(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 tf=_t.define(),Rk=_t.define(),wa=Or.define({create(n){return new Cv(k_(n).create(),null)},update(n,e){for(let t of e.effects)t.is(tf)?n=new Cv(t.value.create(),n.panel):t.is(Rk)&&(n=new Cv(n.query,t.value?Mk:null));return n},provide:n=>dy.from(n,e=>e.panel)});class Cv{constructor(e,t){this.query=e,this.panel=t}}const cQ=Je.mark({class:"cm-searchMatch"}),hQ=Je.mark({class:"cm-searchMatch cm-searchMatch-selected"}),uQ=Js.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(wa))}update(n){let e=n.state.field(wa);(e!=n.startState.field(wa)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return Je.none;let{view:t}=this,s=new Gd;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?hQ:cQ)})}return s.finish()}},{decorations:n=>n.decorations});function Vp(n){return e=>{let t=e.state.field(wa,!1);return t&&t.query.spec.valid?n(e,t):dN(e)}}const wy=Vp((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(Nu);return n.dispatch({selection:i,effects:[Ik(n,s),r.scrollToMatch(i.main,n)],userEvent:"select.search"}),uN(n),!0}),_y=Vp((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(Nu);return n.dispatch({selection:r,effects:[Ik(n,i),o.scrollToMatch(r.main,n)],userEvent:"select.search"}),uN(n),!0}),dQ=Vp((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)}),fQ=({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 xu(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=Vp((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(Ik(n,o)),h.push(t.facet(Nu).scrollToMatch(l.main,n))),n.dispatch({changes:u,selection:l,effects:h,userEvent:"input.replace"}),!0}),pQ=Vp((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 Mk(n){return n.state.facet(Nu).createPanel(n)}function k_(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(Nu);return new lN({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 hN(n){let e=sO(n,Mk);return e&&e.dom.querySelector("[main-field]")}function uN(n){let e=hN(n);e&&e==n.root.activeElement&&e.select()}const dN=n=>{let e=n.state.field(wa,!1);if(e&&e.panel){let t=hN(n);if(t&&t!=n.root.activeElement){let s=k_(n.state,e.query.spec);s.valid&&n.dispatch({effects:tf.of(s)}),t.focus(),t.select()}}else n.dispatch({effects:[Rk.of(!0),e?tf.of(k_(n.state,e.query.spec)):_t.appendConfig.of(vQ)]});return!0},fN=n=>{let e=n.state.field(wa,!1);if(!e||!e.panel)return!1;let t=sO(n,Mk);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:Rk.of(!1)}),!0},mQ=[{key:"Mod-f",run:dN,scope:"editor search-panel"},{key:"F3",run:wy,shift:_y,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:wy,shift:_y,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:fN,scope:"editor search-panel"},{key:"Mod-Shift-l",run:fQ},{key:"Mod-Alt-g",run:VJ},{key:"Mod-d",run:nQ,preventDefault:!0}];class gQ{constructor(e){this.view=e;let t=this.query=e.state.field(wa).query.spec;this.commit=this.commit.bind(this),this.searchField=Pn("input",{value:t.search,placeholder:Fs(e,"Find"),"aria-label":Fs(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Pn("input",{value:t.replace,placeholder:Fs(e,"Replace"),"aria-label":Fs(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Pn("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=Pn("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=Pn("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function s(i,r,o){return Pn("button",{class:"cm-button",name:i,onclick:r,type:"button"},o)}this.dom=Pn("div",{onkeydown:i=>this.keydown(i),class:"cm-search"},[this.searchField,s("next",()=>wy(e),[Fs(e,"next")]),s("prev",()=>_y(e),[Fs(e,"previous")]),s("select",()=>dQ(e),[Fs(e,"all")]),Pn("label",null,[this.caseField,Fs(e,"match case")]),Pn("label",null,[this.reField,Fs(e,"regexp")]),Pn("label",null,[this.wordField,Fs(e,"by word")]),...e.state.readOnly?[]:[Pn("br"),this.replaceField,s("replace",()=>aC(e),[Fs(e,"replace")]),s("replaceAll",()=>pQ(e),[Fs(e,"replace all")])],Pn("button",{name:"close",onclick:()=>fN(e),"aria-label":Fs(e,"close"),type:"button"},["×"])])}commit(){let e=new lN({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:tf.of(e)}))}keydown(e){mY(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?_y:wy)(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(tf)&&!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(Nu).top}}function Fs(n,e){return n.state.phrase(e)}const Om=30,Nm=/[\s\.,:;?!]/;function Ik(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-Om),o=Math.min(i,t+Om),a=n.state.sliceDoc(r,o);if(r!=s.from){for(let l=0;la.length-Om;l--)if(!Nm.test(a[l-1])&&Nm.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 yQ=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"}}),vQ=[wa,b0.low(uQ),yQ],bQ=({path:n,value:e,readOnly:t,onChange:s})=>{const i=se.useRef(null),r=se.useRef(null),o=se.useRef(new zp),a=se.useRef(s);return a.current=s,se.useEffect(()=>{if(!i.current)return;const l=at.create({doc:e,extensions:[jY(),_Y(),EY(),j7(),KJ(),b7(),Ak.define(qJ),YI.of([...HJ,...K7,...mQ,BJ]),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})},wQ="pwc:artifact-navigation";function wee(){return typeof window>"u"?!0:window.dispatchEvent(new Event(wQ,{cancelable:!0}))}const pN=()=>({open:!1,selectedKey:null,selected:null,selectedVersionId:null,tab:"preview",sourceFile:null,panelPercent:55,requestNonce:0,registry:{},autoOpened:{},manuallyClosed:{}});function _Q(n,e){if(e.type==="reset")return{...pN(),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 mN=se.createContext(null),_ee=({children:n,workspaceKey:e,autoOpenOnMount:t=!1,onAskAiFix:s})=>{const[i,r]=se.useReducer(_Q,void 0,pN),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"}),[]),b=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(mN.Provider,{value:b,children:n})};function Wp(){const n=se.useContext(mN);if(!n)throw new Error("Poster artifacts require an ArtifactPanelProvider");return n}function SQ(n,e,t){return an(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/versions/${encodeURIComponent(e)}/source/${t.split("/").map(encodeURIComponent).join("/")}`)}function kQ(n,e,t){return an(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/versions/${encodeURIComponent(e)}/figures/${t.split("/").map(encodeURIComponent).join("/")}`)}function AQ(n){return an(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/export/pdf`)}function lC(n,e){return an(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/versions/${encodeURIComponent(e)}/export/source.zip`)}function Lm(n){return`pwc:latex-paper-draft:${n}`}function xQ(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 EQ(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 CQ=({block:n,forceDialog:e=!1})=>{var Yn,In,tn,cn,hn,nn,hs,Cc,Na;const t=Wp(),s=fC(),i=t.close,[r,o]=se.useState(()=>{var W;return typeof window<"u"&&((W=window.matchMedia)==null?void 0:W.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,b]=se.useState(null),[_,k]=se.useState(!1),[A,C]=se.useState(null),E=se.useRef(null),O=se.useRef(null),F=se.useRef(!1),U=e||r,L=u!==null&&!xQ(a,c);se.useEffect(()=>{var Pe,it;const W=(Pe=window.matchMedia)==null?void 0:Pe.call(window,"(max-width: 760px)");if(!W)return;const _e=()=>o(W.matches);return _e(),(it=W.addEventListener)==null||it.call(W,"change",_e),()=>{var Ot;return(Ot=W.removeEventListener)==null?void 0:Ot.call(W,"change",_e)}},[]),se.useEffect(()=>{var Pe,it;if(!U)return;(it=(Pe=O.current)==null?void 0:Pe.querySelector("[data-artifact-close]"))==null||it.focus(),window.history.pushState({...window.history.state,pwcArtifactPanel:!0},""),F.current=!0;const W=()=>{if(L&&!window.confirm("Leave this view? Unsaved paper edits remain in this browser.")){window.history.pushState({...window.history.state,pwcArtifactPanel:!0},""),F.current=!0;return}F.current=!1,i()},_e=Ot=>{Ot.key==="Escape"&&(Ot.preventDefault(),!(L&&!window.confirm("Leave this view? Unsaved paper edits remain in this browser."))&&(i(),F.current&&(F.current=!1,window.history.back())))};return window.addEventListener("popstate",W),document.addEventListener("keydown",_e),()=>{window.removeEventListener("popstate",W),document.removeEventListener("keydown",_e)}},[i,U,L]),se.useEffect(()=>{if(!U)return;const W=_e=>{if(_e.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 it=Pe[0],Ot=Pe.at(-1);_e.shiftKey&&document.activeElement===it?(_e.preventDefault(),Ot.focus()):!_e.shiftKey&&document.activeElement===Ot&&(_e.preventDefault(),it.focus())};return document.addEventListener("keydown",W),()=>document.removeEventListener("keydown",W)},[U]),se.useEffect(()=>{const W=_e=>{L&&(_e.preventDefault(),_e.returnValue="")};return window.addEventListener("beforeunload",W),()=>window.removeEventListener("beforeunload",W)},[L]),se.useEffect(()=>{const W=_e=>{L&&!window.confirm("Leave this view? Unsaved paper edits remain in this browser.")&&_e.preventDefault()};return window.addEventListener("pwc:artifact-navigation",W),()=>window.removeEventListener("pwc:artifact-navigation",W)},[L]);const q=yo({queryKey:["chat-latex-paper",n.artifact_id],queryFn:async()=>{const W=await fetch(an(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}`),{credentials:"include",cache:"no-store"});if(!W.ok)throw new Error("Could not load paper details");return W.json()},enabled:!!n.artifact_id,staleTime:5e3}),B=q.data,N=B==null?void 0:B.source_head,ee=B==null?void 0:B.preview_head,Q=yo({queryKey:["chat-latex-paper-history",n.artifact_id,A],queryFn:async()=>{const W=new URLSearchParams({limit:"20"});A&&W.set("cursor",A);const _e=await fetch(an(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions?${W}`),{credentials:"include",cache:"no-store"});if(!_e.ok)throw new Error("Could not load paper history");return _e.json()},enabled:_&&!!n.artifact_id,staleTime:Number.POSITIVE_INFINITY}),te=yo({queryKey:["chat-latex-paper-manifest",n.artifact_id,N==null?void 0:N.version_id],queryFn:async()=>{const W=await fetch(an(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions/${encodeURIComponent(N.version_id)}/manifest`),{credentials:"include",cache:"no-store"});if(!W.ok)throw new Error("Could not load paper files");return W.json()},enabled:t.state.tab==="files"&&!!(N!=null&&N.version_id),staleTime:Number.POSITIVE_INFINITY}),ae=((Yn=te.data)==null?void 0:Yn.files.filter(W=>W.media_type==="text/x-tex"||W.media_type==="application/x-bibtex"))??[],Se=((In=te.data)==null?void 0:In.files.filter(W=>W.media_type==="image/png"||W.media_type==="image/jpeg"||W.media_type==="application/pdf"))??[],z=yo({queryKey:["chat-latex-paper-source-files",n.artifact_id,N==null?void 0:N.version_id],queryFn:async()=>Object.fromEntries(await Promise.all(ae.map(async W=>{const _e=await fetch(SQ(n.artifact_id,N.version_id,W.path),{credentials:"include",cache:"no-store"});if(!_e.ok)throw new Error("Could not load paper source");return[W.path,await _e.text()]}))),enabled:t.state.tab==="files"&&!!(N!=null&&N.version_id&&ae.length),staleTime:Number.POSITIVE_INFINITY});se.useEffect(()=>{m(!1)},[N==null?void 0:N.version_id]),se.useEffect(()=>{var Ot;if(!(N!=null&&N.version_id)||!z.data||E.current===N.version_id)return;const W=z.data;let _e=W,Pe=!1,it=N.version_id;try{const wi=window.localStorage.getItem(Lm(n.artifact_id)),Ji=wi?JSON.parse(wi):null;Ji!=null&&Ji.files&&typeof Ji.files=="object"&&(_e=Ji.files,Pe=Ji.parentVersionId!==N.version_id,it=Ji.parentVersionId)}catch{}E.current=N.version_id,l(_e),h(W),d(it),v(Pe),m(!0),Pe&&b("This local draft is based on an older paper version. Copy or discard it before saving the latest version."),(!t.state.sourceFile||!_e[t.state.sourceFile])&&t.setSourceFile(((Ot=te.data)==null?void 0:Ot.root_document)??null)},[n.artifact_id,(tn=te.data)==null?void 0:tn.root_document,t,N==null?void 0:N.version_id,z.data]),se.useEffect(()=>{if(!u||!n.artifact_id)return;const W=Lm(n.artifact_id);if(!L){window.localStorage.removeItem(W);return}window.localStorage.setItem(W,JSON.stringify({parentVersionId:u,files:a}))},[n.artifact_id,L,u,a]);const P=Kp({mutationFn:async()=>{var Pe;if(!(N!=null&&N.version_id))throw new Error("Paper source is not ready to save");const W=await fetch(an(`/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:N.version_id,files:Object.entries(a).map(([it,Ot])=>({path:it,content:Ot}))})}),_e=await W.json().catch(()=>null);if(!W.ok)throw new Error(((Pe=_e==null?void 0:_e.detail)==null?void 0:Pe.message)??"Could not save paper");return _e},onSuccess:W=>{var _e,Pe;s.setQueryData(["chat-latex-paper",n.artifact_id],W),s.invalidateQueries({queryKey:["chat-latex-paper-manifest",n.artifact_id]}),s.invalidateQueries({queryKey:["chat-latex-paper-source-files",n.artifact_id]}),E.current=((_e=W.source_head)==null?void 0:_e.version_id)??null,h(a),d(((Pe=W.source_head)==null?void 0:Pe.version_id)??null),window.localStorage.removeItem(Lm(n.artifact_id)),b(null),v(!1),t.setTab("preview")},onError:W=>b(W instanceof Error?W.message:"Could not save paper")}),D=Kp({mutationFn:async W=>{var it;if(!(N!=null&&N.version_id))throw new Error("Paper source is not ready to restore");const _e=await fetch(an(`/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:W,expected_parent_version_id:N.version_id})}),Pe=await _e.json().catch(()=>null);if(!_e.ok)throw new Error(((it=Pe==null?void 0:Pe.detail)==null?void 0:it.message)??"Could not restore paper version");return Pe},onSuccess:W=>{s.setQueryData(["chat-latex-paper",n.artifact_id],W),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),C(null),b(null),t.setTab("preview")},onError:W=>b(W instanceof Error?W.message:"Could not restore paper version")}),M=Kp({mutationFn:async W=>{var Ot;if(!(N!=null&&N.version_id))throw new Error("Paper source is not ready to upload a figure");if(L)throw new Error("Save or discard text edits before uploading a figure");const _e=new FormData;_e.set("expected_parent_version_id",N.version_id),_e.set("path",`figures/${W.name}`),_e.set("figure",W);const Pe=await fetch(an(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/figures`),{method:"POST",credentials:"include",body:_e}),it=await Pe.json().catch(()=>null);if(!Pe.ok)throw new Error(((Ot=it==null?void 0:it.detail)==null?void 0:Ot.message)??"Could not upload figure");return it},onSuccess:W=>{s.setQueryData(["chat-latex-paper",n.artifact_id],W),s.invalidateQueries({queryKey:["chat-latex-paper-manifest",n.artifact_id]}),s.invalidateQueries({queryKey:["chat-latex-paper-source-files",n.artifact_id]}),b(null)},onError:W=>b(W instanceof Error?W.message:"Could not upload figure")}),x=Kp({mutationFn:async()=>{const W=await fetch(an(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/refresh-compile`),{method:"POST",credentials:"include"});if(!W.ok)throw new Error("Could not refresh paper compilation");return W.json()},onSuccess:W=>s.setQueryData(["chat-latex-paper",n.artifact_id],W)}).mutate,I=N==null?void 0:N.version_id,K=N==null?void 0:N.compile_status;se.useEffect(()=>{if(!I||!n.artifact_id||!["queued","compiling"].includes(K??""))return;const W=window.setTimeout(()=>x(),2e3);return()=>window.clearTimeout(W)},[n.artifact_id,x,K,I]);const Y=t.state.sourceFile??((cn=te.data)==null?void 0:cn.root_document)??null,ue=(B==null?void 0:B.editing_enabled)===!0&&!!(N!=null&&N.version_id)&&p&&!g&&!P.isPending,oe=new Map(((hn=Q.data)==null?void 0:hn.items.map(W=>[W.version_id,W.version]))??[]),H=ee?an(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions/${encodeURIComponent(ee.version_id)}/preview`):null,V=!!(N&&ee&&N.version_id!==ee.version_id),J=()=>!L||window.confirm("Leave this view? Unsaved paper edits remain in this browser."),ie=W=>W!==t.state.tab&&!J()?!1:(t.setTab(W),!0),he=W=>{var Pe,it;if(!["ArrowLeft","ArrowRight","Home","End"].includes(W.key))return;W.preventDefault();const _e=W.key==="ArrowLeft"||W.key==="Home"?"preview":"files";ie(_e)&&((it=(Pe=W.currentTarget.parentElement)==null?void 0:Pe.querySelector(`#paper-${_e}-tab`))==null||it.focus())},we=W=>{W!==Y&&L&&!window.confirm("Switch files? Unsaved edits stay in this browser.")||t.setSourceFile(W)},Ye=()=>{const W=window.prompt("New TeX or BibTeX file name","section.tex");if(W){if(!cC(W)||a[W]){b("Choose a new safe .tex or .bib filename.");return}if(Object.keys(a).length>=100){b("A paper can contain at most 100 files.");return}l({...a,[W]:""}),b(null),t.setSourceFile(W)}},Ct=()=>{var Pe;if(!Y||Y===((Pe=te.data)==null?void 0:Pe.root_document))return;const W=window.prompt("Rename file",Y);if(!W||W===Y)return;if(!cC(W)||a[W]){b("Choose a new safe .tex or .bib filename.");return}const _e={...a,[W]:a[Y]};delete _e[Y],l(_e),t.setSourceFile(W)},pt=()=>{var _e,Pe;if(!Y||Y===((_e=te.data)==null?void 0:_e.root_document)||!window.confirm(`Delete ${Y}?`))return;const W={...a};delete W[Y],l(W),t.setSourceFile(((Pe=te.data)==null?void 0:Pe.root_document)??null)},At=()=>{!g||!window.confirm("Discard this stale local draft?")||(window.localStorage.removeItem(Lm(n.artifact_id)),l(c),d((N==null?void 0:N.version_id)??null),v(!1),b(null))},rt=()=>{J()&&(i(),U&&F.current&&(F.current=!1,window.history.back()))},kn=()=>{if(!N||N.compile_status!=="failed"||N.repair_exhausted)return;const W=(N.compile_diagnostics??[]).slice(0,20).map(_e=>`${_e.file??"project"}${_e.line?`:${_e.line}`:""}: ${_e.message}`).join(` +`);t.askAiToFix(`Repair the failed paper source version ${N.version_id}. Use pwc-paper to inspect and repair it; make no more than three attempts. Compiler diagnostics: +${W||"No compiler diagnostic was available."}`)},$t=W=>{!W||!ie("files")||t.setSourceFile(W)};return S.jsxs("section",{ref:O,className:`chat-artifact-panel${U?" is-dialog":" is-docked"}`,role:U?"dialog":"complementary","aria-modal":U?!0:void 0,"aria-labelledby":"latex-paper-title","data-testid":"latex-paper-panel",children:[S.jsxs("header",{children:[S.jsxs("div",{children:[S.jsx("span",{children:"Private paper"}),S.jsx("h2",{id:"latex-paper-title",children:n.title}),S.jsxs("p",{className:"chat-paper-status",role:"status","aria-live":"polite",children:[N?`Source v${N.version} · ${N.compile_status}`:"Preparing paper source",V?" · 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:()=>{C(null),k(!_)},children:"Version history"}),S.jsx("button",{type:"button","data-artifact-close":!0,"aria-label":U?"Back to conversation":"Close paper",onClick:rt,children:S.jsx(E_,{})})]})]}),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"?q.isError?S.jsxs("div",{role:"alert",children:["Could not load paper details. ",S.jsx("button",{type:"button",onClick:()=>void q.refetch(),children:"Retry paper details"})]}):H?S.jsx(oZ,{url:H,downloadUrl:AQ(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):N?N.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(N.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(W=>S.jsx("button",{type:"button","aria-pressed":Y===W.path,onClick:()=>we(W.path),children:W.path},W.path)),ue&&S.jsxs("button",{type:"button",className:"latex-file-action","aria-label":"Add TeX file",onClick:Ye,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:W=>{var Pe;const _e=(Pe=W.currentTarget.files)==null?void 0:Pe[0];W.currentTarget.value="",_e&&M.mutate(_e)}})]}),Se.map(W=>N&&S.jsx("a",{href:kQ(n.artifact_id,N.version_id,W.path),download:!0,children:W.path},W.path))]}),S.jsxs("div",{className:"latex-editor-column",children:[Y&&a[Y]!==void 0?S.jsx(bQ,{path:Y,value:a[Y],readOnly:!ue,onChange:W=>l({...a,[Y]:W})}):S.jsx("p",{children:z.isError?"Source could not be loaded.":"Loading source…"}),ue&&Y&&Y!==((nn=te.data)==null?void 0:nn.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."}),(hs=Q.data)==null?void 0:hs.items.map(W=>{var _e,Pe,it,Ot;return S.jsxs("article",{children:[S.jsxs("strong",{children:["v",W.version," · ",W.compile_status]}),S.jsx("span",{children:EQ(W)}),W.created_at&&S.jsx("time",{dateTime:W.created_at,children:W.created_at}),W.parent_version_id&&S.jsxs("span",{children:["Parent ",oe.has(W.parent_version_id)?`v${oe.get(W.parent_version_id)}`:W.parent_version_id]}),(_e=W.provenance)!=null&&_e.changed_files.length?S.jsxs("span",{children:["Changed: ",W.provenance.changed_files.join(", ")]}):null,((Pe=W.provenance)==null?void 0:Pe.restored_from_version_id)&&S.jsxs("span",{children:["Restored from ",W.provenance.restored_from_version_id]}),((it=W.provenance)==null?void 0:it.change_summary)&&S.jsx("p",{children:W.provenance.change_summary}),(Ot=W.provenance)==null?void 0:Ot.reference_changes.map(wi=>S.jsx("p",{children:wi},wi)),S.jsx("a",{href:lC(n.artifact_id,W.version_id),download:!0,children:"Source ZIP"}),(B==null?void 0:B.editing_enabled)&&(N==null?void 0:N.version_id)&&W.version_id!==N.version_id&&S.jsxs("button",{type:"button",disabled:D.isPending||L,onClick:()=>D.mutate(W.version_id),children:["Restore version ",W.version]})]},W.version_id)}),((Cc=Q.data)==null?void 0:Cc.next_cursor)&&S.jsx("button",{type:"button",onClick:()=>C(Q.data.next_cursor??null),children:"Load older versions"})]})]}),S.jsxs("footer",{children:[S.jsxs("div",{className:"chat-artifact-metadata","aria-live":"polite",children:[V&&S.jsx("strong",{children:"Out of date"}),(Na=N==null?void 0:N.compile_diagnostics)==null?void 0:Na.map((W,_e)=>S.jsxs("button",{type:"button",onClick:()=>$t(W.file),className:"latex-compile-diagnostic",children:[W.file?`${W.file}${W.line?`:${W.line}`:""}: `:"",W.message]},`${W.file??"global"}:${W.line??""}:${_e}`)),y&&S.jsx("span",{role:"alert",children:y}),g&&S.jsx("button",{type:"button",onClick:At,children:"Discard stale local draft"})]}),S.jsxs("div",{className:"chat-artifact-actions",children:[(N==null?void 0:N.compile_status)==="failed"&&!N.repair_exhausted&&S.jsx("button",{type:"button",onClick:kn,children:"Ask AI to fix"}),(N==null?void 0:N.compile_status)==="failed"&&N.repair_exhausted&&S.jsx("span",{role:"status",children:"AI repair attempts exhausted"}),t.state.tab==="files"&&ue&&S.jsxs("button",{type:"button",disabled:!L,onClick:()=>P.mutate(),children:[S.jsx(XN,{}),P.isPending?"Saving…":"Save & Compile"]}),N&&S.jsxs("a",{href:lC(n.artifact_id,N.version_id),download:!0,children:[S.jsx(T_,{})," Source ZIP"]})]})]})]})},$Q="https://github.com/Chenruishuo/posterly/tree/b9f42e5578a49a27525a68f85376bb3bb25af86f";function TQ(){if(typeof window>"u")return null;const n=window.location.pathname.match(/^\/share\/([^/]+)/u);return n?decodeURIComponent(n[1]):null}function gN(n){if(n.scope==="public"){const s=TQ();if(!s||!n.public_capability)return null;const i=`/api/v1/chat/shares/${encodeURIComponent(s)}/artifacts/${encodeURIComponent(n.public_capability)}`;return{preview:an(`${i}/preview`),png:an(`${i}/download/png`),pdf:an(`${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)=>an(`${e}/${s}/${i.split("/").map(encodeURIComponent).join("/")}`);return{preview:an(`${e}/preview`),png:t("download","poster.png"),pdf:null,manifest:an(`${e}/manifest`),source:s=>t("source",s),gate:s=>t("source",s),download:s=>t("download",s)}}const yN=n=>({passed:"Passed",warnings:"Passed with warnings",failed:"Draft—checks failed"})[n??"passed"];function PQ(){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 RQ=({forceDialog:n=!1,readerFallback:e=!1})=>{var A,C,E,O;const t=Wp(),s=t.close,{state:i}=t,r=i.selected,o=PQ(),a=n||o,l=se.useRef(null),c=se.useRef(!1),h=yo({queryKey:["chat-artifact-versions",r==null?void 0:r.artifact_id],queryFn:async()=>{const F=await fetch(an(`/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?gN(d):null,g=yo({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=yo({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 U,L;if(!i.open||!a)return;(L=(U=l.current)==null?void 0:U.querySelector("[data-artifact-close]"))==null||L.focus(),window.history.pushState({...window.history.state,pwcArtifactPanel:!0},""),c.current=!0;const F=()=>{c.current=!1,s()};return window.addEventListener("popstate",F),()=>window.removeEventListener("popstate",F)},[s,a,i.open]),se.useEffect(()=>{if(!i.open||!a)return;const F=U=>{if(U.key==="Escape"){U.preventDefault(),s(),c.current&&(c.current=!1,window.history.back());return}if(U.key!=="Tab"||!l.current)return;const L=[...l.current.querySelectorAll('button:not([disabled]), a[href], select:not([disabled]), [tabindex]:not([tabindex="-1"])')];if(!L.length)return;const q=L[0],B=L.at(-1);U.shiftKey&&document.activeElement===q?(U.preventDefault(),B.focus()):!U.shiftKey&&document.activeElement===B&&(U.preventDefault(),q.focus())};return document.addEventListener("keydown",F),()=>document.removeEventListener("keydown",F)},[s,a,i.open]),!i.open||!d||!p)return null;const b=()=>{s(),a&&c.current&&(c.current=!1,window.history.back())},_=(C=g==null?void 0:g.downloads[0])==null?void 0:C.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:b,children:S.jsx(E_,{})})]}),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:yN(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(zk,{})," PNG"]}),d.gate_status!=="failed"&&k&&S.jsxs("a",{href:k,download:!0,children:[S.jsx(zk,{})," PDF"]}),d.scope==="owner"&&g&&p.source&&S.jsxs("a",{href:p.source(g.entrypoint),download:!0,children:[S.jsx(T_,{})," 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:$Q,target:"_blank",rel:"noreferrer",children:[S.jsx(vC,{})," Posterly source · AGPL-3.0"]})]})]})]})},hC=n=>{var t;const{state:e}=Wp();return((t=e.selected)==null?void 0:t.artifact_kind)==="latex_paper"?S.jsx(CQ,{block:e.selected,...n}):S.jsx(RQ,{...n})},MQ=({block:n})=>{const e=Wp(),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(T_,{"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=gN(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:yN(n.gate_status)})]})]})};function IQ(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 OQ(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 NQ(n,e=240){const t=n.content.trim();return t.length<=e?t:`${t.slice(0,e).trimEnd()}…`}const LQ="https://huggingface.co/pro",DQ="https://huggingface.co/docs/inference-providers/pricing",FQ="https://paperswithcode.co/chat",vN=()=>S.jsx("span",{className:"chat-caret"}),jQ=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},zQ=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($_,{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})},BQ=({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(C_,{})," ",S.jsx("span",{children:"Thinking…"})]}),S.jsxs("div",{className:"chat-reason-live-body chat-answer chat-reason-markdown",children:[S.jsx(Tv,{text:n.text,streaming:!0,papers:e,citations:t,webCitations:s}),S.jsx(vN,{})]})]}):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(Tv,{text:n.text,papers:e,citations:t,webCitations:s})})]}),qQ=({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(C_,{}):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(SC,{routeId:v.route_id,paper:e[v.route_id],className:"chat-hit-title",children:v.title})}),S.jsx("div",{className:"chat-hit-meta",children:[IQ(v.metadata),OQ(v.metadata)].filter(Boolean).join(" · ")}),S.jsxs("div",{className:"chat-hit-snippet",children:[NQ(v),v.content_truncated&&S.jsx("span",{className:"chat-hit-truncated",children:" (truncated)"})]})]},v.route_id))})]})]})]})},UQ=({block:n,papers:e,citations:t,webCitations:s,streaming:i})=>S.jsxs("div",{className:"chat-answer",children:[S.jsx(Tv,{text:n.text,streaming:i,papers:e,citations:t,webCitations:s}),i&&!!n.text.trim()&&S.jsx(vN,{})]}),VQ=({block:n})=>S.jsx(MK,{block:n}),bN=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}},WQ=({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}=bN(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(Hy,{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"})]})]})})},GQ=({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}=bN(e),y=pC({draft:c,onChange:h,enabled:i,textareaRef:g});se.useLayoutEffect(v,[v,c.text]);const b=!!c.text.trim()&&c.text.length<=8e3&&(i||c.paperMentions.length===0),_=()=>{if(!b||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(Hy,{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:!b||u,onClick:_,children:"Send"})]})]})})},See=({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(WQ,{id:n,text:e,paperSelection:s,editNotice:a,onCancel:c,onResend:h,onResendDraft:u}):S.jsx(GQ,{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(Hy,{selection:s}),S.jsx("div",{className:"chat-bubble",onDoubleClick:zQ,children:S.jsx(HQ,{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,onRetryWithLuna:i,onArchiveOldChats:r,onArchiveOldestChats:o,archivePending:a=null,hfBilling:l=null,openRouterFallbackEnabled:c=!1,feedbackEnabled:h=!1})=>{var F,U,L,q;const[u,d]=se.useState(null),[p,m]=se.useState(!1),[g,v]=se.useState(!1),[y,b]=se.useState(!1),[_,k]=se.useState(""),A=se.useRef(null),C=`chat-feedback-panel-${n.id}`,E=h&&!n.streaming&&!n.error&&!!((F=n.blocks)!=null&&F.some(B=>B.kind==="answer"&&B.text.trim()));se.useEffect(()=>{var B;y&&((B=A.current)==null||B.focus())},[y]);const O=async(B,N)=>{if(!p){m(!0),v(!1);try{N===void 0?await jk.reportFeedback(n.id,B):await jk.reportFeedback(n.id,B,N),d(B),b(!1),k("")}catch{v(!0)}finally{m(!1)}}};return S.jsx("div",{className:"chat-msg chat-msg-assistant",children:S.jsxs("div",{className:"chat-msg-blocks",children:[(U=n.blocks)==null?void 0:U.map((B,N)=>{var Se;const ee=`${n.id}-${N}`,Q="citations"in B&&B.citations!==void 0?B.citations:n.citations??[],te=Object.fromEntries(Q.filter(z=>(z.kind==="catalog_paper"||z.kind==="paper"||!z.kind&&z.route_id)&&z.route_id).map(z=>[z.route_id,z])),ae=Object.fromEntries(Q.filter(z=>(z.kind==="external_source"||z.kind==="web")&&z.url).map(z=>[z.url,z]));return B.kind==="reasoning"?S.jsx(BQ,{block:B,papers:e,citations:te,webCitations:ae,onToggle:()=>t(n.id,N)},ee):B.kind==="tool"?S.jsx(qQ,{block:B,papers:e,onToggle:()=>t(n.id,N)},ee):B.kind==="app"?S.jsx(VQ,{block:B},B.instance_id||ee):B.kind==="artifact"?S.jsx(MQ,{block:B},B.publication_id||B.version_id||ee):S.jsx(UQ,{block:B,papers:e,citations:te,webCitations:ae,streaming:!!(n.streaming&&N===(((Se=n.blocks)==null?void 0:Se.length)??0)-1)},ee)}),n.streaming&&n.compacting&&S.jsx(eL,{}),!n.compacting&&jQ(n)&&S.jsx("div",{className:"chat-waiting",role:"status","aria-live":"polite",children:S.jsx("span",{className:"chat-thinking",children:(((L=n.blocks)==null?void 0:L.length)??0)===0?n.status??"Thinking…":"Thinking…"})}),n.error&&S.jsxs("div",{className:"chat-error",children:[((q=n.blocks)==null?void 0:q.some(B=>B.kind==="answer"&&B.text.trim()))&&S.jsx("strong",{children:"Incomplete—response interrupted. "}),["context_too_large","provider_error","persistence_error"].includes(n.errorCode??"")&&s&&S.jsx("button",{type:"button",onClick:s,children:"Retry"}),S.jsx("span",{children:n.errorCode==="chat_disabled_interrupted"?"Chat was disabled while this response was running. The partial response is saved. Please try again later.":n.errorCode==="chat_session_quota_exceeded"?n.error:`The assistant hit an error: ${n.error}`}),["hf_inference_billing_required","hf_inference_credential_expired"].includes(n.errorCode??"")&&S.jsx("a",{href:"/settings",children:"Re-sign in with Hugging Face"}),n.errorCode==="hf_inference_billing_exhausted"&&S.jsxs(S.Fragment,{children:[i&&S.jsx("button",{type:"button",onClick:i,children:"Retry with GPT-5.6 Luna"}),(l==null?void 0:l.account_type)==="Free"&&!l.bill_to?S.jsx("a",{href:LQ,target:"_blank",rel:"noreferrer",children:"Upgrade to Hugging Face PRO — $9/month for 20× more included credits"}):S.jsx("a",{href:(l==null?void 0:l.usage_url)??"/settings",target:l?"_blank":void 0,rel:l?"noreferrer":void 0,children:"Review Hugging Face usage and billing"}),S.jsx("a",{href:DQ,target:"_blank",rel:"noreferrer",children:"Inference Providers pricing and billing details"})]}),n.errorCode==="openrouter_monthly_budget_exhausted"&&S.jsxs(S.Fragment,{children:[c?S.jsx("span",{children:"This response started on the shared allowance. Your connected OpenRouter key will be used when you explicitly retry."}):S.jsx("a",{href:"/settings#openrouter-byok",children:"Connect your own OpenRouter key"}),S.jsx("span",{children:"Or select a Hugging Face-backed model and explicitly retry."})]}),n.errorCode==="openrouter_staging_funding_disabled"&&S.jsx("a",{href:FQ,children:"Continue on paperswithcode.co"}),n.errorCode==="openrouter_unavailable"&&S.jsxs(S.Fragment,{children:[S.jsx("a",{href:"/settings#openrouter-byok",children:"Bring your own key in Settings"}),S.jsx("a",{href:"https://github.com/huggingface/paperswithcode-feedback",target:"_blank",rel:"noreferrer",children:"File an issue"})]}),n.errorCode==="openrouter_byok_billing_error"&&S.jsx("a",{href:"https://openrouter.ai/settings/credits",target:"_blank",rel:"noreferrer",children:"Review OpenRouter billing"}),["openrouter_byok_credential_invalid","openrouter_byok_rate_limit"].includes(n.errorCode??"")&&S.jsx("a",{href:"/settings#openrouter-byok",children:"Review OpenRouter settings"}),n.errorCode==="chat_session_quota_exceeded"&&(r||o)&&S.jsxs("span",{className:"chat-error-actions",children:[r&&S.jsx("button",{type:"button",disabled:a!==null,onClick:r,children:a==="old"?"Archiving…":"Archive chats older than 30 days"}),o&&S.jsx("button",{type:"button",disabled:a!==null,onClick:o,children:a==="oldest"?"Archiving…":"Archive oldest 50 chats"})]})]}),!n.streaming&&n.finishReason&&!["success","scope_blocked"].includes(n.finishReason)&&S.jsx("div",{className:"chat-finish-note",children:["tool_limit","max_turns"].includes(n.finishReason)?"The assistant stopped at the execution limit.":`The assistant stopped early (${n.finishReason.replace(/_/g," ")}).`}),E&&S.jsxs("div",{className:"chat-feedback","aria-label":"Rate this response",children:[S.jsx("span",{className:"chat-feedback-label",children:u===null?"Was this helpful?":"Thanks for your feedback"}),S.jsx("button",{type:"button",className:`chat-feedback-action${u===!0?" chat-feedback-action-selected":""}`,"aria-label":"Helpful response","aria-pressed":u===!0,disabled:p,onClick:()=>{b(!1),O(!0)},children:S.jsx(JN,{"aria-hidden":"true"})}),S.jsx("button",{type:"button",className:`chat-feedback-action${u===!1?" chat-feedback-action-selected":""}`,"aria-label":"Unhelpful response","aria-pressed":u===!1,"aria-expanded":y,"aria-controls":C,disabled:p,onClick:()=>{v(!1),b(!0)},children:S.jsx(YN,{"aria-hidden":"true"})}),g&&S.jsx("span",{className:"chat-feedback-error",role:"status",children:"Couldn’t send feedback."})]}),E&&y&&S.jsxs("div",{className:"chat-feedback-panel",id:C,role:"group","aria-labelledby":`${C}-title`,children:[S.jsx("div",{className:"chat-feedback-panel-title",id:`${C}-title`,children:"Additional feedback"}),S.jsx("label",{className:"chat-feedback-panel-label",htmlFor:`${C}-comment`,children:"Tell us what went wrong (optional)"}),S.jsx("textarea",{ref:A,id:`${C}-comment`,className:"chat-feedback-comment",value:_,maxLength:500,rows:4,disabled:p,onChange:B=>k(B.target.value),onKeyDown:B=>{B.key==="Escape"&&(B.preventDefault(),b(!1))}}),S.jsxs("div",{className:"chat-feedback-panel-actions",children:[S.jsx("button",{type:"button",className:"chat-feedback-skip",disabled:p,onClick:()=>void O(!1),children:"Skip"}),S.jsx("button",{type:"button",className:"chat-feedback-submit",disabled:p,onClick:()=>void O(!1,_.trim()||void 0),children:p?"Submitting…":"Submit"})]})]})]})})},KQ={chat:{breakpoint:760,left:360,right:360},shared:{breakpoint:760,left:360,right:360},reader:{breakpoint:1260,left:840,right:420}};function Ua(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 Aee=({children:n,variant:e})=>{var b;const t=Wp(),s=KQ[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=Ua(l,t.state.panelPercent,s.left,s.right),m=((b=t.state.selected)==null?void 0:b.artifact_kind)==="latex_paper"?"paper":"poster",g=_=>{var A;const k=Ua(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(Ua(l,0,s.left,s.right)),"aria-valuemax":Math.floor(Ua(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(Ua(l,p+(_.key==="ArrowLeft"?2:-2),s.left,s.right))),_.key==="Home"&&t.setPanelPercent(Ua(l,25,s.left,s.right)),_.key==="End"&&t.setPanelPercent(Ua(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{_ee as A,dee as C,oZ as P,L6 as R,See as U,Aee as a,kee as b,Wp as c,wee as d,A_ as e,I6 as u};