@betteroffice/docx 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/README.md +19 -0
  2. package/dist/chunk-AEQOEQJ7.mjs +57 -0
  3. package/dist/chunk-AZ52IWB6.mjs +16 -0
  4. package/dist/{chunk-SINEY6ZF.mjs → chunk-B4IR6YP4.mjs} +1 -1
  5. package/dist/chunk-GGEGIQRK.mjs +1 -0
  6. package/dist/chunk-IFT6DUJX.mjs +1 -0
  7. package/dist/chunk-J7LNO6SM.mjs +1 -0
  8. package/dist/{chunk-H3JCIGWK.mjs → chunk-NJHOPXZW.mjs} +1 -1
  9. package/dist/{chunk-KXNZFTTK.mjs → chunk-WBH3SXI6.mjs} +1 -1
  10. package/dist/chunk-WON6K4FY.mjs +1 -0
  11. package/dist/chunk-Y7RUNRU2.mjs +1 -0
  12. package/dist/collaboration/index.d.mts +65 -0
  13. package/dist/collaboration/index.mjs +1 -0
  14. package/dist/{content-sSHuWw49.d.mts → content-MOZ6hKP4.d.mts} +357 -357
  15. package/dist/core.d.mts +148 -341
  16. package/dist/core.mjs +1 -1
  17. package/dist/{displayListQueries-p-ijSzdh.d.mts → displayListQueries-BJlo7Jkz.d.mts} +24 -6
  18. package/dist/docx/index.d.mts +40 -520
  19. package/dist/docx/index.mjs +2 -2
  20. package/dist/editor/index.d.mts +36 -151
  21. package/dist/editor/index.mjs +1 -1
  22. package/dist/{fontLoader-Bx6DK6-2.d.mts → fontLoader-aSewHMKF.d.mts} +65 -63
  23. package/dist/{formatting-DoL7KBSL.d.mts → formatting-D1EPSaJP.d.mts} +1 -1
  24. package/dist/{rustDisplayList-dqunvwxH.d.mts → frameDelta-D965X8yK.d.mts} +3 -274
  25. package/dist/generated/edit/docx_edit_bg.wasm +0 -0
  26. package/dist/generated/layout/docx_layout_bg.wasm +0 -0
  27. package/dist/generated/opc/ooxml_opc_bg.wasm +0 -0
  28. package/dist/generated/parse/docx_parse_bg.wasm +0 -0
  29. package/dist/index-Dx4Z3lkz.d.mts +1010 -0
  30. package/dist/layout/index.d.mts +19 -240
  31. package/dist/layout/index.mjs +1 -1
  32. package/dist/layout/pagination/index.d.mts +10 -58
  33. package/dist/layout/pagination/index.mjs +1 -1
  34. package/dist/layout/render/index.d.mts +11 -11
  35. package/dist/layout/render/index.mjs +1 -1
  36. package/dist/plugin-api/RenderedDomContext.d.mts +9 -9
  37. package/dist/plugin-api/index.d.mts +191 -6
  38. package/dist/plugin-api/resolveItemPositions.d.mts +4 -5
  39. package/dist/rustDisplayList-BRuZBqdL.d.mts +278 -0
  40. package/dist/rustMeasureSource-D1KsQvVC.d.mts +106 -0
  41. package/dist/selectiveSave-CVoajSKE.d.mts +56 -0
  42. package/dist/styles/index.d.mts +4 -39
  43. package/dist/styles/index.mjs +1 -1
  44. package/dist/{styles-VxNcXLdi.d.mts → styles-Dn_o3Vo5.d.mts} +2 -2
  45. package/dist/types/content.d.mts +2 -2
  46. package/dist/types/document.d.mts +40 -14
  47. package/dist/{types-DNrYr6yQ.d.mts → types-BfqUl2h_.d.mts} +3 -71
  48. package/dist/utils/comments.d.mts +2 -2
  49. package/dist/utils/index.d.mts +110 -576
  50. package/dist/utils/index.mjs +1 -84
  51. package/dist/utils/stylePreview.d.mts +2 -2
  52. package/dist/utils/units.d.mts +33 -2
  53. package/dist/wasm-DO3BUV7C.mjs +1 -0
  54. package/dist/wasm-NWXX4H5G.mjs +1 -0
  55. package/dist/wasm-edit.d.mts +14 -5
  56. package/dist/wasm-edit.mjs +1 -1
  57. package/dist/wasm-layout.d.mts +10 -1
  58. package/dist/wasm-layout.mjs +1 -1
  59. package/dist/wasm-opc.mjs +1 -1
  60. package/dist/wasm-parse.mjs +1 -1
  61. package/dist/yrs/index.d.mts +6 -881
  62. package/dist/yrs/index.mjs +1 -1
  63. package/dist/yrs/residentEngineWorker.mjs +1 -1
  64. package/package.json +16 -139
  65. package/dist/Subscribable-DOz6Ohoo.d.mts +0 -33
  66. package/dist/agent/index.d.mts +0 -531
  67. package/dist/agent/index.mjs +0 -1
  68. package/dist/chunk-34K66SY4.mjs +0 -1
  69. package/dist/chunk-4RCISPPE.mjs +0 -1
  70. package/dist/chunk-52GB3Y42.mjs +0 -1
  71. package/dist/chunk-6NEKRDXF.mjs +0 -1
  72. package/dist/chunk-6PW4CWUG.mjs +0 -1
  73. package/dist/chunk-7DEIW7FL.mjs +0 -1
  74. package/dist/chunk-7PCO5I2O.mjs +0 -1
  75. package/dist/chunk-BI3B33LI.mjs +0 -1
  76. package/dist/chunk-BIQWVK5P.mjs +0 -2
  77. package/dist/chunk-CIRN3LZA.mjs +0 -1
  78. package/dist/chunk-DXKG3HQ5.mjs +0 -16
  79. package/dist/chunk-FPZBTOD6.mjs +0 -1
  80. package/dist/chunk-FZIA7OFY.mjs +0 -1
  81. package/dist/chunk-GWKJ2Y4Y.mjs +0 -1
  82. package/dist/chunk-HJGAQIU7.mjs +0 -2
  83. package/dist/chunk-I6KKMUUC.mjs +0 -1
  84. package/dist/chunk-IL5JZJT7.mjs +0 -1
  85. package/dist/chunk-JY6ILTNS.mjs +0 -1
  86. package/dist/chunk-KEE52TT5.mjs +0 -1
  87. package/dist/chunk-KVKLLTDP.mjs +0 -58
  88. package/dist/chunk-L5ISVQ3W.mjs +0 -1
  89. package/dist/chunk-LDUWIM7M.mjs +0 -1
  90. package/dist/chunk-N5Q3YN64.mjs +0 -1
  91. package/dist/chunk-NEWOMDTX.mjs +0 -1
  92. package/dist/chunk-O2QSE2I7.mjs +0 -1
  93. package/dist/chunk-OJOHXQNQ.mjs +0 -1
  94. package/dist/chunk-OMR3TWCD.mjs +0 -2
  95. package/dist/chunk-P3KDV4M2.mjs +0 -1
  96. package/dist/chunk-Q7PO7V73.mjs +0 -1
  97. package/dist/chunk-QOUFE3VX.mjs +0 -1
  98. package/dist/chunk-TYHI7RAD.mjs +0 -1
  99. package/dist/chunk-UIEJWORW.mjs +0 -1
  100. package/dist/chunk-VAOUFAUH.mjs +0 -1
  101. package/dist/chunk-VBOTMRXV.mjs +0 -1
  102. package/dist/chunk-VCER63GQ.mjs +0 -1
  103. package/dist/chunk-WAUF2UC7.mjs +0 -2
  104. package/dist/chunk-X4XDO3LZ.mjs +0 -1
  105. package/dist/chunk-XQBCCJBO.mjs +0 -9
  106. package/dist/chunk-XWUOLYRQ.mjs +0 -2
  107. package/dist/chunk-XYH6XWP3.mjs +0 -10
  108. package/dist/chunk-YBIM6UJV.mjs +0 -8
  109. package/dist/chunk-YCIH2Q3E.mjs +0 -1
  110. package/dist/chunk-ZOV5KL7C.mjs +0 -1
  111. package/dist/colorResolver-n0o7H7ep.d.mts +0 -290
  112. package/dist/core-plugins.d.mts +0 -37
  113. package/dist/core-plugins.mjs +0 -1
  114. package/dist/docx/parser.d.mts +0 -41
  115. package/dist/docx/parser.mjs +0 -1
  116. package/dist/docx/rezip.d.mts +0 -148
  117. package/dist/docx/rezip.mjs +0 -1
  118. package/dist/docx/serializer/index.d.mts +0 -42
  119. package/dist/docx/serializer/index.mjs +0 -1
  120. package/dist/editorTree-DO5PyDK8.d.mts +0 -37
  121. package/dist/executor-7O2RBJ2B.mjs +0 -1
  122. package/dist/headerFooterLayout-0zPT64Qc.d.mts +0 -316
  123. package/dist/headless.d.mts +0 -69
  124. package/dist/headless.mjs +0 -1
  125. package/dist/layout/flow/index.d.mts +0 -149
  126. package/dist/layout/flow/index.mjs +0 -1
  127. package/dist/layout/measure/index.d.mts +0 -324
  128. package/dist/layout/measure/index.mjs +0 -1
  129. package/dist/layout/pagination/types.d.mts +0 -4
  130. package/dist/layout/pagination/types.mjs +0 -1
  131. package/dist/managers/AutoSaveManager.d.mts +0 -81
  132. package/dist/managers/AutoSaveManager.mjs +0 -1
  133. package/dist/managers/TableSelectionManager.d.mts +0 -74
  134. package/dist/managers/TableSelectionManager.mjs +0 -1
  135. package/dist/managers/types.d.mts +0 -113
  136. package/dist/managers/types.mjs +0 -0
  137. package/dist/mcp-cli.mjs +0 -142
  138. package/dist/mcp.d.mts +0 -162
  139. package/dist/mcp.mjs +0 -16
  140. package/dist/measureBlocksPipeline-Df0Bbrwy.d.mts +0 -109
  141. package/dist/measuredBlock-DZwz8zhD.d.mts +0 -26
  142. package/dist/plugin-api/types.d.mts +0 -193
  143. package/dist/plugin-api/types.mjs +0 -0
  144. package/dist/processTemplate-HDUIZFJ5.mjs +0 -1
  145. package/dist/registry-DMM5VTdT.d.mts +0 -165
  146. package/dist/rustPagination-Bj2hq013.d.mts +0 -106
  147. package/dist/sectionConfigs-DW3J8q0X.d.mts +0 -55
  148. package/dist/selectionContext-Buc9BCU1.d.mts +0 -570
  149. package/dist/selectiveSave-oFBJ1n71.d.mts +0 -16
  150. package/dist/selectiveXmlPatch-ypkxlTD_.d.mts +0 -23
  151. package/dist/settingsParser-CcGvtmCK.d.mts +0 -33
  152. package/dist/types/agentApi.d.mts +0 -456
  153. package/dist/types/agentApi.mjs +0 -1
  154. package/dist/types-dYdjUZMo.d.mts +0 -311
  155. package/dist/units-O5Y02RKQ.d.mts +0 -34
  156. package/dist/utils/headingCollector.d.mts +0 -28
  157. package/dist/utils/headingCollector.mjs +0 -1
  158. package/dist/utils/highlightColors.d.mts +0 -14
  159. package/dist/utils/highlightColors.mjs +0 -1
  160. package/dist/utils/textSelection.d.mts +0 -92
  161. package/dist/utils/textSelection.mjs +0 -1
  162. package/dist/variableDetector-Borj29SF.d.mts +0 -115
  163. package/dist/wasm-FZQ5XB2Y.mjs +0 -1
  164. package/dist/wasm-SA237OSP.mjs +0 -1
  165. package/dist/watermarkApi-DCxjutkg.d.mts +0 -38
