@sheetxl/mcp 0.8.0-beta.15 → 0.8.0-beta.17

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 (234) hide show
  1. package/LICENSE.md +8 -7
  2. package/agent/instructions.md +15 -4
  3. package/assets/{Cf9LpgZz-W5blzy_.js → -cMvbaW1kvHslPKX.js} +3 -3
  4. package/assets/{BFdeov2e_xUQPEY_.js → 0kfwZuOHUkJmVjg6.js} +7 -7
  5. package/assets/{B7gUyrfLln3TiyKM.js → 1feDuXw6tBXu2XFg.js} +2 -2
  6. package/assets/{BbAmA46MhQSu3ZF_.js → 4qMP71Fe1Ep8kbOX.js} +2 -2
  7. package/assets/{CduNzsdbTigxH-ZK.js → 7TRx0dMYnL2i4tqL.js} +163 -163
  8. package/assets/{DEW2GxfGYqVFvrfg.js → 8cVPexxAVrFJ9QLX.js} +2 -2
  9. package/assets/{C4z2IilWTuu2TWXw.js → APP8AzsNgQXHTalA.js} +3 -3
  10. package/assets/{BleMG0hAQgjE8fTa.js → AnF1Kh3Vo2AniIYO.js} +3 -3
  11. package/assets/{C0CiMKC3lWK1z9p5.js → B2BfjRdJGZs6afVL.js} +3 -3
  12. package/assets/{BFXeoFUbuc4IKTz9.js → B2UxLSteMiPlg8Uu.js} +2 -2
  13. package/assets/{BJxfinOazQqqByc-.js → B3mh2tuvP-lMP6f_.js} +2 -2
  14. package/assets/{PpFbmF0DFeUdpb9I.js → B6NnxkSmEzCGZEZA.js} +2 -2
  15. package/assets/{xmTQJJVyCrcq77WR.js → B7Nqa7V-v0cxGBux.js} +2 -2
  16. package/assets/{DsCI_ZYm_jDjXF3J.js → B7OyFSpBb1eBvMVd.js} +52 -52
  17. package/assets/{ClNQN3vEg5b5qUDp.js → B8JX7a6VZlBNA_Bd.js} +2435 -2447
  18. package/assets/{DPCKMM7sgWbrtB8z.js → B9J8nV-dh6jHpzZI.js} +2 -2
  19. package/assets/{BuUEsifnQALe49uk.js → B9M_sgHpoc-op6FF.js} +2 -2
  20. package/assets/{BeLr36oL3jmeXFFi.js → BBC_WF8BcAH-k_cQ.js} +2 -2
  21. package/assets/{B5lHOOQ_rkP4Mi2r.js → BGZ_ltNFYvnAmbVR.js} +2 -2
  22. package/assets/{iujMYIEPx_v3sdPf.js → BJBoygm-gY68bLAP.js} +996 -995
  23. package/assets/BJdWgj1hv57eGVl4.js +2039 -0
  24. package/assets/{DcWTBOi_iBFc6U4J.js → BKRLtOdVOUTrLjQN.js} +8 -8
  25. package/assets/{DpdHDTFOeuzDVNEe.js → BKjovBsLpX2Fkhov.js} +78 -77
  26. package/assets/{BCy1zP97fsiIcvj6.js → BMJhHHX2LWgOJWGz.js} +2 -2
  27. package/assets/{fDMpDhXp36CatF-G.js → BOx4Ut_Rme7NH34X.js} +2 -2
  28. package/assets/{9U9XCqqdn-q3i2fj.js → BQYpVYbvfWuUJgdx.js} +2 -2
  29. package/assets/{DJiLWtmPR2OQNjzi.js → BS4ZsfH5D6aemSpO.js} +2 -2
  30. package/assets/{BlPubAFi7DY7VrAo.js → BSAdmOdx3brRE9LW.js} +2 -2
  31. package/assets/{BtjqpAKczftx91BQ.js → BSY9Tbmz6VEY_F_x.js} +2 -2
  32. package/assets/{S16s2h9qoYVBlVEa.js → BT8AGlSg2t7V1QNj.js} +1454 -1366
  33. package/assets/{Dz8UUJ7Xc2oN5PBG.js → BUV7BlOZcuPgDZ__.js} +2 -2
  34. package/assets/{B2udpZ-uIaql3AUh.js → BX5xFncPLyeN7TqA.js} +6 -6
  35. package/assets/{CGBGyaCGdlZFQYK0.js → Bcak_hZpcIkB2gJD.js} +2 -2
  36. package/assets/{vZZi_iKYHm05gAye.js → BdijGsy5W7yZ_I_n.js} +2 -2
  37. package/assets/{CMWAsUQ66V8fYrME.js → BebXDUnlrDDRGW60.js} +3 -3
  38. package/assets/{wfVh0olISLRWdv9Q.js → BgldX21zhey2aR9D.js} +2 -2
  39. package/assets/{SHZe9VOU1prGs1F9.js → BhCbCEPpDzhg5nqL.js} +2 -2
  40. package/assets/{ZuYfVKlp41IJnrOS.js → Bj4BFLBC9Tf6SGSt.js} +2 -2
  41. package/assets/BjhAYfsKC8iEbtgn.js +169 -0
  42. package/assets/BjnQVl1lb1KEbt2D.js +529 -0
  43. package/assets/{CWl6oHiJxkNKRixk.js → BlbxiLf1zD6_fWZs.js} +2 -2
  44. package/assets/{BjqQjxBuoXza8oqg.js → BmM-nHMAAuNatCcN.js} +3 -4
  45. package/assets/{DD8HNAUFroTCuD-b.js → Bni-y4FJS4rkFYtn.js} +3305 -2147
  46. package/assets/{Cfhv_Yw_LT8VzAMt.js → BodrfKIAhDFD-X3t.js} +2 -2
  47. package/assets/{D8J14MLlN2HRXdXB.js → BvDcHHJvQMRHthm-.js} +2 -2
  48. package/assets/{hulrR0PldUxMJm_F.js → Bw_FtA-1886HMCLJ.js} +4 -4
  49. package/assets/{BOPsJmq7v7HOKUkO.js → Bxkx8QokmRNyXbOI.js} +12 -12
  50. package/assets/{CNz3LdmvsOEJoLO9.js → Bz1ImBvJwPwBrA5j.js} +2 -2
  51. package/assets/C2NPIWe0pLs3PAZM.js +7 -0
  52. package/assets/{LEJp05fjmflKgyqF.js → C2ZX6ffXsMaEr2d2.js} +452 -448
  53. package/assets/{Bg95xYj5siqhHVEz.js → C3Q-fjiZZ15waCq_.js} +3 -3
  54. package/assets/{CJ5WQnaoCsdr5gf4.js → C46RpMrfF6FiEFI7.js} +2 -2
  55. package/assets/{ChWpsFGl-BYOnX_A.js → C4deMY87Q_haYyLF.js} +2 -2
  56. package/assets/C7iHn3y3HVBHflpA.js +2563 -0
  57. package/assets/{C7ONfuYIWRmDu_vs.js → CJF3P7U7yBQVF2Cg.js} +2 -2
  58. package/assets/{DvUUArnZwoYOKOuk.js → CLgvdaqeFlESLvbF.js} +2 -2
  59. package/assets/{Crt2kLdGIlBHANgg.js → CLze192iF2o-aETZ.js} +2 -2
  60. package/assets/{F_f0jJqM5MrXGbwC.js → CMRLNLqYkiqCLMRa.js} +4 -4
  61. package/assets/{D-ffk16w8c5w0mxI.js → COa691om4fLN4CUy.js} +2 -2
  62. package/assets/CSLLHl-zum7m1CJl.js +14 -0
  63. package/assets/{DVchxwp6w6lu2Ihu.js → CUbCBf24Ie4A2l4R.js} +3 -3
  64. package/assets/{xnhBSX6lAcmBM65y.js → CWLleOolFzyT0COW.js} +2 -2
  65. package/assets/{Cg51xaLRUkVOMdCZ.js → CaJ9j3l0cERnYqDS.js} +2 -2
  66. package/assets/{BQMDOjNBMjAx9WiW.js → CfA8o-FNret9-D6Y.js} +2 -2
  67. package/assets/{BbcUxIZe3YXywsQR.js → Cl7HHR6Vc9S4n3AP.js} +2 -2
  68. package/assets/{BG5kgbDRXMc0re6W.js → CqjNsZ2OB4Kx6J3s.js} +9 -9
  69. package/assets/{By-7OWXShMlFFejV.js → CqwEHSKivMYw7tRZ.js} +2 -2
  70. package/assets/{BTQhJQ3e0hsiousD.js → Cr6lm0oXZJaaoAmD.js} +2 -2
  71. package/assets/{CudNpUD78SrtJIiy.js → CshK6Ew7OQ7mngI3.js} +3 -3
  72. package/assets/{DoILAmhKUOlKWRVw.js → CsiIgnb_L2x2Go6g.js} +2 -2
  73. package/assets/{Bn8D2bebQ2tFfwQt.js → CtmrBbpapaNwjwNB.js} +47 -45
  74. package/assets/{Diee6f_qAmcZBd2_.js → CwRhhoL5ynbe78dB.js} +2 -2
  75. package/assets/{DDnwKPJSznyfYDZS.js → CyI1eGGzJX8nJXaT.js} +3 -3
  76. package/assets/{BRzp6DEIYUgM3NkN.js → Cz4H3Qge2u8er3Ny.js} +4 -4
  77. package/assets/{D7oUtYjetuykGhQ5.js → D0OQ6ka8so0BWPwL.js} +2 -2
  78. package/assets/{_fUXIv6nKvgZkhxn.js → D336KioeSjd-T8n3.js} +3 -3
  79. package/assets/D5L35C8cbX16BSCF.js +4676 -0
  80. package/assets/{jadLBUNBVR9mbZ35.js → D5VFuX1h50V2jLmZ.js} +830 -515
  81. package/assets/{Bh0PNKlrR4VAqnP8.js → D6ON3ZLcTAXV3fO6.js} +35694 -30239
  82. package/assets/{LyLlBk--VJD2V-f8.js → DDhPOQPc-lpyZrUJ.js} +34 -34
  83. package/assets/{FzNG48GE_wso6RII.js → DE4xC78p5UtS7wH6.js} +2 -2
  84. package/assets/{OVRdpPUzR0-ueTxE.js → DF7-oRscXc_vkMo8.js} +2 -2
  85. package/assets/{CMK6tIDVqYYvK4GZ.js → DMuOMpgIhVgB3eG8.js} +2 -2
  86. package/assets/{CecTe22WURiXbVdY.js → DPKeRb9GKmh_WCPv.js} +386 -372
  87. package/assets/{oxjm7Yr7u7MeaO5P.js → DSsH28SW8CMrSL-q.js} +2 -2
  88. package/assets/{Btys7KwtvV3hz2F6.js → DV6WSFmSEKfb3d2s.js} +109 -109
  89. package/assets/{JO3zH9hupFSV6vj2.js → DYJcfrNUUJQtxXWX.js} +2 -2
  90. package/assets/{BZPTaa0WjpoUAbgZ.js → D_peM8fbRgGaWvpq.js} +2 -2
  91. package/assets/{DTfl-4Iboi6TQU5m.js → DeEZvPW-VvlE28oE.js} +4 -4
  92. package/assets/Dgi2xwb2DN2Gybj3.js +7 -0
  93. package/assets/{Cf2dcwmmmf13Rywg.js → DidhZpf9qJAei29Y.js} +2 -2
  94. package/assets/{DB-tkqI6wFXDKEfB.js → Dkg-LQVsZlrHk7A8.js} +2 -2
  95. package/assets/DnTfXqCnRCe-1QYI.js +199 -0
  96. package/assets/{B9US2ZrF93KOjmAx.js → DoBvgI3Ry8DlGzwQ.js} +2 -2
  97. package/assets/{DH7sGHzxUqIQkDnd.js → DrHVew6gwOB6oxCn.js} +2 -2
  98. package/assets/{CvngwB17_ve4W49b.js → Dre79rTMoYYikNuB.js} +69 -69
  99. package/assets/{_d5XJ7dn1CKKYrep.js → DsCNtBR5jCeqmLBS.js} +3 -3
  100. package/assets/{jPUOH4FHF4b-rapv.js → Dzz3yrKbECzg6caR.js} +2 -2
  101. package/assets/{BrcQmHcE7Hcr1erJ.js → FvxN6PPps-rNPDo8.js} +2 -2
  102. package/assets/G2Wjyx_ETCAcofwm.js +7166 -0
  103. package/assets/{CXHslDxkWCuEcCSQ.js → IGAV8DdYH32cW8XU.js} +2 -2
  104. package/assets/{U1XXGEPuuqIAzYl1.js → Jd71-QCmFEcDcYSw.js} +2 -2
  105. package/assets/{B-MqXm_7luDLwazY.js → Ljri8sTW3dWT4clD.js} +2 -2
  106. package/assets/{BQbF1RkUH8WyXqSD.js → MW2nt7se27FlH9Yb.js} +25 -19
  107. package/assets/{FS9NbEKgQvz5wqvZ.js → Mgs_OJP41a-Nfac3.js} +2 -2
  108. package/assets/{DwLZpYUp85UHBE3H.js → OHBzl-tZOi9Ni8YV.js} +2 -2
  109. package/assets/{DA_ar3QKLKtJ9fJD.js → PbBzI4PlKpCgULLd.js} +2 -2
  110. package/assets/{C7Z1li2XjWi6bkrp.js → UH_biJmLrI9SvckA.js} +4 -4
  111. package/assets/{DlBdhv6NHgrNp5Yo.js → Xe7sA_mEwDQpJjcF.js} +3 -3
  112. package/assets/{D0CHDsemn0S31ltt.js → YFiGplEq1G4XdCJ2.js} +2 -2
  113. package/assets/{DKLm4nWzynGw1Kr9.js → YQtUMMGmb1_WFsh_.js} +2 -2
  114. package/assets/{B4VnJacrzr1x4PHR.js → dcvgOfBmWFTsXoT8.js} +5 -5
  115. package/assets/{C2OrZ8LZ-TI6eYG0.js → iBgLe32XErisaUSr.js} +2 -2
  116. package/assets/{B2Ek-DWpZMGJ0V1Z.js → kpS1vY0DcE9p8JnI.js} +3 -3
  117. package/assets/{CxjchwpiqxPM1XKd.js → lcIaYgz4tQGBlzlo.js} +80 -80
  118. package/assets/{CwPBmcY6xSP8dNlh.js → nQbVdQrfdz3osBdi.js} +12 -12
  119. package/assets/{DwWngYJTgC0KLbih.js → oJNJQJEDQCsjHSmo.js} +2 -2
  120. package/assets/{BPwmBu_aouERJjiW.js → qgW-p2sFhMtuu5yw.js} +2 -2
  121. package/assets/{C97xDe_wBbLZh_uW.js → z24-oIqP_fu2hsOt.js} +2 -2
  122. package/assets/{BsQZI1vXTRE63Zy-.js → z7nDK_gfX7G37XbZ.js} +345 -235
  123. package/index.js +1976 -1910
  124. package/lib.js +2 -2
  125. package/licenses/dependencies.txt +245 -180
  126. package/package.json +4 -9
  127. package/resources/locales/@sheetxl/sdk/de/model.msg.json +82 -1
  128. package/resources/locales/@sheetxl/sdk/en/model.msg.json +80 -1
  129. package/screenshot-page/assets/{CSUd8n1H0VBfREnk.js → -N4OYIMgf6f5vgNy.js} +1 -1
  130. package/screenshot-page/assets/7Xk_eQAcM_HgWrOC.js +1 -0
  131. package/screenshot-page/assets/B1W17rc9ilPFCh31.js +1 -0
  132. package/screenshot-page/assets/B8UkvH0o9n_G5UO9.js +3 -0
  133. package/screenshot-page/assets/{DQWHkaQeNXft9j8b.js → B8qybUclSjEYP5FJ.js} +2 -2
  134. package/screenshot-page/assets/{DXQLzGmxoyN3kfQi.js → BD96fN2dSVuoME09.js} +7 -7
  135. package/screenshot-page/assets/BE8ea8S0Q-qogeEs.js +2 -0
  136. package/screenshot-page/assets/{BUjI304IvdJnFXH3.js → BKwVcuWOKeH2xREA.js} +1 -1
  137. package/screenshot-page/assets/{BcOdl17EeFSxnAiq.js → BMf827t1Ul65MHd5.js} +1 -1
  138. package/screenshot-page/assets/BMwQInar0xVS5FRu.js +1 -0
  139. package/screenshot-page/assets/BNMBa8EZgWX2Eb3c.js +1 -0
  140. package/screenshot-page/assets/{Bf7xq8PyF4ohjMzP.js → BQCyH9YbEgnH78Ke.js} +2 -2
  141. package/screenshot-page/assets/{D6Jpaz2YkhOfzxDB.js → BYQZ8o8k3-MDoNat.js} +1 -1
  142. package/screenshot-page/assets/BcDxaEii3arJqOym.js +1 -0
  143. package/screenshot-page/assets/Be-rukvcufhLamH5.js +1 -0
  144. package/screenshot-page/assets/{CZf9s6otzzoaBlSs.js → BftXEPOuf5Uwxpud.js} +1 -1
  145. package/screenshot-page/assets/{TfhknTx8vxQkw4zV.js → Bh33WyohJvbKZVQN.js} +2 -2
  146. package/screenshot-page/assets/{CykecBozGGFl26KA.js → Btgo0VFTT0JxuaP3.js} +74 -68
  147. package/screenshot-page/assets/C2ty_K_uix4ooip6.js +1 -0
  148. package/screenshot-page/assets/{B-KIwD5F_5S-NsPg.js → C71ZZMVLfHdPl441.js} +1 -1
  149. package/screenshot-page/assets/C9mUKjQ3yEzRu9j2.js +2 -0
  150. package/screenshot-page/assets/{hp_-JA1DMK4Yoztn.js → CB2mQ5rbaSw2W4ik.js} +23 -23
  151. package/screenshot-page/assets/{CIged53b3hHKxa-o.js → CCVAsuUimIJOkBnk.js} +1 -1
  152. package/screenshot-page/assets/CFfgJlXaIS8QMx5O.js +1 -0
  153. package/screenshot-page/assets/{DGXDfjkGZjMRAXPg.js → CN8u05DjKwNHbUHN.js} +1 -1
  154. package/screenshot-page/assets/COoMVTzF50qBNFEu.js +39 -0
  155. package/screenshot-page/assets/CSMEGhAHxl5-4FxB.js +1 -0
  156. package/screenshot-page/assets/{BSdFVGZNhU6YHbMI.js → CT7cY57t9j1sBhAy.js} +1 -1
  157. package/screenshot-page/assets/{l32n8O_A78Qqduv3.js → CTjUtxDw6Z2I9OGc.js} +1 -1
  158. package/screenshot-page/assets/CUZobZ3mfNAdEisS.js +1 -0
  159. package/screenshot-page/assets/{DmbuCapSSCYIa3yk.js → C_OuKbe6z1it80cj.js} +1 -1
  160. package/screenshot-page/assets/{CpbohdgEaEsVDi9J.js → C_vPl50T1L5HWnhv.js} +1 -1
  161. package/screenshot-page/assets/Cbcv49b9jWyY4HKj.js +2 -0
  162. package/screenshot-page/assets/{CbUDukmvDZmVfhJH.js → CfkssmHURDicfYvR.js} +1 -1
  163. package/screenshot-page/assets/CtZFqwLoeJOvwFrl.js +42 -0
  164. package/screenshot-page/assets/Cz6KFmsp267l_VZS.js +1 -0
  165. package/screenshot-page/assets/{DDQWM8rNYCYzKa9R.js → D0koRjO2KnWQ1fNV.js} +1 -1
  166. package/screenshot-page/assets/D6CzedWHXTesD55R.js +1 -0
  167. package/screenshot-page/assets/DCP8JXEeiwAMiVD2.js +1 -0
  168. package/screenshot-page/assets/DEpn6VGd30cHEJOS.js +1 -0
  169. package/screenshot-page/assets/DQAZPADvH5lhlMnK.js +1 -0
  170. package/screenshot-page/assets/DQBUH0j44Vtrykua.js +13 -0
  171. package/screenshot-page/assets/{CqR3hGrC956TkCMj.js → DRncpwDkZZX8rL9S.js} +1 -1
  172. package/screenshot-page/assets/DSKOOgcJQeqIc9Us.js +3 -0
  173. package/screenshot-page/assets/DTrnAtpccj55fGg5.js +1 -0
  174. package/screenshot-page/assets/{Bj-vfAT28PK-tWWa.js → DXaM3CulPA3aPGV1.js} +2 -2
  175. package/screenshot-page/assets/{BFaiQZKle44Rhyou.js → D_rtIYQ7FDC2CoEn.js} +1 -1
  176. package/screenshot-page/assets/{BTboCICZ-951XWsi.js → DcUOAH274IbYOuK1.js} +1 -1
  177. package/screenshot-page/assets/{gG0AFZ45VxS_moMw.js → DdXSKhFUAsKUsQ1u.js} +1 -1
  178. package/screenshot-page/assets/{DyLWQxXXTw5uwPVy.js → DeyRZ5rprDbRbuf4.js} +1 -1
  179. package/screenshot-page/assets/{D47ePD4x1lVazNdl.js → DgtqX4DiBgkepVZZ.js} +1 -1
  180. package/screenshot-page/assets/Djl40tfWoPJSvqtv.js +1 -0
  181. package/screenshot-page/assets/{BUGXf2DEBog16Slb.js → DqXO_Zw1Cp7rAQ04.js} +2 -2
  182. package/screenshot-page/assets/{21oAESJyBGXeHegm.js → DtihumgXQ7ETaN0A.js} +2 -2
  183. package/screenshot-page/assets/DuYb_otrRZZDq6-f.js +2 -0
  184. package/screenshot-page/assets/{BHqg55S-4_OoAu3P.js → LYyM_ig973jLdOU0.js} +2 -2
  185. package/screenshot-page/assets/TCImIYUUdVD4Z35I.js +1 -0
  186. package/screenshot-page/assets/Tph2vYqw17-NBCtd.js +1 -0
  187. package/screenshot-page/assets/XgsioU5Px1T5gKAY.js +1 -0
  188. package/screenshot-page/assets/dQsis-90Up-pIkSq.js +4 -0
  189. package/screenshot-page/assets/dXn1GWWjYmuLb1HF.js +586 -0
  190. package/screenshot-page/assets/nM1r2xslndIMKlI2.js +2 -0
  191. package/screenshot-page/index.html +12 -12
  192. package/screenshot-page/resources/locales/@sheetxl/sdk/de/model.msg.json +82 -1
  193. package/screenshot-page/resources/locales/@sheetxl/sdk/en/model.msg.json +80 -1
  194. package/types/scripting-api.json +9967 -9497
  195. package/types/scripting-enums.json +27 -0
  196. package/types/scripting.d.ts +2282 -166
  197. package/assets/BBb_3gEGzmEzbTIk.js +0 -359
  198. package/assets/BSxTn2BhkEEeF9x_.js +0 -2346
  199. package/assets/CWVWdbY1B1-WLl9k.js +0 -199
  200. package/assets/CZTSZL3T_f-vSXqM.js +0 -7
  201. package/assets/DaoSWy3EFlqpZaLr.js +0 -4437
  202. package/assets/Dht2mcOSyYlPY32b.js +0 -14
  203. package/assets/DkibD_CEVePaoj_y.js +0 -7
  204. package/assets/jiEe5eKV3BFPBWfi.js +0 -6294
  205. package/screenshot-page/assets/0MTaPYjKud2Q9QG9.js +0 -1
  206. package/screenshot-page/assets/B2MJPcMcsuv6FekC.js +0 -1
  207. package/screenshot-page/assets/B4PbXdzBe9BsoZ0e.js +0 -2
  208. package/screenshot-page/assets/BQfe-XTIOGeUnD9B.js +0 -1
  209. package/screenshot-page/assets/BTMW3ukmc44U2fy7.js +0 -1
  210. package/screenshot-page/assets/B_W2QroTKADz3ABp.js +0 -2
  211. package/screenshot-page/assets/BksaQEoZr5OWq-_d.js +0 -3
  212. package/screenshot-page/assets/BnoVwUBEor8NgQNs.js +0 -4
  213. package/screenshot-page/assets/BzQ5GyiXq8gTz-H-.js +0 -1
  214. package/screenshot-page/assets/C2Wh2h27c7FUb8Yk.js +0 -1
  215. package/screenshot-page/assets/C81mK8aZKZAAS-AB.js +0 -1
  216. package/screenshot-page/assets/Ca6nxdhEuLLty3d7.js +0 -2
  217. package/screenshot-page/assets/CwqNb7JYzC03lCj0.js +0 -1
  218. package/screenshot-page/assets/CzhH7lTYQrYGHct6.js +0 -1
  219. package/screenshot-page/assets/D66vSE1ConAuENmB.js +0 -586
  220. package/screenshot-page/assets/DCVUZ_ayOXFwV2d_.js +0 -3
  221. package/screenshot-page/assets/DFE-fKq5NV7_O8V6.js +0 -1
  222. package/screenshot-page/assets/DK_QSosKV62NDcuT.js +0 -42
  223. package/screenshot-page/assets/DTFRGj188QuLKEXw.js +0 -1
  224. package/screenshot-page/assets/DXWWyJlMSWgDFxs1.js +0 -10
  225. package/screenshot-page/assets/DZDRRw-62D6Zw7qs.js +0 -1
  226. package/screenshot-page/assets/DeAKjatTVaZ0u_FY.js +0 -1
  227. package/screenshot-page/assets/Dsx0NUmGIxS7SvZ8.js +0 -1
  228. package/screenshot-page/assets/IRtoU5oVgBWu9rnK.js +0 -2
  229. package/screenshot-page/assets/Q5EKmzoJZCE81Om-.js +0 -2
  230. package/screenshot-page/assets/VvqAh6BWzaD5OUPF.js +0 -1
  231. package/screenshot-page/assets/fGlPAximvsxzPzGA.js +0 -1
  232. package/screenshot-page/assets/rPOkVKdPbFpTG6AY.js +0 -1
  233. package/screenshot-page/assets/sHBomL5R4-_px8rD.js +0 -1
  234. package/screenshot-page/assets/skRJ2qjA7kcmnOsh.js +0 -39
