@arbidocs/blocks 0.5.107 → 0.5.108

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 (341) hide show
  1. package/dist/{ConnectedCallDock-TDYRHPAK.js → ConnectedCallDock-DV4FU376.js} +8 -8
  2. package/dist/{ConnectedCallDock-TDYRHPAK.js.map → ConnectedCallDock-DV4FU376.js.map} +1 -1
  3. package/dist/{ConnectedCallDock-H3WWFGXF.cjs → ConnectedCallDock-EM2VVGZK.cjs} +10 -10
  4. package/dist/{ConnectedCallDock-H3WWFGXF.cjs.map → ConnectedCallDock-EM2VVGZK.cjs.map} +1 -1
  5. package/dist/{ConnectedCallRoom-55O5OUN7.cjs → ConnectedCallRoom-7WEPEWUJ.cjs} +9 -9
  6. package/dist/{ConnectedCallRoom-55O5OUN7.cjs.map → ConnectedCallRoom-7WEPEWUJ.cjs.map} +1 -1
  7. package/dist/{ConnectedCallRoom-Z6F6WCLH.js → ConnectedCallRoom-RYTZP34O.js} +8 -8
  8. package/dist/{ConnectedCallRoom-Z6F6WCLH.js.map → ConnectedCallRoom-RYTZP34O.js.map} +1 -1
  9. package/dist/{ConnectedNativeDocxComparison-NVZRVNOS.js → ConnectedNativeDocxComparison-2NDXXZLQ.js} +15 -15
  10. package/dist/{ConnectedNativeDocxComparison-NVZRVNOS.js.map → ConnectedNativeDocxComparison-2NDXXZLQ.js.map} +1 -1
  11. package/dist/{ConnectedNativeDocxComparison-DGBZJ4XA.cjs → ConnectedNativeDocxComparison-7HOY3AVI.cjs} +16 -16
  12. package/dist/{ConnectedNativeDocxComparison-DGBZJ4XA.cjs.map → ConnectedNativeDocxComparison-7HOY3AVI.cjs.map} +1 -1
  13. package/dist/{ConnectedNativeDocxEditor-R4WINUUB.cjs → ConnectedNativeDocxEditor-CUWDPHXN.cjs} +16 -16
  14. package/dist/{ConnectedNativeDocxEditor-R4WINUUB.cjs.map → ConnectedNativeDocxEditor-CUWDPHXN.cjs.map} +1 -1
  15. package/dist/{ConnectedNativeDocxEditor-RSVBN7DY.js → ConnectedNativeDocxEditor-SPZB6Y27.js} +14 -14
  16. package/dist/{ConnectedNativeDocxEditor-RSVBN7DY.js.map → ConnectedNativeDocxEditor-SPZB6Y27.js.map} +1 -1
  17. package/dist/{ConnectedProductionSetDialog-2DFBXE2X.js → ConnectedProductionSetDialog-N3EDG3SU.js} +4 -4
  18. package/dist/{ConnectedProductionSetDialog-2DFBXE2X.js.map → ConnectedProductionSetDialog-N3EDG3SU.js.map} +1 -1
  19. package/dist/{ConnectedProductionSetDialog-KYDPQ7SG.cjs → ConnectedProductionSetDialog-XAEFEN3N.cjs} +4 -4
  20. package/dist/{ConnectedProductionSetDialog-KYDPQ7SG.cjs.map → ConnectedProductionSetDialog-XAEFEN3N.cjs.map} +1 -1
  21. package/dist/{ConnectedStreamedWordArtifact-HLJ5IIOU.js → ConnectedStreamedWordArtifact-6LTGEAJO.js} +15 -15
  22. package/dist/ConnectedStreamedWordArtifact-6LTGEAJO.js.map +1 -0
  23. package/dist/{ConnectedStreamedWordArtifact-JQ34AOUU.cjs → ConnectedStreamedWordArtifact-HNCRKZTV.cjs} +16 -16
  24. package/dist/ConnectedStreamedWordArtifact-HNCRKZTV.cjs.map +1 -0
  25. package/dist/{DocumentReviewCard-7JSXRJZ2.js → DocumentReviewCard-RJD3CO32.js} +8 -8
  26. package/dist/{DocumentReviewCard-7JSXRJZ2.js.map → DocumentReviewCard-RJD3CO32.js.map} +1 -1
  27. package/dist/{DocumentReviewCard-C4HVT3WM.cjs → DocumentReviewCard-VON7LOOY.cjs} +8 -8
  28. package/dist/{DocumentReviewCard-C4HVT3WM.cjs.map → DocumentReviewCard-VON7LOOY.cjs.map} +1 -1
  29. package/dist/{FilesViewerDialog-IMQTZWKD.js → FilesViewerDialog-7SJGY72Q.js} +21 -21
  30. package/dist/{FilesViewerDialog-IMQTZWKD.js.map → FilesViewerDialog-7SJGY72Q.js.map} +1 -1
  31. package/dist/{FilesViewerDialog-UP7GFHYN.cjs → FilesViewerDialog-VIPTC6OT.cjs} +27 -27
  32. package/dist/{FilesViewerDialog-UP7GFHYN.cjs.map → FilesViewerDialog-VIPTC6OT.cjs.map} +1 -1
  33. package/dist/{RechartsRenderer-GIRCW7DB.cjs → RechartsRenderer-THES2SE5.cjs} +6 -5
  34. package/dist/RechartsRenderer-THES2SE5.cjs.map +1 -0
  35. package/dist/{RechartsRenderer-23OF4H6X.js → RechartsRenderer-XIZLV6GH.js} +6 -5
  36. package/dist/RechartsRenderer-XIZLV6GH.js.map +1 -0
  37. package/dist/{WorkspaceTableView-PJM47B5F.cjs → WorkspaceTableView-FNME7TL6.cjs} +9 -9
  38. package/dist/{WorkspaceTableView-PJM47B5F.cjs.map → WorkspaceTableView-FNME7TL6.cjs.map} +1 -1
  39. package/dist/{WorkspaceTableView-YDA7A4UJ.js → WorkspaceTableView-XQ6J2JKI.js} +7 -7
  40. package/dist/{WorkspaceTableView-YDA7A4UJ.js.map → WorkspaceTableView-XQ6J2JKI.js.map} +1 -1
  41. package/dist/agents/index.cjs +202 -202
  42. package/dist/agents/index.js +8 -8
  43. package/dist/{ai-ADS6YSS2.cjs → ai-3SAMEYBB.cjs} +20 -20
  44. package/dist/ai-3SAMEYBB.cjs.map +1 -0
  45. package/dist/{ai-KHWTGBT5.js → ai-OTQWSYVK.js} +12 -12
  46. package/dist/ai-OTQWSYVK.js.map +1 -0
  47. package/dist/calls/index.cjs +57 -57
  48. package/dist/calls/index.js +9 -9
  49. package/dist/chat/index.cjs +3 -3
  50. package/dist/chat/index.js +3 -3
  51. package/dist/{chunk-O27K7KTZ.cjs → chunk-2TBQBF4Y.cjs} +5 -5
  52. package/dist/{chunk-O27K7KTZ.cjs.map → chunk-2TBQBF4Y.cjs.map} +1 -1
  53. package/dist/{chunk-YJWAGXYM.js → chunk-4ZA2RSQH.js} +3 -3
  54. package/dist/{chunk-YJWAGXYM.js.map → chunk-4ZA2RSQH.js.map} +1 -1
  55. package/dist/{chunk-6A4GNM4T.cjs → chunk-5D2ZINOJ.cjs} +16 -16
  56. package/dist/{chunk-6A4GNM4T.cjs.map → chunk-5D2ZINOJ.cjs.map} +1 -1
  57. package/dist/{chunk-BFVCYBND.cjs → chunk-5HXQOM3I.cjs} +5 -5
  58. package/dist/{chunk-BFVCYBND.cjs.map → chunk-5HXQOM3I.cjs.map} +1 -1
  59. package/dist/{chunk-GSD5U553.cjs → chunk-5KKT65WU.cjs} +3 -3
  60. package/dist/{chunk-GSD5U553.cjs.map → chunk-5KKT65WU.cjs.map} +1 -1
  61. package/dist/{chunk-AVGHTUPE.js → chunk-5PWLXLHY.js} +5 -5
  62. package/dist/chunk-5PWLXLHY.js.map +1 -0
  63. package/dist/{chunk-BBWLFK3C.js → chunk-5XIMUQ63.js} +3 -3
  64. package/dist/{chunk-BBWLFK3C.js.map → chunk-5XIMUQ63.js.map} +1 -1
  65. package/dist/{chunk-AHMRYY7J.cjs → chunk-6DAJXQZZ.cjs} +13 -13
  66. package/dist/{chunk-AHMRYY7J.cjs.map → chunk-6DAJXQZZ.cjs.map} +1 -1
  67. package/dist/{chunk-3PV25ICC.js → chunk-6KKVJ2V6.js} +3 -3
  68. package/dist/{chunk-3PV25ICC.js.map → chunk-6KKVJ2V6.js.map} +1 -1
  69. package/dist/{chunk-OLAYDOPC.js → chunk-6LUHNFEE.js} +6 -6
  70. package/dist/{chunk-OLAYDOPC.js.map → chunk-6LUHNFEE.js.map} +1 -1
  71. package/dist/{chunk-FSXQHEFQ.cjs → chunk-7CDV7Y4U.cjs} +25 -25
  72. package/dist/{chunk-FSXQHEFQ.cjs.map → chunk-7CDV7Y4U.cjs.map} +1 -1
  73. package/dist/{chunk-OAIOOVFN.cjs → chunk-7SJXYEZI.cjs} +36 -36
  74. package/dist/chunk-7SJXYEZI.cjs.map +1 -0
  75. package/dist/{chunk-LFYKB7KF.cjs → chunk-7V6APLF7.cjs} +19 -19
  76. package/dist/{chunk-LFYKB7KF.cjs.map → chunk-7V6APLF7.cjs.map} +1 -1
  77. package/dist/{chunk-4WMGFGYP.cjs → chunk-AJZ66VJC.cjs} +4 -4
  78. package/dist/{chunk-4WMGFGYP.cjs.map → chunk-AJZ66VJC.cjs.map} +1 -1
  79. package/dist/{chunk-KCP42W67.cjs → chunk-ARGQ5YZ5.cjs} +3 -3
  80. package/dist/{chunk-KCP42W67.cjs.map → chunk-ARGQ5YZ5.cjs.map} +1 -1
  81. package/dist/{chunk-BH6IKGZ3.js → chunk-AUAHGQY6.js} +5 -5
  82. package/dist/{chunk-BH6IKGZ3.js.map → chunk-AUAHGQY6.js.map} +1 -1
  83. package/dist/{chunk-KIXFXCHL.js → chunk-CEOCA7ID.js} +3 -3
  84. package/dist/{chunk-KIXFXCHL.js.map → chunk-CEOCA7ID.js.map} +1 -1
  85. package/dist/{chunk-TNKPQ3EF.js → chunk-CIRSOYGK.js} +12 -12
  86. package/dist/{chunk-TNKPQ3EF.js.map → chunk-CIRSOYGK.js.map} +1 -1
  87. package/dist/{chunk-BAUZUIHB.js → chunk-COL2TJGO.js} +83 -83
  88. package/dist/chunk-COL2TJGO.js.map +1 -0
  89. package/dist/{chunk-XHN5KOI2.cjs → chunk-DRLD4P2C.cjs} +8 -8
  90. package/dist/{chunk-XHN5KOI2.cjs.map → chunk-DRLD4P2C.cjs.map} +1 -1
  91. package/dist/{chunk-5AC52BHL.cjs → chunk-DYPFNQTQ.cjs} +140 -140
  92. package/dist/chunk-DYPFNQTQ.cjs.map +1 -0
  93. package/dist/{chunk-SCLGUHLU.cjs → chunk-E7TGSOPR.cjs} +4 -4
  94. package/dist/{chunk-SCLGUHLU.cjs.map → chunk-E7TGSOPR.cjs.map} +1 -1
  95. package/dist/{chunk-CRLFLMTK.cjs → chunk-EOXA4VJH.cjs} +3 -3
  96. package/dist/{chunk-CRLFLMTK.cjs.map → chunk-EOXA4VJH.cjs.map} +1 -1
  97. package/dist/{chunk-DBKZANTC.js → chunk-GA47YVW5.js} +3 -3
  98. package/dist/{chunk-DBKZANTC.js.map → chunk-GA47YVW5.js.map} +1 -1
  99. package/dist/{chunk-RCZRI72J.cjs → chunk-GMODJT4N.cjs} +4 -4
  100. package/dist/{chunk-RCZRI72J.cjs.map → chunk-GMODJT4N.cjs.map} +1 -1
  101. package/dist/{chunk-22KAKJ3W.cjs → chunk-GS5MFUPC.cjs} +4 -4
  102. package/dist/{chunk-22KAKJ3W.cjs.map → chunk-GS5MFUPC.cjs.map} +1 -1
  103. package/dist/{chunk-62OMGQHS.js → chunk-H6W3VXHU.js} +3 -3
  104. package/dist/{chunk-62OMGQHS.js.map → chunk-H6W3VXHU.js.map} +1 -1
  105. package/dist/{chunk-DX3Z2COD.cjs → chunk-HUYKO2ES.cjs} +3 -3
  106. package/dist/{chunk-DX3Z2COD.cjs.map → chunk-HUYKO2ES.cjs.map} +1 -1
  107. package/dist/{chunk-U5F5P4YU.js → chunk-IK234EFX.js} +12 -12
  108. package/dist/{chunk-U5F5P4YU.js.map → chunk-IK234EFX.js.map} +1 -1
  109. package/dist/{chunk-UQ2OBHMV.js → chunk-JUGEFTRC.js} +1010 -1010
  110. package/dist/chunk-JUGEFTRC.js.map +1 -0
  111. package/dist/{chunk-CHQMVIHR.js → chunk-LPGBRMYS.js} +36 -36
  112. package/dist/chunk-LPGBRMYS.js.map +1 -0
  113. package/dist/{chunk-D35EHOK5.cjs → chunk-M23W7IID.cjs} +12 -12
  114. package/dist/chunk-M23W7IID.cjs.map +1 -0
  115. package/dist/{chunk-FPOKWML2.js → chunk-MIVNNQO3.js} +21 -4
  116. package/dist/chunk-MIVNNQO3.js.map +1 -0
  117. package/dist/{chunk-WI3BVKEC.cjs → chunk-MNFI66H5.cjs} +5 -5
  118. package/dist/{chunk-WI3BVKEC.cjs.map → chunk-MNFI66H5.cjs.map} +1 -1
  119. package/dist/{chunk-T5ZMG6MC.js → chunk-NF4M7PUB.js} +3 -3
  120. package/dist/{chunk-T5ZMG6MC.js.map → chunk-NF4M7PUB.js.map} +1 -1
  121. package/dist/{chunk-ZNY5W3VX.js → chunk-NPSFPBIB.js} +3 -3
  122. package/dist/{chunk-ZNY5W3VX.js.map → chunk-NPSFPBIB.js.map} +1 -1
  123. package/dist/{chunk-LYW5A35J.js → chunk-OMIYTUVR.js} +12 -12
  124. package/dist/{chunk-LYW5A35J.js.map → chunk-OMIYTUVR.js.map} +1 -1
  125. package/dist/{chunk-ZMVF7EYJ.cjs → chunk-PBPO54KZ.cjs} +21 -3
  126. package/dist/chunk-PBPO54KZ.cjs.map +1 -0
  127. package/dist/{chunk-7V4OCZS6.cjs → chunk-RA3EGF6K.cjs} +6 -6
  128. package/dist/{chunk-7V4OCZS6.cjs.map → chunk-RA3EGF6K.cjs.map} +1 -1
  129. package/dist/{chunk-PL7O3RJJ.cjs → chunk-RKBAY7GZ.cjs} +3 -3
  130. package/dist/{chunk-PL7O3RJJ.cjs.map → chunk-RKBAY7GZ.cjs.map} +1 -1
  131. package/dist/{chunk-J3E5CSSC.js → chunk-RKFWBIKS.js} +3 -3
  132. package/dist/{chunk-J3E5CSSC.js.map → chunk-RKFWBIKS.js.map} +1 -1
  133. package/dist/{chunk-YLKHTBYA.js → chunk-RRP7MQAO.js} +3 -3
  134. package/dist/{chunk-YLKHTBYA.js.map → chunk-RRP7MQAO.js.map} +1 -1
  135. package/dist/{chunk-U6LQ6Z3P.cjs → chunk-SP3IKIPA.cjs} +6 -6
  136. package/dist/{chunk-U6LQ6Z3P.cjs.map → chunk-SP3IKIPA.cjs.map} +1 -1
  137. package/dist/{chunk-GX75YCWJ.cjs → chunk-SQUOXOY3.cjs} +560 -560
  138. package/dist/chunk-SQUOXOY3.cjs.map +1 -0
  139. package/dist/{chunk-6ZYOUT73.js → chunk-T5LORFHL.js} +7 -7
  140. package/dist/{chunk-6ZYOUT73.js.map → chunk-T5LORFHL.js.map} +1 -1
  141. package/dist/{chunk-45OU2UAA.cjs → chunk-TEMTKBBL.cjs} +10 -10
  142. package/dist/{chunk-45OU2UAA.cjs.map → chunk-TEMTKBBL.cjs.map} +1 -1
  143. package/dist/{chunk-PHDUN4SG.cjs → chunk-THCMGAFX.cjs} +41 -41
  144. package/dist/{chunk-PHDUN4SG.cjs.map → chunk-THCMGAFX.cjs.map} +1 -1
  145. package/dist/{chunk-HTGEAQOA.js → chunk-TOMDMKOD.js} +7 -7
  146. package/dist/{chunk-HTGEAQOA.js.map → chunk-TOMDMKOD.js.map} +1 -1
  147. package/dist/{chunk-WJHRWXWJ.js → chunk-TXIAF4PX.js} +3 -3
  148. package/dist/{chunk-WJHRWXWJ.js.map → chunk-TXIAF4PX.js.map} +1 -1
  149. package/dist/{chunk-6M5NAAWX.js → chunk-UCSEE52D.js} +3 -3
  150. package/dist/{chunk-6M5NAAWX.js.map → chunk-UCSEE52D.js.map} +1 -1
  151. package/dist/{chunk-I7CJDF3V.cjs → chunk-UHMP6S7M.cjs} +104 -103
  152. package/dist/chunk-UHMP6S7M.cjs.map +1 -0
  153. package/dist/{chunk-PGCKTXYH.js → chunk-UHUI6A36.js} +3 -3
  154. package/dist/{chunk-PGCKTXYH.js.map → chunk-UHUI6A36.js.map} +1 -1
  155. package/dist/{chunk-6KQVTMRL.cjs → chunk-UOGXKHTJ.cjs} +3 -3
  156. package/dist/{chunk-6KQVTMRL.cjs.map → chunk-UOGXKHTJ.cjs.map} +1 -1
  157. package/dist/{chunk-7S7YVBFK.js → chunk-VDSDG4FR.js} +3 -3
  158. package/dist/{chunk-7S7YVBFK.js.map → chunk-VDSDG4FR.js.map} +1 -1
  159. package/dist/{chunk-3GFQNJYE.js → chunk-VGWCHX6G.js} +104 -103
  160. package/dist/chunk-VGWCHX6G.js.map +1 -0
  161. package/dist/{chunk-VY3HTT37.js → chunk-VUH547VQ.js} +3 -3
  162. package/dist/{chunk-VY3HTT37.js.map → chunk-VUH547VQ.js.map} +1 -1
  163. package/dist/{chunk-AZCMKGDG.js → chunk-W37PFYFL.js} +4 -4
  164. package/dist/{chunk-AZCMKGDG.js.map → chunk-W37PFYFL.js.map} +1 -1
  165. package/dist/{chunk-JGUM4EXE.cjs → chunk-W3IX3GZS.cjs} +8 -8
  166. package/dist/{chunk-JGUM4EXE.cjs.map → chunk-W3IX3GZS.cjs.map} +1 -1
  167. package/dist/{chunk-UCA4JLLJ.cjs → chunk-X7GT57KW.cjs} +3 -3
  168. package/dist/{chunk-UCA4JLLJ.cjs.map → chunk-X7GT57KW.cjs.map} +1 -1
  169. package/dist/{chunk-IXL2KJOZ.cjs → chunk-XBEGD33U.cjs} +40 -40
  170. package/dist/{chunk-IXL2KJOZ.cjs.map → chunk-XBEGD33U.cjs.map} +1 -1
  171. package/dist/{chunk-FDNIK5YS.cjs → chunk-XBKIFGBB.cjs} +8 -8
  172. package/dist/{chunk-FDNIK5YS.cjs.map → chunk-XBKIFGBB.cjs.map} +1 -1
  173. package/dist/{chunk-HZE5MHQO.js → chunk-XT7HKQ4H.js} +3 -3
  174. package/dist/{chunk-HZE5MHQO.js.map → chunk-XT7HKQ4H.js.map} +1 -1
  175. package/dist/{chunk-M3OK6KGR.js → chunk-ZGQKED5T.js} +3 -3
  176. package/dist/{chunk-M3OK6KGR.js.map → chunk-ZGQKED5T.js.map} +1 -1
  177. package/dist/{chunk-NWBCZ4PA.js → chunk-ZKBYG6MN.js} +4 -4
  178. package/dist/{chunk-NWBCZ4PA.js.map → chunk-ZKBYG6MN.js.map} +1 -1
  179. package/dist/collaboration/index.cjs +1 -1
  180. package/dist/collaboration/index.js +1 -1
  181. package/dist/connect/docx.cjs +19 -19
  182. package/dist/connect/docx.js +15 -15
  183. package/dist/connect/index.cjs +762 -762
  184. package/dist/connect/index.js +63 -63
  185. package/dist/connect/viewer.cjs +14 -14
  186. package/dist/connect/viewer.js +13 -13
  187. package/dist/connection/dashboards/ConnectedDashboardsPage.d.ts +6 -0
  188. package/dist/dashboards/chartModel.d.ts +12 -0
  189. package/dist/dashboards/index.cjs +113 -42
  190. package/dist/dashboards/index.cjs.map +1 -1
  191. package/dist/dashboards/index.js +95 -24
  192. package/dist/dashboards/index.js.map +1 -1
  193. package/dist/embed/index.cjs +29 -29
  194. package/dist/embed/index.js +23 -23
  195. package/dist/facts/index.cjs +43 -43
  196. package/dist/facts/index.js +2 -2
  197. package/dist/files/index.cjs +1 -1
  198. package/dist/files/index.js +1 -1
  199. package/dist/home/index.cjs +31 -31
  200. package/dist/home/index.js +3 -3
  201. package/dist/index.cjs +383 -383
  202. package/dist/index.js +21 -21
  203. package/dist/settings/index.cjs +153 -153
  204. package/dist/settings/index.js +4 -4
  205. package/dist/shell/index.cjs +36 -36
  206. package/dist/shell/index.js +4 -4
  207. package/dist/site/index.cjs +5 -5
  208. package/dist/site/index.js +1 -1
  209. package/dist/studio/index.cjs +19 -19
  210. package/dist/studio/index.js +14 -14
  211. package/dist/styles.css +1 -1
  212. package/dist/workflow-canvas/index.cjs +33 -33
  213. package/dist/workflow-canvas/index.js +22 -22
  214. package/node_modules/@arbidocs/coedit/package.json +2 -2
  215. package/node_modules/@docx-editor.dev/core/dist/automation.cjs +1 -1
  216. package/node_modules/@docx-editor.dev/core/dist/automation.d.ts +60 -13
  217. package/node_modules/@docx-editor.dev/core/dist/automation.js +1 -1
  218. package/node_modules/@docx-editor.dev/core/dist/binding.cjs +1 -1
  219. package/node_modules/@docx-editor.dev/core/dist/binding.d.ts +21 -13
  220. package/node_modules/@docx-editor.dev/core/dist/binding.js +1 -1
  221. package/node_modules/@docx-editor.dev/core/dist/{index-Bsg7oIKP.d.ts → chrome-print-CAs51cpq.d.ts} +31 -21
  222. package/node_modules/@docx-editor.dev/core/dist/{chunk-VDNNLG6X.js → chunk-236O4YQW.js} +1 -1
  223. package/node_modules/@docx-editor.dev/core/dist/chunk-4HENIAFG.js +1 -0
  224. package/node_modules/@docx-editor.dev/core/dist/{chunk-SRPILEWV.cjs → chunk-6JPL6ZAS.cjs} +5 -5
  225. package/node_modules/@docx-editor.dev/core/dist/{chunk-2RC2EPND.js → chunk-6ZQP4HQ7.js} +1 -1
  226. package/node_modules/@docx-editor.dev/core/dist/{chunk-ZUHOMK52.cjs → chunk-7WQ7AAHW.cjs} +1 -1
  227. package/node_modules/@docx-editor.dev/core/dist/{chunk-Z6WBFXJU.js → chunk-BCXH4BXB.js} +3 -3
  228. package/node_modules/@docx-editor.dev/core/dist/{chunk-QMLCVPCD.cjs → chunk-BY2ACZZ6.cjs} +1 -1
  229. package/node_modules/@docx-editor.dev/core/dist/chunk-CAJEXXVG.cjs +4 -0
  230. package/node_modules/@docx-editor.dev/core/dist/chunk-CPWLFPWC.js +30 -0
  231. package/node_modules/@docx-editor.dev/core/dist/{chunk-6APGXLBB.cjs → chunk-D7ZMDMPX.cjs} +2 -2
  232. package/node_modules/@docx-editor.dev/core/dist/chunk-DOHF6FA7.cjs +30 -0
  233. package/node_modules/@docx-editor.dev/core/dist/chunk-DVX32P2P.js +27 -0
  234. package/node_modules/@docx-editor.dev/core/dist/{chunk-6EYYL7FL.js → chunk-E4LOMDNL.js} +1 -1
  235. package/node_modules/@docx-editor.dev/core/dist/chunk-EKLM7NWB.cjs +7 -0
  236. package/node_modules/@docx-editor.dev/core/dist/chunk-G3K63G7P.cjs +27 -0
  237. package/node_modules/@docx-editor.dev/core/dist/{chunk-5CSUYANV.js → chunk-G4HOFIKJ.js} +1 -1
  238. package/node_modules/@docx-editor.dev/core/dist/{chunk-K5U2PLDP.cjs → chunk-JLVBDYVQ.cjs} +1 -1
  239. package/node_modules/@docx-editor.dev/core/dist/chunk-LQX36Z5P.js +7 -0
  240. package/node_modules/@docx-editor.dev/core/dist/{chunk-TSLBZ26X.js → chunk-LSZ6KPKK.js} +1 -1
  241. package/node_modules/@docx-editor.dev/core/dist/{chunk-O2AL2HSJ.cjs → chunk-MM5QBMTE.cjs} +1 -1
  242. package/node_modules/@docx-editor.dev/core/dist/{chunk-ETTO6GK3.js → chunk-OMCG63ZF.js} +1 -1
  243. package/node_modules/@docx-editor.dev/core/dist/chunk-OSFOJTHU.cjs +18 -0
  244. package/node_modules/@docx-editor.dev/core/dist/{chunk-E7BQA6UP.js → chunk-RCLZXP3B.js} +1 -1
  245. package/node_modules/@docx-editor.dev/core/dist/chunk-T6K2QYNZ.cjs +2 -0
  246. package/node_modules/@docx-editor.dev/core/dist/chunk-TRGAVV2Y.js +4 -0
  247. package/node_modules/@docx-editor.dev/core/dist/chunk-U4JZVSOE.js +2 -0
  248. package/node_modules/@docx-editor.dev/core/dist/{chunk-2GO5T2JU.cjs → chunk-UHHYFIDT.cjs} +1 -1
  249. package/node_modules/@docx-editor.dev/core/dist/chunk-V3N4SOAK.cjs +1 -0
  250. package/node_modules/@docx-editor.dev/core/dist/{chunk-6AWEKBLB.cjs → chunk-W35WTWAO.cjs} +1 -1
  251. package/node_modules/@docx-editor.dev/core/dist/chunk-YQ5G6LC7.js +18 -0
  252. package/node_modules/@docx-editor.dev/core/dist/collaboration/replication.cjs +1 -1
  253. package/node_modules/@docx-editor.dev/core/dist/collaboration/replication.d.ts +5 -5
  254. package/node_modules/@docx-editor.dev/core/dist/collaboration/replication.js +1 -1
  255. package/node_modules/@docx-editor.dev/core/dist/collaboration.d.ts +4 -4
  256. package/node_modules/@docx-editor.dev/core/dist/contracts/document.d.ts +3 -3
  257. package/node_modules/@docx-editor.dev/core/dist/contracts/editor.d.ts +9 -10
  258. package/node_modules/@docx-editor.dev/core/dist/contracts/interaction.d.ts +2 -2
  259. package/node_modules/@docx-editor.dev/core/dist/contracts/modules.cjs +1 -1
  260. package/node_modules/@docx-editor.dev/core/dist/contracts/modules.d.ts +33 -9
  261. package/node_modules/@docx-editor.dev/core/dist/contracts/modules.js +1 -1
  262. package/node_modules/@docx-editor.dev/core/dist/contracts/types.d.ts +2 -2
  263. package/node_modules/@docx-editor.dev/core/dist/{custom-node-writes-cvL5rhcD.d.ts → custom-node-writes-Bn6uciLb.d.ts} +2 -2
  264. package/node_modules/@docx-editor.dev/core/dist/diagnostic-context-B8M79cfK.d.ts +30 -0
  265. package/node_modules/@docx-editor.dev/core/dist/diagnostic-hints-BeVjfNOv.d.ts +113 -0
  266. package/node_modules/@docx-editor.dev/core/dist/{document-protection-BAGVGqaP.d.ts → document-protection-CUb55pl_.d.ts} +2 -2
  267. package/node_modules/@docx-editor.dev/core/dist/{editor-Ci7IZGmG.d.ts → editor-CZQZmTIU.d.ts} +386 -9
  268. package/node_modules/@docx-editor.dev/core/dist/{editor-scope-OHPwVQ5l.d.ts → editor-scope-7o9xweiJ.d.ts} +1 -1
  269. package/node_modules/@docx-editor.dev/core/dist/editor.cjs +1 -1
  270. package/node_modules/@docx-editor.dev/core/dist/editor.d.ts +54 -33
  271. package/node_modules/@docx-editor.dev/core/dist/editor.js +1 -1
  272. package/node_modules/@docx-editor.dev/core/dist/export.cjs +2 -2
  273. package/node_modules/@docx-editor.dev/core/dist/export.d.ts +13 -14
  274. package/node_modules/@docx-editor.dev/core/dist/export.js +1 -1
  275. package/node_modules/@docx-editor.dev/core/dist/{font-resolver-BVQB14qT.d.ts → font-resolver-lSBLirLR.d.ts} +3 -3
  276. package/node_modules/@docx-editor.dev/core/dist/{headless-document-view-qH331moE.d.ts → headless-document-view-pp3q7wIh.d.ts} +2 -2
  277. package/node_modules/@docx-editor.dev/core/dist/{image-resources-BN-hUgCn.d.ts → image-resources-tXLQShoC.d.ts} +2 -2
  278. package/node_modules/@docx-editor.dev/core/dist/index.cjs +1 -1
  279. package/node_modules/@docx-editor.dev/core/dist/index.d.ts +65 -20
  280. package/node_modules/@docx-editor.dev/core/dist/index.js +1 -1
  281. package/node_modules/@docx-editor.dev/core/dist/{layout-shaping-BEyuiQOk.d.ts → layout-shaping-BD-dF_rn.d.ts} +1 -1
  282. package/node_modules/@docx-editor.dev/core/dist/layout.cjs +1 -1
  283. package/node_modules/@docx-editor.dev/core/dist/layout.d.ts +17 -20
  284. package/node_modules/@docx-editor.dev/core/dist/layout.js +1 -1
  285. package/node_modules/@docx-editor.dev/core/dist/{note-properties-4Y9o6Gyk.d.ts → note-properties-qQUjO1GQ.d.ts} +3 -3
  286. package/node_modules/@docx-editor.dev/core/dist/{omml-equation-CuzBL5DD.d.ts → omml-equation-BUbU0utM.d.ts} +1 -1
  287. package/node_modules/@docx-editor.dev/core/dist/output.cjs +1 -1
  288. package/node_modules/@docx-editor.dev/core/dist/output.d.ts +8 -9
  289. package/node_modules/@docx-editor.dev/core/dist/output.js +1 -1
  290. package/node_modules/@docx-editor.dev/core/dist/{protocol-Bqk4Izjc.d.ts → protocol-DYzzz2ej.d.ts} +2 -2
  291. package/node_modules/@docx-editor.dev/core/dist/{review-paragraph-order-DT-n6ouC.d.ts → review-paragraph-order-CN_0l2Cb.d.ts} +1 -1
  292. package/node_modules/@docx-editor.dev/core/dist/{semantic-cell-selection-D9D1KSXq.d.ts → semantic-cell-selection-eYag3P47.d.ts} +4 -211
  293. package/node_modules/@docx-editor.dev/core/dist/{semantic-interaction-CIC-PooQ.d.ts → semantic-interaction-kR_QB845.d.ts} +1 -1
  294. package/node_modules/@docx-editor.dev/core/dist/{semantic-paint-BME37OMv.d.ts → semantic-paint-ZayFF3tD.d.ts} +17 -5
  295. package/node_modules/@docx-editor.dev/core/dist/{semantic-record-queries-CBlZqZNa.d.ts → semantic-record-queries-Bsgth6lv.d.ts} +1 -1
  296. package/node_modules/@docx-editor.dev/core/dist/{semantic-records-4B3WwFAi.d.ts → semantic-records-DQmumPgL.d.ts} +1279 -828
  297. package/node_modules/@docx-editor.dev/core/dist/store.cjs +1 -1
  298. package/node_modules/@docx-editor.dev/core/dist/store.d.ts +1466 -1464
  299. package/node_modules/@docx-editor.dev/core/dist/store.js +1 -1
  300. package/node_modules/@docx-editor.dev/core/dist/{tree-package-fragment-BeeKxDw8.d.ts → tree-package-store-CovjNARF.d.ts} +83 -83
  301. package/node_modules/@docx-editor.dev/core/dist/{tree-session-contract-CVbmlMlq.d.ts → tree-session-contract-CZVAGl51.d.ts} +6 -6
  302. package/node_modules/@docx-editor.dev/core/dist/{types-barrel-D3xCgQX6.d.ts → types-barrel-DuC5QBNC.d.ts} +548 -527
  303. package/node_modules/@docx-editor.dev/core/package.json +3 -3
  304. package/node_modules/@docx-editor.dev/react/dist/index.js +3 -3
  305. package/node_modules/@docx-editor.dev/react/dist/index.mjs +3 -3
  306. package/node_modules/@docx-editor.dev/react/package.json +4 -4
  307. package/package.json +8 -8
  308. package/dist/ConnectedStreamedWordArtifact-HLJ5IIOU.js.map +0 -1
  309. package/dist/ConnectedStreamedWordArtifact-JQ34AOUU.cjs.map +0 -1
  310. package/dist/RechartsRenderer-23OF4H6X.js.map +0 -1
  311. package/dist/RechartsRenderer-GIRCW7DB.cjs.map +0 -1
  312. package/dist/ai-ADS6YSS2.cjs.map +0 -1
  313. package/dist/ai-KHWTGBT5.js.map +0 -1
  314. package/dist/chunk-3GFQNJYE.js.map +0 -1
  315. package/dist/chunk-5AC52BHL.cjs.map +0 -1
  316. package/dist/chunk-AVGHTUPE.js.map +0 -1
  317. package/dist/chunk-BAUZUIHB.js.map +0 -1
  318. package/dist/chunk-CHQMVIHR.js.map +0 -1
  319. package/dist/chunk-D35EHOK5.cjs.map +0 -1
  320. package/dist/chunk-FPOKWML2.js.map +0 -1
  321. package/dist/chunk-GX75YCWJ.cjs.map +0 -1
  322. package/dist/chunk-I7CJDF3V.cjs.map +0 -1
  323. package/dist/chunk-OAIOOVFN.cjs.map +0 -1
  324. package/dist/chunk-UQ2OBHMV.js.map +0 -1
  325. package/dist/chunk-ZMVF7EYJ.cjs.map +0 -1
  326. package/node_modules/@docx-editor.dev/core/dist/chunk-4GBTELJV.cjs +0 -28
  327. package/node_modules/@docx-editor.dev/core/dist/chunk-4R3TEXMN.js +0 -18
  328. package/node_modules/@docx-editor.dev/core/dist/chunk-EO4C5QJW.cjs +0 -2
  329. package/node_modules/@docx-editor.dev/core/dist/chunk-FIJZIQXA.cjs +0 -18
  330. package/node_modules/@docx-editor.dev/core/dist/chunk-FRXAOVTB.js +0 -28
  331. package/node_modules/@docx-editor.dev/core/dist/chunk-J6BVWIDB.js +0 -2
  332. package/node_modules/@docx-editor.dev/core/dist/chunk-JGNVNT2A.cjs +0 -2
  333. package/node_modules/@docx-editor.dev/core/dist/chunk-KKIJG3C6.js +0 -2
  334. package/node_modules/@docx-editor.dev/core/dist/chunk-LWDSDCMO.js +0 -27
  335. package/node_modules/@docx-editor.dev/core/dist/chunk-NBCVVZOM.cjs +0 -1
  336. package/node_modules/@docx-editor.dev/core/dist/chunk-O5INAWZQ.js +0 -1
  337. package/node_modules/@docx-editor.dev/core/dist/chunk-RCHS4ZEH.cjs +0 -27
  338. package/node_modules/@docx-editor.dev/core/dist/chunk-VHAVHCQY.js +0 -7
  339. package/node_modules/@docx-editor.dev/core/dist/chunk-VX43VBAX.cjs +0 -7
  340. package/node_modules/@docx-editor.dev/core/dist/review-pane-D9jm8DcY.d.ts +0 -128
  341. package/node_modules/@docx-editor.dev/core/dist/revision-projection-DZ4kKVev.d.ts +0 -242