@@ -1 +1 @@
1
- import {d,c,e,r,s,f}from'../../chunk-6NEKRDXF.mjs';export{o as FRAME_DELTA_HEADER_BYTES,p as FRAME_DELTA_PAGE_OP_BYTES,n as FRAME_DELTA_VERSION,q as FrameDeltaError,a as GlyphCache,s as applyFrameDelta,t as applyFrameDeltaOwned,r as decodeFrameDelta,l as drawDisplayPage,m as drawPrimitive,b as fontSizePxFromShorthand,d as glyphRunRect,e as lineRect,h as presentDisplayPageBackBuffer,i as presentOffscreenPageBackBuffer,k as rasterizeDisplayListPages,g as rasterizeDisplayPageToBackBuffer,j as sizeCanvasForPage,c as textRunRect}from'../../chunk-6NEKRDXF.mjs';export{b as resolveCanvasPoint,a as resolveDisplayPageClientRect}from'../../chunk-WRWRCBLK.mjs';import {c as c$1}from'../../chunk-3UBMCDME.mjs';import {b}from'../../chunk-TTRUPDAB.mjs';var $e={pages:[{pageIndex:0,width:816,height:1056,primitives:[{kind:"rect",x:96,y:96,w:624,h:20,fill:"#fff9c4",blockId:0,docStart:1,docEnd:12},{kind:"text",text:"Hello Word",x:96,baselineY:110,width:84.5,font:"700 16px Calibri, sans-serif",color:"#000000",docStart:1,docEnd:11,blockId:0},{kind:"decoration",deco:"underline",x:96,y:113,w:84.5,h:1,color:"#000000",docStart:1,docEnd:11,blockId:0},{kind:"text",text:" \u2014 second run",x:180.5,baselineY:110,width:96.25,font:"400 16px Calibri, sans-serif",color:"#c0392b",docStart:11,docEnd:24,blockId:0},{kind:"line",x1:96,y1:140,x2:720,y2:140,strokeWidth:.75,color:"#666666",role:"table-border"},{kind:"image",relId:"rId7",x:96,y:160,w:200,h:120,docStart:30,docEnd:31,blockId:2}]}]};function Gt(){return import('../../wasm-SA237OSP.mjs').then(async e=>(await e.preloadLayoutWasm(),e.outlineGlyphJson))}var D={page:"layout-page layout-page-mirror",content:"layout-page-content",header:"layout-page-header",footer:"layout-page-footer",block:"layout-paragraph",table:"layout-table",tableRow:"layout-table-row",tableCell:"layout-table-cell",text:"layout-run layout-run-text",rect:"layout-mirror-rect",image:"layout-run layout-run-image",shape:"layout-run layout-run-shape",chart:"layout-run layout-run-chart",decoration:"layout-decoration",line:"layout-mirror-line",pageBorder:"layout-page-border",tableCut:"layout-table-cut-border",blockSdt:"layout-block-sdt",inlineSdtWidget:"layout-inline-sdt-widget",revisionPmark:"layout-revision-pmark",revisionPmarkGlyph:"layout-revision-pmark-glyph",revisionPmarkIns:"layout-revision-ins",revisionPmarkDel:"layout-revision-del",listMarker:"layout-list-marker",revisionTable:"oox-revision-table",revisionRow:"oox-revision-row",revisionCell:"oox-revision-cell",revisionIns:"oox-revision-ins",revisionDel:"oox-revision-del",revisionMerge:"oox-revision-merge",notes:"layout-page-notes",note:"layout-note",noteBacklink:"layout-note-backlink"};function Nt(e,t={}){let r=t.document??document,i=t.labels,n={labels:i,noteRefIds:new Set},a=r.createElement("div");a.className=D.page,a.setAttribute("role","document"),i?.page&&a.setAttribute("aria-label",i.page),a.dataset.pageIndex=String(e.pageIndex),e.sectionId!==void 0&&(a.dataset.sectionId=e.sectionId),e.sectionIndex!==void 0&&(a.dataset.sectionIndex=String(e.sectionIndex)),e.sectionPageIndex!==void 0&&(a.dataset.sectionPageIndex=String(e.sectionPageIndex)),e.sectionPageNumber!==void 0&&(a.dataset.sectionPageNumber=String(e.sectionPageNumber)),e.pageLabel!==void 0&&(a.dataset.pageLabel=e.pageLabel),a.style.position="relative",a.style.width=`${e.width}px`,a.style.height=`${e.height}px`,a.style.opacity="0",a.style.pointerEvents="none";let o=r.createElement("div");o.className=D.content,o.style.position="absolute",o.style.left="0",o.style.top="0",o.style.width=`${e.width}px`,o.style.height=`${e.height}px`,a.appendChild(o);for(let s of (e.pageBorders??[]).filter(c=>c.zOrder==="back"))o.appendChild(We(s,r,0));re(o,e.primitives,r,0,n);for(let s of e.noteAreas??[])o.appendChild(Vt(s,e,r,n));for(let s of [e.header,e.footer])s&&a.appendChild(Ft(s,e,r,n));for(let s of (e.pageBorders??[]).filter(c=>c.zOrder!=="back"))a.appendChild(We(s,r,0));return a}function Ft(e,t,r,i){let n=r.createElement("div");n.className=e.kind==="header"?D.header:D.footer,n.dataset.hfRid=e.rId;let a=e.kind==="header"?i.labels?.header:i.labels?.footer;return a&&(n.setAttribute("role","region"),n.setAttribute("aria-label",a)),n.style.position="absolute",n.style.left="0",n.style.top=`${e.y}px`,n.style.width=`${t.width}px`,n.style.height=`${e.height}px`,re(n,e.primitives,r,-e.y,i),n}function re(e,t,r,i,n){let a=new Map;for(let o of t){let s=o.kind==="line"?void 0:o.blockKey??o.blockId;if(s===void 0){e.appendChild(ye(o,r,i,n));continue}let c=o.table,l=c?.tableId!==void 0?`table:${c.tableId}#${c.rowStart??0}`:s,d=a.get(l);if(!d){let g=r.createElement("div");g.dataset.blockId=String(c?.tableId??s),g.style.position="absolute",g.style.left="0",g.style.top="0",e.appendChild(g),d={el:g,prims:[]},a.set(l,d);}d.prims.push(o);}for(let o of a.values())Yt(o,r,i,n);Xt(a);}function Yt(e,t,r,i){let{el:n,prims:a}=e;if(!a.some(f=>f.cell!==void 0||f.structuralRevision?.scope==="table"||f.structuralRevision?.scope==="row"||f.structuralRevision?.scope==="cell")){Ke(n,a,t,r,i);return}n.className=D.table,n.setAttribute("role","table");let s=a.find(f=>f.table!==void 0)?.table;e.table=s,e.cells=[],s?.tableId!==void 0&&(n.dataset.tableId=s.tableId),s?.rowStart!==void 0&&(n.dataset.rowStart=String(s.rowStart)),s?.rowEnd!==void 0&&(n.dataset.rowEnd=String(s.rowEnd)),s?.headerRowCount!==void 0&&(n.dataset.headerRowCount=String(s.headerRowCount)),s?.parentTableId!==void 0&&(n.dataset.parentTableId=s.parentTableId),s?.caption&&n.setAttribute("aria-label",s.caption),s?.description&&n.setAttribute("aria-description",s.description);let c=fe(a,"table");c&&pe(n,c),we(n,a.find(f=>f.sdt!==void 0)?.sdt);for(let f of a)f.cell===void 0&&n.appendChild(ye(f,t,r,i));let l=new Map,d=0,g=0;for(let f of a){if(f.cell===void 0)continue;let{row:u,col:h}=f.cell;d=Math.max(d,u+(f.cell.rowSpan??1)),g=Math.max(g,h+(f.cell.colSpan??1));let L=l.get(u);L||(L=new Map,l.set(u,L));let k=L.get(h);k||(k={ref:f.cell,prims:[]},L.set(h,k)),k.prims.push(f);}n.setAttribute("aria-rowcount",String(s?.rowCount??d)),n.setAttribute("aria-colcount",String(s?.columnCount??g));for(let f of [...l.keys()].sort((u,h)=>u-h)){let u=t.createElement("div");u.className=D.tableRow,u.setAttribute("role","row"),u.setAttribute("aria-rowindex",String(f+1));let h=fe(a,"row",f);h&&pe(u,h),u.style.position="absolute",u.style.left="0",u.style.top="0",n.appendChild(u);let L=l.get(f);for(let k of [...L.keys()].sort((v,b)=>v-b)){let v=L.get(k),b=t.createElement("div");b.className=D.tableCell,b.setAttribute("role",v.ref.isHeader?"columnheader":"cell"),b.setAttribute("aria-colindex",String(k+1)),v.ref.cellId&&(b.id=v.ref.cellId),v.ref.headerIds?.length&&b.setAttribute("aria-labelledby",v.ref.headerIds.join(" ")),v.ref.repeatedHeader&&(b.dataset.repeatedHeader="true"),v.ref.noWrap&&(b.dataset.noWrap="true");let M=v.ref.rowSpan??1,C=v.ref.colSpan??1;M>1&&b.setAttribute("aria-rowspan",String(M)),C>1&&b.setAttribute("aria-colspan",String(C));let w=fe(v.prims,"cell",f,k);w&&pe(b,w),v.ref.continuation&&(b.dataset.vmergeContinuation="true"),b.style.position="absolute",b.style.left="0",b.style.top="0";let Y=new Map,ee=[];for(let A of v.prims){let W=A.blockKey??A.blockId;if(W===void 0){ee.push(A);continue}let G=Y.get(W);G?G.push(A):Y.set(W,[A]);}for(let A of ve(ee))b.appendChild(ye(A,t,r,i));for(let[A,W]of Y){let G=t.createElement("div");G.dataset.blockId=String(A),G.style.position="absolute",G.style.left="0",G.style.top="0",Ke(G,W,t,r,i),b.appendChild(G);}_t(b,v.prims),Ue(b,v.prims),e.cells.push({el:b,bounds:je(v.prims)}),u.appendChild(b);}}ke(n,a);}function Ke(e,t,r,i,n){let a=t.find(l=>l.chart!==void 0)?.chart;e.className=a?`${D.block} ${D.chart}`:D.block,e.setAttribute("role",a?"img":"paragraph"),a?.label&&e.setAttribute("aria-label",a.label);for(let l of ve(t))e.appendChild(ye(l,r,i,n));let o=fe(t,"pmark");o&&pe(e,o),Ot(e,t,r,i),we(e,t.find(l=>l.sdt!==void 0)?.sdt);let s=t.find(l=>l.paraId!==void 0)?.paraId;s!==void 0&&(e.dataset.paraId=s);let c=t.find(l=>l.fromLine!==void 0);c?.fromLine!==void 0&&(e.dataset.fromLine=String(c.fromLine),c.toLine!==void 0&&(e.dataset.toLine=String(c.toLine))),Ue(e,t),Kt(e,t);}function Ot(e,t,r,i){ke(e,t);let n=Number(e.dataset.docStart),a=Number(e.dataset.docEnd),o=t.map(g=>g.fragmentDocStart).filter(g=>Number.isFinite(g)),s=t.map(g=>g.fragmentDocEnd).filter(g=>Number.isFinite(g)),c=o.length>0?Math.min(...o):void 0,l=s.length>0?Math.max(...s):void 0,d=c??(Number.isFinite(n)&&n===a&&n>0?n-1:void 0);if(d!==void 0&&(e.dataset.docStart=String(d)),l!==void 0&&(e.dataset.docEnd=String(l)),d!==void 0&&!t.some(g=>g.docStart===d)){let g=ve(t).find(u=>Se(u)!==void 0),f=g?Se(g):void 0;if(f){let u=r.createElement("span");u.className="layout-mirror-structural-anchor",u.dataset.docStart=String(d),u.dataset.docEnd=String(d),j(u,f,i),e.insertBefore(u,e.firstChild);}}}function _t(e,t){let r=e.querySelectorAll(".layout-paragraph[data-doc-start]"),i=1/0,n=-1/0;for(let a of r){let o=Number(a.dataset.docStart),s=Number(a.dataset.docEnd);Number.isFinite(o)&&(i=Math.min(i,o)),Number.isFinite(s)&&(n=Math.max(n,s));}i!==1/0&&(e.dataset.docStart=String(i)),n!==-1/0&&(e.dataset.docEnd=String(n)),i===1/0&&n===-1/0&&ke(e,t);}function Xt(e){let t=new Map;for(let r of e.values())r.table?.tableId&&t.set(r.table.tableId,r);for(let r of e.values()){let i=r.table?.parentTableId;if(!i)continue;let n=t.get(i),a=je(r.prims);if(!n?.cells?.length||!a)continue;let o=a.x+a.w/2,s=a.y+a.h/2,c=n.cells.filter(l=>l.bounds&&$t(o,s,l.bounds));c.sort((l,d)=>Je(l.bounds)-Je(d.bounds)),c[0]?.el.appendChild(r.el);}}function $t(e,t,r){return e>=r.x&&e<=r.x+r.w&&t>=r.y&&t<=r.y+r.h}function Je(e){return e.w*e.h}function je(e){let t;for(let r of e){let i=r.clipGroup?.clip,n=i?.x!==void 0&&i.y!==void 0&&i.w!==void 0&&i.h!==void 0?{x:i.x,y:i.y,w:i.w,h:i.h}:Se(r);if(!n)continue;if(!t){t={...n};continue}let a=Math.max(t.x+t.w,n.x+n.w),o=Math.max(t.y+t.h,n.y+n.h);t.x=Math.min(t.x,n.x),t.y=Math.min(t.y,n.y),t.w=a-t.x,t.h=o-t.y;}return t}function Se(e){switch(e.kind){case "text":return c(e);case "glyphRun":return d(e);case "rect":return {x:e.x,y:e.y,w:e.w,h:e.h};case "image":case "shape":return {x:e.x,y:e.y,w:e.w,h:e.h};case "decoration":return {x:e.x,y:e.y,w:e.w,h:e.h}}}function ve(e){let t=e.filter(i=>i.logicalOrder!==void 0).sort((i,n)=>(i.logicalOrder??0)-(n.logicalOrder??0)||(i.docStart??0)-(n.docStart??0));if(t.length<2)return e;let r=0;return e.map(i=>i.logicalOrder===void 0?i:t[r++])}function Ue(e,t){let r=t.find(a=>a.lang)?.lang;r&&(e.lang=r);let i=t.find(a=>a.bidiLevel!==void 0||"rtl"in a);if(!i)return;let n=i.bidiLevel!==void 0?i.bidiLevel%2===1:"rtl"in i?i.rtl:false;e.dir=n?"rtl":"ltr";}function Kt(e,t){let r=t.find(i=>i.ariaLabel||i.ariaDescription||i.decorative||i.hiddenObject||i.groupId);r&&Ze(e,r);}function ke(e,t){let r,i;for(let n of t)n.docStart!==void 0&&(r=r===void 0?n.docStart:Math.min(r,n.docStart)),n.docEnd!==void 0&&(i=i===void 0?n.docEnd:Math.max(i,n.docEnd));r!==void 0&&(e.dataset.docStart=String(r)),i!==void 0&&(e.dataset.docEnd=String(i));}function fe(e,t,r,i){return e.find(n=>{let a=n.structuralRevision;return !(!a||a.scope!==t||r!==void 0&&a.rowIndex!==r||i!==void 0&&a.colIndex!==i)})?.structuralRevision}function ye(e$1,t,r,i){switch(e$1.kind){case "text":{let n=Qe(t,e$1,i);return n.className=D.text,n.textContent=e$1.text,j(n,c(e$1),r),n.style.font=e$1.font,Ve(n,e$1),ze(n,e$1),De(n,e$1.hidden&&e$1.opacity===void 0?.4:e$1.opacity,e$1.rotationDeg,e$1.horizontalScale),e$1.structuralRevision?.scope==="pmark"&&(n.classList.add(D.revisionPmarkGlyph),e$1.structuralRevision.kind==="ins"&&n.classList.add(D.revisionPmarkIns),e$1.structuralRevision.kind==="del"&&n.classList.add(D.revisionPmarkDel),n.setAttribute("aria-hidden","true")),e$1.listMarker&&(n.classList.add(D.listMarker),n.setAttribute("aria-hidden","true"),e$1.listMarkerRevision&&(n.style.color=e$1.listMarkerRevision==="ins"?"rgb(46, 125, 50)":"rgb(198, 40, 40)")),ne(n,e$1),n}case "glyphRun":{let n=Qe(t,e$1,i);return n.className=D.text,n.textContent=e$1.text,j(n,d(e$1),r),n.style.fontSize=`${e$1.size}px`,Jt(n,e$1.fallbackFont),Ve(n,e$1),ze(n,e$1),De(n,e$1.hidden&&e$1.opacity===void 0?.4:e$1.opacity,e$1.rotationDeg,e$1.horizontalScale),ne(n,e$1),n}case "rect":{let n=t.createElement("div");return n.className=D.rect,j(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),ne(n,e$1),n}case "line":{let n=t.createElement("div");return n.className=e$1.role==="table-cut"?D.tableCut:D.line,e$1.role&&e$1.role!=="table-cut"&&(n.dataset.role=e$1.role),j(n,e(e$1),r),n.setAttribute("aria-hidden","true"),n}case "image":{let n=e$1.href?t.createElement("a"):t.createElement("div");return n.className=D.image,e$1.decorative?n.setAttribute("aria-hidden","true"):(n.setAttribute("role","img"),e$1.altText&&n.setAttribute("aria-label",e$1.altText)),qe(n,e$1),n.dataset.relId=e$1.relId,j(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),De(n,e$1.opacity,e$1.rotationDeg),e$1.filter&&(n.style.filter=e$1.filter),ne(n,e$1),e$1.revision&&(n.style.outline=`2px solid ${e$1.revision.kind==="ins"?"rgb(46, 125, 50)":"rgb(198, 40, 40)"}`),e$1.href||(n.style.pointerEvents="auto"),n}case "shape":{let n=t.createElement("div");return n.className=D.shape,e$1.decorative?n.setAttribute("aria-hidden","true"):n.setAttribute("role","img"),j(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),Wt(n,e$1.transform),ne(n,e$1),n}case "decoration":{let n=t.createElement("span");return n.className=D.decoration,n.dataset.deco=e$1.deco,j(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),ne(n,e$1),n}}}function We(e,t,r){let i=t.createElement("div");return i.className=D.pageBorder,j(i,{x:e.x,y:e.y,w:e.w,h:e.h},r),i.style.boxSizing="border-box",i.style.pointerEvents="none",i.style.zIndex=e.zOrder==="back"?"0":"20",me(i,"Top",e.top),me(i,"Right",e.right),me(i,"Bottom",e.bottom),me(i,"Left",e.left),i}function j(e,t,r=0){e.style.position="absolute",e.style.left=`${t.x}px`,e.style.top=`${t.y+r}px`,e.style.width=`${t.w}px`,e.style.height=`${t.h}px`;}function Qe(e,t,r){let i=t.noteRef?.id!==void 0?t.noteRef:void 0,n=t.href||i?e.createElement("a"):e.createElement("span");if(qe(n,t),i&&!t.href){let a=i.kind??"footnote",o=`oox-${a}-${i.id}`;n.setAttribute("href",`#${o}`),n.setAttribute("role","doc-noteref");let s=`oox-noteref-${a}-${i.id}`;r.noteRefIds.has(s)||(r.noteRefIds.add(s),n.id=s);}return n}function qe(e,t){let{href:r}=t;if(!r)return;e.setAttribute("href",r),e.dataset.href=r;let i=t.linkTitle??t.tooltip;i&&(e.title=i),t.linkTarget?e.setAttribute("target",t.linkTarget):r.startsWith("#")||e.setAttribute("target","_blank"),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener noreferrer"),t.linkHistory!==void 0&&(e.dataset.linkHistory=String(t.linkHistory)),t.linkDocLocation!==void 0&&(e.dataset.linkDocLocation=t.linkDocLocation);}function Jt(e,t){if(t)for(let r of t.split(" ")){if(r.endsWith("px"))break;r==="italic"?e.style.fontStyle="italic":/^[1-9]00$/.test(r)&&r!=="400"&&(e.style.fontWeight=r);}}function Ve(e,t){t.lang&&(e.lang=t.lang),t.bidiLevel!==void 0?e.dir=t.bidiLevel%2===1?"rtl":"ltr":t.rtl&&(e.dir="rtl");}function me(e,t,r){if(!r)return;let i=e.style;i[`border${t}Width`]=`${r.width}px`,i[`border${t}Style`]=r.style,i[`border${t}Color`]=r.color;}function De(e,t,r,i){t!==void 0&&(e.style.opacity=String(t));let n=[];r&&n.push(`rotate(${r}deg)`),i!==void 0&&i!==100&&n.push(`scaleX(${i/100})`),n.length>0&&(e.style.transform=n.join(" "),e.style.transformOrigin=i!==void 0&&i!==100?"left center":"center center");}function Wt(e,t){if(!t)return;let r=[];t.rotation&&r.push(`rotate(${t.rotation}deg)`),t.flipH&&r.push("scaleX(-1)"),t.flipV&&r.push("scaleY(-1)"),r.length!==0&&(e.style.transform=r.join(" "),e.style.transformOrigin="center center");}function ze(e,t){if(t.allCaps&&(e.style.textTransform="uppercase"),t.smallCaps&&(e.style.fontVariant="small-caps"),t.hidden&&(e.classList.add("docx-hidden"),e.style.textDecoration="underline dotted"),t.textShadow==="emboss"?e.style.textShadow="1px 1px 1px rgba(255,255,255,0.5), -1px -1px 1px rgba(0,0,0,0.3)":t.textShadow==="imprint"?e.style.textShadow="-1px -1px 1px rgba(255,255,255,0.5), 1px 1px 1px rgba(0,0,0,0.3)":t.textShadow==="shadow"&&(e.style.textShadow="1px 1px 2px rgba(0,0,0,0.3)"),t.textOutline&&(e.style.webkitTextStroke="1px currentColor",e.style.webkitTextFillColor="transparent"),t.emphasisMark){let r=t.emphasisMark==="comma"?"filled sesame":t.emphasisMark==="circle"?"filled circle":"filled dot",i=t.emphasisMark==="underDot"?"under right":"over right";e.style.textEmphasis=r,e.style.textEmphasisPosition=i,e.style.webkitTextEmphasis=r,e.style.webkitTextEmphasisPosition=i;}t.textEffect&&(e.classList.add("docx-text-effect",`docx-text-effect-${t.textEffect}`),e.dataset.effect=t.textEffect);}function ne(e,t){if(t.docStart!==void 0&&(e.dataset.docStart=String(t.docStart)),t.docEnd!==void 0&&(e.dataset.docEnd=String(t.docEnd)),t.commentIds&&t.commentIds.length>0&&(e.dataset.commentId=t.commentIds.join(" ")),t.field){let r=t.field.type??t.field.category;r&&(e.dataset.fieldType=r),t.field.category&&(e.dataset.fieldCategory=t.field.category),t.field.instruction&&(e.dataset.fieldInstruction=t.field.instruction);let i=t.field.instruction?.trim()||r;i&&e.setAttribute("aria-description",i);}if(t.noteRef?.id!==void 0&&(e.dataset.noteRefKind=t.noteRef.kind??"footnote",e.dataset.noteRefId=String(t.noteRef.id)),t.comment){t.comment.status&&(e.dataset.commentStatus=t.comment.status),t.comment.authorId&&(e.dataset.commentAuthorId=t.comment.authorId),t.comment.paletteIndex!==void 0&&(e.dataset.commentPaletteIndex=String(t.comment.paletteIndex)),t.comment.color&&(e.dataset.commentColor=t.comment.color),t.comment.selected!==void 0&&(e.dataset.commentSelected=String(t.comment.selected)),t.comment.authorName&&(e.dataset.commentAuthorName=t.comment.authorName),t.comment.date&&(e.dataset.commentDate=t.comment.date),t.comment.replyCount!==void 0&&(e.dataset.commentReplyCount=String(t.comment.replyCount));let r=[t.comment.status,t.comment.authorName??t.comment.authorId,t.comment.date,t.comment.text,...(t.comment.replies??[]).map(i=>[i.authorName,i.text].filter(Boolean).join(": "))].filter(Boolean).join(", ");r&&e.setAttribute("aria-description",r);}if(t.revision){e.dataset.changeAuthor=t.revision.author,e.dataset.changeDate=t.revision.date,e.dataset.revisionId=t.revision.revisionId,e.classList.add(t.revision.kind==="ins"?"docx-insertion":"docx-deletion"),e.hasAttribute("role")||e.setAttribute("role",t.revision.kind==="ins"?"insertion":"deletion");let r=[t.revision.author,t.revision.date].filter(Boolean).join(", ");r&&e.setAttribute("aria-description",r);}t.href&&(e.dataset.href=t.href),Qt(e,t.inlineSdtWidget),we(e,t.sdt),t.sdtPath?.length&&(e.dataset.sdtPath=t.sdtPath.map(r=>r.groupId).join(" ")),t.logicalOrder!==void 0&&(e.dataset.logicalOrder=String(t.logicalOrder)),t.bidiLevel!==void 0&&(e.dataset.bidiLevel=String(t.bidiLevel)),Ze(e,t);}function Ze(e,t){if(t.groupId&&(e.dataset.groupId=t.groupId),t.decorative||t.hiddenObject){e.setAttribute("aria-hidden","true"),e.removeAttribute("role"),e.removeAttribute("aria-label"),e.removeAttribute("aria-description");return}t.ariaLabel&&e.setAttribute("aria-label",t.ariaLabel),t.ariaDescription&&e.setAttribute("aria-description",t.ariaDescription);}function we(e,t){t&&(e.classList.add(D.blockSdt),e.dataset.sdtGroupId=t.groupId,e.dataset.sdtType=t.sdtType,t.depth!==void 0&&(e.dataset.sdtDepth=String(t.depth)),t.tag!==void 0&&(e.dataset.sdtTag=t.tag),t.alias!==void 0&&(e.dataset.sdtAlias=t.alias),t.lock!==void 0&&(e.dataset.sdtLock=t.lock),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked)),t.bound!==void 0&&(e.dataset.sdtBound=String(t.bound)),t.repeatingItem!==void 0&&(e.dataset.sdtRepeatingItem=String(t.repeatingItem)),!e.hasAttribute("aria-label")&&(t.alias||t.tag)&&e.setAttribute("aria-label",t.alias||t.tag||""),t.lock&&e.setAttribute("aria-readonly","true"));}function Qt(e,t){if(!t)return;e.classList.add(D.inlineSdtWidget);let r=t.controlKind??t.kind;e.dataset.sdtWidget=r,e.dataset.sdtGroupId=t.groupId,e.dataset.sdtPos=String(t.pos),t.tag!==void 0&&(e.dataset.sdtTag=t.tag),t.alias!==void 0&&(e.dataset.sdtAlias=t.alias),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked),e.setAttribute("aria-checked",String(t.checked))),t.controlId!==void 0&&(e.dataset.sdtControlId=String(t.controlId)),t.value!==void 0&&(e.dataset.sdtValue=t.value),t.selectedIndex!==void 0&&(e.dataset.sdtSelectedIndex=String(t.selectedIndex)),t.dateFormat!==void 0&&(e.dataset.sdtDateFormat=t.dateFormat),t.dateLanguage!==void 0&&(e.dataset.sdtDateLanguage=t.dateLanguage),t.locked!==void 0&&(e.dataset.sdtLocked=String(t.locked)),r==="checkbox"?e.setAttribute("role","checkbox"):r==="dropDownList"||r==="comboBox"?(e.setAttribute("role","combobox"),e.setAttribute("aria-haspopup","listbox"),e.setAttribute("aria-expanded","false")):r==="date"?(e.setAttribute("role","button"),e.setAttribute("aria-haspopup","dialog")):e.setAttribute("role","group"),e.removeAttribute("tabindex"),(t.alias||t.tag)&&e.setAttribute("aria-label",t.alias||t.tag||""),t.locked&&e.setAttribute("aria-disabled","true");}function pe(e,t){switch(t.scope){case "pmark":e.classList.add(D.revisionPmark),t.kind==="ins"&&e.classList.add(D.revisionPmarkIns),t.kind==="del"&&e.classList.add(D.revisionPmarkDel);break;case "table":e.classList.add(D.revisionTable,Ie(t.kind));break;case "row":e.classList.add(D.revisionRow,Ie(t.kind));break;case "cell":e.classList.add(D.revisionCell,Ie(t.kind));break}e.dataset.revisionId=t.revisionId,e.dataset.revisionAuthor=t.author,t.date&&(e.dataset.revisionDate=t.date);let r=[t.author,t.date].filter(Boolean).join(", ");r&&e.setAttribute("aria-description",r);}function Ie(e){return e==="ins"?D.revisionIns:e==="del"?D.revisionDel:D.revisionMerge}function Vt(e,t,r,i){let n=r.createElement("section");n.className=D.notes,n.dataset.noteKind=e.kind??"footnote",e.sectionId&&(n.dataset.sectionId=e.sectionId),e.columns!==void 0&&(n.dataset.columns=String(e.columns)),n.style.position="absolute",n.style.left="0",n.style.top=`${e.y??0}px`,n.style.width=`${t.width}px`,n.style.height=`${e.height??0}px`;let a=new Map;for(let s of e.notes??[])s.id!==void 0&&a.set(s.id,s);re(n,e.separatorPrimitives??[],r,-(e.y??0),i);let o=[...e.primitives??[]];for(let s of e.noteIds??[]){let l=`${e.kind??"footnote"}-${s}`,d=o.filter(u=>u.groupId===l);if(d.length===0)continue;for(let u of d){let h=o.indexOf(u);h>=0&&o.splice(h,1);}let g=r.createElement("aside");g.className=D.note,g.id=`oox-${l}`,g.dataset.noteId=String(s),g.setAttribute("role",e.kind==="endnote"?"doc-endnote":"doc-footnote");let f=a.get(s);if(f&&(f.label!==void 0&&(g.dataset.noteLabel=f.label),f.anchorDocStart!==void 0&&(g.dataset.anchorDocStart=String(f.anchorDocStart)),f.anchorDocEnd!==void 0&&(g.dataset.anchorDocEnd=String(f.anchorDocEnd))),re(g,d,r,-(e.y??0),i),f){let u=r.createElement("a");u.className=D.noteBacklink,u.setAttribute("role","doc-backlink"),u.setAttribute("href",`#oox-noteref-${l}`);let h=i.labels?.noteBacklink??f.label??String(s);u.setAttribute("aria-label",h),g.appendChild(u);}n.appendChild(g);}return o.length>0&&re(n,o,r,-(e.y??0),i),n}function zt(e,t){for(let r of Array.from(e.querySelectorAll(".layout-canvas-sdt-box[data-sdt-group-id]")))r.classList.toggle("layout-sdt-focused",t.has(r.dataset.sdtGroupId??""));}var jt=".layout-sdt-widget, .layout-inline-sdt-widget, .layout-sdt-repeat-btn";function Ut(e,t={}){let r=t.document??document,i=r.createElement("div");i.className="layout-interactive-overlay",i.dataset.pageIndex=String(e.pageIndex),i.style.position="absolute",i.style.inset="0",i.style.width=`${e.width}px`,i.style.height=`${e.height}px`,i.style.pointerEvents="none",i.addEventListener("mousedown",s=>{s.target?.closest?.(jt)&&(s.preventDefault(),s.stopPropagation());});let n=qt(e),a=Zt(n);for(let s of [...a.values()].sort(tn))i.appendChild(nn(s,r,t.labels));let o=en(n);for(let s of o.values())i.appendChild(rn(s,r,t.labels));return i}function qt(e){return [...e.primitives,...e.header?.primitives??[],...e.footer?.primitives??[],...(e.noteAreas??[]).flatMap(t=>[...t.separatorPrimitives??[],...t.primitives??[]])]}function Zt(e){let t=new Map;for(let r of e){let i=tt(r);if(!i)continue;let n=r.sdtPath?.length?r.sdtPath:r.sdt?[r.sdt]:[];for(let a of n){let o=t.get(a.groupId);o?o.rect=nt(o.rect,i):t.set(a.groupId,{attrs:a,rect:{...i}});}}return t}function en(e){let t=new Map;for(let r of e){let i=r.inlineSdtWidget,n=tt(r);if(!i||!n)continue;let a=`${i.groupId}:${i.pos}:${i.controlKind??i.kind}`,o=t.get(a);o?o.rect=nt(o.rect,n):t.set(a,{attrs:i,rect:{...n}});}return t}function tn(e,t){return (e.attrs.depth??0)-(t.attrs.depth??0)||e.rect.y-t.rect.y||e.rect.x-t.rect.x}function nn(e,t,r){let{attrs:i,rect:n}=e,a=t.createElement("div");a.className="layout-block-sdt-box layout-canvas-sdt-box",ln(a,i),it(a,n),a.style.pointerEvents="none";let o=i.alias||i.tag;if(o){let l=t.createElement("span");l.className="layout-block-sdt-label",l.textContent=o,a.appendChild(l);}let s=an(i.sdtType),c=!i.bound&&!sn(i.lock);if(s&&c){let l=t.createElement("button");l.type="button",l.className="layout-sdt-widget",l.dataset.sdtWidget=s,l.dataset.sdtGroupId=i.groupId,i.tag&&(l.dataset.sdtTag=i.tag),i.alias&&(l.dataset.sdtAlias=i.alias),(o||r?.control)&&l.setAttribute("aria-label",o||r?.control||""),s==="dropdown"&&l.setAttribute("aria-haspopup","listbox"),s==="date"&&l.setAttribute("aria-haspopup","dialog"),s==="checkbox"&&(l.setAttribute("role","checkbox"),l.setAttribute("aria-checked",String(i.checked??false))),l.textContent=s==="dropdown"?"\u25BE":s==="date"?"\u25A3":i.checked?"\u2612":"\u2610",l.style.pointerEvents="auto",a.appendChild(l);}if(i.repeatingItem&&c){let l=t.createElement("div");l.className="layout-sdt-repeat-controls",l.style.pointerEvents="auto",l.appendChild(et(t,i,"add","\uFF0B",r?.addRepeatingItem,o)),l.appendChild(et(t,i,"remove","\u2715",r?.removeRepeatingItem,o)),a.appendChild(l);}return a}function et(e,t,r,i,n,a){let o=e.createElement("button");return o.type="button",o.className="layout-sdt-repeat-btn",o.dataset.sdtRepeat=r,o.dataset.sdtGroupId=t.groupId,t.tag&&(o.dataset.sdtTag=t.tag),(n||a)&&o.setAttribute("aria-label",n||a||""),o.textContent=i,o}function rn(e,t,r){let{attrs:i,rect:n}=e,a=i.controlKind??i.kind,o=t.createElement("button");return o.type="button",o.className="layout-sdt-widget layout-inline-sdt-widget layout-canvas-inline-sdt-widget",o.dataset.sdtWidget=on(a),o.dataset.sdtGroupId=i.groupId,o.dataset.sdtPos=String(i.pos),i.tag&&(o.dataset.sdtTag=i.tag),i.alias&&(o.dataset.sdtAlias=i.alias),i.controlId!==void 0&&(o.dataset.sdtControlId=String(i.controlId)),i.value!==void 0&&(o.dataset.sdtValue=i.value),i.selectedIndex!==void 0&&(o.dataset.sdtSelectedIndex=String(i.selectedIndex)),i.dateFormat&&(o.dataset.sdtDateFormat=i.dateFormat),i.dateLanguage&&(o.dataset.sdtDateLanguage=i.dateLanguage),i.listItems?.length&&(o.dataset.sdtListItems=JSON.stringify(i.listItems)),(i.alias||i.tag||r?.control)&&o.setAttribute("aria-label",i.alias||i.tag||r?.control||""),a==="checkbox"?(o.setAttribute("role","checkbox"),o.setAttribute("aria-checked",String(i.checked??false))):a==="dropDownList"||a==="comboBox"?(o.setAttribute("aria-haspopup","listbox"),o.setAttribute("aria-expanded","false")):a==="date"&&o.setAttribute("aria-haspopup","dialog"),o.disabled=i.locked===true,o.textContent=a==="checkbox"?i.checked?"\u2612":"\u2610":a==="date"?"\u25A3":a==="picture"?"\u25A7":"\u25BE",it(o,n),o.style.pointerEvents="auto",o}function on(e){return e==="dropDownList"||e==="comboBox"?"dropdown":e}function an(e){return e==="checkbox"?"checkbox":e==="dropDownList"||e==="comboBox"?"dropdown":e==="date"?"date":null}function sn(e){return e==="contentLocked"||e==="sdtContentLocked"||e==="sdtLocked"}function ln(e,t){e.dataset.sdtGroupId=t.groupId,e.dataset.sdtType=t.sdtType,t.depth!==void 0&&(e.dataset.sdtDepth=String(t.depth)),t.tag&&(e.dataset.sdtTag=t.tag),t.alias&&(e.dataset.sdtAlias=t.alias),t.lock&&(e.dataset.sdtLock=t.lock),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked)),t.bound!==void 0&&(e.dataset.sdtBound=String(t.bound)),t.repeatingItem!==void 0&&(e.dataset.sdtRepeatingItem=String(t.repeatingItem));}function tt(e$1){let t=e$1.clipGroup?.clip;if(t?.x!==void 0&&t.y!==void 0&&t.w!==void 0&&t.h!==void 0)return {x:t.x,y:t.y,w:t.w,h:t.h};switch(e$1.kind){case "text":return c(e$1);case "glyphRun":return d(e$1);case "rect":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h};case "line":return e(e$1);case "image":case "shape":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h};case "decoration":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h}}}function nt(e,t){let r=Math.min(e.x,t.x),i=Math.min(e.y,t.y),n=Math.max(e.x+e.w,t.x+t.w),a=Math.max(e.y+e.h,t.y+t.h);return {x:r,y:i,w:n-r,h:a-i}}function it(e,t){e.style.position="absolute",e.style.left=`${t.x}px`,e.style.top=`${t.y}px`,e.style.width=`${Math.max(1,t.w)}px`,e.style.height=`${Math.max(1,t.h)}px`;}var J=class extends Error{constructor(r,i){let n=i instanceof Error?i.message:String(i);super(`Rust display-list ${r} failed: ${n}`);b(this,"stage");this.name="RustDisplayListSourceError",this.stage=r;}},rt=null;function Pe(){return rt??(rt=import('../../wasm-SA237OSP.mjs').then(async e=>(await e.preloadLayoutWasm(),{buildDisplayListJson:e.buildDisplayListJson,hitTestRegionsJson:e.hitTestRegionsJson,rangeRectsJson:e.rangeRectsJson,rangeRectsRegionJson:e.rangeRectsRegionJson,hasRangeRectsRegion:e.hasRangeRectsRegion,hasDisplayListSession:e.hasDisplayListSession,openDisplayList:e.openDisplayList,closeDisplayList:e.closeDisplayList,hitTestRegionsByHandle:e.hitTestRegionsByHandle,rangeRectsByHandle:e.rangeRectsByHandle,rangeRectsRegionByHandle:e.rangeRectsRegionByHandle}))),rt}function Ae(){return Pe()}function cn(e,t){let r=e.measured,i="[";for(let a=0;a<r.length;a++){a>0&&(i+=",");let o=r[a],s=o.measure,c;if(t&&s!==null&&typeof s=="object"){let l=s;c=t.get(l),c===void 0&&(c=JSON.stringify(o.measure),t.set(l,c));}else c=JSON.stringify(o.measure);i+='{"block":'+JSON.stringify(o.block)+',"measure":'+c+"}";}i+="]";let n='{"measured":'+i+',"options":'+JSON.stringify(e.options)+',"layout":'+JSON.stringify(e.layout);return e.contractVersion!==void 0&&(n+=',"contractVersion":'+JSON.stringify(e.contractVersion)),e.headersFooters!==void 0&&(n+=',"headersFooters":'+JSON.stringify(e.headersFooters)),e.fontChains!==void 0&&(n+=',"fontChains":'+JSON.stringify(e.fontChains)),e.noteAreas!==void 0&&(n+=',"noteAreas":'+JSON.stringify(e.noteAreas)),e.resolvedCommentIds!==void 0&&(n+=',"resolvedCommentIds":'+JSON.stringify(e.resolvedCommentIds)),e.commentAuthors!==void 0&&(n+=',"commentAuthors":'+JSON.stringify(e.commentAuthors)),e.commentThreads!==void 0&&(n+=',"commentThreads":'+JSON.stringify(e.commentThreads)),n+="}",n}function ot(e){let t={};return e.contractVersion!==void 0&&(t.contractVersion=e.contractVersion),e.headersFooters!==void 0&&(t.headersFooters=e.headersFooters),e.fontChains!==void 0&&(t.fontChains=e.fontChains),e.noteAreas!==void 0&&(t.noteAreas=e.noteAreas),e.resolvedCommentIds!==void 0&&(t.resolvedCommentIds=e.resolvedCommentIds),e.commentAuthors!==void 0&&(t.commentAuthors=e.commentAuthors),e.commentThreads!==void 0&&(t.commentThreads=e.commentThreads),JSON.stringify(t)}var dn=new WeakMap;function at(){return globalThis.__perfTrace}function Me(e,t){return t?new TextEncoder().encode(e).byteLength:0}async function st(e,t){let r;try{r=t??await Pe();}catch(s){throw new J("load",s)}let i=at(),n=i?performance.now():0,a,o;try{a=cn(e,dn),o=r.buildDisplayListJson(a);}catch(s){throw new J("build",s)}try{let s=JSON.parse(o);return i?.record("displayList",performance.now()-n,{inputBytes:Me(a,!0),outputBytes:Me(o,!0),calls:1,detail:`${e.measured.length} blocks`}),s}catch(s){throw new J("parse",s)}}async function un(e,t,r$1=null){let i;try{i=t??await Pe();}catch(d){throw new J("load",d)}if(!i.buildDisplayListFrame)return {displayList:await st(e,i),frame:null,transport:"json"};let n=at(),a=n?performance.now():0,o=ot(e),s$1;try{s$1=i.buildDisplayListFrame(o,r$1?.frameEpoch??0);}catch(d){throw new J("build",d)}let c;try{c=r(s$1);}catch(d){throw new J("decode",d)}let l;try{l=s(r$1,c);}catch(d){throw new J("apply",d)}return n?.record("displayList",performance.now()-a,{inputBytes:Me(o,true),outputBytes:s$1.byteLength,calls:1,detail:`${e.measured.length} blocks; ${l.damagedPageIds.size}/${l.pages.length} pages`}),{displayList:l.displayList,frame:l,transport:"frame-delta-v1"}}function lt(e,t,r){if(t==="body")return e.primitives.filter(n=>n.kind==="image");let i=t==="header"?e.header:e.footer;return !i||r!==void 0&&i.rId!==r?[]:i.primitives.filter(n=>n.kind==="image")}function Ee(e,t,r="body",i){for(let n of e.pages)for(let a of lt(n,r,i))if(a.docStart===t)return {primitive:a,pageIndex:n.pageIndex,...r!=="body"?{region:r,rId:i}:{}};return null}function Te(e,t,r,i,n="body",a){let o=e.pages[t];if(!o)return null;let s=lt(o,n,a);for(let c=s.length-1;c>=0;c--){let l=s[c];if(!(r<l.x||r>l.x+l.w)&&!(i<l.y||i>l.y+l.h))return {primitive:l,pageIndex:o.pageIndex,...n!=="body"?{region:n,rId:a}:{}}}return null}function mn(e,t){let r=e.imageByPos(t);if(!r)return;let i=e.contentBounds(r.pageIndex),n=e.paragraphRects(t).find(a=>a.pageIndex===r.pageIndex);if(!(!i||!n))return {horizontalEmu:Math.round(c$1(r.primitive.x-i.x)),verticalEmu:Math.round(c$1(r.primitive.y-n.y))}}var ct=(()=>{let e=globalThis.FinalizationRegistry;return e?new e(t=>t()):null})();function fn(e,t){let r=null,i=()=>r??(r=JSON.stringify(e)),n=pn(t)?t:null,a=n?null:t??null,o=null,s,c,l=new Promise((m,p)=>{s=m,c=p;});l.catch(()=>{});let d=null,g=false,f$1=()=>{if(d!==null){try{a?.closeDisplayList?.(d);}catch{}d=null;}},u=()=>{if(!(g||d!==null||!a)&&!(!a.hasDisplayListSession?.()||!a.openDisplayList))try{d=a.openDisplayList(i());}catch(m){d=null,console.warn("[CanvasRenderer] display-list session open failed; using JSON-arg queries",m);}};n?s():a?(u(),s()):Ae().then(m=>{a=m,u(),s(),g&&f$1();},m=>{o=m instanceof Error?m:new Error(String(m)),c(o),console.warn("[CanvasRenderer] display-list query engine failed to load",o);});let h=(m,p,y)=>{if(!a)return null;if(d!==null&&m)try{return m(d)}catch(R){console.warn(`[CanvasRenderer] ${y} session query failed; falling back`,R),f$1();}try{return p()}catch(R){return o=R instanceof Error?R:new Error(String(R)),console.warn(`[CanvasRenderer] ${y} query failed`,R),null}},L=(m,p,y)=>{if(m===null)return p;try{return JSON.parse(m)}catch(R){return o=R instanceof Error?R:new Error(String(R)),console.warn(`[CanvasRenderer] ${y} returned invalid JSON`,R),p}},k=(m,p)=>{try{return m()}catch(y){return o=y instanceof Error?y:new Error(String(y)),console.warn(`[CanvasRenderer] resident ${p} query failed`,y),null}},v=(m,p,y)=>{if(n)return L(k(()=>n.displayHitTestRegionsJson(m,p,y),"hit_test_regions"),null,"hit_test_regions");let R=h(a?.hitTestRegionsByHandle&&(x=>a.hitTestRegionsByHandle(x,m,p,y)),()=>a.hitTestRegionsJson(i(),m,p,y),"hit_test_regions");return L(R,null,"hit_test_regions")},b=(m,p)=>{if(n)return L(k(()=>n.displayRangeRectsJson(m,p),"range_rects"),[],"range_rects");let y=h(a?.rangeRectsByHandle&&(R=>a.rangeRectsByHandle(R,m,p)),()=>a.rangeRectsJson(i(),m,p),"range_rects");return L(y,[],"range_rects")},M=(m,p,y,R)=>{if(n)return L(k(()=>n.displayRangeRectsRegionJson(m,p,y,R),"range_rects_region"),[],"range_rects_region");if(!a||!a.hasRangeRectsRegion?.())return [];let x=h(a.rangeRectsRegionByHandle&&(I=>a.rangeRectsRegionByHandle(I,m,p,y,R)),()=>a.rangeRectsRegionJson(i(),m,p,y,R),"range_rects_region");return L(x,[],"range_rects_region")},C=(m,p,y)=>{let R=M(m,p,y,y+1);if(R.length>0){let x=new Map;for(let I of R)x.has(I.pageIndex)||x.set(I.pageIndex,{pageIndex:I.pageIndex,x:I.x,y:I.y,width:0,height:I.height});return [...x.values()]}if(y>0){let x=M(m,p,y-1,y);if(x.length>0){let I=new Map;for(let S of x)I.set(S.pageIndex,{pageIndex:S.pageIndex,x:S.x+S.width,y:S.y,width:0,height:S.height});return [...I.values()]}}return []},w=m=>{let p=b(m,m+1);if(p.length>0){let y=p[0];return {pageIndex:y.pageIndex,x:y.x,y:y.y,width:0,height:y.height}}if(m>0){let y=b(m-1,m);if(y.length>0){let R=y[y.length-1];return {pageIndex:R.pageIndex,x:R.x+R.width,y:R.y,width:0,height:R.height}}}return null},Y=m=>{let p=b(m,m+2);return p.length>0?p[0]:w(m)},ee=(m,p,y)=>{let R=M(m,p,y,y+2);if(R.length===0)return C(m,p,y);let x=new Map;for(let I of R)x.has(I.pageIndex)||x.set(I.pageIndex,I);return [...x.values()]},A=(m,p)=>({pageIndex:m,x:p.x,y:p.y,width:p.w,height:p.h}),W=m=>{let p=e.pages[m];return p?{pageIndex:p.pageIndex,x:0,y:0,width:p.width,height:p.height}:null},G=m=>{let p=e.pages[m],y=p?.contentBounds;return p&&y?{pageIndex:p.pageIndex,x:y.x,y:y.y,width:y.width,height:y.height}:null},le=m=>{let p=e.pages[m];return p?(p.columnBounds??[]).map(y=>({pageIndex:p.pageIndex,x:y.x,y:y.y,width:y.width,height:y.height})):[]},te=m=>m.paraId?`para:${m.paraId}`:m.blockKey!==void 0?`block-key:${m.blockKey}`:m.blockId!==void 0?`block-id:${m.blockId}`:null,N=m=>m.blockKey??m.blockId,Q=null,E=()=>{if(Q)return Q;let m=new Map;for(let p of e.pages)for(let y of p.primitives){let R=te(y);if(!R||y.docStart===void 0||y.docEnd===void 0)continue;let x=f(y),I=m.get(R);I||(I=new Map,m.set(R,I));let S=I.get(p.pageIndex);if(!S){I.set(p.pageIndex,{...A(p.pageIndex,x),from:y.docStart,to:y.docEnd,blockId:N(y),paraId:y.paraId});continue}let T=Math.min(S.x,x.x),P=Math.min(S.y,x.y),ce=Math.max(S.x+S.width,x.x+x.w),de=Math.max(S.y+S.height,x.y+x.h);S.x=T,S.y=P,S.width=ce-T,S.height=de-P,S.from=Math.min(S.from,y.docStart),S.to=Math.max(S.to,y.docEnd);}return Q=new Map([...m].map(([p,y])=>[p,[...y.values()]])),Q},V=m=>{let p=null;for(let y of e.pages)for(let R of y.primitives){let x=te(R),I=R.docStart,S=R.docEnd;if(!x||I===void 0||S===void 0||m<I||m>S)continue;let T={identity:x,span:Math.max(0,S-I),startsAtPos:I===m};(!p||T.startsAtPos&&!p.startsAtPos||T.startsAtPos===p.startsAtPos&&T.span<p.span)&&(p=T);}return p?E().get(p.identity)??[]:[]},X=1.5,F=null,O=()=>{if(F)return F;let m=[];for(let p of e.pages){let y=[],R=0;for(let x of p.primitives){if(x.kind!=="text"&&x.kind!=="glyphRun"||x.docStart===void 0||x.docEnd===void 0||x.kind==="glyphRun"&&x.glyphs.length===0)continue;let I=x.kind==="text"?x.baselineY:x.glyphs.reduce((ue,bt)=>Math.max(ue,bt.y),-1/0);if(!Number.isFinite(I))continue;let S=te(x)??`anonymous:${R++}`,T=f(x),P=y.find(ue=>ue.identity===S&&Math.abs(ue.baseline-I)<=X);if(!P){y.push({identity:S,...A(p.pageIndex,T),baseline:I,from:x.docStart,to:x.docEnd,blockId:N(x),paraId:x.paraId});continue}let ce=Math.min(P.x,T.x),de=Math.min(P.y,T.y),gt=Math.max(P.x+P.width,T.x+T.w),ht=Math.max(P.y+P.height,T.y+T.h);P.x=ce,P.y=de,P.width=gt-ce,P.height=ht-de,P.from=Math.min(P.from,x.docStart),P.to=Math.max(P.to,x.docEnd);}m.push(...y.map(({identity:x,...I})=>I));}return F=m,F},z=m=>{let p=null;for(let y of O())m<y.from||m>y.to||(!p||y.to-y.from<p.to-p.from)&&(p=y);return p},U=m=>{if(!m)return null;let p=m.primitive.docStart;if(p===void 0)return null;let{primitive:y}=m;return {...m,pos:p,rect:{pageIndex:m.pageIndex,x:y.x,y:y.y,width:y.w,height:y.h}}},q=(m,p,y,R="body",x)=>U(Te(e,m,p,y,R,x)),he=(m,p="body",y)=>U(Ee(e,m,p,y)),Oe={},_e={displayList:e,isReady:()=>(n!==null||a!==null)&&o===null,sourceState:()=>o?{status:"error",error:o}:n||a?{status:"ready"}:{status:"loading"},whenReady:()=>l,pageCount:()=>e.pages.length,pageSize:m=>{let p=e.pages[m];return p?{width:p.width,height:p.height}:null},pageBounds:W,contentBounds:G,columnBounds:le,paragraphRects:V,visualLines:O,visualLineAtPosition:z,imageAtPoint:q,imageByPos:he,hitTestRegions:v,rangeRects:b,hfRangeRects:M,hfCaretRects:C,hfAnchorRects:ee,caretRect:w,anchorRect:Y,sidebarAnchorRect:Y,dispose:()=>{g||(g=true,f$1(),ct?.unregister(Oe));}};return ct?.register(_e,f$1,Oe),_e}function pn(e){return typeof e?.displayHitTestRegionsJson=="function"&&typeof e?.displayRangeRectsJson=="function"&&typeof e?.displayRangeRectsRegionJson=="function"}var yn=16,gn=24;function oe(e){let t=[],r=24;for(let i=0;i<e.pageCount();i++)t.push(r),r+=(e.pageSize(i)?.height??0)+16;return t}function hn(){let e=new Map;return t=>{if(!t.startsWith("blob:")&&!t.startsWith("data:"))return null;let r=e.get(t);return r||(r=new Promise(i=>{let n=new Image;n.onload=()=>i(n),n.onerror=()=>i(null),n.src=t;}),e.set(t,r)),r}}function bn(e,t){let r=e.activeCommentIds.length>0?t?.(e.activeCommentIds):void 0;return {hasSelection:e.hasSelection,inInsertion:e.inInsertion,inDeletion:e.inDeletion,hasComment:e.activeCommentIds.length>0,inList:e.inList,listLevel:e.listLevel??0,...r?.authorName!==void 0?{commentAuthor:r.authorName}:{},...r?.replyCount!==void 0?{commentReplyCount:r.replyCount}:{}}}function xn(e,t){if(!e)return [];let r=[];return !e.hasSelection&&t.hasSelection&&r.push({key:"selected"}),e.hasSelection&&!t.hasSelection&&r.push({key:"selectionCleared"}),!e.hasComment&&t.hasComment&&r.push({key:"commentedText",...t.commentAuthor!==void 0||t.commentReplyCount!==void 0?{vars:{...t.commentAuthor!==void 0?{author:t.commentAuthor}:{},...t.commentReplyCount!==void 0?{replies:t.commentReplyCount}:{}}}:{}}),!e.inInsertion&&t.inInsertion&&r.push({key:"trackedInsertion"}),!e.inDeletion&&t.inDeletion&&r.push({key:"trackedDeletion"}),(!e.inList&&t.inList||t.inList&&e.listLevel!==t.listLevel)&&r.push({key:"listItem",vars:{level:t.listLevel+1}}),r}function ae(e){let t=Number(e);if(Number.isFinite(t))return t;let r=0xcbf29ce484222325n;for(let i of new TextEncoder().encode(e))r=(r^BigInt(i))*0x100000001b3n,r&=0xffffffffffffffffn;return Number(r&(1n<<53n)-1n)}function ge(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}function Rn(e){let t=typeof e.story=="string"?[e.story]:[],r=Array.isArray(e.rows)?e.rows:[];for(let i of r){let n=ge(i),a=n&&Array.isArray(n.cells)?n.cells:[];for(let o of a){let s=ge(o)?.story;typeof s=="string"&&t.push(s);}}return t}function Ln(e){let t=e.storyIds(),r=new Map,i=new Set;for(let o of t){let s=[];try{for(let c of e.storySegments(o))if(c.kind==="embed")for(let l of Rn(c.payload))s.push(l),i.add(l);}catch{}r.set(o,s);}let n=new Map,a=(o,s,c)=>{if(!(c.has(o)||n.has(o))){c.add(o),n.set(o,s);for(let l of r.get(o)??[])a(l,s,c);c.delete(o);}};t.includes("body")&&a("body",{story:"body"},new Set);for(let o of t)!o.startsWith("hf:")||i.has(o)||a(o,{story:o,hfRid:o.slice(3)},new Set);return n}function Dn(e,t,r,i,n){let a=Array.isArray(t.rows)?t.rows:[],o=r+1;for(let s of a){let c=ge(s),l=c&&Array.isArray(c.cells)?c.cells:[],d=o+1;for(let g of l){let f=ge(g),u=typeof f?.story=="string"?f.story:null,h=u?Ce(e,u,d+1,i,n):0;d+=h+2;}o=d+1;}return o+1-r}function Ce(e,t,r,i,n){if(n.has(t))throw new Error(`recursive yrs story: ${t}`);n.add(t);try{let a=r,o=r,s=0,c=!0;for(let l of e.storySegments(t)){if(l.kind==="text"){s+=l.text.length,c=!1;continue}if(l.kind==="pilcrow"){let d=o+s+2;i.set(l.paraId,{pmStart:o,pmEnd:d}),a=d,o=a,s=0,c=!0;continue}if(l.embedKind==="table"&&c){a+=Dn(e,l.payload,a,i,n),o=a;continue}if(l.embedKind==="blockSdt"&&c){let d=typeof l.payload.story=="string"?l.payload.story:null,g=d?Ce(e,d,a+1,i,n):0;a+=g+2,o=a;continue}if(c&&(l.embedKind==="pageBreak"||l.embedKind==="columnBreak")){a+=1,o=a;continue}s+=1,c=!1;}return a-r}finally{n.delete(t);}}function In(e){let t=new Map,r=Ln(e),i=o=>{let s=r.get(o)?.story;if(!s)return null;if(t.has(s))return t.get(s)??null;try{let c=new Map;return Ce(e,s,0,c,new Set),t.set(s,c),c}catch{return t.set(s,null),null}},n=o=>{let s=r.get(o.story);if(!s)return null;let c=i(o.story)?.get(o.paraId);if(!c)return null;let l=Math.max(0,c.pmEnd-c.pmStart-2),d=Math.min(Math.max(0,Math.trunc(o.offset)),l);return {story:o.story,position:c.pmStart+1+d,...s.hfRid?{hfRid:s.hfRid}:{}}};return {locToDisplayPoint:n,storyOffsetToDisplayPoint:(o,s)=>{if(!r.has(o))return null;let c=Math.max(0,Math.trunc(s));try{for(let l of e.paragraphs(o)){let d=e.locateParagraph(o,l.paraId);if(!(c<d.start||c>d.end))return n({story:o,paraId:l.paraId,offset:Math.min(c-d.start,d.end-d.start)})}}catch{return null}return null}}}function Be(e,t){let{doc:r,schema:i}=e.state,n=i.marks.comment,a=i.marks.insertion,o=i.marks.deletion;!n&&!a&&!o||r.descendants((s,c)=>{let l=s.attrs;if(l){let d=[l.trIns,l.trDel,l.pPrIns,l.pPrDel];for(let h of d){let L=h?.revisionId;typeof L=="number"&&t(`revision-${L}`,c);}let f=l.cellMarker?.info?.revisionId;typeof f=="number"&&t(`revision-${f}`,c);let u=[l.pPrChange,l.trPrChange,l.tcPrChange,l.tblPrChange];for(let h of u)if(Array.isArray(h))for(let L of h){let k=L?.info?.id;typeof k=="number"&&t(`revision-${k}`,c);}}if(s.isInline)for(let d of s.marks){let g=null;n&&d.type===n?g=`comment-${d.attrs.commentId}`:(a&&d.type===a||o&&d.type===o)&&(g=`revision-${d.attrs.revisionId}`),g&&t(g,c);}});}function Sn(e,t,r){let i=new Map;if(!e?.state)return i;let n=oe(t),a=new Set;return Be(e,(o,s)=>{if(a.has(o))return;a.add(o);let c=t.anchorRect(s);if(!c)return;let l=r?r(c):(n[c.pageIndex]??0)+c.y;l!=null&&i.set(o,l);}),i}function vn(e,t,r){if(!e.hfRid)return t.anchorRect(e.position);let i=r?.get(e.hfRid);return i?t.hfAnchorRects(i,e.hfRid,e.position)[0]??null:null}function kn(e,t,r,i,n,a,o){let s=new Map,c=oe(n),l=(d,g)=>{if(!g||s.has(d))return s.has(d);let f=vn(g,n,a);if(!f)return false;let u=o?o(f):(c[f.pageIndex]??0)+f.y;return u==null?false:(s.set(d,u),true)};for(let d of t){let g=`comment-${d}`;try{for(let f of e.resolveComment(String(d)))if(l(g,i.storyOffsetToDisplayPoint(f.story,f.start)))break}catch{}}for(let d of r)l(`revision-${ae(d.revisionId)}`,i.locToDisplayPoint({story:d.story,...d.range.start}));return s}function wn(e,t,r,i){let n=oe(t);for(let{region:a,rId:o,view:s}of e)Be(s,(c,l)=>{if(r.has(c))return;let d=t.hfAnchorRects(a,o,l)[0];if(!d)return;let g=i?i(d):(n[d.pageIndex]??0)+d.y;g!=null&&r.set(c,g);});return r}function Mn(e,t){let r=e.map(o=>{let s=t.locToDisplayPoint({story:o.range.story,...o.range.start}),c=t.locToDisplayPoint({story:o.range.story,...o.range.end}),l=s?.position??0,d=Math.max(l,c?.position??l);return {type:o.kind==="pPrIns"?"paragraphMarkInsertion":o.kind==="pPrDel"?"paragraphMarkDeletion":o.kind==="pPrChange"?"paragraphPropertiesChanged":o.kind==="trIns"?"rowInserted":o.kind==="trDel"?"rowDeleted":o.kind==="tableIns"?"tableInserted":o.kind==="tableDel"?"tableDeleted":o.kind,text:o.preview,author:o.author,date:o.date||void 0,from:l,to:d,revisionId:ae(o.revisionId),...s?.hfRid?{hfRid:s.hfRid}:{}}}),i=new Map;for(let o of r){let s=i.get(o.revisionId)??[];s.push(o),i.set(o.revisionId,s);}let n=[...i.values()].map(o=>{let s=Math.min(...o.map(u=>u.from)),c=Math.max(...o.map(u=>u.to)),l=o.filter(u=>u.type==="insertion"),d=o.filter(u=>u.type==="deletion");if(l.length>0&&d.length>0)return {...l[0],type:"replacement",text:l.map(h=>h.text).join(""),deletedText:d.map(h=>h.text).join(""),from:s,to:c};let g=o.find(u=>u.type==="insertion"||u.type==="deletion")??o[0],f=o.filter(u=>u.type===g.type).map(u=>u.text).join("");return {...g,text:f,from:s,to:c}}),a=[];for(let o=0;o<n.length;o+=1){let s=n[o],c=n[o+1];s.type==="deletion"&&c?.type==="insertion"&&s.author===c.author&&s.date===c.date&&s.to===c.from&&s.hfRid===c.hfRid?(a.push({type:"replacement",text:c.text,deletedText:s.text,author:s.author,date:s.date,from:s.from,to:c.to,revisionId:s.revisionId,insertionRevisionId:c.revisionId,...s.hfRid?{hfRid:s.hfRid}:{}}),o+=1):a.push(s);}return {entries:a,commentToRevision:new Map}}function Pn(e,t){let r=t.kind??"body";if(r==="body")return {kind:r,primitives:e.primitives};let i=r==="header"?e.header:e.footer;return !i||i.kind!==r||t.rId&&i.rId!==t.rId?null:{kind:r,rId:i.rId,primitives:i.primitives}}function An(e){switch(e.kind){case "text":return c(e);case "glyphRun":return d(e);case "rect":case "image":case "shape":case "decoration":return {x:e.x,y:e.y,w:e.w,h:e.h};case "line":return {x:Math.min(e.x1,e.x2),y:Math.min(e.y1,e.y2),w:Math.abs(e.x2-e.x1),h:Math.abs(e.y2-e.y1)}}}function En(e){let t=An(e),r=e.clipGroup?.clip;if(!r)return t;let i=r.x??0,n=r.y??0,a=i+Math.max(0,r.w??0),o=n+Math.max(0,r.h??0),s=Math.max(t.x,i),c=Math.max(t.y,n),l=Math.min(t.x+t.w,a),d=Math.min(t.y+t.h,o);return l<s||d<c?null:{x:s,y:c,w:l-s,h:d-c}}function Tn(e){return e.kind==="text"||e.kind==="glyphRun"?e.text:e.kind==="image"?e.altText??"":""}function Cn(e,t,r){return t>=e.x&&t<=e.x+e.w&&r>=e.y&&r<=e.y+e.h}function Bn(e,t,r,i,n={kind:"body"}){let a=e.pages[t];if(!a)return null;let o=Pn(a,n);if(!o)return null;for(let s=o.primitives.length-1;s>=0;s--){let c=o.primitives[s];if(c.kind==="line"||!c.href||c.hiddenObject)continue;let l=En(c);if(l&&Cn(l,r,i))return {pageIndex:t,region:o.kind,rId:o.rId,href:c.href,tooltip:c.linkTitle??c.tooltip,displayText:Tn(c)||c.href,rect:l}}return null}var _=7.5,Z=16,dt=320,Hn=30,Gn=200,Nn=24,Fn=10,Yn=10,On=24;function ut(e){let t;switch(e.kind){case "text":t=c(e);break;case "glyphRun":t=d(e);break;case "rect":case "image":case "shape":case "decoration":t={x:e.x,y:e.y,w:e.w,h:e.h};break;case "line":t={x:Math.min(e.x1,e.x2),y:Math.min(e.y1,e.y2),w:Math.abs(e.x2-e.x1),h:Math.abs(e.y2-e.y1)};break}let r=Ge(e);return r?_n(t,r)??{x:r.x,y:r.y,w:0,h:0}:t}function Ge(e){let t=e.clipGroup?.clip;return t?{x:t.x??0,y:t.y??0,w:Math.max(0,t.w??0),h:Math.max(0,t.h??0)}:null}function _n(e,t){let r=Math.max(e.x,t.x),i=Math.max(e.y,t.y),n=Math.min(e.x+e.w,t.x+t.w),a=Math.min(e.y+e.h,t.y+t.h);return n<r||a<i?null:{x:r,y:i,w:n-r,h:a-i}}function mt(e,t,r){if(e.docStart!=null){let i=t(e.docStart);if(i!=null){let n={tableKey:i,docStartSample:e.docStart};return e.table?.tableId&&!r.has(e.table.tableId)&&r.set(e.table.tableId,n),n}}return e.table?.tableId?r.get(e.table.tableId)??null:null}function ft(e,t,r){let i=e.table?.tableId;if(!i)return null;let n=t.get(i);return n?r.get(n.tableKey)??null:null}function Xn(e,t,r,i){let n=new Map;for(let o of t){if(o.kind==="line")continue;let s=o.cell;if(!s)continue;let c=mt(o,r,i);if(!c)continue;let{tableKey:l,docStartSample:d}=c,g=ut(o),f=Ge(o),u=f??g,h=n.get(l);if(h||(h={tableKey:l,docStartSample:d,contentMinX:u.x,contentMinY:u.y,contentMaxX:u.x+u.w,contentMaxY:u.y+u.h,exactLeftX:[],exactBottomY:[],exactClipLeftX:[],exactClipBottomY:[],rows:new Map},n.set(l,h)),d<h.docStartSample&&(h.docStartSample=d),h.contentMinX=Math.min(h.contentMinX,u.x),h.contentMinY=Math.min(h.contentMinY,u.y),h.contentMaxX=Math.max(h.contentMaxX,u.x+u.w),h.contentMaxY=Math.max(h.contentMaxY,u.y+u.h),f&&(h.exactClipLeftX.push(f.x),h.exactClipBottomY.push(f.y+f.h)),!s.continuation){let L=h.rows.get(s.row);L?(L.top=Math.min(L.top,u.y),L.bottom=Math.max(L.bottom,u.y+u.h)):h.rows.set(s.row,{top:u.y,bottom:u.y+u.h});}}if(n.size===0)return [];for(let o of t){if(o.kind!=="line"||o.role!=="table-border"&&o.role!=="table-cut")continue;let s=ft(o,i,n);if(!s){let d=(o.x1+o.x2)/2,g=(o.y1+o.y2)/2,f=1/0;for(let u of n.values()){let h=d>=u.contentMinX-Z&&d<=u.contentMaxX+Z,L=g>=u.contentMinY-Z&&g<=u.contentMaxY+Z;if(!h||!L)continue;let k=Math.max(0,u.contentMinX-d,d-u.contentMaxX),v=Math.max(0,u.contentMinY-g,g-u.contentMaxY),b=k+v;b<f&&(f=b,s=u);}}if(!s)continue;let c=Math.abs(o.x1-o.x2)<.5,l=Math.abs(o.y1-o.y2)<.5;c&&s.exactLeftX.push(Math.min(o.x1,o.x2)),l&&s.exactBottomY.push(Math.max(o.y1,o.y2));}let a=[];for(let o of n.values()){if(o.rows.size===0)continue;let s=o.exactLeftX.length>0||o.exactClipLeftX.length>0,c=s?Math.min(...o.exactLeftX,...o.exactClipLeftX):o.contentMinX-_,l=o.exactBottomY.length>0||o.exactClipBottomY.length>0?Math.max(...o.exactBottomY,...o.exactClipBottomY):o.contentMaxY,d=[...o.rows.entries()].map(([g,f])=>({rowIndex:g,top:f.top,bottom:f.bottom})).sort((g,f)=>g.rowIndex-f.rowIndex);a.push({pageIndex:e,tableKey:o.tableKey,docStartSample:o.docStartSample,originX:c,originY:o.contentMinY,bottomY:l,originExact:s,rowBands:d});}return a}function $n(e,t){let r=[],i=Fe(e,t,{kind:"body"});for(let n of e.pages)r.push(...Xn(n.pageIndex,n.primitives,t,i));return r}function Ne(e,t){let r=t.kind??"body";if(r==="body")return {kind:r,primitives:e.primitives};let i=r==="header"?e.header:e.footer;return !i||i.kind!==r||t.rId&&i.rId!==t.rId?null:{kind:r,rId:i.rId,primitives:i.primitives}}function Fe(e,t,r){let i=new Map;for(let n of e.pages){let a=Ne(n,r);if(a)for(let o of a.primitives){if(!o.cell||!o.table?.tableId||o.docStart==null)continue;let s=t(o.docStart);if(s==null)continue;let c=i.get(o.table.tableId);(!c||o.docStart<c.docStartSample)&&i.set(o.table.tableId,{tableKey:s,docStartSample:o.docStart});}}return i}function Ye(e,t){return `${e}:${t}`}function Kn(e,t,r,i){let n=Ye(t.row,t.col),a=e.cells.get(n);a?(a.minX=Math.min(a.minX,r.x),a.minY=Math.min(a.minY,r.y),a.maxX=Math.max(a.maxX,r.x+r.w),a.maxY=Math.max(a.maxY,r.y+r.h),a.rowSpan=Math.max(a.rowSpan,t.rowSpan),a.colSpan=Math.max(a.colSpan,t.colSpan),i&&(a.exactClip=i)):e.cells.set(n,{row:t.row,col:t.col,rowSpan:t.rowSpan,colSpan:t.colSpan,minX:r.x,minY:r.y,maxX:r.x+r.w,maxY:r.y+r.h,exactClip:i??void 0});}function pt(e,t,r){let i=new Map;for(let n of e){if(n.kind==="line")continue;let a=n.cell;if(!a)continue;let o=mt(n,t,r);if(!o)continue;let s=o.tableKey,c=ut(n),l=i.get(s);l||(l={tableKey:s,contentMinX:c.x,contentMinY:c.y,contentMaxX:c.x+c.w,contentMaxY:c.y+c.h,cells:new Map,verticalLines:[],horizontalLines:[]},i.set(s,l)),l.contentMinX=Math.min(l.contentMinX,c.x),l.contentMinY=Math.min(l.contentMinY,c.y),l.contentMaxX=Math.max(l.contentMaxX,c.x+c.w),l.contentMaxY=Math.max(l.contentMaxY,c.y+c.h),Kn(l,a,c,Ge(n));}if(i.size===0)return [];for(let n of e){if(n.kind!=="line"||n.role!=="table-border"&&n.role!=="table-cut")continue;let a=Math.abs(n.x1-n.x2)<.5,o=Math.abs(n.y1-n.y2)<.5;if(!a&&!o)continue;let s=Math.min(n.x1,n.x2),c=Math.max(n.x1,n.x2),l=Math.min(n.y1,n.y2),d=Math.max(n.y1,n.y2),g=ft(n,r,i);if(g){a?g.verticalLines.push(s):g.horizontalLines.push(l);continue}for(let f of i.values())if(a){if(!(d>=f.contentMinY-Z&&l<=f.contentMaxY+Z))continue;let h=s;Math.max(0,f.contentMinX-h,h-f.contentMaxX)<=dt&&f.verticalLines.push(h);}else if(o){if(!(c>=f.contentMinX-Z&&s<=f.contentMaxX+Z))continue;let h=l;Math.max(0,f.contentMinY-h,h-f.contentMaxY)<=dt&&f.horizontalLines.push(h);}}return [...i.values()]}function se(e){let t=[];for(let r of [...e].sort((i,n)=>i-n))(t.length===0||Math.abs(t[t.length-1]-r)>.5)&&t.push(r);return t}function yt(e){let t=se([...e.cells.values()].map(n=>n.row)),r=se(e.horizontalLines),i=new Map;if(t.length>0&&r.length>=t.length+1)for(let n=0;n<t.length;n++)i.set(t[n],r[n]),i.set(t[n]+1,r[n+1]);return i}function He(e){if(!e)return null;if(e.exactClip)return e.exactClip;let t=e.minX-_,r=e.minY-_;return {x:t,y:r,w:Math.max(1,e.maxX-e.minX+_*2),h:Math.max(1,e.maxY-e.minY+_*2)}}function Jn(e,t){let r=1/0,i=-1/0;for(let n of e.cells.values())n.row===t&&(r=Math.min(r,n.exactClip?.y??n.minY-_),i=Math.max(i,n.exactClip?n.exactClip.y+n.exactClip.h:n.maxY+_));return !Number.isFinite(r)||!Number.isFinite(i)||i<=r?null:{top:r,bottom:i}}function Wn(e,t,r){let i=He(e.cells.get(Ye(t,r)));return i?{left:i.x,right:i.x+i.w,top:i.y,bottom:i.y+i.h}:null}function Qn(e,t,r,i={kind:"body"}){if(t.length===0)return [];let n=new Map;for(let s of t){let c=n.get(s.tableKey);c?c.push(s):n.set(s.tableKey,[s]);}let a=[],o=Fe(e,r,i);for(let s of e.pages){let c=Ne(s,i);if(!c)continue;let l=pt(c.primitives,r,o);for(let d of l){let g=n.get(d.tableKey);if(!g)continue;let f=se(d.verticalLines),u=yt(d);for(let h of g){let L=d.cells.get(Ye(h.row,h.col)),k=f[h.col],v=f[h.col+h.colSpan],b=u.get(h.row),M=u.get(h.row+h.rowSpan),C=true;if(k==null||v==null||v<=k){let w=L?.exactClip??He(L);if(!w)continue;k=w.x,v=w.x+w.w,C=L?.exactClip!=null;}if(b==null||M==null||M<=b){let w=L?.exactClip??He(L);if(!w)continue;b=w.y,M=w.y+w.h,C&&(C=L?.exactClip!=null);}a.push({pageIndex:s.pageIndex,tableKey:d.tableKey,row:h.row,col:h.col,rowSpan:h.rowSpan,colSpan:h.colSpan,x:k,y:b,w:Math.max(1,v-k),h:Math.max(1,M-b),exact:C,region:c.kind,rId:c.rId});}}}return a}function Vn(e){let{list:t,pageIndex:r,x:i,y:n,canvasRect:a,pageSize:o,tableKeyOf:s,cellPmPosOf:c,region:l={kind:"body"},edgeProximity:d=Hn}=e,g=t.pages[r];if(!g)return null;let f=Ne(g,l);if(!f)return null;let u=o.width>0?a.width/o.width:1,h=o.height>0?a.height/o.height:1,L=(b,M)=>({clientX:a.left+b*u,clientY:a.top+M*h}),k=Fe(t,s,l),v=pt(f.primitives,s,k);for(let b of v){let M=se(b.verticalLines),C=yt(b),w=se([...b.cells.values()].map(N=>N.row));if(w.length===0)continue;let Y=M[0]??b.contentMinX-_,ee=M[M.length-1]??b.contentMaxX+_,A=C.get(w[0])??b.contentMinY-_,W=w[w.length-1],G=C.get(W+1)??b.contentMaxY+_,le=i<Y+d&&i>=Y-d,te=n<A+d&&n>=A-d;if(!(!le&&!te)){if(le&&n>=A-d&&n<=G)for(let N of w){let Q=C.get(N),E=C.get(N+1),V=Q==null||E==null?Jn(b,N):null,X=Q??V?.top,F=E??V?.bottom;if(X==null||F==null||F<=X||n<X||n>F)continue;let O=[...b.cells.values()].filter(q=>q.row===N).sort((q,he)=>q.col-he.col)[0];if(!O)continue;let z=c(b.tableKey,N,O.col);if(!z)continue;let U=L(Y,X+(F-X)/2);return {type:"row",clientX:U.clientX-Nn,clientY:U.clientY-Fn,cellPmPos:z}}if(te&&i>=Y-d&&i<=ee){let N=w[0],Q=[...b.cells.values()].filter(E=>E.row===N).sort((E,V)=>E.col-V.col);for(let E of Q){let V=M[E.col],X=M[E.col+E.colSpan],F=V==null||X==null?Wn(b,E.row,E.col):null,O=V??F?.left,z=X??F?.right;if(O==null||z==null||z<=O||i<O||i>z)continue;let U=c(b.tableKey,E.row,E.col);if(!U)continue;let q=L(O+(z-O)/2,A);return {type:"column",clientX:q.clientX-Yn,clientY:q.clientY-On,cellPmPos:U}}}}}return null}var Yi=$e;export{gn as CANVAS_PAGES_PADDING_PX,yn as CANVAS_PAGE_GAP_PX,Gn as DISPLAY_LIST_TABLE_INSERT_HIDE_DELAY_MS,D as MIRROR_CLASS_NAMES,J as RustDisplayListSourceError,zt as applyInteractiveSdtFocus,Ut as buildInteractiveOverlayPage,Nt as buildMirrorPage,un as buildRustDisplayFrame,st as buildRustDisplayList,oe as canvasPageTops,mn as captureInlinePositionEmuFromDisplayList,xn as computeA11yAnnouncements,Sn as computeAnchorPositionsFromDisplayList,kn as computeAnchorPositionsFromYrs,hn as createCanvasImageResolver,fn as createDisplayListQueries,In as createYrsSidebarProjection,Yi as demoDisplayList,Qn as deriveDisplayListSelectedCellRects,$n as deriveDisplayListTableFragments,Vn as detectDisplayListTableInsertHover,ot as encodeDisplayListFrameExtras,Mn as extractTrackedChangesFromYrs,Bn as findDisplayListHyperlinkAtPoint,Te as findImagePrimitiveAtPoint,Ee as findImagePrimitiveByDocPos,Gt as loadGlyphOutlineProvider,Ae as loadRustDisplayListQueryEngine,wn as mergeHfAnchorPositionsFromDisplayList,bn as snapshotFromSelectionContext,Be as visitAnchorKeys,ae as yrsIdToNumericId};
1
+ import {d,c,e,s,t,v,f}from'../../chunk-GGEGIQRK.mjs';export{p as FRAME_DELTA_HEADER_BYTES,q as FRAME_DELTA_PAGE_OP_BYTES,o as FRAME_DELTA_VERSION,r as FrameDeltaError,a as GlyphCache,t as applyFrameDelta,u as applyFrameDeltaOwned,s as decodeFrameDelta,m as drawDisplayPage,n as drawPrimitive,b as fontSizePxFromShorthand,d as glyphRunRect,e as lineRect,h as presentDisplayPageBackBuffer,i as presentOffscreenPageBackBuffer,l as rasterizeDisplayListPages,g as rasterizeDisplayPageToBackBuffer,k as sizeCanvasForPage,c as textRunRect}from'../../chunk-GGEGIQRK.mjs';export{b as resolveCanvasPoint,a as resolveDisplayPageClientRect}from'../../chunk-WRWRCBLK.mjs';import {c as c$1}from'../../chunk-3UBMCDME.mjs';import {b}from'../../chunk-TTRUPDAB.mjs';var We={pages:[{pageIndex:0,width:816,height:1056,primitives:[{kind:"rect",x:96,y:96,w:624,h:20,fill:"#fff9c4",blockId:0,docStart:1,docEnd:12},{kind:"text",text:"Hello Word",x:96,baselineY:110,width:84.5,font:"700 16px Calibri, sans-serif",color:"#000000",docStart:1,docEnd:11,blockId:0},{kind:"decoration",deco:"underline",x:96,y:113,w:84.5,h:1,color:"#000000",docStart:1,docEnd:11,blockId:0},{kind:"text",text:" \u2014 second run",x:180.5,baselineY:110,width:96.25,font:"400 16px Calibri, sans-serif",color:"#c0392b",docStart:11,docEnd:24,blockId:0},{kind:"line",x1:96,y1:140,x2:720,y2:140,strokeWidth:.75,color:"#666666",role:"table-border"},{kind:"image",relId:"rId7",x:96,y:160,w:200,h:120,docStart:30,docEnd:31,blockId:2}]}]};function _t(){return import('../../wasm-DO3BUV7C.mjs').then(async e=>(await e.preloadLayoutWasm(),e.outlineGlyphJson))}var D={page:"layout-page layout-page-mirror",content:"layout-page-content",header:"layout-page-header",footer:"layout-page-footer",block:"layout-paragraph",table:"layout-table",tableRow:"layout-table-row",tableCell:"layout-table-cell",text:"layout-run layout-run-text",rect:"layout-mirror-rect",image:"layout-run layout-run-image",shape:"layout-run layout-run-shape",chart:"layout-run layout-run-chart",decoration:"layout-decoration",line:"layout-mirror-line",pageBorder:"layout-page-border",tableCut:"layout-table-cut-border",blockSdt:"layout-block-sdt",inlineSdtWidget:"layout-inline-sdt-widget",revisionPmark:"layout-revision-pmark",revisionPmarkGlyph:"layout-revision-pmark-glyph",revisionPmarkIns:"layout-revision-ins",revisionPmarkDel:"layout-revision-del",listMarker:"layout-list-marker",revisionTable:"oox-revision-table",revisionRow:"oox-revision-row",revisionCell:"oox-revision-cell",revisionIns:"oox-revision-ins",revisionDel:"oox-revision-del",revisionMerge:"oox-revision-merge",notes:"layout-page-notes",note:"layout-note",noteBacklink:"layout-note-backlink"};function Xt(e,t={}){let r=t.document??document,i=t.labels,n={labels:i,noteRefIds:new Set},s=r.createElement("div");s.className=D.page,s.setAttribute("role","document"),i?.page&&s.setAttribute("aria-label",i.page),s.dataset.pageIndex=String(e.pageIndex),e.sectionId!==void 0&&(s.dataset.sectionId=e.sectionId),e.sectionIndex!==void 0&&(s.dataset.sectionIndex=String(e.sectionIndex)),e.sectionPageIndex!==void 0&&(s.dataset.sectionPageIndex=String(e.sectionPageIndex)),e.sectionPageNumber!==void 0&&(s.dataset.sectionPageNumber=String(e.sectionPageNumber)),e.pageLabel!==void 0&&(s.dataset.pageLabel=e.pageLabel),s.style.position="relative",s.style.width=`${e.width}px`,s.style.height=`${e.height}px`,s.style.opacity="0",s.style.pointerEvents="none";let o=r.createElement("div");o.className=D.content,o.style.position="absolute",o.style.left="0",o.style.top="0",o.style.width=`${e.width}px`,o.style.height=`${e.height}px`,s.appendChild(o);for(let a of (e.pageBorders??[]).filter(l=>l.zOrder==="back"))o.appendChild(je(a,r,0));oe(o,e.primitives,r,0,n);for(let a of e.noteAreas??[])o.appendChild(Zt(a,e,r,n));for(let a of [e.header,e.footer])a&&s.appendChild($t(a,e,r,n));for(let a of (e.pageBorders??[]).filter(l=>l.zOrder!=="back"))s.appendChild(je(a,r,0));return s}function $t(e,t,r,i){let n=r.createElement("div");n.className=e.kind==="header"?D.header:D.footer,n.dataset.hfRid=e.rId;let s=e.kind==="header"?i.labels?.header:i.labels?.footer;return s&&(n.setAttribute("role","region"),n.setAttribute("aria-label",s)),n.style.position="absolute",n.style.left="0",n.style.top=`${e.y}px`,n.style.width=`${t.width}px`,n.style.height=`${e.height}px`,oe(n,e.primitives,r,-e.y,i),n}function oe(e,t,r,i,n){let s=new Map;for(let o of t){let a=o.kind==="line"?void 0:o.blockKey??o.blockId;if(a===void 0){e.appendChild(ge(o,r,i,n));continue}let l=o.table,c=l?.tableId!==void 0?`table:${l.tableId}#${l.rowStart??0}`:a,d=s.get(c);if(!d){let p=r.createElement("div");p.dataset.blockId=String(l?.tableId??a),p.style.position="absolute",p.style.left="0",p.style.top="0",e.appendChild(p),d={el:p,prims:[]},s.set(c,d);}d.prims.push(o);}for(let o of s.values())Jt(o,r,i,n);Wt(s);}function Jt(e,t,r,i){let{el:n,prims:s}=e;if(!s.some(y=>y.cell!==void 0||y.structuralRevision?.scope==="table"||y.structuralRevision?.scope==="row"||y.structuralRevision?.scope==="cell")){Ve(n,s,t,r,i);return}n.className=D.table,n.setAttribute("role","table");let a=s.find(y=>y.table!==void 0)?.table;e.table=a,e.cells=[],a?.tableId!==void 0&&(n.dataset.tableId=a.tableId),a?.rowStart!==void 0&&(n.dataset.rowStart=String(a.rowStart)),a?.rowEnd!==void 0&&(n.dataset.rowEnd=String(a.rowEnd)),a?.headerRowCount!==void 0&&(n.dataset.headerRowCount=String(a.headerRowCount)),a?.parentTableId!==void 0&&(n.dataset.parentTableId=a.parentTableId),a?.caption&&n.setAttribute("aria-label",a.caption),a?.description&&n.setAttribute("aria-description",a.description);let l=fe(s,"table");l&&ye(n,l),Ae(n,s.find(y=>y.sdt!==void 0)?.sdt);for(let y of s)y.cell===void 0&&n.appendChild(ge(y,t,r,i));let c=new Map,d=0,p=0;for(let y of s){if(y.cell===void 0)continue;let{row:m,col:h}=y.cell;d=Math.max(d,m+(y.cell.rowSpan??1)),p=Math.max(p,h+(y.cell.colSpan??1));let R=c.get(m);R||(R=new Map,c.set(m,R));let k=R.get(h);k||(k={ref:y.cell,prims:[]},R.set(h,k)),k.prims.push(y);}n.setAttribute("aria-rowcount",String(a?.rowCount??d)),n.setAttribute("aria-colcount",String(a?.columnCount??p));for(let y of [...c.keys()].sort((m,h)=>m-h)){let m=t.createElement("div");m.className=D.tableRow,m.setAttribute("role","row"),m.setAttribute("aria-rowindex",String(y+1));let h=fe(s,"row",y);h&&ye(m,h),m.style.position="absolute",m.style.left="0",m.style.top="0",n.appendChild(m);let R=c.get(y);for(let k of [...R.keys()].sort((v,b)=>v-b)){let v=R.get(k),b=t.createElement("div");b.className=D.tableCell,b.setAttribute("role",v.ref.isHeader?"columnheader":"cell"),b.setAttribute("aria-colindex",String(k+1)),v.ref.cellId&&(b.id=v.ref.cellId),v.ref.headerIds?.length&&b.setAttribute("aria-labelledby",v.ref.headerIds.join(" ")),v.ref.repeatedHeader&&(b.dataset.repeatedHeader="true"),v.ref.noWrap&&(b.dataset.noWrap="true");let M=v.ref.rowSpan??1,A=v.ref.colSpan??1;M>1&&b.setAttribute("aria-rowspan",String(M)),A>1&&b.setAttribute("aria-colspan",String(A));let w=fe(v.prims,"cell",y,k);w&&ye(b,w),v.ref.continuation&&(b.dataset.vmergeContinuation="true"),b.style.position="absolute",b.style.left="0",b.style.top="0";let _=new Map,W=[];for(let P of v.prims){let X=P.blockKey??P.blockId;if(X===void 0){W.push(P);continue}let B=_.get(X);B?B.push(P):_.set(X,[P]);}for(let P of Me(W))b.appendChild(ge(P,t,r,i));for(let[P,X]of _){let B=t.createElement("div");B.dataset.blockId=String(P),B.style.position="absolute",B.style.left="0",B.style.top="0",Ve(B,X,t,r,i),b.appendChild(B);}Qt(b,v.prims),tt(b,v.prims),e.cells.push({el:b,bounds:et(v.prims)}),m.appendChild(b);}}Pe(n,s);}function Ve(e,t,r,i,n){let s=t.find(c=>c.chart!==void 0)?.chart;e.className=s?`${D.block} ${D.chart}`:D.block,e.setAttribute("role",s?"img":"paragraph"),s?.label&&e.setAttribute("aria-label",s.label);for(let c of Me(t))e.appendChild(ge(c,r,i,n));let o=fe(t,"pmark");o&&ye(e,o),Kt(e,t,r,i),Ae(e,t.find(c=>c.sdt!==void 0)?.sdt);let a=t.find(c=>c.paraId!==void 0)?.paraId;a!==void 0&&(e.dataset.paraId=a);let l=t.find(c=>c.fromLine!==void 0);l?.fromLine!==void 0&&(e.dataset.fromLine=String(l.fromLine),l.toLine!==void 0&&(e.dataset.toLine=String(l.toLine))),tt(e,t),zt(e,t);}function Kt(e,t,r,i){Pe(e,t);let n=Number(e.dataset.docStart),s=Number(e.dataset.docEnd),o=t.map(p=>p.fragmentDocStart).filter(p=>Number.isFinite(p)),a=t.map(p=>p.fragmentDocEnd).filter(p=>Number.isFinite(p)),l=o.length>0?Math.min(...o):void 0,c=a.length>0?Math.max(...a):void 0,d=l??(Number.isFinite(n)&&n===s&&n>0?n-1:void 0);if(d!==void 0&&(e.dataset.docStart=String(d)),c!==void 0&&(e.dataset.docEnd=String(c)),d!==void 0&&!t.some(p=>p.docStart===d)){let p=Me(t).find(m=>we(m)!==void 0),y=p?we(p):void 0;if(y){let m=r.createElement("span");m.className="layout-mirror-structural-anchor",m.dataset.docStart=String(d),m.dataset.docEnd=String(d),j(m,y,i),e.insertBefore(m,e.firstChild);}}}function Qt(e,t){let r=e.querySelectorAll(".layout-paragraph[data-doc-start]"),i=1/0,n=-1/0;for(let s of r){let o=Number(s.dataset.docStart),a=Number(s.dataset.docEnd);Number.isFinite(o)&&(i=Math.min(i,o)),Number.isFinite(a)&&(n=Math.max(n,a));}i!==1/0&&(e.dataset.docStart=String(i)),n!==-1/0&&(e.dataset.docEnd=String(n)),i===1/0&&n===-1/0&&Pe(e,t);}function Wt(e){let t=new Map;for(let r of e.values())r.table?.tableId&&t.set(r.table.tableId,r);for(let r of e.values()){let i=r.table?.parentTableId;if(!i)continue;let n=t.get(i),s=et(r.prims);if(!n?.cells?.length||!s)continue;let o=s.x+s.w/2,a=s.y+s.h/2,l=n.cells.filter(c=>c.bounds&&Vt(o,a,c.bounds));l.sort((c,d)=>ze(c.bounds)-ze(d.bounds)),l[0]?.el.appendChild(r.el);}}function Vt(e,t,r){return e>=r.x&&e<=r.x+r.w&&t>=r.y&&t<=r.y+r.h}function ze(e){return e.w*e.h}function et(e){let t;for(let r of e){let i=r.clipGroup?.clip,n=i?.x!==void 0&&i.y!==void 0&&i.w!==void 0&&i.h!==void 0?{x:i.x,y:i.y,w:i.w,h:i.h}:we(r);if(!n)continue;if(!t){t={...n};continue}let s=Math.max(t.x+t.w,n.x+n.w),o=Math.max(t.y+t.h,n.y+n.h);t.x=Math.min(t.x,n.x),t.y=Math.min(t.y,n.y),t.w=s-t.x,t.h=o-t.y;}return t}function we(e){switch(e.kind){case "text":return c(e);case "glyphRun":return d(e);case "rect":return {x:e.x,y:e.y,w:e.w,h:e.h};case "image":case "shape":return {x:e.x,y:e.y,w:e.w,h:e.h};case "decoration":return {x:e.x,y:e.y,w:e.w,h:e.h}}}function Me(e){let t=e.filter(i=>i.logicalOrder!==void 0).sort((i,n)=>(i.logicalOrder??0)-(n.logicalOrder??0)||(i.docStart??0)-(n.docStart??0));if(t.length<2)return e;let r=0;return e.map(i=>i.logicalOrder===void 0?i:t[r++])}function tt(e,t){let r=t.find(s=>s.lang)?.lang;r&&(e.lang=r);let i=t.find(s=>s.bidiLevel!==void 0||"rtl"in s);if(!i)return;let n=i.bidiLevel!==void 0?i.bidiLevel%2===1:"rtl"in i?i.rtl:false;e.dir=n?"rtl":"ltr";}function zt(e,t){let r=t.find(i=>i.ariaLabel||i.ariaDescription||i.decorative||i.hiddenObject||i.groupId);r&&it(e,r);}function Pe(e,t){let r,i;for(let n of t)n.docStart!==void 0&&(r=r===void 0?n.docStart:Math.min(r,n.docStart)),n.docEnd!==void 0&&(i=i===void 0?n.docEnd:Math.max(i,n.docEnd));r!==void 0&&(e.dataset.docStart=String(r)),i!==void 0&&(e.dataset.docEnd=String(i));}function fe(e,t,r,i){return e.find(n=>{let s=n.structuralRevision;return !(!s||s.scope!==t||r!==void 0&&s.rowIndex!==r||i!==void 0&&s.colIndex!==i)})?.structuralRevision}function ge(e$1,t,r,i){switch(e$1.kind){case "text":{let n=Ue(t,e$1,i);return n.className=D.text,n.textContent=e$1.text,j(n,c(e$1),r),n.style.font=e$1.font,qe(n,e$1),Ze(n,e$1),ve(n,e$1.hidden&&e$1.opacity===void 0?.4:e$1.opacity,e$1.rotationDeg,e$1.horizontalScale),e$1.structuralRevision?.scope==="pmark"&&(n.classList.add(D.revisionPmarkGlyph),e$1.structuralRevision.kind==="ins"&&n.classList.add(D.revisionPmarkIns),e$1.structuralRevision.kind==="del"&&n.classList.add(D.revisionPmarkDel),n.setAttribute("aria-hidden","true")),e$1.listMarker&&(n.classList.add(D.listMarker),n.setAttribute("aria-hidden","true"),e$1.listMarkerRevision&&(n.style.color=e$1.listMarkerRevision==="ins"?"rgb(46, 125, 50)":"rgb(198, 40, 40)")),ne(n,e$1),n}case "glyphRun":{let n=Ue(t,e$1,i);return n.className=D.text,n.textContent=e$1.text,j(n,d(e$1),r),n.style.fontSize=`${e$1.size}px`,jt(n,e$1.fallbackFont),qe(n,e$1),Ze(n,e$1),ve(n,e$1.hidden&&e$1.opacity===void 0?.4:e$1.opacity,e$1.rotationDeg,e$1.horizontalScale),ne(n,e$1),n}case "rect":{let n=t.createElement("div");return n.className=D.rect,j(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),ne(n,e$1),n}case "line":{let n=t.createElement("div");return n.className=e$1.role==="table-cut"?D.tableCut:D.line,e$1.role&&e$1.role!=="table-cut"&&(n.dataset.role=e$1.role),j(n,e(e$1),r),n.setAttribute("aria-hidden","true"),n}case "image":{let n=e$1.href?t.createElement("a"):t.createElement("div");return n.className=D.image,e$1.decorative?n.setAttribute("aria-hidden","true"):(n.setAttribute("role","img"),e$1.altText&&n.setAttribute("aria-label",e$1.altText)),nt(n,e$1),n.dataset.relId=e$1.relId,j(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),ve(n,e$1.opacity,e$1.rotationDeg),e$1.filter&&(n.style.filter=e$1.filter),ne(n,e$1),e$1.revision&&(n.style.outline=`2px solid ${e$1.revision.kind==="ins"?"rgb(46, 125, 50)":"rgb(198, 40, 40)"}`),e$1.href||(n.style.pointerEvents="auto"),n}case "shape":{let n=t.createElement("div");return n.className=D.shape,e$1.decorative?n.setAttribute("aria-hidden","true"):n.setAttribute("role","img"),j(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),Ut(n,e$1.transform),ne(n,e$1),n}case "decoration":{let n=t.createElement("span");return n.className=D.decoration,n.dataset.deco=e$1.deco,j(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),ne(n,e$1),n}}}function je(e,t,r){let i=t.createElement("div");return i.className=D.pageBorder,j(i,{x:e.x,y:e.y,w:e.w,h:e.h},r),i.style.boxSizing="border-box",i.style.pointerEvents="none",i.style.zIndex=e.zOrder==="back"?"0":"20",pe(i,"Top",e.top),pe(i,"Right",e.right),pe(i,"Bottom",e.bottom),pe(i,"Left",e.left),i}function j(e,t,r=0){e.style.position="absolute",e.style.left=`${t.x}px`,e.style.top=`${t.y+r}px`,e.style.width=`${t.w}px`,e.style.height=`${t.h}px`;}function Ue(e,t,r){let i=t.noteRef?.id!==void 0?t.noteRef:void 0,n=t.href||i?e.createElement("a"):e.createElement("span");if(nt(n,t),i&&!t.href){let s=i.kind??"footnote",o=`oox-${s}-${i.id}`;n.setAttribute("href",`#${o}`),n.setAttribute("role","doc-noteref");let a=`oox-noteref-${s}-${i.id}`;r.noteRefIds.has(a)||(r.noteRefIds.add(a),n.id=a);}return n}function nt(e,t){let{href:r}=t;if(!r)return;e.setAttribute("href",r),e.dataset.href=r;let i=t.linkTitle??t.tooltip;i&&(e.title=i),t.linkTarget?e.setAttribute("target",t.linkTarget):r.startsWith("#")||e.setAttribute("target","_blank"),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener noreferrer"),t.linkHistory!==void 0&&(e.dataset.linkHistory=String(t.linkHistory)),t.linkDocLocation!==void 0&&(e.dataset.linkDocLocation=t.linkDocLocation);}function jt(e,t){if(t)for(let r of t.split(" ")){if(r.endsWith("px"))break;r==="italic"?e.style.fontStyle="italic":/^[1-9]00$/.test(r)&&r!=="400"&&(e.style.fontWeight=r);}}function qe(e,t){t.lang&&(e.lang=t.lang),t.bidiLevel!==void 0?e.dir=t.bidiLevel%2===1?"rtl":"ltr":t.rtl&&(e.dir="rtl");}function pe(e,t,r){if(!r)return;let i=e.style;i[`border${t}Width`]=`${r.width}px`,i[`border${t}Style`]=r.style,i[`border${t}Color`]=r.color;}function ve(e,t,r,i){t!==void 0&&(e.style.opacity=String(t));let n=[];r&&n.push(`rotate(${r}deg)`),i!==void 0&&i!==100&&n.push(`scaleX(${i/100})`),n.length>0&&(e.style.transform=n.join(" "),e.style.transformOrigin=i!==void 0&&i!==100?"left center":"center center");}function Ut(e,t){if(!t)return;let r=[];t.rotation&&r.push(`rotate(${t.rotation}deg)`),t.flipH&&r.push("scaleX(-1)"),t.flipV&&r.push("scaleY(-1)"),r.length!==0&&(e.style.transform=r.join(" "),e.style.transformOrigin="center center");}function Ze(e,t){if(t.allCaps&&(e.style.textTransform="uppercase"),t.smallCaps&&(e.style.fontVariant="small-caps"),t.hidden&&(e.classList.add("docx-hidden"),e.style.textDecoration="underline dotted"),t.textShadow==="emboss"?e.style.textShadow="1px 1px 1px rgba(255,255,255,0.5), -1px -1px 1px rgba(0,0,0,0.3)":t.textShadow==="imprint"?e.style.textShadow="-1px -1px 1px rgba(255,255,255,0.5), 1px 1px 1px rgba(0,0,0,0.3)":t.textShadow==="shadow"&&(e.style.textShadow="1px 1px 2px rgba(0,0,0,0.3)"),t.textOutline&&(e.style.webkitTextStroke="1px currentColor",e.style.webkitTextFillColor="transparent"),t.emphasisMark){let r=t.emphasisMark==="comma"?"filled sesame":t.emphasisMark==="circle"?"filled circle":"filled dot",i=t.emphasisMark==="underDot"?"under right":"over right";e.style.textEmphasis=r,e.style.textEmphasisPosition=i,e.style.webkitTextEmphasis=r,e.style.webkitTextEmphasisPosition=i;}t.textEffect&&(e.classList.add("docx-text-effect",`docx-text-effect-${t.textEffect}`),e.dataset.effect=t.textEffect);}function ne(e,t){if(t.docStart!==void 0&&(e.dataset.docStart=String(t.docStart)),t.docEnd!==void 0&&(e.dataset.docEnd=String(t.docEnd)),t.commentIds&&t.commentIds.length>0&&(e.dataset.commentId=t.commentIds.join(" ")),t.field){let r=t.field.type??t.field.category;r&&(e.dataset.fieldType=r),t.field.category&&(e.dataset.fieldCategory=t.field.category),t.field.instruction&&(e.dataset.fieldInstruction=t.field.instruction);let i=t.field.instruction?.trim()||r;i&&e.setAttribute("aria-description",i);}if(t.noteRef?.id!==void 0&&(e.dataset.noteRefKind=t.noteRef.kind??"footnote",e.dataset.noteRefId=String(t.noteRef.id)),t.comment){t.comment.status&&(e.dataset.commentStatus=t.comment.status),t.comment.authorId&&(e.dataset.commentAuthorId=t.comment.authorId),t.comment.paletteIndex!==void 0&&(e.dataset.commentPaletteIndex=String(t.comment.paletteIndex)),t.comment.color&&(e.dataset.commentColor=t.comment.color),t.comment.selected!==void 0&&(e.dataset.commentSelected=String(t.comment.selected)),t.comment.authorName&&(e.dataset.commentAuthorName=t.comment.authorName),t.comment.date&&(e.dataset.commentDate=t.comment.date),t.comment.replyCount!==void 0&&(e.dataset.commentReplyCount=String(t.comment.replyCount));let r=[t.comment.status,t.comment.authorName??t.comment.authorId,t.comment.date,t.comment.text,...(t.comment.replies??[]).map(i=>[i.authorName,i.text].filter(Boolean).join(": "))].filter(Boolean).join(", ");r&&e.setAttribute("aria-description",r);}if(t.revision){e.dataset.changeAuthor=t.revision.author,e.dataset.changeDate=t.revision.date,e.dataset.revisionId=t.revision.revisionId,e.classList.add(t.revision.kind==="ins"?"docx-insertion":"docx-deletion"),e.hasAttribute("role")||e.setAttribute("role",t.revision.kind==="ins"?"insertion":"deletion");let r=[t.revision.author,t.revision.date].filter(Boolean).join(", ");r&&e.setAttribute("aria-description",r);}t.href&&(e.dataset.href=t.href),qt(e,t.inlineSdtWidget),Ae(e,t.sdt),t.sdtPath?.length&&(e.dataset.sdtPath=t.sdtPath.map(r=>r.groupId).join(" ")),t.logicalOrder!==void 0&&(e.dataset.logicalOrder=String(t.logicalOrder)),t.bidiLevel!==void 0&&(e.dataset.bidiLevel=String(t.bidiLevel)),it(e,t);}function it(e,t){if(t.groupId&&(e.dataset.groupId=t.groupId),t.decorative||t.hiddenObject){e.setAttribute("aria-hidden","true"),e.removeAttribute("role"),e.removeAttribute("aria-label"),e.removeAttribute("aria-description");return}t.ariaLabel&&e.setAttribute("aria-label",t.ariaLabel),t.ariaDescription&&e.setAttribute("aria-description",t.ariaDescription);}function Ae(e,t){t&&(e.classList.add(D.blockSdt),e.dataset.sdtGroupId=t.groupId,e.dataset.sdtType=t.sdtType,t.depth!==void 0&&(e.dataset.sdtDepth=String(t.depth)),t.tag!==void 0&&(e.dataset.sdtTag=t.tag),t.alias!==void 0&&(e.dataset.sdtAlias=t.alias),t.lock!==void 0&&(e.dataset.sdtLock=t.lock),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked)),t.bound!==void 0&&(e.dataset.sdtBound=String(t.bound)),t.repeatingItem!==void 0&&(e.dataset.sdtRepeatingItem=String(t.repeatingItem)),!e.hasAttribute("aria-label")&&(t.alias||t.tag)&&e.setAttribute("aria-label",t.alias||t.tag||""),t.lock&&e.setAttribute("aria-readonly","true"));}function qt(e,t){if(!t)return;e.classList.add(D.inlineSdtWidget);let r=t.controlKind??t.kind;e.dataset.sdtWidget=r,e.dataset.sdtGroupId=t.groupId,e.dataset.sdtPos=String(t.pos),t.tag!==void 0&&(e.dataset.sdtTag=t.tag),t.alias!==void 0&&(e.dataset.sdtAlias=t.alias),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked),e.setAttribute("aria-checked",String(t.checked))),t.controlId!==void 0&&(e.dataset.sdtControlId=String(t.controlId)),t.value!==void 0&&(e.dataset.sdtValue=t.value),t.selectedIndex!==void 0&&(e.dataset.sdtSelectedIndex=String(t.selectedIndex)),t.dateFormat!==void 0&&(e.dataset.sdtDateFormat=t.dateFormat),t.dateLanguage!==void 0&&(e.dataset.sdtDateLanguage=t.dateLanguage),t.locked!==void 0&&(e.dataset.sdtLocked=String(t.locked)),r==="checkbox"?e.setAttribute("role","checkbox"):r==="dropDownList"||r==="comboBox"?(e.setAttribute("role","combobox"),e.setAttribute("aria-haspopup","listbox"),e.setAttribute("aria-expanded","false")):r==="date"?(e.setAttribute("role","button"),e.setAttribute("aria-haspopup","dialog")):e.setAttribute("role","group"),e.removeAttribute("tabindex"),(t.alias||t.tag)&&e.setAttribute("aria-label",t.alias||t.tag||""),t.locked&&e.setAttribute("aria-disabled","true");}function ye(e,t){switch(t.scope){case "pmark":e.classList.add(D.revisionPmark),t.kind==="ins"&&e.classList.add(D.revisionPmarkIns),t.kind==="del"&&e.classList.add(D.revisionPmarkDel);break;case "table":e.classList.add(D.revisionTable,ke(t.kind));break;case "row":e.classList.add(D.revisionRow,ke(t.kind));break;case "cell":e.classList.add(D.revisionCell,ke(t.kind));break}e.dataset.revisionId=t.revisionId,e.dataset.revisionAuthor=t.author,t.date&&(e.dataset.revisionDate=t.date);let r=[t.author,t.date].filter(Boolean).join(", ");r&&e.setAttribute("aria-description",r);}function ke(e){return e==="ins"?D.revisionIns:e==="del"?D.revisionDel:D.revisionMerge}function Zt(e,t,r,i){let n=r.createElement("section");n.className=D.notes,n.dataset.noteKind=e.kind??"footnote",e.sectionId&&(n.dataset.sectionId=e.sectionId),e.columns!==void 0&&(n.dataset.columns=String(e.columns)),n.style.position="absolute",n.style.left="0",n.style.top=`${e.y??0}px`,n.style.width=`${t.width}px`,n.style.height=`${e.height??0}px`;let s=new Map;for(let a of e.notes??[])a.id!==void 0&&s.set(a.id,a);oe(n,e.separatorPrimitives??[],r,-(e.y??0),i);let o=[...e.primitives??[]];for(let a of e.noteIds??[]){let c=`${e.kind??"footnote"}-${a}`,d=o.filter(m=>m.groupId===c);if(d.length===0)continue;for(let m of d){let h=o.indexOf(m);h>=0&&o.splice(h,1);}let p=r.createElement("aside");p.className=D.note,p.id=`oox-${c}`,p.dataset.noteId=String(a),p.setAttribute("role",e.kind==="endnote"?"doc-endnote":"doc-footnote");let y=s.get(a);if(y&&(y.label!==void 0&&(p.dataset.noteLabel=y.label),y.anchorDocStart!==void 0&&(p.dataset.anchorDocStart=String(y.anchorDocStart)),y.anchorDocEnd!==void 0&&(p.dataset.anchorDocEnd=String(y.anchorDocEnd))),oe(p,d,r,-(e.y??0),i),y){let m=r.createElement("a");m.className=D.noteBacklink,m.setAttribute("role","doc-backlink"),m.setAttribute("href",`#oox-noteref-${c}`);let h=i.labels?.noteBacklink??y.label??String(a);m.setAttribute("aria-label",h),p.appendChild(m);}n.appendChild(p);}return o.length>0&&oe(n,o,r,-(e.y??0),i),n}function en(e,t){for(let r of Array.from(e.querySelectorAll(".layout-canvas-sdt-box[data-sdt-group-id]")))r.classList.toggle("layout-sdt-focused",t.has(r.dataset.sdtGroupId??""));}var tn=".layout-sdt-widget, .layout-inline-sdt-widget, .layout-sdt-repeat-btn";function nn(e,t={}){let r=t.document??document,i=r.createElement("div");i.className="layout-interactive-overlay",i.dataset.pageIndex=String(e.pageIndex),i.style.position="absolute",i.style.inset="0",i.style.width=`${e.width}px`,i.style.height=`${e.height}px`,i.style.pointerEvents="none",i.addEventListener("mousedown",a=>{a.target?.closest?.(tn)&&(a.preventDefault(),a.stopPropagation());});let n=rn(e),s=on(n);for(let a of [...s.values()].sort(an))i.appendChild(ln(a,r,t.labels));let o=sn(n);for(let a of o.values())i.appendChild(cn(a,r,t.labels));return i}function rn(e){return [...e.primitives,...e.header?.primitives??[],...e.footer?.primitives??[],...(e.noteAreas??[]).flatMap(t=>[...t.separatorPrimitives??[],...t.primitives??[]])]}function on(e){let t=new Map;for(let r of e){let i=ot(r);if(!i)continue;let n=r.sdtPath?.length?r.sdtPath:r.sdt?[r.sdt]:[];for(let s of n){let o=t.get(s.groupId);o?o.rect=st(o.rect,i):t.set(s.groupId,{attrs:s,rect:{...i}});}}return t}function sn(e){let t=new Map;for(let r of e){let i=r.inlineSdtWidget,n=ot(r);if(!i||!n)continue;let s=`${i.groupId}:${i.pos}:${i.controlKind??i.kind}`,o=t.get(s);o?o.rect=st(o.rect,n):t.set(s,{attrs:i,rect:{...n}});}return t}function an(e,t){return (e.attrs.depth??0)-(t.attrs.depth??0)||e.rect.y-t.rect.y||e.rect.x-t.rect.x}function ln(e,t,r){let{attrs:i,rect:n}=e,s=t.createElement("div");s.className="layout-block-sdt-box layout-canvas-sdt-box",pn(s,i),at(s,n),s.style.pointerEvents="none";let o=i.alias||i.tag;if(o){let c=t.createElement("span");c.className="layout-block-sdt-label",c.textContent=o,s.appendChild(c);}let a=un(i.sdtType),l=!i.bound&&!mn(i.lock);if(a&&l){let c=t.createElement("button");c.type="button",c.className="layout-sdt-widget",c.dataset.sdtWidget=a,c.dataset.sdtGroupId=i.groupId,i.tag&&(c.dataset.sdtTag=i.tag),i.alias&&(c.dataset.sdtAlias=i.alias),(o||r?.control)&&c.setAttribute("aria-label",o||r?.control||""),a==="dropdown"&&c.setAttribute("aria-haspopup","listbox"),a==="date"&&c.setAttribute("aria-haspopup","dialog"),a==="checkbox"&&(c.setAttribute("role","checkbox"),c.setAttribute("aria-checked",String(i.checked??false))),c.textContent=a==="dropdown"?"\u25BE":a==="date"?"\u25A3":i.checked?"\u2612":"\u2610",c.style.pointerEvents="auto",s.appendChild(c);}if(i.repeatingItem&&l){let c=t.createElement("div");c.className="layout-sdt-repeat-controls",c.style.pointerEvents="auto",c.appendChild(rt(t,i,"add","\uFF0B",r?.addRepeatingItem,o)),c.appendChild(rt(t,i,"remove","\u2715",r?.removeRepeatingItem,o)),s.appendChild(c);}return s}function rt(e,t,r,i,n,s){let o=e.createElement("button");return o.type="button",o.className="layout-sdt-repeat-btn",o.dataset.sdtRepeat=r,o.dataset.sdtGroupId=t.groupId,t.tag&&(o.dataset.sdtTag=t.tag),(n||s)&&o.setAttribute("aria-label",n||s||""),o.textContent=i,o}function cn(e,t,r){let{attrs:i,rect:n}=e,s=i.controlKind??i.kind,o=t.createElement("button");return o.type="button",o.className="layout-sdt-widget layout-inline-sdt-widget layout-canvas-inline-sdt-widget",o.dataset.sdtWidget=dn(s),o.dataset.sdtGroupId=i.groupId,o.dataset.sdtPos=String(i.pos),i.tag&&(o.dataset.sdtTag=i.tag),i.alias&&(o.dataset.sdtAlias=i.alias),i.controlId!==void 0&&(o.dataset.sdtControlId=String(i.controlId)),i.value!==void 0&&(o.dataset.sdtValue=i.value),i.selectedIndex!==void 0&&(o.dataset.sdtSelectedIndex=String(i.selectedIndex)),i.dateFormat&&(o.dataset.sdtDateFormat=i.dateFormat),i.dateLanguage&&(o.dataset.sdtDateLanguage=i.dateLanguage),i.listItems?.length&&(o.dataset.sdtListItems=JSON.stringify(i.listItems)),(i.alias||i.tag||r?.control)&&o.setAttribute("aria-label",i.alias||i.tag||r?.control||""),s==="checkbox"?(o.setAttribute("role","checkbox"),o.setAttribute("aria-checked",String(i.checked??false))):s==="dropDownList"||s==="comboBox"?(o.setAttribute("aria-haspopup","listbox"),o.setAttribute("aria-expanded","false")):s==="date"&&o.setAttribute("aria-haspopup","dialog"),o.disabled=i.locked===true,o.textContent=s==="checkbox"?i.checked?"\u2612":"\u2610":s==="date"?"\u25A3":s==="picture"?"\u25A7":"\u25BE",at(o,n),o.style.pointerEvents="auto",o}function dn(e){return e==="dropDownList"||e==="comboBox"?"dropdown":e}function un(e){return e==="checkbox"?"checkbox":e==="dropDownList"||e==="comboBox"?"dropdown":e==="date"?"date":null}function mn(e){return e==="contentLocked"||e==="sdtContentLocked"||e==="sdtLocked"}function pn(e,t){e.dataset.sdtGroupId=t.groupId,e.dataset.sdtType=t.sdtType,t.depth!==void 0&&(e.dataset.sdtDepth=String(t.depth)),t.tag&&(e.dataset.sdtTag=t.tag),t.alias&&(e.dataset.sdtAlias=t.alias),t.lock&&(e.dataset.sdtLock=t.lock),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked)),t.bound!==void 0&&(e.dataset.sdtBound=String(t.bound)),t.repeatingItem!==void 0&&(e.dataset.sdtRepeatingItem=String(t.repeatingItem));}function ot(e$1){let t=e$1.clipGroup?.clip;if(t?.x!==void 0&&t.y!==void 0&&t.w!==void 0&&t.h!==void 0)return {x:t.x,y:t.y,w:t.w,h:t.h};switch(e$1.kind){case "text":return c(e$1);case "glyphRun":return d(e$1);case "rect":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h};case "line":return e(e$1);case "image":case "shape":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h};case "decoration":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h}}}function st(e,t){let r=Math.min(e.x,t.x),i=Math.min(e.y,t.y),n=Math.max(e.x+e.w,t.x+t.w),s=Math.max(e.y+e.h,t.y+t.h);return {x:r,y:i,w:n-r,h:s-i}}function at(e,t){e.style.position="absolute",e.style.left=`${t.x}px`,e.style.top=`${t.y}px`,e.style.width=`${Math.max(1,t.w)}px`,e.style.height=`${Math.max(1,t.h)}px`;}var Q=class extends Error{constructor(r,i){let n=i instanceof Error?i.message:String(i);super(`Rust display-list ${r} failed: ${n}`);b(this,"stage");this.name="RustDisplayListSourceError",this.stage=r;}},lt=null;function Ee(){return lt??(lt=import('../../wasm-DO3BUV7C.mjs').then(async e=>(await e.preloadLayoutWasm(),{buildDisplayListJson:e.buildDisplayListJson,hitTestRegionsJson:e.hitTestRegionsJson,rangeRectsJson:e.rangeRectsJson,rangeRectsRegionJson:e.rangeRectsRegionJson,hasRangeRectsRegion:e.hasRangeRectsRegion,hasDisplayListSession:e.hasDisplayListSession,openDisplayList:e.openDisplayList,closeDisplayList:e.closeDisplayList,updateDisplayList:e.updateDisplayList,hasDisplayListUpdate:e.hasDisplayListUpdate,hitTestRegionsByHandle:e.hitTestRegionsByHandle,rangeRectsByHandle:e.rangeRectsByHandle,rangeRectsRegionByHandle:e.rangeRectsRegionByHandle}))),lt}function Te(){return Ee()}function fn(e,t){let r=e.measured,i="[";for(let s=0;s<r.length;s++){s>0&&(i+=",");let o=r[s],a=o.measure,l;if(t&&a!==null&&typeof a=="object"){let c=a;l=t.get(c),l===void 0&&(l=JSON.stringify(o.measure),t.set(c,l));}else l=JSON.stringify(o.measure);i+='{"block":'+JSON.stringify(o.block)+',"measure":'+l+"}";}i+="]";let n='{"measured":'+i+',"options":'+JSON.stringify(e.options)+',"layout":'+JSON.stringify(e.layout);return e.contractVersion!==void 0&&(n+=',"contractVersion":'+JSON.stringify(e.contractVersion)),e.headersFooters!==void 0&&(n+=',"headersFooters":'+JSON.stringify(e.headersFooters)),e.fontChains!==void 0&&(n+=',"fontChains":'+JSON.stringify(e.fontChains)),e.noteAreas!==void 0&&(n+=',"noteAreas":'+JSON.stringify(e.noteAreas)),e.resolvedCommentIds!==void 0&&(n+=',"resolvedCommentIds":'+JSON.stringify(e.resolvedCommentIds)),e.commentAuthors!==void 0&&(n+=',"commentAuthors":'+JSON.stringify(e.commentAuthors)),e.commentThreads!==void 0&&(n+=',"commentThreads":'+JSON.stringify(e.commentThreads)),n+="}",n}function ct(e){let t={};return e.contractVersion!==void 0&&(t.contractVersion=e.contractVersion),e.headersFooters!==void 0&&(t.headersFooters=e.headersFooters),e.fontChains!==void 0&&(t.fontChains=e.fontChains),e.noteAreas!==void 0&&(t.noteAreas=e.noteAreas),e.resolvedCommentIds!==void 0&&(t.resolvedCommentIds=e.resolvedCommentIds),e.commentAuthors!==void 0&&(t.commentAuthors=e.commentAuthors),e.commentThreads!==void 0&&(t.commentThreads=e.commentThreads),JSON.stringify(t)}var yn=new WeakMap;async function dt(e,t){let r;try{r=t??await Ee();}catch(s){throw new Q("load",s)}let i,n;try{i=fn(e,yn),n=r.buildDisplayListJson(i);}catch(s){throw new Q("build",s)}try{return JSON.parse(n)}catch(s){throw new Q("parse",s)}}async function gn(e,t$1,r=null){let i;try{i=t$1??await Ee();}catch(l){throw new Q("load",l)}if(!i.buildDisplayListFrame)return {displayList:await dt(e,i),frame:null,transport:"json"};let n=ct(e),s$1;try{s$1=i.buildDisplayListFrame(n,r?.frameEpoch??0);}catch(l){throw new Q("build",l)}let o;try{o=s(s$1);}catch(l){throw new Q("decode",l)}let a;try{a=t(r,o);}catch(l){throw new Q("apply",l)}return {displayList:a.displayList,frame:a,transport:"frame-delta-v1"}}function ut(e,t,r){if(t==="body")return e.primitives.filter(n=>n.kind==="image");let i=t==="header"?e.header:e.footer;return !i||r!==void 0&&i.rId!==r?[]:i.primitives.filter(n=>n.kind==="image")}function Ce(e,t,r="body",i){for(let n of e.pages)for(let s of ut(n,r,i))if(s.docStart===t)return {primitive:s,pageIndex:n.pageIndex,...r!=="body"?{region:r,rId:i}:{}};return null}function Be(e,t,r,i,n="body",s){let o=e.pages[t];if(!o)return null;let a=ut(o,n,s);for(let l=a.length-1;l>=0;l--){let c=a[l];if(!(r<c.x||r>c.x+c.w)&&!(i<c.y||i>c.y+c.h))return {primitive:c,pageIndex:o.pageIndex,...n!=="body"?{region:n,rId:s}:{}}}return null}function hn(e,t){let r=e.imageByPos(t);if(!r)return;let i=e.contentBounds(r.pageIndex),n=e.paragraphRects(t).find(s=>s.pageIndex===r.pageIndex);if(!(!i||!n))return {horizontalEmu:Math.round(c$1(r.primitive.x-i.x)),verticalEmu:Math.round(c$1(r.primitive.y-n.y))}}var He=(()=>{let e=globalThis.FinalizationRegistry;return e?new e(t=>t()):null})(),Ge=new WeakMap;function bn(e,t){let r=new Map;e.list.pages.forEach((s,o)=>r.set(s,o));let i=[],n=[];return t.pages.forEach((s,o)=>{let a=r.get(s);a!==void 0&&v(s)===e.pageRevisions[a]?(i.push([o,a]),r.delete(s)):n.push([o,s]);}),i.length===0?null:JSON.stringify({total:t.pages.length,...t.contractVersion!==void 0?{contractVersion:t.contractVersion}:{},reuse:i,replace:n})}function xn(e,t,r){let i=null,n=()=>i??(i=JSON.stringify(e)),s=Ln(t)?t:null,o=s?null:t??null,a=null,l,c,d=new Promise((u,f)=>{l=u,c=f;});d.catch(()=>{});let p=null,y=false,m=false,h=false,R=null;if(r){let u=Ge.get(r);u&&(R=u.hasHandle()?r:u.donor(),u.supersede());}let k=()=>{if(p!==null){try{o?.closeDisplayList?.(p);}catch{}p=null;}},v$1=()=>{let u=R;if(R=null,!u||!o?.updateDisplayList||!o.hasDisplayListUpdate?.())return false;let f=Ge.get(u);if(!f||f.engine()!==o)return false;let g=bn(f,e);if(!g)return false;let x=f.takeHandle();if(x===null)return false;try{return o.updateDisplayList(x,g),p=x,!0}catch(L){try{o.closeDisplayList?.(x);}catch{}return console.warn("[CanvasRenderer] display-list delta update failed; reopening",L),false}},b=()=>{if(!(h||m||y||p!==null||!o)&&!(!o.hasDisplayListSession?.()||!o.openDisplayList)&&(y=true,!v$1()))try{p=o.openDisplayList(n());}catch(u){p=null,console.warn("[CanvasRenderer] display-list session open failed; using JSON-arg queries",u);}};s||o?l():Te().then(u=>{o=u,l();},u=>{a=u instanceof Error?u:new Error(String(u)),c(a),console.warn("[CanvasRenderer] display-list query engine failed to load",a);});let M=(u,f,g)=>{if(!o)return null;if(p===null&&b(),p!==null&&u)try{return u(p)}catch(x){console.warn(`[CanvasRenderer] ${g} session query failed; falling back`,x),k();}try{return f()}catch(x){return a=x instanceof Error?x:new Error(String(x)),console.warn(`[CanvasRenderer] ${g} query failed`,x),null}},A=(u,f,g)=>{if(u===null)return f;try{return JSON.parse(u)}catch(x){return a=x instanceof Error?x:new Error(String(x)),console.warn(`[CanvasRenderer] ${g} returned invalid JSON`,x),f}},w=(u,f)=>{try{return u()}catch(g){return a=g instanceof Error?g:new Error(String(g)),console.warn(`[CanvasRenderer] resident ${f} query failed`,g),null}},_=(u,f,g)=>{if(s)return A(w(()=>s.displayHitTestRegionsJson(u,f,g),"hit_test_regions"),null,"hit_test_regions");let x=M(o?.hitTestRegionsByHandle&&(L=>o.hitTestRegionsByHandle(L,u,f,g)),()=>o.hitTestRegionsJson(n(),u,f,g),"hit_test_regions");return A(x,null,"hit_test_regions")},W=(u,f)=>{if(s)return A(w(()=>s.displayRangeRectsJson(u,f),"range_rects"),[],"range_rects");let g=M(o?.rangeRectsByHandle&&(x=>o.rangeRectsByHandle(x,u,f)),()=>o.rangeRectsJson(n(),u,f),"range_rects");return A(g,[],"range_rects")},P=(u,f,g,x)=>{if(s)return A(w(()=>s.displayRangeRectsRegionJson(u,f,g,x),"range_rects_region"),[],"range_rects_region");if(!o||!o.hasRangeRectsRegion?.())return [];let L=M(o.rangeRectsRegionByHandle&&(I=>o.rangeRectsRegionByHandle(I,u,f,g,x)),()=>o.rangeRectsRegionJson(n(),u,f,g,x),"range_rects_region");return A(L,[],"range_rects_region")},X=(u,f,g)=>{let x=P(u,f,g,g+1);if(x.length>0){let L=new Map;for(let I of x)L.has(I.pageIndex)||L.set(I.pageIndex,{pageIndex:I.pageIndex,x:I.x,y:I.y,width:0,height:I.height});return [...L.values()]}if(g>0){let L=P(u,f,g-1,g);if(L.length>0){let I=new Map;for(let S of L)I.set(S.pageIndex,{pageIndex:S.pageIndex,x:S.x+S.width,y:S.y,width:0,height:S.height});return [...I.values()]}}return []},B=u=>{let f=W(u,u+1);if(f.length>0){let g=f[0];return {pageIndex:g.pageIndex,x:g.x,y:g.y,width:0,height:g.height}}if(u>0){let g=W(u-1,u);if(g.length>0){let x=g[g.length-1];return {pageIndex:x.pageIndex,x:x.x+x.width,y:x.y,width:0,height:x.height}}}return null},ie=u=>{let f=W(u,u+2);return f.length>0?f[0]:B(u)},ce=(u,f,g)=>{let x=P(u,f,g,g+2);if(x.length===0)return X(u,f,g);let L=new Map;for(let I of x)L.has(I.pageIndex)||L.set(I.pageIndex,I);return [...L.values()]},N=(u,f)=>({pageIndex:u,x:f.x,y:f.y,width:f.w,height:f.h}),ee=u=>{let f=e.pages[u];return f?{pageIndex:f.pageIndex,x:0,y:0,width:f.width,height:f.height}:null},T=u=>{let f=e.pages[u],g=f?.contentBounds;return f&&g?{pageIndex:f.pageIndex,x:g.x,y:g.y,width:g.width,height:g.height}:null},V=u=>{let f=e.pages[u];return f?(f.columnBounds??[]).map(g=>({pageIndex:f.pageIndex,x:g.x,y:g.y,width:g.width,height:g.height})):[]},Y=u=>u.paraId?`para:${u.paraId}`:u.blockKey!==void 0?`block-key:${u.blockKey}`:u.blockId!==void 0?`block-id:${u.blockId}`:null,$=u=>u.blockKey??u.blockId,F=null,z=()=>{if(F)return F;let u=new Map;for(let f$1 of e.pages)for(let g of f$1.primitives){let x=Y(g);if(!x||g.docStart===void 0||g.docEnd===void 0)continue;let L=f(g),I=u.get(x);I||(I=new Map,u.set(x,I));let S=I.get(f$1.pageIndex);if(!S){I.set(f$1.pageIndex,{...N(f$1.pageIndex,L),from:g.docStart,to:g.docEnd,blockId:$(g),paraId:g.paraId});continue}let C=Math.min(S.x,L.x),E=Math.min(S.y,L.y),de=Math.max(S.x+S.width,L.x+L.w),ue=Math.max(S.y+S.height,L.y+L.h);S.x=C,S.y=E,S.width=de-C,S.height=ue-E,S.from=Math.min(S.from,g.docStart),S.to=Math.max(S.to,g.docEnd);}return F=new Map([...u].map(([f,g])=>[f,[...g.values()]])),F},Z=u=>{let f=null;for(let g of e.pages)for(let x of g.primitives){let L=Y(x),I=x.docStart,S=x.docEnd;if(!L||I===void 0||S===void 0||u<I||u>S)continue;let C={identity:L,span:Math.max(0,S-I),startsAtPos:I===u};(!f||C.startsAtPos&&!f.startsAtPos||C.startsAtPos===f.startsAtPos&&C.span<f.span)&&(f=C);}return f?z().get(f.identity)??[]:[]},U=1.5,te=null,Je=()=>{if(te)return te;let u=[];for(let f$1 of e.pages){let g=[],x=0;for(let L of f$1.primitives){if(L.kind!=="text"&&L.kind!=="glyphRun"||L.docStart===void 0||L.docEnd===void 0||L.kind==="glyphRun"&&L.glyphs.length===0)continue;let I=L.kind==="text"?L.baselineY:L.glyphs.reduce((me,It)=>Math.max(me,It.y),-1/0);if(!Number.isFinite(I))continue;let S=Y(L)??`anonymous:${x++}`,C=f(L),E=g.find(me=>me.identity===S&&Math.abs(me.baseline-I)<=U);if(!E){g.push({identity:S,...N(f$1.pageIndex,C),baseline:I,from:L.docStart,to:L.docEnd,blockId:$(L),paraId:L.paraId});continue}let de=Math.min(E.x,C.x),ue=Math.min(E.y,C.y),Rt=Math.max(E.x+E.width,C.x+C.w),Dt=Math.max(E.y+E.height,C.y+C.h);E.x=de,E.y=ue,E.width=Rt-de,E.height=Dt-ue,E.from=Math.min(E.from,L.docStart),E.to=Math.max(E.to,L.docEnd);}u.push(...g.map(({identity:L,...I})=>I));}return te=u,te},bt=u=>{let f=null;for(let g of Je())u<g.from||u>g.to||(!f||g.to-g.from<f.to-f.from)&&(f=g);return f},Ke=u=>{if(!u)return null;let f=u.primitive.docStart;if(f===void 0)return null;let{primitive:g}=u;return {...u,pos:f,rect:{pageIndex:u.pageIndex,x:g.x,y:g.y,width:g.w,height:g.h}}},xt=(u,f,g,x="body",L)=>Ke(Be(e,u,f,g,x,L)),Lt=(u,f="body",g)=>Ke(Ce(e,u,f,g)),be={},xe={displayList:e,isReady:()=>(s!==null||o!==null)&&a===null,sourceState:()=>a?{status:"error",error:a}:s||o?{status:"ready"}:{status:"loading"},whenReady:()=>d,pageCount:()=>e.pages.length,pageSize:u=>{let f=e.pages[u];return f?{width:f.width,height:f.height}:null},pageBounds:ee,contentBounds:T,columnBounds:V,paragraphRects:Z,visualLines:Je,visualLineAtPosition:bt,imageAtPoint:xt,imageByPos:Lt,hitTestRegions:_,rangeRects:W,hfRangeRects:P,hfCaretRects:X,hfAnchorRects:ce,caretRect:B,anchorRect:ie,sidebarAnchorRect:ie,prime:b,dispose:()=>{h||(h=true,k(),He?.unregister(be));}};return He?.register(xe,k,be),Ge.set(xe,{list:e,pageRevisions:e.pages.map(v),engine:()=>o,hasHandle:()=>p!==null,donor:()=>R,supersede:()=>{m=true;},takeHandle:()=>{let u=p;return u!==null&&(p=null,He?.unregister(be)),u}}),xe}function Ln(e){return typeof e?.displayHitTestRegionsJson=="function"&&typeof e?.displayRangeRectsJson=="function"&&typeof e?.displayRangeRectsRegionJson=="function"}var Rn=16,Dn=24;function se(e){let t=[],r=24;for(let i=0;i<e.pageCount();i++)t.push(r),r+=(e.pageSize(i)?.height??0)+16;return t}function In(){let e=new Map;return t=>{if(!t.startsWith("blob:")&&!t.startsWith("data:"))return null;let r=e.get(t);return r||(r=new Promise(i=>{let n=new Image;n.onload=()=>i(n),n.onerror=()=>i(null),n.src=t;}),e.set(t,r)),r}}function Sn(e,t){let r=e.activeCommentIds.length>0?t?.(e.activeCommentIds):void 0;return {hasSelection:e.hasSelection,inInsertion:e.inInsertion,inDeletion:e.inDeletion,hasComment:e.activeCommentIds.length>0,inList:e.inList,listLevel:e.listLevel??0,...r?.authorName!==void 0?{commentAuthor:r.authorName}:{},...r?.replyCount!==void 0?{commentReplyCount:r.replyCount}:{}}}function vn(e,t){if(!e)return [];let r=[];return !e.hasSelection&&t.hasSelection&&r.push({key:"selected"}),e.hasSelection&&!t.hasSelection&&r.push({key:"selectionCleared"}),!e.hasComment&&t.hasComment&&r.push({key:"commentedText",...t.commentAuthor!==void 0||t.commentReplyCount!==void 0?{vars:{...t.commentAuthor!==void 0?{author:t.commentAuthor}:{},...t.commentReplyCount!==void 0?{replies:t.commentReplyCount}:{}}}:{}}),!e.inInsertion&&t.inInsertion&&r.push({key:"trackedInsertion"}),!e.inDeletion&&t.inDeletion&&r.push({key:"trackedDeletion"}),(!e.inList&&t.inList||t.inList&&e.listLevel!==t.listLevel)&&r.push({key:"listItem",vars:{level:t.listLevel+1}}),r}function ae(e){let t=Number(e);if(Number.isFinite(t))return t;let r=0xcbf29ce484222325n;for(let i of new TextEncoder().encode(e))r=(r^BigInt(i))*0x100000001b3n,r&=0xffffffffffffffffn;return Number(r&(1n<<53n)-1n)}function he(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}function kn(e){let t=typeof e.story=="string"?[e.story]:[],r=Array.isArray(e.rows)?e.rows:[];for(let i of r){let n=he(i),s=n&&Array.isArray(n.cells)?n.cells:[];for(let o of s){let a=he(o)?.story;typeof a=="string"&&t.push(a);}}return t}function wn(e){let t=e.storyIds(),r=new Map,i=new Set;for(let o of t){let a=[];try{for(let l of e.storySegments(o))if(l.kind==="embed")for(let c of kn(l.payload))a.push(c),i.add(c);}catch{}r.set(o,a);}let n=new Map,s=(o,a,l)=>{if(!(l.has(o)||n.has(o))){l.add(o),n.set(o,a);for(let c of r.get(o)??[])s(c,a,l);l.delete(o);}};t.includes("body")&&s("body",{story:"body"},new Set);for(let o of t)!o.startsWith("hf:")||i.has(o)||s(o,{story:o,hfRid:o.slice(3)},new Set);return n}function Mn(e,t,r,i,n){let s=Array.isArray(t.rows)?t.rows:[],o=r+1;for(let a of s){let l=he(a),c=l&&Array.isArray(l.cells)?l.cells:[],d=o+1;for(let p of c){let y=he(p),m=typeof y?.story=="string"?y.story:null,h=m?Fe(e,m,d+1,i,n):0;d+=h+2;}o=d+1;}return o+1-r}function Fe(e,t,r,i,n){if(n.has(t))throw new Error(`recursive yrs story: ${t}`);n.add(t);try{let s=r,o=r,a=0,l=!0;for(let c of e.storySegments(t)){if(c.kind==="text"){a+=c.text.length,l=!1;continue}if(c.kind==="pilcrow"){let d=o+a+2;i.set(c.paraId,{pmStart:o,pmEnd:d}),s=d,o=s,a=0,l=!0;continue}if(c.embedKind==="table"&&l){s+=Mn(e,c.payload,s,i,n),o=s;continue}if(c.embedKind==="blockSdt"&&l){let d=typeof c.payload.story=="string"?c.payload.story:null,p=d?Fe(e,d,s+1,i,n):0;s+=p+2,o=s;continue}if(l&&(c.embedKind==="pageBreak"||c.embedKind==="columnBreak")){s+=1,o=s;continue}a+=1,l=!1;}return s-r}finally{n.delete(t);}}function Pn(e){let t=new Map,r=wn(e),i=o=>{let a=r.get(o)?.story;if(!a)return null;if(t.has(a))return t.get(a)??null;try{let l=new Map;return Fe(e,a,0,l,new Set),t.set(a,l),l}catch{return t.set(a,null),null}},n=o=>{let a=r.get(o.story);if(!a)return null;let l=i(o.story)?.get(o.paraId);if(!l)return null;let c=Math.max(0,l.pmEnd-l.pmStart-2),d=Math.min(Math.max(0,Math.trunc(o.offset)),c);return {story:o.story,position:l.pmStart+1+d,...a.hfRid?{hfRid:a.hfRid}:{}}};return {locToDisplayPoint:n,storyOffsetToDisplayPoint:(o,a)=>{if(!r.has(o))return null;let l=Math.max(0,Math.trunc(a));try{for(let c of e.paragraphs(o)){let d=e.locateParagraph(o,c.paraId);if(!(l<d.start||l>d.end))return n({story:o,paraId:c.paraId,offset:Math.min(l-d.start,d.end-d.start)})}}catch{return null}return null}}}function Ne(e,t){let{doc:r,schema:i}=e.state,n=i.marks.comment,s=i.marks.insertion,o=i.marks.deletion;!n&&!s&&!o||r.descendants((a,l)=>{let c=a.attrs;if(c){let d=[c.trIns,c.trDel,c.pPrIns,c.pPrDel];for(let h of d){let R=h?.revisionId;typeof R=="number"&&t(`revision-${R}`,l);}let y=c.cellMarker?.info?.revisionId;typeof y=="number"&&t(`revision-${y}`,l);let m=[c.pPrChange,c.trPrChange,c.tcPrChange,c.tblPrChange];for(let h of m)if(Array.isArray(h))for(let R of h){let k=R?.info?.id;typeof k=="number"&&t(`revision-${k}`,l);}}if(a.isInline)for(let d of a.marks){let p=null;n&&d.type===n?p=`comment-${d.attrs.commentId}`:(s&&d.type===s||o&&d.type===o)&&(p=`revision-${d.attrs.revisionId}`),p&&t(p,l);}});}function An(e,t,r){let i=new Map;if(!e?.state)return i;let n=se(t),s=new Set;return Ne(e,(o,a)=>{if(s.has(o))return;s.add(o);let l=t.anchorRect(a);if(!l)return;let c=r?r(l):(n[l.pageIndex]??0)+l.y;c!=null&&i.set(o,c);}),i}function En(e,t,r){if(!e.hfRid)return t.anchorRect(e.position);let i=r?.get(e.hfRid);return i?t.hfAnchorRects(i,e.hfRid,e.position)[0]??null:null}function Tn(e,t,r,i,n,s,o){let a=new Map,l=se(n),c=(d,p)=>{if(!p||a.has(d))return a.has(d);let y=En(p,n,s);if(!y)return false;let m=o?o(y):(l[y.pageIndex]??0)+y.y;return m==null?false:(a.set(d,m),true)};for(let d of t){let p=`comment-${d}`;try{for(let y of e.resolveComment(String(d)))if(c(p,i.storyOffsetToDisplayPoint(y.story,y.start)))break}catch{}}for(let d of r)c(`revision-${ae(d.revisionId)}`,i.locToDisplayPoint({story:d.story,...d.range.start}));return a}function Cn(e,t,r,i){let n=se(t);for(let{region:s,rId:o,view:a}of e)Ne(a,(l,c)=>{if(r.has(l))return;let d=t.hfAnchorRects(s,o,c)[0];if(!d)return;let p=i?i(d):(n[d.pageIndex]??0)+d.y;p!=null&&r.set(l,p);});return r}function Bn(e,t){let r=e.map(o=>{let a=t.locToDisplayPoint({story:o.range.story,...o.range.start}),l=t.locToDisplayPoint({story:o.range.story,...o.range.end}),c=a?.position??0,d=Math.max(c,l?.position??c);return {type:o.kind==="pPrIns"?"paragraphMarkInsertion":o.kind==="pPrDel"?"paragraphMarkDeletion":o.kind==="pPrChange"?"paragraphPropertiesChanged":o.kind==="trIns"?"rowInserted":o.kind==="trDel"?"rowDeleted":o.kind==="tableIns"?"tableInserted":o.kind==="tableDel"?"tableDeleted":o.kind,text:o.preview,author:o.author,date:o.date||void 0,from:c,to:d,revisionId:ae(o.revisionId),...a?.hfRid?{hfRid:a.hfRid}:{}}}),i=new Map;for(let o of r){let a=i.get(o.revisionId)??[];a.push(o),i.set(o.revisionId,a);}let n=[...i.values()].map(o=>{let a=Math.min(...o.map(m=>m.from)),l=Math.max(...o.map(m=>m.to)),c=o.filter(m=>m.type==="insertion"),d=o.filter(m=>m.type==="deletion");if(c.length>0&&d.length>0)return {...c[0],type:"replacement",text:c.map(h=>h.text).join(""),deletedText:d.map(h=>h.text).join(""),from:a,to:l};let p=o.find(m=>m.type==="insertion"||m.type==="deletion")??o[0],y=o.filter(m=>m.type===p.type).map(m=>m.text).join("");return {...p,text:y,from:a,to:l}}),s=[];for(let o=0;o<n.length;o+=1){let a=n[o],l=n[o+1];a.type==="deletion"&&l?.type==="insertion"&&a.author===l.author&&a.date===l.date&&a.to===l.from&&a.hfRid===l.hfRid?(s.push({type:"replacement",text:l.text,deletedText:a.text,author:a.author,date:a.date,from:a.from,to:l.to,revisionId:a.revisionId,insertionRevisionId:l.revisionId,...a.hfRid?{hfRid:a.hfRid}:{}}),o+=1):s.push(a);}return {entries:s,commentToRevision:new Map}}function Hn(e,t){let r=t.kind??"body";if(r==="body")return {kind:r,primitives:e.primitives};let i=r==="header"?e.header:e.footer;return !i||i.kind!==r||t.rId&&i.rId!==t.rId?null:{kind:r,rId:i.rId,primitives:i.primitives}}function Gn(e){switch(e.kind){case "text":return c(e);case "glyphRun":return d(e);case "rect":case "image":case "shape":case "decoration":return {x:e.x,y:e.y,w:e.w,h:e.h};case "line":return {x:Math.min(e.x1,e.x2),y:Math.min(e.y1,e.y2),w:Math.abs(e.x2-e.x1),h:Math.abs(e.y2-e.y1)}}}function Fn(e){let t=Gn(e),r=e.clipGroup?.clip;if(!r)return t;let i=r.x??0,n=r.y??0,s=i+Math.max(0,r.w??0),o=n+Math.max(0,r.h??0),a=Math.max(t.x,i),l=Math.max(t.y,n),c=Math.min(t.x+t.w,s),d=Math.min(t.y+t.h,o);return c<a||d<l?null:{x:a,y:l,w:c-a,h:d-l}}function Nn(e){return e.kind==="text"||e.kind==="glyphRun"?e.text:e.kind==="image"?e.altText??"":""}function Yn(e,t,r){return t>=e.x&&t<=e.x+e.w&&r>=e.y&&r<=e.y+e.h}function On(e,t,r,i,n={kind:"body"}){let s=e.pages[t];if(!s)return null;let o=Hn(s,n);if(!o)return null;for(let a=o.primitives.length-1;a>=0;a--){let l=o.primitives[a];if(l.kind==="line"||!l.href||l.hiddenObject)continue;let c=Fn(l);if(c&&Yn(c,r,i))return {pageIndex:t,region:o.kind,rId:o.rId,href:l.href,tooltip:l.linkTitle??l.tooltip,displayText:Nn(l)||l.href,rect:c}}return null}var O=7.5,q=16,mt=320,_n=30,Xn=200,$n=24,Jn=10,Kn=10,Qn=24;function pt(e){let t;switch(e.kind){case "text":t=c(e);break;case "glyphRun":t=d(e);break;case "rect":case "image":case "shape":case "decoration":t={x:e.x,y:e.y,w:e.w,h:e.h};break;case "line":t={x:Math.min(e.x1,e.x2),y:Math.min(e.y1,e.y2),w:Math.abs(e.x2-e.x1),h:Math.abs(e.y2-e.y1)};break}let r=Oe(e);return r?Wn(t,r)??{x:r.x,y:r.y,w:0,h:0}:t}function Oe(e){let t=e.clipGroup?.clip;return t?{x:t.x??0,y:t.y??0,w:Math.max(0,t.w??0),h:Math.max(0,t.h??0)}:null}function Wn(e,t){let r=Math.max(e.x,t.x),i=Math.max(e.y,t.y),n=Math.min(e.x+e.w,t.x+t.w),s=Math.min(e.y+e.h,t.y+t.h);return n<r||s<i?null:{x:r,y:i,w:n-r,h:s-i}}function ft(e,t,r){if(e.docStart!=null){let i=t(e.docStart);if(i!=null){let n={tableKey:i,docStartSample:e.docStart};return e.table?.tableId&&!r.has(e.table.tableId)&&r.set(e.table.tableId,n),n}}return e.table?.tableId?r.get(e.table.tableId)??null:null}function yt(e,t,r){let i=e.table?.tableId;if(!i)return null;let n=t.get(i);return n?r.get(n.tableKey)??null:null}function Vn(e,t,r,i){let n=new Map;for(let o of t){if(o.kind==="line")continue;let a=o.cell;if(!a)continue;let l=ft(o,r,i);if(!l)continue;let{tableKey:c,docStartSample:d}=l,p=pt(o),y=Oe(o),m=y??p,h=n.get(c);if(h||(h={tableKey:c,docStartSample:d,contentMinX:m.x,contentMinY:m.y,contentMaxX:m.x+m.w,contentMaxY:m.y+m.h,exactLeftX:[],exactBottomY:[],exactClipLeftX:[],exactClipBottomY:[],rows:new Map},n.set(c,h)),d<h.docStartSample&&(h.docStartSample=d),h.contentMinX=Math.min(h.contentMinX,m.x),h.contentMinY=Math.min(h.contentMinY,m.y),h.contentMaxX=Math.max(h.contentMaxX,m.x+m.w),h.contentMaxY=Math.max(h.contentMaxY,m.y+m.h),y&&(h.exactClipLeftX.push(y.x),h.exactClipBottomY.push(y.y+y.h)),!a.continuation){let R=h.rows.get(a.row);R?(R.top=Math.min(R.top,m.y),R.bottom=Math.max(R.bottom,m.y+m.h)):h.rows.set(a.row,{top:m.y,bottom:m.y+m.h});}}if(n.size===0)return [];for(let o of t){if(o.kind!=="line"||o.role!=="table-border"&&o.role!=="table-cut")continue;let a=yt(o,i,n);if(!a){let d=(o.x1+o.x2)/2,p=(o.y1+o.y2)/2,y=1/0;for(let m of n.values()){let h=d>=m.contentMinX-q&&d<=m.contentMaxX+q,R=p>=m.contentMinY-q&&p<=m.contentMaxY+q;if(!h||!R)continue;let k=Math.max(0,m.contentMinX-d,d-m.contentMaxX),v=Math.max(0,m.contentMinY-p,p-m.contentMaxY),b=k+v;b<y&&(y=b,a=m);}}if(!a)continue;let l=Math.abs(o.x1-o.x2)<.5,c=Math.abs(o.y1-o.y2)<.5;l&&a.exactLeftX.push(Math.min(o.x1,o.x2)),c&&a.exactBottomY.push(Math.max(o.y1,o.y2));}let s=[];for(let o of n.values()){if(o.rows.size===0)continue;let a=o.exactLeftX.length>0||o.exactClipLeftX.length>0,l=a?Math.min(...o.exactLeftX,...o.exactClipLeftX):o.contentMinX-O,c=o.exactBottomY.length>0||o.exactClipBottomY.length>0?Math.max(...o.exactBottomY,...o.exactClipBottomY):o.contentMaxY,d=[...o.rows.entries()].map(([p,y])=>({rowIndex:p,top:y.top,bottom:y.bottom})).sort((p,y)=>p.rowIndex-y.rowIndex);s.push({pageIndex:e,tableKey:o.tableKey,docStartSample:o.docStartSample,originX:l,originY:o.contentMinY,bottomY:c,originExact:a,rowBands:d});}return s}function zn(e,t){let r=[],i=Xe(e,t,{kind:"body"});for(let n of e.pages)r.push(...Vn(n.pageIndex,n.primitives,t,i));return r}function _e(e,t){let r=t.kind??"body";if(r==="body")return {kind:r,primitives:e.primitives};let i=r==="header"?e.header:e.footer;return !i||i.kind!==r||t.rId&&i.rId!==t.rId?null:{kind:r,rId:i.rId,primitives:i.primitives}}function Xe(e,t,r){let i=new Map;for(let n of e.pages){let s=_e(n,r);if(s)for(let o of s.primitives){if(!o.cell||!o.table?.tableId||o.docStart==null)continue;let a=t(o.docStart);if(a==null)continue;let l=i.get(o.table.tableId);(!l||o.docStart<l.docStartSample)&&i.set(o.table.tableId,{tableKey:a,docStartSample:o.docStart});}}return i}function $e(e,t){return `${e}:${t}`}function jn(e,t,r,i){let n=$e(t.row,t.col),s=e.cells.get(n);s?(s.minX=Math.min(s.minX,r.x),s.minY=Math.min(s.minY,r.y),s.maxX=Math.max(s.maxX,r.x+r.w),s.maxY=Math.max(s.maxY,r.y+r.h),s.rowSpan=Math.max(s.rowSpan,t.rowSpan),s.colSpan=Math.max(s.colSpan,t.colSpan),i&&(s.exactClip=i)):e.cells.set(n,{row:t.row,col:t.col,rowSpan:t.rowSpan,colSpan:t.colSpan,minX:r.x,minY:r.y,maxX:r.x+r.w,maxY:r.y+r.h,exactClip:i??void 0});}function gt(e,t,r){let i=new Map;for(let n of e){if(n.kind==="line")continue;let s=n.cell;if(!s)continue;let o=ft(n,t,r);if(!o)continue;let a=o.tableKey,l=pt(n),c=i.get(a);c||(c={tableKey:a,contentMinX:l.x,contentMinY:l.y,contentMaxX:l.x+l.w,contentMaxY:l.y+l.h,cells:new Map,verticalLines:[],horizontalLines:[]},i.set(a,c)),c.contentMinX=Math.min(c.contentMinX,l.x),c.contentMinY=Math.min(c.contentMinY,l.y),c.contentMaxX=Math.max(c.contentMaxX,l.x+l.w),c.contentMaxY=Math.max(c.contentMaxY,l.y+l.h),jn(c,s,l,Oe(n));}if(i.size===0)return [];for(let n of e){if(n.kind!=="line"||n.role!=="table-border"&&n.role!=="table-cut")continue;let s=Math.abs(n.x1-n.x2)<.5,o=Math.abs(n.y1-n.y2)<.5;if(!s&&!o)continue;let a=Math.min(n.x1,n.x2),l=Math.max(n.x1,n.x2),c=Math.min(n.y1,n.y2),d=Math.max(n.y1,n.y2),p=yt(n,r,i);if(p){s?p.verticalLines.push(a):p.horizontalLines.push(c);continue}for(let y of i.values())if(s){if(!(d>=y.contentMinY-q&&c<=y.contentMaxY+q))continue;let h=a;Math.max(0,y.contentMinX-h,h-y.contentMaxX)<=mt&&y.verticalLines.push(h);}else if(o){if(!(l>=y.contentMinX-q&&a<=y.contentMaxX+q))continue;let h=c;Math.max(0,y.contentMinY-h,h-y.contentMaxY)<=mt&&y.horizontalLines.push(h);}}return [...i.values()]}function le(e){let t=[];for(let r of [...e].sort((i,n)=>i-n))(t.length===0||Math.abs(t[t.length-1]-r)>.5)&&t.push(r);return t}function ht(e){let t=le([...e.cells.values()].map(n=>n.row)),r=le(e.horizontalLines),i=new Map;if(t.length>0&&r.length>=t.length+1)for(let n=0;n<t.length;n++)i.set(t[n],r[n]),i.set(t[n]+1,r[n+1]);return i}function Ye(e){if(!e)return null;if(e.exactClip)return e.exactClip;let t=e.minX-O,r=e.minY-O;return {x:t,y:r,w:Math.max(1,e.maxX-e.minX+O*2),h:Math.max(1,e.maxY-e.minY+O*2)}}function Un(e,t){let r=1/0,i=-1/0;for(let n of e.cells.values())n.row===t&&(r=Math.min(r,n.exactClip?.y??n.minY-O),i=Math.max(i,n.exactClip?n.exactClip.y+n.exactClip.h:n.maxY+O));return !Number.isFinite(r)||!Number.isFinite(i)||i<=r?null:{top:r,bottom:i}}function qn(e,t,r){let i=Ye(e.cells.get($e(t,r)));return i?{left:i.x,right:i.x+i.w,top:i.y,bottom:i.y+i.h}:null}function Zn(e,t,r,i={kind:"body"}){if(t.length===0)return [];let n=new Map;for(let a of t){let l=n.get(a.tableKey);l?l.push(a):n.set(a.tableKey,[a]);}let s=[],o=Xe(e,r,i);for(let a of e.pages){let l=_e(a,i);if(!l)continue;let c=gt(l.primitives,r,o);for(let d of c){let p=n.get(d.tableKey);if(!p)continue;let y=le(d.verticalLines),m=ht(d);for(let h of p){let R=d.cells.get($e(h.row,h.col)),k=y[h.col],v=y[h.col+h.colSpan],b=m.get(h.row),M=m.get(h.row+h.rowSpan),A=true;if(k==null||v==null||v<=k){let w=R?.exactClip??Ye(R);if(!w)continue;k=w.x,v=w.x+w.w,A=R?.exactClip!=null;}if(b==null||M==null||M<=b){let w=R?.exactClip??Ye(R);if(!w)continue;b=w.y,M=w.y+w.h,A&&(A=R?.exactClip!=null);}s.push({pageIndex:a.pageIndex,tableKey:d.tableKey,row:h.row,col:h.col,rowSpan:h.rowSpan,colSpan:h.colSpan,x:k,y:b,w:Math.max(1,v-k),h:Math.max(1,M-b),exact:A,region:l.kind,rId:l.rId});}}}return s}function ei(e){let{list:t,pageIndex:r,x:i,y:n,canvasRect:s,pageSize:o,tableKeyOf:a,cellPmPosOf:l,region:c={kind:"body"},edgeProximity:d=_n}=e,p=t.pages[r];if(!p)return null;let y=_e(p,c);if(!y)return null;let m=o.width>0?s.width/o.width:1,h=o.height>0?s.height/o.height:1,R=(b,M)=>({clientX:s.left+b*m,clientY:s.top+M*h}),k=Xe(t,a,c),v=gt(y.primitives,a,k);for(let b of v){let M=le(b.verticalLines),A=ht(b),w=le([...b.cells.values()].map(N=>N.row));if(w.length===0)continue;let _=M[0]??b.contentMinX-O,W=M[M.length-1]??b.contentMaxX+O,P=A.get(w[0])??b.contentMinY-O,X=w[w.length-1],B=A.get(X+1)??b.contentMaxY+O,ie=i<_+d&&i>=_-d,ce=n<P+d&&n>=P-d;if(!(!ie&&!ce)){if(ie&&n>=P-d&&n<=B)for(let N of w){let ee=A.get(N),T=A.get(N+1),V=ee==null||T==null?Un(b,N):null,Y=ee??V?.top,$=T??V?.bottom;if(Y==null||$==null||$<=Y||n<Y||n>$)continue;let F=[...b.cells.values()].filter(U=>U.row===N).sort((U,te)=>U.col-te.col)[0];if(!F)continue;let z=l(b.tableKey,N,F.col);if(!z)continue;let Z=R(_,Y+($-Y)/2);return {type:"row",clientX:Z.clientX-$n,clientY:Z.clientY-Jn,cellPmPos:z}}if(ce&&i>=_-d&&i<=W){let N=w[0],ee=[...b.cells.values()].filter(T=>T.row===N).sort((T,V)=>T.col-V.col);for(let T of ee){let V=M[T.col],Y=M[T.col+T.colSpan],$=V==null||Y==null?qn(b,T.row,T.col):null,F=V??$?.left,z=Y??$?.right;if(F==null||z==null||z<=F||i<F||i>z)continue;let Z=l(b.tableKey,T.row,T.col);if(!Z)continue;let U=R(F+(z-F)/2,P);return {type:"column",clientX:U.clientX-Kn,clientY:U.clientY-Qn,cellPmPos:Z}}}}}return null}var Qi=We;export{Dn as CANVAS_PAGES_PADDING_PX,Rn as CANVAS_PAGE_GAP_PX,Xn as DISPLAY_LIST_TABLE_INSERT_HIDE_DELAY_MS,D as MIRROR_CLASS_NAMES,Q as RustDisplayListSourceError,en as applyInteractiveSdtFocus,nn as buildInteractiveOverlayPage,Xt as buildMirrorPage,gn as buildRustDisplayFrame,dt as buildRustDisplayList,se as canvasPageTops,hn as captureInlinePositionEmuFromDisplayList,vn as computeA11yAnnouncements,An as computeAnchorPositionsFromDisplayList,Tn as computeAnchorPositionsFromYrs,In as createCanvasImageResolver,xn as createDisplayListQueries,Pn as createYrsSidebarProjection,Qi as demoDisplayList,Zn as deriveDisplayListSelectedCellRects,zn as deriveDisplayListTableFragments,ei as detectDisplayListTableInsertHover,ct as encodeDisplayListFrameExtras,Bn as extractTrackedChangesFromYrs,On as findDisplayListHyperlinkAtPoint,Be as findImagePrimitiveAtPoint,Ce as findImagePrimitiveByDocPos,_t as loadGlyphOutlineProvider,Te as loadRustDisplayListQueryEngine,Cn as mergeHfAnchorPositionsFromDisplayList,Sn as snapshotFromSelectionContext,Ne as visitAnchorKeys,ae as yrsIdToNumericId};
@@ -1,14 +1,14 @@
1
- import { RenderedDomContext, PositionCoordinates } from './types.mjs';
2
- import { D as DisplayListRect, a as DisplayListQueries } from '../displayListQueries-p-ijSzdh.mjs';
1
+ import { RenderedDomContext, PositionCoordinates } from './index.mjs';
2
+ import { D as DisplayListRect, a as DisplayListQueries } from '../displayListQueries-BJlo7Jkz.mjs';
3
3
  import '../types/document.mjs';