@@ -0,0 +1 @@
1
+ import{u as e,y as t}from"./ChSvXfVMLxZsP9zG.js";import{Jt as n,L as r,an as i,qt as a}from"./DuYb_otrRZZDq6-f.js";import{i as o}from"./BMf827t1Ul65MHd5.js";import{$r as s,Di as c,Fn as l,Gn as u,In as d,Jr as f,Ki as p,Ot as m,Qn as h,S as g,Si as _,Sn as v,Un as y,Ur as b,Ut as x,Z as S,Zi as C,ai as w,c as T,d as E,di as D,ea as O,ft as k,hi as A,jt as j,ka as M,kn as N,kr as P,mi as F,or as I,ra as L,rt as R,ui as z,ut as ee,vn as te,xr as B,yi as V,yn as H,z as U,zr as W}from"./dXn1GWWjYmuLb1HF.js";import{c as G,n as K,r as ne,s as q,t as re}from"./Djl40tfWoPJSvqtv.js";var J=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],Y=[31,29,31,30,31,30,31,31,30,31,30,31],X=(e,t,r,i)=>{if(typeof r!=`number`)return null;if(r<e.start)return 0;let a=t-1;if((e=>e.by===`numbers`||e.by===`days`&&(e.interval??1)!==1)(e)){let n=Math.floor((r-e.start)/(e.interval??1));return n>=t-2?r<=e.end?t-2:a:n+1}if(r>e.end)return a;let o=n(r,i,!0);if(!o)return null;switch(e.by){case`years`:return Math.min(o.year-(n(e.start,i,!0)?.year??o.year)+1,a);case`quarters`:return Math.floor((o.month-1)/3)+1;case`months`:return o.month;case`days`:{let e=o.day;for(let t=0;t<o.month-1;t++)e+=Y[t];return e}case`hours`:return o.hour+1;case`minutes`:return o.minute+1;case`seconds`:return o.second+1;default:return null}},ie=(e,t)=>{let n=e.fields??[],r=N(e.records,n.length);if(!n.some(v))return r;let i=N(e.items,n.length),a=e.recordCount??0,o=r.slice();for(let e=0;e<n.length;e++){let s=n[e];if(!v(s))continue;let c=s.group,l=r[c.base]??[],u=i[c.base]??[],d=new Int32Array(u.length);for(let e=0;e<u.length;e++){let n=c.range?X(c.range,c.items.length,p(u[e]),t):c.discrete?.[e]??null;d[e]=n??-1}let f=Array(a);for(let e=0;e<a;e++){let t=d[l[e]];if(t===void 0||t<0)return null;f[e]=t}o[e]=f}return o},ae=e=>String(Number(e.toPrecision(12))),oe=(e,t)=>{let r=n(e,t,!0);return r?`${r.month}/${r.day}/${r.year}`:String(e)},se=(e,t,r)=>{let i=e.range,a=1/0,o=-1/0;for(let e of t){if(typeof e!=`number`)return null;e<a&&(a=e),e>o&&(o=e)}if(t.length===0)return e;let s={...i};i.fixedStart||(s.start=a),i.fixedEnd||(s.end=i.by!==`numbers`&&Number.isInteger(o)?o+1:o);let{inner:c,endText:l}=((e,t)=>{let{start:r,end:i}=e,a=e.interval??1,o=oe(i,t),s=(e,t)=>Array.from({length:e},(e,n)=>t(n));switch(e.by){case`numbers`:{let e=Math.max(1,Math.ceil(Number(((i-r)/a).toPrecision(12)))),t=Number.isInteger(Number(((i-r)/a).toPrecision(12))),n=Number.isInteger(r)&&Number.isInteger(a);return{inner:s(e,o=>{let s=r+o*a,c=o===e-1&&t?i:n?s+a-1:s+a;return`${ae(s)}-${ae(c)}`}),endText:ae(t?i:r+e*a)}}case`days`:if(a===1){let e=[];return Y.forEach((t,n)=>{for(let r=1;r<=t;r++)e.push(`${r}-${J[n]}`)}),{inner:e,endText:o}}return{inner:s(Math.max(1,Math.ceil((i-r)/a)),e=>{let n=r+e*a;return`${oe(n,t)} - ${oe(Math.min(n+a-1,i),t)}`}),endText:o};case`months`:return{inner:J.slice(),endText:o};case`quarters`:return{inner:[`Qtr1`,`Qtr2`,`Qtr3`,`Qtr4`],endText:o};case`years`:{let e=n(r,t)?.year??0;return{inner:s((n(i,t)?.year??e)-e+1,t=>String(e+t)),endText:o}}case`hours`:return{inner:s(24,e=>`${e%12==0?12:e%12} ${e<12?`AM`:`PM`}`),endText:o};default:return{inner:s(60,e=>`:${String(e).padStart(2,`0`)}`),endText:o}}})(s,r),u=s.by===`numbers`?ae(s.start):oe(s.start,r);return{...e,range:s,items:[`<${u}`,...c,`>${l}`]}},ce=(e,t)=>{let n=``,r=0,i=()=>{let t=``;for(r++;r<e.length;){if(e[r]===`'`){if(e[r+1]!==`'`){r++;break}r++}t+=e[r++]}return t};for(;r<e.length;){let a=e[r];if(a===`"`){let t=/^"(?:[^"]|"")*"/.exec(e.slice(r)),i=t?t[0]:e.slice(r);n+=i,r+=i.length;continue}if(/[0-9.]/.test(a)){let t=/^[0-9.]+(?:[eE][+-]?[0-9]+)?/.exec(e.slice(r))[0];n+=t,r+=t.length;continue}let o=a===`'`,s=o?null:/^[\p{L}_][\p{L}\p{N}_.]*/u.exec(e.slice(r))?.[0];if(!o&&!s){n+=a,r++;continue}let c=o?i():s;if(o||(r+=c.length),e[r]!==`(`){if(e[r]===`[`){r++;let a=``;for(e[r]===`'`&&(a=i());r<e.length&&e[r]!==`]`;)a+=e[r++];r++;let o=t(c,a);if(o===null)return null;n+=o;continue}n+=t(c,null)??(o?`'${c.replace(/'/g,`''`)}'`:c)}else n+=c}return n},le=e=>{let t=``;for(let n=e+1;n>0;n=Math.floor((n-1)/26))t=String.fromCharCode(65+(n-1)%26)+t;return`${t}1`},ue=(e,t)=>({rowStart:0,colStart:e,rowEnd:t-1,colEnd:e}),de=(e,t)=>{let n=[];for(let r=0;r<t;r++)n.push([r,[[0,e.map(e=>e[r]??null)]]]);return n},fe=(e,t)=>{let n=t.fields??[],r=[],i=[],a=new Map,o=new Map,s=(e,t)=>{if(a.has(e))return!0;if(t.includes(e))return!1;let l=[];ce(n[e].formula,e=>{let t=n.findIndex(t=>c(t.name,e));return t>=0&&l.push(t),t>=0?``:null});for(let i of l)if(T(n[i])){if(!s(i,[...t,e]))return!1}else r.includes(i)||r.push(i);return a.set(e,i.length),o.set(e,n[e].formula),i.push({field:e,expression:``}),!0},l=[];for(let[t,r]of(e.dataFields??[]).entries())if(T(n[r.field])){if(!s(r.field,[]))return null;l.push({data:t,formula:a.get(r.field)})}let u=(e,t)=>{if(t!==null)return null;let i=n.findIndex(t=>c(t.name,e));return i>=0?le(T(n[o=i])?r.length+a.get(o):r.indexOf(o)):null;var o};for(let e of i){let t=ce(o.get(e.field),u);if(t===null)return null;e.expression=t}return{operands:r,formulas:i,measures:l}},pe=new Set([`sum`,`count`,`countNums`]),Z=-2,me=4294967295,he=1,ge=2,_e=4,ve=8,ye=16,be=4294967295,xe=0,Se=1,Ce=2,we=3,Te=0,Ee=1,De={sum:0,countNums:1,count:11,average:3,min:4,max:5,product:6,var:7,varp:8,stdDev:9,stdDevp:10},Oe=[`sum`,`countA`,`avg`,`max`,`min`,`product`,`count`,`stdDev`,`stdDevP`,`var`,`varP`],ke={sum:0,countA:13,avg:3,max:5,min:4,product:6,count:12,stdDev:9,stdDevP:10,var:7,varP:8},Ae={sum:`Sum`,countA:`Count`,avg:`Average`,max:`Max`,min:`Min`,product:`Product`,count:`Count`,stdDev:`StdDev`,stdDevP:`StdDevp`,var:`Var`,varP:`Varp`},je=e=>{let t=e?.subtotals;return t&&!t.includes(`default`)?Oe.filter(e=>t.includes(e)):[]},Me=(e,t)=>{let n=new Set(t.flatMap(t=>t.field===Z?[]:je(e.fields?.[t.field])));return Oe.filter(e=>n.has(e))},Ne=(e,t)=>{let n=t.filter(e=>e.field!==Z).map(e=>e.field);return!(n.length<2||t[t.length-1].field===Z)&&!n.slice(0,-1).some(t=>e.fields?.[t]?.items?.some(e=>e.collapsed))&&!e.filters?.some(e=>e.dataField!==void 0&&n.includes(e.field))},Pe={normal:0,percentOfTotal:1,percentOfRow:2,percentOfCol:3,index:4,percentOfParentRow:5,percentOfParentCol:6,percentOfParent:7,runTotal:8,percentOfRunningTotal:9,rankAscending:10,rankDescending:11,difference:12,percent:13,percentDiff:14},Fe=(e,t,n,r)=>{let i=m.peek(),a=e.fields,o=t.fields;if(!i||!a||!o||a.length!==o.length)return null;if(M(e))return{cells:[],...j,rowPageCount:0,columnPageCount:0,header:te(e),rowLines:[],columnLines:[],viewValues:[],firstKey:null,...r?.roles?{roles:new Map}:{}};let s=C(e,o),c=s?r?.filters:null;if(s&&!c)return null;let l=a.some(e=>e.items?.some(e=>e.calculated));if(l&&!c?.calculatedRecords)return null;let u=fe(e,t);if(!u||u.measures.length>0&&!c?.fieldValues||(e.dataFields??[]).some(e=>Pe[e.showDataAs??`normal`]===void 0||De[e.subtotal??`sum`]===void 0))return null;let d=Ie(e,t,n,c?.calculatedRecords,u.operands);if(!d)return null;let{items:f,records:p,values:h,n:_}=d,y=e=>!!e&&(!e.noRecords||v(e)),b=e.form??`compact`,x=e=>{let t=[];for(let n of e??[]){if(n===Z){t.push({field:n,form:b});continue}let e=a[n],r=e?.subtotals;if(!e||!y(o[n])||l&&r&&r.some(e=>e!=="default"))return null;t.push({field:n,form:e.form??`compact`})}return t},S=x(e.rowFields),w=x(e.columnFields),T=e.pageFields??[];if(!S||!w||T.some(e=>!y(o[e.field])))return null;let E=g(e,r?.slicerFields);return E.pageFields?.some(e=>!y(o[e.field]))?null:We(e,t,f,S,w,Be(i,E,f,p,h,S,w,_,c?.keep,c?.records,u.operands.length,c?.fieldValues,!0),n,!0===r?.roles,r?.cellOrder===`columns`)},Ie=(e,t,n,r,i=[])=>{let a=t.fields?.length??0,o=A(t);if(!t.records)return null;let s=ie(t,n.isDate1904());if(!s)return null;let c=!0===t.fields?.some(v),l=c?N(t.items,a):o,u=c?N(t.records,a):s,d=t.recordCount??0,f=r?.count??0,m=d+f,h=(e,n)=>{let r=!t.fields?.[e]?.noRecords,i=r?u[e]:s[e]??[],a=r?l[e]:o[e],c=Array(m);for(let e=0;e<d;e++)c[e]=p(a[i[e]]);for(let e=0;e<f;e++)c[d+e]=n?.[e]??null;return c},g=[...(e.dataFields??[]).map((e,t)=>h(e.field,r?.values[t])),...i.map(e=>h(e))];return{items:o,records:r?s.map((e,t)=>e.concat(r.ids[t]??[])):s,values:g,n:m}},Le=async(e,t,n,r,i,a,o,s,c)=>{let l=m.peek(),u=e.dataFields?.[i];if(!l||!e.fields||!u||De[u.subtotal??`sum`]===void 0)return null;let d=[e.rowFields,e.columnFields].map(e=>(e??[]).filter(e=>e!==Z)),f=d.findIndex(e=>e.includes(r)),p=d[f];if(!p)return null;let h=p.slice(0,p.indexOf(r)),g=e.fields.map(e=>{let{blankRowAfter:t,showItemsWithNoData:n,sort:r,...i}=e;return{...i,items:e.items?.map(e=>{if(!e.collapsed)return e;let{collapsed:t,...n}=e;return n})}}),{columnGrandTotals:_,...v}=e,{showDataAs:y,...b}=u,x={...v,fields:g,rowFields:[...h,r],columnFields:[],dataFields:[b],rowGrandTotals:!1},S=s&&{...s,values:[s.values[i]??[]]},C=fe(x,t);if(!C||C.measures.length>0&&!c)return null;let w=Ie(x,t,n,S,C.operands);if(!w)return null;let{items:T,records:E,values:D,n:O}=w,k=x.rowFields.map(e=>({field:e,form:`compact`})),A;if(o){let e=f===0?1:2;A=new Uint8Array(O);for(let t=0;t<O;t++){let n=o[t];A[t]=(n&e?1:0)|(n===3?2:0)}}let j=C.measures.length>0?await ze(l,C,x,T,E,D,k,[],O,a,A,c):void 0,M=Be(l,x,T,E,D,k,[],O,a,A,C.operands.length,j),N=(t,n)=>e.fields[t].items?.[n]?.item??n,P=new Map,F=M.columns.length;return M.rows.forEach((e,t)=>{if(e.kind!==xe||e.path.length!==h.length+1)return;let n=h.map((t,n)=>N(t,e.path[n])).join(`,`),i=P.get(n);i||P.set(n,i={ids:[],totals:[]}),i.ids.push(N(r,e.path[h.length])),i.totals.push(M.values[t*F])}),{outer:h,groups:P,records:E}},Re=(e,t,n)=>{let r=new Uint32Array(t).fill(me),i=new Uint8Array(t),a=e.items;if(a)a.forEach((e,n)=>{e.item===void 0||e.type!==void 0||e.item>=t||(r[e.item]=n,i[e.item]=+!!e.hidden|(e.collapsed?2:0))});else for(let e=0;e<t;e++)r[e]=e;if(n)for(let e=0;e<t;e++)n[e]||(i[e]|=1);return{ranks:r,flags:i}},ze=async(e,t,n,r,i,a,s,c,l,u,d,f)=>{let{request:p,errors:m}=Ve(e,n,r,i,a,s,c,l,u,d,t.operands.length),h=0,g=[];try{let r=p.operands(0,m.codeOf(o.BuiltIn.NA),m.codeOf(o.BuiltIn.Null));try{h=r.cell_count();let i=n.dataFields?.length??0;t.operands.forEach((t,n)=>{let a=r.values(i+n);try{let t=K(e.wasm_memory().buffer,a,m),n=Array(h);for(let e=0;e<h;e++)n[e]=t(e);g.push(n)}finally{a.free()}})}finally{r.free()}}finally{p.free()}return(async(e,t,n,r)=>{let i=n+1,a=t.map(e=>{let t=Array(i);for(let r=0;r<n;r++)t[r]=e[r]??0;return t[n]=0,t}),o=await r.evaluateBatch({values:de(a,i),formulas:e.formulas.map(({expression:e},n)=>({expression:e,coords:ue(t.length+n,i)}))}),s=new Map;for(let{data:t,formula:n}of e.measures){let e=Array(i);for(let t=0;t<i;t++)e[t]=o[n].getValueAt(t,0)??0;s.set(t,e)}return s})(t,g,h,f)},Be=(e,t,n,r,i,a,s,c,l,u,d=0,f,p=!1)=>{let{request:m,errors:h}=Ve(e,t,n,r,i,a,s,c,l,u,d,f,p),g=h.codeOf(o.BuiltIn.NA),_=h.codeOf(o.BuiltIn.Null),v=m.lay_out(0,g,_);try{let n=He(v.row_lines(),v.row_stride()),r=He(v.column_lines(),v.column_stride()),i=v.states(),o=v.values();try{let c=K(e.wasm_memory().buffer,o,h),l=Array(i.length);for(let e=0;e<i.length;e++)l[e]=i[e]===Te?c(e):null;return{rows:n,columns:r,states:i,values:l,functions:p?Me(t,[...a,...s]):[]}}finally{o.free()}}finally{v.free(),m.free()}},Ve=(e,t,n,r,i,a,o,s,c,l,u=0,d,f=!1)=>{let p=t.fields,m=new e.LayoutRequest(s),h=f?Me(t,[...a,...o]):[],g=[],_=(e,r)=>{for(let{field:i,form:a}of r){if(i===Z){m.add_values_slot(e,a===`tabular`);continue}let o=p[i],s=o.subtotals,c=(!s||s.includes(`default`)?he:0)|(!1===o.subtotalsOnTop?0:ge)|(o.blankRowAfter?_e:0)|(o.showItemsWithNoData?ve:0)|(a===`tabular`?ye:0),l=m.add_field(e,n[i].length,c),u=o.sort;u?.dataField!==void 0&&m.set_field_sort(e,l,u.dataField,u.order===`descending`,new Uint32Array((u.scope?.items??[]).map(e=>e.item)));let d=f?je(o):[];if(d.length>0){let n=r[r.length-1].field===i&&Ne(t,r);m.set_field_functions(e,l,new Uint32Array(d.map(e=>h.indexOf(e))),n)}g.push({axis:e,slot:l,field:i})}};_(0,a),_(1,o);let v=(t.pageFields??[]).map(e=>({page:e,index:m.add_page(n[e.field].length)})),y=i.map(()=>m.add_values(127)),b=t.dataFields??[];b.forEach((e,t)=>{m.add_measure(t,De[e.subtotal??`sum`]);let n=Pe[e.showDataAs??`normal`];if(!n)return;let r=2,i=a.findIndex(t=>t.field===e.baseField);i>=0?r=0:(i=o.findIndex(t=>t.field===e.baseField),i>=0&&(r=1));let s=e.baseItem===`previous`?4294967294:e.baseItem===`next`?4294967295:e.baseItem??0;m.set_show_as(t,n,r,Math.max(i,0),s)});for(let e=0;e<u;e++)m.add_measure(b.length+e,De.sum);u>0&&m.set_operand_measures(u);for(let e of h)b.forEach((t,n)=>m.add_measure(n,ke[e]));h.length>0&&m.set_functions(h.length);let x=[...d??[]].map(([e,t])=>({column:t,ptr:m.add_calculated(e,t.length-1,127)}));m.set_grand(!1!==t.rowGrandTotals,!1!==t.columnGrandTotals);let S=l?m.record_keep():null,C=e.wasm_memory().buffer;l&&S!==null&&new Uint8Array(C,S,s).set(l.subarray(0,s));for(let{axis:e,slot:t,field:i}of g){let a=n[i].length;new Uint32Array(C,m.field_ids(e,t),s).set(r[i].slice(0,s));let{ranks:o,flags:l}=Re(p[i],a,c?.get(i));new Uint32Array(C,m.field_ranks(e,t),a).set(o),new Uint8Array(C,m.field_flags(e,t),a).set(l)}for(let{page:e,index:t}of v){let i=n[e.field].length;new Uint32Array(C,m.page_ids(t),s).set(r[e.field].slice(0,s));let{ranks:a,flags:o}=Re(p[e.field],i),l=new Uint8Array(C,m.page_keep(t),i),u=e.item===void 0?void 0:p[e.field].items?.[e.item]?.item,d=e.slicer?c?.get(e.field):void 0;for(let t=0;t<i;t++){let n=u===void 0?!(a[t]===me&&p[e.field].items||1&o[t]):t===u;l[t]=!n||d&&d[t]===0?0:1}}let w=new re;y.forEach((e,t)=>{let n={doubles:new Float64Array(C,e,s),ints:new Int32Array(C,e,2*s),types:new Uint8Array(C,e+8*s,s)},r={ok:!0,numeric:!0},a=i[t];for(let e=0;e<s;e++)G(n,e,a[e],w,r)});for(let{column:e,ptr:t}of x){let n=e.length,r={doubles:new Float64Array(C,t,n),ints:new Int32Array(C,t,2*n),types:new Uint8Array(C,t+8*n,n)},i={ok:!0,numeric:!0};for(let t=0;t<n;t++)G(r,t,e[t],w,i)}return{request:m,errors:w}},He=(e,t)=>{let n=[],r=7+t;for(let t=0;t+r<=e.length;t+=r){let r=e[t+1],i=e[t+3],a=e[t+5];n.push({kind:e[t],path:Array.from(e.subarray(t+7,t+7+r)),data:i===be?null:i,function:a===be?null:a,across:e[t+6]===1})}return n},Ue=(e,t)=>{let n=[];return e.map(e=>{let r={items:[]};if(e.kind===xe){let t=0;for(;t<e.path.length-1&&t<n.length&&e.path[t]===n[t];)t++;t>0&&(r.repeat=t),r.items=e.path.slice(t),n=e.path}else r.type=e.kind===Se?e.function===null?`default`:t[e.function]:e.kind===Ce?`grand`:`blank`,r.items=e.kind===Ce?[0]:e.path.slice();return e.data!==null&&e.data>0&&(r.dataField=e.data),r})},We=(e,t,n,r,a,s,c,u,d)=>{let f=e.fields,m=t.fields,g=e.dataFields??[],v=t=>t===Z?e.valuesCaption??`Values`:f[t].name??m[t].name,y=(e,t)=>{if(e===Z)return g[t]?.name??``;let r=f[e].items?.[t];if(r?.name!==void 0)return r.name;let i=p(n[e][r?.item??t]);return i===null?S:i},x=(e,t)=>{let n=y(e,t);if(typeof n==`number`){let r=f[e].items?.[t]?.item??t,a=(f[e].numberFormat??m[e].numberFormat)===void 0&&h(m[e],r);return i(c,a?b(_(m[e],r),c):(e=>b(f[e].numberFormat??m[e].numberFormat,c))(e),n)}return o.isError(n)?n.getLabel():typeof n==`boolean`?n?`TRUE`:`FALSE`:String(n)},C=e=>{if(e.item!==void 0)return y(e.field,e.item);let t=f[e.field].items??[];if(!t.some(e=>e.hidden))return`(All)`;let n=t.flatMap((e,t)=>W(e)&&!e.hidden?[t]:[]);return n.length===1?y(e.field,n[0]):`(Multiple Items)`},w=e.grandTotalCaption??`Grand Total`,T=u?new Map:null,E=(e,t)=>e===Z?{kind:`dataCaption`,data:t}:{kind:`item`,field:e,rank:t},D=e=>e===Z?null:{kind:`fieldCaption`,field:e},O=(e,t)=>e.kind===Ce&&t===w?{kind:`grandTotal`}:null,k=r.length===0&&a.length===0&&g.length===0,A=k?{firstHeaderRow:0,firstDataRow:0,firstDataCol:0}:te(e),j=k?[]:Ue(s.rows,s.functions),M=k?[]:Ue(s.columns,s.functions),N=l({...e,header:A,rowLines:j,columnLines:M}),P=s.columns.length,I=e=>e===`row`?r:a,L=t=>{switch(t.kind){case`pageCaption`:{let n=e.pageFields[t.page].field;return[v(n),{kind:`fieldCaption`,field:n}]}case`pageItem`:{let n=e.pageFields[t.page];return[C(n),{kind:`pageItem`,page:t.page}]}case`dataCaption`:return[g[t.data]?.name??null,{kind:`dataCaption`,data:t.data}];case`rowHeader`:return[r.every(e=>e.field===Z)?e.valuesCaption??`Values`:e.rowHeaderCaption??`Row Labels`,{kind:`rowHeader`}];case`columnHeader`:return[e.columnHeaderCaption??`Column Labels`,{kind:`columnHeader`}];case`fieldCaption`:{let e=I(t.axis)[t.level].field;return[v(e),D(e)]}case`label`:{let e=I(t.axis)[t.level].field,n=t.line.path[t.level];return[y(e,n),E(e,n)]}case`total`:{let e=(t.axis===`row`?s.rows:s.columns)[t.line.index],n=((e,t)=>{let n=e.findIndex(e=>e.field===Z)>=t.path.length&&t.data!==null,r=n?g[t.data]?.name??``:``;if(t.kind===Ce)return n?`Total ${r}`:w;let i=t.path.length-1,a=e[i].field,o=x(a,t.path[i]);if(t.function!==null){let e=Ae[s.functions[t.function]];return(n||t.across)&&t.data!==null?`${o} ${e} of ${v(g[t.data].field)}`:`${o} ${e}`}return f[a]?.subtotalCaption??(n?`${o} ${r}`:`${o} Total`)})(I(t.axis),e);return[n,O(e,n)]}case`value`:{let n=t.row.index*P+t.column.index,r=s.states[n],i=null;return r===Te?(i=s.values[n],e.showError&&o.isError(i)&&(i=e.errorCaption??``)):r===Ee&&(i=!1===e.showEmpty?0:(e=>{if(e===void 0)return null;let t=e.trim();if(!/^[+-]?\d*(?:\.\d*)?$/.test(t))return e;let n=Number(t.replace(/^([+-]?)\.?$/,`$10`));return Number.isFinite(n)?n+0:e})(e.emptyCaption)),[i,null]}}},R=new ee.Builder,z=N.top,B=N.pages.reduce((e,t)=>Math.max(e,t.column+2),0),V=(e,t)=>{let n=F(N,e,t);if(!n)return;let[r,i]=L(n);((e,t,n)=>{T&&n&&T.set(e+`,`+t,n)})(e-z,t,i),r!==null&&(d?R.pushAt(t,e-z,r):R.pushAt(e-z,t,r))};if(d){let e=Math.max(B,N.columns.length);for(let t=0;t<e;t++)for(let e=0;e<N.rows.length;e++)t<(e<z?B:N.columns.length)&&V(e,t)}else for(let e=0;e<N.rows.length;e++){let t=e<z?B:N.columns.length;for(let n=0;n<t;n++)V(e,n)}if(k){let t=U(e);return{cells:R.build()?.tuples??[],rows:1,columns:1,rowPageCount:t.rows,columnPageCount:t.columns,header:A,rowLines:[],columnLines:[],viewValues:[],firstKey:null,...T?{roles:T}:{}}}let H=(e,t)=>{let n=[];return e.forEach((e,r)=>{e.field!==Z&&n.push(r<t.path.length?t.path[r]:-1)}),n},G=(e,t)=>ne(e.data??t.data??0,[...H(r,e),...H(a,t)]),[K]=s.rows,[q]=s.columns,re=K&&q&&K.kind!==we&&q.kind!==we?G(K,q):null,J=[],Y=e=>e.kind===Se&&e.function!==null;s.rows.forEach((t,n)=>{t.kind===we||Y(t)||(H(r,t),s.columns.forEach((r,i)=>{let a=s.states[n*P+i];if(r.kind===we||Y(r)||a!==Te&&a!==Ee)return;let c=a===Te?s.values[n*P+i]:0;e.showError&&o.isError(c)&&(c=e.errorCaption||0),J.push([G(t,r),c])}))});let X=U(e);return{cells:R.build()?.tuples??[],rows:N.rows.length-z,columns:N.columns.length,rowPageCount:X.rows,columnPageCount:X.columns,header:A,rowLines:j,columnLines:M,viewValues:J,firstKey:re,...T?{roles:T}:{}}},Ge=(e,t,n,r,a=!1,s,c)=>{let l=Fe(e,t,r,{filters:s,slicerFields:c});if(!l)return null;let u=l.rowPageCount>0?l.rowPageCount+1:0,d=l.rowPageCount>0?3*l.columnPageCount-1:0,{rowStart:f,colStart:m}=n;if(f-u<0)return null;let g={rowStart:f-u,colStart:m,rowEnd:f+l.rows-1,colEnd:m+Math.max(l.columns,d)-1},y=e.fields,x=t.fields,S=A(t),C=(e,t)=>{let n=y[e],a=n.numberFormat??x[e].numberFormat,s=b(a,r),c=v(x[e]),l=S[e],u=(n.items??[]).filter(e=>e.item!==void 0&&e.type===void 0),d=u.length>0?u:l.map((e,t)=>({item:t})),f=d.map(t=>{let n=p(l[t.item]),u=h(x[e],t.item),d=n===null?`(blank)`:typeof n==`number`?i(r,u?(f=t.item,a===void 0?b(_(x[e],f),r):s):s,n):o.isError(n)?n.getLabel():typeof n==`boolean`?n?`TRUE`:`FALSE`:String(n);var f;let m=c&&u?d:n;return t.name===void 0?{value:m,text:d}:{value:m,text:d,name:t.name}}),m={name:n.name??x[e].name,items:f};if(t){let e=t.item===void 0?void 0:(n.items??[])[t.item]?.item;m.page=e===void 0?-1:d.findIndex(t=>t.item===e)}return m},w=e=>(e??[]).filter(e=>e!==-2);return{view:{range:g,dataFields:(e.dataFields??[]).map(e=>({name:e.name,sourceName:x[e.field].name})),fields:[...w(e.rowFields).map(e=>C(e)),...w(e.columnFields).map(e=>C(e)),...(e.pageFields??[]).map(e=>C(e.field,e))],values:l.viewValues,block:{anchor:{row:f,column:m},...a?{blocked:!0}:{},...l.firstKey===null?{}:{first:l.firstKey}}},size:{rows:l.rows,columns:l.columns}}},Ke=async(e,t,n,r)=>{let a=new Map,s=(e.filters??[]).filter(t=>L(t)||e.rowFields?.includes(t.field)||e.columnFields?.includes(t.field)),l=e.fields?.some(e=>e.items?.some(e=>e.calculated)),u=e.dataFields?.some(e=>T(t.fields?.[e.field]));if(s.length===0&&!l&&!u)return{keep:a};let f=A(t);for(let i of s.filter(L)){let o=i.field,s=f[o];if(!s)continue;let c=d(i.condition)?Ye(e,t,s,o,n):null,l=Array(s.length);for(let e=0;e<s.length;e++)l[e]=c?c[e]:p(s[e]);let u=await Je(i.condition,l,n,r),m=a.get(o);if(m)for(let e=0;e<u.length;e++)m[e]&=u[e];else a.set(o,u)}let g=l&&r?await(async(e,t,n,r,a)=>{let s=t.fields??[],l=e.fields??[],u=s.flatMap((e,t)=>e.calculatedItems?.length?[t]:[]),d=e.dataFields??[];if(u.length!==1||d.some(e=>T(s[e.field])||!pe.has(e.subtotal??`sum`)))return null;let f=u[0],m=s[f].calculatedItems,g=ie(t,n.isDate1904());if(!g)return null;let _=A(t),v=A({...t,fields:s.map(({group:e,...t})=>t)}),y=(e.rowFields??[]).filter(e=>e>=0),x=(e.columnFields??[]).filter(e=>e>=0),C=y.includes(f)?y:x.includes(f)?x:null;if(!C)return null;let E=C.slice(0,C.indexOf(f)),D=[...C.slice(C.indexOf(f)+1),...C===y?x:y],O=[...E,...D],k=t.recordCount??0,j=(e,t)=>{let n=l[e]?.items,r=n?.find(e=>e.item===t&&e.type===void 0);return!(n&&(!r||r.hidden)||a?.get(e)&&a.get(e)[t]===0)},M=(e,t)=>{let n=l[e.field]?.items;if(e.item!==void 0)return n?.[e.item]?.item===t;let r=n?.find(e=>e.item===t&&e.type===void 0);return!n||!!r&&!r.hidden},N=e.pageFields??[],P=b(s[f].numberFormat??14,n),F=e=>_[f].findIndex((t,r)=>{let a=p(t);return typeof a==`number`&&(s[f].dates||h(s[f],r))?c(i(n,P,a),e):c(a===null?S:w(a),e)}),I=new Map,L=new Map(m.map(e=>[e.item,e.formula])),R=e=>{let t=I.get(e);return t===void 0&&I.set(e,t=I.size),t};for(let e of m)if(ce(e.formula,(e,t)=>{if(t===null||!c(s[f].name,e))return null;let n=F(t);return n<0?null:(L.has(n)||R(n),``)})===null)return null;let z=new Map,ee=new Map,te=d.map(e=>({column:g[e.field],values:v[e.field],fold:e.subtotal??`sum`})),B=I.size;for(let e=0;e<k;e++){if(!N.every(t=>M(t,g[t.field][e]))||!O.every(t=>j(t,g[t][e])))continue;let t=``;for(let n of E)t+=g[n][e]+`,`;ee.has(t)||ee.set(t,e);let n=I.get(g[f][e]);if(n===void 0)continue;let r=t;for(let t of D)r+=g[t][e]+`,`;let i=z.get(r);i||(i={sums:d.map(()=>Array(B).fill(0)),errors:d.map(()=>Array(B).fill(void 0))},z.set(r,i));let{sums:a,errors:s}=i;te.forEach(({column:t,values:r,fold:i},c)=>{let l=p(r[t[e]]);i===`sum`?typeof l==`number`?a[c][n]+=l:o.isError(l)&&(s[c][n]??=l):(i===`countNums`?typeof l==`number`:l!==null)&&(a[c][n]+=1)})}let V=D.map(e=>{let t=l[e]?.items;return t?t.flatMap(t=>t.item!==void 0&&t.type===void 0&&!t.missing&&j(e,t.item)?[t.item]:[]):_[e].map((e,t)=>t)});if(V.reduce((e,t)=>e*t.length,ee.size)>5e5)return null;let H=[];for(let[e,t]of ee){let n=(e,r,i)=>{if(e!==V.length)for(let t of V[e])n(e+1,[...r,t],i+t+`,`);else H.push({exemplar:t,path:r,key:i})};n(0,[],e)}let U=H.length;if(U===0)return{count:0,ids:s.map(()=>[]),values:d.map(()=>[])};let W=d.length*B,G=(e,t)=>e*B+t,K=(e,t)=>W+e*m.length+t,ne=[];for(let e=0;e<d.length;e++)for(let t=0;t<B;t++)ne.push(H.map(({key:n})=>{let r=z.get(n);return r?r.errors[e][t]??r.sums[e][t]:0}));let q=[];for(let e=0;e<d.length;e++)for(let t=0;t<m.length;t++){let n=ce(m[t].formula,(t,n)=>{if(n===null)return null;let r=F(n),i=m.findIndex(e=>e.item===r);return le(i>=0?K(e,i):G(e,I.get(r)))});if(n===null)return null;q.push({expression:n,coords:ue(K(e,t),U)})}let re=await r.evaluateBatch({values:de(ne,U),formulas:q}),J=s.map(()=>[]),Y=d.map(()=>[]),X=(e,t,n,r)=>{g.forEach((n,r)=>{let i=D.indexOf(r);J[r].push(r===f?t:i>=0?e.path[i]:n[e.exemplar]??0)}),Y.forEach((e,t)=>{e.push(t===n?r:null)})};return H.forEach((e,t)=>{m.forEach(({item:n},r)=>{d.forEach((i,a)=>{let o=re[a*m.length+r].getValueAt(t,0)??0;if((i.subtotal??`sum`)!==`sum`&&typeof o==`number`)for(let t=0;t<Math.round(o);t++)X(e,n,a,1);else X(e,n,a,o)})})}),{count:J[0]?.length??0,ids:J,values:Y}})(e,t,n,r,a):void 0,_=s.filter(e=>!L(e)).map((e,t)=>({filter:e,index:t})).sort((e,t)=>(e.filter.evalOrder??-1)-(t.filter.evalOrder??-1)||e.index-t.index),v=(t.recordCount??0)+(g?.count??0),y,x=e.rowFields??[];for(let{filter:i}of _){let o=await Le(e,t,n,i.field,i.dataField,a,y,g,r);if(!o)continue;let s=new Set;for(let[e,t]of o.groups){let a=await Je(i.condition,t.totals,n,r);t.ids.forEach((t,n)=>{a[n]||s.add(`${e}|${t}`)})}if(s.size===0)continue;y??=new Uint8Array(v).fill(3);let c=o.outer.map(e=>o.records[e]),l=o.records[i.field],u=x.includes(i.field)?1:2;for(let e=0;e<v;e++){if(!(y[e]&u))continue;let t=``;for(let n=0;n<c.length;n++)t+=(n>0?`,`:``)+c[n][e];s.has(`${t}|${l[e]}`)&&(y[e]&=~u)}}let C=u&&r?await(async(e,t,n,r,i,a,o)=>{let s=m.peek(),c=fe(e,t);if(!s||!c)return null;let l=Ie(e,t,n,o,c.operands);if(!l)return null;let u=t=>(t??[]).map(t=>({field:t,form:t===Z?e.form??`compact`:e.fields?.[t]?.form??`compact`}));return ze(s,c,e,l.items,l.records,l.values,u(e.rowFields),u(e.columnFields),l.n,i,a,r)})(e,t,n,r,a,y,g):void 0;return{keep:a,...y?{records:y}:{},...g?{calculatedRecords:g}:{},...C?{fieldValues:C}:{}}},qe=(e,t)=>{let n=e.filters;if(!n)return e;let r=!1,i=n.map(e=>{let n=e.condition&&O(e.condition,t);return n===e.condition?e:(r=!0,{...e,condition:n})});return r?{...e,filters:i}:e},Je=async(e,t,n,r)=>{let i=t.length,a=new Uint8Array(i);if(i===0)return a;let o=new H;for(let e=0;e<i;e++)t[e]!==null&&o.setValueAt(e,0,t[e]);let s=!1;return await V({conditions:[e],runtime:n,calculation:r??null,values:o,coords:{rowStart:0,rowEnd:i-1,colStart:0,colEnd:0},onTrue:e=>{s=!0,a[e.rowIndex]=1},onFalse:()=>{s=!0},onBlank:e=>{s=!0;for(let n=0;n<i;n++)t[n]===null&&e(n,0)&&(a[n]=1)}}),s||a.fill(1),a},Ye=(e,t,n,r,a)=>{let s=e.fields?.[r],c=new Map;for(let e of s?.items??[])e.item!==void 0&&e.type===void 0&&e.name!==void 0&&c.set(e.item,e.name);let l=s?.numberFormat??t.fields?.[r]?.numberFormat,u=b(l,a),d=e=>l===void 0?b(_(t.fields?.[r],e),a):u,f=Array(n.length);for(let e=0;e<n.length;e++){let s=c.get(e);if(s!==void 0){f[e]=s;continue}let l=p(n[e]);l===null?f[e]=S:typeof l==`number`?f[e]=i(a,h(t.fields?.[r],e)?d(e):u,l):typeof l==`boolean`?f[e]=l?`TRUE`:`FALSE`:o.isError(l)?f[e]=l.getLabel():f[e]=String(l)}return f},Xe=e=>{let t=e.getCoords(),n=t.colEnd-t.colStart+1,r=t.rowEnd-t.rowStart,i=e.getWorksheet(),a=i.getRange({rowStart:t.rowStart,rowEnd:t.rowStart,colStart:t.colStart,colEnd:t.colEnd}).getValues()[0]??[],o=[];for(let e=0;e<n;e++){let n=a[e]??null,s=new q,c=new Uint32Array(r),l,u,d=!1,f=s.values;if(r>0){let n=i.getRange({rowStart:t.rowStart+1,rowEnd:t.rowEnd,colStart:t.colStart+e,colEnd:t.colStart+e});s.fill(n.getValuesRange(),c),l=Qe(n,r);let a=$e(n,t.rowStart+1,c,s.values);d=a.dates,u=a.dateIds,f=a.values}o.push({header:Ze(n),ids:c,values:f,numberFormat:l,dates:d,...u?{dateIds:u}:{}})}return{columns:o,recordCount:r}},Ze=e=>e==null?``:typeof e==`boolean`?e?`TRUE`:`FALSE`:o.isError(e)?e.getLabel():String(e),Qe=(e,t)=>{let n=[...e.getRegions(`numberFormat`)];if(n.length!==1||n[0].getRowCount()!==t)return;let r=n[0].getCell().getStyle().getNumberFormat();return r&&r!==`General`?r:void 0},$e=(e,t,n,r)=>{let i=[];for(let n of e.getRegions(`dateFormat`)){let{rowStart:e,rowEnd:r}=n.getCoords();i.push([e-t,r-t])}if(i.length===0)return{dates:!1,values:r};i.sort((e,t)=>e[0]-t[0]);let a=!1,o=!1;for(let e=0;e<n.length&&(!a||!o);e++)typeof r[n[e]]==`number`&&(et(i,e)?a=!0:o=!0);if(!a||!o)return{dates:a,values:r};let s=r.slice(),c=new Map;for(let e=0;e<n.length;e++){let t=n[e];if(typeof r[t]!=`number`||!et(i,e))continue;let a=c.get(t);a===void 0&&(a=s.length,s.push(r[t]),c.set(t,a)),n[e]=a}return{dates:!1,dateIds:new Set(c.values()),values:s}},et=(e,t)=>{let n=0,r=e.length-1;for(;n<=r;){let i=n+r>>1,[a,o]=e[i];if(t<a)r=i-1;else{if(!(t>o))return!0;n=i+1}}return!1},tt=e=>e==null?{t:`z`,v:0}:o.isError(e)?{t:`e`,v:e.getCode()}:e,nt=(e,t)=>(t&&typeof e==`number`?`date:`:``)+D(p(e)),rt=(e,t,n,r=!1)=>{let i=e.fields??[],a=N(e.items,i.length),o=/\smissingItemsLimit="0"/.test(e.rest??``),s=(e=>{let t=new Set;return e.map((e,n)=>{let r=e===``?`Field${n+1}`:e,i=r;for(let e=2;t.has(i.toLocaleLowerCase());e++)i=`${r}${e}`;return t.add(i.toLocaleLowerCase()),i})})(t.columns.map(e=>e.header)),c=new Map;i.forEach((e,t)=>{let n=e.name.toLocaleLowerCase();e.noRecords||c.has(n)||c.set(n,t)});let l=t.recordCount,u=i.map(()=>-1),d=i.map((e,t)=>a[t].map(()=>-1)),f=[],m=[],g=[],_=[],y=[],b=[],x=[],S=(e,t,n)=>{_[t]=n.items,b[t]=n.items.length,x[t]=!0,d[e]=((e,t)=>{let n=new Map;return t.forEach((e,t)=>{n.set(e,t)}),e.map((r,i)=>i===0?0:i===e.length-1?t.length-1:n.get(r)??-1)})(i[e].group.items,n.items)};t.columns.forEach((e,t)=>{let n=c.get(s[t].toLocaleLowerCase());n!==void 0&&(c.delete(s[t].toLocaleLowerCase()),u[n]=t);let C=new Int32Array(e.values.length).fill(-1),w=[],T=[],E=Array(l);for(let t=0;t<l;t++){let n=e.ids[t],r=C[n];r<0&&(r=C[n]=w.length,w.push(tt(e.values[n])),T.push(e.dates||!!e.dateIds?.has(n))),E[t]=r}let D=e=>n!==void 0&&(!!i[n].dates||h(i[n],e)),O=w.length,k=n===void 0?w.every(e=>typeof e==`number`||typeof e==`object`&&e?.t===`z`):!0===i[n].inline,A=[];if(n!==void 0&&k){let e=new Map;for(let t=0;t<O;t++)e.set(nt(w[t],T[t]),t);a[n].forEach((t,r)=>{d[n][r]=e.get(nt(t,D(r)))??-1})}else if(n!==void 0){let e=new Map;for(let t=0;t<O;t++)e.set(nt(w[t],T[t]),t);let t=new Set(i[n].calculatedItems?.map(e=>e.item));a[n].forEach((r,i)=>{if(t.has(i))return;let a=nt(r,D(i)),s=e.get(a);s!==void 0||o||D(i)||(s=w.length,w.push(r),T.push(D(i)),A.push(s),e.set(a,s)),d[n][i]=s??-1})}let j={name:s[t]};k&&(j.inline=!0),e.numberFormat!==void 0&&(j.numberFormat=e.numberFormat);let M=[],N=!1;w.forEach((e,t)=>{typeof e==`number`&&(T[t]?M.push(t):N=!0)}),M.length>0&&!N?j.dates=!0:M.length>0&&(j.dateItems=M),y[t]=j.dateItems?new Set(j.dateItems):void 0,A.length>0&&(j.unused=A);let P=n===void 0?void 0:i[n].rest;P&&(j.rest=P);let F=n===void 0?void 0:i[n].calculatedItems;F?.length&&(j.calculatedItems=F.map(({item:e,formula:t})=>{let r=w.length;return w.push(a[n][e]),d[n][e]=r,{item:r,formula:t}})),f.push(j),m.push([t,[[0,w]]]),g.push([t,[[0,E]]]),_.push(w),b.push(O),x.push(!1);let I=n===void 0?void 0:i[n].group;if(I?.range&&I.base===n){let e=se(I,w.slice(0,O).map(p),r);e?(j.group={...e,base:t},S(n,t,e)):d[n]=a[n].map(()=>-1)}else I&&!v(i[n])&&(j.group=I)}),i.forEach((e,t)=>{if(!e.noRecords)return;if(T(e))return u[t]=f.length,f.push(e),_.push([]),b.push(0),void x.push(!1);let n=e.group;if(!n)return;let i=u[n.base];if(i===void 0||i<0)return;let a=_[i],o,s=[];if(n.range)o=se(n,a.slice(0,b[i]).map(p),r);else{let e=it(n,d[n.base],a,f[i]);o=e.group,s=e.itemMap}if(!o)return;let c=f.length;u[t]=c,f.push({...e,group:{...o,base:i}}),_.push(o.items),y[c]=o.dateItems?new Set(o.dateItems):void 0,b.push(o.items.length),x.push(!1),n.range?S(t,c,o):d[t]=s}),f.forEach((e,t)=>{let n=e.group;if(n?.parent===void 0)return;let r=u[n.parent],{parent:i,...a}=n;r!==void 0&&r>=0?e.group={...n,parent:r}:v(e)?e.group=a:delete e.group,e.group&&!v(e)&&(e.group={...e.group,base:t})});let{cacheId:C,part:w,partFormats:E,fields:D,items:O,records:k,...A}=e;return{model:{...A,source:n??e.source,fields:f,items:m,records:g,recordCount:l},remap:{fields:u,items:d,newItems:_,usedCounts:b,inItemOrder:x,dateItems:y}}},it=(e,t,n,r)=>{let i=new Set,a=Array(n.length).fill(-1);(e.discrete??[]).forEach((e,n)=>{let r=t?.[n]??-1;r<0||(a[r]=e,i.add(e))});let o=[],s=[],c=new Set(e.dateItems),l=e.items.map((e,t)=>i.has(t)?(c.has(t)&&s.push(o.length),o.push(e),o.length-1):-1),u=a.map((e,t)=>e>=0?l[e]:((r.dates||h(r,t))&&s.push(o.length),o.push(n[t]),o.length-1)),{dateItems:d,...f}=e;return{group:{...f,items:o,discrete:u,...s.length>0?{dateItems:s}:{}},itemMap:l}},at=(e,t,n=!1,r=!1)=>{let i=(e,t)=>e===null?5:typeof e==`number`?t?3:0:typeof e==`string`?1:typeof e==`boolean`?2:4,a=i(e,n),o=i(t,r);return a===o?a===0||a===3?e-t:a===1?e.localeCompare(t,void 0,{sensitivity:`base`}):a===2?Number(e)-Number(t):a===4?e.getCode()-t.getCode():0:a-o},ot=(e,t)=>{let n=e.fields??[],r=t.newItems.length,i=e=>e<0?e:t.fields[e]??-1,a=e=>e<0||i(e)>=0,o=e.dataFields??[],s=[],c=[];o.forEach(e=>{if(!a(e.field))return void s.push(-1);s.push(c.length);let t={...e,field:i(e.field)};e.baseField!==void 0&&(a(e.baseField)?t.baseField=i(e.baseField):delete t.baseField),c.push(t)});let l=n.map(()=>null),u=[];for(let e=0;e<r;e++)u.push({});n.forEach((e,n)=>{let r=i(n);if(r<0)return;let a={...e};if(e.sort?.dataField!==void 0){let t=s[e.sort.dataField];a.sort=t>=0?{...e.sort,dataField:t}:{order:e.sort.order}}if(e.items){let{items:i,positions:o}=st(e,t.items[n],t.newItems[r],t.usedCounts[r],t.inItemOrder[r],t.dateItems[r]);a.items=i,l[n]=o}u[r]=a}),n.forEach((e,t)=>{let n=e.sort?.scope,r=i(t);if(!n||r<0||u[r].sort?.scope===void 0)return;let a=n.items.map(e=>({field:i(e.field),item:l[e.field]?.[e.item]??-1}));a.some(e=>e.field<0||e.item<0)?delete u[r].sort:u[r].sort={...u[r].sort,scope:{...n,items:a}}});let d=e=>{if(!e)return;let t=e.filter(a).map(i);return c.length<2&&(t=t.filter(e=>e!==-2)),t.length>0?t:void 0},f={...e,fields:u};Q(f,`rowFields`,d(e.rowFields)),Q(f,`columnFields`,d(e.columnFields)),Q(f,`dataFields`,c.length>0?c:void 0),o.forEach((e,t)=>{let n=s[t];if(n<0||e.baseField===void 0||typeof e.baseItem!=`number`)return;let r=l[e.baseField]?.[e.baseItem];r!==void 0&&r>=0&&(c[n].baseItem=r)});let p=(e.pageFields??[]).flatMap(e=>{if(!a(e.field))return[];let t={field:i(e.field)};if(e.item!==void 0){let n=lt(u[t.field].items??[],l[e.field]?.[e.item]??-1);n!==void 0&&(t.item=n)}return[t]});Q(f,`pageFields`,p.length>0?p:void 0);let m=(e.filters??[]).flatMap(e=>{if(!a(e.field))return[];let t={...e,field:i(e.field)};if(e.dataField!==void 0){let n=s[e.dataField];if(n===void 0||n<0)return[];t.dataField=n}return[t]});Q(f,`filters`,m.length>0?m:void 0);let h=e=>ut(e,i,a,l,s),g=(e.formats??[]).flatMap(e=>{let t=h(e.area);return t?[{...e,area:t}]:[]});Q(f,`formats`,g.length>0?g:void 0);let _=(e.conditionalFormats??[]).flatMap(e=>{let t=e.areas.flatMap(e=>{let t=h(e);return t?[t]:[]});return t.length>0?[{...e,areas:t}]:[]});return Q(f,`conditionalFormats`,_.length>0?_:void 0),f},Q=(e,t,n)=>{n===void 0?delete e[t]:e[t]=n},st=(e,t,n,r,i=!1,a)=>{let o=e.items??[],s=[],c=[],l=new Set;for(let e of o){if(!W(e)){c.push(s.length),s.push(e);continue}let n=t[e.item]??-1;if(n<0){c.push(-1);continue}l.add(n);let i={...e,item:n};n>=r&&!e.calculated?i.missing=!0:delete i.missing,c.push(s.length),s.push(i)}let u=[];for(let e=0;e<n.length;e++)l.has(e)||u.push(e);if(i){let t=e.sort?.dataField===void 0&&e.sort?.order===`descending`,n=!e.includeNewItemsInFilter&&o.some(e=>e.hidden),r=s.map((e,t)=>({item:e,at:t})),i=r.filter(e=>!W(e.item)),a=[...[...r.filter(e=>W(e.item)),...u.map(e=>({item:n?{item:e,hidden:!0}:{item:e},at:-1}))].sort((e,n)=>t?n.item.item-e.item.item:e.item.item-n.item.item),...i],l=new Map(a.map((e,t)=>[e.at,t]));return{items:a.map(e=>e.item),positions:c.map(e=>e<0?e:l.get(e)??-1)}}if(u.length===0)return{items:s,positions:c};let d=!e.includeNewItemsInFilter&&o.some(e=>e.hidden),f=e=>d?{item:e,hidden:!0}:{item:e};if(e.sort&&e.sort.dataField===void 0){let t=e.sort.order===`descending`,r=(e,t)=>at(P(e,n),p(n[t]),e.name===void 0&&a?.has(e.item),a?.has(t));for(let e of u){let n=f(e),i=s.findIndex(n=>W(n)&&(t?r(n,e)<0:r(n,e)>0));i<0&&(i=ct(s)),s.splice(i,0,n);for(let e=0;e<c.length;e++)c[e]>=i&&c[e]++}}else{let e=ct(s);s.splice(e,0,...u.map(f));for(let t=0;t<c.length;t++)c[t]>=e&&(c[t]+=u.length)}return{items:s,positions:c}},ct=e=>{let t=e.findIndex(e=>!W(e));return t<0?e.length:t},lt=(e,t)=>{if(!(t<0))for(let n=0;n<e.length;n++){let r=(t+n)%e.length,i=e[r];if(W(i)&&!i.missing)return r}},ut=(e,t,n,r,i)=>{let a={...e};if(e.field!==void 0){if(!n(e.field))return null;a.field=t(e.field)}if(e.references){let o=[];for(let a of e.references){if(!n(a.field))return null;let e={...a,field:t(a.field)};if(a.items&&!a.byPosition&&!a.relative){let t=a.field===-2?i:r[a.field];if(t){let n=a.items.map(e=>t[e]??-1);if(n.some(e=>e<0))return null;e.items=n}}o.push(e)}a.references=o}return a},dt=(e,t,n)=>{let r=e.fields??[],i=r[t]?.items??[],a=Array(i.length);n.forEach((e,t)=>{a[e]=t});let o={...e,fields:r.map((e,r)=>{if(r===t)return{...e,items:n.map(e=>i[e])};let o=e.sort?.scope;if(!o?.items.some(e=>e.field===t))return e;let s=o.items.map(e=>e.field===t?{...e,item:a[e.item]??e.item}:e);return{...e,sort:{...e.sort,scope:{...o,items:s}}}})};e.pageFields?.some(e=>e.field===t&&e.item!==void 0)&&(o.pageFields=e.pageFields.map(e=>e.field===t&&e.item!==void 0?{...e,item:a[e.item]}:e)),e.dataFields?.some(e=>e.baseField===t&&typeof e.baseItem==`number`)&&(o.dataFields=e.dataFields.map(e=>e.baseField===t&&typeof e.baseItem==`number`?{...e,baseItem:a[e.baseItem]??e.baseItem}:e));let s=r.map((e,n)=>n===t?a:null),c=(e.dataFields??[]).map((e,t)=>t),l=e=>ut(e,e=>e,()=>!0,s,c)??e;return e.formats&&(o.formats=e.formats.map(e=>({...e,area:l(e.area)}))),e.conditionalFormats&&(o.conditionalFormats=e.conditionalFormats.map(e=>({...e,areas:e.areas.map(l)}))),o},ft=(e,t,n,r)=>{let i=(e.fields??[])[n]?.items??[],a=A(t)[n]??[],o=t.fields?.[n],s=o?.group?.range!==void 0,c=e=>e.name===void 0&&h(o,e.item),l=i.map((e,t)=>({item:e,at:t})),u=l.filter(e=>W(e.item));u.sort((e,t)=>s?e.item.item-t.item.item:at(P(e.item,a),P(t.item,a),c(e.item),c(t.item))),r===`descending`&&u.reverse();let d=0,f=dt(e,n,l.map(e=>W(e.item)?u[d++]:e).map(e=>e.at));return{...f,fields:f.fields.map((e,t)=>t===n?{...e,sort:{order:r}}:e)}},pt=(n,r,i)=>{let a=n.fields?.[r]?.items?.[i];if(!a||!W(a))throw new e(t(`error.pivotTable.changePart`));return a},mt=(n,r,i,a,o)=>{let s=pt(n,i,a),l=n.fields[i].items,u=A(r)[i]??[],d=e=>{let t=p(u[e.item]);return t===null?S:w(t)};if(l.some((e,t)=>t!==a&&W(e)&&c(e.name??d(e),o)))throw new e(t(`error.pivotTable.itemNameExists`,{name:o}));let{name:f,...m}=s,h=o===d(s)?m:{...s,name:o};if(h.name===s.name)return n;let g={...n,fields:n.fields.map((e,t)=>t===i?{...e,items:l.map((e,t)=>t===a?h:e)}:e)},_=n.fields[i].sort;return _&&_.dataField===void 0?ft(g,r,i,_.order):g},ht=(e,t,n,r)=>{pt(e,t,n);let i=e.fields[t].items.map((e,t)=>t).filter(e=>e!==n);i.splice(r,0,n);let a=e.fields[t].sort;if(!a&&i.every((e,t)=>e===t))return e;let o=dt(e,t,i);return a?{...o,fields:o.fields.map((e,n)=>{if(n!==t)return e;let{sort:r,...i}=e;return i})}:o},gt=(n,r,i,a)=>{let o=w(a),s=n.fields,l=r.fields,u=n.dataFields??[],d=A(r),m=(e,t)=>{if(t.name!==void 0)return t.name;let n=p(d[e][t.item]);return n===null?S:w(n)},h=i=>{if(i.field!==void 0&&o===(s[i.field].name??l[i.field].name))return;let a=i.field===void 0?n:{...n,fields:s.map((e,t)=>t===i.field?{...e,name:`\0`}:e)};if(f(a,r,o,i.data)!==o)throw new e(t(`error.pivotTable.fieldNameExists`))};switch(i.kind){case`item`:{let{field:e,rank:t}=i;pt(n,e,t);let a=s[e].items.findIndex((n,r)=>r!==t&&W(n)&&c(m(e,n),o));return a>=0?ht(n,e,a,t):mt(n,r,e,t,o)}case`fieldCaption`:{let{field:e}=i;return h({field:e}),((e,t)=>({...n,fields:s.map((n,r)=>r===e?t(n):n)}))(e,t=>{let{name:n,...r}=t;return o===l[e].name?r:{...t,name:o}})}case`dataCaption`:{let{data:e}=i;return h({data:e}),{...n,dataFields:u.map((t,n)=>n===e?{...t,name:o}:t)}}case`rowHeader`:return{...n,rowHeaderCaption:o};case`columnHeader`:return{...n,columnHeaderCaption:o};case`grandTotal`:return{...n,grandTotalCaption:o};case`pageItem`:{let r=n.pageFields,a=r[i.page],l;if(!c(o,`(All)`)&&(l=(s[a.field].items??[]).findIndex(e=>W(e)&&c(m(a.field,e),o)),l<0))throw new e(t(`error.pivotTable.notAnItem`,{name:o}));let{item:u,...d}=a,f=l===void 0?d:{...a,item:l};return{...n,pageFields:r.map((e,t)=>t===i.page?f:e)}}}},_t=(e,t,n)=>rt({cacheId:0,fields:[]},e,t,n).model,vt=(e,t)=>t.some(t=>e.fields?.[t]?.inline)?{...e,fields:e.fields.map((e,n)=>{if(!e.inline||!t.includes(n))return e;let{inline:r,...i}=e;return i})}:e,yt=e=>[...e.rowFields??[],...e.columnFields??[],...(e.pageFields??[]).map(e=>e.field)].filter(e=>e>=0),bt=(e,t)=>{let n=e.fields[t],r=A(e)[t],i=r.map((e,t)=>t);v(n)||i.sort((e,t)=>at(p(r[e]),p(r[t]),h(n,e),h(n,t)));let a=new Set(n.calculatedItems?.map(e=>e.item)),o=new Set(n.unused);return[...i.map(e=>({item:e,...a.has(e)?{calculated:!0}:{},...o.has(e)?{missing:!0}:{}})),{type:`default`}]},xt=n=>{if(!(typeof n==`number`?r(n)!==void 0:n!==``&&a.isValidFormat(n)))throw new e(t(`error.pivotTable.notANumberFormat`,{name:String(n)}))},St=(n,r,i,a)=>{let o=a?.function??((e,t)=>I(e,t)===`number`?`sum`:`count`)(r.fields[i],A(r)[i]),s=E[o];if(!s)throw new e(t(`error.pivotTable.notAFunction`,{name:o}));let c=a?.name;if(c===void 0)c=f(n,r,`${s} of ${z(n,r,i)}`);else if(f(n,r,c)!==c)throw new e(t(`error.pivotTable.fieldNameExists`));let l={name:c,field:i,baseField:0,baseItem:0};return o!==`sum`&&(l.subtotal=o),a?.numberFormat!==void 0&&(xt(a.numberFormat),l.numberFormat=a.numberFormat),l},Ct=(n,r)=>{let i=n.fields??[],a=n=>{let r=i.findIndex(e=>c(e.name,n));if(r<0)throw new e(t(`error.pivotTable.notAField`,{name:n}));return r},o=new Map,s=(e,t)=>{for(let n of e??[]){let e=a(n);o.delete(e),o.set(e,t)}};s(r?.rows,`row`),s(r?.columns,`column`),s(r?.pages,`page`);let l=e=>[...o].filter(([,t])=>t===e).map(([e])=>e),u=[];for(let e of r?.values??[]){let{field:t,...r}=typeof e==`string`?{field:e}:e;u.push(St({dataFields:u},n,a(t),r))}let d=new Set(u.map(e=>e.field)),f=r?.form&&r.form!==`compact`?r.form:void 0,p=i.map((e,t)=>{let r={},i=o.get(t);return i&&(r.axis=i,r.items=bt(n,t)),d.has(t)&&(r.dataField=!0),f&&(r.form=f),e.dates&&e.numberFormat!==void 0&&(r.numberFormat=e.numberFormat),r}),m=l(`column`);u.length>1&&m.push(-2);let h={fields:p,style:{name:r?.style??`PivotStyleLight16`,showRowHeaders:!0,showColumnHeaders:!0,showRowStripes:!1,showColumnStripes:!1,showLastColumn:!0}},g=l(`row`);g.length>0&&(h.rowFields=g),m.length>0&&(h.columnFields=m);let _=l(`page`);return _.length>0&&(h.pageFields=_.map(e=>({field:e}))),u.length>0&&(h.dataFields=u),f&&(h.form=f),h},wt=(e,t)=>t.map(t=>{let n=t.sort?.scope;if(!n)return t;let r=((t.axis===R.Axis.Row?e.columnFields:t.axis===R.Axis.Column?e.rowFields:void 0)??[]).filter(e=>e!==-2);if(!n.items.every((e,t)=>r[t]===e.field)){let{sort:e,...n}=t;return n}let{subtotal:i,...a}=n;return{...t,sort:{...t.sort,scope:n.items.length<r.length?{...a,subtotal:!0}:a}}}),Tt=(n,r,i,a,o)=>{let s=R.Axis,c=r.fields?.[i],l=n.fields?.[i]?.axis??null;if(a===s.Values)throw new e(t(`error.pivotTable.valuesNotAnAxis`));if(a===null){if(l===null)return n}else if(c?.formula!==void 0||a===s.Page&&(c?.calculatedItems?.length??0)>0)throw new e(t(`error.pivotTable.fieldNotPlaceable`));let u=a?x(n,a).filter(e=>e!==i):[];if(o!==void 0&&(!Number.isInteger(o)||o<1||o>u.length+1))throw new e(t(`error.pivotTable.fieldPosition`));let d=(o??u.length+1)-1;if(a===l&&(o===void 0||x(n,a)[d]===i))return n;u.splice(d,0,i);let{rowFields:f,columnFields:p,pageFields:m,...h}=n,g={},_=e=>(e??[]).filter(e=>e!==i),v=a===s.Row?u:_(n.rowFields),b=a===s.Column?u:_(n.columnFields),S=a===s.Page?u.map(e=>n.pageFields?.find(t=>t.field===e)??{field:e}):(n.pageFields??[]).filter(e=>e.field!==i);v.length>0&&(g.rowFields=v),b.length>0&&(g.columnFields=b),S.length>0&&(g.pageFields=S);let C={...h,...g};a===s.Page&&l!==s.Page&&(C=B(C,i,()=>!0));let w={...n.fields?.[i]};a?w.axis=a:delete w.axis,a&&!w.items&&c&&(w.items=y(bt(r,i),w.subtotals)),a&&w.numberFormat===void 0&&c?.dates&&c.numberFormat!==void 0&&(w.numberFormat=c.numberFormat),a===s.Page&&w.items?.some(e=>e.hidden)&&(w.multipleItemSelection=!0);let T=(n.fields??[]).map((e,t)=>t===i?w:e);if(C={...C,fields:wt(C,T)},a===null&&n.formats?.some(e=>e.area.references?.some(e=>e.field===i))){let e=n.formats.filter(e=>!e.area.references?.some(e=>e.field===i)),{formats:t,...r}=C;C=e.length>0?{...r,formats:e}:r}return C},$=-2,Et=new Set([`percentOfTotal`,`percentOfRow`,`percentOfCol`,`percentOfParentRow`,`percentOfParentCol`,`percentOfParent`,`percentOfRunningTotal`,`percent`,`percentDiff`]),Dt=new Set([`index`,`rankAscending`,`rankDescending`]),Ot=new Set([...Et,...Dt,`runTotal`,`difference`]),kt=(e,t,n)=>{if(Dt.has(n))return Dt.has(t)?e:void 0;let r=(e=>s(e).replace(/"[^"]*"|\\./g,``).includes(`%`))(e);return Et.has(n)?Et.has(t)||r?e:10:Et.has(t)&&r?void 0:e},At=(e,t)=>{let n=e.references?.length===1?e.references[0]:null;return!1===e.outline&&n?.field===$&&n.items?.length===1&&n.items[0]===t&&n.selected===void 0&&!e.type&&!e.labelOnly&&e.dataOnly===void 0},jt=(e,t)=>{if(!e.formats?.some(e=>At(e.area,t)))return e;let n=e.formats.filter(e=>!At(e.area,t)),{formats:r,...i}=e;return n.length>0?{...i,formats:n}:i},Mt=(e,t,n)=>({...e,dataFields:e.dataFields.map((e,r)=>r===t?n(e):e)}),Nt=(e,t)=>{let{numberFormat:n,...r}=e;return t===void 0?r:{...r,numberFormat:t}},Pt=(e,t,n)=>{let r=new Set(t.map(e=>e.field)),i=(e.fields??[]).map((e,t)=>{let i=e;if(e.sort?.dataField!==void 0){let t=n[e.sort.dataField];if(t<0){let{sort:e,...t}=i;i=t}else t!==e.sort.dataField&&(i={...i,sort:{...e.sort,dataField:t}})}if(!!e.dataField!==r.has(t)){let{dataField:e,...n}=i;i=r.has(t)?{...n,dataField:!0}:n}return i}),{dataFields:a,filters:o,formats:s,conditionalFormats:c,...l}=e,u={...l,fields:i};t.length>0&&(u.dataFields=t);let d=(e.filters??[]).flatMap(e=>{if(e.dataField===void 0)return[e];let t=n[e.dataField];return t<0?[]:[{...e,dataField:t}]});d.length>0&&(u.filters=d);let f=e=>ut(e,e=>e,()=>!0,[],n),p=(e.formats??[]).flatMap(e=>{let t=f(e.area);return t?[{...e,area:t}]:[]});p.length>0&&(u.formats=p);let m=(e.conditionalFormats??[]).flatMap(e=>{let t=e.areas.flatMap(e=>f(e)??[]);return t.length>0?[{...e,areas:t}]:[]});return m.length>0&&(u.conditionalFormats=m),(e=>{let t=e.dataFields?.length??0,n=e.rowFields?.includes($),r=e.columnFields?.includes($),{valuesPosition:i,...a}=e;if(t<2&&(n||r)){let t=n?`rowFields`:`columnFields`,r=e[t],i=r.indexOf($),o=r.filter(e=>e!==$),s={...a,...i<o.length?{valuesPosition:i}:{}};return o.length>0?s[t]=o:delete s[t],s}if(t>=2&&!n&&!r){let t=e.valuesOnRows?`rowFields`:`columnFields`,n=[...e[t]??[]];return n.splice(Math.min(i??n.length,n.length),0,$),{...a,[t]:n}}return e})(u)},Ft=(e,t,n,r)=>{let i=Tt(e,t,n,null),a=i.dataFields?.length??0,o=St(i,t,n,r);return Pt(i,[...i.dataFields??[],o],Array.from({length:a},(e,t)=>t))},It=(e,t)=>{let n=e.dataFields??[],r=[],i=[];return n.forEach((e,n)=>{t!==void 0&&n!==t?(r.push(i.length),i.push(e)):r.push(-1)}),Pt(e,i,r)},Lt=(n,r,i)=>{let a=n.dataFields??[];if(!Number.isInteger(i)||i<1||i>a.length)throw new e(t(`error.pivotTable.valuePosition`));if(i-1===r)return n;let o=a.map((e,t)=>t).filter(e=>e!==r);o.splice(i-1,0,r);let s=[];return o.forEach((e,t)=>{s[e]=t}),Pt(n,o.map(e=>a[e]),s)},Rt=(e,t,n,r)=>{let i=k(e,t,n,r);return(e.dataFields[n].subtotal??`sum`)===r?e:Mt(e,n,e=>{let{subtotal:t,...n}=e,a={...n,name:i};return r!==`sum`&&(a.subtotal=r),a})},zt=(n,r,i,a)=>{let o=n.dataFields[i],s=o.showDataAs??`normal`,l=a?.kind??`normal`;if(a&&!Ot.has(a.kind))throw new e(t(`error.pivotTable.notAShowAs`,{name:a.kind}));let{showDataAs:d,baseField:f,baseItem:p,...m}=o,h={...m};l!==`normal`&&(h.showDataAs=l);let g=o.baseField,_=o.baseItem;if(a?.baseField!==void 0){let i=a.baseField,o=(r.fields??[]).findIndex((e,t)=>c(z(n,r,t),i));if(o<0)throw new e(t(`error.pivotTable.notAField`,{name:i}));o!==g&&(g=o,_=0)}if(a?.baseItem!==void 0){let i=g??0;if(c(a.baseItem,`(previous)`))_=`previous`;else if(c(a.baseItem,`(next)`))_=`next`;else{let o=n.fields?.[i]?.items?n:{fields:(n.fields??[]).map((e,t)=>t===i?{...e,items:bt(r,i)}:e)},s=u(o,r,i).findIndex(e=>e!==null&&c(e,a.baseItem));if(s<0)throw new e(t(`error.pivotTable.notAnItem`,{name:a.baseItem}));_=s}}if(g!==void 0&&(h.baseField=g),_!==void 0&&(h.baseItem=_),l===s)return h.baseField===o.baseField&&h.baseItem===o.baseItem?n:Mt(n,i,()=>h);let v=kt(o.numberFormat,s,l);return v===o.numberFormat?Mt(n,i,()=>h):Mt(jt(n,i),i,()=>Nt(h,v))},Bt=(e,t,n)=>{xt(n);let r=s(n),i=e.dataFields[t],a=e.formats?.[e.formats.length-1];if(s(i.numberFormat)===r&&a&&At(a.area,t)&&a.style.numberFormat===r)return e;let o=Mt(jt(e,t),t,e=>Nt(e,r===`General`?void 0:n));return{...o,formats:[...o.formats??[],{style:{numberFormat:r},area:{outline:!1,references:[{field:$,items:[t]}]}}]}},Vt=(n,r,i)=>{if(r===null)return It(n);let a=R.Axis;if(r!==a.Row&&r!==a.Column)throw new e(t(`error.pivotTable.fieldNotPlaceable`));let o=n.rowFields?.includes($)?a.Row:n.columnFields?.includes($)?a.Column:null;if(!o)throw new e(t(`error.pivotTable.fieldPosition`));let s=x(n,r).filter(e=>e!==$);if(i!==void 0&&(!Number.isInteger(i)||i<1||i>s.length+1))throw new e(t(`error.pivotTable.fieldPosition`));let c=(i??s.length+1)-1;if(r===o&&(i===void 0||x(n,r)[c]===$))return n;s.splice(c,0,$);let{rowFields:l,columnFields:u,valuesOnRows:d,...f}=n,p=x(n,r===a.Row?a.Column:a.Row).filter(e=>e!==$),m={...f},h=r===a.Row?s:p,g=r===a.Column?s:p;return h.length>0&&(m.rowFields=[...h]),g.length>0&&(m.columnFields=[...g]),r===a.Row&&(m.valuesOnRows=!0),m},Ht=(n,r,i)=>{if(i===(n.valuesCaption??`Values`))return n;let{valuesCaption:a,...o}=n,s={...o,valuesCaption:`\0`};if(f(s,r,i)!==i)throw new e(t(`error.pivotTable.fieldNameExists`));return i===`Values`?o:{...o,valuesCaption:i}};export{Ft as addPivotDataField,qe as anchorPivotPeriods,xt as assertNumberFormat,yt as axisFieldsOf,Ge as buildPivotView,Ke as evaluatePivotFilters,L as isItemFilter,Fe as layOutPivot,bt as listedItemsOf,Lt as movePivotDataField,Tt as movePivotField,ht as movePivotItem,Vt as movePivotValues,_t as newPivotCache,Ct as newPivotTable,Xe as readPivotSource,rt as refreshPivotCache,ot as remapPivotTable,It as removePivotDataField,mt as renamePivotItem,Ht as renamePivotValues,dt as reorderPivotItems,Rt as setPivotDataFunction,Bt as setPivotDataNumberFormat,zt as setPivotDataShowAs,ft as sortPivotItemsByLabel,gt as typeOverPivot,vt as withListedFields};
@@ -0,0 +1 @@
1
+ export{r as t}from"./C71ZZMVLfHdPl441.js";
@@ -0,0 +1 @@
1
+ var e={ADDRESS:{s:`Creates a cell reference as text, given specified row and column numbers.`,p:{rowNum:{d:`is the row number to use in the cell reference: Row_number = 1 for row 1.`},columnNum:{d:`is the column number to use in the cell reference. For example, Column_number = 4 for column D.`},absNum:{d:`specifies the reference type: absolute = 1; absolute row/relative column = 2; relative row/absolute column = 3; relative = 4.`},a1:{d:`is a logical value that specifies the reference style: A1 style = 1 or TRUE; R1C1 style = 0 or FALSE.`},sheetText:{d:`is text specifying the name of the worksheet to be used as the external reference.`}}},AREAS:{s:`Returns the number of areas in a reference. An area is a range of contiguous cells or a single cell.`,p:{references:{d:`is a reference to a cell or range of cells and can refer to multiple areas.`}}},ARRAY_CONSTRAIN:{s:`Constrains an array result to a specified size.`,c:`Sheets`,p:{inputRange:{d:`The range to constrain.`},numRows:{d:`The number of rows the result should contain.`},numCols:{d:`The number of columns the result should contain.`}}},ARRAYFORMULA:{s:`Enables the display of values returned from an array formula into multiple rows and/or columns.`,c:`Sheets`,p:{arrayFormula:{d:`A range, a mathematical expression over ranges of the same size, or a function that returns a result of more than one cell.`}}},CHOOSE:{s:`Chooses a value or action to perform from a list of values, based on an index number.`,p:{indexNum:{d:`specifies which value argument is selected. Index_num must be between 1 and 254, or a formula or a reference to a number between 1 and 254.`},value:{d:`are 1 to 254 numbers, cell references, defined names, formulas, functions, or text arguments from which CHOOSE selects.`}}},CHOOSECOLS:{s:`Returns columns from an array or reference.`,p:{array:{d:`The array or reference from which to choose columns.`},colNum:{d:`The number of the column to be returned.`}}},CHOOSEROWS:{s:`Returns rows from an array or reference.`,p:{array:{d:`The array or reference from which to choose rows.`},rowNum:{d:`The number of the row to be returned.`}}},COLUMN:{s:`Returns the column number of a reference.`,p:{reference:{d:`is the cell or range of contiguous cells for which you want the column number. If omitted, the cell containing the COLUMN function is used.`}}},COLUMNS:{s:`Returns the number of columns in an array or reference.`,p:{array:{d:`is an array or array formula, or a reference to a range of cells for which you want the number of columns.`}}},DROP:{s:`Drops rows or columns from array start or end.`,p:{array:{d:`The array from which to drop rows or columns.`},row:{d:`The number of rows to drop. A negative value drops from the end of the array.`},columns:{d:`The number of columns to drop. A negative value drops from the end of the array.`}}},EXPAND:{p:{array:{},row:{},columns:{},padWith:{}}},FIELDVALUE:{s:`Extracts a value from a field of a given record.`,p:{value:{d:`The record from which you want to extract the field.`},fieldName:{d:`The names of the field or fields that you want to extract.`}}},FILTER:{s:`Filter a range or array.`,p:{array:{d:`the range or array to filter.`},include:{d:`an array of booleans where TRUE represents a row or column to retain.`},ifEmpty:{d:`return if no items are retained.`}}},FORMULATEXT:{s:`Returns a formula as a string.`,p:{reference:{d:`is a reference to a formula.`}}},GETPIVOTDATA:{s:`Extracts data stored in a PivotTable.`,p:{dataField:{d:`is the name of the data field to extract data from.`},pivotTable:{d:`is a reference to a cell or range of cells in the PivotTable that contains the data you want to retrieve.`},fieldItem:{d:`the field/item pairs to refer to.`},"fieldItem.field":{d:`field to refer to.`},"fieldItem.item":{d:`field item to refer to.`}}},HLOOKUP:{s:`Looks for a value in the top row of a table or array of values and returns the value in the same column from a row you specify.`,p:{lookupValue:{d:`is the value to be found in the first row of the table and can be a value, a reference, or a text string.`},tableArray:{d:`is a table of text, numbers, or logical values in which data is looked up. tableArray can be a reference to a range or a range name.`},rowIndexNum:{d:`is the row number in tableArray from which the matching value should be returned. The first row of values in the table is row 1.`},rangeLookup:{d:`is a logical value: to find the closest match in the top row (sorted in ascending order) = TRUE; find an exact match = FALSE.`}}},HSTACK:{s:`Horizontally stacks arrays into one array.`,p:{array:{d:`An array or reference to be stacked.`}}},HYPERLINK:{s:`Creates a shortcut or jump that opens a document stored on your hard drive, a network server, or on the Internet.`,p:{linkLocation:{d:`is the text giving the path and file name to the document to be opened, a hard drive location, UNC address, or URL path.`},friendlyName:{d:`is text or a number that is displayed in the cell. If omitted, the cell displays the linkLocation text.`}}},IMAGE:{s:`Returns an image from a given source.`,p:{source:{d:`The path of the source that points to the image.`},alternateText:{d:`The alternative text that describes the image for accessibility.`},sizing:{d:`The setting that determines the dimensions in which the image will be rendered in the cell.`},height:{d:`The custom height of the image in pixels.`},width:{d:`The custom width of the image in pixels.`}}},INDEX:{s:`Returns a value or reference of the cell at the intersection of a particular row and column, in a given range.`,p:{array:{d:`is a range of cells or an array constant.`},rowNum:{d:`selects the row in Array or Reference from which to return a value. If omitted, colNum is required.`},colNum:{d:`selects the column in Array or Reference from which to return a value. If omitted, rowNum is required.`},areaNum:{d:`selects the area in Array or Reference from which to return a value. If omitted, the first area is used.`}}},INDIRECT:{s:`Returns the reference specified by a text string.`,p:{refText:{d:`is a reference to a cell that contains an A1- or R1C1-style reference, a name defined as a reference, or a reference to a cell as a text string.`},a1:{d:`is a logical value that specifies the type of reference in refText: R1C1-style = FALSE; A1-style = TRUE.`}}},LOOKUP:{s:`Looks up a value either from a one-row or one-column range or from an array. Provided for backward compatibility.`,p:{lookupValue:{d:`is a value that LOOKUP searches for in lookupVector and can be a number, text, a logical value, or a name or reference to a value.`},lookupVector:{d:`is a range that contains only one row or one column of text, numbers, or logical values, placed in ascending order.`},resultVector:{d:`is a range that contains only one row or column, the same size as lookupVector.`}}},MATCH:{s:`Returns the relative position of an item in an array that matches a specified value in a specified order.`,p:{lookupValue:{d:`is the value you use to find the value you want in the array, a number, text, or logical value, or a reference to one of these.`},lookupArray:{d:`is a contiguous range of cells containing possible lookup values, an array of values, or a reference to an array.`},matchType:{d:`is a number 1, 0, or -1 indicating which value to return.`}}},OFFSET:{s:`Returns a reference to a range that is a given number of rows and columns from a given reference.`,p:{reference:{d:`is the reference from which you want to base the offset, a reference to a cell or range of adjacent cells.`},rows:{d:`is the number of rows, up or down, that you want the upper-left cell of the result to refer to.`},cols:{d:`is the number of columns, to the left or right, that you want the upper-left cell of the result to refer to.`},height:{d:`is the height, in number of rows, that you want the result to be, the same height as Reference if omitted.`},width:{d:`is the width, in number of columns, that you want the result to be, the same width as Reference if omitted.`}}},ROW:{s:`Returns the row number of a reference.`,p:{reference:{d:`is the cell or a single range of cells for which you want the row number; if omitted, returns the cell containing the ROW function.`}}},ROWS:{s:`Returns the number of rows in a reference or array.`,p:{array:{d:`is an array, an array formula, or a reference to a range of cells for which you want the number of rows.`}}},RTD:{s:`Retrieves the real-time data (RTD) from a program that supports COM automation.`,p:{progId:{d:`is the programmatic identifier (ProgID) of a registered COM automation add-in. Enclose the id in quotation marks.`},server:{d:`is the name of the server that provides the real-time data. If running locally us an empty string.`},topic:{d:`are 1 to 38 parameters that specify a piece of data.`}},h:`Unimplemented Connectivity`},SORT:{s:`Sorts a range or array.`,p:{array:{d:`the range or array to sort.`},sortIndex:{d:`a number indicating the row or column to sort by.`},sortOrder:{d:`a number indicating the desired sort order; 1 for ascending order (default), -1 for descending order.`},byCol:{d:`a logical value indicating the desired sort direction: FALSE to sort by row (default), TRUE to sort by column.`}}},SORTBY:{s:`Sorts a range or array based on the values in a corresponding range or array.`,p:{array:{d:`the range or array to sort.`},by:{d:`the ranges to sort on and the direction for each.`},"by.byArray":{d:`the range or array to sort on.`},"by.sortOrder":{d:`a number indicating the desired sort order; 1 for ascending order (default), -1 for descending order.`}}},TAKE:{s:`Returns rows or columns from array start or end.`,p:{array:{d:`The array from which to take rows or columns.`},rows:{d:`The number of rows to take. A negative value takes from the end of the array.`},columns:{d:`The number of columns to take. A negative value takes from the end of the array.`}}},TOCOL:{s:`Returns the array as one column.`,p:{array:{d:`The array or reference to return as a column.`},ignore:{d:`Whether to ignore certain types of values. By default, no values are ignored.`},scanByColumn:{d:`Scan the array by column. By default, the array is scanned by row.`}}},TOROW:{s:`Returns the array as one row.`,p:{array:{d:`The array or reference to return as a row.`},ignore:{d:`Whether to ignore certain types of values. By default, no values are ignored.`},scanByColumn:{d:`Scan the array by column. By default, the array is scanned by row.`}}},TRANSPOSE:{s:`Converts a vertical range of cells to a horizontal range, or vice versa.`,p:{array:{d:`is a range of cells on a worksheet or an array of values that you want to transpose.`}}},TRIMRANGE:{s:`Trims a range to the last used cell in any direction.`,p:{range:{d:`The range to be trimmed.`},rowTrimMode:{d:`Row trim direction. 0 - none, 1 - leading, 2 - trailing, 3 - both.`},colTrimMode:{d:`Column trim direction. 0 - none. 1 - leading, 2 - trailing, 3 - both.`}}},UNIQUE:{s:`Returns the unique values from a range or array.`,p:{array:{d:`the range or array from which to return unique rows or columns.`},byCol:{d:`is a logical value: compare rows against each other and return the unique rows = FALSE; compare columns against each other and return the unique columns = TRUE.`},exactlyOnce:{d:`is a logical value: return rows or columns that occur exactly once from the array = TRUE; return all distinct rows or columns from the array = FALSE.`}}},VLOOKUP:{s:`Looks for a value in the leftmost column of a table, and then returns a value in the same row from a column you specify. By default, the table must be sorted in an ascending order.`,p:{lookupValue:{d:`is the value to be found in the first column of the table, and can be a value, a reference, or a text string.`},tableArray:{d:`is a table of text, numbers, or logical values, in which data is retrieved. tableArray can be a reference to a range or a range name.`},colIndexNum:{d:`is the column number in tableArray from which the matching value should be returned. The first column of values in the table is column 1.`},rangeLookup:{d:`is a logical value: to find the closest match in the first column (sorted in ascending order) = TRUE; find an exact match = FALSE.`}}},VSTACK:{s:`Vertically stacks arrays into one array.`,p:{array:{d:`An array or reference to be stacked.`}}},WRAPCOLS:{s:`Wraps a row or column vector after a specified number of values.`,p:{vector:{d:`The vector or reference to wrap.`},wrapCount:{d:`The maximum number of values per column.`},padWith:{d:`The value with which to pad. The default is #N/A.`}}},WRAPROWS:{s:`Wraps a row or column vector after a specified number of values.`,p:{vector:{d:`The vector or reference to wrap.`},wrapCount:{d:`The maximum number of values per row.`},padWith:{d:`The value with which to pad. The default is #N/A.`}}},XLOOKUP:{s:`Searches a range or an array for a match and returns the corresponding item from a second range or array. By default, an exact match is used.`,p:{lookupValue:{d:`is the value to search for.`},lookupArray:{d:`is the array or range to search.`},returnArray:{d:`is the array or range to return.`},ifNotFound:{d:`returned if no match is found.`},matchMode:{d:`0=exact (default), -1=exact/next-smaller, 1=exact/next-larger, 2=wildcard`},searchMode:{d:`1=first→last (default), -1=last→first, 2=binary asc, -2=binary desc`}}},XMATCH:{s:`Returns the relative position of an item in an array. By default, an exact match is required.`,p:{lookupValue:{d:`is the value to search for.`},lookupArray:{d:`is the array or range to search.`},matchMode:{d:`0=exact (default), -1=exact/next-smaller, 1=exact/next-larger, 2=wildcard`},searchMode:{d:`1=first→last (default), -1=last→first, 2=binary asc, -2=binary desc`}}}},t={ImageSizing:{s:`How IMAGE sizes the picture in its cell.`,m:{"Fit to cell":{d:`Fits the picture in the cell, keeping its aspect ratio.`},"Fill cell":{d:`Fills the cell, ignoring the picture's aspect ratio.`},"Original size":{d:`Keeps the picture's own size, which may overflow the cell.`},"Custom size":{d:`Uses the height and width given.`}}},MatchType:{s:`How MATCH compares the lookup value with the values in the array.`,m:{"Less than":{d:`The largest value that is less than or equal to the lookup value. The array must be sorted in ascending order.`},"Exact match":{d:`The first value that is exactly equal to the lookup value. The array can be in any order.`},"Greater than":{d:`The smallest value that is greater than or equal to the lookup value. The array must be sorted in descending order.`}}},SortOrder:{s:`The direction SORT and SORTBY sort a key in.`,m:{Ascending:{d:`Smallest to largest.`},Descending:{d:`Largest to smallest.`}}},IgnoreValues:{s:`Which values to leave out.`,m:{"Keep all values":{d:`Keep every value, blanks and errors included.`},"Ignore blanks":{d:`Leave out blank cells.`},"Ignore errors":{d:`Leave out error values.`},"Ignore blanks and errors":{d:`Leave out blank cells and error values.`}}},MatchMode:{s:`How XLOOKUP and XMATCH match the lookup value.`,m:{"Exact match":{d:`Only an item equal to the lookup value.`},"Exact match or next smaller item":{d:`An item equal to the lookup value, or else the next smaller item.`},"Exact match or next larger item":{d:`An item equal to the lookup value, or else the next larger item.`},"Wildcard character match":{d:`The lookup value may use *, ? and ~ as wildcards.`}}},SearchMode:{s:`The order in which XLOOKUP and XMATCH search.`,m:{"Search first-to-last":{d:`Search from the first item to the last.`},"Search last-to-first":{d:`Search from the last item to the first.`},"Binary search (sorted ascending order)":{d:`A binary search of items sorted in ascending order.`},"Binary search (sorted descending order)":{d:`A binary search of items sorted in descending order.`}}}};export{e as default,t as enums};
@@ -0,0 +1,4 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./D6CzedWHXTesD55R.js","./CnXLpFE_vFrJ5Jbf.js","./DgtqX4DiBgkepVZZ.js","./ChSvXfVMLxZsP9zG.js","./HclGiUj8dZXDFmoM.js","./BMf827t1Ul65MHd5.js","./DtihumgXQ7ETaN0A.js","./CnPgk3HcIziOcskY.js","./3Ls_kOvlQseMV8Q0.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./HclGiUj8dZXDFmoM.js";import{C as t,F as n,I as r,O as i,Z as a,_ as o,d as s,f as c,g as l,k as u,m as d,o as f,r as p,t as m,u as h,w as g,y as _}from"./ChSvXfVMLxZsP9zG.js";import{t as v}from"./3Ls_kOvlQseMV8Q0.js";import{c as y,i as b,s as x}from"./DcrVJCyDwGKeil2U.js";import{D as S,Dt as C,G as w,K as T,Kt as ee,Ut as te,W as E,Yt as D,d as ne,et as re,ht as O,k as ie,m as ae,rn as oe,rt as se,t as ce,v as le,xt as ue,yt as de}from"./DuYb_otrRZZDq6-f.js";import{i as k,t as A}from"./BMf827t1Ul65MHd5.js";import{$i as fe,$t as pe,Aa as me,Ar as he,Bt as ge,Dn as _e,Ei as ve,En as ye,Er as be,Fi as j,G as xe,Gi as Se,Gt as Ce,H as M,Hn as we,Ht as N,It as Te,K as Ee,L as P,Li as De,Ln as Oe,Mr as ke,Oi as Ae,Or as je,Pn as Me,Rt as Ne,St as Pe,Ta as Fe,Tn as Ie,Ui as F,V as Le,Vi as Re,Yi as ze,_i as Be,an as Ve,ar as I,b as He,ba as Ue,bi as We,br as L,cn as Ge,ct as Ke,di as qe,dt as Je,et as Ye,gn as Xe,ha as Ze,ji as R,jr as Qe,k as $e,ki as z,lt as et,mn as tt,ot as nt,pa as rt,qr as it,r as at,sa as ot,tt as st,u as ct,un as lt,vi as B,vr as ut,wa as dt,wn as ft,xn as pt,xt as mt,zt as ht}from"./dXn1GWWjYmuLb1HF.js";var gt,_t=class extends u{constructor(e,t=50){super(t),this._transactions=e,this._floorId=e?e.getCurrentCommit(!1).getId():null,this._removeListener=e?.addListener({onCommitChange:()=>this._notifyOnStackChange()})}_undoCommits(e=this.maxStack){let t=this._transactions;if(!t)return[];let n=t.getLog(t.getCurrentCommit(!1).getId(),2**53-1),r=[];for(let t=0;t<n.length&&r.length<e;t++){let e=n[t];if(e.getId()===this._floorId||t===n.length-1)break;e.getDescription()&&r.push(e)}return r}_redoCommits(e=this.maxStack){let t=this._transactions;if(!t)return[];let n=t.getCurrentCommit(!1).getId(),r=t.getTipCommit().getId();if(r===n)return[];let i=t.getLog(r,2**53-1),a=[],o=!1;for(let e of i){if(e.getId()===n){o=!0;break}a.push(e)}if(!o)return[];a.reverse();let s=[];for(let t of a)if(t.getDescription()&&s.push(t),s.length>=e)break;return s}undo(e=1){let t=this._transactions;if(!t)return;let n=!1;try{for(let r=0;r<e;r++){let[e]=this._undoCommits(1);if(!e)break;t.revert(e.getId()),n=!0}}finally{n&&this._notifyOnStackChange()}}redo(e=1){let t=this._transactions;if(!t)return;let n=!1;try{for(let r=0;r<e;r++){let[e]=this._redoCommits(1);if(!e){r===0&&this._repeatOperation?.repeat();break}t.restore(e.getId()),n=!0}}finally{n&&this._notifyOnStackChange()}}hasUndo(){return this._undoCommits(1).length>0}hasRedo(){return this._redoCommits(1).length>0||this._repeatOperation!==null}getTopUndoDescription(){return this._undoCommits(1)[0]?.getDescription()??null}getTopRedoDescription(){return this._repeatOperation===null?this._redoCommits(1)[0]?.getDescription()??null:this._repeatOperation.description}getUndoDescriptions(){return this._undoCommits().map(e=>e.getDescription())}getRedoDescriptions(){let e=this._redoCommits().map(e=>e.getDescription());return e.length===0&&this._repeatOperation!==null&&e.push(this._repeatOperation.description),Object.freeze(e)}getUndoEntries(){return this._undoCommits().map(yt)}getRedoEntries(){let e=this._redoCommits().map(yt);return e.length===0&&this._repeatOperation!==null&&e.push({description:this._repeatOperation.description,author:null,meta:vt}),Object.freeze(e)}addUndoOperation(){throw Error(`TransactionUndoManager derives its stack from the commit log; commit a described transaction instead.`)}clear(e=!0){this._transactions&&(this._floorId=this._transactions.getCurrentCommit(!1).getId()),super.clear(e)}close(){this._removeListener?.()}},vt=Object.freeze({}),yt=e=>({description:e.getDescription(),author:e.getAuthor(),meta:e.getMeta()??vt});gt||={};var bt,V=class e{constructor(t,n={}){this._password=null,this._emitter=new b(this),this._path=t??null,this._name=n.name??null,this._format=n.format??null,this._size=n.size??null,this._lastModified=n.lastModified??null,this._canWrite=n.canWrite??e._defaultCanWrite(this._path),this._encryption=n.encryption??null}static _defaultCanWrite(e){return!!e&&!/^(https?:|data:|blob:)/i.test(e)}_cleanPath(){return this._path?this._path.split(/[?#]/)[0]:null}getName(){if(this._name!==null&&this._name!==void 0)return this._name;let e=this._cleanPath();return e&&F(e)||null}getPath(){return this._path}getFormat(){return this._format?this._format:this.getExtension()}getExtension(){let e=this._cleanPath();if(!e)return null;let t=B(e);return t?t.toLowerCase():null}getEncryption(){return this._encryption}isEncrypted(){return this._encryption!==null||this._password!==null}setPassword(e){this._password!==(e??null)&&(this._password=e??null,this._password===null&&(this._encryption=null),this._emitter.notify(`onChange`))}getPassword(){return this._password}getSize(){return this._size}getLastModified(){return this._lastModified}canWrite(){return this._canWrite}setName(e){this.update({name:e})}update(e){let t=!1;return e.lastModified!==void 0&&e.lastModified!==this._lastModified&&(this._lastModified=e.lastModified,t=!0),e.name!==void 0&&e.name!==this._name&&(this._name=e.name,t=!0),e.format!==void 0&&e.format!==this._format&&(this._format=e.format,t=!0),e.size!==void 0&&e.size!==this._size&&(this._size=e.size,t=!0),e.canWrite!==void 0&&e.canWrite!==this._canWrite&&(this._canWrite=e.canWrite,t=!0),e.encryption!==void 0&&e.encryption!==this._encryption&&(this._encryption=e.encryption,t=!0),t&&this._emitter.notify(`onChange`),this}addListeners(e,t){return this._emitter.addListeners(e,t)}get[Symbol.toStringTag](){return`[Origin]`}toString(){let e=this._cleanPath(),t=e?e.split(/[/\\]/).pop()||e:this._name??`(unbound)`,n=this._size;if(n==null)return t;if(n<1024)return`${t} ${n}B`;let r=Math.floor(Math.log(n)/Math.log(1024)),i=[`B`,`KB`,`MB`,`GB`,`TB`];return`${t} ${(n/1024**r).toFixed(2)}${i[Math.min(r,i.length-1)]}`}},H=new WeakMap,U=new Set,xt=e=>H.get(e)??null,St=()=>Array.from(U,e=>e.getOrigin()),Ct=class e{constructor(t){this._released=!1,e._assertFree(t),this._emitter=new b(this),this._origin=t,H.set(t,this),U.add(this)}getOrigin(){return this._origin}setOrigin(t){t!==this._origin&&(e._assertFree(t),this._released||(H.delete(this._origin),H.set(t,this)),this._origin=t,this._emitter.notify(`onOriginChange`))}release(){this._released||(this._released=!0,H.get(this._origin)===this&&H.delete(this._origin),U.delete(this))}addListeners(e,t){return this._emitter.addListeners(e,t)}static _assertFree(e){if(H.has(e))throw Error(`This origin already backs an open workbook; an origin backs one workbook at a time.`)}},wt=class{constructor(){this._defaultStringSourceType=`filepath`}async read(e){let t=e.options??{},r=e.source;if(typeof r==`function`&&(r=r()),r&&typeof r==`object`&&typeof r.then==`function`&&(r=await Promise.resolve(r)),r==null&&(r=await this.resolveSource(e),r==null))return null;let i=r,a=await this.fileFromHandle(r);a&&(r=a);let o=t.format,s=this._detectSourceType(r);if(!s)throw Error(`Unable to detect source type from provided input.`);let c,l,u=!1;if(s===`filepath`){let e=typeof r==`string`&&r.startsWith(`file://`)?r.slice(7):r;r=await this.filePathToFile(e),s=`file`,u=!0}switch(s){case`file`:{let e=r,n=e?.name,i=n?`${F(n)}`:``;c=await e.arrayBuffer(),l={format:o,ext:B(n),name:i,absolutePath:n,size:e.size,lastModified:e.lastModified,canWrite:!t.asCopy&&(!!a||u&&this._canWriteLocalPath())};break}case`blob`:{let e=r;c=await e.arrayBuffer(),l={format:o,size:e.size};break}case`base64`:{let e;if(r&&typeof r==`object`&&`base64`in r)e=r.base64;else if(typeof r==`string`&&r.startsWith(`data:`)){let[,t]=r.split(`,`);e=t}else e=r;c=n.base64ToArrayBuffer(e),l={format:o,size:e.length};break}case`fetch`:{let e,t,n;if(typeof r==`string`)e=r;else{if(!r||typeof r!=`object`||!(`input`in r))throw Error(`Invalid fetch source provided.`);{let i=r;e=i.input,t=i.init,n=i.timeout}}let i=n||3e4,a=new AbortController,s=setTimeout(()=>a.abort(),i),u=typeof e==`string`?e:e.toString(),d=B(u);try{let n=await fetch(e,{...t,signal:a.signal});if(clearTimeout(s),!n.ok)throw Error(`Failed to fetch: ${n.status} ${n.statusText}`);let r=await n.arrayBuffer();if(!r)throw Error(`Unable to fetched content: ${u}`);c=r,l={format:o,ext:d,name:F(u,!0),absolutePath:u}}catch(e){throw clearTimeout(s),e.name===`AbortError`?Error(`Fetch timeout after ${i}ms: ${u}`):e}break}case`buffer`:c=r,l={format:o};break;case`stream`:{let e=r.getReader(),t=[],n=0;try{for(;;){let{done:r,value:i}=await e.read();if(r)break;t.push(i),n+=i.length}}finally{e.releaseLock()}let i=new ArrayBuffer(n),a=new Uint8Array(i),s=0;for(let e of t)a.set(e,s),s+=e.length;c=i,l={format:o};break}default:throw Error(`Unsupported source type: ${s}`)}l.canWrite&&await this.findOpenOrigin(i,l)&&(l.canWrite=!1);let d=await e.decode(c,{sourceType:s,...l});return d?(await this.onWorkbookRead(d,i),d):null}async findOpenOrigin(e,t){return t.absolutePath?this.findOpenPath(t.absolutePath):null}findOpenPath(e,t){return St().find(n=>{if(n===t||!n.canWrite())return!1;let r=n.getPath();return!!r&&this.isSamePath(r,e)})??null}isSamePath(e,t){return e===t}async fileFromHandle(e){return null}async resolveSource(e){return null}async onWorkbookRead(e,t){}_canWriteLocalPath(){return!1}_detectSourceType(e){if(e&&typeof e==`object`&&`base64`in e)return`base64`;if(e&&typeof e==`object`&&`input`in e)return`fetch`;if(typeof e==`string`){if(e.startsWith(`data:`))return`base64`;if(e.startsWith(`http://`)||e.startsWith(`https://`))return`fetch`;if(e.startsWith(`file://`))return`filepath`;let t=this._defaultStringSourceType;return e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`/`)||/^[a-zA-Z]:[/\\]/.test(e),t}if(typeof File<`u`&&e instanceof File)return`file`;if(typeof Blob<`u`&&e instanceof Blob)return`blob`;let t=e instanceof ArrayBuffer||Object.prototype.toString.call(e)===`[object ArrayBuffer]`,r=ArrayBuffer.isView(e),i=n.isNodeBuffer(e);return t||r||i?`buffer`:typeof ReadableStream<`u`&&e instanceof ReadableStream||Object.prototype.toString.call(e)===`[object ReadableStream]`||e&&typeof e.getReader==`function`&&e.locked!==void 0?`stream`:null}},Tt=class extends wt{constructor(e,t){super(),this._getWriteFormats=e,this._getReadFormats=t,this._defaultStringSourceType=`fetch`,this._handleCache=new WeakMap}async fileFromHandle(e){return W(e)?e.getFile():null}async resolveSource(){let e=await this._getReadFormats?.()??[];if(typeof globalThis.showOpenFilePicker==`function`)try{let t=function(e){let t=Et(e);if(t.length<=1)return t;let n=new Set,r={};for(let e of t)for(let[t,i]of Object.entries(e.accept))for(let e of i)n.has(e)||(n.add(e),(r[t]??=[]).push(e));return[{description:`All Supported`,accept:r},...t]}(e),[n]=await globalThis.showOpenFilePicker(t.length?{types:t}:void 0);return n}catch(e){if(e?.name===`AbortError`)return null;throw e}let n=e.flatMap(e=>e.exts.map(e=>`.`+e)).join(`, `);return t.openFileDialog(n)}async findOpenOrigin(e){return W(e)?this._findOpenHandle(e):null}async _findOpenHandle(e,t){for(let n of St()){if(n===t||!n.canWrite())continue;let r=this._handleCache.get(n);if(r&&typeof r.isSameEntry==`function`&&await r.isSameEntry(e))return n}return null}async onWorkbookRead(e,t){if(!W(t))return;let n=e.getOrigin?.();n?.canWrite()&&this._handleCache.set(n,t)}async filePathToFile(e){throw Error(`Cannot read local file path '${e}' in browser environment. Use a file input element or fetch for remote URLs.`)}async write(e){let{origin:t,suggestedName:n,format:r,encode:i,prompt:a}=e,o=[r,...(await this._getWriteFormats()).filter(e=>e.key!==r.key)],s=typeof globalThis.showSaveFilePicker==`function`,c=!a&&t.canWrite()?this._handleCache.get(t):void 0;if(s)try{if(c){let e=await async function(e){try{if(typeof e.queryPermission!=`function`)return`granted`;let t={mode:`readwrite`};return await e.queryPermission(t)===`granted`||await e.requestPermission(t)===`granted`?`granted`:`denied`}catch{return`unavailable`}}(c);if(e===`denied`)return null;e!==`granted`&&(c=void 0)}let a=!!c;if(!a){c=await globalThis.showSaveFilePicker({suggestedName:n,types:Et(o)});let t=await this._findOpenHandle(c,e.workbook?.getOrigin?.());if(t)throw new h(_(`error.io.openElsewhere`,{name:t.getName()??c.name??``}))}let s=Ot(c.name??n),l=o.find(e=>e.exts.some(e=>e.toLowerCase()===s))??r,u=a?t:new V(c.name??n,{format:l.key,canWrite:!0}),d=await i(l.key,u);if(!d)return null;let f=new Blob([Dt(d)],{type:l.mimeType||`application/octet-stream`}),p=await c.createWritable();if(await p.write(f),await p.close(),this._handleCache.set(u,c),u instanceof V){let e=await Promise.resolve(c.getFile?.()).then(e=>e?.lastModified??null,()=>null);u.update({size:f.size,lastModified:e})}return u}catch(e){if(e?.name===`AbortError`)return null;if(e instanceof h)throw e}let l=t.getPath(),u=l?l.split(/[/\\]/).pop():null,d=u&&r.exts.some(e=>e.toLowerCase()===Ot(u))?u:n,f=l!==d||t.canWrite()?new V(d,{format:r.key,canWrite:!1}):t,p=await i(r.key,f);if(!p)return null;let m=new Blob([Dt(p)],{type:r.mimeType||`application/octet-stream`});return function(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.style.display=`none`,r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}(m,d),f instanceof V&&f.update({size:m.size}),f}};function Et(e){return e.map(e=>{let t=e.mimeType&&e.mimeType.includes(`/`)?e.mimeType:`application/octet-stream`;return{description:e.description??e.key,accept:{[t]:e.exts.map(e=>`.`+e)}}})}function W(e){return!!e&&e.kind===`file`&&typeof e.getFile==`function`}function Dt(e){if(typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer){let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(new Uint8Array(e)),t}return e}function Ot(e){let t=e.lastIndexOf(`.`);return t>=0?e.slice(t+1).toLowerCase():``}(bt||={}).SortOn={Value:`value`,FillColor:`fillColor`,FontColor:`fontColor`,Icon:`icon`};var kt={TopLeft:`tl`,Top:`t`,TopRight:`tr`,Left:`l`,Center:`ctr`,Right:`r`,BottomLeft:`bl`,Bottom:`b`,BottomRight:`br`},G=ce.BuiltInName;G.Normal,a(`style.builtin.normal`),G.Comma,a(`style.builtin.comma`),G.Currency,a(`style.builtin.currency`),G.Percent,a(`style.builtin.percent`),G.Comma0,a(`style.builtin.comma0`),G.Currency0,a(`style.builtin.currency0`),G.Hyperlink,a(`style.builtin.hyperlink`),G.FollowedHyperlink,a(`style.builtin.followedHyperlink`),G.Note,a(`style.builtin.note`),G.WarningText,a(`style.builtin.warningText`),G.Title,a(`style.builtin.title`),G.Input,a(`style.builtin.input`),G.Output,a(`style.builtin.output`),G.Calculation,a(`style.builtin.calculation`),G.CheckCell,a(`style.builtin.checkCell`),G.LinkedCell,a(`style.builtin.linkedCell`),G.Total,a(`style.builtin.total`),G.Good,a(`style.builtin.good`),G.Bad,a(`style.builtin.bad`),G.Neutral,a(`style.builtin.neutral`),G.ExplanatoryText,a(`style.builtin.explanatoryText`),a(`style.builtin.heading`),a(`style.builtin.accent`),a(`style.builtin.accentTint`);var At,jt,Mt,Nt,Pt=(e,t,n,r,i)=>{let a=JSON.parse(JSON.stringify(e.definition));a.adjs||=[];let o=``,s=0,c=0;t>0?(c=t,s=100-t,o=_(`op.lighterPercent`,{percent:t})):t<0&&(s=100+t,o=_(`op.darkerPercent`,{percent:-t})),s&&a.adjs.push({[le.AdjustmentType.LumMod]:s}),c&&a.adjs.push({[le.AdjustmentType.LumOff]:c});let l=new ee({val:a.val,adjs:a.adjs},n),u=l.toString();r?.set(u,l);let d=l.toRGBA().toString();return i?.set(d,l),{description:e.description+`, `+o,definition:a}};function Ft(e,t,n,r){let i=[];for(let a=0;a<e.length;a++){let o=[];i.push(o);let s=i=>{for(let s=0;s<i.length;s++)o.push(Pt(e[a],i[s],t,n,r))},c=new ee({val:e[a].definition.val,adjs:e[a].definition.adjs},t).toHSLA().lum;s(c===0?[50,35,25,15,5]:c===100?[-5,-15,-25,-35,-50]:c<=20?[90,75,50,25,10]:c>=80?[-10,-25,-50,-75,-90]:[80,60,40,-25,-50])}return i}(At||={}).buildPalette=Ft,jt||={},Mt||={},Nt||={};var It;function Lt(e){return he.peek()?.readFormulaLiteral(e)}function Rt(e,t){let n=zt(e),r=zt(t);return n===r?e===t?0:typeof e==`number`&&typeof t==`number`?e<t?-1:1:typeof e==`string`&&typeof t==`string`?e<t?-1:+(e>t):typeof e==`boolean`?e?1:-1:k.isError(e)&&k.isError(t)?e.getCode()-t.getCode():0:n-r}function zt(e){if(e===null)return 0;switch(typeof e){case`number`:return 1;case`string`:return 2;case`boolean`:return 3;default:return k.isError(e)?4:5}}(function(e){function t(e){return he.peek()?.getFunctionDeclaration(e)??null}e.get=t,e.has=function(e){return t(e)!==null}})(It||={});var Bt=class{constructor(e){this._children=e}getCoords(){let e=this._children,t=null;for(let n=0;n<e.length;n++){let r=e[n].getCoords();r&&(t=t?{rowStart:Math.min(t.rowStart,r.rowStart),colStart:Math.min(t.colStart,r.colStart),rowEnd:Math.max(t.rowEnd,r.rowEnd),colEnd:Math.max(t.colEnd,r.colEnd)}:r)}return t}getSize(){let e=this._children,t=e.length,n=0;for(let r=0;r<t;r++)n+=e[r].getSize();return n}getCount(){let e=this._children,t=e.length,n=0;for(let r=0;r<t;r++)n+=e[r].getCount();return n}getAggregates(e){if(e)return this._mergeAggregates(e);let t=this._aggregates;return t||(t=this._mergeAggregates(),this._aggregates=t),t}getSnappedSum(e){let t=e??this.getAggregates().sum??0,n=this._children;for(let e=n.length-1;e>=0;e--)if(n[e].getAggregates().numericalCount>0)return n[e].getSnappedSum(t);return t}getSortedNumbers(){let e=this._sortedNumbers;if(!e){let t=this._children,n=t.length,r=[];for(let e=0;e<n;e++){let n=t[e].getSortedNumbers().getValues();n.length>0&&r.push(n)}e=new be(function(e){let t=e.length;if(t===0)return Vt;if(t===1)return e[0];let n=e[0];for(let r=1;r<t;r++)n=Ht(n,e[r]);return Object.freeze(n)}(r)),this._sortedNumbers=e}return e}getRanked(e){return ve(this._children,e,Rt)[Symbol.iterator]()}getFrequencies(e){if(e)return this._mergeFrequencies(e);let t=this._frequencies;return t||(t=this._mergeFrequencies(),this._frequencies=t),t}_mergeFrequencies(e){let t=e?.keyFn??qe,n=e?.limit,r=new Map,i=this._children,a=i.length,o=0,s=0,c=!1;for(let l=0;l<a;l++){let a=i[l].getFrequencies(e);o+=a.getVisitedCount(),s+=a.getTotalCount(),c||=a.isTruncated();let u=a.getValueCounts(),d=u.next();for(;!d.done;){let[e,i]=d.value,a=t(e),o=r.get(a);o?o.count+=i:n===void 0||r.size<n?r.set(a,{value:e,count:i}):c=!0,d=u.next()}}return Ae.fromGroups(r,t,e,Rt,o,s,c)}getTypedCounts(e){let t=this._typedCounts;if(!t){let e={[A.Number]:0,[A.String]:0,[A.Boolean]:0,[A.Error]:0,[A.RichData]:0,[A.Null]:0},n=this._children,r=n.length;for(let t=0;t<r;t++){let r=n[t].getTypedCounts();e[A.Number]+=r[A.Number]??0,e[A.String]+=r[A.String]??0,e[A.Boolean]+=r[A.Boolean]??0,e[A.Error]+=r[A.Error]??0,e[A.RichData]+=r[A.RichData]??0,e[A.Null]+=r[A.Null]??0}t=Object.freeze(e),this._typedCounts=t}if(e===void 0)return t;let n={},r=e.length;for(let i=0;i<r;i++)n[e[i]]=t[e[i]]??0;return n}get isIRangeStats(){return!0}_mergeAggregates(e){let t=this._children,n=t.length,r={count:0,min:void 0,max:void 0,numericalCount:0,sum:0,sumSq:0,typed:{[A.Number]:0,[A.String]:0,[A.Boolean]:0,[A.Error]:0,[A.RichData]:0,[A.Null]:0}};for(let i=0;i<n;i++){let n=t[i].getAggregates(e);r.count+=n.count;let a=n.numericalCount;a<=0||(r.numericalCount+=a,r.sum+=n.sum,r.sumSq+=n.varP*a+n.sum*n.sum/a,(r.min===void 0||n.min<r.min)&&(r.min=n.min),(r.max===void 0||n.max>r.max)&&(r.max=n.max))}return De(r)}},Vt=Object.freeze([]);function Ht(e,t){let n=e.length,r=t.length,i=Array(n+r),a=0,o=0,s=0;for(;a<n&&o<r;)i[s++]=e[a]<=t[o]?e[a++]:t[o++];for(;a<n;)i[s++]=e[a++];for(;o<r;)i[s++]=t[o++];return i}var K,q=class e{constructor(e,t){this._source=null,this._fresh=new WeakSet,this._unwatch=null,this.cacheId=e,this._store=t,this._fresh.add(t.get())}static dataOf(t,n){let r=e.modelOf(t);return{part:j.fromJSON(t.part,n),model:r,partFormats:!r&&t.partFormats?t.partFormats:null,source:!r&&t.source?t.source:null}}static modelOf(e){if(!e.fields)return null;let{cacheId:t,part:n,partFormats:r,...i}=e;return i}get part(){return this._store.get().part}get _model(){return this._store.get().model}_getData(){return this._store.get()}_replace(e){let t={part:null,model:e,partFormats:null,source:null};this._store.set(t),this._fresh.add(t)}_restate(e){let t=this._fresh.has(this._store.get()),n={part:null,model:e,partFormats:null,source:null};this._store.set(n),t&&this._fresh.add(n)}_hold(e,t){if(this._source)return;let{ref:n,sheet:r,name:i}=this._sourceAsRead()??{},a=null,o=null;if(n&&r&&!n.includes(`#REF!`)?(a=e(r),o=`${nt(r)}!${xe(n)}`):!i||n||r?i&&r&&!n&&(a=e(r),o=`${nt(r)}!${i}`):(a=t(i),o=`${i}[#All]`),!a||!o)return;let s={formula:null,wired:null,last:null};this._source=s,a(o,e=>{s.formula=e.formula;let t=e.formula.getExpression();s.wired??=t,e.formula.hasRefError()||(s.last=t)})}_sourceAsRead(){let e=this._model?.source??this._store.get().source;return e?{ref:e.ref??null,sheet:e.sheet??null,name:e.name??null}:null}_watchSource(e,t,n){if(this._unwatch)return;let{ref:r,sheet:i,name:a}=this._sourceAsRead()??{},o=null,s=null;if(r&&i&&!r.includes(`#REF!`)?s=e(i,r):a&&!r&&(o=i?null:t(a),s=o?.getRange()??n(a,i??null)),!s||s.isInvalid())return;let c=e=>`${e.getRowCount()}x${e.getColumnCount()}`,l=c(s),u=[],d=()=>{this._fresh=new WeakSet},f=e=>{let t=l;return l=c(e),l!==t};u.push(s.addListener(e=>{if(e.getTrigger()===`data`)return void(e.getCommit()!==null&&d());let t=e.getSource();(t.isInvalid()||f(t))&&d()},{transactional:!1})),o&&u.push(s.getWorksheet().addListeners({onTablesChange:()=>{!o.isDeleted()&&f(o.getRange())&&d()}})),this._unwatch=()=>{this._unwatch=null;for(let e of u)e()}}_isStale(){return!this._fresh.has(this._store.get())}_moved(){let e=this._source;if(!e?.formula)return null;let t=e.formula.hasRefError()?e.last:e.formula.getExpression();if(t===null||t===e.wired)return null;let n=this._sourceAsRead();if(n?.name&&n.sheet){let e=I(t)?.sheet;return e?{sheet:e}:null}let r=/^(.+)\[#All\]$/.exec(t)?.[1];if(r)return{name:r};let i=I(t);return i?{name:null,ref:Ge(i.reference),sheet:i.sheet}:{ref:Ge(t)}}_getSource(){let e=this._sourceAsRead();if(!e)return null;let t={};e.ref&&(t.ref=e.ref),e.sheet&&(t.sheet=e.sheet),e.name&&(t.name=e.name);let n=this._moved();if(n)for(let e of[`ref`,`sheet`,`name`]){let r=n[e];r===null?delete t[e]:r!==void 0&&(t[e]=r)}return t}toJSON(e){let t={cacheId:this.cacheId},n=j.toJSON(this.part,e);if(n){t.part=n;let e=this._store.get().partFormats;e&&(t.partFormats=e)}let r=this._model;r&&Object.assign(t,r);let i=this._getSource();return i&&(t.source=i),t}},Ut=class{constructor(e,t){this._deleted=!1,this._json={...e},this._deleteFromCollection=t??null}getId(){return this._json.id}getDisplayName(){return this._json.displayName}getUserId(){return this._json.userId??null}getProviderId(){return this._json.providerId??null}delete(){this._deleted||(this._deleted=!0,this._deleteFromCollection?.(this))}isDeleted(){return this._deleted}toJSON(){return{...this._json}}get[Symbol.toStringTag](){return`[Person]`}toString(){return`Person:${this.getDisplayName()}`}get isIPerson(){return!0}},Wt=class extends we{constructor(e){super(),this._byId=new Map,this._byDisplayName=new Map,this._items=null,this._current=null,e&&this.fromJSON(e)}_getItems(){return this._items??=Array.from(this._byId.values())}getCount(){return this._byId.size}add(e){let t=typeof e==`string`?{displayName:e}:e,n=t.id;if(n){let e=this._byId.get(n);if(e)return e}let i=t.displayName??``;if(!n){let e=this._byDisplayName.get(i);if(e)return e}let a=new Ut({...t,displayName:i,id:n??r.uuidV4().toUpperCase()},e=>this._remove(e));return this._byId.set(a.getId(),a),i&&!this._byDisplayName.has(i)&&this._byDisplayName.set(i,a),this._items=null,this._notifyCollectionChange(),a}getById(e){return typeof e==`string`?this._byId.get(e)??null:null}getByDisplayName(e){return typeof e==`string`?this._byDisplayName.get(e)??null:null}getCurrent(){return this._current??=this.add(`Author`)}setCurrent(e){if(e!==null){if(typeof e==`object`&&e.isIPerson){let t=e;this._current=this.getById(t.getId())??this.add(t.toJSON());return}this._current=this.add(e)}else this._current=null}_remove(e){this._byId.get(e.getId())===e&&(this._byId.delete(e.getId()),this._byDisplayName.get(e.getDisplayName())===e&&this._byDisplayName.delete(e.getDisplayName()),this._current===e&&(this._current=null),this._items=null,this._notifyCollectionChange())}toJSON(){return this._byId.size===0?null:this._getItems().map(e=>e.toJSON())}fromJSON(e){if(!e)return;let t=e.length;for(let n=0;n<t;n++){let t=e[n];t&&typeof t.id==`string`&&this.add(t)}}get isIPersonCollection(){return!0}},Gt=(e,t)=>{let n=[0];for(let t=0;t<e.length;t++)e[t]===`
3
+ `&&n.push(t+1);let r=t.map(e=>` ${(e=>{let t=0,r=n.length-1;for(;t<r;){let i=t+r+1>>1;n[i]<=e?t=i:r=i-1}return`${t+1}:${e-n[t]+1}`})(e.start)} ${e.code}: ${e.message}`),i=t.length;return`Script has ${i} compile error${i===1?``:`s`}:\n${r.join(`
4
+ `)}`},Kt=class{constructor(e){this._options=e,this._emitter=new b(this),this._initState()}_initState(){}getModules(){return this._modules}_builtInNames(){try{let e=this._options.getBuiltInFunctions?.();if(!e)return r.EmptyArray;let t=[];for(let n of e.getItems({includeHidden:!0}))n.isBuiltIn()&&t.push(n.getName());return t}catch{return r.EmptyArray}}async createModule(t){let n=await(await e(async()=>{let{ScriptCompiler:e}=await import(`./D6CzedWHXTesD55R.js`);return{ScriptCompiler:e}},__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url)).ScriptCompiler.compile({builtInNames:this._builtInNames(),minify:!0,...t});return n.module?await z(ye.DEFAULT_MODULE,n.module,t?.declarationsOnly??!1,n.diagnostics):null}addModule(e,t,n){this._modules.add(e,t,n)}async addModuleFromJSON(e,t,n){let r=await z(e,t);return this.addModule(e,r,n),r}async executeMacro(e,t,n){await R.assertUsable(`scripts`);let r=this._modules.getItems({name:t}),i=r.length;for(let t=0;t<i;t++){let i=r[t].getFunctions().getByName(e);if(i)return i.execute(this._options.workbook,{applyResult:!0,...n})}throw Error(`No macro ${e} found.`)}async run(e,t){try{await R.assertUsable(`scripts`);let n=typeof e==`string`?await this.createModule({source:e}):await z(ye.DEFAULT_MODULE,e),r=typeof e==`string`?e:e?.source??``;return await this._runModule(n,r,t)}catch(e){return{ok:!1,error:e}}}async _runModule(e,t,n){let r=this._options?.workbook;if(!e)return{ok:!1,error:Error(`The script did not compile to a module.`)};let i=e.getDiagnostics(),a=i.filter(e=>e.severity===`error`);if(a.length>0){let e=Error(Gt(t,a));return e.diagnostics=a,{ok:!1,error:e,diagnostics:i}}let o=e.getFunctions(),s=o.getItems({type:`autoRun`,includeHidden:!0})[0]??o.getItems({type:`macro`,includeHidden:!0})[0]??null;if(!s)return{ok:!1,error:Error("The script has no runnable entry. Export a default function taking the script context, e.g. `export default function run(ctx: IScript.ScriptContext) { ... }` (the workbook is `ctx.wb`; a macro may instead take its target first, e.g. `(sheet: IWorksheet, ctx)`).")};let c=await s.execute(r,n);return{ok:!0,result:c?.results,commitId:c?.commitId,diagnostics:i}}_searchable(e){let t=this._modules;return t&&t.getCount()!==0?(e?t.getItems({name:e}):t.getItems()).map(e=>e.getFunctions()):r.EmptyArray}async searchFunctions(e){await this._emitter.notify(`onBeforeSearch`,{async:!0});let t=this._searchable(e?.moduleName);if(t.length===0)return r.EmptyArray;if(t.length===1)return t[0].search(e);let n=e?.limit,i=n===void 0?e:{...e,limit:void 0},a,o=new Set;for(let e=0;e<t.length;e++){let n=await t[e].search(i);if(n.length!==0){a||=[];for(let e=0;e<n.length;e++){let t=n[e],r=t.getName().toUpperCase();o.has(r)||(o.add(r),a.push(t))}}}if(!a||a.length===0)return r.EmptyArray;let s=e?.text?e.text.trim().toUpperCase():null;return s?We(a,s):a.sort((e,t)=>{let n=e.getName().toUpperCase(),r=t.getName().toUpperCase();return n<r?-1:+(n>r)}),n!==void 0&&a.length>n?a.slice(0,n):a}async start(){return this._startPromise||(this._startPromise=this._doStart(),this._startPromise.catch(()=>{this._startPromise=void 0})),this._startPromise}_load(){return this._loadPromise||(this._loadPromise=this._doLoad(),this._loadPromise.catch(()=>{this._loadPromise=void 0})),this._loadPromise}async _doStart(){await this._load();let e=this._options?.workbook,t=this._modules.getItems(),n=t.length;for(let r=0;r<n;r++){let n=t[r];try{let t=n.getFunctions().getItems({type:`autoRun`,includeHidden:!0}),r=t.length;for(let n=0;n<r;n++)await t[n].execute(e)}catch(e){m.error(`Error executing autoRun script:`,e)}}}async _doLoad(){let e=this._options?.workbook,t=this._options?.json,n={};if(t){let r=Object.keys(t);for(let i=0;i<r.length;i++){let a=r[i],o=t[a];try{n[a]=await z(a,o,!1,[],o?.scope===`workbook`?e:null)}catch(e){m.error(`Could not load script '${a}'; it will be unavailable.`,e)}}}let r=this,i=new He({transactions:this._options?.transactions,initial:n,isReadOnly:()=>r.isReadOnly(),onRemove:(e,t)=>{r._options?.onRemove?.(e,t)},onAdd:(e,t)=>{r._emitter.notify(`onChange`),r._options?.onAdd?.(e,t)}});this._modules=i}addListeners(e,t){return this._emitter.addListeners(e,t)}isReadOnly(){return this._options.workbook?._isStructureProtected?.()??!1}toJSON(){this._emitter.notify(`onBeforeSave`);let e=this._modules;if(!e)throw Error(`Scripts is initializing.`);return e.toJSON()}get isIScript(){return!0}},qt=/^([a-z][a-z0-9+.-]*):/i,Jt=e=>{let t=e.toLowerCase();return t.endsWith(`:`)?t:t+`:`},Yt=async(e,t)=>{try{return await globalThis.fetch(e,t)}catch(n){throw n instanceof TypeError&&await(async(e,t)=>{let n=globalThis.location;if(!n||t?.method&&t.method.toUpperCase()!==`GET`)return!1;let r=new AbortController,i=setTimeout(()=>r.abort(),5e3);try{return new URL(e,n.href).origin!==n.origin&&(await globalThis.fetch(e,{mode:`no-cors`,credentials:`omit`,signal:r.signal}),!0)}catch{return!1}finally{clearTimeout(i),r.abort()}})(e,t)?new k.Blocked(`This site is restricted: it doesn't allow web apps to read its data, so the browser blocked the request for security.`,{cause:n}):n}},Xt=class{constructor(){this._handlers=new Map([[`http:`,Yt],[`https:`,Yt]])}fetch(e,t){let n=qt.exec(e)?.[1],r=this._handlers.get(n?Jt(n):`https:`);if(!r)return Promise.reject(TypeError(`No fetcher serves '${n}:'.`));try{return r(e,t)}catch(e){return Promise.reject(e)}}register(e,t){let n=Jt(e),r=this._handlers.get(n);return this._handlers.set(n,t),()=>{this._handlers.get(n)===t&&(r?this._handlers.set(n,r):this._handlers.delete(n))}}get isIFetcher(){return!0}},Zt=new Set([101,103,204,205,304]),J=e=>new Response(Zt.has(e.status)?null:e.body,{status:e.status,statusText:e.statusText,headers:e.headers}),Qt=class{constructor(e,t){this._kept=new Map,this._cached=new Map,this._inFlight=new Map,this._resources=e,this._fetcher=t}getFetcher(){return this._fetcher}async fetch(e,t){if((e=>!e||(!e.method||e.method.toUpperCase()===`GET`)&&!e.body)(t)&&t?.cache!==`reload`){let n=this._kept.get(e)??this._findHeld(e);if(n&&!n.isClosed())return this._fromKept(n);let r=this._cached.get(e);if(r)return J(r);let i=this._inFlight.get(e);return i||(i=this._request(e,{...t,signal:void 0}).finally(()=>{this._inFlight.delete(e)}),this._inFlight.set(e,i)),J(await((e,t)=>t?t.aborted?Promise.reject(t.reason):new Promise((n,r)=>{let i=()=>r(t.reason);t.addEventListener(`abort`,i,{once:!0}),e.then(n,r).finally(()=>t.removeEventListener(`abort`,i))}):e)(i,t?.signal))}return J(await this._request(e,t))}adopt(e){for(let t of e){let e=t.getFetchedFrom();e&&!t.isClosed()&&this.keep(e,t)}}keep(e,t){let n=this._kept.get(e);n!==t&&(t.addReference(this),this._kept.set(e,t),n&&!n.isClosed()&&n.deleteReference(this))}_findHeld(e){for(let t of this._resources.getItems())if(t.getFetchedFrom()===e&&!t.isClosed())return this.keep(e,t),t;return null}async _fromKept(e){let[t,n]=await Promise.all([e.toBuffer(),e.getType()]);return J({status:200,statusText:`OK`,headers:n?[[`content-type`,n.mime]]:[],body:t})}async _request(e,t){let n=await this._fetcher.fetch(e,t),r=Zt.has(n.status)?null:await n.arrayBuffer(),i=[];n.headers.forEach((e,t)=>{i.push([t,e])});let a={status:n.status,statusText:n.statusText,headers:i,body:r};if(n.ok&&r&&r.byteLength>0){let t=await new mt({source:{buffer:r}}).getType();t?.mime.startsWith(`image/`)?(a.headers=i.filter(([e])=>e.toLowerCase()!==`content-type`),a.headers.push([`content-type`,t.mime])):this._cached.set(e,a)}return a}},$t=class{constructor(e,t,n,r){this._mergedReading=[],this._colsReading=[],this._rowsReading=[],this._styles=n,this._topLeft=t??o.EmptyCell,this._sheet=new Ue({runtime:e,styles:this._styles,calcOnLoad:`none`,container:{getName:()=>r,getIndex:()=>1}}),this._builder=this._sheet.getEntireRange().createSparseBuilder()}applyCSSStyle(e,t){let n=!1;e.style||(e.style={},n=!0);let r=e.style,i={...t};if(t.msoIgnore){let e=t.msoIgnore.split(`,`),n=Object.keys(i);for(let t=0;t<n.length;t++){let r=n[t];e.includes(r)&&delete i[r]}}let a=oe(i.fontFamily);r.font={},a&&(r.font.family=a.family,r.font.fallbacks=a.fallbacks,r.font.size=a.size),r.font.size=i.fontSize,r.font.weight=i.fontWeight,r.font.style=i.fontStyle,r.font.color=i.color;let o=w(i.textDecoration);r.font.underline=o.underline,r.font.strike=o.strike?S.StrikeStyle.Single:S.StrikeStyle.None,i.textUnderlineStyle&&(r.font.underline=ae(i.textUnderlineStyle)),r.alignment={},i?.textAlign&&(r.alignment.horizontal=te(i.textAlign)),i?.textAlign&&!r.alignment.horizontal&&i?.textAlign!==`general`&&(i.textAlign===`center-across`?r.alignment.horizontal=O.HorizontalAlignment.CenterContinuous:i.textAlign===`fill`?r.alignment.horizontal=O.HorizontalAlignment.Fill:i.textAlign===`121`||i.textAlign===`010`?(r.alignment.horizontal=O.HorizontalAlignment.Distributed,r.alignment.justifyLastLine=i.textAlign===`121`):console.warn(`unknown text-align`,i.textAlign)),i.verticalAlign&&(i.verticalAlign.toLowerCase()===`super`?r.font.baseline=E.Baseline.Superscript:i.verticalAlign.toLowerCase()===`sub`?r.font.baseline=E.Baseline.Subscript:r.alignment.vertical=re(i.verticalAlign),r.alignment.vertical||(i.verticalAlign===`121`?r.alignment.vertical=O.VerticalAlignment.Distributed:console.warn(`unknown vertical-align`,i.verticalAlign))),i.msoCharIndentCount&&(r.alignment.indent=i.msoCharIndentCount),i.whiteSpace&&(r.alignment.overflow=i.whiteSpace===`no-wrap`||i.whiteSpace===`nowrap`?O.Overflow.Visible:O.Overflow.Wrap),i.msoTextControl===`shrinktofit`&&(r.alignment.overflow=O.Overflow.Shrink);let s=null;if(i.background?s=i.background:i.backgroundColor&&(s=i.backgroundColor),s&&(r.fill={color:s}),i.msoPattern){let e=ue(i.msoPattern);e&&(e.patternType===T.BuiltInSheetPattern.Solid?r.fill={color:e.foreground}:e.patternType!==T.BuiltInSheetPattern.None&&(s&&(e.background=s),r.fill=e))}i.layoutFlow===`vertical`||i.layoutFlow===`vertical-ideographic`?r.alignment.stacked=!0:i.msoRotate!==void 0&&(r.alignment.rotation=se(i.msoRotate));let c=(e,t)=>{e&&(r.borders||={},r.borders[e]=t)};i.border&&i.border!==`none`&&(c(`top`,i.border),c(`left`,i.border),c(`right`,i.border),c(`bottom`,i.border)),i.borderTop&&c(`top`,i.borderTop),i.borderLeft&&c(`left`,i.borderLeft),i.borderRight&&c(`right`,i.borderRight),i.borderBottom&&c(`bottom`,i.borderBottom),i.msoDiagonalUp&&c(`diagonalUp`,i.msoDiagonalUp),i.msoDiagonalDown&&c(`diagonalDown`,i.msoDiagonalDown);let l=r.numberFormat;i.msoNumberFormat&&(l=C(i.msoNumberFormat),l.includes(`\\`)?l=null:l===`Fixed`?l=D.Styles.lookupStyle(r.numberFormat).formatType===D.Type.Number?null:D.Type.Number:l===`Percent`&&(l=D.Styles.lookupStyle(r.numberFormat).formatType===D.Type.Percentage?null:D.Type.Percentage)),l&&(r.numberFormat=l),e.style=this._styles.normalize(r),n&&Object.keys(e.style).length===0&&delete e.style}onCell(e,t,n,r,i){let a=r(i),s={value:t===void 0?n??``:t};if(typeof s.value==`string`&&s.value.length===0&&(s.value=void 0),a&&this.applyCSSStyle(s,a),typeof s.value==`string`&&/^#+$/.test(s.value)){let e=s.style?.numberFormat;e&&(ne(e)||ie(e))&&(s.value=k.BuiltIn.Num)}if(i?.tagName.toUpperCase()===`TD`){let e=s.style,t=e?.font??{};(i.querySelectorAll(`s`).length>0||i.querySelectorAll(`strike`).length>0)&&(t.strike=S.StrikeStyle.Single),i.querySelectorAll(`sub`).length>0&&(t.baseline=E.Baseline.Subscript),i.querySelectorAll(`sup`).length>0&&(t.baseline=E.Baseline.Superscript),(i.querySelectorAll(`b`).length>0||i.querySelectorAll(`strong`).length>0)&&(t.weight=700),i.querySelectorAll(`i`).length>0&&(t.style=S.Style.Italic),i.querySelectorAll(`u`).length>0&&(t.underline=S.UnderlineStyle.Single),Object.keys(t).length>0&&(e||(e={},s.style=e),e.font||(e.font=t));let n=i.querySelectorAll(`a`);if(n.length>0){let e=n[0].getAttribute(`href`);e&&(s.hyperlink=e)}}if(!o.isSingleCell(e)){let t={rowStart:this._topLeft.rowIndex+e.rowStart,colStart:this._topLeft.colIndex+e.colStart,rowEnd:this._topLeft.rowIndex+e.rowEnd,colEnd:this._topLeft.colIndex+e.colEnd};this._mergedReading.push(t)}if(s.value===void 0&&!s.style&&Object.keys(s).length<=1)return;let c=this._builder,l=this._topLeft;if(c.pushAt(l.rowIndex+e.rowStart,l.colIndex+e.colStart,s),!o.isSingleCell(e)&&a.msoIgnore){if(a.msoIgnore.includes(`colspan`)){let t={};a&&this.applyCSSStyle(t,a);let n=e.colEnd-e.colStart,r=l.rowIndex+e.rowStart;for(let i=1;i<=n;i++)c.pushAt(r,l.colIndex+e.colStart+i,t);e={...e,colEnd:e.colStart}}a.msoIgnore.includes(`rowspan`)&&(e={...e,rowEnd:e.rowStart})}}onNoTable(e,t,n){this.onCell({rowStart:this._topLeft.rowIndex,colStart:this._topLeft.colIndex,rowEnd:this._topLeft.rowIndex,colEnd:this._topLeft.colIndex},e,null,t,n)}onRowStart(e,t,n,r){let i=n(r);if(i.msoHeightSource!==`userset`||!r)return;let a=r.getAttribute(`height`)??i.height,o=null;if(a&&(o=de(a,this._styles.getNormal().getFont().getSize(),`px`)),o===null)for(let e=0;e<r.cells.length;e++){let t=r.cells[e],i=t.getAttribute(`height`)??n(t).height,a=de(i,this._styles.getNormal().getFont().getSize(),`px`);a!==null&&(o=Math.max(a,o??0))}o!==null&&this._rowsReading.push({address:{min:this._topLeft.rowIndex+e,max:this._topLeft.rowIndex+e+t-1},update:{size:o*S.getDeviceScale()}})}onColumn(e,t,n,r){let i=n(r);if(i.msoWidthSource!==`userset`||!r)return;let a=r.getAttribute(`width`)??i.width,o=null;a&&(o=de(a,this._styles.getNormal().getFont().getSize(),`px`)),o!==null&&this._colsReading.push({address:{min:this._topLeft.colIndex+e,max:this._topLeft.colIndex+e+t-1},update:{size:o*S.getDeviceScale()}})}onDone(){this._colsReading.length>0&&this._sheet.getColumnHeaders().updateHeaderPairs(this._colsReading),this._rowsReading.length>0&&this._sheet.getRowHeaders().updateHeaderPairs(this._rowsReading),this._sheet.doBatch(()=>{this._builder.apply()}),this._mergedReading.length>0&&this._sheet.getRanges(this._mergedReading).merge()}sheet(){return this._sheet}},en=class{constructor(e){if(!e)throw new s(`snapshot is required.`);this._snapshot=e}getItemType(){return`range`}getItem(){return this._snapshot}editMode(){return this._snapshot?.getMarkOptions().editMode??null}isCut(){return this._snapshot?.getMarkOptions().isCut??!1}getName(){return this._snapshot.getName()}toText(){return this._snapshot.toText()}toHtml(){return this._snapshot.toHtml()}toImage(){return this._snapshot.toImage()}get isClipboardItem(){return!0}},tn=class{constructor(e,t,n,r,i){if(this._parsed=void 0,this._runtime=e,!t)throw new s(`nativeItems are required.`);this._topLeft=n??o.EmptyCell,this._native=t,this._markOptions=Object.freeze(r??{}),this._styles=i}getItemType(){return`range`}isCut(){return!1}toText(){return this._native?.text}toHtml(){return this._native?.html?.documentElement.outerHTML||null}toImage(){return this._native?.image}getItem(){let e=this._parsed;if(e===void 0)throw Error(`Must call 'parse()' before getItem().`);if(e===null)return null;if(this._snapshot)return this._snapshot;let t=this;return this._snapshot={prepare:(n,r)=>e.prepare?.(n,{...t._markOptions,...r}),copyTo:(n,r)=>e.copyTo(n,{...t._markOptions,...r}),getMarkOptions:()=>t._markOptions,getName:()=>e?.getName()??`Clipboard Data`,getCoords:()=>e?.getCoords?.()??null,toText:()=>t.toText(),toHtml:()=>t.toHtml(),toImage:()=>t.toImage(),getSource:()=>e?.getSource?.()??null,isISnapshot:!0},this._snapshot}async parse(){let e,t=this._native?.text,n=this._native.html;if(n===null&&t&&t.includes(`<table`))try{let e=new DOMParser().parseFromString(t,p.Html),r=e.querySelector(`parsererror`);if(r)throw new h(`Unable to parse: `+r);n=e,t=null}catch{console.warn(`Discovered text as html table but could could not parse.`)}try{let r=new $t(this._runtime,this._topLeft,this._styles,n?`HTML`:`Text`),i=await Promise.resolve(t?lt(t):[[]]),a;if(Xe(n,i,r)?(e=r.sheet(),a=e.getUsedRange()):n=null,a){let t=a.getSnapshot();return this._parsed={prepare:(e,n)=>t.prepare?.(e,n),copyTo:(e,n)=>t.copyTo(e,n),getCoords:()=>a.getCoords(),getSource:()=>e,getName:()=>e.getName()},!0}}catch(e){throw e}if(!t&&!n&&this._native.image){let e=await this._native.image.arrayBuffer(),t=i.getPngStatedSize(e),n=null;return this._parsed={async prepare(r){let i=r.getWorksheet();n={sheet:i,options:await i.getMovables()._preparePicture({source:{buffer:e}},{type:`picture`,description:a(`op.copyImageFromClipboard`),autoSelect:!0,...t&&{bounds:t}})}},copyTo(e,t){let r=e.getWorksheet();if(n?.sheet!==r)throw Error(`The image was not prepared for this sheet.`);return r.getMovables()._insertNow(n.options),null},getName:()=>`Image`},!0}return this._parsed=null,!1}get isClipboardItem(){return!0}},nn=class{constructor(e){this._closed=!1,this._kind=e.kind,this._id=e.id,this._part=e.part,this._styles=e.styles,this._tabColor=e.tabColor?this._styles.parseColor(e.tabColor):null,this._transactions=e.transactions,this._workbook=e.workbook??null,this._container=e.container,this._emitter=new b(this,this._transactions)}getKind(){return this._kind}getId(){return this._id}getName(){return this._container.getName()}setName(e,t){return this._assertOpen(),this._container.setName(e,t),this}getVisibility(){return this._closed?N.Visibility.VeryHidden:this._container.getVisibility()}setVisibility(e=!0,t){let n;return this._assertOpen(),n=!0===e?N.Visibility.Visible:!1===e?N.Visibility.Hidden:e,this._container.setVisibility(n,t),this}getIndex(){return this._container.getIndex()}setIndex(e,t){return this._assertOpen(),this._container.setIndex(e,t),this}getTabColor(){return this._tabColor}setTabColor(e){return this._assertOpen(),this._tabColor=typeof e==`string`?this._styles.parseColor(e):e??null,this._notify(`onTabColorChange`),this}getWorkbook(){return this._workbook}async select(e){return await this._container.requestSelect(e),this}delete(){if(this._closed)return;let e=this._transactions.beginCommit({description:_(`op.deleteSheet`,{name:this.getName()})});try{try{this._notify(`onBeforeDelete`)}catch(e){throw e instanceof Error?e:new h(e?.message??_(`error.sheet.modelDelete`))}this._notify(`onDelete`),e.commit()}catch(t){throw e.rollback(),t}}isDeleted(){return!this._container.isAttached()}addListeners(e,t){return this._emitter.addListeners(e,t)}close(){this._closed||=(this._notify(`onClose`),this._emitter.close(),!0)}isClosed(){return this._closed}_getPart(){return this._part}_notify(e){this._emitter.notify(e)}_assertOpen(){if(this._closed)throw Error(_(`error.sheet.modelClosed`))}get[Symbol.toStringTag](){return`[OpaqueSheet]`}toString(){return`[${this.getName()??`(untitled)`}]`}get isISheet(){return!0}get isIOpaqueSheet(){return!0}};(K||={}).Visibility={Visible:`visible`,Hidden:`hidden`,VeryHidden:`veryHidden`};var Y,X={showFormulaBar:!0,showTabs:!0,tabRatio:600,showHorizontalScrollbar:!0,showVerticalScrollbar:!0,showStatusBar:!0,activeSheetId:0,firstTab:0,windowBounds:null,minimized:!1,visibility:K.Visibility.Visible,autoFilterDateGrouping:!0},rn=class{constructor(e){this._id=r.uuidV4(),this._emitter=new b(this),this._state={...X},e?.json&&this._fromJSON(e?.json)}getId(){return this._id}isShowFormulaBar(){return this._state.showFormulaBar}setShowFormulaBar(e){return this._state.showFormulaBar=e,this._emitter.notify(`onViewChange`),this}isShowTabs(){return this._state.showTabs}setShowTabs(e){return this._state.showTabs=e,this._emitter.notify(`onViewChange`),this}getTabRatio(){return this._state.tabRatio}setTabRatio(e){return this._state.tabRatio=e,this._emitter.notify(`onViewChange`),this}isShowHorizontalScrollbar(){return this._state.showHorizontalScrollbar}setShowHorizontalScrollbar(e){return this._state.showHorizontalScrollbar=e,this._emitter.notify(`onViewChange`),this}isShowVerticalScrollbar(){return this._state.showVerticalScrollbar}setShowVerticalScrollbar(e){return this._state.showVerticalScrollbar=e,this._emitter.notify(`onViewChange`),this}isShowStatusBar(){return this._state.showStatusBar}setShowStatusBar(e){return this._state.showStatusBar=e,this._emitter.notify(`onViewChange`),this}getActiveSheetId(){return this._state.activeSheetId}setActiveSheetId(e){let t=this._state,n=t.activeSheetId;return t.activeSheetId=e,n!==e&&this._emitter.notify(`onViewChange`),this}getFirstTab(){return this._state.firstTab}setFirstTab(e){return this._set(`firstTab`,Math.max(0,Math.trunc(e)))}getWindowBounds(){return this._state.windowBounds}setWindowBounds(e){return this._set(`windowBounds`,e?Object.freeze({...e}):null)}isMinimized(){return this._state.minimized}setMinimized(e){return this._set(`minimized`,e)}getVisibility(){return this._state.visibility}setVisibility(e){return this._set(`visibility`,e)}isAutoFilterDateGrouping(){return this._state.autoFilterDateGrouping}setAutoFilterDateGrouping(e){return this._set(`autoFilterDateGrouping`,e)}_set(e,t){return this._state[e]===t||(this._state[e]=t,this._emitter.notify(`onViewChange`)),this}addListeners(e,t){return this._emitter.addListeners(e,t)}toJSON(){let e={},t=Object.keys(this._state),n=t.length;for(let r=0;r<n;r++){let n=t[r],i=this._state[n];i!=null&&i!==X[n]&&(e[n]=i)}return Object.keys(e).length===0&&(e=null),e}_fromJSON(e,t=!0){let n=e||{};this.update(n,t)}update(e,t=!0){this._state={...X,...this._state,...e},t&&this._emitter.notify(`onViewChange`)}get[Symbol.toStringTag](){return`[WorkbookView]`}toString(){let e=this.toJSON();return e?JSON.stringify(e):`DefaultWorkbookView`}get isIWorkbookView(){return!0}},an=Object.freeze({structure:!1,windows:!1,revision:!0,password:null,revisionsPassword:null}),on=class extends ke{isWindowsAllowed(){return this._isPropertyAllowed(`windows`)}isRevisionAllowed(){return this.isLocked()&&this._properties?.revision===void 0?!this._isReadOnly:this._isPropertyAllowed(`revision`)}isStructureAllowed(){return this._isPropertyAllowed(`structure`)}_getAllowedKey(){return`workbook`}_fromJSON(e){this._properties=e}_toJSON(e){let t=this._properties;if(t){let n=Object.keys(t),r=n.length;for(let i=0;i<r;i++){let r=n[i],a=t[r];a!=null&&a!==an[r]&&(e[r]=a)}}return super._toJSON(e)}get[Symbol.toStringTag](){return`[WorkbookProtection]`}get isIWorkbookProtection(){return!0}};(Y||={}).Type={Number:`number`,Boolean:`boolean`,Date:`date`,String:`string`,Float:`float`};var sn=e=>{if(typeof e==`string`)return{type:Y.Type.String,value:e};if(typeof e==`boolean`)return{type:Y.Type.Boolean,value:e};if(typeof e==`number`){if(!Number.isFinite(e))throw Error(`A custom property value must be a finite number.`);return{type:Number.isInteger(e)&&e>=-2147483648&&e<=2147483647?Y.Type.Number:Y.Type.Float,value:e}}if(e instanceof Date){if(isNaN(e.getTime()))throw Error(`A custom property value must be a valid date.`);return{type:Y.Type.Date,value:e.toISOString()}}throw Error(`A custom property value must be a string, number, boolean or Date.`)},cn=class{constructor(e,t){this._json=e,this._owner=t}getKey(){return this._json.key}getType(){return this._json.type}getLinkTarget(){return this._json.linkTarget??null}getValue(){let{type:e,value:t}=this._json;return e===Y.Type.Date?new Date(t):t}setValue(e){this._owner._assertCustomEditable(this),this._json={...this._json,...sn(e)}}delete(){this._owner._removeCustom(this)}toJSON(){return{...this._json}}},ln=class{constructor(e){this._json={},this._custom=[],this._assertOpen=e}_text(e){return this._json[e]??null}_setText(e,t){return this._assertOpen(),t==null||t===``?delete this._json[e]:this._json[e]=t,this}getAuthor(){return this._text(`author`)}setAuthor(e){return this._setText(`author`,e)}getCategory(){return this._text(`category`)}setCategory(e){return this._setText(`category`,e)}getComments(){return this._text(`comments`)}setComments(e){return this._setText(`comments`,e)}getCompany(){return this._text(`company`)}setCompany(e){return this._setText(`company`,e)}getContentStatus(){return this._text(`contentStatus`)}setContentStatus(e){return this._setText(`contentStatus`,e)}getCreationDate(){let e=this._json.creationDate;if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t}getKeywords(){return this._text(`keywords`)}setKeywords(e){return this._setText(`keywords`,e)}getLastAuthor(){return this._json.lastAuthor??null}getManager(){return this._text(`manager`)}setManager(e){return this._setText(`manager`,e)}getRevisionNumber(){return this._json.revisionNumber??null}setRevisionNumber(e){return this._assertOpen(),e!=null&&Number.isFinite(e)?this._json.revisionNumber=e:delete this._json.revisionNumber,this}getSubject(){return this._text(`subject`)}setSubject(e){return this._setText(`subject`,e)}getTitle(){return this._text(`title`)}setTitle(e){return this._setText(`title`,e)}getCustom(){return this._custom.slice()}getCustomProperty(e){let t=e.toLowerCase();return this._custom.find(e=>e.getKey().toLowerCase()===t)}addCustomProperty(e,t){if(this._assertOpen(),typeof e!=`string`||e===``)throw Error(`A custom property needs a name.`);let n=this.getCustomProperty(e);if(n)return n.setValue(t),n;let r=new cn({key:e,...sn(t)},this);return this._custom.push(r),r}deleteAllCustomProperties(){this._assertOpen(),this._custom=[]}_assertCustomEditable(e){if(this._assertOpen(),!this._custom.includes(e))throw Error(`The custom property has been deleted.`)}_removeCustom(e){this._assertCustomEditable(e),this._custom=this._custom.filter(t=>t!==e)}fromJSON(e){let{custom:t,...n}=e??{};this._json=n,this._custom=(t??[]).map(e=>new cn({...e},this))}toJSON(){let e={...this._json};return this._custom.length>0&&(e.custom=this._custom.map(e=>e.toJSON())),e}};function Z(e){return _(`error.workbook.invalidSheetKey`,{key:e})}function un(e){return _(`error.workbook.sheetNameNotFound`,{sheetName:e})}function Q(e,t){return _(t===`chart`?`error.workbook.sheetIsChart`:t===`macro`?`error.workbook.sheetIsMacro`:`error.workbook.sheetIsDialog`,{sheetName:e})}function dn(e,t){return t===`chart`?_(`error.workbook.selectedIsChart`,{sheetName:e}):t===`macro`?_(`error.workbook.selectedIsMacro`,{sheetName:e}):t===`dialog`?_(`error.workbook.selectedIsDialog`,{sheetName:e}):_(`error.workbook.noWorksheet`)}var fn=class extends we{constructor(e,t,n,r){super(),this._add=e,this._get=t,this._addListeners=n,this._getSelected=r}getActive(){return this._getSelected()}getAt(e){return this.getItems()[e]??null}getByIndex(e){return this.getItems()[e]??null}getAll(){return this.getItems()}add(e){return this._add(e)}_getItems(e){return this._get(e?.name,e?.visibility)}getByName(e){return this._get(e)?.[0]??null}addListeners(e,t){return this._addListeners(e,t)}get isIWorksheetCollection(){return!0}},pn=new RegExp(/[\\/\\*?:[\]]+/),mn=new RegExp(/\(((\d+)(?!.*\d))\)$/,`g`);function hn(e){let t=_(a(`workbook.defaultSheetName`),{n:e+1});return t===`workbook.defaultSheetName`?`Sheet${e+1}`:t}function gn(e,t){return{...Se,getWorksheet:()=>null,toString:()=>P(e,t)}}function _n(e,t=!1){if(!e)throw Error(_(`error.workbook.sheetNameBlank`));if(pn.test(e)){if(!t)throw Error(function(e){return e?_(`error.workbook.sheetNameInvalidCharsNamed`,{sheetName:e}):_(`error.workbook.sheetNameInvalidChars`)}(e));e=e.replace(pn,``)}if(e.length===0)throw Error(_(`error.workbook.sheetNameBlank`));let n=e.length;if(n>31){if(!t)throw Error(_(`error.workbook.sheetNameTooLong`));e=e.substring(0,31)}if(e.charAt(0)===`'`||e.charAt(n-1)===`'`){if(!t)throw Error(_(`error.workbook.sheetNameQuotes`));e=e.replace(/^'|'$/g,``)}return e}var vn=`workbook.activeSheet`,yn=class e extends st{constructor(e,t,n,r){super(e,t,r),this._workbook=n}getSource(){return this._workbook}_createRanges(t,n){let r=this._options;return n&&(r={...this._options,getOptions:M(this._options?.getOptions,n)}),new e(t,this._internal,this._workbook,r)}_createRange(e,t){let n=e?{...e}:null,r=this._workbook,i=n?r._getSheetRef(n.scope,N.Visibility.VeryHidden):null;if(i&&!i.sheet.isIWorksheet)throw new h(Q(i.name,i.sheet.getKind()));if(!i){let e=r._anchorWorksheet();return delete n?.scope,gn(n,n?{scope:Qe,...e.getEntireRange().getCoords()}:null)}let a=this._options;return t&&(a={...this._options,getOptions:M(this._options.getOptions,t)}),new bn(e,L(i.sheet),this._workbook,a)}async select(e){let t=[],n=null,r=this.getCoords();for(let e=0;e<r.length;e++){let i=r[e];i&&(n||=i.scope,i&&i.scope===n&&t.push(i))}n||=this._workbook.getWorksheet().getName();let i=this._workbook.getWorksheets().getByName(n);if(!i)return;let a=await i.getRanges(t).select(e),o=this._workbook._rangesAddressToCoords(a.getCoords());return this._createRanges(o)}addListener(e,t){if(!this.getCoords())return()=>{};let n=this._workbook._sheetToWBEvent(e);return super.addListener(n,t)}get[Symbol.toStringTag](){return`[WorkbookRanges]`}getAddress(e){let t=this._internal.getSheet(),n=t.getEntireRange().getCoords();return ge(this.getCoords(),{...n,scope:t.getName()},P,Ee,e)}toString(){return this.getAddress()}},bn=class e extends ut{constructor(e,t,n,r){super(e,t,r),this._workbook=n}_createRanges(e,t){let n=this._options;return t&&(n={...this._options,getOptions:M(this._options?.getOptions,t)}),new yn(e,this._internal,this._workbook,n)}_createRange(t,n){let r=this._internal;if(!t)return je(r.getSheet(),r.getSheet().getEntireCoords());if(r.validateCoords(t),r.getSheet().isClosed())return je(null,r.getSheet().getEntireCoords(),t);let i=this._options;return n&&(i={...this._options,getOptions:M(this._options?.getOptions,n)}),new e(t,this._internal,this._workbook,i)}addListener(e,t){if(!this.getCoords())return()=>{};let n=this._workbook._sheetToWBEvent(e);return super.addListener(n,t)}get[Symbol.toStringTag](){return`[WorkbookRange]`}getAddress(e){let t=this._internal.getSheet(),n=t?.getEntireRange().getCoords()??null;return P(this.getCoords(),{...n,scope:t.getName()})}toString(){return this.getAddress()}},xn=e=>!!e&&typeof e==`object`&&typeof e.getOrigin==`function`,Sn=class{constructor(t){this._isLoadingSheets=!1,this._lastTransactionUUID=null,this._starting=null,this._closed=!1,this._listenerOriginProvider=null,this._listenerOrigin=null,this._lastOriginName=null,this._initializing=!0,this._pivotCaches=[],this._pivotTableCollection=new at(()=>{let e=[];for(let t of this.getWorksheets().getItems({visibility:N.Visibility.VeryHidden}))e.push(...t.getPivotTables());return e},(e,t)=>this.doBatch(e,t)),this._people=new Wt,this._commentCollection=new $e(null,(e,t,n)=>{let r=[];for(let i of this.getWorksheets().getItems({visibility:N.Visibility.VeryHidden}))r.push(...i.getComments().getItems(e?{address:e,ignoreHidden:t,fullyContained:n}:{ignoreHidden:t,fullyContained:n}));return r},(e,t)=>this.addListeners({onSheetsChange:e.onCollectionChange?()=>{e.onCollectionChange(this._commentCollection)}:void 0},t)),this._isDate1904=!1,this._codeName=null,this._updateLinks=null,this._hiddenPivotFieldList=!1,this._documentProperties=new ln(()=>{if(this._closed)throw Error(_(`error.workbook.modelClosed`))}),this._locale=null,this._localeOverrides=null,this._startModules=new WeakSet;let n=typeof t==`string`?{origin:t}:{...t},i=n.origin;this._ownOriginProvider=!xn(i),this._originProvider=xn(i)?i:new Ct(typeof i==`string`?new V(null,{name:i}):i??new V(null)),delete n.origin,this._bindOrigin(this._originProvider.getOrigin()),this._listenerOriginProvider=this._originProvider.addListeners({onOriginChange:()=>this._onOriginChange()});let o=n.json;delete n.json,this._transactions=n.transactions??new x,this._id=this._transactions.create(),this._ownTransactions=!n.transactions,this._emitter=new b(this,this._transactions),this._runtime=n.runtime??new ht(`Workbook Runtime`,{isDate1904:()=>this._isDate1904,getNow:()=>this._transactions.getCurrentCommit().getTimestamp(),getLocale:()=>this._locale??Oe()??Ie(),getLocaleOverrides:()=>this._localeOverrides}),this._listenerLanguage=g.addChangeListener(()=>{this._closed||this._notifyAllChange()});let s=this,c=this._beginCommit({description:a(o?`op.openWorkbook`:`op.newWorkbook`)});try{this._strings=n.strings??new Ce,this._ownStrings=!n.strings,this._richValues=n.richData??new ft,this._resources=n.resources??new Ke,this._ownResources=!n.resources,this._fetch=new Qt(this._resources,n.fetcher??new Xt),this._createSheetName=n.createSheetNameCallback??hn;let t=n.createWorksheetCallback;t||=e=>new Ue(e),this._sheetOnNameChange=new Map,this._sheetOnVisibilityChange=new Map,this._sheetOnIndexChange=new Map,this._createSheet=(e,n,r,i,a,o,c)=>{let l=null,u={runtime:s._runtime,readonly:s._options.readonly??!1,disableLoadAutoFit:s._options.disableLoadAutoFit??!1,opener:s._options.opener,transactions:s._transactions,styles:s._styles,strings:s._strings,richData:s._richValues,resources:s._resources,names:s._names,workbook:s,calculation:s._calculation,resolveRange:e=>s._options.resolveRange?.(e)??s.getRange(e),container:{beforeFromJSON:t=>{l=t,s._addSheetRef({name:n,id:e,visibility:r??N.Visibility.Visible,sheetId:a,sheet:t},i)},getName:()=>{let e=s._getSheetRef(l);return e?e.name:n},setName:(e,t)=>{s._getSheetRef(l)&&s._setSheetName(l,e,t)},setNameChangeCallback:t=>{s._sheetOnNameChange.set(e,t)},getVisibility:()=>{let e=s._getSheetRef(l);return e?e.visibility:N.Visibility.Visible},setVisibility:(e,t)=>{s._setSheetVisibility(l,e,t)},setVisibilityCallback:t=>{s._sheetOnVisibilityChange.set(e,t)},duplicate:()=>s._duplicateSheet(l),getIndex:()=>{let e=s._getSheetRef(l);return e?s._getOffsetForId(e.id,s._getSheetRefs(N.Visibility.VeryHidden)):i},setIndex:(e,t)=>{let n=s._getSheetRef(l,N.Visibility.VeryHidden);return!!n&&(s._moveSheet(n,e,t),!0)},setIndexCallback:t=>{s._sheetOnIndexChange.set(e,t)},requestSelect:()=>s._requestSelect(l)}};return o&&(u.json=o),c!==void 0&&(u.uid=()=>c),l=t(u,n,i,r),l},this._namedTableSource=new Be({getSheets:()=>s._sheets?s.getWorksheets().getItems({visibility:N.Visibility.VeryHidden}):r.EmptyArray,addSheetsListener:(e,t)=>s.addListeners({onSheetsChange:e},t)}),this._names=n.names??new tt({addressToRanges:e=>s.getRanges(e),getCurrentScope:()=>s.getSelectedWorksheet()?.getName()??null,isReadOnly:()=>(s._options.readonly??!1)||s._isStructureProtected(),transactions:s._transactions,getSources:()=>s._calculation?[s._calculation.getNamedFormulas(),s._namedTableSource]:r.EmptyArray}),this._ownNames=!n.names,this._calculation=n.calculation??new Ye({runtime:s._runtime,functions:n.functions,json:o?.calc,isNamesReadOnly:()=>s._isStructureProtected(),getActiveCell:()=>{let e=s.getSelectedWorksheet(),t=e?.getSelectedRange()?.getCoords();return e&&t?{rowIndex:t.rowStart,colIndex:t.colStart,scope:e.getId()}:null},getRange:s.getRange.bind(s),getRanges:s.getRanges.bind(s),createGraphRanges:(e,t)=>s._createGraphRanges(e,t),getSheetIndex:e=>{if(e===void 0){let e=s.getSelectedSheet();return e?this._getSheetRefs(N.Visibility.VeryHidden).findIndex(t=>t.sheet===e):-1}let t=this._getSheetRefs(N.Visibility.VeryHidden);e=e.toLowerCase();let n=t.length;for(let r=0;r<n;r++)if(t[r].name.toLowerCase()===e)return r;try{Cn.address=e;let t=this._names.getItems(Cn);if(!t||t.length===0)return-1;let n=t[0].getRanges?.()?.getCoords()?.[0]?.scope;if(!n)return-1;let r=this._getSheetRefs(N.Visibility.VeryHidden);n=n.toLowerCase();let i=r.length;for(let e=0;e<i;e++)if(r[e].name.toLowerCase()===n)return e}catch{return-1}return-1},getSheetCount:()=>s._getSheetRefs(N.Visibility.VeryHidden).length,externalBooks:o?.externalBooks,externalBookResolver:n.externalBookResolver,namedCollection:s._names,strings:s._strings,get resources(){return s._resources},fetch:(e,t)=>s._fetch.fetch(e,t),parseText:(t,n)=>(async(t,n,r)=>{let i=await e(()=>import(`./CnPgk3HcIziOcskY.js`).then(e=>v(e.default,1)),__vite__mapDeps([7,8]),import.meta.url),a=(i.default??i).parse(n,{delimiter:r?.delimiter??`,`,skipEmptyLines:!1}).data,o=a.length,s=a[o-1];s&&s.length===1&&s[0]===``&&o--;let c=0;for(let e=0;e<o;e++)a[e].length>c&&(c=a[e].length);let l=Array(o);for(let e=0;e<o;e++){let n=a[e],r=Array(c);for(let e=0;e<c;e++){let i=n[e];r[e]=i===void 0||i===``?null:ct(t,i).value}l[e]=r}return l})(s._runtime,t,n),startFunctions:()=>s._startFunctions(),transactions:s._transactions,names:o?.names}),this._ownCalculation=!n.calculation,this._scripts=this._createScripts(o?.modules),this._ownNames=!n.names,this._options=Object.freeze({...n});let i=o?.sheets?.length?o.sheets.map(e=>e.name):[this._createSheetName(0)],a=i.map(e=>e+`-`+r.uuidV4()),l=e=>{let t=o?.sheets?.[e]?.kind;return!!t&&t!==N.Kind.Worksheet};this._calculation._setSheets(i.map((e,t)=>l(t)?[a[t],e,!0]:[a[t],e]));let u=n.calcOnLoad??`auto`,d=!1,f=(async()=>{try{if(this._ownCalculation&&u!==`none`&&(u===`full`||u===`auto`&&!0===o?.calc?.fullCalcOnLoad?await this._calculation._calculateForLoad():await this._calculation.start(),this._closed||(await this._refreshPivotCachesOnLoad(),this._closed)))return;await this._scripts.start()}finally{d=!0,this._starting=null}})();d||(this._starting=f),this._starting?.catch(()=>{}),o?this._fromJSON(o,a):(this._initState(),this._addSheet(!1,i[0],null,a[0])),this._sheets=new fn(e=>s._addSheetOptions(e),(e,t)=>{if(e){let n=this._getSheetRef(e,t);return n&&$(n)?[n.sheet]:r.EmptyArray}return this._getWorksheets(t)},(e,t)=>{let n=e.onCollectionChange,r=e.onInvalidated;return s._emitter.addListeners({onSheetsChange:n?()=>{n(s._sheets)}:void 0,onInvalidated:r?()=>{r(s._sheets)}:void 0},t)},()=>s.getSelectedWorksheet()),this._ownCalculation&&(n.calcOnLoad??`auto`)!==`none`&&(this._calculation.hydrateNames(),this._holdPivotCaches()),this._emitter.notify(`onLoad`),this._ownTransactions?c.amend():c.commit()}catch(e){throw c.rollback(),e}this._initializing=!1}_initState(){let e=this._getSheetRefs();for(let t=(e?e.length:0)-1;t>=0;t--);let t=this._options;this._isDate1904=t.runtime?.isDate1904()??!1,this._locale=null,this._localeOverrides=null,this._theme=t.theme??new rt().getDefaultTheme(),this._styles=t?.styles??new Pe(this._theme),this._ownStyles=!t.styles,this._styles.getTheme()||this._styles.setTheme(this.getTheme()),this._activeSheetOffset=0,this.setView(new rn),this._listenerProtection?.(),this._protection=new on(void 0,this._options.readonly??!1),this._listenerProtection=this._protection.addListeners({onChange:e=>{n._emitter.notify(`onProtectionChange`)}});let n=this;this._transactionsRemoveListener=this._transactions.addStateListener(this._id,{async onAfterStateChange(e,t,r,i,a){let o=n._view,s=a?.[vn],c=r?s?.before:s?.after,l=s?.viewId===o.getId()&&c!=null,u=l?c:o.getActiveSheetId(),d=l&&t.getId()===n._lastTransactionUUID?n._getSheetRef({id:u}):null;d?await d.sheet.select():n._resyncActiveSheet(u,e),n._lastTransactionUUID=t.getId(),(r||i)&&n._emitter.notify(`onSheetsChange`),n._emitter.notify(`onSelectedSheetChange`),n._emitter.notify(`onViewChange`)},onRestoreOrRevert(){n._ownCalculation,n._emitter.notify(`onInvalidated`)}});let r=this._getState();r?.listenersSheets&&(r?.listenersSheets.forEach(e=>{e()}),r?.listenersSheets.clear()),this._updateState({sheetRefsAll:[],sheetRefsVisibleAndHidden:[],sheetRefsVisible:[],refsById:new Map,sheetsById:new Map,refsByLowerCaseName:new Map,sheetsByLowerCaseName:new Map,refsByInstance:new Map,lastId:-1,sheetsCreated:new Set,listenersSheets:new Map,pivotCacheData:new Map})}getId(){return this._id}getVersionId(){return this._transactions.getVersionId(this._id)}getName(){return this._closed?null:this._origin.getName()}getOrigin(){return this._originProvider.getOrigin()}_onOriginChange(){if(this._closed)return;let e=this._originProvider.getOrigin();if(e===this._origin)return;this._listenerOrigin?.();let t=this._lastOriginName;this._bindOrigin(e),this._emitter.notify(`onOriginChange`),this._lastOriginName!==t&&this._emitter.notify(`onNameChange`)}_bindOrigin(e){this._origin=e,this._lastOriginName=e.getName(),this._listenerOrigin=e.addListeners({onChange:()=>{if(this._closed)return;let t=e.getName();t!==this._lastOriginName&&(this._lastOriginName=t,this._emitter.notify(`onNameChange`))}})}getView(){return this._view}setView(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));if(!e)throw new h(_(`error.sheet.emptyView`));this._listenerWorkbookView?.();let t=this,n=-1;return this._listenerWorkbookView=e.addListeners({onViewChange:e=>{let r=t._getState(),i=this._view.getActiveSheetId(),a=r.sheetRefsVisible,o=this._getOffsetForId(i,a);this._activeSheetOffset=o,t._emitter.notify(`onViewChange`),n!==i&&(t._emitter.notify(`onSelectionChange`),t._emitter.notify(`onSelectedSheetChange`)),n=i}}),this._view=e,t._emitter.notify(`onViewChange`),this}getRuntime(){return this._runtime}setDate1904(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));return this._isDate1904===e||(this._isDate1904=e,this._emitter.notify(`onRegionalChange`)),this}getLocale(){return this._runtime.getLocale()}getPinnedLocale(){return this._locale}setLocale(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));if(e)try{new Intl.Locale(e)}catch{throw Error(_(`error.workbook.invalidLocale`,{locale:e}))}return this._locale===e||(this._locale=e,this._emitter.notify(`onRegionalChange`)),this}getLocaleOverrides(){return this._localeOverrides}setLocaleOverrides(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));let t=e&&Object.keys(e).length>0?e:null;return this._localeOverrides=t,this._emitter.notify(`onRegionalChange`),this}getStyles(){return this._styles}getResources(){return this._resources}getFetcher(){return this._fetch.getFetcher()}fetch(e,t){return this._fetch.fetch(e,t)}getTransactions(){return this._transactions}getChanges(e){let t=this._transactions,[n,r]=t.getLog(e??t.getCurrentCommit(!1).getId(),2),i=[],a=this.getWorksheets().getItems({visibility:N.Visibility.VeryHidden});for(let e=0;e<a.length;e++){let t=a[e];t instanceof Ue&&i.push(...t._changeEventsOf(n,r??null))}return i}getStrings(){return this._strings}getExternalBooks(){return this._calculation.getExternalBooks()}getUpdateLinks(){return this._updateLinks}setUpdateLinks(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));return this._updateLinks=e,this}getPivotTables(){return this._pivotTableCollection}getComments(){return this._commentCollection}getPeople(){return this._people}getTheme(){return this._theme}setTheme(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));if(!e)throw new h(_(`error.workbook.notSetValue`));let t=this._theme;return this._theme=e,this.getStyles().setTheme(e),this._emitter.notify(`onThemeChange`),t}getSelectedSheetIndex(){return this._activeSheetOffset}getSelectedSheet(){let e=this._getSheetRef(this.getSelectedSheetIndex());return e?e.sheet:null}getSelectedWorksheet(){let e=this._getSheetRef(this.getSelectedSheetIndex());return e&&$(e)?e.sheet:null}getActiveSheet(){return this.getSelectedWorksheet()}getActiveWorksheet(){return this.getSelectedWorksheet()}getSheets(e){let t=this._getSheetRefs(e?.visibility??N.Visibility.Visible),n=Array(t.length);for(let e=0;e<t.length;e++)n[e]=t[e].sheet;return n}getSheet(e){if(e===void 0)return this.getSelectedSheet();if(!e)throw Error(_(`error.workbook.sheetNameNotProvided`));let t=this._getSheetRef(e);if(!t)throw new d(un(e));return t.sheet}getWorksheet(e,t=N.Visibility.Visible){if(typeof e==`number`)return this.getWorksheetAt(e,t);if(e===void 0)return this._requireSelectedWorksheet();if(!e)throw Error(_(`error.workbook.sheetNameNotProvided`));let n=this._getSheetRef(e,t);if(!n)throw new d(un(e));if(!$(n))throw new d(Q(n.name,n.sheet.getKind()));return n.sheet}getWorksheetAt(e,t=N.Visibility.Visible){let n=this._getWorksheets(t)[e];if(!n)throw new d(function(e){return _(`error.workbook.sheetIndexNotFound`,{index:e})}(e));return n}_requireSelectedWorksheet(){let e=this.getSelectedWorksheet();if(e)return e;let t=this.getSelectedSheet();throw new h(dn(t?.getName()??``,t?.getKind()??N.Kind.Worksheet))}_anchorWorksheet(){return this.getSelectedWorksheet()||(this._getWorksheets(N.Visibility.VeryHidden)[0]??null)}getWorksheets(){return this._sheets}addWorksheet(e){return this.getWorksheets().add(e)}_getWorksheets(e=N.Visibility.Visible){let t=this._getSheetRefs(e),n=[],r=t.length;for(let e=0;e<r;e++){let r=t[e];$(r)&&n.push(r.sheet)}return n}_getSheetRefs(e=N.Visibility.Visible){let t=this._getState();return t?e===N.Visibility.Visible?t.sheetRefsVisible:e===N.Visibility.Hidden?t.sheetRefsVisibleAndHidden:e===N.Visibility.VeryHidden?t.sheetRefsAll:r.EmptyArray:[]}_getSheetRef(e,t=N.Visibility.Visible){let n=null;return typeof e==`number`?this._getSheetRefs(t)[e]:(typeof e==`string`?n=this._getState().refsByLowerCaseName.get(e.toLowerCase()):!0===e?.isISheet?n=this._getState().refsByInstance.get(e):e?.id!==void 0&&(n=this._getState().refsById.get(e.id)),n)}_validateNewSheetName(e,t=!0){if(e==null)return e;if(_n(e),t&&this._getState().sheetsByLowerCaseName.has(e.toLowerCase()))throw new h(_(`error.workbook.nameTaken`));return e.substring(0,31)}findValidSheetName(e){e&&=_n(e,!0);try{return function(e,t){try{if(t(e))return e}catch{}let n,r,i=mn.exec(e);for(i===null?(n=e+` `,r=1):(n=e.substring(0,i.index),r=parseFloat(i[1]));r<256;){r++;let e=`(`+r+`)`,i=n.substring(0,31-e.length)+e;try{if(t(i))return i}catch{}}throw Error(e+` is not a valid sheet name`)}(e,e=>this._validateNewSheetName(e))}catch{return this._nextSheetName()}}isValidSheetNameCharacter(e){return!pn.test(e)}_isStructureProtected(){return!this._initializing&&!this.getProtection().isStructureAllowed()}_addSheetOptions(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));if(!this.getProtection().isStructureAllowed())throw new c(_(`error.workbook.protection`));let t,n=null;t=typeof e==`string`?{name:e}:typeof e==`number`?{index:e}:e,t={...t,description:t?.description??a(`op.addSheet`)};let r=this.beginCommit(t);try{let e=t?.autoSelect??!1;n=this._addSheet(!0,t.name,t.index??null);let i=this.getView().getActiveSheetId();if(e&&this._recordActiveSheet(r,i,this._getSheetRef(n).id),r.commit({description:_(`op.addSheetNamed`,{name:n.getName()})}),!1!==e){let t=typeof e==`boolean`?void 0:e;n.select(t)}}catch(e){throw r.rollback(),e}return n}_nextSheetName(e=null){let t=e?e.toLowerCase():null,n=this._getState(),r=n.sheetsByLowerCaseName;if(e&&r.has(t))throw new h(function(e){return _(`error.workbook.nameDuplicate`,{sheetName:e})}(e));t=(e=this._validateNewSheetName(e))?e.toLowerCase():null;let i=n.lastId+1;for(;!e;){let t=this._createSheetName(i),n=t.toLowerCase();r.has(n)?i++:e=t}return this._updateState({lastId:i}),e}_addSheet(e,t=null,n=null,r){t=this._nextSheetName(t);let i=this._getState(),a=this._createSheet(i.lastId,t,N.Visibility.Visible,n,void 0,null,r);if(!a)throw new h(_(`error.workbook.sheetNameBlank`));return e&&(this._tellSheets(),this._emitter.notify(`onSheetsChange`)),a}_createOpaqueSheet(e,t,n,i,a,o,s,c,l){let u=this,d=null;return d=new nn({kind:o,id:l??t+`-`+r.uuidV4(),part:s,tabColor:c,styles:this._styles,transactions:this._transactions,workbook:this,container:{getName:()=>u._getSheetRef(d)?.name??t,setName:(e,t)=>{u._setSheetName(d,e,t)},getVisibility:()=>u._getSheetRef(d,N.Visibility.VeryHidden)?.visibility??N.Visibility.Visible,setVisibility:(e,t)=>{u._setSheetVisibility(d,e,t)},getIndex:()=>{let e=u._getSheetRef(d,N.Visibility.VeryHidden);return e?u._getOffsetForId(e.id,u._getSheetRefs(N.Visibility.VeryHidden)):-1},setIndex:(e,t)=>{let n=u._getSheetRef(d,N.Visibility.VeryHidden);n&&u._moveSheet(n,e,t)},requestSelect:()=>u._requestSelect(d),isAttached:()=>!!u._getSheetRef(d,N.Visibility.VeryHidden)}}),this._sheetOnNameChange.set(e,()=>d._notify(`onNameChange`)),this._sheetOnVisibilityChange.set(e,()=>d._notify(`onVisibilityChange`)),this._sheetOnIndexChange.set(e,()=>d._notify(`onIndexChange`)),this._addSheetRef({name:t,id:e,visibility:n??N.Visibility.Visible,sheetId:a,sheet:d},i),d}async _requestSelect(e){return this._setSelectedSheet(e),await this._emitter.notify(`onRequestSelect`,{source:this,params:e,async:!0}),this.getSelectedSheet()===e}_updateSheetRefStates(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));if(!this._initializing&&!this.getProtection().isStructureAllowed())throw new c(_(`error.workbook.protection`));let t=e,n=[],r=[],i=t.length;for(let e=0;e<i;e++)t[e].visibility===N.Visibility.Visible?(n.push(t[e]),r.push(t[e])):t[e].visibility===N.Visibility.Hidden&&r.push(t[e]);this._updateState({sheetRefsAll:t,sheetRefsVisible:n,sheetRefsVisibleAndHidden:r})}_tellSheets(){if(this._isLoadingSheets)return;let e=this._getState().sheetRefsAll;this._calculation._setSheets(e.map(e=>$(e)?[e.sheet.getId(),e.name]:[e.sheet.getId(),e.name,!0]))}_addSheetRef(e,t=null){let n=this._getState(),r=n.sheetRefsAll,i=Math.max(0,Math.min(r.length,t??r.length)),a=[...r.slice(0,i),e,...r.slice(i)];this._updateSheetRefStates(a);let o=e.sheet,s=e.name.toLowerCase(),c=new Map(n.refsById);c.set(e.id,e);let l=new Map(n.refsByLowerCaseName);l.set(s,e);let u=new Map(n.refsByInstance);u.set(o,e);let d=new Map(n.sheetsById);d.set(e.id,o);let f=new Map(n.sheetsByLowerCaseName);f.set(s,o);let p=this,m=n.listenersSheets;if(o!==void 0){let t=o.addListeners({onBeforeDelete:e=>{p._validateDeleteSheet(e)},onDelete(e){let t=p._getSheetRef(e,N.Visibility.VeryHidden);if(!t)return;let n=p._beginCommit({description:_(`op.deleteSheet`,{name:t.name})});try{let r=p._getState(),i=r.sheetRefsAll,a=p._getOffsetForId(t.id,i),s=[...i];s.splice(a,1),p._updateSheetRefStates(s);let c=new Map(r.refsById);c.delete(t.id);let l=new Map(r.sheetsById);l.delete(t.id);let u=t.name.toLowerCase(),d=new Map(r.refsByLowerCaseName);d.delete(u);let f=new Map(r.sheetsByLowerCaseName);f.delete(u);let m=new Map(r.refsByInstance);m.delete(e),r.listenersSheets.get(t.id)();let h=new Map(r.listenersSheets);h.delete(t.id),p._adjustRemoveSelectionIfRequired(a,t.id),p._adjustSheetNamesIfRequired(),p._sheetOnNameChange.delete(t.id),p._sheetOnVisibilityChange.delete(t.id),p._sheetOnIndexChange.delete(t.id),p._tellSheets(),p._emitter.notify(`onSheetsChange`);let g=new Set(r.sheetsCreated);g.has(o)&&g.delete(o),p._updateState({refsById:c,sheetsById:l,refsByLowerCaseName:d,sheetsByLowerCaseName:f,refsByInstance:m,sheetsCreated:g,listenersSheets:h}),n.commit()}catch(e){throw n.rollback(),e}}},{transactional:!0}),r=$(e)?e.sheet.addListeners({onSelectionChange:e=>{p.getView().getActiveSheetId()===p._getSheetRef(e)?.id&&p._emitter.notify(`onSelectionChange`,{source:p,params:e})}},{transactional:!1}):null;m=new Map(n.listenersSheets),m.set(e.id,()=>{t(),r?.()})}let h=n.lastId;h!==-1&&(h=Math.max(h,e.id)),this._updateState({lastId:h}),this._updateState({refsById:c,refsByLowerCaseName:l,refsByInstance:u,sheetsById:d,sheetsByLowerCaseName:f,listenersSheets:m}),this._adjustSheetNamesIfRequired();let g=new Set(this._getState().sheetsCreated);return g.add(e.sheet),this._updateState({sheetsCreated:g}),this._tellSheets(),e}_recordActiveSheet(e,t,n){let r=this.getView().getId();e.setIntent(vn,e=>({viewId:r,before:e?.before??t,after:n}))}_resyncActiveSheet(e,t){let n=t?.sheetRefsVisible;if(!n?.length)return;let r=-1,i=n.length;for(let t=0;t<i;t++)if(n[t].id===e){r=t;break}r===-1&&(r=Math.min(Math.max(this._activeSheetOffset,0),i-1));let a=n[r].id;this._view.getActiveSheetId()===a?this._activeSheetOffset=r:this._view.setActiveSheetId(a)}_adjustRemoveSelectionIfRequired(e,t){if(this._view.getActiveSheetId()===t){let t,n=this._getState().sheetRefsVisible;t=e<n.length?n[e].id:n[e-1].id,this._view.setActiveSheetId(t)}}_adjustSheetNamesIfRequired(){let e=this._getState(),t=e.lastId;if(t===-1)return;let n=this._view.getActiveSheetId();n??=(this._view.setActiveSheetId(t),t);let r=e.refsById.get(n);r||(this._view.setActiveSheetId(t),r=e.refsById.get(t),n=t),r.visibility===N.Visibility.Visible&&(this._activeSheetOffset=this._getOffsetForId(n,e.sheetRefsVisible))}_validateDeleteSheet(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));if(!this.getProtection().isStructureAllowed())throw new c(_(`error.workbook.protection`));let t=this._getSheetRef(e);if(!t)throw new h(function(e){return _(`error.workbook.deleteKey`,{key:e})}(e));let n=this._getState().sheetRefsVisible;if(n.length===1&&n[0].id===t.id)throw new h(_(`error.workbook.sheetOne`))}_getOffsetForId(e,t){let n=t.length;for(let r=0;r<n;r++)if(t[r].id===e)return r;throw new h(_(`error.workbook.noVisibleRefs`))}find(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));let t=this._getWorksheets();if(t.length===0)return{next:()=>Fe};if(t.length===1)return t[0].find(e);typeof e==`string`&&(e={text:e});let n=!e?.reverse,r=e?.disableWrap??!1,i=this._worksheetOffsetFrom(this.getSelectedSheetIndex(),t),a=i,s=t[a],c=!1;e={...e,disableWrap:!0};let l,u=s.find(e),d=u.next(),f=!1;if(e?.from){let t=this._rangesAddressToCoords(e?.from);l={colIndex:t[0].colStart,rowIndex:t[0].rowStart}}let p=o.createCellComparator(e?.axis,e?.reverse);delete(e={...e}).from;let m=()=>{if(!f&&d.done&&(c&&a===i?f=!0:n?(a++,a>t.length-1&&(a=0,c=!0)):(a--,a<0&&(a=t.length-1,c=!0)),r&&c&&(f=!0),f||l||!c||a!==i||(f=!0),!f)){s=t[a],u=s.find(e);let n=d;return d=u.next(),n}if(!f&&c&&a===i&&(d.done||!l||!d.done&&p(d.value.getCoords(),l)>=0)&&(f=!0),f){let e=d;return d=Fe,e}let o=d;return d=u.next(),o};return{next:()=>{let e=m();for(;!f&&e.done;)e=m();return e}}}replace(e,t,n){let r=0,i=null,o=typeof t==`function`,s=n?.maxCount??2**53-1,c=!n?.maxCount,l=``,u=typeof t==`string`?ze(t):null,d=n?.description??a(`op.replace`),f=this._transactions.beginCommit({description:d});try{let d=null,p=null,m=e.next();for(;!m.done&&r<s;){let a=m.value,s=a.getWorksheet();s!==d&&(d=s,p!==null&&p.apply(),p=d.getEntireRange().createSparseBuilder({axis:n?.axis,allowUnorderedWrites:!0}));let c=o?t(a):t;c!==void 0&&c!==a&&(p.push(a,c),r++,i=a),m=e.next()}p?.apply(),r===1&&s===1&&i&&(l=i.getAddress()),r===0?f.rollback():f.commit({description:n?.description??(c?u===null?a(`op.replaceAll`):_(`op.replaceAllWith`,{value:u}):l?u===null?_(`op.replaceAt`,{address:l}):_(`op.replaceAtWith`,{address:l,value:u}):u===null?a(`op.replace`):_(`op.replaceWith`,{value:u}))})}catch(e){throw f.rollback(),e}return{count:r,last:i}}_nextSheetIndex(e,t=this._getSheetRefs()){let n=t.length;return n===1?0:(e===void 0&&(e=this.getSelectedSheetIndex()),(e=Math.max(0,Math.min(e,n-1)))>=n-1?0:e+1)}_prevSheetIndex(e,t=this._getSheetRefs()){let n=t.length;return n===1?0:(e===void 0&&(e=this.getSelectedSheetIndex()),(e=Math.max(0,Math.min(e,n-1)))<=0?n-1:e-1)}_worksheetOffsetFrom(e,t){let n=this._getSheetRefs(),r=n.length;for(let i=0;i<r;i++){let a=n[(e+i)%r];if(!$(a))continue;let o=t.indexOf(a.sheet);if(o!==-1)return o}return 0}getNextSheet(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));let t=this._getSheetRefs();return t[this._nextSheetIndex(e,t)]?.sheet??null}getPreviousSheet(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));let t=this._getSheetRefs();return t[this._prevSheetIndex(e,t)]?.sheet??null}async _duplicateSheet(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));if(!this.getProtection().isStructureAllowed())throw new c(_(`error.workbook.protection`));let t=this._getSheetRefs(),n=this.getSelectedSheetIndex(),r=null;if(e){if(r=this._getSheetRef(e),!r)throw new h(Z(r))}else r=t[n];if(!r)return null;if(!$(r))throw new h((i=r.name,_(`error.workbook.sheetNotDuplicable`,{sheetName:i})));var i;let a=r.sheet,o=t.indexOf(r),s=this._strings.beginPersist(),l=this.getResources().beginPersist(),u=this.getStyles().beginPersist(),d=this._richValues.beginPersist(),f=null,p=this.beginCommit(_(`op.duplicateNamed`,{name:a.getName()}));try{let e=this._getState().refsByInstance.get(a),n=await a.toJSON(),r=t.length+1,i=this.findValidSheetName(e.name),s=this._createSheet(r,i,e.visibility,o,void 0,n);this._tellSheets(),this._emitter.notify(`onSheetsChange`),f=s,p.commit()}catch(e){throw p.rollback(),e}finally{d.endPersist(),u.endPersist(),l.endPersist(),s.endPersist()}return f}_createRange(e,t){let n=e?{...e}:null,r=n?this._getSheetRef(n.scope,N.Visibility.VeryHidden):null;if(r&&!$(r))throw new h(Q(r.name,r.sheet.getKind()));if(!r){let e=this._anchorWorksheet();return e?(delete n?.scope,gn(n,n?{scope:Qe,...e.getEntireRange().getCoords()}:null)):void console.warn(_(`error.workbook.noVisibleRefs`))}let i=r.sheet,a=null;return t&&(a={getOptions:t}),new bn(e,L(i),this,a)}_createRanges(e,t){let n=this._anchorWorksheet();if(!n)throw new h(dn(``,N.Kind.Worksheet));let r=null;return t&&(r={getOptions:t}),new yn(e,L(n),this,r)}getRange(e,t){if(e===void 0)return this.getSelectedRange(t);typeof e==`number`&&(e=fe(arguments),t=void 0);try{let n=this._rangesAddressToCoords(e);if(n.length!==1)throw new h(_(`error.address.singleRangeOnlyAlt`));return this._createRange(n[0],t)}catch(t){throw t instanceof d?new d(t.message):new h(t.message??dt(e))}}getCell(e){if(e===void 0)return this.getSelectedCell();let t=this.getRange(e);if(t.size>1)throw new h(_(`error.address.singleCellOnly`));return t.getCell()}getRanges(e,t){let n=this._rangesAddressToCoords(e);if(n.length===0)throw new h(dt(e));return this._createRanges(n,t)}_createGraphRanges(e,t){let n=[],r=this.getCalculation()?.getNamedFormulas()??null;for(let e=0;e<t.length;e++){let i=t[e],a=i.sheetName?this._getSheetRef(i.sheetName,N.Visibility.VeryHidden):null,o=a&&$(a)?a.sheet:this._anchorWorksheet();o&&n.push(new it(i,r,L(o),null))}for(let t=0;t<e.length;t++)n.push(e[t]);let i=this._anchorWorksheet();return n.length!==0&&i?new yn(n,L(i),this,null):null}getAnomalies(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));let t=Me(e),n=this._getWorksheets(N.Visibility.VeryHidden).map(e=>{let t=L(e);return{bounds:t.getSheet().getEntireCoords(),internal:t,qualified:!0}});return new Ne(n,()=>(this.getSelectedWorksheet()??this._getWorksheets(N.Visibility.VeryHidden)[0]).getEntireRange(),t)}getStats(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));let t=this._getWorksheets(N.Visibility.VeryHidden),n=t.length;if(n===1)return t[0].getStats(e);let r=Array(n);for(let i=0;i<n;i++)r[i]=t[i].getStats(e);return new Bt(r)}_activeRangeCoords(){let e=this._requireSelectedWorksheet(),t=e.getSelection().getRanges().getCoords(),n=e.getName(),r=t.length,i=Array(r);for(let e=0;e<r;e++){let r=t[e];i[e]={colStart:r.colStart,colEnd:r.colEnd,rowStart:r.rowStart,rowEnd:r.rowEnd,scope:n}}return i}getSelectedRange(e){return this.getRange(this._activeRangeCoords()[0],e)}getSelectedRanges(e){return this.getRanges(this._activeRangeCoords(),e)}getSelectedCell(){return this._requireSelectedWorksheet().getSelectedCell()}_rangesAddressToCoords(e,t=!0,n=N.Visibility.Hidden){if(!e)throw new h(_(`error.address.noAddress`));let r=this.getSelectedWorksheet(),i={...(r??this._anchorWorksheet())?.getEntireRange().getCoords()},a=r?.getName();if(a&&(i.scope=a),typeof e==`string`){let t=e.trim().toLowerCase();if(t===`r`||t===`c`){let n=this.getSelectedCell().getCoords(),r={};t===`r`?r.rowStart=r.rowEnd=n.rowIndex:r.colStart=r.colEnd=n.colIndex,e=r}}let o=this,s=Re(e,i,_e,e=>{if(!t)return null;if(typeof e==`string`){let t=Ve(e,{getTable:e=>Le(o.getNames().getByName(e)),getAnchor:()=>r?{sheet:r,coords:r.getSelectedCell().getCoords()}:null});if(t)return[t];let n=o.getNames().getByName(e)?.getRanges?.();if(n)return n.getCoords()}throw new h(`Invalid sheet reference '${e}'.`)}),c=s.length;for(let e=0;e<c;e++)this._validateCoords(s[e],n);return s}_validateCoords(e,t=N.Visibility.Visible,n=_(`error.sheet.oobRange`)){if(e===null)return;let r=this.getWorksheet(e.scope??void 0,t).getEntireRange().getCoords();if(!o.isRangeWithinRange(e,r))throw new d(n);if(e.rowEnd<e.rowStart||e.colEnd<e.colStart)throw new h(_(`error.address.invalidRangeInverted`))}_updateSheetRef(e,t){let n=this._getState(),r=[...n.sheetRefsAll];r[this._getOffsetForId(e.id,n.sheetRefsAll)]=t,this._updateSheetRefStates(r);let i=new Map(n.refsById);i.set(e.id,t);let a=e.name.toLowerCase(),o=t.name.toLowerCase(),s=new Map(n.refsByLowerCaseName);s.delete(a),s.set(o,t);let c=new Map(n.sheetsByLowerCaseName),l=c.get(a);c.delete(a),c.set(o,l);let u=new Map(n.refsByInstance);return u.set(l,t),this._updateState({refsById:i,refsByLowerCaseName:s,sheetsByLowerCaseName:c,refsByInstance:u}),this._tellSheets(),t}_setSheetName(e,t,n){if(this._closed)throw Error(_(`error.workbook.modelClosed`));if(!this.getProtection().isStructureAllowed())throw new c(_(`error.workbook.protection`));let r=this._getSheetRef(e);if(!r)throw new h(Z(e));if(t===r.name)return r.sheet;if((t=this._validateNewSheetName(t))==null)throw new h(_(`error.workbook.sheetNameNotProvided`));let i=Object.freeze({...r,name:t}),o=null,s=this.beginCommit(a(`op.renameSheet`));try{let e=this._updateSheetRef(r,i);this._adjustSheetNamesIfRequired(),this._sheetOnNameChange.forEach((e,t)=>{r.id===t&&e()}),this._emitter.notify(`onSheetsChange`),r.id===this.getView().getActiveSheetId()&&this._emitter.notify(`onSelectionChange`),o=e.sheet,s.commit(n)}catch(e){throw s.rollback(),e}return o}_setSheetVisibility(e,t=N.Visibility.Visible,n){if(this._closed)throw Error(_(`error.workbook.modelClosed`));if(!this.getProtection().isStructureAllowed())throw new c(_(`error.workbook.protection`));let r=this._getSheetRef(e,N.Visibility.VeryHidden);if(!r)return null;if(t===r.visibility)return;let i=null,o=``;t===N.Visibility.Visible?o=a(`op.unhideSheet`):t===N.Visibility.Hidden?o=a(`op.hideSheet`):t===N.Visibility.VeryHidden&&(o=a(`op.veryHideSheet`));let s=this.beginCommit(o);try{let e=this._getState().sheetRefsVisible;if(t!==N.Visibility.Visible&&e.length===1&&e[0].id===r.id)throw new h(_(`error.workbook.sheetOne`));let a={...r,visibility:t},o=-1;t!==N.Visibility.Visible&&(o=this._getOffsetForId(r.id,e)),i=this._updateSheetRef(r,a).sheet,t!==N.Visibility.Visible&&this._adjustRemoveSelectionIfRequired(o,r.id),this._adjustSheetNamesIfRequired(),s.commit(n)}catch(e){throw s.rollback(),e}return this._sheetOnVisibilityChange.forEach((e,t)=>{r.id===t&&e()}),this._emitter.notify(`onSheetsChange`),i}_moveSheet(e,t,n){if(this._closed)throw Error(_(`error.workbook.modelClosed`));if(!this.getProtection().isStructureAllowed())throw new c(_(`error.workbook.protection`));let r=null,i=this.beginCommit(_(`op.moveSheetNamed`,{name:e.name}));try{let a=this._getState(),o=a.sheetRefsVisible;if(t<0||t>o.length-1)throw new h(`Invalid to index: ${t}`);let s=this.getView().getActiveSheetId(),c=a.sheetRefsAll,l=this._getOffsetForId(e.id,c),u=this._getOffsetForId(o[t].id,c);if(l===u)return;let d=c[l],f=[...c];f.splice(l,1),f.splice(u,0,d),this._updateSheetRefStates(f),this._calculation._replaceSheetSpans?.(c.map(e=>e.sheet.getId()),f.map(e=>e.sheet.getId()),d.sheet.getId()),this._adjustSheetNamesIfRequired(),this._sheetOnIndexChange.forEach((e,t)=>{t>=l&&t<=u&&e()}),this._tellSheets(),this._emitter.notify(`onSheetsChange`),r=d.sheet,this._recordActiveSheet(i,s,this.getView().getActiveSheetId()),i.commit(n)}catch(e){throw i.rollback(),e}return r}_setSelectedSheet(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));let t=this._getSheetRef(e);if(!t)throw new h(Z(e));let n=null;return t.visibility!==N.Visibility.Visible&&this._setSheetVisibility(t,N.Visibility.Visible),this._view.setActiveSheetId(t.id),n=t.sheet,n}getProtection(){return this._protection}getProperties(){return this._documentProperties}getCodeName(){return this._codeName}getNames(){return this._names}getCalculation(){return this._calculation}getFonts(){return et.getShared()}createFormula(e,t,n){return this.getCalculation().createFormula(e,t,n)}evaluate(e,t){return this.getCalculation().evaluate(e,t)}async whenCalculationReady(){let e=this._starting;return e?e.then(()=>this.getCalculation().ready()):this.getCalculation().ready()}whenFontsReady(){return this.getFonts().whenReady()}async whenReady(){await Promise.all([this.whenCalculationReady(),this.whenFontsReady()])}getScripts(){return this._scripts||=this._createScripts(),this._scripts}getModules(){return this.getScripts().getModules()}_notifyAllChange(){this._emitter.notify(`onSheetsChange`),this._emitter.notify(`onSelectedSheetChange`),this._emitter.notify(`onViewChange`)}addListeners(e,t){return this._emitter.addListeners(e,t)}_sheetToWBEvent(e){let t=this,n=e=>{if(e.isInvalid())return e;let n=e.getWorksheet().getName();if(e.isICellRanges){let r=e.getCoords().map(e=>e.scope?e:{...e,scope:n});return t.getRanges(r)}let r=e.getCoords();return t.getRange(r.scope?r:{...r,scope:n})};return t=>{e({getSource:()=>n(t.getSource()),getRanges:()=>{let e=t.getRanges();return e?n(e):null},getPreviousAddress:()=>t.getPreviousAddress(),getTrigger:()=>t.getTrigger(),isUndo:()=>t.isUndo(),getCommit:()=>t.getCommit(),toString:()=>`WorkbookRangeEvent: ('${t.getTrigger()}', ${n(t.getSource()).toString()})`,getTimeStamp:()=>t.getTimeStamp()})}}_holdPivotCaches(){let e=this._pivotCaches;if(e.length===0)return;let t=e=>{let t=this._getSheetRef(e),n=t&&$(t)?t.sheet:null;return n?n._contentAddWatch(()=>null):null},n=e=>{for(let t of this._getSheetRefs(N.Visibility.VeryHidden)){if(!$(t))continue;let n=t.sheet;if(n.getTables().getByName(e))return n._contentAddWatch(()=>null)}return null},r=(e,t)=>{let n=this._getSheetRef(e);return n&&$(n)?n.sheet.getRange(t):null},i=e=>{for(let t of this._getSheetRefs(N.Visibility.VeryHidden)){if(!$(t))continue;let n=t.sheet.getTables().getByName(e);if(n)return n}return null},a=(e,t)=>{let n=this._pivotSourceNamed(e,t)?.getValue(),i=typeof n==`string`?I(n):null;return i&&/^\$?[A-Za-z]+\$?\d+(?::\$?[A-Za-z]+\$?\d+)?$/.test(i.reference)?r(i.sheet,i.reference.replaceAll(`$`,``)):null};for(let o=0;o<e.length;o++)this._getState().pivotCacheData.has(e[o].cacheId)&&(e[o]._hold(t,n),e[o]._watchSource(r,i,a))}_pivotCacheStore(e){return{get:()=>this._getState().pivotCacheData.get(e),set:t=>{this._updateState(n=>({...n,pivotCacheData:new Map(n.pivotCacheData).set(e,t)}),a(`op.refreshPivotTable`))}}}_getPivotCache(e){return this._getState().pivotCacheData.has(e)?this._pivotCaches.find(t=>t.cacheId===e)??null:null}_pivotSourceOf(e,t){if(e.isITable)return{name:e.getName()};let n=null;if(typeof e==`string`){for(let t of this._getSheetRefs(N.Visibility.VeryHidden))if($(t)&&t.sheet.getTables().getByName(e))return{name:e};if(this.getNames().getByName(e))return{name:e};if(t.getNames().getByName(e)?.getScope())return{name:e,sheet:t.getName()};let r=I(e),i=r?this._getSheetRef(r.sheet):null;if(r&&(!i||!$(i)))return null;try{n=r?i.sheet.getRange(r.reference):t.getRange(e)}catch(e){if(!(e instanceof h))throw e;return null}}else n=e.isICellRange?e:t.getRange(e);if(!n||n.isInvalid())return null;let{rowStart:r,colStart:i,rowEnd:a,colEnd:o}=n.getCoords();return{ref:me({rowStart:r,colStart:i,rowEnd:a,colEnd:o}),sheet:n.getWorksheet().getName()}}_findPivotCache(e){let t=(e,t)=>(e??``).toLocaleLowerCase()===(t??``).toLocaleLowerCase();return this._pivotCaches.find(n=>{if(!this._getPivotCache(n.cacheId)||!n._getData().model||n._isStale())return!1;let r=n._getSource();return!!r&&t(r.ref,e.ref)&&t(r.sheet,e.sheet)&&t(r.name,e.name)})??null}_addPivotCache(e){let t=this._pivotCaches.reduce((e,t)=>Math.max(e,t.cacheId),-1)+1,n=this._pivotCacheStore(t);n.set({part:null,model:e,partFormats:null,source:null});let r=new q(t,n);return this._pivotCaches.push(r),this._holdPivotCaches(),r}async _refreshPivotCaches(e,t){let n=[];for(let t of this._getSheetRefs(N.Visibility.VeryHidden))if($(t))for(let r of t.sheet.getPivotTables().getItems())e.has(r.getCacheId())&&n.push(r);for(let e of n)e._assertRefreshAllowed();for(let r of e){let e=this._getPivotCache(r),i=e?await this._pivotSourceRangeOf(e._getSource()):null;if(!e||!i)throw new h(_(`error.pivotTable.refreshSourceUnsupported`));if(i.getRowCount()<2)throw new h(_(`error.pivotTable.refreshSourceTooSmall`));i.getWorksheet()._cellBuffer?.release();let a=e.toJSON();if(!a.fields)throw new h(_(`error.pivotTable.refreshSourceUnsupported`));let{model:o,remap:s}=t.refreshPivotCache(a,t.readPivotSource(i),e._getSource()??void 0,this._isDate1904);e._replace(o);for(let e of n)e.getCacheId()===r&&e._remapCache(s,t)}for(let e of n)await e._prepareRelayout(t);for(let e of n)e._refresh(t)}async _refreshPivotCachesOnLoad(){let e=this._pivotCaches.filter(e=>!!e._getData().model?.refreshOnLoad);if(e.length===0)return;let t=await ot.load();for(let n of e){if(this._closed)return;try{await this._transactions.doBatch(()=>this._refreshPivotCaches(new Set([n.cacheId]),t))}catch(e){if(!(e instanceof h||e instanceof c))throw e}}}async _pivotSourceRangeOf(e){if(!e)return null;if(e.ref){if(!e.sheet||e.ref.includes(`#REF!`))return null;let t=this._getSheetRef(e.sheet);return t&&$(t)?t.sheet.getRange(e.ref):null}if(!e.name)return null;if(!e.sheet)for(let t of this._getSheetRefs(N.Visibility.VeryHidden)){if(!$(t))continue;let n=t.sheet.getTables().getByName(e.name);if(!n||n.isDeleted())continue;let{rowEnd:r}=n.getDataRange().getCoords();return t.sheet.getRange({...n.getRange().getCoords(),rowEnd:r})}let t=await this._pivotSourceNamed(e.name,e.sheet??null)?.evaluate(),n=t?.isIReferenceRange?t.getCoords():null;if(!n?.scope)return null;let r=this._getSheetRef(n.scope);return r&&$(r)?r.sheet.getRange(n):null}_pivotSourceNamed(e,t){if(!t)return this.getNames().getByName(e);let n=this._getSheetRef(t);if(!n||!$(n))return null;let r=n.sheet.getNames().getByName(e);return r?.getScope()?r:null}_holdPivotSlicers(){let e=(e,t)=>{let n=this._getSheetRef(e);return(n&&$(n)?n.sheet:null)?.getPivotTables().getByName(t)??null};for(let t of this._getSheetRefs(N.Visibility.VeryHidden)){if(!$(t))continue;let n=t.sheet.getMovables().getItems();for(let t=0;t<n.length;t++){let r=n[t].getContent();r.isISlicer&&r._holdPivotTables(e)}}}_fromJSON(e,t){if(this._emitter.notify(`onBeforeLoad`,{params:e}),this._initState(),!e.sheets||e.sheets.length===0)throw new h(_(`error.workbook.sheetOne`));e.theme&&(this._theme=new pe(e.theme),this._styles.setTheme(this._theme));let n=this._strings.beginPersist(),r=this._resources.beginPersist(),i=this._styles.beginPersist(),a=this._richValues.beginPersist();try{n.fromJSON(e.strings),r.fromJSON(e.resources),this._fetch.adopt(this._resources.getItems()),i.fromJSON(e.styles),a.fromJSON(e.richData,{resources:this._resources,strings:this._strings,fromResourceId:e=>r.fromResourceId(e)??null},e.richTypes),e.date1904&&(this._isDate1904=!0),this._codeName=e.codeName??null,this._updateLinks=e.updateLinks??null,this._hiddenPivotFieldList=!0===e.hiddenPivotFieldList,this._documentProperties.fromJSON(e.properties),e.locale&&(this._locale=e.locale),e.localeOverrides&&(this._localeOverrides=e.localeOverrides),e.view||={};let o=[],s=new Map,c=e.pivotCaches;if(c){let e=r.fromResourceId.bind(r);for(let t=0;t<c.length;t++){let n=c[t];n&&typeof n.cacheId==`number`&&!s.has(n.cacheId)&&s.set(n.cacheId,q.dataOf(n,e))}}this._updateState({pivotCacheData:s});for(let e of s.keys())o.push(new q(e,this._pivotCacheStore(e)));this._pivotCaches=o,this._people.fromJSON(e.people);let l=e.sheets,u=l.length,d=e.view.activeSheetId??null;d!==null&&(d=Math.min(Math.max(0,d),u-1));let f=null,p=null;this._isLoadingSheets=!0;for(let e=0;e<u;e++){let n=l[e],i=n.visibility||N.Visibility.Visible,a=e;p=a,i===N.Visibility.Visible?f===null&&(f=a):d!==null&&d===a&&(d=null);try{let o=n.kind??N.Kind.Worksheet;if(o!==N.Kind.Worksheet){let s=n.sheet,c=j.fromJSON(s?.part,r.fromResourceId.bind(r));if(!c)throw new h(_(`error.workbook.sheetPartMissing`,{sheetName:n.name}));this._createOpaqueSheet(a,n.name,i,e,n.sheetId,o,c,s?.tabColor??null,t?.[e])}else this._createSheet(a,n.name,i,e,n.sheetId,n.sheet,t?.[e])}catch(e){throw this._isLoadingSheets=!1,e}}this._isLoadingSheets=!1,this._tellSheets(),this._holdPivotCaches(),this._holdPivotSlicers();for(let e of this._getSheetRefs(N.Visibility.VeryHidden))$(e)&&e.sheet._tellPivots();this._updateState({lastId:p}),e.view.activeSheetId=d??f,this.setView(new rn({json:e.view})),this._adjustSheetNamesIfRequired(),this._listenerProtection?.();let m=this;this._protection=new on(e?.protection,this._options?.readonly),this._listenerProtection=this._protection.addListeners({onChange:e=>{m._emitter.notify(`onProtectionChange`,{source:e})}}),this._emitter.notify(`onLoad`)}finally{a.endPersist(),i.endPersist(),r.endPersist(),n.endPersist()}}async _startFunctions(){let e=this._scripts;if(!e)return r.EmptyArray;await e._load();let t=[];for(let n of e.getModules().getItems())this._startModules.add(n),t.push(...n.getFunctions().getItems({type:`formula`,includeHidden:!0}));return t}_createScripts(e){let t=this;return new Kt({transactions:this._transactions,json:e,workbook:t,getBuiltInFunctions:()=>t._calculation?.getFunctions(),onAdd:(e,n)=>{let r=t._calculation;r.getStatus()!==Te.Status.Off&&r.start().then(async()=>{if(t._startModules.has(n))return;let e=n.getFunctions().getItems({type:`formula`,includeHidden:!0}),r=e.length;for(let t=0;t<r;t++){let n=e[t];try{await this._calculation.getFunctions().add(n)}catch(e){m.error(e?.message??String(e),e)}}}).catch(()=>{})},onRemove:(e,t)=>{}})}async toJSON(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));await Promise.resolve(this._starting);let t=this.getCalculation();t.getStatus()!==Te.Status.Off&&(await t.ready(),await t._whenRequestsSettled?.()),await this._emitter.notify(`onBeforeSave`,{async:!0});let n={sheets:[]},r=e?.ignoreStyles??!1;if(!r){let e=this._theme.toJSON();(e?Object.keys(e).length:0)>0&&(n.theme=e)}if(this._scripts){let e=this._scripts.toJSON();e&&Object.keys(e).length>0&&(n.modules=e)}this._isDate1904&&(n.date1904=!0),this._codeName&&(n.codeName=this._codeName),this._updateLinks&&(n.updateLinks=this._updateLinks),this._hiddenPivotFieldList&&(n.hiddenPivotFieldList=!0);let i=this._documentProperties.toJSON();Object.keys(i).length>0&&(n.properties=i),this._locale&&(n.locale=this._locale),this._localeOverrides&&(n.localeOverrides=this._localeOverrides);let a=e?.resources??`embed`,o=a===`ignore`,s=this._strings.beginPersist(),c=o?null:this._resources.beginPersist(),l=this._styles.beginPersist(),u=this._richValues.beginPersist();try{let t=this._getSheetRef(this.getSelectedSheetIndex()).id,i=t,d=null,f=this._getState(),p=f.sheetRefsAll,m=f.sheetsById,h=p.length;for(let r=0;r<h;r++){let a=p[r],o=r+1,s,l=m.get(a.id);if($(a))s={name:a.name,sheet:await a.sheet.toJSON(e)};else{let e=l,t=c?c.toResourceId.bind(c):()=>null,n={part:j.toJSON(e._getPart(),t)},r=e.getTabColor();r&&(n.tabColor=r.toString()),s={name:a.name,kind:e.getKind(),sheet:n}}a.sheetId!==void 0&&(s.sheetId=a.sheetId),a.visibility===N.Visibility.Visible?d===null&&(d=o):s.visibility=a.visibility,a.id===t&&(i=o),n.sheets.push(s)}if(!r){let e=l.toJSON();e&&Object.keys(e).length>0&&(n.styles=e)}let g=this.getProtection().toJSON();g&&(n.protection=g);let _=this._calculation.toJSON();Object.keys(_).length>0&&(n.calc=_);let v=await s.toJSONAsync();v&&v.length>0&&(n.strings=v);let y=await u.toJSONAsync(c?c.toResourceId.bind(c):void 0);if(y.length>0){n.richData=y;let e=u.toKindsJSON();e.length>0&&(n.richTypes=e)}let b=this._calculation.getExternalBooks().toJSON();b&&(n.externalBooks=b);let x=this._pivotCaches;if(x.length>0){let e=c?c.toResourceId.bind(c):()=>null,t=new Set;for(let e of this.getPivotTables())t.add(e.getCacheId());let r=Je(this);for(let e=0;e<r.length;e++){let n=r[e].toJSON()?.pivot?.cacheId;n!==void 0&&t.add(n)}let i=[];for(let n=0;n<x.length;n++)t.has(x[n].cacheId)&&i.push(x[n].toJSON(e));i.length>0&&(n.pivotCaches=i)}let S=this._people.toJSON();if(S&&(n.people=S),!o){let e=await c.toJSONAsync(typeof a==`function`?a:void 0);e&&e.length>0&&(n.resources=e)}let C=this._calculation.getNamedFormulas().toJSON();C&&C.length>0&&(n.names=C);let w=this._view.toJSON();w&&(i===d?delete w.activeSheetId:w.activeSheetId=i,Object.keys(w).length>0&&(n.view=w))}finally{u.endPersist(),l.endPersist(),o||c.endPersist(),s.endPersist()}return this._emitter.notify(`onSave`,{params:n}),n}isClosed(){return this._closed}close(){if(this._closed)return;this._emitter.notify(`onClose`);let e=this._getState();e.listenersSheets.forEach(e=>{e()}),e.listenersSheets.clear();let t=e.sheetRefsAll;for(let e=t.length-1;e>=0;e--)try{t[e].sheet.close()}catch(e){console.warn(`error on close`,e)}this._ownResources,this._ownNames&&this._names.close(),this._ownCalculation&&this._calculation.close(),this._ownStyles,this._transactionsRemoveListener?.(),this._listenerLanguage?.(),this._listenerOrigin?.(),this._listenerOriginProvider?.(),this._ownOriginProvider&&this._originProvider instanceof Ct&&this._originProvider.release(),this._closed=!0}beginCommit(e){if(this._closed)throw Error(_(`error.workbook.modelClosed`));return this._beginCommit(typeof e==`string`?{description:e}:e)}doBatch(e,t){let n=this;t=typeof t==`string`?{description:t}:{description:a(`op.updateWorkbook`),...t};let r=y.bind(this._transactions,this,e);return this._transactions.doBatch(r.callback,{...t,onChildCommit:r.onChildCommit},(e,t)=>{r.close(),e.getDepth()===0&&(n._lastTransactionUUID=e.getId())})}_beginCommit(e){let t=this;return this._transactions.beginCommit(typeof e==`string`?{description:e}:e,e=>{e.getDepth()===0&&(t._lastTransactionUUID=e.getId())})}_getState(){return this._transactions.getState(this._id)}_updateState(e,t=a(`op.updateWorkbook`),n){if(!e)return;let r=this._beginCommit(t);try{r.updateState(this._id,e),r.commit(n)}catch(e){throw r.rollback(),e}}get options(){return this._options}get[Symbol.toStringTag](){return`[Workbook]`}toString(){return`[${this.getName()??`(untitled)`}]`}get isIWorkbook(){return!0}},Cn={address:null},$=e=>e.sheet.getKind()===N.Kind.Worksheet,wn=class{constructor(){this._readFormats=[],this._writeFormats=[],this._encryptions=[]}async registerReadFormat(e){this._readFormats=await this._registerFormatType(e,this._readFormats)}async registerWriteFormat(e){this._writeFormats=await this._registerFormatType(e,this._writeFormats)}async registerEncryption(e){if(!e)throw Error(`encryption must be provided.`);if(!e.key)throw Error(`encryption.key must be provided.`);let t=e.key.toLowerCase(),n=this._encryptions.findIndex(e=>e.key.toLowerCase()===t);if(n!==-1){let t=[...this._encryptions];t[n]=e,this._encryptions=Object.freeze(t)}else this._encryptions=Object.freeze([...this._encryptions,e])}async getEncryption(e){return this.peekEncryption(e)}peekEncryption(e){if(!e)return this._encryptions[0]??null;let t=e.toLowerCase();return this._encryptions.find(e=>e.key.toLowerCase()===t)??null}async detectEncryption(e){for(let t of this._encryptions)if(await t.detect(e))return t;return null}async getReadFormats(e){return e?this._filterFormats(e,this._readFormats):[...this._readFormats]}async getWriteFormats(e){return this._writeFormats?e?this._filterFormats(e,this._writeFormats):[...this._writeFormats]:[]}async _registerFormatType(e,t){return this._registerFormatTypeSync(e,t)}_registerFormatTypeSync(e,t){if(!e)throw Error(`format must be provided.`);if(!e.key)throw Error(`format.key must be provided.`);let n=e.key.toLowerCase(),r=t.findIndex(e=>e.key.toLowerCase()===n);if(r!==-1){let n=[...t];return n[r]=e,Object.freeze(n)}return Object.freeze([...t,e])}_filterFormats(e,t,n){if(!e||Object.keys(e).length===0){if(!n)return[...t];e={ext:n}}let r=e.search?.toLocaleLowerCase();return t.filter(t=>{if(r){let e=t.key.toLocaleLowerCase().includes(r),n=!!t.exts&&t.exts.some(e=>e.toLocaleLowerCase().includes(r)),i=!!t.mimeType&&t.mimeType.toLocaleLowerCase().includes(r),a=!!t.tags&&t.tags.some(e=>e.toLocaleLowerCase().includes(r)),o=!!t.description&&t.description.toLocaleLowerCase().includes(r);if(!(e||n||i||a||o))return!1}let i=e.ext||n;if(i){let e=i.toLocaleLowerCase();if(!t.exts.some(t=>t.toLocaleLowerCase()===e))return!1}if(e.mimeType&&t.mimeType!==e.mimeType||e.key&&t.key.toLocaleLowerCase()!==e.key.toLocaleLowerCase())return!1;if(e.tags){let n=t.tags||[];if(!(typeof e.tags==`string`?[e.tags]:e.tags).every(e=>n.includes(e)))return!1}return!0})}},Tn=new WeakMap,En=e=>!!e&&typeof e==`object`&&typeof e.getPath==`function`&&typeof e.canWrite==`function`,Dn=new class{constructor(){this._setInstalled=new WeakSet,this._backingStore=null,this._emitter=new b(this),this._registry=new wn,this._defaultStore=new Tt(()=>this.getWriteFormats(),()=>this.getReadFormats())}getBackingStore(){return this._backingStore??this._defaultStore}setBackingStore(e){this._backingStore=e??null}canWrite(){return typeof this.getBackingStore().write==`function`}canRead(){return typeof this.getBackingStore().read==`function`}async install(e){this._setInstalled.has(e)||(await e.register(this._registry),this._setInstalled.add(e))}addListeners(e,t){return this._emitter.addListeners(e,t)}addCommitListener(e){return this._emitter.addListeners({onWrite:(t,n)=>{n.save&&e.onCommit?.({store:n.workbook.getTransactions(),commitId:n.commitId})}})}async getReadFormats(e){return this._registry.getReadFormats(e)}async getWriteFormats(e){return this._registry.getWriteFormats(e)}getOrigin(e){return new V(e)}async read(e){let t=null;if(typeof e==`string`)e={source:e};else if(En(e)){let n=e.getPath();if(!n)throw Error(`Cannot read from an unbound origin (no path).`);xt(e)?e={source:n,asCopy:!0}:(t=e,e={source:n})}let n=e??{},{source:r=null,...i}=n,a=this.getBackingStore();return(a.read?a:this._defaultStore).read({source:r,options:i,decode:(e,r)=>this._decodeBuffer(e,r,n,t)})}async _decodeBuffer(e,t={},n,r=null){let i=t.format,a=t.ext;if(!i&&!a)throw Error(`Either format or file extension must be provided to determine read type.`);let o=(await this._registry.getReadFormats(i?{search:i}:{ext:a}))[0];if(!o)throw new h(_(`error.io.readFormatUnavailable`,{format:i??a}));let s=n?.typedCreateWorkbookOptions,c=s?Object.keys(s).find(e=>e.toLowerCase()===o.key.toLowerCase()):void 0,l={...n,...c===void 0?void 0:s[c]};delete l.typedCreateWorkbookOptions,delete l.source,delete l.asCopy;let u=r??new V(t.absolutePath??null,{name:t.name??null,format:o.key,size:t.size??null,lastModified:t.lastModified??null,canWrite:t.canWrite??!1});r instanceof V&&r.update({format:o.key,size:t.size??null,lastModified:t.lastModified??null}),l.createWorkbookOptions={...l.createWorkbookOptions||{},origin:u},l.readonly!==void 0&&(l.createWorkbookOptions={readonly:l.readonly,...l.createWorkbookOptions},delete l.readonly),l.calcOnly&&(l.createWorkbookOptions={disableLoadAutoFit:!0,...l.createWorkbookOptions});let d=await this._decrypt(e,u,l);if(d===null)return null;e=d.bytes;let f=l?.progress?.onStart?.bind(l.progress);f&&await Promise.resolve(f(u,t.size));try{let t=await this._readArrayBuffer(e,o,l);return d.password!==null&&u.setPassword(d.password),l?.progress?.onComplete?.(u),this._emitter.notify(`onRead`,{params:{workbook:t,origin:u},transactional:!1}),t}catch(e){throw l?.progress?.onError?.(e),l?.progress?.onComplete?.(null),e}}async _decrypt(e,t,n){let r=await this._registry.detectEncryption(e);if(t instanceof V&&t.update({encryption:r?r.key:null}),!r)return{bytes:e,password:null};let i=null,a=async t=>{try{return i=await r.decode(e,t),!0}catch(e){if(!(e instanceof f))throw e;return!1}};if(n?.password&&await a(n.password))return{bytes:i,password:n.password};if(!n?.onPassword){let e=t.getName();throw new l(e?_(`error.io.passwordRequired`,{name:e}):_(`error.io.passwordRequiredUnnamed`))}let o=await Promise.resolve(n.onPassword({origin:t,encryption:r.key,validate:a}));if(o==null)return null;if(i!==null||await a(o))return{bytes:i,password:o};throw new f(_(`error.io.passwordIncorrect`))}async writeArrayBuffer(e,t){if(!t?.format)throw Error(`A format must be specified to write to an ArrayBuffer (e.g. { format: 'xlsx' }).`);let n=(await this._registry.getWriteFormats({search:t.format}))[0];if(!n)throw new h(_(`error.io.writeFormatUnavailable`,{format:t.format}));return this._writeArrayBuffer(e,n,t)}async write(e,t,n){return typeof t==`string`||En(t)?this._write(e,t,!1,n):this._write(e,e?.getOrigin?.(),!0,t??n)}async writeAs(e,t,n){if(!t)throw Error(`A target must be provided for writeAs (use write(workbook) for a plain save).`);return this._write(e,t,!0,n)}async _write(e,t,n,r){if(!e)throw Error(`Workbook must be provided.`);if(!e.isIWorkbook)throw Error(`Invalid workbook model provided. Must be an instance of IWorkbook.`);let i=typeof t==`string`?this.getOrigin(t):t,a=i.getFormat(),o;if((r?.format||a)&&(o=(await this._registry.getWriteFormats({search:r?.format??a??void 0}))[0]),o||i.getPath()&&i.canWrite()&&i.getExtension()||(o=(await this._registry.getWriteFormats({ext:`sxl`}))[0]??(await this._registry.getWriteFormats())[0]),!o)throw new h(_(`error.io.writeFormatUnresolved`));let s=i.getExtension();if(r?.format&&s&&i.getPath()&&i.canWrite()&&!o.exts.includes(s)){let e=(await this._registry.getWriteFormats({ext:s}))[0];if(e&&e.key!==o.key){let e=i.getPath().split(/[/\\]/).pop();throw new h(_(`error.io.writeFormatMismatch`,{format:r.format,file:e}))}}if(typeof t==`string`){let e=i.getPath();i=new V(B(e)?e:`${e}.${o.exts[0]}`,{format:o.key})}let c=i.getEncryption(),u=e.getOrigin?.(),d=(i instanceof V?i.getPassword():null)??(u instanceof V?u.getPassword():null),f=i.isEncrypted()||(u?.isEncrypted()??!1),p=r?.password===void 0?d??(f?void 0:null):r.password,m=null;if(p===void 0){if(f){let e=i.getName();throw new l(e?_(`error.io.passwordRequiredSave`,{name:e}):_(`error.io.passwordRequiredSaveUnnamed`))}}else if(p!==null&&(m=await this._registry.getEncryption(c),!m))throw new h(_(`error.io.encryptionUnavailable`));let g=`${i.getName()??_(`workbook.defaultName`)}.${o.exts[0]}`,v=r?.progress,y=!i.getPath()||!i.canWrite()||!!r?.prompt,b=!1,x=this,S=null,C=[],w={workbook:e,format:o,origin:i,suggestedName:g,prompt:r?.prompt,async encode(t,a){let s=a??i;await(async e=>{b||(b=!0,v?.onStart&&await Promise.resolve(v.onStart(e)))})(s),S=e.getTransactions?.()?.getCurrentCommit()??S;let c=t?(await x._registry.getWriteFormats({search:t}))[0]??o:o,l=[],u=((e,t)=>({onStart:e?.onStart?(t,n)=>e.onStart(t,n):void 0,onProgress:e?.onProgress?(t,n)=>e.onProgress(t,n):void 0,onError:e?.onError?t=>e.onError(t):void 0,onComplete:e?.onComplete?t=>e.onComplete(t):void 0,onWarning:(n,r)=>{t.push({message:n??``,context:r}),e?.onWarning?.(n,r)}}))(v,l),d=await x._writeArrayBuffer(e,c,{...r,progress:u}),f=Tn.get(s);if(l.some(e=>!f?.has(e.message))&&r?.onWarnings){let t=await Promise.resolve(r.onWarnings({workbook:e,origin:s,warnings:l,save:n,canCancel:!y}));if(!y&&!1===t)return null}return C=l,m?m.encode(d,p):d}},T=null;try{let t=this.getBackingStore();if(!t.write)throw Error(`The active backing store is read-only (no write implementation).`);if(T=await t.write(w),T){if(p!==void 0&&T instanceof V&&(T.setPassword(p),T.update({encryption:m?m.key:null})),C.length){let e=Tn.get(T)??new Set;for(let t of C)e.add(t.message);Tn.set(T,e)}n&&T!==e.getOrigin()&&xt(e.getOrigin())?.setOrigin(T);let t=S??e.getTransactions?.()?.getCurrentCommit()??null;this._emitter.notify(`onWrite`,{params:{workbook:e,origin:T,commitId:t?.getId()??null,save:n},transactional:!1})}v?.onComplete&&await Promise.resolve(v.onComplete(T))}catch(e){let t=e instanceof Error?e:Error(String(e));throw v?.onError&&await Promise.resolve(v.onError(t)),v?.onComplete&&await Promise.resolve(v.onComplete(null)),t instanceof h?t:Error(_(`error.io.writeFailed`,{reason:t.message}),{cause:e})}return T}_stripExtension(e){let t=B(e);return t?e.slice(0,e.length-t.length-1):e}_baseName(e){if(!e)return null;let t=e.split(/[?#]/)[0],n=t.split(/[/\\]/).pop()??t;return this._stripExtension(n)||null}async _writeArrayBuffer(e,t,n){if(!t)throw Error(`A write format must be provided.`);let r=t.handler;if(!r)throw Error(`Unable to resolve a write handler for '${t.key}'.`);return pt(t.key)||await R.assertUsable(`exports`,0),r(e,{...n,format:t.key})}async _readArrayBuffer(e,t,n){if(!e)throw Error(`ArrayBuffer must be specified.`);if(!t)throw Error(`format must be specified.`);if(e.byteLength===0)return new Sn(n?.createWorkbookOptions);let r=t.handler;if(!r)throw Error(`Unable to resolve a read handler for '${t.key}'.`);let i;try{i=await r(e,n)}catch(e){throw e instanceof h?e:new h(_(`error.io.readFailed`,{format:t.description??t.key,reason:e?.message??String(e)}),{cause:e})}return await Ze(),i}get isIWorkbookIO(){return!0}},On=[`.woff2`,`.woff`,`.ttf`,`.otf`,`.ttc`,`.otc`].map(e=>({suffix:e,place:(e,t)=>t?`${t}/${e}`:e})),kn={suffix:`.metrics.json`,async extract(e){let t=await e.readJson();return t?.format===`sheetxl-font-metrics/1`?{family:t.family,weight:t.weight,italic:t.italic}:null},place:(e,t)=>t?`${t}/${e}`:e};[kn.place,kn.place,...On];var An;An||={};var jn,Mn,Nn;jn||={},(Mn||={}).Type={Button:`button`,CheckBox:`checkBox`,OptionButton:`optionButton`,ListBox:`listBox`,DropDown:`dropDown`,ScrollBar:`scrollBar`,Spinner:`spinner`,GroupBox:`groupBox`,Label:`label`,EditBox:`editBox`,Dialog:`dialog`,Unknown:`formControl`},(Nn||={}).DropStyle={Combo:`combo`,ComboEdit:`comboEdit`,Simple:`simple`};export{bt as a,Dn as c,kt as d,It as f,V as i,Wt as l,K as n,Y as o,en as p,_t as r,Lt as s,tn as t,Sn as u};