@betteroffice/docx 0.4.2 → 0.5.0
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.
- package/LICENSE +1 -1
- package/README.md +108 -598
- package/dist/chunk-25WGDXBF.mjs +1 -0
- package/dist/chunk-2CCPNW44.mjs +1 -0
- package/dist/chunk-32A4I3T4.mjs +1 -0
- package/dist/chunk-4LO3PSLZ.mjs +2 -0
- package/dist/chunk-67MGRMP3.mjs +1 -0
- package/dist/chunk-6AUR4AA2.mjs +1 -0
- package/dist/chunk-6WT6HKAY.mjs +1 -0
- package/dist/chunk-77ZWGQZN.mjs +1 -0
- package/dist/chunk-7C3Y7LIH.mjs +1 -0
- package/dist/chunk-7WIUNGQW.mjs +1 -0
- package/dist/chunk-7WWFGMMF.mjs +1 -0
- package/dist/chunk-AK2NG7PT.mjs +1 -0
- package/dist/chunk-BR5BFOHF.mjs +1 -0
- package/dist/chunk-CDNWHQH2.mjs +1 -0
- package/dist/chunk-CRTTEHZN.mjs +1 -0
- package/dist/chunk-ETDMQ5GE.mjs +1 -0
- package/dist/{wasm-QXYYV7LU.mjs → chunk-GBOHQ3CJ.mjs} +1 -1
- package/dist/chunk-H7K4SJKK.mjs +1 -0
- package/dist/chunk-ICJH7QUY.mjs +1 -0
- package/dist/chunk-IHETKRDA.mjs +1 -0
- package/dist/chunk-ISBZLVIF.mjs +1 -0
- package/dist/chunk-JSYH6HNV.mjs +2 -0
- package/dist/chunk-KICHSQFN.mjs +1 -0
- package/dist/chunk-KXIGXLFA.mjs +5 -0
- package/dist/chunk-KXLTK7AT.mjs +57 -0
- package/dist/chunk-L3JRNJ34.mjs +1 -0
- package/dist/chunk-LKDHP22R.mjs +1 -0
- package/dist/chunk-LPOEM5WH.mjs +1 -0
- package/dist/chunk-M44BABH2.mjs +1 -0
- package/dist/chunk-MAYPJU23.mjs +1 -0
- package/dist/chunk-N5RE2S3U.mjs +2 -0
- package/dist/chunk-NLYHFVF5.mjs +1 -0
- package/dist/chunk-ONYCW7VV.mjs +4 -0
- package/dist/chunk-QGZ2AB3M.mjs +1 -0
- package/dist/chunk-QWHU7YIW.mjs +2 -0
- package/dist/{chunk-VH7P4734.mjs → chunk-QX2CDKPG.mjs} +1 -1
- package/dist/chunk-RGDE6YQB.mjs +1 -0
- package/dist/chunk-TE3AU2JK.mjs +1 -0
- package/dist/chunk-UDVEZ722.mjs +1 -0
- package/dist/chunk-UQSVFDRV.mjs +2 -0
- package/dist/chunk-VHOOSS4D.mjs +1 -0
- package/dist/chunk-WIDM4EMT.mjs +1 -0
- package/dist/chunk-YITJ4QAO.mjs +1 -0
- package/dist/collaboration/index.d.mts +111 -11
- package/dist/collaboration/index.mjs +1 -1
- package/dist/{content-DSb-6a9T.d.mts → content-DVT06V_6.d.mts} +24 -3
- package/dist/core.d.mts +9 -9
- package/dist/core.mjs +1 -1
- package/dist/displayListQueries-6XjS7B5e.d.mts +1473 -0
- package/dist/docx/index.d.mts +8 -7
- package/dist/docx/index.mjs +1 -2
- package/dist/docxWorker.mjs +1 -0
- package/dist/editor/index.d.mts +14 -12
- package/dist/editor/index.mjs +1 -1
- package/dist/{fontLoader-BNSs0E8K.d.mts → fontLoader-CBkmh4ps.d.mts} +1 -1
- package/dist/{formatting-gqLFeJ9X.d.mts → formatting-p5MneNuy.d.mts} +32 -1
- package/dist/generated/edit/docx_edit_bg.wasm +0 -0
- package/dist/generated/layout/docx_layout_bg.wasm +0 -0
- package/dist/generated/opc/ooxml_opc_bg.wasm +0 -0
- package/dist/generated/parse/docx_parse_bg.wasm +0 -0
- package/dist/index-C-KKULi5.d.mts +5596 -0
- package/dist/layout/index.d.mts +4 -4
- package/dist/layout/index.mjs +1 -1
- package/dist/layout/pagination/index.d.mts +4 -4
- package/dist/layout/render/index.d.mts +37 -53
- package/dist/layout/render/index.mjs +3 -1
- package/dist/{pagedExport-BmSlEhoP.d.mts → pagedExport-DDgA5O7E.d.mts} +92 -9
- package/dist/plugin-api/RenderedDomContext.d.mts +5 -7
- package/dist/plugin-api/index.d.mts +3 -3
- package/dist/plugin-api/resolveItemPositions.d.mts +3 -3
- package/dist/{rezip-Bxiq4Z_R.d.mts → rezip-CfwAYdV4.d.mts} +7 -1
- package/dist/styles/index.d.mts +3 -3
- package/dist/styles/index.mjs +1 -1
- package/dist/{styles-AryxLAhx.d.mts → styles-DZZz2oRy.d.mts} +2 -2
- package/dist/types/content.d.mts +2 -2
- package/dist/types/document.d.mts +6 -6
- package/dist/{types-Cz7S77Ut.d.mts → types-bvPg3KsF.d.mts} +16 -3
- package/dist/utils/comments.d.mts +2 -2
- package/dist/utils/findReplace.mjs +1 -2
- package/dist/utils/index.d.mts +5 -5
- package/dist/utils/index.mjs +1 -1
- package/dist/utils/listState.d.mts +2 -5
- package/dist/utils/stylePreview.d.mts +2 -2
- package/dist/utils/stylePreview.mjs +1 -1
- package/dist/wasm-edit.d.mts +233 -48
- package/dist/wasm-edit.mjs +1 -1
- package/dist/wasm-layout.d.mts +7 -1
- package/dist/wasm-layout.mjs +1 -1
- package/dist/wasm-opc.mjs +1 -1
- package/dist/wasm-parse.d.mts +7 -1
- package/dist/wasm-parse.mjs +1 -1
- package/dist/worker.d.mts +60 -0
- package/dist/worker.mjs +1 -0
- package/dist/yrs/docxWorker.d.mts +20 -0
- package/dist/yrs/docxWorker.mjs +3 -0
- package/dist/yrs/index.d.mts +12 -7
- package/dist/yrs/index.mjs +1 -1
- package/package.json +14 -4
- package/dist/chunk-47Q2FMFF.mjs +0 -1
- package/dist/chunk-4PRCO6EC.mjs +0 -1
- package/dist/chunk-5Z22FORG.mjs +0 -1
- package/dist/chunk-7SUVUKWT.mjs +0 -1
- package/dist/chunk-7ZV6P6NZ.mjs +0 -57
- package/dist/chunk-AXFMDV66.mjs +0 -1
- package/dist/chunk-EBYC3CX7.mjs +0 -1
- package/dist/chunk-GKWXOZZH.mjs +0 -1
- package/dist/chunk-LIOWZSE7.mjs +0 -1
- package/dist/chunk-ML6E23W2.mjs +0 -1
- package/dist/chunk-MLEMGJP7.mjs +0 -1
- package/dist/chunk-QBMNRD5V.mjs +0 -2
- package/dist/chunk-RNNTXPXC.mjs +0 -1
- package/dist/compareDocx-CWOYEBCE.mjs +0 -1
- package/dist/computeLayout-ZTO6TBWX.mjs +0 -1
- package/dist/displayListQueries-BVBDVXoP.d.mts +0 -306
- package/dist/frameDelta-CLeO7K5z.d.mts +0 -807
- package/dist/index-DzZVJC8-.d.mts +0 -2467
- package/dist/parseWasm-BESKFFA3.mjs +0 -1
- package/dist/rustDisplayList-B7uPoItK.d.mts +0 -315
- package/dist/wasm-GFT55YT6.mjs +0 -1
- package/dist/wasm-QI7MWC5D.mjs +0 -1
- package/dist/yrs/residentEngineWorker.d.mts +0 -2
- package/dist/yrs/residentEngineWorker.mjs +0 -1
package/dist/layout/index.d.mts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { B as BundledFontProvider } from '../rustMeasureSource-BkCx1FDx.mjs';
|
|
2
2
|
export { a as BundledFontProviderSource, E as EmbeddedFaceInput, F as FontScript, b as ResidentFontRequirement, R as ResidentMeasurementConfig, c as RustMeasureSource, d as RustTextEngine, e as createRustMeasureSource, g as getRustTextEngine } from '../rustMeasureSource-BkCx1FDx.mjs';
|
|
3
|
-
import { f as SectionProperties, H as HeaderFooter } from '../content-
|
|
4
|
-
export { D as DrawingScene, V as DrawingSceneNode, b as ShapeEffect,
|
|
3
|
+
import { f as SectionProperties, H as HeaderFooter } from '../content-DVT06V_6.mjs';
|
|
4
|
+
export { D as DrawingScene, V as DrawingSceneNode, b as ShapeEffect, aY as ShapeFillPaint, aZ as ShapeStrokePaint, c as ShapeTextBodyProperties } from '../content-DVT06V_6.mjs';
|
|
5
5
|
import { Document } from '../types/document.mjs';
|
|
6
|
-
import '../formatting-
|
|
6
|
+
import '../formatting-p5MneNuy.mjs';
|
|
7
7
|
import '../docx/wrapTypes.mjs';
|
|
8
|
-
import '../styles-
|
|
8
|
+
import '../styles-DZZz2oRy.mjs';
|
|
9
9
|
|
|
10
10
|
/** Opt-in bundled-font provider resolution. @packageDocumentation */
|
|
11
11
|
|
package/dist/layout/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {c}from'../chunk-DLXIZBB6.mjs';export{b as configureDefaultFonts,c as resolveDefaultFontProvider}from'../chunk-DLXIZBB6.mjs';import {d,e,g as g$1,c as c$1,f,b as b$1}from'../chunk-TTRUPDAB.mjs';function C(u){return u.trim().toLowerCase()}function B(u,e,t){return `${C(u)}|${e?1:0}|${t?1:0}`}function v(u,e,t,i){t.then(r=>{i(r)&&u.get(e)===t&&u.delete(e);},()=>{u.get(e)===t&&u.delete(e);});}var k=class{constructor(e,t){b$1(this,"sink");b$1(this,"bundledSource");b$1(this,"bundledPromise");b$1(this,"warnedFallback",false);b$1(this,"facesByFamily",new Map);b$1(this,"faceIds",new WeakMap);b$1(this,"bundledIds",new Map);b$1(this,"lastResortIds",new Map);b$1(this,"bufferIds",new WeakMap);b$1(this,"scriptIds",new Map);b$1(this,"scriptResults",new Map);b$1(this,"chains",new Map);b$1(this,"chainResults",new Map);b$1(this,"generation",0);this.sink=e,this.bundledSource=t?.bundled;}bundled(){if(this.bundledPromise===void 0){let e=this.bundledSource,t=Promise.resolve().then(()=>typeof e=="function"?e():e).catch(()=>{});t.then(i=>{i===void 0&&this.bundledPromise===t&&(this.bundledPromise=void 0);}),this.bundledPromise=t;}return this.bundledPromise}setEmbeddedFaces(e){this.generation++,this.facesByFamily=new Map;for(let t of e){let i=C(t.family),r=this.facesByFamily.get(i);r?r.push(t):this.facesByFamily.set(i,[t]);}this.chains=new Map,this.chainResults=new Map;}getFontIdChain(e,t,i){let r=B(e,t,i),s=this.chains.get(r);if(!s){let n=this.chains,o=this.chainResults,l=this.generation,f=this.resolveChain(e,t,i);f.then(d=>{l===this.generation&&(o.set(r,d),d.retryable&&n.get(r)===f&&n.delete(r));},()=>{n.get(r)===f&&n.delete(r);}),n.set(r,f),s=f;}return s.then(n=>n.ids)}getCachedFontIdChain(e,t,i,r=true){let s=B(e,t,i),n=this.chainResults.get(s);if(r&&n?.retryable){let o=this.chainResults;queueMicrotask(()=>{o.get(s)===n&&o.delete(s);});}return n?.ids}getScriptFallbackIds(e){let t=[...new Set(e)];return Promise.all(t.map(i=>this.resolveScript(i))).then(i=>{let r=[];for(let{id:s}of i)s!==null&&!r.includes(s)&&r.push(s);return r})}getCachedScriptFallbackIds(e,t=true){let i=this.scriptResults,r=[];for(let n of e){let o=i.get(n);if(!o)return;r.push([n,o]);}let s=[];for(let[n,o]of r){let{id:l}=o;l!==null&&!s.includes(l)&&s.push(l),t&&o.retryable&&queueMicrotask(()=>{i.get(n)===o&&i.delete(n);});}return s}clear(){this.generation++,this.bundledPromise=void 0,this.faceIds=new WeakMap,this.bundledIds=new Map,this.lastResortIds=new Map,this.bufferIds=new WeakMap,this.scriptIds=new Map,this.scriptResults=new Map,this.chains=new Map,this.chainResults=new Map;}async resolveChain(e,t,i){let r=B(e,t,i),s=[],n=false,o=this.pickEmbeddedFace(e,t,i);if(o){let a=await this.registerFace(o);a!==null?s.push(a):n=true;}let l=await this.bundled();l===void 0&&typeof this.bundledSource=="function"&&(n=true);let f;try{f=l?.resolve(e,t,i);}catch(a){n=true,console.warn(`[fontRegistry] bundled face resolver for "${e}" failed; falling back: ${a instanceof Error?a.message:String(a)}`);}if(f){let a=await this.registerBundled(r,f,e);a!==null&&!s.includes(a)&&s.push(a),a===null&&(n=true);}let d;try{d=l?.resolveLastResort?.(e,t,i,"word");}catch(a){n=true,console.warn(`[fontRegistry] last-resort resolver for "${e}" failed; falling back: ${a instanceof Error?a.message:String(a)}`);}if(d){let a=await this.registerLastResort(r,d,e);a!==null&&!s.includes(a)&&s.push(a),a===null&&(n=true);}return s.length===0&&this.warnFallback(e,l!==void 0,f!==void 0||d!==void 0),{ids:s,retryable:n}}warnFallback(e,t,i){if(this.warnedFallback)return;this.warnedFallback=true;let r="Native measurement is unsupported; browser hosts fall back to measureText and may use different OS fonts, so pagination can vary. Reported once per registry.";console.warn(i?`[fontRegistry] no font bytes for "${e}" \u2014 the font provider resolved but every matching face failed to load. ${r} If a bundler inlined @betteroffice/fonts, mark it external so its asset URLs resolve.`:t?`[fontRegistry] no font bytes for "${e}" \u2014 the configured font provider has no matching face. Add coverage for this family. ${r}`:`[fontRegistry] no font bytes for "${e}" \u2014 no font provider is configured. Install @betteroffice/fonts and pass it with configureDefaultFonts({ fonts }). `+r);}pickEmbeddedFace(e,t,i){let r=this.facesByFamily.get(C(e));if(!r)return;let s=t?"bold":"normal",n=i?"italic":"normal";return r.find(o=>o.weight===s&&o.style===n)??r.find(o=>o.weight==="normal"&&o.style==="normal")}measuredAs(e,t){let i=this.sink.registerSubstituteFont;if(!i)return e;try{return i.call(this.sink,e,t)}catch(r){return console.warn(`[fontRegistry] measurement view of the substitute for "${t}" failed; measuring with the substitute's own metrics: ${r instanceof Error?r.message:String(r)}`),e}}registerBuffer(e){let t=this.bufferIds.get(e);if(!t){let i=this.bufferIds;t=Promise.resolve().then(()=>this.sink.registerFont(new Uint8Array(e))),v(i,e,t,()=>false),i.set(e,t);}return t}registerFace(e){let t=this.faceIds.get(e);if(!t){let i=this.faceIds;t=(async()=>{try{return await this.registerBuffer(e.data)}catch{return console.warn(`[fontRegistry] embedded face "${e.family}" (${e.weight} ${e.style}) was rejected by the text engine; falling back`),null}})(),v(i,e,t,r=>r===null),i.set(e,t);}return t}registerBundled(e,t,i){let r=this.bundledIds.get(e);if(!r){let s=this.bundledIds;r=(async()=>{try{let n=await t();return this.measuredAs(await this.registerBuffer(n),i)}catch(n){return console.warn(`[fontRegistry] bundled face for "${i}" failed to load or register; falling back: ${n instanceof Error?n.message:String(n)}`),null}})(),v(s,e,r,n=>n===null),s.set(e,r);}return r}registerLastResort(e,t,i){let r=this.lastResortIds.get(e);if(!r){let s=this.lastResortIds;r=(async()=>{try{let n=await t();return this.measuredAs(await this.registerBuffer(n),i)}catch{return console.warn(`[fontRegistry] last-resort base face for "${i}" failed to load or register; falling back`),null}})(),v(s,e,r,n=>n===null),s.set(e,r);}return r}resolveScript(e){let t=this.scriptIds.get(e);if(!t){let i=this.scriptIds,r=this.scriptResults;t=(async()=>{let s=null,n=false,o=await this.bundled();o===void 0&&typeof this.bundledSource=="function"&&(n=true);let l;try{l=o?.resolveScriptFallback?.(e,!1,!1);}catch(d){n=true,console.warn(`[fontRegistry] script-fallback resolver for "${e}" failed; falling back: ${d instanceof Error?d.message:String(d)}`);}if(l)try{let d=await l();s=await this.registerBuffer(d);}catch(d){n=true,console.warn(`[fontRegistry] script-fallback face for "${e}" failed to load or register; falling back: ${d instanceof Error?d.message:String(d)}`);}let f={id:s,retryable:n};return r.set(e,f),f})(),v(i,e,t,s=>s.retryable),i.set(e,t);}return t}};var T=null;function L(){return T??(T=import('../wasm-GFT55YT6.mjs').then(async u=>(await u.preloadLayoutWasm(),{registerFont:u.registerMeasureFont,registerSubstituteFont:u.registerSubstituteMeasureFont,clearFonts:u.clearMeasureFonts}))),T}function H(u){let e=u.engine,t=new k({registerFont:r=>e.registerFont(r),...e.registerSubstituteFont&&{registerSubstituteFont:(r,s)=>e.registerSubstituteFont(r,s)}},{bundled:u.bundled??c}),i;return {setEmbeddedFaces(r){t.setEmbeddedFaces(r);},setCompat(r){i=r;},async prepareFontRequirements(r){return (await Promise.all(r.flatMap(n=>[(async()=>{try{return t.getCachedFontIdChain(n.family,n.bold,n.italic,!1)!==void 0?!1:(await t.getFontIdChain(n.family,n.bold,n.italic),!0)}catch{return false}})(),...Array.from(new Set(n.scripts??[]),async o=>{try{return t.getCachedScriptFallbackIds([o],!1)!==void 0?!1:(await t.getScriptFallbackIds([o]),!0)}catch{return false}})]))).some(Boolean)},measurementConfigForRequirements(r){let s=r.map(o=>({requirement:o,familyIds:t.getCachedFontIdChain(o.family,o.bold,o.italic,false),scriptIds:t.getCachedScriptFallbackIds(o.scripts??[],false)}));if(s.some(({familyIds:o,scriptIds:l})=>o===void 0||l===void 0))return;let n={};for(let{requirement:o}of s){let l=t.getCachedFontIdChain(o.family,o.bold,o.italic),f=t.getCachedScriptFallbackIds(o.scripts??[]);if(l===void 0||f===void 0)return;let d=Array.from(l);for(let a of f)d.includes(a)||d.push(a);d.length>0&&(n[o.key]=d);}return {fontChains:n,defaults:{fontSize:11,fontFamily:"Calibri"},compat:{noLeading:i?.noLeading??false,doNotExpandShiftReturn:i?.doNotExpandShiftReturn??false},authoritativeShaping:true}},clear(){t.clear();}}}var D=1056;function U(u,e){let t=u?.package.headers,i=u?.package.footers,r=e?.headerReferences?.find(F=>F.type==="default"),s=e?.headerReferences?.find(F=>F.type==="first"),n=e?.footerReferences?.find(F=>F.type==="default"),o=e?.footerReferences?.find(F=>F.type==="first"),l=r?t?.get(r.rId)??null:null,f=n?i?.get(n.rId)??null:null,d=s?t?.get(s.rId)??null:null,a=o?i?.get(o.rId)??null:null;return e?.titlePg||(l??(l=d),f??(f=a)),{header:l,footer:f,firstHeader:d,firstFooter:a}}var g,b,m,y,R,I,A,M=class{constructor(){d(this,I);d(this,g,0);d(this,b,0);d(this,m,false);d(this,y,false);d(this,R,new Set);}setStateSeq(e$1){e(this,g,e$1);}incrementStateSeq(){return ++g$1(this,g)._}getStateSeq(){return c$1(this,g)}getRenderSeq(){return c$1(this,b)}onLayoutStart(){e(this,m,true);}onLayoutComplete(e$1){e(this,b,e$1),e(this,m,false),c$1(this,y)&&this.isSafeToRender()&&(e(this,y,false),f(this,I,A).call(this));}isSafeToRender(){return !c$1(this,m)&&c$1(this,b)>=c$1(this,g)}requestRender(){this.isSafeToRender()?f(this,I,A).call(this):e(this,y,true);}onRender(e){return c$1(this,R).add(e),()=>c$1(this,R).delete(e)}reset(){e(this,g,0),e(this,b,0),e(this,m,false),e(this,y,false);}getDebugInfo(){return {stateSeq:c$1(this,g),renderSeq:c$1(this,b),layoutUpdating:c$1(this,m),hasPendingRender:c$1(this,y),isSafe:this.isSafeToRender()}}};g=new WeakMap,b=new WeakMap,m=new WeakMap,y=new WeakMap,R=new WeakMap,I=new WeakSet,A=function(){for(let e of c$1(this,R))try{e();}catch(t){console.error("LayoutSelectionGate: render callback error",t);}};export{D as DEFAULT_PAGE_HEIGHT_PX,M as LayoutSelectionGate,H as createRustMeasureSource,L as getRustTextEngine,U as resolveHeaderFooter};
|
|
1
|
+
import {c}from'../chunk-DLXIZBB6.mjs';export{b as configureDefaultFonts,c as resolveDefaultFontProvider}from'../chunk-DLXIZBB6.mjs';import {d,e,g as g$1,c as c$1,f,b as b$1}from'../chunk-TTRUPDAB.mjs';function C(u){return u.trim().toLowerCase()}function B(u,e,t){return `${C(u)}|${e?1:0}|${t?1:0}`}function v(u,e,t,i){t.then(r=>{i(r)&&u.get(e)===t&&u.delete(e);},()=>{u.get(e)===t&&u.delete(e);});}var k=class{constructor(e,t){b$1(this,"sink");b$1(this,"bundledSource");b$1(this,"bundledPromise");b$1(this,"warnedFallback",false);b$1(this,"facesByFamily",new Map);b$1(this,"faceIds",new WeakMap);b$1(this,"bundledIds",new Map);b$1(this,"lastResortIds",new Map);b$1(this,"bufferIds",new WeakMap);b$1(this,"scriptIds",new Map);b$1(this,"scriptResults",new Map);b$1(this,"chains",new Map);b$1(this,"chainResults",new Map);b$1(this,"generation",0);this.sink=e,this.bundledSource=t?.bundled;}bundled(){if(this.bundledPromise===void 0){let e=this.bundledSource,t=Promise.resolve().then(()=>typeof e=="function"?e():e).catch(()=>{});t.then(i=>{i===void 0&&this.bundledPromise===t&&(this.bundledPromise=void 0);}),this.bundledPromise=t;}return this.bundledPromise}setEmbeddedFaces(e){this.generation++,this.facesByFamily=new Map;for(let t of e){let i=C(t.family),r=this.facesByFamily.get(i);r?r.push(t):this.facesByFamily.set(i,[t]);}this.chains=new Map,this.chainResults=new Map;}getFontIdChain(e,t,i){let r=B(e,t,i),s=this.chains.get(r);if(!s){let n=this.chains,o=this.chainResults,l=this.generation,f=this.resolveChain(e,t,i);f.then(d=>{l===this.generation&&(o.set(r,d),d.retryable&&n.get(r)===f&&n.delete(r));},()=>{n.get(r)===f&&n.delete(r);}),n.set(r,f),s=f;}return s.then(n=>n.ids)}getCachedFontIdChain(e,t,i,r=true){let s=B(e,t,i),n=this.chainResults.get(s);if(r&&n?.retryable){let o=this.chainResults;queueMicrotask(()=>{o.get(s)===n&&o.delete(s);});}return n?.ids}getScriptFallbackIds(e){let t=[...new Set(e)];return Promise.all(t.map(i=>this.resolveScript(i))).then(i=>{let r=[];for(let{id:s}of i)s!==null&&!r.includes(s)&&r.push(s);return r})}getCachedScriptFallbackIds(e,t=true){let i=this.scriptResults,r=[];for(let n of e){let o=i.get(n);if(!o)return;r.push([n,o]);}let s=[];for(let[n,o]of r){let{id:l}=o;l!==null&&!s.includes(l)&&s.push(l),t&&o.retryable&&queueMicrotask(()=>{i.get(n)===o&&i.delete(n);});}return s}clear(){this.generation++,this.bundledPromise=void 0,this.faceIds=new WeakMap,this.bundledIds=new Map,this.lastResortIds=new Map,this.bufferIds=new WeakMap,this.scriptIds=new Map,this.scriptResults=new Map,this.chains=new Map,this.chainResults=new Map;}async resolveChain(e,t,i){let r=B(e,t,i),s=[],n=false,o=this.pickEmbeddedFace(e,t,i);if(o){let a=await this.registerFace(o);a!==null?s.push(a):n=true;}let l=await this.bundled();l===void 0&&typeof this.bundledSource=="function"&&(n=true);let f;try{f=l?.resolve(e,t,i);}catch(a){n=true,console.warn(`[fontRegistry] bundled face resolver for "${e}" failed; falling back: ${a instanceof Error?a.message:String(a)}`);}if(f){let a=await this.registerBundled(r,f,e);a!==null&&!s.includes(a)&&s.push(a),a===null&&(n=true);}let d;try{d=l?.resolveLastResort?.(e,t,i,"word");}catch(a){n=true,console.warn(`[fontRegistry] last-resort resolver for "${e}" failed; falling back: ${a instanceof Error?a.message:String(a)}`);}if(d){let a=await this.registerLastResort(r,d,e);a!==null&&!s.includes(a)&&s.push(a),a===null&&(n=true);}return s.length===0&&this.warnFallback(e,l!==void 0,f!==void 0||d!==void 0),{ids:s,retryable:n}}warnFallback(e,t,i){if(this.warnedFallback)return;this.warnedFallback=true;let r="Native measurement is unsupported; browser hosts fall back to measureText and may use different OS fonts, so pagination can vary. Reported once per registry.";console.warn(i?`[fontRegistry] no font bytes for "${e}" \u2014 the font provider resolved but every matching face failed to load. ${r} If a bundler inlined @betteroffice/fonts, mark it external so its asset URLs resolve.`:t?`[fontRegistry] no font bytes for "${e}" \u2014 the configured font provider has no matching face. Add coverage for this family. ${r}`:`[fontRegistry] no font bytes for "${e}" \u2014 no font provider is configured. Install @betteroffice/fonts and pass it with configureDefaultFonts({ fonts }). `+r);}pickEmbeddedFace(e,t,i){let r=this.facesByFamily.get(C(e));if(!r)return;let s=t?"bold":"normal",n=i?"italic":"normal";return r.find(o=>o.weight===s&&o.style===n)??r.find(o=>o.weight==="normal"&&o.style==="normal")}measuredAs(e,t){let i=this.sink.registerSubstituteFont;if(!i)return e;try{return i.call(this.sink,e,t)}catch(r){return console.warn(`[fontRegistry] measurement view of the substitute for "${t}" failed; measuring with the substitute's own metrics: ${r instanceof Error?r.message:String(r)}`),e}}registerBuffer(e){let t=this.bufferIds.get(e);if(!t){let i=this.bufferIds;t=Promise.resolve().then(()=>this.sink.registerFont(new Uint8Array(e))),v(i,e,t,()=>false),i.set(e,t);}return t}registerFace(e){let t=this.faceIds.get(e);if(!t){let i=this.faceIds;t=(async()=>{try{return await this.registerBuffer(e.data)}catch{return console.warn(`[fontRegistry] embedded face "${e.family}" (${e.weight} ${e.style}) was rejected by the text engine; falling back`),null}})(),v(i,e,t,r=>r===null),i.set(e,t);}return t}registerBundled(e,t,i){let r=this.bundledIds.get(e);if(!r){let s=this.bundledIds;r=(async()=>{try{let n=await t();return this.measuredAs(await this.registerBuffer(n),i)}catch(n){return console.warn(`[fontRegistry] bundled face for "${i}" failed to load or register; falling back: ${n instanceof Error?n.message:String(n)}`),null}})(),v(s,e,r,n=>n===null),s.set(e,r);}return r}registerLastResort(e,t,i){let r=this.lastResortIds.get(e);if(!r){let s=this.lastResortIds;r=(async()=>{try{let n=await t();return this.measuredAs(await this.registerBuffer(n),i)}catch{return console.warn(`[fontRegistry] last-resort base face for "${i}" failed to load or register; falling back`),null}})(),v(s,e,r,n=>n===null),s.set(e,r);}return r}resolveScript(e){let t=this.scriptIds.get(e);if(!t){let i=this.scriptIds,r=this.scriptResults;t=(async()=>{let s=null,n=false,o=await this.bundled();o===void 0&&typeof this.bundledSource=="function"&&(n=true);let l;try{l=o?.resolveScriptFallback?.(e,!1,!1);}catch(d){n=true,console.warn(`[fontRegistry] script-fallback resolver for "${e}" failed; falling back: ${d instanceof Error?d.message:String(d)}`);}if(l)try{let d=await l();s=await this.registerBuffer(d);}catch(d){n=true,console.warn(`[fontRegistry] script-fallback face for "${e}" failed to load or register; falling back: ${d instanceof Error?d.message:String(d)}`);}let f={id:s,retryable:n};return r.set(e,f),f})(),v(i,e,t,s=>s.retryable),i.set(e,t);}return t}};var T=null;function L(){return T??(T=import('../chunk-77ZWGQZN.mjs').then(async u=>(await u.preloadLayoutWasm(),{registerFont:u.registerMeasureFont,registerSubstituteFont:u.registerSubstituteMeasureFont,clearFonts:u.clearMeasureFonts}))),T}function H(u){let e=u.engine,t=new k({registerFont:r=>e.registerFont(r),...e.registerSubstituteFont&&{registerSubstituteFont:(r,s)=>e.registerSubstituteFont(r,s)}},{bundled:u.bundled??c}),i;return {setEmbeddedFaces(r){t.setEmbeddedFaces(r);},setCompat(r){i=r;},async prepareFontRequirements(r){return (await Promise.all(r.flatMap(n=>[(async()=>{try{return t.getCachedFontIdChain(n.family,n.bold,n.italic,!1)!==void 0?!1:(await t.getFontIdChain(n.family,n.bold,n.italic),!0)}catch{return false}})(),...Array.from(new Set(n.scripts??[]),async o=>{try{return t.getCachedScriptFallbackIds([o],!1)!==void 0?!1:(await t.getScriptFallbackIds([o]),!0)}catch{return false}})]))).some(Boolean)},measurementConfigForRequirements(r){let s=r.map(o=>({requirement:o,familyIds:t.getCachedFontIdChain(o.family,o.bold,o.italic,false),scriptIds:t.getCachedScriptFallbackIds(o.scripts??[],false)}));if(s.some(({familyIds:o,scriptIds:l})=>o===void 0||l===void 0))return;let n={};for(let{requirement:o}of s){let l=t.getCachedFontIdChain(o.family,o.bold,o.italic),f=t.getCachedScriptFallbackIds(o.scripts??[]);if(l===void 0||f===void 0)return;let d=Array.from(l);for(let a of f)d.includes(a)||d.push(a);d.length>0&&(n[o.key]=d);}return {fontChains:n,defaults:{fontSize:11,fontFamily:"Calibri"},compat:{noLeading:i?.noLeading??false,doNotExpandShiftReturn:i?.doNotExpandShiftReturn??false},authoritativeShaping:true}},clear(){t.clear();}}}var D=1056;function U(u,e){let t=u?.package.headers,i=u?.package.footers,r=e?.headerReferences?.find(F=>F.type==="default"),s=e?.headerReferences?.find(F=>F.type==="first"),n=e?.footerReferences?.find(F=>F.type==="default"),o=e?.footerReferences?.find(F=>F.type==="first"),l=r?t?.get(r.rId)??null:null,f=n?i?.get(n.rId)??null:null,d=s?t?.get(s.rId)??null:null,a=o?i?.get(o.rId)??null:null;return e?.titlePg||(l??(l=d),f??(f=a)),{header:l,footer:f,firstHeader:d,firstFooter:a}}var g,b,m,y,R,I,A,M=class{constructor(){d(this,I);d(this,g,0);d(this,b,0);d(this,m,false);d(this,y,false);d(this,R,new Set);}setStateSeq(e$1){e(this,g,e$1);}incrementStateSeq(){return ++g$1(this,g)._}getStateSeq(){return c$1(this,g)}getRenderSeq(){return c$1(this,b)}onLayoutStart(){e(this,m,true);}onLayoutComplete(e$1){e(this,b,e$1),e(this,m,false),c$1(this,y)&&this.isSafeToRender()&&(e(this,y,false),f(this,I,A).call(this));}isSafeToRender(){return !c$1(this,m)&&c$1(this,b)>=c$1(this,g)}requestRender(){this.isSafeToRender()?f(this,I,A).call(this):e(this,y,true);}onRender(e){return c$1(this,R).add(e),()=>c$1(this,R).delete(e)}reset(){e(this,g,0),e(this,b,0),e(this,m,false),e(this,y,false);}getDebugInfo(){return {stateSeq:c$1(this,g),renderSeq:c$1(this,b),layoutUpdating:c$1(this,m),hasPendingRender:c$1(this,y),isSafe:this.isSafeToRender()}}};g=new WeakMap,b=new WeakMap,m=new WeakMap,y=new WeakMap,R=new WeakMap,I=new WeakSet,A=function(){for(let e of c$1(this,R))try{e();}catch(t){console.error("LayoutSelectionGate: render callback error",t);}};export{D as DEFAULT_PAGE_HEIGHT_PX,M as LayoutSelectionGate,H as createRustMeasureSource,L as getRustTextEngine,U as resolveHeaderFooter};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { b as LayoutBlock, B as BlockExtent } from '../../types-
|
|
2
|
-
export { A as AnchoredObjectPositionInput, d as BlockId, e as BorderStyle, C as CellBorderSpec, f as CellBorders, g as ChartBlock, h as ChartExtent, i as ChartFragment, j as ColumnBreakBlock, k as ColumnBreakExtent, l as ColumnLayout, D as DEFAULT_TEXTBOX_MARGINS, m as DEFAULT_TEXTBOX_WIDTH, n as DocumentPosition, o as FieldRun, p as FloatingTablePosition, F as FootnoteContent, q as FootnoteRenderItem, r as Fragment, s as FragmentBase, H as HeaderFooterContent, t as HeaderFooterContentHeights, u as HeaderFooterLayout, v as HitTestResult, w as HyperlinkInfo, I as ImageBlock, x as ImageExtent, y as ImageFragment, z as ImageRun, E as ImageRunPosition, G as InlineSdtWidget, L as Layout, a as LayoutOptions, J as LineBreakRun, K as ListNumPr, N as NoteAreaContract, M as NoteLayoutItem, O as NoteSettingsContract, P as Page, Q as PageBorderContract, S as PageBreakBlock, T as PageBreakExtent, U as PageGeometry, V as PageHeaderFooterRefs, W as PageMargins, X as PageNumberingContract, Y as ParagraphAttrs, Z as ParagraphBlock, _ as ParagraphBorders, $ as ParagraphExtent, a0 as ParagraphFragment, a1 as ParagraphIndent, a2 as ParagraphSpacing, R as ResolvedLine, c as ResolvedSegment, a3 as Run, a4 as RunFontSlots, a5 as RunFormatting, a6 as RunLanguageSlots, a7 as SdtGroup, a8 as SectionBreakBlock, a9 as SectionBreakExtent, aa as ShapeBlock, ab as ShapeBlockFill, ac as ShapeBlockStroke, ad as ShapeBlockTransform, ae as ShapeExtent, af as ShapeFragment, ag as TabAlignment, ah as TabRun, ai as TabStop, aj as TableBlock, ak as TableCell, al as TableCellExtent, am as TableExtent, an as TableFragment, ao as TableRow, ap as TableRowExtent, aq as TextBoxBlock, ar as TextBoxExtent, as as TextBoxFragment, at as TextRun, au as TypesetBidiSlice, av as TypesetClusterAdvance, aw as TypesetRow, ax as TypesetRowSegment, ay as TypesetRunAdvance, az as WrapTextDirection, aA as assertExhaustiveLayoutBlock, aB as isTextWrappingFloatingImageRun, aC as pageGeometryFromPage, aD as resolveAnchoredObjectVerticalTop } from '../../types-
|
|
3
|
-
import '../../content-
|
|
4
|
-
import '../../formatting-
|
|
1
|
+
import { b as LayoutBlock, B as BlockExtent } from '../../types-bvPg3KsF.mjs';
|
|
2
|
+
export { A as AnchoredObjectPositionInput, d as BlockId, e as BorderStyle, C as CellBorderSpec, f as CellBorders, g as ChartBlock, h as ChartExtent, i as ChartFragment, j as ColumnBreakBlock, k as ColumnBreakExtent, l as ColumnLayout, D as DEFAULT_TEXTBOX_MARGINS, m as DEFAULT_TEXTBOX_WIDTH, n as DocumentPosition, o as FieldRun, p as FloatingTablePosition, F as FootnoteContent, q as FootnoteRenderItem, r as Fragment, s as FragmentBase, H as HeaderFooterContent, t as HeaderFooterContentHeights, u as HeaderFooterLayout, v as HitTestResult, w as HyperlinkInfo, I as ImageBlock, x as ImageExtent, y as ImageFragment, z as ImageRun, E as ImageRunPosition, G as InlineSdtWidget, L as Layout, a as LayoutOptions, J as LineBreakRun, K as ListNumPr, N as NoteAreaContract, M as NoteLayoutItem, O as NoteSettingsContract, P as Page, Q as PageBorderContract, S as PageBreakBlock, T as PageBreakExtent, U as PageGeometry, V as PageHeaderFooterRefs, W as PageMargins, X as PageNumberingContract, Y as ParagraphAttrs, Z as ParagraphBlock, _ as ParagraphBorders, $ as ParagraphExtent, a0 as ParagraphFragment, a1 as ParagraphIndent, a2 as ParagraphSpacing, R as ResolvedLine, c as ResolvedSegment, a3 as Run, a4 as RunFontSlots, a5 as RunFormatting, a6 as RunLanguageSlots, a7 as SdtGroup, a8 as SectionBreakBlock, a9 as SectionBreakExtent, aa as ShapeBlock, ab as ShapeBlockFill, ac as ShapeBlockStroke, ad as ShapeBlockTransform, ae as ShapeExtent, af as ShapeFragment, ag as TabAlignment, ah as TabRun, ai as TabStop, aj as TableBlock, ak as TableCell, al as TableCellExtent, am as TableExtent, an as TableFragment, ao as TableRow, ap as TableRowExtent, aq as TextBoxBlock, ar as TextBoxExtent, as as TextBoxFragment, at as TextRun, au as TypesetBidiSlice, av as TypesetClusterAdvance, aw as TypesetRow, ax as TypesetRowSegment, ay as TypesetRunAdvance, az as WrapTextDirection, aA as assertExhaustiveLayoutBlock, aB as isTextWrappingFloatingImageRun, aC as pageGeometryFromPage, aD as resolveAnchoredObjectVerticalTop } from '../../types-bvPg3KsF.mjs';
|
|
3
|
+
import '../../content-DVT06V_6.mjs';
|
|
4
|
+
import '../../formatting-p5MneNuy.mjs';
|
|
5
5
|
import '../../docx/wrapTypes.mjs';
|
|
6
6
|
|
|
7
7
|
interface MeasuredBlock {
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export { c as DisplayListHitRegion, d as DisplayListHoverTarget, e as DisplayListImageGeometry, f as DisplayListImageRegion, g as DisplayListParagraphGeometry, h as DisplayListQuerySourceState, i as DisplayListVerticalMove, j as DisplayListVisualLine, L as LocatedImagePrimitive, R as ResidentDisplayListQueryEngine, V as VisualLineExtent, k as captureInlinePositionEmuFromDisplayList, l as createDisplayListQueries, m as endDisplayListQueriesLine, n as findImagePrimitiveAtPoint, o as findImagePrimitiveByDocPos, p as isDisplayListQuerySourceDead, q as onDisplayListQuerySourceFailure } from '../../displayListQueries-BVBDVXoP.mjs';
|
|
6
|
-
import { u as YrsLoc, v as YrsStorySegment, Y as YrsSession, w as YrsRevisionInfo } from '../../index-DzZVJC8-.mjs';
|
|
1
|
+
import { c as DisplayPage, G as GlyphRunPrimitive, L as LinePrimitive, T as TextRunPrimitive, d as DisplayPrimitive, e as DisplayList, a as DisplayListQueries, f as DisplayListRegionHit, D as DisplayListRect } from '../../displayListQueries-6XjS7B5e.mjs';
|
|
2
|
+
export { g as DecodedFrameDelta, h as DecorationPrimitive, i as DisplayBounds, j as DisplayListBuildInputs, b as DisplayListHeadersFooters, k as DisplayListHfVariant, l as DisplayListHitRegion, m as DisplayListHoverTarget, n as DisplayListImageGeometry, o as DisplayListImageRegion, p as DisplayListParagraphGeometry, q as DisplayListPictureWatermark, r as DisplayListQuerySourceState, s as DisplayListTextWatermark, t as DisplayListVerticalMove, u as DisplayListVisualLine, v as DisplayListWatermark, w as DocAttrs, F as FRAME_DELTA_HEADER_BYTES, x as FRAME_DELTA_PAGE_OP_BYTES, y as FRAME_DELTA_VERSION, z as FrameDeltaError, A as FrameDeltaErrorCode, B as FramePageOperation, H as HfRegion, I as ImagePrimitive, C as LocatedImagePrimitive, P as PositionedGlyph, R as RectPrimitive, E as ResidentDisplayListQueryEngine, J as RetainedFrame, K as RetainedFramePage, M as RustDisplayFrameResult, N as RustDisplayListEngine, O as RustDisplayListQueryEngine, Q as RustDisplayListSourceError, S as RustDisplayListSourceErrorStage, U as TableCellRef, V as VisualLineExtent, W as applyFrameDelta, X as applyFrameDeltaOwned, Y as buildRustDisplayFrame, Z as buildRustDisplayList, _ as captureInlinePositionEmuFromDisplayList, $ as createDisplayListQueries, a0 as decodeFrameDelta, a1 as decodeFrameDeltaSteps, a2 as displayPageIsShiftOf, a3 as displayPageNoteAnchorRevision, a4 as displayPageRevision, a5 as encodeDisplayListFrameExtras, a6 as endDisplayListQueriesLine, a7 as findImagePrimitiveAtPoint, a8 as findImagePrimitiveByDocPos, a9 as isDisplayListQuerySourceDead, aa as loadRustDisplayListQueryEngine, ab as loadedRustDisplayListQueryEngine, ac as onDisplayListQuerySourceFailure } from '../../displayListQueries-6XjS7B5e.mjs';
|
|
3
|
+
import { aC as YrsSidebarDisplayPoint, Y as YrsSession, aD as YrsRevisionInfo, aE as YrsSidebarProjection } from '../../index-C-KKULi5.mjs';
|
|
4
|
+
export { aF as YrsStorySegmentSource, aG as createYrsSidebarProjection, aH as yrsIdToNumericId } from '../../index-C-KKULi5.mjs';
|
|
7
5
|
import { TrackedChangeEntry } from '../../utils/comments.mjs';
|
|
8
|
-
import '../../formatting-
|
|
9
|
-
import '../../content-
|
|
6
|
+
import '../../formatting-p5MneNuy.mjs';
|
|
7
|
+
import '../../content-DVT06V_6.mjs';
|
|
10
8
|
import '../../docx/wrapTypes.mjs';
|
|
11
|
-
import '../../types-
|
|
9
|
+
import '../../types-bvPg3KsF.mjs';
|
|
12
10
|
import '../pagination/index.mjs';
|
|
11
|
+
import '../../pagedExport-DDgA5O7E.mjs';
|
|
13
12
|
import '../../types/document.mjs';
|
|
14
|
-
import '../../styles-
|
|
15
|
-
import '../../pagedExport-BmSlEhoP.mjs';
|
|
16
|
-
import '../../loadWasmAsset-Cr95TImt.mjs';
|
|
13
|
+
import '../../styles-DZZz2oRy.mjs';
|
|
17
14
|
import '../../plugin-api/index.mjs';
|
|
18
|
-
import '../../
|
|
15
|
+
import '../../utils/findReplace.mjs';
|
|
16
|
+
import '../../utils/stylePreview.mjs';
|
|
17
|
+
import '../../loadWasmAsset-Cr95TImt.mjs';
|
|
18
|
+
import '../../rezip-CfwAYdV4.mjs';
|
|
19
19
|
|
|
20
20
|
/** a cached glyph: its outline path (font units) plus the font's units-per-em. */
|
|
21
21
|
interface GlyphOutline {
|
|
@@ -202,6 +202,14 @@ declare function displayPageHoldsMirrorId(page: DisplayPage, id: string): boolea
|
|
|
202
202
|
* to-next.
|
|
203
203
|
*/
|
|
204
204
|
declare function buildMirrorPage(page: DisplayPage, options?: BuildMirrorPageOptions): HTMLElement;
|
|
205
|
+
/**
|
|
206
|
+
* Brings `mirror`, a `buildMirrorPage` tree, up to date with `page` in place,
|
|
207
|
+
* exactly as `buildMirrorPage(page, options)` would build it. Blocks whose
|
|
208
|
+
* content is unchanged keep their elements; when only their document
|
|
209
|
+
* positions moved, those attributes shift in place. Returns false, changing
|
|
210
|
+
* nothing, when `mirror` is not a tree it can update.
|
|
211
|
+
*/
|
|
212
|
+
declare function updateMirrorPage(mirror: HTMLElement, page: DisplayPage, options?: BuildMirrorPageOptions): boolean;
|
|
205
213
|
|
|
206
214
|
/** Renderer-neutral page-local geometry for display-list primitives. */
|
|
207
215
|
|
|
@@ -288,11 +296,18 @@ interface PageCanvasLike {
|
|
|
288
296
|
}
|
|
289
297
|
type PageCanvasBuffer = HTMLCanvasElement | OffscreenCanvas;
|
|
290
298
|
/**
|
|
291
|
-
* Raster a
|
|
299
|
+
* Raster a page or damage band into a detached backing surface. Callers can prepare
|
|
292
300
|
* every damaged page concurrently, then present the finished buffers in one
|
|
293
301
|
* synchronous pass without ever exposing the renderer's initial clear.
|
|
294
302
|
*/
|
|
295
|
-
declare function rasterizeDisplayPageToBackBuffer(canvas: PageCanvasBuffer, page: DisplayPage, options?: DrawPageOptions, devicePixelRatio?: number, zoom?: number
|
|
303
|
+
declare function rasterizeDisplayPageToBackBuffer(canvas: PageCanvasBuffer, page: DisplayPage, options?: DrawPageOptions, devicePixelRatio?: number, zoom?: number,
|
|
304
|
+
/** Device-pixel crop; its pixels equal the corresponding full-page raster. */
|
|
305
|
+
clip?: {
|
|
306
|
+
x: number;
|
|
307
|
+
y: number;
|
|
308
|
+
width: number;
|
|
309
|
+
height: number;
|
|
310
|
+
}): Promise<PageCanvasBuffer>;
|
|
296
311
|
/** Atomically replace one visible canvas with a fully rastered page buffer. */
|
|
297
312
|
declare function presentDisplayPageBackBuffer(canvas: PageCanvasBuffer, buffer: PageCanvasBuffer, page: DisplayPage, zoom?: number): void;
|
|
298
313
|
/** Zero-copy atomic presentation for a worker-owned transferred canvas. */
|
|
@@ -319,6 +334,8 @@ declare function rasterizeDisplayListPages(list: DisplayList, options?: DrawPage
|
|
|
319
334
|
declare function drawDisplayPage(ctx: CanvasRenderingContext2D, page: DisplayPage, options?: DrawPageOptions): Promise<void>;
|
|
320
335
|
/** Replays a single primitive; exported for hosts that paint incrementally. */
|
|
321
336
|
declare function drawPrimitive(ctx: CanvasRenderingContext2D, primitive: DisplayPrimitive, options?: DrawPageOptions): Promise<void>;
|
|
337
|
+
/** Paints one glyph run synchronously, exactly as page rasterization does. */
|
|
338
|
+
declare function drawGlyphRunPrimitive(ctx: CanvasRenderingContext2D, primitive: GlyphRunPrimitive, options?: DrawPageOptions): void;
|
|
322
339
|
|
|
323
340
|
/** Shared vertical geometry for canvas page hosts. */
|
|
324
341
|
|
|
@@ -442,7 +459,7 @@ declare function resolveCanvasPoint(host: HTMLElement, queries: DisplayListQueri
|
|
|
442
459
|
* unresolved `rId`) resolves to null so opening a document never triggers a
|
|
443
460
|
* network fetch (the no-zero-click-external-fetch security contract). A token
|
|
444
461
|
* whose part this session cannot read paints a grey box. Decode
|
|
445
|
-
* results are cached per source so repaints reuse
|
|
462
|
+
* results are cached per source so repaints reuse decoded images.
|
|
446
463
|
*
|
|
447
464
|
*/
|
|
448
465
|
|
|
@@ -454,6 +471,8 @@ interface CanvasImageResolverOptions {
|
|
|
454
471
|
} | null;
|
|
455
472
|
/** Identifies the package `media` reads; a new value decodes tokens anew. */
|
|
456
473
|
mediaScope?: () => number;
|
|
474
|
+
/** Maximum cached decoded bytes; defaults to 64 MiB. */
|
|
475
|
+
maxCacheBytes?: number;
|
|
457
476
|
}
|
|
458
477
|
declare function createCanvasImageResolver(options?: CanvasImageResolverOptions): ImageResolver;
|
|
459
478
|
|
|
@@ -516,42 +535,6 @@ interface A11yAnnouncement {
|
|
|
516
535
|
*/
|
|
517
536
|
declare function computeA11yAnnouncements(prev: A11ySelectionSnapshot | null, next: A11ySelectionSnapshot): A11yAnnouncement[];
|
|
518
537
|
|
|
519
|
-
type SidebarReader = Pick<YrsSession, 'storyIds' | 'storySegments' | 'version' | 'paragraphs' | 'locateParagraph'>;
|
|
520
|
-
/** A yrs location projected into the position space used by the display list. */
|
|
521
|
-
interface YrsSidebarDisplayPoint {
|
|
522
|
-
story: string;
|
|
523
|
-
position: number;
|
|
524
|
-
/** Header/footer relationship id; absent for body and nested body stories. */
|
|
525
|
-
hfRid?: string;
|
|
526
|
-
}
|
|
527
|
-
/** Read-only converter used by the yrs-backed sidebar data sources. */
|
|
528
|
-
interface YrsSidebarProjection {
|
|
529
|
-
locToDisplayPoint(loc: YrsLoc): YrsSidebarDisplayPoint | null;
|
|
530
|
-
storyOffsetToDisplayPoint(story: string, offset: number): YrsSidebarDisplayPoint | null;
|
|
531
|
-
}
|
|
532
|
-
/**
|
|
533
|
-
* Where a sidebar projection reads story segments. `segments` must answer for the session's
|
|
534
|
-
* current state on every call, as `YrsSession.storySegments` does; the arrays it returns are shared
|
|
535
|
-
* and never mutated. A projection remembers the last source given for a session and reads
|
|
536
|
-
* through it for the session's lifetime.
|
|
537
|
-
*/
|
|
538
|
-
interface YrsStorySegmentSource {
|
|
539
|
-
segments(story: string): YrsStorySegment[];
|
|
540
|
-
}
|
|
541
|
-
/**
|
|
542
|
-
* Convert a string yrs identity into the numeric id used by the existing
|
|
543
|
-
* layout/sidebar contract. This is the same UTF-8 FNV-1a projection used by
|
|
544
|
-
* the yrs render and Document bridges; numeric OOXML ids pass through.
|
|
545
|
-
*/
|
|
546
|
-
declare function yrsIdToNumericId(value: string): number;
|
|
547
|
-
/**
|
|
548
|
-
* Build a lazy projection from live yrs stories to display positions.
|
|
549
|
-
* The canonical yrs segment stream supplies paragraph/atom units; table-cell
|
|
550
|
-
* and block-SDT stories are recursively sized so container tokens are included.
|
|
551
|
-
* A session gets the same projection back until its document changes.
|
|
552
|
-
*/
|
|
553
|
-
declare function createYrsSidebarProjection(session: SidebarReader, source?: YrsStorySegmentSource): YrsSidebarProjection;
|
|
554
|
-
|
|
555
538
|
/**
|
|
556
539
|
* Comment / tracked-change anchor derivation over the display list, shared
|
|
557
540
|
* by both adapters' sidebar plumbing on the canvas-renderer path.
|
|
@@ -596,6 +579,7 @@ interface YrsHeaderFooterRegions {
|
|
|
596
579
|
* neither path reads an `AnchorEditorView` or its document.
|
|
597
580
|
*/
|
|
598
581
|
declare function computeAnchorPositionsFromYrs(session: YrsSession, commentIds: Iterable<string | number>, revisions: readonly YrsRevisionInfo[], projection: YrsSidebarProjection, queries: DisplayListQueries, hfRegions?: YrsHeaderFooterRegions, projectY?: (rect: DisplayListRect) => number | null): Map<string, number>;
|
|
582
|
+
declare function anchorPositionsFromPoints(points: Iterable<readonly [key: string, point: YrsSidebarDisplayPoint | null]>, queries: DisplayListQueries, hfRegions?: YrsHeaderFooterRegions, projectY?: (rect: DisplayListRect) => number | null): Map<string, number>;
|
|
599
583
|
interface DisplayListHfAnchorSource {
|
|
600
584
|
region: 'header' | 'footer';
|
|
601
585
|
rId: string;
|
|
@@ -796,4 +780,4 @@ declare function findDisplayListHyperlinkAtPoint(list: DisplayList, pageIndex: n
|
|
|
796
780
|
*/
|
|
797
781
|
declare const demoDisplayList: DisplayList;
|
|
798
782
|
|
|
799
|
-
export { type A11yAnnouncement, type A11yCommentThreadDetails, type A11ySelectionSnapshot, type AnchorEditorView, type BuildInteractiveOverlayOptions, type BuildMirrorPageOptions, CANVAS_PAGES_PADDING_PX, CANVAS_PAGE_GAP_PX, type CanvasImageResolverOptions, type CanvasPointHit, DISPLAY_LIST_TABLE_INSERT_HIDE_DELAY_MS, DisplayList, type DisplayListHfAnchorSource, type DisplayListHyperlinkHit, DisplayListQueries, DisplayListRect, DisplayListRegionHit, type DisplayListSelectedCellRect, type DisplayListSelectedCellSpec, type DisplayListTableFragment, type DisplayListTableInsertHoverHit, type DisplayListTableInsertHoverInput, type DisplayListTableRegion, DisplayPage, type DisplayPageClientRect, type DisplayPageHostOptions, DisplayPageRegistry, DisplayPrimitive, type DrawPageOptions, type GeoRect, GlyphCache, type GlyphCacheOptions, type GlyphOutline, type GlyphOutlineProvider, GlyphRunPrimitive, type ImageResolver, type InteractiveOverlayLabels, LinePrimitive, MIRROR_CLASS_NAMES, type MirrorLabels, type PageCanvasBuffer, type PageCanvasLike, type TableKeyResolver, type TableRowBand, TextRunPrimitive, type TrackedChangesResult, type YrsHeaderFooterRegions,
|
|
783
|
+
export { type A11yAnnouncement, type A11yCommentThreadDetails, type A11ySelectionSnapshot, type AnchorEditorView, type BuildInteractiveOverlayOptions, type BuildMirrorPageOptions, CANVAS_PAGES_PADDING_PX, CANVAS_PAGE_GAP_PX, type CanvasImageResolverOptions, type CanvasPointHit, DISPLAY_LIST_TABLE_INSERT_HIDE_DELAY_MS, DisplayList, type DisplayListHfAnchorSource, type DisplayListHyperlinkHit, DisplayListQueries, DisplayListRect, DisplayListRegionHit, type DisplayListSelectedCellRect, type DisplayListSelectedCellSpec, type DisplayListTableFragment, type DisplayListTableInsertHoverHit, type DisplayListTableInsertHoverInput, type DisplayListTableRegion, DisplayPage, type DisplayPageClientRect, type DisplayPageHostOptions, DisplayPageRegistry, DisplayPrimitive, type DrawPageOptions, type GeoRect, GlyphCache, type GlyphCacheOptions, type GlyphOutline, type GlyphOutlineProvider, GlyphRunPrimitive, type ImageResolver, type InteractiveOverlayLabels, LinePrimitive, MIRROR_CLASS_NAMES, type MirrorLabels, type PageCanvasBuffer, type PageCanvasLike, type TableKeyResolver, type TableRowBand, TextRunPrimitive, type TrackedChangesResult, type YrsHeaderFooterRegions, YrsSidebarDisplayPoint, YrsSidebarProjection, anchorPositionsFromPoints, applyInteractiveSdtFocus, bindDisplayPageRegistry, buildInteractiveOverlayPage, buildMirrorPage, buildMirrorPageLinks, buildMirrorPageText, canvasPageTops, computeA11yAnnouncements, computeAnchorPositionsFromDisplayList, computeAnchorPositionsFromYrs, createCanvasImageResolver, demoDisplayList, deriveDisplayListSelectedCellRects, deriveDisplayListTableFragments, deriveDisplayListTableFragmentsOnPages, detectDisplayListTableInsertHover, displayPageCanvas, displayPageCanvases, displayPageHoldsMirrorId, drawDisplayPage, drawGlyphRunPrimitive, drawPrimitive, effectiveZoom, extractTrackedChangesFromYrs, findDisplayListHyperlinkAtPoint, fontSizePxFromShorthand, glyphRunRect, interactiveOverlayHasTabStops, lineRect, loadGlyphOutlineProvider, materializeDisplayPages, mergeHfAnchorPositionsFromDisplayList, mirrorPageHasHeaderCells, mirrorPageHasTabStops, presentDisplayPageBackBuffer, presentOffscreenPageBackBuffer, rasterizeDisplayListPages, rasterizeDisplayPageToBackBuffer, reduceMirrorToLinks, reduceMirrorToText, resolveCanvasPoint, resolveDisplayPageClientRect, sizeCanvasForPage, snapshotFromSelectionContext, textRunRect, updateMirrorPage, visitAnchorKeys };
|
|
@@ -1 +1,3 @@
|
|
|
1
|
-
import {f,g,e,d,c,C,y,A}from'../../chunk-7SUVUKWT.mjs';export{r as FRAME_DELTA_HEADER_BYTES,s as FRAME_DELTA_PAGE_OP_BYTES,q as FRAME_DELTA_VERSION,t as FrameDeltaError,a as GlyphCache,B as RustDisplayListSourceError,w as applyFrameDelta,x as applyFrameDeltaOwned,F as buildRustDisplayFrame,E as buildRustDisplayList,u as decodeFrameDelta,v as decodeFrameDeltaSteps,z as displayPageNoteAnchorRevision,y as displayPageRevision,o as drawDisplayPage,p as drawPrimitive,D as encodeDisplayListFrameExtras,b as fontSizePxFromShorthand,d as glyphRunRect,e as lineRect,C as loadRustDisplayListQueryEngine,i as presentDisplayPageBackBuffer,j as presentOffscreenPageBackBuffer,n as rasterizeDisplayListPages,h as rasterizeDisplayPageToBackBuffer,m as sizeCanvasForPage,c as textRunRect}from'../../chunk-7SUVUKWT.mjs';import {a}from'../../chunk-LIOWZSE7.mjs';export{c as createYrsSidebarProjection,a as yrsIdToNumericId}from'../../chunk-LIOWZSE7.mjs';export{b as DisplayPageRegistry,c as bindDisplayPageRegistry,e as displayPageCanvas,f as displayPageCanvases,a as effectiveZoom,d as materializeDisplayPages,h as resolveCanvasPoint,g as resolveDisplayPageClientRect}from'../../chunk-AOWJ4WDE.mjs';import {c as c$1}from'../../chunk-CTBUQRYQ.mjs';import'../../chunk-TTRUPDAB.mjs';var yt={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 Qn(){return import('../../wasm-GFT55YT6.mjs').then(async e=>(await e.preloadLayoutWasm(),e.outlineGlyphJson))}function Wn(e,t){for(let i of Array.from(e.querySelectorAll(".layout-canvas-sdt-box[data-sdt-group-id]")))i.classList.toggle("layout-sdt-focused",t.has(i.dataset.sdtGroupId??""));}var Vn=".layout-sdt-widget, .layout-inline-sdt-widget, .layout-sdt-repeat-btn",He=2,Ge=18,ue=16,Kn=2;function zn(e,t={}){let i=t.document??document,r=i.createElement("div");r.className="layout-interactive-overlay",r.dataset.pageIndex=String(e.pageIndex),r.style.position="absolute",r.style.inset="0",r.style.width=`${e.width}px`,r.style.height=`${e.height}px`,r.style.pointerEvents="none",r.addEventListener("mousedown",n=>{n.target?.closest?.(Vn)&&(n.preventDefault(),n.stopPropagation());});for(let[n,l]of Ie(e).entries()){for(let o of l.boundaries){let a=ni(o,i,t.labels,l.lowerLayer);a.style.zIndex=String(n),r.appendChild(a);}for(let o of l.widgets){let a=ii(o,i,t.labels);a.style.zIndex=String(n),o.occluded&&fe(a),r.appendChild(a);}}return r}function Ie(e){let t=qn(e),i=t[3];return t.map((r,n)=>{let l=n<3,o=c=>({rect:c,occluded:l&>(i,c)}),a=[...Zn(r).values()].sort(ti).map(c=>{let{kind:p,repeat:g}=ai(c.attrs),{rect:m}=c,y=m.x+Math.max(1,m.w)-He,h=m.y+Math.max(1,m.h)-He;return {...c,kind:p,widget:p?o({x:y-Ge,y:m.y+He,w:Ge,h:Ge}):void 0,repeats:g?[0,1].map(L=>o({x:y-ue-(1-L)*(ue+Kn),y:h-ue,w:ue,h:ue})):[]}}),s=[...ei(r).values()].map(c=>({...c,occluded:l&>(i,c.rect)}));return {lowerLayer:l,boundaries:a,widgets:s}})}function gt(e,t){let i=t.x+Math.max(1,t.w)/2,r=t.y+Math.max(1,t.h)/2;return e.some(n=>{if("opacity"in n&&n.opacity!==void 0&&n.opacity<=0||n.clipGroup?.clip&&(n.clipGroup.opacity??1)<=0)return false;switch(n.kind){case "text":case "glyphRun":if(!n.text.trim()||Un(n)||(n.rotationDeg??0)%360!==0||n.horizontalScale!==void 0&&!(n.horizontalScale>=100)||n.kind==="glyphRun"&&!n.glyphs.length)return false;break;case "rect":if(!n.fill||n.fill==="transparent"||n.fill==="none")return false;break;case "shape":{let o=n.fillPaint,a=o?.color??n.fill;if(o?.kind==="none")return false;if(o?.kind==="gradient"||o?.kind==="pattern")break;if(o?.kind==="picture"&&(o.pictureSrc||o.pictureRelId)){if((o.pictureOpacity??1)<=0)return false;let s=o.pictureStretchRect;if([s?.left,s?.top,s?.right,s?.bottom].some(p=>(p??0)>0)||!bt(o.pictureSrcRect))return false;break}if(!a||a==="transparent"||a==="none")return false;break}case "image":break;case "decoration":{let{color:o,style:a,dashed:s,dotted:c}=n;if((a??"solid")!=="solid"||s||c||!o||o==="transparent"||o==="none")return false;break}default:return false}let l=n.kind==="shape"?Jn(n):n.kind==="image"?jn(n):f(n);return l!==null&&Number.isFinite(l.w)&&Number.isFinite(l.h)&&l.w>0&&l.h>0&&i>=l.x&&i<=l.x+l.w&&r>=l.y&&r<=l.y+l.h&&g(n,i,r)})}function jn(e){let t=(i,r)=>i!==void 0&&Number.isFinite(i)?i:r;return e.shapeType!==void 0&&e.shapeType!=="rect"||t(e.rotationDeg,0)%180!==0||!bt(e.crop)?null:{x:t(e.contentFrame?.x,e.x),y:t(e.contentFrame?.y,e.y),w:t(e.contentFrame?.w,e.w),h:t(e.contentFrame?.h,e.h)}}function bt(e){if(!e)return true;let t=o=>Number.isFinite(o)?o:0,[i,r,n,l]=[e.left,e.top,e.right,e.bottom].map(t);return i>=0&&r>=0&&n>=0&&l>=0&&i+n<1&&r+l<1}function Jn(e){let t=e.transform?.rotation??0;if(!Number.isFinite(t)||t%180!==0)return null;let i=e.geometryPath,r=i.at(-1)?.type==="close"?i.length-1:i.length,n=[];for(let L=0;L<r;L++){let R=i[L];if(R.type!=="move"&&R.type!=="line"||R.type==="move"!=(L===0))return null;n.push([R.x,R.y]);}let l=n[0],o=n.at(-1);if(n.length===5&&l&&o&&l[0]===o[0]&&l[1]===o[1]&&n.pop(),n.length!==4)return null;let a=[...new Set(n.map(([L])=>L))],s=[...new Set(n.map(([,L])=>L))];if(a.length!==2||s.length!==2||new Set(n.map(([L,R])=>`${L},${R}`)).size!==4||!n.every(([L,R],k)=>{let[D,w]=n[(k+1)%4];return L===D!=(R===w)}))return null;let p=Math.min(...a),g=Math.min(...s),m=Math.abs(a[0]-a[1]),y=Math.abs(s[0]-s[1]),h=Math.abs(t%360)===180;return !!e.transform?.flipH!==h&&(p=2*e.x+e.w-p-m),!!e.transform?.flipV!==h&&(g=2*e.y+e.h-g-y),{x:p,y:g,w:m,h:y}}function Un(e){return e.modernEffects?.textFill?.kind==="none"}function fe(e){e.style.visibility="hidden",e.style.pointerEvents="none",e.tabIndex=-1,e.setAttribute("inert",""),e.setAttribute("aria-hidden","true"),e.setAttribute("aria-disabled","true"),e.tagName==="BUTTON"&&(e.disabled=true);}function qn(e){let t=Math.min(e.watermarkPrimitiveCount??0,e.primitives.length);return [e.primitives.slice(0,t),e.header?.primitives??[],e.footer?.primitives??[],e.primitives.slice(t),...(e.noteAreas??[]).map(i=>[...i.separatorPrimitives??[],...i.primitives??[]])]}function Zn(e){let t=new Map;for(let i of e){let r=xt(i);if(!r)continue;let n=i.sdtPath?.length?i.sdtPath:i.sdt?[i.sdt]:[];for(let l of n){let o=t.get(l.groupId);o?o.rect=Lt(o.rect,r):t.set(l.groupId,{attrs:l,rect:{...r}});}}return t}function ei(e){let t=new Map;for(let i of e){let r=i.inlineSdtWidget,n=xt(i);if(!r||!n)continue;let l=`${r.groupId}:${r.pos}:${r.controlKind??r.kind}`,o=t.get(l);o?(o.rect=Lt(o.rect,n),o.primitives.push(i)):t.set(l,{attrs:r,rect:{...n},primitives:[i]});}return t}function ti(e,t){return (e.attrs.depth??0)-(t.attrs.depth??0)||e.rect.y-t.rect.y||e.rect.x-t.rect.x}function ni(e,t,i,r){let{attrs:n,rect:l,kind:o}=e,a=t.createElement("div");a.className="layout-block-sdt-box layout-canvas-sdt-box",ci(a,n),vt(a,l),a.style.pointerEvents="none";let s=n.alias||n.tag;if(s){let c=t.createElement("span");c.className="layout-block-sdt-label",c.textContent=s,a.appendChild(c);}if(o){let c=t.createElement("button");c.type="button",c.className="layout-sdt-widget",c.dataset.sdtWidget=o,c.dataset.sdtGroupId=n.groupId,n.tag&&(c.dataset.sdtTag=n.tag),n.alias&&(c.dataset.sdtAlias=n.alias),(s||i?.control)&&c.setAttribute("aria-label",s||i?.control||""),o==="dropdown"&&c.setAttribute("aria-haspopup","listbox"),o==="date"&&c.setAttribute("aria-haspopup","dialog"),o==="checkbox"&&(c.setAttribute("role","checkbox"),c.setAttribute("aria-checked",String(n.checked??false))),c.textContent=o==="dropdown"?"\u25BE":o==="date"?"\u25A3":n.checked?"\u2612":"\u2610",c.style.pointerEvents="auto",e.widget?.occluded&&fe(c),a.appendChild(c);}if(e.repeats.length){let c=t.createElement("div");c.className="layout-sdt-repeat-controls",c.style.pointerEvents=r?"none":"auto";let p=[ht(t,n,"add","\uFF0B",i?.addRepeatingItem,s),ht(t,n,"remove","\u2715",i?.removeRepeatingItem,s)];for(let[g,m]of p.entries()){let y=e.repeats[g];r&&(m.style.pointerEvents="auto"),y.occluded&&fe(m),c.appendChild(m);}a.appendChild(c);}return a}function ht(e,t,i,r,n,l){let o=e.createElement("button");return o.type="button",o.className="layout-sdt-repeat-btn",o.dataset.sdtRepeat=i,o.dataset.sdtGroupId=t.groupId,t.tag&&(o.dataset.sdtTag=t.tag),(n||l)&&o.setAttribute("aria-label",n||l||""),o.textContent=r,o}function ii(e,t,i){let{attrs:r,rect:n}=e,l=r.controlKind??r.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=ri(l),o.dataset.sdtGroupId=r.groupId,o.dataset.sdtPos=String(r.pos),r.tag&&(o.dataset.sdtTag=r.tag),r.alias&&(o.dataset.sdtAlias=r.alias),r.controlId!==void 0&&(o.dataset.sdtControlId=String(r.controlId)),r.value!==void 0&&(o.dataset.sdtValue=r.value),r.selectedIndex!==void 0&&(o.dataset.sdtSelectedIndex=String(r.selectedIndex)),r.dateFormat&&(o.dataset.sdtDateFormat=r.dateFormat),r.dateLanguage&&(o.dataset.sdtDateLanguage=r.dateLanguage),r.listItems?.length&&(o.dataset.sdtListItems=JSON.stringify(r.listItems)),(r.alias||r.tag||i?.control)&&o.setAttribute("aria-label",r.alias||r.tag||i?.control||""),l==="checkbox"?(o.setAttribute("role","checkbox"),o.setAttribute("aria-checked",String(r.checked??false))):l==="dropDownList"||l==="comboBox"?(o.setAttribute("aria-haspopup","listbox"),o.setAttribute("aria-expanded","false")):l==="date"&&o.setAttribute("aria-haspopup","dialog"),o.disabled=r.locked===true,o.textContent=l==="checkbox"?r.checked?"\u2612":"\u2610":l==="date"?"\u25A3":l==="picture"?"\u25A7":"\u25BE",vt(o,n),o.style.pointerEvents="auto",o}function ri(e){return e==="dropDownList"||e==="comboBox"?"dropdown":e}function oi(e){return e==="checkbox"?"checkbox":e==="dropDownList"||e==="comboBox"?"dropdown":e==="date"?"date":null}function ai(e){let t=!e.bound&&!li(e.lock);return {kind:t?oi(e.sdtType):null,repeat:!!e.repeatingItem&&t}}function si(e){for(let t of Ie(e)){for(let i of t.boundaries)if(i.widget&&!i.widget.occluded||i.repeats.some(r=>!r.occluded))return true;for(let i of t.widgets)if(!i.occluded&&i.attrs.locked!==true)return true}return false}function li(e){return e==="contentLocked"||e==="sdtContentLocked"||e==="sdtLocked"}function ci(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 xt(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 Lt(e,t){let i=Math.min(e.x,t.x),r=Math.min(e.y,t.y),n=Math.max(e.x+e.w,t.x+t.w),l=Math.max(e.y+e.h,t.y+t.h);return {x:i,y:r,w:n-i,h:l-r}}function vt(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 v={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 Ye(e){return [...e.primitives,...e.header?.primitives??[],...e.footer?.primitives??[],...(e.noteAreas??[]).flatMap(t=>[...t.separatorPrimitives??[],...t.primitives??[]])]}function di(e){return e.kind==="image"?!!e.href:(e.kind==="text"||e.kind==="glyphRun")&&(!!e.href||e.noteRef?.id!==void 0)}function Mt(e,t){let i=`${e.kind??"footnote"}-${t}`;return (e.notes??[]).some(r=>r.id===t)&&(e.primitives??[]).some(r=>r.groupId===i)}function ui(e){return Ye(e).some(t=>t.cell?.isHeader===true)}function fi(e){return Ye(e).some(di)||(e.noteAreas??[]).some(t=>(t.noteIds??[]).some(i=>Mt(t,i)))}var Pt=["aria-labelledby","aria-describedby"],pi=Pt.map(e=>`[${e}]`).join(", "),_e=`.${v.tableCell}`,mi=`${_e}[role="columnheader"]`;function Et(e){let t=new Map;for(let o of e.querySelectorAll("[id]"))t.set(o.id,o);let i=o=>{let a=o;for(let s=o.closest(_e);s&&e.contains(s);s=s.parentElement?.closest(_e)??null)a=s;return a},r=new Set,n=new Set([e]),l=Array.from(e.querySelectorAll(`a[href], .${v.note}, ${mi}`));for(;l.length>0;){let o=i(l.pop());if(r.has(o))continue;r.add(o);let a=[o,...o.querySelectorAll(pi)];for(let s=o.parentElement;s&&!n.has(s);s=s.parentElement)n.add(s),a.push(s);for(let s of a)for(let c of Pt)for(let p of s.getAttribute(c)?.split(/\s+/)??[]){let g=t.get(p);g&&!r.has(g)&&l.push(g);}}return {kept:r,onPath:n}}function Tt(e){let{kept:t,onPath:i}=Et(e),r=n=>{for(let l of Array.from(n.childNodes))t.has(l)||(i.has(l)?r(l):l.remove());};return r(e),e}function yi(e,t={}){return Tt(Xe(e,t))}var gi=["layout-page-mirror",v.content,v.header,v.footer,v.block,v.table,v.tableRow,v.tableCell,v.notes,v.blockSdt];function hi(e,t){let i=e.ownerDocument,r=e.getAttribute("lang"),n=e.getAttribute("dir"),l=e.parentElement,o=(s,c)=>c!==null&&l?.closest(`[${s}]`)?.getAttribute(s)!==c;if(!o("lang",r)&&!o("dir",n))return i.createTextNode(t);let a=i.createElement("span");return r&&a.setAttribute("lang",r),n&&a.setAttribute("dir",n),a.textContent=t,a}function At(e){let{kept:t,onPath:i}=Et(e),r=n=>{if(t.has(n))return;if(!i.has(n)||n===e&&t.size===0)for(let o of Array.from(n.attributes))(o.name==="id"||o.name.startsWith("data-"))&&n.removeAttribute(o.name);if(!(n===e||!n.classList.contains("layout-run")&&gi.some(o=>n.classList.contains(o)))&&!i.has(n)){if(n.classList.contains(v.revisionPmarkGlyph)||n.getAttribute("aria-hidden")==="true"||n.hasAttribute("inert")||n.style?.visibility==="hidden"){n.remove();return}let o=n.getAttribute("role")==="img"||!!n.getAttribute("alt"),a=o||!!n.getAttribute("aria-label");if(n.children.length===0){n.textContent&&!o?n.replaceWith(hi(n,n.textContent)):a||n.remove();return}}for(let o of Array.from(n.children))r(o);for(let o of Array.from(n.childNodes))if(o.nodeType===3){for(;o.nextSibling?.nodeType===3;){let a=o.nextSibling;o.textContent=(o.textContent??"")+(a.textContent??""),a.remove();}o.textContent||o.remove();}};return r(e),e.style.contentVisibility="auto",e}function bi(e,t={}){return At(Xe(e,t))}function xi(e,t){let i=/^oox-(footnote|endnote)-(.+)$/.exec(t);if(i){let[,o,a]=i;return (e.noteAreas??[]).some(s=>(s.kind??"footnote")===o&&(s.noteIds??[]).some(c=>String(c)===a)&&(s.primitives??[]).some(c=>c.groupId===`${o}-${a}`))}let r=/^oox-noteref-(footnote|endnote)-(.+)$/.exec(t);if(!r)return false;let[,n,l]=r;return Ye(e).some(o=>(o.kind==="text"||o.kind==="glyphRun")&&!o.href&&o.noteRef?.id!==void 0&&String(o.noteRef.id)===l&&(o.noteRef.kind??"footnote")===n)}function Xe(e,t={}){let i=t.document??document,r=t.labels,n=new Set(Ie(e).flatMap(s=>s.widgets.filter(c=>c.occluded).flatMap(c=>c.primitives))),l={labels:r,noteRefIds:new Set,occludedWidgets:n},o=i.createElement("div");o.className=v.page,o.setAttribute("role","document"),r?.page&&o.setAttribute("aria-label",r.page),o.dataset.pageIndex=String(e.pageIndex),e.sectionId!==void 0&&(o.dataset.sectionId=e.sectionId),e.sectionIndex!==void 0&&(o.dataset.sectionIndex=String(e.sectionIndex)),e.sectionPageIndex!==void 0&&(o.dataset.sectionPageIndex=String(e.sectionPageIndex)),e.sectionPageNumber!==void 0&&(o.dataset.sectionPageNumber=String(e.sectionPageNumber)),e.pageLabel!==void 0&&(o.dataset.pageLabel=e.pageLabel),o.style.position="relative",o.style.width=`${e.width}px`,o.style.height=`${e.height}px`,o.style.opacity="0",o.style.pointerEvents="none";let a=i.createElement("div");a.className=v.content,a.style.position="absolute",a.style.left="0",a.style.top="0",a.style.width=`${e.width}px`,a.style.height=`${e.height}px`,o.appendChild(a);for(let s of (e.pageBorders??[]).filter(c=>c.zOrder==="back"))a.appendChild(It(s,i,0));pe(a,e.primitives,i,0,l);for(let s of e.noteAreas??[])a.appendChild(Ti(s,e,i,l));for(let s of [e.header,e.footer])s&&o.appendChild(Li(s,e,i,l));for(let s of (e.pageBorders??[]).filter(c=>c.zOrder!=="back"))o.appendChild(It(s,i,0));return o}function Li(e,t,i,r){let n=i.createElement("div");n.className=e.kind==="header"?v.header:v.footer,n.dataset.hfRid=e.rId;let l=e.kind==="header"?r.labels?.header:r.labels?.footer;return l&&(n.setAttribute("role","region"),n.setAttribute("aria-label",l)),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`,pe(n,e.primitives,i,-e.y,r),n}function pe(e,t,i,r,n){let l=new Map;for(let o of t){let a=o.kind==="line"?void 0:o.blockKey??o.blockId;if(a===void 0){e.appendChild(Me(o,i,r,n));continue}let s=o.table,c=s?.tableId!==void 0?`table:${s.tableId}#${s.rowStart??0}`:a,p=l.get(c);if(!p){let g=i.createElement("div");g.dataset.blockId=String(s?.tableId??a),g.style.position="absolute",g.style.left="0",g.style.top="0",e.appendChild(g),p={el:g,prims:[]},l.set(c,p);}p.prims.push(o);}for(let o of l.values())vi(o,i,r,n);Ii(l);}function vi(e,t,i,r){let{el:n,prims:l}=e;if(!l.some(m=>m.cell!==void 0||m.structuralRevision?.scope==="table"||m.structuralRevision?.scope==="row"||m.structuralRevision?.scope==="cell")){Rt(n,l,t,i,r);return}n.className=v.table,n.setAttribute("role","table");let a=l.find(m=>m.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 s=ke(l,"table");s&&we(n,s),We(n,l.find(m=>m.sdt!==void 0)?.sdt);for(let m of l)m.cell===void 0&&n.appendChild(Me(m,t,i,r));let c=new Map,p=0,g=0;for(let m of l){if(m.cell===void 0)continue;let{row:y,col:h}=m.cell;p=Math.max(p,y+(m.cell.rowSpan??1)),g=Math.max(g,h+(m.cell.colSpan??1));let L=c.get(y);L||(L=new Map,c.set(y,L));let R=L.get(h);R||(R={ref:m.cell,prims:[]},L.set(h,R)),R.prims.push(m);}n.setAttribute("aria-rowcount",String(a?.rowCount??p)),n.setAttribute("aria-colcount",String(a?.columnCount??g));for(let m of [...c.keys()].sort((y,h)=>y-h)){let y=t.createElement("div");y.className=v.tableRow,y.setAttribute("role","row"),y.setAttribute("aria-rowindex",String(m+1));let h=ke(l,"row",m);h&&we(y,h),y.style.position="absolute",y.style.left="0",y.style.top="0",n.appendChild(y);let L=c.get(m);for(let R of [...L.keys()].sort((k,D)=>k-D)){let k=L.get(R),D=t.createElement("div");D.className=v.tableCell,D.setAttribute("role",k.ref.isHeader?"columnheader":"cell"),D.setAttribute("aria-colindex",String(R+1)),k.ref.cellId&&(D.id=k.ref.cellId),k.ref.headerIds?.length&&D.setAttribute("aria-labelledby",k.ref.headerIds.join(" ")),k.ref.repeatedHeader&&(D.dataset.repeatedHeader="true"),k.ref.noWrap&&(D.dataset.noWrap="true");let w=k.ref.rowSpan??1,A=k.ref.colSpan??1;w>1&&D.setAttribute("aria-rowspan",String(w)),A>1&&D.setAttribute("aria-colspan",String(A));let P=ke(k.prims,"cell",m,R);P&&we(D,P),k.ref.continuation&&(D.dataset.vmergeContinuation="true"),D.style.position="absolute",D.style.left="0",D.style.top="0";let C=new Map,F=[];for(let H of k.prims){let G=H.blockKey??H.blockId;if(G===void 0){F.push(H);continue}let N=C.get(G);N?N.push(H):C.set(G,[H]);}for(let H of $e(F))D.appendChild(Me(H,t,i,r));for(let[H,G]of C){let N=t.createElement("div");N.dataset.blockId=String(H),N.style.position="absolute",N.style.left="0",N.style.top="0",Rt(N,G,t,i,r),D.appendChild(N);}Di(D,k.prims),Bt(D,k.prims),e.cells.push({el:D,bounds:Ct(k.prims)}),y.appendChild(D);}}Qe(n,l);}function Rt(e,t,i,r,n){let l=t.find(c=>c.chart!==void 0)?.chart;e.className=l?`${v.block} ${v.chart}`:v.block,e.setAttribute("role",l?"img":"paragraph"),l?.label&&e.setAttribute("aria-label",l.label);for(let c of $e(t))e.appendChild(Me(c,i,r,n));let o=ke(t,"pmark");o&&we(e,o),Ri(e,t,i,r),We(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 s=t.find(c=>c.fromLine!==void 0);s?.fromLine!==void 0&&(e.dataset.fromLine=String(s.fromLine),s.toLine!==void 0&&(e.dataset.toLine=String(s.toLine))),Bt(e,t),ki(e,t);}function Ri(e,t,i,r){Qe(e,t);let n=Number(e.dataset.docStart),l=Number(e.dataset.docEnd),o=t.map(g=>g.fragmentDocStart).filter(g=>Number.isFinite(g)),a=t.map(g=>g.fragmentDocEnd).filter(g=>Number.isFinite(g)),s=o.length>0?Math.min(...o):void 0,c=a.length>0?Math.max(...a):void 0,p=s??(Number.isFinite(n)&&n===l&&n>0?n-1:void 0);if(p!==void 0&&(e.dataset.docStart=String(p)),c!==void 0&&(e.dataset.docEnd=String(c)),p!==void 0&&!t.some(g=>g.docStart===p)){let g=$e(t).find(y=>Fe(y)!==void 0),m=g?Fe(g):void 0;if(m){let y=i.createElement("span");y.className="layout-mirror-structural-anchor",y.dataset.docStart=String(p),y.dataset.docEnd=String(p),ee(y,m,r),e.insertBefore(y,e.firstChild);}}}function Di(e,t){let i=e.querySelectorAll(".layout-paragraph[data-doc-start]"),r=1/0,n=-1/0;for(let l of i){let o=Number(l.dataset.docStart),a=Number(l.dataset.docEnd);Number.isFinite(o)&&(r=Math.min(r,o)),Number.isFinite(a)&&(n=Math.max(n,a));}r!==1/0&&(e.dataset.docStart=String(r)),n!==-1/0&&(e.dataset.docEnd=String(n)),r===1/0&&n===-1/0&&Qe(e,t);}function Ii(e){let t=new Map;for(let i of e.values())i.table?.tableId&&t.set(i.table.tableId,i);for(let i of e.values()){let r=i.table?.parentTableId;if(!r)continue;let n=t.get(r),l=Ct(i.prims);if(!n?.cells?.length||!l)continue;let o=l.x+l.w/2,a=l.y+l.h/2,s=n.cells.filter(c=>c.bounds&&Si(o,a,c.bounds));s.sort((c,p)=>Dt(c.bounds)-Dt(p.bounds)),s[0]?.el.appendChild(i.el);}}function Si(e,t,i){return e>=i.x&&e<=i.x+i.w&&t>=i.y&&t<=i.y+i.h}function Dt(e){return e.w*e.h}function Ct(e){let t;for(let i of e){let r=i.clipGroup?.clip,n=r?.x!==void 0&&r.y!==void 0&&r.w!==void 0&&r.h!==void 0?{x:r.x,y:r.y,w:r.w,h:r.h}:Fe(i);if(!n)continue;if(!t){t={...n};continue}let l=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=l-t.x,t.h=o-t.y;}return t}function Fe(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 $e(e){let t=e.filter(r=>r.logicalOrder!==void 0).sort((r,n)=>(r.logicalOrder??0)-(n.logicalOrder??0)||(r.docStart??0)-(n.docStart??0));if(t.length<2)return e;let i=0;return e.map(r=>r.logicalOrder===void 0?r:t[i++])}function Bt(e,t){let i=t.find(l=>l.lang)?.lang;i&&(e.lang=i);let r=t.find(l=>l.bidiLevel!==void 0||"rtl"in l);if(!r)return;let n=r.bidiLevel!==void 0?r.bidiLevel%2===1:"rtl"in r?r.rtl:false;e.dir=n?"rtl":"ltr";}function ki(e,t){let i=t.find(r=>r.ariaLabel||r.ariaDescription||r.decorative||r.hiddenObject||r.groupId);i&&Gt(e,i);}function Qe(e,t){let i,r;for(let n of t)n.docStart!==void 0&&(i=i===void 0?n.docStart:Math.min(i,n.docStart)),n.docEnd!==void 0&&(r=r===void 0?n.docEnd:Math.max(r,n.docEnd));i!==void 0&&(e.dataset.docStart=String(i)),r!==void 0&&(e.dataset.docEnd=String(r));}function ke(e,t,i,r){return e.find(n=>{let l=n.structuralRevision;return !(!l||l.scope!==t||i!==void 0&&l.rowIndex!==i||r!==void 0&&l.colIndex!==r)})?.structuralRevision}function Me(e,t,i,r){let n=wi(e,t,i,r);return r.occludedWidgets.has(e)&&fe(n),n}function wi(e$1,t,i,r){switch(e$1.kind){case "text":{let n=St(t,e$1,r);return n.className=v.text,n.textContent=e$1.text,ee(n,c(e$1),i),n.style.font=e$1.font,kt(n,e$1),wt(n,e$1),Ne(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(v.revisionPmarkGlyph),e$1.structuralRevision.kind==="ins"&&n.classList.add(v.revisionPmarkIns),e$1.structuralRevision.kind==="del"&&n.classList.add(v.revisionPmarkDel),n.setAttribute("aria-hidden","true")),e$1.listMarker&&(n.classList.add(v.listMarker),n.setAttribute("aria-hidden","true"),e$1.listMarkerRevision&&(n.style.color=e$1.listMarkerRevision==="ins"?"rgb(46, 125, 50)":"rgb(198, 40, 40)")),ae(n,e$1),n}case "glyphRun":{let n=St(t,e$1,r);return n.className=v.text,n.textContent=e$1.text,ee(n,d(e$1),i),n.style.fontSize=`${e$1.size}px`,Mi(n,e$1.fallbackFont),kt(n,e$1),wt(n,e$1),Ne(n,e$1.hidden&&e$1.opacity===void 0?.4:e$1.opacity,e$1.rotationDeg,e$1.horizontalScale),ae(n,e$1),n}case "rect":{let n=t.createElement("div");return n.className=v.rect,ee(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},i),ae(n,e$1),n}case "line":{let n=t.createElement("div");return n.className=e$1.role==="table-cut"?v.tableCut:v.line,e$1.role&&e$1.role!=="table-cut"&&(n.dataset.role=e$1.role),ee(n,e(e$1),i),n.setAttribute("aria-hidden","true"),n}case "image":{let n=e$1.href?t.createElement("a"):t.createElement("div");return n.className=v.image,e$1.decorative?n.setAttribute("aria-hidden","true"):(n.setAttribute("role","img"),e$1.altText&&n.setAttribute("aria-label",e$1.altText)),Ht(n,e$1),n.dataset.relId=e$1.relId,ee(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},i),Ne(n,e$1.opacity,e$1.rotationDeg),e$1.filter&&(n.style.filter=e$1.filter),ae(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=v.shape,e$1.decorative?n.setAttribute("aria-hidden","true"):n.setAttribute("role","img"),ee(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},i),Pi(n,e$1.transform),ae(n,e$1),n}case "decoration":{let n=t.createElement("span");return n.className=v.decoration,n.dataset.deco=e$1.deco,ee(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},i),ae(n,e$1),n}}}function It(e,t,i){let r=t.createElement("div");return r.className=v.pageBorder,ee(r,{x:e.x,y:e.y,w:e.w,h:e.h},i),r.style.boxSizing="border-box",r.style.pointerEvents="none",r.style.zIndex=e.zOrder==="back"?"0":"20",Se(r,"Top",e.top),Se(r,"Right",e.right),Se(r,"Bottom",e.bottom),Se(r,"Left",e.left),r}function ee(e,t,i=0){e.style.position="absolute",e.style.left=`${t.x}px`,e.style.top=`${t.y+i}px`,e.style.width=`${t.w}px`,e.style.height=`${t.h}px`;}function St(e,t,i){let r=t.noteRef?.id!==void 0?t.noteRef:void 0,n=t.href||r?e.createElement("a"):e.createElement("span");if(Ht(n,t),r&&!t.href){let l=r.kind??"footnote",o=`oox-${l}-${r.id}`;n.setAttribute("href",`#${o}`),n.setAttribute("role","doc-noteref");let a=`oox-noteref-${l}-${r.id}`;i.noteRefIds.has(a)||(i.noteRefIds.add(a),n.id=a);}return n}function Ht(e,t){let{href:i}=t;if(!i)return;e.setAttribute("href",i),e.dataset.href=i;let r=t.linkTitle??t.tooltip;r&&(e.title=r),t.linkTarget?e.setAttribute("target",t.linkTarget):i.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 Mi(e,t){if(t)for(let i of t.split(" ")){if(i.endsWith("px"))break;i==="italic"?e.style.fontStyle="italic":/^[1-9]00$/.test(i)&&i!=="400"&&(e.style.fontWeight=i);}}function kt(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 Se(e,t,i){if(!i)return;let r=e.style;r[`border${t}Width`]=`${i.width}px`,r[`border${t}Style`]=i.style,r[`border${t}Color`]=i.color;}function Ne(e,t,i,r){t!==void 0&&(e.style.opacity=String(t));let n=[];i&&n.push(`rotate(${i}deg)`),r!==void 0&&r!==100&&n.push(`scaleX(${r/100})`),n.length>0&&(e.style.transform=n.join(" "),e.style.transformOrigin=r!==void 0&&r!==100?"left center":"center center");}function Pi(e,t){if(!t)return;let i=[];t.rotation&&i.push(`rotate(${t.rotation}deg)`),t.flipH&&i.push("scaleX(-1)"),t.flipV&&i.push("scaleY(-1)"),i.length!==0&&(e.style.transform=i.join(" "),e.style.transformOrigin="center center");}function wt(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 i=t.emphasisMark==="comma"?"filled sesame":t.emphasisMark==="circle"?"filled circle":"filled dot",r=t.emphasisMark==="underDot"?"under right":"over right";e.style.textEmphasis=i,e.style.textEmphasisPosition=r,e.style.webkitTextEmphasis=i,e.style.webkitTextEmphasisPosition=r;}t.textEffect&&(e.classList.add("docx-text-effect",`docx-text-effect-${t.textEffect}`),e.dataset.effect=t.textEffect);}function ae(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 i=t.field.type??t.field.category;i&&(e.dataset.fieldType=i),t.field.category&&(e.dataset.fieldCategory=t.field.category),t.field.instruction&&(e.dataset.fieldInstruction=t.field.instruction);let r=t.field.instruction?.trim()||i;r&&e.setAttribute("aria-description",r);}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 i=[t.comment.status,t.comment.authorName??t.comment.authorId,t.comment.date,t.comment.text,...(t.comment.replies??[]).map(r=>[r.authorName,r.text].filter(Boolean).join(": "))].filter(Boolean).join(", ");i&&e.setAttribute("aria-description",i);}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 i=[t.revision.author,t.revision.date].filter(Boolean).join(", ");i&&e.setAttribute("aria-description",i);}t.href&&(e.dataset.href=t.href),Ei(e,t.inlineSdtWidget),We(e,t.sdt),t.sdtPath?.length&&(e.dataset.sdtPath=t.sdtPath.map(i=>i.groupId).join(" ")),t.logicalOrder!==void 0&&(e.dataset.logicalOrder=String(t.logicalOrder)),t.bidiLevel!==void 0&&(e.dataset.bidiLevel=String(t.bidiLevel)),Gt(e,t);}function Gt(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(v.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 Ei(e,t){if(!t)return;e.classList.add(v.inlineSdtWidget);let i=t.controlKind??t.kind;e.dataset.sdtWidget=i,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)),i==="checkbox"?e.setAttribute("role","checkbox"):i==="dropDownList"||i==="comboBox"?(e.setAttribute("role","combobox"),e.setAttribute("aria-haspopup","listbox"),e.setAttribute("aria-expanded","false")):i==="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 we(e,t){switch(t.scope){case "pmark":e.classList.add(v.revisionPmark),t.kind==="ins"&&e.classList.add(v.revisionPmarkIns),t.kind==="del"&&e.classList.add(v.revisionPmarkDel);break;case "table":e.classList.add(v.revisionTable,Oe(t.kind));break;case "row":e.classList.add(v.revisionRow,Oe(t.kind));break;case "cell":e.classList.add(v.revisionCell,Oe(t.kind));break}e.dataset.revisionId=t.revisionId,e.dataset.revisionAuthor=t.author,t.date&&(e.dataset.revisionDate=t.date);let i=[t.author,t.date].filter(Boolean).join(", ");i&&e.setAttribute("aria-description",i);}function Oe(e){return e==="ins"?v.revisionIns:e==="del"?v.revisionDel:v.revisionMerge}function Ti(e,t,i,r){let n=i.createElement("section");n.className=v.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 l=new Map;for(let a of e.notes??[])a.id!==void 0&&l.set(a.id,a);pe(n,e.separatorPrimitives??[],i,-(e.y??0),r);let o=[...e.primitives??[]];for(let a of e.noteIds??[]){let c=`${e.kind??"footnote"}-${a}`,p=o.filter(y=>y.groupId===c);if(p.length===0)continue;for(let y of p){let h=o.indexOf(y);h>=0&&o.splice(h,1);}let g=i.createElement("aside");g.className=v.note,g.id=`oox-${c}`,g.dataset.noteId=String(a),g.setAttribute("role",e.kind==="endnote"?"doc-endnote":"doc-footnote");let m=l.get(a);if(m&&(m.label!==void 0&&(g.dataset.noteLabel=m.label),m.anchorDocStart!==void 0&&(g.dataset.anchorDocStart=String(m.anchorDocStart)),m.anchorDocEnd!==void 0&&(g.dataset.anchorDocEnd=String(m.anchorDocEnd))),pe(g,p,i,-(e.y??0),r),m&&Mt(e,a)){let y=i.createElement("a");y.className=v.noteBacklink,y.setAttribute("role","doc-backlink"),y.setAttribute("href",`#oox-noteref-${c}`);let h=r.labels?.noteBacklink??m.label??String(a);y.setAttribute("aria-label",h),g.appendChild(y);}n.appendChild(g);}return o.length>0&&pe(n,o,i,-(e.y??0),r),n}function Nt(e,t,i){if(t==="body")return e.primitives.filter(n=>n.kind==="image");let r=t==="header"?e.header:e.footer;return !r||i!==void 0&&r.rId!==i?[]:r.primitives.filter(n=>n.kind==="image")}function Ve(e,t,i="body",r){for(let n of e.pages)for(let l of Nt(n,i,r))if(l.docStart===t)return {primitive:l,pageIndex:n.pageIndex,...i!=="body"?{region:i,rId:r}:{}};return null}function Ke(e,t,i,r,n="body",l){let o=e.pages[t];if(!o)return null;let a=Nt(o,n,l);for(let s=a.length-1;s>=0;s--){let c=a[s];if(!(i<c.x||i>c.x+c.w)&&!(r<c.y||r>c.y+c.h)&&g(c,i,r))return {primitive:c,pageIndex:o.pageIndex,...n!=="body"?{region:n,rId:l}:{}}}return null}function Ai(e,t){let i=e.imageByPos(t);if(!i)return;let r=e.contentBounds(i.pageIndex),n=e.paragraphRects(t).find(l=>l.pageIndex===i.pageIndex);if(!(!r||!n))return {horizontalEmu:Math.round(c$1(i.primitive.x-r.x)),verticalEmu:Math.round(c$1(i.primitive.y-n.y))}}var me=(()=>{let e=globalThis.FinalizationRegistry;return e?new e(t=>t()):null})();function Ci(e){return ()=>{let t=e.handle;if(e.handle=null,!(t===null||!e.eng||he.has(e.eng)))try{e.eng.closeDisplayList?.(t);}catch{}}}var Ot=globalThis.WeakRef;function Bi(e){return Ot?new Ot(e):Hi(e)}function Hi(e){return {deref:()=>e}}var Pe=new WeakMap,je=new WeakMap;function Gi(e){let t=je.get(e);t&&(t.newest=null);}var he=new WeakSet,Je=new Set;function Ni(e){return e!=null&&he.has(e)}function Oi(e){return Je.add(e),()=>{Je.delete(e);}}function ye(e){return e instanceof Error?typeof WebAssembly<"u"&&e instanceof WebAssembly.RuntimeError?true:e.name==="RuntimeError":false}var ge=-1;function Ue(e){return {pageIndex:e.pageIndex,width:e.width,height:e.height,primitives:[]}}function Yt(e){if(e.kind!=="text"&&e.kind!=="glyphRun"||e.docStart===void 0||e.docEnd===void 0||e.kind==="glyphRun"&&e.glyphs.length===0)return null;let t=e.kind==="text"?e.baselineY:e.glyphs.reduce((i,r)=>Math.max(i,r.y),-1/0);return Number.isFinite(t)?t:null}var ze=new WeakMap;function _i(e){if(ze.has(e))return ze.get(e)??null;let t=1/0,i=-1/0;for(let n of e.primitives){if(Yt(n)===null)continue;let l=f(n);t=Math.min(t,l.y),i=Math.max(i,l.y+l.h);}let r=t<=i?{top:t,bottom:i}:null;return ze.set(e,r),r}function Fi(e,t){let i=e.storeRevisions();if(!i)return null;let r=new Map;e.list.pages.forEach((s,c)=>r.set(s,c));let n=[],l=[],o=[],a=[];return t.pages.forEach((s,c)=>{let p=r.get(s);p!==void 0&&r.delete(s);let g=p===void 0?void 0:i[p];if(p===void 0||g===void 0){l.push([c,Ue(s)]),a.push(ge);return}if(g===ge){n.push([c,p]),a.push(ge);return}let m=y(s)===g?[]:A(s,g);if(m===null||m.some(y=>y.spanDelta!==void 0))l.push([c,Ue(s)]),a.push(ge);else if(m.length===0)n.push([c,p]),a.push(g);else {let y$1=m.map(h=>h.runs.map(L=>[L.start,L.count,L.changedMask,L.delta]));if(m.some(h=>h.anchors.length>0)){let h=m.map(L=>L.anchors.map(R=>[R.area,R.note,R.start,R.end]));o.push([c,p,y$1,h]);}else o.push([c,p,y$1]);a.push(y(s));}}),n.length===0&&o.length===0?null:{json:JSON.stringify({total:t.pages.length,...t.contractVersion!==void 0?{contractVersion:t.contractVersion}:{},reuse:n,replace:l,...o.length>0?{shift:o}:{}}),revisions:a}}var _t=new WeakMap;function Yi(e){let t=y(e),i=_t.get(e);if(i&&i.revision===t)return i;let r=1/0,n=-1/0,l=a=>{typeof a=="number"&&(a<r&&(r=a),a>n&&(n=a));};for(let a of e.primitives)l(a.docStart),l(a.docEnd),l(a.fragmentDocStart),l(a.fragmentDocEnd),l(a.inlineSdtWidget?.pos);let o={revision:t,min:r,max:n};return _t.set(e,o),o}function Ft(e,t,i,r=0){let n=Math.min(t,i)-1,l=Math.max(t,i)+1,o=new Set;return e.pages.forEach((a,s)=>{let c=Yi(a);if(!(c.min>l||c.max<n))for(let p=-r;p<=r;p+=1){let g=s+p;g>=0&&g<e.pages.length&&o.add(g);}}),[...o]}function Xi(e,t,i,r){let n=null,l=()=>(n??(n=JSON.stringify(e)),n),o=null,a=$i(t)?t:null,s={handle:null,eng:a?null:t??null},c=null,p,g,m=new Promise((d,u)=>{p=d,g=u;});m.catch(()=>{});let y$1=false,h=false,L=false,R={},k=null,D=i?Pe.get(i):void 0;D&&(k=D.hasHandle()?i:D.donor(),D.supersede()),D&&D.line!==(r??null)&&(D.lineage.newest=null);let w={newest:null};r&&(w=je.get(r)??w,je.set(r,w));let A=()=>a??s.eng,P=()=>{let d=A();return d!==null&&he.has(d)},C$1=(d,u)=>{let f=u instanceof Error?u:new Error(String(u));c=f,s.handle=null,me?.unregister(R);let b=A();if(!(!b||he.has(b))){he.add(b),console.error(`[CanvasRenderer] ${d} trapped in wasm; the session is unusable and must be rebuilt`,f);for(let x of Je)try{x(f);}catch(S){console.error("[CanvasRenderer] display-list source failure listener threw",S);}}},F=Ci(s),H=()=>{let d=k;if(k=null,!d||!s.eng?.updateDisplayList||!s.eng.hasDisplayListUpdate?.())return false;let u=Pe.get(d);if(!u||u.engine()!==s.eng)return false;let f=Fi(u,e);if(!f)return false;let b=u.takeHandle();if(b===null)return false;try{return s.eng.updateDisplayList(b,f.json),s.handle=b,o=f.revisions,!0}catch(x){try{s.eng.closeDisplayList?.(b);}catch{}return console.warn("[CanvasRenderer] display-list delta update failed; reopening",x),false}},G=()=>{if(!(L||h||y$1||s.handle!==null||!s.eng||P())&&!(!s.eng.hasDisplayListSession?.()||!s.eng.openDisplayList)&&(y$1=true,!H()))try{s.eng.updateDisplayList&&s.eng.hasDisplayListUpdate?.()?(s.handle=s.eng.openDisplayList(JSON.stringify({...e.contractVersion!==void 0?{contractVersion:e.contractVersion}:{},pages:e.pages.map(Ue)})),o=e.pages.map(()=>ge)):(s.handle=s.eng.openDisplayList(l()),o=e.pages.map(y));}catch(d){if(s.handle=null,ye(d)){C$1("display-list session open",d);return}console.warn("[CanvasRenderer] display-list session open failed; using JSON-arg queries",d);}},N=d=>{if(s.handle===null||!o||!s.eng?.updateDisplayList)return;let u=o,f=[];for(let b of d){let x=e.pages[b];x&&u[b]!==y(x)&&f.push([b,x]);}if(f.length!==0)try{s.eng.updateDisplayList(s.handle,JSON.stringify({total:e.pages.length,...e.contractVersion!==void 0?{contractVersion:e.contractVersion}:{},keep:!0,replace:f}));for(let[b,x]of f)u[b]=y(x);}catch(b){if(ye(b)){C$1("display-list page load",b),o=null;return}F(),me?.unregister(R),o=null,console.warn("[CanvasRenderer] display-list page load failed; using JSON-arg queries",b);}},Te=()=>e.pages.map((d,u)=>u);a||s.eng?p():C().then(d=>{s.eng=d,p();},d=>{c=d instanceof Error?d:new Error(String(d)),g(c),console.warn("[CanvasRenderer] display-list query engine failed to load",c);});let re=(d,u,f,b)=>{if(!s.eng||P()||(s.handle===null&&G(),s.handle!==null&&d&&N(b()),P()))return null;if(s.handle!==null&&d)try{return d(s.handle)}catch(x){if(ye(x))return C$1(f,x),null;console.warn(`[CanvasRenderer] ${f} session query failed; falling back`,x),F();}try{return u()}catch(x){return ye(x)?(C$1(f,x),null):(c=x instanceof Error?x:new Error(String(x)),console.warn(`[CanvasRenderer] ${f} query failed`,x),null)}},$=(d,u,f)=>{if(d===null)return u;try{return JSON.parse(d)}catch(b){return c=b instanceof Error?b:new Error(String(b)),console.warn(`[CanvasRenderer] ${f} returned invalid JSON`,b),u}},E=()=>{if(a||!h||s.handle!==null||!r)return;let d=w.newest?.deref();return d&&!Pe.get(d)?.disposed()?d:null},O=(d,u)=>(...f)=>{let b=E();return b?u(b,...f):d(...f)},T=(d,u)=>{if(P())return null;try{return d()}catch(f){return ye(f)?(C$1(`resident ${u}`,f),null):(c=f instanceof Error?f:new Error(String(f)),console.warn(`[CanvasRenderer] resident ${u} query failed`,f),null)}},j=(d,u,f)=>{let b=E();if(b!==void 0)return b?.hitTestRegions(d,u,f)??null;if(a)return $(T(()=>a.displayHitTestRegionsJson(d,u,f),"hit_test_regions"),null,"hit_test_regions");let x=re(s.eng?.hitTestRegionsByHandle&&(S=>s.eng.hitTestRegionsByHandle(S,d,u,f)),()=>s.eng.hitTestRegionsJson(l(),d,u,f),"hit_test_regions",()=>[d]);return $(x,null,"hit_test_regions")},_=(d,u)=>{let f=E();if(f!==void 0)return f?.rangeRects(d,u)??[];if(a)return $(T(()=>a.displayRangeRectsJson(d,u),"range_rects"),[],"range_rects");let b=re(s.eng?.rangeRectsByHandle&&(x=>s.eng.rangeRectsByHandle(x,d,u)),()=>s.eng.rangeRectsJson(l(),d,u),"range_rects",()=>Ft(e,d,u));return $(b,[],"range_rects")},J=(d,u,f)=>{let b=E();if(b!==void 0)return b?.verticalMove(d,u,f)??null;let x=f??Number.NaN;if(a)return $(T(()=>a.displayVerticalMoveJson(d,u,x),"vertical_move"),null,"vertical_move");if(!s.eng?.verticalMoveJson)return null;let S=re(s.eng.verticalMoveByHandle&&(I=>s.eng.verticalMoveByHandle(I,d,u,x)),()=>s.eng.verticalMoveJson(l(),d,u,x),"vertical_move",()=>Ft(e,d,d,1));return $(S,null,"vertical_move")},Q=(d,u,f,b)=>{let x=E();if(x!==void 0)return x?d==="header"||d==="footer"?x.hfRangeRects(d,u,f,b):d==="footnote"||d==="endnote"?x.noteRangeRects(d,Number(u),f,b):[]:[];if(a)return $(T(()=>a.displayRangeRectsRegionJson(d,u,f,b),"range_rects_region"),[],"range_rects_region");if(!s.eng||!s.eng.hasRangeRectsRegion?.())return [];let S=re(s.eng.rangeRectsRegionByHandle&&(I=>s.eng.rangeRectsRegionByHandle(I,d,u,f,b)),()=>s.eng.rangeRectsRegionJson(l(),d,u,f,b),"range_rects_region",Te);return $(S,[],"range_rects_region")},W=(d,u,f,b)=>Q(d,u,f,b),te=(d,u,f,b)=>Q(d,String(u),f,b),U=(d,u)=>{let f=(x,S)=>{let I=new Map;for(let M of x)S&&I.has(M.pageIndex)||I.set(M.pageIndex,{pageIndex:M.pageIndex,x:S?M.x:M.x+M.width,y:M.y,width:0,height:M.height});return [...I.values()]},b=d(u,u+1);if(b.length>0)return f(b,true);if(u>0){let x=d(u-1,u);if(x.length>0)return f(x,false)}return []},Le=(d,u,f)=>U((b,x)=>W(d,u,b,x),f),Jt=(d,u,f)=>U((b,x)=>te(d,u,b,x),f),Ut=d=>{let u=e.pages.filter(M=>{let q=M.unbuilt?M.positionSpan:void 0;return q!==void 0&&d>=q[0]&&d<=q[1]});if(u.length===0)return null;let f=Math.max(...u.map(M=>M.positionSpan[0])),b=Math.min(...u.map(M=>M.positionSpan[1])),x=b>f?(d-f)/(b-f+1):1,S=Math.min(u.length-1,Math.floor(x*u.length)),I=u[S];return {pageIndex:I.pageIndex,x:I.contentBounds?.x??0,y:I.contentBounds?.y??0,width:0,height:0}},it=d=>{let u=E();if(u!==void 0)return u?.caretRect(d)??null;let f=_(d,d+1);if(f.length>0){let x=f[0];return {pageIndex:x.pageIndex,x:x.x,y:x.y,width:0,height:x.height}}let b=Ut(d);if(b)return b;if(d>0){let x=_(d-1,d);if(x.length>0){let S=x[x.length-1];return {pageIndex:S.pageIndex,x:S.x+S.width,y:S.y,width:0,height:S.height}}}return null},rt=d=>{let u=E();if(u!==void 0)return u?.anchorRect(d)??null;let f=_(d,d+2);return f.length>0?f[0]:it(d)},qt=(d,u,f)=>{let b=W(d,u,f,f+2);if(b.length===0)return Le(d,u,f);let x=new Map;for(let S of b)x.has(S.pageIndex)||x.set(S.pageIndex,S);return [...x.values()]},ot=(d,u)=>({pageIndex:d,x:u.x,y:u.y,width:u.w,height:u.h}),Zt=d=>{let u=e.pages[d];return u?{pageIndex:u.pageIndex,x:0,y:0,width:u.width,height:u.height}:null},en=d=>{let u=e.pages[d],f=u?.contentBounds;return u&&f?{pageIndex:u.pageIndex,x:f.x,y:f.y,width:f.width,height:f.height}:null},tn=d=>{let u=e.pages[d];return u?(u.columnBounds??[]).map(f=>({pageIndex:u.pageIndex,x:f.x,y:f.y,width:f.width,height:f.height})):[]},Ae=d=>d.paraId?`para:${d.paraId}`:d.blockKey!==void 0?`block-key:${d.blockKey}`:d.blockId!==void 0?`block-id:${d.blockId}`:null,at=d=>d.blockKey??d.blockId,ve=null,nn=()=>{if(ve)return ve;let d=new Map;for(let u of e.pages)for(let f$1 of u.primitives){let b=Ae(f$1);if(!b||f$1.docStart===void 0||f$1.docEnd===void 0)continue;let x=f(f$1),S=d.get(b);S||(S=new Map,d.set(b,S));let I=S.get(u.pageIndex);if(!I){S.set(u.pageIndex,{...ot(u.pageIndex,x),from:f$1.docStart,to:f$1.docEnd,blockId:at(f$1),paraId:f$1.paraId});continue}let M=Math.min(I.x,x.x),q=Math.min(I.y,x.y),Z=Math.max(I.x+I.width,x.x+x.w),se=Math.max(I.y+I.height,x.y+x.h);I.x=M,I.y=q,I.width=Z-M,I.height=se-q,I.from=Math.min(I.from,f$1.docStart),I.to=Math.max(I.to,f$1.docEnd);}return ve=new Map([...d].map(([u,f])=>[u,[...f.values()]])),ve},rn=d=>{let u=null;for(let f of e.pages)for(let b of f.primitives){let x=Ae(b),S=b.docStart,I=b.docEnd;if(!x||S===void 0||I===void 0||d<S||d>I)continue;let M={identity:x,span:Math.max(0,I-S),startsAtPos:S===d};(!u||M.startsAtPos&&!u.startsAtPos||M.startsAtPos===u.startsAtPos&&M.span<u.span)&&(u=M);}return u?nn().get(u.identity)??[]:[]},on=1.5,st=[],lt=d=>{let u=st[d];if(u)return u;let f$1=e.pages[d];if(!f$1)return [];let b=[],x=new Map,S=0;for(let I of f$1.primitives){let M=Yt(I);if(M===null||I.docStart===void 0||I.docEnd===void 0)continue;let q=Ae(I)??`anonymous:${S++}`,Z=f(I),se=x.get(q),B=se?.find(le=>Math.abs(le.baseline-M)<=on);if(!B){let le={...ot(f$1.pageIndex,Z),baseline:M,from:I.docStart,to:I.docEnd,blockId:at(I),paraId:I.paraId};b.push(le),se?se.push(le):x.set(q,[le]);continue}let ft=Math.min(B.x,Z.x),pt=Math.min(B.y,Z.y),dn=Math.max(B.x+B.width,Z.x+Z.w),un=Math.max(B.y+B.height,Z.y+Z.h);B.x=ft,B.y=pt,B.width=dn-ft,B.height=un-pt,B.from=Math.min(B.from,I.docStart),B.to=Math.max(B.to,I.docEnd);}return st[d]=b,b},ct=null,dt=()=>(ct??(ct=e.pages.flatMap((d,u)=>lt(u))),ct),an=d=>{let u=null;for(let f of dt())d<f.from||d>f.to||(!u||f.to-f.from<u.to-u.from)&&(u=f);return u},ut=d=>{if(!d)return null;let u=d.primitive.docStart;if(u===void 0)return null;let{primitive:f}=d;return {...d,pos:u,rect:{pageIndex:d.pageIndex,x:f.x,y:f.y,width:f.w,height:f.h}}},sn=(d,u,f,b="body",x)=>ut(Ke(e,d,u,f,b,x)),ln=(d,u="body",f)=>ut(Ve(e,d,u,f)),cn=()=>{L||(L=true,F(),me?.unregister(R));},Re={get displayList(){return E()?.displayList??e},isReady:()=>(a!==null||s.eng!==null)&&c===null,sourceState:()=>c?{status:"error",error:c}:a||s.eng?{status:"ready"}:{status:"loading"},whenReady:()=>m,pageCount:()=>{let d=E();return d?d.pageCount():e.pages.length},pageSize:d=>{let u=E();if(u)return u.pageSize(d);let f=e.pages[d];return f?{width:f.width,height:f.height}:null},pageBounds:d=>{let u=E();return u?u.pageBounds(d):Zt(d)},contentBounds:O(en,(d,u)=>d.contentBounds(u)),columnBounds:O(tn,(d,u)=>d.columnBounds(u)),paragraphRects:O(rn,(d,u)=>d.paragraphRects(u)),visualLines:O(dt,d=>d.visualLines()),visualLinesOnPage:d=>{let u=E();return u?u.visualLinesOnPage(d):lt(d)},visualLineExtent:O(d=>{let u=e.pages[d];return u?_i(u):null},(d,u)=>d.visualLineExtent(u)),visualLineAtPosition:O(an,(d,u)=>d.visualLineAtPosition(u)),imageAtPoint:O(sn,(d,...u)=>d.imageAtPoint(...u)),imageByPos:O(ln,(d,...u)=>d.imageByPos(...u)),hitTestRegions:j,verticalMove:J,rangeRects:_,hfRangeRects:W,noteRangeRects:te,hfCaretRects:Le,noteCaretRects:Jt,hfAnchorRects:qt,caretRect:it,anchorRect:rt,sidebarAnchorRect:rt,prime:G,dispose:cn};return me?.register(Re,F,R),Pe.set(Re,{list:e,storeRevisions:()=>o,engine:()=>s.eng,hasHandle:()=>s.handle!==null,donor:()=>k,supersede:()=>{h=true;},lineage:w,line:r??null,disposed:()=>L,takeHandle:()=>{let d=s.handle;return d!==null&&(s.handle=null,me?.unregister(R)),d}}),w.newest=Bi(Re),Re}function $i(e){return typeof e?.displayHitTestRegionsJson=="function"&&typeof e?.displayVerticalMoveJson=="function"&&typeof e?.displayRangeRectsJson=="function"&&typeof e?.displayRangeRectsRegionJson=="function"}var Qi=16,Wi=24;function be(e){let t=[],i=24;for(let r=0;r<e.pageCount();r++)t.push(i),i+=(e.pageSize(r)?.height??0)+16;return t}var Vi=/^media:(0|[1-9]\d*)$/;function Xt(){let e=typeof OffscreenCanvas<"u"?new OffscreenCanvas(1,1):typeof document<"u"?Object.assign(document.createElement("canvas"),{width:1,height:1}):null,t=e?.getContext("2d");return !e||!t?null:(t.fillStyle="#e6e6e6",t.fillRect(0,0,1,1),e)}function Ki(e={}){let t=new Map,{media:i,mediaScope:r}=e,n=r?.();return l=>{let o=i&&Vi.test(l);if(!o&&!l.startsWith("blob:")&&!l.startsWith("data:"))return null;r&&r()!==n&&(n=r(),t.clear());let a=t.get(l);return a||(a=new Promise(s=>{let c=l;if(o){let m=i(l);if(!m){s(Xt());return}c=URL.createObjectURL(new Blob([m.bytes],{type:m.mimeType}));}let p=new Image,g=m=>{o&&URL.revokeObjectURL(c),s(m);};p.onload=()=>g(p),p.onerror=()=>g(o?Xt():null),p.src=c;}),t.set(l,a)),a}}function zi(e,t){let i=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,...i?.authorName!==void 0?{commentAuthor:i.authorName}:{},...i?.replyCount!==void 0?{commentReplyCount:i.replyCount}:{}}}function ji(e,t){if(!e)return [];let i=[];return !e.hasSelection&&t.hasSelection&&i.push({key:"selected"}),e.hasSelection&&!t.hasSelection&&i.push({key:"selectionCleared"}),!e.hasComment&&t.hasComment&&i.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&&i.push({key:"trackedInsertion"}),!e.inDeletion&&t.inDeletion&&i.push({key:"trackedDeletion"}),(!e.inList&&t.inList||t.inList&&e.listLevel!==t.listLevel)&&i.push({key:"listItem",vars:{level:t.listLevel+1}}),i}function qe(e,t){let{doc:i,schema:r}=e.state,n=r.marks.comment,l=r.marks.insertion,o=r.marks.deletion;!n&&!l&&!o||i.descendants((a,s)=>{let c=a.attrs;if(c){let p=[c.trIns,c.trDel,c.pPrIns,c.pPrDel];for(let h of p){let L=h?.revisionId;typeof L=="number"&&t(`revision-${L}`,s);}let m=c.cellMarker?.info?.revisionId;typeof m=="number"&&t(`revision-${m}`,s);let y=[c.pPrChange,c.trPrChange,c.tcPrChange,c.tblPrChange];for(let h of y)if(Array.isArray(h))for(let L of h){let R=L?.info?.id;typeof R=="number"&&t(`revision-${R}`,s);}}if(a.isInline)for(let p of a.marks){let g=null;n&&p.type===n?g=`comment-${p.attrs.commentId}`:(l&&p.type===l||o&&p.type===o)&&(g=`revision-${p.attrs.revisionId}`),g&&t(g,s);}});}function Ji(e,t,i){let r=new Map;if(!e?.state)return r;let n=be(t),l=new Set;return qe(e,(o,a)=>{if(l.has(o))return;l.add(o);let s=t.anchorRect(a);if(!s)return;let c=i?i(s):(n[s.pageIndex]??0)+s.y;c!=null&&r.set(o,c);}),r}function Ui(e,t,i){if(!e.hfRid)return t.anchorRect(e.position);let r=i?.get(e.hfRid);return r?t.hfAnchorRects(r,e.hfRid,e.position)[0]??null:null}function qi(e,t,i,r,n,l,o){let a$1=new Map,s=be(n),c=(p,g)=>{if(!g||a$1.has(p))return a$1.has(p);let m=Ui(g,n,l);if(!m)return false;let y=o?o(m):(s[m.pageIndex]??0)+m.y;return y==null?false:(a$1.set(p,y),true)};for(let p of t){let g=`comment-${p}`;try{for(let m of e.resolveComment(String(p)))if(c(g,r.storyOffsetToDisplayPoint(m.story,m.start)))break}catch{}}for(let p of i)c(`revision-${a(p.revisionId)}`,r.locToDisplayPoint({story:p.story,...p.range.start}));return a$1}function Zi(e,t,i,r){let n=be(t);for(let{region:l,rId:o,view:a}of e)qe(a,(s,c)=>{if(i.has(s))return;let p=t.hfAnchorRects(l,o,c)[0];if(!p)return;let g=r?r(p):(n[p.pageIndex]??0)+p.y;g!=null&&i.set(s,g);});return i}var er=new Set(["tableInserted","tableDeleted","rowInserted","rowDeleted"]);function tr(e,t){let i=e.map(o=>{let a$1=t.locToDisplayPoint({story:o.range.story,...o.range.start}),s=t.locToDisplayPoint({story:o.range.story,...o.range.end}),c=a$1?.position??0,p=Math.max(c,s?.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:p,revisionId:a(o.revisionId),...a$1?.hfRid?{hfRid:a$1.hfRid}:{}}}),r=new Map;for(let o of i){let a=r.get(o.revisionId)??[];a.push(o),r.set(o.revisionId,a);}let n=[...r.values()].map(o=>{let a=Math.min(...o.map(y=>y.from)),s=Math.max(...o.map(y=>y.to)),c=o.filter(y=>y.type==="insertion"),p=o.filter(y=>y.type==="deletion");if(c.length>0&&p.length>0)return {...c[0],type:"replacement",text:c.map(h=>h.text).join(""),deletedText:p.map(h=>h.text).join(""),from:a,to:s};let g=o.find(y=>y.type==="insertion"||y.type==="deletion")??o.find(y=>er.has(y.type))??o[0],m=o.filter(y=>y.type===g.type).map(y=>y.text).join("");return {...g,text:m,from:a,to:s}}),l=[];for(let o=0;o<n.length;o+=1){let a=n[o],s=n[o+1];a.type==="deletion"&&s?.type==="insertion"&&a.author===s.author&&a.date===s.date&&a.to===s.from&&a.hfRid===s.hfRid?(l.push({type:"replacement",text:s.text,deletedText:a.text,author:a.author,date:a.date,from:a.from,to:s.to,revisionId:a.revisionId,insertionRevisionId:s.revisionId,...a.hfRid?{hfRid:a.hfRid}:{}}),o+=1):l.push(a);}return {entries:l,commentToRevision:new Map}}function nr(e,t){let i=t.kind??"body";if(i==="body")return {kind:i,primitives:e.primitives};let r=i==="header"?e.header:e.footer;return !r||r.kind!==i||t.rId&&r.rId!==t.rId?null:{kind:i,rId:r.rId,primitives:r.primitives}}function ir(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 rr(e){let t=ir(e),i=e.clipGroup?.clip;if(!i)return t;let r=i.x??0,n=i.y??0,l=r+Math.max(0,i.w??0),o=n+Math.max(0,i.h??0),a=Math.max(t.x,r),s=Math.max(t.y,n),c=Math.min(t.x+t.w,l),p=Math.min(t.y+t.h,o);return c<a||p<s?null:{x:a,y:s,w:c-a,h:p-s}}function or(e){return e.kind==="text"||e.kind==="glyphRun"?e.text:e.kind==="image"?e.altText??"":""}function ar(e,t,i){return t>=e.x&&t<=e.x+e.w&&i>=e.y&&i<=e.y+e.h}function sr(e,t,i,r,n={kind:"body"}){let l=e.pages[t];if(!l)return null;let o=nr(l,n);if(!o)return null;for(let a=o.primitives.length-1;a>=0;a--){let s=o.primitives[a];if(s.kind==="line"||!s.href||s.hiddenObject)continue;let c=rr(s);if(c&&ar(c,i,r))return {pageIndex:t,region:o.kind,rId:o.rId,href:s.href,tooltip:s.linkTitle??s.tooltip,displayText:or(s)||s.href,rect:c}}return null}var V=7.5,ie=16,$t=320,lr=30,cr=200,dr=24,ur=10,fr=10,pr=24;function Qt(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 i=et(e);return i?mr(t,i)??{x:i.x,y:i.y,w:0,h:0}:t}function et(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 mr(e,t){let i=Math.max(e.x,t.x),r=Math.max(e.y,t.y),n=Math.min(e.x+e.w,t.x+t.w),l=Math.min(e.y+e.h,t.y+t.h);return n<i||l<r?null:{x:i,y:r,w:n-i,h:l-r}}function Wt(e,t,i){if(e.docStart!=null){let r=t(e.docStart);if(r!=null){let n={tableKey:r,docStartSample:e.docStart};return e.table?.tableId&&!i.has(e.table.tableId)&&i.set(e.table.tableId,n),n}}return e.table?.tableId?i.get(e.table.tableId)??null:null}function Vt(e,t,i){let r=e.table?.tableId;if(!r)return null;let n=t.get(r);return n?i.get(n.tableKey)??null:null}function Kt(e,t,i,r){let n=new Map;for(let o of t){if(o.kind==="line")continue;let a=o.cell;if(!a)continue;let s=Wt(o,i,r);if(!s)continue;let{tableKey:c,docStartSample:p}=s,g=Qt(o),m=et(o),y=m??g,h=n.get(c);if(h||(h={tableKey:c,docStartSample:p,contentMinX:y.x,contentMinY:y.y,contentMaxX:y.x+y.w,contentMaxY:y.y+y.h,exactLeftX:[],exactBottomY:[],exactClipLeftX:[],exactClipBottomY:[],rows:new Map},n.set(c,h)),p<h.docStartSample&&(h.docStartSample=p),h.contentMinX=Math.min(h.contentMinX,y.x),h.contentMinY=Math.min(h.contentMinY,y.y),h.contentMaxX=Math.max(h.contentMaxX,y.x+y.w),h.contentMaxY=Math.max(h.contentMaxY,y.y+y.h),m&&(h.exactClipLeftX.push(m.x),h.exactClipBottomY.push(m.y+m.h)),!a.continuation){let L=h.rows.get(a.row);L?(L.top=Math.min(L.top,y.y),L.bottom=Math.max(L.bottom,y.y+y.h)):h.rows.set(a.row,{top:y.y,bottom:y.y+y.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=Vt(o,r,n);if(!a){let p=(o.x1+o.x2)/2,g=(o.y1+o.y2)/2,m=1/0;for(let y of n.values()){let h=p>=y.contentMinX-ie&&p<=y.contentMaxX+ie,L=g>=y.contentMinY-ie&&g<=y.contentMaxY+ie;if(!h||!L)continue;let R=Math.max(0,y.contentMinX-p,p-y.contentMaxX),k=Math.max(0,y.contentMinY-g,g-y.contentMaxY),D=R+k;D<m&&(m=D,a=y);}}if(!a)continue;let s=Math.abs(o.x1-o.x2)<.5,c=Math.abs(o.y1-o.y2)<.5;s&&a.exactLeftX.push(Math.min(o.x1,o.x2)),c&&a.exactBottomY.push(Math.max(o.y1,o.y2));}let l=[];for(let o of n.values()){if(o.rows.size===0)continue;let a=o.exactLeftX.length>0||o.exactClipLeftX.length>0,s=a?Math.min(...o.exactLeftX,...o.exactClipLeftX):o.contentMinX-V,c=o.exactBottomY.length>0||o.exactClipBottomY.length>0?Math.max(...o.exactBottomY,...o.exactClipBottomY):o.contentMaxY,p=[...o.rows.entries()].map(([g,m])=>({rowIndex:g,top:m.top,bottom:m.bottom})).sort((g,m)=>g.rowIndex-m.rowIndex);l.push({pageIndex:e,tableKey:o.tableKey,docStartSample:o.docStartSample,originX:s,originY:o.contentMinY,bottomY:c,originExact:a,rowBands:p});}return l}function yr(e,t){let i=[],r=Ee(e,t,{kind:"body"});for(let n of e.pages)i.push(...Kt(n.pageIndex,n.primitives,t,r));return i}function gr(e,t,i,r){let n=e.pages.slice(i,r+1),l=new Set,o=false;for(let s of n)for(let c of s.primitives)c.kind!=="line"&&c.cell&&(o=true),c.table?.tableId&&l.add(c.table.tableId);if(!o)return [];let a=Ee(e,t,{kind:"body"},l);return n.flatMap(s=>Kt(s.pageIndex,s.primitives,t,a))}function tt(e,t){let i=t.kind??"body";if(i==="body")return {kind:i,primitives:e.primitives};let r=i==="header"?e.header:e.footer;return !r||r.kind!==i||t.rId&&r.rId!==t.rId?null:{kind:i,rId:r.rId,primitives:r.primitives}}function Ee(e,t,i,r){let n=new Map;for(let l of e.pages){let o=tt(l,i);if(o)for(let a of o.primitives){if(!a.cell||!a.table?.tableId||a.docStart==null||r&&!r.has(a.table.tableId))continue;let s=t(a.docStart);if(s==null)continue;let c=n.get(a.table.tableId);(!c||a.docStart<c.docStartSample)&&n.set(a.table.tableId,{tableKey:s,docStartSample:a.docStart});}}return n}function nt(e,t){return `${e}:${t}`}function hr(e,t,i,r){let n=nt(t.row,t.col),l=e.cells.get(n);l?(l.minX=Math.min(l.minX,i.x),l.minY=Math.min(l.minY,i.y),l.maxX=Math.max(l.maxX,i.x+i.w),l.maxY=Math.max(l.maxY,i.y+i.h),l.rowSpan=Math.max(l.rowSpan,t.rowSpan),l.colSpan=Math.max(l.colSpan,t.colSpan),r&&(l.exactClip=r)):e.cells.set(n,{row:t.row,col:t.col,rowSpan:t.rowSpan,colSpan:t.colSpan,minX:i.x,minY:i.y,maxX:i.x+i.w,maxY:i.y+i.h,exactClip:r??void 0});}function zt(e,t,i){let r=new Map;for(let n of e){if(n.kind==="line")continue;let l=n.cell;if(!l)continue;let o=Wt(n,t,i);if(!o)continue;let a=o.tableKey,s=Qt(n),c=r.get(a);c||(c={tableKey:a,contentMinX:s.x,contentMinY:s.y,contentMaxX:s.x+s.w,contentMaxY:s.y+s.h,cells:new Map,verticalLines:[],horizontalLines:[]},r.set(a,c)),c.contentMinX=Math.min(c.contentMinX,s.x),c.contentMinY=Math.min(c.contentMinY,s.y),c.contentMaxX=Math.max(c.contentMaxX,s.x+s.w),c.contentMaxY=Math.max(c.contentMaxY,s.y+s.h),hr(c,l,s,et(n));}if(r.size===0)return [];for(let n of e){if(n.kind!=="line"||n.role!=="table-border"&&n.role!=="table-cut")continue;let l=Math.abs(n.x1-n.x2)<.5,o=Math.abs(n.y1-n.y2)<.5;if(!l&&!o)continue;let a=Math.min(n.x1,n.x2),s=Math.max(n.x1,n.x2),c=Math.min(n.y1,n.y2),p=Math.max(n.y1,n.y2),g=Vt(n,i,r);if(g){l?g.verticalLines.push(a):g.horizontalLines.push(c);continue}for(let m of r.values())if(l){if(!(p>=m.contentMinY-ie&&c<=m.contentMaxY+ie))continue;let h=a;Math.max(0,m.contentMinX-h,h-m.contentMaxX)<=$t&&m.verticalLines.push(h);}else if(o){if(!(s>=m.contentMinX-ie&&a<=m.contentMaxX+ie))continue;let h=c;Math.max(0,m.contentMinY-h,h-m.contentMaxY)<=$t&&m.horizontalLines.push(h);}}return [...r.values()]}function xe(e){let t=[];for(let i of [...e].sort((r,n)=>r-n))(t.length===0||Math.abs(t[t.length-1]-i)>.5)&&t.push(i);return t}function jt(e){let t=xe([...e.cells.values()].map(n=>n.row)),i=xe(e.horizontalLines),r=new Map;if(t.length>0&&i.length>=t.length+1)for(let n=0;n<t.length;n++)r.set(t[n],i[n]),r.set(t[n]+1,i[n+1]);return r}function Ze(e){if(!e)return null;if(e.exactClip)return e.exactClip;let t=e.minX-V,i=e.minY-V;return {x:t,y:i,w:Math.max(1,e.maxX-e.minX+V*2),h:Math.max(1,e.maxY-e.minY+V*2)}}function br(e,t){let i=1/0,r=-1/0;for(let n of e.cells.values())n.row===t&&(i=Math.min(i,n.exactClip?.y??n.minY-V),r=Math.max(r,n.exactClip?n.exactClip.y+n.exactClip.h:n.maxY+V));return !Number.isFinite(i)||!Number.isFinite(r)||r<=i?null:{top:i,bottom:r}}function xr(e,t,i){let r=Ze(e.cells.get(nt(t,i)));return r?{left:r.x,right:r.x+r.w,top:r.y,bottom:r.y+r.h}:null}function Lr(e,t,i,r={kind:"body"}){if(t.length===0)return [];let n=new Map;for(let a of t){let s=n.get(a.tableKey);s?s.push(a):n.set(a.tableKey,[a]);}let l=[],o=Ee(e,i,r);for(let a of e.pages){let s=tt(a,r);if(!s)continue;let c=zt(s.primitives,i,o);for(let p of c){let g=n.get(p.tableKey);if(!g)continue;let m=xe(p.verticalLines),y=jt(p);for(let h of g){let L=p.cells.get(nt(h.row,h.col)),R=m[h.col],k=m[h.col+h.colSpan],D=y.get(h.row),w=y.get(h.row+h.rowSpan),A=true;if(R==null||k==null||k<=R){let P=L?.exactClip??Ze(L);if(!P)continue;R=P.x,k=P.x+P.w,A=L?.exactClip!=null;}if(D==null||w==null||w<=D){let P=L?.exactClip??Ze(L);if(!P)continue;D=P.y,w=P.y+P.h,A&&(A=L?.exactClip!=null);}l.push({pageIndex:a.pageIndex,tableKey:p.tableKey,row:h.row,col:h.col,rowSpan:h.rowSpan,colSpan:h.colSpan,x:R,y:D,w:Math.max(1,k-R),h:Math.max(1,w-D),exact:A,region:s.kind,rId:s.rId});}}}return l}function vr(e){let{list:t,pageIndex:i,x:r,y:n,canvasRect:l,pageSize:o,tableKeyOf:a,cellPmPosOf:s,region:c={kind:"body"},edgeProximity:p=lr,buttonZoom:g=1}=e,m=t.pages[i];if(!m)return null;let y=tt(m,c);if(!y)return null;let h=o.width>0?l.width/o.width:1,L=o.height>0?l.height/o.height:1,R=(w,A)=>({clientX:l.left+w*h,clientY:l.top+A*L}),k=Ee(t,a,c),D=zt(y.primitives,a,k);for(let w of D){let A=xe(w.verticalLines),P=jt(w),C=xe([...w.cells.values()].map(E=>E.row));if(C.length===0)continue;let F=A[0]??w.contentMinX-V,H=A[A.length-1]??w.contentMaxX+V,G=P.get(C[0])??w.contentMinY-V,N=C[C.length-1],Te=P.get(N+1)??w.contentMaxY+V,re=r<F+p&&r>=F-p,$=n<G+p&&n>=G-p;if(!(!re&&!$)){if(re&&n>=G-p&&n<=Te)for(let E of C){let O=P.get(E),T=P.get(E+1),j=O==null||T==null?br(w,E):null,_=O??j?.top,J=T??j?.bottom;if(_==null||J==null||J<=_||n<_||n>J)continue;let Q=[...w.cells.values()].filter(U=>U.row===E).sort((U,Le)=>U.col-Le.col)[0];if(!Q)continue;let W=s(w.tableKey,E,Q.col);if(!W)continue;let te=R(F,_+(J-_)/2);return {type:"row",clientX:te.clientX-dr*g,clientY:te.clientY-ur*g,cellPmPos:W}}if($&&r>=F-p&&r<=H){let E=C[0],O=[...w.cells.values()].filter(T=>T.row===E).sort((T,j)=>T.col-j.col);for(let T of O){let j=A[T.col],_=A[T.col+T.colSpan],J=j==null||_==null?xr(w,T.row,T.col):null,Q=j??J?.left,W=_??J?.right;if(Q==null||W==null||W<=Q||r<Q||r>W)continue;let te=s(w.tableKey,T.row,T.col);if(!te)continue;let U=R(Q+(W-Q)/2,G);return {type:"column",clientX:U.clientX-fr*g,clientY:U.clientY-pr*g,cellPmPos:te}}}}}return null}var lo=yt;export{Wi as CANVAS_PAGES_PADDING_PX,Qi as CANVAS_PAGE_GAP_PX,cr as DISPLAY_LIST_TABLE_INSERT_HIDE_DELAY_MS,v as MIRROR_CLASS_NAMES,Wn as applyInteractiveSdtFocus,zn as buildInteractiveOverlayPage,Xe as buildMirrorPage,yi as buildMirrorPageLinks,bi as buildMirrorPageText,be as canvasPageTops,Ai as captureInlinePositionEmuFromDisplayList,ji as computeA11yAnnouncements,Ji as computeAnchorPositionsFromDisplayList,qi as computeAnchorPositionsFromYrs,Ki as createCanvasImageResolver,Xi as createDisplayListQueries,lo as demoDisplayList,Lr as deriveDisplayListSelectedCellRects,yr as deriveDisplayListTableFragments,gr as deriveDisplayListTableFragmentsOnPages,vr as detectDisplayListTableInsertHover,xi as displayPageHoldsMirrorId,Gi as endDisplayListQueriesLine,tr as extractTrackedChangesFromYrs,sr as findDisplayListHyperlinkAtPoint,Ke as findImagePrimitiveAtPoint,Ve as findImagePrimitiveByDocPos,si as interactiveOverlayHasTabStops,Ni as isDisplayListQuerySourceDead,Qn as loadGlyphOutlineProvider,Zi as mergeHfAnchorPositionsFromDisplayList,ui as mirrorPageHasHeaderCells,fi as mirrorPageHasTabStops,Oi as onDisplayListQuerySourceFailure,Tt as reduceMirrorToLinks,At as reduceMirrorToText,zi as snapshotFromSelectionContext,qe as visitAnchorKeys};
|
|
1
|
+
import {M}from'../../chunk-ICJH7QUY.mjs';export{L as CANVAS_PAGES_PADDING_PX,K as CANVAS_PAGE_GAP_PX,N as DISPLAY_LIST_TABLE_INSERT_HIDE_DELAY_MS,m as FRAME_DELTA_HEADER_BYTES,n as FRAME_DELTA_PAGE_OP_BYTES,l as FRAME_DELTA_VERSION,o as FrameDeltaError,a as GlyphCache,x as RustDisplayListSourceError,s as applyFrameDelta,t as applyFrameDeltaOwned,C as buildRustDisplayFrame,B as buildRustDisplayList,M as canvasPageTops,F as captureInlinePositionEmuFromDisplayList,J as createDisplayListQueries,q as decodeFrameDelta,r as decodeFrameDeltaSteps,Q as deriveDisplayListSelectedCellRects,O as deriveDisplayListTableFragments,P as deriveDisplayListTableFragmentsOnPages,R as detectDisplayListTableInsertHover,v as displayPageIsShiftOf,w as displayPageNoteAnchorRevision,u as displayPageRevision,i as drawDisplayPage,k as drawGlyphRunPrimitive,j as drawPrimitive,A as encodeDisplayListFrameExtras,G as endDisplayListQueriesLine,E as findImagePrimitiveAtPoint,D as findImagePrimitiveByDocPos,H as isDisplayListQuerySourceDead,z as loadRustDisplayListQueryEngine,y as loadedRustDisplayListQueryEngine,I as onDisplayListQuerySourceFailure,c as presentDisplayPageBackBuffer,d as presentOffscreenPageBackBuffer,h as rasterizeDisplayListPages,b as rasterizeDisplayPageToBackBuffer,g as sizeCanvasForPage}from'../../chunk-ICJH7QUY.mjs';import {a}from'../../chunk-ETDMQ5GE.mjs';export{c as createYrsSidebarProjection,d as extractTrackedChangesFromYrs,a as yrsIdToNumericId}from'../../chunk-ETDMQ5GE.mjs';import {f as f$1}from'../../chunk-IHETKRDA.mjs';export{b as DisplayPageRegistry,c as bindDisplayPageRegistry,e as displayPageCanvas,f as displayPageCanvases,a as effectiveZoom,d as materializeDisplayPages,h as resolveCanvasPoint,g as resolveDisplayPageClientRect}from'../../chunk-AOWJ4WDE.mjs';import {e,f,d,c,b}from'../../chunk-25WGDXBF.mjs';export{a as fontSizePxFromShorthand,c as glyphRunRect,d as lineRect,b as textRunRect}from'../../chunk-25WGDXBF.mjs';import'../../chunk-CTBUQRYQ.mjs';import'../../chunk-TTRUPDAB.mjs';var Se={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 qt(){return import('../../chunk-77ZWGQZN.mjs').then(async e=>(await e.preloadLayoutWasm(),e.outlineGlyphJson))}function en(e,t){for(let i of Array.from(e.querySelectorAll(".layout-canvas-sdt-box[data-sdt-group-id]")))i.classList.toggle("layout-sdt-focused",t.has(i.dataset.sdtGroupId??""));}var tn=".layout-sdt-widget, .layout-inline-sdt-widget, .layout-sdt-repeat-btn",oe=2,se=18,F=16,nn=2;function rn(e,t={}){let i=t.document??document,r=i.createElement("div");r.className="layout-interactive-overlay",r.dataset.pageIndex=String(e.pageIndex),r.style.position="absolute",r.style.inset="0",r.style.width=`${e.width}px`,r.style.height=`${e.height}px`,r.style.pointerEvents="none",r.addEventListener("mousedown",n=>{n.target?.closest?.(tn)&&(n.preventDefault(),n.stopPropagation());});for(let[n,s]of K(e).entries()){for(let o of s.boundaries){let l=fn(o,i,t.labels,s.lowerLayer);l.style.zIndex=String(n),r.appendChild(l);}for(let o of s.widgets){let l=mn(o,i,t.labels);l.style.zIndex=String(n),o.occluded&&$(l),r.appendChild(l);}}return r}function K(e){let t=ln(e),i=t[3];return t.map((r,n)=>{let s=n<3,o=a=>({rect:a,occluded:s&&Ie(i,a)}),l=[...dn(r).values()].sort(un).map(a=>{let{kind:u,repeat:m}=bn(a.attrs),{rect:c}=a,f=c.x+Math.max(1,c.w)-oe,h=c.y+Math.max(1,c.h)-oe;return {...a,kind:u,widget:u?o({x:f-se,y:c.y+oe,w:se,h:se}):void 0,repeats:m?[0,1].map(y=>o({x:f-F-(1-y)*(F+nn),y:h-F,w:F,h:F})):[]}}),d=[...cn(r).values()].map(a=>({...a,occluded:s&&Ie(i,a.rect)}));return {lowerLayer:s,boundaries:l,widgets:d}})}function Ie(e$1,t){let i=t.x+Math.max(1,t.w)/2,r=t.y+Math.max(1,t.h)/2;return e$1.some(n=>{if("opacity"in n&&n.opacity!==void 0&&n.opacity<=0||n.clipGroup?.clip&&(n.clipGroup.opacity??1)<=0)return false;switch(n.kind){case "text":case "glyphRun":if(!n.text.trim()||an(n)||(n.rotationDeg??0)%360!==0||n.horizontalScale!==void 0&&!(n.horizontalScale>=100)||n.kind==="glyphRun"&&!n.glyphs.length)return false;break;case "rect":if(!n.fill||n.fill==="transparent"||n.fill==="none")return false;break;case "shape":{let o=n.fillPaint,l=o?.color??n.fill;if(o?.kind==="none")return false;if(o?.kind==="gradient"||o?.kind==="pattern")break;if(o?.kind==="picture"&&(o.pictureSrc||o.pictureRelId)){if((o.pictureOpacity??1)<=0)return false;let d=o.pictureStretchRect;if([d?.left,d?.top,d?.right,d?.bottom].some(u=>(u??0)>0)||!Le(o.pictureSrcRect))return false;break}if(!l||l==="transparent"||l==="none")return false;break}case "image":break;case "decoration":{let{color:o,style:l,dashed:d,dotted:a}=n;if((l??"solid")!=="solid"||d||a||!o||o==="transparent"||o==="none")return false;break}default:return false}let s=n.kind==="shape"?sn(n):n.kind==="image"?on(n):e(n);return s!==null&&Number.isFinite(s.w)&&Number.isFinite(s.h)&&s.w>0&&s.h>0&&i>=s.x&&i<=s.x+s.w&&r>=s.y&&r<=s.y+s.h&&f(n,i,r)})}function on(e){let t=(i,r)=>i!==void 0&&Number.isFinite(i)?i:r;return e.shapeType!==void 0&&e.shapeType!=="rect"||t(e.rotationDeg,0)%180!==0||!Le(e.crop)?null:{x:t(e.contentFrame?.x,e.x),y:t(e.contentFrame?.y,e.y),w:t(e.contentFrame?.w,e.w),h:t(e.contentFrame?.h,e.h)}}function Le(e){if(!e)return true;let t=o=>Number.isFinite(o)?o:0,[i,r,n,s]=[e.left,e.top,e.right,e.bottom].map(t);return i>=0&&r>=0&&n>=0&&s>=0&&i+n<1&&r+s<1}function sn(e){let t=e.transform?.rotation??0;if(!Number.isFinite(t)||t%180!==0)return null;let i=e.geometryPath,r=i.at(-1)?.type==="close"?i.length-1:i.length,n=[];for(let y=0;y<r;y++){let v=i[y];if(v.type!=="move"&&v.type!=="line"||v.type==="move"!=(y===0))return null;n.push([v.x,v.y]);}let s=n[0],o=n.at(-1);if(n.length===5&&s&&o&&s[0]===o[0]&&s[1]===o[1]&&n.pop(),n.length!==4)return null;let l=[...new Set(n.map(([y])=>y))],d=[...new Set(n.map(([,y])=>y))];if(l.length!==2||d.length!==2||new Set(n.map(([y,v])=>`${y},${v}`)).size!==4||!n.every(([y,v],g)=>{let[x,T]=n[(g+1)%4];return y===x!=(v===T)}))return null;let u=Math.min(...l),m=Math.min(...d),c=Math.abs(l[0]-l[1]),f=Math.abs(d[0]-d[1]),h=Math.abs(t%360)===180;return !!e.transform?.flipH!==h&&(u=2*e.x+e.w-u-c),!!e.transform?.flipV!==h&&(m=2*e.y+e.h-m-f),{x:u,y:m,w:c,h:f}}function an(e){return e.modernEffects?.textFill?.kind==="none"}function $(e){e.style.visibility="hidden",e.style.pointerEvents="none",e.tabIndex=-1,e.setAttribute("inert",""),e.setAttribute("aria-hidden","true"),e.setAttribute("aria-disabled","true"),e.tagName==="BUTTON"&&(e.disabled=true);}function ln(e){let t=Math.min(e.watermarkPrimitiveCount??0,e.primitives.length);return [e.primitives.slice(0,t),e.header?.primitives??[],e.footer?.primitives??[],e.primitives.slice(t),...(e.noteAreas??[]).map(i=>[...i.separatorPrimitives??[],...i.primitives??[]])]}function dn(e){let t=new Map;for(let i of e){let r=De(i);if(!r)continue;let n=i.sdtPath?.length?i.sdtPath:i.sdt?[i.sdt]:[];for(let s of n){let o=t.get(s.groupId);o?o.rect=Pe(o.rect,r):t.set(s.groupId,{attrs:s,rect:{...r}});}}return t}function cn(e){let t=new Map;for(let i of e){let r=i.inlineSdtWidget,n=De(i);if(!r||!n)continue;let s=`${r.groupId}:${r.pos}:${r.controlKind??r.kind}`,o=t.get(s);o?(o.rect=Pe(o.rect,n),o.primitives.push(i)):t.set(s,{attrs:r,rect:{...n},primitives:[i]});}return t}function un(e,t){return (e.attrs.depth??0)-(t.attrs.depth??0)||e.rect.y-t.rect.y||e.rect.x-t.rect.x}function fn(e,t,i,r){let{attrs:n,rect:s,kind:o}=e,l=t.createElement("div");l.className="layout-block-sdt-box layout-canvas-sdt-box",xn(l,n),Ee(l,s),l.style.pointerEvents="none";let d=n.alias||n.tag;if(d){let a=t.createElement("span");a.className="layout-block-sdt-label",a.textContent=d,l.appendChild(a);}if(o){let a=t.createElement("button");a.type="button",a.className="layout-sdt-widget",a.dataset.sdtWidget=o,a.dataset.sdtGroupId=n.groupId,n.tag&&(a.dataset.sdtTag=n.tag),n.alias&&(a.dataset.sdtAlias=n.alias),(d||i?.control)&&a.setAttribute("aria-label",d||i?.control||""),o==="dropdown"&&a.setAttribute("aria-haspopup","listbox"),o==="date"&&a.setAttribute("aria-haspopup","dialog"),o==="checkbox"&&(a.setAttribute("role","checkbox"),a.setAttribute("aria-checked",String(n.checked??false))),a.textContent=o==="dropdown"?"\u25BE":o==="date"?"\u25A3":n.checked?"\u2612":"\u2610",a.style.pointerEvents="auto",e.widget?.occluded&&$(a),l.appendChild(a);}if(e.repeats.length){let a=t.createElement("div");a.className="layout-sdt-repeat-controls",a.style.pointerEvents=r?"none":"auto";let u=[Re(t,n,"add","\uFF0B",i?.addRepeatingItem,d),Re(t,n,"remove","\u2715",i?.removeRepeatingItem,d)];for(let[m,c]of u.entries()){let f=e.repeats[m];r&&(c.style.pointerEvents="auto"),f.occluded&&$(c),a.appendChild(c);}l.appendChild(a);}return l}function Re(e,t,i,r,n,s){let o=e.createElement("button");return o.type="button",o.className="layout-sdt-repeat-btn",o.dataset.sdtRepeat=i,o.dataset.sdtGroupId=t.groupId,t.tag&&(o.dataset.sdtTag=t.tag),(n||s)&&o.setAttribute("aria-label",n||s||""),o.textContent=r,o}function mn(e,t,i){let{attrs:r,rect:n}=e,s=r.controlKind??r.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=pn(s),o.dataset.sdtGroupId=r.groupId,o.dataset.sdtPos=String(r.pos),r.tag&&(o.dataset.sdtTag=r.tag),r.alias&&(o.dataset.sdtAlias=r.alias),r.controlId!==void 0&&(o.dataset.sdtControlId=String(r.controlId)),r.value!==void 0&&(o.dataset.sdtValue=r.value),r.selectedIndex!==void 0&&(o.dataset.sdtSelectedIndex=String(r.selectedIndex)),r.dateFormat&&(o.dataset.sdtDateFormat=r.dateFormat),r.dateLanguage&&(o.dataset.sdtDateLanguage=r.dateLanguage),r.listItems?.length&&(o.dataset.sdtListItems=JSON.stringify(r.listItems)),(r.alias||r.tag||i?.control)&&o.setAttribute("aria-label",r.alias||r.tag||i?.control||""),s==="checkbox"?(o.setAttribute("role","checkbox"),o.setAttribute("aria-checked",String(r.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=r.locked===true,o.textContent=s==="checkbox"?r.checked?"\u2612":"\u2610":s==="date"?"\u25A3":s==="picture"?"\u25A7":"\u25BE",Ee(o,n),o.style.pointerEvents="auto",o}function pn(e){return e==="dropDownList"||e==="comboBox"?"dropdown":e}function yn(e){return e==="checkbox"?"checkbox":e==="dropDownList"||e==="comboBox"?"dropdown":e==="date"?"date":null}function bn(e){let t=!e.bound&&!gn(e.lock);return {kind:t?yn(e.sdtType):null,repeat:!!e.repeatingItem&&t}}function hn(e){for(let t of K(e)){for(let i of t.boundaries)if(i.widget&&!i.widget.occluded||i.repeats.some(r=>!r.occluded))return true;for(let i of t.widgets)if(!i.occluded&&i.attrs.locked!==true)return true}return false}function gn(e){return e==="contentLocked"||e==="sdtContentLocked"||e==="sdtLocked"}function xn(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 De(e){let t=e.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.kind){case "text":return b(e);case "glyphRun":return c(e);case "rect":return {x:e.x,y:e.y,w:e.w,h:e.h};case "line":return d(e);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 Pe(e,t){let i=Math.min(e.x,t.x),r=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:i,y:r,w:n-i,h:s-r}}function Ee(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 p={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 ue(e){return [...e.primitives,...e.header?.primitives??[],...e.footer?.primitives??[],...(e.noteAreas??[]).flatMap(t=>[...t.separatorPrimitives??[],...t.primitives??[]])]}function vn(e){return e.kind==="image"?!!e.href:(e.kind==="text"||e.kind==="glyphRun")&&(!!e.href||e.noteRef?.id!==void 0)}function He(e,t){let i=`${e.kind??"footnote"}-${t}`;return (e.notes??[]).some(r=>r.id===t)&&(e.primitives??[]).some(r=>r.groupId===i)}function kn(e){return ue(e).some(t=>t.cell?.isHeader===true)}function Sn(e){return ue(e).some(vn)||(e.noteAreas??[]).some(t=>(t.noteIds??[]).some(i=>He(t,i)))}var Ne=["aria-labelledby","aria-describedby"],In=Ne.map(e=>`[${e}]`).join(", "),de=`.${p.tableCell}`,Rn=`${de}[role="columnheader"]`;function Oe(e){let t=new Map;for(let o of e.querySelectorAll("[id]"))t.set(o.id,o);let i=o=>{let l=o;for(let d=o.closest(de);d&&e.contains(d);d=d.parentElement?.closest(de)??null)l=d;return l},r=new Set,n=new Set([e]),s=Array.from(e.querySelectorAll(`a[href], .${p.note}, ${Rn}`));for(;s.length>0;){let o=i(s.pop());if(r.has(o))continue;r.add(o);let l=[o,...o.querySelectorAll(In)];for(let d=o.parentElement;d&&!n.has(d);d=d.parentElement)n.add(d),l.push(d);for(let d of l)for(let a of Ne)for(let u of d.getAttribute(a)?.split(/\s+/)??[]){let m=t.get(u);m&&!r.has(m)&&s.push(m);}}return {kept:r,onPath:n}}function Ge(e){Z.delete(e);let{kept:t,onPath:i}=Oe(e),r=n=>{for(let s of Array.from(n.childNodes))t.has(s)||(i.has(s)?r(s):s.remove());};return r(e),e}function Ln(e,t={}){return Ge(fe(e,t,false))}var Dn=["layout-page-mirror",p.content,p.header,p.footer,p.block,p.table,p.tableRow,p.tableCell,p.notes,p.blockSdt];function Pn(e,t){let i=e.ownerDocument,r=e.getAttribute("lang"),n=e.getAttribute("dir"),s=e.parentElement,o=(d,a)=>a!==null&&s?.closest(`[${d}]`)?.getAttribute(d)!==a;if(!o("lang",r)&&!o("dir",n))return i.createTextNode(t);let l=i.createElement("span");return r&&l.setAttribute("lang",r),n&&l.setAttribute("dir",n),l.textContent=t,l}function Fe(e){Z.delete(e);let{kept:t,onPath:i}=Oe(e),r=n=>{if(t.has(n))return;if(!i.has(n)||n===e&&t.size===0)for(let o of Array.from(n.attributes))(o.name==="id"||o.name.startsWith("data-"))&&n.removeAttribute(o.name);if(!(n===e||!n.classList.contains("layout-run")&&Dn.some(o=>n.classList.contains(o)))&&!i.has(n)){if(n.classList.contains(p.revisionPmarkGlyph)||n.getAttribute("aria-hidden")==="true"||n.hasAttribute("inert")||n.style?.visibility==="hidden"){n.remove();return}let o=n.getAttribute("role")==="img"||!!n.getAttribute("alt"),l=o||!!n.getAttribute("aria-label");if(n.children.length===0){n.textContent&&!o?n.replaceWith(Pn(n,n.textContent)):l||n.remove();return}}for(let o of Array.from(n.children))r(o);for(let o of Array.from(n.childNodes))if(o.nodeType===3){for(;o.nextSibling?.nodeType===3;){let l=o.nextSibling;o.textContent=(o.textContent??"")+(l.textContent??""),l.remove();}o.textContent||o.remove();}};return r(e),e.style.contentVisibility="auto",e}function En(e,t={}){return Fe(fe(e,t,false))}function Mn(e,t){let i=/^oox-(footnote|endnote)-(.+)$/.exec(t);if(i){let[,o,l]=i;return (e.noteAreas??[]).some(d=>(d.kind??"footnote")===o&&(d.noteIds??[]).some(a=>String(a)===l)&&(d.primitives??[]).some(a=>a.groupId===`${o}-${l}`))}let r=/^oox-noteref-(footnote|endnote)-(.+)$/.exec(t);if(!r)return false;let[,n,s]=r;return ue(e).some(o=>(o.kind==="text"||o.kind==="glyphRun")&&!o.href&&o.noteRef?.id!==void 0&&String(o.noteRef.id)===s&&(o.noteRef.kind??"footnote")===n)}function An(e,t={}){return fe(e,t,true)}function wn(e,t,i={}){let r=Z.get(e);return !r||e.ownerDocument!==(i.document??document)?false:(We(e,t,i,r,true),true)}function fe(e,t,i){let r=(t.document??document).createElement("div");return We(r,e,t,null,i),r}var Z=new WeakMap,Tn=new Set(["docStart","docEnd","fragmentDocStart","fragmentDocEnd"]),$e=["data-doc-start","data-doc-end","data-sdt-pos"],Cn=$e.map(e=>`[${e}]`).join(", "),Bn=new Set(["contentFrame","crop","drawingScene","echo","effectExtent","effects","fillPaint","geometryPath","leaderGlyphs","modernEffects","strokePaint","textBodyProperties"]),Hn=0;function Nn(e,t){let i=e.inlineSdtWidget,r="";for(let s in e)e[s]===void 0&&(r+=` ${s}`);return JSON.stringify(e,function(s,o){if(!(this===e&&Bn.has(s)))return typeof o!="number"?o:this===e&&Tn.has(s)||this===i&&s==="pos"?(t.push(o),0):Number.isFinite(o)?o:String(o)})+r}function On(e,t){if(e.length!==t.length)return;let i=t.length>0?t[0]-e[0]:0;return i===0?e.every((r,n)=>r===t[n])?0:void 0:e.every((r,n)=>r>0&&t[n]>0&&t[n]-r===i)?i:void 0}function Gn(e,t){for(let i of [e,...e.querySelectorAll(Cn)])for(let r of $e){let n=i.getAttribute(r);n!==null&&i.setAttribute(r,String(Number(n)+t));}}function Me(e,t){let i=new Set(t),r=e.ownerDocument.activeElement,n=e.firstChild,s=()=>{for(;n&&!i.has(n);){let o=n;n=n.nextSibling,o.remove();}};for(let o of t){if(s(),n!==o&&o.parentNode===e&&r&&o.contains(r))for(;n&&n!==o;){let l=n;n=n.nextSibling,l.remove();}n===o?n=n.nextSibling:e.insertBefore(o,n);}s();}function W(e,t,i){i===void 0?delete e.dataset[t]:e.dataset[t]=String(i);}function We(e,t,i,r,n){let s=i.document??document,o=i.labels,l=new Set(K(t).flatMap(b=>b.widgets.filter(S=>S.occluded).flatMap(S=>S.primitives))),d={labels:o,noteRefIds:new Set,occludedWidgets:l},a=new Set,u=new Map,m=0,c=(b,S,q,V,et)=>{let ee=[],te=[],H="";if(n){for(let D of V){let M=D.kind==="text"||D.kind==="glyphRun"?ze(D):void 0;M!==void 0&&!a.has(M)&&(a.add(M),te.push(M));}try{let D=[JSON.stringify(q)??""];for(let M of V)D.push(Nn(M,ee)),l.has(M)&&D.push("occluded");D.push(te.join(" ")),H=D.join(`
|
|
2
|
+
`);}catch{H=`\0${++Hn}`;}}let N=`${b}:${S??(n?H:String(m++))}`,ne=u.get(N)??0;u.set(N,ne+1),ne>0&&(N+=`#${ne}`);let ie=r?.units.get(N),ge=ie?.sig===H?On(ie.positions,ee):void 0;return {key:N,sig:H,positions:ee,noteRefIds:te,build:et,reuse:ge===void 0?void 0:ie,shift:ge??0,table:false}},f=t.width,h=t.pageBorders??[],y=b=>c(`border-${b.zOrder}`,null,b,[],()=>Kn(b,s,0)),v=h.filter(b=>b.zOrder==="back").map(y),g=new Map,{body:x,bodyOrder:T,tables:U}=$n(t.primitives,s,d,c,g,r?.tables),j=(t.noteAreas??[]).map((b,S)=>c("notes",String(S),[{...b,primitives:void 0,separatorPrimitives:void 0},f,o?.noteBacklink],[...b.separatorPrimitives??[],...b.primitives??[]],()=>Jn(b,t,s,d))),B=[t.header,t.footer].flatMap(b=>b?[c(b.kind,null,[{...b,primitives:void 0},f,b.kind==="header"?o?.header:o?.footer],b.primitives,()=>Wn(b,t,s,d))]:[]),Y=h.filter(b=>b.zOrder!=="back").map(y);Fn(e,t,o);let k=r?.content??s.createElement("div");k.className=p.content,k.style.position="absolute",k.style.left="0",k.style.top="0",k.style.width=`${f}px`,k.style.height=`${t.height}px`;let R=new Map,I=b=>{let S;if(b.reuse){S=b.reuse.el;for(let V of b.noteRefIds)d.noteRefIds.add(V);let q=S.parentNode!==null&&S.parentNode!==k&&S.parentNode!==e;b.shift!==0&&!q&&Gn(S,b.shift);}else S=b.build();return R.set(b.key,{sig:b.sig,positions:b.positions,noteRefIds:b.noteRefIds,el:S}),S},Ze=v.map(I);for(let b of x)I(b);Ye(g);let qe=T.map(b=>R.get(b.key).el).filter(b=>b.parentNode===null||b.parentNode===k);Me(k,[...Ze,...qe,...j.map(I)]),Me(e,[k,...B.map(I),...Y.map(I)]),n&&Z.set(e,{content:k,units:R,tables:U});}function Fn(e,t,i){e.className=p.page,e.setAttribute("role","document"),i?.page?e.setAttribute("aria-label",i.page):e.removeAttribute("aria-label"),e.dataset.pageIndex=String(t.pageIndex),W(e,"sectionId",t.sectionId),W(e,"sectionIndex",t.sectionIndex),W(e,"sectionPageIndex",t.sectionPageIndex),W(e,"sectionPageNumber",t.sectionPageNumber),W(e,"pageLabel",t.pageLabel),e.style.position="relative",e.style.width=`${t.width}px`,e.style.height=`${t.height}px`,e.style.opacity="0",e.style.pointerEvents="none";}function $n(e,t,i,r,n,s){let{order:o,blocks:l}=_e(e),d=new Map;for(let c of o){if(!("primitive"in c))continue;let f=c.primitive;d.set(f,r("primitive",null,null,[f],()=>_(f,t,0,i)));}let a=new Map;for(let[c,f]of l){let h=r(`block-${typeof c}`,String(c),null,f.prims,()=>{let y={el:Ue(t,f.blockId),prims:f.prims};return je(y,t,0,i),h.table&&n.set(c,y),y.el});h.table=f.prims.some(y=>y.table?.tableId!==void 0),a.set(c,h);}let u=[...a.values()].filter(c=>c.table),m={nests:[...l.values()].some(c=>c.prims.some(f=>f.table?.parentTableId)),order:u.map(c=>c.key).join(`
|
|
3
|
+
`)};if((m.nests||s?.nests)&&(m.order!==s?.order||u.some(c=>!c.reuse||c.shift!==u[0].shift)))for(let c of u)c.reuse=void 0;return {tables:m,body:[...d.values(),...a.values()],bodyOrder:o.map(c=>"primitive"in c?d.get(c.primitive):a.get(c.key))}}function Wn(e,t,i,r){let n=i.createElement("div");n.className=e.kind==="header"?p.header:p.footer,n.dataset.hfRid=e.rId;let s=e.kind==="header"?r.labels?.header:r.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`,Q(n,e.primitives,i,-e.y,r),n}function Q(e,t,i,r,n){let{order:s,blocks:o}=_e(t),l=new Map;for(let d of s){if("primitive"in d){e.appendChild(_(d.primitive,i,r,n));continue}let a=o.get(d.key),u={el:Ue(i,a.blockId),prims:a.prims};e.appendChild(u.el),l.set(d.key,u);}for(let d of l.values())je(d,i,r,n);Ye(l);}function _e(e){let t=[],i=new Map;for(let r of e){let n=r.kind==="line"?void 0:r.blockKey??r.blockId;if(n===void 0){t.push({primitive:r});continue}let s=r.table,o=s?.tableId!==void 0?`table:${s.tableId}#${s.rowStart??0}`:n,l=i.get(o);l||(l={blockId:String(s?.tableId??n),prims:[]},i.set(o,l),t.push({key:o})),l.prims.push(r);}return {order:t,blocks:i}}function Ue(e,t){let i=e.createElement("div");return i.dataset.blockId=t,i.style.position="absolute",i.style.left="0",i.style.top="0",i}function je(e,t,i,r){let{el:n,prims:s}=e;if(!s.some(c=>c.cell!==void 0||c.structuralRevision?.scope==="table"||c.structuralRevision?.scope==="row"||c.structuralRevision?.scope==="cell")){Ae(n,s,t,i,r);return}n.className=p.table,n.setAttribute("role","table");let l=s.find(c=>c.table!==void 0)?.table;e.table=l,e.cells=[],l?.tableId!==void 0&&(n.dataset.tableId=l.tableId),l?.rowStart!==void 0&&(n.dataset.rowStart=String(l.rowStart)),l?.rowEnd!==void 0&&(n.dataset.rowEnd=String(l.rowEnd)),l?.headerRowCount!==void 0&&(n.dataset.headerRowCount=String(l.headerRowCount)),l?.parentTableId!==void 0&&(n.dataset.parentTableId=l.parentTableId),l?.caption&&n.setAttribute("aria-label",l.caption),l?.description&&n.setAttribute("aria-description",l.description);let d=X(s,"table");d&&J(n,d),ye(n,s.find(c=>c.sdt!==void 0)?.sdt);for(let c of s)c.cell===void 0&&n.appendChild(_(c,t,i,r));let a=new Map,u=0,m=0;for(let c of s){if(c.cell===void 0)continue;let{row:f,col:h}=c.cell;u=Math.max(u,f+(c.cell.rowSpan??1)),m=Math.max(m,h+(c.cell.colSpan??1));let y=a.get(f);y||(y=new Map,a.set(f,y));let v=y.get(h);v||(v={ref:c.cell,prims:[]},y.set(h,v)),v.prims.push(c);}n.setAttribute("aria-rowcount",String(l?.rowCount??u)),n.setAttribute("aria-colcount",String(l?.columnCount??m));for(let c of [...a.keys()].sort((f,h)=>f-h)){let f=t.createElement("div");f.className=p.tableRow,f.setAttribute("role","row"),f.setAttribute("aria-rowindex",String(c+1));let h=X(s,"row",c);h&&J(f,h),f.style.position="absolute",f.style.left="0",f.style.top="0",n.appendChild(f);let y=a.get(c);for(let v of [...y.keys()].sort((g,x)=>g-x)){let g=y.get(v),x=t.createElement("div");x.className=p.tableCell,x.setAttribute("role",g.ref.isHeader?"columnheader":"cell"),x.setAttribute("aria-colindex",String(v+1)),g.ref.cellId&&(x.id=g.ref.cellId),g.ref.headerIds?.length&&x.setAttribute("aria-labelledby",g.ref.headerIds.join(" ")),g.ref.repeatedHeader&&(x.dataset.repeatedHeader="true"),g.ref.noWrap&&(x.dataset.noWrap="true");let T=g.ref.rowSpan??1,U=g.ref.colSpan??1;T>1&&x.setAttribute("aria-rowspan",String(T)),U>1&&x.setAttribute("aria-colspan",String(U));let j=X(g.prims,"cell",c,v);j&&J(x,j),g.ref.continuation&&(x.dataset.vmergeContinuation="true"),x.style.position="absolute",x.style.left="0",x.style.top="0";let B=new Map,Y=[];for(let k of g.prims){let R=k.blockKey??k.blockId;if(R===void 0){Y.push(k);continue}let I=B.get(R);I?I.push(k):B.set(R,[k]);}for(let k of me(Y))x.appendChild(_(k,t,i,r));for(let[k,R]of B){let I=t.createElement("div");I.dataset.blockId=String(k),I.style.position="absolute",I.style.left="0",I.style.top="0",Ae(I,R,t,i,r),x.appendChild(I);}Un(x,g.prims),Ke(x,g.prims),e.cells.push({el:x,bounds:Ve(g.prims)}),f.appendChild(x);}}pe(n,s);}function Ae(e,t,i,r,n){let s=t.find(a=>a.chart!==void 0)?.chart;e.className=s?`${p.block} ${p.chart}`:p.block,e.setAttribute("role",s?"img":"paragraph"),s?.label&&e.setAttribute("aria-label",s.label);for(let a of me(t))e.appendChild(_(a,i,r,n));let o=X(t,"pmark");o&&J(e,o),_n(e,t,i,r),ye(e,t.find(a=>a.sdt!==void 0)?.sdt);let l=t.find(a=>a.paraId!==void 0)?.paraId;l!==void 0&&(e.dataset.paraId=l);let d=t.find(a=>a.fromLine!==void 0);d?.fromLine!==void 0&&(e.dataset.fromLine=String(d.fromLine),d.toLine!==void 0&&(e.dataset.toLine=String(d.toLine))),Ke(e,t),Yn(e,t);}function _n(e,t,i,r){pe(e,t);let n=Number(e.dataset.docStart),s=Number(e.dataset.docEnd),o=t.map(m=>m.fragmentDocStart).filter(m=>Number.isFinite(m)),l=t.map(m=>m.fragmentDocEnd).filter(m=>Number.isFinite(m)),d=o.length>0?Math.min(...o):void 0,a=l.length>0?Math.max(...l):void 0,u=d??(Number.isFinite(n)&&n===s&&n>0?n-1:void 0);if(u!==void 0&&(e.dataset.docStart=String(u)),a!==void 0&&(e.dataset.docEnd=String(a)),u!==void 0&&!t.some(m=>m.docStart===u)){let m=me(t).find(f=>ce(f)!==void 0),c=m?ce(m):void 0;if(c){let f=i.createElement("span");f.className="layout-mirror-structural-anchor",f.dataset.docStart=String(u),f.dataset.docEnd=String(u),L(f,c,r),e.insertBefore(f,e.firstChild);}}}function Un(e,t){let i=e.querySelectorAll(".layout-paragraph[data-doc-start]"),r=1/0,n=-1/0;for(let s of i){let o=Number(s.dataset.docStart),l=Number(s.dataset.docEnd);Number.isFinite(o)&&(r=Math.min(r,o)),Number.isFinite(l)&&(n=Math.max(n,l));}r!==1/0&&(e.dataset.docStart=String(r)),n!==-1/0&&(e.dataset.docEnd=String(n)),r===1/0&&n===-1/0&&pe(e,t);}function Ye(e){let t=new Map;for(let i of e.values())i.table?.tableId&&t.set(i.table.tableId,i);for(let i of e.values()){let r=i.table?.parentTableId;if(!r)continue;let n=t.get(r),s=Ve(i.prims);if(!n?.cells?.length||!s)continue;let o=s.x+s.w/2,l=s.y+s.h/2,d=n.cells.filter(a=>a.bounds&&jn(o,l,a.bounds));d.sort((a,u)=>we(a.bounds)-we(u.bounds)),d[0]?.el.appendChild(i.el);}}function jn(e,t,i){return e>=i.x&&e<=i.x+i.w&&t>=i.y&&t<=i.y+i.h}function we(e){return e.w*e.h}function Ve(e){let t;for(let i of e){let r=i.clipGroup?.clip,n=r?.x!==void 0&&r.y!==void 0&&r.w!==void 0&&r.h!==void 0?{x:r.x,y:r.y,w:r.w,h:r.h}:ce(i);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 ce(e){switch(e.kind){case "text":return b(e);case "glyphRun":return c(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(r=>r.logicalOrder!==void 0).sort((r,n)=>(r.logicalOrder??0)-(n.logicalOrder??0)||(r.docStart??0)-(n.docStart??0));if(t.length<2)return e;let i=0;return e.map(r=>r.logicalOrder===void 0?r:t[i++])}function Ke(e,t){let i=t.find(s=>s.lang)?.lang;i&&(e.lang=i);let r=t.find(s=>s.bidiLevel!==void 0||"rtl"in s);if(!r)return;let n=r.bidiLevel!==void 0?r.bidiLevel%2===1:"rtl"in r?r.rtl:false;e.dir=n?"rtl":"ltr";}function Yn(e,t){let i=t.find(r=>r.ariaLabel||r.ariaDescription||r.decorative||r.hiddenObject||r.groupId);i&&Xe(e,i);}function pe(e,t){let i,r;for(let n of t)n.docStart!==void 0&&(i=i===void 0?n.docStart:Math.min(i,n.docStart)),n.docEnd!==void 0&&(r=r===void 0?n.docEnd:Math.max(r,n.docEnd));i!==void 0&&(e.dataset.docStart=String(i)),r!==void 0&&(e.dataset.docEnd=String(r));}function X(e,t,i,r){return e.find(n=>{let s=n.structuralRevision;return !(!s||s.scope!==t||i!==void 0&&s.rowIndex!==i||r!==void 0&&s.colIndex!==r)})?.structuralRevision}function _(e,t,i,r){let n=Vn(e,t,i,r);return r.occludedWidgets.has(e)&&$(n),n}function Vn(e,t,i,r){switch(e.kind){case "text":{let n=Te(t,e,r);return n.className=p.text,n.textContent=e.text,L(n,b(e),i),n.style.font=e.font,Ce(n,e),Be(n,e),ae(n,e.hidden&&e.opacity===void 0?.4:e.opacity,e.rotationDeg,e.horizontalScale),e.structuralRevision?.scope==="pmark"&&(n.classList.add(p.revisionPmarkGlyph),e.structuralRevision.kind==="ins"&&n.classList.add(p.revisionPmarkIns),e.structuralRevision.kind==="del"&&n.classList.add(p.revisionPmarkDel),n.setAttribute("aria-hidden","true")),e.listMarker&&(n.classList.add(p.listMarker),n.setAttribute("aria-hidden","true"),e.listMarkerRevision&&(n.style.color=e.listMarkerRevision==="ins"?"rgb(46, 125, 50)":"rgb(198, 40, 40)")),C(n,e),n}case "glyphRun":{let n=Te(t,e,r);return n.className=p.text,n.textContent=e.text,L(n,c(e),i),n.style.fontSize=`${e.size}px`,zn(n,e.fallbackFont),Ce(n,e),Be(n,e),ae(n,e.hidden&&e.opacity===void 0?.4:e.opacity,e.rotationDeg,e.horizontalScale),C(n,e),n}case "rect":{let n=t.createElement("div");return n.className=p.rect,L(n,{x:e.x,y:e.y,w:e.w,h:e.h},i),C(n,e),n}case "line":{let n=t.createElement("div");return n.className=e.role==="table-cut"?p.tableCut:p.line,e.role&&e.role!=="table-cut"&&(n.dataset.role=e.role),L(n,d(e),i),n.setAttribute("aria-hidden","true"),n}case "image":{let n=e.href?t.createElement("a"):t.createElement("div");return n.className=p.image,e.decorative?n.setAttribute("aria-hidden","true"):(n.setAttribute("role","img"),e.altText&&n.setAttribute("aria-label",e.altText)),Qe(n,e),n.dataset.relId=e.relId,L(n,{x:e.x,y:e.y,w:e.w,h:e.h},i),ae(n,e.opacity,e.rotationDeg),e.filter&&(n.style.filter=e.filter),C(n,e),e.revision&&(n.style.outline=`2px solid ${e.revision.kind==="ins"?"rgb(46, 125, 50)":"rgb(198, 40, 40)"}`),e.href||(n.style.pointerEvents="auto"),n}case "shape":{let n=t.createElement("div");return n.className=p.shape,e.decorative?n.setAttribute("aria-hidden","true"):n.setAttribute("role","img"),L(n,{x:e.x,y:e.y,w:e.w,h:e.h},i),Qn(n,e.transform),C(n,e),n}case "decoration":{let n=t.createElement("span");return n.className=p.decoration,n.dataset.deco=e.deco,L(n,{x:e.x,y:e.y,w:e.w,h:e.h},i),C(n,e),n}}}function Kn(e,t,i){let r=t.createElement("div");return r.className=p.pageBorder,L(r,{x:e.x,y:e.y,w:e.w,h:e.h},i),r.style.boxSizing="border-box",r.style.pointerEvents="none",r.style.zIndex=e.zOrder==="back"?"0":"20",z(r,"Top",e.top),z(r,"Right",e.right),z(r,"Bottom",e.bottom),z(r,"Left",e.left),r}function L(e,t,i=0){e.style.position="absolute",e.style.left=`${t.x}px`,e.style.top=`${t.y+i}px`,e.style.width=`${t.w}px`,e.style.height=`${t.h}px`;}function ze(e){let t=e.noteRef;if(!(t?.id===void 0||e.href))return `oox-noteref-${t.kind??"footnote"}-${t.id}`}function Te(e,t,i){let r=t.noteRef?.id!==void 0?t.noteRef:void 0,n=t.href||r?e.createElement("a"):e.createElement("span");if(Qe(n,t),r&&!t.href){let s=`oox-${r.kind??"footnote"}-${r.id}`;n.setAttribute("href",`#${s}`),n.setAttribute("role","doc-noteref");let o=ze(t);i.noteRefIds.has(o)||(i.noteRefIds.add(o),n.id=o);}return n}function Qe(e,t){let{href:i}=t;if(!i)return;e.setAttribute("href",i),e.dataset.href=i;let r=t.linkTitle??t.tooltip;r&&(e.title=r),t.linkTarget?e.setAttribute("target",t.linkTarget):i.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 zn(e,t){if(t)for(let i of t.split(" ")){if(i.endsWith("px"))break;i==="italic"?e.style.fontStyle="italic":/^[1-9]00$/.test(i)&&i!=="400"&&(e.style.fontWeight=i);}}function Ce(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 z(e,t,i){if(!i)return;let r=e.style;r[`border${t}Width`]=`${i.width}px`,r[`border${t}Style`]=i.style,r[`border${t}Color`]=i.color;}function ae(e,t,i,r){t!==void 0&&(e.style.opacity=String(t));let n=[];i&&n.push(`rotate(${i}deg)`),r!==void 0&&r!==100&&n.push(`scaleX(${r/100})`),n.length>0&&(e.style.transform=n.join(" "),e.style.transformOrigin=r!==void 0&&r!==100?"left center":"center center");}function Qn(e,t){if(!t)return;let i=[];t.rotation&&i.push(`rotate(${t.rotation}deg)`),t.flipH&&i.push("scaleX(-1)"),t.flipV&&i.push("scaleY(-1)"),i.length!==0&&(e.style.transform=i.join(" "),e.style.transformOrigin="center center");}function Be(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 i=t.emphasisMark==="comma"?"filled sesame":t.emphasisMark==="circle"?"filled circle":"filled dot",r=t.emphasisMark==="underDot"?"under right":"over right";e.style.textEmphasis=i,e.style.textEmphasisPosition=r,e.style.webkitTextEmphasis=i,e.style.webkitTextEmphasisPosition=r;}t.textEffect&&(e.classList.add("docx-text-effect",`docx-text-effect-${t.textEffect}`),e.dataset.effect=t.textEffect);}function C(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 i=t.field.type??t.field.category;i&&(e.dataset.fieldType=i),t.field.category&&(e.dataset.fieldCategory=t.field.category),t.field.instruction&&(e.dataset.fieldInstruction=t.field.instruction);let r=t.field.instruction?.trim()||i;r&&e.setAttribute("aria-description",r);}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 i=[t.comment.status,t.comment.authorName??t.comment.authorId,t.comment.date,t.comment.text,...(t.comment.replies??[]).map(r=>[r.authorName,r.text].filter(Boolean).join(": "))].filter(Boolean).join(", ");i&&e.setAttribute("aria-description",i);}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 i=[t.revision.author,t.revision.date].filter(Boolean).join(", ");i&&e.setAttribute("aria-description",i);}t.href&&(e.dataset.href=t.href),Xn(e,t.inlineSdtWidget),ye(e,t.sdt),t.sdtPath?.length&&(e.dataset.sdtPath=t.sdtPath.map(i=>i.groupId).join(" ")),t.logicalOrder!==void 0&&(e.dataset.logicalOrder=String(t.logicalOrder)),t.bidiLevel!==void 0&&(e.dataset.bidiLevel=String(t.bidiLevel)),Xe(e,t);}function Xe(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 ye(e,t){t&&(e.classList.add(p.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 Xn(e,t){if(!t)return;e.classList.add(p.inlineSdtWidget);let i=t.controlKind??t.kind;e.dataset.sdtWidget=i,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)),i==="checkbox"?e.setAttribute("role","checkbox"):i==="dropDownList"||i==="comboBox"?(e.setAttribute("role","combobox"),e.setAttribute("aria-haspopup","listbox"),e.setAttribute("aria-expanded","false")):i==="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 J(e,t){switch(t.scope){case "pmark":e.classList.add(p.revisionPmark),t.kind==="ins"&&e.classList.add(p.revisionPmarkIns),t.kind==="del"&&e.classList.add(p.revisionPmarkDel);break;case "table":e.classList.add(p.revisionTable,le(t.kind));break;case "row":e.classList.add(p.revisionRow,le(t.kind));break;case "cell":e.classList.add(p.revisionCell,le(t.kind));break}e.dataset.revisionId=t.revisionId,e.dataset.revisionAuthor=t.author,t.date&&(e.dataset.revisionDate=t.date);let i=[t.author,t.date].filter(Boolean).join(", ");i&&e.setAttribute("aria-description",i);}function le(e){return e==="ins"?p.revisionIns:e==="del"?p.revisionDel:p.revisionMerge}function Jn(e,t,i,r){let n=i.createElement("section");n.className=p.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 l of e.notes??[])l.id!==void 0&&s.set(l.id,l);Q(n,e.separatorPrimitives??[],i,-(e.y??0),r);let o=[...e.primitives??[]];for(let l of e.noteIds??[]){let a=`${e.kind??"footnote"}-${l}`,u=o.filter(f=>f.groupId===a);if(u.length===0)continue;for(let f of u){let h=o.indexOf(f);h>=0&&o.splice(h,1);}let m=i.createElement("aside");m.className=p.note,m.id=`oox-${a}`,m.dataset.noteId=String(l),m.setAttribute("role",e.kind==="endnote"?"doc-endnote":"doc-footnote");let c=s.get(l);if(c&&(c.label!==void 0&&(m.dataset.noteLabel=c.label),c.anchorDocStart!==void 0&&(m.dataset.anchorDocStart=String(c.anchorDocStart)),c.anchorDocEnd!==void 0&&(m.dataset.anchorDocEnd=String(c.anchorDocEnd))),Q(m,u,i,-(e.y??0),r),c&&He(e,l)){let f=i.createElement("a");f.className=p.noteBacklink,f.setAttribute("role","doc-backlink"),f.setAttribute("href",`#oox-noteref-${a}`);let h=r.labels?.noteBacklink??c.label??String(l);f.setAttribute("aria-label",h),m.appendChild(f);}n.appendChild(m);}return o.length>0&&Q(n,o,i,-(e.y??0),r),n}var Zn=/^media:(0|[1-9]\d*)$/;function qn(e){e&&"close"in e&&e.close();}function be(){let e=typeof OffscreenCanvas<"u"?new OffscreenCanvas(1,1):typeof document<"u"?Object.assign(document.createElement("canvas"),{width:1,height:1}):null,t=e?.getContext("2d");return !e||!t?null:(t.fillStyle="#e6e6e6",t.fillRect(0,0,1,1),e)}function ei(e={}){let t=new Map,{media:i,mediaScope:r}=e,n=e.maxCacheBytes!==void 0&&Number.isFinite(e.maxCacheBytes)?Math.max(0,e.maxCacheBytes):64*1024*1024,s=0,o=r?.(),l=async(d,a)=>{let u;if(a){let m=i?.(d);if(!m)return be();u=new Blob([m.bytes],{type:m.mimeType});}if(typeof Image>"u")try{let m=u??await(await fetch(d)).blob();return await createImageBitmap(m)}catch{return a?be():null}return new Promise(m=>{let c=u?URL.createObjectURL(u):d,f=new Image,h=y=>{u&&URL.revokeObjectURL(c),m(y);};f.onload=()=>h(f),f.onerror=()=>h(a?be():null),f.src=c;})};return d=>{let a=!!i&&Zn.test(d);if(!a&&!d.startsWith("blob:")&&!d.startsWith("data:"))return null;let u=r?.();u!==o&&(o=u,t.clear(),s=0);let m=t.get(d);if(m)return t.delete(d),t.set(d,m),m.pending;let c={bytes:0,pending:l(d,a).then(f=>{if(t.get(d)!==c)return qn(f),null;t.delete(d);let h=f,y=Math.max(4,(h?.naturalWidth??h?.width??1)*(h?.naturalHeight??h?.height??1)*4);c.bytes=y,t.set(d,c),s+=y;for(let[v,g]of t){if(s<=n||g===c)break;g.bytes!==0&&(t.delete(v),s-=g.bytes);}return f},f=>{throw t.get(d)===c&&t.delete(d),f})};return t.set(d,c),c.pending}}function ti(e,t){let i=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,...i?.authorName!==void 0?{commentAuthor:i.authorName}:{},...i?.replyCount!==void 0?{commentReplyCount:i.replyCount}:{}}}function ni(e,t){if(!e)return [];let i=[];return !e.hasSelection&&t.hasSelection&&i.push({key:"selected"}),e.hasSelection&&!t.hasSelection&&i.push({key:"selectionCleared"}),!e.hasComment&&t.hasComment&&i.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&&i.push({key:"trackedInsertion"}),!e.inDeletion&&t.inDeletion&&i.push({key:"trackedDeletion"}),(!e.inList&&t.inList||t.inList&&e.listLevel!==t.listLevel)&&i.push({key:"listItem",vars:{level:t.listLevel+1}}),i}function he(e,t){let{doc:i,schema:r}=e.state,n=r.marks.comment,s=r.marks.insertion,o=r.marks.deletion;!n&&!s&&!o||i.descendants((l,d)=>{let a=l.attrs;if(a){let u=[a.trIns,a.trDel,a.pPrIns,a.pPrDel];for(let h of u){let y=h?.revisionId;typeof y=="number"&&t(`revision-${y}`,d);}let c=a.cellMarker?.info?.revisionId;typeof c=="number"&&t(`revision-${c}`,d);let f=[a.pPrChange,a.trPrChange,a.tcPrChange,a.tblPrChange];for(let h of f)if(Array.isArray(h))for(let y of h){let v=y?.info?.id;typeof v=="number"&&t(`revision-${v}`,d);}}if(l.isInline)for(let u of l.marks){let m=null;n&&u.type===n?m=`comment-${u.attrs.commentId}`:(s&&u.type===s||o&&u.type===o)&&(m=`revision-${u.attrs.revisionId}`),m&&t(m,d);}});}function ii(e,t,i){let r=new Map;if(!e?.state)return r;let n=M(t),s=new Set;return he(e,(o,l)=>{if(s.has(o))return;s.add(o);let d=t.anchorRect(l);if(!d)return;let a=i?i(d):(n[d.pageIndex]??0)+d.y;a!=null&&r.set(o,a);}),r}function ri(e,t,i){if(!e.hfRid)return t.anchorRect(e.position);let r=i?.get(e.hfRid);return r?t.hfAnchorRects(r,e.hfRid,e.position)[0]??null:null}function oi(e,t,i,r,n,s,o){function*l(){for(let a of t)try{for(let u of e.resolveComment(String(a)))yield [`comment-${a}`,r.storyOffsetToDisplayPoint(u.story,u.start)];}catch{}for(let a$1 of i)yield [`revision-${a(a$1.revisionId)}`,r.locToDisplayPoint({story:a$1.story,...a$1.range.start})];}function*d(){for(let[a,u]of l()){if(!u?.hfRid){yield [a,u];continue}for(let m of f$1(e,u.hfRid))yield [a,{...u,hfRid:m}];}}return Je(d(),n,s,o)}function Je(e,t,i,r){let n=new Map,s=M(t);for(let[o,l]of e){if(!l||n.has(o))continue;let d=ri(l,t,i);if(!d)continue;let a=r?r(d):(s[d.pageIndex]??0)+d.y;a!=null&&n.set(o,a);}return n}function si(e,t,i,r){let n=M(t);for(let{region:s,rId:o,view:l}of e)he(l,(d,a)=>{if(i.has(d))return;let u=t.hfAnchorRects(s,o,a)[0];if(!u)return;let m=r?r(u):(n[u.pageIndex]??0)+u.y;m!=null&&i.set(d,m);});return i}function ai(e,t){let i=t.kind??"body";if(i==="body")return {kind:i,primitives:e.primitives};let r=i==="header"?e.header:e.footer;return !r||r.kind!==i||t.rId&&r.rId!==t.rId?null:{kind:i,rId:r.rId,primitives:r.primitives}}function li(e){switch(e.kind){case "text":return b(e);case "glyphRun":return c(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 di(e){let t=li(e),i=e.clipGroup?.clip;if(!i)return t;let r=i.x??0,n=i.y??0,s=r+Math.max(0,i.w??0),o=n+Math.max(0,i.h??0),l=Math.max(t.x,r),d=Math.max(t.y,n),a=Math.min(t.x+t.w,s),u=Math.min(t.y+t.h,o);return a<l||u<d?null:{x:l,y:d,w:a-l,h:u-d}}function ci(e){return e.kind==="text"||e.kind==="glyphRun"?e.text:e.kind==="image"?e.altText??"":""}function ui(e,t,i){return t>=e.x&&t<=e.x+e.w&&i>=e.y&&i<=e.y+e.h}function fi(e,t,i,r,n={kind:"body"}){let s=e.pages[t];if(!s)return null;let o=ai(s,n);if(!o)return null;for(let l=o.primitives.length-1;l>=0;l--){let d=o.primitives[l];if(d.kind==="line"||!d.href||d.hiddenObject)continue;let a=di(d);if(a&&ui(a,i,r))return {pageIndex:t,region:o.kind,rId:o.rId,href:d.href,tooltip:d.linkTitle??d.tooltip,displayText:ci(d)||d.href,rect:a}}return null}var Ni=Se;export{p as MIRROR_CLASS_NAMES,Je as anchorPositionsFromPoints,en as applyInteractiveSdtFocus,rn as buildInteractiveOverlayPage,An as buildMirrorPage,Ln as buildMirrorPageLinks,En as buildMirrorPageText,ni as computeA11yAnnouncements,ii as computeAnchorPositionsFromDisplayList,oi as computeAnchorPositionsFromYrs,ei as createCanvasImageResolver,Ni as demoDisplayList,Mn as displayPageHoldsMirrorId,fi as findDisplayListHyperlinkAtPoint,hn as interactiveOverlayHasTabStops,qt as loadGlyphOutlineProvider,si as mergeHfAnchorPositionsFromDisplayList,kn as mirrorPageHasHeaderCells,Sn as mirrorPageHasTabStops,Ge as reduceMirrorToLinks,Fe as reduceMirrorToText,ti as snapshotFromSelectionContext,wn as updateMirrorPage,he as visitAnchorKeys};
|