4
- import '../content-sSHuWw49.mjs';
5
- import '../formatting-DoL7KBSL.mjs';
4
+ import '../content-MOZ6hKP4.mjs';
5
+ import '../formatting-D1EPSaJP.mjs';
6
6
  import '../docx/wrapTypes.mjs';
7
- import '../styles-VxNcXLdi.mjs';
8
- import '../settingsParser-CcGvtmCK.mjs';
9
- import '../rustDisplayList-dqunvwxH.mjs';
10
- import '../types-DNrYr6yQ.mjs';
11
- import '../measuredBlock-DZwz8zhD.mjs';
7
+ import '../styles-Dn_o3Vo5.mjs';
8
+ import '../frameDelta-D965X8yK.mjs';
9
+ import '../rustDisplayList-BRuZBqdL.mjs';
10
+ import '../types-BfqUl2h_.mjs';
11
+ import '../layout/pagination/index.mjs';
12
12
 
13
13
  /**
14
14
  * RenderedDomContext Implementation
@@ -1,7 +1,192 @@
1
- export { EditorPluginCore, PanelConfig, PluginPanelProps, PositionCoordinates, RenderedDomContext, SidebarItem, SidebarItemContext } from './types.mjs';
2
- import '../types/document.mjs';
3
- import '../content-sSHuWw49.mjs';
4
- import '../formatting-DoL7KBSL.mjs';
1
+ import { Document } from '../types/document.mjs';
2
+ import '../content-MOZ6hKP4.mjs';
3
+ import '../formatting-D1EPSaJP.mjs';
5
4
  import '../docx/wrapTypes.mjs';
6
- import '../styles-VxNcXLdi.mjs';
7
- import '../settingsParser-CcGvtmCK.mjs';
5
+ import '../styles-Dn_o3Vo5.mjs';
6
+
7
+ /**
8
+ * Framework-Agnostic Plugin Interface for the DOCX Editor
9
+ *
10
+ * Core plugin types that can be used by any framework (React, Vue, etc.).
11
+ * Framework-specific adapters extend EditorPluginCore with their own
12
+ * UI rendering capabilities (e.g., ReactEditorPlugin, VueEditorPlugin).
13
+ * @packageDocumentation
14
+ * @public
15
+ */
16
+
17
+ /**
18
+ * Coordinates returned by position lookup in the rendered DOM.
19
+ */
20
+ interface PositionCoordinates {
21
+ x: number;
22
+ y: number;
23
+ height: number;
24
+ }
25
+ /**
26
+ * Context for accessing rendered-page geometry in the paged editor.
27
+ *
28
+ * Provides position mapping over the canvas renderer's output (Rust
29
+ * display-list queries, with the accessibility mirror's DOM as fallback).
30
+ * Use this for rendering overlays, annotations, and other visual elements
31
+ * positioned relative to rendered content.
32
+ *
33
+ * The mirror DOM uses data-doc-start/data-doc-end attributes on spans
34
+ * to map between display positions and DOM elements.
35
+ */
36
+ interface RenderedDomContext {
37
+ /** The container element holding all rendered pages. */
38
+ pagesContainer: HTMLElement;
39
+ /**
40
+ * Get pixel coordinates for a display position in the rendered DOM.
41
+ * Returns null if the position cannot be found.
42
+ */
43
+ getCoordinatesForPosition(position: number): PositionCoordinates | null;
44
+ /**
45
+ * Find DOM elements that overlap with a display-position range.
46
+ */
47
+ findElementsForRange(from: number, to: number): Element[];
48
+ /**
49
+ * Get bounding rectangles for a range of text, accounting for line wraps.
50
+ * Returns rects relative to the pages container.
51
+ */
52
+ getRectsForRange(from: number, to: number): Array<{
53
+ x: number;
54
+ y: number;
55
+ width: number;
56
+ height: number;
57
+ }>;
58
+ /** Query-backed caret coordinates for one explicit header/footer page. */
59
+ getCoordinatesForHfPosition(region: 'header' | 'footer', rId: string, position: number, pageIndex: number): PositionCoordinates | null;
60
+ /** Query-backed range rectangles for one explicit header/footer page. */
61
+ getRectsForHfRange(region: 'header' | 'footer', rId: string, from: number, to: number, pageIndex: number): Array<{
62
+ x: number;
63
+ y: number;
64
+ width: number;
65
+ height: number;
66
+ }>;
67
+ /** Bounds of one rendered page relative to the pages container. */
68
+ getPageBounds(pageIndex: number): {
69
+ x: number;
70
+ y: number;
71
+ width: number;
72
+ height: number;
73
+ } | null;
74
+ /** Current zoom level (1 = 100%). */
75
+ zoom: number;
76
+ /**
77
+ * Offset of the pages container from its parent viewport.
78
+ */
79
+ getContainerOffset(): {
80
+ x: number;
81
+ y: number;
82
+ };
83
+ }
84
+ /**
85
+ * Props passed to plugin panel components (framework-agnostic base).
86
+ */
87
+ interface PluginPanelProps<TState = unknown> {
88
+ /** Current serializer-facing document snapshot. */
89
+ document: Document | null;
90
+ /** Scroll editor to a specific position */
91
+ scrollToPosition: (pos: number) => void;
92
+ /** Select a range in the editor */
93
+ selectRange: (from: number, to: number) => void;
94
+ /** Plugin-specific state (managed by the plugin) */
95
+ pluginState: TState;
96
+ /** Width of the panel in pixels */
97
+ panelWidth: number;
98
+ /**
99
+ * Context for the rendered pages (canvas renderer output).
100
+ * May be null if layout hasn't completed yet.
101
+ */
102
+ renderedDomContext: RenderedDomContext | null;
103
+ }
104
+ /**
105
+ * Configuration for plugin panel rendering.
106
+ */
107
+ interface PanelConfig {
108
+ /** Where to render the panel */
109
+ position: 'left' | 'right' | 'bottom';
110
+ /** Default width/height of the panel */
111
+ defaultSize: number;
112
+ /** Minimum size */
113
+ minSize?: number;
114
+ /** Maximum size */
115
+ maxSize?: number;
116
+ /** Whether the panel is resizable */
117
+ resizable?: boolean;
118
+ /** Whether the panel can be collapsed */
119
+ collapsible?: boolean;
120
+ /** Initial collapsed state */
121
+ defaultCollapsed?: boolean;
122
+ }
123
+ /**
124
+ * Framework-agnostic core plugin interface.
125
+ *
126
+ * Contains all non-UI plugin capabilities:
127
+ * - State management (initialize, onStateChange, destroy)
128
+ * - CSS injection
129
+ * - Panel configuration
130
+ *
131
+ * Framework adapters (ReactEditorPlugin, VueEditorPlugin) extend this
132
+ * with their own Panel component type and renderOverlay function.
133
+ */
134
+ interface EditorPluginCore<TState = any> {
135
+ /** Unique plugin identifier */
136
+ id: string;
137
+ /** Display name for the plugin */
138
+ name: string;
139
+ /**
140
+ * Configuration for the panel (position, size, etc.)
141
+ */
142
+ panelConfig?: PanelConfig;
143
+ /**
144
+ * Called when the projected document changes.
145
+ * Use this to update plugin-specific state based on document changes.
146
+ */
147
+ onStateChange?: (document: Document) => TState | undefined;
148
+ /**
149
+ * Initialize plugin state when the plugin is first loaded.
150
+ */
151
+ initialize?: (document: Document | null) => TState;
152
+ /**
153
+ * Called when the plugin is being destroyed.
154
+ * Use this for cleanup (subscriptions, timers, etc.)
155
+ */
156
+ destroy?: () => void;
157
+ /**
158
+ * CSS styles to inject for this plugin.
159
+ * Can be a string of CSS or a URL to a stylesheet.
160
+ */
161
+ styles?: string;
162
+ }
163
+ /**
164
+ * A sidebar item anchored to a document position.
165
+ * Framework adapters extend this with rendering capabilities.
166
+ */
167
+ interface SidebarItem {
168
+ /** Unique ID for this item (used as React key and for overlap resolution). */
169
+ id: string;
170
+ /** Display position this item anchors to. */
171
+ anchorPos: number;
172
+ /** Optional key into the anchorPositions Map (e.g. "comment-42", "revision-7"). */
173
+ anchorKey?: string;
174
+ /** Sort priority within items at the same anchor Y. Lower = first. Default: 0. */
175
+ priority?: number;
176
+ /** Temporary items (e.g. "add comment" input) skip entrance animation. */
177
+ isTemporary?: boolean;
178
+ /** Pre-computed Y position (scroll-container coords, pre-zoom). Overrides anchor resolution. */
179
+ fixedY?: number;
180
+ }
181
+ /**
182
+ * Context provided to plugins when computing sidebar items.
183
+ */
184
+ interface SidebarItemContext {
185
+ document: Document | null;
186
+ renderedDomContext: RenderedDomContext | null;
187
+ /** Pre-computed Y positions from layout engine (keys like "comment-{id}"). */
188
+ anchorPositions: Map<string, number>;
189
+ zoom: number;
190
+ }
191
+
192
+ export type { EditorPluginCore, PanelConfig, PluginPanelProps, PositionCoordinates, RenderedDomContext, SidebarItem, SidebarItemContext };
@@ -1,10 +1,9 @@
1
- import { SidebarItem, RenderedDomContext } from './types.mjs';
1
+ import { SidebarItem, RenderedDomContext } from './index.mjs';
2
2
  import '../types/document.mjs';
3
- import '../content-sSHuWw49.mjs';
4
- import '../formatting-DoL7KBSL.mjs';
3
+ import '../content-MOZ6hKP4.mjs';
4
+ import '../formatting-D1EPSaJP.mjs';
5
5
  import '../docx/wrapTypes.mjs';
6
- import '../styles-VxNcXLdi.mjs';
7
- import '../settingsParser-CcGvtmCK.mjs';
6
+ import '../styles-Dn_o3Vo5.mjs';
8
7
 
9
8
  /**
10
9
  * Pure layout algorithm: given a list of sidebar items + their