@@ -0,0 +1,7 @@
1
+ import {e}from'./chunk-E4LOMDNL.js';import {ec,hd as hd$1,id as id$1,ld as ld$1,kb,Ud as Ud$1,wc,lc,vc,mc,jd as jd$2,pb,sd as sd$2}from'./chunk-CPWLFPWC.js';import {b as b$1,c,a as a$1}from'./chunk-RCLZXP3B.js';import {T,ua,Ca,ma,ea,ca,da,ga,fa,va,U,V,X,W,sa as sa$1,aa,ba}from'./chunk-U4JZVSOE.js';import {b,a}from'./chunk-OMCG63ZF.js';import {Ta,hg,Bh,Lh,Qh,Ce,Eb,ef,ch,xc,Ac,yc,Hc,cf,bd as bd$1,Tg,ad as ad$1,sd as sd$1,gj,rd as rd$1,Ld as Ld$1,Qc,Lc,T as T$1,Ee as Ee$1,Hb,Jk,Ua,J as J$1,la,sa,ka,ia,Rc,wb,Zb,th,Na,Hg,g,ld as ld$2,jd as jd$1,ra,Vi as Vi$1,Sc,eg,cg,kh,bj,fj,cj,ej,dj,vk,lh,jg,bc,Xb,$b,xj,Ui as Ui$1,Gg,Bd as Bd$1,Ig,zd as zd$1,Fh,Dh,Sh,dg,nh,Oc,Zf,ag,fl as fl$1,Fe as Fe$1,Gk,Od as Od$1,fg,bl as bl$1,Yi as Yi$1,Pj,fk,wj,Wi as Wi$1,nk,kk,lk,_j,$h,ai as ai$1,Zh,gk,Nj,nd as nd$1,gg,wk,uk,mh,Ie,B,z,Je as Je$1,Vd as Vd$1,Ud as Ud$2,Me as Me$1,Ia,R,Ra,Za as Za$1,Xa as Xa$1,Pe,Oe as Oe$1,Ag,de,ie,we,te,xe as xe$1,ve as ve$1,_k,yf,S,Ng,yd as yd$1,md as md$1,kd as kd$1,dl as dl$1,ja,of,oa}from'./chunk-YQ5G6LC7.js';var _t=Object.freeze(["default","first","even"]);function go(e){return e.kind==="body"||e.kind==="header"||e.kind==="footer"}var Te=Object.freeze({kind:"body"});function G(e){switch(e.kind){case "body":return "body";case "note":return `note:${e.noteKind}:${String(e.noteId)}`;case "textbox":return `textbox:${G(e.owner)}:${String(e.shapeId)}`;default:return `${e.kind}:${String(e.sectionIndex)}:${e.variant}`}}function ho(e){if(typeof e!="object"||e===null)return false;let t=e;return t.kind==="body"?true:t.kind==="textbox"?ho(t.owner)&&go(t.owner)&&Number.isInteger(t.shapeId)&&t.shapeId>=0:t.kind==="note"?(t.noteKind==="footnote"||t.noteKind==="endnote")&&Number.isInteger(t.noteId):t.kind!=="header"&&t.kind!=="footer"?false:Number.isInteger(t.sectionIndex)&&t.sectionIndex>=0&&_t.includes(t.variant)}function at(e){return e.kind==="note"||e.kind==="textbox"}var za=["getTables","getTable","getTableRows","getTableCells","getTableCell","getTableCellProperties","getTableCellBody","getFields","getField","getInlinePictures","getInlinePicture","getShapes","getShape","getShapeBody","getChangeTrackingMode","getDocument","getDocumentProperty","getBody","getParagraphs","getRange","getSpanParagraphs","getText","getSpanText","getParagraphId","search","getFont","getParagraphFormat","getStyle","getSections","getPageSetup","getFurniture","getNotes","getNoteBody","getNoteText","getNoteKind","getLists","getListId","getListById","getListParagraphs","getParagraphList","getListLevel","getHyperlink","getBookmarks","getBookmarkName","getBookmarkRange","getComments","getCommentReplies","getCommentId","getCommentAuthor","getCommentDate","getCommentText","getCommentRange","getCommentResolved","getRevisions","getRevisionType","getRevisionAuthor","getRevisionDate","getRevisionRange","getContentControls","getContentControlById","getContentControlsByTag","getContentControlsByTitle","getContentControlTag","getContentControlTitle","getContentControlFileId","getContentControlSubtype","getContentControlLock","getContentControlIsBound","getContentControlPlaceholderShown","getContentControlTemporary","getContentControlText","getContentControlParagraphs","getContentControlRange"],yo=["removeDocumentInformation","setDocumentProperties","insertTableRows","insertTable","updateTable","updateTableCell","setInlinePicture","deleteInlinePicture","insertField","setFieldCode","deleteField","updateFieldResult","insertInlinePicture","insertBreak","setChangeTrackingMode","proposeInsertion","proposeDeletion","proposeReplacement","insertText","replaceSpan","replaceStoryBlocks","insertParagraph","splitParagraph","deleteParagraph","selectSpan","selectBookmark","setFont","setParagraphFormat","setStyle","setPageSetup","deleteNote","setListLevel","startNewList","attachToList","detachFromList","setListLevelFormat","insertListParagraph","setHyperlink","insertComment","setCommentResolved","replyToComment","deleteComment","acceptRevision","rejectRevision","resolveRevisionBatch","setRevisionAuthorBatch","acceptAllRevisions","rejectAllRevisions","setContentControlValue","setContentControlProperties","deleteContentControl","insertContentControlText","insertContentControl","insertCustomNode"],ko=["removeDocumentInformation","insertTableRows","resolveRevisionBatch","setRevisionAuthorBatch","insertTable","insertInlinePicture","insertBreak","startNewList","deleteNote","insertComment","setCommentResolved","replyToComment","insertCustomNode"],Sl=new Set(ko);function Ut(e){return Sl.has(e.op)&&!(e.op==="insertBreak"&&e.breakType==="Line")||e.op==="updateTable"&&["addRows","addColumns","deleteRows","deleteColumns","delete"].includes(e.mutation.kind)}var wl=new Set(yo);function _e(e){return wl.has(e.op)}var Cl="http://schemas.openxmlformats.org/drawingml/2006/picture",Tl="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",Nl="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",El=4096,Ll=65536;function Dl(e){return e&&e.kind!=="textValue"?e:null}function vn(e,t,n){return e.kind!=="textValue"&&e.namespaceUri===t&&e.localName===n}function it(e,t,n){return Dl(e.children.find(o=>vn(o,t,n)))}function Ml(e){let t=e.children.find(p=>p.kind==="anchoredDrawing"||p.kind==="inlineDrawing"||vn(p,sa,"anchor")||vn(p,sa,"inline"));if(!t||t.kind==="textValue")return null;let n=it(t,sa,"docPr"),o=n?ka(n.attributes,"id"):void 0;if(!n||o===void 0||!/^\d{1,10}$/.test(o)||Number(o)>4294967295)return "malformed";let r=ka(n.attributes,"name")??"",a=it(t,ra,"graphic"),s=a?it(a,ra,"graphicData"):null,u=s?ka(s.attributes,"uri"):void 0,d="Unsupported",c=null;if(s&&u===ia){let p=it(s,ia,"wsp"),m=p?it(p,ia,"txbx"):null;c=m?it(m,la,"txbxContent"):null;let k=p?it(p,ia,"cNvSpPr"):null,g=k?ka(k.attributes,"txBox"):void 0;d=p?g==="1"||g==="true"?"TextBox":"GeometricShape":"Unsupported";}else u===Cl?d="Picture":u===Tl?d="Group":u===Nl&&(d="Canvas");return {read:{id:Number(o),name:r,type:d},root:c}}function On(e,t){let n=[],o=new Set;for(let r of t){if(r.kind==="textValue")continue;let a=sd$1(gj(e,r),r),s=[];for(let d=r.children.length-1;d>=0;d-=1)s.push({node:r.children[d],scope:a});let u=0;for(;s.length>0;){if(++u>Ll)return {ok:false,reason:"truncated"};let{node:d,scope:c}=s.pop();if(d.kind==="textValue"||d.kind==="paragraph")continue;let p=sd$1(c,d),m=rd$1(d),k=d.kind==="drawing"||vn(d,la,"drawing")?d:m?Ld$1(d,p).drawing:null;if(!(m&&!k)){if(k){let g=Ml(k);if(g==="malformed")return {ok:false,reason:"malformed"};if(g){if(o.has(g.read.id))return {ok:false,reason:"duplicates"};if(n.length>=El)return {ok:false,reason:"truncated"};o.add(g.read.id),n.push({...g.read,hostParagraphId:r.id,textboxRoot:g.root,alternate:m?d:null});}continue}for(let g=d.children.length-1;g>=0;g-=1)s.push({node:d.children[g],scope:p});}}}return {ok:true,shapes:Object.freeze(n)}}var Hl=63360;function Ue(e){return Math.round(ld$2(jd$1(e))*100)/100}function Fl(e,t){if(typeof e!="number"||!Number.isFinite(e))return null;let n=md$1(kd$1(e));return n>Hl||n<0||n===0&&!t?null:n}var Bl=[["pageWidth","pageWidthTwips",false],["pageHeight","pageHeightTwips",false],["topMargin","marginTopTwips",true],["rightMargin","marginRightTwips",true],["bottomMargin","marginBottomTwips",true],["leftMargin","marginLeftTwips",true]];function Ka(e){if(typeof e!="object"||e===null)return {ok:false,reason:"that is not a page setup",detail:"not-an-object"};let t=e,n={},o=0;for(let[a,s,u]of Bl){let d=t[a];if(d===void 0)continue;let c=Fl(d,u);if(c===null)return {ok:false,reason:`that is not a value for ${a}`,detail:String(d)};n[s]=c,o+=1;}let r=t.orientation;if(r!==void 0){if(r!=="portrait"&&r!=="landscape")return {ok:false,reason:"that is not an orientation",detail:String(r)};n.orientation=r,o+=1;}return o===0?{ok:false,reason:"that page setup names nothing to write",detail:"empty"}:{ok:true,value:n}}function jl(e){let t=Jk(e),n=t.widthTwips>t.heightTwips?"landscape":"portrait";return Object.freeze({pageWidth:Ue(t.widthTwips),pageHeight:Ue(t.heightTwips),orientation:n,topMargin:Ue(t.topTwips),rightMargin:Ue(t.rightTwips),bottomMargin:Ue(t.bottomTwips),leftMargin:Ue(t.leftTwips),headerDistance:Ue(t.headerTwips),footerDistance:Ue(t.footerTwips),gutter:Ue(t.gutterTwips)})}function _l(e,t){if(!t)return null;let n=null,o=(r,a,s)=>{if(n!==null||r.kind==="textValue"||s>64)return;let u=r.kind==="paragraph"?r.id:a;if(r.id===t.id){n=u;return}for(let d of r.children)o(d,u,s+1);};return o(e.root,null,0),n}function Ga(e,t,n){let o=cf(t.root);return Object.freeze(o.map((r,a)=>{let s=n[a];return Object.freeze({index:a,markParagraphId:_l(t,r),pageSetup:jl(r),titlePage:s?.titlePage??false,evenAndOddHeaders:s?.evenAndOddHeaders??false})}))}var Xa=new WeakMap,Ul=0;function Vl(e){if(!e)return;let t=Xa.get(e);return t||(t={...e,cacheKey:`formatting-${++Ul}`},Xa.set(e,t)),t}function Pn(e){let t=new WeakMap;return (n,o,r,a)=>{let s=Vl(a),u=Ua(n,o.id),d;for(;u&&u.kind!=="table";){if(u.localName==="txbxContent")return;u.kind==="tableCell"&&(d=u.id),u=Ua(n,u.id);}if(!u||!d)return;let c=u,p=c.kind==="table"?c.children.find(k=>k.localName==="tblPr")??c:c,m=t.get(p);if(!m||m.table!==c||m.mode!==r||m.filter!==s){let k=new Map,g=Ud$1(u,1,0,e,r,s);for(let A of g?.rows??[])for(let v of A.cells)k.set(v.id,v.styleFormatting);m={table:c,mode:r,filter:s,cells:k},t.set(p,m);}return m.cells.get(d)}}var At={},Ya=new WeakMap;function $l(e,t){let n=e&&e.kind!=="textValue"?e.children.filter(r=>r.kind==="textValue"||r.localName!=="pStyle"):[];return {...e??{kind:"generic",id:"",localName:"pPr",attributes:[]},children:[{kind:"generic",id:"",namespaceUri:la,localName:"pStyle",prefix:"w",attributes:[{namespaceUri:la,localName:"val",prefix:"w",value:t}],children:[]},...n]}}function Wl(e){let t=hd$1(e.styles,void 0,e.settings),n=Pn(t),o=wc(lc(e.numbering),t);return (r,a,s,u)=>{let d=Bh(a,"paragraphProperties","pPr"),c=u===void 0?d:$l(d,u),p=vc(id$1(t,c).paragraphPropertyNodes),m=p?mc(o,p.numId,p.ilvl):null,k=jd$2(t,c,n(r,a,s),m?pb(m.level):void 0);return sd$2(k.inheritedParagraphProperties)}}function Ja(e,t,n,o,r){let a=Ya.get(e.styles??At);a||Ya.set(e.styles??At,a=new WeakMap);let s=a.get(e.settings??At);s||a.set(e.settings??At,s=new WeakMap);let u=s.get(e.numbering??At);return u||s.set(e.numbering??At,u=Wl(e)),u(t,n,o,r)}var zl=255,Kl="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering";function Gl(e){let t=(e.relationships.get(e.mainDocumentPart)??[]).find(o=>o.type===Kl),n;if(t){let o=J$1(t);o.mode==="Internal"&&o.target.ok&&(n=e.parts.get(o.target.partName));}return n??=e.parts.get("/word/numbering.xml"),n?.root??null}function Qa(e){let t=bd$1(e),n={styles:t?.root??null,settings:Tg(e)?.root??null,numbering:Gl(e)},o=(u,d,c)=>Ja(n,u,d,"proposed",c);if(!t)return Object.freeze({nameOf:()=>null,idOf:()=>null,defaultId:null,present:false,inheritsRtl:o});let r=new Map,a=new Map,s=null;for(let u of ad$1(t).values())if(u.type==="paragraph"){if(r.set(u.styleId,u.name),u.name!==null){let d=u.name.trim().toLowerCase();a.has(d)||a.set(d,u.styleId);}u.isDefault&&s===null&&(s=u.styleId);}return Object.freeze({nameOf:u=>r.get(u)??null,idOf:u=>a.get(u.trim().toLowerCase())??null,defaultId:s,present:true,inheritsRtl:o})}function Rn(e,t,n){let o=Ta(e,t);if(!o||o.kind!=="paragraph")return null;let r=Xl(eg(cg(o),"pStyle"));return r!==null?n.nameOf(r):n.defaultId===null?null:n.nameOf(n.defaultId)}function Xl(e){if(!e)return null;for(let t of e.attributes)if(t.localName==="val")return t.value;return null}function In(e,t){if(typeof e!="string"||e.trim().length===0)return {ok:false,detail:"style: not a name"};if(e.length>zl)return {ok:false,detail:"style: name too long"};if(!T$1(e))return {ok:false,detail:"style: not valid XML text"};if(!t.present)return {ok:false,detail:"style: this document defines no styles"};let n=t.idOf(e);return n===null?{ok:false,detail:"style: this document defines no paragraph style with that name"}:{ok:true,styleId:n}}function Za(e,t,n){return t>=n?null:{text:e.text.slice(t-e.rawStart,n-e.rawStart),rawStart:t,rawEnd:n,...e.symbol?{symbol:true}:{},...e.symbol&&e.symbolDisplays?{symbolDisplays:e.symbolDisplays}:{}}}function Yl(e,t){let n=[],o=0;for(let r of e){for(;o<t.length&&t[o].end<=r.rawStart;)o+=1;let a=r.rawEnd-r.rawStart;if(r.text.length!==a||r.resultRuns||r.symbolOffsets){let d=t[o];(!d||d.start>=r.rawEnd)&&n.push(r);continue}let s=r.rawStart;for(;o<t.length;){let d=t[o];if(d.end<=s){o+=1;continue}if(d.start>=r.rawEnd)break;let c=Za(r,s,Math.min(d.start,r.rawEnd));if(c&&n.push(c),s=Math.max(s,d.end),d.end<=r.rawEnd&&(o+=1),s>=r.rawEnd)break}let u=Za(r,s,r.rawEnd);u&&n.push(u);}return n}function xo(e,t){return t.map(n=>{if(!n.text.includes(`
2
+ `))return n;let r=n.text.length===n.rawEnd-n.rawStart&&!n.resultRuns?n.text.replaceAll(`
3
+ `,(a,s)=>e[n.rawStart+s]):n.text.replaceAll(`
4
+ `,kh);return {...n,text:r}})}function Sn(e,t,n){let o=Yi$1(e,t);if(n==="model")return b$1(o);let r=c(e,t,n);if(n==="allMarkup")return a$1(xo(o,r));let a=Jl(e);if(a.length===0)return a$1(xo(o,r));let s=Yl(r,a);return a$1(xo(o,s))}function Jl(e){let t=jg(e),n=[],o=(a,s)=>{if(!(s>64||a.kind==="textValue")){if(a.kind==="revisionInsert"||a.kind==="revisionMoveTo"){let u=t.spanOf(a);u&&u.end>u.start&&n.push({start:u.start,end:u.end});return}for(let u of a.children)o(u,s+1);}};o(e,0),n.sort((a,s)=>a.start-s.start||s.end-a.end);let r=[];for(let a of n){let s=r[r.length-1];s&&a.start<=s.end?s.end=Math.max(s.end,a.end):r.push({...a});}return r}var bo="\r",Ql=Object.freeze({nameOf:()=>null,idOf:()=>null,defaultId:null,present:false,inheritsRtl:()=>false}),Zl=Object.freeze([]),ql=Object.freeze([]),qa=Object.freeze([]),ei=Object.freeze({ok:true,shapes:[]}),ed=Object.freeze({package:null,body:null,story:()=>null,storyOf:()=>null,sections:()=>ql,furniture:()=>qa,noteIds:()=>({ok:true,ids:ti}),shapes:()=>ei,styles:()=>Ql});function td(e){return e.kind==="textValue"?Zl:Object.freeze(e.children.filter(t=>t.kind!=="textValue").map(t=>{let n=[];Sc([t],n,0);let o=t.kind==="paragraph"?"paragraph":t.kind==="table"?"table":"other",r=t.kind==="paragraph"&&eg(cg(t),"sectPr")!==void 0;return Object.freeze({id:t.id,kind:o,paragraphIds:Object.freeze(n.map(a=>a.id)),removable:o!=="other"&&!r})}))}function Vt(e,t,n,o,r){let a=Rc(o),s=Object.freeze(a.map(g=>g.id)),u=new Map,d=new Map;a.forEach((g,A)=>{u.set(g.id,A),d.set(g.id,g);});let c=new Map,p=g=>{if(!u.has(g))return null;let A=c.get(g);if(A!==void 0)return A;let v=Vi$1(t,g)??"";return c.set(g,v),v},m=new Map,k=(g,A="allMarkup")=>{let v=d.get(g);if(!v||v.kind!=="paragraph")return null;let R=`${g}:${A}`,w=m.get(R);if(w)return w;let O=Sn(v,p(g)??"",A);return m.set(R,O),O};return {story:e,part:t,root:o,scope:n,paragraphIds:s,blocks:td(o),has:g=>u.has(g),indexOf:g=>u.get(g)??-1,paragraph(g){let A=d.get(g);return A?{nodeId:g,paraId:wb(A),text:k(g)?.text??""}:null},node:g=>d.get(g)??null,rawText:p,paragraphText:(g,A)=>k(g,A)?.text??null,projectedText:k,text:g=>s.map(A=>k(A,g)?.text??"").join(bo),styles:r}}function wn(e,t){let n=Vt(e.story,e.part,e.scope,t,e.styles);return {...n,indexOf:o=>n.has(o)?e.indexOf(o):-1}}function Je(e){let t=e.parts.get(e.mainDocumentPart);if(!t)return ed;let n,o=()=>n??=Qa(e),r,a=()=>r??=ef(e),s,u=new Map,d=new Map,c=new Map,p=O=>{let M=G(O),D=c.get(M);if(D)return D;let N=v(O),E=N?N.paragraphIds.flatMap(_=>{let K=N.node(_);return K?[K]:[]}):[],I=N?On(N.part,E):ei;return c.set(M,I),I},m=O=>{let M=d.get(O);if(M)return M;let D=ch(e,O);if(!D){let z={ok:true,ids:ti};return d.set(O,z),z}let N=[],E=new Set,I=new Set,_=0,K=false;for(let z of D.root.children){if(xc(z)!==O)continue;if(_+=1,z.kind!=="note"){K=true;continue}if(!Ac(z))continue;let Z=yc(z);if(Z===null){K=true;continue}E.has(Z)?I.add(Z):(E.add(Z),N.push(Z));}let W=_>Hc?{ok:false,reason:"truncated"}:K?{ok:false,reason:"malformed"}:I.size>0?{ok:false,reason:"duplicates",duplicateIds:Object.freeze([...I])}:{ok:true,ids:Object.freeze(N)};return d.set(O,W),W},k=O=>{let M=a()[O.sectionIndex];return M?(O.kind==="header"?M.headers:M.footers).get(O.variant)??null:null},g=O=>{if(O.kind==="body"){let D=Qc(t);return D?Vt(O,t,{kind:"body"},D,o):null}if(O.kind==="note"){let D=m(O.noteKind);if(!D.ok||!D.ids.includes(O.noteId))return null;let N=ch(e,O.noteKind);if(!N)return null;let E=Lc(N.root,O.noteId);return !E||!Ac(E)?null:Vt(O,N,{kind:"notesPart",noteKind:O.noteKind},E,o)}if(O.kind==="textbox"){let D=A(O.owner),N=p(O.owner);if(!D||!N.ok)return null;let E=N.shapes.find(I=>I.id===O.shapeId);return E?.textboxRoot?Vt(O,D.part,D.scope,E.textboxRoot,o):null}let M=k(O);return M?Vt(O,M.part,{kind:"headerFooter",rId:M.rId},M.part.root,o):null},A=O=>v(O),v=O=>{let M=G(O);if(u.has(M))return u.get(M)??null;let D=g(O);return u.set(M,D),D},R=(O,M)=>{let D=p(O);if(!D.ok)return null;for(let N of D.shapes){if(!N.textboxRoot)continue;let E={kind:"textbox",owner:O,shapeId:N.id};if(v(E)?.has(M))return E}return null};return {package:e,get body(){return v(Te)},story:v,storyOf:O=>{if(v(Te)?.has(O))return Te;let D=[{kind:"body"}];for(let[N]of a().entries())for(let E of ["header","footer"])for(let I of _t){let _={kind:E,sectionIndex:N,variant:I};if(v(_)){if(v(_).has(O))return _;D.push(_);}}for(let N of ["footnote","endnote"]){let E=m(N);if(E.ok)for(let I of E.ids){let _={kind:"note",noteKind:N,noteId:I};if(v(_)?.has(O))return _}}for(let N of D){let E=R(N,O);if(E)return E}return null},sections:()=>s??=Ga(e,t,a()),furniture(O){let M=a()[O];if(!M)return qa;let D=[];for(let N of ["header","footer"]){let E=N==="header"?M.headers:M.footers;for(let I of _t){let _=E.get(I);_&&D.push(Object.freeze({kind:N,variant:I,declared:!_.inherited}));}}return Object.freeze(D)},noteIds:m,shapes:p,styles:o}}var ti=Object.freeze([]);function ni(e){let t=[];for(let n of e.pages){let o=n.pageFieldSource?.pageNumber??n.index+1,r=ec(o,n.pageFieldSource?.format),a=s=>{for(let u of s)if(u.kind==="paragraph")for(let d of u.lines)t.push({...d.range,pageNumber:o,pageNumberText:r});else for(let d of u.rows)for(let c of d.cells)a(c.blocks);};a(n.fragments),n.header&&a(n.header.fragments),n.footer&&a(n.footer.fragments);for(let s of n.footnotes?.notes??[])a(s.fragments);for(let s of n.endnotes?.notes??[])a(s.fragments);}return {pageCount:e.pages.length,ranges:t}}function oi(e,t,n,o){if(!e||!Number.isInteger(e.pageCount)||e.pageCount<1)return null;let r=Ta(t,n);if(!r||r.kind!=="paragraph")return null;let a=hg(r).find(u=>u.node.id===o);if(!a)return null;let s=e.ranges.find(u=>u.paragraphId===n&&u.start<=a.start&&u.end>a.start);return !s||!Number.isInteger(s.pageNumber)||s.pageNumber<1?null:{pageNumber:s.pageNumber,pageNumberText:s.pageNumberText,pageCount:e.pageCount}}function nd(e$1){return async t=>{let n=e(t,{measurer:e$1.measurer,producer:e$1.producer,displayMode:"proposed"});if(!n.ok)throw new Error("field pagination could not open the document");try{return ni(await n.session.layout())}finally{n.session.dispose();}}}function ri(e,t,n){let o=(r,a)=>({state:n,step:{ok:false,error:{code:"unsupported-capability",message:r,detail:a}}});return e.op==="getChangeTrackingMode"||e.op==="setChangeTrackingMode"?t?e.op==="getChangeTrackingMode"?{state:n,step:{ok:true,kind:"query",value:{kind:"text",text:n.mode}}}:e.mode!=="Off"&&e.mode!=="TrackMineOnly"?o("TrackAll requires shared tracking enforcement for every peer and is not supported","change-tracking-mode-unsupported"):e.mode==="TrackMineOnly"&&(typeof e.author!="string"||!e.author.trim()||!T$1(e.author))?o("TrackMineOnly requires a non-empty XML-safe runtime author","change-tracking-author-required"):{state:{mode:e.mode,...e.mode==="TrackMineOnly"?{author:e.author.trim()}:{}},step:{ok:true,kind:"query",value:{kind:"applied"}}}:o("this host does not support runtime-local change tracking","change-tracking-unsupported-host"):n.mode==="Off"||Ao(e)?null:o(`${e.op} does not support TrackMineOnly; no permanent edit was applied`,"change-tracking-operation-unsupported")}function Ao(e){return !_e(e)||e.op==="setChangeTrackingMode"||e.op==="insertText"?true:e.op==="insertBreak"?e.breakType==="Line"&&!(e.location==="Replace"&&"body"in e.span):e.op==="insertTable"||e.op==="insertTableRows"||e.op==="updateTable"||e.op==="updateTableCell"||e.op==="replaceSpan"&&!("body"in e.span)||e.op==="deleteParagraph"?true:["insertContentControl","setContentControlProperties","startNewList","setListLevelFormat","attachToList","detachFromList","setListLevel","insertParagraph","setFont","setStyle","setParagraphFormat","proposeInsertion","proposeDeletion","proposeReplacement","insertComment","replyToComment","deleteComment","setCommentResolved","acceptRevision","rejectRevision","resolveRevisionBatch","setRevisionAuthorBatch","acceptAllRevisions","rejectAllRevisions","selectSpan","selectBookmark"].includes(e.op)}function ai(e,t,n){if(!n||!["setFont","setStyle","setParagraphFormat","insertParagraph","attachToList","detachFromList","setListLevel"].includes(e.op)||!t.ok||t.kind!=="command")return t;let o={author:n,date:new Date().toISOString()};return {...t,ops:t.ops.map(r=>{if(r.op==="insertText")return {...r,revision:o};if(r.op==="splitParagraph")return {op:"splitParagraphMany",paragraphId:r.paragraphId,offsets:[r.offset],revision:o};if(r.op==="setRunProperties"||r.op==="setParagraphProperties"||r.op==="setParagraphMarkProperties"||r.op==="setListNumbering"||r.op==="setListLevel")return {...r,revision:o};throw new Error("Formatting plan contains an operation without property revision support")})}}function od(){let e=globalThis.crypto,t=e?.getRandomValues;if(typeof t!="function")throw new Error("automation: no secure random source. globalThis.crypto.getRandomValues is required to scope document handles to one host.");let n=t.call(e,new Uint8Array(16)),o="";for(let r of n)o+=r.toString(16).padStart(2,"0");return o}function rd(e){return typeof e=="object"&&e!==null&&"kind"in e&&"ref"in e}function ii(){let e=new Map,t=new Map,n=new Map,o=new Map,r=od(),a=null,s=(d,c)=>{let p=(o.get(d)??0)+1;o.set(d,p);let m=`${d}:${r}:${String(p)}`;return e.set(m,c),Object.freeze({kind:d,ref:m})},u=(d,c,p)=>{let m=`${d}\0${c}`,k=n.get(m);if(k)return Object.freeze({kind:d,ref:k});let g=s(d,p);return n.set(m,g.ref),g};return {document(){return a??=s("document",{kind:"document"}),a},body(d,c){return u("body",`${G(d)}:${c??""}`,{kind:"body",story:d,...c?{rootNodeId:c}:{}})},table(d,c){return u("table",`${G(c)}:${d}`,{kind:"table",nodeId:d,story:c})},tableRow(d,c){return u("tableRow",`${G(c)}:${d}`,{kind:"tableRow",nodeId:d,story:c})},tableCell(d,c){return u("tableCell",`${G(c)}:${d}`,{kind:"tableCell",nodeId:d,story:c})},field(d,c,p){return u("field",`${G(p)}:${c}`,{kind:"field",paragraphId:d,fieldNodeId:c,story:p})},inlinePicture(d,c){return u("inlinePicture",`${G(c)}:${d}`,{kind:"inlinePicture",drawingNodeId:d,story:c})},shape(d,c){return u("shape",`${G(c)}:${String(d)}`,{kind:"shape",shapeId:d,owner:c})},paragraph(d,c){let p=t.get(d);if(p)return Object.freeze({kind:"paragraph",ref:p});let m=s("paragraph",{kind:"paragraph",paragraphId:d,story:c});return t.set(d,m.ref),m},section(d){return u("section",String(d),{kind:"section",index:d})},note(d,c){return u("note",`${d}:${String(c)}`,{kind:"note",noteKind:d,noteId:c})},comment(d,c){return u("comment",`${G(c)}\0${d}`,{kind:"comment",commentId:d,story:c})},revision(d,c){return u("revision",`${G(c)}\0${d}`,{kind:"revision",revisionId:d,story:c})},bookmark(d,c){return u("bookmark",`${G(c)}\0${d}`,{kind:"bookmark",name:d,story:c})},list(d,c){return u("list",`${G(c)}\0${d}`,{kind:"list",numId:d,story:c})},contentControl(d,c){return u("contentControl",`${G(c)}\0${d}`,{kind:"contentControl",nodeId:d,story:c})},retargetRevisions(d,c){let p=k=>`revision\0${G(d)}\0${k}`,m=c.flatMap(({from:k,to:g})=>{let A=k===g?void 0:n.get(p(k));return A?[{ref:A,from:k,to:g}]:[]});for(let{from:k}of m)n.delete(p(k));for(let{ref:k,to:g}of m)n.has(p(g))||(n.set(p(g),k),e.set(k,{kind:"revision",revisionId:g,story:d}));},retarget(d,c){let p=t.get(d);if(!p||d===c)return;let m=e.get(p);!m||m.kind!=="paragraph"||(t.delete(d),e.set(p,{kind:"paragraph",paragraphId:c,story:m.story}),t.has(c)||t.set(c,p));},resolve(d,c){if(!rd(d)||d.kind!==c||typeof d.ref!="string")return null;let p=e.get(d.ref);return !p||p.kind!==c?null:p}}}function Ne(e,t){return {ok:false,code:e,detail:t}}function Ee(e){return {ok:true,value:e}}function ue(e,t,n,o){let r=n.resolve(e,t);if(!r||r.kind!=="body"&&r.kind!=="paragraph")return Ne("invalid-handle",`not-a-${t}-handle`);let a=o.story(r.story);if(!a)return Ne("invalid-handle",`no-such-story:${G(r.story)}`);if(r.kind==="body"&&r.rootNodeId){let s=Ta(a.part,r.rootNodeId);return !s||s.kind!=="tableCell"?Ne("invalid-handle","cell no longer exists"):Ee(wn(a,s))}return Ee(a)}function ce(e,t,n){let o=t.resolve(e,"paragraph");if(!o||o.kind!=="paragraph")return Ne("invalid-handle","not-a-paragraph-handle");let r=n.story(o.story);if(!r)return Ne("invalid-handle",`no-such-story:${G(o.story)}`);let a=r.indexOf(o.paragraphId);return a<0?Ne("invalid-handle","paragraph-not-in-body"):Ee({story:o.story,paragraphId:o.paragraphId,index:a,offset:0})}function ad(e,t,n){let o=ce(e.paragraph,t,n);if(!o.ok)return o;let a=(n.story(o.value.story)?.rawText(o.value.paragraphId)??"").length,{offset:s}=e;return !Number.isInteger(s)||s<0||s>a?Ne("invalid-offset",`offset ${String(s)} outside 0..${String(a)}`):Ee({...o.value,offset:s})}function vt(e,t,n){if("paragraph"in e){if(!("at"in e))return ad(e,t,n);let u=ce(e.paragraph,t,n);if(!u.ok||e.at==="start")return u;let c=(n.story(u.value.story)?.rawText(u.value.paragraphId)??"").length;return Ee({...u.value,offset:c})}let o=ue(e.body,"body",t,n);if(!o.ok)return o;let r=o.value.paragraphIds;if(r.length===0)return Ne("invalid-offset","empty-story");if(e.at==="start")return Ee({story:o.value.story,paragraphId:r[0],index:o.value.indexOf(r[0]),offset:0});let a=r.length-1,s=r[a];return Ee({story:o.value.story,paragraphId:s,index:o.value.indexOf(s),offset:(o.value.rawText(s)??"").length})}function id(e,t){return e.index<t.index||e.index===t.index&&e.offset<=t.offset}function sd(e){let t=e.paragraphIds;if(t.length===0)return null;let n=t.length-1,o=t[n];return {start:{story:e.story,paragraphId:t[0],index:e.indexOf(t[0]),offset:0},end:{story:e.story,paragraphId:o,index:e.indexOf(o),offset:(e.rawText(o)??"").length}}}function J(e,t,n){if("body"in e){let a=ue(e.body,"body",t,n);return a.ok?Ee(sd(a.value)):a}if("paragraph"in e){let a=ce(e.paragraph,t,n);if(!a.ok)return a;let u=(n.story(a.value.story)?.rawText(a.value.paragraphId)??"").length;return Ee({start:a.value,end:{...a.value,offset:u}})}let o=vt(e.start,t,n);if(!o.ok)return o;let r=vt(e.end,t,n);return r.ok?G(o.value.story)!==G(r.value.story)?Ne("invalid-handle","span-crosses-stories"):id(o.value,r.value)?Ee({start:o.value,end:r.value}):Ne("invalid-offset","span-start-after-end"):r}function oe(e,t,n){if("body"in e)return ue(e.body,"body",t,n);if("paragraph"in e)return ue(e.paragraph,"paragraph",t,n);let o=e.start;return "paragraph"in o?ue(o.paragraph,"paragraph",t,n):ue(o.body,"body",t,n)}function Cn(e,t,n){if("paragraph"in e)return ce(e.paragraph,t,n);let o=ue(e.body,"body",t,n);if(!o.ok)return o;let r=o.value.paragraphIds;if(r.length===0)return Ne("invalid-offset","empty-story");let a=e.at==="first"?0:r.length-1;return Ee({story:o.value.story,paragraphId:r[a],index:a,offset:0})}function ve(e,t){if(!e)return [];let n=t.paragraphIds,o=n[e.start.index]===e.start.paragraphId?e.start.index:n.indexOf(e.start.paragraphId),r=n[e.end.index]===e.end.paragraphId?e.end.index:n.indexOf(e.end.paragraphId);return o<0||r<o?[]:n.slice(o,r+1)}function st(e,t){if(!e)return [];let n=ve(e,t),o=n.length-1;return n.map((r,a)=>{let s=(t.rawText(r)??"").length,u=a===0?e.start.offset:0,d=a===o?e.end.offset:s;return {paragraphId:r,start:u,end:d,whole:u===0&&d===s}})}function si(e,t,n,o="allMarkup"){if(!e)return "";let r=ve(e,t);return r.length===1?t.projectedText(e.start.paragraphId,o)?.sliceRaw(e.start.offset,e.end.offset)??"":r.map((a,s)=>{let u=t.projectedText(a,o);if(!u)return "";let d=(t.rawText(a)??"").length;return s===0?u.sliceRaw(e.start.offset,d):s===r.length-1?u.sliceRaw(0,e.end.offset):u.text}).join(n)}function Ve(e,t){return {start:{paragraph:t.paragraph(e.start.paragraphId,e.start.story),offset:e.start.offset},end:{paragraph:t.paragraph(e.end.paragraphId,e.end.story),offset:e.end.offset}}}var ld=new Set(["TextBox","GeometricShape","Picture","Group","Canvas","Unsupported"]),He=(e,t,n)=>({ok:false,error:{code:e,message:t,...n===void 0?{}:{detail:n}}}),vo=e=>({ok:true,kind:"query",value:e});function dd(e,t,n){let o=t.resolve(e,"shape");if(!o||o.kind!=="shape")return He("invalid-handle","that handle does not name a shape","shape");let r=n.shapes(o.owner);if(!r.ok)return He("ambiguous-document","shape identities in that story are not completely and unambiguously enumerable",r.reason);let a=r.shapes.find(s=>s.id===o.shapeId);return a?{owner:o.owner,shape:a}:He("invalid-handle","that shape is not in this document",G(o.owner))}function li(e,t,n){if(e.op==="getShapes"){let a=e.types;if(a!==void 0&&(!Array.isArray(a)||a.some(p=>!ld.has(p))))return He("unsupported-content","unknown shape type","types");if(!("body"in e.span)&&!("paragraph"in e.span))return He("unsupported-content","shapes are listed for a body or a paragraph only");let s=J(e.span,t,n),u=oe(e.span,t,n);if(!s.ok||!u.ok)return He("invalid-handle","that range no longer exists","span");let d=n.shapes(u.value.story);if(!d.ok)return He("ambiguous-document","shape identities in that story are not completely and unambiguously enumerable",d.reason);let c=new Set(s.value?ve(s.value,u.value):[]);return vo({kind:"handles",handles:d.shapes.filter(p=>c.has(p.hostParagraphId)&&(!a||a.includes(p.type))).map(p=>t.shape(p.id,u.value.story))})}let o=dd(e.shape,t,n);if("ok"in o)return o;if(e.op==="getShape"){let{id:a,name:s,type:u}=o.shape;return vo({kind:"shape",shape:{id:a,name:s,type:u}})}if(!o.shape.textboxRoot)return He("unsupported-content","that shape holds no text story of its own",o.shape.type);if(!go(o.owner))return He("unsupported-content","text boxes are reachable in the body, headers and footers only",G(o.owner));let r={kind:"textbox",owner:o.owner,shapeId:o.shape.id};return n.story(r)?vo({kind:"handle",handle:t.body(r)}):He("invalid-handle","that text box is not in this document",G(r))}var Oo="http://schemas.openxmlformats.org/package/2006/relationships",di="http://schemas.openxmlformats.org/officeDocument/2006/relationships",ud=[{type:"application/vnd.openxmlformats-package.core-properties+xml",namespace:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",root:"coreProperties",relationship:`${Oo}/metadata/core-properties`},{type:"application/vnd.openxmlformats-officedocument.extended-properties+xml",namespace:"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",root:"Properties",relationship:`${di}/extended-properties`},{type:"application/vnd.openxmlformats-officedocument.custom-properties+xml",namespace:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",root:"Properties",relationship:`${di}/custom-properties`}];function Po(e){let t=new Map;for(let o of ud){let r=[...new Set([...e.parts.keys(),...e.partBytes.keys()])].filter(d=>Ie(e,d)===o.type);if(r.length>1)return null;let a=(e.relationships.get("/")??[]).filter(d=>d.type===o.relationship);if(a.length>1)return null;let s=a[0];if(s){if(s.targetMode!=="Internal")return null;let d=B("/",s.rawTarget);if(!d.ok||r.length!==1||z(d.partName)!==z(r[0]))return null}if(r.length===0)continue;let u=e.parts.get(r[0]);if(!u||u.root.namespaceUri!==o.namespace||u.root.localName!==o.root||(e.relationships.get(u.name)?.length??0)>0||e.parts.has(Je$1(u.name))||e.partBytes.has(Je$1(u.name)))return null;t.set(z(u.name),{part:u,relationship:o.relationship});}if(t.size===0)return e;if(!Vd$1(e,new Set(t.keys())))return null;for(let[o,r]of e.relationships)for(let a of r){if(a.targetMode==="External")continue;let s=B(o,a.rawTarget),u=s.ok&&t.get(z(s.partName));if(!u)continue;if(o!=="/"||a.type!==u.relationship)return null;let d=e.parts.get(Je$1(o));if(!d||d.root.namespaceUri!==Oo||d.root.localName!=="Relationships")return null;let c=d.root.children.filter(m=>m.kind!=="textValue"&&m.attributes.some(k=>k.namespaceUri===""&&k.localName==="Id"&&k.value===a.id));if(c.length!==1)return null;let p=c[0];if(p.kind==="textValue"||p.namespaceUri!==Oo||p.localName!=="Relationship"||p.attributes.some(m=>m.namespaceUri!==""||!["Id","Type","Target","TargetMode"].includes(m.localName))||p.children.some(m=>m.kind!=="textValue"||!Ud$2(m.value)))return null}let n=e;for(let{part:o}of t.values()){let r=Me$1(n,o.name);if(!r.ok||r.pkg.contentTypes.overrides.has(z(o.name)))return null;n=r.pkg;}return n}var Ot="http://schemas.openxmlformats.org/package/2006/metadata/core-properties",Tn="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",$t="http://purl.org/dc/elements/1.1/",Ro="application/vnd.openxmlformats-package.core-properties+xml",Io={author:[$t,"creator"],title:[$t,"title"],subject:[$t,"subject"],comments:[$t,"description"],keywords:[Ot,"keywords"],category:[Ot,"category"]},ui={...Io,lastAuthor:[Ot,"lastModifiedBy"]},ci=Object.keys(ui);function Nn(e){let t=(e.relationships.get("/")??[]).find(o=>o.type===Tn);if(!t||t.targetMode!=="Internal")return null;let n=B("/",t.rawTarget);return n.ok?e.parts.get(n.partName)??null:null}function pi(e,t){let n=Nn(e),[o,r]=ui[t],a=n?.root.children.find(s=>s.kind!=="textValue"&&s.namespaceUri===o&&s.localName===r);return a&&a.kind!=="textValue"?a.children.map(s=>s.kind==="textValue"?s.value:"").join(""):""}function So(e){if(!e||typeof e!="object"||Array.isArray(e))return false;let t=Object.entries(e);return t.length>0&&t.every(([n,o])=>Object.hasOwn(Io,n)&&typeof o=="string"&&o.length<=4096&&T$1(o))}function wo(e,t){if(!So(t)||(e.relationships.get("/")??[]).filter(u=>u.type===Tn).length>1)return null;let n=Nn(e);if(n&&(n.contentType!==Ro||n.root.namespaceUri!==Ot||n.root.localName!=="coreProperties")||!n&&(e.relationships.get("/")??[]).some(u=>u.type===Tn))return null;let o=n?.name??"/docProps/core.xml";if(!n&&(e.parts.has(o)||e.partBytes.has(o)))return null;let r=Ia(`<cp:coreProperties xmlns:cp="${Ot}" xmlns:dc="${$t}">${Object.entries(t).map(([u,d])=>{let[c,p]=Io[u],m=c===Ot?"cp":"dc";return `<${m}:${p}>${R(d)}</${m}:${p}>`}).join("")}</cp:coreProperties>`,{name:o,contentType:Ro});if(!r.ok)return null;if(n){let u=n,d=Ra(n),c=p=>p.kind==="textValue"?{...p,id:d()}:{...p,id:d(),children:p.children.map(c)};for(let p of r.part.root.children){if(p.kind==="textValue")continue;let m=u.root.children.filter(A=>A.kind!=="textValue"&&A.namespaceUri===p.namespaceUri&&A.localName===p.localName);if(m.length>1)return null;let k=m[0],g;if(k&&k.kind!=="textValue"){if(k.children.some(w=>w.kind!=="textValue"))return null;let A=k.children.length===1&&k.children[0]?.kind==="textValue"?k.children[0]:null,v=p.children.find(w=>w.kind==="textValue"),R=A&&v?.kind==="textValue"?[{...A,value:v.value}]:p.children.map(c);g=Za$1(u,k.id,{...k,children:R});}else {let A=Array.from(u.root.children);A.push(c(p)),g=Xa$1(u,u.root.id,A);}if(!g.ok)return null;u=g.part;}return Fe$1(e,u)}let a=Pe(e,o,r.part.root,Ro);if(!a.parts.has(o))return null;let s=Oe$1(a,"/",Tn,o.slice(1));return s.ok?s.pkg:null}function mi(e,t,n,o=true){let r=u=>({ok:false,error:{code:"unsupported-content",message:u}});if(!t.package)return r("document unavailable");if(e.op==="getDocumentProperty")return ci.includes(e.name)?{ok:true,kind:"query",value:{kind:"text",text:pi(t.package,e.name)}}:r("unsupported document property");if(e.op==="removeDocumentInformation"){if(e.removeDocInfoType!=="DocumentProperties"||!o)return {ok:false,error:{code:"unsupported-capability",message:"Only direct DocumentProperties removal outside collaboration is supported."}};if(!Po(t.package))return {ok:false,error:{code:"unsupported-capability",message:"Document property parts have unsupported structure or dependencies."}};let u=n();return u||{ok:true,kind:"command",story:Te,ops:[],packageEdits:[d=>{let c=Po(d);if(!c)throw new Error("Document property parts changed");return c}],answer:()=>({kind:"applied"})}}if(!So(e.values))return r("invalid document property values");if(!o&&!Nn(t.package))return {ok:false,error:{code:"unsupported-capability",message:"Create document properties before joining collaboration; concurrent core-part creation cannot merge safely."}};let a={...e.values};if(!wo(t.package,a))return {ok:false,error:{code:"unsupported-capability",message:"the core properties part cannot be updated safely"}};let s=n();return s||{ok:true,kind:"command",story:Te,ops:[],packageEdits:[u=>{let d=wo(u,a);if(!d)throw new Error("Document properties package changed");return d}],answer:()=>({kind:"applied"})}}function fi(e,t){let n=[],o=new Set,r=a=>{if(a.kind!=="textValue"){if(a.namespaceUri===la&&a.localName===`${t}Reference`){let s=yc(a)??Number.NaN;o.has(s)||(n.push(s),o.add(s));}for(let s of a.children)r(s);}};return r(e),n}var gi={},hi=new WeakMap;function yi(e,t=null,n="all-markup",o){let r=e??gi,a=hi.get(r);a||hi.set(r,a=new WeakMap);let s=t??gi,u=a.get(s);u||a.set(s,u=cd(e,t));let d=u;return (c,p,m,k,g=n,A=o)=>d(c,p,m,k,g,A)}function cd(e,t){let n=hd$1(e,void 0,t),o=Pn(n),r=new WeakMap;return (a,s,u,d,c="all-markup",p)=>{let m=o(d,a,c,p),k=r.get(a);if(!k||k.cellStyle!==m){let w=id$1(n,Bh(a,"paragraphProperties","pPr"),m);k={cellStyle:m,inherited:w},r.set(a,k);}let{inherited:g}=k,A=u?g.markRunProperties:ld$1(g.runProperties,kb(s),n),v=false,R=false;for(let w of A){if(w.localName!=="rtl"&&w.localName!=="cs")continue;let O=w.attributes?.val,M=O===void 0||["1","true","on"].includes(O);w.localName==="rtl"?v=M:R=M;}return v||R}}function ki(e,t=()=>null,n=()=>"all-markup",o=()=>{}){return {runPropertyEdits(...r){return Qh(r[0],r[1],r[2],r[3],r[4],r[5],r[6],yi(e(),t(),n(),o()))},mergedParagraphMarkProperties(...r){return Lh(r[0],r[1],r[2],yi(e(),t(),n(),o()))}}}var $e=kh,Qe=/[\r\n\f\u2028\u2029]/;function Pt(e,t,n){return n.length?[{op:"insertText",paragraphId:e,offset:t,text:n}]:[]}function Co(e){return e.replaceAll($e,`
5
+ `)}var pd={ok:false,error:{code:"unsupported-content",message:"a single-line control cannot hold a line break",detail:"line-break-in-single-line-control"}};function md(e,t){return t.includes($e)&&!lh(Zb(e))?pd:null}function Ze(e,t,n,o,r=$e){if(!r.includes($e))return null;let a=Ta(e,t);if(!gg(a))return null;let s=wk(e,a,n,o);return s?md(s,r):null}function En(e){return e.replaceAll(`
6
+ `,$e)}function xi(e,t){let n=e.rawText(t)??"",o=e.node(t);return o?.kind==="paragraph"?Yi$1(o,n):n}function fd(e){return e?.kind!=="paragraph"?false:e.children.every(t=>t.namespaceUri!==la?false:t.localName==="pPr"?true:t.kind==="run"&&t.children.every(n=>n.namespaceUri===la&&(n.localName==="rPr"||n.localName==="t"&&n.children.every(o=>o.kind==="textValue"))))}function To(e,t,n){return fd(Ta(e,t))&&uk(e,t,n)===null}function bi(e,t,n,o){let r=uk(e,t,n);if(!r)return null;let a=n===r.offset?fl$1(e,{op:"insertText",paragraphId:t,offset:n,text:o}):null;return a?.ok&&Vi$1(a.part,t)?.slice(n,n+o.length)===Co(o)?null:{ok:false,error:{code:"unsupported-capability",message:"insert at the placeholder start or replace the complete prompt",detail:"placeholder-insertion-offset"}}}function gd(e,t,n){return e.start===e.end?t<e.start&&e.start<n:t===n?e.start<t&&t<e.end:Math.max(e.start,t)<Math.min(e.end,n)}var Ln=class{#e=new Map;has(t){return this.#e.has(t)}append(t,n,o,r,a=false){let s=this.#e.get(t)??[];if(s.some(m=>gd(m,n,o)))return null;let u=n,d=o;for(let m of s){let k=m.length-(m.end-m.start);m.end<=n&&!(a&&m.start===n&&m.end===n)&&(u+=k),(m.end<o||m.end===o&&m.start!==m.end)&&(d+=k);}n===o&&(d=u);let c=r-(o-n);for(let m of s)o<=m.start&&!(n===o&&m.start===m.end&&n===m.start&&!a)&&(m.result.start+=c,m.result.end+=c);let p={start:u,end:u+r};return s.push({start:n,end:o,length:r,result:p}),this.#e.set(t,s),{start:u,end:d,result:p}}};function Ai(e,t,n,o,r=false){let a=t.start.paragraphId,s=e.append(a,t.start.offset,t.end.offset,n.length,r);return s?{ok:true,kind:"command",ops:vi(a,s.start,s.end,n),story:t.start.story,answer:()=>({kind:"span",span:Ve({start:{...t.start,offset:s.result.start},end:{...t.start,offset:s.result.end}},o)})}:{ok:false,error:{code:"conflicting-operations",message:"text edits overlap in the batch snapshot",detail:a}}}function vi(e,t,n,o){let r=[];return o.length&&r.push({op:"insertText",paragraphId:e,offset:t,text:o,...n>t?{bias:"right"}:{}}),n>t&&r.push({op:"deleteText",paragraphId:e,start:t+o.length,end:n+o.length}),r}function Oi(e,t,n,o){let r=t.start.paragraphId,a=Vi$1(e,r),s=uk(e,r,t.start.offset),u=s&&n.length?[{op:"insertText",paragraphId:r,offset:t.start.offset,text:n,bias:"right"}]:vi(r,t.start.offset,t.end.offset,n),d=e;for(let p of u){let m=fl$1(d,p);if(!m.ok)return {ok:false,error:{code:"unsupported-content",message:"that replacement cannot preserve the targeted text safely",detail:m.reason}};d=m.part;}let c=Vi$1(d,r);return a===null||c!==a.slice(0,t.start.offset)+Co(n)+a.slice(t.end.offset)?{ok:false,error:{code:s?"unsupported-capability":"unsupported-content",message:s?"replace the complete placeholder prompt to avoid consuming unrelated text":"that replacement changes the expected text positions",detail:r}}:{ok:true,kind:"command",ops:u,story:t.start.story,answer:()=>({kind:"span",span:Ve({start:t.start,end:{...t.start,offset:t.start.offset+n.length}},o)})}}function Ri(e,t,n){let o=xi(e,t);return {text:o,occurrences:hd(o,n)}}var Pi=/\s/;function hd(e,t){let n=[],o=0;for(;o<e.length;){let r=null;for(let a of t){let s=En(a),u=e.indexOf(s,o);u<0||(!r||u<r.start||u===r.start&&s.length>r.length)&&(r={start:u,length:s.length});}if(!r)break;n.push(r),o=r.start+r.length;}return n}function Ii(e,t,n){let o=t[n]?.markParagraphId??null;if(o!==null)return o;let r=e.paragraphIds,a=r[r.length-1];return a===void 0||new Set(t.map(u=>u.markParagraphId).filter(u=>u!==null)).has(a)?null:a}function Si(e,t){for(let n of [e.start,e.end]){let o=t.rawText(n.paragraphId);if(o===null||n.offset>o.length)return false}return true}function wi(e,t,n){let o=t,r=n;for(;o<r&&Pi.test(e[o]);)o+=1;for(;r>o&&Pi.test(e[r-1]);)r-=1;return [o,r]}function Rt(e){let t=e.kind==="contentControl"?Xb(e):e;return t?$b(t).map(n=>n.node):[]}var Ci=new Set(["unlocked","sdtLocked","contentLocked","sdtContentLocked"]),Ti=new Set(["whole","content","start","end","before","after"]),Ni=new Set(["richText","plainText","dropDownList","comboBox","date"]),yd=4096;function Ei(e,t,n){let{type:o}=e;return ["richText","plainText","comboBox","untyped"].includes(o)?typeof t!="string"?{code:"unsupported-content",message:"text is required",detail:"text"}:t.includes(kh)&&!lh(e)?{code:"unsupported-content",message:"a single-line control cannot hold a line break",detail:"line-break-in-single-line-control"}:n!=="replace"&&n!=="start"&&n!=="end"?{code:"unsupported-content",message:"that is not a place to insert at",detail:String(n)}:null:{code:"unsupported-capability",message:"this control requires a typed value rather than a text insertion",detail:o}}function Li(e){let t=(r,a)=>({ok:false,code:"unsupported-content",message:r,detail:a});if(typeof e!="object"||e===null||!("kind"in e))return t("a control value states its kind","value");let n=e,o=n.kind;if(o==="text"||o==="listItem"){let r=o==="text"?n.text:n.value;return typeof r!="string"?t("that value is not a string",String(o)):r.length>yd?t("that value is too long",String(r.length)):{ok:true,value:o==="text"?{kind:"text",text:r}:{kind:"listItem",value:r}}}if(o==="checkbox"){let r=n.checked;return typeof r!="boolean"?t("a checkbox is checked or not","checked"):{ok:true,value:{kind:"checkbox",checked:r}}}if(o==="date"){let r=n.iso;return typeof r!="string"?t("a date is an ISO-8601 string","iso"):r.length>64?t("that is not a date",String(r.length)):{ok:true,value:{kind:"date",iso:r}}}return t("that is not a value any control accepts",String(o))}function Dn(e,t,n){return {code:e,message:t,detail:n}}function Di(e,t=false){if(typeof e.author!="string"||!e.author.trim()||!T$1(e.author))return Dn("unsupported-content","proposals need a non-empty XML-safe author","author");let n=e.op==="proposeInsertion";return !(e.op==="proposeDeletion")&&(typeof e.text!="string"||!t&&!e.text.length||Qe.test(e.text)||!mh(e.text))?Dn("unsupported-content","proposals need non-empty inline XML-safe text","text"):n&&e.where!=="Before"&&e.where!=="After"?Dn("unsupported-content","insertion needs Before or After","where"):null}function It(e,t,n,o,r,a=false,s){let u=fk(e.part),d=new Set;if(u.some(p=>p.revisionKind==="structural"))for(let p=Ua(e.part,t);p!==null&&(d.add(p.id),p.id!==e.root.id);p=Ua(e.part,p.id));return u.some(p=>{if(r&&p.author===r&&(["insert","paragraphMark","format"].includes(p.revisionKind)||a&&["delete","replace"].includes(p.revisionKind)))return false;if(p.revisionKind==="structural"){let k=wj(p),g=0;for(let A of k){let v=Ua(e.part,A),R=v&&Ua(e.part,v.id),w=R?.kind==="tableRow"?"trPr":R?.kind==="tableCell"?"tcPr":null;if(!(!R||!w||eg(R,w)?.id!==v?.id)){if(d.has(R.id))return true;g+=1;}}if(k.length>0&&g===k.length)return false}let m=s!==void 0&&p.author===s;return p.ranges.some(k=>{let g=e.indexOf(k.start.paragraphId),A=e.indexOf(k.end.paragraphId),v=e.indexOf(t);if(g<0||A<0||v<g||v>A)return false;let R=v===g?k.start.offset:0,w=v===A?k.end.offset:1/0;return n<w&&o>R?true:n>w||o<R?false:!m||n!==w?true:!(p.revisionKind==="insert"||p.revisionKind==="replace"||p.revisionKind==="paragraphMark"&&p.markDirection==="insert")})})?Dn("unsupported-revision","proposal touches or overlaps a pending revision","span"):null}function Mi(e,t,n,o,r,a){let s=!!o,u=(A,v,R)=>({ok:false,error:{code:A,message:v,...R?{detail:R}:{}}});if(s&&r===false)return u("unsupported-capability","tracked content-control creation is unsupported in collaboration");let d=J(e.span,t,n);if(!d.ok)return u(d.code,"that span is not a place",d.detail);if(!d.value)return u("invalid-offset","that story holds nothing to wrap","empty-story");let c=oe(e.span,t,n),p=c.ok?c.value:null;if(!p)return u("invalid-handle","that story is not in this document");let m=d.value;if(m.start.paragraphId!==m.end.paragraphId)return u("unsupported-content","wrapping several paragraphs in one control is not supported here","multi-paragraph");if(!Ni.has(e.subtype))return u("unsupported-content","that control type cannot be inserted",e.subtype);if(s){if(!vk(p.part,m.start.paragraphId,m.start.offset,m.end.offset))return u("unsupported-capability","tracked controls require a nonempty ordinary text range without existing review markup");let A=It(p,m.start.paragraphId,m.start.offset,m.end.offset);if(A)return {ok:false,error:A}}let k=new Set(Rt(p.root).map(A=>A.id)),g=a(p,m.start.paragraphId);return g||{ok:true,kind:"command",story:p.story,ops:[{op:"insertContentControl",paragraphId:m.start.paragraphId,start:m.start.offset,end:m.end.offset,type:e.subtype,...s?{revision:{author:o,date:new Date().toISOString()}}:{},...e.tag===void 0?{}:{tag:e.tag},...e.title===void 0?{}:{alias:e.title}}],answer:A=>{if(!e.returnHandle)return {kind:"applied"};let v=A.story(p.story),R=v&&Rt(v.root).find(w=>!k.has(w.id));if(!R)throw new Error("content control insertion did not create a control");return {kind:"handle",handle:t.contentControl(R.id,p.story)}}}}function Hi(e,t,n){let o=Ta(e,t);if(!o||o.kind!=="contentControl")return false;let r=s=>s.kind==="textValue"||!s.kind.startsWith("revision")&&!s.localName.endsWith("Change")&&s.children.every(r);if(!r(o))return false;let a=Ua(e,t);return a?.kind==="revisionInsert"&&a.attributes.some(s=>s.namespaceUri===la&&s.localName==="author"&&s.value===n)}function Fi(e){if(e.length>128)return null;let t=e.trim(),n=new Set,o=[];for(;t;){let r=/^\\([ohzu])(?:\s+"([1-9])-([1-9])")?(?=\s|$)/.exec(t);if(!r)return null;let[,a,s,u]=r;if(n.has(a)||(a==="o"?!s||Number(s)>Number(u):s))return null;n.add(a),o.push(r[0]),t=t.slice(r[0].length).trimStart();}return ["TOC",...o].join(" ")}function Mn(e,t){let n=Ta(e,t);if(!n||n.kind!=="paragraph")return [];let o=hg(n);return _k(n).flatMap(r=>{let a=o.find(u=>u.node.id===r.fieldNodeId),s=Ta(e,r.fieldNodeId);return a?[{paragraphId:t,fieldNodeId:r.fieldNodeId,code:r.instruction,start:a.start,end:a.end,rewritable:r.rewritable,locked:!!s&&yf(s,"fldLock")===true}]:[]})}function Bi(e){let t=S(e),n=Ia(`<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:body><w:p><w:fldSimple w:instr="${t}"><w:r><w:t/></w:r></w:fldSimple></w:p></w:body></w:document>`,{name:"/word/document.xml",contentType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"});if(!n.ok)throw new Error("could not build a field");let o=n.part.root.children.find(a=>a.kind==="body"),r=o&&Rc(o)[0];if(!r||r.kind!=="paragraph")throw new Error("could not build a field paragraph");return r}var ye=(e,t="unsupported-content")=>({ok:false,error:{code:t,message:e}});function ji(e,t,n,o,r){if(e.op==="getFields"||e.op==="insertField"){let p=J(e.span,t,n),m=oe(e.span,t,n);if(!p.ok||!m.ok)return ye("that field range no longer exists","invalid-handle");let k=m.value;if(e.op==="getFields")return {ok:true,kind:"query",value:{kind:"handles",handles:st(p.value,k).flatMap(N=>Mn(k.part,N.paragraphId).filter(E=>E.start>=N.start&&E.end<=N.end)).map(N=>t.field(N.paragraphId,N.fieldNodeId,k.story))}};if(!p.value)return ye("insert a paragraph before inserting a field");if(e.removeFormatting!==void 0&&e.removeFormatting!==false)return ye("removeFormatting is not supported");if(e.text!==void 0&&typeof e.text!="string")return ye("field text must be a string");if(e.fieldType!==void 0&&typeof e.fieldType!="string")return ye("field type must be a string");let g=e.fieldType??"Empty",A=null;if(g==="Page"||g==="NumPages"){if(e.text!==void 0&&e.text.trim()!=="")return ye("field switches are not supported");A=g==="Page"?"PAGE":"NUMPAGES";}else g==="TOC"?A=Fi(e.text??""):g==="Empty"&&(A=bl$1(e.text??""));if(!A)return ye("only PAGE, NUMPAGES, and TOC with supported switches can be inserted");let{start:v,end:R}=p.value;if(!["Before","After","Start","End","Replace"].includes(e.location))return ye("unsupported field insert location");if(e.location==="Replace"&&v.paragraphId!==R.paragraphId)return ye("field replacement requires one paragraph");let w=e.location==="After"||e.location==="End"?R:v,O=o(k,w.paragraphId);if(O)return O;let M=[];return e.location==="Replace"&&R.offset>v.offset&&M.push({op:"deleteText",paragraphId:v.paragraphId,start:v.offset,end:R.offset}),M.push({op:"insertFragment",paragraphId:w.paragraphId,offset:w.offset,blocks:[Bi(A)],lastMarkCovered:false}),{ok:true,kind:"command",story:k.story,ops:M,answer:D=>{let N=D.story(k.story)?.part,E=N&&Mn(N,w.paragraphId).find(I=>I.start===w.offset);if(!E)throw new Error("inserted field was not committed");return {kind:"handle",handle:t.field(w.paragraphId,E.fieldNodeId,k.story)}}}}let a=t.resolve(e.field,"field");if(!a||a.kind!=="field")return ye("that is not a field handle","invalid-handle");let s=n.story(a.story),u=s&&Mn(s.part,a.paragraphId).find(p=>p.fieldNodeId===a.fieldNodeId);if(!s||!s.has(a.paragraphId)||!u)return ye("that field no longer exists","invalid-handle");if(e.op==="getField")return {ok:true,kind:"query",value:{kind:"field",field:{code:u.code}}};if(u.locked||Zf(s.part,a.fieldNodeId).content||ag(s.part,a.fieldNodeId))return ye("field is protected");let d=o(s,a.paragraphId,e.op==="updateFieldResult");if(d)return d;let c=[];if(e.op==="deleteField")c.push({op:"deleteText",paragraphId:a.paragraphId,start:u.start,end:u.end});else if(e.op==="setFieldCode"){if(!bl$1(u.code)||!bl$1(e.code))return ye("only PAGE and NUMPAGES code writes are supported");c.push({op:"setFieldCode",paragraphId:a.paragraphId,fieldNodeId:a.fieldNodeId,code:e.code});}else {let p=bl$1(u.code);if(!p||!u.rewritable)return ye("this field result cannot be evaluated","unsupported-capability");let m=r?.(s.story,a.paragraphId,a.fieldNodeId);if(!m||!Number.isInteger(m.pageNumber)||m.pageNumber<1||!Number.isInteger(m.pageCount)||m.pageCount<1)return ye("field update requires actual semantic pagination","unsupported-capability");let k=p==="PAGE"?m.pageNumberText??String(m.pageNumber):String(m.pageCount);c.push({op:"refreshFieldResults",updates:[{paragraphId:a.paragraphId,fieldNodeId:a.fieldNodeId,text:k}]});}return {ok:true,kind:"command",story:s.story,ops:c,answer:()=>({kind:"applied"})}}var pe=(e,t)=>({ok:false,error:{code:e,message:t,detail:t}}),lt=e=>({ok:true,kind:"query",value:e}),kd=new Set(["insertTableRows","getTables","getTable","getTableRows","getTableCells","getTableCell","getTableCellProperties","getTableCellBody","updateTable","updateTableCell","insertTable"]);function Wt(e){let t=new Set,n=[e];for(;n.length;){let o=n.pop();o.kind==="paragraph"&&t.add(o.id),o.kind!=="textValue"&&n.push(...o.children);}return t}function _i(e,t){let n=Wt(e);return [...Wt(t)].filter(o=>!n.has(o)).length}function xd(e,t){let n=[{node:e}];for(;n.length;){let{node:o,table:r}=n.pop();if(o.id===t)return r;if(o.kind==="textValue")continue;let a=o.kind==="table"?o:r;for(let s of o.children)n.push({node:s,table:a});}}function Ui(e){let t=e.package&&bd$1(e.package);return t?[...ad$1(t).values()].filter(n=>n.type==="table"):[]}function Vi(e,t){if(!kd.has(e.op))return null;let{handles:n,reads:o}=t;if(e.op==="getTables"||e.op==="insertTable"){let m=e.op==="getTables"?e.scope:e.span,k=oe(m,n,o);if(!k.ok)return pe(k.code,k.detail);let g=J(m,n,o);if(!g.ok)return pe(g.code,g.detail);let A=k.value;if(e.op==="getTables"){let M=g.value,D=bj(A.root).filter(N=>{if("body"in m)return true;if(!M)return false;let E=[...Wt(N)].sort((K,W)=>A.indexOf(K)-A.indexOf(W)),I=E[0],_=E[E.length-1];return !I||!_?false:A.indexOf(I)>=M.start.index&&A.indexOf(_)<=M.end.index});return lt({kind:"handles",handles:D.map(N=>n.table(N.id,A.story))})}if(!g.value)return pe("invalid-offset","empty-table-insertion-range");if(!["Before","After"].includes(e.location))return pe("unsupported-content","table-insertion-location");let v=e.location==="Before"?g.value.start:g.value.end,R=fj(A,v.paragraphId,v.offset,e.rowCount,e.columnCount,e.values,t.trackingAuthor?{author:t.trackingAuthor,date:new Date().toISOString()}:void 0);if(!R.ok)return pe("unsupported-content",R.reason);let w=t.admitWrite(A,_i(A.part.root,R.resultPart.root),[v.paragraphId]);if(w)return w;let O=new Set(bj(A.root).map(M=>M.id));return {ok:true,kind:"command",story:A.story,ops:[{op:"authorTable",action:{kind:"insert",paragraphId:v.paragraphId,offset:v.offset,rowCount:e.rowCount,columnCount:e.columnCount,...e.values?{values:e.values}:{}},...t.trackingAuthor?{revision:{author:t.trackingAuthor,date:new Date().toISOString()}}:{}}],answer:M=>{let D=M.story(A.story),N=D&&bj(D.root).find(E=>!O.has(E.id));return N?{kind:"handle",handle:n.table(N.id,A.story)}:{kind:"applied"}}}}let r=e.op==="getTableCells"||e.op==="insertTableRows"?"tableRow":"cell"in e?"tableCell":"table",a=e.op==="getTableCells"||e.op==="insertTableRows"?e.row:"cell"in e?e.cell:"table"in e?e.table:{kind:"document",ref:""},s=n.resolve(a,r);if(!s||!("nodeId"in s)||!("story"in s))return pe("invalid-handle","unknown-table-object");let u=o.story(s.story);if(!u)return pe("invalid-handle","missing-table-story");let d=Ta(u.part,s.nodeId);if(!d||d.kind!==r)return pe("invalid-handle","deleted-table-object");let c=r==="table"?d:xd(u.root,s.nodeId);if(!c)return pe("invalid-handle","missing-parent-table");let p=cj(u,c.id);if(!p)return pe("unsupported-content","unsupported-table-topology");switch(e.op){case "getTable":return lt({kind:"table",table:{values:p.values,headerRowCount:p.headerRowCount,rowCount:p.rowIds.length,columnCount:p.columnCount,style:Ui(o).find(m=>m.styleId===p.styleId)?.name??""}});case "getTableRows":return lt({kind:"handles",handles:p.rowIds.map(m=>n.tableRow(m,u.story))});case "getTableCells":{let m=p.rowIds.indexOf(s.nodeId);return lt({kind:"handles",handles:(p.cellIds[m]??[]).map(k=>n.tableCell(k,u.story))})}case "getTableCell":{if(!Number.isInteger(e.rowIndex)||!Number.isInteger(e.cellIndex))return pe("invalid-offset","invalid-cell-index");let m=p.cellIds[e.rowIndex]?.[e.cellIndex];return m?lt({kind:"handle",handle:n.tableCell(m,u.story)}):pe("invalid-handle","cell-not-found")}case "getTableCellBody":return lt({kind:"handle",handle:n.body(u.story,s.nodeId)});case "getTableCellProperties":{let m=dj(u,c.id,s.nodeId);return m?lt({kind:"tableCell",cell:{value:m.value,columnWidth:m.columnWidth,shadingColor:m.shadingColor,verticalAlignment:m.verticalAlignment}}):pe("invalid-handle","cell-not-found")}case "insertTableRows":case "updateTable":case "updateTableCell":{let m=e.op==="insertTableRows"?{kind:"insertRows",rowId:s.nodeId,location:e.location,count:e.count,...e.values?{values:e.values}:{}}:e.op==="updateTable"?e.mutation:{...e.properties,kind:"cell",cellId:s.nodeId};if(m.kind==="properties"&&m.styleId!==void 0){let R=m.styleId;if(typeof R!="string"||R.trim().length===0)return pe("unsupported-content","invalid-table-style-name");let w=Ui(o).find(O=>O.name?.trim().toLowerCase()===R.trim().toLowerCase());if(!w)return pe("unsupported-content","table-style-not-defined");m={...m,styleId:w.styleId};}let k=t.trackingAuthor?{author:t.trackingAuthor,date:new Date().toISOString()}:void 0;if(k&&t.trackedRangeReplacement===false&&(m.kind==="values"||m.kind==="cell"&&m.value!==void 0))return pe("unsupported-capability","tracked table value replacement is unsupported in collaboration");let g=ej(u,c.id,m,k);if(!g.ok)return pe(g.reason==="unsupported-revision"?"unsupported-revision":g.reason==="tracked-table-deletion-unsupported"||g.reason==="unsupported-tracked-table-operation"?"unsupported-capability":"unsupported-content",g.reason);let A=t.admitWrite(u,_i(u.part.root,g.resultPart.root),m.kind==="values"?[...Wt(c)]:m.kind==="cell"&&m.value!==void 0?[...Wt(d)]:[]);if(A)return A;let v=new Set(p.rowIds);return {ok:true,kind:"command",story:u.story,ops:[{op:"authorTable",action:{kind:"existing",tableId:c.id,mutation:m},...k?{revision:k}:{}}],answer:R=>{if(m.kind!=="addRows"&&m.kind!=="insertRows")return {kind:"applied"};let w=R.story(u.story);return {kind:"handles",handles:((w&&cj(w,c.id))?.rowIds??[]).filter(M=>!v.has(M)).map(M=>n.tableRow(M,u.story))}}}}default:return pe("unsupported-content","unknown-table-operation")}}var Hn=e=>({ok:false,error:{code:"unsupported-content",message:e}});function No(e){if(!(typeof e!="object"||e===null)){if("body"in e)return e.body;if("start"in e&&"end"in e)return No(e.start)??No(e.end)}}function bd(e){if(e.op==="getText")return e.target;if("body"in e)return e.body;let t=e;for(let n of ["span","scope","at","anchor","paragraph"]){let o=No(t[n]);if(o)return o}}function $i(e,t){let n=Ng(e,{op:"createHeaderFooter",sectionIndex:t.sectionIndex,kind:t.kind,variant:t.variant,...t.variant==="first"?{titlePage:true}:{},...t.variant==="even"?{evenAndOddHeaders:true}:{}});return n.ok&&n.createdPartName?n:null}function Ad(e,t){let n=$i(e,t),o=n&&n.package.parts.get(n.createdPartName);if(!n||!o)return null;let r={...o.root,children:[]};return Je(Fe$1(n.package,{...o,root:r}))}function Wi(e,t,n){let o=bd(e);if(!o)return null;let r=t.handles.resolve(o,"body");if(!r||r.kind!=="body"||r.story.kind!=="header"&&r.story.kind!=="footer")return null;let a=r.story,s=t.reads.package;if(!s||t.reads.story(a))return null;if(!t.reads.sections()[a.sectionIndex])return Hn("that section no longer exists");if(e.op!=="insertText"&&e.op!=="replaceSpan"&&e.op!=="insertParagraph"){let c=Ad(s,a);if(!c)return Hn("cannot read this header or footer");let p=n(c).plan(e);return !p.ok||p.kind==="query"?p:p.kind!=="command"||p.ops.length||p.lifecycle||p.packageEdits?.length||p.relate?Hn("this header or footer does not exist yet; write text to create it"):{ok:true,kind:"query",value:p.answer(c)}}let u=c=>{let p=$i(c,a);if(!p)return null;let m=Je(p.package),k=n(m),g=k.plan(e);if(!g.ok||g.kind!=="command"||g.relate||g.lifecycle||g.packageEdits?.length)return null;let A=p.package.parts.get(p.createdPartName);if(!A)return null;for(let R of g.ops){let w=fl$1(A,R);if(!w.ok)return null;A=w.part;}let v=Fe$1(p.package,A);return k.settle(Je(v)).ok?{pkg:v,planner:k,step:g}:null},d=u(s);return d?{ok:true,kind:"command",story:{kind:"body"},ops:[],solitary:true,packageEdits:[c=>{let p=u(c);if(!p)throw new Error("header/footer creation changed during transaction");return d=p,p.pkg}],answer:c=>d.step.answer(c)}:Hn("cannot create this header or footer with that content")}var vd=20*1024*1024;function Od(e){if(typeof e!="string"||e.length===0||e.length>Math.ceil(vd/3)*4||e.length%4!==0)return null;let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=e.endsWith("==")?2:e.endsWith("=")?1:0,o=new Uint8Array(e.length/4*3-n),r=0;for(let a=0;a<e.length;a+=4){let s=a+4===e.length,u=s?4-n:4,d=[0,0,0,0];for(let p=0;p<u;p++){let m=t.indexOf(e[a+p]);if(m<0)return null;d[p]=m;}if(s&&(n===2&&(d[1]&15)!==0||n===1&&(d[2]&3)!==0))return null;let c=d[0]<<18|d[1]<<12|d[2]<<6|d[3];r<o.length&&(o[r++]=c>>>16),r<o.length&&(o[r++]=c>>>8),r<o.length&&(o[r++]=c);}return o}function zi(e,t,n,o,r){let a=Od(r);if(!a)return {ok:false,detail:"picture: invalid or oversized base64 (20 MiB maximum)"};let s=de(a);if(s!=="image/png"&&s!=="image/jpeg")return {ok:false,detail:"picture: only PNG and JPEG are supported"};if(!Pd(a,s))return {ok:false,detail:"picture: truncated raster container"};let u=ie(a,s);if(!u||u.pixelWidth*u.pixelHeight>4e7)return {ok:false,detail:"picture: invalid or oversized raster dimensions"};let d=u.pixelWidth*72/(u.dpiX??96),c=u.pixelHeight*72/(u.dpiY??96),p=we(d),m=we(c);if(p===null||m===null)return {ok:false,detail:"picture: invalid physical dimensions"};let k=te(e,t,{bytes:a,mime:s});if(!k.ok)return {ok:false,detail:`picture: ${k.reason}`};let g=xe$1({docPrId:k.docPrId,lockAspectRatio:true,relationshipId:k.relationshipId,extentEmu:{cx:p,cy:m}});return {ok:true,docPrId:k.docPrId,ops:[{op:"insertDrawing",paragraphId:n,offset:o,drawing:g}],packageEdits:[A=>{let v=te(A,t,{bytes:a,mime:s});if(!v.ok||v.relationshipId!==k.relationshipId||v.docPrId!==k.docPrId||v.partName!==k.partName)throw new Error("picture allocation changed during the batch");return v.pkg}]}}function Ki(e,t){return Od$1(e).find(n=>n.drawingNodeId===t&&n.kind==="inline"&&n.picture!==null)??null}function Gi(e){return {width:e.extentEmu.cx/ve$1,height:e.extentEmu.cy/ve$1,lockAspectRatio:e.locks.changeAspect,altTextDescription:e.description}}function Xi(e,t){let n=new Set(Od$1(e).filter(r=>r.kind==="inline"&&r.picture!==null).map(r=>r.drawingNodeId)),o=[];for(let r of t){let a=Ta(e,r.paragraphId);if(!(!a||a.kind!=="paragraph"))for(let s of hg(a))s.start>=r.start&&s.end<=r.end&&n.has(s.node.id)&&o.push(s.node.id);}return o}function Yi(e,t){let n=[],o=e.drawingNodeId;if(t.lockAspectRatio!==void 0&&typeof t.lockAspectRatio!="boolean")return {ok:false,detail:"lockAspectRatio: not a boolean"};let r=t.lockAspectRatio??e.locks.changeAspect;if(t.lockAspectRatio===false&&n.push({op:"setDrawingLocks",drawingNodeId:o,locks:{changeAspect:false}}),t.width!==void 0||t.height!==void 0){let a=t.width??e.extentEmu.cx/ve$1,s=t.height??e.extentEmu.cy/ve$1;if(r){let c=e.extentEmu.cx/e.extentEmu.cy;if(t.width!==void 0&&t.height!==void 0&&Math.abs(a/s-c)>1e-6)return {ok:false,detail:"picture: width and height disagree with the locked aspect ratio"};t.width!==void 0&&t.height===void 0&&(s=a/c),t.height!==void 0&&t.width===void 0&&(a=s*c);}let u=we(a),d=we(s);if(u===null||d===null)return {ok:false,detail:"picture: dimensions must be finite positive points"};n.push({op:"resizeDrawing",drawingNodeId:o,extentEmu:{cx:u,cy:d}});}if(t.lockAspectRatio===true&&n.push({op:"setDrawingLocks",drawingNodeId:o,locks:{changeAspect:true}}),t.altTextDescription!==void 0){if(typeof t.altTextDescription!="string"||t.altTextDescription.length>32767||!T$1(t.altTextDescription))return {ok:false,detail:"altTextDescription: invalid XML text or length"};n.push({op:"setDrawingMetadata",drawingNodeId:o,title:e.title,description:t.altTextDescription});}return n.length?{ok:true,ops:n}:{ok:false,detail:"picture: no properties requested"}}function Pd(e,t){if(t==="image/jpeg")return e.length>=4&&e[e.length-2]===255&&e[e.length-1]===217;let n=new DataView(e.buffer,e.byteOffset,e.byteLength),o=8,r=false;for(;o+12<=e.length;){let a=n.getUint32(o);if(a>e.length-o-12)return false;let s=String.fromCharCode(e[o+4],e[o+5],e[o+6],e[o+7]);if(s==="IDAT"&&a>0&&(r=true),o+=a+12,s==="IEND")return r&&a===0&&o===e.length}return false}var Le=(e,t="unsupported-content")=>({ok:false,error:{code:t,message:e}});function Ji(e,t,n,o){if(e.op==="getInlinePictures"||e.op==="insertInlinePicture"){let p=J(e.span,t,n),m=oe(e.span,t,n);if(!p.ok||!m.ok)return Le("that picture range no longer exists","invalid-handle");let k=m.value;if(e.op==="getInlinePictures")return {ok:true,kind:"query",value:{kind:"handles",handles:Xi(k.part,st(p.value,k)).map(D=>t.inlinePicture(D,k.story))}};if(!p.value||!n.package)return Le("insert a paragraph before inserting a picture");let{start:g,end:A}=p.value;if(!["Before","After","Start","End","Replace"].includes(e.location))return Le("unsupported picture insert location");if(e.location==="Replace"&&g.paragraphId!==A.paragraphId)return Le("picture replacement requires a single paragraph");let v=e.location==="After"||e.location==="End"?A:g;if(Zf(k.part,v.paragraphId).content||ag(k.part,v.paragraphId))return Le("picture insertion is inside protected content");let R=Ta(k.part,v.paragraphId);if(R?.kind==="paragraph"){for(let D of hg(R))if((e.location==="Replace"?D.start<A.offset&&D.end>g.offset:D.start<v.offset&&D.end>v.offset)&&(Zf(k.part,D.node.id).content||ag(k.part,D.node.id)))return Le("picture insertion touches protected content")}let w=o(k,v.paragraphId);if(w)return w;let O=zi(n.package,k.part.name,v.paragraphId,v.offset,e.base64);if(!O.ok)return Le(O.detail);let M=[];return e.location==="Replace"&&A.offset>g.offset&&M.push({op:"deleteText",paragraphId:g.paragraphId,start:g.offset,end:A.offset}),M.push(...O.ops),{ok:true,kind:"command",story:k.story,ops:M,packageEdits:O.packageEdits,answer:D=>{let N=D.story(k.story)?.part,E=N&&Od$1(N).find(I=>I.docPrId===O.docPrId&&I.kind==="inline");if(!E)throw new Error("inserted picture was not committed");return {kind:"handle",handle:t.inlinePicture(E.drawingNodeId,k.story)}}}}let r=t.resolve(e.picture,"inlinePicture");if(!r||r.kind!=="inlinePicture")return Le("that is not a picture handle","invalid-handle");let a=n.story(r.story),s=a&&Ki(a.part,r.drawingNodeId);if(!a||!s)return Le("that inline picture no longer exists","invalid-handle");if(e.op==="getInlinePicture")return {ok:true,kind:"query",value:{kind:"inlinePicture",picture:Gi(s)}};let u=Ta(a.part,r.drawingNodeId);for(;u&&u.kind!=="paragraph";)u=fg(a.part,u.id);if(!u||!a.has(u.id))return Le("picture is outside this story","invalid-handle");let d=o(a,u.id);if(d)return d;let c=e.op==="deleteInlinePicture"?{ok:true,ops:[{op:"deleteDrawing",drawingNodeId:r.drawingNodeId}]}:Yi(s,e.properties);return c.ok?{ok:true,kind:"command",story:a.story,ops:c.ops,answer:()=>({kind:"applied"})}:Le(c.detail)}function Qi(e,t,n,o){let r=k=>({ok:false,error:{code:"unsupported-content",message:k}});if(e.breakType!=="Page"&&e.breakType!=="SectionNext")return r("only Line, Page, and SectionNext breaks are supported");if(!["Before","After","Start","End","Replace"].includes(e.location))return r("invalid break insertion location");let a=J(e.span,t,n);if(!a.ok)return {ok:false,error:{code:a.code,message:a.detail}};let s=a.value;if(!s)return r("empty story has no break position");let u=e.location==="After"||e.location==="End"?s.end:s.start,d=n.story(u.story);if(!d)return r("missing story");if(e.location==="Replace"&&s.start.paragraphId!==s.end.paragraphId)return r("break replacement must remain in one paragraph");let c=e.breakType==="SectionNext";if(c&&(d.story.kind!=="body"||Gk(d.part,u.paragraphId)))return r("section breaks require a body paragraph outside a table");let p=o(d,u.paragraphId,c?1:0);if(p)return p;let m=[];return e.location==="Replace"&&s.end.offset>s.start.offset&&m.push({op:"deleteText",paragraphId:u.paragraphId,start:s.start.offset,end:s.end.offset}),c?m.push({op:"splitParagraph",paragraphId:u.paragraphId,offset:u.offset},{op:"setSectionMark",paragraphId:u.paragraphId,breakType:"nextPage"}):m.push({op:"insertPageBreak",paragraphId:u.paragraphId,offset:u.offset}),{ok:true,kind:"command",story:d.story,ops:m,answer:()=>({kind:"applied"})}}function Zi(e,t){if(e.op!=="insertBreak"||e.breakType!=="Line")return null;let{span:n,location:o}=e,r=u=>"body"in n?{body:n.body,at:u}:"paragraph"in n?{paragraph:n.paragraph,at:u}:u==="start"?n.start:n.end,a=o==="Replace"?{op:"replaceSpan",span:n,text:$e}:o==="Before"||o==="Start"?{op:"insertText",at:r("start"),text:$e}:o==="After"||o==="End"?{op:"insertText",at:r("end"),text:$e}:null;if(!a)return {ok:false,error:{code:"unsupported-content",message:"invalid break insertion location"}};let s=t(a);return s.ok&&s.kind==="command"?{...s,answer:()=>({kind:"applied"})}:s}var Fe=(e,t)=>e.children.find(n=>n.kind!=="textValue"&&n.namespaceUri===la&&n.localName===t),De=(e,t)=>e.attributes.find(n=>n.namespaceUri===la&&n.localName===t)?.value,Fn=e=>e.replaceAll("&","&amp;").replaceAll('"',"&quot;").replaceAll("<","&lt;").replaceAll(">","&gt;"),Eo=e=>typeof e=="string"&&e.length<=255&&!/[\x00-\x08\x0b\x0c\x0e-\x1f\uFFFE\uFFFF]/.test(e),qi={None:"none",Arabic:"decimal",UpperRoman:"upperRoman",LowerRoman:"lowerRoman",UpperLetter:"upperLetter",LowerLetter:"lowerLetter"},es={Solid:["\uF0B7","Symbol"],Hollow:["o","Courier New"],Square:["\uF0A7","Wingdings"],Diamonds:["\uF076","Wingdings"],Arrow:["\uF0D8","Wingdings"],Checkmark:["\uF0FC","Wingdings"]};function Lo(e){let t=Ag(e,"bullet");if(!t)return null;let n=t.pkg;for(let o=0;o<=8;o+=1)if(!zt(n,t.numId,o)){let r=Bn(n,t.numId,o,{bullet:o%3===0?"Solid":o%3===1?"Hollow":"Square"});if(!r)return null;n=r;}return {pkg:n,numId:t.numId}}function zt(e,t,n){let o=e.parts.get("/word/numbering.xml")?.root;if(!o)return false;let r=o.children,a=r.find(c=>c.kind!=="textValue"&&c.namespaceUri===la&&c.localName==="num"&&De(c,"numId")===t);if(!a)return false;let s=a.children.find(c=>c.kind!=="textValue"&&c.namespaceUri===la&&c.localName==="lvlOverride"&&De(c,"ilvl")===String(n));if(s&&Fe(s,"lvl"))return true;let u=Fe(a,"abstractNumId"),d=u&&r.find(c=>c.kind!=="textValue"&&c.namespaceUri===la&&c.localName==="abstractNum"&&De(c,"abstractNumId")===De(u,"val"));return !!d&&!Fe(d,"numStyleLink")&&d.children.some(c=>c.kind!=="textValue"&&c.namespaceUri===la&&c.localName==="lvl"&&De(c,"ilvl")===String(n))}function Do(e,t){if(!Number.isInteger(e)||e<0||e>8||!t||typeof t!="object")return false;if(t.bullet!==void 0){if(t.numbering!==void 0)return false;if(t.bullet==="Custom"){if(!Number.isInteger(t.charCode)||t.charCode<1||t.charCode>65535||t.charCode>=55296&&t.charCode<=57343||!Eo(String.fromCharCode(t.charCode)))return false}else if(!Object.hasOwn(es,t.bullet))return false;if(t.fontName!==void 0&&(!Eo(t.fontName)||!t.fontName.trim()))return false}if(t.numbering!==void 0&&!Object.hasOwn(qi,t.numbering)||t.formatString!==void 0&&(!Array.isArray(t.formatString)||t.formatString.length>32||t.formatString.some(o=>typeof o=="number"?!Number.isInteger(o)||o<0||o>e:!Eo(o)||/%[1-9]/.test(o)))||t.startingNumber!==void 0&&(!Number.isInteger(t.startingNumber)||t.startingNumber<0||t.startingNumber>2147483647))return false;for(let o of [t.textIndent,t.bulletNumberPictureIndent])if(o!==void 0&&(!Number.isFinite(o)||Math.abs(o)>1584))return false;let n=["bullet","charCode","fontName","numbering","formatString","startingNumber","textIndent","bulletNumberPictureIndent"];return Object.keys(t).some(o=>!n.includes(o))||t.bullet===void 0&&(t.charCode!==void 0||t.fontName!==void 0)||t.numbering===void 0&&t.formatString!==void 0?false:Object.keys(t).length>0}function Bn(e,t,n,o){if(!Do(n,o))return null;let r=e.parts.get("/word/numbering.xml");if(!r)return null;let a=r.root.children.find(I=>I.kind!=="textValue"&&I.namespaceUri===la&&I.localName==="num"&&De(I,"numId")===t),s=a&&Fe(a,"abstractNumId");if(!a||!s)return null;let u=r.root.children.find(I=>I.kind!=="textValue"&&I.namespaceUri===la&&I.localName==="abstractNum"&&De(I,"abstractNumId")===De(s,"val"));if(!u||Fe(u,"numStyleLink"))return null;let d=a.children.find(I=>I.kind!=="textValue"&&I.namespaceUri===la&&I.localName==="lvlOverride"&&De(I,"ilvl")===String(n)),c=(d&&Fe(d,"lvl"))??u.children.find(I=>I.kind!=="textValue"&&I.namespaceUri===la&&I.localName==="lvl"&&De(I,"ilvl")===String(n));if(c&&Fe(c,"lvlPicBulletId"))return null;let p=Ra(r),m=I=>I.kind==="textValue"?{...I,id:p()}:{...I,id:p(),children:I.children.map(m)},k=I=>{let _=Ia(`<w:numbering xmlns:w="${la}">${I}</w:numbering>`,{name:r.name,contentType:r.contentType}),K=_.ok?_.part.root.children[0]:void 0;return K&&K.kind!=="textValue"?m(K):null};if(c??=k(`<w:lvl w:ilvl="${n}"><w:start w:val="1"/><w:numFmt w:val="decimal"/><w:lvlText w:val="%${n+1}."/><w:lvlJc w:val="left"/><w:pPr><w:ind w:left="${720*(n+1)}" w:hanging="360"/></w:pPr></w:lvl>`)??void 0,!c)return null;let g=[...c.children],A=["start","numFmt","lvlRestart","pStyle","isLgl","suff","lvlText","lvlPicBulletId","legacy","lvlJc","pPr","rPr"],v=(I,_)=>{let K=k(_);if(!K)return false;let W=g.findIndex(z=>z.kind!=="textValue"&&z.namespaceUri===la&&z.localName===I);if(W>=0){let z=g[W];g.splice(W,1,{...z,attributes:[...z.attributes.filter(Z=>!K.attributes.some(Q=>Q.namespaceUri===Z.namespaceUri&&Q.localName===Z.localName)),...K.attributes]});}else {let z=g.findIndex(Z=>Z.kind!=="textValue"&&Z.namespaceUri===la&&A.indexOf(Z.localName)>A.indexOf(I));g.splice(z<0?g.length:z,0,K);}return true};if(o.startingNumber!==void 0&&!v("start",`<w:start w:val="${o.startingNumber}"/>`))return null;if(o.numbering!==void 0){let I=o.formatString?.map(_=>typeof _=="number"?`%${_+1}`:_).join("")??(o.numbering==="None"?"":`%${n+1}.`);if(!v("numFmt",`<w:numFmt w:val="${qi[o.numbering]}"/>`)||!v("lvlText",`<w:lvlText w:val="${Fn(I)}"/>`))return null}if(o.numbering!==void 0&&(g=g.map(I=>I.kind!=="textValue"&&I.namespaceUri===la&&I.localName==="rPr"?{...I,children:I.children.filter(_=>_.kind==="textValue"||_.namespaceUri!==la||_.localName!=="rFonts")}:I)),o.bullet!==void 0){let[I,_]=o.bullet==="Custom"?[String.fromCharCode(o.charCode),o.fontName??"Symbol"]:es[o.bullet];if(!v("numFmt",'<w:numFmt w:val="bullet"/>')||!v("lvlText",`<w:lvlText w:val="${Fn(I)}"/>`))return null;let K=Fe(c,"rPr"),W=k(`<w:rFonts w:ascii="${Fn(_)}" w:hAnsi="${Fn(_)}"/>`);if(!W)return null;let z=K?.children.filter(ae=>ae.kind==="textValue"||ae.namespaceUri!==la||ae.localName!=="rFonts")??[],Z=K?{...K,children:[W,...z]}:k("<w:rPr/>");if(!Z)return null;let Q=g.findIndex(ae=>ae.kind!=="textValue"&&ae.namespaceUri===la&&ae.localName==="rPr");Q<0?g.push({...Z,children:[W,...z]}):g[Q]={...Z,children:[W,...z]};}if(o.textIndent!==void 0||o.bulletNumberPictureIndent!==void 0){let I=Fe(c,"pPr"),_=I&&Fe(I,"ind"),K=_?.attributes.filter($=>$.namespaceUri!==la||!["left","start","firstLine","hanging"].includes($.localName))??[],W=o.textIndent===void 0?String(nd$1(De(_??c,"left"))??0):String(Math.round(o.textIndent*20)),z=o.bulletNumberPictureIndent,Z=z===void 0?_?.attributes.filter($=>$.namespaceUri===la&&["firstLine","hanging"].includes($.localName))??[]:[],Q=k(`<w:ind w:left="${W}"${z===void 0?"":` w:${z<0?"hanging":"firstLine"}="${Math.abs(Math.round(z*20))}"`}/>`);if(!Q)return null;let ae={...Q,attributes:[...K,...Z,...Q.attributes]},ge=I?.children.filter($=>$.kind==="textValue"||$.namespaceUri!==la||$.localName!=="ind")??[],be=I??k("<w:pPr/>");if(!be)return null;let le=_?I.children.indexOf(_):-1,de=[...ge],Se=["contextualSpacing","mirrorIndents","suppressOverlap","jc","textDirection","textAlignment","textboxTightWrap","outlineLvl","divId","cnfStyle","rPr","sectPr","pPrChange"],Pe=de.findIndex($=>$.kind!=="textValue"&&$.namespaceUri===la&&Se.includes($.localName));de.splice(le>=0?le:Pe>=0?Pe:de.length,0,ae);let ze={...be,children:de},V=g.findIndex($=>$.kind!=="textValue"&&$.namespaceUri===la&&$.localName==="pPr");if(V>=0)g[V]=ze;else {let $=g.findIndex(Re=>Re.kind!=="textValue"&&Re.localName==="rPr"&&Re.namespaceUri===la);g.splice($<0?g.length:$,0,ze);}}let R=m({...c,children:g}),w=d?.children.filter(I=>I.kind==="textValue"||I.namespaceUri!==la||I.localName!=="lvl"&&(o.startingNumber===void 0||I.localName!=="startOverride"))??[],O=d??k(`<w:lvlOverride w:ilvl="${n}"/>`);if(!O)return null;let M={...O,children:[...w,R]},D=[...a.children],N=d?D.indexOf(d):-1;N>=0?D[N]=M:D.push(M);let E=Za$1(r,a.id,{...a,children:D});return E.ok?Fe$1(e,E.part):null}function dt(e,t){return e&&"children"in e?e.children.find(n=>n.kind!=="textValue"&&n.namespaceUri===la&&n.localName===t):void 0}function Mo(e,t){return e&&"attributes"in e?e.attributes.find(n=>n.namespaceUri===la&&n.localName===t)?.value:void 0}function ts(e,t,n,o){return t.length>0&&t.every(r=>{let a=dt(Ta(e.part,r)??void 0,"pPr");if(Mo(dt(dt(a,"rPr"),"ins"),"author")===o)return true;let s=dt(a,"pPrChange"),u=dt(s,"pPr");return Mo(s,"author")===o&&Mo(dt(dt(u,"numPr"),"numId"),"val")!==n})}var St=8;function ns(e){if(!e||e.kind==="textValue")return null;for(let t of e.attributes)if(t.namespaceUri===la&&t.localName==="val")return t.value;return null}function jn(e){let t=eg(cg(e),"numPr");if(!t)return null;let n=ns(eg(t,"numId"));if(n===null||!/^\d{1,10}$/.test(n)||n==="0")return null;let o=ns(eg(t,"ilvl")),r=o===null?0:Number(o);return !Number.isInteger(r)||r<0||r>St?null:{numId:n,level:r}}function ut(e){let t=new Map;for(let n of e.paragraphIds){let o=e.node(n);if(!o)continue;let r=jn(o);if(!r)continue;let a=t.get(r.numId);a?a.push(n):t.set(r.numId,[n]);}return Object.freeze([...t].map(([n,o])=>Object.freeze({numId:n,paragraphIds:Object.freeze(o)})))}function Kt(e,t){let n=e.node(t);return n?jn(n):null}var ke=e=>({ok:false,error:{code:"unsupported-content",message:e}});function Rd(e,t){if(e.root.namespaceUri!==la||e.root.localName!=="styles")return false;let n=[e.root];for(;n.length;){let o=n.pop();if(o.kind!=="textValue"){if(o.namespaceUri===la&&o.localName==="numId"&&o.attributes.some(r=>r.namespaceUri===la&&r.localName==="val"&&r.value===t))return true;for(let r of o.children)n.push(r);}}return false}function os(e,t,n,o,r){let a=n.package;if(!a)return ke("no document");if(e.op==="setListLevelFormat"){let g=t.resolve(e.list,"list");if(!g||g.kind!=="list")return ke("that is not a list");let A=n.story(g.story),v=A&&ut(A).find(R=>R.numId===g.numId);if(!A||!v)return ke("that list no longer exists");if(r&&!ts(A,v.paragraphIds,g.numId,r))return {ok:false,error:{code:"unsupported-capability",message:"Only a newly proposed list definition can change while tracking"}};if(!Do(e.level,e.format))return ke("invalid list level format");for(let R of a.parts.values()){if(Rd(R,g.numId))return ke("list is referenced by a style");for(let w of Oc(R))for(let O of Rc(w.root))if(jn(O)?.numId===g.numId&&!A.has(O.id))return ke("list is shared across stories")}for(let R of v.paragraphIds){if(Zf(A.part,R).content||ag(A.part,R))return ke("list contains protected content");let w=o(A,R,{numId:g.numId,level:e.level});if(w)return w}return Bn(a,g.numId,e.level,e.format)?{ok:true,kind:"command",story:A.story,ops:[],packageEdits:[R=>{let w=Bn(R,g.numId,e.level,e.format);if(!w)throw new Error("list definition changed during transaction");return w}],answer:()=>({kind:"applied"})}:ke("cannot format this list")}let s=ce(e.paragraph,t,n);if(!s.ok)return {ok:false,error:{code:s.code,message:s.detail}};let u=n.story(s.value.story);if(!u)return ke("missing story");let d=o(u,s.value.paragraphId);if(d)return d;let c=null,p=0,m=[];if(e.op==="startNewList"){let g=Lo(a);if(!g)return ke("cannot create numbering definition");let A=s.value.paragraphId;if(!fl$1(u.part,{op:"setListNumbering",paragraphId:A,numId:g.numId,level:0}).ok)return ke("cannot number this paragraph");let R=g.numId;return {ok:true,kind:"command",story:u.story,ops:[],packageEdits:[w=>{let O=Lo(w),M=O?.pkg.parts.get(u.part.name);if(!O||!M)throw new Error("cannot create numbering definition");let D=fl$1(M,{op:"setListNumbering",paragraphId:A,numId:O.numId,level:0,...r?{revision:{author:r,date:new Date().toISOString()}}:{}});if(!D.ok)throw new Error("cannot number this paragraph");return R=O.numId,Fe$1(O.pkg,D.part)}],answer:()=>({kind:"handle",handle:t.list(R,u.story)})}}else if(e.op==="attachToList"){if(!Number.isSafeInteger(e.listId)||e.listId<=0||!Number.isInteger(e.level)||e.level<0||e.level>8)return ke("invalid list identity or level");if(c=String(e.listId),p=e.level,!zt(a,c,p))return ke("list level is not defined; configure that level first");if(!ut(u).some(g=>g.numId===c))return ke("that list does not exist in this story")}let k=c;return {ok:true,kind:"command",story:u.story,ops:[{op:"setListNumbering",paragraphId:s.value.paragraphId,numId:e.op==="detachFromList"?"0":c,level:p}],packageEdits:m,answer:()=>k===null?{kind:"applied"}:{kind:"handle",handle:t.list(k,u.story)}}}var Ho=Object.freeze({None:"none",Single:"single",Word:"words",Double:"double",Thick:"thick",Dotted:"dotted",DottedHeavy:"dottedHeavy",DashLine:"dash",DashLineHeavy:"dashedHeavy",DashLineLong:"dashLong",DashLineLongHeavy:"dashLongHeavy",DotDashLine:"dotDash",DotDashLineHeavy:"dashDotHeavy",TwoDotDashLine:"dotDotDash",TwoDotDashLineHeavy:"dashDotDotHeavy",Wave:"wave",WaveHeavy:"wavyHeavy",WaveDouble:"wavyDouble"}),rs=[["Yellow","yellow","#FFFF00"],["Lime","green","#00FF00"],["Turquoise","cyan","#00FFFF"],["Pink","magenta","#FF00FF"],["Blue","blue","#0000FF"],["Red","red","#FF0000"],["DarkBlue","darkBlue","#000080"],["Teal","darkCyan","#008080"],["Green","darkGreen","#008000"],["Purple","darkMagenta","#800080"],["DarkRed","darkRed","#800000"],["Olive","darkYellow","#808000"],["Gray","darkGray","#808080"],["LightGray","lightGray","#C0C0C0"],["Black","black","#000000"],["White","white","#FFFFFF"]];function as(e){return Object.entries(Ho).find(([,t])=>t===e)?.[0]??null}function is(e){return rs.find(([,t])=>t===e)?.[2]??null}function ss(e){let t=[];if(e.underline!==void 0){let n=typeof e.underline=="string"&&Object.hasOwn(Ho,e.underline)?Ho[e.underline]:void 0;if(!n)return {ok:false,detail:"underline: unsupported underline style"};t.push({localName:"u",attributes:{val:n}});}if(e.strikeThrough!==void 0){if(typeof e.strikeThrough!="boolean")return {ok:false,detail:"strikeThrough: not a boolean"};t.push({localName:"strike",attributes:{val:e.strikeThrough?"1":"0"}});}for(let n of ["subscript","superscript"])if(e[n]!==void 0&&typeof e[n]!="boolean")return {ok:false,detail:`${n}: not a boolean`};if(e.subscript===true&&e.superscript===true)return {ok:false,detail:"subscript and superscript are mutually exclusive"};if(e.highlightColor!==void 0){let n=e.highlightColor,o=typeof n=="string"?rs.find(([r,,a])=>r.toLowerCase()===n.toLowerCase()||a===n.toUpperCase()):void 0;if(n!==null&&!o)return {ok:false,detail:"highlightColor: use an exact Word palette color or null to clear"};t.push({localName:"highlight",attributes:{val:o?.[1]??"none"}});}return {ok:true,value:t}}var Id=31680,Sd=1999,wd=Object.freeze({bold:null,italic:null,underline:null,strikeThrough:null,highlightColor:null,subscript:null,superscript:null,name:null,size:null,color:null});function me(e,t){if(!e)return null;for(let n of e.attributes)if(n.localName===t)return n.value;return null}function Un(e){if(!e)return null;let t=me(e,"val");if(t===null)return true;let n=t.trim().toLowerCase();return !(n==="0"||n==="false"||n==="off"||n==="none")}function Cd(e){if(e===null)return null;let t=e.trim();return /^[0-9a-fA-F]{6}$/.test(t)?`#${t.toUpperCase()}`:null}function Td(e){if(e===null)return null;let t=Number(e.trim());return !Number.isFinite(t)||t<=0?null:t/2}function ct(e){let t=nd$1(e??void 0);return t===null?null:ld$2(jd$1(t))}function Be(e){if(e.length===0)return null;let t=e[0];if(t===null)return null;for(let n of e)if(n!==t)return null;return t}function us(e,t,n=th){let o=[];for(let r of t)for(let a of Sh(e,r.paragraphId,r.start,r.end,n))o.push(dg(a));return o.length===0?wd:{bold:Be(o.map(r=>Un(eg(r,"b")))),italic:Be(o.map(r=>Un(eg(r,"i")))),underline:Be(o.map(r=>as(me(eg(r,"u"),"val")))),strikeThrough:Be(o.map(r=>Un(eg(r,"strike")))),highlightColor:Be(o.map(r=>is(me(eg(r,"highlight"),"val")))),subscript:Be(o.map(r=>ds(r,"subscript"))),superscript:Be(o.map(r=>ds(r,"superscript"))),name:Be(o.map(r=>{let a=eg(r,"rFonts"),s=me(a,"ascii");return s===null||s.length===0?null:s})),size:Be(o.map(r=>Td(me(eg(r,"sz"),"val")))),color:Be(o.map(r=>Cd(me(eg(r,"color"),"val"))))}}var Nd=Object.freeze({left:"Left",start:"Left",center:"Centered",right:"Right",end:"Right",both:"Justified",distribute:"Justified"}),Ed=Object.freeze({Left:"left",Centered:"center",Right:"right",Justified:"both"});function cs(e){let t=null;for(let n of e?.children??[]){if(n.kind==="textValue"||n.localName!=="bidi")continue;let o=me(n,"val");t=o===null||["1","true","on"].includes(o);}return t}function Ld(e){let t=me(eg(e,"jc"),"val");return t===null?"Unknown":Nd[t.trim().toLowerCase()]??"Unknown"}function ps(e,t,n){let o=Ta(e,t);if(!o||o.kind!=="paragraph")return null;let r=cg(o),a=eg(r,"spacing"),s=eg(r,"ind");return {alignment:Ld(r),style:Rn(e,t,n),firstLineIndent:Dd(s),leftIndent:ct(me(s,"left")??me(s,"start")),rightIndent:ct(me(s,"right")??me(s,"end")),lineSpacing:ct(me(a,"line")),spaceBefore:ct(me(a,"before")),spaceAfter:ct(me(a,"after")),widowControl:Un(eg(r,"widowControl")),readingOrder:cs(r)??n.inheritsRtl(e,o)?"RightToLeft":"LeftToRight"}}function Dd(e){let t=ct(me(e,"hanging"));if(t!==null&&t>0)return -t;let n=ct(me(e,"firstLine"));return n!==null?n:t===null?null:-t}function _n(e,t){if(typeof e!="number"||!Number.isFinite(e))return {ok:false,detail:`${t}: not a measurement`};let n=md$1(kd$1(e));return Math.abs(n)>Id?{ok:false,detail:`${t}: out of range`}:{ok:true,value:n}}function ms(e){let t=ss(e);if(!t.ok)return t;let n=t.value;if(e.bold!==void 0){if(typeof e.bold!="boolean")return {ok:false,detail:"bold: not a boolean"};n.push({localName:"b",...e.bold?{}:{attributes:{val:"0"}}});}if(e.italic!==void 0){if(typeof e.italic!="boolean")return {ok:false,detail:"italic: not a boolean"};n.push({localName:"i",...e.italic?{}:{attributes:{val:"0"}}});}if(e.name!==void 0){let o=e.name;if(typeof o!="string"||o.length===0||o.length>128)return {ok:false,detail:"name: not a font name"};if(!T$1(o))return {ok:false,detail:"name: not valid XML text"};n.push({localName:"rFonts",attributes:{ascii:o,hAnsi:o}});}if(e.size!==void 0){let o=e.size;if(typeof o!="number"||!Number.isFinite(o)||o<=0)return {ok:false,detail:"size: not a positive number of points"};let r=Math.round(o*2);if(r<1||r>Sd)return {ok:false,detail:"size: out of range"};n.push({localName:"sz",attributes:{val:String(r)}}),n.push({localName:"szCs",attributes:{val:String(r)}});}if(e.color!==void 0){let o=e.color;if(typeof o!="string"||!/^#[0-9a-fA-F]{6}$/.test(o.trim()))return {ok:false,detail:"color: not a #RRGGBB triplet"};n.push({localName:"color",attributes:{val:o.trim().slice(1).toUpperCase()}});}return n.length===0&&e.subscript===void 0&&e.superscript===void 0?{ok:false,detail:"no formatting was asked for"}:{ok:true,value:n}}function fs(e,t,n,o){let r=Ta(e,t);if(!r||r.kind!=="paragraph")return {ok:false,detail:"not a paragraph"};let a=cg(r),s=[],u;if(n.style!==void 0){let O=In(n.style,o);if(!O.ok)return {ok:false,detail:O.detail};u=O.styleId,s.push({localName:"pStyle",attributes:{val:O.styleId}});}if(n.alignment!==void 0){let O=Ed[n.alignment];if(O===void 0)return {ok:false,detail:`alignment: ${String(n.alignment)}`};s.push({localName:"jc",attributes:{val:O}});}let d=eg(a,"ind"),c=ls(d),p=false;if(n.firstLineIndent!==void 0){let O=_n(n.firstLineIndent,"firstLineIndent");if(!O.ok)return O;delete c.firstLine,delete c.hanging,O.value<0?c.hanging=String(-O.value):c.firstLine=String(O.value),p=true;}for(let[O,M,D]of [["leftIndent","left","start"],["rightIndent","right","end"]]){let N=n[O];if(N===void 0)continue;let E=_n(N,O);if(!E.ok)return E;delete c[D],c[M]=String(E.value),p=true;}p&&s.push({localName:"ind",attributes:c});let m=eg(a,"spacing"),k=ls(m),g=false;for(let[O,M]of [["spaceBefore","before"],["spaceAfter","after"]]){let D=n[O];if(D===void 0)continue;let N=_n(D,O);if(!N.ok)return N;if(N.value<0)return {ok:false,detail:`${O}: out of range`};k[M]=String(N.value),g=true;}if(n.lineSpacing!==void 0){let O=_n(n.lineSpacing,"lineSpacing");if(!O.ok)return O;if(O.value<=0)return {ok:false,detail:"lineSpacing: out of range"};k.line=String(O.value),k.lineRule??="auto",g=true;}if(g&&s.push({localName:"spacing",attributes:k}),n.widowControl!==void 0){if(typeof n.widowControl!="boolean")return {ok:false,detail:"widowControl: not a boolean"};s.push({localName:"widowControl",...n.widowControl?{}:{attributes:{val:"0"}}});}let A=false;if(n.readingOrder!==void 0){if(n.readingOrder!=="RightToLeft"&&n.readingOrder!=="LeftToRight")return {ok:false,detail:`readingOrder: ${String(n.readingOrder)}`};let O=n.readingOrder==="RightToLeft",M=cs(a),D=o.inheritsRtl(e,r,u);(M??D)!==O&&(D===O?A=true:s.push({localName:"bidi",...O?{}:{attributes:{val:"0"}}}));}if(s.length===0&&!A&&n.readingOrder===void 0)return {ok:false,detail:"no formatting was asked for"};let v=Dh(e,t),R=Fh(v,s),w=A?R.filter(O=>O.localName!=="bidi"):R;return {ok:true,value:w,unchanged:Md(v,w)}}function Md(e,t){if(e.length!==t.length)return false;let n=r=>JSON.stringify([r.localName,Object.entries(r.attributes??{}).sort(([a],[s])=>a<s?-1:a>s?1:0)]),o=new Set(e.map(n));return t.every(r=>o.has(n(r)))}function ls(e){let t=Object.create(null);if(!e)return t;for(let n of e.attributes)t[n.localName]=n.value;return t}function Fo(e,t){if(t.subscript===void 0&&t.superscript===void 0)return [...e];let n=e.find(r=>r.localName==="vertAlign")?.attributes?.val,o=t.subscript===true?"subscript":t.superscript===true?"superscript":n==="subscript"&&t.subscript===false||n==="superscript"&&t.superscript===false?"baseline":n??"baseline";return Fh(e,[{localName:"vertAlign",attributes:{val:o}}])}function ds(e,t){let n=me(eg(e,"vertAlign"),"val");return n===null?null:n===t}function gs(){let e=false,t=false,n=false,o=false;return {conflict(r){let a=_e(r),s=Ut(r),u=r.op==="deleteComment",d=r.op==="updateFieldResult";return a&&(d&&e&&!o||o&&!d)?{message:"field result updates require a batch without other edits; sync document edits before updating fields",detail:r.op}:s&&e||t&&a?{message:"that command commits on its own and cannot share a batch",detail:r.op}:u&&e&&!n||n&&a&&!u?{message:"comment deletions may share a batch only with other comment deletions",detail:r.op}:null},note(r){_e(r)&&(e=true,Ut(r)&&(t=true),r.op==="deleteComment"&&(n=true),r.op==="updateFieldResult"&&(o=true));},get hasCommands(){return e}}}var Hd=256,hs=1e4;function Bo(e,t){if(e.kind!=="textValue"){for(let n of e.attributes)if(n.namespaceUri===la&&n.localName===t)return n.value}}function Fd(e){return e.startsWith("_")}function jo(e){let t=new Map,n=[],o=new Set;for(let r of e.paragraphIds){let a=e.node(r);if(a?.kind!=="paragraph")continue;let s=jg(a),u=d=>{if(d.kind!=="textValue"){if(d.kind==="bookmarkStart"){if(n.length>=hs||t.size>=hs)return;let c=Bo(d,"id"),p=Bo(d,"name");if(c===void 0||p===void 0||p.length===0||p.length>Hd||Fd(p)||o.has(p)||t.has(c))return;let m=s.spanOf(d)?.start??0;t.set(c,{name:p,start:{paragraphId:r,offset:m}});return}if(d.kind==="bookmarkEnd"){let c=Bo(d,"id");if(c===void 0)return;let p=t.get(c);if(!p)return;t.delete(c),o.add(p.name);let m=s.spanOf(d)?.start??0;n.push(Object.freeze({name:p.name,start:p.start,end:{paragraphId:r,offset:m}}));return}for(let c of d.children)u(c);}};for(let d of a.children)u(d);}return Object.freeze(n)}function _o(e,t){return jo(e).find(n=>n.name===t)??null}function ys(e,t){let n=e.node(t);if(n?.kind!=="paragraph")return Object.freeze([]);let o=jg(n),r=[],a=(s,u)=>{if(!(s.kind==="textValue"||u>32)){if(yd$1(s)){let d=o.spanOf(s);d&&r.push(Object.freeze({id:s.id,paragraphId:t,start:d.start,end:d.end}));return}for(let d of s.children)a(d,u+1);}};for(let s of n.children)a(s,0);return Object.freeze(r)}function ks(e,t,n){let o=Bd$1(n,r=>Ig(e,t,r));if(o.kind==="external")return o.href;if(o.kind==="internal"){let r=zd$1(n);return r===void 0||r.length===0?null:`#${r}`}return null}function xs(e,t,n,o,r){let a=Math.min(r?.limit??2e3,2e3),s=[],u=ve(t,e),d=u.length-1;for(let[c,p]of u.entries()){if(a<=0)break;let m=e.projectedText(p,r?.projection??"allMarkup");if(!m)continue;let k=m.findOccurrences(En(o),a,{matchCase:r?.matchCase===true,wholeWord:r?.matchWholeWord===true,...c===0&&t?{from:m.projectedOffset(t.start.offset)}:{},...c===d&&t?{to:m.projectedOffset(t.end.offset)}:{}});for(let g of k.matches){if(c===0&&t&&g.rawStart<t.start.offset||c===d&&t&&g.rawEnd>t.end.offset)continue;let A=n.paragraph(p,e.story);s.push({start:{paragraph:A,offset:g.rawStart},end:{paragraph:A,offset:g.rawEnd}}),a-=1;}}return {ok:true,spans:s}}var vs=256,Bd=1<<22,bs=new WeakMap,jd={story:new Map,copy:new Set};function _d(e){return e.kind!=="textValue"&&e.namespaceUri===la&&e.localName==="txbxContent"}function Ud(e){let t=e.children.find(r=>r.kind!=="textValue"&&r.namespaceUri===oa&&r.localName==="Fallback");if(!t||t.kind==="textValue")return null;let n=null,o=[{node:t,depth:0}];for(;o.length>0;){let{node:r,depth:a}=o.pop();if(!(r.kind==="textValue"||a>vs)){if(_d(r)){if(n)return null;n=r;continue}for(let s of r.children)o.push({node:s,depth:a+1});}}return n}function As(e,t,n,o,r){let a=[{node:e,depth:0}];for(;a.length>0;){let{node:s,depth:u}=a.pop();if(--o.left<0||u>vs)return false;if(s.kind!=="textValue"){n.set(s.id,t),r?.add(s.id);for(let d of s.children)a.push({node:d,depth:u+1});}}return true}function Gt(e){let t=bs.get(e.root);if(t)return t;let n={left:Bd},o=On(e,Rc(Qc(e)??e.root)),r=new Map,a=new Set,s=o.ok;for(let d of o.ok?o.shapes:[]){if(!s)break;let c=d.textboxRoot;if(!c)continue;s=As(c,c.id,r,n);let p=d.alternate?Ud(d.alternate):null;s&&p&&(s=As(p,c.id,r,n,a));}let u=!s||r.size===0?jd:{story:r,copy:a};return bs.set(e.root,u),u}function Os(e,t,n,o){return t.length===0?n===null&&o():n===null?t.every(r=>!e.story.has(r))&&o():t.every(r=>e.story.get(r)===n)&&t.some(r=>!e.copy.has(r))}var Vd={insert:"Insert",delete:"Delete",replace:"Replace",moveFrom:"MovedFrom",moveTo:"MovedTo",format:"Property",paragraphMark:"ParagraphProperty"};function Ps(e,t){return t.length===0?!at(e.story):t.every(n=>e.has(n.start.paragraphId))}function $d(e,t){if(e.story.kind==="note")return Ps(e,t.ranges);let n=Gt(e.part),o=e.story.kind==="textbox"&&e.root.kind!=="textValue"?e.root.id:null;return Os(n,wj(t),o,()=>Ps(e,t.ranges))}function Vn(e){return Object.freeze(fk(e.part).filter(t=>$d(e,t)))}function Uo(e){let t=[];for(let n of Vn(e)){if(n.readOnly)continue;let o=n.structuralChanges?.length===1?n.structuralChanges[0]:void 0,r=n.revisionKind==="structural"?o==="rowInsert"?"Insert":o==="rowDelete"?"Delete":void 0:Vd[n.revisionKind];r!==void 0&&t.push(Object.freeze({id:n.id,type:r,author:n.author,date:n.date??"",item:n}));}return Object.freeze(t)}function Wd(e,t){let n=e;for(let o=0;n!==void 0&&o<=64;o+=1){if(n.parentId===void 0)return n.range!==null;n=t.get(n.parentId);}return false}var zd=Object.freeze({items:Object.freeze([]),roots:Object.freeze([]),byId:()=>null,textOf:()=>""});function Rs(e,t){let n=e.parts.get(aa(e,t.part.name));if(!n)return zd;let o=e.parts.get(ba(e,t.part.name)),r=$h(n),a=o?ai$1(o):new Map,s=Zh(t.part).filter(m=>t.has(m.start.paragraphId)),u=gk(r,s,a),d=new Map(u.map(m=>[m.id,m])),c=u.filter(m=>Wd(m,d)),p=new Map(c.map(m=>[m.id,m]));return Object.freeze({items:Object.freeze(c),roots:Object.freeze(c.filter(m=>m.parentId===void 0)),byId:m=>p.get(m)??null,textOf:m=>{let k=p.get(m);return k?Nj(k.comment):""}})}var Kd=64,Is=new WeakMap;function Vo(e,t){if(e.kind==="textValue")return -1;let n=Is.get(e);if(!n){let o=new Map;e.children.forEach((r,a)=>{o.has(r.id)||o.set(r.id,a);}),n=o,Is.set(e,n);}return n.get(t)??-1}var Gd=new Set(["drawing","pict","object","AlternateContent","txbxContent"]),$n=(e,t)=>({code:"unsupported-capability",message:e,detail:t});function Ss(e,t){let n=Ta(e,t);if(!n||n.kind!=="paragraph")return null;if(eg(cg(n),"sectPr"))return $n("a tracked deletion cannot remove a section break","section-mark");let o=false,r=0,a=false,s=false,u=(d,c)=>{if(!(d.kind==="textValue"||s)){if(c>Kd){s=true;return}if(!(ja(d.kind)||Gd.has(d.localName))){if(d.kind==="contentControl"&&(o=true),d.kind==="fldChar"){let p=of(d);p==="begin"?r+=1:p==="end"&&(r===0?a=true:r-=1);}for(let p of d.children)u(p,c+1);}}};for(let d of n.children)u(d,0);return s?$n("the paragraph nests content too deeply to check","depth"):o?$n("a tracked paragraph deletion cannot remove an inline content control","control"):a||r>0?$n("a field crosses this paragraph mark","cross-paragraph-field"):null}function ws(e,t){let n=Ua(e,t);if(!n)return null;let o=Vo(n,t);if(o<0)return null;for(let r=o+1;r<n.children.length;r+=1){let a=n.children[r];if(a.kind==="paragraph")return a;if(!Pj(a))return null}return null}function Cs(e,t){if(t.length<2)return true;let n=Ua(e,t[0]);if(!n)return false;let o=n.children,r=Vo(n,t[0]);if(r<0)return false;for(let a=1;a<t.length;a+=1){let s=r+1;for(;s<o.length&&o[s].kind!=="paragraph"&&Pj(o[s]);)s+=1;if(o[s]?.id!==t[a])return false;r=s;}return true}function Ts(e,t,n){let o=Ua(e,t);if(!o)return false;let r=Vo(o,t);for(let a=r-1;a>=0;a-=1){let s=o.children[a];if(s.kind==="paragraph")return dl$1(s,"del")?.author===n;if(!Pj(s))return false}return false}function Es(e,t,n,o){if(e.op==="insertText")return {op:"proposeInsertion",span:{start:e.at,end:e.at},text:e.text,where:"Before",author:t};if(e.op==="replaceSpan")return {op:"proposeReplacement",span:e.span,text:e.text,author:t};if(e.op!=="deleteParagraph")return e;let r=ce(e.paragraph,n,o);if(!r.ok)return {ok:false,error:{code:r.code,message:"that handle does not name a paragraph",detail:r.detail}};let{story:a,paragraphId:s,index:u}=r.value,d=o.story(a),c=d?.paragraphIds[u+1];return !d||c===void 0||ws(d.part,s)?.id!==c?{ok:false,error:{code:"unsupported-capability",message:"a tracked paragraph deletion needs a next paragraph in the same container",detail:"paragraph"}}:{op:"proposeDeletion",span:{start:{paragraph:e.paragraph,offset:0},end:{paragraph:n.paragraph(c,a),offset:0}},author:t}}function Ns(e,t,n){return Ts(e,t,n.trim())?{ok:false,error:{code:"unsupported-revision",message:"a deletion beside the author's pending deletion would review as one decision",detail:"span"}}:null}function Ls(e,t,n,o,r,a=true){let s=(E,I,_)=>({ok:false,error:{code:E,message:I,..._===void 0?{}:{detail:_}}}),u=E=>Ve(E,n),d=E=>({ok:true,kind:"query",value:E}),c=Di(e,t);if(c)return {ok:false,error:c};let p=e.op==="proposeInsertion",m=e.op==="proposeDeletion",k=J(e.span,n,o);if(!k.ok)return s(k.code,"that span is not a place",k.detail);let g=k.value;if(g&&t&&!p&&g.start.paragraphId!==g.end.paragraphId){if(!a&&!m&&e.text!=="")return s("unsupported-capability","tracked paragraph-range replacement is unsupported in collaboration","span");let E=oe(e.span,n,o);if(!E.ok)return s(E.code,"that story is not a place",E.detail);let I=E.value,_=I.indexOf(g.start.paragraphId),K=I.indexOf(g.end.paragraphId),W=I.paragraphIds.slice(_,K+1);if(!Cs(I.part,W))return s("unsupported-content","tracked ranges require adjacent sibling paragraphs","span");if(g.start.offset===0){let le=Ns(I.part,W[0],e.author);if(le)return le}let z={author:e.author.trim(),date:new Date().toISOString()},Z=[],Q=[];for(let le=0;le<W.length;le++){let de=W[le],Se=le===0?g.start.offset:0,Pe=le===W.length-1?g.end.offset:(I.rawText(de)??"").length,ze=It(I,de,Se,Pe)??(le<W.length-1?Ss(I.part,de):null);if(ze)return {ok:false,error:ze};let $=Pe>Se||le<W.length-1?r(I,de):null;if($)return $;Pe>Se&&Z.push({op:"deleteText",paragraphId:de,start:Se,end:Pe,revision:z}),le<W.length-1&&Q.push({op:"setParagraphMarkRevision",paragraphId:de,kind:"del",revision:z});}Z.push(...Q);let ae={...g.start,offset:(I.rawText(W[0])??"").length},ge=m?"":e.text,be=Ze(I.part,W[0],g.start.offset,ae.offset,ge);return be||(ge&&Z.push({op:"insertText",paragraphId:W[0],offset:ae.offset,text:ge,revision:z}),{ok:true,kind:"command",ops:Z,story:I.story,answer:()=>({kind:"span",span:u({start:ae,end:{...ae,offset:ae.offset+ge.length}})})})}if(!g||g.start.paragraphId!==g.end.paragraphId)return s("unsupported-content","proposals require a single paragraph range","span");if(!t&&!p&&g.start.offset===g.end.offset)return s("unsupported-content","deletion and replacement need a non-empty range","span");let A=oe(e.span,n,o);if(!A.ok)return s(A.code,"that story is not a place",A.detail);let v=g.start.paragraphId,R=p&&e.where==="After"?g.end.offset:g.start.offset,w=p?R:g.end.offset;if(t&&!p&&w>R&&R===0){let E=Ns(A.value.part,v,e.author);if(E)return E}if(t&&!m&&R===w&&e.text==="")return d({kind:"span",span:u({start:g.start,end:g.start})});let O=It(A.value,v,R,w,t&&p?e.author.trim():void 0,p&&R===(A.value.rawText(v)??"").length,t&&!p&&w>R?e.author.trim():void 0);if(O)return {ok:false,error:O};if(!m){let E=Ze(A.value.part,v,R,w,e.text);if(E)return E}let M=r(A.value,v);if(M)return M;let D={author:e.author.trim(),date:new Date().toISOString()},N=[];return !p&&w>R&&N.push({op:"deleteText",paragraphId:v,start:R,end:w,revision:D}),!m&&e.text.length>0&&N.push({op:"insertText",paragraphId:v,offset:p?R:w,text:e.text,revision:D}),{ok:true,kind:"command",ops:N,story:A.value.story,answer:()=>{if(!t)return {kind:"applied"};let E={...g.start,offset:p?R:w};return {kind:"span",span:u({start:E,end:{...E,offset:E.offset+(m?0:e.text.length)}})}}}}function Ds(e,t,n){return It(e,t,0,(e.rawText(t)??"").length,n,true)}var Ms=5e4;function Wn(e,t,n){if("body"in e){let o=ue(e.body,"body",t,n);return o.ok?{ok:true,reads:o.value}:{ok:false,code:o.code,message:"that handle does not name a body",detail:o.detail}}return t.resolve(e.document,"document")?n.body?{ok:true,reads:n.body}:{ok:false,code:"document-unavailable",message:"this host holds no document"}:{ok:false,code:"invalid-handle",message:"that handle does not name a document",detail:"document"}}function Xd(e,t){if(t.root.kind!=="textValue"&&_j({...t.part,root:t.root}).length===0)return [];let n=e.op,o=Gt(t.part),r=()=>_j(t.part).map(d=>d.node.id),a=d=>{let c=[];for(let p=0;p<d.length;p+=Ms)c.push({op:n,siteNodeIds:d.slice(p,p+Ms)});return c};if(t.story.kind==="textbox"){let d=t.root.id,c=o.copy.size?r().filter(p=>o.copy.has(p)&&o.story.get(p)===d):[];return [{op:n,scopeRootId:d},...a(c)]}if(at(t.story))return [{op:n,scopeRootId:t.root.id}];if(o.story.size===0)return [{op:n}];let s=r(),u=s.filter(d=>!o.story.has(d));return u.length===s.length?[{op:n}]:a(u)}function Hs(e,t,n){let o=Wn({op:"acceptAllRevisions",body:e.body},t,n);if(!o.ok)return o;if(e.revisions!==void 0&&!Array.isArray(e.revisions))return {ok:false,code:"unsupported-content",message:"invalid revision batch"};let r=e.revisions===void 0?void 0:[];r===void 0&&!at(o.reads.story)&&Gt(o.reads.part).story.size>0&&(r=Vn(o.reads).map(xj));for(let s of e.revisions??[]){let u=t.resolve(s,"revision");if(!u||u.kind!=="revision"||G(u.story)!==G(o.reads.story))return {ok:false,code:"invalid-handle",message:"revision does not belong to this story"};r.push(`revision-${u.revisionId}`);}let a=at(o.reads.story)?o.reads.root:void 0;return {ok:true,reads:o.reads,keys:r,scopeRoot:a}}function Yd(e,t,n){let o=Hs(e,t,n);if(!o.ok)return o;if(!["accept","reject"].includes(e.action))return {ok:false,code:"unsupported-content",message:"invalid revision batch"};let r=va(o.reads.part,e.action,o.keys,o.scopeRoot);return {ok:true,reads:o.reads,...r}}function Jd(e,t,n){let o={author:e.author,...e.date===void 0?{}:{date:e.date}};if(typeof e.author!="string"||e.date!==void 0&&typeof e.date!="string"||kk(o)||e.authors!==void 0&&(e.revisions!==void 0||!Array.isArray(e.authors)||e.authors.some(s=>typeof s!="string")))return {ok:false,code:"unsupported-content",message:"author must be nonblank text, date an xsd:dateTime, and authors a list without revisions"};let r=Hs(e,t,n);if(!r.ok)return r;let a=lk(r.reads.part,o,r.keys,r.scopeRoot,e.authors);return {ok:true,reads:r.reads,...a}}function Qd(e,t,n,o){let r=Wn({op:"acceptAllRevisions",body:e},n,o);if(!r.ok)throw new Error("resolved story disappeared");let a=Vn(r.reads).length;return {kind:"revisionBatch",result:{...t,remaining:a}}}function Fs(e,t,n,o){if(e.op==="setRevisionAuthorBatch"){let s=Jd(e,t,n);if(!s.ok)return {ok:false,error:{code:s.code,message:s.message}};let u=o(s.reads);return u||{ok:true,kind:"command",story:s.reads.story,ops:s.ops,answer:d=>{let c=Wn({op:"acceptAllRevisions",body:e.body},t,d);if(!c.ok)throw new Error("reattributed story disappeared");let p=s.finish(c.reads.part),m="revision-";return t.retargetRevisions(s.reads.story,p.updated.flatMap(({previousKey:k,key:g})=>k.startsWith(m)&&g.startsWith(m)?[{from:k.slice(m.length),to:g.slice(m.length)}]:[])),{kind:"revisionAuthors",result:p}}}}if(e.op==="resolveRevisionBatch"){let s=Yd(e,t,n);if(!s.ok)return {ok:false,error:{code:s.code,message:s.message}};let u=o(s.reads);return u||{ok:true,kind:"command",story:s.reads.story,ops:s.ops,answer:d=>Qd(e.body,s.result,t,d)}}let r=Wn(e,t,n);if(!r.ok)return {ok:false,error:{code:r.code,message:r.message,detail:r.detail}};let a=o(r.reads);return a||{ok:true,kind:"command",story:r.reads.story,ops:Xd(e,r.reads),answer:()=>({kind:"applied"})}}function Bs(e,t,n){let o=va(e.part,n,[xj(t)],at(e.story)?e.root:void 0);return o.result.skipped.length?[]:o.ops}var Zd=/[\r\n\u2028\u2029]/u,_s=Object.freeze({kind:"applied"});function pt(e,t,n){return {ok:false,error:Object.freeze(n===void 0?{code:e,message:t}:{code:e,message:t,detail:n})}}function $o(e,t){return pt("unsupported-content",e==="author"?"a comment records who wrote it":e==="date"?"a comment date must be a valid ISO-8601 instant":t==="reply"?"a reply says something":"a comment says something",e)}function Wo(e){return U(e.author)?$o("author",e.kind):V(e.text)?$o("text",e.kind):typeof e.text=="string"&&Zd.test(e.text)?pt("unsupported-content",e.kind==="reply"?"a reply is one paragraph in this slice":"a comment is one paragraph in this slice","text"):X(e.date)?$o("date",e.kind):null}function zo(e){if(e===void 0)return;let t=W(e);return t.ok?t.value:void 0}function js(e,t){let n=Ta(e.part,t);for(;n;){if(n.kind==="tableCell"||n.kind!=="textValue"&&n.namespaceUri===la&&n.localName==="tc")return n.id;n=Ua(e.part,n.id);}return null}function Us(e,t,n,o){let r=Wo({author:e.author,text:e.text,date:e.date,kind:"comment"});if(r)return r;let a=J(e.span,t,n);if(!a.ok)return pt(a.code,"that span is not a place",a.detail);if(a.value===null)return pt("invalid-handle","an empty story has no comment anchor");let s=oe(e.span,t,n);if(!s.ok)return pt(s.code,"that span is not a place",s.detail);if(s.value.story.kind==="textbox")return pt("unsupported-content","a comment cannot be anchored in a text box");let u=a.value;if(js(s.value,u.start.paragraphId)!==js(s.value,u.end.paragraphId))return pt("unsupported-content","a comment range cannot cross a table-cell boundary");let d=o(s.value);if(d)return d;let c=zo(e.date);return {ok:true,kind:"commentWrite",write:{kind:"create",anchor:{paragraphId:u.start.paragraphId,start:u.start.offset,end:u.end.offset,...u.end.paragraphId===u.start.paragraphId?{}:{endParagraphId:u.end.paragraphId}},text:e.text,author:e.author,...c===void 0?{}:{date:c}},story:s.value.story,answer:(m,k)=>k===void 0?_s:{kind:"handle",handle:t.comment(k,s.value.story)}}}function Vs(e,t,n){let o=n(t);if(o)return o;let r=t.story;return {ok:true,kind:"commentWrite",write:{kind:"delete",commentId:e.id,...e.parentId===void 0?{}:{parentCommentId:e.parentId},...r.kind==="note"?{noteId:r.noteId}:{}},story:r,answer:()=>_s}}var qd=1e4;function $s(e,t){let n=[],o=t.kind==="contentControl"?Xb(t):t;if(!o)return n;for(let r of $b(o))if(!(r.ancestors.length>0)){if(n.length>=qd)break;n.push(Xs(e,r.node));}return n}function Ws(e,t){for(let n of $b(e.root))if(n.node.id===t)return Xs(e,n.node);return null}function zs(e,t){for(let n of $b(e.root))if(n.node.id===t)return n.node;return null}function Ks(e,t){for(let n of e.paragraphIds){let o=e.node(n);if(!(!o||o.kind!=="paragraph")&&$b(o).some(r=>r.node.id===t))return o}return null}function zn(e,t){let n=Ys(t);if(n.length>0){let a=n[0],s=n[n.length-1],u=e.rawText(s);return u===null||!e.has(a)?null:{start:{paragraphId:a,offset:0},end:{paragraphId:s,offset:u.length}}}let o=Ks(e,t.id);if(!o)return null;let r=jg(o).spanOf(t);return r?{start:{paragraphId:o.id,offset:r.start},end:{paragraphId:o.id,offset:r.end}}:null}function eu(e,t,n){let o=Ks(e,t.id),r=Xb(t);if(!o||!r)return null;let a={...o,children:r.children},s=Wi$1(a);return Sn(a,s,n).text}function Gs(e,t,n="allMarkup"){if(n==="allMarkup")return bc(t,kh);let o=eu(e,t,n);if(o!==null)return o;let r=zn(e,t);if(!r)return "";let a=e.indexOf(r.start.paragraphId),s=e.indexOf(r.end.paragraphId);if(a<0||s<a)return "";let u=[];for(let d=a;d<=s;d+=1){let c=e.paragraphIds[d],p=e.projectedText(c,n),m=e.rawText(c);if(!p||m===null)return "";u.push(p.sliceRaw(d===a?r.start.offset:0,d===s?r.end.offset:m.length));}return u.join("\r")}function Xs(e,t){return {nodeId:t.id,properties:Zb(t),lock:nk(e.part,t.id),paragraphIds:Ys(t)}}function Ys(e){let t=Xb(e);if(!t)return [];let n=[];return Sc(t.children,n,0),n.map(o=>o.id)}var tu=new Set(["unlocked","sdtLocked","contentLocked","sdtContentLocked"]),nu=4096,Js=64;function Qs(e){if(e===void 0)return {ok:true,value:null};if(typeof e!="object"||e===null)return {ok:false,field:"payload"};let t=e;for(let n of ["namespaceUri","rootLocalName","nodeId"]){let o=t[n];if(typeof o!="string"||o.length===0||o.length>nu)return {ok:false,field:n}}return typeof t.label!="string"||t.label.length>ga?{ok:false,field:"label"}:typeof t.data!="string"||t.data.length===0||t.data.length>fa?{ok:false,field:"data"}:{ok:true,value:{namespaceUri:t.namespaceUri,rootLocalName:t.rootLocalName,nodeId:t.nodeId,label:t.label,data:t.data}}}function Zs(e){let t=e.at!==void 0,n=e.span!==void 0;return t===n?{message:"a custom node goes at a position or over a span, not both",detail:t?"at+span":"no-place"}:typeof e.tag!="string"||e.tag.length===0?{message:"a custom node carries its identity in its tag",detail:"tag"}:e.tag.length>Js?{message:`w:tag caps at ${String(Js)} characters; a longer payload belongs in the store`,detail:"tag"}:typeof e.text!="string"||e.text.length===0?{message:"a custom node shows some text",detail:"text"}:e.lock!==void 0&&!tu.has(e.lock)?{message:"that is not a lock",detail:String(e.lock)}:null}function qs(e,t,n,o){return {paragraphId:t.paragraphId,offset:t.offset,...n.offset>t.offset?{replaceUntil:n.offset}:{},tag:e.tag,text:e.text,...e.title===void 0?{}:{alias:e.title},...e.lock===void 0||e.lock==="unlocked"?{}:{lock:e.lock},...o===null?{}:{payload:o}}}function el(e,t,n){if(e.span){let r=J(e.span,t,n);return r.ok?r.value?r.value.start.paragraphId!==r.value.end.paragraphId?{code:"unsupported-content",message:"a custom node wraps text inside one paragraph",detail:"multi-paragraph"}:{range:r.value}:{code:"invalid-offset",message:"that story holds nothing to wrap",detail:"empty-story"}:{code:r.code,message:"that span is not a place",detail:r.detail}}let o=vt(e.at,t,n);return o.ok?{range:{start:o.value,end:o.value}}:{code:o.code,message:"that is not a place",detail:o.detail}}var ou=16,ru=64;function au(e,t,n){return Object.freeze(n===void 0?{code:e,message:t}:{code:e,message:t,detail:n})}function y(e,t,n){return {ok:false,error:au(e,t,n)}}var se=Object.freeze({kind:"applied"});function F(e){return {ok:true,kind:"query",value:e}}function Ko(e){let{runPropertyEdits:t,mergedParagraphMarkProperties:n}=ki(()=>e.reads.package?bd$1(e.reads.package)?.root??null:null,()=>e.reads.package?Tg(e.reads.package)?.root??null:null,()=>e.displayMode??"proposed"),{handles:o,capabilities:r}=e,a=e.reads,s=new Map,u=new Map,d=l=>{let h=`${G(l.story)}:${l.root.id}`,b=s.get(h);if(b)return b;let P=new Map,C=l.paragraphIds.map(i=>{let f={id:i};return P.set(i,f),f}),L={externalCreatedCount:0,reads:l,order:C,slotById:P,created:[],restructured:new Set,touched:new Set,textEdits:new Ln,formatted:new Set,selected:new Set,retargets:[]};return s.set(h,L),L},c=[],p=gs(),m=false,k=null,g=l=>k===null?(k=l,null):k===l?null:y("conflicting-operations","one batch writes into one story",`${G(k.reads.story)} then ${G(l.reads.story)}`),A=l=>g(d(l)),v=l=>{let h=a.package;return h===null?null:Rs(h,l)},R=l=>{let h=o.resolve(l,"comment");if(!h||h.kind!=="comment")return {ok:false,planned:y("invalid-handle","that handle does not name a comment","comment")};let b=a.story(h.story);if(!b)return {ok:false,planned:y("invalid-handle","that story is not in this document")};let C=v(b)?.byId(h.commentId)??null;return C?{ok:true,reads:b,item:C}:{ok:false,planned:y("invalid-handle","this document no longer holds that comment",h.commentId)}},w=l=>{let h=o.resolve(l,"revision");if(!h||h.kind!=="revision")return {ok:false,planned:y("invalid-handle","that handle does not name a tracked change","revision")};let b=a.story(h.story);if(!b)return {ok:false,planned:y("invalid-handle","that story is not in this document")};let P=Uo(b).find(C=>C.id===h.revisionId)??null;return P?{ok:true,reads:b,item:P}:{ok:false,planned:y("invalid-handle","this document no longer holds that tracked change",h.revisionId)}},O=(l,h)=>{let b=l.rawText(h.start.paragraphId),P=l.rawText(h.end.paragraphId);if(b===null||P===null)return null;let C={story:l.story,paragraphId:h.start.paragraphId,index:l.indexOf(h.start.paragraphId),offset:Math.min(h.start.offset,b.length)},L={story:l.story,paragraphId:h.end.paragraphId,index:l.indexOf(h.end.paragraphId),offset:Math.min(h.end.offset,P.length)};return K({start:C,end:L})},M=(l,h)=>l.order.indexOf(h),D=(l,h)=>l.selected.has(h)?y("conflicting-operations","this batch selects a paragraph it also edits",h):null,N=(l,h)=>{let b=D(l,h);return b||(l.restructured.has(h)||l.touched.has(h)?y("conflicting-operations","another operation in this batch already changes that paragraph",h):(l.restructured.add(h),l.touched.add(h),null))},E=(l,h)=>{let b=D(l,h);return b||(l.restructured.has(h)||l.textEdits.has(h)?y("conflicting-operations","another operation in this batch restructures that paragraph",h):(l.touched.add(h),null))},I=(l,h,b)=>{let P=`${b}:${h}`;if(l.formatted.has(P))return y("conflicting-operations","another operation in this batch already writes that formatting",h);let C=E(l,h);return C||(l.formatted.add(P),null)},_=(l,h)=>{let b={id:null};return l.order.splice(h,0,b),l.created.push(b),b},K=l=>Ve(l,o),W=l=>l===null?null:a.story(l.start.story),z=l=>l===void 0||l==="allMarkup"||l==="original"||l==="model",Z=(l,h,b,P)=>{if(!z(P?.projection))return y("unsupported-content","unknown text projection","projection");if(P?.matchWildcards===true)return y("unsupported-capability","wildcard search is not implemented","matchWildcards");if(P?.ignorePunct===true)return y("unsupported-capability","ignoring punctuation is not implemented","ignorePunct");if(P?.ignoreSpace===true)return y("unsupported-capability","ignoring whitespace is not implemented","ignoreSpace");if(!sa$1(b))return y("unsupported-content","that is not a query this host will scan for","text");let C=P?.limit;if(C!==void 0&&(!Number.isInteger(C)||C<0))return y("invalid-offset","limit must be a non-negative integer",String(C));let L=xs(l,h,o,b,P);return L.ok?F({kind:"spans",spans:L.spans}):y("invalid-offset","projection mapping failed",L.paragraphId)},Q=(l,h,b,P=false)=>{let C=h.start.paragraphId,L=l.textEdits.has(C)?D(l,C):l.touched.has(C)?y("conflicting-operations","text edits cannot share a paragraph with other edits",C):E(l,C);return L||Ai(l.textEdits,h,b,o,P)},ae=(l,h,b,P=false)=>{if(typeof b!="string"||Qe.test(b))return y("unsupported-content","insertText needs text without paragraph marks","text");let C=Ze(l.reads.part,h.paragraphId,h.offset,h.offset,b);if(C)return C;let L=g(l);if(L)return L;let i=e.replacementLanding?.(h.paragraphId,h.offset,h.offset)!=null,f=!i&&bi(l.reads.part,h.paragraphId,h.offset,b);if(f)return f;if(!i&&To(l.reads.part,h.paragraphId,h.offset))return Q(l,{start:h,end:h},b,P);let x=N(l,h.paragraphId);return x||{ok:true,kind:"command",ops:Pt(h.paragraphId,h.offset,b),story:l.reads.story,answer:()=>({kind:"span",span:K({start:h,end:{...h,offset:h.offset+b.length}})})}},ge=(l,h,b)=>{let P=l.reads;if(typeof b!="string")return y("unsupported-content","replaceSpan needs text","text");if(Qe.test(b))return y("unsupported-content","text carrying a paragraph mark is not written by this host","paragraph-mark-in-text");let C=ve(h,P),L=h.start.paragraphId,i=[],f=C.length===1?h.end.offset:h.start.offset,x=Ze(P.part,L,h.start.offset,f,b);if(x)return x;let S=g(l);if(S)return S;let T=C.length===1?h.end.offset:(P.rawText(L)??"").length,H=e.replacementLanding?.(L,h.start.offset,T);if(C.length===1&&H==null&&To(P.part,L,h.start.offset))return Q(l,h,b);if(C.length===1){let re=N(l,L);if(re)return re;if(H==null)return Oi(P.part,h,b,o);h.end.offset>h.start.offset&&i.push({op:"deleteText",paragraphId:L,start:h.start.offset,end:h.end.offset});}else {for(let te of C){let ne=N(l,te);if(ne)return ne}let re=h.end.paragraphId,U=(P.rawText(L)??"").length;h.start.offset<U&&i.push({op:"deleteText",paragraphId:L,start:h.start.offset,end:U}),h.end.offset>0&&i.push({op:"deleteText",paragraphId:re,start:0,end:h.end.offset});for(let te of C.slice(1,-1))i.push({op:"deleteBlock",blockId:te});i.push({op:"joinParagraphs",firstId:L,secondId:re});for(let te of C.slice(1)){let ne=l.slotById.get(te);ne&&l.order.splice(M(l,ne),1);}}let B=H??h.start.offset;i.push(...Pt(L,B,b));let q={...h.start,paragraphId:L,offset:B},X=()=>({kind:"span",span:K({start:q,end:{...q,offset:q.offset+b.length}})});return {ok:true,kind:"command",ops:i,story:l.reads.story,answer:X}},be=(l,h)=>{let b=l.reads;if(typeof h!="string")return y("unsupported-content","replaceSpan needs text","text");if(Qe.test(h))return y("unsupported-content","text carrying a paragraph mark is not written by this host","paragraph-mark-in-text");let P=b.blocks,C=P.filter(U=>U.removable),L=P.filter(U=>!U.removable).flatMap(U=>U.paragraphIds),i=L.length===0?C.find(U=>U.kind==="paragraph"):void 0;if(!i&&L.length===0)return y("invalid-offset","that story holds no paragraph this host can write into","no-top-level-paragraph");let f=g(l);if(f)return f;for(let U of b.paragraphIds){let te=N(l,U);if(te)return te}let x=[],S=(i?[i.id]:[...L]).sort((U,te)=>b.indexOf(U)-b.indexOf(te)),T=S[0],H=(b.rawText(T)??"").length;for(let U of S){let te=(b.rawText(U)??"").length;te>0&&x.push({op:"deleteText",paragraphId:U,start:0,end:te});}for(let U of C)U.id!==i?.id&&x.push({op:"deleteBlock",blockId:U.id});let B=e.replacementLanding?.(T,0,H)??0,q=Ze(b.part,T,0,H,h);if(q)return q;x.push(...Pt(T,B,h));for(let U of C)if(U.id!==i?.id)for(let te of U.paragraphIds){let ne=l.slotById.get(te);ne&&l.order.splice(M(l,ne),1);}let X={story:b.story,paragraphId:T,index:b.indexOf(T),offset:B},re=()=>({kind:"span",span:K({start:X,end:{...X,offset:B+h.length}})});return {ok:true,kind:"command",ops:x,story:b.story,answer:re}},le=(l,h)=>{if(!Array.isArray(h)||h.length<1||h.length>1e4||h.some(P=>typeof P!="string"||Qe.test(P))||!nh(h))return y("unsupported-content","replaceStoryBlocks needs 1-10000 valid XML text strings without paragraph marks","paragraphs");let b=g(l);if(b)return b;for(let P of l.reads.paragraphIds){let C=N(l,P);if(C)return C}l.order.splice(0,l.order.length);for(let P=0;P<h.length;P+=1)_(l,P);return {ok:true,kind:"command",ops:[{op:"replaceStoryBlocks",storyRootId:l.reads.root.id,paragraphs:h}],story:l.reads.story,answer:()=>se}},de=(l,h,b,P)=>{let C=l.reads;if(typeof P!="string")return y("unsupported-content","insertParagraph needs text","text");if(Qe.test(P))return y("unsupported-content","a paragraph mark inside a paragraph\u2019s text is not written by this host","paragraph-mark-in-text");let L=g(l);if(L)return L;let i=N(l,h.paragraphId);if(i)return i;let f=l.slotById.get(h.paragraphId);if(!f)return y("invalid-handle","that paragraph is not in the body");let x=(C.rawText(h.paragraphId)??"").length,S=b==="after"?x:0,T=Ze(C.part,h.paragraphId,S,S,P);if(T)return T;let H=[];b==="after"?(H.push(...Pt(h.paragraphId,x,P)),H.push({op:"splitParagraph",paragraphId:h.paragraphId,offset:x})):(H.push(...Pt(h.paragraphId,0,P)),H.push({op:"splitParagraph",paragraphId:h.paragraphId,offset:P.length}));let B=_(l,M(l,f)+1);b==="before"&&l.retargets.push({from:h.paragraphId,slot:B});let q=()=>{let X=b==="after"?B.id:h.paragraphId;return X===null?se:{kind:"handle",handle:o.paragraph(X,C.story)}};return {ok:true,kind:"command",ops:H,story:C.story,answer:q}},Se=(l,h,b,P,C)=>{let L=l.reads;if(!Array.isArray(b)||b.length===0)return y("unsupported-content","split needs at least one delimiter","delimiters");if(b.length>ou)return y("unsupported-content","too many delimiters",String(b.length));for(let U of b){if(typeof U!="string"||U.length===0)return y("unsupported-content","a delimiter must be a non-empty string","delimiters");if(U.length>ru)return y("unsupported-content","that delimiter is too long","delimiters")}let i=g(l);if(i)return i;let f=N(l,h.paragraphId);if(f)return f;let x=l.slotById.get(h.paragraphId);if(!x)return y("invalid-handle","that paragraph is not in the body");let{text:S,occurrences:T}=Ri(L,h.paragraphId,b),H=[],B=[],q=[];if(T.length===0)q.push(S);else if(P){for(let ne of [...T].reverse())H.push({op:"deleteText",paragraphId:h.paragraphId,start:ne.start,end:ne.start+ne.length});let U=0,te=0;for(let ne of T){let Jn=ne.start-U;B.push(Jn),q.push(S.slice(te,ne.start)),te=ne.start+ne.length,U+=ne.length;}q.push(S.slice(te));}else {let U=0;for(let te of T){let ne=te.start+te.length;B.push(ne),q.push(S.slice(U,ne)),U=ne;}q.push(S.slice(U));}B.length>0&&H.push({op:"splitParagraphMany",paragraphId:h.paragraphId,offsets:B});let X=[x];for(let U=0;U<B.length;U+=1)X.push(_(l,M(l,x)+1+U));let re=U=>{let te=U.story(L.story),ne=[];return X.forEach((Jn,Pl)=>{let Qn=Jn.id;if(Qn===null)return;let Zn=te?.rawText(Qn)??q[Pl]??"",[Rl,Il]=C?wi(Zn,0,Zn.length):[0,Zn.length],or=o.paragraph(Qn,L.story);ne.push({start:{paragraph:or,offset:Rl},end:{paragraph:or,offset:Il}});}),{kind:"spans",spans:ne}};return {ok:true,kind:"command",ops:H,story:L.story,answer:re}},Pe=(l,h)=>{let b=g(l);if(b)return b;let P=N(l,h.paragraphId);if(P)return P;let C=l.slotById.get(h.paragraphId);return C&&l.order.splice(M(l,C),1),{ok:true,kind:"command",ops:[{op:"deleteBlock",blockId:h.paragraphId}],story:l.reads.story,answer:()=>se}},ze=(l,h,b)=>{let P=l.reads,C=P.part,L=g(l);if(L)return L;let i=ms(b??{});if(!i.ok)return y("unsupported-content","that is not formatting this host writes",i.detail);let f=[];for(let x of st(h,P)){if(x.end<=x.start&&!x.whole)continue;let S=I(l,x.paragraphId,"runs");if(S)return S;for(let T of t(C,x.paragraphId,x.start,x.end,i.value.filter(H=>H.localName!=="vertAlign"),e.displayMode))f.push({op:"setRunProperties",paragraphId:x.paragraphId,start:T.start,end:T.end,properties:Fo(T.properties,b),...T.targetRunIds?{targetRunIds:T.targetRunIds}:{}});x.whole&&f.push({op:"setParagraphMarkProperties",paragraphId:x.paragraphId,properties:Fo(n(C,x.paragraphId,i.value.filter(T=>T.localName!=="vertAlign")),b)});}return f.length===0?y("invalid-offset","that range covers no characters to format","collapsed-range"):{ok:true,kind:"command",ops:f,story:P.story,answer:()=>se}},V=(l,h,b)=>{let P=l.reads,C=P.part,L=g(l);if(L)return L;let i=In(b,P.styles());if(!i.ok)return y("unsupported-content","that is not a style this document has",i.detail);let f={localName:"pStyle",attributes:{val:i.styleId}},x=[];for(let S of ve(h,P)){let T=I(l,S,"paragraph");if(T)return T;x.push({op:"setParagraphProperties",paragraphId:S,properties:Fh(Dh(C,S),f)});}return x.length===0?y("invalid-offset","that story holds no paragraph to style","empty-story"):{ok:true,kind:"command",ops:x,story:P.story,answer:()=>se}},$=(l,h,b)=>{let P=l.reads,C=P.part,L=g(l);if(L)return L;let i=fs(C,h.paragraphId,b??{},P.styles());if(!i.ok)return y("unsupported-content","that is not paragraph formatting this host writes",i.detail);let f=I(l,h.paragraphId,"paragraph");return f||{ok:true,kind:"command",ops:i.unchanged?[]:[{op:"setParagraphProperties",paragraphId:h.paragraphId,properties:i.value}],story:P.story,answer:()=>se}},Re=(l,h)=>{let b=a.body;if(!b)return y("document-unavailable","this host holds no document right now");let P=a.sections();if(!P[l])return y("invalid-handle","that section is not in this document");let L=Ka(h);if(!L.ok)return y("unsupported-content",L.reason,L.detail);let i=Ii(b,P,l);if(i===null)return y("unsupported-content","that section holds no paragraph to address it by","no-anchor");let f=d(b),x=g(f);return x||{ok:true,kind:"command",ops:[{op:"setSectionProperties",...L.value,anchorParagraphId:i}],story:Te,answer:()=>se}},ie=(l,h)=>({ok:true,kind:"command",ops:[{op:"deleteNote",noteKind:l,noteId:h}],story:Te,lifecycle:true,answer:()=>se}),we=l=>{let h=o.resolve(l,"list");if(!h||h.kind!=="list")return y("invalid-handle","that handle does not name a list","list");let b=a.story(h.story);if(!b)return y("invalid-handle","that story is not in this document");let P=ut(b).find(C=>C.numId===h.numId);return P?{ok:true,plan:d(b),list:P}:y("invalid-handle","this story numbers nothing with that list",h.numId)},Tt=l=>{if(typeof l!="object"||l===null)return y("invalid-handle","that is not a scope a control lives in","scope");let h=l;if("body"in l){let b=ue(h.body,"body",o,a);return b.ok?{reads:b.value,node:b.value.root}:y(b.code,"that handle does not name a body",b.detail)}if("contentControl"in l){let b=Ae(h.contentControl);return "control"in b?{reads:b.reads,node:b.node}:b}return y("invalid-handle","that is not a scope a control lives in","scope")},Ae=l=>{let h=o.resolve(l,"contentControl");if(!h||h.kind!=="contentControl")return y("invalid-handle","that handle does not name a content control","contentControl");let b=a.story(h.story);if(!b)return y("invalid-handle","that story is not in this document");let P=Ws(b,h.nodeId),C=zs(b,h.nodeId);return !P||!C?y("invalid-handle","this document no longer holds that content control"):{reads:b,control:P,node:C}},Al=(l,h,b)=>{if(!Number.isInteger(b)||b<0||b>St)return y("invalid-offset",`a list level is 0 to ${String(St)}`,String(b));let P=Kt(l.reads,h);if(!P)return y("unsupported-content","that paragraph is not in a list",h);if(!a.package||!zt(a.package,P.numId,b))return y("unsupported-content","list level is not defined; configure that level first",h);let C=g(l);if(C)return C;let L=I(l,h,"paragraph");return L||{ok:true,kind:"command",ops:[{op:"setListLevel",paragraphId:h,level:b}],story:l.reads.story,answer:()=>se}},vl=(l,h,b,P)=>{if(b!=="start"&&b!=="end")return y("unknown-operation","a list takes an item at its start or its end",String(b));let C=l.reads,L=b==="start"?h.paragraphIds[0]:h.paragraphIds[h.paragraphIds.length-1];if(L===void 0)return y("invalid-handle","that list holds no paragraph");let i={story:C.story,paragraphId:L,index:C.indexOf(L)};return de(l,i,b==="start"?"before":"after",P)},qo=(l,h)=>{if(h.start.paragraphId!==h.end.paragraphId)return null;for(let b of ys(l,h.start.paragraphId))if(b.start<=h.start.offset&&b.end>=h.end.offset)return b;return null},Ol=(l,h,b)=>{if(typeof b!="string")return y("unsupported-content","a hyperlink target is a string","target");let P=l.reads,C=qo(P,h),L=h.start.paragraphId===h.end.paragraphId&&h.start.offset===h.end.offset,i=C&&(h.start.offset!==C.start||h.end.offset!==C.end),f=i?{range:{start:h.start.offset,end:h.end.offset}}:{};if(i){let X=P.node(C.paragraphId),re=X?.kind==="paragraph"?X.children.find(U=>U.id===C.id):void 0;if(L||!re||!Ui$1(re)||X?.kind!=="paragraph"||!X.children.some(U=>U.id===C.id))return y("unsupported-capability","partial hyperlink edits require ordinary text in a paragraph")}if(b.length===0){if(!C)return y("unsupported-content","that text is not a link","no-link");let X=g(l);if(X)return X;let re=E(l,C.paragraphId);return re||{ok:true,kind:"command",ops:[{op:"removeHyperlink",linkId:C.id,...f}],story:P.story,answer:()=>se}}let x={},S=null;if(b.startsWith("#")){let X=b.slice(1);if(X.length===0||!_o(P,X))return y("unsupported-content","this document declares no such bookmark",b);x={anchor:X};}else {if(Gg(b)===null)return y("unsupported-content","this engine will not author that target","target");S=b;}let T=g(l);if(T)return T;let H=X=>S===null?{ok:true,kind:"command",ops:[X(x)],story:P.story,answer:()=>se}:{ok:true,kind:"command",ops:[],relate:{url:S,ops:re=>[X({relationshipId:re})]},story:P.story,answer:()=>se};if(C){let X=E(l,C.paragraphId);return X||H(re=>({op:"setHyperlinkTarget",linkId:C.id,...f,...re}))}if(L)return y("unsupported-content","a link with no text has nothing to click","collapsed");if(h.start.paragraphId!==h.end.paragraphId)return y("unsupported-content","a link lives inside one paragraph","crosses-paragraph-mark");let B=E(l,h.start.paragraphId);if(B)return B;let q=P.styles().idOf("hyperlink");return H(X=>({op:"insertHyperlink",paragraphId:h.start.paragraphId,start:h.start.offset,end:h.end.offset,...X,...q===null?{}:{styleId:q}}))},er=(l,h,b)=>{let P=l.reads;if(!r.selection||!e.select)return y("unsupported-capability","this host has no reader to move","selection");if(b!=="select"&&b!=="start"&&b!=="end")return y("unknown-operation","that is not a selection mode",String(b));let C=ve(h,P);for(let L of C)if(l.touched.has(L))return y("conflicting-operations","this batch edits a paragraph the selection covers",L);for(let L of C)l.selected.add(L);return c.push({range:h,mode:b}),{ok:true,kind:"command",ops:[],story:P.story,answer:()=>se}},tr=l=>{let h=o.resolve(l,"bookmark");if(!h||h.kind!=="bookmark")return y("invalid-handle","that handle does not name a bookmark","bookmark");let b=a.story(h.story);if(!b)return y("invalid-handle","that story is not in this document");let P=_o(b,h.name);if(!P)return y("invalid-handle","this document no longer declares that bookmark",h.name);let C=L=>({story:b.story,paragraphId:L.paragraphId,index:b.indexOf(L.paragraphId),offset:L.offset});return {reads:b,range:{start:C(P.start),end:C(P.end)}}},nr=(l,h)=>{let b=Zi(l,i=>nr(i,h));if(b)return b;let P=Wi(l,e,i=>Ko({...e,reads:i}));if(P)return h&&P.ok&&P.kind==="command"?y("unsupported-content","header/footer creation cannot be tracked"):P;let C=Vi(l,{trackingAuthor:h,trackedRangeReplacement:e.trackedRangeReplacement,handles:o,reads:a,admitWrite:(i,f,x)=>{let S=d(i),T=g(S);if(T)return T;for(let H of x){let B=N(S,H);if(B)return B}return S.externalCreatedCount+=f,null}});if(C)return C;let L=h!==void 0;if(L){let i=Es(l,h,o,a);if("ok"in i)return i;l=i;}switch(l.op){case "getFields":case "getField":case "setFieldCode":case "deleteField":case "updateFieldResult":case "insertField":return ji(l,o,a,(i,f,x)=>{let S=d(i);return g(S)??(x?null:N(S,f))},e.fieldPageContext);case "getShapes":case "getShape":case "getShapeBody":return li(l,o,a);case "getInlinePictures":case "getInlinePicture":case "setInlinePicture":case "deleteInlinePicture":case "insertInlinePicture":return Ji(l,o,a,(i,f)=>{let x=d(i);return g(x)??N(x,f)});case "insertBreak":return Qi(l,o,a,(i,f,x)=>{let S=d(i),T=g(S)??N(S,f);return T||(S.externalCreatedCount+=x),T});case "startNewList":case "attachToList":case "detachFromList":case "setListLevelFormat":return os(l,o,a,(i,f,x)=>{let S=d(i);return g(S)??I(S,f,x?`list:${x.numId}:${x.level}`:"paragraph")},h);case "removeDocumentInformation":case "getDocumentProperty":case "setDocumentProperties":return mi(l,a,()=>g(d(a.body)),!e.collaborative);case "getDocument":return F({kind:"handle",handle:o.document()});case "getBody":return o.resolve(l.document,"document")?a.body?F({kind:"handle",handle:o.body(Te)}):y("document-unavailable","this host holds no document right now"):y("invalid-handle","that handle does not name a document","document");case "getParagraphs":{let i=ue(l.body,"body",o,a);return i.ok?F({kind:"handles",handles:i.value.paragraphIds.map(f=>o.paragraph(f,i.value.story))}):y(i.code,"that handle does not name a body",i.detail)}case "getRange":{let i=J(l.span,o,a);if(!i.ok)return y(i.code,"that span is not a place",i.detail);if(!i.value)return y("invalid-offset","empty story");if(!["Whole","Content","Start","End"].includes(l.location))return y("unsupported-content","unsupported range location");let f=i.value,x=l.location==="Start"?{start:f.start,end:f.start}:l.location==="End"?{start:f.end,end:f.end}:f;return F({kind:"span",span:Ve(x,o)})}case "getSpanParagraphs":{let i=J(l.span,o,a);if(!i.ok)return y(i.code,"that span is not a place",i.detail);let f=oe(l.span,o,a);return f.ok?F({kind:"handles",handles:ve(i.value,f.value).map(x=>o.paragraph(x,f.value.story))}):y(f.code,"that span is not a place",f.detail)}case "getText":{if(!z(l.projection))return y("unsupported-content","unknown text projection","projection");if(o.resolve(l.target,"body")){let S=ue(l.target,"body",o,a);return S.ok?F({kind:"text",text:S.value.text(l.projection??"allMarkup")}):y(S.code,"that handle does not name a body",S.detail)}let f=ce(l.target,o,a);if(!f.ok)return y(f.code,"that handle does not name a body or a paragraph",f.detail);let x=a.story(f.value.story);return F({kind:"text",text:x?.paragraphText(f.value.paragraphId,l.projection??"allMarkup")??""})}case "getSpanText":{if(!z(l.projection))return y("unsupported-content","unknown text projection","projection");let i=J(l.span,o,a);if(!i.ok)return y(i.code,"that span is not a place",i.detail);let f=oe(l.span,o,a);return f.ok?F({kind:"text",text:si(i.value,f.value,bo,l.projection??"allMarkup")}):y(f.code,"that span is not a place",f.detail)}case "getParagraphId":{let i=ce(l.paragraph,o,a);if(!i.ok)return y(i.code,"that handle does not name a paragraph",i.detail);let x=a.story(i.value.story)?.paragraph(i.value.paragraphId);return F({kind:"text",text:x?.paraId??""})}case "search":{let i=J(l.scope,o,a);if(!i.ok)return y(i.code,"that is not a scope to search",i.detail);let f=oe(l.scope,o,a);return f.ok?Z(f.value,i.value,l.text,l.options):y(f.code,"that is not a scope to search",f.detail)}case "proposeInsertion":case "proposeDeletion":case "proposeReplacement":return Ls(l,L,o,a,(i,f)=>{let x=d(i);return g(x)??N(x,f)},e.trackedRangeReplacement!==false);case "insertText":{let i=vt(l.at,o,a);if(!i.ok)return y(i.code,"that is not a place to insert at",i.detail);let f=a.story(i.value.story);return f?ae(d(f),i.value,l.text,"at"in l.at&&l.at.at==="start"):y("invalid-handle","that story is not in this document")}case "replaceSpan":{if("body"in l.span){let x=ue(l.span.body,"body",o,a);return x.ok?be(d(x.value),l.text):y(x.code,"that handle does not name a body",x.detail)}let i=J(l.span,o,a);if(!i.ok)return y(i.code,"that span is not a place",i.detail);if(!i.value)return y("invalid-offset","that story holds no paragraph to write into","empty-story");let f=W(i.value);return f?ge(d(f),i.value,l.text):y("invalid-handle","that story is not in this document")}case "replaceStoryBlocks":{let i=ue(l.body,"body",o,a);return i.ok?le(d(i.value),l.paragraphs):y(i.code,"that handle does not name a body",i.detail)}case "insertParagraph":{let i=Cn(l.anchor,o,a);if(!i.ok)return y(i.code,"that is not a paragraph to insert beside",i.detail);if(l.where!=="before"&&l.where!=="after")return y("unknown-operation","that is not a place to insert",String(l.where));let f=a.story(i.value.story);if(!f)return y("invalid-handle","that story is not in this document");let x=L&&Ds(f,i.value.paragraphId,h);return x?{ok:false,error:x}:de(d(f),i.value,l.where,l.text)}case "splitParagraph":{let i=ce(l.paragraph,o,a);if(!i.ok)return y(i.code,"that handle does not name a paragraph",i.detail);let f=a.story(i.value.story);return f?Se(d(f),i.value,l.delimiters,l.trimDelimiters===true,l.trimSpacing===true):y("invalid-handle","that story is not in this document")}case "getFont":{let i=J(l.span,o,a);if(!i.ok)return y(i.code,"that span is not a place",i.detail);let f=oe(l.span,o,a);if(!f.ok)return y(f.code,"that span is not a place",f.detail);let x=st(i.value,f.value);return F({kind:"font",font:us(f.value.part,x,e.displayMode)})}case "setFont":{let i=J(l.span,o,a);if(!i.ok)return y(i.code,"that span is not a place",i.detail);if(!i.value)return y("invalid-offset","that story holds no paragraph to format","empty-story");let f=W(i.value);return f?ze(d(f),i.value,l.font):y("invalid-handle","that story is not in this document")}case "getStyle":{let i=J(l.span,o,a);if(!i.ok)return y(i.code,"that span is not a place",i.detail);let f=oe(l.span,o,a);if(!f.ok)return y(f.code,"that span is not a place",f.detail);let x=f.value.part,S=f.value.styles(),T=ve(i.value,f.value).map(B=>Rn(x,B,S)),H=T.length>0&&T.every(B=>B!==null&&B===T[0])?T[0]:null;return F({kind:"style",name:H})}case "setStyle":{let i=J(l.span,o,a);if(!i.ok)return y(i.code,"that span is not a place",i.detail);if(!i.value)return y("invalid-offset","that story holds no paragraph to style","empty-story");let f=W(i.value);return f?V(d(f),i.value,l.name):y("invalid-handle","that story is not in this document")}case "getParagraphFormat":{let i=Cn(l.paragraph,o,a);if(!i.ok)return y(i.code,"that is not a paragraph",i.detail);let f=a.story(i.value.story);if(!f)return y("document-unavailable","this host holds no document right now");let x=ps(f.part,i.value.paragraphId,f.styles());return x?F({kind:"paragraphFormat",format:x}):y("invalid-handle","that handle does not name a paragraph")}case "setParagraphFormat":{let i=Cn(l.paragraph,o,a);if(!i.ok)return y(i.code,"that is not a paragraph",i.detail);let f=a.story(i.value.story);return f?$(d(f),i.value,l.format):y("invalid-handle","that story is not in this document")}case "deleteParagraph":{let i=ce(l.paragraph,o,a);if(!i.ok)return y(i.code,"that handle does not name a paragraph",i.detail);let f=a.story(i.value.story);return f?Pe(d(f),i.value):y("invalid-handle","that story is not in this document")}case "getSections":return o.resolve(l.document,"document")?F({kind:"handles",handles:a.sections().map(i=>o.section(i.index))}):y("invalid-handle","that handle does not name a document","document");case "getPageSetup":{let i=o.resolve(l.section,"section");if(!i||i.kind!=="section")return y("invalid-handle","that handle does not name a section","section");let f=a.sections()[i.index];return f?F({kind:"pageSetup",setup:f.pageSetup}):y("invalid-handle","that section is not in this document")}case "setPageSetup":{let i=o.resolve(l.section,"section");return !i||i.kind!=="section"?y("invalid-handle","that handle does not name a section","section"):Re(i.index,l.setup)}case "getFurniture":{let i=o.resolve(l.section,"section");if(!i||i.kind!=="section")return y("invalid-handle","that handle does not name a section","section");if(l.kind!=="header"&&l.kind!=="footer")return y("unknown-operation","that is not furniture",String(l.kind));let f={kind:l.kind,sectionIndex:i.index,variant:l.variant};return ho(f)?a.sections()[i.index]?F({kind:"handle",handle:o.body(f)}):y("invalid-handle","that section no longer exists"):y("unknown-operation","that is not a furniture variant",String(l.variant))}case "getNotes":{if(!o.resolve(l.document,"document"))return y("invalid-handle","that handle does not name a document","document");if(l.noteKind!=="footnote"&&l.noteKind!=="endnote")return y("unknown-operation","that is not a kind of note",String(l.noteKind));let i=l.noteKind,f=a.noteIds(i);if(!f.ok)return y("ambiguous-document",`${i} identities are not completely and unambiguously enumerable`,f.reason==="duplicates"?f.duplicateIds.join(","):f.reason);let x=f.ids;if(l.scope){let S=ue(l.scope,"body",o,a);if(!S.ok)return y(S.code,"that handle does not name a body",S.detail);let T=fi(S.value.root,i),H=new Set(f.ids);if(T.some(B=>!H.has(B)))return y("ambiguous-document","a note reference has no matching note");x=T;}return F({kind:"handles",handles:x.map(S=>o.note(i,S))})}case "getNoteBody":case "getNoteText":{let i=o.resolve(l.note,"note");if(!i||i.kind!=="note")return y("invalid-handle","that handle does not name a note","note");let f=i,x=a.story(f);return x?l.op==="getNoteText"?F({kind:"text",text:x.text(l.projection)}):F({kind:"handle",handle:o.body(f)}):y("invalid-handle","that note is not in this document",G(f))}case "getNoteKind":{let i=o.resolve(l.note,"note");return !i||i.kind!=="note"?y("invalid-handle","that handle does not name a note","note"):F({kind:"text",text:i.noteKind})}case "deleteNote":{let i=o.resolve(l.note,"note");if(!i||i.kind!=="note")return y("invalid-handle","that handle does not name a note","note");let f=a.noteIds(i.noteKind);return f.ok?f.ids.includes(i.noteId)?ie(i.noteKind,i.noteId):y("invalid-handle","that note is not in this document"):y("ambiguous-document",`${i.noteKind} identities are not completely and unambiguously enumerable`,f.reason==="duplicates"?f.duplicateIds.join(","):f.reason)}case "getLists":{let i=ue(l.body,"body",o,a);return i.ok?F({kind:"handles",handles:ut(i.value).map(f=>o.list(f.numId,i.value.story))}):y(i.code,"that handle does not name a body",i.detail)}case "getListId":{let i=we(l.list);return "list"in i?F({kind:"number",value:Number(i.list.numId)}):i}case "getListById":{let i=ue(l.body,"body",o,a);if(!i.ok)return y(i.code,"that handle does not name a body",i.detail);if(!Number.isInteger(l.id)||l.id<=0)return y("unsupported-content","a list is numbered from one",String(l.id));let f=String(l.id),x=ut(i.value).find(S=>S.numId===f);return x?F({kind:"handle",handle:o.list(x.numId,i.value.story)}):y("invalid-handle","no list in that story carries that number",f)}case "getListParagraphs":{let i=we(l.list);if(!("list"in i))return i;let f=l.level;if(f!==void 0&&(!Number.isInteger(f)||f<0||f>St))return y("invalid-offset",`a list level is 0 to ${String(St)}`,String(f));let x=i.plan.reads,S=f===void 0?i.list.paragraphIds:i.list.paragraphIds.filter(T=>Kt(x,T)?.level===f);return F({kind:"handles",handles:S.map(T=>o.paragraph(T,x.story))})}case "getParagraphList":{let i=ce(l.paragraph,o,a);if(!i.ok)return y(i.code,"that handle does not name a paragraph",i.detail);let f=a.story(i.value.story);if(!f)return y("invalid-handle","that story is not in this document");let x=Kt(f,i.value.paragraphId);return x?F({kind:"handle",handle:o.list(x.numId,f.story)}):y("unsupported-content","that paragraph is not in a list",i.value.paragraphId)}case "getListLevel":{let i=ce(l.paragraph,o,a);if(!i.ok)return y(i.code,"that handle does not name a paragraph",i.detail);let f=a.story(i.value.story);if(!f)return y("invalid-handle","that story is not in this document");let x=Kt(f,i.value.paragraphId);return x?F({kind:"number",value:x.level}):y("unsupported-content","that paragraph is not in a list",i.value.paragraphId)}case "setListLevel":{let i=ce(l.paragraph,o,a);if(!i.ok)return y(i.code,"that handle does not name a paragraph",i.detail);let f=a.story(i.value.story);return f?Al(d(f),i.value.paragraphId,l.level):y("invalid-handle","that story is not in this document")}case "insertListParagraph":{let i=we(l.list);return "list"in i?vl(i.plan,i.list,l.where,l.text):i}case "getHyperlink":{let i=J(l.span,o,a);if(!i.ok)return y(i.code,"that span is not a place",i.detail);let f=oe(l.span,o,a);if(!f.ok)return y(f.code,"that span is not a place",f.detail);let x=a.package;if(!x||!i.value)return F({kind:"text",text:""});let S=qo(f.value,i.value);if(!S)return F({kind:"text",text:""});let T=Ta(f.value.part,S.id),H=T?ks(x,f.value.part.name,T):null;return F({kind:"text",text:H??""})}case "setHyperlink":{let i=J(l.span,o,a);if(!i.ok)return y(i.code,"that span is not a place",i.detail);if(!i.value)return y("invalid-offset","that story holds no text to link","empty-story");let f=W(i.value);return f?Ol(d(f),i.value,l.target):y("invalid-handle","that story is not in this document")}case "getBookmarks":{let i=J(l.scope,o,a);if(!i.ok)return y(i.code,"that span is not a place",i.detail);let f=oe(l.scope,o,a);if(!f.ok)return y(f.code,"that span is not a place",f.detail);let x=f.value,S=i.value,T=S===null?null:new Set(ve(S,x)),H=jo(x).filter(B=>{if(!T||!T.has(B.start.paragraphId)&&!T.has(B.end.paragraphId)||S===null)return false;let q=B.start.paragraphId===S.end.paragraphId&&B.start.offset>S.end.offset,X=B.end.paragraphId===S.start.paragraphId&&B.end.offset<S.start.offset;return !q&&!X});return F({kind:"handles",handles:H.map(B=>o.bookmark(B.name,x.story))})}case "getBookmarkName":{let i=o.resolve(l.bookmark,"bookmark");return !i||i.kind!=="bookmark"?y("invalid-handle","that handle does not name a bookmark","bookmark"):F({kind:"text",text:i.name})}case "getBookmarkRange":{let i=tr(l.bookmark);return "reads"in i?F({kind:"span",span:K(i.range)}):i}case "getComments":{let i=J(l.scope,o,a);if(!i.ok)return y(i.code,"that scope is not a place",i.detail);let f=oe(l.scope,o,a);if(!f.ok)return y(f.code,"that scope names no story",f.detail);let x=f.value,S=v(x);if(!S)return y("document-unavailable","this host holds no document");let T=i.value,H=S.roots.filter(B=>{if(!T)return true;let q=B.range;if(!q)return false;let X=x.indexOf(q.start.paragraphId),re=x.indexOf(q.end.paragraphId),U=x.indexOf(T.start.paragraphId),te=x.indexOf(T.end.paragraphId);return re<U||X>te?false:re===U&&X===U&&te===U?q.end.offset>T.start.offset&&q.start.offset<T.end.offset:true});return F({kind:"handles",handles:H.map(B=>o.comment(B.id,x.story))})}case "getCommentReplies":{let i=R(l.comment);return i.ok?F({kind:"handles",handles:i.item.replyIds.map(f=>o.comment(f,i.reads.story))}):i.planned}case "getCommentId":{let i=R(l.comment);return i.ok?F({kind:"text",text:i.item.id}):i.planned}case "getCommentAuthor":{let i=R(l.comment);return i.ok?F({kind:"text",text:i.item.comment.author}):i.planned}case "getCommentDate":{let i=R(l.comment);return i.ok?F({kind:"text",text:i.item.comment.date??""}):i.planned}case "getCommentText":{let i=R(l.comment);if(!i.ok)return i.planned;let f=v(i.reads);return F({kind:"text",text:f?.textOf(i.item.id)??""})}case "getCommentRange":{let i=R(l.comment);if(!i.ok)return i.planned;let f=i.item.range;if(!f||i.item.orphaned)return y("invalid-handle","that comment has no range in this document");let x=O(i.reads,f);return x?F({kind:"span",span:x}):y("invalid-handle","that comment\u2019s range is no longer in the story")}case "getCommentResolved":{let i=R(l.comment);return i.ok?F({kind:"flag",value:i.item.resolved}):i.planned}case "insertComment":return Us(l,o,a,A);case "setCommentResolved":{let i=R(l.comment);if(!i.ok)return i.planned;if(typeof l.resolved!="boolean")return y("unsupported-content","resolved is a yes or a no",String(l.resolved));let f=g(d(i.reads));return f||{ok:true,kind:"commentWrite",write:{kind:"resolve",commentId:i.item.id,resolved:l.resolved},story:i.reads.story,answer:()=>se}}case "replyToComment":{let i=R(l.comment);if(!i.ok)return i.planned;let f=Wo({author:l.author,text:l.text,date:l.date,kind:"reply"});if(f)return f;let x=i.item.range;if(!x||i.item.orphaned)return y("invalid-handle","that comment has no range to reply over");let S=g(d(i.reads));if(S)return S;let T=i.reads.story,H=zo(l.date);return {ok:true,kind:"commentWrite",write:{kind:"reply",parentCommentId:i.item.id,anchor:{paragraphId:x.start.paragraphId,start:x.start.offset,end:x.end.offset,...x.end.paragraphId===x.start.paragraphId?{}:{endParagraphId:x.end.paragraphId}},text:l.text,author:l.author,...H===void 0?{}:{date:H}},story:i.reads.story,answer:(B,q)=>q===void 0?se:{kind:"handle",handle:o.comment(q,T)}}}case "deleteComment":{let i=R(l.comment);return i.ok?Vs(i.item,i.reads,f=>g(d(f))):i.planned}case "getRevisions":{let i=ue(l.body,"body",o,a);if(!i.ok)return y(i.code,"that handle does not name a body",i.detail);let f=i.value;return F({kind:"handles",handles:Uo(f).map(x=>o.revision(x.id,f.story))})}case "getRevisionType":{let i=w(l.revision);return i.ok?F({kind:"text",text:i.item.type}):i.planned}case "getRevisionAuthor":{let i=w(l.revision);return i.ok?F({kind:"text",text:i.item.author}):i.planned}case "getRevisionDate":{let i=w(l.revision);return i.ok?F({kind:"text",text:i.item.date}):i.planned}case "getRevisionRange":{let i=w(l.revision);if(!i.ok)return i.planned;let[f]=i.item.item.ranges;if(!f)return y("invalid-handle","that change covers no characters");let x=O(i.reads,f);return x?F({kind:"span",span:x}):y("invalid-handle","that change\u2019s range is no longer in the story")}case "acceptRevision":case "rejectRevision":{let i=w(l.revision);if(!i.ok)return i.planned;let f=d(i.reads),x=g(f);if(x)return x;let S=Bs(i.reads,i.item.item,l.op==="acceptRevision"?"accept":"reject");return S.length?{ok:true,kind:"command",story:i.reads.story,ops:S,answer:()=>se}:y("unsupported-revision","the table decision has unresolved dependencies")}case "resolveRevisionBatch":case "setRevisionAuthorBatch":case "acceptAllRevisions":case "rejectAllRevisions":return Fs(l,o,a,i=>g(d(i)));case "selectSpan":{let i=J(l.span,o,a);if(!i.ok)return y(i.code,"that span is not a place",i.detail);if(!i.value)return y("invalid-offset","that story holds no paragraph to select","empty-story");let f=W(i.value);return f?er(d(f),i.value,l.mode):y("invalid-handle","that story is not in this document")}case "selectBookmark":{let i=tr(l.bookmark);return "reads"in i?er(d(i.reads),i.range,l.mode):i}case "getContentControls":{let i=Tt(l.scope);return "reads"in i?F({kind:"handles",handles:$s(i.reads,i.node).map(f=>o.contentControl(f.nodeId,i.reads.story))}):i}case "getContentControlById":{let i=Tt(l.scope);if(!("reads"in i))return i;if(!Number.isInteger(l.id))return y("unsupported-content","a control id is a whole number",String(l.id));let f=Rt(i.node).find(x=>Zb(x).id===l.id);return f?F({kind:"handle",handle:o.contentControl(f.id,i.reads.story)}):y("invalid-handle","no control in that scope carries that id",String(l.id))}case "getContentControlsByTag":case "getContentControlsByTitle":{let i=Tt(l.scope);if(!("reads"in i))return i;let f=l.op==="getContentControlsByTag"?l.tag:l.title;if(typeof f!="string"||f.length===0)return y("unsupported-content","a tag or title to match is required",l.op);let x=Rt(i.node).filter(S=>{let T=Zb(S);return l.op==="getContentControlsByTag"?T.tag===f:T.alias===f});return F({kind:"handles",handles:x.map(S=>o.contentControl(S.id,i.reads.story))})}case "getContentControlTag":case "getContentControlTitle":case "getContentControlFileId":case "getContentControlSubtype":case "getContentControlLock":{let i=Ae(l.contentControl);if(!("control"in i))return i;let f=i.control.properties;if(l.op==="getContentControlLock")return F({kind:"text",text:i.control.lock});if(l.op==="getContentControlSubtype")return F({kind:"text",text:f.type});if(l.op==="getContentControlFileId")return F({kind:"text",text:f.id===void 0?"":String(f.id)});let x=l.op==="getContentControlTag"?f.tag:f.alias;return F({kind:"text",text:x??""})}case "getContentControlIsBound":case "getContentControlPlaceholderShown":case "getContentControlTemporary":{let i=Ae(l.contentControl);if(!("control"in i))return i;let f=l.op==="getContentControlIsBound"?i.control.properties.dataBinding!==void 0:l.op==="getContentControlPlaceholderShown"?i.control.properties.showingPlaceholder:i.control.properties.temporary;return F({kind:"flag",value:f})}case "getContentControlText":{let i=Ae(l.contentControl);return "control"in i?F({kind:"text",text:Gs(i.reads,i.node,l.projection)}):i}case "getContentControlParagraphs":{let i=Ae(l.contentControl);return "control"in i?F({kind:"handles",handles:i.control.paragraphIds.map(f=>o.paragraph(f,i.reads.story))}):i}case "getContentControlRange":{let i=Ae(l.contentControl);if(!("control"in i))return i;let f=l.location??"whole";if(!Ti.has(f))return y("unsupported-content","that is not a place in a control",f);let x=zn(i.reads,i.node);if(!x)return y("unsupported-content","that control holds nothing addressable","empty");let S=f==="start"||f==="before"?x.start:x.end,T=f!=="whole"&&f!=="content",H=B=>({story:i.reads.story,paragraphId:B.paragraphId,index:i.reads.indexOf(B.paragraphId),offset:B.offset});return F({kind:"span",span:Ve(T?{start:H(S),end:H(S)}:{start:H(x.start),end:H(x.end)},o)})}case "setContentControlValue":{let i=Ae(l.contentControl);if(!("control"in i))return i;let f=Li(l.value);if(!f.ok)return y(f.code,f.message,f.detail);let x=d(i.reads),S=g(x);return S||{ok:true,kind:"command",story:i.reads.story,ops:[{op:"setContentControlValue",controlId:i.control.nodeId,value:f.value}],answer:()=>se}}case "setContentControlProperties":{let i=Ae(l.contentControl);if(!("control"in i))return i;if(L&&(!Hi(i.reads.part,i.control.nodeId,h)||l.lock!==void 0||l.cannotEdit!==void 0||l.cannotDelete!==void 0))return y("unsupported-capability","tracked control metadata requires an own pending insertion; locks require direct edits");if(l.tag===void 0&&l.title===void 0&&l.lock===void 0&&l.cannotEdit===void 0&&l.cannotDelete===void 0)return y("unsupported-content","nothing to write","no-properties");if(l.lock!==void 0&&!Ci.has(l.lock))return y("unsupported-content","that is not a lock this schema declares",l.lock);for(let T of [l.cannotEdit,l.cannotDelete])if(T!==void 0&&typeof T!="boolean")return y("unsupported-content","lock flags must be boolean");let f=d(i.reads),x=l.lock;if(l.cannotEdit!==void 0||l.cannotDelete!==void 0){let T=x??u.get(f)?.get(i.control.nodeId)??i.control.properties.lock,H=l.cannotEdit??(T==="contentLocked"||T==="sdtContentLocked"),B=l.cannotDelete??(T==="sdtLocked"||T==="sdtContentLocked");x=H?B?"sdtContentLocked":"contentLocked":B?"sdtLocked":"unlocked";}let S=g(f);if(S)return S;if(x!==void 0){let T=u.get(f)??new Map;T.set(i.control.nodeId,x),u.set(f,T);}return {ok:true,kind:"command",story:i.reads.story,ops:[{op:"setContentControlProperties",controlId:i.control.nodeId,...l.tag===void 0?{}:{tag:l.tag},...l.title===void 0?{}:{alias:l.title},...x===void 0?{}:{lock:x}}],answer:()=>se}}case "insertContentControlText":{let i=Ae(l.contentControl);if(!("control"in i))return i;let f=Ei(i.control.properties,l.text,l.at);if(f)return {ok:false,error:f};let x=d(i.reads),S=g(x);if(S)return S;let T=zn(i.reads,i.node);if(!T)return y("unsupported-content","that control holds nothing addressable","empty");let H=l.at==="end"?T.end:T.start,B=()=>({kind:"span",span:K({start:{story:i.reads.story,paragraphId:H.paragraphId,index:i.reads.indexOf(H.paragraphId),offset:H.offset},end:{story:i.reads.story,paragraphId:H.paragraphId,index:i.reads.indexOf(H.paragraphId),offset:H.offset+l.text.length}})});return l.at==="replace"?{ok:true,kind:"command",story:i.reads.story,ops:[{op:"setContentControlValue",controlId:i.control.nodeId,value:{kind:"text",text:l.text}}],answer:B}:{ok:true,kind:"command",story:i.reads.story,ops:l.text.length===0?[]:[{op:"insertText",paragraphId:H.paragraphId,offset:H.offset,text:l.text,inside:i.node.id}],answer:B}}case "deleteContentControl":{let i=Ae(l.contentControl);if(!("control"in i))return i;if(typeof l.keepContent!="boolean")return y("unsupported-content","keepContent is required","keepContent");let f=d(i.reads),x=g(f);return x||{ok:true,kind:"command",story:i.reads.story,ops:[{op:"removeContentControl",controlId:i.control.nodeId,keepContent:l.keepContent}],answer:()=>se}}case "insertContentControl":return Mi(l,o,a,h,e.trackedRangeReplacement,(i,f)=>{let x=d(i);return g(x)??N(x,f)});case "insertCustomNode":{let i=Zs(l);if(i)return y("unsupported-content",i.message,i.detail);let f=Qs(l.payload);if(!f.ok)return y("unsupported-content","that payload cannot be written",f.field);let x=el(l,o,a);if("code"in x)return y(x.code,x.message,x.detail);let{start:S,end:T}=x.range,H=W(x.range);if(!H)return y("invalid-handle","that story is not in this document");let B=g(d(H));return B||{ok:true,kind:"customNodeWrite",story:H.story,write:qs(l,S,T,f.value),answer:()=>se}}default:return y("unknown-operation","this host does not implement that operation",String(l.op))}};return {plan(l,h){if(m&&_e(l))return y("conflicting-operations","header/footer creation must commit alone");let b=p.conflict(l);if(b)return y("conflicting-operations",b.message,b.detail);let P=nr(l,h);if(P.ok&&P.kind==="command"&&P.solitary){if(p.hasCommands)return y("conflicting-operations","header/footer creation must commit alone");m=true;}return P.ok&&P.kind!=="query"&&p.note(l),P},get hasCommands(){return p.hasCommands},get writeScope(){return k?.reads.scope??null},settle(l){let h=k;if(h){let b=l.story(h.reads.story),P=b&&Ta(b.part,h.reads.root.id),C=b&&P&&P.id!==b.root.id?wn(b,P):b;if(!C)return {ok:false,detail:`the story this batch wrote is gone: ${G(h.reads.story)}`};let L=new Set(h.reads.paragraphIds),i=C.paragraphIds.filter(x=>!L.has(x));if(i.length!==h.created.length+h.externalCreatedCount)return {ok:false,detail:`planned ${String(h.created.length+h.externalCreatedCount)} new paragraphs, the transaction made ${String(i.length)}`};h.order.filter(x=>x.id===null).forEach((x,S)=>{x.id=i[S]??null;});for(let x of h.retargets)x.slot.id&&o.retarget(x.from,x.slot.id);}for(let b of c){let P=l.story(b.range.start.story);!P||!Si(b.range,P)||e.select?.(b.range,b.mode);}return {ok:true}}}}var iu=4e6,su=16e6,tl=12;function wt(e){if(e===null||typeof e!="object")return false;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Ct(e){return "paragraph"in e&&typeof e.offset=="number"}function nl(e=iu,t=su){let n=new Map,o=[],r=0,a=0,s=(u,d)=>u.length+d.text.length;return {record(u,d,c){let p=n.get(d),m=p?.at(-1);if(p&&(n.delete(d),n.set(d,p)),m&&m.text===c){u>m.to&&(m.to=u);return}let k={from:u,to:u,text:c};if(a+=s(d,k),!p||!m)n.set(d,[k]);else for(p.push(k),a-=s(d,m),o.push({key:d,record:m}),r+=m.text.length;r>e&&o.length>0;){let g=o.shift();r-=g.record.text.length;let A=n.get(g.key);A?.[0]===g.record&&A.shift();}for(;a>t&&n.size>1;){let[g,A]=n.entries().next().value;n.delete(g);let v=A.at(-1);v&&(a-=s(g,v));}},clear(){n.clear(),o.length=0,r=0,a=0;},size(){return n.size},at(u,d){let c=n.get(d);if(c)for(let p=c.length-1;p>=0;p-=1){let m=c[p];if(m.from<=u)return u<=m.to?m.text:void 0}}}}function mt(e,t,n){let o=ce(e.paragraph,t,n);if(!o.ok)return null;let r=n.story(o.value.story),a=r?.rawText(o.value.paragraphId);return a==null||!r?null:{id:o.value.paragraphId,text:a,story:r}}var ol=e=>`next\0${e}`,rl=(e,t)=>`between\0${e}\0${t}`;function al(e,t,n,o){let r=mt(e,n,o),a=mt(t,n,o);if(!r||!a||r.id===a.id||r.story!==a.story)return null;let s=r.story.indexOf(r.id),u=r.story.indexOf(a.id);if(s<0||u<=s)return null;let d=r.story.paragraphIds.slice(s+1,u);return {key:rl(r.id,a.id),ids:d,texts:d.map(c=>r.story.rawText(c)??"")}}function Xt(e,t,n,o,r,a=0){if(a>tl)return e;if(Array.isArray(e)){let c=false,p=e.map(m=>{let k=Xt(m,t,n,o,r,a+1);return k!==m&&(c=true),k});return c?Object.freeze(p):e}if(!wt(e))return e;let{start:s,end:u}=e;if(wt(s)&&Ct(s)&&wt(u)&&Ct(u)){let c=al(s,u,o,r);c&&(n.record(t,c.key,c.ids.join("\0")),c.ids.forEach((p,m)=>n.record(t,p,c.texts[m])));}if(Ct(e)){let c=mt(e,o,r);if(!c)return e;n.record(t,c.id,c.text);let p=c.story.indexOf(c.id);return n.record(t,ol(c.id),c.story.paragraphIds[p+1]??""),Object.freeze({...e,readAt:t})}let d=null;for(let[c,p]of Object.entries(e)){let m=Xt(p,t,n,o,r,a+1);m!==p&&(d??={...e},d[c]=m);}return d?Object.freeze(d):e}function Kn(e,t,n=0){if(n>tl)return;if(Array.isArray(e)){for(let a of e)Kn(a,t,n+1);return}if(!wt(e))return;if(Ct(e)){e.readAt!==void 0&&t.push({endpoint:e});return}let{start:o,end:r}=e;if(wt(o)&&Ct(o)&&wt(r)&&Ct(r)){o.readAt!==void 0&&t.push({endpoint:o,end:r}),r.readAt!==void 0&&t.push({endpoint:r});for(let[a,s]of Object.entries(e))a!=="start"&&a!=="end"&&Kn(s,t,n+1);return}for(let a of Object.values(e))Kn(a,t,n+1);}function il(e,t,n,o,r){let a=[];Kn(e,a);for(let{endpoint:s,end:u}of a){if(s.readAt===t)continue;if(typeof s.readAt!="number"||!Number.isSafeInteger(s.readAt))return "invalid-read-revision";if(s.readAt>t)return `read-at ${String(s.readAt)} was never read: the document is at revision ${String(t)}`;let d=mt(s,o,r);if(!d)continue;let c=n.at(s.readAt,d.id);if(c===void 0)return `read-at ${String(s.readAt)} is no longer checkable`;let p=d.text,m=s.offset;if(!Number.isInteger(m)||m<0||m>c.length)continue;let k=u!==void 0&&mt(u,o,r)?.id!==d.id;if(k?c!==p:p.length<m||c.slice(0,m)!==p.slice(0,m))return k?`the paragraph a span starts in changed since revision ${String(s.readAt)}`:`text before offset ${String(m)} changed since revision ${String(s.readAt)}`;if(k){let g=lu(s,u,s.readAt,n,o,r);if(g)return g}}return null}function lu(e,t,n,o,r,a){let s=mt(e,r,a),u=mt(t,r,a);if(!s||!u)return null;let d=al(e,t,r,a),c=rl(s.id,u.id),p=o.at(n,c)??(o.at(n,ol(s.id))===u.id?"":void 0);if(p===void 0)return `the paragraphs a span covers are no longer checkable at revision ${String(n)}`;if(!d||d.ids.join("\0")!==p)return `a paragraph was inserted or removed inside a span since revision ${String(n)}`;for(let[m,k]of d.ids.entries())if(o.at(n,k)!==d.texts[m])return `a paragraph inside a span changed since revision ${String(n)}`;return null}var du=Object.freeze({status:"skipped"});function fe(e,t,n){return Object.freeze(n===void 0?{code:e,message:t}:{code:e,message:t,detail:n})}function uu(e){if(e==="review-module-required"||e==="automation-structural-tracking-unsupported")return fe("unsupported-capability","this edit requires a supported review mode",e);let t=e==="unsupported-revision"||e.startsWith("unsupported-revision:");return fe(t?"unsupported-revision":"transaction-refused",t?"that story contains a tracked change this engine cannot resolve":"the document store refused the transaction",e)}function Oe(e,t,n,o){return {ok:false,results:e.map((r,a)=>a===t?{status:"error",error:n}:du),revision:o,changed:false}}function sl(e){let{port:t}=e,n=Object.freeze({...e.capabilities}),o=ii(),r=new Set,a=false,s={mode:"Off"},u=0,d=null,c=null,p=nl(),m=n.events?t.subscribe(()=>{if(a)return;let v=Object.freeze({revision:t.revision()});if(u>0)d=v;else for(let R of [...r])R(v);}):()=>{},k=v=>{if(c&&c.pkg===v)return c.value;let R=Je(v);return c={pkg:v,value:R},R},g=v=>{let R=Array.isArray(v?.operations)?v.operations:[],w=t.revision();if(a)return Oe(R,0,fe("disposed","this host was disposed"),w);if(!n.document)return Oe(R,0,fe("unsupported-capability","this host has no document","document"),w);let O=t.currentPackage();if(!O)return Oe(R,0,fe("document-unavailable","this host holds no document right now"),w);if(v.expectedRevision!==void 0&&v.expectedRevision!==w)return Oe(R,0,fe("stale-revision","the document moved since that revision",`expected ${String(v.expectedRevision)}, at ${w}`),w);let M=k(O);for(let V=0;V<R.length;V+=1){let $=il(R[V],w,p,o,M);if($)return Oe(R,V,$==="invalid-read-revision"?fe("invalid-offset","an endpoint carries an invalid readAt",$):fe("stale-revision","that range was read before its text changed",$),w)}let D=Ko({handles:o,reads:M,capabilities:n,collaborative:t.collaborative?.()??false,trackedRangeReplacement:t.trackedRangeReplacement?.()??true,...t.revisionDisplayMode?{displayMode:t.revisionDisplayMode()}:{},...t.replacementLanding?{replacementLanding:t.replacementLanding.bind(t)}:{},...t.fieldPageContext?{fieldPageContext:t.fieldPageContext.bind(t)}:{},...t.select?{select:t.select.bind(t)}:{}}),N=[],E=[],I=null,_=[],K=[],W=null,z,Z=null,Q=-1,ae=false,ge=s;for(let V=0;V<R.length;V+=1){let $=R[V];if(t.suggesting?.()&&$.op!=="replaceSpan"&&(!Ao($)||!ge.author&&["insertContentControl","setContentControlProperties","startNewList","setListLevelFormat","insertTable","insertTableRows","updateTable","updateTableCell"].includes($.op)))return Oe(R,V,fe("unsupported-capability","this operation has no supported tracked form in suggesting mode"),w);let Re=ri($,t.localChangeTracking===true,ge),ie=Re?.step??ai($,D.plan($,ge.author),ge.author);if(Re&&(ge=Re.state),!ie.ok)return Oe(R,V,ie.error,w);if(N.push(ie),ie.kind==="command")if(ge.author&&(ie.packageEdits?.length||$.op==="setContentControlProperties")&&(ae=true),$.op==="setRevisionAuthorBatch"&&(ae=true),ie.packageEdits&&_.push(...ie.packageEdits),Q<0&&(Q=V),ie.lifecycle)I=ie.ops[0]??null;else if(ie.relate){let we=ie.relate;E.push(Tt=>{let Ae=Tt(we.url);return Ae===null?null:we.ops(Ae)});}else {let{ops:we}=ie;E.push(()=>we);}else ie.kind==="commentWrite"?(Q<0&&(Q=V),K.push(ie.write),W=D.writeScope??{kind:"body"}):ie.kind==="customNodeWrite"&&(Q<0&&(Q=V),Z={write:ie.write,scope:D.writeScope??{kind:"body"}});}let be=false;if(K.length>0){let V=t.applyCommentWrites(K,W??{kind:"body"});if(!V.ok)return Oe(R,Q<0?0:Q,fe("transaction-refused","the document store refused the comment write",V.reason),w);be=V.changed,z=V.commentId;}if(Z){let V=t.applyCustomNodeWrite(Z.write,Z.scope);if(!V.ok)return Oe(R,Q<0?0:Q,fe("transaction-refused","the document store refused the custom-node write",V.reason),w);be=V.changed;}if(I){let V=t.applyLifecycle(I);if(!V.ok)return Oe(R,Q<0?0:Q,fe("transaction-refused","the document store refused the transaction",V.reason),w);be=V.changed;}if(E.length>0){let V=t.apply($=>{let Re=[];for(let ie of E){let we=ie($);if(we===null)return null;Re.push(...we);}return Re},D.writeScope??{kind:"body"},_,ae);if(!V.ok)return Oe(R,Q<0?0:Q,uu(V.reason),w);be=V.changed;}let le=t.currentPackage();if(!le)return Oe(R,0,fe("document-unavailable","this host holds no document right now"),w);let de=k(le),Se=D.settle(de);if(!Se.ok)return Oe(R,Q<0?0:Q,fe("transaction-refused","the transaction did not produce the document the batch planned",Se.detail),t.revision());s=ge;let Pe=t.revision();return {ok:true,results:N.map(V=>({status:"ok",value:V.kind==="query"?Xt(V.value,w,p,o,M):Xt(V.kind==="customNodeWrite"?V.answer(de):V.answer(de,z),Pe,p,o,de)})),revision:Pe,changed:be}};return {capabilities:n,revision:()=>t.revision(),execute:v=>{u+=1;try{return g(v)}finally{if(u-=1,u===0&&d){let R=d;d=null;for(let w of [...r])w(R);}}},...t.prepare?{prepare:t.prepare.bind(t)}:{},save(){if(a)return {ok:false,error:fe("disposed","this host was disposed")};if(!n.save)return {ok:false,error:fe("unsupported-capability","this host cannot save","save")};let v=t.save();return v?{ok:true,bytes:v}:{ok:false,error:fe("document-unavailable","this host holds no document right now")}},subscribe(v){return a||!n.events?()=>{}:(r.add(v),()=>{r.delete(v);})},dispose(){a||(a=true,r.clear(),m(),t.dispose(),c=null,p.clear());}}}var dl=Object.freeze({document:true,save:true,events:true,selection:false,scrolling:false,layout:false}),ll=Object.freeze({kind:"body"});function cu(e,t={}){let n=Ce(e,t.limits??{});if(!n.ok)return {ok:false,reason:n.reason,...n.limit===void 0?{}:{limit:n.limit},...n.detail?{detail:n.detail}:{}};let o=n.package.parts.get(n.package.mainDocumentPart);if(!o)return {ok:false,reason:"no-main-document-part",detail:n.package.mainDocumentPart};let r=new T(n.package,ua(n.package,Eb(o))),a=t.collaborationModel?.session,s=()=>{},u=mu(r,a,()=>s());if(t.pagination){let c,p=-1,m=t.pagination;u.prepare=async k=>{if(!k.operations.some(v=>v.op==="updateFieldResult"))return;c=void 0;let g=r.packageRevision,A=await m(Ca(r));r.packageRevision===g&&(c=A,p=g);},u.fieldPageContext=(k,g,A)=>{if(r.packageRevision!==p)return null;let v=Je(r.currentPackage()).story(k);return v?oi(c,v.part,g,A):null};}let d=sl({port:u,capabilities:dl});return a&&(s=a.attach(b(r,{documentId:a.documentId}))),{ok:true,host:d}}function pu(e,t,n){let o=e.partFor(n);return o?Na(e,()=>{let r=Hg(e.currentPackage(),t,o.name);return r?(e.replacePackageShell(r.pkg),r.relationshipId):null},r=>r!==null):null}function mu(e,t,n=()=>{}){let o=true,r=0,a$1=()=>t?(r+=1,{origin:t.identity.role==="agent"?g.mutationAgent:g.mutationHuman,actorId:t.identity.actorId,operationId:`${t.identity.actorId}:${t.sessionId}:automation:${r}`,recordsHistory:false}):{},s=u=>(t?.flushPendingJournals(),u);return {localChangeTracking:true,collaborative:()=>!!t,revision:()=>e.packageRevision,currentPackage:()=>o?e.currentPackage():null,apply(u,d=ll,c=[]){if(!o)return {ok:false,reason:"disposed"};let p=u(A=>Hb(t?.identity.actorId,()=>pu(e,A,d)));if(p===null)return {ok:false,reason:"unsupported-target"};let m=t?.gateOperations(p,d);if(m)return {ok:false,reason:m};let k=t?e.partFor(d)?.name:void 0,g=e.transact(d,A=>{for(let v of c)A.applyPackage(v);for(let v of p)A.apply(v);k&&A.applyPackage(v=>a(v,k,p));},a$1());return g.ok?s({ok:true,changed:g.change!==null}):{ok:false,reason:g.detail?`${g.reason}: ${g.detail}`:g.reason}},applyLifecycle(u){if(!o)return {ok:false,reason:"disposed"};let d=t?.gateOperations([u],ll);if(d)return {ok:false,reason:d};let c=Hb(t?.identity.actorId,()=>e.applyLifecycleOp(u));return c.ok?s({ok:true,changed:c.change!==null}):{ok:false,reason:c.detail?`${c.reason}: ${c.detail}`:c.reason}},applyCommentWrites(u,d){if(!o)return {ok:false,reason:"disposed"};if(u.length===0)return {ok:true,changed:false};let c=t?.gateOperations([],d);if(c)return {ok:false,reason:c};let p=e.resolveStory(d);if(!p.ok)return {ok:false,reason:p.reason};if(p.store.graftPackage(()=>e.currentPackage()),u.every(g=>g.kind==="delete")){let g=u.find(v=>v.kind==="delete"),A=Hb(t?.identity.actorId,()=>ea(e,u.flatMap(v=>v.kind==="delete"?[{commentId:v.commentId,...v.parentCommentId===void 0?{}:{parentCommentId:v.parentCommentId}}]:[]),d,g?.kind==="delete"?g.noteId:void 0));return A?s({ok:true,changed:A}):{ok:false,reason:"comment-delete-refused"}}if(u.length!==1)return {ok:false,reason:"mixed-comment-writes"};let m=u[0];if(m.kind==="create"||m.kind==="reply"){let g=Hb(t?.identity.actorId,()=>ca(e,{anchor:m.anchor,author:m.author,text:m.text,...m.date===void 0?{}:{date:m.date},...m.kind==="reply"?{replyToCommentId:m.parentCommentId}:{}},d));return g.ok?s({ok:true,changed:true,..."commentId"in g?{commentId:g.commentId}:{}}):{ok:false,reason:g.reason}}if(m.kind!=="resolve")return {ok:false,reason:"unsupported-comment-write"};let k=Hb(t?.identity.actorId,()=>da(e,m.commentId,m.resolved));return k.ok?s({ok:true,changed:true}):{ok:false,reason:k.reason}},applyCustomNodeWrite(u,d){if(!o)return {ok:false,reason:"disposed"};let c=t?.gateOperations([],d);if(c)return {ok:false,reason:c};let p=e.resolveStory(d);if(!p.ok)return {ok:false,reason:p.reason};let m=Hb(t?.identity.actorId,()=>ma(e,u,d));return m.ok?s({ok:true,changed:m.change!==null}):{ok:false,reason:m.detail?`${m.reason}: ${m.detail}`:m.reason}},save:()=>o?Ee$1(e.currentPackage()):null,subscribe:u=>e.subscribe(()=>u()),dispose(){n(),o=false;}}}var ul="https://docx-editor.dev/docs/2.x/guides/diagnostics";function fu(e){return e.replace(".","-")}var Qo={"open.unsupported-source":"The editor was given something that is not DOCX bytes. Pass a Uint8Array or an ArrayBuffer of a .docx file, or 'blank'.","open.zip-corrupt":"The file is not a valid ZIP archive, or a compressed entry is damaged. Ask for a fresh copy of the file.","open.zip-invalid-entry-name":'The archive contains an entry with an unsafe path, such as ".." or a leading "/". The editor refuses it for safety.',"open.zip-entry-limit":"The archive has more entries than the open limit allows. For a trusted file, the server API accepts a higher limit: limits.zip.maxEntries in createServer.","open.zip-size-limit":"The archive expands to more than the total size limit. For a trusted file, the server API accepts a higher limit: limits.zip.maxTotalBytes in createServer.","open.zip-ratio-limit":"The file expands to many times its compressed size, which is how a decompression bomb looks. For a trusted file, the server API accepts a higher limit: limits.zip.maxRatio in createServer.","open.xml-malformed":"An XML part of the document is not well formed. Opening and saving the file in a desktop editor usually repairs it.","open.xml-dtd-forbidden":"An XML part declares a DTD or an entity. The editor refuses these to block XML entity attacks.","open.xml-part-size-limit":"One XML part is larger than the per-part size limit. For a trusted file, the server API accepts a higher limit: limits.xml.maxBytes in createServer.","open.xml-depth-limit":"An XML part nests deeper than the depth limit, often through deeply nested tables. This limit is fixed; flatten the nesting to open the file.","open.xml-element-limit":"An XML part has more elements than the element limit. For a trusted file, the server API accepts a higher limit: limits.xml.maxElements in createServer.","open.invalid-limits":"The limits passed to createServer are not valid numbers. Check the limits option.","open.content-types-invalid":"The file has no valid [Content_Types].xml part, so it is not a usable Office package. Save it again as .docx.","open.missing-main-document":"The package has no main document part. The file may be a different Office format, such as .xlsx or .pptx, renamed to .docx.","open.relationships-invalid":"A relationship in the package is invalid or duplicated. Opening and saving the file in a desktop editor usually repairs it.","open.relationship-limit":"The package has more relationships than the open limit allows. For a trusted file, the server API accepts a higher limit: limits.maxRelationships in createServer.","open.part-limit":"The package has more XML parts than the open limit allows. For a trusted file, the server API accepts a higher limit: limits.maxXmlParts in createServer.","open.failed":"The document could not be opened for a reason without a specific code. Report it with the engine version.","edit.read-only":"The document is open for viewing or is protected as read-only, so edits are refused. Change the editing mode, or remove the protection.","edit.protected-content":"The edit touches content that document protection or a locked content control does not allow you to change.","edit.suggesting-needs-author":"Suggesting (tracking changes) needs an author to attribute each change to. Pass the author option or call setAuthor.","edit.review-module-required":"This operation needs the review module. Register reviewModule() from @docx-editor.dev/pro in modules.","edit.tracked-drawing-delete-unsupported":"This operation cannot record a drawing deletion as a tracked change, so nothing was deleted. Leave the drawing and report it, or ask a person to delete it in the editor, which records the deletion as a tracked change.","edit.tracked-structure-unsupported":"This structural edit cannot be recorded as a tracked change. Edit the text inside the structure instead, or ask a person to make the change with tracking off.","edit.tracked-operation-unsupported":"This editing API operation cannot be recorded as a tracked change, so nothing was applied. Use text edits such as range.insertText or range.delete, which tracking records. Never switch tracking off to make the edit succeed.","edit.tracking-mode-unsupported":"TrackAll needs every collaborator to enforce tracking, which this runtime cannot guarantee. Use TrackMineOnly instead.","edit.tracking-author-required":"TrackMineOnly needs an author for each tracked change. Pass the author option to createServer or createBrowser. The author set on the editor does not apply to an editing API batch.","edit.tracking-unsupported-host":"This automation host does not support change tracking. The runtimes from createServer and from a mounted editor both support TrackMineOnly.","edit.revision-unsupported":"The edit, accept, or reject touches a tracked change of a kind the editor cannot change yet. Edit around it, and leave that change for a person to review.","edit.tracking-required":"Document protection allows edits only as tracked changes. Switch to suggesting mode, or set document.changeTrackingMode to TrackMineOnly in an editing API batch, then edit again.","edit.tracked-image-replace-unsupported":"Replacing a picture cannot be recorded as a tracked change, so the picture did not change. Insert the new picture as a tracked insertion, or ask a person to replace it with tracking off.","edit.picture-selected":"A picture is selected, so the new picture has no place to go and nothing was inserted. Place the caret in text next to the picture, then insert again.","edit.cross-structure-join":"The edit would join paragraphs that live in different containers, such as two table cells. Edit each container separately.","edit.indivisible-content":"The edit would split content that must stay whole, such as an equation or a field. Select the whole item instead.","edit.field-structure":"The edit would break the structure of a field. Edit the field result as a whole, or remove the whole field.","edit.section-mark":"The edit would remove a section break that holds page layout settings. Remove the section break on its own.","edit.table-structure-unsupported":"The table edit is not supported for this table shape, for example a table with merged cells. Change the merge first.","edit.table-insert-refused":"A table cannot be inserted at the selection, for example inside a field or a locked content control. Move the caret first.","edit.table-of-contents-refused":"The table of contents could not be inserted or updated at this place. Check that the selection is in the main document body.","edit.unsupported-content":"The edit touches content the editor shows but cannot change yet. The content is kept as it is.","edit.operation-unsupported":"This editing API operation or option is not supported by this runtime or host. Check the compatibility notes for the member you called.","edit.unsupported-story":"This part of the document, such as a header, a footer or a note, does not support this edit.","edit.unmapped-change":"The browser changed the page in a way the editor could not express as a document edit, so the change was undone.","edit.stale-target":"The edit addresses content that no longer exists, usually after a remote or undone change. Read the document again and retry.","edit.invalid-argument":"The command arguments are not valid for this target. Check the command type and its fields.","edit.resource-limit":"The edit would exceed a size or nesting limit. Split the change into smaller edits.","edit.refresh-in-progress":"An external document refresh is in progress. Retry the edit after the refresh completes.","edit.collaboration-not-ready":"The collaboration session is not ready to replicate edits, so this one was refused. Wait for the ready status, then retry; a destroyed session needs a rejoin.","edit.collaboration-text-limit":"One edit inserted more text than a collaboration session accepts at once. Insert the text in smaller parts.","edit.internal-invariant":"The editor refused an edit to protect the document structure. This is an engine defect: report the code with the engine version.","edit.refused":"The edit was refused for a reason without a specific code. Read snapshot().lastRejection for the local message.","review.revision-unsupported":"A tracked change of this kind cannot be accepted or rejected yet. It was left in the document.","review.incomplete-group":"The tracked change is part of a group that was not fully selected. Select the whole group, or resolve it from the review pane.","review.retained-structure":"Resolving the tracked change would remove structure that other content still needs, so it was left in place.","review.stale-revision":"The tracked change no longer exists, usually because it was resolved already. Read the review items again.","font.shaper-unavailable":"The text shaper did not load, so text is measured with fallback metrics. Check that your bundler serves the HarfBuzz WebAssembly file.","font.load-failed":"A font face could not be loaded. The editor uses a substitute. Check the font source URL and its CORS headers.","font.missing":"A font the document asks for is not available. The editor uses a substitute. Add the face to the fonts option.","font.integrity-mismatch":"A font face does not match its declared hash or metadata, so the editor refused it and used a substitute.","font.malformed":"A font file is not a valid font, so the editor refused it and used a substitute. Check the file the font source points at.","font.size-limit":"A font file is larger than the font byte budget, so the editor used a substitute. Subset the font, or serve a smaller face.","history.split":"An edit started a new undo step inside a gesture you meant as one. Wrap the gesture in beginHistoryGroup and end it when the gesture ends.","history.possible-ungrouped-gesture":"Several commands ran in quick succession without a history group, so undo may take them back one at a time. Use beginHistoryGroup for one user gesture.","history.possible-fragmented-gesture":"One gesture was split across several history groups, so undo may need several steps. Keep one history group open for the whole gesture.","custom-node.payload-invalid":"A custom node payload in the document does not match the node schema, so the node opened without its data. Check the schema version that wrote the file.","custom-node.payload-missing":"A custom node points at a payload the document does not contain, often after a partial export or a manual edit. The node opened without its data.","font.unsupported-face":"A font face uses a format or face index the editor does not support. The editor uses a substitute.","performance.slow-interaction":"More than one key press or click in 20 took over 200 ms to reach the screen. Compare the layout and paint timings in this event: slow layout follows document size, slow paint follows the pages on screen."},Go="The collaboration session could not take work: it was not attached, not ready yet, or already destroyed. Wait for the ready status, or rejoin when the session was destroyed.",Gn="The collaboration factory rejected a value before joining. Fix the document id, session id, or identity that the host passed.",Xn="Joining the room did not complete. Check that the provider is connected and the room id is right, then rejoin.",Yt="The document cannot seed a collaboration room. Open the file on its own to find the problem, or seed the room from another copy.",Xo="This client and the room use different collaboration formats. Save local work, then upgrade the client or migrate the room.",Yo="The room is unusable. Save a copy, then create a new room from saved document bytes.",ft="A remote update could not be applied yet. Edits pause and the session heals when a later update arrives. No action is needed unless it persists.",We="Shared state reached a resource limit. A refused local edit is taken back automatically; a room over a limit must be recreated from a saved copy.",Yn="A value in the shared state is malformed or points at something that does not exist. A refused local edit is taken back automatically; a room that holds such a value must be recreated from a saved copy.",cl="The room server refused the saved room. Check the server storage, then rejoin.",Me="This collaboration code is no longer emitted. Upgrade the packages on every client and server.",gu={"collab.collaboration-session-destroyed":Go,"collab.collaboration-session-not-attached":Go,"collab.collaboration-session-not-ready":Go,"collab.collaboration-text-limit":"One edit inserted more text than a collaboration session accepts at once. Insert the text in smaller parts.","collab.experimental-collaboration-body-text-only":"This session replicates only body text, and the edit touched another part of the document. Make that change outside collaboration.","collab.invalid-document-id":Gn,"collab.invalid-identity":Gn,"collab.invalid-identity-color":Gn,"collab.invalid-session-id":Gn,"collab.already-initialized":Xn,"collab.document-id-mismatch":Xn,"collab.initialization-aborted":Xn,"collab.not-initialized":Xn,"collab.baseline-too-large":Yt,"collab.blob-read":Yt,"collab.invalid-baseline":Yt,"collab.missing-local-blob":Yt,"collab.no-main-document-part":Yt,"collab.collaboration-format-mismatch":Xo,"collab.protocol-version-mismatch":Xo,"collab.schema-version-mismatch":Xo,"collab.blob-digest-mismatch":Yo,"collab.concurrent-seed":Yo,"collab.port-already-attached":Yo,"collab.duplicate-paragraph-id":ft,"collab.invalid-relationships":ft,"collab.materialize-dropped-content":ft,"collab.missing-blob":ft,"collab.missing-root":ft,"collab.remote-apply-failed":ft,"collab.unknown-paragraph-id":ft,"collab.blob-store-full":We,"collab.blob-too-large":We,"collab.invalid-blob-descriptor":Yn,"collab.invalid-bound":Yn,"collab.invalid-logical-id":Yn,"collab.invalid-string":"A shared value is not valid XML text, so the session refused it. A peer sent malformed state; save a copy and recreate the room.","collab.prototype-key":"A shared state key would reach object internals, so the session refused it. A peer sent malformed state; save a copy and recreate the room.","collab.text-too-long":We,"collab.too-many-attributes":We,"collab.too-many-children":We,"collab.too-many-nodes":We,"collab.too-many-parts":We,"collab.too-many-relationships":We,"collab.tree-too-deep":We,"collab.unknown-logical-id":Yn,"collab.unsafe-part-name":"A shared package part has an unsafe name, so the session refused it. A peer sent malformed state; save a copy and recreate the room.","collab.invalid-saved-room":cl,"collab.saved-room-unavailable":cl,"collab.baseline-digest-mismatch":Me,"collab.experimental-collaboration-existing-paragraphs-only":Me,"collab.experimental-collaboration-text-only":Me,"collab.experimental-collaboration-untracked-text-only":Me,"collab.immutable-baseline-changed":Me,"collab.immutable-metadata-changed":Me,"collab.invalid-shared-metadata":Me,"collab.local-mirror-failed":Me,"collab.paragraph-set-mismatch":Me,"collab.shared-schema-invalid":Me,"collab.unsupported-root-key":Me,"collab.initialization-timeout":"Joining the room timed out. Check that the collaboration server is reachable, then rejoin.","collab.authentication-failed":"The collaboration server refused the credential. Refresh the token, then rejoin. Reconnecting with the same token fails again.","collab.room-generation-changed":"The server compacted the room while this client was away. Save a copy if it holds unsent changes, then rejoin.","collab.transport":"The collaboration transport failed. Check the network and the server, then rejoin.","collab.transport-disconnected":"The connection to the collaboration server dropped. The session reconnects on its own; edits continue offline when offline editing is on."},Jo={...Qo,...gu};function hu(e){return {hint:Jo[e]??Qo["edit.refused"],docs:Object.hasOwn(Jo,e)?`${ul}#${fu(e)}`:ul}}function pl(e){return e.startsWith("edit.")&&Object.hasOwn(Qo,e)}function yu(){return Object.keys(Jo)}var ku=1,fl={unsupported:"open.unsupported-source","inflate-error":"open.zip-corrupt","bad-name":"open.zip-invalid-entry-name","too-many-entries":"open.zip-entry-limit","parse-error":"open.xml-malformed","missing-root":"open.xml-malformed","multiple-roots":"open.xml-malformed","invalid-name":"open.xml-malformed","invalid-namespace":"open.xml-malformed","undeclared-prefix":"open.xml-malformed","duplicate-expanded-attribute":"open.xml-malformed","dtd-forbidden":"open.xml-dtd-forbidden","entity-forbidden":"open.xml-dtd-forbidden","too-deep":"open.xml-depth-limit","too-many-elements":"open.xml-element-limit","invalid-limits":"open.invalid-limits","no-content-types":"open.content-types-invalid","bad-content-types":"open.content-types-invalid","no-main-document":"open.missing-main-document","no-main-document-tree":"open.missing-main-document","bad-relationship-target":"open.relationships-invalid","duplicate-relationship-id":"open.relationships-invalid","too-many-relationships":"open.relationship-limit","too-many-xml-parts":"open.part-limit"};function xu(e,t){return e==="too-large"?t==="zip.maxRatio"?"open.zip-ratio-limit":t==="zip.maxTotalBytes"?"open.zip-size-limit":"open.xml-part-size-limit":Zo(fl,e)??"open.failed"}var gl={locked:"edit.protected-content",bound:"edit.protected-content","drawing-locked":"edit.protected-content","not-adjacent-siblings":"edit.cross-structure-join","indivisible-content":"edit.indivisible-content","field-structure":"edit.field-structure","field-result-unsupported":"edit.field-structure","carries-section-mark":"edit.section-mark","table-has-merge":"edit.table-structure-unsupported","row-hides-cell":"edit.table-structure-unsupported","unknown-grid-column":"edit.table-structure-unsupported","cross-cell-drawing":"edit.table-structure-unsupported",trackedDrawingDeletionUnsupported:"edit.tracked-drawing-delete-unsupported",packageTransactionRequired:"edit.tracked-structure-unsupported","automation-structural-tracking-unsupported":"edit.tracked-structure-unsupported","unsupported-revision":"edit.revision-unsupported","unknown-revision":"edit.stale-target","resource-limit":"edit.resource-limit","fragment-too-deep":"edit.resource-limit","fragment-resource-budget":"edit.resource-limit","fragment-invalid-block":"edit.unsupported-content",unsupported:"edit.unsupported-content","unsupported-property":"edit.unsupported-content","not-a-picture-drawing":"edit.unsupported-content","unknown-op":"edit.invalid-argument","invalid-range":"edit.invalid-argument","offset-out-of-range":"edit.invalid-argument","splits-surrogate-pair":"edit.invalid-argument","invalid-text":"edit.invalid-argument","invalid-property-value":"edit.invalid-argument","invalid-drawing-value":"edit.invalid-argument","not-a-list-paragraph":"edit.invalid-argument",typeMismatch:"edit.invalid-argument",invalidArgs:"edit.invalid-argument","unknown-paragraph":"edit.stale-target","not-a-paragraph":"edit.stale-target","unknown-block":"edit.stale-target","not-a-block":"edit.stale-target","block-required":"edit.stale-target","unknown-part":"edit.stale-target","unknown-content-control":"edit.stale-target","not-a-content-control":"edit.stale-target","unknown-control":"edit.stale-target","unknown-table":"edit.stale-target","unknown-row":"edit.stale-target","unknown-drawing":"edit.stale-target","not-a-drawing":"edit.stale-target","tree-invariant":"edit.internal-invariant","package-invariant":"edit.internal-invariant","duplicate-property-container":"edit.internal-invariant","unknown-scope":"edit.unsupported-story","dangling-relationship":"edit.unsupported-story","wrong-relationship-type":"edit.unsupported-story","external-relationship":"edit.unsupported-story","missing-part":"edit.unsupported-story","bad-relationship-target":"edit.unsupported-story","not-a-story-part":"edit.unsupported-story","too-many-story-stores":"edit.resource-limit","unsupported-story":"edit.unsupported-story","experimental-collaboration-body-text-only":"edit.unsupported-story","review-module-required":"edit.review-module-required","no-document":"edit.stale-target","table-insert-refused":"edit.table-insert-refused","table-of-contents-refused":"edit.table-of-contents-refused","refresh-in-progress":"edit.refresh-in-progress","collaboration-session-not-ready":"edit.collaboration-not-ready","collaboration-session-not-attached":"edit.collaboration-not-ready","collaboration-session-destroyed":"edit.collaboration-not-ready","collaboration-text-limit":"edit.collaboration-text-limit","change-tracking-unsupported-host":"edit.tracking-unsupported-host","change-tracking-mode-unsupported":"edit.tracking-mode-unsupported","change-tracking-author-required":"edit.tracking-author-required","change-tracking-operation-unsupported":"edit.tracked-operation-unsupported"};function bu(e){let t=e.indexOf(":"),n=t<0?e:e.slice(0,t);return pl(n)?n:Zo(gl,n)??null}var hl={"unsupported-revision":"review.revision-unsupported","incomplete-group":"review.incomplete-group","retained-structure":"review.retained-structure","unknown-revision":"review.stale-revision"};function Au(e){return Zo(hl,e)??null}function yl(){return [...Object.keys(fl),"too-large",...Object.keys(gl),...Object.keys(hl)]}var xe=1024,vu=[[64*xe,"0-64KiB"],[128*xe,"64-128KiB"],[256*xe,"128-256KiB"],[512*xe,"256-512KiB"],[1024*xe,"512KiB-1MiB"],[2*1024*xe,"1-2MiB"],[4*1024*xe,"2-4MiB"],[8*1024*xe,"4-8MiB"],[16*1024*xe,"8-16MiB"],[32*1024*xe,"16-32MiB"],[64*1024*xe,"32-64MiB"],[128*1024*xe,"64-128MiB"],[256*1024*xe,"128-256MiB"],[512*1024*xe,"256-512MiB"]];function Ou(e){for(let[t,n]of vu)if(e<t)return n;return "512MiB+"}function Pu(e){return e<=0?"0":e===1?"1":e<10?"2-9":e<100?"10-99":e<1e3?"100-999":"1000+"}var ml=0;function Ru(){let e=globalThis.crypto;if(e?.randomUUID)return `e_${e.randomUUID()}`;if(e?.getRandomValues){let t=e.getRandomValues(new Uint8Array(16));return `e_${Array.from(t,n=>n.toString(16).padStart(2,"0")).join("")}`}return ml+=1,`e_${Date.now().toString(36)}_${ml.toString(36)}`}function Iu(e,t=()=>Date.now()){let n=Ru();return {editorSessionId:n,deliver(o){let r=Object.freeze({...o,schemaVersion:ku,editorSessionId:n,time:t()});for(let a of e())try{let s=a(r);s&&typeof s.then=="function"&&s.then(void 0,()=>{});}catch{}}}}function Zo(e,t){return Object.hasOwn(e,t)?e[t]:void 0}var Su=["paragraph-count-unexplained","paragraph-reordered","unknown-paragraph-id","unknown-content-moved","unsupported-node","split-not-clean","join-not-clean"],wu={unaddressed:true,"misplaced-marker":true,"nested-marker":true,"unsupported-structure":true,"unsupported-move":true,"unrecorded-properties":true,"read-only":true,"no-sites":true},xl="exception",kl;function bl(){return kl??=new Set([...yl(),...Su,...Object.keys(wu),xl]),kl}function Cu(){return [...bl()]}function Tu(e){if(!e)return;let t=e.indexOf(":"),n=t<0?e:e.slice(0,t);return bl().has(n)?n:void 0}function Nu(){return xl}var Eu=new Set(["Error","TypeError","RangeError","ReferenceError","SyntaxError"]);function Lu(e){let t=e instanceof Error?e.name:void 0;return t&&Eu.has(t)?t:"other"}var Du=[[/^\[content_types\]\.xml$/,"content-types"],[/\.rels$/,"relationships"],[/^customxml\//,"custom-xml"],[/^docprops\//,"document-properties"],[/\/media\//,"media"],[/\/embeddings\//,"embedding"],[/\/glossary\//,"glossary"],[/(?:^|\/)theme\/[^/]*\.xml$/,"theme"],[/(?:^|\/)header\d*\.xml$/,"header"],[/(?:^|\/)footer\d*\.xml$/,"footer"],[/(?:^|\/)footnotes\.xml$/,"footnotes"],[/(?:^|\/)endnotes\.xml$/,"endnotes"],[/(?:^|\/)comments[a-z]*\.xml$/,"comments"],[/(?:^|\/)people\.xml$/,"people"],[/(?:^|\/)styles(?:witheffects)?\.xml$/,"styles"],[/(?:^|\/)numbering\.xml$/,"numbering"],[/(?:^|\/)websettings\.xml$/,"web-settings"],[/(?:^|\/)settings\.xml$/,"settings"],[/(?:^|\/)fonttable\.xml$/,"font-table"],[/(?:^|\/)document\d*\.xml$/,"main-document"]],Mu=512;function Hu(e){if(!e)return;let t=[": "," -> "].reduce((o,r)=>{let a=e.indexOf(r);return a>=0&&a<o?a:o},e.length);if(t>Mu)return "other";let n=e.slice(0,t).replace(/^\/+/,"").toLowerCase().replace(/(\.(?:xml|rels))\/[^/]*$/,"$1");for(let[o,r]of Du)if(o.test(n))return r;return "other"}var Fu={insert:true,delete:true,replace:true,moveFrom:true,moveTo:true,format:true,paragraphMark:true,structural:true};function ay(e){return e&&Object.hasOwn(Fu,e)?e:void 0}var Bu=new Set(["rPrChange","pPrChange","sectPrChange","tblPrChange","tblPrExChange","tblGridChange","trPrChange","tcPrChange","numberingChange"]);function iy(e){if(e)return Bu.has(e)?e:"other"}
7
+ export{Lu as A,Hu as B,ay as C,iy as D,yi as a,ki as b,_t as c,za as d,yo as e,ko as f,Ut as g,_e as h,Je as i,ni as j,oi as k,nd as l,sl as m,dl as n,cu as o,hu as p,yu as q,xu as r,bu as s,Au as t,Ou as u,Pu as v,Iu as w,Cu as x,Tu as y,Nu as z};
@@ -1 +1 @@
1
- import {Ef,sf,nf,Ff,tf,vf,Gf,Df,eb,Kj}from'./chunk-4R3TEXMN.js';function U(e){return e.kind!=="textValue"}function k(e,t){for(let l of e.children)if(U(l)&&l.localName===t)return l}function _(e,t){return e.attributes.find(l=>l.localName===t)?.value}function Y(e){let t=k(e,"pPr"),l=t?k(t,"outlineLvl"):void 0;if(l){let i=_(l,"val");return i!==void 0&&/^[0-8]$/.test(i)?Number(i):null}let n=k(e,"name"),o=n?/^heading\s+([1-9])$/i.exec(_(n,"val")?.trim()??""):null;return o?Number(o[1])-1:null}function h(e,t=0,l=e.length,n){let o=new Set,i=new Map,d=new Map,a=n?[n]:[];n&&o.add(n);for(let s=t;s<l;s+=1){let r=e[s].node;if(sf(r,"begin")){a.push(r.id);continue}if(sf(r,"separate")){let u=a[a.length-1];u&&(o.add(u),i.set(r.id,u));continue}if(sf(r,"end")){let u=a.pop();u&&(o.add(u),d.set(r.id,u));}}return {activeBegins:o,separateBegin:i,endBegin:d}}function b(e,t,l){if(sf(l,"begin"))return t.activeBegins.has(l.id)&&e.push({beginId:l.id,separated:false}),true;if(sf(l,"separate")){let n=t.separateBegin.get(l.id),o=e[e.length-1];return n&&o?.beginId===n&&(o.separated=true),true}if(sf(l,"end")){let n=t.endBegin.get(l.id),o=e[e.length-1];return n&&o?.beginId===n&&e.pop(),true}return false}function g(e){for(let t of e)if(!t.separated)return false;return true}function K(e,t){let l=[];Ef(e,l,t);let n=h(l),o=[];return {consume:i=>b(o,n,i),visible:()=>g(o)}}var j=4096,L=Ff*16;function O(){return {out:[],runs:[],symbols:[],symbolDisplays:[],length:0}}function v(e,t,l,n){if(t.length===0||l===n)return;let o=e.runs[e.runs.length-1];if(o?.runId===t&&o.end===l){e.runs[e.runs.length-1]={runId:t,start:o.start,end:n};return}e.runs.push({runId:t,start:l,end:n});}function C(e,t,l,n){let o=Df(t);if(o.length>n.left)return false;if(n.left-=o.length,o.length>0){let i=e.length;eb(t)&&(e.symbols.push(i),e.symbolDisplays.push(Kj(t))),e.out.push(o),e.length+=o.length,v(e,l,i,e.length);}return true}function X(e,t){let l=e.length;t.text.length>0&&e.out.push(t.text),e.length+=t.text.length;for(let n of t.runs)v(e,n.runId,l+n.start,l+n.end);for(let n of t.symbols??[])e.symbols.push(l+n);for(let n of t.symbolDisplays??[])e.symbolDisplays.push(n);}function N(e){let t=e.out.join("");return e.symbols.length>0?{text:t,runs:e.runs,symbols:e.symbols,symbolDisplays:e.symbolDisplays}:{text:t,runs:e.runs}}var H=Object.freeze({text:"",runs:[]});function M(){return {text:nf,runs:[]}}function $(e,t,l,n){let o=[];if(!Ef(e,o,l))return null;let i=o.reverse(),d=O();for(;i.length>0;){let a=i.pop();if(!(t==="original"&&a.hiddenInOriginal)){if(vf(a.node)){let s=[];if(!Ef(a.node,s,l))return null;for(let r=s.length-1;r>=0;r-=1)i.push(s[r]);continue}if(!tf(a.node)&&!C(d,a.node,a.runId,n))return null}}return N(d)}function z(e,t,l,n,o){let i=O(),d=[],a=h(e);for(let s of e){let r=s.node;if(!b(d,a,r)&&!tf(r)&&g(d)&&!(t==="original"&&s.hiddenInOriginal)){if(vf(r)){let u=o>=Gf?$(r,t,l,n):V(r,t,l,n,o+1);if(u===null)return null;X(i,u);continue}if(!C(i,r,s.runId,n))return null}}return N(i)}function V(e,t,l,n,o){let i=[];return Ef(e,i,l)?z(i,t,l,n,o):null}function G(e,t,l){let n=t.node;return e.owned.has(n.id)&&(e.nodesLeft-=1,e.nodesLeft<0&&(e.overflow=true)),n.id===e.endId?true:(n.id===e.span.node.id||b(e.states,e.markers,n)||e.overflow||tf(n)||vf(n)||!e.owned.has(n.id)||!g(e.states)||l==="original"&&t.hiddenInOriginal||C(e.result,n,t.runId,e.chars)||(e.overflow=true),false)}function te(e,t,l="allMarkup"){let n=new Map,o=new Map,i=new Map;for(let r of t)r.kind==="complex"?o.set(r.node.id,r):i.set(r.node.id,r);let d=[];Ef(e,d);let a=new Map;for(let r=0;r<d.length;r+=1)a.set(d[r].node.id,r);let s=null;for(let r=0;r<d.length;r+=1){let u=d[r],y=i.get(u.node.id);if(y)if(s!==null&&!g(s.states))n.set(y.node.id,H);else {let f={left:j},I={left:L},m=V(y.node,l,f,I,0);n.set(y.node.id,m??M());}if(s===null){let f=o.get(u.node.id);if(!f)continue;let I=new Set(f.removeNodeIds),m=-1;for(let S=f.removeNodeIds.length-1;S>=0;S-=1){let x=a.get(f.removeNodeIds[S]);if(!(x===void 0||x<=r)&&sf(d[x].node,"end")){m=x;break}}let w=d[m];if(!w){n.set(f.node.id,M());continue}s={span:f,owned:I,states:[{beginId:f.node.id,separated:false}],markers:h(d,r+1,m,f.node.id),endId:w.node.id,result:O(),chars:{left:L},nodesLeft:j,overflow:false};}G(s,u,l)&&(n.set(s.span.node.id,s.overflow?M():N(s.result)),s=null);}return s!==null&&n.set(s.span.node.id,M()),n}export{Y as a,K as b,j as c,te as d};
1
+ import {Ef,sf,nf,Ff,tf,vf,Gf,Df,eb,Lj}from'./chunk-YQ5G6LC7.js';function U(e){return e.kind!=="textValue"}function k(e,t){for(let l of e.children)if(U(l)&&l.localName===t)return l}function _(e,t){return e.attributes.find(l=>l.localName===t)?.value}function Y(e){let t=k(e,"pPr"),l=t?k(t,"outlineLvl"):void 0;if(l){let i=_(l,"val");return i!==void 0&&/^[0-8]$/.test(i)?Number(i):null}let n=k(e,"name"),o=n?/^heading\s+([1-9])$/i.exec(_(n,"val")?.trim()??""):null;return o?Number(o[1])-1:null}function h(e,t=0,l=e.length,n){let o=new Set,i=new Map,d=new Map,a=n?[n]:[];n&&o.add(n);for(let s=t;s<l;s+=1){let r=e[s].node;if(sf(r,"begin")){a.push(r.id);continue}if(sf(r,"separate")){let u=a[a.length-1];u&&(o.add(u),i.set(r.id,u));continue}if(sf(r,"end")){let u=a.pop();u&&(o.add(u),d.set(r.id,u));}}return {activeBegins:o,separateBegin:i,endBegin:d}}function b(e,t,l){if(sf(l,"begin"))return t.activeBegins.has(l.id)&&e.push({beginId:l.id,separated:false}),true;if(sf(l,"separate")){let n=t.separateBegin.get(l.id),o=e[e.length-1];return n&&o?.beginId===n&&(o.separated=true),true}if(sf(l,"end")){let n=t.endBegin.get(l.id),o=e[e.length-1];return n&&o?.beginId===n&&e.pop(),true}return false}function g(e){for(let t of e)if(!t.separated)return false;return true}function K(e,t){let l=[];Ef(e,l,t);let n=h(l),o=[];return {consume:i=>b(o,n,i),visible:()=>g(o)}}var j=4096,L=Ff*16;function O(){return {out:[],runs:[],symbols:[],symbolDisplays:[],length:0}}function v(e,t,l,n){if(t.length===0||l===n)return;let o=e.runs[e.runs.length-1];if(o?.runId===t&&o.end===l){e.runs[e.runs.length-1]={runId:t,start:o.start,end:n};return}e.runs.push({runId:t,start:l,end:n});}function C(e,t,l,n){let o=Df(t);if(o.length>n.left)return false;if(n.left-=o.length,o.length>0){let i=e.length;eb(t)&&(e.symbols.push(i),e.symbolDisplays.push(Lj(t))),e.out.push(o),e.length+=o.length,v(e,l,i,e.length);}return true}function X(e,t){let l=e.length;t.text.length>0&&e.out.push(t.text),e.length+=t.text.length;for(let n of t.runs)v(e,n.runId,l+n.start,l+n.end);for(let n of t.symbols??[])e.symbols.push(l+n);for(let n of t.symbolDisplays??[])e.symbolDisplays.push(n);}function N(e){let t=e.out.join("");return e.symbols.length>0?{text:t,runs:e.runs,symbols:e.symbols,symbolDisplays:e.symbolDisplays}:{text:t,runs:e.runs}}var H=Object.freeze({text:"",runs:[]});function M(){return {text:nf,runs:[]}}function $(e,t,l,n){let o=[];if(!Ef(e,o,l))return null;let i=o.reverse(),d=O();for(;i.length>0;){let a=i.pop();if(!(t==="original"&&a.hiddenInOriginal)){if(vf(a.node)){let s=[];if(!Ef(a.node,s,l))return null;for(let r=s.length-1;r>=0;r-=1)i.push(s[r]);continue}if(!tf(a.node)&&!C(d,a.node,a.runId,n))return null}}return N(d)}function z(e,t,l,n,o){let i=O(),d=[],a=h(e);for(let s of e){let r=s.node;if(!b(d,a,r)&&!tf(r)&&g(d)&&!(t==="original"&&s.hiddenInOriginal)){if(vf(r)){let u=o>=Gf?$(r,t,l,n):V(r,t,l,n,o+1);if(u===null)return null;X(i,u);continue}if(!C(i,r,s.runId,n))return null}}return N(i)}function V(e,t,l,n,o){let i=[];return Ef(e,i,l)?z(i,t,l,n,o):null}function G(e,t,l){let n=t.node;return e.owned.has(n.id)&&(e.nodesLeft-=1,e.nodesLeft<0&&(e.overflow=true)),n.id===e.endId?true:(n.id===e.span.node.id||b(e.states,e.markers,n)||e.overflow||tf(n)||vf(n)||!e.owned.has(n.id)||!g(e.states)||l==="original"&&t.hiddenInOriginal||C(e.result,n,t.runId,e.chars)||(e.overflow=true),false)}function te(e,t,l="allMarkup"){let n=new Map,o=new Map,i=new Map;for(let r of t)r.kind==="complex"?o.set(r.node.id,r):i.set(r.node.id,r);let d=[];Ef(e,d);let a=new Map;for(let r=0;r<d.length;r+=1)a.set(d[r].node.id,r);let s=null;for(let r=0;r<d.length;r+=1){let u=d[r],y=i.get(u.node.id);if(y)if(s!==null&&!g(s.states))n.set(y.node.id,H);else {let f={left:j},I={left:L},m=V(y.node,l,f,I,0);n.set(y.node.id,m??M());}if(s===null){let f=o.get(u.node.id);if(!f)continue;let I=new Set(f.removeNodeIds),m=-1;for(let S=f.removeNodeIds.length-1;S>=0;S-=1){let x=a.get(f.removeNodeIds[S]);if(!(x===void 0||x<=r)&&sf(d[x].node,"end")){m=x;break}}let w=d[m];if(!w){n.set(f.node.id,M());continue}s={span:f,owned:I,states:[{beginId:f.node.id,separated:false}],markers:h(d,r+1,m,f.node.id),endId:w.node.id,result:O(),chars:{left:L},nodesLeft:j,overflow:false};}G(s,u,l)&&(n.set(s.span.node.id,s.overflow?M():N(s.result)),s=null);}return s!==null&&n.set(s.span.node.id,M()),n}export{Y as a,K as b,j as c,te as d};