@silurus/ooxml 0.78.1 → 0.79.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +39 -1
  2. package/THIRD_PARTY_NOTICES.md +13 -0
  3. package/dist/{canvas-viewer-mechanics-B4K_t5X_.js → canvas-viewer-mechanics-D9tsuHnG.js} +1 -1
  4. package/dist/chart-number-format-tjYUR9eS.js +435 -0
  5. package/dist/dash-Cyc-sevN.js +786 -0
  6. package/dist/{document-pull-client-5AakVD6e.js → document-pull-client-YiU8M4LO.js} +2119 -2113
  7. package/dist/{docx-bjhRwb2u.js → docx-a1UpmRf8.js} +65 -56
  8. package/dist/docx.mjs +4 -4
  9. package/dist/docx_parser_bg.wasm +0 -0
  10. package/dist/index.mjs +3 -3
  11. package/dist/{line-distribute-BVFW1-Hs.js → line-distribute-pDqovJpT.js} +1 -1
  12. package/dist/{line-metrics-DS0NS2Iq.js → line-metrics-DjKxiIUD.js} +4089 -3210
  13. package/dist/math.mjs +1 -1
  14. package/dist/node.mjs +322 -322
  15. package/dist/{pptx-D1rCrHGR.js → pptx-t5ABdzfd.js} +192 -183
  16. package/dist/pptx.mjs +5 -5
  17. package/dist/pptx_parser_bg.wasm +0 -0
  18. package/dist/region-map.mjs +12708 -0
  19. package/dist/{render-DhlT5jxZ.js → render-BjIEuFIG.js} +1 -1
  20. package/dist/render-worker-host-BB320snY.js +27 -0
  21. package/dist/render-worker-host-BjEPZBwf.js +27 -0
  22. package/dist/render-worker-host-hZ0o4OD7.js +27 -0
  23. package/dist/{resource-measurement-BA-4Q-II.js → resource-measurement-D8EiTm_E.js} +1 -1
  24. package/dist/{session-C_HGxbRD.js → session-Bhe_eY-s.js} +10 -10
  25. package/dist/{slide-pull-client-BiC4sVGi.js → slide-pull-client-BQ8gJPTq.js} +584 -583
  26. package/dist/three-d.mjs +2158 -0
  27. package/dist/types/docx.d.ts +185 -16
  28. package/dist/types/index.d.ts +196 -20
  29. package/dist/types/math.d.ts +1 -1
  30. package/dist/types/node.d.ts +157 -1
  31. package/dist/types/pptx.d.ts +187 -16
  32. package/dist/types/region-map.d.ts +520 -0
  33. package/dist/types/three-d.d.ts +520 -0
  34. package/dist/types/xlsx.d.ts +186 -16
  35. package/dist/{worksheet-pull-client-BnvgeqfG.js → worksheet-pull-client-T0EzdEEQ.js} +13 -13
  36. package/dist/{xlsx-BG_WYSc0.js → xlsx-CsDDMJIK.js} +442 -414
  37. package/dist/xlsx.mjs +5 -5
  38. package/dist/xlsx_parser_bg.wasm +0 -0
  39. package/package.json +13 -1
  40. package/dist/render-worker-host-CtJo7hc9.js +0 -27
  41. package/dist/render-worker-host-D8vv-Asx.js +0 -27
  42. package/dist/render-worker-host-DAjG9nmw.js +0 -27
  43. /package/dist/{highlight-rect-CAkCWJ37.js → highlight-rect-cCvVU-MW.js} +0 -0
  44. /package/dist/{mathjax-CMjda8Ip.js → mathjax-Dqo857oC.js} +0 -0
  45. /package/dist/{transfer-DCu4c2BL.js → transfer-3QEJrsJa.js} +0 -0
  46. /package/dist/{visible-index-CgyJLAS_.js → visible-index-CKvgpUrf.js} +0 -0
@@ -1,27 +0,0 @@
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 P(e,t){let n=ee(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 ee(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 te(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 F(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?P(o.bytes,o.fontKey??``):o.bytes,{face:s,isNew:c}=E(`embedded:${te(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 I=`https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic:wght@400;700&display=swap`,L=`https://fonts.googleapis.com/css2?family=Noto+Sans+Arabic:wght@400;700&display=swap`,R=`https://fonts.googleapis.com/css2?family=Libre+Franklin:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap`,z={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:R,loadFamily:`Libre Franklin`},\"franklin gothic medium\":{url:R,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:I,loadFamily:`Noto Naskh Arabic`},\"traditional arabic\":{url:I,loadFamily:`Noto Naskh Arabic`},\"simplified arabic\":{url:I,loadFamily:`Noto Naskh Arabic`},\"arabic typesetting\":{url:I,loadFamily:`Noto Naskh Arabic`},\"univers next arabic\":{url:L,loadFamily:`Noto Sans Arabic`},\"noto naskh arabic\":{url:I,loadFamily:`Noto Naskh Arabic`},\"noto sans arabic\":{url:L,loadFamily:`Noto Sans Arabic`}};function B(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 V(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 ne(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 re(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`,U={\"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 se=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 ce(e,t){let n=new se(t);return n.addText(e),n.names()}const le={167:`♣`,168:`♦`,169:`♥`,170:`♠`,171:`↔`,172:`←`,173:`↑`,174:`→`,175:`↓`,183:`•`,184:`÷`,185:`≠`,180:`×`,176:`°`,177:`±`,163:`≤`,179:`≥`},ue={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 de(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 fe=de(le),pe=de(ue);function me(e,t){if(!t)return e;let n=t.trim().toLowerCase(),r=n===`wingdings`?pe:n===`symbol`?fe:null;return r?r[e.charCodeAt(0)]??e:e}function he(e){if(!e)return!1;let t=e.toLowerCase();return t===`symbol`||t.includes(`wingdings`)}function ge(e,t){if(!he(t)||e.length===0)return[{text:e,mapped:!1}];let n=[],r=``,i=null;for(let a of e){let e=me(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 _e(e,t,n){return e.titleFontSizeHpt?e.titleFontSizeHpt/100*n:Math.max(10,t*.085)}const W=.62;function G(e,t,n,r,i){if(!e.title&&!e.titlePresent)return{fontPx:0,topPad:0,bottomPad:0,bandH:0};let a=_e(e,t,n),o=a+t*r+t*i,s=Math.min(Math.max(0,o-a),a*W);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 K(e){return Math.max(8,e*.02)}function xe(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+K(n)+4:0,valBandW:e.valAxisTitle?a+K(t)+4:0}}function Se(e,t,n){if(!e.title&&!e.titlePresent)return{fontPx:0,topPad:0,bottomPad:0,bandH:0};let r=_e(e,t,n),i=r*2.25,a=Math.min(Math.max(0,i-r),r*W);return{fontPx:r,topPad:a,bottomPad:i-r-a,bandH:i}}function Ce(e){return e*2.75}function we(e){return 5/6*e}function q(e){return e}const Te=1.5;function Ee(e){let t=e.outerTextMarginPx??0;return{t:e.valAxisHidden?0:e.valLabelFontPx/2+t,r:(e.secondaryBandW??0)>0?(e.secondaryBandW??0)+t:0,b:e.catAxisHidden?0:e.catLabelFontPx+(e.catLabelGapPx??we(e.catLabelFontPx))+e.catTitleBandH+t,l:e.valAxisHidden?0:e.valLabelWidth+(e.valLabelGapPx??q(e.valLabelFontPx))+e.valTitleBandW+t}}function De(e,t,n){let r=e.xMode||`factor`,i=e.yMode||`factor`,a=e.wMode||`factor`,o=e.hMode||`factor`,s=r===`edge`?t.x+e.x*t.w:n.x+e.x*t.w,c=i===`edge`?t.y+e.y*t.h:n.y+e.y*t.h,l=e.w==null?n.w:a===`edge`?t.x+e.w*t.w-s:e.w*t.w,u=e.h==null?n.h:o===`edge`?t.y+e.h*t.h-c:e.h*t.h;return![s,c,l,u].every(Number.isFinite)||l<=0||u<=0?null:{x:s,y:c,w:l,h:u}}function Oe(e,t,n,r,i,a,o){let s=o.titleBand??G(e,i,a,o.titleTopPadFrac??0,o.titleBottomPadFrac??0),c=ve(e,r,i,o.legendSideReserveFrac),l=ye(c),u=xe(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 e=o.pad;if(!e)throw Error(`computeChartFrame: cartesian frame requires params.pad`);d=t+e.l,f=n+e.t,p=r-e.l-e.r,m=i-e.t-e.b}let h=o.honorPlotAreaManualLayout?e.plotAreaManualLayout:null;if(h){let e=h.layoutTarget===`inner`?{t:0,r:0,b:0,l:0}:o.manualOuterInsets??{t:0,r:0,b:0,l:0},a=h.layoutTarget===`inner`?{x:d,y:f,w:p,h:m}:{x:d-e.l,y:f-e.t,w:p+e.l+e.r,h:m+e.t+e.b},s=De(h,{x:t,y:n,w:r,h:i},a);s&&s.w>e.l+e.r&&s.h>e.t+e.b&&(d=s.x+e.l,f=s.y+e.t,p=s.w-e.l-e.r,m=s.h-e.t-e.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 ke(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 Ae(e,t,n=0){if(e<=0)return t;let r=e+(e-n)/20;return Math.ceil(r/t)*t}function je(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 Me(e){return e==null||!isFinite(e)||e<=0?5:Math.min(15,Math.max(4,Math.round(e/42)))}function Ne(e,t,n,r,i,a){let o=ke(t-e,Me(i)),s=a!=null&&isFinite(a)&&a>0?a:o,c=n??je(e,o);return{min:c,max:r??Ae(t,o,c),step:s}}function Pe(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 Fe(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 Ie(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 Le=12700;function Re(e,t){return e?Math.max(.5,e/Le)*t:1}function ze(e,t,n){return{color:e?`#${e}`:`#aaa`,width:Re(t,n)}}function Be(e,t,n){return{color:e?`#${e}`:`#e0e0e0`,width:t?Re(t,n):.5}}function Ve(e){return e.catAxisCrossBetween!==`midCat`}const He=864e5,Ue=Date.UTC(1899,11,30),We=Date.UTC(1904,0,1);function Ge(e,t=!1){if(t)return new Date(We+e*He);let n=e<60?e+1:e;return new Date(Ue+n*He)}function Ke(e,t){if(!Number.isFinite(e))return String(e);let n=Math.max(0,Math.trunc(t)),r=e<0,[i,a=``]=qe(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 qe(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 Je(e){return Number.isInteger(e)?String(e):Ke(e,6).replace(/\\.?0+$/,``)}function Ye(e,t,n=!1){if(!t||t.trim().toLowerCase()===`general`)return Je(e);if(Ze(t))return Qe(e,t,n);let r=$e(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?`-`:``)+et(Math.abs(e),i)}function Xe(e,t,n=!1){if(!t||e.trim()===``)return e;let r=Number(e);return Number.isFinite(r)?Ye(r,t,n):e}function Ze(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 Qe(e,t,n=!1){let r=Ge(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 $e(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 et(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=tt(o,s),l=!1;return n.map(e=>e.kind===`lit`?e.text:l?``:(l=!0,c)).join(``)}function tt(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=``]=Ke(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 nt(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 rt(e,t){return[Math.max(1,Math.ceil(e)),Math.max(1,Math.ceil(t))]}function it(e,t){let[n,r]=rt(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 at(e,t,n){let[r,i]=rt(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 ot={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 st(e,t,n){let r=ot[e];if(!r)return null;let i=it(8,8);if(!i)return null;let a=i.getContext(`2d`);if(!a)return null;a.fillStyle=ct(n),a.fillRect(0,0,8,8),a.fillStyle=ct(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 ct(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 lt(e,t){return e.map(e=>e*t)}const ut={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 dt(e,t){let n=ut[e];return n?lt(n,t):[]}const ft={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 pt(e,t){let n=ft[e];return n?lt(n,t):[]}function mt(e,t){let n=pt(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(),lt(r,t)):[]}function ht(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=at(t,p,m),g=h?.getContext(`2d`);if(!h||!g)return null;let _=yt({...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=at(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 gt(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 _t(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 vt(e){return e&&_t(e)<128?`#FFFFFF`:`#000000`}function yt(e,t,n,r,i,a,o=0){if(!e||e.fillType===`none`)return null;if(e.fillType===`solid`)return gt(e.color);if(e.fillType===`pattern`)return xt(e,t);if(e.fillType===`gradient`){let s=e.stops;if(s.length===0)return null;if(s.length===1)return gt(s[0].color);let c=ht(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)),gt(e.color));return l}return null}const bt=new WeakMap;function xt(e,t){let n=`${e.preset}|${e.fg}|${e.bg}`,r=bt.get(t);r||(r=new Map,bt.set(t,r));let i=r.get(n);if(i)return i;let a=st(e.preset,e.fg,e.bg);if(!a)return gt(e.fg);let o=t.createPattern(a,`repeat`);return o?(r.set(n,o),o):gt(e.fg)}function St(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=gt(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?mt(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 Ct=[`4472C4`,`ED7D31`,`A9D18E`,`FF0000`,`70AD47`,`4BACC6`,`FFC000`,`9E480E`,`843C0C`,`636363`,`255E91`,`967300`],wt=[`5B9BD5`,`ED7D31`,`A5A5A5`,`FFC000`,`4472C4`,`70AD47`];function Tt(e,t){return t?.color?`#${t.color}`:`#${Ct[e%Ct.length]}`}function Et(e,t){let n=t.dataPointColors?.[e];return n?`#${n}`:`#${Ct[e%Ct.length]}`}function Dt(e,t){return t&&(t.startsWith(`+mj`)?e.themeMajorFontLatin??null:t.startsWith(`+mn`)?e.themeMinorFontLatin??null:t)}function Ot(e,t,n){let r=n===`major`?e.themeMajorFontLatin:e.themeMinorFontLatin,i=Dt(e,t)??r;return i?`\"${i}\", Calibri, Arial, sans-serif`:`sans-serif`}function kt(e){return e===`pie`||e===`doughnut`}function At(e){return!!e.varyColors&&e.series.length===1&&typeof e.chartType==`string`&&/Bar/.test(e.chartType)}function jt(e,t,n,r=!1){if(r||kt(e)){let e=t[0];return e?Et(n,e):`#${Ct[n%Ct.length]}`}return Tt(n,t[n])}function Mt(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=nt(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 Nt(e){return e?`#${e}`:`#555`}function Pt(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(t.valAxisTitle){let r=n+u+K(i)+p/2,a=s+l/2;Mt(e,t.valAxisTitle,r,a,`val`,p,t.valAxisTitleFontBold??!0,Nt(t.valAxisTitleFontColor),l,Ot(t,t.valAxisTitleFontFace,`major`))}if(t.catAxisTitle){let n=o+c/2,i=r+a-d-K(a)-f/2;Mt(e,t.catAxisTitle,n,i,`cat`,f,t.catAxisTitleFontBold??!0,Nt(t.catAxisTitleFontColor),c,Ot(t,t.catAxisTitleFontFace,`major`))}}function Ft(e){return e&&(e===`line`||e===`stackedLine`||e===`stackedLinePct`||e===`radar`||e===`scatter`||e===`stock`)?`line`:`fill`}function It(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 Lt(e,t,n,r){let i=n[r];if(!i)return null;let a=i.seriesType??e,o=a===`line`||a===`stackedLine`||a===`stackedLinePct`,s=a===`scatter`;if(!o&&!s||s&&(t===`lineNoMarker`||t===`smoothNoMarker`))return null;let c=i.markerSymbol??`circle`;if(c===`none`||i.showMarker===!1)return null;let l=Tt(r,i),u=i.markerFill??l.replace(/^#/,``),d=s?It(`scatter`,t,i):i.lineHidden!==!0;return{symbol:c,fill:u,line:i.markerLine??null,withLine:d}}function Rt(e,t,n,r,i,a,o,s=null,c=null,l=null,u=null,d=1,f=0){if(s&&!s.withLine){Pn(e,r+a/2,i+o/2,s.symbol,o*.58,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 c=i+o/2;e.moveTo(r,c),e.lineTo(r+a,c),e.stroke(),e.lineWidth=t,s&&Pn(e,r+a/2,i+o/2,s.symbol,o*.58,s.fill,s.line,1)}else if(c&&(e.fillStyle=c.fillType===`solid`?c.color.startsWith(`#`)?c.color:`#${c.color}`:yt(c,e,r,i,a,o,f)??n),e.fillRect(r,i,a,o),l){let t=Re(u,d);e.save(),e.strokeStyle=`#${l}`,e.lineWidth=t,e.strokeRect(r+t/2,i+t/2,Math.max(0,a-t),Math.max(0,o-t)),e.restore()}}function zt(e,t,n,r=!1,i=[],a=[]){if(r||kt(t)){let n=e[0],o=n?n.values.length:0,s=n?.categories??i;return Array.from({length:o},(n,i)=>({label:(s[i]??`Item ${i+1}`).toString(),color:jt(t,e,i,r),marker:null,swatchStyle:Ft(t),fillPaint:a[i]??null,outlineColor:null,outlineWidthEmu:null}))}return e.map((r,i)=>({label:r.name||`Series ${i+1}`,color:jt(t,e,i),marker:Lt(t,n,e,i),swatchStyle:Ft(r.seriesType??t),fillPaint:a[i]??r.fillPattern??null,outlineColor:r.lineHidden===!0?null:r.lineColor??null,outlineWidthEmu:r.lineWidthEmu??null}))}const Bt={fontFamily:`sans-serif`,color:`#333`,bold:!1,sizePx:null};function Vt(e,t,n,r,i,a,o=`vertical`,s,c=Bt,l,u=!1,d=[],f=1,p=[],m=0){let h=zt(t,s,l,u,d,p),g=c.bold?`bold `:``;if(o===`horizontal`){let t=c.sizePx??Math.max(9,Math.min(12,a*.7));e.font=`${g}${t}px ${c.fontFamily}`,e.textBaseline=`middle`;let o=h.map(e=>e.swatchStyle===`line`?t*1.6:Math.min(10,t)),s=Math.max(1,h.length),l=i-Math.max(...o,0)-4,u=h.map(t=>nt(e,t.label,l)),d=u.map((t,n)=>o[n]+4+e.measureText(t).width),p=n+(i-(d.reduce((e,t)=>e+t,0)+12*(s-1)))/2,_=r+a/2;for(let n=0;n<h.length;n++){let r=o[n];Rt(e,h[n].swatchStyle,h[n].color,p,_-t/2,r,t,h[n].marker,h[n].fillPaint,h[n].outlineColor,h[n].outlineWidthEmu,f,m),e.fillStyle=c.color,e.textAlign=`left`,e.fillText(u[n],p+r+4,_),p+=d[n]+12}return}let _=c.sizePx??Math.max(9,Math.min(12,a/(h.length+1)));e.font=`${g}${_}px ${c.fontFamily}`,e.textBaseline=`middle`;let v=_+4,y=h.map(e=>e.swatchStyle===`line`?_*1.6:Math.min(10,_)),b=i-Math.max(...y,0)-4,x=r+(a-v*h.length)/2;for(let t=0;t<h.length;t++){let r=y[t];Rt(e,h[t].swatchStyle,h[t].color,n,x,r,_,h[t].marker,h[t].fillPaint,h[t].outlineColor,h[t].outlineWidthEmu,f,m),e.fillStyle=c.color,e.textAlign=`left`,e.fillText(nt(e,h[t].label,b),n+r+4,x+_/2),x+=v}}function Ht(e){let t=Dt(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 Ut(e,t,n,r,i,a,o,s,c,l,u,d,f,p=[],m=0){if(!n)return;let h=Ht(t),g=At(t),_=n.side===`r`?{x:r+a-n.reserveW+4,y:c,w:n.reserveW-8,h:u}:n.side===`l`?{x:r+4,y:c,w:n.reserveW-8,h:u}:n.side===`t`?{x:s,y:i+d,w:l,h:n.reserveH}:{x:s,y:i+o-n.reserveH,w:l,h:n.reserveH},v=n.side===`t`||n.side===`b`?`horizontal`:`vertical`,y=t.legendManualLayout,b=y&&y.w>0&&y.h>0?De(y,{x:r,y:i,w:a,h:o},_):null;if(b){let n=b.w>=b.h?`horizontal`:`vertical`;Vt(e,t.series,b.x,b.y,b.w,b.h,n,t.chartType,h,t.scatterStyle,g,t.categories,f,p,m);return}Vt(e,t.series,_.x,_.y,_.w,_.h,v,t.chartType,h,t.scatterStyle,g,t.categories,f,p,m)}function Wt(e,t,n,r,i,a,o,s=!1,c=!1){if(c||t===`none`||!t)return;let l=o?Math.max(4,o+2):4,u=e.strokeStyle,d=e.lineWidth;if(e.strokeStyle=a??`#888`,e.lineWidth=o??1,e.beginPath(),n===`val`){let n=r,a=i,o=s?1:-1,c=t===`out`||t===`cross`?o*l:0,u=t===`in`||t===`cross`?-o*l:0;e.moveTo(n+c,a),e.lineTo(n+u,a)}else{let n=r,a=i,o=t===`out`||t===`cross`?l:0,s=t===`in`||t===`cross`?-l:0;e.moveTo(a,n+o),e.lineTo(a,n+s)}e.stroke(),e.strokeStyle=u,e.lineWidth=d}function Gt(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 Kt(e,t){let{color:n,width:r}=Be(e.valAxisGridlineColor,e.valAxisGridlineWidthEmu,t);return{color:n,width:r,explicit:e.valAxisGridlineColor!=null}}function qt(e){return e.catAxisMajorGridlines===!0}function Jt(e,t){return Be(e.catAxisGridlineColor,e.catAxisGridlineWidthEmu,t)}function Yt(e,t){if(t<=0)return[];let n=Ve(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 Xt(e){return e.valAxisOrientation===`maxMin`}function Zt(e){return e.catAxisOrientation===`maxMin`}function Qt(e){return e.valAxisMajorGridlines!==!1}function $t(e,t){return e==null||!t?e:e*100}function en(e,t,n){return Ye(n?t/100:t,n?e.valAxisFormatCode??`0%`:e.valAxisFormatCode,e.date1904)}function tn(e,t,n,r,i=!1){let a=Xt(e),o=e.valAxisLogBase,s=$t(e.valMin,i)??(i?t:e.valMin),c=$t(e.valMax,i)??(i?n:e.valMax),l=$t(e.valAxisMajorUnit,i);if(o!=null&&isFinite(o)&&o>=2){let{min:e,max:r,lines:i}=Fe(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=>Pe(t,e,r,{logBase:o,reversed:a})}}let{min:u,max:d,step:f}=Ne(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=[],_=$t(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 nn(e,t,n,r,i,a,o){let s=t.trendLines;if(!s||s.length===0)return;let c=[],l=[];for(let e=0;e<t.values.length;e++){let n=t.values[e],r=o?o[e]:e;n!=null&&r!=null&&(c.push(r),l.push(n))}if(c.length<2)return;let u=e.getLineDash?e.getLineDash():[];for(let t of s){let o=Ie(c,l,t.trendlineType,{period:t.period,intercept:t.intercept});if(o.xs.length<2)continue;let s=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;s=[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?Re(t.lineWidthEmu,a):1.5,e.setLineDash([]),e.beginPath();for(let t=0;t<s.length;t++){let n=r(s[t]),a=i(u[t]);t===0?e.moveTo(n,a):e.lineTo(n,a)}e.stroke()}e.setLineDash(u)}function rn(e,t,n){return e?e/100*n:Math.max(8,t*.045)}function an(e,t,n){let r=t.trim().split(/\\s+/).filter(Boolean);if(r.length===0)return[``];let i=[],a=``,o=t=>{let r=a?`${a} ${t}`:t;if(e.measureText(r).width<=n){a=r;return}if(a&&=(i.push(a),``),e.measureText(t).width<=n){a=t;return}let o=Array.from(t),s=0;for(;s<o.length;){let t=s+1,r=o.length,c=s+1;for(;t<=r;){let i=Math.floor((t+r)/2);e.measureText(o.slice(s,i).join(``)).width<=n?(c=i,t=i+1):r=i-1}let l=o.slice(s,c).join(``);s=c,s<o.length?i.push(l):a=l}};for(let e of r)o(e);return a&&i.push(a),i.length?i:[``]}function on(e){return e.catAxisTickLabelPos!==`none`}function sn(e){let t=e.catAxisLabelRotation;return t==null||t===0||Math.abs(t)>54e5?0:t/6e4*(Math.PI/180)}function cn(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 ln(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}=Ne(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 un(e,t,n,r,i,a,o,s,c,l,u,d,f,p){let m=i+o,{color:h,width:g}=ze(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);Wt(e,t.majorTickMark,`val`,m,o,h,g,!0,t.lineHidden),e.fillText(Ye(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 dn(e,t,n,r,i,a){if(!t.title)return;let o=Dt(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 fn(e,t,n,r,i,a,o,s){if(!t.title)return;let c=t.titleManualLayout;if(c){let l=Dt(t,t.titleFontFace),u=l?`\"${l}\", Calibri, Arial, sans-serif`:`Calibri, Arial, sans-serif`;e.font=`${t.titleFontBold??!0?`bold `:``}${s}px ${u}`;let d=e.measureText(t.title).width,f={x:n+(i-d)/2,y:o,w:d,h:s},p=De({...c,w:void 0,h:void 0},{x:n,y:r,w:i,h:a},f);if(p){dn(e,t,p.x,p.y,p.w,s);return}}dn(e,t,n,o,i,s)}function pn(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 mn(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 hn(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`&&e.seriesType!==`scatter`),f=t.series.filter(e=>e.seriesType===`line`),p=t.series.filter(e=>e.seriesType===`scatter`),m=!c&&t.secondaryValAxis&&f.some(e=>e.useSecondaryAxis===!0)?t.secondaryValAxis:null,h=pn(t),g=h.length;if(g===0)return;let _=At(t),v=Se(t,s,r),y=v.fontPx,b=v.topPad,x=v.bandH,S=rn(t.catAxisFontSizeHpt,s,r),C=rn(t.valAxisFontSizeHpt,s,r),w=ve(t,o,s,.22),{legRightW:T,legLeftW:E,legTopH:D,legBottomH:O}=ye(w),k=xe(t,o,s,r),A=k.catFontPx,j=k.valFontPx,M=k.catBandH,N=k.valBandW,P=x+D+C/2+2,ee=c?(t.valAxisHidden?s*.02:Ce(C))+M+O:Ce(S)+M+O,te=s-P-ee,F=0;if(c&&!t.catAxisHidden&&on(t)){let n=t.catAxisFontSizeHpt==null?Math.max(8,Math.min(11,te/g*.5)):S;e.save(),e.font=`${n}px ${Ot(t,t.catAxisFontFace,`minor`)}`;for(let n of h)F=Math.max(F,e.measureText(Xe(n,t.catAxisFormatCode,t.date1904)).width);e.restore(),F+=(t.catAxisFontSizeHpt==null?4:q(n))+Te*r}let I=Math.min(F,Math.max(0,o/2-N-E)),L=c?o-((t.catAxisHidden?o*.03:I)+N+E)-(T+o*.03):0,R=t.valAxisHidden?void 0:(c?L:te)/r,z=0,B=0;for(let e=0;e<g;e++){let t=0,n=0;for(let r of d){let i=r.values[e]??0;l?i>=0?t+=i:n+=i:(z=Math.max(z,i),B=Math.min(B,i))}l&&(z=Math.max(z,t),B=Math.min(B,n))}if(!u){for(let e of f)if(!(m&&e.useSecondaryAxis===!0))for(let t=0;t<g;t++){let n=e.values[t];n!=null&&(z=Math.max(z,n),B=Math.min(B,n))}}u&&(z=z>0?100:0,B=B<0?-100:0),t.valMax!=null&&(z=u?t.valMax*100:t.valMax),t.valMin!=null&&(B=u?t.valMin*100:t.valMin),z===0&&B===0&&(z=1);let V=tn(t,B,z,R,u),{min:ne,max:re,step:ie}=V,ae=ln(m,f,te/r),oe=ae?ae.min:0,H=ae?ae.max:1,U=ae?ae.step:1,se=Math.max(8,Math.min(11,s/20)),ce=t.valAxisFontSizeHpt==null?Math.max(8,Math.min(11,te/20)):C,le=e.font,ue=0,de=0;if(!c&&!t.valAxisHidden){e.font=`${ce}px ${Ot(t,t.valAxisFontFace,`minor`)}`;let n=0,r=Math.round((re-ne)/ie);for(let i=0;i<=r;i++){let r=en(t,ne+i*ie,u);n=Math.max(n,e.measureText(r).width)}ue=n,de=ue+16}let fe=m?.fontSizeHpt?m.fontSizeHpt/100*r:se,pe=0;if(m&&!m.hidden){e.font=`${fe}px sans-serif`;let n=0,r=Math.round((H-oe)/U);for(let i=0;i<=r;i++)n=Math.max(n,e.measureText(Ye(oe+i*U,m.formatCode??null,t.date1904)).width);pe=n+18}e.font=le;let me=m&&m.title?(m.titleFontSizeHpt?m.titleFontSizeHpt/100*r:Math.max(9,s*.05))+8:0,he={t:P,r:T+o*.03+pe+me,b:ee,l:c?(t.catAxisHidden?o*.03:I)+N+E:E+N+de},ge=c?{t:0,r:t.valAxisHidden?0:ce/2,b:t.valAxisHidden?0:ce+M,l:t.catAxisHidden?0:F+N}:Ee({valAxisHidden:t.valAxisHidden,catAxisHidden:t.catAxisHidden,valLabelWidth:ue,valLabelFontPx:ce,catLabelFontPx:S,valLabelGapPx:t.valAxisFontSizeHpt==null?12:q(ce),catLabelGapPx:t.catAxisFontSizeHpt==null?3:we(S),outerTextMarginPx:Te*r,valTitleBandW:N,catTitleBandH:M,secondaryBandW:pe+me});fn(e,t,i,a,o,s,a+b,y);let _e=Oe(t,i,a,o,s,r,{titleBand:v,legendSideReserveFrac:.22,pad:he,honorPlotAreaManualLayout:!0,manualOuterInsets:ge}),{px0:W,py0:G,pw:be}=_e.plotRect,{ph:K}=_e.plotRect;if(be<=0||K<=0)return;let De=sn(t),ke=[];if(!c&&!t.catAxisHidden&&on(t)&&De===0){let n=be/g,r=t.catAxisFontSizeHpt==null?Math.max(8,Math.min(11,n*.5)):S;e.save(),e.font=`${t.catAxisFontBold?`bold `:``}${r}px ${Ot(t,t.catAxisFontFace,`minor`)}`;for(let r of h)ke.push(an(e,Xe(r,t.catAxisFormatCode,t.date1904),Math.max(1,n)));e.restore();let i=Math.max(1,...ke.map(e=>e.length));!(t.plotAreaManualLayout?.layoutTarget===`inner`&&t.plotAreaManualLayout.w!=null&&t.plotAreaManualLayout.h!=null)&&i>1&&(K=Math.max(1,K-(i-1)*(r+2)))}t.plotAreaBg&&(e.fillStyle=`#${t.plotAreaBg}`,e.fillRect(W,G,be,K));let Ae=H-oe||1,je=re-ne||1,Me=e=>G+K-V.frac(e)*K,Fe=e=>W+V.frac(e)*be,Ie=Me(0),Le=Fe(0),Be=Me,He=ae?ae.makeToY(G,K):Me,Ue=Kt(t,r),We=Math.round(je/ie);e.textBaseline=`middle`;let Ge=t.valAxisFontSizeHpt==null?Math.max(8,Math.min(11,K/20)):C;e.font=`${Ge}px ${Ot(t,t.valAxisFontFace,`minor`)}`;let Ke=t.valAxisFontColor?`#${t.valAxisFontColor}`:`#555`;if(e.fillStyle=Ke,!t.valAxisHidden){for(let t of V.minorLines)if(!c)Gt(e,W,be,Me(t),!1,Ue);else{let n=Fe(t);e.strokeStyle=Ue.color,e.lineWidth=Ue.width,e.beginPath(),e.moveTo(n,G),e.lineTo(n,G+K),e.stroke()}let n=Qt(t),r=t.valAxisTickLabelPos!==`none`;for(let i of V.majorLines){let a=Math.abs(i)<ie*1e-9,o=en(t,i,u);if(c){let s=Fe(i);if(n&&(e.strokeStyle=Ue.explicit?Ue.color:a?`#aaa`:Ue.color,e.lineWidth=Ue.explicit?Ue.width:a?1:Ue.width,e.beginPath(),e.moveTo(s,G),e.lineTo(s,G+K),e.stroke()),r){e.textAlign=`center`;let n=t.valAxisFontSizeHpt==null?10:we(Ge);e.fillText(o,s,G+K+n)}}else{let s=Me(i);if(n&&Gt(e,W,be,s,a,Ue),r){e.textAlign=`right`;let n=t.valAxisFontSizeHpt==null?12:q(Ge);e.fillText(o,W-n,s)}}}}if(!t.catAxisHidden&&qt(t)){let n=Jt(t,r);e.strokeStyle=n.color,e.lineWidth=n.width;for(let n of Yt(t,g)){if(e.beginPath(),c){let t=G+n*K;e.moveTo(W,t),e.lineTo(W+be,t)}else{let t=W+n*be;e.moveTo(t,G),e.lineTo(t,G+K)}e.stroke()}}let{color:qe,width:Je}=ze(t.catAxisLineColor,t.catAxisLineWidthEmu,r),{color:Ze,width:Qe}=ze(t.valAxisLineColor,t.valAxisLineWidthEmu,r),$e=(t,n,r,i,a,o)=>{e.strokeStyle=a,e.lineWidth=o,e.beginPath(),e.moveTo(t,n),e.lineTo(r,i),e.stroke()},et=!t.catAxisHidden&&!t.catAxisLineHidden,tt=!t.valAxisHidden&&!t.valAxisLineHidden&&t.valAxisLineColor!=null,rt=()=>{if(c?(et&&$e(W,G,W,G+K,qe,Je),tt&&$e(W,G+K,W+be,G+K,Ze,Qe)):(et&&$e(W,G+K,W+be,G+K,qe,Je),tt&&$e(W,G,W,G+K,Ze,Qe)),!t.valAxisHidden&&t.valAxisMajorTickMark&&t.valAxisMajorTickMark!==`none`)for(let n=0;n<=We;n++){let r=ne+n*ie;c?Wt(e,t.valAxisMajorTickMark,`cat`,G+K,Fe(r),Ze,Qe,!1,t.valAxisLineHidden):Wt(e,t.valAxisMajorTickMark,`val`,W,Me(r),Ze,Qe,!1,t.valAxisLineHidden)}if(!t.catAxisHidden&&t.catAxisMajorTickMark&&t.catAxisMajorTickMark!==`none`){let n=Ve(t),r=n?g:g-1;for(let i=0;i<=r;i++){let r=n?i/g:g===1?.5:i/(g-1);c?Wt(e,t.catAxisMajorTickMark,`val`,W,G+r*K,qe,Je,!1,t.catAxisLineHidden):Wt(e,t.catAxisMajorTickMark,`cat`,G+K,W+r*be,qe,Je,!1,t.catAxisLineHidden)}}},it=c?K/g:be/g,at=Zt(t),ot=e=>c?at?e:g-1-e:at?g-1-e:e,st=l?1:Math.max(1,d.length),ct=l?0:t.barOverlap??0,lt=t.barGapWidth??150,ut=it/(1+(st-1)*(1-ct/100)+lt/100),dt=l?0:ut*(1-ct/100),ft=(it-(ut+(st-1)*dt))/2;for(let n=0;n<g;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,h=m<0,g=f.dataPointColors?.[n],v=g?`#${g}`:_?Et(n,f):Tt(s,f);if(c){let o=s,c=l?G+ot(n)*it+ft:G+ot(n)*it+ft+o*dt,d=l?Fe(h?a:i):Le,p=Fe(l?(h?a:i)+m:m),g=Rn(Math.min(d,p),W,W+be),_=Rn(Math.max(d,p),W,W+be),y=Math.max(0,_-g);if(e.fillStyle=f.fillPattern?yt(f.fillPattern,e,g,c,y,ut)??v:v,e.fillRect(g,c,y,ut),f.lineColor&&!f.lineHidden&&y>0&&ut>0){let t=Re(f.lineWidthEmu,r);e.strokeStyle=`#${f.lineColor}`,e.lineWidth=t,e.strokeRect(g+t/2,c+t/2,Math.max(0,y-t),Math.max(0,ut-t))}let b=f.seriesDataLabels;if((t.showDataLabels||b?.showVal===!0)&&m!==0){let n=b?.fontSizeHpt??t.dataLabelFontSizeHpt,i=n?n/100*r:Math.max(7,Math.min(11,ut*.6));e.font=`${b?.fontBold??!0?`bold `:``}${i}px ${Ot(t,t.dataLabelFontFace,`minor`)}`,mn(e,u?`${Math.round(m)}%`:Ye(m,b?.formatCode??t.dataLabelFormatCode??f.valFormatCode??null,t.date1904),g,c,y,ut,`horizontal`,b?.position??t.dataLabelPosition??(l?`ctr`:null),b?.fontColor??f.labelColor??t.dataLabelFontColor??null,h)}}else{let o=l?W+ot(n)*it+ft:W+ot(n)*it+ft+s*dt,c=l?Me(h?a:i):Ie,d=Me(l?(h?a:i)+m:m),p=Rn(Math.min(c,d),G,G+K),g=Rn(Math.max(c,d),G,G+K),_=Math.max(0,g-p);if(e.fillStyle=f.fillPattern?yt(f.fillPattern,e,o,p,ut,_)??v:v,e.fillRect(o,p,ut,_),f.lineColor&&!f.lineHidden&&ut>0&&_>0){let t=Re(f.lineWidthEmu,r);e.strokeStyle=`#${f.lineColor}`,e.lineWidth=t,e.strokeRect(o+t/2,p+t/2,Math.max(0,ut-t),Math.max(0,_-t))}let y=f.seriesDataLabels;if((t.showDataLabels||y?.showVal===!0)&&m!==0){let n=y?.fontSizeHpt??t.dataLabelFontSizeHpt,i=n?n/100*r:Math.max(7,Math.min(11,ut*.6));e.font=`${y?.fontBold??!0?`bold `:``}${i}px ${Ot(t,t.dataLabelFontFace,`minor`)}`,mn(e,u?`${Math.round(m)}%`:Ye(m,y?.formatCode??t.dataLabelFormatCode??f.valFormatCode??null,t.date1904),o,p,_,ut,`vertical`,y?.position??t.dataLabelPosition??(l?`ctr`:null),y?.fontColor??f.labelColor??t.dataLabelFontColor??null,h)}}l&&(h?a+=m:i+=m)}}if(!t.catAxisHidden&&on(t)){e.fillStyle=t.catAxisFontColor?`#${t.catAxisFontColor}`:`#555`;let n=t.catAxisFontSizeHpt==null?Math.max(8,Math.min(11,it*.5)):S;e.font=`${n}px ${Ot(t,t.catAxisFontFace,`minor`)}`;let r=it-4,a=W-4-(i+E+N),o=De;for(let i=0;i<g;i++){let s=Xe((h[i]??``).toString(),t.catAxisFormatCode,t.date1904);if(c){let r=G+ot(i)*it+it/2;e.textAlign=`right`,e.textBaseline=`middle`;let o=t.catAxisFontSizeHpt==null?4:q(n);e.fillText(nt(e,s,a),W-o,r)}else{let a=W+ot(i)*it+it/2;e.textAlign=`center`,e.textBaseline=`top`;let c=o===0?r:K*.4,l=t.catAxisFontSizeHpt==null?3:we(n);o===0?(ke[i]??[s]).forEach((t,r)=>{e.fillText(t,a,G+K+l+r*(n+2))}):cn(e,nt(e,s,c),a,G+K+l,o)}}}if(f.length>0&&!c)for(let t=0;t<f.length;t++){let n=f[t],i=Tt(d.length+t,n),a=m&&n.useSecondaryAxis===!0?He:Be;e.strokeStyle=i,e.lineWidth=2,e.setLineDash([]),e.beginPath();let o=!1;for(let t=0;t<g;t++){let r=n.values[t];if(r==null){o=!1;continue}let i=W+ot(t)*it+it/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<g;t++){let r=n.values[t];if(r==null)continue;let o=W+ot(t)*it+it/2,s=a(r);e.fillStyle=i,e.beginPath(),e.arc(o,s,3,0,Math.PI*2),e.fill()}nn(e,n,i,e=>W+ot(e)*it+it/2,a,r)}if(p.length>0){let n=[],i=[];for(let e of p){let t=e.categories??[];for(let r=0;r<e.values.length;r++){let a=Dn(t,r,!1),o=e.values[r];a==null||o==null||(n.push(a),i.push(o))}}if(n.length&&i.length){let a=t.secondaryCatAxis,o=t.secondaryValAxis,s=Ne(Math.min(...n),Math.max(...n),a?.min,a?.max,be/r,a?.majorUnit),c=Ne(Math.min(...i),Math.max(...i),o?.min,o?.max,K/r,o?.majorUnit);Mn(e,t,p.map(e=>({series:e,index:t.series.indexOf(e)})),!1,e=>W+Pe(e,s.min,s.max)*be,e=>G+K-Pe(e,c.min,c.max)*K,be,K,r,!1,t.scatterStyle??`marker`)}}if(rt(),m){let n=W+be,{color:i,width:a}=ze(m.lineColor,m.lineWidthEmu,r);if(m.lineHidden||$e(n,G,n,G+K,i,a),!m.hidden){e.font=`${fe}px sans-serif`,e.fillStyle=m.fontColor?`#${m.fontColor}`:Ke,e.textAlign=`left`,e.textBaseline=`middle`;let r=Math.max(1,Math.round(Ae/U));for(let o=0;o<=r;o++){let r=oe+o*U,s=He(r);Wt(e,m.majorTickMark,`val`,n,s,i,a,!0,m.lineHidden),e.fillText(Ye(r,m.formatCode??null,t.date1904),n+14,s)}}if(m.title){let t=m.titleFontSizeHpt?m.titleFontSizeHpt/100*r:Math.max(9,s*.05);e.save(),e.fillStyle=m.titleFontColor?`#${m.titleFontColor}`:m.fontColor?`#${m.fontColor}`:`#555`,e.font=`${m.titleFontBold?`bold `:``}${t}px sans-serif`,e.textAlign=`center`,e.textBaseline=`middle`,e.translate(W+be+pe+t*.6,G+K/2),e.rotate(Math.PI/2),e.fillText(m.title,0,0),e.restore()}}Ut(e,t,w,i,a,o,s,W,G,be,K,x+2,r),Pt(e,t,i,a,o,s,W,G,be,K,E,O,A,j)}function gn(e,t,n,r){let{x:i,y:a,w:o,h:s}=n,c=pn(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,_=1/0,v=-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);_=Math.min(_,r),v=Math.max(v,r)}isFinite(_)||(_=0,v=1);let y=t.valAxisLogBase!=null&&t.valAxisLogBase>=2;t.valMin==null?_>0&&!y&&(_=0):_=d?t.valMin*100:t.valMin,t.valMax==null?v<0&&(v=0):v=d?t.valMax*100:t.valMax,v===_&&(v=_+1);let b=Se(t,s,r),x=b.fontPx,S=b.topPad,C=b.bandH,w=ve(t,o,s,.22),{legRightW:T,legLeftW:E,legTopH:D,legBottomH:O}=ye(w),k=rn(t.catAxisFontSizeHpt,s,r),A=rn(t.valAxisFontSizeHpt,s,r),j=xe(t,o,s,r),M=j.catFontPx,N=j.valFontPx,P=j.catBandH,ee=j.valBandW,te=C+D+A/2+2,F=Ce(k)+P+O,I=s-te-F,L=ln(h,t.series,I/r),R=Math.max(8,Math.min(11,s/20)),z=h?.fontSizeHpt?h.fontSizeHpt/100*r:R,B=0;if(h&&L&&!h.hidden){let n=e.font;e.font=`${z}px sans-serif`;let r=0,i=Math.round((L.max-L.min)/L.step);for(let n=0;n<=i;n++)r=Math.max(r,e.measureText(Ye(L.min+n*L.step,h.formatCode??null,t.date1904)).width);B=r+18,e.font=n}let V=h&&h.title?(h.titleFontSizeHpt?h.titleFontSizeHpt/100*r:Math.max(9,s*.05))+8:0,ne=tn(t,_,v,I/r,d),re=0;if(!t.valAxisHidden&&t.valAxisTickLabelPos!==`none`&&t.plotAreaManualLayout!=null&&t.plotAreaManualLayout.layoutTarget!==`inner`){let n=e.font;e.font=`${A}px ${Ot(t,t.valAxisFontFace,`minor`)}`;for(let n of ne.majorLines)re=Math.max(re,e.measureText(en(t,n,d)).width);e.font=n}let ie={t:te,r:T+o*.05+B+V,b:F,l:A*2.2+10+ee+E},ae=Ee({valAxisHidden:t.valAxisHidden,catAxisHidden:t.catAxisHidden,valLabelWidth:re,valLabelFontPx:A,catLabelFontPx:k,valLabelGapPx:t.valAxisFontSizeHpt==null?6:q(A),catLabelGapPx:t.catAxisFontSizeHpt==null?5:we(k),outerTextMarginPx:Te*r,valTitleBandW:ee,catTitleBandH:P,secondaryBandW:B+V});fn(e,t,i,a,o,s,a+S,x);let{plotRect:{px0:oe,py0:H,pw:U,ph:se}}=Oe(t,i,a,o,s,r,{titleBand:b,legendSideReserveFrac:.22,pad:ie,honorPlotAreaManualLayout:!0,manualOuterInsets:ae});if(U<=0||se<=0)return;t.plotAreaBg&&(e.fillStyle=`#${t.plotAreaBg}`,e.fillRect(oe,H,U,se));let ce=tn(t,_,v,se/r,d);if(ce.max-ce.min===0)return;let le=e=>H+se-ce.frac(e)*se,ue=L?L.makeToY(H,se):le,de=e=>g(e)?ue:le,fe=ze(t.catAxisLineColor,t.catAxisLineWidthEmu,r),pe=ze(t.valAxisLineColor,t.valAxisLineWidthEmu,r),me=t.catAxisLineColor==null?void 0:fe.color,he=t.catAxisLineWidthEmu==null?void 0:fe.width,ge=t.valAxisLineColor==null?void 0:pe.color,_e=t.valAxisLineWidthEmu==null?void 0:pe.width,W=Ve(t),G=Zt(t),be=W?e=>oe+((G?l-1-e:e)+.5)/l*U:e=>{let t=G?l-1-e:e;return oe+(l===1?U/2:t/(l-1)*U)};if(!t.valAxisHidden){e.font=`${A}px ${Ot(t,t.valAxisFontFace,`minor`)}`,e.textBaseline=`middle`;let n=Kt(t,r);for(let t of ce.minorLines)Gt(e,oe,U,le(t),!1,n);let i=Qt(t),a=t.valAxisTickLabelPos!==`none`;for(let r of ce.majorLines){let o=le(r);if(i&&Gt(e,oe,U,o,r===0,n),Wt(e,t.valAxisMajorTickMark,`val`,oe,o,ge,_e,!1,t.valAxisLineHidden),a){e.fillStyle=t.valAxisFontColor?`#${t.valAxisFontColor}`:`#555`,e.textAlign=`right`;let n=t.valAxisFontSizeHpt==null?6:q(A);e.fillText(en(t,r,d),oe-n,o)}}}if(!t.catAxisHidden&&qt(t)){let n=Jt(t,r);e.strokeStyle=n.color,e.lineWidth=n.width;for(let n of Yt(t,l)){let t=oe+n*U;e.beginPath(),e.moveTo(t,H),e.lineTo(t,H+se),e.stroke()}}!t.catAxisHidden&&!t.catAxisLineHidden&&(e.strokeStyle=fe.color,e.lineWidth=fe.width,e.beginPath(),e.moveTo(oe,H+se),e.lineTo(oe+U,H+se),e.stroke()),!t.valAxisHidden&&!t.valAxisLineHidden&&(e.strokeStyle=pe.color,e.lineWidth=pe.width,e.beginPath(),e.moveTo(oe,H),e.lineTo(oe,H+se),e.stroke());let K=Math.max(1,2.25*r),De=Math.max(2,2.5*r),ke=rn(t.dataLabelFontSizeHpt,s,r);for(let n=0;n<t.series.length;n++){let i=t.series[n],a=Tt(n,i),o=de(i);e.strokeStyle=a,e.lineWidth=K,e.setLineDash([]),e.beginPath();let s=i.smooth===!0,d=[],f=()=>{d.length!==0&&(e.moveTo(d[0].x,d[0].y),zn(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:be(e),y:o(m(n,e))})}f(),e.stroke();let h=e=>m(n,e);for(let t of i.errBars??[])Hn(e,i,t,l,be,o,h,a);e.fillStyle=a;let g=i.showMarker!==!1,_=Vn(i),v=Un(e,i,c,l,be,o,h,se,r,t.date1904??!1,u||p===`zero`,Ot(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;Pn(e,be(s),o(c),n,l,u,d,r)}}else e.beginPath(),e.arc(be(s),o(c),De,0,Math.PI*2),e.fill();t.showDataLabels&&!v&&(Ln(e,be(s),o(c),Je(c),t.dataLabelPosition??`r`,ke,void 0,!1,Ot(t,t.dataLabelFontFace,`minor`),g?De+1:2),e.fillStyle=a)}nn(e,i,a,be,o,r)}if(!t.catAxisHidden){let n=t.catAxisFontColor?`#${t.catAxisFontColor}`:`#555`;e.fillStyle=n,e.textAlign=`center`,e.textBaseline=`top`,e.font=`${k}px ${Ot(t,t.catAxisFontFace,`minor`)}`;let r=Math.max(1,Math.floor(t.catAxisTickMarkSkip??1));for(let n=0;n<l;n+=r)Wt(e,t.catAxisMajorTickMark,`cat`,H+se,be(n),me,he,!1,t.catAxisLineHidden);let i=on(t),a=Math.max(1,Math.floor(t.catAxisTickLabelSkip??1)),o=sn(t);for(let r=0;r<l;r+=a){let a=be(r);if(!i)continue;e.fillStyle=n;let s=Xe((c[r]??``).toString(),t.catAxisFormatCode,t.date1904);if(!s)continue;let l=t.catAxisFontSizeHpt==null?5:we(k);cn(e,s,a,H+se+l,o)}}if(h&&L){let n=t.valAxisFontColor?`#${t.valAxisFontColor}`:`#555`;un(e,h,L,ue,oe,H,U,se,s,r,z,B,n,t.date1904)}Ut(e,t,w,i,a,o,s,oe,H,U,se,C+2,r),Pt(e,t,i,a,o,s,oe,H,U,se,E,O,M,N)}function _n(e,t,n,r){let{x:i,y:a,w:o,h:s}=n,c=pn(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=Se(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=rn(t.catAxisFontSizeHpt,s,r),A=rn(t.valAxisFontSizeHpt,s,r),j=xe(t,o,s,r),M=j.catFontPx,N=j.valFontPx,P=j.catBandH,ee=j.valBandW,te=C+O+A/2+2,F=Ce(k)+P+D,I={t:te,r:T+o*.05,b:F,l:A*2.2+10+ee+E};fn(e,t,i,a,o,s,a+S,x);let{plotRect:{px0:L,py0:R,pw:z,ph:B}}=Oe(t,i,a,o,s,r,{titleBand:b,legendSideReserveFrac:.22,pad:I,honorPlotAreaManualLayout:!0});if(z<=0||B<=0)return;t.plotAreaBg&&(e.fillStyle=`#${t.plotAreaBg}`,e.fillRect(L,R,z,B));let V=1/0,ne=-1/0;for(let e of u)for(let t=0;t<l;t++){let n=e.values[t];n!=null&&(V=Math.min(V,n),ne=Math.max(ne,n))}isFinite(V)||(V=0,ne=1),t.valMin==null?V>0&&(V=0):V=t.valMin,t.valMax==null?ne<0&&(ne=0):ne=t.valMax,ne===V&&(ne=V+1);let re=tn(t,V,ne,B/r);if(re.max-re.min===0)return;let ie=e=>R+B-re.frac(e)*B,ae=Ve(t),oe=Zt(t),H=ae?e=>L+((oe?l-1-e:e)+.5)/l*z:e=>{let t=oe?l-1-e:e;return L+(l===1?z/2:t/(l-1)*z)};if(!t.valAxisHidden){e.font=`${A}px ${Ot(t,t.valAxisFontFace,`minor`)}`,e.textBaseline=`middle`;let n=Kt(t,r);for(let t of re.minorLines)Gt(e,L,z,ie(t),!1,n);let i=Qt(t),a=t.valAxisTickLabelPos!==`none`;for(let r of re.majorLines){let o=ie(r);i&&Gt(e,L,z,o,r===0,n),Wt(e,t.valAxisMajorTickMark,`val`,L,o,void 0,void 0,!1,t.valAxisLineHidden),a&&(e.fillStyle=t.valAxisFontColor?`#${t.valAxisFontColor}`:`#555`,e.textAlign=`right`,e.fillText(Ye(r,t.valAxisFormatCode,t.date1904),L-6,o))}}if(e.strokeStyle=`#aaa`,e.lineWidth=1,!t.catAxisHidden&&!t.catAxisLineHidden&&(e.beginPath(),e.moveTo(L,R+B),e.lineTo(L+z,R+B),e.stroke()),!t.valAxisHidden&&!t.valAxisLineHidden&&(e.beginPath(),e.moveTo(L,R),e.lineTo(L,R+B),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 U=(t,n,i)=>{if(!t)return;let a=Tt(n,t),o=t.markerSymbol??null,s=o!=null&&o!==`none`&&Vn(t),c=Math.max(3,z/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){Pn(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(U(y,f,`left`),U(v,h,`right`),u.length<3)for(let e=0;e<u.length;e++)U(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 ${Ot(t,t.catAxisFontFace,`minor`)}`;let i=z/l*n-4,a=on(t),o=sn(t);for(let s=0;s<l;s+=n){let n=H(s);Wt(e,t.catAxisMajorTickMark,`cat`,R+B,n,void 0,void 0,!1,t.catAxisLineHidden),a&&(e.fillStyle=r,cn(e,nt(e,Xe((c[s]??``).toString(),t.catAxisFormatCode,t.date1904),o===0?i:B*.4),n,R+B+5,o))}}Ut(e,t,w,i,a,o,s,L,R,z,B,C+2,r),Pt(e,t,i,a,o,s,L,R,z,B,E,D,M,N)}function vn(e,t,n,r){let{x:i,y:a,w:o,h:s}=n,c=pn(t),l=c.length;if(l===0)return;let u=t.series.map((e,t)=>({series:e,chartIndex:t})).filter(({series:e})=>e.seriesType==null||e.seriesType===`area`),d=t.series.map((e,t)=>({series:e,chartIndex:t})).filter(({series:e})=>e.seriesType===`line`);if(u.length===0&&d.length===0)return;let f=t.chartType===`stackedArea`||t.chartType===`stackedAreaPct`,p=t.chartType===`stackedAreaPct`,m=p?c.map((e,t)=>{let n=0;for(let{series:e}of u)n+=Math.abs(e.values[t]??0);return n||1}):null,h=(e,t)=>{let n=u[e].series.values[t]??0;return p&&m?n/m[t]*100:n},g=!f&&t.secondaryValAxis&&t.series.some(e=>e.useSecondaryAxis===!0)?t.secondaryValAxis:null,_=e=>g!=null&&e.useSecondaryAxis===!0,v=Se(t,s,r),y=v.fontPx,b=v.topPad,x=v.bandH,S=rn(t.catAxisFontSizeHpt,s,r),C=rn(t.valAxisFontSizeHpt,s,r),w=ve(t,o,s,.22),{legRightW:T,legLeftW:E,legTopH:D,legBottomH:O}=ye(w),k=xe(t,o,s,r),A=k.catFontPx,j=k.valFontPx,M=k.catBandH,N=k.valBandW,P=x+D+C/2+2,ee=Ce(S)+M+O,te=s-P-ee,F=ln(g,t.series,te/r),I=Math.max(8,Math.min(11,s/20)),L=g?.fontSizeHpt?g.fontSizeHpt/100*r:I,R=0;if(g&&F&&!g.hidden){let n=e.font;e.font=`${L}px sans-serif`;let r=0,i=Math.round((F.max-F.min)/F.step);for(let n=0;n<=i;n++)r=Math.max(r,e.measureText(Ye(F.min+n*F.step,g.formatCode??null,t.date1904)).width);R=r+18,e.font=n}let z=g&&g.title?(g.titleFontSizeHpt?g.titleFontSizeHpt/100*r:Math.max(9,s*.05))+8:0,B=(()=>{let e=0;for(let n=0;n<l;n++){if(f){let t=0;for(let e=0;e<u.length;e++)t+=h(e,n);e=Math.max(e,t)}else for(let r of t.series)_(r)||(e=Math.max(e,r.values[n]??0));for(let{series:t}of d)_(t)||(e=Math.max(e,t.values[n]??0))}return p&&(e=e>0?100:0),t.valMax!=null&&(e=p?t.valMax*100:t.valMax),e===0?1:e})(),V=p?B:t.valMax,ne=$t(t.valAxisMajorUnit,p),re=Ne(0,B,void 0,V,te/r,ne),ie=t.valAxisFontSizeHpt==null?Math.max(8,Math.min(11,te/20)):C,ae=0;if(!t.valAxisHidden&&t.plotAreaManualLayout!=null&&t.plotAreaManualLayout.layoutTarget!==`inner`){let n=e.font;e.font=`${ie}px ${Ot(t,t.valAxisFontFace,`minor`)}`;let r=Math.round(re.max/re.step);for(let n=0;n<=r;n++)ae=Math.max(ae,e.measureText(en(t,n*re.step,p)).width);e.font=n}let oe=Ee({valAxisHidden:t.valAxisHidden,catAxisHidden:t.catAxisHidden,valLabelWidth:ae,valLabelFontPx:ie,catLabelFontPx:S,valLabelGapPx:t.valAxisFontSizeHpt==null?6:q(ie),catLabelGapPx:t.catAxisFontSizeHpt==null?3:we(S),outerTextMarginPx:Te*r,valTitleBandW:N,catTitleBandH:M,secondaryBandW:R+z}),H={t:P,r:T+o*.05+R+z,b:ee,l:o*.12+N+E};fn(e,t,i,a,o,s,a+b,y);let{plotRect:{px0:U,py0:se,pw:ce,ph:le}}=Oe(t,i,a,o,s,r,{titleBand:v,legendSideReserveFrac:.22,pad:H,honorPlotAreaManualLayout:!0,manualOuterInsets:oe});if(ce<=0||le<=0)return;t.plotAreaBg&&(e.fillStyle=`#${t.plotAreaBg}`,e.fillRect(U,se,ce,le));let{max:ue,step:de}=Ne(0,B,void 0,V,le/r,ne),fe=Ve(t),pe=fe?e=>U+(e+.5)/l*ce:e=>U+(l===1?ce/2:e/(l-1)*ce),me=e=>se+le-e/ue*le,he=F?F.makeToY(se,le):me,ge=e=>_(e)?he:me,{color:_e,width:W}=ze(t.catAxisLineColor,t.catAxisLineWidthEmu,r),{color:G,width:be}=ze(t.valAxisLineColor,t.valAxisLineWidthEmu,r);if(!t.valAxisHidden){let n=Kt(t,r),i=$t(t.valAxisMinorUnit,p);if(t.valAxisMinorGridlines&&i!=null&&isFinite(i)&&i>0&&i<de)for(let t=i;t<ue-1e-9;t+=i)Math.abs(t/de-Math.round(t/de))>1e-6&&Gt(e,U,ce,me(t),!1,n);if(Qt(t)){let t=Math.round(ue/de);for(let r=0;r<=t;r++)Gt(e,U,ce,me(r*de),r===0,n)}}if(!t.catAxisHidden&&qt(t)){let n=Jt(t,r);e.strokeStyle=n.color,e.lineWidth=n.width;for(let n of Yt(t,l)){let t=U+n*ce;e.beginPath(),e.moveTo(t,se),e.lineTo(t,se+le),e.stroke()}}let K=f?Array(l).fill(0):null,De=f?u.map((e,t)=>t):u.map((e,t)=>u.length-1-t);for(let t of De){let{series:n,chartIndex:i}=u[t],a=Tt(i,n),o=se+le,s=ge(n),c=n.smooth===!0;if(e.beginPath(),f&&K){let n=[];for(let e=0;e<l;e++)n.push({x:pe(e),y:me(h(t,e)+K[e])});e.moveTo(n[0].x,n[0].y),zn(e,n,c);for(let t=l-1;t>=0;t--)e.lineTo(pe(t),me(K[t]));for(let e=0;e<l;e++)K[e]+=h(t,e)}else{let t=[];for(let e=0;e<l;e++)t.push({x:pe(e),y:s(n.values[e]??0)});e.moveTo(pe(0),o),e.lineTo(t[0].x,t[0].y),zn(e,t,c),e.lineTo(pe(l-1),o)}e.closePath(),e.fillStyle=a,e.fill(),n.lineHidden!==!0&&(e.strokeStyle=n.lineColor?`#${n.lineColor}`:a,e.lineWidth=n.lineWidthEmu?Re(n.lineWidthEmu,r):1.5,e.setLineDash([]),e.stroke())}{let n=Math.max(2,2.5*r),i=(e,t)=>{if(f){let n=0;for(let r=0;r<=e;r++)n+=h(r,t);return n}return u[e].series.values[t]??0};for(let a=0;a<u.length;a++){let{series:o,chartIndex:s}=u[a],d=Tt(s,o),f=ge(o),p=e=>i(a,e);for(let t of o.errBars??[])Hn(e,o,t,l,pe,f,p,d);if(o.showMarker===!0||Vn(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 s=pe(t),c=f(p(t));Vn(o)?Pn(e,s,c,a,i?.markerSize??o.markerSize??5,i?.markerFill??i?.color??o.markerFill??d,i?.markerLine??o.markerLine??null,r):(e.fillStyle=d,e.beginPath(),e.arc(s,c,n,0,Math.PI*2),e.fill())}Un(e,o,c,l,pe,f,p,le,r,t.date1904??!1,!0,Ot(t,t.dataLabelFontFace,`minor`),t.dataLabelPosition??`ctr`)}}for(let{series:n,chartIndex:i}of d){let a=Tt(i,n),o=n.lineColor?`#${n.lineColor}`:a,s=ge(n);if(n.lineHidden!==!0){e.strokeStyle=o,e.lineWidth=n.lineWidthEmu?Re(n.lineWidthEmu,r):Math.max(1,2.25*r),e.setLineDash([]),e.beginPath();let i=[],a=()=>{i.length!==0&&(e.moveTo(i[0].x,i[0].y),zn(e,i,n.smooth===!0),i=[])};for(let e=0;e<l;e++){let r=n.values[e];r==null&&((t.dispBlanksAs??`gap`)===`gap`&&a(),(t.dispBlanksAs??`gap`)!==`zero`)||i.push({x:pe(e),y:s(r??0)})}a(),e.stroke()}let u=e=>n.values[e]??0;for(let t of n.errBars??[])Hn(e,n,t,l,pe,s,u,o);if(n.showMarker===!0||Vn(n))for(let t=0;t<l;t++){let i=n.values[t];if(i==null)continue;let a=(n.dataPointOverrides??[]).find(e=>e.idx===t),c=a?.markerSymbol??n.markerSymbol??`circle`;c!==`none`&&Pn(e,pe(t),s(i),c,a?.markerSize??n.markerSize??5,a?.markerFill??a?.color??n.markerFill??o,a?.markerLine??n.markerLine??null,r)}Un(e,n,c,l,pe,s,u,le,r,t.date1904??!1,!1,Ot(t,t.dataLabelFontFace,`minor`),t.dataLabelPosition??`r`),nn(e,n,o,pe,s,r)}if(!t.valAxisHidden){let n=t.valAxisFontSizeHpt==null?Math.max(8,Math.min(11,le/20)):C;e.font=`${n}px ${Ot(t,t.valAxisFontFace,`minor`)}`,e.textBaseline=`middle`;let r=Math.round(ue/de);for(let i=0;i<=r;i++){let r=i*de,a=me(r);Wt(e,t.valAxisMajorTickMark,`val`,U,a,G,be,!1,t.valAxisLineHidden),e.fillStyle=t.valAxisFontColor?`#${t.valAxisFontColor}`:`#555`,e.textAlign=`right`;let o=t.valAxisFontSizeHpt==null?6:q(n);e.fillText(en(t,r,p),U-o,a)}}if(!t.catAxisHidden&&!t.catAxisLineHidden&&(e.strokeStyle=_e,e.lineWidth=W,e.beginPath(),e.moveTo(U,se+le),e.lineTo(U+ce,se+le),e.stroke()),!t.valAxisHidden&&!t.valAxisLineHidden&&t.valAxisLineColor!=null&&(e.strokeStyle=G,e.lineWidth=be,e.beginPath(),e.moveTo(U,se),e.lineTo(U,se+le),e.stroke()),!t.catAxisHidden&&t.catAxisMajorTickMark&&t.catAxisMajorTickMark!==`none`){let n=Math.max(1,Math.floor(t.catAxisTickMarkSkip??1));if(fe)for(let r=0;r<=l;r+=n)Wt(e,t.catAxisMajorTickMark,`cat`,se+le,U+r/l*ce,_e,W,!1,t.catAxisLineHidden);else for(let r=0;r<l;r+=n)Wt(e,t.catAxisMajorTickMark,`cat`,se+le,pe(r),_e,W,!1,t.catAxisLineHidden)}if(!t.catAxisHidden){let n=t.catAxisFontSizeHpt==null?Math.max(8,Math.min(11,ce/l*.8)):S;e.fillStyle=t.catAxisFontColor?`#${t.catAxisFontColor}`:`#555`,e.textAlign=`center`,e.textBaseline=`top`,e.font=`${n}px ${Ot(t,t.catAxisFontFace,`minor`)}`;let r=c.map(e=>Xe((e??``).toString(),t.catAxisFormatCode,t.date1904)),i=Math.max(1,Math.floor(t.catAxisTickLabelSkip??1));for(let a=0;a<l;a+=i){let i=r[a]??``;if(!i)continue;let o=t.catAxisFontSizeHpt==null?3:we(n);e.fillText(i,pe(a),se+le+o)}}if(g&&F){let n=t.valAxisFontColor?`#${t.valAxisFontColor}`:`#555`;un(e,g,F,he,U,se,ce,le,s,r,L,R,n,t.date1904)}Ut(e,t,w,i,a,o,s,U,se,ce,le,x+2,r),Pt(e,t,i,a,o,s,U,se,ce,le,E,O,A,j)}function yn(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=Oe(t,a,o,s,c,i,{titleTopPadFrac:.035,titleBottomPadFrac:.035,legendSideReserveFrac:.28,radialGapFrac:.02,honorPlotAreaManualLayout:!0}),m=p.title.fontPx,h=p.title.bandH;fn(e,t,a,o,s,c,o+p.title.topPad,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=Ot(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=Et(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&&bn(e,t,A,l,u,d,f,x,S,C,D,w,N,i,_,v,y,b,a,o,s,c),g){let n=[{...l,categories:u}];Ut(e,{...t,series:n},g,a,o,s,c,_,v,y,b,h+2,i)}}function bn(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x){if(n.labelBox){Tn(e,t,n,r,i,a,o,s,c,l,d,f,p,m,g,h,_);return}let S=r.dataLabelOverrides??[],C=[],w=d;for(let d=0;d<a.length;d++){let m=a[d]/o*Math.PI*2,h=w+m/2;w+=m;let g=S.find(e=>e.idx===d);if(g?.deleted)continue;let _=g?.showCatName??n.showCatName,v=g?.showSerName??n.showSerName,y=g?.showVal??n.showVal,b=g?.showPercent??n.showPercent,x;if(g&&g.text)x=g.text;else{let e=[];_&&e.push((i[d]??``).toString()),v&&e.push(r.name),y&&e.push(Ye(a[d],n.formatCode??r.valFormatCode??null,t.date1904??!1)),b&&e.push(`${Math.round(a[d]/o*100)}%`),x=e.filter(Boolean).join(n.separator??` `)}if(!x)continue;let T=(g?.position??n.position??`bestFit`)===`outEnd`,E=g?.fontSizeHpt??n.fontSizeHpt,D=E?E/100:Math.max(8,l*.1),O=g?.fontBold??n.fontBold,k=g?.fontColor??n.fontColor,A=x.split(/\\r?\\n/);if(T){e.font=`${O?`bold `:``}${D}px ${f}`;let t=A.reduce((t,n)=>Math.max(t,e.measureText(n).width),0),n=D*1.15,r=D+Math.max(0,A.length-1)*n;C.push(Cn(A,h,s,c,l,t,r,n,D,O??!1,k?`#${k}`:`#333`,p));continue}let j=u>.01?(u+l)/2:l*.88,M=s+Math.cos(h)*j,N=c+Math.sin(h)*j;e.font=`${O?`bold `:``}${D}px ${f}`,e.fillStyle=k?`#${k}`:`#fff`,e.textAlign=`center`,e.textBaseline=`middle`;let P=D*1.15,ee=N-(A.length-1)*P/2;A.forEach((t,n)=>e.fillText(t,M,ee+n*P))}wn(e,n,C,s,c,l,f,p,v,y,b,x)}function xn(e,t,n,r,i,a){let o=Math.max(Math.abs(n-e)-i,0),s=Math.max(Math.abs(r-t)-a,0);return Math.hypot(o,s)}function Sn(e,t,n,r,i){let a=Math.cos(e),o=Math.sin(e),s=t+i,c=0,l=s+Math.hypot(n,r);for(let e=0;e<32;e++){let e=(c+l)/2;xn(0,0,a*e,o*e,n,r)>=s?l=e:c=e}return l}function Cn(e,t,n,r,i,a,o,s,c,l,u,d){let f=d,p=Sn(t,i,a/2,o/2,f),m=n+Math.cos(t)*p,h=r+Math.sin(t)*p;return{lines:e,rimX:n+Math.cos(t)*i,rimY:r+Math.sin(t)*i,boxW:a,boxH:o,lineHeight:s,fontPx:c,bold:l,fontColor:u,cxBox:m,cyBox:h,initialCx:m,initialCy:h,leftSide:Math.cos(t)<0}}function wn(e,t,n,r,i,a,o,s,c,l,u,d){if(n.length===0)return;let f=l,p=l+d,m=e=>{e.sort((e,t)=>e.cyBox-t.cyBox);for(let t=1;t<e.length;t++){let n=e[t-1],r=e[t],i=n.cyBox+(n.boxH+r.boxH)/2;r.cyBox<i&&(r.cyBox=i)}if(e.length===0)return;let t=e[e.length-1].cyBox+e[e.length-1].boxH/2-p;if(t>0)for(let n of e)n.cyBox-=t;let n=f-(e[0].cyBox-e[0].boxH/2);if(n>0)for(let t of e)t.cyBox+=n};m(n.filter(e=>!e.leftSide)),m(n.filter(e=>e.leftSide));let h=a+s;for(let e of n){let t=e.boxW/2,n=e.boxH/2,a=Math.max(Math.abs(e.cyBox-i)-n,0);if(a<h){let n=Math.sqrt(Math.max(0,h*h-a*a));e.cxBox=e.leftSide?Math.min(e.cxBox,r-n-t):Math.max(e.cxBox,r+n+t)}let o=Rn(e.cxBox,c+t,c+u-t);xn(r,i,o,e.cyBox,t,n)>=h&&(e.cxBox=o)}let g=t.leaderLineColor?`#${t.leaderLineColor}`:`#a6a6a6`,_=t.leaderLineWidthEmu?Math.max(.5,t.leaderLineWidthEmu/Le*s):1;for(let r of n){let n=Math.abs(r.cxBox-r.initialCx)>.5||Math.abs(r.cyBox-r.initialCy)>.5;if(!t.showLeaderLines||!n)continue;let i=Rn(r.rimX,r.cxBox-r.boxW/2,r.cxBox+r.boxW/2),a=Rn(r.rimY,r.cyBox-r.boxH/2,r.cyBox+r.boxH/2);e.beginPath(),e.moveTo(r.rimX,r.rimY),e.lineTo(i,a),e.strokeStyle=g,e.lineWidth=_,e.stroke()}for(let t of n){e.font=`${t.bold?`bold `:``}${t.fontPx}px ${o}`,e.fillStyle=t.fontColor,e.textAlign=`center`,e.textBaseline=`middle`;let n=t.cyBox-(t.lines.length-1)*t.lineHeight/2;for(let r=0;r<t.lines.length;r++)e.fillText(t.lines[r],t.cxBox,n+r*t.lineHeight)}}function Tn(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(Ye(a[u],n.formatCode??r.valFormatCode??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,P=M?.borderColor?`#${M.borderColor}`:null,ee=M?.borderWidthEmu?Math.max(.75,M.borderWidthEmu/Le*f):1;e.font=`${A?`bold `:``}${k}px ${d}`;let te=0;for(let t of O)te=Math.max(te,e.measureText(t).width);let F=k+S,I=te+b*2,L=O.length*F-S+x*2,R=s+Math.cos(m)*l,z=c+Math.sin(m)*l,B=Math.cos(m)<0,V=Math.max(I,L)*.55+l*.06,ne=R+Math.cos(m)*V,re=z+Math.sin(m)*V;w.push({lines:O,midAngle:m,rimX:R,rimY:z,boxW:I,boxH:L,cxBox:ne,cyBox:re,leftSide:B,fontColor:j,boxFill:N,boxBorder:P,boxBorderPx:ee,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/Le*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 En(e,t,n,r){let{x:i,y:a,w:o,h:s}=n,c=pn(t),l=c.length;if(l<3)return;let u=Oe(t,i,a,o,s,r,{titleTopPadFrac:.035,titleBottomPadFrac:.035,legendSideReserveFrac:.22,radialGapFrac:.02}),d=u.legend,f=u.title.fontPx;fn(e,t,i,a,o,s,a+u.title.topPad,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}=Ne(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=`${rn(t.valAxisFontSizeHpt,s,r)}px ${Ot(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(Je(n),_-3,v-r)}}e.font=`${Math.max(8,Math.min(11,y*.2))}px ${Ot(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=Xe((c[n]??``).toString(),t.catAxisFormatCode,t.date1904);e.fillText(nt(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=Tt(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=gt(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())}}Ut(e,t,d,i,a,o,s,p,m,h,g,u.title.bandH+2,r)}function Dn(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 On(e,t){return e.bubbleSizeRepresents===`w`?t:Math.sqrt(t)}function kn(e,t){return t==null||!Number.isFinite(t)||t===0||t<0&&e.showNegativeBubbles!==!0?null:Math.abs(t)}function An(e,t,n){return{series:t,fallbackColor:Tt(n,t),cats:t.categories??e.categories,pointOverrides:new Map((t.dataPointOverrides??[]).map(e=>[e.idx,e]))}}function jn(e,t,n,r,i){let a=Rn(e.bubbleScale??100,0,300);if(a<=0)return 0;let o=0;for(let{series:r,cats:i,pointOverrides:a}of t)if(!(r.showMarker===!1||r.markerSymbol===`none`))for(let t=0;t<r.values.length;t++){if(r.values[t]==null||Dn(i,t,n)==null||a.get(t)?.markerSymbol===`none`)continue;let s=kn(e,r.bubbleSizes?.[t]);s!=null&&(o=Math.max(o,On(e,s)))}return o<=0?0:Math.min(r,i)*a/(300+a)/o}function Mn(e,t,n,r,i,a,o,s,c,l,u){let d=u===`line`||u===`lineMarker`||u===`lineNoMarker`,f=u===`smooth`||u===`smoothMarker`||u===`smoothNoMarker`,p=u===`lineNoMarker`||u===`smoothNoMarker`,m=n.map(({series:e,index:n})=>An(t,e,n)),h=l?jn(t,m,r,o,s):0;for(let{series:t,fallbackColor:n,cats:o}of m)for(let s of t.errBars??[])Fn(e,t,s,o,r,i,a,n);for(let{series:t,fallbackColor:n,cats:o}of m)if((d||f)&&t.lineHidden!==!0){let s=[];for(let e=0;e<t.values.length;e++){let n=t.values[e];if(n==null)continue;let c=Dn(o,e,r);c!=null&&s.push({x:i(c),y:a(n)})}if(s.length>=2){if(e.save(),e.strokeStyle=t.color?`#${t.color}`:n,e.lineWidth=1.5,e.beginPath(),e.moveTo(s[0].x,s[0].y),f&&s.length>=3)for(let t=0;t<s.length-1;t++){let n=s[t-1]??s[t],r=s[t],i=s[t+1],a=s[t+2]??i;e.bezierCurveTo(r.x+(i.x-n.x)/6,r.y+(i.y-n.y)/6,i.x-(a.x-r.x)/6,i.y-(a.y-r.y)/6,i.x,i.y)}else for(let t=1;t<s.length;t++)e.lineTo(s[t].x,s[t].y);e.stroke(),e.restore()}}for(let{series:n,fallbackColor:o,cats:s,pointOverrides:u}of m)if(!(p||n.showMarker===!1||typeof n.markerSymbol==`string`&&n.markerSymbol===`none`))for(let d=0;d<n.values.length;d++){let f=n.values[d];if(f==null)continue;let p=Dn(s,d,r);if(p==null)continue;let m=u.get(d),g=m?.markerSymbol??n.markerSymbol??`circle`;if(g===`none`)continue;let _=m?.markerSize??n.markerSize??5;if(l){if(h<=0)continue;let e=kn(t,n.bubbleSizes?.[d]);if(e==null)continue;_=On(t,e)*h/c}let v=m?.markerFill??m?.color??n.markerFill??o,y=m?.markerLine??n.markerLine??(l?n.lineColor:null)??null,b=l&&n.lineWidthEmu!=null?Math.max(.5,n.lineWidthEmu/Le*c):void 0;Pn(e,i(p),a(f),g,_,v,y,c,b)}for(let{series:n,cats:o}of m)In(e,n,o,r,i,a,s,c,t.date1904,Ot(t,t.dataLabelFontFace,`minor`),t.dataLabelPosition??`r`);for(let{series:t,fallbackColor:n,cats:o}of m)nn(e,t,n,i,a,c,t.values.map((e,t)=>Dn(o,t,r)))}function Nn(e,t,n,r){let{x:i,y:a,w:o,h:s}=n,c=Se(t,s,r),l=c.fontPx,u=c.topPad,d=rn(t.catAxisFontSizeHpt,s,r),f=rn(t.valAxisFontSizeHpt,s,r),p=ve(t,o,s,.22),{legRightW:m,legLeftW:h,legTopH:g,legBottomH:_}=ye(p),v=xe(t,o,s,r),y=v.catFontPx,b=v.valFontPx,x=v.catBandH,S=v.valBandW;fn(e,t,i,a,o,s,a+u,l);let{plotRect:{px0:C,py0:w,pw:T,ph:E}}=Oe(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:Ce(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=Dn(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:P,max:ee,step:te}=Ne(M,N,t.valMin,t.valMax,void 0,t.valAxisMajorUnit);if(M=P,N=ee,t.catAxisMin!=null&&(A=t.catAxisMin),t.catAxisMax!=null&&(j=t.catAxisMax),t.catAxisMin==null||t.catAxisMax==null){let e=ke(j-A);e>0&&(t.catAxisMin??(A=Math.floor(A/e)*e),t.catAxisMax??(j=Math.ceil(j/e)*e))}let F=e=>C+(e-A)/(j-A)*T,I=e=>w+E-(e-M)/(N-M)*E,L=ke(j-A),R=w+E;if(t.catAxisCrossesAt!=null)R=Rn(I(t.catAxisCrossesAt),w,w+E);else{let e=t.catAxisCrosses??`autoZero`;e===`autoZero`&&M<0&&N>0?R=Rn(I(0),w,w+E):e===`max`&&(R=w)}let z=C;if(t.valAxisCrossesAt!=null)z=Rn(F(t.valAxisCrossesAt),C,C+T);else{let e=t.valAxisCrosses??`autoZero`;e===`autoZero`&&A<0&&j>0?z=Rn(F(0),C,C+T):e===`max`&&(z=C+T)}let B=Kt(t,r);if(!t.valAxisHidden){let n=t.valAxisFontSizeHpt==null?Math.max(8,Math.min(11,E/20)):rn(t.valAxisFontSizeHpt,s,r),i=t.valAxisFontSizeHpt==null?4:q(n);e.font=`${t.valAxisFontBold?`bold `:``}${n}px ${Ot(t,t.valAxisFontFace,`minor`)}`;let a=Math.round((N-M)/te)+1;for(let n=0;n<a;n++){let a=M+n*te;if(a>N+te*.01)break;let o=I(a);if(e.strokeStyle=B.color,e.lineWidth=B.width,Qt(t)&&(e.beginPath(),e.moveTo(C,o),e.lineTo(C+T,o),e.stroke()),t.valAxisTickLabelPos!==`none`){e.fillStyle=t.valAxisFontColor?`#${t.valAxisFontColor}`:`#555`;let n=t.valAxisTickLabelPos??`nextTo`,r;n===`high`?(e.textAlign=`left`,r=C+T+i):n===`low`?(e.textAlign=`right`,r=C-i):(e.textAlign=`right`,r=z-i),e.textBaseline=`middle`,e.fillText(Ye(a,t.valAxisFormatCode,t.date1904),r,o)}let s=t.valAxisLineColor?`#${t.valAxisLineColor}`:void 0;Wt(e,t.valAxisMajorTickMark,`val`,z,o,s,Re(t.valAxisLineWidthEmu,r),!1,t.valAxisLineHidden)}}if(!t.catAxisHidden&&qt(t)&&L>0){let n=Jt(t,r),i=Math.round((j-A)/L)+1;e.strokeStyle=n.color,e.lineWidth=n.width;for(let t=0;t<i;t++){let n=A+t*L;if(n>j+L*.01)break;let r=F(n);e.beginPath(),e.moveTo(r,w),e.lineTo(r,w+E),e.stroke()}}if(!t.catAxisHidden&&!t.catAxisLineHidden&&(e.save(),e.strokeStyle=t.catAxisLineColor?`#${t.catAxisLineColor}`:`#888`,e.lineWidth=Re(t.catAxisLineWidthEmu,r),e.lineCap=`butt`,e.beginPath(),e.moveTo(C,R),e.lineTo(C+T,R),e.stroke(),e.restore()),!t.valAxisHidden&&!t.valAxisLineHidden&&(e.save(),e.strokeStyle=t.valAxisLineColor?`#${t.valAxisLineColor}`:`#888`,e.lineWidth=Re(t.valAxisLineWidthEmu,r),e.beginPath(),e.moveTo(z,w),e.lineTo(z,w+E),e.stroke(),e.restore()),!t.catAxisHidden){let n=t.catAxisFontSizeHpt==null?Math.max(8,Math.min(11,E/20)):rn(t.catAxisFontSizeHpt,s,r),i=t.catAxisFontSizeHpt==null?4:we(n);e.font=`${t.catAxisFontBold?`bold `:``}${n}px ${Ot(t,t.catAxisFontFace,`minor`)}`;let a=Math.round((j-A)/L)+1;e.fillStyle=t.catAxisFontColor?`#${t.catAxisFontColor}`:`#555`,e.textAlign=`center`;let o=t.catAxisTickLabelPos??`nextTo`,c=o===`low`?w+E+i:o===`high`?w-i:R+i;e.textBaseline=o===`high`?`bottom`:`top`;for(let n=0;n<a;n++){let i=A+n*L;if(i>j+L*.01)break;let a=F(i);o!==`none`&&e.fillText(Ye(i,t.catAxisFormatCode,t.date1904),a,c);let s=t.catAxisLineColor?`#${t.catAxisLineColor}`:void 0;Wt(e,t.catAxisMajorTickMark,`cat`,R,a,s,Re(t.catAxisLineWidthEmu,r),!1,t.catAxisLineHidden)}}let V=t.chartType===`bubble`,ne=V?`marker`:t.scatterStyle??`marker`,re=ne===`line`||ne===`lineMarker`||ne===`lineNoMarker`,ie=ne===`smooth`||ne===`smoothMarker`||ne===`smoothNoMarker`,ae=ne===`lineNoMarker`||ne===`smoothNoMarker`,oe=t.series.map((e,n)=>An(t,e,n)),H=V?jn(t,oe,k,T,E):0;for(let{series:n,fallbackColor:i,cats:a,pointOverrides:o}of oe){for(let t of n.errBars??[])Fn(e,n,t,a,k,F,I,i);if((re||ie)&&n.lineHidden!==!0){let t=[];for(let e=0;e<n.values.length;e++){let r=n.values[e];if(r==null)continue;let i=Dn(a,e,k);i!=null&&t.push({x:F(i),y:I(r)})}if(t.length>=2){if(e.save(),e.strokeStyle=n.color?`#${n.color}`:i,e.lineWidth=1.5,e.beginPath(),e.moveTo(t[0].x,t[0].y),ie&&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(!(ae||n.showMarker===!1||typeof n.markerSymbol==`string`&&n.markerSymbol===`none`))for(let s=0;s<n.values.length;s++){let c=n.values[s];if(c==null)continue;let l=Dn(a,s,k);if(l==null)continue;let u=o.get(s),d=u?.markerSymbol??n.markerSymbol??`circle`;if(d===`none`)continue;let f=u?.markerSize??n.markerSize??5;if(V){if(H<=0)continue;let e=kn(t,n.bubbleSizes?.[s]);if(e==null)continue;f=On(t,e)*H/r}let p=u?.markerFill??u?.color??n.markerFill??i,m=u?.markerLine??n.markerLine??(V?n.lineColor:null)??null,h=V&&n.lineWidthEmu!=null?Math.max(.5,n.lineWidthEmu/Le*r):void 0;Pn(e,F(l),I(c),d,f,p,m,r,h)}if(In(e,n,a,k,F,I,E,r,t.date1904,Ot(t,t.dataLabelFontFace,`minor`),t.dataLabelPosition??`r`),n.trendLines&&n.trendLines.length>0){let t=n.values.map((e,t)=>Dn(a,t,k));e.save(),e.beginPath(),e.rect(C,w,T,E),e.clip(),nn(e,n,i,F,I,r,t),e.restore()}}Ut(e,t,p,i,a,o,s,C,w,T,E,c.bandH+2,r),Pt(e,t,i,a,o,s,C,w,T,E,h,_,y,b)}function Pn(e,t,n,r,i,a,o,s,c=1){let l=Math.max(2,i*s),u=l/2,d=a.startsWith(`#`)?a:`#${a}`,f=o?o.startsWith(`#`)?o:`#${o}`:null;switch(e.save(),e.fillStyle=d,f&&(e.strokeStyle=f,e.lineWidth=c),r){case`square`:e.fillRect(t-u,n-u,l,l),o&&e.strokeRect(t-u,n-u,l,l);break;case`diamond`:e.beginPath(),e.moveTo(t,n-u),e.lineTo(t+u,n),e.lineTo(t,n+u),e.lineTo(t-u,n),e.closePath(),e.fill(),o&&e.stroke();break;case`triangle`:e.beginPath(),e.moveTo(t,n-u),e.lineTo(t+u,n+u),e.lineTo(t-u,n+u),e.closePath(),e.fill(),o&&e.stroke();break;case`x`:e.strokeStyle=d,e.lineWidth=Math.max(1,l*.18),e.beginPath(),e.moveTo(t-u,n-u),e.lineTo(t+u,n+u),e.moveTo(t-u,n+u),e.lineTo(t+u,n-u),e.stroke();break;case`plus`:e.strokeStyle=d,e.lineWidth=Math.max(1,l*.18),e.beginPath(),e.moveTo(t-u,n),e.lineTo(t+u,n),e.moveTo(t,n-u),e.lineTo(t,n+u),e.stroke();break;case`star`:e.beginPath();for(let r=0;r<10;r++){let i=r%2==0?u:u*.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,l*.25),0,Math.PI*2),e.fill();break;case`dash`:{let r=Math.max(1,l*.25);e.fillRect(t-u,n-r/2,l,r);break}default:e.beginPath(),e.arc(t,n,u,0,Math.PI*2),e.fill(),o&&e.stroke();break}e.restore()}function Fn(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/Le):1,e.setLineDash(Bn(n.dash));let c=n.barType===`plus`||n.barType===`both`,l=n.barType===`minus`||n.barType===`both`,u=n.dir===`x`,d=e.lineWidth/2;for(let s=0;s<t.values.length;s++){let f=t.values[s];if(f==null)continue;let p=Dn(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 In(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=Dn(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(Ye(h,t.catFormatCodes?.[p]??t.catFormatCode??null,c)),v&&e.push(t.name),y&&e.push(Ye(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;Ln(e,i(h),a(m),b,x,C,w,T,l)}}function Ln(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 Rn(e,t,n){return e<t?t:e>n?n:e}function zn(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 Bn(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 Vn(e){return e.markerSymbol!=null||e.markerSize!=null||e.markerFill!=null||e.markerLine!=null||e.dataPointOverrides!=null&&e.dataPointOverrides.length>0}function Hn(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/Le):1,e.setLineDash(Bn(n.dash));let u=e.lineWidth/2;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 Un(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(Ye(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;Ln(e,i(h),a(r),b,x,C,w,T,d)}return!0}function Wn(e,t,n,r,i){let a=n===`fill`?t?.fillColors:t?.lineColors;return a?.length?a[((n===`fill`?t?.fillColorIndex:t?.lineColorIndex)??r)%a.length]??null:null}function Gn(e,t,n,r){if(!t.length)return null;let i=e.chartexColorStyleMethod;return i===`withinLinear`||i===`acrossLinear`||i===`withinLinearReversed`||i===`acrossLinearReversed`?t[i===`withinLinear`||i===`withinLinearReversed`?0:n%t.length]??null:t[n%t.length]??null}function Kn(e,t,n){return Wn(e,e.chartexDataPointStyle,`fill`,t,n)??(e.chartexColorPalette?Gn(e,e.chartexColorPalette,t,n):null)??e.chartexAccents?.[t%(e.chartexAccents.length||1)]??wt[t%wt.length]}function qn(e,t){let n=e?.fillPaints;return n?.length?n[(e?.fillColorIndex??t)%n.length]??null:null}function Jn(e,t,n){return qn(e.chartexDataPointStyle,t)??{fillType:`solid`,color:Kn(e,t,n)}}function Yn(e,t,n,r,i,a,o,s=0){return t.fillType===`solid`?t.color.startsWith(`#`)?t.color:`#${t.color}`:yt(t,e,n,r,i,a,s)??o}function Xn(e,t,n,r,i,a,o){if(n?.lineHidden)return!1;let s=Wn(t,n,`line`,r,i)??a;return e.strokeStyle=s.startsWith(`#`)?s:`#${s}`,e.lineWidth=n?.lineWidthEmu==null?1:Re(n.lineWidthEmu,o),e.setLineDash(Bn(n?.lineDash??void 0)),e.lineCap=n?.lineCap===`rnd`?`round`:n?.lineCap===`sq`?`square`:`butt`,e.lineJoin=n?.lineJoin===`round`||n?.lineJoin===`bevel`?n.lineJoin:`miter`,!0}function Zn(e,t,n,r,i){let{x:a,y:o,w:s,h:c}=n,l=t.series[0]?.values??[],u=t.categories,d=u.length;if(d===0)return;let f=new Set(t.subtotalIndices),p=0,m=[];for(let e=0;e<d;e++){let t=l[e]??0;if(f.has(e))m.push({start:0,end:t,isSub:!0,isPos:!0}),p=t;else{let e=t>=0?p:p+t,n=t>=0?p+t:p;m.push({start:e,end:n,isSub:!1,isPos:t>=0}),p+=t}}let h=m.map(e=>e.end),g=m.map(e=>e.start),_=Math.max(...h,...g),v=Math.min(...g,0);if(_<=v)return;let y=Se(t,c,r),b=xe(t,s,c,r),x=rn(t.valAxisFontSizeHpt,c,r),S=rn(t.catAxisFontSizeHpt,c,r),C=Ot(t,t.valAxisFontFace,`minor`),w=Ot(t,t.catAxisFontFace,`minor`),T=tn(t,v,_,c/r);e.save();let E=0;if(!t.valAxisHidden){e.font=`${t.valAxisFontBold?`bold `:``}${x}px ${C}`;let n=0;for(let r of T.majorLines)n=Math.max(n,e.measureText(Ye(r,t.valAxisFormatCode,t.date1904)).width);E=n+8}let D=Math.max(1,s-b.valBandW-E-s*.02)/d;e.font=`${t.catAxisFontBold?`bold `:``}${S}px ${w}`;let O=u.map(n=>an(e,Xe(n,t.catAxisFormatCode,t.date1904),Math.max(1,D-8))),k=Math.max(1,...O.map(e=>e.length)),A=t.catAxisHidden?0:k*(S+2)+4,j=Oe(t,a,o,s,c,r,{titleBand:y,legendSideReserveFrac:0,pad:{t:y.bandH+x/2+2,r:s*.02,b:b.catBandH+A,l:b.valBandW+(t.valAxisHidden?s*.02:E)}});fn(e,t,a,o,s,c,o+j.title.topPad,j.title.fontPx);let{px0:M,py0:N,pw:P,ph:ee}=j.plotRect,te=tn(t,v,_,ee/r),F=e=>N+ee-te.frac(e)*ee,I=ze(t.valAxisLineColor,t.valAxisLineWidthEmu,r),L=ze(t.catAxisLineColor,t.catAxisLineWidthEmu,r),R=Be(t.valAxisGridlineColor,t.valAxisGridlineWidthEmu,r);if(!t.valAxisHidden){e.font=`${t.valAxisFontBold?`bold `:``}${x}px ${C}`,e.fillStyle=t.valAxisFontColor?`#${t.valAxisFontColor}`:`#595959`,e.textAlign=`right`,e.textBaseline=`middle`;for(let n of te.majorLines){let r=F(n);Qt(t)&&(e.strokeStyle=R.color,e.lineWidth=R.width,e.beginPath(),e.moveTo(M,r),e.lineTo(M+P,r),e.stroke()),e.fillText(Ye(n,t.valAxisFormatCode,t.date1904),M-4,r),Wt(e,t.valAxisMajorTickMark,`val`,M,r,I.color,I.width,!1,t.valAxisLineHidden)}}let z=!t.valAxisHidden&&!t.valAxisLineHidden,B=!t.catAxisHidden&&!t.catAxisLineHidden;z&&(e.strokeStyle=I.color,e.lineWidth=I.width,e.beginPath(),e.moveTo(M,N),e.lineTo(M,N+ee),e.stroke()),B&&(e.strokeStyle=L.color,e.lineWidth=L.width,e.beginPath(),e.moveTo(M,N+ee),e.lineTo(M+P,N+ee),e.stroke());let V=`#${t.series[0]?.color??Kn(t,0,3)}`,ne=`#${Kn(t,1,3)}`,re=`#${Kn(t,2,3)}`,ie=t.series[0]?.color?{fillType:`solid`,color:t.series[0].color}:Jn(t,0,3),ae=Jn(t,1,3),oe=Jn(t,2,3),H=P/d,U=H/(1+(t.barGapWidth??150)/100);m.forEach((n,a)=>{let o=M+H*a+(H-U)/2,s=Math.min(F(n.start),F(n.end)),u=Math.max(F(n.start),F(n.end)),f=Math.max(1,u-s);t.chartexDataPointStyle?.fillHidden||(e.fillStyle=Yn(e,n.isSub?oe:n.isPos?ie:ae,o,s,U,f,n.isSub?re:n.isPos?V:ne,i),e.fillRect(o,s,U,f));let p=n.isSub?2:+!n.isPos,m=Wn(t,t.chartexDataPointStyle,`line`,p,3);if(m&&Xn(e,t,t.chartexDataPointStyle,p,3,m,r)&&e.strokeRect(o,s,U,f),a<d-1){let i=M+H*(a+1)+(H-U)/2,c=n.isPos?s:u;e.save(),Xn(e,t,t.chartexDataPointLineStyle,p,3,`#ccc`,r)&&(t.chartexDataPointLineStyle?.lineWidthEmu||(e.lineWidth=.8),e.beginPath(),e.moveTo(o+U,c),e.lineTo(i,c),e.stroke()),e.restore()}let h=l[a]??0,g=Ye(h,t.dataLabelFormatCode??t.series[0]?.valFormatCode??null,t.date1904),_=t.series[0]?.dataLabelColors?.[a]??null;e.fillStyle=_?`#${_}`:t.dataLabelFontColor?`#${t.dataLabelFontColor}`:`#595959`;let v=rn(t.dataLabelFontSizeHpt,c,r);e.font=`${t.dataLabelFontBold?`bold `:``}${v}px ${Ot(t,t.dataLabelFontFace,`minor`)}`,e.textAlign=`center`,h<0?(e.textBaseline=`top`,e.fillText(g,o+U/2,u+3)):(e.textBaseline=`bottom`,e.fillText(g,o+U/2,s-3))}),e.textAlign=`center`,e.textBaseline=`top`,e.fillStyle=t.catAxisFontColor?`#${t.catAxisFontColor}`:`#595959`,e.font=`${t.catAxisFontBold?`bold `:``}${S}px ${w}`;let se=N+ee+4;for(let n=0;n<d;n++){let r=M+H*n+H/2;an(e,Xe(u[n],t.catAxisFormatCode,t.date1904),Math.max(1,H-8)).forEach((t,n)=>e.fillText(t,r,se+n*(S+2)))}Pt(e,t,a,o,s,c,M,N,P,ee,0,0,b.catFontPx,b.valFontPx),e.restore()}function Qn(e){if(e.length===0)return 0;let t=Math.floor(e.length/2);return e.length%2==0?(e[t-1]+e[t])/2:e[t]}function $n(e,t){if(e.length===0)return null;let n=[...e].sort((e,t)=>e-t),r=Math.floor(n.length/2),i=Qn(n),a=t===`inclusive`&&n.length%2==1,o=n.slice(0,r+ +!!a),s=n.slice(r+ +(n.length%2==1&&!a)),c=Qn(o.length?o:n),l=Qn(s.length?s:n),u=l-c,d=c-1.5*u,f=l+1.5*u,p=[],m=[];for(let e of n)e<d||e>f?m.push(e):p.push(e);return{q1:c,median:i,q3:l,whiskerLo:p.length?p[0]:n[0],whiskerHi:p.length?p[p.length-1]:n[n.length-1],mean:e.reduce((e,t)=>e+t,0)/e.length,outliers:m,inner:p}}function er(e,t,n,r,i){let a=t.chartexBox;if(!a||a.categories.length===0||a.series.length===0)return;let{x:o,y:s,w:c,h:l}=n,u=1/0,d=-1/0;for(let e of a.series)for(let t of e.valuesByCategory)for(let e of t)e<u&&(u=e),e>d&&(d=e);if(!isFinite(u)||!isFinite(d))return;let f=Ot(t,t.valAxisFontFace,`minor`),p=rn(t.valAxisFontSizeHpt,l,r),m=Ne(u,d,t.valMin,t.valMax,l/r,t.valAxisMajorUnit),h=0;if(!t.valAxisHidden){let n=e.font;e.font=`${t.valAxisFontBold?`bold `:``}${p}px ${f}`;let r=0,i=Math.min(1e3,Math.max(0,Math.round((m.max-m.min)/m.step)));for(let n=0;n<=i;n++){let i=Ye(m.min+n*m.step,t.valAxisFormatCode,t.date1904);r=Math.max(r,e.measureText(i).width)}e.font=n,h=r+8}let g=Se(t,l,r),_=rn(t.catAxisFontSizeHpt,l,r),v=rn(t.valAxisFontSizeHpt,l,r),y=xe(t,c,l,r),b=ve(t,c,l,.22),{legRightW:x,legLeftW:S,legTopH:C,legBottomH:w}=ye(b),T=Oe(t,o,s,c,l,r,{titleBand:g,legendSideReserveFrac:.22,pad:{t:g.bandH+C+v/2+2,r:x+c*.02,b:w+y.catBandH+(t.catAxisHidden?l*.02:Ce(_)),l:S+y.valBandW+(t.valAxisHidden?c*.02:h)}});fn(e,t,o,s,c,l,s+T.title.topPad,T.title.fontPx);let{px0:E,py0:D,pw:O,ph:k}=T.plotRect,A=a.categories,j=A.length,M=a.series.length,N=j===M&&A.every((e,t)=>{let n=a.series.map((e,n)=>({seriesIndex:n,populated:(e.valuesByCategory[t]?.length??0)>0})).filter(e=>e.populated);return n.length===1&&n[0].seriesIndex===t}),{min:P,max:ee,step:te}=Ne(u,d,t.valMin,t.valMax,k/r,t.valAxisMajorUnit),F=ee-P||1,I=e=>D+k*(1-(e-P)/F),L=ze(t.valAxisLineColor,t.valAxisLineWidthEmu,r),R=Be(t.valAxisGridlineColor,t.valAxisGridlineWidthEmu,r);if(e.save(),!t.valAxisHidden){e.font=`${t.valAxisFontBold?`bold `:``}${p}px ${f}`,e.textAlign=`right`,e.textBaseline=`middle`;for(let n=P;n<=ee+1e-6;n+=te){let r=I(n);t.valAxisMajorGridlines!==!1&&(e.strokeStyle=R.color,e.lineWidth=R.width,e.beginPath(),e.moveTo(E,r),e.lineTo(E+O,r),e.stroke()),e.fillStyle=t.valAxisFontColor?`#${t.valAxisFontColor}`:`#595959`,e.fillText(Ye(n,t.valAxisFormatCode,t.date1904),E-4,r),Wt(e,t.valAxisMajorTickMark,`val`,E,r,L.color,L.width,!1,t.valAxisLineHidden)}t.valAxisLineHidden||(e.strokeStyle=L.color,e.lineWidth=L.width,e.beginPath(),e.moveTo(E,D),e.lineTo(E,D+k),e.stroke())}!t.catAxisHidden&&!t.catAxisLineHidden&&(e.strokeStyle=`#bfbfbf`,e.lineWidth=1,e.beginPath(),e.moveTo(E,D+k),e.lineTo(E+O,D+k),e.stroke());let z=O/(j+1),B=z/(1+(t.barGapWidth??150)/100),V=B*.06,ne=(B-V*(M-1))/M,re=e=>`#${a.series[e].color??Kn(t,e,M)}`,ie=e=>a.series[e].color?{fillType:`solid`,color:a.series[e].color}:Jn(t,e,M),ae=a.series.map(e=>e.valuesByCategory.map(t=>$n(t,e.quartileMethod))),oe=(e,t)=>{let n=E+z*(e+1)-B/2,r=N?B:ne,i=N?n:n+t*(r+V);return{bx:i,boxW:r,cx:i+r/2}};for(let n=0;n<M;n++){let i=a.series[n];if(!i.meanLine)continue;let o=t.chartexDataPointLineStyle??t.chartexDataPointStyle,s=i.lineColor?`#${i.lineColor}`:re(n);if(e.save(),Xn(e,t,o,n,M,s,r)||i.lineColor!=null){i.lineColor&&(e.strokeStyle=s),i.lineWidthEmu&&(e.lineWidth=Re(i.lineWidthEmu,r));let t=!1;e.beginPath();for(let r=0;r<j;r++){let i=ae[n][r];if(!i){t=!1;continue}let{cx:a}=oe(r,n),o=I(i.mean);t?e.lineTo(a,o):e.moveTo(a,o),t=!0}e.stroke()}e.restore()}let H=rn(t.catAxisFontSizeHpt,l,r);for(let n=0;n<j;n++){let o=E+z*(n+1);for(let o=0;o<M;o++){let s=a.series[o],c=ae[o][n];if(!c)continue;let{bx:l,boxW:u,cx:d}=oe(n,o),f=re(o),p=ie(o),m=t.chartexDataPointStyle,h=t.chartexDataPointLineStyle??m,g=t.chartexDataPointMarkerStyle??m,_=Wn(t,m,`line`,o,M),v=s.lineColor?`#${s.lineColor}`:_?`#${_}`:f,y=s.lineWidthEmu?Re(s.lineWidthEmu,r):m?.lineWidthEmu==null?1:Re(m.lineWidthEmu,r),b=Wn(t,h,`line`,o,M),x=Wn(t,g,`fill`,o,M),S=qn(g,o)??p,C=Wn(t,g,`line`,o,M),w=(n,i)=>{let a=Xn(e,t,n,o,M,i,r);return s.lineColor&&(e.strokeStyle=v),s.lineWidthEmu&&(e.lineWidth=y),a||s.lineColor!=null},T=I(c.q1),E=I(c.q3),D=Math.min(T,E),O=Math.max(1,Math.abs(T-E)),k=u*.4;w(h,b??v)&&(e.beginPath(),e.moveTo(d,I(c.whiskerHi)),e.lineTo(d,E),e.moveTo(d,T),e.lineTo(d,I(c.whiskerLo)),e.moveTo(d-k/2,I(c.whiskerHi)),e.lineTo(d+k/2,I(c.whiskerHi)),e.moveTo(d-k/2,I(c.whiskerLo)),e.lineTo(d+k/2,I(c.whiskerLo)),e.stroke()),m?.fillHidden||(e.fillStyle=Yn(e,p,l,D,u,O,f,i),e.fillRect(l,D,u,O)),w(m,v)&&e.strokeRect(l+y/2,D+y/2,u-y,O-y);let A=I(c.median);if(w(h,b??v)&&(e.beginPath(),e.moveTo(l,A),e.lineTo(l+u,A),e.stroke()),s.showNonoutliers){let t=Math.max(1.25,u*.045),n=w(g,C??v);for(let r of c.inner){let a=I(r);e.fillStyle=Yn(e,S,d-t,a-t,t*2,t*2,x?`#${x}`:f,i),e.beginPath(),e.arc(d,a,t,0,Math.PI*2),g?.fillHidden||e.fill(),n&&e.stroke()}}if(s.meanMarker){let t=I(c.mean),n=Math.max(2,u*.14);w(g,C??v)&&(e.beginPath(),e.moveTo(d-n,t-n),e.lineTo(d+n,t+n),e.moveTo(d+n,t-n),e.lineTo(d-n,t+n),e.stroke())}if(s.showOutliers){let t=w(g,C??v),n=Math.max(1.5,u*.06);for(let r of c.outliers){let a=I(r);e.fillStyle=Yn(e,S,d-n,a-n,n*2,n*2,x?`#${x}`:f,i),e.beginPath(),e.arc(d,a,n,0,Math.PI*2),g?.fillHidden||e.fill(),t&&e.stroke()}}}if(!t.catAxisHidden){e.font=`${H}px ${Ot(t,t.catAxisFontFace,`minor`)}`,e.fillStyle=t.catAxisFontColor?`#${t.catAxisFontColor}`:`#595959`,e.textAlign=`center`,e.textBaseline=`top`;let r=A[n];e.fillText(r,o,D+k+4)}}e.restore(),Pt(e,t,o,s,c,l,E,D,O,k,S,w,y.catFontPx,y.valFontPx),Ut(e,{...t,series:a.series.map((e,n)=>({name:e.name,values:[],color:e.color??Kn(t,n,M)}))},b,o,s,c,l,E,D,O,k,g.bandH+2,r,a.series.map((e,t)=>ie(t)),i)}function tr(e){let t={label:``,value:0,depth:-1,children:[],branchIndex:-1,labelIndex:-1,a0:0,a1:0},n=new WeakMap;for(let r of e){let e=t;for(let t=0;t<r.path.length;t++){let i=r.path[t],a=n.get(e);a||(a=new Map,n.set(e,a));let o=a.get(i);o||(o={label:i,value:0,depth:t,children:[],branchIndex:t===0?e.children.length:e.branchIndex,labelIndex:-1,a0:0,a1:0},e.children.push(o),a.set(i,o)),o.value+=r.size,e=o}}t.value=t.children.reduce((e,t)=>e+t.value,0);let r=0,i=e=>{for(let t of e.children)t.labelIndex=r++,i(t)};return i(t),t}function nr(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,nr(r)}}function rr(e){return e.children.length===0?e.depth:Math.max(...e.children.map(rr))}function ir(e,t,n,r,i){let a=t.chartexSunburst;if(!a||a.rows.length===0)return;let{x:o,y:s,w:c,h:l}=n,u=Oe(t,o,s,c,l,r,{titleTopPadFrac:.035,titleBottomPadFrac:.035,legendSideReserveFrac:0,radialGapFrac:.02});fn(e,t,o,s,c,l,s+u.title.topPad,u.title.fontPx);let{px0:d,py0:f,pw:p,ph:m}=u.plotRect,h=d+p/2,g=f+m/2,_=Math.min(p,m)*.46,v=tr(a.rows);if(v.value<=0||v.children.length===0)return;v.a0=-Math.PI/2,v.a1=-Math.PI/2+Math.PI*2,nr(v);let y=rr(v)+1,b=_*.18,x=(_-b)/y,S=e=>`#${Kn(t,e,v.children.length)}`,C=e=>Jn(t,e,v.children.length),w=Ot(t,t.dataLabelFontFace,`minor`),T=Math.max(7,Math.min(13,_*.075)),E=Array.from({length:y},()=>[]),D=e=>{e.depth>=0&&E[e.depth].push(e),e.children.forEach(D)};D(v),e.save();for(let n=0;n<y;n++){let a=b+n*x,o=a+x;for(let s of E[n]){let n=s.a1-s.a0;if(n<=1e-4)continue;e.beginPath(),e.arc(h,g,o,s.a0,s.a1),e.arc(h,g,a,s.a1,s.a0,!0),e.closePath(),t.chartexDataPointStyle?.fillHidden||(e.fillStyle=Yn(e,C(s.branchIndex),h-o,g-o,o*2,o*2,S(s.branchIndex),i),e.fill()),Xn(e,t,t.chartexDataPointStyle,s.branchIndex,v.children.length,`#ffffff`,r)&&e.stroke();let c=(s.a0+s.a1)/2,l=(a+o)/2,u=x-4,d=n*l;if(u<T*.9&&d<T*.9)continue;e.save(),e.translate(h+Math.cos(c)*l,g+Math.sin(c)*l);let f=c,p=f*180/Math.PI%360;(p>90||p<-90)&&(f+=Math.PI),e.rotate(f),e.font=`${T}px ${w}`,e.fillStyle=`#ffffff`,e.textAlign=`center`,e.textBaseline=`middle`;let m=s.label.split(/\\s+/).filter(Boolean),_=u-2,y=[],b=``;for(let t of m){let n=b?`${b} ${t}`:t;if(e.measureText(n).width<=_){b=n;continue}if(b&&=(y.push(b),``),e.measureText(t).width<=_){b=t;continue}let r=``;for(let n of t){let t=r+n;r&&e.measureText(t).width>_?(y.push(r),r=n):r=t}b=r}b&&y.push(b);let E=T*1.05,D=Math.max(1,Math.floor(d/E)),O=y.slice(0,D).map(t=>nt(e,t,_)),k=O.length*E;O.forEach((t,n)=>{t!==``&&e.fillText(t,0,-k/2+E/2+n*E)}),e.restore()}}e.restore()}function ar(e,t){let n=e.map((e,t)=>({node:e,index:t,value:Math.max(0,e.value)})).filter(e=>e.value>0).sort((e,t)=>t.value-e.value||e.index-t.index),r=n.reduce((e,t)=>e+t.value,0);if(r<=0||t.w<=0||t.h<=0)return[];let i=t.w*t.h/r,a=n.map(e=>({...e,area:e.value*i})),o=[],s={...t},c=[],l=0,u=1/0,d=0,f=(e,t,n,r)=>{if(e<=0||t<=0||r<=0)return 1/0;let i=r*r;return Math.max(i*n/(e*e),e*e/(i*t))},p=(e,t)=>{if(e.length!==0)if(s.w>=s.h){let n=s.h>0?t/s.h:0,r=s.y;for(let t=0;t<e.length;t++){let i=t===e.length-1?s.y+s.h-r:e[t].area/n;o.push({node:e[t].node,rect:{x:s.x,y:r,w:n,h:i}}),r+=i}s={x:s.x+n,y:s.y,w:Math.max(0,s.w-n),h:s.h}}else{let n=s.w>0?t/s.w:0,r=s.x;for(let t=0;t<e.length;t++){let i=t===e.length-1?s.x+s.w-r:e[t].area/n;o.push({node:e[t].node,rect:{x:r,y:s.y,w:i,h:n}}),r+=i}s={x:s.x,y:s.y+n,w:s.w,h:Math.max(0,s.h-n)}}},m=0;for(;m<a.length;){let e=a[m],t=Math.min(s.w,s.h),n=l+e.area,r=Math.min(u,e.area),i=Math.max(d,e.area);c.length===0||f(n,r,i,t)<=f(l,u,d,t)?(c.push(e),l=n,u=r,d=i,m++):(p(c,l),c=[],l=0,u=1/0,d=0)}return p(c,l),o}function or(e,t,n,r,i){let a=t.chartexTreemap;if(!a||a.rows.length===0)return;let o=Oe(t,n.x,n.y,n.w,n.h,r,{titleTopPadFrac:.035,titleBottomPadFrac:.035,legendSideReserveFrac:0,radialGapFrac:.015});fn(e,t,n.x,n.y,n.w,n.h,n.y+o.title.topPad,o.title.fontPx);let s=tr(a.rows);if(s.value<=0||s.children.length===0)return;let c=Ot(t,t.dataLabelFontFace,`minor`),l=a.parentLabelLayout??`overlapping`,u=t.series[0]?.seriesDataLabels,d=u?.fontSizeHpt?u.fontSizeHpt/100*r:Math.max(8,Math.min(13,o.plotRect.ph*.025)),f=u?.fontColor?`#${u.fontColor}`:`#ffffff`,p=new Map((t.series[0]?.dataLabelOverrides??[]).map(e=>[e.idx,e])),m=(n,a)=>{if(a.w<.5||a.h<.5)return;let o=`#${Kn(t,n.branchIndex,s.children.length)}`,h=Jn(t,n.branchIndex,s.children.length),g=p.get(n.labelIndex),_=g?.fontColor?`#${g.fontColor}`:f,v=g?.fontSizeHpt?g.fontSizeHpt/100*r:d,y=g?.fontBold??u?.fontBold??!1;if(n.children.length>0){let r=l!==`none`&&(l!==`overlapping`||n.depth===0),s=v,u=l===`banner`&&r?Math.min(a.h*.28,s+7):0;u>0&&!t.chartexDataPointStyle?.fillHidden&&(e.fillStyle=Yn(e,h,a.x,a.y,a.w,u,o,i),e.fillRect(a.x,a.y,a.w,u));let d={x:a.x,y:a.y+u,w:a.w,h:Math.max(0,a.h-u)};for(let e of ar(n.children,d))m(e.node,e.rect);if(r&&a.w>s*2&&a.h>s+4){e.font=`${y?`bold `:``}${s}px ${c}`,e.fillStyle=_,e.textAlign=`left`,e.textBaseline=`top`;let t=nt(e,g?.text||n.label,a.w-8);t&&e.fillText(t,a.x+4,a.y+3)}return}t.chartexDataPointStyle?.fillHidden||(e.fillStyle=Yn(e,h,a.x,a.y,a.w,a.h,o,i),e.fillRect(a.x,a.y,a.w,a.h)),Xn(e,t,t.chartexDataPointStyle,n.branchIndex,s.children.length,`#ffffff`,r)&&e.strokeRect(a.x,a.y,a.w,a.h);let b=v;if(a.w<=b*1.2||a.h<=b*1.2)return;e.font=`${y?`bold `:``}${b}px ${c}`,e.fillStyle=_;let x=[];g?.text?x.push(g.text):((u?.showCatName??!0)&&x.push(n.label),u?.showVal&&x.push(Ye(n.value,u.formatCode??t.series[0]?.valFormatCode??null,t.date1904)));let S=x.join(u?.separator??` `).split(/\\r?\\n/).flatMap(t=>an(e,t,Math.max(1,a.w-8))),C=b*1.1,w=u?.position??`ctr`,T=Math.max(0,Math.floor((a.h-6)/C));if(e.save(),e.beginPath(),e.rect(a.x,a.y,a.w,a.h),e.clip(),w===`inEnd`){e.textAlign=`left`,e.textBaseline=`bottom`;let t=S.slice(Math.max(0,S.length-T)),n=a.y+a.h-4;t.forEach((r,i)=>{r&&e.fillText(r,a.x+4,n-(t.length-1-i)*C)})}else{e.textAlign=`center`,e.textBaseline=`middle`;let t=S.slice(0,T),n=a.y+a.h/2-(t.length-1)*C/2;t.forEach((t,r)=>{t&&e.fillText(t,a.x+a.w/2,n+r*C)})}e.restore()};e.save();let{px0:h,py0:g,pw:_,ph:v}=o.plotRect;e.beginPath(),e.rect(h,g,_,v),e.clip();for(let e of ar(s.children,{x:h,y:g,w:_,h:v}))m(e.node,e.rect);e.restore()}function sr(e,t,n,r){let i=t.chartTextBoxes;if(i?.length)for(let a of i){let i=n.x+a.x*n.w,o=n.y+a.y*n.h,s=a.w*n.w,c=a.h*n.h;if(!(s>0&&c>0))continue;let l=i+(a.lIns??91440)/Le*r,u=o+(a.tIns??45720)/Le*r,d=i+s-(a.rIns??91440)/Le*r,f=o+c-(a.bIns??45720)/Le*r,p=d-l,m=f-u;if(!(p>0&&m>0))continue;let h=(e,t)=>{let n=Math.max(1,...t.map(e=>e.fontPx));return{paragraph:e,runs:t,width:t.reduce((e,t)=>e+t.width,0),height:n*1.2,baseline:n*.9}},g=a.paragraphs.flatMap(n=>{let i=n.runs.map(n=>{let i=Math.max(1,(n.fontSizeHpt??1e3)/100*r),a=`${n.bold?`bold `:``}${i}px ${Ot(t,n.fontFace,`minor`)}`;return e.font=a,{run:n,text:n.text,fontPx:i,font:a,width:e.measureText(n.text).width}}),o=i.reduce((e,t)=>e+t.width,0);if(a.wrap===`none`||o<=p)return[h(n,i)];let s=[],c=[],l=0,u=()=>{c.length&&(s.push(h(n,c)),c=[],l=0)};for(let t of i){let n=t.text.match(/\\s+|\\S+/g)??[];for(let r of n){let n=/^\\s+$/.test(r);e.font=t.font;let i=e.measureText(r).width;c.length&&l+i>p&&u(),!(n&&!c.length)&&(c.push({...t,text:r,width:i}),l+=i)}}return u(),s.length?s:[h(n,i)]}),_=g.reduce((e,t)=>e+t.height,0),v=a.verticalAnchor===`b`?f-_:a.verticalAnchor===`ctr`?u+(m-_)/2:u;e.save(),e.beginPath(),e.rect(i,o,s,c),e.clip(),e.textAlign=`left`,e.textBaseline=`alphabetic`;let y=v;for(let t of g){let n=t.paragraph.align,r=n===`ctr`?l+(p-t.width)/2:n===`r`?d-t.width:l;for(let n of t.runs)e.font=n.font,e.fillStyle=n.run.color?`#${n.run.color}`:`#000000`,e.fillText(n.text,r,y+t.baseline),r+=n.width;y+=t.height}e.restore()}}function cr(e,t,n,r=1.3333333333333333,i=0){e.save();try{let{x:a,y:o,w:s,h:c}=n;if(t.chartBg&&(e.fillStyle=`#${t.chartBg}`,e.fillRect(a,o,s,c)),t.chartBorderColor){e.save(),e.strokeStyle=`#${t.chartBorderColor}`,e.lineWidth=t.chartBorderWidthEmu?Math.max(.5,t.chartBorderWidthEmu/Le)*r:1;let n=e.lineWidth;e.strokeRect(a+n/2,o+n/2,s-n,c-n),e.restore()}let l=t.chartexBox!=null||t.chartexSunburst!=null||t.chartexTreemap!=null;if(t.series.length===0&&!l){e.fillStyle=`#888`,e.font=`12px sans-serif`,e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(`(no data)`,a+s/2,o+c/2),sr(e,t,n,r);return}switch(t.chartType){case`clusteredBar`:case`clusteredBarH`:case`stackedBar`:case`stackedBarH`:case`stackedBarPct`:case`stackedBarHPct`:hn(e,t,n,r);break;case`line`:case`stackedLine`:case`stackedLinePct`:gn(e,t,n,r);break;case`area`:case`stackedArea`:case`stackedAreaPct`:vn(e,t,n,r);break;case`pie`:yn(e,t,n,!1,r);break;case`doughnut`:yn(e,t,n,!0,r);break;case`radar`:En(e,t,n,r);break;case`scatter`:case`bubble`:Nn(e,t,n,r);break;case`waterfall`:Zn(e,t,n,r,i);break;case`stock`:_n(e,t,n,r);break;case`boxWhisker`:er(e,t,n,r,i);break;case`sunburst`:ir(e,t,n,r,i);break;case`treemap`:or(e,t,n,r,i);break;default:e.fillStyle=`#888`,e.font=`11px sans-serif`,e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(`Chart: ${t.chartType}`,a+s/2,o+c/2)}sr(e,t,n,r)}finally{e.restore()}}function lr(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 ur=1e-9;function dr(e){return e.cmd===`lineTo`||e.cmd===`cubicBezTo`||e.cmd===`quadBezTo`||e.cmd===`arcTo`}function fr(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 pr(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)<ur&&Math.abs(i)<ur&&(r=n.x2-e,i=n.y2-t),Math.abs(r)<ur&&Math.abs(i)<ur&&(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)<ur&&Math.abs(i)<ur&&(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 mr(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 hr(e,t,n){let{x:r,y:i}=mr(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)<ur&&Math.abs(o)<ur&&(a=n.x-n.x1,o=n.y-n.y1),Math.abs(a)<ur&&Math.abs(o)<ur&&(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)<ur&&Math.abs(o)<ur&&(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 gr(e){let t=0,n=0,r=!1;for(let i of e)i.cmd===`moveTo`&&(r=!0),{x:t,y:n}=mr(t,n,i);return r?{x:t,y:n}:null}function _r(e){if(e.some(e=>e.cmd===`close`))return!0;let t=e.find(e=>e.cmd===`moveTo`);if(!t)return!1;let n=gr(e);return!n||!e.some(dr)?!1:Math.abs(n.x-t.x)<ur&&Math.abs(n.y-t.y)<ur}function vr(e){let t={start:null,end:null};if(!e||e.length===0)return t;let n=e[0];if(n&&n.length>0&&!_r(n)){let e=n.find(e=>e.cmd===`moveTo`),r=n.find(dr);if(e&&r){let n=pr(e.x,e.y,r);(Math.abs(n.dx)>ur||Math.abs(n.dy)>ur)&&(t.start=fr(e.x,e.y,-n.dx,-n.dy))}}let r=e[e.length-1];if(r&&r.length>0&&!_r(r)){let e=0,n=0,i=-1;for(let e=0;e<r.length;e++)dr(r[e])&&(i=e);if(i>=0){for(let t=0;t<i;t++)({x:e,y:n}=mr(e,n,r[t]));let a=hr(e,n,r[i]);(Math.abs(a.dx)>ur||Math.abs(a.dy)>ur)&&(t.end=fr(a.x,a.y,a.dx,a.dy))}}return t}var yr={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 br=216e5,xr=Math.PI*2/br;function Sr(e){let t=e.trim().split(/\\s+/);return{op:t[0],argTokens:t.slice(1)}}function Cr(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:br,cd2:br/2,cd4:br/4,cd8:br/8,\"3cd4\":3*br/4,\"3cd8\":3*br/8,\"5cd8\":5*br/8,\"7cd8\":7*br/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]*xr);case`cos`:return t[0]*Math.cos(t[1]*xr);case`tan`:return t[0]*Math.tan(t[1]*xr);case`at2`:return Math.atan2(t[1],t[0])/xr;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 wr=Math.PI*2/216e5;function Tr(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])*wr,u=n.resolve(r[4])*wr,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 Er=yr,Dr=new WeakMap;function Or(e){let t=Dr.get(e);return t||(t={adj:e.adj.map(([e,t])=>[e,Sr(t)]),gd:e.gd.map(([e,t])=>[e,Sr(t)])},Dr.set(e,t)),t}function kr(e,t,n,r){let i=Or(e);return Cr({w:t,h:n,adj:r},i.adj,i.gd)}function Ar(e){return e.toLowerCase()in Er}function jr(e,t,n,r,i,a,o=[]){let s=Er[t.toLowerCase()];if(!s)return!1;let c=kr(s,i,a,o);for(let t of s.paths)Tr(e,t,c,n,r,i,a);return!0}function Mr(e,t,n,r,i,a,o=[]){let s=Er[t.toLowerCase()];if(!s)return!1;let c=kr(s,i,a,o);for(let t of s.paths)t.fill!==`none`&&Tr(e,t,c,n,r,i,a);return!0}const Nr={wedgeroundrectcallout:`roundrect`,wedgeellipsecallout:`ellipse`,wedgerectcallout:null},Pr={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 Fr(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 Ir(e,t,n,r){let i=Er[e];if(!i)return null;if(e in Nr){let a=Fr(r,i,0),o=Fr(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=Nr[e];t===`roundrect`?(i=Er.roundrect,r=[Fr(r,Er[e],2)]):t&&Er[t]?(i=Er[t],r=[]):(i=Pr,r=[])}}return{def:i,adj:r}}function Lr(e,t,n,r,i,a,o,s,c,l,u){let d=Ir(t.toLowerCase(),i,a,o);if(!d)return!1;let{def:f}=d;o=d.adj;let p=kr(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(),Tr(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=zr(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 Rr(e,t,n,r,i,a){let o=Er[e.toLowerCase()];if(!o||o.paths.length===0)return null;let s=o.paths[o.paths.length-1],c=kr(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 zr(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 Br(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 Vr(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 Hr(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 Ur={oval:`ellipse`,rtriangle:`rttriangle`,roundrectangle:`roundrect`,flowchartsumingjunction:`flowchartsummingjunction`},Wr=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(`.`)),Gr=new Set([`accentcallout1`,`accentbordercallout1`,`flowchartpredefinedprocess`,`flowchartsort`,`flowchartinternalstorage`,`flowchartsummingjunction`]),Kr=new Set([`round2samerect`,`round2diagrect`,`dodecagon`,`star10`]);function qr(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=Ur[u]??u;if((Wr.has(d)||Gr.has(d)||Kr.has(d))&&jr(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`:Vr(e,u,d,i/2,a/2,5);break;case`hexagon`:Vr(e,u,d,i/2,a/2,6,0);break;case`heptagon`:Vr(e,u,d,i/2,a/2,7);break;case`octagon`:Vr(e,u,d,i/2,a/2,8,-Math.PI/8);break;case`decagon`:Vr(e,u,d,i/2,a/2,10);break;case`star5`:case`star`:Br(e,u,d,i/2,a/2,5,(o??19098)/5e4);break;case`star6`:Br(e,u,d,i/2,a/2,6,(o??28868)/5e4,0);break;case`star7`:Br(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,P=m/2,ee=b*P+A,te=i-P,F=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+te,r+ee,n+_,r+M),e.lineTo(n+_,r+N),e.quadraticCurveTo(n+i/2,r+F,n+m,r+N),e.lineTo(n+m,r+M),e.quadraticCurveTo(n+P,r+ee,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,P=a-(D+M),ee=a-(O+M),te=m/2,F=a-(b*te+M),I=i-te,L=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+I,r+F,n+_,r+P),e.lineTo(n+_,r+ee),e.quadraticCurveTo(n+i/2,r+L,n+m,r+ee),e.lineTo(n+m,r+P),e.quadraticCurveTo(n+te,r+F,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),Hr(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),Hr(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 P=Hr(e,n+D,r+x,i,m,O,j);Hr(e,P.x,P.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,P=Math.PI/2-A;e.moveTo(n+E,r),e.lineTo(n+T,r+D),e.lineTo(n+S,r+D);let ee=Hr(e,n+S,r+D,m,a,N,M);Hr(e,ee.x,ee.y,m,a,P,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),Hr(e,n+x,r+D,m,a,j,-O),e.lineTo(n+b,r),Hr(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 Jr(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 Yr=new Set([`triangle`,`stealth`,`diamond`,`oval`]);function Xr(e,t,n){return Yr.has(e.type)?Jr(e,t,n).len:0}function Zr(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 Qr(e,t,n,r,i,a,o,s){if(i.type===`none`)return;let{lw:c,halfW:l,len:u}=Jr(i,a,o),d=s??gt(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 $r(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 ei(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];Mr(e,t.geometry.name,n,r,i,a,o)||qr(e,t.geometry.name,n,r,i,a,o[0],o[1],o[2],o[3])}else lr(e,t.geometry.subpaths,n,r,i,a);e.clip()}const ti=new Set([`line`,`straightconnector1`,`bentconnector2`,`bentconnector3`,`bentconnector4`,`bentconnector5`,`curvedconnector2`,`curvedconnector3`,`curvedconnector4`,`curvedconnector5`]),ni=new Set([`callout1`,`callout2`,`callout3`,`bordercallout1`,`bordercallout2`,`bordercallout3`,`accentcallout1`,`accentcallout2`,`accentcallout3`,`accentbordercallout1`,`accentbordercallout2`,`accentbordercallout3`]);function ri(e){return ni.has(e)||e===`line`||e===`straightconnector1`||e.startsWith(`bentconnector`)}function ii(e,t,n,r,i){if(St(e,t,n),t.fill){let n=yt(t.fill,e,r.x,r.y,r.w,r.h,i);n&&(e.strokeStyle=n)}}function ai(e,t,n,r){let i=t.stroke;if(!i||!ti.has(n)&&!ni.has(n))return;let{x:a,y:o,w:s,h:c}=t.rect,l=i.fill?yt(i.fill,e,a,o,s,c,t.transform.rotationDeg)??void 0:void 0,u=Rr(n,a,o,s,c,[...t.geometry.kind===`preset`?t.geometry.adjustments:[]]);if(u){if(ri(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]=Zr(n[n.length-1],n[n.length-2],Xr(i.tailEnd,i,r))),i.headEnd&&(n[0]=Zr(n[0],n[1],Xr(i.headEnd,i,r))),ii(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&&Qr(e,u.end.x,u.end.y,u.end.angle,i.tailEnd,i,r,l),i.headEnd&&Qr(e,u.start.x,u.start.y,u.start.angle,i.headEnd,i,r,l)}}function oi(e,t,n){if(t.geometry.kind!==`custom`)return;let r=t.stroke;if(!r||!r.headEnd&&!r.tailEnd)return;let i=vr(t.geometry.subpaths),{x:a,y:o,w:s,h:c}=t.rect,l=r.fill?yt(r.fill,e,a,o,s,c,t.transform.rotationDeg)??void 0:void 0;i.start&&r.headEnd&&Qr(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&&Qr(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 si(e,t,n){let{x:r,y:i,w:a,h:o}=t.rect;$r(e,t,()=>{let s=yt(t.fill,e,r,i,a,o,t.transform.rotationDeg),c=t.stroke,l=c?()=>{ii(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=ri(u)&&!!(c?.headEnd||c?.tailEnd);Ar(u)&&Lr(e,u,r,i,a,o,d,s,l,()=>{},f?{skipTrailingStroke:!0}:void 0)||(e.beginPath(),qr(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()),ai(e,t,u,n)}else e.beginPath(),lr(e,t.geometry.subpaths,r,i,a,o),s&&(e.fillStyle=s,e.fill()),l&&l(),oi(e,t,n)})}const ci=1<<25,li=ci*4;var ui=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 di=32767;function fi(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>di||d>di||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 pi(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:fi(e,t,o,s,c)}function mi(e,t,n,r,i,a){try{let o=it(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 J={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},hi={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},gi={TEXT:1,LOMETRIC:2,HIMETRIC:3,LOENGLISH:4,HIENGLISH:5,TWIPS:6,ISOTROPIC:7,ANISOTROPIC:8},_i=()=>({m11:1,m12:0,m21:0,m22:1,dx:0,dy:0});function vi(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 yi=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 bi(e,t,n){return e.wt.m11*t+e.wt.m21*n+e.wt.dx}function xi(e,t,n){return e.wt.m12*t+e.wt.m22*n+e.wt.dy}function Si(e){return e.winExtX===0?1:e.vpExtX/e.winExtX}function Ci(e){return e.winExtY===0?1:e.vpExtY/e.winExtY}function wi(e){return Math.min(Math.abs(Si(e)),Math.abs(Ci(e)))}function Ti(e){return e.mapMode===gi.ISOTROPIC?Si(e)<0?-wi(e):wi(e):Si(e)}function Ei(e){return e.mapMode===gi.ISOTROPIC?Ci(e)<0?-wi(e):wi(e):Ci(e)}function Di(e,t){return(t-e.winOrgX)*Ti(e)+e.vpOrgX}function Oi(e,t){return(t-e.winOrgY)*Ei(e)+e.vpOrgY}function ki(e,t,n){let r=Di(e,bi(e,t,n)),i=Oi(e,xi(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 ji(e){return(Math.abs(Ti(e))+Math.abs(Ei(e)))/2}function Mi(e){return(e.W/e.boundsW+e.H/e.boundsH)/2}function Ni(e){return Math.hypot(e.wt.m21,e.wt.m22)}function Pi(e){return e.H/e.boundsH}function Fi(e,t){let n=t*Ai(e)*ji(e)*Mi(e);return Math.max(.75,n)}function Ii(e,t){if(e.mapMode=t,t===gi.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===gi.ANISOTROPIC||t===gi.ISOTROPIC||e.devPxPerMmX<=0||e.devPxPerMmY<=0)return;let n=25.4,r=t===gi.LOMETRIC?.1:t===gi.HIMETRIC?.01:t===gi.LOENGLISH?.01*n:t===gi.HIENGLISH?.001*n:t===gi.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 Li={[hi.WHITE_BRUSH]:{kind:`brush`,fill:`#ffffff`},[hi.LTGRAY_BRUSH]:{kind:`brush`,fill:`#c0c0c0`},[hi.GRAY_BRUSH]:{kind:`brush`,fill:`#808080`},[hi.DKGRAY_BRUSH]:{kind:`brush`,fill:`#404040`},[hi.BLACK_BRUSH]:{kind:`brush`,fill:`#000000`},[hi.NULL_BRUSH]:{kind:`brush`,fill:null}},Ri={[hi.WHITE_PEN]:{kind:`pen`,stroke:`#ffffff`,width:1},[hi.BLACK_PEN]:{kind:`pen`,stroke:`#000000`,width:1},[hi.NULL_PEN]:{kind:`pen`,stroke:null,width:1},[hi.DC_PEN]:{kind:`pen`,stroke:`#000000`,width:1}};function zi(e,t){let n=Li[t];if(n){e.curBrush=n;return}let r=Ri[t];if(r){e.curPen=r;return}t===hi.DC_BRUSH&&(e.curBrush=e.curBrush??{kind:`brush`,fill:`#000000`})}function Bi(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 Vi=e=>[e.i16(),e.i16()],Hi=e=>[e.i32(),e.i32()];function Ui(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]=ki(e,r,c);s===0?i.moveTo(l,u):i.lineTo(l,u),a=r,o=c}i.strokeStyle=e.curPen.stroke,i.lineWidth=Fi(e,e.curPen.width),i.stroke(),e.drew=!0,e.curX=a,e.curY=o}function Wi(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]=ki(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]=ki(e,r,o);i.lineTo(t,n)}e.curX=r,e.curY=o}a&&e.curPen&&(i.strokeStyle=e.curPen.stroke,i.lineWidth=Fi(e,e.curPen.width),i.stroke(),e.drew=!0)}function Gi(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]=ki(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=Fi(e,e.curPen.width),i.stroke(),e.drew=!0)))}function Ki(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?ki(e,e.curX,e.curY):ki(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=ki(e,t[0],t[1]),a=ki(e,n[0],n[1]),o=ki(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=Fi(e,e.curPen.width),s.stroke(),e.drew=!0)}function qi(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]=ki(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=Fi(e,e.curPen.width),s.stroke(),e.drew=!0))}function Ji(e,t,n,r,i){let{ctx:a}=e,o=ki(e,t,n),s=ki(e,r,n),c=ki(e,r,i),l=ki(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=Fi(e,e.curPen.width),a.stroke(),e.drew=!0))}function Yi(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:Sa(i),width:Math.abs(r)}]}function Xi(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:Sa(i),width:Math.abs(r)}]}function Zi(e){let t=e.u32(),n=e.u32(),r=e.u32();return e.u32(),[t,{kind:`brush`,fill:n===1?null:Sa(r)}]}function Qi(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=fi(t,n+i,a,n+o,s);e&&(c=Bi(e))}catch{}return[r,{kind:`brush`,fill:c}]}function $i(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 ea(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)*Ni(e)*Math.abs(Ei(e))*Pi(e);if(!Number.isFinite(u)||u<1)return;let{ctx:d}=e,[f,p]=ki(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 ta(e,t,n,r,i,a,o,s,c,l,u){if(i===0||o===0)return;let d=fi(t,n+r,i,n+a,o);if(!d)return;let[f,p]=ki(e,s,c),[m,h]=ki(e,l,u);mi(e.ctx,d,f,p,m,h)&&(e.drew=!0)}function na(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(),ta(e,n,r,t.u32(),t.u32(),t.u32(),t.u32(),i,a,i+o,a+s)}function ra(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();ta(e,n,r,o,s,c,l,i,a,i+u,a+d)}function ia(e,t,n,r){if(!ba(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:_i(),mapMode:gi.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===J.EOF)break;let c=new yi(i,o+8,s);try{switch(n){case J.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 J.SETWORLDTRANSFORM:a.wt=c.xform();break;case J.MODIFYWORLDTRANSFORM:{let e=c.xform(),t=c.u32();t===1?a.wt=_i():t===2?a.wt=vi(e,a.wt):t===3?a.wt=vi(a.wt,e):t===4&&(a.wt=e);break}case J.SETMAPMODE:Ii(a,c.u32());break;case J.SETWINDOWORGEX:a.winOrgX=c.i32(),a.winOrgY=c.i32();break;case J.SETWINDOWEXTEX:{let e=c.i32(),t=c.i32();e!==0&&(a.winExtX=e),t!==0&&(a.winExtY=t);break}case J.SETVIEWPORTORGEX:a.vpOrgX=c.i32(),a.vpOrgY=c.i32();break;case J.SETVIEWPORTEXTEX:{let e=c.i32(),t=c.i32();e!==0&&(a.vpExtX=e),t!==0&&(a.vpExtY=t);break}case J.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 J.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 J.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 J.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 J.BEGINPATH:a.ctx.beginPath(),a.inPath=!0;break;case J.CLOSEFIGURE:a.inPath&&a.ctx.closePath();break;case J.ENDPATH:a.inPath=!1;break;case J.SELECTCLIPPATH:try{a.ctx.clip(a.fillRule)}catch{}break;case J.SELECTOBJECT:{let e=c.u32();if(e&2147483648)zi(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 J.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 J.CREATEPEN:{let[e,t]=Yi(c);a.objects.set(e,t);break}case J.EXTCREATEPEN:{let[e,t]=Xi(c);a.objects.set(e,t);break}case J.CREATEBRUSHINDIRECT:{let[e,t]=Zi(c);a.objects.set(e,t);break}case J.CREATEMONOBRUSH:case J.CREATEDIBPATTERNBRUSHPT:{let[e,t]=Qi(c,i,o);a.objects.set(e,t);break}case J.EXTCREATEFONTINDIRECTW:{let[e,t]=$i(c,i,o);a.objects.set(e,t);break}case J.POLYLINE16:Ui(a,c,Vi);break;case J.POLYLINE:Ui(a,c,Hi);break;case J.POLYLINETO16:Wi(a,c,Vi);break;case J.POLYLINETO:Wi(a,c,Hi);break;case J.POLYGON16:Gi(a,c,Vi);break;case J.POLYGON:Gi(a,c,Hi);break;case J.POLYBEZIER16:Ki(a,c,Vi,!1);break;case J.POLYBEZIER:Ki(a,c,Hi,!1);break;case J.POLYBEZIERTO16:Ki(a,c,Vi,!0);break;case J.POLYBEZIERTO:Ki(a,c,Hi,!0);break;case J.POLYPOLYGON16:qi(a,c,Vi,!0);break;case J.POLYPOLYGON:qi(a,c,Hi,!0);break;case J.POLYPOLYLINE16:qi(a,c,Vi,!1);break;case J.POLYPOLYLINE:qi(a,c,Hi,!1);break;case J.MOVETOEX:a.curX=c.i32(),a.curY=c.i32();break;case J.LINETO:{let e=c.i32(),n=c.i32();if(a.curPen&&a.curPen.stroke!=null){let[r,i]=ki(a,a.curX,a.curY),[o,s]=ki(a,e,n);t.beginPath(),t.moveTo(r,i),t.lineTo(o,s),t.strokeStyle=a.curPen.stroke,t.lineWidth=Fi(a,a.curPen.width),t.stroke(),a.drew=!0}a.curX=e,a.curY=n;break}case J.RECTANGLE:Ji(a,c.i32(),c.i32(),c.i32(),c.i32());break;case J.ELLIPSE:{let e=c.i32(),n=c.i32(),r=c.i32(),i=c.i32(),[o,s]=[(e+r)/2,(n+i)/2],[l,u]=ki(a,o,s),[d]=ki(a,r,s),[,f]=ki(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=Fi(a,a.curPen.width),t.stroke(),a.drew=!0);break}case J.SETPOLYFILLMODE:a.fillRule=c.u32()===1?`evenodd`:`nonzero`;break;case J.SETTEXTCOLOR:a.textColor=Sa(c.u32());break;case J.SETTEXTALIGN:a.textAlign=c.u32();break;case J.SETBKMODE:a.bkMode=c.u32();break;case J.EXTTEXTOUTW:ea(a,c,i,o);break;case J.BITBLT:na(a,c,i,o);break;case J.STRETCHDIBITS:ra(a,c,i,o);break;default:break}}catch{}o=s}return a.drew}async function aa(e,t,n){if(!ba(e)||t<=0||n<=0)return null;let r=it(t,n);if(!r)return null;let i=r.getContext(`2d`);return!i||(i.lineJoin=`round`,i.lineCap=`round`,!ia(e,i,t,n))?null:createImageBitmap(r)}function oa(e,t){return e[t]<<8|e[t+1]}function sa(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function ca(e,t){return e[t]|e[t+1]<<8}function la(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24|0}function ua(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:sa(e,16),height:sa(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:ca(e,6),height:ca(e,8)}:t>=26&&e[0]===66&&e[1]===77?da(e,14)===12?{width:ca(e,18),height:ca(e,20)}:{width:Math.abs(la(e,18)),height:Math.abs(la(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?fa(e):t>=4&&e[0]===255&&e[1]===216?pa(e):null}function da(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function fa(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:ca(e,26)&16383,height:ca(e,28)&16383};if(n===86&&r===80&&i===56&&a===76){if(t<25||e[20]!==47)return null;let n=da(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 pa(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=oa(e,n+2);if(r>=192&&r<=207&&r!==196&&r!==200&&r!==204){if(n+8>=t)return null;let r=oa(e,n+5);return{width:oa(e,n+7),height:r}}if(i<2)return null;n+=2+i}return null}function ma(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>ci}function ha(e){let t=e.close;typeof t==`function`&&t.call(e)}const ga={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},_a=2596720087;function va(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 ya(e){return e.length<4?!1:(e[0]|e[1]<<8|e[2]<<16|e[3]<<24)>>>0===_a?!0:va(e,0)}function ba(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 xa(e){return e===`image/wmf`||e===`image/emf`}function Sa(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 Ca(e,t){for(let n=0;n<e.length;n++)if(e[n]==null){e[n]=t;return}e.push(t)}var wa=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 Ta(e,t){return(t-e.orgX)*(e.W/e.extX)}function Ea(e,t){return(t-e.orgY)*(e.H/e.extY)}function Da(e,t){let n=t*Math.abs(e.W/e.extX);return n>=1?n:1}const Oa=.001;function ka(e,t,n){return Math.abs(e-t)<=Oa||Math.abs(e-n)<=Oa}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])<=Oa&&ka(i[0],0,e.W)&&ka(a[0],0,e.W),s=Math.abs(i[1]-a[1])<=Oa&&ka(i[1],0,e.H)&&ka(a[1],0,e.H);o||s||r.push([i,a])}return r}function ja(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=Da(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 Ma(e,t,n){let r=[];for(let i=0;i<n&&!(t.remaining<4);i++){let n=t.i16(),i=t.i16();r.push([Ta(e,n),Ea(e,i)])}return r}function Na(e,t){t.length<2||!e.curPen||e.curPen.stroke==null||ja(e,t,!1)}function Pa(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}ja(e,t,!0)}function Fa(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=Ma(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=Da(e,e.curPen.width),i.stroke(),e.drew=!0))}function Ia(e){let t=e.u16(),n=e.i16();e.i16();let r=e.u32();return{kind:`pen`,stroke:(t&255)==5?null:Sa(r),width:Math.abs(n)}}function La(e){let t=e.u16(),n=e.u32();return e.u16(),{kind:`brush`,fill:t===1?null:Sa(n)}}function Ra(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 za(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:Ra(e.bytes(Math.min(32,e.remaining)))}}function Ba(e,t,n,r){if(t.length===0)return;let i=e.curFont,a=i?.height||12,o=Math.abs(Ea(e,e.orgY+a)-Ea(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,Ta(e,n),Ea(e,r)),e.drew=!0}catch{}}function Va(e,t,n,r,i=!1){if(!ya(e))return!1;let a=0;(e.length>=4?(e[0]|e[1]<<8|e[2]<<16|e[3]<<24)>>>0:0)===_a&&(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===ga.EOF)break;let a=o+6,l=new wa(e,a,i);switch(n){case ga.SETWINDOWORG:s.orgY=l.i16(),s.orgX=l.i16();break;case ga.SETWINDOWEXT:{let e=l.i16(),t=l.i16();s.extY=e||1,s.extX=t||1,s.haveExt=!0;break}case ga.SETPOLYFILLMODE:s.fillRule=l.u16()===1?`evenodd`:`nonzero`;break;case ga.SETTEXTCOLOR:s.textColor=Sa(l.u32());break;case ga.SETTEXTALIGN:s.textAlign=l.u16();break;case ga.CREATEPENINDIRECT:Ca(s.objects,Ia(l));break;case ga.CREATEBRUSHINDIRECT:Ca(s.objects,La(l));break;case ga.CREATEFONTINDIRECT:Ca(s.objects,za(l));break;case ga.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 ga.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 ga.POLYLINE:Na(s,Ma(s,l,l.i16()));break;case ga.POLYGON:Pa(s,Ma(s,l,l.i16()));break;case ga.POLYPOLYGON:Fa(s,l);break;case ga.RECTANGLE:{let e=l.i16(),t=l.i16(),n=l.i16(),r=l.i16();Pa(s,[[Ta(s,r),Ea(s,n)],[Ta(s,t),Ea(s,n)],[Ta(s,t),Ea(s,e)],[Ta(s,r),Ea(s,e)]]);break}case ga.TEXTOUT:{let e=l.u16(),t=Ra(l.bytes(e));e%2!=0&&l.skip(1);let n=l.i16();Ba(s,t,l.i16(),n);break}case ga.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=pi(c,o,i-o);if(u){let i=Ta(s,r),a=Ea(s,n),o=Ta(s,r+t),c=Ea(s,n+e);mi(s.ctx,u,i,a,o,c)&&(s.drew=!0)}break}case ga.DIBSTRETCHBLT:case ga.DIBBITBLT:case ga.SETBKMODE:break;default:break}o=i}return s.drew}function Ha(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 Ua(e,t,n,r=!1){if(!ya(e)||t<=0||n<=0)return null;let i=it(t,n);if(!i)return null;let a=i.getContext(`2d`);return!a||(a.lineJoin=`round`,a.lineCap=`round`,!Va(e,a,t,n,r))?null:createImageBitmap(i)}async function Wa(e,t={}){let{widthPt:n=0,heightPt:r=0,suppressBoundaryFrame:i=!1}=t,a=new Uint8Array(await e.slice(0,64*1024).arrayBuffer());if(ya(a)){let{w:t,h:a}=Ha(n,r);return Ga(await Ua(new Uint8Array(await e.arrayBuffer()),t,a,i))}if(ba(a)){let{w:t,h:i}=Ha(n,r);return Ga(await aa(new Uint8Array(await e.arrayBuffer()),t,i))}let o=ua(a);if(o&&ma(o))throw new ui(`image-pixels`,ci,o.width*o.height);return Ga(await createImageBitmap(e))}function Ga(e){if(!e)return null;let t=Number(e.width),n=Number(e.height);if(!ma({width:t,height:n}))return e;let r=t*n;throw ha(e),new ui(`image-pixels`,ci,Number.isSafeInteger(r)&&r>=0?r:2**53-1)}const Ka=new WeakMap;async function qa(e,t){let n=Ka.get(e);n||(n={active:0,waiters:[]},Ka.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&&Ka.delete(e))}}const Ja=new WeakMap;function Ya(e){let t=Ja.get(e);return t||(t={entries:new Map,retainedBytes:0},Ja.set(e,t)),t}const Xa=new WeakMap,Za=new WeakSet;function Qa(e){!e||Za.has(e)||(Za.add(e),ha(e))}function $a(e){Qa(e)}function eo(e){let t=Xa.get(e);t||(t={count:0,deferred:[],activeBytes:0,activeBitmaps:new WeakSet},Xa.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=>Qa(e)).catch(()=>{});n.deferred=[],n.activeBytes=0,n.activeBitmaps=new WeakSet,Xa.delete(e)}}}function to(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 no(e,t){if(!t)return;let n=Xa.get(e);if(!n||n.count===0||n.activeBitmaps.has(t))return;let r=n.activeBytes+to(t);if(r>134217728)throw new ui(`active-decoded-bytes`,li,r);n.activeBitmaps.add(t),n.activeBytes=r}function ro(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,io(e,a.ownedPromise),!0}function io(e,t){let n=Xa.get(e);if(n&&n.count>0){n.deferred.push(t);return}t.then(e=>Qa(e)).catch(()=>{})}function ao(e,t,n){let r=Ya(t),i=r.entries,a=i.get(e);if(a)return i.delete(e),i.set(e,a),a.promise.then(e=>(no(t,e),e));let o=qa(t,n),s=o.then(({bitmap:e,owned:t})=>t?e:null),c=o.then(({bitmap:e,owned:n})=>{try{return no(t,e),e}catch(t){throw n&&Qa(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=to(n),r.retainedBytes+=l.weight;r.retainedBytes>li&&ro(t,r,e););}}).catch(()=>{}),c.catch(()=>{i.get(e)===l&&(i.delete(e),r.retainedBytes-=l.weight,io(t,s))}),i.set(e,l);i.size>256&&ro(t,r,e););return c}const oo=`base`;`${oo}`;function so(e,t,n,r){return ao(`${e}:${t}`,n,r)}function co(e,t,n,r){return so(`derived:${e}`,t,n,r)}function lo(e,t,n,r={}){let{widthPt:i=0,heightPt:a=0,suppressBoundaryFrame:o=!1}=r;return so(oo,e,n,async()=>({bitmap:await Wa(await n(e,t),{widthPt:i,heightPt:a,suppressBoundaryFrame:o}),owned:!0}))}function uo(e){let t=Ja.get(e);if(t){for(let n of t.entries.values())io(e,n.ownedPromise);t.entries.clear(),t.retainedBytes=0,Ja.delete(e)}}const fo=new WeakMap;function po(e){let t=fo.get(e);return t||(t={imgs:new Map},fo.set(e,t)),t}function mo(e,t){if(typeof Image>`u`)return lo(e,`image/svg+xml`,t).then(t=>{if(!t)throw Error(`svg decode failed: ${e}`);return t});let n=po(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=qa(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 ho(e){let t=fo.get(e);t&&(t.imgs.clear(),fo.delete(e))}function go(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 _o(e,t){if(!t||!(t.l||t.t||t.r||t.b))return null;let{w:n,h:r}=go(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 vo(e,t,n,r,i,a,o){let s=_o(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 yo(e,t,n,r){if(!t||!xa(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 bo(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 xo(e,t,n){return(.299*e+.587*t+.114*n)/255}function So(e,t,n){let r=bo(t),i=bo(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=xo(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 Co=(e,t)=>typeof OffscreenCanvas>`u`?null:new OffscreenCanvas(e,t);async function wo(e,t,n){let{width:r,height:i}=n;if(r<=0||i<=0||typeof createImageBitmap>`u`)return e;let a=(n.offscreenFactory??Co)(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 So(s,t.clr1,t.clr2),o.putImageData(s,0,0),createImageBitmap(a)}function To(e){return e.svgImagePath!=null&&e.srcRect==null}function Eo(e){return typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement}function Do(e=1){return typeof window<`u`&&window.devicePixelRatio||e}function Oo(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 ko=32767;function Ao(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,ko/n,ko/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 jo(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 Mo(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 No=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`)}},Po=class e extends Error{code=`parser-crashed`;constructor(t){super(t),this.name=`WasmTrapError`,Object.setPrototypeOf(this,e.prototype)}};function Fo(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 Io(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 Lo(e,t){return e({module_or_path:t})}var Ro=class{runtime;wasmInput=null;currentArchive=null;constructor(e,t={}){this.init=e,this.options=t,this.runtime=new No(()=>this.invokeConfigured(this.init),()=>this.invokeConfigured(this.options.reinit??this.init),zo),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 Po(`WASM parser was recycled`))}invokeConfigured(e){return this.wasmInput===null?Promise.reject(Error(`WasmParserHost: setWasmInput was never called`)):Lo(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,Io(e)}};function zo(e){return Fo(e)?new Po(`WASM parser trapped and was recycled: ${e instanceof Error?e.message:String(e)}`):null}function Bo(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>0}function Vo(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return Bo(t.requiredBytes)&&Bo(t.offeredBytes)&&t.requiredBytes>t.offeredBytes}var Ho=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 Uo(e){if(e instanceof Ho)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`||!Vo(r)))return new Ho(r)}function Wo(e,t,n){let r=Uo(e);if(!(!r||r.offeredBytes!==t||r.requiredBytes>n))return r}function Go(e,t,n){if(Ko(e))return e.offeredBytes===t&&e.requiredBytes<=n?e.requiredBytes:void 0}function Ko(e){return e instanceof Ho||!!e&&typeof e==`object`&&e.code===`ooxml-insufficient-credit`&&Vo(e)}const qo=`OOXML_RESOURCE_LIMIT:`;function Jo(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function Yo(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return Jo(t.archiveEntryCount)&&Jo(t.declaredInflatedBytes)&&(t.largestInflatedEntryBytes===void 0||Jo(t.largestInflatedEntryBytes))&&Jo(t.distinctInflatedBytes)&&Jo(t.operationInflatedBytes)}function Xo(e){let t;try{t=JSON.parse(new TextDecoder().decode(e))}catch{throw TypeError(`OOXML resource usage checkpoint is not valid JSON`)}if(!Yo(t))throw TypeError(`OOXML resource usage checkpoint is invalid`);return t}function Zo(e){return e===`docx`||e===`xlsx`||e===`pptx`}function Qo(e){return e===`container`||e===`decompression`||e===`parsing`||e===`serialization`||e===`layout`||e===`rendering`||e===`worker`}function $o(e,t){return typeof e==`string`&&e.length>0&&e.length<=t&&!/[\\u0000-\\u001f\\u007f]/u.test(e)}function es(e){return $o(e,128)&&/^[a-z0-9][a-z0-9-]*$/u.test(e)}function ts(e){return!$o(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 ns=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}]]),rs=new Set([...ns.keys()].map(e=>e.slice(0,e.indexOf(`:`)))),is=new Set([...ns.keys()].map(e=>e.slice(e.indexOf(`:`)+1)));function as(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return!Zo(t.format)||!$o(t.operation,256)||!es(t.resource)||!es(t.metric)||!Jo(t.limit)||!Jo(t.observed)||typeof t.configurable!=`boolean`||!Yo(t.usage)?!1:!(`part`in t)||ts(t.part)}function os(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;if(!Qo(t.stage)||!as(t.violation))return!1;let n=t.violation,r=ns.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:!(rs.has(n.resource)&&is.has(n.metric))}function ss(e){return{archiveEntryCount:e.archiveEntryCount,declaredInflatedBytes:e.declaredInflatedBytes,...e.largestInflatedEntryBytes===void 0?{}:{largestInflatedEntryBytes:e.largestInflatedEntryBytes},distinctInflatedBytes:e.distinctInflatedBytes,operationInflatedBytes:e.operationInflatedBytes}}function cs(e){if(!os(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:ss(t.usage)}};return os(n)?n:void 0}function ls(e){let t=e.violation;return`OOXML resource limit exceeded${t.part?` for ${t.part}`:``}: ${t.metric} ${t.observed} > ${t.limit}`}function us(e){let t=e instanceof Error?e.message:String(e);if(!t.startsWith(qo))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`||!os(r.details)))return new w(ls(r.details),r.details)}function ds(e){if(e instanceof ui)return{message:e.message,errorName:e.name,code:e.code,decodedImage:{metric:e.metric,limit:e.limit,observed:e.observed}};let t=Uo(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:us(e);if(n instanceof w){let e=cs(n.details);return e?{message:typeof n.message==`string`?n.message:ls(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:$o(n.name,128)?n.name:`OoxmlError`,...es(n.code)?{code:n.code}:{}};let r=e instanceof Error?e.message:String(e);if(typeof r==`string`&&r.startsWith(qo))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:$o(i.name,128)?i.name:`Error`,...typeof a.code==`string`?{code:a.code}:{}}}function fs(e){try{return ds(e)}catch{return{message:`Worker operation failed with an unreadable error`,errorName:`Error`}}}const ps=new Set([`encrypted`,`invalid-password`,`unsupported-encryption`,`legacy-binary-format`,`not-ooxml`]);function ms(e){if(e.code===`ooxml-decoded-image-limit`&&e.decodedImage&&(e.decodedImage.metric===`image-pixels`||e.decodedImage.metric===`active-decoded-bytes`)&&Jo(e.decodedImage.limit)&&Jo(e.decodedImage.observed)&&e.decodedImage.observed>e.decodedImage.limit)return new ui(e.decodedImage.metric,e.decodedImage.limit,e.decodedImage.observed);if(e.code===`ooxml-insufficient-credit`&&Vo(e.insufficientCredit))return new Ho(e.insufficientCredit);if(e.code===`ooxml-resource-limit`&&os(e.resourceLimit))return new w(e.message,e.resourceLimit);if(e.code&&ps.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 hs(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 gs(e){return[e.maxArchiveEntryBytes===null?0n:BigInt(e.maxArchiveEntryBytes),e.maxTotalInflatedBytes===null?0n:BigInt(e.maxTotalInflatedBytes),e.maxArchiveEntries===null?0n:BigInt(e.maxArchiveEntries)]}const _s=`ooxml-pull-v1`;function vs(e,t){if(!Number.isSafeInteger(e)||e<=0)throw RangeError(`${t} must be a positive safe integer`)}function ys(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 bs=class{bridge;options;sequence=0;pulling=!1;outstanding=!1;ending=!1;completed=!1;lifecyclePromise;usage;orphanedRequestIds=new Set;transferDisposers=new Set;constructor(e,t){ys(t.sessionId),vs(t.operationId,`operation id`),vs(t.generation,`generation`),vs(t.maxByteCredit,`max byte credit`),t.cancelGraceMs!==void 0&&vs(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:_s,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 ms(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!Ko(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:_s,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:_s,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:_s,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:_s,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 ms(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(vs(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&&vs(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{}}},xs=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,vs(this.maxRetainedBytes,`max retained lease bytes`),vs(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}},Ss=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){ys(e.sessionId),vs(e.operationId,`operation id`),vs(e.generation,`generation`),vs(e.maxByteCredit,`max byte credit`),e.wireLeaseIdStart!==void 0&&vs(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=fs(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(vs(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:_s,...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){vs(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(vs(e,`byte credit`),e>this.options.maxByteCredit)throw RangeError(`byte credit exceeds host maximum`)}accepted(e,t,n=!1){return{kind:`accepted`,protocol:_s,...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:_s,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 Cs=[`L`,`R`,`AL`,`EN`,`ES`,`ET`,`AN`,`CS`,`NSM`,`BN`,`B`,`S`,`WS`,`ON`,`LRE`,`LRO`,`RLE`,`RLO`,`PDF`,`LRI`,`RLI`,`FSI`,`PDI`],ws=[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],Ts=[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],Es=[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],Ds=[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 Os(e){let t=0,n=ws.length-1;for(;t<n;){let r=t+n+1>>1;ws[r]<=e?t=r:n=r-1}return Ts[t]}function ks(e){return Cs[Os(e)]}const As=(()=>{let e=new Map;for(let t=0;t<Es.length;t+=2)e.set(Es[t],Es[t+1]);return e})();function js(e){return As.get(e)??null}const Ms=(()=>{let e=new Map;for(let t=0;t<Ds.length;t+=3)e.set(Ds[t],{pair:Ds[t+1],type:Ds[t+2]===0?`o`:`c`});return e})();function Ns(e){return Ms.get(e)??null}const Ps=e=>e===`RLE`||e===`LRE`||e===`RLO`||e===`LRO`||e===`PDF`||e===`BN`,Fs=e=>e===`LRI`||e===`RLI`||e===`FSI`,Is=e=>e===`B`||e===`S`||e===`WS`||e===`ON`||e===`FSI`||e===`LRI`||e===`RLI`||e===`PDI`,Ls=e=>e&1?e+2:e+1,Rs=e=>e&1?e+1:e+2;function zs(e,t,n){let r=0;for(let i=t;i<n;i++){let t=e[i];if(Fs(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 Bs(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(Fs(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 Vs(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`?Ls(u().level):Rs(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`:zs(e,d+1,n[d])===1?`R`:`L`;let p=f===`R`?Ls(u().level):Rs(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 Hs(e){return e===9001?12296:e===9002?12297:e}function Us(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(Fs(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(!(Fs(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 Ws=e=>e===`L`?`L`:e===`R`||e===`EN`||e===`AN`?`R`:null;function Gs(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=Ns(t[i]);if(o)if(o.type===`o`){if(e.length===63)break outer;e.push({expect:Hs(o.pair),pos:n})}else{let r=Hs(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=Ws(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=Ws(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(!Is(r[a[e]]))continue;let t=e;for(;t<o&&Is(r[a[t]]);)t++;let n=e>0?Ws(r[a[e-1]]):s,i=t<o?Ws(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++)Is(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 Ks(e,t,n){let r=e.length,i=Array(r);for(let t=0;t<r;t++)i[t]=n?.[t]??ks(e[t]);let a=t===`rtl`?1:t===`ltr`?0:zs(i,0,r),{pdiOf:o,initOf:s}=Bs(i),{levels:c,types:l}=Vs(i,a,o),u=Array(r);for(let e=0;e<r;e++)u[e]=Ps(i[e]);let d=Us(i,c,u,a,o,s),f=l.slice();for(let t of d)Gs(t,e,i,f,c);let p=e=>{let t=i[e];return t===`WS`||Fs(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 qs(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 Js(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 Ys=class{computeLevels(e,t,n){let{cps:r,units:i,starts:a}=Js(e),{levels:o,paragraphLevel:s}=Ks(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 qs(e,t,n)}getMirror(e){return js(e)}};function Xs(){return new Ys}let Zs=null;function Qs(){return Zs===null&&(Zs=Xs()),Zs}const $s=/[\\u0590-\\u08FF\\uFB1D-\\uFDFF\\uFE70-\\uFEFF\\u200F\\u202B\\u202E\\u2067]|[\\u{10800}-\\u{10FFF}\\u{1E800}-\\u{1EFFF}]/u;function ec(e){return $s.test(e)}function tc(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:Qs().reorderVisual(i,0,r),segLevels:i}}function nc(e){let t=new Set;for(let n of e)t.add(n.codePointAt(0));return t}function rc(e){return{enabled:e?.kinsoku!==!1,lineStartForbidden:nc(e?.noLineBreaksBefore??`”’)〕]}〉》」』】〙〗〟⦆»、。,.・:;/?!‐ー゠–〜~ぁぃぅぇぉっゃゅょゎゕゖァィゥェォッャュョヮヵヶㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ゝゞヽヾ゛゜%‰℃°′″。」、・ー゙゚!),.:;?]}⦆`),lineEndForbidden:nc(e?.noLineBreaksAfter??`“‘(〔[{〈《「『【〘〖〝⦅«$¥#£¢([{⦅`)}}const ic=rc();function ac(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 oc(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 sc(e){return e>=12288&&e<=40959||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65280&&e<=65519}const cc=`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(`.`),lc=[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],uc=[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],dc=[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],fc=[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 pc(e){let t=0,n=lc.length-1;for(;t<n;){let r=t+n+1>>1;lc[r]<=e?t=r:n=r-1}return cc[uc[t]]}function mc(e){let t=0,n=dc.length-1;if(n<0||e<dc[0])return!1;for(;t<n;){let r=t+n+1>>1;dc[r]<=e?t=r:n=r-1}return e<fc[t]}function hc(e,t){let n=pc(e);if(n===`OP`)return!0;let r=pc(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`&&!mc(t)||n===`CP`&&!mc(e)&&(a||r===`NU`))}function gc(e){return e===`my`||e===`bo`}function _c(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 vc(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 yc(e){return e<=3711?`th`:e<=3839?`lo`:e<=4095?`bo`:e<=4255?`my`:e<=6143?`km`:`my`}function bc(e){for(let t of e)if(_c(t.codePointAt(0)))return!0;return!1}function xc(e){for(let t of e){let e=t.codePointAt(0);if(_c(e))return gc(yc(e))}return!1}function Sc(e){let t=!1;for(let n of e){let e=n.codePointAt(0);if(_c(e)){if(gc(yc(e)))return!1;t=!0}}return t}const Cc=new Map;function wc(e){let t=Cc.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 Cc.set(e,n),n}function Tc(e){let t=wc(e);return t?e=>t.segment(e):null}function Ec(e){if(!bc(e))return[];let t=[],n=e.length,r=0;for(;r<n;){let i=e.codePointAt(r),a=i>65535?2:1;if(!_c(i)){r+=a;continue}let o=yc(i),s=gc(o),c=r+a;for(;c<n;){let t=e.codePointAt(c);if(!_c(t)||gc(yc(t))!==s)break;c+=t>65535?2:1}let l=e.slice(r,c);if(s)for(let e of Pc(l))t.push(r+e);else{let e=Tc(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 Dc(e){if(!bc(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;_c(r)!==_c(n)&&!Oc(r)&&!Oc(n)&&t.push(i),r=n,i+=a}return t}function Oc(e){return e===32||e===9||e===10||e===13||e===12288||e===160||e===8199||e===8239||e===8288||e===65279}function kc(e,t){if(!bc(e))return[];let n=e.length,r=new Set(Ec(e)),i=new Set(Pc(e)),a=e=>{i.has(e)&&r.add(e)};for(let t of Dc(e))a(t);if(t?.cjk){let t=e.codePointAt(0),r=t>65535?2:1;for(;r<n;){let n=e.codePointAt(r);(sc(n)||sc(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 jc(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 Mc;function Nc(){if(Mc!==void 0)return Mc;let e=null;try{typeof Intl<`u`&&typeof Intl.Segmenter==`function`&&(e=new Intl.Segmenter(void 0,{granularity:`grapheme`}))}catch{e=null}return Mc=e,e}function Pc(e){let t=Nc();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 Fc=[`U`,`R`,`Tu`,`Tr`],Ic=[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],Lc=[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 Rc(e){let t=0,n=Ic.length-1;for(;t<n;){let r=t+n+1>>1;Ic[r]<=e?t=r:n=r-1}return Lc[t]}function zc(e){return Fc[Rc(e)]}function Bc(e){return Vc.get(e)??null}const Vc=new Map([[65292,65040],[12289,65041],[12290,65042]]);function Hc(e){return Uc.get(e)??null}const Uc=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]]),Wc=new Set([65307]);function Gc(e){return Wc.has(e)}const Kc=new WeakMap;function qc(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 Jc(e,t){return e.replace(/(^|\\s)\\d*\\.?\\d+(?:px|pt|pc|in|cm|mm|q|em|rem|%)(?:\\/[^\\s]+)?(?=\\s)/i,`$1${t}`)}function Yc(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 Xc(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 Zc(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 Qc(e,t){let n=qc(e);return n===null?t():Zc(n,t)}function $c(e){let t=Kc.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),Kc.set(e,r),r}function el(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 tl(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),el(e,i)}function nl(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 rl(e,t,n,r){let i=(e,t,n,r)=>{let i=Math.max(nl(e,t),nl(n,r));return Math.min(nl(e,n),nl(e,r),nl(t,n),nl(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 il(e,t){let n=qc(e);if(n===null||typeof document>`u`)return!1;let r=n.ownerDocument??document,i=$c(r),a=Xc(n),o=`${i.epoch}:${Jc(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=Jc(e.font,`200px`),d.fillStyle=`#000`,d.textAlign=`center`,d.textBaseline=`middle`;let n=Yc(a,!1),r=Yc(a,!0),i=tl(d,t,n),o=tl(d,t,n),s=tl(d,t,r),l=tl(d,t,r);c=i!==null&&o!==null&&s!==null&&l!==null&&rl(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 al(e,t){let n=e.canvas;return n?.style?Qc(e,()=>{let r=n.style,i=r.fontFeatureSettings;r.fontFeatureSettings=Yc(Xc(n)),e.font=e.font;try{return t()}finally{r.fontFeatureSettings=i,e.font=e.font}}):t()}function ol(e,t){return al(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 sl=e=>e===32||e===12288;function cl(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??sc,s=n.isWhitespace??sl,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&&_c(r)&&_c(a)&&!vc(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 ll=[[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 ul(e){let t=``,n=e;for(let[e,r]of ll)for(;n>=e;)t+=r,n-=e;return t}function dl(e,t){let n=t.length,r=Math.floor((e-1)/n)+1;return t[(e-1)%n].repeat(r)}const fl=Array.from({length:26},(e,t)=>String.fromCharCode(65+t)),pl=`أ.ب.ت.ث.ج.ح.خ.د.ذ.ر.ز.س.ش.ص.ض.ط.ظ.ع.غ.ف.ق.ك.ل.م.ن.ه.و.ي`.split(`.`),ml=`أ.ب.ج.د.ه.و.ز.ح.ط.ي.ك.ل.م.ن.س.ع.ف.ص.ق.ر.ش.ت.ث.خ.ذ.ض.غ.ظ`.split(`.`),hl=[`א`,`ב`,`ג`,`ד`,`ה`,`ו`,`ז`,`ח`,`ט`,`י`,`כ`,`ל`,`מ`,`נ`,`ס`,`ע`,`פ`,`צ`,`ק`,`ר`,`ש`,`ת`],gl=[...Cl(1072,1080),...Cl(1082,1087),...Cl(1088,1097),`ы`,`э`,`ю`,`я`],_l=[...Cl(1040,1048),...Cl(1050,1055),...Cl(1056,1065),`Ы`,`Э`,`Ю`,`Я`],vl=[`ก`,`ข`,`ค`,...Cl(3591,3619),`ล`,...Cl(3623,3630)],yl=[`ㄱ`,`ㄴ`,`ㄷ`,`ㄹ`,`ㅁ`,`ㅂ`,`ㅅ`,`ㅇ`,`ㅈ`,`ㅊ`,`ㅋ`,`ㅌ`,`ㅍ`,`ㅎ`],bl=[`가`,`나`,`다`,`라`,`마`,`바`,`사`,`아`,`자`,`차`,`카`,`타`,`파`,`하`],xl=Cl(2325,2361),Sl=[...Cl(2309,2324),`अं`,`अः`];function Cl(e,t){let n=[];for(let r=e;r<=t;r++)n.push(String.fromCodePoint(r));return n}const wl=`ア.イ.ウ.エ.オ.カ.キ.ク.ケ.コ.サ.シ.ス.セ.ソ.タ.チ.ツ.テ.ト.ナ.ニ.ヌ.ネ.ノ.ハ.ヒ.フ.ヘ.ホ.マ.ミ.ム.メ.モ.ヤ.ユ.ヨ.ラ.リ.ル.レ.ロ.ワ.ヰ.ヱ.ヲ.ン`.split(`.`),Tl=[...Cl(65393,65436),`ヲ`,`ン`];function El(e){return e<=20?String.fromCodePoint(9312+(e-1)):String(e)}function Dl(e,t){return String(e).split(``).map(e=>t[e.charCodeAt(0)-48]).join(``)}const Ol=Cl(65296,65305),kl=Cl(3664,3673),Al=Cl(2406,2415),jl=[`〇`,`一`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`],Ml=[`영`,`일`,`이`,`삼`,`사`,`오`,`육`,`칠`,`팔`,`구`],Nl=[`零`,`一`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`],Pl=[`○`,`一`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`];function Fl(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 Dl(e,t)}function Il(e,t){switch(t){case`upperRoman`:return e>=1?ul(e):String(e);case`lowerRoman`:return e>=1?ul(e).toLowerCase():String(e);case`upperLetter`:return e>=1?dl(e,fl):String(e);case`lowerLetter`:return e>=1?dl(e,fl).toLowerCase():String(e);case`arabicAlpha`:return e>=1?dl(e,pl):String(e);case`arabicAbjad`:return e>=1?dl(e,ml):String(e);case`russianLower`:return e>=1?dl(e,gl):String(e);case`russianUpper`:return e>=1?dl(e,_l):String(e);case`thaiLetters`:return e>=1?dl(e,vl):String(e);case`chosung`:return e>=1?dl(e,yl):String(e);case`ganada`:return e>=1?dl(e,bl):String(e);case`hindiVowels`:return e>=1?dl(e,xl):String(e);case`hindiConsonants`:return e>=1?dl(e,Sl):String(e);case`aiueoFullWidth`:return e>=1?dl(e,wl):String(e);case`aiueo`:return e>=1?dl(e,Tl):String(e);case`decimalEnclosedCircle`:return e>=1?El(e):String(e);case`hebrew1`:return e>=1?Bl(e):String(e);case`hebrew2`:return e>=1?Vl(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?Dl(e,Ol):String(e);case`decimalHalfWidth`:return String(e);case`thaiNumbers`:return e>=1?Dl(e,kl):String(e);case`hindiNumbers`:return e>=1?Dl(e,Al):String(e);case`ideographDigital`:case`japaneseDigitalTenThousand`:return e>=1?Dl(e,jl):String(e);case`koreanDigital`:return e>=1?Dl(e,Ml):String(e);case`koreanDigital2`:return e>=1?Dl(e,Nl):String(e);case`taiwaneseDigital`:return e>=1?Dl(e,Pl):String(e);case`chineseCounting`:return e>=1?Fl(e,jl):String(e);case`taiwaneseCounting`:return e>=1?Fl(e,Pl):String(e);case`chineseCountingThousand`:return e>=1?Xl(e,Ul):String(e);case`taiwaneseCountingThousand`:return e>=1?Xl(e,Wl):String(e);case`chineseLegalSimplified`:return e>=1?Xl(e,Kl):String(e);case`ideographLegalTraditional`:return e>=1?Xl(e,Jl):String(e);case`japaneseCounting`:return e>=1?Xl(e,Hl):String(e);case`japaneseLegal`:return e>=1?Xl(e,ql):String(e);case`koreanCounting`:return e>=1?Xl(e,Gl):String(e);case`koreanLegal`:return e>=1?$l(e):String(e);default:return String(e)}}const Ll=[``,`א`,`ב`,`ג`,`ד`,`ה`,`ו`,`ז`,`ח`,`ט`],Rl=[``,`י`,`כ`,`ל`,`מ`,`נ`,`ס`,`ע`,`פ`,`צ`],zl=[``,`ק`,`ר`,`ש`,`ת`,`ך`,`ם`,`ן`,`ף`,`ץ`];function Bl(e){let t=``,n=e,r=Math.floor(n/1e3);n%=1e3;let i=Math.floor(n/100);if(n%=100,r>0&&(t+=Ll[r%10]),t+=zl[i],n===15)return t+`טו`;if(n===16)return t+`טז`;let a=Math.floor(n/10),o=n%10;return t+=Rl[a],t+=Ll[o],t}function Vl(e){let t=hl.length,n=Math.floor((e-1)/t);return hl[e-t*n-1]+`ת`.repeat(n)}const Hl={digits:Nl,ten:`十`,hundred:`百`,thousand:`千`,myriad:`万`,elideOne:!0,insertZero:!1},Ul={...Hl,elideOne:!1,insertZero:!0},Wl={...Ul},Gl={digits:[`영`,`일`,`이`,`삼`,`사`,`오`,`육`,`칠`,`팔`,`구`],ten:`십`,hundred:`백`,thousand:`천`,myriad:`만`,elideOne:!0,insertZero:!1},Kl={digits:[`零`,`壹`,`贰`,`叁`,`肆`,`伍`,`陆`,`柒`,`捌`,`玖`],ten:`拾`,hundred:`佰`,thousand:`仟`,myriad:`万`,elideOne:!1,insertZero:!0},ql={digits:[`零`,`壱`,`弐`,`参`,`四`,`伍`,`六`,`七`,`八`,`九`],ten:`拾`,hundred:`百`,thousand:`阡`,myriad:`萬`,elideOne:!1,insertZero:!1},Jl={digits:[`零`,`壹`,`貳`,`參`,`肆`,`伍`,`陸`,`柒`,`捌`,`玖`],ten:`拾`,hundred:`佰`,thousand:`仟`,myriad:`萬`,elideOne:!1,insertZero:!1};function Yl(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 Xl(e,t){if(e>=1e8){let n=Math.floor(e/1e8),r=e%1e8,i=Xl(n,t)+`億`;return r===0?i:i+(t.insertZero&&r<1e7?t.digits[0]:``)+Xl(r,t)}let n=Math.floor(e/1e4),r=e%1e4,i=``;return n>0&&(i+=Yl(n,t,t.elideOne)+t.myriad),r>0&&(t.insertZero&&n>0&&r<1e3&&(i+=t.digits[0]),i+=Yl(r,t,t.elideOne)),i}const Zl=[``,`하나`,`둘`,`셋`,`넷`,`다섯`,`여섯`,`일곱`,`여덟`,`아홉`],Ql=[``,`열`,`스물`,`서른`,`마흔`,`쉰`,`예순`,`일흔`,`여든`,`아흔`];function $l(e){if(e>=100)return String(e);let t=Math.floor(e/10),n=e%10;return Ql[t]+Zl[n]}const eu={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 tu(e){let t=/\\\\\\*\\s+(\\S+)/g,n;for(;(n=t.exec(e))!==null;){let e=eu[n[1]];if(e)return e}return null}const nu=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],ru=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],iu=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],au=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],ou=e=>e<10?`0${e}`:`${e}`;function su(e){let t=/\\\\@\\s*\"([^\"]*)\"/.exec(e);if(t)return t[1];let n=/\\\\@\\s*(\\S+)/.exec(e);return n?n[1]:null}function cu(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`):ou(n%100):t===`M`?g=m>=4?nu[r]:m===3?ru[r]:m===2?ou(r+1):String(r+1):h===`d`?g=m>=4?iu[a]:m===3?au[a]:m===2?ou(i):String(i):t===`H`?g=m>=2?ou(o):String(o):t===`h`?g=m>=2?ou(s):String(s):t===`m`?g=m>=2?ou(c):String(c):t===`s`?g=m>=2?ou(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 lu=[[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 uu(e,t){if(!e)return null;let n=e.toLowerCase();for(let[e,r]of lu)if(e(n)&&(t||!r.eaOnly))return r;return null}function du(e,t=!1){let n=uu(e,t);return n===null?null:n.asc+n.desc}function fu(e,t,n=!1){let r=du(e,n);return r===null?0:r*t}function pu(e,t,n,r,i=!1){let a=uu(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 mu(e){return e.trim().toLowerCase()}function hu(e){return`local(\"${e.replaceAll(`\\\\`,`\\\\\\\\`).replaceAll(`\"`,`\\\\\"`)}\")`}function gu(e){return`__ooxml_local_${[...e].map(e=>(e.codePointAt(0)??0).toString(16).padStart(6,`0`)).join(``)}`}function _u(){return typeof OffscreenCanvas<`u`?new OffscreenCanvas(1,1).getContext(`2d`):typeof document<`u`&&document?.createElement?document.createElement(`canvas`).getContext(`2d`):null}async function vu(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(hu).join(`, `),s=mu(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=gu(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=_u();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 yu(e){D(e)}const bu=[{test:e=>e===`georgia`,biasEm:.0105}];function xu(e){return(e??``).trim().replace(/^[\"']|[\"']$/g,``).replace(/\\s+/g,` `).toLowerCase()}function Su(e){let t=xu(e);for(let e of bu)if(e.test(t))return e.biasEm;return 0}function Cu(e,t){if(!Number.isSafeInteger(e)||e<=0)throw TypeError(`${t} must be a positive safe integer`)}function wu(e){if(!Number.isSafeInteger(e)||e<0)throw TypeError(`cache entry weight must be a non-negative safe integer`)}var Tu=class{#e;#t;#n;#r;#i=new Map;#a=new Map;#o=0;constructor(e){Cu(e.maxEntries,`maxEntries`),Cu(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),wu(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{}}},Eu=class{#e;constructor(e){this.#e=new Tu({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 Du(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)=>Du(e,`${t}[${n}]`)).join(`,`)}]`;if(typeof e==`object`){let n=e;return`{${Object.keys(n).sort().map(e=>`${JSON.stringify(e)}:${Du(n[e],`${t}.${e}`)}`).join(`,`)}}`}throw TypeError(`Cannot fingerprint ${typeof e} at ${t}`)}function Ou(e,t){let n=Du(t);return`${e}:${encodeURIComponent(n)}`}function ku(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(ku(e)),encodeURIComponent(t),encodeURIComponent(n)].join(`/`)}function ju(e,t){return`image:${ku(e)}:${encodeURIComponent(t)}`}function Mu(e,t){return`math:${ku(e)}:${encodeURIComponent(t)}`}function Nu(e){return Ou(`chart-resource`,e)}function Pu(e,t){return`anchor:${ku(e)}:${encodeURIComponent(t)}`}function Fu(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`);Fu(a.value,`${t}.${i}`,n,r)}}finally{n.delete(e)}r.add(e)}function Iu(e,t=new WeakSet){if(typeof e!=`object`||!e||t.has(e))return e;t.add(e);for(let n of Object.values(e))Iu(n,t);return Object.freeze(e)}function Lu(e,t){Fu(e,t);try{return Iu(structuredClone(e))}catch{throw TypeError(`${t} must be structured-clone-safe plain data`)}}function Ru(e,t){return Fu(e,t),Iu(e)}function zu(e,t){if(typeof e!=`string`||e.trim().length===0)throw TypeError(`${t} must be a non-empty string`)}function Bu(e,t){if(!Number.isFinite(e)||e<0)throw TypeError(`${t} must be finite and non-negative`)}function Vu(e,t){if(!Number.isFinite(e))throw TypeError(`${t} must be finite`)}function Hu(e,t){if(!Number.isFinite(e)||e<0||e>1)throw TypeError(`${t} must be between 0 and 1`)}function Uu(e,t){Bu(e.widthPt,`${t}.widthPt`),Bu(e.heightPt,`${t}.heightPt`)}function Wu(e){switch(zu(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(zu(e.partPath,`partPath`),zu(e.mimeType,`mimeType`),e.svgImagePath!==void 0&&zu(e.svgImagePath,`svgImagePath`),Uu(e.intrinsicSize,`intrinsicSize`),e.alpha!==void 0&&Hu(e.alpha,`alpha`),e.rotation!==void 0&&!Number.isFinite(e.rotation))throw TypeError(`rotation must be finite`);e.srcRect!==void 0&&(Vu(e.srcRect.l,`srcRect.l`),Vu(e.srcRect.t,`srcRect.t`),Vu(e.srcRect.r,`srcRect.r`),Vu(e.srcRect.b,`srcRect.b`));break;case`chart`:Uu(e.intrinsicSize,`intrinsicSize`);break;case`math`:break;default:throw TypeError(`Unknown paint resource kind: ${String(e)}`)}}function Gu(e){return Wu(e),Lu(e,`paint resource ${e.resourceKey}`)}function Ku(e,t,n){return Error(`Paint resource kind mismatch for ${e}: expected ${t}, got ${n}`)}function qu(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(Gu).sort((e,t)=>e.resourceKey.localeCompare(t.resourceKey));return Ju(Object.freeze(n))}function Ju(e){if(!Object.isFrozen(e))throw TypeError(`Owned paint descriptors must be sealed`);let t=null;for(let n of e){if(Wu(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 Ku(e,t,n.kind);return n}})}function Yu(e){return Nu(e)}function Xu(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 Zu(e,t,n,r){let i=[],a=[],o=[],s=(e,t,n,r,o,s,c={})=>{let l=ju(t,n);i.push(Xu(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:Yu(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 Qu(e,t,n,r){let i=Zu(e,t,n,r);return Object.freeze({imageMetadata:Object.freeze(i.imageMetadata.map(e=>Object.freeze({...e}))),paintResources:qu(i.descriptors)})}function $u(e,t){if(!Number.isFinite(e)||e<0)throw RangeError(`${t} must be finite and non-negative`);return e}function ed(e){let t=[...e].map(e=>Object.freeze({resourceKey:e.resourceKey,widthPt:$u(e.widthPt,`widthPt`),heightPt:$u(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:Ou(`images`,t),resolve(e){let t=n.get(e);if(!t)throw Error(`Unknown image resource: ${e}`);return t}})}function td(e){let t=[...e].map(e=>Object.freeze({resourceKey:e.resourceKey,widthEm:$u(e.widthEm,`widthEm`),ascentEm:$u(e.ascentEm,`ascentEm`),descentEm:$u(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:Ou(`math`,t),resolve(e){let t=n.get(e);if(!t)throw Error(`Unknown math resource: ${e}`);return t}})}function nd(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 rd=new WeakMap,id=new WeakMap,ad=new WeakMap,od=new WeakMap,sd=new WeakMap,cd=new WeakMap,ld=new WeakMap;function ud(){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 dd(e,t){let n=[e.text,e.images,e.math],r=new Set(n.flatMap(e=>{let t=id.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=>!id.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=id.get(e);if(t&&t!==o)throw Error(`Layout services combine foreign runtime owners`);id.set(e,o)}return o}function fd(e,t){let n=dd(e,!0);if(ad.has(n))throw Error(`Body layout kernel is already attached`);ad.set(n,t)}function pd(e){let t=dd(e,!1);return t?ad.get(t):void 0}function md(e,t){let n=dd(e,!0);if(od.has(n))throw Error(`Layout source store is already attached`);od.set(n,t)}function hd(e){let t=dd(e,!1);return t?od.get(t):void 0}function gd(e,t){let n=dd(e,!0);if(sd.has(n))throw Error(`Vertical glyph measurement service is already attached`);sd.set(n,t)}function _d(e){let t=dd(e,!1),n=t?sd.get(t):void 0;if(!n)throw Error(`Vertical glyph measurement service is not attached`);return n}function vd(e,t){if(cd.has(e))throw Error(`Layout variant store is already attached`);cd.set(e,t)}function yd(e){return cd.get(e)}function bd(e,t,n=t.keys()){if(rd.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(`, `)}]`);rd.set(e,nd(t))}function xd(e){return rd.get(e)}const Sd=new WeakMap,Cd=new WeakMap;function wd(e,t={}){let n=Object.freeze({...e,...t}),r=pd(e);if(!r)throw Error(`Body layout kernel is not attached to the supplied services`);if(pd(n)!==r)throw Error(`Layout service view did not retain its body layout kernel owner`);let i=rd.get(e);i&&rd.set(n,i);let a=Sd.get(e);a&&Sd.set(n,a);let o=ld.get(e);return o&&ld.set(n,o),n}function Td(e){let t=wd(e);return ld.set(t,ud()),t}function Ed(e){return ld.get(e)}function Dd(e,t){if(!Number.isInteger(t.totalPages)||t.totalPages<1)throw RangeError(`Field acquisition totalPages must be a positive integer`);let n=wd(e);return Cd.set(n,Object.freeze({...t})),n}function Od(e){return Cd.get(e)??Object.freeze({totalPages:1})}function kd(e,t){if(Sd.has(e))throw Error(`Paint resource registry is already attached`);Sd.set(e,t)}function Ad(e){let t=Sd.get(e);if(!t)throw Error(`Paint resource registry is not attached`);return t}const jd=[`background`,`behindText`,`header`,`body`,`notes`,`front`,`footer`],Md=Object.freeze({a:1,b:0,c:0,d:1,e:0,f:0});function Nd(e){return Object.freeze({kind:`clip`,clip:e})}function Pd(e,t){return Object.freeze({kind:`transform`,transform:Object.freeze({...Md,e,f:t})})}function Fd(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 Id(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,Nd(e.story.clipBounds)]):n;for(let n of e.story.blocks)Id(n,t,a,r,i);return}if(e.kind===`paragraph`){let a=e.clipBounds?Object.freeze([...n,Nd(e.clipBounds)]):n;for(let n of e.drawings)n.anchorLayer&&i.push(Object.freeze({drawing:n,owner:e,textBoxes:Fd(e,n),frames:Object.freeze([...a]),layoutTranslationPt:Object.freeze({...r}),encounterOrder:i.length,root:t}));return}zd(e,t,n,r,i)}}function Ld(e,t,n,r,i,a){let o=t.xPt-e.flowBounds.xPt,s=t.yPt-e.flowBounds.yPt;Id(e,n,Object.freeze([...r,Pd(o,s)]),Object.freeze({xPt:i.xPt+o,yPt:i.yPt+s}),a)}function Rd(e,t,n,r,i){Ld(e.child,{xPt:e.xPt-r.xPt,yPt:e.yPt-r.yPt},t,n,r,i)}function zd(e,t,n,r,i){let a=e.clipBounds?Object.freeze([...n,Nd(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,Nd(e.clipBounds)]):a;for(let n of e.blocks)Ld(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??[])Rd(n,t,a,r,i)}function Bd(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 Vd(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 Hd(e,t){return e.drawing.anchorLayer.relativeHeight-t.drawing.anchorLayer.relativeHeight||e.drawing.anchorLayer.sourceOrder-t.drawing.anchorLayer.sourceOrder||e.encounterOrder-t.encounterOrder}function Ud(e){let t=[];for(let n of e)Id(n.node,n,Object.freeze([]),Object.freeze({xPt:0,yPt:0}),t);let n=t.filter(({drawing:e})=>e.anchorLayer.behindDoc).sort(Hd).map(Bd),r=t.filter(({drawing:e})=>!e.anchorLayer.behindDoc).sort(Hd).map(Bd),i=new Set(t.map(({root:e})=>e.node)),a=e.flatMap(e=>e.node.kind===`drawing`&&e.node.anchorLayer?[]:[Vd(e,i.has(e.node))]);return Object.freeze([...n,...a,...r])}function Wd(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=>Wd(e,t)):e.kind===`textbox`||e.kind===`note`?e.story.blocks.some(e=>Wd(e,t)):e.rows.some(e=>e.cells.some(e=>e.blocks.some(e=>Wd(e.layout,t))))||(e.resolvedFloatingTables??[]).some(e=>Wd(e.child,t))}function Gd(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(jd.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(...Ud(a)):r.push(...a.map(e=>Vd(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})=>Wd(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 Kd=class extends Error{constructor(e){super(e),this.name=`PageGraphError`}};const qd=Gd;function Jd(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 Kd(`Replacement ${t} layer must preserve unique paint node identities`);return qd(e.roots.map(e=>{if(e.layer!==t)return e;let n=r.get(e.node.id);if(!n)throw new Kd(`Missing replacement paint node ${e.node.id}`);return{...e,node:n}}))}function Yd(e){return e.layers.roots}function Xd(e){let t=!1,n=!1;for(let r of e.layers.roots)if(r.layer===`body`){if(n)throw new Kd(`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 Kd(`Duplicate paint node ${t.node.id}`);r.set(t.node.id,t)}let i=new Map;for(let t of jd)for(let n of e.layers[t]){if(i.has(n.id))throw new Kd(`Duplicate semantic page node ${n.id}`);i.set(n.id,{layer:t,node:n})}if(i.size!==r.size)throw new Kd(`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 Kd(`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 Kd(`Missing paint root ${t.rootNodeId}`);if(e.layer!==t.sourceLayer)throw new Kd(`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 Kd(`Paint root ${t.rootNodeId} is not the retained ${t.sourceLayer} node`);continue}if(!t.node.anchorLayer)throw new Kd(`Drawing paint entry ${t.node.id} is not anchored`);if(o.has(t.node.id))throw new Kd(`Duplicate drawing paint reference ${t.node.id}`);o.add(t.node.id)}if(a.size!==r.size)throw new Kd(`Missing paint-order reference for ${[...r.keys()].find(e=>!a.has(e))??`<unknown>`}`);return e.layers.roots.map(({node:e})=>e)}const Zd=Object.freeze({story:`body`,storyInstance:`parse-error`,path:Object.freeze([])});function Qd(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,...Pc(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,...Pc(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 $d(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=Qd(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:Zd,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:qd([{layer:`body`,node:u}]),readingOrder:[u.id]}],diagnostics:[{code:`UNSUPPORTED_FEATURE`,severity:`error`,source:Zd,message:e}]}}function ef(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 tf(e){return ef(e.currentDate,e.defaultCurrentDateMs)}function nf(e,t){return Ou(`layout`,{currentDateMs:e.currentDateMs,text:t.text.fingerprint,images:t.images.fingerprint,math:t.math.fingerprint,verticalGlyphs:t.verticalGlyphFingerprint??null})}const rf=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`})}),af=Object.freeze({code:`INVALID_VALUE`,severity:`warning`,message:`The parser diagnostic contract did not match this renderer build`});function of(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function sf(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 cf(e){return Object.freeze({story:`body`,storyInstance:`body`,path:Object.freeze([...e])})}function lf(e,t){if(e===void 0)return Object.freeze([]);if(!Array.isArray(e))return Object.freeze([af]);let n=[],r=!1;for(let i of e){if(!of(i)||typeof i.code!=`string`||!Object.hasOwn(rf,i.code)||i.part!==`word/document.xml`||!sf(i.path,t)){r=!0;continue}let e=rf[i.code];if(i.severity!==e.severity){r=!0;continue}n.push(Object.freeze({code:e.layoutCode,severity:e.severity,source:cf(i.path),message:e.message}))}return r&&n.push(af),Object.freeze(n)}var Y=class extends Error{code;constructor(e,t){super(`${e}: ${t}`),this.name=`LayoutInvariantError`,this.code=e}};function uf(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 df(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 ff(e){if(!Number.isFinite(e.xPt)||!Number.isFinite(e.yPt))throw RangeError(`Point coordinates must be finite`)}function pf(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 mf(e){if(ff(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 hf(e,t){switch(df(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 gf(e,t){switch(df(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 _f(e,t){switch(df(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 vf(e,t){switch(df(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 yf(e,t){return pf(e),ff(t),{xPt:e.a*t.xPt+e.c*t.yPt+e.e,yPt:e.b*t.xPt+e.d*t.yPt+e.f}}function bf(e,t){mf(t);let n=[yf(e,t),yf(e,{xPt:t.xPt+t.widthPt,yPt:t.yPt}),yf(e,{xPt:t.xPt,yPt:t.yPt+t.heightPt}),yf(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 xf(e,t){pf(e);let n=yf(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=yf(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 Sf(e,t){return{writingMode:e,logicalToPhysical:_f(e,t),physicalToLogical:vf(e,t)}}function Cf(e){return Object.freeze(e)}function wf(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:Cf(yf(n.coordinateSpace.logicalToPhysical,{xPt:f,yPt:n.blockStartPt})),end:Cf(yf(n.coordinateSpace.logicalToPhysical,{xPt:f,yPt:n.blockEndPt}))}))}}return Object.freeze(t)}function Tf(e,t){let n=dt(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 Df=/[ᄀ-ᇿ⺀-⿟ -〿぀-ヿ㄰-㆏㐀-䶿一-鿿ꥠ-꥿가-퟿豈-﫿＀-￯]/u;function Of(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 kf(e,t,n){return Of(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 jf(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 Mf=Symbol(`docx.localMetricSnapshot`);function Nf(e={}){if(e[Mf])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[mu(e),Object.freeze(n)]}).sort(([e],[t])=>e.localeCompare(t)),n=Object.fromEntries(t);return Object.defineProperty(n,Mf,{value:!0}),Object.freeze(n)}const Pf=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]),Ff=new Set([224,225,232,233,234,236,237,242,243,249,250,252]);function If(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&&(Pf.has(e)||o&&Ff.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 Lf(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 Rf(e){let t=Nf(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=Ou(`text`,{fonts:e.fonts.fingerprint,measurer:e.measurer.fingerprint,localMetrics:t,eastAsiaFontCharsets:r,genericFamilies:n}),a=t=>{let r=Lf(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,...Pc(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=Lf(e,`eastAsia`),o=e.eastAsiaFontCharset??(a?r[a.trim().toLocaleLowerCase(`en-US`)]:void 0),s=If(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 zf(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 Bf(e){return e<0n?-e:e}function Vf(e,t){let n=Bf(e),r=Bf(t);for(;r!==0n;){let e=n%r;n=r,r=e}return n}function Hf(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=Vf(e,t);return Object.freeze({numerator:n*e/r,denominator:n*t/r})}function X(e,t){let n=e.numerator*t.denominator-t.numerator*e.denominator;return n<0n?-1:+(n>0n)}function Uf(e,t){return Hf(e.numerator*t.denominator-t.numerator*e.denominator,e.denominator*t.denominator)}function Wf(e,t){return Hf(e.numerator*t.denominator+t.numerator*e.denominator,2n*e.denominator*t.denominator)}function Gf(e){return`${e.numerator}/${e.denominator}`}const Kf=new DataView(new ArrayBuffer(8));function qf(e){if(!Number.isFinite(e))throw Error(`Exact geometry requires a finite binary64 value`);if(e===0)return Object.freeze({coefficient:0n,exponent:0});Kf.setFloat64(0,e,!1);let t=Kf.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 Jf(e){return e===0n?0:e.toString(2).length}function Yf(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 Xf(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 Zf(e){return Kf.setBigUint64(0,e,!1),Kf.getFloat64(0,!1)}function Qf(e){if(e.numerator===0n)return 0;let t=e.numerator<0n,n=Bf(e.numerator),r=e.denominator,i=Jf(n)-Jf(r);Yf(n,r,i)<0&&--i;let a=t?1n<<63n:0n;if(i<-1022){let e=Xf(n,r,1074);return Zf(e===0n?a:e>=1n<<52n?a|1n<<52n:a|e)}let o=Xf(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 Zf(a|s|c)}function $f(e){if(e===1/0)return e;if(Object.is(e,-0)||e===0)return Number.MIN_VALUE;Kf.setFloat64(0,e,!1);let t=Kf.getBigUint64(0,!1);return Zf(e>0?t+1n:t-1n)}function ep(e){let t=Qf(e);if(t===1/0)return t;if(t===-1/0)return-Number.MAX_VALUE;let n=qf(t);return X(n.exponent>=0?{numerator:n.coefficient<<BigInt(n.exponent),denominator:1n}:{numerator:n.coefficient,denominator:1n<<BigInt(-n.exponent)},e)>=0?t:$f(t)}function tp(e){return-ep({numerator:-e.numerator,denominator:e.denominator})}function np(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 rp=new WeakMap;function ip(e,t){return e.x===t.x&&e.y===t.y}function ap(e,t,n,r){return e*r-t*n}function op(e,t){return t>0n?e>=0n&&e<=t:e<=0n&&e>=t}function sp(e,t){let n=ip(e.from,t.from)||ip(e.from,t.to)?e.from:ip(e.to,t.from)||ip(e.to,t.to)?e.to:null;if(n)return Object.freeze({y:Hf(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=ap(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=ap(c,l,a,o),d=ap(c,l,r,i);return!op(u,s)||!op(d,s)?null:Object.freeze({y:Hf(e.from.y*s+i*u,s),contact:i===0n||o===0n?`horizontal`:`active-crossing`})}function cp(e,t){return`${e}:${t}`}function lp(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(cp(t,a))}return r}function up(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 dp(e,t){return Qf(t>=0?{numerator:e.numerator<<BigInt(t),denominator:e.denominator}:{numerator:e.numerator,denominator:e.denominator<<BigInt(-t)})}function fp(e,t){return ep(t>=0?{numerator:e.numerator<<BigInt(t),denominator:e.denominator}:{numerator:e.numerator,denominator:e.denominator<<BigInt(-t)})}function pp(e,t){let n=qf(e),r=n.exponent-t;return r>=0?{numerator:n.coefficient<<BigInt(r),denominator:1n}:{numerator:n.coefficient,denominator:1n<<BigInt(-r)}}function mp(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 hp(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)X(t.yBottom,n)<=0?r.push(t):X(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)=>X(t.yBottom,e.yBottom))),below:t(r),above:t(i)})};return t(e.slice().sort((e,t)=>X(e.yTop,t.yTop)||X(e.yBottom,t.yBottom)))}function gp(e,t,n,r){if(!(!e||X(n,t)<=0)){if(X(n,e.centerY)<=0){for(let t of e.crossingByTop){if(X(t.yTop,n)>=0)break;r.push(t)}gp(e.below,t,n,r);return}if(X(t,e.centerY)>=0){for(let n of e.crossingByBottom){if(X(n.yBottom,t)<=0)break;r.push(n)}gp(e.above,t,n,r);return}r.push(...e.crossingByTop),gp(e.below,t,n,r),gp(e.above,t,n,r)}}function _p(e,t,n,r,i){let a=new Map,o=new Map;t.forEach((e,t)=>{if(e.minY===e.maxY)return;let n=Gf(Hf(e.minY,1n)),r=Gf(Hf(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=Gf(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&&X(i,t.yTop)>0){let n=Object.freeze({yTop:t.yTop,yBottom:i,leftEdge:t.leftEdge,rightEdge:t.rightEdge});d.push(n);let a=dp(t.yTop,r),o=dp(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=>lp(c,e,()=>{m+=2}),y=()=>{let e=new Set;for(let t=0;t+1<c.length;t+=2)m+=2,e.add(cp(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?Wf(r,i):r,d=(e,n)=>(p+=1,mp(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)&&X(Hf(t[e].minY,1n),r)<=0&&X(r,Hf(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=Gf(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 vp(e){np(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(qf).filter(({coefficient:e})=>e!==0n),i=r.length===0?0:Math.min(...r.map(({exponent:e})=>e)),a=e=>{let t=qf(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=sp(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=Hf(e.y,1n);m.set(Gf(t),t)}for(let e of l)m.set(Gf(e.y),e.y);let h=Object.freeze([...m.values()].sort(X)),g=Object.freeze([...new Set(h.map(e=>dp(e,i)))].sort((e,t)=>e-t)),_=_p(s,c,h,i,l),v=Hf(o.reduce((e,t)=>t.x<e?t.x:e,o[0].x),1n),y=Hf(o.reduce((e,t)=>t.x>e?t.x:e,o[0].x),1n),b=Hf(o.reduce((e,t)=>t.y<e?t.y:e,o[0].y),1n),x=Hf(o.reduce((e,t)=>t.y>e?t.y:e,o[0].y),1n),S=Hf(0n,1n),C=(e,t)=>{let n=Uf(e,t);return X(n,S)>0?n:S},w=Object.freeze({scaleExponent:i,edges:Object.freeze(c),eventYs:h,spans:_.exactSpans,spanIndex:hp(_.exactSpans),polygonLeft:v,polygonRight:y,polygonTop:b,polygonBottom:x,padLeft:C(v,Hf(a(e.xLeftPt),1n)),padRight:C(Hf(a(e.xRightPt),1n),y),padTop:C(b,Hf(a(e.yTopPt),1n)),padBottom:C(Hf(a(e.yBottomPt),1n),x)}),T=Object.freeze({kind:e.kind,edges:Object.freeze(s),eventYPts:g,contourSpans:_.spans,contourSpanIndex:up(_.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 rp.set(T,w),T}function yp(e,t){return{numerator:e.dx*t.numerator-e.c*t.denominator,denominator:e.dy*t.denominator}}function bp(e,t){return e.dx*t.dy===t.dx*e.dy&&e.c*t.dy===t.c*e.dy}function xp(e){let t=e.filter(e=>X(e.r,e.l)>0).slice().sort((e,t)=>X(e.l,t.l)||X(e.r,t.r)),n=[];for(let e of t){let t=n.at(-1);!t||X(e.l,t.r)>0?n.push({...e}):X(e.r,t.r)>0&&(n[n.length-1]={l:t.l,r:e.r})}return n}function Sp(e,t){return{numerator:e.numerator*t.denominator+t.numerator*e.denominator,denominator:e.denominator*t.denominator}}function Cp(e,t){return{numerator:e.numerator*t.denominator-t.numerator*e.denominator,denominator:e.denominator*t.denominator}}function wp(e,t,n){let r=rp.get(e);if(!r)throw Error(`Compiled polygon omitted its exact geometry authority`);let i=Cp(t,r.padBottom),a=Sp(n,r.padTop),o=X(r.polygonTop,i)>=0?r.polygonTop:i,s=X(r.polygonBottom,a)<=0?r.polygonBottom:a;if(X(s,o)<=0)return[];let c=[],l=[];gp(r.spanIndex,o,s,l);for(let e of l){let t=X(o,e.yTop)>=0?o:e.yTop,n=X(s,e.yBottom)<=0?s:e.yBottom;if(X(n,t)<=0)continue;let i=r.edges[e.leftEdge],a=r.edges[e.rightEdge];if(bp(i,a))continue;let l=yp(i,t),u=yp(i,n),d=yp(a,t),f=yp(a,n);c.push({l:Cp(X(l,u)<=0?l:u,r.padLeft),r:Sp(X(d,f)>=0?d:f,r.padRight)})}let u=xp(c);return e.kind===`through`||u.length===0?u:[{l:u[0].l,r:u.at(-1).r}]}function Tp(e,t,n){let r=rp.get(e);if(!r)throw Error(`Compiled polygon omitted its exact geometry authority`);let i=pp(t,r.scaleExponent),a=Sp(i,pp(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(wp(e,i,a).map(e=>Object.freeze({l:o(e.l),r:o(e.r)})))}function Ep(e,t){let n=rp.get(e);if(!n)throw Error(`Compiled polygon omitted its exact geometry authority`);let r=pp(t,n.scaleExponent),i=new Set;for(let e of n.eventYs)i.add(fp(Sp(e,n.padBottom),n.scaleExponent)),i.add(fp(Cp(Cp(e,r),n.padTop),n.scaleExponent));return Object.freeze([...i].filter(Number.isFinite).sort((e,t)=>e-t))}function Dp(e,t,n,r){let i=rp.get(e);if(!i)throw Error(`Compiled polygon omitted its exact geometry authority`);let a=Wf(pp(n,i.scaleExponent),pp(r,i.scaleExponent)),o=pp(t,i.scaleExponent),s=Cp(a,i.padBottom),c=Sp(o,i.padTop),l=Sp(a,c),u=X(i.polygonTop,s)>=0?i.polygonTop:s,d=X(i.polygonBottom,l)<=0?i.polygonBottom:l,f=[],p=[];gp(i.spanIndex,u,d,p);for(let e of p){let t=X(u,e.yTop)>=0?u:e.yTop;if(X(X(d,e.yBottom)<=0?d:e.yBottom,t)<=0)continue;let n=i.edges[e.leftEdge],r=i.edges[e.rightEdge];if(bp(n,r))continue;let a=X(s,e.yTop)>0,o=X(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:Cp(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:Sp(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 Op(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 kp(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=>Op(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 Z(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)}Z({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.`}),Z({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 jp=Z({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.`}),Mp=Z({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.`});Z({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 Np(e){return 71.95*e}function Pp(e,t){return e*t}const Fp=.01,Ip=.5;function Lp(e,t){return Object.freeze(e===`overlap`?{kind:`word-different-paragraph`,paragraphId:t}:{kind:`none`})}function Rp(e,t){return Object.freeze(e?{kind:`word-different-paragraph`,paragraphId:t}:{kind:`drawingml-normative`})}function zp(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 Bp(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 Vp(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 Hp(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 Up(e,t,n,r){return Object.freeze({bounds:Hp(e.bounds,t,n),exclusionBounds:Hp(e.exclusionBounds,t,n),displacement:Object.freeze({xPt:t,yPt:n}),appliedCompatibilityRuleIds:Object.freeze([...r])})}function Wp(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=Vp(t.exclusionBounds);return{left:o.left-i,right:o.right+n,top:o.top-a,bottom:o.bottom+r}}function Gp(e,t,n=e.rightBoundaryPt){let r=Vp(e.moving.bounds);return t.length===0?Object.freeze({left:r.left,top:r.top}):kp(r,t,{overlapEpsilon:e.overlapEpsilonPt??0,rightBoundary:n,rightBoundarySlack:e.rightBoundarySlackPt??0})}function Kp(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`?[Vp(e.bounds)]:[]),i=n.kind===`word-different-paragraph`?e.blockers.flatMap(e=>e.paragraphId===n.paragraphId?[]:[Wp(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=Gp(e,r,o),c=i.length===0?s:Gp(e,[...r,...i],o);return Up(t,c.left-t.bounds.xPt,c.top-t.bounds.yPt,c.left!==s.left||c.top!==s.top?[jp.id]:[])}function qp(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 Jp(e){let t=Vp(e.bounds),n=e.blockers.some(n=>n.kind===`table`&&Op(t,Vp(n.exclusionBounds),e.overlapEpsilonPt));return Object.freeze({defer:n,appliedCompatibilityRuleIds:Object.freeze(n?[Mp.id]:[])})}function Q(e){let t=qf(e);return t.exponent>=0?{numerator:t.coefficient<<BigInt(t.exponent),denominator:1n}:{numerator:t.coefficient,denominator:1n<<BigInt(-t.exponent)}}function Yp(e,t){return{numerator:e.numerator*t.denominator+t.numerator*e.denominator,denominator:e.denominator*t.denominator}}function Xp(e,t){return{numerator:e.numerator*t.denominator-t.numerator*e.denominator,denominator:e.denominator*t.denominator}}function Zp(e,t){return{numerator:e.numerator*t.numerator,denominator:e.denominator*t.denominator}}function Qp(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 $p(e,t){let n=Q(e),r=Q(t);return Qf({numerator:n.numerator*r.denominator+r.numerator*n.denominator,denominator:2n*n.denominator*r.denominator})}function em(e){switch(e){case`left`:case`right`:case`largest`:case`bothSides`:return e;default:return`bothSides`}}function tm(e){return e===`square`||e===`topAndBottom`||e===`tight`||e===`through`}function nm(e,t,n){return e.xRight>t+.01&&e.xLeft<n-.01}const rm=new WeakMap,im=new WeakMap;function am(e){return Object.isFrozen(e)&&e.every(e=>Object.isFrozen(e))}function om(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 sm(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};np(i);let a=am(t);if(a){let i=im.get(t)?.find(t=>om(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=vp(i);if(a){let n=Object.freeze({kind:r,xLeftPt:e.xLeft,xRightPt:e.xRight,yTopPt:e.yTop,yBottomPt:e.yBottom,compiled:o});im.set(t,Object.freeze([n,...(im.get(t)??[]).slice(0,3)]))}return o}function cm(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`?sm(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 rm.set(r,new Map),r}function lm(e,t){let n=em(e.rect.side);if(n!==`largest`)return n;let r=X(Xp(Q(e.wrapMaximumLeftPt),Q(t.xLeftPt)),Xp(Q(t.xRightPt),Q(e.wrapMaximumRightPt)));return r===0?t.readingDirection===`ltr`?`left`:`right`:r>0?`left`:`right`}function um(e,t,n,r,i,a){let{rect:o,polygon:s}=e,c=s?Tp(s,t,n):[{l:Q(o.xLeft),r:Q(o.xRight)}];if(c.length===0)return[];let l=s===null,u=c.reduce((e,t)=>X(t.l,e)<0?t.l:e,c[0].l),d=c.reduce((e,t)=>X(t.r,e)>0?t.r:e,c[0].r);switch(lm(e,a)){case`left`:return[{l:u,r:Q(i),leftSquareBoundary:l,rightSquareBoundary:!1}];case`right`:return[{l:Q(r),r:d,leftSquareBoundary:!1,rightSquareBoundary:l}];case`bothSides`:return c.map(e=>({...e,leftSquareBoundary:l,rightSquareBoundary:l}))}}function dm(e,t){let n=rm.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(ep(Xp(Q(n.yTop),Q(e)))),a(n.yBottom),r)for(let t of Ep(r,e))a(t);let o=Object.freeze([...i].sort((e,t)=>e-t));return n.set(e,o),o}function fm(e){let t=e.filter(e=>X(e.r,e.l)>0).slice().sort((e,t)=>X(e.l,t.l)||X(e.r,t.r)),n=[];for(let e of t){let t=n.at(-1);if(!t||X(e.l,t.r)>0){n.push({...e});continue}X(e.l,t.l)===0&&(t.leftSquareBoundary=t.leftSquareBoundary&&e.leftSquareBoundary);let r=X(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 pm(e,t,n,r,i){let a=fm(e),o=Q(t),s=Q(n),c=[],l=(e,t,n)=>{let r=X(o,e)>=0?o:e,i=X(s,t)<=0?s:t;X(i,r)>0&&c.push({l:r,r:i,squareConstrained:n})},u=o,d=!1;for(let e of a){if(X(e.r,o)<=0){d=e.rightSquareBoundary;continue}if(X(e.l,s)>=0){l(u,s,d),u=s;break}X(e.l,u)>0&&l(u,e.l,d||e.leftSquareBoundary);let t=X(e.r,u);if(t>0?(u=e.r,d=e.rightSquareBoundary):t===0&&(d&&=e.rightSquareBoundary),X(u,s)>=0)break}X(u,s)<0&&l(u,s,d);let f={numerator:0n,denominator:1n};for(let e of c){let t=Xp(e.r,e.l);X(t,f)>0&&(f=t)}for(let e of c){let t=Xp(e.r,e.l);if(X(t,f)===0&&X(t,Q(Math.max(1,e.squareConstrained?i:r)))>=0)return{l:e.l,r:e.r,squareConstrained:e.squareConstrained}}return null}function mm(e,t,n,r,i,a,o,s,c,l,u){let d=Q(e),f=Yp(d,Q(t)),p=e=>Q(e);if(a.floats.some(({rect:e})=>e.mode===`topAndBottom`&&nm(e,o,s)&&X(f,p(e.yTop))>0&&X(d,p(e.yBottom))<0))return null;let m=[];for(let i of a.floats){let{rect:a}=i;if(a.mode!==`square`||X(f,p(a.yTop))<=0||X(d,p(a.yBottom))>=0||!nm(a,n,r))continue;let o=um(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=pm(m,n,r,l,u);if(!h)return null;let g={numerator:0n,denominator:1n},_=Xp(h.l,Q(n)),v=X(_,g)>0?_:g,y=Q(n),b=ep(v),x=n+b,S=Q(x);if(X(S,h.l)<0&&(b=ep(Xp(Q(ep(h.l)),y)),x=n+b,S=Q(x)),X(S,h.l)<0)throw Error(`Exact float window could not represent a contained start`);let C=Q(r),w=X(h.r,C)<=0?h.r:C,T=Xp(Q(tp(w)),S),E=tp(X(T,g)>0?T:g);if(X(Q(x+E),w)>0)throw Error(`Exact float window could not represent a contained end`);return{topY:e,xOffset:b,maxWidth:E}}function hm(e,t){return Yp(Zp(e.exact.slope,Q(t)),e.exact.intercept)}function gm(e,t){return X(e.exact.slope,t.exact.slope)===0&&X(e.exact.intercept,t.exact.intercept)===0}function _m(e,t,n){return X(hm(e,n),hm(t,n))||X(e.exact.slope,t.exact.slope)}function vm(e,t,n){let r=Xp(e.slope,t.slope);if(r.numerator===0n)return null;let i=Xp(e.intercept,t.intercept);return Qp(Xp(Q(n),i),r)}function ym(e,t,n,r,i){t===null||X(t,Q(n))<=0||X(t,Q(r))>=0||(e.push(ep(t)),i&&(i.localRootCandidateCount+=1))}function bm(e,t,n,r,i,a){let o=e[0];for(let r of e.slice(1)){let e=_m(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(gm(c,o)){s&&=c.square;continue}(t===`min`?X(c.exact.slope,o.exact.slope)<0:X(c.exact.slope,o.exact.slope)>0)&&ym(i,vm(c.exact,o.exact,0),n,r,a)}return{exact:o.exact,square:s}}function xm(e,t=!1){return{exact:{slope:{numerator:0n,denominator:1n},intercept:Q(e)},square:t}}function Sm(e,t,n,r,i,a,o,s,c){let{rect:l,polygon:u}=e,d=Q($p(n,r));if(X(Yp(d,Q(t)),Q(l.yTop))<=0||X(d,Q(l.yBottom))>=0)return[];let f=u?Dp(u,t,n,r).map(e=>({left:{exact:e.left,square:!1},right:{exact:e.right,square:!1}})):[{left:xm(l.xLeft,!0),right:xm(l.xRight,!0)}];if(f.length===0)return[];let p=bm(f.map(e=>e.left),`min`,n,r,s,c),m=bm(f.map(e=>e.right),`max`,n,r,s,c);switch(u?.kind===`tight`&&(f=[{left:p,right:m}]),lm(e,o)){case`left`:return[{left:p,right:xm(a)}];case`right`:return[{left:xm(i),right:m}];case`bothSides`:return f}}function Cm(e,t,n,r,i){let a=e.slice().sort((e,n)=>_m(e.left,n.left,t)||_m(e.right,n.right,t));for(let e=0;e+1<a.length;e+=1)ym(r,vm(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(ym(r,vm(e.left.exact,a.right.exact,0),t,n,i),_m(e.left,a.right,t)>0){o.push(e);continue}let s=bm([a.right,e.right],`max`,t,n,r,i),c=gm(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 wm(e,t,n,r,i,a,o,s,c,l,u,d){let f=Q($p(e,t)),p=Yp(f,Q(n));if(a.floats.some(({rect:e})=>e.mode===`topAndBottom`&&nm(e,o,s)&&X(p,Q(e.yTop))>0&&X(f,Q(e.yBottom))<0))return null;let m=[],h=[];for(let o of a.floats){let{rect:a}=o;a.mode===`square`&&nm(a,r,i)&&h.push(...Sm(o,n,e,t,r,i,c,m,d))}if(h.length===0)return null;let g=Cm(h,e,t,m,d),_=xm(r),v=xm(i),y=[],b=(n,r,i)=>{let a={slope:Xp(r.exact.slope,n.exact.slope),intercept:Xp(r.exact.intercept,n.exact.intercept)};y.push({exactWidth:a});let o=Math.max(1,i?u:l);X(Yp(Zp(a.slope,Q(e)),a.intercept),Q(o))<0&&a.slope.numerator>0n&&ym(m,vm(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))(X(Yp(Zp(t.exactWidth.slope,Q(e)),t.exactWidth.intercept),Yp(Zp(S.exactWidth.slope,Q(e)),S.exactWidth.intercept))||X(t.exactWidth.slope,S.exactWidth.slope))>0&&(S=t);if(S)for(let n of y)n===S||X(n.exactWidth.slope,S.exactWidth.slope)<=0||ym(m,vm(n.exactWidth,S.exactWidth,0),e,t,d);return m.length===0?null:Math.min(...m)}function Tm(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=dm(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),mm(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=wm(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 Em(e,t,n,r,i,a,o=r,s=r+i,c={xLeftPt:r,xRightPt:r+i,readingDirection:`ltr`},l=t){return Tm(e,t,n,r,i,a,o,s,c,l)}function Dm(e,t,n,r){let i=new Set;for(;;){let a=e;for(let i of t)i.mode===`topAndBottom`&&nm(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 Om=new Set([`+`,`-`,`−`,`=`,`±`,`×`,`÷`]);function km(e){return Om.has(e)?` ${e} `:e}function Am(e){return e.map(e=>{switch(e.kind){case`run`:return km(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 jm=class extends Y{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 Mm(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 jm(`cycle`,o,e);if(s.add(a),e===i)throw new jm(`limit`,o,e);c=t}throw new jm(`limit`,o,i)}function Nm(e,t,n){if(!Number.isInteger(n)||n<1)throw new Y(`NON_CONVERGENCE`,`limit must be a positive integer`);try{return Mm({seedState:e.fingerprint,step:n=>t(n??e),stateOf:e=>e.fingerprint,limit:n}).value}catch(e){throw e instanceof jm?new Y(`NON_CONVERGENCE`,e.reason===`cycle`?`repeated geometry fingerprint cycle at ${e.states.at(-1)??`<missing>`}`:`hard iteration limit ${n} reached`):e}}var Pm=class extends Y{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 Fm(e){return e.map(e=>({...e}))}function Im(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 Lm(e,t){try{return Mm({step:n=>{let r=e(n?.probeHeights??null),i=Object.freeze(r.map(t));return Object.freeze({lines:r,probeHeights:i,state:Im(r,i)})},stateOf:e=>e.state,limit:16}).value.lines}catch(e){throw e instanceof jm?new Pm(e.reason,e.states):e}}Z({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.`}),Z({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.`}),Z({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.`}),Z({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 Rm(e,t){return!(t>0)||!Number.isFinite(e)?1:Math.max(1,Math.ceil(Math.max(0,e)/t-1e-9))}function zm(e){return!e}Z({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 Bm(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}Z({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 Vm(e){return e!==`bar`&&e!==`clear`}Z({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.`}),Z({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.`}),Z({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.`}),Z({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 Hm(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}Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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 Um(e){return Number.isInteger(e)&&e>=2}function Wm(e){return e!==`snapToChars`}Z({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.`}),Z({id:`word-ideographic-space-line-end-allowance`,evidence:{kind:`office-observation`,syntheticFixtureId:`ideographic-space-line-end-count-and-run-boundary-matrix`,application:`Microsoft Word`,version:`16.111.1`,platform:`macOS 26.5.2`},description:`Word keeps a single U+3000 immediately following visible East-Asian text on that line when the visible glyph is force-fitted into a narrow table cell. A paragraph-final sequence of two or more U+3000 characters remains authored width-bearing content and may form blank continuation lines. The observed matrix covers single and trailing multiple spaces, linesAndChars with negative/positive charSpace, line-only grids, and snapToGrid opt-out.`});function Gm(e,t){return e&&t===1?1:0}function Km(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}Z({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 qm(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 Jm(e){return e===void 0||e<=0}function Ym(e,t){return e.endsWith(` `)&&t.startsWith(` `)}const Xm={ja:new Set([...`,.’”、。」』】),.]}。、`]),zhHans:new Set([...`!%),.:;>?]}¢°·ˇ’”‰′″℃∶、。〃〉》」』】〗〕〞﹚﹜﹞!"%'),.:;?]}¢`]),zhHant:new Set([...`!),.:;?]}’”′、。〉》」』】〕〞﹚﹜﹞!),.:;?]}`]),ko:new Set([...`!%),.:;?]}¢°’”′″℃〉》」』】〕!%),.:;?]}¢`])},Zm=new Set([...Xm.ja,...Xm.zhHans,...Xm.zhHant,...Xm.ko]);function Qm(e,t){let n=t?.toLowerCase();return n?.startsWith(`ja`)?Xm.ja.has(e):n?.startsWith(`ko`)?Xm.ko.has(e):n?.startsWith(`zh`)?(/(?:^|-)(?:tw|hk|mo)(?:-|$)|hant/u.test(n)?Xm.zhHant:Xm.zhHans).has(e):Zm.has(e)}function $m(e){return e.lineWillJustify&&e.wrapNarrowed!==!0?e.widthPx:e.widthPx-e.trailingSpacePx}function eh(e){return e.resolvedMeasurementRouteCount===1?e.biasBudgetPx:0}Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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 th(e,t){return t.alignment===`num`&&Math.abs(t.pos-e)<=1e-6}Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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 nh(e,t){return t===0?e:e-t/2}function rh(e,t){return e===`super`?t*.35:e===`sub`?-t*.15:0}const ih=1.3;function ah(e,t,n){if(!n||!e)return 0;let r=e.trim().toLowerCase();return r===`ms mincho`||r===`ms 明朝`?t*ih:0}function oh(e,t){return t>0?Math.max(1,Math.ceil(e/t)):1}function sh(e,t){return e>0?e:t*ih}function ch(e,t,n){return Math.max(e,t*n)}function lh(e,t,n){return Math.max(e,t,n)}function uh(e,t){return(e===`exact`||e===`auto`)&&t<=0}Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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 dh=/[\\p{P}\\p{S}]/u;function fh(e){return dh.test(e)}function ph(e,t){return e===t}function mh(e){return e!==null}function hh(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=Oh(r.bold,r.italic,Ef(r,n),r.fontFamily,a,r.fontRoute);let t=i.measureText(r.text);i.font=Oh(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 gh=new Set([`sakkal majalla`,`traditional arabic`,`simplified arabic`,`arabic typesetting`,`univers next arabic`,`noto naskh arabic`,`noto sans arabic`]),_h=new Set([`sakkal majalla`,`traditional arabic`,`simplified arabic`,`arabic typesetting`,`noto naskh arabic`]);function vh(e){return gh.has(e.toLowerCase())}function yh(e){return e.map(e=>`\"${e}\"`).join(`, `)}const bh=[`Noto Naskh Arabic`,`Noto Sans Arabic`];function xh(e){let t=e&&e!==`jp`?ie(e,`sans`):[`Noto Sans JP`,`Hiragino Sans`,`Meiryo`,...ie(`jp`,`sans`).slice(1)];return e==null?`${yh([...ae,`Arial`,`Helvetica`,`Liberation Sans`,...t,...bh])}, sans-serif`:`${yh([...t,...bh,...ae])}, sans-serif`}function Sh(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?`${yh([...oe,`Times New Roman`,`Cambria`,`Liberation Serif`,...t,...bh])}, serif`:`${yh([...t,...bh,...oe])}, serif`}const Ch=new WeakMap,wh=new WeakMap;function Th(e,t){let n=e??{};return t&&Object.keys(t).length>0&&wh.set(n,t),n}function Eh(e,t={}){let n=Ch.get(t)??(()=>{let e=new Map;return Ch.set(t,e),e})(),r=e??`\\0null`,i=n.get(r);if(i!==void 0)return i;let a=Dh(e,t,wh.get(t));return n.set(r,a),a}function Dh(e,t,n={}){if(!e)return xh(null);let r=`\"${(e=>e.replace(/\"/g,`\\\\\"`))(e)}\"`,i=e.toLowerCase(),a=ne(e);if(vh(e))return _h.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}, ${Sh(a)}`;case`swiss`:return`${r}, ${xh(a)}`;case`modern`:if(n[e]===`fixed`)return a==null?`${r}, \"Courier New\", monospace`:`${r}, ${yh([...a===`jp`?[`Yu Gothic`,`YuGothic`,`Hiragino Sans`,`Meiryo`,`Noto Sans JP`]:ie(a,`sans`),`Courier New`])}, monospace`;break;default:break}let s=re(e);if(s===`serif`)return`${r}, ${Sh(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\", ${xh(a)}`;if(e.includes(`游ゴシック`)||/\\byu\\s*gothic\\b/i.test(e)||i.includes(`yugothic`))return`${r}, \"Yu Gothic\", \"YuGothic\", ${xh(a)}`;if(i.includes(`ipa`))return`${r}, \"IPAexGothic\", ${xh(a)}`;if(i.includes(`segoe`))return`${r}, \"Segoe UI\", ${yh([...bh,...ae])}, sans-serif`}return`${r}, ${xh(a)}`}function Oh(e,t,n,r,i={},a){return a?V(a,n,e?700:400,t?`italic`:`normal`):`${t?`italic`:`normal`} ${e?`bold`:`normal`} ${n}px ${Eh(r,i)}`}function kh(e,t,n=!1){return Math.max(fu(e.fontFamily,t,n),(e.resolvedLineHeightRatio??0)*t)}function Ah(e,t,n=!1){return Math.max(fu(e.eaFloorFamily,t,n),(e.resolvedEaFloorLineHeightRatio??0)*t)}function jh(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 Mh(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 Nh(e,t,n){return fu(Mh(e,n),jh(e)*t,n)}function Ph(e,t){return!e||e.charSpacePt==null||e.type!==`linesAndChars`&&e.type!==`snapToChars`?0:e.charSpacePt*t}function Fh(e){let t=0;for(let n of e)Df.test(n)&&t++;return t}function Ih(e,t,n){let r=Ph(t,n);if(r===0||e.length===0)return 0;let i=[...e];return t?.type===`linesAndChars`||Fh(e)===i.length?i.length*r:0}function Lh(e,t,n){return e.snapToCharacterGrid===!1||t?.type===`snapToChars`?0:t?.type===`linesAndChars`&&e.widthBalanceGridDeltaFactor!==void 0?Ph(t,n)*e.widthBalanceGridDeltaFactor:Ih(e.text,t,n)===0?0:Ph(t,n)}function Rh(e,t){return e.fitTextPerGapPx===void 0?zh(e)*t:e.fitTextPerGapPx}function zh(e){return e.charSpacing??0}function Bh(e){return e.punctuationCompressions?.reduce((e,t)=>e+t.adjustmentPt,0)??0}function Vh(e,t){return Hh(e,e.text,t)}function Hh(e,t,n){if(e.fitTextPerGapPx!==void 0||e.tateChuYoko||!Wm(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 Uh(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 Wh(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 Gh(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 Kh(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?Gh(e):void 0,s=[0,...Pc(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?Wh(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 qh(e){return e.charScale??1}function Jh(e,t,n,r,i){return e*r+[...t].length*n+[...t].length*i}function Yh(e,t,n){return e.fitTextPerGapPx===void 0?Lh(e,t,n)+Rh(e,n):e.fitTextPerGapPx}function Xh(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*qh(e)+r*e.fitTextPerGapPx+(e.fitTextTrailingPadPx??0)}if(e.tateChuYoko)return e.fontSize*r;let i=Lh(e,n,r);return Jh(t,e.text,i,qh(e),Rh(e,r))+Vh(e,n)*r*qh(e)+Bh(e)*r}function Zh(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 Qh(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 $h(e){return!e||!e.linePitchPt||e.linePitchPt<=0?!1:e.type===`lines`||e.type===`linesAndChars`||e.type===`snapToChars`}function eg(e,t){return oh(e,t)}function tg(e,t){return sh(e,t)}function ng(e,t,n,r,i,a,o=0,s=!1,c,l){let u=t+n,d=Math.max(u,o),f=$h(i),p=f?i.linePitchPt*r:0,m=()=>s?a?Math.max(p,Math.ceil(u/p)*p):eg(c??(o>0?o:l===void 0?p:tg(0,l)),p)*p:Math.max(u,p),h=e!==null&&e.explicit!==!0;if(!e||uh(e.rule,e.value))return f?m():d;if(e.rule===`auto`){if(f){if(h){let t=m();return s?ch(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 lh(d,e.value*r,t)}return d}function rg(e,t){return{asc:e*t*.8,desc:e*t*.2}}function ig(e,t,n,r,i=!1){return pu(t,r,e.fontBoundingBoxAscent??e.actualBoundingBoxAscent??n*.8,e.fontBoundingBoxDescent??e.actualBoundingBoxDescent??n*.2,i)}function ag(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??jh(e),g=Mh(e,p),_=g?c[mu(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}=ig({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=Oh(!1,!1,h*t,v,o);let n=a.measureText(p?`あ`:`x`);a.font=e,{ascent:y,descent:b}=ig(n,v,h*t,h*t,p)}else ({asc:y,desc:b}=rg(h,t));let x=_?.lineHeightRatio==null?Nh(e,t,p):h*t*_.lineHeightRatio,S=Math.max(x,ah(g,h*t,p)),C=i?tg(S,h*t):void 0,w=ng(s,y,b,t,n,r,S,i,C),T=d&&i&&$h(n),E=T?ng(null,y,b,t,n,r,S,i,C):w,D=T?ng({rule:`atLeast`,value:0,explicit:!0},y,b,t,n,r,S,i,C):w;return{advancePx:d?Hm({ordinaryAdvancePx:w,allocatedGridAdvancePx:E,atLeastZeroAdvancePx:D,lineSpacing:s,gridAllocationActive:T,scale:t}):w,ascentPx:y,descentPx:b}}function og(e,t,n,r,i=!1,a,o={},s=e.lineSpacing,c={},l,u,d=!1){return ag(e,t,n,r,i,a,o,s,c,l,u,d).advancePx}function sg(e,t,n){return Math.max(0,(e-t+n)/2)}function cg(e,t,n,r,i,a,o,s={},c,l,u=!1){let d=ag(e,1,t,n,r,i,a,o,s,c,l,u);return sg(d.advancePx,d.ascentPx,d.descentPx)}function lg(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 ug(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 dg(e,t){if(e.fieldType===`page`)return Il(t.displayPageNumber??t.pageIndex+1,tu(e.instruction)??t.pageNumberFormat??`decimal`);if(e.fieldType===`numPages`){let n=tu(e.instruction)??`decimal`;return Il(t.totalPages,n)}if(e.fieldType===`date`||e.fieldType===`time`){let n=su(e.instruction);if(n){let e=cu(n,new Date(t.currentDateMs??Date.now()));if(e!==null)return e}return e.fallbackText}return e.fallbackText}function fg(e){for(let t=0;t<e.length;){let n=e.codePointAt(t);if(sc(n))return!0;t+=n>65535?2:1}return!1}const pg=new Set([`、`,`。`,`,`,`.`,`」`,`』`,`】`,`)`,`]`,`}`]);function mg(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 hg(e,t){switch(t){case`compressPunctuation`:return pg.has(e);case`compressPunctuationAndJapaneseKana`:return pg.has(e)||mg(e);default:return!1}}function gg(e,t){if(e===void 0)return;let n=[];for(let r of e)r>t&&n.push(r-t);return n}function _g(e,t,n=1/0){if(t<=0||n<=0||Number.isFinite(n)&&e[t-1]===` `)return t;let r=t,i=n;for(;r<e.length&&e[r]===` `&&i>0;)r++,i--;return r}function vg(e){let t=[...e];for(let e=t.length-1;e>=0;--e)if(t[e]!==` `)return Df.test(t[e]);return!1}function yg(e,t,n,r=0,i=1,a=0,o=!1,s,c,l=1/0){let u=[...t],d=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 Jh(e.measureText(t).width+n,t,r,i,a)})(),f=e=>{let t=e,r=l;if(r>0){for(;t>0&&u[t-1]===` `;)t--;let n=e-t;t+=Math.max(0,n-r)}return d(u.slice(0,t).join(``))<=n},p=0,m=u.length;for(;p<m;){let e=p+m+1>>1;f(e)?p=e:m=e-1}return u.slice(0,p).join(``)}const bg=new Set([`ar`,`fa`,`ur`,`he`,`iw`,`yi`,`ji`,`ps`,`sd`,`ug`,`dv`,`syr`,`ckb`]);function xg(e,t){if(e){let t=e.split(`-`)[0].toLowerCase();if(bg.has(t))return!0}return t}function Sg(e){let t=[],n=null,r=``;for(let i of e){let e=sc(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 Cg(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 wg(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 Tg(e){let t=e?.defaultTabStop;return t!=null&&t>0?t:36}function Eg(e){return e===`center`?`center`:e===`decimal`?`decimal`:e===`right`||e===`end`?`trailing`:`leading`}function Dg(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=kf(l,t,i);if(!a){o[n]=0;continue}let u=Eg(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 Og(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)*qh(t),a+=[...t.text].length;let o=zf([{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 kg(e,t){let n=[],r=(e,n=400,r=`normal`)=>{if(!e)return;let i=mu(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=>mu(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;zf(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=Jm(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,P=u.fontFamilyEastAsia??a.fontFamily,ee=(O||!!u.rtl)&&xg(u.langBidi,!!u.rtl),te=!0,F=!1,I=(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))I(t,i,o,void 0,c,l);return}if(!c&&g&&E===void 0){let n=[0,...Pc(e),e.length];if(n.slice(0,-1).map((t,r)=>e.slice(t,n[r+1])).some(e=>hg(e,t.characterSpacingControl))){I(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`,L=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:P,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}),R=s?{spans:[s]}:t.layoutServices?.text.shape(L),z=c&&g?(()=>{let n=[0,...Pc(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(!hg(s,t.characterSpacingControl))continue;let c=t.layoutServices?.text.shape({...L,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(!pg.has(s))return e;let n=c.spans[0]?.fontRoute.fingerprint,r=t.layoutServices?.text.shape({...L,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=qm({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,B=R?.spans.some(e=>e.script===`complexScript`!==i)??!1;if(R&&(R.spans.length>1||B)){for(let e=0;e<R.spans.length;e+=1){let n=R.spans[e],r=n.script===`complexScript`,i=r?A:n.script===`eastAsia`?P:n.script===`highAnsi`?j:a.fontFamily,o=g&&c&&[...n.text].some(e=>hg(e,t.characterSpacingControl));I(n.text,r,i,n,o)}return}let V=R?.spans[0],ne=(e,n)=>{if(!e)return;let r=Object.values(t.layoutServices?.text.localMetrics??{}).filter(t=>mu(t.family)===mu(e)&&(t.weight??400)===x&&(t.style??`normal`)===O);return r.find(e=>n&&mu(e.requestedFamily??``)===mu(n))??r[0]},re=V?ne(V.font.resolvedFamily,V.font.requestedFamily):r(o,x,O),ie=t.layoutServices?.text.resolve({fonts:L.fonts,themeFonts:L.themeFonts,themeFontPresence:L.themeFontPresence,slot:`eastAsia`,weight:x,style:O}),ae=ie?ne(ie.resolvedFamily,ie.requestedFamily):r(P,x,O),oe=re??(o?t.resolvedLocalFonts?.[mu(o)]:void 0),H=ae??(P?t.resolvedLocalFonts?.[mu(P)]:void 0),U=ie?.resolvedFamily??ae?.family??P,se=t.useFeLayout&&(u.fontHint===`eastAsia`||!!U?.trim()),ce=V?.script??s?.script??(i?`complexScript`:Df.test(e)?`eastAsia`:`ascii`),le=t.balanceSingleByteDoubleByteWidth?Km(e,ce):void 0;n.push({text:e,script:ce,...le===void 0?{}:{widthBalanceGridDeltaFactor:le},...se?{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:V?.font.resolvedFamily??re?.family??o,fontRoute:V?.fontRoute,resolvedLineHeightRatio:oe?.lineHeightRatio,vertAlign:p,measuredWidth:0,textLayoutService:t.layoutServices?.text,textShapeRequest:L,breakBefore:V?.breakBefore??s?.breakBefore??!0,smallCaps:b,joinPrev:F||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:te?S:void 0,revision:C,rtl:w,digitsAsAN:ee?!0:void 0,eaFloorFamily:U,eaFloorRoute:ie?.route,resolvedEaFloorLineHeightRatio:H?.lineHeightRatio,textBoxLineFloor:u.textBoxLineFloor,textBoxVertical:u.textBoxVertical,hyperlink:D,snapToCharacterGrid:y!==!1,charSpacing:h,punctuationCompressions:z,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}),te=!1,F=!1},L=(e,t)=>{let n=t===`cs`,r=t===`cs`?A:t===`ea`?P:a.fontFamily;if(he(r)){for(let t of ge(e,r))I(t.text,n,t.mapped?null:r,void 0,!1,t.mapped);return}I(e,n,r)},R=e=>{if(t.layoutServices?.text){if(he(a.fontFamily)){L(e,`latin`);return}I(e,!1,a.fontFamily);return}for(let t of Sg(e))L(t.text,t.ea?`ea`:`latin`)},z=a.smallCaps?lg(e):[{text:e,reduced:!1}],B=``;for(let e of z){b=e.reduced,F=B.length>0&&!/\\s$/.test(B),B=e.text;let t=a.allCaps||a.smallCaps?e.text.toUpperCase():e.text;for(let e of wg(t))if(O)if(ee)for(let t of Cg(e))L(t,`cs`);else L(e,`cs`);else R(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=ug(e,e.indexOf(a));n.push({lineBreak:!0,fontSize:t,measuredWidth:0})}}else if(a.type===`field`){let e=a,n=dg(e,t);n&&s(n,e,e.vertAlign,i)}else if(a.type===`math`){let r=a.fontSize||ug(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||ug(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?.[mu(s)]:void 0),p=d??(a.fontFamilyEastAsia?t.resolvedLocalFonts?.[mu(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(Um(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||!ic.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[0]!==` `&&t.text[0]!==` `)continue;let r=n[e-1];if(!(`text`in r))continue;let i=t.sourceRunIndex===r.sourceRunIndex,a=Ym(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||bc(r.text)||bc(t.text)||fg(r.text)||fg(t.text)||hc(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 Kh(n),n}function Ag(e,t,n,r,i,a=[],o,s={},c=0,l=ic,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)=>Ag(e,Fm(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:cm(o.floats);return Lm(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,P=0,ee=0,te=0,F=0,I=0,L=0,R=0,z=!1,B=!0,V=n,ne=0,re=o?.startPageY??0,ie=()=>Np(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(),ne=0,V=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:re,minimumStartWidthPt:1,squareMinimumStartWidthPt:e,probeHeightPt:t,paragraphXPt:o.paraX,maximumWidthPt:n,columnXPt:o.columnXPt,columnWidthPt:o.columnWidthPt});re=r.topYPt,ne=r.xOffsetPt,V=r.maximumWidthPt}else{let i=Em(re,1,t,o.paraX,n,S??cm(o.floats),o.columnXPt,o.columnXPt+o.columnWidthPt,r,e);re=i.topY,ne=i.xOffset,V=i.maxWidth}},H=()=>_===`intrinsic`?1/0:V-(B?r:0),U=p?a.map(e=>({pos:e.pos*i,alignment:e.alignment,leader:e.leader})):[],se=d*i,ce=()=>{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=Le(w.slice(t+1,n));if(!r)continue;let i=t+1+r.segmentIndex,a=w[i];`text`in a&&(e[i].decimalOffset=Ne(a,a.text.slice(0,r.charOffset)))}let t=Dg(e,U,f-(ne+V)+(B?r:0),f+c,se),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},le=!1,ue=!1,de=!1,fe=(e,t=!1,n)=>{ce();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=nh(e.position??0,s));let c=e===void 0?N||10:Math.max(N,e),l=P>0||ee>0,u=l?P:c*i*.8,d=l?ee:c*i*.2,f=z?I:u,p=z?L:d,m=z?R:te,h=F||(ue?tg(te,c*i):u+d);C.push({segments:w,height:c,ascent:u,descent:d,visibleAscent:f,visibleDescent:p,visibleIntendedSingle:m,intendedSingle:te,gridCountSingle:h,xOffset:ne,availWidth:V,topY:o?re:void 0,hasRuby:le,eastAsian:ue,endsWithBreak:t,consumedEnd:n??q[0]?.src??Ce}),o&&(re+=o.lineBoxH(u,d,le,te,ue,h)),w=[],T=0,O=0,k=0,A=0,j=0,M.clear(),N=0,P=0,ee=0,te=0,F=0,I=0,L=0,R=0,z=!1,le=!1,ue=!1,de=!1,B=!1,oe(ie())},pe=(e,t=e.text)=>Su(e.fontFamily)*Ef(e,i)*qh(e)*[...t].length,me=e=>{let t=e.bold?700:400,n=e.italic?`italic`:`normal`;return e.fontRoute?`${e.fontRoute.fingerprint}|${t}|${n}`:`implicit|${Oh(e.bold,e.italic,1,e.fontFamily,s)}`},he=(e,t,n=t.text)=>{/\\S/.test(n)&&e.add(me(t))},ge=e=>{let t=M.size;for(let n of e)M.has(n)||(t+=1);return t},_e=(e,t)=>{let n=Zh(e,u);return!n||E==null?t:n===`eastAsia`?Qh(t,n,E,Me(e)):D?.kind===n?Qh(D.naturalWidthPx+t,n,E)-D.allocatedWidthPx:Qh(t,n,E)},W=(e,t,n,r,a,o=0)=>{let s=t;if(`text`in e){let n=Zh(e,u),r=e.snapGridNaturalWidthPx??t;if(n&&E!=null)if(e.snapGridClass=n,e.snapGridNaturalWidthPx=r,e.snapGridCellPitchPx=E,n===`eastAsia`)s=Qh(r,n,E,Me(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=Qh(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=Qh(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+=pe(e),he(M,e)}n>N&&(N=n),r>P&&(P=r),a>ee&&(ee=a);let c=!(`text`in e)||e.metricOnly!==!0;c&&(z=!0,r>I&&(I=r),a>L&&(L=a));let l=0;if(!(`isTab`in e)&&!(`imagePath`in e)&&!(`math`in e)){let t=e;t.ruby&&(le=!0),t.seaBreaks!==void 0&&Sc(t.text)&&(de=!0);let n=t.metricEastAsian===!0||Df.test(t.text);!ue&&n&&(ue=!0);let r=t.smallCaps&&!t.vertAlign?t.fontSize*i:G(t),a=n&&!t.ruby,o=t.textBoxLineFloor&&t.ruby?0:Math.max(kh(t,r,a),t.textBoxLineFloor||t.metricEastAsian===!0?Ah(t,r,a):0);o>te&&(te=o),c&&o>R&&(R=o),a&&(l=tg(o,r))}else `isTab`in e||(l=r+a);l>F&&(F=l)},G=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},K=t=>{t!=null&&(e.fontKerning=t)},xe=(t,n=!1)=>{if(t.textLayoutService&&t.textShapeRequest){let e=t.textLayoutService.shape({...t.textShapeRequest,text:t.text,fontSizePt:G(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(Oh(t.bold,t.italic,G(t),t.fontFamily,s,t.fontRoute));let r=be(t),i=e.measureText(t.text);return K(r),i},Se=(e,t)=>{if(!e.verticalRun)return 0;if(!v)throw Error(`Vertical glyph measurement capability is required for vertical text`);ye(Oh(e.bold,e.italic,G(e),e.fontFamily,s,e.fontRoute));let n=be(e);try{return v.measureRunInkExtra(t)}finally{K(n)}},Ce={segIndex:t.length,charOffset:0},we=t.map((e,t)=>(e.src={segIndex:t,charOffset:0},`text`in e&&bc(e.text)&&(e.seaBreaks=kc(e.text,{cjk:!0,kinsoku:l})),e)),q;if(!g)q=we;else if(g.segIndex>=we.length)q=[];else{let e=we[g.segIndex];if(g.charOffset>0)if(!(`text`in e)||g.charOffset>e.text.length)q=[];else{let t=e.text.slice(g.charOffset);q=t?[{...e,text:t,measuredWidth:0,src:{...g},punctuationCompressions:Uh(e,g.charOffset,e.text.length),seaBreaks:gg(e.seaBreaks,g.charOffset)},...we.slice(g.segIndex+1)]:we.slice(g.segIndex+1)}else q=we.slice(g.segIndex)}let Te=0,Ee=-1,De=[];for(let e=q.length-1;e>=0;--e){let t=q[e];if(!t||!(`text`in t)||t.text.length===0)break;if(t.fitTextRegionIndex!==void 0||t.tateChuYoko===!0||t.ruby!==void 0){if(t.sourceRunIndex!==void 0){for(let e=De.length-1;e>=0;--e){let n=De[e];n.segment.sourceRunIndex===t.sourceRunIndex&&(n.segment.paragraphFinalIdeographicSpaceTail=void 0,n.segment.paragraphFinalIdeographicSpaceLocalCount=void 0,n.segment.paragraphFinalIdeographicSpaceCount=void 0,n.segment.paragraphFinalIdeographicSpaceTailStart=void 0,De.splice(e,1))}Ee=De.at(-1)?.index??-1}break}let n=/^\\u3000+$/u.test(t.text),r=/[^\\u3000]\\u3000+$/u.test(t.text);if(!n&&!r)break;let i=n?[...t.text].length:[...t.text].reverse().findIndex(e=>e!==` `);if(Te+=i,t.paragraphFinalIdeographicSpaceTail=!0,t.paragraphFinalIdeographicSpaceLocalCount=i,t.paragraphFinalIdeographicSpaceCount=Te,Ee=e,De.push({index:e,segment:t}),r)break}if(Ee>=0){let e=q[Ee];e&&`text`in e&&(e.paragraphFinalIdeographicSpaceTailStart=!0)}Og(q.filter(e=>`text`in e),i,e=>xe(e).width+Se(e,e.text));let Oe=e=>Xh(e,xe(e).width+Se(e,e.text),u,i),ke=(e,t)=>{let n=Zh(e,u);return!n||E==null||e.text.length===0?t:Qh(t,n,E,n===`eastAsia`?Me(e):1)},Ae=e=>ke(e,Oe(e)),je=(t,n,r=!1)=>{let a=r?t.text.length-n.length:0,o={...t,text:n,punctuationCompressions:Uh(t,Math.max(0,a),Math.max(0,a)+n.length)};if(t.textLayoutService&&t.textShapeRequest)return Xh(o,t.textLayoutService.shape({...t.textShapeRequest,text:n,fontSizePt:G(t),measure:!0,clusterGeometry:!1}).advancePt+Se(t,n),u,i);ye(Oh(t.bold,t.italic,G(t),t.fontFamily,s,t.fontRoute));let c=be(t),l=e.measureText(n).width;return K(c),Xh(o,l+Se(t,n),u,i)},Me=t=>{if(E==null)return 1;t.textLayoutService&&t.textShapeRequest&&!t.shapedClusters&&xe(t,!0);let n=t.shapedClusters?.length?t.shapedClusters:null,r=n==null?[...new Set([0,...Pc(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:Uh(t,r,a)},d;if(n.advancePx!=null)d=Xh(l,n.advancePx+Se(t,c),u,i);else{ye(Oh(t.bold,t.italic,G(t),t.fontFamily,s,t.fontRoute));let n=be(t),r=e.measureText(c).width;K(n),d=Xh(l,r+Se(t,c),u,i)}o+=Rm(d,E)}return Math.max(1,o)},Ne=(e,t,n=!1)=>ke({...e,text:t,shapedClusters:t===e.text?e.shapedClusters:void 0},je(e,t,n)),Pe=t=>{let n=xe(t,Zh(t,u)===`eastAsia`),r=Xh(t,n.width+Se(t,t.text),u,i);t.snapGridNaturalWidthPx=r;let a=t.fontSize*i,o=n,c=G(t);if(t.smallCaps&&!t.vertAlign&&c!==a){if(t.textLayoutService&&t.textShapeRequest){let e=t.textLayoutService.shape({...t.textShapeRequest,text:t.text||`X`,fontSizePt:a,measure:!0,clusterGeometry:!1});o={width:e.advancePt,actualBoundingBoxAscent:e.ascentPt,actualBoundingBoxDescent:e.descentPt,fontBoundingBoxAscent:e.ascentPt,fontBoundingBoxDescent:e.descentPt}}else{let n=e.font;e.font=Oh(t.bold,t.italic,a,t.fontFamily,s,t.fontRoute),o=e.measureText(t.text||`X`),e.font=n}c=a}let l=ig(o,t.fontFamily,a,c,(t.metricEastAsian===!0||Df.test(t.text))&&!t.ruby),d=l.ascent,f=l.descent;if(t.positionExtendsLineBox!==!1){let e=(t.position??0)*i;e>0?d+=e:e<0&&(f-=e)}return t.ruby&&(!t.textBoxLineFloor||t.textBoxVertical)&&(d+=hh(t.ruby.fontSizePt,t.ruby.hpsRaisePt,i,t,e,s)),{width:r,height:t.fontSize,ascent:d,descent:f}},Fe=e=>{if(/\\s$/u.test(e.text)||e.ruby!==void 0||e.tateChuYoko===!0||e.fitTextRegionIndex!==void 0)return;let t=q[0];if(!t||!(`text`in t)||t.joinPrev!==!0||t.text.length===0||[...t.text].some(e=>e!==` `))return;q.shift();let n=Gm(vg(e.text),t.paragraphFinalIdeographicSpaceCount??[...t.text].length);if(n===0){q.unshift(t);return}let r=t.text.slice(0,n),i={...t,text:r,measuredWidth:0,punctuationCompressions:Uh(t,0,1)},a=Pe(i);i.measuredWidth=a.width,W(i,a.width,a.height,a.ascent,a.descent);let o=t.text.slice(r.length);o.length>0&&q.unshift({...t,text:o,measuredWidth:0,joinPrev:void 0,punctuationCompressions:Uh(t,r.length,t.text.length),src:t.src?{segIndex:t.src.segIndex,charOffset:t.src.charOffset+r.length}:void 0})},Ie=e=>`isTab`in e?e.measuredWidth||0:`imagePath`in e?e.widthPt*i:`math`in e?e.measuredWidth||0:`lineBreak`in e?0:Ae(e),Le=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},Re=e=>{let t=Le(e);if(!t)return;let n=0;for(let r=0;r<t.segmentIndex;r+=1)n+=Ie(e[r]);let r=e[t.segmentIndex];return`text`in r?n+Ne(r,r.text.slice(0,t.charOffset)):n},ze=()=>{let e=[],t=0;for(let n of q){if(`isTab`in n||`lineBreak`in n)break;e.push(n),t+=Ie(n)}let n=Re(e);return n===void 0?{totalWidth:t}:{totalWidth:t,decimalPrefixWidth:n}},Be=null;for(oe(ae?o?.paragraphMarkLineStartWidth??ie():ie());q.length>0;){let t=q.shift();if(`lineBreak`in t){fe(t.fontSize,!0),Be=t.fontSize;continue}if(Be=null,`isTab`in t){if(p&&!t.ptab){t.measuredWidth=0,W(t,0,t.fontSize,t.fontSize*i*.8,t.fontSize*i*.2);continue}let e=T+(B?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 q){if(`isTab`in e||`lineBreak`in e)break;s+=Ie(e)}let l=t.ptab.alignment===`center`?.5:+(t.ptab.alignment===`right`),d=o-e-s*l;if(d<=0){if(w.length>0){fe(void 0,!1,t.src),q.unshift(t);continue}d=0}if(t.measuredWidth=d,W(t,d,t.fontSize,t.fontSize*i*.8,t.fontSize*i*.2),t.ptab.alignment!==`left`)for(;q.length>0;){let e=q[0];if(`isTab`in e||`lineBreak`in e)break;if(q.shift(),`imagePath`in e){let t=e.widthPt*i;e.measuredWidth=t,W(e,t,e.heightPt,e.heightPt*i,0)}else if(`math`in e)W(e,e.measuredWidth||0,e.fontSize,e.mathAscent||0,e.mathDescent||0);else{let t=xe(e),n=Xh(e,t.width+Se(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;W(e,n,e.fontSize,r,a)}}continue}let o=Of(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?Eg(o.alignment):`leading`;if(o&&l!==`leading`){let n=s;t.leader=o.leader;let r=ze(),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,W(t,c,t.fontSize,t.fontSize*i*.8,t.fontSize*i*.2);q.length>0;){let e=q[0];if(`isTab`in e||`lineBreak`in e)break;if(q.shift(),`imagePath`in e){let t=e.widthPt*i;e.measuredWidth=t,W(e,t,e.heightPt,e.heightPt*i,0)}else if(`math`in e)W(e,e.measuredWidth||0,e.fontSize,e.mathAscent||0,e.mathDescent||0);else{let t=xe(e),n=Xh(e,t.width+Se(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;W(e,n,e.fontSize,r,a)}}continue}let m=s-e;if(o&&(t.leader=o.leader),m<=0){fe(void 0,!1,t.src),q.unshift(t);continue}if(T+m>H()&&w.length>0){fe(void 0,!1,t.src),q.unshift(t);continue}t.measuredWidth=m,W(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()&&fe(void 0,!1,t.src),W(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(Oh(!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()&&fe(void 0,!1,t.src),W(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()&&fe(void 0,!1,t.src),W(t,a,t.fontSize,l,u);continue}let o=t,g=Pe(o),_=g.width,b=_e(o,_),x=g.height,S=g.ascent,C=g.descent,E=o.paragraphFinalIdeographicSpaceTail===!0,D=o.paragraphFinalIdeographicSpaceCount??0,k=o.paragraphFinalIdeographicSpaceLocalCount??0,A=E?o.text.slice(0,Math.max(0,o.text.length-k)):o.text;if(E&&D>1&&A.length>0){let e={...o,text:A,paragraphFinalIdeographicSpaceTail:void 0,paragraphFinalIdeographicSpaceLocalCount:void 0,paragraphFinalIdeographicSpaceCount:void 0,paragraphFinalIdeographicSpaceTailStart:void 0,measuredWidth:0,punctuationCompressions:Uh(o,0,A.length)},t={...o,text:o.text.slice(A.length),paragraphFinalIdeographicSpaceLocalCount:k,joinPrev:void 0,paragraphFinalIdeographicSpaceTailStart:!0,measuredWidth:0,punctuationCompressions:Uh(o,A.length,o.text.length),src:o.src?{segIndex:o.src.segIndex,charOffset:o.src.charOffset+A.length}:void 0};q.unshift(t),q.unshift(e);continue}if(E&&/^\\u3000+$/u.test(o.text)&&o.paragraphFinalIdeographicSpaceTailStart===!0&&w.some(e=>`text`in e&&/[^\\u3000]/u.test(e.text))){let e=_;for(let t of q){if(!(`text`in t)||t.paragraphFinalIdeographicSpaceTail!==!0)break;e+=Ae(t)}if(T+e>H()){fe(void 0,!1,o.src),q.unshift(o);continue}}if(o.fitTextRegionIndex!==void 0){if(o.fitTextRegionStart){let e=_;for(let t of q){if(!(`text`in t)||t.fitTextRegionIndex!==o.fitTextRegionIndex)break;e+=Ae(t)}w.length>0&&T+e>H()&&fe(void 0,!1,o.src)}o.measuredWidth=_,W(o,_,x,S,C);continue}let M=o.text.replace(/ +$/,``),N=Zh(o,u)?0:o.text.endsWith(` `)?_-Ne(o,M):0,P=e=>{let t=e===void 0||`lineBreak`in e;return m&&(!t||h)},ee=(e,t,r)=>$m({widthPx:e,trailingSpacePx:t,lineWillJustify:P(r),wrapNarrowed:V!==n||ne!==0}),te=ee(b,N,q[0]),F=o.seaBreaks!==void 0&&Sc(o.text),I=new Set;he(I,o,M);let L=(e,t,n)=>P(e)?eh({biasBudgetPx:t,resolvedMeasurementRouteCount:ge(n)}):de||F?0:O*.25;if(!o.joinPrev&&w.length>0&&q[0]?.joinPrev&&!fg(o.text)&&!(o.seaBreaks&&o.seaBreaks.length>0)){let e=_,t=N,n=0,r=j,i=new Set(I),a=o,s=o.text,c=(e,t=e.text)=>{r+=pe(a,s),a=e,s=t};for(;n<q.length&&q[n].joinPrev;n++){let r=q[n];if(fg(r.text)){let n=[...r.text],a=0;for(;a<n.length&&ic.lineStartForbidden.has(n[a].codePointAt(0));)a++;if(a<n.length){let o=n.slice(0,a).join(``),s=Ne(r,o);e+=s,o.length>0&&(c(r,o),he(i,r,o)),t=0;break}}let a=Ae(r);e+=a,c(r),he(i,r);let o=r.text.replace(/ +$/,``),s=r.text.endsWith(` `)?a-Ne(r,o):0;t=o.length===0&&t>0?t+s:s}r+=pe(a,s.replace(/ +$/,``)),T+ee(e,t,q[n])>H()+L(q[n],r,i)&&fe(void 0,!1,o.src)}if(F&&w.length>0&&(()=>{let e=w[w.length-1];return!(`text`in e)||e.text.endsWith(` `)})()){let e=_,t=N,n=0,r=j+pe(o,M),i=new Set(I);if(!o.text.endsWith(` `))for(;n<q.length;n++){let a=q[n];if(!(`text`in a)||a.seaBreaks===void 0||!Sc(a.text))break;let o=a,s=Ae(o),c=o.text.replace(/ +$/,``);if(e+=s,t=o.text.endsWith(` `)?s-Ne(o,c):0,r+=pe(o,c),he(i,o,c),o.text.endsWith(` `)){n++;break}}let a=ee(e,t,q[n]);T+a>H()+L(q[n],r,i)&&a<=V&&fe(void 0,!1,o.src)}let R=L(q[0],j+pe(o,M),I),z=[...M],re=z.at(-1),ie=z.slice(0,-1).join(``),ae=y&&re!==void 0&&(w.length>0||ie.length>0)&&Qm(re,o.eastAsiaLanguage)&&T+Ne(o,ie)<=H()+R;if(T+te<=H()+R)o.measuredWidth=_,W(o,_,x,S,C,N),Fe(o);else if(ae)o.measuredWidth=_,W(o,_,x,S,C,N),Fe(o);else if(fg(o.text)&&o.seaBreaks===void 0){let t=H()-T;ye(Oh(o.bold,o.italic,G(o),o.fontFamily,s,o.fontRoute));let n=be(o),r=``,a=E?Gm(vg(o.text),o.paragraphFinalIdeographicSpaceCount??0):1/0;try{r=t>0?yg(e,o.text,t,Lh(o,u,i),qh(o),Rh(o,i),o.verticalRun===!0,v,e=>Ne(o,e),a):``}finally{K(n)}let c=[...o.text],d=[...r].length,f=w.length>0?0:1,p=_g(c,(y&&d<c.length&&(w.length>0||d>0)&&Qm(c[d],o.eastAsiaLanguage)?d+1:null)??ac(c,d,l,f),E&&a===0?0:a),m=c.slice(0,p).join(``);if(m.length>0){let e=je(o,m);W({...o,text:m,measuredWidth:e,punctuationCompressions:Uh(o,0,m.length)},e,x,S,C);let t=o.text.slice(m.length);t?q.unshift({...o,text:t,punctuationCompressions:Uh(o,m.length,o.text.length),measuredWidth:0,src:{segIndex:o.src.segIndex,charOffset:o.src.charOffset+m.length}}):Fe(o)}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=oc(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:Uh(t,n.length,t.text.length),measuredWidth:Ne(t,a,!0),src:{segIndex:t.src.segIndex,charOffset:t.src.charOffset+n.length}},n){let e=Ne(t,n);T-=t.measuredWidth-e,w[w.length-1]={...t,text:n,measuredWidth:e,punctuationCompressions:Uh(t,0,n.length)}}else T-=t.measuredWidth,w.pop()}}fe(void 0,!1,e?.src??o.src),q.unshift(o),e&&q.unshift(e)}else{let e=[...o.text],t=e.length>0?_g(e,1,o.paragraphFinalIdeographicSpaceTail===!0?Gm(Df.test(e[0]??``),o.paragraphFinalIdeographicSpaceCount??0):1/0):0,n=e.slice(0,t).join(``);if(n){let e=je(o,n);W({...o,text:n,measuredWidth:e,punctuationCompressions:Uh(o,0,n.length)},e,x,S,C);let t=o.text.slice(n.length);t?q.unshift({...o,text:t,punctuationCompressions:Uh(o,n.length,o.text.length),measuredWidth:0,src:{segIndex:o.src.segIndex,charOffset:o.src.charOffset+n.length}}):Fe(o)}}}else if(o.seaBreaks!==void 0){let e=H()-T,t=e=>Ne(o,e),n=xc(o.text),r=jc(o.text,o.seaBreaks,0,e,t,n);if(r>0){let e=o.text.slice(0,r),t=je(o,e);W({...o,text:e,measuredWidth:t,punctuationCompressions:Uh(o,0,e.length)},t,x,S,C);let n=o.text.slice(r);n&&q.unshift({...o,text:n,punctuationCompressions:Uh(o,r,o.text.length),measuredWidth:0,src:{segIndex:o.src.segIndex,charOffset:o.src.charOffset+r},seaBreaks:gg(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=oc(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:Uh(t,n.length,t.text.length),measuredWidth:Ne(t,a,!0),src:{segIndex:t.src.segIndex,charOffset:t.src.charOffset+n.length},seaBreaks:gg(t.seaBreaks,n.length)},n){let e=Ne(t,n);T-=t.measuredWidth-e,w[w.length-1]={...t,text:n,measuredWidth:e,punctuationCompressions:Uh(t,0,n.length)}}else T-=t.measuredWidth,w.pop()}}fe(void 0,!1,e?.src??o.src),q.unshift(o),e&&q.unshift(e)}else{let r=o.seaBreaks[0]??o.text.length,i=o.text.slice(0,r),a=Pc(i),s=jc(i,a,0,e,t,n);s<=0&&(s=a.length>0?a[0]:i.length);let c=o.text.slice(0,s),l=je(o,c);W({...o,text:c,measuredWidth:l,punctuationCompressions:Uh(o,0,c.length)},l,x,S,C);let u=o.text.slice(s);u&&q.unshift({...o,text:u,punctuationCompressions:Uh(o,s,o.text.length),measuredWidth:0,src:{segIndex:o.src.segIndex,charOffset:o.src.charOffset+s},seaBreaks:gg(o.seaBreaks,s)})}}else if(w.length===0){let t=H();ye(Oh(o.bold,o.italic,G(o),o.fontFamily,s,o.fontRoute));let n=be(o),r=0;try{r=t>0?yg(e,o.text,t,Lh(o,u,i),qh(o),Rh(o,i),o.verticalRun===!0,v,e=>Ne(o,e)).length:0}finally{K(n)}let a=[0,...Pc(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=_,W(o,_,x,S,C);else{let e=o.text.slice(0,c),t=je(o,e);W({...o,text:e,measuredWidth:t,punctuationCompressions:Uh(o,0,e.length)},t,x,S,C),q.unshift({...o,text:o.text.slice(c),punctuationCompressions:Uh(o,c,o.text.length),measuredWidth:0,src:{segIndex:o.src.segIndex,charOffset:o.src.charOffset+e.length}})}}else{if(o.joinPrev){o.measuredWidth=_,W(o,_,x,S,C,N);continue}fe(void 0,!1,o.src),q.unshift(o)}}if(w.length>0?fe():Be!==null&&fe(Be),_===`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&&xe(t,!0));return C}const jg=e=>{let t=e.text;return typeof t==`string`?t:void 0},Mg=e=>e.rtl===!0,Ng=e=>e.digitsAsAN===!0,Pg=e=>`isTab`in e;function Fg(e){for(let t of e){if(Mg(t))return!0;let e=jg(t);if(e!==void 0&&ec(e))return!0}return!1}function Ig(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=jg(e[t])??``;if(i[t]=r.length,r+=n.length>0?n:``,a[t]=r.length,Pg(e[t]))s()[i[t]]=`S`;else if(n.length>0&&(Ng(e[t])||Mg(e[t]))){let n=s(),o=Ng(e[t]),c=Mg(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&&fh(r[e])&&(n[e]=`R`)}}}if(o)for(;o.length<r.length;)o.push(null);let{levels:c,paragraphLevel:l}=Qs().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}=tc(c,l,d);return{order:f,rtl:u}}function Lg(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 Rg(e){switch(e){case`both`:case`justify`:case`distribute`:case`lowKashida`:case`mediumKashida`:case`highKashida`:case`thaiDistribute`:return!0;default:return!1}}function zg(e){return e===`distribute`}function Bg(e,t){let n=e.map(e=>Object.freeze({...e})),r=cm(n);return{lineWindow:({topYPt:e,minimumStartWidthPt:n,squareMinimumStartWidthPt:i,probeHeightPt:a,paragraphXPt:o,maximumWidthPt:s,columnXPt:c,columnWidthPt:l})=>{let u=Em(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})=>Dm(e,n,t,t+r)}}function Vg(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=Vg(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 Ug(e,t){if(!$h(t))return e;let n=t.linePitchPt;return n<=0?e:e<=n?n:Math.ceil(e/n)*n}function Wg(e,t,n,r,i,a){let o=Hg(t),s=M_(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=og(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:jh(e),squareMinimumStartWidthPt:Pp(jh(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:cg(e,o,t.hasRuby,m,r.context,p,t.lineSpacing,i.resolvedLocalFonts,i.layoutServices?.text,i.paragraphMarkShapeInput,i.useFeLayout===!0),placement:f}},_=kg(e.runs,i);if(_.length===0)return g();let v=n.wrap?{startPageY:h,paraX:l,columnXPt:n.paragraphXPt,columnWidthPt:n.availableWidthPt,floats:[],paragraphMarkLineStartWidth:Pp(jh(e),1),lineWindow:e=>n.wrap.lineWindow(e),lineBoxH:(e,n,r,i,a,s)=>ng(t.lineSpacing,e,n,1,o,t.hasRuby,i??0,t.hasRuby?t.hasEastAsianText:a??!1,s),pageH:n.maximumYPt}:void 0,y=Ag(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?Ug(Math.max(0,...y.map(e=>ng(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:ng(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:sg(S.advancePt,S.layout.ascent,S.layout.descent),placement:f}}function Gg(e){let t=e.leadingIndentPt+e.authoredFirstIndentPt+e.markerShiftPt;return{startPt:t,endPt:t+e.markerWidthPt}}function Kg(e){let t=e.authoredFirstIndentPt+e.markerShiftPt;return e.baseRtl?e.alignedLeadingEdgePt-t-e.markerWidthPt:e.alignedLeadingEdgePt+t}function qg(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=Xg(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 Jg(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 Yg(e,t,n){return t.find(t=>th(e,t))??Of(e,[...t],n)}function Xg(e,t,n,r,i=!0){let a=e.picBulletImagePath?``:me(e.text,e.fontFamily??null),o=a?Jg(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+=Jg(t,` `,1,r,i)?.shape.advancePt??0;else if(u===`tab`&&(d=0,l>0)){let e=Yg(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 Zg(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 Qg(e){let t=e.textShapeRequest,n=e=>e?[e.ascii??null,e.highAnsi??null,e.eastAsia??null,e.complexScript??null]:null;return Ou(`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 $g(e){let t=[];for(let n of e){let e=t.at(-1);if(e&&`text`in e&&`text`in n&&Qg(e)===Qg(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 e_(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+=Qh(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:Uh(u.segment,p,m)},g=e=>e.textLayoutService&&e.textShapeRequest?Xh(e,e.textLayoutService.shape({...e.textShapeRequest,text:e.text,fontSizePt:Ef(e,1),measure:!0,clusterGeometry:!1}).advancePt,a,1):(i.context.font=Oh(e.bold,e.italic,Ef(e,1),e.fontFamily,i.fontFamilyClasses,e.fontRoute),Xh(e,i.context.measureText(e.text).width,a,1)),_=Zh(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,...Pc(f),f.length])].sort((e,t)=>e-t),n=e?.map(e=>({start:e.range.start,end:e.range.end,naturalWidthPt:Xh({...h,text:f.slice(e.range.start,e.range.end),punctuationCompressions:Uh(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:Uh(h,e,r)})}}),r=0;for(let e of n)e.end<=e.start||(r+=Rm(e.naturalWidthPt,c));o+=Qh(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 t_(e,t,n){let r=Vg(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 wg(c)){let a=e.replace(/\\s+$/u,``),o=u,l=u+a.length;if(u+=e.length,!a)continue;if(!fg(a)){i=Math.max(i,e_(s,c,o,l,n,r));continue}let d=[0,...Pc(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,e_(s,c,e.start,e.end,n,r))}}return i}function n_(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 r_(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=$g(kg(e.runs,i)),s=Math.max(1,n-t.physicalIndentLeftPt-t.physicalIndentRightPt),c=o.length===0?[]:Ag(r.context,o,s,t.firstIndentPt,1,[...t.tabStops],void 0,r.fontFamilyClasses,t.physicalIndentLeftPt,t.kinsoku,Vg(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=n_(e,n,t);u=Math.min(u,r.startPt),d=Math.max(d,r.endPt)});let f=a?Gg({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=t_(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 i_(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 a_(e){return e==null||e.style===`none`?null:e}function o_(e,t){let n=a_(e),r=a_(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 s_(e,t){return!e||!t?!1:o_(e.top,t.top)&&o_(e.bottom,t.bottom)&&o_(e.left,t.left)&&o_(e.right,t.right)&&o_(e.between,t.between)}function c_(e){return e?[e.top,e.right,e.bottom,e.left,e.between].some(e=>e!=null&&e.style!==`none`):!1}function l_(e,t){return!e||!t||e.framePr||t.framePr?!1:c_(e.borders)&&c_(t.borders)&&s_(e.borders,t.borders)}function u_(e,t,n,r=!1){let i=(e,t)=>r?!!e&&!!t&&!!e.framePr&&!!t.framePr&&c_(e.borders)&&c_(t.borders)&&s_(e.borders,t.borders):l_(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 d_(e,t,n,r,i,a){return r_(e,t,n,r,i,a).maxWidthPt}function f_(e){let t=e;return Ou(`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 p_(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=f_(r.framePr),a=[r],o=[n],s=n+1;for(;s<e.length;){let t=e[s];if(t?.type!==`paragraph`||!t.framePr||f_(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 m_=new WeakMap,h_=new WeakMap;function g_(e){let t=p_(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&&m_.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;h_.set(r,u_(i?s:a?.type===`paragraph`?a:null,r,i?c:o?.type===`paragraph`?o:null,i!==void 0))}}const __=e=>m_.get(e),v_=e=>h_.get(e);function y_(e){return{story:e.story,containers:[...e.containers,{kind:`tableCell`}],lineNumberingEligible:!1}}function b_(e){return e.runs.some(e=>e.type===`text`&&!!e.ruby)}function x_(e){return e.runs.some(e=>e.type===`text`&&Df.test(e.text))}function S_(e){for(let t of e){if(t.type===`paragraph`){if(x_(t))return!0;continue}if(t.type===`table`){for(let e of t.rows)for(let t of e.cells)if(S_(t.content))return!0}}return!1}function C_(e,t={normalStyleFontSizePt:10}){return g_(e.body),{kinsoku:rc(e.settings),defaultTabPt:Tg(e.settings),characterSpacingControl:e.settings?.characterSpacingControl,mathDefJc:e.settings?.mathDefJc,documentHasEastAsianText:S_(e.body),normalStyleFontSizePt:t.normalStyleFontSizePt,compat:{adjustLineHeightInTable:e.settings?.adjustLineHeightInTable??!1,useFeLayout:e.settings?.useFeLayout??!1,balanceSingleByteDoubleByteWidth:e.settings?.balanceSingleByteDoubleByteWidth??!1}}}function w_(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 T_(e){switch(e){case`lines`:case`linesAndChars`:case`snapToChars`:return e;default:return`none`}}function E_(e){return e===`lines`||e===`linesAndChars`||e===`snapToChars`}function D_(e){return e===`linesAndChars`||e===`snapToChars`}function O_(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:w_(t),columnSeparator:t.columns?.sep===!0,grid:{kind:T_(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 k_(e){return e.containers.some(e=>e.kind===`tableCell`)}function A_(e,t,n,r){let i=E_(t.grid.kind)&&t.grid.linePitchPt!=null&&t.grid.linePitchPt>0&&r.snapToGrid!==!1&&r.lineSpacing?.rule!==`exact`&&(!k_(n)||e.compat.adjustLineHeightInTable),a=D_(t.grid.kind),o=r.bidi===!0,s=k_(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&&zm(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:Rg(r.alignment),stretchLastLine:zg(r.alignment),tabStops:j_(r),hasRuby:b_(r),hasEastAsianText:x_(r),kinsoku:e.kinsoku,defaultTabPt:e.defaultTabPt,overflowPunct:r.overflowPunct!==!1,mathDefJc:e.mathDefJc}}function j_(e){let t=e.tabStops.filter(e=>e.alignment!==`clear`).map(e=>({...e})),n=e.indentLeft,r=t.some(e=>e.pos===n&&Vm(e.alignment));return(e.indentFirst<0&&!r?[{pos:n,alignment:`left`,leader:`none`},...t]:t).sort((e,t)=>e.pos-t.pos)}function M_(e,t){let{pitchPt:n,paragraphAllowsAdjustment:r}=e.rightIndentGrid;return!r||n==null?0:Bm(t,n)}Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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 N_(e){return e??18}function P_(e,t,n){return e+t-n}function F_(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 I_(){return`right`}function L_(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 R_(e){return B_(e.geometry.marginTop)}function z_(e){return e.geometry.pageHeight-B_(e.geometry.marginBottom)}function B_(e){return Math.abs(e)}function V_(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 U_(e){return e===`tbRl`||e===`tbRlV`||e===`tbLrV`||e===`btLr`}function W_(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,I_()===`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 G_(e,t,n){let r=W_(t,n),i=U_(t.textDirection)?V_(r):r;return Object.freeze({...e,geometry:Object.freeze(i),columns:Object.freeze(w_({...i,titlePage:!1,evenAndOddHeaders:!1,columns:t.columns}).map(e=>Object.freeze(e)))})}function K_(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 q_(){return{pageWidth:612,pageHeight:792,marginTop:72,marginRight:72,marginBottom:72,marginLeft:72,headerDistance:36,footerDistance:36}}function J_(e,t=!1){let n=e.docGridType===`lines`||e.docGridType===`linesAndChars`||e.docGridType===`snapToChars`?e.docGridType:`none`;return Object.freeze({geometry:Object.freeze(K_(e)),columns:Object.freeze(w_(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 Y_(e,t){switch(e.display){case`firstPage`:return t;case`notFirstPage`:return!t;default:return!0}}function X_(e){return e!==void 0&&/^[0-9a-fA-F]{6}$/.test(e)?`#${e}`:`#000000`}function Z_(e){return e!==void 0&&Number.isFinite(e.space)?e.space:0}function Q_(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:X_(e.color),widthPt:i,...Tf(e.style,i)})}function $_(e,t,n,r){if(!e||!Y_(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?B_(i.marginTop):0,l=a?i.pageHeight-B_(i.marginBottom):i.pageHeight,u=c+Z_(e.top),d=l-Z_(e.bottom),f=o+Z_(e.left),p=s-Z_(e.right),m=[];if(e.top&&m.push(Q_(e.top,`top`,{xPt:f,yPt:u},{xPt:p,yPt:u})),e.bottom&&m.push(Q_(e.bottom,`bottom`,{xPt:f,yPt:d},{xPt:p,yPt:d})),e.left&&m.push(Q_(e.left,`left`,{xPt:f,yPt:u},{xPt:f,yPt:d})),e.right&&m.push(Q_(e.right,`right`,{xPt:p,yPt:u},{xPt:p,yPt:d})),m.length===0)return null;let h=Sf(uf(t.textDirection),n);return Object.freeze({zOrder:e.zOrder===`back`?`back`:`front`,logicalToPhysical:Object.freeze({...h.logicalToPhysical}),segments:Object.freeze(m)})}function ev(e,t,n){return`page:${e}:region:${encodeURIComponent(t)}:column:${n}`}function tv(e){return nv(e),{xPt:0,yPt:0,widthPt:e.widthPt,heightPt:e.heightPt,contentTopPt:e.contentTopPt,contentBottomPt:e.contentBottomPt}}function nv(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 rv(e,t){if(e.length===0)throw RangeError(`${t} must not be empty`)}function iv(e,t){if(e&&t===void 0)throw RangeError(`Page-border finalization requires explicit section-owned page identity`);return t??!1}function av(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 ov(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 sv(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&&av(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&&ov(e.lineNumbering,t.lineNumbering)}function cv(e){if(uf(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 lv(e){if(!Number.isInteger(e)||e<0)throw RangeError(`Layout page index must be a non-negative integer`)}function uv(e,t,n){let r=[],i=[],a=new Map,o=new Set,s=new Set,c,l=[];for(let u of n){if(rv(u.id,`Section region id`),rv(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,cv(u);let n=gf({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=hf(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=Sf(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=ev(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=bf(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 dv(e,t){if(e.kind===`paragraph`){t(e),e.drawings.forEach(e=>dv(e,t)),e.textBoxes.forEach(e=>dv(e,t));return}if(e.kind===`table`){fv(e,t);return}e.kind===`textbox`&&pv(e,t)}function fv(e,t){for(let n of e.rows)for(let e of n.cells)for(let n of e.blocks)dv(n.layout,t)}function pv(e,t){e.story.blocks.forEach(e=>dv(e,t))}function mv(e,t,n){let r=[],i=new Set;for(let a of e){let e=n.get(a.flowDomainId)??t;dv(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 hv(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 gv(e,t=hv(e)){return mv(Xd(e),e.sectionOccurrenceId??``,t)}function _v(e){return e.parityBlank?e:Object.freeze({...e,bookmarkStarts:Object.freeze([...gv(e)])})}function vv(e){lv(e.pageIndex),rv(e.sectionOccurrenceId,`Page-start section occurrence id`);let{regions:t,domains:n,sectionByDomain:r}=uv(e.pageIndex,e.physicalPage,e.sectionRegions),i=e.sectionRegions[0],a=i?.pageBorders??e.pageBorders;if(i!==void 0&&(e.sectionOccurrenceId!==i.sectionOccurrenceId||!sv(e.section,i.section)))throw RangeError(`Page-start section context must equal the first section region`);return{pageIndex:e.pageIndex,geometry:tv(e.physicalPage),flowDomains:n,section:e.section,sectionOccurrenceId:e.sectionOccurrenceId,parityBlank:!1,bookmarkStarts:mv(e.paint.map(({node:e})=>e),e.sectionOccurrenceId,r),pageNumber:e.pageNumber,sectionRegions:t,columnSeparators:wf(t),pageBorder:$_(a,e.section,e.physicalPage,iv(a,e.firstSectionOwnedPage)),layers:qd(e.paint),readingOrder:e.readingOrder.map(e=>e.id)}}function yv(e){return lv(e.pageIndex),rv(e.sectionOccurrenceId,`Page-start section occurrence id`),nv(e.physicalPage),Object.freeze({...e,sectionRegions:Object.freeze([]),paint:Object.freeze([]),readingOrder:Object.freeze([])})}function bv(e,t){return Object.freeze({...e,sectionRegions:Object.freeze([...e.sectionRegions,t])})}function xv(e,t,n){return Object.freeze({...e,paint:Object.freeze([...e.paint,t]),readingOrder:n?Object.freeze([...e.readingOrder,t.node]):e.readingOrder})}function Sv(e,t,n){return vv({...e,pageNumber:t,firstSectionOwnedPage:n})}function Cv(e){return lv(e.pageIndex),rv(e.sectionOccurrenceId,`Page-start section occurrence id`),{pageIndex:e.pageIndex,geometry:tv(e.physicalPage),flowDomains:[],section:e.section,sectionOccurrenceId:e.sectionOccurrenceId,parityBlank:!0,bookmarkStarts:[],pageNumber:e.pageNumber,sectionRegions:[],columnSeparators:[],pageBorder:$_(e.pageBorders,e.section,e.physicalPage,iv(e.pageBorders,e.firstSectionOwnedPage)),layers:qd([]),readingOrder:[]}}function wv(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 Tv={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},Ev={body:!0,header:!0,footer:!0,footnote:!0,endnote:!0,textbox:!0},Dv=new Set(Object.keys(Tv)),Ov=new Set(Object.keys(Ev));function kv(e,t,n=new WeakSet){if(!(e===null||typeof e==`string`||typeof e==`boolean`)){if(typeof e==`number`){if(!Number.isFinite(e))throw new Y(`INVALID_GEOMETRY`,`${t} is not finite`);return}if(typeof e!=`object`)throw new Y(`INVALID_GEOMETRY`,`${t} contains ${typeof e}`);if(n.has(e))throw new Y(`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 Y(`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 Y(`INVALID_GEOMETRY`,`${t}.${i} is not an array index`);let o=Object.getOwnPropertyDescriptor(e,i);if(!o?.enumerable||!(`value`in o))throw new Y(`INVALID_GEOMETRY`,`${t}[${i}] is not plain data`);kv(o.value,`${t}[${i}]`,n),r+=1}if(r!==e.length)throw new Y(`INVALID_GEOMETRY`,`${t} is sparse`);return}let r=Object.getPrototypeOf(e);if(r!==Object.prototype&&r!==null)throw new Y(`INVALID_GEOMETRY`,`${t} is not a plain record`);for(let r of Reflect.ownKeys(e)){if(typeof r!=`string`)throw new Y(`INVALID_GEOMETRY`,`${t} has a symbol key`);let i=Object.getOwnPropertyDescriptor(e,r);if(!i?.enumerable||!(`value`in i))throw new Y(`INVALID_GEOMETRY`,`${t}.${r} is not plain data`);kv(i.value,`${t}.${r}`,n)}}finally{n.delete(e)}}}function Av(e,t){if(!Number.isFinite(e))throw new Y(`INVALID_GEOMETRY`,`${t} is not finite`)}function jv(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Mv(e,t){if(!jv(e))throw new Y(`INVALID_GEOMETRY`,`${t} is not a point`);Av(e.xPt,`${t}.xPt`),Av(e.yPt,`${t}.yPt`)}function Nv(e,t){if(Mv(e,t),Av(e.widthPt,`${t}.widthPt`),Av(e.heightPt,`${t}.heightPt`),e.widthPt<0||e.heightPt<0)throw new Y(`INVALID_GEOMETRY`,`${t} has a negative extent`)}function Pv(e,t){if(!jv(e))throw new Y(`INVALID_GEOMETRY`,`${t} is not a matrix`);for(let n of[`a`,`b`,`c`,`d`,`e`,`f`])Av(e[n],`${t}.${n}`)}function Fv(e,t){if(e!==`horizontal-tb`&&e!==`vertical-rl`&&e!==`vertical-lr`)throw new Y(`INVALID_GEOMETRY`,`${t} is unsupported`)}function Iv(e,t){if(!jv(e))throw new Y(`INVALID_GEOMETRY`,`${t} is not a coordinate space`);Fv(e.writingMode,`${t}.writingMode`),Pv(e.logicalToPhysical,`${t}.logicalToPhysical`),Pv(e.physicalToLogical,`${t}.physicalToLogical`)}function Lv(e,t){let{plan:n}=e;if(kv(n,`${t}.plan`),Av(n.rect.x,`${t}.plan.rect.x`),Av(n.rect.y,`${t}.plan.rect.y`),Av(n.rect.w,`${t}.plan.rect.w`),Av(n.rect.h,`${t}.plan.rect.h`),n.rect.w<0||n.rect.h<0)throw new Y(`INVALID_GEOMETRY`,`${t}.plan.rect has a negative extent`);if(Av(n.transform.rotationDeg,`${t}.plan.transform.rotationDeg`),n.geometry.kind===`preset`){if(n.geometry.name.length===0)throw new Y(`INVALID_GEOMETRY`,`${t}.plan.geometry.name is empty`);n.geometry.adjustments.forEach((e,n)=>{e!==null&&Av(e,`${t}.plan.geometry.adjustments[${n}]`)})}else n.geometry.subpaths.forEach((e,n)=>{e.forEach((e,r)=>{if(e.cmd.length===0)throw new Y(`INVALID_GEOMETRY`,`${t}.plan.geometry.subpaths[${n}][${r}].cmd is empty`)})});if(n.stroke&&(Av(n.stroke.width,`${t}.plan.stroke.width`),n.stroke.width<0))throw new Y(`INVALID_GEOMETRY`,`${t}.plan.stroke.width is negative`)}function Rv(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 zv(e,t){return e<t&&!Rv(t,e)}function Bv(e,t){return zv(e.xPt,t.xPt+t.widthPt)&&zv(t.xPt,e.xPt+e.widthPt)&&zv(e.yPt,t.yPt+t.heightPt)&&zv(t.yPt,e.yPt+e.heightPt)}function Vv(e,t){return Rv(e.xPt,t.xPt)&&Rv(e.yPt,t.yPt)&&Rv(t.xPt+t.widthPt,e.xPt+e.widthPt)&&Rv(t.yPt+t.heightPt,e.yPt+e.heightPt)}function Hv(e,t){return Rv(e.xPt,t.xPt)&&Rv(t.xPt+t.widthPt,e.xPt+e.widthPt)}function Uv(e,t,n){return Rv(e,n.yPt)&&Rv(n.yPt+n.heightPt,t)}function Wv(e,t){return Rv(e.yPt,t.yPt)&&Rv(t.yPt+t.heightPt,e.yPt+e.heightPt)}function Gv(e,t){return e.xPt===t.xPt&&e.yPt===t.yPt&&e.widthPt===t.widthPt&&e.heightPt===t.heightPt}function Kv(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 qv(e,t){let n=e.pageBorder;if(n===null)return;if(n.zOrder!==`front`&&n.zOrder!==`back`)throw new Y(`INVALID_REFERENCE`,`${t}.zOrder is invalid`);Pv(n.logicalToPhysical,`${t}.logicalToPhysical`);let r=Sf(uf(e.section.textDirection),e.geometry).logicalToPhysical;if(!Kv(n.logicalToPhysical,r))throw new Y(`INVALID_GEOMETRY`,`${t}.logicalToPhysical contradicts the page-start section`);if(!Array.isArray(n.segments)||n.segments.length===0)throw new Y(`INVALID_GEOMETRY`,`${t}.segments is empty`);n.segments.forEach((e,n)=>{let r=`${t}.segments[${n}]`;if(Mv(e.from,`${r}.from`),Mv(e.to,`${r}.to`),Av(e.widthPt,`${r}.widthPt`),e.from.xPt!==e.to.xPt&&e.from.yPt!==e.to.yPt)throw new Y(`INVALID_GEOMETRY`,`${r} is not an axis-aligned page edge`);if(!/^#[0-9a-fA-F]{6}$/.test(e.color))throw new Y(`INVALID_REFERENCE`,`${r}.color is invalid`)})}function Jv(e,t,n){if(n.has(e))throw new Y(`INVALID_REFERENCE`,`duplicate retained node id ${e}`);n.add(e),t.add(e)}function Yv(e,t,n){if(Jv(e.id,t,n),e.kind===`paragraph`){e.drawings.forEach(e=>Yv(e,t,n)),e.textBoxes.forEach(e=>Yv(e,t,n));return}if(e.kind===`table`){e.rows.forEach(e=>{Jv(e.id,t,n),e.cells.forEach(e=>{Jv(e.id,t,n),e.blocks.forEach(e=>Yv(e.layout,t,n))})});return}if(e.kind===`note`){e.story.blocks.forEach(e=>Yv(e,t,n));return}e.kind===`textbox`&&e.story.blocks.forEach(e=>Yv(e,t,n))}function Xv(e,t){if(e.kind===`paragraph`){let n=wv(e.drawings.filter(e=>e.anchorLayer?.cellContainment===!0).map(e=>e.flowBounds));if(e.cellContainmentBounds&&Nv(e.cellContainmentBounds,`${t}.cellContainmentBounds`),n===null!=(e.cellContainmentBounds===void 0)||n&&e.cellContainmentBounds&&!Gv(n,e.cellContainmentBounds))throw new Y(`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 Y(`INVALID_REFERENCE`,`${i}.occurrenceId is empty or duplicated`);if(r.add(e.occurrenceId),Nv(e.bounds,`${i}.bounds`),e.horizontalOwnership!==`page`&&e.horizontalOwnership!==`host`||e.verticalOwnership!==`page`&&e.verticalOwnership!==`host`)throw new Y(`INVALID_REFERENCE`,`${i} has invalid axis ownership`)}),e.textBoxes.forEach((e,n)=>Xv(e,`${t}.textBoxes[${n}]`));return}if(e.kind===`table`){e.rows.forEach((e,n)=>e.cells.forEach((e,r)=>e.blocks.forEach((e,i)=>Xv(e.layout,`${t}.rows[${n}].cells[${r}].blocks[${i}]`))));return}e.kind===`textbox`&&e.story.blocks.forEach((e,n)=>Xv(e,`${t}.story.blocks[${n}]`))}function Zv(e,t){if(e.orientation===`upright-physical`&&!e.transform)throw new Y(`INVALID_GEOMETRY`,`${t} upright physical drawing is missing its logical transform`);if(e.transform)for(let n of[`a`,`b`,`c`,`d`,`e`,`f`])Av(e.transform[n],`${t}.transform.${n}`);e.clip?.kind===`rect`&&Nv(e.clip.rect,`${t}.clip.rect`),e.clip?.kind===`polygon`&&e.clip.points.forEach((e,n)=>Mv(e,`${t}.clip.points[${n}]`)),e.commands.forEach((e,n)=>{let r=`${t}.commands[${n}]`;if(e.kind!==`noop`){if(e.kind===`drawingml-shape`){Lv(e,r);return}if(e.kind===`drawingml-image-fill`){if(Lv(e,r),e.resourceKey.length===0)throw new Y(`INVALID_GEOMETRY`,`${r}.resourceKey is empty`);if(e.fillRect)for(let t of[`l`,`t`,`r`,`b`])Av(e.fillRect[t],`${r}.fillRect.${t}`);return}if(Nv(e.rect,`${r}.rect`),e.kind===`stroke-rect`&&(Av(e.lineWidthPt,`${r}.lineWidthPt`),e.dashPt.forEach((e,t)=>Av(e,`${r}.dashPt[${t}]`))),e.kind===`text`&&(Av(e.fontSizePt,`${r}.fontSizePt`),Av(e.fontWeight,`${r}.fontWeight`)),e.kind===`watermark-text`){if(Nv(e.sourceBounds,`${r}.sourceBounds`),e.sourceBounds.widthPt<=0||e.sourceBounds.heightPt<=0)throw new Y(`INVALID_GEOMETRY`,`${r}.sourceBounds must have positive extents`);if(Av(e.opacity,`${r}.opacity`),Av(e.rotationDeg,`${r}.rotationDeg`),Av(e.fontSizePt,`${r}.fontSizePt`),e.opacity<0||e.opacity>1||e.fontSizePt<=0)throw new Y(`INVALID_GEOMETRY`,`${r} has invalid textPath paint metrics`);e.spans.forEach((e,t)=>{Av(e.advancePt,`${r}.spans[${t}].advancePt`),Av(e.fontWeight,`${r}.spans[${t}].fontWeight`)})}}})}function Qv(e){kv(e,`layout`),e.diagnostics.forEach((e,t)=>{let n=`diagnostics[${t}]`;if(!Dv.has(e.code))throw new Y(`INVALID_REFERENCE`,`${n}.code is unknown`);if(e.severity!==`warning`&&e.severity!==`error`)throw new Y(`INVALID_REFERENCE`,`${n}.severity is unknown`);if(typeof e.message!=`string`||e.message.length===0)throw new Y(`INVALID_REFERENCE`,`${n}.message is empty`);if(e.source!==void 0&&(!Ov.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 Y(`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 Y(`INVALID_REFERENCE`,`pages[${n}] has invalid page index ${e.pageIndex}`);if(Nv(e.geometry,`pages[${n}].geometry`),Av(e.geometry.contentTopPt,`pages[${n}].geometry.contentTopPt`),Av(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 Y(`INVALID_GEOMETRY`,`pages[${n}] has invalid effective page edges`);qv(e,`pages[${n}].pageBorder`);let r=new Map;if(e.flowDomains.forEach((e,t)=>{if(Nv(e.logicalBounds,`pages[${n}].flowDomains[${t}].logicalBounds`),Nv(e.physicalBounds,`pages[${n}].flowDomains[${t}].physicalBounds`),r.has(e.id))throw new Y(`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||Yd(e).length>0||e.layers.roots.length>0||e.readingOrder.length>0||(e.bookmarkStarts?.length??0)>0))throw new Y(`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 Y(`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 Y(`INVALID_REFERENCE`,`${f} has an invalid region id`);if(t.add(u.id),u.sectionOccurrenceId.length===0)throw new Y(`INVALID_REFERENCE`,`${f} has an empty section occurrence id`);if(o.has(u.sectionOccurrenceId))throw new Y(`INVALID_REFERENCE`,`${f} has a duplicate section occurrence id`);o.add(u.sectionOccurrenceId),i.add(u.sectionOccurrenceId),Iv(u.coordinateSpace,`${f}.coordinateSpace`);let p=u.coordinateSpace.writingMode;if(l!==void 0&&l!==p)throw new Y(`INVALID_GEOMETRY`,`${f} mixes coordinate systems on one physical page`);l=p;let m;try{m=uf(u.section.textDirection)}catch(e){throw new Y(`INVALID_GEOMETRY`,`${f}.section.textDirection is unsupported: ${e.message}`)}if(p!==m)throw new Y(`INVALID_GEOMETRY`,`${f} writing mode contradicts its section text direction`);let h=hf(e.geometry,p),g=gf({widthPt:u.section.geometry.pageWidth,heightPt:u.section.geometry.pageHeight},p);if(g.widthPt!==e.geometry.widthPt||g.heightPt!==e.geometry.heightPt)throw new Y(`INVALID_GEOMETRY`,`${f} section geometry does not match the upright physical page`);if(Av(u.blockStartPt,`${f}.blockStartPt`),Av(u.blockEndPt,`${f}.blockEndPt`),u.columnFlowDirection!==`ltr`&&u.columnFlowDirection!==`rtl`)throw new Y(`INVALID_GEOMETRY`,`${f} has an invalid column flow direction`);let _=u.section.sectionBidi===!0?`rtl`:`ltr`;if(u.columnFlowDirection!==_)throw new Y(`INVALID_GEOMETRY`,`${f} column flow direction contradicts its section bidi`);if(u.blockStartPt<0||u.blockEndPt<u.blockStartPt||u.blockEndPt>h.heightPt)throw new Y(`INVALID_GEOMETRY`,`${f} has an invalid block interval`);let v=Sf(u.coordinateSpace.writingMode,e.geometry);if(!Kv(u.coordinateSpace.logicalToPhysical,v.logicalToPhysical)||!Kv(u.coordinateSpace.physicalToLogical,v.physicalToLogical))throw new Y(`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 Y(`INVALID_GEOMETRY`,`${f} columns contradict its section`);let b=0;u.flowDomainIds.forEach((t,n)=>{let i=r.get(t);if(!i)throw new Y(`INVALID_REFERENCE`,`${f} references missing flow domain ${t}`);if(i.kind!==`body`)throw new Y(`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 Y(`INVALID_GEOMETRY`,`${t} is not the section column's non-negative logical region`);if(b=o.xPt+o.widthPt,!Gv(bf(u.coordinateSpace.logicalToPhysical,i.logicalBounds),i.physicalBounds))throw new Y(`INVALID_GEOMETRY`,`${t} physical bounds do not match its section region transform`);if(!Vv(e.geometry,i.physicalBounds))throw new Y(`INVALID_GEOMETRY`,`${t} physical bounds leave the upright physical page`);if(c.some(e=>e.regionId!==u.id&&Bv(e.bounds,i.physicalBounds)))throw new Y(`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 Y(`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 Y(`INVALID_REFERENCE`,`pages[${n}] page-start section occurrence does not match its first region`);if(!sv(e.section,t.section))throw new Y(`INVALID_GEOMETRY`,`pages[${n}] page-start section facts do not match its first region`)}}let o=wf(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 Y(`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 Y(`INVALID_REFERENCE`,`${t.id} references missing page story region ${t.sectionRegionId??`<default>`}`);if(!Gv(bf(n.coordinateSpace.logicalToPhysical,t.logicalBounds),t.physicalBounds))throw new Y(`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)&&!Gv(t.logicalBounds,t.physicalBounds))throw new Y(`INVALID_GEOMETRY`,`${t.id} has unequal logical and physical bounds without a section region`);if(e.pageNumber){if(Av(e.pageNumber.displayNumber,`pages[${n}].pageNumber.displayNumber`),!Number.isInteger(e.pageNumber.displayNumber))throw new Y(`INVALID_GEOMETRY`,`pages[${n}] page number is not an integer`);if(e.pageNumber.format.length===0||!i.has(e.pageNumber.sectionOccurrenceId))throw new Y(`INVALID_REFERENCE`,`pages[${n}] has an invalid page number section owner`)}let c=[];try{Xd(e)}catch(e){throw e instanceof Kd?new Y(`INVALID_REFERENCE`,e.message):e}let l=new Map,u=new Set;Yd(e).forEach(({node:e},i)=>{let o=`pages[${n}].nodes[${i}]`;l.set(e.id,e),Yv(e,u,t),Xv(e,o),Nv(e.flowBounds,`${o}.flowBounds`),Nv(e.inkBounds,`${o}.inkBounds`),e.clipBounds&&Nv(e.clipBounds,`${o}.clipBounds`),Av(e.advancePt,`${o}.advancePt`),e.kind===`drawing`&&Zv(e,o);let s=r.get(e.flowDomainId);if(!s)throw new Y(`INVALID_REFERENCE`,`${e.id} references missing flow domain ${e.flowDomainId}`);if(e.ordinaryFlow&&s.kind===`body`&&s.logicalBounds.heightPt===0)throw new Y(`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 Y(`INVALID_REFERENCE`,`${e.id} references a body flow domain without a section region`);if(e.flowBounds.yPt+e.flowBounds.heightPt>d.blockEndPt)throw new Y(`BOTTOM_MARGIN_INVASION`,`${e.id} crosses logical block end`)}if(!(d?Uv(d.blockStartPt,d.blockEndPt,e.flowBounds)&&(e.kind===`table`||Hv(s.logicalBounds,e.flowBounds)):e.kind===`table`?Wv(s.logicalBounds,e.flowBounds):Vv(s.logicalBounds,e.flowBounds)))throw new Y(`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 Y(`INVALID_REFERENCE`,`invalid reading-order reference ${e}`);d.add(e)}),e.bookmarkStarts!==void 0){let t=gv(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 Y(`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)&&Bv(n.flowBounds,i.flowBounds))throw new Y(`FLOW_OVERLAP`,`${n.id} overlaps ${i.id}`)}})}function $v(e){try{Qv(e)}catch(e){throw e instanceof Y?e:e instanceof TypeError||e instanceof RangeError?new Y(`INVALID_GEOMETRY`,e.message):e}}function ey(e,t){if(typeof e!=`object`||!e||t.has(e))return e;t.add(e);for(let n of Object.values(e))ey(n,t);return Object.freeze(e)}const ty=new WeakSet,ny=new WeakSet;function ry(e){if(ty.has(e))return e;let t=ey(e,new WeakSet);return ty.add(t),t}function iy(e){return ty.has(e)?e:(kv(e,`layout`),ry(e))}function ay(e){if(ny.has(e))return e;$v(e);let t=ry(e);return ny.add(t),t}function oy(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 sy=class{#e;#t;#n=new Map;#r;#i;#a=null;constructor(e,t,n){this.#e=e,this.#r=Object.freeze({...t}),this.#i=nf(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=nf(t,this.#e),r=this.#n.get(n);return r||(r=iy(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:oy(n.layout,t)})}isDefault(e){return nf(e,this.#e)===this.#i}};function cy(e){let{services:t,defaultCurrentDateMs:n,buildLayout:r}=e,i=tf({defaultCurrentDateMs:n}),a=e.source.fatalParse,o=a===null?null:$d(a.message,a.pageSize,t.text),s=new sy(t,i,o===null?r:()=>o);return vd(t,s),Object.freeze({store:s,defaultOptions:i})}function ly(e,t,n){let r=yd(e);if(!r)throw Error(`Document layout variant store is not attached to the supplied services`);return r.selectPage(tf(t),n)}function uy(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 dy(e){return Object.freeze({a:e,b:0,c:0,d:e,e:0,f:0})}function fy(e,t){return Object.freeze({a:1,b:0,c:0,d:1,e,f:t})}function py(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 my(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 hy(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 gy=Object.freeze({a:1,b:0,c:0,d:1,e:0,f:0}),_y=Object.freeze([]);function vy(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 yy(e,t){return t.coordinateSpace===`upright-physical`?gy:e.get(t.node.flowDomainId)?.coordinateSpace.logicalToPhysical??gy}function by(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=uy(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 xy(e,t){return t?{...e,clips:Object.freeze([...e.clips,Object.freeze({bounds:t,pointToPage:e.pointToPage})])}:e}function Sy(e,t,n){let r=t.xPt-e.flowBounds.xPt,i=t.yPt-e.flowBounds.yPt;return{...n,pointToPage:uy(n.pointToPage,fy(r,i)),layoutTranslationPt:{xPt:n.layoutTranslationPt.xPt+r,yPt:n.layoutTranslationPt.yPt+i}}}function Cy(e,t){return(t.textBoxIds??[]).flatMap(t=>{let n=e.get(t);return n?[n]:[]})}function wy(e,t,n){if(n.emittedTextBoxes.has(e.id))return;n.emittedTextBoxes.add(e.id);let r=xy({...t,pointToPage:uy(t.pointToPage,e.transform)},e.clipBounds);for(let t of e.story.blocks)ky(t,r,n)}function Ty(e,t,n,r){let i=Cy(e,t),a=Ey(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)wy(e,a,r)}function Ey(e,t,n){let r=n.drawingEntries.get(e.id),i=t;r&&r.rootNodeId===t.rootNodeId&&(i=by(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:uy(i.pointToPage,fy(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:uy(c.pointToPage,e.transform)}}return c}function Dy(e,t,n){let r=xy(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`){Ty(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)||wy(t,r,n)}function Oy(e,t,n){let r=xy(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=xy(r,e.clipBounds);for(let t of e.blocks){let r=t.layout;ky(r,Sy(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??[])ky(i.child,Sy(i.child,{xPt:i.xPt-t.layoutTranslationPt.xPt,yPt:i.yPt-t.layoutTranslationPt.yPt},r),n)}function ky(e,t,n){switch(e.kind){case`paragraph`:Dy(e,t,n);return;case`table`:Oy(e,t,n);return;case`note`:for(let r of e.story.blocks)ky(r,xy(t,e.story.clipBounds),n);return;case`textbox`:wy(e,t,n);return;case`drawing`:{let r=n.drawingEntries.get(e.id);Ty(new Map((r?.textBoxes??[]).map(e=>[e.id,e])),e,t,n);return}default:throw Error(`Unknown text-index node: ${String(e)}`)}}function Ay(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=vy(r),o=new Map(r.layers.roots.map(e=>[e.node.id,yy(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`);ky(t.node,{pointToPage:n,layoutTranslationPt:{xPt:0,yPt:0},rootNodeId:t.node.id,paintOrderIndex:l.get(t.node.id)??-1,clips:_y},u)}return u}function jy(e,t){return Object.freeze(Ay(e,t,{collectTextRuns:!0,collectDrawings:!1}).runs)}function My(e,t){let n=Ay(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 Ny(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 Py(e,t){let{placement:n}=e,r=py(t,n.bounds),i=Math.hypot(t.a,t.b),a=Math.hypot(t.c,t.d),o=Ny(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:V(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 Fy(e,t,n){if(!Number.isFinite(n.scale)||n.scale<=0)throw RangeError(`Text projection scale must be positive: ${n.scale}`);let r=dy(n.scale);return jy(e,t).map(e=>Py(e,uy(r,e.pointToPage)))}function Iy(e,t,n){let r=ly(e,{currentDate:n.currentDate,defaultCurrentDateMs:n.defaultCurrentDateMs},t),i=(n.width??r.page.geometry.widthPt*1.3333333333333333)/r.page.geometry.widthPt;return Fy(r.layout,t,{scale:i})}function Ly(e,t,n){return`${e}${t?`|clr:${t}`:``}${n?`|duo:${n.clr1}:${n.clr2}`:``}`}async function Ry(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 zy(e,t,n,r,i=0,a=0,o){let s=await lo(e,t,r,{widthPt:i,heightPt:a,suppressBoundaryFrame:!0});return s?!n&&!o?s:co(`docx-color-effects`,Ly(e,n,o),r,async()=>{let e=s;try{if(n&&(e=await Ry(e,n)),o){let{w:t,h:n}=go(e);if(t>0&&n>0){let r=e;e=await wo(e,o,{width:t,height:n}),r!==s&&e!==r&&$a(r)}}return{bitmap:e,owned:e!==s}}catch(t){throw e!==s&&$a(e),t}}):null}function By(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=yo(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=Ly(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 Vy(e,t){if(!t)return new Map;let n=await Promise.all(By(e).map(async e=>{let n=e.mimeType===`image/svg+xml`,r={svgImagePath:e.svgImagePath,srcRect:e.hasCrop||null},i;if(To(r))try{i=await mo(r.svgImagePath,t)}catch(r){let a=n?await mo(e.imagePath,t):await zy(e.imagePath,e.mimeType,e.colorReplaceFrom,t,e.widthPt,e.heightPt,e.duotone);if(!a)throw r;i=a}else i=n?await mo(e.imagePath,t):await zy(e.imagePath,e.mimeType,e.colorReplaceFrom,t,e.widthPt,e.heightPt,e.duotone);return i==null?null:[Ly(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 Uy(e,t,n){let r=e*t;return(n%2==0?Math.round(r):Math.round(r-.5)+.5)/t}function Wy(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=Uy(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=Uy(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 Gy(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 Ky(e,t){for(let n of e.commands){if(n.kind===`noop`)continue;if(n.kind===`drawingml-shape`){si(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&&$r(t.ctx,n.plan,()=>{ei(t.ctx,n.plan),Gy(n.resourceKey,`image`,s,void 0,t)}),si(t.ctx,n.plan,1);continue}if(n.kind===`resource`){if(!t.resources)throw Error(`Missing retained resource painter for ${n.resourceKey}`);Gy(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=yt(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=V(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=V(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 qy(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 Jy(e){return[...e.bands].reverse().map(t=>({offsetDev:e.spanDev-t.offsetDev-t.widthDev,widthDev:t.widthDev}))}function Yy(e,t,n){if(t.style!==`compound`)return!1;let r=n.pointToCss??dy(n.scale);if(r.b!==0||r.c!==0||r.a<=0||r.d<=0)return!1;let i=py(r,{xPt:e.xPt,yPt:e.yPt}),a=py(r,{xPt:e.xPt+e.widthPt,yPt:e.yPt+e.heightPt}),o=qy(t.authoredStyle,t.widthPt*r.d,n.dpr),s=qy(t.authoredStyle,t.widthPt*r.a,n.dpr);if(!o||!s||o.bands.length!==s.bands.length)return!1;let c=Jy(o),l=Jy(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=>my(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 Xy(e){return 1/e.dpr}function Zy(e,t,n=0){let r=n/t.scale,i=r>e.widthPt?{...e,widthPt:r,...typeof e.authoredStyle==`string`?{dashPatternPt:Object.freeze(dt(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??dy(t.scale),d=o.map(e=>py(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?qy(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=>my(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=>my(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}=jo(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}=jo(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=hy(u,_&&v>0?{xPt:Oo(d[0].xPt,i.widthPt*v,t.dpr),yPt:0}:g&&v>0?{xPt:0,yPt:Oo(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 Qy(e,t){return n=>()=>{e.save();try{t(),n()}finally{e.restore()}}}function $y(e,t){let n=t.pointToCss??dy(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=>py(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=>my(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 eb(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=uy(n.pointToCss??dy(n.scale),fy(i,a)),c=Qy(n.ctx,()=>n.ctx.translate(i,a)),l={...n,pointToCss:s,layoutTranslationPt:{xPt:o.xPt+i,yPt:o.yPt+a}};c(()=>{e.kind===`paragraph`?_b(e,l):ib(e,l,e.resolvedFloatingTables??[],r)})()}function tb(e,t){let n=Xy(t),r=new Set;for(let n of e.compoundBorderFrames??[])Yy(n.bounds,n.border,t)&&n.segmentIndexes.forEach(e=>r.add(e));e.borders.forEach((e,i)=>{r.has(i)||Zy(e,t,n)})}function nb(e,t,n){let r=t.xPt-e.flowBounds.xPt,i=t.yPt-e.flowBounds.yPt,a=n.layoutTranslationPt??{xPt:0,yPt:0},o=uy(n.pointToCss??dy(n.scale),fy(r,i)),s=Qy(n.ctx,()=>n.ctx.translate(r,i)),c={...n,pointToCss:o,layoutTranslationPt:{xPt:a.xPt+r,yPt:a.yPt+i}};s(()=>{let t=()=>tb(e,c);if(!e.clipBounds){t();return}Qy(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 rb(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)eb(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(Qy(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=$y(e.clipBounds,t);Qy(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`&&nb(n.layout,{xPt:e.contentBounds.xPt+n.layout.flowBounds.xPt,yPt:e.flowBounds.yPt+n.offsetPt+n.layout.flowBounds.yPt},t)})()}}ob(n,t),r&&tb(e,t)}function ib(e,t,n,r){if(!e.clipBounds){rb(e,t,n,r);return}let i=e.clipBounds;Qy(t.ctx,()=>{t.ctx.beginPath(),t.ctx.rect(i.xPt,i.yPt,i.widthPt,i.heightPt),t.ctx.clip()})(()=>rb(e,t,n,r))()}function ab(e,t,n){ib(e,t,n??e.resolvedFloatingTables??[],!0)}function ob(e,t){let n=t.layoutTranslationPt??{xPt:0,yPt:0};for(let r of e)eb(r.child,{xPt:r.xPt-n.xPt,yPt:r.yPt-n.yPt},t)}function sb(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 cb(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 lb(e,t){return e.kind===`explicit`?e.color:e.kind===`auto`?vt(e.background??`#FFFFFF`):t.defaultTextColor??`#000000`}function ub(e,t){return lb(e.color,t)}function db(e,t,n=!1){let{ctx:r}=t;r.fillStyle=lb(e.color,t),r.font=V(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 fb(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 pb(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 mb(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=>{Ky(e,n);for(let e of t)vb(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=uy(n.pointToCss??dy(n.scale),e.transform);Qy(n.ctx,()=>{sb(n.ctx,e.transform)})(()=>o({...n,pointToCss:t}))()}else o(n)}finally{(i!==0||a!==0)&&n.ctx.restore()}}function hb(e,t,n){mb(t,pb(e,t),n)}function gb(e,t){let{ctx:n}=t,r=new Set(e.drawings.flatMap(e=>e.textBoxIds??[])),i=n=>hb(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??[])Zy(e,t,Xy(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),Gy(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 Gy(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)db(n,t)}for(let n of e.decorations??[])Zy(n,t);continue}if(e.kind!==`text`)continue;if(cb(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=ub(e,t),n.font=V(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?al(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)db(r,t,n)}for(let n of e.emphasis?.glyphs??[])db(n,t);for(let n of e.emphasis?.paths??[])fb(n,t);for(let n of e.decorations)Zy(n,t);for(let n of e.runBorderFragments??[])Zy(n,t)}}let o=Xy(t);for(let n of e.borders)Zy(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)||vb(n,{...t,omitAnchoredDrawings:!1})}function _b(e,t){if(!e.clipBounds){gb(e,t);return}let n=e.clipBounds;Qy(t.ctx,()=>{t.ctx.beginPath(),t.ctx.rect(n.xPt,n.yPt,n.widthPt,n.heightPt),t.ctx.clip()})(()=>gb(e,t))()}function vb(e,t){let n=t=>{for(let n of e.story.blocks)if(n.kind===`paragraph`)_b(n,t);else if(n.kind===`table`)ab(n,t,n.resolvedFloatingTables??[]);else throw Error(`Text-box story contains unsupported retained node: ${n.kind}`)},r=uy(t.pointToCss??dy(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=Qy(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?Qy(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 yb(e,t){let n=uy(t.pointToCss??dy(t.scale),e.logicalToPhysical),r={...t,pointToCss:n};Qy(t.ctx,()=>{sb(t.ctx,e.logicalToPhysical)})(()=>{for(let t of e.segments)Zy(t,r,.5)})()}const bb=Object.freeze({paint(e,t){throw Error(`Missing retained resource painter for ${e}: expected ${t}`)}});function xb(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 Sb(e,t){switch(e.kind){case`drawing`:Ky(e,t);return;case`paragraph`:_b(e,t);return;case`table`:ab(e,t,e.resolvedFloatingTables??[]);return;case`note`:{e.separator.forEach(e=>Zy(e,t));let n=()=>e.story.blocks.forEach(e=>Sb(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 Cb(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=Wy(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 wb(e,t,n,r){let i=n.get(e.flowDomainId),a=e.coordinateSpace===`upright-physical`?void 0:i?.coordinateSpace.logicalToPhysical,o=Qy(t.ctx,()=>{a&&(a.a!==1||a.b!==0||a.c!==0||a.d!==1||a.e!==0||a.f!==0)&&sb(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 Tb(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 Eb(e,t){let n=t.pointToCss??dy(t.scale);for(let t of e.frames)t.kind===`transform`&&(n=uy(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,Tb(n,t.ctx);mb(e.node,e.textBoxes,r)}finally{for(;i>0;)t.ctx.restore(),--i}}function Db(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)wb(r,t,n,e=>{r.kind===`drawing`?Eb(r,e):Sb(r.node,{...e,omitAnchoredDrawings:r.omitAnchoredDrawings})})};e.pageBorder?.zOrder===`back`&&yb(e.pageBorder,t),s(i.slice(0,o)),Cb(e,t),s(i.slice(o)),e.pageBorder?.zOrder!==`back`&&e.pageBorder&&yb(e.pageBorder,t)}async function Ob(e,t,n,r,i=bb){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),Db(a,{ctx:o,scale:r.scale,dpr:r.dpr,resources:i})}finally{o.restore()}}function kb(e,t){if(typeof e!=`string`||e.trim().length===0)throw TypeError(`${t} must be a non-empty string`)}function Ab(e){return kb(e,`unavailable paint resource reason`),Object.freeze({status:`unavailable`,reason:e})}function jb(e){return typeof e==`object`&&!!e&&e.status===`unavailable`&&typeof e.reason==`string`&&e.reason.trim().length>0}function Mb(e){typeof e!=`object`||!e||e.status!==`unavailable`||kb(e.reason,`unavailable paint resource reason`)}function Nb(e,t){let n=new Map;for(let r of t){if(n.has(r.resourceKey))throw Error(`Duplicate paint resource handle: ${r.resourceKey}`);Mb(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 Pb(e,t){return Nb(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 Fb(e){if(!jb(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 Ib(e,t,n){let r=e.descriptor,i=Fb(e);if(!i)return;let a=(e,a)=>{vo(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 Lb(e,t,n){let r=Fb(e);r&&n.drawImage(r,t.xPt,t.yPt,t.widthPt,t.heightPt)}const Rb=Object.freeze({image(e,t,n){Ib(e,t,n)},chart(e,t,n){cr(n,e.descriptor.model,{x:t.xPt,y:t.yPt,w:t.widthPt,h:t.heightPt},1)},math(e,t,n){Lb(e,t,n)},\"picture-bullet\"(e,t,n){Lb(e,t,n)}}),zb=new WeakMap;function Bb(e,t){return(t??e.geometry.widthPt*1.3333333333333333)/e.geometry.widthPt}function Vb(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 Vb(e)!==null}function Ub(e,t){let n=Vb(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 Wb(e,t,n,r){let i=r.fetchImage?eo(r.fetchImage):void 0,a;try{let i=(zb.get(n)??0)+1;zb.set(n,i);let o=()=>zb.get(n)!==i,s=r.dpr??Do(),c=Ub(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=Bb(t,r.width),f=t.geometry.widthPt*d,p=t.geometry.heightPt*d,m=Ao(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 Ob(e,0,n,{scale:d,dpr:h});return}let g;try{g=await Vy(r.registry.descriptors,r.fetchImage)}catch(e){if(o())return;throw e}if(o())return;let _=xb(Pb(r.registry,e=>{if(e.kind===`math`)return r.privateResources?.keys.includes(e.resourceKey)?r.privateResources.resolve(e.resourceKey):Ab(`optional math renderer unavailable`);if(e.kind===`image`||e.kind===`picture-bullet`)return g.get(Ly(e.partPath,e.colorReplaceFrom,e.duotone))??Ab(r.fetchImage?`unsupported image format produced no drawable output`:`image byte source unavailable`)}),Rb);u.save();try{u.scale(d,d),Db(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 Gb=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 Kb(e){return Object.freeze({...e,pages:Object.freeze([...e.pages])})}function qb(e){let{kind:t,region:n,...r}=e,i=yv(r);if(n&&(i=bv(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 Jb(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 Kb({flow:e,pages:[t],footnoteReservePt:0,balanceTargetPt:null})}function Yb(e,t){if(t!==null&&(!Number.isFinite(t)||t<0))throw RangeError(`A body balance target must be finite and non-negative`);return Kb({...e,balanceTargetPt:t})}function Xb(e,t){if(!Number.isFinite(t)||t<0)throw RangeError(`A footnote reserve increment must be finite and non-negative`);return t===0?e:Kb({...e,footnoteReservePt:e.footnoteReservePt+t})}function Zb(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 Kb({...e,flow:i,pages:r,footnoteReservePt:a?0:e.footnoteReservePt,balanceTargetPt:a?null:e.balanceTargetPt})}function Qb(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 $b(e){return{x:!e.horzSpecified||e.horzAnchor!==`page`&&e.horzAnchor!==`margin`,y:e.vertAnchor!==`page`&&e.vertAnchor!==`margin`}}function ex(e,t){return{...e,xPt:e.xPt+t.xPt,yPt:e.yPt+t.yPt}}function $(e,t){return{...e,xPt:e.xPt+t.xPt,yPt:e.yPt+t.yPt}}function tx(e,t){return{...e,from:ex(e.from,t),to:ex(e.to,t)}}function nx(e,t){return e.kind===`rect`?{...e,rect:$(e.rect,t)}:{...e,points:e.points.map(e=>ex(e,t))}}function rx(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:$(e.rect,t)}}function ix(e,t){let n=e.orientation===`upright-physical`?{xPt:0,yPt:0}:t;return{...e,flowBounds:$(e.flowBounds,t),inkBounds:$(e.inkBounds,t),...e.clipBounds?{clipBounds:$(e.clipBounds,t)}:{},...e.transform?{transform:{...e.transform,e:e.transform.e+t.xPt,f:e.transform.f+t.yPt}}:{},...e.clip?{clip:nx(e.clip,t)}:{},commands:e.commands.map(e=>rx(e,n))}}function ax(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=ix(e,t);return n.drawingMemo.set(e,{key:r,value:a}),a}function ox(e,t,n){return e.kind===`text`?{...e,origin:ex(e.origin,t),bounds:$(e.bounds,t),decorations:e.decorations.map(e=>({...e,from:ex(e.from,t),to:ex(e.to,t),...e.path?{path:e.path.map(e=>ex(e,t))}:{}})),...e.highlightFragments?{highlightFragments:e.highlightFragments.map(e=>({...e,rect:$(e.rect,t)}))}:{},...e.ruby?{ruby:{...e.ruby,paintOps:e.ruby.paintOps.map(e=>({...e,origin:ex(e.origin,t)}))}}:{},...e.emphasis?{emphasis:{...e.emphasis,...e.emphasis.glyphs?{glyphs:e.emphasis.glyphs.map(e=>({...e,origin:ex(e.origin,t)}))}:{},...e.emphasis.paths?{paths:e.emphasis.paths.map(e=>({...e,points:e.points.map(e=>ex(e,t))}))}:{}}}:{},...e.runBorderFragments?{runBorderFragments:e.runBorderFragments.map(e=>tx(e,t))}:{}}:e.kind===`anchor-host`?{...e,bounds:$(e.bounds,t),baselinePt:e.baselinePt+t.yPt}:e.kind===`drawing`?{...e,bounds:$(e.bounds,n?.get(e.drawingId)??t)}:e.kind===`tab`&&(e.leaderGlyphs||e.decorations)?{...e,...e.bounds?{bounds:$(e.bounds,t)}:{},...e.leaderGlyphs?{leaderGlyphs:e.leaderGlyphs.map(e=>({...e,origin:ex(e.origin,t)}))}:{},...e.decorations?{decorations:e.decorations.map(e=>({...e,from:ex(e.from,t),to:ex(e.to,t),...e.path?{path:e.path.map(e=>ex(e,t))}:{}}))}:{}}:e.bounds?{...e,bounds:$(e.bounds,t)}:e}function sx(e,t,n){return{...e,bounds:$(e.bounds,t),baselinePt:e.baselinePt+t.yPt,placements:e.placements.map(e=>ox(e,t,n)),...e.barTabRules?{barTabRules:e.barTabRules.map(e=>({...e,from:ex(e.from,t),to:ex(e.to,t)}))}:{}}}function cx(e,t){let n=e.axes[t];return n.status===`resolved`&&[`page`,`margin`,`leftMargin`,`rightMargin`,`topMargin`,`bottomMargin`].includes(n.referenceFrame)}function lx(e,t){let n=cx(e,`horizontal`)?0:t.xPt,r=cx(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:$(e.geometry.objectFrame,i),inkBounds:$(e.geometry.inkBounds,i),wrapBounds:e.geometry.wrapBounds?$(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=>ex(e,i))}:null}}}}function ux(e,t){return dx(e,t,{memo:new WeakMap,drawingMemo:new WeakMap})}function dx(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=>ax(e,s.get(e.id)??t,n)),l=Qb(c.filter(e=>e.anchorLayer?.cellContainment===!0).map(e=>e.flowBounds)),u={...e,flowBounds:$(e.flowBounds,t),inkBounds:$(e.inkBounds,t),...e.clipBounds?{clipBounds:$(e.clipBounds,t)}:{},lines:e.lines.map(e=>sx(e,t,s)),borders:e.borders.map(e=>tx(e,t)),drawings:c,...l?{cellContainmentBounds:l}:{},textBoxes:e.textBoxes.map(e=>px(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:$(e.bounds,r),polygon:e.polygon.map(e=>ex(e,r))}}),...e.anchorCollisions?{anchorCollisions:e.anchorCollisions.map(e=>({...e,bounds:$(e.bounds,{xPt:e.horizontalOwnership===`page`?0:t.xPt,yPt:e.verticalOwnership===`page`?0:t.yPt})}))}:{},...e.anchorFrames?{anchorFrames:e.anchorFrames.map(e=>lx(e,t))}:{},...e.paragraphMark?{paragraphMark:{...e.paragraphMark,bounds:$(e.paragraphMark.bounds,t)}}:{},...e.lineNumbers?{lineNumbers:e.lineNumbers.map(e=>({...e,bounds:$(e.bounds,t),paintOps:e.paintOps.map(e=>({...e,origin:ex(e.origin,t)}))}))}:{}};return n.memo.set(e,{key:r,value:u}),u}function fx(e,t){return px(e,t,{memo:new WeakMap,drawingMemo:new WeakMap})}function px(e,t,n){let r=e.verticalMode===void 0;return{...e,flowBounds:$(e.flowBounds,t),inkBounds:$(e.inkBounds,t),...e.clipBounds?{clipBounds:r?$(e.clipBounds,t):e.clipBounds}:{},...e.contentBounds?{contentBounds:r?$(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:$(e.story.flowBounds,t),inkBounds:$(e.story.inkBounds,t),...e.story.clipBounds?{clipBounds:$(e.story.clipBounds,t)}:{},blocks:e.story.blocks.map(e=>{if(e.kind===`paragraph`)return dx(e,t,n);if(e.kind===`table`)return hx(e,t);throw Error(`Text-box story contains unsupported retained node: ${e.kind}`)})}:e.story}}function mx(e,t){return ux(e,t)}function hx(e,t){return{...e,flowBounds:$(e.flowBounds,t),inkBounds:$(e.inkBounds,t),...e.clipBounds?{clipBounds:$(e.clipBounds,t)}:{},borders:e.borders.map(e=>tx(e,t)),...e.compoundBorderFrames?{compoundBorderFrames:e.compoundBorderFrames.map(e=>({...e,bounds:$(e.bounds,t)}))}:{},rows:e.rows.map(e=>({...e,flowBounds:$(e.flowBounds,t),inkBounds:$(e.inkBounds,t),...e.clipBounds?{clipBounds:$(e.clipBounds,t)}:{},cells:e.cells.map(e=>({...e,flowBounds:$(e.flowBounds,t),inkBounds:$(e.inkBounds,t),...e.clipBounds?{clipBounds:$(e.clipBounds,t)}:{},contentBounds:$(e.contentBounds,t),blocks:e.blocks}))}))}}function gx(e,t){return`${e}/occurrence/${encodeURIComponent(t).replaceAll(`%3A`,`:`)}`}function _x(e){if(!Number.isFinite(e.xPt)||!Number.isFinite(e.yPt))throw RangeError(`body occurrence translation must be finite`)}function vx(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`);_x(e.destination.translation)}function yx(e,t){let n=$b(e.positioning);return{xPt:n.x?t.xPt:0,yPt:n.y?t.yPt:0}}function bx(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 xx(e,t){bx(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=mx(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={...hx(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}:yx(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:$(e.anchorBounds,i),...e.columnBounds?{columnBounds:$(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)??yx(e.source,t);return{...e,xPt:e.xPt+r.xPt,yPt:e.yPt+r.yPt,bounds:$(e.bounds,r),exclusionBounds:$(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 Sx(e,t){return _x(t),xx(e,t)}function Cx(e,t){vx(t);let n=xx(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=>gx(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=Lu(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 wx=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 Tx(e,t){return e.sectionBidi?[...t].reverse():[...t]}function Ex(e){let t=Tx(e.section,e.columnSubset);return t[t.indexOf(e.columnIndex)+1]}function Dx(e,t={}){let n=R_(e),r=z_(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=Tx(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 Ox(e,t){return Object.freeze({state:e,events:Object.freeze(t.map(e=>Object.freeze({...e})))})}function kx(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 Ox(Object.freeze({...e,pageHasContent:!0,cursorBlockPt:i,deepestColumnBlockPt:Math.max(e.deepestColumnBlockPt,i)}),[{type:`place`,node:t,blockStartPt:r,blockEndPt:i}])}function Ax(e,t){let n=Math.max(e.deepestColumnBlockPt,e.cursorBlockPt),r=Ex(e);if(r!==void 0)return Ox(Object.freeze({...e,columnIndex:r,cursorBlockPt:e.regionStartBlockPt,deepestColumnBlockPt:n}),[{type:`next-column`}]);let i=e.pageIndex+1;return Ox(Dx(e.section,{pageIndex:i}),[{type:`next-page`,reason:t,pageIndex:i,sectionOccurrenceId:e.section.sectionOccurrenceId,parityBlank:!1}])}function jx(e,t){return e.kind===t.kind&&e.linePitchPt===t.linePitchPt&&e.charSpacePt===t.charSpacePt}function Mx(e,t){return e.xPt===t.xPt&&e.yPt===t.yPt&&e.widthPt===t.widthPt&&e.heightPt===t.heightPt}function Nx(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 Px(e,t,n){let r=n=>{throw new wx(e.columnIndex,e.section.columns.length,t.columns.length,n)},i=uf(e.section.textDirection),a=uf(t.textDirection);i!==a&&r(`writing-mode`);let o=gf({widthPt:e.section.geometry.pageWidth,heightPt:e.section.geometry.pageHeight},i),s=gf({widthPt:t.geometry.pageWidth,heightPt:t.geometry.pageHeight},a);(o.widthPt!==s.widthPt||o.heightPt!==s.heightPt)&&r(`page-extent`);let c=n.incomingPageContentStartBlockPt??R_(t),l=n.incomingPageContentEndBlockPt??z_(t);(c!==e.pageContentStartBlockPt||l!==e.pageContentEndBlockPt)&&r(`block-band`),jx(e.section.grid,t.grid)||r(`grid`);let u=Tx(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=Sf(i,o),m=e.section.columns[f],h=bf(p.logicalToPhysical,{xPt:m.xPt,yPt:e.regionStartBlockPt,widthPt:m.wPt,heightPt:e.regionEndBlockPt-e.regionStartBlockPt}),g=t.columns.findIndex(t=>Mx(h,bf(p.logicalToPhysical,{xPt:t.xPt,yPt:e.regionStartBlockPt,widthPt:t.wPt,heightPt:e.regionEndBlockPt-e.regionStartBlockPt})));g<0&&r(`physical-column`);let _=Tx(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 bf(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=>Nx(e,n))})&&r(`physical-overlap`),Object.freeze({targetColumnIndex:g,targetColumnOrdinal:v,columnSubset:y,outgoingColumnSubset:b})}function Fx(e,t,n){let r=e.pageIndex+1;return Ox(Dx(t,{pageIndex:r}),[{type:`next-page`,reason:n,pageIndex:r,sectionOccurrenceId:t.sectionOccurrenceId,parityBlank:!1}])}function Ix(e,t){let n=e%2==0;return t===`odd`?n:!n}function Lx(e,t,n,r){let i=e.pageIndex+1,a=[];return r!==void 0&&!Ix(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}),Ox(Dx(t,{pageIndex:i}),a)}function Rx(e,t,n){return t===`lastRenderedPageBreak`?Ox(e,[]):t===`column`?Ax(e,`explicit-break`):t===`pageBreakBefore`&&!e.pageHasContent&&e.columnIndex===Tx(e.section,e.columnSubset)[0]&&e.cursorBlockPt===e.pageContentStartBlockPt?Ox(e,[]):t===`page`?Lx(e,e.section,`explicit-break`,n):Fx(e,e.section,`page-break-before`)}function zx(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 Ox(Dx(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(Ex(e)===void 0){let n=Fx(e,t,`section-break`);return Ox(n.state,[...n.events,{type:`begin-section`,section:t}])}let n=Px(e,t,r);return Ox(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=Fx(e,t,`section-break`);return Ox(n.state,[...n.events,{type:`begin-section`,section:t}])}let i=Lx(e,t,`section-break`,n===`oddPage`?`odd`:n===`evenPage`?`even`:void 0);return Ox(i.state,[...i.events,{type:`begin-section`,section:t}])}function Bx(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 Vx(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`}}Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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 Ux(e){return e===`none`}function Wx(e){return Math.max(0,e.advancePt-Math.min(e.authoredSpaceAfterPt,e.retainedSpaceAfterPt))}function Gx(e){return e.origin.yPt+(e.inkBounds?.descentPt??0)}function Kx(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(Gx)):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(Gx(t));for(let t of e.ruby?.paintOps??[])n.push(Gx(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 qx(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=Kx(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 Jx(e){return e.keepNext&&e.inkless&&e.undecoratedMark}function Yx(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 Xx(e){return e.drawings.length>0&&e.lines.every(e=>e.placements.every(e=>e.kind===`drawing`||e.kind===`anchor-host`))}function Zx(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 Qx(e,t){if(!Xx(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 $x(e){if(!Xx(e))return null;let{paragraphMark:t,...n}=e;return Object.freeze({...n,advancePt:0,flowBounds:Object.freeze({...e.flowBounds,heightPt:0})})}function eS(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 tS(e,t,n,r,i=-1/0,a=!0,o=!1){return cl(e,t,{firstContentSi:n,lastDrawnSi:r,minPerGap:i,seaClusterGaps:o,...a?{}:{isGapChar:()=>!1}})}function nS(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 rS(e,t,n,r,i){return t>=0?null:tS(e,t,n,r,-i*.25,!1)}const iS=[`U`,`C`,`D`,`L`,`R`,`T`],aS=[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],oS=[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],sS=[1587,1588,1589,1590,1690,1691,1692,1693,1694,1786,1787,1884,1901,1904,1917,1918,2223],cS=[1580,1581,1582,1665,1666,1667,1668,1669,1670,1671,1727,1879,1880,1902,1903,1906,1916,2186,2210,2241,2245,2246],lS=[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],uS=[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],dS=[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],fS=[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 pS(e){let t=0,n=aS.length-1,r=-1;for(;t<=n;){let i=t+(n-t>>1);aS[i]<=e?(r=i,t=i+1):n=i-1}return r<0?`U`:iS[oS[r]]??`U`}function mS(e){let t=pS(e);return t===`D`||t===`L`||t===`C`}function hS(e){let t=pS(e);return t===`D`||t===`R`||t===`C`}const gS=new Set([1575,1570,1571,1573,1649]),_S=new Set(sS),vS=new Set(cS),yS=new Set(lS),bS=new Set(uS),xS=new Set(dS),SS=new Set(fS);var CS=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}(CS||{});function wS(e){let t=[...e].map(e=>e.codePointAt(0)),n=[],r=t.length>0&&pS(t[0])!==`T`?0:-1;for(let e=1;e<t.length;e++){let i=t[e];if(pS(i)!==`T`){if(r>=0){let a=t[r];!(a===1604&&gS.has(i))&&mS(a)&&hS(i)&&n.push(e)}r=e}}return n}function TS(e,t,n){let r=t-1;for(;r>=0&&pS(e[r])===`T`;)r--;let i=e[r],a=e[t];return i===1600?CS.Kashida:_S.has(i)?CS.Seen:vS.has(i)?CS.HahDal:ph(t,n)&&xS.has(a)?CS.Alef:yS.has(i)&&bS.has(a)?CS.BaRa:ph(t,n)&&SS.has(a)?CS.Waw:CS.Normal}function ES(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&&pS(a[o])===`T`;)o--;let s=-1,c=-1;for(let e of wS(i.join(``))){let t=TS(a,e,o);t>=c&&(s=e,c=t)}s>=0&&n.push({beforeCp:e+s,priority:c}),e=r}return n}function DS(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 OS(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 ES(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,DS(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:DS(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 kS(e){return Object.freeze({status:`unsupported`,command:Object.freeze({kind:`noop`}),diagnostics:Object.freeze([Object.freeze({code:`UNSUPPORTED_FEATURE`,severity:`error`,message:e})])})}function AS(e){return e?{type:e.type,w:e.w,len:e.len}:void 0}function jS(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 MS(e){if(!e.stroke||!e.strokeWidth||e.strokeWidth<=0)return null;let t=jS(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}:{},...AS(e.headEnd)?{headEnd:AS(e.headEnd)}:{},...AS(e.tailEnd)?{tailEnd:AS(e.tailEnd)}:{}}}function NS(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 kS(`VML textPath with a DrawingML image fill is not rendered`);if(r.fitPath===!0)return kS(`VML textPath fitPath=true is not rendered`);if(r.xScale===!0)return kS(`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 kS(`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 kS(`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?kS(`VML textPath produced empty glyph metrics`):Object.freeze({status:`planned`,command:Lu({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:MS(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:Lu({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:Lu({kind:`drawingml-shape`,plan:o},`DrawingML shape command`)})}function PS(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 FS(e,t={story:`textbox`,storyInstance:`shape`,path:[]},n=PS){return Lu((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 IS(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 LS(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 RS(e){return-(e.inkBounds?.ascentPt??e.ascentPt)}function zS(e){return e.inkBounds?.descentPt??e.descentPt}function BS(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 VS(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 US(e){let t=[],n=e.origin.xPt+e.advancePt;if(e.underline){let r=BS(e.underline.probe),i=e.origin.yPt+(RS(e.underline.probe)+zS(e.underline.probe))/2,a=e.origin.yPt+zS(e.base)+r/2,o=Math.max(i,a),s=VS(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=BS(e.strike.probe);if(e.strike.double&&e.strike.doubleProbe){let i=e.origin.yPt+RS(e.strike.doubleProbe)+r/2,a=e.origin.yPt+zS(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+(RS(e.strike.probe)+zS(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 WS(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 GS(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 KS(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(!GS(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,...Tf(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 qS=Z({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.`});Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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 JS(e,t){return!e||t!==`none`}function YS(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 XS(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`||!YS(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 ZS(e){return e===0}function QS(e,t){return e==null?!t:e!==`paragraph`&&e!==`line`&&e!==`character`}function $S(e,t,n){return e===`page`&&t!==null&&n!==void 0&&t<n}const eC=21600;function tC(e,t,n){return{code:e,path:t,message:n}}function nC(e){return typeof e==`number`&&Number.isFinite(e)}function rC(e){return nC(e.xPt)&&nC(e.yPt)&&nC(e.widthPt)&&nC(e.heightPt)&&e.widthPt>=0&&e.heightPt>=0}function iC(e){return e.kind===`align`?e.value:e.kind===`offset`?e.valuePt:e.kind===`percent`?e.fraction:null}function aC(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:iC(i.choice),issueCode:n.code}}function oC(e,t,n,r){let i=n[e];return i===null?{problem:tC(`missing-reference-frame`,r,`${e} frame is required`)}:rC(i)?{base:{startPt:t===`horizontal`?i.xPt:i.yPt,endPt:t===`horizontal`?i.xPt+i.widthPt:i.yPt+i.heightPt,referenceFrame:e}}:{problem:tC(`invalid-reference-frame`,r,`${e} frame must be finite and non-negative`)}}function sC(e,t,n,r){let i=oC(`page`,t,n,r);if(!i.base)return i;let a=oC(`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:tC(`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:tC(`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 cC(e,t,n,r){if(t===`page`||t===`margin`||e===`horizontal`&&(t===`column`||t===`character`)||e===`vertical`&&(t===`paragraph`||t===`line`))return oC(t,e,n,r);if(e===`horizontal`&&(t===`leftMargin`||t===`rightMargin`)||e===`vertical`&&(t===`topMargin`||t===`bottomMargin`))return sC(t,e,n,r);if(t===`insideMargin`||t===`outsideMargin`){if(n.pageParity===null)return{problem:tC(`missing-page-parity`,r,`${t} requires explicit page parity`)};let i=t===`insideMargin`==(n.pageParity===`odd`);return{...sC(e===`horizontal`?i?`leftMargin`:`rightMargin`:i?`topMargin`:`bottomMargin`,e,n,r),parityRequired:!0}}return{problem:tC(`unsupported-relative-from`,r,`${t} is not a valid ${e} reference`)}}function lC(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:tC(`missing-size`,`extent.${i}`,`${i} is required`)}:r!==`valid`||!nC(a)||a<=0?{problem:tC(`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:qS.id}}}}};if(r===null)return a();let o=`relativeSize.${e}`;if(r.fractionStatus===`missing`||r.fraction===null)return{problem:tC(`missing-relative-size-fraction`,`${o}.fraction`,`relative size fraction is required`)};if(r.fractionStatus!==`valid`||!nC(r.fraction))return{problem:tC(`invalid-relative-size-fraction`,`${o}.fraction`,`relative size fraction must be finite`)};if(r.fraction<0)return{problem:tC(`invalid-relative-size-fraction`,`${o}.fraction`,`relative size fraction must be non-negative`)};if(ZS(r.fraction))return a({relativeFrom:r.relativeFrom,fraction:r.fraction});if(r.relativeFromStatus===`missing`||r.relativeFrom===null)return{problem:tC(`missing-relative-size-reference`,`${o}.relativeFrom`,`relative size reference is required`)};if(r.relativeFromStatus!==`valid`)return{problem:tC(`invalid-relative-size-reference`,`${o}.relativeFrom`,`relative size reference is invalid`)};let s=cC(e,r.relativeFrom,n,`${o}.relativeFrom`);if(!s.base)return{problem:tC(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!nC(c)||c<0?{problem:tC(`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 uC(e,t,n,r){let i=n[e],a=e;if(i.relativeFromStatus===`missing`||i.relativeFrom===null){let t=tC(`missing-relative-from`,`${a}.relativeFrom`,`${e} relativeFrom is required`);return{diagnostic:aC(e,n,t),problem:t}}if(i.relativeFromStatus!==`valid`){let t=tC(`invalid-relative-from`,`${a}.relativeFrom`,`${e} relativeFrom is invalid`);return{diagnostic:aC(e,n,t),problem:t}}let o=cC(e,i.relativeFrom,r,`${a}.relativeFrom`);if(!o.base){let t=o.problem;return{diagnostic:aC(e,n,t),problem:t}}let s=i.choice;if(s.kind===`missing`){let t=tC(`missing-axis-choice`,`${a}.choice`,`${e} choice is required`);return{diagnostic:aC(e,n,t),problem:t}}if(s.kind===`invalid`){let t=tC(`invalid-axis-choice`,`${a}.choice`,`${e} choice is invalid`);return{diagnostic:aC(e,n,t),problem:t}}let c=o.base.endPt-o.base.startPt,l,u;if(s.kind===`offset`){if(!nC(s.valuePt)){let t=tC(`invalid-axis-value`,`${a}.choice`,`offset must be finite`);return{diagnostic:aC(e,n,t),problem:t}}l=o.base.startPt+s.valuePt,u=s.valuePt}else if(s.kind===`percent`){if(!nC(s.fraction)){let t=tC(`invalid-axis-value`,`${a}.choice`,`percentage must be finite`);return{diagnostic:aC(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=tC(`invalid-axis-value`,`${a}.choice`,`${s.value} is invalid`);return{diagnostic:aC(e,n,t),problem:t}}if((s.value===`inside`||s.value===`outside`)&&r.pageParity===null){let t=tC(`missing-page-parity`,`frames.pageParity`,`${s.value} alignment requires explicit page parity`);return{diagnostic:aC(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=tC(`invalid-axis-choice`,`${a}.choice`,`${e} choice is invalid`);return{diagnostic:aC(e,n,t),problem:t}}if(!nC(l)){let t=tC(`invalid-axis-value`,`${a}.choice`,`resolved origin is not finite`);return{diagnostic:aC(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 dC(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 fC=[`top`,`right`,`bottom`,`left`];function pC(e,t){return e[`${t}Status`]}function mC(e,t){return e[`${t}Pt`]}function hC(e,t,n){let r=fC.some(t=>pC(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 fC){let r=pC(e,n),a=mC(e,n);if(r!==`valid`||!nC(a))return{problem:tC(`invalid-effect-extent`,`${t}.${n}`,`present effectExtent requires four finite edge values`)};i[`${n}Pt`]=a}return{values:i}}function gC(e,t){let n={topPt:0,rightPt:0,bottomPt:0,leftPt:0},r={};for(let i of fC){let a=pC(t,i),o=pC(e,i),s=a===`valid`||a===`invalid`?{status:a,value:mC(t,i),source:`wrap`}:o===`valid`||o===`invalid`?{status:o,value:mC(e,i),source:`anchor`}:{status:`missing`,value:null,source:`implicit-zero`};if(s.status===`invalid`||s.status===`valid`&&(!nC(s.value)||s.value<0))return{problem:tC(`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 _C(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 rC(n)?n:null}function vC(e,t){let n=e.wrap.polygon;if(n===null||n.invalidPointCount!==0||n.coordinateSpace.width!==eC||n.coordinateSpace.height!==eC||n.points.length<3)return{problem:tC(`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(!nC(i.x)||!nC(i.y))return{problem:tC(`invalid-wrap-polygon`,`wrap.polygon.points.${e}`,`polygon coordinates must be finite`)};r.push({xPt:t.xPt+i.x/eC*t.widthPt,yPt:t.yPt+i.y/eC*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 yC(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 bC(e){return Lu(e,`anchor frame result`)}function xC(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=tC(n===`missing`?`missing-required-behavior`:`invalid-required-behavior`,`behavior.${e}`,`CT_Anchor requires a ${e} value`);return bC({status:`unsupported`,occurrenceId:t.occurrenceId,axes:{horizontal:aC(`horizontal`,t,i),vertical:aC(`vertical`,t,i)},issues:[i]})}let r=[],i=lC(`horizontal`,t,n),a=lC(`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:aC(`horizontal`,t,e)},s={diagnostic:aC(`vertical`,t,e)}}else if(t.simplePosition.status===`invalid`){let e=tC(`invalid-simple-position`,`simplePosition.enabled`,`simplePos enablement is invalid`);r.push(e),o={diagnostic:aC(`horizontal`,t,e,!0),problem:e},s={diagnostic:aC(`vertical`,t,e,!0),problem:e}}else if(t.simplePosition.status===`valid`&&t.simplePosition.enabled===!0){let e=oC(`page`,`horizontal`,n,`frames.page`),i=t.simplePosition.xPt,a=t.simplePosition.yPt;if(!e.base||n.page===null||!rC(n.page)){let n=e.problem??tC(`invalid-reference-frame`,`frames.page`,`simple positioning requires a valid page frame`);r.push(n),o={diagnostic:aC(`horizontal`,t,n,!0),problem:n},s={diagnostic:aC(`vertical`,t,n,!0),problem:n}}else if(t.simplePosition.xStatus!==`valid`||!nC(i)){let e=t.simplePosition.xStatus===`invalid`,n=tC(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:aC(`horizontal`,t,n,!0),problem:n},s={diagnostic:aC(`vertical`,t,n,!0),problem:n}}else if(t.simplePosition.yStatus!==`valid`||!nC(a)){let e=t.simplePosition.yStatus===`invalid`,n=tC(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:aC(`horizontal`,t,n,!0),problem:n},s={diagnostic:aC(`vertical`,t,n,!0),problem:n}}else o=dC(`horizontal`,i,n.page),s=dC(`vertical`,a,n.page)}else{let e=uC(`horizontal`,i.resolved.valuePt,t,n),c=uC(`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 bC({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=hC(t.parentEffectExtent,`parentEffectExtent`,!1);if(u.problem||!u.values){let e=u.problem;return bC({status:`unsupported`,occurrenceId:t.occurrenceId,axes:{horizontal:o.diagnostic,vertical:s.diagnostic},issues:[e]})}let d=_C(l,u.values);if(d===null){let e=tC(`invalid-effect-extent`,`parentEffectExtent`,`parent effect extents produce invalid ink bounds`);return bC({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=tC(t.wrap.kind===`missing`?`missing-wrap-kind`:`invalid-wrap-kind`,`wrap.kind`,`exactly one valid wrap kind is required`);return bC({status:`unsupported`,occurrenceId:t.occurrenceId,axes:{horizontal:o.diagnostic,vertical:s.diagnostic},issues:[e]})}let f=gC(t.anchorDistances,t.wrap.distances);if(f.problem||!f.resolved)return bC({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=tC(`invalid-wrap-side`,`wrap.side`,`square, tight, and through wrapping require an authored wrap side`);return bC({status:`unsupported`,occurrenceId:t.occurrenceId,axes:{horizontal:o.diagnostic,vertical:s.diagnostic},issues:[e]})}let h=u.values,g=fC.some(e=>pC(t.parentEffectExtent,e)!==`missing`)?`parent`:`none`;if(t.wrap.effectExtent!==null){let e=hC(t.wrap.effectExtent,`wrap.effectExtent`,!0);if(e.problem||!e.values)return bC({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=vC(t,l);if(e.problem||!e.polygon||!e.bounds)return bC({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=_C(l,h),y===null)){let e=tC(`invalid-effect-extent`,`wrap.effectExtent`,`wrapping effect extents produce invalid bounds`);return bC({status:`unsupported`,occurrenceId:t.occurrenceId,axes:{horizontal:o.diagnostic,vertical:s.diagnostic},issues:[e]})}let b=y===null?null:_C(y,f.resolved.values);if(y!==null&&b===null){let e=tC(`invalid-distance`,`wrap.distances`,`distances produce invalid bounds`);return bC({status:`unsupported`,occurrenceId:t.occurrenceId,axes:{horizontal:o.diagnostic,vertical:s.diagnostic},issues:[e]})}return bC({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:yC(t.group)}})}function SC(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 CC(e,t,n,r){let i=SC(e,t,n,r),a=i<=n;return{suppressBefore:a,overlap:n+(a?0:r)-i}}function wC(e){return Object.freeze(e.pages.map(e=>Object.freeze({pageIndex:e.pageIndex,displayPageNumber:e.pageNumber.displayNumber,pageNumberFormat:e.pageNumber.format})))}function TC(e){if(e.fieldType===`page`)return`page`;if(/numPages/i.test(e.fieldType)||/NUMPAGES/i.test(e.instruction))return`total-pages`}function EC(e){return e.some(e=>e.type===`paragraph`?e.runs.some(e=>e.type===`field`?TC(e)!==void 0:!1):e.type===`table`?e.rows.some(e=>e.cells.some(e=>EC(e.content))):!1)}function DC(e,t=[],n=[]){return EC(e)||t.some(e=>EC(e.content))||n.some(e=>EC(e))}const OC=new WeakMap;function kC(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 AC(e){return new Set((e.anchorFrames??[]).flatMap(e=>e.status===`resolved`?[e.occurrenceId]:[]))}function jC(e){let t=AC(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 MC(e){let t=AC(e);return Object.freeze(e.exclusions.filter(e=>e.anchorOccurrenceId!==void 0&&t.has(e.anchorOccurrenceId)))}function NC(e){return Object.freeze({flowDomainId:e,collisions:Object.freeze([]),exclusions:Object.freeze([])})}function PC(e,t){let n=OC.get(e);n||(n=new Map,OC.set(e,n));let r=n.get(t);if(r)return r;let i=NC(t);return n.set(t,i),i}function FC(e,t,n){let r=OC.get(e);if(!r||r.get(t.flowDomainId)!==t)throw Error(`Paragraph wrap registry transaction is stale`);r.set(t.flowDomainId,IC(t,n))}function IC(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=jC(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=MC(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 RC(e){if(!(!e||e.type!==`text`&&e.type!==`field`))return e.typographyInput}function zC(e){switch(e){case`left`:return`left`;case`right`:return`right`;default:return`center`}}function BC(e){return LC(e.measuredWidthPt,`segment.measuredWidthPt`)}function VC(e){return e.map(e=>e.kind===`text`&&!e.fixedPitch?{text:e.text}:{})}function HC(e){return e===`lowKashida`?`low`:e===`mediumKashida`?`medium`:e===`highKashida`?`high`:null}function UC(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 WC(e,t){if(!e)return null;let n=nS(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 GC(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 KC(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 qC(e,t){return e===void 0||t===void 0?e===t:e.length===t.length&&e.every((e,n)=>e===t[n])}function JC(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&&qC(e.dashPatternPt,t.dashPatternPt)}function YC(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 XC(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)&&JC(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=YC(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 ZC(e){let{line:t}=e,n=t.segments,r=e.baseRtl||Fg(n),i=Ig(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+BC(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?Lg(e.alignment,e.baseRtl):zC(e.displayMathJustification),p=f===`justify`&&(!d||e.stretchLastLine),m=p?HC(e.alignment):null;if(m&&u>0){let e=OS(n.map(e=>e.kind===`text`?{text:e.text}:{}),u,m,(e,t)=>{let r=n[e];return r?.kind===`text`?UC(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=VC(n);if(p){let i=WC(tS(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=nS(i)}else if(u<0){let e=WC(rS(b,u,g,r?h:n.length,t.baselinePt-t.topPt),n);_=e?.perSeg??null,v=e?.perGap??0,y=nS(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=BC(r)+o;if(r.kind===`tab`){let e={xPt:E,yPt:t.topPt,widthPt:r.measuredWidthPt,heightPt:t.advancePt},n=r.underline?US({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:IS({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=GC(r,a,v),_=i.rtl[e]?`rtl`:`ltr`,y=_===`rtl`?KC(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?US({origin:T,advancePt:s+S,base:p.base,color:bw(h.color),...p.underline?{underline:p.underline}:{},...p.strike?{strike:p.strike}:{}}):h.decorations,k=p?.emphasis?{authored:p.emphasis.authored,glyphs:WS({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=KS(D.slice(e,n).map(e=>({bounds:e.bounds,trailingSlackPt:e.ownedTrailingSlackPt??0,border:e.runBorder})));D[e]={...t,runBorderFragments:r},e=n}return XC(D),Iu({range:t.range,bounds:{xPt:w+T,yPt:t.topPt,widthPt:x,heightPt:t.advancePt},baselinePt:t.baselinePt,advancePt:t.advancePt,placements:D})}function QC(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 $C(e){let t=e.continuation?.lineStart??0,n=e.continuation?.lineEnd??e.lines.length,r=e.lines.slice(t,n),i=e.continuation?QC(e):LC(e.flowBounds.heightPt,`flowBounds.heightPt`);return Iu({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 ew(e,t){return{...e,path:[...e.path,t]}}function tw(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 nw(e){return Nu(e)}function rw(e,t){return Ou(`unavailable-drawing`,ew(e,t))}function iw(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 aw(e){return TC(e)||(/^date$/i.test(e.fieldType)?`date`:/^time$/i.test(e.fieldType)?`time`:`document`)}function ow(e){return e.sourceRunIndex}function sw(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 cw=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 lw(e){return e.startsWith(`#`)?e:cw[e]??`#FFFF00`}function uw(e){let t=rh(e.vertAlign,e.fontSize)+(e.lineRelativePosition??e.position??0);return t===0?0:-t}function dw(e,t,n,r,i,a,o){let s=ow(e),c=s===void 0?void 0:t.runs[s],l=RC(c);if(e.metricOnly){let t=sw(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??B(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?LS({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}):[],_=uw(e);return{kind:`text`,text:e.text,...s===void 0?{}:{sourceRunIndex:s},...c?.type===`field`?{role:`field-result`,dependency:aw(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:lw(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:zh(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 fw(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 pw(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 Xg(r,i,{authoredFirstIndentPt:e.indentFirst,physicalIndentLeftPt:t.physicalIndentLeftPt,tabStops:e.tabStops,defaultTabPt:t.defaultTabPt},a)}function mw(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 hw(e,t,n,r,i,a){if(!e.shape||e.markerText===``)return[];let o=e.shape,s=Kg({baseRtl:n.baseRtl,alignedLeadingEdgePt:mw(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 gw(e){if(e)return e.startsWith(`#`)?e:`#${e}`}function _w(e,t,n){let r=gw(t),i=gw(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 vw(e){return e!=null&&e.style!==`none`}function yw(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=vw(l?.left??null)?l.left.space??0:0,p=vw(l?.right??null)?l.right.space??0:0,m=vw(u)?u.space??0:0,h=vw(d)?d.space??0:0;return{xPt:s-f,yPt:i-m,widthPt:c-s+f+p,heightPt:a+m+h}}function bw(e){return e.kind===`explicit`?e.color:e.kind===`auto`?vt(e.background??`#FFFFFF`):`#000000`}function xw(e){return e.inkBounds??{xMinPt:0,xMaxPt:e.advancePt,ascentPt:e.ascentPt,descentPt:e.descentPt}}function Sw(e){return e===`circle`?`○`:e===`comma`?`﹅`:`•`}function Cw(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=bw(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=Sw(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:xw(a(r))}});return{authored:e.emphasisMark,glyph:r,mark:{inkBounds:xw(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 ww(e,t,n,r,i,a){if(e.metricOnly){let t=sw(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=dw(e,t,n,0,0,0,0);if(o.kind!==`text`)throw Error(`Visible text segment projected as anchor host`);let s=Yh(e,r,1),c=e.charScale??1,l=uw(e),u=Cw(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=Hh(e,a,r)*c,_=Hh(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=Rm(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:V(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 Tw(e,t){let n=new Map;for(let e of t.lines)for(let t of e.layout.segments){let e=ow(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 Ew(e){return`text`in e?e.metricOnly?0:e.text.length:`math`in e?e.fallbackText.length:1}function Dw(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=fw(m,o),y=1/0,b=f,x=[];for(let e of g.segments){let n=ow(e),r=n===void 0?void 0:t.runs[n],c=Ew(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=ow(e),r=ew(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:rw(i,n??0)}),f=Math.max(f,m+c);continue}let o=t.chart?`chart`:`image`,s=t.chartResourceKey??(t.chart?nw(r):ju(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},...ow(e)===void 0?{}:{sourceRunIndex:ow(e)},resourceKey:t.mathResourceKey,resourceKind:`math`,measuredWidthPt:t.measuredWidth,widthPt:t.measuredWidth,heightPt:t.mathAscent+t.mathDescent,topOffsetPt:-t.mathAscent})}else x.push(ww(e,t,m,Vg(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 ZC({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 Ow(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 kw(e,t){return{start:e.start+t,end:e.end+t}}function Aw(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:kw(e.range,r),placements:e.placements.map(e=>{let t=kw(e.range,r);return e.kind===`text`?{...e,range:t,clusters:e.clusters.map(e=>({...e,range:kw(e.range,r)})),paintOps:e.paintOps.map(e=>({...e,range:kw(e.range,r)}))}:{...e,range:t}})}))}function jw(e,t,n,r,i){let a=e.contentEndYPt-e.contentStartYPt;return ZC({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 Mw(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 Nw(e,t){return Mw(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 Pw(e,t,n,r,i=!1){let a=ew(n.source,r),o=NS(e,t,n.environment.layoutServices?.text,e.vmlTextPathInput,e.fill?.fillType===`image`?ju(a,e.fill.imagePath):void 0),s=[o.command],c=tw(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 Fw(e,t,n){if(!e.anchor||e.anchorAcquisitionInput)return null;let r=Mw(e,t);if(!r)return null;let i=e.anchorYRelativeFrom??(e.anchorYFromPara?`paragraph`:`page`),a=ew(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`?ju(a,e.imagePath):nw(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 Iw(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 Rw(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 zw(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 Bw(e,t){let n=[my(t,e),my(t,{xPt:e.xPt+e.widthPt,yPt:e.yPt}),my(t,{xPt:e.xPt,yPt:e.yPt+e.heightPt}),my(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 Vw(e,t){return bf(t,e)}function Hw(e,t){let n=e=>{let n=xf(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:bf(t,e.geometry.objectFrame),inkBounds:bf(t,e.geometry.inkBounds),wrapBounds:e.geometry.wrapBounds?bf(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:xf(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=>yf(t,e))}}:{}}}}}function Uw(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:Rw(e.geometry.inkBounds,n,t),wrapBounds:e.geometry.wrapBounds?Rw(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 Ww(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:bf(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:bf(n.physicalToLogical,l)}function Gw(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 Kw(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=xC({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?gf(h.page,i.environment.pageWritingMode):void 0,b=y===void 0?void 0:Sf(i.environment.pageWritingMode,y),x=y===void 0?v:Hw(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:zw(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=ew(i.source,p.runIndex),n=C?Bw(S,C):S,r=tT(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?Vw(r.flowBounds,C):r.flowBounds)}let j=Uw(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,P=g.allowOverlap&&i.ordinaryFlow&&M!==null;if(N||P){let t=Gw(j,`vertical`,g.layoutInCell&&i.anchorCellBounds!==void 0),n=l.filter(e=>!$S(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=Kp({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=$(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,fx(e,u))}j=Uw(x,A)}}for(let{run:t,runIndex:n}of f){let r=ew(i.source,n),a=t.anchorAcquisitionInput,o=Ww(a,A,b),s=C?Bw(o,C):o;if(t.type===`image`)T.push({kind:`resource`,resourceKind:`image`,resourceKey:ju(r,t.imagePath),rect:s});else if(t.type===`chart`)T.push({kind:`resource`,resourceKind:`chart`,resourceKey:nw(r),rect:s});else if(t.type===`unavailableDrawing`)T.push({kind:`noop`}),E.push(iw(t.resourceKind,r));else{let o=a.group?.resolvedChildFrame,c=NS(o?{...t,rotation:o.rotationDeg,flipH:o.flipH,flipV:o.flipV}:t,s,i.environment.layoutServices?.text,t.vmlTextPathInput,t.fill?.fillType===`image`?ju(r,t.fill.imagePath):void 0);T.push(c.command),E.push(...tw(c,r));let l=`${i.id}:anchor-textbox:${e}:${n}`,u=k.get(n)??tT(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 ee={kind:`drawing`,id:`${i.id}:anchor-drawing:${e}`,source:ew(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:Gw(j,`horizontal`,g.layoutInCell&&i.anchorCellBounds!==void 0),verticalOwnership:Gw(j,`vertical`,g.layoutInCell&&i.anchorCellBounds!==void 0),...g.layoutInCell&&JS(g.allowOverlap,j.geometry.wrap.kind)&&i.anchorCellBounds?{cellContainment:!0}:{}},...O.length?{textBoxIds:O}:{}},te=j.geometry.wrapBounds,F=te&&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:te,polygon:j.geometry.wrap.polygon?.points??Lw(te),anchorOccurrenceId:e,verticalOwnership:Gw(j,`vertical`,g.layoutInCell&&i.anchorCellBounds!==void 0)}:void 0,I={occurrenceId:e,bounds:A,horizontalOwnership:Gw(j,`horizontal`,g.layoutInCell&&i.anchorCellBounds!==void 0),verticalOwnership:Gw(j,`vertical`,g.layoutInCell&&i.anchorCellBounds!==void 0),...g.relativeHeight===null?{}:{relativeHeight:g.relativeHeight}};return{result:j,drawing:ee,exclusion:F,collision:I,textBoxes:D,...g.layoutInCell&&JS(g.allowOverlap,j.geometry.wrap.kind)&&i.anchorCellBounds?{cellContainmentBounds:A}:{},hostLineIndex:u,hostRange:d.range}}function qw(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`&&Df.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:Rg(t.alignment),stretchLastLine:zg(t.alignment),tabStops:j_(t),hasRuby:r,hasEastAsianText:i}}function Jw(e){return e===`vert`||e===`vert270`||e===`eaVert`||e===`mongolianVert`?e:void 0}function Yw(e,t,n){let r=Math.max(0,t-n);return e===`b`?r:e===`ctr`?r/2:0}function Xw(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=Df.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 ST({...e,paintOps:t},o)});return{...e,bounds:{...e.bounds,yPt:s},baselinePt:e.baselinePt+o,placements:c}});return{...e,lines:a}}function Zw(e,t){let n=(e,n)=>e.kind===`paragraph`?Xw(e,t===`mongolianVert`?`eaVert`:t,n,{topPt:0,rightPt:0,bottomPt:0,leftPt:0}):Zw(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:Zw(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 Qw(e,t,n,r){return{...e,blocks:e.blocks.map(e=>{if(e.kind===`paragraph`)return Xw(e,t,n,r);if(e.kind===`table`)return Zw(e,t);throw Error(`Text-box story contains unsupported retained node: ${e.kind}`)})}}function $w(e,t,n=!0){if(t===0)return e;let r={xPt:0,yPt:t};return{...e,flowBounds:$(e.flowBounds,r),inkBounds:$(e.inkBounds,r),...e.clipBounds?{clipBounds:n?$(e.clipBounds,r):e.clipBounds}:{},blocks:e.blocks.map(e=>{if(e.kind===`paragraph`)return ux(e,r);if(e.kind===`table`)return eT(e,r);throw Error(`Text-box story contains unsupported retained node: ${e.kind}`)})}}function eT(e,t){let n=hx(e,t),r=new Map,i=e=>{let n=r.get(e);if(n)return n;let i={...e,anchorBounds:$(e.anchorBounds,t),...e.columnBounds?{columnBounds:$(e.columnBounds,t)}:{},child:eT(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:$(e.bounds,t),exclusionBounds:$(e.exclusionBounds,t),source:n,child:n.child}});return{...n,...a?{floatingTables:a}:{},...o?{resolvedFloatingTables:o}:{}}}function tT(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:FS(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=Jw(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},_=qw(n.context,g),v=SC(m,t,m?.spacing.afterPt??0,t.spacing.beforePt);p+=v;let y=pT(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?Xw(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=>wT(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=wv(h.map(e=>e.flowBounds))??{xPt:y.xPt,yPt:y.yPt,widthPt:0,heightPt:0},x=wv(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=XS(S);return f&&s&&(S=Qw($w(S,v.yPt-c.yPt),s,y,u)),S=$w(S,Yw(e.textAnchor,y.heightPt,C),!1),Iu({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 nT=class extends Y{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 rT(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=Bg(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 iT(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 aT(e){return Ou(`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 oT(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 sT(e,t){let n=oT(e);return Object.freeze([...e,...t.filter(e=>!e.anchorOccurrenceId||!n.has(e.anchorOccurrenceId))])}function cT(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 lT(e,t,n,r){let i=n.environment.layoutServices,a=n.environment.verticalGlyphMeasurement,o=n.anchorFrames,s=t.runs.some(Iw),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 uT(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 dT(e){return Object.freeze({...e,layout:Object.freeze({...e.layout,segments:Object.freeze(e.layout.segments.map(uT)),...e.layout.consumedEnd?{consumedEnd:Object.freeze({...e.layout.consumedEnd})}:{}})})}function fT(e,t,n){let r=t.environment.layoutServices?Ed(t.environment.layoutServices):void 0,i=r?lT(r,e,t,n):void 0,a=i===void 0?void 0:r.get(e,i);if(a)return a;let o=oT(t.exclusions),s=new Set(e.runs.flatMap(e=>Iw(e)?[e.anchorAcquisitionInput.occurrenceId]:[]));for(let e of o)s.delete(e);let c=s.size,l=Object.freeze([]),u=sT(t.exclusions,l);try{let a=Mm({seedState:aT(u),step:r=>{let i=sT(t.exclusions,r?.ownedExclusions??l),a=Wg(e,t.context,rT(t,i),t.measurer,{...t.environment,paragraphMarkShapeInput:e.paragraphMarkShapeInput},n),o=vT(e,t,a),c=iT(o,s),u=aT(sT(t.exclusions,c));if(aT(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(dT)),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 jm?new nT(e.reason,e.states,c):e}}function pT(e,t){return fT(e,t).layout}function mT(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 hT=new WeakMap;function gT(e){return e===void 0?null:e instanceof Date?{date:e.toISOString()}:e instanceof Set?{set:[...e].map(gT).sort((e,t)=>JSON.stringify(e).localeCompare(JSON.stringify(t)))}:e instanceof Map?{map:[...e.entries()].map(([e,t])=>[gT(e),gT(t)]).sort((e,t)=>JSON.stringify(e[0]).localeCompare(JSON.stringify(t[0])))}:Array.isArray(e)?e.map(gT):e&&typeof e==`object`?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,gT(t)])):e}function _T(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=hT.get(t.acquisitionSession);n||(n=new Map,hT.set(t.acquisitionSession,n));let r=Ou(`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,gT(t.contexts),gT(t.inputs),gT(t.borderEdges),gT(t.borderExtentsPt),t.containerShading??null,gT(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)=>d_(e,t.contexts[n],t.maximumWidthPt,t.measurer,t.environment,pw(t.inputs[n],t.contexts[n],t)))):Math.max(0,a.w),s=Math.max(1,o),c=(()=>{let n=NC(`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(SC(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:_}=fT(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:Ux(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=IC(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=ux(e.fragment,{xPt:l.bounds.xPt,yPt:l.bounds.yPt}),n=$C(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 vT(e,t,n){let r=t.continuesFromPrevious?{...t.context,firstIndentPt:0}:t.context,i=t.placement.paragraphXPt+r.physicalIndentLeftPt,a=M_(r,t.placement.availableWidthPt),o=t.placement.availableWidthPt-r.physicalIndentLeftPt-r.physicalIndentRightPt-a,s=Tw(e,n),c=t.continuesFromPrevious?void 0:pw(e,r,t),l=Dw(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=Aw(l,t.sourceRangeStart)),l=Ow(l,t.placement.paragraphXPt,t.placement.availableWidthPt,r.baseRtl,r.tabStops),c&&n.markOnly&&l.length===0&&(c.markerText!==``||e.numbering?.picBulletImagePath)&&(l=[jw(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(!Iw(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=Kw(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=hw(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=ew(t.source,n);if(e.type===`unavailableDrawing`&&e.anchorAcquisitionInput===void 0){let i=rw(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([iw(e.resourceKind,r)])})}if(e.type===`image`&&u.push({kind:`image`,resourceKey:ju(r,e.imagePath),intrinsicSize:{widthPt:e.widthPt,heightPt:e.heightPt}}),e.type===`chart`&&u.push({kind:`chart`,resourceKey:nw(r),intrinsicSize:{widthPt:e.widthPt,heightPt:e.heightPt}}),e.type===`math`&&u.push({kind:`math`,resourceKey:e.resourceKey??Ou(`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=Fw(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??Nw(e,t),c=`${t.id}:textbox:${n}`,u=tT(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=Pw(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:ju(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=Kg({baseRtl:t.context.baseRtl,alignedLeadingEdgePt:mw(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:ju(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=_w(l,e.shading,t.containerShading);let y=n.contentEndYPt-n.contentStartYPt,b=t.paragraphBorderEdges??{top:`top`,bottom:`bottom`},x=yw(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(!vw(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,...Tf(t.style,t.width)}]}):[],w=t.trailingExtentPt??n.requestedSpaceAfterPt,T=wv(g);return $C({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:sT(t.exclusions,m),...T?{cellContainmentBounds:T}:{},anchorCollisions:cT(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 yT=(e,t)=>ex(e,{xPt:0,yPt:t}),bT=(e,t)=>$(e,{xPt:0,yPt:t}),xT=(e,t)=>ix(e,{xPt:0,yPt:t}),ST=(e,t)=>ox(e,{xPt:0,yPt:t}),CT=(e,t)=>sx(e,{xPt:0,yPt:t}),wT=(e,t)=>ux(e,{xPt:0,yPt:t}),TT=(e,t)=>fx(e,{xPt:0,yPt:t});function ET(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:bT(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:yT(e.from,n),to:yT(e.to,n)}])}}function DT(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=>CT(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=ET(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:xT(e,o)),h=wv(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=>Ou(`source-occurrence`,e.source))),S=i?.range.start,C=a?.range.end,{bookmarkStarts:w,...T}=e;return $C({...T,kind:`paragraph`,id:n,...!t.continuesFromPrevious&&w?.length?{bookmarkStarts:w}:{},lines:u,flowBounds:{...e.flowBounds,yPt:e.flowBounds.yPt},...e.clipBounds?{clipBounds:bT(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:yT(e.from,o),to:yT(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(Ou(`source-occurrence`,e.source))).map(e=>b.has(e.id)?e:TT(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:bT(e.bounds,o),polygon:e.verticalOwnership===`page`?e.polygon:e.polygon.map(e=>yT(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:bT(e.bounds,o)})),...t.continuesOnNext?{paragraphMark:void 0}:e.paragraphMark?{paragraphMark:{...e.paragraphMark,bounds:bT(e.paragraphMark.bounds,o)}}:{},continuation:t})}function OT(e,t){return e.segIndex-t.segIndex||e.charOffset-t.charOffset}function kT(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=>DT(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=Wx({advancePt:e.advancePt,retainedSpaceAfterPt:e.spacing.afterPt,authoredSpaceAfterPt:u});return qx({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=Bx(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=Vx({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&&OT(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 AT(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 jT(e){let t=new Map;if(!e)return t;for(let n of e)t.set(n.id,n);return t}function MT(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 MT(i.content,t))r.has(e)||(r.add(e),n.push(e));return Object.freeze(n)}function NT(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 PT(e,t){return e.rows.flatMap(e=>e.cells.flatMap(e=>e.blocks.flatMap(e=>FT(e.layout,t))))}function FT(e,t){let n=e.kind===`paragraph`?NT(e.lines,t):PT(e,t);return Object.freeze([...new Set(n)])}function IT(e){return NT(e,`footnote`)}function LT(e){return FT(e,`footnote`)}function RT(e){return FT(e,`endnote`)}function zT(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 BT(e){let t=new Map;return e.sequence.forEach((e,n)=>{if(e.kind===`body-block`){let r=e.block;t.set(ku(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(ku(e.source),Object.freeze({sequenceIndex:n,keepLines:!1,keepNext:!1,widowControl:!1})))}),t}function VT(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 HT(e,t,n,r){let i=new Set(r.flowDomainIds),a=new Map(n.layers.body.map(e=>[e.id,e])),o=BT(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=ku(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];VT(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)Vx({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 UT(e,t,n,r,i){let a=HT(e,t,r,i),o=n.get(r.pageIndex)??0;return zT({columnCount:i.flowDomainIds.length,fragments:a}).targetPt+o}function WT(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 GT(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=WT(n,b,Math.max(1,y.countBy),N_(y.distance),t);n=e.paragraph,b=e.counterEnd}v!==0&&(n.ordinaryFlow||n.sectionFlowOwnership===`host-flow`)&&(n.kind===`paragraph`||n.kind===`table`)&&(n=Sx(n,{xPt:0,yPt:v})),a[e]=n}y&&(r.set(s.sectionOccurrenceId,b),i=b)}return Object.freeze({...e,layers:Jd(e.layers,`body`,a)})});return Object.freeze({...e,pages:Object.freeze(a)})}function KT(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 qT(e,t){let n=e[t];return n?t===0||e[t-1]?.sectionOccurrenceId!==n.sectionOccurrenceId:!1}function JT(e,t){return t.titlePage&&t.firstPageOfSection?e.first:t.evenAndOddHeaders&&t.displayPageNumber%2==0?e.even:e.default}function YT(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 XT(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 ZT(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:Ou(`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:Nm(n,n=>t(e.repaginate(n.reserves,n.result)),e.limit??16)}var QT=class extends Y{constructor(e,t){super(`INVALID_GEOMETRY`,`${t} exceeds the available flow capacity`),this.containerId=e,this.layoutId=t,this.name=`FlowCapacityExceededError`}};function $T(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 eE(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 Y(`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 Y(`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 Y(`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 QT(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 Y(`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:$T(r.map(e=>e.flowBounds),e.container.bounds),inkBounds:$T(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 tE=new WeakMap,nE=e=>`type`in e&&e.type===`unsupportedTextBoxBlock`;function rE(e,t){if(tE.has(e))throw Error(`Story block layout algorithms are already attached`);tE.set(e,Object.freeze({...t}))}function iE(e,t){return Object.freeze({...e,flowBounds:$(e.flowBounds,t),inkBounds:$(e.inkBounds,t),...e.clipBounds?{clipBounds:$(e.clipBounds,t)}:{},blocks:Object.freeze(e.blocks.map(e=>{if(e.kind===`paragraph`)return mx(e,t);if(e.kind===`table`)return hx(e,t);throw Error(`Story contains unsupported retained node: ${e.kind}`)}))})}function aE(e,t){return Object.freeze({...e,flowBounds:$(e.flowBounds,t),inkBounds:$(e.inkBounds,t),...e.clipBounds?{clipBounds:$(e.clipBounds,t)}:{},separator:Object.freeze(e.separator.map(e=>tx(e,t))),story:iE(e.story,t)})}function oE(e,t){for(let t of e.blocks)if(!nE(t)&&(t.source.story!==e.source.story||t.source.storyInstance!==e.source.storyInstance))throw new Y(`INVALID_REFERENCE`,`Story block ${t.source.story}:${t.source.storyInstance} is not owned by ${e.source.story}:${e.source.storyInstance}`);let n=tE.get(t);if(!n)throw Error(`Story block layout algorithms are not attached to the supplied services`);let r=e.blocks.filter(nE),i=eE({blocks:e.blocks.filter(e=>!nE(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 sE=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 cE(e,t){if(t.has(e))return[];t.add(e);let n=e.diagnostics??[];return e.kind===`paragraph`?[...n,...e.drawings.flatMap(e=>cE(e,t)),...e.textBoxes.flatMap(e=>cE(e,t))]:e.kind===`table`?[...n,...e.rows.flatMap(e=>e.cells.flatMap(e=>e.blocks.flatMap(e=>cE(e.layout,t)))),...(e.floatingTables??[]).flatMap(e=>cE(e.child,t)),...(e.resolvedFloatingTables??[]).flatMap(e=>cE(e.child,t))]:e.kind===`textbox`||e.kind===`note`?[...n,...e.story.diagnostics,...e.story.blocks.flatMap(e=>cE(e,t))]:n}function lE(e,t,n){if(e>0&&t>n)throw new sE(e,t,n)}function uE(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 dE(e,t,n){if(!e.floats)throw Error(`Accepted floating table omitted its float registry delta`);let r=uE(t);return Object.freeze({...e,floats:Object.freeze({...e.floats,entries:Object.freeze(e.floats.entries.map(e=>{let i=r.has(e.occurrenceId)?gx(n,e.occurrenceId):t.ordinaryFlow?null:n;return i===null?e:Object.freeze({...e,occurrenceId:i,exclusionId:i})}))})})}function fE(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 pE(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 mE(e,t){return G_(e.context,e.pageLayout,t)}function hE(e,t){let n=mE(e,t);return L_({sectionOccurrenceId:e.sectionOccurrenceId,geometry:n.geometry,columns:n.columns,textDirection:n.textDirection,sectionBidi:n.sectionBidi===!0,grid:n.grid})}function gE(e,t,n,r=n.blockStartPt,i=mE(e,t).columns.map((e,t)=>t)){let a=mE(e,t);return Object.freeze({id:`page:${t}:section:${encodeURIComponent(e.sectionOccurrenceId)}`,sectionOccurrenceId:e.sectionOccurrenceId,section:a,pageBorders:e.pageBordersAuthored?e.pageBorders:null,writingMode:uf(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 _E(e,t){let n=uf(e.textDirection),r=gf({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 vE(e,t,n){return YT(mE(e,t).geometry,n)}function yE(e,t,n){let r=mE(e,t);return qb({kind:`content`,pageIndex:t,physicalPage:_E(r,n),sectionOccurrenceId:e.sectionOccurrenceId,section:r,region:gE(e,t,n)})}function bE(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 xE(e){let t=bE(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 SE(e){let t=bE(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:ev(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,xE(e)-e.footnoteReservePt-e.flow.cursorBlockPt)})})}function CE(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=vE(r,e.pageIndex,i),o=Dx(hE(r,e.pageIndex),{pageIndex:e.pageIndex,pageContentStartBlockPt:a.blockStartPt,pageContentEndBlockPt:a.blockEndPt});return{page:yE(r,e.pageIndex,a),flow:o}},openParityBlankPage(e){let r=n(e.sectionOccurrenceId),i=mE(r,e.pageIndex),a=vE(r,e.pageIndex,t[e.pageIndex]??{top:0,bottom:0});return qb({kind:`parity-blank`,pageIndex:e.pageIndex,physicalPage:_E(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:bv(Object.freeze({...e.accumulator,sectionRegions:l}),gE(i,r.pageIndex,s,r.regionStartBlockPt,t.columnSubset))})}}}function wE(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=bE(e),u=l.columnIndexes??l.section.columns.map((e,t)=>t),d=l.columns[u.indexOf(e.flow.columnIndex)],f=ev(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=Cx(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=kx(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=xv(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 TE(e){return e.boundary===null?`root`:`paragraph:${e.boundary.segIndex}:${e.boundary.charOffset}`}function EE(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 DE(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 OE(e){return[e.rowIndex,e.rowFragmentIndex,e.cells.map(e=>[e.blockIndex,e.paragraphLineStart,e.nestedFragmentIndex,e.nestedCursor===null?null:OE(e.nestedCursor)])]}function kE(e){if(e===void 0)return`root`;if(e.kind===`table`)return`table:${JSON.stringify(OE(e.cursor))}`;let t=e.cursor.tableCursor;return`adjacent-table:${e.cursor.tableIndex}:${e.cursor.sourceRowIndex}:${JSON.stringify(t===void 0?null:OE(t))}`}function AE(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 jE(e,t){let n=KT(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=P_(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`?Cv({pageIndex:e.accumulator.pageIndex,physicalPage:e.accumulator.physicalPage,sectionOccurrenceId:e.accumulator.sectionOccurrenceId,section:e.accumulator.section,pageBorders:e.accumulator.pageBorders,firstSectionOwnedPage:o,pageNumber:s}):Sv(e.accumulator,s,o)}),o=new WeakSet;return{pages:a,diagnostics:a.flatMap(e=>Yd(e).flatMap(({node:e})=>cE(e,o)))}}function ME(e,t,n,r,i,a){let o=pd(t);if(!o)throw Error(`Body layout kernel is not attached to the supplied services`);let s=pE(e),c=new Set,l=[],u=r[0]??{top:0,bottom:0},d=vE(e.initialSection,0,u),f=Jb(Dx(hE(e.initialSection,0),{pageContentStartBlockPt:d.blockStartPt,pageContentEndBlockPt:d.blockEndPt}),yE(e.initialSection,0,d)),p=e=>{let t=a.get(e.flow.section.sectionOccurrenceId);return t?.pageIndex===e.flow.pageIndex?t.targetPt:null};f=Yb(f,p(f));let m=CE(s,r),h=null,g=o.openBodyLayoutSession({source:e.source,section:e.initialSection.context,initialLocation:SE(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=vE(t,n,r[n]??{top:0,bottom:0});return i.blockEndPt-i.blockStartPt},v=(t,n)=>{if(i!==null){let e=SE(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=SE(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=Zb(f,e,m),f=Yb(f,p(f));let o=SE(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=SE(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=Xb(f,n)},O=()=>Math.max(0,xE(f)-f.footnoteReservePt-f.flow.deepestColumnBlockPt),k=e=>e>O(),A=null,j=eS(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(Rx(f.flow,n.break,n.parity),t+1);continue}if(n.kind===`begin-section`){A=null;let e=uf(bE(f).section.textDirection),i=uf(mE(n.section,f.flow.pageIndex).textDirection),a=gf({widthPt:bE(f).section.geometry.pageWidth,heightPt:bE(f).section.geometry.pageHeight},e),o=mE(n.section,f.flow.pageIndex),s=gf({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=vE(n.section,f.flow.pageIndex,r[f.flow.pageIndex]??{top:0,bottom:0});b(zx(f.flow,hE(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(Rx(f.flow,`pageBreakBefore`),t);let n=A?.spaceAfterPt??0,a=CC(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=TE(s),o=SE(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(lE(e.reservePt,a,d),(a>o.availableBounds.heightPt||p)&&a<=d&&f.flow.pageHasContent){b(p?Fx(f.flow,f.flow.section,`overflow`):Ax(f.flow,`overflow`),t);continue}f=wE(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(SE(f));continue}if(s.boundary===null&&i.keepNext&&f.flow.pageHasContent){let n=u.blockExtentPt,r=new Set(LT(u.layout)),a=!1,s=Jx({keepNext:i.keepNext,inkless:i.inkless===!0,undecoratedMark:DE(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(Ax(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=Zx(u.layout);if(s.boundary===null&&v&&m&&f.flow.pageHasContent){let e=AE(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=Qx(n.layout,e.cursorPt.yPt);if(r!==null){let e=u.blockExtentPt+r;if(e>o.availableBounds.heightPt&&e<=_(f)){b(Ax(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=$x(u.layout);if(e!==null){f=wE(f,e,i.source,0,n,c,l),u.flowRegistryDelta&&g.commitFlowRegistryDelta(u.flowRegistryDelta),s=null,g.moveAcquisitionCursor(SE(f));continue}}let S=T(u.layout,o.availableBounds.widthPt).reservePt,C=(r[f.flow.pageIndex]?.bottom??0)===0&&f.footnoteReservePt===0,w=xE(f)===bE(f).blockEndPt,O=y?.kind===`begin-section`&&y.section.startType===`nextPage`,A=F_({hasContinuationBoundary:s.boundary!==null,inkless:i.inkless===!0,undecorated:DE(u.layout),keepNext:i.keepNext,markReservePt:S,pageBottomIsUnreserved:C,physicalRegionBottomIsActive:w,hasFollowingInk:EE(e,t+1),followsNextPageSectionBoundary:O,markExtentPt:u.blockExtentPt,markBelowBaselinePt:u.markBelowBaselinePt??0}),j=kT(u.layout,s,u.fragmentation,o.availableBounds.heightPt+A,_(f),f.flow.pageHasContent,{keepLines:i.keepLines,widowControl:i.widowControl,authoredSpaceAfterPt:i.spaceAfterPt,writingMode:bE(f).writingMode},e=>T(e,o.availableBounds.widthPt).reservePt,u.uniformRubyAdvancePt,e=>!k(e));if(j.requiresFreshFlowRegion){b(Ax(f.flow,`overflow`),t);continue}if(!j.fragment)throw Error(`Paragraph acquisition made no progress`);f=wE(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(lE(M.reservePt,j.fragment.advancePt+M.reservePt,_(f)),D(M.ids,M.layouts,M.reservePt),u.flowRegistryDelta){let e=fE(u.flowRegistryDelta,j.fragment);e&&g.commitFlowRegistryDelta(e)}s=j.nextCursor,s&&b(Ax(f.flow,`overflow`),t),o=SE(f),g.moveAcquisitionCursor(o)}A=i}else{A=null;let e,n=!1;for(;!n;){let r=kE(e),a=SE(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(SE(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 lE(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){lE(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(Ax(f.flow,`overflow`),t);continue}if(k(d.reservePt)&&f.flow.pageHasContent){b(Fx(f.flow,f.flow.section,`overflow`),t);continue}f=wE(f,u.layout,i.source,u.blockExtentPt,r,c,l,u.placement),D(d.ids,d.layouts,d.reservePt),u.flowRegistryDelta&&g.commitFlowRegistryDelta(dE(u.flowRegistryDelta,u.layout,Au(i.source,a.flowDomainId,r))),e=u.nextCursor??void 0,n=e===void 0,e&&b(Ax(f.flow,`overflow`),t)}}g.moveAcquisitionCursor(SE(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 Y(`INVALID_GEOMETRY`,`Page ${e} footnote reserve ${t} does not equal retained advance ${n}`)}return Object.freeze({layout:jE(f,s),session:g,allocations:Object.freeze(l),footnoteReserveByPage:S,footnoteLayoutsByPage:C})}function NE(e,t){return Object.freeze(e.layout.pages.map((n,r)=>{if(n.parityBlank||uf(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=JT(t===`header`?i.headers:i.footers,{titlePage:i.titlePage,firstPageOfSection:qT(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:XT(o(`header`),n.section.geometry.marginTop,n.section.geometry.headerDistance),bottom:XT(o(`footer`),n.section.geometry.marginBottom,n.section.geometry.footerDistance)})}))}function PE(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=uf(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=>JT(t===`header`?o.headers:o.footers,{titlePage:o.titlePage,firstPageOfSection:qT(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 iE(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=aE(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(bf(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,P=[...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:qd(P),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 FE(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(bf(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:qd(m),readingOrder:Object.freeze(v)}),Object.freeze({...e,pages:Object.freeze(y)})}catch(t){if(!(t instanceof Gb)||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 IE(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 RE(e){return JSON.stringify([...e].sort(([e],[t])=>e.localeCompare(t)))}function zE(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 ME(e,t,n,r,null,i);try{return Mm({step:a=>{let o=ME(e,t,n,r,a?.plan??null,i);return Object.freeze({pass:o,plan:LE(o.layout)})},stateOf:e=>RE(e.plan),limit:16}).value.pass}catch(e){throw e instanceof jm?new Y(`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 BE(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 VE(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 HE(e,t,n,r){let i=new Map,a=zE(e,t,n,r,i);for(let o of BE(e)){let s=VE(a.layout,o.outgoingSectionOccurrenceId,o.incomingSectionOccurrenceId);if(s===null||s.outgoing.flowDomainIds.length<2)continue;let c=s.page.pageIndex,l=UT(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=zE(e,t,n,r,i)}return a}function UE(e,t,n){t=Td(t);let r=pE(e),i=HE(e,t,n,[]),a=ZT({seed:i,measure:e=>NE(e,r),repaginate:(r,i)=>{let a=wC(i.layout);return HE(e,Dd(t,{totalPages:i.layout.pages.length,resolveDestinationPage:e=>a[e]}),n,r)},identity:e=>wC(e.layout),requiresConvergence:i.session.hasPaginationFields}).result,o=GT(a.layout,a.session,a.allocations),s=e.noteLayoutSettings??Object.freeze({footnotePosition:`pageBottom`,endnotePosition:`docEnd`}),c=PE(o,a.session,r,a.footnoteLayoutsByPage),l=c.pages.some(e=>e.layers.notes.some(e=>e.source.story===`footnote`))&&s.footnotePosition!==`pageBottom`?IE(c,`footnote`,s.footnotePosition,`pageBottom`):c,u=new Set(o.pages.flatMap(e=>e.layers.body.flatMap(e=>e.kind===`paragraph`||e.kind===`table`?RT(e):[]))),d=(e.endnoteIds??[]).filter(e=>u.has(e)),f=FE(l,a.session,d),p=d.length>0&&s.endnotePosition!==`docEnd`?IE(f,`endnote`,s.endnotePosition,`docEnd`):f,m=e.parserDiagnostics??[],h=m.length===0?p:Object.freeze({...p,diagnostics:Object.freeze([...m,...p.diagnostics])});return ay(Object.freeze({...h,pages:Object.freeze(h.pages.map(_v))}))}function WE(e,t,n=ef(void 0,Date.now())){return UE(e,t,n)}function GE(e,t,n){if(yd(e))return;let r=n();cy({source:r,services:e,defaultCurrentDateMs:t,buildLayout:t=>WE(r.bodyLayoutInput,e,t)})}function KE(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 qE(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 JE(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 YE(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 XE(e,t,n){return e+t<=n.end?e:Math.max(n.start,n.end-t)}function ZE(e,t,n,r,i,a){let o=e.dropCap===`drop`||e.dropCap===`margin`,s=KE(e.hAnchor,t),c=qE(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?JE(e.xAlign,s.left,s.right,l):s.left+(e.x??0);let f;f=o?c.start:e.yAlign&&e.vAnchor!==`text`?YE(e.yAlign,c,u):c.start+(e.y??0),(e.vAnchor===`page`||e.vAnchor===`margin`)&&(f=XE(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 QE(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=Kp({moving:t.kind===`table`?{...i,kind:`table`,tableOverlap:t.tableOverlap}:{...i,kind:t.kind===`frame`?`frame`:`drawingml`},blockers:e.floats.map(Bp),avoidance:t.kind===`table`?Lp(t.tableOverlap,t.paraId):Rp(t.allowOverlap??!0,t.paraId),rightBoundaryPt:e.pageWidth,overlapEpsilonPt:Fp,rightBoundarySlackPt:Ip});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 $E(e){return e.xPt+e.widthPt}function eD(e){return e.yPt+e.heightPt}function tD(e,t,n,r){return e===`center`?t+(n-t-r)/2:e===`right`||e===`outside`?n-r:t}function nD(e,t,n,r){return e===`center`?t+(n-t-r)/2:e===`bottom`||e===`outside`?n-r:t}function rD(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?tD(e.xAlign,a.xPt,$E(a),n):a.xPt+e.xPt,c=e.yAlign&&e.vertAnchor!==`text`?nD(e.yAlign,o.yPt,eD(o),r):o.yPt+e.yPt;return!i&&(e.vertAnchor===`page`||e.vertAnchor===`margin`)&&c+r>eD(o)&&(c=Math.max(o.yPt,eD(o)-r)),Object.freeze({x:s,y:c,w:n,h:r})}function iD(e,t,n,r){return rD(e,t,n,r)}function aD(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 oD(e,t){let n=e.child.columnWidthsPt.reduce((e,t)=>e+t,0),r=e.child.advancePt,i=iD(e.positioning,t,n,r),a=$b(e.positioning);return aD(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 sD(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 cD(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 lD(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 uD(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({...aD(e,i.bounds.xPt,i.bounds.yPt),bounds:i.bounds,exclusionBounds:i.exclusionBounds}),transaction:n});let a=oD(e,t),o=Kp({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(zp),avoidance:Lp(e.overlap,n.nextParagraphId),rightBoundaryPt:$E(t.page),overlapEpsilonPt:Fp,rightBoundarySlackPt:Ip}),s=aD(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 dD(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 fD(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 pD(e,t,n,r,i,a,o,s){let c=dD(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 mD(e,t,n,r,i,a,o,s,c){let l=fD(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 hD(e){return gD(e.textDirection)}function gD(e){return typeof e==`string`&&U_(e)}function _D(e){return e===`btLr`}function vD(e){return{...e,...V_(e)}}function yD(e){return{...e,...H_(e)}}function bD(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 xD(e){return{pageIndex:e.pageIndex,totalPages:e.totalPages,displayPageNumber:e.displayPageNumber,pageNumberFormat:e.pageNumberFormat,currentDateMs:e.currentDateMs,noteNumbers:e.noteNumbers,noteReferenceNumber:e.noteReferenceNumber,pageWritingMode:uf(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 SD(e,t){let n=Vg(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 CD=Object.freeze({story:`body`,containers:Object.freeze([]),lineNumberingEligible:!0});function wD(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 TD(e,t,n){return qg(n,{numbering:t.numbering,...t.numbering?{markerInput:e.acquisitionInputs.numberingMarkerShapeInput(t.numbering,jh(t))}:{},authoredFirstIndentPt:t.indentFirst,tabStops:t.tabStops,defaultTabPt:e.defaultTabPt,service:e.layoutServices?.text})}function ED(e,t){return TD(e,t,A_(e.layoutSettings,e.sectionLayout,CD,t))}function DD(e,t){return TD(e,t,A_(e.layoutSettings,e.sectionLayout,e.storyContext??CD,t))}function OD(e){return{...e,storyContext:y_(e.storyContext??CD)}}function kD(e,t){let n=e.retainedTablesBySourceIndex?.get(t);if(!n)throw Error(`Table placement requires retained table acquisition`);return n}function AD(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 jD(e,t){if(t===0n)throw RangeError(`Exact length denominator must not be zero`);let n=t<0n?-1n:1n,r=AD(e,t);return Object.freeze({numerator:n*e/r,denominator:n*t/r})}function MD(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 jD(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),jD(p,m)}function ND(e){let t=/^(-?\\d+)\\/([1-9]\\d*)$/.exec(e);if(!t)throw RangeError(`Invalid exact length key: ${e}`);return jD(BigInt(t[1]),BigInt(t[2]))}function PD(e){let t=jD(e.numerator,e.denominator);return`${t.numerator}/${t.denominator}`}function FD(e){let t=MD(e);return t?PD(t):null}function ID(e){if(!Number.isFinite(e)||e<0)return null;let t=MD(e.toString());return t?PD(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 RD(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 zD(e){let t=ND(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=RD(r,t.denominator,1074);a=Number(e)*Number.MIN_VALUE}else{let e=RD(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 BD(e,t){let n=ND(e),r=ND(t);return PD(jD(n.numerator*r.denominator+r.numerator*n.denominator,n.denominator*r.denominator))}function VD(e,t){let n=ND(e),r=ND(t);return PD(jD(n.numerator*r.numerator,n.denominator*r.denominator))}function HD(e,t){let n=ND(e),r=ND(t);return PD(jD(n.numerator*r.denominator-r.numerator*n.denominator,n.denominator*r.denominator))}function UD(e,t){if(t===0n)throw RangeError(`Exact length divisor must not be zero`);let n=ND(e);return PD(jD(n.numerator,n.denominator*t))}function WD(e,t){let n=ND(e),r=ND(t),i=n.numerator*r.denominator-r.numerator*n.denominator;return i<0n?-1:+(i>0n)}const GD=1e-9;function KD(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 qD(e){return typeof e==`number`&&Number.isFinite(e)?Math.max(0,e):0}function JD(e){return e.map(e=>Math.abs(e)<=GD?0:e)}function YD(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 XD(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 ZD(e,t){return e?e.kind===`pct`?qD(e.value)*t:qD(e.value):null}function QD(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=XD(e,i,a);if(o<=GD){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 $D(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=XD(e,i,a);r<=o+GD||(e[i+a-1]+=r-o)}function eO(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 tO(e,t){let n=Array.from({length:t},(t,n)=>qD(e.gridWidthsPt[n]??0)),r=n.reduce((e,t)=>e+t,0),i=e.tablePreferredWidthPt??(r>0?r:qD(e.availableWidthPt));e.rows.forEach((e,r)=>{for(let a of eO(e,t)){let e=ZD(a.preferred,i);e!==null&&(r===0?QD(n,a.start,a.span,e):$D(n,a.start,a.span,e))}}),e.tablePreferredWidthPt===null&&nO(n,e.rows);let a=e.tablePreferredWidthPt,o=n.reduce((e,t)=>e+t,0);if(a!==null&&a>=0&&o<=GD&&n.length>0)return n.map(()=>a/n.length);if(a!==null&&a>=0&&o>GD){let e=a/o;return n.map(t=>t*e)}return n}function nO(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,qD(t.preferredWidth.value)))}let r=e.reduce((e,t)=>e+t,0),i=n.map((t,n)=>t*r>e[n]+GD),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-GD)return;r=o/(1-s);let c=n.map((t,n)=>t*r>e[n]+GD);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 rO(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,qD(e.minContentWidthPt)),i[e.columnStart]=Math.max(i[e.columnStart]??0,qD(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=ZD(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 iO(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<=GD||c<=GD?0:(o.forEach((t,n)=>{e[t]-=l*((s[n]??0)/c)}),l)}function aO(e,t,n,r){if(r<=GD||n<=0)return;let i=XD(e,t,n);for(let a=0;a<n;a+=1){let o=t+a,s=i>GD?(e[o]??0)/i:1/n;e[o]+=r*s}}function oO(e){let t=YD(e);if(e.layout===`fixed`){let n=tO(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=qD(n)-XD(e,r,i);a>GD&&aO(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 sO(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=qD(r.minContentWidthPt),s=XD(e,i,a);if(o<=s+GD)return;let c=a===1?n[i]??o:Math.max(o,qD(r.maxContentWidthPt));aO(e,i,a,iO(e,t,i,a,Math.max(0,c-s)));let l=XD(e,i,a);l<o-GD&&aO(e,i,a,o-l)}function cO(e,t,n,r){let i=e.reduce((e,t)=>e+t,0);if(i<=r+GD||i<=GD)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>GD&&s>GD&&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=qD(e.minContentWidthPt)-XD(a,n,r);if(i<=GD)continue;let o=iO(a,t,n,r,i);aO(a,n,r,o),o<i-GD&&aO(a,n,r,i-o)}let l=a.reduce((e,t)=>e+t,0);if(l<=r+GD||l<=GD)return JD(a);let u=Math.max(0,r)/l;return JD(a.map(e=>e*u))}function lO(e){let t=YD(e);if(t===0)return Object.freeze([]);let n=tO(e,t);if(e.layout===`fixed`){if(e.availableWidthPt===null)return Object.freeze(n);let t=n.reduce((e,t)=>e+t,0),r=qD(e.availableWidthPt);if(t<=r+GD||t<=GD)return Object.freeze(n);let i=r/t;return Object.freeze(JD(n.map(e=>e*i)))}let r=n.reduce((e,t)=>e+t,0),{minimums:i,maximums:a}=rO(e.rows,t,r),o=e.rows.flatMap(e=>e.cells);o.sort((e,t)=>e.columnSpan-t.columnSpan);for(let e of o)sO(n,i,a,e);return Object.freeze(cO(n,i,o,qD(e.availableWidthPt)))}function uO(e){let t=lO(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]:ID(t)??`0/1`});return Object.freeze({widthsPt:Object.freeze([...t]),widthKeys:Object.freeze(n)})}function dO(e){return uO(e).widthsPt}function fO(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 pO(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,u_(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)=>pO({cell:e,table:n,cellTotalWidthPt:r,outerState:i,sourcePath:a},t)))}return l}Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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.`}),Z({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 mO(e,t){return Math.max(0,e??0)+Math.max(0,...t)}function hO(e,t){return(Math.max(0,e)+Math.max(0,t))/2}function gO(e){return e!=null&&e!==`none`}function _O(e,t,n){return n?e-t:e+t}function vO(e){return e.spacingPt>0&&!gO(e.directStyle)&&gO(e.conditionalInsideStyle)}function yO(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 bO(e){return e.compatibility===`word`&&e.availableHeightPt+e.epsilonPt>=e.freshPageHeightPt}const xO=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`]),SO=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 CO(e,t){return e===`dotted`||e===`dashed`?1:Math.max(0,t)*8*(SO[e]??0)}function wO(e,t){return t?e:`atLeast`}function TO(e,t){return e===`pct`||e===`auto`||e===`nil`?0:t}function EO(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 DO(e){return CO(e.style,e.width)}function OO(e){let t=xO.indexOf(e);return t===-1?xO.length:t}function kO(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 AO(e,t){let n=kO(e),r=kO(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 jO(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=DO(r.spec),o=DO(i.spec);if(a!==o)return a>o?r:i;let s=OO(r.spec.style),c=OO(i.spec.style);if(s!==c)return s<c?r:i;let l=AO(r.spec.color,i.spec.color);return l===0||l<0?r:i}function MO(...e){for(let t of e)if(t&&gO(t.authoredStyle))return t;return null}function NO(e){return Math.max(0,e.advancePt-e.spacing.beforePt-e.spacing.afterPt)}function PO(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?SC(r,e,i,u):u,p=l.structuralTrailing?0:NO(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 FO(e){let t=e.cellContainmentTopPt??0,n=e.cellContainmentBottomPt??0;return Math.max(e.flowHeightPt,n)-Math.min(0,t)}function IO(e){return FO(PO(e))}function LO(e){return Number.isFinite(e?.cellSpacingPt)?Math.max(0,e?.cellSpacingPt??0):0}function RO(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 zO(e,t,n){return n.topPt+e.margins.topPt+FO(t)+e.margins.bottomPt+n.bottomPt}function BO(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 VO(e){return e.heightRule===`exact`?mO(e.heightPt,e.cells.map(e=>e.margins.bottomPt)):e.heightRule===`atLeast`?Math.max(0,e.heightPt??0):0}function HO(e,t,n){let r=e.map(e=>VO(e)),i=e.map((n,r)=>Math.max(0,...n.cells.filter(e=>e.verticalMerge!==`continue`).map(n=>{let i=n.verticalMerge===`restart`?BO(e,r,n.columnStart,n.columnSpan):r,a=RO(e,r),o=RO(e,i);return zO(n,t.get(n.id)??PO([]),{topPt:a.topPt,bottomPt:o.bottomPt})})));e.forEach((n,i)=>{let a=RO(e,i);for(let e of n.cells){if(e.verticalMerge!==`none`)continue;let o=zO(e,t.get(e.id)??PO([]),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:BO(e,r,i.columnStart,i.columnSpan),requiredPt:zO(i,t.get(i.id)??PO([]),{topPt:RO(e,r).topPt,bottomPt:RO(e,BO(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 UO(e,t){return e?{source:t,spec:{width:e.widthPt,color:e.color,style:e.authoredStyle}}:null}function WO(e,t,n,r,i,a,o,s){let c=(e,t,n,r,i,a,o)=>{let s=MO(e,o?t:null);return s?UO(s,`cell`):UO(o?MO(r,a):MO(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 GO(e){return e?{widthPt:e.spec.width,color:e.spec.color??`#000000`,authoredStyle:e.spec.style}:null}function KO(e,t,n){let r=GO(jO(e,t));return r?{border:r,edge:n}:null}function qO(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`?BO(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 JO(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 YO(e){let t=e.rows.length,n=e.columnWidthsPt.length,{owners:r,occupancy:i}=qO(e),a=(i,a=!1)=>{let o=r[i];if(!o)return null;let s=a?JO(e,o):o.input,c=a&&s!==o.input?o.lastRowIndex:o.rowIndex;return WO(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:KO(a(l)?.right??null,a(u)?.left??null,o===0?e.bidiVisual?`right`:`left`:o===n?e.bidiVisual?`left`:`right`:`between`)})),occupancy:i}}function XO(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=KO(t.above.border,t.below.border,t.edge);return Math.max(e,n?.border.widthPt??0)},0))}function ZO(e,t){let n=XO(e,t);return e.rows.map((e,t)=>e.heightRule===`exact`?0:hO(n[t]??0,n[t+1]??0))}function QO(e){return ZO(e,YO(e))}function $O(e,t,n){return{edge:e.edge,from:t,to:n,color:e.border.color,widthPt:e.border.widthPt,...Tf(e.border.authoredStyle,e.border.widthPt)}}const ek=Object.freeze({top:null,right:null,bottom:null,left:null,insideH:null,insideV:null});function tk(e){let t=GO(e);return t&&t.authoredStyle!==`nil`&&t.authoredStyle!==`none`?t:null}function nk(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($O({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}=KD(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)+RO(e.rows,a.rowIndex).topPt,b=l(a.lastRowIndex+1)-RO(e.rows,a.lastRowIndex).bottomPt,x=WO(a.input,ek,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(tk(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(MO(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?vO({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=MO(e.rows[r-1]?.exceptionBorders?.insideH??null,e.borders.insideH),g=MO(e.rows[r]?.exceptionBorders?.insideH??null,e.borders.insideH);d(KO(UO(h,`table`),UO(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=KO(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($O(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($O(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(MO(n.exceptionBorders?.left??null,e.borders.left),`left`,{xPt:f,yPt:o},{xPt:f,yPt:u}),d(MO(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)vO({spacingPt:a,directStyle:e.borders.left?.authoredStyle,conditionalInsideStyle:e.borders.insideV?.authoredStyle})&&p.add(e.columnStart),vO({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(MO(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`?BO(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}=KD(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)+RO(e.rows,r).topPt,h=l(n+1)-RO(e.rows,n).bottomPt,g=WO(t,ek,null,r,n,e.rows.length,e.columnWidthsPt.length,e.bidiVisual);d(tk(g.right),`right`,{xPt:p,yPt:m},{xPt:p,yPt:h}),d(tk(g.left),`left`,{xPt:f,yPt:m},{xPt:f,yPt:h})}}),u}function rk(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:_O(o,t,n)}function ik(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 ak(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 ok(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 sk(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 ck(e,t,n){let r=Lu(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,PO(e.verticalMerge===`continue`?[]:e.blocks))}));let a=YO(r),o=HO(r.rows,i,ZO(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=>rk(e.alignment??r.alignment,Number.isFinite(e.indentPt)?e.indentPt:r.indentPt,r.bidiVisual,t,c)),f=d[0]??rk(r.alignment,r.indentPt,r.bidiVisual,t,c),p=nk(r,d,u,s,a),m=ak(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=RO(r.rows,n),h=LO(e),v=e.cells.map(e=>{let o=e.verticalMerge===`restart`?BO(r.rows,n,e.columnStart,e.columnSpan):n,s=RO(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}=KD(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)??PO([]),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`)?yO(j,t.availableBounds):void 0,N=e.verticalMerge===`continue`?[]:E.blocks.map(e=>({...e,offsetPt:k+e.offsetPt})),P=wv([j,...N.map(e=>sk(e,A.xPt,j.yPt)).map(e=>M?ok(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:P,...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=wv([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=wv([x,...v.map(e=>e.inkBounds)])??x;return Lu({layout:{kind:`table`,id:r.id,source:r.source,flowDomainId:r.flowDomainId,ordinaryFlow:r.ordinaryFlow,flowBounds:x,inkBounds:ik(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 lk(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 uk(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 dk(e){return Object.freeze({top:uk(e.top),right:uk(e.right),bottom:uk(e.bottom),left:uk(e.left),insideH:uk(e.insideH),insideV:uk(e.insideV)})}function fk(e,t){if(e===`center`)return`center`;let n=e===`right`||e===`end`;return(t?!n:n)?`right`:`left`}function pk(e){return e.lines.some(e=>e.placements.some(e=>e.kind===`text`&&e.dependency===`page`))}function mk(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=KD(o?.cellSpacingPt??0,p,m,t.length),y=[...s,i,d],b=`${u}:cell:${i}.${d}`,x=n.vMerge===!1?[]:pO({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=mk(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:lk(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:dk(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`&&pk(e)?{pageDependent:!0}:{},...fO(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?dk(o.exception.borders):null,alignment:fk(o?.justification??e.jc,f),indentPt:m,cells:p,repeatedHeader:o?.repeatedHeader??n.isHeader===!0}}),v=Lu({kind:`table`,id:u,source:c([...s]),flowDomainId:u,ordinaryFlow:d.ordinaryFlow,alignment:fk(e.jc,f),indentPt:m,bidiVisual:f,columnWidthsPt:t,borders:dk(e.borders),rows:_},`RetainedTableAcquisition.input`),y={xPt:0,yPt:0,widthPt:n,heightPt:1},b=ck(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:Lu(g,`RetainedTableAcquisition.floatingTables`)})}function hk(e,t,n){return t===n?e:Object.freeze({...e,left:e.right,right:e.left})}function gk(e,t,n){let r=hk(e.borders,e.bidiVisual,n),i=t.exceptionBorders==null?null:hk(t.exceptionBorders,e.bidiVisual,n);return i?Object.freeze({top:MO(i.top,r.top),right:MO(i.right,r.right),bottom:MO(i.bottom,r.bottom),left:MO(i.left,r.left),insideH:MO(i.insideH,r.insideH),insideV:MO(i.insideV,r.insideV)}):r}var _k=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 vk(e,t=0){return Object.freeze({position:e,sym:t,identity:`${e}|${t}`})}function yk(e,t,n){return vk(BD(t.position,n.position),e.add(t.sym,n.sym))}function bk(e,t,n){return vk(HD(t.position,n.position),e.subtract(t.sym,n.sym))}function xk(e,t,n){return vk(UD(t.position,n),e.divide(t.sym,n))}function Sk(e,t,n){let r=[vk(`0/1`)];return t.columnWidthsPt.forEach((i,a)=>{let o=t.columnWidthKeys?.[a],s=ID(i)??`0/1`,c=o===null?vk(s,e.token(n,a)):vk(o??s);r.push(yk(e,r.at(-1),c))}),Object.freeze(r)}function Ck(e,t,n,r){let i=bk(e,r,n);return t.alignment===`right`?i:t.alignment===`center`?xk(e,i,2n):vk(`0/1`)}function wk(e,t,n,r,i){return yk(e,i,r?bk(e,n,t):t)}function Tk(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 _k,a=vk(`0/1`),o=t.map((e,t)=>Sk(i,e,t)),s=o.map(e=>e.at(-1)??a),c=s.reduce((e,t)=>WD(t.position,e.position)>0?t:e,a),l=(e,t,n,a)=>{let o=wk(i,e,t,n,a);return r?bk(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=Ck(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)=>WD(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?HD(e.position,n.position):null}),y=g.slice(1).map((e,t)=>zD(HD(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=hk(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:gk(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 Ek=1e-4;function Dk(){return Object.freeze({blockIndex:0,paragraphLineStart:0,nestedCursor:null,nestedFragmentIndex:0})}function Ok(){return Object.freeze({rowIndex:0,rowFragmentIndex:0,cells:Object.freeze([])})}function kk(e){let t=0;for(;e.rows[t]?.repeatedHeader===!0;)t+=1;return t}function Ak(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 jk(e,t,n,r){let i=e.layout.rows.flatMap(e=>e.cells).find(e=>e.id===t.id);if(!i)throw new Y(`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 Mk(e,t,n,r){if(t===e.input.rows[n])return Ak(e,n);let i=ck({...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 Nk(e,t,n,r){return t===e.input.rows[n]?Math.max(0,e.layout.rows[n]?.heightPt??0):Mk(e,t,n,r)}function Pk(e,t,n,r){let i=ck({...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 Fk(e){return e.cells.map(e=>e.blocks.map(e=>({kind:`whole`,blockIndex:e.sourceBlockIndex})))}function Ik(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 Rk(e,t,n,r,i){return{...t,heightPt:null,heightRule:`auto`,cells:t.cells.map((t,a)=>{let o=n.cells[a]??Dk();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=Xk(a,o.nestedCursor,jk(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:Gk(n.layout,o.paragraphLineStart,n.layout.lines.length)}})}})}}function zk(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=Rk(e,t,s,i,p),g=ck({...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=Rk(e,n,s,i,p),c=n===t?g:ck({...e.input,id:`${e.input.id}:float-converge:${i.page.occurrenceId}:${t.logicalRowIndex}`,rows:[r]},m,i.services).layout,u=lD(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=uD(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=Mm({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 jm?new Y(`NON_CONVERGENCE`,`floating table final-frame reflow did not converge (${e.reason}; ${e.states.length} states)`):e}}function Bk(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 Vk(e){return`${e.hostCellId}:${e.sourceBlockIndex}:${e.tableId}`}function Hk(e,t){return new Set(e.floatingTables.filter(n=>Bk(e,t,n)).map(Vk))}function Uk(e,t){return e.size===t.size&&[...e].every(e=>t.has(e))}function Wk(e,t,n=0,r=!1,i=[]){return{input:e,logicalRowIndex:e.logicalRowIndex,fragmentIndex:n,ownership:t,ranges:Fk(e),...r?{clipAtPageEnd:!0}:{},...i.length?{resolvedFloatingTables:i}:{}}}function Gk(e,t,n){return DT(e,{lineStart:t,lineEnd:n,continuesFromPrevious:t>0,continuesOnNext:n<e.lines.length})}function Kk(e,t,n,r,i){let a=null,o=n;for(let s=n+1;s<=e.lines.length;s+=1){let c=Gk(e,n,s),l={layout:c,sourceBlockIndex:t};if(IO([...r,l])>i+Ek)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 qk(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(IO([...a,n])>r+Ek)break;a.push(n),o.push({kind:`whole`,blockIndex:n.sourceBlockIndex}),s+=1,c=0;continue}let e=Kk(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-IO(a)),d=Xk(f,l??Ok(),jk(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(IO([...a,n])>r+Ek)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 Jk(e,t,n,r,i){let a=t.cells.map((e,t)=>n.cells[t]??Dk()),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=QO({...e.input,rows:[c]})[0]??0,u=Math.max(0,r-o-s-l),d=t.cells.map((t,n)=>qk(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:Wk(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 Yk(e,t,n){let r=ck({...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 Xk(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=kk(e.input);if(t.rowIndex>=c&&t.rowIndex>0&&c>0)for(let i=0;i<c;i+=1){let c=zk(e,Ik(e,e.input.rows[i],`repeated-header`,n),`repeated-header`,n.availableHeightPt-s,n,a,o,Ok(),()=>!0),l=c.row,u=Mk(e,l,i,n);if(u>s+Ek)return{fragment:null,nextCursor:t,requiresFreshPage:!0};r.push(Wk(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+Ek,f=!1;for(;u<e.input.rows.length;){let i=`source`,c=Ik(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?zk(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]??Dk();return r.blockIndex<n||r.blockIndex===n&&r.paragraphLineStart===0}):{row:c,resolved:Object.freeze([]),registry:a,nextParagraphId:o},g=h.row,_=d||f?Nk(e,g,u,n):Mk(e,g,u,n);if(m&&_<=s+Ek){r.push(Wk(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+Ek||n.availableHeightPt+Ek<n.freshPageHeightPt)return{fragment:null,nextCursor:t,requiresFreshPage:!0};if(bO({compatibility:n.compatibility,availableHeightPt:n.availableHeightPt,freshPageHeightPt:n.freshPageHeightPt,epsilonPt:Ek})){r.push(Wk(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+Ek>=n.freshPageHeightPt&&_>n.freshPageHeightPt+Ek){r.push(Wk(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=Jk(e,c,p,s,n),y=null,b=new Set;for(;v.selected;){let t=Hk(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=zk(e,c,i,n.availableHeightPt-s,n,a,o,p,e=>t.has(Vk(e)));let l=Jk(e,y.row,p,s,n);if(!l.selected){v=l;break}let u=Hk(e,l.selected);if(v=l,Uk(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=>!Bk(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-Pk(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+Ek<n.freshPageHeightPt))throw new Y(`NON_CONVERGENCE`,`Table pagination cannot advance from a fresh page`);return{fragment:null,nextCursor:t,requiresFreshPage:!0}}let p=Yk(e,r,n);for(;p.advancePt>n.availableHeightPt+Ek;){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=Yk(e,r,n)}return p.advancePt>n.availableHeightPt+Ek&&n.availableHeightPt+Ek<n.freshPageHeightPt&&p.advancePt<=n.freshPageHeightPt+Ek?{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 sD(i,e,i.nextParagraphId+e.length)})()}:{}}}function Zk(e,t,n,r){let i=PC(e,n.flowDomainId),a=fT(t,{...n,exclusions:Object.freeze([...n.exclusions,...i.exclusions,...r?.exclusions??[]]),anchorCollisions:Object.freeze([...n.anchorCollisions??[],...i.collisions,...r?.collisions??[]])});return FC(e,i,a.layout),a}function Qk(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:em(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 $k(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 eA(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 tA(e){return eA(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 nA(e,t){return Object.freeze({coordinateSpace:t,flowDomainId:e,entries:Object.freeze([])})}function rA(e,t){return Object.freeze({coordinateSpace:e.coordinateSpace,flowDomainId:e.flowDomainId,baseEntries:e.entries,baseEntryCount:e.entries.length,entries:Object.freeze(t.map(tA))})}function iA(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(eA(e),n.has(e.occurrenceId))throw Error(`DrawingML collision occurrence committed twice: ${e.occurrenceId}`);n.add(e.occurrenceId)}}function aA(e,t){return iA(e,t),Object.freeze({coordinateSpace:e.coordinateSpace,flowDomainId:e.flowDomainId,entries:Object.freeze([...e.entries,...t.entries])})}function oA(e,t){return QS(e,t)}function sA(e){return tm(e.wrapMode)&&oA(e.anchorYRelativeFrom??null,e.anchorYFromPara??!1)}function cA(e){let t=zc(e);return t===`U`||t===`Tu`?`upright`:t===`Tr`?`rotate`:`sideways`}const lA=new Set([65294]);function uA(e){return lA.has(e)?{dx:.4,dy:-.4}:{dx:0,dy:0}}function dA(e){let t=[],n=``,r=null;for(let i of e){let e=cA(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 fA=()=>!1;function pA(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 mA(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 hA(e){return cA(e)===`rotate`&&Hc(e)===null&&!Gc(e)}function gA(e){let t=zc(e);return t===`Tu`||t===`Tr`}function _A(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 vA(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?al(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 yA(e,t,n,r,i){let a=e.measureText(t).width;if(gA(n)&&r(n)){let n=ol(e,t);return{naturalPx:n.cellAdvancePx,vert:n,rotateInkShiftPx:0}}if(i&&hA(n)){let n=_A(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 bA(e,t,n,r,i=1,a=!1,o=fA,s=`vertical-rl`){let c=[],l=pA(e,t,n),u=0,d=0;for(let f of dA(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=vA(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=cA(l),p=f===`rotate`?Hc(l):null,m=f===`rotate`&&p===null&&Gc(l),h=yA(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=vA(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?Bc(l):null,a=p??r,o=a===null?t:String.fromCodePoint(a),d=a===null?uA(l):{dx:0,dy:0},f=mh(r),m=d.dy===0&&!f?mA(e,o)/n:0,h={xPt:d.dx*n,yPt:(m+d.dy)*n},v=vA(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=vA(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 xA(e,t,n){let r=0;for(let i of dA(t)){if(i.mode===`sideways`){r+=e.measureText(i.text).width;continue}for(let t of i.text){let i=yA(e,t,t.codePointAt(0)??0,n,!0);r+=i.naturalPx}}return r-e.measureText(t).width}function SA(e,t){return xA(e,t,t=>il(e,t))}function CA(e,t,n,r,i){return{x:t,y:i-(e+n),w:r,h:n}}function wA(e,t,n){g_(e.blocks.body);let r=e.acquisition,i=r.acquisitionInputs,a=r.effectiveTablePositioning,o=r.publicAnchorBridge,s=Th(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=O_(r,t),u=s;return{ctx:e,verticalGlyphMeasurement:_d(u),acquisitionInputs:i,contentX:t.marginLeft,contentW:t.pageWidth-t.marginLeft-t.marginRight,y:0,pageH:t.pageHeight,pageIndex:0,totalPages:Od(u).totalPages,marginLeft:t.marginLeft,marginRight:t.marginRight,marginTop:B_(t.marginTop),marginBottom:B_(t.marginBottom),pageWidth:t.pageWidth,floats:[],floatParaSeq:0,layoutSettings:r,sectionLayout:l,storyContext:CD,docEastAsian:r.documentHasEastAsianText,fontFamilyClasses:n,resolvedLocalFonts:a,layoutServices:u,retainedTableAcquisition:{layoutServices:e=>e.layoutServices,tableFormat:i.tableFormatInput,resolveColumns:p,createCellState:(e,t,n)=>({...OD(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=DD(e,t),f=Zk(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:xD(e),exclusions:Qk(e.floats,i),anchorCollisions:$k(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:i_(t.borders)),continuesFromPrevious:!1,anchorFrames:wD(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=iD(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=QE(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 gD(this.sectionLayout.textDirection)},get verticalAllRotated(){return gD(this.sectionLayout.textDirection)&&_D(this.sectionLayout.textDirection)},verticalPhys:hD(t)?(()=>{let e=yD(t);return{pageWidth:e.pageWidth,pageHeight:e.pageHeight,marginLeft:e.marginLeft,marginRight:e.marginRight,marginTop:B_(e.marginTop),marginBottom:B_(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=v_(t)??{top:`top`,bottom:`bottom`},l=ED(e,t);return fT(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:xD(e),exclusions:Qk(e.floats,r.flowDomainId),anchorCollisions:s??$k(e.floats),containerShading:e.containerShading,paragraphBorderEdges:c,trailingExtentPt:Math.max(l.spaceAfterPt,c.bottom===`none`?0:i_(t.borders)),continuesFromPrevious:o.boundary!==null,...o.sourceRangeStart===void 0?{}:{sourceRangeStart:o.sourceRangeStart},anchorFrames:wD(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,gD(v.textDirection)?vD(v):v,s,e.documentLayoutSettings,n,g,_),b=e.blocks.footnotes,x=e.blocks.endnotes,S=jT(b);y.noteNumbers=new Map([...[...AT(b,MT(e.blocks.body,`footnote`))].map(([e,t])=>[`footnote:${e}`,t]),...[...AT(x,MT(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=nA(w(C.pageIndex),`logical-page-points`),k=(e,t)=>{let n=t.section.geometry;e.sectionLayout=t.section,e.pageIndex=t.pageIndex;let r=Od(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=B_(n.marginTop),e.marginBottom=B_(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={...OD(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=kC(e.acquired);return y.retainedTableAcquisition.acquireParagraph(n,t,e.acquired.flowBounds.widthPt,e.acquired.source.path,e.acquired.flowDomainId,void 0,r)},P=jT(e.blocks.endnotes),ee=new Map,te=t=>{if(t.path.length!==0)throw Error(`Story acquisition requires a story-root source`);return e.blocks.storyRoot(t)},F=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)},I=e=>{let t=JSON.stringify({source:e.source,pageIndex:e.pageIndex,section:e.section,container:e.container}),n=ee.get(t);if(n)return n;let r=te(e.source),i=e.source.story===`footnote`||e.source.story===`endnote`?y.noteNumbers?.get(`${e.source.story}:${e.source.storyInstance}`):void 0,a=Od(g),s=a.resolveDestinationPage?.(e.pageIndex),c=gD(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:B_(e.section.geometry.marginTop),marginBottom:B_(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&&_D(e.section.textDirection),...c?{}:{verticalPhys:void 0},storyContext:{story:e.source.story,containers:[],lineNumberingEligible:!1}};E(r,0,l);let u=wd(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[mk(a,p(a,e.container.bounds.widthPt,l),e.container.bounds.widthPt,l,r,i).input]}),f=null;rE(u,{layoutParagraph(e,t){let n=F(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=CC(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=DD(l,n),_=u_(s,n,u),v=Zk(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:xD(l),exclusions:Qk(l.floats,t.container.id),anchorCollisions:$k(l.floats),containerShading:l.containerShading,paragraphBorderEdges:_,trailingExtentPt:Math.max(g.spaceAfterPt,_.bottom===`none`?0:i_(n.borders)),continuesFromPrevious:!1,anchorFrames:wD(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=ck({...e,flowDomainId:t.container.id},t,u);return l.y=n.nextCursor.yPt,n}});let m=oE({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 Cx(t,{occurrenceId:`${e.container.id}:block:${n}`,destination:{coordinateSpace:`logical-page-points`,flowDomainId:e.container.id,translation:{xPt:0,yPt:0}}})}))});return ee.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 I({source:e.source,pageIndex:y.pageIndex,section:t,container:e.container})};let L={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=__(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(mT(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:sD(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=jC(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:sD(D,d,D.nextParagraphId+d.length)},...f.length===0?{}:{drawingCollisions:rA(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),kD(y,r).acquisition}),n=r(Tk(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=ck(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({...Ok(),rowIndex:u});if(d.rowIndex!==u)throw Error(`Adjacent-table group and table-fragment cursors disagree`);let p=Xk(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=kD(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??Ok(),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=iD(n,i,r,o.layout.advancePt);if(e.cursor?.kind!==`table`&&(n.vertAnchor===`page`||n.vertAnchor===`margin`)&&Jp({bounds:{xPt:a.x,yPt:a.y,widthPt:a.w,heightPt:a.h},blockers:D.entries.map(zp),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=Mm({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=Xk(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,_=uD(p,i,lD(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 jm?new Y(`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:sD(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=Xk(o,Ok(),{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=Xk(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=qp({inlineStartPt:d,inlineEndPt:p,blockStartPt:e.location.cursorPt.yPt,blockExtentPt:m,blockers:D.entries.map(zp),overlapEpsilonPt:Fp}).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:I,layoutNotes(e){let t=[],n=e.container.bounds.yPt,r=e.firstOnPage;for(let i of e.referenceIds){if(!(e.kind===`footnote`?S:P).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=I({source:a,pageIndex:e.pageIndex,section:e.section,container:s})}catch(t){throw t instanceof QT&&t.containerId===s.id?new Gb(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),kD(t,a).acquisition}),a=ck(r(Tk(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?IT([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=kD(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=B_(t.marginTop),r=B_(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=xC({acquisition:l[0].run.anchorAcquisitionInput,frames:a});if(d.status!==`resolved`)throw Error(`Page-anchor prescan could not resolve occurrence: ${t.occurrenceId}`);let f=gD(e.location.section.textDirection)?(()=>{let t=uf(e.location.section.textDirection);return Hw(d,vf(t,gf({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=Oh(!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=nA(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&&cD(e.floats,{coordinateSpace:D.coordinateSpace,flowDomainId:D.flowDomainId,entries:D.entries,nextParagraphId:D.nextParagraphId}),e.drawingCollisions&&iA(O,e.drawingCollisions);let t=e.drawingCollisions?aA(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(L)}})}function d(e,t){return SD(t,DD(t,e))}function f(e,t,n,r){let i=e.retainedTablesBySourceIndex.get(r),a=p(t,n,e),o=e.retainedTableAcquisition,s=mk(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&&!gD(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=>Zg(r,i.get(r)??A(r,e),{paragraph:e=>{let r=A_(n.layoutSettings,n.sectionLayout,n.storyContext??CD,e),i=e.numbering?n.acquisitionInputs.numberingMarkerShapeInput(e.numbering,jh(e)):void 0,a=qg(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?Xg(e.numbering,i,{authoredFirstIndentPt:e.indentFirst,physicalIndentLeftPt:a.physicalIndentLeftPt,tabStops:e.tabStops,defaultTabPt:n.defaultTabPt},n.layoutServices.text,!1):void 0);return r_(e,a,t,{context:n.ctx,fontFamilyClasses:n.fontFamilyClasses},xD(n),o)},nestedTable:e=>oO(n.acquisitionInputs.tableColumnLayoutInput(e,t,m(e),t))})};return[...dO(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 og(i,1,d(i,n),ED(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 og(i,1,d(i,n),ED(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=xD(n),s=t.members.map(v_),c=KE(t.framePr.hAnchor,n),l={contentXPt:n.contentX,contentWidthPt:n.contentW,pageHeightPt:n.pageH,yPt:n.y,anchorLineHeightPt:r},u=_T(t,{contexts:t.members.map(e=>ED(n,e)),inputs:t.members,borderEdges:s,borderExtentsPt:t.members.map((e,t)=>s[t]?.bottom===`none`?0:i_(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=ZE(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:wD(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 CA(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=dD(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=fD(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:pD(e.anchorXAlign,e.anchorXFromMargin,a,r,t,e.anchorXRelativeFrom,e.pctPosH,s),y:mD(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=>yD(e),b=e=>vD(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=CA(pD(e.anchorXAlign,e.anchorXFromMargin??!1,e.anchorXPt??0,r,n,e.anchorXRelativeFrom??null,null,null),mD(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:pD(e.anchorXAlign,e.anchorXFromMargin??!1,e.anchorXPt??0,r,t,e.anchorXRelativeFrom??null,null,null),y:mD(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&&sA(e))continue;D(e,t,n,r)}else if(a.type===`chart`){let e=a;if(i&&sA(e))continue;O(e,t,n,r)}else if(a.type===`shape`){let e=a;if(i&&sA(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(sA(e)){a=!0;break}}else if(e.type===`chart`){if(sA(e)){a=!0;break}}else if(e.type===`shape`&&sA(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(!sA(t))continue;D(t,n,0,o)}else if(e.type===`chart`){let t=e;if(!sA(t))continue;O(t,n,0,o)}else if(e.type===`shape`){let t=e;if(!sA(t))continue;k(t,n,0,o)}n.pageAnchorPrescanned.add(i)}}function D(e,t,n,r){if(!e.anchor||!tm(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);QE(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||!tm(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||QE(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(!tm(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;QE(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*TA(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*EA(t)}function*EA(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*DA(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*TA(e):e.type===`anchorHost`&&(yield{text:``,fontFamilies:[e.fontFamily,e.fontFamilyEastAsia],bold:e.bold,italic:e.italic})}function*OA(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*DA(t)}function*kA(e){for(let t of e.rows)for(let e of t.cells)yield*jA(e.content)}function*AA(e){if(e)for(let t of[e.default,e.first,e.even])t&&(yield*jA(t.body))}function*jA(e){for(let t of e)t.type===`paragraph`?yield*OA(t):t.type===`table`?yield*kA(t):t.type===`sectionBreak`&&(yield*AA(t.headers),yield*AA(t.footers))}function*MA(e){yield*jA(e.body??[]),yield*AA(e.headers),yield*AA(e.footers);for(let t of[...e.footnotes??[],...e.endnotes??[]])yield*jA(t.content)}function NA(e){let t=new Set;for(let n of MA(e))for(let e of n.fontFamilies){let n=e?.trim();n&&t.add(n)}return[...t]}const PA={...z,...U};function*FA(e){for(let t of MA(e))yield t.text}function IA(e){let t=ne(e.majorFont)??ne(e.minorFont)??null;return[e.majorFont,e.minorFont,...ce(FA(e),t)]}function LA(e){return e.trim().toLocaleLowerCase(`en-US`)}function RA(e){return e==null||!Number.isFinite(e)?400:Math.min(900,Math.max(100,Math.round(e/100)*100))}function zA(e){return Object.freeze({...e,diagnostics:Object.freeze([...e.diagnostics])})}function BA(e){return`\"${e.replaceAll(`\\\\`,`\\\\\\\\`).replaceAll(`\"`,`\\\\\"`)}\"`}function VA(e,t){return`${BA(e)}, ${t}`}function HA(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:RA(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=Ou(`fonts`,{faces:r,nativeFamilyLists:a});return Object.freeze({fingerprint:o,resolve(e){let t=e.requestedFamily?.trim()||e.genericFamily||`sans-serif`,n=RA(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=VA(o.resolvedFamily,e.genericFamily??`sans-serif`);return zA({requestedFamily:t,resolvedFamily:o.resolvedFamily,route:B(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 zA(c?{requestedFamily:t,resolvedFamily:c,route:B(a[LA(c)]??VA(c,s),`native`),source:`native`,weight:n,style:r,diagnostics:[],genericFamily:s}:{requestedFamily:t,resolvedFamily:s,route:B(s,`generic`),source:`generic`,weight:n,style:r,diagnostics:[],genericFamily:s})}})}function UA(e,t){let n=Nf(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=PA[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=Rf({fonts:HA(u,{nativeFamilyLists:Object.fromEntries(f.map(t=>[t,Dh(t,e.fonts.familyClasses,e.fonts.familyPitches)]))}),localMetrics:n,eastAsiaFontCharsets:r,genericFamilies:Object.fromEntries(f.map(t=>[t,jf(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=V(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:Mu(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:ed(h),math:td(m),verticalGlyphFingerprint:t.verticalGlyphMeasurement.fingerprint}),_=e.mathOccurrences.map(({source:e,display:t})=>Mu(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 bd(g,t.mathDrawables??new Map,m.filter(e=>e.available!==!1).map(e=>e.resourceKey)),kd(g,e.paintResources),gd(g,t.verticalGlyphMeasurement),g}function WA(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 GA(e){return e.value?.trim().endsWith(`%`)?`pct`:e.kind??`dxa`}function KA(e){if(!e)return null;let t=e.value?.trim()??``,n=GA(e);if(n===`dxa`){let t=WA(e.value??`0`,!1);return t===null?null:{kind:`dxa`,value:t/20}}if(n!==`pct`)return null;let r=WA(e.value??`0`,!0);return r===null?null:{kind:`pct`,value:t.endsWith(`%`)?r/100:r/5e3}}function qA(e){let t=KA(e);return t?.kind===`dxa`?t.value:null}function JA(e){return e.widthPt==null?e.widthPct==null?null:{kind:`pct`,value:e.widthPct/5e3}:{kind:`dxa`,value:e.widthPt}}function YA(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=KA(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 XA=Object.freeze({pt:`1/1`,in:`72/1`,cm:`3600/127`,mm:`360/127`,pc:`12/1`,pi:`12/1`});function ZA(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 QA={key:`0/1`,widthPt:0};function $A(e){let t=zD(e);return Number.isFinite(t)?{key:e,widthPt:t}:QA}function ej(e,t){let n=Number(e);if(!Number.isFinite(n))return QA;let r=ID(n),i=r===null?0:zD(VD(r,t));return Number.isFinite(i)?{key:null,widthPt:i}:QA}function tj(e){if(e==null)return QA;let t=ZA(e);if(t!==null){let e=FD(t);return e===null?QA:$A(UD(e,20n))}let n=/^([0-9]+(?:\\.[0-9]+)?)(mm|cm|in|pt|pc|pi)$/.exec(e);if(!n)return QA;let r=XA[n[2]],i=FD(n[1]);return i===null?ej(n[1],r):$A(VD(i,r))}function nj(e){let t=e.lexical.table?.grid;if(!t){let t=e.semantic.colWidths.map(e=>Number.isFinite(e)&&e>=0?{widthPt:e,key:ID(e)??`0/1`}:QA);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)=>tj(t.columns[n]?.width??null));return{widthsPt:r.map(e=>e.widthPt),widthKeys:r.map(e=>e.key)}}function rj(e,t){let n=KA(e);return n?.kind===`pct`?{kind:`dxa`,value:Math.max(0,n.value)*Math.max(0,t)}:n}function ij(e,t,n,r=t){let i=e.semantic,{widthsPt:a,widthKeys:o}=nj(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:YA(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:rj(o?.row?.beforeWidth,t)}:null,after:m>0?{columnSpan:m,preferredWidth:rj(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=KD(e.format.rows[i]?.cellSpacingPt??0,h,l,a.length),f=d.startPt+d.endPt,p={columnStart:h,columnSpan:l,preferredWidth:KA(c?.preferredWidth)??JA(t),minContentWidthPt:Math.max(0,u.minWidthPt)+f,maxContentWidthPt:Math.max(u.minWidthPt,u.maxWidthPt)+f};return h+=l,p})}})}}const aj=new WeakSet;function oj(e){return typeof e==`object`&&!!e&&aj.has(e)}function sj(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 cj(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 lj(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: ${ku(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 uj(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: ${ku(n.source)}`);t.numbering?.picBulletImagePath&&u(ju(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(ju(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,ku(e.source))}if(e.type===`shape`&&e.textBoxInput?.kind===`compatibility`)for(let t of e.textBoxInput.paragraphs)t.image&&u(ju({...t.source,path:[...t.source.path,0]},t.image.imagePath));e.type===`shape`&&e.fill?.fillType===`image`&&u(ju(r,e.fill.imagePath))})}}let d=new Set(r.map(e=>e.resourceKey));if(d.size!==r.length)throw TypeError(`Duplicate image metadata resource`);cj(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)!==ku(e.source))throw TypeError(`Math occurrence source mismatch: ${e.resourceKey}`)}cj(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)}cj(p,new Set([...a,...s,...c]),`Paint resource`),cj(m,a,`Image paint resource`),cj(h,s,`Chart paint resource`),cj(g,c,`Math paint resource`)}function dj(e,t){let n=mj(e.blockRepository);lj(t,n),Ru(e.acquisitionFacts,`layout source acquisition facts`),Ru(e.section,`layout source section`),Ru(e.documentLayoutFacts,`layout source document facts`),Ru(e.fonts,`layout source font facts`),Ru(e.fontFamilyCharsets,`layout source font charsets`),Ru(e.mathOccurrences,`layout source math facts`),Ru(e.imageMetadata,`layout source image facts`),Ru(e.paintDescriptors,`layout source paint descriptors`),e.fatalParse&&Ru(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){sj(t,[`source`,`publicAnchorBridges`,`numberingMarkerFallbackFontSizePt`],`Paragraph acquisition fact`);let e=ku(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){sj(t,[`source`,`input`],`Table acquisition fact`);let e=ku(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=ku(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}`)}uj(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: ${ku(t.textBoxInput.source)}`,{cause:e})}if(e.length!==t.textBoxInput.blockCount)throw TypeError(`Complete text-box block count mismatch: ${ku(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 ij(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(ku(t)))throw Error(`Unknown paragraph acquisition source: ${ku(t)}`);let i=n.resolve(t);if(i.type!==`paragraph`)throw Error(`Paragraph source kind mismatch: ${ku(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(ku(e));if(!n)throw Error(`Unknown paragraph acquisition source: ${ku(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:Ju(e.paintDescriptors)});return aj.add(d),d}function fj(e){let{bodyLayoutInput:t,...n}=e;return dj(n,Ru(t,`layout source body input`))}function pj(e){return`${e.story}:${e.storyInstance}`}function mj(e){Ru(e.body,`layout source body blocks`),Ru(e.stories,`layout source story blocks`),Ru(e.footnotes,`layout source footnotes`),Ru(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=pj(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(pj(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=ku(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(ku(e));if(!t)throw Error(`Unknown block source: ${ku(e)}`);return t},storyRoot:a})}function hj(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`${mu(e.fontName)}:${t}:${n}`})),n=[],r=new Set,i=e=>{let i=e?.trim();if(!i)return;let a=mu(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 MA(e))if(!(t.bold||t.italic))for(let e of t.fontFamilies)i(e);return n}function gj(e){return vu(hj(e))}function _j(e){let t=e.__typographyAcquisition;if(t!==void 0)return Lu({sourceText:`text`in e?e.text:e.fallbackText,...t},`DOCX run typography acquisition input`)}function vj(e){let t=e.__paragraphTypographyAcquisition;if(t!==void 0)return Lu(t,`DOCX paragraph typography acquisition input`)}function yj(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 bj(e){let t=[],n=null,r=[],i=()=>{r.length>0&&yj(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 xj(e){switch(e){case`continuous`:case`nextColumn`:case`nextPage`:case`oddPage`:case`evenPage`:return e;default:return`nextPage`}}function Sj(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 Cj(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 wj(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:xj(e.startType),context:Object.freeze(J_(Cj(e),e.sectionBidi)),pageNumbering:Object.freeze({start:e.pageNumType?.start??null,format:e.pageNumType?.fmt??null}),titlePage:e.titlePage,evenAndOddHeaders:t.evenAndOddHeaders,headers:Sj(e.headers,`header`,n),footers:Sj(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 Tj(e){let t=new Map(e.sectionIndex.occurrences.map(t=>[t.sectionOccurrenceId,wj(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 Lu({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=Yx(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 Ej(e){return!(e.runs??[]).some(e=>e.type===`text`?e.text.length>0:!0)}const Dj=new WeakMap;function Oj(e){return Dj.get(e)??[]}function kj(e){let t=Oj(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 Aj(e){return Oj(e).length>0}function jj(e){let t=e.__documentTypographySettings?.normalStyleFontSizePt;return Lu({normalStyleFontSizePt:typeof t==`number`&&Number.isFinite(t)&&t>0?t:10},`DOCX document typography settings input`)}function Mj(e){let t=e.__pageLayoutSettings;return Lu({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 Nj(e){let t=e.__noteLayoutSettings;return Lu({footnotePosition:t?.footnotePosition??`pageBottom`,endnotePosition:t?.endnotePosition??`docEnd`},`DOCX note layout settings input`)}function Pj(e){return Object.freeze(e?Object.fromEntries(Object.entries(e).filter(e=>typeof e[1]==`number`)):{})}function Fj(e){return Object.freeze({...e,pageGeometry:Pj(e.pageGeometry)})}const Ij=new WeakMap,Lj=new WeakMap,Rj=new WeakMap,zj=new WeakMap,Bj=new WeakMap;function Vj(e){let t=Rj.get(e);if(t)return t;let n=Lu({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 Rj.set(e,n),n}const Hj=e=>e!=null&&Number.isFinite(e)?e:null;function Uj(e){return Lu({colWidths:(e.colWidths??[]).map(e=>Number.isFinite(e)&&e>=0?e:0),layout:e.layout??null,widthPt:Hj(e.widthPt),widthPct:Hj(e.widthPct),rows:e.rows.map(e=>({gridBefore:Hj(e.gridBefore)??0,gridAfter:Hj(e.gridAfter)??0,cells:e.cells.map(e=>({colSpan:Hj(e.colSpan)??1,widthPt:Hj(e.widthPt),widthPct:Hj(e.widthPct)}))}))},`DOCX table column semantic input`)}function Wj(e){let t=Bj.get(e);if(t)return t;let n=Iu({semantic:Uj(e),lexical:Vj(e),format:rM(e)});return Bj.set(e,n),n}function Gj(e){return Wj(e).format.ordinaryFlow}function Kj(e){return Wj(e).format.positioning===null?null:e.tblpPr??null}function qj(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 Jj(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 Yj(e){let t=Jj(e??null,!1);return t===null?null:t/20}function Xj(e){return e===`exact`||e===`atLeast`?e:`auto`}function Zj(e){return{rule:wO(Xj(e.rule),e.ruleAuthored),valuePt:Yj(e.value)}}function Qj(e){if(e.rowHeight===null||!Number.isFinite(e.rowHeight))return null;let t=Xj(e.rowHeightRule);return{rule:t===`auto`?`atLeast`:t,valuePt:e.rowHeight}}function $j(...e){for(let t of e){if(!t)continue;let e=TO(GA(t),qA(t));if(e!==null)return e}return null}function eM(e,t,n){if(!e)return null;let r=GA(e);return EO({kind:r,dxaValuePt:r===`dxa`?Yj(e.value??`0`):null,scope:t,edge:n})}function tM(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=eM(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 nM(e){if(!e)return null;let t=e.indent?GA(e.indent):null;return{preferredWidthAuthored:e.preferredWidth!=null,preferredWidth:KA(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:qA(e.indent),borders:e.borders}}function rM(e){let t=zj.get(e);if(t)return t;let n=Vj(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?Zj(i.height):Qj(t),cantSplit:t.cantSplit===!0,repeatedHeader:t.isHeader===!0,cellSpacingPt:$j(i?.cellSpacing,a?.cellSpacing,n.table?.cellSpacing,i?.styleCellSpacing)??0,justification:i?.justification??a?.justification??null,exception:nM(a),cells:t.cells.map((t,o)=>({marginsPt:tM(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=Lu({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:qj(e.tblpPr),rows:i,firstRowException:i[0]?.exception??null},`DOCX table format input`);return zj.set(e,a),a}function iM(e){return Object.freeze(e.map(e=>{if(e.type!==`table`)return Object.freeze({element:e,table:null});let t=rM(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 aM=e=>Object.freeze({story:`body`,storyInstance:`body`,path:Object.freeze([e])}),oM=new Set([`paragraph`,`line`,`character`]);function sM(e,t,n){if(e.type!==`shape`&&e.type!==`image`&&e.type!==`chart`||vM(e)!==void 0||!tm(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:!oM.has(r)&&!oM.has(i)})}function cM(e,t){let n=new Set([`paragraph`,`line`,`character`]),r=Object.freeze([...new Set(kj(e).flatMap((e,r)=>{let i=e;if(e.type!==`shape`&&e.type!==`image`&&e.type!==`chart`&&i.type!==`unavailableDrawing`)return[];let a=vM(i);if(!a){let e=i.type===`unavailableDrawing`?null:sM(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)?[]:[Pu(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:!Aj(e)&&Ej(e),...r.length===0?{}:{pageOwnedAnchorOccurrenceIds:r}})}function lM(e){return Object.freeze({kind:`table`,source:e})}function uM(e,t){let n=0;return Object.freeze(bj(iM(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:aM(t),tables:Object.freeze(e.tables.map((e,n)=>Object.freeze({...lM(aM(t+n)),rowCount:e.rows.length})))})}let r=e.element,i=n,a=aM(i);if(n+=1,r.type===`paragraph`)return r.markVanish===!0&&!Aj(r)&&Ej(r)?Object.freeze({kind:`consume-source`,source:a,reason:`hidden-paragraph`}):Object.freeze({kind:`body-block`,block:cM(r,a)});if(r.type===`table`)return Object.freeze({kind:`body-block`,block:lM(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 dM(e,t,n,r=t){return ij(Wj(e),t,(t,r)=>n(e.rows[t].cells[r]),r)}function fM(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 pM(e){let t=new Map,n=0;e.body.forEach((e,r)=>{if(e.type!==`sectionBreak`)return;let i=e.__sectionPlacement;t.set(r,Lu({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:Lu({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?K_(e.section):{})},`DOCX final-section placement input`)})}const mM=Object.freeze({default:null,first:null,even:null});function hM(e){let t=[],n=pM(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:Pj(a.pageGeometry),textDirection:e.textDirection??null,pageNumType:e.pageNumType??null,headers:e.headers??mM,footers:e.footers??mM,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:Fj(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?K_(e.section):Pj(i.pageGeometry),textDirection:e.section.textDirection??null,pageNumType:e.section.pageNumType??null,headers:e.headers??mM,footers:e.footers??mM,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:Fj(i)});let a=Array(t.length),o=K_(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 Lu({bodyLength:e.body.length,occurrences:a},`DOCX body section index input`)}function gM(e){let t=hM(e),n=new Map;for(let e of t.occurrences)e.startBodyIndex!==0&&n.set(e.startBodyIndex-1,e);let r=uM(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 Lu({sectionIndex:t,evenAndOddHeaders:e.section.evenAndOddHeaders,endnoteIds:(e.endnotes??[]).map(e=>e.id),noteLayoutSettings:Nj(e),pageLayoutSettings:Mj(e),parserDiagnostics:lf(e.diagnostics,e.body.length),sequence:r},`DOCX body layout acquisition input`)}function _M(e){let t=e.textPath;if(t)return Lu({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 vM(e){let t=e.__anchorAcquisition;if(t!==void 0)return Lu(t,`DOCX anchor acquisition input`)}function yM(e,t){let n=EM(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 bM(e,t){let n=e.textBoxContent;return n===void 0?Lu({kind:`compatibility`,source:t,paragraphs:FS(e,t,yM)},`DOCX public text box acquisition input`):Lu({kind:`complete`,source:t,blockCount:n.length},`DOCX complete text box acquisition input`)}function xM(e){let t=DM(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 SM(e,t){let n=e,{layoutLines:r,lineSlice:i,runs:a,paragraphMarkFontFacts:o,__paragraphTypographyAcquisition:s,__complexFieldBoundaries:c,...l}=e,u=vj(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=Oj(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=vM(n),r=e===void 0?void 0:Lu({...e,occurrenceId:Pu(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??Mu(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:Pu(t,n)}})}if(e.type===`shape`||e.type===`image`||e.type===`chart`){let i=vM(n),a=i===void 0?void 0:Lu({...i,occurrenceId:Pu(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:Nu({...t,path:[...t.path,r]})}))(s):s;return Object.freeze({...structuredClone(n),...a===void 0?{}:{anchorAcquisitionInput:a}})}let c=n,l=_M(c),u=Object.freeze({...t,path:Object.freeze([...t.path,r])}),d=bM(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=_j(n),{__typographyAcquisition:r,...i}=e;return Object.freeze({...structuredClone(i),...t===void 0?{}:{typographyInput:t}})}return Object.freeze(structuredClone(e))});return Iu({...m,runs:_,...d?.length?{complexFieldBoundaries:d}:{},numberingMarkerShapeInput:e.numbering?yM(e.numbering,n.runs.find(e=>e.type===`text`||e.type===`field`)?.fontSize??e.defaultFontSize??10):void 0,paragraphMarkShapeInput:xM(e),...u===void 0?{}:{typographyInput:u}})}function CM(e){return TM(e,!1)}function wM(e){return TM(e,!0)}function TM(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`);kj(e).forEach((e,d)=>{if(e.type===`unavailableDrawing`){l.push(Object.freeze({publicRunIndex:c.length,run:Lu(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=Mu(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&&Dj.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=pM(f);Ij.set(f,p),fM(f.body,f.section,p);let m,h=()=>m??=gM(f),g=AM();return Object.freeze({document:f,mathOccurrences:Object.freeze(n),fontFamilyCharsets:Object.freeze({...OM(f).fontFamilyCharsets??{}}),get bodyLayoutInput(){return Tj(h())},bodyModelGateway:Object.freeze({acquisitionInputs:g,get bodySectionIndex(){return h().sectionIndex},effectiveTablePositioning:Kj,publicAnchorBridge:sM})})}function EM(e){return e}function DM(e){return e}function OM(e){return e}const kM=Object.freeze({numberingMarkerShapeInput:yM,paragraphMarkShapeInput:xM,tableFormatInput:rM,tableColumnLayoutInput:dM,tableParticipatesInOrdinaryFlow:Gj,paragraphAcquisitionInput:SM});function AM(){let e=new WeakMap,t=(t,n)=>{let r=e.get(t);r||(r=new Map,e.set(t,r));let i=ku(n),a=r.get(i);if(a)return a;let o=SM(t,n);return r.set(i,o),o};return Object.freeze({...kM,paragraphAcquisitionInput:t})}const jM=new Set([`tbRl`,`tbRlV`,`tbLrV`]);function MM(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`&&jM.has(t.textDirection))return!0}t.push(...Object.values(e))}}return!1}const NM=new WeakMap;function PM(e){let t=q_(),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 FM(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 IM(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`&&(FM(c.headers,`header`,`section:${l}`,a),FM(c.footers,`footer`,`section:${l}`,a))})};a(e.body,{story:`body`,storyInstance:`body`,path:[]}),FM(e.headers,`header`,null,a),FM(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 FM(e.headers,`header`,null,n),FM(e.footers,`footer`,null,n),e.body.forEach((e,t)=>{e.type===`sectionBreak`&&(FM(e.headers,`header`,`section:${t}`,n),FM(e.footers,`footer`,`section:${t}`,n))}),t}function RM(e){return LM(e).map(({body:e})=>e)}function zM(e){return e??Object.freeze([])}function BM(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:BM(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(ku({...t,path:o}));if(!e)throw Error(`Missing canonical paragraph source: ${ku({...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:BM(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 VM(e){let{__sectionPlacement:t,...n}=e;return structuredClone(n)}function HM(e){let t=e;return delete t.__sectionPlacement,t}function UM(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:BM(i.body,{story:t,storyInstance:r,path:[]},n)}:null]}))}function WM(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=WM(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(ku({...t,path:s}));if(!r)throw Error(`Missing canonical paragraph source: ${ku({...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=WM(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 GM(e,t,n){for(let r of[`default`,`first`,`even`]){let i=e[r];i&&(i.body=WM(i.body,{story:t,storyInstance:r,path:[]},n))}return e}function KM(e){let t=NM.get(e);if(t)return t;let n=CM(PM(e));return JM(n,n,!1,e)}function qM(e,t){return NM.get(e)||JM(wM(PM(e)),wM(PM(t)),!0,e)}function JM(e,t,n,r){let i=t.document,a=t.bodyModelGateway.acquisitionInputs,o=t.bodyLayoutInput,s=C_(i,jj(i)),c=Qu(i,a,t.mathOccurrences,e=>{let t=e.numbering;if(!t)throw Error(`Picture-bullet metadata requires numbering`);let n=a.numberingMarkerShapeInput(t,jh(e));return{widthPt:t.picBulletWidthPt??n.fontSizePt,heightPt:t.picBulletHeightPt??n.fontSizePt}}),l=zM(i.footnotes),u=zM(i.endnotes),d=DC(i.body,l,[...RM(i),...u.map(e=>e.content)]),f=MM(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:NA(i),preloadNames:IA(i),localMetricRequests:hj(i),defaultBodyFontSizePt:bD(i)},h=new Map,g=[],_=[],v=[];IM(i,a,(e,r,i)=>{let a=ku(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:Iu({...r,path:[...r.path]}),publicAnchorBridges:Object.freeze(s),numberingMarkerFallbackFontSizePt:e.numbering?jh(e):null})),n?i:void 0},(e,t)=>{_.push(Object.freeze({source:Iu({...t,path:[...t.path]}),input:Wj(e)}))},(e,t)=>{v.push({body:e,source:t})}),Object.freeze({...a,paragraphAcquisitionInput(e,t){let n=h.get(ku(t));if(!n)throw Error(`Unknown paragraph acquisition source: ${ku(t)}`);return n}});let y=n?WM:BM,b=n?GM:UM,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)}));Iu(h);let C=fj({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?HM(i.section):VM(i.section),documentLayoutFacts:Iu({...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:Iu(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:Iu(p)}),w=Object.freeze({document:e.document,source:C});return NM.set(r,w),NM.set(e.document,w),w}function YM(e){return KM(e).source}function XM(e,t,n){return wA(e,t,n).kernel}function ZM(e,t={}){let n=oj(e)?e:YM(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 Qc(r,()=>SA(r,e))},planRun(e){if(r===null)throw Error(`Vertical glyph planning requires a concrete text context`);return Qc(r,()=>{let t=r.font,n=r.fontKerning;r.font=e.font,r.fontKerning=e.fontKerning;try{return bA(r,e.text,e.fontSizePt,e.letterSpacingPt,e.charScale,e.growTrRotateInk,e=>il(r,e),e.writingMode)}finally{r.font=t,r.fontKerning=n}})}}),l=Nf(t.localMetrics),u=UA(n,{...t,localMetrics:l,measureContext:i,verticalGlyphMeasurement:c});return md(u,n),fd(u,XM(n,i,l)),u}function QM(e,t,n,r){let i=r.layoutServices??ZM(e,e.fatalParse===null?{measureContext:t.getContext(`2d`)}:{}),a=hd(i);if(a&&a!==e)throw Error(`Layout services belong to a different document source`);let o=r.defaultCurrentDateMs??Date.now();GE(i,o,()=>e);let s=ly(i,{currentDate:r.currentDate,defaultCurrentDateMs:o},n),c=Bb(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:xd(i),textRuns:r.onTextRun?Fy(s.layout,n,{scale:c}):[],onTextRun:r.onTextRun}}}async function $M(e,t,n,r={}){let i=QM(e,t,n,r);return Wb(i.selection.layout,i.selection.page,t,i.paintOptions)}function eN(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 tN(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:nN(e.style),style:rN(e.style)}}catch{return null}}))).filter(e=>e!==null);return r.length===0?[]:F(r)}function nN(e){return e===`bold`||e===`boldItalic`?`bold`:`normal`}function rN(e){return e===`italic`||e===`boldItalic`?`italic`:`normal`}function iN(e,t=ZM(e),n){let r=oj(e)?e:YM(e),i=hd(t);if(i&&i!==r)throw Error(`Layout services belong to a different document source`);return WE(r.bodyLayoutInput,t,n)}function aN(e,t,n){let r=hd(t);if(r&&r!==e)throw Error(`Layout services belong to a different document source`);let i=cy({source:e,services:t,defaultCurrentDateMs:n,buildLayout:n=>iN(e,t,n)});return Object.freeze({layoutServices:t,layoutVariants:i.store,defaultCurrentDateMs:n})}function oN(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 sN(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 cN(e,t){let n=sN(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=oN(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 lN(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 uN(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=lN(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*dN(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*dN(t.layout);return}if(e.kind===`note`||e.kind===`textbox`)for(let t of e.story.blocks)yield*dN(t)}function*fN(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*dN(t)}function pN(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 mN(e){return{story:e.story,storyInstance:e.storyInstance,path:[...e.path]}}function hN(e){return`drawing`in e?e.drawing.inkBounds:e.placement.bounds}function gN(e){let t=hN(e),n=[py(e.pointToPage,t),py(e.pointToPage,{xPt:t.xPt+t.widthPt,yPt:t.yPt}),py(e.pointToPage,{xPt:t.xPt,yPt:t.yPt+t.heightPt}),py(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 _N(e,t){return t.xPt>=e.xPt&&t.xPt<=e.xPt+e.widthPt&&t.yPt>=e.yPt&&t.yPt<=e.yPt+e.heightPt}function vN(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 yN(e,t){return _N(e.inkBounds,t)?e.clip?e.clip.kind===`rect`?_N(e.clip.rect,t):vN(t,e.clip.points):!0:!1}function bN(e,t,n){for(let n of e.clips){let e=my(n.pointToPage,t);if(!e||!_N(n.bounds,e))return!1}return`drawing`in e?yN(e.drawing,n):_N(e.placement.bounds,n)}function xN(e,t){return e.commands.find(e=>e.kind===`resource`&&e.resourceKind===t)}function SN(e){return xN(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`:xN(e,`image`)?`image`:null}function CN(e,t,n,r,i,a){let o=`drawing`in e?SN(e.drawing):e.placement.resourceKind;if(!o)return null;let s,c=!1,l,u;if(o===`chart`){let t=`drawing`in e?xN(e.drawing,`chart`).resourceKey:e.placement.resourceKey,n=i.resolve(t,`chart`),r=cN(n.model,a);s=r.text,c=r.truncated,u=n.model.series.length}else if(o===`image`){let t=`drawing`in e?xN(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=uN(fN(e),a);s=t.text,c=t.truncated}return{format:`docx`,kind:`element`,pageIndex:t,elementIndex:n,elementType:o,point:{...r},bounds:gN(e),source:mN(`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 wN(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=pN(i.maxTextCharacters),o=My(e,t);for(let e=o.length-1;e>=0;e--){let i=o[e],s=my(i.pointToPage,n);if(!s||!bN(i,n,s))continue;let c=CN(i,t,e,n,r,a);if(c)return c}return null}function TN(e,t,n,r){return wN(ly(e,{currentDate:r.currentDate,defaultCurrentDateMs:r.defaultCurrentDateMs},t).layout,t,n,Ad(e),r)}const EN=1024*1024,DN=67108864;async function ON(e,t,n={}){let r=[],i=[];return kN(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 kN(e,t,n,r){let i=new bs(e,{...t,maxByteCredit:DN,timeoutMs:n.timeoutMs});try{for(;;){let e=await jN(i,n.signal);try{let t=e.usage??i.usageCheckpoint;t&&n.onUsage?.(t);let a=AN(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 AN(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 jN(e,t){try{return await e.pull(EN,{signal:t})}catch(n){let r=MN(n);if(r===void 0)throw n;return e.pull(r,{signal:t})}}function MN(e){return Go(e,EN,DN)}var NN=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 Ho({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 PN=67108864;var FN=class{coordinator=new xs;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 Ss({...e,maxByteCredit:PN,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 Wo(e,n,PN)||e}let i=hs(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?Xo(e):void 0}}})}dispatch(e,t){return!this.host||!this.identity?(t({protocol:_s,kind:`error`,sessionId:e.sessionId,operationId:e.operationId,generation:e.generation,requestId:e.requestId,error:fs(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 xs}}requireArchive(){let e=this.archive();if(!e)throw Error(`No docx loaded`);return e}};function IN(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 RN=new Ro(x,{freeArchive:e=>e.free(),reinit:S}),zN=new FN(()=>RN.archive,e=>RN.run(()=>{let t=RN.archive;if(!t)throw Error(`No docx loaded`);return e(t)}));let BN=0,VN=null,HN=null,UN=[];const WN=new Eu({maxEntries:64,maxBytes:134217728}),GN=(e,t)=>self.postMessage(e,t);function KN(e,t){return WN.get(e,t,async()=>{let n=RN.archive;if(!n)throw Error(`No docx loaded`);let r=RN.run(()=>n.extract_image(e));return new Blob([r],{type:t})})}self.onmessage=async t=>{let n=t.data;if(IN(n)){try{if(!VN)throw Error(`DOCX vertical fallback session is not open`);await VN.dispatch(n,GN)}catch(e){GN({protocol:_s,kind:`error`,sessionId:n.sessionId,operationId:n.operationId,generation:n.generation,requestId:n.requestId,error:fs(e)})}return}if(n.type===`init`){RN.setWasmInput(Mo(n.wasmUrl)??n.wasmUrl);return}let r=n.id;try{if(await RN.ensureReady(),n.type!==`parse`&&RN.archive){let e=RN.archive;RN.run(()=>e.assert_healthy())}if(n.type===`parse`){await zN.reset(),await VN?.reset(),VN=null,HN=null,UN.length>0&&(yu(UN),UN=[]),WN.clear(),uo(KN),ho(KN);let[t,i,a]=gs(n.resourcePolicy),o=new Uint8Array(n.data);RN.run(()=>{let n=new e(o,t,i,a);RN.setArchive(n)}),BN+=1;let s={sessionId:BN,operationId:BN,generation:BN};zN.open(s);let c,l;try{c=await ON(LN(zN),s,{onUsage:e=>{l=e}})}finally{await zN.reset().catch(()=>void 0)}if(MM(c.document)){let e=new NN(c.document);VN=new FN(()=>e),BN+=1;let t={sessionId:BN,operationId:BN,generation:BN};VN.open(t),GN({type:`mainThreadVerticalFallback`,id:r,...t,usage:l});return}let u=qM(c.document,c.ownedLayoutDocument),d=u.source,f=u.document,p=[];n.useGoogleFonts&&(p=await N(IA(f),PA));let m=[];f.embeddedFonts?.length&&(m=await tN(f,async e=>{let t=RN.archive;if(!t)throw Error(`No docx loaded`);return RN.run(()=>t.extract_image(e))}));let h=await gj(f);UN=h.faces,HN=aN(d,ZM(d,{localMetrics:h.metrics,useGoogleFonts:!!n.useGoogleFonts,embeddedFaces:m,googleFaces:p}),n.defaultCurrentDateMs);let g=HN.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:[...eN(g)]},y=RN.archive;if(!y)throw Error(`No docx loaded`);l=Xo(RN.run(()=>y.resource_usage())),GN({type:`parsedMeta`,id:r,meta:v,usage:l});return}if(n.type===`renderPage`){if(!HN)throw Error(`Document not loaded`);let e=new OffscreenCanvas(1,1),t=hd(HN.layoutServices);if(!t)throw Error(`Document layout source is not initialized`);await $M(t,e,n.pageIndex,{...n.opts,fetchImage:KN,layoutServices:HN.layoutServices,defaultCurrentDateMs:HN.defaultCurrentDateMs});let i=Iy(HN.layoutServices,n.pageIndex,{...n.opts,defaultCurrentDateMs:HN.defaultCurrentDateMs}),a=e.transferToImageBitmap();GN({type:`pageRendered`,id:r,bitmap:a,runs:i},[a]);return}if(n.type===`collectRuns`){if(!HN)throw Error(`Document not loaded`);GN({type:`runsCollected`,id:r,runs:Iy(HN.layoutServices,n.pageIndex,{...n.opts,defaultCurrentDateMs:HN.defaultCurrentDateMs})});return}if(n.type===`hitTestElement`){if(!HN)throw Error(`Document not loaded`);GN({type:`elementHit`,id:r,context:TN(HN.layoutServices,n.pageIndex,n.point,{...n.opts,defaultCurrentDateMs:HN.defaultCurrentDateMs})});return}if(n.type===`extractImage`){let e=RN.archive;if(!e)throw Error(`No docx loaded`);let t=RN.run(()=>e.extract_image(n.path).buffer);GN({type:`imageExtracted`,id:r,bytes:t},[t]);return}if(n.type===`resourceUsage`){let e=RN.archive;if(!e)throw Error(`No docx loaded`);GN({type:`resourceUsage`,id:r,usage:Xo(RN.run(()=>e.resource_usage()))});return}if(n.type===`toMarkdown`){let e=RN.archive;if(!e)throw Error(`No docx loaded`);GN({type:`markdownRendered`,id:r,markdown:RN.run(()=>e.to_markdown())});return}}catch(e){let t=e instanceof Error?e:Error(String(e)),n=t;GN({type:`error`,id:r,...fs(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 };