@silurus/ooxml 0.76.2 → 0.77.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/README.md +144 -32
  2. package/dist/{canvas-viewer-mechanics-CwVSOYke.js → canvas-viewer-mechanics-D5zXbOrS.js} +319 -153
  3. package/dist/{document-pull-client-B-3_7_YS.js → document-pull-client-CC8pPuzi.js} +2361 -2253
  4. package/dist/{docx-C6B98B4-.js → docx-Dg9N9OX4.js} +623 -202
  5. package/dist/docx.mjs +4 -4
  6. package/dist/docx_parser_bg.wasm +0 -0
  7. package/dist/index.mjs +3 -3
  8. package/dist/{line-distribute-C1r2zvji.js → line-distribute-BtfPlM2A.js} +133 -72
  9. package/dist/{line-metrics-BdCACYlq.js → line-metrics-B66x33iy.js} +1446 -1340
  10. package/dist/node.mjs +7 -7
  11. package/dist/pptx-BFP7Isgf.js +2123 -0
  12. package/dist/pptx.mjs +5 -5
  13. package/dist/pptx_parser_bg.wasm +0 -0
  14. package/dist/{render-CLcpSi0m.js → render-D-cOpMLV.js} +1 -1
  15. package/dist/render-worker-host-BzpMoFRr.js +27 -0
  16. package/dist/render-worker-host-CdZ5hW2X.js +27 -0
  17. package/dist/render-worker-host-quqYq02i.js +27 -0
  18. package/dist/{resource-measurement-E_S_iau4.js → resource-measurement-CVfVTQrt.js} +1 -1
  19. package/dist/{session-B4Y54cbT.js → session-DxAVpIP-.js} +2 -2
  20. package/dist/{slide-pull-client-WCuYCjio.js → slide-pull-client-Lag44QA8.js} +1173 -876
  21. package/dist/types/docx.d.ts +172 -28
  22. package/dist/types/index.d.ts +498 -88
  23. package/dist/types/node.d.ts +133 -22
  24. package/dist/types/pptx.d.ts +166 -10
  25. package/dist/types/xlsx.d.ts +248 -54
  26. package/dist/{worksheet-pull-client-YzjJMOns.js → worksheet-pull-client-D74b_23i.js} +2 -2
  27. package/dist/{xlsx-EykJ9tPV.js → xlsx-Bik59Raj.js} +2090 -1224
  28. package/dist/xlsx.mjs +5 -5
  29. package/dist/xlsx_parser_bg.wasm +0 -0
  30. package/package.json +1 -1
  31. package/dist/pptx-CKAk5e-J.js +0 -1735
  32. package/dist/render-worker-host-Bkf1jUcW.js +0 -27
  33. package/dist/render-worker-host-CKOmXdyr.js +0 -27
  34. package/dist/render-worker-host-Dpv-nKHY.js +0 -27
@@ -0,0 +1,27 @@
1
+ //#region packages/docx/src/render-worker.ts?worker&inline
2
+ var e = "var e=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,n.unregister(this),e}free(){let e=this.__destroy_into_raw();v.__wbg_docxarchive_free(e,0)}acknowledge_document_chunk(e,t,n){let r=v.docxarchive_acknowledge_document_chunk(this.__wbg_ptr,e,t,n);if(r[1])throw f(r[0])}assert_healthy(){let e=v.docxarchive_assert_healthy(this.__wbg_ptr);if(e[1])throw f(e[0])}cancel_document_cursor(){v.docxarchive_cancel_document_cursor(this.__wbg_ptr)}close_document_session(){v.docxarchive_close_document_session(this.__wbg_ptr)}document_chunk_done(){let e=v.docxarchive_document_chunk_done(this.__wbg_ptr);if(e[2])throw f(e[1]);return e[0]!==0}document_cursor_resource_usage(){let e=v.docxarchive_document_cursor_resource_usage(this.__wbg_ptr);if(e[3])throw f(e[2]);var t=r(e[0],e[1]).slice();return v.__wbindgen_free(e[0],e[1]*1,1),t}extract_image(e){let t=d(e,v.__wbindgen_malloc,v.__wbindgen_realloc),n=_,i=v.docxarchive_extract_image(this.__wbg_ptr,t,n);if(i[3])throw f(i[2]);var a=r(i[0],i[1]).slice();return v.__wbindgen_free(i[0],i[1]*1,1),a}constructor(e,t,r,i){let a=u(e,v.__wbindgen_malloc),o=_,s=v.docxarchive_new(a,o,!l(t),l(t)?BigInt(0):t,!l(r),l(r)?BigInt(0):r,!l(i),l(i)?BigInt(0):i);if(s[2])throw f(s[1]);return this.__wbg_ptr=s[0]>>>0,n.register(this,this.__wbg_ptr,this),this}open_document_cursor(e,t){let n=v.docxarchive_open_document_cursor(this.__wbg_ptr,e,t);if(n[1])throw f(n[0])}parse(){let e=v.docxarchive_parse(this.__wbg_ptr);if(e[3])throw f(e[2]);var t=r(e[0],e[1]).slice();return v.__wbindgen_free(e[0],e[1]*1,1),t}pull_document_chunk(e,t,n,i){let a=v.docxarchive_pull_document_chunk(this.__wbg_ptr,e,t,n,i);if(a[3])throw f(a[2]);var o=r(a[0],a[1]).slice();return v.__wbindgen_free(a[0],a[1]*1,1),o}resource_usage(){let e=v.docxarchive_resource_usage(this.__wbg_ptr);if(e[3])throw f(e[2]);var t=r(e[0],e[1]).slice();return v.__wbindgen_free(e[0],e[1]*1,1),t}to_markdown(){let e,t;try{let i=v.docxarchive_to_markdown(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,f(i[2]);return e=n,t=r,o(n,r)}finally{v.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(e.prototype[Symbol.dispose]=e.prototype.free);function t(){return{__proto__:null,\"./docx_parser_bg.js\":{__proto__:null,__wbg___wbindgen_throw_6b64449b9b9ed33c:function(e,t){throw Error(o(e,t))},__wbg_error_a6fa202b58aa1cd3:function(e,t){let n,r;try{n=e,r=t,console.error(o(e,t))}finally{v.__wbindgen_free(n,r,1)}},__wbg_new_227d7c05414eb861:function(){return Error()},__wbg_stack_3b0d974bbf31e44f:function(e,t){let n=t.stack,r=d(n,v.__wbindgen_malloc,v.__wbindgen_realloc),i=_;a().setInt32(e+4,i,!0),a().setInt32(e+0,r,!0)},__wbindgen_cast_0000000000000001:function(e,t){return o(e,t)},__wbindgen_init_externref_table:function(){let e=v.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}const n=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>v.__wbg_docxarchive_free(e>>>0,1));function r(e,t){return e>>>=0,c().subarray(e/1,e/1+t)}let i=null;function a(){return(i===null||i.buffer.detached===!0||i.buffer.detached===void 0&&i.buffer!==v.memory.buffer)&&(i=new DataView(v.memory.buffer)),i}function o(e,t){return e>>>=0,h(e,t)}let s=null;function c(){return(s===null||s.byteLength===0)&&(s=new Uint8Array(v.memory.buffer)),s}function l(e){return e==null}function u(e,t){let n=t(e.length*1,1)>>>0;return c().set(e,n/1),_=e.length,n}function d(e,t,n){if(n===void 0){let n=g.encode(e),r=t(n.length,1)>>>0;return c().subarray(r,r+n.length).set(n),_=n.length,r}let r=e.length,i=t(r,1)>>>0,a=c(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=c().subarray(i+o,i+r),a=g.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return _=o,i}function f(e){let t=v.__wbindgen_externrefs.get(e);return v.__externref_table_dealloc(e),t}let p=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});p.decode();let m=0;function h(e,t){return m+=t,m>=2146435072&&(p=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),p.decode(),m=t),p.decode(c().subarray(e,e+t))}const g=new TextEncoder;`encodeInto`in g||(g.encodeInto=function(e,t){let n=g.encode(e);return t.set(n),{read:e.length,written:n.length}});let _=0,v;function y(e,t){return v=e.exports,i=null,s=null,v.__wbindgen_start(),v}async function b(e,t){if(typeof Response==`function`&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(e.ok&&n(e.type)&&e.headers.get(`Content-Type`)!==`application/wasm`)console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}function n(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}}async function x(e){if(v!==void 0)return v;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`));let n=t();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:r,module:i}=await b(await e,n);return y(r,i)}async function S(e){return v=void 0,i=null,s=null,x(e)}var C=class e extends Error{code;constructor(t,n){super(n),this.name=`OoxmlError`,this.code=t,Object.setPrototypeOf(this,e.prototype)}},w=class e extends Error{code=`ooxml-resource-limit`;details;constructor(t,n){super(t),this.name=`OoxmlResourceLimitError`;let r=n.violation,i=Object.freeze({format:r.format,operation:r.operation,resource:r.resource,metric:r.metric,...r.part===void 0?{}:{part:r.part},limit:r.limit,observed:r.observed,configurable:r.configurable,usage:Object.freeze({archiveEntryCount:r.usage.archiveEntryCount,declaredInflatedBytes:r.usage.declaredInflatedBytes,...r.usage.largestInflatedEntryBytes===void 0?{}:{largestInflatedEntryBytes:r.usage.largestInflatedEntryBytes},distinctInflatedBytes:r.usage.distinctInflatedBytes,operationInflatedBytes:r.usage.operationInflatedBytes})});this.details=Object.freeze({stage:n.stage,violation:i}),Object.setPrototypeOf(this,e.prototype)}};const T=new Map;function E(e,t,n){let r=T.get(e),i=r?.get(t);if(i)return i.refs++,{face:i.face,isNew:!1};let a=n(),o=r??new Map;return o.set(t,{face:a,set:t,refs:1}),T.set(e,o),{face:a,isNew:!0}}function D(e){let t=new Set;for(let n of e)if(!t.has(n)){t.add(n);for(let[e,t]of T){let r=!1;for(let[i,a]of t)if(a.face===n){if(r=!0,a.refs--,a.refs<=0){try{a.set.delete(n)}catch{}t.delete(i),t.size===0&&T.delete(e)}break}if(r)break}}}function O(e){return Promise.race([e,new Promise(e=>setTimeout(e,15e3))])}const k=new Map;function A(e){let t=[],n=/@font-face\\s*\\{([^}]*)\\}/g,r;for(;r=n.exec(e);){let e=r[1],n=t=>e.match(RegExp(`(?:^|;|\\\\n)\\\\s*${t}\\\\s*:\\\\s*([^;]+)`,`i`))?.[1].trim(),i=n(`font-family`),a=n(`src`);if(!i||!a)continue;let o={},s=n(`font-style`);s&&(o.style=s);let c=n(`font-weight`);c&&(o.weight=c);let l=n(`font-stretch`);l&&(o.stretch=l);let u=n(`unicode-range`);u&&(o.unicodeRange=u),t.push({family:i.replace(/^['\"]|['\"]$/g,``),src:a,descriptors:o})}return t}function j(){return typeof document<`u`&&document&&document.fonts?document.fonts:typeof self<`u`&&self&&`fonts`in self?self.fonts:null}function M(e,t){let n=t.descriptors;return[`gfonts`,e,t.family.toLowerCase(),n.style??``,n.weight??``,n.stretch??``,n.unicodeRange??``,t.src].join(`|`)}async function N(e,t,n=j()){let r=n;if(!r||typeof FontFace>`u`||typeof fetch>`u`)return[];let i=new Set,a=new Set,o=new Set,s=new Map,c=new Set;for(let n of e){if(!n)continue;let e=n.toLowerCase();if(i.has(e))continue;i.add(e);let r=t[e];if(!r)continue;o.add(r.url);let c=(r.loadFamily??n).toLowerCase();a.add(c);let l=s.get(r.url);l||(l=new Set,s.set(r.url,l)),l.add(c)}if(a.size===0)return[];let l=await O(Promise.all([...o].map(async e=>{let t=k.get(e);if(t)return{url:e,rules:await t};let n=(async()=>{try{let t=await fetch(e);if(!t.ok)throw Error(`HTTP ${t.status}`);return A(await t.text())}catch{k.delete(e);for(let t of s.get(e)??[])c.add(t);return[]}})();return k.set(e,n),{url:e,rules:await n}}))),u=[],d=[];for(let e of Array.isArray(l)?l:[])for(let t of e.rules){let{face:n,isNew:i}=E(M(e.url,t),r,()=>{let e=new FontFace(t.family,t.src,t.descriptors);return r.add(e),e});u.push(n),i&&d.push(n)}return d.length>0&&await O(Promise.allSettled(d.map(e=>e.load())).then(e=>(e.forEach((e,t)=>{e.status===`rejected`&&c.add(d[t].family.replace(/['\"]/g,``).toLowerCase())}),r.ready))),c.size>0&&console.warn(`[ooxml] failed to preload web font(s): ${[...c].join(`, `)}; falling back to system fonts (text may shift or differ).`),u}function ee(e,t){let n=te(t),r=e.slice(),i=Math.min(32,r.length);for(let e=0;e<i;e++)r[e]^=n[e%16];return r}function te(e){let t=e.replace(/[{}\\-\\s]/g,``);if(t.length!==32||/[^0-9a-fA-F]/.test(t))throw Error(`invalid fontKey GUID: ${e}`);let n=new Uint8Array(16);for(let e=0;e<16;e++)n[e]=parseInt(t.slice(e*2,e*2+2),16);return n.reverse()}function ne(e,t,n,r){let i=2166136261;for(let e=0;e<r.length;e++)i^=r[e],i=Math.imul(i,16777619);return`${e}|${t}|${n}|${r.length}|${(i>>>0).toString(16)}`}async function re(e,t=30*1024*1024){let n=j();if(!n||typeof FontFace>`u`)return[];let r=[],i=[],a=[];for(let o of e)try{if(o.bytes.length===0||o.bytes.length>t){a.push(o.family);continue}let e=o.odttf?ee(o.bytes,o.fontKey??``):o.bytes,{face:s,isNew:c}=E(`embedded:${ne(o.family,o.weight,o.style,e)}`,n,()=>{let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),r=new FontFace(o.family,t,{weight:o.weight,style:o.style});return n.add(r),r});r.push(s),c&&i.push(s)}catch{a.push(o.family)}return i.length>0&&await O(Promise.allSettled(i.map(e=>e.load())).then(e=>(e.forEach((e,t)=>{e.status===`rejected`&&a.push(i[t].family)}),n.ready))),a.length>0&&console.warn(`[ooxml] failed to register embedded font(s): ${[...new Set(a)].join(`, `)}; falling back to substitute fonts (text may shift or differ).`),r}const P=`https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic:wght@400;700&display=swap`,F=`https://fonts.googleapis.com/css2?family=Noto+Sans+Arabic:wght@400;700&display=swap`,I=`https://fonts.googleapis.com/css2?family=Libre+Franklin:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap`,L={calibri:{url:`https://fonts.googleapis.com/css2?family=Carlito:ital,wght@0,400;0,700;1,400;1,700&display=swap`,loadFamily:`Carlito`},\"calibri light\":{url:`https://fonts.googleapis.com/css2?family=Carlito:ital,wght@0,400;0,700;1,400;1,700&display=swap`,loadFamily:`Carlito`},cambria:{url:`https://fonts.googleapis.com/css2?family=Caladea:ital,wght@0,400;0,700;1,400;1,700&display=swap`,loadFamily:`Caladea`},\"cambria math\":{url:`https://fonts.googleapis.com/css2?family=Caladea:ital,wght@0,400;0,700;1,400;1,700&display=swap`,loadFamily:`Caladea`},\"franklin gothic book\":{url:I,loadFamily:`Libre Franklin`},\"franklin gothic medium\":{url:I,loadFamily:`Libre Franklin`},\"nunito sans\":{url:`https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap`},nunito:{url:`https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,400;0,700;1,400;1,700&display=swap`},\"open sans\":{url:`https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap`},roboto:{url:`https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,700;1,400;1,700&display=swap`},lato:{url:`https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400;1,700&display=swap`},montserrat:{url:`https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,700;1,400;1,700&display=swap`},poppins:{url:`https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,700;1,400;1,700&display=swap`},raleway:{url:`https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,400;0,700;1,400;1,700&display=swap`},\"playfair display\":{url:`https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400;1,700&display=swap`},ubuntu:{url:`https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,400;0,700;1,400;1,700&display=swap`},\"sakkal majalla\":{url:P,loadFamily:`Noto Naskh Arabic`},\"traditional arabic\":{url:P,loadFamily:`Noto Naskh Arabic`},\"simplified arabic\":{url:P,loadFamily:`Noto Naskh Arabic`},\"arabic typesetting\":{url:P,loadFamily:`Noto Naskh Arabic`},\"univers next arabic\":{url:F,loadFamily:`Noto Sans Arabic`},\"noto naskh arabic\":{url:P,loadFamily:`Noto Naskh Arabic`},\"noto sans arabic\":{url:F,loadFamily:`Noto Sans Arabic`}};function R(e,t){let n=e.trim();if(!n)throw TypeError(`Canvas font route requires a family list`);return Object.freeze({familyList:n,scope:t,fingerprint:`canvas-font-route-v1:${encodeURIComponent(t)}:${encodeURIComponent(n)}`})}function z(e,t,n,r){if(!Number.isFinite(t)||t<0)throw RangeError(`Canvas font size must be finite and non-negative`);if(!Number.isFinite(n)||n<1||n>1e3)throw RangeError(`Canvas font weight must be finite and between 1 and 1000`);if(!e.familyList.trim())throw TypeError(`Canvas font route requires a family list`);return`${r} ${n} ${t}px ${e.familyList}`}function B(e){if(!e)return null;let t=e.toLowerCase();return/[ᄀ-ᇿ㄰-㆏가-힯]/.test(e)?`kr`:/[぀-ヿ]/.test(e)?`jp`:/jhenghei|微軟正黑|新細明|細明|pmingliu|mingliu|dfkai|標楷|華康|cns11643|kaiti tc|ming\\s*liu/.test(t)||/新細明體|細明體|標楷體|微軟正黑體|華康/.test(e)?`tc`:/simsun|nsimsun|simhei|simkai|simfang|yahei|dengxian|fangsong|kaiti|youyuan|lisu|stsong|stkaiti|stfangsong|stheiti|stxihei|stzhongsong|songti sc|heiti sc|微软雅黑/.test(t)||/宋体|黑体|楷体|仿宋|等线|微软雅黑|隶书|幼圆/.test(e)?`sc`:/malgun|batang|gulim|dotum|gungsuh|nanum|new gulim|hancom|hy(gothic|graphic|namu)?/.test(t)?`kr`:/\\bmeiryo\\b|\\byu\\s*(gothic|mincho)\\b|yugothic|yumincho|hiragino|\\bms\\s*(gothic|mincho|pgothic|pmincho|ui\\s*gothic)\\b|\\bms[pg]?(gothic|mincho)\\b|ipa(ex)?(gothic|mincho)|noto\\s+(sans|serif)\\s+jp|游ゴシック|游明朝|MS|メイリオ|ヒラギノ/.test(t)||/游ゴシック|游明朝|MS ゴシック|MS 明朝|MS Pゴシック|メイリオ|ヒラギノ/.test(e)?`jp`:null}function V(e){if(!e)return`sans`;let t=e.toLowerCase();return/mono|courier|consolas|等幅|gothic_m/.test(t)?`mono`:/roman|times|cambria|caladea|georgia|garamond|century(?!\\s*gothic)|palatino|antiqua|didot|bodoni|playfair|source serif|noto serif|min\\s*cho|明朝体|明朝|song|sung|simsun|nsimsun|batang|gungsuh|ming\\s*liu|mingliu|pmingliu|fang\\s*song|fangsong|kai\\s*ti|kaiti|simkai|simfang|stsong|stkaiti|stfangsong|stzhongsong|新細明|細明|宋体|楷体|楷體|仿宋|標楷|游明朝|MS 明朝|ms mincho|yu mincho|hiragino mincho|ヒラギノ明朝/.test(t)||/新細明體|細明體|宋体|明朝|楷体|楷體|仿宋|標楷體|游明朝|MS 明朝/.test(e)?`serif`:`sans`}function ie(e,t){let n=t===`serif`?`Noto Serif`:`Noto Sans`,r={jp:[`jp`,`sc`,`tc`,`kr`],sc:[`sc`,`tc`,`jp`,`kr`],tc:[`tc`,`sc`,`jp`,`kr`],kr:[`kr`,`jp`,`sc`,`tc`]},i={kr:`KR`,sc:`SC`,tc:`TC`,jp:`JP`};return r[e].map(e=>`${n} ${i[e]}`)}const ae=[`Noto Sans`,`Noto Sans Hebrew`,`Noto Sans Thai`,`Noto Sans Devanagari`],oe=[`Noto Serif`,`Noto Serif Hebrew`],H=e=>`https://fonts.googleapis.com/css2?family=${e}:wght@400;700&display=swap`,se={\"noto sans kr\":{url:H(`Noto+Sans+KR`)},\"noto sans sc\":{url:H(`Noto+Sans+SC`)},\"noto sans tc\":{url:H(`Noto+Sans+TC`)},\"noto sans jp\":{url:H(`Noto+Sans+JP`)},\"noto serif kr\":{url:H(`Noto+Serif+KR`)},\"noto serif sc\":{url:H(`Noto+Serif+SC`)},\"noto serif tc\":{url:H(`Noto+Serif+TC`)},\"noto serif jp\":{url:H(`Noto+Serif+JP`)},\"noto sans\":{url:H(`Noto+Sans`)},\"noto serif\":{url:H(`Noto+Serif`)},\"noto sans devanagari\":{url:H(`Noto+Sans+Devanagari`)},\"noto sans thai\":{url:H(`Noto+Sans+Thai`)},\"noto sans hebrew\":{url:H(`Noto+Sans+Hebrew`)},\"noto serif hebrew\":{url:H(`Noto+Serif+Hebrew`)}};var ce=class e{hasHan=!1;hasHangul=!1;hasKana=!1;hasArabic=!1;hasThai=!1;hasHebrew=!1;hasDevanagari=!1;hasCyrGreek=!1;constructor(e){this.cjkLang=e}clone(){let t=new e(this.cjkLang);return t.hasHan=this.hasHan,t.hasHangul=this.hasHangul,t.hasKana=this.hasKana,t.hasArabic=this.hasArabic,t.hasThai=this.hasThai,t.hasHebrew=this.hasHebrew,t.hasDevanagari=this.hasDevanagari,t.hasCyrGreek=this.hasCyrGreek,t}addText(e){let t=()=>this.hasHan&&this.hasHangul&&this.hasKana&&this.hasArabic&&this.hasThai&&this.hasHebrew&&this.hasDevanagari&&this.hasCyrGreek;outer:for(let n of e)if(n)for(let e of n){let n=e.codePointAt(0);if(n!==void 0&&!(n<=591)&&(n>=4352&&n<=4607||n>=12592&&n<=12687||n>=44032&&n<=55215?this.hasHangul=!0:n>=12352&&n<=12543?this.hasKana=!0:n>=13312&&n<=19903||n>=19968&&n<=40959||n>=63744&&n<=64255||n>=131072&&n<=195103?this.hasHan=!0:n>=1536&&n<=1791||n>=1872&&n<=1919||n>=2208&&n<=2303||n>=64336&&n<=65023||n>=65136&&n<=65279?this.hasArabic=!0:n>=3584&&n<=3711?this.hasThai=!0:n>=1424&&n<=1535||n>=64285&&n<=64335?this.hasHebrew=!0:n>=2304&&n<=2431?this.hasDevanagari=!0:(n>=1024&&n<=1279||n>=880&&n<=1023)&&(this.hasCyrGreek=!0),t()))break outer}}names(){let e=[],t=new Set;this.hasHangul&&t.add(`kr`),this.hasKana&&t.add(`jp`),this.hasHan&&t.size===0&&t.add(this.cjkLang??`jp`);for(let n of[`kr`,`sc`,`tc`,`jp`])if(t.has(n)){let t={kr:`KR`,sc:`SC`,tc:`TC`,jp:`JP`}[n];e.push(`Noto Sans ${t}`,`Noto Serif ${t}`)}return this.hasCyrGreek&&e.push(`Noto Sans`,`Noto Serif`),this.hasArabic&&e.push(`Noto Naskh Arabic`,`Noto Sans Arabic`),this.hasThai&&e.push(`Noto Sans Thai`),this.hasHebrew&&e.push(`Noto Sans Hebrew`,`Noto Serif Hebrew`),this.hasDevanagari&&e.push(`Noto Sans Devanagari`),e}};function le(e,t){let n=new ce(t);return n.addText(e),n.names()}const ue={167:`♣`,168:`♦`,169:`♥`,170:`♠`,171:`↔`,172:`←`,173:`↑`,174:`→`,175:`↓`,183:`•`,184:`÷`,185:`≠`,180:`×`,176:`°`,177:`±`,163:`≤`,179:`≥`},de={33:`✏`,34:`✂`,36:`👓`,74:`☺`,75:`😐`,76:`☹`,118:`❖`,167:`▪`,108:`●`,110:`■`,116:`◆`,119:`◆`,251:`✗`,252:`✓`,253:`☒`,254:`☑`,223:`←`,224:`→`,225:`↑`,226:`↓`,227:`↖`,228:`↗`,229:`↙`,230:`↘`};function fe(e){let t={};for(let n of Object.keys(e)){let r=Number(n);t[r]=e[r],t[61440+r]=e[r]}return t}const U=fe(ue),W=fe(de);function pe(e,t){if(!t)return e;let n=t.trim().toLowerCase(),r=n===`wingdings`?W:n===`symbol`?U:null;return r?r[e.charCodeAt(0)]??e:e}function G(e){if(!e)return!1;let t=e.toLowerCase();return t===`symbol`||t.includes(`wingdings`)}function me(e,t){if(!G(t)||e.length===0)return[{text:e,mapped:!1}];let n=[],r=``,i=null;for(let a of e){let e=pe(a,t),o=e!==a;i===null||o===i?(i=o,r+=e):(n.push({text:r,mapped:i}),i=o,r=e)}return r.length>0&&n.push({text:r,mapped:i??!1}),n}function he(e,t,n){return e.titleFontSizeHpt?e.titleFontSizeHpt/100*n:Math.max(10,t*.085)}const ge=.62;function _e(e,t,n,r,i){if(!e.title)return{fontPx:0,topPad:0,bottomPad:0,bandH:0};let a=he(e,t,n),o=a+t*r+t*i,s=Math.min(Math.max(0,o-a),a*ge);return{fontPx:a,topPad:s,bottomPad:o-a-s,bandH:o}}function ve(e,t,n,r){if(!e.showLegend)return null;let i=e.legendPos??`r`,a=i===`l`?`l`:i===`t`?`t`:i===`b`?`b`:`r`;return a===`r`||a===`l`?{side:a,reserveW:Math.max(80,t*r),reserveH:0}:{side:a,reserveW:0,reserveH:Math.max(18,n*.08)}}function ye(e){return{legRightW:e?.side===`r`?e.reserveW:0,legLeftW:e?.side===`l`?e.reserveW:0,legTopH:e?.side===`t`?e.reserveH:0,legBottomH:e?.side===`b`?e.reserveH:0}}function be(e,t,n){return e?e/100*n:Math.max(8,Math.min(10,t*.045))}function xe(e){return Math.max(8,e*.02)}function Se(e,t,n,r){let i=be(e.catAxisTitleFontSizeHpt,n,r),a=be(e.valAxisTitleFontSizeHpt,n,r);return{catFontPx:i,valFontPx:a,catBandH:e.catAxisTitle?i+xe(n)+4:0,valBandW:e.valAxisTitle?a+xe(t)+4:0}}function Ce(e,t,n){if(!e.title)return{fontPx:0,topPad:0,bottomPad:0,bandH:0};let r=he(e,t,n),i=r*2.25,a=Math.min(Math.max(0,i-r),r*ge);return{fontPx:r,topPad:a,bottomPad:i-r-a,bandH:i}}function we(e){return e*2.75}function Te(e,t,n,r,i,a,o){let s=o.titleBand??_e(e,i,a,o.titleTopPadFrac??0,o.titleBottomPadFrac??0),c=ve(e,r,i,o.legendSideReserveFrac),l=ye(c),u=Se(e,r,i,a),d,f,p,m;if(o.radialGapFrac!=null){let e=i*o.radialGapFrac;p=r-l.legRightW-l.legLeftW,m=i-s.bandH-l.legTopH-l.legBottomH-e,d=t+l.legLeftW,f=n+s.bandH+l.legTopH+e}else{let a=o.pad;if(!a)throw Error(`computeChartFrame: cartesian frame requires params.pad`);let s=o.honorPlotAreaManualLayout?e.plotAreaManualLayout:null;if(s&&s.w!=null&&s.h!=null){let e=t+s.x*r,a=n+s.y*i;d=e,f=a,p=s.w*r,m=s.h*i}else d=t+a.l,f=n+a.t,p=r-a.l-a.r,m=i-a.t-a.b}return{title:s,legend:c,legendBands:l,axisTitles:u,plotRect:{px0:d,py0:f,pw:p,ph:m},center:{cx:d+p/2,cy:f+m/2}}}function K(e,t=5){if(e===0)return 1;let n=e/t,r=10**Math.floor(Math.log10(n)),i=n/r;return(i<1.5?1:i<3.5?2:i<7.5?5:10)*r}function Ee(e,t,n=0){if(e<=0)return t;let r=e+(e-n)/20;return Math.ceil(r/t)*t}function De(e,t){if(e>=0)return 0;let n=Math.floor(e/t)*t;return Math.abs(n-e)<t*1e-9?n-t:n}function Oe(e){return e==null||!isFinite(e)||e<=0?5:Math.min(15,Math.max(4,Math.round(e/42)))}function ke(e,t,n,r,i,a){let o=K(t-e,Oe(i)),s=a!=null&&isFinite(a)&&a>0?a:o,c=n??De(e,o);return{min:c,max:r??Ee(t,o,c),step:s}}function Ae(e,t,n,r){let i,a=r?.logBase;if(a!=null&&isFinite(a)&&a>=2&&t>0&&n>0){let r=Math.log(t),a=Math.log(n)-r;i=a===0?0:(Math.log(Math.max(e,Number.MIN_VALUE))-r)/a}else{let r=n-t;i=r===0?0:(e-t)/r}return r?.reversed?1-i:i}function je(e,t,n,r,i){let a=isFinite(n)&&n>=2?n:10,o=e=>Math.log(e)/Math.log(a),s=t>0?t:1,c=Math.floor(o(e>0?e:s)),l=Math.ceil(o(s)),u=r??a**+c,d=i??a**+Math.max(l,c+1),f=[],p=Math.ceil(o(u)-1e-9),m=Math.floor(o(d)+1e-9);for(let e=p;e<=m;e++)f.push(a**+e);return{min:u,max:d,lines:f}}function Me(e,t,n,r){let i=Math.min(e.length,t.length);if(i<2)return{xs:[],ys:[]};if(n===`linear`){let n=r?.intercept,a=0,o=0,s=0,c=0;for(let n=0;n<i;n++)a+=e[n],o+=t[n],s+=e[n]*e[n],c+=e[n]*t[n];let l,u;if(n!=null&&isFinite(n)){let e=s,t=c-n*a;l=e===0?0:t/e,u=n}else{let e=i*s-a*a;l=e===0?0:(i*c-a*o)/e,u=(o-l*a)/i}let d=e[0],f=e[i-1];return{xs:[d,f],ys:[l*d+u,l*f+u]}}if(n===`movingAvg`){let n=Math.max(2,Math.round(r?.period??2));if(i<n)return{xs:[],ys:[]};let a=[],o=[];for(let r=n-1;r<i;r++){let i=0;for(let e=0;e<n;e++)i+=t[r-e];a.push(e[r]),o.push(i/n)}return{xs:a,ys:o}}return{xs:[],ys:[]}}const Ne=12700;function Pe(e,t){return e?Math.max(.5,e/Ne)*t:1}function Fe(e,t,n){return{color:e?`#${e}`:`#aaa`,width:Pe(t,n)}}function Ie(e,t,n){return{color:e?`#${e}`:`#e0e0e0`,width:t?Pe(t,n):.5}}function Le(e){return e.catAxisCrossBetween!==`midCat`}const Re=864e5,ze=Date.UTC(1899,11,30),Be=Date.UTC(1904,0,1);function Ve(e,t=!1){if(t)return new Date(Be+e*Re);let n=e<60?e+1:e;return new Date(ze+n*Re)}function He(e,t){if(!Number.isFinite(e))return String(e);let n=Math.max(0,Math.trunc(t)),r=e<0,[i,a=``]=Ue(Math.abs(e).toString()).split(`.`),o=a.padEnd(n+1,`0`),s=o.slice(0,n),c=o.charCodeAt(n)-48,l=(i+s).split(``).map(e=>e.charCodeAt(0)-48);if(c>=5){let e=l.length-1;for(;e>=0;e--)if(l[e]===9)l[e]=0;else{l[e]+=1;break}e<0&&l.unshift(1)}let u=l.map(e=>String(e)).join(``),d=n,f=(d>0?u.slice(0,u.length-d):u)||`0`,p=d>0?u.slice(u.length-d):``,m=f.replace(/^0+(?=\\d)/,``),h=p.length>0?`${m}.${p}`:m,g=/^[0.]*$/.test(h)&&!/[1-9]/.test(h);return r&&!g?`-${h}`:h}function Ue(e){let t=/^(\\d+)(?:\\.(\\d+))?[eE]([+-]?\\d+)$/.exec(e);if(!t)return e;let[,n,r=``,i]=t,a=parseInt(i,10),o=n+r,s=n.length+a;return s<=0?`0.`+`0`.repeat(-s)+o:s>=o.length?o+`0`.repeat(s-o.length):o.slice(0,s)+`.`+o.slice(s)}function We(e){return Number.isInteger(e)?String(e):He(e,6).replace(/\\.?0+$/,``)}function Ge(e,t,n=!1){if(!t||t.trim().toLowerCase()===`general`)return We(e);if(qe(t))return Je(e,t,n);let r=Ye(t),i;return i=e>0?r[0]??t:e<0?r[1]??r[0]??t:r[2]??r[0]??t,i===``?``:(e<0&&r.length<2?`-`:``)+Xe(Math.abs(e),i)}function Ke(e,t,n=!1){if(!t||e.trim()===``)return e;let r=Number(e);return Number.isFinite(r)?Ge(r,t,n):e}function qe(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];if(r===`\"`){t=!t;continue}if(!t){if(r===`\\\\`){n++;continue}if(r===`[`){for(;n<e.length&&e[n]!==`]`;)n++;continue}if(r===`y`||r===`Y`||r===`d`||r===`D`||r===`m`||r===`M`||r===`h`||r===`H`||r===`s`||r===`S`)return!0}}return!1}function Je(e,t,n=!1){let r=Ve(Math.floor(e),n),i=r.getUTCFullYear(),a=r.getUTCMonth()+1,o=r.getUTCDate(),s=(e-Math.floor(e))*86400,c=Math.floor(s/3600),l=Math.floor(s%3600/60),u=Math.floor(s%60),d=``,f=!1,p=0;for(;p<t.length;){let e=t[p];if(e===`\"`){f=!f,p++;continue}if(f){d+=e,p++;continue}if(e===`\\\\`&&p+1<t.length){d+=t[p+1],p+=2;continue}if(e===`[`){for(;p<t.length&&t[p]!==`]`;)p++;p<t.length&&p++;continue}if(e===`y`||e===`Y`){let e=0;for(;p<t.length&&(t[p]===`y`||t[p]===`Y`);)e++,p++;d+=e>=3?String(i):String(i%100).padStart(2,`0`);continue}if(e===`m`||e===`M`){let e=0;for(;p<t.length&&(t[p]===`m`||t[p]===`M`);)e++,p++;d.match(/[Hh]+\\W*$/)?d+=e>=2?String(l).padStart(2,`0`):String(l):d+=e>=2?String(a).padStart(2,`0`):String(a);continue}if(e===`d`||e===`D`){let e=0;for(;p<t.length&&(t[p]===`d`||t[p]===`D`);)e++,p++;d+=e>=2?String(o).padStart(2,`0`):String(o);continue}if(e===`h`||e===`H`){let e=0;for(;p<t.length&&(t[p]===`h`||t[p]===`H`);)e++,p++;d+=e>=2?String(c).padStart(2,`0`):String(c);continue}if(e===`s`||e===`S`){let e=0;for(;p<t.length&&(t[p]===`s`||t[p]===`S`);)e++,p++;d+=e>=2?String(u).padStart(2,`0`):String(u);continue}d+=e,p++}return d}function Ye(e){let t=[],n=``;for(let r=0;r<e.length;r++){let i=e[r];if(i===`\\\\`&&r+1<e.length){n+=i+e[r+1],r++;continue}if(i===`\"`){for(n+=i,r++;r<e.length&&e[r]!==`\"`;)n+=e[r],r++;r<e.length&&(n+=e[r]);continue}if(i===`[`){for(n+=i,r++;r<e.length&&e[r]!==`]`;)n+=e[r],r++;r<e.length&&(n+=e[r]);continue}if(i===`;`){t.push(n),n=``;continue}n+=i}return t.push(n),t}function Xe(e,t){let n=[],r=0,i=!1,a=!1;for(;r<t.length;){let e=t[r];if(e===`\"`){r++;let e=``;for(;r<t.length&&t[r]!==`\"`;)e+=t[r],r++;r<t.length&&r++,n.push({kind:`lit`,text:e});continue}if(e===`\\\\`&&r+1<t.length){n.push({kind:`lit`,text:t[r+1]}),r+=2;continue}if(e===`_`&&r+1<t.length){n.push({kind:`lit`,text:` `}),r+=2;continue}if(e===`*`&&r+1<t.length){r+=2;continue}if(e===`[`){for(r++;r<t.length&&t[r]!==`]`;)r++;r<t.length&&r++;continue}if(e===`%`){a=!0,n.push({kind:`lit`,text:`%`}),r++;continue}if(e===`#`||e===`0`||e===`.`||e===`,`||e===`?`){let e=``;for(;r<t.length&&(t[r]===`#`||t[r]===`0`||t[r]===`.`||t[r]===`,`||t[r]===`?`);)e+=t[r],r++;n.push({kind:`num`,text:e}),i=!0;continue}n.push({kind:`lit`,text:e}),r++}if(!i)return n.map(e=>e.text).join(``);let o=a?e*100:e,s=``;for(let e of n)e.kind===`num`&&(s+=e.text);let c=Ze(o,s),l=!1;return n.map(e=>e.kind===`lit`?e.text:l?``:(l=!0,c)).join(``)}function Ze(e,t){let n=t.indexOf(`.`),r=n>=0?t.slice(0,n):t,i=n>=0?t.slice(n+1):``,a=/,/.test(r),o=(i.match(/[#0?]/g)??[]).length,s=(r.replace(/,/g,``).match(/0/g)??[]).length,[c,l=``]=He(e,o).split(`.`),u=c.padStart(s,`0`),d=a?u.replace(/\\B(?=(\\d{3})+(?!\\d))/g,`,`):u;return o===0?d:`${d}.${l.padEnd(o,`0`)}`}function Qe(e,t,n){if(t===``||n<=0)return``;if(e.measureText(t).width<=n)return t;if(e.measureText(`…`).width>n)return``;let r=0,i=t.length-1,a=0;for(;r<=i;){let o=r+i>>1;e.measureText(t.slice(0,o)+`…`).width<=n?(a=o,r=o+1):i=o-1}let o=a>0?t.charCodeAt(a-1):0;return o>=55296&&o<=56319&&a--,t.slice(0,a)+`…`}function $e(e,t){return[Math.max(1,Math.ceil(e)),Math.max(1,Math.ceil(t))]}function et(e,t){let[n,r]=$e(e,t);if(typeof OffscreenCanvas<`u`)return new OffscreenCanvas(n,r);if(typeof document<`u`){let e=document.createElement(`canvas`);return e.width=n,e.height=r,e}return null}function tt(e,t,n){let[r,i]=$e(t,n);if(typeof OffscreenCanvas<`u`)try{return new OffscreenCanvas(r,i)}catch{}if(typeof document<`u`)try{let e=document.createElement(`canvas`);return e.width=r,e.height=i,e}catch{}try{let t=e.canvas?.constructor;return typeof t==`function`?new t(r,i):null}catch{return null}}const nt={pct5:[0,16,0,0,0,1,0,0],pct10:[136,0,34,0,136,0,34,0],pct20:[136,34,136,34,136,34,136,34],pct25:[136,85,34,85,136,85,34,85],pct30:[170,85,170,85,170,85,170,85],pct40:[170,119,170,221,170,119,170,221],pct50:[170,85,170,85,170,85,170,85],pct60:[221,85,119,85,221,85,119,85],pct70:[238,85,187,85,238,85,187,85],pct75:[238,170,187,170,238,170,187,170],pct80:[254,239,251,191,254,239,251,191],pct90:[255,239,255,251,255,239,255,251],horz:[255,0,0,0,255,0,0,0],vert:[136,136,136,136,136,136,136,136],ltHorz:[0,255,0,0,0,0,0,0],ltVert:[32,32,32,32,32,32,32,32],dkHorz:[255,255,0,0,255,255,0,0],dkVert:[204,204,204,204,204,204,204,204],narHorz:[255,0,255,0,255,0,255,0],narVert:[170,170,170,170,170,170,170,170],cross:[255,136,136,136,255,136,136,136],lgGrid:[255,128,128,128,128,128,128,128],smGrid:[255,136,136,136,255,136,136,136],dotGrid:[136,0,0,0,136,0,0,0],dnDiag:[128,64,32,16,8,4,2,1],upDiag:[1,2,4,8,16,32,64,128],ltDnDiag:[136,68,34,17,136,68,34,17],ltUpDiag:[17,34,68,136,17,34,68,136],dkDnDiag:[195,129,0,129,195,129,0,129],dkUpDiag:[195,129,0,129,195,129,0,129],wdDnDiag:[128,64,32,16,8,4,2,129],wdUpDiag:[1,2,4,8,16,32,64,129],diagCross:[129,66,36,24,24,36,66,129],horzBrick:[255,16,16,16,255,1,1,1],diagBrick:[129,66,36,24,36,66,129,0],lgCheck:[240,240,240,240,15,15,15,15],smCheck:[204,204,51,51,204,204,51,51],trellis:[165,90,165,90,165,90,165,90]};function rt(e,t,n){let r=nt[e];if(!r)return null;let i=et(8,8);if(!i)return null;let a=i.getContext(`2d`);if(!a)return null;a.fillStyle=it(n),a.fillRect(0,0,8,8),a.fillStyle=it(t);for(let e=0;e<8;e++){let t=r[e];for(let n=0;n<8;n++)t&1<<7-n&&a.fillRect(n,e,1,1)}return i}function it(e){return`rgba(${parseInt(e.slice(0,2),16)},${parseInt(e.slice(2,4),16)},${parseInt(e.slice(4,6),16)},${e.length>=8?parseInt(e.slice(6,8),16)/255:1})`}function at(e,t){return e.map(e=>e*t)}const ot={dotted:[1,2],dashed:[3,2],dashSmallGap:[3,1],dotDash:[1,2,3,2],dotDotDash:[1,2,1,2,3,2],dashDotStroked:[1,2,3,2]};function st(e,t){let n=ot[e];return n?at(n,t):[]}const ct={dash:[6,3],dot:[1.5,3],dashDot:[6,3,1.5,3],lgDash:[10,4],lgDashDot:[10,4,1.5,4],lgDashDotDot:[10,4,1.5,4,1.5,4],sysDash:[4,2],sysDot:[1,2],sysDashDot:[4,2,1,2],sysDashDotDot:[4,2,1,2,1,2]};function lt(e,t){let n=ct[e];return n?at(n,t):[]}function ut(e,t){let n=lt(e,t);if(n.length>0)return n;let r=e.trim().split(/[\\s,]+/).map(Number);return r.length>=2&&r.every(e=>Number.isFinite(e)&&e>=0)&&r.some(e=>e>0)?(r.length%2!=0&&r.pop(),at(r,t)):[]}function dt(e,t,n,r,i,a,o){let s=e.tileRect;if(!s||(s.l??0)===0&&(s.t??0)===0&&(s.r??0)===0&&(s.b??0)===0)return null;let c=n+i*(s.l??0),l=r+a*(s.t??0),u=i*(1-(s.l??0)-(s.r??0)),d=a*(1-(s.t??0)-(s.b??0));if(!Number.isFinite(u)||!Number.isFinite(d)||Math.abs(u)<1e-9||Math.abs(d)<1e-9)return null;let f=Math.min(1,512/Math.abs(u),512/Math.abs(d)),p=Math.max(1,Math.ceil(Math.abs(u)*f)),m=Math.max(1,Math.ceil(Math.abs(d)*f)),h=tt(t,p,m),g=h?.getContext(`2d`);if(!h||!g)return null;let _=ht({...e,tileRect:void 0,flip:void 0},g,0,0,p,m,o);if(!_)return null;g.fillStyle=_,g.fillRect(0,0,p,m);let v=e.flip===`x`||e.flip===`xy`,y=e.flip===`y`||e.flip===`xy`,b=h;if(v||y){let e=tt(t,p*(v?2:1),m*(y?2:1)),n=e?.getContext(`2d`);if(!e||!n)return null;for(let e=0;e<(y?2:1);e+=1)for(let t=0;t<(v?2:1);t+=1)n.save(),n.translate(t*p,e*m),n.scale(t===1?-1:1,e===1?-1:1),n.drawImage(h,t===1?-p:0,e===1?-m:0),n.restore();b=e}let x=t.createPattern(b,`repeat`);return!x||typeof x.setTransform!=`function`?null:(x.setTransform({a:u/p,b:0,c:0,d:d/m,e:c,f:l}),x)}function ft(e,t=1){let n=e.charCodeAt(0)===35?e.slice(1):e;return`rgba(${parseInt(n.slice(0,2),16)},${parseInt(n.slice(2,4),16)},${parseInt(n.slice(4,6),16)},${n.length>=8?parseInt(n.slice(6,8),16)/255:t})`}function pt(e){let t=e.charCodeAt(0)===35?e.slice(1):e,n=parseInt(t.slice(0,2),16),r=parseInt(t.slice(2,4),16),i=parseInt(t.slice(4,6),16);return .299*n+.587*r+.114*i}function mt(e){return e&&pt(e)<128?`#FFFFFF`:`#000000`}function ht(e,t,n,r,i,a,o=0){if(!e||e.fillType===`none`)return null;if(e.fillType===`solid`)return ft(e.color);if(e.fillType===`pattern`)return _t(e,t);if(e.fillType===`gradient`){let s=e.stops;if(s.length===0)return null;if(s.length===1)return ft(s[0].color);let c=dt(e,t,n,r,i,a,o);if(c)return c;let l,u=e.tileRect,d=n+i*(u?.l??0),f=r+a*(u?.t??0),p=i*(1-(u?.l??0)-(u?.r??0)),m=a*(1-(u?.t??0)-(u?.b??0));if(e.gradType===`radial`){let n=e.fillToRect,r=d+p*(n?.l??0),i=f+m*(n?.t??0),a=p*(1-(n?.l??0)-(n?.r??0)),o=m*(1-(n?.t??0)-(n?.b??0)),s=r+a/2,c=i+o/2,u=Math.max(Math.abs(s-d),Math.abs(d+p-s)),h=Math.max(Math.abs(c-f),Math.abs(f+m-c)),g=e.path===`rect`?Math.max(u,h):Math.sqrt(u*u+h*h);l=t.createRadialGradient(s,c,0,s,c,Math.max(g,1e-9))}else{let n=(e.rotWithShape===!1?e.angle-o:e.angle)*Math.PI/180,r=Math.cos(n),i=Math.sin(n);if(e.scaled===!0){r*=p,i*=m;let e=Math.hypot(r,i);e>0&&(r/=e,i/=e)}let a=d+p/2,s=f+m/2,c=(Math.abs(r)*p+Math.abs(i)*m)/2;l=t.createLinearGradient(a-r*c,s-i*c,a+r*c,s+i*c)}for(let e of s)l.addColorStop(Math.min(1,Math.max(0,e.position)),ft(e.color));return l}return null}const gt=new WeakMap;function _t(e,t){let n=`${e.preset}|${e.fg}|${e.bg}`,r=gt.get(t);r||(r=new Map,gt.set(t,r));let i=r.get(n);if(i)return i;let a=rt(e.preset,e.fg,e.bg);if(!a)return ft(e.fg);let o=t.createPattern(a,`repeat`);return o?(r.set(n,o),o):ft(e.fg)}function vt(e,t,n){if(!t){e.strokeStyle=`transparent`,e.lineWidth=0,e.setLineDash([]),e.lineCap=`butt`,e.lineJoin=`miter`,e.miterLimit=10;return}e.strokeStyle=ft(t.color);let r=Math.max(.5,t.width*n);e.lineWidth=r;let i=t.customDash?t.customDash.flatMap(e=>[Math.max(0,e.dash)*r,Math.max(0,e.space)*r]):t.dashStyle?ut(t.dashStyle,r):[],a=t.lineCap??`butt`,o=i.some((e,t)=>t%2==0&&e===0);e.lineCap=a===`butt`&&o?`square`:a,e.lineJoin=t.lineJoin??`miter`,e.miterLimit=t.miterLimit??10,e.setLineDash(i)}const yt=[`4472C4`,`ED7D31`,`A9D18E`,`FF0000`,`70AD47`,`4BACC6`,`FFC000`,`9E480E`,`843C0C`,`636363`,`255E91`,`967300`];function bt(e,t){return t?.color?`#${t.color}`:`#${yt[e%yt.length]}`}function xt(e,t){let n=t.dataPointColors?.[e];return n?`#${n}`:`#${yt[e%yt.length]}`}function St(e,t){let n=e.startsWith(`#`)?e.slice(1):e;if(n.length<6)return`#${n}`;let r=Math.max(0,Math.min(1,t)),i=Math.round(parseInt(n.slice(0,2),16)*r),a=Math.round(parseInt(n.slice(2,4),16)*r),o=Math.round(parseInt(n.slice(4,6),16)*r),s=e=>e.toString(16).padStart(2,`0`);return`#${s(i)}${s(a)}${s(o)}`}function Ct(e,t){return t&&(t.startsWith(`+mj`)?e.themeMajorFontLatin??null:t.startsWith(`+mn`)?e.themeMinorFontLatin??null:t)}function wt(e,t,n){let r=n===`major`?e.themeMajorFontLatin:e.themeMinorFontLatin,i=Ct(e,t)??r;return i?`\"${i}\", Calibri, Arial, sans-serif`:`sans-serif`}function Tt(e){return e===`pie`||e===`doughnut`}function Et(e){return!!e.varyColors&&e.series.length===1&&typeof e.chartType==`string`&&/Bar/.test(e.chartType)}function Dt(e,t,n,r=!1){if(r||Tt(e)){let e=t[0];return e?xt(n,e):`#${yt[n%yt.length]}`}return bt(n,t[n])}function Ot(e,t,n,r,i,a,o,s,c,l=`sans-serif`){e.save(),e.font=`${o?`bold `:``}${a}px ${l}`,e.fillStyle=s;let u=Qe(e,t,c);i===`cat`?(e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(u,n,r)):(e.translate(n,r),e.rotate(-Math.PI/2),e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(u,0,0)),e.restore()}function kt(e){return e?`#${e}`:`#555`}function At(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(t.valAxisTitle){let r=n+u+xe(i)+p/2,a=s+l/2;Ot(e,t.valAxisTitle,r,a,`val`,p,t.valAxisTitleFontBold??!0,kt(t.valAxisTitleFontColor),l,wt(t,t.valAxisTitleFontFace,`major`))}if(t.catAxisTitle){let n=o+c/2,i=r+a-d-xe(a)-f/2;Ot(e,t.catAxisTitle,n,i,`cat`,f,t.catAxisTitleFontBold??!0,kt(t.catAxisTitleFontColor),c,wt(t,t.catAxisTitleFontFace,`major`))}}function jt(e){return e&&(e===`line`||e===`stackedLine`||e===`stackedLinePct`||e===`radar`||e===`scatter`||e===`stock`)?`line`:`fill`}function Mt(e,t,n){if(e!==`scatter`)return!1;let r=t??`marker`;return(r===`line`||r===`lineMarker`||r===`lineNoMarker`||r===`smooth`||r===`smoothMarker`||r===`smoothNoMarker`)&&n.lineHidden!==!0}function Nt(e,t,n,r){if(e!==`scatter`)return null;let i=n[r];if(!i||Mt(e,t,i))return null;let a=i.markerSymbol??`circle`;if(a===`none`)return null;let o=bt(r,i);return{symbol:a,fill:i.markerFill??o.replace(/^#/,``),line:i.markerLine??null}}function Pt(e,t,n,r,i,a,o,s=null){if(s){yn(e,r+a/2,i+o/2,s.symbol,o,s.fill,s.line,1);return}if(e.fillStyle=n,t===`line`){e.strokeStyle=n;let t=e.lineWidth;e.lineWidth=Math.max(1.5,o*.15),e.beginPath();let s=i+o/2;e.moveTo(r,s),e.lineTo(r+a,s),e.stroke(),e.lineWidth=t}else e.fillRect(r,i,a,o)}function Ft(e,t,n,r=!1,i=[]){if(r||Tt(t)){let n=e[0],a=n?n.values.length:0,o=n?.categories??i;return Array.from({length:a},(n,i)=>({label:(o[i]??`Item ${i+1}`).toString(),color:Dt(t,e,i,r),marker:null,swatchStyle:jt(t)}))}return e.map((r,i)=>({label:r.name||`Series ${i+1}`,color:Dt(t,e,i),marker:Nt(t,n,e,i),swatchStyle:jt(r.seriesType??t)}))}const It={fontFamily:`sans-serif`,color:`#333`,bold:!1,sizePx:null};function Lt(e,t,n,r,i,a,o=`vertical`,s,c=It,l,u=!1,d=[]){let f=Ft(t,s,l,u,d),p=c.bold?`bold `:``;if(o===`horizontal`){let t=c.sizePx??Math.max(9,Math.min(12,a*.7));e.font=`${p}${t}px ${c.fontFamily}`,e.textBaseline=`middle`;let o=Math.max(1,f.length),s=i-10-4,l=f.map(t=>Qe(e,t.label,s)),u=l.map(t=>14+e.measureText(t).width),d=n+(i-(u.reduce((e,t)=>e+t,0)+12*(o-1)))/2,m=r+a/2;for(let n=0;n<f.length;n++)Pt(e,f[n].swatchStyle,f[n].color,d,m-t/2,10,t,f[n].marker),e.fillStyle=c.color,e.textAlign=`left`,e.fillText(l[n],d+10+4,m),d+=u[n]+12;return}let m=c.sizePx??Math.max(9,Math.min(12,a/(f.length+1)));e.font=`${p}${m}px ${c.fontFamily}`,e.textBaseline=`middle`;let h=m+4,g=i-10-4,_=r+(a-h*f.length)/2;for(let t=0;t<f.length;t++)Pt(e,f[t].swatchStyle,f[t].color,n,_,10,m,f[t].marker),e.fillStyle=c.color,e.textAlign=`left`,e.fillText(Qe(e,f[t].label,g),n+10+4,_+m/2),_+=h}function Rt(e){let t=Ct(e,e.legendFontFace)??e.themeMinorFontLatin;return{fontFamily:t?`\"${t}\", Calibri, Arial, sans-serif`:`sans-serif`,color:e.legendFontColor?`#${e.legendFontColor}`:`#333`,bold:e.legendFontBold??!1,sizePx:e.legendFontSizeHpt==null?null:e.legendFontSizeHpt/100}}function zt(e,t,n,r,i,a,o,s,c,l,u,d){if(!n)return;let f=Rt(t),p=Et(t),m=t.legendManualLayout;if(m&&m.xMode===`edge`&&m.yMode===`edge`&&m.w>0&&m.h>0){let n=r+m.x*a,s=i+m.y*o,c=m.w*a,l=m.h*o,u=c>=l?`horizontal`:`vertical`;Lt(e,t.series,n,s,c,l,u,t.chartType,f,t.scatterStyle,p,t.categories);return}switch(n.side){case`r`:Lt(e,t.series,r+a-n.reserveW+4,c,n.reserveW-8,u,`vertical`,t.chartType,f,t.scatterStyle,p,t.categories);break;case`l`:Lt(e,t.series,r+4,c,n.reserveW-8,u,`vertical`,t.chartType,f,t.scatterStyle,p,t.categories);break;case`t`:Lt(e,t.series,s,i+d,l,n.reserveH,`horizontal`,t.chartType,f,t.scatterStyle,p,t.categories);break;case`b`:Lt(e,t.series,s,i+o-n.reserveH,l,n.reserveH,`horizontal`,t.chartType,f,t.scatterStyle,p,t.categories);break}}function Bt(e,t,n,r,i,a,o,s=!1){if(t===`none`||!t)return;let c=o?Math.max(4,o+2):4,l=e.strokeStyle,u=e.lineWidth;if(e.strokeStyle=a??`#888`,e.lineWidth=o??1,e.beginPath(),n===`val`){let n=r,a=i,o=s?1:-1,l=t===`out`||t===`cross`?o*c:0,u=t===`in`||t===`cross`?-o*c:0;e.moveTo(n+l,a),e.lineTo(n+u,a)}else{let n=r,a=i,o=t===`out`||t===`cross`?c:0,s=t===`in`||t===`cross`?-c:0;e.moveTo(a,n+o),e.lineTo(a,n+s)}e.stroke(),e.strokeStyle=l,e.lineWidth=u}function Vt(e,t,n,r,i,a){a&&a.explicit?(e.strokeStyle=a.color,e.lineWidth=a.width):(e.strokeStyle=i?`#aaa`:a?.color??`#e0e0e0`,e.lineWidth=i?1:a?.width??.5),e.beginPath(),e.moveTo(t,r),e.lineTo(t+n,r),e.stroke()}function Ht(e,t){let{color:n,width:r}=Ie(e.valAxisGridlineColor,e.valAxisGridlineWidthEmu,t);return{color:n,width:r,explicit:e.valAxisGridlineColor!=null}}function Ut(e){return e.catAxisMajorGridlines===!0}function Wt(e,t){return Ie(e.catAxisGridlineColor,e.catAxisGridlineWidthEmu,t)}function Gt(e,t){if(t<=0)return[];let n=Le(e),r=[],i=n?t:t-1;for(let e=0;e<=i;e++)r.push(n?e/t:t===1?.5:e/(t-1));return r}function Kt(e){return e.valAxisOrientation===`maxMin`}function qt(e){return e.catAxisOrientation===`maxMin`}function Jt(e){return e.valAxisMajorGridlines!==!1}function Yt(e,t){return e==null||!t?e:e*100}function Xt(e,t,n){return Ge(n?t/100:t,n?e.valAxisFormatCode??`0%`:e.valAxisFormatCode,e.date1904)}function Zt(e,t,n,r,i=!1){let a=Kt(e),o=e.valAxisLogBase,s=Yt(e.valMin,i)??(i?t:e.valMin),c=Yt(e.valMax,i)??(i?n:e.valMax),l=Yt(e.valAxisMajorUnit,i);if(o!=null&&isFinite(o)&&o>=2){let{min:e,max:r,lines:i}=je(t,n,o,s,c);return{min:e,max:r,step:i.length>1?i[1]-i[0]:r-e,majorLines:i,minorLines:[],frac:t=>Ae(t,e,r,{logBase:o,reversed:a})}}let{min:u,max:d,step:f}=ke(t,n,s,c,r,l),p=d-u||1,m=[],h=Math.round((d-u)/f);for(let e=0;e<=h;e++)m.push(u+e*f);let g=[],_=Yt(e.valAxisMinorUnit,i);if(e.valAxisMinorGridlines&&_!=null&&isFinite(_)&&_>0&&_<f)for(let e=u+_;e<d-1e-9;e+=_)Math.abs((e-u)/f-Math.round((e-u)/f))>1e-6&&g.push(e);return{min:u,max:d,step:f,majorLines:m,minorLines:g,frac:e=>a?1-(e-u)/p:(e-u)/p}}function Qt(e,t,n,r,i,a){let o=t.trendLines;if(!o||o.length===0)return;let s=[],c=[];for(let e=0;e<t.values.length;e++){let n=t.values[e];n!=null&&(s.push(e),c.push(n))}if(s.length<2)return;let l=e.getLineDash?e.getLineDash():[];for(let t of o){let o=Me(s,c,t.trendlineType,{period:t.period,intercept:t.intercept});if(o.xs.length<2)continue;let l=o.xs,u=o.ys;if(t.trendlineType===`linear`){let e=(o.ys[1]-o.ys[0])/(o.xs[1]-o.xs[0]||1),n=t.backward??0,r=t.forward??0;l=[o.xs[0]-n,o.xs[1]+r],u=[o.ys[0]-e*n,o.ys[1]+e*r]}e.strokeStyle=t.lineColor?`#${t.lineColor}`:n,e.lineWidth=t.lineWidthEmu?Pe(t.lineWidthEmu,a):1.5,e.setLineDash([6,4]),e.beginPath();for(let t=0;t<l.length;t++){let n=r(l[t]),a=i(u[t]);t===0?e.moveTo(n,a):e.lineTo(n,a)}e.stroke()}e.setLineDash(l)}function $t(e,t,n){return e?e/100*n:Math.max(8,t*.045)}function en(e){return e.catAxisTickLabelPos!==`none`}function tn(e){let t=e.catAxisLabelRotation;return t==null||t===0||Math.abs(t)>54e5?0:t/6e4*(Math.PI/180)}function nn(e,t,n,r,i){if(i===0){e.fillText(t,n,r);return}e.save(),e.translate(n,r),e.rotate(i),e.textAlign=`right`,e.textBaseline=`middle`,e.fillText(t,0,0),e.restore()}function rn(e,t,n){if(!e)return null;let r=[];for(let e of t)if(e.useSecondaryAxis===!0)for(let t of e.values)t!=null&&r.push(t);let i=r.length?Math.min(...r):0,a=r.length?Math.max(...r):1,{min:o,max:s,step:c}=ke(Math.min(0,i),a,e.min,e.max,n,e.majorUnit),l=s-o||1;return{min:o,max:s,step:c,makeToY:(e,t)=>n=>e+t-(n-o)/l*t}}function an(e,t,n,r,i,a,o,s,c,l,u,d,f,p){let m=i+o,{color:h,width:g}=Fe(t.lineColor,t.lineWidthEmu,l);if(t.lineHidden||(e.strokeStyle=h,e.lineWidth=g,e.beginPath(),e.moveTo(m,a),e.lineTo(m,a+s),e.stroke()),!t.hidden){e.font=`${u}px sans-serif`,e.fillStyle=t.fontColor?`#${t.fontColor}`:f,e.textAlign=`left`,e.textBaseline=`middle`;let i=n.max-n.min||1,a=Math.max(1,Math.round(i/n.step));for(let i=0;i<=a;i++){let a=n.min+i*n.step,o=r(a);Bt(e,t.majorTickMark,`val`,m,o,h,g,!0),e.fillText(Ge(a,t.formatCode??null,p),m+14,o)}}if(t.title){let n=t.titleFontSizeHpt?t.titleFontSizeHpt/100*l:Math.max(9,c*.05);e.save(),e.fillStyle=t.titleFontColor?`#${t.titleFontColor}`:t.fontColor?`#${t.fontColor}`:`#555`,e.font=`${t.titleFontBold?`bold `:``}${n}px sans-serif`,e.textAlign=`center`,e.textBaseline=`middle`,e.translate(i+o+d+n*.6,a+s/2),e.rotate(Math.PI/2),e.fillText(t.title,0,0),e.restore()}}function on(e,t,n,r,i,a){if(!t.title)return;let o=Ct(t,t.titleFontFace),s=o?`\"${o}\", Calibri, Arial, sans-serif`:`Calibri, Arial, sans-serif`;e.font=`${t.titleFontBold??!0?`bold `:``}${a}px ${s}`,e.fillStyle=t.titleFontColor?`#${t.titleFontColor}`:`#333`,e.textAlign=`center`,e.textBaseline=`top`,e.fillText(t.title,n+i/2,r)}function sn(e){if(e.categories.length>0)return e.categories;let t=e.series[0];if(t?.categories&&t.categories.length>0)return t.categories;let n=0;for(let t of e.series)t.values.length>n&&(n=t.values.length);return n>0?Array.from({length:n},(e,t)=>String(t+1)):[]}function cn(e,t,n,r,i,a,o,s,c,l=!1){let u=s??`outEnd`;if(e.fillStyle=c?`#${c}`:`#333`,o===`vertical`){let o=n+a/2,s=l?r+i:r,c=l?r:r+i;u===`inBase`?(e.textAlign=`center`,e.textBaseline=l?`top`:`bottom`,e.fillText(t,o,l?c+2:c-2)):u===`inEnd`?(e.textAlign=`center`,e.textBaseline=l?`bottom`:`top`,e.fillText(t,o,l?s-2:s+2)):u===`ctr`?(e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(t,o,r+i/2)):(e.textAlign=`center`,e.textBaseline=l?`top`:`bottom`,e.fillText(t,o,l?s+1:s-1))}else{let o=r+a/2,s=l?n:n+i,c=l?n+i:n;u===`inBase`?(e.textAlign=l?`right`:`left`,e.textBaseline=`middle`,e.fillText(t,l?c-4:c+4,o)):u===`inEnd`?(e.textAlign=l?`left`:`right`,e.textBaseline=`middle`,e.fillText(t,l?s+4:s-4,o)):u===`ctr`?(e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(t,n+i/2,o)):(e.textAlign=l?`right`:`left`,e.textBaseline=`middle`,e.fillText(t,l?s-2:s+2,o))}}function ln(e,t,n,r){let{x:i,y:a,w:o,h:s}=n,c=t.chartType===`clusteredBarH`||t.chartType===`stackedBarH`||t.chartType===`stackedBarHPct`,l=t.chartType.startsWith(`stacked`),u=t.chartType===`stackedBarPct`||t.chartType===`stackedBarHPct`,d=t.series.filter(e=>e.seriesType!==`line`),f=t.series.filter(e=>e.seriesType===`line`),p=!c&&t.secondaryValAxis&&f.some(e=>e.useSecondaryAxis===!0)?t.secondaryValAxis:null,m=sn(t),h=m.length;if(h===0)return;let g=Et(t),_=Ce(t,s,r),v=_.fontPx,y=_.topPad,b=_.bandH,x=$t(t.catAxisFontSizeHpt,s,r),S=$t(t.valAxisFontSizeHpt,s,r),C=ve(t,o,s,.22),{legRightW:w,legLeftW:T,legTopH:E,legBottomH:D}=ye(C),O=Se(t,o,s,r),k=O.catFontPx,A=O.valFontPx,j=O.catBandH,M=O.valBandW,N=b+E+S/2+2,ee=c?(t.valAxisHidden?s*.02:we(S))+j+D:we(x)+j+D,te=s-N-ee,ne=c?o-((t.catAxisHidden?o*.03:o*.22)+M+T)-(w+o*.03):0,re=t.valAxisHidden?void 0:(c?ne:te)/r,P=0,F=0;for(let e=0;e<h;e++){let t=0,n=0;for(let r of d){let i=r.values[e]??0;l?i>=0?t+=i:n+=i:(P=Math.max(P,i),F=Math.min(F,i))}l&&(P=Math.max(P,t),F=Math.min(F,n))}if(!u){for(let e of f)if(!(p&&e.useSecondaryAxis===!0))for(let t=0;t<h;t++){let n=e.values[t];n!=null&&(P=Math.max(P,n),F=Math.min(F,n))}}u&&(P=P>0?100:0,F=F<0?-100:0),t.valMax!=null&&(P=u?t.valMax*100:t.valMax),t.valMin!=null&&(F=u?t.valMin*100:t.valMin),P===0&&F===0&&(P=1);let I=Zt(t,F,P,re,u),{min:L,max:R,step:z}=I,B=rn(p,f,te/r),V=B?B.min:0,ie=B?B.max:1,ae=B?B.step:1,oe=Math.max(8,Math.min(11,s/20)),H=t.valAxisFontSizeHpt==null?Math.max(8,Math.min(11,te/20)):S,se=e.font,ce=0;if(!c&&!t.valAxisHidden){e.font=`${H}px ${wt(t,t.valAxisFontFace,`minor`)}`;let n=0,r=Math.round((R-L)/z);for(let i=0;i<=r;i++){let r=Xt(t,L+i*z,u);n=Math.max(n,e.measureText(r).width)}ce=n+16}let le=p?.fontSizeHpt?p.fontSizeHpt/100*r:oe,ue=0;if(p&&!p.hidden){e.font=`${le}px sans-serif`;let n=0,r=Math.round((ie-V)/ae);for(let i=0;i<=r;i++)n=Math.max(n,e.measureText(Ge(V+i*ae,p.formatCode??null,t.date1904)).width);ue=n+18}e.font=se;let de=p&&p.title?(p.titleFontSizeHpt?p.titleFontSizeHpt/100*r:Math.max(9,s*.05))+8:0,fe={t:N,r:w+o*.03+ue+de,b:ee,l:c?(t.catAxisHidden?o*.03:o*.22)+M+T:T+M+ce};on(e,t,i,a+y,o,v);let{plotRect:{px0:U,py0:W,pw:pe,ph:G}}=Te(t,i,a,o,s,r,{titleBand:_,legendSideReserveFrac:.22,pad:fe,honorPlotAreaManualLayout:!0});if(pe<=0||G<=0)return;t.plotAreaBg&&(e.fillStyle=`#${t.plotAreaBg}`,e.fillRect(U,W,pe,G));let me=ie-V||1,he=R-L||1,ge=e=>W+G-I.frac(e)*G,_e=e=>U+I.frac(e)*pe,be=ge(0),xe=_e(0),K=ge,Ee=B?B.makeToY(W,G):ge,De=Ht(t,r),Oe=Math.round(he/z);e.textBaseline=`middle`,e.font=`${t.valAxisFontSizeHpt==null?Math.max(8,Math.min(11,G/20)):S}px ${wt(t,t.valAxisFontFace,`minor`)}`;let ke=t.valAxisFontColor?`#${t.valAxisFontColor}`:`#555`;if(e.fillStyle=ke,!t.valAxisHidden){for(let t of I.minorLines)if(!c)Vt(e,U,pe,ge(t),!1,De);else{let n=_e(t);e.strokeStyle=De.color,e.lineWidth=De.width,e.beginPath(),e.moveTo(n,W),e.lineTo(n,W+G),e.stroke()}let n=Jt(t),r=t.valAxisTickLabelPos!==`none`;for(let i of I.majorLines){let a=Math.abs(i)<z*1e-9,o=Xt(t,i,u);if(c){let t=_e(i);n&&(e.strokeStyle=De.explicit?De.color:a?`#aaa`:De.color,e.lineWidth=De.explicit?De.width:a?1:De.width,e.beginPath(),e.moveTo(t,W),e.lineTo(t,W+G),e.stroke()),r&&(e.textAlign=`center`,e.fillText(o,t,W+G+10))}else{let t=ge(i);n&&Vt(e,U,pe,t,a,De),r&&(e.textAlign=`right`,e.fillText(o,U-12,t))}}}if(!t.catAxisHidden&&Ut(t)){let n=Wt(t,r);e.strokeStyle=n.color,e.lineWidth=n.width;for(let n of Gt(t,h)){if(e.beginPath(),c){let t=W+n*G;e.moveTo(U,t),e.lineTo(U+pe,t)}else{let t=U+n*pe;e.moveTo(t,W),e.lineTo(t,W+G)}e.stroke()}}let{color:Ae,width:je}=Fe(t.catAxisLineColor,t.catAxisLineWidthEmu,r),{color:Me,width:Ne}=Fe(t.valAxisLineColor,t.valAxisLineWidthEmu,r),Pe=(t,n,r,i,a,o)=>{e.strokeStyle=a,e.lineWidth=o,e.beginPath(),e.moveTo(t,n),e.lineTo(r,i),e.stroke()},Ie=!t.catAxisHidden&&!t.catAxisLineHidden,Re=!t.valAxisHidden&&!t.valAxisLineHidden&&t.valAxisLineColor!=null,ze=()=>{if(c?(Ie&&Pe(U,W,U,W+G,Ae,je),Re&&Pe(U,W+G,U+pe,W+G,Me,Ne)):(Ie&&Pe(U,W+G,U+pe,W+G,Ae,je),Re&&Pe(U,W,U,W+G,Me,Ne)),!t.valAxisHidden&&t.valAxisMajorTickMark&&t.valAxisMajorTickMark!==`none`)for(let n=0;n<=Oe;n++){let r=L+n*z;c?Bt(e,t.valAxisMajorTickMark,`cat`,W+G,_e(r),Me,Ne):Bt(e,t.valAxisMajorTickMark,`val`,U,ge(r),Me,Ne)}if(!t.catAxisHidden&&t.catAxisMajorTickMark&&t.catAxisMajorTickMark!==`none`){let n=Le(t),r=n?h:h-1;for(let i=0;i<=r;i++){let r=n?i/h:h===1?.5:i/(h-1);c?Bt(e,t.catAxisMajorTickMark,`val`,U,W+r*G,Ae,je):Bt(e,t.catAxisMajorTickMark,`cat`,W+G,U+r*pe,Ae,je)}}},Be=c?G/h:pe/h,Ve=l?1:Math.max(1,d.length),He=l?0:t.barOverlap??0,Ue=t.barGapWidth??150,We=Be/(1+(Ve-1)*(1-He/100)+Ue/100),qe=l?0:We*(1-He/100),Je=(Be-(We+(Ve-1)*qe))/2;for(let n=0;n<h;n++){let i=0,a=0,o=0;if(u){for(let e of d)o+=Math.abs(e.values[n]??0);o===0&&(o=1)}for(let s=0;s<d.length;s++){let f=d[s],p=f.values[n]??0,m=u?p/o*100:p,_=m<0,v=g?xt(n,f):bt(s,f);if(c){let o=l?s:d.length-1-s,c=l?W+(h-1-n)*Be+Je:W+(h-1-n)*Be+Je+o*qe,p=l?_e(_?a:i):xe,g=_e(l?(_?a:i)+m:m),y=Math.min(p,g),b=Math.abs(g-p);if(e.fillStyle=v,e.fillRect(y,c,b,We),t.showDataLabels&&m!==0){let n=f.seriesDataLabels,i=n?.fontSizeHpt??t.dataLabelFontSizeHpt,a=i?i/100*r:Math.max(7,Math.min(11,We*.6));e.font=`${n?.fontBold??!0?`bold `:``}${a}px ${wt(t,t.dataLabelFontFace,`minor`)}`,cn(e,u?`${Math.round(m)}%`:Ge(m,n?.formatCode??t.dataLabelFormatCode??f.valFormatCode??null,t.date1904),y,c,b,We,`horizontal`,n?.position??t.dataLabelPosition??null,n?.fontColor??f.labelColor??t.dataLabelFontColor??null,_)}}else{let o=l?U+n*Be+Je:U+n*Be+Je+s*qe,c=l?ge(_?a:i):be,d=ge(l?(_?a:i)+m:m),p=Math.min(c,d),h=Math.abs(d-c);if(e.fillStyle=v,e.fillRect(o,p,We,h),t.showDataLabels&&m!==0){let n=f.seriesDataLabels,i=n?.fontSizeHpt??t.dataLabelFontSizeHpt,a=i?i/100*r:Math.max(7,Math.min(11,We*.6));e.font=`${n?.fontBold??!0?`bold `:``}${a}px ${wt(t,t.dataLabelFontFace,`minor`)}`,cn(e,u?`${Math.round(m)}%`:Ge(m,n?.formatCode??t.dataLabelFormatCode??f.valFormatCode??null,t.date1904),o,p,h,We,`vertical`,n?.position??t.dataLabelPosition??null,n?.fontColor??f.labelColor??t.dataLabelFontColor??null,_)}}l&&(_?a+=m:i+=m)}}if(!t.catAxisHidden&&en(t)){e.fillStyle=t.catAxisFontColor?`#${t.catAxisFontColor}`:`#555`,e.font=`${t.catAxisFontSizeHpt==null?Math.max(8,Math.min(11,Be*.5)):x}px ${wt(t,t.catAxisFontFace,`minor`)}`;let n=Be-4,r=U-4-(i+T+M),a=tn(t);for(let i=0;i<h;i++){let o=Ke((m[i]??``).toString(),t.catAxisFormatCode,t.date1904);if(c){let t=W+(h-1-i)*Be+Be/2;e.textAlign=`right`,e.textBaseline=`middle`,e.fillText(Qe(e,o,r),U-4,t)}else{let t=U+i*Be+Be/2;e.textAlign=`center`,e.textBaseline=`top`,nn(e,Qe(e,o,a===0?n:G*.4),t,W+G+3,a)}}}if(f.length>0&&!c)for(let t=0;t<f.length;t++){let n=f[t],i=bt(d.length+t,n),a=p&&n.useSecondaryAxis===!0?Ee:K;e.strokeStyle=i,e.lineWidth=2,e.setLineDash([]),e.beginPath();let o=!1;for(let t=0;t<h;t++){let r=n.values[t];if(r==null){o=!1;continue}let i=U+t*Be+Be/2,s=a(r);o?e.lineTo(i,s):(e.moveTo(i,s),o=!0)}if(e.stroke(),n.showMarker!==!1)for(let t=0;t<h;t++){let r=n.values[t];if(r==null)continue;let o=U+t*Be+Be/2,s=a(r);e.fillStyle=i,e.beginPath(),e.arc(o,s,3,0,Math.PI*2),e.fill()}Qt(e,n,i,e=>U+e*Be+Be/2,a,r)}if(ze(),p){let n=U+pe,{color:i,width:a}=Fe(p.lineColor,p.lineWidthEmu,r);if(p.lineHidden||Pe(n,W,n,W+G,i,a),!p.hidden){e.font=`${le}px sans-serif`,e.fillStyle=p.fontColor?`#${p.fontColor}`:ke,e.textAlign=`left`,e.textBaseline=`middle`;let r=Math.max(1,Math.round(me/ae));for(let o=0;o<=r;o++){let r=V+o*ae,s=Ee(r);Bt(e,p.majorTickMark,`val`,n,s,i,a,!0),e.fillText(Ge(r,p.formatCode??null,t.date1904),n+14,s)}}if(p.title){let t=p.titleFontSizeHpt?p.titleFontSizeHpt/100*r:Math.max(9,s*.05);e.save(),e.fillStyle=p.titleFontColor?`#${p.titleFontColor}`:p.fontColor?`#${p.fontColor}`:`#555`,e.font=`${p.titleFontBold?`bold `:``}${t}px sans-serif`,e.textAlign=`center`,e.textBaseline=`middle`,e.translate(U+pe+ue+t*.6,W+G/2),e.rotate(Math.PI/2),e.fillText(p.title,0,0),e.restore()}}zt(e,c&&!l?{...t,series:[...t.series].reverse()}:t,C,i,a,o,s,U,W,pe,G,b+2),At(e,t,i,a,o,s,U,W,pe,G,T,D,k,A)}function un(e,t,n,r){let{x:i,y:a,w:o,h:s}=n,c=sn(t),l=c.length;if(l===0)return;let u=t.chartType===`stackedLine`||t.chartType===`stackedLinePct`,d=t.chartType===`stackedLinePct`,f=d?c.map((e,n)=>{let r=0;for(let e of t.series)r+=Math.abs(e.values[n]??0);return r||1}):null,p=t.dispBlanksAs??`gap`,m=(e,n)=>{if(!u)return t.series[e].values[n]??0;let r=0;for(let i=0;i<=e;i++)r+=t.series[i].values[n]??0;return d&&f?r/f[n]*100:r},h=!u&&t.secondaryValAxis&&t.series.some(e=>e.useSecondaryAxis===!0)?t.secondaryValAxis:null,g=e=>h!=null&&e.useSecondaryAxis===!0,_=Ce(t,s,r),v=_.fontPx,y=_.topPad,b=_.bandH,x=ve(t,o,s,.22),{legRightW:S,legLeftW:C,legTopH:w,legBottomH:T}=ye(x),E=$t(t.catAxisFontSizeHpt,s,r),D=$t(t.valAxisFontSizeHpt,s,r),O=Se(t,o,s,r),k=O.catFontPx,A=O.valFontPx,j=O.catBandH,M=O.valBandW,N=b+w+D/2+2,ee=we(E)+j+T,te=s-N-ee,ne=rn(h,t.series,te/r),re=Math.max(8,Math.min(11,s/20)),P=h?.fontSizeHpt?h.fontSizeHpt/100*r:re,F=0;if(h&&ne&&!h.hidden){let n=e.font;e.font=`${P}px sans-serif`;let r=0,i=Math.round((ne.max-ne.min)/ne.step);for(let n=0;n<=i;n++)r=Math.max(r,e.measureText(Ge(ne.min+n*ne.step,h.formatCode??null,t.date1904)).width);F=r+18,e.font=n}let I=h&&h.title?(h.titleFontSizeHpt?h.titleFontSizeHpt/100*r:Math.max(9,s*.05))+8:0,L={t:N,r:S+o*.05+F+I,b:ee,l:D*2.2+10+M+C};on(e,t,i,a+y,o,v);let{plotRect:{px0:R,py0:z,pw:B,ph:V}}=Te(t,i,a,o,s,r,{titleBand:_,legendSideReserveFrac:.22,pad:L});if(B<=0||V<=0)return;t.plotAreaBg&&(e.fillStyle=`#${t.plotAreaBg}`,e.fillRect(R,z,B,V));let ie=1/0,ae=-1/0;for(let e=0;e<l;e++)for(let n=0;n<t.series.length;n++){if(g(t.series[n])||!u&&t.series[n].values[e]==null)continue;let r=m(n,e);ie=Math.min(ie,r),ae=Math.max(ae,r)}isFinite(ie)||(ie=0,ae=1);let oe=t.valAxisLogBase!=null&&t.valAxisLogBase>=2;t.valMin==null?ie>0&&!oe&&(ie=0):ie=d?t.valMin*100:t.valMin,t.valMax==null?ae<0&&(ae=0):ae=d?t.valMax*100:t.valMax,ae===ie&&(ae=ie+1);let H=Zt(t,ie,ae,V/r,d);if(H.max-H.min===0)return;let se=e=>z+V-H.frac(e)*V,ce=ne?ne.makeToY(z,V):se,le=e=>g(e)?ce:se,ue=Le(t),de=qt(t),fe=ue?e=>R+((de?l-1-e:e)+.5)/l*B:e=>{let t=de?l-1-e:e;return R+(l===1?B/2:t/(l-1)*B)};if(!t.valAxisHidden){e.font=`${D}px ${wt(t,t.valAxisFontFace,`minor`)}`,e.textBaseline=`middle`;let n=Ht(t,r);for(let t of H.minorLines)Vt(e,R,B,se(t),!1,n);let i=Jt(t),a=t.valAxisTickLabelPos!==`none`;for(let r of H.majorLines){let o=se(r);i&&Vt(e,R,B,o,r===0,n),Bt(e,t.valAxisMajorTickMark,`val`,R,o),a&&(e.fillStyle=t.valAxisFontColor?`#${t.valAxisFontColor}`:`#555`,e.textAlign=`right`,e.fillText(Xt(t,r,d),R-6,o))}}if(!t.catAxisHidden&&Ut(t)){let n=Wt(t,r);e.strokeStyle=n.color,e.lineWidth=n.width;for(let n of Gt(t,l)){let t=R+n*B;e.beginPath(),e.moveTo(t,z),e.lineTo(t,z+V),e.stroke()}}e.strokeStyle=`#aaa`,e.lineWidth=1,!t.catAxisHidden&&!t.catAxisLineHidden&&(e.beginPath(),e.moveTo(R,z+V),e.lineTo(R+B,z+V),e.stroke()),!t.valAxisHidden&&!t.valAxisLineHidden&&(e.beginPath(),e.moveTo(R,z),e.lineTo(R,z+V),e.stroke());let U=Math.max(1,2.25*r),W=Math.max(2,2.5*r),pe=$t(t.dataLabelFontSizeHpt,s,r);for(let n=0;n<t.series.length;n++){let i=t.series[n],a=bt(n,i),o=le(i);e.strokeStyle=a,e.lineWidth=U,e.setLineDash([]),e.beginPath();let s=i.smooth===!0,d=[],f=()=>{d.length!==0&&(e.moveTo(d[0].x,d[0].y),wn(e,d,s),d=[])};for(let e=0;e<l;e++){if(!u&&i.values[e]==null){if(p===`gap`){f();continue}if(p===`span`)continue}d.push({x:fe(e),y:o(m(n,e))})}f(),e.stroke();let h=e=>m(n,e);for(let t of i.errBars??[])Dn(e,i,t,l,fe,o,h,a);e.fillStyle=a;let g=i.showMarker!==!1,_=En(i),v=On(e,i,c,l,fe,o,h,V,r,t.date1904??!1,u||p===`zero`,wt(t,t.dataLabelFontFace,`minor`),t.dataLabelPosition??`r`);v&&(e.fillStyle=a);for(let s=0;s<l;s++){if(!u&&i.values[s]==null&&p!==`zero`)continue;let c=m(n,s);if(g)if(_){let t=(i.dataPointOverrides??[]).find(e=>e.idx===s),n=t?.markerSymbol??i.markerSymbol??`circle`;if(n!==`none`){let l=t?.markerSize??i.markerSize??5,u=t?.markerFill??t?.color??i.markerFill??a,d=t?.markerLine??i.markerLine??null;yn(e,fe(s),o(c),n,l,u,d,r)}}else e.beginPath(),e.arc(fe(s),o(c),W,0,Math.PI*2),e.fill();t.showDataLabels&&!v&&(Sn(e,fe(s),o(c),We(c),t.dataLabelPosition??`r`,pe,void 0,!1,wt(t,t.dataLabelFontFace,`minor`),g?W+1:2),e.fillStyle=a)}Qt(e,i,a,fe,o,r)}if(!t.catAxisHidden){let n=Math.max(1,Math.ceil(l/8)),r=t.catAxisFontColor?`#${t.catAxisFontColor}`:`#555`;e.fillStyle=r,e.textAlign=`center`,e.textBaseline=`top`,e.font=`${E}px ${wt(t,t.catAxisFontFace,`minor`)}`;let i=B/l*n-4,a=en(t),o=tn(t);for(let s=0;s<l;s+=n){let n=fe(s);Bt(e,t.catAxisMajorTickMark,`cat`,z+V,n),a&&(e.fillStyle=r,nn(e,Qe(e,Ke((c[s]??``).toString(),t.catAxisFormatCode,t.date1904),o===0?i:V*.4),n,z+V+5,o))}}if(h&&ne){let n=t.valAxisFontColor?`#${t.valAxisFontColor}`:`#555`;an(e,h,ne,ce,R,z,B,V,s,r,P,F,n,t.date1904)}zt(e,t,x,i,a,o,s,R,z,B,V,b+2),At(e,t,i,a,o,s,R,z,B,V,C,T,k,A)}function dn(e,t,n,r){let{x:i,y:a,w:o,h:s}=n,c=sn(t),l=c.length;if(l===0)return;let u=t.series,d=u.length>=4,f=d?0:-1,p=+!!d,m=d?2:1,h=d?3:2,g=u[p],_=u[m],v=u[h],y=f>=0?u[f]:void 0,b=Ce(t,s,r),x=b.fontPx,S=b.topPad,C=b.bandH,w=ve(t,o,s,.22),{legRightW:T,legLeftW:E,legBottomH:D,legTopH:O}=ye(w),k=$t(t.catAxisFontSizeHpt,s,r),A=$t(t.valAxisFontSizeHpt,s,r),j=Se(t,o,s,r),M=j.catFontPx,N=j.valFontPx,ee=j.catBandH,te=j.valBandW,ne=C+O+A/2+2,re=we(k)+ee+D,P={t:ne,r:T+o*.05,b:re,l:A*2.2+10+te+E};on(e,t,i,a+S,o,x);let{plotRect:{px0:F,py0:I,pw:L,ph:R}}=Te(t,i,a,o,s,r,{titleBand:b,legendSideReserveFrac:.22,pad:P});if(L<=0||R<=0)return;t.plotAreaBg&&(e.fillStyle=`#${t.plotAreaBg}`,e.fillRect(F,I,L,R));let z=1/0,B=-1/0;for(let e of u)for(let t=0;t<l;t++){let n=e.values[t];n!=null&&(z=Math.min(z,n),B=Math.max(B,n))}isFinite(z)||(z=0,B=1),t.valMin==null?z>0&&(z=0):z=t.valMin,t.valMax==null?B<0&&(B=0):B=t.valMax,B===z&&(B=z+1);let V=Zt(t,z,B,R/r);if(V.max-V.min===0)return;let ie=e=>I+R-V.frac(e)*R,ae=Le(t),oe=qt(t),H=ae?e=>F+((oe?l-1-e:e)+.5)/l*L:e=>{let t=oe?l-1-e:e;return F+(l===1?L/2:t/(l-1)*L)};if(!t.valAxisHidden){e.font=`${A}px ${wt(t,t.valAxisFontFace,`minor`)}`,e.textBaseline=`middle`;let n=Ht(t,r);for(let t of V.minorLines)Vt(e,F,L,ie(t),!1,n);let i=Jt(t),a=t.valAxisTickLabelPos!==`none`;for(let r of V.majorLines){let o=ie(r);i&&Vt(e,F,L,o,r===0,n),Bt(e,t.valAxisMajorTickMark,`val`,F,o),a&&(e.fillStyle=t.valAxisFontColor?`#${t.valAxisFontColor}`:`#555`,e.textAlign=`right`,e.fillText(Ge(r,t.valAxisFormatCode,t.date1904),F-6,o))}}if(e.strokeStyle=`#aaa`,e.lineWidth=1,!t.catAxisHidden&&!t.catAxisLineHidden&&(e.beginPath(),e.moveTo(F,I+R),e.lineTo(F+L,I+R),e.stroke()),!t.valAxisHidden&&!t.valAxisLineHidden&&(e.beginPath(),e.moveTo(F,I),e.lineTo(F,I+R),e.stroke()),(t.stockHiLowLines??!0)&&g!=null&&_!=null&&g&&_){e.strokeStyle=t.stockHiLowLineColor?`#${t.stockHiLowLineColor}`:`#595959`,e.lineWidth=Math.max(1,.75*r),e.setLineDash([]);for(let t=0;t<l;t++){let n=g.values[t],r=_.values[t];if(n==null||r==null)continue;let i=H(t);e.beginPath(),e.moveTo(i,ie(n)),e.lineTo(i,ie(r)),e.stroke()}}let se=(t,n,i)=>{if(!t)return;let a=bt(n,t),o=t.markerSymbol??null,s=o!=null&&o!==`none`&&En(t),c=Math.max(3,L/l*.22);for(let n=0;n<l;n++){let l=t.values[n];if(l==null)continue;let u=H(n),d=ie(l);if(s){yn(e,u,d,o,t.markerSize??3,t.markerFill??a,t.markerLine??null,r);continue}e.strokeStyle=a,e.lineWidth=Math.max(1,.75*r),e.beginPath();let f=i===`right`?u:i===`left`?u-c:u-c/2,p=i===`right`?u+c:i===`left`?u:u+c/2;e.moveTo(f,d),e.lineTo(p,d),e.stroke()}};if(se(y,f,`left`),se(v,h,`right`),u.length<3)for(let e=0;e<u.length;e++)se(u[e],e,`both`);if(!t.catAxisHidden){let n=Math.max(1,Math.ceil(l/8)),r=t.catAxisFontColor?`#${t.catAxisFontColor}`:`#555`;e.fillStyle=r,e.textAlign=`center`,e.textBaseline=`top`,e.font=`${k}px ${wt(t,t.catAxisFontFace,`minor`)}`;let i=L/l*n-4,a=en(t),o=tn(t);for(let s=0;s<l;s+=n){let n=H(s);Bt(e,t.catAxisMajorTickMark,`cat`,I+R,n),a&&(e.fillStyle=r,nn(e,Qe(e,Ke((c[s]??``).toString(),t.catAxisFormatCode,t.date1904),o===0?i:R*.4),n,I+R+5,o))}}zt(e,t,w,i,a,o,s,F,I,L,R,C+2),At(e,t,i,a,o,s,F,I,L,R,E,D,M,N)}function fn(e,t,n,r){let{x:i,y:a,w:o,h:s}=n,c=sn(t),l=c.length;if(l===0)return;let u=t.chartType===`stackedArea`||t.chartType===`stackedAreaPct`,d=t.chartType===`stackedAreaPct`,f=d?c.map((e,n)=>{let r=0;for(let e of t.series)r+=Math.abs(e.values[n]??0);return r||1}):null,p=(e,n)=>{let r=t.series[e].values[n]??0;return d&&f?r/f[n]*100:r},m=!u&&t.secondaryValAxis&&t.series.some(e=>e.useSecondaryAxis===!0)?t.secondaryValAxis:null,h=e=>m!=null&&e.useSecondaryAxis===!0,g=Ce(t,s,r),_=g.fontPx,v=g.topPad,y=g.bandH,b=$t(t.catAxisFontSizeHpt,s,r),x=$t(t.valAxisFontSizeHpt,s,r),S=ve(t,o,s,.22),{legRightW:C,legLeftW:w,legTopH:T,legBottomH:E}=ye(S),D=Se(t,o,s,r),O=D.catFontPx,k=D.valFontPx,A=D.catBandH,j=D.valBandW,M=y+T+x/2+2,N=we(b)+A+E,ee=s-M-N,te=rn(m,t.series,ee/r),ne=Math.max(8,Math.min(11,s/20)),re=m?.fontSizeHpt?m.fontSizeHpt/100*r:ne,P=0;if(m&&te&&!m.hidden){let n=e.font;e.font=`${re}px sans-serif`;let r=0,i=Math.round((te.max-te.min)/te.step);for(let n=0;n<=i;n++)r=Math.max(r,e.measureText(Ge(te.min+n*te.step,m.formatCode??null,t.date1904)).width);P=r+18,e.font=n}let F=m&&m.title?(m.titleFontSizeHpt?m.titleFontSizeHpt/100*r:Math.max(9,s*.05))+8:0,I={t:M,r:C+o*.05+P+F,b:N,l:o*.12+j+w};on(e,t,i,a+v,o,_);let{plotRect:{px0:L,py0:R,pw:z,ph:B}}=Te(t,i,a,o,s,r,{titleBand:g,legendSideReserveFrac:.22,pad:I});if(z<=0||B<=0)return;t.plotAreaBg&&(e.fillStyle=`#${t.plotAreaBg}`,e.fillRect(L,R,z,B));let V=0;for(let e=0;e<l;e++)if(u){let n=0;for(let r=0;r<t.series.length;r++)n+=p(r,e);V=Math.max(V,n)}else for(let n of t.series)h(n)||(V=Math.max(V,n.values[e]??0));d&&(V=V>0?100:0),t.valMax!=null&&(V=d?t.valMax*100:t.valMax),V===0&&(V=1);let ie=d?V:t.valMax,ae=Yt(t.valAxisMajorUnit,d),{max:oe,step:H}=ke(0,V,void 0,ie,B/r,ae),se=Le(t),ce=se?e=>L+(e+.5)/l*z:e=>L+(l===1?z/2:e/(l-1)*z),le=e=>R+B-e/oe*B,ue=te?te.makeToY(R,B):le,de=e=>h(e)?ue:le,{color:fe,width:U}=Fe(t.catAxisLineColor,t.catAxisLineWidthEmu,r),{color:W,width:pe}=Fe(t.valAxisLineColor,t.valAxisLineWidthEmu,r);if(!t.valAxisHidden){let n=Ht(t,r),i=Yt(t.valAxisMinorUnit,d);if(t.valAxisMinorGridlines&&i!=null&&isFinite(i)&&i>0&&i<H)for(let t=i;t<oe-1e-9;t+=i)Math.abs(t/H-Math.round(t/H))>1e-6&&Vt(e,L,z,le(t),!1,n);if(Jt(t)){let t=Math.round(oe/H);for(let r=0;r<=t;r++)Vt(e,L,z,le(r*H),r===0,n)}}if(!t.catAxisHidden&&Ut(t)){let n=Wt(t,r);e.strokeStyle=n.color,e.lineWidth=n.width;for(let n of Gt(t,l)){let t=L+n*z;e.beginPath(),e.moveTo(t,R),e.lineTo(t,R+B),e.stroke()}}let G=u?Array(l).fill(0):null;for(let n=t.series.length-1;n>=0;n--){let r=t.series[n],i=bt(n,r),a=R+B,o=de(r),s=r.smooth===!0;if(e.beginPath(),u&&G){let t=[];for(let e=0;e<l;e++)t.push({x:ce(e),y:le(p(n,e)+G[e])});e.moveTo(t[0].x,t[0].y),wn(e,t,s);for(let t=l-1;t>=0;t--)e.lineTo(ce(t),le(G[t]));for(let e=0;e<l;e++)G[e]+=p(n,e)}else{let t=[];for(let e=0;e<l;e++)t.push({x:ce(e),y:o(r.values[e]??0)});e.moveTo(ce(0),a),e.lineTo(t[0].x,t[0].y),wn(e,t,s),e.lineTo(ce(l-1),a)}e.closePath(),e.fillStyle=ft(i,.6),e.fill(),e.strokeStyle=i,e.lineWidth=1.5,e.setLineDash([]),e.stroke()}{let n=Math.max(2,2.5*r),i=(e,n)=>{if(u){let r=0;for(let i=e;i<t.series.length;i++)r+=p(i,n);return r}return t.series[e].values[n]??0};for(let a=0;a<t.series.length;a++){let o=t.series[a],s=bt(a,o),u=de(o),d=e=>i(a,e);for(let t of o.errBars??[])Dn(e,o,t,l,ce,u,d,s);if(o.showMarker===!0||En(o))for(let t=0;t<l;t++){if(o.values[t]==null)continue;let i=(o.dataPointOverrides??[]).find(e=>e.idx===t),a=i?.markerSymbol??o.markerSymbol??`circle`;if(a===`none`)continue;let c=ce(t),l=u(d(t));En(o)?yn(e,c,l,a,i?.markerSize??o.markerSize??5,i?.markerFill??i?.color??o.markerFill??s,i?.markerLine??o.markerLine??null,r):(e.fillStyle=s,e.beginPath(),e.arc(c,l,n,0,Math.PI*2),e.fill())}On(e,o,c,l,ce,u,d,B,r,t.date1904??!1,!0,wt(t,t.dataLabelFontFace,`minor`),t.dataLabelPosition??`ctr`)}}if(!t.valAxisHidden){e.font=`${Math.max(8,Math.min(11,B/20))}px ${wt(t,t.valAxisFontFace,`minor`)}`,e.textBaseline=`middle`;let n=Math.round(oe/H);for(let r=0;r<=n;r++){let n=r*H,i=le(n);Bt(e,t.valAxisMajorTickMark,`val`,L,i,W,pe),e.fillStyle=t.valAxisFontColor?`#${t.valAxisFontColor}`:`#555`,e.textAlign=`right`,e.fillText(Xt(t,n,d),L-6,i)}}if(!t.catAxisHidden&&!t.catAxisLineHidden&&(e.strokeStyle=fe,e.lineWidth=U,e.beginPath(),e.moveTo(L,R+B),e.lineTo(L+z,R+B),e.stroke()),!t.valAxisHidden&&!t.valAxisLineHidden&&t.valAxisLineColor!=null&&(e.strokeStyle=W,e.lineWidth=pe,e.beginPath(),e.moveTo(L,R),e.lineTo(L,R+B),e.stroke()),!t.catAxisHidden&&t.catAxisMajorTickMark&&t.catAxisMajorTickMark!==`none`)if(se)for(let n=0;n<=l;n++)Bt(e,t.catAxisMajorTickMark,`cat`,R+B,L+n/l*z,fe,U);else for(let n=0;n<l;n++)Bt(e,t.catAxisMajorTickMark,`cat`,R+B,ce(n),fe,U);if(!t.catAxisHidden){e.fillStyle=t.catAxisFontColor?`#${t.catAxisFontColor}`:`#555`,e.textAlign=`center`,e.textBaseline=`top`,e.font=`${Math.max(8,Math.min(11,z/l*.8))}px ${wt(t,t.catAxisFontFace,`minor`)}`;let n=c.map(e=>Ke((e??``).toString(),t.catAxisFormatCode,t.date1904)),r=0;for(let t=0;t<l;t++)r=Math.max(r,e.measureText(n[t]??``).width);let i=Math.max(1,Math.ceil((r+6)/(z/l))),a=z/l*i-4;for(let t=0;t<l;t+=i)e.fillText(Qe(e,n[t]??``,a),ce(t),R+B+3)}if(m&&te){let n=t.valAxisFontColor?`#${t.valAxisFontColor}`:`#555`;an(e,m,te,ue,L,R,z,B,s,r,re,P,n,t.date1904)}zt(e,t,S,i,a,o,s,L,R,z,B,y+2),At(e,t,i,a,o,s,L,R,z,B,w,E,O,k)}function pn(e,t,n,r,i){let{x:a,y:o,w:s,h:c}=n,l=t.series[0];if(!l)return;let u=l.categories&&l.categories.length>0?l.categories:t.categories,d=l.values.map(e=>Math.abs(e??0)),f=d.reduce((e,t)=>e+t,0);if(f===0)return;let p=Te(t,a,o,s,c,i,{titleTopPadFrac:.035,titleBottomPadFrac:.035,legendSideReserveFrac:.28,radialGapFrac:.02}),m=p.title.fontPx,h=p.title.bandH;on(e,t,a,o+p.title.topPad,s,m);let g=p.legend,{px0:_,py0:v,pw:y,ph:b}=p.plotRect,x=p.center.cx,S=p.center.cy,C=Math.min(y,b)*.42,w=-Math.PI/2+(t.firstSliceAngle??0)*Math.PI/180,T=r?Math.max(1,Math.min(90,t.holeSize??50)):0,E=r?t.series:[l],D=T/100*C,O=(C-D)/E.length,k=(e,t)=>{let n=(e.dataPointOverrides??[]).find(e=>e.idx===t)?.explosion??0;return n>0?n/100*C:0},A=l.seriesDataLabels,j=A!=null&&(A.showVal||A.showCatName||A.showSerName||A.showPercent),M=t.showDataLabels&&!j,N=wt(t,t.dataLabelFontFace,`minor`);for(let t=0;t<E.length;t++){let n=E[t],i=n.values.map(e=>Math.abs(e??0)),a=i.reduce((e,t)=>e+t,0);if(a===0)continue;let o=C-t*O,s=o-O,c=w;for(let l=0;l<i.length;l++){let u=i[l]/a*Math.PI*2,d=xt(l,n),f=c+u/2,p=k(n,l),m=p>0?Math.cos(f)*p:0,h=p>0?Math.sin(f)*p:0;if(e.beginPath(),s>.01?(e.arc(x+m,S+h,o,c,c+u),e.arc(x+m,S+h,s,c+u,c,!0)):(e.moveTo(x+m,S+h),e.arc(x+m,S+h,o,c,c+u)),e.closePath(),e.fillStyle=d,e.fill(),e.strokeStyle=`#fff`,e.lineWidth=1,e.stroke(),M&&t===0&&u>.15){let t=C*(r?.75:.6),n=x+m+Math.cos(f)*t,o=S+h+Math.sin(f)*t,s=Math.round(i[l]/a*100);e.font=`bold ${Math.max(8,C*.1)}px ${N}`,e.fillStyle=`#fff`,e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(`${s}%`,n,o)}c+=u}}if(j&&mn(e,t,A,l,u,d,f,x,S,C,D,w,N,i,_,v,y,b),g){let n=[{...l,categories:u}];zt(e,{...t,series:n},g,a,o,s,c,_,v,y,b,h+2)}}function mn(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){if(n.labelBox){hn(e,t,n,r,i,a,o,s,c,l,d,f,p,m,g,h,_);return}let v=r.dataLabelOverrides??[],y=d;for(let d=0;d<a.length;d++){let p=a[d]/o*Math.PI*2,m=y+p/2;y+=p;let h=v.find(e=>e.idx===d);if(h?.deleted)continue;let g=h?.showCatName??n.showCatName,_=h?.showSerName??n.showSerName,b=h?.showVal??n.showVal,x=h?.showPercent??n.showPercent,S;if(h&&h.text)S=h.text;else{let e=[];g&&e.push((i[d]??``).toString()),_&&e.push(r.name),b&&e.push(Ge(a[d],n.formatCode??null,t.date1904??!1)),x&&e.push(`${Math.round(a[d]/o*100)}%`),S=e.filter(Boolean).join(` `)}if(!S)continue;let C=(h?.position??n.position??`bestFit`)===`outEnd`,w=C?l+Math.max(10,l*.12):u>.01?(u+l)/2:l*.88,T=s+Math.cos(m)*w,E=c+Math.sin(m)*w,D=h?.fontSizeHpt??n.fontSizeHpt,O=D?D/100:Math.max(8,l*.1),k=h?.fontBold??n.fontBold,A=h?.fontColor??n.fontColor;e.font=`${k?`bold `:``}${O}px ${f}`,e.fillStyle=A?`#${A}`:C?`#333`:`#fff`,e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(S,T,E)}}function hn(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g){let _=r.dataLabelOverrides??[],v=e=>_.find(t=>t.idx===e),y=n.fontSizeHpt?n.fontSizeHpt/100:Math.max(9,l*.09),b=Math.max(4,y*.45),x=Math.max(2,y*.28),S=y*.22,C=n.labelBox,w=[],T=u;for(let u=0;u<a.length;u++){let p=a[u]/o*Math.PI*2,m=T+p/2;if(T+=p,p<=0)continue;let h=v(u);if(h?.deleted)continue;let g=h?.showCatName??n.showCatName,_=h?.showSerName??n.showSerName,E=h?.showVal??n.showVal,D=h?.showPercent??n.showPercent,O=[];if(h&&h.text)O.push(h.text);else{if(g){let e=(i[u]??``).toString();e&&O.push(e)}_&&r.name&&O.push(r.name),E&&O.push(Ge(a[u],n.formatCode??null,t.date1904??!1)),D&&O.push(`${Math.round(a[u]/o*100)}%`)}if(O.length===0)continue;let k=h?.fontSizeHpt?h.fontSizeHpt/100:y,A=h?.fontBold??n.fontBold??!1,j=h?.fontColor?`#${h.fontColor}`:n.fontColor?`#${n.fontColor}`:`#000`,M=h?.labelBox??C,N=M?.fill?`#${M.fill}`:null,ee=M?.borderColor?`#${M.borderColor}`:null,te=M?.borderWidthEmu?Math.max(.75,M.borderWidthEmu/Ne*f):1;e.font=`${A?`bold `:``}${k}px ${d}`;let ne=0;for(let t of O)ne=Math.max(ne,e.measureText(t).width);let re=k+S,P=ne+b*2,F=O.length*re-S+x*2,I=s+Math.cos(m)*l,L=c+Math.sin(m)*l,R=Math.cos(m)<0,z=Math.max(P,F)*.55+l*.06,B=I+Math.cos(m)*z,V=L+Math.sin(m)*z;w.push({lines:O,midAngle:m,rimX:I,rimY:L,boxW:P,boxH:F,cxBox:B,cyBox:V,leftSide:R,fontColor:j,boxFill:N,boxBorder:ee,boxBorderPx:te,fontPx:k,bold:A})}let E=h+2,D=h+g-2,O=D-E,k=e=>{if(e.length===0)return;e.sort((e,t)=>e.cyBox-t.cyBox);let t=0;for(let n of e)t+=n.boxH;if(t+=(e.length-1)*3,t>O){let t=e.reduce((e,t)=>e+t.boxH,0),n=e.length;if(n===1){e[0].cyBox=Math.min(Math.max(e[0].cyBox,E+e[0].boxH/2),D-e[0].boxH/2);return}let r=(O-t)/(n-1),i=E;for(let t of e)t.cyBox=i+t.boxH/2,i+=t.boxH+r;return}for(let t=1;t<e.length;t++){let n=e[t-1],r=e[t],i=(n.boxH+r.boxH)/2+3;r.cyBox-n.cyBox<i&&(r.cyBox=n.cyBox+i)}let n=e[e.length-1].cyBox+e[e.length-1].boxH/2-D;if(n>0)for(let t of e)t.cyBox-=n;let r=E-(e[0].cyBox-e[0].boxH/2);if(r>0)for(let t of e)t.cyBox+=r};k(w.filter(e=>!e.leftSide)),k(w.filter(e=>e.leftSide));for(let e of w)e.cyBox=Math.max(E+e.boxH/2,e.cyBox),e.cyBox=Math.min(D-e.boxH/2,e.cyBox);let A=p+2,j=p+m-2;for(let e of w){let t=e.boxW/2;e.cxBox-t<A&&(e.cxBox=A+t),e.cxBox+t>j&&(e.cxBox=j-t)}let M=n.leaderLineColor?`#${n.leaderLineColor}`:`#a6a6a6`,N=n.leaderLineWidthEmu?Math.max(.5,n.leaderLineWidthEmu/Ne*f):1;for(let t of w){let r=t.cxBox+(t.leftSide?t.boxW/2:-t.boxW/2),i=t.cyBox,a=r-t.rimX,o=i-t.rimY,s=Math.hypot(a,o);n.showLeaderLines&&s>t.fontPx*.9&&(e.beginPath(),e.moveTo(t.rimX,t.rimY),e.lineTo(r,i),e.strokeStyle=M,e.lineWidth=N,e.stroke())}for(let t of w){let n=t.cxBox-t.boxW/2,r=t.cyBox-t.boxH/2;t.boxFill&&(e.fillStyle=t.boxFill,e.fillRect(n,r,t.boxW,t.boxH)),t.boxBorder&&(e.strokeStyle=t.boxBorder,e.lineWidth=t.boxBorderPx,e.strokeRect(n,r,t.boxW,t.boxH)),e.font=`${t.bold?`bold `:``}${t.fontPx}px ${d}`,e.fillStyle=t.fontColor,e.textAlign=`center`,e.textBaseline=`middle`;let i=t.fontPx+S,a=t.cyBox-(t.lines.length*i-S)/2+t.fontPx/2;for(let n=0;n<t.lines.length;n++)e.fillText(t.lines[n],t.cxBox,a+n*i)}}function gn(e,t,n,r){let{x:i,y:a,w:o,h:s}=n,c=sn(t),l=c.length;if(l<3)return;let u=Te(t,i,a,o,s,r,{titleTopPadFrac:.035,titleBottomPadFrac:.035,legendSideReserveFrac:.22,radialGapFrac:.02}),d=u.legend,f=u.title.fontPx;on(e,t,i,a+u.title.topPad,o,f);let{px0:p,py0:m,pw:h,ph:g}=u.plotRect,_=u.center.cx,v=u.center.cy,y=Math.min(h,g)*.38,b=0;for(let e of t.series)for(let t of e.values)b=Math.max(b,t??0);t.valMax!=null&&(b=t.valMax),b===0&&(b=1);let{max:x,step:S}=ke(0,b,void 0,t.valMax,void 0,t.valAxisMajorUnit),C=-Math.PI/2,w=e=>C+e/l*Math.PI*2,T=Math.round(x/S),E=e=>Math.min(e*S,x);e.strokeStyle=`#ddd`,e.lineWidth=.5;for(let t=1;t<=T;t++){let n=E(t)/x*y;e.beginPath();for(let t=0;t<l;t++){let r=w(t),i=_+Math.cos(r)*n,a=v+Math.sin(r)*n;t===0?e.moveTo(i,a):e.lineTo(i,a)}e.closePath(),e.stroke()}e.strokeStyle=`#bbb`,e.lineWidth=.5;for(let t=0;t<l;t++){let n=w(t);e.beginPath(),e.moveTo(_,v),e.lineTo(_+Math.cos(n)*y,v+Math.sin(n)*y),e.stroke()}if(!t.valAxisHidden){e.font=`${$t(t.valAxisFontSizeHpt,s,r)}px ${wt(t,t.valAxisFontFace,`minor`)}`,e.fillStyle=`#555`,e.textAlign=`right`,e.textBaseline=`middle`;for(let t=1;t<=T;t++){let n=E(t),r=n/x*y;e.fillText(We(n),_-3,v-r)}}e.font=`${Math.max(8,Math.min(11,y*.2))}px ${wt(t,t.catAxisFontFace,`minor`)}`,e.fillStyle=`#444`,e.textBaseline=`middle`;let D=_-h/2,O=_+h/2;for(let n=0;n<l;n++){let r=w(n),i=_+Math.cos(r)*(y+12),a=v+Math.sin(r)*(y+12),o=Math.cos(r)<-.1?`right`:Math.cos(r)>.1?`left`:`center`;e.textAlign=o;let s=o===`right`?i-D:o===`left`?O-i:2*Math.min(O-i,i-D),l=Ke((c[n]??``).toString(),t.catAxisFormatCode,t.date1904);e.fillText(Qe(e,l,s),i,a)}let k=t.radarStyle===`filled`,A=Math.max(2,y*.025);for(let n=0;n<t.series.length;n++){let r=t.series[n],i=bt(n,r),a=[];for(let e=0;e<l;e++){let t=r.values[e];if(t==null){a.push(null);continue}let n=t/x,i=w(e);a.push([_+Math.cos(i)*y*n,v+Math.sin(i)*y*n])}e.beginPath();let o=!1;for(let t of a){if(t==null){o=!1;continue}o?e.lineTo(t[0],t[1]):(e.moveTo(t[0],t[1]),o=!0)}let s=a.every(e=>e!=null);if(k&&s?(e.closePath(),e.fillStyle=ft(i,.25),e.fill()):s&&e.closePath(),e.strokeStyle=i,e.lineWidth=2,e.stroke(),!k&&r.showMarker!==!1){e.fillStyle=i;for(let t of a)t!=null&&(e.beginPath(),e.arc(t[0],t[1],A,0,Math.PI*2),e.fill())}}zt(e,t,d,i,a,o,s,p,m,h,g,u.title.bandH+2)}function _n(e,t,n){if(n)return t;let r=e[t];if(r==null)return null;let i=parseFloat(r);return Number.isNaN(i)?null:i}function vn(e,t,n,r){let{x:i,y:a,w:o,h:s}=n,c=Ce(t,s,r),l=c.fontPx,u=c.topPad,d=$t(t.catAxisFontSizeHpt,s,r),f=$t(t.valAxisFontSizeHpt,s,r),p=ve(t,o,s,.22),{legRightW:m,legLeftW:h,legTopH:g,legBottomH:_}=ye(p),v=Se(t,o,s,r),y=v.catFontPx,b=v.valFontPx,x=v.catBandH,S=v.valBandW;if(t.title){let n=t.titleManualLayout;n&&(n.x!==void 0||n.y!==void 0)?on(e,t,i+n.x*o,a+n.y*s,(n.w??.5)*o,l):on(e,t,i,a+u,o,l)}let{plotRect:{px0:C,py0:w,pw:T,ph:E}}=Te(t,i,a,o,s,r,{titleBand:c,legendSideReserveFrac:.22,pad:{t:c.bandH+g+f/2+2,r:m+o*.05,b:(t.catAxisHidden?s*.04:we(d))+x+_,l:(t.valAxisHidden?o*.04:o*.12)+S+h},honorPlotAreaManualLayout:!0});if(T<=0||E<=0)return;t.plotAreaBg&&(e.fillStyle=`#${t.plotAreaBg}`,e.fillRect(C,w,T,E));let D=[],O=[];for(let e of t.series){let n=e.categories??t.categories;for(let e of n){let t=parseFloat(e);isNaN(t)||D.push(t)}}let k=D.length===0;if(k){let e=Math.max(...t.series.map(e=>e.values.length));for(let t=0;t<e;t++)D.push(t);for(let e of t.series)for(let t of e.values)t!=null&&O.push(t)}else{D.length=0;for(let e of t.series){let n=e.categories??t.categories;for(let t=0;t<e.values.length;t++){let r=e.values[t];if(r==null)continue;let i=_n(n,t,!1);i!=null&&(D.push(i),O.push(r))}}}let A=Math.min(...D),j=Math.max(...D),M=Math.min(...O),N=Math.max(...O);A===j&&(--A,j+=1),M===N&&(--M,N+=1),t.valMin==null?M>0&&(M=0):M=t.valMin,t.valMax!=null&&(N=t.valMax);let{min:ee,max:te,step:ne}=ke(M,N,t.valMin,t.valMax,void 0,t.valAxisMajorUnit);if(M=ee,N=te,t.catAxisMin!=null&&(A=t.catAxisMin),t.catAxisMax!=null&&(j=t.catAxisMax),t.catAxisMin==null||t.catAxisMax==null){let e=K(j-A);e>0&&(t.catAxisMin??(A=Math.floor(A/e)*e),t.catAxisMax??(j=Math.ceil(j/e)*e))}let re=e=>C+(e-A)/(j-A)*T,P=e=>w+E-(e-M)/(N-M)*E,F=Ht(t,r);if(!t.valAxisHidden){let n=Math.max(8,Math.min(11,E/20));e.font=`${t.valAxisFontBold?`bold `:``}${n}px ${wt(t,t.valAxisFontFace,`minor`)}`;let i=Math.round((N-M)/ne)+1;for(let n=0;n<i;n++){let i=M+n*ne;if(i>N+ne*.01)break;let a=P(i);e.strokeStyle=F.color,e.lineWidth=F.width,e.beginPath(),e.moveTo(C,a),e.lineTo(C+T,a),e.stroke(),e.fillStyle=`#555`,e.textAlign=`right`,e.textBaseline=`middle`,e.fillText(Ge(i,t.valAxisFormatCode,t.date1904),C-4,a);let o=t.valAxisLineColor?`#${t.valAxisLineColor}`:void 0;Bt(e,t.valAxisMajorTickMark,`val`,C,a,o,Pe(t.valAxisLineWidthEmu,r))}}let I=w+E;if(t.catAxisCrossesAt!=null)I=Cn(P(t.catAxisCrossesAt),w,w+E);else{let e=t.catAxisCrosses??`autoZero`;e===`autoZero`&&M<0&&N>0?I=Cn(P(0),w,w+E):e===`min`?I=w+E:e===`max`&&(I=w)}if(!t.catAxisHidden&&!t.catAxisLineHidden&&(e.save(),e.strokeStyle=t.catAxisLineColor?`#${t.catAxisLineColor}`:`#888`,e.lineWidth=Pe(t.catAxisLineWidthEmu,r),e.lineCap=`butt`,e.beginPath(),e.moveTo(C,I),e.lineTo(C+T,I),e.stroke(),e.restore()),!t.valAxisHidden&&!t.valAxisLineHidden&&(e.save(),e.strokeStyle=t.valAxisLineColor?`#${t.valAxisLineColor}`:`#888`,e.lineWidth=Pe(t.valAxisLineWidthEmu,r),e.beginPath(),e.moveTo(C,w),e.lineTo(C,w+E),e.stroke(),e.restore()),!t.catAxisHidden){let n=Math.max(8,Math.min(11,E/20));e.font=`${t.catAxisFontBold?`bold `:``}${n}px ${wt(t,t.catAxisFontFace,`minor`)}`;let i=K(j-A),a=Math.round((j-A)/i)+1;e.fillStyle=`#555`,e.textAlign=`center`,e.textBaseline=`top`;for(let n=0;n<a;n++){let a=A+n*i;if(a>j+i*.01)break;let o=re(a);e.fillText(Ge(a,t.catAxisFormatCode,t.date1904),o,I+4);let s=t.catAxisLineColor?`#${t.catAxisLineColor}`:void 0;Bt(e,t.catAxisMajorTickMark,`cat`,I,o,s,Pe(t.catAxisLineWidthEmu,r))}}let L=t.chartType===`bubble`,R=L?`marker`:t.scatterStyle??`marker`,z=R===`line`||R===`lineMarker`||R===`lineNoMarker`,B=R===`smooth`||R===`smoothMarker`||R===`smoothNoMarker`,V=R===`lineNoMarker`||R===`smoothNoMarker`;for(let n=0;n<t.series.length;n++){let i=t.series[n],a=bt(n,i),o=i.categories??t.categories;for(let t of i.errBars??[])bn(e,i,t,o,k,re,P,a);if((z||B)&&i.lineHidden!==!0){let t=[];for(let e=0;e<i.values.length;e++){let n=i.values[e];if(n==null)continue;let r=_n(o,e,k);r!=null&&t.push({x:re(r),y:P(n)})}if(t.length>=2){if(e.save(),e.strokeStyle=i.color?`#${i.color}`:a,e.lineWidth=1.5,e.beginPath(),e.moveTo(t[0].x,t[0].y),B&&t.length>=3)for(let n=0;n<t.length-1;n++){let r=t[n-1]??t[n],i=t[n],a=t[n+1],o=t[n+2]??a,s=i.x+(a.x-r.x)/6,c=i.y+(a.y-r.y)/6,l=a.x-(o.x-i.x)/6,u=a.y-(o.y-i.y)/6;e.bezierCurveTo(s,c,l,u,a.x,a.y)}else for(let n=1;n<t.length;n++)e.lineTo(t[n].x,t[n].y);e.stroke(),e.restore()}}if(!(V||i.showMarker===!1||typeof i.markerSymbol==`string`&&i.markerSymbol===`none`)){let t=0;if(L&&i.bubbleSizes&&i.bubbleSizes.length>0){let e=Math.max(0,...i.bubbleSizes.filter(e=>e!=null));e>0&&(t=Math.min(T,E)/Math.max(8,i.values.length*1.6)/Math.sqrt(e))}for(let n=0;n<i.values.length;n++){let s=i.values[n];if(s==null)continue;let c=_n(o,n,k);if(c==null)continue;let l=(i.dataPointOverrides??[]).find(e=>e.idx===n),u=l?.markerSymbol??i.markerSymbol??`circle`,d=l?.markerSize??i.markerSize??5;if(L&&t>0){let e=i.bubbleSizes?.[n];e!=null&&e>0&&(d=Math.sqrt(e)*t*2/r)}let f=l?.markerFill??l?.color??i.markerFill??a,p=l?.markerLine??i.markerLine??null;yn(e,re(c),P(s),u,d,f,p,r)}}xn(e,i,o,k,re,P,E,r,t.date1904,wt(t,t.dataLabelFontFace,`minor`),t.dataLabelPosition??`r`)}zt(e,t,p,i,a,o,s,C,w,T,E,c.bandH+2),At(e,t,i,a,o,s,C,w,T,E,h,_,y,b)}function yn(e,t,n,r,i,a,o,s){let c=Math.max(2,i*s),l=c/2,u=a.startsWith(`#`)?a:`#${a}`,d=o?o.startsWith(`#`)?o:`#${o}`:null;switch(e.save(),e.fillStyle=u,d&&(e.strokeStyle=d,e.lineWidth=1),r){case`square`:e.fillRect(t-l,n-l,c,c),o&&e.strokeRect(t-l,n-l,c,c);break;case`diamond`:e.beginPath(),e.moveTo(t,n-l),e.lineTo(t+l,n),e.lineTo(t,n+l),e.lineTo(t-l,n),e.closePath(),e.fill(),o&&e.stroke();break;case`triangle`:e.beginPath(),e.moveTo(t,n-l),e.lineTo(t+l,n+l),e.lineTo(t-l,n+l),e.closePath(),e.fill(),o&&e.stroke();break;case`x`:e.strokeStyle=u,e.lineWidth=Math.max(1,c*.18),e.beginPath(),e.moveTo(t-l,n-l),e.lineTo(t+l,n+l),e.moveTo(t-l,n+l),e.lineTo(t+l,n-l),e.stroke();break;case`plus`:e.strokeStyle=u,e.lineWidth=Math.max(1,c*.18),e.beginPath(),e.moveTo(t-l,n),e.lineTo(t+l,n),e.moveTo(t,n-l),e.lineTo(t,n+l),e.stroke();break;case`star`:e.beginPath();for(let r=0;r<10;r++){let i=r%2==0?l:l*.45,a=-Math.PI/2+r*Math.PI/5,o=t+Math.cos(a)*i,s=n+Math.sin(a)*i;r===0?e.moveTo(o,s):e.lineTo(o,s)}e.closePath(),e.fill(),o&&e.stroke();break;case`dot`:e.beginPath(),e.arc(t,n,Math.max(1,c*.25),0,Math.PI*2),e.fill();break;case`dash`:{let r=Math.max(1,c*.25);e.fillRect(t-l,n-r/2,c,r);break}default:e.beginPath(),e.arc(t,n,l,0,Math.PI*2),e.fill(),o&&e.stroke();break}e.restore()}function bn(e,t,n,r,i,a,o,s){e.save(),e.strokeStyle=n.color?`#${n.color}`:s,e.lineWidth=n.lineWidthEmu?Math.max(.5,n.lineWidthEmu/Ne):1,e.setLineDash(Tn(n.dash));let c=n.barType===`plus`||n.barType===`both`,l=n.barType===`minus`||n.barType===`both`,u=n.dir===`x`,d=e.lineWidth*1.5;for(let s=0;s<t.values.length;s++){let f=t.values[s];if(f==null)continue;let p=_n(r,s,i);if(p==null)continue;let m=a(p),h=o(f),g=t=>{let r=m,i=h;u?r=a(p+t):i=o(f+t),e.beginPath(),e.moveTo(m,h),e.lineTo(r,i),e.stroke(),n.noEndCap||(e.save(),e.setLineDash([]),e.beginPath(),u?(e.moveTo(r,i-d),e.lineTo(r,i+d)):(e.moveTo(r-d,i),e.lineTo(r+d,i)),e.stroke(),e.restore())};if(c){let e=n.plus[s];e!=null&&g(e)}if(l){let e=n.minus[s];e!=null&&g(-e)}}e.restore()}function xn(e,t,n,r,i,a,o,s,c=!1,l=`sans-serif`,u=`r`){let d=t.dataLabelOverrides??[];if(d.length===0&&!t.seriesDataLabels)return;let f=t.seriesDataLabels;for(let p=0;p<t.values.length;p++){let m=t.values[p];if(m==null)continue;let h=_n(n,p,r);if(h==null)continue;let g=d.find(e=>e.idx===p);if(g?.deleted)continue;let _=g?.showCatName??f?.showCatName,v=g?.showSerName??f?.showSerName,y=g?.showVal??f?.showVal,b;if(g?.text)b=g.text;else if(y||v||_){let e=[];if(_&&!r&&e.push(n[p]??``),v&&e.push(t.name),y&&e.push(Ge(m,f?.formatCode??null,c)),b=e.filter(Boolean).join(` `),!b)continue}else continue;let x=g?.position??f?.position??u,S=g?.fontSizeHpt??f?.fontSizeHpt,C=S?S/100*s:Math.max(9,Math.min(11,o/25)),w=g?.fontColor??f?.fontColor,T=g?.fontBold??f?.fontBold??!1;Sn(e,i(h),a(m),b,x,C,w,T,l)}}function Sn(e,t,n,r,i,a,o,s,c=`sans-serif`,l=0){e.save(),e.font=`${s?`bold `:``}${a}px ${c}`,e.fillStyle=o?`#${o}`:`#333`;let u=a*.6+l,d=t,f=n;switch(i){case`l`:e.textAlign=`right`,e.textBaseline=`middle`,d=t-u;break;case`r`:e.textAlign=`left`,e.textBaseline=`middle`,d=t+u;break;case`t`:e.textAlign=`center`,e.textBaseline=`bottom`,f=n-u;break;case`b`:e.textAlign=`center`,e.textBaseline=`top`,f=n+u;break;case`ctr`:e.textAlign=`center`,e.textBaseline=`middle`;break;default:e.textAlign=`left`,e.textBaseline=`middle`,d=t+u;break}let p=r.split(/\\r?\\n/),m=a*1.15,h=m*p.length,g=f;e.textBaseline===`middle`?g=f-(h-m)/2:e.textBaseline===`bottom`&&(g=f-(h-m));for(let t of p)e.fillText(t,d,g),g+=m;e.restore()}function Cn(e,t,n){return e<t?t:e>n?n:e}function wn(e,t,n){if(t.length!==0)if(n&&t.length>=3)for(let n=0;n<t.length-1;n++){let r=t[n-1]??t[n],i=t[n],a=t[n+1],o=t[n+2]??a,s=i.x+(a.x-r.x)/6,c=i.y+(a.y-r.y)/6,l=a.x-(o.x-i.x)/6,u=a.y-(o.y-i.y)/6;e.bezierCurveTo(s,c,l,u,a.x,a.y)}else for(let n=1;n<t.length;n++)e.lineTo(t[n].x,t[n].y)}function Tn(e){if(!e)return[];switch(e){case`solid`:return[];case`dot`:case`sysDot`:return[1,2];case`dash`:case`sysDash`:return[4,2];case`lgDash`:return[8,3];case`dashDot`:case`sysDashDot`:return[4,2,1,2];case`lgDashDot`:return[8,3,1,3];case`dashDotDot`:case`sysDashDotDot`:case`lgDashDotDot`:return[4,2,1,2,1,2];default:return[]}}function En(e){return e.markerSymbol!=null||e.markerSize!=null||e.markerFill!=null||e.markerLine!=null||e.dataPointOverrides!=null&&e.dataPointOverrides.length>0}function Dn(e,t,n,r,i,a,o,s){if(n.dir===`x`)return;let c=n.barType===`plus`||n.barType===`both`,l=n.barType===`minus`||n.barType===`both`;e.save(),e.strokeStyle=n.color?`#${n.color}`:s,e.lineWidth=n.lineWidthEmu?Math.max(.5,n.lineWidthEmu/Ne):1,e.setLineDash(Tn(n.dash));let u=e.lineWidth*1.5;for(let s=0;s<r;s++){if(t.values[s]==null)continue;let r=o(s),d=i(s),f=a(r),p=t=>{let i=a(r+t);e.beginPath(),e.moveTo(d,f),e.lineTo(d,i),e.stroke(),n.noEndCap||(e.save(),e.setLineDash([]),e.beginPath(),e.moveTo(d-u,i),e.lineTo(d+u,i),e.stroke(),e.restore())};if(c){let e=n.plus[s];e!=null&&p(e)}if(l){let e=n.minus[s];e!=null&&p(-e)}}e.restore()}function On(e,t,n,r,i,a,o,s,c,l,u,d=`sans-serif`,f=`t`){let p=t.dataLabelOverrides??[],m=t.seriesDataLabels;if(p.length===0&&!m)return!1;for(let h=0;h<r;h++){if(t.values[h]==null&&!u)continue;let r=o(h),g=p.find(e=>e.idx===h);if(g?.deleted)continue;let _=g?.showCatName??m?.showCatName,v=g?.showSerName??m?.showSerName,y=g?.showVal??m?.showVal,b;if(g?.text)b=g.text;else if(y||v||_){let e=[];if(_&&e.push(n[h]??``),v&&e.push(t.name),y&&e.push(Ge(r,m?.formatCode??null,l)),b=e.filter(Boolean).join(` `),!b)continue}else continue;let x=g?.position??m?.position??f,S=g?.fontSizeHpt??m?.fontSizeHpt,C=S?S/100*c:Math.max(9,Math.min(11,s/25)),w=g?.fontColor??m?.fontColor,T=g?.fontBold??m?.fontBold??!1;Sn(e,i(h),a(r),b,x,C,w,T,d)}return!0}function kn(e,t,n){let{x:r,y:i,w:a,h:o}=n,s=t.plotAreaManualLayout,c,l,u,d;if(s&&s.w!=null&&s.h!=null)c=r+s.x*a,l=i+s.y*o,u=s.w*a,d=s.h*o;else{let e=t.valAxisHidden?a*.01:a*.11,n=a*.01,s=o*.12,f=o*.14;c=r+e,l=i+s,u=a-e-n,d=o-s-f}let f=t.series[0]?.values??[],p=t.categories,m=p.length;if(m===0)return;let h=new Set(t.subtotalIndices),g=0,_=[];for(let e=0;e<m;e++){let t=f[e]??0;if(e===0||h.has(e))_.push({start:0,end:t,isSub:!0,isPos:!0}),g=t;else{let e=t>=0?g:g+t,n=t>=0?g+t:g;_.push({start:e,end:n,isSub:!1,isPos:t>=0}),g+=t}}let v=_.map(e=>e.end),y=_.map(e=>e.start),b=Math.max(...v,...y),x=Math.min(...y,0),S=b-x;if(S<=0)return;let C=x<0?x-S*.05:0,w=(b-C)*1.1,T=C+w,E=K(w);e.save();let D=Math.round(o*.042);if(e.font=`${D}px ${wt(t,t.valAxisFontFace,`minor`)}`,!t.valAxisHidden){e.strokeStyle=`#e8e8e8`,e.lineWidth=.7,e.fillStyle=`#666`,e.textAlign=`right`,e.textBaseline=`middle`;for(let n=Math.ceil(C/E)*E;n<=T;n+=E){let r=l+d*(1-(n-C)/w);e.beginPath(),e.moveTo(c,r),e.lineTo(c+u,r),e.stroke(),e.fillText(Ge(n,t.valAxisFormatCode,t.date1904),c-4,r)}}let O=!t.valAxisHidden&&!t.valAxisLineHidden,k=!t.catAxisHidden&&!t.catAxisLineHidden;(O||k)&&(e.strokeStyle=`#bbb`,e.lineWidth=1,e.beginPath(),O?(e.moveTo(c,l),e.lineTo(c,l+d),k&&e.lineTo(c+u,l+d)):k&&(e.moveTo(c,l+d),e.lineTo(c+u,l+d)),e.stroke());let A=u/m,j=A/(1+(t.barGapWidth??150)/100);_.forEach((n,r)=>{let i=c+A*r+(A-j)/2,a=l+d*(1-(n.end-C)/w),s=l+d*(1-(n.start-C)/w),u=Math.max(1,s-a);if(n.isSub?(e.fillStyle=`#196ECA`,e.fillRect(i,a,j,u)):(e.strokeStyle=n.isPos?`#5BA4E6`:`#E46970`,e.lineWidth=1.5,e.strokeRect(i+.75,a+.75,j-1.5,u-1.5)),r<m-1){let t=c+A*(r+1)+(A-j)/2,o=n.isPos?a:s;e.strokeStyle=`#ccc`,e.lineWidth=.8,e.setLineDash([3,3]),e.beginPath(),e.moveTo(i+j,o),e.lineTo(t,o),e.stroke(),e.setLineDash([])}let p=f[r]??0,h=t.dataLabelFormatCode??t.series[0]?.valFormatCode??null,g=p<0?`△ ${Ge(Math.abs(p),h,t.date1904)}`:Ge(p,h,t.date1904),_=t.series[0]?.dataLabelColors?.[r]??null;e.fillStyle=_?`#${_}`:t.dataLabelFontColor?`#${t.dataLabelFontColor}`:`#595959`,e.font=`bold ${Math.round(o*.044)}px ${wt(t,t.dataLabelFontFace,`minor`)}`,e.textAlign=`center`,p<0?(e.textBaseline=`top`,e.fillText(g,i+j/2,s+3)):(e.textBaseline=`bottom`,e.fillText(g,i+j/2,a-3))}),e.textAlign=`center`,e.textBaseline=`top`,e.fillStyle=`#666`,e.font=`${Math.round(o*.038)}px ${wt(t,t.catAxisFontFace,`minor`)}`;let M=l+d+4;for(let n=0;n<m;n++){let r=c+A*n+A/2;Ke(p[n],t.catAxisFormatCode,t.date1904).split(/\\s+/).forEach((t,n)=>e.fillText(t,r,M+n*(D+2)))}e.restore()}function An(e,t,n){let r=e.length;if(r===0)return 0;if(r===1)return e[0];let i;n===`inclusive`?i=t*(r-1)+1:(i=t*(r+1),i<1&&(i=1),i>r&&(i=r));let a=Math.floor(i),o=i-a;return a>=r?e[r-1]:e[a-1]+o*(e[a]-e[a-1])}function jn(e,t){if(e.length===0)return null;let n=[...e].sort((e,t)=>e-t),r=An(n,.25,t),i=An(n,.5,t),a=An(n,.75,t),o=a-r,s=r-1.5*o,c=a+1.5*o,l=[],u=[];for(let e of n)e<s||e>c?u.push(e):l.push(e);return{q1:r,median:i,q3:a,whiskerLo:l.length?l[0]:n[0],whiskerHi:l.length?l[l.length-1]:n[n.length-1],mean:e.reduce((e,t)=>e+t,0)/e.length,outliers:u,inner:l}}function Mn(e,t,n,r){let i=t.chartexBox;if(!i||i.categories.length===0||i.series.length===0)return;let{x:a,y:o,w:s,h:c}=n,l=Ce(t,c,r),u=$t(t.catAxisFontSizeHpt,c,r),d=$t(t.valAxisFontSizeHpt,c,r),f=Te(t,a,o,s,c,r,{titleBand:l,legendSideReserveFrac:0,pad:{t:l.bandH+d/2+2,r:s*.02,b:t.catAxisHidden?c*.02:we(u),l:t.valAxisHidden?s*.02:s*.1}});on(e,t,a,o+f.title.topPad,s,f.title.fontPx);let{px0:p,py0:m,pw:h,ph:g}=f.plotRect,_=i.categories,v=_.length,y=i.series.length,b=1/0,x=-1/0;for(let e of i.series)for(let t of e.valuesByCategory)for(let e of t)e<b&&(b=e),e>x&&(x=e);if(!isFinite(b)||!isFinite(x))return;let{min:S,max:C,step:w}=ke(b,x,t.valMin,t.valMax,g/r,t.valAxisMajorUnit),T=C-S||1,E=e=>m+g*(1-(e-S)/T),D=wt(t,t.valAxisFontFace,`minor`),O=$t(t.valAxisFontSizeHpt,c,r);if(e.save(),!t.valAxisHidden){e.font=`${O}px ${D}`,e.textAlign=`right`,e.textBaseline=`middle`;for(let n=S;n<=C+1e-6;n+=w){let r=E(n);e.strokeStyle=`#e6e6e6`,e.lineWidth=1,e.beginPath(),e.moveTo(p,r),e.lineTo(p+h,r),e.stroke(),e.fillStyle=t.valAxisFontColor?`#${t.valAxisFontColor}`:`#595959`,e.fillText(Ge(n,t.valAxisFormatCode,t.date1904),p-4,r)}}!t.catAxisHidden&&!t.catAxisLineHidden&&(e.strokeStyle=`#bfbfbf`,e.lineWidth=1,e.beginPath(),e.moveTo(p,m+g),e.lineTo(p+h,m+g),e.stroke());let k=h/v,A=k/(1+(t.barGapWidth??150)/100),j=A*.06,M=(A-j*(y-1))/y,N=e=>{let n=t.chartexAccents?.[e%(t.chartexAccents?.length??1)];return`#${i.series[e].color??n??yt[e%yt.length]}`},ee=$t(t.catAxisFontSizeHpt,c,r);for(let n=0;n<v;n++){let r=p+k*n+(k-A)/2;for(let t=0;t<y;t++){let a=i.series[t],o=jn(a.valuesByCategory[n]??[],a.quartileMethod);if(!o)continue;let s=r+t*(M+j),c=s+M/2,l=N(t),u=St(l,.8),d=E(o.q1),f=E(o.q3),p=Math.min(d,f),m=Math.max(1,Math.abs(d-f)),h=M*.4;e.strokeStyle=u,e.lineWidth=1,e.beginPath(),e.moveTo(c,E(o.whiskerHi)),e.lineTo(c,f),e.moveTo(c,d),e.lineTo(c,E(o.whiskerLo)),e.moveTo(c-h/2,E(o.whiskerHi)),e.lineTo(c+h/2,E(o.whiskerHi)),e.moveTo(c-h/2,E(o.whiskerLo)),e.lineTo(c+h/2,E(o.whiskerLo)),e.stroke(),e.fillStyle=l,e.fillRect(s,p,M,m),e.strokeStyle=u,e.lineWidth=.75,e.strokeRect(s+.375,p+.375,M-.75,m-.75);let g=E(o.median);if(e.strokeStyle=u,e.lineWidth=1,e.beginPath(),e.moveTo(s,g),e.lineTo(s+M,g),e.stroke(),a.meanMarker){let t=E(o.mean),n=Math.max(2,M*.14);e.strokeStyle=u,e.lineWidth=1,e.beginPath(),e.moveTo(c-n,t-n),e.lineTo(c+n,t+n),e.moveTo(c+n,t-n),e.lineTo(c-n,t+n),e.stroke()}if(a.showOutliers){e.fillStyle=l;let t=Math.max(1.5,M*.06);for(let n of o.outliers)e.beginPath(),e.arc(c,E(n),t,0,Math.PI*2),e.fill()}}if(!t.catAxisHidden){e.font=`${ee}px ${wt(t,t.catAxisFontFace,`minor`)}`,e.fillStyle=t.catAxisFontColor?`#${t.catAxisFontColor}`:`#595959`,e.textAlign=`center`,e.textBaseline=`top`;let r=_[n],i=p+k*n+k/2;e.fillText(r,i,m+g+4)}}e.restore()}function Nn(e){let t={label:``,value:0,depth:-1,children:[],branchIndex:-1,a0:0,a1:0};for(let n of e){let e=t;for(let t=0;t<n.path.length;t++){let r=n.path[t],i=e.children.find(e=>e.label===r);i||(i={label:r,value:0,depth:t,children:[],branchIndex:t===0?e.children.length:e.branchIndex,a0:0,a1:0},e.children.push(i)),i.value+=n.size,e=i}}return t.value=t.children.reduce((e,t)=>e+t.value,0),t}function Pn(e){let t=e.children.reduce((e,t)=>e+t.value,0);if(t<=0)return;let n=e.a0;for(let r of e.children){let i=(e.a1-e.a0)*r.value/t;r.a0=n,r.a1=n+i,n=r.a1,Pn(r)}}function Fn(e){return e.children.length===0?e.depth:Math.max(...e.children.map(Fn))}function In(e,t,n,r){let i=t.chartexSunburst;if(!i||i.rows.length===0)return;let{x:a,y:o,w:s,h:c}=n,l=Te(t,a,o,s,c,r,{titleTopPadFrac:.035,titleBottomPadFrac:.035,legendSideReserveFrac:0,radialGapFrac:.02});on(e,t,a,o+l.title.topPad,s,l.title.fontPx);let{px0:u,py0:d,pw:f,ph:p}=l.plotRect,m=u+f/2,h=d+p/2,g=Math.min(f,p)*.46,_=Nn(i.rows);if(_.value<=0||_.children.length===0)return;_.a0=-Math.PI/2,_.a1=-Math.PI/2+Math.PI*2,Pn(_);let v=Fn(_)+1,y=g*.18,b=(g-y)/v,x=t.chartexAccents,S=e=>`#${x?.[e%x.length]??yt[e%yt.length]}`,C=wt(t,t.dataLabelFontFace,`minor`),w=Math.max(7,Math.min(13,g*.075)),T=Array.from({length:v},()=>[]),E=e=>{e.depth>=0&&T[e.depth].push(e),e.children.forEach(E)};E(_),e.save();for(let t=0;t<v;t++){let n=y+t*b,r=n+b;for(let i of T[t]){let t=i.a1-i.a0;if(t<=1e-4)continue;e.beginPath(),e.arc(m,h,r,i.a0,i.a1),e.arc(m,h,n,i.a1,i.a0,!0),e.closePath(),e.fillStyle=S(i.branchIndex),e.fill(),e.strokeStyle=`#ffffff`,e.lineWidth=1,e.stroke();let a=(i.a0+i.a1)/2,o=(n+r)/2,s=b-4,c=t*o;if(s<w*.9&&c<w*.9)continue;e.save(),e.translate(m+Math.cos(a)*o,h+Math.sin(a)*o);let l=a+Math.PI/2,u=l*180/Math.PI%360;u>90&&u<270&&(l+=Math.PI),e.rotate(l),e.font=`${w}px ${C}`,e.fillStyle=`#ffffff`,e.textAlign=`center`,e.textBaseline=`middle`;let d=i.label.split(/\\s+/).filter(Boolean),f=c-2,p=[],g=``;for(let t of d){let n=g?`${g} ${t}`:t;e.measureText(n).width<=f||!g?g=n:(p.push(g),g=t)}g&&p.push(g);let _=w*1.05,v=Math.max(1,Math.floor(s/_)),y=p.slice(0,v).map(t=>Qe(e,t,f)),x=y.length*_;y.forEach((t,n)=>{t!==``&&e.fillText(t,0,-x/2+_/2+n*_)}),e.restore()}}e.restore()}function Ln(e,t,n,r=1.3333333333333333){e.save();try{let{x:i,y:a,w:o,h:s}=n;if(t.chartBg&&(e.fillStyle=`#${t.chartBg}`,e.fillRect(i,a,o,s)),t.chartBorderColor){e.save(),e.strokeStyle=`#${t.chartBorderColor}`,e.lineWidth=t.chartBorderWidthEmu?Math.max(.5,t.chartBorderWidthEmu/Ne)*r:1;let n=e.lineWidth;e.strokeRect(i+n/2,a+n/2,o-n,s-n),e.restore()}let c=t.chartexBox!=null||t.chartexSunburst!=null;if(t.series.length===0&&!c){e.fillStyle=`#888`,e.font=`12px sans-serif`,e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(`(no data)`,i+o/2,a+s/2);return}switch(t.chartType){case`clusteredBar`:case`clusteredBarH`:case`stackedBar`:case`stackedBarH`:case`stackedBarPct`:case`stackedBarHPct`:ln(e,t,n,r);break;case`line`:case`stackedLine`:case`stackedLinePct`:un(e,t,n,r);break;case`area`:case`stackedArea`:case`stackedAreaPct`:fn(e,t,n,r);break;case`pie`:pn(e,t,n,!1,r);break;case`doughnut`:pn(e,t,n,!0,r);break;case`radar`:gn(e,t,n,r);break;case`scatter`:case`bubble`:vn(e,t,n,r);break;case`waterfall`:kn(e,t,n);break;case`stock`:dn(e,t,n,r);break;case`boxWhisker`:Mn(e,t,n,r);break;case`sunburst`:In(e,t,n,r);break;default:e.fillStyle=`#888`,e.font=`11px sans-serif`,e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(`Chart: ${t.chartType}`,i+o/2,a+s/2)}}finally{e.restore()}}function Rn(e,t,n,r,i,a){for(let o of t){let t=0,s=0;for(let c of o)switch(c.cmd){case`moveTo`:e.moveTo(n+c.x*i,r+c.y*a),t=c.x,s=c.y;break;case`lineTo`:e.lineTo(n+c.x*i,r+c.y*a),t=c.x,s=c.y;break;case`cubicBezTo`:e.bezierCurveTo(n+c.x1*i,r+c.y1*a,n+c.x2*i,r+c.y2*a,n+c.x*i,r+c.y*a),t=c.x,s=c.y;break;case`quadBezTo`:e.quadraticCurveTo(n+c.x1*i,r+c.y1*a,n+c.x*i,r+c.y*a),t=c.x,s=c.y;break;case`arcTo`:{let o=c.wr*i,l=c.hr*a;if(o<=0||l<=0)break;let u=c.stAng*Math.PI/180,d=c.swAng*Math.PI/180,f=n+t*i,p=r+s*a,m=f-o*Math.cos(u),h=p-l*Math.sin(u),g=u+d;e.ellipse(m,h,o,l,0,u,g,d<0),t=(m+o*Math.cos(g)-n)/i,s=(h+l*Math.sin(g)-r)/a;break}case`close`:e.closePath();break}}}const zn=1e-9;function Bn(e){return e.cmd===`lineTo`||e.cmd===`cubicBezTo`||e.cmd===`quadBezTo`||e.cmd===`arcTo`}function Vn(e,t,n,r){let i=n===0?0:n,a=r===0?0:r;return{x:e,y:t,dx:i,dy:a,angle:Math.atan2(a,i)}}function Hn(e,t,n){switch(n.cmd){case`lineTo`:return{dx:n.x-e,dy:n.y-t};case`cubicBezTo`:{let r=n.x1-e,i=n.y1-t;return Math.abs(r)<zn&&Math.abs(i)<zn&&(r=n.x2-e,i=n.y2-t),Math.abs(r)<zn&&Math.abs(i)<zn&&(r=n.x-e,i=n.y-t),{dx:r,dy:i}}case`quadBezTo`:{let r=n.x1-e,i=n.y1-t;return Math.abs(r)<zn&&Math.abs(i)<zn&&(r=n.x-e,i=n.y-t),{dx:r,dy:i}}case`arcTo`:{let e=n.stAng*Math.PI/180,t=n.swAng<0?-1:1;return{dx:-n.wr*Math.sin(e)*t,dy:n.hr*Math.cos(e)*t}}default:return{dx:0,dy:0}}}function Un(e,t,n){switch(n.cmd){case`moveTo`:case`lineTo`:case`cubicBezTo`:case`quadBezTo`:return{x:n.x,y:n.y};case`arcTo`:{if(n.wr<=0||n.hr<=0)return{x:e,y:t};let r=n.stAng*Math.PI/180,i=r+n.swAng*Math.PI/180,a=e-n.wr*Math.cos(r),o=t-n.hr*Math.sin(r);return{x:a+n.wr*Math.cos(i),y:o+n.hr*Math.sin(i)}}default:return{x:e,y:t}}}function Wn(e,t,n){let{x:r,y:i}=Un(e,t,n);switch(n.cmd){case`lineTo`:return{dx:n.x-e,dy:n.y-t,x:r,y:i};case`cubicBezTo`:{let a=n.x-n.x2,o=n.y-n.y2;return Math.abs(a)<zn&&Math.abs(o)<zn&&(a=n.x-n.x1,o=n.y-n.y1),Math.abs(a)<zn&&Math.abs(o)<zn&&(a=n.x-e,o=n.y-t),{dx:a,dy:o,x:r,y:i}}case`quadBezTo`:{let a=n.x-n.x1,o=n.y-n.y1;return Math.abs(a)<zn&&Math.abs(o)<zn&&(a=n.x-e,o=n.y-t),{dx:a,dy:o,x:r,y:i}}case`arcTo`:{if(n.wr<=0||n.hr<=0)return{dx:0,dy:0,x:r,y:i};let e=n.stAng*Math.PI/180+n.swAng*Math.PI/180,t=n.swAng<0?-1:1;return{dx:-n.wr*Math.sin(e)*t,dy:n.hr*Math.cos(e)*t,x:r,y:i}}default:return{dx:0,dy:0,x:r,y:i}}}function Gn(e){let t=0,n=0,r=!1;for(let i of e)i.cmd===`moveTo`&&(r=!0),{x:t,y:n}=Un(t,n,i);return r?{x:t,y:n}:null}function Kn(e){if(e.some(e=>e.cmd===`close`))return!0;let t=e.find(e=>e.cmd===`moveTo`);if(!t)return!1;let n=Gn(e);return!n||!e.some(Bn)?!1:Math.abs(n.x-t.x)<zn&&Math.abs(n.y-t.y)<zn}function qn(e){let t={start:null,end:null};if(!e||e.length===0)return t;let n=e[0];if(n&&n.length>0&&!Kn(n)){let e=n.find(e=>e.cmd===`moveTo`),r=n.find(Bn);if(e&&r){let n=Hn(e.x,e.y,r);(Math.abs(n.dx)>zn||Math.abs(n.dy)>zn)&&(t.start=Vn(e.x,e.y,-n.dx,-n.dy))}}let r=e[e.length-1];if(r&&r.length>0&&!Kn(r)){let e=0,n=0,i=-1;for(let e=0;e<r.length;e++)Bn(r[e])&&(i=e);if(i>=0){for(let t=0;t<i;t++)({x:e,y:n}=Un(e,n,r[t]));let a=Wn(e,n,r[i]);(Math.abs(a.dx)>zn||Math.abs(a.dy)>zn)&&(t.end=Vn(a.x,a.y,a.dx,a.dy))}}return t}var Jn={accentbordercallout1:{adj:[[`adj1`,`val 18750`],[`adj2`,`val -8333`],[`adj3`,`val 112500`],[`adj4`,`val -38333`]],gd:[[`y1`,`*/ h adj1 100000`],[`x1`,`*/ w adj2 100000`],[`y2`,`*/ h adj3 100000`],[`x2`,`*/ w adj4 100000`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`t`],[`c`],[`l`,`x1`,`b`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`y1`],[`l`,`x2`,`y2`]]}]},accentbordercallout2:{adj:[[`adj1`,`val 18750`],[`adj2`,`val -8333`],[`adj3`,`val 18750`],[`adj4`,`val -16667`],[`adj5`,`val 112500`],[`adj6`,`val -46667`]],gd:[[`y1`,`*/ h adj1 100000`],[`x1`,`*/ w adj2 100000`],[`y2`,`*/ h adj3 100000`],[`x2`,`*/ w adj4 100000`],[`y3`,`*/ h adj5 100000`],[`x3`,`*/ w adj6 100000`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`t`],[`c`],[`l`,`x1`,`b`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`y1`],[`l`,`x2`,`y2`],[`l`,`x3`,`y3`]]}]},accentbordercallout3:{adj:[[`adj1`,`val 18750`],[`adj2`,`val -8333`],[`adj3`,`val 18750`],[`adj4`,`val -16667`],[`adj5`,`val 100000`],[`adj6`,`val -16667`],[`adj7`,`val 112963`],[`adj8`,`val -8333`]],gd:[[`y1`,`*/ h adj1 100000`],[`x1`,`*/ w adj2 100000`],[`y2`,`*/ h adj3 100000`],[`x2`,`*/ w adj4 100000`],[`y3`,`*/ h adj5 100000`],[`x3`,`*/ w adj6 100000`],[`y4`,`*/ h adj7 100000`],[`x4`,`*/ w adj8 100000`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`t`],[`c`],[`l`,`x1`,`b`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`y1`],[`l`,`x2`,`y2`],[`l`,`x3`,`y3`],[`l`,`x4`,`y4`]]}]},accentcallout1:{adj:[[`adj1`,`val 18750`],[`adj2`,`val -8333`],[`adj3`,`val 112500`],[`adj4`,`val -38333`]],gd:[[`y1`,`*/ h adj1 100000`],[`x1`,`*/ w adj2 100000`],[`y2`,`*/ h adj3 100000`],[`x2`,`*/ w adj4 100000`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`t`],[`c`],[`l`,`x1`,`b`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`y1`],[`l`,`x2`,`y2`]]}]},accentcallout2:{adj:[[`adj1`,`val 18750`],[`adj2`,`val -8333`],[`adj3`,`val 18750`],[`adj4`,`val -16667`],[`adj5`,`val 112500`],[`adj6`,`val -46667`]],gd:[[`y1`,`*/ h adj1 100000`],[`x1`,`*/ w adj2 100000`],[`y2`,`*/ h adj3 100000`],[`x2`,`*/ w adj4 100000`],[`y3`,`*/ h adj5 100000`],[`x3`,`*/ w adj6 100000`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`t`],[`c`],[`l`,`x1`,`b`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`y1`],[`l`,`x2`,`y2`],[`l`,`x3`,`y3`]]}]},accentcallout3:{adj:[[`adj1`,`val 18750`],[`adj2`,`val -8333`],[`adj3`,`val 18750`],[`adj4`,`val -16667`],[`adj5`,`val 100000`],[`adj6`,`val -16667`],[`adj7`,`val 112963`],[`adj8`,`val -8333`]],gd:[[`y1`,`*/ h adj1 100000`],[`x1`,`*/ w adj2 100000`],[`y2`,`*/ h adj3 100000`],[`x2`,`*/ w adj4 100000`],[`y3`,`*/ h adj5 100000`],[`x3`,`*/ w adj6 100000`],[`y4`,`*/ h adj7 100000`],[`x4`,`*/ w adj8 100000`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`t`],[`c`],[`l`,`x1`,`b`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`y1`],[`l`,`x2`,`y2`],[`l`,`x3`,`y3`],[`l`,`x4`,`y4`]]}]},actionbuttonbackprevious:{adj:[],gd:[[`dx2`,`*/ ss 3 8`],[`g9`,`+- vc 0 dx2`],[`g10`,`+- vc dx2 0`],[`g11`,`+- hc 0 dx2`],[`g12`,`+- hc dx2 0`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`],[`m`,`g11`,`vc`],[`l`,`g12`,`g9`],[`l`,`g12`,`g10`],[`c`]]},{w:null,h:null,fill:`darken`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`g11`,`vc`],[`l`,`g12`,`g9`],[`l`,`g12`,`g10`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`g11`,`vc`],[`l`,`g12`,`g9`],[`l`,`g12`,`g10`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]}]},actionbuttonbeginning:{adj:[],gd:[[`dx2`,`*/ ss 3 8`],[`g9`,`+- vc 0 dx2`],[`g10`,`+- vc dx2 0`],[`g11`,`+- hc 0 dx2`],[`g12`,`+- hc dx2 0`],[`g13`,`*/ ss 3 4`],[`g14`,`*/ g13 1 8`],[`g15`,`*/ g13 1 4`],[`g16`,`+- g11 g14 0`],[`g17`,`+- g11 g15 0`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`],[`m`,`g17`,`vc`],[`l`,`g12`,`g9`],[`l`,`g12`,`g10`],[`c`],[`m`,`g16`,`g9`],[`l`,`g11`,`g9`],[`l`,`g11`,`g10`],[`l`,`g16`,`g10`],[`c`]]},{w:null,h:null,fill:`darken`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`g17`,`vc`],[`l`,`g12`,`g9`],[`l`,`g12`,`g10`],[`c`],[`m`,`g16`,`g9`],[`l`,`g11`,`g9`],[`l`,`g11`,`g10`],[`l`,`g16`,`g10`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`g17`,`vc`],[`l`,`g12`,`g9`],[`l`,`g12`,`g10`],[`c`],[`m`,`g16`,`g9`],[`l`,`g16`,`g10`],[`l`,`g11`,`g10`],[`l`,`g11`,`g9`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]}]},actionbuttonblank:{adj:[],gd:[],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]}]},actionbuttondocument:{adj:[],gd:[[`dx2`,`*/ ss 3 8`],[`g9`,`+- vc 0 dx2`],[`g10`,`+- vc dx2 0`],[`dx1`,`*/ ss 9 32`],[`g11`,`+- hc 0 dx1`],[`g12`,`+- hc dx1 0`],[`g13`,`*/ ss 3 16`],[`g14`,`+- g12 0 g13`],[`g15`,`+- g9 g13 0`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`],[`m`,`g11`,`g9`],[`l`,`g14`,`g9`],[`l`,`g12`,`g15`],[`l`,`g12`,`g10`],[`l`,`g11`,`g10`],[`c`]]},{w:null,h:null,fill:`darkenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`g11`,`g9`],[`l`,`g14`,`g9`],[`l`,`g14`,`g15`],[`l`,`g12`,`g15`],[`l`,`g12`,`g10`],[`l`,`g11`,`g10`],[`c`]]},{w:null,h:null,fill:`darken`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`g14`,`g9`],[`l`,`g14`,`g15`],[`l`,`g12`,`g15`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`g11`,`g9`],[`l`,`g14`,`g9`],[`l`,`g12`,`g15`],[`l`,`g12`,`g10`],[`l`,`g11`,`g10`],[`c`],[`m`,`g12`,`g15`],[`l`,`g14`,`g15`],[`l`,`g14`,`g9`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]}]},actionbuttonend:{adj:[],gd:[[`dx2`,`*/ ss 3 8`],[`g9`,`+- vc 0 dx2`],[`g10`,`+- vc dx2 0`],[`g11`,`+- hc 0 dx2`],[`g12`,`+- hc dx2 0`],[`g13`,`*/ ss 3 4`],[`g14`,`*/ g13 3 4`],[`g15`,`*/ g13 7 8`],[`g16`,`+- g11 g14 0`],[`g17`,`+- g11 g15 0`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`],[`m`,`g16`,`vc`],[`l`,`g11`,`g9`],[`l`,`g11`,`g10`],[`c`],[`m`,`g17`,`g9`],[`l`,`g12`,`g9`],[`l`,`g12`,`g10`],[`l`,`g17`,`g10`],[`c`]]},{w:null,h:null,fill:`darken`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`g16`,`vc`],[`l`,`g11`,`g9`],[`l`,`g11`,`g10`],[`c`],[`m`,`g17`,`g9`],[`l`,`g12`,`g9`],[`l`,`g12`,`g10`],[`l`,`g17`,`g10`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`g16`,`vc`],[`l`,`g11`,`g10`],[`l`,`g11`,`g9`],[`c`],[`m`,`g17`,`g9`],[`l`,`g12`,`g9`],[`l`,`g12`,`g10`],[`l`,`g17`,`g10`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]}]},actionbuttonforwardnext:{adj:[],gd:[[`dx2`,`*/ ss 3 8`],[`g9`,`+- vc 0 dx2`],[`g10`,`+- vc dx2 0`],[`g11`,`+- hc 0 dx2`],[`g12`,`+- hc dx2 0`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`],[`m`,`g12`,`vc`],[`l`,`g11`,`g9`],[`l`,`g11`,`g10`],[`c`]]},{w:null,h:null,fill:`darken`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`g12`,`vc`],[`l`,`g11`,`g9`],[`l`,`g11`,`g10`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`g12`,`vc`],[`l`,`g11`,`g10`],[`l`,`g11`,`g9`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]}]},actionbuttonhelp:{adj:[],gd:[[`dx2`,`*/ ss 3 8`],[`g9`,`+- vc 0 dx2`],[`g11`,`+- hc 0 dx2`],[`g13`,`*/ ss 3 4`],[`g14`,`*/ g13 1 7`],[`g15`,`*/ g13 3 14`],[`g16`,`*/ g13 2 7`],[`g19`,`*/ g13 3 7`],[`g20`,`*/ g13 4 7`],[`g21`,`*/ g13 17 28`],[`g23`,`*/ g13 21 28`],[`g24`,`*/ g13 11 14`],[`g27`,`+- g9 g16 0`],[`g29`,`+- g9 g21 0`],[`g30`,`+- g9 g23 0`],[`g31`,`+- g9 g24 0`],[`g33`,`+- g11 g15 0`],[`g36`,`+- g11 g19 0`],[`g37`,`+- g11 g20 0`],[`g41`,`*/ g13 1 14`],[`g42`,`*/ g13 3 28`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`],[`m`,`g33`,`g27`],[`a`,`g16`,`g16`,`cd2`,`cd2`],[`a`,`g14`,`g15`,`0`,`cd4`],[`a`,`g41`,`g42`,`3cd4`,`-5400000`],[`l`,`g37`,`g30`],[`l`,`g36`,`g30`],[`l`,`g36`,`g29`],[`a`,`g14`,`g15`,`cd2`,`cd4`],[`a`,`g41`,`g42`,`cd4`,`-5400000`],[`a`,`g14`,`g14`,`0`,`-10800000`],[`c`],[`m`,`hc`,`g31`],[`a`,`g42`,`g42`,`3cd4`,`21600000`],[`c`]]},{w:null,h:null,fill:`darken`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`g33`,`g27`],[`a`,`g16`,`g16`,`cd2`,`cd2`],[`a`,`g14`,`g15`,`0`,`cd4`],[`a`,`g41`,`g42`,`3cd4`,`-5400000`],[`l`,`g37`,`g30`],[`l`,`g36`,`g30`],[`l`,`g36`,`g29`],[`a`,`g14`,`g15`,`cd2`,`cd4`],[`a`,`g41`,`g42`,`cd4`,`-5400000`],[`a`,`g14`,`g14`,`0`,`-10800000`],[`c`],[`m`,`hc`,`g31`],[`a`,`g42`,`g42`,`3cd4`,`21600000`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`g33`,`g27`],[`a`,`g16`,`g16`,`cd2`,`cd2`],[`a`,`g14`,`g15`,`0`,`cd4`],[`a`,`g41`,`g42`,`3cd4`,`-5400000`],[`l`,`g37`,`g30`],[`l`,`g36`,`g30`],[`l`,`g36`,`g29`],[`a`,`g14`,`g15`,`cd2`,`cd4`],[`a`,`g41`,`g42`,`cd4`,`-5400000`],[`a`,`g14`,`g14`,`0`,`-10800000`],[`c`],[`m`,`hc`,`g31`],[`a`,`g42`,`g42`,`3cd4`,`21600000`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]}]},actionbuttonhome:{adj:[],gd:[[`dx2`,`*/ ss 3 8`],[`g9`,`+- vc 0 dx2`],[`g10`,`+- vc dx2 0`],[`g11`,`+- hc 0 dx2`],[`g12`,`+- hc dx2 0`],[`g13`,`*/ ss 3 4`],[`g14`,`*/ g13 1 16`],[`g15`,`*/ g13 1 8`],[`g16`,`*/ g13 3 16`],[`g17`,`*/ g13 5 16`],[`g18`,`*/ g13 7 16`],[`g19`,`*/ g13 9 16`],[`g20`,`*/ g13 11 16`],[`g21`,`*/ g13 3 4`],[`g22`,`*/ g13 13 16`],[`g23`,`*/ g13 7 8`],[`g24`,`+- g9 g14 0`],[`g25`,`+- g9 g16 0`],[`g26`,`+- g9 g17 0`],[`g27`,`+- g9 g21 0`],[`g28`,`+- g11 g15 0`],[`g29`,`+- g11 g18 0`],[`g30`,`+- g11 g19 0`],[`g31`,`+- g11 g20 0`],[`g32`,`+- g11 g22 0`],[`g33`,`+- g11 g23 0`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`],[`m`,`hc`,`g9`],[`l`,`g11`,`vc`],[`l`,`g28`,`vc`],[`l`,`g28`,`g10`],[`l`,`g33`,`g10`],[`l`,`g33`,`vc`],[`l`,`g12`,`vc`],[`l`,`g32`,`g26`],[`l`,`g32`,`g24`],[`l`,`g31`,`g24`],[`l`,`g31`,`g25`],[`c`]]},{w:null,h:null,fill:`darkenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`g32`,`g26`],[`l`,`g32`,`g24`],[`l`,`g31`,`g24`],[`l`,`g31`,`g25`],[`c`],[`m`,`g28`,`vc`],[`l`,`g28`,`g10`],[`l`,`g29`,`g10`],[`l`,`g29`,`g27`],[`l`,`g30`,`g27`],[`l`,`g30`,`g10`],[`l`,`g33`,`g10`],[`l`,`g33`,`vc`],[`c`]]},{w:null,h:null,fill:`darken`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`hc`,`g9`],[`l`,`g11`,`vc`],[`l`,`g12`,`vc`],[`c`],[`m`,`g29`,`g27`],[`l`,`g30`,`g27`],[`l`,`g30`,`g10`],[`l`,`g29`,`g10`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`hc`,`g9`],[`l`,`g31`,`g25`],[`l`,`g31`,`g24`],[`l`,`g32`,`g24`],[`l`,`g32`,`g26`],[`l`,`g12`,`vc`],[`l`,`g33`,`vc`],[`l`,`g33`,`g10`],[`l`,`g28`,`g10`],[`l`,`g28`,`vc`],[`l`,`g11`,`vc`],[`c`],[`m`,`g31`,`g25`],[`l`,`g32`,`g26`],[`m`,`g33`,`vc`],[`l`,`g28`,`vc`],[`m`,`g29`,`g10`],[`l`,`g29`,`g27`],[`l`,`g30`,`g27`],[`l`,`g30`,`g10`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]}]},actionbuttoninformation:{adj:[],gd:[[`dx2`,`*/ ss 3 8`],[`g9`,`+- vc 0 dx2`],[`g11`,`+- hc 0 dx2`],[`g13`,`*/ ss 3 4`],[`g14`,`*/ g13 1 32`],[`g17`,`*/ g13 5 16`],[`g18`,`*/ g13 3 8`],[`g19`,`*/ g13 13 32`],[`g20`,`*/ g13 19 32`],[`g22`,`*/ g13 11 16`],[`g23`,`*/ g13 13 16`],[`g24`,`*/ g13 7 8`],[`g25`,`+- g9 g14 0`],[`g28`,`+- g9 g17 0`],[`g29`,`+- g9 g18 0`],[`g30`,`+- g9 g23 0`],[`g31`,`+- g9 g24 0`],[`g32`,`+- g11 g17 0`],[`g34`,`+- g11 g19 0`],[`g35`,`+- g11 g20 0`],[`g37`,`+- g11 g22 0`],[`g38`,`*/ g13 3 32`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`],[`m`,`hc`,`g9`],[`a`,`dx2`,`dx2`,`3cd4`,`21600000`],[`c`]]},{w:null,h:null,fill:`darken`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`hc`,`g9`],[`a`,`dx2`,`dx2`,`3cd4`,`21600000`],[`c`],[`m`,`hc`,`g25`],[`a`,`g38`,`g38`,`3cd4`,`21600000`],[`m`,`g32`,`g28`],[`l`,`g32`,`g29`],[`l`,`g34`,`g29`],[`l`,`g34`,`g30`],[`l`,`g32`,`g30`],[`l`,`g32`,`g31`],[`l`,`g37`,`g31`],[`l`,`g37`,`g30`],[`l`,`g35`,`g30`],[`l`,`g35`,`g28`],[`c`]]},{w:null,h:null,fill:`lighten`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`hc`,`g25`],[`a`,`g38`,`g38`,`3cd4`,`21600000`],[`m`,`g32`,`g28`],[`l`,`g35`,`g28`],[`l`,`g35`,`g30`],[`l`,`g37`,`g30`],[`l`,`g37`,`g31`],[`l`,`g32`,`g31`],[`l`,`g32`,`g30`],[`l`,`g34`,`g30`],[`l`,`g34`,`g29`],[`l`,`g32`,`g29`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`hc`,`g9`],[`a`,`dx2`,`dx2`,`3cd4`,`21600000`],[`c`],[`m`,`hc`,`g25`],[`a`,`g38`,`g38`,`3cd4`,`21600000`],[`m`,`g32`,`g28`],[`l`,`g35`,`g28`],[`l`,`g35`,`g30`],[`l`,`g37`,`g30`],[`l`,`g37`,`g31`],[`l`,`g32`,`g31`],[`l`,`g32`,`g30`],[`l`,`g34`,`g30`],[`l`,`g34`,`g29`],[`l`,`g32`,`g29`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]}]},actionbuttonmovie:{adj:[],gd:[[`dx2`,`*/ ss 3 8`],[`g9`,`+- vc 0 dx2`],[`g10`,`+- vc dx2 0`],[`g11`,`+- hc 0 dx2`],[`g12`,`+- hc dx2 0`],[`g13`,`*/ ss 3 4`],[`g14`,`*/ g13 1455 21600`],[`g15`,`*/ g13 1905 21600`],[`g16`,`*/ g13 2325 21600`],[`g17`,`*/ g13 16155 21600`],[`g18`,`*/ g13 17010 21600`],[`g19`,`*/ g13 19335 21600`],[`g20`,`*/ g13 19725 21600`],[`g21`,`*/ g13 20595 21600`],[`g22`,`*/ g13 5280 21600`],[`g23`,`*/ g13 5730 21600`],[`g24`,`*/ g13 6630 21600`],[`g25`,`*/ g13 7492 21600`],[`g26`,`*/ g13 9067 21600`],[`g27`,`*/ g13 9555 21600`],[`g28`,`*/ g13 13342 21600`],[`g29`,`*/ g13 14580 21600`],[`g30`,`*/ g13 15592 21600`],[`g31`,`+- g11 g14 0`],[`g32`,`+- g11 g15 0`],[`g33`,`+- g11 g16 0`],[`g34`,`+- g11 g17 0`],[`g35`,`+- g11 g18 0`],[`g36`,`+- g11 g19 0`],[`g37`,`+- g11 g20 0`],[`g38`,`+- g11 g21 0`],[`g39`,`+- g9 g22 0`],[`g40`,`+- g9 g23 0`],[`g41`,`+- g9 g24 0`],[`g42`,`+- g9 g25 0`],[`g43`,`+- g9 g26 0`],[`g44`,`+- g9 g27 0`],[`g45`,`+- g9 g28 0`],[`g46`,`+- g9 g29 0`],[`g47`,`+- g9 g30 0`],[`g48`,`+- g9 g31 0`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`],[`m`,`g11`,`g39`],[`l`,`g11`,`g44`],[`l`,`g31`,`g44`],[`l`,`g32`,`g43`],[`l`,`g33`,`g43`],[`l`,`g33`,`g47`],[`l`,`g35`,`g47`],[`l`,`g35`,`g45`],[`l`,`g36`,`g45`],[`l`,`g38`,`g46`],[`l`,`g12`,`g46`],[`l`,`g12`,`g41`],[`l`,`g38`,`g41`],[`l`,`g37`,`g42`],[`l`,`g35`,`g42`],[`l`,`g35`,`g41`],[`l`,`g34`,`g40`],[`l`,`g32`,`g40`],[`l`,`g31`,`g39`],[`c`]]},{w:null,h:null,fill:`darken`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`g11`,`g39`],[`l`,`g11`,`g44`],[`l`,`g31`,`g44`],[`l`,`g32`,`g43`],[`l`,`g33`,`g43`],[`l`,`g33`,`g47`],[`l`,`g35`,`g47`],[`l`,`g35`,`g45`],[`l`,`g36`,`g45`],[`l`,`g38`,`g46`],[`l`,`g12`,`g46`],[`l`,`g12`,`g41`],[`l`,`g38`,`g41`],[`l`,`g37`,`g42`],[`l`,`g35`,`g42`],[`l`,`g35`,`g41`],[`l`,`g34`,`g40`],[`l`,`g32`,`g40`],[`l`,`g31`,`g39`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`g11`,`g39`],[`l`,`g31`,`g39`],[`l`,`g32`,`g40`],[`l`,`g34`,`g40`],[`l`,`g35`,`g41`],[`l`,`g35`,`g42`],[`l`,`g37`,`g42`],[`l`,`g38`,`g41`],[`l`,`g12`,`g41`],[`l`,`g12`,`g46`],[`l`,`g38`,`g46`],[`l`,`g36`,`g45`],[`l`,`g35`,`g45`],[`l`,`g35`,`g47`],[`l`,`g33`,`g47`],[`l`,`g33`,`g43`],[`l`,`g32`,`g43`],[`l`,`g31`,`g44`],[`l`,`g11`,`g44`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]}]},actionbuttonreturn:{adj:[],gd:[[`dx2`,`*/ ss 3 8`],[`g9`,`+- vc 0 dx2`],[`g10`,`+- vc dx2 0`],[`g11`,`+- hc 0 dx2`],[`g12`,`+- hc dx2 0`],[`g13`,`*/ ss 3 4`],[`g14`,`*/ g13 7 8`],[`g15`,`*/ g13 3 4`],[`g16`,`*/ g13 5 8`],[`g17`,`*/ g13 3 8`],[`g18`,`*/ g13 1 4`],[`g19`,`+- g9 g15 0`],[`g20`,`+- g9 g16 0`],[`g21`,`+- g9 g18 0`],[`g22`,`+- g11 g14 0`],[`g23`,`+- g11 g15 0`],[`g24`,`+- g11 g16 0`],[`g25`,`+- g11 g17 0`],[`g26`,`+- g11 g18 0`],[`g27`,`*/ g13 1 8`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`],[`m`,`g12`,`g21`],[`l`,`g23`,`g9`],[`l`,`hc`,`g21`],[`l`,`g24`,`g21`],[`l`,`g24`,`g20`],[`a`,`g27`,`g27`,`0`,`cd4`],[`l`,`g25`,`g19`],[`a`,`g27`,`g27`,`cd4`,`cd4`],[`l`,`g26`,`g21`],[`l`,`g11`,`g21`],[`l`,`g11`,`g20`],[`a`,`g17`,`g17`,`cd2`,`-5400000`],[`l`,`hc`,`g10`],[`a`,`g17`,`g17`,`cd4`,`-5400000`],[`l`,`g22`,`g21`],[`c`]]},{w:null,h:null,fill:`darken`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`g12`,`g21`],[`l`,`g23`,`g9`],[`l`,`hc`,`g21`],[`l`,`g24`,`g21`],[`l`,`g24`,`g20`],[`a`,`g27`,`g27`,`0`,`cd4`],[`l`,`g25`,`g19`],[`a`,`g27`,`g27`,`cd4`,`cd4`],[`l`,`g26`,`g21`],[`l`,`g11`,`g21`],[`l`,`g11`,`g20`],[`a`,`g17`,`g17`,`cd2`,`-5400000`],[`l`,`hc`,`g10`],[`a`,`g17`,`g17`,`cd4`,`-5400000`],[`l`,`g22`,`g21`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`g12`,`g21`],[`l`,`g22`,`g21`],[`l`,`g22`,`g20`],[`a`,`g17`,`g17`,`0`,`cd4`],[`l`,`g25`,`g10`],[`a`,`g17`,`g17`,`cd4`,`cd4`],[`l`,`g11`,`g21`],[`l`,`g26`,`g21`],[`l`,`g26`,`g20`],[`a`,`g27`,`g27`,`cd2`,`-5400000`],[`l`,`hc`,`g19`],[`a`,`g27`,`g27`,`cd4`,`-5400000`],[`l`,`g24`,`g21`],[`l`,`hc`,`g21`],[`l`,`g23`,`g9`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]}]},actionbuttonsound:{adj:[],gd:[[`dx2`,`*/ ss 3 8`],[`g9`,`+- vc 0 dx2`],[`g10`,`+- vc dx2 0`],[`g11`,`+- hc 0 dx2`],[`g12`,`+- hc dx2 0`],[`g13`,`*/ ss 3 4`],[`g14`,`*/ g13 1 8`],[`g15`,`*/ g13 5 16`],[`g16`,`*/ g13 5 8`],[`g17`,`*/ g13 11 16`],[`g18`,`*/ g13 3 4`],[`g19`,`*/ g13 7 8`],[`g20`,`+- g9 g14 0`],[`g21`,`+- g9 g15 0`],[`g22`,`+- g9 g17 0`],[`g23`,`+- g9 g19 0`],[`g24`,`+- g11 g15 0`],[`g25`,`+- g11 g16 0`],[`g26`,`+- g11 g18 0`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`],[`m`,`g11`,`g21`],[`l`,`g11`,`g22`],[`l`,`g24`,`g22`],[`l`,`g25`,`g10`],[`l`,`g25`,`g9`],[`l`,`g24`,`g21`],[`c`]]},{w:null,h:null,fill:`darken`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`g11`,`g21`],[`l`,`g11`,`g22`],[`l`,`g24`,`g22`],[`l`,`g25`,`g10`],[`l`,`g25`,`g9`],[`l`,`g24`,`g21`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`g11`,`g21`],[`l`,`g24`,`g21`],[`l`,`g25`,`g9`],[`l`,`g25`,`g10`],[`l`,`g24`,`g22`],[`l`,`g11`,`g22`],[`c`],[`m`,`g26`,`g21`],[`l`,`g12`,`g20`],[`m`,`g26`,`vc`],[`l`,`g12`,`vc`],[`m`,`g26`,`g22`],[`l`,`g12`,`g23`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]}]},arc:{adj:[[`adj1`,`val 16200000`],[`adj2`,`val 0`]],gd:[[`stAng`,`pin 0 adj1 21599999`],[`enAng`,`pin 0 adj2 21599999`],[`sw11`,`+- enAng 0 stAng`],[`sw12`,`+- sw11 21600000 0`],[`swAng`,`?: sw11 sw11 sw12`],[`wt1`,`sin wd2 stAng`],[`ht1`,`cos hd2 stAng`],[`dx1`,`cat2 wd2 ht1 wt1`],[`dy1`,`sat2 hd2 ht1 wt1`],[`wt2`,`sin wd2 enAng`],[`ht2`,`cos hd2 enAng`],[`dx2`,`cat2 wd2 ht2 wt2`],[`dy2`,`sat2 hd2 ht2 wt2`],[`x1`,`+- hc dx1 0`],[`y1`,`+- vc dy1 0`],[`x2`,`+- hc dx2 0`],[`y2`,`+- vc dy2 0`],[`sw0`,`+- 21600000 0 stAng`],[`da1`,`+- swAng 0 sw0`],[`g1`,`max x1 x2`],[`ir`,`?: da1 r g1`],[`sw1`,`+- cd4 0 stAng`],[`sw2`,`+- 27000000 0 stAng`],[`sw3`,`?: sw1 sw1 sw2`],[`da2`,`+- swAng 0 sw3`],[`g5`,`max y1 y2`],[`ib`,`?: da2 b g5`],[`sw4`,`+- cd2 0 stAng`],[`sw5`,`+- 32400000 0 stAng`],[`sw6`,`?: sw4 sw4 sw5`],[`da3`,`+- swAng 0 sw6`],[`g9`,`min x1 x2`],[`il`,`?: da3 l g9`],[`sw7`,`+- 3cd4 0 stAng`],[`sw8`,`+- 37800000 0 stAng`],[`sw9`,`?: sw7 sw7 sw8`],[`da4`,`+- swAng 0 sw9`],[`g13`,`min y1 y2`],[`it`,`?: da4 t g13`],[`cang1`,`+- stAng 0 cd4`],[`cang2`,`+- enAng cd4 0`],[`cang3`,`+/ cang1 cang2 2`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`x1`,`y1`],[`a`,`wd2`,`hd2`,`stAng`,`swAng`],[`l`,`hc`,`vc`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`y1`],[`a`,`wd2`,`hd2`,`stAng`,`swAng`]]}]},bentarrow:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 25000`],[`adj3`,`val 25000`],[`adj4`,`val 43750`]],gd:[[`a2`,`pin 0 adj2 50000`],[`maxAdj1`,`*/ a2 2 1`],[`a1`,`pin 0 adj1 maxAdj1`],[`a3`,`pin 0 adj3 50000`],[`th`,`*/ ss a1 100000`],[`aw2`,`*/ ss a2 100000`],[`th2`,`*/ th 1 2`],[`dh2`,`+- aw2 0 th2`],[`ah`,`*/ ss a3 100000`],[`bw`,`+- r 0 ah`],[`bh`,`+- b 0 dh2`],[`bs`,`min bw bh`],[`maxAdj4`,`*/ 100000 bs ss`],[`a4`,`pin 0 adj4 maxAdj4`],[`bd`,`*/ ss a4 100000`],[`bd3`,`+- bd 0 th`],[`bd2`,`max bd3 0`],[`x3`,`+- th bd2 0`],[`x4`,`+- r 0 ah`],[`y3`,`+- dh2 th 0`],[`y4`,`+- y3 dh2 0`],[`y5`,`+- dh2 bd 0`],[`y6`,`+- y3 bd2 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`b`],[`l`,`l`,`y5`],[`a`,`bd`,`bd`,`cd2`,`cd4`],[`l`,`x4`,`dh2`],[`l`,`x4`,`t`],[`l`,`r`,`aw2`],[`l`,`x4`,`y4`],[`l`,`x4`,`y3`],[`l`,`x3`,`y3`],[`a`,`bd2`,`bd2`,`3cd4`,`-5400000`],[`l`,`th`,`b`],[`c`]]}]},bentconnector2:{adj:[],gd:[],paths:[{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`]]}]},bentconnector3:{adj:[[`adj1`,`val 50000`]],gd:[[`x1`,`*/ w adj1 100000`]],paths:[{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`x1`,`t`],[`l`,`x1`,`b`],[`l`,`r`,`b`]]}]},bentconnector4:{adj:[[`adj1`,`val 50000`],[`adj2`,`val 50000`]],gd:[[`x1`,`*/ w adj1 100000`],[`x2`,`+/ x1 r 2`],[`y2`,`*/ h adj2 100000`],[`y1`,`+/ t y2 2`]],paths:[{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`x1`,`t`],[`l`,`x1`,`y2`],[`l`,`r`,`y2`],[`l`,`r`,`b`]]}]},bentconnector5:{adj:[[`adj1`,`val 50000`],[`adj2`,`val 50000`],[`adj3`,`val 50000`]],gd:[[`x1`,`*/ w adj1 100000`],[`x3`,`*/ w adj3 100000`],[`x2`,`+/ x1 x3 2`],[`y2`,`*/ h adj2 100000`],[`y1`,`+/ t y2 2`],[`y3`,`+/ b y2 2`]],paths:[{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`x1`,`t`],[`l`,`x1`,`y2`],[`l`,`x3`,`y2`],[`l`,`x3`,`b`],[`l`,`r`,`b`]]}]},bentuparrow:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 25000`],[`adj3`,`val 25000`]],gd:[[`a1`,`pin 0 adj1 50000`],[`a2`,`pin 0 adj2 50000`],[`a3`,`pin 0 adj3 50000`],[`y1`,`*/ ss a3 100000`],[`dx1`,`*/ ss a2 50000`],[`x1`,`+- r 0 dx1`],[`dx3`,`*/ ss a2 100000`],[`x3`,`+- r 0 dx3`],[`dx2`,`*/ ss a1 200000`],[`x2`,`+- x3 0 dx2`],[`x4`,`+- x3 dx2 0`],[`dy2`,`*/ ss a1 100000`],[`y2`,`+- b 0 dy2`],[`x0`,`*/ x4 1 2`],[`y3`,`+/ y2 b 2`],[`y15`,`+/ y1 b 2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`y2`],[`l`,`x2`,`y2`],[`l`,`x2`,`y1`],[`l`,`x1`,`y1`],[`l`,`x3`,`t`],[`l`,`r`,`y1`],[`l`,`x4`,`y1`],[`l`,`x4`,`b`],[`l`,`l`,`b`],[`c`]]}]},bevel:{adj:[[`adj`,`val 12500`]],gd:[[`a`,`pin 0 adj 50000`],[`x1`,`*/ ss a 100000`],[`x2`,`+- r 0 x1`],[`y2`,`+- b 0 x1`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`x1`,`x1`],[`l`,`x2`,`x1`],[`l`,`x2`,`y2`],[`l`,`x1`,`y2`],[`c`]]},{w:null,h:null,fill:`lightenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`x2`,`x1`],[`l`,`x1`,`x1`],[`c`]]},{w:null,h:null,fill:`darkenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`b`],[`l`,`x1`,`y2`],[`l`,`x2`,`y2`],[`l`,`r`,`b`],[`c`]]},{w:null,h:null,fill:`lighten`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`x1`,`x1`],[`l`,`x1`,`y2`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:`darken`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`r`,`t`],[`l`,`r`,`b`],[`l`,`x2`,`y2`],[`l`,`x2`,`x1`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`],[`m`,`x1`,`x1`],[`l`,`x2`,`x1`],[`l`,`x2`,`y2`],[`l`,`x1`,`y2`],[`c`],[`m`,`l`,`t`],[`l`,`x1`,`x1`],[`m`,`l`,`b`],[`l`,`x1`,`y2`],[`m`,`r`,`t`],[`l`,`x2`,`x1`],[`m`,`r`,`b`],[`l`,`x2`,`y2`]]}]},blockarc:{adj:[[`adj1`,`val 10800000`],[`adj2`,`val 0`],[`adj3`,`val 25000`]],gd:[[`stAng`,`pin 0 adj1 21599999`],[`istAng`,`pin 0 adj2 21599999`],[`a3`,`pin 0 adj3 50000`],[`sw11`,`+- istAng 0 stAng`],[`sw12`,`+- sw11 21600000 0`],[`swAng`,`?: sw11 sw11 sw12`],[`iswAng`,`+- 0 0 swAng`],[`wt1`,`sin wd2 stAng`],[`ht1`,`cos hd2 stAng`],[`wt3`,`sin wd2 istAng`],[`ht3`,`cos hd2 istAng`],[`dx1`,`cat2 wd2 ht1 wt1`],[`dy1`,`sat2 hd2 ht1 wt1`],[`dx3`,`cat2 wd2 ht3 wt3`],[`dy3`,`sat2 hd2 ht3 wt3`],[`x1`,`+- hc dx1 0`],[`y1`,`+- vc dy1 0`],[`x3`,`+- hc dx3 0`],[`y3`,`+- vc dy3 0`],[`dr`,`*/ ss a3 100000`],[`iwd2`,`+- wd2 0 dr`],[`ihd2`,`+- hd2 0 dr`],[`wt2`,`sin iwd2 istAng`],[`ht2`,`cos ihd2 istAng`],[`wt4`,`sin iwd2 stAng`],[`ht4`,`cos ihd2 stAng`],[`dx2`,`cat2 iwd2 ht2 wt2`],[`dy2`,`sat2 ihd2 ht2 wt2`],[`dx4`,`cat2 iwd2 ht4 wt4`],[`dy4`,`sat2 ihd2 ht4 wt4`],[`x2`,`+- hc dx2 0`],[`y2`,`+- vc dy2 0`],[`x4`,`+- hc dx4 0`],[`y4`,`+- vc dy4 0`],[`sw0`,`+- 21600000 0 stAng`],[`da1`,`+- swAng 0 sw0`],[`g1`,`max x1 x2`],[`g2`,`max x3 x4`],[`g3`,`max g1 g2`],[`ir`,`?: da1 r g3`],[`sw1`,`+- cd4 0 stAng`],[`sw2`,`+- 27000000 0 stAng`],[`sw3`,`?: sw1 sw1 sw2`],[`da2`,`+- swAng 0 sw3`],[`g5`,`max y1 y2`],[`g6`,`max y3 y4`],[`g7`,`max g5 g6`],[`ib`,`?: da2 b g7`],[`sw4`,`+- cd2 0 stAng`],[`sw5`,`+- 32400000 0 stAng`],[`sw6`,`?: sw4 sw4 sw5`],[`da3`,`+- swAng 0 sw6`],[`g9`,`min x1 x2`],[`g10`,`min x3 x4`],[`g11`,`min g9 g10`],[`il`,`?: da3 l g11`],[`sw7`,`+- 3cd4 0 stAng`],[`sw8`,`+- 37800000 0 stAng`],[`sw9`,`?: sw7 sw7 sw8`],[`da4`,`+- swAng 0 sw9`],[`g13`,`min y1 y2`],[`g14`,`min y3 y4`],[`g15`,`min g13 g14`],[`it`,`?: da4 t g15`],[`x5`,`+/ x1 x4 2`],[`y5`,`+/ y1 y4 2`],[`x6`,`+/ x3 x2 2`],[`y6`,`+/ y3 y2 2`],[`cang1`,`+- stAng 0 cd4`],[`cang2`,`+- istAng cd4 0`],[`cang3`,`+/ cang1 cang2 2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`y1`],[`a`,`wd2`,`hd2`,`stAng`,`swAng`],[`l`,`x2`,`y2`],[`a`,`iwd2`,`ihd2`,`istAng`,`iswAng`],[`c`]]}]},bordercallout1:{adj:[[`adj1`,`val 18750`],[`adj2`,`val -8333`],[`adj3`,`val 112500`],[`adj4`,`val -38333`]],gd:[[`y1`,`*/ h adj1 100000`],[`x1`,`*/ w adj2 100000`],[`y2`,`*/ h adj3 100000`],[`x2`,`*/ w adj4 100000`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`y1`],[`l`,`x2`,`y2`]]}]},bordercallout2:{adj:[[`adj1`,`val 18750`],[`adj2`,`val -8333`],[`adj3`,`val 18750`],[`adj4`,`val -16667`],[`adj5`,`val 112500`],[`adj6`,`val -46667`]],gd:[[`y1`,`*/ h adj1 100000`],[`x1`,`*/ w adj2 100000`],[`y2`,`*/ h adj3 100000`],[`x2`,`*/ w adj4 100000`],[`y3`,`*/ h adj5 100000`],[`x3`,`*/ w adj6 100000`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`y1`],[`l`,`x2`,`y2`],[`l`,`x3`,`y3`]]}]},bordercallout3:{adj:[[`adj1`,`val 18750`],[`adj2`,`val -8333`],[`adj3`,`val 18750`],[`adj4`,`val -16667`],[`adj5`,`val 100000`],[`adj6`,`val -16667`],[`adj7`,`val 112963`],[`adj8`,`val -8333`]],gd:[[`y1`,`*/ h adj1 100000`],[`x1`,`*/ w adj2 100000`],[`y2`,`*/ h adj3 100000`],[`x2`,`*/ w adj4 100000`],[`y3`,`*/ h adj5 100000`],[`x3`,`*/ w adj6 100000`],[`y4`,`*/ h adj7 100000`],[`x4`,`*/ w adj8 100000`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`y1`],[`l`,`x2`,`y2`],[`l`,`x3`,`y3`],[`l`,`x4`,`y4`]]}]},bracepair:{adj:[[`adj`,`val 8333`]],gd:[[`a`,`pin 0 adj 25000`],[`x1`,`*/ ss a 100000`],[`x2`,`*/ ss a 50000`],[`x3`,`+- r 0 x2`],[`x4`,`+- r 0 x1`],[`y2`,`+- vc 0 x1`],[`y3`,`+- vc x1 0`],[`y4`,`+- b 0 x1`],[`it`,`*/ x1 29289 100000`],[`il`,`+- x1 it 0`],[`ir`,`+- r 0 il`],[`ib`,`+- b 0 it`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`x2`,`b`],[`a`,`x1`,`x1`,`cd4`,`cd4`],[`l`,`x1`,`y3`],[`a`,`x1`,`x1`,`0`,`-5400000`],[`a`,`x1`,`x1`,`cd4`,`-5400000`],[`l`,`x1`,`x1`],[`a`,`x1`,`x1`,`cd2`,`cd4`],[`l`,`x3`,`t`],[`a`,`x1`,`x1`,`3cd4`,`cd4`],[`l`,`x4`,`y2`],[`a`,`x1`,`x1`,`cd2`,`-5400000`],[`a`,`x1`,`x1`,`3cd4`,`-5400000`],[`l`,`x4`,`y4`],[`a`,`x1`,`x1`,`0`,`cd4`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x2`,`b`],[`a`,`x1`,`x1`,`cd4`,`cd4`],[`l`,`x1`,`y3`],[`a`,`x1`,`x1`,`0`,`-5400000`],[`a`,`x1`,`x1`,`cd4`,`-5400000`],[`l`,`x1`,`x1`],[`a`,`x1`,`x1`,`cd2`,`cd4`],[`m`,`x3`,`t`],[`a`,`x1`,`x1`,`3cd4`,`cd4`],[`l`,`x4`,`y2`],[`a`,`x1`,`x1`,`cd2`,`-5400000`],[`a`,`x1`,`x1`,`3cd4`,`-5400000`],[`l`,`x4`,`y4`],[`a`,`x1`,`x1`,`0`,`cd4`]]}]},bracketpair:{adj:[[`adj`,`val 16667`]],gd:[[`a`,`pin 0 adj 50000`],[`x1`,`*/ ss a 100000`],[`x2`,`+- r 0 x1`],[`y2`,`+- b 0 x1`],[`il`,`*/ x1 29289 100000`],[`ir`,`+- r 0 il`],[`ib`,`+- b 0 il`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`x1`],[`a`,`x1`,`x1`,`cd2`,`cd4`],[`l`,`x2`,`t`],[`a`,`x1`,`x1`,`3cd4`,`cd4`],[`l`,`r`,`y2`],[`a`,`x1`,`x1`,`0`,`cd4`],[`l`,`x1`,`b`],[`a`,`x1`,`x1`,`cd4`,`cd4`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`b`],[`a`,`x1`,`x1`,`cd4`,`cd4`],[`l`,`l`,`x1`],[`a`,`x1`,`x1`,`cd2`,`cd4`],[`m`,`x2`,`t`],[`a`,`x1`,`x1`,`3cd4`,`cd4`],[`l`,`r`,`y2`],[`a`,`x1`,`x1`,`0`,`cd4`]]}]},callout1:{adj:[[`adj1`,`val 18750`],[`adj2`,`val -8333`],[`adj3`,`val 112500`],[`adj4`,`val -38333`]],gd:[[`y1`,`*/ h adj1 100000`],[`x1`,`*/ w adj2 100000`],[`y2`,`*/ h adj3 100000`],[`x2`,`*/ w adj4 100000`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`y1`],[`l`,`x2`,`y2`]]}]},callout2:{adj:[[`adj1`,`val 18750`],[`adj2`,`val -8333`],[`adj3`,`val 18750`],[`adj4`,`val -16667`],[`adj5`,`val 112500`],[`adj6`,`val -46667`]],gd:[[`y1`,`*/ h adj1 100000`],[`x1`,`*/ w adj2 100000`],[`y2`,`*/ h adj3 100000`],[`x2`,`*/ w adj4 100000`],[`y3`,`*/ h adj5 100000`],[`x3`,`*/ w adj6 100000`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`y1`],[`l`,`x2`,`y2`],[`l`,`x3`,`y3`]]}]},callout3:{adj:[[`adj1`,`val 18750`],[`adj2`,`val -8333`],[`adj3`,`val 18750`],[`adj4`,`val -16667`],[`adj5`,`val 100000`],[`adj6`,`val -16667`],[`adj7`,`val 112963`],[`adj8`,`val -8333`]],gd:[[`y1`,`*/ h adj1 100000`],[`x1`,`*/ w adj2 100000`],[`y2`,`*/ h adj3 100000`],[`x2`,`*/ w adj4 100000`],[`y3`,`*/ h adj5 100000`],[`x3`,`*/ w adj6 100000`],[`y4`,`*/ h adj7 100000`],[`x4`,`*/ w adj8 100000`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`y1`],[`l`,`x2`,`y2`],[`l`,`x3`,`y3`],[`l`,`x4`,`y4`]]}]},can:{adj:[[`adj`,`val 25000`]],gd:[[`maxAdj`,`*/ 50000 h ss`],[`a`,`pin 0 adj maxAdj`],[`y1`,`*/ ss a 200000`],[`y2`,`+- y1 y1 0`],[`y3`,`+- b 0 y1`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`y1`],[`a`,`wd2`,`y1`,`cd2`,`-10800000`],[`l`,`r`,`y3`],[`a`,`wd2`,`y1`,`0`,`cd2`],[`c`]]},{w:null,h:null,fill:`lighten`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`y1`],[`a`,`wd2`,`y1`,`cd2`,`cd2`],[`a`,`wd2`,`y1`,`0`,`cd2`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`r`,`y1`],[`a`,`wd2`,`y1`,`0`,`cd2`],[`a`,`wd2`,`y1`,`cd2`,`cd2`],[`l`,`r`,`y3`],[`a`,`wd2`,`y1`,`0`,`cd2`],[`l`,`l`,`y1`]]}]},chartplus:{adj:[],gd:[],paths:[{w:10,h:10,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`5`,`0`],[`l`,`5`,`10`],[`m`,`0`,`5`],[`l`,`10`,`5`]]},{w:10,h:10,fill:null,stroke:!1,extrusionOk:!0,cmds:[[`m`,`0`,`0`],[`l`,`0`,`10`],[`l`,`10`,`10`],[`l`,`10`,`0`],[`c`]]}]},chartstar:{adj:[],gd:[],paths:[{w:10,h:10,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`0`,`0`],[`l`,`10`,`10`],[`m`,`0`,`10`],[`l`,`10`,`0`],[`m`,`5`,`0`],[`l`,`5`,`10`]]},{w:10,h:10,fill:null,stroke:!1,extrusionOk:!0,cmds:[[`m`,`0`,`0`],[`l`,`0`,`10`],[`l`,`10`,`10`],[`l`,`10`,`0`],[`c`]]}]},chartx:{adj:[],gd:[],paths:[{w:10,h:10,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`0`,`0`],[`l`,`10`,`10`],[`m`,`0`,`10`],[`l`,`10`,`0`]]},{w:10,h:10,fill:null,stroke:!1,extrusionOk:!0,cmds:[[`m`,`0`,`0`],[`l`,`0`,`10`],[`l`,`10`,`10`],[`l`,`10`,`0`],[`c`]]}]},chevron:{adj:[[`adj`,`val 50000`]],gd:[[`maxAdj`,`*/ 100000 w ss`],[`a`,`pin 0 adj maxAdj`],[`x1`,`*/ ss a 100000`],[`x2`,`+- r 0 x1`],[`x3`,`*/ x2 1 2`],[`dx`,`+- x2 0 x1`],[`il`,`?: dx x1 l`],[`ir`,`?: dx x2 r`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`x2`,`t`],[`l`,`r`,`vc`],[`l`,`x2`,`b`],[`l`,`l`,`b`],[`l`,`x1`,`vc`],[`c`]]}]},chord:{adj:[[`adj1`,`val 2700000`],[`adj2`,`val 16200000`]],gd:[[`stAng`,`pin 0 adj1 21599999`],[`enAng`,`pin 0 adj2 21599999`],[`sw1`,`+- enAng 0 stAng`],[`sw2`,`+- sw1 21600000 0`],[`swAng`,`?: sw1 sw1 sw2`],[`wt1`,`sin wd2 stAng`],[`ht1`,`cos hd2 stAng`],[`dx1`,`cat2 wd2 ht1 wt1`],[`dy1`,`sat2 hd2 ht1 wt1`],[`wt2`,`sin wd2 enAng`],[`ht2`,`cos hd2 enAng`],[`dx2`,`cat2 wd2 ht2 wt2`],[`dy2`,`sat2 hd2 ht2 wt2`],[`x1`,`+- hc dx1 0`],[`y1`,`+- vc dy1 0`],[`x2`,`+- hc dx2 0`],[`y2`,`+- vc dy2 0`],[`x3`,`+/ x1 x2 2`],[`y3`,`+/ y1 y2 2`],[`midAng0`,`*/ swAng 1 2`],[`midAng`,`+- stAng midAng0 cd2`],[`idx`,`cos wd2 2700000`],[`idy`,`sin hd2 2700000`],[`il`,`+- hc 0 idx`],[`ir`,`+- hc idx 0`],[`it`,`+- vc 0 idy`],[`ib`,`+- vc idy 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`y1`],[`a`,`wd2`,`hd2`,`stAng`,`swAng`],[`c`]]}]},circulararrow:{adj:[[`adj1`,`val 12500`],[`adj2`,`val 1142319`],[`adj3`,`val 20457681`],[`adj4`,`val 10800000`],[`adj5`,`val 12500`]],gd:[[`a5`,`pin 0 adj5 25000`],[`maxAdj1`,`*/ a5 2 1`],[`a1`,`pin 0 adj1 maxAdj1`],[`enAng`,`pin 1 adj3 21599999`],[`stAng`,`pin 0 adj4 21599999`],[`th`,`*/ ss a1 100000`],[`thh`,`*/ ss a5 100000`],[`th2`,`*/ th 1 2`],[`rw1`,`+- wd2 th2 thh`],[`rh1`,`+- hd2 th2 thh`],[`rw2`,`+- rw1 0 th`],[`rh2`,`+- rh1 0 th`],[`rw3`,`+- rw2 th2 0`],[`rh3`,`+- rh2 th2 0`],[`wtH`,`sin rw3 enAng`],[`htH`,`cos rh3 enAng`],[`dxH`,`cat2 rw3 htH wtH`],[`dyH`,`sat2 rh3 htH wtH`],[`xH`,`+- hc dxH 0`],[`yH`,`+- vc dyH 0`],[`rI`,`min rw2 rh2`],[`u1`,`*/ dxH dxH 1`],[`u2`,`*/ dyH dyH 1`],[`u3`,`*/ rI rI 1`],[`u4`,`+- u1 0 u3`],[`u5`,`+- u2 0 u3`],[`u6`,`*/ u4 u5 u1`],[`u7`,`*/ u6 1 u2`],[`u8`,`+- 1 0 u7`],[`u9`,`sqrt u8`],[`u10`,`*/ u4 1 dxH`],[`u11`,`*/ u10 1 dyH`],[`u12`,`+/ 1 u9 u11`],[`u13`,`at2 1 u12`],[`u14`,`+- u13 21600000 0`],[`u15`,`?: u13 u13 u14`],[`u16`,`+- u15 0 enAng`],[`u17`,`+- u16 21600000 0`],[`u18`,`?: u16 u16 u17`],[`u19`,`+- u18 0 cd2`],[`u20`,`+- u18 0 21600000`],[`u21`,`?: u19 u20 u18`],[`maxAng`,`abs u21`],[`aAng`,`pin 0 adj2 maxAng`],[`ptAng`,`+- enAng aAng 0`],[`wtA`,`sin rw3 ptAng`],[`htA`,`cos rh3 ptAng`],[`dxA`,`cat2 rw3 htA wtA`],[`dyA`,`sat2 rh3 htA wtA`],[`xA`,`+- hc dxA 0`],[`yA`,`+- vc dyA 0`],[`wtE`,`sin rw1 stAng`],[`htE`,`cos rh1 stAng`],[`dxE`,`cat2 rw1 htE wtE`],[`dyE`,`sat2 rh1 htE wtE`],[`xE`,`+- hc dxE 0`],[`yE`,`+- vc dyE 0`],[`dxG`,`cos thh ptAng`],[`dyG`,`sin thh ptAng`],[`xG`,`+- xH dxG 0`],[`yG`,`+- yH dyG 0`],[`dxB`,`cos thh ptAng`],[`dyB`,`sin thh ptAng`],[`xB`,`+- xH 0 dxB 0`],[`yB`,`+- yH 0 dyB 0`],[`sx1`,`+- xB 0 hc`],[`sy1`,`+- yB 0 vc`],[`sx2`,`+- xG 0 hc`],[`sy2`,`+- yG 0 vc`],[`rO`,`min rw1 rh1`],[`x1O`,`*/ sx1 rO rw1`],[`y1O`,`*/ sy1 rO rh1`],[`x2O`,`*/ sx2 rO rw1`],[`y2O`,`*/ sy2 rO rh1`],[`dxO`,`+- x2O 0 x1O`],[`dyO`,`+- y2O 0 y1O`],[`dO`,`mod dxO dyO 0`],[`q1`,`*/ x1O y2O 1`],[`q2`,`*/ x2O y1O 1`],[`DO`,`+- q1 0 q2`],[`q3`,`*/ rO rO 1`],[`q4`,`*/ dO dO 1`],[`q5`,`*/ q3 q4 1`],[`q6`,`*/ DO DO 1`],[`q7`,`+- q5 0 q6`],[`q8`,`max q7 0`],[`sdelO`,`sqrt q8`],[`ndyO`,`*/ dyO -1 1`],[`sdyO`,`?: ndyO -1 1`],[`q9`,`*/ sdyO dxO 1`],[`q10`,`*/ q9 sdelO 1`],[`q11`,`*/ DO dyO 1`],[`dxF1`,`+/ q11 q10 q4`],[`q12`,`+- q11 0 q10`],[`dxF2`,`*/ q12 1 q4`],[`adyO`,`abs dyO`],[`q13`,`*/ adyO sdelO 1`],[`q14`,`*/ DO dxO -1`],[`dyF1`,`+/ q14 q13 q4`],[`q15`,`+- q14 0 q13`],[`dyF2`,`*/ q15 1 q4`],[`q16`,`+- x2O 0 dxF1`],[`q17`,`+- x2O 0 dxF2`],[`q18`,`+- y2O 0 dyF1`],[`q19`,`+- y2O 0 dyF2`],[`q20`,`mod q16 q18 0`],[`q21`,`mod q17 q19 0`],[`q22`,`+- q21 0 q20`],[`dxF`,`?: q22 dxF1 dxF2`],[`dyF`,`?: q22 dyF1 dyF2`],[`sdxF`,`*/ dxF rw1 rO`],[`sdyF`,`*/ dyF rh1 rO`],[`xF`,`+- hc sdxF 0`],[`yF`,`+- vc sdyF 0`],[`x1I`,`*/ sx1 rI rw2`],[`y1I`,`*/ sy1 rI rh2`],[`x2I`,`*/ sx2 rI rw2`],[`y2I`,`*/ sy2 rI rh2`],[`dxI`,`+- x2I 0 x1I`],[`dyI`,`+- y2I 0 y1I`],[`dI`,`mod dxI dyI 0`],[`v1`,`*/ x1I y2I 1`],[`v2`,`*/ x2I y1I 1`],[`DI`,`+- v1 0 v2`],[`v3`,`*/ rI rI 1`],[`v4`,`*/ dI dI 1`],[`v5`,`*/ v3 v4 1`],[`v6`,`*/ DI DI 1`],[`v7`,`+- v5 0 v6`],[`v8`,`max v7 0`],[`sdelI`,`sqrt v8`],[`v9`,`*/ sdyO dxI 1`],[`v10`,`*/ v9 sdelI 1`],[`v11`,`*/ DI dyI 1`],[`dxC1`,`+/ v11 v10 v4`],[`v12`,`+- v11 0 v10`],[`dxC2`,`*/ v12 1 v4`],[`adyI`,`abs dyI`],[`v13`,`*/ adyI sdelI 1`],[`v14`,`*/ DI dxI -1`],[`dyC1`,`+/ v14 v13 v4`],[`v15`,`+- v14 0 v13`],[`dyC2`,`*/ v15 1 v4`],[`v16`,`+- x1I 0 dxC1`],[`v17`,`+- x1I 0 dxC2`],[`v18`,`+- y1I 0 dyC1`],[`v19`,`+- y1I 0 dyC2`],[`v20`,`mod v16 v18 0`],[`v21`,`mod v17 v19 0`],[`v22`,`+- v21 0 v20`],[`dxC`,`?: v22 dxC1 dxC2`],[`dyC`,`?: v22 dyC1 dyC2`],[`sdxC`,`*/ dxC rw2 rI`],[`sdyC`,`*/ dyC rh2 rI`],[`xC`,`+- hc sdxC 0`],[`yC`,`+- vc sdyC 0`],[`ist0`,`at2 sdxC sdyC`],[`ist1`,`+- ist0 21600000 0`],[`istAng`,`?: ist0 ist0 ist1`],[`isw1`,`+- stAng 0 istAng`],[`isw2`,`+- isw1 0 21600000`],[`iswAng`,`?: isw1 isw2 isw1`],[`p1`,`+- xF 0 xC`],[`p2`,`+- yF 0 yC`],[`p3`,`mod p1 p2 0`],[`p4`,`*/ p3 1 2`],[`p5`,`+- p4 0 thh`],[`xGp`,`?: p5 xF xG`],[`yGp`,`?: p5 yF yG`],[`xBp`,`?: p5 xC xB`],[`yBp`,`?: p5 yC yB`],[`en0`,`at2 sdxF sdyF`],[`en1`,`+- en0 21600000 0`],[`en2`,`?: en0 en0 en1`],[`sw0`,`+- en2 0 stAng`],[`sw1`,`+- sw0 21600000 0`],[`swAng`,`?: sw0 sw0 sw1`],[`wtI`,`sin rw3 stAng`],[`htI`,`cos rh3 stAng`],[`dxI`,`cat2 rw3 htI wtI`],[`dyI`,`sat2 rh3 htI wtI`],[`xI`,`+- hc dxI 0`],[`yI`,`+- vc dyI 0`],[`aI`,`+- stAng 0 cd4`],[`aA`,`+- ptAng cd4 0`],[`aB`,`+- ptAng cd2 0`],[`idx`,`cos rw1 2700000`],[`idy`,`sin rh1 2700000`],[`il`,`+- hc 0 idx`],[`ir`,`+- hc idx 0`],[`it`,`+- vc 0 idy`],[`ib`,`+- vc idy 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`xE`,`yE`],[`a`,`rw1`,`rh1`,`stAng`,`swAng`],[`l`,`xGp`,`yGp`],[`l`,`xA`,`yA`],[`l`,`xBp`,`yBp`],[`l`,`xC`,`yC`],[`a`,`rw2`,`rh2`,`istAng`,`iswAng`],[`c`]]}]},cloud:{adj:[],gd:[[`il`,`*/ w 2977 21600`],[`it`,`*/ h 3262 21600`],[`ir`,`*/ w 17087 21600`],[`ib`,`*/ h 17337 21600`],[`g27`,`*/ w 67 21600`],[`g28`,`*/ h 21577 21600`],[`g29`,`*/ w 21582 21600`],[`g30`,`*/ h 1235 21600`]],paths:[{w:43200,h:43200,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`3900`,`14370`],[`a`,`6753`,`9190`,`-11429249`,`7426832`],[`a`,`5333`,`7267`,`-8646143`,`5396714`],[`a`,`4365`,`5945`,`-8748475`,`5983381`],[`a`,`4857`,`6595`,`-7859164`,`7034504`],[`a`,`5333`,`7273`,`-4722533`,`6541615`],[`a`,`6775`,`9220`,`-2776035`,`7816140`],[`a`,`5785`,`7867`,`37501`,`6842000`],[`a`,`6752`,`9215`,`1347096`,`6910353`],[`a`,`7720`,`10543`,`3974558`,`4542661`],[`a`,`4360`,`5918`,`-16496525`,`8804134`],[`a`,`4345`,`5945`,`-14809710`,`9151131`],[`c`]]},{w:43200,h:43200,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`4693`,`26177`],[`a`,`4345`,`5945`,`5204520`,`1585770`],[`m`,`6928`,`34899`],[`a`,`4360`,`5918`,`4416628`,`686848`],[`m`,`16478`,`39090`],[`a`,`6752`,`9215`,`8257449`,`844866`],[`m`,`28827`,`34751`],[`a`,`6752`,`9215`,`387196`,`959901`],[`m`,`34129`,`22954`],[`a`,`5785`,`7867`,`-4217541`,`4255042`],[`m`,`41798`,`15354`],[`a`,`5333`,`7273`,`1819082`,`1665090`],[`m`,`38324`,`5426`],[`a`,`4857`,`6595`,`-824660`,`891534`],[`m`,`29078`,`3952`],[`a`,`4857`,`6595`,`-8950887`,`1091722`],[`m`,`22141`,`4720`],[`a`,`4365`,`5945`,`-9809656`,`1061181`],[`m`,`14000`,`5192`],[`a`,`6753`,`9190`,`-4002417`,`739161`],[`m`,`4127`,`15789`],[`a`,`6753`,`9190`,`9459261`,`711490`]]}]},cloudcallout:{adj:[[`adj1`,`val -20833`],[`adj2`,`val 62500`]],gd:[[`dxPos`,`*/ w adj1 100000`],[`dyPos`,`*/ h adj2 100000`],[`xPos`,`+- hc dxPos 0`],[`yPos`,`+- vc dyPos 0`],[`ht`,`cat2 hd2 dxPos dyPos`],[`wt`,`sat2 wd2 dxPos dyPos`],[`g2`,`cat2 wd2 ht wt`],[`g3`,`sat2 hd2 ht wt`],[`g4`,`+- hc g2 0`],[`g5`,`+- vc g3 0`],[`g6`,`+- g4 0 xPos`],[`g7`,`+- g5 0 yPos`],[`g8`,`mod g6 g7 0`],[`g9`,`*/ ss 6600 21600`],[`g10`,`+- g8 0 g9`],[`g11`,`*/ g10 1 3`],[`g12`,`*/ ss 1800 21600`],[`g13`,`+- g11 g12 0`],[`g14`,`*/ g13 g6 g8`],[`g15`,`*/ g13 g7 g8`],[`g16`,`+- g14 xPos 0`],[`g17`,`+- g15 yPos 0`],[`g18`,`*/ ss 4800 21600`],[`g19`,`*/ g11 2 1`],[`g20`,`+- g18 g19 0`],[`g21`,`*/ g20 g6 g8`],[`g22`,`*/ g20 g7 g8`],[`g23`,`+- g21 xPos 0`],[`g24`,`+- g22 yPos 0`],[`g25`,`*/ ss 1200 21600`],[`g26`,`*/ ss 600 21600`],[`x23`,`+- xPos g26 0`],[`x24`,`+- g16 g25 0`],[`x25`,`+- g23 g12 0`],[`il`,`*/ w 2977 21600`],[`it`,`*/ h 3262 21600`],[`ir`,`*/ w 17087 21600`],[`ib`,`*/ h 17337 21600`],[`g27`,`*/ w 67 21600`],[`g28`,`*/ h 21577 21600`],[`g29`,`*/ w 21582 21600`],[`g30`,`*/ h 1235 21600`],[`pang`,`at2 dxPos dyPos`]],paths:[{w:43200,h:43200,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`3900`,`14370`],[`a`,`6753`,`9190`,`-11429249`,`7426832`],[`a`,`5333`,`7267`,`-8646143`,`5396714`],[`a`,`4365`,`5945`,`-8748475`,`5983381`],[`a`,`4857`,`6595`,`-7859164`,`7034504`],[`a`,`5333`,`7273`,`-4722533`,`6541615`],[`a`,`6775`,`9220`,`-2776035`,`7816140`],[`a`,`5785`,`7867`,`37501`,`6842000`],[`a`,`6752`,`9215`,`1347096`,`6910353`],[`a`,`7720`,`10543`,`3974558`,`4542661`],[`a`,`4360`,`5918`,`-16496525`,`8804134`],[`a`,`4345`,`5945`,`-14809710`,`9151131`],[`c`]]},{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x23`,`yPos`],[`a`,`g26`,`g26`,`0`,`21600000`],[`c`]]},{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x24`,`g17`],[`a`,`g25`,`g25`,`0`,`21600000`],[`c`]]},{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x25`,`g24`],[`a`,`g12`,`g12`,`0`,`21600000`],[`c`]]},{w:43200,h:43200,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`4693`,`26177`],[`a`,`4345`,`5945`,`5204520`,`1585770`],[`m`,`6928`,`34899`],[`a`,`4360`,`5918`,`4416628`,`686848`],[`m`,`16478`,`39090`],[`a`,`6752`,`9215`,`8257449`,`844866`],[`m`,`28827`,`34751`],[`a`,`6752`,`9215`,`387196`,`959901`],[`m`,`34129`,`22954`],[`a`,`5785`,`7867`,`-4217541`,`4255042`],[`m`,`41798`,`15354`],[`a`,`5333`,`7273`,`1819082`,`1665090`],[`m`,`38324`,`5426`],[`a`,`4857`,`6595`,`-824660`,`891534`],[`m`,`29078`,`3952`],[`a`,`4857`,`6595`,`-8950887`,`1091722`],[`m`,`22141`,`4720`],[`a`,`4365`,`5945`,`-9809656`,`1061181`],[`m`,`14000`,`5192`],[`a`,`6753`,`9190`,`-4002417`,`739161`],[`m`,`4127`,`15789`],[`a`,`6753`,`9190`,`9459261`,`711490`]]}]},corner:{adj:[[`adj1`,`val 50000`],[`adj2`,`val 50000`]],gd:[[`maxAdj1`,`*/ 100000 h ss`],[`maxAdj2`,`*/ 100000 w ss`],[`a1`,`pin 0 adj1 maxAdj1`],[`a2`,`pin 0 adj2 maxAdj2`],[`x1`,`*/ ss a2 100000`],[`dy1`,`*/ ss a1 100000`],[`y1`,`+- b 0 dy1`],[`cx1`,`*/ x1 1 2`],[`cy1`,`+/ y1 b 2`],[`d`,`+- w 0 h`],[`it`,`?: d y1 t`],[`ir`,`?: d r x1`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`x1`,`t`],[`l`,`x1`,`y1`],[`l`,`r`,`y1`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]}]},cornertabs:{adj:[],gd:[[`md`,`mod w h 0`],[`dx`,`*/ 1 md 20`],[`y1`,`+- 0 b dx`],[`x1`,`+- 0 r dx`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`dx`,`t`],[`l`,`l`,`dx`],[`c`]]},{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`y1`],[`l`,`dx`,`b`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`t`],[`l`,`r`,`t`],[`l`,`r`,`dx`],[`c`]]},{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`r`,`y1`],[`l`,`r`,`b`],[`l`,`x1`,`b`],[`c`]]}]},cube:{adj:[[`adj`,`val 25000`]],gd:[[`a`,`pin 0 adj 100000`],[`y1`,`*/ ss a 100000`],[`y4`,`+- b 0 y1`],[`y2`,`*/ y4 1 2`],[`y3`,`+/ y1 b 2`],[`x4`,`+- r 0 y1`],[`x2`,`*/ x4 1 2`],[`x3`,`+/ y1 r 2`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`y1`],[`l`,`x4`,`y1`],[`l`,`x4`,`b`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:`darkenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`x4`,`y1`],[`l`,`r`,`t`],[`l`,`r`,`y4`],[`l`,`x4`,`b`],[`c`]]},{w:null,h:null,fill:`lightenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`y1`],[`l`,`y1`,`t`],[`l`,`r`,`t`],[`l`,`x4`,`y1`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`l`,`y1`],[`l`,`y1`,`t`],[`l`,`r`,`t`],[`l`,`r`,`y4`],[`l`,`x4`,`b`],[`l`,`l`,`b`],[`c`],[`m`,`l`,`y1`],[`l`,`x4`,`y1`],[`l`,`r`,`t`],[`m`,`x4`,`y1`],[`l`,`x4`,`b`]]}]},curvedconnector2:{adj:[],gd:[],paths:[{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`C`,`wd2`,`t`,`r`,`hd2`,`r`,`b`]]}]},curvedconnector3:{adj:[[`adj1`,`val 50000`]],gd:[[`x2`,`*/ w adj1 100000`],[`x1`,`+/ l x2 2`],[`x3`,`+/ r x2 2`],[`y3`,`*/ h 3 4`]],paths:[{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`C`,`x1`,`t`,`x2`,`hd4`,`x2`,`vc`],[`C`,`x2`,`y3`,`x3`,`b`,`r`,`b`]]}]},curvedconnector4:{adj:[[`adj1`,`val 50000`],[`adj2`,`val 50000`]],gd:[[`x2`,`*/ w adj1 100000`],[`x1`,`+/ l x2 2`],[`x3`,`+/ r x2 2`],[`x4`,`+/ x2 x3 2`],[`x5`,`+/ x3 r 2`],[`y4`,`*/ h adj2 100000`],[`y1`,`+/ t y4 2`],[`y2`,`+/ t y1 2`],[`y3`,`+/ y1 y4 2`],[`y5`,`+/ b y4 2`]],paths:[{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`C`,`x1`,`t`,`x2`,`y2`,`x2`,`y1`],[`C`,`x2`,`y3`,`x4`,`y4`,`x3`,`y4`],[`C`,`x5`,`y4`,`r`,`y5`,`r`,`b`]]}]},curvedconnector5:{adj:[[`adj1`,`val 50000`],[`adj2`,`val 50000`],[`adj3`,`val 50000`]],gd:[[`x3`,`*/ w adj1 100000`],[`x6`,`*/ w adj3 100000`],[`x1`,`+/ x3 x6 2`],[`x2`,`+/ l x3 2`],[`x4`,`+/ x3 x1 2`],[`x5`,`+/ x6 x1 2`],[`x7`,`+/ x6 r 2`],[`y4`,`*/ h adj2 100000`],[`y1`,`+/ t y4 2`],[`y2`,`+/ t y1 2`],[`y3`,`+/ y1 y4 2`],[`y5`,`+/ b y4 2`],[`y6`,`+/ y5 y4 2`],[`y7`,`+/ y5 b 2`]],paths:[{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`C`,`x2`,`t`,`x3`,`y2`,`x3`,`y1`],[`C`,`x3`,`y3`,`x4`,`y4`,`x1`,`y4`],[`C`,`x5`,`y4`,`x6`,`y6`,`x6`,`y5`],[`C`,`x6`,`y7`,`x7`,`b`,`r`,`b`]]}]},curveddownarrow:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 50000`],[`adj3`,`val 25000`]],gd:[[`maxAdj2`,`*/ 50000 w ss`],[`a2`,`pin 0 adj2 maxAdj2`],[`a1`,`pin 0 adj1 100000`],[`th`,`*/ ss a1 100000`],[`aw`,`*/ ss a2 100000`],[`q1`,`+/ th aw 4`],[`wR`,`+- wd2 0 q1`],[`q7`,`*/ wR 2 1`],[`q8`,`*/ q7 q7 1`],[`q9`,`*/ th th 1`],[`q10`,`+- q8 0 q9`],[`q11`,`sqrt q10`],[`idy`,`*/ q11 h q7`],[`maxAdj3`,`*/ 100000 idy ss`],[`a3`,`pin 0 adj3 maxAdj3`],[`ah`,`*/ ss adj3 100000`],[`x3`,`+- wR th 0`],[`q2`,`*/ h h 1`],[`q3`,`*/ ah ah 1`],[`q4`,`+- q2 0 q3`],[`q5`,`sqrt q4`],[`dx`,`*/ q5 wR h`],[`x5`,`+- wR dx 0`],[`x7`,`+- x3 dx 0`],[`q6`,`+- aw 0 th`],[`dh`,`*/ q6 1 2`],[`x4`,`+- x5 0 dh`],[`x8`,`+- x7 dh 0`],[`aw2`,`*/ aw 1 2`],[`x6`,`+- r 0 aw2`],[`y1`,`+- b 0 ah`],[`swAng`,`at2 ah dx`],[`mswAng`,`+- 0 0 swAng`],[`iy`,`+- b 0 idy`],[`ix`,`+/ wR x3 2`],[`q12`,`*/ th 1 2`],[`dang2`,`at2 idy q12`],[`stAng`,`+- 3cd4 swAng 0`],[`stAng2`,`+- 3cd4 0 dang2`],[`swAng2`,`+- dang2 0 cd4`],[`swAng3`,`+- cd4 dang2 0`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`x6`,`b`],[`l`,`x4`,`y1`],[`l`,`x5`,`y1`],[`a`,`wR`,`h`,`stAng`,`mswAng`],[`l`,`x3`,`t`],[`a`,`wR`,`h`,`3cd4`,`swAng`],[`l`,`x8`,`y1`],[`c`]]},{w:null,h:null,fill:`darkenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`ix`,`iy`],[`a`,`wR`,`h`,`stAng2`,`swAng2`],[`l`,`l`,`b`],[`a`,`wR`,`h`,`cd2`,`swAng3`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`ix`,`iy`],[`a`,`wR`,`h`,`stAng2`,`swAng2`],[`l`,`l`,`b`],[`a`,`wR`,`h`,`cd2`,`cd4`],[`l`,`x3`,`t`],[`a`,`wR`,`h`,`3cd4`,`swAng`],[`l`,`x8`,`y1`],[`l`,`x6`,`b`],[`l`,`x4`,`y1`],[`l`,`x5`,`y1`],[`a`,`wR`,`h`,`stAng`,`mswAng`]]}]},curvedleftarrow:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 50000`],[`adj3`,`val 25000`]],gd:[[`maxAdj2`,`*/ 50000 h ss`],[`a2`,`pin 0 adj2 maxAdj2`],[`a1`,`pin 0 adj1 a2`],[`th`,`*/ ss a1 100000`],[`aw`,`*/ ss a2 100000`],[`q1`,`+/ th aw 4`],[`hR`,`+- hd2 0 q1`],[`q7`,`*/ hR 2 1`],[`q8`,`*/ q7 q7 1`],[`q9`,`*/ th th 1`],[`q10`,`+- q8 0 q9`],[`q11`,`sqrt q10`],[`idx`,`*/ q11 w q7`],[`maxAdj3`,`*/ 100000 idx ss`],[`a3`,`pin 0 adj3 maxAdj3`],[`ah`,`*/ ss a3 100000`],[`y3`,`+- hR th 0`],[`q2`,`*/ w w 1`],[`q3`,`*/ ah ah 1`],[`q4`,`+- q2 0 q3`],[`q5`,`sqrt q4`],[`dy`,`*/ q5 hR w`],[`y5`,`+- hR dy 0`],[`y7`,`+- y3 dy 0`],[`q6`,`+- aw 0 th`],[`dh`,`*/ q6 1 2`],[`y4`,`+- y5 0 dh`],[`y8`,`+- y7 dh 0`],[`aw2`,`*/ aw 1 2`],[`y6`,`+- b 0 aw2`],[`x1`,`+- l ah 0`],[`swAng`,`at2 ah dy`],[`mswAng`,`+- 0 0 swAng`],[`ix`,`+- l idx 0`],[`iy`,`+/ hR y3 2`],[`q12`,`*/ th 1 2`],[`dang2`,`at2 idx q12`],[`swAng2`,`+- dang2 0 swAng`],[`swAng3`,`+- swAng dang2 0`],[`stAng3`,`+- 0 0 dang2`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`y6`],[`l`,`x1`,`y4`],[`l`,`x1`,`y5`],[`a`,`w`,`hR`,`swAng`,`swAng2`],[`a`,`w`,`hR`,`stAng3`,`swAng3`],[`l`,`x1`,`y8`],[`c`]]},{w:null,h:null,fill:`darkenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`r`,`y3`],[`a`,`w`,`hR`,`0`,`-5400000`],[`l`,`l`,`t`],[`a`,`w`,`hR`,`3cd4`,`cd4`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`r`,`y3`],[`a`,`w`,`hR`,`0`,`-5400000`],[`l`,`l`,`t`],[`a`,`w`,`hR`,`3cd4`,`cd4`],[`l`,`r`,`y3`],[`a`,`w`,`hR`,`0`,`swAng`],[`l`,`x1`,`y8`],[`l`,`l`,`y6`],[`l`,`x1`,`y4`],[`l`,`x1`,`y5`],[`a`,`w`,`hR`,`swAng`,`swAng2`]]}]},curvedrightarrow:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 50000`],[`adj3`,`val 25000`]],gd:[[`maxAdj2`,`*/ 50000 h ss`],[`a2`,`pin 0 adj2 maxAdj2`],[`a1`,`pin 0 adj1 a2`],[`th`,`*/ ss a1 100000`],[`aw`,`*/ ss a2 100000`],[`q1`,`+/ th aw 4`],[`hR`,`+- hd2 0 q1`],[`q7`,`*/ hR 2 1`],[`q8`,`*/ q7 q7 1`],[`q9`,`*/ th th 1`],[`q10`,`+- q8 0 q9`],[`q11`,`sqrt q10`],[`idx`,`*/ q11 w q7`],[`maxAdj3`,`*/ 100000 idx ss`],[`a3`,`pin 0 adj3 maxAdj3`],[`ah`,`*/ ss a3 100000`],[`y3`,`+- hR th 0`],[`q2`,`*/ w w 1`],[`q3`,`*/ ah ah 1`],[`q4`,`+- q2 0 q3`],[`q5`,`sqrt q4`],[`dy`,`*/ q5 hR w`],[`y5`,`+- hR dy 0`],[`y7`,`+- y3 dy 0`],[`q6`,`+- aw 0 th`],[`dh`,`*/ q6 1 2`],[`y4`,`+- y5 0 dh`],[`y8`,`+- y7 dh 0`],[`aw2`,`*/ aw 1 2`],[`y6`,`+- b 0 aw2`],[`x1`,`+- r 0 ah`],[`swAng`,`at2 ah dy`],[`stAng`,`+- cd2 0 swAng`],[`mswAng`,`+- 0 0 swAng`],[`ix`,`+- r 0 idx`],[`iy`,`+/ hR y3 2`],[`q12`,`*/ th 1 2`],[`dang2`,`at2 idx q12`],[`swAng2`,`+- dang2 0 cd4`],[`swAng3`,`+- cd4 dang2 0`],[`stAng3`,`+- cd2 0 dang2`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`hR`],[`a`,`w`,`hR`,`cd2`,`mswAng`],[`l`,`x1`,`y4`],[`l`,`r`,`y6`],[`l`,`x1`,`y8`],[`l`,`x1`,`y7`],[`a`,`w`,`hR`,`stAng`,`swAng`],[`c`]]},{w:null,h:null,fill:`darkenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`r`,`th`],[`a`,`w`,`hR`,`3cd4`,`swAng2`],[`a`,`w`,`hR`,`stAng3`,`swAng3`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`l`,`hR`],[`a`,`w`,`hR`,`cd2`,`mswAng`],[`l`,`x1`,`y4`],[`l`,`r`,`y6`],[`l`,`x1`,`y8`],[`l`,`x1`,`y7`],[`a`,`w`,`hR`,`stAng`,`swAng`],[`l`,`l`,`hR`],[`a`,`w`,`hR`,`cd2`,`cd4`],[`l`,`r`,`th`],[`a`,`w`,`hR`,`3cd4`,`swAng2`]]}]},curveduparrow:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 50000`],[`adj3`,`val 25000`]],gd:[[`maxAdj2`,`*/ 50000 w ss`],[`a2`,`pin 0 adj2 maxAdj2`],[`a1`,`pin 0 adj1 100000`],[`th`,`*/ ss a1 100000`],[`aw`,`*/ ss a2 100000`],[`q1`,`+/ th aw 4`],[`wR`,`+- wd2 0 q1`],[`q7`,`*/ wR 2 1`],[`q8`,`*/ q7 q7 1`],[`q9`,`*/ th th 1`],[`q10`,`+- q8 0 q9`],[`q11`,`sqrt q10`],[`idy`,`*/ q11 h q7`],[`maxAdj3`,`*/ 100000 idy ss`],[`a3`,`pin 0 adj3 maxAdj3`],[`ah`,`*/ ss adj3 100000`],[`x3`,`+- wR th 0`],[`q2`,`*/ h h 1`],[`q3`,`*/ ah ah 1`],[`q4`,`+- q2 0 q3`],[`q5`,`sqrt q4`],[`dx`,`*/ q5 wR h`],[`x5`,`+- wR dx 0`],[`x7`,`+- x3 dx 0`],[`q6`,`+- aw 0 th`],[`dh`,`*/ q6 1 2`],[`x4`,`+- x5 0 dh`],[`x8`,`+- x7 dh 0`],[`aw2`,`*/ aw 1 2`],[`x6`,`+- r 0 aw2`],[`y1`,`+- t ah 0`],[`swAng`,`at2 ah dx`],[`mswAng`,`+- 0 0 swAng`],[`iy`,`+- t idy 0`],[`ix`,`+/ wR x3 2`],[`q12`,`*/ th 1 2`],[`dang2`,`at2 idy q12`],[`swAng2`,`+- dang2 0 swAng`],[`mswAng2`,`+- 0 0 swAng2`],[`stAng3`,`+- cd4 0 swAng`],[`swAng3`,`+- swAng dang2 0`],[`stAng2`,`+- cd4 0 dang2`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`x6`,`t`],[`l`,`x8`,`y1`],[`l`,`x7`,`y1`],[`a`,`wR`,`h`,`stAng3`,`swAng3`],[`a`,`wR`,`h`,`stAng2`,`swAng2`],[`l`,`x4`,`y1`],[`c`]]},{w:null,h:null,fill:`darkenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`wR`,`b`],[`a`,`wR`,`h`,`cd4`,`cd4`],[`l`,`th`,`t`],[`a`,`wR`,`h`,`cd2`,`-5400000`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`ix`,`iy`],[`a`,`wR`,`h`,`stAng2`,`swAng2`],[`l`,`x4`,`y1`],[`l`,`x6`,`t`],[`l`,`x8`,`y1`],[`l`,`x7`,`y1`],[`a`,`wR`,`h`,`stAng3`,`swAng`],[`l`,`wR`,`b`],[`a`,`wR`,`h`,`cd4`,`cd4`],[`l`,`th`,`t`],[`a`,`wR`,`h`,`cd2`,`-5400000`]]}]},decagon:{adj:[[`vf`,`val 105146`]],gd:[[`shd2`,`*/ hd2 vf 100000`],[`dx1`,`cos wd2 2160000`],[`dx2`,`cos wd2 4320000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc 0 dx2`],[`x3`,`+- hc dx2 0`],[`x4`,`+- hc dx1 0`],[`dy1`,`sin shd2 4320000`],[`dy2`,`sin shd2 2160000`],[`y1`,`+- vc 0 dy1`],[`y2`,`+- vc 0 dy2`],[`y3`,`+- vc dy2 0`],[`y4`,`+- vc dy1 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`l`,`x1`,`y2`],[`l`,`x2`,`y1`],[`l`,`x3`,`y1`],[`l`,`x4`,`y2`],[`l`,`r`,`vc`],[`l`,`x4`,`y3`],[`l`,`x3`,`y4`],[`l`,`x2`,`y4`],[`l`,`x1`,`y3`],[`c`]]}]},diagstripe:{adj:[[`adj`,`val 50000`]],gd:[[`a`,`pin 0 adj 100000`],[`x2`,`*/ w a 100000`],[`x1`,`*/ x2 1 2`],[`x3`,`+/ x2 r 2`],[`y2`,`*/ h a 100000`],[`y1`,`*/ y2 1 2`],[`y3`,`+/ y2 b 2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`y2`],[`l`,`x2`,`t`],[`l`,`r`,`t`],[`l`,`l`,`b`],[`c`]]}]},diamond:{adj:[],gd:[[`ir`,`*/ w 3 4`],[`ib`,`*/ h 3 4`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`l`,`hc`,`t`],[`l`,`r`,`vc`],[`l`,`hc`,`b`],[`c`]]}]},dodecagon:{adj:[],gd:[[`x1`,`*/ w 2894 21600`],[`x2`,`*/ w 7906 21600`],[`x3`,`*/ w 13694 21600`],[`x4`,`*/ w 18706 21600`],[`y1`,`*/ h 2894 21600`],[`y2`,`*/ h 7906 21600`],[`y3`,`*/ h 13694 21600`],[`y4`,`*/ h 18706 21600`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`y2`],[`l`,`x1`,`y1`],[`l`,`x2`,`t`],[`l`,`x3`,`t`],[`l`,`x4`,`y1`],[`l`,`r`,`y2`],[`l`,`r`,`y3`],[`l`,`x4`,`y4`],[`l`,`x3`,`b`],[`l`,`x2`,`b`],[`l`,`x1`,`y4`],[`l`,`l`,`y3`],[`c`]]}]},donut:{adj:[[`adj`,`val 25000`]],gd:[[`a`,`pin 0 adj 50000`],[`dr`,`*/ ss a 100000`],[`iwd2`,`+- wd2 0 dr`],[`ihd2`,`+- hd2 0 dr`],[`idx`,`cos wd2 2700000`],[`idy`,`sin hd2 2700000`],[`il`,`+- hc 0 idx`],[`ir`,`+- hc idx 0`],[`it`,`+- vc 0 idy`],[`ib`,`+- vc idy 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`a`,`wd2`,`hd2`,`cd2`,`cd4`],[`a`,`wd2`,`hd2`,`3cd4`,`cd4`],[`a`,`wd2`,`hd2`,`0`,`cd4`],[`a`,`wd2`,`hd2`,`cd4`,`cd4`],[`c`],[`m`,`dr`,`vc`],[`a`,`iwd2`,`ihd2`,`cd2`,`-5400000`],[`a`,`iwd2`,`ihd2`,`cd4`,`-5400000`],[`a`,`iwd2`,`ihd2`,`0`,`-5400000`],[`a`,`iwd2`,`ihd2`,`3cd4`,`-5400000`],[`c`]]}]},doublewave:{adj:[[`adj1`,`val 6250`],[`adj2`,`val 0`]],gd:[[`a1`,`pin 0 adj1 12500`],[`a2`,`pin -10000 adj2 10000`],[`y1`,`*/ h a1 100000`],[`dy2`,`*/ y1 10 3`],[`y2`,`+- y1 0 dy2`],[`y3`,`+- y1 dy2 0`],[`y4`,`+- b 0 y1`],[`y5`,`+- y4 0 dy2`],[`y6`,`+- y4 dy2 0`],[`dx1`,`*/ w a2 100000`],[`of2`,`*/ w a2 50000`],[`x1`,`abs dx1`],[`dx2`,`?: of2 0 of2`],[`x2`,`+- l 0 dx2`],[`dx8`,`?: of2 of2 0`],[`x8`,`+- r 0 dx8`],[`dx3`,`+/ dx2 x8 6`],[`x3`,`+- x2 dx3 0`],[`dx4`,`+/ dx2 x8 3`],[`x4`,`+- x2 dx4 0`],[`x5`,`+/ x2 x8 2`],[`x6`,`+- x5 dx3 0`],[`x7`,`+/ x6 x8 2`],[`x9`,`+- l dx8 0`],[`x15`,`+- r dx2 0`],[`x10`,`+- x9 dx3 0`],[`x11`,`+- x9 dx4 0`],[`x12`,`+/ x9 x15 2`],[`x13`,`+- x12 dx3 0`],[`x14`,`+/ x13 x15 2`],[`x16`,`+- r 0 x1`],[`xAdj`,`+- hc dx1 0`],[`il`,`max x2 x9`],[`ir`,`min x8 x15`],[`it`,`*/ h a1 50000`],[`ib`,`+- b 0 it`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x2`,`y1`],[`C`,`x3`,`y2`,`x4`,`y3`,`x5`,`y1`],[`C`,`x6`,`y2`,`x7`,`y3`,`x8`,`y1`],[`l`,`x15`,`y4`],[`C`,`x14`,`y6`,`x13`,`y5`,`x12`,`y4`],[`C`,`x11`,`y6`,`x10`,`y5`,`x9`,`y4`],[`c`]]}]},downarrow:{adj:[[`adj1`,`val 50000`],[`adj2`,`val 50000`]],gd:[[`maxAdj2`,`*/ 100000 h ss`],[`a1`,`pin 0 adj1 100000`],[`a2`,`pin 0 adj2 maxAdj2`],[`dy1`,`*/ ss a2 100000`],[`y1`,`+- b 0 dy1`],[`dx1`,`*/ w a1 200000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc dx1 0`],[`dy2`,`*/ x1 dy1 wd2`],[`y2`,`+- y1 dy2 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`y1`],[`l`,`x1`,`y1`],[`l`,`x1`,`t`],[`l`,`x2`,`t`],[`l`,`x2`,`y1`],[`l`,`r`,`y1`],[`l`,`hc`,`b`],[`c`]]}]},downarrowcallout:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 25000`],[`adj3`,`val 25000`],[`adj4`,`val 64977`]],gd:[[`maxAdj2`,`*/ 50000 w ss`],[`a2`,`pin 0 adj2 maxAdj2`],[`maxAdj1`,`*/ a2 2 1`],[`a1`,`pin 0 adj1 maxAdj1`],[`maxAdj3`,`*/ 100000 h ss`],[`a3`,`pin 0 adj3 maxAdj3`],[`q2`,`*/ a3 ss h`],[`maxAdj4`,`+- 100000 0 q2`],[`a4`,`pin 0 adj4 maxAdj4`],[`dx1`,`*/ ss a2 100000`],[`dx2`,`*/ ss a1 200000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc 0 dx2`],[`x3`,`+- hc dx2 0`],[`x4`,`+- hc dx1 0`],[`dy3`,`*/ ss a3 100000`],[`y3`,`+- b 0 dy3`],[`y2`,`*/ h a4 100000`],[`y1`,`*/ y2 1 2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`y2`],[`l`,`x3`,`y2`],[`l`,`x3`,`y3`],[`l`,`x4`,`y3`],[`l`,`hc`,`b`],[`l`,`x1`,`y3`],[`l`,`x2`,`y3`],[`l`,`x2`,`y2`],[`l`,`l`,`y2`],[`c`]]}]},ellipse:{adj:[],gd:[[`idx`,`cos wd2 2700000`],[`idy`,`sin hd2 2700000`],[`il`,`+- hc 0 idx`],[`ir`,`+- hc idx 0`],[`it`,`+- vc 0 idy`],[`ib`,`+- vc idy 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`a`,`wd2`,`hd2`,`cd2`,`cd4`],[`a`,`wd2`,`hd2`,`3cd4`,`cd4`],[`a`,`wd2`,`hd2`,`0`,`cd4`],[`a`,`wd2`,`hd2`,`cd4`,`cd4`],[`c`]]}]},ellipseribbon:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 50000`],[`adj3`,`val 12500`]],gd:[[`a1`,`pin 0 adj1 100000`],[`a2`,`pin 25000 adj2 75000`],[`q10`,`+- 100000 0 a1`],[`q11`,`*/ q10 1 2`],[`q12`,`+- a1 0 q11`],[`minAdj3`,`max 0 q12`],[`a3`,`pin minAdj3 adj3 a1`],[`dx2`,`*/ w a2 200000`],[`x2`,`+- hc 0 dx2`],[`x3`,`+- x2 wd8 0`],[`x4`,`+- r 0 x3`],[`x5`,`+- r 0 x2`],[`x6`,`+- r 0 wd8`],[`dy1`,`*/ h a3 100000`],[`f1`,`*/ 4 dy1 w`],[`q1`,`*/ x3 x3 w`],[`q2`,`+- x3 0 q1`],[`y1`,`*/ f1 q2 1`],[`cx1`,`*/ x3 1 2`],[`cy1`,`*/ f1 cx1 1`],[`cx2`,`+- r 0 cx1`],[`q1`,`*/ h a1 100000`],[`dy3`,`+- q1 0 dy1`],[`q3`,`*/ x2 x2 w`],[`q4`,`+- x2 0 q3`],[`q5`,`*/ f1 q4 1`],[`y3`,`+- q5 dy3 0`],[`q6`,`+- dy1 dy3 y3`],[`q7`,`+- q6 dy1 0`],[`cy3`,`+- q7 dy3 0`],[`rh`,`+- b 0 q1`],[`q8`,`*/ dy1 14 16`],[`y2`,`+/ q8 rh 2`],[`y5`,`+- q5 rh 0`],[`y6`,`+- y3 rh 0`],[`cx4`,`*/ x2 1 2`],[`q9`,`*/ f1 cx4 1`],[`cy4`,`+- q9 rh 0`],[`cx5`,`+- r 0 cx4`],[`cy6`,`+- cy3 rh 0`],[`y7`,`+- y1 dy3 0`],[`cy7`,`+- q1 q1 y7`],[`y8`,`+- b 0 dy1`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`Q`,`cx1`,`cy1`,`x3`,`y1`],[`l`,`x2`,`y3`],[`Q`,`hc`,`cy3`,`x5`,`y3`],[`l`,`x4`,`y1`],[`Q`,`cx2`,`cy1`,`r`,`t`],[`l`,`x6`,`y2`],[`l`,`r`,`rh`],[`Q`,`cx5`,`cy4`,`x5`,`y5`],[`l`,`x5`,`y6`],[`Q`,`hc`,`cy6`,`x2`,`y6`],[`l`,`x2`,`y5`],[`Q`,`cx4`,`cy4`,`l`,`rh`],[`l`,`wd8`,`y2`],[`c`]]},{w:null,h:null,fill:`darkenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`x3`,`y7`],[`l`,`x3`,`y1`],[`l`,`x2`,`y3`],[`Q`,`hc`,`cy3`,`x5`,`y3`],[`l`,`x4`,`y1`],[`l`,`x4`,`y7`],[`Q`,`hc`,`cy7`,`x3`,`y7`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`Q`,`cx1`,`cy1`,`x3`,`y1`],[`l`,`x2`,`y3`],[`Q`,`hc`,`cy3`,`x5`,`y3`],[`l`,`x4`,`y1`],[`Q`,`cx2`,`cy1`,`r`,`t`],[`l`,`x6`,`y2`],[`l`,`r`,`rh`],[`Q`,`cx5`,`cy4`,`x5`,`y5`],[`l`,`x5`,`y6`],[`Q`,`hc`,`cy6`,`x2`,`y6`],[`l`,`x2`,`y5`],[`Q`,`cx4`,`cy4`,`l`,`rh`],[`l`,`wd8`,`y2`],[`c`],[`m`,`x2`,`y5`],[`l`,`x2`,`y3`],[`m`,`x5`,`y3`],[`l`,`x5`,`y5`],[`m`,`x3`,`y1`],[`l`,`x3`,`y7`],[`m`,`x4`,`y7`],[`l`,`x4`,`y1`]]}]},ellipseribbon2:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 50000`],[`adj3`,`val 12500`]],gd:[[`a1`,`pin 0 adj1 100000`],[`a2`,`pin 25000 adj2 75000`],[`q10`,`+- 100000 0 a1`],[`q11`,`*/ q10 1 2`],[`q12`,`+- a1 0 q11`],[`minAdj3`,`max 0 q12`],[`a3`,`pin minAdj3 adj3 a1`],[`dx2`,`*/ w a2 200000`],[`x2`,`+- hc 0 dx2`],[`x3`,`+- x2 wd8 0`],[`x4`,`+- r 0 x3`],[`x5`,`+- r 0 x2`],[`x6`,`+- r 0 wd8`],[`dy1`,`*/ h a3 100000`],[`f1`,`*/ 4 dy1 w`],[`q1`,`*/ x3 x3 w`],[`q2`,`+- x3 0 q1`],[`u1`,`*/ f1 q2 1`],[`y1`,`+- b 0 u1`],[`cx1`,`*/ x3 1 2`],[`cu1`,`*/ f1 cx1 1`],[`cy1`,`+- b 0 cu1`],[`cx2`,`+- r 0 cx1`],[`q1`,`*/ h a1 100000`],[`dy3`,`+- q1 0 dy1`],[`q3`,`*/ x2 x2 w`],[`q4`,`+- x2 0 q3`],[`q5`,`*/ f1 q4 1`],[`u3`,`+- q5 dy3 0`],[`y3`,`+- b 0 u3`],[`q6`,`+- dy1 dy3 u3`],[`q7`,`+- q6 dy1 0`],[`cu3`,`+- q7 dy3 0`],[`cy3`,`+- b 0 cu3`],[`rh`,`+- b 0 q1`],[`q8`,`*/ dy1 14 16`],[`u2`,`+/ q8 rh 2`],[`y2`,`+- b 0 u2`],[`u5`,`+- q5 rh 0`],[`y5`,`+- b 0 u5`],[`u6`,`+- u3 rh 0`],[`y6`,`+- b 0 u6`],[`cx4`,`*/ x2 1 2`],[`q9`,`*/ f1 cx4 1`],[`cu4`,`+- q9 rh 0`],[`cy4`,`+- b 0 cu4`],[`cx5`,`+- r 0 cx4`],[`cu6`,`+- cu3 rh 0`],[`cy6`,`+- b 0 cu6`],[`u7`,`+- u1 dy3 0`],[`y7`,`+- b 0 u7`],[`cu7`,`+- q1 q1 u7`],[`cy7`,`+- b 0 cu7`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`b`],[`Q`,`cx1`,`cy1`,`x3`,`y1`],[`l`,`x2`,`y3`],[`Q`,`hc`,`cy3`,`x5`,`y3`],[`l`,`x4`,`y1`],[`Q`,`cx2`,`cy1`,`r`,`b`],[`l`,`x6`,`y2`],[`l`,`r`,`q1`],[`Q`,`cx5`,`cy4`,`x5`,`y5`],[`l`,`x5`,`y6`],[`Q`,`hc`,`cy6`,`x2`,`y6`],[`l`,`x2`,`y5`],[`Q`,`cx4`,`cy4`,`l`,`q1`],[`l`,`wd8`,`y2`],[`c`]]},{w:null,h:null,fill:`darkenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`x3`,`y7`],[`l`,`x3`,`y1`],[`l`,`x2`,`y3`],[`Q`,`hc`,`cy3`,`x5`,`y3`],[`l`,`x4`,`y1`],[`l`,`x4`,`y7`],[`Q`,`hc`,`cy7`,`x3`,`y7`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`l`,`b`],[`l`,`wd8`,`y2`],[`l`,`l`,`q1`],[`Q`,`cx4`,`cy4`,`x2`,`y5`],[`l`,`x2`,`y6`],[`Q`,`hc`,`cy6`,`x5`,`y6`],[`l`,`x5`,`y5`],[`Q`,`cx5`,`cy4`,`r`,`q1`],[`l`,`x6`,`y2`],[`l`,`r`,`b`],[`Q`,`cx2`,`cy1`,`x4`,`y1`],[`l`,`x5`,`y3`],[`Q`,`hc`,`cy3`,`x2`,`y3`],[`l`,`x3`,`y1`],[`Q`,`cx1`,`cy1`,`l`,`b`],[`c`],[`m`,`x2`,`y3`],[`l`,`x2`,`y5`],[`m`,`x5`,`y5`],[`l`,`x5`,`y3`],[`m`,`x3`,`y7`],[`l`,`x3`,`y1`],[`m`,`x4`,`y1`],[`l`,`x4`,`y7`]]}]},flowchartalternateprocess:{adj:[],gd:[[`x2`,`+- r 0 ssd6`],[`y2`,`+- b 0 ssd6`],[`il`,`*/ ssd6 29289 100000`],[`ir`,`+- r 0 il`],[`ib`,`+- b 0 il`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`ssd6`],[`a`,`ssd6`,`ssd6`,`cd2`,`cd4`],[`l`,`x2`,`t`],[`a`,`ssd6`,`ssd6`,`3cd4`,`cd4`],[`l`,`r`,`y2`],[`a`,`ssd6`,`ssd6`,`0`,`cd4`],[`l`,`ssd6`,`b`],[`a`,`ssd6`,`ssd6`,`cd4`,`cd4`],[`c`]]}]},flowchartcollate:{adj:[],gd:[[`ir`,`*/ w 3 4`],[`ib`,`*/ h 3 4`]],paths:[{w:2,h:2,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`0`],[`l`,`2`,`0`],[`l`,`1`,`1`],[`l`,`2`,`2`],[`l`,`0`,`2`],[`l`,`1`,`1`],[`c`]]}]},flowchartconnector:{adj:[],gd:[[`idx`,`cos wd2 2700000`],[`idy`,`sin hd2 2700000`],[`il`,`+- hc 0 idx`],[`ir`,`+- hc idx 0`],[`it`,`+- vc 0 idy`],[`ib`,`+- vc idy 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`a`,`wd2`,`hd2`,`cd2`,`cd4`],[`a`,`wd2`,`hd2`,`3cd4`,`cd4`],[`a`,`wd2`,`hd2`,`0`,`cd4`],[`a`,`wd2`,`hd2`,`cd4`,`cd4`],[`c`]]}]},flowchartdecision:{adj:[],gd:[[`ir`,`*/ w 3 4`],[`ib`,`*/ h 3 4`]],paths:[{w:2,h:2,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`1`],[`l`,`1`,`0`],[`l`,`2`,`1`],[`l`,`1`,`2`],[`c`]]}]},flowchartdelay:{adj:[],gd:[[`idx`,`cos wd2 2700000`],[`idy`,`sin hd2 2700000`],[`ir`,`+- hc idx 0`],[`it`,`+- vc 0 idy`],[`ib`,`+- vc idy 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`hc`,`t`],[`a`,`wd2`,`hd2`,`3cd4`,`cd2`],[`l`,`l`,`b`],[`c`]]}]},flowchartdisplay:{adj:[],gd:[[`x2`,`*/ w 5 6`]],paths:[{w:6,h:6,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`3`],[`l`,`1`,`0`],[`l`,`5`,`0`],[`a`,`1`,`3`,`3cd4`,`cd2`],[`l`,`1`,`6`],[`c`]]}]},flowchartdocument:{adj:[],gd:[[`y1`,`*/ h 17322 21600`],[`y2`,`*/ h 20172 21600`]],paths:[{w:21600,h:21600,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`0`],[`l`,`21600`,`0`],[`l`,`21600`,`17322`],[`C`,`10800`,`17322`,`10800`,`23922`,`0`,`20172`],[`c`]]}]},flowchartextract:{adj:[],gd:[[`x2`,`*/ w 3 4`]],paths:[{w:2,h:2,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`2`],[`l`,`1`,`0`],[`l`,`2`,`2`],[`c`]]}]},flowchartinputoutput:{adj:[],gd:[[`x3`,`*/ w 2 5`],[`x4`,`*/ w 3 5`],[`x5`,`*/ w 4 5`],[`x6`,`*/ w 9 10`]],paths:[{w:5,h:5,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`5`],[`l`,`1`,`0`],[`l`,`5`,`0`],[`l`,`4`,`5`],[`c`]]}]},flowchartinternalstorage:{adj:[],gd:[],paths:[{w:1,h:1,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`0`,`0`],[`l`,`1`,`0`],[`l`,`1`,`1`],[`l`,`0`,`1`],[`c`]]},{w:8,h:8,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`1`,`0`],[`l`,`1`,`8`],[`m`,`0`,`1`],[`l`,`8`,`1`]]},{w:1,h:1,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`0`],[`l`,`1`,`0`],[`l`,`1`,`1`],[`l`,`0`,`1`],[`c`]]}]},flowchartmagneticdisk:{adj:[],gd:[[`y3`,`*/ h 5 6`]],paths:[{w:6,h:6,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`0`,`1`],[`a`,`3`,`1`,`cd2`,`cd2`],[`l`,`6`,`5`],[`a`,`3`,`1`,`0`,`cd2`],[`c`]]},{w:6,h:6,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`6`,`1`],[`a`,`3`,`1`,`0`,`cd2`]]},{w:6,h:6,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`1`],[`a`,`3`,`1`,`cd2`,`cd2`],[`l`,`6`,`5`],[`a`,`3`,`1`,`0`,`cd2`],[`c`]]}]},flowchartmagneticdrum:{adj:[],gd:[[`x2`,`*/ w 2 3`]],paths:[{w:6,h:6,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`1`,`0`],[`l`,`5`,`0`],[`a`,`1`,`3`,`3cd4`,`cd2`],[`l`,`1`,`6`],[`a`,`1`,`3`,`cd4`,`cd2`],[`c`]]},{w:6,h:6,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`5`,`6`],[`a`,`1`,`3`,`cd4`,`cd2`]]},{w:6,h:6,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`1`,`0`],[`l`,`5`,`0`],[`a`,`1`,`3`,`3cd4`,`cd2`],[`l`,`1`,`6`],[`a`,`1`,`3`,`cd4`,`cd2`],[`c`]]}]},flowchartmagnetictape:{adj:[],gd:[[`idx`,`cos wd2 2700000`],[`idy`,`sin hd2 2700000`],[`il`,`+- hc 0 idx`],[`ir`,`+- hc idx 0`],[`it`,`+- vc 0 idy`],[`ib`,`+- vc idy 0`],[`ang1`,`at2 w h`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`hc`,`b`],[`a`,`wd2`,`hd2`,`cd4`,`cd4`],[`a`,`wd2`,`hd2`,`cd2`,`cd4`],[`a`,`wd2`,`hd2`,`3cd4`,`cd4`],[`a`,`wd2`,`hd2`,`0`,`ang1`],[`l`,`r`,`ib`],[`l`,`r`,`b`],[`c`]]}]},flowchartmanualinput:{adj:[],gd:[],paths:[{w:5,h:5,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`1`],[`l`,`5`,`0`],[`l`,`5`,`5`],[`l`,`0`,`5`],[`c`]]}]},flowchartmanualoperation:{adj:[],gd:[[`x3`,`*/ w 4 5`],[`x4`,`*/ w 9 10`]],paths:[{w:5,h:5,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`0`],[`l`,`5`,`0`],[`l`,`4`,`5`],[`l`,`1`,`5`],[`c`]]}]},flowchartmerge:{adj:[],gd:[[`x2`,`*/ w 3 4`]],paths:[{w:2,h:2,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`0`],[`l`,`2`,`0`],[`l`,`1`,`2`],[`c`]]}]},flowchartmultidocument:{adj:[],gd:[[`y2`,`*/ h 3675 21600`],[`y8`,`*/ h 20782 21600`],[`x3`,`*/ w 9298 21600`],[`x4`,`*/ w 12286 21600`],[`x5`,`*/ w 18595 21600`]],paths:[{w:21600,h:21600,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`0`,`20782`],[`C`,`9298`,`23542`,`9298`,`18022`,`18595`,`18022`],[`l`,`18595`,`3675`],[`l`,`0`,`3675`],[`c`],[`m`,`1532`,`3675`],[`l`,`1532`,`1815`],[`l`,`20000`,`1815`],[`l`,`20000`,`16252`],[`C`,`19298`,`16252`,`18595`,`16352`,`18595`,`16352`],[`l`,`18595`,`3675`],[`c`],[`m`,`2972`,`1815`],[`l`,`2972`,`0`],[`l`,`21600`,`0`],[`l`,`21600`,`14392`],[`C`,`20800`,`14392`,`20000`,`14467`,`20000`,`14467`],[`l`,`20000`,`1815`],[`c`]]},{w:21600,h:21600,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`0`,`3675`],[`l`,`18595`,`3675`],[`l`,`18595`,`18022`],[`C`,`9298`,`18022`,`9298`,`23542`,`0`,`20782`],[`c`],[`m`,`1532`,`3675`],[`l`,`1532`,`1815`],[`l`,`20000`,`1815`],[`l`,`20000`,`16252`],[`C`,`19298`,`16252`,`18595`,`16352`,`18595`,`16352`],[`m`,`2972`,`1815`],[`l`,`2972`,`0`],[`l`,`21600`,`0`],[`l`,`21600`,`14392`],[`C`,`20800`,`14392`,`20000`,`14467`,`20000`,`14467`]]},{w:21600,h:21600,fill:`none`,stroke:!1,extrusionOk:!0,cmds:[[`m`,`0`,`20782`],[`C`,`9298`,`23542`,`9298`,`18022`,`18595`,`18022`],[`l`,`18595`,`16352`],[`C`,`18595`,`16352`,`19298`,`16252`,`20000`,`16252`],[`l`,`20000`,`14467`],[`C`,`20000`,`14467`,`20800`,`14392`,`21600`,`14392`],[`l`,`21600`,`0`],[`l`,`2972`,`0`],[`l`,`2972`,`1815`],[`l`,`1532`,`1815`],[`l`,`1532`,`3675`],[`l`,`0`,`3675`],[`c`]]}]},flowchartofflinestorage:{adj:[],gd:[[`x4`,`*/ w 3 4`]],paths:[{w:2,h:2,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`0`,`0`],[`l`,`2`,`0`],[`l`,`1`,`2`],[`c`]]},{w:5,h:5,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`2`,`4`],[`l`,`3`,`4`]]},{w:2,h:2,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`0`],[`l`,`2`,`0`],[`l`,`1`,`2`],[`c`]]}]},flowchartoffpageconnector:{adj:[],gd:[[`y1`,`*/ h 4 5`]],paths:[{w:10,h:10,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`0`],[`l`,`10`,`0`],[`l`,`10`,`8`],[`l`,`5`,`10`],[`l`,`0`,`8`],[`c`]]}]},flowchartonlinestorage:{adj:[],gd:[[`x2`,`*/ w 5 6`]],paths:[{w:6,h:6,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`1`,`0`],[`l`,`6`,`0`],[`a`,`1`,`3`,`3cd4`,`-10800000`],[`l`,`1`,`6`],[`a`,`1`,`3`,`cd4`,`cd2`],[`c`]]}]},flowchartor:{adj:[],gd:[[`idx`,`cos wd2 2700000`],[`idy`,`sin hd2 2700000`],[`il`,`+- hc 0 idx`],[`ir`,`+- hc idx 0`],[`it`,`+- vc 0 idy`],[`ib`,`+- vc idy 0`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`vc`],[`a`,`wd2`,`hd2`,`cd2`,`cd4`],[`a`,`wd2`,`hd2`,`3cd4`,`cd4`],[`a`,`wd2`,`hd2`,`0`,`cd4`],[`a`,`wd2`,`hd2`,`cd4`,`cd4`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`hc`,`t`],[`l`,`hc`,`b`],[`m`,`l`,`vc`],[`l`,`r`,`vc`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`a`,`wd2`,`hd2`,`cd2`,`cd4`],[`a`,`wd2`,`hd2`,`3cd4`,`cd4`],[`a`,`wd2`,`hd2`,`0`,`cd4`],[`a`,`wd2`,`hd2`,`cd4`,`cd4`],[`c`]]}]},flowchartpredefinedprocess:{adj:[],gd:[[`x2`,`*/ w 7 8`]],paths:[{w:1,h:1,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`0`,`0`],[`l`,`1`,`0`],[`l`,`1`,`1`],[`l`,`0`,`1`],[`c`]]},{w:8,h:8,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`1`,`0`],[`l`,`1`,`8`],[`m`,`7`,`0`],[`l`,`7`,`8`]]},{w:1,h:1,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`0`],[`l`,`1`,`0`],[`l`,`1`,`1`],[`l`,`0`,`1`],[`c`]]}]},flowchartpreparation:{adj:[],gd:[[`x2`,`*/ w 4 5`]],paths:[{w:10,h:10,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`5`],[`l`,`2`,`0`],[`l`,`8`,`0`],[`l`,`10`,`5`],[`l`,`8`,`10`],[`l`,`2`,`10`],[`c`]]}]},flowchartprocess:{adj:[],gd:[],paths:[{w:1,h:1,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`0`],[`l`,`1`,`0`],[`l`,`1`,`1`],[`l`,`0`,`1`],[`c`]]}]},flowchartpunchedcard:{adj:[],gd:[],paths:[{w:5,h:5,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`1`],[`l`,`1`,`0`],[`l`,`5`,`0`],[`l`,`5`,`5`],[`l`,`0`,`5`],[`c`]]}]},flowchartpunchedtape:{adj:[],gd:[[`y2`,`*/ h 9 10`],[`ib`,`*/ h 4 5`]],paths:[{w:20,h:20,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`2`],[`a`,`5`,`2`,`cd2`,`-10800000`],[`a`,`5`,`2`,`cd2`,`cd2`],[`l`,`20`,`18`],[`a`,`5`,`2`,`0`,`-10800000`],[`a`,`5`,`2`,`0`,`cd2`],[`c`]]}]},flowchartsort:{adj:[],gd:[[`ir`,`*/ w 3 4`],[`ib`,`*/ h 3 4`]],paths:[{w:2,h:2,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`0`,`1`],[`l`,`1`,`0`],[`l`,`2`,`1`],[`l`,`1`,`2`],[`c`]]},{w:2,h:2,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`0`,`1`],[`l`,`2`,`1`]]},{w:2,h:2,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`0`,`1`],[`l`,`1`,`0`],[`l`,`2`,`1`],[`l`,`1`,`2`],[`c`]]}]},flowchartsummingjunction:{adj:[],gd:[[`idx`,`cos wd2 2700000`],[`idy`,`sin hd2 2700000`],[`il`,`+- hc 0 idx`],[`ir`,`+- hc idx 0`],[`it`,`+- vc 0 idy`],[`ib`,`+- vc idy 0`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`vc`],[`a`,`wd2`,`hd2`,`cd2`,`cd4`],[`a`,`wd2`,`hd2`,`3cd4`,`cd4`],[`a`,`wd2`,`hd2`,`0`,`cd4`],[`a`,`wd2`,`hd2`,`cd4`,`cd4`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`il`,`it`],[`l`,`ir`,`ib`],[`m`,`ir`,`it`],[`l`,`il`,`ib`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`a`,`wd2`,`hd2`,`cd2`,`cd4`],[`a`,`wd2`,`hd2`,`3cd4`,`cd4`],[`a`,`wd2`,`hd2`,`0`,`cd4`],[`a`,`wd2`,`hd2`,`cd4`,`cd4`],[`c`]]}]},flowchartterminator:{adj:[],gd:[[`il`,`*/ w 1018 21600`],[`ir`,`*/ w 20582 21600`],[`it`,`*/ h 3163 21600`],[`ib`,`*/ h 18437 21600`]],paths:[{w:21600,h:21600,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`3475`,`0`],[`l`,`18125`,`0`],[`a`,`3475`,`10800`,`3cd4`,`cd2`],[`l`,`3475`,`21600`],[`a`,`3475`,`10800`,`cd4`,`cd2`],[`c`]]}]},foldedcorner:{adj:[[`adj`,`val 16667`]],gd:[[`a`,`pin 0 adj 50000`],[`dy2`,`*/ ss a 100000`],[`dy1`,`*/ dy2 1 5`],[`x1`,`+- r 0 dy2`],[`x2`,`+- x1 dy1 0`],[`y2`,`+- b 0 dy2`],[`y1`,`+- y2 dy1 0`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`y2`],[`l`,`x1`,`b`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:`darkenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`x1`,`b`],[`l`,`x2`,`y1`],[`l`,`r`,`y2`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`b`],[`l`,`x2`,`y1`],[`l`,`r`,`y2`],[`l`,`x1`,`b`],[`l`,`l`,`b`],[`l`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`y2`]]}]},frame:{adj:[[`adj1`,`val 12500`]],gd:[[`a1`,`pin 0 adj1 50000`],[`x1`,`*/ ss a1 100000`],[`x4`,`+- r 0 x1`],[`y4`,`+- b 0 x1`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`],[`m`,`x1`,`x1`],[`l`,`x1`,`y4`],[`l`,`x4`,`y4`],[`l`,`x4`,`x1`],[`c`]]}]},funnel:{adj:[],gd:[[`d`,`*/ ss 1 20`],[`rw2`,`+- wd2 0 d`],[`rh2`,`+- hd4 0 d`],[`t1`,`cos wd2 480000`],[`t2`,`sin hd4 480000`],[`da`,`at2 t1 t2`],[`2da`,`*/ da 2 1`],[`stAng1`,`+- cd2 0 da`],[`swAng1`,`+- cd2 2da 0`],[`swAng3`,`+- cd2 0 2da`],[`rw3`,`*/ wd2 1 4`],[`rh3`,`*/ hd4 1 4`],[`ct1`,`cos hd4 stAng1`],[`st1`,`sin wd2 stAng1`],[`m1`,`mod ct1 st1 0`],[`n1`,`*/ wd2 hd4 m1`],[`dx1`,`cos n1 stAng1`],[`dy1`,`sin n1 stAng1`],[`x1`,`+- hc dx1 0`],[`y1`,`+- hd4 dy1 0`],[`ct3`,`cos rh3 da`],[`st3`,`sin rw3 da`],[`m3`,`mod ct3 st3 0`],[`n3`,`*/ rw3 rh3 m3`],[`dx3`,`cos n3 da`],[`dy3`,`sin n3 da`],[`x3`,`+- hc dx3 0`],[`vc3`,`+- b 0 rh3`],[`y2`,`+- vc3 dy3 0`],[`x2`,`+- wd2 0 rw2`],[`cd`,`*/ cd2 2 1`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`y1`],[`a`,`wd2`,`hd4`,`stAng1`,`swAng1`],[`l`,`x3`,`y2`],[`a`,`rw3`,`rh3`,`da`,`swAng3`],[`c`],[`m`,`x2`,`hd4`],[`a`,`rw2`,`rh2`,`cd2`,`-21600000`],[`c`]]}]},gear6:{adj:[[`adj1`,`val 15000`],[`adj2`,`val 3526`]],gd:[[`a1`,`pin 0 adj1 20000`],[`a2`,`pin 0 adj2 5358`],[`th`,`*/ ss a1 100000`],[`lFD`,`*/ ss a2 100000`],[`th2`,`*/ th 1 2`],[`l2`,`*/ lFD 1 2`],[`l3`,`+- th2 l2 0`],[`rh`,`+- hd2 0 th`],[`rw`,`+- wd2 0 th`],[`dr`,`+- rw 0 rh`],[`maxr`,`?: dr rh rw`],[`ha`,`at2 maxr l3`],[`aA1`,`+- 19800000 0 ha`],[`aD1`,`+- 19800000 ha 0`],[`ta11`,`cos rw aA1`],[`ta12`,`sin rh aA1`],[`bA1`,`at2 ta11 ta12`],[`cta1`,`cos rh bA1`],[`sta1`,`sin rw bA1`],[`ma1`,`mod cta1 sta1 0`],[`na1`,`*/ rw rh ma1`],[`dxa1`,`cos na1 bA1`],[`dya1`,`sin na1 bA1`],[`xA1`,`+- hc dxa1 0`],[`yA1`,`+- vc dya1 0`],[`td11`,`cos rw aD1`],[`td12`,`sin rh aD1`],[`bD1`,`at2 td11 td12`],[`ctd1`,`cos rh bD1`],[`std1`,`sin rw bD1`],[`md1`,`mod ctd1 std1 0`],[`nd1`,`*/ rw rh md1`],[`dxd1`,`cos nd1 bD1`],[`dyd1`,`sin nd1 bD1`],[`xD1`,`+- hc dxd1 0`],[`yD1`,`+- vc dyd1 0`],[`xAD1`,`+- xA1 0 xD1`],[`yAD1`,`+- yA1 0 yD1`],[`lAD1`,`mod xAD1 yAD1 0`],[`a1`,`at2 yAD1 xAD1`],[`dxF1`,`sin lFD a1`],[`dyF1`,`cos lFD a1`],[`xF1`,`+- xD1 dxF1 0`],[`yF1`,`+- yD1 dyF1 0`],[`xE1`,`+- xA1 0 dxF1`],[`yE1`,`+- yA1 0 dyF1`],[`yC1t`,`sin th a1`],[`xC1t`,`cos th a1`],[`yC1`,`+- yF1 yC1t 0`],[`xC1`,`+- xF1 0 xC1t`],[`yB1`,`+- yE1 yC1t 0`],[`xB1`,`+- xE1 0 xC1t`],[`aD6`,`+- 3cd4 ha 0`],[`td61`,`cos rw aD6`],[`td62`,`sin rh aD6`],[`bD6`,`at2 td61 td62`],[`ctd6`,`cos rh bD6`],[`std6`,`sin rw bD6`],[`md6`,`mod ctd6 std6 0`],[`nd6`,`*/ rw rh md6`],[`dxd6`,`cos nd6 bD6`],[`dyd6`,`sin nd6 bD6`],[`xD6`,`+- hc dxd6 0`],[`yD6`,`+- vc dyd6 0`],[`xA6`,`+- hc 0 dxd6`],[`xF6`,`+- xD6 0 lFD`],[`xE6`,`+- xA6 lFD 0`],[`yC6`,`+- yD6 0 th`],[`swAng1`,`+- bA1 0 bD6`],[`aA2`,`+- 1800000 0 ha`],[`aD2`,`+- 1800000 ha 0`],[`ta21`,`cos rw aA2`],[`ta22`,`sin rh aA2`],[`bA2`,`at2 ta21 ta22`],[`yA2`,`+- h 0 yD1`],[`td21`,`cos rw aD2`],[`td22`,`sin rh aD2`],[`bD2`,`at2 td21 td22`],[`yD2`,`+- h 0 yA1`],[`yC2`,`+- h 0 yB1`],[`yB2`,`+- h 0 yC1`],[`xB2`,`val xC1`],[`swAng2`,`+- bA2 0 bD1`],[`aD3`,`+- cd4 ha 0`],[`td31`,`cos rw aD3`],[`td32`,`sin rh aD3`],[`bD3`,`at2 td31 td32`],[`yD3`,`+- h 0 yD6`],[`yB3`,`+- h 0 yC6`],[`aD4`,`+- 9000000 ha 0`],[`td41`,`cos rw aD4`],[`td42`,`sin rh aD4`],[`bD4`,`at2 td41 td42`],[`xD4`,`+- w 0 xD1`],[`xC4`,`+- w 0 xC1`],[`xB4`,`+- w 0 xB1`],[`aD5`,`+- 12600000 ha 0`],[`td51`,`cos rw aD5`],[`td52`,`sin rh aD5`],[`bD5`,`at2 td51 td52`],[`xD5`,`+- w 0 xA1`],[`xC5`,`+- w 0 xB1`],[`xB5`,`+- w 0 xC1`],[`xCxn1`,`+/ xB1 xC1 2`],[`yCxn1`,`+/ yB1 yC1 2`],[`yCxn2`,`+- b 0 yCxn1`],[`xCxn4`,`+/ r 0 xCxn1`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`xA1`,`yA1`],[`l`,`xB1`,`yB1`],[`l`,`xC1`,`yC1`],[`l`,`xD1`,`yD1`],[`a`,`rw`,`rh`,`bD1`,`swAng2`],[`l`,`xC1`,`yB2`],[`l`,`xB1`,`yC2`],[`l`,`xA1`,`yD2`],[`a`,`rw`,`rh`,`bD2`,`swAng1`],[`l`,`xF6`,`yB3`],[`l`,`xE6`,`yB3`],[`l`,`xA6`,`yD3`],[`a`,`rw`,`rh`,`bD3`,`swAng1`],[`l`,`xB4`,`yC2`],[`l`,`xC4`,`yB2`],[`l`,`xD4`,`yA2`],[`a`,`rw`,`rh`,`bD4`,`swAng2`],[`l`,`xB5`,`yC1`],[`l`,`xC5`,`yB1`],[`l`,`xD5`,`yA1`],[`a`,`rw`,`rh`,`bD5`,`swAng1`],[`l`,`xE6`,`yC6`],[`l`,`xF6`,`yC6`],[`l`,`xD6`,`yD6`],[`a`,`rw`,`rh`,`bD6`,`swAng1`],[`c`]]}]},gear9:{adj:[[`adj1`,`val 10000`],[`adj2`,`val 1763`]],gd:[[`a1`,`pin 0 adj1 20000`],[`a2`,`pin 0 adj2 2679`],[`th`,`*/ ss a1 100000`],[`lFD`,`*/ ss a2 100000`],[`th2`,`*/ th 1 2`],[`l2`,`*/ lFD 1 2`],[`l3`,`+- th2 l2 0`],[`rh`,`+- hd2 0 th`],[`rw`,`+- wd2 0 th`],[`dr`,`+- rw 0 rh`],[`maxr`,`?: dr rh rw`],[`ha`,`at2 maxr l3`],[`aA1`,`+- 18600000 0 ha`],[`aD1`,`+- 18600000 ha 0`],[`ta11`,`cos rw aA1`],[`ta12`,`sin rh aA1`],[`bA1`,`at2 ta11 ta12`],[`cta1`,`cos rh bA1`],[`sta1`,`sin rw bA1`],[`ma1`,`mod cta1 sta1 0`],[`na1`,`*/ rw rh ma1`],[`dxa1`,`cos na1 bA1`],[`dya1`,`sin na1 bA1`],[`xA1`,`+- hc dxa1 0`],[`yA1`,`+- vc dya1 0`],[`td11`,`cos rw aD1`],[`td12`,`sin rh aD1`],[`bD1`,`at2 td11 td12`],[`ctd1`,`cos rh bD1`],[`std1`,`sin rw bD1`],[`md1`,`mod ctd1 std1 0`],[`nd1`,`*/ rw rh md1`],[`dxd1`,`cos nd1 bD1`],[`dyd1`,`sin nd1 bD1`],[`xD1`,`+- hc dxd1 0`],[`yD1`,`+- vc dyd1 0`],[`xAD1`,`+- xA1 0 xD1`],[`yAD1`,`+- yA1 0 yD1`],[`lAD1`,`mod xAD1 yAD1 0`],[`a1`,`at2 yAD1 xAD1`],[`dxF1`,`sin lFD a1`],[`dyF1`,`cos lFD a1`],[`xF1`,`+- xD1 dxF1 0`],[`yF1`,`+- yD1 dyF1 0`],[`xE1`,`+- xA1 0 dxF1`],[`yE1`,`+- yA1 0 dyF1`],[`yC1t`,`sin th a1`],[`xC1t`,`cos th a1`],[`yC1`,`+- yF1 yC1t 0`],[`xC1`,`+- xF1 0 xC1t`],[`yB1`,`+- yE1 yC1t 0`],[`xB1`,`+- xE1 0 xC1t`],[`aA2`,`+- 21000000 0 ha`],[`aD2`,`+- 21000000 ha 0`],[`ta21`,`cos rw aA2`],[`ta22`,`sin rh aA2`],[`bA2`,`at2 ta21 ta22`],[`cta2`,`cos rh bA2`],[`sta2`,`sin rw bA2`],[`ma2`,`mod cta2 sta2 0`],[`na2`,`*/ rw rh ma2`],[`dxa2`,`cos na2 bA2`],[`dya2`,`sin na2 bA2`],[`xA2`,`+- hc dxa2 0`],[`yA2`,`+- vc dya2 0`],[`td21`,`cos rw aD2`],[`td22`,`sin rh aD2`],[`bD2`,`at2 td21 td22`],[`ctd2`,`cos rh bD2`],[`std2`,`sin rw bD2`],[`md2`,`mod ctd2 std2 0`],[`nd2`,`*/ rw rh md2`],[`dxd2`,`cos nd2 bD2`],[`dyd2`,`sin nd2 bD2`],[`xD2`,`+- hc dxd2 0`],[`yD2`,`+- vc dyd2 0`],[`xAD2`,`+- xA2 0 xD2`],[`yAD2`,`+- yA2 0 yD2`],[`lAD2`,`mod xAD2 yAD2 0`],[`a2`,`at2 yAD2 xAD2`],[`dxF2`,`sin lFD a2`],[`dyF2`,`cos lFD a2`],[`xF2`,`+- xD2 dxF2 0`],[`yF2`,`+- yD2 dyF2 0`],[`xE2`,`+- xA2 0 dxF2`],[`yE2`,`+- yA2 0 dyF2`],[`yC2t`,`sin th a2`],[`xC2t`,`cos th a2`],[`yC2`,`+- yF2 yC2t 0`],[`xC2`,`+- xF2 0 xC2t`],[`yB2`,`+- yE2 yC2t 0`],[`xB2`,`+- xE2 0 xC2t`],[`swAng1`,`+- bA2 0 bD1`],[`aA3`,`+- 1800000 0 ha`],[`aD3`,`+- 1800000 ha 0`],[`ta31`,`cos rw aA3`],[`ta32`,`sin rh aA3`],[`bA3`,`at2 ta31 ta32`],[`cta3`,`cos rh bA3`],[`sta3`,`sin rw bA3`],[`ma3`,`mod cta3 sta3 0`],[`na3`,`*/ rw rh ma3`],[`dxa3`,`cos na3 bA3`],[`dya3`,`sin na3 bA3`],[`xA3`,`+- hc dxa3 0`],[`yA3`,`+- vc dya3 0`],[`td31`,`cos rw aD3`],[`td32`,`sin rh aD3`],[`bD3`,`at2 td31 td32`],[`ctd3`,`cos rh bD3`],[`std3`,`sin rw bD3`],[`md3`,`mod ctd3 std3 0`],[`nd3`,`*/ rw rh md3`],[`dxd3`,`cos nd3 bD3`],[`dyd3`,`sin nd3 bD3`],[`xD3`,`+- hc dxd3 0`],[`yD3`,`+- vc dyd3 0`],[`xAD3`,`+- xA3 0 xD3`],[`yAD3`,`+- yA3 0 yD3`],[`lAD3`,`mod xAD3 yAD3 0`],[`a3`,`at2 yAD3 xAD3`],[`dxF3`,`sin lFD a3`],[`dyF3`,`cos lFD a3`],[`xF3`,`+- xD3 dxF3 0`],[`yF3`,`+- yD3 dyF3 0`],[`xE3`,`+- xA3 0 dxF3`],[`yE3`,`+- yA3 0 dyF3`],[`yC3t`,`sin th a3`],[`xC3t`,`cos th a3`],[`yC3`,`+- yF3 yC3t 0`],[`xC3`,`+- xF3 0 xC3t`],[`yB3`,`+- yE3 yC3t 0`],[`xB3`,`+- xE3 0 xC3t`],[`swAng2`,`+- bA3 0 bD2`],[`aA4`,`+- 4200000 0 ha`],[`aD4`,`+- 4200000 ha 0`],[`ta41`,`cos rw aA4`],[`ta42`,`sin rh aA4`],[`bA4`,`at2 ta41 ta42`],[`cta4`,`cos rh bA4`],[`sta4`,`sin rw bA4`],[`ma4`,`mod cta4 sta4 0`],[`na4`,`*/ rw rh ma4`],[`dxa4`,`cos na4 bA4`],[`dya4`,`sin na4 bA4`],[`xA4`,`+- hc dxa4 0`],[`yA4`,`+- vc dya4 0`],[`td41`,`cos rw aD4`],[`td42`,`sin rh aD4`],[`bD4`,`at2 td41 td42`],[`ctd4`,`cos rh bD4`],[`std4`,`sin rw bD4`],[`md4`,`mod ctd4 std4 0`],[`nd4`,`*/ rw rh md4`],[`dxd4`,`cos nd4 bD4`],[`dyd4`,`sin nd4 bD4`],[`xD4`,`+- hc dxd4 0`],[`yD4`,`+- vc dyd4 0`],[`xAD4`,`+- xA4 0 xD4`],[`yAD4`,`+- yA4 0 yD4`],[`lAD4`,`mod xAD4 yAD4 0`],[`a4`,`at2 yAD4 xAD4`],[`dxF4`,`sin lFD a4`],[`dyF4`,`cos lFD a4`],[`xF4`,`+- xD4 dxF4 0`],[`yF4`,`+- yD4 dyF4 0`],[`xE4`,`+- xA4 0 dxF4`],[`yE4`,`+- yA4 0 dyF4`],[`yC4t`,`sin th a4`],[`xC4t`,`cos th a4`],[`yC4`,`+- yF4 yC4t 0`],[`xC4`,`+- xF4 0 xC4t`],[`yB4`,`+- yE4 yC4t 0`],[`xB4`,`+- xE4 0 xC4t`],[`swAng3`,`+- bA4 0 bD3`],[`aA5`,`+- 6600000 0 ha`],[`aD5`,`+- 6600000 ha 0`],[`ta51`,`cos rw aA5`],[`ta52`,`sin rh aA5`],[`bA5`,`at2 ta51 ta52`],[`td51`,`cos rw aD5`],[`td52`,`sin rh aD5`],[`bD5`,`at2 td51 td52`],[`xD5`,`+- w 0 xA4`],[`xC5`,`+- w 0 xB4`],[`xB5`,`+- w 0 xC4`],[`swAng4`,`+- bA5 0 bD4`],[`aD6`,`+- 9000000 ha 0`],[`td61`,`cos rw aD6`],[`td62`,`sin rh aD6`],[`bD6`,`at2 td61 td62`],[`xD6`,`+- w 0 xA3`],[`xC6`,`+- w 0 xB3`],[`xB6`,`+- w 0 xC3`],[`aD7`,`+- 11400000 ha 0`],[`td71`,`cos rw aD7`],[`td72`,`sin rh aD7`],[`bD7`,`at2 td71 td72`],[`xD7`,`+- w 0 xA2`],[`xC7`,`+- w 0 xB2`],[`xB7`,`+- w 0 xC2`],[`aD8`,`+- 13800000 ha 0`],[`td81`,`cos rw aD8`],[`td82`,`sin rh aD8`],[`bD8`,`at2 td81 td82`],[`xA8`,`+- w 0 xD1`],[`xD8`,`+- w 0 xA1`],[`xC8`,`+- w 0 xB1`],[`xB8`,`+- w 0 xC1`],[`aA9`,`+- 3cd4 0 ha`],[`aD9`,`+- 3cd4 ha 0`],[`td91`,`cos rw aD9`],[`td92`,`sin rh aD9`],[`bD9`,`at2 td91 td92`],[`ctd9`,`cos rh bD9`],[`std9`,`sin rw bD9`],[`md9`,`mod ctd9 std9 0`],[`nd9`,`*/ rw rh md9`],[`dxd9`,`cos nd9 bD9`],[`dyd9`,`sin nd9 bD9`],[`xD9`,`+- hc dxd9 0`],[`yD9`,`+- vc dyd9 0`],[`ta91`,`cos rw aA9`],[`ta92`,`sin rh aA9`],[`bA9`,`at2 ta91 ta92`],[`xA9`,`+- hc 0 dxd9`],[`xF9`,`+- xD9 0 lFD`],[`xE9`,`+- xA9 lFD 0`],[`yC9`,`+- yD9 0 th`],[`swAng5`,`+- bA9 0 bD8`],[`xCxn1`,`+/ xB1 xC1 2`],[`yCxn1`,`+/ yB1 yC1 2`],[`xCxn2`,`+/ xB2 xC2 2`],[`yCxn2`,`+/ yB2 yC2 2`],[`xCxn3`,`+/ xB3 xC3 2`],[`yCxn3`,`+/ yB3 yC3 2`],[`xCxn4`,`+/ xB4 xC4 2`],[`yCxn4`,`+/ yB4 yC4 2`],[`xCxn5`,`+/ r 0 xCxn4`],[`xCxn6`,`+/ r 0 xCxn3`],[`xCxn7`,`+/ r 0 xCxn2`],[`xCxn8`,`+/ r 0 xCxn1`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`xA1`,`yA1`],[`l`,`xB1`,`yB1`],[`l`,`xC1`,`yC1`],[`l`,`xD1`,`yD1`],[`a`,`rw`,`rh`,`bD1`,`swAng1`],[`l`,`xB2`,`yB2`],[`l`,`xC2`,`yC2`],[`l`,`xD2`,`yD2`],[`a`,`rw`,`rh`,`bD2`,`swAng2`],[`l`,`xB3`,`yB3`],[`l`,`xC3`,`yC3`],[`l`,`xD3`,`yD3`],[`a`,`rw`,`rh`,`bD3`,`swAng3`],[`l`,`xB4`,`yB4`],[`l`,`xC4`,`yC4`],[`l`,`xD4`,`yD4`],[`a`,`rw`,`rh`,`bD4`,`swAng4`],[`l`,`xB5`,`yC4`],[`l`,`xC5`,`yB4`],[`l`,`xD5`,`yA4`],[`a`,`rw`,`rh`,`bD5`,`swAng3`],[`l`,`xB6`,`yC3`],[`l`,`xC6`,`yB3`],[`l`,`xD6`,`yA3`],[`a`,`rw`,`rh`,`bD6`,`swAng2`],[`l`,`xB7`,`yC2`],[`l`,`xC7`,`yB2`],[`l`,`xD7`,`yA2`],[`a`,`rw`,`rh`,`bD7`,`swAng1`],[`l`,`xB8`,`yC1`],[`l`,`xC8`,`yB1`],[`l`,`xD8`,`yA1`],[`a`,`rw`,`rh`,`bD8`,`swAng5`],[`l`,`xE9`,`yC9`],[`l`,`xF9`,`yC9`],[`l`,`xD9`,`yD9`],[`a`,`rw`,`rh`,`bD9`,`swAng5`],[`c`]]}]},halfframe:{adj:[[`adj1`,`val 33333`],[`adj2`,`val 33333`]],gd:[[`maxAdj2`,`*/ 100000 w ss`],[`a2`,`pin 0 adj2 maxAdj2`],[`x1`,`*/ ss a2 100000`],[`g1`,`*/ h x1 w`],[`g2`,`+- h 0 g1`],[`maxAdj1`,`*/ 100000 g2 ss`],[`a1`,`pin 0 adj1 maxAdj1`],[`y1`,`*/ ss a1 100000`],[`dx2`,`*/ y1 w h`],[`x2`,`+- r 0 dx2`],[`dy2`,`*/ x1 h w`],[`y2`,`+- b 0 dy2`],[`cx1`,`*/ x1 1 2`],[`cy1`,`+/ y2 b 2`],[`cx2`,`+/ x2 r 2`],[`cy2`,`*/ y1 1 2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`x2`,`y1`],[`l`,`x1`,`y1`],[`l`,`x1`,`y2`],[`l`,`l`,`b`],[`c`]]}]},heart:{adj:[],gd:[[`dx1`,`*/ w 49 48`],[`dx2`,`*/ w 10 48`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc 0 dx2`],[`x3`,`+- hc dx2 0`],[`x4`,`+- hc dx1 0`],[`y1`,`+- t 0 hd3`],[`il`,`*/ w 1 6`],[`ir`,`*/ w 5 6`],[`ib`,`*/ h 2 3`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`hc`,`hd4`],[`C`,`x3`,`y1`,`x4`,`hd4`,`hc`,`b`],[`C`,`x1`,`hd4`,`x2`,`y1`,`hc`,`hd4`],[`c`]]}]},heptagon:{adj:[[`hf`,`val 102572`],[`vf`,`val 105210`]],gd:[[`swd2`,`*/ wd2 hf 100000`],[`shd2`,`*/ hd2 vf 100000`],[`svc`,`*/ vc vf 100000`],[`dx1`,`*/ swd2 97493 100000`],[`dx2`,`*/ swd2 78183 100000`],[`dx3`,`*/ swd2 43388 100000`],[`dy1`,`*/ shd2 62349 100000`],[`dy2`,`*/ shd2 22252 100000`],[`dy3`,`*/ shd2 90097 100000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc 0 dx2`],[`x3`,`+- hc 0 dx3`],[`x4`,`+- hc dx3 0`],[`x5`,`+- hc dx2 0`],[`x6`,`+- hc dx1 0`],[`y1`,`+- svc 0 dy1`],[`y2`,`+- svc dy2 0`],[`y3`,`+- svc dy3 0`],[`ib`,`+- b 0 y1`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`y2`],[`l`,`x2`,`y1`],[`l`,`hc`,`t`],[`l`,`x5`,`y1`],[`l`,`x6`,`y2`],[`l`,`x4`,`y3`],[`l`,`x3`,`y3`],[`c`]]}]},hexagon:{adj:[[`adj`,`val 25000`],[`vf`,`val 115470`]],gd:[[`maxAdj`,`*/ 50000 w ss`],[`a`,`pin 0 adj maxAdj`],[`shd2`,`*/ hd2 vf 100000`],[`x1`,`*/ ss a 100000`],[`x2`,`+- r 0 x1`],[`dy1`,`sin shd2 3600000`],[`y1`,`+- vc 0 dy1`],[`y2`,`+- vc dy1 0`],[`q1`,`*/ maxAdj -1 2`],[`q2`,`+- a q1 0`],[`q3`,`?: q2 4 2`],[`q4`,`?: q2 3 2`],[`q5`,`?: q2 q1 0`],[`q6`,`+/ a q5 q1`],[`q7`,`*/ q6 q4 -1`],[`q8`,`+- q3 q7 0`],[`il`,`*/ w q8 24`],[`it`,`*/ h q8 24`],[`ir`,`+- r 0 il`],[`ib`,`+- b 0 it`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`l`,`x1`,`y1`],[`l`,`x2`,`y1`],[`l`,`r`,`vc`],[`l`,`x2`,`y2`],[`l`,`x1`,`y2`],[`c`]]}]},homeplate:{adj:[[`adj`,`val 50000`]],gd:[[`maxAdj`,`*/ 100000 w ss`],[`a`,`pin 0 adj maxAdj`],[`dx1`,`*/ ss a 100000`],[`x1`,`+- r 0 dx1`],[`ir`,`+/ x1 r 2`],[`x2`,`*/ x1 1 2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`x1`,`t`],[`l`,`r`,`vc`],[`l`,`x1`,`b`],[`l`,`l`,`b`],[`c`]]}]},horizontalscroll:{adj:[[`adj`,`val 12500`]],gd:[[`a`,`pin 0 adj 25000`],[`ch`,`*/ ss a 100000`],[`ch2`,`*/ ch 1 2`],[`ch4`,`*/ ch 1 4`],[`y3`,`+- ch ch2 0`],[`y4`,`+- ch ch 0`],[`y6`,`+- b 0 ch`],[`y7`,`+- b 0 ch2`],[`y5`,`+- y6 0 ch2`],[`x3`,`+- r 0 ch`],[`x4`,`+- r 0 ch2`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`r`,`ch2`],[`a`,`ch2`,`ch2`,`0`,`cd4`],[`l`,`x4`,`ch2`],[`a`,`ch4`,`ch4`,`0`,`cd2`],[`l`,`x3`,`ch`],[`l`,`ch2`,`ch`],[`a`,`ch2`,`ch2`,`3cd4`,`-5400000`],[`l`,`l`,`y7`],[`a`,`ch2`,`ch2`,`cd2`,`-10800000`],[`l`,`ch`,`y6`],[`l`,`x4`,`y6`],[`a`,`ch2`,`ch2`,`cd4`,`-5400000`],[`c`],[`m`,`ch2`,`y4`],[`a`,`ch2`,`ch2`,`cd4`,`-5400000`],[`a`,`ch4`,`ch4`,`0`,`-10800000`],[`c`]]},{w:null,h:null,fill:`darkenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`ch2`,`y4`],[`a`,`ch2`,`ch2`,`cd4`,`-5400000`],[`a`,`ch4`,`ch4`,`0`,`-10800000`],[`c`],[`m`,`x4`,`ch`],[`a`,`ch2`,`ch2`,`cd4`,`-16200000`],[`a`,`ch4`,`ch4`,`cd2`,`-10800000`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`l`,`y3`],[`a`,`ch2`,`ch2`,`cd2`,`cd4`],[`l`,`x3`,`ch`],[`l`,`x3`,`ch2`],[`a`,`ch2`,`ch2`,`cd2`,`cd2`],[`l`,`r`,`y5`],[`a`,`ch2`,`ch2`,`0`,`cd4`],[`l`,`ch`,`y6`],[`l`,`ch`,`y7`],[`a`,`ch2`,`ch2`,`0`,`cd2`],[`c`],[`m`,`x3`,`ch`],[`l`,`x4`,`ch`],[`a`,`ch2`,`ch2`,`cd4`,`-5400000`],[`m`,`x4`,`ch`],[`l`,`x4`,`ch2`],[`a`,`ch4`,`ch4`,`0`,`cd2`],[`m`,`ch2`,`y4`],[`l`,`ch2`,`y3`],[`a`,`ch4`,`ch4`,`cd2`,`cd2`],[`a`,`ch2`,`ch2`,`0`,`cd2`],[`m`,`ch`,`y3`],[`l`,`ch`,`y6`]]}]},irregularseal1:{adj:[],gd:[[`x5`,`*/ w 4627 21600`],[`x12`,`*/ w 8485 21600`],[`x21`,`*/ w 16702 21600`],[`x24`,`*/ w 14522 21600`],[`y3`,`*/ h 6320 21600`],[`y6`,`*/ h 8615 21600`],[`y9`,`*/ h 13937 21600`],[`y18`,`*/ h 13290 21600`]],paths:[{w:21600,h:21600,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`10800`,`5800`],[`l`,`14522`,`0`],[`l`,`14155`,`5325`],[`l`,`18380`,`4457`],[`l`,`16702`,`7315`],[`l`,`21097`,`8137`],[`l`,`17607`,`10475`],[`l`,`21600`,`13290`],[`l`,`16837`,`12942`],[`l`,`18145`,`18095`],[`l`,`14020`,`14457`],[`l`,`13247`,`19737`],[`l`,`10532`,`14935`],[`l`,`8485`,`21600`],[`l`,`7715`,`15627`],[`l`,`4762`,`17617`],[`l`,`5667`,`13937`],[`l`,`135`,`14587`],[`l`,`3722`,`11775`],[`l`,`0`,`8615`],[`l`,`4627`,`7617`],[`l`,`370`,`2295`],[`l`,`7312`,`6320`],[`l`,`8352`,`2295`],[`c`]]}]},irregularseal2:{adj:[],gd:[[`x2`,`*/ w 9722 21600`],[`x5`,`*/ w 5372 21600`],[`x16`,`*/ w 11612 21600`],[`x19`,`*/ w 14640 21600`],[`y2`,`*/ h 1887 21600`],[`y3`,`*/ h 6382 21600`],[`y8`,`*/ h 12877 21600`],[`y14`,`*/ h 19712 21600`],[`y16`,`*/ h 18842 21600`],[`y17`,`*/ h 15935 21600`],[`y24`,`*/ h 6645 21600`]],paths:[{w:21600,h:21600,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`11462`,`4342`],[`l`,`14790`,`0`],[`l`,`14525`,`5777`],[`l`,`18007`,`3172`],[`l`,`16380`,`6532`],[`l`,`21600`,`6645`],[`l`,`16985`,`9402`],[`l`,`18270`,`11290`],[`l`,`16380`,`12310`],[`l`,`18877`,`15632`],[`l`,`14640`,`14350`],[`l`,`14942`,`17370`],[`l`,`12180`,`15935`],[`l`,`11612`,`18842`],[`l`,`9872`,`17370`],[`l`,`8700`,`19712`],[`l`,`7527`,`18125`],[`l`,`4917`,`21600`],[`l`,`4805`,`18240`],[`l`,`1285`,`17825`],[`l`,`3330`,`15370`],[`l`,`0`,`12877`],[`l`,`3935`,`11592`],[`l`,`1172`,`8270`],[`l`,`5372`,`7817`],[`l`,`4502`,`3625`],[`l`,`8550`,`6382`],[`l`,`9722`,`1887`],[`c`]]}]},leftarrow:{adj:[[`adj1`,`val 50000`],[`adj2`,`val 50000`]],gd:[[`maxAdj2`,`*/ 100000 w ss`],[`a1`,`pin 0 adj1 100000`],[`a2`,`pin 0 adj2 maxAdj2`],[`dx2`,`*/ ss a2 100000`],[`x2`,`+- l dx2 0`],[`dy1`,`*/ h a1 200000`],[`y1`,`+- vc 0 dy1`],[`y2`,`+- vc dy1 0`],[`dx1`,`*/ y1 dx2 hd2`],[`x1`,`+- x2 0 dx1`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`l`,`x2`,`t`],[`l`,`x2`,`y1`],[`l`,`r`,`y1`],[`l`,`r`,`y2`],[`l`,`x2`,`y2`],[`l`,`x2`,`b`],[`c`]]}]},leftarrowcallout:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 25000`],[`adj3`,`val 25000`],[`adj4`,`val 64977`]],gd:[[`maxAdj2`,`*/ 50000 h ss`],[`a2`,`pin 0 adj2 maxAdj2`],[`maxAdj1`,`*/ a2 2 1`],[`a1`,`pin 0 adj1 maxAdj1`],[`maxAdj3`,`*/ 100000 w ss`],[`a3`,`pin 0 adj3 maxAdj3`],[`q2`,`*/ a3 ss w`],[`maxAdj4`,`+- 100000 0 q2`],[`a4`,`pin 0 adj4 maxAdj4`],[`dy1`,`*/ ss a2 100000`],[`dy2`,`*/ ss a1 200000`],[`y1`,`+- vc 0 dy1`],[`y2`,`+- vc 0 dy2`],[`y3`,`+- vc dy2 0`],[`y4`,`+- vc dy1 0`],[`x1`,`*/ ss a3 100000`],[`dx2`,`*/ w a4 100000`],[`x2`,`+- r 0 dx2`],[`x3`,`+/ x2 r 2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`l`,`x1`,`y1`],[`l`,`x1`,`y2`],[`l`,`x2`,`y2`],[`l`,`x2`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`x2`,`b`],[`l`,`x2`,`y3`],[`l`,`x1`,`y3`],[`l`,`x1`,`y4`],[`c`]]}]},leftbrace:{adj:[[`adj1`,`val 8333`],[`adj2`,`val 50000`]],gd:[[`a2`,`pin 0 adj2 100000`],[`q1`,`+- 100000 0 a2`],[`q2`,`min q1 a2`],[`q3`,`*/ q2 1 2`],[`maxAdj1`,`*/ q3 h ss`],[`a1`,`pin 0 adj1 maxAdj1`],[`y1`,`*/ ss a1 100000`],[`y3`,`*/ h a2 100000`],[`y4`,`+- y3 y1 0`],[`dx1`,`cos wd2 2700000`],[`dy1`,`sin y1 2700000`],[`il`,`+- r 0 dx1`],[`it`,`+- y1 0 dy1`],[`ib`,`+- b dy1 y1`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`r`,`b`],[`a`,`wd2`,`y1`,`cd4`,`cd4`],[`l`,`hc`,`y4`],[`a`,`wd2`,`y1`,`0`,`-5400000`],[`a`,`wd2`,`y1`,`cd4`,`-5400000`],[`l`,`hc`,`y1`],[`a`,`wd2`,`y1`,`cd2`,`cd4`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`r`,`b`],[`a`,`wd2`,`y1`,`cd4`,`cd4`],[`l`,`hc`,`y4`],[`a`,`wd2`,`y1`,`0`,`-5400000`],[`a`,`wd2`,`y1`,`cd4`,`-5400000`],[`l`,`hc`,`y1`],[`a`,`wd2`,`y1`,`cd2`,`cd4`]]}]},leftbracket:{adj:[[`adj`,`val 8333`]],gd:[[`maxAdj`,`*/ 50000 h ss`],[`a`,`pin 0 adj maxAdj`],[`y1`,`*/ ss a 100000`],[`y2`,`+- b 0 y1`],[`dx1`,`cos w 2700000`],[`dy1`,`sin y1 2700000`],[`il`,`+- r 0 dx1`],[`it`,`+- y1 0 dy1`],[`ib`,`+- b dy1 y1`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`r`,`b`],[`a`,`w`,`y1`,`cd4`,`cd4`],[`l`,`l`,`y1`],[`a`,`w`,`y1`,`cd2`,`cd4`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`r`,`b`],[`a`,`w`,`y1`,`cd4`,`cd4`],[`l`,`l`,`y1`],[`a`,`w`,`y1`,`cd2`,`cd4`]]}]},leftcirculararrow:{adj:[[`adj1`,`val 12500`],[`adj2`,`val -1142319`],[`adj3`,`val 1142319`],[`adj4`,`val 10800000`],[`adj5`,`val 12500`]],gd:[[`a5`,`pin 0 adj5 25000`],[`maxAdj1`,`*/ a5 2 1`],[`a1`,`pin 0 adj1 maxAdj1`],[`enAng`,`pin 1 adj3 21599999`],[`stAng`,`pin 0 adj4 21599999`],[`th`,`*/ ss a1 100000`],[`thh`,`*/ ss a5 100000`],[`th2`,`*/ th 1 2`],[`rw1`,`+- wd2 th2 thh`],[`rh1`,`+- hd2 th2 thh`],[`rw2`,`+- rw1 0 th`],[`rh2`,`+- rh1 0 th`],[`rw3`,`+- rw2 th2 0`],[`rh3`,`+- rh2 th2 0`],[`wtH`,`sin rw3 enAng`],[`htH`,`cos rh3 enAng`],[`dxH`,`cat2 rw3 htH wtH`],[`dyH`,`sat2 rh3 htH wtH`],[`xH`,`+- hc dxH 0`],[`yH`,`+- vc dyH 0`],[`rI`,`min rw2 rh2`],[`u1`,`*/ dxH dxH 1`],[`u2`,`*/ dyH dyH 1`],[`u3`,`*/ rI rI 1`],[`u4`,`+- u1 0 u3`],[`u5`,`+- u2 0 u3`],[`u6`,`*/ u4 u5 u1`],[`u7`,`*/ u6 1 u2`],[`u8`,`+- 1 0 u7`],[`u9`,`sqrt u8`],[`u10`,`*/ u4 1 dxH`],[`u11`,`*/ u10 1 dyH`],[`u12`,`+/ 1 u9 u11`],[`u13`,`at2 1 u12`],[`u14`,`+- u13 21600000 0`],[`u15`,`?: u13 u13 u14`],[`u16`,`+- u15 0 enAng`],[`u17`,`+- u16 21600000 0`],[`u18`,`?: u16 u16 u17`],[`u19`,`+- u18 0 cd2`],[`u20`,`+- u18 0 21600000`],[`u21`,`?: u19 u20 u18`],[`u22`,`abs u21`],[`minAng`,`*/ u22 -1 1`],[`u23`,`abs adj2`],[`a2`,`*/ u23 -1 1`],[`aAng`,`pin minAng a2 0`],[`ptAng`,`+- enAng aAng 0`],[`wtA`,`sin rw3 ptAng`],[`htA`,`cos rh3 ptAng`],[`dxA`,`cat2 rw3 htA wtA`],[`dyA`,`sat2 rh3 htA wtA`],[`xA`,`+- hc dxA 0`],[`yA`,`+- vc dyA 0`],[`wtE`,`sin rw1 stAng`],[`htE`,`cos rh1 stAng`],[`dxE`,`cat2 rw1 htE wtE`],[`dyE`,`sat2 rh1 htE wtE`],[`xE`,`+- hc dxE 0`],[`yE`,`+- vc dyE 0`],[`wtD`,`sin rw2 stAng`],[`htD`,`cos rh2 stAng`],[`dxD`,`cat2 rw2 htD wtD`],[`dyD`,`sat2 rh2 htD wtD`],[`xD`,`+- hc dxD 0`],[`yD`,`+- vc dyD 0`],[`dxG`,`cos thh ptAng`],[`dyG`,`sin thh ptAng`],[`xG`,`+- xH dxG 0`],[`yG`,`+- yH dyG 0`],[`dxB`,`cos thh ptAng`],[`dyB`,`sin thh ptAng`],[`xB`,`+- xH 0 dxB 0`],[`yB`,`+- yH 0 dyB 0`],[`sx1`,`+- xB 0 hc`],[`sy1`,`+- yB 0 vc`],[`sx2`,`+- xG 0 hc`],[`sy2`,`+- yG 0 vc`],[`rO`,`min rw1 rh1`],[`x1O`,`*/ sx1 rO rw1`],[`y1O`,`*/ sy1 rO rh1`],[`x2O`,`*/ sx2 rO rw1`],[`y2O`,`*/ sy2 rO rh1`],[`dxO`,`+- x2O 0 x1O`],[`dyO`,`+- y2O 0 y1O`],[`dO`,`mod dxO dyO 0`],[`q1`,`*/ x1O y2O 1`],[`q2`,`*/ x2O y1O 1`],[`DO`,`+- q1 0 q2`],[`q3`,`*/ rO rO 1`],[`q4`,`*/ dO dO 1`],[`q5`,`*/ q3 q4 1`],[`q6`,`*/ DO DO 1`],[`q7`,`+- q5 0 q6`],[`q8`,`max q7 0`],[`sdelO`,`sqrt q8`],[`ndyO`,`*/ dyO -1 1`],[`sdyO`,`?: ndyO -1 1`],[`q9`,`*/ sdyO dxO 1`],[`q10`,`*/ q9 sdelO 1`],[`q11`,`*/ DO dyO 1`],[`dxF1`,`+/ q11 q10 q4`],[`q12`,`+- q11 0 q10`],[`dxF2`,`*/ q12 1 q4`],[`adyO`,`abs dyO`],[`q13`,`*/ adyO sdelO 1`],[`q14`,`*/ DO dxO -1`],[`dyF1`,`+/ q14 q13 q4`],[`q15`,`+- q14 0 q13`],[`dyF2`,`*/ q15 1 q4`],[`q16`,`+- x2O 0 dxF1`],[`q17`,`+- x2O 0 dxF2`],[`q18`,`+- y2O 0 dyF1`],[`q19`,`+- y2O 0 dyF2`],[`q20`,`mod q16 q18 0`],[`q21`,`mod q17 q19 0`],[`q22`,`+- q21 0 q20`],[`dxF`,`?: q22 dxF1 dxF2`],[`dyF`,`?: q22 dyF1 dyF2`],[`sdxF`,`*/ dxF rw1 rO`],[`sdyF`,`*/ dyF rh1 rO`],[`xF`,`+- hc sdxF 0`],[`yF`,`+- vc sdyF 0`],[`x1I`,`*/ sx1 rI rw2`],[`y1I`,`*/ sy1 rI rh2`],[`x2I`,`*/ sx2 rI rw2`],[`y2I`,`*/ sy2 rI rh2`],[`dxI`,`+- x2I 0 x1I`],[`dyI`,`+- y2I 0 y1I`],[`dI`,`mod dxI dyI 0`],[`v1`,`*/ x1I y2I 1`],[`v2`,`*/ x2I y1I 1`],[`DI`,`+- v1 0 v2`],[`v3`,`*/ rI rI 1`],[`v4`,`*/ dI dI 1`],[`v5`,`*/ v3 v4 1`],[`v6`,`*/ DI DI 1`],[`v7`,`+- v5 0 v6`],[`v8`,`max v7 0`],[`sdelI`,`sqrt v8`],[`v9`,`*/ sdyO dxI 1`],[`v10`,`*/ v9 sdelI 1`],[`v11`,`*/ DI dyI 1`],[`dxC1`,`+/ v11 v10 v4`],[`v12`,`+- v11 0 v10`],[`dxC2`,`*/ v12 1 v4`],[`adyI`,`abs dyI`],[`v13`,`*/ adyI sdelI 1`],[`v14`,`*/ DI dxI -1`],[`dyC1`,`+/ v14 v13 v4`],[`v15`,`+- v14 0 v13`],[`dyC2`,`*/ v15 1 v4`],[`v16`,`+- x1I 0 dxC1`],[`v17`,`+- x1I 0 dxC2`],[`v18`,`+- y1I 0 dyC1`],[`v19`,`+- y1I 0 dyC2`],[`v20`,`mod v16 v18 0`],[`v21`,`mod v17 v19 0`],[`v22`,`+- v21 0 v20`],[`dxC`,`?: v22 dxC1 dxC2`],[`dyC`,`?: v22 dyC1 dyC2`],[`sdxC`,`*/ dxC rw2 rI`],[`sdyC`,`*/ dyC rh2 rI`],[`xC`,`+- hc sdxC 0`],[`yC`,`+- vc sdyC 0`],[`ist0`,`at2 sdxC sdyC`],[`ist1`,`+- ist0 21600000 0`],[`istAng0`,`?: ist0 ist0 ist1`],[`isw1`,`+- stAng 0 istAng0`],[`isw2`,`+- isw1 21600000 0`],[`iswAng0`,`?: isw1 isw1 isw2`],[`istAng`,`+- istAng0 iswAng0 0`],[`iswAng`,`+- 0 0 iswAng0`],[`p1`,`+- xF 0 xC`],[`p2`,`+- yF 0 yC`],[`p3`,`mod p1 p2 0`],[`p4`,`*/ p3 1 2`],[`p5`,`+- p4 0 thh`],[`xGp`,`?: p5 xF xG`],[`yGp`,`?: p5 yF yG`],[`xBp`,`?: p5 xC xB`],[`yBp`,`?: p5 yC yB`],[`en0`,`at2 sdxF sdyF`],[`en1`,`+- en0 21600000 0`],[`en2`,`?: en0 en0 en1`],[`sw0`,`+- en2 0 stAng`],[`sw1`,`+- sw0 0 21600000`],[`swAng`,`?: sw0 sw1 sw0`],[`stAng0`,`+- stAng swAng 0`],[`swAng0`,`+- 0 0 swAng`],[`wtI`,`sin rw3 stAng`],[`htI`,`cos rh3 stAng`],[`dxI`,`cat2 rw3 htI wtI`],[`dyI`,`sat2 rh3 htI wtI`],[`xI`,`+- hc dxI 0`],[`yI`,`+- vc dyI 0`],[`aI`,`+- stAng cd4 0`],[`aA`,`+- ptAng 0 cd4`],[`aB`,`+- ptAng cd2 0`],[`idx`,`cos rw1 2700000`],[`idy`,`sin rh1 2700000`],[`il`,`+- hc 0 idx`],[`ir`,`+- hc idx 0`],[`it`,`+- vc 0 idy`],[`ib`,`+- vc idy 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`xE`,`yE`],[`l`,`xD`,`yD`],[`a`,`rw2`,`rh2`,`istAng`,`iswAng`],[`l`,`xBp`,`yBp`],[`l`,`xA`,`yA`],[`l`,`xGp`,`yGp`],[`l`,`xF`,`yF`],[`a`,`rw1`,`rh1`,`stAng0`,`swAng0`],[`c`]]}]},leftrightarrow:{adj:[[`adj1`,`val 50000`],[`adj2`,`val 50000`]],gd:[[`maxAdj2`,`*/ 50000 w ss`],[`a1`,`pin 0 adj1 100000`],[`a2`,`pin 0 adj2 maxAdj2`],[`x2`,`*/ ss a2 100000`],[`x3`,`+- r 0 x2`],[`dy`,`*/ h a1 200000`],[`y1`,`+- vc 0 dy`],[`y2`,`+- vc dy 0`],[`dx1`,`*/ y1 x2 hd2`],[`x1`,`+- x2 0 dx1`],[`x4`,`+- x3 dx1 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`l`,`x2`,`t`],[`l`,`x2`,`y1`],[`l`,`x3`,`y1`],[`l`,`x3`,`t`],[`l`,`r`,`vc`],[`l`,`x3`,`b`],[`l`,`x3`,`y2`],[`l`,`x2`,`y2`],[`l`,`x2`,`b`],[`c`]]}]},leftrightarrowcallout:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 25000`],[`adj3`,`val 25000`],[`adj4`,`val 48123`]],gd:[[`maxAdj2`,`*/ 50000 h ss`],[`a2`,`pin 0 adj2 maxAdj2`],[`maxAdj1`,`*/ a2 2 1`],[`a1`,`pin 0 adj1 maxAdj1`],[`maxAdj3`,`*/ 50000 w ss`],[`a3`,`pin 0 adj3 maxAdj3`],[`q2`,`*/ a3 ss wd2`],[`maxAdj4`,`+- 100000 0 q2`],[`a4`,`pin 0 adj4 maxAdj4`],[`dy1`,`*/ ss a2 100000`],[`dy2`,`*/ ss a1 200000`],[`y1`,`+- vc 0 dy1`],[`y2`,`+- vc 0 dy2`],[`y3`,`+- vc dy2 0`],[`y4`,`+- vc dy1 0`],[`x1`,`*/ ss a3 100000`],[`x4`,`+- r 0 x1`],[`dx2`,`*/ w a4 200000`],[`x2`,`+- hc 0 dx2`],[`x3`,`+- hc dx2 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`l`,`x1`,`y1`],[`l`,`x1`,`y2`],[`l`,`x2`,`y2`],[`l`,`x2`,`t`],[`l`,`x3`,`t`],[`l`,`x3`,`y2`],[`l`,`x4`,`y2`],[`l`,`x4`,`y1`],[`l`,`r`,`vc`],[`l`,`x4`,`y4`],[`l`,`x4`,`y3`],[`l`,`x3`,`y3`],[`l`,`x3`,`b`],[`l`,`x2`,`b`],[`l`,`x2`,`y3`],[`l`,`x1`,`y3`],[`l`,`x1`,`y4`],[`c`]]}]},leftrightcirculararrow:{adj:[[`adj1`,`val 12500`],[`adj2`,`val 1142319`],[`adj3`,`val 20457681`],[`adj4`,`val 11942319`],[`adj5`,`val 12500`]],gd:[[`a5`,`pin 0 adj5 25000`],[`maxAdj1`,`*/ a5 2 1`],[`a1`,`pin 0 adj1 maxAdj1`],[`enAng`,`pin 1 adj3 21599999`],[`stAng`,`pin 0 adj4 21599999`],[`th`,`*/ ss a1 100000`],[`thh`,`*/ ss a5 100000`],[`th2`,`*/ th 1 2`],[`rw1`,`+- wd2 th2 thh`],[`rh1`,`+- hd2 th2 thh`],[`rw2`,`+- rw1 0 th`],[`rh2`,`+- rh1 0 th`],[`rw3`,`+- rw2 th2 0`],[`rh3`,`+- rh2 th2 0`],[`wtH`,`sin rw3 enAng`],[`htH`,`cos rh3 enAng`],[`dxH`,`cat2 rw3 htH wtH`],[`dyH`,`sat2 rh3 htH wtH`],[`xH`,`+- hc dxH 0`],[`yH`,`+- vc dyH 0`],[`rI`,`min rw2 rh2`],[`u1`,`*/ dxH dxH 1`],[`u2`,`*/ dyH dyH 1`],[`u3`,`*/ rI rI 1`],[`u4`,`+- u1 0 u3`],[`u5`,`+- u2 0 u3`],[`u6`,`*/ u4 u5 u1`],[`u7`,`*/ u6 1 u2`],[`u8`,`+- 1 0 u7`],[`u9`,`sqrt u8`],[`u10`,`*/ u4 1 dxH`],[`u11`,`*/ u10 1 dyH`],[`u12`,`+/ 1 u9 u11`],[`u13`,`at2 1 u12`],[`u14`,`+- u13 21600000 0`],[`u15`,`?: u13 u13 u14`],[`u16`,`+- u15 0 enAng`],[`u17`,`+- u16 21600000 0`],[`u18`,`?: u16 u16 u17`],[`u19`,`+- u18 0 cd2`],[`u20`,`+- u18 0 21600000`],[`u21`,`?: u19 u20 u18`],[`maxAng`,`abs u21`],[`aAng`,`pin 0 adj2 maxAng`],[`ptAng`,`+- enAng aAng 0`],[`wtA`,`sin rw3 ptAng`],[`htA`,`cos rh3 ptAng`],[`dxA`,`cat2 rw3 htA wtA`],[`dyA`,`sat2 rh3 htA wtA`],[`xA`,`+- hc dxA 0`],[`yA`,`+- vc dyA 0`],[`dxG`,`cos thh ptAng`],[`dyG`,`sin thh ptAng`],[`xG`,`+- xH dxG 0`],[`yG`,`+- yH dyG 0`],[`dxB`,`cos thh ptAng`],[`dyB`,`sin thh ptAng`],[`xB`,`+- xH 0 dxB 0`],[`yB`,`+- yH 0 dyB 0`],[`sx1`,`+- xB 0 hc`],[`sy1`,`+- yB 0 vc`],[`sx2`,`+- xG 0 hc`],[`sy2`,`+- yG 0 vc`],[`rO`,`min rw1 rh1`],[`x1O`,`*/ sx1 rO rw1`],[`y1O`,`*/ sy1 rO rh1`],[`x2O`,`*/ sx2 rO rw1`],[`y2O`,`*/ sy2 rO rh1`],[`dxO`,`+- x2O 0 x1O`],[`dyO`,`+- y2O 0 y1O`],[`dO`,`mod dxO dyO 0`],[`q1`,`*/ x1O y2O 1`],[`q2`,`*/ x2O y1O 1`],[`DO`,`+- q1 0 q2`],[`q3`,`*/ rO rO 1`],[`q4`,`*/ dO dO 1`],[`q5`,`*/ q3 q4 1`],[`q6`,`*/ DO DO 1`],[`q7`,`+- q5 0 q6`],[`q8`,`max q7 0`],[`sdelO`,`sqrt q8`],[`ndyO`,`*/ dyO -1 1`],[`sdyO`,`?: ndyO -1 1`],[`q9`,`*/ sdyO dxO 1`],[`q10`,`*/ q9 sdelO 1`],[`q11`,`*/ DO dyO 1`],[`dxF1`,`+/ q11 q10 q4`],[`q12`,`+- q11 0 q10`],[`dxF2`,`*/ q12 1 q4`],[`adyO`,`abs dyO`],[`q13`,`*/ adyO sdelO 1`],[`q14`,`*/ DO dxO -1`],[`dyF1`,`+/ q14 q13 q4`],[`q15`,`+- q14 0 q13`],[`dyF2`,`*/ q15 1 q4`],[`q16`,`+- x2O 0 dxF1`],[`q17`,`+- x2O 0 dxF2`],[`q18`,`+- y2O 0 dyF1`],[`q19`,`+- y2O 0 dyF2`],[`q20`,`mod q16 q18 0`],[`q21`,`mod q17 q19 0`],[`q22`,`+- q21 0 q20`],[`dxF`,`?: q22 dxF1 dxF2`],[`dyF`,`?: q22 dyF1 dyF2`],[`sdxF`,`*/ dxF rw1 rO`],[`sdyF`,`*/ dyF rh1 rO`],[`xF`,`+- hc sdxF 0`],[`yF`,`+- vc sdyF 0`],[`x1I`,`*/ sx1 rI rw2`],[`y1I`,`*/ sy1 rI rh2`],[`x2I`,`*/ sx2 rI rw2`],[`y2I`,`*/ sy2 rI rh2`],[`dxI`,`+- x2I 0 x1I`],[`dyI`,`+- y2I 0 y1I`],[`dI`,`mod dxI dyI 0`],[`v1`,`*/ x1I y2I 1`],[`v2`,`*/ x2I y1I 1`],[`DI`,`+- v1 0 v2`],[`v3`,`*/ rI rI 1`],[`v4`,`*/ dI dI 1`],[`v5`,`*/ v3 v4 1`],[`v6`,`*/ DI DI 1`],[`v7`,`+- v5 0 v6`],[`v8`,`max v7 0`],[`sdelI`,`sqrt v8`],[`v9`,`*/ sdyO dxI 1`],[`v10`,`*/ v9 sdelI 1`],[`v11`,`*/ DI dyI 1`],[`dxC1`,`+/ v11 v10 v4`],[`v12`,`+- v11 0 v10`],[`dxC2`,`*/ v12 1 v4`],[`adyI`,`abs dyI`],[`v13`,`*/ adyI sdelI 1`],[`v14`,`*/ DI dxI -1`],[`dyC1`,`+/ v14 v13 v4`],[`v15`,`+- v14 0 v13`],[`dyC2`,`*/ v15 1 v4`],[`v16`,`+- x1I 0 dxC1`],[`v17`,`+- x1I 0 dxC2`],[`v18`,`+- y1I 0 dyC1`],[`v19`,`+- y1I 0 dyC2`],[`v20`,`mod v16 v18 0`],[`v21`,`mod v17 v19 0`],[`v22`,`+- v21 0 v20`],[`dxC`,`?: v22 dxC1 dxC2`],[`dyC`,`?: v22 dyC1 dyC2`],[`sdxC`,`*/ dxC rw2 rI`],[`sdyC`,`*/ dyC rh2 rI`],[`xC`,`+- hc sdxC 0`],[`yC`,`+- vc sdyC 0`],[`wtI`,`sin rw3 stAng`],[`htI`,`cos rh3 stAng`],[`dxI`,`cat2 rw3 htI wtI`],[`dyI`,`sat2 rh3 htI wtI`],[`xI`,`+- hc dxI 0`],[`yI`,`+- vc dyI 0`],[`lptAng`,`+- stAng 0 aAng`],[`wtL`,`sin rw3 lptAng`],[`htL`,`cos rh3 lptAng`],[`dxL`,`cat2 rw3 htL wtL`],[`dyL`,`sat2 rh3 htL wtL`],[`xL`,`+- hc dxL 0`],[`yL`,`+- vc dyL 0`],[`dxK`,`cos thh lptAng`],[`dyK`,`sin thh lptAng`],[`xK`,`+- xI dxK 0`],[`yK`,`+- yI dyK 0`],[`dxJ`,`cos thh lptAng`],[`dyJ`,`sin thh lptAng`],[`xJ`,`+- xI 0 dxJ 0`],[`yJ`,`+- yI 0 dyJ 0`],[`p1`,`+- xF 0 xC`],[`p2`,`+- yF 0 yC`],[`p3`,`mod p1 p2 0`],[`p4`,`*/ p3 1 2`],[`p5`,`+- p4 0 thh`],[`xGp`,`?: p5 xF xG`],[`yGp`,`?: p5 yF yG`],[`xBp`,`?: p5 xC xB`],[`yBp`,`?: p5 yC yB`],[`en0`,`at2 sdxF sdyF`],[`en1`,`+- en0 21600000 0`],[`en2`,`?: en0 en0 en1`],[`od0`,`+- en2 0 enAng`],[`od1`,`+- od0 21600000 0`],[`od2`,`?: od0 od0 od1`],[`st0`,`+- stAng 0 od2`],[`st1`,`+- st0 21600000 0`],[`st2`,`?: st0 st0 st1`],[`sw0`,`+- en2 0 st2`],[`sw1`,`+- sw0 21600000 0`],[`swAng`,`?: sw0 sw0 sw1`],[`ist0`,`at2 sdxC sdyC`],[`ist1`,`+- ist0 21600000 0`],[`istAng`,`?: ist0 ist0 ist1`],[`id0`,`+- istAng 0 enAng`],[`id1`,`+- id0 0 21600000`],[`id2`,`?: id0 id1 id0`],[`ien0`,`+- stAng 0 id2`],[`ien1`,`+- ien0 0 21600000`],[`ien2`,`?: ien1 ien1 ien0`],[`isw1`,`+- ien2 0 istAng`],[`isw2`,`+- isw1 0 21600000`],[`iswAng`,`?: isw1 isw2 isw1`],[`wtE`,`sin rw1 st2`],[`htE`,`cos rh1 st2`],[`dxE`,`cat2 rw1 htE wtE`],[`dyE`,`sat2 rh1 htE wtE`],[`xE`,`+- hc dxE 0`],[`yE`,`+- vc dyE 0`],[`wtD`,`sin rw2 ien2`],[`htD`,`cos rh2 ien2`],[`dxD`,`cat2 rw2 htD wtD`],[`dyD`,`sat2 rh2 htD wtD`],[`xD`,`+- hc dxD 0`],[`yD`,`+- vc dyD 0`],[`xKp`,`?: p5 xE xK`],[`yKp`,`?: p5 yE yK`],[`xJp`,`?: p5 xD xJ`],[`yJp`,`?: p5 yD yJ`],[`aL`,`+- lptAng 0 cd4`],[`aA`,`+- ptAng cd4 0`],[`aB`,`+- ptAng cd2 0`],[`aJ`,`+- lptAng cd2 0`],[`idx`,`cos rw1 2700000`],[`idy`,`sin rh1 2700000`],[`il`,`+- hc 0 idx`],[`ir`,`+- hc idx 0`],[`it`,`+- vc 0 idy`],[`ib`,`+- vc idy 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`xL`,`yL`],[`l`,`xKp`,`yKp`],[`l`,`xE`,`yE`],[`a`,`rw1`,`rh1`,`st2`,`swAng`],[`l`,`xGp`,`yGp`],[`l`,`xA`,`yA`],[`l`,`xBp`,`yBp`],[`l`,`xC`,`yC`],[`a`,`rw2`,`rh2`,`istAng`,`iswAng`],[`l`,`xJp`,`yJp`],[`c`]]}]},leftrightribbon:{adj:[[`adj1`,`val 50000`],[`adj2`,`val 50000`],[`adj3`,`val 16667`]],gd:[[`a3`,`pin 0 adj3 33333`],[`maxAdj1`,`+- 100000 0 a3`],[`a1`,`pin 0 adj1 maxAdj1`],[`w1`,`+- wd2 0 wd32`],[`maxAdj2`,`*/ 100000 w1 ss`],[`a2`,`pin 0 adj2 maxAdj2`],[`x1`,`*/ ss a2 100000`],[`x4`,`+- r 0 x1`],[`dy1`,`*/ h a1 200000`],[`dy2`,`*/ h a3 -200000`],[`ly1`,`+- vc dy2 dy1`],[`ry4`,`+- vc dy1 dy2`],[`ly2`,`+- ly1 dy1 0`],[`ry3`,`+- b 0 ly2`],[`ly4`,`*/ ly2 2 1`],[`ry1`,`+- b 0 ly4`],[`ly3`,`+- ly4 0 ly1`],[`ry2`,`+- b 0 ly3`],[`hR`,`*/ a3 ss 400000`],[`x2`,`+- hc 0 wd32`],[`x3`,`+- hc wd32 0`],[`y1`,`+- ly1 hR 0`],[`y2`,`+- ry2 0 hR`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`ly2`],[`l`,`x1`,`t`],[`l`,`x1`,`ly1`],[`l`,`hc`,`ly1`],[`a`,`wd32`,`hR`,`3cd4`,`cd2`],[`a`,`wd32`,`hR`,`3cd4`,`-10800000`],[`l`,`x4`,`ry2`],[`l`,`x4`,`ry1`],[`l`,`r`,`ry3`],[`l`,`x4`,`b`],[`l`,`x4`,`ry4`],[`l`,`hc`,`ry4`],[`a`,`wd32`,`hR`,`cd4`,`cd4`],[`l`,`x2`,`ly3`],[`l`,`x1`,`ly3`],[`l`,`x1`,`ly4`],[`c`]]},{w:null,h:null,fill:`darkenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`x3`,`y1`],[`a`,`wd32`,`hR`,`0`,`cd4`],[`a`,`wd32`,`hR`,`3cd4`,`-10800000`],[`l`,`x3`,`ry2`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`l`,`ly2`],[`l`,`x1`,`t`],[`l`,`x1`,`ly1`],[`l`,`hc`,`ly1`],[`a`,`wd32`,`hR`,`3cd4`,`cd2`],[`a`,`wd32`,`hR`,`3cd4`,`-10800000`],[`l`,`x4`,`ry2`],[`l`,`x4`,`ry1`],[`l`,`r`,`ry3`],[`l`,`x4`,`b`],[`l`,`x4`,`ry4`],[`l`,`hc`,`ry4`],[`a`,`wd32`,`hR`,`cd4`,`cd4`],[`l`,`x2`,`ly3`],[`l`,`x1`,`ly3`],[`l`,`x1`,`ly4`],[`c`],[`m`,`x3`,`y1`],[`l`,`x3`,`ry2`],[`m`,`x2`,`y2`],[`l`,`x2`,`ly3`]]}]},leftrightuparrow:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 25000`],[`adj3`,`val 25000`]],gd:[[`a2`,`pin 0 adj2 50000`],[`maxAdj1`,`*/ a2 2 1`],[`a1`,`pin 0 adj1 maxAdj1`],[`q1`,`+- 100000 0 maxAdj1`],[`maxAdj3`,`*/ q1 1 2`],[`a3`,`pin 0 adj3 maxAdj3`],[`x1`,`*/ ss a3 100000`],[`dx2`,`*/ ss a2 100000`],[`x2`,`+- hc 0 dx2`],[`x5`,`+- hc dx2 0`],[`dx3`,`*/ ss a1 200000`],[`x3`,`+- hc 0 dx3`],[`x4`,`+- hc dx3 0`],[`x6`,`+- r 0 x1`],[`dy2`,`*/ ss a2 50000`],[`y2`,`+- b 0 dy2`],[`y4`,`+- b 0 dx2`],[`y3`,`+- y4 0 dx3`],[`y5`,`+- y4 dx3 0`],[`il`,`*/ dx3 x1 dx2`],[`ir`,`+- r 0 il`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`y4`],[`l`,`x1`,`y2`],[`l`,`x1`,`y3`],[`l`,`x3`,`y3`],[`l`,`x3`,`x1`],[`l`,`x2`,`x1`],[`l`,`hc`,`t`],[`l`,`x5`,`x1`],[`l`,`x4`,`x1`],[`l`,`x4`,`y3`],[`l`,`x6`,`y3`],[`l`,`x6`,`y2`],[`l`,`r`,`y4`],[`l`,`x6`,`b`],[`l`,`x6`,`y5`],[`l`,`x1`,`y5`],[`l`,`x1`,`b`],[`c`]]}]},leftuparrow:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 25000`],[`adj3`,`val 25000`]],gd:[[`a2`,`pin 0 adj2 50000`],[`maxAdj1`,`*/ a2 2 1`],[`a1`,`pin 0 adj1 maxAdj1`],[`maxAdj3`,`+- 100000 0 maxAdj1`],[`a3`,`pin 0 adj3 maxAdj3`],[`x1`,`*/ ss a3 100000`],[`dx2`,`*/ ss a2 50000`],[`x2`,`+- r 0 dx2`],[`y2`,`+- b 0 dx2`],[`dx4`,`*/ ss a2 100000`],[`x4`,`+- r 0 dx4`],[`y4`,`+- b 0 dx4`],[`dx3`,`*/ ss a1 200000`],[`x3`,`+- x4 0 dx3`],[`x5`,`+- x4 dx3 0`],[`y3`,`+- y4 0 dx3`],[`y5`,`+- y4 dx3 0`],[`il`,`*/ dx3 x1 dx4`],[`cx1`,`+/ x1 x5 2`],[`cy1`,`+/ x1 y5 2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`y4`],[`l`,`x1`,`y2`],[`l`,`x1`,`y3`],[`l`,`x3`,`y3`],[`l`,`x3`,`x1`],[`l`,`x2`,`x1`],[`l`,`x4`,`t`],[`l`,`r`,`x1`],[`l`,`x5`,`x1`],[`l`,`x5`,`y5`],[`l`,`x1`,`y5`],[`l`,`x1`,`b`],[`c`]]}]},lightningbolt:{adj:[],gd:[[`x1`,`*/ w 5022 21600`],[`x3`,`*/ w 8472 21600`],[`x4`,`*/ w 8757 21600`],[`x5`,`*/ w 10012 21600`],[`x8`,`*/ w 12860 21600`],[`x9`,`*/ w 13917 21600`],[`x11`,`*/ w 16577 21600`],[`y1`,`*/ h 3890 21600`],[`y2`,`*/ h 6080 21600`],[`y4`,`*/ h 7437 21600`],[`y6`,`*/ h 9705 21600`],[`y7`,`*/ h 12007 21600`],[`y10`,`*/ h 14277 21600`],[`y11`,`*/ h 14915 21600`]],paths:[{w:21600,h:21600,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`8472`,`0`],[`l`,`12860`,`6080`],[`l`,`11050`,`6797`],[`l`,`16577`,`12007`],[`l`,`14767`,`12877`],[`l`,`21600`,`21600`],[`l`,`10012`,`14915`],[`l`,`12222`,`13987`],[`l`,`5022`,`9705`],[`l`,`7602`,`8382`],[`l`,`0`,`3890`],[`c`]]}]},line:{adj:[],gd:[],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`b`]]}]},lineinv:{adj:[],gd:[],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`b`],[`l`,`r`,`t`]]}]},mathdivide:{adj:[[`adj1`,`val 23520`],[`adj2`,`val 5880`],[`adj3`,`val 11760`]],gd:[[`a1`,`pin 1000 adj1 36745`],[`ma1`,`+- 0 0 a1`],[`ma3h`,`+/ 73490 ma1 4`],[`ma3w`,`*/ 36745 w h`],[`maxAdj3`,`min ma3h ma3w`],[`a3`,`pin 1000 adj3 maxAdj3`],[`m4a3`,`*/ -4 a3 1`],[`maxAdj2`,`+- 73490 m4a3 a1`],[`a2`,`pin 0 adj2 maxAdj2`],[`dy1`,`*/ h a1 200000`],[`yg`,`*/ h a2 100000`],[`rad`,`*/ h a3 100000`],[`dx1`,`*/ w 73490 200000`],[`y3`,`+- vc 0 dy1`],[`y4`,`+- vc dy1 0`],[`a`,`+- yg rad 0`],[`y2`,`+- y3 0 a`],[`y1`,`+- y2 0 rad`],[`y5`,`+- b 0 y1`],[`x1`,`+- hc 0 dx1`],[`x3`,`+- hc dx1 0`],[`x2`,`+- hc 0 rad`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`hc`,`y1`],[`a`,`rad`,`rad`,`3cd4`,`21600000`],[`c`],[`m`,`hc`,`y5`],[`a`,`rad`,`rad`,`cd4`,`21600000`],[`c`],[`m`,`x1`,`y3`],[`l`,`x3`,`y3`],[`l`,`x3`,`y4`],[`l`,`x1`,`y4`],[`c`]]}]},mathequal:{adj:[[`adj1`,`val 23520`],[`adj2`,`val 11760`]],gd:[[`a1`,`pin 0 adj1 36745`],[`2a1`,`*/ a1 2 1`],[`mAdj2`,`+- 100000 0 2a1`],[`a2`,`pin 0 adj2 mAdj2`],[`dy1`,`*/ h a1 100000`],[`dy2`,`*/ h a2 200000`],[`dx1`,`*/ w 73490 200000`],[`y2`,`+- vc 0 dy2`],[`y3`,`+- vc dy2 0`],[`y1`,`+- y2 0 dy1`],[`y4`,`+- y3 dy1 0`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc dx1 0`],[`yC1`,`+/ y1 y2 2`],[`yC2`,`+/ y3 y4 2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`y1`],[`l`,`x2`,`y1`],[`l`,`x2`,`y2`],[`l`,`x1`,`y2`],[`c`],[`m`,`x1`,`y3`],[`l`,`x2`,`y3`],[`l`,`x2`,`y4`],[`l`,`x1`,`y4`],[`c`]]}]},mathminus:{adj:[[`adj1`,`val 23520`]],gd:[[`a1`,`pin 0 adj1 100000`],[`dy1`,`*/ h a1 200000`],[`dx1`,`*/ w 73490 200000`],[`y1`,`+- vc 0 dy1`],[`y2`,`+- vc dy1 0`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc dx1 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`y1`],[`l`,`x2`,`y1`],[`l`,`x2`,`y2`],[`l`,`x1`,`y2`],[`c`]]}]},mathmultiply:{adj:[[`adj1`,`val 23520`]],gd:[[`a1`,`pin 0 adj1 51965`],[`th`,`*/ ss a1 100000`],[`a`,`at2 w h`],[`sa`,`sin 1 a`],[`ca`,`cos 1 a`],[`ta`,`tan 1 a`],[`dl`,`mod w h 0`],[`rw`,`*/ dl 51965 100000`],[`lM`,`+- dl 0 rw`],[`xM`,`*/ ca lM 2`],[`yM`,`*/ sa lM 2`],[`dxAM`,`*/ sa th 2`],[`dyAM`,`*/ ca th 2`],[`xA`,`+- xM 0 dxAM`],[`yA`,`+- yM dyAM 0`],[`xB`,`+- xM dxAM 0`],[`yB`,`+- yM 0 dyAM`],[`xBC`,`+- hc 0 xB`],[`yBC`,`*/ xBC ta 1`],[`yC`,`+- yBC yB 0`],[`xD`,`+- r 0 xB`],[`xE`,`+- r 0 xA`],[`yFE`,`+- vc 0 yA`],[`xFE`,`*/ yFE 1 ta`],[`xF`,`+- xE 0 xFE`],[`xL`,`+- xA xFE 0`],[`yG`,`+- b 0 yA`],[`yH`,`+- b 0 yB`],[`yI`,`+- b 0 yC`],[`xC2`,`+- r 0 xM`],[`yC3`,`+- b 0 yM`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`xA`,`yA`],[`l`,`xB`,`yB`],[`l`,`hc`,`yC`],[`l`,`xD`,`yB`],[`l`,`xE`,`yA`],[`l`,`xF`,`vc`],[`l`,`xE`,`yG`],[`l`,`xD`,`yH`],[`l`,`hc`,`yI`],[`l`,`xB`,`yH`],[`l`,`xA`,`yG`],[`l`,`xL`,`vc`],[`c`]]}]},mathnotequal:{adj:[[`adj1`,`val 23520`],[`adj2`,`val 6600000`],[`adj3`,`val 11760`]],gd:[[`a1`,`pin 0 adj1 50000`],[`crAng`,`pin 4200000 adj2 6600000`],[`2a1`,`*/ a1 2 1`],[`maxAdj3`,`+- 100000 0 2a1`],[`a3`,`pin 0 adj3 maxAdj3`],[`dy1`,`*/ h a1 100000`],[`dy2`,`*/ h a3 200000`],[`dx1`,`*/ w 73490 200000`],[`x1`,`+- hc 0 dx1`],[`x8`,`+- hc dx1 0`],[`y2`,`+- vc 0 dy2`],[`y3`,`+- vc dy2 0`],[`y1`,`+- y2 0 dy1`],[`y4`,`+- y3 dy1 0`],[`cadj2`,`+- crAng 0 cd4`],[`xadj2`,`tan hd2 cadj2`],[`len`,`mod xadj2 hd2 0`],[`bhw`,`*/ len dy1 hd2`],[`bhw2`,`*/ bhw 1 2`],[`x7`,`+- hc xadj2 bhw2`],[`dx67`,`*/ xadj2 y1 hd2`],[`x6`,`+- x7 0 dx67`],[`dx57`,`*/ xadj2 y2 hd2`],[`x5`,`+- x7 0 dx57`],[`dx47`,`*/ xadj2 y3 hd2`],[`x4`,`+- x7 0 dx47`],[`dx37`,`*/ xadj2 y4 hd2`],[`x3`,`+- x7 0 dx37`],[`dx27`,`*/ xadj2 2 1`],[`x2`,`+- x7 0 dx27`],[`rx7`,`+- x7 bhw 0`],[`rx6`,`+- x6 bhw 0`],[`rx5`,`+- x5 bhw 0`],[`rx4`,`+- x4 bhw 0`],[`rx3`,`+- x3 bhw 0`],[`rx2`,`+- x2 bhw 0`],[`dx7`,`*/ dy1 hd2 len`],[`rxt`,`+- x7 dx7 0`],[`lxt`,`+- rx7 0 dx7`],[`rx`,`?: cadj2 rxt rx7`],[`lx`,`?: cadj2 x7 lxt`],[`dy3`,`*/ dy1 xadj2 len`],[`dy4`,`+- 0 0 dy3`],[`ry`,`?: cadj2 dy3 t`],[`ly`,`?: cadj2 t dy4`],[`dlx`,`+- w 0 rx`],[`drx`,`+- w 0 lx`],[`dly`,`+- h 0 ry`],[`dry`,`+- h 0 ly`],[`xC1`,`+/ rx lx 2`],[`xC2`,`+/ drx dlx 2`],[`yC1`,`+/ ry ly 2`],[`yC2`,`+/ y1 y2 2`],[`yC3`,`+/ y3 y4 2`],[`yC4`,`+/ dry dly 2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`y1`],[`l`,`x6`,`y1`],[`l`,`lx`,`ly`],[`l`,`rx`,`ry`],[`l`,`rx6`,`y1`],[`l`,`x8`,`y1`],[`l`,`x8`,`y2`],[`l`,`rx5`,`y2`],[`l`,`rx4`,`y3`],[`l`,`x8`,`y3`],[`l`,`x8`,`y4`],[`l`,`rx3`,`y4`],[`l`,`drx`,`dry`],[`l`,`dlx`,`dly`],[`l`,`x3`,`y4`],[`l`,`x1`,`y4`],[`l`,`x1`,`y3`],[`l`,`x4`,`y3`],[`l`,`x5`,`y2`],[`l`,`x1`,`y2`],[`c`]]}]},mathplus:{adj:[[`adj1`,`val 23520`]],gd:[[`a1`,`pin 0 adj1 73490`],[`dx1`,`*/ w 73490 200000`],[`dy1`,`*/ h 73490 200000`],[`dx2`,`*/ ss a1 200000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc 0 dx2`],[`x3`,`+- hc dx2 0`],[`x4`,`+- hc dx1 0`],[`y1`,`+- vc 0 dy1`],[`y2`,`+- vc 0 dx2`],[`y3`,`+- vc dx2 0`],[`y4`,`+- vc dy1 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`y2`],[`l`,`x2`,`y2`],[`l`,`x2`,`y1`],[`l`,`x3`,`y1`],[`l`,`x3`,`y2`],[`l`,`x4`,`y2`],[`l`,`x4`,`y3`],[`l`,`x3`,`y3`],[`l`,`x3`,`y4`],[`l`,`x2`,`y4`],[`l`,`x2`,`y3`],[`l`,`x1`,`y3`],[`c`]]}]},moon:{adj:[[`adj`,`val 50000`]],gd:[[`a`,`pin 0 adj 87500`],[`g0`,`*/ ss a 100000`],[`g0w`,`*/ g0 w ss`],[`g1`,`+- ss 0 g0`],[`g2`,`*/ g0 g0 g1`],[`g3`,`*/ ss ss g1`],[`g4`,`*/ g3 2 1`],[`g5`,`+- g4 0 g2`],[`g6`,`+- g5 0 g0`],[`g6w`,`*/ g6 w ss`],[`g7`,`*/ g5 1 2`],[`g8`,`+- g7 0 g0`],[`dy1`,`*/ g8 hd2 ss`],[`g10h`,`+- vc 0 dy1`],[`g11h`,`+- vc dy1 0`],[`g12`,`*/ g0 9598 32768`],[`g12w`,`*/ g12 w ss`],[`g13`,`+- ss 0 g12`],[`q1`,`*/ ss ss 1`],[`q2`,`*/ g13 g13 1`],[`q3`,`+- q1 0 q2`],[`q4`,`sqrt q3`],[`dy4`,`*/ q4 hd2 ss`],[`g15h`,`+- vc 0 dy4`],[`g16h`,`+- vc dy4 0`],[`g17w`,`+- g6w 0 g0w`],[`g18w`,`*/ g17w 1 2`],[`dx2p`,`+- g0w g18w w`],[`dx2`,`*/ dx2p -1 1`],[`dy2`,`*/ hd2 -1 1`],[`stAng1`,`at2 dx2 dy2`],[`enAngp1`,`at2 dx2 hd2`],[`enAng1`,`+- enAngp1 0 21600000`],[`swAng1`,`+- enAng1 0 stAng1`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`r`,`b`],[`a`,`w`,`hd2`,`cd4`,`cd2`],[`a`,`g18w`,`dy1`,`stAng1`,`swAng1`],[`c`]]}]},nonisoscelestrapezoid:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 25000`]],gd:[[`maxAdj`,`*/ 50000 w ss`],[`a1`,`pin 0 adj1 maxAdj`],[`a2`,`pin 0 adj2 maxAdj`],[`x1`,`*/ ss a1 200000`],[`x2`,`*/ ss a1 100000`],[`dx3`,`*/ ss a2 100000`],[`x3`,`+- r 0 dx3`],[`x4`,`+/ r x3 2`],[`il`,`*/ wd3 a1 maxAdj`],[`adjm`,`max a1 a2`],[`it`,`*/ hd3 adjm maxAdj`],[`irt`,`*/ wd3 a2 maxAdj`],[`ir`,`+- r 0 irt`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`b`],[`l`,`x2`,`t`],[`l`,`x3`,`t`],[`l`,`r`,`b`],[`c`]]}]},nosmoking:{adj:[[`adj`,`val 18750`]],gd:[[`a`,`pin 0 adj 50000`],[`dr`,`*/ ss a 100000`],[`iwd2`,`+- wd2 0 dr`],[`ihd2`,`+- hd2 0 dr`],[`ang`,`at2 w h`],[`ct`,`cos ihd2 ang`],[`st`,`sin iwd2 ang`],[`m`,`mod ct st 0`],[`n`,`*/ iwd2 ihd2 m`],[`drd2`,`*/ dr 1 2`],[`dang`,`at2 n drd2`],[`dang2`,`*/ dang 2 1`],[`swAng`,`+- -10800000 dang2 0`],[`t3`,`at2 w h`],[`stAng1`,`+- t3 0 dang`],[`stAng2`,`+- stAng1 0 cd2`],[`ct1`,`cos ihd2 stAng1`],[`st1`,`sin iwd2 stAng1`],[`m1`,`mod ct1 st1 0`],[`n1`,`*/ iwd2 ihd2 m1`],[`dx1`,`cos n1 stAng1`],[`dy1`,`sin n1 stAng1`],[`x1`,`+- hc dx1 0`],[`y1`,`+- vc dy1 0`],[`x2`,`+- hc 0 dx1`],[`y2`,`+- vc 0 dy1`],[`idx`,`cos wd2 2700000`],[`idy`,`sin hd2 2700000`],[`il`,`+- hc 0 idx`],[`ir`,`+- hc idx 0`],[`it`,`+- vc 0 idy`],[`ib`,`+- vc idy 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`a`,`wd2`,`hd2`,`cd2`,`cd4`],[`a`,`wd2`,`hd2`,`3cd4`,`cd4`],[`a`,`wd2`,`hd2`,`0`,`cd4`],[`a`,`wd2`,`hd2`,`cd4`,`cd4`],[`c`],[`m`,`x1`,`y1`],[`a`,`iwd2`,`ihd2`,`stAng1`,`swAng`],[`c`],[`m`,`x2`,`y2`],[`a`,`iwd2`,`ihd2`,`stAng2`,`swAng`],[`c`]]}]},notchedrightarrow:{adj:[[`adj1`,`val 50000`],[`adj2`,`val 50000`]],gd:[[`maxAdj2`,`*/ 100000 w ss`],[`a1`,`pin 0 adj1 100000`],[`a2`,`pin 0 adj2 maxAdj2`],[`dx2`,`*/ ss a2 100000`],[`x2`,`+- r 0 dx2`],[`dy1`,`*/ h a1 200000`],[`y1`,`+- vc 0 dy1`],[`y2`,`+- vc dy1 0`],[`x1`,`*/ dy1 dx2 hd2`],[`x3`,`+- r 0 x1`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`y1`],[`l`,`x2`,`y1`],[`l`,`x2`,`t`],[`l`,`r`,`vc`],[`l`,`x2`,`b`],[`l`,`x2`,`y2`],[`l`,`l`,`y2`],[`l`,`x1`,`vc`],[`c`]]}]},octagon:{adj:[[`adj`,`val 29289`]],gd:[[`a`,`pin 0 adj 50000`],[`x1`,`*/ ss a 100000`],[`x2`,`+- r 0 x1`],[`y2`,`+- b 0 x1`],[`il`,`*/ x1 1 2`],[`ir`,`+- r 0 il`],[`ib`,`+- b 0 il`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`x1`],[`l`,`x1`,`t`],[`l`,`x2`,`t`],[`l`,`r`,`x1`],[`l`,`r`,`y2`],[`l`,`x2`,`b`],[`l`,`x1`,`b`],[`l`,`l`,`y2`],[`c`]]}]},parallelogram:{adj:[[`adj`,`val 25000`]],gd:[[`maxAdj`,`*/ 100000 w ss`],[`a`,`pin 0 adj maxAdj`],[`x1`,`*/ ss a 200000`],[`x2`,`*/ ss a 100000`],[`x6`,`+- r 0 x1`],[`x5`,`+- r 0 x2`],[`x3`,`*/ x5 1 2`],[`x4`,`+- r 0 x3`],[`il`,`*/ wd2 a maxAdj`],[`q1`,`*/ 5 a maxAdj`],[`q2`,`+/ 1 q1 12`],[`il`,`*/ q2 w 1`],[`it`,`*/ q2 h 1`],[`ir`,`+- r 0 il`],[`ib`,`+- b 0 it`],[`q3`,`*/ h hc x2`],[`y1`,`pin 0 q3 h`],[`y2`,`+- b 0 y1`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`b`],[`l`,`x2`,`t`],[`l`,`r`,`t`],[`l`,`x5`,`b`],[`c`]]}]},pentagon:{adj:[[`hf`,`val 105146`],[`vf`,`val 110557`]],gd:[[`swd2`,`*/ wd2 hf 100000`],[`shd2`,`*/ hd2 vf 100000`],[`svc`,`*/ vc vf 100000`],[`dx1`,`cos swd2 1080000`],[`dx2`,`cos swd2 18360000`],[`dy1`,`sin shd2 1080000`],[`dy2`,`sin shd2 18360000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc 0 dx2`],[`x3`,`+- hc dx2 0`],[`x4`,`+- hc dx1 0`],[`y1`,`+- svc 0 dy1`],[`y2`,`+- svc 0 dy2`],[`it`,`*/ y1 dx2 dx1`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`y1`],[`l`,`hc`,`t`],[`l`,`x4`,`y1`],[`l`,`x3`,`y2`],[`l`,`x2`,`y2`],[`c`]]}]},pie:{adj:[[`adj1`,`val 0`],[`adj2`,`val 16200000`]],gd:[[`stAng`,`pin 0 adj1 21599999`],[`enAng`,`pin 0 adj2 21599999`],[`sw1`,`+- enAng 0 stAng`],[`sw2`,`+- sw1 21600000 0`],[`swAng`,`?: sw1 sw1 sw2`],[`wt1`,`sin wd2 stAng`],[`ht1`,`cos hd2 stAng`],[`dx1`,`cat2 wd2 ht1 wt1`],[`dy1`,`sat2 hd2 ht1 wt1`],[`x1`,`+- hc dx1 0`],[`y1`,`+- vc dy1 0`],[`wt2`,`sin wd2 enAng`],[`ht2`,`cos hd2 enAng`],[`dx2`,`cat2 wd2 ht2 wt2`],[`dy2`,`sat2 hd2 ht2 wt2`],[`x2`,`+- hc dx2 0`],[`y2`,`+- vc dy2 0`],[`idx`,`cos wd2 2700000`],[`idy`,`sin hd2 2700000`],[`il`,`+- hc 0 idx`],[`ir`,`+- hc idx 0`],[`it`,`+- vc 0 idy`],[`ib`,`+- vc idy 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`y1`],[`a`,`wd2`,`hd2`,`stAng`,`swAng`],[`l`,`hc`,`vc`],[`c`]]}]},piewedge:{adj:[],gd:[[`g1`,`cos w 13500000`],[`g2`,`sin h 13500000`],[`x1`,`+- r g1 0`],[`y1`,`+- b g2 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`b`],[`a`,`w`,`h`,`cd2`,`cd4`],[`l`,`r`,`b`],[`c`]]}]},plaque:{adj:[[`adj`,`val 16667`]],gd:[[`a`,`pin 0 adj 50000`],[`x1`,`*/ ss a 100000`],[`x2`,`+- r 0 x1`],[`y2`,`+- b 0 x1`],[`il`,`*/ x1 70711 100000`],[`ir`,`+- r 0 il`],[`ib`,`+- b 0 il`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`x1`],[`a`,`x1`,`x1`,`cd4`,`-5400000`],[`l`,`x2`,`t`],[`a`,`x1`,`x1`,`cd2`,`-5400000`],[`l`,`r`,`y2`],[`a`,`x1`,`x1`,`3cd4`,`-5400000`],[`l`,`x1`,`b`],[`a`,`x1`,`x1`,`0`,`-5400000`],[`c`]]}]},plaquetabs:{adj:[],gd:[[`md`,`mod w h 0`],[`dx`,`*/ 1 md 20`],[`y1`,`+- 0 b dx`],[`x1`,`+- 0 r dx`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`dx`,`t`],[`a`,`dx`,`dx`,`0`,`cd4`],[`c`]]},{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`y1`],[`a`,`dx`,`dx`,`3cd4`,`cd4`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`r`,`t`],[`l`,`r`,`dx`],[`a`,`dx`,`dx`,`cd4`,`cd4`],[`c`]]},{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`b`],[`a`,`dx`,`dx`,`cd2`,`cd4`],[`l`,`r`,`b`],[`c`]]}]},plus:{adj:[[`adj`,`val 25000`]],gd:[[`a`,`pin 0 adj 50000`],[`x1`,`*/ ss a 100000`],[`x2`,`+- r 0 x1`],[`y2`,`+- b 0 x1`],[`d`,`+- w 0 h`],[`il`,`?: d l x1`],[`ir`,`?: d r x2`],[`it`,`?: d x1 t`],[`ib`,`?: d y2 b`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`x1`],[`l`,`x1`,`x1`],[`l`,`x1`,`t`],[`l`,`x2`,`t`],[`l`,`x2`,`x1`],[`l`,`r`,`x1`],[`l`,`r`,`y2`],[`l`,`x2`,`y2`],[`l`,`x2`,`b`],[`l`,`x1`,`b`],[`l`,`x1`,`y2`],[`l`,`l`,`y2`],[`c`]]}]},quadarrow:{adj:[[`adj1`,`val 22500`],[`adj2`,`val 22500`],[`adj3`,`val 22500`]],gd:[[`a2`,`pin 0 adj2 50000`],[`maxAdj1`,`*/ a2 2 1`],[`a1`,`pin 0 adj1 maxAdj1`],[`q1`,`+- 100000 0 maxAdj1`],[`maxAdj3`,`*/ q1 1 2`],[`a3`,`pin 0 adj3 maxAdj3`],[`x1`,`*/ ss a3 100000`],[`dx2`,`*/ ss a2 100000`],[`x2`,`+- hc 0 dx2`],[`x5`,`+- hc dx2 0`],[`dx3`,`*/ ss a1 200000`],[`x3`,`+- hc 0 dx3`],[`x4`,`+- hc dx3 0`],[`x6`,`+- r 0 x1`],[`y2`,`+- vc 0 dx2`],[`y5`,`+- vc dx2 0`],[`y3`,`+- vc 0 dx3`],[`y4`,`+- vc dx3 0`],[`y6`,`+- b 0 x1`],[`il`,`*/ dx3 x1 dx2`],[`ir`,`+- r 0 il`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`l`,`x1`,`y2`],[`l`,`x1`,`y3`],[`l`,`x3`,`y3`],[`l`,`x3`,`x1`],[`l`,`x2`,`x1`],[`l`,`hc`,`t`],[`l`,`x5`,`x1`],[`l`,`x4`,`x1`],[`l`,`x4`,`y3`],[`l`,`x6`,`y3`],[`l`,`x6`,`y2`],[`l`,`r`,`vc`],[`l`,`x6`,`y5`],[`l`,`x6`,`y4`],[`l`,`x4`,`y4`],[`l`,`x4`,`y6`],[`l`,`x5`,`y6`],[`l`,`hc`,`b`],[`l`,`x2`,`y6`],[`l`,`x3`,`y6`],[`l`,`x3`,`y4`],[`l`,`x1`,`y4`],[`l`,`x1`,`y5`],[`c`]]}]},quadarrowcallout:{adj:[[`adj1`,`val 18515`],[`adj2`,`val 18515`],[`adj3`,`val 18515`],[`adj4`,`val 48123`]],gd:[[`a2`,`pin 0 adj2 50000`],[`maxAdj1`,`*/ a2 2 1`],[`a1`,`pin 0 adj1 maxAdj1`],[`maxAdj3`,`+- 50000 0 a2`],[`a3`,`pin 0 adj3 maxAdj3`],[`q2`,`*/ a3 2 1`],[`maxAdj4`,`+- 100000 0 q2`],[`a4`,`pin a1 adj4 maxAdj4`],[`dx2`,`*/ ss a2 100000`],[`dx3`,`*/ ss a1 200000`],[`ah`,`*/ ss a3 100000`],[`dx1`,`*/ w a4 200000`],[`dy1`,`*/ h a4 200000`],[`x8`,`+- r 0 ah`],[`x2`,`+- hc 0 dx1`],[`x7`,`+- hc dx1 0`],[`x3`,`+- hc 0 dx2`],[`x6`,`+- hc dx2 0`],[`x4`,`+- hc 0 dx3`],[`x5`,`+- hc dx3 0`],[`y8`,`+- b 0 ah`],[`y2`,`+- vc 0 dy1`],[`y7`,`+- vc dy1 0`],[`y3`,`+- vc 0 dx2`],[`y6`,`+- vc dx2 0`],[`y4`,`+- vc 0 dx3`],[`y5`,`+- vc dx3 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`l`,`ah`,`y3`],[`l`,`ah`,`y4`],[`l`,`x2`,`y4`],[`l`,`x2`,`y2`],[`l`,`x4`,`y2`],[`l`,`x4`,`ah`],[`l`,`x3`,`ah`],[`l`,`hc`,`t`],[`l`,`x6`,`ah`],[`l`,`x5`,`ah`],[`l`,`x5`,`y2`],[`l`,`x7`,`y2`],[`l`,`x7`,`y4`],[`l`,`x8`,`y4`],[`l`,`x8`,`y3`],[`l`,`r`,`vc`],[`l`,`x8`,`y6`],[`l`,`x8`,`y5`],[`l`,`x7`,`y5`],[`l`,`x7`,`y7`],[`l`,`x5`,`y7`],[`l`,`x5`,`y8`],[`l`,`x6`,`y8`],[`l`,`hc`,`b`],[`l`,`x3`,`y8`],[`l`,`x4`,`y8`],[`l`,`x4`,`y7`],[`l`,`x2`,`y7`],[`l`,`x2`,`y5`],[`l`,`ah`,`y5`],[`l`,`ah`,`y6`],[`c`]]}]},ribbon:{adj:[[`adj1`,`val 16667`],[`adj2`,`val 50000`]],gd:[[`a1`,`pin 0 adj1 33333`],[`a2`,`pin 25000 adj2 75000`],[`x10`,`+- r 0 wd8`],[`dx2`,`*/ w a2 200000`],[`x2`,`+- hc 0 dx2`],[`x9`,`+- hc dx2 0`],[`x3`,`+- x2 wd32 0`],[`x8`,`+- x9 0 wd32`],[`x5`,`+- x2 wd8 0`],[`x6`,`+- x9 0 wd8`],[`x4`,`+- x5 0 wd32`],[`x7`,`+- x6 wd32 0`],[`y1`,`*/ h a1 200000`],[`y2`,`*/ h a1 100000`],[`y4`,`+- b 0 y2`],[`y3`,`*/ y4 1 2`],[`hR`,`*/ h a1 400000`],[`y5`,`+- b 0 hR`],[`y6`,`+- y2 0 hR`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`x4`,`t`],[`a`,`wd32`,`hR`,`3cd4`,`cd2`],[`l`,`x3`,`y1`],[`a`,`wd32`,`hR`,`3cd4`,`-10800000`],[`l`,`x8`,`y2`],[`a`,`wd32`,`hR`,`cd4`,`-10800000`],[`l`,`x7`,`y1`],[`a`,`wd32`,`hR`,`cd4`,`cd2`],[`l`,`r`,`t`],[`l`,`x10`,`y3`],[`l`,`r`,`y4`],[`l`,`x9`,`y4`],[`l`,`x9`,`y5`],[`a`,`wd32`,`hR`,`0`,`cd4`],[`l`,`x3`,`b`],[`a`,`wd32`,`hR`,`cd4`,`cd4`],[`l`,`x2`,`y4`],[`l`,`l`,`y4`],[`l`,`wd8`,`y3`],[`c`]]},{w:null,h:null,fill:`darkenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`x5`,`hR`],[`a`,`wd32`,`hR`,`0`,`cd4`],[`l`,`x3`,`y1`],[`a`,`wd32`,`hR`,`3cd4`,`-10800000`],[`l`,`x5`,`y2`],[`c`],[`m`,`x6`,`hR`],[`a`,`wd32`,`hR`,`cd2`,`-5400000`],[`l`,`x8`,`y1`],[`a`,`wd32`,`hR`,`3cd4`,`cd2`],[`l`,`x6`,`y2`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`x4`,`t`],[`a`,`wd32`,`hR`,`3cd4`,`cd2`],[`l`,`x3`,`y1`],[`a`,`wd32`,`hR`,`3cd4`,`-10800000`],[`l`,`x8`,`y2`],[`a`,`wd32`,`hR`,`cd4`,`-10800000`],[`l`,`x7`,`y1`],[`a`,`wd32`,`hR`,`cd4`,`cd2`],[`l`,`r`,`t`],[`l`,`x10`,`y3`],[`l`,`r`,`y4`],[`l`,`x9`,`y4`],[`l`,`x9`,`y5`],[`a`,`wd32`,`hR`,`0`,`cd4`],[`l`,`x3`,`b`],[`a`,`wd32`,`hR`,`cd4`,`cd4`],[`l`,`x2`,`y4`],[`l`,`l`,`y4`],[`l`,`wd8`,`y3`],[`c`],[`m`,`x5`,`hR`],[`l`,`x5`,`y2`],[`m`,`x6`,`y2`],[`l`,`x6`,`hR`],[`m`,`x2`,`y4`],[`l`,`x2`,`y6`],[`m`,`x9`,`y6`],[`l`,`x9`,`y4`]]}]},ribbon2:{adj:[[`adj1`,`val 16667`],[`adj2`,`val 50000`]],gd:[[`a1`,`pin 0 adj1 33333`],[`a2`,`pin 25000 adj2 75000`],[`x10`,`+- r 0 wd8`],[`dx2`,`*/ w a2 200000`],[`x2`,`+- hc 0 dx2`],[`x9`,`+- hc dx2 0`],[`x3`,`+- x2 wd32 0`],[`x8`,`+- x9 0 wd32`],[`x5`,`+- x2 wd8 0`],[`x6`,`+- x9 0 wd8`],[`x4`,`+- x5 0 wd32`],[`x7`,`+- x6 wd32 0`],[`dy1`,`*/ h a1 200000`],[`y1`,`+- b 0 dy1`],[`dy2`,`*/ h a1 100000`],[`y2`,`+- b 0 dy2`],[`y4`,`+- t dy2 0`],[`y3`,`+/ y4 b 2`],[`hR`,`*/ h a1 400000`],[`y6`,`+- b 0 hR`],[`y7`,`+- y1 0 hR`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`b`],[`l`,`x4`,`b`],[`a`,`wd32`,`hR`,`cd4`,`-10800000`],[`l`,`x3`,`y1`],[`a`,`wd32`,`hR`,`cd4`,`cd2`],[`l`,`x8`,`y2`],[`a`,`wd32`,`hR`,`3cd4`,`cd2`],[`l`,`x7`,`y1`],[`a`,`wd32`,`hR`,`3cd4`,`-10800000`],[`l`,`r`,`b`],[`l`,`x10`,`y3`],[`l`,`r`,`y4`],[`l`,`x9`,`y4`],[`l`,`x9`,`hR`],[`a`,`wd32`,`hR`,`0`,`-5400000`],[`l`,`x3`,`t`],[`a`,`wd32`,`hR`,`3cd4`,`-5400000`],[`l`,`x2`,`y4`],[`l`,`l`,`y4`],[`l`,`wd8`,`y3`],[`c`]]},{w:null,h:null,fill:`darkenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`x5`,`y6`],[`a`,`wd32`,`hR`,`0`,`-5400000`],[`l`,`x3`,`y1`],[`a`,`wd32`,`hR`,`cd4`,`cd2`],[`l`,`x5`,`y2`],[`c`],[`m`,`x6`,`y6`],[`a`,`wd32`,`hR`,`cd2`,`cd4`],[`l`,`x8`,`y1`],[`a`,`wd32`,`hR`,`cd4`,`-10800000`],[`l`,`x6`,`y2`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`l`,`b`],[`l`,`wd8`,`y3`],[`l`,`l`,`y4`],[`l`,`x2`,`y4`],[`l`,`x2`,`hR`],[`a`,`wd32`,`hR`,`cd2`,`cd4`],[`l`,`x8`,`t`],[`a`,`wd32`,`hR`,`3cd4`,`cd4`],[`l`,`x9`,`y4`],[`l`,`x9`,`y4`],[`l`,`r`,`y4`],[`l`,`x10`,`y3`],[`l`,`r`,`b`],[`l`,`x7`,`b`],[`a`,`wd32`,`hR`,`cd4`,`cd2`],[`l`,`x8`,`y1`],[`a`,`wd32`,`hR`,`cd4`,`-10800000`],[`l`,`x3`,`y2`],[`a`,`wd32`,`hR`,`3cd4`,`-10800000`],[`l`,`x4`,`y1`],[`a`,`wd32`,`hR`,`3cd4`,`cd2`],[`c`],[`m`,`x5`,`y2`],[`l`,`x5`,`y6`],[`m`,`x6`,`y6`],[`l`,`x6`,`y2`],[`m`,`x2`,`y7`],[`l`,`x2`,`y4`],[`m`,`x9`,`y4`],[`l`,`x9`,`y7`]]}]},rightarrow:{adj:[[`adj1`,`val 50000`],[`adj2`,`val 50000`]],gd:[[`maxAdj2`,`*/ 100000 w ss`],[`a1`,`pin 0 adj1 100000`],[`a2`,`pin 0 adj2 maxAdj2`],[`dx1`,`*/ ss a2 100000`],[`x1`,`+- r 0 dx1`],[`dy1`,`*/ h a1 200000`],[`y1`,`+- vc 0 dy1`],[`y2`,`+- vc dy1 0`],[`dx2`,`*/ y1 dx1 hd2`],[`x2`,`+- x1 dx2 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`y1`],[`l`,`x1`,`y1`],[`l`,`x1`,`t`],[`l`,`r`,`vc`],[`l`,`x1`,`b`],[`l`,`x1`,`y2`],[`l`,`l`,`y2`],[`c`]]}]},rightarrowcallout:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 25000`],[`adj3`,`val 25000`],[`adj4`,`val 64977`]],gd:[[`maxAdj2`,`*/ 50000 h ss`],[`a2`,`pin 0 adj2 maxAdj2`],[`maxAdj1`,`*/ a2 2 1`],[`a1`,`pin 0 adj1 maxAdj1`],[`maxAdj3`,`*/ 100000 w ss`],[`a3`,`pin 0 adj3 maxAdj3`],[`q2`,`*/ a3 ss w`],[`maxAdj4`,`+- 100000 0 q2`],[`a4`,`pin 0 adj4 maxAdj4`],[`dy1`,`*/ ss a2 100000`],[`dy2`,`*/ ss a1 200000`],[`y1`,`+- vc 0 dy1`],[`y2`,`+- vc 0 dy2`],[`y3`,`+- vc dy2 0`],[`y4`,`+- vc dy1 0`],[`dx3`,`*/ ss a3 100000`],[`x3`,`+- r 0 dx3`],[`x2`,`*/ w a4 100000`],[`x1`,`*/ x2 1 2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`x2`,`t`],[`l`,`x2`,`y2`],[`l`,`x3`,`y2`],[`l`,`x3`,`y1`],[`l`,`r`,`vc`],[`l`,`x3`,`y4`],[`l`,`x3`,`y3`],[`l`,`x2`,`y3`],[`l`,`x2`,`b`],[`l`,`l`,`b`],[`c`]]}]},rightbrace:{adj:[[`adj1`,`val 8333`],[`adj2`,`val 50000`]],gd:[[`a2`,`pin 0 adj2 100000`],[`q1`,`+- 100000 0 a2`],[`q2`,`min q1 a2`],[`q3`,`*/ q2 1 2`],[`maxAdj1`,`*/ q3 h ss`],[`a1`,`pin 0 adj1 maxAdj1`],[`y1`,`*/ ss a1 100000`],[`y3`,`*/ h a2 100000`],[`y2`,`+- y3 0 y1`],[`y4`,`+- b 0 y1`],[`dx1`,`cos wd2 2700000`],[`dy1`,`sin y1 2700000`],[`ir`,`+- l dx1 0`],[`it`,`+- y1 0 dy1`],[`ib`,`+- b dy1 y1`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`a`,`wd2`,`y1`,`3cd4`,`cd4`],[`l`,`hc`,`y2`],[`a`,`wd2`,`y1`,`cd2`,`-5400000`],[`a`,`wd2`,`y1`,`3cd4`,`-5400000`],[`l`,`hc`,`y4`],[`a`,`wd2`,`y1`,`0`,`cd4`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`a`,`wd2`,`y1`,`3cd4`,`cd4`],[`l`,`hc`,`y2`],[`a`,`wd2`,`y1`,`cd2`,`-5400000`],[`a`,`wd2`,`y1`,`3cd4`,`-5400000`],[`l`,`hc`,`y4`],[`a`,`wd2`,`y1`,`0`,`cd4`]]}]},rightbracket:{adj:[[`adj`,`val 8333`]],gd:[[`maxAdj`,`*/ 50000 h ss`],[`a`,`pin 0 adj maxAdj`],[`y1`,`*/ ss a 100000`],[`y2`,`+- b 0 y1`],[`dx1`,`cos w 2700000`],[`dy1`,`sin y1 2700000`],[`ir`,`+- l dx1 0`],[`it`,`+- y1 0 dy1`],[`ib`,`+- b dy1 y1`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`a`,`w`,`y1`,`3cd4`,`cd4`],[`l`,`r`,`y2`],[`a`,`w`,`y1`,`0`,`cd4`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`a`,`w`,`y1`,`3cd4`,`cd4`],[`l`,`r`,`y2`],[`a`,`w`,`y1`,`0`,`cd4`]]}]},round1rect:{adj:[[`adj`,`val 16667`]],gd:[[`a`,`pin 0 adj 50000`],[`dx1`,`*/ ss a 100000`],[`x1`,`+- r 0 dx1`],[`idx`,`*/ dx1 29289 100000`],[`ir`,`+- r 0 idx`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`x1`,`t`],[`a`,`dx1`,`dx1`,`3cd4`,`cd4`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]}]},round2diagrect:{adj:[[`adj1`,`val 16667`],[`adj2`,`val 0`]],gd:[[`a1`,`pin 0 adj1 50000`],[`a2`,`pin 0 adj2 50000`],[`x1`,`*/ ss a1 100000`],[`y1`,`+- b 0 x1`],[`a`,`*/ ss a2 100000`],[`x2`,`+- r 0 a`],[`y2`,`+- b 0 a`],[`dx1`,`*/ x1 29289 100000`],[`dx2`,`*/ a 29289 100000`],[`d`,`+- dx1 0 dx2`],[`dx`,`?: d dx1 dx2`],[`ir`,`+- r 0 dx`],[`ib`,`+- b 0 dx`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`t`],[`l`,`x2`,`t`],[`a`,`a`,`a`,`3cd4`,`cd4`],[`l`,`r`,`y1`],[`a`,`x1`,`x1`,`0`,`cd4`],[`l`,`a`,`b`],[`a`,`a`,`a`,`cd4`,`cd4`],[`l`,`l`,`x1`],[`a`,`x1`,`x1`,`cd2`,`cd4`],[`c`]]}]},round2samerect:{adj:[[`adj1`,`val 16667`],[`adj2`,`val 0`]],gd:[[`a1`,`pin 0 adj1 50000`],[`a2`,`pin 0 adj2 50000`],[`tx1`,`*/ ss a1 100000`],[`tx2`,`+- r 0 tx1`],[`bx1`,`*/ ss a2 100000`],[`bx2`,`+- r 0 bx1`],[`by1`,`+- b 0 bx1`],[`d`,`+- tx1 0 bx1`],[`tdx`,`*/ tx1 29289 100000`],[`bdx`,`*/ bx1 29289 100000`],[`il`,`?: d tdx bdx`],[`ir`,`+- r 0 il`],[`ib`,`+- b 0 bdx`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`tx1`,`t`],[`l`,`tx2`,`t`],[`a`,`tx1`,`tx1`,`3cd4`,`cd4`],[`l`,`r`,`by1`],[`a`,`bx1`,`bx1`,`0`,`cd4`],[`l`,`bx1`,`b`],[`a`,`bx1`,`bx1`,`cd4`,`cd4`],[`l`,`l`,`tx1`],[`a`,`tx1`,`tx1`,`cd2`,`cd4`],[`c`]]}]},roundrect:{adj:[[`adj`,`val 16667`]],gd:[[`a`,`pin 0 adj 50000`],[`x1`,`*/ ss a 100000`],[`x2`,`+- r 0 x1`],[`y2`,`+- b 0 x1`],[`il`,`*/ x1 29289 100000`],[`ir`,`+- r 0 il`],[`ib`,`+- b 0 il`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`x1`],[`a`,`x1`,`x1`,`cd2`,`cd4`],[`l`,`x2`,`t`],[`a`,`x1`,`x1`,`3cd4`,`cd4`],[`l`,`r`,`y2`],[`a`,`x1`,`x1`,`0`,`cd4`],[`l`,`x1`,`b`],[`a`,`x1`,`x1`,`cd4`,`cd4`],[`c`]]}]},rttriangle:{adj:[],gd:[[`it`,`*/ h 7 12`],[`ir`,`*/ w 7 12`],[`ib`,`*/ h 11 12`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`b`],[`l`,`l`,`t`],[`l`,`r`,`b`],[`c`]]}]},smileyface:{adj:[[`adj`,`val 4653`]],gd:[[`a`,`pin -4653 adj 4653`],[`x1`,`*/ w 4969 21699`],[`x2`,`*/ w 6215 21600`],[`x3`,`*/ w 13135 21600`],[`x4`,`*/ w 16640 21600`],[`y1`,`*/ h 7570 21600`],[`y3`,`*/ h 16515 21600`],[`dy2`,`*/ h a 100000`],[`y2`,`+- y3 0 dy2`],[`y4`,`+- y3 dy2 0`],[`dy3`,`*/ h a 50000`],[`y5`,`+- y4 dy3 0`],[`idx`,`cos wd2 2700000`],[`idy`,`sin hd2 2700000`],[`il`,`+- hc 0 idx`],[`ir`,`+- hc idx 0`],[`it`,`+- vc 0 idy`],[`ib`,`+- vc idy 0`],[`wR`,`*/ w 1125 21600`],[`hR`,`*/ h 1125 21600`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`l`,`vc`],[`a`,`wd2`,`hd2`,`cd2`,`21600000`],[`c`]]},{w:null,h:null,fill:`darkenLess`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x2`,`y1`],[`a`,`wR`,`hR`,`cd2`,`21600000`],[`m`,`x3`,`y1`],[`a`,`wR`,`hR`,`cd2`,`21600000`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`x1`,`y2`],[`Q`,`hc`,`y5`,`x4`,`y2`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`a`,`wd2`,`hd2`,`cd2`,`21600000`],[`c`]]}]},snip1rect:{adj:[[`adj`,`val 16667`]],gd:[[`a`,`pin 0 adj 50000`],[`dx1`,`*/ ss a 100000`],[`x1`,`+- r 0 dx1`],[`it`,`*/ dx1 1 2`],[`ir`,`+/ x1 r 2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`x1`,`t`],[`l`,`r`,`dx1`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]}]},snip2diagrect:{adj:[[`adj1`,`val 0`],[`adj2`,`val 16667`]],gd:[[`a1`,`pin 0 adj1 50000`],[`a2`,`pin 0 adj2 50000`],[`lx1`,`*/ ss a1 100000`],[`lx2`,`+- r 0 lx1`],[`ly1`,`+- b 0 lx1`],[`rx1`,`*/ ss a2 100000`],[`rx2`,`+- r 0 rx1`],[`ry1`,`+- b 0 rx1`],[`d`,`+- lx1 0 rx1`],[`dx`,`?: d lx1 rx1`],[`il`,`*/ dx 1 2`],[`ir`,`+- r 0 il`],[`ib`,`+- b 0 il`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`lx1`,`t`],[`l`,`rx2`,`t`],[`l`,`r`,`rx1`],[`l`,`r`,`ly1`],[`l`,`lx2`,`b`],[`l`,`rx1`,`b`],[`l`,`l`,`ry1`],[`l`,`l`,`lx1`],[`c`]]}]},snip2samerect:{adj:[[`adj1`,`val 16667`],[`adj2`,`val 0`]],gd:[[`a1`,`pin 0 adj1 50000`],[`a2`,`pin 0 adj2 50000`],[`tx1`,`*/ ss a1 100000`],[`tx2`,`+- r 0 tx1`],[`bx1`,`*/ ss a2 100000`],[`bx2`,`+- r 0 bx1`],[`by1`,`+- b 0 bx1`],[`d`,`+- tx1 0 bx1`],[`dx`,`?: d tx1 bx1`],[`il`,`*/ dx 1 2`],[`ir`,`+- r 0 il`],[`it`,`*/ tx1 1 2`],[`ib`,`+/ by1 b 2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`tx1`,`t`],[`l`,`tx2`,`t`],[`l`,`r`,`tx1`],[`l`,`r`,`by1`],[`l`,`bx2`,`b`],[`l`,`bx1`,`b`],[`l`,`l`,`by1`],[`l`,`l`,`tx1`],[`c`]]}]},sniproundrect:{adj:[[`adj1`,`val 16667`],[`adj2`,`val 16667`]],gd:[[`a1`,`pin 0 adj1 50000`],[`a2`,`pin 0 adj2 50000`],[`x1`,`*/ ss a1 100000`],[`dx2`,`*/ ss a2 100000`],[`x2`,`+- r 0 dx2`],[`il`,`*/ x1 29289 100000`],[`ir`,`+/ x2 r 2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`t`],[`l`,`x2`,`t`],[`l`,`r`,`dx2`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`l`,`l`,`x1`],[`a`,`x1`,`x1`,`cd2`,`cd4`],[`c`]]}]},squaretabs:{adj:[],gd:[[`md`,`mod w h 0`],[`dx`,`*/ 1 md 20`],[`y1`,`+- 0 b dx`],[`x1`,`+- 0 r dx`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`dx`,`t`],[`l`,`dx`,`dx`],[`l`,`l`,`dx`],[`c`]]},{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`y1`],[`l`,`dx`,`y1`],[`l`,`dx`,`b`],[`l`,`l`,`b`],[`c`]]},{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`t`],[`l`,`r`,`t`],[`l`,`r`,`dx`],[`l`,`x1`,`dx`],[`c`]]},{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`y1`],[`l`,`r`,`y1`],[`l`,`r`,`b`],[`l`,`x1`,`b`],[`c`]]}]},star10:{adj:[[`adj`,`val 42533`],[`hf`,`val 105146`]],gd:[[`a`,`pin 0 adj 50000`],[`swd2`,`*/ wd2 hf 100000`],[`dx1`,`*/ swd2 95106 100000`],[`dx2`,`*/ swd2 58779 100000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc 0 dx2`],[`x3`,`+- hc dx2 0`],[`x4`,`+- hc dx1 0`],[`dy1`,`*/ hd2 80902 100000`],[`dy2`,`*/ hd2 30902 100000`],[`y1`,`+- vc 0 dy1`],[`y2`,`+- vc 0 dy2`],[`y3`,`+- vc dy2 0`],[`y4`,`+- vc dy1 0`],[`iwd2`,`*/ swd2 a 50000`],[`ihd2`,`*/ hd2 a 50000`],[`sdx1`,`*/ iwd2 80902 100000`],[`sdx2`,`*/ iwd2 30902 100000`],[`sdy1`,`*/ ihd2 95106 100000`],[`sdy2`,`*/ ihd2 58779 100000`],[`sx1`,`+- hc 0 iwd2`],[`sx2`,`+- hc 0 sdx1`],[`sx3`,`+- hc 0 sdx2`],[`sx4`,`+- hc sdx2 0`],[`sx5`,`+- hc sdx1 0`],[`sx6`,`+- hc iwd2 0`],[`sy1`,`+- vc 0 sdy1`],[`sy2`,`+- vc 0 sdy2`],[`sy3`,`+- vc sdy2 0`],[`sy4`,`+- vc sdy1 0`],[`yAdj`,`+- vc 0 ihd2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`y2`],[`l`,`sx2`,`sy2`],[`l`,`x2`,`y1`],[`l`,`sx3`,`sy1`],[`l`,`hc`,`t`],[`l`,`sx4`,`sy1`],[`l`,`x3`,`y1`],[`l`,`sx5`,`sy2`],[`l`,`x4`,`y2`],[`l`,`sx6`,`vc`],[`l`,`x4`,`y3`],[`l`,`sx5`,`sy3`],[`l`,`x3`,`y4`],[`l`,`sx4`,`sy4`],[`l`,`hc`,`b`],[`l`,`sx3`,`sy4`],[`l`,`x2`,`y4`],[`l`,`sx2`,`sy3`],[`l`,`x1`,`y3`],[`l`,`sx1`,`vc`],[`c`]]}]},star12:{adj:[[`adj`,`val 37500`]],gd:[[`a`,`pin 0 adj 50000`],[`dx1`,`cos wd2 1800000`],[`dy1`,`sin hd2 3600000`],[`x1`,`+- hc 0 dx1`],[`x3`,`*/ w 3 4`],[`x4`,`+- hc dx1 0`],[`y1`,`+- vc 0 dy1`],[`y3`,`*/ h 3 4`],[`y4`,`+- vc dy1 0`],[`iwd2`,`*/ wd2 a 50000`],[`ihd2`,`*/ hd2 a 50000`],[`sdx1`,`cos iwd2 900000`],[`sdx2`,`cos iwd2 2700000`],[`sdx3`,`cos iwd2 4500000`],[`sdy1`,`sin ihd2 4500000`],[`sdy2`,`sin ihd2 2700000`],[`sdy3`,`sin ihd2 900000`],[`sx1`,`+- hc 0 sdx1`],[`sx2`,`+- hc 0 sdx2`],[`sx3`,`+- hc 0 sdx3`],[`sx4`,`+- hc sdx3 0`],[`sx5`,`+- hc sdx2 0`],[`sx6`,`+- hc sdx1 0`],[`sy1`,`+- vc 0 sdy1`],[`sy2`,`+- vc 0 sdy2`],[`sy3`,`+- vc 0 sdy3`],[`sy4`,`+- vc sdy3 0`],[`sy5`,`+- vc sdy2 0`],[`sy6`,`+- vc sdy1 0`],[`yAdj`,`+- vc 0 ihd2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`l`,`sx1`,`sy3`],[`l`,`x1`,`hd4`],[`l`,`sx2`,`sy2`],[`l`,`wd4`,`y1`],[`l`,`sx3`,`sy1`],[`l`,`hc`,`t`],[`l`,`sx4`,`sy1`],[`l`,`x3`,`y1`],[`l`,`sx5`,`sy2`],[`l`,`x4`,`hd4`],[`l`,`sx6`,`sy3`],[`l`,`r`,`vc`],[`l`,`sx6`,`sy4`],[`l`,`x4`,`y3`],[`l`,`sx5`,`sy5`],[`l`,`x3`,`y4`],[`l`,`sx4`,`sy6`],[`l`,`hc`,`b`],[`l`,`sx3`,`sy6`],[`l`,`wd4`,`y4`],[`l`,`sx2`,`sy5`],[`l`,`x1`,`y3`],[`l`,`sx1`,`sy4`],[`c`]]}]},star16:{adj:[[`adj`,`val 37500`]],gd:[[`a`,`pin 0 adj 50000`],[`dx1`,`*/ wd2 92388 100000`],[`dx2`,`*/ wd2 70711 100000`],[`dx3`,`*/ wd2 38268 100000`],[`dy1`,`*/ hd2 92388 100000`],[`dy2`,`*/ hd2 70711 100000`],[`dy3`,`*/ hd2 38268 100000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc 0 dx2`],[`x3`,`+- hc 0 dx3`],[`x4`,`+- hc dx3 0`],[`x5`,`+- hc dx2 0`],[`x6`,`+- hc dx1 0`],[`y1`,`+- vc 0 dy1`],[`y2`,`+- vc 0 dy2`],[`y3`,`+- vc 0 dy3`],[`y4`,`+- vc dy3 0`],[`y5`,`+- vc dy2 0`],[`y6`,`+- vc dy1 0`],[`iwd2`,`*/ wd2 a 50000`],[`ihd2`,`*/ hd2 a 50000`],[`sdx1`,`*/ iwd2 98079 100000`],[`sdx2`,`*/ iwd2 83147 100000`],[`sdx3`,`*/ iwd2 55557 100000`],[`sdx4`,`*/ iwd2 19509 100000`],[`sdy1`,`*/ ihd2 98079 100000`],[`sdy2`,`*/ ihd2 83147 100000`],[`sdy3`,`*/ ihd2 55557 100000`],[`sdy4`,`*/ ihd2 19509 100000`],[`sx1`,`+- hc 0 sdx1`],[`sx2`,`+- hc 0 sdx2`],[`sx3`,`+- hc 0 sdx3`],[`sx4`,`+- hc 0 sdx4`],[`sx5`,`+- hc sdx4 0`],[`sx6`,`+- hc sdx3 0`],[`sx7`,`+- hc sdx2 0`],[`sx8`,`+- hc sdx1 0`],[`sy1`,`+- vc 0 sdy1`],[`sy2`,`+- vc 0 sdy2`],[`sy3`,`+- vc 0 sdy3`],[`sy4`,`+- vc 0 sdy4`],[`sy5`,`+- vc sdy4 0`],[`sy6`,`+- vc sdy3 0`],[`sy7`,`+- vc sdy2 0`],[`sy8`,`+- vc sdy1 0`],[`idx`,`cos iwd2 2700000`],[`idy`,`sin ihd2 2700000`],[`il`,`+- hc 0 idx`],[`it`,`+- vc 0 idy`],[`ir`,`+- hc idx 0`],[`ib`,`+- vc idy 0`],[`yAdj`,`+- vc 0 ihd2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`l`,`sx1`,`sy4`],[`l`,`x1`,`y3`],[`l`,`sx2`,`sy3`],[`l`,`x2`,`y2`],[`l`,`sx3`,`sy2`],[`l`,`x3`,`y1`],[`l`,`sx4`,`sy1`],[`l`,`hc`,`t`],[`l`,`sx5`,`sy1`],[`l`,`x4`,`y1`],[`l`,`sx6`,`sy2`],[`l`,`x5`,`y2`],[`l`,`sx7`,`sy3`],[`l`,`x6`,`y3`],[`l`,`sx8`,`sy4`],[`l`,`r`,`vc`],[`l`,`sx8`,`sy5`],[`l`,`x6`,`y4`],[`l`,`sx7`,`sy6`],[`l`,`x5`,`y5`],[`l`,`sx6`,`sy7`],[`l`,`x4`,`y6`],[`l`,`sx5`,`sy8`],[`l`,`hc`,`b`],[`l`,`sx4`,`sy8`],[`l`,`x3`,`y6`],[`l`,`sx3`,`sy7`],[`l`,`x2`,`y5`],[`l`,`sx2`,`sy6`],[`l`,`x1`,`y4`],[`l`,`sx1`,`sy5`],[`c`]]}]},star24:{adj:[[`adj`,`val 37500`]],gd:[[`a`,`pin 0 adj 50000`],[`dx1`,`cos wd2 900000`],[`dx2`,`cos wd2 1800000`],[`dx3`,`cos wd2 2700000`],[`dx4`,`val wd4`],[`dx5`,`cos wd2 4500000`],[`dy1`,`sin hd2 4500000`],[`dy2`,`sin hd2 3600000`],[`dy3`,`sin hd2 2700000`],[`dy4`,`val hd4`],[`dy5`,`sin hd2 900000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc 0 dx2`],[`x3`,`+- hc 0 dx3`],[`x4`,`+- hc 0 dx4`],[`x5`,`+- hc 0 dx5`],[`x6`,`+- hc dx5 0`],[`x7`,`+- hc dx4 0`],[`x8`,`+- hc dx3 0`],[`x9`,`+- hc dx2 0`],[`x10`,`+- hc dx1 0`],[`y1`,`+- vc 0 dy1`],[`y2`,`+- vc 0 dy2`],[`y3`,`+- vc 0 dy3`],[`y4`,`+- vc 0 dy4`],[`y5`,`+- vc 0 dy5`],[`y6`,`+- vc dy5 0`],[`y7`,`+- vc dy4 0`],[`y8`,`+- vc dy3 0`],[`y9`,`+- vc dy2 0`],[`y10`,`+- vc dy1 0`],[`iwd2`,`*/ wd2 a 50000`],[`ihd2`,`*/ hd2 a 50000`],[`sdx1`,`*/ iwd2 99144 100000`],[`sdx2`,`*/ iwd2 92388 100000`],[`sdx3`,`*/ iwd2 79335 100000`],[`sdx4`,`*/ iwd2 60876 100000`],[`sdx5`,`*/ iwd2 38268 100000`],[`sdx6`,`*/ iwd2 13053 100000`],[`sdy1`,`*/ ihd2 99144 100000`],[`sdy2`,`*/ ihd2 92388 100000`],[`sdy3`,`*/ ihd2 79335 100000`],[`sdy4`,`*/ ihd2 60876 100000`],[`sdy5`,`*/ ihd2 38268 100000`],[`sdy6`,`*/ ihd2 13053 100000`],[`sx1`,`+- hc 0 sdx1`],[`sx2`,`+- hc 0 sdx2`],[`sx3`,`+- hc 0 sdx3`],[`sx4`,`+- hc 0 sdx4`],[`sx5`,`+- hc 0 sdx5`],[`sx6`,`+- hc 0 sdx6`],[`sx7`,`+- hc sdx6 0`],[`sx8`,`+- hc sdx5 0`],[`sx9`,`+- hc sdx4 0`],[`sx10`,`+- hc sdx3 0`],[`sx11`,`+- hc sdx2 0`],[`sx12`,`+- hc sdx1 0`],[`sy1`,`+- vc 0 sdy1`],[`sy2`,`+- vc 0 sdy2`],[`sy3`,`+- vc 0 sdy3`],[`sy4`,`+- vc 0 sdy4`],[`sy5`,`+- vc 0 sdy5`],[`sy6`,`+- vc 0 sdy6`],[`sy7`,`+- vc sdy6 0`],[`sy8`,`+- vc sdy5 0`],[`sy9`,`+- vc sdy4 0`],[`sy10`,`+- vc sdy3 0`],[`sy11`,`+- vc sdy2 0`],[`sy12`,`+- vc sdy1 0`],[`idx`,`cos iwd2 2700000`],[`idy`,`sin ihd2 2700000`],[`il`,`+- hc 0 idx`],[`it`,`+- vc 0 idy`],[`ir`,`+- hc idx 0`],[`ib`,`+- vc idy 0`],[`yAdj`,`+- vc 0 ihd2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`l`,`sx1`,`sy6`],[`l`,`x1`,`y5`],[`l`,`sx2`,`sy5`],[`l`,`x2`,`y4`],[`l`,`sx3`,`sy4`],[`l`,`x3`,`y3`],[`l`,`sx4`,`sy3`],[`l`,`x4`,`y2`],[`l`,`sx5`,`sy2`],[`l`,`x5`,`y1`],[`l`,`sx6`,`sy1`],[`l`,`hc`,`t`],[`l`,`sx7`,`sy1`],[`l`,`x6`,`y1`],[`l`,`sx8`,`sy2`],[`l`,`x7`,`y2`],[`l`,`sx9`,`sy3`],[`l`,`x8`,`y3`],[`l`,`sx10`,`sy4`],[`l`,`x9`,`y4`],[`l`,`sx11`,`sy5`],[`l`,`x10`,`y5`],[`l`,`sx12`,`sy6`],[`l`,`r`,`vc`],[`l`,`sx12`,`sy7`],[`l`,`x10`,`y6`],[`l`,`sx11`,`sy8`],[`l`,`x9`,`y7`],[`l`,`sx10`,`sy9`],[`l`,`x8`,`y8`],[`l`,`sx9`,`sy10`],[`l`,`x7`,`y9`],[`l`,`sx8`,`sy11`],[`l`,`x6`,`y10`],[`l`,`sx7`,`sy12`],[`l`,`hc`,`b`],[`l`,`sx6`,`sy12`],[`l`,`x5`,`y10`],[`l`,`sx5`,`sy11`],[`l`,`x4`,`y9`],[`l`,`sx4`,`sy10`],[`l`,`x3`,`y8`],[`l`,`sx3`,`sy9`],[`l`,`x2`,`y7`],[`l`,`sx2`,`sy8`],[`l`,`x1`,`y6`],[`l`,`sx1`,`sy7`],[`c`]]}]},star32:{adj:[[`adj`,`val 37500`]],gd:[[`a`,`pin 0 adj 50000`],[`dx1`,`*/ wd2 98079 100000`],[`dx2`,`*/ wd2 92388 100000`],[`dx3`,`*/ wd2 83147 100000`],[`dx4`,`cos wd2 2700000`],[`dx5`,`*/ wd2 55557 100000`],[`dx6`,`*/ wd2 38268 100000`],[`dx7`,`*/ wd2 19509 100000`],[`dy1`,`*/ hd2 98079 100000`],[`dy2`,`*/ hd2 92388 100000`],[`dy3`,`*/ hd2 83147 100000`],[`dy4`,`sin hd2 2700000`],[`dy5`,`*/ hd2 55557 100000`],[`dy6`,`*/ hd2 38268 100000`],[`dy7`,`*/ hd2 19509 100000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc 0 dx2`],[`x3`,`+- hc 0 dx3`],[`x4`,`+- hc 0 dx4`],[`x5`,`+- hc 0 dx5`],[`x6`,`+- hc 0 dx6`],[`x7`,`+- hc 0 dx7`],[`x8`,`+- hc dx7 0`],[`x9`,`+- hc dx6 0`],[`x10`,`+- hc dx5 0`],[`x11`,`+- hc dx4 0`],[`x12`,`+- hc dx3 0`],[`x13`,`+- hc dx2 0`],[`x14`,`+- hc dx1 0`],[`y1`,`+- vc 0 dy1`],[`y2`,`+- vc 0 dy2`],[`y3`,`+- vc 0 dy3`],[`y4`,`+- vc 0 dy4`],[`y5`,`+- vc 0 dy5`],[`y6`,`+- vc 0 dy6`],[`y7`,`+- vc 0 dy7`],[`y8`,`+- vc dy7 0`],[`y9`,`+- vc dy6 0`],[`y10`,`+- vc dy5 0`],[`y11`,`+- vc dy4 0`],[`y12`,`+- vc dy3 0`],[`y13`,`+- vc dy2 0`],[`y14`,`+- vc dy1 0`],[`iwd2`,`*/ wd2 a 50000`],[`ihd2`,`*/ hd2 a 50000`],[`sdx1`,`*/ iwd2 99518 100000`],[`sdx2`,`*/ iwd2 95694 100000`],[`sdx3`,`*/ iwd2 88192 100000`],[`sdx4`,`*/ iwd2 77301 100000`],[`sdx5`,`*/ iwd2 63439 100000`],[`sdx6`,`*/ iwd2 47140 100000`],[`sdx7`,`*/ iwd2 29028 100000`],[`sdx8`,`*/ iwd2 9802 100000`],[`sdy1`,`*/ ihd2 99518 100000`],[`sdy2`,`*/ ihd2 95694 100000`],[`sdy3`,`*/ ihd2 88192 100000`],[`sdy4`,`*/ ihd2 77301 100000`],[`sdy5`,`*/ ihd2 63439 100000`],[`sdy6`,`*/ ihd2 47140 100000`],[`sdy7`,`*/ ihd2 29028 100000`],[`sdy8`,`*/ ihd2 9802 100000`],[`sx1`,`+- hc 0 sdx1`],[`sx2`,`+- hc 0 sdx2`],[`sx3`,`+- hc 0 sdx3`],[`sx4`,`+- hc 0 sdx4`],[`sx5`,`+- hc 0 sdx5`],[`sx6`,`+- hc 0 sdx6`],[`sx7`,`+- hc 0 sdx7`],[`sx8`,`+- hc 0 sdx8`],[`sx9`,`+- hc sdx8 0`],[`sx10`,`+- hc sdx7 0`],[`sx11`,`+- hc sdx6 0`],[`sx12`,`+- hc sdx5 0`],[`sx13`,`+- hc sdx4 0`],[`sx14`,`+- hc sdx3 0`],[`sx15`,`+- hc sdx2 0`],[`sx16`,`+- hc sdx1 0`],[`sy1`,`+- vc 0 sdy1`],[`sy2`,`+- vc 0 sdy2`],[`sy3`,`+- vc 0 sdy3`],[`sy4`,`+- vc 0 sdy4`],[`sy5`,`+- vc 0 sdy5`],[`sy6`,`+- vc 0 sdy6`],[`sy7`,`+- vc 0 sdy7`],[`sy8`,`+- vc 0 sdy8`],[`sy9`,`+- vc sdy8 0`],[`sy10`,`+- vc sdy7 0`],[`sy11`,`+- vc sdy6 0`],[`sy12`,`+- vc sdy5 0`],[`sy13`,`+- vc sdy4 0`],[`sy14`,`+- vc sdy3 0`],[`sy15`,`+- vc sdy2 0`],[`sy16`,`+- vc sdy1 0`],[`idx`,`cos iwd2 2700000`],[`idy`,`sin ihd2 2700000`],[`il`,`+- hc 0 idx`],[`it`,`+- vc 0 idy`],[`ir`,`+- hc idx 0`],[`ib`,`+- vc idy 0`],[`yAdj`,`+- vc 0 ihd2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`l`,`sx1`,`sy8`],[`l`,`x1`,`y7`],[`l`,`sx2`,`sy7`],[`l`,`x2`,`y6`],[`l`,`sx3`,`sy6`],[`l`,`x3`,`y5`],[`l`,`sx4`,`sy5`],[`l`,`x4`,`y4`],[`l`,`sx5`,`sy4`],[`l`,`x5`,`y3`],[`l`,`sx6`,`sy3`],[`l`,`x6`,`y2`],[`l`,`sx7`,`sy2`],[`l`,`x7`,`y1`],[`l`,`sx8`,`sy1`],[`l`,`hc`,`t`],[`l`,`sx9`,`sy1`],[`l`,`x8`,`y1`],[`l`,`sx10`,`sy2`],[`l`,`x9`,`y2`],[`l`,`sx11`,`sy3`],[`l`,`x10`,`y3`],[`l`,`sx12`,`sy4`],[`l`,`x11`,`y4`],[`l`,`sx13`,`sy5`],[`l`,`x12`,`y5`],[`l`,`sx14`,`sy6`],[`l`,`x13`,`y6`],[`l`,`sx15`,`sy7`],[`l`,`x14`,`y7`],[`l`,`sx16`,`sy8`],[`l`,`r`,`vc`],[`l`,`sx16`,`sy9`],[`l`,`x14`,`y8`],[`l`,`sx15`,`sy10`],[`l`,`x13`,`y9`],[`l`,`sx14`,`sy11`],[`l`,`x12`,`y10`],[`l`,`sx13`,`sy12`],[`l`,`x11`,`y11`],[`l`,`sx12`,`sy13`],[`l`,`x10`,`y12`],[`l`,`sx11`,`sy14`],[`l`,`x9`,`y13`],[`l`,`sx10`,`sy15`],[`l`,`x8`,`y14`],[`l`,`sx9`,`sy16`],[`l`,`hc`,`b`],[`l`,`sx8`,`sy16`],[`l`,`x7`,`y14`],[`l`,`sx7`,`sy15`],[`l`,`x6`,`y13`],[`l`,`sx6`,`sy14`],[`l`,`x5`,`y12`],[`l`,`sx5`,`sy13`],[`l`,`x4`,`y11`],[`l`,`sx4`,`sy12`],[`l`,`x3`,`y10`],[`l`,`sx3`,`sy11`],[`l`,`x2`,`y9`],[`l`,`sx2`,`sy10`],[`l`,`x1`,`y8`],[`l`,`sx1`,`sy9`],[`c`]]}]},star4:{adj:[[`adj`,`val 12500`]],gd:[[`a`,`pin 0 adj 50000`],[`iwd2`,`*/ wd2 a 50000`],[`ihd2`,`*/ hd2 a 50000`],[`sdx`,`cos iwd2 2700000`],[`sdy`,`sin ihd2 2700000`],[`sx1`,`+- hc 0 sdx`],[`sx2`,`+- hc sdx 0`],[`sy1`,`+- vc 0 sdy`],[`sy2`,`+- vc sdy 0`],[`yAdj`,`+- vc 0 ihd2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`l`,`sx1`,`sy1`],[`l`,`hc`,`t`],[`l`,`sx2`,`sy1`],[`l`,`r`,`vc`],[`l`,`sx2`,`sy2`],[`l`,`hc`,`b`],[`l`,`sx1`,`sy2`],[`c`]]}]},star5:{adj:[[`adj`,`val 19098`],[`hf`,`val 105146`],[`vf`,`val 110557`]],gd:[[`a`,`pin 0 adj 50000`],[`swd2`,`*/ wd2 hf 100000`],[`shd2`,`*/ hd2 vf 100000`],[`svc`,`*/ vc vf 100000`],[`dx1`,`cos swd2 1080000`],[`dx2`,`cos swd2 18360000`],[`dy1`,`sin shd2 1080000`],[`dy2`,`sin shd2 18360000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc 0 dx2`],[`x3`,`+- hc dx2 0`],[`x4`,`+- hc dx1 0`],[`y1`,`+- svc 0 dy1`],[`y2`,`+- svc 0 dy2`],[`iwd2`,`*/ swd2 a 50000`],[`ihd2`,`*/ shd2 a 50000`],[`sdx1`,`cos iwd2 20520000`],[`sdx2`,`cos iwd2 3240000`],[`sdy1`,`sin ihd2 3240000`],[`sdy2`,`sin ihd2 20520000`],[`sx1`,`+- hc 0 sdx1`],[`sx2`,`+- hc 0 sdx2`],[`sx3`,`+- hc sdx2 0`],[`sx4`,`+- hc sdx1 0`],[`sy1`,`+- svc 0 sdy1`],[`sy2`,`+- svc 0 sdy2`],[`sy3`,`+- svc ihd2 0`],[`yAdj`,`+- svc 0 ihd2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`y1`],[`l`,`sx2`,`sy1`],[`l`,`hc`,`t`],[`l`,`sx3`,`sy1`],[`l`,`x4`,`y1`],[`l`,`sx4`,`sy2`],[`l`,`x3`,`y2`],[`l`,`hc`,`sy3`],[`l`,`x2`,`y2`],[`l`,`sx1`,`sy2`],[`c`]]}]},star6:{adj:[[`adj`,`val 28868`],[`hf`,`val 115470`]],gd:[[`a`,`pin 0 adj 50000`],[`swd2`,`*/ wd2 hf 100000`],[`dx1`,`cos swd2 1800000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc dx1 0`],[`y2`,`+- vc hd4 0`],[`iwd2`,`*/ swd2 a 50000`],[`ihd2`,`*/ hd2 a 50000`],[`sdx2`,`*/ iwd2 1 2`],[`sx1`,`+- hc 0 iwd2`],[`sx2`,`+- hc 0 sdx2`],[`sx3`,`+- hc sdx2 0`],[`sx4`,`+- hc iwd2 0`],[`sdy1`,`sin ihd2 3600000`],[`sy1`,`+- vc 0 sdy1`],[`sy2`,`+- vc sdy1 0`],[`yAdj`,`+- vc 0 ihd2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`hd4`],[`l`,`sx2`,`sy1`],[`l`,`hc`,`t`],[`l`,`sx3`,`sy1`],[`l`,`x2`,`hd4`],[`l`,`sx4`,`vc`],[`l`,`x2`,`y2`],[`l`,`sx3`,`sy2`],[`l`,`hc`,`b`],[`l`,`sx2`,`sy2`],[`l`,`x1`,`y2`],[`l`,`sx1`,`vc`],[`c`]]}]},star7:{adj:[[`adj`,`val 34601`],[`hf`,`val 102572`],[`vf`,`val 105210`]],gd:[[`a`,`pin 0 adj 50000`],[`swd2`,`*/ wd2 hf 100000`],[`shd2`,`*/ hd2 vf 100000`],[`svc`,`*/ vc vf 100000`],[`dx1`,`*/ swd2 97493 100000`],[`dx2`,`*/ swd2 78183 100000`],[`dx3`,`*/ swd2 43388 100000`],[`dy1`,`*/ shd2 62349 100000`],[`dy2`,`*/ shd2 22252 100000`],[`dy3`,`*/ shd2 90097 100000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc 0 dx2`],[`x3`,`+- hc 0 dx3`],[`x4`,`+- hc dx3 0`],[`x5`,`+- hc dx2 0`],[`x6`,`+- hc dx1 0`],[`y1`,`+- svc 0 dy1`],[`y2`,`+- svc dy2 0`],[`y3`,`+- svc dy3 0`],[`iwd2`,`*/ swd2 a 50000`],[`ihd2`,`*/ shd2 a 50000`],[`sdx1`,`*/ iwd2 97493 100000`],[`sdx2`,`*/ iwd2 78183 100000`],[`sdx3`,`*/ iwd2 43388 100000`],[`sx1`,`+- hc 0 sdx1`],[`sx2`,`+- hc 0 sdx2`],[`sx3`,`+- hc 0 sdx3`],[`sx4`,`+- hc sdx3 0`],[`sx5`,`+- hc sdx2 0`],[`sx6`,`+- hc sdx1 0`],[`sdy1`,`*/ ihd2 90097 100000`],[`sdy2`,`*/ ihd2 22252 100000`],[`sdy3`,`*/ ihd2 62349 100000`],[`sy1`,`+- svc 0 sdy1`],[`sy2`,`+- svc 0 sdy2`],[`sy3`,`+- svc sdy3 0`],[`sy4`,`+- svc ihd2 0`],[`yAdj`,`+- svc 0 ihd2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x1`,`y2`],[`l`,`sx1`,`sy2`],[`l`,`x2`,`y1`],[`l`,`sx3`,`sy1`],[`l`,`hc`,`t`],[`l`,`sx4`,`sy1`],[`l`,`x5`,`y1`],[`l`,`sx6`,`sy2`],[`l`,`x6`,`y2`],[`l`,`sx5`,`sy3`],[`l`,`x4`,`y3`],[`l`,`hc`,`sy4`],[`l`,`x3`,`y3`],[`l`,`sx2`,`sy3`],[`c`]]}]},star8:{adj:[[`adj`,`val 37500`]],gd:[[`a`,`pin 0 adj 50000`],[`dx1`,`cos wd2 2700000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc dx1 0`],[`dy1`,`sin hd2 2700000`],[`y1`,`+- vc 0 dy1`],[`y2`,`+- vc dy1 0`],[`iwd2`,`*/ wd2 a 50000`],[`ihd2`,`*/ hd2 a 50000`],[`sdx1`,`*/ iwd2 92388 100000`],[`sdx2`,`*/ iwd2 38268 100000`],[`sdy1`,`*/ ihd2 92388 100000`],[`sdy2`,`*/ ihd2 38268 100000`],[`sx1`,`+- hc 0 sdx1`],[`sx2`,`+- hc 0 sdx2`],[`sx3`,`+- hc sdx2 0`],[`sx4`,`+- hc sdx1 0`],[`sy1`,`+- vc 0 sdy1`],[`sy2`,`+- vc 0 sdy2`],[`sy3`,`+- vc sdy2 0`],[`sy4`,`+- vc sdy1 0`],[`yAdj`,`+- vc 0 ihd2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`l`,`sx1`,`sy2`],[`l`,`x1`,`y1`],[`l`,`sx2`,`sy1`],[`l`,`hc`,`t`],[`l`,`sx3`,`sy1`],[`l`,`x2`,`y1`],[`l`,`sx4`,`sy2`],[`l`,`r`,`vc`],[`l`,`sx4`,`sy3`],[`l`,`x2`,`y2`],[`l`,`sx3`,`sy4`],[`l`,`hc`,`b`],[`l`,`sx2`,`sy4`],[`l`,`x1`,`y2`],[`l`,`sx1`,`sy3`],[`c`]]}]},straightconnector1:{adj:[],gd:[],paths:[{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`r`,`b`]]}]},stripedrightarrow:{adj:[[`adj1`,`val 50000`],[`adj2`,`val 50000`]],gd:[[`maxAdj2`,`*/ 84375 w ss`],[`a1`,`pin 0 adj1 100000`],[`a2`,`pin 0 adj2 maxAdj2`],[`x4`,`*/ ss 5 32`],[`dx5`,`*/ ss a2 100000`],[`x5`,`+- r 0 dx5`],[`dy1`,`*/ h a1 200000`],[`y1`,`+- vc 0 dy1`],[`y2`,`+- vc dy1 0`],[`dx6`,`*/ dy1 dx5 hd2`],[`x6`,`+- r 0 dx6`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`y1`],[`l`,`ssd32`,`y1`],[`l`,`ssd32`,`y2`],[`l`,`l`,`y2`],[`c`],[`m`,`ssd16`,`y1`],[`l`,`ssd8`,`y1`],[`l`,`ssd8`,`y2`],[`l`,`ssd16`,`y2`],[`c`],[`m`,`x4`,`y1`],[`l`,`x5`,`y1`],[`l`,`x5`,`t`],[`l`,`r`,`vc`],[`l`,`x5`,`b`],[`l`,`x5`,`y2`],[`l`,`x4`,`y2`],[`c`]]}]},sun:{adj:[[`adj`,`val 25000`]],gd:[[`a`,`pin 12500 adj 46875`],[`g0`,`+- 50000 0 a`],[`g1`,`*/ g0 30274 32768`],[`g2`,`*/ g0 12540 32768`],[`g3`,`+- g1 50000 0`],[`g4`,`+- g2 50000 0`],[`g5`,`+- 50000 0 g1`],[`g6`,`+- 50000 0 g2`],[`g7`,`*/ g0 23170 32768`],[`g8`,`+- 50000 g7 0`],[`g9`,`+- 50000 0 g7`],[`g10`,`*/ g5 3 4`],[`g11`,`*/ g6 3 4`],[`g12`,`+- g10 3662 0`],[`g13`,`+- g11 3662 0`],[`g14`,`+- g11 12500 0`],[`g15`,`+- 100000 0 g10`],[`g16`,`+- 100000 0 g12`],[`g17`,`+- 100000 0 g13`],[`g18`,`+- 100000 0 g14`],[`ox1`,`*/ w 18436 21600`],[`oy1`,`*/ h 3163 21600`],[`ox2`,`*/ w 3163 21600`],[`oy2`,`*/ h 18436 21600`],[`x8`,`*/ w g8 100000`],[`x9`,`*/ w g9 100000`],[`x10`,`*/ w g10 100000`],[`x12`,`*/ w g12 100000`],[`x13`,`*/ w g13 100000`],[`x14`,`*/ w g14 100000`],[`x15`,`*/ w g15 100000`],[`x16`,`*/ w g16 100000`],[`x17`,`*/ w g17 100000`],[`x18`,`*/ w g18 100000`],[`x19`,`*/ w a 100000`],[`wR`,`*/ w g0 100000`],[`hR`,`*/ h g0 100000`],[`y8`,`*/ h g8 100000`],[`y9`,`*/ h g9 100000`],[`y10`,`*/ h g10 100000`],[`y12`,`*/ h g12 100000`],[`y13`,`*/ h g13 100000`],[`y14`,`*/ h g14 100000`],[`y15`,`*/ h g15 100000`],[`y16`,`*/ h g16 100000`],[`y17`,`*/ h g17 100000`],[`y18`,`*/ h g18 100000`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`r`,`vc`],[`l`,`x15`,`y18`],[`l`,`x15`,`y14`],[`c`],[`m`,`ox1`,`oy1`],[`l`,`x16`,`y13`],[`l`,`x17`,`y12`],[`c`],[`m`,`hc`,`t`],[`l`,`x18`,`y10`],[`l`,`x14`,`y10`],[`c`],[`m`,`ox2`,`oy1`],[`l`,`x13`,`y12`],[`l`,`x12`,`y13`],[`c`],[`m`,`l`,`vc`],[`l`,`x10`,`y14`],[`l`,`x10`,`y18`],[`c`],[`m`,`ox2`,`oy2`],[`l`,`x12`,`y17`],[`l`,`x13`,`y16`],[`c`],[`m`,`hc`,`b`],[`l`,`x14`,`y15`],[`l`,`x18`,`y15`],[`c`],[`m`,`ox1`,`oy2`],[`l`,`x17`,`y16`],[`l`,`x16`,`y17`],[`c`],[`m`,`x19`,`vc`],[`a`,`wR`,`hR`,`cd2`,`21600000`],[`c`]]}]},swoosharrow:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 16667`]],gd:[[`a1`,`pin 1 adj1 75000`],[`maxAdj2`,`*/ 70000 w ss`],[`a2`,`pin 0 adj2 maxAdj2`],[`ad1`,`*/ h a1 100000`],[`ad2`,`*/ ss a2 100000`],[`xB`,`+- r 0 ad2`],[`yB`,`+- t ssd8 0`],[`alfa`,`*/ cd4 1 14`],[`dx0`,`tan ssd8 alfa`],[`xC`,`+- xB 0 dx0`],[`dx1`,`tan ad1 alfa`],[`yF`,`+- yB ad1 0`],[`xF`,`+- xB dx1 0`],[`xE`,`+- xF dx0 0`],[`yE`,`+- yF ssd8 0`],[`dy2`,`+- yE 0 t`],[`dy22`,`*/ dy2 1 2`],[`dy3`,`*/ h 1 20`],[`yD`,`+- t dy22 dy3`],[`dy4`,`*/ hd6 1 1`],[`yP1`,`+- hd6 dy4 0`],[`xP1`,`val wd6`],[`dy5`,`*/ hd6 1 2`],[`yP2`,`+- yF dy5 0`],[`xP2`,`val wd4`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`b`],[`Q`,`xP1`,`yP1`,`xB`,`yB`],[`l`,`xC`,`t`],[`l`,`r`,`yD`],[`l`,`xE`,`yE`],[`l`,`xF`,`yF`],[`Q`,`xP2`,`yP2`,`l`,`b`],[`c`]]}]},teardrop:{adj:[[`adj`,`val 100000`]],gd:[[`a`,`pin 0 adj 200000`],[`r2`,`sqrt 2`],[`tw`,`*/ wd2 r2 1`],[`th`,`*/ hd2 r2 1`],[`sw`,`*/ tw a 100000`],[`sh`,`*/ th a 100000`],[`dx1`,`cos sw 2700000`],[`dy1`,`sin sh 2700000`],[`x1`,`+- hc dx1 0`],[`y1`,`+- vc 0 dy1`],[`x2`,`+/ hc x1 2`],[`y2`,`+/ vc y1 2`],[`idx`,`cos wd2 2700000`],[`idy`,`sin hd2 2700000`],[`il`,`+- hc 0 idx`],[`ir`,`+- hc idx 0`],[`it`,`+- vc 0 idy`],[`ib`,`+- vc idy 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`vc`],[`a`,`wd2`,`hd2`,`cd2`,`cd4`],[`Q`,`x2`,`t`,`x1`,`y1`],[`Q`,`r`,`y2`,`r`,`vc`],[`a`,`wd2`,`hd2`,`0`,`cd4`],[`a`,`wd2`,`hd2`,`cd4`,`cd4`],[`c`]]}]},trapezoid:{adj:[[`adj`,`val 25000`]],gd:[[`maxAdj`,`*/ 50000 w ss`],[`a`,`pin 0 adj maxAdj`],[`x1`,`*/ ss a 200000`],[`x2`,`*/ ss a 100000`],[`x3`,`+- r 0 x2`],[`x4`,`+- r 0 x1`],[`il`,`*/ wd3 a maxAdj`],[`it`,`*/ hd3 a maxAdj`],[`ir`,`+- r 0 il`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`b`],[`l`,`x2`,`t`],[`l`,`x3`,`t`],[`l`,`r`,`b`],[`c`]]}]},triangle:{adj:[[`adj`,`val 50000`]],gd:[[`a`,`pin 0 adj 100000`],[`x1`,`*/ w a 200000`],[`x2`,`*/ w a 100000`],[`x3`,`+- x1 wd2 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`b`],[`l`,`x2`,`t`],[`l`,`r`,`b`],[`c`]]}]},uparrowcallout:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 25000`],[`adj3`,`val 25000`],[`adj4`,`val 64977`]],gd:[[`maxAdj2`,`*/ 50000 w ss`],[`a2`,`pin 0 adj2 maxAdj2`],[`maxAdj1`,`*/ a2 2 1`],[`a1`,`pin 0 adj1 maxAdj1`],[`maxAdj3`,`*/ 100000 h ss`],[`a3`,`pin 0 adj3 maxAdj3`],[`q2`,`*/ a3 ss h`],[`maxAdj4`,`+- 100000 0 q2`],[`a4`,`pin 0 adj4 maxAdj4`],[`dx1`,`*/ ss a2 100000`],[`dx2`,`*/ ss a1 200000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc 0 dx2`],[`x3`,`+- hc dx2 0`],[`x4`,`+- hc dx1 0`],[`y1`,`*/ ss a3 100000`],[`dy2`,`*/ h a4 100000`],[`y2`,`+- b 0 dy2`],[`y3`,`+/ y2 b 2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`y2`],[`l`,`x2`,`y2`],[`l`,`x2`,`y1`],[`l`,`x1`,`y1`],[`l`,`hc`,`t`],[`l`,`x4`,`y1`],[`l`,`x3`,`y1`],[`l`,`x3`,`y2`],[`l`,`r`,`y2`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]}]},updownarrow:{adj:[[`adj1`,`val 50000`],[`adj2`,`val 50000`]],gd:[[`maxAdj2`,`*/ 50000 h ss`],[`a1`,`pin 0 adj1 100000`],[`a2`,`pin 0 adj2 maxAdj2`],[`y2`,`*/ ss a2 100000`],[`y3`,`+- b 0 y2`],[`dx1`,`*/ w a1 200000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc dx1 0`],[`dy1`,`*/ x1 y2 wd2`],[`y1`,`+- y2 0 dy1`],[`y4`,`+- y3 dy1 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`y2`],[`l`,`hc`,`t`],[`l`,`r`,`y2`],[`l`,`x2`,`y2`],[`l`,`x2`,`y3`],[`l`,`r`,`y3`],[`l`,`hc`,`b`],[`l`,`l`,`y3`],[`l`,`x1`,`y3`],[`l`,`x1`,`y2`],[`c`]]}]},uparrow:{adj:[[`adj1`,`val 50000`],[`adj2`,`val 50000`]],gd:[[`maxAdj2`,`*/ 100000 h ss`],[`a1`,`pin 0 adj1 100000`],[`a2`,`pin 0 adj2 maxAdj2`],[`dy2`,`*/ ss a2 100000`],[`y2`,`+- t dy2 0`],[`dx1`,`*/ w a1 200000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc dx1 0`],[`dy1`,`*/ x1 dy2 wd2`],[`y1`,`+- y2 0 dy1`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`y2`],[`l`,`hc`,`t`],[`l`,`r`,`y2`],[`l`,`x2`,`y2`],[`l`,`x2`,`b`],[`l`,`x1`,`b`],[`l`,`x1`,`y2`],[`c`]]}]},updownarrowcallout:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 25000`],[`adj3`,`val 25000`],[`adj4`,`val 48123`]],gd:[[`maxAdj2`,`*/ 50000 w ss`],[`a2`,`pin 0 adj2 maxAdj2`],[`maxAdj1`,`*/ a2 2 1`],[`a1`,`pin 0 adj1 maxAdj1`],[`maxAdj3`,`*/ 50000 h ss`],[`a3`,`pin 0 adj3 maxAdj3`],[`q2`,`*/ a3 ss hd2`],[`maxAdj4`,`+- 100000 0 q2`],[`a4`,`pin 0 adj4 maxAdj4`],[`dx1`,`*/ ss a2 100000`],[`dx2`,`*/ ss a1 200000`],[`x1`,`+- hc 0 dx1`],[`x2`,`+- hc 0 dx2`],[`x3`,`+- hc dx2 0`],[`x4`,`+- hc dx1 0`],[`y1`,`*/ ss a3 100000`],[`y4`,`+- b 0 y1`],[`dy2`,`*/ h a4 200000`],[`y2`,`+- vc 0 dy2`],[`y3`,`+- vc dy2 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`y2`],[`l`,`x2`,`y2`],[`l`,`x2`,`y1`],[`l`,`x1`,`y1`],[`l`,`hc`,`t`],[`l`,`x4`,`y1`],[`l`,`x3`,`y1`],[`l`,`x3`,`y2`],[`l`,`r`,`y2`],[`l`,`r`,`y3`],[`l`,`x3`,`y3`],[`l`,`x3`,`y4`],[`l`,`x4`,`y4`],[`l`,`hc`,`b`],[`l`,`x1`,`y4`],[`l`,`x2`,`y4`],[`l`,`x2`,`y3`],[`l`,`l`,`y3`],[`c`]]}]},uturnarrow:{adj:[[`adj1`,`val 25000`],[`adj2`,`val 25000`],[`adj3`,`val 25000`],[`adj4`,`val 43750`],[`adj5`,`val 75000`]],gd:[[`a2`,`pin 0 adj2 25000`],[`maxAdj1`,`*/ a2 2 1`],[`a1`,`pin 0 adj1 maxAdj1`],[`q2`,`*/ a1 ss h`],[`q3`,`+- 100000 0 q2`],[`maxAdj3`,`*/ q3 h ss`],[`a3`,`pin 0 adj3 maxAdj3`],[`q1`,`+- a3 a1 0`],[`minAdj5`,`*/ q1 ss h`],[`a5`,`pin minAdj5 adj5 100000`],[`th`,`*/ ss a1 100000`],[`aw2`,`*/ ss a2 100000`],[`th2`,`*/ th 1 2`],[`dh2`,`+- aw2 0 th2`],[`y5`,`*/ h a5 100000`],[`ah`,`*/ ss a3 100000`],[`y4`,`+- y5 0 ah`],[`x9`,`+- r 0 dh2`],[`bw`,`*/ x9 1 2`],[`bs`,`min bw y4`],[`maxAdj4`,`*/ bs 100000 ss`],[`a4`,`pin 0 adj4 maxAdj4`],[`bd`,`*/ ss a4 100000`],[`bd3`,`+- bd 0 th`],[`bd2`,`max bd3 0`],[`x3`,`+- th bd2 0`],[`x8`,`+- r 0 aw2`],[`x6`,`+- x8 0 aw2`],[`x7`,`+- x6 dh2 0`],[`x4`,`+- x9 0 bd`],[`x5`,`+- x7 0 bd2`],[`cx`,`+/ th x7 2`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`b`],[`l`,`l`,`bd`],[`a`,`bd`,`bd`,`cd2`,`cd4`],[`l`,`x4`,`t`],[`a`,`bd`,`bd`,`3cd4`,`cd4`],[`l`,`x9`,`y4`],[`l`,`r`,`y4`],[`l`,`x8`,`y5`],[`l`,`x6`,`y4`],[`l`,`x7`,`y4`],[`l`,`x7`,`x3`],[`a`,`bd2`,`bd2`,`0`,`-5400000`],[`l`,`x3`,`th`],[`a`,`bd2`,`bd2`,`3cd4`,`-5400000`],[`l`,`th`,`b`],[`c`]]}]},verticalscroll:{adj:[[`adj`,`val 12500`]],gd:[[`a`,`pin 0 adj 25000`],[`ch`,`*/ ss a 100000`],[`ch2`,`*/ ch 1 2`],[`ch4`,`*/ ch 1 4`],[`x3`,`+- ch ch2 0`],[`x4`,`+- ch ch 0`],[`x6`,`+- r 0 ch`],[`x7`,`+- r 0 ch2`],[`x5`,`+- x6 0 ch2`],[`y3`,`+- b 0 ch`],[`y4`,`+- b 0 ch2`]],paths:[{w:null,h:null,fill:null,stroke:!1,extrusionOk:!1,cmds:[[`m`,`ch2`,`b`],[`a`,`ch2`,`ch2`,`cd4`,`-5400000`],[`l`,`ch2`,`y4`],[`a`,`ch4`,`ch4`,`cd4`,`-10800000`],[`l`,`ch`,`y3`],[`l`,`ch`,`ch2`],[`a`,`ch2`,`ch2`,`cd2`,`cd4`],[`l`,`x7`,`t`],[`a`,`ch2`,`ch2`,`3cd4`,`cd2`],[`l`,`x6`,`ch`],[`l`,`x6`,`y4`],[`a`,`ch2`,`ch2`,`0`,`cd4`],[`c`],[`m`,`x4`,`ch2`],[`a`,`ch2`,`ch2`,`0`,`cd4`],[`a`,`ch4`,`ch4`,`cd4`,`cd2`],[`c`]]},{w:null,h:null,fill:`darkenLess`,stroke:!1,extrusionOk:!1,cmds:[[`m`,`x4`,`ch2`],[`a`,`ch2`,`ch2`,`0`,`cd4`],[`a`,`ch4`,`ch4`,`cd4`,`cd2`],[`c`],[`m`,`ch`,`y4`],[`a`,`ch2`,`ch2`,`0`,`3cd4`],[`a`,`ch4`,`ch4`,`3cd4`,`cd2`],[`c`]]},{w:null,h:null,fill:`none`,stroke:!0,extrusionOk:!1,cmds:[[`m`,`ch`,`y3`],[`l`,`ch`,`ch2`],[`a`,`ch2`,`ch2`,`cd2`,`cd4`],[`l`,`x7`,`t`],[`a`,`ch2`,`ch2`,`3cd4`,`cd2`],[`l`,`x6`,`ch`],[`l`,`x6`,`y4`],[`a`,`ch2`,`ch2`,`0`,`cd4`],[`l`,`ch2`,`b`],[`a`,`ch2`,`ch2`,`cd4`,`cd2`],[`c`],[`m`,`x3`,`t`],[`a`,`ch2`,`ch2`,`3cd4`,`cd2`],[`a`,`ch4`,`ch4`,`cd4`,`cd2`],[`l`,`x4`,`ch2`],[`m`,`x6`,`ch`],[`l`,`x3`,`ch`],[`m`,`ch2`,`y3`],[`a`,`ch4`,`ch4`,`3cd4`,`cd2`],[`l`,`ch`,`y4`],[`m`,`ch2`,`b`],[`a`,`ch2`,`ch2`,`cd4`,`-5400000`],[`l`,`ch`,`y3`]]}]},wave:{adj:[[`adj1`,`val 12500`],[`adj2`,`val 0`]],gd:[[`a1`,`pin 0 adj1 20000`],[`a2`,`pin -10000 adj2 10000`],[`y1`,`*/ h a1 100000`],[`dy2`,`*/ y1 10 3`],[`y2`,`+- y1 0 dy2`],[`y3`,`+- y1 dy2 0`],[`y4`,`+- b 0 y1`],[`y5`,`+- y4 0 dy2`],[`y6`,`+- y4 dy2 0`],[`dx1`,`*/ w a2 100000`],[`of2`,`*/ w a2 50000`],[`x1`,`abs dx1`],[`dx2`,`?: of2 0 of2`],[`x2`,`+- l 0 dx2`],[`dx5`,`?: of2 of2 0`],[`x5`,`+- r 0 dx5`],[`dx3`,`+/ dx2 x5 3`],[`x3`,`+- x2 dx3 0`],[`x4`,`+/ x3 x5 2`],[`x6`,`+- l dx5 0`],[`x10`,`+- r dx2 0`],[`x7`,`+- x6 dx3 0`],[`x8`,`+/ x7 x10 2`],[`x9`,`+- r 0 x1`],[`xAdj`,`+- hc dx1 0`],[`xAdj2`,`+- hc 0 dx1`],[`il`,`max x2 x6`],[`ir`,`min x5 x10`],[`it`,`*/ h a1 50000`],[`ib`,`+- b 0 it`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`x2`,`y1`],[`C`,`x3`,`y2`,`x4`,`y3`,`x5`,`y1`],[`l`,`x10`,`y4`],[`C`,`x8`,`y6`,`x7`,`y5`,`x6`,`y4`],[`c`]]}]},wedgeellipsecallout:{adj:[[`adj1`,`val -20833`],[`adj2`,`val 62500`]],gd:[[`dxPos`,`*/ w adj1 100000`],[`dyPos`,`*/ h adj2 100000`],[`xPos`,`+- hc dxPos 0`],[`yPos`,`+- vc dyPos 0`],[`sdx`,`*/ dxPos h 1`],[`sdy`,`*/ dyPos w 1`],[`pang`,`at2 sdx sdy`],[`stAng`,`+- pang 660000 0`],[`enAng`,`+- pang 0 660000`],[`dx1`,`cos wd2 stAng`],[`dy1`,`sin hd2 stAng`],[`x1`,`+- hc dx1 0`],[`y1`,`+- vc dy1 0`],[`dx2`,`cos wd2 enAng`],[`dy2`,`sin hd2 enAng`],[`x2`,`+- hc dx2 0`],[`y2`,`+- vc dy2 0`],[`stAng1`,`at2 dx1 dy1`],[`enAng1`,`at2 dx2 dy2`],[`swAng1`,`+- enAng1 0 stAng1`],[`swAng2`,`+- swAng1 21600000 0`],[`swAng`,`?: swAng1 swAng1 swAng2`],[`idx`,`cos wd2 2700000`],[`idy`,`sin hd2 2700000`],[`il`,`+- hc 0 idx`],[`ir`,`+- hc idx 0`],[`it`,`+- vc 0 idy`],[`ib`,`+- vc idy 0`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`xPos`,`yPos`],[`l`,`x1`,`y1`],[`a`,`wd2`,`hd2`,`stAng1`,`swAng`],[`c`]]}]},wedgerectcallout:{adj:[[`adj1`,`val -20833`],[`adj2`,`val 62500`]],gd:[[`dxPos`,`*/ w adj1 100000`],[`dyPos`,`*/ h adj2 100000`],[`xPos`,`+- hc dxPos 0`],[`yPos`,`+- vc dyPos 0`],[`dx`,`+- xPos 0 hc`],[`dy`,`+- yPos 0 vc`],[`dq`,`*/ dxPos h w`],[`ady`,`abs dyPos`],[`adq`,`abs dq`],[`dz`,`+- ady 0 adq`],[`xg1`,`?: dxPos 7 2`],[`xg2`,`?: dxPos 10 5`],[`x1`,`*/ w xg1 12`],[`x2`,`*/ w xg2 12`],[`yg1`,`?: dyPos 7 2`],[`yg2`,`?: dyPos 10 5`],[`y1`,`*/ h yg1 12`],[`y2`,`*/ h yg2 12`],[`t1`,`?: dxPos l xPos`],[`xl`,`?: dz l t1`],[`t2`,`?: dyPos x1 xPos`],[`xt`,`?: dz t2 x1`],[`t3`,`?: dxPos xPos r`],[`xr`,`?: dz r t3`],[`t4`,`?: dyPos xPos x1`],[`xb`,`?: dz t4 x1`],[`t5`,`?: dxPos y1 yPos`],[`yl`,`?: dz y1 t5`],[`t6`,`?: dyPos t yPos`],[`yt`,`?: dz t6 t`],[`t7`,`?: dxPos yPos y1`],[`yr`,`?: dz y1 t7`],[`t8`,`?: dyPos yPos b`],[`yb`,`?: dz t8 b`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`t`],[`l`,`x1`,`t`],[`l`,`xt`,`yt`],[`l`,`x2`,`t`],[`l`,`r`,`t`],[`l`,`r`,`y1`],[`l`,`xr`,`yr`],[`l`,`r`,`y2`],[`l`,`r`,`b`],[`l`,`x2`,`b`],[`l`,`xb`,`yb`],[`l`,`x1`,`b`],[`l`,`l`,`b`],[`l`,`l`,`y2`],[`l`,`xl`,`yl`],[`l`,`l`,`y1`],[`c`]]}]},wedgeroundrectcallout:{adj:[[`adj1`,`val -20833`],[`adj2`,`val 62500`],[`adj3`,`val 16667`]],gd:[[`dxPos`,`*/ w adj1 100000`],[`dyPos`,`*/ h adj2 100000`],[`xPos`,`+- hc dxPos 0`],[`yPos`,`+- vc dyPos 0`],[`dq`,`*/ dxPos h w`],[`ady`,`abs dyPos`],[`adq`,`abs dq`],[`dz`,`+- ady 0 adq`],[`xg1`,`?: dxPos 7 2`],[`xg2`,`?: dxPos 10 5`],[`x1`,`*/ w xg1 12`],[`x2`,`*/ w xg2 12`],[`yg1`,`?: dyPos 7 2`],[`yg2`,`?: dyPos 10 5`],[`y1`,`*/ h yg1 12`],[`y2`,`*/ h yg2 12`],[`t1`,`?: dxPos l xPos`],[`xl`,`?: dz l t1`],[`t2`,`?: dyPos x1 xPos`],[`xt`,`?: dz t2 x1`],[`t3`,`?: dxPos xPos r`],[`xr`,`?: dz r t3`],[`t4`,`?: dyPos xPos x1`],[`xb`,`?: dz t4 x1`],[`t5`,`?: dxPos y1 yPos`],[`yl`,`?: dz y1 t5`],[`t6`,`?: dyPos t yPos`],[`yt`,`?: dz t6 t`],[`t7`,`?: dxPos yPos y1`],[`yr`,`?: dz y1 t7`],[`t8`,`?: dyPos yPos b`],[`yb`,`?: dz t8 b`],[`u1`,`*/ ss adj3 100000`],[`u2`,`+- r 0 u1`],[`v2`,`+- b 0 u1`],[`il`,`*/ u1 29289 100000`],[`ir`,`+- r 0 il`],[`ib`,`+- b 0 il`]],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!0,cmds:[[`m`,`l`,`u1`],[`a`,`u1`,`u1`,`cd2`,`cd4`],[`l`,`x1`,`t`],[`l`,`xt`,`yt`],[`l`,`x2`,`t`],[`l`,`u2`,`t`],[`a`,`u1`,`u1`,`3cd4`,`cd4`],[`l`,`r`,`y1`],[`l`,`xr`,`yr`],[`l`,`r`,`y2`],[`l`,`r`,`v2`],[`a`,`u1`,`u1`,`0`,`cd4`],[`l`,`x2`,`b`],[`l`,`xb`,`yb`],[`l`,`x1`,`b`],[`l`,`u1`,`b`],[`a`,`u1`,`u1`,`cd4`,`cd4`],[`l`,`l`,`y2`],[`l`,`xl`,`yl`],[`l`,`l`,`y1`],[`c`]]}]}};const Yn=216e5,Xn=Math.PI*2/Yn;function Zn(e){let t=e.trim().split(/\\s+/);return{op:t[0],argTokens:t.slice(1)}}function Qn(e,t,n){let{w:r,h:i,adj:a}=e,o=Math.min(r,i),s=Math.max(r,i),c=Object.create(null);Object.assign(c,{w:r,h:i,l:0,t:0,r,b:i,hc:r/2,vc:i/2,wd2:r/2,wd3:r/3,wd4:r/4,wd5:r/5,wd6:r/6,wd8:r/8,wd10:r/10,wd12:r/12,wd16:r/16,wd32:r/32,hd2:i/2,hd3:i/3,hd4:i/4,hd5:i/5,hd6:i/6,hd8:i/8,hd10:i/10,hd12:i/12,hd16:i/16,hd32:i/32,ss:o,ssd2:o/2,ssd4:o/4,ssd6:o/6,ssd8:o/8,ssd16:o/16,ssd32:o/32,ls:s,lsd2:s/2,lsd4:s/4,lsd6:s/6,lsd8:s/8,lsd16:s/16,lsd32:s/32,cd:Yn,cd2:Yn/2,cd4:Yn/4,cd8:Yn/8,\"3cd4\":3*Yn/4,\"3cd8\":3*Yn/8,\"5cd8\":5*Yn/8,\"7cd8\":7*Yn/8}),t.forEach(([e,t],n)=>{let r=a[n];c[e]=typeof r==`number`?r:u(t),e===`adj`&&(c.adj1=c.adj),e===`adj1`&&(c.adj=c.adj1)});for(let[e,t]of n)c[e]=u(t);return{v:e=>{if(e in c)return c[e];throw Error(`preset-shape: unknown name \"${e}\"`)},fmla:u,resolve:l};function l(e){if(e in c)return c[e];let t=Number(e);if(Number.isFinite(t))return t;throw Error(`preset-shape: cannot resolve \"${e}\"`)}function u(e){let t=e.argTokens.map(l);return d(e.op,t,e)}function d(e,t,n){switch(e){case`val`:return t[0];case`*/`:return t[0]*t[1]/t[2];case`+-`:return t[0]+t[1]-t[2];case`+/`:return(t[0]+t[1])/t[2];case`?:`:return t[0]>0?t[1]:t[2];case`abs`:return Math.abs(t[0]);case`min`:return Math.min(t[0],t[1]);case`max`:return Math.max(t[0],t[1]);case`pin`:return t[1]<t[0]?t[0]:t[1]>t[2]?t[2]:t[1];case`sqrt`:return Math.sqrt(Math.max(0,t[0]));case`mod`:return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);case`sin`:return t[0]*Math.sin(t[1]*Xn);case`cos`:return t[0]*Math.cos(t[1]*Xn);case`tan`:return t[0]*Math.tan(t[1]*Xn);case`at2`:return Math.atan2(t[1],t[0])/Xn;case`cat2`:return t[0]*Math.cos(Math.atan2(t[2],t[1]));case`sat2`:return t[0]*Math.sin(Math.atan2(t[2],t[1]));default:throw Error(`preset-shape: unknown operator \"${e}\" in \"${[n.op,...n.argTokens].join(` `)}\"`)}}}const $n=Math.PI*2/216e5;function er(e,t,n,r,i,a,o){let s=t.w==null?1:a/t.w,c=t.h==null?1:o/t.h,l=e=>r+e*s,u=e=>i+e*c,d=0,f=0;for(let r of t.cmds)switch(r[0]){case`m`:{let t=l(n.resolve(r[1])),i=u(n.resolve(r[2]));e.moveTo(t,i),d=t,f=i;break}case`l`:{let t=l(n.resolve(r[1])),i=u(n.resolve(r[2]));e.lineTo(t,i),d=t,f=i;break}case`C`:{let t=l(n.resolve(r[1])),i=u(n.resolve(r[2])),a=l(n.resolve(r[3])),o=u(n.resolve(r[4])),s=l(n.resolve(r[5])),c=u(n.resolve(r[6]));e.bezierCurveTo(t,i,a,o,s,c),d=s,f=c;break}case`Q`:{let t=l(n.resolve(r[1])),i=u(n.resolve(r[2])),a=l(n.resolve(r[3])),o=u(n.resolve(r[4]));e.quadraticCurveTo(t,i,a,o),d=a,f=o;break}case`a`:{let t=n.resolve(r[1]),i=n.resolve(r[2]),a=t*s,o=i*c,l=n.resolve(r[3])*$n,u=n.resolve(r[4])*$n,p=Math.PI*2,m=e=>Math.atan2(t*Math.sin(e),i*Math.cos(e)),h=m(l),g=Math.trunc(u/p),_=u-g*p,v=m(l+_)-h;_>0&&v<0?v+=p:_<0&&v>0&&(v-=p);let y=h+v+g*p,b=d-a*Math.cos(h),x=f-o*Math.sin(h);Math.abs(a)>1e-6&&Math.abs(o)>1e-6&&(e.ellipse(b,x,Math.abs(a),Math.abs(o),0,h,y,u<0),d=b+a*Math.cos(y),f=x+o*Math.sin(y));break}case`c`:e.closePath();break}}const tr=Jn,nr=new WeakMap;function rr(e){let t=nr.get(e);return t||(t={adj:e.adj.map(([e,t])=>[e,Zn(t)]),gd:e.gd.map(([e,t])=>[e,Zn(t)])},nr.set(e,t)),t}function ir(e,t,n,r){let i=rr(e);return Qn({w:t,h:n,adj:r},i.adj,i.gd)}function ar(e){return e.toLowerCase()in tr}function or(e,t,n,r,i,a,o=[]){let s=tr[t.toLowerCase()];if(!s)return!1;let c=ir(s,i,a,o);for(let t of s.paths)er(e,t,c,n,r,i,a);return!0}function sr(e,t,n,r,i,a,o=[]){let s=tr[t.toLowerCase()];if(!s)return!1;let c=ir(s,i,a,o);for(let t of s.paths)t.fill!==`none`&&er(e,t,c,n,r,i,a);return!0}const cr={wedgeroundrectcallout:`roundrect`,wedgeellipsecallout:`ellipse`,wedgerectcallout:null},lr={adj:[],gd:[],paths:[{w:null,h:null,fill:null,stroke:!0,extrusionOk:!1,cmds:[[`m`,`l`,`t`],[`l`,`r`,`t`],[`l`,`r`,`b`],[`l`,`l`,`b`],[`c`]]}]};function ur(e,t,n){let r=e[n];if(typeof r==`number`)return r;let i=t.adj[n];return i&&Number(i[1].replace(/^val\\s+/,``))||0}function dr(e,t,n,r){let i=tr[e];if(!i)return null;if(e in cr){let a=ur(r,i,0),o=ur(r,i,1),s=t/2+t*a/1e5,c=n/2+n*o/1e5;if(s>=0&&s<=t&&c>=0&&c<=n){let t=cr[e];t===`roundrect`?(i=tr.roundrect,r=[ur(r,tr[e],2)]):t&&tr[t]?(i=tr[t],r=[]):(i=lr,r=[])}}return{def:i,adj:r}}function fr(e,t,n,r,i,a,o,s,c,l,u){let d=dr(t.toLowerCase(),i,a,o);if(!d)return!1;let{def:f}=d;o=d.adj;let p=ir(f,i,a,o),m=!1,h=f.paths.length-1;for(let t=0;t<f.paths.length;t++){let o=f.paths[t];e.beginPath(),er(e,o,p,n,r,i,a);let d=o.fill;if(d!==`none`&&s!=null){e.save(),e.fillStyle=s,e.fill();let t=mr(d);t&&(e.fillStyle=t,e.fill()),e.restore(),m||=(l(),!0)}if(o.stroke&&c){let e=t===h&&(o.fill===`none`||o.fill==null);u?.skipTrailingStroke&&e||c()}}return!0}function pr(e,t,n,r,i,a){let o=tr[e.toLowerCase()];if(!o||o.paths.length===0)return null;let s=o.paths[o.paths.length-1],c=ir(o,r,i,a),l=s.w==null?1:r/s.w,u=s.h==null?1:i/s.h,d=e=>t+e*l,f=e=>n+e*u,p=0,m=0,h=0,g=0,_=0,v=0,y=!1,b=0,x=0,S=[];for(let e of s.cmds)switch(e[0]){case`m`:h=d(c.resolve(e[1])),g=f(c.resolve(e[2])),p=h,m=g,S.push({x:h,y:g});break;case`l`:{let t=d(c.resolve(e[1])),n=f(c.resolve(e[2]));y||=(_=t-h,v=n-g,!0),b=t-h,x=n-g,h=t,g=n,S.push({x:h,y:g});break}case`C`:{let t=d(c.resolve(e[1])),n=f(c.resolve(e[2])),r=d(c.resolve(e[3])),i=f(c.resolve(e[4])),a=d(c.resolve(e[5])),o=f(c.resolve(e[6]));y||=(_=t-h,v=n-g,!0),b=a-r,x=o-i,h=a,g=o,S.push({x:h,y:g});break}}let C=Math.atan2(v,_)+Math.PI;return{start:{x:p,y:m,angle:C},end:{x:h,y:g,angle:Math.atan2(x,b)},vertices:S}}function mr(e){switch(e){case`lighten`:return`rgba(255,255,255,0.30)`;case`lightenLess`:return`rgba(255,255,255,0.15)`;case`darken`:return`rgba(0,0,0,0.30)`;case`darkenLess`:return`rgba(0,0,0,0.15)`;default:return null}}function hr(e,t,n,r,i,a,o,s=-Math.PI/2){let c=a*2;for(let l=0;l<c;l++){let c=s+l*Math.PI/a,u=l%2==0?1:o,d=t+r*u*Math.cos(c),f=n+i*u*Math.sin(c);l===0?e.moveTo(d,f):e.lineTo(d,f)}e.closePath()}function gr(e,t,n,r,i,a,o=-Math.PI/2){for(let s=0;s<a;s++){let c=o+s*2*Math.PI/a,l=t+r*Math.cos(c),u=n+i*Math.sin(c);s===0?e.moveTo(l,u):e.lineTo(l,u)}e.closePath()}function _r(e,t,n,r,i,a,o){let s=e=>Math.atan2(r*Math.sin(e),i*Math.cos(e)),c=s(a),l=s(a+o),u=t-r*Math.cos(c),d=n-i*Math.sin(c);return e.ellipse(u,d,Math.abs(r),Math.abs(i),0,c,l,o<0),{x:u+r*Math.cos(l),y:d+i*Math.sin(l)}}const vr={oval:`ellipse`,rtriangle:`rttriangle`,roundrectangle:`roundrect`,flowchartsumingjunction:`flowchartsummingjunction`},yr=new Set(`ellipse.rttriangle.triangle.diamond.trapezoid.roundrect.snip1rect.frame.irregularseal1.irregularseal2.star4.star8.star12.star16.star24.star32.line.straightconnector1.callout1.bordercallout1.leftuparrow.quadarrowcallout.mathequal.mathplus.mathminus.flowchartdecision.flowchartmanualinput.flowchartconnector.flowchartinputoutput.flowchartmerge.flowchartextract.flowchartpreparation.flowchartcollate`.split(`.`)),br=new Set([`accentcallout1`,`accentbordercallout1`,`flowchartpredefinedprocess`,`flowchartsort`,`flowchartinternalstorage`,`flowchartsummingjunction`]),xr=new Set([`round2samerect`,`round2diagrect`,`dodecagon`,`star10`]);function Sr(e,t,n,r,i,a,o=null,s=null,c=null,l=null){let u=n+i/2,d=r+a/2;{let u=t.toLowerCase(),d=vr[u]??u;if((yr.has(d)||br.has(d)||xr.has(d))&&or(e,d,n,r,i,a,[o,s,c,l]))return}switch(t.toLowerCase()){case`parallelogram`:{let t=i*Math.min(.5,(o??25e3)/1e5);e.moveTo(n+t,r),e.lineTo(n+i,r),e.lineTo(n+i-t,r+a),e.lineTo(n,r+a),e.closePath();break}case`pentagon`:gr(e,u,d,i/2,a/2,5);break;case`hexagon`:gr(e,u,d,i/2,a/2,6,0);break;case`heptagon`:gr(e,u,d,i/2,a/2,7);break;case`octagon`:gr(e,u,d,i/2,a/2,8,-Math.PI/8);break;case`decagon`:gr(e,u,d,i/2,a/2,10);break;case`star5`:case`star`:hr(e,u,d,i/2,a/2,5,(o??19098)/5e4);break;case`star6`:hr(e,u,d,i/2,a/2,6,(o??28868)/5e4,0);break;case`star7`:hr(e,u,d,i/2,a/2,7,(o??34142)/5e4);break;case`rightarrow`:{let t=a*Math.min(1,(o??5e4)/1e5),c=i*Math.min(1,(s??5e4)/1e5),l=r+(a-t)/2;e.moveTo(n,l),e.lineTo(n+i-c,l),e.lineTo(n+i-c,r),e.lineTo(n+i,d),e.lineTo(n+i-c,r+a),e.lineTo(n+i-c,l+t),e.lineTo(n,l+t),e.closePath();break}case`leftarrow`:{let t=a*Math.min(1,(o??5e4)/1e5),c=i*Math.min(1,(s??5e4)/1e5),l=r+(a-t)/2;e.moveTo(n+i,l),e.lineTo(n+c,l),e.lineTo(n+c,r),e.lineTo(n,d),e.lineTo(n+c,r+a),e.lineTo(n+c,l+t),e.lineTo(n+i,l+t),e.closePath();break}case`uparrow`:{let t=i*Math.min(1,(o??5e4)/1e5),c=a*Math.min(1,(s??5e4)/1e5),l=n+(i-t)/2;e.moveTo(u,r),e.lineTo(n+i,r+c),e.lineTo(l+t,r+c),e.lineTo(l+t,r+a),e.lineTo(l,r+a),e.lineTo(l,r+c),e.lineTo(n,r+c),e.closePath();break}case`downarrow`:{let t=i*Math.min(1,(o??5e4)/1e5),c=a*Math.min(1,(s??5e4)/1e5),l=n+(i-t)/2;e.moveTo(u,r+a),e.lineTo(n+i,r+a-c),e.lineTo(l+t,r+a-c),e.lineTo(l+t,r),e.lineTo(l,r),e.lineTo(l,r+a-c),e.lineTo(n,r+a-c),e.closePath();break}case`leftrightarrow`:{let t=a*Math.min(1,(o??5e4)/1e5),c=i*Math.min(.5,(s??25e3)/1e5),l=r+(a-t)/2;e.moveTo(n,d),e.lineTo(n+c,r),e.lineTo(n+c,l),e.lineTo(n+i-c,l),e.lineTo(n+i-c,r),e.lineTo(n+i,d),e.lineTo(n+i-c,r+a),e.lineTo(n+i-c,l+t),e.lineTo(n+c,l+t),e.lineTo(n+c,r+a),e.closePath();break}case`updownarrow`:{let t=i*Math.min(1,(o??5e4)/1e5),c=a*Math.min(.5,(s??25e3)/1e5),l=n+(i-t)/2;e.moveTo(u,r),e.lineTo(n+i,r+c),e.lineTo(l+t,r+c),e.lineTo(l+t,r+a-c),e.lineTo(n+i,r+a-c),e.lineTo(u,r+a),e.lineTo(n,r+a-c),e.lineTo(l,r+a-c),e.lineTo(l,r+c),e.lineTo(n,r+c),e.closePath();break}case`notchedrightarrow`:{let t=a*Math.min(1,(o??5e4)/1e5),c=i*Math.min(1,(s??35e3)/1e5),l=r+(a-t)/2,u=c*.43;e.moveTo(n,l),e.lineTo(n+i-c,l),e.lineTo(n+i-c,r),e.lineTo(n+i,d),e.lineTo(n+i-c,r+a),e.lineTo(n+i-c,l+t),e.lineTo(n,l+t),e.lineTo(n+u,d),e.closePath();break}case`chevron`:{let t=i*Math.min(1,Math.max(0,(o??5e4)/1e5));e.moveTo(n,r),e.lineTo(n+t,r),e.lineTo(n+i,d),e.lineTo(n+t,r+a),e.lineTo(n,r+a),t>0&&e.lineTo(n+t,d),e.closePath();break}case`homeplate`:{let t=a*.4;e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(n+i,r+a-t),e.lineTo(u,r+a),e.lineTo(n,r+a-t),e.closePath();break}case`leftbracket`:{let t=Math.min(a*Math.min(5e4,Math.max(0,o??8333))/1e5,a/2);e.moveTo(n+i,r),e.quadraticCurveTo(n,r,n,r+t),a-2*t>.5&&e.lineTo(n,r+a-t),e.quadraticCurveTo(n,r+a,n+i,r+a);break}case`rightbracket`:{let t=Math.min(a*Math.min(5e4,Math.max(0,o??8333))/1e5,a/2);e.moveTo(n,r),e.quadraticCurveTo(n+i,r,n+i,r+t),a-2*t>.5&&e.lineTo(n+i,r+a-t),e.quadraticCurveTo(n+i,r+a,n,r+a);break}case`leftbrace`:{let t=d,o=i*.45;e.moveTo(n+i,r),e.bezierCurveTo(n+i-o,r,n+i-o,t-a*.08,n,t),e.bezierCurveTo(n+i-o,t+a*.08,n+i-o,r+a,n+i,r+a);break}case`rightbrace`:{let t=d,o=i*.45;e.moveTo(n,r),e.bezierCurveTo(n+o,r,n+o,t-a*.08,n+i,t),e.bezierCurveTo(n+o,t+a*.08,n+o,r+a,n,r+a);break}case`wedgerectcallout`:{e.rect(n,r,i,a*.8);let t=n+i*.2,o=r+a;e.moveTo(n+i*.1,r+a*.8),e.lineTo(t,o),e.lineTo(n+i*.3,r+a*.8),e.closePath();break}case`wedgeellipsecallout`:{let t=(o??-2e4)/1e5*i,n=(s??12e4)/1e5*a,r=u+t,c=d+n;e.ellipse(u,d,i/2,a/2,0,0,Math.PI*2);let l=Math.atan2(n,t),f=Math.PI/10,p=i/2,m=a/2,h=u+p*Math.cos(l-f),g=d+m*Math.sin(l-f),_=u+p*Math.cos(l+f),v=d+m*Math.sin(l+f);e.moveTo(h,g),e.lineTo(r,c),e.lineTo(_,v),e.closePath();break}case`cloudcallout`:{let t=Math.min(i,a)*.22,n=[[u-i*.25,r+a*.35],[u-i*.1,r+a*.15],[u+i*.1,r+a*.1],[u+i*.28,r+a*.2],[u+i*.35,r+a*.4]];e.moveTo(n[0][0]-t,n[0][1]);for(let[r,i]of n)e.arc(r,i,t,Math.PI,0);e.arc(u,r+a*.65,i*.45,0,Math.PI),e.closePath();let c=u+(o??-2e4)/1e5*i,l=d+(s??12e4)/1e5*a;e.moveTo(u+i*.05,r+a*.8),e.arc(c,l,Math.min(i,a)*.07,0,Math.PI*2);break}case`bentconnector2`:case`bentconnector3`:case`bentconnector4`:case`bentconnector5`:case`curvedconnector2`:case`curvedconnector3`:case`curvedconnector4`:case`curvedconnector5`:e.moveTo(n,r),e.lineTo(n+i,r+a);break;case`heart`:e.moveTo(u,r+a*.32),e.bezierCurveTo(u,r,n+i*.05,r,n,r+a*.3),e.bezierCurveTo(n,r+a*.68,u-i*.05,r+a*.78,u,r+a),e.bezierCurveTo(u+i*.05,r+a*.78,n+i,r+a*.68,n+i,r+a*.3),e.bezierCurveTo(n+i-i*.05,r,u,r,u,r+a*.32);break;case`donut`:{let t=i/2,n=a/2,r=Math.min(t,n)*(o??25e3)/1e5,s=t-r,c=n-r;e.ellipse(u,d,t,n,0,0,Math.PI*2,!1),e.moveTo(u+s,d),e.ellipse(u,d,s,c,0,0,Math.PI*2,!0);break}case`nosmoking`:case`nosmokingsign`:{let t=(o??18750)/1e5,n=i/2,r=a/2,s=n*(1-2*t),c=r*(1-2*t);e.ellipse(u,d,n,r,0,0,Math.PI*2,!1),e.moveTo(u+s,d),e.ellipse(u,d,s,c,0,0,Math.PI*2,!0),e.moveTo(u+s,d),e.ellipse(u,d,s,c,0,0,Math.PI/2,!1),e.lineTo(u-s,d),e.ellipse(u,d,s,c,0,Math.PI,3*Math.PI/2,!1),e.closePath();break}case`pie`:{let t=(o??0)/216e5*Math.PI*2,n=(s??162e5)/216e5*Math.PI*2;e.moveTo(u,d),e.arc(u,d,Math.min(i,a)/2,t,n),e.closePath();break}case`cloud`:{let t=a*.28;e.arc(n+i*.25,r+a*.55,t,Math.PI,Math.PI*1.8),e.arc(n+i*.45,r+a*.35,t*1.1,Math.PI*1.3,Math.PI*1.9),e.arc(n+i*.65,r+a*.4,t,Math.PI*1.5,Math.PI*2),e.arc(n+i*.8,r+a*.6,t*.9,Math.PI*1.6,Math.PI*.1),e.arc(n+i*.55,r+a*.75,t,0,Math.PI*.7),e.arc(n+i*.25,r+a*.7,t*.9,0,Math.PI),e.closePath();break}case`funnel`:e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(u+i*.15,r+a),e.lineTo(u-i*.15,r+a),e.closePath();break;case`smileyface`:{e.ellipse(u,d,i/2,a/2,0,0,Math.PI*2),e.closePath();let t=i*.05,n=a*.05,r=d-a*.12;e.moveTo(u-i*.2+t,r),e.ellipse(u-i*.2,r,t,n,0,0,Math.PI*2),e.moveTo(u+i*.2+t,r),e.ellipse(u+i*.2,r,t,n,0,0,Math.PI*2),e.moveTo(u-i*.25,d+a*.05),e.quadraticCurveTo(u,d+a*.3,u+i*.25,d+a*.05);break}case`document`:case`foldedcorner`:{let t=Math.min(i,a)*.15;e.moveTo(n,r),e.lineTo(n+i-t,r),e.lineTo(n+i,r+t),e.lineTo(n+i,r+a),e.lineTo(n,r+a),e.closePath(),e.moveTo(n+i-t,r),e.lineTo(n+i-t,r+t),e.lineTo(n+i,r+t);break}case`snip2samerect`:{let t=Math.min(i,a)*Math.min(5e4,Math.max(0,o??16667))/1e5;e.moveTo(n,r),e.lineTo(n+i-t,r),e.lineTo(n+i,r+t),e.lineTo(n+i,r+a),e.lineTo(n+t,r+a),e.lineTo(n,r+a-t),e.closePath();break}case`snip2diagrect`:{let t=Math.min(i,a)*Math.min(5e4,Math.max(0,o??16667))/1e5;e.moveTo(n+t,r),e.lineTo(n+i-t,r),e.lineTo(n+i,r+t),e.lineTo(n+i,r+a-t),e.lineTo(n+i-t,r+a),e.lineTo(n+t,r+a),e.lineTo(n,r+a-t),e.lineTo(n,r+t),e.closePath();break}case`sniproundrect`:{let t=Math.min(i,a)*Math.min(5e4,Math.max(0,o??16667))/1e5;e.moveTo(n+t,r),e.lineTo(n+i-t,r),e.lineTo(n+i,r+t),e.lineTo(n+i,r+a),e.lineTo(n,r+a),e.quadraticCurveTo(n,r,n+t,r),e.closePath();break}case`round1rect`:{let t=Math.min(i,a)*Math.min(5e4,Math.max(0,o??16667))/1e5;e.moveTo(n+t,r),e.lineTo(n+i,r),e.lineTo(n+i,r+a),e.lineTo(n,r+a),e.lineTo(n,r+t),e.quadraticCurveTo(n,r,n+t,r),e.closePath();break}case`plaque`:{let t=Math.min(i,a)*.25;e.moveTo(n+t,r),e.lineTo(n+i-t,r),e.quadraticCurveTo(n+i,r,n+i,r+t),e.lineTo(n+i,r+a-t),e.quadraticCurveTo(n+i,r+a,n+i-t,r+a),e.lineTo(n+t,r+a),e.quadraticCurveTo(n,r+a,n,r+a-t),e.lineTo(n,r+t),e.quadraticCurveTo(n,r,n+t,r),e.closePath();break}case`can`:{let t=a*.1;e.ellipse(u,r+t,i/2,t,0,0,Math.PI*2),e.moveTo(n,r+t),e.lineTo(n,r+a-t),e.ellipse(u,r+a-t,i/2,t,0,Math.PI,2*Math.PI),e.lineTo(n+i,r+t);break}case`cube`:{let t=Math.min(i,a)*.2;e.moveTo(n+t,r),e.lineTo(n+i,r),e.lineTo(n+i,r+a-t),e.lineTo(n+i-t,r+a),e.lineTo(n,r+a),e.lineTo(n,r+t),e.closePath(),e.moveTo(n+t,r),e.lineTo(n+t,r+t),e.lineTo(n+i-t,r+t),e.moveTo(n+t,r+t),e.lineTo(n,r+t);break}case`bevel`:{let t=Math.min(i,a)*.1;e.rect(n,r,i,a),e.moveTo(n,r),e.lineTo(n+t,r+t),e.lineTo(n+i-t,r+t),e.lineTo(n+i,r),e.moveTo(n+i-t,r+t),e.lineTo(n+i-t,r+a-t),e.lineTo(n+i,r+a),e.moveTo(n+i-t,r+a-t),e.lineTo(n+t,r+a-t),e.lineTo(n,r+a),e.moveTo(n+t,r+a-t),e.lineTo(n+t,r+t);break}case`halfframe`:{let t=Math.min(i,a)*.25;e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(n+i,r+t),e.lineTo(n+t,r+t),e.lineTo(n+t,r+a),e.lineTo(n,r+a),e.closePath();break}case`corner`:{let t=Math.min(i,a)*.25;e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(n+i,r+t),e.lineTo(n+t,r+t),e.lineTo(n+t,r+a),e.lineTo(n,r+a),e.closePath();break}case`flowchartalternateprocess`:case`flowchartprocess`:{let t=Math.min(i,a)*Math.min(5e4,Math.max(0,o??16667))/1e5;e.roundRect(n,r,i,a,[{x:t,y:t}]);break}case`flowchartterminator`:{let t=Math.min(i,a)/2;e.roundRect(n,r,i,a,[{x:t,y:t}]);break}case`flowchartdocument`:{let t=a*.1;e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(n+i,r+a-t),e.bezierCurveTo(n+i*.75,r+a,n+i*.25,r+a-t*2,n,r+a-t),e.closePath();break}case`moon`:e.arc(u,d,Math.min(i,a)/2,-Math.PI/2,Math.PI/2),e.arc(u-i*.2,d,Math.min(i,a)/2,Math.PI/2,-Math.PI/2,!0),e.closePath();break;case`arc`:{let t=216e5,n=(o??162e5)/t*Math.PI*2,r=(s??54e5)/t*Math.PI*2;e.ellipse(u,d,i/2,a/2,0,n,n+r,r<0);break}case`mathmultiply`:{let t=Math.min(i,a)*Math.min(51965,Math.max(0,o??23520))/1e5,s=Math.atan2(a,i),c=Math.sin(s),l=Math.cos(s),u=t/2*c,d=t/2*l;e.moveTo(n+u,r-d),e.lineTo(n-u,r+d),e.lineTo(n+i-u,r+a+d),e.lineTo(n+i+u,r+a-d),e.closePath(),e.moveTo(n+i-u,r-d),e.lineTo(n+i+u,r+d),e.lineTo(n+u,r+a+d),e.lineTo(n-u,r+a-d),e.closePath();break}case`mathdivide`:{let t=Math.min(36745,Math.max(1e3,o??23520)),n=(73490+-t)/4,l=36745*i/a,f=Math.min(Math.min(n,l),Math.max(1e3,c??11760)),p=73490+4*f-t,m=Math.min(p,Math.max(0,s??5880)),h=a*t/2e5,g=a*m/1e5,_=a*f/1e5,v=i*73490/2e5,y=d-h,b=d+h,x=y-(g+_)-_,S=r+a-x,C=u-v,w=u+v;e.rect(C,y,w-C,b-y),e.moveTo(u+_,x+_),e.arc(u,x+_,_,0,Math.PI*2),e.moveTo(u+_,S-_),e.arc(u,S-_,_,0,Math.PI*2);break}case`quadarrow`:{let t=i*(o??23e3)/1e5,c=i*(s??3e4)/1e5,l=n+(i-t)/2,f=r+(a-t)/2;e.moveTo(u,r),e.lineTo(n+i-c,r+c),e.lineTo(n+i-c,f),e.lineTo(l+t,f),e.lineTo(l+t,r+c),e.lineTo(n+c,r+c),e.lineTo(n+i,d),e.lineTo(n+i-c,r+a-c),e.lineTo(l+t,r+a-c),e.lineTo(l+t,f+t),e.lineTo(n+i-c,f+t),e.lineTo(n+i-c,r+a-c),e.lineTo(u,r+a),e.lineTo(n+c,r+a-c),e.lineTo(n+c,f+t),e.lineTo(l,f+t),e.lineTo(l,r+a-c),e.lineTo(n,d),e.lineTo(n+c,r+c),e.lineTo(l,r+c),e.lineTo(l,f),e.lineTo(n+c,f),e.closePath();break}case`wave`:{let t=a*(o??12500)/1e5,s=r+t,c=r+a-t;e.moveTo(n,s),e.bezierCurveTo(n+i*.25,r,n+i*.25,r+t*2,n+i*.5,s),e.bezierCurveTo(n+i*.75,r+t*2,n+i*.75,r,n+i,s),e.lineTo(n+i,c),e.bezierCurveTo(n+i*.75,r+a,n+i*.75,r+a-t*2,n+i*.5,c),e.bezierCurveTo(n+i*.25,r+a-t*2,n+i*.25,r+a,n,c),e.closePath();break}case`doublewave`:{let t=a*(o??6250)/1e5,s=r+t,c=r+a-t;e.moveTo(n,s),e.bezierCurveTo(n+i*.25,r,n+i*.25,r+t*2,n+i*.5,s),e.bezierCurveTo(n+i*.75,r+t*2,n+i*.75,r,n+i,s),e.lineTo(n+i,c),e.bezierCurveTo(n+i*.75,r+a,n+i*.75,r+a-t*2,n+i*.5,c),e.bezierCurveTo(n+i*.25,r+a-t*2,n+i*.25,r+a,n,c),e.closePath();break}case`sun`:{let t=Math.min(i,a)/2,n=t*((o??25e3)/1e5+.5),r=Math.min(n,t*.9),s=Math.PI/16;for(let n=0;n<8;n++){let i=n/8*Math.PI*2;e.moveTo(u+r*Math.cos(i-s),d+r*Math.sin(i-s)),e.lineTo(u+t*Math.cos(i),d+t*Math.sin(i)),e.lineTo(u+r*Math.cos(i+s),d+r*Math.sin(i+s)),e.closePath()}e.moveTo(u+r,d),e.arc(u,d,r,0,Math.PI*2);break}case`lightningbolt`:e.moveTo(u+i*.1,r),e.lineTo(n,d-a*.05),e.lineTo(u+i*.05,d-a*.05),e.lineTo(u-i*.1,r+a),e.lineTo(n+i,d+a*.05),e.lineTo(u-i*.05,d+a*.05),e.closePath();break;case`bracketpair`:{let t=a*Math.min(5e4,Math.max(0,o??8333))/1e5;e.moveTo(n+i*.4,r),e.quadraticCurveTo(n,r,n,r+t),a-2*t>0&&e.lineTo(n,r+a-t),e.quadraticCurveTo(n,r+a,n+i*.4,r+a),e.moveTo(n+i*.6,r),e.quadraticCurveTo(n+i,r,n+i,r+t),a-2*t>0&&e.lineTo(n+i,r+a-t),e.quadraticCurveTo(n+i,r+a,n+i*.6,r+a);break}case`bracepair`:{let t=i*.2;e.moveTo(n+i*.4,r),e.bezierCurveTo(n+i*.4-t,r,n+i*.4-t,d-a*.08,n,d),e.bezierCurveTo(n+i*.4-t,d+a*.08,n+i*.4-t,r+a,n+i*.4,r+a),e.moveTo(n+i*.6,r),e.bezierCurveTo(n+i*.6+t,r,n+i*.6+t,d-a*.08,n+i,d),e.bezierCurveTo(n+i*.6+t,d+a*.08,n+i*.6+t,r+a,n+i*.6,r+a);break}case`chord`:{let t=(o??27e5)/216e5*Math.PI*2,n=(s??162e5)/216e5*Math.PI*2;e.ellipse(u,d,i/2,a/2,0,t,n),e.closePath();break}case`blockarc`:{let t=Math.min(i,a)/2,n=o??108e5,r=s??0,l=t*(1-(c??25e3)/1e5),f=n/216e5*Math.PI*2,p=r/216e5*Math.PI*2;e.arc(u,d,t,f,p,!1),e.arc(u,d,l,p,f,!0),e.closePath();break}case`teardrop`:{let t=Math.min(i,a)*.4,o=n+t,s=r+a-t;e.arc(o,s,t,0,Math.PI*2*.75),e.bezierCurveTo(o-t*.1,s-t,n+i-t,r+t,n+i,r),e.bezierCurveTo(n+i-t*.2,r+t*.5,o+t,s-t*1.1,o+t,s),e.closePath();break}case`diagstripe`:{let t=a*(o??5e4)/1e5*i/a;e.moveTo(n+t,r),e.lineTo(n+i,r),e.lineTo(n+i-t,r+a),e.lineTo(n,r+a),e.closePath();break}case`wedgeroundrectcallout`:{let t=Math.min(i,a)*.1;e.roundRect(n,r,i,a*.85,t),e.moveTo(n+i*.1,r+a*.85),e.lineTo(n+i*.2,r+a),e.lineTo(n+i*.3,r+a*.85),e.closePath();break}case`rightarrowcallout`:{let t=a*(o??5e4)/1e5,c=i*(s??5e4)/1e5,l=r+(a-t)/2;e.rect(n,l,c,t),e.moveTo(n+c,r),e.lineTo(n+i,d),e.lineTo(n+c,r+a),e.closePath();break}case`leftarrowcallout`:{let t=a*(o??5e4)/1e5,c=i*(s??5e4)/1e5,l=r+(a-t)/2;e.rect(n+i-c,l,c,t),e.moveTo(n+i-c,r),e.lineTo(n,d),e.lineTo(n+i-c,r+a),e.closePath();break}case`uparrowcallout`:{let t=i*(o??5e4)/1e5,c=a*(s??5e4)/1e5,l=n+(i-t)/2;e.rect(l,r+c,t,a-c),e.moveTo(n,r+c),e.lineTo(u,r),e.lineTo(n+i,r+c),e.closePath();break}case`downarrowcallout`:{let t=i*(o??5e4)/1e5,c=a*(s??5e4)/1e5,l=n+(i-t)/2;e.rect(l,r,t,a-c),e.moveTo(n,r+a-c),e.lineTo(u,r+a),e.lineTo(n+i,r+a-c),e.closePath();break}case`leftrightarrowcallout`:{let t=a*(o??5e4)/1e5,c=i*(s??25e3)/1e5,l=r+(a-t)/2;e.rect(n+c,l,i-2*c,t),e.moveTo(n+c,r),e.lineTo(n,d),e.lineTo(n+c,r+a),e.closePath(),e.moveTo(n+i-c,r),e.lineTo(n+i,d),e.lineTo(n+i-c,r+a),e.closePath();break}case`leftrightuparrow`:{let t=i*(o??25e3)/1e5,c=a*(s??3e4)/1e5,l=n+(i-t)/2;e.moveTo(u,r),e.lineTo(n+i,r+c),e.lineTo(l+t,r+c),e.lineTo(l+t,r+a),e.lineTo(l,r+a),e.lineTo(l,r+c),e.lineTo(n,r+c),e.closePath();break}case`uturnarrow`:{let t=i*(o??25e3)/1e5,s=(i-t)/2,c=Math.max(0,s-t),l=n+t+s,u=r+t+s,d=t*2,f=r+a-t*2.5;e.moveTo(n,r+a),e.lineTo(n,u),e.arc(l,u,s,Math.PI,0),e.lineTo(n+i,f),e.lineTo(n+i+(d-t)/2,f),e.lineTo(l+t/2,r+a),e.lineTo(n+i-(d-t)/2-t,f),e.lineTo(n+i-t,f),e.lineTo(n+i-t,u),e.arc(l,u,c,0,Math.PI,!0),e.lineTo(n+t,r+a),e.closePath();break}case`bentarrow`:case`bentuparrow`:{let t=Math.min(i,a)*.25;e.moveTo(n,d-t/2),e.lineTo(n+i-t*2,d-t/2),e.lineTo(n+i-t*2,r+t),e.lineTo(n+i,d),e.lineTo(n+i-t*2,r+a-t),e.lineTo(n+i-t*2,d+t/2),e.lineTo(n,d+t/2),e.closePath();break}case`plus`:{let t=Math.min(i,a)*(o??25e3)/1e5;e.rect(u-t,r,2*t,a),e.rect(n,d-t,i,2*t);break}case`mathnotequal`:{let t=Math.min(5e4,Math.max(0,o??23520)),n=Math.min(66e5,Math.max(42e5,s??66e5)),l=Math.min(1e5-2*t,Math.max(0,c??11760)),f=a*t/1e5,p=a*l/2e5,m=i*73490/2e5,h=a/2,g=(n/6e4-90)*Math.PI/180,_=h*Math.tan(g),v=Math.hypot(_,h)*f/h;e.rect(u-m,d-p-f,2*m,f),e.rect(u-m,d+p,2*m,f),e.moveTo(u+_-v/2,r),e.lineTo(u+_+v/2,r),e.lineTo(u-_+v/2,r+a),e.lineTo(u-_-v/2,r+a),e.closePath();break}case`flowchartdelay`:{let t=a/2;e.moveTo(n,r),e.lineTo(n+i-t,r),e.arc(n+i-t,d,t,-Math.PI/2,Math.PI/2),e.lineTo(n,r+a),e.closePath();break}case`flowchartdisplay`:{let t=i*.2,o=i*.15;e.moveTo(n+t,r),e.lineTo(n+i-o,r),e.arc(n+i-o,d,a/2,-Math.PI/2,Math.PI/2),e.lineTo(n+t,r+a),e.lineTo(n,d),e.closePath();break}case`flowchartpunchedcard`:{let t=i*.2;e.moveTo(n+t,r),e.lineTo(n+i,r),e.lineTo(n+i-t,r+a),e.lineTo(n,r+a),e.closePath();break}case`flowchartoffpageconnector`:{let t=a*.3;e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(n+i,r+a-t),e.lineTo(u,r+a),e.lineTo(n,r+a-t),e.closePath();break}case`flowchartonlinestorage`:case`flowchartmanuallabel`:case`flowchartpuncheddisk`:e.rect(n,r,i,a);break;case`horizontalscroll`:{let t=Math.min(i,a)*.15;e.roundRect(n+t,r,i-t,a,t),e.moveTo(n+t,r+t*2),e.arc(n+t,r+t,t,Math.PI/2,Math.PI*2.5);break}case`verticalscroll`:{let t=Math.min(i,a)*.15;e.roundRect(n,r+t,i,a-t,t),e.moveTo(n+t*2,r+t),e.arc(n+t,r+t,t,0,Math.PI*2);break}case`ribbon`:{let t=Math.min(33333,Math.max(0,o??16667)),c=i*Math.min(75e3,Math.max(25e3,s??5e4))/2e5,l=i/8,u=i/32,d=i/2-c,f=i/2+c,p=d+u,m=f-u,h=d+l,g=f-l,_=h-u,v=g+u,y=i-l,b=a*t/2e5,x=a*t/1e5,S=a-x,C=S/2;e.moveTo(n,r),e.lineTo(n+_,r),e.lineTo(n+p,r+b),e.lineTo(n+m,r+x),e.lineTo(n+v,r+b),e.lineTo(n+i,r),e.lineTo(n+y,r+C),e.lineTo(n+i,r+S),e.lineTo(n+f,r+S),e.lineTo(n+f,r+a),e.lineTo(n+p,r+a),e.lineTo(n+d,r+S),e.lineTo(n,r+S),e.lineTo(n+l,r+C),e.closePath();break}case`ribbon2`:{let t=Math.min(33333,Math.max(0,o??16667)),c=i*Math.min(75e3,Math.max(25e3,s??5e4))/2e5,l=i/8,u=i/32,d=i/2-c,f=i/2+c,p=d+u,m=f-u,h=d+l,g=f-l,_=h-u,v=g+u,y=i-l,b=a*t/2e5,x=a*t/1e5,S=a-b,C=a-x,w=x,T=(w+a)/2;e.moveTo(n,r+a),e.lineTo(n+_,r+a),e.lineTo(n+p,r+S),e.lineTo(n+m,r+C),e.lineTo(n+v,r+S),e.lineTo(n+i,r+a),e.lineTo(n+y,r+T),e.lineTo(n+i,r+w),e.lineTo(n+f,r+w),e.lineTo(n+f,r),e.lineTo(n+p,r),e.lineTo(n+d,r+w),e.lineTo(n,r+w),e.lineTo(n+l,r+T),e.closePath();break}case`ellipseribbon`:{let t=Math.min(1e5,Math.max(0,o??25e3)),l=Math.min(75e3,Math.max(25e3,s??5e4)),u=Math.max(0,t-(1e5-t)/2),d=Math.min(t,Math.max(u,c??12500)),f=i/8,p=i*l/2e5,m=i/2-p,h=m+f,g=i-h,_=i-m,v=i-f,y=a*d/1e5,b=4*y/i,x=b*(h-h*h/i),S=h/2,C=b*S,w=i-S,T=a*t/1e5,E=T-y,D=b*(m-m*m/i),O=D+E,k=y+E-O+y+E,A=a-T,j=(y*14/16+A)/2,M=D+A,N=O+A,ee=m/2,te=b*ee+A,ne=i-ee,re=k+A;e.moveTo(n,r),e.quadraticCurveTo(n+S,r+C,n+h,r+x),e.lineTo(n+m,r+O),e.quadraticCurveTo(n+i/2,r+k,n+_,r+O),e.lineTo(n+g,r+x),e.quadraticCurveTo(n+w,r+C,n+i,r),e.lineTo(n+v,r+j),e.lineTo(n+i,r+A),e.quadraticCurveTo(n+ne,r+te,n+_,r+M),e.lineTo(n+_,r+N),e.quadraticCurveTo(n+i/2,r+re,n+m,r+N),e.lineTo(n+m,r+M),e.quadraticCurveTo(n+ee,r+te,n,r+A),e.lineTo(n+f,r+j),e.closePath();break}case`ellipseribbon2`:{let t=Math.min(1e5,Math.max(0,o??25e3)),l=Math.min(75e3,Math.max(25e3,s??5e4)),u=Math.max(0,t-(1e5-t)/2),d=Math.min(t,Math.max(u,c??12500)),f=i/8,p=i*l/2e5,m=i/2-p,h=m+f,g=i-h,_=i-m,v=i-f,y=a*d/1e5,b=4*y/i,x=a-b*(h-h*h/i),S=h/2,C=a-b*S,w=i-S,T=a*t/1e5,E=T-y,D=b*(m-m*m/i),O=D+E,k=a-O,A=y+E-O+y+E,j=a-A,M=a-T,N=a-(y*14/16+M)/2,ee=a-(D+M),te=a-(O+M),ne=m/2,re=a-(b*ne+M),P=i-ne,F=a-(A+M);e.moveTo(n,r+a),e.quadraticCurveTo(n+S,r+C,n+h,r+x),e.lineTo(n+m,r+k),e.quadraticCurveTo(n+i/2,r+j,n+_,r+k),e.lineTo(n+g,r+x),e.quadraticCurveTo(n+w,r+C,n+i,r+a),e.lineTo(n+v,r+N),e.lineTo(n+i,r+T),e.quadraticCurveTo(n+P,r+re,n+_,r+ee),e.lineTo(n+_,r+te),e.quadraticCurveTo(n+i/2,r+F,n+m,r+te),e.lineTo(n+m,r+ee),e.quadraticCurveTo(n+ne,r+re,n,r+T),e.lineTo(n+f,r+N),e.closePath();break}case`circulararrow`:{let t=(s??0)/6e4*Math.PI/180,n=(o??162e5)/6e4*Math.PI/180,r=(c??5e4)/1e5,l=Math.min(i,a)/2,f=l*(1-r),p=(l+f)/2,m=l-f,h=t+n;e.arc(u,d,l,t,h,!1),e.arc(u,d,f,h,t,!0),e.closePath();let g=Math.sin(h),_=-Math.cos(h),v=m*1.5,y=u+p*Math.cos(h)+v*g,b=d+p*Math.sin(h)+v*_;e.moveTo(y,b),e.lineTo(u+l*Math.cos(h),d+l*Math.sin(h)),e.lineTo(u+f*Math.cos(h),d+f*Math.sin(h)),e.closePath();break}case`curvedrightarrow`:{let t=Math.min(i,a),l=a/2,u=5e4*a/t,d=Math.min(u,Math.max(0,s??5e4)),f=t*Math.min(d,Math.max(0,o??25e3))/1e5,p=t*d/1e5,m=l-(f+p)/4,h=(2*m)**2-f**2,g=1e5*(Math.sqrt(Math.max(0,h))*i/(2*m))/t,_=t*Math.min(g,Math.max(0,c??25e3))/1e5,v=Math.sqrt(Math.max(0,i*i-_*_))*m/i,y=m+f,b=m+v,x=y+v,S=(p-f)/2,C=b-S,w=x+S,T=a-p/2,E=i-_,D=Math.atan2(_,v),O=-D,k=Math.PI-D;e.moveTo(n,r+m),_r(e,n,r+m,i,m,Math.PI,O),e.lineTo(n+E,r+C),e.lineTo(n+i,r+T),e.lineTo(n+E,r+w),e.lineTo(n+E,r+x),_r(e,n+E,r+x,i,m,k,D),e.closePath();break}case`curvedleftarrow`:{let t=Math.min(i,a),l=a/2,u=5e4*a/t,d=Math.min(u,Math.max(0,s??5e4)),f=t*Math.min(d,Math.max(0,o??25e3))/1e5,p=t*d/1e5,m=l-(f+p)/4,h=(2*m)**2-f**2,g=Math.sqrt(Math.max(0,h))*i/(2*m),_=1e5*g/t,v=t*Math.min(_,Math.max(0,c??25e3))/1e5,y=Math.sqrt(Math.max(0,i*i-v*v))*m/i,b=m+f,x=m+y,S=b+y,C=(p-f)/2,w=x-C,T=S+C,E=a-p/2,D=v,O=Math.atan2(v,y),k=f/2,A=Math.atan2(k,g),j=A-O,M=O-A,N=-A;e.moveTo(n,r+E),e.lineTo(n+D,r+w),e.lineTo(n+D,r+x);let ee=_r(e,n+D,r+x,i,m,O,j);_r(e,ee.x,ee.y,i,m,N,M),e.lineTo(n+D,r+T),e.closePath();break}case`curveduparrow`:{let t=Math.min(i,a),l=i/2,u=5e4*i/t,d=Math.min(u,Math.max(0,s??5e4)),f=t*Math.min(1e5,Math.max(0,o??25e3))/1e5,p=t*d/1e5,m=l-(f+p)/4,h=(2*m)**2-f**2,g=Math.sqrt(Math.max(0,h))*a/(2*m),_=1e5*g/t,v=t*Math.min(_,Math.max(0,c??25e3))/1e5,y=Math.sqrt(Math.max(0,a*a-v*v))*m/a,b=m+f,x=m+y,S=b+y,C=(p-f)/2,w=x-C,T=S+C,E=i-p/2,D=v,O=Math.atan2(v,y),k=f/2,A=Math.atan2(k,g),j=A-O,M=O-A,N=Math.PI/2-O,ee=Math.PI/2-A;e.moveTo(n+E,r),e.lineTo(n+T,r+D),e.lineTo(n+S,r+D);let te=_r(e,n+S,r+D,m,a,N,M);_r(e,te.x,te.y,m,a,ee,j),e.lineTo(n+w,r+D),e.closePath();break}case`curveddownarrow`:{let t=Math.min(i,a),l=i/2,u=5e4*i/t,d=Math.min(u,Math.max(0,s??5e4)),f=t*Math.min(1e5,Math.max(0,o??25e3))/1e5,p=t*d/1e5,m=l-(f+p)/4,h=(2*m)**2-f**2,g=Math.sqrt(Math.max(0,h))*a/(2*m),_=1e5*g/t,v=t*Math.min(_,Math.max(0,c??25e3))/1e5,y=Math.sqrt(Math.max(0,a*a-v*v))*m/a,b=m+f,x=m+y,S=b+y,C=(p-f)/2,w=x-C,T=S+C,E=i-p/2,D=a-v,O=Math.atan2(v,y),k=f/2,A=Math.atan2(k,g),j=3*Math.PI/2+O;3*Math.PI/2-A,A-Math.PI/2,Math.PI/2-A,e.moveTo(n+E,r+a),e.lineTo(n+w,r+D),e.lineTo(n+x,r+D),_r(e,n+x,r+D,m,a,j,-O),e.lineTo(n+b,r),_r(e,n+b,r,m,a,3*Math.PI/2,O),e.lineTo(n+T,r+D),e.closePath();break}case`stripedrightarrow`:{let t=Math.min(i,a),c=t/32,l=t/16,u=t/8,f=t*(o??5e4)/1e5,p=i*(s??5e4)/1e5,m=d-f/2,h=d+f/2,g=n+i-p;e.rect(n,m,c,f),e.rect(n+l,m,l,f),e.rect(n+u,m,u,f),e.moveTo(g,m),e.lineTo(g,r),e.lineTo(n+i,d),e.lineTo(g,r+a),e.lineTo(g,h),e.lineTo(n+u*2,h),e.lineTo(n+u*2,m),e.closePath();break}case`flowchartmagneticdisk`:{let t=a*.15;e.moveTo(n,r+t),e.ellipse(u,r+t,i/2,t,0,Math.PI,0),e.lineTo(n+i,r+a-t),e.ellipse(u,r+a-t,i/2,t,0,0,Math.PI),e.lineTo(n,r+t),e.closePath(),e.moveTo(n+i,r+t),e.ellipse(u,r+t,i/2,t,0,0,Math.PI);break}case`flowchartmagneticdrum`:{let t=i*.15;e.moveTo(n+t,r),e.lineTo(n+i,r),e.lineTo(n+i,r+a),e.lineTo(n+t,r+a),e.ellipse(n+t,d,t,a/2,0,Math.PI/2,-Math.PI/2,!0),e.closePath(),e.moveTo(n+i,r),e.ellipse(n+i,d,t,a/2,0,-Math.PI/2,Math.PI/2);break}case`flowchartmagnetictape`:{let t=Math.min(i,a)/2,n=u+t*.5;e.moveTo(u,r+a),e.arc(u,d,t,Math.PI/2,Math.PI/2+Math.PI*2*.875),e.lineTo(n,d+t*.5),e.lineTo(n,r+a),e.closePath();break}case`flowchartpunchedtape`:{let t=a*.12;e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(n+i,r+a-t),e.bezierCurveTo(n+i*.75,r+a,n+i*.25,r+a-t*2,n,r+a-t),e.closePath(),e.moveTo(n,r+t),e.bezierCurveTo(n+i*.25,r,n+i*.75,r+t*2,n+i,r+t);break}case`flowchartmanualoperation`:{let t=i*.15;e.moveTo(n+t,r),e.lineTo(n+i-t,r),e.lineTo(n+i,r+a),e.lineTo(n,r+a),e.closePath();break}case`flowchartmultidocument`:{let t=a*.1,o=i*.04;e.rect(n+o*2,r-a*.08,i-o*2,a*.1),e.rect(n+o,r-a*.04,i-o,a*.06),e.moveTo(n,r),e.lineTo(n+i,r),e.lineTo(n+i,r+a-t),e.bezierCurveTo(n+i*.75,r+a,n+i*.25,r+a-t*2,n,r+a-t),e.closePath();break}case`rttriangle`:e.moveTo(n,r),e.lineTo(n,r+a),e.lineTo(n+i,r+a),e.closePath();break;default:e.rect(n,r,i,a);break}}function Cr(e,t,n){let r=Math.max(.5,t.width*n),i=e.w===`sm`?4:e.w===`lg`?8:6,a=e.len===`sm`?4:e.len===`lg`?8:6;return{lw:r,halfW:r*i/2,len:r*a}}const wr=new Set([`triangle`,`stealth`,`diamond`,`oval`]);function Tr(e,t,n){return wr.has(e.type)?Cr(e,t,n).len:0}function Er(e,t,n){if(n<=0)return{x:e.x,y:e.y};let r=t.x-e.x,i=t.y-e.y,a=Math.hypot(r,i);if(a<1e-9)return{x:e.x,y:e.y};let o=Math.min(n,a)/a;return{x:e.x+r*o,y:e.y+i*o}}function Dr(e,t,n,r,i,a,o,s){if(i.type===`none`)return;let{lw:c,halfW:l,len:u}=Cr(i,a,o),d=s??ft(a.color);switch(e.save(),e.translate(t,n),e.rotate(r),e.fillStyle=d,e.strokeStyle=d,e.lineWidth=c,e.setLineDash([]),e.beginPath(),i.type){case`triangle`:case`stealth`:e.moveTo(0,0),e.lineTo(-u,-l),e.lineTo(-u,l),e.closePath(),e.fill();break;case`arrow`:e.lineCap=`round`,e.lineJoin=`round`,e.moveTo(-u,-l),e.lineTo(0,0),e.lineTo(-u,l),e.stroke();break;case`diamond`:e.moveTo(0,0),e.lineTo(-u/2,-l),e.lineTo(-u,0),e.lineTo(-u/2,l),e.closePath(),e.fill();break;case`oval`:e.ellipse(-u/2,0,u/2,l,0,0,Math.PI*2),e.fill();break}e.restore()}function Or(e,t,n){let{x:r,y:i,w:a,h:o}=t.rect,{rotationDeg:s,flipH:c,flipV:l}=t.transform;e.save();try{(s!==0||c||l)&&(e.translate(r+a/2,i+o/2),s!==0&&e.rotate(s*Math.PI/180),e.scale(c?-1:1,l?-1:1),e.translate(-(r+a/2),-(i+o/2))),n()}finally{e.restore()}}function kr(e,t){let{x:n,y:r,w:i,h:a}=t.rect;if(e.beginPath(),t.geometry.kind===`preset`){let o=[...t.geometry.adjustments];sr(e,t.geometry.name,n,r,i,a,o)||Sr(e,t.geometry.name,n,r,i,a,o[0],o[1],o[2],o[3])}else Rn(e,t.geometry.subpaths,n,r,i,a);e.clip()}const Ar=new Set([`line`,`straightconnector1`,`bentconnector2`,`bentconnector3`,`bentconnector4`,`bentconnector5`,`curvedconnector2`,`curvedconnector3`,`curvedconnector4`,`curvedconnector5`]),jr=new Set([`callout1`,`callout2`,`callout3`,`bordercallout1`,`bordercallout2`,`bordercallout3`,`accentcallout1`,`accentcallout2`,`accentcallout3`,`accentbordercallout1`,`accentbordercallout2`,`accentbordercallout3`]);function Mr(e){return jr.has(e)||e===`line`||e===`straightconnector1`||e.startsWith(`bentconnector`)}function Nr(e,t,n,r,i){if(vt(e,t,n),t.fill){let n=ht(t.fill,e,r.x,r.y,r.w,r.h,i);n&&(e.strokeStyle=n)}}function Pr(e,t,n,r){let i=t.stroke;if(!i||!Ar.has(n)&&!jr.has(n))return;let{x:a,y:o,w:s,h:c}=t.rect,l=i.fill?ht(i.fill,e,a,o,s,c,t.transform.rotationDeg)??void 0:void 0,u=pr(n,a,o,s,c,[...t.geometry.kind===`preset`?t.geometry.adjustments:[]]);if(u){if(Mr(n)&&u.vertices.length>=2&&(i.headEnd||i.tailEnd)){let n=u.vertices.map(e=>({x:e.x,y:e.y}));i.tailEnd&&(n[n.length-1]=Er(n[n.length-1],n[n.length-2],Tr(i.tailEnd,i,r))),i.headEnd&&(n[0]=Er(n[0],n[1],Tr(i.headEnd,i,r))),Nr(e,i,r,t.rect,t.transform.rotationDeg),e.beginPath(),e.moveTo(n[0].x,n[0].y);for(let t=1;t<n.length;t++)e.lineTo(n[t].x,n[t].y);e.stroke()}i.tailEnd&&Dr(e,u.end.x,u.end.y,u.end.angle,i.tailEnd,i,r,l),i.headEnd&&Dr(e,u.start.x,u.start.y,u.start.angle,i.headEnd,i,r,l)}}function Fr(e,t,n){if(t.geometry.kind!==`custom`)return;let r=t.stroke;if(!r||!r.headEnd&&!r.tailEnd)return;let i=qn(t.geometry.subpaths),{x:a,y:o,w:s,h:c}=t.rect,l=r.fill?ht(r.fill,e,a,o,s,c,t.transform.rotationDeg)??void 0:void 0;i.start&&r.headEnd&&Dr(e,a+i.start.x*s,o+i.start.y*c,Math.atan2(i.start.dy*c,i.start.dx*s),r.headEnd,r,n,l),i.end&&r.tailEnd&&Dr(e,a+i.end.x*s,o+i.end.y*c,Math.atan2(i.end.dy*c,i.end.dx*s),r.tailEnd,r,n,l)}function Ir(e,t,n){let{x:r,y:i,w:a,h:o}=t.rect;Or(e,t,()=>{let s=ht(t.fill,e,r,i,a,o,t.transform.rotationDeg),c=t.stroke,l=c?()=>{Nr(e,c,n,t.rect,t.transform.rotationDeg),e.stroke()}:null;if(t.geometry.kind===`preset`){let u=t.geometry.name.toLowerCase(),d=[...t.geometry.adjustments],f=Mr(u)&&!!(c?.headEnd||c?.tailEnd);ar(u)&&fr(e,u,r,i,a,o,d,s,l,()=>{},f?{skipTrailingStroke:!0}:void 0)||(e.beginPath(),Sr(e,u,r,i,a,o,d[0],d[1],d[2],d[3]),s&&u!==`arc`&&(e.fillStyle=s,u===`donut`||u===`smileyface`||u===`frame`?e.fill(`evenodd`):e.fill()),l&&l()),Pr(e,t,u,n)}else e.beginPath(),Rn(e,t.geometry.subpaths,r,i,a,o),s&&(e.fillStyle=s,e.fill()),l&&l(),Fr(e,t,n)})}const Lr=1<<25,Rr=Lr*4;var zr=class e extends RangeError{code=`ooxml-decoded-image-limit`;constructor(t,n,r){super(`OOXML decoded image limit exceeded: ${t} ${r} > ${n}`),this.metric=t,this.limit=n,this.observed=r,this.name=`OoxmlDecodedImageLimitError`,Object.setPrototypeOf(this,e.prototype)}};const Br=32767;function Vr(e,t,n,r,i){if(n<40||t+40>e.byteLength)return null;let a=e.getUint32(t,!0);if(a<40)return null;let o=e.getInt32(t+4,!0),s=e.getInt32(t+8,!0),c=e.getUint16(t+14,!0);if(e.getUint32(t+16,!0)!==0)return null;let l=s<0,u=Math.abs(o),d=Math.abs(s);if(u<=0||d<=0||u>Br||d>Br||u*d>33554432)return null;let f=new Uint8ClampedArray(u*d*4),p=u*c+31>>5<<2>>>0;if(r+p*d>r+i+p&&r+p*d>e.byteLength)return null;let m=null;if(c<=8){let n=e.getUint32(t+32,!0);n===0&&(n=1<<c);let r=t+a;m=[];for(let t=0;t<n;t++){let n=r+t*4;if(n+4>e.byteLength)break;let i=e.getUint8(n),a=e.getUint8(n+1),o=e.getUint8(n+2);m.push(o<<16|a<<8|i)}}let h=(e,t,n,r,i,a)=>{let o=(e*u+t)*4;f[o]=n,f[o+1]=r,f[o+2]=i,f[o+3]=a},g=!1;for(let t=0;t<d;t++){let n=l?t:d-1-t,i=t,a=r+n*p;if(a+p>e.byteLength)break;if(c===32)for(let t=0;t<u;t++){let n=a+t*4,r=e.getUint8(n),o=e.getUint8(n+1),s=e.getUint8(n+2),c=e.getUint8(n+3);c!==0&&(g=!0),h(i,t,s,o,r,c)}else if(c===24){for(let t=0;t<u;t++){let n=a+t*3;h(i,t,e.getUint8(n+2),e.getUint8(n+1),e.getUint8(n),255)}g=!0}else if(c===8&&m){for(let t=0;t<u;t++){let n=e.getUint8(a+t),r=m[n]??0;h(i,t,r>>16&255,r>>8&255,r&255,255)}g=!0}else if(c===4&&m){for(let t=0;t<u;t++){let n=e.getUint8(a+(t>>1)),r=t&1?n&15:n>>4&15,o=m[r]??0;h(i,t,o>>16&255,o>>8&255,o&255,255)}g=!0}else if(c===1&&m){for(let t=0;t<u;t++){let n=e.getUint8(a+(t>>3))>>7-(t&7)&1,r=m[n]??0;h(i,t,r>>16&255,r>>8&255,r&255,255)}g=!0}else return null}if(c===32&&!g)for(let e=3;e<f.length;e+=4)f[e]=255;return{width:u,height:d,data:f}}function Hr(e,t,n){if(n<40||t+40>e.byteLength)return null;let r=e.getUint32(t,!0);if(r<40)return null;let i=e.getUint16(t+14,!0),a=0;if(i<=8){let n=e.getUint32(t+32,!0);n===0&&(n=1<<i),a=n}else a=e.getUint32(t+32,!0);let o=r+a*4,s=t+o,c=n-o;return c<=0?null:Vr(e,t,o,s,c)}function Ur(e,t,n,r,i,a){try{let o=et(t.width,t.height);if(!o)return!1;let s=o.getContext(`2d`);if(!s)return!1;let c=s.createImageData(t.width,t.height);c.data.set(t.data),s.putImageData(c,0,0);let l=Math.min(n,i),u=Math.min(r,a),d=Math.abs(i-n),f=Math.abs(a-r);return e.drawImage(o,l,u,d,f),!0}catch{return!1}}const q={HEADER:1,POLYBEZIER:2,POLYGON:3,POLYLINE:4,POLYBEZIERTO:5,POLYLINETO:6,POLYPOLYLINE:7,POLYPOLYGON:8,SETWINDOWEXTEX:9,SETWINDOWORGEX:10,SETVIEWPORTEXTEX:11,SETVIEWPORTORGEX:12,EOF:14,SETMAPMODE:17,SETPOLYFILLMODE:19,SETBKMODE:18,SETTEXTALIGN:22,SETTEXTCOLOR:24,MOVETOEX:27,SCALEVIEWPORTEXTEX:31,SCALEWINDOWEXTEX:32,SAVEDC:33,RESTOREDC:34,SETWORLDTRANSFORM:35,MODIFYWORLDTRANSFORM:36,SELECTOBJECT:37,CREATEPEN:38,CREATEBRUSHINDIRECT:39,DELETEOBJECT:40,ELLIPSE:42,RECTANGLE:43,LINETO:54,BEGINPATH:59,ENDPATH:60,CLOSEFIGURE:61,SELECTCLIPPATH:67,EXTCREATEFONTINDIRECTW:82,EXTTEXTOUTW:84,POLYBEZIER16:85,POLYGON16:86,POLYLINE16:87,POLYBEZIERTO16:88,POLYLINETO16:89,POLYPOLYLINE16:90,POLYPOLYGON16:91,CREATEMONOBRUSH:93,CREATEDIBPATTERNBRUSHPT:94,EXTCREATEPEN:95,BITBLT:76,STRETCHDIBITS:81},Wr={WHITE_BRUSH:2147483648,LTGRAY_BRUSH:2147483649,GRAY_BRUSH:2147483650,DKGRAY_BRUSH:2147483651,BLACK_BRUSH:2147483652,NULL_BRUSH:2147483653,WHITE_PEN:2147483654,BLACK_PEN:2147483655,NULL_PEN:2147483656,DC_BRUSH:2147483666,DC_PEN:2147483662},Gr={TEXT:1,LOMETRIC:2,HIMETRIC:3,LOENGLISH:4,HIENGLISH:5,TWIPS:6,ISOTROPIC:7,ANISOTROPIC:8},Kr=()=>({m11:1,m12:0,m21:0,m22:1,dx:0,dy:0});function qr(e,t){return{m11:e.m11*t.m11+e.m21*t.m12,m12:e.m12*t.m11+e.m22*t.m12,m21:e.m11*t.m21+e.m21*t.m22,m22:e.m12*t.m21+e.m22*t.m22,dx:e.m11*t.dx+e.m21*t.dy+e.dx,dy:e.m12*t.dx+e.m22*t.dy+e.dy}}var Jr=class{p;constructor(e,t,n){this.dv=e,this.end=n,this.p=t}get pos(){return this.p}set pos(e){this.p=e}get remaining(){return this.end-this.p}i16(){let e=this.dv.getInt16(this.p,!0);return this.p+=2,e}i32(){let e=this.dv.getInt32(this.p,!0);return this.p+=4,e}u32(){let e=this.dv.getUint32(this.p,!0);return this.p+=4,e}f32(){let e=this.dv.getFloat32(this.p,!0);return this.p+=4,e}xform(){return{m11:this.f32(),m12:this.f32(),m21:this.f32(),m22:this.f32(),dx:this.f32(),dy:this.f32()}}skip(e){this.p+=e}};function Yr(e,t,n){return e.wt.m11*t+e.wt.m21*n+e.wt.dx}function Xr(e,t,n){return e.wt.m12*t+e.wt.m22*n+e.wt.dy}function Zr(e){return e.winExtX===0?1:e.vpExtX/e.winExtX}function Qr(e){return e.winExtY===0?1:e.vpExtY/e.winExtY}function $r(e){return Math.min(Math.abs(Zr(e)),Math.abs(Qr(e)))}function ei(e){return e.mapMode===Gr.ISOTROPIC?Zr(e)<0?-$r(e):$r(e):Zr(e)}function ti(e){return e.mapMode===Gr.ISOTROPIC?Qr(e)<0?-$r(e):$r(e):Qr(e)}function ni(e,t){return(t-e.winOrgX)*ei(e)+e.vpOrgX}function ri(e,t){return(t-e.winOrgY)*ti(e)+e.vpOrgY}function ii(e,t,n){let r=ni(e,Yr(e,t,n)),i=ri(e,Xr(e,t,n));return[(r-e.left)*e.W/e.boundsW,(i-e.top)*e.H/e.boundsH]}function ai(e){return(Math.hypot(e.wt.m11,e.wt.m12)+Math.hypot(e.wt.m21,e.wt.m22))/2}function oi(e){return(Math.abs(ei(e))+Math.abs(ti(e)))/2}function si(e){return(e.W/e.boundsW+e.H/e.boundsH)/2}function ci(e){return Math.hypot(e.wt.m21,e.wt.m22)}function li(e){return e.H/e.boundsH}function ui(e,t){let n=t*ai(e)*oi(e)*si(e);return Math.max(.75,n)}function di(e,t){if(e.mapMode=t,t===Gr.TEXT){e.winOrgX=0,e.winOrgY=0,e.vpOrgX=0,e.vpOrgY=0,e.winExtX=1,e.winExtY=1,e.vpExtX=1,e.vpExtY=1;return}if(t===Gr.ANISOTROPIC||t===Gr.ISOTROPIC||e.devPxPerMmX<=0||e.devPxPerMmY<=0)return;let n=25.4,r=t===Gr.LOMETRIC?.1:t===Gr.HIMETRIC?.01:t===Gr.LOENGLISH?.01*n:t===Gr.HIENGLISH?.001*n:t===Gr.TWIPS?n/1440:0;r<=0||(e.winOrgX=0,e.winOrgY=0,e.vpOrgX=0,e.vpOrgY=0,e.winExtX=1,e.winExtY=1,e.vpExtX=r*e.devPxPerMmX,e.vpExtY=-(r*e.devPxPerMmY))}const fi={[Wr.WHITE_BRUSH]:{kind:`brush`,fill:`#ffffff`},[Wr.LTGRAY_BRUSH]:{kind:`brush`,fill:`#c0c0c0`},[Wr.GRAY_BRUSH]:{kind:`brush`,fill:`#808080`},[Wr.DKGRAY_BRUSH]:{kind:`brush`,fill:`#404040`},[Wr.BLACK_BRUSH]:{kind:`brush`,fill:`#000000`},[Wr.NULL_BRUSH]:{kind:`brush`,fill:null}},pi={[Wr.WHITE_PEN]:{kind:`pen`,stroke:`#ffffff`,width:1},[Wr.BLACK_PEN]:{kind:`pen`,stroke:`#000000`,width:1},[Wr.NULL_PEN]:{kind:`pen`,stroke:null,width:1},[Wr.DC_PEN]:{kind:`pen`,stroke:`#000000`,width:1}};function mi(e,t){let n=fi[t];if(n){e.curBrush=n;return}let r=pi[t];if(r){e.curPen=r;return}t===Wr.DC_BRUSH&&(e.curBrush=e.curBrush??{kind:`brush`,fill:`#000000`})}function hi(e){let t=0,n=0,r=0,i=0;for(let a=0;a<e.data.length;a+=4)e.data[a+3]!==0&&(t+=e.data[a],n+=e.data[a+1],r+=e.data[a+2],i++);if(i===0)return`#808080`;let a=e=>Math.round(e/i).toString(16).padStart(2,`0`);return`#${a(t)}${a(n)}${a(r)}`}const gi=e=>[e.i16(),e.i16()],_i=e=>[e.i32(),e.i32()];function vi(e,t,n){t.skip(16);let r=t.u32();if(r<2||r>1048576||!e.curPen||e.curPen.stroke==null)return;let{ctx:i}=e;i.beginPath();let a=0,o=0;for(let s=0;s<r&&!(t.remaining<4);s++){let[r,c]=n(t),[l,u]=ii(e,r,c);s===0?i.moveTo(l,u):i.lineTo(l,u),a=r,o=c}i.strokeStyle=e.curPen.stroke,i.lineWidth=ui(e,e.curPen.width),i.stroke(),e.drew=!0,e.curX=a,e.curY=o}function yi(e,t,n){t.skip(16);let r=t.u32();if(r<1||r>1048576)return;let{ctx:i}=e,a=e.curPen!=null&&e.curPen.stroke!=null;if(a){i.beginPath();let[t,n]=ii(e,e.curX,e.curY);i.moveTo(t,n)}for(let o=0;o<r&&!(t.remaining<4);o++){let[r,o]=n(t);if(a){let[t,n]=ii(e,r,o);i.lineTo(t,n)}e.curX=r,e.curY=o}a&&e.curPen&&(i.strokeStyle=e.curPen.stroke,i.lineWidth=ui(e,e.curPen.width),i.stroke(),e.drew=!0)}function bi(e,t,n){t.skip(16);let r=t.u32();if(r<2||r>1048576)return;let{ctx:i}=e;e.inPath||i.beginPath();let a=!1;for(let o=0;o<r&&!(t.remaining<4);o++){let[r,o]=n(t),[s,c]=ii(e,r,o);a?i.lineTo(s,c):(i.moveTo(s,c),a=!0)}a&&(i.closePath(),!e.inPath&&(e.curBrush&&e.curBrush.fill!=null&&(i.fillStyle=e.curBrush.fill,i.fill(e.fillRule),e.drew=!0),e.curPen&&e.curPen.stroke!=null&&(i.strokeStyle=e.curPen.stroke,i.lineWidth=ui(e,e.curPen.width),i.stroke(),e.drew=!0)))}function xi(e,t,n,r){t.skip(16);let i=t.u32();if(i<1||i>1048576)return;let a=[];for(let e=0;e<i&&!(t.remaining<4);e++)a.push(n(t));if(a.length<(r?3:4)){a.length&&(e.curX=a[a.length-1][0],e.curY=a[a.length-1][1]);return}let o=e.curPen!=null&&e.curPen.stroke!=null,{ctx:s}=e;if(o){s.beginPath();let t=r?ii(e,e.curX,e.curY):ii(e,a[0][0],a[0][1]);s.moveTo(t[0],t[1])}let c=+!r;for(;c+2<a.length+ +!!r;c+=3){let t=a[c],n=a[c+1],r=a[c+2];if(!t||!n||!r)break;if(o){let i=ii(e,t[0],t[1]),a=ii(e,n[0],n[1]),o=ii(e,r[0],r[1]);s.bezierCurveTo(i[0],i[1],a[0],a[1],o[0],o[1])}e.curX=r[0],e.curY=r[1]}o&&e.curPen&&(s.strokeStyle=e.curPen.stroke,s.lineWidth=ui(e,e.curPen.width),s.stroke(),e.drew=!0)}function Si(e,t,n,r){t.skip(16);let i=t.u32(),a=t.u32();if(i<=0||i>65536||a<=0||a>2097152)return;let o=[];for(let e=0;e<i;e++){if(t.remaining<4)return;o.push(t.u32())}let{ctx:s}=e;e.inPath||s.beginPath();let c=!1;for(let i of o){if(i<2){for(let e=0;e<i&&t.remaining>=4;e++)n(t);continue}for(let r=0;r<i&&!(t.remaining<4);r++){let[i,a]=n(t),[o,c]=ii(e,i,a);r===0?s.moveTo(o,c):s.lineTo(o,c)}r&&s.closePath(),c=!0}!c||e.inPath||(r&&e.curBrush&&e.curBrush.fill!=null&&(s.fillStyle=e.curBrush.fill,s.fill(e.fillRule),e.drew=!0),e.curPen&&e.curPen.stroke!=null&&(s.strokeStyle=e.curPen.stroke,s.lineWidth=ui(e,e.curPen.width),s.stroke(),e.drew=!0))}function Ci(e,t,n,r,i){let{ctx:a}=e,o=ii(e,t,n),s=ii(e,r,n),c=ii(e,r,i),l=ii(e,t,i);e.inPath||a.beginPath(),a.moveTo(o[0],o[1]),a.lineTo(s[0],s[1]),a.lineTo(c[0],c[1]),a.lineTo(l[0],l[1]),a.closePath(),!e.inPath&&(e.curBrush&&e.curBrush.fill!=null&&(a.fillStyle=e.curBrush.fill,a.fill(e.fillRule),e.drew=!0),e.curPen&&e.curPen.stroke!=null&&(a.strokeStyle=e.curPen.stroke,a.lineWidth=ui(e,e.curPen.width),a.stroke(),e.drew=!0))}function wi(e){let t=e.u32(),n=e.u32(),r=e.i32();e.i32();let i=e.u32();return[t,{kind:`pen`,stroke:(n&255)==5?null:Zi(i),width:Math.abs(r)}]}function Ti(e){let t=e.u32();e.skip(16);let n=e.u32(),r=e.u32();e.u32();let i=e.u32();return[t,{kind:`pen`,stroke:(n&255)==5?null:Zi(i),width:Math.abs(r)}]}function Ei(e){let t=e.u32(),n=e.u32(),r=e.u32();return e.u32(),[t,{kind:`brush`,fill:n===1?null:Zi(r)}]}function Di(e,t,n){let r=e.u32();e.u32();let i=e.u32(),a=e.u32(),o=e.u32(),s=e.u32(),c=`#808080`;try{let e=Vr(t,n+i,a,n+o,s);e&&(c=hi(e))}catch{}return[r,{kind:`brush`,fill:c}]}function Oi(e,t,n){let r=e.u32(),i=n+12,a=t.getInt32(i,!0),o=t.getInt32(i+8,!0),s=t.getInt32(i+16,!0),c=t.getUint8(i+20),l=``;for(let e=0;e<32;e++){let n=i+28+e*2;if(n+2>t.byteLength)break;let r=t.getUint16(n,!0);if(r===0)break;l+=String.fromCharCode(r)}return[r,{kind:`font`,height:Math.abs(a),weight:s,italic:c!==0,face:l,escapement:o}]}function ki(e,t,n,r){t.skip(16),t.u32(),t.f32(),t.f32();let i=t.i32(),a=t.i32(),o=t.u32(),s=t.u32();if(t.u32(),o<=0||o>65536)return;let c=``;for(let e=0;e<o;e++){let t=r+s+e*2;if(t+2>n.byteLength)break;c+=String.fromCharCode(n.getUint16(t,!0))}if(c.length===0)return;let l=e.curFont,u=Math.abs(l?.height??0)*ci(e)*Math.abs(ti(e))*li(e);if(!Number.isFinite(u)||u<1)return;let{ctx:d}=e,[f,p]=ii(e,i,a);d.fillStyle=e.textColor;let m=l&&l.weight>=700?`bold `:``;d.font=`${l?.italic?`italic `:``}${m}${u}px ${l?.face||`sans-serif`}`;let h=e.textAlign&6;d.textAlign=h===2?`right`:h===6?`center`:`left`,d.textBaseline=(e.textAlign&24)==24?`alphabetic`:`top`;let g=l?.escapement??0;try{if(g!==0){d.save();try{d.translate(f,p),d.rotate(-g/10*(Math.PI/180)),d.fillText(c,0,0)}finally{d.restore()}}else d.fillText(c,f,p);e.drew=!0}catch{}}function Ai(e,t,n,r,i,a,o,s,c,l,u){if(i===0||o===0)return;let d=Vr(t,n+r,i,n+a,o);if(!d)return;let[f,p]=ii(e,s,c),[m,h]=ii(e,l,u);Ur(e.ctx,d,f,p,m,h)&&(e.drew=!0)}function ji(e,t,n,r){t.skip(16);let i=t.i32(),a=t.i32(),o=t.i32(),s=t.i32();t.u32(),t.i32(),t.i32(),t.skip(24),t.u32(),t.u32(),Ai(e,n,r,t.u32(),t.u32(),t.u32(),t.u32(),i,a,i+o,a+s)}function Mi(e,t,n,r){t.skip(16);let i=t.i32(),a=t.i32();t.i32(),t.i32(),t.i32(),t.i32();let o=t.u32(),s=t.u32(),c=t.u32(),l=t.u32();t.u32(),t.u32();let u=t.i32(),d=t.i32();Ai(e,n,r,o,s,c,l,i,a,i+u,a+d)}function Ni(e,t,n,r){if(!Yi(e)||n<=0||r<=0)return!1;let i=new DataView(e.buffer,e.byteOffset,e.byteLength),a={ctx:t,W:n,H:r,left:0,top:0,boundsW:n,boundsH:r,wt:Kr(),mapMode:Gr.TEXT,winOrgX:0,winOrgY:0,winExtX:1,winExtY:1,vpOrgX:0,vpOrgY:0,vpExtX:1,vpExtY:1,devPxPerMmX:0,devPxPerMmY:0,objects:new Map,curPen:null,curBrush:null,curFont:null,textColor:`#000000`,bkMode:1,textAlign:0,fillRule:`nonzero`,curX:0,curY:0,stack:[],drew:!1,inPath:!1},o=0;for(;o+8<=e.length;){let n=i.getUint32(o,!0),r=i.getUint32(o+4,!0);if(r<8||r&3)break;let s=o+r;if(s>e.length||n===q.EOF)break;let c=new Jr(i,o+8,s);try{switch(n){case q.HEADER:{let e=i.getInt32(o+8,!0),t=i.getInt32(o+12,!0),n=i.getInt32(o+16,!0),r=i.getInt32(o+20,!0);if(a.left=e,a.top=t,a.boundsW=Math.max(1,n-e),a.boundsH=Math.max(1,r-t),s>=o+88){let e=i.getInt32(o+24,!0),t=i.getInt32(o+28,!0),n=i.getInt32(o+32,!0),r=i.getInt32(o+36,!0),s=i.getInt32(o+72,!0),c=i.getInt32(o+76,!0),l=i.getInt32(o+80,!0),u=i.getInt32(o+84,!0),d=n-e,f=r-t;if(d>0&&f>0&&s>0&&c>0&&l>0&&u>0){let n=s/(l*100),r=c/(u*100);a.left=e*n,a.top=t*r,a.boundsW=Math.max(1,d*n),a.boundsH=Math.max(1,f*r),a.devPxPerMmX=s/l,a.devPxPerMmY=c/u}}break}case q.SETWORLDTRANSFORM:a.wt=c.xform();break;case q.MODIFYWORLDTRANSFORM:{let e=c.xform(),t=c.u32();t===1?a.wt=Kr():t===2?a.wt=qr(e,a.wt):t===3?a.wt=qr(a.wt,e):t===4&&(a.wt=e);break}case q.SETMAPMODE:di(a,c.u32());break;case q.SETWINDOWORGEX:a.winOrgX=c.i32(),a.winOrgY=c.i32();break;case q.SETWINDOWEXTEX:{let e=c.i32(),t=c.i32();e!==0&&(a.winExtX=e),t!==0&&(a.winExtY=t);break}case q.SETVIEWPORTORGEX:a.vpOrgX=c.i32(),a.vpOrgY=c.i32();break;case q.SETVIEWPORTEXTEX:{let e=c.i32(),t=c.i32();e!==0&&(a.vpExtX=e),t!==0&&(a.vpExtY=t);break}case q.SCALEWINDOWEXTEX:{let e=c.i32(),t=c.i32(),n=c.i32(),r=c.i32();t!==0&&(a.winExtX=a.winExtX*e/t),r!==0&&(a.winExtY=a.winExtY*n/r);break}case q.SCALEVIEWPORTEXTEX:{let e=c.i32(),t=c.i32(),n=c.i32(),r=c.i32();t!==0&&(a.vpExtX=a.vpExtX*e/t),r!==0&&(a.vpExtY=a.vpExtY*n/r);break}case q.SAVEDC:a.ctx.save(),a.stack.push({wt:{...a.wt},mapMode:a.mapMode,winOrgX:a.winOrgX,winOrgY:a.winOrgY,winExtX:a.winExtX,winExtY:a.winExtY,vpOrgX:a.vpOrgX,vpOrgY:a.vpOrgY,vpExtX:a.vpExtX,vpExtY:a.vpExtY,curPen:a.curPen,curBrush:a.curBrush,curFont:a.curFont,textColor:a.textColor,bkMode:a.bkMode,textAlign:a.textAlign,fillRule:a.fillRule,curX:a.curX,curY:a.curY});break;case q.RESTOREDC:{let e=c.i32(),t=Math.min(Math.abs(e)||1,a.stack.length),n;for(let e=0;e<t;e++)n=a.stack.pop(),a.ctx.restore();n&&(a.wt=n.wt,a.mapMode=n.mapMode,a.winOrgX=n.winOrgX,a.winOrgY=n.winOrgY,a.winExtX=n.winExtX,a.winExtY=n.winExtY,a.vpOrgX=n.vpOrgX,a.vpOrgY=n.vpOrgY,a.vpExtX=n.vpExtX,a.vpExtY=n.vpExtY,a.curPen=n.curPen,a.curBrush=n.curBrush,a.curFont=n.curFont,a.textColor=n.textColor,a.bkMode=n.bkMode,a.textAlign=n.textAlign,a.fillRule=n.fillRule,a.curX=n.curX,a.curY=n.curY);break}case q.BEGINPATH:a.ctx.beginPath(),a.inPath=!0;break;case q.CLOSEFIGURE:a.inPath&&a.ctx.closePath();break;case q.ENDPATH:a.inPath=!1;break;case q.SELECTCLIPPATH:try{a.ctx.clip(a.fillRule)}catch{}break;case q.SELECTOBJECT:{let e=c.u32();if(e&2147483648)mi(a,e>>>0);else{let t=a.objects.get(e);t?.kind===`pen`?a.curPen=t:t?.kind===`brush`?a.curBrush=t:t?.kind===`font`&&(a.curFont=t)}break}case q.DELETEOBJECT:{let e=c.u32(),t=a.objects.get(e);t&&(t===a.curPen&&(a.curPen=null),t===a.curBrush&&(a.curBrush=null),t===a.curFont&&(a.curFont=null),a.objects.delete(e));break}case q.CREATEPEN:{let[e,t]=wi(c);a.objects.set(e,t);break}case q.EXTCREATEPEN:{let[e,t]=Ti(c);a.objects.set(e,t);break}case q.CREATEBRUSHINDIRECT:{let[e,t]=Ei(c);a.objects.set(e,t);break}case q.CREATEMONOBRUSH:case q.CREATEDIBPATTERNBRUSHPT:{let[e,t]=Di(c,i,o);a.objects.set(e,t);break}case q.EXTCREATEFONTINDIRECTW:{let[e,t]=Oi(c,i,o);a.objects.set(e,t);break}case q.POLYLINE16:vi(a,c,gi);break;case q.POLYLINE:vi(a,c,_i);break;case q.POLYLINETO16:yi(a,c,gi);break;case q.POLYLINETO:yi(a,c,_i);break;case q.POLYGON16:bi(a,c,gi);break;case q.POLYGON:bi(a,c,_i);break;case q.POLYBEZIER16:xi(a,c,gi,!1);break;case q.POLYBEZIER:xi(a,c,_i,!1);break;case q.POLYBEZIERTO16:xi(a,c,gi,!0);break;case q.POLYBEZIERTO:xi(a,c,_i,!0);break;case q.POLYPOLYGON16:Si(a,c,gi,!0);break;case q.POLYPOLYGON:Si(a,c,_i,!0);break;case q.POLYPOLYLINE16:Si(a,c,gi,!1);break;case q.POLYPOLYLINE:Si(a,c,_i,!1);break;case q.MOVETOEX:a.curX=c.i32(),a.curY=c.i32();break;case q.LINETO:{let e=c.i32(),n=c.i32();if(a.curPen&&a.curPen.stroke!=null){let[r,i]=ii(a,a.curX,a.curY),[o,s]=ii(a,e,n);t.beginPath(),t.moveTo(r,i),t.lineTo(o,s),t.strokeStyle=a.curPen.stroke,t.lineWidth=ui(a,a.curPen.width),t.stroke(),a.drew=!0}a.curX=e,a.curY=n;break}case q.RECTANGLE:Ci(a,c.i32(),c.i32(),c.i32(),c.i32());break;case q.ELLIPSE:{let e=c.i32(),n=c.i32(),r=c.i32(),i=c.i32(),[o,s]=[(e+r)/2,(n+i)/2],[l,u]=ii(a,o,s),[d]=ii(a,r,s),[,f]=ii(a,o,i),p=Math.abs(d-l),m=Math.abs(f-u);t.beginPath(),t.ellipse(l,u,p,m,0,0,Math.PI*2),a.curBrush&&a.curBrush.fill!=null&&(t.fillStyle=a.curBrush.fill,t.fill(a.fillRule),a.drew=!0),a.curPen&&a.curPen.stroke!=null&&(t.strokeStyle=a.curPen.stroke,t.lineWidth=ui(a,a.curPen.width),t.stroke(),a.drew=!0);break}case q.SETPOLYFILLMODE:a.fillRule=c.u32()===1?`evenodd`:`nonzero`;break;case q.SETTEXTCOLOR:a.textColor=Zi(c.u32());break;case q.SETTEXTALIGN:a.textAlign=c.u32();break;case q.SETBKMODE:a.bkMode=c.u32();break;case q.EXTTEXTOUTW:ki(a,c,i,o);break;case q.BITBLT:ji(a,c,i,o);break;case q.STRETCHDIBITS:Mi(a,c,i,o);break;default:break}}catch{}o=s}return a.drew}async function Pi(e,t,n){if(!Yi(e)||t<=0||n<=0)return null;let r=et(t,n);if(!r)return null;let i=r.getContext(`2d`);return!i||(i.lineJoin=`round`,i.lineCap=`round`,!Ni(e,i,t,n))?null:createImageBitmap(r)}function Fi(e,t){return e[t]<<8|e[t+1]}function Ii(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function Li(e,t){return e[t]|e[t+1]<<8}function Ri(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24|0}function zi(e){let t=e.length;return t>=24&&e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71&&e[4]===13&&e[5]===10&&e[6]===26&&e[7]===10?e[12]===73&&e[13]===72&&e[14]===68&&e[15]===82?{width:Ii(e,16),height:Ii(e,20)}:null:t>=10&&e[0]===71&&e[1]===73&&e[2]===70&&e[3]===56&&(e[4]===55||e[4]===57)&&e[5]===97?{width:Li(e,6),height:Li(e,8)}:t>=26&&e[0]===66&&e[1]===77?Bi(e,14)===12?{width:Li(e,18),height:Li(e,20)}:{width:Math.abs(Ri(e,18)),height:Math.abs(Ri(e,22))}:t>=16&&e[0]===82&&e[1]===73&&e[2]===70&&e[3]===70&&e[8]===87&&e[9]===69&&e[10]===66&&e[11]===80?Vi(e):t>=4&&e[0]===255&&e[1]===216?Hi(e):null}function Bi(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function Vi(e){let t=e.length,n=e[12],r=e[13],i=e[14],a=e[15];if(n===86&&r===80&&i===56&&a===32)return t<30?null:{width:Li(e,26)&16383,height:Li(e,28)&16383};if(n===86&&r===80&&i===56&&a===76){if(t<25||e[20]!==47)return null;let n=Bi(e,21);return{width:(n&16383)+1,height:(n>>>14&16383)+1}}return n===86&&r===80&&i===56&&a===88?t<30?null:{width:(e[24]|e[25]<<8|e[26]<<16)+1,height:(e[27]|e[28]<<8|e[29]<<16)+1}:null}function Hi(e){let t=e.length,n=2;for(;n+1<t;){if(e[n]!==255){n+=1;continue}let r=e[n+1];if(r===255){n+=1;continue}if(r===216||r===1||r>=208&&r<=215){n+=2;continue}if(r===217||n+3>=t)return null;let i=Fi(e,n+2);if(r>=192&&r<=207&&r!==196&&r!==200&&r!==204){if(n+8>=t)return null;let r=Fi(e,n+5);return{width:Fi(e,n+7),height:r}}if(i<2)return null;n+=2+i}return null}function Ui(e){let{width:t,height:n}=e;return!Number.isFinite(t)||!Number.isFinite(n)||t<=0||n<=0||t>32767||n>32767?!0:t*n>Lr}function Wi(e){let t=e.close;typeof t==`function`&&t.call(e)}const Gi={EOF:0,SETBKMODE:258,SETTEXTALIGN:302,SETTEXTCOLOR:521,SETPOLYFILLMODE:262,SETWINDOWORG:523,SETWINDOWEXT:524,SELECTOBJECT:301,DELETEOBJECT:496,TEXTOUT:1313,POLYGON:804,POLYLINE:805,POLYPOLYGON:1336,RECTANGLE:1051,CREATEPENINDIRECT:762,CREATEFONTINDIRECT:763,CREATEBRUSHINDIRECT:764,DIBBITBLT:2368,DIBSTRETCHBLT:2881,STRETCHDIBITS:3907},Ki=2596720087;function qi(e,t){if(e.length<t+18)return!1;let n=e[t]|e[t+1]<<8,r=e[t+2]|e[t+3]<<8;return(n===1||n===2)&&r===9}function Ji(e){return e.length<4?!1:(e[0]|e[1]<<8|e[2]<<16|e[3]<<24)>>>0===Ki?!0:qi(e,0)}function Yi(e){if(e.length<44)return!1;let t=new DataView(e.buffer,e.byteOffset,e.byteLength);return t.getUint32(0,!0)===1&&t.getUint32(40,!0)===1179469088}function Xi(e){return e===`image/wmf`||e===`image/emf`}function Zi(e){let t=e&255,n=e>>>8&255,r=e>>>16&255,i=e=>e.toString(16).padStart(2,`0`);return`#${i(t)}${i(n)}${i(r)}`}function Qi(e,t){for(let n=0;n<e.length;n++)if(e[n]==null){e[n]=t;return}e.push(t)}var $i=class{p=0;constructor(e,t,n){this.b=e,this.end=n,this.p=t}get remaining(){return this.end-this.p}i16(){let e=this.u16();return e>=32768?e-65536:e}u16(){let e=this.b[this.p]|this.b[this.p+1]<<8;return this.p+=2,e}u8(){return this.b[this.p++]}u32(){let e=(this.b[this.p]|this.b[this.p+1]<<8|this.b[this.p+2]<<16|this.b[this.p+3]<<24)>>>0;return this.p+=4,e}bytes(e){let t=Math.min(this.p+Math.max(0,e),this.end),n=this.b.subarray(this.p,t);return this.p=t,n}skip(e){this.p=Math.min(this.p+Math.max(0,e),this.end)}};function ea(e,t){return(t-e.orgX)*(e.W/e.extX)}function ta(e,t){return(t-e.orgY)*(e.H/e.extY)}function na(e,t){let n=t*Math.abs(e.W/e.extX);return n>=1?n:1}const ra=.001;function ia(e,t,n){return Math.abs(e-t)<=ra||Math.abs(e-n)<=ra}function aa(e,t,n){let r=[],i=n?t.length:t.length-1;for(let n=0;n<i;n++){let i=t[n],a=t[(n+1)%t.length],o=Math.abs(i[0]-a[0])<=ra&&ia(i[0],0,e.W)&&ia(a[0],0,e.W),s=Math.abs(i[1]-a[1])<=ra&&ia(i[1],0,e.H)&&ia(a[1],0,e.H);o||s||r.push([i,a])}return r}function oa(e,t,n){if(!e.curPen||e.curPen.stroke==null||t.length<2)return;let{ctx:r}=e;if(r.strokeStyle=e.curPen.stroke,r.lineWidth=na(e,e.curPen.width),!e.suppressBoundaryFrame){r.beginPath(),r.moveTo(t[0][0],t[0][1]);for(let e=1;e<t.length;e++)r.lineTo(t[e][0],t[e][1]);n&&r.closePath(),r.stroke(),e.drew=!0;return}let i=aa(e,t,n);if(i.length===0)return;r.beginPath();let a=null;for(let[e,t]of i)(!a||a[0]!==e[0]||a[1]!==e[1])&&r.moveTo(e[0],e[1]),r.lineTo(t[0],t[1]),a=t;r.stroke(),e.drew=!0}function sa(e,t,n){let r=[];for(let i=0;i<n&&!(t.remaining<4);i++){let n=t.i16(),i=t.i16();r.push([ea(e,n),ta(e,i)])}return r}function ca(e,t){t.length<2||!e.curPen||e.curPen.stroke==null||oa(e,t,!1)}function la(e,t){if(t.length<2)return;let{ctx:n}=e;if(e.curBrush&&e.curBrush.fill!=null){n.beginPath(),n.moveTo(t[0][0],t[0][1]);for(let e=1;e<t.length;e++)n.lineTo(t[e][0],t[e][1]);n.closePath(),n.fillStyle=e.curBrush.fill,n.fill(e.fillRule),e.drew=!0}oa(e,t,!0)}function ua(e,t){let n=t.u16();if(n<=0||n>65536)return;let r=[];for(let e=0;e<n;e++){if(t.remaining<2)return;r.push(t.u16())}let{ctx:i}=e;i.beginPath();let a=!1;for(let n of r){if(n<2){for(let e=0;e<n&&t.remaining>=4;e++)t.i16(),t.i16();continue}let r=sa(e,t,n);if(!(r.length<2)){i.moveTo(r[0][0],r[0][1]);for(let e=1;e<r.length;e++)i.lineTo(r[e][0],r[e][1]);i.closePath(),a=!0}}a&&(e.curBrush&&e.curBrush.fill!=null&&(i.fillStyle=e.curBrush.fill,i.fill(e.fillRule),e.drew=!0),e.curPen&&e.curPen.stroke!=null&&(i.strokeStyle=e.curPen.stroke,i.lineWidth=na(e,e.curPen.width),i.stroke(),e.drew=!0))}function da(e){let t=e.u16(),n=e.i16();e.i16();let r=e.u32();return{kind:`pen`,stroke:(t&255)==5?null:Zi(r),width:Math.abs(n)}}function fa(e){let t=e.u16(),n=e.u32();return e.u16(),{kind:`brush`,fill:t===1?null:Zi(n)}}function pa(e){let t=e.indexOf(0),n=t>=0?e.subarray(0,t):e;if(n.length===0)return``;try{return new TextDecoder(`shift_jis`).decode(n)}catch{return String.fromCharCode(...n)}}function ma(e){let t=Math.abs(e.i16());e.i16(),e.i16(),e.i16();let n=e.i16(),r=e.u8()!==0;return e.u8(),e.u8(),e.u8(),e.u8(),e.u8(),e.u8(),e.u8(),{kind:`font`,height:t,weight:n,italic:r,face:pa(e.bytes(Math.min(32,e.remaining)))}}function ha(e,t,n,r){if(t.length===0)return;let i=e.curFont,a=i?.height||12,o=Math.abs(ta(e,e.orgY+a)-ta(e,e.orgY));if(!Number.isFinite(o)||o<1)return;let{ctx:s}=e;try{s.fillStyle=e.textColor;let a=i&&i.weight>=700?`bold `:``;s.font=`${i?.italic?`italic `:``}${a}${o}px ${i?.face||`sans-serif`}`;let c=e.textAlign&6;s.textAlign=c===2?`right`:c===6?`center`:`left`,s.textBaseline=(e.textAlign&24)==24?`alphabetic`:`top`,s.fillText(t,ea(e,n),ta(e,r)),e.drew=!0}catch{}}function ga(e,t,n,r,i=!1){if(!Ji(e))return!1;let a=0;(e.length>=4?(e[0]|e[1]<<8|e[2]<<16|e[3]<<24)>>>0:0)===Ki&&(a=22);let o=a+18;if(o>e.length)return!1;let s={ctx:t,W:n,H:r,orgX:0,orgY:0,extX:n||1,extY:r||1,haveExt:!1,objects:[],curPen:null,curBrush:null,curFont:null,textColor:`#000000`,textAlign:0,fillRule:`nonzero`,drew:!1,suppressBoundaryFrame:i},c=new DataView(e.buffer,e.byteOffset,e.byteLength);for(;o+6<=e.length;){let t=c.getUint32(o,!0),n=c.getUint16(o+4,!0);if(t<3)break;let r=t*2,i=o+r;if(i>e.length||n===Gi.EOF)break;let a=o+6,l=new $i(e,a,i);switch(n){case Gi.SETWINDOWORG:s.orgY=l.i16(),s.orgX=l.i16();break;case Gi.SETWINDOWEXT:{let e=l.i16(),t=l.i16();s.extY=e||1,s.extX=t||1,s.haveExt=!0;break}case Gi.SETPOLYFILLMODE:s.fillRule=l.u16()===1?`evenodd`:`nonzero`;break;case Gi.SETTEXTCOLOR:s.textColor=Zi(l.u32());break;case Gi.SETTEXTALIGN:s.textAlign=l.u16();break;case Gi.CREATEPENINDIRECT:Qi(s.objects,da(l));break;case Gi.CREATEBRUSHINDIRECT:Qi(s.objects,fa(l));break;case Gi.CREATEFONTINDIRECT:Qi(s.objects,ma(l));break;case Gi.SELECTOBJECT:{let e=l.u16(),t=s.objects[e];t?.kind===`pen`?s.curPen=t:t?.kind===`brush`?s.curBrush=t:t?.kind===`font`&&(s.curFont=t);break}case Gi.DELETEOBJECT:{let e=l.u16(),t=s.objects[e];t&&(t===s.curPen&&(s.curPen=null),t===s.curBrush&&(s.curBrush=null),t===s.curFont&&(s.curFont=null),s.objects[e]=null);break}case Gi.POLYLINE:ca(s,sa(s,l,l.i16()));break;case Gi.POLYGON:la(s,sa(s,l,l.i16()));break;case Gi.POLYPOLYGON:ua(s,l);break;case Gi.RECTANGLE:{let e=l.i16(),t=l.i16(),n=l.i16(),r=l.i16();la(s,[[ea(s,r),ta(s,n)],[ea(s,t),ta(s,n)],[ea(s,t),ta(s,e)],[ea(s,r),ta(s,e)]]);break}case Gi.TEXTOUT:{let e=l.u16(),t=pa(l.bytes(e));e%2!=0&&l.skip(1);let n=l.i16();ha(s,t,l.i16(),n);break}case Gi.STRETCHDIBITS:{l.u32(),l.i16(),l.i16(),l.i16(),l.i16(),l.u16();let e=l.i16(),t=l.i16(),n=l.i16(),r=l.i16(),o=a+22,u=Hr(c,o,i-o);if(u){let i=ea(s,r),a=ta(s,n),o=ea(s,r+t),c=ta(s,n+e);Ur(s.ctx,u,i,a,o,c)&&(s.drew=!0)}break}case Gi.DIBSTRETCHBLT:case Gi.DIBBITBLT:case Gi.SETBKMODE:break;default:break}o=i}return s.drew}function _a(e,t){let n=e>0?e:300,r=t>0?t:300,i=e=>Math.max(1,Math.min(2e3,Math.round(e)));return{w:i(n*2),h:i(r*2)}}async function va(e,t,n,r=!1){if(!Ji(e)||t<=0||n<=0)return null;let i=et(t,n);if(!i)return null;let a=i.getContext(`2d`);return!a||(a.lineJoin=`round`,a.lineCap=`round`,!ga(e,a,t,n,r))?null:createImageBitmap(i)}async function ya(e,t={}){let{widthPt:n=0,heightPt:r=0,suppressBoundaryFrame:i=!1}=t,a=new Uint8Array(await e.slice(0,64*1024).arrayBuffer());if(Ji(a)){let{w:t,h:a}=_a(n,r);return ba(await va(new Uint8Array(await e.arrayBuffer()),t,a,i))}if(Yi(a)){let{w:t,h:i}=_a(n,r);return ba(await Pi(new Uint8Array(await e.arrayBuffer()),t,i))}let o=zi(a);if(o&&Ui(o))throw new zr(`image-pixels`,Lr,o.width*o.height);return ba(await createImageBitmap(e))}function ba(e){if(!e)return null;let t=Number(e.width),n=Number(e.height);if(!Ui({width:t,height:n}))return e;let r=t*n;throw Wi(e),new zr(`image-pixels`,Lr,Number.isSafeInteger(r)&&r>=0?r:2**53-1)}const xa=new WeakMap;async function Sa(e,t){let n=xa.get(e);n||(n={active:0,waiters:[]},xa.set(e,n)),n.active>=2||n.waiters.length>0?await new Promise(e=>n.waiters.push(e)):n.active++;try{return await Promise.resolve(),await t()}finally{let t=n.waiters.shift();t?t():(n.active--,n.active===0&&xa.delete(e))}}const Ca=new WeakMap;function wa(e){let t=Ca.get(e);return t||(t={entries:new Map,retainedBytes:0},Ca.set(e,t)),t}const Ta=new WeakMap,Ea=new WeakSet;function Da(e){!e||Ea.has(e)||(Ea.add(e),Wi(e))}function Oa(e){Da(e)}function ka(e){let t=Ta.get(e);t||(t={count:0,deferred:[],activeBytes:0,activeBitmaps:new WeakSet},Ta.set(e,t));let n=t;n.count++;let r=!1;return()=>{if(!r&&(r=!0,n.count--,!(n.count>0))){for(let e of n.deferred)e.then(e=>Da(e)).catch(()=>{});n.deferred=[],n.activeBytes=0,n.activeBitmaps=new WeakSet,Ta.delete(e)}}}function Aa(e){if(!e)return 0;let t=Number(e.width),n=Number(e.height);return Number.isSafeInteger(t)&&t>0&&Number.isSafeInteger(n)&&n>0?t*n*4:0}function ja(e,t){if(!t)return;let n=Ta.get(e);if(!n||n.count===0||n.activeBitmaps.has(t))return;let r=n.activeBytes+Aa(t);if(r>134217728)throw new zr(`active-decoded-bytes`,Rr,r);n.activeBitmaps.add(t),n.activeBytes=r}function Ma(e,t,n){let r=[...t.entries].find(([e])=>e!==n);if(!r)return!1;let[i,a]=r;return t.entries.delete(i),t.retainedBytes-=a.weight,Na(e,a.ownedPromise),!0}function Na(e,t){let n=Ta.get(e);if(n&&n.count>0){n.deferred.push(t);return}t.then(e=>Da(e)).catch(()=>{})}function Pa(e,t,n){let r=wa(t),i=r.entries,a=i.get(e);if(a)return i.delete(e),i.set(e,a),a.promise.then(e=>(ja(t,e),e));let o=Sa(t,n),s=o.then(({bitmap:e,owned:t})=>t?e:null),c=o.then(({bitmap:e,owned:n})=>{try{return ja(t,e),e}catch(t){throw n&&Da(e),t}}),l={promise:c,ownedPromise:s,weight:0};for(o.then(({bitmap:n,owned:a})=>{if(i.get(e)===l){if(l.bitmap=n,!a){i.delete(e);return}for(l.weight=Aa(n),r.retainedBytes+=l.weight;r.retainedBytes>Rr&&Ma(t,r,e););}}).catch(()=>{}),c.catch(()=>{i.get(e)===l&&(i.delete(e),r.retainedBytes-=l.weight,Na(t,s))}),i.set(e,l);i.size>256&&Ma(t,r,e););return c}const Fa=`base`;`${Fa}`;function Ia(e,t,n,r){return Pa(`${e}:${t}`,n,r)}function La(e,t,n,r){return Ia(`derived:${e}`,t,n,r)}function Ra(e,t,n,r={}){let{widthPt:i=0,heightPt:a=0,suppressBoundaryFrame:o=!1}=r;return Ia(Fa,e,n,async()=>({bitmap:await ya(await n(e,t),{widthPt:i,heightPt:a,suppressBoundaryFrame:o}),owned:!0}))}function za(e){let t=Ca.get(e);if(t){for(let n of t.entries.values())Na(e,n.ownedPromise);t.entries.clear(),t.retainedBytes=0,Ca.delete(e)}}const Ba=new WeakMap;function Va(e){let t=Ba.get(e);return t||(t={imgs:new Map},Ba.set(e,t)),t}function Ha(e,t){if(typeof Image>`u`)return Ra(e,`image/svg+xml`,t).then(t=>{if(!t)throw Error(`svg decode failed: ${e}`);return t});let n=Va(t),r=n.imgs.get(e);if(r)return n.imgs.delete(e),n.imgs.set(e,r),r.promise;let i={};if(i.promise=Sa(t,async()=>{if(n.imgs.get(e)!==i)throw Error(`SVG decode was superseded before it started`);let r=await t(e,`image/svg+xml`),a=URL.createObjectURL(r);try{let t=new Image;return await new Promise((n,r)=>{t.onload=()=>{typeof t.decode==`function`?t.decode().then(n).catch(n):n()},t.onerror=()=>r(Error(`svg load failed: ${e}`)),t.src=a}),t}finally{URL.revokeObjectURL(a)}}),i.promise.catch(()=>{n.imgs.get(e)===i&&n.imgs.delete(e)}),n.imgs.set(e,i),n.imgs.size>256){let e=n.imgs.keys().next().value;n.imgs.delete(e)}return i.promise}function Ua(e){let t=Ba.get(e);t&&(t.imgs.clear(),Ba.delete(e))}function Wa(e){let t=e;return{w:t.naturalWidth||(typeof t.width==`number`?t.width:0)||0,h:t.naturalHeight||(typeof t.height==`number`?t.height:0)||0}}function Ga(e,t){if(!t||!(t.l||t.t||t.r||t.b))return null;let{w:n,h:r}=Wa(e);if(n<=0||r<=0)return null;let i=e=>Math.max(0,Math.min(1,e)),a=i(t.l)*n,o=i(t.t)*r;return{sx:a,sy:o,sw:Math.max(1,n-a-i(t.r)*n),sh:Math.max(1,r-o-i(t.b)*r)}}function Ka(e,t,n,r,i,a,o){let s=Ga(t,n);s?e.drawImage(t,s.sx,s.sy,s.sw,s.sh,r,i,a,o):e.drawImage(t,r,i,a,o)}function qa(e,t,n,r){if(!t||!Xi(e))return{widthPt:n,heightPt:r};let i=Math.max(.01,1-t.l-t.r),a=Math.max(.01,1-t.t-t.b);return{widthPt:n/i,heightPt:r/a}}function Ja(e){return/^[0-9a-fA-F]{6}$/.test(e)?[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]:null}function Ya(e,t,n){return(.299*e+.587*t+.114*n)/255}function Xa(e,t,n){let r=Ja(t),i=Ja(n);if(!r||!i)return e;let[a,o,s]=r,[c,l,u]=i,d=e.data;for(let e=0;e<d.length;e+=4){if(d[e+3]===0)continue;let t=Ya(d[e],d[e+1],d[e+2]);d[e]=Math.round(a+(c-a)*t),d[e+1]=Math.round(o+(l-o)*t),d[e+2]=Math.round(s+(u-s)*t)}return e}const Za=(e,t)=>typeof OffscreenCanvas>`u`?null:new OffscreenCanvas(e,t);async function Qa(e,t,n){let{width:r,height:i}=n;if(r<=0||i<=0||typeof createImageBitmap>`u`)return e;let a=(n.offscreenFactory??Za)(r,i);if(!a)return e;let o=a.getContext(`2d`);if(!o)return e;o.drawImage(e,0,0);let s;try{s=o.getImageData(0,0,r,i)}catch{return e}return Xa(s,t.clr1,t.clr2),o.putImageData(s,0,0),createImageBitmap(a)}function $a(e){return e.svgImagePath!=null&&e.srcRect==null}function eo(e){return typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement}function to(e=1){return typeof window<`u`&&window.devicePixelRatio||e}function no(e,t,n){let r=Math.round(t*n)%2==1?.5:0,i=e*n;return(Math.round(i-r)+r)/n-e}const ro=32767;function io(e,t){let n=Number.isFinite(e)&&e>0?Math.max(1,Math.round(e)):1,r=Number.isFinite(t)&&t>0?Math.max(1,Math.round(t)):1,i=Math.min(1,ro/n,ro/r),a=n*r,o=a>16777216?Math.sqrt(16777216/a):1,s=Math.min(i,o);return s>=1?{width:n,height:r,scale:1,clamped:!1}:{width:Math.max(1,Math.floor(n*s)),height:Math.max(1,Math.floor(r*s)),scale:s,clamped:!0}}function ao(e,t){let n=Math.max(1,Math.round(e*t/3)),r=Math.max(1,Math.round(e*t/3));return{railDev:n,gapDev:r,spanDev:2*n+r}}function oo(e){if(!e.startsWith(`data:`))return null;let t=e.indexOf(`,`);if(t===-1)return null;let n=atob(e.slice(t+1)),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r.buffer}var so=class{state=`uninitialized`;generationValue=0;readiness;poisonListeners=new Set;constructor(e,t,n){this.initialize=e,this.reinitialize=t,this.normalizeFailure=n}get generation(){return this.generationValue}get poisoned(){return this.state===`poisoned`}onPoison(e){return this.poisonListeners.add(e),()=>this.poisonListeners.delete(e)}async ensureReady(){if(this.state!==`ready`){if(!this.readiness){let e=this.state===`uninitialized`?this.initialize:this.reinitialize;this.readiness=Promise.resolve().then(e).then(()=>{this.generationValue+=1,this.state=`ready`,this.readiness=void 0},e=>{throw this.readiness=void 0,e})}await this.readiness}}run(e){try{return e()}catch(e){let t=this.normalizeFailure(e);throw t?(this.poison(t),t):e}}tryRunReady(e){if(this.state!==`ready`)return{current:!1};let t=this.generationValue,n=this.run(e);return this.state!==`ready`||t!==this.generationValue?{current:!1}:{current:!0,generation:t,value:n}}poison(e){this.state=`poisoned`,this.readiness=void 0;for(let t of this.poisonListeners)t(e)}assertCurrent(e){if(this.state!==`ready`||e!==this.generationValue)throw Error(`WASM archive session belongs to a discarded runtime generation`)}},co=class e extends Error{code=`parser-crashed`;constructor(t){super(t),this.name=`WasmTrapError`,Object.setPrototypeOf(this,e.prototype)}};function lo(e){let t=globalThis.WebAssembly?.RuntimeError;return t&&e instanceof t||e instanceof RangeError?!0:e instanceof Error?e.name===`RuntimeError`||e.name===`CompileError`||e.name===`LinkError`||e.name===`InternalError`||e.name===`OOMError`:!1}function uo(e){try{if((typeof e!=`object`||!e)&&typeof e!=`function`)return;let t=Reflect.get(e,`__destroy_into_raw`);typeof t==`function`&&Reflect.apply(t,e,[])}catch{}}function fo(e,t){return e({module_or_path:t})}var po=class{runtime;wasmInput=null;currentArchive=null;constructor(e,t={}){this.init=e,this.options=t,this.runtime=new so(()=>this.invokeConfigured(this.init),()=>this.invokeConfigured(this.options.reinit??this.init),mo),this.runtime.onPoison(()=>this.dropPoisonedArchive())}setWasmInput(e){this.wasmInput=e,this.runtime.ensureReady().catch(()=>void 0)}setWasmUrl(e){this.setWasmInput(e)}get archive(){return this.currentArchive}setArchive(e){this.freeArchive(),this.currentArchive=e}disposeArchive(){this.freeArchive()}get poisoned(){return this.runtime.poisoned}async ensureReady(){await this.runtime.ensureReady()}run(e){return this.runtime.run(e)}poison(){this.runtime.poison(new co(`WASM parser was recycled`))}invokeConfigured(e){return this.wasmInput===null?Promise.reject(Error(`WasmParserHost: setWasmInput was never called`)):fo(e,this.wasmInput)}freeArchive(){this.currentArchive!==null&&this.options.freeArchive&&this.options.freeArchive(this.currentArchive),this.currentArchive=null}dropPoisonedArchive(){let e=this.currentArchive;this.currentArchive=null,uo(e)}};function mo(e){return lo(e)?new co(`WASM parser trapped and was recycled: ${e instanceof Error?e.message:String(e)}`):null}function ho(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>0}function go(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return ho(t.requiredBytes)&&ho(t.offeredBytes)&&t.requiredBytes>t.offeredBytes}var _o=class e extends RangeError{code=`ooxml-insufficient-credit`;requiredBytes;offeredBytes;constructor(t){super(`Pull unit requires ${t.requiredBytes} bytes but credit is ${t.offeredBytes}`),this.name=`PullSessionInsufficientCreditError`,this.requiredBytes=t.requiredBytes,this.offeredBytes=t.offeredBytes,Object.setPrototypeOf(this,e.prototype)}};function vo(e){if(e instanceof _o)return e;let t=e instanceof Error?e.message:String(e);if(!t.startsWith(`OOXML_INSUFFICIENT_CREDIT:`))return;let n;try{n=JSON.parse(t.slice(26))}catch{return}if(!n||typeof n!=`object`||Array.isArray(n))return;let r=n;if(!(r.code!==`ooxml-insufficient-credit`||!go(r)))return new _o(r)}function yo(e,t,n){let r=vo(e);if(!(!r||r.offeredBytes!==t||r.requiredBytes>n))return r}function bo(e,t,n){if(xo(e))return e.offeredBytes===t&&e.requiredBytes<=n?e.requiredBytes:void 0}function xo(e){return e instanceof _o||!!e&&typeof e==`object`&&e.code===`ooxml-insufficient-credit`&&go(e)}const So=`OOXML_RESOURCE_LIMIT:`;function Co(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function wo(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return Co(t.archiveEntryCount)&&Co(t.declaredInflatedBytes)&&(t.largestInflatedEntryBytes===void 0||Co(t.largestInflatedEntryBytes))&&Co(t.distinctInflatedBytes)&&Co(t.operationInflatedBytes)}function To(e){let t;try{t=JSON.parse(new TextDecoder().decode(e))}catch{throw TypeError(`OOXML resource usage checkpoint is not valid JSON`)}if(!wo(t))throw TypeError(`OOXML resource usage checkpoint is invalid`);return t}function Eo(e){return e===`docx`||e===`xlsx`||e===`pptx`}function Do(e){return e===`container`||e===`decompression`||e===`parsing`||e===`serialization`||e===`layout`||e===`rendering`||e===`worker`}function Oo(e,t){return typeof e==`string`&&e.length>0&&e.length<=t&&!/[\\u0000-\\u001f\\u007f]/u.test(e)}function ko(e){return Oo(e,128)&&/^[a-z0-9][a-z0-9-]*$/u.test(e)}function Ao(e){return!Oo(e,4096)||e.startsWith(`/`)||e.startsWith(`\\\\`)||e.includes(`\\\\`)||e.includes(`?`)||e.includes(`#`)||e.includes(`://`)||/^[a-z]:/iu.test(e)?!1:e.split(`/`).every(e=>e!==``&&e!==`.`&&e!==`..`)}const jo=new Map([[`archive-entry:declared-inflated-bytes`,{stage:`container`,part:`required`}],[`archive-entry:actual-inflated-bytes`,{stage:`decompression`,part:`required`}],[`archive:entry-count`,{stage:`container`,part:`forbidden`}],[`archive:central-directory-bytes`,{stage:`container`,part:`forbidden`,configurable:!1}],[`archive:distinct-inflated-bytes`,{stage:`decompression`,part:`required`}],[`xml-event:bytes`,{stage:`parsing`,part:`optional`,configurable:!1}],[`xml-context:bytes`,{stage:`parsing`,part:`optional`,configurable:!1}],[`xml-tree:depth`,{stage:`parsing`,part:`optional`,configurable:!1}],[`worksheet-row:projected-bytes`,{stage:`parsing`,part:`optional`,configurable:!1}],[`worksheet-shell:projected-bytes`,{stage:`parsing`,part:`optional`,configurable:!1}]]),Mo=new Set([...jo.keys()].map(e=>e.slice(0,e.indexOf(`:`)))),No=new Set([...jo.keys()].map(e=>e.slice(e.indexOf(`:`)+1)));function Po(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return!Eo(t.format)||!Oo(t.operation,256)||!ko(t.resource)||!ko(t.metric)||!Co(t.limit)||!Co(t.observed)||typeof t.configurable!=`boolean`||!wo(t.usage)?!1:!(`part`in t)||Ao(t.part)}function Fo(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;if(!Do(t.stage)||!Po(t.violation))return!1;let n=t.violation,r=jo.get(`${n.resource}:${n.metric}`);return r?t.stage!==r.stage||r.configurable===!1&&n.configurable!==!1?!1:r.part===`required`?n.part!==void 0:r.part===`forbidden`?n.part===void 0:!0:!(Mo.has(n.resource)&&No.has(n.metric))}function Io(e){return{archiveEntryCount:e.archiveEntryCount,declaredInflatedBytes:e.declaredInflatedBytes,...e.largestInflatedEntryBytes===void 0?{}:{largestInflatedEntryBytes:e.largestInflatedEntryBytes},distinctInflatedBytes:e.distinctInflatedBytes,operationInflatedBytes:e.operationInflatedBytes}}function Lo(e){if(!Fo(e))return;let t=e.violation,n={stage:e.stage,violation:{format:t.format,operation:t.operation,resource:t.resource,metric:t.metric,...t.part===void 0?{}:{part:t.part},limit:t.limit,observed:t.observed,configurable:t.configurable,usage:Io(t.usage)}};return Fo(n)?n:void 0}function Ro(e){let t=e.violation;return`OOXML resource limit exceeded${t.part?` for ${t.part}`:``}: ${t.metric} ${t.observed} > ${t.limit}`}function zo(e){let t=e instanceof Error?e.message:String(e);if(!t.startsWith(So))return;let n;try{n=JSON.parse(t.slice(21))}catch{return}if(!n||typeof n!=`object`)return;let r=n;if(!(r.code!==`ooxml-resource-limit`||!Fo(r.details)))return new w(Ro(r.details),r.details)}function Bo(e){if(e instanceof zr)return{message:e.message,errorName:e.name,code:e.code,decodedImage:{metric:e.metric,limit:e.limit,observed:e.observed}};let t=vo(e);if(t)return{message:t.message,errorName:t.name,code:t.code,insufficientCredit:{requiredBytes:t.requiredBytes,offeredBytes:t.offeredBytes}};let n=e instanceof C||e instanceof w?e:zo(e);if(n instanceof w){let e=Lo(n.details);return e?{message:typeof n.message==`string`?n.message:Ro(e),errorName:`OoxmlResourceLimitError`,code:`ooxml-resource-limit`,resourceLimit:e}:{message:`Invalid OOXML resource-limit error payload`,errorName:`Error`}}if(n instanceof C)return{message:typeof n.message==`string`?n.message:String(n.message),errorName:Oo(n.name,128)?n.name:`OoxmlError`,...ko(n.code)?{code:n.code}:{}};let r=e instanceof Error?e.message:String(e);if(typeof r==`string`&&r.startsWith(So))return{message:`Invalid OOXML resource-limit payload`,errorName:`Error`};let i=e instanceof Error?e:Error(r),a=i;return{message:typeof i.message==`string`?i.message:String(i.message),errorName:Oo(i.name,128)?i.name:`Error`,...typeof a.code==`string`?{code:a.code}:{}}}function Vo(e){try{return Bo(e)}catch{return{message:`Worker operation failed with an unreadable error`,errorName:`Error`}}}const Ho=new Set([`encrypted`,`invalid-password`,`unsupported-encryption`,`legacy-binary-format`,`not-ooxml`]);function Uo(e){if(e.code===`ooxml-decoded-image-limit`&&e.decodedImage&&(e.decodedImage.metric===`image-pixels`||e.decodedImage.metric===`active-decoded-bytes`)&&Co(e.decodedImage.limit)&&Co(e.decodedImage.observed)&&e.decodedImage.observed>e.decodedImage.limit)return new zr(e.decodedImage.metric,e.decodedImage.limit,e.decodedImage.observed);if(e.code===`ooxml-insufficient-credit`&&go(e.insufficientCredit))return new _o(e.insufficientCredit);if(e.code===`ooxml-resource-limit`&&Fo(e.resourceLimit))return new w(e.message,e.resourceLimit);if(e.code&&Ho.has(e.code))return new C(e.code,e.message);let t=e.errorName===`TypeError`?TypeError(e.message):e.errorName===`RangeError`?RangeError(e.message):Error(e.message);return e.errorName&&(t.name=e.errorName),e.code!==void 0&&Object.assign(t,{code:e.code}),t}function Wo(e){return e.byteOffset===0&&e.byteLength===e.buffer.byteLength&&e.buffer instanceof ArrayBuffer?e.buffer:e.slice().buffer}Object.freeze({maxArchiveEntryBytes:134217728,maxTotalInflatedBytes:268435456,maxArchiveEntries:4096});function Go(e){return[e.maxArchiveEntryBytes===null?0n:BigInt(e.maxArchiveEntryBytes),e.maxTotalInflatedBytes===null?0n:BigInt(e.maxTotalInflatedBytes),e.maxArchiveEntries===null?0n:BigInt(e.maxArchiveEntries)]}const Ko=`ooxml-pull-v1`;function qo(e,t){if(!Number.isSafeInteger(e)||e<=0)throw RangeError(`${t} must be a positive safe integer`)}function Jo(e){if(!(typeof e==`string`&&e.length>0||typeof e==`number`&&Number.isSafeInteger(e)&&e>0))throw RangeError(`session id must be a non-empty string or positive safe integer`)}var Yo=class{bridge;options;sequence=0;pulling=!1;outstanding=!1;ending=!1;completed=!1;lifecyclePromise;usage;orphanedRequestIds=new Set;transferDisposers=new Set;constructor(e,t){Jo(t.sessionId),qo(t.operationId,`operation id`),qo(t.generation,`generation`),qo(t.maxByteCredit,`max byte credit`),t.cancelGraceMs!==void 0&&qo(t.cancelGraceMs,`cancel grace`),this.bridge=e,this.options=t}async pull(e,t){if(this.validateCredit(e),this.ending||this.completed)throw Error(`pull session is closed`);if(this.pulling)throw Error(`a pull request is already in flight`);if(this.outstanding)throw Error(`acknowledge the current chunk before the next pull`);this.pulling=!0;let n=this.sequence;try{let r=await this.request(t=>({protocol:Ko,kind:`pull`,...this.identity(),requestId:t,sequence:n,byteCredit:e}),t);if(this.validateResponseIdentity(r),r.usage&&(this.usage=r.usage),r.kind===`error`)throw Uo(r.error);if(r.kind!==`chunk`)throw Error(`expected chunk response, received ${r.kind}`);if(this.ending)throw this.disposePayload(r.payload),Error(`pull session is closed`);try{this.validateChunk(r,n,e)}catch(e){throw this.disposePayload(r.payload),e}return this.outstanding=!0,this.makeChunk(r)}catch(e){throw!xo(e)&&!this.ending&&!this.completed&&this.cancel(`protocol-error`).catch(()=>void 0),e}finally{this.pulling=!1}}cancel(e=`closed`,t){return this.lifecyclePromise?this.lifecyclePromise:(this.ending=!0,this.disposeAllTransferred(),this.lifecyclePromise=this.lifecycleControl(this.control(`cancel`,t,t=>({protocol:Ko,kind:`cancel`,...this.identity(),requestId:t,reason:e}))),this.lifecyclePromise)}close(e){return this.lifecyclePromise?this.lifecyclePromise:(this.ending=!0,this.disposeAllTransferred(),this.lifecyclePromise=this.lifecycleControl(this.control(`close`,e,e=>({protocol:Ko,kind:`close`,...this.identity(),requestId:e}))),this.lifecyclePromise)}get usageCheckpoint(){return this.usage}makeChunk(e){let t=!1,n,r,i=()=>{t||(t=!0,this.transferDisposers.delete(i),this.disposePayload(e.payload))};return this.transferDisposers.add(i),{done:e.done,sequence:e.sequence,byteLength:e.byteLength,payload:e.payload,leaseId:e.leaseId,usage:e.usage,disposeTransferred:i,ack:t=>n||(this.ending?Promise.resolve():(n=this.control(`ack`,t,t=>({protocol:Ko,kind:`ack`,...this.identity(),requestId:t,sequence:e.sequence})).then(()=>{this.outstanding=!1,this.sequence++,e.done&&(this.completed=!0)}).catch(e=>{throw this.ending||this.cancel(`request-error`).catch(()=>void 0),e}),n)),release:t=>r||(e.leaseId===void 0||this.ending?Promise.resolve():(r=this.control(`release`,t,t=>({protocol:Ko,kind:`release`,...this.identity(),requestId:t,leaseId:e.leaseId})).catch(e=>{throw this.ending||this.cancel(`request-error`).catch(()=>void 0),e}),r))}}async control(e,t,n){let r=await this.request(n,t,e!==`cancel`&&e!==`close`);if(this.validateResponseIdentity(r),r.usage&&(this.usage=r.usage),r.kind===`error`){if(r.error.code===`ooxml-stale-lifecycle`&&(e===`cancel`||e===`close`)){this.forgetLifecycleOrphans();return}throw Uo(r.error)}if(r.kind!==`accepted`||r.command!==e)throw Error(`expected ${e} acceptance`);(e===`cancel`||e===`close`)&&this.forgetLifecycleOrphans()}request(e,t,n=!0){return this.bridge.request(e,void 0,{timeoutMs:n?t?.timeoutMs??this.options.timeoutMs:!1,signal:t?.signal,onOrphanedResponse:e=>{e.kind===`chunk`&&this.disposePayload(e.payload)},onCancel:(e,n)=>{this.orphanedRequestIds.add(e);try{t?.onCancel?.(e,n)}finally{!this.ending&&!this.completed&&this.cancel(n).catch(()=>void 0)}}})}identity(){return{sessionId:this.options.sessionId,operationId:this.options.operationId,generation:this.options.generation}}validateResponseIdentity(e){if(e.protocol!==`ooxml-pull-v1`||e.sessionId!==this.options.sessionId||e.operationId!==this.options.operationId||e.generation!==this.options.generation)throw e.kind===`chunk`&&this.disposePayload(e.payload),Error(`stale or mismatched pull session response`)}validateCredit(e){if(qo(e,`byte credit`),e>this.options.maxByteCredit)throw RangeError(`byte credit exceeds session maximum ${this.options.maxByteCredit}`)}validateChunk(e,t,n){if(e.sequence!==t)throw Error(`pull response sequence mismatch`);if(!Number.isSafeInteger(e.byteLength)||e.byteLength<0)throw RangeError(`chunk byte length must be a non-negative safe integer`);if(e.byteLength>n)throw RangeError(`chunk exceeds byte credit`);e.leaseId!==void 0&&qo(e.leaseId,`lease id`)}disposeAllTransferred(){for(let e of[...this.transferDisposers])e()}lifecycleControl(e){let t=this.options.cancelGraceMs??1e3,n,r=new Promise((e,r)=>{n=setTimeout(()=>{this.bridge.terminate(),r(Error(`worker did not accept lifecycle command within ${t}ms`))},t)});return Promise.race([e,r]).catch(e=>{throw this.bridge.terminate(),e}).finally(()=>{n!==void 0&&clearTimeout(n)})}forgetLifecycleOrphans(){this.bridge.forgetOrphaned(this.orphanedRequestIds),this.orphanedRequestIds.clear()}disposePayload(e){try{this.options.disposeTransferred?.(e)}catch{}}},Xo=class{owner;queue=Promise.resolve();leases=new Map;retainedBytes=0;retainedCount=0;maxRetainedBytes;maxRetainedCount;cleanups=new Set;pendingFatalCleanups=[];poisonRunning=!1;fatal;constructor(e){this.maxRetainedBytes=e?.maxRetainedBytes??64*1024*1024,this.maxRetainedCount=e?.maxRetainedCount??256,qo(this.maxRetainedBytes,`max retained lease bytes`),qo(this.maxRetainedCount,`max retained lease count`)}enqueue(e){let t=this.queue.then(e,e);return this.queue=t.then(()=>void 0,()=>void 0),t}acquire(e){return this.owner===void 0?(this.owner=e,!0):this.owner===e}release(e){this.owner===e&&(this.owner=void 0)}retainLease(e,t,n){if(!Number.isSafeInteger(n)||n<0)throw RangeError(`retained lease bytes are invalid`);let r=this.leases.get(e)??new Map;if(r.has(t))throw Error(`driver returned a duplicate lease id`);if(this.retainedCount+1>this.maxRetainedCount)throw RangeError(`retained lease count exceeds limit`);if(this.retainedBytes+n>this.maxRetainedBytes)throw RangeError(`retained lease bytes exceed limit`);r.set(t,n),this.leases.set(e,r),this.retainedCount++,this.retainedBytes+=n}releaseLease(e,t){let n=this.leases.get(e),r=n?.get(t);r!==void 0&&(n?.delete(t),n?.size===0&&this.leases.delete(e),this.retainedCount--,this.retainedBytes-=r)}registerCleanup(e){return this.fatal?(this.poisonRunning?this.pendingFatalCleanups.push(e):this.enqueue(e).catch(()=>void 0),()=>void 0):(this.cleanups.add(e),()=>this.cleanups.delete(e))}get fatalError(){return this.fatal}get registeredHostCount(){return this.cleanups.size}async poison(e){if(this.fatal??=e,this.poisonRunning)return this.fatal;this.poisonRunning=!0,this.pendingFatalCleanups.push(...this.cleanups);try{let e;for(;(e=this.pendingFatalCleanups.shift())!==void 0;)await e().catch(()=>void 0)}finally{this.poisonRunning=!1}return this.fatal}},Zo=class{options;coordinator;coordinatorOwner=Symbol(`pull-session-host`);unregisterCleanup;sequence=0;unacked;leases=new Map;activeDriverLeases=new Set;nextWireLeaseId;cancelRequested=!1;cancelComplete=!1;closeRequested=!1;closeComplete=!1;driverCancelComplete=!1;driverCloseComplete=!1;completed=!1;constructor(e){Jo(e.sessionId),qo(e.operationId,`operation id`),qo(e.generation,`generation`),qo(e.maxByteCredit,`max byte credit`),e.wireLeaseIdStart!==void 0&&qo(e.wireLeaseIdStart,`wire lease id start`),this.options=e,this.coordinator=e.coordinator,this.nextWireLeaseId=e.wireLeaseIdStart??1,this.unregisterCleanup=this.coordinator.registerCleanup(()=>this.forceFatalCleanup())}dispatch(e,t){return this.coordinator.enqueue(async()=>{let n=await this.execute(e);try{t(n.response,n.transfer)}catch(e){throw await this.rollbackFailedPost(n),e}})}async rollbackFailedPost(e){let t=e.response;if(t.kind===`chunk`){let n=t.leaseId===void 0?void 0:this.leases.get(t.leaseId);try{await this.options.driver.disposeInvalidChunk?.({payload:t.payload,byteLength:t.byteLength,done:t.done,leaseId:n?.driverLeaseId,retainedBytes:n?.retainedBytes,transfer:e.transfer})}catch{}}this.unacked=void 0,this.coordinator.release(this.coordinatorOwner);for(let[e,t]of[...this.leases])try{await this.options.driver.releaseLease?.(t.driverLeaseId)}catch{}finally{this.leases.delete(e),this.activeDriverLeases.delete(t.driverLeaseId),this.coordinator.releaseLease(this.coordinatorOwner,e)}if(this.cancelRequested=!0,!this.driverCancelComplete)try{await this.options.driver.cancel?.(),this.driverCancelComplete=!0}catch{}this.unregisterCleanup()}async execute(e){try{if(this.isStaleLifecycle(e)){let t=e.kind===`cancel`?`cancel`:`close`;return this.sameOperationIdentity(e)?{response:this.accepted(e,t,!0)}:{response:this.errorResponse(e,{message:`stale lifecycle targets another session or operation`,errorName:`PullSessionProtocolError`,code:`ooxml-stale-lifecycle`})}}this.validateCommandIdentity(e);let t=this.coordinator.fatalError;if(t)return e.kind===`pull`?{response:this.errorResponse(e,t)}:(e.kind===`cancel`?await this.cancel():e.kind===`close`?await this.close():e.kind===`release`&&await this.release(e.leaseId),{response:this.accepted(e,e.kind)});switch(e.kind){case`pull`:return await this.pull(e);case`ack`:return await this.ack(e.sequence),{response:this.accepted(e,`ack`)};case`release`:return await this.release(e.leaseId),{response:this.accepted(e,`release`)};case`cancel`:return await this.cancel(),{response:this.accepted(e,`cancel`)};case`close`:return await this.close(),{response:this.accepted(e,`close`)}}}catch(t){let n=Vo(t);return n.code===`ooxml-resource-limit`&&(n=await this.coordinator.poison(n)),{response:this.errorResponse(e,n)}}}async pull(e){if(this.closeRequested||this.cancelRequested||this.completed)throw Error(`pull session is closed`);if(this.unacked)throw Error(`previous chunk is not acknowledged`);if(!Number.isSafeInteger(e.sequence)||e.sequence<0||e.sequence!==this.sequence)throw Error(`pull command sequence mismatch`);if(this.validateHostCredit(e.byteCredit),!this.coordinator.acquire(this.coordinatorOwner))throw Error(`another operation has an unacknowledged package chunk`);let t;try{t=await this.options.driver.pull(e.byteCredit)}catch(e){throw this.coordinator.release(this.coordinatorOwner),e}let n=!1,r=!1,i,a;try{let o=this.options.driver.measureChunk(t),s=this.arrayBufferTransferBytes(t.transfer);if(o<s)throw RangeError(`measured chunk bytes are below ArrayBuffer transfer bytes`);if(a=Math.max(o,s),t.leaseId!==void 0){if(qo(t.leaseId,`lease id`),t.retainedBytes===void 0)throw Error(`retained lease bytes are required`);if(this.activeDriverLeases.has(t.leaseId))throw r=!0,Error(`driver returned an active duplicate lease id`);i=this.allocateWireLeaseId(),this.coordinator.retainLease(this.coordinatorOwner,i,t.retainedBytes),this.leases.set(i,{driverLeaseId:t.leaseId,retainedBytes:t.retainedBytes}),this.activeDriverLeases.add(t.leaseId),n=!0}else if(t.retainedBytes!==void 0)throw Error(`retained lease bytes require a lease id`);if(!Number.isSafeInteger(a)||a<0)throw RangeError(`host chunk byte length must be a non-negative safe integer`);if(a>e.byteCredit)throw RangeError(`host chunk exceeds byte credit`)}catch(e){let a;try{await this.options.driver.disposeInvalidChunk?.(t)}catch(e){a=e}if(n&&i!==void 0)try{await this.release(i)}catch(e){a??=e}else if(t.leaseId!==void 0&&!r)try{await this.options.driver.releaseLease?.(t.leaseId)}catch(e){a??=e}if(r)try{await this.cancel()}catch(e){a??=e}throw this.coordinator.release(this.coordinatorOwner),a||e}return this.unacked={sequence:this.sequence,done:t.done},{response:{kind:`chunk`,protocol:Ko,...this.identity(),requestId:e.requestId,sequence:this.sequence,byteLength:a,done:t.done,payload:t.payload,leaseId:i,usage:this.resourceUsage()},transfer:t.transfer}}async ack(e){if(!Number.isSafeInteger(e)||e<0)throw RangeError(`invalid ack sequence`);if(e<this.sequence)return;if(!this.unacked||e!==this.sequence)throw Error(`ack sequence mismatch`);let t=this.unacked.done;await this.options.driver.acknowledge?.(e),this.unacked=void 0,this.coordinator.release(this.coordinatorOwner),this.sequence++,t&&(this.completed=!0,this.maybeUnregisterCompleted())}async release(e){qo(e,`wire lease id`);let t=this.leases.get(e);t&&(await this.options.driver.releaseLease?.(t.driverLeaseId),this.leases.delete(e),this.activeDriverLeases.delete(t.driverLeaseId),this.coordinator.releaseLease(this.coordinatorOwner,e),this.maybeUnregisterCompleted())}async cancel(){if(this.cancelComplete)return;this.cancelRequested=!0,this.unacked=void 0,this.coordinator.release(this.coordinatorOwner);let e;try{await this.releaseAllLeases()}catch(t){e=t}if(!this.driverCancelComplete)try{await this.options.driver.cancel?.(),this.driverCancelComplete=!0}catch(t){e??=t}if(e)throw e;this.cancelComplete=!0,this.unregisterCleanup()}async close(){if(this.closeComplete)return;this.closeRequested=!0,this.unacked=void 0,this.coordinator.release(this.coordinatorOwner);let e;try{await this.releaseAllLeases()}catch(t){e=t}if(!this.driverCloseComplete)try{await this.options.driver.close?.(),this.driverCloseComplete=!0}catch(t){e??=t}if(e)throw e;this.closeComplete=!0,this.unregisterCleanup()}async releaseAllLeases(){let e;for(let t of[...this.leases.keys()])try{await this.release(t)}catch(t){e??=t}if(e)throw e}validateCommandIdentity(e){if(e.protocol!==`ooxml-pull-v1`||e.sessionId!==this.options.sessionId||e.operationId!==this.options.operationId||e.generation!==this.options.generation||!Number.isSafeInteger(e.requestId)||e.requestId<=0)throw Error(`stale or mismatched pull session command`)}validateHostCredit(e){if(qo(e,`byte credit`),e>this.options.maxByteCredit)throw RangeError(`byte credit exceeds host maximum`)}accepted(e,t,n=!1){return{kind:`accepted`,protocol:Ko,...n?{sessionId:e.sessionId,operationId:e.operationId,generation:e.generation}:this.identity(),requestId:e.requestId,command:t,usage:this.resourceUsage()}}identity(){return{sessionId:this.options.sessionId,operationId:this.options.operationId,generation:this.options.generation}}isStaleLifecycle(e){return(e.kind===`cancel`||e.kind===`close`)&&e.protocol===`ooxml-pull-v1`&&Number.isSafeInteger(e.requestId)&&e.requestId>0&&Number.isSafeInteger(e.generation)&&e.generation>0&&e.generation<this.options.generation}sameOperationIdentity(e){return e.sessionId===this.options.sessionId&&e.operationId===this.options.operationId}errorResponse(e,t){return{kind:`error`,protocol:Ko,sessionId:e.sessionId,operationId:e.operationId,generation:e.generation,requestId:e.requestId,error:t,usage:this.errorResourceUsage()}}async forceFatalCleanup(){this.cancelRequested=!0,this.unacked=void 0,this.coordinator.release(this.coordinatorOwner);let e;for(let t of[...this.leases.keys()])try{await this.release(t)}catch(t){e??=t}if(!this.driverCancelComplete)try{await this.options.driver.cancel?.(),this.driverCancelComplete=!0}catch(t){e??=t}if(e)throw e;this.unregisterCleanup()}allocateWireLeaseId(){if(!Number.isSafeInteger(this.nextWireLeaseId)||this.nextWireLeaseId<=0)throw RangeError(`wire lease id space exhausted`);return this.nextWireLeaseId++}arrayBufferTransferBytes(e){let t=0;for(let n of e??[])if(n instanceof ArrayBuffer&&(t+=n.byteLength,!Number.isSafeInteger(t)))throw RangeError(`ArrayBuffer transfer bytes overflow`);return t}maybeUnregisterCompleted(){this.completed&&this.leases.size===0&&this.unregisterCleanup()}resourceUsage(){return this.options.driver.resourceUsage?.()}errorResourceUsage(){try{return this.resourceUsage()}catch{return}}};const Qo=[`L`,`R`,`AL`,`EN`,`ES`,`ET`,`AN`,`CS`,`NSM`,`BN`,`B`,`S`,`WS`,`ON`,`LRE`,`LRO`,`RLE`,`RLO`,`PDF`,`LRI`,`RLI`,`FSI`,`PDI`],$o=[0,9,10,11,12,13,14,28,31,32,33,35,38,43,44,45,46,48,58,59,65,91,97,123,127,133,134,160,161,162,166,170,171,173,174,176,178,180,181,182,185,186,187,192,215,216,247,248,697,699,706,720,722,736,741,750,751,768,880,884,886,894,895,900,902,903,904,1014,1015,1155,1162,1418,1419,1421,1423,1424,1425,1470,1471,1472,1473,1475,1476,1478,1479,1480,1536,1542,1544,1545,1547,1548,1549,1550,1552,1563,1611,1632,1642,1643,1645,1648,1649,1750,1757,1758,1759,1765,1767,1769,1770,1774,1776,1786,1809,1810,1840,1867,1958,1969,1984,2027,2036,2038,2042,2045,2046,2070,2074,2075,2084,2085,2088,2089,2094,2137,2140,2144,2192,2194,2199,2208,2250,2274,2275,2307,2362,2363,2364,2365,2369,2377,2381,2382,2385,2392,2402,2404,2433,2434,2492,2493,2497,2501,2509,2510,2530,2532,2546,2548,2555,2556,2558,2559,2561,2563,2620,2621,2625,2627,2631,2633,2635,2638,2641,2642,2672,2674,2677,2678,2689,2691,2748,2749,2753,2758,2759,2761,2765,2766,2786,2788,2801,2802,2810,2816,2817,2818,2876,2877,2879,2880,2881,2885,2893,2894,2901,2903,2914,2916,2946,2947,3008,3009,3021,3022,3059,3065,3066,3067,3072,3073,3076,3077,3132,3133,3134,3137,3142,3145,3146,3150,3157,3159,3170,3172,3192,3199,3201,3202,3260,3261,3276,3278,3298,3300,3328,3330,3387,3389,3393,3397,3405,3406,3426,3428,3457,3458,3530,3531,3538,3541,3542,3543,3633,3634,3636,3643,3647,3648,3655,3663,3761,3762,3764,3773,3784,3791,3864,3866,3893,3894,3895,3896,3897,3898,3902,3953,3967,3968,3973,3974,3976,3981,3992,3993,4029,4038,4039,4141,4145,4146,4152,4153,4155,4157,4159,4184,4186,4190,4193,4209,4213,4226,4227,4229,4231,4237,4238,4253,4254,4957,4960,5008,5018,5120,5121,5760,5761,5787,5789,5906,5909,5938,5940,5970,5972,6002,6004,6068,6070,6071,6078,6086,6087,6089,6100,6107,6108,6109,6110,6128,6138,6144,6155,6158,6159,6160,6277,6279,6313,6314,6432,6435,6439,6441,6450,6451,6457,6460,6464,6465,6468,6470,6622,6656,6679,6681,6683,6684,6742,6743,6744,6751,6752,6753,6754,6755,6757,6765,6771,6781,6783,6784,6832,6878,6880,6892,6912,6916,6964,6965,6966,6971,6972,6973,6978,6979,7019,7028,7040,7042,7074,7078,7080,7082,7083,7086,7142,7143,7144,7146,7149,7150,7151,7154,7212,7220,7222,7224,7376,7379,7380,7393,7394,7401,7405,7406,7412,7413,7416,7418,7616,7680,8125,8126,8127,8130,8141,8144,8157,8160,8173,8176,8189,8191,8192,8203,8206,8207,8208,8232,8233,8234,8235,8236,8237,8238,8239,8240,8245,8260,8261,8287,8288,8294,8295,8296,8297,8298,8304,8305,8308,8314,8316,8319,8320,8330,8332,8335,8352,8400,8433,8448,8450,8451,8455,8456,8458,8468,8469,8470,8473,8478,8484,8485,8486,8487,8488,8489,8490,8494,8495,8506,8508,8512,8517,8522,8526,8528,8544,8585,8588,8592,8722,8723,8724,9014,9083,9109,9110,9258,9280,9291,9312,9352,9372,9450,9900,9901,10240,10496,11124,11126,11264,11493,11499,11503,11506,11513,11520,11647,11648,11744,11776,11870,11904,11930,11931,12020,12032,12246,12272,12288,12289,12293,12296,12321,12330,12334,12336,12337,12342,12344,12349,12352,12441,12443,12445,12448,12449,12539,12540,12736,12774,12783,12784,12829,12831,12880,12896,12924,12927,12977,12992,13004,13008,13175,13179,13278,13280,13311,13312,19904,19968,42128,42183,42509,42512,42607,42611,42612,42622,42624,42654,42656,42736,42738,42752,42786,42888,42889,43010,43011,43014,43015,43019,43020,43045,43047,43048,43052,43053,43064,43066,43124,43128,43204,43206,43232,43250,43263,43264,43302,43310,43335,43346,43392,43395,43443,43444,43446,43450,43452,43454,43493,43494,43561,43567,43569,43571,43573,43575,43587,43588,43596,43597,43644,43645,43696,43697,43698,43701,43703,43705,43710,43712,43713,43714,43756,43758,43766,43767,43882,43884,44005,44006,44008,44009,44013,44014,64285,64286,64287,64297,64298,64336,64451,64467,64830,64848,64912,64914,64968,64976,65008,65021,65024,65040,65050,65056,65072,65104,65105,65106,65107,65108,65109,65110,65119,65120,65122,65124,65127,65128,65129,65131,65132,65136,65279,65280,65281,65283,65286,65291,65292,65293,65294,65296,65306,65307,65313,65339,65345,65371,65382,65504,65506,65509,65511,65512,65519,65520,65529,65534,65536,65793,65794,65856,65933,65936,65949,65952,65953,66045,66046,66272,66273,66300,66422,66427,67584,67871,67872,68097,68100,68101,68103,68108,68112,68152,68155,68159,68160,68325,68327,68409,68416,68864,68900,68904,68912,68922,68928,68938,68969,68974,68975,69216,69247,69291,69293,69312,69328,69337,69370,69376,69424,69446,69457,69488,69506,69510,69632,69633,69634,69688,69703,69714,69734,69744,69745,69747,69749,69759,69762,69811,69815,69817,69819,69826,69827,69888,69891,69927,69932,69933,69941,70003,70004,70016,70018,70070,70079,70089,70093,70095,70096,70191,70194,70196,70197,70198,70200,70206,70207,70209,70210,70367,70368,70371,70379,70400,70402,70459,70461,70464,70465,70502,70509,70512,70517,70587,70593,70606,70607,70608,70609,70610,70611,70625,70627,70712,70720,70722,70725,70726,70727,70750,70751,70835,70841,70842,70843,70847,70849,70850,70852,71090,71094,71100,71102,71103,71105,71132,71134,71219,71227,71229,71230,71231,71233,71264,71277,71339,71340,71341,71342,71344,71350,71351,71352,71453,71454,71455,71456,71458,71462,71463,71468,71727,71736,71737,71739,71995,71997,71998,71999,72003,72004,72148,72152,72154,72156,72160,72161,72193,72199,72201,72203,72243,72249,72251,72255,72263,72264,72273,72279,72281,72284,72330,72343,72344,72346,72544,72545,72546,72549,72550,72551,72752,72759,72760,72766,72850,72872,72874,72881,72882,72884,72885,72887,73009,73015,73018,73019,73020,73022,73023,73030,73031,73032,73104,73106,73109,73110,73111,73112,73459,73461,73472,73474,73526,73531,73536,73537,73538,73539,73562,73563,73685,73693,73697,73714,78912,78913,78919,78934,90398,90410,90413,90416,92912,92917,92976,92983,94031,94032,94095,94099,94178,94179,94180,94181,113821,113823,113824,113828,117760,117974,118e3,118010,118013,118016,118452,118458,118481,118496,118513,118528,118574,118576,118599,119143,119146,119155,119163,119171,119173,119180,119210,119214,119273,119275,119296,119362,119365,119366,119552,119639,120513,120514,120539,120540,120571,120572,120597,120598,120629,120630,120655,120656,120687,120688,120713,120714,120745,120746,120771,120772,120782,120832,121344,121399,121403,121453,121461,121462,121476,121477,121499,121504,121505,121520,122880,122887,122888,122905,122907,122914,122915,122917,122918,122923,123023,123024,123184,123191,123566,123567,123628,123632,123647,123648,124140,124144,124398,124400,124643,124644,124646,124647,124654,124656,124661,124662,124928,125136,125143,125252,125259,126064,126144,126208,126288,126464,126704,126706,126720,126976,127020,127024,127124,127136,127151,127153,127168,127169,127184,127185,127222,127232,127243,127248,127279,127280,127338,127344,127405,127406,127584,127590,127744,128729,128732,128749,128752,128765,128768,128986,128992,129004,129008,129009,129024,129036,129040,129096,129104,129114,129120,129160,129168,129198,129200,129212,129216,129218,129232,129241,129280,129624,129632,129646,129648,129661,129664,129675,129678,129735,129736,129737,129741,129757,129759,129771,129775,129785,129792,129939,129940,130032,130042,130043,131070,131072,196606,196608,262142,262144,327678,327680,393214,393216,458750,458752,524286,524288,589822,589824,655358,655360,720894,720896,786430,786432,851966,851968,917502,917760,918e3,921600,983038,983040,1048574,1048576,1114110],es=[9,11,10,11,12,10,9,10,11,12,13,5,13,4,7,4,7,3,7,13,0,13,0,13,9,10,9,7,13,5,13,0,13,9,13,5,3,13,0,13,3,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,8,0,13,0,13,0,13,0,13,0,13,0,8,0,13,0,13,5,1,8,1,8,1,8,1,8,1,8,1,6,13,2,5,2,7,2,13,8,2,8,6,5,6,2,8,2,8,6,13,8,2,8,13,8,2,3,2,8,2,8,2,8,2,1,8,1,13,1,8,1,8,1,8,1,8,1,8,1,8,1,2,6,2,8,2,8,6,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,5,0,5,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,5,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,13,5,13,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,13,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,5,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,13,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,13,0,13,0,12,0,13,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,5,0,8,0,13,0,13,8,9,8,0,8,0,8,0,8,0,8,0,8,0,8,0,13,0,13,0,13,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,13,0,13,0,13,0,13,0,13,0,13,0,12,9,0,1,13,12,10,14,16,18,15,17,7,5,13,7,13,12,9,19,20,21,22,9,3,0,3,4,13,0,3,4,13,0,5,8,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,5,0,13,0,13,0,13,0,13,0,13,0,13,4,5,13,0,13,0,13,0,13,0,13,3,0,13,0,13,0,13,0,13,0,13,0,8,0,13,0,8,0,8,13,0,13,0,13,0,13,0,13,12,13,0,13,0,8,0,13,0,13,0,13,0,8,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,8,13,8,13,0,8,0,8,0,13,0,13,0,8,0,8,0,8,0,8,0,13,8,0,5,0,13,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,13,0,8,0,8,0,8,0,1,8,1,4,1,2,13,2,13,2,13,2,13,9,2,13,8,13,0,8,13,7,13,7,0,13,7,13,5,13,4,13,0,13,5,13,0,2,9,0,13,5,13,4,7,4,7,3,7,13,0,13,0,13,0,5,13,5,0,13,0,9,13,9,0,13,0,13,0,13,0,13,0,8,0,8,3,0,8,0,1,13,1,8,1,8,1,8,1,8,1,8,1,8,1,13,1,2,8,2,6,2,6,1,8,13,1,6,1,8,1,2,13,2,8,1,2,8,2,1,8,1,0,8,0,8,0,13,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,13,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,13,5,13,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,13,0,8,0,8,0,9,0,13,0,3,13,0,13,0,13,0,13,0,8,0,8,0,8,0,9,8,0,8,0,8,0,13,0,13,8,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,3,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,5,0,8,0,8,0,8,0,8,0,8,0,8,0,1,8,1,8,1,2,1,2,1,2,13,2,1,13,0,13,0,13,0,13,0,13,0,13,0,3,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,0,13,3,13,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,8,9,0,9,0,9,0,9],ts=[40,41,41,40,60,62,62,60,91,93,93,91,123,125,125,123,171,187,187,171,3898,3899,3899,3898,3900,3901,3901,3900,5787,5788,5788,5787,8249,8250,8250,8249,8261,8262,8262,8261,8317,8318,8318,8317,8333,8334,8334,8333,8712,8715,8713,8716,8714,8717,8715,8712,8716,8713,8717,8714,8725,10741,8735,11262,8736,10659,8737,10651,8738,10656,8740,10990,8764,8765,8765,8764,8771,8909,8773,8780,8780,8773,8786,8787,8787,8786,8788,8789,8789,8788,8804,8805,8805,8804,8806,8807,8807,8806,8808,8809,8809,8808,8810,8811,8811,8810,8814,8815,8815,8814,8816,8817,8817,8816,8818,8819,8819,8818,8820,8821,8821,8820,8822,8823,8823,8822,8824,8825,8825,8824,8826,8827,8827,8826,8828,8829,8829,8828,8830,8831,8831,8830,8832,8833,8833,8832,8834,8835,8835,8834,8836,8837,8837,8836,8838,8839,8839,8838,8840,8841,8841,8840,8842,8843,8843,8842,8847,8848,8848,8847,8849,8850,8850,8849,8856,10680,8866,8867,8867,8866,8870,10974,8872,10980,8873,10979,8875,10981,8880,8881,8881,8880,8882,8883,8883,8882,8884,8885,8885,8884,8886,8887,8887,8886,8888,10204,8905,8906,8906,8905,8907,8908,8908,8907,8909,8771,8912,8913,8913,8912,8918,8919,8919,8918,8920,8921,8921,8920,8922,8923,8923,8922,8924,8925,8925,8924,8926,8927,8927,8926,8928,8929,8929,8928,8930,8931,8931,8930,8932,8933,8933,8932,8934,8935,8935,8934,8936,8937,8937,8936,8938,8939,8939,8938,8940,8941,8941,8940,8944,8945,8945,8944,8946,8954,8947,8955,8948,8956,8950,8957,8951,8958,8954,8946,8955,8947,8956,8948,8957,8950,8958,8951,8968,8969,8969,8968,8970,8971,8971,8970,9001,9002,9002,9001,10088,10089,10089,10088,10090,10091,10091,10090,10092,10093,10093,10092,10094,10095,10095,10094,10096,10097,10097,10096,10098,10099,10099,10098,10100,10101,10101,10100,10179,10180,10180,10179,10181,10182,10182,10181,10184,10185,10185,10184,10187,10189,10189,10187,10197,10198,10198,10197,10204,8888,10205,10206,10206,10205,10210,10211,10211,10210,10212,10213,10213,10212,10214,10215,10215,10214,10216,10217,10217,10216,10218,10219,10219,10218,10220,10221,10221,10220,10222,10223,10223,10222,10627,10628,10628,10627,10629,10630,10630,10629,10631,10632,10632,10631,10633,10634,10634,10633,10635,10636,10636,10635,10637,10640,10638,10639,10639,10638,10640,10637,10641,10642,10642,10641,10643,10644,10644,10643,10645,10646,10646,10645,10647,10648,10648,10647,10651,8737,10656,8738,10659,8736,10660,10661,10661,10660,10664,10665,10665,10664,10666,10667,10667,10666,10668,10669,10669,10668,10670,10671,10671,10670,10680,8856,10688,10689,10689,10688,10692,10693,10693,10692,10703,10704,10704,10703,10705,10706,10706,10705,10708,10709,10709,10708,10712,10713,10713,10712,10714,10715,10715,10714,10728,10729,10729,10728,10741,8725,10744,10745,10745,10744,10748,10749,10749,10748,10795,10796,10796,10795,10797,10798,10798,10797,10804,10805,10805,10804,10812,10813,10813,10812,10852,10853,10853,10852,10873,10874,10874,10873,10875,10876,10876,10875,10877,10878,10878,10877,10879,10880,10880,10879,10881,10882,10882,10881,10883,10884,10884,10883,10885,10886,10886,10885,10887,10888,10888,10887,10889,10890,10890,10889,10891,10892,10892,10891,10893,10894,10894,10893,10895,10896,10896,10895,10897,10898,10898,10897,10899,10900,10900,10899,10901,10902,10902,10901,10903,10904,10904,10903,10905,10906,10906,10905,10907,10908,10908,10907,10909,10910,10910,10909,10911,10912,10912,10911,10913,10914,10914,10913,10918,10919,10919,10918,10920,10921,10921,10920,10922,10923,10923,10922,10924,10925,10925,10924,10927,10928,10928,10927,10929,10930,10930,10929,10931,10932,10932,10931,10933,10934,10934,10933,10935,10936,10936,10935,10937,10938,10938,10937,10939,10940,10940,10939,10941,10942,10942,10941,10943,10944,10944,10943,10945,10946,10946,10945,10947,10948,10948,10947,10949,10950,10950,10949,10951,10952,10952,10951,10953,10954,10954,10953,10955,10956,10956,10955,10957,10958,10958,10957,10959,10960,10960,10959,10961,10962,10962,10961,10963,10964,10964,10963,10965,10966,10966,10965,10974,8870,10979,8873,10980,8872,10981,8875,10988,10989,10989,10988,10990,8740,10999,11e3,11e3,10999,11001,11002,11002,11001,11262,8735,11778,11779,11779,11778,11780,11781,11781,11780,11785,11786,11786,11785,11788,11789,11789,11788,11804,11805,11805,11804,11808,11809,11809,11808,11810,11811,11811,11810,11812,11813,11813,11812,11814,11815,11815,11814,11816,11817,11817,11816,11861,11862,11862,11861,11863,11864,11864,11863,11865,11866,11866,11865,11867,11868,11868,11867,12296,12297,12297,12296,12298,12299,12299,12298,12300,12301,12301,12300,12302,12303,12303,12302,12304,12305,12305,12304,12308,12309,12309,12308,12310,12311,12311,12310,12312,12313,12313,12312,12314,12315,12315,12314,65113,65114,65114,65113,65115,65116,65116,65115,65117,65118,65118,65117,65124,65125,65125,65124,65288,65289,65289,65288,65308,65310,65310,65308,65339,65341,65341,65339,65371,65373,65373,65371,65375,65376,65376,65375,65378,65379,65379,65378],ns=[40,41,0,41,40,1,91,93,0,93,91,1,123,125,0,125,123,1,3898,3899,0,3899,3898,1,3900,3901,0,3901,3900,1,5787,5788,0,5788,5787,1,8261,8262,0,8262,8261,1,8317,8318,0,8318,8317,1,8333,8334,0,8334,8333,1,8968,8969,0,8969,8968,1,8970,8971,0,8971,8970,1,9001,9002,0,9002,9001,1,10088,10089,0,10089,10088,1,10090,10091,0,10091,10090,1,10092,10093,0,10093,10092,1,10094,10095,0,10095,10094,1,10096,10097,0,10097,10096,1,10098,10099,0,10099,10098,1,10100,10101,0,10101,10100,1,10181,10182,0,10182,10181,1,10214,10215,0,10215,10214,1,10216,10217,0,10217,10216,1,10218,10219,0,10219,10218,1,10220,10221,0,10221,10220,1,10222,10223,0,10223,10222,1,10627,10628,0,10628,10627,1,10629,10630,0,10630,10629,1,10631,10632,0,10632,10631,1,10633,10634,0,10634,10633,1,10635,10636,0,10636,10635,1,10637,10640,0,10638,10639,1,10639,10638,0,10640,10637,1,10641,10642,0,10642,10641,1,10643,10644,0,10644,10643,1,10645,10646,0,10646,10645,1,10647,10648,0,10648,10647,1,10712,10713,0,10713,10712,1,10714,10715,0,10715,10714,1,10748,10749,0,10749,10748,1,11810,11811,0,11811,11810,1,11812,11813,0,11813,11812,1,11814,11815,0,11815,11814,1,11816,11817,0,11817,11816,1,11861,11862,0,11862,11861,1,11863,11864,0,11864,11863,1,11865,11866,0,11866,11865,1,11867,11868,0,11868,11867,1,12296,12297,0,12297,12296,1,12298,12299,0,12299,12298,1,12300,12301,0,12301,12300,1,12302,12303,0,12303,12302,1,12304,12305,0,12305,12304,1,12308,12309,0,12309,12308,1,12310,12311,0,12311,12310,1,12312,12313,0,12313,12312,1,12314,12315,0,12315,12314,1,65113,65114,0,65114,65113,1,65115,65116,0,65116,65115,1,65117,65118,0,65118,65117,1,65288,65289,0,65289,65288,1,65339,65341,0,65341,65339,1,65371,65373,0,65373,65371,1,65375,65376,0,65376,65375,1,65378,65379,0,65379,65378,1];function rs(e){let t=0,n=$o.length-1;for(;t<n;){let r=t+n+1>>1;$o[r]<=e?t=r:n=r-1}return es[t]}function is(e){return Qo[rs(e)]}const as=(()=>{let e=new Map;for(let t=0;t<ts.length;t+=2)e.set(ts[t],ts[t+1]);return e})();function os(e){return as.get(e)??null}const ss=(()=>{let e=new Map;for(let t=0;t<ns.length;t+=3)e.set(ns[t],{pair:ns[t+1],type:ns[t+2]===0?`o`:`c`});return e})();function cs(e){return ss.get(e)??null}const ls=e=>e===`RLE`||e===`LRE`||e===`RLO`||e===`LRO`||e===`PDF`||e===`BN`,us=e=>e===`LRI`||e===`RLI`||e===`FSI`,ds=e=>e===`B`||e===`S`||e===`WS`||e===`ON`||e===`FSI`||e===`LRI`||e===`RLI`||e===`PDI`,fs=e=>e&1?e+2:e+1,ps=e=>e&1?e+1:e+2;function ms(e,t,n){let r=0;for(let i=t;i<n;i++){let t=e[i];if(us(t))r++;else if(t===`PDI`)r>0&&r--;else if(r===0){if(t===`L`)return 0;if(t===`R`||t===`AL`)return 1}}return 0}function hs(e){let t=e.length,n=new Int32Array(t).fill(t),r=new Int32Array(t).fill(-1),i=[];for(let a=0;a<t;a++){let t=e[a];if(us(t))i.push(a);else if(t===`PDI`&&i.length){let e=i.pop();n[e]=a,r[a]=e}}return{pdiOf:n,initOf:r}}function gs(e,t,n){let r=e.length,i=Array(r).fill(t),a=e.slice(),o=[{level:t,override:`neutral`,isolate:!1}],s=0,c=0,l=0,u=()=>o[o.length-1];for(let d=0;d<r;d++){let r=e[d];switch(r){case`RLE`:case`LRE`:case`RLO`:case`LRO`:{i[d]=u().level;let e=r===`RLE`||r===`RLO`?fs(u().level):ps(u().level);e<=125&&s===0&&c===0?o.push({level:e,override:r===`RLO`?`R`:r===`LRO`?`L`:`neutral`,isolate:!1}):s===0&&c++;break}case`RLI`:case`LRI`:case`FSI`:{i[d]=u().level;let t=u().override;t!==`neutral`&&(a[d]=t);let f;f=r===`RLI`?`R`:r===`LRI`?`L`:ms(e,d+1,n[d])===1?`R`:`L`;let p=f===`R`?fs(u().level):ps(u().level);p<=125&&s===0&&c===0?(l++,o.push({level:p,override:`neutral`,isolate:!0})):s++;break}case`PDI`:if(s>0)s--;else if(l>0){for(c=0;!u().isolate;)o.pop();o.pop(),l--}{i[d]=u().level;let e=u().override;e!==`neutral`&&(a[d]=e)}break;case`PDF`:i[d]=u().level,s>0||(c>0?c--:!u().isolate&&o.length>=2&&o.pop());break;case`B`:o.length=1,s=0,c=0,l=0,i[d]=t;break;case`BN`:i[d]=u().level;break;default:{i[d]=u().level;let e=u().override;e!==`neutral`&&(a[d]=e);break}}}return{levels:i,types:a}}function _s(e){return e===9001?12296:e===9002?12297:e}function vs(e,t,n,r,i,a){let o=e.length,s=[];for(let e=0;e<o;e++)n[e]||s.push(e);let c=[];for(let e=0;e<s.length;e++){let n=s[e];e===0||t[n]!==t[s[e-1]]?c.push([n]):c[c.length-1].push(n)}let l=new Map;for(let e of c)l.set(e[0],e);let u=e=>e&1?`R`:`L`,d=[];for(let s of c){let c=s[0];if(e[c]===`PDI`&&a[c]!==-1)continue;let f=[],p=s;for(;;){for(let e of p)f.push(e);let t=p[p.length-1];if(us(e[t])&&i[t]!==o){let e=l.get(i[t]);if(e){p=e;continue}}break}let m=t[f[0]],h=r;for(let e=f[0]-1;e>=0;e--)if(!n[e]){h=t[e];break}let g=u(Math.max(m,h)),_=f[f.length-1],v=r;if(!(us(e[_])&&i[_]===o)){for(let e=_+1;e<o;e++)if(!n[e]){v=t[e];break}}let y=u(Math.max(m,v));d.push({indices:f,level:m,sos:g,eos:y})}return d}const ys=e=>e===`L`?`L`:e===`R`||e===`EN`||e===`AN`?`R`:null;function bs(e,t,n,r,i){let a=e.indices,o=a.length,{sos:s,eos:c,level:l}=e;for(let e=0;e<o;e++){let t=a[e];if(r[t]===`NSM`)if(e===0)r[t]=s;else{let n=r[a[e-1]];r[t]=n===`LRI`||n===`RLI`||n===`FSI`||n===`PDI`?`ON`:n}}{let e=s;for(let t=0;t<o;t++){let n=r[a[t]];n===`R`||n===`L`||n===`AL`?e=n:n===`EN`&&e===`AL`&&(r[a[t]]=`AN`)}}for(let e=0;e<o;e++)r[a[e]]===`AL`&&(r[a[e]]=`R`);for(let e=1;e<o-1;e++){let t=r[a[e]],n=r[a[e-1]],i=r[a[e+1]];t===`ES`&&n===`EN`&&i===`EN`||t===`CS`&&n===`EN`&&i===`EN`?r[a[e]]=`EN`:t===`CS`&&n===`AN`&&i===`AN`&&(r[a[e]]=`AN`)}for(let e=0;e<o;e++){if(r[a[e]]!==`ET`)continue;let t=e;for(;t<o&&r[a[t]]===`ET`;)t++;let n=e>0?r[a[e-1]]:s,i=t<o?r[a[t]]:c;if(n===`EN`||i===`EN`)for(let n=e;n<t;n++)r[a[n]]=`EN`;e=t-1}for(let e=0;e<o;e++){let t=r[a[e]];(t===`ES`||t===`ET`||t===`CS`)&&(r[a[e]]=`ON`)}{let e=s;for(let t=0;t<o;t++){let n=r[a[t]];n===`R`||n===`L`?e=n:n===`EN`&&e===`L`&&(r[a[t]]=`L`)}}let u=l&1?`R`:`L`,d=u===`R`?`L`:`R`,f=[];{let e=[];outer:for(let n=0;n<o;n++){let i=a[n];if(r[i]!==`ON`)continue;let o=cs(t[i]);if(o)if(o.type===`o`){if(e.length===63)break outer;e.push({expect:_s(o.pair),pos:n})}else{let r=_s(t[i]);for(let t=e.length-1;t>=0;t--)if(e[t].expect===r){f.push({open:e[t].pos,close:n}),e.length=t;break}}}f.sort((e,t)=>e.open-t.open)}let p=(e,t)=>{for(let i=e+1;i<o&&n[a[i]]===`NSM`;i++)r[a[i]]=t};for(let{open:e,close:t}of f){let n=!1,i=!1;for(let o=e+1;o<t;o++){let e=ys(r[a[o]]);e===u?n=!0:e===d&&(i=!0)}let o=null;if(n)o=u;else if(i){let t=s;for(let n=e-1;n>=0;n--){let e=ys(r[a[n]]);if(e){t=e;break}}o=t===d?d:u}o&&(r[a[e]]=o,r[a[t]]=o,p(e,o),p(t,o))}for(let e=0;e<o;e++){if(!ds(r[a[e]]))continue;let t=e;for(;t<o&&ds(r[a[t]]);)t++;let n=e>0?ys(r[a[e-1]]):s,i=t<o?ys(r[a[t]]):c;if(n&&i&&n===i)for(let i=e;i<t;i++)r[a[i]]=n;e=t-1}for(let e=0;e<o;e++)ds(r[a[e]])&&(r[a[e]]=u);for(let e=0;e<o;e++){let t=a[e],n=r[t];l&1?(n===`L`||n===`EN`||n===`AN`)&&(i[t]+=1):n===`R`?i[t]+=1:(n===`AN`||n===`EN`)&&(i[t]+=2)}}function xs(e,t,n){let r=e.length,i=Array(r);for(let t=0;t<r;t++)i[t]=n?.[t]??is(e[t]);let a=t===`rtl`?1:t===`ltr`?0:ms(i,0,r),{pdiOf:o,initOf:s}=hs(i),{levels:c,types:l}=gs(i,a,o),u=Array(r);for(let e=0;e<r;e++)u[e]=ls(i[e]);let d=vs(i,c,u,a,o,s),f=l.slice();for(let t of d)bs(t,e,i,f,c);let p=e=>{let t=i[e];return t===`WS`||us(t)||t===`PDI`||u[e]};for(let e=0;e<r;e++){let t=i[e];if(t===`B`||t===`S`){c[e]=a;for(let t=e-1;t>=0&&p(t);t--)u[t]||(c[t]=a)}}for(let e=r-1;e>=0&&p(e);e--)u[e]||(c[e]=a);for(let e=0;e<r;e++)u[e]&&(c[e]=-1);return{levels:c,paragraphLevel:a}}function Ss(e,t,n){let r=[];for(let i=t;i<n;i++){let t=e[i];t>=0&&t<=126&&r.push(i)}if(r.length===0)return r;let i=0,a=127;for(let t of r){let n=e[t];n>i&&(i=n),n&1&&n<a&&(a=n)}for(let t=i;t>=a;t--){let n=0;for(;n<r.length;)if(e[r[n]]>=t){let i=n+1;for(;i<r.length&&e[r[i]]>=t;)i++;for(let e=n,t=i-1;e<t;e++,t--){let n=r[e];r[e]=r[t],r[t]=n}n=i}else n++}return r}function Cs(e){let t=[],n=[],r=[];for(let i=0;i<e.length;){let a=e.codePointAt(i),o=a>65535?2:1;t.push(a),n.push(o),r.push(i),i+=o}return{cps:t,units:n,starts:r}}var ws=class{computeLevels(e,t,n){let{cps:r,units:i,starts:a}=Cs(e),{levels:o,paragraphLevel:s}=xs(r,t,n?r.map((e,t)=>n[a[t]]??null):void 0),c=new Uint8Array(e.length),l=0;for(let e=0;e<o.length;e++){let t=o[e]===-1?255:o[e];for(let n=0;n<i[e];n++)c[l++]=t}return{levels:c,paragraphLevel:s}}reorderVisual(e,t,n){return Ss(e,t,n)}getMirror(e){return os(e)}};function Ts(){return new ws}let Es=null;function Ds(){return Es===null&&(Es=Ts()),Es}const Os=/[\\u0590-\\u08FF\\uFB1D-\\uFDFF\\uFE70-\\uFEFF\\u200F\\u202B\\u202E\\u2067]|[\\u{10800}-\\u{10FFF}\\u{1E800}-\\u{1EFFF}]/u;function ks(e){return Os.test(e)}function As(e,t,n){let r=n.length,i=new Uint8Array(r);for(let a=0;a<r;a++){let r=e[n[a]];i[a]=r===255?t:r}return{order:Ds().reorderVisual(i,0,r),segLevels:i}}function js(e){let t=new Set;for(let n of e)t.add(n.codePointAt(0));return t}function Ms(e){return{enabled:e?.kinsoku!==!1,lineStartForbidden:js(e?.noLineBreaksBefore??`”’)〕]}〉》」』】〙〗〟⦆»、。,.・:;/?!‐ー゠–〜~ぁぃぅぇぉっゃゅょゎゕゖァィゥェォッャュョヮヵヶㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ゝゞヽヾ゛゜%‰℃°′″。」、・ー゙゚!),.:;?]}⦆`),lineEndForbidden:js(e?.noLineBreaksAfter??`“‘(〔[{〈《「『【〘〖〝⦅«$¥#£¢([{⦅`)}}const Ns=Ms();function Ps(e,t,n,r=1){if(!n.enabled||t<=0||t>=e.length)return t;let i=t=>t<e.length&&n.lineStartForbidden.has(e[t].codePointAt(0)),a=t=>t>=0&&n.lineEndForbidden.has(e[t].codePointAt(0)),o=t;for(;o>r&&(i(o)||a(o-1));)o--;return o<=r&&(i(o)||a(o-1))?t:o}function Fs(e,t,n){if(!t.enabled)return 0;let r=e.length-n;for(let n=1;n<=r;n++){let r=e[e.length-n];if(/\\s/.test(r)||t.lineStartForbidden.has(r.codePointAt(0)))continue;let i=e[e.length-n-1];if(!(i&&t.lineEndForbidden.has(i.codePointAt(0))))return n}return 0}function Is(e){return e>=12288&&e<=40959||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65280&&e<=65519}const Ls=`BK.CM.CR.GL.LF.NL.SP.WJ.ZW.ZWJ.AK.AL.AP.AS.B2.BA.BB.CB.CL.CP.EB.EM.EX.H2.H3.HL.HH.HY.ID.IN.IS.JL.JT.JV.NS.NU.OP.PO.PR.QU.RI.SY.VF.VI`.split(`.`),Rs=[0,9,10,11,13,14,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,58,60,63,64,91,92,93,94,123,124,125,126,127,133,134,160,161,162,163,166,171,172,173,174,176,177,178,180,181,187,188,191,192,712,713,716,717,735,736,768,860,867,880,894,895,1155,1162,1417,1418,1419,1423,1424,1425,1470,1471,1472,1473,1475,1476,1478,1479,1480,1488,1515,1519,1523,1536,1542,1545,1548,1550,1552,1563,1564,1565,1568,1611,1632,1642,1643,1645,1648,1649,1748,1749,1750,1757,1758,1759,1765,1767,1769,1770,1774,1776,1786,1809,1810,1840,1867,1958,1969,1984,1994,2027,2036,2040,2041,2042,2045,2046,2048,2070,2074,2075,2084,2085,2088,2089,2094,2137,2140,2192,2194,2199,2208,2250,2274,2275,2308,2362,2365,2366,2384,2385,2392,2402,2404,2406,2416,2433,2436,2492,2493,2494,2501,2503,2505,2507,2510,2519,2520,2530,2532,2534,2544,2546,2548,2553,2554,2555,2556,2558,2559,2561,2564,2620,2621,2622,2627,2631,2633,2635,2638,2641,2642,2662,2672,2674,2677,2678,2689,2692,2748,2749,2750,2758,2759,2762,2763,2766,2786,2788,2790,2800,2801,2802,2810,2816,2817,2820,2876,2877,2878,2885,2887,2889,2891,2894,2901,2904,2914,2916,2918,2928,2946,2947,3006,3011,3014,3017,3018,3022,3031,3032,3046,3056,3065,3066,3072,3077,3132,3133,3134,3141,3142,3145,3146,3150,3157,3159,3170,3172,3174,3184,3191,3192,3201,3204,3205,3260,3261,3262,3269,3270,3273,3274,3278,3285,3287,3298,3300,3302,3312,3315,3316,3328,3332,3387,3389,3390,3397,3398,3401,3402,3406,3415,3416,3426,3428,3430,3440,3449,3450,3457,3460,3530,3531,3535,3541,3542,3543,3544,3552,3558,3568,3570,3572,3633,3634,3636,3643,3647,3648,3655,3663,3664,3674,3676,3761,3762,3764,3773,3784,3791,3792,3802,3841,3845,3846,3848,3849,3851,3852,3853,3858,3859,3860,3861,3864,3866,3872,3882,3892,3893,3894,3895,3896,3897,3898,3899,3900,3901,3902,3904,3953,3967,3968,3973,3974,3976,3981,3992,3993,4029,4030,4032,4038,4039,4048,4050,4051,4052,4057,4059,4139,4159,4160,4170,4172,4182,4186,4190,4193,4194,4197,4199,4206,4209,4213,4226,4238,4239,4240,4250,4254,4352,4448,4520,4608,4957,4960,4961,4962,5120,5121,5760,5761,5787,5788,5789,5867,5870,5906,5910,5938,5941,5943,5970,5972,6002,6004,6068,6100,6102,6103,6104,6105,6106,6107,6108,6109,6110,6112,6122,6146,6148,6150,6151,6152,6154,6155,6158,6159,6160,6170,6277,6279,6313,6314,6432,6444,6448,6460,6468,6470,6480,6608,6619,6679,6684,6741,6751,6752,6781,6783,6784,6794,6800,6810,6832,6878,6880,6891,6892,6912,6917,6964,6980,6981,6989,6990,6992,7002,7004,7005,7009,7019,7028,7037,7040,7043,7073,7086,7088,7098,7104,7142,7154,7156,7204,7224,7227,7232,7242,7248,7258,7294,7296,7376,7379,7380,7401,7405,7406,7412,7413,7415,7418,7616,7629,7630,7676,7677,7680,8189,8190,8192,8199,8200,8203,8204,8205,8206,8208,8209,8210,8212,8213,8216,8218,8219,8222,8223,8224,8228,8231,8232,8234,8239,8240,8248,8249,8251,8252,8254,8260,8261,8262,8263,8266,8278,8279,8280,8284,8285,8288,8289,8294,8304,8317,8318,8319,8333,8334,8335,8352,8359,8360,8374,8375,8379,8380,8382,8383,8384,8385,8400,8433,8451,8452,8457,8458,8470,8471,8722,8724,8943,8944,8968,8969,8970,8971,8972,8986,8988,9001,9002,9003,9200,9204,9728,9732,9748,9750,9752,9753,9754,9757,9758,9760,9785,9788,9832,9833,9855,9856,9917,9929,9933,9934,9935,9938,9939,9941,9944,9946,9948,9949,9951,9954,9962,9963,9969,9974,9975,9977,9978,9979,9981,9989,9992,9994,9998,10075,10081,10082,10084,10085,10088,10089,10090,10091,10092,10093,10094,10095,10096,10097,10098,10099,10100,10101,10102,10181,10182,10183,10214,10215,10216,10217,10218,10219,10220,10221,10222,10223,10224,10240,10241,10627,10628,10629,10630,10631,10632,10633,10634,10635,10636,10637,10638,10639,10640,10641,10642,10643,10644,10645,10646,10647,10648,10649,10712,10713,10714,10715,10716,10748,10749,10750,11503,11506,11513,11514,11517,11518,11519,11520,11632,11633,11647,11648,11744,11776,11790,11798,11799,11800,11801,11802,11804,11806,11808,11810,11811,11812,11813,11814,11815,11816,11817,11818,11822,11823,11824,11826,11827,11829,11834,11836,11839,11840,11841,11842,11843,11851,11852,11853,11854,11856,11859,11861,11862,11863,11864,11865,11866,11867,11868,11869,11870,11904,11930,11931,12020,12032,12246,12272,12288,12289,12291,12293,12294,12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,12306,12308,12309,12310,12311,12312,12313,12314,12315,12316,12317,12318,12320,12330,12336,12341,12342,12347,12349,12352,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12387,12388,12419,12420,12421,12422,12423,12424,12430,12431,12437,12439,12441,12443,12447,12448,12450,12451,12452,12453,12454,12455,12456,12457,12458,12483,12484,12515,12516,12517,12518,12519,12520,12526,12527,12533,12535,12539,12543,12544,12549,12592,12593,12687,12688,12774,12783,12784,12800,12831,12832,12872,12880,19904,19968,40981,40982,42125,42128,42183,42238,42240,42509,42510,42511,42512,42528,42538,42607,42611,42612,42622,42654,42656,42736,42738,42739,42744,43010,43011,43014,43015,43019,43020,43043,43048,43052,43053,43064,43065,43124,43126,43128,43136,43138,43188,43206,43214,43216,43226,43232,43250,43260,43261,43263,43264,43274,43302,43310,43312,43335,43348,43360,43389,43392,43396,43443,43456,43457,43463,43466,43470,43471,43472,43482,43486,43488,43493,43494,43504,43514,43520,43561,43575,43584,43587,43588,43596,43598,43600,43610,43612,43613,43616,43643,43646,43696,43697,43698,43701,43703,43705,43710,43712,43713,43714,43755,43760,43762,43765,43767,44003,44011,44012,44014,44016,44026,44032,44033,44060,44061,44088,44089,44116,44117,44144,44145,44172,44173,44200,44201,44228,44229,44256,44257,44284,44285,44312,44313,44340,44341,44368,44369,44396,44397,44424,44425,44452,44453,44480,44481,44508,44509,44536,44537,44564,44565,44592,44593,44620,44621,44648,44649,44676,44677,44704,44705,44732,44733,44760,44761,44788,44789,44816,44817,44844,44845,44872,44873,44900,44901,44928,44929,44956,44957,44984,44985,45012,45013,45040,45041,45068,45069,45096,45097,45124,45125,45152,45153,45180,45181,45208,45209,45236,45237,45264,45265,45292,45293,45320,45321,45348,45349,45376,45377,45404,45405,45432,45433,45460,45461,45488,45489,45516,45517,45544,45545,45572,45573,45600,45601,45628,45629,45656,45657,45684,45685,45712,45713,45740,45741,45768,45769,45796,45797,45824,45825,45852,45853,45880,45881,45908,45909,45936,45937,45964,45965,45992,45993,46020,46021,46048,46049,46076,46077,46104,46105,46132,46133,46160,46161,46188,46189,46216,46217,46244,46245,46272,46273,46300,46301,46328,46329,46356,46357,46384,46385,46412,46413,46440,46441,46468,46469,46496,46497,46524,46525,46552,46553,46580,46581,46608,46609,46636,46637,46664,46665,46692,46693,46720,46721,46748,46749,46776,46777,46804,46805,46832,46833,46860,46861,46888,46889,46916,46917,46944,46945,46972,46973,47e3,47001,47028,47029,47056,47057,47084,47085,47112,47113,47140,47141,47168,47169,47196,47197,47224,47225,47252,47253,47280,47281,47308,47309,47336,47337,47364,47365,47392,47393,47420,47421,47448,47449,47476,47477,47504,47505,47532,47533,47560,47561,47588,47589,47616,47617,47644,47645,47672,47673,47700,47701,47728,47729,47756,47757,47784,47785,47812,47813,47840,47841,47868,47869,47896,47897,47924,47925,47952,47953,47980,47981,48008,48009,48036,48037,48064,48065,48092,48093,48120,48121,48148,48149,48176,48177,48204,48205,48232,48233,48260,48261,48288,48289,48316,48317,48344,48345,48372,48373,48400,48401,48428,48429,48456,48457,48484,48485,48512,48513,48540,48541,48568,48569,48596,48597,48624,48625,48652,48653,48680,48681,48708,48709,48736,48737,48764,48765,48792,48793,48820,48821,48848,48849,48876,48877,48904,48905,48932,48933,48960,48961,48988,48989,49016,49017,49044,49045,49072,49073,49100,49101,49128,49129,49156,49157,49184,49185,49212,49213,49240,49241,49268,49269,49296,49297,49324,49325,49352,49353,49380,49381,49408,49409,49436,49437,49464,49465,49492,49493,49520,49521,49548,49549,49576,49577,49604,49605,49632,49633,49660,49661,49688,49689,49716,49717,49744,49745,49772,49773,49800,49801,49828,49829,49856,49857,49884,49885,49912,49913,49940,49941,49968,49969,49996,49997,50024,50025,50052,50053,50080,50081,50108,50109,50136,50137,50164,50165,50192,50193,50220,50221,50248,50249,50276,50277,50304,50305,50332,50333,50360,50361,50388,50389,50416,50417,50444,50445,50472,50473,50500,50501,50528,50529,50556,50557,50584,50585,50612,50613,50640,50641,50668,50669,50696,50697,50724,50725,50752,50753,50780,50781,50808,50809,50836,50837,50864,50865,50892,50893,50920,50921,50948,50949,50976,50977,51004,51005,51032,51033,51060,51061,51088,51089,51116,51117,51144,51145,51172,51173,51200,51201,51228,51229,51256,51257,51284,51285,51312,51313,51340,51341,51368,51369,51396,51397,51424,51425,51452,51453,51480,51481,51508,51509,51536,51537,51564,51565,51592,51593,51620,51621,51648,51649,51676,51677,51704,51705,51732,51733,51760,51761,51788,51789,51816,51817,51844,51845,51872,51873,51900,51901,51928,51929,51956,51957,51984,51985,52012,52013,52040,52041,52068,52069,52096,52097,52124,52125,52152,52153,52180,52181,52208,52209,52236,52237,52264,52265,52292,52293,52320,52321,52348,52349,52376,52377,52404,52405,52432,52433,52460,52461,52488,52489,52516,52517,52544,52545,52572,52573,52600,52601,52628,52629,52656,52657,52684,52685,52712,52713,52740,52741,52768,52769,52796,52797,52824,52825,52852,52853,52880,52881,52908,52909,52936,52937,52964,52965,52992,52993,53020,53021,53048,53049,53076,53077,53104,53105,53132,53133,53160,53161,53188,53189,53216,53217,53244,53245,53272,53273,53300,53301,53328,53329,53356,53357,53384,53385,53412,53413,53440,53441,53468,53469,53496,53497,53524,53525,53552,53553,53580,53581,53608,53609,53636,53637,53664,53665,53692,53693,53720,53721,53748,53749,53776,53777,53804,53805,53832,53833,53860,53861,53888,53889,53916,53917,53944,53945,53972,53973,54e3,54001,54028,54029,54056,54057,54084,54085,54112,54113,54140,54141,54168,54169,54196,54197,54224,54225,54252,54253,54280,54281,54308,54309,54336,54337,54364,54365,54392,54393,54420,54421,54448,54449,54476,54477,54504,54505,54532,54533,54560,54561,54588,54589,54616,54617,54644,54645,54672,54673,54700,54701,54728,54729,54756,54757,54784,54785,54812,54813,54840,54841,54868,54869,54896,54897,54924,54925,54952,54953,54980,54981,55008,55009,55036,55037,55064,55065,55092,55093,55120,55121,55148,55149,55176,55177,55204,55216,55239,55243,55292,63744,64256,64285,64286,64287,64297,64298,64311,64312,64317,64318,64319,64320,64322,64323,64325,64326,64336,64830,64831,64832,65020,65021,65024,65040,65043,65045,65047,65048,65049,65050,65056,65057,65058,65059,65060,65061,65062,65064,65065,65066,65067,65068,65069,65071,65072,65077,65078,65079,65080,65081,65082,65083,65084,65085,65086,65087,65088,65089,65090,65091,65092,65093,65095,65096,65097,65104,65105,65106,65107,65108,65110,65112,65113,65114,65115,65116,65117,65118,65119,65127,65128,65129,65130,65131,65132,65279,65280,65281,65282,65284,65285,65286,65288,65289,65290,65292,65293,65294,65295,65306,65308,65311,65312,65339,65340,65341,65342,65371,65372,65373,65374,65375,65376,65378,65379,65381,65382,65383,65393,65438,65440,65471,65474,65480,65482,65488,65490,65496,65498,65501,65504,65505,65506,65509,65511,65529,65532,65533,65792,65795,66045,66046,66272,66273,66422,66427,66463,66464,66512,66513,66720,66730,67671,67672,67871,67872,68097,68100,68101,68103,68108,68112,68152,68155,68159,68160,68176,68184,68325,68327,68336,68342,68343,68409,68416,68900,68904,68912,68922,68928,68938,68969,68974,68975,69291,69293,69294,69328,69329,69370,69376,69446,69457,69506,69510,69632,69635,69637,69688,69702,69703,69705,69710,69714,69734,69744,69745,69747,69749,69750,69759,69760,69763,69808,69819,69821,69822,69826,69827,69837,69838,69872,69882,69888,69891,69927,69941,69942,69952,69956,69957,69959,70003,70004,70005,70006,70016,70019,70067,70081,70085,70087,70088,70089,70093,70094,70096,70106,70107,70108,70109,70112,70188,70200,70202,70203,70205,70206,70207,70209,70210,70313,70314,70367,70379,70384,70394,70400,70404,70405,70413,70415,70417,70419,70441,70442,70449,70450,70452,70453,70458,70459,70461,70462,70469,70471,70473,70475,70477,70478,70480,70481,70487,70488,70493,70494,70496,70498,70500,70502,70509,70512,70517,70528,70538,70539,70540,70542,70543,70544,70546,70582,70583,70584,70593,70594,70595,70597,70598,70599,70603,70604,70608,70609,70610,70611,70614,70615,70617,70625,70627,70709,70727,70731,70735,70736,70746,70748,70750,70751,70832,70852,70864,70874,71087,71094,71096,71105,71106,71108,71110,71113,71128,71132,71134,71216,71233,71235,71248,71258,71264,71277,71339,71352,71360,71370,71376,71396,71453,71468,71472,71482,71484,71487,71724,71739,71904,71914,71936,71943,71945,71946,71948,71956,71957,71959,71960,71984,71990,71991,71993,71995,71998,71999,72e3,72001,72002,72004,72007,72016,72026,72145,72152,72154,72161,72162,72163,72164,72165,72193,72203,72243,72250,72251,72255,72256,72257,72261,72262,72263,72264,72273,72284,72330,72346,72349,72350,72353,72355,72448,72458,72544,72552,72688,72698,72751,72759,72760,72768,72769,72774,72784,72794,72816,72817,72818,72850,72872,72873,72887,73009,73015,73018,73019,73020,73022,73023,73030,73031,73032,73040,73050,73098,73103,73104,73106,73107,73112,73120,73130,73184,73194,73440,73458,73459,73463,73465,73472,73474,73475,73476,73489,73490,73524,73531,73534,73538,73539,73541,73552,73562,73563,73693,73697,73727,73728,74864,74869,78424,78427,78430,78466,78467,78470,78471,78472,78473,78474,78713,78714,78716,78895,78896,78903,78904,78905,78908,78909,78910,78911,78912,78913,78919,78934,83406,83407,83408,90368,90398,90416,90426,92768,92778,92782,92784,92864,92874,92912,92917,92918,92976,92983,92986,92996,92997,93008,93018,93550,93552,93562,93847,93849,94031,94032,94033,94088,94095,94099,94176,94180,94181,94192,94194,94196,94199,94208,101120,101632,101663,101760,101875,110592,110883,110898,110899,110928,110931,110933,110934,110948,110952,110960,111356,113821,113823,113824,113828,118e3,118010,118528,118574,118576,118599,119141,119146,119149,119171,119173,119180,119210,119214,119362,119365,120782,120832,121344,121399,121403,121453,121461,121462,121476,121477,121479,121483,121499,121504,121505,121520,122880,122887,122888,122905,122907,122914,122915,122917,122918,122923,123023,123024,123184,123191,123200,123210,123566,123567,123628,123632,123642,123647,123648,124140,124144,124154,124398,124400,124401,124411,124643,124644,124646,124647,124654,124656,124661,124662,125136,125143,125252,125259,125264,125274,125278,125280,126124,126125,126128,126129,126976,127232,127406,127462,127488,127877,127878,127900,127902,127925,127927,127932,127933,127938,127941,127943,127944,127946,127949,127995,128e3,128066,128068,128070,128081,128102,128121,128124,128125,128129,128132,128133,128136,128143,128144,128145,128146,128160,128161,128162,128163,128164,128165,128170,128171,128175,128176,128177,128179,128256,128263,128279,128293,128306,128330,128372,128374,128378,128379,128400,128401,128405,128407,128468,128476,128500,128506,128581,128584,128587,128592,128630,128633,128636,128640,128675,128676,128692,128695,128704,128705,128716,128717,128768,128884,128887,128891,128896,128981,129024,129292,129293,129295,129296,129304,129312,129318,129319,129328,129338,129340,129343,129399,129400,129461,129463,129464,129466,129467,129468,129485,129488,129489,129502,129536,129624,129731,129734,129776,129785,129792,130032,130042,130048,131070,131072,196606,196608,262142,917505,917506,917536,917632,917760,918e3],zs=[1,15,4,0,2,1,6,22,39,11,38,37,11,39,36,19,11,38,30,27,30,41,35,30,11,22,11,36,38,19,11,36,15,18,11,1,5,1,3,36,37,38,11,39,11,15,11,37,38,11,16,11,39,11,36,11,16,11,16,11,16,11,1,3,1,11,30,11,1,11,30,26,11,38,11,1,26,1,11,1,11,1,22,1,11,25,11,25,11,35,11,37,30,11,1,22,1,22,11,1,35,37,35,11,1,11,22,11,1,35,11,1,11,1,11,1,11,35,11,1,11,1,11,1,11,35,11,1,11,30,22,11,1,38,11,1,11,1,11,1,11,1,11,1,11,35,11,1,11,1,35,1,11,1,11,1,11,1,11,1,15,35,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,35,11,37,11,37,11,38,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,35,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,35,11,38,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,35,11,1,11,1,11,1,11,1,11,1,11,35,11,38,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,35,11,16,11,1,16,11,1,11,1,11,1,11,1,11,1,11,1,11,35,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,35,11,37,11,1,11,1,11,1,11,1,11,1,11,35,11,1,11,1,11,1,11,38,11,1,11,35,15,11,1,11,1,11,1,11,35,11,16,11,16,3,16,15,3,22,3,11,22,11,1,11,35,11,15,1,11,1,11,1,36,18,36,18,1,11,1,15,1,15,1,11,1,11,1,11,15,11,1,11,16,15,16,11,3,11,1,11,35,15,11,1,11,1,11,1,11,1,11,1,11,1,11,1,35,1,11,31,33,32,11,1,11,15,11,26,11,15,11,36,18,11,15,11,1,11,1,15,11,1,11,1,11,1,15,34,11,15,11,15,38,11,1,11,35,11,22,15,16,11,22,11,1,3,1,35,11,1,11,1,11,1,11,1,11,22,35,11,35,11,1,11,1,11,1,11,1,35,11,35,11,1,11,1,3,11,1,10,1,43,10,11,15,13,15,28,15,28,1,28,15,1,11,1,11,35,11,13,1,42,11,1,11,15,35,11,35,11,15,11,1,11,1,11,1,11,1,11,1,11,1,3,1,3,1,11,16,11,15,3,15,8,1,9,1,26,3,26,14,11,39,36,39,36,39,11,29,15,0,1,3,37,11,39,11,34,11,30,36,18,34,11,15,37,15,11,15,7,11,1,11,36,18,11,36,18,11,38,37,38,37,38,37,38,37,38,37,38,1,11,37,11,37,11,38,11,38,11,29,11,36,18,36,18,11,28,11,36,18,11,28,11,28,11,28,11,28,11,28,20,28,11,28,11,28,11,28,11,28,11,28,11,28,11,28,11,28,11,28,11,28,11,28,11,28,11,28,20,28,11,28,11,28,20,11,39,11,22,28,11,36,18,36,18,36,18,36,18,36,18,36,18,36,18,11,36,18,11,36,18,36,18,36,18,36,18,36,18,11,15,11,36,18,36,18,36,18,36,18,36,18,36,18,36,18,36,18,36,18,36,18,36,18,11,36,18,36,18,11,36,18,11,1,11,22,15,11,22,15,11,15,11,1,11,1,39,15,11,26,36,15,11,39,11,39,36,18,36,18,36,18,36,18,15,22,11,15,11,15,11,14,15,11,26,15,36,15,11,15,11,15,11,22,36,19,36,19,36,19,36,19,26,11,28,11,28,11,28,11,28,15,18,28,34,28,36,18,36,18,36,18,36,18,36,18,28,36,18,36,18,36,18,36,18,34,36,18,28,1,28,1,28,34,28,11,34,28,34,28,34,28,34,28,34,28,34,28,34,28,34,28,34,28,34,28,34,11,1,34,28,34,28,34,28,34,28,34,28,34,28,34,28,34,28,34,28,34,28,34,28,34,28,34,28,11,28,11,28,11,28,11,28,34,28,11,28,11,28,11,28,34,28,11,28,11,15,11,15,22,15,11,35,11,1,11,1,11,1,11,1,11,15,11,1,11,1,11,1,11,1,11,1,11,37,11,16,22,11,1,11,1,11,15,35,11,1,11,16,11,1,35,11,1,15,11,1,11,31,11,1,10,1,43,28,15,28,11,15,13,11,28,11,1,11,35,11,13,1,11,15,1,15,1,11,13,11,28,15,11,1,11,1,11,1,11,1,11,1,11,1,11,1,15,11,1,11,1,15,1,11,35,11,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,23,24,11,33,11,32,11,28,11,25,1,25,11,25,11,25,11,25,11,25,11,25,11,25,11,18,36,11,37,11,1,18,34,22,36,18,29,11,3,1,3,1,3,1,3,1,3,1,3,1,3,1,28,36,18,36,18,36,18,36,18,36,18,36,18,36,18,36,18,28,36,18,28,18,28,18,11,34,22,28,36,18,36,18,36,18,28,11,28,38,37,28,11,7,11,22,28,38,37,28,36,18,28,18,28,18,28,34,28,22,28,36,28,18,28,36,28,18,28,36,18,36,18,34,28,34,28,34,28,11,28,11,28,11,28,11,28,11,37,38,28,38,11,1,17,11,15,11,1,11,1,11,1,11,15,11,15,11,35,11,15,11,15,11,1,11,1,11,1,11,1,11,1,11,15,11,1,11,15,29,11,15,11,1,11,35,11,35,11,1,26,11,1,26,11,15,11,1,11,1,11,1,11,1,12,10,1,43,15,28,11,28,13,1,10,1,10,11,3,1,11,1,11,35,15,1,11,35,11,35,11,1,11,1,11,35,15,11,1,11,1,11,16,11,1,11,1,11,15,11,15,1,11,1,35,11,16,11,15,11,1,15,11,15,11,1,11,1,11,15,11,1,11,35,11,1,11,10,11,10,11,10,11,10,11,10,11,10,11,1,15,1,11,1,11,1,43,11,13,11,1,11,15,13,10,1,11,1,11,1,11,13,11,13,11,13,11,13,10,11,28,1,11,1,11,1,11,1,11,1,43,12,1,28,11,28,11,1,11,1,11,15,11,35,15,11,1,11,1,11,35,11,1,11,1,16,15,22,11,15,11,1,11,1,15,11,35,11,16,11,1,11,35,11,35,11,1,11,35,11,15,11,1,11,35,11,10,11,10,11,10,11,10,11,10,1,11,1,11,1,43,12,1,12,1,15,11,13,11,1,11,1,11,16,11,1,11,1,11,1,11,1,16,11,15,16,11,1,11,1,11,1,15,11,16,15,11,16,11,1,11,35,11,1,11,1,11,15,11,35,11,16,22,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,35,11,1,11,1,11,1,11,35,11,35,11,13,15,1,15,11,1,12,1,10,11,10,1,11,1,43,15,28,13,1,11,37,11,15,11,15,11,36,18,11,18,11,36,18,36,18,11,36,18,11,36,3,36,18,3,36,18,36,18,1,11,1,11,36,18,11,13,1,13,11,35,11,15,11,35,11,1,15,11,1,15,11,15,11,35,11,15,35,11,15,11,1,11,1,11,1,11,34,3,11,1,34,28,11,28,11,28,11,28,11,28,11,34,11,34,11,34,11,34,11,28,11,1,15,1,11,35,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,35,11,1,11,1,11,1,11,1,11,15,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,35,11,1,11,1,35,11,38,11,1,35,11,1,11,35,11,1,11,1,11,1,11,1,11,1,11,1,11,35,11,36,11,37,11,37,11,28,11,28,40,28,20,28,11,28,11,28,11,28,20,28,20,28,20,28,21,28,20,28,20,28,20,28,20,28,20,28,20,28,20,28,20,28,11,28,11,28,11,28,20,28,11,28,11,28,11,28,11,28,11,28,20,28,20,28,20,28,20,28,11,28,11,28,20,28,20,11,39,34,11,28,20,28,20,28,20,28,20,28,11,28,11,28,11,28,11,20,28,20,28,20,28,20,28,20,28,20,28,20,28,20,28,20,28,20,28,20,28,20,28,11,28,20,28,20,28,11,35,11,28,11,28,11,28,11,1,11,1,11,1,11],Bs=[4352,8361,8986,9001,9193,9200,9203,9725,9748,9776,9800,9855,9866,9875,9889,9898,9917,9924,9934,9940,9962,9970,9973,9978,9981,9989,9994,10024,10060,10062,10067,10071,10133,10160,10175,11035,11088,11093,11904,11931,12032,12272,12353,12441,12549,12593,12688,12783,12832,12880,42128,43360,44032,63744,65040,65072,65108,65128,65281,65474,65482,65490,65498,65504,65512,94176,94192,94208,101631,101760,110576,110581,110589,110592,110898,110928,110933,110948,110960,119552,119648,126980,127183,127374,127377,127488,127504,127552,127568,127584,127744,127789,127799,127870,127904,127951,127968,127988,127992,128064,128066,128255,128331,128336,128378,128405,128420,128507,128640,128716,128720,128725,128732,128747,128756,128992,129008,129292,129340,129351,129648,129664,129678,129736,129741,129759,129775,131072,196608],Vs=[4448,8362,8988,9003,9197,9201,9204,9727,9750,9784,9812,9856,9872,9876,9890,9900,9919,9926,9935,9941,9963,9972,9974,9979,9982,9990,9996,10025,10061,10063,10070,10072,10136,10161,10176,11037,11089,11094,11930,12020,12246,12351,12439,12544,12592,12687,12774,12831,12872,42125,42183,43389,55204,64256,65050,65107,65127,65132,65471,65480,65488,65496,65501,65511,65519,94181,94199,101590,101663,101875,110580,110588,110591,110883,110899,110931,110934,110952,111356,119639,119671,126981,127184,127375,127387,127491,127548,127561,127570,127590,127777,127798,127869,127892,127947,127956,127985,127989,128063,128065,128253,128318,128335,128360,128379,128407,128421,128592,128710,128717,128723,128729,128736,128749,128765,129004,129009,129339,129350,129536,129661,129675,129735,129737,129757,129771,129785,196606,262142];function Hs(e){let t=0,n=Rs.length-1;for(;t<n;){let r=t+n+1>>1;Rs[r]<=e?t=r:n=r-1}return Ls[zs[t]]}function Us(e){let t=0,n=Bs.length-1;if(n<0||e<Bs[0])return!1;for(;t<n;){let r=t+n+1>>1;Bs[r]<=e?t=r:n=r-1}return e<Vs[t]}function Ws(e,t){let n=Hs(e);if(n===`OP`)return!0;let r=Hs(t),i=n===`AL`||n===`HL`,a=r===`AL`||r===`HL`;return!!(i&&(a||r===`NU`||r===`PR`||r===`PO`)||a&&(n===`NU`||n===`PR`||n===`PO`)||n===`PR`&&(r===`ID`||r===`EB`||r===`EM`)||(n===`ID`||n===`EB`||n===`EM`)&&r===`PO`||n===`NU`&&(r===`NU`||r===`PO`||r===`PR`)||r===`NU`&&(n===`PO`||n===`PR`||n===`HY`||n===`IS`)||(i||n===`NU`)&&r===`OP`&&!Us(t)||n===`CP`&&!Us(e)&&(a||r===`NU`))}function Gs(e){return e===`my`||e===`bo`}function Ks(e){return e>=3584&&e<=3711||e>=3712&&e<=3839||e>=6016&&e<=6143||e>=4096&&e<=4255||e>=43616&&e<=43647||e>=43488&&e<=43519||e>=3840&&e<=4095}function qs(e){return e===3633||e>=3635&&e<=3642||e>=3655&&e<=3662||e===3761||e>=3763&&e<=3772||e>=3784&&e<=3790||e>=6068&&e<=6099||e===6109}function Js(e){return e<=3711?`th`:e<=3839?`lo`:e<=4095?`bo`:e<=4255?`my`:e<=6143?`km`:`my`}function Ys(e){for(let t of e)if(Ks(t.codePointAt(0)))return!0;return!1}function Xs(e){for(let t of e){let e=t.codePointAt(0);if(Ks(e))return Gs(Js(e))}return!1}function Zs(e){let t=!1;for(let n of e){let e=n.codePointAt(0);if(Ks(e)){if(Gs(Js(e)))return!1;t=!0}}return t}const Qs=new Map;function $s(e){let t=Qs.get(e);if(t!==void 0)return t;let n=null;try{typeof Intl<`u`&&typeof Intl.Segmenter==`function`&&(n=new Intl.Segmenter(e,{granularity:`word`}))}catch{n=null}return Qs.set(e,n),n}function ec(e){let t=$s(e);return t?e=>t.segment(e):null}function tc(e){if(!Ys(e))return[];let t=[],n=e.length,r=0;for(;r<n;){let i=e.codePointAt(r),a=i>65535?2:1;if(!Ks(i)){r+=a;continue}let o=Js(i),s=Gs(o),c=r+a;for(;c<n;){let t=e.codePointAt(c);if(!Ks(t)||Gs(Js(t))!==s)break;c+=t>65535?2:1}let l=e.slice(r,c);if(s)for(let e of lc(l))t.push(r+e);else{let e=ec(o);if(e){let n=[];try{for(let t of e(l))t.index>0&&(t.isWordLike??!0)&&n.push(r+t.index);for(let e of n)t.push(e)}catch{}}}r=c}return t}function nc(e){if(!Ys(e))return[];let t=[],n=e.length,r=e.codePointAt(0),i=r>65535?2:1;for(;i<n;){let n=e.codePointAt(i),a=n>65535?2:1;Ks(r)!==Ks(n)&&!rc(r)&&!rc(n)&&t.push(i),r=n,i+=a}return t}function rc(e){return e===32||e===9||e===10||e===13||e===12288||e===160||e===8199||e===8239||e===8288||e===65279}function ic(e,t){if(!Ys(e))return[];let n=e.length,r=new Set(tc(e)),i=new Set(lc(e)),a=e=>{i.has(e)&&r.add(e)};for(let t of nc(e))a(t);if(t?.cjk){let t=e.codePointAt(0),r=t>65535?2:1;for(;r<n;){let n=e.codePointAt(r);(Is(n)||Is(t))&&a(r),t=n,r+=n>65535?2:1}}let o=t?.kinsoku,s=o!=null&&o.enabled!==!1,c=[];for(let t of r)if(!(t<=0||t>=n)){if(s){let n=e.codePointAt(t),r=ac(e,t);if(r!==void 0&&o.lineEndForbidden.has(r)||o.lineStartForbidden.has(n))continue}c.push(t)}return c.sort((e,t)=>e-t),c}function ac(e,t){if(t<=0)return;let n=e.charCodeAt(t-1);if(n>=56320&&n<=57343&&t>=2){let n=e.charCodeAt(t-2);if(n>=55296&&n<=56319)return e.codePointAt(t-2)}return n}function oc(e,t,n,r,i,a=!1){let o=e.length;if(n>=o)return n;if(a){if(i(e.slice(n,o))<=r)return o;let a=0,s=t.length-1,c=n;for(;a<=s;){let l=a+s>>1,u=t[l];u<=n?a=l+1:u>=o?s=l-1:i(e.slice(n,u))<=r?(c=u,a=l+1):s=l-1}return c}let s=n;for(let a of t)a<=n||a>=o||i(e.slice(n,a))<=r&&(s=a);return i(e.slice(n,o))<=r&&(s=o),s}let sc;function cc(){if(sc!==void 0)return sc;let e=null;try{typeof Intl<`u`&&typeof Intl.Segmenter==`function`&&(e=new Intl.Segmenter(void 0,{granularity:`grapheme`}))}catch{e=null}return sc=e,e}function lc(e){let t=cc();if(t)try{let n=[];for(let r of t.segment(e))r.index>0&&n.push(r.index);return n}catch{}let n=[];for(let t=0;t<e.length;){let r=e.codePointAt(t);t+=r>65535?2:1,t<e.length&&n.push(t)}return n}const uc=[`U`,`R`,`Tu`,`Tr`],dc=[0,167,168,169,170,174,175,177,178,188,191,215,216,247,248,746,748,4352,4608,5121,5760,6320,6400,8214,8215,8216,8218,8220,8222,8224,8226,8240,8242,8251,8253,8258,8259,8263,8266,8273,8274,8293,8294,8413,8417,8418,8421,8448,8450,8451,8458,8463,8464,8467,8469,8470,8472,8478,8484,8485,8486,8487,8488,8489,8490,8494,8495,8501,8512,8517,8523,8524,8526,8527,8586,8588,8592,8734,8735,8756,8758,8960,8968,8972,8992,8996,9001,9003,9004,9085,9115,9150,9166,9167,9168,9169,9180,9186,9251,9252,9472,9632,9754,9760,10088,10102,10132,11026,11056,11088,11098,11159,11160,11192,11218,11219,11244,11248,11264,11856,11858,11904,12289,12291,12296,12306,12308,12320,12336,12337,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12387,12388,12419,12420,12421,12422,12423,12424,12430,12431,12437,12439,12443,12445,12448,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12483,12484,12515,12516,12517,12518,12519,12520,12526,12527,12533,12535,12540,12541,12583,12584,12724,12728,12731,12732,12784,12800,13055,13144,13179,13184,42192,43360,43392,44032,55296,57344,64256,65040,65056,65072,65097,65104,65107,65112,65113,65119,65123,65127,65136,65281,65282,65288,65290,65292,65293,65294,65295,65306,65308,65311,65312,65339,65340,65341,65342,65343,65344,65371,65377,65504,65507,65508,65512,65520,65529,65532,65534,67968,68e3,71040,71168,72192,72384,77824,83584,94176,101888,110576,110898,110899,110928,110931,110933,110934,110948,110952,111360,118464,118736,118784,119296,119520,119680,120832,121520,126976,127488,127490,129024,129280,129792,131072,196606,196608,262142,983040,1048574,1048576,1114110],fc=[1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,3,1,3,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,3,0,3,0,3,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,0,2,0,2,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,1,2,0,1,3,0,1,0,1,2,0,3,0,2,1,2,0,3,1,2,0,3,0,3,0,3,0,3,1,0,3,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,2,0,1,0,1,0,1,0,1,0,1,0,1];function pc(e){let t=0,n=dc.length-1;for(;t<n;){let r=t+n+1>>1;dc[r]<=e?t=r:n=r-1}return fc[t]}function mc(e){return uc[pc(e)]}function hc(e){return gc.get(e)??null}const gc=new Map([[65292,65040],[12289,65041],[12290,65042]]);function _c(e){return vc.get(e)??null}const vc=new Map([[65288,65077],[65289,65078],[65371,65079],[65373,65080],[12308,65081],[12309,65082],[12304,65083],[12305,65084],[12298,65085],[12299,65086],[12296,65087],[12297,65088],[12300,65089],[12301,65090],[12302,65091],[12303,65092],[12310,65047],[12311,65048]]),yc=new Set([65307]);function bc(e){return yc.has(e)}const xc=new WeakMap;function Sc(e){let t=e.canvas,n=t?.ownerDocument?.defaultView?.HTMLCanvasElement;return typeof n==`function`&&t instanceof n||typeof HTMLCanvasElement<`u`&&t instanceof HTMLCanvasElement?t:null}function Cc(e,t){return e.replace(/(^|\\s)\\d*\\.?\\d+(?:px|pt|pc|in|cm|mm|q|em|rem|%)(?:\\/[^\\s]+)?(?=\\s)/i,`$1${t}`)}function wc(e,t=!0){let n=e.trim();return[...n===``||n.toLowerCase()===`normal`?[]:n.split(`,`).map(e=>e.trim()).filter(e=>!/^([\"'])vert\\1(?:\\s+(?:on|off|\\d+))?$/i.test(e)),`\"vert\" ${+!!t}`].join(`, `)}function Tc(e){try{let t=e.ownerDocument?.defaultView,n=t?.getComputedStyle?t.getComputedStyle(e):typeof getComputedStyle==`function`?getComputedStyle(e):null;if(n?.fontFeatureSettings)return n.fontFeatureSettings}catch{}return e.style.fontFeatureSettings}function Ec(e,t){if(e.isConnected)return t();let n=e.ownerDocument??(typeof document>`u`?null:document),r=n?.body??n?.documentElement;if(!r)return t();let i=e.parentNode,a=e.nextSibling,o=e.style,s={position:o.position,left:o.left,top:o.top,opacity:o.opacity,pointerEvents:o.pointerEvents};Object.assign(o,{position:`fixed`,left:`-99999px`,top:`0`,opacity:`0`,pointerEvents:`none`}),r.appendChild(e);let c=!1;try{return t()}catch(e){throw c=!0,e}finally{let t;try{if(i){let t=a?.parentNode===i?a:null;i.insertBefore(e,t)}else e.remove()}catch(n){t=n;try{e.remove()}catch{}}finally{Object.assign(o,s)}if(t!==void 0&&!c)throw t}}function Dc(e,t){let n=Sc(e);return n===null?t():Ec(n,t)}function Oc(e){let t=xc.get(e);if(t)return t;let n=e.createElement(`canvas`);n.width=256,n.height=256,n.setAttribute(`aria-hidden`,`true`),Object.assign(n.style,{position:`fixed`,left:`-99999px`,top:`0`,opacity:`0`,pointerEvents:`none`});let r={canvas:n,cache:new Map,epoch:0},i=()=>{r.epoch+=1,r.cache.clear()};return e.fonts?.addEventListener?.(`loadingdone`,i),e.fonts?.addEventListener?.(`loadingerror`,i),xc.set(e,r),r}function kc(e,t){let{width:n,height:r}=e.canvas,i=e.getImageData(0,0,n,r).data,a=new Uint8ClampedArray(n*r),o=n,s=r,c=-1,l=-1,u=0,d=0,f=0;for(let e=0;e<r;e+=1)for(let t=0;t<n;t+=1){let r=i[(e*n+t)*4+3];a[e*n+t]=r,r!==0&&(o=Math.min(o,t),s=Math.min(s,e),c=Math.max(c,t),l=Math.max(l,e),u+=r,d+=t*r,f+=e*r)}if(c<o||l<s||u===0)return null;let p=e.measureText(t),m=e=>typeof e==`number`&&Number.isFinite(e)?e:0;return{alpha:a,geometry:[o,s,c,l,d/u,f/u],metrics:[m(p.width),m(p.actualBoundingBoxLeft),m(p.actualBoundingBoxRight),m(p.actualBoundingBoxAscent),m(p.actualBoundingBoxDescent)]}}function Ac(e,t,n){let r=e.canvas;r.style.fontFeatureSettings=n,e.font=e.font,e.clearRect(0,0,r.width,r.height);let i=String.fromCodePoint(t);return e.fillText(i,r.width/2,r.height/2),kc(e,i)}function jc(e,t){let n=0,r=Math.min(e.length,t.length);for(let i=0;i<r;i+=1)n+=Math.abs(e[i]-t[i]);return n}function Mc(e,t,n,r){let i=(e,t,n,r)=>{let i=Math.max(jc(e,t),jc(n,r));return Math.min(jc(e,n),jc(e,r),jc(t,n),jc(t,r))>i};return i(e.alpha,t.alpha,n.alpha,r.alpha)||i(e.geometry,t.geometry,n.geometry,r.geometry)||i(e.metrics,t.metrics,n.metrics,r.metrics)}function Nc(e,t){let n=Sc(e);if(n===null||typeof document>`u`)return!1;let r=n.ownerDocument??document,i=Oc(r),a=Tc(n),o=`${i.epoch}:${Cc(e.font,`<size>`)}:${a}:${t}`,s=i.cache.get(o);if(s!==void 0)return s;let c=!1,l=r.body??r.documentElement;if(!l)return!1;let u=i.canvas.isConnected;u||l.appendChild(i.canvas);let d=i.canvas.getContext(`2d`,{willReadFrequently:!0});if(d!==null){let n=i.canvas.style.fontFeatureSettings;try{d.font=Cc(e.font,`200px`),d.fillStyle=`#000`,d.textAlign=`center`,d.textBaseline=`middle`;let n=wc(a,!1),r=wc(a,!0),i=Ac(d,t,n),o=Ac(d,t,n),s=Ac(d,t,r),l=Ac(d,t,r);c=i!==null&&o!==null&&s!==null&&l!==null&&Mc(i,o,s,l)}catch{c=!1}finally{i.canvas.style.fontFeatureSettings=n,d.font=d.font,d.clearRect(0,0,i.canvas.width,i.canvas.height),u||i.canvas.remove()}}return i.cache.set(o,c),c}function Pc(e,t){let n=e.canvas;return n?.style?Dc(e,()=>{let r=n.style,i=r.fontFeatureSettings;r.fontFeatureSettings=wc(Tc(n)),e.font=e.font;try{return t()}finally{r.fontFeatureSettings=i,e.font=e.font}}):t()}function Fc(e,t){return Pc(e,()=>{let n=e.textAlign,r=e.textBaseline;e.textAlign=`center`,e.textBaseline=`middle`;try{let n=e.measureText(t),r=Number.isFinite(n.width)?Math.max(0,n.width):0,i=typeof n.actualBoundingBoxAscent==`number`&&Number.isFinite(n.actualBoundingBoxAscent)&&typeof n.actualBoundingBoxDescent==`number`&&Number.isFinite(n.actualBoundingBoxDescent);return{advancePx:r,inkBeforePx:i?n.actualBoundingBoxAscent:0,inkAfterPx:i?n.actualBoundingBoxDescent:0,cellAdvancePx:r,originInCellPx:r/2}}finally{e.textAlign=n,e.textBaseline=r}})}const Ic=e=>e===32||e===12288;function Lc(e,t,n={}){if(Math.abs(t)<=.5)return null;let r=n.firstContentSi??0,i=n.lastDrawnSi??e.length-1,a=n.minPerGap??-1/0,o=n.isGapChar??Is,s=n.isWhitespace??Ic,c=n.seaClusterGaps??!1,l=[];for(let t=r;t<e.length;t++){let n=e[t];if(n===void 0)continue;if(n.text===void 0){l.push({si:t,off:0,ws:!1});continue}let r=0;for(let e of n.text){let n=e.codePointAt(0);l.push({si:t,off:r,cp:n,ws:s(n)}),r++}}let u=-1,d=-1;for(let e=0;e<l.length;e++)l[e].ws||(u===-1&&(u=e),d=e);if(u===-1||u===d)return null;let f=Array(l.length).fill(!1),p=0;for(let e=u;e<d;e++){let t=l[e];if(t.si===i)continue;if(t.ws){f[e]=!0,p++;continue}let n=l[e+1];if(n.ws)continue;let r=t.cp,a=n.cp;(r!==void 0&&o(r)||a!==void 0&&o(a)||c&&r!==void 0&&a!==void 0&&Ks(r)&&Ks(a)&&!qs(a))&&(f[e]=!0,p++)}if(p===0)return null;let m=t/p;t<0&&m<a&&(m=a);let h=new Map;for(let e of l)e.cp!==void 0&&h.set(e.si,(h.get(e.si)??0)+1);let g=new Map;for(let e=0;e<l.length;e++){if(!f[e])continue;let t=l[e],n=g.get(t.si);n||(n={splitBefore:[],trailingGap:!1,internalStretch:0},g.set(t.si,n));let r=h.get(t.si)??0;t.cp===void 0||t.off===r-1?n.trailingGap=!0:(n.splitBefore.push(t.off+1),n.internalStretch+=m)}return{perGap:m,perSeg:g}}const Rc=[[1e3,`M`],[900,`CM`],[500,`D`],[400,`CD`],[100,`C`],[90,`XC`],[50,`L`],[40,`XL`],[10,`X`],[9,`IX`],[5,`V`],[4,`IV`],[1,`I`]];function zc(e){let t=``,n=e;for(let[e,r]of Rc)for(;n>=e;)t+=r,n-=e;return t}function Bc(e,t){let n=t.length,r=Math.floor((e-1)/n)+1;return t[(e-1)%n].repeat(r)}const Vc=Array.from({length:26},(e,t)=>String.fromCharCode(65+t)),Hc=`أ.ب.ت.ث.ج.ح.خ.د.ذ.ر.ز.س.ش.ص.ض.ط.ظ.ع.غ.ف.ق.ك.ل.م.ن.ه.و.ي`.split(`.`),Uc=`أ.ب.ج.د.ه.و.ز.ح.ط.ي.ك.ل.م.ن.س.ع.ف.ص.ق.ر.ش.ت.ث.خ.ذ.ض.غ.ظ`.split(`.`),Wc=[`א`,`ב`,`ג`,`ד`,`ה`,`ו`,`ז`,`ח`,`ט`,`י`,`כ`,`ל`,`מ`,`נ`,`ס`,`ע`,`פ`,`צ`,`ק`,`ר`,`ש`,`ת`],Gc=[...Qc(1072,1080),...Qc(1082,1087),...Qc(1088,1097),`ы`,`э`,`ю`,`я`],Kc=[...Qc(1040,1048),...Qc(1050,1055),...Qc(1056,1065),`Ы`,`Э`,`Ю`,`Я`],qc=[`ก`,`ข`,`ค`,...Qc(3591,3619),`ล`,...Qc(3623,3630)],Jc=[`ㄱ`,`ㄴ`,`ㄷ`,`ㄹ`,`ㅁ`,`ㅂ`,`ㅅ`,`ㅇ`,`ㅈ`,`ㅊ`,`ㅋ`,`ㅌ`,`ㅍ`,`ㅎ`],Yc=[`가`,`나`,`다`,`라`,`마`,`바`,`사`,`아`,`자`,`차`,`카`,`타`,`파`,`하`],Xc=Qc(2325,2361),Zc=[...Qc(2309,2324),`अं`,`अः`];function Qc(e,t){let n=[];for(let r=e;r<=t;r++)n.push(String.fromCodePoint(r));return n}const $c=`ア.イ.ウ.エ.オ.カ.キ.ク.ケ.コ.サ.シ.ス.セ.ソ.タ.チ.ツ.テ.ト.ナ.ニ.ヌ.ネ.ノ.ハ.ヒ.フ.ヘ.ホ.マ.ミ.ム.メ.モ.ヤ.ユ.ヨ.ラ.リ.ル.レ.ロ.ワ.ヰ.ヱ.ヲ.ン`.split(`.`),el=[...Qc(65393,65436),`ヲ`,`ン`];function tl(e){return e<=20?String.fromCodePoint(9312+(e-1)):String(e)}function nl(e,t){return String(e).split(``).map(e=>t[e.charCodeAt(0)-48]).join(``)}const rl=Qc(65296,65305),il=Qc(3664,3673),al=Qc(2406,2415),ol=[`〇`,`一`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`],sl=[`영`,`일`,`이`,`삼`,`사`,`오`,`육`,`칠`,`팔`,`구`],cl=[`零`,`一`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`],ll=[`○`,`一`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`];function ul(e,t){if(e<10)return t[e];if(e<100){let n=Math.floor(e/10),r=e%10,i=n===1?`十`:t[n]+`十`;return r===0?i:i+t[r]}return nl(e,t)}function dl(e,t){switch(t){case`upperRoman`:return e>=1?zc(e):String(e);case`lowerRoman`:return e>=1?zc(e).toLowerCase():String(e);case`upperLetter`:return e>=1?Bc(e,Vc):String(e);case`lowerLetter`:return e>=1?Bc(e,Vc).toLowerCase():String(e);case`arabicAlpha`:return e>=1?Bc(e,Hc):String(e);case`arabicAbjad`:return e>=1?Bc(e,Uc):String(e);case`russianLower`:return e>=1?Bc(e,Gc):String(e);case`russianUpper`:return e>=1?Bc(e,Kc):String(e);case`thaiLetters`:return e>=1?Bc(e,qc):String(e);case`chosung`:return e>=1?Bc(e,Jc):String(e);case`ganada`:return e>=1?Bc(e,Yc):String(e);case`hindiVowels`:return e>=1?Bc(e,Xc):String(e);case`hindiConsonants`:return e>=1?Bc(e,Zc):String(e);case`aiueoFullWidth`:return e>=1?Bc(e,$c):String(e);case`aiueo`:return e>=1?Bc(e,el):String(e);case`decimalEnclosedCircle`:return e>=1?tl(e):String(e);case`hebrew1`:return e>=1?hl(e):String(e);case`hebrew2`:return e>=1?gl(e):String(e);case`hex`:return e>=1?e.toString(16).toUpperCase():String(e);case`numberInDash`:return e>=1?`- ${e} -`:String(e);case`decimalZero`:return e>=1&&e<=9?`0${e}`:String(e);case`decimalFullWidth`:return e>=1?nl(e,rl):String(e);case`decimalHalfWidth`:return String(e);case`thaiNumbers`:return e>=1?nl(e,il):String(e);case`hindiNumbers`:return e>=1?nl(e,al):String(e);case`ideographDigital`:case`japaneseDigitalTenThousand`:return e>=1?nl(e,ol):String(e);case`koreanDigital`:return e>=1?nl(e,sl):String(e);case`koreanDigital2`:return e>=1?nl(e,cl):String(e);case`taiwaneseDigital`:return e>=1?nl(e,ll):String(e);case`chineseCounting`:return e>=1?ul(e,ol):String(e);case`taiwaneseCounting`:return e>=1?ul(e,ll):String(e);case`chineseCountingThousand`:return e>=1?Tl(e,vl):String(e);case`taiwaneseCountingThousand`:return e>=1?Tl(e,yl):String(e);case`chineseLegalSimplified`:return e>=1?Tl(e,xl):String(e);case`ideographLegalTraditional`:return e>=1?Tl(e,Cl):String(e);case`japaneseCounting`:return e>=1?Tl(e,_l):String(e);case`japaneseLegal`:return e>=1?Tl(e,Sl):String(e);case`koreanCounting`:return e>=1?Tl(e,bl):String(e);case`koreanLegal`:return e>=1?Ol(e):String(e);default:return String(e)}}const fl=[``,`א`,`ב`,`ג`,`ד`,`ה`,`ו`,`ז`,`ח`,`ט`],pl=[``,`י`,`כ`,`ל`,`מ`,`נ`,`ס`,`ע`,`פ`,`צ`],ml=[``,`ק`,`ר`,`ש`,`ת`,`ך`,`ם`,`ן`,`ף`,`ץ`];function hl(e){let t=``,n=e,r=Math.floor(n/1e3);n%=1e3;let i=Math.floor(n/100);if(n%=100,r>0&&(t+=fl[r%10]),t+=ml[i],n===15)return t+`טו`;if(n===16)return t+`טז`;let a=Math.floor(n/10),o=n%10;return t+=pl[a],t+=fl[o],t}function gl(e){let t=Wc.length,n=Math.floor((e-1)/t);return Wc[e-t*n-1]+`ת`.repeat(n)}const _l={digits:cl,ten:`十`,hundred:`百`,thousand:`千`,myriad:`万`,elideOne:!0,insertZero:!1},vl={..._l,elideOne:!1,insertZero:!0},yl={...vl},bl={digits:[`영`,`일`,`이`,`삼`,`사`,`오`,`육`,`칠`,`팔`,`구`],ten:`십`,hundred:`백`,thousand:`천`,myriad:`만`,elideOne:!0,insertZero:!1},xl={digits:[`零`,`壹`,`贰`,`叁`,`肆`,`伍`,`陆`,`柒`,`捌`,`玖`],ten:`拾`,hundred:`佰`,thousand:`仟`,myriad:`万`,elideOne:!1,insertZero:!0},Sl={digits:[`零`,`壱`,`弐`,`参`,`四`,`伍`,`六`,`七`,`八`,`九`],ten:`拾`,hundred:`百`,thousand:`阡`,myriad:`萬`,elideOne:!1,insertZero:!1},Cl={digits:[`零`,`壹`,`貳`,`參`,`肆`,`伍`,`陸`,`柒`,`捌`,`玖`],ten:`拾`,hundred:`佰`,thousand:`仟`,myriad:`萬`,elideOne:!1,insertZero:!1};function wl(e,t,n){let r=Math.floor(e/1e3)%10,i=Math.floor(e/100)%10,a=Math.floor(e/10)%10,o=e%10,s=[{digit:r,unit:t.thousand},{digit:i,unit:t.hundred},{digit:a,unit:t.ten},{digit:o,unit:``}],c=``,l=!1,u=!1;for(let{digit:e,unit:r}of s){if(e===0){l&&(u=!0);continue}u&&=(t.insertZero&&(c+=t.digits[0]),!1),n&&e===1&&r?c+=r:c+=t.digits[e]+r,l=!0}return c}function Tl(e,t){if(e>=1e8){let n=Math.floor(e/1e8),r=e%1e8,i=Tl(n,t)+`億`;return r===0?i:i+(t.insertZero&&r<1e7?t.digits[0]:``)+Tl(r,t)}let n=Math.floor(e/1e4),r=e%1e4,i=``;return n>0&&(i+=wl(n,t,t.elideOne)+t.myriad),r>0&&(t.insertZero&&n>0&&r<1e3&&(i+=t.digits[0]),i+=wl(r,t,t.elideOne)),i}const El=[``,`하나`,`둘`,`셋`,`넷`,`다섯`,`여섯`,`일곱`,`여덟`,`아홉`],Dl=[``,`열`,`스물`,`서른`,`마흔`,`쉰`,`예순`,`일흔`,`여든`,`아흔`];function Ol(e){if(e>=100)return String(e);let t=Math.floor(e/10),n=e%10;return Dl[t]+El[n]}const kl={Arabic:`decimal`,ArabicDash:`numberInDash`,Hex:`hex`,Roman:`upperRoman`,roman:`lowerRoman`,ALPHABETIC:`upperLetter`,alphabetic:`lowerLetter`,ARABICABJAD:`arabicAbjad`,ARABICALPHA:`arabicAlpha`,HEBREW1:`hebrew1`,HEBREW2:`hebrew2`,HINDIARABIC:`hindiNumbers`,HINDILETTER1:`hindiVowels`,HINDILETTER2:`hindiConsonants`,THAIARABIC:`thaiNumbers`,THAILETTER:`thaiLetters`,CHOSUNG:`chosung`,GANADA:`ganada`,DBCHAR:`decimalFullWidth`,SBCHAR:`decimalHalfWidth`};function Al(e){let t=/\\\\\\*\\s+(\\S+)/g,n;for(;(n=t.exec(e))!==null;){let e=kl[n[1]];if(e)return e}return null}const jl=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Ml=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],Nl=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],Pl=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],Fl=e=>e<10?`0${e}`:`${e}`;function Il(e){let t=/\\\\@\\s*\"([^\"]*)\"/.exec(e);if(t)return t[1];let n=/\\\\@\\s*(\\S+)/.exec(e);return n?n[1]:null}function Ll(e,t){let n=t.getFullYear(),r=t.getMonth(),i=t.getDate(),a=t.getDay(),o=t.getHours(),s=o%12==0?12:o%12,c=t.getMinutes(),l=t.getSeconds(),u=o>=12,d=``,f=0,p=e.length;for(;f<p;){let t=e[f];if(t===`'`){f++;let t=``;for(;f<p;){if(e[f]===`'`){if(e[f+1]===`'`){t+=`'`,f+=2;continue}f++;break}t+=e[f++]}d+=t;continue}if(/[A-Za-z]/.test(t)){let u=f;for(;u<p&&e[u]===t;)u++;let m=e.slice(f,u).length,h=t.toLowerCase(),g=null;if(t===`y`||t===`Y`?g=m>=4?String(n).padStart(4,`0`):Fl(n%100):t===`M`?g=m>=4?jl[r]:m===3?Ml[r]:m===2?Fl(r+1):String(r+1):h===`d`?g=m>=4?Nl[a]:m===3?Pl[a]:m===2?Fl(i):String(i):t===`H`?g=m>=2?Fl(o):String(o):t===`h`?g=m>=2?Fl(s):String(s):t===`m`?g=m>=2?Fl(c):String(c):t===`s`?g=m>=2?Fl(l):String(l):(h===`a`||h===`p`)&&(g=null),g!==null){d+=g,f=u;continue}if(!(h===`a`||h===`p`))return null}let m=/^([AaPp])([Mm])?\\/([AaPp])([Mm])?/.exec(e.slice(f));if(m){let e=m[2]!==void 0;d+=e?u?`PM`:`AM`:u?`P`:`A`,f+=m[0].length;continue}d+=t,f++}return d}const Rl=[[e=>e.includes(`meiryo ui`)||e.includes(`meiryoui`)||e.includes(`メイリオ`)&&e.includes(`ui`),{asc:2171*1.3/2048,desc:430*1.3/2048,eaOnly:!0}],[e=>e.includes(`meiryo`)||e.includes(`メイリオ`),{asc:2210/2048,desc:1059/2048}],[e=>!e.includes(`ui`)&&(e.includes(`yu mincho`)||e.includes(`yumincho`)||e.includes(`游明朝`)||e.includes(`yu gothic`)||e.includes(`yugothic`)||e.includes(`游ゴシック`)),{asc:1802*1.3/2048,desc:455*1.3/2048,eaOnly:!0}],[e=>e.includes(`sakkal majalla`)||e.includes(`majalla`),{asc:1810/2048,desc:1050/2048}],[e=>e===`times new roman`,{asc:1825/2048,desc:530/2048}],[e=>e===`arial`,{asc:1854/2048,desc:501/2048}]];function zl(e,t){if(!e)return null;let n=e.toLowerCase();for(let[e,r]of Rl)if(e(n)&&(t||!r.eaOnly))return r;return null}function Bl(e,t=!1){let n=zl(e,t);return n===null?null:n.asc+n.desc}function Vl(e,t,n=!1){let r=Bl(e,n);return r===null?0:r*t}function Hl(e,t,n,r,i=!1){let a=zl(e,i);if(a===null)return{ascent:n,descent:r};let o=(a.asc+a.desc)*t;return n+r<=o?{ascent:n,descent:r}:{ascent:a.asc*t,descent:a.desc*t}}function Ul(e){return e.trim().toLowerCase()}function Wl(e){return`local(\"${e.replaceAll(`\\\\`,`\\\\\\\\`).replaceAll(`\"`,`\\\\\"`)}\")`}function Gl(e){return`__ooxml_local_${[...e].map(e=>(e.codePointAt(0)??0).toString(16).padStart(6,`0`)).join(``)}`}function Kl(){return typeof OffscreenCanvas<`u`?new OffscreenCanvas(1,1).getContext(`2d`):typeof document<`u`&&document?.createElement?document.createElement(`canvas`).getContext(`2d`):null}async function ql(e){let t=j();if(!t||typeof FontFace>`u`)return{faces:[],metrics:{}};let n=[],r={},i=new Map;for(let t of e){let e=t.family.trim(),n=t.localNames.map(e=>e.trim()).filter(Boolean);if(!e||n.length===0||t.lineHeightMultiplier!=null&&!(t.lineHeightMultiplier>0))continue;let r=t.weight??400,a=t.style??`normal`;if(!(r>=100&&r<=900)||a!==`normal`&&a!==`italic`)continue;let o=n.map(Wl).join(`, `),s=Ul(e),c=`local-face:${o}:${r}:${a}`,l=i.get(c)??{source:o,requests:[]};l.requests.push({...t,family:e,normalizedFamily:s,source:o,weight:r,style:a}),i.set(c,l)}for(let[e,a]of i){let i=Gl(e),{face:o}=E(e,t,()=>{let e=a.requests[0],n=new FontFace(i,a.source,{weight:String(e.weight),style:e.style});return t.add(n),n});try{if(!await O(o.load())||o.status!==`loaded`)throw Error(`local font load timed out`);let e=!1;for(let t of a.requests){let n;if(t.lineHeightMultiplier!=null){let e=Kl();if(!e)continue;e.font=`${t.style} ${t.weight} 100px \"${i}\"`;let r=e.measureText(`Hg国`),a=r.fontBoundingBoxAscent,o=r.fontBoundingBoxDescent;if(!(Number.isFinite(a)&&Number.isFinite(o)&&a+o>0))continue;n=(a+o)/100*t.lineHeightMultiplier}let a=t.weight===400&&t.style===`normal`?t.normalizedFamily:`${t.normalizedFamily}:${t.weight}:${t.style}`;r[a]={family:i,...n==null?{}:{lineHeightRatio:n},requestedFamily:t.family,weight:t.weight,style:t.style,sourceIdentity:t.source,synthesized:!1},e=!0}if(!e)throw Error(`exact local font route unavailable`);n.push(o)}catch{D([o])}}return{faces:n,metrics:r}}function Jl(e){D(e)}const Yl=[{test:e=>e===`georgia`,biasEm:.0105}];function Xl(e){return(e??``).trim().replace(/^[\"']|[\"']$/g,``).replace(/\\s+/g,` `).toLowerCase()}function Zl(e){let t=Xl(e);for(let e of Yl)if(e.test(t))return e.biasEm;return 0}function Ql(e,t){if(!Number.isSafeInteger(e)||e<=0)throw TypeError(`${t} must be a positive safe integer`)}function $l(e){if(!Number.isSafeInteger(e)||e<0)throw TypeError(`cache entry weight must be a non-negative safe integer`)}var eu=class{#e;#t;#n;#r;#i=new Map;#a=new Map;#o=0;constructor(e){Ql(e.maxEntries,`maxEntries`),Ql(e.maxWeight,`maxWeight`),this.#e=e.maxEntries,this.#t=e.maxWeight,this.#n=e.measure,this.#r=e.onRemove}get usage(){return{entries:this.#i.size,weight:this.#o,pending:this.#a.size}}has(e){return this.#i.has(e)}get(e){let t=this.#i.get(e);if(t!==void 0)return this.#i.delete(e),this.#i.set(e,t),t.value}getOrLoad(e,t){let n=this.get(e);if(n!==void 0||this.#i.has(e))return Promise.resolve(n);let r=this.#a.get(e);if(r!==void 0)return r.promise;let i={},a=Promise.resolve().then(t).then(t=>this.#c(e,i,t),t=>{throw this.#s(e,i),t});return this.#a.set(e,{token:i,promise:a}),a}delete(e){let t=this.#a.delete(e),n=this.#i.get(e);return n===void 0?t:(this.#i.delete(e),this.#o-=n.weight,this.#l(n.value,e,`deleted`),!0)}clear(){this.#a.clear();let e=[...this.#i];this.#i.clear(),this.#o=0;for(let[t,n]of e)this.#l(n.value,t,`cleared`)}#s(e,t){this.#a.get(e)?.token===t&&this.#a.delete(e)}#c(e,t,n){if(this.#a.get(e)?.token!==t)return n;let r;try{r=this.#n(n),$l(r)}catch(n){throw this.#s(e,t),n}if(this.#a.get(e)?.token!==t||(this.#a.delete(e),r>this.#t))return n;let i=[];for(;this.#i.size>=this.#e||r>this.#t-this.#o;){let e=this.#i.entries().next().value;if(e===void 0)break;let[t,n]=e;this.#i.delete(t),this.#o-=n.weight,i.push([t,n])}this.#i.set(e,{value:n,weight:r}),this.#o+=r;for(let[e,t]of i)this.#l(t.value,e,`evicted`);return n}#l(e,t,n){try{this.#r?.(e,t,n)}catch{}}},tu=class{#e;constructor(e){this.#e=new eu({maxEntries:e.maxEntries,maxWeight:e.maxBytes,measure:e=>e.size})}get usage(){let e=this.#e.usage;return{entries:e.entries,bytes:e.weight,pending:e.pending}}async get(e,t,n){if(typeof e!=`string`||e.length===0)throw TypeError(`raw package part path must be a non-empty string`);if(typeof t!=`string`)throw TypeError(`raw package part MIME type must be a string`);let r=await this.#e.getOrLoad(e,async()=>{let e=await n();if(!(e instanceof Blob))throw TypeError(`raw package part loader must return a Blob`);return e});return t===``||r.type===t?r:r.slice(0,r.size,t)}clear(){this.#e.clear()}};function nu(e,t=`$`){if(e===null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map((e,n)=>nu(e,`${t}[${n}]`)).join(`,`)}]`;if(typeof e==`object`){let n=e;return`{${Object.keys(n).sort().map(e=>`${JSON.stringify(e)}:${nu(n[e],`${t}.${e}`)}`).join(`,`)}}`}throw TypeError(`Cannot fingerprint ${typeof e} at ${t}`)}function ru(e,t){let n=nu(t);return`${e}:${encodeURIComponent(n)}`}function iu(e){return`${e.story}:${encodeURIComponent(e.storyInstance)}:${e.path.join(`.`)}`}function au(e,t,n){if(t.length===0||n.length===0)throw RangeError(`Body occurrence identity requires a flow domain and fragment start`);return[`body-occurrence`,encodeURIComponent(iu(e)),encodeURIComponent(t),encodeURIComponent(n)].join(`/`)}function ou(e,t){return`image:${iu(e)}:${encodeURIComponent(t)}`}function su(e,t){return`math:${iu(e)}:${encodeURIComponent(t)}`}function cu(e){return ru(`chart-resource`,e)}function lu(e,t){return`anchor:${iu(e)}:${encodeURIComponent(t)}`}function uu(e,t,n=new WeakSet,r=new WeakSet){if(e==null||typeof e==`string`||typeof e==`boolean`)return;if(typeof e==`number`){if(!Number.isFinite(e))throw TypeError(`${t} must contain finite numbers`);return}if(typeof e!=`object`||n.has(e))throw TypeError(`${t} must be structured-clone-safe plain data`);if(r.has(e))return;let i=Object.getPrototypeOf(e);if(!Array.isArray(e)&&i!==Object.prototype&&i!==null)throw TypeError(`${t} must be structured-clone-safe plain data`);if(Object.getOwnPropertySymbols(e).length!==0)throw TypeError(`${t} must contain only enumerable string data properties`);n.add(e);try{for(let i of Object.getOwnPropertyNames(e)){if(Array.isArray(e)&&i===`length`)continue;let a=Object.getOwnPropertyDescriptor(e,i);if(!a||!a.enumerable||!(`value`in a))throw TypeError(`${t}.${i} must be an enumerable data property`);uu(a.value,`${t}.${i}`,n,r)}}finally{n.delete(e)}r.add(e)}function du(e,t=new WeakSet){if(typeof e!=`object`||!e||t.has(e))return e;t.add(e);for(let n of Object.values(e))du(n,t);return Object.freeze(e)}function fu(e,t){uu(e,t);try{return du(structuredClone(e))}catch{throw TypeError(`${t} must be structured-clone-safe plain data`)}}function pu(e,t){return uu(e,t),du(e)}function mu(e,t){if(typeof e!=`string`||e.trim().length===0)throw TypeError(`${t} must be a non-empty string`)}function hu(e,t){if(!Number.isFinite(e)||e<0)throw TypeError(`${t} must be finite and non-negative`)}function gu(e,t){if(!Number.isFinite(e))throw TypeError(`${t} must be finite`)}function _u(e,t){if(!Number.isFinite(e)||e<0||e>1)throw TypeError(`${t} must be between 0 and 1`)}function vu(e,t){hu(e.widthPt,`${t}.widthPt`),hu(e.heightPt,`${t}.heightPt`)}function yu(e){switch(mu(e.resourceKey,`resourceKey`),e.kind){case`image`:case`picture-bullet`:if(e.documentOrder!==void 0&&(!Number.isSafeInteger(e.documentOrder)||e.documentOrder<0))throw TypeError(`documentOrder must be a non-negative safe integer`);if(mu(e.partPath,`partPath`),mu(e.mimeType,`mimeType`),e.svgImagePath!==void 0&&mu(e.svgImagePath,`svgImagePath`),vu(e.intrinsicSize,`intrinsicSize`),e.alpha!==void 0&&_u(e.alpha,`alpha`),e.rotation!==void 0&&!Number.isFinite(e.rotation))throw TypeError(`rotation must be finite`);e.srcRect!==void 0&&(gu(e.srcRect.l,`srcRect.l`),gu(e.srcRect.t,`srcRect.t`),gu(e.srcRect.r,`srcRect.r`),gu(e.srcRect.b,`srcRect.b`));break;case`chart`:vu(e.intrinsicSize,`intrinsicSize`);break;case`math`:break;default:throw TypeError(`Unknown paint resource kind: ${String(e)}`)}}function bu(e){return yu(e),fu(e,`paint resource ${e.resourceKey}`)}function xu(e,t,n){return Error(`Paint resource kind mismatch for ${e}: expected ${t}, got ${n}`)}function Su(e){let t=new Set;for(let n of e){if(t.has(n.resourceKey))throw Error(`Duplicate paint resource key: ${n.resourceKey}`);t.add(n.resourceKey)}let n=e.map(bu).sort((e,t)=>e.resourceKey.localeCompare(t.resourceKey));return Cu(Object.freeze(n))}function Cu(e){if(!Object.isFrozen(e))throw TypeError(`Owned paint descriptors must be sealed`);let t=null;for(let n of e){if(yu(n),!Object.isFrozen(n))throw TypeError(`Owned paint descriptor must be sealed: ${n.resourceKey}`);if(t!==null&&n.resourceKey.localeCompare(t)<=0)throw Error(`Owned paint descriptors must have unique sorted keys: ${n.resourceKey}`);t=n.resourceKey}let n=e,r=new Map(n.map(e=>[e.resourceKey,e])),i=Object.freeze(n.map(e=>e.resourceKey));return Object.freeze({keys:i,descriptors:n,resolve(e,t){let n=r.get(e);if(!n)throw Error(`Unknown paint resource: ${e}`);if(n.kind!==t)throw xu(e,t,n.kind);return n}})}function wu(e){return cu(e)}function Tu(e,t,n,r={}){return{kind:e,resourceKey:t,partPath:n,...r.svgImagePath===void 0?{}:{svgImagePath:r.svgImagePath},...r.srcRect==null?{}:{srcRect:{...r.srcRect}},...r.rotation===void 0?{}:{rotation:r.rotation},...r.flipH===void 0?{}:{flipH:r.flipH},...r.flipV===void 0?{}:{flipV:r.flipV},...r.alpha===void 0?{}:{alpha:r.alpha},...r.colorReplaceFrom===void 0?{}:{colorReplaceFrom:r.colorReplaceFrom},...r.duotone===void 0?{}:{duotone:{...r.duotone}}}}function Eu(e,t,n,r){let i=[],a=[],o=[],s=(e,t,n,r,o,s,c={})=>{let l=ou(t,n);i.push(Tu(e,l,n,c)),a.push({resourceKey:l,mimeType:r,widthPt:o,heightPt:s})},c=(e,t)=>{if(e.type===`image`){s(`image`,t,e.imagePath,e.mimeType,e.widthPt,e.heightPt,e);return}if(e.type===`chart`){o.push({kind:`chart`,resourceKey:wu(t),intrinsicSize:{widthPt:e.widthPt,heightPt:e.heightPt},model:e.chart});return}if(e.type!==`shape`)return;let n=e;n.fill?.fillType===`image`&&s(`image`,t,n.fill.imagePath,n.fill.mimeType,n.widthPt,n.heightPt,{...n.fill.svgImagePath===void 0?{}:{svgImagePath:n.fill.svgImagePath},...n.fill.srcRect===void 0?{}:{srcRect:{...n.fill.srcRect}},...n.fill.alpha===void 0?{}:{alpha:n.fill.alpha},...n.fill.duotone===void 0?{}:{duotone:n.fill.duotone}});let r=`${t.story}:${t.storyInstance}:${t.path.join(`.`)}`;if(n.textBoxContent!==void 0){f(n.textBoxContent,`textbox`,r);return}n.textBlocks?.forEach((e,t)=>{if(e.imagePath){if(!e.mimeType||e.imageWidthPt==null||e.imageHeightPt==null)throw Error(`Text-box compatibility image requires complete metadata`);s(`image`,{story:`textbox`,storyInstance:r,path:[t,0]},e.imagePath,e.mimeType,e.imageWidthPt,e.imageHeightPt,{svgImagePath:e.svgImagePath})}})},l=(e,t,n,r)=>{e.rows.forEach((e,i)=>e.cells.forEach((e,a)=>{f(e.content,t,n,[...r,i,a])}))},u=(e,t,n)=>{if(e)for(let r of[`default`,`first`,`even`]){let i=e[r];i&&f(i.body,t,n?`${n}:${r}`:r)}},d=(e,n)=>{let i=e.numbering;if(i?.picBulletImagePath){let t=r?.(e),a=i.picBulletWidthPt??t?.widthPt,o=i.picBulletHeightPt??t?.heightPt;if(!i.picBulletMimeType||a==null||o==null)throw Error(`Picture bullet requires complete metadata`);s(`picture-bullet`,n,i.picBulletImagePath,i.picBulletMimeType,a,o)}let a=t?.paragraphAcquisitionInput(e,n).runs??e.runs,o=0;a.forEach((t,r)=>{if(t.type===`unavailableDrawing`)return;let i=e.runs[o++];i&&(i.type===`image`||i.type===`chart`||i.type===`shape`)&&c(i,{...n,path:[...n.path,r]})})},f=(e,t,n,r=[])=>{e.forEach((e,i)=>{let a=[...r,i];e.type===`paragraph`?d(e,{story:t,storyInstance:n,path:a}):e.type===`table`?l(e,t,n,a):e.type===`sectionBreak`&&(u(e.headers,`header`,`section:${i}`),u(e.footers,`footer`,`section:${i}`))})};f(e.body,`body`,`body`),u(e.headers,`header`),u(e.footers,`footer`);for(let t of e.footnotes??[])f(t.content,`footnote`,t.id);for(let t of e.endnotes??[])f(t.content,`endnote`,t.id);let p=new Map(a.map(e=>[e.resourceKey,e]));if(p.size!==a.length)throw Error(`Duplicate image resource key`);for(let[e,t]of i.entries()){let n=p.get(t.resourceKey);if(!n)throw Error(`Missing layout image metadata: ${t.resourceKey}`);o.push({...t,documentOrder:e,mimeType:n.mimeType,intrinsicSize:{widthPt:n.widthPt,heightPt:n.heightPt}})}for(let e of n)o.push({kind:`math`,resourceKey:e.resourceKey});return{imageMetadata:a,descriptors:o}}function Du(e,t,n,r){let i=Eu(e,t,n,r);return Object.freeze({imageMetadata:Object.freeze(i.imageMetadata.map(e=>Object.freeze({...e}))),paintResources:Su(i.descriptors)})}function Ou(e,t){if(!Number.isFinite(e)||e<0)throw RangeError(`${t} must be finite and non-negative`);return e}function ku(e){let t=[...e].map(e=>Object.freeze({resourceKey:e.resourceKey,widthPt:Ou(e.widthPt,`widthPt`),heightPt:Ou(e.heightPt,`heightPt`),mimeType:e.mimeType})).sort((e,t)=>e.resourceKey.localeCompare(t.resourceKey)),n=new Map(t.map(({resourceKey:e,...t})=>[e,Object.freeze(t)]));if(n.size!==t.length)throw Error(`Duplicate image resource key`);return Object.freeze({fingerprint:ru(`images`,t),resolve(e){let t=n.get(e);if(!t)throw Error(`Unknown image resource: ${e}`);return t}})}function Au(e){let t=[...e].map(e=>Object.freeze({resourceKey:e.resourceKey,widthEm:Ou(e.widthEm,`widthEm`),ascentEm:Ou(e.ascentEm,`ascentEm`),descentEm:Ou(e.descentEm,`descentEm`),diagnostics:Object.freeze(e.diagnostics.map(e=>Object.freeze({...e}))),...e.available===!1?{available:!1}:{}})).sort((e,t)=>e.resourceKey.localeCompare(t.resourceKey)),n=new Map(t.map(e=>[e.resourceKey,e]));if(n.size!==t.length)throw Error(`Duplicate math resource key`);return Object.freeze({fingerprint:ru(`math`,t),resolve(e){let t=n.get(e);if(!t)throw Error(`Unknown math resource: ${e}`);return t}})}function ju(e){let t=new Map(e),n=Object.freeze([...t.keys()].sort());return Object.freeze({keys:n,resolve(e){let n=t.get(e);if(n===void 0)throw Error(`Unknown runtime resource: ${e}`);return n}})}const Mu=new WeakMap,Nu=new WeakMap,Pu=new WeakMap,Fu=new WeakMap,Iu=new WeakMap,Lu=new WeakMap,Ru=new WeakMap;function zu(){let e=new WeakMap,t=new WeakMap,n=1;return Object.freeze({objectIdentity(t){let r=e.get(t);return r===void 0&&(r=n,n+=1,e.set(t,r)),r},get(e,n){return t.get(e)?.get(n)},set(e,n,r){let i=t.get(e);i||(i=new Map,t.set(e,i)),i.set(n,r)}})}function Bu(e,t){let n=[e.text,e.images,e.math],r=new Set(n.flatMap(e=>{let t=Nu.get(e);return t?[t]:[]}));if(r.size>1)throw Error(`Layout services combine foreign runtime owners`);let i=r.values().next().value,a=n.filter(e=>!Nu.has(e));if(i&&a.length>1)throw Error(`Layout services are missing service lineage for multiple components`);if(!i&&!t)return;let o=i??{};for(let e of n){let t=Nu.get(e);if(t&&t!==o)throw Error(`Layout services combine foreign runtime owners`);Nu.set(e,o)}return o}function Vu(e,t){let n=Bu(e,!0);if(Pu.has(n))throw Error(`Body layout kernel is already attached`);Pu.set(n,t)}function Hu(e){let t=Bu(e,!1);return t?Pu.get(t):void 0}function Uu(e,t){let n=Bu(e,!0);if(Fu.has(n))throw Error(`Layout source store is already attached`);Fu.set(n,t)}function Wu(e){let t=Bu(e,!1);return t?Fu.get(t):void 0}function Gu(e,t){let n=Bu(e,!0);if(Iu.has(n))throw Error(`Vertical glyph measurement service is already attached`);Iu.set(n,t)}function Ku(e){let t=Bu(e,!1),n=t?Iu.get(t):void 0;if(!n)throw Error(`Vertical glyph measurement service is not attached`);return n}function qu(e,t){if(Lu.has(e))throw Error(`Layout variant store is already attached`);Lu.set(e,t)}function Ju(e){return Lu.get(e)}function Yu(e,t,n=t.keys()){if(Mu.has(e))throw Error(`Private resource lookup is already attached`);let r=new Set(t.keys()),i=new Set(n),a=[...i].filter(e=>!r.has(e)).sort(),o=[...r].filter(e=>!i.has(e)).sort();if(a.length>0||o.length>0)throw Error(`Runtime resource membership mismatch: missing [${a.join(`, `)}]; extra [${o.join(`, `)}]`);Mu.set(e,ju(t))}function Xu(e){return Mu.get(e)}const Zu=new WeakMap,Qu=new WeakMap;function $u(e,t={}){let n=Object.freeze({...e,...t}),r=Hu(e);if(!r)throw Error(`Body layout kernel is not attached to the supplied services`);if(Hu(n)!==r)throw Error(`Layout service view did not retain its body layout kernel owner`);let i=Mu.get(e);i&&Mu.set(n,i);let a=Zu.get(e);a&&Zu.set(n,a);let o=Ru.get(e);return o&&Ru.set(n,o),n}function ed(e){let t=$u(e);return Ru.set(t,zu()),t}function td(e){return Ru.get(e)}function nd(e,t){if(!Number.isInteger(t.totalPages)||t.totalPages<1)throw RangeError(`Field acquisition totalPages must be a positive integer`);let n=$u(e);return Qu.set(n,Object.freeze({...t})),n}function rd(e){return Qu.get(e)??Object.freeze({totalPages:1})}function id(e,t){if(Zu.has(e))throw Error(`Paint resource registry is already attached`);Zu.set(e,t)}function ad(e){let t=Zu.get(e);if(!t)throw Error(`Paint resource registry is not attached`);return t}const od=[`background`,`behindText`,`header`,`body`,`notes`,`front`,`footer`],sd=Object.freeze({a:1,b:0,c:0,d:1,e:0,f:0});function cd(e){return Object.freeze({kind:`clip`,clip:e})}function ld(e,t){return Object.freeze({kind:`transform`,transform:Object.freeze({...sd,e,f:t})})}function ud(e,t){if(!t.textBoxIds?.length)return Object.freeze([]);let n=new Map(e.textBoxes.map(e=>[e.id,e]));return Object.freeze(t.textBoxIds.flatMap(e=>{let t=n.get(e);return t?[t]:[]}))}function dd(e,t,n,r,i){if(e.kind===`drawing`){if(!e.anchorLayer)return;i.push(Object.freeze({drawing:e,textBoxes:Object.freeze([]),frames:Object.freeze([...n]),layoutTranslationPt:Object.freeze({...r}),encounterOrder:i.length,root:t}));return}if(e.kind!==`textbox`){if(e.kind===`note`){let a=e.story.clipBounds?Object.freeze([...n,cd(e.story.clipBounds)]):n;for(let n of e.story.blocks)dd(n,t,a,r,i);return}if(e.kind===`paragraph`){let a=e.clipBounds?Object.freeze([...n,cd(e.clipBounds)]):n;for(let n of e.drawings)n.anchorLayer&&i.push(Object.freeze({drawing:n,owner:e,textBoxes:ud(e,n),frames:Object.freeze([...a]),layoutTranslationPt:Object.freeze({...r}),encounterOrder:i.length,root:t}));return}md(e,t,n,r,i)}}function fd(e,t,n,r,i,a){let o=t.xPt-e.flowBounds.xPt,s=t.yPt-e.flowBounds.yPt;dd(e,n,Object.freeze([...r,ld(o,s)]),Object.freeze({xPt:i.xPt+o,yPt:i.yPt+s}),a)}function pd(e,t,n,r,i){fd(e.child,{xPt:e.xPt-r.xPt,yPt:e.yPt-r.yPt},t,n,r,i)}function md(e,t,n,r,i){let a=e.clipBounds?Object.freeze([...n,cd(e.clipBounds)]):n;for(let n of e.rows)for(let e of n.cells){let n=`visualMergeOwnership`in e&&e.visualMergeOwnership===`continuation`;if(e.verticalMerge===`continue`&&!n)continue;let o=e.clipBounds?Object.freeze([...a,cd(e.clipBounds)]):a;for(let n of e.blocks)fd(n.layout,{xPt:e.contentBounds.xPt+(n.layout.kind===`table`?n.layout.flowBounds.xPt:0),yPt:e.flowBounds.yPt+n.offsetPt+(n.layout.kind===`table`?n.layout.flowBounds.yPt:0)},t,o,r,i)}for(let n of e.resolvedFloatingTables??[])pd(n,t,a,r,i)}function hd(e){let t=e.drawing.anchorLayer;return Object.freeze({kind:`drawing`,layer:t.behindDoc?`behindText`:`front`,sourceLayer:e.root.layer,rootNodeId:e.root.node.id,coordinateSpace:e.root.coordinateSpace,flowDomainId:e.root.node.flowDomainId,node:e.drawing,...e.owner?{ownerNodeId:e.owner.id}:{},textBoxes:e.textBoxes,frames:e.frames,layoutTranslationPt:e.layoutTranslationPt})}function gd(e,t){return Object.freeze({kind:`node`,layer:e.layer,sourceLayer:e.layer,rootNodeId:e.node.id,coordinateSpace:e.coordinateSpace,flowDomainId:e.node.flowDomainId,node:e.node,omitAnchoredDrawings:t})}function _d(e,t){return e.drawing.anchorLayer.relativeHeight-t.drawing.anchorLayer.relativeHeight||e.drawing.anchorLayer.sourceOrder-t.drawing.anchorLayer.sourceOrder||e.encounterOrder-t.encounterOrder}function vd(e){let t=[];for(let n of e)dd(n.node,n,Object.freeze([]),Object.freeze({xPt:0,yPt:0}),t);let n=t.filter(({drawing:e})=>e.anchorLayer.behindDoc).sort(_d).map(hd),r=t.filter(({drawing:e})=>!e.anchorLayer.behindDoc).sort(_d).map(hd),i=new Set(t.map(({root:e})=>e.node)),a=e.flatMap(e=>e.node.kind===`drawing`&&e.node.anchorLayer?[]:[gd(e,i.has(e.node))]);return Object.freeze([...n,...a,...r])}function yd(e,t){return t.has(e)||(t.add(e),e.kind===`drawing`)?!1:e.kind===`paragraph`?e.lines.some(e=>e.placements.some(e=>e.kind===`text`&&e.paintOps?.some(e=>e.verticalFeature===!0)===!0))||e.textBoxes.some(e=>yd(e,t)):e.kind===`textbox`||e.kind===`note`?e.story.blocks.some(e=>yd(e,t)):e.rows.some(e=>e.cells.some(e=>e.blocks.some(e=>yd(e.layout,t))))||(e.resolvedFloatingTables??[]).some(e=>yd(e.child,t))}function bd(e){let t=Object.freeze(e.map(({layer:e,node:t,coordinateSpace:n})=>Object.freeze({layer:e,node:t,coordinateSpace:n??`section-logical`}))),n=new Map(od.map(e=>[e,[]]));for(let e of t)n.get(e.layer).push(e.node);let r=[];for(let e=0;e<t.length;){let n=t[e].layer,i=e+1;for(;t[i]?.layer===n;)i+=1;let a=t.slice(e,i);n===`header`||n===`body`||n===`notes`||n===`footer`?r.push(...vd(a)):r.push(...a.map(e=>gd(e,!1))),e=i}let i=new Set;return Object.freeze({roots:t,paintOrder:Object.freeze(r),capabilities:Object.freeze({requiresElementBackedVerticalGlyphPaint:t.some(({node:e})=>yd(e,i))}),background:Object.freeze(n.get(`background`)),behindText:Object.freeze(n.get(`behindText`)),header:Object.freeze(n.get(`header`)),body:Object.freeze(n.get(`body`)),notes:Object.freeze(n.get(`notes`)),front:Object.freeze(n.get(`front`)),footer:Object.freeze(n.get(`footer`))})}var xd=class extends Error{constructor(e){super(e),this.name=`PageGraphError`}};const Sd=bd;function Cd(e,t,n){let r=new Map(n.map(e=>[e.id,e]));if(r.size!==n.length||n.length!==e[t].length)throw new xd(`Replacement ${t} layer must preserve unique paint node identities`);return Sd(e.roots.map(e=>{if(e.layer!==t)return e;let n=r.get(e.node.id);if(!n)throw new xd(`Missing replacement paint node ${e.node.id}`);return{...e,node:n}}))}function wd(e){return e.layers.roots}function Td(e){let t=!1,n=!1;for(let r of e.layers.roots)if(r.layer===`body`){if(n)throw new xd(`Paint sequence must contain one contiguous body paint run; re-entered at ${r.node.id}`);t=!0}else t&&(n=!0);let r=new Map;for(let t of e.layers.roots){if(r.has(t.node.id))throw new xd(`Duplicate paint node ${t.node.id}`);r.set(t.node.id,t)}let i=new Map;for(let t of od)for(let n of e.layers[t]){if(i.has(n.id))throw new xd(`Duplicate semantic page node ${n.id}`);i.set(n.id,{layer:t,node:n})}if(i.size!==r.size)throw new xd(`Semantic page layers do not match retained roots`);for(let[e,t]of r){let n=i.get(e);if(!n||n.layer!==t.layer||n.node!==t.node)throw new xd(`Paint root ${e} is not the retained ${t.layer} node`)}let a=new Set,o=new Set;for(let t of e.layers.paintOrder){let e=r.get(t.rootNodeId);if(!e)throw new xd(`Missing paint root ${t.rootNodeId}`);if(e.layer!==t.sourceLayer)throw new xd(`Paint root ${t.rootNodeId} belongs to ${e.layer}, not ${t.sourceLayer}`);if(a.add(t.rootNodeId),t.kind===`node`){if(t.node!==e.node||t.node.id!==t.rootNodeId)throw new xd(`Paint root ${t.rootNodeId} is not the retained ${t.sourceLayer} node`);continue}if(!t.node.anchorLayer)throw new xd(`Drawing paint entry ${t.node.id} is not anchored`);if(o.has(t.node.id))throw new xd(`Duplicate drawing paint reference ${t.node.id}`);o.add(t.node.id)}if(a.size!==r.size)throw new xd(`Missing paint-order reference for ${[...r.keys()].find(e=>!a.has(e))??`<unknown>`}`);return e.layers.roots.map(({node:e})=>e)}const Ed=Object.freeze({story:`body`,storyInstance:`parse-error`,path:Object.freeze([])});function Dd(e,t,n,r,i){let a=e.trim().split(/\\s+/).filter(Boolean),o=[],s=``,c=e=>r.shape({text:e,fontSizePt:n,fonts:{},genericFamily:`sans-serif`}).advancePt,l=e=>{let n=[0,...lc(e),e.length].filter((e,t,n)=>t===0||e!==n[t-1]),r=n.length-1;for(;r>0&&c(`${e.slice(0,n[r])}…`)>t;)--r;return`${e.slice(0,n[r]??0)}…`},u=()=>{o.length===0?o.push(l(``)):o[o.length-1]=l(o[o.length-1])},d=e=>{let n=[0,...lc(e),e.length].filter((e,t,n)=>t===0||e!==n[t-1]),r=0;for(;r<n.length-1;){if(o.length>=i)return u(),!0;let a=r+1;for(;a<n.length&&c(e.slice(n[r],n[a]))<=t;)a+=1;let s=Math.max(r+1,a-1),d=e.slice(n[r],n[s]);if(o.length>=i-1&&s<n.length-1)return o.push(l(d)),!0;o.push(d),r=s}return!1};for(let e=0;e<a.length;e+=1){let n=a[e],r=s?`${s} ${n}`:n,l=c(r);if(s&&l>t){if(o.push(s),s=``,o.length>=i){u();break}if(c(n)>t){if(d(n))break}else s=n}else if(!s&&l>t){if(d(n))break}else s=r;if(e<a.length-1&&o.length>=i&&!s){u();break}}return s&&o.length<i&&o.push(s),o}function Od(e,t,n){if(!(t.widthPt>0&&t.heightPt>0))throw RangeError(`Error page size must be positive`);let r=Math.max(18,Math.min(t.widthPt,t.heightPt)*.06),i={xPt:r,yPt:r,widthPt:t.widthPt-r*2,heightPt:t.heightPt-r*2},a=Math.max(8,Math.min(t.widthPt,t.heightPt)*.02),o=n.resolve({fonts:{},slot:`ascii`,genericFamily:`sans-serif`}).route,s=Dd(e,t.widthPt-r*4,a,n,4),c=a*1.4,l=[{kind:`fill-rect`,rect:{xPt:0,yPt:0,widthPt:t.widthPt,heightPt:t.heightPt},fill:`#ffffff`},{kind:`stroke-rect`,rect:i,stroke:`#c8ccd2`,lineWidthPt:1,dashPt:[6,5]},{kind:`text`,rect:{xPt:0,yPt:t.heightPt*.27,widthPt:t.widthPt,heightPt:36},text:`⚠`,fill:`#b23b3b`,fontRoute:o,fontSizePt:28,fontWeight:400,fontStyle:`normal`,align:`center`,baseline:`middle`},{kind:`text`,rect:{xPt:r*2,yPt:t.heightPt*.4,widthPt:t.widthPt-r*4,heightPt:24},text:`This document could not be displayed`,fill:`#333333`,fontRoute:o,fontSizePt:13,fontWeight:600,fontStyle:`normal`,align:`center`,baseline:`middle`},...s.map((e,n)=>({kind:`text`,rect:{xPt:r*2,yPt:t.heightPt*.5+c*n,widthPt:t.widthPt-r*4,heightPt:c},text:e,fill:`#666666`,fontRoute:o,fontSizePt:a,fontWeight:400,fontStyle:`normal`,align:`center`,baseline:`middle`}))],u={kind:`drawing`,id:`parse-error-page`,source:Ed,flowDomainId:`parse-error`,flowBounds:i,inkBounds:i,advancePt:i.heightPt,ordinaryFlow:!1,commands:l},d={geometry:{pageWidth:t.widthPt,pageHeight:t.heightPt,marginTop:r,marginRight:r,marginBottom:r,marginLeft:r,headerDistance:0,footerDistance:0},columns:[{xPt:r,wPt:i.widthPt}],columnSeparator:!1,grid:{kind:`none`,linePitchPt:null,charSpacePt:null},textDirection:`lrTb`,verticalAlignment:`top`};return{pages:[{pageIndex:0,geometry:{xPt:0,yPt:0,widthPt:t.widthPt,heightPt:t.heightPt,contentTopPt:r,contentBottomPt:t.heightPt-r},flowDomains:[{id:`parse-error`,kind:`body`,logicalBounds:i,physicalBounds:i}],section:d,sectionOccurrenceId:`parse-error-section`,pageBorder:null,parityBlank:!1,bookmarkStarts:[],pageNumber:{displayNumber:1,format:`decimal`,sectionOccurrenceId:`parse-error-section`},columnSeparators:[],sectionRegions:[{id:`parse-error-region`,sectionOccurrenceId:`parse-error-section`,coordinateSpace:{writingMode:`horizontal-tb`,logicalToPhysical:{a:1,b:0,c:0,d:1,e:0,f:0},physicalToLogical:{a:1,b:0,c:0,d:1,e:0,f:0}},blockStartPt:r,blockEndPt:t.heightPt-r,columnFlowDirection:`ltr`,columnIndexes:[0],flowDomainIds:[`parse-error`],section:d}],layers:Sd([{layer:`body`,node:u}]),readingOrder:[u.id]}],diagnostics:[{code:`UNSUPPORTED_FEATURE`,severity:`error`,source:Ed,message:e}]}}function kd(e,t){let n=e==null?t:typeof e==`number`?e:e.getTime();if(!Number.isFinite(n))throw RangeError(`currentDate must resolve to finite epoch milliseconds`);return Object.freeze({currentDateMs:n})}function Ad(e){return kd(e.currentDate,e.defaultCurrentDateMs)}function jd(e,t){return ru(`layout`,{currentDateMs:e.currentDateMs,text:t.text.fingerprint,images:t.images.fingerprint,math:t.math.fingerprint,verticalGlyphs:t.verticalGlyphFingerprint??null})}const Md=Object.freeze({UNSUPPORTED_TEXT_EFFECT:Object.freeze({severity:`warning`,layoutCode:`UNSUPPORTED_FEATURE`,message:`WordprocessingML text effects are not rendered`}),INVALID_TEXT_EFFECT_VALUE:Object.freeze({severity:`warning`,layoutCode:`INVALID_VALUE`,message:`An invalid WordprocessingML text-effect value was ignored`}),MISSING_DRAWING_EXTENT:Object.freeze({severity:`error`,layoutCode:`INVALID_GEOMETRY`,message:`A drawing with a missing required extent was omitted`}),INVALID_DRAWING_EXTENT:Object.freeze({severity:`error`,layoutCode:`INVALID_GEOMETRY`,message:`A drawing with an invalid extent was omitted`}),DEGENERATE_DRAWING_EXTENT:Object.freeze({severity:`warning`,layoutCode:`INVALID_GEOMETRY`,message:`A drawing has a schema-valid zero-area extent`})}),Nd=Object.freeze({code:`INVALID_VALUE`,severity:`warning`,message:`The parser diagnostic contract did not match this renderer build`});function Pd(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Fd(e,t){if(!Array.isArray(e)||!e.every(e=>Number.isSafeInteger(e)&&e>=0))return!1;let[n]=e;return n===void 0||n<t}function Id(e){return Object.freeze({story:`body`,storyInstance:`body`,path:Object.freeze([...e])})}function Ld(e,t){if(e===void 0)return Object.freeze([]);if(!Array.isArray(e))return Object.freeze([Nd]);let n=[],r=!1;for(let i of e){if(!Pd(i)||typeof i.code!=`string`||!Object.hasOwn(Md,i.code)||i.part!==`word/document.xml`||!Fd(i.path,t)){r=!0;continue}let e=Md[i.code];if(i.severity!==e.severity){r=!0;continue}n.push(Object.freeze({code:e.layoutCode,severity:e.severity,source:Id(i.path),message:e.message}))}return r&&n.push(Nd),Object.freeze(n)}var J=class extends Error{code;constructor(e,t){super(`${e}: ${t}`),this.name=`LayoutInvariantError`,this.code=e}};function Rd(e){switch(e){case`tb`:case`tbV`:case`lrTb`:case`lrTbV`:return`horizontal-tb`;case`rl`:case`rlV`:case`tbRl`:case`tbRlV`:return`vertical-rl`;case`btLr`:return`vertical-rl`;case`lr`:case`lrV`:case`tbLrV`:return`vertical-lr`;default:throw RangeError(`Unsupported Transitional text direction ${JSON.stringify(e)}`)}}function zd(e){if(!Number.isFinite(e.widthPt)||!Number.isFinite(e.heightPt)||e.widthPt<=0||e.heightPt<=0)throw RangeError(`Physical page extents must be positive and finite`)}function Bd(e){if(!Number.isFinite(e.xPt)||!Number.isFinite(e.yPt))throw RangeError(`Point coordinates must be finite`)}function Vd(e){if(![e.a,e.b,e.c,e.d,e.e,e.f].every(Number.isFinite))throw RangeError(`Matrix coefficients must be finite`)}function Hd(e){if(Bd(e),!Number.isFinite(e.widthPt)||!Number.isFinite(e.heightPt)||e.widthPt<0||e.heightPt<0)throw RangeError(`Rectangle extents must be finite and non-negative`)}function Ud(e,t){switch(zd(e),t){case`horizontal-tb`:return{widthPt:e.widthPt,heightPt:e.heightPt};case`vertical-rl`:case`vertical-lr`:return{widthPt:e.heightPt,heightPt:e.widthPt};default:throw RangeError(`Unsupported writing mode ${String(t)}`)}}function Wd(e,t){switch(zd(e),t){case`horizontal-tb`:return{widthPt:e.widthPt,heightPt:e.heightPt};case`vertical-rl`:case`vertical-lr`:return{widthPt:e.heightPt,heightPt:e.widthPt};default:throw RangeError(`Unsupported writing mode ${String(t)}`)}}function Gd(e,t){switch(zd(t),e){case`horizontal-tb`:return{a:1,b:0,c:0,d:1,e:0,f:0};case`vertical-rl`:return{a:0,b:1,c:-1,d:0,e:t.widthPt,f:0};case`vertical-lr`:return{a:0,b:1,c:1,d:0,e:0,f:0};default:throw RangeError(`Unsupported writing mode ${String(e)}`)}}function Kd(e,t){switch(zd(t),e){case`horizontal-tb`:return{a:1,b:0,c:0,d:1,e:0,f:0};case`vertical-rl`:return{a:0,b:-1,c:1,d:0,e:0,f:t.widthPt};case`vertical-lr`:return{a:0,b:1,c:1,d:0,e:0,f:0};default:throw RangeError(`Unsupported writing mode ${String(e)}`)}}function qd(e,t){return Vd(e),Bd(t),{xPt:e.a*t.xPt+e.c*t.yPt+e.e,yPt:e.b*t.xPt+e.d*t.yPt+e.f}}function Jd(e,t){Hd(t);let n=[qd(e,t),qd(e,{xPt:t.xPt+t.widthPt,yPt:t.yPt}),qd(e,{xPt:t.xPt,yPt:t.yPt+t.heightPt}),qd(e,{xPt:t.xPt+t.widthPt,yPt:t.yPt+t.heightPt})],r=n.map(({xPt:e})=>e),i=n.map(({yPt:e})=>e),a=Math.min(...r),o=Math.min(...i);return{xPt:a,yPt:o,widthPt:Math.max(...r)-a,heightPt:Math.max(...i)-o}}function Yd(e,t){Vd(e);let n=qd(e,{xPt:0,yPt:0}),r={top:{xPt:0,yPt:-1},right:{xPt:1,yPt:0},bottom:{xPt:0,yPt:1},left:{xPt:-1,yPt:0}},i={},a=new Set;for(let o of[`top`,`right`,`bottom`,`left`]){let s=qd(e,r[o]),c=s.xPt-n.xPt,l=s.yPt-n.yPt,u=l===0&&c!==0?c>0?`right`:`left`:c===0&&l!==0?l>0?`bottom`:`top`:null;if(u===null||a.has(u))throw RangeError(`Edge transforms require a non-degenerate axis-aligned matrix`);i[u]=t[o],a.add(u)}if(a.size!==4)throw RangeError(`Edge transform must map every physical edge exactly once`);return i}function Xd(e,t){return{writingMode:e,logicalToPhysical:Gd(e,t),physicalToLogical:Kd(e,t)}}function Zd(e){return Object.freeze(e)}function Qd(e){let t=[];for(let n of e){let{columns:e,columnSeparator:r}=n.section;if(!r||e.length<2||n.blockEndPt<=n.blockStartPt)continue;let i=new Set(n.columnIndexes),a=n.columnFlowDirection===`rtl`?e.map((e,t)=>t).reverse():e.map((e,t)=>t);for(let r=0;r<a.length-1;r+=1){let o=a[r];if(!i.has(o))continue;let s=a[r+1],c=Math.min(o,s),l=Math.max(o,s),u=e[c],d=e[l],f=(u.xPt+u.wPt+d.xPt)/2;t.push(Object.freeze({start:Zd(qd(n.coordinateSpace.logicalToPhysical,{xPt:f,yPt:n.blockStartPt})),end:Zd(qd(n.coordinateSpace.logicalToPhysical,{xPt:f,yPt:n.blockEndPt}))}))}}return Object.freeze(t)}function $d(e,t){let n=st(e,t),r=e===`triple`||/^(?:thinThick|thickThin|thinThickThin)(?:Small|Medium|Large)Gap$/.test(e);return Object.freeze({authoredStyle:e,style:e===`double`?`double`:r?`compound`:n.length>0?`dashed`:e.includes(`wave`)?`wavy`:`solid`,dashPatternPt:Object.freeze(n)})}function ef(e,t){let n=(e.smallCaps?Math.max(e.fontSize-2,1):e.fontSize)*t;return e.vertAlign&&(n*=.65),n}const tf=/[ᄀ-ᇿ⺀-⿟ -〿぀-ヿ㄰-㆏㐀-䶿一-鿿ꥠ-꥿가-퟿豈-﫿＀-￯]/u;function nf(e,t,n){let r=null,i=0;for(let n of t)n.alignment!==`bar`&&(n.pos>i&&(i=n.pos),n.pos>e&&(r===null||n.pos<r.pos)&&(r=n));let a=null;if(n>0){let t=Math.ceil((Math.max(e,i)+1e-6)/n)*n;t<=e&&(t+=n),a={pos:t,alignment:`left`}}return r&&a?r.pos<=a.pos?r:a:r??a}function rf(e,t,n){return nf(e,t,n)}function af(e,t){let n=t===`vert`||t===`vert270`||t===`eaVert`||t===`mongolianVert`;return{type:`text`,text:e.text,bold:e.bold??!1,italic:e.italic??!1,underline:!1,strikethrough:!1,fontSize:e.fontSizePt,color:e.color??null,fontFamily:e.fontFamily??null,fontFamilyEastAsia:e.fontFamilyEastAsia??null,isLink:!1,background:null,vertAlign:null,hyperlink:null,ruby:e.ruby??void 0,textBoxLineFloor:!0,textBoxVertical:n}}function of(e,t={},n={}){if(!e)return`sans-serif`;let r=t[e];return r===`roman`?`serif`:r===`swiss`?`sans-serif`:r===`modern`&&n[e]===`fixed`?`monospace`:`sans-serif`}const sf=Symbol(`docx.localMetricSnapshot`);function cf(e={}){if(e[sf])return e;let t=Object.entries(e).map(([e,t])=>{if(!t.family?.trim())throw TypeError(`Local metric ${e} requires a family`);if(t.lineHeightRatio!==void 0&&(!Number.isFinite(t.lineHeightRatio)||t.lineHeightRatio<0))throw RangeError(`Local metric ${e} lineHeightRatio must be finite and non-negative`);if(t.weight!==void 0&&(!Number.isFinite(t.weight)||t.weight<1||t.weight>1e3))throw RangeError(`Local metric ${e} weight must be finite and between 1 and 1000`);let n={family:t.family,...t.lineHeightRatio===void 0?{}:{lineHeightRatio:t.lineHeightRatio},...t.requestedFamily===void 0?{}:{requestedFamily:t.requestedFamily},...t.weight===void 0?{}:{weight:t.weight},...t.style===void 0?{}:{style:t.style},...t.sourceIdentity===void 0?{}:{sourceIdentity:t.sourceIdentity},...t.synthesized===void 0?{}:{synthesized:t.synthesized}};return[Ul(e),Object.freeze(n)]}).sort(([e],[t])=>e.localeCompare(t)),n=Object.fromEntries(t);return Object.defineProperty(n,sf,{value:!0}),Object.freeze(n)}const lf=new Set([161,164,167,168,170,173,175,176,177,178,179,180,182,183,184,185,186,188,189,190,191,215,247]),uf=new Set([224,225,232,233,234,236,237,242,243,249,250,252]);function df(e,t,n,r,i){let a=n===`eastAsia`,o=r?.split(/[-_]/,1)[0]?.toLowerCase()===`zh`,s=/^(?:86|88)$/i.test(i?.trim()??``),c=`highAnsi`;return e<=127?c=`ascii`:e<=255?c=a&&(lf.has(e)||o&&uf.has(e))?`eastAsia`:`highAnsi`:e>=256&&e<=687?c=a&&(o||s)?`eastAsia`:`highAnsi`:e>=688&&e<=767||e>=768&&e<=879||e>=880&&e<=975||e>=1024&&e<=1279?c=a?`eastAsia`:`highAnsi`:e>=1424&&e<=1983||e>=64285&&e<=65023||e>=65136&&e<=65278?c=`ascii`:e>=4352&&e<=4607||e>=11904&&e<=12031||e>=12032&&e<=12255||e>=12272&&e<=12687||e>=12688&&e<=12703||e>=12800&&e<=19903||e>=19968&&e<=40879||e>=40960&&e<=42127||e>=42128&&e<=42191||e>=44032&&e<=55215||e>=63744&&e<=64255||e>=65072&&e<=65103||e>=65104&&e<=65135||e>=65280&&e<=65519||e>=65536&&e<=1114111?c=`eastAsia`:e>=7680&&e<=7935?c=a&&o?`eastAsia`:`highAnsi`:(e>=8192&&e<=10175||e>=57344&&e<=63743||e>=64256&&e<=64284)&&(c=a?`eastAsia`:`highAnsi`),c===`eastAsia`&&a?c:t?`complexScript`:c}function ff(e,t){return e.themeFontPresence?.[t]??e.themeFonts?.[t]!=null?e.themeFonts?.[t]:e.fonts[t]??(e.themeFontPresence?.ascii??e.themeFonts?.ascii!=null?e.themeFonts?.ascii:e.fonts.ascii)}function pf(e){let t=cf(e.localMetrics),n=Object.freeze(Object.fromEntries(Object.entries(e.genericFamilies??{}).map(([e,t])=>[e.trim().toLocaleLowerCase(`en-US`),t]).sort(([e],[t])=>e.localeCompare(t)))),r=Object.freeze(Object.fromEntries(Object.entries(e.eastAsiaFontCharsets??{}).map(([e,t])=>[e.trim().toLocaleLowerCase(`en-US`),t.trim()]).sort(([e],[t])=>e.localeCompare(t)))),i=ru(`text`,{fonts:e.fonts.fingerprint,measurer:e.measurer.fingerprint,localMetrics:t,eastAsiaFontCharsets:r,genericFamilies:n}),a=t=>{let r=ff(t,t.slot),i=r?n[r.trim().toLocaleLowerCase(`en-US`)]??t.genericFamily??`sans-serif`:t.genericFamily;return e.fonts.resolve({requestedFamily:r,genericFamily:i,weight:t.weight,style:t.style})},o=new Map,s=t=>{let n=JSON.stringify([t.text,t.fontRoute.familyList,t.fontRoute.scope,t.fontRoute.fingerprint,t.fontSizePt,t.weight,t.style,t.letterSpacingPt,t.kerning??null]),r=o.get(n);if(r)return r;let i=e.measurer.measure(t),a=Object.freeze({...i,...i.inkBounds?{inkBounds:Object.freeze({...i.inkBounds})}:{}});return o.set(n,a),a},c=t=>e.measurer.measure(t).advancePt,l=new Map;return Object.freeze({fingerprint:i,localMetrics:t,resolve:a,shape(e){if(!Number.isFinite(e.fontSizePt)||e.fontSizePt<0)throw RangeError(`fontSizePt must be a finite non-negative number`);let t=JSON.stringify([e.text,e.fontSizePt,[e.fonts.ascii??null,e.fonts.highAnsi??null,e.fonts.eastAsia??null,e.fonts.complexScript??null],[e.themeFonts?.ascii??null,e.themeFonts?.highAnsi??null,e.themeFonts?.eastAsia??null,e.themeFonts?.complexScript??null],[e.themeFontPresence?.ascii??null,e.themeFontPresence?.highAnsi??null,e.themeFontPresence?.eastAsia??null,e.themeFontPresence?.complexScript??null],e.weight??null,e.style??null,e.complexScript??null,e.fontHint??null,e.eastAsiaLanguage??null,e.eastAsiaFontCharset??null,e.genericFamily??null,e.letterSpacingPt??null,e.kerning??null,e.measure??null,e.clusterGeometry??null]),n=l.get(t);if(n)return n;let i=[],o=Object.freeze([...new Set([0,...lc(e.text),e.text.length])].sort((e,t)=>e-t)),u=new Set(o),d=0;for(let t of e.text){let n=d+t.length,a=ff(e,`eastAsia`),o=e.eastAsiaFontCharset??(a?r[a.trim().toLocaleLowerCase(`en-US`)]:void 0),s=df(t.codePointAt(0)??0,e.complexScript??!1,e.fontHint,e.eastAsiaLanguage,o),c=i.at(-1);c?.script===s?(c.text+=t,c.end=n):i.push({text:t,start:d,end:n,script:s,breakBefore:u.has(d)}),d=n}let f=i.map(t=>{let n=a({fonts:e.fonts,themeFonts:e.themeFonts,themeFontPresence:e.themeFontPresence,slot:t.script,weight:e.weight,style:e.style,genericFamily:e.genericFamily}),r=e.measure===!1?{advancePt:0,ascentPt:0,descentPt:0}:s({text:t.text,fontRoute:n.route,fontSizePt:e.fontSizePt,weight:n.weight,style:n.style,letterSpacingPt:e.letterSpacingPt??0,kerning:e.kerning});return Object.freeze({...t,...r,font:n,fontRoute:n.route})}),p=f.flatMap(e=>e.font.diagnostics),m=f.length>0&&f.every(e=>e.inkBounds!==void 0)?(()=>{let e=0,t=1/0,n=-1/0,r=0,i=0;for(let a of f){let o=a.inkBounds;t=Math.min(t,e+o.xMinPt),n=Math.max(n,e+o.xMaxPt),r=Math.max(r,o.ascentPt),i=Math.max(i,o.descentPt),e+=a.advancePt}return Object.freeze({xMinPt:t,xMaxPt:n,ascentPt:r,descentPt:i})})():void 0,h=f.reduce((e,t)=>e+t.advancePt,0),g=e.clusterGeometry===!1?void 0:(()=>{let t=new Map([[0,0],[e.text.length,h]]),n=n=>{if(e.measure===!1||n<=0)return 0;let r=t.get(n);if(r!==void 0)return r;let i=0;for(let t of f){if(n>=t.end){i+=t.advancePt;continue}if(n<=t.start)break;i+=c({text:t.text.slice(0,n-t.start),fontRoute:t.fontRoute,fontSizePt:e.fontSizePt,weight:t.font.weight,style:t.font.style,letterSpacingPt:e.letterSpacingPt??0,kerning:e.kerning});break}return t.set(n,i),i};return Object.freeze(o.slice(0,-1).map((e,t)=>{let r=o[t+1]??e,i=n(e);return Object.freeze({range:Object.freeze({start:e,end:r}),offsetPt:i,advancePt:n(r)-i})}))})(),_=Object.freeze({advancePt:h,ascentPt:Math.max(0,...f.map(e=>e.ascentPt)),descentPt:Math.max(0,...f.map(e=>e.descentPt)),...m?{inkBounds:m}:{},...m&&f.every(e=>e.horizontalInkBoundsAreTight===!0)?{horizontalInkBoundsAreTight:!0}:{},spans:Object.freeze(f),graphemeBoundaries:o,...g?{clusters:g}:{},diagnostics:Object.freeze(p)});return l.set(t,_),_}})}function mf(e,t){let n=[];for(let r=0;r<e.length;){let i=e[r];if(i.fitTextValTwips===void 0){r+=1;continue}let a=r+1;if(i.fitTextId!==void 0)for(;a<e.length&&e[a].fitTextValTwips!==void 0&&e[a].fitTextId===i.fitTextId;)a+=1;let o=0,s=0;for(let t=r;t<a;t+=1){let n=e[t];o+=n.naturalWidthPx*(n.charScale??1),s+=n.charCount}let c=i.fitTextValTwips/20*t,l=s>1?(c-o)/(s-1):0,u=c-o-Math.max(0,s-1)*l;n.push({start:r,end:a,targetPx:c,naturalPx:o,charCount:s,perGapPx:l,trailingPadPx:u}),r=a}return n}function hf(e){return e<0n?-e:e}function gf(e,t){let n=hf(e),r=hf(t);for(;r!==0n;){let e=n%r;n=r,r=e}return n}function _f(e,t){if(t===0n)throw Error(`Exact rational denominator must be nonzero`);if(e===0n)return Object.freeze({numerator:0n,denominator:1n});let n=t<0n?-1n:1n,r=gf(e,t);return Object.freeze({numerator:n*e/r,denominator:n*t/r})}function Y(e,t){let n=e.numerator*t.denominator-t.numerator*e.denominator;return n<0n?-1:+(n>0n)}function vf(e,t){return _f(e.numerator*t.denominator-t.numerator*e.denominator,e.denominator*t.denominator)}function yf(e,t){return _f(e.numerator*t.denominator+t.numerator*e.denominator,2n*e.denominator*t.denominator)}function bf(e){return`${e.numerator}/${e.denominator}`}const xf=new DataView(new ArrayBuffer(8));function Sf(e){if(!Number.isFinite(e))throw Error(`Exact geometry requires a finite binary64 value`);if(e===0)return Object.freeze({coefficient:0n,exponent:0});xf.setFloat64(0,e,!1);let t=xf.getBigUint64(0,!1),n=t>>63n!=0n,r=Number(t>>52n&2047n),i=t&(1n<<52n)-1n,a=r===0?i:1n<<52n|i,o=r===0?-1074:r-1023-52;for(;(a&1n)==0n;)a>>=1n,o+=1;return Object.freeze({coefficient:n?-a:a,exponent:o})}function Cf(e){return e===0n?0:e.toString(2).length}function wf(e,t,n){let r=n>=0?e:e<<BigInt(-n),i=n>=0?t<<BigInt(n):t;return r<i?-1:+(r>i)}function Tf(e,t,n){let r=n>=0?e<<BigInt(n):e,i=n>=0?t:t<<BigInt(-n),a=r/i,o=r%i*2n;return(o>i||o===i&&(a&1n)!=0n)&&(a+=1n),a}function Ef(e){return xf.setBigUint64(0,e,!1),xf.getFloat64(0,!1)}function Df(e){if(e.numerator===0n)return 0;let t=e.numerator<0n,n=hf(e.numerator),r=e.denominator,i=Cf(n)-Cf(r);wf(n,r,i)<0&&--i;let a=t?1n<<63n:0n;if(i<-1022){let e=Tf(n,r,1074);return Ef(e===0n?a:e>=1n<<52n?a|1n<<52n:a|e)}let o=Tf(n,r,52-i);if(o===1n<<53n&&(o>>=1n,i+=1),i>1023)return t?-1/0:1/0;let s=BigInt(i+1023)<<52n,c=o-(1n<<52n);return Ef(a|s|c)}function Of(e){if(e===1/0)return e;if(Object.is(e,-0)||e===0)return Number.MIN_VALUE;xf.setFloat64(0,e,!1);let t=xf.getBigUint64(0,!1);return Ef(e>0?t+1n:t-1n)}function kf(e){let t=Df(e);if(t===1/0)return t;if(t===-1/0)return-Number.MAX_VALUE;let n=Sf(t);return Y(n.exponent>=0?{numerator:n.coefficient<<BigInt(n.exponent),denominator:1n}:{numerator:n.coefficient,denominator:1n<<BigInt(-n.exponent)},e)>=0?t:Of(t)}function Af(e){return-kf({numerator:-e.numerator,denominator:e.denominator})}function jf(e){if(!e.points||e.points.length<3||e.points.some(e=>!Number.isFinite(e.xPt)||!Number.isFinite(e.yPt)))throw Error(`Invalid ${e.kind} wrapPolygon for ${e.imageKey}`);if(![e.xLeftPt,e.xRightPt,e.yTopPt,e.yBottomPt].every(Number.isFinite)||e.xRightPt<e.xLeftPt||e.yBottomPt<e.yTopPt)throw Error(`Invalid finite wrap bounds for ${e.imageKey}`)}const Mf=new WeakMap;function Nf(e,t){return e.x===t.x&&e.y===t.y}function Pf(e,t,n,r){return e*r-t*n}function Ff(e,t){return t>0n?e>=0n&&e<=t:e<=0n&&e>=t}function If(e,t){let n=Nf(e.from,t.from)||Nf(e.from,t.to)?e.from:Nf(e.to,t.from)||Nf(e.to,t.to)?e.to:null;if(n)return Object.freeze({y:_f(n.y,1n),contact:`shared-endpoint`});let r=e.to.x-e.from.x,i=e.to.y-e.from.y,a=t.to.x-t.from.x,o=t.to.y-t.from.y,s=Pf(r,i,a,o);if(s===0n)return null;let c=t.from.x-e.from.x,l=t.from.y-e.from.y,u=Pf(c,l,a,o),d=Pf(c,l,r,i);return!Ff(u,s)||!Ff(d,s)?null:Object.freeze({y:_f(e.from.y*s+i*u,s),contact:i===0n||o===0n?`horizontal`:`active-crossing`})}function Lf(e,t){return`${e}:${t}`}function Rf(e,t,n){let r=new Set;for(let i of t){if(i<0||i>=Math.floor(e.length/2))continue;n();let t=e[i*2],a=e[i*2+1];r.add(Lf(t,a))}return r}function zf(e){let t=e=>{if(e.length===0)return null;let n=e[Math.floor(e.length/2)].yTopPt,r=[],i=[],a=[];for(let t of e)t.yBottomPt<=n?r.push(t):t.yTopPt>n?i.push(t):a.push(t);return Object.freeze({centerYPt:n,crossingByTop:Object.freeze(a),crossingByBottom:Object.freeze(a.slice().sort((e,t)=>t.yBottomPt-e.yBottomPt)),below:t(r),above:t(i)})};return t(e.slice().sort((e,t)=>e.yTopPt-t.yTopPt||e.yBottomPt-t.yBottomPt))}function Bf(e,t){return Df(t>=0?{numerator:e.numerator<<BigInt(t),denominator:e.denominator}:{numerator:e.numerator,denominator:e.denominator<<BigInt(-t)})}function Vf(e,t){return kf(t>=0?{numerator:e.numerator<<BigInt(t),denominator:e.denominator}:{numerator:e.numerator,denominator:e.denominator<<BigInt(-t)})}function Hf(e,t){let n=Sf(e),r=n.exponent-t;return r>=0?{numerator:n.coefficient<<BigInt(r),denominator:1n}:{numerator:n.coefficient,denominator:1n<<BigInt(-r)}}function Uf(e,t,n){let r=e.dx*n.numerator-e.c*n.denominator,i=t.dx*n.numerator-t.c*n.denominator,a=r*t.dy-i*e.dy;return a<0n?-1:+(a>0n)}function Wf(e){let t=e=>{if(e.length===0)return null;let n=e[Math.floor(e.length/2)].yTop,r=[],i=[],a=[];for(let t of e)Y(t.yBottom,n)<=0?r.push(t):Y(t.yTop,n)>0?i.push(t):a.push(t);return Object.freeze({centerY:n,crossingByTop:Object.freeze(a),crossingByBottom:Object.freeze(a.slice().sort((e,t)=>Y(t.yBottom,e.yBottom))),below:t(r),above:t(i)})};return t(e.slice().sort((e,t)=>Y(e.yTop,t.yTop)||Y(e.yBottom,t.yBottom)))}function Gf(e,t,n,r){if(!(!e||Y(n,t)<=0)){if(Y(n,e.centerY)<=0){for(let t of e.crossingByTop){if(Y(t.yTop,n)>=0)break;r.push(t)}Gf(e.below,t,n,r);return}if(Y(t,e.centerY)>=0){for(let n of e.crossingByBottom){if(Y(n.yBottom,t)<=0)break;r.push(n)}Gf(e.above,t,n,r);return}r.push(...e.crossingByTop),Gf(e.below,t,n,r),Gf(e.above,t,n,r)}}function Kf(e,t,n,r,i){let a=new Map,o=new Map;t.forEach((e,t)=>{if(e.minY===e.maxY)return;let n=bf(_f(e.minY,1n)),r=bf(_f(e.maxY,1n)),i=a.get(n);i?i.push(t):a.set(n,[t]);let s=o.get(r);s?s.push(t):o.set(r,[t])});let s=new Map;for(let e of i){if(e.contact!==`active-crossing`)continue;let t=bf(e.y),n=s.get(t);n||s.set(t,n=new Set),n.add(e.leftEdge),n.add(e.rightEdge)}let c=[],l=new Set,u=new Map,d=[],f=[],p=0,m=0,h=(t,n,i)=>{for(let a of t){if(n.has(a))continue;let t=u.get(a);if(t&&Y(i,t.yTop)>0){let n=Object.freeze({yTop:t.yTop,yBottom:i,leftEdge:t.leftEdge,rightEdge:t.rightEdge});d.push(n);let a=Bf(t.yTop,r),o=Bf(i,r);o>a&&f.push(Object.freeze({yTopPt:a,yBottomPt:o,left:e[t.leftEdge],right:e[t.rightEdge]}))}u.delete(a)}for(let e of n){if(t.has(e))continue;let n=e.indexOf(`:`);u.set(e,{leftEdge:Number(e.slice(0,n)),rightEdge:Number(e.slice(n+1)),yTop:i})}},g=new Map,_=(e,t)=>{e.add(Math.floor((t-1)/2)),e.add(Math.floor(t/2)),e.add(Math.floor((t+1)/2))},v=e=>Rf(c,e,()=>{m+=2}),y=()=>{let e=new Set;for(let t=0;t+1<c.length;t+=2)m+=2,e.add(Lf(c[t],c[t+1]));return e};for(let e=0;e<n.length;e+=1){let r=n[e],i=n[e+1],u=i?yf(r,i):r,d=(e,n)=>(p+=1,Uf(t[e],t[n],u)||e-n),f=e=>{let t=0,n=c.length;for(;t<n;){let r=t+n>>>1;d(c[r],e)<=0?t=r+1:n=r}c.splice(t,0,e);for(let e=t;e<c.length;e+=1)g.set(c[e],e)},m=e=>{let t=g.get(e);if(t!==void 0){c.splice(t,1),g.delete(e);for(let e=t;e<c.length;e+=1)g.set(c[e],e)}},b=e=>{let n=[...e].filter(e=>g.has(e)&&Y(_f(t[e].minY,1n),r)<=0&&Y(r,_f(t[e].maxY,1n))<0),i=n.map(e=>g.get(e)).sort((e,t)=>e-t);n.sort(d);for(let e=0;e<i.length;e+=1){let t=i[e],r=n[e];c[t]=r,g.set(r,t)}},x=bf(r),S=o.get(x)??[],C=a.get(x)??[],w=s.get(x)??l;if(S.length===0&&C.length===0&&(w.size===0||i===void 0))continue;let T=S.length>0||C.length>0,E=new Set;if(!T)for(let e of w){let t=g.get(e);t!==void 0&&_(E,t)}let D=T?y():v(E);for(let e of S)m(e);for(let e of C)f(e);if(w.size>0&&i!==void 0&&b(w),c.length%2!=0)throw Error(`Compiled wrapPolygon produced an odd open-slab crossing count`);if(T)h(D,y(),r);else{let e=new Set;for(let t of w){let n=g.get(t);n!==void 0&&_(e,n)}h(D,v(e),r)}}return Object.freeze({spans:Object.freeze(f),exactSpans:Object.freeze(d),orderComparisonCount:p,pairMembershipVisitCount:m})}function qf(e){jf(e);let t=e.points,n=Object.freeze(t.map(e=>Object.freeze({...e}))),r=[...n.flatMap(e=>[e.xPt,e.yPt]),e.xLeftPt,e.xRightPt,e.yTopPt,e.yBottomPt].map(Sf).filter(({coefficient:e})=>e!==0n),i=r.length===0?0:Math.min(...r.map(({exponent:e})=>e)),a=e=>{let t=Sf(e);return t.coefficient===0n?0n:t.coefficient<<BigInt(t.exponent-i)},o=n.map(e=>Object.freeze({x:a(e.xPt),y:a(e.yPt)})),s=n.map((e,t)=>{let r=n[(t+1)%n.length],i=r.yPt-e.yPt,a=i===0?0:(r.xPt-e.xPt)/i;return Object.freeze({from:e,to:r,minYPt:Math.min(e.yPt,r.yPt),maxYPt:Math.max(e.yPt,r.yPt),slopeXPerY:a,interceptX:i===0?e.xPt:e.xPt-a*e.yPt})}),c=o.map((e,t)=>{let n=o[(t+1)%o.length],r=e.y<=n.y?e:n,i=e.y<=n.y?n:e,a=i.x-r.x,s=i.y-r.y;return Object.freeze({index:t,from:e,to:n,minY:r.y,maxY:i.y,dx:a,dy:s,c:a*r.y-s*r.x})}),l=[];for(let e=0;e<c.length;e+=1)for(let t=e+1;t<c.length;t+=1){let n=If(c[e],c[t]);n&&l.push(Object.freeze({y:n.y,contact:n.contact,leftEdge:e,rightEdge:t}))}let u=1/0,d=-1/0,f=1/0,p=-1/0;for(let e of n)u=Math.min(u,e.xPt),d=Math.max(d,e.xPt),f=Math.min(f,e.yPt),p=Math.max(p,e.yPt);let m=new Map;for(let e of o){let t=_f(e.y,1n);m.set(bf(t),t)}for(let e of l)m.set(bf(e.y),e.y);let h=Object.freeze([...m.values()].sort(Y)),g=Object.freeze([...new Set(h.map(e=>Bf(e,i)))].sort((e,t)=>e-t)),_=Kf(s,c,h,i,l),v=_f(o.reduce((e,t)=>t.x<e?t.x:e,o[0].x),1n),y=_f(o.reduce((e,t)=>t.x>e?t.x:e,o[0].x),1n),b=_f(o.reduce((e,t)=>t.y<e?t.y:e,o[0].y),1n),x=_f(o.reduce((e,t)=>t.y>e?t.y:e,o[0].y),1n),S=_f(0n,1n),C=(e,t)=>{let n=vf(e,t);return Y(n,S)>0?n:S},w=Object.freeze({scaleExponent:i,edges:Object.freeze(c),eventYs:h,spans:_.exactSpans,spanIndex:Wf(_.exactSpans),polygonLeft:v,polygonRight:y,polygonTop:b,polygonBottom:x,padLeft:C(v,_f(a(e.xLeftPt),1n)),padRight:C(_f(a(e.xRightPt),1n),y),padTop:C(b,_f(a(e.yTopPt),1n)),padBottom:C(_f(a(e.yBottomPt),1n),x)}),T=Object.freeze({kind:e.kind,edges:Object.freeze(s),eventYPts:g,contourSpans:_.spans,contourSpanIndex:zf(_.spans),intersectionCount:l.length,compileOrderComparisonCount:_.orderComparisonCount,compilePairMembershipVisitCount:_.pairMembershipVisitCount,polygonLeftPt:u,polygonRightPt:d,polygonTopPt:f,polygonBottomPt:p,padLeftPt:Math.max(0,u-e.xLeftPt),padRightPt:Math.max(0,e.xRightPt-d),padTopPt:Math.max(0,f-e.yTopPt),padBottomPt:Math.max(0,e.yBottomPt-p)});return Mf.set(T,w),T}function Jf(e,t){return{numerator:e.dx*t.numerator-e.c*t.denominator,denominator:e.dy*t.denominator}}function Yf(e,t){return e.dx*t.dy===t.dx*e.dy&&e.c*t.dy===t.c*e.dy}function Xf(e){let t=e.filter(e=>Y(e.r,e.l)>0).slice().sort((e,t)=>Y(e.l,t.l)||Y(e.r,t.r)),n=[];for(let e of t){let t=n.at(-1);!t||Y(e.l,t.r)>0?n.push({...e}):Y(e.r,t.r)>0&&(n[n.length-1]={l:t.l,r:e.r})}return n}function Zf(e,t){return{numerator:e.numerator*t.denominator+t.numerator*e.denominator,denominator:e.denominator*t.denominator}}function Qf(e,t){return{numerator:e.numerator*t.denominator-t.numerator*e.denominator,denominator:e.denominator*t.denominator}}function $f(e,t,n){let r=Mf.get(e);if(!r)throw Error(`Compiled polygon omitted its exact geometry authority`);let i=Qf(t,r.padBottom),a=Zf(n,r.padTop),o=Y(r.polygonTop,i)>=0?r.polygonTop:i,s=Y(r.polygonBottom,a)<=0?r.polygonBottom:a;if(Y(s,o)<=0)return[];let c=[],l=[];Gf(r.spanIndex,o,s,l);for(let e of l){let t=Y(o,e.yTop)>=0?o:e.yTop,n=Y(s,e.yBottom)<=0?s:e.yBottom;if(Y(n,t)<=0)continue;let i=r.edges[e.leftEdge],a=r.edges[e.rightEdge];if(Yf(i,a))continue;let l=Jf(i,t),u=Jf(i,n),d=Jf(a,t),f=Jf(a,n);c.push({l:Qf(Y(l,u)<=0?l:u,r.padLeft),r:Zf(Y(d,f)>=0?d:f,r.padRight)})}let u=Xf(c);return e.kind===`through`||u.length===0?u:[{l:u[0].l,r:u.at(-1).r}]}function ep(e,t,n){let r=Mf.get(e);if(!r)throw Error(`Compiled polygon omitted its exact geometry authority`);let i=Hf(t,r.scaleExponent),a=Zf(i,Hf(n,r.scaleExponent)),o=e=>r.scaleExponent>=0?{numerator:e.numerator<<BigInt(r.scaleExponent),denominator:e.denominator}:{numerator:e.numerator,denominator:e.denominator<<BigInt(-r.scaleExponent)};return Object.freeze($f(e,i,a).map(e=>Object.freeze({l:o(e.l),r:o(e.r)})))}function tp(e,t){let n=Mf.get(e);if(!n)throw Error(`Compiled polygon omitted its exact geometry authority`);let r=Hf(t,n.scaleExponent),i=new Set;for(let e of n.eventYs)i.add(Vf(Zf(e,n.padBottom),n.scaleExponent)),i.add(Vf(Qf(Qf(e,r),n.padTop),n.scaleExponent));return Object.freeze([...i].filter(Number.isFinite).sort((e,t)=>e-t))}function np(e,t,n,r){let i=Mf.get(e);if(!i)throw Error(`Compiled polygon omitted its exact geometry authority`);let a=yf(Hf(n,i.scaleExponent),Hf(r,i.scaleExponent)),o=Hf(t,i.scaleExponent),s=Qf(a,i.padBottom),c=Zf(o,i.padTop),l=Zf(a,c),u=Y(i.polygonTop,s)>=0?i.polygonTop:s,d=Y(i.polygonBottom,l)<=0?i.polygonBottom:l,f=[],p=[];Gf(i.spanIndex,u,d,p);for(let e of p){let t=Y(u,e.yTop)>=0?u:e.yTop;if(Y(Y(d,e.yBottom)<=0?d:e.yBottom,t)<=0)continue;let n=i.edges[e.leftEdge],r=i.edges[e.rightEdge];if(Yf(n,r))continue;let a=Y(s,e.yTop)>0,o=Y(l,e.yBottom)<0,p=(e,t,n,r)=>{let a=t?n:r,o={numerator:e.dx*a.numerator-e.c*a.denominator,denominator:e.dy*a.denominator};return{slope:t?{numerator:e.dx,denominator:e.dy}:{numerator:0n,denominator:1n},intercept:i.scaleExponent>=0?{numerator:o.numerator<<BigInt(i.scaleExponent),denominator:o.denominator}:{numerator:o.numerator,denominator:o.denominator<<BigInt(-i.scaleExponent)}}},m=p(n,a,{numerator:-i.padBottom.numerator,denominator:i.padBottom.denominator},e.yTop),h=p(n,o,c,e.yBottom),g=p(r,a,{numerator:-i.padBottom.numerator,denominator:i.padBottom.denominator},e.yTop),_=p(r,o,c,e.yBottom),v=n.dx>=0n?m:h,y=r.dx>=0n?_:g,b=Object.freeze({left:Object.freeze({slope:v.slope,intercept:Qf(v.intercept,i.scaleExponent>=0?{numerator:i.padLeft.numerator<<BigInt(i.scaleExponent),denominator:i.padLeft.denominator}:{numerator:i.padLeft.numerator,denominator:i.padLeft.denominator<<BigInt(-i.scaleExponent)})}),right:Object.freeze({slope:y.slope,intercept:Zf(y.intercept,i.scaleExponent>=0?{numerator:i.padRight.numerator<<BigInt(i.scaleExponent),denominator:i.padRight.denominator}:{numerator:i.padRight.numerator,denominator:i.padRight.denominator<<BigInt(-i.scaleExponent)})})});f.push(b)}return Object.freeze(f)}function rp(e,t,n){return e.left<t.right-n&&e.right>t.left+n&&e.top<t.bottom-n&&e.bottom>t.top+n}function ip(e,t,n){let r=e.right-e.left,i=e.bottom-e.top;if(r<0||i<0)throw RangeError(`Overlap rectangle has negative extent`);let a=e.left,o=e.top;for(let e=0;e<=t.length;e+=1){let s={left:a,right:a+r,top:o,bottom:o+i},c=t.map(e=>({left:e.left,right:e.right,top:e.top,bottom:e.bottom})).filter(e=>rp(s,e,n.overlapEpsilon));if(c.length===0)return Object.freeze({left:a,top:o});if(e===t.length)throw Error(`Axis-aligned overlap resolution did not converge`);let l=Math.max(...c.map(e=>e.right));if(l+r<=n.rightBoundary+n.rightBoundarySlack){a=l;continue}o=Math.max(...c.map(e=>e.bottom))}throw Error(`Axis-aligned overlap resolution did not converge`)}function ap(e,t){if(e.trim()===``)throw Error(`CompatibilityRule.${t} must not be empty`)}function X(e){if(ap(e.id,`id`),ap(e.description,`description`),!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(e.id))throw Error(`CompatibilityRule.id must be a stable kebab-case identifier`);if(e.evidence.kind===`microsoft-note`){if(ap(e.evidence.reference,`evidence.reference`),!/^\\[MS-[A-Z0-9]+\\] §§?\\d/.test(e.evidence.reference))throw Error(`CompatibilityRule.evidence.reference must identify a Microsoft specification section`)}else if(e.evidence.kind===`regression-test`){if(ap(e.evidence.reference,`evidence.reference`),!/^packages\\/docx\\/src\\/.+\\.(?:test|spec)\\.tsx?#[^#]+$/.test(e.evidence.reference))throw Error(`CompatibilityRule.evidence.reference must use DOCX path#test-title`)}else if(ap(e.evidence.syntheticFixtureId,`evidence.syntheticFixtureId`),ap(e.evidence.application,`evidence.application`),ap(e.evidence.version,`evidence.version`),ap(e.evidence.platform,`evidence.platform`),!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(e.evidence.syntheticFixtureId))throw Error(`CompatibilityRule.evidence.syntheticFixtureId must be kebab-case`);return Object.freeze(e.evidence),Object.freeze(e)}X({id:`word-section-btlr-tbrl-page-frame`,evidence:{kind:`regression-test`,reference:`packages/docx/src/layout/coordinate-space.test.ts#maps Transitional text direction %s to %s`},description:`Issue #988 comment 4950296007 records that, unlike the normative ECMA-376 Part 4 §14.11.7 equivalence to lr, Word uses the tbRl page frame for section-level btLr; this rule covers only the page frame, while glyph orientation is paint-owned.`}),X({id:`word-square-line-start-one-inch`,evidence:{kind:`regression-test`,reference:`packages/docx/src/float-line-start-one-inch.test.ts#(e) the boundary is identical across scales (absolute pt width)`},description:`Issue #676 records that Word starts a content line beside a square-wrapped object only when the free side gap is at least one inch; tight and through polygon openings and empty paragraph marks are outside this rule.`});const op=X({id:`word-float-different-paragraph-displacement`,evidence:{kind:`regression-test`,reference:`packages/docx/src/layout/floats.test.ts#keeps observed different-paragraph displacement on exclusion bounds`},description:`Preserve the established Word-compatible policy that an overlap-permitted float is displaced by exclusion geometry from floats anchored in other paragraphs, while same-paragraph floats may overlap.`}),sp=X({id:`word-page-anchored-table-collision-deferral`,evidence:{kind:`regression-test`,reference:`packages/docx/src/float-table-page-fit.test.ts#(g) DEFERS a page-anchored floating table when its raw band intersects an existing table float`},description:`Preserve the established Word-compatible pagination behavior that defers an absolute page- or margin-anchored floating table when its authored object band intersects an existing floating-table text-exclusion band on the page.`});X({id:`word-empty-mark-float-side-gap`,evidence:{kind:`regression-test`,reference:`packages/docx/src/float-line-start-one-inch.test.ts#keeps an anchor-host metric-only line on the paragraph-mark threshold`},description:`An empty or anchor-only paragraph-mark line may start beside a square-wrapped object when the available side gap can hold the paragraph mark em; the one-inch content-line threshold does not apply.`});function cp(e){return 71.95*e}function lp(e,t){return e*t}const up=.01,dp=.5;function fp(e,t){return Object.freeze(e===`overlap`?{kind:`word-different-paragraph`,paragraphId:t}:{kind:`none`})}function pp(e,t){return Object.freeze(e?{kind:`word-different-paragraph`,paragraphId:t}:{kind:`drawingml-normative`})}function mp(e){let t={occurrenceId:e.occurrenceId,paragraphId:e.paragraphId,bounds:e.bounds,exclusionBounds:e.exclusionBounds};return e.kind===`table`?{...t,kind:`table`,tableOverlap:e.overlap}:{...t,kind:e.kind===`shape`?`drawingml`:`frame`}}function hp(e,t){let n=e.imageX,r=e.imageY,i=e.imageW,a=e.imageH,o=e.xLeft,s=e.xRight,c=e.yTop,l=e.yBottom,u={occurrenceId:e.anchorOccurrenceId??e.acquisitionOccurrenceId??`display-float:${t}`,paragraphId:e.paraId,bounds:{xPt:n,yPt:r,widthPt:i,heightPt:a},exclusionBounds:{xPt:o,yPt:c,widthPt:s-o,heightPt:l-c}};return e.kind===`table`?{...u,kind:`table`,tableOverlap:e.tableOverlap}:{...u,kind:e.kind===`shape`?`drawingml`:`frame`}}function gp(e){let t=e.xPt,n=e.yPt,r=e.widthPt,i=e.heightPt;return{left:t,right:t+r,top:n,bottom:n+i}}function _p(e,t,n){return t===0&&n===0?e:Object.freeze({xPt:e.xPt+t,yPt:e.yPt+n,widthPt:e.widthPt,heightPt:e.heightPt})}function vp(e,t,n,r){return Object.freeze({bounds:_p(e.bounds,t,n),exclusionBounds:_p(e.exclusionBounds,t,n),displacement:Object.freeze({xPt:t,yPt:n}),appliedCompatibilityRuleIds:Object.freeze([...r])})}function yp(e,t){let n=e.bounds.xPt-e.exclusionBounds.xPt,r=e.bounds.yPt-e.exclusionBounds.yPt,i=e.exclusionBounds.xPt+e.exclusionBounds.widthPt-e.bounds.xPt-e.bounds.widthPt,a=e.exclusionBounds.yPt+e.exclusionBounds.heightPt-e.bounds.yPt-e.bounds.heightPt,o=gp(t.exclusionBounds);return{left:o.left-i,right:o.right+n,top:o.top-a,bottom:o.bottom+r}}function bp(e,t,n=e.rightBoundaryPt){let r=gp(e.moving.bounds);return t.length===0?Object.freeze({left:r.left,top:r.top}):ip(r,t,{overlapEpsilon:e.overlapEpsilonPt??0,rightBoundary:n,rightBoundarySlack:e.rightBoundarySlackPt??0})}function xp(e){let{moving:t,avoidance:n}=e,r=e.blockers.flatMap(e=>t.kind===`table`&&e.kind===`table`&&(t.tableOverlap===`never`||e.tableOverlap===`never`)||n.kind===`drawingml-normative`&&e.kind===`drawingml`?[gp(e.bounds)]:[]),i=n.kind===`word-different-paragraph`?e.blockers.flatMap(e=>e.paragraphId===n.paragraphId?[]:[yp(t,e)]):[],a=t.exclusionBounds.xPt+t.exclusionBounds.widthPt-t.bounds.xPt-t.bounds.widthPt,o=n.kind===`word-different-paragraph`?e.rightBoundaryPt-a:e.rightBoundaryPt,s=bp(e,r,o),c=i.length===0?s:bp(e,[...r,...i],o);return vp(t,c.left-t.bounds.xPt,c.top-t.bounds.yPt,c.left!==s.left||c.top!==s.top?[op.id]:[])}function Sp(e){if(e.inlineEndPt<e.inlineStartPt||e.blockExtentPt<0)throw RangeError(`Block-flow admission received a negative extent`);let t=e.blockers.filter(t=>{let n=t.exclusionBounds;return t.kind===`table`&&e.inlineEndPt-n.xPt>e.overlapEpsilonPt&&n.xPt+n.widthPt-e.inlineStartPt>e.overlapEpsilonPt}),n=e.blockStartPt;for(let r=0;r<=t.length;r+=1){let i=t.filter(t=>{let r=t.exclusionBounds;return n+e.blockExtentPt-r.yPt>e.overlapEpsilonPt&&r.yPt+r.heightPt-n>e.overlapEpsilonPt});if(i.length===0)return Object.freeze({blockStartPt:n});if(r===t.length)throw Error(`Block-flow float admission did not converge`);n=Math.max(...i.map(e=>e.exclusionBounds.yPt+e.exclusionBounds.heightPt))}throw Error(`Block-flow float admission did not converge`)}function Cp(e){let t=gp(e.bounds),n=e.blockers.some(n=>n.kind===`table`&&rp(t,gp(n.exclusionBounds),e.overlapEpsilonPt));return Object.freeze({defer:n,appliedCompatibilityRuleIds:Object.freeze(n?[sp.id]:[])})}function Z(e){let t=Sf(e);return t.exponent>=0?{numerator:t.coefficient<<BigInt(t.exponent),denominator:1n}:{numerator:t.coefficient,denominator:1n<<BigInt(-t.exponent)}}function wp(e,t){return{numerator:e.numerator*t.denominator+t.numerator*e.denominator,denominator:e.denominator*t.denominator}}function Tp(e,t){return{numerator:e.numerator*t.denominator-t.numerator*e.denominator,denominator:e.denominator*t.denominator}}function Ep(e,t){return{numerator:e.numerator*t.numerator,denominator:e.denominator*t.denominator}}function Dp(e,t){let n=t.numerator<0n;return{numerator:(n?-e.numerator:e.numerator)*t.denominator,denominator:e.denominator*(n?-t.numerator:t.numerator)}}function Op(e,t){let n=Z(e),r=Z(t);return Df({numerator:n.numerator*r.denominator+r.numerator*n.denominator,denominator:2n*n.denominator*r.denominator})}function kp(e){switch(e){case`left`:case`right`:case`largest`:case`bothSides`:return e;default:return`bothSides`}}function Ap(e){return e===`square`||e===`topAndBottom`||e===`tight`||e===`through`}function jp(e,t,n){return e.xRight>t+.01&&e.xLeft<n-.01}const Mp=new WeakMap,Np=new WeakMap;function Pp(e){return Object.isFrozen(e)&&e.every(e=>Object.isFrozen(e))}function Fp(e,t,n,r,i,a){return e.kind===t&&Object.is(e.xLeftPt,n)&&Object.is(e.xRightPt,r)&&Object.is(e.yTopPt,i)&&Object.is(e.yBottomPt,a)}function Ip(e,t,n){let r=e.authoredWrap;if(r!==`tight`&&r!==`through`)throw Error(`Polygon compilation requires tight or through wrap`);let i={kind:r,imageKey:e.imageKey,points:e.wrapPolygon,xLeftPt:e.xLeft,xRightPt:e.xRight,yTopPt:e.yTop,yBottomPt:e.yBottom};jf(i);let a=Pp(t);if(a){let i=Np.get(t)?.find(t=>Fp(t,r,e.xLeft,e.xRight,e.yTop,e.yBottom));if(i)return n&&(n.polygonCacheHitCount+=1),i.compiled}n&&(n.polygonCompileCount+=1);let o=qf(i);if(a){let n=Object.freeze({kind:r,xLeftPt:e.xLeft,xRightPt:e.xRight,yTopPt:e.yTop,yBottomPt:e.yBottom,compiled:o});Np.set(t,Object.freeze([n,...(Np.get(t)??[]).slice(0,3)]))}return o}function Lp(e,t){let n=e.map(e=>{let n=e.wrapPolygon;t&&n&&(t.polygonSnapshotPointCount+=n.length);let r=Object.freeze({...e,...n?{wrapPolygon:Object.freeze(n.map(e=>Object.freeze({...e})))}:{}}),i=r.authoredWrap===`tight`||r.authoredWrap===`through`?Ip(r,n??[],t):null;return Object.freeze({rect:r,polygon:i,wrapMaximumLeftPt:i?Math.min(r.xLeft,i.polygonLeftPt):r.xLeft,wrapMaximumRightPt:i?Math.max(r.xRight,i.polygonRightPt):r.xRight})}),r=Object.freeze({floats:Object.freeze(n)});return Mp.set(r,new Map),r}function Rp(e,t){let n=kp(e.rect.side);if(n!==`largest`)return n;let r=Y(Tp(Z(e.wrapMaximumLeftPt),Z(t.xLeftPt)),Tp(Z(t.xRightPt),Z(e.wrapMaximumRightPt)));return r===0?t.readingDirection===`ltr`?`left`:`right`:r>0?`left`:`right`}function zp(e,t,n,r,i,a){let{rect:o,polygon:s}=e,c=s?ep(s,t,n):[{l:Z(o.xLeft),r:Z(o.xRight)}];if(c.length===0)return[];let l=s===null,u=c.reduce((e,t)=>Y(t.l,e)<0?t.l:e,c[0].l),d=c.reduce((e,t)=>Y(t.r,e)>0?t.r:e,c[0].r);switch(Rp(e,a)){case`left`:return[{l:u,r:Z(i),leftSquareBoundary:l,rightSquareBoundary:!1}];case`right`:return[{l:Z(r),r:d,leftSquareBoundary:!1,rightSquareBoundary:l}];case`bothSides`:return c.map(e=>({...e,leftSquareBoundary:l,rightSquareBoundary:l}))}}function Bp(e,t){let n=Mp.get(t);if(!n)throw Error(`Prepared float geometry omitted its sweep cache`);let r=n.get(e);if(r)return r;let i=new Set,a=e=>{Number.isFinite(e)&&i.add(e)};for(let{rect:n,polygon:r}of t.floats)if(a(kf(Tp(Z(n.yTop),Z(e)))),a(n.yBottom),r)for(let t of tp(r,e))a(t);let o=Object.freeze([...i].sort((e,t)=>e-t));return n.set(e,o),o}function Vp(e){let t=e.filter(e=>Y(e.r,e.l)>0).slice().sort((e,t)=>Y(e.l,t.l)||Y(e.r,t.r)),n=[];for(let e of t){let t=n.at(-1);if(!t||Y(e.l,t.r)>0){n.push({...e});continue}Y(e.l,t.l)===0&&(t.leftSquareBoundary=t.leftSquareBoundary&&e.leftSquareBoundary);let r=Y(e.r,t.r);r>0?(t.r=e.r,t.rightSquareBoundary=e.rightSquareBoundary):r===0&&(t.rightSquareBoundary=t.rightSquareBoundary&&e.rightSquareBoundary)}return n}function Hp(e,t,n,r,i){let a=Vp(e),o=Z(t),s=Z(n),c=[],l=(e,t,n)=>{let r=Y(o,e)>=0?o:e,i=Y(s,t)<=0?s:t;Y(i,r)>0&&c.push({l:r,r:i,squareConstrained:n})},u=o,d=!1;for(let e of a){if(Y(e.r,o)<=0){d=e.rightSquareBoundary;continue}if(Y(e.l,s)>=0){l(u,s,d),u=s;break}Y(e.l,u)>0&&l(u,e.l,d||e.leftSquareBoundary);let t=Y(e.r,u);if(t>0?(u=e.r,d=e.rightSquareBoundary):t===0&&(d&&=e.rightSquareBoundary),Y(u,s)>=0)break}Y(u,s)<0&&l(u,s,d);let f={numerator:0n,denominator:1n};for(let e of c){let t=Tp(e.r,e.l);Y(t,f)>0&&(f=t)}for(let e of c){let t=Tp(e.r,e.l);if(Y(t,f)===0&&Y(t,Z(Math.max(1,e.squareConstrained?i:r)))>=0)return{l:e.l,r:e.r,squareConstrained:e.squareConstrained}}return null}function Up(e,t,n,r,i,a,o,s,c,l,u){let d=Z(e),f=wp(d,Z(t)),p=e=>Z(e);if(a.floats.some(({rect:e})=>e.mode===`topAndBottom`&&jp(e,o,s)&&Y(f,p(e.yTop))>0&&Y(d,p(e.yBottom))<0))return null;let m=[];for(let i of a.floats){let{rect:a}=i;if(a.mode!==`square`||Y(f,p(a.yTop))<=0||Y(d,p(a.yBottom))>=0||!jp(a,n,r))continue;let o=zp(i,e,t,n,r,c);o.length!==0&&m.push(...o)}if(m.length===0)return{topY:e,xOffset:0,maxWidth:i};let h=Hp(m,n,r,l,u);if(!h)return null;let g={numerator:0n,denominator:1n},_=Tp(h.l,Z(n)),v=Y(_,g)>0?_:g,y=Z(n),b=kf(v),x=n+b,S=Z(x);if(Y(S,h.l)<0&&(b=kf(Tp(Z(kf(h.l)),y)),x=n+b,S=Z(x)),Y(S,h.l)<0)throw Error(`Exact float window could not represent a contained start`);let C=Z(r),w=Y(h.r,C)<=0?h.r:C,T=Tp(Z(Af(w)),S),E=Af(Y(T,g)>0?T:g);if(Y(Z(x+E),w)>0)throw Error(`Exact float window could not represent a contained end`);return{topY:e,xOffset:b,maxWidth:E}}function Wp(e,t){return wp(Ep(e.exact.slope,Z(t)),e.exact.intercept)}function Gp(e,t){return Y(e.exact.slope,t.exact.slope)===0&&Y(e.exact.intercept,t.exact.intercept)===0}function Kp(e,t,n){return Y(Wp(e,n),Wp(t,n))||Y(e.exact.slope,t.exact.slope)}function qp(e,t,n){let r=Tp(e.slope,t.slope);if(r.numerator===0n)return null;let i=Tp(e.intercept,t.intercept);return Dp(Tp(Z(n),i),r)}function Jp(e,t,n,r,i){t===null||Y(t,Z(n))<=0||Y(t,Z(r))>=0||(e.push(kf(t)),i&&(i.localRootCandidateCount+=1))}function Yp(e,t,n,r,i,a){let o=e[0];for(let r of e.slice(1)){let e=Kp(r,o,n);(t===`min`&&e<0||t===`max`&&e>0)&&(o=r)}let s=o.square;for(let c of e)if(c!==o){if(Gp(c,o)){s&&=c.square;continue}(t===`min`?Y(c.exact.slope,o.exact.slope)<0:Y(c.exact.slope,o.exact.slope)>0)&&Jp(i,qp(c.exact,o.exact,0),n,r,a)}return{exact:o.exact,square:s}}function Xp(e,t=!1){return{exact:{slope:{numerator:0n,denominator:1n},intercept:Z(e)},square:t}}function Zp(e,t,n,r,i,a,o,s,c){let{rect:l,polygon:u}=e,d=Z(Op(n,r));if(Y(wp(d,Z(t)),Z(l.yTop))<=0||Y(d,Z(l.yBottom))>=0)return[];let f=u?np(u,t,n,r).map(e=>({left:{exact:e.left,square:!1},right:{exact:e.right,square:!1}})):[{left:Xp(l.xLeft,!0),right:Xp(l.xRight,!0)}];if(f.length===0)return[];let p=Yp(f.map(e=>e.left),`min`,n,r,s,c),m=Yp(f.map(e=>e.right),`max`,n,r,s,c);switch(u?.kind===`tight`&&(f=[{left:p,right:m}]),Rp(e,o)){case`left`:return[{left:p,right:Xp(a)}];case`right`:return[{left:Xp(i),right:m}];case`bothSides`:return f}}function Qp(e,t,n,r,i){let a=e.slice().sort((e,n)=>Kp(e.left,n.left,t)||Kp(e.right,n.right,t));for(let e=0;e+1<a.length;e+=1)Jp(r,qp(a[e].left.exact,a[e+1].left.exact,0),t,n,i);let o=[];for(let e of a){let a=o.at(-1);if(!a){o.push(e);continue}if(Jp(r,qp(e.left.exact,a.right.exact,0),t,n,i),Kp(e.left,a.right,t)>0){o.push(e);continue}let s=Yp([a.right,e.right],`max`,t,n,r,i),c=Gp(a.left,e.left)?{exact:a.left.exact,square:a.left.square&&e.left.square}:a.left;o[o.length-1]={left:c,right:s}}return o}function $p(e,t,n,r,i,a,o,s,c,l,u,d){let f=Z(Op(e,t)),p=wp(f,Z(n));if(a.floats.some(({rect:e})=>e.mode===`topAndBottom`&&jp(e,o,s)&&Y(p,Z(e.yTop))>0&&Y(f,Z(e.yBottom))<0))return null;let m=[],h=[];for(let o of a.floats){let{rect:a}=o;a.mode===`square`&&jp(a,r,i)&&h.push(...Zp(o,n,e,t,r,i,c,m,d))}if(h.length===0)return null;let g=Qp(h,e,t,m,d),_=Xp(r),v=Xp(i),y=[],b=(n,r,i)=>{let a={slope:Tp(r.exact.slope,n.exact.slope),intercept:Tp(r.exact.intercept,n.exact.intercept)};y.push({exactWidth:a});let o=Math.max(1,i?u:l);Y(wp(Ep(a.slope,Z(e)),a.intercept),Z(o))<0&&a.slope.numerator>0n&&Jp(m,qp(r.exact,n.exact,o),e,t,d)},x=_;for(let e of g)b(x,e.left,x.square||e.left.square),x=e.right;b(x,v,x.square);let S=y[0];for(let t of y.slice(1))(Y(wp(Ep(t.exactWidth.slope,Z(e)),t.exactWidth.intercept),wp(Ep(S.exactWidth.slope,Z(e)),S.exactWidth.intercept))||Y(t.exactWidth.slope,S.exactWidth.slope))>0&&(S=t);if(S)for(let n of y)n===S||Y(n.exactWidth.slope,S.exactWidth.slope)<=0||Jp(m,qp(n.exactWidth,S.exactWidth,0),e,t,d);return m.length===0?null:Math.min(...m)}function em(e,t,n,r,i,a,o=r,s=r+i,c={xLeftPt:r,xRightPt:r+i,readingDirection:`ltr`},l=t,u=null){let d=r,f=r+i,p=Bp(n,a);if(u){u.structuralEventCount=p.length;for(let{polygon:e}of a.floats)e&&(u.compiledIntersectionCount+=e.intersectionCount,u.compiledContourSpanCount+=e.contourSpans.length,u.compileOrderComparisonCount+=e.compileOrderComparisonCount,u.compilePairMembershipVisitCount+=e.compilePairMembershipVisitCount)}let m=e=>(u&&(u.evaluatedYCount+=1),Up(e,n,d,f,i,a,o,s,c,t,l)),h=m(e);if(h)return h;let g=e,_=p.findIndex(e=>e>g);for(;_>=0&&_<p.length;){let e=p[_],r=$p(g,e,n,d,f,a,o,s,c,t,l,u);if(r!==null){u&&(u.localRootEventCount+=1);let e=m(r);if(e)return e;g=r;continue}let i=m(e);if(i)return i;g=e;do _+=1;while(_<p.length&&p[_]<=g)}throw Error(`Finite float line-window event sweep found no usable terminal Y`)}function tm(e,t,n,r,i,a,o=r,s=r+i,c={xLeftPt:r,xRightPt:r+i,readingDirection:`ltr`},l=t){return em(e,t,n,r,i,a,o,s,c,l)}function nm(e,t,n,r){let i=new Set;for(;;){let a=e;for(let i of t)i.mode===`topAndBottom`&&jp(i,n,r)&&e>=i.yTop&&e<i.yBottom&&(a=Math.max(a,i.yBottom));if(a===e)return e;if(!Number.isFinite(a)||a<e||i.has(a))throw Error(`Top-and-bottom solver violated strictly increasing finite-bottom progress`);i.add(a),e=a}}const rm=new Set([`+`,`-`,`−`,`=`,`±`,`×`,`÷`]);function im(e){return rm.has(e)?` ${e} `:e}function am(e){return e.map(e=>{switch(e.kind){case`run`:return im(e.text);case`fraction`:return`${am(e.num)}/${am(e.den)}`;case`sup`:return`${am(e.base)}^${am(e.sup??[])}`;case`sub`:return`${am(e.base)}_${am(e.sub??[])}`;case`subSup`:return`${am(e.base)}_${am(e.sub??[])}^${am(e.sup??[])}`;case`nary`:return`${e.op}${am(e.sub??[])}${am(e.sup??[])}${am(e.body)}`;case`delimiter`:return`${e.begChar}${e.items.map(am).join(`,`)}${e.endChar}`;case`radical`:return`${e.index?.length?am(e.index):``}√${am(e.radicand)}`;case`limit`:return`${am(e.base)}${am(e.lower??[])}${am(e.upper??[])}`;case`array`:return e.rows.map(e=>e.map(am).join(` `)).join(` `);case`groupChr`:return`${e.char}${am(e.base)}`;case`bar`:case`box`:case`borderBox`:return am(e.base);case`accent`:return`${e.char}${am(e.base)}`;case`func`:return`${am(e.name)}(${am(e.arg)})`;case`group`:return am(e.items);case`phant`:return e.show?am(e.base):``;case`sPre`:return`${am(e.sub)}${am(e.sup)}${am(e.base)}`}}).join(``).replace(/[ \\t]{2,}/g,` `)}var om=class extends J{reason;states;passes;constructor(e,t,n){super(`NON_CONVERGENCE`,e===`cycle`?`repeated exact-state cycle at ${t.at(-1)??`<missing>`}`:`hard exact-state pass limit ${n} reached`),this.name=`ExactConvergenceError`,this.reason=e,this.states=Object.freeze([...t]),this.passes=n}};function sm(e){let{seedState:t,step:n,stateOf:r,limit:i}=e,a=t===void 0?2:1;if(!Number.isInteger(i)||i<a)throw RangeError(`Exact convergence limit must be an integer >= ${a}`);let o=t===void 0?[]:[t],s=new Set(o),c=null;for(let e=1;e<=i;e+=1){let t=n(c,e),a=r(t),l=o.at(-1);if(o.push(a),l===a)return Object.freeze({value:t,passes:e});if(s.has(a))throw new om(`cycle`,o,e);if(s.add(a),e===i)throw new om(`limit`,o,e);c=t}throw new om(`limit`,o,i)}function cm(e,t,n){if(!Number.isInteger(n)||n<1)throw new J(`NON_CONVERGENCE`,`limit must be a positive integer`);try{return sm({seedState:e.fingerprint,step:n=>t(n??e),stateOf:e=>e.fingerprint,limit:n}).value}catch(e){throw e instanceof om?new J(`NON_CONVERGENCE`,e.reason===`cycle`?`repeated geometry fingerprint cycle at ${e.states.at(-1)??`<missing>`}`:`hard iteration limit ${n} reached`):e}}var lm=class extends J{reason;states;constructor(e,t){super(`NON_CONVERGENCE`,e===`cycle`?`line wrap measure/resolve cycle did not converge (${t.length} states)`:`line wrap measure/resolve pass limit did not converge (${t.length} states)`),this.name=`LineWrapNonConvergenceError`,this.reason=e,this.states=Object.freeze([...t])}};function um(e){return e.map(e=>({...e}))}function dm(e,t){return JSON.stringify(e.map((e,n)=>({end:e.consumedEnd,topY:e.topY,xOffset:e.xOffset,availableWidth:e.availWidth,probeHeight:t[n],segments:e.segments.map(e=>({source:e.src,...e.text===void 0?{}:{text:e.text}}))})))}function fm(e,t){try{return sm({step:n=>{let r=e(n?.probeHeights??null),i=Object.freeze(r.map(t));return Object.freeze({lines:r,probeHeights:i,state:dm(r,i)})},stateOf:e=>e.state,limit:16}).value.lines}catch(e){throw e instanceof om?new lm(e.reason,e.states):e}}X({id:`word-east-asian-grid-line-allocation`,evidence:{kind:`regression-test`,reference:`packages/docx/src/layout/compatibility.test.ts#pins East Asian grid allocation and the untabled Far East metric factor`},description:`For an East Asian single-spaced line on a document grid, preserve the measured whole-cell allocation from the intended face design height and use the established 1.3-times-em fallback only when that design height is unavailable.`}),X({id:`word-table-cell-ignores-grid-right-indent-adjustment`,evidence:{kind:`office-observation`,syntheticFixtureId:`table-cell-adjust-right-indent-width-position-matrix`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`In the observed linesAndChars matrix, paragraphs inside fixed-width table cells retain the same line breaks for omitted (default true) and explicit-false w:adjustRightInd across four boundary widths and both left/right cell positions. Scope this Word-only exception to table-cell containers; ordinary body paragraphs retain the ECMA-376 §17.3.1.1 adjustment.`}),X({id:`word-snap-to-chars-east-asian-cell-fit`,evidence:{kind:`office-observation`,syntheticFixtureId:`snap-to-chars-east-asian-cell-fit-matrix`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`For snapToChars, Word centers each East-Asian grapheme independently in the smallest whole number of character-pitch units that contains its natural advance. A grapheme that fits uses the one-unit placement described by [MS-OI29500] §2.1.534; an undersized authored pitch expands only that grapheme to additional units.`}),X({id:`word-snap-to-chars-script-block-allocation`,evidence:{kind:`microsoft-note`,reference:`[MS-OI29500] §2.1.534`},description:`Allocate snapToChars Latin text in contiguous blocks centered across the required grid units, complex-script blocks from their leading edge, and East-Asian graphemes independently by character cell.`});function pm(e,t){return!(t>0)||!Number.isFinite(e)?1:Math.max(1,Math.ceil(Math.max(0,e)/t-1e-9))}function mm(e){return!e}X({id:`word-grid-right-indent-pitch-alignment`,evidence:{kind:`office-observation`,syntheticFixtureId:`grid-right-indent-character-pitch-boundary-matrix`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`For body paragraphs whose ECMA-376 §17.3.1.1 adjustment is enabled on a linesAndChars character grid, Word reduces the physical line width to the greatest whole character-pitch multiple not exceeding the available width. The observed matrix covers exact and non-exact widths, zero and negative charSpace, explicit opt-out, line-only control, both physical indent sides, and the separately registered table-cell exception.`});function hm(e,t){if(!(t>0)||!Number.isFinite(e)||e<=0)return 0;let n=(e%t+t)%t,r=1e-9;return n<=r||t-n<=r?0:n}X({id:`word-hanging-tab-same-position-precedence`,evidence:{kind:`office-observation`,syntheticFixtureId:`hanging-indent-authored-tab-collision-matrix`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`When the implicit tab created by a hanging indent shares its coordinate with an authored center, end, or start stop, Word resolves one advancing stop at that coordinate using the authored alignment. An authored bar remains an independent drawing rule, so the implicit advancing stop survives beside it. If center/end alignment would place following text before the current pen, the tab contributes zero advance.`});function gm(e){return e!==`bar`&&e!==`clear`}X({id:`word-rtl-decimal-tab-physical-alignment`,evidence:{kind:`office-observation`,syntheticFixtureId:`rtl-decimal-tab-run-boundary-matrix`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`For LTR numeric cells embedded in a bidi paragraph, Word aligns the physical left edge of the first halfwidth period to the decimal stop across source-run boundaries. When no period exists, it aligns the numeric cell's physical right edge to the stop.`}),X({id:`word-decimal-tab-separator-resolution`,evidence:{kind:`microsoft-note`,reference:`[MS-OI29500] §2.1.556`},description:`Use the first explicit halfwidth period as the decimal-tab alignment point; when absent, use the implicit separator after the final digit of the first Unicode decimal-number sequence.`}),X({id:`word-use-fe-layout-inherited-grid-minimum`,evidence:{kind:`office-observation`,syntheticFixtureId:`use-fe-layout-visible-script-grid-matrix`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`With useFELayout enabled, a visible Latin line with a resolved eastAsia font axis participates in Far East grid metrics even when w:rFonts@hint is absent; inherited automatic spacing keeps the larger of its whole-cell design allocation and one grid pitch multiplied by the inherited spacing value.`}),X({id:`word-use-fe-layout-empty-mark-grid-allocation`,evidence:{kind:`office-observation`,syntheticFixtureId:`use-fe-layout-empty-mark-grid-matrix`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`With useFELayout enabled, a content-less paragraph mark participates in Far East whole-cell document-grid allocation even when the document contains no literal East Asian text. Its face-specific Far East design height governs the cell count; exact spacing and snapToGrid=false remain the document-grid overrides named by ECMA-376 §17.6.5. Observed Word output gives signed atLeast spacing a discontinuous boundary on an active grid: negative values use their absolute magnitude as the mark advance, zero keeps the ordinary atLeast-zero advance regardless of inheritance source, and positive values retain whole-cell allocation.`});function _m(e){let{ordinaryAdvancePx:t,allocatedGridAdvancePx:n,atLeastZeroAdvancePx:r,lineSpacing:i,gridAllocationActive:a,scale:o}=e;return a?i?.rule===`atLeast`&&i.value<0?Math.abs(i.value)*o:i?.rule===`atLeast`&&i.value===0?r:i?.rule===`exact`?t:Math.max(t,n):t}X({id:`word-contiguous-underline-geometry`,evidence:{kind:`regression-test`,reference:`packages/docx/src/layout/paragraph.test.ts#uses one safe baseline for a solid underline spanning adjacent source runs`},description:`Adjacent compatible underlined source runs share one safe baseline and continuous authored cadence while style, color, and thickness boundaries remain distinct.`}),X({id:`word-grid-at-least-tall-line-unsnapped`,evidence:{kind:`regression-test`,reference:`packages/docx/src/line-box-height.test.ts#does not round tall East Asian content up to an additional grid cell`},description:`An explicitly authored atLeast line on an active document grid keeps the maximum of its natural height, authored minimum, and one pitch instead of rounding tall content to another whole cell.`}),X({id:`word-degenerate-line-spacing-single`,evidence:{kind:`microsoft-note`,reference:`[MS-DOC] §2.9.146`},description:`Preserve a non-collapsing single-line fallback for exact or automatic line spacing at or below zero, consistent with the native LSPD representation.`}),X({id:`word-auto-multiple-baseline-pin`,evidence:{kind:`office-observation`,syntheticFixtureId:`auto-multiple-baseline-pin`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`Paint a positive automatic line-spacing multiplier with its glyph baseline pinned inside the single design line, placing extra leading or compressed overflow toward block-end; this is draw-only and does not replace the centered trailing-mark pagination metric.`}),X({id:`word-mixed-anchor-visible-line-metrics`,evidence:{kind:`regression-test`,reference:`packages/docx/src/anchor-host-metrics.test.ts#reserves host line height without using its zero-ink box for a visible run baseline`},description:`A zero-ink drawing anchor host reserves its line and grid height while visible neighboring glyphs retain their own ascent, descent, and design-line baseline.`}),X({id:`word-justification-leading-indent-exclusion`,evidence:{kind:`regression-test`,reference:`packages/docx/src/text-distribute.test.ts#forwards (segs, slack, firstContentSi, lastDrawnSi) positionally`},description:`Keep leading whitespace used as a first-line text indent fixed while distributing justified-line slack across content in a left-to-right line.`}),X({id:`word-justified-candidate-separator-fit`,evidence:{kind:`regression-test`,reference:`packages/docx/src/justify-shrink-overshoot.test.ts#counts a candidate trailing space when the prospective line will justify`},description:`On a full paragraph-width line that will be fully justified, include the candidate word separator in its wrap-fit width; lines narrowed by DrawingML wrap exclusions retain collapsible line-end separator fit behavior.`}),X({id:`word-overflow-punctuation-language-sets`,evidence:{kind:`microsoft-note`,reference:`[MS-OE376] §2.1.56`},description:`Apply the language-specific punctuation sets documented for Word in [MS-OE376] §2.1.56, and let overflowPunct override kinsoku when both rules affect the same character.`}),X({id:`word-full-width-character-spacing-scope`,evidence:{kind:`microsoft-note`,reference:`[MS-OE376] §2.1.562`},description:`Interpret ST_CharacterSpacing as applying whitespace compression to full-width punctuation characters. This rule establishes only which characters are eligible; it does not define a universal compression amount.`}),X({id:`word-japanese-punctuation-compression-cell`,evidence:{kind:`office-observation`,syntheticFixtureId:`japanese-fullwidth-punctuation-compression-cell`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`In the observed Japanese compatibility matrix, 、。 ,. and the closing forms 」』】)]} on a full ideographic-cell advance retain at least half of that cell. U+3017 and full-width !/? remain full-cell. A fontTable w:pitch value classifies the authored face for font selection; it is not a switch for document-level characterSpacingControl. Punctuation that the selected face already exposes on a smaller proportional advance is retained as measured rather than compressed a second time. Tight adjacent glyph ink can require a larger retained extent to prevent collision. This is an Office-observed compression amount, not a normative interpretation of ST_CharacterSpacing.`}),X({id:`word-authored-character-spacing-pitch-priority`,evidence:{kind:`office-observation`,syntheticFixtureId:`authored-character-spacing-punctuation-pitch`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`When a run authors a positive w:spacing character pitch, Word preserves that expanded pitch instead of additionally applying the document-level punctuation whitespace compression. Omitted, zero, or overlapping run spacing leaves characterSpacingControl active.`}),X({id:`word-source-run-space-sequence`,evidence:{kind:`office-observation`,syntheticFixtureId:`source-run-space-sequence-wrap-matrix`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`At a source-run boundary, Word keeps a space-only continuation attached when the preceding run already ends in a space. A single leading space in a distinct run without a preceding space remains a break opportunity. This isolates source-boundary compatibility from the ordinary UAX #14 LB7 handling within one authored run.`}),X({id:`word-consecutive-space-natural-advance`,evidence:{kind:`office-observation`,syntheticFixtureId:`consecutive-space-wrap-grid-matrix`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`When visible text follows two or more authored consecutive spaces, Word preserves the sequence at natural advance instead of using it as Knuth-Plass inter-word shrink capacity. The result is invariant across linesAndChars with negative/zero charSpace and a line-only grid; source-run boundaries remain governed separately by the source-space-sequence rule.`}),X({id:`word-balanced-consecutive-space-cell`,evidence:{kind:`office-observation`,syntheticFixtureId:`single-double-byte-width-space-grid-matrix`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`With ECMA-376 §17.15.3.3 balanceSingleByteDoubleByteWidth enabled, Word retains one ordinary inter-word U+0020 at its proportional natural advance, while a sequence of two or more authored U+0020 spaces advances each space by half of the selected East-Asian ideographic cell. The observed matrix covers one, two, four, and eight spaces; same-run and source-run boundaries; proportional and fixed-pitch faces; linesAndChars with negative/zero charSpace; and a line-only grid.`});function vm(e){return Number.isInteger(e)&&e>=2}function ym(e){return e!==`snapToChars`}X({id:`word-balanced-lines-and-chars-grid-delta`,evidence:{kind:`office-observation`,syntheticFixtureId:`single-double-byte-width-grid-observation-matrix`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`With balanceSingleByteDoubleByteWidth enabled on linesAndChars, Word applies half of the authored charSpace delta to ASCII SBCS text and to U+0020/U+3000 space characters, while applying the full delta to CJK ideographs and full-width ASCII forms. The Word-output evidence covers ASCII digits, letters, punctuation, spaces, CJK, full-width ASCII, mixed text, proportional/fixed-pitch faces, negative/zero/positive charSpace, and line-only controls. Non-ASCII high-ANSI and complex-script text are outside the observed matrix and retain the preexisting grid behavior.`});function bm(e,t){if(t!==`complexScript`)return e.length>0&&[...e].every(e=>e===` `||e===` `)?.5:t===`eastAsia`?1:[...e].every(e=>(e.codePointAt(0)??128)<=127)?.5:void 0}X({id:`word-ms-mincho-empty-east-asian-mark-height`,evidence:{kind:`office-observation`,syntheticFixtureId:`ms-mincho-empty-east-asian-paragraph-mark`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`In the observed compatibility fixture, an empty 12-point East-Asian paragraph mark routed to MS Mincho occupies a 15.6-point single-line box. Scope this 1.3-em floor to empty East-Asian paragraph marks; ordinary MS Mincho text lines and Latin marks retain their independently measured metrics.`});function xm(e){let t=Math.max(0,e.punctuationAdvancePt),n=Math.max(0,e.ideographicCellAdvancePt);return t<n?t:Math.min(t,Math.max(0,e.punctuationInkEndPt,n/2))}function Sm(e){return e===void 0||e<=0}function Cm(e,t){return e.endsWith(` `)&&t.startsWith(` `)}const wm={ja:new Set([...`,.’”、。」』】),.]}。、`]),zhHans:new Set([...`!%),.:;>?]}¢°·ˇ’”‰′″℃∶、。〃〉》」』】〗〕〞﹚﹜﹞!"%'),.:;?]}¢`]),zhHant:new Set([...`!),.:;?]}’”′、。〉》」』】〕〞﹚﹜﹞!),.:;?]}`]),ko:new Set([...`!%),.:;?]}¢°’”′″℃〉》」』】〕!%),.:;?]}¢`])},Tm=new Set([...wm.ja,...wm.zhHans,...wm.zhHant,...wm.ko]);function Em(e,t){let n=t?.toLowerCase();return n?.startsWith(`ja`)?wm.ja.has(e):n?.startsWith(`ko`)?wm.ko.has(e):n?.startsWith(`zh`)?(/(?:^|-)(?:tw|hk|mo)(?:-|$)|hant/u.test(n)?wm.zhHant:wm.zhHans).has(e):Tm.has(e)}function Dm(e){return e.lineWillJustify&&e.wrapNarrowed!==!0?e.widthPx:e.widthPx-e.trailingSpacePx}function Om(e){return e.resolvedMeasurementRouteCount===1?e.biasBudgetPx:0}X({id:`word-ruby-paragraph-uniform-line-advance`,evidence:{kind:`regression-test`,reference:`packages/docx/src/paragraph-measure.test.ts#uses one uniform snapped advance for every line in a ruby paragraph`},description:`Every line in a ruby-bearing paragraph uses the paragraph-wide maximum snapped line advance so its baseline rhythm remains uniform.`}),X({id:`word-fit-text-inter-character-expansion`,evidence:{kind:`regression-test`,reference:`packages/docx/src/fit-text.test.ts#distributes (val − Σnatural)/(n−1) as the inter-character gap, no trailing gap`},description:`Expand a multi-character fitText region to its authored width by distributing the residual evenly across interior character gaps.`}),X({id:`word-cjk-both-inter-character-expansion`,evidence:{kind:`regression-test`,reference:`packages/docx/src/text-distribute.test.ts#§17.18.44: fills a wrapped pure-CJK line via inter-CJK pitch (expansion default)`},description:`Treat inter-CJK boundaries as eligible inter-word gaps when expanding a non-final both-justified line that contains no spaces.`}),X({id:`word-thai-distribute-cluster-policy`,evidence:{kind:`regression-test`,reference:`packages/docx/src/thai-distribute.test.ts#fills non-final lines to the right margin under thaiDistribute`},description:`Expand non-final thaiDistribute lines at Thai grapheme-cluster boundaries while retaining a natural-width final line.`}),X({id:`word-numeric-decimal-tab-inference`,evidence:{kind:`regression-test`,reference:`packages/docx/src/decimal-tab-autoalign.test.ts#right-aligns numbers of different digit counts at the decimal tab`},description:`Right-align an otherwise tab-less numeric paragraph at its leading decimal tab while leaving non-numeric and no-decimal-tab paragraphs unchanged.`}),X({id:`word-numbering-marker-overflow-tab-advance`,evidence:{kind:`regression-test`,reference:`packages/docx/src/numbered-marker-tab-advance.test.ts#advances the body past the marker to the next tab stop, not onto indentLeft`},description:`When a numbering marker overruns its hanging-indent budget, advance the body to the next reachable tab stop beyond the marker edge.`}),X({id:`word-numbering-suffix-coincident-list-tab`,evidence:{kind:`regression-test`,reference:`packages/docx/src/layout/numbering-marker.test.ts#keeps a suffix tab on the list stop coincident with the marker end`},description:`For the tab synthesized by a numbering suffix, accept an authored numeric list tab coincident with the shaped marker end instead of advancing to the next automatic tab stop.`}),X({id:`word-numbering-marker-paragraph-mark-fallback`,evidence:{kind:`office-observation`,syntheticFixtureId:`numbering-marker-paragraph-mark-formatting`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`When numbering-level rPr omits a marker formatting axis, Word takes that axis from the effective paragraph-mark rPr rather than a content run. A numbering-level concrete value or explicit auto remains authoritative, and body and text-box stories use the same cascade.`});function km(e,t){return t.alignment===`num`&&Math.abs(t.pos-e)<=1e-6}X({id:`word-tab-stop-page-edge-clamp`,evidence:{kind:`regression-test`,reference:`packages/docx/src/rtl-tab-stops.test.ts#pins a page number to the left text margin when the stop is past it`},description:`Clamp content assigned to a tab stop beyond the trailing text edge back onto that edge instead of placing ink outside the page content band.`}),X({id:`word-dictionary-sea-natural-fit`,evidence:{kind:`regression-test`,reference:`packages/docx/src/sea-justified-fit.test.ts#Rule 1: wraps the paragraph-final Thai word on a thaiDistribute closing line (zero space-shrink)`},description:`Do not admit a dictionary Southeast-Asian word by compressing preceding inter-word spaces when its natural advance exceeds the remaining line width.`}),X({id:`word-dictionary-sea-atomic-chunk`,evidence:{kind:`regression-test`,reference:`packages/docx/src/sea-justified-fit.test.ts#Rule 2: a no-space chunk that fits a full line moves whole instead of splitting`},description:`Move a glued dictionary Southeast-Asian chunk to a fresh line whole when it fits that full line, using dictionary breaks only when the chunk itself is overlong.`}),X({id:`word-overlong-token-emergency-break`,evidence:{kind:`regression-test`,reference:`packages/docx/src/run-inline-formatting.test.ts#breaks a no-space token wider than the line at the character level`},description:`Emergency-break a non-CJK token that is wider than an empty line at grapheme-safe character boundaries so it remains inside the content band.`}),X({id:`word-run-vertical-align-baseline-shift`,evidence:{kind:`regression-test`,reference:`packages/docx/src/run-char-metrics-render.test.ts#w:vertAlign raises superscript, lowers subscript, and leaves ordinary baselines unchanged`},description:`Retain the established run-level baseline displacement for vertically aligned text: superscript rises by 0.35 of its authored font size and subscript falls by 0.15, while the separately authored w:position remains additive.`}),X({id:`word-uniform-run-position-leading`,evidence:{kind:`office-observation`,syntheticFixtureId:`uniform-run-position-leading`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`When every metric-bearing item on a line has the same non-zero w:position, Word preserves the enlarged line extent but shares the resulting surplus above and below the glyphs. A line containing a differently-positioned item retains the full relative displacement.`});function Am(e,t){return t===0?e:e-t/2}function jm(e,t){return e===`super`?t*.35:e===`sub`?-t*.15:0}const Mm=1.3;function Nm(e,t,n){if(!n||!e)return 0;let r=e.trim().toLowerCase();return r===`ms mincho`||r===`ms 明朝`?t*Mm:0}function Pm(e,t){return t>0?Math.max(1,Math.ceil(e/t)):1}function Fm(e,t){return e>0?e:t*Mm}function Im(e,t,n){return Math.max(e,t*n)}function Lm(e,t,n){return Math.max(e,t,n)}function Rm(e,t){return(e===`exact`||e===`auto`)&&t<=0}X({id:`word-neutral-script-attachment`,evidence:{kind:`regression-test`,reference:`packages/docx/src/layout/compatibility.test.ts#keeps neutral characters attached to the active script slice`},description:`Weak and neutral non-letter characters stay with the active complex-script slice instead of opening additional formatting segments.`}),X({id:`word-rtl-run-ambiguous-class-override`,evidence:{kind:`regression-test`,reference:`packages/docx/src/bidi-line.test.ts#keeps LTR word order for English text in rtl-marked runs`},description:`Model an rtl-marked run as a higher-level UAX #9 override for punctuation and symbols only, leaving whitespace and strong letters at their ordinary classes.`}),X({id:`word-rtl-complex-script-european-digits-an`,evidence:{kind:`regression-test`,reference:`packages/docx/src/bidi-line.test.ts#orders an AN-classified date as 2026-02-28`},description:`Classify European digits as Arabic Number within an Arabic or Hebrew complex-script run so UAX #9 preserves the compatible visual ordering of digit groups and separators.`}),X({id:`word-kashida-final-form-priority`,evidence:{kind:`regression-test`,reference:`packages/docx/src/kashida-priority.test.ts#uses the BaRa join (Beh->Yeh) over the final-letter join in بين`},description:`Apply the measured kashida final-letter priority classes only at a word-final following letter instead of copying the broader Qt final-form conditions.`}),X({id:`word-vertical-tu-corner-placement`,evidence:{kind:`regression-test`,reference:`packages/docx/src/vertical-text.test.ts#does NOT ink-centre a substituted Tu comma even when ink metrics are present`},description:`Keep a substituted vertical Tu comma or full stop at the font-designed upper-right cell position rather than ink-centering it geometrically.`});const zm=/[\\p{P}\\p{S}]/u;function Bm(e){return zm.test(e)}function Vm(e,t){return e===t}function Hm(e){return e!==null}function Um(e,t,n,r,i,a={}){if(t!=null)return t*n;if(!r?.ruby||!i)throw Error(`Ruby at ${e}pt without hpsRaise requires retained base and guide ink`);if(r.textLayoutService&&r.textShapeRequest){let e=r.textLayoutService.shape({...r.textShapeRequest,text:r.text,fontSizePt:ef(r,n),measure:!0,clusterGeometry:!1}),t=r.textLayoutService.shape({...r.textShapeRequest,text:r.ruby.text,fontSizePt:r.ruby.fontSizePt*n,measure:!0,clusterGeometry:!1});if(e.inkBounds&&t.inkBounds)return e.inkBounds.ascentPt+t.inkBounds.descentPt}let o=i.font;try{i.font=nh(r.bold,r.italic,ef(r,n),r.fontFamily,a,r.fontRoute);let t=i.measureText(r.text);i.font=nh(r.bold,r.italic,e*n,r.fontFamily,a,r.fontRoute);let o=i.measureText(r.ruby.text);if(Number.isFinite(t.actualBoundingBoxAscent)&&Number.isFinite(o.actualBoundingBoxDescent))return t.actualBoundingBoxAscent+o.actualBoundingBoxDescent}finally{i.font=o}throw Error(`Ruby without hpsRaise requires retained base and guide ink`)}const Wm=new Set([`sakkal majalla`,`traditional arabic`,`simplified arabic`,`arabic typesetting`,`univers next arabic`,`noto naskh arabic`,`noto sans arabic`]),Gm=new Set([`sakkal majalla`,`traditional arabic`,`simplified arabic`,`arabic typesetting`,`noto naskh arabic`]);function Km(e){return Wm.has(e.toLowerCase())}function qm(e){return e.map(e=>`\"${e}\"`).join(`, `)}const Jm=[`Noto Naskh Arabic`,`Noto Sans Arabic`];function Ym(e){let t=e&&e!==`jp`?ie(e,`sans`):[`Noto Sans JP`,`Hiragino Sans`,`Meiryo`,...ie(`jp`,`sans`).slice(1)];return e==null?`${qm([...ae,`Arial`,`Helvetica`,`Liberation Sans`,...t,...Jm])}, sans-serif`:`${qm([...t,...Jm,...ae])}, sans-serif`}function Xm(e){let t=e&&e!==`jp`?ie(e,`serif`):[`Yu Mincho`,`YuMincho`,`Hiragino Mincho ProN`,`MS Mincho`,`Noto Serif JP`,...ie(`jp`,`serif`).slice(1)];return e==null?`${qm([...oe,`Times New Roman`,`Cambria`,`Liberation Serif`,...t,...Jm])}, serif`:`${qm([...t,...Jm,...oe])}, serif`}const Zm=new WeakMap,Qm=new WeakMap;function $m(e,t){let n=e??{};return t&&Object.keys(t).length>0&&Qm.set(n,t),n}function eh(e,t={}){let n=Zm.get(t)??(()=>{let e=new Map;return Zm.set(t,e),e})(),r=e??`\\0null`,i=n.get(r);if(i!==void 0)return i;let a=th(e,t,Qm.get(t));return n.set(r,a),a}function th(e,t,n={}){if(!e)return Ym(null);let r=`\"${(e=>e.replace(/\"/g,`\\\\\"`))(e)}\"`,i=e.toLowerCase(),a=B(e);if(Km(e))return Gm.has(i)?`${r}, \"Noto Naskh Arabic\", \"Noto Sans Arabic\", \"Noto Serif\", \"Noto Sans JP\", \"Hiragino Sans\", serif`:`${r}, \"Noto Sans Arabic\", \"Noto Naskh Arabic\", \"Noto Sans JP\", \"Hiragino Sans\", sans-serif`;let o=t[e];if(o&&o!==`auto`)switch(o){case`roman`:return`${r}, ${Xm(a)}`;case`swiss`:return`${r}, ${Ym(a)}`;case`modern`:if(n[e]===`fixed`)return a==null?`${r}, \"Courier New\", monospace`:`${r}, ${qm([...a===`jp`?[`Yu Gothic`,`YuGothic`,`Hiragino Sans`,`Meiryo`,`Noto Sans JP`]:ie(a,`sans`),`Courier New`])}, monospace`;break;default:break}let s=V(e);if(s===`serif`)return`${r}, ${Xm(a)}`;if(s===`mono`)return`${r}, \"Courier New\", monospace`;if(a==null||a===`jp`){if(i.includes(`meiryo`)||e.includes(`メイリオ`))return`${r}, \"Meiryo UI\", \"Meiryo\", ${Ym(a)}`;if(e.includes(`游ゴシック`)||/\\byu\\s*gothic\\b/i.test(e)||i.includes(`yugothic`))return`${r}, \"Yu Gothic\", \"YuGothic\", ${Ym(a)}`;if(i.includes(`ipa`))return`${r}, \"IPAexGothic\", ${Ym(a)}`;if(i.includes(`segoe`))return`${r}, \"Segoe UI\", ${qm([...Jm,...ae])}, sans-serif`}return`${r}, ${Ym(a)}`}function nh(e,t,n,r,i={},a){return a?z(a,n,e?700:400,t?`italic`:`normal`):`${t?`italic`:`normal`} ${e?`bold`:`normal`} ${n}px ${eh(r,i)}`}function rh(e,t,n=!1){return Math.max(Vl(e.fontFamily,t,n),(e.resolvedLineHeightRatio??0)*t)}function ih(e,t,n=!1){return Math.max(Vl(e.eaFloorFamily,t,n),(e.resolvedEaFloorLineHeightRatio??0)*t)}function ah(e){for(let t of e.runs)if(t.type===`text`||t.type===`field`)return t.fontSize;return typeof e.defaultFontSize==`number`?e.defaultFontSize:10}function oh(e,t=!1){for(let t of e.runs)if(t.type===`text`||t.type===`field`)return t.fontFamily;return t&&e.defaultFontFamilyEastAsia?e.defaultFontFamilyEastAsia:e.defaultFontFamily??null}function sh(e,t,n){return Vl(oh(e,n),ah(e)*t,n)}function ch(e,t){return!e||e.charSpacePt==null||e.type!==`linesAndChars`&&e.type!==`snapToChars`?0:e.charSpacePt*t}function lh(e){let t=0;for(let n of e)tf.test(n)&&t++;return t}function uh(e,t,n){let r=ch(t,n);if(r===0||e.length===0)return 0;let i=[...e];return t?.type===`linesAndChars`||lh(e)===i.length?i.length*r:0}function dh(e,t,n){return e.snapToCharacterGrid===!1||t?.type===`snapToChars`?0:t?.type===`linesAndChars`&&e.widthBalanceGridDeltaFactor!==void 0?ch(t,n)*e.widthBalanceGridDeltaFactor:uh(e.text,t,n)===0?0:ch(t,n)}function fh(e,t){return e.fitTextPerGapPx===void 0?ph(e)*t:e.fitTextPerGapPx}function ph(e){return e.charSpacing??0}function mh(e){return e.punctuationCompressions?.reduce((e,t)=>e+t.adjustmentPt,0)??0}function hh(e,t){return gh(e,e.text,t)}function gh(e,t,n){if(e.fitTextPerGapPx!==void 0||e.tateChuYoko||!ym(n?.type)||!e.widthBalanceSpaceSequence||e.widthBalanceSpaceAdjustmentPt===void 0)return 0;let r=0;for(let e of t)e===` `&&(r+=1);return r*e.widthBalanceSpaceAdjustmentPt}function _h(e,t,n){let r=e.punctuationCompressions?.filter(e=>e.end>t&&e.end<=n).map(e=>Object.freeze({end:e.end-t,adjustmentPt:e.adjustmentPt}));return r&&r.length>0?Object.freeze(r):void 0}function vh(e,t){if(!e.textLayoutService||!e.textShapeRequest||t.length===0)return;let n=e.textLayoutService.shape({...e.textShapeRequest,text:t,measure:!0,clusterGeometry:!1});if(n.horizontalInkBoundsAreTight!==!0||!n.inkBounds||!Number.isFinite(n.advancePt)||!Number.isFinite(n.inkBounds.xMinPt)||!Number.isFinite(n.inkBounds.xMaxPt))return;let r=e.charScale??1;return{advancePt:n.advancePt*r,xMinPt:n.inkBounds.xMinPt*r,xMaxPt:n.inkBounds.xMaxPt*r}}function yh(e){if(!e.textLayoutService||!e.textShapeRequest||e.text.length===0)return;let t=e.textLayoutService.shape({...e.textShapeRequest,text:e.text,measure:!0,clusterGeometry:!0});if(!t.clusters?.length)return;let n=e.charScale??1,r=new Map;for(let e of t.clusters){if(!Number.isFinite(e.advancePt))return;r.set(e.range.end,e.advancePt*n)}return r}function bh(e){let t,n=new Map;for(let r of e){if(!(`text`in r)||r.verticalRun){t=void 0;continue}let e=r,i=e.punctuationCompressions??[],a=new Map(i.map((e,t)=>[e.end,t])),o=i.length>0?yh(e):void 0,s=[0,...lc(e.text),e.text.length];for(let r=0;r<s.length-1;r+=1){let i=s[r],c=s[r+1];if(c<=i)continue;let l=a.get(c),u=t||l!==void 0?vh(e,e.text.slice(i,c)):void 0;if(t&&u){let e=n.get(t.segment)??t.segment.punctuationCompressions.map(e=>({...e})),r=e[t.compressionIndex],i=Math.max(0,t.ink.advancePt+r.adjustmentPt),a=Math.min(0,i-t.contextualAdvancePt),o=Math.min(0,t.ink.xMaxPt-u.xMinPt-t.contextualAdvancePt),s=Math.max(r.adjustmentPt,a,o);s!==r.adjustmentPt&&(e[t.compressionIndex]={end:r.end,adjustmentPt:s},n.set(t.segment,e))}t=l!==void 0&&u?{segment:e,compressionIndex:l,ink:u,contextualAdvancePt:o?.get(c)??u.advancePt}:void 0}}for(let[e,t]of n)e.punctuationCompressions=Object.freeze(t.map(e=>Object.freeze(e)))}function xh(e){return e.charScale??1}function Sh(e,t,n,r,i){return e*r+[...t].length*n+[...t].length*i}function Ch(e,t,n){return e.fitTextPerGapPx===void 0?dh(e,t,n)+fh(e,n):e.fitTextPerGapPx}function wh(e,t,n,r){if(e.fitTextPerGapPx!==void 0){let n=[...e.text].length,r=e.fitTextRegionEnd?Math.max(0,n-1):n;return t*xh(e)+r*e.fitTextPerGapPx+(e.fitTextTrailingPadPx??0)}if(e.tateChuYoko)return e.fontSize*r;let i=dh(e,n,r);return Sh(t,e.text,i,xh(e),fh(e,r))+hh(e,n)*r*xh(e)+mh(e)*r}function Th(e,t){return t?.type!==`snapToChars`||!t.characterPitchPt||t.characterPitchPt<=0||e.snapToCharacterGrid===!1||e.metricOnly||e.fitTextRegionIndex!==void 0||e.tateChuYoko?null:e.script===`eastAsia`?`eastAsia`:e.script===`complexScript`?`complexScript`:`latin`}function Eh(e,t,n,r=1){return!(n>0)||!Number.isFinite(e)?e:t===`eastAsia`?Math.max(1,r)*n:Math.max(1,Math.ceil(Math.max(0,e)/n-1e-9))*n}function Dh(e){return!e||!e.linePitchPt||e.linePitchPt<=0?!1:e.type===`lines`||e.type===`linesAndChars`||e.type===`snapToChars`}function Oh(e,t){return Pm(e,t)}function kh(e,t){return Fm(e,t)}function Ah(e,t,n,r,i,a,o=0,s=!1,c,l){let u=t+n,d=Math.max(u,o),f=Dh(i),p=f?i.linePitchPt*r:0,m=()=>s?a?Math.max(p,Math.ceil(u/p)*p):Oh(c??(o>0?o:l===void 0?p:kh(0,l)),p)*p:Math.max(u,p),h=e!==null&&e.explicit!==!0;if(!e||Rm(e.rule,e.value))return f?m():d;if(e.rule===`auto`){if(f){if(h){let t=m();return s?Im(t,p,e.value):t}return Math.max(u,p*e.value)}return d*e.value}if(e.rule===`exact`)return e.value*r;if(e.rule===`atLeast`){let t=f?a||h?m():p:0;return Lm(d,e.value*r,t)}return d}function jh(e,t){return{asc:e*t*.8,desc:e*t*.2}}function Mh(e,t,n,r,i=!1){return Hl(t,r,e.fontBoundingBoxAscent??e.actualBoundingBoxAscent??n*.8,e.fontBoundingBoxDescent??e.actualBoundingBoxDescent??n*.2,i)}function Nh(e,t,n,r,i=!1,a,o={},s=e.lineSpacing,c={},l,u,d=!1){let f=u,p=i||f?.fontHint===`eastAsia`,m=f?.complexScript===!0,h=f?.fontSizePt??ah(e),g=oh(e,p),_=g?c[Ul(g)]:void 0,v=_?.family??g,y,b;if(l){let n=f?f.weight>=600:!1,r=f?.style===`italic`,i=f?.fonts.ascii??e.defaultFontFamily??g,a=l.shape({text:p?`あ`:`x`,fontSizePt:h*t,fonts:f?.fonts??{ascii:i,highAnsi:i,eastAsia:e.defaultFontFamilyEastAsia??i,complexScript:i},themeFonts:f?.themeFonts,themeFontPresence:f?.themeFontPresence,weight:n?700:400,style:r?`italic`:`normal`,complexScript:m,fontHint:f?.fontHint,eastAsiaLanguage:f?.eastAsiaLanguage,kerning:f?.kerning,measure:!0}),o=a.spans[0]?.font.resolvedFamily??g;({ascent:y,descent:b}=Mh({width:a.advancePt,actualBoundingBoxAscent:a.ascentPt,actualBoundingBoxDescent:a.descentPt,fontBoundingBoxAscent:a.ascentPt,fontBoundingBoxDescent:a.descentPt},o,h*t,h*t,p))}else if(a){let e=a.font;a.font=nh(!1,!1,h*t,v,o);let n=a.measureText(p?`あ`:`x`);a.font=e,{ascent:y,descent:b}=Mh(n,v,h*t,h*t,p)}else ({asc:y,desc:b}=jh(h,t));let x=_?.lineHeightRatio==null?sh(e,t,p):h*t*_.lineHeightRatio,S=Math.max(x,Nm(g,h*t,p)),C=i?kh(S,h*t):void 0,w=Ah(s,y,b,t,n,r,S,i,C),T=d&&i&&Dh(n),E=T?Ah(null,y,b,t,n,r,S,i,C):w,D=T?Ah({rule:`atLeast`,value:0,explicit:!0},y,b,t,n,r,S,i,C):w;return{advancePx:d?_m({ordinaryAdvancePx:w,allocatedGridAdvancePx:E,atLeastZeroAdvancePx:D,lineSpacing:s,gridAllocationActive:T,scale:t}):w,ascentPx:y,descentPx:b}}function Ph(e,t,n,r,i=!1,a,o={},s=e.lineSpacing,c={},l,u,d=!1){return Nh(e,t,n,r,i,a,o,s,c,l,u,d).advancePx}function Fh(e,t,n){return Math.max(0,(e-t+n)/2)}function Ih(e,t,n,r,i,a,o,s={},c,l,u=!1){let d=Nh(e,1,t,n,r,i,a,o,s,c,l,u);return Fh(d.advancePx,d.ascentPx,d.descentPx)}function Lh(e){let t=[];for(let n of e){let e=n.toLowerCase()===n&&n.toUpperCase()!==n,r=/\\s/.test(n)?t[t.length-1]?.reduced??!1:e,i=t[t.length-1];i&&i.reduced===r?i.text+=n:t.push({text:n,reduced:r})}return t.length?t:[{text:e,reduced:!1}]}function Rh(e,t){for(let n=t-1;n>=0;n--){let t=e[n];if(t.type===`text`||t.type===`field`)return t.fontSize}for(let n=t+1;n<e.length;n++){let t=e[n];if(t.type===`text`||t.type===`field`)return t.fontSize}return 10}function zh(e,t){if(e.fieldType===`page`)return dl(t.displayPageNumber??t.pageIndex+1,Al(e.instruction)??t.pageNumberFormat??`decimal`);if(e.fieldType===`numPages`){let n=Al(e.instruction)??`decimal`;return dl(t.totalPages,n)}if(e.fieldType===`date`||e.fieldType===`time`){let n=Il(e.instruction);if(n){let e=Ll(n,new Date(t.currentDateMs??Date.now()));if(e!==null)return e}return e.fallbackText}return e.fallbackText}function Bh(e){for(let t=0;t<e.length;){let n=e.codePointAt(t);if(Is(n))return!0;t+=n>65535?2:1}return!1}const Vh=new Set([`、`,`。`,`,`,`.`,`」`,`』`,`】`,`)`,`]`,`}`]);function Hh(e){let t=e.codePointAt(0);return t===void 0?!1:t>=12353&&t<=12438||t>=12445&&t<=12447||t>=12449&&t<=12538||t===12540||t>=12541&&t<=12543||t>=12784&&t<=12799||t>=110576&&t<=110591||t>=110592&&t<=110959}function Uh(e,t){switch(t){case`compressPunctuation`:return Vh.has(e);case`compressPunctuationAndJapaneseKana`:return Vh.has(e)||Hh(e);default:return!1}}function Wh(e,t){if(e===void 0)return;let n=[];for(let r of e)r>t&&n.push(r-t);return n}function Gh(e,t){if(t<=0)return t;let n=t;for(;n<e.length&&e[n]===` `;)n++;return n}function Kh(e,t,n,r=0,i=1,a=0,o=!1,s,c){let l=[...t],u=t=>c?.(t)??(()=>{let n=0;if(o){if(!s)throw Error(`Vertical glyph measurement capability is required for vertical text`);n=s.measureRunInkExtra(t)}return Sh(e.measureText(t).width+n,t,r,i,a)})(),d=e=>{let t=e;for(;t>0&&l[t-1]===` `;)t--;let r=l.slice(0,t).join(``);return r.length===0?!0:u(r)<=n},f=0,p=l.length;for(;f<p;){let e=f+p+1>>1;d(e)?f=e:p=e-1}return l.slice(0,f).join(``)}const qh=new Set([`ar`,`fa`,`ur`,`he`,`iw`,`yi`,`ji`,`ps`,`sd`,`ug`,`dv`,`syr`,`ckb`]);function Jh(e,t){if(e){let t=e.split(`-`)[0].toLowerCase();if(qh.has(t))return!0}return t}function Yh(e){let t=[],n=null,r=``;for(let i of e){let e=Is(i.codePointAt(0));n===null||e===n?(n=e,r+=i):(t.push({text:r,ea:n}),n=e,r=i)}return r.length>0&&t.push({text:r,ea:n??!1}),t}function Xh(e){let t=e=>e>=48&&e<=57,n=e=>e===`.`||e===`,`||e===`:`||e===`/`||e===`\\xA0`,r=[],i=``,a=null;for(let o=0;o<e.length;o++){let s=e[o],c=t(s.charCodeAt(0));!c&&a===!0&&n(s)&&t(e.charCodeAt(o+1))&&(c=!0),a===null||c===a?i+=s:(r.push(i),i=s),a=c}return i.length>0&&r.push(i),r.length?r:[e]}function Zh(e){let t=[],n=0;for(;n<e.length;){let r=n;for(;r<e.length&&e[r]!==` `;)r++;for(;r<e.length&&e[r]===` `;)r++;r>n&&t.push(e.slice(n,r)),n=r}return t.length?t:[e]}function Qh(e){let t=e?.defaultTabStop;return t!=null&&t>0?t:36}function $h(e){return e===`center`?`center`:e===`decimal`?`decimal`:e===`right`||e===`end`?`trailing`:`leading`}function eg(e,t,n,r,i){let a=e.length,o=e.map(e=>e.width),s=Array(a).fill(void 0),c=(t,n)=>{let r=0,i;for(let n=t;n<a&&!e[n].isTab;n++)i===void 0&&e[n].decimalOffset!==void 0&&(i=r+e[n].decimalOffset),r+=o[n];return{total:r,alignment:n===`center`?r/2:n===`trailing`?r:n===`decimal`?i===void 0?0:r-i:0}},l=n;for(let n=0;n<a;n++){if(!e[n].isTab){l+=o[n];continue}let a=rf(l,t,i);if(!a){o[n]=0;continue}let u=$h(a.alignment),d=c(n+1,u),f=d.total,p;p=u===`leading`?a.pos:a.pos-d.alignment,p+f>r&&(p=r-f),p<l&&(p=l),o[n]=p-l,s[n]=a.leader,l=p}return e.map((e,t)=>({width:o[t],leader:s[t]}))}function tg(e,t,n){let r=new Map;for(let t of e){if(t.fitTextRegionIndex===void 0)continue;let e=r.get(t.fitTextRegionIndex)??[];e.push(t),r.set(t.fitTextRegionIndex,e)}for(let e of r.values()){let r=e.find(e=>e.fitTextVal!==void 0);if(!r||r.fitTextVal===void 0)continue;let i=0,a=0;for(let t of e)i+=n(t)*xh(t),a+=[...t.text].length;let o=mf([{fitTextValTwips:r.fitTextVal,charCount:a,naturalWidthPx:i}],t)[0];o&&e.forEach((t,n)=>{t.fitTextPerGapPx=o.perGapPx,t.fitTextTrailingPadPx=n===e.length-1?o.trailingPadPx:void 0,t.fitTextRegionStart=n===0?!0:void 0,t.fitTextRegionEnd=n===e.length-1?!0:void 0})}}function ng(e,t){let n=[],r=(e,n=400,r=`normal`)=>{if(!e)return;let i=Ul(e),a=t.resolvedLocalFonts;if(!a)return;let o=a[`${i}:${n}:${r}`];if(o)return o;let s=a[i];return n===400&&r===`normal`&&s?s:Object.values(a).find(e=>Ul(e.requestedFamily??``)===i&&(e.weight??400)===n&&(e.style??`normal`)===r)},i=new Map,a=[];for(let[t,n]of e.entries()){if(n.type!==`text`){a.push({charCount:0,naturalWidthPx:0});continue}let e=n.text.split(` `);for(let r=0;r<e.length;r+=1)i.set(`${t}:${r}`,a.length),a.push({fitTextValTwips:n.fitTextVal,fitTextId:n.fitTextId,charCount:[...e[r]].length,naturalWidthPx:0,charScale:n.charScale}),r<e.length-1&&a.push({charCount:0,naturalWidthPx:0})}let o=new Map;mf(a,1).forEach((e,t)=>{for(let n=e.start;n<e.end;n+=1)o.set(n,t)});let s=(e,a,s,c,l)=>{let u=a,d=u.typographyInput,f=(e,t)=>e?.status===`valid`&&e.value!==null?e.value:t,p=f(d?.verticalAlign,s??void 0)??null,m=f(d?.positionPt,u.position),h=d?.characterSpacingPt??u.charSpacing,g=Sm(h),_=d?.characterScale??u.charScale,v=d?.kerningThresholdPt??u.kerning,y=d?.snapToGrid??u.snapToGrid,b=!1,x=u.ruby,S=x?{text:x.text,fontSizePt:x.fontSizePt,...x.hpsRaisePt==null?{}:{hpsRaisePt:x.hpsRaisePt}}:void 0,C=u.revision,w=u.rtl===!0?!0:void 0,T=l===void 0?void 0:i.get(`${c}:${l}`),E=T===void 0?void 0:o.get(T),D=u.hyperlink?{kind:`external`,url:u.hyperlink}:u.hyperlinkAnchor?{kind:`internal`,ref:u.hyperlinkAnchor}:void 0,O=u.rtl===!0||u.cs===!0,k=u.fontSizeCs??a.fontSize,A=u.fontFamilyCs??a.fontFamily,j=u.fontFamilyHighAnsi??a.fontFamily,M=u.boldCs??!1,N=u.italicCs??!1,ee=u.fontFamilyEastAsia??a.fontFamily,te=(O||!!u.rtl)&&Jh(u.langBidi,!!u.rtl),ne=!0,re=!1,P=(e,i,o,s,c=!1,l=!1)=>{if(t.balanceSingleByteDoubleByteWidth&&!i&&e.includes(` `)&&[...e].some(e=>e!==` `)){for(let t of e.split(/(\\u3000+)/u).filter(Boolean))P(t,i,o,void 0,c,l);return}if(!c&&g&&E===void 0){let n=[0,...lc(e),e.length];if(n.slice(0,-1).map((t,r)=>e.slice(t,n[r+1])).some(e=>Uh(e,t.characterSpacingControl))){P(e,i,o,void 0,!0,l);return}}let d=i?M:a.bold,f=i?N:a.italic,x=d?700:400,O=f?`italic`:`normal`,F=Object.freeze({text:e,fontSizePt:i?k:a.fontSize,fonts:l?{ascii:null,highAnsi:null,eastAsia:null,complexScript:null}:u.fontSlots?.direct??{ascii:a.fontFamily,highAnsi:j,eastAsia:ee,complexScript:A},themeFonts:l?void 0:u.fontSlots?.theme,themeFontPresence:l?void 0:u.fontSlots?.themePresent,weight:x,style:O,complexScript:i,fontHint:u.fontHint,eastAsiaLanguage:u.langEastAsia,kerning:v==null?void 0:(i?k:a.fontSize)>=v,measure:!1}),I=s?{spans:[s]}:t.layoutServices?.text.shape(F),L=c&&g?(()=>{let n=[0,...lc(e),e.length],r=[];for(let i=0;i<n.length-1;i+=1){let a=n[i],o=n[i+1],s=e.slice(a,o);if(!Uh(s,t.characterSpacingControl))continue;let c=t.layoutServices?.text.shape({...F,text:s,measure:!0,clusterGeometry:!1}),l=(c?.inkBounds&&c.horizontalInkBoundsAreTight===!0?(()=>{let e=Math.max(0,Math.min(c.advancePt,c.advancePt-c.inkBounds.xMaxPt));if(!Vh.has(s))return e;let n=c.spans[0]?.fontRoute.fingerprint,r=t.layoutServices?.text.shape({...F,text:`一`,fontHint:`eastAsia`,measure:!0,clusterGeometry:!1}),i=r?.spans[0]?.fontRoute.fingerprint,a=r?.advancePt;if(!n||i!==n||a===void 0||!Number.isFinite(a)||a<=0)return 0;let o=xm({punctuationAdvancePt:c.advancePt,punctuationInkEndPt:c.inkBounds.xMaxPt,ideographicCellAdvancePt:a});return Math.max(0,Math.min(e,c.advancePt-o))})():0)*(_??1);l>0&&r.push({end:o,adjustmentPt:-l})}return r.length===0?void 0:Object.freeze(r.map(e=>Object.freeze(e)))})():void 0,R=I?.spans.some(e=>e.script===`complexScript`!==i)??!1;if(I&&(I.spans.length>1||R)){for(let e=0;e<I.spans.length;e+=1){let n=I.spans[e],r=n.script===`complexScript`,i=r?A:n.script===`eastAsia`?ee:n.script===`highAnsi`?j:a.fontFamily,o=g&&c&&[...n.text].some(e=>Uh(e,t.characterSpacingControl));P(n.text,r,i,n,o)}return}let z=I?.spans[0],B=(e,n)=>{if(!e)return;let r=Object.values(t.layoutServices?.text.localMetrics??{}).filter(t=>Ul(t.family)===Ul(e)&&(t.weight??400)===x&&(t.style??`normal`)===O);return r.find(e=>n&&Ul(e.requestedFamily??``)===Ul(n))??r[0]},V=z?B(z.font.resolvedFamily,z.font.requestedFamily):r(o,x,O),ie=t.layoutServices?.text.resolve({fonts:F.fonts,themeFonts:F.themeFonts,themeFontPresence:F.themeFontPresence,slot:`eastAsia`,weight:x,style:O}),ae=ie?B(ie.resolvedFamily,ie.requestedFamily):r(ee,x,O),oe=V??(o?t.resolvedLocalFonts?.[Ul(o)]:void 0),H=ae??(ee?t.resolvedLocalFonts?.[Ul(ee)]:void 0),se=ie?.resolvedFamily??ae?.family??ee,ce=t.useFeLayout&&(u.fontHint===`eastAsia`||!!se?.trim()),le=z?.script??s?.script??(i?`complexScript`:tf.test(e)?`eastAsia`:`ascii`),ue=t.balanceSingleByteDoubleByteWidth?bm(e,le):void 0;n.push({text:e,script:le,...ue===void 0?{}:{widthBalanceGridDeltaFactor:ue},...ce?{metricEastAsian:!0}:{},bold:d,italic:f,underline:a.underline,underlineStyle:u.underlineStyle,underlineColor:u.underlineColor,strikethrough:a.strikethrough,fontSize:i?k:a.fontSize,color:a.color,fontFamily:z?.font.resolvedFamily??V?.family??o,fontRoute:z?.fontRoute,resolvedLineHeightRatio:oe?.lineHeightRatio,vertAlign:p,measuredWidth:0,textLayoutService:t.layoutServices?.text,textShapeRequest:F,breakBefore:z?.breakBefore??s?.breakBefore??!0,smallCaps:b,joinPrev:re||s?.breakBefore===!1?!0:void 0,doubleStrikethrough:a.doubleStrikethrough??!1,highlight:a.highlight??null,emphasisMark:a.emphasisMark,background:a.background??null,colorAuto:u.colorAuto??!1,border:u.border??null,ruby:ne?S:void 0,revision:C,rtl:w,digitsAsAN:te?!0:void 0,eaFloorFamily:se,eaFloorRoute:ie?.route,resolvedEaFloorLineHeightRatio:H?.lineHeightRatio,textBoxLineFloor:u.textBoxLineFloor,textBoxVertical:u.textBoxVertical,hyperlink:D,snapToCharacterGrid:y!==!1,charSpacing:h,punctuationCompressions:L,eastAsiaLanguage:u.langEastAsia,charScale:_,fitTextVal:E===void 0?void 0:u.fitTextVal,fitTextId:E===void 0?void 0:u.fitTextId,fitTextRegionIndex:E,fitTextRunIndex:E===void 0?void 0:T,position:m,positionExtendsLineBox:t.positionExtendsLineBox!==!1,kerning:v,tateChuYoko:t.verticalCJK&&u.eastAsianVert===!0?!0:void 0,tateChuYokoCompress:t.verticalCJK&&u.eastAsianVert===!0&&u.eastAsianVertCompress===!0?!0:void 0,verticalRun:t.verticalCJK&&u.eastAsianVert!==!0?!0:void 0}),ne=!1,re=!1},F=(e,t)=>{let n=t===`cs`,r=t===`cs`?A:t===`ea`?ee:a.fontFamily;if(G(r)){for(let t of me(e,r))P(t.text,n,t.mapped?null:r,void 0,!1,t.mapped);return}P(e,n,r)},I=e=>{if(t.layoutServices?.text){if(G(a.fontFamily)){F(e,`latin`);return}P(e,!1,a.fontFamily);return}for(let t of Yh(e))F(t.text,t.ea?`ea`:`latin`)},L=a.smallCaps?Lh(e):[{text:e,reduced:!1}],R=``;for(let e of L){b=e.reduced,re=R.length>0&&!/\\s$/.test(R),R=e.text;let t=a.allCaps||a.smallCaps?e.text.toUpperCase():e.text;for(let e of Zh(t))if(O)if(te)for(let t of Xh(e))F(t,`cs`);else F(e,`cs`);else I(e)}};for(let[i,a]of e.entries()){let o=n.length;if(a.type===`text`){let e=a,r=e.noteRef?e.noteRef.id?t.noteNumbers?.get(`${e.noteRef.kind}:${e.noteRef.id}`):t.noteReferenceNumber:void 0;if(e.noteRef){let t=r==null?e.text||``:String(r);t.length>0&&s(t,e,e.vertAlign??`super`,i,0);for(let e=o;e<n.length;e+=1)n[e].sourceRunIndex=i;continue}let c=e.text.split(` `);for(let t=0;t<c.length;t++)c[t].length>0&&s(c[t],e,e.vertAlign,i,t),t<c.length-1&&n.push({isTab:!0,fontSize:e.fontSize,measuredWidth:0,bold:e.bold,italic:e.italic,sourceRunIndex:i})}else if(a.type===`image`){let e=a;n.push({imagePath:e.imagePath,mimeType:e.mimeType,widthPt:e.widthPt,heightPt:e.heightPt,rotation:e.rotation,flipH:e.flipH,flipV:e.flipV,anchor:e.anchor??!1,anchorXPt:e.anchorXPt??0,anchorYPt:e.anchorYPt??0,anchorXFromMargin:e.anchorXFromMargin??!1,anchorYFromPara:e.anchorYFromPara??!1,colorReplaceFrom:e.colorReplaceFrom,duotone:e.duotone,alpha:e.alpha,srcRect:e.srcRect??void 0,measuredWidth:0})}else if(a.type===`chart`){let e=a;n.push({imagePath:``,mimeType:``,widthPt:e.widthPt,heightPt:e.heightPt,anchor:e.anchor??!1,anchorXPt:e.anchorXPt??0,anchorYPt:e.anchorYPt??0,anchorXFromMargin:e.anchorXFromMargin??!1,anchorYFromPara:e.anchorYFromPara??!1,chart:!0,chartResourceKey:e.resourceKey,measuredWidth:0})}else if(a.type===`shape`&&a.inline===!0)n.push({imagePath:``,mimeType:``,widthPt:a.widthPt,heightPt:a.heightPt,anchor:!1,anchorXPt:0,anchorYPt:0,anchorXFromMargin:!1,anchorYFromPara:!1,inlineShape:!0,measuredWidth:0});else if(a.type===`unavailableDrawing`){let e=`anchorAcquisitionInput`in a?a.anchorAcquisitionInput:void 0;n.push({imagePath:``,mimeType:``,widthPt:a.widthPt,heightPt:a.heightPt,anchor:e!==void 0,anchorXPt:0,anchorYPt:0,anchorXFromMargin:!1,anchorYFromPara:!1,unavailableResourceKind:a.resourceKind,measuredWidth:0})}else if(a.type===`break`){if(a.breakType===`line`){let t=Rh(e,e.indexOf(a));n.push({lineBreak:!0,fontSize:t,measuredWidth:0})}}else if(a.type===`field`){let e=a,n=zh(e,t);n&&s(n,e,e.vertAlign,i)}else if(a.type===`math`){let r=a.fontSize||Rh(e,e.indexOf(a)),i=`resourceKey`in a?a.resourceKey:void 0;if(t.layoutServices&&!i)throw Error(`Service-backed math layout requires a normalized structural resource key`);let o=i?t.layoutServices?.math.resolve(i):void 0;n.push({math:!0,mathResourceKey:i??``,mathMetadata:o,display:a.display,fontSize:r,color:null,fallbackText:`fallbackText`in a?a.fallbackText:am(a.nodes),measuredWidth:0,mathAscent:0,mathDescent:0,jc:a.jc})}else if(a.type===`ptab`)n.push({isTab:!0,fontSize:a.fontSize||Rh(e,e.indexOf(a)),measuredWidth:0,leader:a.leader,ptab:{alignment:a.alignment,relativeTo:a.relativeTo}});else if(a.type===`anchorHost`){let e=a.fontFamilyEastAsia!=null,i=a.bold??!1,o=a.italic??!1,s=a.fontFamilyEastAsia??a.fontFamily??null,c=i?700:400,l=o?`italic`:`normal`,u=r(s,c,l),d=r(a.fontFamilyEastAsia??null,c,l),f=u??(s?t.resolvedLocalFonts?.[Ul(s)]:void 0),p=d??(a.fontFamilyEastAsia?t.resolvedLocalFonts?.[Ul(a.fontFamilyEastAsia)]:void 0);n.push({text:``,metricOnly:!0,...e?{metricEastAsian:!0}:{},bold:i,italic:o,underline:!1,strikethrough:!1,fontSize:a.fontSize,color:null,fontFamily:u?.family??s,resolvedLineHeightRatio:f?.lineHeightRatio,vertAlign:null,measuredWidth:0,eaFloorFamily:d?.family??a.fontFamilyEastAsia??null,resolvedEaFloorLineHeightRatio:p?.lineHeightRatio,snapToCharacterGrid:!1})}for(let e=o;e<n.length;e+=1)n[e].sourceRunIndex=i}if(t.balanceSingleByteDoubleByteWidth){let e=new Map,t=t=>{let n=t.textLayoutService,r=t.textShapeRequest;if(!n||!r)return;let i=ef(t,1),a=[n.fingerprint,t.fontRoute?.fingerprint??`implicit-latin`,t.eaFloorRoute?.fingerprint??`implicit-east-asia`,i,t.bold?700:400,t.italic?`italic`:`normal`,t.kerning??`auto`].join(`|`),o=e.get(a);if(o!==void 0)return o;let s=n.shape({...r,text:` `,fontSizePt:i,measure:!0,clusterGeometry:!1}).advancePt,c=n.shape({...r,text:`一`,fontSizePt:i,fontHint:`eastAsia`,measure:!0,clusterGeometry:!1}).advancePt;if(!Number.isFinite(s)||!Number.isFinite(c)||s<0||c<=0)return;let l=c/2-s;return e.set(a,l),l},r=[],i=0,a=()=>{if(vm(i))for(let e of r){e.widthBalanceSpaceSequence=!0;let n=t(e);n!==void 0&&(e.widthBalanceSpaceAdjustmentPt=n)}r=[],i=0};for(let e of n){if(!(`text`in e)||e.script===`complexScript`){a();continue}let t=e.text.length-e.text.replace(/ +$/u,``).length;t>0&&t===e.text.length||a(),t>0?(r.push(e),i+=t):a()}a()}for(let e=1;e<n.length;e++){let t=n[e];if(!(`text`in t)||t.joinPrev)continue;let r=t.text.codePointAt(0);if(r===void 0||!Ns.lineStartForbidden.has(r))continue;let i=n[e-1];!(`text`in i)||/\\s$/.test(i.text)||(t.joinPrev=!0)}for(let e=1;e<n.length;e++){let t=n[e];if(!(`text`in t)||t.joinPrev||!t.text.startsWith(` `))continue;let r=n[e-1];if(!(`text`in r))continue;let i=t.sourceRunIndex===r.sourceRunIndex,a=Cm(r.text,t.text);!i&&!a||(t.joinPrev=!0)}for(let e=1;e<n.length;e++){let t=n[e];if(!(`text`in t)||t.joinPrev||t.text.length===0)continue;let r=n[e-1];if(!(`text`in r)||r.text.length===0||/\\s$/u.test(r.text)||/^\\s/u.test(t.text))continue;let i=[...r.text].at(-1),a=[...t.text][0],o=i?.codePointAt(0),s=a?.codePointAt(0);o===void 0||s===void 0||o===8203||s===8203||Ys(r.text)||Ys(t.text)||Bh(r.text)||Bh(t.text)||Ws(o,s)&&(t.joinPrev=!0)}let c=new Set;for(let e of n)!(`text`in e)||e.fitTextRegionIndex===void 0||(c.has(e.fitTextRegionIndex)?e.joinPrev=!0:(e.fitTextRegionStart=!0,c.add(e.fitTextRegionIndex)));return bh(n),n}function rg(e,t,n,r,i,a=[],o,s={},c=0,l=Ns,u=void 0,d=36,f=n,p=!1,m=!1,h=!1,g,_=`bounded`,v,y=!1,b){if(b===void 0){let b=(b,x)=>rg(e,um(t),n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,{probeHeights:b,preparedFloatWrap:x});if(!o||_===`intrinsic`)return b(null);let x=o.lineWindow?void 0:Lp(o.floats);return fm(e=>b(e,x),e=>o.lineBoxH(e.ascent,e.descent,e.hasRuby,e.intendedSingle,e.eastAsian,e.gridCountSingle))}let{probeHeights:x,preparedFloatWrap:S}=b,C=[],w=[],T=0,E=u?.type===`snapToChars`&&u.characterPitchPt!=null&&u.characterPitchPt>0?u.characterPitchPt*i:null,D=null,O=0,k=0,A=0,j=0,M=new Set,N=0,ee=0,te=0,ne=0,re=0,P=0,F=0,I=0,L=!1,R=!0,z=n,B=0,V=o?.startPageY??0,ie=()=>cp(i),ae=t.length>0&&t.every(e=>`text`in e&&e.metricOnly===!0||`imagePath`in e&&!!e.anchor),oe=(e=0)=>{if(D=null,j=0,M.clear(),B=0,z=n,!o)return;let t=x?.[C.length];if(t===void 0)return;let r={xLeftPt:o.referenceXPt??o.paraX,xRightPt:(o.referenceXPt??o.paraX)+(o.referenceWidthPt??n),readingDirection:o.readingDirection??(p?`rtl`:`ltr`)};if(o.lineWindow){let r=o.lineWindow({topYPt:V,minimumStartWidthPt:1,squareMinimumStartWidthPt:e,probeHeightPt:t,paragraphXPt:o.paraX,maximumWidthPt:n,columnXPt:o.columnXPt,columnWidthPt:o.columnWidthPt});V=r.topYPt,B=r.xOffsetPt,z=r.maximumWidthPt}else{let i=tm(V,1,t,o.paraX,n,S??Lp(o.floats),o.columnXPt,o.columnXPt+o.columnWidthPt,r,e);V=i.topY,B=i.xOffset,z=i.maxWidth}},H=()=>_===`intrinsic`?1/0:z-(R?r:0),se=p?a.map(e=>({pos:e.pos*i,alignment:e.alignment,leader:e.leader})):[],ce=d*i,le=()=>{if(!p||!w.some(e=>`isTab`in e))return;let e=w.map(e=>({isTab:`isTab`in e,width:e.measuredWidth}));for(let t=0;t<w.length;t+=1){if(!(`isTab`in w[t]))continue;let n=t+1;for(;n<w.length&&!(`isTab`in w[n]);)n+=1;let r=Ne(w.slice(t+1,n));if(!r)continue;let i=t+1+r.segmentIndex,a=w[i];`text`in a&&(e[i].decimalOffset=je(a,a.text.slice(0,r.charOffset)))}let t=eg(e,se,f-(B+z)+(R?r:0),f+c,ce),n=0;for(let e=0;e<w.length;e++){let r=w[e];`isTab`in r&&(n+=t[e].width-r.measuredWidth,r.measuredWidth=t[e].width,r.leader=t[e].leader)}T+=n},ue=!1,de=!1,fe=!1,U=(e,t=!1,n)=>{le();let r,a=!1;for(let e of w){if(`isTab`in e)continue;let t=`text`in e?e.position??0:0;if(`text`in e&&e.positionExtendsLineBox===!1){r=0,a=!0;break}if(!a)r=t,a=!0;else if(r!==t){r=0;break}}let s=a?r??0:0;if(s!==0)for(let e of w)`text`in e&&(e.lineRelativePosition=Am(e.position??0,s));let c=e===void 0?N||10:Math.max(N,e),l=ee>0||te>0,u=l?ee:c*i*.8,d=l?te:c*i*.2,f=L?P:u,p=L?F:d,m=L?I:ne,h=re||(de?kh(ne,c*i):u+d);C.push({segments:w,height:c,ascent:u,descent:d,visibleAscent:f,visibleDescent:p,visibleIntendedSingle:m,intendedSingle:ne,gridCountSingle:h,xOffset:B,availWidth:z,topY:o?V:void 0,hasRuby:ue,eastAsian:de,endsWithBreak:t,consumedEnd:n??K[0]?.src??we}),o&&(V+=o.lineBoxH(u,d,ue,ne,de,h)),w=[],T=0,O=0,k=0,A=0,j=0,M.clear(),N=0,ee=0,te=0,ne=0,re=0,P=0,F=0,I=0,L=!1,ue=!1,de=!1,fe=!1,R=!1,oe(ie())},W=(e,t=e.text)=>Zl(e.fontFamily)*ef(e,i)*xh(e)*[...t].length,pe=e=>{let t=e.bold?700:400,n=e.italic?`italic`:`normal`;return e.fontRoute?`${e.fontRoute.fingerprint}|${t}|${n}`:`implicit|${nh(e.bold,e.italic,1,e.fontFamily,s)}`},G=(e,t,n=t.text)=>{/\\S/.test(n)&&e.add(pe(t))},me=e=>{let t=M.size;for(let n of e)M.has(n)||(t+=1);return t},he=(e,t)=>{let n=Th(e,u);return!n||E==null?t:n===`eastAsia`?Eh(t,n,E,Ae(e)):D?.kind===n?Eh(D.naturalWidthPx+t,n,E)-D.allocatedWidthPx:Eh(t,n,E)},ge=(e,t,n,r,a,o=0)=>{let s=t;if(`text`in e){let n=Th(e,u),r=e.snapGridNaturalWidthPx??t;if(n&&E!=null)if(e.snapGridClass=n,e.snapGridNaturalWidthPx=r,e.snapGridCellPitchPx=E,n===`eastAsia`)s=Eh(r,n,E,Ae(e)),e.snapGridLeadingPadPx=0,e.snapGridTrailingPadPx=s-r,e.measuredWidth=s,D=null;else if(D?.kind===n){let t=D.first.snapGridLeadingPadPx??0,i=D.last.snapGridTrailingPadPx??0,a=D.naturalWidthPx+r,o=Eh(a,n,E),c=o-a,l=n===`latin`?c/2:0,u=c-l;D.first.measuredWidth-=t,D.first.snapGridLeadingPadPx=l,D.first.measuredWidth+=l,D.last.measuredWidth-=i,e.snapGridLeadingPadPx=0,e.snapGridTrailingPadPx=u,e.measuredWidth=r+u,s=o-D.allocatedWidthPx,D={kind:n,first:D.first,last:e,naturalWidthPx:a,allocatedWidthPx:o}}else{let t=Eh(r,n,E),i=t-r,a=n===`latin`?i/2:0,o=i-a;e.snapGridLeadingPadPx=a,e.snapGridTrailingPadPx=o,e.measuredWidth=t,s=t,D={kind:n,first:e,last:e,naturalWidthPx:r,allocatedWidthPx:t}}else e.snapGridClass=void 0,e.snapGridLeadingPadPx=void 0,e.snapGridTrailingPadPx=void 0,e.snapGridCellPitchPx=void 0,e.measuredWidth=t,D=null}else D=null;if(w.push(e),T+=s,`text`in e){let t=e.text.length-e.text.replace(/ +$/,``).length,n=t>0&&t===e.text.length;if(n&&k>0)O-=A,k+=t,A=0;else{k=0,A=0;let e=w[w.length-2],r=e!==void 0&&`text`in e&&/\\S$/u.test(e.text);(n&&r||t>0&&!n)&&(k=t,A=t===1?o:0,O+=A)}j+=W(e),G(M,e)}n>N&&(N=n),r>ee&&(ee=r),a>te&&(te=a);let c=!(`text`in e)||e.metricOnly!==!0;c&&(L=!0,r>P&&(P=r),a>F&&(F=a));let l=0;if(!(`isTab`in e)&&!(`imagePath`in e)&&!(`math`in e)){let t=e;t.ruby&&(ue=!0),t.seaBreaks!==void 0&&Zs(t.text)&&(fe=!0);let n=t.metricEastAsian===!0||tf.test(t.text);!de&&n&&(de=!0);let r=t.smallCaps&&!t.vertAlign?t.fontSize*i:_e(t),a=n&&!t.ruby,o=t.textBoxLineFloor&&t.ruby?0:Math.max(rh(t,r,a),t.textBoxLineFloor||t.metricEastAsian===!0?ih(t,r,a):0);o>ne&&(ne=o),c&&o>I&&(I=o),a&&(l=kh(o,r))}else `isTab`in e||(l=r+a);l>re&&(re=l)},_e=e=>ef(e,i),ve=null,ye=t=>{t!==ve&&(e.font=t,ve=t)},be=t=>{if(t.kerning==null)return null;let n=e.fontKerning;return e.fontKerning=t.fontSize>=t.kerning?`normal`:`none`,n},xe=t=>{t!=null&&(e.fontKerning=t)},Se=(t,n=!1)=>{if(t.textLayoutService&&t.textShapeRequest){let e=t.textLayoutService.shape({...t.textShapeRequest,text:t.text,fontSizePt:_e(t),measure:!0,clusterGeometry:n});return n&&(t.shapedClusters=e.clusters,t.selectedFaceFontBox={ascentPt:e.ascentPt,descentPt:e.descentPt},t.selectedFaceInkBounds=e.inkBounds??{xMinPt:0,xMaxPt:e.advancePt,ascentPt:e.ascentPt,descentPt:e.descentPt}),{width:e.advancePt,actualBoundingBoxAscent:e.ascentPt,actualBoundingBoxDescent:e.descentPt,fontBoundingBoxAscent:e.ascentPt,fontBoundingBoxDescent:e.descentPt}}ye(nh(t.bold,t.italic,_e(t),t.fontFamily,s,t.fontRoute));let r=be(t),i=e.measureText(t.text);return xe(r),i},Ce=(e,t)=>{if(!e.verticalRun)return 0;if(!v)throw Error(`Vertical glyph measurement capability is required for vertical text`);ye(nh(e.bold,e.italic,_e(e),e.fontFamily,s,e.fontRoute));let n=be(e);try{return v.measureRunInkExtra(t)}finally{xe(n)}},we={segIndex:t.length,charOffset:0},Te=t.map((e,t)=>(e.src={segIndex:t,charOffset:0},`text`in e&&Ys(e.text)&&(e.seaBreaks=ic(e.text,{cjk:!0,kinsoku:l})),e)),K;if(!g)K=Te;else if(g.segIndex>=Te.length)K=[];else{let e=Te[g.segIndex];if(g.charOffset>0)if(!(`text`in e)||g.charOffset>e.text.length)K=[];else{let t=e.text.slice(g.charOffset);K=t?[{...e,text:t,measuredWidth:0,src:{...g},punctuationCompressions:_h(e,g.charOffset,e.text.length),seaBreaks:Wh(e.seaBreaks,g.charOffset)},...Te.slice(g.segIndex+1)]:Te.slice(g.segIndex+1)}else K=Te.slice(g.segIndex)}tg(K.filter(e=>`text`in e),i,e=>Se(e).width+Ce(e,e.text));let Ee=e=>wh(e,Se(e).width+Ce(e,e.text),u,i),De=(e,t)=>{let n=Th(e,u);return!n||E==null||e.text.length===0?t:Eh(t,n,E,n===`eastAsia`?Ae(e):1)},Oe=e=>De(e,Ee(e)),ke=(t,n,r=!1)=>{let a=r?t.text.length-n.length:0,o={...t,text:n,punctuationCompressions:_h(t,Math.max(0,a),Math.max(0,a)+n.length)};if(t.textLayoutService&&t.textShapeRequest)return wh(o,t.textLayoutService.shape({...t.textShapeRequest,text:n,fontSizePt:_e(t),measure:!0,clusterGeometry:!1}).advancePt+Ce(t,n),u,i);ye(nh(t.bold,t.italic,_e(t),t.fontFamily,s,t.fontRoute));let c=be(t),l=e.measureText(n).width;return xe(c),wh(o,l+Ce(t,n),u,i)},Ae=t=>{if(E==null)return 1;t.textLayoutService&&t.textShapeRequest&&!t.shapedClusters&&Se(t,!0);let n=t.shapedClusters?.length?t.shapedClusters:null,r=n==null?[...new Set([0,...lc(t.text),t.text.length])].sort((e,t)=>e-t):null,a=n?.map(e=>({start:e.range.start,end:e.range.end,advancePx:e.advancePt}))??r.slice(0,-1).map((e,t)=>({start:e,end:r[t+1],advancePx:void 0})),o=0;for(let n of a){let{start:r,end:a}=n;if(a<=r)continue;let c=t.text.slice(r,a),l={...t,text:c,punctuationCompressions:_h(t,r,a)},d;if(n.advancePx!=null)d=wh(l,n.advancePx+Ce(t,c),u,i);else{ye(nh(t.bold,t.italic,_e(t),t.fontFamily,s,t.fontRoute));let n=be(t),r=e.measureText(c).width;xe(n),d=wh(l,r+Ce(t,c),u,i)}o+=pm(d,E)}return Math.max(1,o)},je=(e,t,n=!1)=>De({...e,text:t,shapedClusters:t===e.text?e.shapedClusters:void 0},ke(e,t,n)),Me=e=>`isTab`in e?e.measuredWidth||0:`imagePath`in e?e.widthPt*i:`math`in e?e.measuredWidth||0:`lineBreak`in e?0:Oe(e),Ne=e=>{for(let t=0;t<e.length;t+=1){let n=e[t];if(!(`text`in n))continue;let r=n.text.indexOf(`.`);if(r>=0)return{segmentIndex:t,charOffset:r}}let t=null,n=!1;for(let r=0;r<e.length;r+=1){let i=e[r];if(!(`text`in i)){if(n)return t;continue}let a=0;for(let e of i.text)if(a+=e.length,/\\p{Decimal_Number}/u.test(e))n=!0,t={segmentIndex:r,charOffset:a};else if(n)return t}return t},Pe=e=>{let t=Ne(e);if(!t)return;let n=0;for(let r=0;r<t.segmentIndex;r+=1)n+=Me(e[r]);let r=e[t.segmentIndex];return`text`in r?n+je(r,r.text.slice(0,t.charOffset)):n},Fe=()=>{let e=[],t=0;for(let n of K){if(`isTab`in n||`lineBreak`in n)break;e.push(n),t+=Me(n)}let n=Pe(e);return n===void 0?{totalWidth:t}:{totalWidth:t,decimalPrefixWidth:n}},Ie=null;for(oe(ae?o?.paragraphMarkLineStartWidth??ie():ie());K.length>0;){let t=K.shift();if(`lineBreak`in t){U(t.fontSize,!0),Ie=t.fontSize;continue}if(Ie=null,`isTab`in t){if(p&&!t.ptab){t.measuredWidth=0,ge(t,0,t.fontSize,t.fontSize*i*.8,t.fontSize*i*.2);continue}let e=T+(R?r:0);if(t.ptab){t.resolvedAlignment=t.ptab.alignment;let r=t.ptab.relativeTo===`indent`?0:-c,a=t.ptab.relativeTo===`indent`?n:f,o=t.ptab.alignment===`left`?r:t.ptab.alignment===`center`?(r+a)/2:a,s=0;for(let e of K){if(`isTab`in e||`lineBreak`in e)break;s+=Me(e)}let l=t.ptab.alignment===`center`?.5:+(t.ptab.alignment===`right`),d=o-e-s*l;if(d<=0){if(w.length>0){U(void 0,!1,t.src),K.unshift(t);continue}d=0}if(t.measuredWidth=d,ge(t,d,t.fontSize,t.fontSize*i*.8,t.fontSize*i*.2),t.ptab.alignment!==`left`)for(;K.length>0;){let e=K[0];if(`isTab`in e||`lineBreak`in e)break;if(K.shift(),`imagePath`in e){let t=e.widthPt*i;e.measuredWidth=t,ge(e,t,e.heightPt,e.heightPt*i,0)}else if(`math`in e)ge(e,e.measuredWidth||0,e.fontSize,e.mathAscent||0,e.mathDescent||0);else{let t=Se(e),n=wh(e,t.width+Ce(e,e.text),u,i);e.measuredWidth=n;let r=t.fontBoundingBoxAscent??t.actualBoundingBoxAscent??e.fontSize*i*.8,a=t.fontBoundingBoxDescent??t.actualBoundingBoxDescent??e.fontSize*i*.2;ge(e,n,e.fontSize,r,a)}}continue}let o=nf(e+c,a.map(e=>({pos:e.pos*i,alignment:e.alignment,leader:e.leader})),d*i);t.resolvedAlignment=o?.alignment??`left`;let s=o?o.pos-c:e,l=o?$h(o.alignment):`leading`;if(o&&l!==`leading`){let n=s;t.leader=o.leader;let r=Fe(),a=l===`center`?r.totalWidth/2:l===`decimal`?r.decimalPrefixWidth??r.totalWidth:r.totalWidth,c=n-e-a;for(c<=0&&(c=0),t.measuredWidth=c,ge(t,c,t.fontSize,t.fontSize*i*.8,t.fontSize*i*.2);K.length>0;){let e=K[0];if(`isTab`in e||`lineBreak`in e)break;if(K.shift(),`imagePath`in e){let t=e.widthPt*i;e.measuredWidth=t,ge(e,t,e.heightPt,e.heightPt*i,0)}else if(`math`in e)ge(e,e.measuredWidth||0,e.fontSize,e.mathAscent||0,e.mathDescent||0);else{let t=Se(e),n=wh(e,t.width+Ce(e,e.text),u,i);e.measuredWidth=n;let r=t.fontBoundingBoxAscent??t.actualBoundingBoxAscent??e.fontSize*i*.8,a=t.fontBoundingBoxDescent??t.actualBoundingBoxDescent??e.fontSize*i*.2;ge(e,n,e.fontSize,r,a)}}continue}let m=s-e;if(o&&(t.leader=o.leader),m<=0){U(void 0,!1,t.src),K.unshift(t);continue}if(T+m>H()&&w.length>0){U(void 0,!1,t.src),K.unshift(t);continue}t.measuredWidth=m,ge(t,m,t.fontSize,t.fontSize*i*.8,t.fontSize*i*.2);continue}if(`imagePath`in t){if(t.anchor){t.measuredWidth=0;continue}let e=t.widthPt*i,n=t.heightPt,r=t.heightPt*i;t.measuredWidth=e,w.length>0&&T+e>H()&&U(void 0,!1,t.src),ge(t,e,n,r,0);continue}if(`math`in t){let n=t.mathMetadata;if(!n||n.available===!1){let n=t.fontSize*i;ye(nh(!1,!1,n,null,s));let r=e.measureText(t.fallbackText),a=r.width,o=r.fontBoundingBoxAscent??r.actualBoundingBoxAscent??n*.8,c=r.fontBoundingBoxDescent??r.actualBoundingBoxDescent??n*.2;t.measuredWidth=a,t.mathAscent=o,t.mathDescent=c,w.length>0&&T+a>H()&&U(void 0,!1,t.src),ge(t,a,t.fontSize,Math.max(o,n*.8),Math.max(c,n*.2));continue}let r=t.fontSize*i,a=n.widthEm*r,o=n.ascentEm*r,c=n.descentEm*r;t.measuredWidth=a,t.mathAscent=o,t.mathDescent=c;let l=Math.max(o,r*.8),u=Math.max(c,r*.2);w.length>0&&T+a>H()&&U(void 0,!1,t.src),ge(t,a,t.fontSize,l,u);continue}let o=t,g=Se(o,Th(o,u)===`eastAsia`),_=wh(o,g.width+Ce(o,o.text),u,i);o.snapGridNaturalWidthPx=_;let b=he(o,_),x=o.fontSize,S=o.fontSize*i,C=g,E=_e(o);if(o.smallCaps&&!o.vertAlign&&E!==S){if(o.textLayoutService&&o.textShapeRequest){let e=o.textLayoutService.shape({...o.textShapeRequest,text:o.text||`X`,fontSizePt:S,measure:!0,clusterGeometry:!1});C={width:e.advancePt,actualBoundingBoxAscent:e.ascentPt,actualBoundingBoxDescent:e.descentPt,fontBoundingBoxAscent:e.ascentPt,fontBoundingBoxDescent:e.descentPt}}else{let t=e.font;e.font=nh(o.bold,o.italic,S,o.fontFamily,s,o.fontRoute),C=e.measureText(o.text||`X`),e.font=t}E=S}let D=Mh(C,o.fontFamily,S,E,(o.metricEastAsian===!0||tf.test(o.text))&&!o.ruby),k=D.ascent,A=D.descent;if(o.positionExtendsLineBox!==!1){let e=(o.position??0)*i;e>0?k+=e:e<0&&(A-=e)}if(o.ruby&&(!o.textBoxLineFloor||o.textBoxVertical)&&(k+=Um(o.ruby.fontSizePt,o.ruby.hpsRaisePt,i,o,e,s)),o.fitTextRegionIndex!==void 0){if(o.fitTextRegionStart){let e=_;for(let t of K){if(!(`text`in t)||t.fitTextRegionIndex!==o.fitTextRegionIndex)break;e+=Oe(t)}w.length>0&&T+e>H()&&U(void 0,!1,o.src)}o.measuredWidth=_,ge(o,_,x,k,A);continue}let M=o.text.replace(/ +$/,``),N=Th(o,u)?0:o.text.endsWith(` `)?_-je(o,M):0,ee=e=>{let t=e===void 0||`lineBreak`in e;return m&&(!t||h)},te=(e,t,r)=>Dm({widthPx:e,trailingSpacePx:t,lineWillJustify:ee(r),wrapNarrowed:z!==n||B!==0}),ne=te(b,N,K[0]),re=o.seaBreaks!==void 0&&Zs(o.text),P=new Set;G(P,o,M);let F=(e,t,n)=>ee(e)?Om({biasBudgetPx:t,resolvedMeasurementRouteCount:me(n)}):fe||re?0:O*.25;if(!o.joinPrev&&w.length>0&&K[0]?.joinPrev&&!Bh(o.text)&&!(o.seaBreaks&&o.seaBreaks.length>0)){let e=_,t=N,n=0,r=j,i=new Set(P),a=o,s=o.text,c=(e,t=e.text)=>{r+=W(a,s),a=e,s=t};for(;n<K.length&&K[n].joinPrev;n++){let r=K[n];if(Bh(r.text)){let n=[...r.text],a=0;for(;a<n.length&&Ns.lineStartForbidden.has(n[a].codePointAt(0));)a++;if(a<n.length){let o=n.slice(0,a).join(``),s=je(r,o);e+=s,o.length>0&&(c(r,o),G(i,r,o)),t=0;break}}let a=Oe(r);e+=a,c(r),G(i,r);let o=r.text.replace(/ +$/,``),s=r.text.endsWith(` `)?a-je(r,o):0;t=o.length===0&&t>0?t+s:s}r+=W(a,s.replace(/ +$/,``)),T+te(e,t,K[n])>H()+F(K[n],r,i)&&U(void 0,!1,o.src)}if(re&&w.length>0&&(()=>{let e=w[w.length-1];return!(`text`in e)||e.text.endsWith(` `)})()){let e=_,t=N,n=0,r=j+W(o,M),i=new Set(P);if(!o.text.endsWith(` `))for(;n<K.length;n++){let a=K[n];if(!(`text`in a)||a.seaBreaks===void 0||!Zs(a.text))break;let o=a,s=Oe(o),c=o.text.replace(/ +$/,``);if(e+=s,t=o.text.endsWith(` `)?s-je(o,c):0,r+=W(o,c),G(i,o,c),o.text.endsWith(` `)){n++;break}}let a=te(e,t,K[n]);T+a>H()+F(K[n],r,i)&&a<=z&&U(void 0,!1,o.src)}let I=F(K[0],j+W(o,M),P),L=[...M],V=L.at(-1),ie=L.slice(0,-1).join(``),ae=y&&V!==void 0&&(w.length>0||ie.length>0)&&Em(V,o.eastAsiaLanguage)&&T+je(o,ie)<=H()+I;if(T+ne<=H()+I)o.measuredWidth=_,ge(o,_,x,k,A,N);else if(ae)o.measuredWidth=_,ge(o,_,x,k,A,N);else if(Bh(o.text)&&o.seaBreaks===void 0){let t=H()-T;ye(nh(o.bold,o.italic,_e(o),o.fontFamily,s,o.fontRoute));let n=be(o),r=``;try{r=t>0?Kh(e,o.text,t,dh(o,u,i),xh(o),fh(o,i),o.verticalRun===!0,v,e=>je(o,e)):``}finally{xe(n)}let a=[...o.text],c=[...r].length,d=w.length>0?0:1,f=Gh(a,(y&&c<a.length&&(w.length>0||c>0)&&Em(a[c],o.eastAsiaLanguage)?c+1:null)??Ps(a,c,l,d)),p=a.slice(0,f).join(``);if(p.length>0){let e=ke(o,p);ge({...o,text:p,measuredWidth:e,punctuationCompressions:_h(o,0,p.length)},e,x,k,A);let t=o.text.slice(p.length);t&&K.unshift({...o,text:t,punctuationCompressions:_h(o,p.length,o.text.length),measuredWidth:0,src:{segIndex:o.src.segIndex,charOffset:o.src.charOffset+p.length}})}else if(w.length>0){let e=null,t=o.text.codePointAt(0),n=w[w.length-1];if(t!==void 0&&l.lineStartForbidden.has(t)&&`text`in n){let t=n,r=[...t.text],i=Fs(r,l,w.length>1?0:1);if(i>0){let n=r.slice(0,r.length-i).join(``),a=r.slice(r.length-i).join(``);if(e={...t,text:a,punctuationCompressions:_h(t,n.length,t.text.length),measuredWidth:je(t,a,!0),src:{segIndex:t.src.segIndex,charOffset:t.src.charOffset+n.length}},n){let e=je(t,n);T-=t.measuredWidth-e,w[w.length-1]={...t,text:n,measuredWidth:e,punctuationCompressions:_h(t,0,n.length)}}else T-=t.measuredWidth,w.pop()}}U(void 0,!1,e?.src??o.src),K.unshift(o),e&&K.unshift(e)}else{let e=[...o.text],t=e.length>0?Gh(e,1):0,n=e.slice(0,t).join(``);if(n){let e=ke(o,n);ge({...o,text:n,measuredWidth:e,punctuationCompressions:_h(o,0,n.length)},e,x,k,A);let t=o.text.slice(n.length);t&&K.unshift({...o,text:t,punctuationCompressions:_h(o,n.length,o.text.length),measuredWidth:0,src:{segIndex:o.src.segIndex,charOffset:o.src.charOffset+n.length}})}}}else if(o.seaBreaks!==void 0){let e=H()-T,t=e=>je(o,e),n=Xs(o.text),r=oc(o.text,o.seaBreaks,0,e,t,n);if(r>0){let e=o.text.slice(0,r),t=ke(o,e);ge({...o,text:e,measuredWidth:t,punctuationCompressions:_h(o,0,e.length)},t,x,k,A);let n=o.text.slice(r);n&&K.unshift({...o,text:n,punctuationCompressions:_h(o,r,o.text.length),measuredWidth:0,src:{segIndex:o.src.segIndex,charOffset:o.src.charOffset+r},seaBreaks:Wh(o.seaBreaks,r)})}else if(w.length>0){let e=null,t=o.text.codePointAt(0),n=w[w.length-1];if(t!==void 0&&l.lineStartForbidden.has(t)&&`text`in n){let t=n,r=[...t.text],i=Fs(r,l,w.length>1?0:1);if(i>0){let n=r.slice(0,r.length-i).join(``),a=r.slice(r.length-i).join(``);if(e={...t,text:a,punctuationCompressions:_h(t,n.length,t.text.length),measuredWidth:je(t,a,!0),src:{segIndex:t.src.segIndex,charOffset:t.src.charOffset+n.length},seaBreaks:Wh(t.seaBreaks,n.length)},n){let e=je(t,n);T-=t.measuredWidth-e,w[w.length-1]={...t,text:n,measuredWidth:e,punctuationCompressions:_h(t,0,n.length)}}else T-=t.measuredWidth,w.pop()}}U(void 0,!1,e?.src??o.src),K.unshift(o),e&&K.unshift(e)}else{let r=o.seaBreaks[0]??o.text.length,i=o.text.slice(0,r),a=lc(i),s=oc(i,a,0,e,t,n);s<=0&&(s=a.length>0?a[0]:i.length);let c=o.text.slice(0,s),l=ke(o,c);ge({...o,text:c,measuredWidth:l,punctuationCompressions:_h(o,0,c.length)},l,x,k,A);let u=o.text.slice(s);u&&K.unshift({...o,text:u,punctuationCompressions:_h(o,s,o.text.length),measuredWidth:0,src:{segIndex:o.src.segIndex,charOffset:o.src.charOffset+s},seaBreaks:Wh(o.seaBreaks,s)})}}else if(w.length===0){let t=H();ye(nh(o.bold,o.italic,_e(o),o.fontFamily,s,o.fontRoute));let n=be(o),r=0;try{r=t>0?Kh(e,o.text,t,dh(o,u,i),xh(o),fh(o,i),o.verticalRun===!0,v,e=>je(o,e)).length:0}finally{xe(n)}let a=[0,...lc(o.text),o.text.length],c=a.filter(e=>e<=r).at(-1)??0;for(c<=0&&(c=a[1]??o.text.length);o.text.startsWith(` `,c);)c+=1;if(c>=o.text.length)o.measuredWidth=_,ge(o,_,x,k,A);else{let e=o.text.slice(0,c),t=ke(o,e);ge({...o,text:e,measuredWidth:t,punctuationCompressions:_h(o,0,e.length)},t,x,k,A),K.unshift({...o,text:o.text.slice(c),punctuationCompressions:_h(o,c,o.text.length),measuredWidth:0,src:{segIndex:o.src.segIndex,charOffset:o.src.charOffset+e.length}})}}else{if(o.joinPrev){o.measuredWidth=_,ge(o,_,x,k,A,N);continue}U(void 0,!1,o.src),K.unshift(o)}}if(w.length>0?U():Ie!==null&&U(Ie),_===`bounded`)for(let e of C)for(let t of e.segments)!(`text`in t)||t.metricOnly||t.text.length===0||(t.shapedClusters=void 0,t.textLayoutService&&t.textShapeRequest&&Se(t,!0));return C}const ig=e=>{let t=e.text;return typeof t==`string`?t:void 0},ag=e=>e.rtl===!0,og=e=>e.digitsAsAN===!0,sg=e=>`isTab`in e;function cg(e){for(let t of e){if(ag(t))return!0;let e=ig(t);if(e!==void 0&&ks(e))return!0}return!1}function lg(e,t){let n=e.length;if(n===0)return{order:[],rtl:[]};let r=``,i=Array(n),a=Array(n),o,s=()=>{for(o||=[];o.length<r.length;)o.push(null);return o};for(let t=0;t<n;t++){let n=ig(e[t])??``;if(i[t]=r.length,r+=n.length>0?n:``,a[t]=r.length,sg(e[t]))s()[i[t]]=`S`;else if(n.length>0&&(og(e[t])||ag(e[t]))){let n=s(),o=og(e[t]),c=ag(e[t]);for(let e=i[t];e<a[t];e++){let t=r.charCodeAt(e);o&&t>=48&&t<=57?n[e]=`AN`:c&&Bm(r[e])&&(n[e]=`R`)}}}if(o)for(;o.length<r.length;)o.push(null);let{levels:c,paragraphLevel:l}=Ds().computeLevels(r,t?`rtl`:`ltr`,o),u=Array(n),d=Array(n);for(let e=0;e<n;e++){let t=a[e];for(;t>i[e]&&r[t-1]===` `;)t--;let n=!1;for(let r=i[e];r<t;r++){let e=c[r];if(e!==255&&(e&1)==1){n=!0;break}}u[e]=n,d[e]=i[e];for(let r=i[e];r<t;r++){let t=c[r];if(t!==255&&(t&1)==1===n){d[e]=r;break}}}let{order:f}=As(c,l,d);return{order:f,rtl:u}}function ug(e,t){switch(e){case`center`:return`center`;case`both`:case`justify`:case`distribute`:case`lowKashida`:case`mediumKashida`:case`highKashida`:case`thaiDistribute`:return`justify`;case`end`:case`right`:return t?`left`:`right`;case`start`:case`left`:case void 0:default:return t?`right`:`left`}}function dg(e){switch(e){case`both`:case`justify`:case`distribute`:case`lowKashida`:case`mediumKashida`:case`highKashida`:case`thaiDistribute`:return!0;default:return!1}}function fg(e){return e===`distribute`}function pg(e,t){let n=e.map(e=>Object.freeze({...e})),r=Lp(n);return{lineWindow:({topYPt:e,minimumStartWidthPt:n,squareMinimumStartWidthPt:i,probeHeightPt:a,paragraphXPt:o,maximumWidthPt:s,columnXPt:c,columnWidthPt:l})=>{let u=tm(e,n,a,o,s,r,c,c+l,t??{xLeftPt:o,xRightPt:o+s,readingDirection:`ltr`},i??n);return{topYPt:u.topY,xOffsetPt:u.xOffset,maximumWidthPt:u.maxWidth}},skipTopAndBottomBands:({yPt:e,columnXPt:t,columnWidthPt:r})=>nm(e,n,t,t+r)}}function mg(e){if(e.characterGrid.active)return{type:e.characterGrid.kind,linePitchPt:null,characterPitchPt:e.characterGrid.pitchPt,charSpacePt:e.characterGrid.deltaPt}}function hg(e){let t=mg(e);return{type:t?t.type:e.lineGrid.active?`lines`:null,linePitchPt:e.lineGrid.active?e.lineGrid.pitchPt:null,characterPitchPt:e.characterGrid.active?e.characterGrid.pitchPt:null,charSpacePt:e.characterGrid.active?e.characterGrid.deltaPt:null}}function gg(e,t){if(!Dh(t))return e;let n=t.linePitchPt;return n<=0?e:e<=n?n:Math.ceil(e/n)*n}function _g(e,t,n,r,i,a){let o=hg(t),s=a_(t,n.availableWidthPt),c=Math.max(1,n.availableWidthPt-t.physicalIndentLeftPt-t.physicalIndentRightPt-s),l=n.paragraphXPt+t.physicalIndentLeftPt,u=t.spaceBeforePt,d=t.spaceAfterPt,f=Object.freeze({...n}),p=r.fontFamilyClasses,m=i.documentHasEastAsianText===!0||i.useFeLayout===!0,h=n.startYPt+(n.suppressSpaceBefore?0:u);n.wrap&&(h=n.wrap.skipTopAndBottomBands({yPt:h,columnXPt:n.paragraphXPt,columnWidthPt:n.availableWidthPt}));let g=()=>{let a=h,s=Ph(e,1,o,t.hasRuby,m,r.context,p,t.lineSpacing,i.resolvedLocalFonts,i.layoutServices?.text,i.paragraphMarkShapeInput,i.useFeLayout===!0);return n.wrap&&(a=n.wrap.lineWindow({topYPt:a,minimumStartWidthPt:ah(e),squareMinimumStartWidthPt:lp(ah(e),1),probeHeightPt:s,paragraphXPt:l,maximumWidthPt:c,columnXPt:n.paragraphXPt,columnWidthPt:n.availableWidthPt}).topYPt),{lines:[],markOnly:!0,requestedSpaceBeforePt:u,requestedSpaceAfterPt:d,uniformRubyAdvancePt:0,contentStartYPt:a,contentEndYPt:a+s,lastLineBelowBaselinePt:Ih(e,o,t.hasRuby,m,r.context,p,t.lineSpacing,i.resolvedLocalFonts,i.layoutServices?.text,i.paragraphMarkShapeInput,i.useFeLayout===!0),placement:f}},_=ng(e.runs,i);if(_.length===0)return g();let v=n.wrap?{startPageY:h,paraX:l,columnXPt:n.paragraphXPt,columnWidthPt:n.availableWidthPt,floats:[],paragraphMarkLineStartWidth:lp(ah(e),1),lineWindow:e=>n.wrap.lineWindow(e),lineBoxH:(e,n,r,i,a,s)=>Ah(t.lineSpacing,e,n,1,o,t.hasRuby,i??0,t.hasRuby?t.hasEastAsianText:a??!1,s),pageH:n.maximumYPt}:void 0,y=rg(r.context,_,c,a?0:t.firstIndentPt,1,[...t.tabStops],v,p,t.physicalIndentLeftPt,t.kinsoku,o,t.defaultTabPt,c+t.physicalIndentRightPt+s,t.baseRtl,t.isJustified,t.stretchLastLine,a?.boundary,void 0,i.verticalGlyphMeasurement,t.overflowPunct!==!1);if(y.length===0)return g();let b=t.hasRuby?gg(Math.max(0,...y.map(e=>Ah(t.lineSpacing,e.ascent,e.descent,1,o,!0,e.intendedSingle,t.hasEastAsianText))),o):0;t.hasRuby&&a?.uniformRubyAdvancePt!==void 0&&(b=Math.max(b,a.uniformRubyAdvancePt));let x=[];for(let e of y){let n=e.topY!==void 0&&e.topY>h?e.topY:h,r=t.hasRuby?b:Ah(t.lineSpacing,e.ascent,e.descent,1,o,!1,e.intendedSingle,e.eastAsian??!1,e.gridCountSingle);x.push({layout:e,topYPt:n,advancePt:r}),h=n+r}let S=x[x.length-1];return{lines:x,markOnly:!1,requestedSpaceBeforePt:u,requestedSpaceAfterPt:d,uniformRubyAdvancePt:b,contentStartYPt:x[0].topYPt,contentEndYPt:h,lastLineBelowBaselinePt:Fh(S.advancePt,S.layout.ascent,S.layout.descent),placement:f}}function vg(e){let t=e.leadingIndentPt+e.authoredFirstIndentPt+e.markerShiftPt;return{startPt:t,endPt:t+e.markerWidthPt}}function yg(e){let t=e.authoredFirstIndentPt+e.markerShiftPt;return e.baseRtl?e.alignedLeadingEdgePt-t-e.markerWidthPt:e.alignedLeadingEdgePt+t}function bg(e,t){let{numbering:n,markerInput:r,service:i}=t,a=n!=null&&(n.text!==``||n.picBulletImagePath!=null)&&(!e.baseRtl||(n?.suff||`tab`)===`tab`&&t.authoredFirstIndentPt<0);if(!n||!r||!i||!a)return e;let o=Cg(n,r,{authoredFirstIndentPt:t.authoredFirstIndentPt,physicalIndentLeftPt:e.physicalIndentLeftPt,tabStops:t.tabStops,defaultTabPt:t.defaultTabPt??e.defaultTabPt},i,t.clusterGeometry??!0);return{...e,firstIndentPt:o.bodyOffsetPt,numberingMarkerGeometry:o}}function xg(e,t,n,r,i=!0){return r?{shape:r.shape({text:t,fontSizePt:e.fontSizePt*n,fonts:e.fonts,themeFonts:e.themeFonts,themeFontPresence:e.themeFontPresence,weight:e.weight,style:e.style,complexScript:e.complexScript,fontHint:e.fontHint,eastAsiaLanguage:e.eastAsiaLanguage,kerning:e.kerning,measure:!0,clusterGeometry:i}),fontSizePx:e.fontSizePt*n}:null}function Sg(e,t,n){return t.find(t=>km(e,t))??nf(e,[...t],n)}function Cg(e,t,n,r,i=!0){let a=e.picBulletImagePath?``:pe(e.text,e.fontFamily??null),o=a?xg(t,a,1,r,i)?.shape??null:null,s=e.picBulletImagePath?e.picBulletWidthPt??t.fontSizePt:o?.advancePt??0,c=e.jc===`right`?-s:e.jc===`center`?-s/2:0,l=n.authoredFirstIndentPt+c+s,u=e.suff||`tab`,d=l;if(u===`space`)d+=xg(t,` `,1,r,i)?.shape.advancePt??0;else if(u===`tab`&&(d=0,l>0)){let e=Sg(n.physicalIndentLeftPt+l,n.tabStops,n.defaultTabPt);d=e?e.pos-n.physicalIndentLeftPt:l}return{bodyOffsetPt:d,markerText:a,markerWidthPt:s,markerShiftPt:c,shape:o}}function wg(e,t,n){let r=0,i=0;for(let t of e.content){let e=t.type===`paragraph`?n.paragraph(t):n.nestedTable(t);r=Math.max(r,e.minWidthPt),i=Math.max(i,e.maxWidthPt)}let a=Math.max(0,t.left)+Math.max(0,t.right);return{minWidthPt:r+a,maxWidthPt:Math.max(r,i)+a}}function Tg(e){let t=e.textShapeRequest,n=e=>e?[e.ascii??null,e.highAnsi??null,e.eastAsia??null,e.complexScript??null]:null;return ru(`paragraph-intrinsic-text`,[e.textLayoutService?.fingerprint??null,t?[n(t.fonts),n(t.themeFonts),t.themeFontPresence?[t.themeFontPresence.ascii??!1,t.themeFontPresence.highAnsi??!1,t.themeFontPresence.eastAsia??!1,t.themeFontPresence.complexScript??!1]:null,t.fontHint??null,t.fontSizePt,t.weight??null,t.style??null,t.complexScript??!1,t.eastAsiaLanguage??null,t.eastAsiaFontCharset??null,t.genericFamily??null,t.letterSpacingPt??null,t.kerning??null]:null,e.bold,e.italic,ef(e,1),e.fontFamily,e.fontRoute??null,e.charScale??1,e.charSpacing??0,e.fitTextPerGapPx??null,e.fitTextTrailingPadPx??null,e.fitTextRegionIndex??null,e.snapToCharacterGrid!==!1,e.widthBalanceGridDeltaFactor??null,e.widthBalanceSpaceSequence??!1,e.widthBalanceSpaceAdjustmentPt??null,e.script,e.tateChuYoko??!1,e.tateChuYoko?e.sourceRunIndex??null:null,e.ruby?[e.sourceRunIndex??null,e.ruby.text,e.ruby.fontSizePt,e.ruby.hpsRaisePt??null]:null,e.verticalRun??!1])}function Eg(e){let t=[];for(let n of e){let e=t.at(-1);if(e&&`text`in e&&`text`in n&&Tg(e)===Tg(n)){let r=e.text.length,i=e.text+n.text,a=[...e.punctuationCompressions??[],...(n.punctuationCompressions??[]).map(e=>({end:r+e.end,adjustmentPt:e.adjustmentPt}))];t[t.length-1]={...e,text:i,punctuationCompressions:a.length>0?a:void 0,textShapeRequest:e.textShapeRequest?{...e.textShapeRequest,text:i}:void 0};continue}t.push({...n})}return t}function Dg(e,t,n,r,i,a){let o=0,s=null,c=a?.type===`snapToChars`&&a.characterPitchPt!=null&&a.characterPitchPt>0?a.characterPitchPt:null,l=()=>{!s||c==null||(o+=Eh(s.naturalWidthPt,s.kind,c),s=null)};for(let u of e){let e=Math.max(n,u.start),d=Math.min(r,u.end);if(e>=d)continue;let f=t.slice(e,d),p=e-u.start,m=d-u.start,h={...u.segment,text:f,punctuationCompressions:_h(u.segment,p,m)},g=e=>e.textLayoutService&&e.textShapeRequest?wh(e,e.textLayoutService.shape({...e.textShapeRequest,text:e.text,fontSizePt:ef(e,1),measure:!0,clusterGeometry:!1}).advancePt,a,1):(i.context.font=nh(e.bold,e.italic,ef(e,1),e.fontFamily,i.fontFamilyClasses,e.fontRoute),wh(e,i.context.measureText(e.text).width,a,1)),_=Th(h,a);if(_===`eastAsia`&&c!=null){l();let e=h.textLayoutService&&h.textShapeRequest?h.textLayoutService.shape({...h.textShapeRequest,text:f,fontSizePt:ef(h,1),measure:!0,clusterGeometry:!0}).clusters:void 0,t=e?.length?null:[...new Set([0,...lc(f),f.length])].sort((e,t)=>e-t),n=e?.map(e=>({start:e.range.start,end:e.range.end,naturalWidthPt:wh({...h,text:f.slice(e.range.start,e.range.end),punctuationCompressions:_h(h,e.range.start,e.range.end)},e.advancePt,a,1)}))??t.slice(0,-1).map((e,n)=>{let r=t[n+1];return{start:e,end:r,naturalWidthPt:g({...h,text:f.slice(e,r),punctuationCompressions:_h(h,e,r)})}}),r=0;for(let e of n)e.end<=e.start||(r+=pm(e.naturalWidthPt,c));o+=Eh(n.reduce((e,t)=>e+t.naturalWidthPt,0),_,c,Math.max(1,r))}else{let e=g(h);if((_===`latin`||_===`complexScript`)&&c!=null){let t=s;t?.kind===_?s={kind:_,naturalWidthPt:t.naturalWidthPt+e}:(l(),s={kind:_,naturalWidthPt:e})}else l(),o+=e}}return l(),o}function Og(e,t,n){let r=mg(t),i=0;for(let a=0;a<e.length;a+=1){let o=e[a];if(!(`text`in o)||o.text.length===0)continue;let s=[],c=``,l=e=>{let t=c.length;c+=e.text,s.push({segment:e,start:t,end:c.length})};for(l(o);a+1<e.length;){let t=e[a+1];if(!(`text`in t)||t.joinPrev!==!0)break;l(t),a+=1}let u=0;for(let e of Zh(c)){let a=e.replace(/\\s+$/u,``),o=u,l=u+a.length;if(u+=e.length,!a)continue;if(!Bh(a)){i=Math.max(i,Dg(s,c,o,l,n,r));continue}let d=[0,...lc(a),a.length],f=[];for(let e=1;e<d.length;e+=1)f.push({text:a.slice(d[e-1],d[e]),start:o+d[e-1],end:o+d[e]});let p=[],m=f[0];for(let e=1;e<f.length;e+=1){let n=[...m.text].at(-1)?.codePointAt(0),r=f[e].text.codePointAt(0);n!==void 0&&r!==void 0&&!t.kinsoku.lineEndForbidden.has(n)&&!t.kinsoku.lineStartForbidden.has(r)?(p.push(m),m=f[e]):m={text:m.text+f[e].text,start:m.start,end:f[e].end}}m&&p.push(m);for(let e of p)i=Math.max(i,Dg(s,c,e.start,e.end,n,r))}}return i}function kg(e,t,n){let r=(n.baseRtl?n.physicalIndentRightPt:n.physicalIndentLeftPt)+(t===0?n.firstIndentPt:0)+e.xOffset;return{startPt:r,endPt:r+e.segments.reduce((e,t)=>e+t.measuredWidth,0)}}function Ag(e,t,n,r,i,a){if(!Number.isFinite(n)||n<0)throw RangeError(`maximumWidthPt must be finite and non-negative`);if(n===0)return{minWidthPt:0,maxWidthPt:0};let o=Eg(ng(e.runs,i)),s=Math.max(1,n-t.physicalIndentLeftPt-t.physicalIndentRightPt),c=o.length===0?[]:rg(r.context,o,s,t.firstIndentPt,1,[...t.tabStops],void 0,r.fontFamilyClasses,t.physicalIndentLeftPt,t.kinsoku,mg(t),t.defaultTabPt,s+t.physicalIndentRightPt,t.baseRtl,t.isJustified,t.stretchLastLine,void 0,`intrinsic`,i.verticalGlyphMeasurement,t.overflowPunct!==!1),l=t.baseRtl?t.physicalIndentLeftPt:t.physicalIndentRightPt,u=0,d=0;c.forEach((e,n)=>{let r=kg(e,n,t);u=Math.min(u,r.startPt),d=Math.max(d,r.endPt)});let f=a?vg({leadingIndentPt:t.baseRtl?t.physicalIndentRightPt:t.physicalIndentLeftPt,authoredFirstIndentPt:e.indentFirst,markerShiftPt:a.markerShiftPt,markerWidthPt:a.markerWidthPt}):void 0;f&&(u=Math.min(u,f.startPt),d=Math.max(d,f.endPt));let p=Math.min(n,Math.max(0,d-u+l)),m=Og(o,t,r);for(let e of c){let t=0,n=e.segments.reduce((e,t)=>e+t.measuredWidth,0);for(let r of e.segments)t+=r.measuredWidth,`imagePath`in r&&!r.anchor||`math`in r?m=Math.max(m,r.measuredWidth):`isTab`in r&&(m=Math.max(m,r.resolvedAlignment===`left`?t:n))}let h=t.baseRtl?t.physicalIndentRightPt:t.physicalIndentLeftPt,g=h,_=Math.min(0,g),v=Math.max(0,g+m),y=h+t.firstIndentPt;return _=Math.min(_,y),v=Math.max(v,y+m),f&&(_=Math.min(_,f.startPt),v=Math.max(v,f.endPt)),{minWidthPt:Math.min(n,Math.max(0,v-_+l)),maxWidthPt:p}}function jg(e,t){if(!e||t?.suppressBottom)return 0;let n=e.bottom;return!n||n.style===`none`?0:(n.space??0)+(n.width??0)/2}function Mg(e){return e==null||e.style===`none`?null:e}function Ng(e,t){let n=Mg(e),r=Mg(t);return n==null||r==null?n==null&&r==null:n.style===r.style&&n.width===r.width&&(n.space??0)===(r.space??0)&&(n.color??null)===(r.color??null)}function Pg(e,t){return!e||!t?!1:Ng(e.top,t.top)&&Ng(e.bottom,t.bottom)&&Ng(e.left,t.left)&&Ng(e.right,t.right)&&Ng(e.between,t.between)}function Fg(e){return e?[e.top,e.right,e.bottom,e.left,e.between].some(e=>e!=null&&e.style!==`none`):!1}function Ig(e,t){return!e||!t||e.framePr||t.framePr?!1:Fg(e.borders)&&Fg(t.borders)&&Pg(e.borders,t.borders)}function Lg(e,t,n,r=!1){let i=(e,t)=>r?!!e&&!!t&&!!e.framePr&&!!t.framePr&&Fg(e.borders)&&Fg(t.borders)&&Pg(e.borders,t.borders):Ig(e,t),a=i(e,t),o=i(t,n),s=t.borders?.between;return Object.freeze({top:a?s&&s.style!==`none`?`between`:`none`:`top`,bottom:o?`none`:`bottom`})}function Rg(e,t,n,r,i,a){return Ag(e,t,n,r,i,a).maxWidthPt}function zg(e){let t=e;return ru(`w:framePr`,[t.dropCap,t.lines,t.wrap,t.hAnchor,t.vAnchor,t.hRule,t.hSpace,t.vSpace,t.w??null,t.h??null,t.x??null,t.y??null,t.xAlign??null,t.yAlign??null,t.__anchorLock===!0])}function Bg(e){let t=new WeakMap;for(let n=0;n<e.length;){let r=e[n];if(r?.type!==`paragraph`||!r.framePr){n+=1;continue}let i=zg(r.framePr),a=[r],o=[n],s=n+1;for(;s<e.length;){let t=e[s];if(t?.type!==`paragraph`||!t.framePr||zg(t.framePr)!==i)break;a.push(t),o.push(s),s+=1}let c=Object.freeze({id:`${i}:${n}`,owner:r,members:Object.freeze(a),sourceIndices:Object.freeze(o),framePr:r.framePr});for(let e of a)t.set(e,c);n=s}return t}const Vg=new WeakMap,Hg=new WeakMap;function Ug(e){let t=Bg(e);for(let n=0;n<e.length;n+=1){let r=e[n];if(r.type!==`paragraph`)continue;let i=t.get(r);i&&Vg.set(r,i);let a=e[n-1],o=e[n+1],s=a?.type===`paragraph`&&t.get(a)===i?a:null,c=o?.type===`paragraph`&&t.get(o)===i?o:null;Hg.set(r,Lg(i?s:a?.type===`paragraph`?a:null,r,i?c:o?.type===`paragraph`?o:null,i!==void 0))}}const Wg=e=>Vg.get(e),Gg=e=>Hg.get(e);function Kg(e){return{story:e.story,containers:[...e.containers,{kind:`tableCell`}],lineNumberingEligible:!1}}function qg(e){return e.runs.some(e=>e.type===`text`&&!!e.ruby)}function Jg(e){return e.runs.some(e=>e.type===`text`&&tf.test(e.text))}function Yg(e){for(let t of e){if(t.type===`paragraph`){if(Jg(t))return!0;continue}if(t.type===`table`){for(let e of t.rows)for(let t of e.cells)if(Yg(t.content))return!0}}return!1}function Xg(e,t={normalStyleFontSizePt:10}){return Ug(e.body),{kinsoku:Ms(e.settings),defaultTabPt:Qh(e.settings),characterSpacingControl:e.settings?.characterSpacingControl,mathDefJc:e.settings?.mathDefJc,documentHasEastAsianText:Yg(e.body),normalStyleFontSizePt:t.normalStyleFontSizePt,compat:{adjustLineHeightInTable:e.settings?.adjustLineHeightInTable??!1,useFeLayout:e.settings?.useFeLayout??!1,balanceSingleByteDoubleByteWidth:e.settings?.balanceSingleByteDoubleByteWidth??!1}}}function Zg(e){let t=e.pageWidth-e.marginLeft-e.marginRight,n=e.columns;if(!n||n.count<=1)return[{xPt:e.marginLeft,wPt:Math.max(1,t)}];if(!n.equalWidth&&n.cols.length>0){let t=[],r=e.marginLeft;for(let e of n.cols)t.push({xPt:r,wPt:Math.max(1,e.widthPt)}),r+=e.widthPt+e.spacePt;return t}let r=Math.max(1,(t-(n.count-1)*n.spacePt)/n.count);return Array.from({length:n.count},(t,i)=>({xPt:e.marginLeft+i*(r+n.spacePt),wPt:r}))}function Qg(e){switch(e){case`lines`:case`linesAndChars`:case`snapToChars`:return e;default:return`none`}}function $g(e){return e===`lines`||e===`linesAndChars`||e===`snapToChars`}function e_(e){return e===`linesAndChars`||e===`snapToChars`}function t_(e,t){return{geometry:{pageWidth:t.pageWidth,pageHeight:t.pageHeight,marginTop:t.marginTop,marginRight:t.marginRight,marginBottom:t.marginBottom,marginLeft:t.marginLeft,headerDistance:t.headerDistance,footerDistance:t.footerDistance},columns:Zg(t),columnSeparator:t.columns?.sep===!0,grid:{kind:Qg(t.docGridType),linePitchPt:t.docGridLinePitch??null,charSpacePt:t.docGridCharSpace==null?null:t.docGridCharSpace/4096},textDirection:t.textDirection??`lrTb`,sectionBidi:!1,verticalAlignment:t.vAlign??`top`,lineNumbering:t.lineNumbering??void 0}}function n_(e){return e.containers.some(e=>e.kind===`tableCell`)}function r_(e,t,n,r){let i=$g(t.grid.kind)&&t.grid.linePitchPt!=null&&t.grid.linePitchPt>0&&r.snapToGrid!==!1&&r.lineSpacing?.rule!==`exact`&&(!n_(n)||e.compat.adjustLineHeightInTable),a=e_(t.grid.kind),o=r.bidi===!0,s=n_(n),c=a?e.normalStyleFontSizePt+(t.grid.charSpacePt??0):null,l=t.grid.kind===`linesAndChars`?c:null,u=r.numbering,d=u!=null&&(u.text!==``||u.picBulletImagePath!=null),f=o&&d&&(u.suff||`tab`)===`tab`&&r.indentFirst<0;return{lineGrid:{active:i,pitchPt:i?t.grid.linePitchPt:null},characterGrid:{active:a,kind:a?t.grid.kind:null,deltaPt:a?t.grid.charSpacePt??0:0,pitchPt:c!=null&&c>0?c:null},rightIndentGrid:{pitchPt:l!=null&&l>0?l:null,paragraphAllowsAdjustment:r.adjustRightInd!==!1&&mm(s)},physicalIndentLeftPt:o?r.indentRight:r.indentLeft,physicalIndentRightPt:o?r.indentLeft:r.indentRight,firstIndentPt:f?0:r.indentFirst,lineSpacing:r.lineSpacing,spaceBeforePt:r.spaceBefore,spaceAfterPt:r.spaceAfter,baseRtl:o,isJustified:dg(r.alignment),stretchLastLine:fg(r.alignment),tabStops:i_(r),hasRuby:qg(r),hasEastAsianText:Jg(r),kinsoku:e.kinsoku,defaultTabPt:e.defaultTabPt,overflowPunct:r.overflowPunct!==!1,mathDefJc:e.mathDefJc}}function i_(e){let t=e.tabStops.filter(e=>e.alignment!==`clear`).map(e=>({...e})),n=e.indentLeft,r=t.some(e=>e.pos===n&&gm(e.alignment));return(e.indentFirst<0&&!r?[{pos:n,alignment:`left`,leader:`none`},...t]:t).sort((e,t)=>e.pos-t.pos)}function a_(e,t){let{pitchPt:n,paragraphAllowsAdjustment:r}=e.rightIndentGrid;return!r||n==null?0:hm(t,n)}X({id:`word-default-line-number-distance`,evidence:{kind:`regression-test`,reference:`packages/docx/src/layout/compatibility.test.ts#uses Word's observed 18pt line-number distance only when omitted`},description:`ECMA-376 §17.6.8 leaves an omitted line-number distance implementation-defined. Preserve Word-compatible 18pt placement only when the authored distance is absent.`}),X({id:`word-continuous-section-page-number-restart`,evidence:{kind:`regression-test`,reference:`packages/docx/src/page-number-field-render.test.ts#restarts a spilling continuous section after its shared first page`},description:`Issue #804 records that Word anchors a continuous section page-number restart to the section first appearance on the shared physical page, so its next owned page advances from that appearance.`}),X({id:`word-trailing-empty-mark-baseline-admission`,evidence:{kind:`regression-test`,reference:`packages/docx/src/paginate-trailing-empty-mark-fit.test.ts#KEEPS an inkless empty paragraph on the page when ink-bearing content follows and only its below-baseline whitespace overflows`},description:`At the unreserved physical body edge, Word admits an undecorated non-terminal empty paragraph mark by its baseline when later ink follows in the same flow.`}),X({id:`word-section-mark-blank-page-suppression`,evidence:{kind:`office-observation`,syntheticFixtureId:`next-page-section-mark-bottom-edge-admission`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`For the observed nextPage boundary, Word consumes an undecorated inkless paragraph that carries the section boundary on the outgoing page instead of creating an otherwise empty intermediate page solely for that non-painting mark. The following section still starts its requested page. Other section-start kinds remain outside this observation.`}),X({id:`word-book-fold-gutter-right-edge`,evidence:{kind:`microsoft-note`,reference:`[MS-OI29500] §§2.1.389, 2.1.391`},description:`For book-fold printing Word places the automatic gutter at the right-margin bisector edge, including reverse book-fold mode.`});function o_(e){return e??18}function s_(e,t,n){return e+t-n}function c_(e){return!e.hasContinuationBoundary&&e.inkless&&e.undecorated&&!e.keepNext&&e.markReservePt===0&&e.pageBottomIsUnreserved&&e.physicalRegionBottomIsActive?e.followsNextPageSectionBoundary?Math.max(0,e.markExtentPt):e.hasFollowingInk?e.markBelowBaselinePt:0:0}function l_(){return`right`}function u_(e){if(e.sectionOccurrenceId.length===0)throw RangeError(`Section occurrence id must not be empty`);if(e.columns.length===0)throw RangeError(`A page-flow section requires at least one column`);return Object.freeze({sectionOccurrenceId:e.sectionOccurrenceId,geometry:Object.freeze({...e.geometry}),columns:Object.freeze(e.columns.map(e=>Object.freeze({...e}))),textDirection:e.textDirection,sectionBidi:e.sectionBidi??!1,grid:Object.freeze(e.grid??{kind:`none`,linePitchPt:null,charSpacePt:null})})}function d_(e){return p_(e.geometry.marginTop)}function f_(e){return e.geometry.pageHeight-p_(e.geometry.marginBottom)}function p_(e){return Math.abs(e)}function m_(e){return{pageWidth:e.pageHeight,pageHeight:e.pageWidth,marginLeft:e.marginTop,marginTop:e.marginRight,marginRight:e.marginBottom,marginBottom:e.marginLeft,headerDistance:e.headerDistance,footerDistance:e.footerDistance}}function h_(e){return{pageWidth:e.pageHeight,pageHeight:e.pageWidth,marginTop:e.marginLeft,marginRight:e.marginTop,marginBottom:e.marginRight,marginLeft:e.marginBottom,headerDistance:e.headerDistance,footerDistance:e.footerDistance}}function g_(e){return e===`tbRl`||e===`tbRlV`||e===`tbLrV`||e===`btLr`}function __(e,t){if(!Number.isInteger(t)||t<0)throw RangeError(`Physical page index must be a non-negative integer`);let{pageWidth:n,pageHeight:r}=e.physicalGeometry,{marginTop:i,marginRight:a,marginBottom:o,marginLeft:s}=e.physicalGeometry,c=e.bookFoldPrinting||e.bookFoldRevPrinting;return c?(n/=2,l_()===`right`&&(a+=e.gutterPt)):e.printTwoOnOne?(r/=2,i+=e.gutterPt):e.gutterAtTop&&!e.mirrorMargins?i+=e.gutterPt:e.rtlGutter?a+=e.gutterPt:s+=e.gutterPt,!c&&!e.printTwoOnOne&&e.mirrorMargins&&t%2==1&&([s,a]=[a,s]),{...e.physicalGeometry,pageWidth:n,pageHeight:r,marginTop:i,marginRight:a,marginBottom:o,marginLeft:s}}function v_(e,t,n){let r=__(t,n),i=g_(t.textDirection)?m_(r):r;return Object.freeze({...e,geometry:Object.freeze(i),columns:Object.freeze(Zg({...i,titlePage:!1,evenAndOddHeaders:!1,columns:t.columns}).map(e=>Object.freeze(e)))})}function y_(e){return{pageWidth:e.pageWidth,pageHeight:e.pageHeight,marginTop:e.marginTop,marginRight:e.marginRight,marginBottom:e.marginBottom,marginLeft:e.marginLeft,headerDistance:e.headerDistance,footerDistance:e.footerDistance}}function b_(){return{pageWidth:612,pageHeight:792,marginTop:72,marginRight:72,marginBottom:72,marginLeft:72,headerDistance:36,footerDistance:36}}function x_(e,t=!1){let n=e.docGridType===`lines`||e.docGridType===`linesAndChars`||e.docGridType===`snapToChars`?e.docGridType:`none`;return Object.freeze({geometry:Object.freeze(y_(e)),columns:Object.freeze(Zg(e).map(e=>Object.freeze(e))),columnSeparator:e.columns?.sep===!0,grid:Object.freeze({kind:n,linePitchPt:e.docGridLinePitch??null,charSpacePt:e.docGridCharSpace==null?null:e.docGridCharSpace/4096}),textDirection:e.textDirection??`lrTb`,sectionBidi:t,verticalAlignment:e.vAlign??`top`,...e.lineNumbering===null||e.lineNumbering===void 0?{}:{lineNumbering:Object.freeze({...e.lineNumbering})}})}function S_(e,t){switch(e.display){case`firstPage`:return t;case`notFirstPage`:return!t;default:return!0}}function C_(e){return e!==void 0&&/^[0-9a-fA-F]{6}$/.test(e)?`#${e}`:`#000000`}function w_(e){return e!==void 0&&Number.isFinite(e.space)?e.space:0}function T_(e,t,n,r){let i=Number.isFinite(e.width)?e.width:.5;return Object.freeze({edge:t,from:Object.freeze(n),to:Object.freeze(r),color:C_(e.color),widthPt:i,...$d(e.style,i)})}function E_(e,t,n,r){if(!e||!S_(e,r))return null;let{geometry:i}=t,a=e.offsetFrom===`text`,o=a?i.marginLeft:0,s=a?i.pageWidth-i.marginRight:i.pageWidth,c=a?p_(i.marginTop):0,l=a?i.pageHeight-p_(i.marginBottom):i.pageHeight,u=c+w_(e.top),d=l-w_(e.bottom),f=o+w_(e.left),p=s-w_(e.right),m=[];if(e.top&&m.push(T_(e.top,`top`,{xPt:f,yPt:u},{xPt:p,yPt:u})),e.bottom&&m.push(T_(e.bottom,`bottom`,{xPt:f,yPt:d},{xPt:p,yPt:d})),e.left&&m.push(T_(e.left,`left`,{xPt:f,yPt:u},{xPt:f,yPt:d})),e.right&&m.push(T_(e.right,`right`,{xPt:p,yPt:u},{xPt:p,yPt:d})),m.length===0)return null;let h=Xd(Rd(t.textDirection),n);return Object.freeze({zOrder:e.zOrder===`back`?`back`:`front`,logicalToPhysical:Object.freeze({...h.logicalToPhysical}),segments:Object.freeze(m)})}function D_(e,t,n){return`page:${e}:region:${encodeURIComponent(t)}:column:${n}`}function O_(e){return k_(e),{xPt:0,yPt:0,widthPt:e.widthPt,heightPt:e.heightPt,contentTopPt:e.contentTopPt,contentBottomPt:e.contentBottomPt}}function k_(e){if(!Number.isFinite(e.widthPt)||!Number.isFinite(e.heightPt)||!Number.isFinite(e.contentTopPt)||!Number.isFinite(e.contentBottomPt)||e.widthPt<=0||e.heightPt<=0||e.contentTopPt<0||e.contentTopPt>e.contentBottomPt||e.contentBottomPt>e.heightPt)throw RangeError(`Effective page edges must satisfy 0 <= contentTopPt <= contentBottomPt <= heightPt`)}function A_(e,t){if(e.length===0)throw RangeError(`${t} must not be empty`)}function j_(e,t){if(e&&t===void 0)throw RangeError(`Page-border finalization requires explicit section-owned page identity`);return t??!1}function M_(e,t){return e.length===t.length&&e.every((e,n)=>{let r=t[n];return r!==void 0&&e.xPt===r.xPt&&e.wPt===r.wPt})}function N_(e,t){return e===t||e!==void 0&&t!==void 0&&e.start===t.start&&e.countBy===t.countBy&&e.distance===t.distance&&e.restart===t.restart}function P_(e,t){return e.geometry.pageWidth===t.geometry.pageWidth&&e.geometry.pageHeight===t.geometry.pageHeight&&e.geometry.marginTop===t.geometry.marginTop&&e.geometry.marginRight===t.geometry.marginRight&&e.geometry.marginBottom===t.geometry.marginBottom&&e.geometry.marginLeft===t.geometry.marginLeft&&e.geometry.headerDistance===t.geometry.headerDistance&&e.geometry.footerDistance===t.geometry.footerDistance&&M_(e.columns,t.columns)&&e.columnSeparator===t.columnSeparator&&e.textDirection===t.textDirection&&e.sectionBidi===!0==(t.sectionBidi===!0)&&e.grid.kind===t.grid.kind&&e.grid.linePitchPt===t.grid.linePitchPt&&e.grid.charSpacePt===t.grid.charSpacePt&&e.verticalAlignment===t.verticalAlignment&&N_(e.lineNumbering,t.lineNumbering)}function F_(e){if(Rd(e.section.textDirection)!==e.writingMode)throw RangeError(`Section region writing mode must agree with its section text direction`);let t=e.section.sectionBidi===!0?`rtl`:`ltr`;if(e.columnFlowDirection!==void 0&&e.columnFlowDirection!==t)throw RangeError(`Section region column flow direction must agree with sectPr bidi`);let n=e.columnIndexes??e.section.columns.map((e,t)=>t);if(e.columns.length!==n.length||n.some((t,r)=>!Number.isInteger(t)||t<0||t>=e.section.columns.length||r>0&&t<=n[r-1])||e.columns.some((t,r)=>{let i=e.section.columns[n[r]];return i===void 0||t.inlineStartPt!==i.xPt||t.inlineExtentPt!==i.wPt}))throw RangeError(`Section region columns must equal its normalized section columns`)}function I_(e){if(!Number.isInteger(e)||e<0)throw RangeError(`Layout page index must be a non-negative integer`)}function L_(e,t,n){let r=[],i=[],a=new Map,o=new Set,s=new Set,c,l=[];for(let u of n){if(A_(u.id,`Section region id`),A_(u.sectionOccurrenceId,`Section occurrence id`),o.has(u.id)||s.has(u.sectionOccurrenceId))throw RangeError(`Section region and occurrence identities must be unique`);if(o.add(u.id),s.add(u.sectionOccurrenceId),c!==void 0&&c!==u.writingMode)throw RangeError(`One physical page cannot mix writing modes`);c=u.writingMode,F_(u);let n=Wd({widthPt:u.section.geometry.pageWidth,heightPt:u.section.geometry.pageHeight},u.writingMode);if(n.widthPt!==t.widthPt||n.heightPt!==t.heightPt)throw RangeError(`Section regions on one physical page must use the same page box: expected ${n.widthPt}x${n.heightPt}, got ${t.widthPt}x${t.heightPt}`);let d=Ud(t,u.writingMode),f=d.widthPt,p=d.heightPt;if(!Number.isFinite(u.blockStartPt)||!Number.isFinite(u.blockEndPt)||u.blockStartPt<0||u.blockEndPt<u.blockStartPt||u.blockEndPt>p)throw RangeError(`Section regions must be inside the logical page`);if(u.columns.length===0)throw RangeError(`Section region must contain a column`);let m=u.columnIndexes??u.section.columns.map((e,t)=>t),h=0,g=Xd(u.writingMode,t),_=u.columns.map((t,n)=>{let r=m[n];if(!Number.isFinite(t.inlineStartPt)||!Number.isFinite(t.inlineExtentPt)||t.inlineStartPt<0||t.inlineExtentPt<=0||t.inlineStartPt+t.inlineExtentPt>f||t.inlineStartPt<h)throw RangeError(`Columns must be ordered, disjoint, and inside the logical page`);h=t.inlineStartPt+t.inlineExtentPt;let o=D_(e,u.id,r);if(a.has(o))throw RangeError(`Duplicate flow domain ${o}`);let s={xPt:t.inlineStartPt,yPt:u.blockStartPt,widthPt:t.inlineExtentPt,heightPt:u.blockEndPt-u.blockStartPt},c=Jd(g.logicalToPhysical,s);if(l.some(e=>c.xPt<e.xPt+e.widthPt&&e.xPt<c.xPt+c.widthPt&&c.yPt<e.yPt+e.heightPt&&e.yPt<c.yPt+c.heightPt))throw RangeError(`Section flow domains on one page must be physically disjoint`);return l.push(c),i.push({id:o,kind:`body`,logicalBounds:s,physicalBounds:c}),a.set(o,u.sectionOccurrenceId),o});r.push({id:u.id,sectionOccurrenceId:u.sectionOccurrenceId,coordinateSpace:g,blockStartPt:u.blockStartPt,blockEndPt:u.blockEndPt,columnFlowDirection:u.columnFlowDirection??(u.section.sectionBidi===!0?`rtl`:`ltr`),columnIndexes:Object.freeze([...m]),flowDomainIds:_,section:u.section})}return{regions:r,domains:i,sectionByDomain:a}}function R_(e,t){if(e.kind===`paragraph`){t(e),e.drawings.forEach(e=>R_(e,t)),e.textBoxes.forEach(e=>R_(e,t));return}if(e.kind===`table`){z_(e,t);return}e.kind===`textbox`&&B_(e,t)}function z_(e,t){for(let n of e.rows)for(let e of n.cells)for(let n of e.blocks)R_(n.layout,t)}function B_(e,t){e.story.blocks.forEach(e=>R_(e,t))}function V_(e,t,n){let r=[],i=new Set;for(let a of e){let e=n.get(a.flowDomainId)??t;R_(a,t=>{for(let n of t.bookmarkStarts??[])!n||i.has(n)||(i.add(n),r.push({name:n,nodeId:t.id,sectionOccurrenceId:e}))})}return r}function H_(e){let t=e.sectionRegions??[],n=new Map(t.map(e=>[e.id,e])),r=new Map;for(let e of t)for(let t of e.flowDomainIds)r.set(t,e.sectionOccurrenceId);for(let i of e.flowDomains){if(i.kind!==`footnote`&&i.kind!==`endnote`)continue;let e=i.sectionRegionId?n.get(i.sectionRegionId):t[0];e&&r.set(i.id,e.sectionOccurrenceId)}return r}function U_(e,t=H_(e)){return V_(Td(e),e.sectionOccurrenceId??``,t)}function W_(e){return e.parityBlank?e:Object.freeze({...e,bookmarkStarts:Object.freeze([...U_(e)])})}function G_(e){I_(e.pageIndex),A_(e.sectionOccurrenceId,`Page-start section occurrence id`);let{regions:t,domains:n,sectionByDomain:r}=L_(e.pageIndex,e.physicalPage,e.sectionRegions),i=e.sectionRegions[0],a=i?.pageBorders??e.pageBorders;if(i!==void 0&&(e.sectionOccurrenceId!==i.sectionOccurrenceId||!P_(e.section,i.section)))throw RangeError(`Page-start section context must equal the first section region`);return{pageIndex:e.pageIndex,geometry:O_(e.physicalPage),flowDomains:n,section:e.section,sectionOccurrenceId:e.sectionOccurrenceId,parityBlank:!1,bookmarkStarts:V_(e.paint.map(({node:e})=>e),e.sectionOccurrenceId,r),pageNumber:e.pageNumber,sectionRegions:t,columnSeparators:Qd(t),pageBorder:E_(a,e.section,e.physicalPage,j_(a,e.firstSectionOwnedPage)),layers:Sd(e.paint),readingOrder:e.readingOrder.map(e=>e.id)}}function K_(e){return I_(e.pageIndex),A_(e.sectionOccurrenceId,`Page-start section occurrence id`),k_(e.physicalPage),Object.freeze({...e,sectionRegions:Object.freeze([]),paint:Object.freeze([]),readingOrder:Object.freeze([])})}function q_(e,t){return Object.freeze({...e,sectionRegions:Object.freeze([...e.sectionRegions,t])})}function J_(e,t,n){return Object.freeze({...e,paint:Object.freeze([...e.paint,t]),readingOrder:n?Object.freeze([...e.readingOrder,t.node]):e.readingOrder})}function Y_(e,t,n){return G_({...e,pageNumber:t,firstSectionOwnedPage:n})}function X_(e){return I_(e.pageIndex),A_(e.sectionOccurrenceId,`Page-start section occurrence id`),{pageIndex:e.pageIndex,geometry:O_(e.physicalPage),flowDomains:[],section:e.section,sectionOccurrenceId:e.sectionOccurrenceId,parityBlank:!0,bookmarkStarts:[],pageNumber:e.pageNumber,sectionRegions:[],columnSeparators:[],pageBorder:E_(e.pageBorders,e.section,e.physicalPage,j_(e.pageBorders,e.firstSectionOwnedPage)),layers:Sd([]),readingOrder:[]}}function Z_(e){if(e.length===0)return null;let t=Math.min(...e.map(e=>e.xPt)),n=Math.min(...e.map(e=>e.yPt)),r=Math.max(...e.map(e=>e.xPt+e.widthPt)),i=Math.max(...e.map(e=>e.yPt+e.heightPt));return{xPt:t,yPt:n,widthPt:r-t,heightPt:i-n}}const Q_={FLOW_OVERLAP:!0,BOTTOM_MARGIN_INVASION:!0,FLOW_DOMAIN_INVASION:!0,INVALID_REFERENCE:!0,INVALID_GEOMETRY:!0,INVALID_VALUE:!0,MISSING_RESOURCE:!0,NON_CONVERGENCE:!0,UNSUPPORTED_FEATURE:!0},$_={body:!0,header:!0,footer:!0,footnote:!0,endnote:!0,textbox:!0},ev=new Set(Object.keys(Q_)),tv=new Set(Object.keys($_));function nv(e,t,n=new WeakSet){if(!(e===null||typeof e==`string`||typeof e==`boolean`)){if(typeof e==`number`){if(!Number.isFinite(e))throw new J(`INVALID_GEOMETRY`,`${t} is not finite`);return}if(typeof e!=`object`)throw new J(`INVALID_GEOMETRY`,`${t} contains ${typeof e}`);if(n.has(e))throw new J(`INVALID_GEOMETRY`,`${t} contains a cycle`);n.add(e);try{if(Array.isArray(e)){let r=0;for(let i of Reflect.ownKeys(e)){if(i===`length`)continue;if(typeof i!=`string`)throw new J(`INVALID_GEOMETRY`,`${t} has a symbol key`);let a=Number(i);if(!Number.isInteger(a)||a<0||String(a)!==i||a>=e.length)throw new J(`INVALID_GEOMETRY`,`${t}.${i} is not an array index`);let o=Object.getOwnPropertyDescriptor(e,i);if(!o?.enumerable||!(`value`in o))throw new J(`INVALID_GEOMETRY`,`${t}[${i}] is not plain data`);nv(o.value,`${t}[${i}]`,n),r+=1}if(r!==e.length)throw new J(`INVALID_GEOMETRY`,`${t} is sparse`);return}let r=Object.getPrototypeOf(e);if(r!==Object.prototype&&r!==null)throw new J(`INVALID_GEOMETRY`,`${t} is not a plain record`);for(let r of Reflect.ownKeys(e)){if(typeof r!=`string`)throw new J(`INVALID_GEOMETRY`,`${t} has a symbol key`);let i=Object.getOwnPropertyDescriptor(e,r);if(!i?.enumerable||!(`value`in i))throw new J(`INVALID_GEOMETRY`,`${t}.${r} is not plain data`);nv(i.value,`${t}.${r}`,n)}}finally{n.delete(e)}}}function rv(e,t){if(!Number.isFinite(e))throw new J(`INVALID_GEOMETRY`,`${t} is not finite`)}function iv(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function av(e,t){if(!iv(e))throw new J(`INVALID_GEOMETRY`,`${t} is not a point`);rv(e.xPt,`${t}.xPt`),rv(e.yPt,`${t}.yPt`)}function ov(e,t){if(av(e,t),rv(e.widthPt,`${t}.widthPt`),rv(e.heightPt,`${t}.heightPt`),e.widthPt<0||e.heightPt<0)throw new J(`INVALID_GEOMETRY`,`${t} has a negative extent`)}function sv(e,t){if(!iv(e))throw new J(`INVALID_GEOMETRY`,`${t} is not a matrix`);for(let n of[`a`,`b`,`c`,`d`,`e`,`f`])rv(e[n],`${t}.${n}`)}function cv(e,t){if(e!==`horizontal-tb`&&e!==`vertical-rl`&&e!==`vertical-lr`)throw new J(`INVALID_GEOMETRY`,`${t} is unsupported`)}function lv(e,t){if(!iv(e))throw new J(`INVALID_GEOMETRY`,`${t} is not a coordinate space`);cv(e.writingMode,`${t}.writingMode`),sv(e.logicalToPhysical,`${t}.logicalToPhysical`),sv(e.physicalToLogical,`${t}.physicalToLogical`)}function uv(e,t){let{plan:n}=e;if(nv(n,`${t}.plan`),rv(n.rect.x,`${t}.plan.rect.x`),rv(n.rect.y,`${t}.plan.rect.y`),rv(n.rect.w,`${t}.plan.rect.w`),rv(n.rect.h,`${t}.plan.rect.h`),n.rect.w<0||n.rect.h<0)throw new J(`INVALID_GEOMETRY`,`${t}.plan.rect has a negative extent`);if(rv(n.transform.rotationDeg,`${t}.plan.transform.rotationDeg`),n.geometry.kind===`preset`){if(n.geometry.name.length===0)throw new J(`INVALID_GEOMETRY`,`${t}.plan.geometry.name is empty`);n.geometry.adjustments.forEach((e,n)=>{e!==null&&rv(e,`${t}.plan.geometry.adjustments[${n}]`)})}else n.geometry.subpaths.forEach((e,n)=>{e.forEach((e,r)=>{if(e.cmd.length===0)throw new J(`INVALID_GEOMETRY`,`${t}.plan.geometry.subpaths[${n}][${r}].cmd is empty`)})});if(n.stroke&&(rv(n.stroke.width,`${t}.plan.stroke.width`),n.stroke.width<0))throw new J(`INVALID_GEOMETRY`,`${t}.plan.stroke.width is negative`)}function dv(e,t){if(e<=t)return!0;let n=2**-52*Math.max(1,Math.abs(e),Math.abs(t));return e-t<=n}function fv(e,t){return e<t&&!dv(t,e)}function pv(e,t){return fv(e.xPt,t.xPt+t.widthPt)&&fv(t.xPt,e.xPt+e.widthPt)&&fv(e.yPt,t.yPt+t.heightPt)&&fv(t.yPt,e.yPt+e.heightPt)}function mv(e,t){return dv(e.xPt,t.xPt)&&dv(e.yPt,t.yPt)&&dv(t.xPt+t.widthPt,e.xPt+e.widthPt)&&dv(t.yPt+t.heightPt,e.yPt+e.heightPt)}function hv(e,t){return dv(e.xPt,t.xPt)&&dv(t.xPt+t.widthPt,e.xPt+e.widthPt)}function gv(e,t,n){return dv(e,n.yPt)&&dv(n.yPt+n.heightPt,t)}function _v(e,t){return dv(e.yPt,t.yPt)&&dv(t.yPt+t.heightPt,e.yPt+e.heightPt)}function vv(e,t){return e.xPt===t.xPt&&e.yPt===t.yPt&&e.widthPt===t.widthPt&&e.heightPt===t.heightPt}function yv(e,t){return e.a===t.a&&e.b===t.b&&e.c===t.c&&e.d===t.d&&e.e===t.e&&e.f===t.f}function bv(e,t){let n=e.pageBorder;if(n===null)return;if(n.zOrder!==`front`&&n.zOrder!==`back`)throw new J(`INVALID_REFERENCE`,`${t}.zOrder is invalid`);sv(n.logicalToPhysical,`${t}.logicalToPhysical`);let r=Xd(Rd(e.section.textDirection),e.geometry).logicalToPhysical;if(!yv(n.logicalToPhysical,r))throw new J(`INVALID_GEOMETRY`,`${t}.logicalToPhysical contradicts the page-start section`);if(!Array.isArray(n.segments)||n.segments.length===0)throw new J(`INVALID_GEOMETRY`,`${t}.segments is empty`);n.segments.forEach((e,n)=>{let r=`${t}.segments[${n}]`;if(av(e.from,`${r}.from`),av(e.to,`${r}.to`),rv(e.widthPt,`${r}.widthPt`),e.from.xPt!==e.to.xPt&&e.from.yPt!==e.to.yPt)throw new J(`INVALID_GEOMETRY`,`${r} is not an axis-aligned page edge`);if(!/^#[0-9a-fA-F]{6}$/.test(e.color))throw new J(`INVALID_REFERENCE`,`${r}.color is invalid`)})}function xv(e,t,n){if(n.has(e))throw new J(`INVALID_REFERENCE`,`duplicate retained node id ${e}`);n.add(e),t.add(e)}function Sv(e,t,n){if(xv(e.id,t,n),e.kind===`paragraph`){e.drawings.forEach(e=>Sv(e,t,n)),e.textBoxes.forEach(e=>Sv(e,t,n));return}if(e.kind===`table`){e.rows.forEach(e=>{xv(e.id,t,n),e.cells.forEach(e=>{xv(e.id,t,n),e.blocks.forEach(e=>Sv(e.layout,t,n))})});return}if(e.kind===`note`){e.story.blocks.forEach(e=>Sv(e,t,n));return}e.kind===`textbox`&&e.story.blocks.forEach(e=>Sv(e,t,n))}function Cv(e,t){if(e.kind===`paragraph`){let n=Z_(e.drawings.filter(e=>e.anchorLayer?.cellContainment===!0).map(e=>e.flowBounds));if(e.cellContainmentBounds&&ov(e.cellContainmentBounds,`${t}.cellContainmentBounds`),n===null!=(e.cellContainmentBounds===void 0)||n&&e.cellContainmentBounds&&!vv(n,e.cellContainmentBounds))throw new J(`INVALID_GEOMETRY`,`${t}.cellContainmentBounds does not match its retained layoutInCell drawings`);let r=new Set;(e.anchorCollisions??[]).forEach((e,n)=>{let i=`${t}.anchorCollisions[${n}]`;if(e.occurrenceId.length===0||r.has(e.occurrenceId))throw new J(`INVALID_REFERENCE`,`${i}.occurrenceId is empty or duplicated`);if(r.add(e.occurrenceId),ov(e.bounds,`${i}.bounds`),e.horizontalOwnership!==`page`&&e.horizontalOwnership!==`host`||e.verticalOwnership!==`page`&&e.verticalOwnership!==`host`)throw new J(`INVALID_REFERENCE`,`${i} has invalid axis ownership`)}),e.textBoxes.forEach((e,n)=>Cv(e,`${t}.textBoxes[${n}]`));return}if(e.kind===`table`){e.rows.forEach((e,n)=>e.cells.forEach((e,r)=>e.blocks.forEach((e,i)=>Cv(e.layout,`${t}.rows[${n}].cells[${r}].blocks[${i}]`))));return}e.kind===`textbox`&&e.story.blocks.forEach((e,n)=>Cv(e,`${t}.story.blocks[${n}]`))}function wv(e,t){if(e.orientation===`upright-physical`&&!e.transform)throw new J(`INVALID_GEOMETRY`,`${t} upright physical drawing is missing its logical transform`);if(e.transform)for(let n of[`a`,`b`,`c`,`d`,`e`,`f`])rv(e.transform[n],`${t}.transform.${n}`);e.clip?.kind===`rect`&&ov(e.clip.rect,`${t}.clip.rect`),e.clip?.kind===`polygon`&&e.clip.points.forEach((e,n)=>av(e,`${t}.clip.points[${n}]`)),e.commands.forEach((e,n)=>{let r=`${t}.commands[${n}]`;if(e.kind!==`noop`){if(e.kind===`drawingml-shape`){uv(e,r);return}if(e.kind===`drawingml-image-fill`){if(uv(e,r),e.resourceKey.length===0)throw new J(`INVALID_GEOMETRY`,`${r}.resourceKey is empty`);if(e.fillRect)for(let t of[`l`,`t`,`r`,`b`])rv(e.fillRect[t],`${r}.fillRect.${t}`);return}if(ov(e.rect,`${r}.rect`),e.kind===`stroke-rect`&&(rv(e.lineWidthPt,`${r}.lineWidthPt`),e.dashPt.forEach((e,t)=>rv(e,`${r}.dashPt[${t}]`))),e.kind===`text`&&(rv(e.fontSizePt,`${r}.fontSizePt`),rv(e.fontWeight,`${r}.fontWeight`)),e.kind===`watermark-text`){if(ov(e.sourceBounds,`${r}.sourceBounds`),e.sourceBounds.widthPt<=0||e.sourceBounds.heightPt<=0)throw new J(`INVALID_GEOMETRY`,`${r}.sourceBounds must have positive extents`);if(rv(e.opacity,`${r}.opacity`),rv(e.rotationDeg,`${r}.rotationDeg`),rv(e.fontSizePt,`${r}.fontSizePt`),e.opacity<0||e.opacity>1||e.fontSizePt<=0)throw new J(`INVALID_GEOMETRY`,`${r} has invalid textPath paint metrics`);e.spans.forEach((e,t)=>{rv(e.advancePt,`${r}.spans[${t}].advancePt`),rv(e.fontWeight,`${r}.spans[${t}].fontWeight`)})}}})}function Tv(e){nv(e,`layout`),e.diagnostics.forEach((e,t)=>{let n=`diagnostics[${t}]`;if(!ev.has(e.code))throw new J(`INVALID_REFERENCE`,`${n}.code is unknown`);if(e.severity!==`warning`&&e.severity!==`error`)throw new J(`INVALID_REFERENCE`,`${n}.severity is unknown`);if(typeof e.message!=`string`||e.message.length===0)throw new J(`INVALID_REFERENCE`,`${n}.message is empty`);if(e.source!==void 0&&(!tv.has(e.source.story)||typeof e.source.storyInstance!=`string`||e.source.storyInstance.length===0||!Array.isArray(e.source.path)||e.source.path.some(e=>!Number.isSafeInteger(e)||e<0)))throw new J(`INVALID_REFERENCE`,`${n}.source is invalid`)});let t=new Set;e.pages.forEach((e,n)=>{if(!Number.isInteger(e.pageIndex)||e.pageIndex!==n)throw new J(`INVALID_REFERENCE`,`pages[${n}] has invalid page index ${e.pageIndex}`);if(ov(e.geometry,`pages[${n}].geometry`),rv(e.geometry.contentTopPt,`pages[${n}].geometry.contentTopPt`),rv(e.geometry.contentBottomPt,`pages[${n}].geometry.contentBottomPt`),e.geometry.widthPt<=0||e.geometry.heightPt<=0||e.geometry.contentTopPt<0||e.geometry.contentTopPt>e.geometry.contentBottomPt||e.geometry.contentBottomPt>e.geometry.heightPt)throw new J(`INVALID_GEOMETRY`,`pages[${n}] has invalid effective page edges`);bv(e,`pages[${n}].pageBorder`);let r=new Map;if(e.flowDomains.forEach((e,t)=>{if(ov(e.logicalBounds,`pages[${n}].flowDomains[${t}].logicalBounds`),ov(e.physicalBounds,`pages[${n}].flowDomains[${t}].physicalBounds`),r.has(e.id))throw new J(`INVALID_REFERENCE`,`duplicate flow domain ${e.id}`);r.set(e.id,e)}),e.parityBlank&&(e.flowDomains.length>0||(e.sectionRegions?.length??0)>0||(e.columnSeparators?.length??0)>0||wd(e).length>0||e.layers.roots.length>0||e.readingOrder.length>0||(e.bookmarkStarts?.length??0)>0))throw new J(`INVALID_REFERENCE`,`pages[${n}] parity blank retains page content`);let i=new Set;if(e.sectionOccurrenceId!==void 0){if(e.sectionOccurrenceId.length===0)throw new J(`INVALID_REFERENCE`,`pages[${n}] has an empty section occurrence id`);i.add(e.sectionOccurrenceId)}let a=new Map;if(e.sectionRegions){let t=new Set,o=new Set,s=new Map,c=[],l;if(e.sectionRegions.forEach((u,d)=>{let f=`pages[${n}].sectionRegions[${d}]`;if(u.id.length===0||t.has(u.id))throw new J(`INVALID_REFERENCE`,`${f} has an invalid region id`);if(t.add(u.id),u.sectionOccurrenceId.length===0)throw new J(`INVALID_REFERENCE`,`${f} has an empty section occurrence id`);if(o.has(u.sectionOccurrenceId))throw new J(`INVALID_REFERENCE`,`${f} has a duplicate section occurrence id`);o.add(u.sectionOccurrenceId),i.add(u.sectionOccurrenceId),lv(u.coordinateSpace,`${f}.coordinateSpace`);let p=u.coordinateSpace.writingMode;if(l!==void 0&&l!==p)throw new J(`INVALID_GEOMETRY`,`${f} mixes coordinate systems on one physical page`);l=p;let m;try{m=Rd(u.section.textDirection)}catch(e){throw new J(`INVALID_GEOMETRY`,`${f}.section.textDirection is unsupported: ${e.message}`)}if(p!==m)throw new J(`INVALID_GEOMETRY`,`${f} writing mode contradicts its section text direction`);let h=Ud(e.geometry,p),g=Wd({widthPt:u.section.geometry.pageWidth,heightPt:u.section.geometry.pageHeight},p);if(g.widthPt!==e.geometry.widthPt||g.heightPt!==e.geometry.heightPt)throw new J(`INVALID_GEOMETRY`,`${f} section geometry does not match the upright physical page`);if(rv(u.blockStartPt,`${f}.blockStartPt`),rv(u.blockEndPt,`${f}.blockEndPt`),u.columnFlowDirection!==`ltr`&&u.columnFlowDirection!==`rtl`)throw new J(`INVALID_GEOMETRY`,`${f} has an invalid column flow direction`);let _=u.section.sectionBidi===!0?`rtl`:`ltr`;if(u.columnFlowDirection!==_)throw new J(`INVALID_GEOMETRY`,`${f} column flow direction contradicts its section bidi`);if(u.blockStartPt<0||u.blockEndPt<u.blockStartPt||u.blockEndPt>h.heightPt)throw new J(`INVALID_GEOMETRY`,`${f} has an invalid block interval`);let v=Xd(u.coordinateSpace.writingMode,e.geometry);if(!yv(u.coordinateSpace.logicalToPhysical,v.logicalToPhysical)||!yv(u.coordinateSpace.physicalToLogical,v.physicalToLogical))throw new J(`INVALID_GEOMETRY`,`${f} has an invalid coordinate transform`);let y=u.columnIndexes;if(u.flowDomainIds.length!==y.length||y.some((e,t)=>!Number.isInteger(e)||e<0||e>=u.section.columns.length||t>0&&e<=y[t-1]))throw new J(`INVALID_GEOMETRY`,`${f} columns contradict its section`);let b=0;u.flowDomainIds.forEach((t,n)=>{let i=r.get(t);if(!i)throw new J(`INVALID_REFERENCE`,`${f} references missing flow domain ${t}`);if(i.kind!==`body`)throw new J(`INVALID_REFERENCE`,`${f} owns non-body flow domain ${t}`);s.set(t,(s.get(t)??0)+1),a.set(t,u);let o=i.logicalBounds,l=u.section.columns[y[n]];if(o.widthPt<=0||o.heightPt<0||o.yPt!==u.blockStartPt||o.heightPt!==u.blockEndPt-u.blockStartPt||o.xPt<0||o.xPt<b||o.xPt+o.widthPt>h.widthPt||l===void 0||o.xPt!==l.xPt||o.widthPt!==l.wPt)throw new J(`INVALID_GEOMETRY`,`${t} is not the section column's non-negative logical region`);if(b=o.xPt+o.widthPt,!vv(Jd(u.coordinateSpace.logicalToPhysical,i.logicalBounds),i.physicalBounds))throw new J(`INVALID_GEOMETRY`,`${t} physical bounds do not match its section region transform`);if(!mv(e.geometry,i.physicalBounds))throw new J(`INVALID_GEOMETRY`,`${t} physical bounds leave the upright physical page`);if(c.some(e=>e.regionId!==u.id&&pv(e.bounds,i.physicalBounds)))throw new J(`INVALID_GEOMETRY`,`${t} overlaps a body flow domain owned by another section region`);c.push({regionId:u.id,bounds:i.physicalBounds})})}),e.flowDomains.filter(e=>e.kind===`body`).forEach(e=>{if(s.get(e.id)!==1)throw new J(`INVALID_REFERENCE`,`${e.id} has invalid section region ownership`)}),!e.parityBlank&&e.sectionRegions.length>0){let t=e.sectionRegions[0];if(e.sectionOccurrenceId!==t.sectionOccurrenceId)throw new J(`INVALID_REFERENCE`,`pages[${n}] page-start section occurrence does not match its first region`);if(!P_(e.section,t.section))throw new J(`INVALID_GEOMETRY`,`pages[${n}] page-start section facts do not match its first region`)}}let o=Qd(e.sectionRegions??[]);if(!Array.isArray(e.columnSeparators)||e.columnSeparators.length!==o.length||e.columnSeparators.some((e,t)=>{let n=o[t];return n===void 0||e.start.xPt!==n.start.xPt||e.start.yPt!==n.start.yPt||e.end.xPt!==n.end.xPt||e.end.yPt!==n.end.yPt}))throw new J(`INVALID_GEOMETRY`,`pages[${n}].columnSeparators contradict the retained section regions`);let s=new Map(e.sectionRegions.map(e=>[e.id,e]));for(let t of e.flowDomains){if(t.kind!==`footnote`&&t.kind!==`endnote`)continue;let n=t.sectionRegionId?s.get(t.sectionRegionId):e.sectionRegions[0];if(!n)throw new J(`INVALID_REFERENCE`,`${t.id} references missing page story region ${t.sectionRegionId??`<default>`}`);if(!vv(Jd(n.coordinateSpace.logicalToPhysical,t.logicalBounds),t.physicalBounds))throw new J(`INVALID_GEOMETRY`,`${t.id} physical bounds do not match the page story transform`);a.set(t.id,n)}for(let t of e.flowDomains)if(!a.has(t.id)&&!vv(t.logicalBounds,t.physicalBounds))throw new J(`INVALID_GEOMETRY`,`${t.id} has unequal logical and physical bounds without a section region`);if(e.pageNumber){if(rv(e.pageNumber.displayNumber,`pages[${n}].pageNumber.displayNumber`),!Number.isInteger(e.pageNumber.displayNumber))throw new J(`INVALID_GEOMETRY`,`pages[${n}] page number is not an integer`);if(e.pageNumber.format.length===0||!i.has(e.pageNumber.sectionOccurrenceId))throw new J(`INVALID_REFERENCE`,`pages[${n}] has an invalid page number section owner`)}let c=[];try{Td(e)}catch(e){throw e instanceof xd?new J(`INVALID_REFERENCE`,e.message):e}let l=new Map,u=new Set;wd(e).forEach(({node:e},i)=>{let o=`pages[${n}].nodes[${i}]`;l.set(e.id,e),Sv(e,u,t),Cv(e,o),ov(e.flowBounds,`${o}.flowBounds`),ov(e.inkBounds,`${o}.inkBounds`),e.clipBounds&&ov(e.clipBounds,`${o}.clipBounds`),rv(e.advancePt,`${o}.advancePt`),e.kind===`drawing`&&wv(e,o);let s=r.get(e.flowDomainId);if(!s)throw new J(`INVALID_REFERENCE`,`${e.id} references missing flow domain ${e.flowDomainId}`);if(e.ordinaryFlow&&s.kind===`body`&&s.logicalBounds.heightPt===0)throw new J(`FLOW_DOMAIN_INVASION`,`${e.id} claims ordinary flow in an empty body domain`);if(!e.ordinaryFlow)return;let d=s.kind===`body`?a.get(s.id):void 0;if(s.kind===`body`){if(!d)throw new J(`INVALID_REFERENCE`,`${e.id} references a body flow domain without a section region`);if(e.flowBounds.yPt+e.flowBounds.heightPt>d.blockEndPt)throw new J(`BOTTOM_MARGIN_INVASION`,`${e.id} crosses logical block end`)}if(!(d?gv(d.blockStartPt,d.blockEndPt,e.flowBounds)&&(e.kind===`table`||hv(s.logicalBounds,e.flowBounds)):e.kind===`table`?_v(s.logicalBounds,e.flowBounds):mv(s.logicalBounds,e.flowBounds)))throw new J(`FLOW_DOMAIN_INVASION`,`${e.id} crosses flow domain ${s.id}`);c.push(e)});let d=new Set;if(e.readingOrder.forEach(e=>{if(!l.has(e)||d.has(e))throw new J(`INVALID_REFERENCE`,`invalid reading-order reference ${e}`);d.add(e)}),e.bookmarkStarts!==void 0){let t=U_(e,new Map([...a].map(([e,t])=>[e,t.sectionOccurrenceId]))),r=t.every(e=>e.sectionOccurrenceId.length>0&&i.has(e.sectionOccurrenceId)),o=e.bookmarkStarts.length===t.length&&e.bookmarkStarts.every((e,n)=>{let r=t[n];return r!==void 0&&e.name===r.name&&e.nodeId===r.nodeId&&e.sectionOccurrenceId===r.sectionOccurrenceId});if(!r||!o)throw new J(`INVALID_REFERENCE`,`pages[${n}] bookmark metadata does not match its retained graph (invalid bookmark node or ownership)`)}for(let e=0;e<c.length;e+=1)for(let t=e+1;t<c.length;t+=1){let n=c[e],i=c[t];if(!n||!i)continue;let a=r.get(n.flowDomainId),o=r.get(i.flowDomainId),s=n.flowDomainId===i.flowDomainId,l=a?.kind===`body`&&(o?.kind===`footnote`||o?.kind===`endnote`)||o?.kind===`body`&&(a?.kind===`footnote`||a?.kind===`endnote`),u=a?.id!==o?.id&&(a?.kind===`footnote`||a?.kind===`endnote`)&&(o?.kind===`footnote`||o?.kind===`endnote`);if((s||l||u)&&pv(n.flowBounds,i.flowBounds))throw new J(`FLOW_OVERLAP`,`${n.id} overlaps ${i.id}`)}})}function Ev(e){try{Tv(e)}catch(e){throw e instanceof J?e:e instanceof TypeError||e instanceof RangeError?new J(`INVALID_GEOMETRY`,e.message):e}}function Dv(e,t){if(typeof e!=`object`||!e||t.has(e))return e;t.add(e);for(let n of Object.values(e))Dv(n,t);return Object.freeze(e)}const Ov=new WeakSet,kv=new WeakSet;function Av(e){if(Ov.has(e))return e;let t=Dv(e,new WeakSet);return Ov.add(t),t}function jv(e){return Ov.has(e)?e:(nv(e,`layout`),Av(e))}function Mv(e){if(kv.has(e))return e;Ev(e);let t=Av(e);return kv.add(t),t}function Nv(e,t){if(!Number.isInteger(t)||t<0||t>=e.pages.length)throw RangeError(`Page index ${t} out of range (count: ${e.pages.length})`);return e.pages[t]}var Pv=class{#e;#t;#n=new Map;#r;#i;#a=null;constructor(e,t,n){this.#e=e,this.#r=Object.freeze({...t}),this.#i=jd(this.#r,this.#e),this.#t=n}get defaultLayout(){return this.layoutFor(this.#r)}layoutFor(e){return this.select(e).layout}select(e){let t=Object.isFrozen(e)?e:Object.freeze({...e}),n=jd(t,this.#e),r=this.#n.get(n);return r||(r=jv(this.#t(t)),n!==this.#i&&(this.#a!==null&&this.#a!==n&&this.#n.delete(this.#a),this.#a=n),this.#n.set(n,r)),Object.freeze({key:n,options:t,layout:r})}selectPage(e,t){let n=this.select(e);return Object.freeze({...n,page:Nv(n.layout,t)})}isDefault(e){return jd(e,this.#e)===this.#i}};function Fv(e){let{services:t,defaultCurrentDateMs:n,buildLayout:r}=e,i=Ad({defaultCurrentDateMs:n}),a=e.source.fatalParse,o=a===null?null:Od(a.message,a.pageSize,t.text),s=new Pv(t,i,o===null?r:()=>o);return qu(t,s),Object.freeze({store:s,defaultOptions:i})}function Iv(e,t,n){let r=Ju(e);if(!r)throw Error(`Document layout variant store is not attached to the supplied services`);return r.selectPage(Ad(t),n)}function Lv(e,t){return Object.freeze({a:e.a*t.a+e.c*t.b,b:e.b*t.a+e.d*t.b,c:e.a*t.c+e.c*t.d,d:e.b*t.c+e.d*t.d,e:e.a*t.e+e.c*t.f+e.e,f:e.b*t.e+e.d*t.f+e.f})}function Rv(e){return Object.freeze({a:e,b:0,c:0,d:e,e:0,f:0})}function zv(e,t){return Object.freeze({a:1,b:0,c:0,d:1,e,f:t})}function Bv(e,t){return{xPt:e.a*t.xPt+e.c*t.yPt+e.e,yPt:e.b*t.xPt+e.d*t.yPt+e.f}}function Vv(e,t){let n=e.a*e.d-e.b*e.c;if(!Number.isFinite(n)||n===0)return null;let r=t.xPt-e.e,i=t.yPt-e.f,a={xPt:(e.d*r-e.c*i)/n,yPt:(-e.b*r+e.a*i)/n};return Number.isFinite(a.xPt)&&Number.isFinite(a.yPt)?a:null}function Hv(e,t){let n=e.a*e.d-e.b*e.c;if(!Number.isFinite(n)||n===0)return null;let r={xPt:(e.d*t.xPt-e.c*t.yPt)/n,yPt:(-e.b*t.xPt+e.a*t.yPt)/n};return Number.isFinite(r.xPt)&&Number.isFinite(r.yPt)?r:null}const Uv=Object.freeze({a:1,b:0,c:0,d:1,e:0,f:0}),Wv=Object.freeze([]);function Gv(e){let t=new Map(e.sectionRegions.map(e=>[e.id,e])),n=new Map;for(let t of e.sectionRegions)for(let e of t.flowDomainIds)n.set(e,t);for(let r of e.flowDomains){if(r.kind!==`footnote`&&r.kind!==`endnote`)continue;let i=r.sectionRegionId?t.get(r.sectionRegionId):e.sectionRegions[0];if(!i)throw Error(`${r.id} references missing page story region ${r.sectionRegionId??`<default>`}`);n.set(r.id,i)}return n}function Kv(e,t){return t.coordinateSpace===`upright-physical`?Uv:e.get(t.node.flowDomainId)?.coordinateSpace.logicalToPhysical??Uv}function qv(e,t){let n=e.rootPointToPage.get(t.rootNodeId);if(!n)throw Error(`Drawing entry ${t.node.id} references missing root ${t.rootNodeId}`);let r=n,i=[];for(let e of t.frames)e.kind===`transform`?r=Lv(r,e.transform):i.push(Object.freeze({bounds:e.clip,pointToPage:r}));return{pointToPage:r,layoutTranslationPt:t.layoutTranslationPt,rootNodeId:t.rootNodeId,paintOrderIndex:e.drawingPaintOrder.get(t.node.id)??-1,clips:Object.freeze(i)}}function Jv(e,t){return t?{...e,clips:Object.freeze([...e.clips,Object.freeze({bounds:t,pointToPage:e.pointToPage})])}:e}function Yv(e,t,n){let r=t.xPt-e.flowBounds.xPt,i=t.yPt-e.flowBounds.yPt;return{...n,pointToPage:Lv(n.pointToPage,zv(r,i)),layoutTranslationPt:{xPt:n.layoutTranslationPt.xPt+r,yPt:n.layoutTranslationPt.yPt+i}}}function Xv(e,t){return(t.textBoxIds??[]).flatMap(t=>{let n=e.get(t);return n?[n]:[]})}function Zv(e,t,n){if(n.emittedTextBoxes.has(e.id))return;n.emittedTextBoxes.add(e.id);let r=Jv({...t,pointToPage:Lv(t.pointToPage,e.transform)},e.clipBounds);for(let t of e.story.blocks)ny(t,r,n)}function Qv(e,t,n,r){let i=Xv(e,t),a=$v(t,n,r);r.collectDrawings&&!r.emittedDrawings.has(t.id)&&(r.emittedDrawings.add(t.id),r.drawings.push(Object.freeze({drawing:t,textBoxes:i,pointToPage:a.pointToPage,clips:a.clips,paintOrderIndex:a.paintOrderIndex,sourceOrder:r.drawingSourceOrder++})));for(let e of i)Zv(e,a,r)}function $v(e,t,n){let r=n.drawingEntries.get(e.id),i=t;r&&r.rootNodeId===t.rootNodeId&&(i=qv(n,r));let a=i.layoutTranslationPt,o=e.anchorLayer?.horizontalOwnership===`page`?-a.xPt:0,s=e.anchorLayer?.verticalOwnership===`page`?-a.yPt:0,c=o===0&&s===0?i:{...i,pointToPage:Lv(i.pointToPage,zv(o,s))};if(e.orientation===`upright-physical`){if(!e.transform)throw Error(`Upright physical drawing ${e.id} is missing its logical transform`);c={...c,pointToPage:Lv(c.pointToPage,e.transform)}}return c}function ey(e,t,n){let r=Jv(t,e.clipBounds);if(n.collectTextRuns)for(let r of e.lines)for(let i of r.placements)i.kind===`text`&&n.runs.push(Object.freeze({placement:i,pointToPage:t.pointToPage,source:e.source,...e.paragraphId===void 0?{}:{paragraphId:e.paragraphId}}));let i=new Map(e.textBoxes.map(e=>[e.id,e])),a=new Set,o=e.drawings.map((e,t)=>{let n=e.source.path.at(-1);if(n===void 0||!Number.isSafeInteger(n)||n<0)throw Error(`Drawing ${e.id} has no retained paragraph run index`);return{drawing:e,index:t,runIndex:n}}).sort((e,t)=>e.runIndex-t.runIndex||e.index-t.index),s=n.collectDrawings?e.lines.flatMap(e=>e.placements.flatMap((e,t)=>e.kind!==`resource`||e.resourceKind!==`image`&&e.resourceKind!==`chart`||e.sourceRunIndex===void 0?[]:[{placement:e,index:t,runIndex:e.sourceRunIndex}])):[];for(let{drawing:e}of o)for(let t of e.textBoxIds??[])a.add(t);let c=[...o.map(e=>({kind:`drawing`,...e})),...s.map(e=>({kind:`resource`,...e}))].sort((e,t)=>e.runIndex-t.runIndex||e.index-t.index);for(let t of c){if(t.kind===`drawing`){Qv(i,t.drawing,r,n);continue}n.collectDrawings&&n.inlineResources.push(Object.freeze({placement:t.placement,source:Object.freeze({...e.source,path:Object.freeze([...e.source.path,t.runIndex])}),pointToPage:r.pointToPage,clips:r.clips,paintOrderIndex:r.paintOrderIndex,sourceOrder:n.drawingSourceOrder++}))}for(let t of e.textBoxes)a.has(t.id)||Zv(t,r,n)}function ty(e,t,n){let r=Jv(t,e.clipBounds);for(let t of e.rows)for(let e of t.cells){let t=`visualMergeOwnership`in e&&e.visualMergeOwnership===`continuation`;if(e.verticalMerge===`continue`&&!t)continue;let i=Jv(r,e.clipBounds);for(let t of e.blocks){let r=t.layout;ny(r,Yv(r,{xPt:e.contentBounds.xPt+(r.kind===`table`?r.flowBounds.xPt:0),yPt:e.flowBounds.yPt+t.offsetPt+(r.kind===`table`?r.flowBounds.yPt:0)},i),n)}}for(let i of e.resolvedFloatingTables??[])ny(i.child,Yv(i.child,{xPt:i.xPt-t.layoutTranslationPt.xPt,yPt:i.yPt-t.layoutTranslationPt.yPt},r),n)}function ny(e,t,n){switch(e.kind){case`paragraph`:ey(e,t,n);return;case`table`:ty(e,t,n);return;case`note`:for(let r of e.story.blocks)ny(r,Jv(t,e.story.clipBounds),n);return;case`textbox`:Zv(e,t,n);return;case`drawing`:{let r=n.drawingEntries.get(e.id);Qv(new Map((r?.textBoxes??[]).map(e=>[e.id,e])),e,t,n);return}default:throw Error(`Unknown text-index node: ${String(e)}`)}}function ry(e,t,n){let r=e.pages[t];if(!r)throw RangeError(`Page index ${t} is out of range`);let i=new Map(r.layers.roots.map(e=>[e.node.id,e])),a=Gv(r),o=new Map(r.layers.roots.map(e=>[e.node.id,Kv(a,e)])),s=new Map,c=new Map,l=new Map;for(let[e,t]of r.layers.paintOrder.entries())t.kind===`drawing`&&s.set(t.node.id,t),t.kind===`drawing`?c.set(t.node.id,e):l.set(t.node.id,e);let u={...n,drawingEntries:s,rootPointToPage:o,rootPaintOrder:l,drawingPaintOrder:c,emittedTextBoxes:new Set,emittedDrawings:new Set,runs:[],drawings:[],inlineResources:[],drawingSourceOrder:0};for(let e of r.readingOrder){let t=i.get(e);if(!t)throw Error(`Reading-order node ${e} is not a page root`);let n=o.get(e);if(!n)throw Error(`Reading-order node ${e} has no page projection`);ny(t.node,{pointToPage:n,layoutTranslationPt:{xPt:0,yPt:0},rootNodeId:t.node.id,paintOrderIndex:l.get(t.node.id)??-1,clips:Wv},u)}return u}function iy(e,t){return Object.freeze(ry(e,t,{collectTextRuns:!0,collectDrawings:!1}).runs)}function ay(e,t){let n=ry(e,t,{collectTextRuns:!1,collectDrawings:!0}),r=[...n.drawings,...n.inlineResources];return r.sort((e,t)=>e.paintOrderIndex-t.paintOrderIndex||e.sourceOrder-t.sourceOrder),Object.freeze(r)}function oy(e){let t=Math.hypot(e.a,e.b),n=Math.hypot(e.c,e.d),r=e.a/t,i=e.b/t,a=e.c/n,o=e.d/n;if(!(r===1&&i===0&&a===0&&o===1))return r===0&&i===1&&a===-1&&o===0?`rotate(90deg)`:r===0&&i===-1&&a===1&&o===0?`rotate(-90deg)`:`matrix(${r}, ${i}, ${a}, ${o}, 0, 0)`}function sy(e,t){let{placement:n}=e,r=Bv(t,n.bounds),i=Math.hypot(t.a,t.b),a=Math.hypot(t.c,t.d),o=oy(t),s=n.paintOps[0]?.letterSpacingPt??0;return{source:{story:e.source.story,storyInstance:e.source.storyInstance,path:[...e.source.path]},...e.paragraphId===void 0?{}:{paragraphId:e.paragraphId},text:n.text,x:r.xPt,y:r.yPt,w:n.bounds.widthPt*i,h:n.bounds.heightPt*a,fontSize:n.fontSizePt*a,font:z(n.fontRoute,n.fontSizePt*a,n.fontWeight,n.fontStyle),...s===0?{}:{letterSpacingPx:s*i},...o?{transform:o}:{},...n.hyperlink?{hyperlink:n.hyperlink}:{},...n.tateChuYoko?{eastAsianVert:!0}:{}}}function cy(e,t,n){if(!Number.isFinite(n.scale)||n.scale<=0)throw RangeError(`Text projection scale must be positive: ${n.scale}`);let r=Rv(n.scale);return iy(e,t).map(e=>sy(e,Lv(r,e.pointToPage)))}function ly(e,t,n){let r=Iv(e,{currentDate:n.currentDate,defaultCurrentDateMs:n.defaultCurrentDateMs},t),i=(n.width??r.page.geometry.widthPt*1.3333333333333333)/r.page.geometry.widthPt;return cy(r.layout,t,{scale:i})}function uy(e,t,n){return`${e}${t?`|clr:${t}`:``}${n?`|duo:${n.clr1}:${n.clr2}`:``}`}async function dy(e,t){let n=parseInt(t.slice(0,2),16),r=parseInt(t.slice(2,4),16),i=parseInt(t.slice(4,6),16),a=new OffscreenCanvas(e.width,e.height),o=a.getContext(`2d`);if(!o)throw Error(`2D canvas is unavailable for image color replacement`);o.drawImage(e,0,0);let s=o.getImageData(0,0,e.width,e.height);for(let e=0;e<s.data.length;e+=4)s.data[e]===n&&s.data[e+1]===r&&s.data[e+2]===i&&(s.data[e+3]=0);return o.putImageData(s,0,0),createImageBitmap(a)}async function fy(e,t,n,r,i=0,a=0,o){let s=await Ra(e,t,r,{widthPt:i,heightPt:a,suppressBoundaryFrame:!0});return s?!n&&!o?s:La(`docx-color-effects`,uy(e,n,o),r,async()=>{let e=s;try{if(n&&(e=await dy(e,n)),o){let{w:t,h:n}=Wa(e);if(t>0&&n>0){let r=e;e=await Qa(e,o,{width:t,height:n}),r!==s&&e!==r&&Oa(r)}}return{bitmap:e,owned:e!==s}}catch(t){throw e!==s&&Oa(e),t}}):null}function py(e){let t=new Map,n=e.filter(e=>e.kind===`image`||e.kind===`picture-bullet`).sort((e,t)=>(e.documentOrder??2**53-1)-(t.documentOrder??2**53-1));for(let e of n){let n=qa(e.mimeType,e.srcRect,e.intrinsicSize.widthPt,e.intrinsicSize.heightPt),r={imagePath:e.partPath,mimeType:e.mimeType,...e.svgImagePath===void 0?{}:{svgImagePath:e.svgImagePath},...e.colorReplaceFrom===void 0?{}:{colorReplaceFrom:e.colorReplaceFrom},...e.duotone===void 0?{}:{duotone:e.duotone},widthPt:n.widthPt,heightPt:n.heightPt,hasCrop:e.srcRect!=null},i=uy(r.imagePath,r.colorReplaceFrom,r.duotone),a=t.get(i);a?(a.widthPt=Math.max(a.widthPt,r.widthPt),a.heightPt=Math.max(a.heightPt,r.heightPt),a.hasCrop||=r.hasCrop):t.set(i,r)}return[...t.values()]}async function my(e,t){if(!t)return new Map;let n=await Promise.all(py(e).map(async e=>{let n=e.mimeType===`image/svg+xml`,r={svgImagePath:e.svgImagePath,srcRect:e.hasCrop||null},i;if($a(r))try{i=await Ha(r.svgImagePath,t)}catch(r){let a=n?await Ha(e.imagePath,t):await fy(e.imagePath,e.mimeType,e.colorReplaceFrom,t,e.widthPt,e.heightPt,e.duotone);if(!a)throw r;i=a}else i=n?await Ha(e.imagePath,t):await fy(e.imagePath,e.mimeType,e.colorReplaceFrom,t,e.widthPt,e.heightPt,e.duotone);return i==null?null:[uy(e.imagePath,e.colorReplaceFrom,e.duotone),i]}));return new Map(n.filter(e=>e!==null))}function hy(e,t){return Math.round(e*t)/t}function gy(e,t,n){let r=e*t;return(n%2==0?Math.round(r):Math.round(r-.5)+.5)/t}function _y(e,t,n){let r=t*n,i=Math.max(1,Math.round(.5*t)),a=Math.max(1,Math.round(i*n)),o=a/r;if(e.start.xPt===e.end.xPt){let t=gy(e.start.xPt,r,a);return{segment:{start:{xPt:t,yPt:hy(e.start.yPt,r)},end:{xPt:t,yPt:hy(e.end.yPt,r)}},widthPt:o}}if(e.start.yPt===e.end.yPt){let t=gy(e.start.yPt,r,a);return{segment:{start:{xPt:hy(e.start.xPt,r),yPt:t},end:{xPt:hy(e.end.xPt,r),yPt:t}},widthPt:o}}return{segment:e,widthPt:o}}function vy(e,t,n,r,i){if(r!==`upright-physical`){i.resources.paint(e,t,n,i.ctx);return}let{ctx:a}=i;a.save(),a.translate(n.xPt+n.widthPt/2,n.yPt+n.heightPt/2),a.rotate(-Math.PI/2),i.resources.paint(e,t,{xPt:-n.heightPt/2,yPt:-n.widthPt/2,widthPt:n.heightPt,heightPt:n.widthPt},a),a.restore()}function yy(e,t){for(let n of e.commands){if(n.kind===`noop`)continue;if(n.kind===`drawingml-shape`){Ir(t.ctx,n.plan,1);continue}if(n.kind===`drawingml-image-fill`){if(!t.resources)throw Error(`Missing retained resource painter for ${n.resourceKey}`);let{x:e,y:r,w:i,h:a}=n.plan.rect,o=n.fillRect??{l:0,t:0,r:0,b:0},s={xPt:e+o.l*i,yPt:r+o.t*a,widthPt:i*(1-o.l-o.r),heightPt:a*(1-o.t-o.b)};s.widthPt>0&&s.heightPt>0&&Or(t.ctx,n.plan,()=>{kr(t.ctx,n.plan),vy(n.resourceKey,`image`,s,void 0,t)}),Ir(t.ctx,n.plan,1);continue}if(n.kind===`resource`){if(!t.resources)throw Error(`Missing retained resource painter for ${n.resourceKey}`);vy(n.resourceKey,n.resourceKind,n.rect,n.orientation,t);continue}if(n.kind===`fill-rect`){t.ctx.fillStyle=n.fill,t.ctx.fillRect(n.rect.xPt,n.rect.yPt,n.rect.widthPt,n.rect.heightPt);continue}if(n.kind===`stroke-rect`){t.ctx.strokeStyle=n.stroke,t.ctx.lineWidth=n.lineWidthPt,t.ctx.setLineDash([...n.dashPt]),t.ctx.strokeRect(n.rect.xPt,n.rect.yPt,n.rect.widthPt,n.rect.heightPt),t.ctx.setLineDash([]);continue}if(n.kind===`watermark-text`){let e=ht(n.fill,t.ctx,n.rect.xPt,n.rect.yPt,n.rect.widthPt,n.rect.heightPt);if(e===null)continue;t.ctx.save();let r=n.rect.xPt+n.rect.widthPt/2,i=n.rect.yPt+n.rect.heightPt/2;t.ctx.translate(r,i),n.rotationDeg!==0&&t.ctx.rotate(n.rotationDeg*Math.PI/180),n.fitShape?(t.ctx.scale(n.rect.widthPt/n.sourceBounds.widthPt,n.rect.heightPt/n.sourceBounds.heightPt),t.ctx.translate(-(n.sourceBounds.xPt+n.sourceBounds.widthPt/2),-(n.sourceBounds.yPt+n.sourceBounds.heightPt/2))):t.ctx.translate(n.rect.xPt-r-n.sourceBounds.xPt,n.rect.yPt-i-n.sourceBounds.yPt),t.ctx.globalAlpha*=n.opacity,t.ctx.fillStyle=e,t.ctx.textAlign=`left`,t.ctx.textBaseline=`alphabetic`;let a=0;for(let e of n.spans)t.ctx.font=z(e.fontRoute,n.fontSizePt,e.fontWeight,e.fontStyle),t.ctx.fillText(e.text,a,0),a+=e.advancePt;t.ctx.restore();continue}t.ctx.fillStyle=n.fill,t.ctx.font=z(n.fontRoute,n.fontSizePt,n.fontWeight,n.fontStyle),t.ctx.textAlign=n.align===`start`?`left`:n.align===`end`?`right`:`center`,t.ctx.textBaseline=n.baseline;let e=n.align===`start`?n.rect.xPt:n.align===`end`?n.rect.xPt+n.rect.widthPt:n.rect.xPt+n.rect.widthPt/2,r=n.baseline===`top`?n.rect.yPt:n.baseline===`bottom`?n.rect.yPt+n.rect.heightPt:n.rect.yPt+n.rect.heightPt/2;t.ctx.fillText(n.text,e,r)}}function by(e,t,n){let r=e===`triple`,i=/^(thinThick|thickThin|thinThickThin)(Small|Medium|Large)Gap$/.exec(e);if(!r&&!i)return null;let a=r?[1,1,1]:i?.[1]===`thinThick`?[1,2]:i?.[1]===`thickThin`?[2,1]:[1,2,1],o=r||i?.[2]===`Small`?1:i?.[2]===`Medium`?2:3,s=t/(a.reduce((e,t)=>e+t,0)+o*(a.length-1)),c=a.map(e=>Math.max(1,Math.round(s*e*n))),l=Math.max(1,Math.round(s*o*n)),u=0;return{bands:c.map((e,t)=>{let n={offsetDev:u,widthDev:e};return u+=e+(t<c.length-1?l:0),n}),spanDev:u}}function xy(e){return[...e.bands].reverse().map(t=>({offsetDev:e.spanDev-t.offsetDev-t.widthDev,widthDev:t.widthDev}))}function Sy(e,t,n){if(t.style!==`compound`)return!1;let r=n.pointToCss??Rv(n.scale);if(r.b!==0||r.c!==0||r.a<=0||r.d<=0)return!1;let i=Bv(r,{xPt:e.xPt,yPt:e.yPt}),a=Bv(r,{xPt:e.xPt+e.widthPt,yPt:e.yPt+e.heightPt}),o=by(t.authoredStyle,t.widthPt*r.d,n.dpr),s=by(t.authoredStyle,t.widthPt*r.a,n.dpr);if(!o||!s||o.bands.length!==s.bands.length)return!1;let c=xy(o),l=xy(s),u=(e,t,i,a)=>{let o=[{xPt:e,yPt:t},{xPt:e+i,yPt:t},{xPt:e,yPt:t+a},{xPt:e+i,yPt:t+a}].map(e=>Vv(r,e));if(o.some(e=>e===null))return!1;let s=o.filter(e=>e!==null),c=s.map(e=>e.xPt),l=s.map(e=>e.yPt);return n.ctx.fillRect(Math.min(...c),Math.min(...l),Math.max(...c)-Math.min(...c),Math.max(...l)-Math.min(...l)),!0},d=Math.round(i.xPt*n.dpr-s.spanDev/2),f=Math.round(a.xPt*n.dpr+s.spanDev/2),p=Math.round(i.yPt*n.dpr-o.spanDev/2),m=Math.round(a.yPt*n.dpr+o.spanDev/2);n.ctx.fillStyle=t.color;for(let e=0;e<c.length;e+=1){let t=c[e],r=l[e],i=d+r.offsetDev,a=f-r.offsetDev,o=p+t.offsetDev,s=m-t.offsetDev,h=i/n.dpr,g=a/n.dpr,_=o/n.dpr,v=s/n.dpr,y=r.widthDev/n.dpr,b=t.widthDev/n.dpr;if(!u(h,_,g-h,b)||!u(h,v-b,g-h,b)||!u(h,_,y,v-_)||!u(g-y,_,y,v-_))return!1}return n.ctx.setLineDash([]),!0}function Cy(e){return 1/e.dpr}function wy(e,t,n=0){let r=n/t.scale,i=r>e.widthPt?{...e,widthPt:r,...typeof e.authoredStyle==`string`?{dashPatternPt:Object.freeze(st(e.authoredStyle,r))}:{}}:e,{ctx:a}=t;a.strokeStyle=i.color,a.lineWidth=i.widthPt,a.setLineDash(`dashPatternPt`in i&&i.dashPatternPt?[...i.dashPatternPt]:[]),a.beginPath();let o=`path`in i&&i.path?.length?i.path:[i.from,i.to],s=o.length===2&&(o[0].xPt===o[1].xPt||o[0].yPt===o[1].yPt),c=s&&o[0].yPt===o[1].yPt,l=s&&o[0].xPt===o[1].xPt,u=t.pointToCss??Rv(t.scale),d=o.map(e=>Bv(u,e)),f=s?o[1].xPt-o[0].xPt:0,p=s?o[1].yPt-o[0].yPt:0,m=u.a*f+u.c*p,h=u.b*f+u.d*p,g=s&&h===0,_=s&&m===0,v=c?Math.hypot(u.c,u.d):l?Math.hypot(u.a,u.b):0,y=i.style===`compound`&&s&&v>0?by(i.authoredStyle,i.widthPt*v,t.dpr):null;if(y){a.fillStyle=i.color;let e=(e,t,n,r)=>{let i=[{xPt:e,yPt:t},{xPt:e+n,yPt:t},{xPt:e,yPt:t+r},{xPt:e+n,yPt:t+r}].map(e=>Vv(u,e));if(i.some(e=>e===null))return;let o=i.filter(e=>e!==null),s=o.map(e=>e.xPt),c=o.map(e=>e.yPt);a.fillRect(Math.min(...s),Math.min(...c),Math.max(...s)-Math.min(...s),Math.max(...c)-Math.min(...c))},n=Math.round((g?d[0].yPt:d[0].xPt)*t.dpr-y.spanDev/2);for(let r of y.bands){let i=(n+r.offsetDev)/t.dpr,s=r.widthDev/t.dpr;if(g)e(Math.min(d[0].xPt,d[1].xPt),i,Math.abs(m),s);else if(_)e(i,Math.min(d[0].yPt,d[1].yPt),s,Math.abs(h));else{let e=(r.offsetDev-y.spanDev/2)/t.dpr/v,n=r.widthDev/t.dpr/v;c?a.fillRect(Math.min(o[0].xPt,o[1].xPt),o[0].yPt+e,Math.abs(o[1].xPt-o[0].xPt),n):a.fillRect(o[0].xPt+e,Math.min(o[0].yPt,o[1].yPt),n,Math.abs(o[1].yPt-o[0].yPt))}}a.setLineDash([]);return}if(i.style===`double`&&s&&v>0){if(a.fillStyle=i.color,g||_){let e=(e,t,n,r)=>{let i=[{xPt:e,yPt:t},{xPt:e+n,yPt:t},{xPt:e,yPt:t+r},{xPt:e+n,yPt:t+r}].map(e=>Vv(u,e));if(i.some(e=>e===null))return;let o=i.filter(e=>e!==null),s=o.map(e=>e.xPt),c=o.map(e=>e.yPt);a.fillRect(Math.min(...s),Math.min(...c),Math.max(...s)-Math.min(...s),Math.max(...c)-Math.min(...c))},{railDev:n,gapDev:r,spanDev:o}=ao(i.widthPt*v,t.dpr),s=n/t.dpr;if(g){let i=Math.round(d[0].yPt*t.dpr-o/2),a=Math.min(d[0].xPt,d[1].xPt),c=Math.abs(d[1].xPt-d[0].xPt);e(a,i/t.dpr,c,s),e(a,(i+n+r)/t.dpr,c,s)}else{let i=Math.round(d[0].xPt*t.dpr-o/2),a=Math.min(d[0].yPt,d[1].yPt),c=Math.abs(d[1].yPt-d[0].yPt);e(i/t.dpr,a,s,c),e((i+n+r)/t.dpr,a,s,c)}}else{let{railDev:e,gapDev:n,spanDev:r}=ao(i.widthPt*v,t.dpr),s=e/t.dpr/v,l=n/t.dpr/v,u=r/t.dpr/v;if(c){let e=Math.min(o[0].xPt,o[1].xPt),t=Math.abs(o[1].xPt-o[0].xPt);a.fillRect(e,o[0].yPt-u/2,t,s),a.fillRect(e,o[0].yPt-u/2+s+l,t,s)}else{let e=Math.min(o[0].yPt,o[1].yPt),t=Math.abs(o[1].yPt-o[0].yPt);a.fillRect(o[0].xPt-u/2,e,s,t),a.fillRect(o[0].xPt-u/2+s+l,e,s,t)}}a.setLineDash([]);return}let b=Hv(u,_&&v>0?{xPt:no(d[0].xPt,i.widthPt*v,t.dpr),yPt:0}:g&&v>0?{xPt:0,yPt:no(d[0].yPt,i.widthPt*v,t.dpr)}:{xPt:0,yPt:0})??{xPt:0,yPt:0},x=o[0];a.moveTo(x.xPt+b.xPt,x.yPt+b.yPt);for(let e of o.slice(1))a.lineTo(e.xPt+b.xPt,e.yPt+b.yPt);let S=i.style===`wavy`&&o.length>2;S&&(a.save(),a.lineJoin=`bevel`),a.stroke(),S&&a.restore(),a.setLineDash([])}function Ty(e,t){return n=>()=>{e.save();try{t(),n()}finally{e.restore()}}}function Ey(e,t){let n=t.pointToCss??Rv(t.scale);if(n.b!==0||n.c!==0)return e;let r=[{xPt:e.xPt,yPt:e.yPt},{xPt:e.xPt+e.widthPt,yPt:e.yPt},{xPt:e.xPt,yPt:e.yPt+e.heightPt},{xPt:e.xPt+e.widthPt,yPt:e.yPt+e.heightPt}].map(e=>Bv(n,e)),i=r.map(e=>e.xPt),a=r.map(e=>e.yPt),o=Math.floor(Math.min(...i)*t.dpr)/t.dpr,s=Math.floor(Math.min(...a)*t.dpr)/t.dpr,c=Math.ceil(Math.max(...i)*t.dpr)/t.dpr,l=Math.ceil(Math.max(...a)*t.dpr)/t.dpr,u=[{xPt:o,yPt:s},{xPt:c,yPt:s},{xPt:o,yPt:l},{xPt:c,yPt:l}].map(e=>Vv(n,e));if(u.some(e=>e===null))return e;let d=u.filter(e=>e!==null),f=d.map(e=>e.xPt),p=d.map(e=>e.yPt);return{xPt:Math.min(...f),yPt:Math.min(...p),widthPt:Math.max(...f)-Math.min(...f),heightPt:Math.max(...p)-Math.min(...p)}}function Dy(e,t,n,r=!0){let i=t.xPt-e.flowBounds.xPt,a=t.yPt-e.flowBounds.yPt,o=n.layoutTranslationPt??{xPt:0,yPt:0},s=Lv(n.pointToCss??Rv(n.scale),zv(i,a)),c=Ty(n.ctx,()=>n.ctx.translate(i,a)),l={...n,pointToCss:s,layoutTranslationPt:{xPt:o.xPt+i,yPt:o.yPt+a}};c(()=>{e.kind===`paragraph`?Wy(e,l):jy(e,l,e.resolvedFloatingTables??[],r)})()}function Oy(e,t){let n=Cy(t),r=new Set;for(let n of e.compoundBorderFrames??[])Sy(n.bounds,n.border,t)&&n.segmentIndexes.forEach(e=>r.add(e));e.borders.forEach((e,i)=>{r.has(i)||wy(e,t,n)})}function ky(e,t,n){let r=t.xPt-e.flowBounds.xPt,i=t.yPt-e.flowBounds.yPt,a=n.layoutTranslationPt??{xPt:0,yPt:0},o=Lv(n.pointToCss??Rv(n.scale),zv(r,i)),s=Ty(n.ctx,()=>n.ctx.translate(r,i)),c={...n,pointToCss:o,layoutTranslationPt:{xPt:a.xPt+r,yPt:a.yPt+i}};s(()=>{let t=()=>Oy(e,c);if(!e.clipBounds){t();return}Ty(n.ctx,()=>{n.ctx.beginPath(),n.ctx.rect(e.clipBounds.xPt,e.clipBounds.yPt,e.clipBounds.widthPt,e.clipBounds.heightPt),n.ctx.clip()})(t)()})()}function Ay(e,t,n,r){for(let n of e.rows)for(let e of n.cells){let n=`visualMergeOwnership`in e&&e.visualMergeOwnership===`continuation`;if(e.verticalMerge===`continue`&&!n)continue;e.background&&(t.ctx.fillStyle=e.background.color,t.ctx.fillRect(e.flowBounds.xPt,e.flowBounds.yPt,e.flowBounds.widthPt,e.flowBounds.heightPt));let r=(t,n=!0)=>{for(let r of e.blocks)Dy(r.layout,{xPt:e.contentBounds.xPt+(r.layout.kind===`table`?r.layout.flowBounds.xPt:0),yPt:e.flowBounds.yPt+r.offsetPt+(r.layout.kind===`table`?r.layout.flowBounds.yPt:0)},t,r.layout.kind!==`table`||n)};if(!e.clipBounds){r(t);continue}if(Ty(t.ctx,()=>{t.ctx.beginPath(),t.ctx.rect(e.clipBounds.xPt,e.clipBounds.yPt,e.clipBounds.widthPt,e.clipBounds.heightPt),t.ctx.clip()})(()=>r(t,!1))(),e.blocks.some(e=>e.layout.kind===`table`)){let n=Ey(e.clipBounds,t);Ty(t.ctx,()=>{t.ctx.beginPath(),t.ctx.rect(n.xPt,n.yPt,n.widthPt,n.heightPt),t.ctx.clip()})(()=>{for(let n of e.blocks)n.layout.kind===`table`&&ky(n.layout,{xPt:e.contentBounds.xPt+n.layout.flowBounds.xPt,yPt:e.flowBounds.yPt+n.offsetPt+n.layout.flowBounds.yPt},t)})()}}Ny(n,t),r&&Oy(e,t)}function jy(e,t,n,r){if(!e.clipBounds){Ay(e,t,n,r);return}let i=e.clipBounds;Ty(t.ctx,()=>{t.ctx.beginPath(),t.ctx.rect(i.xPt,i.yPt,i.widthPt,i.heightPt),t.ctx.clip()})(()=>Ay(e,t,n,r))()}function My(e,t,n){jy(e,t,n??e.resolvedFloatingTables??[],!0)}function Ny(e,t){let n=t.layoutTranslationPt??{xPt:0,yPt:0};for(let r of e)Dy(r.child,{xPt:r.xPt-n.xPt,yPt:r.yPt-n.yPt},t)}function Py(e,t){let n=e.transform;if(n){n.call(e,t.a,t.b,t.c,t.d,t.e,t.f);return}if(e.translate(t.e,t.f),t.a===0&&t.b===1&&t.c===-1&&t.d===0)e.rotate(Math.PI/2);else if(t.a===0&&t.b===-1&&t.c===1&&t.d===0)e.rotate(-Math.PI/2);else if(t.b===0&&t.c===0)e.scale(t.a,t.d);else throw Error(`Canvas context cannot apply the retained point-space transform`)}function Fy(e){if(e.text.length!==e.range.end-e.range.start)throw Error(`UTF-16 text range is inconsistent`);if(e.clusters.length===0)throw Error(`Retained glyph slices are incomplete (clusters)`);let t=e.range.start;for(let n of e.clusters){let{advancePt:r,offset:i,range:a}=n;if(!Number.isFinite(r)||!Number.isFinite(i.xPt)||!Number.isFinite(i.yPt)||a.start!==t||a.end<=a.start||a.end>e.range.end)throw Error(`Retained glyph slices are incomplete (cluster range ${t}:${a.start}-${a.end}/${e.range.end}; advance ${r}; offset ${i.xPt},${i.yPt})`);t=a.end}if(t!==e.range.end)throw Error(`Retained glyph slices are incomplete (cluster end ${t}/${e.range.end})`);if(e.paintOps.length===0)throw Error(`Retained glyph slices are incomplete (paint ops)`);let n=e.range.start;for(let t of e.paintOps){let r=t.sourceMapping!==`kashida`&&t.text.length!==t.range.end-t.range.start,i=!Number.isFinite(t.offset.xPt)||!Number.isFinite(t.offset.yPt)||t.glyphOffsetPt!==void 0&&(!Number.isFinite(t.glyphOffsetPt.xPt)||!Number.isFinite(t.glyphOffsetPt.yPt))||t.blockAxisInkBounds!==void 0&&(!Number.isFinite(t.blockAxisInkBounds.startPt)||!Number.isFinite(t.blockAxisInkBounds.endPt)||t.blockAxisInkBounds.endPt<t.blockAxisInkBounds.startPt)||!Number.isFinite(t.letterSpacingPt)||!Number.isFinite(t.scaleX)||t.scaleX<=0||t.scaleY!==void 0&&(!Number.isFinite(t.scaleY)||t.scaleY<=0),a=t.range.start!==n||t.range.end<=t.range.start||t.range.end>e.range.end;if(r||i||a)throw Error(`Retained glyph slices are incomplete (${r?`text`:i?`geometry`:`range ${n}:${t.range.start}-${t.range.end}/${e.range.end}`})`);n=t.range.end}let r=e.text.slice(n-e.range.start);if(r!==``&&!/^\\s+$/u.test(r))throw Error(`Retained glyph slices are incomplete (paint end ${n}/${e.range.end})`)}function Iy(e,t){return e.kind===`explicit`?e.color:e.kind===`auto`?mt(e.background??`#FFFFFF`):t.defaultTextColor??`#000000`}function Ly(e,t){return Iy(e.color,t)}function Ry(e,t,n=!1){let{ctx:r}=t;r.fillStyle=Iy(e.color,t),r.font=z(e.fontRoute,e.fontSizePt,e.fontWeight,e.fontStyle),n?(r.save(),r.translate(e.origin.xPt,e.origin.yPt),r.rotate(-Math.PI/2),r.fillText(e.text,0,0),r.restore()):r.fillText(e.text,e.origin.xPt,e.origin.yPt)}function zy(e,t){let{ctx:n}=t;if(n.beginPath(),e.points.length>0){let t=e.points[0];n.moveTo(t.xPt,t.yPt);for(let t of e.points.slice(1))n.lineTo(t.xPt,t.yPt)}e.stroke!==null&&(n.strokeStyle=e.stroke,n.lineWidth=e.strokeWidthPt,n.stroke()),e.fill!==null&&(n.fillStyle=e.fill,n.fill())}function By(e,t){let n=new Map(e.textBoxes.map(e=>[e.id,e]));return(t.textBoxIds??[]).flatMap(e=>{let t=n.get(e);return t?[t]:[]})}function Vy(e,t,n){let r=n.layoutTranslationPt,i=e.anchorLayer?.horizontalOwnership===`page`?-(r?.xPt??0):0,a=e.anchorLayer?.verticalOwnership===`page`?-(r?.yPt??0):0;(i!==0||a!==0)&&(n.ctx.save(),n.ctx.translate(i,a));let o=n=>{yy(e,n);for(let e of t)Gy(e,{...n,omitAnchoredDrawings:!1})};try{if(e.orientation===`upright-physical`){if(!e.transform)throw Error(`Upright physical drawing requires its retained logical transform`);let t=Lv(n.pointToCss??Rv(n.scale),e.transform);Ty(n.ctx,()=>{Py(n.ctx,e.transform)})(()=>o({...n,pointToCss:t}))()}else o(n)}finally{(i!==0||a!==0)&&n.ctx.restore()}}function Hy(e,t,n){Vy(t,By(e,t),n)}function Uy(e,t){let{ctx:n}=t,r=new Set(e.drawings.flatMap(e=>e.textBoxIds??[])),i=n=>Hy(e,n,t),a=e.drawings.filter(e=>e.anchorLayer?.behindDoc===!0).sort((e,t)=>e.anchorLayer.relativeHeight-t.anchorLayer.relativeHeight||e.anchorLayer.sourceOrder-t.anchorLayer.sourceOrder);if(!t.omitAnchoredDrawings)for(let e of a)i(e);for(let t of e.lineNumbers??[])for(let e of t.paintOps)n.fillStyle=e.color,n.font=e.font,n.textAlign=e.textAlign,n.textBaseline=`alphabetic`,n.fillText(e.text,e.origin.xPt,e.origin.yPt);e.shading&&(n.fillStyle=e.shading.color,n.fillRect(e.inkBounds.xPt,e.inkBounds.yPt,e.inkBounds.widthPt,e.inkBounds.heightPt));for(let r of e.lines){for(let e of r.barTabRules??[])wy(e,t,Cy(t));for(let e of r.placements){if(e.kind===`resource`){if(!t.resources)throw Error(`Missing retained resource painter for ${e.resourceKey}`);if(t.textBoxVerticalMode){let r=t.textBoxVerticalMode===`vert270`?Math.PI/2:-Math.PI/2;n.save(),n.translate(e.bounds.xPt+e.bounds.widthPt/2,e.bounds.yPt+e.bounds.heightPt/2),n.rotate(r),vy(e.resourceKey,e.resourceKind,{xPt:-e.bounds.heightPt/2,yPt:-e.bounds.widthPt/2,widthPt:e.bounds.heightPt,heightPt:e.bounds.widthPt},e.orientation,t),n.restore()}else vy(e.resourceKey,e.resourceKind,e.bounds,e.orientation,t);continue}if(e.kind===`tab`){if(e.leader!==`none`){if(!e.leaderGlyphs)throw Error(`Retained tab leader geometry is missing`);for(let n of e.leaderGlyphs)Ry(n,t)}for(let n of e.decorations??[])wy(n,t);continue}if(e.kind!==`text`)continue;if(Fy(e),e.unsupportedGeometry?.length)throw Error(`Unsupported retained typography geometry: ${e.unsupportedGeometry.join(`, `)}`);if(e.highlightFragments)for(let t of e.highlightFragments)n.fillStyle=t.color,n.fillRect(t.rect.xPt,t.rect.yPt,t.rect.widthPt,t.rect.heightPt);else (e.background||e.highlight)&&(n.fillStyle=e.highlight??e.background??`#000000`,n.fillRect(e.bounds.xPt,e.bounds.yPt,e.bounds.widthPt,e.bounds.heightPt));n.fillStyle=Ly(e,t),n.font=z(e.fontRoute,e.fontSizePt,e.fontWeight,e.fontStyle),n.textAlign=`left`,n.textBaseline=`alphabetic`;let r=n.letterSpacing,i=n.fontKerning;for(let t of e.paintOps){n.direction=t.direction,n.fontKerning=t.kerning;let r=e.origin.xPt+t.offset.xPt,i=e.origin.yPt+t.offset.yPt,a=t.glyphOffsetPt?.xPt??0,o=t.glyphOffsetPt?.yPt??0;if(t.glyphOrientation===`upright`){n.save(),n.translate(r,i),n.rotate(-Math.PI/2),(t.scaleX!==1||t.scaleY!==void 0)&&(t.writingMode===`vertical-rl`?n.scale(1,t.scaleX):n.scale(t.scaleX,t.scaleY??1)),n.textAlign=`center`,n.textBaseline=`middle`,n.letterSpacing=`${t.letterSpacingPt}px`;let e=()=>n.fillText(t.text,a,o);t.verticalFeature?Pc(n,e):e(),n.restore()}else t.glyphOrientation===`rotate`?(n.save(),n.translate(r,i),t.scaleX!==1&&n.scale(t.scaleX,1),n.textAlign=`center`,n.textBaseline=`middle`,n.letterSpacing=`${t.letterSpacingPt/t.scaleX}px`,n.fillText(t.text,a,o),n.restore()):t.scaleX===1?(n.letterSpacing=`${t.letterSpacingPt}px`,n.fillText(t.text,r+a,i+o)):(n.save(),n.translate(r+a,i+o),n.scale(t.scaleX,1),n.letterSpacing=`${t.letterSpacingPt/t.scaleX}px`,n.fillText(t.text,0,0),n.restore())}if(n.letterSpacing=r,n.fontKerning=i,e.ruby){let n=t.textBoxVerticalMode===`eaVert`||t.textBoxVerticalMode===`mongolianVert`;for(let r of e.ruby.paintOps)Ry(r,t,n)}for(let n of e.emphasis?.glyphs??[])Ry(n,t);for(let n of e.emphasis?.paths??[])zy(n,t);for(let n of e.decorations)wy(n,t);for(let n of e.runBorderFragments??[])wy(n,t)}}let o=Cy(t);for(let n of e.borders)wy(n,t,o);for(let t of e.drawings.filter(e=>!e.anchorLayer))i(t);let s=e.drawings.filter(e=>e.anchorLayer&&!e.anchorLayer.behindDoc).sort((e,t)=>e.anchorLayer.relativeHeight-t.anchorLayer.relativeHeight||e.anchorLayer.sourceOrder-t.anchorLayer.sourceOrder);if(!t.omitAnchoredDrawings)for(let e of s)i(e);for(let n of e.textBoxes)r.has(n.id)||Gy(n,{...t,omitAnchoredDrawings:!1})}function Wy(e,t){if(!e.clipBounds){Uy(e,t);return}let n=e.clipBounds;Ty(t.ctx,()=>{t.ctx.beginPath(),t.ctx.rect(n.xPt,n.yPt,n.widthPt,n.heightPt),t.ctx.clip()})(()=>Uy(e,t))()}function Gy(e,t){let n=t=>{for(let n of e.story.blocks)if(n.kind===`paragraph`)Wy(n,t);else if(n.kind===`table`)My(n,t,n.resolvedFloatingTables??[]);else throw Error(`Text-box story contains unsupported retained node: ${n.kind}`)},r=Lv(t.pointToCss??Rv(t.scale),e.transform),i=e.transform.a!==1||e.transform.b!==0||e.transform.c!==0||e.transform.d!==1||e.transform.e!==0||e.transform.f!==0,a=Ty(t.ctx,()=>{i&&(e.verticalMode?(t.ctx.translate(e.transform.e,e.transform.f),t.ctx.rotate(e.verticalMode===`vert270`?-Math.PI/2:Math.PI/2)):t.ctx.transform(e.transform.a,e.transform.b,e.transform.c,e.transform.d,e.transform.e,e.transform.f))}),o=e.clipBounds?Ty(t.ctx,()=>{t.ctx.beginPath(),t.ctx.rect(e.clipBounds.xPt,e.clipBounds.yPt,e.clipBounds.widthPt,e.clipBounds.heightPt),t.ctx.clip()}):null,s=t.documentDefaultTextColor??t.defaultTextColor??`#000000`,c={...t,pointToCss:r,documentDefaultTextColor:s,defaultTextColor:e.defaultTextColor??s,...e.verticalMode?{textBoxVerticalMode:e.verticalMode}:{}};a(()=>{o?o(()=>n(c))():n(c)})()}function Ky(e,t){let n=Lv(t.pointToCss??Rv(t.scale),e.logicalToPhysical),r={...t,pointToCss:n};Ty(t.ctx,()=>{Py(t.ctx,e.logicalToPhysical)})(()=>{for(let t of e.segments)wy(t,r,.5)})()}const qy=Object.freeze({paint(e,t){throw Error(`Missing retained resource painter for ${e}: expected ${t}`)}});function Jy(e,t){return Object.freeze({paint(n,r,i,a){switch(r){case`image`:t.image(e.resolve(n,r),i,a);return;case`chart`:t.chart(e.resolve(n,r),i,a);return;case`math`:t.math(e.resolve(n,r),i,a);return;case`picture-bullet`:t[`picture-bullet`](e.resolve(n,r),i,a);return;default:throw Error(`Unknown retained resource kind: ${String(r)}`)}}})}function Yy(e,t){switch(e.kind){case`drawing`:yy(e,t);return;case`paragraph`:Wy(e,t);return;case`table`:My(e,t,e.resolvedFloatingTables??[]);return;case`note`:{e.separator.forEach(e=>wy(e,t));let n=()=>e.story.blocks.forEach(e=>Yy(e,t));if(!e.story.clipBounds){n();return}let r=e.story.clipBounds;t.ctx.save();try{t.ctx.beginPath(),t.ctx.rect(r.xPt,r.yPt,r.widthPt,r.heightPt),t.ctx.clip(),n()}finally{t.ctx.restore()}return}case`textbox`:throw Error(`Unsupported page paint node kind: ${e.kind}`);default:throw Error(`Unknown page paint node kind: ${String(e)}`)}}function Xy(e,t){let n=e.columnSeparators;if(n.length===0)return;let{ctx:r}=t;r.save(),r.strokeStyle=`#000000`;for(let e of n){let n=_y(e,t.scale,t.dpr);r.lineWidth=n.widthPt,r.beginPath(),r.moveTo(n.segment.start.xPt,n.segment.start.yPt),r.lineTo(n.segment.end.xPt,n.segment.end.yPt),r.stroke()}r.restore()}function Zy(e,t,n,r){let i=n.get(e.flowDomainId),a=e.coordinateSpace===`upright-physical`?void 0:i?.coordinateSpace.logicalToPhysical,o=Ty(t.ctx,()=>{a&&(a.a!==1||a.b!==0||a.c!==0||a.d!==1||a.e!==0||a.f!==0)&&Py(t.ctx,a)}),s={...t,...a?{pointToCss:{a:a.a*t.scale,b:a.b*t.scale,c:a.c*t.scale,d:a.d*t.scale,e:a.e*t.scale,f:a.f*t.scale}}:{}};o(()=>r(s))()}function Qy(e,t){if(e.kind===`transform`){let n=t.transform;if(n)n.call(t,e.transform.a,e.transform.b,e.transform.c,e.transform.d,e.transform.e,e.transform.f);else if(e.transform.a===1&&e.transform.b===0&&e.transform.c===0&&e.transform.d===1)t.translate(e.transform.e,e.transform.f);else throw Error(`Canvas context cannot apply the retained page paint transform`);return}t.beginPath(),t.rect(e.clip.xPt,e.clip.yPt,e.clip.widthPt,e.clip.heightPt),t.clip()}function $y(e,t){let n=t.pointToCss??Rv(t.scale);for(let t of e.frames)t.kind===`transform`&&(n=Lv(n,t.transform));let r={...t,pointToCss:n,layoutTranslationPt:e.layoutTranslationPt,omitAnchoredDrawings:!1},i=0;try{for(let n of e.frames)t.ctx.save(),i+=1,Qy(n,t.ctx);Vy(e.node,e.textBoxes,r)}finally{for(;i>0;)t.ctx.restore(),--i}}function eb(e,t){let n=new Map(e.sectionRegions.flatMap(e=>e.flowDomainIds.map(t=>[t,e]))),r=new Map(e.sectionRegions.map(e=>[e.id,e]));for(let t of e.flowDomains)if(t.kind===`footnote`||t.kind===`endnote`){let i=t.sectionRegionId?r.get(t.sectionRegionId):e.sectionRegions[0];if(!i)throw Error(`${t.id} references missing page story region ${t.sectionRegionId??`<default>`}`);n.set(t.id,i)}let i=e.layers.paintOrder,a=i.findIndex(e=>e.sourceLayer!==`background`&&e.sourceLayer!==`behindText`&&e.sourceLayer!==`header`),o=a===-1?i.length:a,s=e=>{for(let r of e)Zy(r,t,n,e=>{r.kind===`drawing`?$y(r,e):Yy(r.node,{...e,omitAnchoredDrawings:r.omitAnchoredDrawings})})};e.pageBorder?.zOrder===`back`&&Ky(e.pageBorder,t),s(i.slice(0,o)),Xy(e,t),s(i.slice(o)),e.pageBorder?.zOrder!==`back`&&e.pageBorder&&Ky(e.pageBorder,t)}async function tb(e,t,n,r,i=qy){let a=e.pages[t];if(!a)throw RangeError(`Page ${t} is outside the layout`);let o=n.getContext(`2d`);if(!o)throw Error(`Canvas 2D context is unavailable`);let s=r.scale*r.dpr;n.width=Math.ceil(a.geometry.widthPt*s),n.height=Math.ceil(a.geometry.heightPt*s),o.save();try{o.setTransform(1,0,0,1,0,0),o.clearRect(0,0,n.width,n.height),o.setTransform(s,0,0,s,0,0),eb(a,{ctx:o,scale:r.scale,dpr:r.dpr,resources:i})}finally{o.restore()}}function nb(e,t){if(typeof e!=`string`||e.trim().length===0)throw TypeError(`${t} must be a non-empty string`)}function rb(e){return nb(e,`unavailable paint resource reason`),Object.freeze({status:`unavailable`,reason:e})}function ib(e){return typeof e==`object`&&!!e&&e.status===`unavailable`&&typeof e.reason==`string`&&e.reason.trim().length>0}function ab(e){typeof e!=`object`||!e||e.status!==`unavailable`||nb(e.reason,`unavailable paint resource reason`)}function ob(e,t){let n=new Map;for(let r of t){if(n.has(r.resourceKey))throw Error(`Duplicate paint resource handle: ${r.resourceKey}`);ab(r.handle),e.resolve(r.resourceKey,r.kind),n.set(r.resourceKey,Object.freeze({kind:r.kind,handle:r.handle}))}let r=Object.freeze([...n.keys()].sort());return Object.freeze({keys:r,resolve(t,r){let i=e.resolve(t,r),a=n.get(t);if(!a)throw Error(`Missing paint resource handle for ${t}: expected ${r}`);if(a.kind!==r)throw Error(`Paint resource kind mismatch for ${t}: expected ${r}, got ${a.kind}`);return Object.freeze({descriptor:i,handle:a.handle})}})}function sb(e,t){return ob(e,e.descriptors.map(e=>{if(e.kind===`chart`)return{resourceKey:e.resourceKey,kind:e.kind,handle:null};let n=t(e);if(n==null)throw Error(`Missing ${e.kind} paint handle for ${e.resourceKey}`);return{resourceKey:e.resourceKey,kind:e.kind,handle:n}}))}function cb(e){if(!ib(e.handle)){if(e.handle===void 0||e.handle===null)throw Error(`Missing ${e.descriptor.kind} drawable for ${e.descriptor.resourceKey}`);return e.handle}}function lb(e,t,n){let r=e.descriptor,i=cb(e);if(!i)return;let a=(e,a)=>{Ka(n,i,r.srcRect,e,a,t.widthPt,t.heightPt)},o=r.alpha!==void 0&&r.alpha<1;o&&(n.save(),n.globalAlpha*=r.alpha);let s=r.rotation??0;s===0&&!r.flipH&&!r.flipV?a(t.xPt,t.yPt):(n.save(),n.translate(t.xPt+t.widthPt/2,t.yPt+t.heightPt/2),n.rotate(s*Math.PI/180),n.scale(r.flipH?-1:1,r.flipV?-1:1),a(-t.widthPt/2,-t.heightPt/2),n.restore()),o&&n.restore()}function ub(e,t,n){let r=cb(e);r&&n.drawImage(r,t.xPt,t.yPt,t.widthPt,t.heightPt)}const db=Object.freeze({image(e,t,n){lb(e,t,n)},chart(e,t,n){Ln(n,e.descriptor.model,{x:t.xPt,y:t.yPt,w:t.widthPt,h:t.heightPt},1)},math(e,t,n){ub(e,t,n)},\"picture-bullet\"(e,t,n){ub(e,t,n)}}),fb=new WeakMap;function pb(e,t){return(t??e.geometry.widthPt*1.3333333333333333)/e.geometry.widthPt}function mb(e){if(eo(e))return e.ownerDocument??(typeof document>`u`?null:document);let t=e.ownerDocument,n=t?.defaultView?.HTMLCanvasElement;return n&&e instanceof n?t:null}function hb(e){return mb(e)!==null}function gb(e,t){let n=mb(e);if(!t||n&&e.isConnected)return{canvas:e};let r=n??(typeof document>`u`?void 0:document);if(!r)throw Error(`OpenType vertical glyph paint requires an element-backed document surface`);let i=r.body??r.documentElement;if(!i)throw Error(`OpenType vertical glyph paint requires an attached document surface`);let a=r.createElement(`canvas`);return a.setAttribute(`aria-hidden`,`true`),Object.assign(a.style,{position:`fixed`,left:`-99999px`,top:`0`,opacity:`0`,pointerEvents:`none`}),i.appendChild(a),{canvas:a,release:()=>a.remove()}}async function _b(e,t,n,r){let i=r.fetchImage?ka(r.fetchImage):void 0,a;try{let i=(fb.get(n)??0)+1;fb.set(n,i);let o=()=>fb.get(n)!==i,s=r.dpr??to(),c=gb(n,!r.parseError&&t.layers.capabilities.requiresElementBackedVerticalGlyphPaint),l=c.canvas;a=c.release;let u=l.getContext(`2d`);if(!u)throw Error(`2D canvas is unavailable for DOCX paint`);let d=pb(t,r.width),f=t.geometry.widthPt*d,p=t.geometry.heightPt*d,m=io(f*s,p*s),h=m.clamped?s*m.scale:s;if(n.width=m.width,n.height=m.height,l!==n&&(l.width=m.width,l.height=m.height),hb(n)&&(n.style.width=`${f}px`,n.style.height=`${p}px`,n.style.display||(n.style.display=`block`)),hb(l)&&l!==n&&(l.style.width=`${f}px`,l.style.height=`${p}px`),u.scale(h,h),u.fillStyle=`#ffffff`,u.fillRect(0,0,f,p),r.parseError){await tb(e,0,n,{scale:d,dpr:h});return}let g;try{g=await my(r.registry.descriptors,r.fetchImage)}catch(e){if(o())return;throw e}if(o())return;let _=Jy(sb(r.registry,e=>{if(e.kind===`math`)return r.privateResources?.keys.includes(e.resourceKey)?r.privateResources.resolve(e.resourceKey):rb(`optional math renderer unavailable`);if(e.kind===`image`||e.kind===`picture-bullet`)return g.get(uy(e.partPath,e.colorReplaceFrom,e.duotone))??rb(r.fetchImage?`unsupported image format produced no drawable output`:`image byte source unavailable`)}),db);u.save();try{u.scale(d,d),eb(t,{ctx:u,scale:d,dpr:h,resources:_,documentDefaultTextColor:r.defaultTextColor??`#000000`,defaultTextColor:r.defaultTextColor??`#000000`})}finally{u.restore()}if(l!==n){if(o())return;let e=n.getContext(`2d`);if(!e)throw Error(`2D canvas is unavailable for DOCX paint projection`);e.drawImage(l,0,0)}if(r.onTextRun)for(let e of r.textRuns)r.onTextRun(e)}finally{a?.(),i?.()}}var vb=class extends Error{code=`NOTE_CAPACITY_EXCEEDED`;constructor(e,t,n){super(`${e} story exceeds ${n} on page ${t}`),this.kind=e,this.pageIndex=t,this.containerId=n,this.name=`NoteCapacityExceededError`}};function yb(e){return Object.freeze({...e,pages:Object.freeze([...e.pages])})}function bb(e){let{kind:t,region:n,...r}=e,i=K_(r);if(n&&(i=q_(i,n)),t===`content`&&i.sectionRegions.length===0)throw RangeError(`A content page draft requires an initial section region`);if(t===`parity-blank`&&i.sectionRegions.length!==0)throw RangeError(`A parity blank cannot retain a section region`);return Object.freeze({kind:t,accumulator:i})}function xb(e,t){if(t.kind!==`content`||t.accumulator.pageIndex!==e.pageIndex)throw Error(`The initial body page must be owned by the active flow`);return yb({flow:e,pages:[t],footnoteReservePt:0,balanceTargetPt:null})}function Sb(e,t){if(t!==null&&(!Number.isFinite(t)||t<0))throw RangeError(`A body balance target must be finite and non-negative`);return yb({...e,balanceTargetPt:t})}function Cb(e,t){if(!Number.isFinite(t)||t<0)throw RangeError(`A footnote reserve increment must be finite and non-negative`);return t===0?e:yb({...e,footnoteReservePt:e.footnoteReservePt+t})}function wb(e,t,n){let r=[...e.pages],i=t.state,a=!1;for(let e of t.events){if(e.type===`place`)throw Error(`Occurrence acceptance owns place events`);if(e.type!==`next-column`){if(e.type===`next-page`){if(e.parityBlank)r.push(n.openParityBlankPage(e));else{let a=n.openContentPage(e,t.state);r.push(a.page),i=a.flow}a=!0;continue}if(!a){let t=r.at(-1);if(!t||t.kind!==`content`)throw Error(`A continuous section requires an active content page`);r[r.length-1]=n.openSamePageSectionRegion(t,e,i)}}}let o=r.at(-1);if(!o||o.kind!==`content`||o.accumulator.pageIndex!==i.pageIndex)throw Error(`A page transition must end on the active content page`);return yb({...e,flow:i,pages:r,footnoteReservePt:a?0:e.footnoteReservePt,balanceTargetPt:a?null:e.balanceTargetPt})}function Tb(e){if(e.length===0)return null;let t=Math.min(...e.map(e=>e.xPt)),n=Math.min(...e.map(e=>e.yPt)),r=Math.max(...e.map(e=>e.xPt+e.widthPt)),i=Math.max(...e.map(e=>e.yPt+e.heightPt));return{xPt:t,yPt:n,widthPt:r-t,heightPt:i-n}}function Eb(e){return{x:!e.horzSpecified||e.horzAnchor!==`page`&&e.horzAnchor!==`margin`,y:e.vertAnchor!==`page`&&e.vertAnchor!==`margin`}}function Db(e,t){return{...e,xPt:e.xPt+t.xPt,yPt:e.yPt+t.yPt}}function Q(e,t){return{...e,xPt:e.xPt+t.xPt,yPt:e.yPt+t.yPt}}function Ob(e,t){return{...e,from:Db(e.from,t),to:Db(e.to,t)}}function kb(e,t){return e.kind===`rect`?{...e,rect:Q(e.rect,t)}:{...e,points:e.points.map(e=>Db(e,t))}}function Ab(e,t){return e.kind===`noop`?e:e.kind===`drawingml-shape`||e.kind===`drawingml-image-fill`?{...e,plan:{...e.plan,rect:{...e.plan.rect,x:e.plan.rect.x+t.xPt,y:e.plan.rect.y+t.yPt}}}:{...e,rect:Q(e.rect,t)}}function jb(e,t){let n=e.orientation===`upright-physical`?{xPt:0,yPt:0}:t;return{...e,flowBounds:Q(e.flowBounds,t),inkBounds:Q(e.inkBounds,t),...e.clipBounds?{clipBounds:Q(e.clipBounds,t)}:{},...e.transform?{transform:{...e.transform,e:e.transform.e+t.xPt,f:e.transform.f+t.yPt}}:{},...e.clip?{clip:kb(e.clip,t)}:{},commands:e.commands.map(e=>Ab(e,n))}}function Mb(e,t,n){let r=`${t.xPt}\\u0000${t.yPt}`,i=n.drawingMemo.get(e);if(i){if(i.key!==r)throw Error(`incompatible projection ownership`);return i.value}let a=jb(e,t);return n.drawingMemo.set(e,{key:r,value:a}),a}function Nb(e,t,n){return e.kind===`text`?{...e,origin:Db(e.origin,t),bounds:Q(e.bounds,t),decorations:e.decorations.map(e=>({...e,from:Db(e.from,t),to:Db(e.to,t),...e.path?{path:e.path.map(e=>Db(e,t))}:{}})),...e.highlightFragments?{highlightFragments:e.highlightFragments.map(e=>({...e,rect:Q(e.rect,t)}))}:{},...e.ruby?{ruby:{...e.ruby,paintOps:e.ruby.paintOps.map(e=>({...e,origin:Db(e.origin,t)}))}}:{},...e.emphasis?{emphasis:{...e.emphasis,...e.emphasis.glyphs?{glyphs:e.emphasis.glyphs.map(e=>({...e,origin:Db(e.origin,t)}))}:{},...e.emphasis.paths?{paths:e.emphasis.paths.map(e=>({...e,points:e.points.map(e=>Db(e,t))}))}:{}}}:{},...e.runBorderFragments?{runBorderFragments:e.runBorderFragments.map(e=>Ob(e,t))}:{}}:e.kind===`anchor-host`?{...e,bounds:Q(e.bounds,t),baselinePt:e.baselinePt+t.yPt}:e.kind===`drawing`?{...e,bounds:Q(e.bounds,n?.get(e.drawingId)??t)}:e.kind===`tab`&&(e.leaderGlyphs||e.decorations)?{...e,...e.bounds?{bounds:Q(e.bounds,t)}:{},...e.leaderGlyphs?{leaderGlyphs:e.leaderGlyphs.map(e=>({...e,origin:Db(e.origin,t)}))}:{},...e.decorations?{decorations:e.decorations.map(e=>({...e,from:Db(e.from,t),to:Db(e.to,t),...e.path?{path:e.path.map(e=>Db(e,t))}:{}}))}:{}}:e.bounds?{...e,bounds:Q(e.bounds,t)}:e}function Pb(e,t,n){return{...e,bounds:Q(e.bounds,t),baselinePt:e.baselinePt+t.yPt,placements:e.placements.map(e=>Nb(e,t,n)),...e.barTabRules?{barTabRules:e.barTabRules.map(e=>({...e,from:Db(e.from,t),to:Db(e.to,t)}))}:{}}}function Fb(e,t){let n=e.axes[t];return n.status===`resolved`&&[`page`,`margin`,`leftMargin`,`rightMargin`,`topMargin`,`bottomMargin`].includes(n.referenceFrame)}function Ib(e,t){let n=Fb(e,`horizontal`)?0:t.xPt,r=Fb(e,`vertical`)?0:t.yPt,i={xPt:n,yPt:r},a={horizontal:e.axes.horizontal.status===`resolved`?{...e.axes.horizontal,baseStartPt:e.axes.horizontal.baseStartPt+n,baseEndPt:e.axes.horizontal.baseEndPt+n,resolvedOriginPt:e.axes.horizontal.resolvedOriginPt+n}:e.axes.horizontal,vertical:e.axes.vertical.status===`resolved`?{...e.axes.vertical,baseStartPt:e.axes.vertical.baseStartPt+r,baseEndPt:e.axes.vertical.baseEndPt+r,resolvedOriginPt:e.axes.vertical.resolvedOriginPt+r}:e.axes.vertical};return e.status===`unsupported`?{...e,axes:a}:{...e,axes:a,geometry:{...e.geometry,objectFrame:Q(e.geometry.objectFrame,i),inkBounds:Q(e.geometry.inkBounds,i),wrapBounds:e.geometry.wrapBounds?Q(e.geometry.wrapBounds,i):null,wrap:{...e.geometry.wrap,polygon:e.geometry.wrap.polygon?{...e.geometry.wrap.polygon,points:e.geometry.wrap.polygon.points.map(e=>Db(e,i))}:null}}}}function Lb(e,t){return Rb(e,t,{memo:new WeakMap,drawingMemo:new WeakMap})}function Rb(e,t,n){let r=`${t.xPt}\\u0000${t.yPt}`,i=n.memo.get(e);if(i){if(i.key!==r)throw Error(`incompatible projection ownership`);return i.value}let a=new Map(e.drawings.flatMap(e=>e.anchorLayer?[[e.anchorLayer.occurrenceId,e.anchorLayer]]:[])),o=new Map,s=new Map;for(let n of e.drawings){let e={xPt:n.anchorLayer?.horizontalOwnership===`page`?0:t.xPt,yPt:n.anchorLayer?.verticalOwnership===`page`?0:t.yPt};s.set(n.id,e),n.textBoxIds?.forEach(t=>o.set(t,n.orientation===`upright-physical`?{xPt:0,yPt:0}:e))}let c=e.drawings.map(e=>Mb(e,s.get(e.id)??t,n)),l=Tb(c.filter(e=>e.anchorLayer?.cellContainment===!0).map(e=>e.flowBounds)),u={...e,flowBounds:Q(e.flowBounds,t),inkBounds:Q(e.inkBounds,t),...e.clipBounds?{clipBounds:Q(e.clipBounds,t)}:{},lines:e.lines.map(e=>Pb(e,t,s)),borders:e.borders.map(e=>Ob(e,t)),drawings:c,...l?{cellContainmentBounds:l}:{},textBoxes:e.textBoxes.map(e=>Bb(e,o.get(e.id)??t,n)),exclusions:e.exclusions.map(e=>{let n=e.anchorOccurrenceId?a.get(e.anchorOccurrenceId):void 0,r={xPt:n?.horizontalOwnership===`page`?0:t.xPt,yPt:e.verticalOwnership===`page`||n?.verticalOwnership===`page`?0:t.yPt};return{...e,bounds:Q(e.bounds,r),polygon:e.polygon.map(e=>Db(e,r))}}),...e.anchorCollisions?{anchorCollisions:e.anchorCollisions.map(e=>({...e,bounds:Q(e.bounds,{xPt:e.horizontalOwnership===`page`?0:t.xPt,yPt:e.verticalOwnership===`page`?0:t.yPt})}))}:{},...e.anchorFrames?{anchorFrames:e.anchorFrames.map(e=>Ib(e,t))}:{},...e.paragraphMark?{paragraphMark:{...e.paragraphMark,bounds:Q(e.paragraphMark.bounds,t)}}:{},...e.lineNumbers?{lineNumbers:e.lineNumbers.map(e=>({...e,bounds:Q(e.bounds,t),paintOps:e.paintOps.map(e=>({...e,origin:Db(e.origin,t)}))}))}:{}};return n.memo.set(e,{key:r,value:u}),u}function zb(e,t){return Bb(e,t,{memo:new WeakMap,drawingMemo:new WeakMap})}function Bb(e,t,n){let r=e.verticalMode===void 0;return{...e,flowBounds:Q(e.flowBounds,t),inkBounds:Q(e.inkBounds,t),...e.clipBounds?{clipBounds:r?Q(e.clipBounds,t):e.clipBounds}:{},...e.contentBounds?{contentBounds:r?Q(e.contentBounds,t):e.contentBounds}:{},transform:r?e.transform:{...e.transform,e:e.transform.e+t.xPt,f:e.transform.f+t.yPt},story:r?{...e.story,flowBounds:Q(e.story.flowBounds,t),inkBounds:Q(e.story.inkBounds,t),...e.story.clipBounds?{clipBounds:Q(e.story.clipBounds,t)}:{},blocks:e.story.blocks.map(e=>{if(e.kind===`paragraph`)return Rb(e,t,n);if(e.kind===`table`)return Hb(e,t);throw Error(`Text-box story contains unsupported retained node: ${e.kind}`)})}:e.story}}function Vb(e,t){return Lb(e,t)}function Hb(e,t){return{...e,flowBounds:Q(e.flowBounds,t),inkBounds:Q(e.inkBounds,t),...e.clipBounds?{clipBounds:Q(e.clipBounds,t)}:{},borders:e.borders.map(e=>Ob(e,t)),...e.compoundBorderFrames?{compoundBorderFrames:e.compoundBorderFrames.map(e=>({...e,bounds:Q(e.bounds,t)}))}:{},rows:e.rows.map(e=>({...e,flowBounds:Q(e.flowBounds,t),inkBounds:Q(e.inkBounds,t),...e.clipBounds?{clipBounds:Q(e.clipBounds,t)}:{},cells:e.cells.map(e=>({...e,flowBounds:Q(e.flowBounds,t),inkBounds:Q(e.inkBounds,t),...e.clipBounds?{clipBounds:Q(e.clipBounds,t)}:{},contentBounds:Q(e.contentBounds,t),blocks:e.blocks}))}))}}function Ub(e,t){return`${e}/occurrence/${encodeURIComponent(t).replaceAll(`%3A`,`:`)}`}function Wb(e){if(!Number.isFinite(e.xPt)||!Number.isFinite(e.yPt))throw RangeError(`body occurrence translation must be finite`)}function Gb(e){if(e.occurrenceId.length===0)throw RangeError(`occurrenceId must not be empty`);if(e.destination.flowDomainId.length===0)throw RangeError(`flowDomainId must not be empty`);Wb(e.destination.translation)}function Kb(e,t){let n=Eb(e.positioning);return{xPt:n.x?t.xPt:0,yPt:n.y?t.yPt:0}}function qb(e){let t=new WeakSet,n=new WeakSet,r=e=>{if(t.has(e))throw TypeError(`body occurrence layout graph must be acyclic`);if(!n.has(e)){if(t.add(e),e.kind===`paragraph`)for(let t of e.textBoxes)for(let e of t.story.blocks)(e.kind===`paragraph`||e.kind===`table`)&&r(e);else{for(let t of e.rows)for(let e of t.cells)for(let t of e.blocks)r(t.layout);for(let t of e.floatingTables??[])r(t.child);for(let t of e.resolvedFloatingTables??[])r(t.source.child),r(t.child)}t.delete(e),n.add(e)}};r(e)}function Jb(e,t){qb(e);let n=new WeakMap,r=new WeakMap,i=e=>`${e.xPt}\\u0000${e.yPt}`,a=(e,t)=>{let n=i(t),a=r.get(e);if(a){if(a.key!==n)throw Error(`incompatible projection ownership`);return a.value}let o=Vb(e,t),s=Object.freeze({...o,...e.sectionFlowOwnership===void 0?{}:{sectionFlowOwnership:e.sectionFlowOwnership}});return r.set(e,{key:n,value:s}),s},o=(e,t)=>{let r=i(t),a=n.get(e);if(a){if(a.key!==r)throw Error(`incompatible projection ownership`);return a.value}let s={...Hb(e,t),...e.sectionFlowOwnership===void 0?{}:{sectionFlowOwnership:e.sectionFlowOwnership}};n.set(e,{key:r,value:s});let c=new Map,l=new Set;for(let n of e.resolvedFloatingTables??[]){let r=e.resolvedFloatingTableCoordinateSpace!==void 0;c.set(n.source,r?{xPt:0,yPt:0}:Kb(n.source,t)),r&&l.add(n.source)}let u=new Map,d=e=>{let n=u.get(e);if(n)return n;let r=c.get(e)??t,i=l.has(e)?{xPt:0,yPt:0}:t,a={...e,anchorBounds:Q(e.anchorBounds,i),...e.columnBounds?{columnBounds:Q(e.columnBounds,i)}:{},child:o(e.child,r)};return u.set(e,a),a},f=(e.floatingTables??[]).map(d),p=(e.resolvedFloatingTables??[]).map(e=>{let n=d(e.source),r=c.get(e.source)??Kb(e.source,t);return{...e,xPt:e.xPt+r.xPt,yPt:e.yPt+r.yPt,bounds:Q(e.bounds,r),exclusionBounds:Q(e.exclusionBounds,r),child:n.child,source:n}});return(e.floatingTables||e.resolvedFloatingTables)&&Object.assign(s,{floatingTables:f,resolvedFloatingTables:p}),s};return e.kind===`paragraph`?a(e,t):o(e,t)}function Yb(e,t){return Wb(t),Jb(e,t)}function Xb(e,t){Gb(t);let n=Jb(e,t.destination.translation),r=encodeURIComponent(t.occurrenceId),i=new WeakMap,a=new WeakMap,o=new WeakMap,s=new Map,c=new Map,l=e=>`${t.occurrenceId}/node/${encodeURIComponent(e)}`,u=e=>`${t.occurrenceId}/anchor/${encodeURIComponent(e)}`,d=e=>Ub(t.occurrenceId,e),f=(e,n)=>`${t.destination.flowDomainId}/occurrence/${r}/${e}/${encodeURIComponent(n)}`,p=e=>e.kind===`drawing`?{...e,drawingId:l(e.drawingId)}:e.kind===`anchor-host`&&e.anchorOccurrenceId?{...e,anchorOccurrenceId:u(e.anchorOccurrenceId)}:e,m=(e,t)=>{let n=o.get(e);if(n){if(n.domain!==t)throw Error(`incompatible projection ownership`);return n.value}if(e.anchorLayer){let t=s.get(e.anchorLayer.occurrenceId);if(t&&t!==e)throw Error(`duplicate anchor occurrence owner`);s.set(e.anchorLayer.occurrenceId,e)}let r={...e,id:l(e.id),flowDomainId:t,...e.textBoxIds?{textBoxIds:e.textBoxIds.map(l)}:{},...e.anchorLayer?{anchorLayer:{...e.anchorLayer,occurrenceId:u(e.anchorLayer.occurrenceId),acquisitionOccurrenceId:e.anchorLayer.acquisitionOccurrenceId??e.anchorLayer.occurrenceId}}:{}};return o.set(e,{domain:t,value:r}),r},h=e=>{let t=f(`textbox`,e.id);return{...e,id:l(e.id),flowDomainId:t,story:{...e.story,blocks:e.story.blocks.map(e=>{if(e.kind===`paragraph`)return g(e,t);if(e.kind===`table`)return b(e,t);throw Error(`Text-box story contains unsupported retained node: ${e.kind}`)})}}},g=(e,t)=>{let n=a.get(e);if(n){if(n.domain!==t)throw Error(`incompatible projection ownership`);return n.value}let r={...e,id:l(e.id),flowDomainId:t,lines:e.lines.map(e=>({...e,placements:e.placements.map(p)})),drawings:e.drawings.map(e=>m(e,t)),textBoxes:e.textBoxes.map(h),exclusions:e.exclusions.map(e=>({...e,id:e.verticalOwnership===`page`&&!e.anchorOccurrenceId?e.id:l(e.id),...e.anchorOccurrenceId?{anchorOccurrenceId:u(e.anchorOccurrenceId)}:{}})),...e.anchorCollisions?{anchorCollisions:e.anchorCollisions.map(e=>({...e,occurrenceId:u(e.occurrenceId)}))}:{},...e.anchorFrames?{anchorFrames:e.anchorFrames.map(e=>({...e,occurrenceId:u(e.occurrenceId)}))}:{}};return a.set(e,{domain:t,value:r}),r},_=e=>{let t=f(`cell`,e.id);return{...e,id:l(e.id),flowDomainId:t,blocks:e.blocks.map(e=>({...e,layout:x(e.layout,t)}))}},v=(e,t)=>({...e,id:l(e.id),flowDomainId:t,...`occurrenceId`in e&&typeof e.occurrenceId==`string`?{occurrenceId:d(e.occurrenceId)}:{},cells:e.cells.map(_)}),y=e=>{let t=f(`cell`,e.hostCellId);return{...e,occurrenceId:d(e.occurrenceId),hostCellId:l(e.hostCellId),tableId:l(e.tableId),child:b(e.child,t)}},b=(e,t)=>{let n=i.get(e);if(n){if(n.domain!==t)throw Error(`incompatible projection ownership`);return n.value}let r={...e,id:l(e.id),flowDomainId:t,rows:e.rows.map(e=>v(e,t))};i.set(e,{domain:t,value:r});let a=new Map,o=e=>{let t=a.get(e);if(t)return t;let n=c.get(e.occurrenceId);if(n&&n!==e)throw Error(`duplicate floating placement occurrence owner`);c.set(e.occurrenceId,e);let r=y(e);return a.set(e,r),r},s=(e.floatingTables??[]).map(o),u=(e.resolvedFloatingTables??[]).map(e=>{let t=o(e.source);return{...e,occurrenceId:d(e.occurrenceId),child:t.child,source:t}});return(e.floatingTables||e.resolvedFloatingTables)&&Object.assign(r,{floatingTables:s,resolvedFloatingTables:u}),r};function x(e,t){return e.kind===`paragraph`?g(e,t):b(e,t)}let S=fu(x(n,t.destination.flowDomainId),`DOCX body occurrence projection`);if(S.kind!==`table`||e.kind!==`table`)return S;let C=Object.isFrozen(e.columnWidthsPt)?e.columnWidthsPt:Object.freeze([...e.columnWidthsPt]);return Object.freeze({...S,columnWidthsPt:C})}var Zb=class extends Error{code=`NEXT_COLUMN_DESTINATION_UNAVAILABLE`;constructor(e,t,n,r){super(`nextColumn requires a following column on the current page, but column ${e+1} is unavailable (outgoing columns: ${t}, incoming columns: ${n}, reason: ${r})`),this.outgoingColumnIndex=e,this.outgoingColumnCount=t,this.incomingColumnCount=n,this.reason=r,this.name=`UnsupportedPageFlowTransitionError`}};function Qb(e,t){return e.sectionBidi?[...t].reverse():[...t]}function $b(e){let t=Qb(e.section,e.columnSubset);return t[t.indexOf(e.columnIndex)+1]}function ex(e,t={}){let n=d_(e),r=f_(e),i=t.pageContentStartBlockPt??n,a=t.pageContentEndBlockPt??r,o=t.regionStartBlockPt??i,s=t.regionEndBlockPt??a,c=t.cursorBlockPt??o,l=t.deepestColumnBlockPt??c,u=t.pageIndex??0,d=Object.freeze([...t.columnSubset??e.columns.map((e,t)=>t)]),f=Qb(e,d),p=t.columnIndex??f[0]??-1;if(!Number.isInteger(u)||u<0)throw RangeError(`Page index must be a non-negative integer`);if(!Number.isInteger(p)||p<0||p>=e.columns.length)throw RangeError(`Column index must identify a column in the active section`);if(d.length===0||d.some((t,n)=>!Number.isInteger(t)||t<0||t>=e.columns.length||n>0&&t<=d[n-1])||!d.includes(p))throw RangeError(`Column subset must be ordered, unique, and contain the active column`);if(![i,a,o,s,c,l].every(Number.isFinite))throw RangeError(`Page-flow cursors and bounds must be finite`);if(i>o||o>s||s>a||o>c||c>s||c>l)throw RangeError(`Page-flow bounds must contain the region and live cursor`);return Object.freeze({pageIndex:u,columnIndex:p,pageHasContent:t.pageHasContent??!1,cursorBlockPt:c,pageContentStartBlockPt:i,pageContentEndBlockPt:a,regionStartBlockPt:o,regionEndBlockPt:s,columnSubset:d,deepestColumnBlockPt:l,section:e})}function tx(e,t){return Object.freeze({state:e,events:Object.freeze(t.map(e=>Object.freeze({...e})))})}function nx(e,t,n){if(!Number.isFinite(n)||n<0)throw RangeError(`A flow node charge must be a finite non-negative value`);let r=e.cursorBlockPt,i=r+n;return tx(Object.freeze({...e,pageHasContent:!0,cursorBlockPt:i,deepestColumnBlockPt:Math.max(e.deepestColumnBlockPt,i)}),[{type:`place`,node:t,blockStartPt:r,blockEndPt:i}])}function rx(e,t){let n=Math.max(e.deepestColumnBlockPt,e.cursorBlockPt),r=$b(e);if(r!==void 0)return tx(Object.freeze({...e,columnIndex:r,cursorBlockPt:e.regionStartBlockPt,deepestColumnBlockPt:n}),[{type:`next-column`}]);let i=e.pageIndex+1;return tx(ex(e.section,{pageIndex:i}),[{type:`next-page`,reason:t,pageIndex:i,sectionOccurrenceId:e.section.sectionOccurrenceId,parityBlank:!1}])}function ix(e,t){return e.kind===t.kind&&e.linePitchPt===t.linePitchPt&&e.charSpacePt===t.charSpacePt}function ax(e,t){return e.xPt===t.xPt&&e.yPt===t.yPt&&e.widthPt===t.widthPt&&e.heightPt===t.heightPt}function ox(e,t){return e.xPt<t.xPt+t.widthPt&&t.xPt<e.xPt+e.widthPt&&e.yPt<t.yPt+t.heightPt&&t.yPt<e.yPt+e.heightPt}function sx(e,t,n){let r=n=>{throw new Zb(e.columnIndex,e.section.columns.length,t.columns.length,n)},i=Rd(e.section.textDirection),a=Rd(t.textDirection);i!==a&&r(`writing-mode`);let o=Wd({widthPt:e.section.geometry.pageWidth,heightPt:e.section.geometry.pageHeight},i),s=Wd({widthPt:t.geometry.pageWidth,heightPt:t.geometry.pageHeight},a);(o.widthPt!==s.widthPt||o.heightPt!==s.heightPt)&&r(`page-extent`);let c=n.incomingPageContentStartBlockPt??d_(t),l=n.incomingPageContentEndBlockPt??f_(t);(c!==e.pageContentStartBlockPt||l!==e.pageContentEndBlockPt)&&r(`block-band`),ix(e.section.grid,t.grid)||r(`grid`);let u=Qb(e.section,e.columnSubset),d=u.indexOf(e.columnIndex),f=u[d+1];if(f===void 0)throw Error(`nextColumn destination resolution requires a same-page successor`);let p=Xd(i,o),m=e.section.columns[f],h=Jd(p.logicalToPhysical,{xPt:m.xPt,yPt:e.regionStartBlockPt,widthPt:m.wPt,heightPt:e.regionEndBlockPt-e.regionStartBlockPt}),g=t.columns.findIndex(t=>ax(h,Jd(p.logicalToPhysical,{xPt:t.xPt,yPt:e.regionStartBlockPt,widthPt:t.wPt,heightPt:e.regionEndBlockPt-e.regionStartBlockPt})));g<0&&r(`physical-column`);let _=Qb(t,t.columns.map((e,t)=>t)),v=_.indexOf(g);v<0&&r(`physical-column`);let y=Object.freeze(_.slice(v).sort((e,t)=>e-t)),b=Object.freeze(u.slice(0,d+1).sort((e,t)=>e-t)),x=(t,n)=>{let r=t.columns[n];return Jd(p.logicalToPhysical,{xPt:r.xPt,yPt:e.regionStartBlockPt,widthPt:r.wPt,heightPt:e.regionEndBlockPt-e.regionStartBlockPt})},S=b.map(t=>x(e.section,t));return y.some(e=>{let n=x(t,e);return S.some(e=>ox(e,n))})&&r(`physical-overlap`),Object.freeze({targetColumnIndex:g,targetColumnOrdinal:v,columnSubset:y,outgoingColumnSubset:b})}function cx(e,t,n){let r=e.pageIndex+1;return tx(ex(t,{pageIndex:r}),[{type:`next-page`,reason:n,pageIndex:r,sectionOccurrenceId:t.sectionOccurrenceId,parityBlank:!1}])}function lx(e,t){let n=e%2==0;return t===`odd`?n:!n}function ux(e,t,n,r){let i=e.pageIndex+1,a=[];return r!==void 0&&!lx(i,r)&&(a.push({type:`next-page`,reason:`parity`,pageIndex:i,sectionOccurrenceId:e.section.sectionOccurrenceId,parityBlank:!0}),i+=1),a.push({type:`next-page`,reason:n,pageIndex:i,sectionOccurrenceId:t.sectionOccurrenceId,parityBlank:!1}),tx(ex(t,{pageIndex:i}),a)}function dx(e,t,n){return t===`lastRenderedPageBreak`?tx(e,[]):t===`column`?rx(e,`explicit-break`):t===`pageBreakBefore`&&!e.pageHasContent&&e.columnIndex===Qb(e.section,e.columnSubset)[0]&&e.cursorBlockPt===e.pageContentStartBlockPt?tx(e,[]):t===`page`?ux(e,e.section,`explicit-break`,n):cx(e,e.section,`page-break-before`)}function fx(e,t,n,r={}){if(n===`continuous`&&!r.hasFootnoteReferenceOnCurrentPage){let n=e.section.columns.length>1?Math.max(e.cursorBlockPt,e.deepestColumnBlockPt):e.cursorBlockPt;return tx(ex(t,{pageIndex:e.pageIndex,pageContentStartBlockPt:e.pageContentStartBlockPt,pageContentEndBlockPt:e.pageContentEndBlockPt,cursorBlockPt:n,regionStartBlockPt:n,regionEndBlockPt:e.pageContentEndBlockPt,deepestColumnBlockPt:n,pageHasContent:e.pageHasContent}),[{type:`begin-section`,placement:`same-page-block`,section:t,targetColumnOrdinal:0,columnSubset:t.columns.map((e,t)=>t)}])}if(n===`nextColumn`){if($b(e)===void 0){let n=cx(e,t,`section-break`);return tx(n.state,[...n.events,{type:`begin-section`,section:t}])}let n=sx(e,t,r);return tx(Object.freeze({...e,columnIndex:n.targetColumnIndex,columnSubset:n.columnSubset,cursorBlockPt:e.regionStartBlockPt,deepestColumnBlockPt:Math.max(e.deepestColumnBlockPt,e.cursorBlockPt),section:t}),[{type:`next-column`},{type:`begin-section`,placement:`same-page-column`,section:t,targetColumnOrdinal:n.targetColumnOrdinal,columnSubset:n.columnSubset,outgoingColumnSubset:n.outgoingColumnSubset}])}if(n===`continuous`){let n=cx(e,t,`section-break`);return tx(n.state,[...n.events,{type:`begin-section`,section:t}])}let i=ux(e,t,`section-break`,n===`oddPage`?`odd`:n===`evenPage`?`even`:void 0);return tx(i.state,[...i.events,{type:`begin-section`,section:t}])}function px(e,t,n,r){let i=e,a=0;for(let o=e+1;o<=t;o++){let e=r(o);if(!(e<=n))break;i=o,a=e}return{end:i,fitValue:a}}function mx(e){return!e.widowControl||e.end>=e.totalLines?{kind:`keep`}:e.totalLines-e.end===1&&e.end-e.start>=2?{kind:`dropLastLine`}:e.start===0&&e.end-e.start===1&&e.canRelocate?{kind:`relocate`}:{kind:`keep`}}X({id:`word-terminal-column-break`,evidence:{kind:`regression-test`,reference:`packages/docx/src/pagination.test.ts#ignores a terminal last-column break before a hard page boundary`},description:`The established pagination regression contract does not materialize a column transition when no body flow content occurs before the next forced page or non-continuous section boundary.`}),X({id:`word-pre-break-anchor-paragraph`,evidence:{kind:`regression-test`,reference:`packages/docx/src/pagination.test.ts#does not push an anchor-only pre-break paragraph to a new page just for its empty mark`},description:`The established pagination regression contract keeps an anchor-only paragraph immediately before an authored page break in the pre-break flow region without charging its otherwise visible paragraph mark.`}),X({id:`word-pre-break-inline-drawing-group`,evidence:{kind:`regression-test`,reference:`packages/docx/src/pagination.test.ts#moves a preceding image with its pre-break callout when the pair only fits fresh`},description:`The established pagination regression contract relocates a preceding inline DrawingML resource with an immediately following host-owned anchor paragraph before an authored page break when the pair fits only in a fresh flow region.`}),X({id:`word-continuous-section-mark-spacing`,evidence:{kind:`regression-test`,reference:`packages/docx/src/body-layout-input.test.ts#projects mutually exclusive collapsed-mark and drop-previous-after roles`},description:`The retained body input projects the established continuous-section empty-mark spacing behavior into one mutually exclusive role before pagination.`}),X({id:`word-contextual-spacing-per-side`,evidence:{kind:`regression-test`,reference:`packages/docx/src/contextual-spacing-body-paint.test.ts#paints the adjudicated six-case gap table`},description:`For same-style adjacent paragraphs, contextualSpacing removes only the contribution owned by each toggling side; a current-only toggle preserves the previous paragraph spaceAfter contribution.`}),X({id:`word-empty-keep-next-bridge`,evidence:{kind:`regression-test`,reference:`packages/docx/src/layout/body-paginator-production.test.ts#bridges an undecorated empty keepNext mark through the following paragraph`},description:`Word print pagination treats an undecorated empty keep-with-next paragraph as a bridge: the following paragraph is admitted completely with the first indivisible content of its successor.`}),X({id:`word-automatic-keep-next-start-spacing`,evidence:{kind:`regression-test`,reference:`packages/docx/src/layout/body-paginator-production.test.ts#suppresses leading spacing when a keepNext unit moves to an automatic page`},description:`When automatic overflow relocates a keep-with-next unit to a fresh physical page, suppress the leading paragraph space-before for that grouped relocation without changing ordinary overflow or authored-break spacing.`}),X({id:`word-trailing-space-after-fit-admission`,evidence:{kind:`regression-test`,reference:`packages/docx/src/layout/paragraph-pagination.test.ts#admits final visible content when only authored spaceAfter crosses the region edge`},description:`Admit the final visible paragraph content at a flow-region edge when only its authored trailing space crosses the edge, while retaining that space for placement and paint.`}),X({id:`word-vertical-rl-final-line-baseline-admission`,evidence:{kind:`office-observation`,syntheticFixtureId:`vertical-rl-final-line-baseline-admission`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`In a vertical-rl section, Word admits the final visible text column when its transformed baseline and retained visible ink remain inside the block-end edge even if the complete logical line box crosses that edge. The complete retained advance remains authoritative after admission.`}),X({id:`word-lowered-drop-cap-anchor-leading`,evidence:{kind:`office-observation`,syntheticFixtureId:`lowered-drop-cap-anchor-leading`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`Word keeps the following anchor text below a baseline-lowered drop-cap glyph while preserving the drop cap exclusion height authored by framePr lines. ECMA-376 specifies those two inputs independently but does not prescribe this interaction.`});function hx(e){return Math.max(0,e)}function gx(e){return e===`none`}function _x(e){return Math.max(0,e.advancePt-Math.min(e.authoredSpaceAfterPt,e.retainedSpaceAfterPt))}function vx(e){return e.origin.yPt+(e.inkBounds?.descentPt??0)}function yx(e){if(e.kind===`resource`||e.kind===`drawing`)return e.bounds.yPt+e.bounds.heightPt;if(e.kind===`anchor-host`)return null;if(e.kind===`tab`){let t=e.leaderGlyphs??[];return t.length>0?Math.max(...t.map(vx)):null}let t=e.paintOps??[],n=t.length>0?t.map(t=>e.origin.yPt+t.offset.yPt+(t.blockAxisInkBounds?.endPt??t.inkBounds?.descentPt??0)):[e.origin.yPt];for(let t of e.decorations){let e=t.widthPt/2;n.push(t.from.yPt+e,t.to.yPt+e);for(let r of t.path??[])n.push(r.yPt+e)}for(let t of e.highlightFragments??[])n.push(t.rect.yPt+t.rect.heightPt);for(let t of e.runBorderFragments??[]){let e=t.widthPt/2;n.push(t.from.yPt+e,t.to.yPt+e)}for(let t of e.emphasis?.glyphs??[])n.push(vx(t));for(let t of e.ruby?.paintOps??[])n.push(vx(t));for(let t of e.emphasis?.paths??[]){let e=t.stroke===null?0:t.strokeWidthPt/2;for(let r of t.points)n.push(r.yPt+e)}return Math.max(...n)}function bx(e){if(e.writingMode!==`vertical-rl`||e.logicalLineBoxExtentPt<=e.availableBlockExtentPt)return e.logicalLineBoxExtentPt;let t=e.paragraph.lines.at(-1);if(!t||t.placements.some(e=>e.kind===`text`&&(e.paintOps??[]).some(e=>e.glyphOrientation!==void 0&&e.blockAxisInkBounds===void 0)))return e.logicalLineBoxExtentPt;let n=t.placements.flatMap(e=>{let t=yx(e);return t===null?[]:[t]});if(n.length===0||e.paragraph.shading)return e.logicalLineBoxExtentPt;for(let t of e.paragraph.borders){let e=t.widthPt/2;n.push(t.from.yPt+e,t.to.yPt+e)}if(e.paragraph.paragraphMark&&!e.paragraph.paragraphMark.hidden){let t=e.paragraph.paragraphMark.bounds;n.push(t.yPt+t.heightPt)}return Math.max(0,Math.max(...n)-e.paragraph.flowBounds.yPt)}function xx(e){return e.keepNext&&e.inkless&&e.undecoratedMark}function Sx(e,t){let n=e[t];if(n?.kind!==`body-block`||n.block.kind!==`paragraph`)return;let r=e[t+1],i=e[t+2],a=n.block.inkless===!0&&r?.kind===`begin-section`&&r.section.startType===`continuous`;return a&&n.block.spaceBeforePt===0?`collapse-mark`:a?`suppress-before`:n.block.inkless===!0&&r?.kind===`body-block`&&r.block.kind===`paragraph`&&r.block.inkless===!0&&r.block.spaceBeforePt===0&&i?.kind===`begin-section`&&i.section.startType===`continuous`?`drop-previous-after`:void 0}function Cx(e){return e.drawings.length>0&&e.lines.every(e=>e.placements.every(e=>e.kind===`drawing`||e.kind===`anchor-host`))}function wx(e){return e.lines.some(e=>e.placements.some(e=>(e.kind===`resource`&&(e.resourceKind===`image`||e.resourceKind===`chart`)||e.kind===`drawing`)&&e.advancePt>0&&e.bounds!==void 0&&e.bounds.widthPt>0&&e.bounds.heightPt>0))}function Tx(e,t){if(!Cx(e))return null;let n=e.drawings.filter(e=>e.anchorLayer?.verticalOwnership===`host`&&Number.isFinite(e.flowBounds.xPt)&&Number.isFinite(e.flowBounds.yPt)&&Number.isFinite(e.flowBounds.widthPt)&&Number.isFinite(e.flowBounds.heightPt)&&e.flowBounds.widthPt>0&&e.flowBounds.heightPt>0);if(n.length!==e.drawings.length)return null;let r=Math.max(...n.map(e=>e.flowBounds.yPt+e.flowBounds.heightPt));return Math.max(0,r-t)}function Ex(e){if(!Cx(e))return null;let{paragraphMark:t,...n}=e;return Object.freeze({...n,advancePt:0,flowBounds:Object.freeze({...e.flowBounds,heightPt:0})})}function Dx(e){let t=new Set,n=!1;for(let r=e.length-1;r>=0;--r){let i=e[r];if(i.kind===`body-block`){n=i.block.kind!==`paragraph`||!i.block.pageBreakBefore;continue}if(i.kind===`adjacent-table-group`){n=!0;continue}if(i.kind===`authored-break`){i.break===`column`?n&&t.add(r):n=!1;continue}i.kind===`begin-section`&&i.section.startType!==`continuous`&&(n=!1)}return t}function Ox(e,t,n,r,i=-1/0,a=!0,o=!1){return Lc(e,t,{firstContentSi:n,lastDrawnSi:r,minPerGap:i,seaClusterGaps:o,...a?{}:{isGapChar:()=>!1}})}function kx(e){if(!e)return 0;let t=0;for(let n of e.perSeg.values())t+=n.splitBefore.length+ +!!n.trailingGap;return e.perGap*t}function Ax(e,t,n,r,i){return t>=0?null:Ox(e,t,n,r,-i*.25,!1)}const jx=[`U`,`C`,`D`,`L`,`R`,`T`],Mx=[0,173,174,768,880,1155,1162,1425,1470,1471,1472,1473,1475,1476,1478,1479,1480,1552,1563,1564,1565,1568,1569,1570,1574,1575,1576,1577,1578,1583,1587,1600,1601,1608,1609,1611,1632,1646,1648,1649,1652,1653,1656,1672,1690,1728,1729,1731,1740,1741,1742,1743,1744,1746,1748,1749,1750,1757,1759,1765,1767,1769,1770,1774,1776,1786,1789,1791,1792,1807,1808,1809,1810,1813,1818,1822,1823,1832,1833,1834,1835,1836,1837,1839,1840,1867,1869,1870,1881,1884,1899,1901,1905,1906,1907,1909,1912,1914,1920,1958,1969,1994,2027,2036,2042,2043,2045,2046,2070,2074,2075,2084,2085,2088,2089,2094,2112,2113,2118,2120,2121,2122,2132,2133,2134,2137,2140,2144,2145,2146,2150,2151,2152,2153,2155,2160,2179,2182,2183,2185,2190,2191,2192,2199,2208,2218,2221,2222,2223,2225,2227,2233,2234,2249,2250,2274,2275,2307,2362,2363,2364,2365,2369,2377,2381,2382,2385,2392,2402,2404,2433,2434,2492,2493,2497,2501,2509,2510,2530,2532,2558,2559,2561,2563,2620,2621,2625,2627,2631,2633,2635,2638,2641,2642,2672,2674,2677,2678,2689,2691,2748,2749,2753,2758,2759,2761,2765,2766,2786,2788,2810,2816,2817,2818,2876,2877,2879,2880,2881,2885,2893,2894,2901,2903,2914,2916,2946,2947,3008,3009,3021,3022,3072,3073,3076,3077,3132,3133,3134,3137,3142,3145,3146,3150,3157,3159,3170,3172,3201,3202,3260,3261,3263,3264,3270,3271,3276,3278,3298,3300,3328,3330,3387,3389,3393,3397,3405,3406,3426,3428,3457,3458,3530,3531,3538,3541,3542,3543,3633,3634,3636,3643,3655,3663,3761,3762,3764,3773,3784,3791,3864,3866,3893,3894,3895,3896,3897,3898,3953,3967,3968,3973,3974,3976,3981,3992,3993,4029,4038,4039,4141,4145,4146,4152,4153,4155,4157,4159,4184,4186,4190,4193,4209,4213,4226,4227,4229,4231,4237,4238,4253,4254,4957,4960,5906,5909,5938,5940,5970,5972,6002,6004,6068,6070,6071,6078,6086,6087,6089,6100,6109,6110,6151,6152,6154,6155,6158,6159,6160,6176,6265,6277,6279,6313,6314,6315,6432,6435,6439,6441,6450,6451,6457,6460,6679,6681,6683,6684,6742,6743,6744,6751,6752,6753,6754,6755,6757,6765,6771,6781,6783,6784,6832,6878,6880,6892,6912,6916,6964,6965,6966,6971,6972,6973,6978,6979,7019,7028,7040,7042,7074,7078,7080,7082,7083,7086,7142,7143,7144,7146,7149,7150,7151,7154,7212,7220,7222,7224,7376,7379,7380,7393,7394,7401,7405,7406,7412,7413,7416,7418,7616,7680,8203,8204,8205,8206,8208,8234,8239,8288,8293,8298,8304,8400,8433,11503,11506,11647,11648,11744,11776,12330,12334,12441,12443,42607,42611,42612,42622,42654,42656,42736,42738,43010,43011,43014,43015,43019,43020,43045,43047,43052,43053,43072,43122,43123,43204,43206,43232,43250,43263,43264,43302,43310,43335,43346,43392,43395,43443,43444,43446,43450,43452,43454,43493,43494,43561,43567,43569,43571,43573,43575,43587,43588,43596,43597,43644,43645,43696,43697,43698,43701,43703,43705,43710,43712,43713,43714,43756,43758,43766,43767,44005,44006,44008,44009,44013,44014,64286,64287,65024,65040,65056,65072,65279,65280,65529,65532,66045,66046,66272,66273,66422,66427,68097,68100,68101,68103,68108,68112,68152,68155,68159,68160,68288,68293,68294,68295,68296,68297,68299,68301,68302,68307,68311,68312,68317,68318,68321,68322,68324,68325,68327,68331,68335,68336,68480,68481,68482,68483,68486,68489,68490,68492,68493,68494,68496,68497,68498,68521,68525,68527,68864,68865,68898,68899,68900,68904,68969,68974,69291,69293,69314,69315,69317,69318,69320,69370,69376,69424,69427,69428,69445,69446,69457,69460,69461,69488,69492,69494,69506,69510,69552,69553,69554,69556,69559,69560,69561,69563,69565,69566,69568,69569,69570,69572,69573,69577,69578,69579,69580,69633,69634,69688,69703,69744,69745,69747,69749,69759,69762,69811,69815,69817,69819,69826,69827,69888,69891,69927,69932,69933,69941,70003,70004,70016,70018,70070,70079,70089,70093,70095,70096,70191,70194,70196,70197,70198,70200,70206,70207,70209,70210,70367,70368,70371,70379,70400,70402,70459,70461,70464,70465,70502,70509,70512,70517,70587,70593,70606,70607,70608,70609,70610,70611,70625,70627,70712,70720,70722,70725,70726,70727,70750,70751,70835,70841,70842,70843,70847,70849,70850,70852,71090,71094,71100,71102,71103,71105,71132,71134,71219,71227,71229,71230,71231,71233,71339,71340,71341,71342,71344,71350,71351,71352,71453,71454,71455,71456,71458,71462,71463,71468,71727,71736,71737,71739,71995,71997,71998,71999,72003,72004,72148,72152,72154,72156,72160,72161,72193,72203,72243,72249,72251,72255,72263,72264,72273,72279,72281,72284,72330,72343,72344,72346,72544,72545,72546,72549,72550,72551,72752,72759,72760,72766,72767,72768,72850,72872,72874,72881,72882,72884,72885,72887,73009,73015,73018,73019,73020,73022,73023,73030,73031,73032,73104,73106,73109,73110,73111,73112,73459,73461,73472,73474,73526,73531,73536,73537,73538,73539,73562,73563,78896,78913,78919,78934,90398,90410,90413,90416,92912,92917,92976,92983,94031,94032,94095,94099,94180,94181,113821,113823,113824,113828,118528,118574,118576,118599,119143,119146,119155,119171,119173,119180,119210,119214,119362,119365,121344,121399,121403,121453,121461,121462,121476,121477,121499,121504,121505,121520,122880,122887,122888,122905,122907,122914,122915,122917,122918,122923,123023,123024,123184,123191,123566,123567,123628,123632,124140,124144,124398,124400,124643,124644,124646,124647,124654,124656,124661,124662,125136,125143,125184,125252,125260,917505,917506,917536,917632,917760,918e3],Nx=[0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,2,0,4,2,4,2,4,2,4,2,1,2,4,2,5,0,2,5,4,0,4,2,4,2,4,2,4,2,4,2,4,2,4,0,4,5,0,5,0,5,0,5,4,0,2,0,2,0,5,4,5,2,4,2,4,2,4,2,4,2,4,2,4,5,0,4,2,4,2,4,2,4,2,4,2,4,2,0,5,0,2,5,0,1,0,5,0,5,0,5,0,5,0,5,0,4,2,4,2,4,2,4,2,4,5,0,2,0,2,0,4,2,4,0,4,1,2,0,2,4,2,0,5,2,4,0,4,2,4,2,4,2,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,2,0,1,5,0,5,0,2,0,5,2,5,2,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,1,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,2,3,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,2,4,0,4,0,4,0,3,4,2,3,2,4,2,4,0,4,5,0,2,4,0,2,4,2,4,2,4,2,4,2,4,2,4,0,4,2,0,3,2,4,2,5,0,5,0,5,0,4,2,0,2,0,5,0,2,4,2,0,5,2,4,0,2,4,2,5,0,2,0,2,4,0,2,4,2,4,2,0,2,4,2,0,4,2,3,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,2,5,0,5,0,5,0,5,0],Px=[1587,1588,1589,1590,1690,1691,1692,1693,1694,1786,1787,1884,1901,1904,1917,1918,2223],Fx=[1580,1581,1582,1665,1666,1667,1668,1669,1670,1671,1727,1879,1880,1902,1903,1906,1916,2186,2210,2241,2245,2246],Ix=[1576,1578,1579,1646,1657,1658,1659,1660,1661,1662,1663,1664,1872,1873,1874,1875,1876,1877,1878,2208,2209,2230,2231,2232,2238,2239,2240],Lx=[1574,1585,1586,1597,1598,1599,1609,1610,1656,1681,1682,1683,1684,1685,1686,1687,1688,1689,1740,1742,1744,1745,1775,1883,1899,1900,1905,1909,1910,1911,2216,2217,2218,2226,2233,2234,69319],Rx=[1570,1571,1573,1575,1591,1592,1595,1596,1603,1604,1649,1650,1651,1653,1695,1705,1707,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720,1890,1891,1892,1898,1907,1908,1919,2160,2161,2162,2163,2164,2165,2166,2167,2168,2169,2170,2171,2172,2173,2174,2175,2176,2177,2178,2187,2188,2189,2211,2214,2224,2228,2242,2247,2248,69315,69316],zx=[1572,1593,1594,1601,1602,1608,1647,1654,1655,1696,1697,1698,1699,1700,1701,1702,1703,1704,1732,1733,1734,1735,1736,1737,1738,1739,1743,1788,1885,1886,1887,1888,1889,1912,1913,2212,2213,2219,2227,2229,2243];function Bx(e){let t=0,n=Mx.length-1,r=-1;for(;t<=n;){let i=t+(n-t>>1);Mx[i]<=e?(r=i,t=i+1):n=i-1}return r<0?`U`:jx[Nx[r]]??`U`}function Vx(e){let t=Bx(e);return t===`D`||t===`L`||t===`C`}function Hx(e){let t=Bx(e);return t===`D`||t===`R`||t===`C`}const Ux=new Set([1575,1570,1571,1573,1649]),Wx=new Set(Px),Gx=new Set(Fx),Kx=new Set(Ix),qx=new Set(Lx),Jx=new Set(Rx),Yx=new Set(zx);var Xx=function(e){return e[e.Normal=7]=`Normal`,e[e.Waw=8]=`Waw`,e[e.BaRa=9]=`BaRa`,e[e.Alef=10]=`Alef`,e[e.HahDal=11]=`HahDal`,e[e.Seen=12]=`Seen`,e[e.Kashida=13]=`Kashida`,e}(Xx||{});function Zx(e){let t=[...e].map(e=>e.codePointAt(0)),n=[],r=t.length>0&&Bx(t[0])!==`T`?0:-1;for(let e=1;e<t.length;e++){let i=t[e];if(Bx(i)!==`T`){if(r>=0){let a=t[r];!(a===1604&&Ux.has(i))&&Vx(a)&&Hx(i)&&n.push(e)}r=e}}return n}function Qx(e,t,n){let r=t-1;for(;r>=0&&Bx(e[r])===`T`;)r--;let i=e[r],a=e[t];return i===1600?Xx.Kashida:Wx.has(i)?Xx.Seen:Gx.has(i)?Xx.HahDal:Vm(t,n)&&Jx.has(a)?Xx.Alef:Kx.has(i)&&qx.has(a)?Xx.BaRa:Vm(t,n)&&Yx.has(a)?Xx.Waw:Xx.Normal}function $x(e){let t=[...e],n=[];for(let e=0;e<t.length;){for(;e<t.length&&/\\s/u.test(t[e]);)e++;if(e>=t.length)break;let r=e+1;for(;r<t.length&&!/\\s/u.test(t[r]);)r++;let i=t.slice(e,r),a=i.map(e=>e.codePointAt(0)),o=a.length-1;for(;o>=0&&Bx(a[o])===`T`;)o--;let s=-1,c=-1;for(let e of Zx(i.join(``))){let t=Qx(a,e,o);t>=c&&(s=e,c=t)}s>=0&&n.push({beforeCp:e+s,priority:c}),e=r}return n}function eS(e,t){let n=[...e],r=``;for(let e=0;e<n.length;e++){let i=t.get(e)??0;i>0&&(r+=`ـ`.repeat(i)),r+=n[e]}return r}function tS(e,t,n,r){if(t<=.5)return null;let i=[];for(let t=0;t<e.length;t++){let n=e[t].text;if(n!==void 0)for(let{beforeCp:e,priority:r}of $x(n))i.push({si:t,beforeCp:e,priority:r,textOrder:i.length})}if(i.length===0)return null;i.sort((e,t)=>t.priority-e.priority||e.textOrder-t.textOrder);let a=n===`low`?1:n===`medium`?2:1/0,o=a,s=i.length*64,c=new Map,l=new Map,u=new Map;for(let{si:t}of i){if(u.has(t))continue;let n=r(t,e[t].text);l.set(t,n),u.set(t,n)}let d=t,f=0;for(let t=0;t<o&&d>.5&&f<s;t++){let t=!1;for(let{si:n,beforeCp:o}of i){if(d<=.5||f>=s)break;let i=c.get(n);i||(i=new Map,c.set(n,i));let l=i.get(o)??0;if(l>=a)continue;i.set(o,l+1);let p=r(n,eS(e[n].text,i)),m=p-u.get(n);m>0&&m<=d+1e-6?(u.set(n,p),d-=m,f++,t=!0):l===0?i.delete(o):i.set(o,l)}if(!t)break}let p=new Map;for(let[t,n]of c){let r=[...n.entries()].filter(([,e])=>e>0).sort(([e],[t])=>e-t).map(([e,t])=>({beforeCp:e,count:t}));r.length!==0&&p.set(t,{text:eS(e[t].text,n),insertions:r,advanceDeltaPx:u.get(t)-l.get(t)})}if(p.size===0)return null;let m=[...p.values()].reduce((e,t)=>e+t.advanceDeltaPx,0);return{perSeg:p,appliedPx:m,residualPx:t-m}}function nS(e){return Object.freeze({status:`unsupported`,command:Object.freeze({kind:`noop`}),diagnostics:Object.freeze([Object.freeze({code:`UNSUPPORTED_FEATURE`,severity:`error`,message:e})])})}function rS(e){return e?{type:e.type,w:e.w,len:e.len}:void 0}function iS(e){if(e)return e.fillType===`gradient`?{fillType:`gradient`,stops:e.stops.map(e=>({position:e.position,color:e.color})),angle:e.angle,gradType:e.gradType,...e.scaled===void 0?{}:{scaled:e.scaled},...e.path===void 0?{}:{path:e.path},...e.fillToRect===void 0?{}:{fillToRect:{...e.fillToRect}},...e.tileRect===void 0?{}:{tileRect:{...e.tileRect}},...e.flip===void 0?{}:{flip:e.flip},...e.rotWithShape===void 0?{}:{rotWithShape:e.rotWithShape}}:{fillType:`pattern`,fg:e.fg,bg:e.bg,preset:e.preset}}function aS(e){if(!e.stroke||!e.strokeWidth||e.strokeWidth<=0)return null;let t=iS(e.strokeFill);return{color:e.stroke,width:e.strokeWidth,...t?{fill:t}:{},...e.strokeDash?{dashStyle:e.strokeDash}:{},...e.strokeCustomDash?.length?{customDash:e.strokeCustomDash}:{},...e.strokeCap?{lineCap:e.strokeCap}:{},...e.strokeJoin?{lineJoin:e.strokeJoin}:{},...e.strokeMiterLimit!==void 0&&e.strokeMiterLimit!==null?{miterLimit:e.strokeMiterLimit}:{},...e.strokeAlignment?{alignment:e.strokeAlignment}:{},...e.strokeCompound?{cmpd:e.strokeCompound}:{},...rS(e.headEnd)?{headEnd:rS(e.headEnd)}:{},...rS(e.tailEnd)?{tailEnd:rS(e.tailEnd)}:{}}}function oS(e,t,n,r,i){let a=r!==void 0&&(r.textPathOk!==void 0||r.on!==void 0||r.fitShape!==void 0||r.fitPath!==void 0||r.trim!==void 0||r.xScale!==void 0);if(r!==void 0&&(!a||r.textPathOk===!0&&r.on===!0)){if(e.fill?.fillType===`image`)return nS(`VML textPath with a DrawingML image fill is not rendered`);if(r.fitPath===!0)return nS(`VML textPath fitPath=true is not rendered`);if(r.xScale===!0)return nS(`VML textPath xScale=true is not rendered`);if(r.string.trim().length===0)return Object.freeze({status:`planned`,command:Object.freeze({kind:`noop`})});if(!n)throw Error(`Shape textPath acquisition requires TextLayoutService`);let i=a?r.fitShape===!0:!0;if(r.fontSizePt!==void 0&&(!Number.isFinite(r.fontSizePt)||r.fontSizePt<0))throw RangeError(`VML textPath fontSizePt must be finite and non-negative`);if(!i&&r.fontSizePt===void 0)return nS(`VML textPath fitShape=false requires an authored font-size`);if(r.fontSizePt===0)return Object.freeze({status:`planned`,command:Object.freeze({kind:`noop`})});let o=r.fontSizePt??1,s=r.fontFamily??void 0,c=n.shape({text:r.string,fontSizePt:o,fonts:{ascii:s,highAnsi:s,eastAsia:s,complexScript:s},weight:r.bold?700:400,style:r.italic?`italic`:`normal`,measure:!0});if(r.trim===!0&&!c.inkBounds)return nS(`VML textPath trim=true requires glyph ink bounds`);let l=r.trim===!0?c.inkBounds?.xMinPt??0:0,u=r.trim===!0?c.inkBounds?.xMaxPt??0:c.advancePt,d=r.trim===!0?c.inkBounds?.ascentPt??0:c.ascentPt,f=r.trim===!0?c.inkBounds?.descentPt??0:c.descentPt,p={xPt:l,yPt:-d,widthPt:u-l,heightPt:d+f};if(!Number.isFinite(c.advancePt)||Object.values(p).some(e=>!Number.isFinite(e))||c.spans.some(e=>!Number.isFinite(e.advancePt)))throw Error(`Shape textPath acquisition produced non-finite metrics`);return p.widthPt<=0||p.heightPt<=0||c.spans.length===0?nS(`VML textPath produced empty glyph metrics`):Object.freeze({status:`planned`,command:fu({kind:`watermark-text`,rect:{...t},text:r.string,fill:e.fill?{...e.fill,...e.fill.fillType===`gradient`?{stops:e.fill.stops.map(e=>({...e}))}:{}}:null,opacity:Math.max(0,Math.min(1,e.fillOpacity??1)),rotationDeg:e.rotation??0,fitShape:i,fontSizePt:o,sourceBounds:p,spans:c.spans.map(e=>({text:e.text,advancePt:e.advancePt,fontRoute:e.fontRoute,fontWeight:e.font.weight,fontStyle:e.font.style}))},`VML textPath command`)})}let o={rect:{x:t.xPt,y:t.yPt,w:t.widthPt,h:t.heightPt},geometry:e.presetGeometry?{kind:`preset`,name:e.presetGeometry,adjustments:[...e.adjValues??[]]}:{kind:`custom`,subpaths:e.subpaths.map(e=>e.map(e=>({...e})))},fill:e.fill&&e.fill.fillType!==`image`?{...e.fill,...e.fill.fillType===`gradient`?{stops:e.fill.stops.map(e=>({...e}))}:{}}:null,stroke:aS(e),transform:{rotationDeg:e.rotation??0,flipH:e.flipH??!1,flipV:e.flipV??!1}};if(e.fill?.fillType===`image`){if(e.fill.tile!==void 0)return Object.freeze({status:`unsupported`,command:Object.freeze({kind:`noop`}),diagnostics:Object.freeze([Object.freeze({code:`UNSUPPORTED_FEATURE`,severity:`error`,message:`Tiled DrawingML shape image fills are not rendered`})])});if(!i)throw Error(`DrawingML shape image fill requires a retained image resource key`);return Object.freeze({status:`planned`,command:fu({kind:`drawingml-image-fill`,plan:o,resourceKey:i,...e.fill.fillRect===void 0?{}:{fillRect:{l:e.fill.fillRect.l??0,t:e.fill.fillRect.t??0,r:e.fill.fillRect.r??0,b:e.fill.fillRect.b??0}}},`DrawingML shape image-fill command`)})}return Object.freeze({status:`planned`,command:fu({kind:`drawingml-shape`,plan:o},`DrawingML shape command`)})}function sS(e,t){let n=e.fontFamily??null;return{fontSizePt:t,fonts:{ascii:n,highAnsi:n,eastAsia:e.fontFamilyEastAsia??n,complexScript:n},weight:400,style:`normal`,complexScript:!1}}function cS(e,t={story:`textbox`,storyInstance:`shape`,path:[]},n=sS){return fu((e.textBlocks??[]).map((e,r)=>{let i={story:`textbox`,storyInstance:t.storyInstance,path:[...t.path,r]},a=e.runs?.length?e.runs:[{text:e.text,fontSizePt:e.fontSizePt,color:e.color,fontFamily:e.fontFamily,bold:e.bold,italic:e.italic}],o=e.paragraphMarkColor===void 0?e.color??a[0]?.color:e.paragraphMarkColor??void 0,s=e.numbering?{...e.numbering,...e.numbering.color==null&&!e.numbering.colorAuto&&o?{color:o}:{}}:null;return{source:i,spacing:{beforePt:e.spaceBefore??0,afterPt:e.spaceAfter??0},runs:a.map(t=>({text:t.text,fontSizePt:t.fontSizePt,...t.color??e.color?{color:`#${t.color??e.color}`}:{},...t.fontFamily||e.fontFamily?{fontFamily:t.fontFamily??e.fontFamily??void 0}:{},...t.fontFamilyEastAsia?{fontFamilyEastAsia:t.fontFamilyEastAsia}:{},bold:t.bold??e.bold??!1,italic:t.italic??e.italic??!1,...t.ruby?{ruby:t.ruby}:{}})),alignment:e.alignment??`left`,indentLeftPt:e.indentLeft??0,indentRightPt:e.indentRight??0,indentFirstPt:e.indentFirst??0,lineSpacing:e.lineSpacingVal==null?null:{value:e.lineSpacingVal,rule:e.lineSpacingRule===`exact`||e.lineSpacingRule===`atLeast`?e.lineSpacingRule:`auto`,explicit:!0},tabStops:(e.tabStops??[]).map(e=>({...e})),...e.bidi===void 0?{}:{bidi:e.bidi},contextualSpacing:e.contextualSpacing??!1,...e.styleId===void 0?{}:{styleId:e.styleId},...s?{numbering:s,numberingMarkerShapeInput:n(s,e.fontSizePt)}:{},...e.imagePath?{image:{imagePath:e.imagePath,mimeType:e.mimeType??`application/octet-stream`,...e.svgImagePath?{svgImagePath:e.svgImagePath}:{},widthPt:e.imageWidthPt??0,heightPt:e.imageHeightPt??0}}:{}}}),`DOCX text box acquisition input`)}function lS(e){if(!Number.isFinite(e.advancePt)||e.advancePt<=0)throw RangeError(`Tab leader glyph advance must be finite and positive`);let t=Math.floor(e.interval.widthPt/e.advancePt),n=e.interval.widthPt-t*e.advancePt;return Array.from({length:t},(t,r)=>({text:e.glyph,origin:{xPt:e.interval.xPt+n/2+r*e.advancePt,yPt:e.baselinePt},fontRoute:e.fontRoute,fontSizePt:e.fontSizePt,fontWeight:e.fontWeight,fontStyle:e.fontStyle,color:e.color}))}function uS(e){let t;if(e.raisePt!==void 0)t=e.baseOrigin.yPt-e.raisePt;else if(e.baseInkTopPt!==void 0&&e.guideInkBottomFromBaselinePt!==void 0)t=e.baseInkTopPt-e.guideInkBottomFromBaselinePt;else throw Error(`Ruby geometry requires authored w:hpsRaise or retained base/guide ink bounds`);let n=e.baseOrigin.xPt+(e.baseAdvancePt-e.guideAdvancePt)/2;return e.spans.map(e=>({text:e.text,origin:{xPt:n+e.offsetPt,yPt:t},fontRoute:e.fontRoute,fontSizePt:e.fontSizePt,fontWeight:e.fontWeight,fontStyle:e.fontStyle,color:e.color}))}function dS(e){return-(e.inkBounds?.ascentPt??e.ascentPt)}function fS(e){return e.inkBounds?.descentPt??e.descentPt}function pS(e){let t=e.inkBounds?e.inkBounds.ascentPt+e.inkBounds.descentPt:Math.min(e.ascentPt,e.descentPt);if(!Number.isFinite(t)||t<=0)throw Error(`Retained decoration probe requires positive selected-face ink`);return t}function mS(e){return e===`double`||e===`dbl`?`double`:e?.includes(`dot`)?`dotted`:e?.includes(`dash`)?`dashed`:e?.includes(`wave`)?`wavy`:`solid`}function hS(e,t,n){let r=Math.max(0,t.xPt-e.xPt),i=n*2,a=Math.max(1,Math.ceil(r/i));return Array.from({length:a+1},(t,i)=>({xPt:e.xPt+r*i/a,yPt:e.yPt+(i%2==0?-n/2:n/2)}))}function gS(e){let t=[],n=e.origin.xPt+e.advancePt;if(e.underline){let r=pS(e.underline.probe),i=e.origin.yPt+(dS(e.underline.probe)+fS(e.underline.probe))/2,a=e.origin.yPt+fS(e.base)+r/2,o=Math.max(i,a),s=mS(e.underline.authoredStyle),c={kind:`underline`,...e.underline.authoredStyle===void 0?{}:{authoredStyle:e.underline.authoredStyle},color:e.underline.color,widthPt:r};if(s===`double`){let i=o+r*2;t.push({...c,style:`solid`,from:{xPt:e.origin.xPt,yPt:o},to:{xPt:n,yPt:o}},{...c,style:`solid`,from:{xPt:e.origin.xPt,yPt:i},to:{xPt:n,yPt:i}})}else{let i={xPt:e.origin.xPt,yPt:o},a={xPt:n,yPt:o};t.push({...c,style:s,from:i,to:a,...s===`wavy`?{path:hS(i,a,r)}:{},...s===`dotted`?{dashPatternPt:[r,r*2]}:{},...s===`dashed`?{dashPatternPt:[r*4,r*3]}:{}})}}if(e.strike){let r=pS(e.strike.probe);if(e.strike.double&&e.strike.doubleProbe){let i=e.origin.yPt+dS(e.strike.doubleProbe)+r/2,a=e.origin.yPt+fS(e.strike.doubleProbe)-r/2;for(let o of[i,a])t.push({kind:`strikethrough`,color:e.color,widthPt:r,style:`solid`,from:{xPt:e.origin.xPt,yPt:o},to:{xPt:n,yPt:o}})}else{let i=e.origin.yPt+(dS(e.strike.probe)+fS(e.strike.probe))/2;t.push({kind:`strikethrough`,color:e.color,widthPt:r,style:`solid`,from:{xPt:e.origin.xPt,yPt:i},to:{xPt:n,yPt:i}})}}return t}function _S(e){let t=e.mark.inkBounds.xMaxPt-e.mark.inkBounds.xMinPt,n=e.mark.inkBounds.ascentPt+e.mark.inkBounds.descentPt;if(!(t>0)||!(n>0))throw Error(`Retained emphasis glyph requires positive selected-face ink bounds`);let r=[];for(let t of e.clusterInk){if(/^\\s+$/u.test(t.text))continue;let n=e.clusters.find(e=>e.range.start===t.range.start&&e.range.end===t.range.end);if(!n)throw Error(`Retained emphasis cluster ink does not match shaped cluster geometry`);let i=(e.origin.xPt+n.offset.xPt+t.ink.xMinPt*e.scaleX+(e.origin.xPt+n.offset.xPt+t.ink.xMaxPt*e.scaleX))/2-(e.mark.inkBounds.xMinPt+e.mark.inkBounds.xMaxPt)/2,a=e.authored===`underDot`?e.origin.yPt+t.ink.descentPt+e.mark.inkBounds.ascentPt:e.origin.yPt-t.ink.ascentPt-e.mark.inkBounds.descentPt;r.push({text:e.glyph,origin:{xPt:i,yPt:a},fontRoute:e.mark.fontRoute,fontSizePt:e.mark.fontSizePt,fontWeight:e.mark.fontWeight,fontStyle:e.mark.fontStyle,color:e.mark.color,inkBounds:e.mark.inkBounds})}return r}function vS(e,t){return e.val===t.val&&e.color===t.color&&e.widthPt===t.widthPt&&e.spacePt===t.spacePt&&e.themeColor===t.themeColor&&e.themeTint===t.themeTint&&e.themeShade===t.themeShade&&e.shadow===t.shadow&&e.frame===t.frame}function yS(e){let t=[],n=0;for(;n<e.length;){let r=e[n],i=n+1,a=r.bounds.xPt+r.bounds.widthPt+r.trailingSlackPt;for(;i<e.length;){let t=e[i];if(!vS(r.border,t.border)||Math.abs(t.bounds.xPt-a)>1e-6||t.bounds.yPt!==r.bounds.yPt||t.bounds.heightPt!==r.bounds.heightPt)break;a=t.bounds.xPt+t.bounds.widthPt+t.trailingSlackPt,i+=1}let o=r.bounds.xPt-r.border.spacePt,s=r.bounds.yPt-r.border.spacePt,c=a+r.border.spacePt,l=r.bounds.yPt+r.bounds.heightPt+r.border.spacePt,u={color:r.border.color,widthPt:r.border.widthPt,...$d(r.border.val,r.border.widthPt)};t.push({...u,edge:`top`,from:{xPt:o,yPt:s},to:{xPt:c,yPt:s}},{...u,edge:`right`,from:{xPt:c,yPt:s},to:{xPt:c,yPt:l}},{...u,edge:`bottom`,from:{xPt:o,yPt:l},to:{xPt:c,yPt:l}},{...u,edge:`left`,from:{xPt:o,yPt:s},to:{xPt:o,yPt:l}}),n=i}return t}const bS=X({id:`word-zero-relative-size`,evidence:{kind:`regression-test`,reference:`packages/docx/src/layout/anchor-frame.test.ts#uses wp:extent when Word does not support an exact-zero relative size`},description:`Word 2010 accepts only positive wp14:pctWidth and wp14:pctHeight values under [MS-ODRAWXML] notes 125/126. Preserve an authored zero as acquisition evidence while resolving the object from wp:extent.`});X({id:`word-vertical-section-physical-drawing-layer`,evidence:{kind:`regression-test`,reference:`packages/docx/src/anchor-vertical-physical.test.ts#lands an upright-section anchor at the recorded physical centroid`},description:`Resolve anchored drawings in an upright vertical section against the physical page frame independently of the rotated text-flow coordinate space.`}),X({id:`word-page-level-float-prescan`,evidence:{kind:`regression-test`,reference:`packages/docx/src/page-anchor-prescan.test.ts#pre-scan REGISTERS a page-level (relativeFrom=\"margin\") wrap float on an earlier-scanned paragraph`},description:`A wrapping drawing whose vertical reference is page-level participates from page start so source-earlier paragraphs on that page see its exclusion.`}),X({id:`word-paragraph-anchor-pre-spacing-origin`,evidence:{kind:`regression-test`,reference:`packages/docx/src/anchor-paragraph-spacebefore.test.ts#anchors a wrapSquare paragraph float at the pre-spaceBefore paragraph top`},description:`Resolve a paragraph-relative anchored drawing from the paragraph top before applying the paragraph spaceBefore contribution.`}),X({id:`word-vertical-section-physical-header-footer`,evidence:{kind:`regression-test`,reference:`packages/docx/src/vertical-header-footer.test.ts#recovers the physical page box + margins from the logical (swapped) section`},description:`Paint a vertical section header and footer in the unrotated physical page frame rather than rotating them with the body text flow.`}),X({id:`word-frame-auto-wrap-around`,evidence:{kind:`regression-test`,reference:`packages/docx/src/frame-geometry.test.ts#wrap=\"around\" and \"auto\" → square float (auto ≡ around in Word)`},description:`Resolve an authored frame wrap value of auto through the same square side-wrap path as around.`}),X({id:`word-lower-layer-same-paragraph-anchor-composition`,evidence:{kind:`office-observation`,syntheticFixtureId:`lower-layer-same-paragraph-anchor-composition`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`Word preserves a source-later, lower-z, page-owned drawing at its authored position when it belongs to the same anchor paragraph as already composed higher layers. This is a Word-observed compatibility override to ECMA-376 §20.4.2.3, not a normative OOXML rule.`}),X({id:`word-textbox-visible-anchor-extent`,evidence:{kind:`office-observation`,syntheticFixtureId:`textbox-visible-anchor-extent`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`For DrawingML middle and bottom text anchoring, derive the positioned extent through the last visible retained block while preserving structural trailing empty paragraphs and terminal paragraph spacing in the complete story.`}),X({id:`word-overlapping-layout-in-cell-overlay`,evidence:{kind:`regression-test`,reference:`packages/docx/src/table-cell-anchor-reflow.test.ts#does not grow an automatic row for an overlapping layoutInCell wrapNone object`},description:`Word leaves an overlap-permitted, non-wrapping layoutInCell drawing as an overlay instead of growing its automatic table row. This is an Office compatibility exception to the general resize behavior in ECMA-376 §20.4.2.3 layoutInCell; non-overlap drawings retain normative cell containment.`});function xS(e,t){return!e||t!==`none`}function SS(e){return e.shading||e.borders.length>0||e.resources.length>0||e.drawings.length>0||e.textBoxes.length>0||e.lineNumbers?.some(e=>e.paintOps.length>0)?!0:e.lines.some(e=>e.placements.some(e=>e.kind===`text`||e.kind===`resource`||e.kind===`drawing`?!0:e.kind===`tab`&&(e.leaderGlyphs?.length??0)>0))}function CS(e){let t=e.flowBounds.yPt,n;for(let r of e.blocks){if(r.kind===`table`){n=Math.max(n??t,r.flowBounds.yPt+r.advancePt);continue}r.kind!==`paragraph`||!SS(r)||(n=Math.max(n??t,r.flowBounds.yPt+Math.max(0,r.advancePt-r.spacing.afterPt)))}return n===void 0?0:Math.max(0,n-t)}function wS(e){return e===0}function TS(e,t){return e==null?!t:e!==`paragraph`&&e!==`line`&&e!==`character`}function ES(e,t,n){return e===`page`&&t!==null&&n!==void 0&&t<n}const DS=21600;function $(e,t,n){return{code:e,path:t,message:n}}function OS(e){return typeof e==`number`&&Number.isFinite(e)}function kS(e){return OS(e.xPt)&&OS(e.yPt)&&OS(e.widthPt)&&OS(e.heightPt)&&e.widthPt>=0&&e.heightPt>=0}function AS(e){return e.kind===`align`?e.value:e.kind===`offset`?e.valuePt:e.kind===`percent`?e.fraction:null}function jS(e,t,n,r=!1){let i=t[e];return{axis:e,status:`unsupported`,relativeFrom:r?`page`:i.relativeFrom,choiceKind:r?`simple-position`:i.choice.kind,choiceValue:r?e===`horizontal`?t.simplePosition.xPt:t.simplePosition.yPt:AS(i.choice),issueCode:n.code}}function MS(e,t,n,r){let i=n[e];return i===null?{problem:$(`missing-reference-frame`,r,`${e} frame is required`)}:kS(i)?{base:{startPt:t===`horizontal`?i.xPt:i.yPt,endPt:t===`horizontal`?i.xPt+i.widthPt:i.yPt+i.heightPt,referenceFrame:e}}:{problem:$(`invalid-reference-frame`,r,`${e} frame must be finite and non-negative`)}}function NS(e,t,n,r){let i=MS(`page`,t,n,r);if(!i.base)return i;let a=MS(`margin`,t,n,r);if(!a.base)return a;let o=n.page,s=n.margin,c=e===`leftMargin`||e===`rightMargin`;if(c!==(t===`horizontal`))return{problem:$(`unsupported-relative-from`,r,`${e} is not valid for the ${t} axis`)};let l=c?o.xPt:o.yPt,u=c?o.xPt+o.widthPt:o.yPt+o.heightPt,d=c?s.xPt:s.yPt,f=c?s.xPt+s.widthPt:s.yPt+s.heightPt;if(d<l||f>u)return{problem:$(`invalid-reference-frame`,r,`margin frame must be contained by the page frame`)};let p=e===`leftMargin`||e===`topMargin`;return{base:{startPt:p?l:f,endPt:p?d:u,referenceFrame:e}}}function PS(e,t,n,r){if(t===`page`||t===`margin`||e===`horizontal`&&(t===`column`||t===`character`)||e===`vertical`&&(t===`paragraph`||t===`line`))return MS(t,e,n,r);if(e===`horizontal`&&(t===`leftMargin`||t===`rightMargin`)||e===`vertical`&&(t===`topMargin`||t===`bottomMargin`))return NS(t,e,n,r);if(t===`insideMargin`||t===`outsideMargin`){if(n.pageParity===null)return{problem:$(`missing-page-parity`,r,`${t} requires explicit page parity`)};let i=t===`insideMargin`==(n.pageParity===`odd`);return{...NS(e===`horizontal`?i?`leftMargin`:`rightMargin`:i?`topMargin`:`bottomMargin`,e,n,r),parityRequired:!0}}return{problem:$(`unsupported-relative-from`,r,`${t} is not a valid ${e} reference`)}}function FS(e,t,n){let r=t.relativeSize[e],i=e===`horizontal`?`width`:`height`,a=(n=null)=>{let r=e===`horizontal`?t.extent.widthStatus:t.extent.heightStatus,a=e===`horizontal`?t.extent.widthPt:t.extent.heightPt;return r===`missing`?{problem:$(`missing-size`,`extent.${i}`,`${i} is required`)}:r!==`valid`||!OS(a)||a<=0?{problem:$(`invalid-size`,`extent.${i}`,`${i} extent must be finite and positive`)}:{resolved:{valuePt:a,diagnostic:{source:`extent`,valuePt:a,relativeFrom:n?.relativeFrom??null,referenceFrame:null,fraction:n?.fraction??null,...n===null?{}:{compatibilityFallback:bS.id}}}}};if(r===null)return a();let o=`relativeSize.${e}`;if(r.fractionStatus===`missing`||r.fraction===null)return{problem:$(`missing-relative-size-fraction`,`${o}.fraction`,`relative size fraction is required`)};if(r.fractionStatus!==`valid`||!OS(r.fraction))return{problem:$(`invalid-relative-size-fraction`,`${o}.fraction`,`relative size fraction must be finite`)};if(r.fraction<0)return{problem:$(`invalid-relative-size-fraction`,`${o}.fraction`,`relative size fraction must be non-negative`)};if(wS(r.fraction))return a({relativeFrom:r.relativeFrom,fraction:r.fraction});if(r.relativeFromStatus===`missing`||r.relativeFrom===null)return{problem:$(`missing-relative-size-reference`,`${o}.relativeFrom`,`relative size reference is required`)};if(r.relativeFromStatus!==`valid`)return{problem:$(`invalid-relative-size-reference`,`${o}.relativeFrom`,`relative size reference is invalid`)};let s=PS(e,r.relativeFrom,n,`${o}.relativeFrom`);if(!s.base)return{problem:$(s.problem?.code===`missing-reference-frame`?`missing-relative-size-reference`:`invalid-relative-size-reference`,`${o}.relativeFrom`,s.problem?.message??`relative size reference cannot be resolved`)};let c=(s.base.endPt-s.base.startPt)*r.fraction;return!OS(c)||c<0?{problem:$(`invalid-relative-size-fraction`,`${o}.fraction`,`relative size result must be finite and non-negative`)}:{resolved:{valuePt:c,diagnostic:{source:`relative`,valuePt:c,relativeFrom:r.relativeFrom,referenceFrame:s.base.referenceFrame,fraction:r.fraction}}}}function IS(e,t,n,r){let i=n[e],a=e;if(i.relativeFromStatus===`missing`||i.relativeFrom===null){let t=$(`missing-relative-from`,`${a}.relativeFrom`,`${e} relativeFrom is required`);return{diagnostic:jS(e,n,t),problem:t}}if(i.relativeFromStatus!==`valid`){let t=$(`invalid-relative-from`,`${a}.relativeFrom`,`${e} relativeFrom is invalid`);return{diagnostic:jS(e,n,t),problem:t}}let o=PS(e,i.relativeFrom,r,`${a}.relativeFrom`);if(!o.base){let t=o.problem;return{diagnostic:jS(e,n,t),problem:t}}let s=i.choice;if(s.kind===`missing`){let t=$(`missing-axis-choice`,`${a}.choice`,`${e} choice is required`);return{diagnostic:jS(e,n,t),problem:t}}if(s.kind===`invalid`){let t=$(`invalid-axis-choice`,`${a}.choice`,`${e} choice is invalid`);return{diagnostic:jS(e,n,t),problem:t}}let c=o.base.endPt-o.base.startPt,l,u;if(s.kind===`offset`){if(!OS(s.valuePt)){let t=$(`invalid-axis-value`,`${a}.choice`,`offset must be finite`);return{diagnostic:jS(e,n,t),problem:t}}l=o.base.startPt+s.valuePt,u=s.valuePt}else if(s.kind===`percent`){if(!OS(s.fraction)){let t=$(`invalid-axis-value`,`${a}.choice`,`percentage must be finite`);return{diagnostic:jS(e,n,t),problem:t}}l=o.base.startPt+c*s.fraction,u=s.fraction}else if(s.kind===`align`){if(!(e===`horizontal`?[`left`,`center`,`right`,`inside`,`outside`].includes(s.value):[`top`,`center`,`bottom`,`inside`,`outside`].includes(s.value))){let t=$(`invalid-axis-value`,`${a}.choice`,`${s.value} is invalid`);return{diagnostic:jS(e,n,t),problem:t}}if((s.value===`inside`||s.value===`outside`)&&r.pageParity===null){let t=$(`missing-page-parity`,`frames.pageParity`,`${s.value} alignment requires explicit page parity`);return{diagnostic:jS(e,n,t),problem:t}}let i=e===`horizontal`?`left`:`top`,d=e===`horizontal`?`right`:`bottom`,f=s.value===`inside`,p=r.pageParity===`odd`,m=s.value===i||f&&p||s.value===`outside`&&!p,h=s.value===d||f&&!p||s.value===`outside`&&p;l=m?o.base.startPt:h?o.base.endPt-t:o.base.startPt+(c-t)/2,u=s.value}else{let t=$(`invalid-axis-choice`,`${a}.choice`,`${e} choice is invalid`);return{diagnostic:jS(e,n,t),problem:t}}if(!OS(l)){let t=$(`invalid-axis-value`,`${a}.choice`,`resolved origin is not finite`);return{diagnostic:jS(e,n,t),problem:t}}return{valuePt:l,diagnostic:{axis:e,status:`resolved`,relativeFrom:i.relativeFrom,referenceFrame:o.base.referenceFrame,choiceKind:s.kind,choiceValue:u,baseStartPt:o.base.startPt,baseEndPt:o.base.endPt,resolvedOriginPt:l,pageParity:s.kind===`align`&&(s.value===`inside`||s.value===`outside`)?r.pageParity:null}}}function LS(e,t,n){let r=e===`horizontal`?n.xPt:n.yPt,i=e===`horizontal`?n.xPt+n.widthPt:n.yPt+n.heightPt,a=r+t;return{valuePt:a,diagnostic:{axis:e,status:`resolved`,relativeFrom:`page`,referenceFrame:`page`,choiceKind:`simple-position`,choiceValue:t,baseStartPt:r,baseEndPt:i,resolvedOriginPt:a,pageParity:null}}}const RS=[`top`,`right`,`bottom`,`left`];function zS(e,t){return e[`${t}Status`]}function BS(e,t){return e[`${t}Pt`]}function VS(e,t,n){let r=RS.some(t=>zS(e,t)!==`missing`);if(!n&&!r)return{values:{topPt:0,rightPt:0,bottomPt:0,leftPt:0}};let i={topPt:0,rightPt:0,bottomPt:0,leftPt:0};for(let n of RS){let r=zS(e,n),a=BS(e,n);if(r!==`valid`||!OS(a))return{problem:$(`invalid-effect-extent`,`${t}.${n}`,`present effectExtent requires four finite edge values`)};i[`${n}Pt`]=a}return{values:i}}function HS(e,t){let n={topPt:0,rightPt:0,bottomPt:0,leftPt:0},r={};for(let i of RS){let a=zS(t,i),o=zS(e,i),s=a===`valid`||a===`invalid`?{status:a,value:BS(t,i),source:`wrap`}:o===`valid`||o===`invalid`?{status:o,value:BS(e,i),source:`anchor`}:{status:`missing`,value:null,source:`implicit-zero`};if(s.status===`invalid`||s.status===`valid`&&(!OS(s.value)||s.value<0))return{problem:$(`invalid-distance`,`${s.source===`wrap`?`wrap.distances`:`anchorDistances`}.${i}`,`wrap distance must be finite and non-negative`)};n[`${i}Pt`]=s.status===`missing`?0:s.value,r[i]=s.source}return{resolved:{values:n,sources:r}}}function US(e,t){let n={xPt:e.xPt-t.leftPt,yPt:e.yPt-t.topPt,widthPt:e.widthPt+t.leftPt+t.rightPt,heightPt:e.heightPt+t.topPt+t.bottomPt};return kS(n)?n:null}function WS(e,t){let n=e.wrap.polygon;if(n===null||n.invalidPointCount!==0||n.coordinateSpace.width!==DS||n.coordinateSpace.height!==DS||n.points.length<3)return{problem:$(`invalid-wrap-polygon`,`wrap.polygon`,`tight and through wrapping require a valid fixed 21600 by 21600 polygon`)};let r=[];for(let[e,i]of n.points.entries()){if(!OS(i.x)||!OS(i.y))return{problem:$(`invalid-wrap-polygon`,`wrap.polygon.points.${e}`,`polygon coordinates must be finite`)};r.push({xPt:t.xPt+i.x/DS*t.widthPt,yPt:t.yPt+i.y/DS*t.heightPt})}let i=r.map(e=>e.xPt),a=r.map(e=>e.yPt),o=Math.min(...i),s=Math.max(...i),c=Math.min(...a),l=Math.max(...a);return{polygon:{edited:n.edited,points:r},bounds:{xPt:o,yPt:c,widthPt:s-o,heightPt:l-c}}}function GS(e){return{coordinateSpace:`anchor-frame`,groupApplication:`parser-resolved-child-frame`,group:e===null?null:{childSourceId:e.childSourceId,sourceIndex:e.sourceIndex,sourceCount:e.sourceCount,transformChain:e.transformChain.map(e=>({...e})),childTransform:e.childTransform===null?null:{...e.childTransform},resolvedChildFrame:{...e.resolvedChildFrame}}}}function KS(e){return fu(e,`anchor frame result`)}function qS(e){let{acquisition:t,frames:n}=e;for(let e of[`relativeHeight`,`behindDoc`,`locked`,`layoutInCell`,`allowOverlap`]){let n=t.behavior[`${e}Status`],r=t.behavior[e];if(n===`valid`&&r!==null)continue;let i=$(n===`missing`?`missing-required-behavior`:`invalid-required-behavior`,`behavior.${e}`,`CT_Anchor requires a ${e} value`);return KS({status:`unsupported`,occurrenceId:t.occurrenceId,axes:{horizontal:jS(`horizontal`,t,i),vertical:jS(`vertical`,t,i)},issues:[i]})}let r=[],i=FS(`horizontal`,t,n),a=FS(`vertical`,t,n);i.problem&&r.push(i.problem),a.problem&&r.push(a.problem);let o,s,c=i.problem??a.problem;if(c||!i.resolved||!a.resolved){let e=c;o={diagnostic:jS(`horizontal`,t,e)},s={diagnostic:jS(`vertical`,t,e)}}else if(t.simplePosition.status===`invalid`){let e=$(`invalid-simple-position`,`simplePosition.enabled`,`simplePos enablement is invalid`);r.push(e),o={diagnostic:jS(`horizontal`,t,e,!0),problem:e},s={diagnostic:jS(`vertical`,t,e,!0),problem:e}}else if(t.simplePosition.status===`valid`&&t.simplePosition.enabled===!0){let e=MS(`page`,`horizontal`,n,`frames.page`),i=t.simplePosition.xPt,a=t.simplePosition.yPt;if(!e.base||n.page===null||!kS(n.page)){let n=e.problem??$(`invalid-reference-frame`,`frames.page`,`simple positioning requires a valid page frame`);r.push(n),o={diagnostic:jS(`horizontal`,t,n,!0),problem:n},s={diagnostic:jS(`vertical`,t,n,!0),problem:n}}else if(t.simplePosition.xStatus!==`valid`||!OS(i)){let e=t.simplePosition.xStatus===`invalid`,n=$(e?`invalid-simple-position`:`missing-simple-coordinate`,`simplePosition.x`,e?`simple position x is lexically invalid`:`simple position x is required`);r.push(n),o={diagnostic:jS(`horizontal`,t,n,!0),problem:n},s={diagnostic:jS(`vertical`,t,n,!0),problem:n}}else if(t.simplePosition.yStatus!==`valid`||!OS(a)){let e=t.simplePosition.yStatus===`invalid`,n=$(e?`invalid-simple-position`:`missing-simple-coordinate`,`simplePosition.y`,e?`simple position y is lexically invalid`:`simple position y is required`);r.push(n),o={diagnostic:jS(`horizontal`,t,n,!0),problem:n},s={diagnostic:jS(`vertical`,t,n,!0),problem:n}}else o=LS(`horizontal`,i,n.page),s=LS(`vertical`,a,n.page)}else{let e=IS(`horizontal`,i.resolved.valuePt,t,n),c=IS(`vertical`,a.resolved.valuePt,t,n);o={...e,diagnostic:e.diagnostic},s={...c,diagnostic:c.diagnostic},e.problem&&r.push(e.problem),c.problem&&r.push(c.problem)}if(r.length>0||!i.resolved||!a.resolved||o.valuePt===void 0||s.valuePt===void 0)return KS({status:`unsupported`,occurrenceId:t.occurrenceId,axes:{horizontal:o.diagnostic,vertical:s.diagnostic},issues:r});let l={xPt:o.valuePt,yPt:s.valuePt,widthPt:i.resolved.valuePt,heightPt:a.resolved.valuePt},u=VS(t.parentEffectExtent,`parentEffectExtent`,!1);if(u.problem||!u.values){let e=u.problem;return KS({status:`unsupported`,occurrenceId:t.occurrenceId,axes:{horizontal:o.diagnostic,vertical:s.diagnostic},issues:[e]})}let d=US(l,u.values);if(d===null){let e=$(`invalid-effect-extent`,`parentEffectExtent`,`parent effect extents produce invalid ink bounds`);return KS({status:`unsupported`,occurrenceId:t.occurrenceId,axes:{horizontal:o.diagnostic,vertical:s.diagnostic},issues:[e]})}if(t.wrap.kind===`missing`||t.wrap.kind===`invalid`){let e=$(t.wrap.kind===`missing`?`missing-wrap-kind`:`invalid-wrap-kind`,`wrap.kind`,`exactly one valid wrap kind is required`);return KS({status:`unsupported`,occurrenceId:t.occurrenceId,axes:{horizontal:o.diagnostic,vertical:s.diagnostic},issues:[e]})}let f=HS(t.anchorDistances,t.wrap.distances);if(f.problem||!f.resolved)return KS({status:`unsupported`,occurrenceId:t.occurrenceId,axes:{horizontal:o.diagnostic,vertical:s.diagnostic},issues:[f.problem]});let p=t.wrap.kind===`square`||t.wrap.kind===`tight`||t.wrap.kind===`through`,m=p&&[`bothSides`,`left`,`right`,`largest`].includes(t.wrap.side??``)?t.wrap.side:null;if(p&&m===null){let e=$(`invalid-wrap-side`,`wrap.side`,`square, tight, and through wrapping require an authored wrap side`);return KS({status:`unsupported`,occurrenceId:t.occurrenceId,axes:{horizontal:o.diagnostic,vertical:s.diagnostic},issues:[e]})}let h=u.values,g=RS.some(e=>zS(t.parentEffectExtent,e)!==`missing`)?`parent`:`none`;if(t.wrap.effectExtent!==null){let e=VS(t.wrap.effectExtent,`wrap.effectExtent`,!0);if(e.problem||!e.values)return KS({status:`unsupported`,occurrenceId:t.occurrenceId,axes:{horizontal:o.diagnostic,vertical:s.diagnostic},issues:[e.problem]});h=e.values,g=`wrap-child`}let _=null,v=null,y=null;if(t.wrap.kind===`tight`||t.wrap.kind===`through`){let e=WS(t,l);if(e.problem||!e.polygon||!e.bounds)return KS({status:`unsupported`,occurrenceId:t.occurrenceId,axes:{horizontal:o.diagnostic,vertical:s.diagnostic},issues:[e.problem]});_=e.polygon,v={width:21600,height:21600},y=e.bounds,h={topPt:0,rightPt:0,bottomPt:0,leftPt:0},g=`none`}else if(t.wrap.kind!==`none`&&(y=US(l,h),y===null)){let e=$(`invalid-effect-extent`,`wrap.effectExtent`,`wrapping effect extents produce invalid bounds`);return KS({status:`unsupported`,occurrenceId:t.occurrenceId,axes:{horizontal:o.diagnostic,vertical:s.diagnostic},issues:[e]})}let b=y===null?null:US(y,f.resolved.values);if(y!==null&&b===null){let e=$(`invalid-distance`,`wrap.distances`,`distances produce invalid bounds`);return KS({status:`unsupported`,occurrenceId:t.occurrenceId,axes:{horizontal:o.diagnostic,vertical:s.diagnostic},issues:[e]})}return KS({status:`resolved`,occurrenceId:t.occurrenceId,axes:{horizontal:o.diagnostic,vertical:s.diagnostic},issues:[],geometry:{objectFrame:l,inkBounds:d,wrapBounds:b,size:{horizontal:i.resolved.diagnostic,vertical:a.resolved.diagnostic},parentEffectExtent:u.values,wrap:{kind:t.wrap.kind,side:m,distances:f.resolved.values,distanceSources:f.resolved.sources,effectExtent:h,effectExtentSource:g,coordinateSpace:v,polygon:_},transform:GS(t.group)}})}function JS(e,t,n,r){if(!e)return r;let i=!!(e.styleId&&e.styleId===t.styleId),a=!!(i&&e.contextualSpacing),o=!!(i&&t.contextualSpacing);return a&&o?0:o?n:a?Math.max(r-n,0):Math.max(n,r)}function YS(e,t,n,r){let i=JS(e,t,n,r),a=i<=n;return{suppressBefore:a,overlap:n+(a?0:r)-i}}function XS(e){return Object.freeze(e.pages.map(e=>Object.freeze({pageIndex:e.pageIndex,displayPageNumber:e.pageNumber.displayNumber,pageNumberFormat:e.pageNumber.format})))}function ZS(e){if(e.fieldType===`page`)return`page`;if(/numPages/i.test(e.fieldType)||/NUMPAGES/i.test(e.instruction))return`total-pages`}function QS(e){return e.some(e=>e.type===`paragraph`?e.runs.some(e=>e.type===`field`?ZS(e)!==void 0:!1):e.type===`table`?e.rows.some(e=>e.cells.some(e=>QS(e.content))):!1)}function $S(e,t=[],n=[]){return QS(e)||t.some(e=>QS(e.content))||n.some(e=>QS(e))}const eC=new WeakMap;function tC(e){let t=new Set(e.drawings.flatMap(e=>{let t=e.anchorLayer?.acquisitionOccurrenceId??e.anchorLayer?.occurrenceId;return t===void 0?[]:[t]}));return Object.freeze({exclusions:Object.freeze(e.exclusions.filter(e=>!e.id.startsWith(`table-final-frame:`)&&(e.anchorOccurrenceId===void 0||!t.has(e.anchorOccurrenceId)))),collisions:Object.freeze((e.anchorCollisions??[]).filter(e=>!t.has(e.occurrenceId)))})}function nC(e){return new Set((e.anchorFrames??[]).flatMap(e=>e.status===`resolved`?[e.occurrenceId]:[]))}function rC(e){let t=nC(e),n=(e.anchorCollisions??[]).filter(e=>t.has(e.occurrenceId)),r=new Set(n.map(e=>e.occurrenceId));for(let e of t)if(!r.has(e))throw Error(`Paragraph anchor omitted collision geometry: ${e}`);return Object.freeze(n)}function iC(e){let t=nC(e);return Object.freeze(e.exclusions.filter(e=>e.anchorOccurrenceId!==void 0&&t.has(e.anchorOccurrenceId)))}function aC(e){return Object.freeze({flowDomainId:e,collisions:Object.freeze([]),exclusions:Object.freeze([])})}function oC(e,t){let n=eC.get(e);n||(n=new Map,eC.set(e,n));let r=n.get(t);if(r)return r;let i=aC(t);return n.set(t,i),i}function sC(e,t,n){let r=eC.get(e);if(!r||r.get(t.flowDomainId)!==t)throw Error(`Paragraph wrap registry transaction is stale`);r.set(t.flowDomainId,cC(t,n))}function cC(e,t){if(t.flowDomainId!==e.flowDomainId)throw Error(`Paragraph wrap registry cannot cross flow domains`);let n=new Set(e.collisions.map(e=>e.occurrenceId)),r=rC(t);for(let e of r){if(n.has(e.occurrenceId))throw Error(`Paragraph wrap occurrence committed twice: ${e.occurrenceId}`);n.add(e.occurrenceId)}let i=iC(t),a=new Set(r.map(e=>e.occurrenceId)),o=new Set;for(let e of i){let t=e.anchorOccurrenceId;if(t===void 0||!a.has(t))throw Error(`Owned paragraph wrap exclusion omitted its collision occurrence`);if(o.has(t))throw Error(`Paragraph wrap occurrence produced duplicate exclusions: ${t}`);o.add(t)}return Object.freeze({flowDomainId:e.flowDomainId,collisions:Object.freeze([...e.collisions,...r]),exclusions:Object.freeze([...e.exclusions,...i])})}function lC(e,t){if(!Number.isFinite(e)||e<0)throw RangeError(`${t} must be finite and non-negative`);return e}function uC(e){if(!(!e||e.type!==`text`&&e.type!==`field`))return e.typographyInput}function dC(e){switch(e){case`left`:return`left`;case`right`:return`right`;default:return`center`}}function fC(e){return lC(e.measuredWidthPt,`segment.measuredWidthPt`)}function pC(e){return e.map(e=>e.kind===`text`&&!e.fixedPitch?{text:e.text}:{})}function mC(e){return e===`lowKashida`?`low`:e===`mediumKashida`?`medium`:e===`highKashida`?`high`:null}function hC(e,t){if(!e.textLayoutService||!e.textShapeRequest)throw Error(`Kashida acquisition requires the retained TextLayoutService authority`);let n=e.textLayoutService.shape({...e.textShapeRequest,text:t,measure:!0}),r=e.basePaintOps[0]?.scaleX??1,i=e.basePaintOps[0]?.letterSpacingPt??0;return n.advancePt*r+[...t].length*i}function gC(e,t){if(!e)return null;let n=kx(e),r=new Map,i=0;for(let[n,a]of e.perSeg){let e=t[n],o=a.splitBefore;if(e?.kind===`text`){let t=new Set(e.clusters.slice(1).map(t=>t.range.start-e.range.start)),n=[...e.text],r=[0];for(let e of n)r.push((r.at(-1)??0)+e.length);o=o.filter(e=>t.has(r[e]??-1))}let s=t[n+1],c=a.trailingGap&&!(s?.kind===`text`&&s.breakBefore===!1);i+=o.length+ +!!c,r.set(n,{splitBefore:[...o],trailingGap:c,internalStretch:0})}if(i===0)return null;let a=n/i;for(let e of r.values())e.internalStretch=e.splitBefore.length*a;return{perGap:a,perSeg:r}}function _C(e,t,n){if(!t||t.splitBefore.length===0)return{clusters:e.clusters,paintOps:e.basePaintOps};let r=[...e.text],i=[...t.splitBefore];if(i.some((e,t)=>e<=0||e>=r.length||t>0&&e<=(i[t-1]??0)))throw Error(`Internal paragraph justification contains an invalid code-point cut`);let a=[0];for(let e of r)a.push((a.at(-1)??0)+e.length);let o=i.map(e=>a[e]??-1),s=new Set(e.clusters.map(t=>t.range.start-e.range.start));if(o.some(e=>!s.has(e)))throw Error(`Internal paragraph justification must split at shaped cluster boundaries`);let c=[0,...i,r.length],l=[];for(let t=0;t<c.length-1;t+=1){let r=c[t]??0,i=c[t+1]??r,o=e.range.start+(a[r]??0),s=e.clusters.find(e=>e.range.start===o);if(!s)throw Error(`Internal paragraph justification is missing shaped cluster geometry`);l.push({range:{start:o,end:e.range.start+(a[i]??0)},offset:{xPt:s.offset.xPt+t*n,yPt:s.offset.yPt}})}let u=e.clusters.map(t=>{let r=t.range.start-e.range.start,i=o.filter(e=>e<=r).length;return{...t,offset:{...t.offset,xPt:t.offset.xPt+i*n}}});if(e.basePaintOps.length>1){let t=e.range.start;for(let n of e.basePaintOps){if(n.range.start!==t||n.range.end<=n.range.start)throw Error(`Internal paragraph justification has incomplete retained paint operations`);t=n.range.end}if(t!==e.range.end)throw Error(`Internal paragraph justification has incomplete retained paint operations`);let r=o.map(t=>e.range.start+t),i=[...new Set([e.range.start,e.range.end,...r,...e.basePaintOps.flatMap(e=>[e.range.start,e.range.end])])].sort((e,t)=>e-t),a=[];for(let t=0;t<i.length-1;t+=1){let o=i[t]??e.range.start,s=i[t+1]??o,c=e.basePaintOps.find(e=>e.range.start<=o&&e.range.end>=s);if(!c)throw Error(`Internal paragraph justification lost a retained paint slice`);let l=r.filter(e=>e<=o).length,d=u.find(e=>e.range.start===o);if(!d)throw Error(`Internal paragraph justification is missing retained slice geometry`);a.push({...c,text:c.text.slice(o-c.range.start,s-c.range.start),range:{start:o,end:s},offset:o===c.range.start?{...c.offset,xPt:c.offset.xPt+l*n}:d.offset})}return{clusters:u,paintOps:a}}let d=e.basePaintOps.length===1?e.basePaintOps[0]:void 0;if(!d)throw Error(`Internal paragraph justification requires one contextual paint op`);return i.length===r.length-1&&i.every((e,t)=>e===t+1)?{clusters:u,paintOps:[{...d,letterSpacingPt:d.letterSpacingPt+n}]}:{clusters:u,paintOps:l.map(t=>({...d,text:e.text.slice(t.range.start-e.range.start,t.range.end-e.range.start),range:t.range,offset:t.offset}))}}function vC(e,t){return e.flatMap(e=>{let n=e.text.trimEnd();if(n===``||n.length===e.text.length)return[e];if(e.sourceMapping===`kashida`)return[{...e,text:n}];let r=e.range.start+n.length,i=t.find(e=>e.range.start===r),{inkBounds:a,blockAxisInkBounds:o,...s}=e;return[{...e,text:n,range:{...e.range,end:r}},{...s,text:e.text.slice(n.length),range:{start:r,end:e.range.end},offset:i?.offset??e.offset}]})}function yC(e,t){return e===void 0||t===void 0?e===t:e.length===t.length&&e.every((e,n)=>e===t[n])}function bC(e,t){return e.kind===`underline`&&e.kind===t.kind&&e.authoredStyle===t.authoredStyle&&e.style===t.style&&e.color===t.color&&e.widthPt===t.widthPt&&e.to.xPt===t.from.xPt&&yC(e.dashPatternPt,t.dashPatternPt)}function xC(e,t){let n=Math.max(e.from.yPt,t.from.yPt),r={xPt:e.from.xPt,yPt:n},i={xPt:t.to.xPt,yPt:n},{path:a,...o}=e;return{...o,from:r,to:i,...e.style===`wavy`?{path:hS(r,i,e.widthPt)}:{}}}function SC(e){let t=[];e.forEach((n,r)=>{if(n.kind!==`text`&&n.kind!==`tab`||!n.decorations){t=[];return}let i=[],a=[],o=new Set;for(let s of n.decorations){let n=t.filter(e=>!o.has(e)&&bC(e.decoration,s)).sort((e,t)=>Math.abs(e.decoration.from.yPt-s.from.yPt)-Math.abs(t.decoration.from.yPt-s.from.yPt))[0];if(n){o.add(n);let t=e[n.placementIndex];if(!t||t.kind!==`text`&&t.kind!==`tab`||!t.decorations)throw Error(`Continuous decoration owner left the retained line`);let r=[...t.decorations],i=xC(n.decoration,s);r[n.decorationIndex]=i,e[n.placementIndex]={...t,decorations:r},a.push({...n,decoration:i})}else{let e=i.length;i.push(s),a.push({placementIndex:r,decorationIndex:e,decoration:s})}}e[r]={...n,decorations:i},t=a})}function CC(e){let{line:t}=e,n=t.segments,r=e.baseRtl||cg(n),i=lg(n.map(e=>e.kind===`tab`?{isTab:!0}:e.kind===`text`?{text:e.text,rtl:e.rtl,digitsAsAN:e.digitsAsAN}:{}),e.baseRtl),a=n.reduce((e,t)=>e+fC(t),0),o=e.paragraphXPt+t.xOffsetPt,s=Math.min(e.availableWidthPt,t.availableWidthPt),c=e.isFirstLine?e.numbering?lC(e.numbering.bodyOffsetPt,`numbering.bodyOffsetPt`):e.firstLineIndentPt??0:0,l=e.baseRtl?0:c,u=(e.baseRtl?s-c:s)-l-a,d=e.isLastLine||t.endsWithBreak,f=e.displayMathJustification===void 0?ug(e.alignment,e.baseRtl):dC(e.displayMathJustification),p=f===`justify`&&(!d||e.stretchLastLine),m=p?mC(e.alignment):null;if(m&&u>0){let e=tS(n.map(e=>e.kind===`text`?{text:e.text}:{}),u,m,(e,t)=>{let r=n[e];return r?.kind===`text`?hC(r,t):0});e&&(n=n.map((t,n)=>{if(t.kind!==`text`)return t;let r=e.perSeg.get(n);if(!r)return t;let i=t.basePaintOps[0];if(!i)throw Error(`Kashida acquisition requires a contextual text paint operation`);return{...t,measuredWidthPt:t.measuredWidthPt+r.advanceDeltaPx,basePaintOps:[{...i,text:r.text,sourceMapping:`kashida`}]}}),a+=e.appliedPx,u=e.residualPx)}let h=i.order.at(-1)??-1,g=0;if(!r){let e=n.findIndex(e=>e.kind!==`text`||/\\S/.test(e.text));g=e<0?0:e}let _=null,v=0,y=0,b=pC(n);if(p){let i=gC(Ox(b,u,g,r?h:n.length,-(t.baselinePt-t.topPt)*.25,u>0,e.alignment===`thaiDistribute`&&u>0),n);_=i?.perSeg??null,v=i?.perGap??0,y=kx(i)}else if(u<0){let e=gC(Ax(b,u,g,r?h:n.length,t.baselinePt-t.topPt),n);_=e?.perSeg??null,v=e?.perGap??0,y=kx(e)}let x=a+y,S=u-y,C=f===`right`?S:f===`center`?S/2:f===`justify`&&e.baseRtl&&!p?S:0,w=o+l,T=e.decimalAutoTabPt===void 0?C:Math.max(0,e.paragraphXPt+e.decimalAutoTabPt-x-w),E=w+T,D=[];for(let e of i.order){let r=n[e];if(!r)continue;let a=_?.get(e),o=a?.internalStretch??0,s=fC(r)+o;if(r.kind===`tab`){let e={xPt:E,yPt:t.topPt,widthPt:r.measuredWidthPt,heightPt:t.advancePt},n=r.underline?gS({origin:{xPt:E,yPt:t.baselinePt},advancePt:r.measuredWidthPt,base:r.underline.base,color:r.underline.color,underline:r.underline}):void 0;D.push({kind:`tab`,range:r.range,bounds:e,advancePt:r.measuredWidthPt,leader:r.leader,...n?.length?{decorations:n}:{},...r.leader===`none`?{}:r.leaderShape?{leaderGlyphs:lS({interval:e,baselinePt:t.baselinePt,...r.leaderShape})}:{}})}else if(r.kind===`resource`)D.push({kind:`resource`,range:r.range,...r.sourceRunIndex===void 0?{}:{sourceRunIndex:r.sourceRunIndex},resourceKey:r.resourceKey,resourceKind:r.resourceKind,...r.orientation?{orientation:r.orientation}:{},bounds:{xPt:E,yPt:t.baselinePt+r.topOffsetPt,widthPt:r.widthPt,heightPt:r.heightPt},advancePt:r.measuredWidthPt});else if(r.kind===`unavailable-resource`||r.kind===`inline-drawing`)D.push({kind:`drawing`,range:r.range,drawingId:r.drawingId,bounds:{xPt:E,yPt:t.baselinePt+r.topOffsetPt,widthPt:r.widthPt,heightPt:r.heightPt},advancePt:r.measuredWidthPt});else if(r.kind===`anchor-host`)D.push({kind:`anchor-host`,range:r.range,bounds:{xPt:E,yPt:t.topPt,widthPt:0,heightPt:t.advancePt},baselinePt:t.baselinePt,...r.sourceMetrics?{sourceMetrics:r.sourceMetrics}:{},...r.anchorOccurrenceId?{anchorOccurrenceId:r.anchorOccurrenceId}:{}});else{let{measuredWidthPt:n,breakBefore:o,rtl:c,digitsAsAN:l,fixedPitch:u,textLayoutService:d,textShapeRequest:f,retainedGeometry:p,direction:m,...h}=r,g=_C(r,a,v),_=i.rtl[e]?`rtl`:`ltr`,y=_===`rtl`?vC(g.paintOps,g.clusters):g.paintOps,b=r.text.trimEnd().length,x=_===`rtl`?(h.fitText?.trailingPadPt??0)+r.clusters.filter(e=>e.range.start>=r.range.start+b).reduce((e,t)=>e+t.advancePt,0):0,S=a?.trailingGap?v:0,C={xPt:E+x,yPt:t.baselinePt},w=g.paintOps[0]?.offset.yPt??0,T={xPt:E,yPt:t.baselinePt+w},O=p?gS({origin:T,advancePt:s+S,base:p.base,color:KC(h.color),...p.underline?{underline:p.underline}:{},...p.strike?{strike:p.strike}:{}}):h.decorations,k=p?.emphasis?{authored:p.emphasis.authored,glyphs:_S({authored:p.emphasis.authored,glyph:p.emphasis.glyph,origin:{xPt:C.xPt,yPt:t.baselinePt+w},clusters:g.clusters,clusterInk:p.emphasis.clusterInk,mark:p.emphasis.mark,scaleX:r.basePaintOps[0]?.scaleX??1})}:void 0,A={...h,kind:`text`,origin:C,bounds:{xPt:E,yPt:t.topPt,widthPt:s,heightPt:t.advancePt},advancePt:s,clusters:g.clusters,paintOps:y.map(e=>({...e,direction:_})),decorations:O,...k?{emphasis:k}:{},direction:_,...S===0?{}:{ownedTrailingSlackPt:S},...h.highlight||h.background?{highlightFragments:[{rect:h.highlight&&p?{xPt:E,yPt:t.baselinePt+w-p.base.ascentPt,widthPt:s+S,heightPt:p.base.ascentPt+p.base.descentPt}:{xPt:E,yPt:t.topPt,widthPt:s+S,heightPt:t.advancePt},color:h.highlight??h.background}]}:{},...h.ruby?{ruby:{...h.ruby,paintOps:h.ruby.paintOps.map(e=>({...e,origin:{xPt:e.origin.xPt+E+(s-r.measuredWidthPt)/2,yPt:e.origin.yPt+t.baselinePt}}))}}:{}};D.push(A)}E+=s,a?.trailingGap&&(E+=v)}for(let e=0;e<D.length;){let t=D[e];if(t?.kind!==`text`||!t.runBorder){e+=1;continue}let n=e+1;for(;n<D.length;){let e=D[n];if(e?.kind!==`text`||!e.runBorder)break;n+=1}let r=yS(D.slice(e,n).map(e=>({bounds:e.bounds,trailingSlackPt:e.ownedTrailingSlackPt??0,border:e.runBorder})));D[e]={...t,runBorderFragments:r},e=n}return SC(D),du({range:t.range,bounds:{xPt:w+T,yPt:t.topPt,widthPt:x,heightPt:t.advancePt},baselinePt:t.baselinePt,advancePt:t.advancePt,placements:D})}function wC(e){let t=e.continuation,n=t?.lineStart??0,r=t?.lineEnd??e.lines.length;if(n<0||r<n||r>e.lines.length)throw RangeError(`Paragraph continuation line range is outside the retained lines`);let i=t?.continuesFromPrevious?0:e.spacing.beforePt;for(let a=n;a<r;a+=1){let r=e.lines[a];if(r){if(a===0&&!t?.continuesFromPrevious)i+=Math.max(0,r.bounds.yPt-(e.flowBounds.yPt+e.spacing.beforePt));else if(a>n){let t=e.lines[a-1];i+=Math.max(0,r.bounds.yPt-((t?.bounds.yPt??r.bounds.yPt)+(t?.advancePt??0)))}i+=lC(r.advancePt,`line.advancePt`)}}return e.lines.length===0&&e.paragraphMark&&(i+=lC(e.paragraphMark.bounds.heightPt,`paragraphMark.heightPt`)),t?.continuesOnNext||(i+=e.spacing.afterPt),i}function TC(e){let t=e.continuation?.lineStart??0,n=e.continuation?.lineEnd??e.lines.length,r=e.lines.slice(t,n),i=e.continuation?wC(e):lC(e.flowBounds.heightPt,`flowBounds.heightPt`);return du({kind:`paragraph`,id:e.id,source:e.source,...e.paragraphId===void 0?{}:{paragraphId:e.paragraphId},flowDomainId:e.flowDomainId,ordinaryFlow:e.ordinaryFlow,...e.styleId===void 0?{}:{styleId:e.styleId},...e.bookmarkStarts?.length?{bookmarkStarts:e.bookmarkStarts}:{},flowBounds:{...e.flowBounds,heightPt:i},inkBounds:e.inkBounds,...e.clipBounds?{clipBounds:e.clipBounds}:{},advancePt:i,spacing:e.spacing,contextualSpacing:e.contextualSpacing??!1,lines:r,borders:e.borders,...e.shading?{shading:e.shading}:{},resources:e.resources,drawings:e.drawings,textBoxes:e.textBoxes,events:e.events,exclusions:e.exclusions,...e.cellContainmentBounds?{cellContainmentBounds:e.cellContainmentBounds}:{},...e.anchorCollisions?.length?{anchorCollisions:e.anchorCollisions}:{},...e.anchorFrames?{anchorFrames:e.anchorFrames}:{},...e.paragraphMark?{paragraphMark:e.paragraphMark}:{},...e.continuation?{continuation:e.continuation}:{}})}function EC(e,t){return{...e,path:[...e.path,t]}}function DC(e,t){if(e.status===`planned`)return Object.freeze([]);let n=Object.freeze({...t,path:Object.freeze([...t.path])});return Object.freeze(e.diagnostics.map(e=>Object.freeze({...e,source:n})))}function OC(e){return cu(e)}function kC(e,t){return ru(`unavailable-drawing`,EC(e,t))}function AC(e,t){return Object.freeze({code:`MISSING_RESOURCE`,severity:`warning`,source:Object.freeze({...t,path:Object.freeze([...t.path])}),message:`Drawing ${e} resource is unavailable`})}function jC(e){return ZS(e)||(/^date$/i.test(e.fieldType)?`date`:/^time$/i.test(e.fieldType)?`time`:`document`)}function MC(e){return e.sourceRunIndex}function NC(e){if(!e.textLayoutService||!e.textShapeRequest)return;let t=e.textLayoutService.shape({...e.textShapeRequest,text:e.text,measure:!0});return{ascentPt:t.ascentPt,descentPt:t.descentPt}}const PC=Object.freeze({yellow:`#FFFF00`,cyan:`#00FFFF`,green:`#00FF00`,magenta:`#FF00FF`,blue:`#0000FF`,red:`#FF0000`,darkBlue:`#000080`,darkCyan:`#008080`,darkGreen:`#008000`,darkMagenta:`#800080`,darkRed:`#800000`,darkYellow:`#808000`,darkGray:`#808080`,lightGray:`#C0C0C0`,black:`#000000`,white:`#FFFFFF`});function FC(e){return e.startsWith(`#`)?e:PC[e]??`#FFFF00`}function IC(e){let t=jm(e.vertAlign,e.fontSize)+(e.lineRelativePosition??e.position??0);return t===0?0:-t}function LC(e,t,n,r,i,a,o){let s=MC(e),c=s===void 0?void 0:t.runs[s],l=uC(c);if(e.metricOnly){let t=NC(e);return{kind:`anchor-host`,range:{start:n,end:n},bounds:{xPt:r,yPt:a,widthPt:0,heightPt:o},baselinePt:i,...t?{sourceMetrics:t}:{}}}let u=e.color?{kind:`explicit`,color:`#${e.color}`}:e.colorAuto?{kind:`auto`,...e.background?{background:`#${e.background}`}:{}}:{kind:`default`},d=e.fontRoute??R(e.fontFamily?`\"${e.fontFamily.replaceAll(`\"`,`\\\\\"`)}\"`:`sans-serif`,e.fontFamily?`native`:`generic`),f=e.ruby&&e.textLayoutService&&e.textShapeRequest?e.textLayoutService.shape({...e.textShapeRequest,text:e.text,measure:!0}):void 0,p=e.ruby&&e.textLayoutService&&e.textShapeRequest?e.textLayoutService.shape({...e.textShapeRequest,text:e.ruby.text,fontSizePt:e.ruby.fontSizePt,measure:!0}):void 0,m=e.ruby&&p?(p.clusters??[]).map(t=>{let n=p.spans.find(e=>e.start<=t.range.start&&e.end>=t.range.end)??p.spans[0];if(!n)throw Error(`Ruby shaping produced no selected-face span`);return{text:e.ruby.text.slice(t.range.start,t.range.end),offsetPt:t.offsetPt,fontRoute:n.fontRoute,fontSizePt:e.ruby.fontSizePt,fontWeight:n.font.weight,fontStyle:n.font.style,color:u}}):[],h=l?.ruby?.raisePt.status===`valid`?l.ruby.raisePt.value??void 0:e.ruby?.hpsRaisePt,g=e.ruby&&p?uS({baseOrigin:{xPt:0,yPt:0},baseAdvancePt:e.measuredWidth,guideAdvancePt:p.advancePt,...h===void 0?{}:{raisePt:h},...f?.inkBounds&&p.inkBounds?{baseInkTopPt:-f.inkBounds.ascentPt,guideInkBottomFromBaselinePt:p.inkBounds.descentPt}:{},spans:m}):[],_=IC(e);return{kind:`text`,text:e.text,...s===void 0?{}:{sourceRunIndex:s},...c?.type===`field`?{role:`field-result`,dependency:jC(c)}:{},...c?.type===`text`&&(c.noteRef?.kind===`footnote`||c.noteRef?.kind===`endnote`)?{noteReference:{kind:c.noteRef.kind,id:c.noteRef.id}}:{},range:{start:n,end:n+e.text.length},origin:{xPt:r,yPt:i+_},bounds:{xPt:r,yPt:a,widthPt:e.measuredWidth,heightPt:o},advancePt:e.measuredWidth,clusters:[{range:{start:n,end:n+e.text.length},offset:{xPt:0,yPt:0},advancePt:e.measuredWidth}],color:u,fontRoute:d,fontSizePt:ef(e,1),fontWeight:e.bold?700:400,fontStyle:e.italic?`italic`:`normal`,direction:e.rtl?`rtl`:`ltr`,...e.verticalRun?{writingMode:`vertical-rl`}:{},...e.charSpacing===void 0?{}:{characterSpacingPt:e.charSpacing},...e.charScale===void 0?{}:{characterScale:e.charScale},...e.fitTextRegionIndex===void 0?{}:{fitText:{regionIndex:e.fitTextRegionIndex,perGapPt:e.fitTextPerGapPx??0,trailingPadPt:e.fitTextTrailingPadPx??0}},...e.kerning===void 0?{}:{kerning:e.fontSize>=e.kerning},...e.position===void 0?{}:{positionPt:e.position},...e.vertAlign?{verticalAlign:e.vertAlign}:{},...e.tateChuYoko?{tateChuYoko:!0}:{},...e.tateChuYokoCompress?{tateChuYokoCompress:!0}:{},...e.ruby&&p?{ruby:{text:e.ruby.text,advancePt:p.advancePt,authored:{...l?.ruby?.align.status===`valid`&&l.ruby.align.value?{align:l.ruby.align.value}:{},...l?.ruby?.baseFontSizePt.status===`valid`&&l.ruby.baseFontSizePt.value!==null?{baseFontSizePt:l.ruby.baseFontSizePt.value}:{},...h===void 0?{}:{raisePt:h},...l?.ruby?.language.status===`valid`&&l.ruby.language.value?{language:l.ruby.language.value}:{}},paintOps:g}}:{},...e.emphasisMark?{emphasisMark:e.emphasisMark}:{},...e.highlight?{highlight:FC(e.highlight)}:{},...e.background?{background:`#${e.background}`}:{},...e.border?{runBorder:{val:l?.border?.val.value??e.border.style,color:e.border.color?`#${e.border.color}`:`#000000`,widthPt:e.border.width,spacePt:e.border.space??0,...l?.border?.themeColor.value?{themeColor:l.border.themeColor.value}:{},...l?.border?.themeTint.value?{themeTint:l.border.themeTint.value}:{},...l?.border?.themeShade.value?{themeShade:l.border.themeShade.value}:{},...l?.border?.shadow.status===`valid`&&l.border.shadow.value!==null?{shadow:l.border.shadow.value}:{},...l?.border?.frame.status===`valid`&&l.border.frame.value!==null?{frame:l.border.frame.value}:{}}}:{},...e.revision?{revision:e.revision}:{},typography:{caps:l?.caps??!1,smallCaps:l?.smallCaps??e.smallCaps===!0,strike:l?.strike??e.strikethrough,doubleStrike:l?.doubleStrike??e.doubleStrikethrough===!0,verticalAlign:l?.verticalAlign??{status:e.vertAlign?`valid`:`missing`,raw:e.vertAlign??null,value:e.vertAlign??null},positionPt:l?.positionPt??{status:e.position===void 0?`missing`:`valid`,raw:e.position===void 0?null:String(e.position*2),value:e.position??null},emphasis:l?.emphasis??{status:e.emphasisMark?`valid`:`missing`,raw:e.emphasisMark??null,value:e.emphasisMark??null},...l?.underline?{underline:l.underline}:{}},decorations:[],paintOps:[{text:e.text,range:{start:n,end:n+e.text.length},offset:{xPt:0,yPt:_},letterSpacingPt:ph(e),scaleX:e.charScale??1,direction:e.rtl?`rtl`:`ltr`,kerning:e.kerning===void 0?`auto`:e.fontSize>=e.kerning?`normal`:`none`,writingMode:e.verticalRun?`vertical-rl`:`horizontal-tb`}],...e.hyperlink?{hyperlink:e.hyperlink}:{}}}function RC(e,t){let n=e.layout,r=n.visibleAscent??n.ascent,i=r+(n.visibleDescent??n.descent),a=t.lineSpacing?.rule===`auto`&&!t.hasRuby&&!t.lineGrid.active,o=a&&(t.lineSpacing?.value??1)<1,s=a&&!o?Math.max(i,n.visibleIntendedSingle??n.intendedSingle):e.advancePt;return e.topYPt+(s-i)/2+r}function zC(e,t,n){let r=e.numbering;if(!r)return;if(t.numberingMarkerGeometry)return t.numberingMarkerGeometry;let i=e.numberingMarkerShapeInput,a=n.environment.layoutServices?.text;if(!(!i||!a))return Cg(r,i,{authoredFirstIndentPt:e.indentFirst,physicalIndentLeftPt:t.physicalIndentLeftPt,tabStops:e.tabStops,defaultTabPt:t.defaultTabPt},a)}function BC(e,t,n,r,i){return i.bounds.widthPt<=0?t.baseRtl?n+r:n:t.baseRtl?i.bounds.xPt+i.bounds.widthPt+e.bodyOffsetPt:i.bounds.xPt-e.bodyOffsetPt}function VC(e,t,n,r,i,a){if(!e.shape||e.markerText===``)return[];let o=e.shape,s=yg({baseRtl:n.baseRtl,alignedLeadingEdgePt:BC(e,n,r,i,a),authoredFirstIndentPt:t.indentFirst,markerShiftPt:e.markerShiftPt,markerWidthPt:e.markerWidthPt}),c=-e.markerText.length,l=t.numbering?.color?{kind:`explicit`,color:`#${t.numbering.color}`}:t.numbering?.colorAuto?{kind:`auto`}:t.paragraphMarkColor?{kind:`explicit`,color:`#${t.paragraphMarkColor}`}:{kind:`default`},u=0;return o.spans.map(e=>{let r=u;u+=e.advancePt;let i=o.clusters?o.clusters.filter(t=>t.range.start>=e.start&&t.range.end<=e.end).map(e=>({range:{start:c+e.range.start,end:c+e.range.end},offset:{xPt:e.offsetPt-r,yPt:0},advancePt:e.advancePt})):[{range:{start:c+e.start,end:c+e.end},offset:{xPt:0,yPt:0},advancePt:e.advancePt}],d=s+r;return{kind:`text`,role:`numbering-marker`,text:e.text,range:{start:c+e.start,end:c+e.end},origin:{xPt:d,yPt:a.baselinePt},bounds:{xPt:d,yPt:a.baselinePt-e.ascentPt,widthPt:e.advancePt,heightPt:e.ascentPt+e.descentPt},advancePt:e.advancePt,clusters:i,paintOps:[{text:e.text,range:{start:c+e.start,end:c+e.end},offset:{xPt:0,yPt:0},letterSpacingPt:0,scaleX:1,direction:n.baseRtl?`rtl`:`ltr`,kerning:`auto`,writingMode:`horizontal-tb`}],color:l,fontRoute:e.fontRoute,fontSizePt:t.numberingMarkerShapeInput?.fontSizePt??e.ascentPt+e.descentPt,fontWeight:e.font.weight,fontStyle:e.font.style,direction:n.baseRtl?`rtl`:`ltr`,decorations:[]}})}function HC(e){if(e)return e.startsWith(`#`)?e:`#${e}`}function UC(e,t,n){let r=HC(t),i=HC(n);return e.map(e=>({...e,placements:e.placements.map(e=>{if(e.kind!==`text`)return e;let t=e.background??r??i;return!t||e.color.kind===`explicit`?e:{...e,color:{kind:`auto`,background:t}}})}))}function WC(e){return e!=null&&e.style!==`none`}function GC(e,t,n,r,i,a,o){let s=n,c=n+r;e.indentFirst<0&&(e.bidi?c-=e.indentFirst:s+=e.indentFirst);for(let e of t.flatMap(e=>e.placements))!(e.kind===`text`&&e.role===`numbering-marker`||e.kind===`resource`&&e.resourceKind===`picture-bullet`)||!e.bounds||(s=Math.min(s,e.bounds.xPt),c=Math.max(c,e.bounds.xPt+e.bounds.widthPt));let l=e.borders,u=o.top===`none`?null:l?.[o.top]??null,d=o.bottom===`none`?null:l?.bottom??null,f=WC(l?.left??null)?l.left.space??0:0,p=WC(l?.right??null)?l.right.space??0:0,m=WC(u)?u.space??0:0,h=WC(d)?d.space??0:0;return{xPt:s-f,yPt:i-m,widthPt:c-s+f+p,heightPt:a+m+h}}function KC(e){return e.kind===`explicit`?e.color:e.kind===`auto`?mt(e.background??`#FFFFFF`):`#000000`}function qC(e){return e.inkBounds??{xMinPt:0,xMaxPt:e.advancePt,ascentPt:e.ascentPt,descentPt:e.descentPt}}function JC(e){return e===`circle`?`○`:e===`comma`?`﹅`:`•`}function YC(e,t,n){if(!(e.highlight||e.underline||e.strikethrough||e.doubleStrikethrough||e.emphasisMark))return;let r=e.textLayoutService,i=e.textShapeRequest;if(!r||!i)throw Error(`Retained typography geometry requires TextLayoutService`);let a=e=>r.shape({...i,text:e,measure:!0}),o=e=>{let t=a(e),n=t.spans[0];if(!n||t.spans.length!==1||n.start!==0||n.end!==e.length)throw Error(`Retained decoration probe requires one selected-face span`);return{ascentPt:n.ascentPt,descentPt:n.descentPt,...n.inkBounds?{inkBounds:n.inkBounds}:{}}},s=e.selectedFaceFontBox;if(!s||!e.selectedFaceInkBounds)throw Error(`Retained typography geometry requires authoritative selected-face metrics`);let c={ascentPt:s.ascentPt,descentPt:s.descentPt,inkBounds:e.selectedFaceInkBounds},l=KC(n),u=e.underline?{...e.underlineStyle?{authoredStyle:e.underlineStyle}:{},color:e.underlineColor&&e.underlineColor!==`auto`?`#${e.underlineColor}`:l,probe:o(`_`)}:void 0,d=e.strikethrough||e.doubleStrikethrough?{double:e.doubleStrikethrough===!0,probe:o(`-`),...e.doubleStrikethrough?{doubleProbe:o(`=`)}:{}}:void 0,f=e.emphasisMark?(()=>{let r=JC(e.emphasisMark),o=a(r),s=o.spans[0];if(!s)throw Error(`Emphasis shaping produced no selected-face span`);let c=(e.shapedClusters??[]).map(n=>{let r=e.text.slice(n.range.start,n.range.end);return{text:r,range:{start:t+n.range.start,end:t+n.range.end},ink:qC(a(r))}});return{authored:e.emphasisMark,glyph:r,mark:{inkBounds:qC(o),fontRoute:s.fontRoute,fontSizePt:i.fontSizePt,fontWeight:s.font.weight,fontStyle:s.font.style,color:n},clusterInk:c}})():void 0;return{base:c,...u?{underline:u}:{},...d?{strike:d}:{},...f?{emphasis:f}:{}}}function XC(e,t,n,r,i,a){if(e.metricOnly){let t=NC(e);return{kind:`anchor-host`,measuredWidthPt:0,range:{start:n,end:n},...t?{sourceMetrics:t}:{},...i?.type===`anchorHost`&&i.anchorOccurrenceId?{anchorOccurrenceId:i.anchorOccurrenceId}:{}}}let o=LC(e,t,n,0,0,0,0);if(o.kind!==`text`)throw Error(`Visible text segment projected as anchor host`);let s=Ch(e,r,1),c=e.charScale??1,l=IC(e),u=YC(e,n,o.color),d=e.shapedClusters,f=d?.length&&d[0]?.range.start===0&&d.at(-1)?.range.end===e.text.length&&d.every((e,t)=>t===0||d[t-1]?.range.end===e.range.start)&&d.every(e=>e.range.start<e.range.end&&Number.isFinite(e.offsetPt)&&Number.isFinite(e.advancePt))?d:void 0;if(e.text.length>0&&!f)throw Error(`Visible text acquisition requires complete authoritative grapheme clusters from TextLayoutService`);let p=(f??[]).map((t,i)=>{let a=e.text.slice(0,t.range.start),o=e.text.slice(t.range.start,t.range.end),u=[...a].length,d=[...o].length,p=i===(f?.length??0)-1?e.fitTextTrailingPadPx??0:0,m=e.punctuationCompressions?.filter(e=>e.end<=t.range.start).reduce((e,t)=>e+t.adjustmentPt,0)??0,h=e.punctuationCompressions?.filter(e=>e.end>t.range.start&&e.end<=t.range.end).reduce((e,t)=>e+t.adjustmentPt,0)??0,g=gh(e,a,r)*c,_=gh(e,o,r)*c;return{range:{start:n+t.range.start,end:n+t.range.end},offset:{xPt:t.offsetPt*c+u*s+g+m,yPt:l},advancePt:t.advancePt*c+d*s+_+p+h}}),m=e.snapGridLeadingPadPx??0;if(e.snapGridClass===`eastAsia`&&e.snapGridCellPitchPx){let t=e.snapGridCellPitchPx,r=0;p=p.map(i=>{e.text.slice(i.range.start-n,i.range.end-n);let a=pm(i.advancePt,t),o=a*t,s={...i,offset:{xPt:r*t+(o-i.advancePt)/2,yPt:i.offset.yPt},advancePt:o};return r+=a,s})}else m!==0&&(p=p.map(e=>({...e,offset:{xPt:e.offset.xPt+m,yPt:e.offset.yPt}})));let{origin:h,bounds:g,advancePt:_,paintOps:v,clusters:y,...b}=o,x=e.tateChuYoko&&e.tateChuYokoCompress?(()=>{if(!e.textLayoutService||!e.textShapeRequest)throw Error(`Tate-chu-yoko compression requires TextLayoutService`);let t=e.textLayoutService.shape({...e.textShapeRequest,text:e.text,fontSizePt:o.fontSizePt,measure:!0,clusterGeometry:!1}),n=t.ascentPt+t.descentPt;return n>o.fontSizePt&&n>0?o.fontSizePt/n:1})():1,S=e.punctuationCompressions?.some(t=>t.end<e.text.length)??!1,C=e.verticalRun?(()=>{if(!a)throw Error(`Vertical glyph planning capability is required for vertical text`);let t=v[0];return a.planRun({text:e.text,font:z(o.fontRoute,o.fontSizePt,o.fontWeight,o.fontStyle),fontKerning:t.kerning,fontSizePt:o.fontSizePt,letterSpacingPt:s,charScale:c,growTrRotateInk:!0,writingMode:t.writingMode}).map(r=>({...t,text:r.text,range:{start:n+r.range.start,end:n+r.range.end},offset:{xPt:r.originPt+(e.punctuationCompressions?.filter(e=>e.end<=r.range.start).reduce((e,t)=>e+t.adjustmentPt,0)??0),yPt:l},letterSpacingPt:s,glyphOrientation:r.orientation,...r.verticalFeature?{verticalFeature:!0}:{},...r.blockAxisInkBounds?{blockAxisInkBounds:r.blockAxisInkBounds}:{},...r.drawOffsetPt.xPt!==0||r.drawOffsetPt.yPt!==0?{glyphOffsetPt:r.drawOffsetPt}:{}}))})():e.tateChuYoko?v.map(t=>({...t,offset:{xPt:t.offset.xPt+e.measuredWidth/2,yPt:t.offset.yPt},glyphOrientation:`upright`,...x===1?{}:{scaleY:x}})):S?(()=>{let t=v[0],r=[];for(let t of p){let i=t.range.end-n,a=e.punctuationCompressions?.find(e=>e.end===i)?.adjustmentPt??null,o=r.at(-1);o&&o.adjustmentPt===a?o.end=t.range.end:r.push({start:t.range.start,end:t.range.end,offset:t.offset,adjustmentPt:a})}return r.map(r=>({...t,text:e.text.slice(r.start-n,r.end-n),range:{start:r.start,end:r.end},offset:r.offset,letterSpacingPt:s+(r.adjustmentPt??0)}))})():v,w=e.snapGridClass===`eastAsia`?(()=>{let t=C[0];return t?p.map(r=>({...t,text:e.text.slice(r.range.start-n,r.range.end-n),range:r.range,offset:r.offset})):C})():m===0?C:C.map(e=>({...e,offset:{xPt:e.offset.xPt+m,yPt:e.offset.yPt}}));return{...b,kind:`text`,measuredWidthPt:e.measuredWidth,clusters:p,basePaintOps:w.map(t=>({...t,letterSpacingPt:e.verticalRun&&t.glyphOrientation!==`sideways`?0:S?t.letterSpacingPt:s,...!e.verticalRun&&e.selectedFaceInkBounds?{inkBounds:e.selectedFaceInkBounds}:{},...!e.verticalRun&&e.selectedFaceInkBounds&&t.glyphOrientation===void 0?{blockAxisInkBounds:{startPt:(t.glyphOffsetPt?.yPt??0)-e.selectedFaceInkBounds.ascentPt,endPt:(t.glyphOffsetPt?.yPt??0)+e.selectedFaceInkBounds.descentPt}}:{}})),breakBefore:e.breakBefore!==!1&&!e.joinPrev,rtl:e.rtl,digitsAsAN:e.digitsAsAN,fixedPitch:e.fitTextRegionIndex!==void 0||e.snapGridClass!==void 0,...u?{retainedGeometry:u}:{},...e.textLayoutService?{textLayoutService:e.textLayoutService}:{},...e.textShapeRequest?{textShapeRequest:e.textShapeRequest}:{}}}function ZC(e,t){let n=new Map;for(let e of t.lines)for(let t of e.layout.segments){let e=MC(t);if(e===void 0)continue;let r=`text`in t?t.metricOnly?0:t.text.length:`math`in t?t.fallbackText.length:+(`isTab`in t||`imagePath`in t);n.set(e,(n.get(e)??0)+r)}let r=e.runs.map((e,t)=>{let r=n.get(t);return r===void 0?e.type===`text`?e.text.length:e.type===`field`?e.fallbackText.length:e.type===`anchorHost`?0:1:r}),i=0;return{runStarts:r.map(e=>{let t=i;return i+=e,t}),runLengths:r}}function QC(e){return`text`in e?e.metricOnly?0:e.text.length:`math`in e?e.fallbackText.length:1}function $C(e,t,n,r,i,a,o,s,c,l,u,d=!1){let f=0,p=new Map,m=e.lines.some(e=>e.layout.segments.some(e=>`isTab`in e)),h=t.tabStops?.reduce((e,t)=>!e||t.pos<e.pos?t:e,void 0),g=e.lines.flatMap(e=>e.layout.segments.flatMap(e=>`text`in e&&!e.metricOnly?[e.text]:[])).join(``).trim(),_=!m&&h?.alignment===`decimal`&&g!==``&&/^[+\\-(]?[\\d., ]+\\)?%?$/u.test(g)?h.pos-o.physicalIndentLeftPt:void 0;return e.lines.map((m,h)=>{let g=m.layout,v=RC(m,o),y=1/0,b=f,x=[];for(let e of g.segments){let n=MC(e),r=n===void 0?void 0:t.runs[n],c=QC(e),m=n===void 0?f:(s.runStarts[n]??f)+(p.get(n)??0);if(n!==void 0&&p.set(n,(p.get(n)??0)+c),y=Math.min(y,m),b=Math.max(b,m+c),`isTab`in e){let t=e,n=t.leader??`none`,i,a,o=r?.type===`text`||r?.type===`field`?r:void 0,s=o,u=e=>{if(!l)throw Error(`Formatted tab acquisition requires TextLayoutService`);return l.shape({text:e,fontSizePt:t.fontSize,fonts:s?.fontSlots?.direct??(o?.fontFamily?{ascii:o.fontFamily}:{}),themeFonts:s?.fontSlots?.theme,themeFontPresence:s?.fontSlots?.themePresent,weight:t.bold?700:400,style:t.italic?`italic`:`normal`,measure:!0})},d=e=>{let t=u(e),n=t.spans[0];if(!n||t.spans.length!==1||n.start!==0||n.end!==e.length)throw Error(`Formatted tab probe requires one selected-face span`);return{ascentPt:n.ascentPt,descentPt:n.descentPt,...n.inkBounds?{inkBounds:n.inkBounds}:{}}};if(o?.underline){let e=o.color?`#${o.color}`:`#000000`;a={base:d(`M`),probe:d(`_`),color:s?.underlineColor&&s.underlineColor!==`auto`?`#${s.underlineColor}`:e,...s?.underlineStyle?{authoredStyle:s.underlineStyle}:{}}}if(n!==`none`){if(!l)throw Error(`Tab leader acquisition requires TextLayoutService`);let e=n===`hyphen`?`-`:n===`underscore`||n===`heavy`?`_`:n===`middleDot`?`·`:`.`,r=u(e),a=r.spans[0];if(!a||!Number.isFinite(r.advancePt)||r.advancePt<=0)throw Error(`Tab leader acquisition produced no shaped glyph advance`);i={glyph:e,advancePt:r.advancePt,fontRoute:a.fontRoute,fontSizePt:t.fontSize,fontWeight:a.font.weight,fontStyle:a.font.style,color:o?.color?{kind:`explicit`,color:`#${o.color}`}:s?.colorAuto?{kind:`auto`}:{kind:`default`}}}x.push({kind:`tab`,range:{start:m,end:m+c},measuredWidthPt:t.measuredWidth,leader:n,fontSizePt:t.fontSize,bold:t.bold,italic:t.italic,...a?{underline:a}:{},...i?{leaderShape:i}:{}})}else if(`imagePath`in e){let t=e;if(t.anchor)continue;let n=MC(e),r=EC(i,n??0);if(t.inlineShape){x.push({kind:`inline-drawing`,range:{start:m,end:m+c},drawingId:`${a}:drawing:${n??0}`,measuredWidthPt:t.measuredWidth,widthPt:t.widthPt,heightPt:t.heightPt,topOffsetPt:-t.heightPt}),f=Math.max(f,m+c);continue}if(t.unavailableResourceKind){x.push({kind:`unavailable-resource`,range:{start:m,end:m+c},resourceKind:t.unavailableResourceKind,measuredWidthPt:t.measuredWidth,widthPt:t.widthPt,heightPt:t.heightPt,topOffsetPt:-t.heightPt,drawingId:kC(i,n??0)}),f=Math.max(f,m+c);continue}let o=t.chart?`chart`:`image`,s=t.chartResourceKey??(t.chart?OC(r):ou(r,t.imagePath));x.push({kind:`resource`,range:{start:m,end:m+c},...n===void 0?{}:{sourceRunIndex:n},resourceKey:s,resourceKind:o,measuredWidthPt:t.measuredWidth,widthPt:t.widthPt,heightPt:t.heightPt,topOffsetPt:-t.heightPt,...d?{orientation:`upright-physical`}:{}})}else if(`math`in e){let t=e;x.push({kind:`resource`,range:{start:m,end:m+c},...MC(e)===void 0?{}:{sourceRunIndex:MC(e)},resourceKey:t.mathResourceKey,resourceKind:`math`,measuredWidthPt:t.measuredWidth,widthPt:t.measuredWidth,heightPt:t.mathAscent+t.mathDescent,topOffsetPt:-t.mathAscent})}else x.push(XC(e,t,m,mg(o),r,u));f=Math.max(f,m+c)}let S=g.segments.length===1&&`math`in(g.segments[0]??{})?g.segments[0]:void 0;return CC({paragraphXPt:n,availableWidthPt:r,alignment:t.alignment,baseRtl:o.baseRtl,isFirstLine:h===0,isLastLine:h===e.lines.length-1,stretchLastLine:o.stretchLastLine,firstLineIndentPt:o.firstIndentPt,...h===0&&c?{numbering:{bodyOffsetPt:c.bodyOffsetPt}}:{},..._===void 0?{}:{decimalAutoTabPt:_},...S?.display?{displayMathJustification:S.jc??o.mathDefJc??`centerGroup`}:{},line:{range:{start:Number.isFinite(y)?y:f,end:b},topPt:m.topYPt,baselinePt:v,advancePt:m.advancePt,xOffsetPt:g.xOffset,availableWidthPt:g.availWidth,endsWithBreak:g.endsWithBreak??!1,segments:x}})})}function ew(e,t,n,r,i){let a=i.filter(e=>e.alignment===`bar`);return a.length===0?e:e.map(e=>({...e,barTabRules:a.map(i=>{let a=r?t+n-i.pos:t+i.pos;return{from:{xPt:a,yPt:e.bounds.yPt},to:{xPt:a,yPt:e.bounds.yPt+e.bounds.heightPt},color:`#000000`,widthPt:0,authoredStyle:`single`,style:`solid`}})}))}function tw(e,t){return{start:e.start+t,end:e.end+t}}function nw(e,t){if(!Number.isFinite(t)||t<0)throw RangeError(`Paragraph continuation source range must be finite and non-negative`);let n=e[0];if(!n)return e;let r=t-n.range.start;return r===0?e:e.map(e=>({...e,range:tw(e.range,r),placements:e.placements.map(e=>{let t=tw(e.range,r);return e.kind===`text`?{...e,range:t,clusters:e.clusters.map(e=>({...e,range:tw(e.range,r)})),paintOps:e.paintOps.map(e=>({...e,range:tw(e.range,r)}))}:{...e,range:t}})}))}function rw(e,t,n,r,i){let a=e.contentEndYPt-e.contentStartYPt;return CC({paragraphXPt:n,availableWidthPt:r,alignment:t.alignment,baseRtl:i.baseRtl,isFirstLine:!0,isLastLine:!0,stretchLastLine:i.stretchLastLine,line:{range:{start:0,end:0},topPt:e.contentStartYPt,baselinePt:e.contentEndYPt-e.lastLineBelowBaselinePt,advancePt:a,xOffsetPt:0,availableWidthPt:r,endsWithBreak:!1,segments:[]}})}function iw(e,t){let n=t.anchorFrames,r=e.anchorXRelativeFrom??(e.anchorXFromMargin?`margin`:`page`),i=e.anchorYRelativeFrom??(e.anchorYFromPara?`paragraph`:`page`),a=n?.page,o=n?.margin,s=a&&o?{xPt:a.xPt,yPt:a.yPt,widthPt:Math.max(0,o.xPt-a.xPt),heightPt:a.heightPt}:null,c=a&&o?{xPt:o.xPt+o.widthPt,yPt:a.yPt,widthPt:Math.max(0,a.xPt+a.widthPt-o.xPt-o.widthPt),heightPt:a.heightPt}:null,l=a&&o?{xPt:a.xPt,yPt:a.yPt,widthPt:a.widthPt,heightPt:Math.max(0,o.yPt-a.yPt)}:null,u=a&&o?{xPt:a.xPt,yPt:o.yPt+o.heightPt,widthPt:a.widthPt,heightPt:Math.max(0,a.yPt+a.heightPt-o.yPt-o.heightPt)}:null,d=n?.pageParity===`even`,f=r===`page`?a:r===`column`||r===`character`?n?.column:r===`leftMargin`?s:r===`rightMargin`?c:r===`insideMargin`?d?c:s:r===`outsideMargin`?d?s:c:o,p=i===`paragraph`||i===`line`||i===`character`?{xPt:t.placement.paragraphXPt,yPt:t.placement.startYPt,widthPt:t.placement.availableWidthPt,heightPt:0}:i===`page`?a:i===`column`?n?.column:i===`topMargin`?l:i===`bottomMargin`?u:i===`insideMargin`?d?u:l:i===`outsideMargin`?d?l:u:o;if(!f||!p)return null;let m=e.widthPt,h=e.heightPt,g=e.anchorXPt??0,_=e.anchorYPt??0,v=e.type===`shape`?e.pctPosH:null,y=e.type===`shape`?e.pctPosV:null;return{xPt:v==null?e.anchorXAlign===`center`?f.xPt+(f.widthPt-m)/2:e.anchorXAlign===`right`||e.anchorXAlign===`outside`&&!d||e.anchorXAlign===`inside`&&d?f.xPt+f.widthPt-m:f.xPt+g:f.xPt+f.widthPt*v+g,yPt:y==null?e.anchorYAlign===`center`?p.yPt+(p.heightPt-h)/2:e.anchorYAlign===`bottom`||e.anchorYAlign===`outside`&&!d||e.anchorYAlign===`inside`&&d?p.yPt+p.heightPt-h:p.yPt+_:p.yPt+p.heightPt*y+_,widthPt:m,heightPt:h}}function aw(e,t){return iw(e,t)??{xPt:e.anchorXPt+(e.anchorXFromMargin?t.placement.paragraphXPt:0),yPt:e.anchorYPt+(e.anchorYFromPara?t.placement.startYPt:0),widthPt:e.widthPt,heightPt:e.heightPt}}function ow(e,t,n,r,i=!1){let a=EC(n.source,r),o=oS(e,t,n.environment.layoutServices?.text,e.vmlTextPathInput,e.fill?.fillType===`image`?ou(a,e.fill.imagePath):void 0),s=[o.command],c=DC(o,a);return{kind:`drawing`,id:`${n.id}:drawing:${r}`,source:a,flowDomainId:n.flowDomainId,flowBounds:t,inkBounds:t,advancePt:0,ordinaryFlow:!1,commands:s,...c.length===0?{}:{diagnostics:c},...i?{}:{anchorLayer:{occurrenceId:`public-shape:${n.id}:${r}`,behindDoc:e.behindDoc===!0,relativeHeight:Number.isFinite(e.zOrder)?e.zOrder:r,sourceOrder:r,horizontalOwnership:e.anchorXRelativeFrom===`character`||e.anchorXRelativeFrom===`column`?`host`:`page`,verticalOwnership:e.anchorYRelativeFrom===`paragraph`||e.anchorYRelativeFrom===`line`||e.anchorYRelativeFrom===`character`||!e.anchorYRelativeFrom&&e.anchorYFromPara?`host`:`page`}}}}function sw(e,t,n){if(!e.anchor||e.anchorAcquisitionInput)return null;let r=iw(e,t);if(!r)return null;let i=e.anchorYRelativeFrom??(e.anchorYFromPara?`paragraph`:`page`),a=EC(t.source,n);return{kind:`drawing`,id:`${t.id}:public-anchor-drawing:${n}`,source:a,flowDomainId:t.flowDomainId,flowBounds:r,inkBounds:r,advancePt:0,ordinaryFlow:!1,commands:[{kind:`resource`,resourceKind:e.type,resourceKey:e.type===`image`?ou(a,e.imagePath):OC(a),rect:r,...t.environment.verticalPageFrame?{orientation:`upright-physical`}:{}}],anchorLayer:{occurrenceId:`public-anchor:${t.id}:${n}`,behindDoc:!1,relativeHeight:n,sourceOrder:n,horizontalOwnership:`page`,verticalOwnership:i===`paragraph`?`host`:`page`}}}function cw(e){return(e.type===`image`||e.type===`chart`||e.type===`shape`||e.type===`unavailableDrawing`)&&e.anchorAcquisitionInput!==void 0}function lw(e){return[{xPt:e.xPt,yPt:e.yPt},{xPt:e.xPt+e.widthPt,yPt:e.yPt},{xPt:e.xPt+e.widthPt,yPt:e.yPt+e.heightPt},{xPt:e.xPt,yPt:e.yPt+e.heightPt}]}function uw(e,t,n){let r=t.xPt-e.xPt,i=t.yPt-e.yPt,a=e.xPt+e.widthPt-t.xPt-t.widthPt,o=e.yPt+e.heightPt-t.yPt-t.heightPt;return{xPt:n.xPt-r,yPt:n.yPt-i,widthPt:Math.max(0,n.widthPt+r+a),heightPt:Math.max(0,n.heightPt+i+o)}}function dw(e,t){return{a:t.a,b:t.b,c:t.c,d:t.d,e:e.xPt+e.widthPt/2,f:e.yPt+e.heightPt/2}}function fw(e,t){let n=[Vv(t,e),Vv(t,{xPt:e.xPt+e.widthPt,yPt:e.yPt}),Vv(t,{xPt:e.xPt,yPt:e.yPt+e.heightPt}),Vv(t,{xPt:e.xPt+e.widthPt,yPt:e.yPt+e.heightPt})];if(n.some(e=>e===null))throw Error(`Upright drawing transform must be invertible`);let r=n,i=Math.min(...r.map(e=>e.xPt)),a=Math.min(...r.map(e=>e.yPt));return{xPt:i,yPt:a,widthPt:Math.max(...r.map(e=>e.xPt))-i,heightPt:Math.max(...r.map(e=>e.yPt))-a}}function pw(e,t){return Jd(t,e)}function mw(e,t){let n=e=>{let n=Yd(t,{top:e.topPt,right:e.rightPt,bottom:e.bottomPt,left:e.leftPt});return{topPt:n.top,rightPt:n.right,bottomPt:n.bottom,leftPt:n.left}};return{...e,axes:{horizontal:e.axes.vertical,vertical:e.axes.horizontal},geometry:{...e.geometry,objectFrame:Jd(t,e.geometry.objectFrame),inkBounds:Jd(t,e.geometry.inkBounds),wrapBounds:e.geometry.wrapBounds?Jd(t,e.geometry.wrapBounds):null,size:{horizontal:e.geometry.size.vertical,vertical:e.geometry.size.horizontal},parentEffectExtent:n(e.geometry.parentEffectExtent),wrap:{...e.geometry.wrap,distances:n(e.geometry.wrap.distances),distanceSources:Yd(t,e.geometry.wrap.distanceSources),effectExtent:n(e.geometry.wrap.effectExtent),...e.geometry.wrap.polygon?{polygon:{...e.geometry.wrap.polygon,points:e.geometry.wrap.polygon.points.map(e=>qd(t,e))}}:{}}}}}function hw(e,t){let n=e.geometry.objectFrame;if(n.xPt===t.xPt&&n.yPt===t.yPt&&n.widthPt===t.widthPt&&n.heightPt===t.heightPt)return e;let r=n.widthPt===0?1:t.widthPt/n.widthPt,i=n.heightPt===0?1:t.heightPt/n.heightPt,a=e.geometry.wrap.polygon;return{...e,geometry:{...e.geometry,objectFrame:t,inkBounds:uw(e.geometry.inkBounds,n,t),wrapBounds:e.geometry.wrapBounds?uw(e.geometry.wrapBounds,n,t):null,wrap:{...e.geometry.wrap,polygon:a?{...a,points:a.points.map(e=>({xPt:t.xPt+(e.xPt-n.xPt)*r,yPt:t.yPt+(e.yPt-n.yPt)*i}))}:null}}}}function gw(e,t,n){let r=e.group?.resolvedChildFrame;if(!r)return t;let i=e.extent.widthPt,a=e.extent.heightPt;if(e.extent.widthStatus!==`valid`||e.extent.heightStatus!==`valid`||i===null||a===null||i<=0||a<=0)throw Error(`resolved grouped anchor requires its authored wp:extent`);let o=n===void 0?t:Jd(n.logicalToPhysical,t),s=o.widthPt/i,c=o.heightPt/a,l={xPt:o.xPt+r.offsetXPt*s,yPt:o.yPt+r.offsetYPt*c,widthPt:r.widthPt*s,heightPt:r.heightPt*c};return n===void 0?l:Jd(n.physicalToLogical,l)}function _w(e,t,n=!1){let r=e.axes[t];return r.status!==`resolved`||n||r.referenceFrame===`paragraph`||r.referenceFrame===`line`||r.referenceFrame===`character`?`host`:`page`}function vw(e,t,n,r,i,a,o,s,c,l){let u=-1,d;for(let t=0;t<n.length;t+=1){let r=n[t]?.placements.find(t=>t.kind===`anchor-host`&&t.anchorOccurrenceId===e);if(r?.kind===`anchor-host`){u=t,d=r;break}}if(!d||u<0)return null;let f=[...t].sort((e,t)=>(e.run.anchorAcquisitionInput?.group?.sourceIndex??0)-(t.run.anchorAcquisitionInput?.group?.sourceIndex??0)||e.runIndex-t.runIndex),p=f[0];if(!p?.run.anchorAcquisitionInput)return null;let m=n[u],h=i.anchorFrames,g=p.run.anchorAcquisitionInput.behavior,_=g.layoutInCellStatus===`valid`&&g.layoutInCell===!0&&i.anchorCellBounds!==void 0?i.anchorCellBounds:null,v=qS({acquisition:p.run.anchorAcquisitionInput,frames:{page:h?.page?_?{...h.page,..._}:h.page:null,margin:h?.margin?_?{...h.margin,..._}:h.margin:null,column:h?.column?_?{...h.column,..._}:h.column:null,paragraph:{xPt:i.placement.paragraphXPt,yPt:i.placement.startYPt,widthPt:i.placement.availableWidthPt,heightPt:Math.max(0,a)},line:m.bounds,character:d.bounds,pageParity:h?.pageParity??null}});if(v.status!==`resolved`)return{result:v,textBoxes:[],hostLineIndex:u,hostRange:d.range};let y=i.environment.verticalPageFrame&&h?.page?Wd(h.page,i.environment.pageWritingMode):void 0,b=y===void 0?void 0:Xd(i.environment.pageWritingMode,y),x=y===void 0?v:mw(v,b.physicalToLogical);if(g.behindDocStatus!==`valid`||g.relativeHeightStatus!==`valid`||g.behindDoc===null||g.relativeHeight===null)throw Error(`resolved anchor frame must retain required CT_Anchor behavior`);let S=x.geometry.objectFrame,C=y===void 0?void 0:dw(S,b.physicalToLogical),w=C?{...i.environment,verticalCJK:!1,verticalPageFrame:!1}:i.environment,T=[],E=[],D=[],O=[],k=new Map,A=S;if(p.run.type===`shape`&&p.run.anchorAcquisitionInput.group===null){let t=EC(i.source,p.runIndex),n=C?fw(S,C):S,r=Dw(p.run,n,{id:`${i.id}:anchor-textbox:${e}:${p.runIndex}`,source:t,flowDomainId:i.flowDomainId,context:i.context,measurer:i.measurer,environment:w,input:p.run.textBoxInput,acquireCompleteStory:i.acquireCompleteStory,...C?{coordinateSpace:`upright-physical`}:{}});r&&(k.set(p.runIndex,r),A=C?pw(r.flowBounds,C):r.flowBounds)}let j=hw(x,A);if(g.allowOverlapStatus!==`valid`||g.allowOverlap===null||g.layoutInCellStatus!==`valid`||g.layoutInCell===null)throw Error(`resolved anchor frame must retain overlap and cell behavior`);let M=j.geometry.wrapBounds,N=!g.allowOverlap,ee=g.allowOverlap&&i.ordinaryFlow&&M!==null;if(N||ee){let t=_w(j,`vertical`,g.layoutInCell&&i.anchorCellBounds!==void 0),n=l.filter(e=>!ES(t,g.relativeHeight,e.relativeHeight)),r=(N?[...c,...n].filter(t=>t.occurrenceId!==e).map(e=>({occurrenceId:e.occurrenceId,bounds:e.bounds})):o.filter(t=>t.anchorOccurrenceId!==e).map(e=>({occurrenceId:e.anchorOccurrenceId??e.id,bounds:e.bounds}))).map(e=>({occurrenceId:e.occurrenceId,kind:`drawingml`,paragraphId:0,bounds:e.bounds,exclusionBounds:e.bounds})),a=i.anchorFrames?.page,s=N&&g.layoutInCell&&i.anchorCellBounds?i.anchorCellBounds.xPt+i.anchorCellBounds.widthPt:a?a.xPt+a.widthPt:1/0,u=xp({moving:{occurrenceId:e,kind:`drawingml`,paragraphId:1,bounds:A,exclusionBounds:M??A},blockers:r,avoidance:N?{kind:`drawingml-normative`}:{kind:`word-different-paragraph`,paragraphId:1},rightBoundaryPt:s}).displacement;if(u.xPt!==0||u.yPt!==0){if(A=Q(A,u),C)C={...C,e:C.e+u.xPt,f:C.f+u.yPt};else{let e=k.get(p.runIndex);e&&k.set(p.runIndex,zb(e,u))}j=hw(x,A)}}for(let{run:t,runIndex:n}of f){let r=EC(i.source,n),a=t.anchorAcquisitionInput,o=gw(a,A,b),s=C?fw(o,C):o;if(t.type===`image`)T.push({kind:`resource`,resourceKind:`image`,resourceKey:ou(r,t.imagePath),rect:s});else if(t.type===`chart`)T.push({kind:`resource`,resourceKind:`chart`,resourceKey:OC(r),rect:s});else if(t.type===`unavailableDrawing`)T.push({kind:`noop`}),E.push(AC(t.resourceKind,r));else{let o=a.group?.resolvedChildFrame,c=oS(o?{...t,rotation:o.rotationDeg,flipH:o.flipH,flipV:o.flipV}:t,s,i.environment.layoutServices?.text,t.vmlTextPathInput,t.fill?.fillType===`image`?ou(r,t.fill.imagePath):void 0);T.push(c.command),E.push(...DC(c,r));let l=`${i.id}:anchor-textbox:${e}:${n}`,u=k.get(n)??Dw(t,s,{id:l,source:r,flowDomainId:i.flowDomainId,context:i.context,measurer:i.measurer,environment:w,input:t.textBoxInput,acquireCompleteStory:i.acquireCompleteStory,...C?{coordinateSpace:`upright-physical`}:{}});u&&(D.push(u),O.push(l))}}let te={kind:`drawing`,id:`${i.id}:anchor-drawing:${e}`,source:EC(i.source,p.runIndex),flowDomainId:i.flowDomainId,flowBounds:A,inkBounds:j.geometry.inkBounds,advancePt:0,ordinaryFlow:!1,...C?{orientation:`upright-physical`,transform:C}:{},commands:T,...E.length===0?{}:{diagnostics:Object.freeze(E)},anchorLayer:{occurrenceId:e,behindDoc:g.behindDoc,relativeHeight:g.relativeHeight,sourceOrder:p.runIndex,horizontalOwnership:_w(j,`horizontal`,g.layoutInCell&&i.anchorCellBounds!==void 0),verticalOwnership:_w(j,`vertical`,g.layoutInCell&&i.anchorCellBounds!==void 0),...g.layoutInCell&&xS(g.allowOverlap,j.geometry.wrap.kind)&&i.anchorCellBounds?{cellContainment:!0}:{}},...O.length?{textBoxIds:O}:{}},ne=j.geometry.wrapBounds,re=ne&&j.geometry.wrap.kind!==`none`?{id:`${i.id}:anchor-exclusion:${e}`,wrap:j.geometry.wrap.kind,...j.geometry.wrap.side?{wrapSide:j.geometry.wrap.side}:{},bounds:ne,polygon:j.geometry.wrap.polygon?.points??lw(ne),anchorOccurrenceId:e,verticalOwnership:_w(j,`vertical`,g.layoutInCell&&i.anchorCellBounds!==void 0)}:void 0,P={occurrenceId:e,bounds:A,horizontalOwnership:_w(j,`horizontal`,g.layoutInCell&&i.anchorCellBounds!==void 0),verticalOwnership:_w(j,`vertical`,g.layoutInCell&&i.anchorCellBounds!==void 0),...g.relativeHeight===null?{}:{relativeHeight:g.relativeHeight}};return{result:j,drawing:te,exclusion:re,collision:P,textBoxes:D,...g.layoutInCell&&xS(g.allowOverlap,j.geometry.wrap.kind)&&i.anchorCellBounds?{cellContainmentBounds:A}:{},hostLineIndex:u,hostRange:d.range}}function yw(e,t){let n=t.bidi===!0,r=t.runs.some(e=>e.type===`text`&&!!e.ruby),i=t.runs.some(e=>e.type===`text`&&tf.test(e.text));return{...e,rightIndentGrid:{...e.rightIndentGrid,paragraphAllowsAdjustment:t.adjustRightInd!==!1},physicalIndentLeftPt:n?t.indentRight:t.indentLeft,physicalIndentRightPt:n?t.indentLeft:t.indentRight,firstIndentPt:t.indentFirst,lineSpacing:t.lineSpacing,spaceBeforePt:t.spaceBefore,spaceAfterPt:t.spaceAfter,baseRtl:n,isJustified:dg(t.alignment),stretchLastLine:fg(t.alignment),tabStops:i_(t),hasRuby:r,hasEastAsianText:i}}function bw(e){return e===`vert`||e===`vert270`||e===`eaVert`||e===`mongolianVert`?e:void 0}function xw(e,t,n){let r=Math.max(0,t-n);return e===`b`?r:e===`ctr`?r/2:0}function Sw(e,t,n,r){let i=t===`eaVert`||t===`mongolianVert`,a=e.lines.map(e=>{let a=t===`mongolianVert`?e.placements.reduce((t,n)=>n.kind===`text`&&n.ruby?Math.max(t,e.baselinePt-Math.min(e.baselinePt,...n.ruby.paintOps.map(e=>e.origin.yPt))):t,0):0,o=(t===`mongolianVert`?2*n.yPt+n.heightPt-e.baselinePt+r.bottomPt-r.leftPt+a:e.baselinePt)-e.baselinePt,s=e.bounds.yPt+o,c=e.placements.map(e=>{if(e.kind!==`text`)return`bounds`in e&&e.bounds?{...e,bounds:{...e.bounds,yPt:e.bounds.yPt+o}}:e;let t=i?e.clusters.map(t=>{let n=e.text.slice(t.range.start-e.range.start,t.range.end-e.range.start),r=e.paintOps.find(e=>e.range.start<=t.range.start&&e.range.end>=t.range.end)??e.paintOps[0],i=tf.test(n);return{...r,text:n,range:t.range,offset:i?{xPt:t.offset.xPt+t.advancePt/2,yPt:t.offset.yPt}:t.offset,glyphOrientation:i?`upright`:`sideways`}}):e.paintOps;return Jw({...e,paintOps:t},o)});return{...e,bounds:{...e.bounds,yPt:s},baselinePt:e.baselinePt+o,placements:c}});return{...e,lines:a}}function Cw(e,t){let n=(e,n)=>e.kind===`paragraph`?Sw(e,t===`mongolianVert`?`eaVert`:t,n,{topPt:0,rightPt:0,bottomPt:0,leftPt:0}):Cw(e,t),r={...e,rows:e.rows.map(e=>({...e,cells:e.cells.map(e=>({...e,blocks:e.blocks.map(t=>({...t,layout:n(t.layout,e.contentBounds)}))}))}))},i=new Map,a=e=>{let n=i.get(e);if(n)return n;let r={...e,child:Cw(e.child,t)};return i.set(e,r),r},o=e.floatingTables?.map(a),s=e.resolvedFloatingTables?.map(e=>{let t=a(e.source);return{...e,source:t,child:t.child}});return{...r,...o?{floatingTables:o}:{},...s?{resolvedFloatingTables:s}:{}}}function ww(e,t,n,r){return{...e,blocks:e.blocks.map(e=>{if(e.kind===`paragraph`)return Sw(e,t,n,r);if(e.kind===`table`)return Cw(e,t);throw Error(`Text-box story contains unsupported retained node: ${e.kind}`)})}}function Tw(e,t,n=!0){if(t===0)return e;let r={xPt:0,yPt:t};return{...e,flowBounds:Q(e.flowBounds,r),inkBounds:Q(e.inkBounds,r),...e.clipBounds?{clipBounds:n?Q(e.clipBounds,r):e.clipBounds}:{},blocks:e.blocks.map(e=>{if(e.kind===`paragraph`)return Lb(e,r);if(e.kind===`table`)return Ew(e,r);throw Error(`Text-box story contains unsupported retained node: ${e.kind}`)})}}function Ew(e,t){let n=Hb(e,t),r=new Map,i=e=>{let n=r.get(e);if(n)return n;let i={...e,anchorBounds:Q(e.anchorBounds,t),...e.columnBounds?{columnBounds:Q(e.columnBounds,t)}:{},child:Ew(e.child,t)};return r.set(e,i),i},a=e.floatingTables?.map(i),o=e.resolvedFloatingTables?.map(e=>{let n=i(e.source);return{...e,xPt:e.xPt+t.xPt,yPt:e.yPt+t.yPt,bounds:Q(e.bounds,t),exclusionBounds:Q(e.exclusionBounds,t),source:n,child:n.child}});return{...n,...a?{floatingTables:a}:{},...o?{resolvedFloatingTables:o}:{}}}function Dw(e,t,n){let r=n.source,i=n.input??{kind:`compatibility`,source:{story:`textbox`,storyInstance:`${r.story}:${r.storyInstance}:${r.path.join(`.`)}`,path:[]},paragraphs:cS(e,{story:`textbox`,storyInstance:`${r.story}:${r.storyInstance}:${r.path.join(`.`)}`,path:[]})},a=i.source,o=i.kind===`complete`?i.blockCount:i.paragraphs.length;if(o===0)return;let s=bw(e.textVert),c=s?{xPt:-t.heightPt/2,yPt:-t.widthPt/2,widthPt:t.heightPt,heightPt:t.widthPt}:t,l=i.kind===`compatibility`?i.paragraphs:Object.freeze([]),u={topPt:e.textInsetT??0,rightPt:e.textInsetR??0,bottomPt:e.textInsetB??0,leftPt:e.textInsetL??0},d={xPt:c.xPt+u.leftPt,yPt:c.yPt+u.topPt,widthPt:Math.max(0,c.widthPt-u.leftPt-u.rightPt),heightPt:Math.max(0,c.heightPt-u.topPt-u.bottomPt)},f;if(i.kind===`complete`){if(!n.acquireCompleteStory)throw Error(`Complete text-box content requires the shared story acquisition adapter`);f=n.acquireCompleteStory({source:a,container:{id:`${n.id}:story`,kind:`textbox`,bounds:d,capacity:`unbounded`},coordinateSpace:n.coordinateSpace??`section-logical`})}let p=c.yPt+u.topPt,m=null,h=l.map((t,r)=>{let i=t.runs.map(t=>af({text:t.text,fontSizePt:t.fontSizePt,color:t.color?.slice(1)??null,fontFamily:t.fontFamily??null,fontFamilyEastAsia:t.fontFamilyEastAsia??null,bold:t.bold,italic:t.italic,ruby:t.ruby},e.textVert)),a=Math.max(0,c.widthPt-u.leftPt-u.rightPt-t.indentLeftPt-t.indentRightPt-Math.max(0,t.indentFirstPt)),o=s?t.image?.heightPt??0:t.image?.widthPt??0,l=s?t.image?.widthPt??0:t.image?.heightPt??0,f=o>a&&o>0?a/o:1,h=t.image?[{type:`image`,imagePath:t.image.imagePath,mimeType:t.image.mimeType,...t.image.svgImagePath?{svgImagePath:t.image.svgImagePath}:{},widthPt:o>0?o*f:a,heightPt:l>0?l*f:a,anchor:!1}]:i,g={alignment:t.alignment,indentLeft:t.indentLeftPt,indentRight:t.indentRightPt,indentFirst:t.indentFirstPt,spaceBefore:t.spacing.beforePt,spaceAfter:t.spacing.afterPt,lineSpacing:t.lineSpacing,numbering:t.numbering??null,numberingMarkerShapeInput:t.numberingMarkerShapeInput,tabStops:[...t.tabStops],bidi:t.bidi,contextualSpacing:t.contextualSpacing,styleId:t.styleId,runs:h},_=yw(n.context,g),v=JS(m,t,m?.spacing.afterPt??0,t.spacing.beforePt);p+=v;let y=zw(g,{id:`${n.id}:paragraph:${r}`,source:t.source,flowDomainId:`${n.flowDomainId}:textbox`,ordinaryFlow:!0,context:_,placement:{startYPt:p,paragraphXPt:c.xPt+u.leftPt,availableWidthPt:Math.max(0,c.widthPt-u.leftPt-u.rightPt),maximumYPt:c.yPt+c.heightPt-u.bottomPt,suppressSpaceBefore:!0},measurer:n.measurer,environment:n.environment,exclusions:[]});return p+=y.advancePt-y.spacing.afterPt,m=t,s?Sw(y,s,d,u):y}),g=f?Math.max(0,f.advancePt+u.topPt+u.bottomPt):Math.max(0,p-c.yPt+u.bottomPt),_=e.textAutofit===`sp`&&o>0&&(!s||l.every(e=>e.image===void 0))&&Number.isFinite(g)&&g>0?s?{...t,widthPt:g}:{...t,heightPt:g}:t,v=s?{xPt:-_.heightPt/2,yPt:-_.widthPt/2,widthPt:_.heightPt,heightPt:_.widthPt}:_;if(s&&_.widthPt!==t.widthPt&&s!==`mongolianVert`){let e=v.yPt-c.yPt;h=h.map(t=>Xw(t,e))}let y={xPt:v.xPt+u.leftPt,yPt:v.yPt+u.topPt,widthPt:Math.max(0,v.widthPt-u.leftPt-u.rightPt),heightPt:Math.max(0,v.heightPt-u.topPt-u.bottomPt)},b=Z_(h.map(e=>e.flowBounds))??{xPt:y.xPt,yPt:y.yPt,widthPt:0,heightPt:0},x=Z_(h.map(e=>e.inkBounds))??{xPt:y.xPt,yPt:y.yPt,widthPt:0,heightPt:0},S=f??{story:`textbox`,flowBounds:b,inkBounds:x,clipBounds:y,blocks:h,advancePt:Math.max(0,g-u.topPt-u.bottomPt),diagnostics:[]},C=CS(S);return f&&s&&(S=ww(Tw(S,v.yPt-c.yPt),s,y,u)),S=Tw(S,xw(e.textAnchor,y.heightPt,C),!1),du({kind:`textbox`,id:n.id,source:l[0]?.source??a,flowDomainId:`${n.flowDomainId}:textbox`,flowBounds:_,inkBounds:_,...e.defaultTextColor?{defaultTextColor:`#${e.defaultTextColor.replace(/^#/u,``)}`}:{},...e.textAutofit===`none`?{clipBounds:y}:{},advancePt:0,ordinaryFlow:!1,story:S,transform:s?{a:0,b:s===`vert270`?-1:1,c:s===`vert270`?1:-1,d:0,e:_.xPt+_.widthPt/2,f:_.yPt+_.heightPt/2}:{a:1,b:0,c:0,d:1,e:0,f:0},writingMode:e.textVert===`vert270`?`vertical-lr`:e.textVert?`vertical-rl`:`horizontal-tb`,insets:u,contentBounds:v,...s?{verticalMode:s}:{}})}var Ow=class extends J{reason;states;occurrenceCapacity;constructor(e,t,n){super(`NON_CONVERGENCE`,`parser-owned paragraph anchor reflow did not converge (${e}; ${n} occurrences; ${t.length} states)`),this.name=`ParagraphAnchorReflowNonConvergenceError`,this.reason=e,this.states=Object.freeze([...t]),this.occurrenceCapacity=n}};function kw(e,t){if(t.length===0)return e.placement;if(e.placement.wrap)throw Error(`Conflicting paragraph wrap authorities: placement.wrap and effective exclusions`);let n=e.anchorFrames?.page,r=pg(t.map((e,t)=>({kind:`shape`,mode:e.wrap===`topAndBottom`?`topAndBottom`:`square`,authoredWrap:e.wrap,wrapPolygon:e.polygon,imageKey:e.id,imageX:e.bounds.xPt,imageY:e.bounds.yPt,imageW:e.bounds.widthPt,imageH:e.bounds.heightPt,xLeft:e.bounds.xPt,xRight:e.bounds.xPt+e.bounds.widthPt,yTop:e.bounds.yPt,yBottom:e.bounds.yPt+e.bounds.heightPt,side:e.wrapSide??`bothSides`,distLeft:0,distRight:0,distTop:0,distBottom:0,paraId:t})),{xLeftPt:n?.xPt??e.placement.paragraphXPt,xRightPt:n?n.xPt+n.widthPt:e.placement.paragraphXPt+e.placement.availableWidthPt,readingDirection:e.context.baseRtl?`rtl`:`ltr`});return{...e.placement,wrap:r}}function Aw(e,t){let n=new Map;for(let r of e.exclusions){let e=r.anchorOccurrenceId;if(!(!e||!t.has(e))){if(n.has(e))throw Error(`Paragraph anchor occurrence produced duplicate exclusions: ${e}`);n.set(e,r)}}return Object.freeze([...n.values()])}function jw(e){return ru(`paragraph-effective-wrap-exclusions`,e.map(e=>({id:e.id,...e.anchorOccurrenceId===void 0?{}:{occurrenceId:e.anchorOccurrenceId},wrap:e.wrap,...e.wrapSide===void 0?{}:{wrapSide:e.wrapSide},bounds:e.bounds,polygon:e.polygon,...e.verticalOwnership===void 0?{}:{verticalOwnership:e.verticalOwnership}})))}function Mw(e){let t=new Set;for(let n of e){let e=n.anchorOccurrenceId;if(e){if(t.has(e))throw Error(`Duplicate external paragraph exclusion occurrence: ${e}`);t.add(e)}}return t}function Nw(e,t){let n=Mw(e);return Object.freeze([...e,...t.filter(e=>!e.anchorOccurrenceId||!n.has(e.anchorOccurrenceId))])}function Pw(e,t){let n=new Set;for(let t of e){if(n.has(t.occurrenceId))throw Error(`Duplicate external anchor collision occurrence: ${t.occurrenceId}`);n.add(t.occurrenceId)}return Object.freeze([...e,...t.filter(e=>!n.has(e.occurrenceId))])}function Fw(e,t,n,r){let i=n.environment.layoutServices,a=n.environment.verticalGlyphMeasurement,o=n.anchorFrames,s=t.runs.some(cw),c=t.runs.some(e=>e.type===`shape`&&e.textBoxInput?.kind===`complete`),{wrap:l,...u}=n.placement,d=n.context,f=n.environment;return`paragraph-acquisition-v1:${JSON.stringify([n.id,[n.source.story,n.source.storyInstance,n.source.path],n.flowDomainId,n.ordinaryFlow,[u.startYPt,u.paragraphXPt,u.availableWidthPt,u.maximumYPt,u.suppressSpaceBefore,l?e.objectIdentity(l):null],[d.lineGrid.active,d.lineGrid.pitchPt,d.characterGrid.active,d.characterGrid.kind,d.characterGrid.deltaPt,d.rightIndentGrid.pitchPt,d.rightIndentGrid.paragraphAllowsAdjustment,d.physicalIndentLeftPt,d.physicalIndentRightPt,d.firstIndentPt,d.lineSpacing?[d.lineSpacing.value,d.lineSpacing.rule,d.lineSpacing.explicit??null]:null,d.spaceBeforePt,d.spaceAfterPt,d.baseRtl,d.isJustified,d.stretchLastLine,d.tabStops.map(e=>[e.pos,e.alignment,e.leader]),d.hasRuby,d.hasEastAsianText,[d.kinsoku.enabled,[...d.kinsoku.lineStartForbidden].sort((e,t)=>e-t),[...d.kinsoku.lineEndForbidden].sort((e,t)=>e-t)],d.defaultTabPt,d.overflowPunct!==!1,d.numberingMarkerGeometry?JSON.stringify(d.numberingMarkerGeometry):null,d.mathDefJc??null],[e.objectIdentity(n.measurer.context),e.objectIdentity(n.measurer.fontFamilyClasses)],[f.pageIndex,f.totalPages,f.displayPageNumber??null,f.pageNumberFormat??null,f.currentDateMs??null,f.noteNumbers?[...f.noteNumbers.entries()].sort(([e],[t])=>e.localeCompare(t)):null,f.noteReferenceNumber??null,f.pageWritingMode,f.verticalCJK??null,f.verticalPageFrame??null,f.documentHasEastAsianText,f.useFeLayout??null,f.balanceSingleByteDoubleByteWidth??null,f.characterSpacingControl??null,f.resolvedLocalFonts?e.objectIdentity(f.resolvedLocalFonts):null,i?.text.fingerprint??null,i?.images.fingerprint??null,i?.math.fingerprint??null,i?.verticalGlyphFingerprint??null,a?.fingerprint??null],JSON.stringify(n.exclusions),s?JSON.stringify(n.anchorCollisions??[]):null,r?JSON.stringify(r):null,n.paragraphBorderEdges?[n.paragraphBorderEdges.top,n.paragraphBorderEdges.bottom]:null,n.trailingExtentPt??null,n.containerShading??null,n.continuesFromPrevious??null,n.sourceRangeStart??null,o?[o.page?[o.page.xPt,o.page.yPt,o.page.widthPt,o.page.heightPt]:null,o.margin?[o.margin.xPt,o.margin.yPt,o.margin.widthPt,o.margin.heightPt]:null,o.column?[o.column.xPt,o.column.yPt,o.column.widthPt,o.column.heightPt]:null,o.pageParity]:null,s?JSON.stringify(n.anchorCellBounds??null):null,c&&n.acquireCompleteStory?e.objectIdentity(n.acquireCompleteStory):null])}`}function Iw(e){let t=e.src?Object.freeze({...e.src}):void 0;return`text`in e?Object.freeze({...e,...t?{src:t}:{},...e.shapedClusters?{shapedClusters:Object.freeze(e.shapedClusters.map(e=>Object.freeze({...e,range:Object.freeze({...e.range})})))}:{},...e.selectedFaceInkBounds?{selectedFaceInkBounds:Object.freeze({...e.selectedFaceInkBounds})}:{},...e.selectedFaceFontBox?{selectedFaceFontBox:Object.freeze({...e.selectedFaceFontBox})}:{},...e.ruby?{ruby:Object.freeze({...e.ruby})}:{},...e.border?{border:Object.freeze({...e.border})}:{},...e.revision?{revision:Object.freeze({...e.revision})}:{},...e.hyperlink?{hyperlink:Object.freeze({...e.hyperlink})}:{},...e.seaBreaks?{seaBreaks:Object.freeze([...e.seaBreaks])}:{}}):`imagePath`in e?Object.freeze({...e,...t?{src:t}:{},...e.srcRect?{srcRect:Object.freeze({...e.srcRect})}:{},...e.duotone?{duotone:Object.freeze({...e.duotone})}:{}}):`isTab`in e?Object.freeze({...e,...t?{src:t}:{},...e.ptab?{ptab:Object.freeze({...e.ptab})}:{}}):Object.freeze({...e,...t?{src:t}:{}})}function Lw(e){return Object.freeze({...e,layout:Object.freeze({...e.layout,segments:Object.freeze(e.layout.segments.map(Iw)),...e.layout.consumedEnd?{consumedEnd:Object.freeze({...e.layout.consumedEnd})}:{}})})}function Rw(e,t,n){let r=t.environment.layoutServices?td(t.environment.layoutServices):void 0,i=r?Fw(r,e,t,n):void 0,a=i===void 0?void 0:r.get(e,i);if(a)return a;let o=Mw(t.exclusions),s=new Set(e.runs.flatMap(e=>cw(e)?[e.anchorAcquisitionInput.occurrenceId]:[]));for(let e of o)s.delete(e);let c=s.size,l=Object.freeze([]),u=Nw(t.exclusions,l);try{let a=sm({seedState:jw(u),step:r=>{let i=Nw(t.exclusions,r?.ownedExclusions??l),a=_g(e,t.context,kw(t,i),t.measurer,{...t.environment,paragraphMarkShapeInput:e.paragraphMarkShapeInput},n),o=Ww(e,t,a),c=Aw(o,s),u=jw(Nw(t.exclusions,c));if(jw(o.exclusions)!==u)throw Error(`Paragraph retained exclusions differ from the measured exclusion authority`);return Object.freeze({measured:a,layout:o,ownedExclusions:c,state:u})},stateOf:e=>e.state,limit:16}).value,o=Object.freeze({...a.measured,lines:Object.freeze(a.measured.lines.map(Lw)),placement:Object.freeze({...a.measured.placement})}),c=Object.freeze({measured:o,layout:a.layout});return i!==void 0&&r.set(e,i,c),c}catch(e){throw e instanceof om?new Ow(e.reason,e.states,c):e}}function zw(e,t){return Rw(e,t).layout}function Bw(e){let t=0;for(let n of e.members)for(let e of n.fragment.lines)for(let n of e.placements)n.kind===`text`&&(t=Math.max(t,-(n.positionPt??0)));return t}const Vw=new WeakMap;function Hw(e){return e===void 0?null:e instanceof Date?{date:e.toISOString()}:e instanceof Set?{set:[...e].map(Hw).sort((e,t)=>JSON.stringify(e).localeCompare(JSON.stringify(t)))}:e instanceof Map?{map:[...e.entries()].map(([e,t])=>[Hw(e),Hw(t)]).sort((e,t)=>JSON.stringify(e[0]).localeCompare(JSON.stringify(t[0])))}:Array.isArray(e)?e.map(Hw):e&&typeof e==`object`?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Hw(t)])):e}function Uw(e,t){if(t.contexts.length!==e.members.length||t.inputs.length!==e.members.length||t.borderEdges.length!==e.members.length||t.borderExtentsPt.length!==e.members.length)throw Error(`Frame acquisition metadata must align with every group member`);if(!Number.isFinite(t.maximumWidthPt)||t.maximumWidthPt<0)throw RangeError(`Frame maximumWidthPt must be finite and non-negative`);let n=Vw.get(t.acquisitionSession);n||(n=new Map,Vw.set(t.acquisitionSession,n));let r=ru(`w:frame-acquisition`,[e.id,t.placementSignature,t.maximumWidthPt,t.environment.pageIndex,t.environment.totalPages,t.environment.displayPageNumber??null,t.environment.pageNumberFormat??null,t.environment.currentDateMs??null,t.environment.documentHasEastAsianText,t.environment.layoutServices?.text.fingerprint??null,t.environment.layoutServices?.images.fingerprint??null,t.environment.layoutServices?.math.fingerprint??null,t.environment.layoutServices?.verticalGlyphFingerprint??null,Hw(t.contexts),Hw(t.inputs),Hw(t.borderEdges),Hw(t.borderExtentsPt),t.containerShading??null,Hw(t.anchorFrames)]),i=n.get(r);if(i)return i;let a=e.framePr,o=a.w==null?Math.max(0,...e.members.map((e,n)=>Rg(e,t.contexts[n],t.maximumWidthPt,t.measurer,t.environment,zC(t.inputs[n],t.contexts[n],t)))):Math.max(0,a.w),s=Math.max(1,o),c=(()=>{let n=aC(`body-frame:${e.id}`),r=0,i=null,a=0,o=0,c=[];return e.members.forEach((l,u)=>{let d=t.contexts[u],f=Math.max(JS(i,l,a,d.spaceBeforePt),o),p={startYPt:r+f,paragraphXPt:0,availableWidthPt:s,maximumYPt:1/0,suppressSpaceBefore:!0},m=t.borderExtentsPt[u]??0,h={story:`body`,storyInstance:`body`,path:[e.sourceIndices[u]]},{measured:g,layout:_}=Rw(t.inputs[u],{id:`body-frame:${e.id}:${u}`,source:h,flowDomainId:`body-frame:${e.id}`,ordinaryFlow:!1,context:d,placement:p,measurer:t.measurer,environment:{...t.environment,positionExtendsLineBox:gx(e.framePr.dropCap)},exclusions:n.exclusions,anchorCollisions:n.collisions,containerShading:t.containerShading,paragraphBorderEdges:t.borderEdges[u],trailingExtentPt:Math.max(d.spaceAfterPt,m),anchorFrames:t.anchorFrames});n=cC(n,_),c.push({paragraph:l,fragment:_,source:h}),r=g.contentEndYPt,i=l,a=g.requestedSpaceAfterPt,o=m}),{heightPt:Math.max(0,r+Math.max(a,o)),members:c}})(),l=t.place(o,c.heightPt),u=Object.freeze(c.members.map(e=>{let t=Lb(e.fragment,{xPt:l.bounds.xPt,yPt:l.bounds.yPt}),n=TC(a.hRule===`exact`&&a.h!=null?{...t,clipBounds:l.bounds}:t),r=Object.freeze({...n,advancePt:0});return Object.freeze({...e,fragment:r})})),d=Object.freeze({box:Object.freeze({bounds:l.bounds,exclusionBounds:l.exclusionBounds,exclusionId:`frame:${e.id}`}),members:u});return n.set(r,d),d}function Ww(e,t,n){let r=t.continuesFromPrevious?{...t.context,firstIndentPt:0}:t.context,i=t.placement.paragraphXPt+r.physicalIndentLeftPt,a=a_(r,t.placement.availableWidthPt),o=t.placement.availableWidthPt-r.physicalIndentLeftPt-r.physicalIndentRightPt-a,s=ZC(e,n),c=t.continuesFromPrevious?void 0:zC(e,r,t),l=$C(n,e,i,o,t.source,t.id,r,s,c,t.environment.layoutServices?.text,t.environment.verticalGlyphMeasurement,t.environment.verticalPageFrame);t.sourceRangeStart!==void 0&&(l=nw(l,t.sourceRangeStart)),l=ew(l,t.placement.paragraphXPt,t.placement.availableWidthPt,r.baseRtl,r.tabStops),c&&n.markOnly&&l.length===0&&(c.markerText!==``||e.numbering?.picBulletImagePath)&&(l=[rw(n,e,i,o,r)]);let u=[],d=[],f=[],p=[],m=[],h=[],g=[],_=e.runs.map((e,t)=>e.type===`break`?{kind:`break`,breakKind:e.breakType,offset:s.runStarts[t]??0}:void 0).filter(e=>e!==void 0),v=new Map;e.runs.forEach((e,t)=>{if(!cw(e))return;let n=v.get(e.anchorAcquisitionInput.occurrenceId)??[];n.push({run:e,runIndex:t}),v.set(e.anchorAcquisitionInput.occurrenceId,n)});for(let[r,i]of v){let a=vw(r,i,l,e,t,n.contentEndYPt-t.placement.startYPt,t.exclusions,m,t.anchorCollisions??[],h);a&&(p.push(a.result),a.cellContainmentBounds&&g.push(a.cellContainmentBounds),a.drawing&&(d.push(a.drawing),f.push(...a.textBoxes),a.exclusion&&m.push(a.exclusion),a.collision&&h.push(a.collision),l[a.hostLineIndex]&&(l=l.map((e,t)=>t===a.hostLineIndex?{...e,placements:[...e.placements,{kind:`drawing`,range:a.hostRange,drawingId:a.drawing.id,bounds:a.drawing.inkBounds,advancePt:0}]}:e))))}if(c&&l[0]){let n=VC(c,e,t.context,i,o,l[0]);n.length>0&&(l=[{...l[0],placements:[...n,...l[0].placements]},...l.slice(1)])}if(e.runs.forEach((e,n)=>{let r=EC(t.source,n);if(e.type===`unavailableDrawing`&&e.anchorAcquisitionInput===void 0){let i=kC(t.source,n),a=l.flatMap(e=>e.placements).find(e=>e.kind===`drawing`&&e.drawingId===i);a?.kind===`drawing`&&d.push({kind:`drawing`,id:i,source:r,flowDomainId:t.flowDomainId,flowBounds:a.bounds,inkBounds:a.bounds,advancePt:0,ordinaryFlow:!1,commands:Object.freeze([{kind:`noop`}]),diagnostics:Object.freeze([AC(e.resourceKind,r)])})}if(e.type===`image`&&u.push({kind:`image`,resourceKey:ou(r,e.imagePath),intrinsicSize:{widthPt:e.widthPt,heightPt:e.heightPt}}),e.type===`chart`&&u.push({kind:`chart`,resourceKey:OC(r),intrinsicSize:{widthPt:e.widthPt,heightPt:e.heightPt}}),e.type===`math`&&u.push({kind:`math`,resourceKey:e.resourceKey??ru(`math-resource`,r),intrinsicSize:{widthPt:l.flatMap(e=>e.placements).find(e=>e.kind===`resource`&&e.resourceKind===`math`)?.bounds?.widthPt??0,heightPt:e.fontSize}}),(e.type===`image`||e.type===`chart`)&&!t.continuesFromPrevious){let r=sw(e,t,n);if(r){d.push(r);let e=l[0];e&&(l=[{...e,placements:[...e.placements,{kind:`drawing`,range:{start:s.runStarts[n]??0,end:(s.runStarts[n]??0)+(s.runLengths[n]??1)},drawingId:r.id,bounds:r.inkBounds,advancePt:0}]},...l.slice(1)])}}if(e.type===`shape`&&!e.anchorAcquisitionInput&&!t.continuesFromPrevious){let i=`${t.id}:drawing:${n}`,a=e.inline===!0?l.flatMap(e=>e.placements).find(e=>e.kind===`drawing`&&e.drawingId===i):void 0;if(e.inline===!0&&!a)throw Error(`Inline shape ${i} has no retained line placement`);let o=a?.bounds??aw(e,t),c=`${t.id}:textbox:${n}`,u=Dw(e,o,{id:c,source:r,flowDomainId:t.flowDomainId,context:t.context,measurer:t.measurer,environment:t.environment,input:e.textBoxInput,acquireCompleteStory:t.acquireCompleteStory}),p=ow(e,e.inline===!0?o:u?.flowBounds??o,t,n,e.inline===!0);u&&(f.push(u),p={...p,textBoxIds:[c]}),d.push(p);let m=e.inline===!0?void 0:l[0];m&&(l=[{...m,placements:[...m.placements,{kind:`drawing`,range:{start:s.runStarts[n]??0,end:(s.runStarts[n]??0)+(s.runLengths[n]??1)},drawingId:p.id,bounds:p.inkBounds,advancePt:0}]},...l.slice(1)])}}),e.numbering?.picBulletImagePath&&!t.continuesFromPrevious&&u.push({kind:`picture-bullet`,resourceKey:ou(t.source,e.numbering.picBulletImagePath),intrinsicSize:{widthPt:e.numbering.picBulletWidthPt??e.numberingMarkerShapeInput?.fontSizePt??0,heightPt:e.numbering.picBulletHeightPt??e.numberingMarkerShapeInput?.fontSizePt??0}}),e.numbering?.picBulletImagePath&&l[0]&&!t.continuesFromPrevious){if(!c)throw Error(`Picture-bullet acquisition requires resolved marker font geometry`);let n=e.numbering.picBulletWidthPt??c.markerWidthPt,r=e.numbering.picBulletHeightPt??e.numberingMarkerShapeInput?.fontSizePt;if(r===void 0)throw Error(`Picture-bullet acquisition requires resolved marker height`);let a=yg({baseRtl:t.context.baseRtl,alignedLeadingEdgePt:BC(c,t.context,i,o,l[0]),authoredFirstIndentPt:e.indentFirst,markerShiftPt:c.markerShiftPt,markerWidthPt:n});l=[{...l[0],placements:[{kind:`resource`,resourceKind:`picture-bullet`,range:{start:-1,end:0},resourceKey:ou(t.source,e.numbering.picBulletImagePath),bounds:{xPt:a,yPt:l[0].baselinePt-r,widthPt:n,heightPt:r},advancePt:0},...l[0].placements]},...l.slice(1)]}l=UC(l,e.shading,t.containerShading);let y=n.contentEndYPt-n.contentStartYPt,b=t.paragraphBorderEdges??{top:`top`,bottom:`bottom`},x=GC(e,l,i,o,n.contentStartYPt,y,b),S=e.borders?[...b.top===`none`?[]:[[b.top,e.borders[b.top]]],[`right`,e.borders.right],...b.bottom===`none`?[]:[[`bottom`,e.borders.bottom]],[`left`,e.borders.left]]:[],C=e.borders?S.flatMap(([e,t])=>{if(!WC(t))return[];let n=e===`top`||e===`between`||e===`bottom`,r=e===`right`||e===`bottom`,i=n?x.yPt+(r?x.heightPt:0):x.xPt+(r?x.widthPt:0);return[{edge:e,from:n?{xPt:x.xPt,yPt:i}:{xPt:i,yPt:x.yPt},to:n?{xPt:x.xPt+x.widthPt,yPt:i}:{xPt:i,yPt:x.yPt+x.heightPt},color:t.color?`#${t.color}`:`#000000`,widthPt:t.width,...$d(t.style,t.width)}]}):[],w=t.trailingExtentPt??n.requestedSpaceAfterPt,T=Z_(g);return TC({kind:`paragraph`,id:t.id,source:t.source,...e.paragraphId===void 0?{}:{paragraphId:e.paragraphId},flowDomainId:t.flowDomainId,ordinaryFlow:t.ordinaryFlow,...e.styleId===void 0?{}:{styleId:e.styleId},...!t.continuesFromPrevious&&e.bookmarks?.length?{bookmarkStarts:e.bookmarks}:{},flowBounds:{xPt:t.placement.paragraphXPt,yPt:t.placement.startYPt,widthPt:t.placement.availableWidthPt,heightPt:n.contentEndYPt-t.placement.startYPt+w},inkBounds:{...e.shading||e.borders?x:{xPt:i,yPt:n.contentStartYPt,widthPt:Math.max(0,...l.map(e=>e.bounds.widthPt)),heightPt:y}},spacing:{beforePt:t.placement.suppressSpaceBefore?0:n.requestedSpaceBeforePt,afterPt:w},contextualSpacing:e.contextualSpacing??!1,lines:l,borders:C,shading:e.shading?{color:`#${e.shading}`}:void 0,resources:u,drawings:d,textBoxes:f,events:_,exclusions:Nw(t.exclusions,m),...T?{cellContainmentBounds:T}:{},anchorCollisions:Pw(t.anchorCollisions??[],h),...p.length?{anchorFrames:p}:{},paragraphMark:n.markOnly?{hidden:e.markVanish===!0,bounds:{xPt:i,yPt:n.contentStartYPt,widthPt:0,heightPt:y}}:void 0})}const Gw=(e,t)=>Db(e,{xPt:0,yPt:t}),Kw=(e,t)=>Q(e,{xPt:0,yPt:t}),qw=(e,t)=>jb(e,{xPt:0,yPt:t}),Jw=(e,t)=>Nb(e,{xPt:0,yPt:t}),Yw=(e,t)=>Pb(e,{xPt:0,yPt:t}),Xw=(e,t)=>Lb(e,{xPt:0,yPt:t}),Zw=(e,t)=>zb(e,{xPt:0,yPt:t});function Qw(e,t,n,r){if(!e.shading&&e.borders.length===0)return null;let i=t[0],a=t.at(-1);if(!i||!a)return{box:Kw(e.inkBounds,n),borders:[]};let o=e.inkBounds.yPt,s=o+e.inkBounds.heightPt,c=r.continuesFromPrevious?Math.max(o,i.bounds.yPt):o,l=r.continuesOnNext?Math.min(s,a.bounds.yPt+a.advancePt):s,u={xPt:e.inkBounds.xPt,yPt:c+n,widthPt:e.inkBounds.widthPt,heightPt:Math.max(0,l-c)},d=u.xPt,f=d+u.widthPt,p=u.yPt,m=p+u.heightPt;return{box:u,borders:e.borders.flatMap(e=>(e.edge===`top`||e.edge===`between`)&&r.continuesFromPrevious||e.edge===`bottom`&&r.continuesOnNext?[]:e.edge===`top`||e.edge===`between`?[{...e,from:{xPt:d,yPt:p},to:{xPt:f,yPt:p}}]:e.edge===`bottom`?[{...e,from:{xPt:d,yPt:m},to:{xPt:f,yPt:m}}]:e.edge===`left`?[{...e,from:{xPt:d,yPt:p},to:{xPt:d,yPt:m}}]:e.edge===`right`?[{...e,from:{xPt:f,yPt:p},to:{xPt:f,yPt:m}}]:[{...e,from:Gw(e.from,n),to:Gw(e.to,n)}])}}function $w(e,t,n=`${e.id}:${t.lineStart}-${t.lineEnd}`){let r=e.lines.slice(t.lineStart,t.lineEnd),i=r[0],a=r.at(-1),o=t.continuesFromPrevious&&i?e.flowBounds.yPt-i.bounds.yPt:0,s=o===0?r:r.map(e=>Yw(e,o)),c=s[0],l=s.at(-1),u=e.lines.map((e,n)=>n>=t.lineStart&&n<t.lineEnd?s[n-t.lineStart]:e),d=c&&l?{xPt:Math.min(...s.map(e=>e.bounds.xPt)),yPt:c.bounds.yPt,widthPt:Math.max(...s.map(e=>e.bounds.xPt+e.bounds.widthPt))-Math.min(...s.map(e=>e.bounds.xPt)),heightPt:l.bounds.yPt+l.bounds.heightPt-c.bounds.yPt}:e.inkBounds,f=Qw(e,r,o,t),p=new Set(r.flatMap(e=>e.placements.flatMap(e=>e.kind===`drawing`?[e.drawingId]:[]))),m=e.drawings.filter(e=>p.has(e.id)).map(e=>e.anchorLayer?.verticalOwnership===`page`?e:qw(e,o)),h=Z_(m.filter(e=>e.anchorLayer?.cellContainment===!0).map(e=>e.flowBounds)),g=new Set(e.drawings.flatMap(e=>{if(e.anchorLayer?.verticalOwnership!==`host`)return[];let t=e.anchorLayer.acquisitionOccurrenceId??e.anchorLayer.occurrenceId;return t===void 0?[]:[t]})),_=new Set(m.flatMap(e=>{if(e.anchorLayer?.verticalOwnership!==`host`)return[];let t=e.anchorLayer.acquisitionOccurrenceId??e.anchorLayer.occurrenceId;return t===void 0?[]:[t]})),v=new Set(r.flatMap(e=>e.placements.flatMap(e=>e.kind===`resource`?[e.resourceKey]:[])));for(let e of m)for(let t of e.commands)t.kind===`resource`&&v.add(t.resourceKey);let y=new Set(m.flatMap(e=>[e.id.replace(`:drawing:`,`:textbox:`),...e.textBoxIds??[]])),b=new Set(m.filter(e=>e.anchorLayer?.verticalOwnership===`page`||e.orientation===`upright-physical`).flatMap(e=>e.textBoxIds??[])),x=new Set(m.map(e=>ru(`source-occurrence`,e.source))),S=i?.range.start,C=a?.range.end,{bookmarkStarts:w,...T}=e;return TC({...T,kind:`paragraph`,id:n,...!t.continuesFromPrevious&&w?.length?{bookmarkStarts:w}:{},lines:u,flowBounds:{...e.flowBounds,yPt:e.flowBounds.yPt},...e.clipBounds?{clipBounds:Kw(e.clipBounds,o)}:{},spacing:{beforePt:t.continuesFromPrevious?0:e.spacing.beforePt,afterPt:t.continuesOnNext?0:e.spacing.afterPt},inkBounds:f?.box??d,borders:f?.borders??e.borders.map(e=>({...e,from:Gw(e.from,o),to:Gw(e.to,o)})),resources:e.resources.filter(e=>v.has(e.resourceKey)),drawings:m,cellContainmentBounds:h??void 0,textBoxes:e.textBoxes.filter(e=>y.has(e.id)||x.has(ru(`source-occurrence`,e.source))).map(e=>b.has(e.id)?e:Zw(e,o)),events:S===void 0||C===void 0?[]:e.events.filter(e=>e.offset>=S&&(e.offset<C||!t.continuesOnNext&&e.offset===C)),exclusions:e.exclusions.filter(e=>e.verticalOwnership===`page`||e.anchorOccurrenceId===void 0||!g.has(e.anchorOccurrenceId)||_.has(e.anchorOccurrenceId)).map(e=>({...e,bounds:e.verticalOwnership===`page`?e.bounds:Kw(e.bounds,o),polygon:e.verticalOwnership===`page`?e.polygon:e.polygon.map(e=>Gw(e,o))})),anchorCollisions:(e.anchorCollisions??[]).filter(e=>e.verticalOwnership===`page`||!g.has(e.occurrenceId)||_.has(e.occurrenceId)).map(e=>({...e,bounds:e.verticalOwnership===`page`?e.bounds:Kw(e.bounds,o)})),...t.continuesOnNext?{paragraphMark:void 0}:e.paragraphMark?{paragraphMark:{...e.paragraphMark,bounds:Kw(e.paragraphMark.bounds,o)}}:{},continuation:t})}function eT(e,t){return e.segIndex-t.segIndex||e.charOffset-t.charOffset}function tT(e,t,n,r,i,a,o,s,c,l){if(![r,i].every(e=>Number.isFinite(e)&&e>=0))throw RangeError(`Paragraph fragment extents must be finite and non-negative`);if(n.kind===`splittable`&&n.lineEndBoundaries.length!==e.lines.length)throw RangeError(`Splittable paragraph source boundaries must align with retained lines`);if(n.kind===`indivisible`&&t.boundary!==null)throw RangeError(`Indivisible paragraph cannot carry a continuation boundary`);let u=o.authoredSpaceAfterPt??0;if(!Number.isFinite(u)||u<0)throw RangeError(`Authored paragraph spaceAfter must be finite and non-negative`);let d=e.lines.length,f=n=>$w(e,{lineStart:0,lineEnd:n,continuesFromPrevious:t.boundary!==null,continuesOnNext:n<d}),p=e=>{let t=s?.(e)??0;if(!Number.isFinite(t)||t<0)throw RangeError(`Paragraph page-local reserve must be finite and non-negative`);return t},m=e=>l?.(e)??!0,h=(e,t)=>{if(!t)return e.advancePt;let n=_x({advancePt:e.advancePt,retainedSpaceAfterPt:e.spacing.afterPt,authoredSpaceAfterPt:u});return bx({paragraph:e,writingMode:o.writingMode??`horizontal-tb`,logicalLineBoxExtentPt:n,availableBlockExtentPt:r})};if(n.kind===`indivisible`){let n=p(e),o=h(e,!0);return a&&(o+n>r||!m(n))&&o+n<=i?{fragment:null,nextCursor:t,requiresFreshFlowRegion:!0,additionalReservePt:0,admittedBlockExtentPt:0}:{fragment:e,nextCursor:null,requiresFreshFlowRegion:!1,additionalReservePt:n,admittedBlockExtentPt:Math.min(e.advancePt,r)}}if(d===0){let n=p(e),o=h(e,!0);return a&&(o+n>r||!m(n))&&o+n<=i?{fragment:null,nextCursor:t,requiresFreshFlowRegion:!0,additionalReservePt:0,admittedBlockExtentPt:0}:{fragment:e,nextCursor:null,requiresFreshFlowRegion:!1,additionalReservePt:n,admittedBlockExtentPt:Math.min(e.advancePt,r)}}let g=p(e),_=h(e,!0);if(t.boundary===null&&o.keepLines&&a&&(_+g>r||!m(g))&&_+g<=i)return{fragment:null,nextCursor:t,requiresFreshFlowRegion:!0,additionalReservePt:0,admittedBlockExtentPt:0};let v=px(0,d,r,e=>(()=>{let t=f(e),n=p(t);return m(n)?h(t,e===d)+n:r+1})()).end;if(v===0){if(a)return{fragment:null,nextCursor:t,requiresFreshFlowRegion:!0,additionalReservePt:0,admittedBlockExtentPt:0};v=1}for(;;){let e=mx({widowControl:o.widowControl,start:0,end:v,totalLines:d,canRelocate:a});if(e.kind===`relocate`)return{fragment:null,nextCursor:t,requiresFreshFlowRegion:!0,additionalReservePt:0,admittedBlockExtentPt:0};if(e.kind!==`dropLastLine`)break;--v}let y=f(v),b=v<d?n.lineEndBoundaries[v-1]:null;if(b!==null&&t.boundary!==null&&eT(b,t.boundary)<=0)throw Error(`Paragraph continuation source boundary did not advance`);return{fragment:y,nextCursor:b===null?null:Object.freeze({boundary:b,sourceRangeStart:y.lines.at(-1).range.end,...c===void 0?{}:{uniformRubyAdvancePt:c}}),requiresFreshFlowRegion:!1,additionalReservePt:p(y),admittedBlockExtentPt:Math.min(y.advancePt,r)}}function nT(e,t){let n=new Map;if(!e)return n;let r=new Set(e.map(e=>e.id));return t.forEach(e=>{r.has(e)&&!n.has(e)&&n.set(e,n.size+1)}),n}function rT(e){let t=new Map;if(!e)return t;for(let n of e)t.set(n.id,n);return t}function iT(e,t){let n=[],r=new Set;for(let i of e)if(i.type===`paragraph`&&`runs`in i)for(let e of i.runs)e.type!==`text`||e.noteRef?.kind!==t||e.noteRef.id.length===0||r.has(e.noteRef.id)||(r.add(e.noteRef.id),n.push(e.noteRef.id));else if(i.type===`table`&&`rows`in i)for(let e of i.rows)for(let i of e.cells)for(let e of iT(i.content,t))r.has(e)||(r.add(e),n.push(e));return Object.freeze(n)}function aT(e,t){return Object.freeze([...new Set(e.flatMap(e=>e.placements.flatMap(e=>e.kind===`text`&&e.noteReference?.kind===t?[e.noteReference.id]:[])))])}function oT(e,t){return e.rows.flatMap(e=>e.cells.flatMap(e=>e.blocks.flatMap(e=>sT(e.layout,t))))}function sT(e,t){let n=e.kind===`paragraph`?aT(e.lines,t):oT(e,t);return Object.freeze([...new Set(n)])}function cT(e){return aT(e,`footnote`)}function lT(e){return sT(e,`footnote`)}function uT(e){return sT(e,`endnote`)}function dT(e){if(!Number.isInteger(e.columnCount)||e.columnCount<=0)throw RangeError(`Column count must be a positive integer`);for(let t of e.fragments)if(!Number.isFinite(t.extentPt)||t.extentPt<0)throw RangeError(`Column balance fragment extents must be finite and non-negative`);if(e.fragments.length===0)return Object.freeze({targetPt:0,cutIndexes:Object.freeze([]),transitionExpansions:0});let t=[0],n=[0],r=[];e.fragments.forEach((i,a)=>{t.push(t[a]+i.extentPt);let o=a+1;(i.breakAfter!==`forbidden`||o===e.fragments.length)&&n.push(o),i.breakAfter===`forced`&&o<e.fragments.length&&r.push(o)});let i=Math.min(e.columnCount,n.length-1),a=Array.from({length:i+1},()=>Array(n.length).fill(1/0)),o=Array.from({length:i+1},()=>Array(n.length).fill(-1));a[0][0]=0;let s=0;for(let e=1;e<=i;e+=1){let i=a[e-1],c=a[e],l=i.flatMap((e,t)=>Number.isFinite(e)?[t]:[]),u=0,d=0,f=0,p=0;for(let a=1;a<n.length;a+=1){let m=n[a];for(;d<r.length&&r[d]<m;)f=r[d],d+=1;for(;n[p]<f;)p+=1;for(;u<l.length&&l[u]<p;)u+=1;let h=l[u];if(h===void 0||h>=a)continue;let g=e=>{s+=1;let r=n[e];return Math.max(i[e],t[m]-t[r])},_=h,v=g(_);for(;u+1<l.length;){let e=l[u+1];if(e>=a)break;let t=g(e);if(t>v)break;u+=1,_=e,v=t}c[a]=v,o[e][a]=_}}let c=n.length-1,l=-1,u=1/0;for(let e=1;e<=i;e+=1){let t=a[e][c];t<=u&&(u=t,l=e)}if(l<0||!Number.isFinite(u))throw Error(`Authored column breaks exceed the available column frontier`);let d=[],f=c;for(let e=l;e>0;--e)if(d.push(n[f]),f=o[e][f],f<0)throw Error(`Column balance frontier omitted a predecessor`);return d.reverse(),Object.freeze({targetPt:u,cutIndexes:Object.freeze(d),transitionExpansions:s})}function fT(e){let t=new Map;return e.sequence.forEach((e,n)=>{if(e.kind===`body-block`){let r=e.block;t.set(iu(r.source),Object.freeze({sequenceIndex:n,keepLines:r.kind===`paragraph`&&r.keepLines,keepNext:r.kind===`paragraph`&&r.keepNext,widowControl:r.kind===`paragraph`&&r.widowControl}));return}e.kind===`adjacent-table-group`&&e.tables.forEach(e=>t.set(iu(e.source),Object.freeze({sequenceIndex:n,keepLines:!1,keepNext:!1,widowControl:!1})))}),t}function pT(e,t,n){let r=t-e;if(n.length<=1)return Object.freeze([r]);let i=[],a=e;for(let e of n){if(!Number.isFinite(e)||e<a||e>t)return Object.freeze([r]);i.push(e-a),a=e}return i[i.length-1]=i.at(-1)+t-a,Object.freeze(i)}function mT(e,t,n,r){let i=new Set(r.flowDomainIds),a=new Map(n.layers.body.map(e=>[e.id,e])),o=fT(e),s=[];for(let e of t){if(!i.has(e.flowDomainId))continue;let t=a.get(e.nodeId);if(!t||!t.ordinaryFlow)continue;let n=iu(t.source),r=o.get(n);if(!r)continue;let c=t.kind===`paragraph`&&!r.keepLines&&t.lines.length>1?t.lines.map(e=>e.bounds.yPt+e.advancePt):t.kind===`table`&&t.rows.length>1?t.rows.map(e=>e.flowBounds.yPt+e.advancePt):[e.blockEndPt];pT(e.blockStartPt,e.blockEndPt,c).forEach(e=>s.push({extentPt:e,breakAfter:`allowed`,sequenceIndex:r.sequenceIndex,sourceIdentity:n,paragraphLine:t.kind===`paragraph`&&!r.keepLines&&t.lines.length>0}))}let c=new Map;s.forEach((e,t)=>{let n=c.get(e.sourceIdentity)??[];n.push(t),c.set(e.sourceIdentity,n)});for(let[e,t]of c){let n=o.get(e);if(!n)continue;let r=t.filter(e=>s[e].paragraphLine);n.keepLines&&t.slice(0,-1).forEach(e=>{s[e].breakAfter=`forbidden`});for(let e=0;e+1<r.length;e+=1)mx({widowControl:n.widowControl,start:0,end:e+1,totalLines:r.length,canRelocate:!0}).kind!==`keep`&&(s[r[e]].breakAfter=`forbidden`);n.keepNext&&(s[t.at(-1)].breakAfter=`forbidden`)}let l=e.initialSection.sectionOccurrenceId;return e.sequence.forEach((e,t)=>{if(e.kind===`begin-section`){l=e.section.sectionOccurrenceId;return}if(!(l!==r.sectionOccurrenceId||e.kind!==`authored-break`||e.break!==`column`)){for(let e=s.length-1;e>=0;--e)if(!(s[e].sequenceIndex>=t)){s[e].breakAfter=`forced`;break}}}),Object.freeze(s.map(e=>Object.freeze(e)))}function hT(e,t,n,r,i){let a=mT(e,t,r,i),o=n.get(r.pageIndex)??0;return dT({columnCount:i.flowDomainIds.length,fragments:a}).targetPt+o}function gT(e,t,n,r,i){let a=t,o=e.lines.map((t,o)=>{let s=a++,c=String(s),l=i.measureLineNumberGlyph(c),u=Object.freeze({xPt:e.flowBounds.xPt-r,yPt:t.baselinePt});return Object.freeze({lineIndex:o,counterValue:s,bounds:Object.freeze({xPt:u.xPt-l.widthPt,yPt:u.yPt-l.ascentPt,widthPt:l.widthPt,heightPt:l.ascentPt+l.descentPt}),paintOps:s%n===0?Object.freeze([Object.freeze({kind:`text`,text:c,origin:u,font:l.font??``,color:`#000000`,textAlign:`right`})]):Object.freeze([])})});return Object.freeze({paragraph:Object.freeze({...e,lineNumbers:Object.freeze(o)}),counterEnd:a})}function _T(e,t,n){let r=new Map,i,a=e.pages.map(e=>{if(e.parityBlank)return e;let a=[...e.layers.body];for(let o=0;o<e.sectionRegions.length;o+=1){let s=e.sectionRegions[o],c=new Set(s.flowDomainIds),l=a.flatMap((e,t)=>c.has(e.flowDomainId)?[t]:[]),u=new Map(l.map(e=>[a[e].id,a[e]])),d=n.filter(e=>{let t=u.get(e.nodeId);return c.has(e.flowDomainId)&&e.blockEndPt>e.blockStartPt&&t!==void 0&&(t.ordinaryFlow||t.sectionFlowOwnership===`host-flow`)}),f=d.length===0?s.blockStartPt:Math.min(...d.map(e=>e.blockStartPt)),p=d.length===0?f:Math.max(...d.map(e=>e.blockEndPt)),m=s.blockEndPt,h=Math.max(0,m-s.blockStartPt),g=Math.max(0,p-f),_=s.section.verticalAlignment,v=d.length>0&&g<h?_===`center`?s.blockStartPt+(h-g)/2-f:_===`bottom`?m-g-f:0:0,y=s.section.lineNumbering,b=y?.restart===`newPage`?y.start:y?.restart===`newSection`?r.get(s.sectionOccurrenceId)??y.start:r.get(s.sectionOccurrenceId)??i??y?.start??1;b??=1;for(let e of l){let n=a[e];if(n.kind===`paragraph`&&n.ordinaryFlow&&y){let e=gT(n,b,Math.max(1,y.countBy),o_(y.distance),t);n=e.paragraph,b=e.counterEnd}v!==0&&(n.ordinaryFlow||n.sectionFlowOwnership===`host-flow`)&&(n.kind===`paragraph`||n.kind===`table`)&&(n=Yb(n,{xPt:0,yPt:v})),a[e]=n}y&&(r.set(s.sectionOccurrenceId,b),i=b)}return Object.freeze({...e,layers:Cd(e.layers,`body`,a)})});return Object.freeze({...e,pages:Object.freeze(a)})}function vT(e){let t=new Map;for(let n of e)for(let e of n.sectionRegions)t.has(e.sectionOccurrenceId)||t.set(e.sectionOccurrenceId,n.pageIndex);return t}function yT(e,t){let n=e[t];return n?t===0||e[t-1]?.sectionOccurrenceId!==n.sectionOccurrenceId:!1}function bT(e,t){return t.titlePage&&t.firstPageOfSection?e.first:t.evenAndOddHeaders&&t.displayPageNumber%2==0?e.even:e.default}function xT(e,t){if(![e.pageHeight,e.marginTop,e.marginBottom,t.top,t.bottom].every(Number.isFinite))throw RangeError(`Reserved body interval inputs must be finite`);if(e.pageHeight<=0||t.top<0||t.bottom<0)throw RangeError(`Reserved body interval requires a positive page and non-negative reserves`);let n=Math.min(e.pageHeight,Math.abs(e.marginTop)+t.top),r=e.pageHeight-Math.abs(e.marginBottom)-t.bottom;return Object.freeze({blockStartPt:n,blockEndPt:Math.max(n,Math.min(e.pageHeight,r))})}function ST(e,t,n){if(![e,t,n].every(Number.isFinite))throw RangeError(`Header/footer reserve inputs must be finite`);if(e<0)throw RangeError(`Story extent must be non-negative`);return e===0||t<0?0:Math.max(0,e-(t-n))}function CT(e){let t=t=>{let n=Object.freeze(e.measure(t).map(e=>Object.freeze({...e})));return Object.freeze({result:t,reserves:n,pageCount:n.length,fingerprint:ru(`header-footer-reserve-v1`,{identity:e.identity(t),reserves:n})})},n=t(e.seed);return!e.requiresConvergence&&n.reserves.every(e=>e.top===0&&e.bottom===0)?n:cm(n,n=>t(e.repaginate(n.reserves,n.result)),e.limit??16)}var wT=class extends J{constructor(e,t){super(`INVALID_GEOMETRY`,`${t} exceeds the available flow capacity`),this.containerId=e,this.layoutId=t,this.name=`FlowCapacityExceededError`}};function TT(e,t){if(e.length===0)return{xPt:t.xPt,yPt:t.yPt,widthPt:0,heightPt:0};let n=Math.min(...e.map(e=>e.xPt)),r=Math.min(...e.map(e=>e.yPt)),i=Math.max(...e.map(e=>e.xPt+e.widthPt)),a=Math.max(...e.map(e=>e.yPt+e.heightPt));return{xPt:n,yPt:r,widthPt:i-n,heightPt:a-r}}function ET(e,t,n){let r=[],i=e.cursor,a=e.container.bounds;if(![a.xPt,a.yPt,a.widthPt,a.heightPt].every(Number.isFinite)||a.widthPt<0||a.heightPt<0)throw new J(`INVALID_GEOMETRY`,`${e.container.id} has invalid bounds`);let o=e.container.bounds.yPt+e.container.bounds.heightPt,s=e.container.capacity===`unbounded`?2**53-1:o,c=e.container.bounds.xPt+e.container.bounds.widthPt;if(!Number.isFinite(i.xPt)||!Number.isFinite(i.yPt)||i.xPt<a.xPt||i.xPt>c||i.yPt<a.yPt||i.yPt>o)throw new J(`INVALID_GEOMETRY`,`${e.container.id} has an invalid initial flow cursor`);for(let a of e.blocks){let l={container:e.container,cursor:i,availableBounds:{xPt:e.container.bounds.xPt,yPt:i.yPt,widthPt:e.container.bounds.widthPt,heightPt:Math.max(0,s-i.yPt)}},u=a.kind===`paragraph`?n.layoutParagraph(a,l,t):n.layoutTable(a,l,t);if(u.layout.flowDomainId!==e.container.id)throw new J(`INVALID_REFERENCE`,`${u.layout.id} belongs to ${u.layout.flowDomainId}, not ${e.container.id}`);if(e.container.capacity!==`unbounded`&&Number.isFinite(u.nextCursor.yPt)&&u.nextCursor.yPt>o)throw new wT(e.container.id,u.layout.id);if(!Number.isFinite(u.nextCursor.xPt)||!Number.isFinite(u.nextCursor.yPt)||u.nextCursor.xPt<e.container.bounds.xPt||u.nextCursor.xPt>c||u.nextCursor.yPt<i.yPt)throw new J(`INVALID_GEOMETRY`,`${u.layout.id} returned an invalid flow cursor`);r.push(u.layout),i=u.nextCursor}return{source:e.source,container:e.container,blocks:r,nextCursor:i,flowDomainId:e.container.id,flowBounds:TT(r.map(e=>e.flowBounds),e.container.bounds),inkBounds:TT(r.map(e=>e.inkBounds),e.container.bounds),...e.container.capacity===`unbounded`?{}:{clipBounds:e.container.bounds},advancePt:i.yPt-e.cursor.yPt,ordinaryFlow:!0}}const DT=new WeakMap,OT=e=>`type`in e&&e.type===`unsupportedTextBoxBlock`;function kT(e,t){if(DT.has(e))throw Error(`Story block layout algorithms are already attached`);DT.set(e,Object.freeze({...t}))}function AT(e,t){return Object.freeze({...e,flowBounds:Q(e.flowBounds,t),inkBounds:Q(e.inkBounds,t),...e.clipBounds?{clipBounds:Q(e.clipBounds,t)}:{},blocks:Object.freeze(e.blocks.map(e=>{if(e.kind===`paragraph`)return Vb(e,t);if(e.kind===`table`)return Hb(e,t);throw Error(`Story contains unsupported retained node: ${e.kind}`)}))})}function jT(e,t){return Object.freeze({...e,flowBounds:Q(e.flowBounds,t),inkBounds:Q(e.inkBounds,t),...e.clipBounds?{clipBounds:Q(e.clipBounds,t)}:{},separator:Object.freeze(e.separator.map(e=>Ob(e,t))),story:AT(e.story,t)})}function MT(e,t){for(let t of e.blocks)if(!OT(t)&&(t.source.story!==e.source.story||t.source.storyInstance!==e.source.storyInstance))throw new J(`INVALID_REFERENCE`,`Story block ${t.source.story}:${t.source.storyInstance} is not owned by ${e.source.story}:${e.source.storyInstance}`);let n=DT.get(t);if(!n)throw Error(`Story block layout algorithms are not attached to the supplied services`);let r=e.blocks.filter(OT),i=ET({blocks:e.blocks.filter(e=>!OT(e)),container:e.container,cursor:{xPt:e.container.bounds.xPt,yPt:e.container.bounds.yPt},source:e.source},t,n);return Object.freeze({story:e.source.story,flowBounds:i.flowBounds,inkBounds:i.inkBounds,...i.clipBounds?{clipBounds:i.clipBounds}:{},blocks:Object.freeze([...i.blocks]),advancePt:i.advancePt,diagnostics:Object.freeze(r.map(t=>Object.freeze({code:`UNSUPPORTED_FEATURE`,severity:`warning`,source:Object.freeze({story:e.source.story,storyInstance:e.source.storyInstance,path:Object.freeze([...t.sourcePath])}),message:`Unsupported text-box block ${t.qName}`})))})}var NT=class extends Error{code=`FOOTNOTE_RESERVE_EXCEEDS_FRESH_PAGE`;constructor(e,t,n){super(`Body footnote admission cannot fit a fresh physical page (reserve: ${e}, charge: ${t}, fresh page: ${n})`),this.reservePt=e,this.admissionChargePt=t,this.freshPageExtentPt=n,this.name=`FootnoteAdmissionOverflowError`}};function PT(e,t){if(t.has(e))return[];t.add(e);let n=e.diagnostics??[];return e.kind===`paragraph`?[...n,...e.drawings.flatMap(e=>PT(e,t)),...e.textBoxes.flatMap(e=>PT(e,t))]:e.kind===`table`?[...n,...e.rows.flatMap(e=>e.cells.flatMap(e=>e.blocks.flatMap(e=>PT(e.layout,t)))),...(e.floatingTables??[]).flatMap(e=>PT(e.child,t)),...(e.resolvedFloatingTables??[]).flatMap(e=>PT(e.child,t))]:e.kind===`textbox`||e.kind===`note`?[...n,...e.story.diagnostics,...e.story.blocks.flatMap(e=>PT(e,t))]:n}function FT(e,t,n){if(e>0&&t>n)throw new NT(e,t,n)}function IT(e){let t=new Set,n=e=>{for(let r of e.resolvedFloatingTables??[])t.add(r.occurrenceId),n(r.child)};return n(e),t}function LT(e,t,n){if(!e.floats)throw Error(`Accepted floating table omitted its float registry delta`);let r=IT(t);return Object.freeze({...e,floats:Object.freeze({...e.floats,entries:Object.freeze(e.floats.entries.map(e=>{let i=r.has(e.occurrenceId)?Ub(n,e.occurrenceId):t.ordinaryFlow?null:n;return i===null?e:Object.freeze({...e,occurrenceId:i,exclusionId:i})}))})})}function RT(e,t){let n=new Set(t.drawings.flatMap(e=>{let t=e.anchorLayer?.acquisitionOccurrenceId??e.anchorLayer?.occurrenceId;return t===void 0?[]:[t]})),r=e.floats?.entries.filter(e=>n.has(e.occurrenceId))??[],i=e.drawingCollisions?.entries.filter(e=>n.has(e.occurrenceId))??[];return r.length===0&&i.length===0?null:Object.freeze({...e.floats&&r.length>0?{floats:Object.freeze({...e.floats,entries:Object.freeze(r),nextParagraphId:e.floats.baseNextParagraphId+r.length})}:{},...e.drawingCollisions&&i.length>0?{drawingCollisions:Object.freeze({...e.drawingCollisions,entries:Object.freeze(i)})}:{}})}function zT(e){let t=new Map([[e.initialSection.sectionOccurrenceId,e.initialSection]]);for(let n=0;n<e.sequence.length;n+=1){let r=e.sequence[n];r.kind===`begin-section`&&t.set(r.section.sectionOccurrenceId,r.section)}return t}function BT(e,t){return v_(e.context,e.pageLayout,t)}function VT(e,t){let n=BT(e,t);return u_({sectionOccurrenceId:e.sectionOccurrenceId,geometry:n.geometry,columns:n.columns,textDirection:n.textDirection,sectionBidi:n.sectionBidi===!0,grid:n.grid})}function HT(e,t,n,r=n.blockStartPt,i=BT(e,t).columns.map((e,t)=>t)){let a=BT(e,t);return Object.freeze({id:`page:${t}:section:${encodeURIComponent(e.sectionOccurrenceId)}`,sectionOccurrenceId:e.sectionOccurrenceId,section:a,pageBorders:e.pageBordersAuthored?e.pageBorders:null,writingMode:Rd(a.textDirection),blockStartPt:r,blockEndPt:n.blockEndPt,columnFlowDirection:a.sectionBidi===!0?`rtl`:`ltr`,columnIndexes:Object.freeze([...i]),columns:Object.freeze(i.map(e=>{let t=a.columns[e];if(!t)throw Error(`Missing authored section column`);return Object.freeze({inlineStartPt:t.xPt,inlineExtentPt:t.wPt})}))})}function UT(e,t){let n=Rd(e.textDirection),r=Wd({widthPt:e.geometry.pageWidth,heightPt:e.geometry.pageHeight},n);return Object.freeze(n===`horizontal-tb`?{...r,contentTopPt:t.blockStartPt,contentBottomPt:t.blockEndPt}:{...r,contentTopPt:0,contentBottomPt:r.heightPt})}function WT(e,t,n){return xT(BT(e,t).geometry,n)}function GT(e,t,n){let r=BT(e,t);return bb({kind:`content`,pageIndex:t,physicalPage:UT(r,n),sectionOccurrenceId:e.sectionOccurrenceId,section:r,region:HT(e,t,n)})}function KT(e){let t=e.pages.at(-1),n=t?.accumulator.sectionRegions.at(-1);if(!t||t.kind!==`content`||!n)throw Error(`Missing active body region`);return n}function qT(e){let t=KT(e),n=t.columnIndexes??t.section.columns.map((e,t)=>t),r=(t.columnFlowDirection===`rtl`?[...n].reverse():[...n]).at(-1)===e.flow.columnIndex;return e.balanceTargetPt===null||r?t.blockEndPt:Math.min(t.blockEndPt,t.blockStartPt+e.balanceTargetPt)}function JT(e){let t=KT(e),n=t.columnIndexes??t.section.columns.map((e,t)=>t),r=t.columns[n.indexOf(e.flow.columnIndex)];if(!r)throw Error(`Missing active body column`);return Object.freeze({pageIndex:e.flow.pageIndex,columnIndex:e.flow.columnIndex,flowDomainId:D_(e.flow.pageIndex,t.id,e.flow.columnIndex),section:t.section,cursorPt:Object.freeze({xPt:r.inlineStartPt,yPt:e.flow.cursorBlockPt}),availableBounds:Object.freeze({xPt:r.inlineStartPt,yPt:e.flow.cursorBlockPt,widthPt:r.inlineExtentPt,heightPt:Math.max(0,qT(e)-e.footnoteReservePt-e.flow.cursorBlockPt)})})}function YT(e,t){let n=t=>{let n=e.get(t);if(!n)throw Error(`Unknown body section ${t}`);return n};return{openContentPage(e){let r=n(e.sectionOccurrenceId),i=t[e.pageIndex]??{top:0,bottom:0},a=WT(r,e.pageIndex,i),o=ex(VT(r,e.pageIndex),{pageIndex:e.pageIndex,pageContentStartBlockPt:a.blockStartPt,pageContentEndBlockPt:a.blockEndPt});return{page:GT(r,e.pageIndex,a),flow:o}},openParityBlankPage(e){let r=n(e.sectionOccurrenceId),i=BT(r,e.pageIndex),a=WT(r,e.pageIndex,t[e.pageIndex]??{top:0,bottom:0});return bb({kind:`parity-blank`,pageIndex:e.pageIndex,physicalPage:UT(i,a),sectionOccurrenceId:r.sectionOccurrenceId,section:i,pageBorders:r.pageBordersAuthored?r.pageBorders:null})},openSamePageSectionRegion(e,t,r){let i=n(t.section.sectionOccurrenceId),a=e.accumulator.sectionRegions,o=a.at(-1);if(!o||!(`placement`in t))throw Error(`A same-page section requires explicit retained placement`);let s=Object.freeze({blockStartPt:e.accumulator.sectionRegions[0].blockStartPt,blockEndPt:o.blockEndPt}),c=t.placement===`same-page-block`?Object.freeze({...o,blockEndPt:r.regionStartBlockPt}):(()=>{let e=t.outgoingColumnSubset;if(!e||e.length===0)throw Error(`A same-page-column transition requires outgoing column ownership`);return Object.freeze({...o,columnIndexes:Object.freeze([...e]),columns:Object.freeze(e.map(e=>{let t=o.section.columns[e];if(!t)throw Error(`Missing outgoing authored column`);return Object.freeze({inlineStartPt:t.xPt,inlineExtentPt:t.wPt})}))})})(),l=Object.freeze([...a.slice(0,-1),c]);return Object.freeze({...e,accumulator:q_(Object.freeze({...e.accumulator,sectionRegions:l}),HT(i,r.pageIndex,s,r.regionStartBlockPt,t.columnSubset))})}}}function XT(e,t,n,r,i,a,o,s){let c=e.pages.at(-1);if(!c||c.kind!==`content`)throw Error(`Body content requires an active page`);let l=KT(e),u=l.columnIndexes??l.section.columns.map((e,t)=>t),d=l.columns[u.indexOf(e.flow.columnIndex)],f=D_(e.flow.pageIndex,l.id,e.flow.columnIndex),p=au(n,f,i);if(a.has(p))throw Error(`Duplicate body occurrence acceptance: ${p}`);a.add(p);let m=Xb(t,{occurrenceId:p,destination:{coordinateSpace:`logical-page-points`,flowDomainId:f,translation:{xPt:s?s.xPt-t.flowBounds.xPt:t.kind===`table`?d.inlineStartPt:d.inlineStartPt-t.flowBounds.xPt,yPt:(s?.yPt??e.flow.cursorBlockPt)-t.flowBounds.yPt}}}),h=s?.sectionFlowOwnership===void 0?m:Object.freeze({...m,sectionFlowOwnership:s.sectionFlowOwnership}),g=s?.yPt??e.flow.cursorBlockPt,_=h.kind===`paragraph`&&h.ordinaryFlow?(()=>{let e=g+h.spacing.beforePt,t=g+r-h.spacing.afterPt;return Object.freeze({...h,flowBounds:Object.freeze({...h.flowBounds,yPt:e,heightPt:Math.max(0,t-e)})})})():h,v=s?.coordinateSpace===`upright-physical`?{..._,ordinaryFlow:!1,flowBounds:Object.freeze({..._.flowBounds,heightPt:r})}:_,y=nx(e.flow,v,r),b=y.events[0];if(!b||b.type!==`place`)throw Error(`Flow placement did not emit an allocation`);o.push(Object.freeze({nodeId:v.id,flowDomainId:v.flowDomainId,blockStartPt:b.blockStartPt,blockEndPt:b.blockEndPt}));let x=J_(c.accumulator,{layer:`body`,node:v,...s?.coordinateSpace===`upright-physical`?{coordinateSpace:`upright-physical`}:{}},!0),S=[...e.pages];return S[S.length-1]=Object.freeze({...c,accumulator:x}),Object.freeze({...e,flow:y.state,pages:Object.freeze(S)})}function ZT(e){return e.boundary===null?`root`:`paragraph:${e.boundary.segIndex}:${e.boundary.charOffset}`}function QT(e,t){for(let n=t;n<e.sequence.length;n+=1){let t=e.sequence[n];if(t.kind===`consume-source`)continue;if(t.kind===`authored-break`){if(t.break!==`lastRenderedPageBreak`)return!1;continue}if(t.kind===`begin-section`){if(t.section.startType!==`continuous`)return!1;continue}let r=t.kind===`adjacent-table-group`?t:t.block;if(r.kind!==`paragraph`)return!0;if(r.pageBreakBefore)return!1;if(r.inkless!==!0)return!0}return!1}function $T(e){return e.paragraphMark!==void 0&&e.lines.length===0&&e.shading===void 0&&e.borders.length===0&&e.resources.length===0&&e.drawings.length===0&&e.textBoxes.length===0}function eE(e){return[e.rowIndex,e.rowFragmentIndex,e.cells.map(e=>[e.blockIndex,e.paragraphLineStart,e.nestedFragmentIndex,e.nestedCursor===null?null:eE(e.nestedCursor)])]}function tE(e){if(e===void 0)return`root`;if(e.kind===`table`)return`table:${JSON.stringify(eE(e.cursor))}`;let t=e.cursor.tableCursor;return`adjacent-table:${e.cursor.tableIndex}:${e.cursor.sourceRowIndex}:${JSON.stringify(t===void 0?null:eE(t))}`}function nE(e,t){let n=e.cursorPt.yPt+t,r=e.availableBounds.yPt+e.availableBounds.heightPt;return Object.freeze({...e,cursorPt:Object.freeze({...e.cursorPt,yPt:n}),availableBounds:Object.freeze({...e.availableBounds,yPt:n,heightPt:Math.max(0,r-n)})})}function rE(e,t){let n=vT(e.pages.map(e=>e.accumulator)),r=0,i=null,a=e.pages.map(e=>{let a=t.get(e.accumulator.sectionOccurrenceId),o=a.sectionOccurrenceId!==i;a.sectionOccurrenceId!==i&&a.pageNumbering.start!==null?r=s_(a.pageNumbering.start,e.accumulator.pageIndex,n.get(a.sectionOccurrenceId)??e.accumulator.pageIndex):r+=1,i=a.sectionOccurrenceId;let s={displayNumber:r,format:a.pageNumbering.format??`decimal`,sectionOccurrenceId:a.sectionOccurrenceId};return e.kind===`parity-blank`?X_({pageIndex:e.accumulator.pageIndex,physicalPage:e.accumulator.physicalPage,sectionOccurrenceId:e.accumulator.sectionOccurrenceId,section:e.accumulator.section,pageBorders:e.accumulator.pageBorders,firstSectionOwnedPage:o,pageNumber:s}):Y_(e.accumulator,s,o)}),o=new WeakSet;return{pages:a,diagnostics:a.flatMap(e=>wd(e).flatMap(({node:e})=>PT(e,o)))}}function iE(e,t,n,r,i,a){let o=Hu(t);if(!o)throw Error(`Body layout kernel is not attached to the supplied services`);let s=zT(e),c=new Set,l=[],u=r[0]??{top:0,bottom:0},d=WT(e.initialSection,0,u),f=xb(ex(VT(e.initialSection,0),{pageContentStartBlockPt:d.blockStartPt,pageContentEndBlockPt:d.blockEndPt}),GT(e.initialSection,0,d)),p=e=>{let t=a.get(e.flow.section.sectionOccurrenceId);return t?.pageIndex===e.flow.pageIndex?t.targetPt:null};f=Sb(f,p(f));let m=YT(s,r),h=null,g=o.openBodyLayoutSession({source:e.source,section:e.initialSection.context,initialLocation:JT(f)},t,n),_=e=>{let t=s.get(e.flow.section.sectionOccurrenceId);if(!t)throw Error(`Unknown body section ${e.flow.section.sectionOccurrenceId}`);let n=e.flow.pageIndex+1,i=WT(t,n,r[n]??{top:0,bottom:0});return i.blockEndPt-i.blockStartPt},v=(t,n)=>{if(i!==null){let e=JT(t);return Object.freeze([...i.values()].filter(t=>t.pageIndex===e.pageIndex&&t.flowDomainId===e.flowDomainId).map(({occurrenceId:e,paragraphSource:t})=>Object.freeze({occurrenceId:e,paragraphSource:t})))}let r=[];for(let t=n;t<e.sequence.length;t+=1){let i=e.sequence[t];if(i.kind===`authored-break`&&i.break!==`column`||i.kind===`begin-section`&&i.section.startType!==`continuous`)break;if(!(i.kind!==`body-block`||i.block.kind!==`paragraph`)){if(t>n&&i.block.pageBreakBefore)break;i.block.pageOwnedAnchorOccurrenceIds?.forEach(e=>r.push(Object.freeze({occurrenceId:e,paragraphSource:i.block.source})))}}return Object.freeze(r)},y=(e,t)=>{let n=v(e,t);if(n.length===0)return;if(!g.prescanPageAnchors)throw Error(`Page-owned anchors require canonical prescan acquisition`);let r=JT(e),i=g.prescanPageAnchors({anchors:n,location:r,availableInlineExtentPt:r.availableBounds.widthPt});i&&g.commitFlowRegistryDelta(i)};y(f,0);let b=(e,t,n=!1)=>{let r=f.flow.pageIndex,i=e.events.some(e=>e.type===`next-page`&&e.reason===`overflow`),a=e.events.some(e=>e.type===`begin-section`&&`placement`in e&&e.placement===`same-page-column`);f=wb(f,e,m),f=Sb(f,p(f));let o=JT(f);f.flow.pageIndex===r?(g.moveAcquisitionCursor(o),a&&y(f,t)):(h=i&&n?t:null,g.resetPageAcquisition(o),y(f,t))},x=new Map,S=new Map,C=new Map,w=e=>(x.get(e)?.size??0)>0,T=(e,t,n)=>E(n??lT(e),t),E=(e,t)=>{let n=x.get(f.flow.pageIndex)??new Set,r=[...new Set(e)].filter(e=>!n.has(e)),i=JT(f);if(r.length>0&&!g.layoutNotes)throw Error(`Footnote layout requires a note-capable layout session`);let a=r.length===0?Object.freeze([]):g.layoutNotes({kind:`footnote`,referenceIds:Object.freeze(r),pageIndex:f.flow.pageIndex,section:i.section,container:{id:`notes:page:${f.flow.pageIndex}`,kind:`footnote`,bounds:{xPt:i.availableBounds.xPt,yPt:0,widthPt:t,heightPt:i.section.geometry.pageHeight}},firstOnPage:n.size===0});return Object.freeze({ids:Object.freeze(r),layouts:a,reservePt:a.reduce((e,t)=>e+t.advancePt,0)})},D=(e,t,n)=>{let r=x.get(f.flow.pageIndex);r||(r=new Set,x.set(f.flow.pageIndex,r)),e.forEach(e=>r.add(e));let i=C.get(f.flow.pageIndex)??[];i.push(...t),C.set(f.flow.pageIndex,i),S.set(f.flow.pageIndex,(S.get(f.flow.pageIndex)??0)+n),f=Cb(f,n)},O=()=>Math.max(0,qT(f)-f.footnoteReservePt-f.flow.deepestColumnBlockPt),k=e=>e>O(),A=null,j=Dx(e.sequence);for(let t=0;t<e.sequence.length;t+=1){let n=e.sequence[t];if(n.kind===`consume-source`)continue;if(n.kind===`authored-break`){if(A=null,n.break===`column`&&!j.has(t))continue;b(dx(f.flow,n.break,n.parity),t+1);continue}if(n.kind===`begin-section`){A=null;let e=Rd(KT(f).section.textDirection),i=Rd(BT(n.section,f.flow.pageIndex).textDirection),a=Wd({widthPt:KT(f).section.geometry.pageWidth,heightPt:KT(f).section.geometry.pageHeight},e),o=BT(n.section,f.flow.pageIndex),s=Wd({widthPt:o.geometry.pageWidth,heightPt:o.geometry.pageHeight},i),c=n.section.startType===`continuous`&&(e!==i||a.widthPt!==s.widthPt||a.heightPt!==s.heightPt)?`nextPage`:n.section.startType,l=WT(n.section,f.flow.pageIndex,r[f.flow.pageIndex]??{top:0,bottom:0});b(fx(f.flow,VT(n.section,f.flow.pageIndex),c,{hasFootnoteReferenceOnCurrentPage:w(f.flow.pageIndex),incomingPageContentStartBlockPt:l.blockStartPt,incomingPageContentEndBlockPt:l.blockEndPt}),t+1);continue}let i=n.kind===`adjacent-table-group`?n:n.block;if(i.kind===`paragraph`){if(i.continuousSectionRole===`collapse-mark`)continue;i.pageBreakBefore&&b(dx(f.flow,`pageBreakBefore`),t);let n=A?.spaceAfterPt??0,a=YS(A,i,n,i.continuousSectionRole===`suppress-before`?0:i.spaceBeforePt),o=i.continuousSectionRole===`drop-previous-after`?n:a.overlap;o>0&&(f=Object.freeze({...f,flow:Object.freeze({...f.flow,cursorBlockPt:Math.max(f.flow.regionStartBlockPt,f.flow.cursorBlockPt-o)})}));let s=Object.freeze({boundary:null});for(;s;){let n=ZT(s),o=JT(f),u=g.measureParagraph({input:i,location:o,availableInlineExtentPt:o.availableBounds.widthPt,suppressSpaceBefore:s.boundary!==null||i.continuousSectionRole===`suppress-before`||a.suppressBefore||s.boundary===null&&!f.flow.pageHasContent&&h===t,continuation:s});if(u.placement){let e=T(u.layout,o.availableBounds.widthPt,u.retainedFootnoteReferenceIds),r=u.relocationBlockExtentPt,a=u.placement.sectionFlowOwnership===`page`?e.reservePt:(r??u.blockExtentPt)+e.reservePt,d=_(f),p=k(e.reservePt);if(FT(e.reservePt,a,d),(a>o.availableBounds.heightPt||p)&&a<=d&&f.flow.pageHasContent){b(p?cx(f.flow,f.flow.section,`overflow`):rx(f.flow,`overflow`),t);continue}f=XT(f,u.layout,i.source,u.blockExtentPt,n,c,l,u.placement),D(e.ids,e.layouts,e.reservePt),u.flowRegistryDelta&&g.commitFlowRegistryDelta(u.flowRegistryDelta),s=null,g.moveAcquisitionCursor(JT(f));continue}if(s.boundary===null&&i.keepNext&&f.flow.pageHasContent){let n=u.blockExtentPt,r=new Set(lT(u.layout)),a=!1,s=xx({keepNext:i.keepNext,inkless:i.inkless===!0,undecoratedMark:$T(u.layout)});for(let i=t+1;i<e.sequence.length;i+=1){let t=e.sequence[i];if(t.kind===`consume-source`)continue;if(t.kind===`authored-break`||t.kind===`begin-section`)break;let c=t.kind===`adjacent-table-group`?t:t.block;if(c.kind===`paragraph`&&c.pageBreakBefore)break;let l=g.measureFollowingBlock({input:c,location:o,availableInlineExtentPt:o.availableBounds.widthPt}),u=c.kind===`paragraph`&&(c.keepNext||s);if(s=!1,n+=u?l.fullExtentPt:l.leadContentExtentPt,(u?l.fullFootnoteReferenceIds:l.leadFootnoteReferenceIds)?.forEach(e=>r.add(e)),!u){a=!0;break}}let c=E([...r],o.availableBounds.widthPt).reservePt,l=n+c;if(a&&l>o.availableBounds.heightPt&&l<=_(f)){b(rx(f.flow,`overflow`),t,!0);continue}}let d=e.sequence[t+1],p=e.sequence[t+2],m=d?.kind===`body-block`&&d.block.kind===`paragraph`&&p?.kind===`authored-break`&&p.break===`page`&&p.sameSourceParagraphAsPrevious!==!0,v=wx(u.layout);if(s.boundary===null&&v&&m&&f.flow.pageHasContent){let e=nE(o,u.blockExtentPt),n=g.measureParagraph({input:d.block,location:e,availableInlineExtentPt:e.availableBounds.widthPt,suppressSpaceBefore:!1,continuation:Object.freeze({boundary:null})});g.moveAcquisitionCursor(o);let r=Tx(n.layout,e.cursorPt.yPt);if(r!==null){let e=u.blockExtentPt+r;if(e>o.availableBounds.heightPt&&e<=_(f)){b(rx(f.flow,`overflow`),t);continue}}}let y=e.sequence[t+1],x=y?.kind===`authored-break`&&y.break===`page`;if(s.boundary===null&&x){let e=Ex(u.layout);if(e!==null){f=XT(f,e,i.source,0,n,c,l),u.flowRegistryDelta&&g.commitFlowRegistryDelta(u.flowRegistryDelta),s=null,g.moveAcquisitionCursor(JT(f));continue}}let S=T(u.layout,o.availableBounds.widthPt).reservePt,C=(r[f.flow.pageIndex]?.bottom??0)===0&&f.footnoteReservePt===0,w=qT(f)===KT(f).blockEndPt,O=y?.kind===`begin-section`&&y.section.startType===`nextPage`,A=c_({hasContinuationBoundary:s.boundary!==null,inkless:i.inkless===!0,undecorated:$T(u.layout),keepNext:i.keepNext,markReservePt:S,pageBottomIsUnreserved:C,physicalRegionBottomIsActive:w,hasFollowingInk:QT(e,t+1),followsNextPageSectionBoundary:O,markExtentPt:u.blockExtentPt,markBelowBaselinePt:u.markBelowBaselinePt??0}),j=tT(u.layout,s,u.fragmentation,o.availableBounds.heightPt+A,_(f),f.flow.pageHasContent,{keepLines:i.keepLines,widowControl:i.widowControl,authoredSpaceAfterPt:i.spaceAfterPt,writingMode:KT(f).writingMode},e=>T(e,o.availableBounds.widthPt).reservePt,u.uniformRubyAdvancePt,e=>!k(e));if(j.requiresFreshFlowRegion){b(rx(f.flow,`overflow`),t);continue}if(!j.fragment)throw Error(`Paragraph acquisition made no progress`);f=XT(f,j.fragment,i.source,Math.min(j.admittedBlockExtentPt,o.availableBounds.heightPt),n,c,l,u.placement);let M=T(j.fragment,o.availableBounds.widthPt);if(FT(M.reservePt,j.fragment.advancePt+M.reservePt,_(f)),D(M.ids,M.layouts,M.reservePt),u.flowRegistryDelta){let e=RT(u.flowRegistryDelta,j.fragment);e&&g.commitFlowRegistryDelta(e)}s=j.nextCursor,s&&b(rx(f.flow,`overflow`),t),o=JT(f),g.moveAcquisitionCursor(o)}A=i}else{A=null;let e,n=!1;for(;!n;){let r=tE(e),a=JT(f),o=t=>g.measureTable({input:i,location:a,availableInlineExtentPt:a.availableBounds.widthPt,availableBlockExtentPt:t,freshPageBlockExtentPt:_(f),...e?{cursor:e}:{}}),s=a.availableBounds.heightPt,u=o(s);if(u.retryAtBlockStartPt!==void 0){if(!Number.isFinite(u.retryAtBlockStartPt)||u.retryAtBlockStartPt<=f.flow.cursorBlockPt)throw Error(`Table repositioning must advance the block cursor`);f=Object.freeze({...f,flow:Object.freeze({...f.flow,cursorBlockPt:u.retryAtBlockStartPt})}),g.moveAcquisitionCursor(JT(f));continue}let d=u.requiresFreshFlowRegion?Object.freeze({ids:Object.freeze([]),layouts:Object.freeze([]),reservePt:0}):T(u.layout,a.availableBounds.widthPt),p=Object.freeze({reservePt:d.reservePt,chargePt:u.blockExtentPt+d.reservePt}),m=new Set;for(;!u.requiresFreshFlowRegion&&u.blockExtentPt+d.reservePt>a.availableBounds.heightPt;){let e=JSON.stringify({advancePt:u.blockExtentPt,nextCursor:u.nextCursor??null,noteIds:d.ids,reservePt:d.reservePt});if(m.has(e))throw FT(p.reservePt,p.chargePt,_(f)),Error(`Table footnote admission did not converge`);m.add(e),s=Math.max(0,a.availableBounds.heightPt-d.reservePt),u=o(s),d=u.requiresFreshFlowRegion?Object.freeze({ids:Object.freeze([]),layouts:Object.freeze([]),reservePt:0}):T(u.layout,a.availableBounds.widthPt),u.requiresFreshFlowRegion||(p=Object.freeze({reservePt:d.reservePt,chargePt:u.blockExtentPt+d.reservePt}))}if(u.requiresFreshFlowRegion){FT(p.reservePt,p.chargePt,_(f));let n=!f.flow.pageHasContent&&u.nextCursor?.kind===`table`&&u.nextCursor.floatingContinuationFrame===`fresh-text`&&!(e?.kind===`table`&&e.floatingContinuationFrame!==void 0);if(u.nextCursor?.kind===`table`&&u.nextCursor.floatingContinuationFrame!==void 0&&(e=u.nextCursor),n)continue;b(rx(f.flow,`overflow`),t);continue}if(k(d.reservePt)&&f.flow.pageHasContent){b(cx(f.flow,f.flow.section,`overflow`),t);continue}f=XT(f,u.layout,i.source,u.blockExtentPt,r,c,l,u.placement),D(d.ids,d.layouts,d.reservePt),u.flowRegistryDelta&&g.commitFlowRegistryDelta(LT(u.flowRegistryDelta,u.layout,au(i.source,a.flowDomainId,r))),e=u.nextCursor??void 0,n=e===void 0,e&&b(rx(f.flow,`overflow`),t)}}g.moveAcquisitionCursor(JT(f))}let M=new Set([...S.keys(),...C.keys()]);for(let e of M){let t=S.get(e)??0,n=(C.get(e)??[]).reduce((e,t)=>e+t.advancePt,0);if(t!==n)throw new J(`INVALID_GEOMETRY`,`Page ${e} footnote reserve ${t} does not equal retained advance ${n}`)}return Object.freeze({layout:rE(f,s),session:g,allocations:Object.freeze(l),footnoteReserveByPage:S,footnoteLayoutsByPage:C})}function aE(e,t){return Object.freeze(e.layout.pages.map((n,r)=>{if(n.parityBlank||Rd(n.section.textDirection)!==`horizontal-tb`)return Object.freeze({top:0,bottom:0});let i=t.get(n.sectionOccurrenceId);if(!i)throw Error(`Unknown body section ${n.sectionOccurrenceId}`);let a=Math.max(0,n.section.geometry.pageWidth-Math.abs(n.section.geometry.marginLeft)-Math.abs(n.section.geometry.marginRight)),o=t=>{let o=bT(t===`header`?i.headers:i.footers,{titlePage:i.titlePage,firstPageOfSection:yT(e.layout.pages,r),evenAndOddHeaders:i.evenAndOddHeaders,displayPageNumber:n.pageNumber.displayNumber});if(o===null)return 0;if(!e.session.layoutStory)throw Error(`Header/footer story layout requires a story-capable layout session`);return e.session.layoutStory({source:o,pageIndex:n.pageIndex,section:n.section,container:{id:`story:${t}:page:${n.pageIndex}`,kind:t,bounds:{xPt:Math.abs(n.section.geometry.marginLeft),yPt:0,widthPt:a,heightPt:n.section.geometry.pageHeight}}}).advancePt};return Object.freeze({top:ST(o(`header`),n.section.geometry.marginTop,n.section.geometry.headerDistance),bottom:ST(o(`footer`),n.section.geometry.marginBottom,n.section.geometry.footerDistance)})}))}function oE(e,t,n,r){let i=e.pages.map((i,a)=>{if(i.parityBlank)return i;let o=n.get(i.sectionOccurrenceId);if(!o)throw Error(`Unknown body section ${i.sectionOccurrenceId}`);if(!t.layoutStory){if(!(Object.values(o.headers).some(e=>e!==null)||Object.values(o.footers).some(e=>e!==null)||(r.get(i.pageIndex)?.length??0)>0))return i;throw Error(`Page-story composition requires a story-capable layout session`)}let s=Rd(i.section.textDirection)!==`horizontal-tb`,c=s?h_(i.section.geometry):i.section.geometry,l=Math.abs(c.marginLeft),u=Math.max(0,c.pageWidth-Math.abs(c.marginLeft)-Math.abs(c.marginRight)),d=s?`upright-physical`:`section-logical`,f=s?Object.freeze({...i.section,geometry:Object.freeze({...c}),columns:Object.freeze([Object.freeze({xPt:l,wPt:u})]),textDirection:`lrTb`}):i.section,p=t=>bT(t===`header`?o.headers:o.footers,{titlePage:o.titlePage,firstPageOfSection:yT(e.pages,a),evenAndOddHeaders:o.evenAndOddHeaders,displayPageNumber:i.pageNumber.displayNumber}),m=e=>{let n=p(e);if(n===null)return null;let r=t.layoutStory({source:n,pageIndex:i.pageIndex,section:f,container:{id:`story:${e}:page:${i.pageIndex}`,kind:e,bounds:{xPt:l,yPt:0,widthPt:u,heightPt:c.pageHeight}}});return AT(r,{xPt:0,yPt:(e===`header`?c.headerDistance:c.pageHeight-c.footerDistance-r.advancePt)-r.flowBounds.yPt})},h=m(`header`),g=m(`footer`),_=r.get(i.pageIndex)??[],v=_.reduce((e,t)=>e+t.advancePt,0),y=i.sectionRegions[0],b=(y?.blockEndPt??Math.max(0,i.section.geometry.pageHeight-Math.abs(i.section.geometry.marginBottom)))-v,x=b,S=_.map(e=>{let t=jT(e,{xPt:0,yPt:x-e.flowBounds.yPt});return x+=e.advancePt,t}),C=S.length===0?0:Math.min(...S.map(e=>e.flowBounds.xPt)),w=S.length===0?0:Math.max(...S.map(e=>e.flowBounds.xPt+e.flowBounds.widthPt)),T=Object.freeze({xPt:C,yPt:b,widthPt:w-C,heightPt:v}),E=y?Object.freeze(Jd(y.coordinateSpace.logicalToPhysical,T)):T,D=[...h?[Object.freeze({id:`story:header:page:${i.pageIndex}`,kind:`header`,logicalBounds:Object.freeze({xPt:l,yPt:h.flowBounds.yPt,widthPt:u,heightPt:h.advancePt}),physicalBounds:Object.freeze({xPt:l,yPt:h.flowBounds.yPt,widthPt:u,heightPt:h.advancePt})})]:[],...S.length>0?[Object.freeze({id:`notes:page:${i.pageIndex}`,kind:`footnote`,...y?{sectionRegionId:y.id}:{},logicalBounds:T,physicalBounds:E})]:[],...g?[Object.freeze({id:`story:footer:page:${i.pageIndex}`,kind:`footer`,logicalBounds:Object.freeze({xPt:l,yPt:g.flowBounds.yPt,widthPt:u,heightPt:g.advancePt}),physicalBounds:Object.freeze({xPt:l,yPt:g.flowBounds.yPt,widthPt:u,heightPt:g.advancePt})})]:[]],O=i.layers.roots.map(e=>e),k=O.findIndex(e=>e.layer!==`background`&&e.layer!==`behindText`),A=k<0?O.length:k,j=[...O.slice(0,A),...h?.blocks.map(e=>({layer:`header`,node:e,coordinateSpace:d}))??[],...O.slice(A)],M=-1;for(let e=0;e<j.length;e+=1)j[e].layer===`body`&&(M=e);let N=M<0?j.length:M+1,ee=[...j.slice(0,N),...S.map(e=>({layer:`notes`,node:e,coordinateSpace:`section-logical`})),...j.slice(N),...g?.blocks.map(e=>({layer:`footer`,node:e,coordinateSpace:d}))??[]];return Object.freeze({...i,flowDomains:Object.freeze([...i.flowDomains,...D]),layers:Sd(ee),readingOrder:Object.freeze([...h?.blocks.map(e=>e.id)??[],...i.readingOrder,...S.map(e=>e.id),...g?.blocks.map(e=>e.id)??[]])})});return Object.freeze({...e,pages:Object.freeze(i)})}function sE(e,t,n){if(n.length===0)return e;let r=-1;for(let t=e.pages.length-1;t>=0;--t)if(!e.pages[t].parityBlank){r=t;break}if(r<0)return e;let i=e.pages[r];if(!t.layoutNotes)return Object.freeze({...e,diagnostics:Object.freeze([...e.diagnostics,Object.freeze({code:`UNSUPPORTED_FEATURE`,severity:`error`,source:Object.freeze({story:`endnote`,storyInstance:n[0],path:Object.freeze([])}),message:`Document-end notes require a note-capable layout session`})])});let a=new Map(i.flowDomains.map(e=>[e.id,e])),o=i.layers.body.filter(e=>e.ordinaryFlow&&a.get(e.flowDomainId)?.kind===`body`).reduce((e,t)=>e===null||t.flowBounds.yPt+t.flowBounds.heightPt>e.flowBounds.yPt+e.flowBounds.heightPt?t:e,null),s=o?a.get(o.flowDomainId):[...i.flowDomains].reverse().find(e=>e.kind===`body`);if(!s)return Object.freeze({...e,diagnostics:Object.freeze([...e.diagnostics,Object.freeze({code:`UNSUPPORTED_FEATURE`,severity:`error`,message:`Document-end notes require a retained body flow domain`})])});let c=i.sectionRegions.find(e=>e.flowDomainIds.includes(s.id))??i.sectionRegions[0],l=o?o.flowBounds.yPt+o.flowBounds.heightPt:s.logicalBounds.yPt,u=i.layers.notes.filter(e=>e.kind===`note`&&e.source.story===`footnote`).reduce((e,t)=>Math.min(e,t.flowBounds.yPt),s.logicalBounds.yPt+s.logicalBounds.heightPt),d=Math.min(s.logicalBounds.yPt+s.logicalBounds.heightPt,u),f=`endnotes:page:${i.pageIndex}`;try{let a=t.layoutNotes({kind:`endnote`,referenceIds:Object.freeze([...n]),pageIndex:i.pageIndex,section:c?.section??i.section,container:{id:f,kind:`endnote`,bounds:{xPt:s.logicalBounds.xPt,yPt:l,widthPt:s.logicalBounds.widthPt,heightPt:Math.max(0,d-l)}},firstOnPage:!0});if(a.length===0)return e;let o=a.reduce((e,t)=>e+t.advancePt,0),u=Object.freeze({xPt:s.logicalBounds.xPt,yPt:l,widthPt:s.logicalBounds.widthPt,heightPt:o}),p=Object.freeze({id:f,kind:`endnote`,...c?{sectionRegionId:c.id}:{},logicalBounds:u,physicalBounds:c?Object.freeze(Jd(c.coordinateSpace.logicalToPhysical,u)):u}),m=i.layers.roots.map(e=>e),h=-1;for(let e=0;e<m.length;e+=1)m[e].layer===`body`&&(h=e);h+=1,m.splice(h,0,...a.map(e=>({layer:`notes`,node:e,coordinateSpace:`section-logical`})));let g=new Set(i.layers.body.map(e=>e.id)),_=-1;for(let e=0;e<i.readingOrder.length;e+=1)g.has(i.readingOrder[e])&&(_=e);_+=1;let v=[...i.readingOrder];v.splice(_,0,...a.map(e=>e.id));let y=[...e.pages];return y[r]=Object.freeze({...i,flowDomains:Object.freeze([...i.flowDomains,p]),layers:Sd(m),readingOrder:Object.freeze(v)}),Object.freeze({...e,pages:Object.freeze(y)})}catch(t){if(!(t instanceof vb)||t.kind!==`endnote`||t.pageIndex!==i.pageIndex||t.containerId!==f)throw t;return Object.freeze({...e,diagnostics:Object.freeze([...e.diagnostics,Object.freeze({code:`UNSUPPORTED_FEATURE`,severity:`error`,source:Object.freeze({story:`endnote`,storyInstance:n[0],path:Object.freeze([])}),message:`Document-end notes do not fit the retained terminal flow region: ${t instanceof Error?t.message:String(t)}`})])})}}function cE(e,t,n,r){return Object.freeze({...e,diagnostics:Object.freeze([...e.diagnostics,Object.freeze({code:`UNSUPPORTED_FEATURE`,severity:`error`,message:`Unsupported ${t} position ${JSON.stringify(n)}; retained layout uses the ${r} fallback`})])})}function lE(e){let t=new Map;for(let n of e.pages)for(let e of n.layers.body)if(e.kind===`paragraph`)for(let r of e.drawings){let i=r.anchorLayer;if(!i||i.horizontalOwnership!==`page`||i.verticalOwnership!==`page`)continue;let a=i.acquisitionOccurrenceId??i.occurrenceId;t.set(a,Object.freeze({occurrenceId:a,paragraphSource:e.source,pageIndex:n.pageIndex,flowDomainId:e.flowDomainId}))}return t}function uE(e){return JSON.stringify([...e].sort(([e],[t])=>e.localeCompare(t)))}function dE(e,t,n,r,i){if(!e.sequence.some(e=>e.kind===`body-block`&&e.block.kind===`paragraph`&&(e.block.pageOwnedAnchorOccurrenceIds?.length??0)>0))return iE(e,t,n,r,null,i);try{return sm({step:a=>{let o=iE(e,t,n,r,a?.plan??null,i);return Object.freeze({pass:o,plan:lE(o.layout)})},stateOf:e=>uE(e.plan),limit:16}).value.pass}catch(e){throw e instanceof om?new J(`NON_CONVERGENCE`,e.reason===`cycle`?`Page-anchor destination acquisition repeated an exact-state cycle`:`Page-anchor destination acquisition reached the operational pass limit 16`):e}}function fE(e){let t=[],n=e.initialSection;for(let r of e.sequence)r.kind===`begin-section`&&(r.section.startType===`continuous`&&t.push(Object.freeze({outgoingSectionOccurrenceId:n.sectionOccurrenceId,incomingSectionOccurrenceId:r.section.sectionOccurrenceId})),n=r.section);return Object.freeze(t)}function pE(e,t,n){for(let r of e.pages)for(let e=0;e+1<r.sectionRegions.length;e+=1){let i=r.sectionRegions[e],a=r.sectionRegions[e+1];if(i.sectionOccurrenceId===t&&a.sectionOccurrenceId===n)return Object.freeze({page:r,outgoing:i})}return null}function mE(e,t,n,r){let i=new Map,a=dE(e,t,n,r,i);for(let o of fE(e)){let s=pE(a.layout,o.outgoingSectionOccurrenceId,o.incomingSectionOccurrenceId);if(s===null||s.outgoing.flowDomainIds.length<2)continue;let c=s.page.pageIndex,l=hT(e,a.allocations,a.footnoteReserveByPage,s.page,s.outgoing),u=new Map(i);u.set(o.outgoingSectionOccurrenceId,Object.freeze({pageIndex:c,targetPt:l})),i=u,a=dE(e,t,n,r,i)}return a}function hE(e,t,n){t=ed(t);let r=zT(e),i=mE(e,t,n,[]),a=CT({seed:i,measure:e=>aE(e,r),repaginate:(r,i)=>{let a=XS(i.layout);return mE(e,nd(t,{totalPages:i.layout.pages.length,resolveDestinationPage:e=>a[e]}),n,r)},identity:e=>XS(e.layout),requiresConvergence:i.session.hasPaginationFields}).result,o=_T(a.layout,a.session,a.allocations),s=e.noteLayoutSettings??Object.freeze({footnotePosition:`pageBottom`,endnotePosition:`docEnd`}),c=oE(o,a.session,r,a.footnoteLayoutsByPage),l=c.pages.some(e=>e.layers.notes.some(e=>e.source.story===`footnote`))&&s.footnotePosition!==`pageBottom`?cE(c,`footnote`,s.footnotePosition,`pageBottom`):c,u=new Set(o.pages.flatMap(e=>e.layers.body.flatMap(e=>e.kind===`paragraph`||e.kind===`table`?uT(e):[]))),d=(e.endnoteIds??[]).filter(e=>u.has(e)),f=sE(l,a.session,d),p=d.length>0&&s.endnotePosition!==`docEnd`?cE(f,`endnote`,s.endnotePosition,`docEnd`):f,m=e.parserDiagnostics??[],h=m.length===0?p:Object.freeze({...p,diagnostics:Object.freeze([...m,...p.diagnostics])});return Mv(Object.freeze({...h,pages:Object.freeze(h.pages.map(W_))}))}function gE(e,t,n=kd(void 0,Date.now())){return hE(e,t,n)}function _E(e,t,n){if(Ju(e))return;let r=n();Fv({source:r,services:e,defaultCurrentDateMs:t,buildLayout:t=>gE(r.bodyLayoutInput,e,t)})}function vE(e,t){switch(e){case`margin`:return{left:t.marginLeft,right:t.pageWidth-t.marginRight};case`page`:return{left:0,right:t.pageWidth};default:return{left:t.contentX,right:t.contentX+t.contentW}}}function yE(e,t,n,r){switch(e){case`margin`:return{start:r.marginTop,end:r.pageH-r.marginBottom};case`page`:return{start:0,end:r.pageH};default:return{start:t,end:t+n}}}function bE(e,t,n,r){switch(e){case`center`:return t+(n-t-r)/2;case`right`:case`outside`:return n-r;default:return t}}function xE(e,t,n){switch(e){case`center`:return t.start+(t.end-t.start-n)/2;case`bottom`:case`outside`:return t.end-n;default:return t.start}}function SE(e,t,n){return e+t<=n.end?e:Math.max(n.start,n.end-t)}function CE(e,t,n,r,i,a){let o=e.dropCap===`drop`||e.dropCap===`margin`,s=vE(e.hAnchor,t),c=yE(e.vAnchor,n,i,t),l=e.w==null?r:e.w,u;if(o)u=Math.max(1,e.lines)*a;else{let t=e.h??0;u=e.hRule===`exact`?t:e.hRule===`atLeast`?Math.max(t,i):i}let d;d=e.dropCap===`drop`?s.left:e.dropCap===`margin`?s.left-l:e.xAlign?bE(e.xAlign,s.left,s.right,l):s.left+(e.x??0);let f;f=o?c.start:e.yAlign&&e.vAnchor!==`text`?xE(e.yAlign,c,u):c.start+(e.y??0),(e.vAnchor===`page`||e.vAnchor===`margin`)&&(f=SE(f,u,c));let p=e.wrap===`around`||e.wrap===`auto`?e.hSpace:0,m=e.vSpace;return{x:d,y:f,w:l,h:u,exLeft:d-p,exRight:d+l+p,exTop:f-m,exBottom:f+u+m}}function wE(e,t){if(t.kind===`table`&&t.tableOverlap===void 0)throw Error(`Floating-table transport omitted tblOverlap`);let n=t.x,r=t.y;if(t.avoidOverlap){let i={occurrenceId:`display-moving-float`,paragraphId:t.paraId,bounds:{xPt:n,yPt:r,widthPt:t.w,heightPt:t.h},exclusionBounds:{xPt:n-t.dl,yPt:r-t.dt,widthPt:t.w+t.dl+t.dr,heightPt:t.h+t.dt+t.db}},a=xp({moving:t.kind===`table`?{...i,kind:`table`,tableOverlap:t.tableOverlap}:{...i,kind:t.kind===`frame`?`frame`:`drawingml`},blockers:e.floats.map(hp),avoidance:t.kind===`table`?fp(t.tableOverlap,t.paraId):pp(t.allowOverlap??!0,t.paraId),rightBoundaryPt:e.pageWidth,overlapEpsilonPt:up,rightBoundarySlackPt:dp});n=a.bounds.xPt,r=a.bounds.yPt}let i={mode:t.mode,imageKey:t.imageKey,imageX:n,imageY:r,imageW:t.w,imageH:t.h,xLeft:n-t.dl,xRight:n+t.w+t.dr,yTop:r-t.dt,yBottom:r+t.h+t.db,side:t.side,distLeft:t.dl,distRight:t.dr,distTop:t.dt,distBottom:t.db,paraId:t.paraId},a=t.kind===`table`?{...i,kind:`table`,tableOverlap:t.tableOverlap}:{...i,kind:t.kind};return e.floats.push(a),a}function TE(e){return e.xPt+e.widthPt}function EE(e){return e.yPt+e.heightPt}function DE(e,t,n,r){return e===`center`?t+(n-t-r)/2:e===`right`||e===`outside`?n-r:t}function OE(e,t,n,r){return e===`center`?t+(n-t-r)/2:e===`bottom`||e===`outside`?n-r:t}function kE(e,t,n,r,i=!1){let a=e.horzSpecified?e.horzAnchor===`page`?t.page:e.horzAnchor===`margin`?t.margin:t.text:t.text,o=e.vertAnchor===`page`?t.page:e.vertAnchor===`margin`?t.margin:t.text,s=e.xAlign?DE(e.xAlign,a.xPt,TE(a),n):a.xPt+e.xPt,c=e.yAlign&&e.vertAnchor!==`text`?OE(e.yAlign,o.yPt,EE(o),r):o.yPt+e.yPt;return!i&&(e.vertAnchor===`page`||e.vertAnchor===`margin`)&&c+r>EE(o)&&(c=Math.max(o.yPt,EE(o)-r)),Object.freeze({x:s,y:c,w:n,h:r})}function AE(e,t,n,r){return kE(e,t,n,r)}function jE(e,t,n){let r=e.child.columnWidthsPt.reduce((e,t)=>e+t,0),i=e.child.advancePt,a=e.positioning,o=Object.freeze({xPt:t,yPt:n,widthPt:r,heightPt:i}),s=Object.freeze({xPt:t-a.leftFromTextPt,yPt:n-a.topFromTextPt,widthPt:r+a.leftFromTextPt+a.rightFromTextPt,heightPt:i+a.topFromTextPt+a.bottomFromTextPt});return Object.freeze({kind:`resolved-floating-table-placement`,occurrenceId:e.occurrenceId,xPt:t,yPt:n,bounds:o,exclusionBounds:s,overlap:e.overlap,child:e.child,source:e})}function ME(e,t){let n=e.child.columnWidthsPt.reduce((e,t)=>e+t,0),r=e.child.advancePt,i=AE(e.positioning,t,n,r),a=Eb(e.positioning);return jE(e,a.x&&e.acquiredTextOffsetPt?t.text.xPt+e.acquiredTextOffsetPt.xPt:i.x,a.y&&e.acquiredTextOffsetPt?t.text.yPt+e.acquiredTextOffsetPt.yPt:i.y)}function NE(e,t,n){return Object.freeze({coordinateSpace:e.coordinateSpace,flowDomainId:e.flowDomainId,baseEntries:e.entries,baseNextParagraphId:e.nextParagraphId,nextParagraphId:n,entries:Object.freeze([...t])})}function PE(e,t){if(t.coordinateSpace!==e.coordinateSpace||t.flowDomainId!==e.flowDomainId||t.entries!==e.baseEntries||t.nextParagraphId!==e.baseNextParagraphId)throw Error(`Floating table registry delta base/domain mismatch`);let n=new Set(t.entries.map(e=>e.occurrenceId));if(e.entries.some(e=>n.has(e.occurrenceId)))throw Error(`Floating table registry delta was already committed`);if(e.nextParagraphId!==e.baseNextParagraphId+e.entries.length)throw Error(`Floating table registry delta sequence mismatch`)}function FE(e,t,n=`logical-page-points`,r=`logical-page`){let i=new Set;for(let t of e){if(i.has(t.occurrenceId))throw Error(`Duplicate float registry occurrence: ${t.occurrenceId}`);i.add(t.occurrenceId)}return Object.freeze({coordinateSpace:n,flowDomainId:r,base:Object.freeze([...e]),delta:Object.freeze([]),nextParagraphId:t})}function IE(e,t,n){let r=[...n.base,...n.delta],i=r.find(t=>t.occurrenceId===e.occurrenceId);if(i)return Object.freeze({placement:Object.freeze({...jE(e,i.bounds.xPt,i.bounds.yPt),bounds:i.bounds,exclusionBounds:i.exclusionBounds}),transaction:n});let a=ME(e,t),o=xp({moving:{occurrenceId:e.occurrenceId,kind:`table`,tableOverlap:e.overlap,paragraphId:n.nextParagraphId,bounds:a.bounds,exclusionBounds:a.exclusionBounds},blockers:r.filter(e=>e.kind!==`shape`||e.wrap!==void 0).map(mp),avoidance:fp(e.overlap,n.nextParagraphId),rightBoundaryPt:TE(t.page),overlapEpsilonPt:up,rightBoundarySlackPt:dp}),s=jE(e,o.bounds.xPt,o.bounds.yPt),c=Object.freeze({kind:`table`,occurrenceId:e.occurrenceId,overlap:e.overlap,paragraphId:n.nextParagraphId,bounds:s.bounds,exclusionBounds:s.exclusionBounds});return Object.freeze({placement:s,transaction:Object.freeze({coordinateSpace:n.coordinateSpace,flowDomainId:n.flowDomainId,base:n.base,delta:Object.freeze([...n.delta,c]),nextParagraphId:n.nextParagraphId+1})})}function LE(e,t,n){let r=n.pageWidth,i=n.marginLeft,a=n.marginRight;switch(e??(t?`margin`:`page`)){case`page`:return{start:0,end:r};case`leftMargin`:return{start:0,end:i};case`rightMargin`:return{start:r-a,end:r};case`insideMargin`:return{start:0,end:i};case`outsideMargin`:return{start:r-a,end:r};case`character`:case`column`:return{start:n.contentX,end:n.contentX+n.contentW};default:return{start:i,end:r-a}}}function RE(e,t,n,r){let i=r.marginTop,a=r.marginBottom;switch(e??(t?`paragraph`:`page`)){case`page`:return{start:0,end:r.pageH};case`topMargin`:return{start:0,end:i};case`bottomMargin`:return{start:r.pageH-a,end:r.pageH};case`paragraph`:case`line`:return{start:n,end:r.pageH};default:return{start:i,end:r.pageH-a}}}function zE(e,t,n,r,i,a,o,s){let c=LE(a,t,i);if(o!=null)return c.start+(c.end-c.start)*o+n;if(!e)return c.start+n;let l=c.end-c.start,u=s??r,d=s==null?0:n;switch(e){case`center`:return c.start+(l-u)/2+d;case`right`:case`outside`:return c.end-u+d;default:return c.start+d}}function BE(e,t,n,r,i,a,o,s,c){let l=RE(o,t,i,a);if(s!=null)return l.start+(l.end-l.start)*s+n;if(!e)return l.start+n;let u=l.end-l.start,d=c??r,f=c==null?0:n;switch(e){case`center`:return l.start+(u-d)/2+f;case`bottom`:case`outside`:return l.end-d+f;default:return l.start+f}}function VE(e){return HE(e.textDirection)}function HE(e){return typeof e==`string`&&g_(e)}function UE(e){return e===`btLr`}function WE(e){return{...e,...m_(e)}}function GE(e){return{...e,...h_(e)}}function KE(e){for(let t of e.body){if(t.type!==`paragraph`)continue;let e=t;if(typeof e.defaultFontSize==`number`)return e.defaultFontSize;for(let t of e.runs)if(t.type===`text`)return t.fontSize}return 10}function qE(e){return{pageIndex:e.pageIndex,totalPages:e.totalPages,displayPageNumber:e.displayPageNumber,pageNumberFormat:e.pageNumberFormat,currentDateMs:e.currentDateMs,noteNumbers:e.noteNumbers,noteReferenceNumber:e.noteReferenceNumber,pageWritingMode:Rd(e.sectionLayout.textDirection),verticalCJK:e.verticalCJK&&!e.verticalAllRotated,verticalPageFrame:e.verticalCJK===!0,documentHasEastAsianText:e.docEastAsian,useFeLayout:e.layoutSettings.compat.useFeLayout,balanceSingleByteDoubleByteWidth:e.layoutSettings.compat.balanceSingleByteDoubleByteWidth,characterSpacingControl:e.layoutSettings.characterSpacingControl,resolvedLocalFonts:e.resolvedLocalFonts,layoutServices:e.layoutServices,verticalGlyphMeasurement:e.verticalGlyphMeasurement}}function JE(e,t){let n=mg(t);return{type:n?n.type:t.lineGrid.active?e.sectionLayout.grid.kind:null,linePitchPt:t.lineGrid.active?t.lineGrid.pitchPt:null,characterPitchPt:n?.characterPitchPt??null,charSpacePt:n?.charSpacePt??null}}const YE=Object.freeze({story:`body`,containers:Object.freeze([]),lineNumberingEligible:!0});function XE(e){let t=Math.max(0,e.pageH-e.marginTop-e.marginBottom);return{page:{xPt:0,yPt:0,widthPt:e.pageWidth,heightPt:e.pageH},margin:{xPt:e.marginLeft,yPt:e.marginTop,widthPt:Math.max(0,e.pageWidth-e.marginLeft-e.marginRight),heightPt:t},column:{xPt:e.contentX,yPt:e.marginTop,widthPt:e.contentW,heightPt:t},pageParity:e.pageIndex%2==0?`odd`:`even`}}function ZE(e,t,n){return bg(n,{numbering:t.numbering,...t.numbering?{markerInput:e.acquisitionInputs.numberingMarkerShapeInput(t.numbering,ah(t))}:{},authoredFirstIndentPt:t.indentFirst,tabStops:t.tabStops,defaultTabPt:e.defaultTabPt,service:e.layoutServices?.text})}function QE(e,t){return ZE(e,t,r_(e.layoutSettings,e.sectionLayout,YE,t))}function $E(e,t){return ZE(e,t,r_(e.layoutSettings,e.sectionLayout,e.storyContext??YE,t))}function eD(e){return{...e,storyContext:Kg(e.storyContext??YE)}}function tD(e,t){let n=e.retainedTablesBySourceIndex?.get(t);if(!n)throw Error(`Table placement requires retained table acquisition`);return n}function nD(e,t){let n=e<0n?-e:e,r=t<0n?-t:t;for(;r!==0n;)[n,r]=[r,n%r];return n===0n?1n:n}function rD(e,t){if(t===0n)throw RangeError(`Exact length denominator must not be zero`);let n=t<0n?-1n:1n,r=nD(e,t);return Object.freeze({numerator:n*e/r,denominator:n*t/r})}function iD(e){let t=/^([+-]?)(?:(\\d+)(?:\\.(\\d*))?|\\.(\\d+))(?:[eE]([+-]?\\d+))?$/.exec(e);if(!t)return null;let n=t[1]===`-`,r=t[2]??``,i=t[3]??t[4]??``,a=Number(t[5]??`0`);if(!Number.isSafeInteger(a))return null;let o=`${r}${i}`,s=0;for(;s<o.length&&o.charCodeAt(s)===48;)s+=1;if(s===o.length)return rD(0n,1n);let c=o.length-1;for(;c>s&&o.charCodeAt(c)===48;)--c;let l=o.slice(s,c+1),u=o.length-1-c,d=a-i.length+u,f=d+l.length-1;if(l.length>768||Math.abs(f)>1100)return null;let p=BigInt(l),m=1n;return d>=0?p*=10n**BigInt(d):m=10n**BigInt(-d),n&&(p=-p),rD(p,m)}function aD(e){let t=/^(-?\\d+)\\/([1-9]\\d*)$/.exec(e);if(!t)throw RangeError(`Invalid exact length key: ${e}`);return rD(BigInt(t[1]),BigInt(t[2]))}function oD(e){let t=rD(e.numerator,e.denominator);return`${t.numerator}/${t.denominator}`}function sD(e){let t=iD(e);return t?oD(t):null}function cD(e){if(!Number.isFinite(e)||e<0)return null;let t=iD(e.toString());return t?oD(t):null}function lD(e,t){let n=e.toString(2).length-t.toString(2).length;return(n>=0?e<t<<BigInt(n):e<<BigInt(-n)<t)&&--n,n}function uD(e,t,n){let r=n>=0?e<<BigInt(n):e,i=n<0?t<<BigInt(-n):t,a=r/i,o=r%i*2n-i;return o>0n||o===0n&&a%2n!=0n?a+1n:a}function dD(e){let t=aD(e);if(t.numerator===0n)return 0;let n=t.numerator<0n,r=n?-t.numerator:t.numerator,i=lD(r,t.denominator),a;if(i<-1022){let e=uD(r,t.denominator,1074);a=Number(e)*Number.MIN_VALUE}else{let e=uD(r,t.denominator,52-i);e===1n<<53n&&(e>>=1n,i+=1),a=i>1023?1/0:Number(e)*2**(i-52)}return n?-a:a}function fD(e,t){let n=aD(e),r=aD(t);return oD(rD(n.numerator*r.denominator+r.numerator*n.denominator,n.denominator*r.denominator))}function pD(e,t){let n=aD(e),r=aD(t);return oD(rD(n.numerator*r.numerator,n.denominator*r.denominator))}function mD(e,t){let n=aD(e),r=aD(t);return oD(rD(n.numerator*r.denominator-r.numerator*n.denominator,n.denominator*r.denominator))}function hD(e,t){if(t===0n)throw RangeError(`Exact length divisor must not be zero`);let n=aD(e);return oD(rD(n.numerator,n.denominator*t))}function gD(e,t){let n=aD(e),r=aD(t),i=n.numerator*r.denominator-r.numerator*n.denominator;return i<0n?-1:+(i>0n)}const _D=1e-9;function vD(e,t,n,r){let i=Number.isFinite(e)?Math.max(0,e):0,a=Math.max(0,t),o=a+Math.max(1,n);return{startPt:a===0?i:i/2,endPt:o>=Math.max(0,r)?i:i/2}}function yD(e){return typeof e==`number`&&Number.isFinite(e)?Math.max(0,e):0}function bD(e){return e.map(e=>Math.abs(e)<=_D?0:e)}function xD(e){let t=e.gridWidthsPt.length;for(let n of e.rows){for(let e of n.cells)t=Math.max(t,e.columnStart+Math.max(1,e.columnSpan));let e=n.cells.reduce((e,t)=>Math.max(e,t.columnStart+Math.max(1,t.columnSpan)),n.before?.columnSpan??0);t=Math.max(t,e+(n.after?.columnSpan??0))}return t}function SD(e,t,n){let r=0,i=Math.min(e.length,t+Math.max(1,n));for(let n=Math.max(0,t);n<i;n+=1)r+=e[n]??0;return r}function CD(e,t){return e?e.kind===`pct`?yD(e.value)*t:yD(e.value):null}function wD(e,t,n,r){let i=Math.max(0,t),a=Math.max(1,Math.min(n,e.length-i));if(a<=0)return;let o=SD(e,i,a);if(o<=_D){e[i+a-1]=r;return}let s=r/o;for(let t=i;t<i+a;t+=1)e[t]=(e[t]??0)*s}function TD(e,t,n,r){let i=Math.max(0,t),a=Math.max(1,Math.min(n,e.length-i));if(a<=0)return;let o=SD(e,i,a);r<=o+_D||(e[i+a-1]+=r-o)}function ED(e,t){let n=[];e.before&&e.before.columnSpan>0&&n.push({start:0,span:e.before.columnSpan,preferred:e.before.preferredWidth});for(let t of e.cells)n.push({start:t.columnStart,span:t.columnSpan,preferred:t.preferredWidth});return e.after&&e.after.columnSpan>0&&n.push({start:Math.max(0,t-e.after.columnSpan),span:e.after.columnSpan,preferred:e.after.preferredWidth}),n}function DD(e,t){let n=Array.from({length:t},(t,n)=>yD(e.gridWidthsPt[n]??0)),r=n.reduce((e,t)=>e+t,0),i=e.tablePreferredWidthPt??(r>0?r:yD(e.availableWidthPt));e.rows.forEach((e,r)=>{for(let a of ED(e,t)){let e=CD(a.preferred,i);e!==null&&(r===0?wD(n,a.start,a.span,e):TD(n,a.start,a.span,e))}}),e.tablePreferredWidthPt===null&&OD(n,e.rows);let a=e.tablePreferredWidthPt,o=n.reduce((e,t)=>e+t,0);if(a!==null&&a>=0&&o<=_D&&n.length>0)return n.map(()=>a/n.length);if(a!==null&&a>=0&&o>_D){let e=a/o;return n.map(t=>t*e)}return n}function OD(e,t){let n=Array(e.length).fill(0);for(let r of t)for(let t of r.cells){if(t.columnSpan!==1||t.preferredWidth?.kind!==`pct`)continue;let r=t.columnStart;r<0||r>=e.length||(n[r]=Math.max(n[r]??0,yD(t.preferredWidth.value)))}let r=e.reduce((e,t)=>e+t,0),i=n.map((t,n)=>t*r>e[n]+_D),a=new Set;for(;i.some(Boolean);){let t=i.map(e=>e?`1`:`0`).join(``);if(a.has(t))return;a.add(t);let o=0,s=0;for(let t=0;t<e.length;t+=1)i[t]?s+=n[t]??0:o+=e[t]??0;if(s>=1-_D)return;r=o/(1-s);let c=n.map((t,n)=>t*r>e[n]+_D);if(c.every((e,t)=>e===i[t])){for(let t=0;t<e.length;t+=1)i[t]&&(e[t]=n[t]*r);return}i=c}}function kD(e,t,n){let r=Array(t).fill(0),i=Array(t).fill(0);for(let n of e)for(let e of n.cells)e.columnSpan!==1||e.columnStart<0||e.columnStart>=t||(r[e.columnStart]=Math.max(r[e.columnStart]??0,yD(e.minContentWidthPt)),i[e.columnStart]=Math.max(i[e.columnStart]??0,yD(e.maxContentWidthPt)));let a=Array(t).fill(!1);for(let o of e)for(let e of o.cells){let o=e.columnStart;if(e.columnSpan!==1||o<0||o>=t||a[o]||e.preferredWidth===null)continue;let s=CD(e.preferredWidth,n);s!==null&&(i[o]=Math.max(r[o]??0,s),a[o]=!0)}for(let e=0;e<t;e+=1)i[e]=Math.max(r[e]??0,i[e]??0);return{minimums:r,maximums:i}}function AD(e,t,n,r,i){let a=Math.min(e.length,n+r),o=e.map((e,t)=>t).filter(e=>e<n||e>=a),s=o.map(n=>Math.max(0,e[n]-(t[n]??0))),c=s.reduce((e,t)=>e+t,0),l=Math.min(i,c);return l<=_D||c<=_D?0:(o.forEach((t,n)=>{e[t]-=l*((s[n]??0)/c)}),l)}function jD(e,t,n,r){if(r<=_D||n<=0)return;let i=SD(e,t,n);for(let a=0;a<n;a+=1){let o=t+a,s=i>_D?(e[o]??0)/i:1/n;e[o]+=r*s}}function MD(e){let t=xD(e);if(e.layout===`fixed`){let n=DD(e,t).reduce((e,t)=>e+t,0);return Object.freeze({minWidthPt:n,maxWidthPt:n})}let n=Array(t).fill(0),r=Array(t).fill(0),i=e.rows.flatMap(e=>e.cells).sort((e,t)=>e.columnSpan-t.columnSpan),a=(e,t,n)=>{let r=Math.max(0,t.columnStart),i=Math.max(1,Math.min(t.columnSpan,e.length-r));if(i<=0)return;let a=yD(n)-SD(e,r,i);a>_D&&jD(e,r,i,a)};for(let e of i)a(n,e,e.minContentWidthPt),a(r,e,Math.max(e.minContentWidthPt,e.maxContentWidthPt));let o=n.reduce((e,t)=>e+t,0),s=Math.max(o,r.reduce((e,t)=>e+t,0));return Object.freeze({minWidthPt:o,maxWidthPt:s})}function ND(e,t,n,r){let i=Math.max(0,r.columnStart),a=Math.max(1,Math.min(r.columnSpan,e.length-i));if(a<=0)return;let o=yD(r.minContentWidthPt),s=SD(e,i,a);if(o<=s+_D)return;let c=a===1?n[i]??o:Math.max(o,yD(r.maxContentWidthPt));jD(e,i,a,AD(e,t,i,a,Math.max(0,c-s)));let l=SD(e,i,a);l<o-_D&&jD(e,i,a,o-l)}function PD(e,t,n,r){let i=e.reduce((e,t)=>e+t,0);if(i<=r+_D||i<=_D)return e;let a=[...e],o=a.map((e,n)=>Math.max(0,e-(t[n]??0))),s=o.reduce((e,t)=>e+t,0),c=Math.min(i-r,s);c>_D&&s>_D&&a.forEach((e,t)=>{a[t]-=c*((o[t]??0)/s)});for(let e of n){if(e.columnSpan<=1)continue;let n=Math.max(0,e.columnStart),r=Math.max(1,Math.min(e.columnSpan,a.length-n)),i=yD(e.minContentWidthPt)-SD(a,n,r);if(i<=_D)continue;let o=AD(a,t,n,r,i);jD(a,n,r,o),o<i-_D&&jD(a,n,r,i-o)}let l=a.reduce((e,t)=>e+t,0);if(l<=r+_D||l<=_D)return bD(a);let u=Math.max(0,r)/l;return bD(a.map(e=>e*u))}function FD(e){let t=xD(e);if(t===0)return Object.freeze([]);let n=DD(e,t);if(e.layout===`fixed`){if(e.availableWidthPt===null)return Object.freeze(n);let t=n.reduce((e,t)=>e+t,0),r=yD(e.availableWidthPt);if(t<=r+_D||t<=_D)return Object.freeze(n);let i=r/t;return Object.freeze(bD(n.map(e=>e*i)))}let r=n.reduce((e,t)=>e+t,0),{minimums:i,maximums:a}=kD(e.rows,t,r),o=e.rows.flatMap(e=>e.cells);o.sort((e,t)=>e.columnSpan-t.columnSpan);for(let e of o)ND(n,i,a,e);return Object.freeze(PD(n,i,o,yD(e.availableWidthPt)))}function ID(e){let t=FD(e),n=t.map((t,n)=>{let r=t!==e.gridWidthsPt[n];return!r&&e.gridWidthKeys?.[n]===null?null:!r&&e.gridWidthKeys?.[n]!==void 0?e.gridWidthKeys[n]:cD(t)??`0/1`});return Object.freeze({widthsPt:Object.freeze([...t]),widthKeys:Object.freeze(n)})}function LD(e){return ID(e).widthsPt}function RD(e,t){if(t!==e.length-1||t===0)return!1;let n=e[t],r=e[t-1];return n?.type===`paragraph`&&r?.type===`table`&&n.runs.length===0}function zD(e,t){let{cell:n,table:r,cellTotalWidthPt:i,outerState:a,sourcePath:o}=e,s=t.resolveContentWidthPt(n,r,i),c=t.createCellState(a,s,n),l=[];for(let e=0;e<n.content.length;e+=1){let r=n.content[e];if(!r)continue;let i=[...o,e];if(r.type===`paragraph`){let a=n.content[e-1],o=n.content[e+1],u=r,d=t.acquireParagraph(c,u,s,i,Lg(a?.type===`paragraph`?a:null,u,o?.type===`paragraph`?o:null));l.push(d),t.advanceState(c,d.advancePt);continue}let a=r,u=r;l.push(t.acquireNestedTable(c,a,s,i,{fromPrevious:u.nestedSliceContinuesFromPrevious??!1,onNext:u.nestedSliceContinuesOnNext??!1},(e,n,r,i,a)=>zD({cell:e,table:n,cellTotalWidthPt:r,outerState:i,sourcePath:a},t)))}return l}X({id:`word-exact-row-height-bottom-padding`,evidence:{kind:`microsoft-note`,reference:`[MS-OI29500] §2.1.180(d)`},description:`Word adds the largest bottom cell margin to an exact trHeight instead of treating that margin as part of the authored height.`}),X({id:`word-table-border-layer-cascade`,evidence:{kind:`microsoft-note`,reference:`[MS-OI29500] §2.1.169`},description:`During per-side border acquisition, none falls through to a lower-precedence layer while nil remains authored and blocks fallback only on that side.`}),X({id:`word-spaced-cell-inside-border-conflict`,evidence:{kind:`microsoft-note`,reference:`[MS-OI29500] §§2.1.136, 2.1.138`},description:`With non-zero cell spacing, Word retains the narrow conditional tcBorders insideH/insideV conflict against the corresponding table inside border.`}),X({id:`word-table-indent-all-alignments`,evidence:{kind:`microsoft-note`,reference:`[MS-OI29500] §2.1.155`},description:`Word applies tblInd as a signed leading-edge translation for every table alignment, reversing the translation for bidi visual order.`}),X({id:`word-exact-row-vertical-clip-only`,evidence:{kind:`regression-test`,reference:`packages/docx/src/layout/table.test.ts#clips an overflowing merged owner when every row in its span is exact`},description:`Preserve the established exact-row overflow behavior that clips the owned vertical interval without clipping nested table ink horizontally to the cell box.`}),X({id:`word-over-page-cant-split-clip`,evidence:{kind:`microsoft-note`,reference:`[MS-OI29500] §2.1.120`},description:`Word starts an over-page cantSplit row on a fresh page and clips its overflow instead of synthesizing a row continuation.`}),X({id:`word-positioned-table-adjacency-exclusion`,evidence:{kind:`microsoft-note`,reference:`[MS-OI29500] §2.1.149(a)`},description:`Word excludes effectively positioned tables from the logical adjacent-table sequence before retained layout consumes the parser-owned sequence identity.`}),X({id:`word-table-border-weight-precedence`,evidence:{kind:`microsoft-note`,reference:`[MS-OI29500] §2.1.169`},description:`Use the documented Word border numbers for shared-cell conflict weight and force dotted and dashed borders to a complete weight of one.`}),X({id:`word-omitted-row-height-rule-at-least`,evidence:{kind:`microsoft-note`,reference:`[MS-OI29500] §2.1.180`},description:`Treat an omitted trHeight hRule as atLeast while retaining an explicitly authored auto rule as authored input.`}),X({id:`word-authored-auto-row-height-floor`,evidence:{kind:`regression-test`,reference:`packages/docx/src/table-row-height.test.ts#auto with @val — @val is honored as a lower bound`},description:`Preserve the established legacy-model behavior that an auto row with an authored height value uses that value as a lower bound.`}),X({id:`word-collapsed-border-row-track-footprint`,evidence:{kind:`office-observation`,syntheticFixtureId:`collapsed-border-row-track-matrix`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`For automatic and at-least table rows with collapsed cell boundaries, Word includes half of the winning top and bottom rule widths in each row track. Exact rows retain their authored complete height, and cell spacing keeps independent edges out of the collapsed footprint.`}),X({id:`word-effective-floating-table-positioning`,evidence:{kind:`microsoft-note`,reference:`[MS-OI29500] §2.1.162`},description:`Use parser-retained effective positioning status rather than lexical tblpPr presence to decide whether a table leaves ordinary flow.`}),X({id:`word-table-cell-spacing-scope-shadow`,evidence:{kind:`microsoft-note`,reference:`[MS-OI29500] §§2.1.152, 2.1.153, 2.1.154`},description:`At each table-cell-spacing precedence scope, pct, auto, and nil resolve to zero and shadow lower scopes instead of being treated as absent.`}),X({id:`word-table-margin-scope-shadow`,evidence:{kind:`microsoft-note`,reference:`[MS-OI29500] §§2.1.116, 2.1.125, 2.1.146, 2.1.177`},description:`Preserve the documented scope-specific treatment of non-dxa table cell margins: leading/trailing defaults may resolve to zero while cell/exception and nil top/bottom values remain ignored.`}),X({id:`word-first-row-table-exception-scope`,evidence:{kind:`microsoft-note`,reference:`[MS-OI29500] §§2.1.156, 2.1.158, 2.1.167`},description:`Apply the supported first-row table-property exception facts at table scope, including authored preferred-width shadowing.`}),X({id:`word-trailing-structural-cell-marker`,evidence:{kind:`regression-test`,reference:`packages/docx/src/layout/compatibility.test.ts#drops only an empty trailing paragraph after a non-paragraph cell block`},description:`Exclude the required empty trailing cell paragraph from row-height and vertical-alignment measurements when it follows a visible non-paragraph block.`}),X({id:`word-cell-vertical-alignment-ink-block`,evidence:{kind:`regression-test`,reference:`packages/docx/src/cell-valign-leading-spacing.test.ts#inked block is vertically centred in the cell (midpoint = cell midpoint)`},description:`Center or bottom-align the visible cell ink block without charging the first paragraph spaceBefore or final paragraph spaceAfter at the cell edges.`}),X({id:`word-vertical-merge-terminal-border`,evidence:{kind:`regression-test`,reference:`packages/docx/src/cell-border-conflict-render.test.ts#uses the final continuation cell border at the bottom of a vertical merge`},description:`Resolve the bottom edge of a vertically merged cell from its terminal continuation cell before applying shared-edge conflict rules.`}),X({id:`word-vertical-section-upright-block-table`,evidence:{kind:`regression-test`,reference:`packages/docx/src/vertical-table-upright.test.ts#the table advances the flow by its PHYSICAL WIDTH; body text stays vertical`},description:`Paint a block table in an upright physical frame within a vertical section and charge its physical width as the body-flow advance.`});function BD(e,t){return Math.max(0,e??0)+Math.max(0,...t)}function VD(e,t){return(Math.max(0,e)+Math.max(0,t))/2}function HD(e){return e!=null&&e!==`none`}function UD(e,t,n){return n?e-t:e+t}function WD(e){return e.spacingPt>0&&!HD(e.directStyle)&&HD(e.conditionalInsideStyle)}function GD(e,t){let n=Math.min(e.xPt,t.xPt),r=Math.max(e.xPt+e.widthPt,t.xPt+t.widthPt);return Object.freeze({xPt:n,yPt:e.yPt,widthPt:r-n,heightPt:e.heightPt})}function KD(e){return e.compatibility===`word`&&e.availableHeightPt+e.epsilonPt>=e.freshPageHeightPt}const qD=Object.freeze([`single`,`thick`,`double`,`dotted`,`dashed`,`dotDash`,`dotDotDash`,`triple`,`thinThickSmallGap`,`thickThinSmallGap`,`thinThickThinSmallGap`,`thinThickMediumGap`,`thickThinMediumGap`,`thinThickThinMediumGap`,`thinThickLargeGap`,`thickThinLargeGap`,`thinThickThinLargeGap`,`wave`,`doubleWave`,`dashSmallGap`,`dashDotStroked`,`threeDEmboss`,`threeDEngrave`,`outset`,`inset`]),JD=Object.freeze({single:1,thick:2,double:3,dotDash:8,dotDotDash:9,triple:10,thinThickSmallGap:11,thickThinSmallGap:12,thinThickThinSmallGap:13,thinThickMediumGap:14,thickThinMediumGap:15,thinThickThinMediumGap:16,thinThickLargeGap:17,thickThinLargeGap:18,thinThickThinLargeGap:19,wave:20,doubleWave:21,dashSmallGap:22,dashDotStroked:23,threeDEmboss:24,threeDEngrave:25,outset:26,inset:27});function YD(e,t){return e===`dotted`||e===`dashed`?1:Math.max(0,t)*8*(JD[e]??0)}function XD(e,t){return t?e:`atLeast`}function ZD(e,t){return e===`pct`||e===`auto`||e===`nil`?0:t}function QD(e){return e.kind===`dxa`?e.dxaValuePt:e.scope===`cell`||e.scope===`exception`?null:(e.edge===`start`||e.edge===`end`)&&(e.kind===`pct`||e.kind===`auto`||e.kind===`nil`)?0:null}function $D(e){return YD(e.style,e.width)}function eO(e){let t=qD.indexOf(e);return t===-1?qD.length:t}function tO(e){if(!e)return{r:0,g:0,b:0};let t=e.replace(/^#/,``);return t.length!==6||/[^0-9a-fA-F]/.test(t)?{r:0,g:0,b:0}:{r:parseInt(t.slice(0,2),16),g:parseInt(t.slice(2,4),16),b:parseInt(t.slice(4,6),16)}}function nO(e,t){let n=tO(e),r=tO(t),i=e=>e.r+e.b+2*e.g,a=e=>e.b+2*e.g,o=e=>e.g;for(let e of[i,a,o]){let t=e(n)-e(r);if(t!==0)return t}return 0}function rO(e,t){let n=e=>e&&e.spec.style!==`nil`&&e.spec.style!==`none`?e:null,r=n(e),i=n(t);if(!r&&!i)return null;if(!r)return i;if(!i||r.source===`cell`&&i.source===`table`)return r;if(i.source===`cell`&&r.source===`table`)return i;let a=$D(r.spec),o=$D(i.spec);if(a!==o)return a>o?r:i;let s=eO(r.spec.style),c=eO(i.spec.style);if(s!==c)return s<c?r:i;let l=nO(r.spec.color,i.spec.color);return l===0||l<0?r:i}function iO(...e){for(let t of e)if(t&&HD(t.authoredStyle))return t;return null}function aO(e){return Math.max(0,e.advancePt-e.spacing.beforePt-e.spacing.afterPt)}function oO(e){let t=[],n=0,r=null,i=0,a,o=0,s=null,c=null;for(let l of e){let e=l.layout;if(e.kind===`paragraph`){let u=e.spacing.beforePt,d=e.spacing.afterPt,f=r?JS(r,e,i,u):u,p=l.structuralTrailing?0:aO(e),m=n+(l.structuralTrailing?0:f);if(t.push({layout:e,offsetPt:m,advancePt:p}),l.structuralTrailing||(n=m+p,a??=m,o=Math.max(o,n),r=e,i=d),e.cellContainmentBounds){let t=m+e.cellContainmentBounds.yPt-e.flowBounds.yPt,n=t+e.cellContainmentBounds.heightPt;a=a===void 0?t:Math.min(a,t),o=Math.max(o,n),s=s===null?t:Math.min(s,t),c=c===null?n:Math.max(c,n)}continue}r&&(n+=i);let u=e.advancePt;t.push({layout:e,offsetPt:n,advancePt:u}),a??=n,n+=u,o=n,r=null,i=0}let l=n+(r?i:0),u=a??0;return{blocks:t,flowHeightPt:l,inkTopPt:u,inkHeightPt:Math.max(0,o-u),cellContainmentTopPt:s,cellContainmentBottomPt:c}}function sO(e){let t=e.cellContainmentTopPt??0,n=e.cellContainmentBottomPt??0;return Math.max(e.flowHeightPt,n)-Math.min(0,t)}function cO(e){return sO(oO(e))}function lO(e){return Number.isFinite(e?.cellSpacingPt)?Math.max(0,e?.cellSpacingPt??0):0}function uO(e,t){let n=lO(e[t]),r=lO(e[t-1]),i=lO(e[t+1]);return{topPt:t===0?n:Math.max(r,n)/2,bottomPt:t===e.length-1?n:Math.max(n,i)/2}}function dO(e,t,n){return n.topPt+e.margins.topPt+sO(t)+e.margins.bottomPt+n.bottomPt}function fO(e,t,n,r){let i=t;for(let a=t+1;a<e.length&&e[a]?.cells.find(e=>e.columnStart===n&&e.columnSpan===r&&e.verticalMerge===`continue`);a+=1)i=a;return i}function pO(e){return e.heightRule===`exact`?BD(e.heightPt,e.cells.map(e=>e.margins.bottomPt)):e.heightRule===`atLeast`?Math.max(0,e.heightPt??0):0}function mO(e,t,n){let r=e.map(e=>pO(e)),i=e.map((n,r)=>Math.max(0,...n.cells.filter(e=>e.verticalMerge!==`continue`).map(n=>{let i=n.verticalMerge===`restart`?fO(e,r,n.columnStart,n.columnSpan):r,a=uO(e,r),o=uO(e,i);return dO(n,t.get(n.id)??oO([]),{topPt:a.topPt,bottomPt:o.bottomPt})})));e.forEach((n,i)=>{let a=uO(e,i);for(let e of n.cells){if(e.verticalMerge!==`none`)continue;let o=dO(e,t.get(e.id)??oO([]),a);n.heightRule!==`exact`&&(r[i]=Math.max(r[i]??0,o))}});let a=[];e.forEach((n,r)=>{for(let i of n.cells)i.verticalMerge===`restart`&&a.push({start:r,end:fO(e,r,i.columnStart,i.columnSpan),requiredPt:dO(i,t.get(i.id)??oO([]),{topPt:uO(e,r).topPt,bottomPt:uO(e,fO(e,r,i.columnStart,i.columnSpan)).bottomPt})})}),a.sort((e,t)=>e.end-t.end||e.start-t.start);for(let t of a){let n=0;for(let e=t.start;e<=t.end;e+=1)n+=r[e]??0;let i=t.requiredPt-n;if(!(i<=0)){for(let n=t.end;n>=t.start;--n)if(e[n]?.heightRule!==`exact`){r[n]=(r[n]??0)+i;break}}}return e.forEach((e,t)=>{e.heightRule!==`exact`&&(r[t]=(r[t]??0)+(n[t]??0))}),{heights:r,contentHeights:i}}function hO(e,t){return e?{source:t,spec:{width:e.widthPt,color:e.color,style:e.authoredStyle}}:null}function gO(e,t,n,r,i,a,o,s){let c=(e,t,n,r,i,a,o)=>{let s=iO(e,o?t:null);return s?hO(s,`cell`):hO(o?iO(r,a):iO(n,i),`table`)},l=c(e.borders.top,e.borders.insideH,n?.top??null,n?.insideH??null,t.top,t.insideH,r!==0),u=c(e.borders.bottom,e.borders.insideH,n?.bottom??null,n?.insideH??null,t.bottom,t.insideH,i!==a-1),d=c(e.borders.left,e.borders.insideV,n?.left??null,n?.insideV??null,t.left,t.insideV,e.columnStart!==0),f=c(e.borders.right,e.borders.insideV,n?.right??null,n?.insideV??null,t.right,t.insideV,e.columnStart+e.columnSpan!==o);return s?{top:l,right:d,bottom:u,left:f}:{top:l,right:f,bottom:u,left:d}}function _O(e){return e?{widthPt:e.spec.width,color:e.spec.color??`#000000`,authoredStyle:e.spec.style}:null}function vO(e,t,n){let r=_O(rO(e,t));return r?{border:r,edge:n}:null}function yO(e){let t=e.columnWidthsPt.length,n=[],r=e.rows.map(()=>Array(t).fill(-1));return e.rows.forEach((i,a)=>{for(let o of i.cells){if(o.verticalMerge===`continue`)continue;let i=o.verticalMerge===`restart`?fO(e.rows,a,o.columnStart,o.columnSpan):a,s=n.length;n.push({input:o,rowIndex:a,lastRowIndex:i});let c=Math.min(t,o.columnStart+o.columnSpan);for(let e=a;e<=i;e+=1)for(let t=Math.max(0,o.columnStart);t<c;t+=1)r[e][t]=s}}),{owners:n,occupancy:r}}function bO(e,t){return t.lastRowIndex===t.rowIndex?t.input:e.rows[t.lastRowIndex]?.cells.find(e=>e.columnStart===t.input.columnStart&&e.columnSpan===t.input.columnSpan&&e.verticalMerge===`continue`)??t.input}function xO(e){let t=e.rows.length,n=e.columnWidthsPt.length,{owners:r,occupancy:i}=yO(e),a=(i,a=!1)=>{let o=r[i];if(!o)return null;let s=a?bO(e,o):o.input,c=a&&s!==o.input?o.lastRowIndex:o.rowIndex;return gO(s,e.borders,e.rows[c]?.exceptionBorders??null,o.rowIndex,o.lastRowIndex,t,n,e.bidiVisual)};return{horizontal:Array.from({length:t+1},(e,o)=>Array.from({length:n},(e,n)=>{let s=o>0?i[o-1]?.[n]??-1:-1,c=o<t?i[o]?.[n]??-1:-1;if(s>=0&&s===c)return null;let l=a(c),u=o===0?`top`:o===t?`bottom`:`between`;return{above:{owner:r[s]??null,border:a(s,!0)?.bottom??null},below:{owner:r[c]??null,border:l?.top??null},edge:u}})),vertical:Array.from({length:n+1},(r,o)=>Array.from({length:t},(t,r)=>{let s=o>0?i[r]?.[o-1]??-1:-1,c=o<n?i[r]?.[o]??-1:-1,l=e.bidiVisual?c:s,u=e.bidiVisual?s:c;return l>=0&&l===u?null:vO(a(l)?.right??null,a(u)?.left??null,o===0?e.bidiVisual?`right`:`left`:o===n?e.bidiVisual?`left`:`right`:`between`)})),occupancy:i}}function SO(e,t){return t.horizontal.map((t,n)=>lO(e.rows[n-1])>0||lO(e.rows[n])>0?0:t.reduce((e,t)=>{if(!t)return e;let n=vO(t.above.border,t.below.border,t.edge);return Math.max(e,n?.border.widthPt??0)},0))}function CO(e,t){let n=SO(e,t);return e.rows.map((e,t)=>e.heightRule===`exact`?0:VD(n[t]??0,n[t+1]??0))}function wO(e){return CO(e,xO(e))}function TO(e,t,n){return{edge:e.edge,from:t,to:n,color:e.border.color,widthPt:e.border.widthPt,...$d(e.border.authoredStyle,e.border.widthPt)}}const EO=Object.freeze({top:null,right:null,bottom:null,left:null,insideH:null,insideV:null});function DO(e){let t=_O(e);return t&&t.authoredStyle!==`nil`&&t.authoredStyle!==`none`?t:null}function OO(e,t,n,r,i){let a=[0];for(let t of e.columnWidthsPt)a.push((a.at(-1)??0)+t);let o=[0];for(let e of r)o.push((o.at(-1)??0)+e);let s=a.at(-1)??0,c=(n,r)=>(t[n]??0)+(e.bidiVisual?s-(a[r]??0):a[r]??0),l=e=>n+(o[e]??0),u=[],d=(e,t,n,r)=>{!e||e.authoredStyle===`nil`||e.authoredStyle===`none`||u.push(TO({border:e,edge:t},n,r))},f=new Set,p=(t,n,r,i)=>{let a=t.owner;if(!a)return;let o=`${n}:${r}:${a.input.id}`;if(f.has(o))return;f.add(o);let s=e.rows[a.rowIndex];if(!s)return;let u=lO(s),p=c(a.rowIndex,a.input.columnStart),m=c(a.rowIndex,Math.min(e.columnWidthsPt.length,a.input.columnStart+a.input.columnSpan)),{startPt:h,endPt:g}=vD(u,a.input.columnStart,a.input.columnSpan,e.columnWidthsPt.length),_=Math.min(p,m)+(e.bidiVisual?g:h),v=Math.max(p,m)-(e.bidiVisual?h:g),y=l(a.rowIndex)+uO(e.rows,a.rowIndex).topPt,b=l(a.lastRowIndex+1)-uO(e.rows,a.lastRowIndex).bottomPt,x=gO(a.input,EO,null,a.rowIndex,a.lastRowIndex,e.rows.length,e.columnWidthsPt.length,e.bidiVisual),S=r===`top`?x.top:x.bottom,C=r===`top`?y:b;d(DO(S),i,{xPt:_,yPt:C},{xPt:v,yPt:C})};return i.horizontal.forEach((n,r)=>{let a=r>0&&lO(e.rows[r-1])>0,o=r<e.rows.length&&lO(e.rows[r])>0;if(a||o){let a=Math.max(lO(e.rows[r-1]),lO(e.rows[r])),u=o?r:r-1,f=t[u]??0,m=r===0?`top`:r===e.rows.length?`bottom`:`between`;r===0||r===e.rows.length?d(iO(r===0?e.rows[0]?.exceptionBorders?.top??null:e.rows.at(-1)?.exceptionBorders?.bottom??null,r===0?e.borders.top:e.borders.bottom),m,{xPt:f,yPt:l(r)},{xPt:f+s,yPt:l(r)}):n.forEach((t,n)=>{let o=i.occupancy[r-1]?.[n]??-1,s=i.occupancy[r]?.[n]??-1;if(!t||!(o!==s&&(o>=0||s>=0))||[{side:t.above,directEdge:`bottom`},{side:t.below,directEdge:`top`}].some(({side:e,directEdge:t})=>{let n=e.owner;return n?WD({spacingPt:a,directStyle:n.input.borders[t]?.authoredStyle,conditionalInsideStyle:n.input.borders.insideH?.authoredStyle}):!1}))return;let f=c(u,n),p=c(u,n+1),h=iO(e.rows[r-1]?.exceptionBorders?.insideH??null,e.borders.insideH),g=iO(e.rows[r]?.exceptionBorders?.insideH??null,e.borders.insideH);d(vO(hO(h,`table`),hO(g,`table`),m)?.border??null,m,{xPt:Math.min(f,p),yPt:l(r)},{xPt:Math.max(f,p),yPt:l(r)})}),n.forEach(e=>{e&&(p(e.above,r,`bottom`,e.edge),p(e.below,r,`top`,e.edge))});return}let f=[],m=new Map;n.forEach(t=>{if(!t)return;let n=(t,n)=>{if(!n.owner||!n.border)return;let r=`${t}:${n.owner.input.id}`;if(m.has(r))return;let i=c(n.owner.rowIndex,n.owner.input.columnStart),a=c(n.owner.rowIndex,Math.min(e.columnWidthsPt.length,n.owner.input.columnStart+n.owner.input.columnSpan));m.set(r,{side:t,border:n.border,leftPt:Math.min(i,a),rightPt:Math.max(i,a)})};n(`above`,t.above),n(`below`,t.below)});let h=[...m.values()],g=[...new Set(h.flatMap(e=>[e.leftPt,e.rightPt]))].sort((e,t)=>e-t),_=r===0?`top`:r===e.rows.length?`bottom`:`between`;for(let e=1;e<g.length;e+=1){let t=g[e-1]??0,n=g[e]??t;if(n<=t)continue;let r=(t+n)/2,i=h.filter(e=>r>e.leftPt&&r<e.rightPt),a=vO(i.find(e=>e.side===`above`)?.border??null,i.find(e=>e.side===`below`)?.border??null,_);a&&f.push({resolved:a,leftPt:t,rightPt:n})}f.sort((e,t)=>e.leftPt-t.leftPt);let v=[];for(let e of f){let t=v.at(-1);t&&t.rightPt===e.leftPt&&t.resolved.edge===e.resolved.edge&&t.resolved.border.widthPt===e.resolved.border.widthPt&&t.resolved.border.color===e.resolved.border.color&&t.resolved.border.authoredStyle===e.resolved.border.authoredStyle?t.rightPt=e.rightPt:v.push({...e})}for(let e of v)u.push(TO(e.resolved,{xPt:e.leftPt,yPt:l(r)},{xPt:e.rightPt,yPt:l(r)}))}),i.vertical.forEach((t,n)=>{t.forEach((t,r)=>{lO(e.rows[r])>0||t&&u.push(TO(t,{xPt:c(r,n),yPt:l(r)},{xPt:c(r,n),yPt:l(r+1)}))})}),e.rows.forEach((n,r)=>{let a=lO(n);if(a<=0)return;let o=l(r),u=l(r+1),f=t[r]??0;d(iO(n.exceptionBorders?.left??null,e.borders.left),`left`,{xPt:f,yPt:o},{xPt:f,yPt:u}),d(iO(n.exceptionBorders?.right??null,e.borders.right),`right`,{xPt:f+s,yPt:o},{xPt:f+s,yPt:u});let p=new Set;for(let e of n.cells)WD({spacingPt:a,directStyle:e.borders.left?.authoredStyle,conditionalInsideStyle:e.borders.insideV?.authoredStyle})&&p.add(e.columnStart),WD({spacingPt:a,directStyle:e.borders.right?.authoredStyle,conditionalInsideStyle:e.borders.insideV?.authoredStyle})&&p.add(e.columnStart+e.columnSpan);for(let t=1;t<e.columnWidthsPt.length;t+=1){let a=i.occupancy[r]?.[t-1]??-1,s=i.occupancy[r]?.[t]??-1;if(!(a!==s&&(a>=0||s>=0)))continue;let l=c(r,t);p.has(t)||d(iO(n.exceptionBorders?.insideV??null,e.borders.insideV),`between`,{xPt:l,yPt:o},{xPt:l,yPt:u})}for(let t of n.cells){if(t.verticalMerge===`continue`)continue;let n=t.verticalMerge===`restart`?fO(e.rows,r,t.columnStart,t.columnSpan):r,i=c(r,t.columnStart),o=c(r,Math.min(e.columnWidthsPt.length,t.columnStart+t.columnSpan)),{startPt:s,endPt:u}=vD(a,t.columnStart,t.columnSpan,e.columnWidthsPt.length),f=Math.min(i,o)+(e.bidiVisual?u:s),p=Math.max(i,o)-(e.bidiVisual?s:u),m=l(r)+uO(e.rows,r).topPt,h=l(n+1)-uO(e.rows,n).bottomPt,g=gO(t,EO,null,r,n,e.rows.length,e.columnWidthsPt.length,e.bidiVisual);d(DO(g.right),`right`,{xPt:p,yPt:m},{xPt:p,yPt:h}),d(DO(g.left),`left`,{xPt:f,yPt:m},{xPt:f,yPt:h})}}),u}function kO(e,t,n,r,i){let a=r.availableBounds,o=e===`center`?a.xPt+(a.widthPt-i)/2:e===`right`?a.xPt+a.widthPt-i:a.xPt;return t===0?o:UD(o,t,n)}function AO(e,t){if(t.length===0)return e;let n=Math.min(e.xPt,...t.map(e=>Math.min(e.from.xPt,e.to.xPt)-e.widthPt/2)),r=Math.min(e.yPt,...t.map(e=>Math.min(e.from.yPt,e.to.yPt)-e.widthPt/2)),i=Math.max(e.xPt+e.widthPt,...t.map(e=>Math.max(e.from.xPt,e.to.xPt)+e.widthPt/2)),a=Math.max(e.yPt+e.heightPt,...t.map(e=>Math.max(e.from.yPt,e.to.yPt)+e.widthPt/2));return{xPt:n,yPt:r,widthPt:i-n,heightPt:a-r}}function jO(e){let t=new Map;e.forEach((e,n)=>{if(e.style!==`compound`||!e.edge||e.edge===`between`)return;let r=`${e.authoredStyle}\\u0000${e.color}\\u0000${e.widthPt}`,i=t.get(r)??[];i.push({border:e,index:n}),t.set(r,i)});let n=[];for(let e of t.values()){let t=t=>e.filter(e=>e.border.edge===t),r=t(`top`),i=t(`right`),a=t(`bottom`),o=t(`left`);if(!r.length||!i.length||!a.length||!o.length)continue;let s=Math.min(...r.flatMap(({border:e})=>[e.from.xPt,e.to.xPt])),c=Math.max(...r.flatMap(({border:e})=>[e.from.xPt,e.to.xPt])),l=r[0].border.from.yPt,u=a[0].border.from.yPt,d=(e,t,n,r)=>{let i=e.map(({border:e})=>r(e)).map(([e,t])=>[Math.min(e,t),Math.max(e,t)]).sort((e,t)=>e[0]-t[0]);if(i[0]?.[0]!==t)return!1;let a=t;for(let e of i){if(e[0]>a)return!1;a=Math.max(a,e[1])}return a===n};if(!(r.every(({border:e})=>e.from.yPt===l&&e.to.yPt===l)&&a.every(({border:e})=>e.from.yPt===u&&e.to.yPt===u)&&o.every(({border:e})=>e.from.xPt===s&&e.to.xPt===s)&&i.every(({border:e})=>e.from.xPt===c&&e.to.xPt===c)&&d(r,s,c,e=>[e.from.xPt,e.to.xPt])&&d(a,s,c,e=>[e.from.xPt,e.to.xPt])&&d(o,l,u,e=>[e.from.yPt,e.to.yPt])&&d(i,l,u,e=>[e.from.yPt,e.to.yPt])))continue;let f=e[0].border;n.push({bounds:{xPt:s,yPt:l,widthPt:c-s,heightPt:u-l},border:{authoredStyle:f.authoredStyle,color:f.color,widthPt:f.widthPt,style:f.style},segmentIndexes:e.map(({index:e})=>e)})}return n}function MO(e,t){let n=Math.max(e.xPt,t.xPt),r=Math.max(e.yPt,t.yPt),i=Math.min(e.xPt+e.widthPt,t.xPt+t.widthPt),a=Math.min(e.yPt+e.heightPt,t.yPt+t.heightPt);return i>n&&a>r?{xPt:n,yPt:r,widthPt:i-n,heightPt:a-r}:null}function NO(e,t,n){let r=e.layout,i=t+(r.kind===`table`?r.flowBounds.xPt:0),a=n+e.offsetPt+(r.kind===`table`?r.flowBounds.yPt:0),o=i-r.flowBounds.xPt,s=a-r.flowBounds.yPt;return{xPt:r.inkBounds.xPt+o,yPt:r.inkBounds.yPt+s,widthPt:r.inkBounds.widthPt,heightPt:r.inkBounds.heightPt}}function PO(e,t,n){let r=fu(e,`TableLayoutInput`);if(r.columnWidthsPt.some(e=>!Number.isFinite(e)||e<0))throw TypeError(`TableLayoutInput.columnWidthsPt must contain finite non-negative widths`);let i=new Map;r.rows.forEach(e=>e.cells.forEach(e=>{i.set(e.id,oO(e.verticalMerge===`continue`?[]:e.blocks))}));let a=xO(r),o=mO(r.rows,i,CO(r,a)),s=o.heights,c=r.columnWidthsPt.reduce((e,t)=>e+t,0),l=s.reduce((e,t)=>e+t,0),u=t.cursor.yPt,d=r.rows.map(e=>kO(e.alignment??r.alignment,Number.isFinite(e.indentPt)?e.indentPt:r.indentPt,r.bidiVisual,t,c)),f=d[0]??kO(r.alignment,r.indentPt,r.bidiVisual,t,c),p=OO(r,d,u,s,a),m=jO(p),h=[0];for(let e of r.columnWidthsPt)h.push((h.at(-1)??0)+e);let g=[0];for(let e of s)g.push((g.at(-1)??0)+e);let _=(e,t)=>(d[e]??f)+(r.bidiVisual?c-(h[t]??0):h[t]??0),v=r.rows.map((e,n)=>{let a=u+(g[n]??0),l=s[n]??0,p=d[n]??f,m=uO(r.rows,n),h=lO(e),v=e.cells.map(e=>{let o=e.verticalMerge===`restart`?fO(r.rows,n,e.columnStart,e.columnSpan):n,s=uO(r.rows,o),c=u+(g[o+1]??g[n+1]??0)-s.bottomPt,d=_(n,e.columnStart),f=_(n,Math.min(r.columnWidthsPt.length,e.columnStart+e.columnSpan)),p=Math.min(d,f),v=Math.max(d,f),{startPt:y,endPt:b}=vD(h,e.columnStart,e.columnSpan,r.columnWidthsPt.length),x=p+(r.bidiVisual?b:y),S=v-(r.bidiVisual?y:b),C=Math.max(0,S-x),w=a+m.topPt,T=e.verticalMerge===`restart`?Math.max(0,c-w):Math.max(0,l-m.topPt-m.bottomPt),E=i.get(e.id)??oO([]),D=Math.max(0,T-e.margins.topPt-e.margins.bottomPt),O=e.margins.topPt-Math.min(0,E.inkTopPt),k=E.inkHeightPt>=D?O:e.vAlign===`center`?e.margins.topPt+(D-E.inkHeightPt)/2-E.inkTopPt:e.vAlign===`bottom`?T-e.margins.bottomPt-E.inkHeightPt-E.inkTopPt:O,A={xPt:x+e.margins.leftPt,yPt:w+k,widthPt:Math.max(0,C-e.margins.leftPt-e.margins.rightPt),heightPt:D},j={xPt:x,yPt:w,widthPt:C,heightPt:T},M=e.verticalMerge!==`continue`&&r.rows.slice(n,o+1).every(e=>e.heightRule===`exact`)?GD(j,t.availableBounds):void 0,N=e.verticalMerge===`continue`?[]:E.blocks.map(e=>({...e,offsetPt:k+e.offsetPt})),ee=Z_([j,...N.map(e=>NO(e,A.xPt,j.yPt)).map(e=>M?MO(e,M):e).filter(e=>e!==null)])??j;return{kind:`table-cell`,id:e.id,source:e.source,flowDomainId:r.flowDomainId,ordinaryFlow:r.ordinaryFlow,flowBounds:j,inkBounds:ee,...M?{clipBounds:M}:{},contentBounds:A,advancePt:T,verticalMerge:e.verticalMerge,vAlign:e.vAlign,...e.background?{background:e.background}:{},blocks:N}}),y={xPt:p,yPt:a,widthPt:c,heightPt:l},b=Z_([y,...v.map(e=>e.inkBounds)])??y;return{kind:`table-row`,id:e.id,source:e.source,flowDomainId:r.flowDomainId,ordinaryFlow:r.ordinaryFlow,flowBounds:y,inkBounds:b,advancePt:l,heightPt:l,contentHeightPt:o.contentHeights[n]??0,...e.repeatedHeader?{repeatedHeader:!0}:{},cells:v}}),y=d.length>0?Math.min(...d):f,b=d.length>0?Math.max(...d.map(e=>e+c)):f+c,x={xPt:y,yPt:u,widthPt:Math.max(0,b-y),heightPt:l},S=Z_([x,...v.map(e=>e.inkBounds)])??x;return fu({layout:{kind:`table`,id:r.id,source:r.source,flowDomainId:r.flowDomainId,ordinaryFlow:r.ordinaryFlow,flowBounds:x,inkBounds:AO(S,p),advancePt:l,columnWidthsPt:r.columnWidthsPt,rows:v,borders:p,...m.length?{compoundBorderFrames:m}:{}},nextCursor:{xPt:t.cursor.xPt,yPt:t.cursor.yPt+l}},`TableLayoutResult`)}function FO(e,t){let n=e.findIndex((e,n)=>n>t&&e.type===`paragraph`&&e.framePr==null);if(n<0)throw Error(`A nested floating table requires a following regular paragraph anchor`);return n}function IO(e){if(!e)return null;let t=e.color??`000000`;return Object.freeze({widthPt:e.width,color:t.startsWith(`#`)?t:`#${t}`,authoredStyle:e.style})}function LO(e){return Object.freeze({top:IO(e.top),right:IO(e.right),bottom:IO(e.bottom),left:IO(e.left),insideH:IO(e.insideH),insideV:IO(e.insideV)})}function RO(e,t){if(e===`center`)return`center`;let n=e===`right`||e===`end`;return(t?!n:n)?`right`:`left`}function zO(e){return e.lines.some(e=>e.placements.some(e=>e.kind===`text`&&e.dependency===`page`))}function BO(e,t,n,r,i,a){let o=Array.isArray(i)?{story:`body`,storyInstance:`body`,path:i}:i,s=o.path,c=e=>({story:o.story,storyInstance:o.storyInstance,path:e}),l=a.layoutServices(r);if(!l)throw Error(`Retained table acquisition requires layout services`);let u=o.story===`body`&&o.storyInstance===`body`?`table:${s.join(`.`)}`:`${o.story}:${o.storyInstance}:table:${s.join(`.`)}`,d=a.tableFormat(e),f=e.bidiVisual===!0,p=d.firstRowException,m=p?.indentAuthored?p.indentPt??0:e.tblInd??0,h={},g=[],_=e.rows.map((n,i)=>{let o=d.rows[i],l=Math.max(0,Math.min(t.length,n.gridBefore??0)),p=n.cells.map((n,d)=>{let f=o?.cells[d]?.marginsPt??{top:n.marginTop??e.cellMarginTop,right:n.marginRight??e.cellMarginRight,bottom:n.marginBottom??e.cellMarginBottom,left:n.marginLeft??e.cellMarginLeft},p=l,m=Math.min(Math.max(1,n.colSpan),Math.max(0,t.length-p));l+=m;let _=t.slice(p,p+m).reduce((e,t)=>e+t,0),v=vD(o?.cellSpacingPt??0,p,m,t.length),y=[...s,i,d],b=`${u}:cell:${i}.${d}`,x=n.vMerge===!1?[]:zD({cell:n,table:e,cellTotalWidthPt:_,outerState:r,sourcePath:y},{resolveContentWidthPt:(e,t,n)=>Math.max(0,n-v.startPt-v.endPt-f.left-f.right),createCellState:a.createCellState,acquireParagraph:(e,t,n,r,o)=>a.acquireParagraph(e,t,n,r,`${u}:cell:${i}.${d}`,o,void 0,c(r)),acquireNestedTable:(e,t,r,i)=>{let o=BO(t,a.resolveColumns(t,r,e),r,e,c(i),a);h[o.layout.id]=o;let s=a.tableFormat(t).positioning;if(s){let r=i[i.length-1],c=s,l=t.overlap===`never`?`never`:`overlap`,u=a.registerFloatingTable(e,{child:o.layout,positioning:c,overlap:l}),d={hostCellId:b,sourceBlockIndex:r,anchorBlockIndex:FO(n.content,r),tableId:o.layout.id,overlap:l,positioning:c,...u==null?{}:{acquiredTextOffsetPt:Object.freeze({...u})}};g.push(d)}return o.layout},advanceState:a.advanceState});return{id:b,source:c(y),columnStart:p,columnSpan:m,verticalMerge:n.vMerge===!0?`restart`:n.vMerge===!1?`continue`:`none`,margins:{topPt:f.top,rightPt:f.right,bottomPt:f.bottom,leftPt:f.left},vAlign:n.vAlign,...n.background?{background:{color:n.background.startsWith(`#`)?n.background:`#${n.background}`}}:{},borders:LO(n.borders),blocks:x.flatMap((e,t)=>{let r=n.content[t];return r?.type===`table`&&a.tableFormat(r).ordinaryFlow===!1?[]:[{layout:e,sourceBlockIndex:t,...e.kind===`paragraph`&&zO(e)?{pageDependent:!0}:{},...RD(n.content,t)?{structuralTrailing:!0}:{}}]})}}),_=o?.height?.rule??`auto`;return{id:`${u}:row:${i}`,source:c([...s,i]),logicalRowIndex:i,cantSplit:o?.cantSplit??n.cantSplit===!0,heightPt:o?.height?.valuePt??null,heightRule:_,cellSpacingPt:o?.cellSpacingPt??0,exceptionBorders:o?.exception?.borders?LO(o.exception.borders):null,alignment:RO(o?.justification??e.jc,f),indentPt:m,cells:p,repeatedHeader:o?.repeatedHeader??n.isHeader===!0}}),v=fu({kind:`table`,id:u,source:c([...s]),flowDomainId:u,ordinaryFlow:d.ordinaryFlow,alignment:RO(e.jc,f),indentPt:m,bidiVisual:f,columnWidthsPt:t,borders:LO(e.borders),rows:_},`RetainedTableAcquisition.input`),y={xPt:0,yPt:0,widthPt:n,heightPt:1},b=PO(v,{container:{id:u,kind:`tableCell`,bounds:y},cursor:{xPt:0,yPt:0},availableBounds:y},l).layout;return Object.freeze({input:v,layout:b,nestedById:Object.freeze(h),floatingTables:fu(g,`RetainedTableAcquisition.floatingTables`)})}function VO(e,t,n){return t===n?e:Object.freeze({...e,left:e.right,right:e.left})}function HO(e,t,n){let r=VO(e.borders,e.bidiVisual,n),i=t.exceptionBorders==null?null:VO(t.exceptionBorders,e.bidiVisual,n);return i?Object.freeze({top:iO(i.top,r.top),right:iO(i.right,r.right),bottom:iO(i.bottom,r.bottom),left:iO(i.left,r.left),insideH:iO(i.insideH,r.insideH),insideV:iO(i.insideV,r.insideV)}):r}var UO=class{nodes=[Object.freeze({kind:`zero`})];interned=new Map([[`Z`,0]]);intern(e,t){let n=this.interned.get(e);if(n!==void 0)return n;let r=this.nodes.length;return this.nodes.push(Object.freeze(t)),this.interned.set(e,r),r}token(e,t){return this.intern(`T:${e}:${t}`,{kind:`token`})}add(e,t){if(e===0)return t;if(t===0)return e;let n=this.nodes[e],r=this.nodes[t];return n.kind===`sub`&&n.right===t?n.left:r.kind===`sub`&&r.right===e?r.left:this.intern(`A:${e}:${t}`,{kind:`add`,left:e,right:t})}subtract(e,t){if(e===t)return 0;if(t===0)return e;let n=this.nodes[t];return n.kind===`sub`&&n.left===e?n.right:this.intern(`S:${e}:${t}`,{kind:`sub`,left:e,right:t})}divide(e,t){return e===0?0:this.intern(`D:${e}:${t}`,{kind:`div`,value:e,divisor:t})}};function WO(e,t=0){return Object.freeze({position:e,sym:t,identity:`${e}|${t}`})}function GO(e,t,n){return WO(fD(t.position,n.position),e.add(t.sym,n.sym))}function KO(e,t,n){return WO(mD(t.position,n.position),e.subtract(t.sym,n.sym))}function qO(e,t,n){return WO(hD(t.position,n),e.divide(t.sym,n))}function JO(e,t,n){let r=[WO(`0/1`)];return t.columnWidthsPt.forEach((i,a)=>{let o=t.columnWidthKeys?.[a],s=cD(i)??`0/1`,c=o===null?WO(s,e.token(n,a)):WO(o??s);r.push(GO(e,r.at(-1),c))}),Object.freeze(r)}function YO(e,t,n,r){let i=KO(e,r,n);return t.alignment===`right`?i:t.alignment===`center`?qO(e,i,2n):WO(`0/1`)}function XO(e,t,n,r,i){return GO(e,i,r?KO(e,n,t):t)}function ZO(e,t){if(e.length===0)throw RangeError(`Adjacent table group id must not be empty`);if(t.length===0)throw RangeError(`Adjacent table group requires at least one table`);if(t.some(e=>!e.ordinaryFlow))throw Error(`An absolutely positioned table cannot join an adjacent table group`);let n=t[0],r=n.bidiVisual,i=new UO,a=WO(`0/1`),o=t.map((e,t)=>JO(i,e,t)),s=o.map(e=>e.at(-1)??a),c=s.reduce((e,t)=>gD(t.position,e.position)>0?t:e,a),l=(e,t,n,a)=>{let o=XO(i,e,t,n,a);return r?KO(i,c,o):o},u=[];t.forEach((e,t)=>{let n=o[t],a=s[t],d=e.bidiVisual!==r;e.rows.forEach(t=>{let r=YO(i,t,a,c),o=n.map(t=>l(t,a,e.bidiVisual,r));u.push({input:e,row:t,groupBoundaries:o,descending:d})})});let d=new Map;for(let e of[a,c])d.set(e.identity,{boundary:e,count:1});for(let e of u){let t=new Map;for(let n of e.groupBoundaries){let e=t.get(n.identity);t.set(n.identity,{boundary:n,count:(e?.count??0)+1})}for(let[e,n]of t){let t=d.get(e);n.count>(t?.count??0)&&d.set(e,n)}}let f=new Map,p=e=>{let t=f.get(e);return t||(t={position:e,identities:new Map,edges:new Map,firstSeen:new Map},f.set(e,t)),t};for(let[e,t]of d)p(t.boundary.position).identities.set(e,t);let m=0;for(let e of u){let t=e.descending?[...e.groupBoundaries].reverse():e.groupBoundaries,n=null,r=null;for(let e of t){let t=p(e.position);if(t.firstSeen.has(e.identity)||t.firstSeen.set(e.identity,m++),n!==e.position&&(n=e.position,r=null),r!==null&&r!==e.identity){let n=t.edges.get(r);n||(n=new Set,t.edges.set(r,n)),n.add(e.identity)}r=e.identity}}for(let e of f.values())for(let t of e.identities.keys())e.firstSeen.has(t)||e.firstSeen.set(t,m++);let h=[...f.values()].sort((e,t)=>gD(e.position,t.position)),g=[],_=new Map;for(let e of h){let t=new Map([...e.identities.keys()].map(e=>[e,0]));for(let n of e.edges.values())for(let e of n)t.set(e,(t.get(e)??0)+1);let n=[],r=t=>{n.push(t);let r=n.length-1;for(;r>0;){let t=Math.floor((r-1)/2);if(e.firstSeen.get(n[t])<=e.firstSeen.get(n[r]))break;[n[t],n[r]]=[n[r],n[t]],r=t}},i=()=>{let t=n[0],r=n.pop();if(n.length>0){n[0]=r;let t=0;for(;;){let r=t*2+1,i=r+1;if(r>=n.length)break;let a=r;if(i<n.length&&e.firstSeen.get(n[i])<e.firstSeen.get(n[r])&&(a=i),e.firstSeen.get(n[t])<=e.firstSeen.get(n[a]))break;[n[t],n[a]]=[n[a],n[t]],t=a}}return t};for(let n of e.identities.keys())t.get(n)===0&&r(n);let a=[];for(;n.length>0;){let n=i();a.push(n);for(let i of e.edges.get(n)??[]){let e=t.get(i)-1;t.set(i,e),e===0&&r(i)}}if(a.length!==e.identities.size)throw Error(`Adjacent table symbolic boundary ordering cycle at ${e.position}`);for(let t of a){let{boundary:n,count:r}=e.identities.get(t);_.set(t,g.length);for(let e=0;e<r;e+=1)g.push(n)}}let v=g.slice(1).map((e,t)=>{let n=g[t];return e.sym===n.sym?mD(e.position,n.position):null}),y=g.slice(1).map((e,t)=>dD(mD(e.position,g[t].position))),b=(e,t)=>{let n=new Map,r=Array(e.length);return e.forEach((e,i)=>{let a=n.get(e.identity)??0;n.set(e.identity,a+1);let o=_.get(e.identity),s=d.get(e.identity).count;r[i]=t?o+(s-1-a):o+a}),r},x=0,S=u.map(e=>{let{input:t,row:n,groupBoundaries:i,descending:a}=e,o=b(i,a),s=o[0],c=o[i.length-1],l=n.cells.map(e=>{let n=o[e.columnStart],i=o[e.columnStart+e.columnSpan];if(n==null||i==null)throw RangeError(`Table cell ${e.id} exceeds its authored grid`);let a=Math.min(n,i),s=Math.max(n,i);if(s<=a)throw Error(`Table cell ${e.id} cannot be mapped into the logical group grid`);let c=VO(e.borders,t.bidiVisual,r);return Object.freeze({...e,columnStart:a,columnSpan:s-a,borders:c})});return Object.freeze({...n,logicalRowIndex:x++,exceptionBorders:null,sourceTableEdges:HO(t,n,r),indentPt:t.bidiVisual===r?n.indentPt:-n.indentPt,sourceOuterColumnStart:Math.min(s,c),sourceOuterColumnEnd:Math.max(s,c),cells:Object.freeze(l)})});return i.nodes.length,Object.freeze({kind:`adjacent-table-group-grid`,id:e,source:n.source,flowDomainId:`${n.flowDomainId}:adjacent-group:${e}`,alignment:n.alignment,indentPt:n.indentPt,bidiVisual:r,columnWidthsPt:Object.freeze(y),columnWidthKeys:Object.freeze(v),rows:Object.freeze(S)})}const QO=1e-4;function $O(){return Object.freeze({blockIndex:0,paragraphLineStart:0,nestedCursor:null,nestedFragmentIndex:0})}function ek(){return Object.freeze({rowIndex:0,rowFragmentIndex:0,cells:Object.freeze([])})}function tk(e){let t=0;for(;e.rows[t]?.repeatedHeader===!0;)t+=1;return t}function nk(e,t){let n=e.layout.rows[t];return n?e.input.rows[t]?.heightRule===`exact`?Math.max(0,n.heightPt):Math.max(0,n.heightPt,n.contentHeightPt):0}function rk(e,t,n,r){let i=e.layout.rows.flatMap(e=>e.cells).find(e=>e.id===t.id);if(!i)throw new J(`INVALID_REFERENCE`,`nested table fragment lost parent cell geometry: ${t.id}`);let a=Object.freeze({xPt:0,yPt:0,widthPt:i.contentBounds.widthPt,heightPt:Math.max(0,r)});return Object.freeze({...n,availableHeightPt:a.heightPt,placement:Object.freeze({...n.placement,container:Object.freeze({...n.placement.container,bounds:a}),cursor:Object.freeze({xPt:0,yPt:0}),availableBounds:a})})}function ik(e,t,n,r){if(t===e.input.rows[n])return nk(e,n);let i=PO({...e.input,id:`${e.input.id}:row-occurrence:${r.page.occurrenceId}:${t.logicalRowIndex}`,rows:[t]},r.placement,r.services).layout;return Math.max(0,i.rows[0]?.heightPt??i.advancePt)}function ak(e,t,n,r){return t===e.input.rows[n]?Math.max(0,e.layout.rows[n]?.heightPt??0):ik(e,t,n,r)}function ok(e,t,n,r){let i=PO({...e.input,id:`${e.input.id}:completed-partial:${r.page.occurrenceId}:${t.logicalRowIndex}`,rows:[t,...e.input.rows.slice(n+1)]},r.placement,r.services).layout;return Math.max(0,i.rows[0]?.heightPt??0)}function sk(e){return e.cells.map(e=>e.blocks.map(e=>({kind:`whole`,blockIndex:e.sourceBlockIndex})))}function ck(e,t,n,r){let i=r.reacquirePageDependentBlock;return!i||!t.cells.some(e=>e.blocks.some(e=>e.pageDependent===!0))?t:{...t,cells:t.cells.map((e,a)=>({...e,blocks:e.blocks.map(e=>e.pageDependent===!0?{...e,layout:i({logicalRowIndex:t.logicalRowIndex,logicalCellIndex:a,sourceBlockIndex:e.sourceBlockIndex,ownership:n,page:r.page,acquired:e.layout})}:e)}))}}function lk(e){let t=e.positioning.horzSpecified&&(e.positioning.horzAnchor===`page`||e.positioning.horzAnchor===`margin`),n=e.positioning.vertAnchor===`page`||e.positioning.vertAnchor===`margin`;return t||n}function uk(e,t,n,r,i){return{...t,heightPt:null,heightRule:`auto`,cells:t.cells.map((t,a)=>{let o=n.cells[a]??$O();return{...t,blocks:t.blocks.slice(o.blockIndex).map((n,a)=>{if(a===0&&o.nestedCursor&&n.layout.kind===`table`){let a=e.nestedById[n.layout.id];if(a){let s=Sk(a,o.nestedCursor,rk(e,t,r,r.freshPageHeightPt)),c=i.get(t.id);if(s.nextCursor&&c!==void 0&&n.sourceBlockIndex<c)throw Error(`Floating table anchor cannot follow an incomplete nested-table candidate`);if(s.fragment)return{...n,layout:s.fragment}}}return a!==0||o.paragraphLineStart===0||n.layout.kind!==`paragraph`?n:{...n,layout:_k(n.layout,o.paragraphLineStart,n.layout.lines.length)}})}})}}function dk(e,t,n,r,i,a,o,s,c){let l=i.floatingTableFrames,u=i.reacquirePageDependentBlock,d=e.input.rows[t.logicalRowIndex];if(!l||!u||!d)return{row:t,resolved:[],registry:a,nextParagraphId:o};let f=e.floatingTables.filter(e=>d.cells.some(t=>t.id===e.hostCellId)&&c(e));if(f.length===0)return{row:t,resolved:[],registry:a,nextParagraphId:o};let p=new Map;for(let e of f)p.set(e.hostCellId,Math.min(p.get(e.hostCellId)??1/0,e.anchorBlockIndex));let m={...i.placement,cursor:{...i.placement.cursor,yPt:i.placement.cursor.yPt+r}},h=uk(e,t,s,i,p),g=PO({...e.input,id:`${e.input.id}:float-probe:${i.page.occurrenceId}:${t.logicalRowIndex}`,rows:[h]},m,i.services).layout,_=i.finalPlacementTranslationPt??{xPt:0,yPt:0},v=(t,r,a)=>{let o=a.cells.findIndex(e=>e.id===t.hostCellId),s=r.rows[0]?.cells[o],c=a.cells[o]?.blocks.findIndex(e=>e.sourceBlockIndex===t.anchorBlockIndex)??-1,l=c<0?void 0:s?.blocks[c],u=e.nestedById[t.tableId]?.layout;return!s||!l||!u?null:Object.freeze({kind:`floating-table-placement`,occurrenceId:[i.page.occurrenceId,t.hostCellId,t.sourceBlockIndex,t.tableId].join(`:`),ownership:n,physicalPageIndex:i.page.physicalPageIndex,displayPageNumber:i.page.displayPageNumber,...t,columnBounds:Object.freeze({xPt:s.contentBounds.xPt+_.xPt,yPt:s.contentBounds.yPt+_.yPt,widthPt:s.contentBounds.widthPt,heightPt:s.contentBounds.heightPt}),anchorBounds:Object.freeze({xPt:s.contentBounds.xPt+_.xPt,yPt:s.flowBounds.yPt+l.offsetPt+_.yPt,widthPt:l.layout.flowBounds.widthPt,heightPt:l.layout.flowBounds.heightPt}),child:u})},y=n=>{let r=uk(e,n,s,i,p),c=n===t?g:PO({...e.input,id:`${e.input.id}:float-converge:${i.page.occurrenceId}:${t.logicalRowIndex}`,rows:[r]},m,i.services).layout,u=FE(a,o,i.floatingTableRegistry?.coordinateSpace??`logical-page-points`,i.floatingTableRegistry?.flowDomainId??e.input.flowDomainId),d=[];for(let e of f){let t=v(e,c,r);if(!t||i.floatingTableRegistry?.coordinateSpace!==`upright-physical-page-points`&&!lk(t))continue;let n=IE(t,{page:l.page,margin:l.margin,text:{xPt:t.columnBounds?.xPt??t.anchorBounds.xPt,yPt:t.anchorBounds.yPt,widthPt:t.columnBounds?.widthPt??t.anchorBounds.widthPt,heightPt:t.anchorBounds.heightPt}},u);d.push(n.placement),u=n.transaction}return{resolved:Object.freeze(d),transaction:u}},b=e=>({...t,cells:t.cells.map((r,a)=>({...r,blocks:r.blocks.map(o=>{let s=e.filter(e=>e.source.hostCellId===r.id&&e.source.anchorBlockIndex===o.sourceBlockIndex).map(e=>Object.freeze({xPt:e.exclusionBounds.xPt-e.source.anchorBounds.xPt,yPt:e.exclusionBounds.yPt-e.source.anchorBounds.yPt,widthPt:e.exclusionBounds.widthPt,heightPt:e.exclusionBounds.heightPt}));return s.length===0||o.layout.kind!==`paragraph`?o:{...o,layout:u({logicalRowIndex:t.logicalRowIndex,logicalCellIndex:a,sourceBlockIndex:o.sourceBlockIndex,ownership:n,page:i.page,acquired:o.layout,floatingTableExclusions:Object.freeze(s)})}})}))}),x=(e,t)=>JSON.stringify({blocks:e.cells.map(e=>e.blocks.map(e=>({sourceBlockIndex:e.sourceBlockIndex,layout:e.layout}))),placements:t}),S=y(t);if(S.resolved.length===0)return{row:t,resolved:[],registry:a,nextParagraphId:o};try{let e=sm({seedState:x(t,S.resolved),step:e=>{let t=b(e?.resolution.resolved??S.resolved),n=y(t);return Object.freeze({candidate:t,resolution:n,state:x(t,n.resolved)})},stateOf:e=>e.state,limit:16}).value;return{row:e.candidate,resolved:e.resolution.resolved,registry:Object.freeze([...e.resolution.transaction.base,...e.resolution.transaction.delta]),nextParagraphId:e.resolution.transaction.nextParagraphId}}catch(e){throw e instanceof om?new J(`NON_CONVERGENCE`,`floating table final-frame reflow did not converge (${e.reason}; ${e.states.length} states)`):e}}function fk(e,t,n){let r=e.input.rows[t.logicalRowIndex]?.cells.findIndex(e=>e.id===n.hostCellId)??-1;return r>=0&&(t.ranges[r]?.some(e=>e.blockIndex===n.anchorBlockIndex&&(e.kind===`whole`||e.kind===`paragraph`&&e.lineStart===0||e.kind===`nested-table`&&e.childFragmentIndex===0))??!1)}function pk(e){return`${e.hostCellId}:${e.sourceBlockIndex}:${e.tableId}`}function mk(e,t){return new Set(e.floatingTables.filter(n=>fk(e,t,n)).map(pk))}function hk(e,t){return e.size===t.size&&[...e].every(e=>t.has(e))}function gk(e,t,n=0,r=!1,i=[]){return{input:e,logicalRowIndex:e.logicalRowIndex,fragmentIndex:n,ownership:t,ranges:sk(e),...r?{clipAtPageEnd:!0}:{},...i.length?{resolvedFloatingTables:i}:{}}}function _k(e,t,n){return $w(e,{lineStart:t,lineEnd:n,continuesFromPrevious:t>0,continuesOnNext:n<e.lines.length})}function vk(e,t,n,r,i){let a=null,o=n;for(let s=n+1;s<=e.lines.length;s+=1){let c=_k(e,n,s),l={layout:c,sourceBlockIndex:t};if(cO([...r,l])>i+QO)break;a=c,o=s}return a?{block:{layout:a,sourceBlockIndex:t},range:{kind:`paragraph`,blockIndex:t,lineStart:n,lineEnd:o},lineEnd:o,advancePt:a.advancePt}:{block:null,range:null,lineEnd:n,advancePt:0}}function yk(e,t,n,r,i){if(t.verticalMerge===`continue`)return{input:t,range:[],next:n,complete:!0};let a=[],o=[],s=n.blockIndex,c=n.paragraphLineStart,l=n.nestedCursor,u=n.nestedFragmentIndex;for(;s<t.blocks.length;){let n=t.blocks[s],d=n.layout;if(d.kind===`paragraph`){if(n.structuralTrailing){a.push(n),o.push({kind:`whole`,blockIndex:n.sourceBlockIndex}),s+=1,c=0;continue}if(d.lines.length===0){if(cO([...a,n])>r+QO)break;a.push(n),o.push({kind:`whole`,blockIndex:n.sourceBlockIndex}),s+=1,c=0;continue}let e=vk(d,n.sourceBlockIndex,c,a,r);if(!e.block||!e.range)break;if(a.push({...e.block,...n.structuralTrailing?{structuralTrailing:!0}:{}}),o.push(e.range),e.lineEnd<d.lines.length){c=e.lineEnd;break}s+=1,c=0;continue}let f=e.nestedById[d.id];if(f){let c=Math.max(0,r-cO(a)),d=Sk(f,l??ek(),rk(e,t,i,c));if(!d.fragment)break;if(a.push({layout:d.fragment,sourceBlockIndex:n.sourceBlockIndex}),o.push({kind:`nested-table`,blockIndex:n.sourceBlockIndex,childFragmentIndex:u}),d.nextCursor){l=d.nextCursor,u+=1;break}s+=1,l=null,u=0;continue}if(cO([...a,n])>r+QO)break;a.push(n),o.push({kind:`whole`,blockIndex:n.sourceBlockIndex}),s+=1}let d=s>=t.blocks.length;return{input:{...t,blocks:a},range:o,next:Object.freeze({blockIndex:s,paragraphLineStart:c,nestedCursor:l,nestedFragmentIndex:u}),complete:d}}function bk(e,t,n,r,i){let a=t.cells.map((e,t)=>n.cells[t]??$O()),o=Math.max(0,...t.cells.map(e=>e.margins.topPt+e.margins.bottomPt)),s=Math.max(0,t.cellSpacingPt)*2,c={...t,heightPt:null,heightRule:`auto`},l=wO({...e.input,rows:[c]})[0]??0,u=Math.max(0,r-o-s-l),d=t.cells.map((t,n)=>yk(e,t,a[n],u,i));if(!d.some((e,t)=>e.next.blockIndex!==a[t]?.blockIndex||e.next.paragraphLineStart!==a[t]?.paragraphLineStart||e.next.nestedFragmentIndex!==a[t]?.nestedFragmentIndex))return{selected:null,next:n,complete:!1};let f=d.every(e=>e.complete);return f&&n.rowFragmentIndex===0?{selected:gk(t,`source`),next:Object.freeze({rowIndex:n.rowIndex+1,rowFragmentIndex:0,cells:Object.freeze([])}),complete:!0}:{selected:{input:{...c,id:`${t.id}:fragment:${n.rowFragmentIndex}`,heightPt:null,heightRule:`auto`,cells:d.map((e,t)=>({...e.input,id:`${e.input.id}:fragment:${n.rowFragmentIndex}:${t}`}))},logicalRowIndex:t.logicalRowIndex,fragmentIndex:n.rowFragmentIndex,ownership:`source`,ranges:d.map(e=>e.range)},next:Object.freeze({rowIndex:f?n.rowIndex+1:n.rowIndex,rowFragmentIndex:f?0:n.rowFragmentIndex+1,cells:Object.freeze(f?[]:d.map(e=>e.next))}),complete:f}}function xk(e,t,n){let r=PO({...e.input,id:`${e.input.id}:fragment:${n.page.occurrenceId}`,rows:t.map(e=>e.input)},n.placement,n.services).layout,i=r.rows.map((e,r)=>{let i=t[r];return Object.freeze({...e,logicalRowIndex:i.logicalRowIndex,fragmentIndex:i.fragmentIndex,ownership:i.ownership,occurrenceId:n.page.occurrenceId,physicalPageIndex:n.page.physicalPageIndex,displayPageNumber:n.page.displayPageNumber,cells:Object.freeze(e.cells.map((e,n)=>{let a=i.input.cells[n]?.verticalMerge??`none`,o=i.input.cells[n],s=a===`continue`&&t.slice(0,r).some(e=>e.input.cells.some(e=>e.verticalMerge===`restart`&&e.columnStart===o?.columnStart&&e.columnSpan===o?.columnSpan));return Object.freeze({...e,contentRanges:Object.freeze([...i.ranges[n]??[]]),...a===`continue`&&!s?{visualMergeOwnership:`continuation`}:{}})}))})}),a=t.flatMap((t,r)=>{let a=e.input.rows[t.logicalRowIndex];return a?e.floatingTables.flatMap(o=>{let s=a.cells.findIndex(e=>e.id===o.hostCellId);if(s<0||!(t.ranges[s]?.some(e=>e.blockIndex===o.anchorBlockIndex&&(e.kind===`whole`||e.kind===`paragraph`&&e.lineStart===0))??!1))return[];let c=t.input.cells[s],l=i[r]?.cells[s],u=c?.blocks.findIndex(e=>e.sourceBlockIndex===o.anchorBlockIndex)??-1,d=u<0?void 0:l?.blocks[u],f=e.nestedById[o.tableId]?.layout;if(!l||!d||!f)throw Error(`Floating table occurrence references missing retained layout data`);let p=Object.freeze({xPt:l.contentBounds.xPt,yPt:l.flowBounds.yPt+d.offsetPt,widthPt:d.layout.flowBounds.widthPt,heightPt:d.layout.flowBounds.heightPt});return[Object.freeze({kind:`floating-table-placement`,occurrenceId:[n.page.occurrenceId,o.hostCellId,o.sourceBlockIndex,o.tableId].join(`:`),ownership:t.ownership,physicalPageIndex:n.page.physicalPageIndex,displayPageNumber:n.page.displayPageNumber,...o,anchorBounds:p,child:f})]}):[]}),o=Object.freeze(t.flatMap(e=>e.resolvedFloatingTables??[])),s=new Set(o.map(e=>e.occurrenceId)),c=t.some(e=>e.clipAtPageEnd===!0),l=c?Math.min(r.advancePt,n.availableHeightPt):r.advancePt,u=c?{...r.flowBounds,heightPt:l}:r.flowBounds;return Object.freeze({...r,flowBounds:u,...c?{inkBounds:u,clipBounds:u,advancePt:l}:{},columnWidthsPt:e.layout.columnWidthsPt,rows:Object.freeze(i),floatingTables:Object.freeze(a.filter(e=>!s.has(e.occurrenceId))),resolvedFloatingTables:o,...n.floatingTableRegistry?{resolvedFloatingTableCoordinateSpace:n.floatingTableRegistry.coordinateSpace}:{}})}function Sk(e,t,n){if(t.rowIndex>=e.input.rows.length)return{fragment:null,nextCursor:null,requiresFreshPage:!1};let r=[],i=n.floatingTableRegistry;if(i&&i.flowDomainId.length===0)throw Error(`Floating table registry coordinate/domain mismatch`);let a=Object.freeze([...i?.entries??[]]),o=i?.nextParagraphId??0,s=Math.max(0,n.availableHeightPt),c=tk(e.input);if(t.rowIndex>=c&&t.rowIndex>0&&c>0)for(let i=0;i<c;i+=1){let c=dk(e,ck(e,e.input.rows[i],`repeated-header`,n),`repeated-header`,n.availableHeightPt-s,n,a,o,ek(),()=>!0),l=c.row,u=ik(e,l,i,n);if(u>s+QO)return{fragment:null,nextCursor:t,requiresFreshPage:!0};r.push(gk(l,`repeated-header`,0,!1,c.resolved)),a=c.registry,o=c.nextParagraphId,s-=u}let l=t,u=t.rowIndex,d=t.rowFragmentIndex===0&&t.cells.length===0&&e.layout.rows.slice(t.rowIndex).reduce((e,t)=>e+Math.max(0,t.heightPt),0)<=s+QO,f=!1;for(;u<e.input.rows.length;){let i=`source`,c=ck(e,e.input.rows[u],i,n),p=u===t.rowIndex?t:Object.freeze({rowIndex:u,rowFragmentIndex:0,cells:Object.freeze([])}),m=u!==t.rowIndex||t.rowFragmentIndex===0,h=m?dk(e,c,i,n.availableHeightPt-s,n,a,o,p,e=>{let t=c.cells.findIndex(t=>t.id===e.hostCellId),n=c.cells[t]?.blocks.findIndex(t=>t.sourceBlockIndex===e.anchorBlockIndex)??-1;if(n<0)return!1;let r=p.cells[t]??$O();return r.blockIndex<n||r.blockIndex===n&&r.paragraphLineStart===0}):{row:c,resolved:Object.freeze([]),registry:a,nextParagraphId:o},g=h.row,_=d||f?ak(e,g,u,n):ik(e,g,u,n);if(m&&_<=s+QO){r.push(gk(g,`source`,0,!1,h.resolved)),a=h.registry,o=h.nextParagraphId,s-=_,u+=1,l=u<e.input.rows.length?Object.freeze({rowIndex:u,rowFragmentIndex:0,cells:Object.freeze([])}):null;continue}if(g.cantSplit){if(r.some(e=>e.ownership===`source`))break;if(_+(n.availableHeightPt-s)<=n.freshPageHeightPt+QO||n.availableHeightPt+QO<n.freshPageHeightPt)return{fragment:null,nextCursor:t,requiresFreshPage:!0};if(KD({compatibility:n.compatibility,availableHeightPt:n.availableHeightPt,freshPageHeightPt:n.freshPageHeightPt,epsilonPt:QO})){r.push(gk(g,`source`,0,!0,h.resolved)),a=h.registry,o=h.nextParagraphId,l=u+1<e.input.rows.length?Object.freeze({rowIndex:u+1,rowFragmentIndex:0,cells:Object.freeze([])}):null;break}}if(n.oversizedRowPolicy===`atomic`&&r.every(e=>e.ownership===`repeated-header`)&&n.availableHeightPt+QO>=n.freshPageHeightPt&&_>n.freshPageHeightPt+QO){r.push(gk(g,`source`,0,!1,h.resolved)),a=h.registry,o=h.nextParagraphId,l=u+1<e.input.rows.length?Object.freeze({rowIndex:u+1,rowFragmentIndex:0,cells:Object.freeze([])}):null;break}let v=bk(e,c,p,s,n),y=null,b=new Set;for(;v.selected;){let t=mk(e,v.selected),r=JSON.stringify([...t].sort());if(b.has(r))throw Error(`Floating table selected ownership did not converge`);b.add(r),y=dk(e,c,i,n.availableHeightPt-s,n,a,o,p,e=>t.has(pk(e)));let l=bk(e,y.row,p,s,n);if(!l.selected){v=l;break}let u=mk(e,l.selected);if(v=l,hk(t,u))break;y=null}if(v.selected&&y===null)throw Error(`Floating table selected ownership did not converge`);if(v.selected){let t=y?.resolved??[];if(t.some(t=>!fk(e,v.selected,t.source)))throw Error(`Floating table transaction included an unowned occurrence`);let i=a.length,c=(y?.registry??a).slice(i);if(r.push({...v.selected,...t.length?{resolvedFloatingTables:Object.freeze(t)}:{}}),a=Object.freeze([...a,...c]),o+=c.length,l=v.next.rowIndex>=e.input.rows.length?null:v.next,v.complete&&v.next.rowIndex<e.input.rows.length){s=Math.max(0,s-ok(e,v.selected.input,u,n)),f=!0,u=v.next.rowIndex;continue}}break}if(r.filter(e=>e.ownership===`source`).length===0){if(!(n.availableHeightPt+QO<n.freshPageHeightPt))throw new J(`NON_CONVERGENCE`,`Table pagination cannot advance from a fresh page`);return{fragment:null,nextCursor:t,requiresFreshPage:!0}}let p=xk(e,r,n);for(;p.advancePt>n.availableHeightPt+QO;){let t=r.at(-1),i=r.filter(e=>e.ownership===`source`).length;if(!(t?.ownership===`source`&&t.fragmentIndex===0&&t.ranges.every(e=>e.every(e=>e.kind===`whole`)))||i<=1)break;r.pop(),l=Object.freeze({rowIndex:t.logicalRowIndex,rowFragmentIndex:0,cells:Object.freeze([])}),p=xk(e,r,n)}return p.advancePt>n.availableHeightPt+QO&&n.availableHeightPt+QO<n.freshPageHeightPt&&p.advancePt<=n.freshPageHeightPt+QO?{fragment:null,nextCursor:t,requiresFreshPage:!0}:{fragment:p,nextCursor:l,requiresFreshPage:!1,floatingTablePlacements:p.resolvedFloatingTables,...i?{floatingTableRegistryDelta:(()=>{let e=a.slice(i.entries.length).filter(e=>p.resolvedFloatingTables.some(t=>t.occurrenceId===e.occurrenceId));return NE(i,e,i.nextParagraphId+e.length)})()}:{}}}function Ck(e,t,n,r){let i=oC(e,n.flowDomainId),a=Rw(t,{...n,exclusions:Object.freeze([...n.exclusions,...i.exclusions,...r?.exclusions??[]]),anchorCollisions:Object.freeze([...n.anchorCollisions??[],...i.collisions,...r?.collisions??[]])});return sC(e,i,a.layout),a}function wk(e,t){return e.flatMap((e,n)=>e.kind===`shape`&&e.anchorOccurrenceId&&e.authoredWrap===void 0?[]:[{id:e.imageKey||`${t}:float:${n}`,wrap:e.authoredWrap??(e.mode===`topAndBottom`?`topAndBottom`:`square`),wrapSide:kp(e.side),bounds:{xPt:e.xLeft,yPt:e.yTop,widthPt:Math.max(0,e.xRight-e.xLeft),heightPt:Math.max(0,e.yBottom-e.yTop)},polygon:e.wrapPolygon??[{xPt:e.xLeft,yPt:e.yTop},{xPt:e.xRight,yPt:e.yTop},{xPt:e.xRight,yPt:e.yBottom},{xPt:e.xLeft,yPt:e.yBottom}],...e.kind===`table`&&!e.anchorOccurrenceId?{verticalOwnership:`page`}:{},...e.anchorOccurrenceId?{anchorOccurrenceId:e.anchorOccurrenceId,verticalOwnership:`page`}:{}}])}function Tk(e){return e.flatMap(e=>e.kind!==`shape`||!e.anchorOccurrenceId?[]:[{occurrenceId:e.anchorOccurrenceId,bounds:{xPt:e.imageX,yPt:e.imageY,widthPt:e.imageW,heightPt:e.imageH},horizontalOwnership:`page`,verticalOwnership:`page`}])}function Ek(e){if(e.occurrenceId.length===0)throw Error(`DrawingML collision occurrence ID must not be empty`);let{xPt:t,yPt:n,widthPt:r,heightPt:i}=e.bounds;if(![t,n,r,i].every(Number.isFinite)||r<0||i<0)throw Error(`DrawingML collision bounds are invalid: ${e.occurrenceId}`);if(e.horizontalOwnership!==`page`&&e.horizontalOwnership!==`host`||e.verticalOwnership!==`page`&&e.verticalOwnership!==`host`)throw Error(`DrawingML collision ownership is invalid: ${e.occurrenceId}`)}function Dk(e){return Ek(e),Object.freeze({occurrenceId:e.occurrenceId,bounds:Object.freeze({...e.bounds}),horizontalOwnership:e.horizontalOwnership,verticalOwnership:e.verticalOwnership,...e.relativeHeight===void 0?{}:{relativeHeight:e.relativeHeight}})}function Ok(e,t){return Object.freeze({coordinateSpace:t,flowDomainId:e,entries:Object.freeze([])})}function kk(e,t){return Object.freeze({coordinateSpace:e.coordinateSpace,flowDomainId:e.flowDomainId,baseEntries:e.entries,baseEntryCount:e.entries.length,entries:Object.freeze(t.map(Dk))})}function Ak(e,t){if(t.coordinateSpace!==e.coordinateSpace)throw Error(`DrawingML collision registry coordinate space mismatch`);if(t.flowDomainId!==e.flowDomainId)throw Error(`DrawingML collision registry flow domain mismatch`);if(t.baseEntries!==e.entries||t.baseEntryCount!==e.entries.length)throw Error(`DrawingML collision registry delta is stale`);let n=new Set(e.entries.map(e=>e.occurrenceId));for(let e of t.entries){if(Ek(e),n.has(e.occurrenceId))throw Error(`DrawingML collision occurrence committed twice: ${e.occurrenceId}`);n.add(e.occurrenceId)}}function jk(e,t){return Ak(e,t),Object.freeze({coordinateSpace:e.coordinateSpace,flowDomainId:e.flowDomainId,entries:Object.freeze([...e.entries,...t.entries])})}function Mk(e,t){return TS(e,t)}function Nk(e){return Ap(e.wrapMode)&&Mk(e.anchorYRelativeFrom??null,e.anchorYFromPara??!1)}function Pk(e){let t=mc(e);return t===`U`||t===`Tu`?`upright`:t===`Tr`?`rotate`:`sideways`}const Fk=new Set([65294]);function Ik(e){return Fk.has(e)?{dx:.4,dy:-.4}:{dx:0,dy:0}}function Lk(e){let t=[],n=``,r=null;for(let i of e){let e=Pk(i.codePointAt(0)??0);r===null?(r=e,n=i):e===r?n+=i:(t.push({text:n,mode:r}),n=i,r=e)}return n!==``&&r!==null&&t.push({text:n,mode:r}),t}const Rk=()=>!1;function zk(e,t,n){let r=e.textBaseline;e.textBaseline=`alphabetic`;let i=e.measureText(t);e.textBaseline=r;let a=i.fontBoundingBoxAscent,o=i.fontBoundingBoxDescent;return typeof a==`number`&&typeof o==`number`&&(a!==0||o!==0)?(a-o)/2:.38*n}function Bk(e,t){let n=e.textAlign,r=e.textBaseline;e.textAlign=`center`,e.textBaseline=`middle`;let i=e.measureText(t);e.textAlign=n,e.textBaseline=r;let a=i.actualBoundingBoxAscent,o=i.actualBoundingBoxDescent;return typeof a==`number`&&typeof o==`number`?(a-o)/2:0}function Vk(e){return Pk(e)===`rotate`&&_c(e)===null&&!bc(e)}function Hk(e){let t=mc(e);return t===`Tu`||t===`Tr`}function Uk(e,t){let n=e.textAlign,r=e.textBaseline;e.textAlign=`center`,e.textBaseline=`middle`;let i=e.measureText(t);e.textAlign=n,e.textBaseline=r;let a=i.actualBoundingBoxLeft,o=i.actualBoundingBoxRight;return typeof a!=`number`||typeof o!=`number`||!Number.isFinite(a)||!Number.isFinite(o)?null:{extentPx:a+o,shiftPx:(a-o)/2}}function Wk(e,t,n,r,i,a,o){let s=e.textAlign,c=e.textBaseline,l=()=>(e.textAlign=n===`sideways`?`left`:`center`,e.textBaseline=n===`sideways`?`alphabetic`:`middle`,e.measureText(t)),u;try{u=o?Pc(e,l):l()}finally{e.textAlign=s,e.textBaseline=c}if(n===`upright`){if(!Number.isFinite(u.actualBoundingBoxLeft)||!Number.isFinite(u.actualBoundingBoxRight))return;let e=u.actualBoundingBoxLeft,t=u.actualBoundingBoxRight,n=a===`vertical-rl`?1:i,o=-(r.xPt-e)*n,s=-(r.xPt+t)*n;return Object.freeze({startPt:Math.min(o,s),endPt:Math.max(o,s)})}if(!Number.isFinite(u.actualBoundingBoxAscent)||!Number.isFinite(u.actualBoundingBoxDescent))return;let d=u.actualBoundingBoxAscent,f=u.actualBoundingBoxDescent,p=r.yPt-d,m=r.yPt+f;return Object.freeze({startPt:Math.min(p,m),endPt:Math.max(p,m)})}function Gk(e,t,n,r,i){let a=e.measureText(t).width;if(Hk(n)&&r(n)){let n=Fc(e,t);return{naturalPx:n.cellAdvancePx,vert:n,rotateInkShiftPx:0}}if(i&&Vk(n)){let n=Uk(e,t);if(n!==null&&n.extentPx>a)return{naturalPx:n.extentPx,vert:null,rotateInkShiftPx:n.shiftPx}}return{naturalPx:a,vert:null,rotateInkShiftPx:0}}function Kk(e,t,n,r,i=1,a=!1,o=Rk,s=`vertical-rl`){let c=[],l=zk(e,t,n),u=0,d=0;for(let f of Lk(t)){if(f.mode===`sideways`){let t=[...f.text].length,n=e.measureText(f.text).width*i+r*t,a={xPt:0,yPt:l},o=Wk(e,f.text,`sideways`,a,i,s,!1);c.push({range:{start:d,end:d+f.text.length},text:f.text,orientation:`sideways`,originPt:u,advancePt:n,drawOffsetPt:a,verticalFeature:!1,...o?{blockAxisInkBounds:o}:{}}),u+=n,d+=f.text.length;continue}for(let t of f.text){let l=t.codePointAt(0)??0,f=Pk(l),p=f===`rotate`?_c(l):null,m=f===`rotate`&&p===null&&bc(l),h=Gk(e,t,l,o,a),g=h.naturalPx*i+r,_={start:d,end:d+t.length};if(h.vert!==null){let n={xPt:0,yPt:0},r=Wk(e,t,`upright`,n,i,s,!0);c.push({range:_,text:t,orientation:`upright`,originPt:u+h.vert.originInCellPx*i,advancePt:g,drawOffsetPt:n,verticalFeature:!0,...r?{blockAxisInkBounds:r}:{}})}else if(f===`upright`||p!==null||m){let r=p===null?hc(l):null,a=p??r,o=a===null?t:String.fromCodePoint(a),d=a===null?Ik(l):{dx:0,dy:0},f=Hm(r),m=d.dy===0&&!f?Bk(e,o)/n:0,h={xPt:d.dx*n,yPt:(m+d.dy)*n},v=Wk(e,o,`upright`,h,i,s,!1);c.push({range:_,text:o,orientation:`upright`,originPt:u+g/2,advancePt:g,drawOffsetPt:h,verticalFeature:!1,...v?{blockAxisInkBounds:v}:{}})}else{let n={xPt:0,yPt:0},r=Wk(e,t,`rotate`,n,i,s,!1);c.push({range:_,text:t,orientation:`rotate`,originPt:u+g/2+i*h.rotateInkShiftPx,advancePt:g,drawOffsetPt:n,verticalFeature:!1,...r?{blockAxisInkBounds:r}:{}})}u+=g,d+=t.length}}return c}function qk(e,t,n){let r=0;for(let i of Lk(t)){if(i.mode===`sideways`){r+=e.measureText(i.text).width;continue}for(let t of i.text){let i=Gk(e,t,t.codePointAt(0)??0,n,!0);r+=i.naturalPx}}return r-e.measureText(t).width}function Jk(e,t){return qk(e,t,t=>Nc(e,t))}function Yk(e,t,n,r,i){return{x:t,y:i-(e+n),w:r,h:n}}function Xk(e,t,n){Ug(e.blocks.body);let r=e.acquisition,i=r.acquisitionInputs,a=r.effectiveTablePositioning,o=r.publicAnchorBridge,s=$m(e.fonts.familyClasses,e.fonts.familyPitches),c=(e,t,n)=>`${e}${t?`|clr:${t}`:``}${n?`|duo:${n.clr1}:${n.clr2}`:``}`;function l(e,t,n={},r,a={},s,c){let l=t_(r,t),u=s;return{ctx:e,verticalGlyphMeasurement:Ku(u),acquisitionInputs:i,contentX:t.marginLeft,contentW:t.pageWidth-t.marginLeft-t.marginRight,y:0,pageH:t.pageHeight,pageIndex:0,totalPages:rd(u).totalPages,marginLeft:t.marginLeft,marginRight:t.marginRight,marginTop:p_(t.marginTop),marginBottom:p_(t.marginBottom),pageWidth:t.pageWidth,floats:[],floatParaSeq:0,layoutSettings:r,sectionLayout:l,storyContext:YE,docEastAsian:r.documentHasEastAsianText,fontFamilyClasses:n,resolvedLocalFonts:a,layoutServices:u,retainedTableAcquisition:{layoutServices:e=>e.layoutServices,tableFormat:i.tableFormatInput,resolveColumns:p,createCellState:(e,t,n)=>({...eD(e),contentX:0,contentW:t,y:0,containerShading:n.background??e.containerShading,floats:[],floatParaSeq:0,pageAnchorPrescanned:new Set}),acquireParagraph:(e,t,n,r,i,a,s,c)=>{let l=c??{story:`body`,storyInstance:`body`,path:[...r]},u=t.runs.filter((e,t)=>o(l,t)!==null);u.length>0&&T({...t,runs:u},e,e.y);let d=$E(e,t),f=Ck(e,e.acquisitionInputs.paragraphAcquisitionInput(t,l),{id:`${l.story}:${l.storyInstance}:${l.path.join(`.`)}`,source:l,flowDomainId:i,ordinaryFlow:!0,context:d,placement:{startYPt:e.y,paragraphXPt:0,availableWidthPt:n,maximumYPt:e.pageH,suppressSpaceBefore:!0},measurer:{context:e.ctx,fontFamilyClasses:e.fontFamilyClasses},environment:qE(e),exclusions:wk(e.floats,i),anchorCollisions:Tk(e.floats),anchorCellBounds:{xPt:0,yPt:0,widthPt:n,heightPt:e.pageH},containerShading:e.containerShading,...a?{paragraphBorderEdges:a}:{},trailingExtentPt:Math.max(d.spaceAfterPt,a?.bottom===`none`?0:jg(t.borders)),continuesFromPrevious:!1,anchorFrames:XE(e),acquireCompleteStory:e.acquireCompleteTextBoxStory},s).layout;return t.spaceBefore===0?f:Object.freeze({...f,flowBounds:Object.freeze({...f.flowBounds,heightPt:f.flowBounds.heightPt+t.spaceBefore}),advancePt:f.advancePt+t.spaceBefore,spacing:Object.freeze({...f.spacing,beforePt:t.spaceBefore})})},registerFloatingTable:(e,t)=>{let n=!t.positioning.horzSpecified||t.positioning.horzAnchor!==`page`&&t.positioning.horzAnchor!==`margin`,r=t.positioning.vertAnchor!==`page`&&t.positioning.vertAnchor!==`margin`;if(!n||!r)return null;let i=e.pageH,a={xPt:e.contentX,yPt:e.y,widthPt:e.contentW,heightPt:t.child.advancePt},o=AE(t.positioning,{page:{xPt:0,yPt:0,widthPt:e.pageWidth,heightPt:i},margin:{xPt:e.marginLeft,yPt:e.marginTop,widthPt:Math.max(0,e.pageWidth-e.marginLeft-e.marginRight),heightPt:Math.max(0,i-e.marginTop-e.marginBottom)},text:a},t.child.columnWidthsPt.reduce((e,t)=>e+t,0),t.child.advancePt),s=wE(e,{x:o.x,y:o.y,w:o.w,h:o.h,dl:t.positioning.leftFromTextPt,dr:t.positioning.rightFromTextPt,dt:t.positioning.topFromTextPt,db:t.positioning.bottomFromTextPt,kind:`table`,mode:`square`,side:`bothSides`,imageKey:``,paraId:e.floatParaSeq++,avoidOverlap:!0,tableOverlap:t.overlap});return Object.freeze({xPt:s.imageX-a.xPt,yPt:s.imageY-a.yPt})},advanceState:(e,t)=>{e.y+=t}},retainedTablesBySourceIndex:new Map,currentDateMs:c?.currentDateMs,kinsoku:r.kinsoku,defaultTabPt:r.defaultTabPt,get verticalCJK(){return HE(this.sectionLayout.textDirection)},get verticalAllRotated(){return HE(this.sectionLayout.textDirection)&&UE(this.sectionLayout.textDirection)},verticalPhys:VE(t)?(()=>{let e=GE(t);return{pageWidth:e.pageWidth,pageHeight:e.pageHeight,marginLeft:e.marginLeft,marginRight:e.marginRight,marginTop:p_(e.marginTop),marginBottom:p_(e.marginBottom),physicalPageWidthPt:e.pageWidth}})():void 0}}function u(e,t,n){let r=e=>{let t=Object.freeze({top:null,right:null,bottom:null,left:null,insideH:null,insideV:null});return Object.freeze({kind:`table`,id:e.id,source:e.source,flowDomainId:e.flowDomainId,ordinaryFlow:!0,alignment:e.alignment,indentPt:e.indentPt,bidiVisual:e.bidiVisual,columnWidthsPt:e.columnWidthsPt,columnWidthKeys:e.columnWidthKeys,borders:t,rows:Object.freeze(e.rows.map(e=>Object.freeze({...e,exceptionBorders:e.sourceTableEdges})))})},i=t=>{if(t.story!==`body`||t.storyInstance!==`body`||t.path.length!==1)throw Error(`Body acquisition requires a top-level body source`);let n=e.blocks.resolve(t);if(!n||n.type!==`paragraph`&&n.type!==`table`)throw Error(`Body source does not identify a flow block: ${t.path.join(`.`)}`);return n},c=t=>e.blocks.resolve(t),u=(e,t,n,r,i,a,o=Object.freeze({boundary:null}),s)=>{let c=Gg(t)??{top:`top`,bottom:`bottom`},l=QE(e,t);return Rw(t,{id:`${n.story}:${n.storyInstance}:${n.path.join(`.`)}`,source:n,flowDomainId:r.flowDomainId,ordinaryFlow:!0,context:l,placement:{startYPt:e.y,paragraphXPt:r.availableBounds.xPt,availableWidthPt:i,maximumYPt:e.pageH,suppressSpaceBefore:a},measurer:{context:e.ctx,fontFamilyClasses:e.fontFamilyClasses},environment:qE(e),exclusions:wk(e.floats,r.flowDomainId),anchorCollisions:s??Tk(e.floats),containerShading:e.containerShading,paragraphBorderEdges:c,trailingExtentPt:Math.max(l.spaceAfterPt,c.bottom===`none`?0:jg(t.borders)),continuesFromPrevious:o.boundary!==null,...o.sourceRangeStart===void 0?{}:{sourceRangeStart:o.sourceRangeStart},anchorFrames:XE(e),acquireCompleteStory:e.acquireCompleteTextBoxStory},o.boundary===null?void 0:{boundary:o.boundary,...o.uniformRubyAdvancePt===void 0?{}:{uniformRubyAdvancePt:o.uniformRubyAdvancePt}})};return Object.freeze({openBodyLayoutSession(d,g,_){if(!t)throw Error(`Body layout acquisition requires a measurement context`);let v={...e.section,...d.section.geometry,textDirection:d.section.textDirection,vAlign:d.section.verticalAlignment},y=l(t,HE(v.textDirection)?WE(v):v,s,e.documentLayoutSettings,n,g,_),b=e.blocks.footnotes,x=e.blocks.endnotes,S=rT(b);y.noteNumbers=new Map([...[...nT(b,iT(e.blocks.body,`footnote`))].map(([e,t])=>[`footnote:${e}`,t]),...[...nT(x,iT(e.blocks.body,`endnote`))].map(([e,t])=>[`endnote:${e}`,t])]);let C=d.initialLocation,w=e=>`body:page:${e}:registry`,D=Object.freeze({coordinateSpace:`logical-page-points`,flowDomainId:w(C.pageIndex),entries:Object.freeze([]),nextParagraphId:0}),O=Ok(w(C.pageIndex),`logical-page-points`),k=(e,t)=>{let n=t.section.geometry;e.sectionLayout=t.section,e.pageIndex=t.pageIndex;let r=rd(g).resolveDestinationPage?.(t.pageIndex);e.displayPageNumber=r?.displayPageNumber??t.pageIndex+1,e.pageNumberFormat=r?.pageNumberFormat??e.pageNumberFormat,e.pageWidth=n.pageWidth,e.pageH=n.pageHeight,e.marginLeft=n.marginLeft,e.marginRight=n.marginRight,e.marginTop=p_(n.marginTop),e.marginBottom=p_(n.marginBottom),e.contentX=t.availableBounds.xPt,e.contentW=t.availableBounds.widthPt,e.y=t.cursorPt.yPt},A=e=>{C=e,k(y,e)};A(C);let j=(e,t,n,r,i=D.nextParagraphId)=>{let a=new Set(D.entries.map(e=>e.occurrenceId)),s=e.runs.flatMap((i,s)=>{if(i.type!==`shape`&&i.type!==`image`&&i.type!==`chart`)return[];let c=o(t,s);return!c||r&&!r.has(c.occurrenceId)||a.has(c.occurrenceId)||c.pageOwned&&n.pageAnchorPrescanned?.has(e)?[]:[{run:i,occurrenceId:c.occurrenceId}]});if(s.length===0)return Object.freeze([]);let c=n.floats.length;T({...e,runs:s.map(({run:e})=>e)},n,n.y);let l=n.floats.slice(c);if(l.length!==s.length)throw Error(`Public paragraph anchor acquisition did not retain every wrap float`);return Object.freeze(l.map((e,t)=>{let n=s[t].occurrenceId;return Object.freeze({kind:`shape`,occurrenceId:n,exclusionId:n,paragraphId:i,bounds:Object.freeze({xPt:e.imageX,yPt:e.imageY,widthPt:e.imageW,heightPt:e.imageH}),exclusionBounds:Object.freeze({xPt:e.xLeft,yPt:e.yTop,widthPt:e.xRight-e.xLeft,heightPt:e.yBottom-e.yTop}),wrap:s[t].run.wrapMode,wrapSide:e.side,wrapDistances:Object.freeze({topPt:e.distTop,rightPt:e.distRight,bottomPt:e.distBottom,leftPt:e.distLeft}),...e.wrapPolygon?{wrapPolygon:Object.freeze([...e.wrapPolygon])}:{}})}))},M=e=>{let t=new Map((e.anchorFrames??[]).flatMap(e=>{if(e.status!==`resolved`)return[];let t=e=>e.status===`resolved`&&(e.referenceFrame===`paragraph`||e.referenceFrame===`line`||e.referenceFrame===`character`);return t(e.axes.horizontal)||t(e.axes.vertical)?[[e.occurrenceId,e]]:[]}));if(t.size===0)return Object.freeze([]);let n=new Map(e.exclusions.flatMap(e=>e.anchorOccurrenceId?[[e.anchorOccurrenceId,e]]:[]));return Object.freeze((e.anchorCollisions??[]).flatMap(e=>{let r=t.get(e.occurrenceId);if(!r||r.geometry.wrap.kind===`none`)return[];let i=n.get(e.occurrenceId);if(!i)throw Error(`Wrapped anchor omitted exclusion geometry: ${e.occurrenceId}`);return[Object.freeze({kind:`shape`,occurrenceId:e.occurrenceId,exclusionId:e.occurrenceId,paragraphId:D.nextParagraphId,bounds:e.bounds,exclusionBounds:i.bounds,horizontalOwnership:e.horizontalOwnership,verticalOwnership:e.verticalOwnership,wrap:r.geometry.wrap.kind,wrapSide:r.geometry.wrap.side,wrapDistances:r.geometry.wrap.distances,...r.geometry.wrap.polygon?{wrapPolygon:r.geometry.wrap.polygon.points}:{}})]}))},N=e=>{if(e.acquired.kind!==`paragraph`)return e.acquired;let t=c(e.acquired.source);if(t.type!==`paragraph`)throw Error(`Table paragraph re-acquisition source kind mismatch`);let n={...eD(y),contentX:0,contentW:e.acquired.flowBounds.widthPt,y:e.acquired.flowBounds.yPt,floats:(e.floatingTableExclusions??[]).map((e,t)=>({kind:`table`,tableOverlap:`never`,mode:`square`,imageKey:`table-final-frame:${t}`,imageX:e.xPt,imageY:e.yPt,imageW:e.widthPt,imageH:e.heightPt,xLeft:e.xPt,xRight:e.xPt+e.widthPt,yTop:e.yPt,yBottom:e.yPt+e.heightPt,side:`bothSides`,distLeft:0,distRight:0,distTop:0,distBottom:0,paraId:t})),floatParaSeq:e.floatingTableExclusions?.length??0,pageAnchorPrescanned:new Set},r=tC(e.acquired);return y.retainedTableAcquisition.acquireParagraph(n,t,e.acquired.flowBounds.widthPt,e.acquired.source.path,e.acquired.flowDomainId,void 0,r)},ee=rT(e.blocks.endnotes),te=new Map,ne=t=>{if(t.path.length!==0)throw Error(`Story acquisition requires a story-root source`);return e.blocks.storyRoot(t)},re=t=>{if(t.path.length===0||(t.path.length-1)%3!=0)throw Error(`Story block acquisition requires a canonical source path`);return e.blocks.resolve(t)},P=e=>{let t=JSON.stringify({source:e.source,pageIndex:e.pageIndex,section:e.section,container:e.container}),n=te.get(t);if(n)return n;let r=ne(e.source),i=e.source.story===`footnote`||e.source.story===`endnote`?y.noteNumbers?.get(`${e.source.story}:${e.source.storyInstance}`):void 0,a=rd(g),s=a.resolveDestinationPage?.(e.pageIndex),c=HE(e.section.textDirection),l={...y,sectionLayout:e.section,pageIndex:e.pageIndex,totalPages:a.totalPages,displayPageNumber:s?.displayPageNumber??e.pageIndex+1,pageNumberFormat:s?.pageNumberFormat??y.pageNumberFormat,pageWidth:e.section.geometry.pageWidth,pageH:e.container.capacity===`unbounded`?2**53-1:e.section.geometry.pageHeight,marginLeft:e.section.geometry.marginLeft,marginRight:e.section.geometry.marginRight,marginTop:p_(e.section.geometry.marginTop),marginBottom:p_(e.section.geometry.marginBottom),contentX:e.container.bounds.xPt,contentW:e.container.bounds.widthPt,y:e.container.bounds.yPt,floats:[],floatParaSeq:0,retainedTablesBySourceIndex:new Map,pageAnchorPrescanned:new Set,noteReferenceNumber:i,verticalCJK:c,verticalAllRotated:c&&UE(e.section.textDirection),...c?{}:{verticalPhys:void 0},storyContext:{story:e.source.story,containers:[],lineNumberingEligible:!1}};E(r,0,l);let u=$u(g);l.layoutServices=u;let d=r.flatMap((t,n)=>{let r={story:e.source.story,storyInstance:e.source.storyInstance,path:[n]};if(t.type===`unsupportedTextBoxBlock`)return[{type:`unsupportedTextBoxBlock`,qName:t.qName,sourcePath:t.sourcePath}];if(t.type===`paragraph`)return[{kind:`paragraph`,source:r}];if(t.type!==`table`)throw Error(`Unsupported ${e.source.story} story block: ${t.type}`);let i=l.retainedTableAcquisition,a=t;return[BO(a,p(a,e.container.bounds.widthPt,l),e.container.bounds.widthPt,l,r,i).input]}),f=null;kT(u,{layoutParagraph(e,t){let n=re(e.source);if(n.type!==`paragraph`)throw Error(`Story paragraph source kind mismatch`);let i=e.source.path[0],a=i>0?r[i-1]:void 0,s=a?.type===`paragraph`?a:null,c=r[i+1],u=c?.type===`paragraph`?c:null,d=f?.spaceAfter??0,p=YS(f,n,d,n.spaceBefore),m=Math.max(t.container.bounds.yPt,t.cursor.yPt-p.overlap);l.y=m,l.contentX=t.container.bounds.xPt,l.contentW=t.container.bounds.widthPt;let h=n.runs.filter((t,n)=>o(e.source,n)!==null);h.length>0&&T(Object.freeze({...n,runs:Object.freeze(h)}),l,l.y);let g=$E(l,n),_=Lg(s,n,u),v=Ck(l,n,{id:`${e.source.story}:${e.source.storyInstance}:${e.source.path.join(`.`)}`,source:e.source,flowDomainId:t.container.id,ordinaryFlow:!0,context:g,placement:{startYPt:m,paragraphXPt:t.container.bounds.xPt,availableWidthPt:t.container.bounds.widthPt,maximumYPt:t.availableBounds.yPt+t.availableBounds.heightPt,suppressSpaceBefore:p.suppressBefore},measurer:{context:l.ctx,fontFamilyClasses:l.fontFamilyClasses},environment:qE(l),exclusions:wk(l.floats,t.container.id),anchorCollisions:Tk(l.floats),containerShading:l.containerShading,paragraphBorderEdges:_,trailingExtentPt:Math.max(g.spaceAfterPt,_.bottom===`none`?0:jg(n.borders)),continuesFromPrevious:!1,anchorFrames:XE(l),acquireCompleteStory:l.acquireCompleteTextBoxStory});f=n;let y={xPt:t.cursor.xPt,yPt:m+v.layout.advancePt};return l.y=y.yPt,{layout:v.layout,nextCursor:y}},layoutTable(e,t){f=null;let n=PO({...e,flowDomainId:t.container.id},t,u);return l.y=n.nextCursor.yPt,n}});let m=MT({source:e.source,container:e.container,blocks:Object.freeze(d)},u),h=Object.freeze({...m,blocks:Object.freeze(m.blocks.map((t,n)=>{if(t.kind!==`paragraph`&&t.kind!==`table`)throw Error(`Shared story emitted unsupported node: ${t.kind}`);return Xb(t,{occurrenceId:`${e.container.id}:block:${n}`,destination:{coordinateSpace:`logical-page-points`,flowDomainId:e.container.id,translation:{xPt:0,yPt:0}}})}))});return te.set(t,h),h};y.acquireCompleteTextBoxStory=e=>{let t=e.coordinateSpace===`upright-physical`?{...y.sectionLayout,geometry:h_(y.sectionLayout.geometry),textDirection:`lrTb`}:y.sectionLayout;return P({source:e.source,pageIndex:y.pageIndex,section:t,container:e.container})};let F={hasPaginationFields:e.hasPaginationFields,measureParagraph(t){A(t.location);let n=i(t.input.source);if(n.type!==`paragraph`)throw Error(`Paragraph source kind mismatch`);if(n.framePr){if(t.continuation.boundary!==null)throw Error(`Body frame acquisition cannot continue across flow regions`);let r,i=Wg(n);if(!i)throw Error(`Body frame acquisition requires an indexed adjacency group`);let a=h(n,i,y,m(e.blocks.body,n,y),e=>{r=e});if(!r)throw Error(`Body frame acquisition omitted its retained group`);let o=r.members.find(e=>e.paragraph===n);if(!o)throw Error(`Body frame acquisition omitted its retained member`);let s=n===i.members.at(-1)&&i.framePr.dropCap!==`none`?hx(Bw(r)):0,c=n.framePr.vAnchor===`page`||n.framePr.vAnchor===`margin`,l=a.exclusionId??`frame:${t.input.source.path.join(`:`)}`,u=Object.freeze({kind:`frame`,occurrenceId:l,exclusionId:l,paragraphId:D.nextParagraphId,bounds:Object.freeze({xPt:a.x,yPt:a.y,widthPt:a.w,heightPt:a.h}),exclusionBounds:Object.freeze({xPt:a.exLeft,yPt:a.exTop,widthPt:a.exRight-a.exLeft,heightPt:a.exBottom-a.exTop})});return Object.freeze({layout:o.fragment,blockExtentPt:s,fragmentation:Object.freeze({kind:`indivisible`}),placement:Object.freeze({coordinateSpace:`logical-body`,xPt:o.fragment.flowBounds.xPt,yPt:o.fragment.flowBounds.yPt,sectionFlowOwnership:c?`page`:`host-flow`}),...n===i.owner?{retainedFootnoteReferenceIds:Object.freeze([...new Set(r.members.flatMap(e=>lT(e.fragment)))])}:{},...c?{}:{relocationBlockExtentPt:Math.max(0,a.y+a.h-t.location.cursorPt.yPt)},...a.registerExclusion===!1?{}:{flowRegistryDelta:Object.freeze({floats:NE(D,Object.freeze([u]),D.nextParagraphId+1)})}})}let r={...y,floats:[...y.floats],pageAnchorPrescanned:new Set(y.pageAnchorPrescanned)};k(r,t.location);let a=t.continuation.boundary===null?j(n,t.input.source,r):Object.freeze([]),{measured:o,layout:s}=u(r,n,t.input.source,t.location,t.availableInlineExtentPt,t.suppressSpaceBefore,t.continuation,O.entries),c=o.lines.map(e=>{let t=e.layout.consumedEnd;if(!t)throw Error(`Measured line omitted its source boundary`);return t}),l=M(s),d=Object.freeze([...a,...l]),f=rC(s);return Object.freeze({layout:s,blockExtentPt:s.advancePt,fragmentation:o.markOnly?Object.freeze({kind:`indivisible`}):Object.freeze({kind:`splittable`,lineEndBoundaries:Object.freeze(c)}),...o.markOnly?{markBelowBaselinePt:o.lastLineBelowBaselinePt}:{},...o.uniformRubyAdvancePt==null?{}:{uniformRubyAdvancePt:o.uniformRubyAdvancePt},...d.length===0&&f.length===0?{}:{flowRegistryDelta:Object.freeze({...d.length===0?{}:{floats:NE(D,d,D.nextParagraphId+d.length)},...f.length===0?{}:{drawingCollisions:kk(O,f)}})}})},measureTable(e){if(A(e.location),e.input.kind===`adjacent-table-group`){if(e.cursor&&e.cursor.kind!==`adjacent-table-group`)throw Error(`Adjacent table group acquisition received an ordinary table cursor`);let t=e.input.tables.map(t=>{let n=i(t.source);if(n.type!==`table`)throw Error(`Table source kind mismatch`);let r=t.source.path[0];return f(y,n,e.availableInlineExtentPt,r),tD(y,r).acquisition}),n=r(ZO(e.input.logicalSequenceId,t.map(e=>e.input))),a={container:{id:e.location.flowDomainId,kind:`body`,bounds:{xPt:0,yPt:0,widthPt:e.availableInlineExtentPt,heightPt:e.freshPageBlockExtentPt}},cursor:{xPt:0,yPt:0},availableBounds:{xPt:0,yPt:0,widthPt:e.availableInlineExtentPt,heightPt:e.freshPageBlockExtentPt}},o=PO(n,a,g).layout,s={};t.forEach(e=>Object.entries(e.nestedById).forEach(([e,t])=>{if(s[e]&&s[e]!==t)throw Error(`Adjacent table group has duplicate nested table id: ${e}`);s[e]=t}));let c=Object.freeze({input:n,layout:o,nestedById:Object.freeze(s),floatingTables:Object.freeze(t.flatMap(e=>e.floatingTables))}),l=e.cursor?.cursor??Object.freeze({tableIndex:0,sourceRowIndex:0}),u=e.input.tables.slice(0,l.tableIndex).reduce((e,t)=>e+(t.rowCount??0),0)+l.sourceRowIndex,d=l.tableCursor??Object.freeze({...ek(),rowIndex:u});if(d.rowIndex!==u)throw Error(`Adjacent-table group and table-fragment cursors disagree`);let p=Sk(c,d,{availableHeightPt:e.availableBlockExtentPt,freshPageHeightPt:e.freshPageBlockExtentPt,placement:a,services:g,compatibility:`word`,page:{physicalPageIndex:e.location.pageIndex,displayPageNumber:e.location.pageIndex+1,occurrenceId:`${n.id}:body:${e.location.pageIndex}`}});if(!p.fragment||p.requiresFreshPage)return Object.freeze({layout:c.layout,blockExtentPt:0,nextCursor:Object.freeze({kind:`adjacent-table-group`,cursor:l}),requiresFreshFlowRegion:!0});let m=p.nextCursor?(()=>{let t=0,n=0;for(;t<e.input.tables.length;){let r=e.input.tables[t].rowCount??0;if(p.nextCursor.rowIndex<n+r)break;n+=r,t+=1}return t>=e.input.tables.length?null:Object.freeze({tableIndex:t,sourceRowIndex:p.nextCursor.rowIndex-n,tableCursor:p.nextCursor})})():null;return Object.freeze({layout:p.fragment,blockExtentPt:p.fragment.advancePt,nextCursor:m?Object.freeze({kind:`adjacent-table-group`,cursor:m}):null,...p.floatingTableRegistryDelta?{flowRegistryDelta:Object.freeze({floats:p.floatingTableRegistryDelta})}:{}})}let t=i(e.input.source);if(t.type!==`table`)throw Error(`Table source kind mismatch`);let n=e.input.source.path[0];f(y,t,e.availableInlineExtentPt,n);let o=tD(y,n).acquisition;if(e.cursor&&e.cursor.kind!==`table`)throw Error(`Ordinary table acquisition received an adjacent-group cursor`);let s=e.cursor?.cursor??ek(),c=y.pageH,l=y.acquisitionInputs.tableFormatInput(t).positioning;if(l){let n=e.cursor?.kind===`table`&&e.cursor.floatingContinuationFrame===`fresh-text`?Object.freeze({...l,vertAnchor:`text`,yPt:0,yAlign:void 0}):l,r=o.layout.columnWidthsPt.reduce((e,t)=>e+t,0),i=Object.freeze({page:Object.freeze({xPt:0,yPt:0,widthPt:y.pageWidth,heightPt:c}),margin:Object.freeze({xPt:y.marginLeft,yPt:y.marginTop,widthPt:Math.max(0,y.pageWidth-y.marginLeft-y.marginRight),heightPt:Math.max(0,c-y.marginTop-y.marginBottom)}),text:Object.freeze({xPt:e.location.cursorPt.xPt,yPt:e.location.cursorPt.yPt,widthPt:e.availableInlineExtentPt,heightPt:o.layout.advancePt})}),a=AE(n,i,r,o.layout.advancePt);if(e.cursor?.kind!==`table`&&(n.vertAnchor===`page`||n.vertAnchor===`margin`)&&Cp({bounds:{xPt:a.x,yPt:a.y,widthPt:a.w,heightPt:a.h},blockers:D.entries.map(mp),overlapEpsilonPt:.01}).defer)return Object.freeze({layout:o.layout,blockExtentPt:0,nextCursor:Object.freeze({kind:`table`,cursor:s,floatingContinuationFrame:`authored`}),requiresFreshFlowRegion:!0});let u=(n.vertAnchor===`page`||n.vertAnchor===`margin`)&&o.layout.advancePt>e.freshPageBlockExtentPt,d=u?e.location.availableBounds.yPt+e.location.availableBounds.heightPt:n.vertAnchor===`page`?i.page.yPt+i.page.heightPt:n.vertAnchor===`margin`?i.margin.yPt+i.margin.heightPt:e.location.availableBounds.yPt+e.location.availableBounds.heightPt,f=u?e.freshPageBlockExtentPt:n.vertAnchor===`page`?i.page.heightPt:n.vertAnchor===`margin`?i.margin.heightPt:e.freshPageBlockExtentPt,p;try{p=sm({step:r=>{if(r?.kind===`fresh-flow-region`||r?.kind===`candidate`&&r.resolved.placement.xPt===r.parentFrame.xPt&&r.resolved.placement.yPt===r.parentFrame.yPt)return r;let c=r?.resolved.placement??{xPt:a.x,yPt:a.y},l=Math.max(0,d-c.yPt),u=Sk(o,s,{availableHeightPt:l,freshPageHeightPt:f,placement:{container:{id:`${e.location.flowDomainId}:floating-table`,kind:`body`,bounds:{xPt:0,yPt:0,widthPt:e.availableInlineExtentPt,heightPt:l}},cursor:{xPt:0,yPt:0},availableBounds:{xPt:0,yPt:0,widthPt:e.availableInlineExtentPt,heightPt:l}},services:g,compatibility:`word`,oversizedRowPolicy:`atomic`,page:{physicalPageIndex:e.location.pageIndex,displayPageNumber:y.displayPageNumber??e.location.pageIndex+1,occurrenceId:`${o.input.id}:fitting-outer:${e.location.pageIndex}:${s.rowIndex}:${s.rowFragmentIndex}`},floatingTableFrames:{page:i.page,margin:i.margin,column:i.text},floatingTableRegistry:D,finalPlacementTranslationPt:c,reacquirePageDependentBlock:N});if(!u.fragment||u.requiresFreshPage)return Object.freeze({kind:`fresh-flow-region`,result:u});let p=Object.freeze({kind:`floating-table-placement`,occurrenceId:`${o.input.id}:root:${e.location.pageIndex}:${s.rowIndex}:${s.rowFragmentIndex}`,ownership:`source`,physicalPageIndex:e.location.pageIndex,displayPageNumber:y.displayPageNumber??e.location.pageIndex+1,hostCellId:e.location.flowDomainId,sourceBlockIndex:e.input.source.path[0],anchorBlockIndex:e.input.source.path[0],tableId:u.fragment.id,overlap:t.overlap===`never`?`never`:`overlap`,positioning:n,anchorBounds:i.text,child:u.fragment}),m=u.floatingTableRegistryDelta?.entries??[],h=u.floatingTableRegistryDelta?.nextParagraphId??D.nextParagraphId,_=IE(p,i,FE(D.entries,h,D.coordinateSpace,D.flowDomainId)),v=JSON.stringify({parentFrame:{xPt:_.placement.xPt,yPt:_.placement.yPt},fragment:u.fragment,nestedEntries:m,resolvedBounds:_.placement.bounds});return Object.freeze({kind:`candidate`,parentFrame:Object.freeze({xPt:c.xPt,yPt:c.yPt}),result:u,fragment:u.fragment,resolved:_,nestedEntries:m,fingerprint:v})},stateOf:e=>e.kind===`fresh-flow-region`?`fresh-flow-region`:e.fingerprint,limit:16}).value}catch(e){throw e instanceof om?new J(`NON_CONVERGENCE`,e.reason===`cycle`?`Floating table parent/child transaction repeated an exact-state cycle`:`Floating table parent/child transaction reached the operational pass limit 16`):e}if(p.kind===`fresh-flow-region`)return Object.freeze({layout:o.layout,blockExtentPt:0,nextCursor:Object.freeze({kind:`table`,cursor:s,floatingContinuationFrame:`fresh-text`}),requiresFreshFlowRegion:!0});let{result:m,fragment:h,resolved:_,nestedEntries:v}=p,b=e.cursor?.kind===`table`&&e.cursor.floatingContinuationFrame!==void 0,x=e.location.availableBounds.yPt+e.location.availableBounds.heightPt,S=[...h.resolvedFloatingTables??[],_.placement].filter(e=>e.source.positioning.vertAnchor===`text`);return!b&&S.some(e=>e.exclusionBounds.yPt+e.exclusionBounds.heightPt>x)?Object.freeze({layout:h,blockExtentPt:0,nextCursor:Object.freeze({kind:`table`,cursor:s,floatingContinuationFrame:`fresh-text`}),requiresFreshFlowRegion:!0}):Object.freeze({layout:h,blockExtentPt:0,nextCursor:m.nextCursor?Object.freeze({kind:`table`,cursor:m.nextCursor,floatingContinuationFrame:`fresh-text`}):null,flowRegistryDelta:Object.freeze({floats:NE(D,Object.freeze([...v,..._.transaction.delta]),_.transaction.nextParagraphId)}),placement:Object.freeze({coordinateSpace:`logical-body`,xPt:_.placement.xPt,yPt:_.placement.yPt,sectionFlowOwnership:n.vertAnchor===`page`||n.vertAnchor===`margin`?`page`:`host-flow`})})}if(y.verticalPhys&&!a(t)){if(e.cursor)throw Error(`An upright physical table must remain atomic`);let t=y.verticalPhys,n=o.layout.columnWidthsPt.reduce((e,t)=>e+t,0);if(n>e.availableBlockExtentPt&&e.availableBlockExtentPt<e.freshPageBlockExtentPt)return Object.freeze({layout:o.layout,blockExtentPt:0,nextCursor:Object.freeze({kind:`table`,cursor:s}),requiresFreshFlowRegion:!0});let r=t.physicalPageWidthPt-e.location.cursorPt.yPt-n,i=e.location.cursorPt.xPt,a=Math.max(o.layout.advancePt,t.pageHeight-t.marginTop-t.marginBottom),c=`upright-physical-page:${e.location.pageIndex}`,l=Sk(o,ek(),{availableHeightPt:a,freshPageHeightPt:a,placement:{container:{id:c,kind:`body`,bounds:{xPt:0,yPt:0,widthPt:n,heightPt:a}},cursor:{xPt:0,yPt:0},availableBounds:{xPt:0,yPt:0,widthPt:n,heightPt:a}},services:g,compatibility:`word`,oversizedRowPolicy:`atomic`,page:{physicalPageIndex:e.location.pageIndex,displayPageNumber:y.displayPageNumber??e.location.pageIndex+1,occurrenceId:`${o.input.id}:upright-page:${e.location.pageIndex}`},floatingTableFrames:{page:{xPt:0,yPt:0,widthPt:t.pageWidth,heightPt:t.pageHeight},margin:{xPt:t.marginLeft,yPt:t.marginTop,widthPt:Math.max(0,t.pageWidth-t.marginLeft-t.marginRight),heightPt:Math.max(0,t.pageHeight-t.marginTop-t.marginBottom)},column:{xPt:t.marginLeft,yPt:t.marginTop,widthPt:Math.max(0,t.pageWidth-t.marginLeft-t.marginRight),heightPt:Math.max(0,t.pageHeight-t.marginTop-t.marginBottom)}},floatingTableRegistry:Object.freeze({coordinateSpace:`upright-physical-page-points`,flowDomainId:c,entries:Object.freeze([]),nextParagraphId:0}),finalPlacementTranslationPt:{xPt:r,yPt:i},reacquirePageDependentBlock:N});if(!l.fragment||l.nextCursor||l.requiresFreshPage)throw Error(`Upright table final-frame layout must remain atomic`);return Object.freeze({layout:l.fragment,blockExtentPt:n,nextCursor:null,placement:Object.freeze({coordinateSpace:`upright-physical`,xPt:r+l.fragment.flowBounds.xPt,yPt:i+l.fragment.flowBounds.yPt,sectionFlowOwnership:`host-flow`})})}let u=Sk(o,s,{availableHeightPt:e.availableBlockExtentPt,freshPageHeightPt:e.freshPageBlockExtentPt,placement:{container:{id:e.location.flowDomainId,kind:`body`,bounds:{xPt:0,yPt:0,widthPt:e.availableInlineExtentPt,heightPt:e.availableBlockExtentPt}},cursor:{xPt:0,yPt:0},availableBounds:{xPt:0,yPt:0,widthPt:e.availableInlineExtentPt,heightPt:e.availableBlockExtentPt}},services:g,compatibility:`word`,page:{physicalPageIndex:e.location.pageIndex,displayPageNumber:e.location.pageIndex+1,occurrenceId:`${o.input.id}:body:${e.location.pageIndex}`},floatingTableFrames:{page:{xPt:0,yPt:0,widthPt:y.pageWidth,heightPt:c},margin:{xPt:y.marginLeft,yPt:y.marginTop,widthPt:Math.max(0,y.pageWidth-y.marginLeft-y.marginRight),heightPt:Math.max(0,c-y.marginTop-y.marginBottom)},column:e.location.availableBounds},floatingTableRegistry:D,finalPlacementTranslationPt:{xPt:e.location.availableBounds.xPt,yPt:e.location.cursorPt.yPt},reacquirePageDependentBlock:N}),d=e.location.availableBounds.xPt+o.layout.flowBounds.xPt,p=d+o.layout.flowBounds.widthPt,m=u.fragment?.advancePt??0,h=Sp({inlineStartPt:d,inlineEndPt:p,blockStartPt:e.location.cursorPt.yPt,blockExtentPt:m,blockers:D.entries.map(mp),overlapEpsilonPt:up}).blockStartPt;return h>e.location.cursorPt.yPt?Object.freeze({layout:o.layout,blockExtentPt:0,nextCursor:e.cursor??null,retryAtBlockStartPt:h}):!u.fragment||u.requiresFreshPage?Object.freeze({layout:o.layout,blockExtentPt:0,nextCursor:Object.freeze({kind:`table`,cursor:s}),requiresFreshFlowRegion:!0}):Object.freeze({layout:u.fragment,blockExtentPt:u.fragment.advancePt,nextCursor:u.nextCursor?Object.freeze({kind:`table`,cursor:u.nextCursor}):null,...u.floatingTableRegistryDelta?{flowRegistryDelta:Object.freeze({floats:u.floatingTableRegistryDelta})}:{}})},layoutStory:P,layoutNotes(e){let t=[],n=e.container.bounds.yPt,r=e.firstOnPage;for(let i of e.referenceIds){if(!(e.kind===`footnote`?S:ee).has(i))continue;let a={story:e.kind,storyInstance:i,path:[]},o=r?6:0,s={...e.container,id:`${e.container.id}:${e.kind}:${i}`,bounds:{...e.container.bounds,yPt:n+o,heightPt:Math.max(0,e.container.bounds.yPt+e.container.bounds.heightPt-n-o)}},c;try{c=P({source:a,pageIndex:e.pageIndex,section:e.section,container:s})}catch(t){throw t instanceof wT&&t.containerId===s.id?new vb(e.kind,e.pageIndex,e.container.id):t}let l=Object.freeze(r?[Object.freeze({edge:`top`,from:Object.freeze({xPt:e.container.bounds.xPt,yPt:n+o/2}),to:Object.freeze({xPt:e.container.bounds.xPt+e.container.bounds.widthPt/3,yPt:n+o/2}),color:`#000000`,widthPt:.5,authoredStyle:`single`,style:`solid`})]:[]),u=o+c.advancePt,d=Object.freeze({xPt:e.container.bounds.xPt,yPt:n,widthPt:e.container.bounds.widthPt,heightPt:u}),f=Object.freeze({kind:`note`,id:`${e.kind}:${i}:page:${e.pageIndex}`,source:a,flowDomainId:e.container.id,ordinaryFlow:!0,flowBounds:d,inkBounds:Object.freeze({xPt:Math.min(d.xPt,c.inkBounds.xPt),yPt:Math.min(d.yPt,c.inkBounds.yPt),widthPt:Math.max(d.xPt+d.widthPt,c.inkBounds.xPt+c.inkBounds.widthPt)-Math.min(d.xPt,c.inkBounds.xPt),heightPt:Math.max(d.yPt+d.heightPt,c.inkBounds.yPt+c.inkBounds.heightPt)-Math.min(d.yPt,c.inkBounds.yPt)}),clipBounds:e.container.bounds,advancePt:u,separator:l,story:c});t.push(f),n+=u,r=!1}return Object.freeze(t)},measureFollowingBlock(e){let t={...y,floats:[...y.floats],retainedTablesBySourceIndex:new Map(y.retainedTablesBySourceIndex)};if(k(t,e.location),e.input.kind===`adjacent-table-group`){let n=e.input.tables.map(n=>{let r=i(n.source);if(r.type!==`table`)throw Error(`Following table source kind mismatch`);let a=n.source.path[0];return f(t,r,e.availableInlineExtentPt,a),tD(t,a).acquisition}),a=PO(r(ZO(e.input.logicalSequenceId,n.map(e=>e.input))),{container:{id:e.location.flowDomainId,kind:`body`,bounds:e.location.availableBounds},cursor:e.location.cursorPt,availableBounds:e.location.availableBounds},g).layout;return Object.freeze({fullExtentPt:a.advancePt,leadContentExtentPt:a.rows[0]?.advancePt??a.advancePt,fullFootnoteReferenceIds:lT(a),leadFootnoteReferenceIds:lT({...a,rows:a.rows.slice(0,1)})})}let n=i(e.input.source);if(e.input.kind===`paragraph`){if(n.type!==`paragraph`)throw Error(`Following paragraph source kind mismatch`);let{layout:r}=u(t,n,e.input.source,e.location,e.availableInlineExtentPt,!1,void 0,O.entries),i=r.lines[0];return Object.freeze({fullExtentPt:r.advancePt,leadContentExtentPt:i?i.bounds.yPt+i.advancePt-r.flowBounds.yPt:r.advancePt,fullFootnoteReferenceIds:lT(r),leadFootnoteReferenceIds:i?cT([i]):[]})}if(n.type!==`table`)throw Error(`Following table source kind mismatch`);let a=e.input.source.path[0];f(t,n,e.availableInlineExtentPt,a);let o=tD(t,a).acquisition.layout;return Object.freeze({fullExtentPt:o.advancePt,leadContentExtentPt:o.rows[0]?.advancePt??o.advancePt,fullFootnoteReferenceIds:lT(o),leadFootnoteReferenceIds:lT({...o,rows:o.rows.slice(0,1)})})},prescanPageAnchors(e){let t=e.location.section.geometry,n=p_(t.marginTop),r=p_(t.marginBottom),a=Object.freeze({page:Object.freeze({xPt:0,yPt:0,widthPt:t.pageWidth,heightPt:t.pageHeight}),margin:Object.freeze({xPt:t.marginLeft,yPt:n,widthPt:Math.max(0,t.pageWidth-t.marginLeft-t.marginRight),heightPt:Math.max(0,t.pageHeight-n-r)}),column:Object.freeze({xPt:e.location.availableBounds.xPt,yPt:n,widthPt:e.availableInlineExtentPt,heightPt:Math.max(0,t.pageHeight-n-r)}),paragraph:null,line:null,character:null,pageParity:e.location.pageIndex%2==0?`odd`:`even`}),s=new Set,c=e=>`${e.story}:${e.storyInstance}:${e.path.join(`.`)}`,l=new Map,u=e=>{let t=c(e);return l.has(t)||l.set(t,D.nextParagraphId+l.size),l.get(t)},d=e.anchors.flatMap(t=>{let n=i(t.paragraphSource);if(n.type!==`paragraph`)throw Error(`Page-anchor prescan source kind mismatch`);let r=n,c=r.runs.filter(e=>e.type===`anchorHost`&&e.anchorOccurrenceId===t.occurrenceId),l=r.runs.map((e,t)=>({run:e,runIndex:t})).filter(e=>(e.run.type===`image`||e.run.type===`chart`||e.run.type===`shape`||e.run.type===`unavailableDrawing`)&&e.run.anchorAcquisitionInput?.occurrenceId===t.occurrenceId).sort((e,t)=>(e.run.anchorAcquisitionInput.group?.sourceIndex??0)-(t.run.anchorAcquisitionInput.group?.sourceIndex??0)||e.runIndex-t.runIndex);if(c.length!==1||l.length===0){let r=n.runs.find((e,n)=>o(t.paragraphSource,n)?.occurrenceId===t.occurrenceId);if(r){if((r.type===`image`||r.type===`chart`||r.type===`shape`)&&r.wrapMode===`none`)return[];let i={...y,floats:[...y.floats],pageAnchorPrescanned:new Set(y.pageAnchorPrescanned)};k(i,e.location);let a=j(n,t.paragraphSource,i,new Set([t.occurrenceId]),u(t.paragraphSource));if(a.length!==1)throw Error(`Public page-anchor prescan occurrence mismatch: ${t.occurrenceId}`);return s.add(n),a}throw Error(`Page-anchor prescan occurrence acquisition mismatch: ${t.occurrenceId}`)}let d=qS({acquisition:l[0].run.anchorAcquisitionInput,frames:a});if(d.status!==`resolved`)throw Error(`Page-anchor prescan could not resolve occurrence: ${t.occurrenceId}`);let f=HE(e.location.section.textDirection)?(()=>{let t=Rd(e.location.section.textDirection);return mw(d,Kd(t,Wd({widthPt:a.page.widthPt,heightPt:a.page.heightPt},t)))})():d,p=f.geometry.wrapBounds;if(p===null||f.geometry.wrap.kind===`none`)return[];let m=f.geometry.wrap.polygon?.points??Object.freeze([Object.freeze({xPt:p.xPt,yPt:p.yPt}),Object.freeze({xPt:p.xPt+p.widthPt,yPt:p.yPt}),Object.freeze({xPt:p.xPt+p.widthPt,yPt:p.yPt+p.heightPt}),Object.freeze({xPt:p.xPt,yPt:p.yPt+p.heightPt})]);return[Object.freeze({kind:`shape`,occurrenceId:t.occurrenceId,paragraphId:u(t.paragraphSource),bounds:f.geometry.objectFrame,exclusionBounds:p,wrap:f.geometry.wrap.kind,wrapSide:f.geometry.wrap.side,wrapDistances:f.geometry.wrap.distances,wrapPolygon:Object.freeze([...m])})]});return s.forEach(e=>y.pageAnchorPrescanned?.add(e)),d.length===0?null:Object.freeze({floats:Object.freeze({coordinateSpace:`logical-page-points`,flowDomainId:D.flowDomainId,baseEntries:D.entries,baseNextParagraphId:D.nextParagraphId,nextParagraphId:D.nextParagraphId+d.length,entries:Object.freeze(d)})})},measureLineNumberGlyph(n){let r=t.font;try{let r=e.fonts.defaultBodyFontSizePt,i=nh(!1,!1,r,null,{});t.font=i;let a=t.measureText(n);return Object.freeze({widthPt:a.width,ascentPt:a.fontBoundingBoxAscent??a.actualBoundingBoxAscent??r*.8,descentPt:a.fontBoundingBoxDescent??a.actualBoundingBoxDescent??r*.2,font:i})}finally{t.font=r}},resetPageAcquisition(e){y.floats=[],y.floatParaSeq=0,y.pageAnchorPrescanned=new Set,D=Object.freeze({coordinateSpace:`logical-page-points`,flowDomainId:w(e.pageIndex),entries:Object.freeze([]),nextParagraphId:0}),O=Ok(w(e.pageIndex),`logical-page-points`),A(e)},moveAcquisitionCursor:A,flowRegistrySnapshot(){return Object.freeze({floats:D,drawingCollisions:O})},commitFlowRegistryDelta(e){if(!e.floats&&!e.drawingCollisions)throw Error(`Body flow registry delta must update at least one registry`);e.floats&&PE(e.floats,{coordinateSpace:D.coordinateSpace,flowDomainId:D.flowDomainId,entries:D.entries,nextParagraphId:D.nextParagraphId}),e.drawingCollisions&&Ak(O,e.drawingCollisions);let t=e.drawingCollisions?jk(O,e.drawingCollisions):O,n=(e.floats?.entries??[]).map(e=>{let t=e.wrapDistances?.leftPt??e.bounds.xPt-e.exclusionBounds.xPt,n=e.wrapDistances?.topPt??e.bounds.yPt-e.exclusionBounds.yPt,r=e.wrapDistances?.rightPt??e.exclusionBounds.xPt+e.exclusionBounds.widthPt-e.bounds.xPt-e.bounds.widthPt,i=e.wrapDistances?.bottomPt??e.exclusionBounds.yPt+e.exclusionBounds.heightPt-e.bounds.yPt-e.bounds.heightPt,a={mode:e.wrap===`topAndBottom`?`topAndBottom`:`square`,...e.kind===`shape`?{anchorOccurrenceId:e.occurrenceId,acquisitionOccurrenceId:e.occurrenceId}:{},...e.wrap?{authoredWrap:e.wrap,wrapPolygon:e.wrapPolygon}:{},imageKey:e.exclusionId??(e.kind===`table`?`body:float:${e.paragraphId}`:``),imageX:e.bounds.xPt,imageY:e.bounds.yPt,imageW:e.bounds.widthPt,imageH:e.bounds.heightPt,xLeft:e.exclusionBounds.xPt,xRight:e.exclusionBounds.xPt+e.exclusionBounds.widthPt,yTop:e.exclusionBounds.yPt,yBottom:e.exclusionBounds.yPt+e.exclusionBounds.heightPt,side:e.wrapSide??`bothSides`,distLeft:t,distRight:r,distTop:n,distBottom:i,paraId:e.paragraphId};return e.kind===`table`?{...a,kind:`table`,tableOverlap:e.overlap}:{...a,kind:e.kind}});e.floats&&(y.floats.push(...n),D=Object.freeze({...D,entries:Object.freeze([...D.entries,...e.floats.entries]),nextParagraphId:e.floats.nextParagraphId}),y.floatParaSeq=e.floats.nextParagraphId),O=t}};return Object.freeze(F)}})}function d(e,t){return JE(t,$E(t,e))}function f(e,t,n,r){let i=e.retainedTablesBySourceIndex.get(r),a=p(t,n,e),o=e.retainedTableAcquisition,s=BO(t,a,n,e,[r],o),c=i?.contentWidthPt===n?Object.freeze({...s,layout:Object.freeze({...s.layout,columnWidthsPt:i.acquisition.layout.columnWidthsPt})}):s;e.retainedTablesBySourceIndex.set(r,Object.freeze({sourceIndex:r,acquisition:c,contentWidthPt:n,anchorYPt:e.y}));let l=c.layout.rows.map(e=>e.advancePt);return{colWidthsPt:a,rowContentHeightsPt:l,rowHeightsPt:l}}function p(e,t,n){let r=n.acquisitionInputs.tableFormatInput(e),i=Number.isFinite(e.tblInd)?e.tblInd??0:0,a=r.rows.map(e=>{let t=e.exception;return t?.indentAuthored?t.indentPt??0:i}),o=n.storyContext?.story,s=n.storyContext?.containers.length===0&&(o===`header`||o===`footer`||o===`body`&&n.sectionLayout?.columns.length===1),c=r.ordinaryFlow&&s&&!HE(n.sectionLayout.textDirection)&&[i,...a].some(e=>e<0),l=r.rows.length===0?[{justification:e.jc,indentPt:i}]:r.rows.map((t,n)=>({justification:t.justification??e.jc,indentPt:a[n]??i})),u=e.bidiVisual===!0,d=Math.min(n.pageWidth,...l.map(({justification:e,indentPt:r})=>{let i=e===`right`||e===`end`,a=e===`center`?`center`:(u?!i:i)?`right`:`left`,o=u?-r:r;if(a===`left`){let e=n.contentX+o;return n.pageWidth-e}if(a===`right`)return n.contentX+t+o;let s=n.contentX+t/2+o;return 2*Math.min(s,n.pageWidth-s)})),f=c?Math.max(t,d):t,p=(r.firstRowException?.layout===`fixed`?`fixed`:e.layout)===`fixed`&&n.storyContext?.containers.some(e=>e.kind===`tableCell`),m=(e,r=n.acquisitionInputs.tableFormatInput(e))=>{let i=new WeakMap;return e.rows.forEach((t,n)=>t.cells.forEach((t,a)=>{let o=r.rows[n]?.cells[a]?.marginsPt;i.set(t,o??A(t,e))})),r=>wg(r,i.get(r)??A(r,e),{paragraph:e=>{let r=r_(n.layoutSettings,n.sectionLayout,n.storyContext??YE,e),i=e.numbering?n.acquisitionInputs.numberingMarkerShapeInput(e.numbering,ah(e)):void 0,a=bg(r,{numbering:e.numbering,...i?{markerInput:i}:{},authoredFirstIndentPt:e.indentFirst,tabStops:e.tabStops,defaultTabPt:n.defaultTabPt,service:n.layoutServices?.text,clusterGeometry:!1}),o=a.numberingMarkerGeometry??(e.numbering&&i&&n.layoutServices?.text?Cg(e.numbering,i,{authoredFirstIndentPt:e.indentFirst,physicalIndentLeftPt:a.physicalIndentLeftPt,tabStops:e.tabStops,defaultTabPt:n.defaultTabPt},n.layoutServices.text,!1):void 0);return Ag(e,a,t,{context:n.ctx,fontFamilyClasses:n.fontFamilyClasses},qE(n),o)},nestedTable:e=>MD(n.acquisitionInputs.tableColumnLayoutInput(e,t,m(e),t))})};return[...LD(n.acquisitionInputs.tableColumnLayoutInput(e,t,m(e,r),p?null:n.acquisitionInputs.tableParticipatesInOrdinaryFlow(e)?f:Math.max(t,n.pageWidth)))]}function m(e,t,n){let r=e.indexOf(t);for(let t=r+1;t<e.length;t++){let r=e[t];if(r.type!==`paragraph`)continue;let i=r;if(!i.framePr)return Ph(i,1,d(i,n),QE(n,i).hasRuby,n.docEastAsian,n.ctx,n.fontFamilyClasses,i.lineSpacing,n.resolvedLocalFonts,n.layoutServices?.text,n.acquisitionInputs.paragraphMarkShapeInput(i),n.layoutSettings.compat.useFeLayout)}let i=t;return Ph(i,1,d(i,n),QE(n,i).hasRuby,n.docEastAsian,n.ctx,n.fontFamilyClasses,i.lineSpacing,n.resolvedLocalFonts,n.layoutServices?.text,n.acquisitionInputs.paragraphMarkShapeInput(i),n.layoutSettings.compat.useFeLayout)}function h(e,t,n,r,i){let a={context:n.ctx,fontFamilyClasses:n.fontFamilyClasses},o=qE(n),s=t.members.map(Gg),c=vE(t.framePr.hAnchor,n),l={contentXPt:n.contentX,contentWidthPt:n.contentW,pageHeightPt:n.pageH,yPt:n.y,anchorLineHeightPt:r},u=Uw(t,{contexts:t.members.map(e=>QE(n,e)),inputs:t.members,borderEdges:s,borderExtentsPt:t.members.map((e,t)=>s[t]?.bottom===`none`?0:jg(e.borders)),measurer:a,environment:o,containerShading:n.containerShading,maximumWidthPt:Math.max(0,c.right-c.left),acquisitionSession:n,placementSignature:[l.contentXPt,l.contentWidthPt,l.pageHeightPt,l.yPt,l.anchorLineHeightPt,n.pageWidth,n.marginLeft,n.marginRight,n.marginTop,n.marginBottom].join(`|`),place:(e,r)=>{let i=CE(t.framePr,n,l.yPt,e,r,l.anchorLineHeightPt);return Object.freeze({bounds:Object.freeze({xPt:i.x,yPt:i.y,widthPt:i.w,heightPt:i.h}),exclusionBounds:Object.freeze({xPt:i.exLeft,yPt:i.exTop,widthPt:i.exRight-i.exLeft,heightPt:i.exBottom-i.exTop})})},anchorFrames:XE(n)});i?.(u);let d={x:u.box.bounds.xPt,y:u.box.bounds.yPt,w:u.box.bounds.widthPt,h:u.box.bounds.heightPt,exLeft:u.box.exclusionBounds.xPt,exTop:u.box.exclusionBounds.yPt,exRight:u.box.exclusionBounds.xPt+u.box.exclusionBounds.widthPt,exBottom:u.box.exclusionBounds.yPt+u.box.exclusionBounds.heightPt,registerExclusion:!0,exclusionId:u.box.exclusionId};return e===t.owner?d:{...d,registerExclusion:!1}}function g(e,t,n){if(t.verticalPhys){let n=g(e,C(t),t.contentX);return Yk(n.x,n.y,n.w,n.h,t.verticalPhys.physicalPageWidthPt)}let r=e.widthPt,i=e.heightPt,a=e.anchorXPt,o=e.anchorYPt,s=e.groupWidthPt??null,c=e.groupHeightPt??null;if(e.widthPct!=null){let n=LE(e.widthRelativeFrom,!1,t),i=(n.end-n.start)*e.widthPct;if(e.groupWidthPt!=null&&e.groupWidthPt>0){let t=i/e.groupWidthPt;r=e.widthPt*t,a=e.anchorXPt*t}else r=i;s=i}if(e.heightPct!=null){let r=RE(e.heightRelativeFrom,!1,n,t),a=(r.end-r.start)*e.heightPct;if(e.groupHeightPt!=null&&e.groupHeightPt>0){let t=a/e.groupHeightPt;i=e.heightPt*t,o=e.anchorYPt*t}else i=a;c=a}return{x:zE(e.anchorXAlign,e.anchorXFromMargin,a,r,t,e.anchorXRelativeFrom,e.pctPosH,s),y:BE(e.anchorYAlign,e.anchorYFromPara,o,i,n,t,e.anchorYRelativeFrom,e.pctPosV,c),w:r,h:i}}let _=(e,t,n)=>w(e,t,n),v=(e,t,n)=>g(e,t,n),y=e=>GE(e),b=e=>WE(e),x=(e,t,n)=>E(e,t,n);function S(e){let t=e.verticalPhys;return t?{...e,pageWidth:t.pageWidth,marginLeft:t.marginLeft,marginRight:t.marginRight,marginTop:t.marginTop,marginBottom:t.marginBottom,pageH:t.pageHeight}:e}function C(e){let t=e.verticalPhys;return t?{...S(e),contentX:t.marginLeft,contentW:t.pageWidth-t.marginLeft-t.marginRight,verticalCJK:!1,verticalAllRotated:!1,verticalPhys:void 0,floats:[]}:e}function w(e,t,n){let r=e.widthPt,i=e.heightPt,a=e.distLeft??0,o=e.distRight??0,s=e.distTop??0,c=e.distBottom??0;if(t.verticalPhys){let n=S(t),l=Yk(zE(e.anchorXAlign,e.anchorXFromMargin??!1,e.anchorXPt??0,r,n,e.anchorXRelativeFrom??null,null,null),BE(e.anchorYAlign,e.anchorYFromPara??!1,e.anchorYPt??0,i,t.contentX,n,e.anchorYRelativeFrom??null,null,null),r,i,t.verticalPhys.physicalPageWidthPt);return{x:l.x,y:l.y,w:l.w,h:l.h,dl:s,dr:c,dt:o,db:a}}return{x:zE(e.anchorXAlign,e.anchorXFromMargin??!1,e.anchorXPt??0,r,t,e.anchorXRelativeFrom??null,null,null),y:BE(e.anchorYAlign,e.anchorYFromPara??!1,e.anchorYPt??0,i,n,t,e.anchorYRelativeFrom??null,null,null),w:r,h:i,dl:a,dr:o,dt:s,db:c}}function T(e,t,n){let r=t.floatParaSeq++,i=t.pageAnchorPrescanned?.has(e)??!1;for(let a of e.runs)if(a.type===`image`){let e=a;if(i&&Nk(e))continue;D(e,t,n,r)}else if(a.type===`chart`){let e=a;if(i&&Nk(e))continue;O(e,t,n,r)}else if(a.type===`shape`){let e=a;if(i&&Nk(e))continue;k(e,t,n,r)}}function E(e,t,n){n.pageAnchorPrescanned||=new Set;for(let r=t;r<e.length;r++){let t=e[r];if(!t)continue;if(t.type===`pageBreak`)break;if(t.type===`sectionBreak`){let e=t;if(e.kind&&e.kind!==`continuous`)break;continue}if(t.type!==`paragraph`)continue;let i=t;if(n.pageAnchorPrescanned.has(i))continue;let a=!1;for(let e of i.runs)if(e.type===`image`){if(Nk(e)){a=!0;break}}else if(e.type===`chart`){if(Nk(e)){a=!0;break}}else if(e.type===`shape`&&Nk(e)){a=!0;break}if(!a)continue;let o=n.floatParaSeq++;for(let e of i.runs)if(e.type===`image`){let t=e;if(!Nk(t))continue;D(t,n,0,o)}else if(e.type===`chart`){let t=e;if(!Nk(t))continue;O(t,n,0,o)}else if(e.type===`shape`){let t=e;if(!Nk(t))continue;k(t,n,0,o)}n.pageAnchorPrescanned.add(i)}}function D(e,t,n,r){if(!e.anchor||!Ap(e.wrapMode))return;let i=e.wrapMode===`topAndBottom`?`topAndBottom`:`square`,a=w(e,t,n),{w:o,h:s,dl:l,dr:u,dt:d,db:f}=a,p=e.allowOverlap??!0,m=c(e.imagePath,e.colorReplaceFrom,e.duotone);wE(t,{x:a.x,y:a.y,w:o,h:s,dl:l,dr:u,dt:d,db:f,kind:`shape`,mode:i,side:e.wrapSide??`bothSides`,imageKey:m,paraId:r,avoidOverlap:!0,allowOverlap:p})}function O(e,t,n,r){if(!e.anchor||!Ap(e.wrapMode))return;let i=w(e,t,n),{w:a,h:o,dl:s,dr:c,dt:l,db:u}=i;a<=0||o<=0||wE(t,{x:i.x,y:i.y,w:a,h:o,dl:s,dr:c,dt:l,db:u,kind:`shape`,mode:e.wrapMode===`topAndBottom`?`topAndBottom`:`square`,side:e.wrapSide??`bothSides`,allowOverlap:e.allowOverlap??!0,avoidOverlap:!0,paraId:r,imageKey:``})}function k(e,t,n,r){if(!Ap(e.wrapMode))return;let{x:i,y:a,w:o,h:s}=g(e,t,n);if(o<=0||s<=0)return;let c=e.wrapMode===`topAndBottom`?`topAndBottom`:`square`,l=e.distLeft??0,u=e.distRight??0,d=e.distTop??0,f=e.distBottom??0,p=!!t.verticalPhys;wE(t,{x:i,y:a,w:o,h:s,dl:p?d:l,dr:p?f:u,dt:p?u:d,db:p?l:f,kind:`shape`,mode:c,side:e.wrapSide??`bothSides`,imageKey:``,paraId:r,avoidOverlap:!0,allowOverlap:!0})}function A(e,t){return{top:e.marginTop??t.cellMarginTop,bottom:e.marginBottom??t.cellMarginBottom,left:e.marginLeft??t.cellMarginLeft,right:e.marginRight??t.cellMarginRight}}let j=u(e,t,n);return Object.freeze({kernel:j,internals:Object.freeze({resolveColumnWidths:p,resolveAnchorBox:_,resolveShapeBox:v,physicalLayoutSection:y,verticalLayoutSection:b,preRegisterPageFloats:x})})}function*Zk(e){e.textPath&&(yield{text:e.textPath.string,fontFamilies:[e.textPath.fontFamily],bold:e.textPath.bold,italic:e.textPath.italic});for(let t of e.textBlocks??[])yield*Qk(t)}function*Qk(e){if(e.numbering&&(yield{text:e.numbering.text,fontFamilies:[e.numbering.fontFamily,e.numbering.fontFamilyEastAsia],bold:!1,italic:!1}),e.runs?.length)for(let t of e.runs)yield{text:t.text,fontFamilies:[t.fontFamily,t.fontFamilyEastAsia,e.fontFamily],bold:t.bold??e.bold,italic:t.italic??e.italic};else yield{text:e.text,fontFamilies:[e.fontFamily],bold:e.bold,italic:e.italic}}function*$k(e){if(e.type===`text`){let t=e;yield{text:e.text,fontFamilies:[e.fontFamily,t.fontFamilyHighAnsi,e.fontFamilyEastAsia],bold:e.bold,italic:e.italic},yield{text:e.text,fontFamilies:[e.fontFamilyCs],bold:e.boldCs??!1,italic:e.italicCs??!1}}else if(e.type===`field`){let t=e;yield{text:t.fallbackText,fontFamilies:[t.fontFamily,t.fontFamilyHighAnsi,t.fontFamilyEastAsia],bold:t.bold,italic:t.italic},yield{text:t.fallbackText,fontFamilies:[t.fontFamilyCs],bold:t.boldCs??!1,italic:t.italicCs??!1}}else e.type===`shape`?yield*Zk(e):e.type===`anchorHost`&&(yield{text:``,fontFamilies:[e.fontFamily,e.fontFamilyEastAsia],bold:e.bold,italic:e.italic})}function*eA(e){yield{text:``,fontFamilies:[e.defaultFontFamily,e.defaultFontFamilyEastAsia]},e.numbering&&(yield{text:e.numbering.text,fontFamilies:[e.numbering.fontFamily,e.numbering.fontFamilyEastAsia]});for(let t of e.runs)yield*$k(t)}function*tA(e){for(let t of e.rows)for(let e of t.cells)yield*rA(e.content)}function*nA(e){if(e)for(let t of[e.default,e.first,e.even])t&&(yield*rA(t.body))}function*rA(e){for(let t of e)t.type===`paragraph`?yield*eA(t):t.type===`table`?yield*tA(t):t.type===`sectionBreak`&&(yield*nA(t.headers),yield*nA(t.footers))}function*iA(e){yield*rA(e.body??[]),yield*nA(e.headers),yield*nA(e.footers);for(let t of[...e.footnotes??[],...e.endnotes??[]])yield*rA(t.content)}function aA(e){let t=new Set;for(let n of iA(e))for(let e of n.fontFamilies){let n=e?.trim();n&&t.add(n)}return[...t]}const oA={...L,...se};function*sA(e){for(let t of iA(e))yield t.text}function cA(e){let t=B(e.majorFont)??B(e.minorFont)??null;return[e.majorFont,e.minorFont,...le(sA(e),t)]}function lA(e){return e.trim().toLocaleLowerCase(`en-US`)}function uA(e){return e==null||!Number.isFinite(e)?400:Math.min(900,Math.max(100,Math.round(e/100)*100))}function dA(e){return Object.freeze({...e,diagnostics:Object.freeze([...e.diagnostics])})}function fA(e){return`\"${e.replaceAll(`\\\\`,`\\\\\\\\`).replaceAll(`\"`,`\\\\\"`)}\"`}function pA(e,t){return`${fA(e)}, ${t}`}function mA(e,t={}){let n={embedded:0,local:1,google:2,substitute:3},r=e.filter(e=>e.requestedFamily.trim()&&e.resolvedFamily.trim()).map(e=>Object.freeze({...e,weight:uA(e.weight),style:e.style??`normal`})).sort((e,t)=>lA(e.requestedFamily).localeCompare(lA(t.requestedFamily))||n[e.source]-n[t.source]||e.resolvedFamily.localeCompare(t.resolvedFamily)||e.weight-t.weight||e.style.localeCompare(t.style)),i=new Map;for(let e of r){let t=lA(e.requestedFamily);i.set(t,[...i.get(t)??[],e])}let a=Object.freeze(Object.fromEntries(Object.entries(t.nativeFamilyLists??{}).filter(([e,t])=>e.trim()&&t.trim()).map(([e,t])=>[lA(e),t]).sort(([e],[t])=>e.localeCompare(t)))),o=ru(`fonts`,{faces:r,nativeFamilyLists:a});return Object.freeze({fingerprint:o,resolve(e){let t=e.requestedFamily?.trim()||e.genericFamily||`sans-serif`,n=uA(e.weight),r=e.style??`normal`,o=(i.get(lA(t))??[]).find(e=>e.weight===n&&e.style===r);if(o){let i=o.source===`substitute`?[{code:`UNSUPPORTED_FEATURE`,severity:`warning`,message:`ECMA-376 §17.8.2 implementation-dependent font substitution: ${t} resolved to ${o.resolvedFamily}`}]:[],a=pA(o.resolvedFamily,e.genericFamily??`sans-serif`);return dA({requestedFamily:t,resolvedFamily:o.resolvedFamily,route:R(a,`registered`),source:o.source,weight:n,style:r,diagnostics:i,genericFamily:e.genericFamily??`sans-serif`})}let s=e.genericFamily??`sans-serif`,c=e.requestedFamily?.trim();return dA(c?{requestedFamily:t,resolvedFamily:c,route:R(a[lA(c)]??pA(c,s),`native`),source:`native`,weight:n,style:r,diagnostics:[],genericFamily:s}:{requestedFamily:t,resolvedFamily:s,route:R(s,`generic`),source:`generic`,weight:n,style:r,diagnostics:[],genericFamily:s})}})}function hA(e,t){let n=cf(t.localMetrics),r=Object.freeze(Object.fromEntries(Object.entries(e.fontFamilyCharsets).map(([e,t])=>[e.trim().toLowerCase(),t]))),i=e=>e.trim().replace(/^(['\"])(.*)\\1$/,`$2`),a=e=>i(e).toLocaleLowerCase(`en-US`),o=e=>{let t=e.style.trim().toLocaleLowerCase(`en-US`);return t===`normal`||t===`italic`?t:null},s=e=>{let t=e.weight.trim().toLocaleLowerCase(`en-US`);if(t===`normal`)return 400;if(t===`bold`)return 700;if(!/^\\d+$/.test(t))return null;let n=Number(t);return n>=100&&n<=900?n:null},c=e=>e.flatMap(e=>{if(e.status!==`loaded`)return[];let t=s(e),n=o(e);return t==null||n==null?[]:[{family:a(e.family),displayFamily:i(e.family),weight:t,style:n}]}),l=new Map(c(t.embeddedFaces??[]).map(e=>[`${e.family}:${e.weight}:${e.style}`,e])),u=e.fonts.embeddedFonts.flatMap(e=>{let t=e.style===`bold`||e.style===`boldItalic`?700:400,n=e.style===`italic`||e.style===`boldItalic`?`italic`:`normal`,r=l.get(`${a(e.fontName)}:${t}:${n}`);return r?[{requestedFamily:e.fontName,resolvedFamily:r.displayFamily,source:`embedded`,weight:t,style:n}]:[]});for(let[e,t]of Object.entries(n))u.push({requestedFamily:t.requestedFamily??e,resolvedFamily:t.family,source:`local`,weight:t.weight??400,style:t.style??`normal`});if(t.useGoogleFonts){let n=c(t.googleFaces??[]),r=new Set;for(let t of e.fonts.preloadNames){if(!t)continue;let e=t.toLocaleLowerCase(`en-US`);if(r.has(e))continue;r.add(e);let i=oA[e],o=i?.loadFamily??t;if(i)for(let e of n.filter(e=>e.family===a(o)))u.push({requestedFamily:t,resolvedFamily:e.displayFamily,source:a(o)===a(t)?`google`:`substitute`,weight:e.weight,style:e.style})}}let d=t.measureContext,f=[...new Set([...Object.keys(e.fonts.familyClasses),...Object.keys(e.fonts.familyPitches),...e.fonts.renderedFamilies,...e.fonts.majorFamily?[e.fonts.majorFamily]:[],...e.fonts.minorFamily?[e.fonts.minorFamily]:[]])],p=pf({fonts:mA(u,{nativeFamilyLists:Object.fromEntries(f.map(t=>[t,th(t,e.fonts.familyClasses,e.fonts.familyPitches)]))}),localMetrics:n,eastAsiaFontCharsets:r,genericFamilies:Object.fromEntries(f.map(t=>[t,of(t,e.fonts.familyClasses,e.fonts.familyPitches)])),measurer:{fingerprint:d?`canvas-text-metrics-v1`:`deterministic-text-metrics-v1`,measure(e){if(!d)return{advancePt:[...e.text].length*e.fontSizePt*.5,ascentPt:e.fontSizePt*.8,descentPt:e.fontSizePt*.2};let t=d.font,n=d.letterSpacing,r=d.fontKerning;try{d.font=z(e.fontRoute,e.fontSizePt,e.weight,e.style),d.letterSpacing=`${e.letterSpacingPt}px`,e.kerning!=null&&(d.fontKerning=e.kerning?`normal`:`none`);let t=d.measureText(e.text),n=Number.isFinite(t.actualBoundingBoxLeft)&&Number.isFinite(t.actualBoundingBoxRight),r={xMinPt:n?-t.actualBoundingBoxLeft:0,xMaxPt:n?t.actualBoundingBoxRight:t.width,ascentPt:t.actualBoundingBoxAscent,descentPt:t.actualBoundingBoxDescent};return{advancePt:t.width,ascentPt:t.fontBoundingBoxAscent??t.actualBoundingBoxAscent??0,descentPt:t.fontBoundingBoxDescent??t.actualBoundingBoxDescent??0,...Object.values(r).every(Number.isFinite)?{inkBounds:r,...n?{horizontalInkBoundsAreTight:!0}:{}}:{}}}finally{d.font=t,d.letterSpacing=n,e.kerning!=null&&(d.fontKerning=r)}}}}),m=t.mathResources??e.mathOccurrences.map(({display:e,source:t})=>({resourceKey:su(t,e?`display`:`inline`),widthEm:0,ascentEm:0,descentEm:0,available:!1,diagnostics:[{code:`UNSUPPORTED_FEATURE`,severity:`warning`,message:`The optional DOM math engine is unavailable; using the worker-safe text fallback`}]})),h=e.imageMetadata,g=Object.freeze({text:p,images:ku(h),math:Au(m),verticalGlyphFingerprint:t.verticalGlyphMeasurement.fingerprint}),_=e.mathOccurrences.map(({source:e,display:t})=>su(e,t?`display`:`inline`)),v=m.map(e=>e.resourceKey),y=_.filter(e=>!v.includes(e)),b=v.filter(e=>!_.includes(e));if(y.length||b.length)throw Error(`Math metadata membership mismatch: missing [${y.join(`, `)}]; extra [${b.join(`, `)}]`);return Yu(g,t.mathDrawables??new Map,m.filter(e=>e.available!==!1).map(e=>e.resourceKey)),id(g,e.paintResources),Gu(g,t.verticalGlyphMeasurement),g}function gA(e,t){if(e===null)return null;let n=e.trim(),r=t&&n.endsWith(`%`)?n.slice(0,-1):n;if(r.length===0)return null;let i=Number(r);return Number.isFinite(i)?i:null}function _A(e){return e.value?.trim().endsWith(`%`)?`pct`:e.kind??`dxa`}function vA(e){if(!e)return null;let t=e.value?.trim()??``,n=_A(e);if(n===`dxa`){let t=gA(e.value??`0`,!1);return t===null?null:{kind:`dxa`,value:t/20}}if(n!==`pct`)return null;let r=gA(e.value??`0`,!0);return r===null?null:{kind:`pct`,value:t.endsWith(`%`)?r/100:r/5e3}}function yA(e){let t=vA(e);return t?.kind===`dxa`?t.value:null}function bA(e){return e.widthPt==null?e.widthPct==null?null:{kind:`pct`,value:e.widthPct/5e3}:{kind:`dxa`,value:e.widthPt}}function xA(e,t){let n=e.format.firstRowException?.preferredWidth??null;if(e.format.firstRowException?.preferredWidthAuthored)return n?.kind===`dxa`?n.value>0?n.value:null:n?.kind===`pct`&&n.value>0?n.value*t:null;let r=vA(e.lexical.table?.preferredWidth);return r?.kind===`dxa`?r.value>0?r.value:null:r?.kind===`pct`?r.value>0?r.value*t:null:e.semantic.widthPt!=null&&e.semantic.widthPt>0?e.semantic.widthPt:e.semantic.widthPct!=null&&e.semantic.widthPct>0?e.semantic.widthPct/5e3*t:null}const SA=Object.freeze({pt:`1/1`,in:`72/1`,cm:`3600/127`,mm:`360/127`,pc:`12/1`,pi:`12/1`});function CA(e){let t=e.replace(/[\\u0009\\u000a\\u000d\\u0020]+/g,` `).replace(/^ | $/g,``),n=/^([+-]?)([0-9]+)$/.exec(t);if(!n)return null;let[,r,i]=n;if(r===`-`&&/[1-9]/.test(i))return null;let a=i.replace(/^0+/,``)||`0`;return a.length>20||a.length===20&&a>`18446744073709551615`?null:t}const wA={key:`0/1`,widthPt:0};function TA(e){let t=dD(e);return Number.isFinite(t)?{key:e,widthPt:t}:wA}function EA(e,t){let n=Number(e);if(!Number.isFinite(n))return wA;let r=cD(n),i=r===null?0:dD(pD(r,t));return Number.isFinite(i)?{key:null,widthPt:i}:wA}function DA(e){if(e==null)return wA;let t=CA(e);if(t!==null){let e=sD(t);return e===null?wA:TA(hD(e,20n))}let n=/^([0-9]+(?:\\.[0-9]+)?)(mm|cm|in|pt|pc|pi)$/.exec(e);if(!n)return wA;let r=SA[n[2]],i=sD(n[1]);return i===null?EA(n[1],r):TA(pD(i,r))}function OA(e){let t=e.lexical.table?.grid;if(!t){let t=e.semantic.colWidths.map(e=>Number.isFinite(e)&&e>=0?{widthPt:e,key:cD(e)??`0/1`}:wA);return{widthsPt:t.map(e=>e.widthPt),widthKeys:t.map(e=>e.key)}}let n=Math.max(t.requiredColumnCount,t.columns.length),r=Array.from({length:n},(e,n)=>DA(t.columns[n]?.width??null));return{widthsPt:r.map(e=>e.widthPt),widthKeys:r.map(e=>e.key)}}function kA(e,t){let n=vA(e);return n?.kind===`pct`?{kind:`dxa`,value:Math.max(0,n.value)*Math.max(0,t)}:n}function AA(e,t,n,r=t){let i=e.semantic,{widthsPt:a,widthKeys:o}=OA(e),s=e.format.firstRowException?.layout===`fixed`?`fixed`:e.lexical.table?.layout?.kind??i.layout,c=e.lexical.table?.grid.authored?e.lexical.table.grid.columns.length:null,l=i.rows.map(e=>{let t=Math.max(0,e.gridBefore??0);return c!==null&&t>c?0:t}),u=Math.max(c??0,e.lexical.table?.grid.requiredColumnCount??0,...i.rows.map((e,t)=>(l[t]??0)+e.cells.reduce((e,t)=>e+Math.max(1,t.colSpan),0)));return{layout:s===`fixed`?`fixed`:`autofit`,availableWidthPt:r===null?null:Math.max(0,r),gridWidthsPt:a,gridWidthKeys:o,tablePreferredWidthPt:xA(e,t),rows:i.rows.map((r,i)=>{let o=e.lexical.rows[i],d=l[i]??0,f=Math.max(0,r.gridAfter??0),p=d+r.cells.reduce((e,t)=>e+Math.max(1,t.colSpan),0),m=c!==null&&p+f>u?0:f,h=d;return{before:d>0?{columnSpan:d,preferredWidth:kA(o?.row?.beforeWidth,t)}:null,after:m>0?{columnSpan:m,preferredWidth:kA(o?.row?.afterWidth,t)}:null,cells:r.cells.map((t,r)=>{let c=o?.cells[r]??null,l=Math.max(1,t.colSpan),u=s===`fixed`?{minWidthPt:0,maxWidthPt:0}:n(i,r),d=vD(e.format.rows[i]?.cellSpacingPt??0,h,l,a.length),f=d.startPt+d.endPt,p={columnStart:h,columnSpan:l,preferredWidth:vA(c?.preferredWidth)??bA(t),minContentWidthPt:Math.max(0,u.minWidthPt)+f,maxContentWidthPt:Math.max(u.minWidthPt,u.maxWidthPt)+f};return h+=l,p})}})}}const jA=new WeakSet;function MA(e){return typeof e==`object`&&!!e&&jA.has(e)}function NA(e,t,n){let r=Object.keys(e).sort(),i=[...t].sort();if(r.length!==i.length||r.some((e,t)=>e!==i[t]))throw TypeError(`${n} has unexpected fields: ${r.join(`,`)}`)}function PA(e,t,n){let r=[...t].filter(t=>!e.has(t)),i=[...e].filter(e=>!t.has(e));if(r.length!==0||i.length!==0)throw TypeError(`${n} membership mismatch; missing=${r.join(`,`)} extra=${i.join(`,`)}`)}function FA(e,t){let n=e=>{e&&t.storyRoot(e)},r=e=>{if(e.story!==`body`||e.storyInstance!==`body`||e.path.length!==1||t.body[e.path[0]]===void 0)throw TypeError(`Unknown body layout occurrence source: ${iu(e)}`)},i=e=>{for(let t of[e.headers.default,e.headers.first,e.headers.even,e.footers.default,e.footers.first,e.footers.even])n(t)};if(e.source.story!==`body`||e.source.storyInstance!==`body`||e.source.path.length!==0)throw TypeError(`Body layout input requires the canonical body root`);i(e.initialSection);for(let n of e.sequence)if(r(n.kind===`body-block`?n.block.source:n.source),n.kind===`body-block`){if(t.resolve(n.block.source).type!==n.block.kind)throw TypeError(`Body layout block source kind mismatch`)}else if(n.kind===`adjacent-table-group`){for(let e of n.tables)if(t.resolve(e.source).type!==`table`)throw TypeError(`Adjacent table source kind mismatch`)}else n.kind===`begin-section`&&i(n.section)}function IA(e,t,n,r,i){let a=new Set,o=new Map,s=new Set,c=new Set,l=new Map,u=(e,t=`image`)=>{if(a.has(e))throw TypeError(`Duplicate canonical image resource: ${e}`);a.add(e),o.set(e,t)};for(let n of t.paragraphs){let t=e.resolve(n.source);if(t.type===`paragraph`){if(n.publicAnchorBridges.length!==t.runs.length)throw TypeError(`Paragraph anchor bridge cardinality mismatch: ${iu(n.source)}`);t.numbering?.picBulletImagePath&&u(ou(n.source,t.numbering.picBulletImagePath),`picture-bullet`),t.runs.forEach((e,t)=>{let r={...n.source,path:[...n.source.path,t]};if(e.type===`image`&&u(ou(r,e.imagePath)),e.type===`chart`){if(s.has(e.resourceKey))throw TypeError(`Duplicate canonical chart resource: ${e.resourceKey}`);s.add(e.resourceKey)}if(e.type===`math`){if(c.has(e.resourceKey))throw TypeError(`Duplicate canonical math resource: ${e.resourceKey}`);c.add(e.resourceKey),l.set(e.resourceKey,iu(e.source))}if(e.type===`shape`&&e.textBoxInput?.kind===`compatibility`)for(let t of e.textBoxInput.paragraphs)t.image&&u(ou({...t.source,path:[...t.source.path,0]},t.image.imagePath));e.type===`shape`&&e.fill?.fillType===`image`&&u(ou(r,e.fill.imagePath))})}}let d=new Set(r.map(e=>e.resourceKey));if(d.size!==r.length)throw TypeError(`Duplicate image metadata resource`);PA(d,a,`Image metadata`);let f=new Set;for(let e of n){if(f.has(e.resourceKey))throw TypeError(`Duplicate math occurrence resource`);if(f.add(e.resourceKey),l.get(e.resourceKey)!==iu(e.source))throw TypeError(`Math occurrence source mismatch: ${e.resourceKey}`)}PA(f,c,`Math occurrence`);let p=new Set,m=new Set,h=new Set,g=new Set;for(let e of i){if(p.has(e.resourceKey))throw TypeError(`Duplicate paint resource descriptor`);if(p.add(e.resourceKey),e.kind===`image`||e.kind===`picture-bullet`){if(m.add(e.resourceKey),o.get(e.resourceKey)!==e.kind)throw TypeError(`Image paint resource kind mismatch: ${e.resourceKey}`)}else e.kind===`chart`?h.add(e.resourceKey):g.add(e.resourceKey)}PA(p,new Set([...a,...s,...c]),`Paint resource`),PA(m,a,`Image paint resource`),PA(h,s,`Chart paint resource`),PA(g,c,`Math paint resource`)}function LA(e,t){let n=BA(e.blockRepository);FA(t,n),pu(e.acquisitionFacts,`layout source acquisition facts`),pu(e.section,`layout source section`),pu(e.documentLayoutFacts,`layout source document facts`),pu(e.fonts,`layout source font facts`),pu(e.fontFamilyCharsets,`layout source font charsets`),pu(e.mathOccurrences,`layout source math facts`),pu(e.imageMetadata,`layout source image facts`),pu(e.paintDescriptors,`layout source paint descriptors`),e.fatalParse&&pu(e.fatalParse,`layout source fatal parse fact`);for(let[t,r]of[[`block repository`,n],[`body blocks`,n.body],[`footnotes`,n.footnotes],[`endnotes`,n.endnotes],[`acquisition facts`,e.acquisitionFacts],[`paragraph facts`,e.acquisitionFacts.paragraphs],[`table facts`,e.acquisitionFacts.tables],[`section`,e.section],[`document facts`,e.documentLayoutFacts],[`font facts`,e.fonts],[`math facts`,e.mathOccurrences],[`image facts`,e.imageMetadata],[`paint descriptors`,e.paintDescriptors]])if(!Object.isFrozen(r))throw TypeError(`Layout source ${t} must be sealed`);let r=new Map;for(let t of e.acquisitionFacts.paragraphs){NA(t,[`source`,`publicAnchorBridges`,`numberingMarkerFallbackFontSizePt`],`Paragraph acquisition fact`);let e=iu(t.source);if(r.has(e))throw TypeError(`Duplicate paragraph acquisition source: ${e}`);r.set(e,t)}let i=new Set,a=new WeakMap;for(let t of e.acquisitionFacts.tables){NA(t,[`source`,`input`],`Table acquisition fact`);let e=iu(t.source);if(i.has(e))throw TypeError(`Duplicate table acquisition source: ${e}`);i.add(e);let r=n.resolve(t.source);if(r.type!==`table`)throw TypeError(`Table acquisition fact must identify a table`);a.set(r,t)}for(let e of n.sources){let t=n.resolve(e),a=iu(e);if(t.type===`paragraph`&&!r.has(a))throw TypeError(`Missing paragraph acquisition source: ${a}`);if(t.type===`table`&&!i.has(a))throw TypeError(`Missing table acquisition source: ${a}`)}IA(n,e.acquisitionFacts,e.mathOccurrences,e.imageMetadata,e.paintDescriptors);let o=new WeakMap;for(let t of e.acquisitionFacts.paragraphs){let e=n.resolve(t.source);if(e.type!==`paragraph`)throw TypeError(`Paragraph acquisition fact must identify a paragraph`);for(let t of e.runs){if(t.type!==`shape`||t.textBoxInput?.kind!==`complete`)continue;let e;try{e=n.storyRoot(t.textBoxInput.source)}catch(e){throw TypeError(`Missing complete text-box story source: ${iu(t.textBoxInput.source)}`,{cause:e})}if(e.length!==t.textBoxInput.blockCount)throw TypeError(`Complete text-box block count mismatch: ${iu(t.textBoxInput.source)}`)}if(e.numbering&&e.numberingMarkerShapeInput&&t.numberingMarkerFallbackFontSizePt!==null){let n=o.get(e.numbering);n||(n=new Map,o.set(e.numbering,n)),n.set(t.numberingMarkerFallbackFontSizePt,e.numberingMarkerShapeInput)}}let s=Object.freeze({numberingMarkerShapeInput(e,t){let n=o.get(e)?.get(t);if(n)return n;throw Error(`Unknown numbering marker acquisition input`)},paragraphMarkShapeInput(e){return e.paragraphMarkShapeInput},tableFormatInput(e){let t=a.get(e);if(!t)throw Error(`Unknown table acquisition input`);return t.input.format},tableColumnLayoutInput(e,t,n,r){let i=a.get(e);if(!i)throw Error(`Unknown table acquisition input`);return AA(i.input,t,(t,r)=>n(e.rows[t].cells[r]),r)},tableParticipatesInOrdinaryFlow(e){let t=a.get(e);if(!t)throw Error(`Unknown table acquisition input`);return t.input.format.ordinaryFlow},paragraphAcquisitionInput(e,t){if(!r.get(iu(t)))throw Error(`Unknown paragraph acquisition source: ${iu(t)}`);let i=n.resolve(t);if(i.type!==`paragraph`)throw Error(`Paragraph source kind mismatch: ${iu(t)}`);return i}}),c=Object.freeze({acquisitionInputs:s,effectiveTablePositioning(e){let t=a.get(e);if(!t)throw Error(`Unknown table acquisition input`);return t.input.format.positioning===null?null:e.tblpPr??null},publicAnchorBridge(e,t){let n=r.get(iu(e));if(!n)throw Error(`Unknown paragraph acquisition source: ${iu(e)}`);if(!Number.isSafeInteger(t)||t<0||t>=n.publicAnchorBridges.length)throw RangeError(`Unknown paragraph anchor bridge index: ${t}`);return n.publicAnchorBridges[t]??null}}),l=e=>{let t=new Set(e),n=Object.create(null);return Object.defineProperties(n,{size:{get:()=>t.size},has:{value:e=>t.has(e)},entries:{value:()=>t.entries()},keys:{value:()=>t.keys()},values:{value:()=>t.values()},forEach:{value:(e,r)=>{t.forEach(t=>e.call(r,t,t,n))}},[Symbol.iterator]:{value:()=>t[Symbol.iterator]()},[Symbol.toStringTag]:{value:`Set`}}),Object.freeze(n)},u=Object.freeze({...e.documentLayoutFacts,kinsoku:Object.freeze({enabled:e.documentLayoutFacts.kinsoku.enabled,lineStartForbidden:l(e.documentLayoutFacts.kinsoku.lineStartForbidden),lineEndForbidden:l(e.documentLayoutFacts.kinsoku.lineEndForbidden)})}),d=Object.freeze({blocks:n,bodyLayoutInput:t,section:e.section,documentLayoutSettings:u,fonts:e.fonts,fontFamilyCharsets:e.fontFamilyCharsets,mathOccurrences:e.mathOccurrences,imageMetadata:e.imageMetadata,hasPaginationFields:e.hasPaginationFields,requiresDomVerticalGlyphLayout:e.requiresDomVerticalGlyphLayout,fatalParse:e.fatalParse,acquisition:c,paintResources:Cu(e.paintDescriptors)});return jA.add(d),d}function RA(e){let{bodyLayoutInput:t,...n}=e;return LA(n,pu(t,`layout source body input`))}function zA(e){return`${e.story}:${e.storyInstance}`}function BA(e){pu(e.body,`layout source body blocks`),pu(e.stories,`layout source story blocks`),pu(e.footnotes,`layout source footnotes`),pu(e.endnotes,`layout source endnotes`);let t=new Map;for(let{source:n,body:r}of e.stories){if(n.path.length!==0)throw TypeError(`Story repository roots require an empty source path`);if(n.story!==`header`&&n.story!==`footer`&&n.story!==`textbox`)throw TypeError(`Unsupported repository story kind: ${n.story}`);let e=zA(n);if(t.has(e))throw TypeError(`Duplicate story source: ${e}`);t.set(e,r)}let n=(e,t)=>{let n=new Map;for(let r of e){if(n.has(r.id))throw TypeError(`Duplicate ${t} story source: ${r.id}`);n.set(r.id,r.content)}return n},r=n(e.footnotes,`footnote`),i=n(e.endnotes,`endnote`),a=n=>{if(n.path.length!==0)throw Error(`Story lookup requires a root-only source`);if(n.story===`body`&&n.storyInstance===`body`)return e.body;if(n.story===`footnote`){let e=r.get(n.storyInstance);if(e)return e}if(n.story===`endnote`){let e=i.get(n.storyInstance);if(e)return e}let a=t.get(zA(n));if(a)return a;throw Error(`Unknown ${n.story} story source: ${n.storyInstance}`)},o=new Map,s=[],c=(e,t,n=[])=>{e.forEach((e,r)=>{let i=[...n,r];if(e.type!==`paragraph`&&e.type!==`table`)return;let a={...t,path:i},l=iu(a);if(o.has(l))throw TypeError(`Duplicate block source: ${l}`);o.set(l,e),s.push(Object.freeze({...a,path:Object.freeze([...i])})),e.type===`table`&&e.rows.forEach((e,n)=>e.cells.forEach((e,r)=>{c(e.content,t,[...i,n,r])}))})};c(e.body,{story:`body`,storyInstance:`body`,path:[]});for(let{source:t,body:n}of e.stories)c(n,t);for(let t of e.footnotes)c(t.content,{story:`footnote`,storyInstance:t.id,path:[]});for(let t of e.endnotes)c(t.content,{story:`endnote`,storyInstance:t.id,path:[]});return Object.freeze({body:e.body,footnotes:e.footnotes,endnotes:e.endnotes,sources:Object.freeze(s),resolve(e){let t=o.get(iu(e));if(!t)throw Error(`Unknown block source: ${iu(e)}`);return t},storyRoot:a})}function VA(e){let t=new Set((e.embeddedFonts??[]).map(e=>{let t=e.style===`bold`||e.style===`boldItalic`?700:400,n=e.style===`italic`||e.style===`boldItalic`?`italic`:`normal`;return`${Ul(e.fontName)}:${t}:${n}`})),n=[],r=new Set,i=e=>{let i=e?.trim();if(!i)return;let a=Ul(i);if(!(a===`meiryo`||i===`メイリオ`))return;let o=`${a}:400:normal`;t.has(o)||r.has(o)||(r.add(o),n.push({family:i,localNames:[`Meiryo`],lineHeightMultiplier:1.3}))};for(let t of iA(e))if(!(t.bold||t.italic))for(let e of t.fontFamilies)i(e);return n}function HA(e){return ql(VA(e))}function UA(e){let t=e.__typographyAcquisition;if(t!==void 0)return fu({sourceText:`text`in e?e.text:e.fallbackText,...t},`DOCX run typography acquisition input`)}function WA(e){let t=e.__paragraphTypographyAcquisition;if(t!==void 0)return fu(t,`DOCX paragraph typography acquisition input`)}function GA(e,t){let n=t[0].logicalTotalRows,r=0;for(let i of t){if(i.logicalTotalRows!==n||!Number.isInteger(i.rowCount)||i.rowCount<0||i.logicalRowOffset!==r)throw Error(`Parser-owned adjacent table sequence ${e} is inconsistent`);r+=i.rowCount}if(r!==n)throw Error(`Parser-owned adjacent table sequence ${e} is incomplete`)}function KA(e){let t=[],n=null,r=[],i=()=>{r.length>0&&GA(n,r),r.length===1?t.push(Object.freeze({kind:`body-element`,element:r[0].element})):r.length>1&&t.push(Object.freeze({kind:`adjacent-table-group`,logicalSequenceId:n,tables:Object.freeze(r.map(e=>e.element))})),n=null,r=[]};for(let{element:a,table:o}of e){if(a.type===`table`&&o!==null){r.length>0&&n!==o.logicalSequenceId&&i(),n=o.logicalSequenceId,r.push(Object.freeze({element:a,logicalRowOffset:o.logicalRowOffset,logicalTotalRows:o.logicalTotalRows,rowCount:o.rowCount}));continue}i(),t.push(Object.freeze({kind:`body-element`,element:a}))}return i(),Object.freeze(t)}function qA(e){switch(e){case`continuous`:case`nextColumn`:case`nextPage`:case`oddPage`:case`evenPage`:return e;default:return`nextPage`}}function JA(e,t,n){let r=n===null?null:`section:${n}`,i=n=>e[n]===null?null:{story:t,storyInstance:r===null?n:`${r}:${n}`,path:[]};return Object.freeze({default:i(`default`),first:i(`first`),even:i(`even`)})}function YA(e){return{...e.geometry,titlePage:e.titlePage,evenAndOddHeaders:!1,sectionStart:e.startType,columns:e.columns,textDirection:e.textDirection,docGridType:e.docGridType,docGridLinePitch:e.docGridLinePitch,docGridCharSpace:e.docGridCharSpace,pageNumType:e.pageNumType,vAlign:e.vAlign,lineNumbering:e.lineNumbering}}function XA(e,t){let n=e.markerBodyIndex;return Object.freeze({sectionOccurrenceId:e.sectionOccurrenceId,source:Object.freeze(n===null?{story:`body`,storyInstance:`body`,path:Object.freeze([])}:{story:`body`,storyInstance:`body`,path:Object.freeze([n])}),startType:qA(e.startType),context:Object.freeze(x_(YA(e),e.sectionBidi)),pageNumbering:Object.freeze({start:e.pageNumType?.start??null,format:e.pageNumType?.fmt??null}),titlePage:e.titlePage,evenAndOddHeaders:t.evenAndOddHeaders,headers:JA(e.headers,`header`,n),footers:JA(e.footers,`footer`,n),pageBordersAuthored:e.pageBordersAuthored,pageBorders:e.pageBorders,pageLayout:Object.freeze({physicalGeometry:Object.freeze({...e.geometry}),columns:e.columns,textDirection:e.textDirection??`lrTb`,gutterPt:e.gutterPt,rtlGutter:e.rtlGutter,...t.pageLayoutSettings})})}function ZA(e){let t=new Map(e.sectionIndex.occurrences.map(t=>[t.sectionOccurrenceId,XA(t,e)])),n=e.sectionIndex.occurrences[0];if(!n)throw Error(`DOCX body requires a final section owner`);let r=t.get(n.sectionOccurrenceId),i=e.sequence.map(e=>{if(e.kind!==`begin-section`)return e;let n=t.get(e.section.sectionOccurrenceId);if(!n)throw Error(`Missing body section owner: ${e.section.sectionOccurrenceId}`);return Object.freeze({...e,section:n})});return fu({source:{story:`body`,storyInstance:`body`,path:[]},initialSection:r,sequence:i.map((e,t)=>{if(e.kind!==`body-block`||e.block.kind!==`paragraph`)return e;let n=Sx(i,t);return n===void 0?e:Object.freeze({...e,block:Object.freeze({...e.block,continuousSectionRole:n})})}),parserDiagnostics:e.parserDiagnostics??[],endnoteIds:e.endnoteIds??[],noteLayoutSettings:e.noteLayoutSettings},`DOCX body layout input`)}function QA(e){return!(e.runs??[]).some(e=>e.type===`text`?e.text.length>0:!0)}const $A=new WeakMap;function ej(e){return $A.get(e)??[]}function tj(e){let t=ej(e);if(t.length===0)return e.runs;let n=[],r=0;for(let i=0;i<=e.runs.length;i+=1){for(;t[r]?.publicRunIndex===i;)n.push(t[r].run),r+=1;i<e.runs.length&&n.push(e.runs[i])}return n}function nj(e){return ej(e).length>0}function rj(e){let t=e.__documentTypographySettings?.normalStyleFontSizePt;return fu({normalStyleFontSizePt:typeof t==`number`&&Number.isFinite(t)&&t>0?t:10},`DOCX document typography settings input`)}function ij(e){let t=e.__pageLayoutSettings;return fu({mirrorMargins:t?.mirrorMargins===!0,gutterAtTop:t?.gutterAtTop===!0,bookFoldPrinting:t?.bookFoldPrinting===!0,bookFoldRevPrinting:t?.bookFoldRevPrinting===!0,printTwoOnOne:t?.printTwoOnOne===!0},`DOCX page layout settings input`)}function aj(e){let t=e.__noteLayoutSettings;return fu({footnotePosition:t?.footnotePosition??`pageBottom`,endnotePosition:t?.endnotePosition??`docEnd`},`DOCX note layout settings input`)}function oj(e){return Object.freeze(e?Object.fromEntries(Object.entries(e).filter(e=>typeof e[1]==`number`)):{})}function sj(e){return Object.freeze({...e,pageGeometry:oj(e.pageGeometry)})}const cj=new WeakMap,lj=new WeakMap,uj=new WeakMap,dj=new WeakMap,fj=new WeakMap;function pj(e){let t=uj.get(e);if(t)return t;let n=fu({table:e.__tableLayout??null,rows:e.rows.map(e=>({row:e.__tableRowLayout??null,cells:e.cells.map(e=>e.__tableCellLayout??null)}))},`DOCX table acquisition input`);return uj.set(e,n),n}const mj=e=>e!=null&&Number.isFinite(e)?e:null;function hj(e){return fu({colWidths:(e.colWidths??[]).map(e=>Number.isFinite(e)&&e>=0?e:0),layout:e.layout??null,widthPt:mj(e.widthPt),widthPct:mj(e.widthPct),rows:e.rows.map(e=>({gridBefore:mj(e.gridBefore)??0,gridAfter:mj(e.gridAfter)??0,cells:e.cells.map(e=>({colSpan:mj(e.colSpan)??1,widthPt:mj(e.widthPt),widthPct:mj(e.widthPct)}))}))},`DOCX table column semantic input`)}function gj(e){let t=fj.get(e);if(t)return t;let n=du({semantic:hj(e),lexical:pj(e),format:kj(e)});return fj.set(e,n),n}function _j(e){return gj(e).format.ordinaryFlow}function vj(e){return gj(e).format.positioning===null?null:e.tblpPr??null}function yj(e){return{leftFromTextPt:e.leftFromText,rightFromTextPt:e.rightFromText,topFromTextPt:e.topFromText,bottomFromTextPt:e.bottomFromText,horzAnchor:e.horzAnchor,horzSpecified:e.horzSpecified,vertAnchor:e.vertAnchor,xPt:e.tblpX,yPt:e.tblpY,...e.tblpXSpec==null?{}:{xAlign:e.tblpXSpec},...e.tblpYSpec==null?{}:{yAlign:e.tblpYSpec}}}function bj(e,t){if(e===null)return null;let n=e.trim(),r=t&&n.endsWith(`%`)?n.slice(0,-1):n;if(r.length===0)return null;let i=Number(r);return Number.isFinite(i)?i:null}function xj(e){let t=bj(e??null,!1);return t===null?null:t/20}function Sj(e){return e===`exact`||e===`atLeast`?e:`auto`}function Cj(e){return{rule:XD(Sj(e.rule),e.ruleAuthored),valuePt:xj(e.value)}}function wj(e){if(e.rowHeight===null||!Number.isFinite(e.rowHeight))return null;let t=Sj(e.rowHeightRule);return{rule:t===`auto`?`atLeast`:t,valuePt:e.rowHeight}}function Tj(...e){for(let t of e){if(!t)continue;let e=ZD(_A(t),yA(t));if(e!==null)return e}return null}function Ej(e,t,n){if(!e)return null;let r=_A(e);return QD({kind:r,dxaValuePt:r===`dxa`?xj(e.value??`0`):null,scope:t,edge:n})}function Dj(e,t,n,r,i,a,o){let s=e.bidiVisual===!0,c=(e,t)=>{let n=t===`left`?s?`end`:`start`:s?`start`:`end`;return{width:e?.[t]??e?.[n],edge:n}},l=(e,...t)=>{for(let n of t){let t=Ej(n.width,n.scope,n.edge??e);if(t!==null)return t}return null},u=c(r,`left`),d=c(i,`left`),f=c(a,`left`),p=c(o,`left`),m=c(r,`right`),h=c(i,`right`),g=c(a,`right`),_=c(o,`right`),v=e=>!n&&e!=null&&Number.isFinite(e)?e:null;return{top:l(`top`,{width:r?.top,scope:`cell`})??v(t.marginTop)??l(`top`,{width:i?.top,scope:`exception`},{width:a?.top,scope:`table`},{width:o?.top,scope:`style`})??e.cellMarginTop,bottom:l(`bottom`,{width:r?.bottom,scope:`cell`})??v(t.marginBottom)??l(`bottom`,{width:i?.bottom,scope:`exception`},{width:a?.bottom,scope:`table`},{width:o?.bottom,scope:`style`})??e.cellMarginBottom,left:l(u.edge,{...u,scope:`cell`})??v(t.marginLeft)??l(d.edge,{...d,scope:`exception`},{...f,scope:`table`},{...p,scope:`style`})??e.cellMarginLeft,right:l(m.edge,{...m,scope:`cell`})??v(t.marginRight)??l(h.edge,{...h,scope:`exception`},{...g,scope:`table`},{..._,scope:`style`})??e.cellMarginRight}}function Oj(e){if(!e)return null;let t=e.indent?_A(e.indent):null;return{preferredWidthAuthored:e.preferredWidth!=null,preferredWidth:vA(e.preferredWidth),layout:e.layout?.kind===`fixed`||e.layout?.kind===`autofit`?e.layout.kind:null,justification:e.justification,indentAuthored:e.indent!=null&&(t===`dxa`||t===`nil`),indentPt:t===`nil`?0:yA(e.indent),borders:e.borders}}function kj(e){let t=dj.get(e);if(t)return t;let n=pj(e),r=n.table?.ordinaryFlow??e.tblpPr==null,i=e.rows.map((t,r)=>{let i=n.rows[r]?.row??null,a=i?.exception??null;return{height:i?.height?Cj(i.height):wj(t),cantSplit:t.cantSplit===!0,repeatedHeader:t.isHeader===!0,cellSpacingPt:Tj(i?.cellSpacing,a?.cellSpacing,n.table?.cellSpacing,i?.styleCellSpacing)??0,justification:i?.justification??a?.justification??null,exception:Oj(a),cells:t.cells.map((t,o)=>({marginsPt:Dj(e,t,n.rows[r]?.cells[o]!==null&&n.rows[r]?.cells[o]!==void 0,n.rows[r]?.cells[o]?.margins,a?.cellMargins,n.table?.cellMargins,i?.styleCellMargins)}))}}),a=fu({effectiveStyleId:n.table?.effectiveStyleId??null,ordinaryFlow:r,logicalSequenceId:n.table?.logicalSequenceId??null,logicalRowOffset:n.table?.logicalRowOffset??0,logicalTotalRows:n.table?.logicalTotalRows??0,positioning:r||e.tblpPr==null?null:yj(e.tblpPr),rows:i,firstRowException:i[0]?.exception??null},`DOCX table format input`);return dj.set(e,a),a}function Aj(e){return Object.freeze(e.map(e=>{if(e.type!==`table`)return Object.freeze({element:e,table:null});let t=kj(e);return t.logicalSequenceId==null?Object.freeze({element:e,table:null}):Object.freeze({element:e,table:Object.freeze({logicalSequenceId:t.logicalSequenceId,logicalRowOffset:t.logicalRowOffset??0,logicalTotalRows:t.logicalTotalRows??0,rowCount:e.rows.length})})}))}const jj=e=>Object.freeze({story:`body`,storyInstance:`body`,path:Object.freeze([e])}),Mj=new Set([`paragraph`,`line`,`character`]);function Nj(e,t,n){if(e.type!==`shape`&&e.type!==`image`&&e.type!==`chart`||Wj(e)!==void 0||!Ap(e.wrapMode)||e.type!==`shape`&&!e.anchor||e.widthPt<=0||e.heightPt<=0)return null;let r=e.anchorXRelativeFrom??(e.anchorXFromMargin?`margin`:`page`),i=e.anchorYRelativeFrom??(e.anchorYFromPara?`paragraph`:`page`),a=`${t.story}:${t.storyInstance}:${t.path.join(`.`)}`;return Object.freeze({occurrenceId:e.type===`shape`?`public-shape:${a}:${n}`:`public-anchor:${a}:${n}`,pageOwned:!Mj.has(r)&&!Mj.has(i)})}function Pj(e,t){let n=new Set([`paragraph`,`line`,`character`]),r=Object.freeze([...new Set(tj(e).flatMap((e,r)=>{let i=e;if(e.type!==`shape`&&e.type!==`image`&&e.type!==`chart`&&i.type!==`unavailableDrawing`)return[];let a=Wj(i);if(!a){let e=i.type===`unavailableDrawing`?null:Nj(i,t,r);return e?.pageOwned?[e.occurrenceId]:[]}return a.horizontal.relativeFromStatus!==`valid`||a.vertical.relativeFromStatus!==`valid`||a.horizontal.relativeFrom===null||a.vertical.relativeFrom===null||a.wrap.kind===`none`||n.has(a.horizontal.relativeFrom)||n.has(a.vertical.relativeFrom)?[]:[lu(t,a.occurrenceId)]}))]);return Object.freeze({kind:`paragraph`,source:t,pageBreakBefore:e.pageBreakBefore===!0,keepLines:e.keepLines===!0,keepNext:e.keepNext===!0,widowControl:e.widowControl!==!1,spaceBeforePt:e.spaceBefore??0,spaceAfterPt:e.spaceAfter??0,contextualSpacing:e.contextualSpacing===!0,styleId:e.styleId??null,inkless:!nj(e)&&QA(e),...r.length===0?{}:{pageOwnedAnchorOccurrenceIds:r}})}function Fj(e){return Object.freeze({kind:`table`,source:e})}function Ij(e,t){let n=0;return Object.freeze(KA(Aj(e)).map(e=>{if(e.kind===`adjacent-table-group`){let t=n;return n+=e.tables.length,Object.freeze({kind:`adjacent-table-group`,logicalSequenceId:e.logicalSequenceId,source:jj(t),tables:Object.freeze(e.tables.map((e,n)=>Object.freeze({...Fj(jj(t+n)),rowCount:e.rows.length})))})}let r=e.element,i=n,a=jj(i);if(n+=1,r.type===`paragraph`)return r.markVanish===!0&&!nj(r)&&QA(r)?Object.freeze({kind:`consume-source`,source:a,reason:`hidden-paragraph`}):Object.freeze({kind:`body-block`,block:Pj(r,a)});if(r.type===`table`)return Object.freeze({kind:`body-block`,block:Fj(a)});if(r.type===`pageBreak`||r.type===`columnBreak`)return Object.freeze({kind:`authored-break`,source:a,break:r.type===`pageBreak`?`page`:`column`,...r.type===`pageBreak`&&r.parity!==void 0?{parity:r.parity}:{},...r.type===`pageBreak`&&r.sameParagraphAsPrevious===!0?{sameSourceParagraphAsPrevious:!0}:{}});if(r.type===`sectionBreak`)return Object.freeze({kind:`begin-section`,source:a,section:t(i)});throw Error(`Unsupported body layout source at ${i}`)}))}function Lj(e,t,n,r=t){return AA(gj(e),t,(t,r)=>n(e.rows[t].cells[r]),r)}function Rj(e,t,n){if(!t||typeof t!=`object`)return;let r=lj.get(e);r||(r=new WeakMap,lj.set(e,r)),r.set(t,n)}function zj(e){let t=new Map,n=0;e.body.forEach((e,r)=>{if(e.type!==`sectionBreak`)return;let i=e.__sectionPlacement;t.set(r,fu({sectionId:i?.sectionId??`section:${n}`,sectionBidi:i?.sectionBidi===!0,vAlign:i?.vAlign??null,lineNumbering:i?.lineNumbering??null,docGridType:i?.docGridType??null,docGridLinePitch:i?.docGridLinePitch??null,docGridCharSpace:i?.docGridCharSpace??null,gutterPt:i?.gutterPt??null,rtlGutter:i?.rtlGutter??null,pageBordersAuthored:i?.pageBordersAuthored??!1,pageBorders:i?.pageBorders??null,pageGeometry:i?.pageGeometry??e.geom??{}},`DOCX ending-section placement input`)),n+=1});let r=e.section?.__sectionPlacement;return Object.freeze({endingSections:t,finalSection:fu({sectionId:r?.sectionId??`section:${n}`,sectionBidi:r?.sectionBidi===!0,vAlign:r?.vAlign??e.section?.vAlign??null,lineNumbering:r?.lineNumbering??e.section?.lineNumbering??null,docGridType:r?.docGridType??e.section?.docGridType??null,docGridLinePitch:r?.docGridLinePitch??e.section?.docGridLinePitch??null,docGridCharSpace:r?.docGridCharSpace??e.section?.docGridCharSpace??null,gutterPt:r?.gutterPt??null,rtlGutter:r?.rtlGutter??null,pageBordersAuthored:r?.pageBordersAuthored??e.section?.pageBorders!=null,pageBorders:r?.pageBorders??e.section?.pageBorders??null,pageGeometry:r?.pageGeometry??(e.section?y_(e.section):{})},`DOCX final-section placement input`)})}const Bj=Object.freeze({default:null,first:null,even:null});function Vj(e){let t=[],n=zj(e),r=0;e.body.forEach((e,i)=>{if(e.type!==`sectionBreak`)return;let a=n.endingSections.get(i)??n.finalSection,o=t.length;t.push({sectionOccurrenceId:a.sectionId,ordinal:o,startBodyIndex:r,endBodyIndex:i,markerBodyIndex:i,final:!1,startType:e.kind??`nextPage`,columns:e.columns??null,authoredGeometry:oj(a.pageGeometry),textDirection:e.textDirection??null,pageNumType:e.pageNumType??null,headers:e.headers??Bj,footers:e.footers??Bj,titlePage:e.titlePage??!1,sectionBidi:a.sectionBidi,vAlign:a.vAlign,lineNumbering:a.lineNumbering,docGridType:a.docGridType,docGridLinePitch:a.docGridLinePitch,docGridCharSpace:a.docGridCharSpace,authoredGutterPt:a.gutterPt,rtlGutter:a.rtlGutter===!0,pageBordersAuthored:a.pageBordersAuthored,pageBorders:a.pageBorders,placement:sj(a)}),r=i+1});let i=n.finalSection;t.push({sectionOccurrenceId:i.sectionId,ordinal:t.length,startBodyIndex:r,endBodyIndex:e.body.length-1,markerBodyIndex:null,final:!0,startType:e.section.sectionStart??`nextPage`,columns:e.section.columns??null,authoredGeometry:i.pageGeometry==null?y_(e.section):oj(i.pageGeometry),textDirection:e.section.textDirection??null,pageNumType:e.section.pageNumType??null,headers:e.headers??Bj,footers:e.footers??Bj,titlePage:e.section.titlePage,sectionBidi:i.sectionBidi,vAlign:i.vAlign,lineNumbering:i.lineNumbering,docGridType:i.docGridType,docGridLinePitch:i.docGridLinePitch,docGridCharSpace:i.docGridCharSpace,authoredGutterPt:i.gutterPt,rtlGutter:i.rtlGutter===!0,pageBordersAuthored:i.pageBordersAuthored,pageBorders:i.pageBorders,placement:sj(i)});let a=Array(t.length),o=y_(e.section),s=null,c=null;for(let e=t.length-1;e>=0;--e){let n=t[e],r=n.startType===`continuous`&&s!==null?s:o,i=n.authoredGeometry,l={pageWidth:i.pageWidth??r.pageWidth,pageHeight:i.pageHeight??r.pageHeight,marginTop:i.marginTop??r.marginTop,marginRight:i.marginRight??r.marginRight,marginBottom:i.marginBottom??r.marginBottom,marginLeft:i.marginLeft??r.marginLeft,headerDistance:i.headerDistance??r.headerDistance,footerDistance:i.footerDistance??r.footerDistance},u=n.authoredGutterPt??(n.startType===`continuous`?c:null)??0,{authoredGeometry:d,authoredGutterPt:f,...p}=n;a[e]={...p,geometry:l,gutterPt:u},s=l,c=u}return fu({bodyLength:e.body.length,occurrences:a},`DOCX body section index input`)}function Hj(e){let t=Vj(e),n=new Map;for(let e of t.occurrences)e.startBodyIndex!==0&&n.set(e.startBodyIndex-1,e);let r=Ij(e.body,e=>{let t=n.get(e);if(!t)throw Error(`Missing incoming body section at ${e}`);return Object.freeze({sectionOccurrenceId:t.sectionOccurrenceId,startType:t.startType})});return fu({sectionIndex:t,evenAndOddHeaders:e.section.evenAndOddHeaders,endnoteIds:(e.endnotes??[]).map(e=>e.id),noteLayoutSettings:aj(e),pageLayoutSettings:ij(e),parserDiagnostics:Ld(e.diagnostics,e.body.length),sequence:r},`DOCX body layout acquisition input`)}function Uj(e){let t=e.textPath;if(t)return fu({string:t.string,...t.fontFamily===void 0?{}:{fontFamily:t.fontFamily},bold:t.bold??!1,italic:t.italic??!1,...t.textPathOk===void 0?{}:{textPathOk:t.textPathOk},...t.on===void 0?{}:{on:t.on},...t.fitShape===void 0?{}:{fitShape:t.fitShape},...t.fitPath===void 0?{}:{fitPath:t.fitPath},...t.trim===void 0?{}:{trim:t.trim},...t.xScale===void 0?{}:{xScale:t.xScale},...t.fontSizePt===void 0?{}:{fontSizePt:t.fontSizePt}},`DOCX VML text path acquisition input`)}function Wj(e){let t=e.__anchorAcquisition;if(t!==void 0)return fu(t,`DOCX anchor acquisition input`)}function Gj(e,t){let n=Qj(e).fontFacts,r=n?.rtl===!0||n?.cs===!0,i=r?n?.fontSizeCs??n?.fontSize??t:n?.fontSize??t,a=n?.fontFamily??e.fontFamily??null,o={ascii:a,highAnsi:n?.fontFamilyHighAnsi??a,eastAsia:n?.fontFamilyEastAsia??e.fontFamilyEastAsia??a,complexScript:n?.fontFamilyCs??a},s=n?.fontSlots;return Object.freeze({fontSizePt:i,fonts:Object.freeze({...s?.direct??o}),themeFonts:s?.theme?Object.freeze({...s.theme}):void 0,themeFontPresence:s?.themePresent?Object.freeze({...s.themePresent}):void 0,weight:(r?n?.boldCs??!1:n?.bold??!1)?700:400,style:(r?n?.italicCs??!1:n?.italic??!1)?`italic`:`normal`,complexScript:r,fontHint:n?.fontHint,eastAsiaLanguage:n?.langEastAsia,kerning:n?.kerning==null?void 0:i>=n.kerning})}function Kj(e,t){let n=e.textBoxContent;return n===void 0?fu({kind:`compatibility`,source:t,paragraphs:cS(e,t,Gj)},`DOCX public text box acquisition input`):fu({kind:`complete`,source:t,blockCount:n.length},`DOCX complete text box acquisition input`)}function qj(e){let t=$j(e).paragraphMarkFontFacts;if(!t)return;let n=t.rtl===!0||t.cs===!0,r=e.runs.find(e=>e.type===`text`||e.type===`field`)?.fontSize??e.defaultFontSize??10,i=n?t.fontSizeCs??t.fontSize??r:t.fontSize??r,a=t.fontFamily??e.defaultFontFamily??null,o={ascii:a,highAnsi:t.fontFamilyHighAnsi??a,eastAsia:t.fontFamilyEastAsia??e.defaultFontFamilyEastAsia??a,complexScript:t.fontFamilyCs??a};return Object.freeze({fontSizePt:i,fonts:Object.freeze({...t.fontSlots?.direct??o}),themeFonts:t.fontSlots?.theme?Object.freeze({...t.fontSlots.theme}):void 0,themeFontPresence:t.fontSlots?.themePresent?Object.freeze({...t.fontSlots.themePresent}):void 0,weight:(n?t.boldCs??!1:t.bold??!1)?700:400,style:(n?t.italicCs??!1:t.italic??!1)?`italic`:`normal`,complexScript:n,fontHint:t.fontHint,eastAsiaLanguage:t.langEastAsia,kerning:t.kerning==null?void 0:i>=t.kerning})}function Jj(e,t){let n=e,{layoutLines:r,lineSlice:i,runs:a,paragraphMarkFontFacts:o,__paragraphTypographyAcquisition:s,__complexFieldBoundaries:c,...l}=e,u=WA(n),d=e.__complexFieldBoundaries?.map(e=>({occurrenceKey:[`complex-field`,t.story,t.storyInstance,t.path.slice(0,-1).join(`.`),String(e.occurrenceId)].join(`:`),boundary:e.boundary,runIndex:e.runIndex,fieldType:e.fieldType,instruction:e.instruction,...e.hyperlinkAnchor===void 0?{}:{hyperlinkAnchor:e.hyperlinkAnchor}})),f=l.numbering,p=f==null?null:(({fontFacts:e,...t})=>t)(f),m=structuredClone({...l,numbering:p}),h=ej(n),g=[];if(h.length===0)n.runs.forEach((e,t)=>{g.push({run:e,originalRun:n.runs[t]})});else{let e=0;for(let t=0;t<=n.runs.length;t+=1){for(;h[e]?.publicRunIndex===t;){let t=h[e].run;g.push({run:t,originalRun:t}),e+=1}t<n.runs.length&&g.push({run:n.runs[t],originalRun:n.runs[t]})}}let _=g.map(({run:e,originalRun:n},r)=>{let i=e;if(i.type===`unavailableDrawing`){let e=Wj(n),r=e===void 0?void 0:fu({...e,occurrenceId:lu(t,e.occurrenceId)},`DOCX scoped unavailable drawing anchor acquisition input`),{__anchorAcquisition:a,...o}=i;return Object.freeze({...o,...r===void 0?{}:{anchorAcquisitionInput:r}})}if(e.type===`math`){let n=Object.freeze({...t,path:Object.freeze([...t.path,r])}),i=e;return Object.freeze({type:`math`,display:e.display,fontSize:e.fontSize,...e.jc===void 0?{}:{jc:e.jc},source:i.source??n,resourceKey:i.resourceKey??su(n,e.display?`display`:`inline`),fallbackText:am(e.nodes)})}if(e.type===`anchorHost`){let{__anchorOccurrenceId:n,...r}=e;return Object.freeze({...r,...n===void 0?{}:{anchorOccurrenceId:lu(t,n)}})}if(e.type===`shape`||e.type===`image`||e.type===`chart`){let i=Wj(n),a=i===void 0?void 0:fu({...i,occurrenceId:lu(t,i.occurrenceId)},`DOCX scoped anchor acquisition input`),{__anchorAcquisition:o,...s}=e;if(e.type!==`shape`){let n=e.type===`chart`?(({chart:e,...n})=>({...n,resourceKey:cu({...t,path:[...t.path,r]})}))(s):s;return Object.freeze({...structuredClone(n),...a===void 0?{}:{anchorAcquisitionInput:a}})}let c=n,l=Uj(c),u=Object.freeze({...t,path:Object.freeze([...t.path,r])}),d=Kj(c,{story:`textbox`,storyInstance:`${u.story}:${u.storyInstance}:${u.path.join(`.`)}`,path:[]}),{textBoxContent:f,textBlocks:p,textPath:m,...h}=s;return Object.freeze({type:`shape`,...structuredClone(h),...l===void 0?{}:{vmlTextPathInput:l},...(d.kind===`complete`?d.blockCount:d.paragraphs.length)===0?{}:{textBoxInput:d},...a===void 0?{}:{anchorAcquisitionInput:a}})}if(e.type===`text`||e.type===`field`){let t=UA(n),{__typographyAcquisition:r,...i}=e;return Object.freeze({...structuredClone(i),...t===void 0?{}:{typographyInput:t}})}return Object.freeze(structuredClone(e))});return du({...m,runs:_,...d?.length?{complexFieldBoundaries:d}:{},numberingMarkerShapeInput:e.numbering?Gj(e.numbering,n.runs.find(e=>e.type===`text`||e.type===`field`)?.fontSize??e.defaultFontSize??10):void 0,paragraphMarkShapeInput:qj(e),...u===void 0?{}:{typographyInput:u}})}function Yj(e){return Zj(e,!1)}function Xj(e){return Zj(e,!0)}function Zj(e,t){let n=[],r=(e,a,o,s)=>{if(e.type===`paragraph`){let i=!1,c=[],l=[],u=e.runs.some(e=>e.type===`unavailableDrawing`);tj(e).forEach((e,d)=>{if(e.type===`unavailableDrawing`){l.push(Object.freeze({publicRunIndex:c.length,run:fu(e,`DOCX unavailable drawing parser sidecar`)})),u&&(i=!0);return}if(e.type===`math`){i=!0;let t=Object.freeze({story:a,storyInstance:o,path:Object.freeze([...s,d])}),r=su(t,e.display?`display`:`inline`);n.push(Object.freeze({nodes:e.nodes,display:e.display,source:t,resourceKey:r})),c.push(Object.freeze({...e,source:t,resourceKey:r}));return}if(e.type!==`shape`){c.push(e);return}let f=e,p=f.textBoxContent;if(p===void 0){c.push(e);return}let m={story:a,storyInstance:o,path:[...s,d]},h=`${m.story}:${m.storyInstance}:${m.path.join(`.`)}`,g=!1,_=t?p:Array(p.length);if(p.forEach((e,t)=>{if(e.type===`unsupportedTextBoxBlock`){_[t]=e;return}let n=r(e,`textbox`,h,[t]);n!==e&&(g=!0),_[t]=n}),!g){c.push(e);return}i=!0,t?(f.textBoxContent=_,c.push(e)):c.push({...e,textBoxContent:_})});let d=i?t?Object.assign(e,{runs:c}):{...e,runs:c}:e;return l.length>0&&$A.set(d,Object.freeze(l)),d}if(e.type===`table`){if(t)return e.rows.forEach((e,t)=>e.cells.forEach((e,n)=>{e.content=i(e.content,a,o,[...s,t,n])})),e;let n=!1,r=e.rows.map((e,t)=>{let r=!1,c=e.cells.map((e,n)=>{let c=i(e.content,a,o,[...s,t,n]);return c===e.content?e:(r=!0,{...e,content:c})});return r?(n=!0,{...e,cells:c}):e});return n?{...e,rows:r}:e}if(e.type!==`sectionBreak`)return e;let c=s.at(-1)??0,l=!1,u=(e,t)=>{if(!e)return e;let n=e;for(let r of[`default`,`first`,`even`]){let a=e[r];if(!a)continue;let o=i(a.body,t,`section:${c}:${r}`);o!==a.body&&(n===e&&(n={...e}),n[r]={...a,body:o},l=!0)}return n},d=u(e.headers,`header`),f=u(e.footers,`footer`);return l?{...e,headers:d,footers:f}:e},i=(e,n,i,a=[])=>{if(t){for(let t=0;t<e.length;t+=1)e[t]=r(e[t],n,i,[...a,t]);return e}let o=!1,s=e.map((e,t)=>{let s=r(e,n,i,[...a,t]);return s!==e&&(o=!0),s});return o?s:e},a=(e,t)=>{if(!e)return{default:null,first:null,even:null};let n=e;for(let r of[`default`,`first`,`even`]){let a=e[r];if(!a)continue;let o=i(a.body,t,r);o!==a.body&&(n===e&&(n={...e}),n[r]={...a,body:o})}return n},o=i(e.body,`body`,`body`),s=a(e.headers,`header`),c=a(e.footers,`footer`),l=(e,n)=>{if(!e)return e;if(t){for(let t of e)t.content=i(t.content,n,t.id);return e}let r=!1,a=e.map(e=>{let t=i(e.content,n,e.id);return t===e.content?e:(r=!0,{...e,content:t})});return r?a:e},u=l(e.footnotes,`footnote`),d=l(e.endnotes,`endnote`),f=o!==e.body||s!==e.headers||c!==e.footers||u!==e.footnotes||d!==e.endnotes?{...e,body:o,headers:s,footers:c,footnotes:u,endnotes:d}:e,p=zj(f);cj.set(f,p),Rj(f.body,f.section,p);let m,h=()=>m??=Hj(f),g=nM();return Object.freeze({document:f,mathOccurrences:Object.freeze(n),fontFamilyCharsets:Object.freeze({...eM(f).fontFamilyCharsets??{}}),get bodyLayoutInput(){return ZA(h())},bodyModelGateway:Object.freeze({acquisitionInputs:g,get bodySectionIndex(){return h().sectionIndex},effectiveTablePositioning:vj,publicAnchorBridge:Nj})})}function Qj(e){return e}function $j(e){return e}function eM(e){return e}const tM=Object.freeze({numberingMarkerShapeInput:Gj,paragraphMarkShapeInput:qj,tableFormatInput:kj,tableColumnLayoutInput:Lj,tableParticipatesInOrdinaryFlow:_j,paragraphAcquisitionInput:Jj});function nM(){let e=new WeakMap,t=(t,n)=>{let r=e.get(t);r||(r=new Map,e.set(t,r));let i=iu(n),a=r.get(i);if(a)return a;let o=Jj(t,n);return r.set(i,o),o};return Object.freeze({...tM,paragraphAcquisitionInput:t})}const rM=new Set([`tbRl`,`tbRlV`,`tbLrV`]);function iM(e){let t=[e],n=new Set;for(;t.length>0;){let e=t.pop();if(!(typeof e!=`object`||!e||n.has(e))){if(n.add(e),!Array.isArray(e)){let t=e;if(typeof t.textDirection==`string`&&rM.has(t.textDirection))return!0}t.push(...Object.values(e))}}return!1}const aM=new WeakMap;function oM(e){let t=b_(),n=e.section??{},r=(e,t)=>Number.isFinite(e)?e:t,i=e=>({default:e?.default??null,first:e?.first??null,even:e?.even??null});return{...e,body:e.body??[],section:{...t,...n,pageWidth:r(n.pageWidth,t.pageWidth),pageHeight:r(n.pageHeight,t.pageHeight),marginTop:r(n.marginTop,t.marginTop),marginRight:r(n.marginRight,t.marginRight),marginBottom:r(n.marginBottom,t.marginBottom),marginLeft:r(n.marginLeft,t.marginLeft),headerDistance:r(n.headerDistance,t.headerDistance),footerDistance:r(n.footerDistance,t.footerDistance)},headers:i(e.headers),footers:i(e.footers)}}function sM(e,t,n,r){if(e)for(let i of[`default`,`first`,`even`]){let a=e[i];a&&r(a.body,{story:t,storyInstance:n===null?i:`${n}:${i}`,path:[]})}}function cM(e,t,n,r=()=>{},i=()=>{}){let a=(e,o,s=[])=>{e.forEach((c,l)=>{let u=[...s,l];if(c.type===`paragraph`){let r={...o,path:u},s=t.paragraphAcquisitionInput(c,r),d=n(c,r,s);d&&(e[l]=d);let f=0;s.runs.forEach((e,t)=>{if(e.type===`unavailableDrawing`)return;let n=c.runs[f++];if(e.type!==`shape`||n?.type!==`shape`)return;let r=n.textBoxContent;if(!r)return;let s={story:`textbox`,storyInstance:`${o.story}:${o.storyInstance}:${u.join(`.`)}.${t}`,path:[]};i(r,s),a(r,s)})}else c.type===`table`?(r(c,{...o,path:u}),c.rows.forEach((e,t)=>e.cells.forEach((e,n)=>{a(e.content,o,[...u,t,n])}))):c.type===`sectionBreak`&&(sM(c.headers,`header`,`section:${l}`,a),sM(c.footers,`footer`,`section:${l}`,a))})};a(e.body,{story:`body`,storyInstance:`body`,path:[]}),sM(e.headers,`header`,null,a),sM(e.footers,`footer`,null,a);for(let t of e.footnotes??[])a(t.content,{story:`footnote`,storyInstance:t.id,path:[]});for(let t of e.endnotes??[])a(t.content,{story:`endnote`,storyInstance:t.id,path:[]})}function lM(e){let t=[],n=(e,n)=>{t.push({source:n,body:e})};return sM(e.headers,`header`,null,n),sM(e.footers,`footer`,null,n),e.body.forEach((e,t)=>{e.type===`sectionBreak`&&(sM(e.headers,`header`,`section:${t}`,n),sM(e.footers,`footer`,`section:${t}`,n))}),t}function uM(e){return lM(e).map(({body:e})=>e)}function dM(e){return e??Object.freeze([])}function fM(e,t,n,r=[]){let i=(e,t,r)=>e&&Object.fromEntries([`default`,`first`,`even`].map(i=>{let a=e[i];return[i,a?{...structuredClone(Object.fromEntries(Object.entries(a).filter(([e])=>e!==`body`))),body:fM(a.body,{story:t,storyInstance:`${r}:${i}`,path:[]},n)}:null]}));return e.map((e,a)=>{let o=[...r,a];if(e.type===`paragraph`){let e=n.get(iu({...t,path:o}));if(!e)throw Error(`Missing canonical paragraph source: ${iu({...t,path:o})}`);return e}if(e.type===`table`){let r=structuredClone(e),{__tableLayout:i,...a}=r;return{...a,rows:r.rows.map((e,r)=>{let{__tableRowLayout:i,...a}=e;return{...a,cells:e.cells.map((e,i)=>{let{__tableCellLayout:a,...s}=e;return{...s,content:fM(e.content,t,n,[...o,r,i])}})}})}}if(e.type!==`sectionBreak`)return structuredClone(e);let{__sectionPlacement:s,headers:c,footers:l,...u}=e;return{...structuredClone(u),headers:i(e.headers,`header`,`section:${a}`),footers:i(e.footers,`footer`,`section:${a}`)}})}function pM(e){let{__sectionPlacement:t,...n}=e;return structuredClone(n)}function mM(e){let t=e;return delete t.__sectionPlacement,t}function hM(e,t,n){return Object.fromEntries([`default`,`first`,`even`].map(r=>{let i=e[r];return[r,i?{...structuredClone(Object.fromEntries(Object.entries(i).filter(([e])=>e!==`body`))),body:fM(i.body,{story:t,storyInstance:r,path:[]},n)}:null]}))}function gM(e,t,n,r=[]){let i=(e,t,r)=>{if(!e)return e;for(let i of[`default`,`first`,`even`]){let a=e[i];a&&(a.body=gM(a.body,{story:t,storyInstance:`${r}:${i}`,path:[]},n))}return e},a=e;for(let e=0;e<a.length;e+=1){let o=a[e],s=[...r,e];if(o.type===`paragraph`){let r=n.get(iu({...t,path:s}));if(!r)throw Error(`Missing canonical paragraph source: ${iu({...t,path:s})}`);a[e]=r;continue}if(o.type===`table`){let r=o;delete r.__tableLayout,r.rows.forEach((e,r)=>{let i=e;delete i.__tableRowLayout,i.cells.forEach((e,i)=>{let a=e;delete a.__tableCellLayout,a.content=gM(a.content,t,n,[...s,r,i])})}),a[e]=r;continue}if(o.type!==`sectionBreak`)continue;let c=o;delete c.__sectionPlacement,c.headers=i(c.headers,`header`,`section:${e}`),c.footers=i(c.footers,`footer`,`section:${e}`)}return a}function _M(e,t,n){for(let r of[`default`,`first`,`even`]){let i=e[r];i&&(i.body=gM(i.body,{story:t,storyInstance:r,path:[]},n))}return e}function vM(e){let t=aM.get(e);if(t)return t;let n=Yj(oM(e));return bM(n,n,!1,e)}function yM(e,t){return aM.get(e)||bM(Xj(oM(e)),Xj(oM(t)),!0,e)}function bM(e,t,n,r){let i=t.document,a=t.bodyModelGateway.acquisitionInputs,o=t.bodyLayoutInput,s=Xg(i,rj(i)),c=Du(i,a,t.mathOccurrences,e=>{let t=e.numbering;if(!t)throw Error(`Picture-bullet metadata requires numbering`);let n=a.numberingMarkerShapeInput(t,ah(e));return{widthPt:t.picBulletWidthPt??n.fontSizePt,heightPt:t.picBulletHeightPt??n.fontSizePt}}),l=dM(i.footnotes),u=dM(i.endnotes),d=$S(i.body,l,[...uM(i),...u.map(e=>e.content)]),f=iM(i),p=i.parseError===void 0?null:{message:i.parseError,pageSize:{widthPt:i.section.pageWidth,heightPt:i.section.pageHeight}},m={familyClasses:{...i.fontFamilyClasses??{}},familyPitches:{...i.fontFamilyPitches??{}},majorFamily:i.majorFont??null,minorFamily:i.minorFont??null,embeddedFonts:[...i.embeddedFonts??[]],renderedFamilies:aA(i),preloadNames:cA(i),localMetricRequests:VA(i),defaultBodyFontSizePt:KE(i)},h=new Map,g=[],_=[],v=[];cM(i,a,(e,r,i)=>{let a=iu(r);if(h.has(a))throw Error(`Duplicate paragraph source: ${a}`);h.set(a,i);let o=0,s=i.runs.map((n,i)=>{if(n.type===`unavailableDrawing`)return null;let a=e.runs[o++];return a?t.bodyModelGateway.publicAnchorBridge(a,r,i):null});return g.push(Object.freeze({source:du({...r,path:[...r.path]}),publicAnchorBridges:Object.freeze(s),numberingMarkerFallbackFontSizePt:e.numbering?ah(e):null})),n?i:void 0},(e,t)=>{_.push(Object.freeze({source:du({...t,path:[...t.path]}),input:gj(e)}))},(e,t)=>{v.push({body:e,source:t})}),Object.freeze({...a,paragraphAcquisitionInput(e,t){let n=h.get(iu(t));if(!n)throw Error(`Unknown paragraph acquisition source: ${iu(t)}`);return n}});let y=n?gM:fM,b=n?_M:hM,x={...i,body:y(i.body,{story:`body`,storyInstance:`body`,path:[]},h),headers:b(i.headers,`header`,h),footers:b(i.footers,`footer`,h),footnotes:l.map(({content:e,...t})=>({...structuredClone(t),content:y(e,{story:`footnote`,storyInstance:t.id,path:[]},h)})),endnotes:u.map(({content:e,...t})=>({...structuredClone(t),content:y(e,{story:`endnote`,storyInstance:t.id,path:[]},h)}))},S=v.map(({source:e,body:t})=>({source:e,body:y(t,e,h)}));du(h);let C=RA({bodyLayoutInput:o,blockRepository:{body:x.body,stories:[...lM(x).map(({source:e,body:t})=>({source:e,body:t})),...S],footnotes:x.footnotes??[],endnotes:x.endnotes??[]},section:n?mM(i.section):pM(i.section),documentLayoutFacts:du({...s,kinsoku:{enabled:s.kinsoku.enabled,lineStartForbidden:[...s.kinsoku.lineStartForbidden].sort((e,t)=>e-t),lineEndForbidden:[...s.kinsoku.lineEndForbidden].sort((e,t)=>e-t)}}),fonts:du(m),fontFamilyCharsets:t.fontFamilyCharsets,acquisitionFacts:Object.freeze({paragraphs:Object.freeze(g),tables:Object.freeze(_)}),mathOccurrences:t.mathOccurrences,imageMetadata:c.imageMetadata,paintDescriptors:c.paintResources.descriptors,hasPaginationFields:d,requiresDomVerticalGlyphLayout:f,fatalParse:p===null?null:du(p)}),w=Object.freeze({document:e.document,source:C});return aM.set(r,w),aM.set(e.document,w),w}function xM(e){return vM(e).source}function SM(e,t,n){return Xk(e,t,n).kernel}function CM(e,t={}){let n=MA(e)?e:xM(e),r=t.measureContext??(()=>{if(typeof document<`u`){let e=document.createElement(`canvas`).getContext(`2d`);if(e!==null)return e}return typeof OffscreenCanvas<`u`?new OffscreenCanvas(1,1).getContext(`2d`):null})(),i=r===null?null:Object.freeze({get font(){return r.font},set font(e){r.font=e},get letterSpacing(){return r.letterSpacing},set letterSpacing(e){r.letterSpacing=e},get fontKerning(){return r.fontKerning},set fontKerning(e){r.fontKerning=e},measureText(e){return r.measureText(e)}}),a=r?.canvas,o=a?.ownerDocument?.defaultView?.HTMLCanvasElement,s=r!==null&&(typeof o==`function`&&a instanceof o||typeof HTMLCanvasElement<`u`&&a instanceof HTMLCanvasElement),c=Object.freeze({fingerprint:r===null?`vertical-glyph-measurement:deterministic-v1`:s?`vertical-glyph-measurement:dom-vert-probe-v2`:`vertical-glyph-measurement:no-dom-vert-probe-v1`,measureRunInkExtra(e){if(r===null)throw Error(`Vertical glyph measurement requires a concrete text context`);return Dc(r,()=>Jk(r,e))},planRun(e){if(r===null)throw Error(`Vertical glyph planning requires a concrete text context`);return Dc(r,()=>{let t=r.font,n=r.fontKerning;r.font=e.font,r.fontKerning=e.fontKerning;try{return Kk(r,e.text,e.fontSizePt,e.letterSpacingPt,e.charScale,e.growTrRotateInk,e=>Nc(r,e),e.writingMode)}finally{r.font=t,r.fontKerning=n}})}}),l=cf(t.localMetrics),u=hA(n,{...t,localMetrics:l,measureContext:i,verticalGlyphMeasurement:c});return Uu(u,n),Vu(u,SM(n,i,l)),u}function wM(e,t,n,r){let i=r.layoutServices??CM(e,e.fatalParse===null?{measureContext:t.getContext(`2d`)}:{}),a=Wu(i);if(a&&a!==e)throw Error(`Layout services belong to a different document source`);let o=r.defaultCurrentDateMs??Date.now();_E(i,o,()=>e);let s=Iv(i,{currentDate:r.currentDate,defaultCurrentDateMs:o},n),c=pb(s.page,r.width);return{selection:s,paintOptions:{width:r.width,dpr:r.dpr,defaultTextColor:r.defaultTextColor,fetchImage:r.fetchImage,parseError:e.fatalParse!==null,registry:ad(i),privateResources:Xu(i),textRuns:r.onTextRun?cy(s.layout,n,{scale:c}):[],onTextRun:r.onTextRun}}}async function TM(e,t,n,r={}){let i=wM(e,t,n,r);return _b(i.selection.layout,i.selection.page,t,i.paintOptions)}function EM(e){let t=new Map;for(let n of e.pages)for(let e of n.bookmarkStarts)e.name!==``&&!t.has(e.name)&&t.set(e.name,n.pageIndex);return t}async function DM(e,t){let n=e.embeddedFonts;if(!n||n.length===0)return[];let r=(await Promise.all(n.map(async e=>{try{let n=await t(e.partPath);return{family:e.fontName,bytes:n,odttf:e.partPath.toLowerCase().endsWith(`.odttf`),fontKey:e.fontKey,weight:OM(e.style),style:kM(e.style)}}catch{return null}}))).filter(e=>e!==null);return r.length===0?[]:re(r)}function OM(e){return e===`bold`||e===`boldItalic`?`bold`:`normal`}function kM(e){return e===`italic`||e===`boldItalic`?`italic`:`normal`}function AM(e,t=CM(e),n){let r=MA(e)?e:xM(e),i=Wu(t);if(i&&i!==r)throw Error(`Layout services belong to a different document source`);return gE(r.bodyLayoutInput,t,n)}function jM(e,t,n){let r=Wu(t);if(r&&r!==e)throw Error(`Layout services belong to a different document source`);let i=Fv({source:e,services:t,defaultCurrentDateMs:n,buildLayout:n=>AM(e,t,n)});return Object.freeze({layoutServices:t,layoutVariants:i.store,defaultCurrentDateMs:n})}function MM(e,t){let n=Math.min(e.length,t);if(n>0&&n<e.length){let t=e.charCodeAt(n-1),r=e.charCodeAt(n);t>=55296&&t<=56319&&r>=56320&&r<=57343&&n--}return e.slice(0,n)}function NM(e){let t=e??16384;if(!Number.isFinite(t)||t<0)throw RangeError(`maxTextCharacters must be a finite non-negative number.`);return Math.min(65536,Math.floor(t))}function PM(e,t){let n=NM(t),r=[],i=0,a=!1,o=!1,s=(e,t)=>{if(t&&o){if(i>=n)return a=!0,!1;r.push(`\n`),i++}o=!0;let s=MM(e,Math.max(0,n-i));return r.push(s),i+=s.length,s.length<e.length?(a=!0,!1):!0};if(!s(`Chart type: ${e.chartType}`,!0)||e.title!==null&&!s(`Title: ${e.title}`,!0))return{text:r.join(``),truncated:a,textCharacters:i,maxTextCharacters:n};if(e.categories.length>0){if(!s(`Categories: `,!0))return{text:r.join(``),truncated:a,textCharacters:i,maxTextCharacters:n};for(let[t,o]of e.categories.entries())if(!s(`${t===0?``:`, `}${o}`,!1))return{text:r.join(``),truncated:a,textCharacters:i,maxTextCharacters:n}}for(let t of e.series){if(!s(`Series ${t.name||`(unnamed)`}: `,!0))break;for(let[e,o]of t.values.entries())if(!s(`${e===0?``:`, `}${o===null?``:o}`,!1))return{text:r.join(``),truncated:a,textCharacters:i,maxTextCharacters:n};if(a)break}return{text:r.join(``),truncated:a,textCharacters:i,maxTextCharacters:n}}function FM(e,t){let n=Math.min(e.length,t);if(n>0&&n<e.length){let t=e.charCodeAt(n-1),r=e.charCodeAt(n);t>=55296&&t<=56319&&r>=56320&&r<=57343&&n--}return e.slice(0,n)}function IM(e,t){let n=[],r=0,i=!1;for(let a of e){if(a.length===0)continue;if(r>0){if(r>=t){i=!0;break}n.push(`\n`),r++}let e=FM(a,Math.max(0,t-r));if(n.push(e),r+=e.length,e.length<a.length){i=!0;break}}let a=n.join(``);return{...a.length===0?{}:{text:a},truncated:i}}function*LM(e){if(e.kind===`paragraph`){for(let t of e.lines){let e=t.placements.flatMap(e=>e.kind===`text`?[e.text]:[]).join(``);e&&(yield e)}return}if(e.kind===`table`){for(let t of e.rows)for(let e of t.cells)for(let t of e.blocks)yield*LM(t.layout);return}if(e.kind===`note`||e.kind===`textbox`)for(let t of e.story.blocks)yield*LM(t)}function*RM(e){for(let t of e.drawing.commands)(t.kind===`text`||t.kind===`watermark-text`)&&(yield t.text);for(let t of e.textBoxes)yield*LM(t)}function zM(e){let t=e??16384;if(!Number.isFinite(t)||t<0)throw RangeError(`maxTextCharacters must be a finite non-negative number.`);return Math.min(65536,Math.floor(t))}function BM(e){return{story:e.story,storyInstance:e.storyInstance,path:[...e.path]}}function VM(e){return`drawing`in e?e.drawing.inkBounds:e.placement.bounds}function HM(e){let t=VM(e),n=[Bv(e.pointToPage,t),Bv(e.pointToPage,{xPt:t.xPt+t.widthPt,yPt:t.yPt}),Bv(e.pointToPage,{xPt:t.xPt,yPt:t.yPt+t.heightPt}),Bv(e.pointToPage,{xPt:t.xPt+t.widthPt,yPt:t.yPt+t.heightPt})],r=Math.min(...n.map(e=>e.xPt)),i=Math.min(...n.map(e=>e.yPt)),a=Math.max(...n.map(e=>e.xPt)),o=Math.max(...n.map(e=>e.yPt));return{xPt:r,yPt:i,widthPt:a-r,heightPt:o-i}}function UM(e,t){return t.xPt>=e.xPt&&t.xPt<=e.xPt+e.widthPt&&t.yPt>=e.yPt&&t.yPt<=e.yPt+e.heightPt}function WM(e,t){let n=!1;for(let r=0,i=t.length-1;r<t.length;i=r++){let a=t[r],o=t[i];a.yPt>e.yPt!=o.yPt>e.yPt&&e.xPt<(o.xPt-a.xPt)*(e.yPt-a.yPt)/(o.yPt-a.yPt)+a.xPt&&(n=!n)}return n}function GM(e,t){return UM(e.inkBounds,t)?e.clip?e.clip.kind===`rect`?UM(e.clip.rect,t):WM(t,e.clip.points):!0:!1}function KM(e,t,n){for(let n of e.clips){let e=Vv(n.pointToPage,t);if(!e||!UM(n.bounds,e))return!1}return`drawing`in e?GM(e.drawing,n):UM(e.placement.bounds,n)}function qM(e,t){return e.commands.find(e=>e.kind===`resource`&&e.resourceKind===t)}function JM(e){return qM(e,`chart`)?`chart`:e.commands.some(e=>e.kind===`drawingml-shape`||e.kind===`drawingml-image-fill`||e.kind===`fill-rect`||e.kind===`stroke-rect`||e.kind===`text`||e.kind===`watermark-text`)?`shape`:qM(e,`image`)?`image`:null}function YM(e,t,n,r,i,a){let o=`drawing`in e?JM(e.drawing):e.placement.resourceKind;if(!o)return null;let s,c=!1,l,u;if(o===`chart`){let t=`drawing`in e?qM(e.drawing,`chart`).resourceKey:e.placement.resourceKey,n=i.resolve(t,`chart`),r=PM(n.model,a);s=r.text,c=r.truncated,u=n.model.series.length}else if(o===`image`){let t=`drawing`in e?qM(e.drawing,`image`).resourceKey:e.placement.resourceKey,n=i.descriptors.find(e=>e.resourceKey===t&&e.kind===`image`&&`mimeType`in e);if(!n)throw Error(`Unknown image paint resource: ${t}`);l=n.mimeType}else{let t=IM(RM(e),a);s=t.text,c=t.truncated}return{format:`docx`,kind:`element`,pageIndex:t,elementIndex:n,elementType:o,point:{...r},bounds:HM(e),source:BM(`drawing`in e?e.drawing.source:e.source),...s===void 0?{}:{text:s},...l===void 0?{}:{mimeType:l},...u===void 0?{}:{seriesCount:u},truncated:c,truncationReasons:c?[`text`]:[],textCharacters:s?.length??0,maxTextCharacters:a}}function XM(e,t,n,r,i={}){if(!Number.isFinite(n.xPt)||!Number.isFinite(n.yPt))throw RangeError(`DOCX hit-test point must contain finite page coordinates.`);let a=zM(i.maxTextCharacters),o=ay(e,t);for(let e=o.length-1;e>=0;e--){let i=o[e],s=Vv(i.pointToPage,n);if(!s||!KM(i,n,s))continue;let c=YM(i,t,e,n,r,a);if(c)return c}return null}function ZM(e,t,n,r){return XM(Iv(e,{currentDate:r.currentDate,defaultCurrentDateMs:r.defaultCurrentDateMs},t).layout,t,n,ad(e),r)}const QM=1024*1024,$M=67108864;async function eN(e,t,n={}){let r=[],i=[];return tN(e,t,n,{acceptBody:e=>{let t=structuredClone(e);for(let t of e)r.push(t);for(let e of t)i.push(e)},complete:e=>{let t=structuredClone(e);return e.body=r,t.body=i,Object.freeze({document:e,ownedLayoutDocument:t})}})}async function tN(e,t,n,r){let i=new Yo(e,{...t,maxByteCredit:$M,timeoutMs:n.timeoutMs});try{for(;;){let e=await rN(i,n.signal);try{let t=e.usage??i.usageCheckpoint;t&&n.onUsage?.(t);let a=nN(e.payload);if(e.done!==(a.kind===`complete`))throw TypeError(`DOCX document unit terminal flag does not match its payload`);if(a.kind===`body`){r.acceptBody(a.body),await e.ack({signal:n.signal});continue}if(!Array.isArray(a.document.body)||a.document.body.length!==0)throw TypeError(`DOCX terminal document must not duplicate streamed body blocks`);let o=r.complete(a.document);return await e.ack({signal:n.signal}),o}finally{e.disposeTransferred()}}}catch(e){throw await i.cancel(`request-error`).catch(()=>void 0),e}}function nN(e){let t=JSON.parse(new TextDecoder().decode(new Uint8Array(e)));if(!t||typeof t!=`object`)throw TypeError(`DOCX document unit must be an object`);let n=t;if(n.kind===`body`&&Array.isArray(n.body)||n.kind===`complete`&&n.document&&typeof n.document==`object`)return n;throw TypeError(`DOCX document unit has an unknown shape`)}async function rN(e,t){try{return await e.pull(QM,{signal:t})}catch(n){let r=iN(n);if(r===void 0)throw n;return e.pull(r,{signal:t})}}function iN(e){return bo(e,QM,$M)}var aN=class{body;document;prepared=null;index=0;identity=null;completed=!1;constructor(e){this.body=e.body,e.body=[],this.document=e}open_document_cursor(e,t){if(this.identity)throw Error(`materialized DOCX cursor is already open`);this.identity={sessionId:t,operationId:e,generation:t}}pull_document_chunk(e,t,n,r){if(this.assertIdentity(t,n),this.completed)throw Error(`materialized DOCX cursor is complete`);if(e!==this.index)throw Error(`materialized DOCX cursor sequence mismatch`);if(!this.prepared){let t=this.body[this.index],n=t===void 0?{kind:`complete`,document:this.requireDocument()}:{kind:`body`,body:[t]};this.prepared={sequence:e,bytes:new TextEncoder().encode(JSON.stringify(n)),done:t===void 0}}if(this.prepared.bytes.byteLength>r)throw new _o({requiredBytes:this.prepared.bytes.byteLength,offeredBytes:r});return this.prepared.bytes.slice()}document_chunk_done(){if(!this.prepared)throw Error(`materialized DOCX cursor has no prepared unit`);return this.prepared.done}acknowledge_document_chunk(e,t,n){if(this.assertIdentity(t,n),!this.prepared||e!==this.prepared.sequence||e!==this.index)throw Error(`materialized DOCX acknowledgement sequence mismatch`);let r=this.prepared.done;if(this.prepared=null,r){this.completed=!0,this.body=[],this.document=null;return}this.body[this.index]=void 0,this.index+=1}cancel_document_cursor(){this.prepared=null,this.body=[],this.document=null,this.completed=!0}close_document_session(){this.cancel_document_cursor()}assertIdentity(e,t){if(!this.identity||this.identity.operationId!==e||this.identity.generation!==t)throw Error(`materialized DOCX cursor identity mismatch`)}requireDocument(){if(!this.document)throw Error(`materialized DOCX terminal document is unavailable`);return this.document}};const oN=67108864;var sN=class{coordinator=new Xo;host=null;identity=null;constructor(e,t=e=>e(this.requireArchive())){this.archive=e,this.executeArchive=t}open(e){if(this.host)throw Error(`a DOCX document pull session is already active`);this.executeArchive(t=>{t.open_document_cursor(e.operationId,e.generation)});let t=0;this.identity=e,this.host=new Zo({...e,maxByteCredit:oN,coordinator:this.coordinator,driver:{pull:n=>{let r;try{r=this.executeArchive(r=>r.pull_document_chunk(t,e.operationId,e.generation,n))}catch(e){throw yo(e,n,oN)||e}let i=Wo(r);return{payload:i,byteLength:i.byteLength,done:this.executeArchive(e=>e.document_chunk_done()),transfer:[i]}},measureChunk:({payload:e})=>e.byteLength,acknowledge:n=>{if(n!==t)throw Error(`DOCX document acknowledgement sequence mismatch`);this.executeArchive(n=>n.acknowledge_document_chunk(t,e.operationId,e.generation)),t+=1},cancel:()=>this.executeArchive(e=>e.cancel_document_cursor()),close:()=>this.executeArchive(e=>e.close_document_session()),resourceUsage:()=>{let e=this.executeArchive(e=>e.document_cursor_resource_usage?.());return e?To(e):void 0}}})}dispatch(e,t){return!this.host||!this.identity?(t({protocol:Ko,kind:`error`,sessionId:e.sessionId,operationId:e.operationId,generation:e.generation,requestId:e.requestId,error:Vo(Error(`DOCX document pull session is not open`))}),Promise.resolve()):this.host.dispatch(e,t)}async reset(){if(this.host)try{this.archive()&&this.executeArchive(e=>e.close_document_session())}finally{this.host=null,this.identity=null,this.coordinator=new Xo}}requireArchive(){let e=this.archive();if(!e)throw Error(`No docx loaded`);return e}};function cN(e){return!!e&&typeof e==`object`&&e.protocol===`ooxml-pull-v1`}function lN(e){let t=1;return{request(n){let r=n(t++);return new Promise((t,n)=>{e.dispatch(r,t).catch(n)})},forgetOrphaned(){},terminate(){}}}const uN=new po(x,{freeArchive:e=>e.free(),reinit:S}),dN=new sN(()=>uN.archive,e=>uN.run(()=>{let t=uN.archive;if(!t)throw Error(`No docx loaded`);return e(t)}));let fN=0,pN=null,mN=null,hN=[];const gN=new tu({maxEntries:64,maxBytes:134217728}),_N=(e,t)=>self.postMessage(e,t);function vN(e,t){return gN.get(e,t,async()=>{let n=uN.archive;if(!n)throw Error(`No docx loaded`);let r=uN.run(()=>n.extract_image(e));return new Blob([r],{type:t})})}self.onmessage=async t=>{let n=t.data;if(cN(n)){try{if(!pN)throw Error(`DOCX vertical fallback session is not open`);await pN.dispatch(n,_N)}catch(e){_N({protocol:Ko,kind:`error`,sessionId:n.sessionId,operationId:n.operationId,generation:n.generation,requestId:n.requestId,error:Vo(e)})}return}if(n.type===`init`){uN.setWasmInput(oo(n.wasmUrl)??n.wasmUrl);return}let r=n.id;try{if(await uN.ensureReady(),n.type!==`parse`&&uN.archive){let e=uN.archive;uN.run(()=>e.assert_healthy())}if(n.type===`parse`){await dN.reset(),await pN?.reset(),pN=null,mN=null,hN.length>0&&(Jl(hN),hN=[]),gN.clear(),za(vN),Ua(vN);let[t,i,a]=Go(n.resourcePolicy),o=new Uint8Array(n.data);uN.run(()=>{let n=new e(o,t,i,a);uN.setArchive(n)}),fN+=1;let s={sessionId:fN,operationId:fN,generation:fN};dN.open(s);let c,l;try{c=await eN(lN(dN),s,{onUsage:e=>{l=e}})}finally{await dN.reset().catch(()=>void 0)}if(iM(c.document)){let e=new aN(c.document);pN=new sN(()=>e),fN+=1;let t={sessionId:fN,operationId:fN,generation:fN};pN.open(t),_N({type:`mainThreadVerticalFallback`,id:r,...t,usage:l});return}let u=yM(c.document,c.ownedLayoutDocument),d=u.source,f=u.document,p=[];n.useGoogleFonts&&(p=await N(cA(f),oA));let m=[];f.embeddedFonts?.length&&(m=await DM(f,async e=>{let t=uN.archive;if(!t)throw Error(`No docx loaded`);return uN.run(()=>t.extract_image(e))}));let h=await HA(f);hN=h.faces,mN=jM(d,CM(d,{localMetrics:h.metrics,useGoogleFonts:!!n.useGoogleFonts,embeddedFaces:m,googleFaces:p}),n.defaultCurrentDateMs);let g=mN.layoutVariants.defaultLayout,_=g.pages.map(e=>({widthPt:e.geometry.widthPt,heightPt:e.geometry.heightPt})),v={pageCount:g.pages.length,comments:f.comments??[],footnotes:f.footnotes??[],endnotes:f.endnotes??[],pageSizes:_,bookmarkPages:[...EM(g)]},y=uN.archive;if(!y)throw Error(`No docx loaded`);l=To(uN.run(()=>y.resource_usage())),_N({type:`parsedMeta`,id:r,meta:v,usage:l});return}if(n.type===`renderPage`){if(!mN)throw Error(`Document not loaded`);let e=new OffscreenCanvas(1,1),t=Wu(mN.layoutServices);if(!t)throw Error(`Document layout source is not initialized`);await TM(t,e,n.pageIndex,{...n.opts,fetchImage:vN,layoutServices:mN.layoutServices,defaultCurrentDateMs:mN.defaultCurrentDateMs});let i=ly(mN.layoutServices,n.pageIndex,{...n.opts,defaultCurrentDateMs:mN.defaultCurrentDateMs}),a=e.transferToImageBitmap();_N({type:`pageRendered`,id:r,bitmap:a,runs:i},[a]);return}if(n.type===`collectRuns`){if(!mN)throw Error(`Document not loaded`);_N({type:`runsCollected`,id:r,runs:ly(mN.layoutServices,n.pageIndex,{...n.opts,defaultCurrentDateMs:mN.defaultCurrentDateMs})});return}if(n.type===`hitTestElement`){if(!mN)throw Error(`Document not loaded`);_N({type:`elementHit`,id:r,context:ZM(mN.layoutServices,n.pageIndex,n.point,{...n.opts,defaultCurrentDateMs:mN.defaultCurrentDateMs})});return}if(n.type===`extractImage`){let e=uN.archive;if(!e)throw Error(`No docx loaded`);let t=uN.run(()=>e.extract_image(n.path).buffer);_N({type:`imageExtracted`,id:r,bytes:t},[t]);return}if(n.type===`resourceUsage`){let e=uN.archive;if(!e)throw Error(`No docx loaded`);_N({type:`resourceUsage`,id:r,usage:To(uN.run(()=>e.resource_usage()))});return}if(n.type===`toMarkdown`){let e=uN.archive;if(!e)throw Error(`No docx loaded`);_N({type:`markdownRendered`,id:r,markdown:uN.run(()=>e.to_markdown())});return}}catch(e){let t=e instanceof Error?e:Error(String(e)),n=t;_N({type:`error`,id:r,...Vo(t),...n.code===void 0?{}:{code:n.code},...n.reason===void 0?{}:{reason:n.reason},...n.outgoingColumnIndex===void 0?{}:{outgoingColumnIndex:n.outgoingColumnIndex},...n.outgoingColumnCount===void 0?{}:{outgoingColumnCount:n.outgoingColumnCount},...n.incomingColumnCount===void 0?{}:{incomingColumnCount:n.incomingColumnCount}})}};", t = typeof self < "u" && self.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);", e], { type: "text/javascript;charset=utf-8" });
3
+ function n(n) {
4
+ let r;
5
+ try {
6
+ if (r = t && (self.URL || self.webkitURL).createObjectURL(t), !r) throw "";
7
+ let e = new Worker(r, {
8
+ type: "module",
9
+ name: n?.name
10
+ });
11
+ return e.addEventListener("error", () => {
12
+ (self.URL || self.webkitURL).revokeObjectURL(r);
13
+ }), e;
14
+ } catch {
15
+ return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(e), {
16
+ type: "module",
17
+ name: n?.name
18
+ });
19
+ }
20
+ }
21
+ //#endregion
22
+ //#region packages/docx/src/render-worker-host.ts
23
+ function r() {
24
+ return new n();
25
+ }
26
+ //#endregion
27
+ export { r as createRenderWorker };