@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.
- package/LICENSE.md +8 -7
- package/agent/instructions.md +15 -4
- package/assets/{Cf9LpgZz-W5blzy_.js → -cMvbaW1kvHslPKX.js} +3 -3
- package/assets/{BFdeov2e_xUQPEY_.js → 0kfwZuOHUkJmVjg6.js} +7 -7
- package/assets/{B7gUyrfLln3TiyKM.js → 1feDuXw6tBXu2XFg.js} +2 -2
- package/assets/{BbAmA46MhQSu3ZF_.js → 4qMP71Fe1Ep8kbOX.js} +2 -2
- package/assets/{CduNzsdbTigxH-ZK.js → 7TRx0dMYnL2i4tqL.js} +163 -163
- package/assets/{DEW2GxfGYqVFvrfg.js → 8cVPexxAVrFJ9QLX.js} +2 -2
- package/assets/{C4z2IilWTuu2TWXw.js → APP8AzsNgQXHTalA.js} +3 -3
- package/assets/{BleMG0hAQgjE8fTa.js → AnF1Kh3Vo2AniIYO.js} +3 -3
- package/assets/{C0CiMKC3lWK1z9p5.js → B2BfjRdJGZs6afVL.js} +3 -3
- package/assets/{BFXeoFUbuc4IKTz9.js → B2UxLSteMiPlg8Uu.js} +2 -2
- package/assets/{BJxfinOazQqqByc-.js → B3mh2tuvP-lMP6f_.js} +2 -2
- package/assets/{PpFbmF0DFeUdpb9I.js → B6NnxkSmEzCGZEZA.js} +2 -2
- package/assets/{xmTQJJVyCrcq77WR.js → B7Nqa7V-v0cxGBux.js} +2 -2
- package/assets/{DsCI_ZYm_jDjXF3J.js → B7OyFSpBb1eBvMVd.js} +52 -52
- package/assets/{ClNQN3vEg5b5qUDp.js → B8JX7a6VZlBNA_Bd.js} +2435 -2447
- package/assets/{DPCKMM7sgWbrtB8z.js → B9J8nV-dh6jHpzZI.js} +2 -2
- package/assets/{BuUEsifnQALe49uk.js → B9M_sgHpoc-op6FF.js} +2 -2
- package/assets/{BeLr36oL3jmeXFFi.js → BBC_WF8BcAH-k_cQ.js} +2 -2
- package/assets/{B5lHOOQ_rkP4Mi2r.js → BGZ_ltNFYvnAmbVR.js} +2 -2
- package/assets/{iujMYIEPx_v3sdPf.js → BJBoygm-gY68bLAP.js} +996 -995
- package/assets/BJdWgj1hv57eGVl4.js +2039 -0
- package/assets/{DcWTBOi_iBFc6U4J.js → BKRLtOdVOUTrLjQN.js} +8 -8
- package/assets/{DpdHDTFOeuzDVNEe.js → BKjovBsLpX2Fkhov.js} +78 -77
- package/assets/{BCy1zP97fsiIcvj6.js → BMJhHHX2LWgOJWGz.js} +2 -2
- package/assets/{fDMpDhXp36CatF-G.js → BOx4Ut_Rme7NH34X.js} +2 -2
- package/assets/{9U9XCqqdn-q3i2fj.js → BQYpVYbvfWuUJgdx.js} +2 -2
- package/assets/{DJiLWtmPR2OQNjzi.js → BS4ZsfH5D6aemSpO.js} +2 -2
- package/assets/{BlPubAFi7DY7VrAo.js → BSAdmOdx3brRE9LW.js} +2 -2
- package/assets/{BtjqpAKczftx91BQ.js → BSY9Tbmz6VEY_F_x.js} +2 -2
- package/assets/{S16s2h9qoYVBlVEa.js → BT8AGlSg2t7V1QNj.js} +1454 -1366
- package/assets/{Dz8UUJ7Xc2oN5PBG.js → BUV7BlOZcuPgDZ__.js} +2 -2
- package/assets/{B2udpZ-uIaql3AUh.js → BX5xFncPLyeN7TqA.js} +6 -6
- package/assets/{CGBGyaCGdlZFQYK0.js → Bcak_hZpcIkB2gJD.js} +2 -2
- package/assets/{vZZi_iKYHm05gAye.js → BdijGsy5W7yZ_I_n.js} +2 -2
- package/assets/{CMWAsUQ66V8fYrME.js → BebXDUnlrDDRGW60.js} +3 -3
- package/assets/{wfVh0olISLRWdv9Q.js → BgldX21zhey2aR9D.js} +2 -2
- package/assets/{SHZe9VOU1prGs1F9.js → BhCbCEPpDzhg5nqL.js} +2 -2
- package/assets/{ZuYfVKlp41IJnrOS.js → Bj4BFLBC9Tf6SGSt.js} +2 -2
- package/assets/BjhAYfsKC8iEbtgn.js +169 -0
- package/assets/BjnQVl1lb1KEbt2D.js +529 -0
- package/assets/{CWl6oHiJxkNKRixk.js → BlbxiLf1zD6_fWZs.js} +2 -2
- package/assets/{BjqQjxBuoXza8oqg.js → BmM-nHMAAuNatCcN.js} +3 -4
- package/assets/{DD8HNAUFroTCuD-b.js → Bni-y4FJS4rkFYtn.js} +3305 -2147
- package/assets/{Cfhv_Yw_LT8VzAMt.js → BodrfKIAhDFD-X3t.js} +2 -2
- package/assets/{D8J14MLlN2HRXdXB.js → BvDcHHJvQMRHthm-.js} +2 -2
- package/assets/{hulrR0PldUxMJm_F.js → Bw_FtA-1886HMCLJ.js} +4 -4
- package/assets/{BOPsJmq7v7HOKUkO.js → Bxkx8QokmRNyXbOI.js} +12 -12
- package/assets/{CNz3LdmvsOEJoLO9.js → Bz1ImBvJwPwBrA5j.js} +2 -2
- package/assets/C2NPIWe0pLs3PAZM.js +7 -0
- package/assets/{LEJp05fjmflKgyqF.js → C2ZX6ffXsMaEr2d2.js} +452 -448
- package/assets/{Bg95xYj5siqhHVEz.js → C3Q-fjiZZ15waCq_.js} +3 -3
- package/assets/{CJ5WQnaoCsdr5gf4.js → C46RpMrfF6FiEFI7.js} +2 -2
- package/assets/{ChWpsFGl-BYOnX_A.js → C4deMY87Q_haYyLF.js} +2 -2
- package/assets/C7iHn3y3HVBHflpA.js +2563 -0
- package/assets/{C7ONfuYIWRmDu_vs.js → CJF3P7U7yBQVF2Cg.js} +2 -2
- package/assets/{DvUUArnZwoYOKOuk.js → CLgvdaqeFlESLvbF.js} +2 -2
- package/assets/{Crt2kLdGIlBHANgg.js → CLze192iF2o-aETZ.js} +2 -2
- package/assets/{F_f0jJqM5MrXGbwC.js → CMRLNLqYkiqCLMRa.js} +4 -4
- package/assets/{D-ffk16w8c5w0mxI.js → COa691om4fLN4CUy.js} +2 -2
- package/assets/CSLLHl-zum7m1CJl.js +14 -0
- package/assets/{DVchxwp6w6lu2Ihu.js → CUbCBf24Ie4A2l4R.js} +3 -3
- package/assets/{xnhBSX6lAcmBM65y.js → CWLleOolFzyT0COW.js} +2 -2
- package/assets/{Cg51xaLRUkVOMdCZ.js → CaJ9j3l0cERnYqDS.js} +2 -2
- package/assets/{BQMDOjNBMjAx9WiW.js → CfA8o-FNret9-D6Y.js} +2 -2
- package/assets/{BbcUxIZe3YXywsQR.js → Cl7HHR6Vc9S4n3AP.js} +2 -2
- package/assets/{BG5kgbDRXMc0re6W.js → CqjNsZ2OB4Kx6J3s.js} +9 -9
- package/assets/{By-7OWXShMlFFejV.js → CqwEHSKivMYw7tRZ.js} +2 -2
- package/assets/{BTQhJQ3e0hsiousD.js → Cr6lm0oXZJaaoAmD.js} +2 -2
- package/assets/{CudNpUD78SrtJIiy.js → CshK6Ew7OQ7mngI3.js} +3 -3
- package/assets/{DoILAmhKUOlKWRVw.js → CsiIgnb_L2x2Go6g.js} +2 -2
- package/assets/{Bn8D2bebQ2tFfwQt.js → CtmrBbpapaNwjwNB.js} +47 -45
- package/assets/{Diee6f_qAmcZBd2_.js → CwRhhoL5ynbe78dB.js} +2 -2
- package/assets/{DDnwKPJSznyfYDZS.js → CyI1eGGzJX8nJXaT.js} +3 -3
- package/assets/{BRzp6DEIYUgM3NkN.js → Cz4H3Qge2u8er3Ny.js} +4 -4
- package/assets/{D7oUtYjetuykGhQ5.js → D0OQ6ka8so0BWPwL.js} +2 -2
- package/assets/{_fUXIv6nKvgZkhxn.js → D336KioeSjd-T8n3.js} +3 -3
- package/assets/D5L35C8cbX16BSCF.js +4676 -0
- package/assets/{jadLBUNBVR9mbZ35.js → D5VFuX1h50V2jLmZ.js} +830 -515
- package/assets/{Bh0PNKlrR4VAqnP8.js → D6ON3ZLcTAXV3fO6.js} +35694 -30239
- package/assets/{LyLlBk--VJD2V-f8.js → DDhPOQPc-lpyZrUJ.js} +34 -34
- package/assets/{FzNG48GE_wso6RII.js → DE4xC78p5UtS7wH6.js} +2 -2
- package/assets/{OVRdpPUzR0-ueTxE.js → DF7-oRscXc_vkMo8.js} +2 -2
- package/assets/{CMK6tIDVqYYvK4GZ.js → DMuOMpgIhVgB3eG8.js} +2 -2
- package/assets/{CecTe22WURiXbVdY.js → DPKeRb9GKmh_WCPv.js} +386 -372
- package/assets/{oxjm7Yr7u7MeaO5P.js → DSsH28SW8CMrSL-q.js} +2 -2
- package/assets/{Btys7KwtvV3hz2F6.js → DV6WSFmSEKfb3d2s.js} +109 -109
- package/assets/{JO3zH9hupFSV6vj2.js → DYJcfrNUUJQtxXWX.js} +2 -2
- package/assets/{BZPTaa0WjpoUAbgZ.js → D_peM8fbRgGaWvpq.js} +2 -2
- package/assets/{DTfl-4Iboi6TQU5m.js → DeEZvPW-VvlE28oE.js} +4 -4
- package/assets/Dgi2xwb2DN2Gybj3.js +7 -0
- package/assets/{Cf2dcwmmmf13Rywg.js → DidhZpf9qJAei29Y.js} +2 -2
- package/assets/{DB-tkqI6wFXDKEfB.js → Dkg-LQVsZlrHk7A8.js} +2 -2
- package/assets/DnTfXqCnRCe-1QYI.js +199 -0
- package/assets/{B9US2ZrF93KOjmAx.js → DoBvgI3Ry8DlGzwQ.js} +2 -2
- package/assets/{DH7sGHzxUqIQkDnd.js → DrHVew6gwOB6oxCn.js} +2 -2
- package/assets/{CvngwB17_ve4W49b.js → Dre79rTMoYYikNuB.js} +69 -69
- package/assets/{_d5XJ7dn1CKKYrep.js → DsCNtBR5jCeqmLBS.js} +3 -3
- package/assets/{jPUOH4FHF4b-rapv.js → Dzz3yrKbECzg6caR.js} +2 -2
- package/assets/{BrcQmHcE7Hcr1erJ.js → FvxN6PPps-rNPDo8.js} +2 -2
- package/assets/G2Wjyx_ETCAcofwm.js +7166 -0
- package/assets/{CXHslDxkWCuEcCSQ.js → IGAV8DdYH32cW8XU.js} +2 -2
- package/assets/{U1XXGEPuuqIAzYl1.js → Jd71-QCmFEcDcYSw.js} +2 -2
- package/assets/{B-MqXm_7luDLwazY.js → Ljri8sTW3dWT4clD.js} +2 -2
- package/assets/{BQbF1RkUH8WyXqSD.js → MW2nt7se27FlH9Yb.js} +25 -19
- package/assets/{FS9NbEKgQvz5wqvZ.js → Mgs_OJP41a-Nfac3.js} +2 -2
- package/assets/{DwLZpYUp85UHBE3H.js → OHBzl-tZOi9Ni8YV.js} +2 -2
- package/assets/{DA_ar3QKLKtJ9fJD.js → PbBzI4PlKpCgULLd.js} +2 -2
- package/assets/{C7Z1li2XjWi6bkrp.js → UH_biJmLrI9SvckA.js} +4 -4
- package/assets/{DlBdhv6NHgrNp5Yo.js → Xe7sA_mEwDQpJjcF.js} +3 -3
- package/assets/{D0CHDsemn0S31ltt.js → YFiGplEq1G4XdCJ2.js} +2 -2
- package/assets/{DKLm4nWzynGw1Kr9.js → YQtUMMGmb1_WFsh_.js} +2 -2
- package/assets/{B4VnJacrzr1x4PHR.js → dcvgOfBmWFTsXoT8.js} +5 -5
- package/assets/{C2OrZ8LZ-TI6eYG0.js → iBgLe32XErisaUSr.js} +2 -2
- package/assets/{B2Ek-DWpZMGJ0V1Z.js → kpS1vY0DcE9p8JnI.js} +3 -3
- package/assets/{CxjchwpiqxPM1XKd.js → lcIaYgz4tQGBlzlo.js} +80 -80
- package/assets/{CwPBmcY6xSP8dNlh.js → nQbVdQrfdz3osBdi.js} +12 -12
- package/assets/{DwWngYJTgC0KLbih.js → oJNJQJEDQCsjHSmo.js} +2 -2
- package/assets/{BPwmBu_aouERJjiW.js → qgW-p2sFhMtuu5yw.js} +2 -2
- package/assets/{C97xDe_wBbLZh_uW.js → z24-oIqP_fu2hsOt.js} +2 -2
- package/assets/{BsQZI1vXTRE63Zy-.js → z7nDK_gfX7G37XbZ.js} +345 -235
- package/index.js +1976 -1910
- package/lib.js +2 -2
- package/licenses/dependencies.txt +245 -180
- package/package.json +4 -9
- package/resources/locales/@sheetxl/sdk/de/model.msg.json +82 -1
- package/resources/locales/@sheetxl/sdk/en/model.msg.json +80 -1
- package/screenshot-page/assets/{CSUd8n1H0VBfREnk.js → -N4OYIMgf6f5vgNy.js} +1 -1
- package/screenshot-page/assets/7Xk_eQAcM_HgWrOC.js +1 -0
- package/screenshot-page/assets/B1W17rc9ilPFCh31.js +1 -0
- package/screenshot-page/assets/B8UkvH0o9n_G5UO9.js +3 -0
- package/screenshot-page/assets/{DQWHkaQeNXft9j8b.js → B8qybUclSjEYP5FJ.js} +2 -2
- package/screenshot-page/assets/{DXQLzGmxoyN3kfQi.js → BD96fN2dSVuoME09.js} +7 -7
- package/screenshot-page/assets/BE8ea8S0Q-qogeEs.js +2 -0
- package/screenshot-page/assets/{BUjI304IvdJnFXH3.js → BKwVcuWOKeH2xREA.js} +1 -1
- package/screenshot-page/assets/{BcOdl17EeFSxnAiq.js → BMf827t1Ul65MHd5.js} +1 -1
- package/screenshot-page/assets/BMwQInar0xVS5FRu.js +1 -0
- package/screenshot-page/assets/BNMBa8EZgWX2Eb3c.js +1 -0
- package/screenshot-page/assets/{Bf7xq8PyF4ohjMzP.js → BQCyH9YbEgnH78Ke.js} +2 -2
- package/screenshot-page/assets/{D6Jpaz2YkhOfzxDB.js → BYQZ8o8k3-MDoNat.js} +1 -1
- package/screenshot-page/assets/BcDxaEii3arJqOym.js +1 -0
- package/screenshot-page/assets/Be-rukvcufhLamH5.js +1 -0
- package/screenshot-page/assets/{CZf9s6otzzoaBlSs.js → BftXEPOuf5Uwxpud.js} +1 -1
- package/screenshot-page/assets/{TfhknTx8vxQkw4zV.js → Bh33WyohJvbKZVQN.js} +2 -2
- package/screenshot-page/assets/{CykecBozGGFl26KA.js → Btgo0VFTT0JxuaP3.js} +74 -68
- package/screenshot-page/assets/C2ty_K_uix4ooip6.js +1 -0
- package/screenshot-page/assets/{B-KIwD5F_5S-NsPg.js → C71ZZMVLfHdPl441.js} +1 -1
- package/screenshot-page/assets/C9mUKjQ3yEzRu9j2.js +2 -0
- package/screenshot-page/assets/{hp_-JA1DMK4Yoztn.js → CB2mQ5rbaSw2W4ik.js} +23 -23
- package/screenshot-page/assets/{CIged53b3hHKxa-o.js → CCVAsuUimIJOkBnk.js} +1 -1
- package/screenshot-page/assets/CFfgJlXaIS8QMx5O.js +1 -0
- package/screenshot-page/assets/{DGXDfjkGZjMRAXPg.js → CN8u05DjKwNHbUHN.js} +1 -1
- package/screenshot-page/assets/COoMVTzF50qBNFEu.js +39 -0
- package/screenshot-page/assets/CSMEGhAHxl5-4FxB.js +1 -0
- package/screenshot-page/assets/{BSdFVGZNhU6YHbMI.js → CT7cY57t9j1sBhAy.js} +1 -1
- package/screenshot-page/assets/{l32n8O_A78Qqduv3.js → CTjUtxDw6Z2I9OGc.js} +1 -1
- package/screenshot-page/assets/CUZobZ3mfNAdEisS.js +1 -0
- package/screenshot-page/assets/{DmbuCapSSCYIa3yk.js → C_OuKbe6z1it80cj.js} +1 -1
- package/screenshot-page/assets/{CpbohdgEaEsVDi9J.js → C_vPl50T1L5HWnhv.js} +1 -1
- package/screenshot-page/assets/Cbcv49b9jWyY4HKj.js +2 -0
- package/screenshot-page/assets/{CbUDukmvDZmVfhJH.js → CfkssmHURDicfYvR.js} +1 -1
- package/screenshot-page/assets/CtZFqwLoeJOvwFrl.js +42 -0
- package/screenshot-page/assets/Cz6KFmsp267l_VZS.js +1 -0
- package/screenshot-page/assets/{DDQWM8rNYCYzKa9R.js → D0koRjO2KnWQ1fNV.js} +1 -1
- package/screenshot-page/assets/D6CzedWHXTesD55R.js +1 -0
- package/screenshot-page/assets/DCP8JXEeiwAMiVD2.js +1 -0
- package/screenshot-page/assets/DEpn6VGd30cHEJOS.js +1 -0
- package/screenshot-page/assets/DQAZPADvH5lhlMnK.js +1 -0
- package/screenshot-page/assets/DQBUH0j44Vtrykua.js +13 -0
- package/screenshot-page/assets/{CqR3hGrC956TkCMj.js → DRncpwDkZZX8rL9S.js} +1 -1
- package/screenshot-page/assets/DSKOOgcJQeqIc9Us.js +3 -0
- package/screenshot-page/assets/DTrnAtpccj55fGg5.js +1 -0
- package/screenshot-page/assets/{Bj-vfAT28PK-tWWa.js → DXaM3CulPA3aPGV1.js} +2 -2
- package/screenshot-page/assets/{BFaiQZKle44Rhyou.js → D_rtIYQ7FDC2CoEn.js} +1 -1
- package/screenshot-page/assets/{BTboCICZ-951XWsi.js → DcUOAH274IbYOuK1.js} +1 -1
- package/screenshot-page/assets/{gG0AFZ45VxS_moMw.js → DdXSKhFUAsKUsQ1u.js} +1 -1
- package/screenshot-page/assets/{DyLWQxXXTw5uwPVy.js → DeyRZ5rprDbRbuf4.js} +1 -1
- package/screenshot-page/assets/{D47ePD4x1lVazNdl.js → DgtqX4DiBgkepVZZ.js} +1 -1
- package/screenshot-page/assets/Djl40tfWoPJSvqtv.js +1 -0
- package/screenshot-page/assets/{BUGXf2DEBog16Slb.js → DqXO_Zw1Cp7rAQ04.js} +2 -2
- package/screenshot-page/assets/{21oAESJyBGXeHegm.js → DtihumgXQ7ETaN0A.js} +2 -2
- package/screenshot-page/assets/DuYb_otrRZZDq6-f.js +2 -0
- package/screenshot-page/assets/{BHqg55S-4_OoAu3P.js → LYyM_ig973jLdOU0.js} +2 -2
- package/screenshot-page/assets/TCImIYUUdVD4Z35I.js +1 -0
- package/screenshot-page/assets/Tph2vYqw17-NBCtd.js +1 -0
- package/screenshot-page/assets/XgsioU5Px1T5gKAY.js +1 -0
- package/screenshot-page/assets/dQsis-90Up-pIkSq.js +4 -0
- package/screenshot-page/assets/dXn1GWWjYmuLb1HF.js +586 -0
- package/screenshot-page/assets/nM1r2xslndIMKlI2.js +2 -0
- package/screenshot-page/index.html +12 -12
- package/screenshot-page/resources/locales/@sheetxl/sdk/de/model.msg.json +82 -1
- package/screenshot-page/resources/locales/@sheetxl/sdk/en/model.msg.json +80 -1
- package/types/scripting-api.json +9967 -9497
- package/types/scripting-enums.json +27 -0
- package/types/scripting.d.ts +2282 -166
- package/assets/BBb_3gEGzmEzbTIk.js +0 -359
- package/assets/BSxTn2BhkEEeF9x_.js +0 -2346
- package/assets/CWVWdbY1B1-WLl9k.js +0 -199
- package/assets/CZTSZL3T_f-vSXqM.js +0 -7
- package/assets/DaoSWy3EFlqpZaLr.js +0 -4437
- package/assets/Dht2mcOSyYlPY32b.js +0 -14
- package/assets/DkibD_CEVePaoj_y.js +0 -7
- package/assets/jiEe5eKV3BFPBWfi.js +0 -6294
- package/screenshot-page/assets/0MTaPYjKud2Q9QG9.js +0 -1
- package/screenshot-page/assets/B2MJPcMcsuv6FekC.js +0 -1
- package/screenshot-page/assets/B4PbXdzBe9BsoZ0e.js +0 -2
- package/screenshot-page/assets/BQfe-XTIOGeUnD9B.js +0 -1
- package/screenshot-page/assets/BTMW3ukmc44U2fy7.js +0 -1
- package/screenshot-page/assets/B_W2QroTKADz3ABp.js +0 -2
- package/screenshot-page/assets/BksaQEoZr5OWq-_d.js +0 -3
- package/screenshot-page/assets/BnoVwUBEor8NgQNs.js +0 -4
- package/screenshot-page/assets/BzQ5GyiXq8gTz-H-.js +0 -1
- package/screenshot-page/assets/C2Wh2h27c7FUb8Yk.js +0 -1
- package/screenshot-page/assets/C81mK8aZKZAAS-AB.js +0 -1
- package/screenshot-page/assets/Ca6nxdhEuLLty3d7.js +0 -2
- package/screenshot-page/assets/CwqNb7JYzC03lCj0.js +0 -1
- package/screenshot-page/assets/CzhH7lTYQrYGHct6.js +0 -1
- package/screenshot-page/assets/D66vSE1ConAuENmB.js +0 -586
- package/screenshot-page/assets/DCVUZ_ayOXFwV2d_.js +0 -3
- package/screenshot-page/assets/DFE-fKq5NV7_O8V6.js +0 -1
- package/screenshot-page/assets/DK_QSosKV62NDcuT.js +0 -42
- package/screenshot-page/assets/DTFRGj188QuLKEXw.js +0 -1
- package/screenshot-page/assets/DXWWyJlMSWgDFxs1.js +0 -10
- package/screenshot-page/assets/DZDRRw-62D6Zw7qs.js +0 -1
- package/screenshot-page/assets/DeAKjatTVaZ0u_FY.js +0 -1
- package/screenshot-page/assets/Dsx0NUmGIxS7SvZ8.js +0 -1
- package/screenshot-page/assets/IRtoU5oVgBWu9rnK.js +0 -2
- package/screenshot-page/assets/Q5EKmzoJZCE81Om-.js +0 -2
- package/screenshot-page/assets/VvqAh6BWzaD5OUPF.js +0 -1
- package/screenshot-page/assets/fGlPAximvsxzPzGA.js +0 -1
- package/screenshot-page/assets/rPOkVKdPbFpTG6AY.js +0 -1
- package/screenshot-page/assets/sHBomL5R4-_px8rD.js +0 -1
- package/screenshot-page/assets/skRJ2qjA7kcmnOsh.js +0 -39
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as e}from"./ChSvXfVMLxZsP9zG.js";import{D as t,G as n,I as r,K as i,Ot as a,ft as o,g as s}from"./Ca6nxdhEuLLty3d7.js";import{c,i as l}from"./BcOdl17EeFSxnAiq.js";import{$n as u,Bi as d,bn as f,ri as p,tn as m}from"./D66vSE1ConAuENmB.js";import{Ct as h,Dn as g,Dt as _,En as v,G as ee,H as te,Mn as y,Mt as b,O as ne,Pn as x,Pt as re,Rt as ie,Tt as S,Ut as ae,Vt as C,W as w,Xn as oe,Xt as se,Zt as T,_n as E,a as D,an as O,ct as ce,d as le,er as ue,f as k,h as de,hn as A,it as j,ln as fe,m as M,mt as pe,nn as me,o as he,ot as ge,r as N,t as P,tn as F,xn as I}from"./skRJ2qjA7kcmnOsh.js";import{a as L,o as _e,r as R}from"./BksaQEoZr5OWq-_d.js";import"./DCVUZ_ayOXFwV2d_.js";var ve=class{constructor(e){this.list=e}get length(){return this.list.length}item(e){return this.list[e]}forEach(e,t){let n=this.list,r=n.length;for(let t=0;t<r;t++)e(n[t],t,this)}entries(){return this.list.entries()}keys(){return this.list.keys()}values(){return this.list.values()}[Symbol.iterator](){return this.list.values()}},ye=e=>!0===e||e===`1`||e===`on`||e===`true`||!1!==e&&e!==`0`&&e!==`off`&&e!==`false`&&null,be=e=>{let t=parseInt(e);return isNaN(t)?null:t},xe=e=>{let t=parseFloat(e);return isNaN(t)?null:t},Se=new Map,z=class{constructor(t,n,r,i,a,o=null,s=e.EmptyObject){this._fileLocation=``;let c=(e,t,n)=>s?.getRef?.(e,t,n,s?.parsedRefs),l=e=>s?.getRefs?.(e,s?.parsedRefs);this._parent=t,this.sharedShared=n,this.currentPath=r,this.elemRoot=i,this.jsonRoot=a,t?(this._fileLocation=t._fileLocation,this._getRef=t._getRef,this._getRefs=t._getRefs,this._serializeElement=t._serializeElement,this._readEmbeddedPart=t._readEmbeddedPart):(o&&(this._fileLocation=o),s?.getRef&&(this._getRef=c),s?.getRefs&&(this._getRefs=l),this._onWarning=s?.onWarning,this._addPerson=s?.addPerson,this._serializeElement=s?.serializeElement,this._readEmbeddedPart=s?.readEmbeddedPart)}getRef(e,t=!1){return this._getRef?.(e,this._fileLocation,t)??null}readEmbeddedPart(e){return this._readEmbeddedPart?.(e,this._fileLocation)??null}getRelationships(){return this._getRefs?.(this._fileLocation)??Se}getPath(){return this.currentPath}getFileLocation(){return this._fileLocation}getElemRoot(){return this.elemRoot}getJsonRoot(){return this.jsonRoot}warn(e,t){this._raiseWarning(e,this.getFileLocation(),t?.onceKey)}_raiseWarning(e,t,n){this._onWarning?this._onWarning(e,t,n):this._parent?this._parent._raiseWarning(e,t,n):console.warn(e)}serializeElement(e){return this._serializeElement?.(e)??null}addPerson(e){return typeof e==`string`&&(e={displayName:e}),this._addPerson?this._addPerson(e):this._parent?this._parent?._addPerson?.(e)??null:null}getVisitorParamsState(){return this.sharedShared.getVisitorParamsState()}evaluate(e,t){if(!e)return t;let n=[t],r=e.split(`/`),i=r.length;for(let e=0;e<i;e++){let t=r[e];if(t===``||t===`.`)continue;let a=[],o=(t===`*`||t===`**`)&&e!==i-1;for(let i of n)if(i){if(o){let t=r[e+1];t&&t!==``&&t!==`.`&&(this._findDescendants(i,t,a),e++)}else if(t===`*`||t===`**`){if(!i.childNodes)continue;let e=i.childNodes,t=e.length;for(let n=0;n<t;n++){let t=e[n];t.nodeType===1&&a.push(t)}}else{if(!i.childNodes)continue;let e=i.childNodes,n=e.length;for(let r=0;r<n;r++){let n=e[r];if(n.nodeType!==1)continue;let i=n;this._matchesElementName(i,t)&&a.push(i)}}}if(n=a,n.length===0)return null}return n.length===1?n[0]:n.length===0?null:new ve(n)}_matchesElementName(e,t){return t.includes(`:`)?(e.tagName||e.nodeName)===t:e.localName===t}_findDescendants(e,t,n){if(!e||!e.childNodes)return;let r=e.childNodes,i=r.length;for(let e=0;e<i;e++){let i=r[e];if(i.nodeType!==1)continue;let a=i;this._matchesElementName(a,t)&&n.push(a),this._findDescendants(a,t,n)}}getFromPath(t,n){return e.getFromPath(t,n)}setToPath(t,n,r){return e.setToPath(t,n,r)}getValAttrAsString(e,t){let n=this.evaluate(e,t);return n&&n.hasAttribute(`val`)?n.getAttribute(`val`)??null:null}getValAttrAsBoolean(e,t,n=!1){let r=this.evaluate(e,t);if(!r)return null;let i=r.hasAttribute(`val`)?r.getAttribute(`val`):void 0;return i==null?n:i===`1`||i===`on`||i===`true`||i!==`0`&&i!==`off`&&i!==`false`&&n}getValAttrAsInteger(e,t){let n=this.evaluate(e,t);return n&&n.hasAttribute(`val`)?parseInt(n.getAttribute(`val`))??null:null}getValAttrAsFloat(e,t){let n=this.evaluate(e,t);return n&&n.hasAttribute(`val`)?parseFloat(n.getAttribute(`val`))??null:null}get BOOLEAN_COPY(){return ye}get INT_COPY(){return be}get FLOAT_COPY(){return xe}copyFromAttribute(e,t,n,r=t,i=null){if(!e||!n||!e.hasAttribute(t))return;let a=e.getAttribute(t);if(i){if(Array.isArray(i)){let e=i.length;for(let t=0;t<e;t++)if(a==null||(a=i[t](a),a==null))return}else if(a==null||(a=i(a),a==null))return}this.setToPath(n,r,a)}},B=(e,t)=>{let n=[],r=e.childNodes,i=r.length;for(let e=0;e<i;e++){let i=r.item(e);i.nodeType===1&&i.localName===t&&n.push(i)}return n},Ce=[[`fillRef`,`fill`],[`lnRef`,`stroke`],[`effectRef`,`effect`]],V=(e,t)=>{let n=new h,r={};for(let[i,a]of Ce){let o=e.evaluate(i,t);if(!o)continue;let s={index:parseInt(o.getAttribute(`idx`)??`0`,10)||0},c=n.processAdjColor(e,o);c&&(s.color=c),r[a]=s}let i=e.evaluate(`fontRef`,t);if(i){let t={index:i.getAttribute(`idx`)??`none`},a=n.processAdjColor(e,i);a&&(t.color=a),r.font=t}return r},H=class{visit(e,t,n){if(!t)return;let r=e.evaluate(`*/cNvPr`,t);return r.item&&(r=r.item(0)),r&&(e.copyFromAttribute(r,`name`,n),e.copyFromAttribute(r,`descr`,n,`description`),e.copyFromAttribute(r,`hidden`,n,`hidden`,e.BOOLEAN_COPY),this.readNonVisualDetails(e,r,n),e.copyFromAttribute(r,`id`,n)),n}readNonVisualDetails(e,t,n){t.hasAttribute(`title`)&&(n.title=t.getAttribute(`title`));let r=e.evaluate(`hlinkClick`,t);r&&(n.hyperlink=O(e,r));let i=e.evaluate(`hlinkHover`,t);i&&(n.hoverHyperlink=O(e,i));let a=e.evaluate(`extLst`,t),o=a?e.serializeElement(a):null;o&&(n.extLst={...n.extLst,nonVisual:o})}setContent(e,t){let n=e;n.name!==void 0&&(t.name=n.name,delete n.name),n.description!==void 0&&(t.description=n.description,delete n.description);for(let e of[`title`,`hyperlink`,`hoverHyperlink`,`extLst`])n[e]!==void 0&&(t.json&&(t.json[e]=n[e]),delete n[e]);e.content=t}isGroupContent(e){return Array.isArray(e?.members)}readMemberHeader(e,t,n){let r={},i={anchor:void 0,content:{type:n,json:r}},a=e.evaluate(`*/cNvPr`,t);if(a?.item&&(a=a.item(0)),a){let n=a.getAttribute(`name`);n!==null&&(i.content.name=n);let o=a.getAttribute(`descr`);o&&(i.content.description=o),e.copyFromAttribute(a,`hidden`,i,`hidden`,e.BOOLEAN_COPY),this.readNonVisualDetails(e,a,r);let s=this.readSourceId(e,t);s!==void 0&&(r.sourceId=s)}return{movable:i,content:r}}readStyleRefs(e,t,n){let r=e.evaluate(`style`,t);if(!r)return void(n.style=null);let a=V(e,r),o=i.withoutDefaultStyleRefs({...n,style:a});o&&(n.style=o)}readLocks(e){let t=e?.attributes;if(!t||t.length===0)return;let n={};for(let e=0;e<t.length;e++){let r=t.item(e);r.name.startsWith(`xmlns`)||(n[r.localName??r.name]=D(r.value))}return Object.keys(n).length>0?n:void 0}readSourceId(e,t){let n=e.evaluate(`*/cNvPr`,t);n?.item&&(n=n.item(0));let r=n?.getAttribute?.(`id`),i=r?parseInt(r,10):void 0;return i===void 0||isNaN(i)?void 0:i}},we=[[`spDef`,`shape`],[`lnDef`,`line`],[`txDef`,`text`]],U=(e,t)=>{let n=t.getAttribute(`dxfId`);if(n===null)return;let r=parseInt(n);return e.getVisitorParamsState().get(`dxfs`)?.get(r)||(e.warn(`A color filter or sort names a format that does not exist (dxfId '${n}').`),{})},W=e=>e===`1`||e===`true`,G=class{visit(e,t,n){}processDataBarColor(e,t,n,r,i=`auto`){if(!t)return;let a=T(e=>t.getAttribute(e),i);return a&&(n[r]=a),n}processFonts(e,t,n){if(!t)return;let r=t.childNodes,i=0,a=r.length;for(let t=0;t<a;t++){let a=r.item(t);if(a.nodeType===1&&a.localName===`font`){let t={};this.processFont(e,a,t),n[i++]=t}}return n}processFont(e,n,r){e.getValAttrAsBoolean(`b`,n,!0)&&(r.weight=700),e.getValAttrAsBoolean(`i`,n,!0)&&(r.style=t.Style.Italic),e.getValAttrAsBoolean(`strike`,n,!0)&&(r.strike=v(!0));let i=e.evaluate(`u`,n);if(i){let e=i.getAttribute(`val`);r.underline=b(e)}let a=y(e.evaluate(`vertAlign`,n)?.getAttribute(`val`));a!==void 0&&(r.baseline=a),me(e,n,r,`sz`,`size`);let o=e.evaluate(`color`,n);this.processDataBarColor(e,o,r,`color`),r.color||=`auto`,x(e,n,r,`name`,`family`),x(e,n,r,`rFont`,`family`);let s=e.evaluate(`family`,n);if(s){let e=s.getAttribute(`val`);if(e)switch(e){case`1`:r.fallbacks=[`serif`];break;case`2`:r.fallbacks=[`sans-serif`];break;case`3`:r.fallbacks=[`monospace`];break;case`4`:r.fallbacks=[`cursive`];break;case`5`:r.fallbacks=[`fantasy`]}}P(r,e.evaluate(`scheme`,n)?.getAttribute(`val`)),A(e,n,r,`shadow`,`shadow`,!0),A(e,n,r,`outline`,`outline`,!0);for(let t of[`condense`,`extend`]){let i=E(t,!!e.getValAttrAsBoolean(t,n,!0));i!==void 0&&(r.letterSpacing=i)}return g(e,n,r,`charset`,`charset`),r}processFills(e,t,n){if(!t)return;let r=t.childNodes,i=0,a=r.length;for(let t=0;t<a;t++){let a=r.item(t);a.nodeType===1&&a.localName===`fill`&&this.processFill(e,a,n,i++)}return n}processFill(e,t,r,i){let a={type:n.Type.None},o=t.childNodes,s=!1,c=o.length;for(let t=0;!s&&t<c;t++){let n=o.item(t);n.nodeType===1&&(n.localName===`gradientFill`?(this.processGradientFill(e,n,a),s=!0):n.localName===`patternFill`&&(this.processPatternFill(e,n,a),s=!0))}return r[i]=a,r}processGradientFill(e,t,r){if(!t)return;r.type=n.Type.Gradient;let i=[];r.stops=i;let a=t.getAttribute(`type`);a&&(r.gradientType=a);let o=t.hasAttribute(`degree`)?parseFloat(t.getAttribute(`degree`)):0;(o+90)%360!=0&&(r.angle=(o+90)%360),(t.hasAttribute(`left`)||t.hasAttribute(`top`)||t.hasAttribute(`right`)||t.hasAttribute(`bottom`))&&(r.focus={left:K(t.getAttribute(`left`)),top:K(t.getAttribute(`top`)),right:K(t.getAttribute(`right`)),bottom:K(t.getAttribute(`bottom`))});let s=t.childNodes,c=s.length;for(let t=0;t<c;t++){let n=s.item(t);if(n.nodeType===1&&n.localName===`stop`){let t={};i.push(t),t.offset=parseFloat(n.getAttribute(`position`)??``);let r=e.evaluate(`color`,n);this.processDataBarColor(e,r,t,`color`)}}return r}processPatternFill(e,t,r){if(!t)return;let i=e.getVisitorParamsState().get(`processingDXFs`),a=t.getAttribute(`patternType`)||(i?n.BuiltInSheetPattern.Solid:n.BuiltInSheetPattern.None);if(a===n.BuiltInSheetPattern.None)return{none:!0};r.type=n.Type.Pattern,a&&(r.patternType=a);let o=`foreground`,s=`background`,c=r.patternType===n.BuiltInSheetPattern.Solid&&i,l=c?`dk1`:`lt1`,u=c?`lt1`:`dk1`;if(c){let e=o;o=s,s=e}let d=e.evaluate(`fgColor`,t);this.processDataBarColor(e,d,r,o,l);let f=e.evaluate(`bgColor`,t);return this.processDataBarColor(e,f,r,s,u),c&&(r.foreground||=`lt1`,r.background||=`dk1`),r}processBorders(e,t,n,r){if(!t)return;let i=t.childNodes,a=0,o=i.length;for(let t=0;t<o;t++){let o=i.item(t);o.nodeType===1&&o.localName===`border`&&this.processBorder(e,o,n,a++,r)}return n}processBorder(e,t,n,r,i){if(!t)return;let o={};this.processBorderStroke(e,t,o,a.Edge.Left),this.processBorderStroke(e,t,o,a.Edge.Right),i?(o.right||o.left)&&(o.vertical=o.right?{...o.right}:{...o.left}):this.processBorderStroke(e,t,o,a.Edge.Vertical),this.processBorderStroke(e,t,o,a.Edge.Top),this.processBorderStroke(e,t,o,a.Edge.Bottom),i?(o.bottom||o.top)&&(o.horizontal=o.bottom?{...o.bottom}:{...o.top}):this.processBorderStroke(e,t,o,a.Edge.Horizontal);let s=this.processBorderStroke(e,t,{},`diagonal`);return s&&(W(t.getAttribute(`diagonalUp`))&&(o.diagonalUp={...s}),W(t.getAttribute(`diagonalDown`))&&(o.diagonalDown={...s})),n[r]=o,n}processBorderStroke(e,t,n,r){if(!t)return;let i=e.evaluate(r,t);if(!i)return;let o={};i.hasAttribute(`style`)?o.style=i.getAttribute(`style`):e.getVisitorParamsState().get(`processingDXFs`)&&(o.style=a.StrokeStyle.None);let s=e.evaluate(`color`,i);return s&&this.processDataBarColor(e,s,o,`color`),Object.keys(o).length>0?n[r]=o:null}},K=e=>{if(!e)return 0;let t=parseFloat(e);return isNaN(t)?0:t},q=(e,t)=>{if(!e||e.nodeType!==1)return null;let n=e.childNodes;for(let e=0;e<n.length;e++){let r=n.item(e);if(r.nodeType===1&&r.localName===t)return r}return null},Te=new Set(Object.values(p.ElementType).filter(e=>e!==p.ElementType.WholeTable&&e!==p.ElementType.HeaderRow)),Ee={auto:`auto`,autoNoTable:`automaticExceptTables`,manual:`manual`},J=[`tableId`,`columnId`,`cacheName`,`cachePath`,`sourceName`,`sortOrder`,`customListSort`,`crossFilter`],Y=(e,t)=>{let n=e.content,r=n?.json;if(r){if(n.type===`shape`||n.type===`picture`){let{rotation:n,flipH:i,flipV:a,bounds:o}=r;delete r.rotation,delete r.flipH,delete r.flipV,delete r.bounds,n!==void 0&&n!==0&&(e.rotation=n),i&&(e.flipH=!0),a&&(e.flipV=!0),t&&o&&(e.anchor={tl:{x:o.x,y:o.y},br:{x:o.width,y:o.height}})}if(n.type===`group`)for(let e of r.members??[])Y(e,!0)}},X=class extends H{visit(e,t,n){if(t)return this.visitShape(e,t,n,`sp`,`nvSpPr/cNvSpPr/spLocks`)}visitShape(e,t,n,r,i){let a=ge[r];if(this.isGroupContent(n)){if(e.getPath().includes(`Fallback`))return{};let{movable:o,content:c}=this.readMemberHeader(e,t,`shape`);a!==s.Type.Shape&&(c.type=a),this.readShapeDetails(e,t,r,i,c),this.readStyleRefs(e,t,c);let l=e.evaluate(i,t);l?.hasAttribute?.(`noChangeAspect`)&&(o.lockAspect=l.getAttribute(`noChangeAspect`)===`1`);let u=this.readTwinOf(e,t);return u!==void 0&&Object.assign(c,{twinOf:u}),n.members.push(o),c}if(e.getPath().includes(`Fallback`)&&n.content){let r=n.content.json;if(n.content.type===`shape`&&r&&(r.type??s.Type.Shape)===a){let n=e.evaluate(`txBody`,t),i=n?new j().readTextBody(e,n):null;i&&de(i)!==``&&(r.text=i)}return{}}n=super.visit(e,t,n);let o=e.evaluate(i,t);o?.hasAttribute?.(`noChangeAspect`)&&(n.lockAspect=o.getAttribute(`noChangeAspect`)===`1`);let c=a===s.Type.Shape?{}:{type:a},l=this.readSourceId(e,t);l!==void 0&&(c.sourceId=l),this.readShapeDetails(e,t,r,i,c),this.readStyleRefs(e,t,c);let u=this.readTwinOf(e,t);return u!==void 0&&Object.assign(c,{twinOf:u}),this.setContent(n,{type:`shape`,json:c}),c}readTwinOf(e,t){let n=e.evaluate(`*/cNvPr/extLst/ext/compatExt`,t);n?.item&&(n=n.item(0));let r=/^_x0000_s(\d+)$/.exec(n?.getAttribute?.(`spid`)??``);return r?parseInt(r[1],10):void 0}readShapeDetails(e,t,n,r,i){let a=t.getAttribute(`macro`);a&&(i.macro=a);let o=t.getAttribute(`textlink`);o&&(i.textLink=o),t.hasAttribute(`fLocksText`)&&(i.locksText=D(t.getAttribute(`fLocksText`))),t.hasAttribute(`fPublished`)&&(i.published=D(t.getAttribute(`fPublished`)));let s=r.slice(0,r.lastIndexOf(`/`)),c=e.evaluate(s,t);c?.getAttribute?.(`txBox`)===`1`&&(i.textBox=!0);let l=this.readLocks(e.evaluate(r,t));if(l&&(i.locks=l),n===`cxnSp`&&c){let t=t=>{let n=e.evaluate(t,c);if(n?.getAttribute)return{id:parseInt(n.getAttribute(`id`)??`0`,10)||0,index:parseInt(n.getAttribute(`idx`)??`0`,10)||0}},n=t(`stCxn`),r=t(`endCxn`);(n||r)&&(i.connectorEnds={},n&&(i.connectorEnds.start=n),r&&(i.connectorEnds.end=r))}}},De=/^<a:extLst(?:\s+xmlns:a="[^"]*")?><a:ext uri="\{28A0092B-C50C-407E-A947-70E740481C1C\}"><a14:useLocalDpi(?:\s+xmlns:a14="[^"]*")?\s+val="0"\s*\/><\/a:ext><\/a:extLst>$/,Z=(e,t,n,r)=>{let i=e.evaluate(n,t),a=e.evaluate(r,t);return i||a?{x:k(i?.getAttribute(`x`)??null)??0,y:k(i?.getAttribute(`y`)??null)??0,width:k(a?.getAttribute(`cx`)??null)??0,height:k(a?.getAttribute(`cy`)??null)??0}:null},Oe={Checkbox:`checkbox`},Q=e=>{let t=e.getAttribute(`val`);return t!==`0`&&t!==`false`},ke={1:`serif`,2:`sans-serif`,3:`monospace`,4:`cursive`,5:`fantasy`};function Ae(e){let n={},r=e.childNodes;for(let e=0;e<r.length;e++){let i=r.item(e);if(i.nodeType===1)switch(i.localName){case`b`:n.weight=Q(i)?700:400;break;case`i`:n.style=Q(i)?t.Style.Italic:t.Style.Normal;break;case`strike`:n.strike=v(Q(i));break;case`outline`:n.outline=Q(i);break;case`shadow`:n.shadow=Q(i);break;case`condense`:case`extend`:{let e=E(i.localName,Q(i));e!==void 0&&(n.letterSpacing=e);break}case`u`:n.underline=b(i.getAttribute(`val`));break;case`vertAlign`:{let e=y(i.getAttribute(`val`));e!==void 0&&(n.baseline=e);break}case`sz`:{let e=parseFloat(i.getAttribute(`val`)??``);isNaN(e)||(n.size=e);break}case`rFont`:{let e=i.getAttribute(`val`);e&&(n.family=e);break}case`family`:{let e=ke[i.getAttribute(`val`)??``];e&&(n.fallbacks=[e]);break}case`charset`:{let e=parseInt(i.getAttribute(`val`)??``,10);isNaN(e)||(n.charset=e);break}case`scheme`:P(n,i.getAttribute(`val`));break;case`color`:{let e=i.getAttribute(`rgb`);if(e&&!i.hasAttribute(`theme`)){n.color=`#`+(e.length===8?e.substring(2):e).toUpperCase();break}let t=T(e=>i.getAttribute(e));t&&(n.color=t);break}}}return Object.keys(n).length>0?n:null}var $={RelsVisitor:class{visit(e,t,n){if(!t)return;let r=t.childNodes,i=r.length;for(let t=0;t<i;t++){let i=r.item(t);i.nodeType===1&&i.localName===`Relationship`&&this.processRelationship(e,i,n)}return n}processRelationship(e,t,n){let r={};e.copyFromAttribute(t,`Target`,r,`target`),e.copyFromAttribute(t,`Type`,r,`type`),e.copyFromAttribute(t,`TargetMode`,r,`targetMode`),n[t.getAttribute(`Id`)]=r}},CorePropertiesVisitor:class{visit(e,t,n){let r=[],i=t.childNodes,a=i.length;for(let t=0;t<a;t++){let n=i.item(t);if(n.nodeType!==1)continue;let a=this.processProperty(e,n);a&&r.push(a)}return r.length>0&&(n.properties=r),r}processProperty(e,t){if(t)return t.getAttribute(`xsi:type`),{key:t.localName,value:t.textContent||``}}},AppPropertiesVisitor:class{visit(e,t,n){let r=t.childNodes,i=r.length;for(let e=0;e<i;e++)if(r.item(e).localName===`property`)return this.visitCustom(t,n);let a=[];for(let t=0;t<i;t++){let n=r.item(t);if(n.nodeType!==1)continue;let i=this.processProperty(e,n);i&&a.push(i)}return a.length>0&&(n.properties=a),a}visitCustom(e,t){let n=[],r=e.childNodes,i=r.length;for(let e=0;e<i;e++){let t=r.item(e);if(t.nodeType!==1||t.localName!==`property`)continue;let i=t.getAttribute(`name`);if(!i)continue;let a=null;for(let e=0;e<t.childNodes.length&&!a;e++){let n=t.childNodes.item(e);n.nodeType===1&&(a=n)}let o={key:i,kind:a?.localName??null,value:a?.textContent??``},s=t.getAttribute(`linkTarget`);s&&(o.linkTarget=s),n.push(o)}return n.length>0&&(t.custom=n),n}processProperty(e,t){if(t)return{key:t.localName,value:t.textContent||``}}},ShapePropertiesVisitor:M,TextPropertiesVisitor:he,ShapeTextVisitor:j,ThemeVisitor:class{visit(e,t,n){n.name=t.getAttribute(`name`),n.objectDefaults={};let r=B(t,`custClrLst`)[0];if(r){let t=new h,i=[];for(let n of B(r,`custClr`)){let r=t.processAdjColor(e,n);if(!r)continue;let a={color:r},o=n.getAttribute(`name`);o&&(a.name=o),i.push(a)}i.length&&(n.customColors=i)}for(let e of B(t,`extLst`))for(let t of B(e,`ext`)){if(t.getAttribute(`uri`)!==`{05A4C25C-085E-4340-85A3-A5531E510DB2}`)continue;let e=B(t,`themeFamily`)[0],r=e?.getAttribute(`id`);if(!r)continue;let i={name:e.getAttribute(`name`)??``,id:r},a=e.getAttribute(`vid`);a&&(i.vid=a),n.family=i}return n}},ClrSchemeVisitor:class extends h{visit(e,t,n){let r={};r.name=t.getAttribute(`name`);let i=t.childNodes,a=i.length;for(let n=0;n<a;n++){let a=i.item(n);if(a.nodeType===1){let n=a.localName,i=e.evaluate(n,t);r[n]=this.processAdjColor(e,i)}}return Object.keys(r).length>0&&(n.colors=r),r}},FontSchemeVisitor:class{visit(e,t,n){let r={};r.name=t.getAttribute(`name`);let i=this.processFontCollection(e,e.evaluate(`majorFont`,t));i&&(r.major=i);let a=this.processFontCollection(e,e.evaluate(`minorFont`,t));return a&&(r.minor=a),n.fonts=r,r}processFontCollection(e,t){if(!t)return;let n={},r=e.evaluate(`latin`,t),i=r?.getAttribute(`typeface`);i&&(n.latin=i);let a=r?.getAttribute(`panose`);a&&(n.panose=a);let o=e.evaluate(`ea`,t)?.getAttribute(`typeface`);o&&(n.eastAsian=o);let s=e.evaluate(`cs`,t)?.getAttribute(`typeface`),c;s&&(n.complexScript=s);let l=t.childNodes,u=l.length;for(let e=0;e<u;e++){let t=l.item(e);if(t.nodeType!==1||t.localName!==`font`)continue;let n=t.getAttribute(`script`);n&&((c??={})[n]=t.getAttribute(`typeface`)??``)}return c&&(n.scripts=c),n}},ObjectDefaultsVisitor:class{visit(e,t,n){let r={};for(let[n,i]of we){let a=e.evaluate(n,t);a&&(r[i]=this.processDefault(e,a))}return n.objectDefaults=r,{}}processDefault(e,t){let n={},r=e.evaluate(`spPr`,t);r&&new M().visit(e,r,n);let i=new j().readTextBody(e,t);(i.body||i.listStyle)&&(n.text=i);let a=e.evaluate(`style`,t);return a&&(n.style=V(e,a)),n}},FmtSchemeVisitor:class extends h{visit(e,t,n){let r=this.parseFillList(e,t,`fillStyleLst`),i=this.parseLnList(e,t,`lnStyleLst`),a=this.parseEffectStyleList(e,t,`effectStyleLst`),o=this.parseFillList(e,t,`bgFillStyleLst`);if(r&&(n.fillStyleLst=r),i&&(n.lnStyleLst=i),a&&(n.effectStyleLst=a),o&&(n.bgFillStyleLst=o),r&&i&&a&&o)return;let s=e.serializeElement(t);s&&(n.formatSchemeXml=s)}parseFillList(e,t,n){let r=e.evaluate(n,t);if(!r)return;let i=[],a=r.childNodes,o=a.length;for(let t=0;t<o;t++){let n=a.item(t);if(n.nodeType!==1)continue;let r=this.parseFillListItem(e,n);if(r===void 0)return;i.push(r)}return i}parseFillListItem(e,t){switch(t.localName){case`noFill`:return{type:n.Type.None};case`solidFill`:{let r=this.processAdjColor(e,t);return r?{type:n.Type.Solid,color:r}:void 0}case`gradFill`:return this.processGradFill(e,t);case`pattFill`:return this.processPatternFill(e,t);default:return}}parseLnList(e,t,n){let r=e.evaluate(n,t);if(!r)return;let i=[],a=r.childNodes,o=a.length;for(let t=0;t<o;t++){let n=a.item(t);n.nodeType===1&&i.push(this.parseLn(e,n))}return i}parseEffectStyleList(e,t,n){let r=e.evaluate(n,t);if(!r)return;let i=[],a=r.childNodes,o=a.length;for(let t=0;t<o;t++){let n=a.item(t);if(n.nodeType!==1)continue;if(e.evaluate(`scene3d`,n)||e.evaluate(`sp3d`,n))return;let r=this.getEffects(e,n);if(r===void 0)return;i.push(r??[])}return i}},AutoFilterVisitor:class{visit(e,t,n){if(!t)return;let r={},i=[];return this.processFilterColumns(e,t,i,n),i.length>0&&(r.conditions=i),Object.keys(r).length>0&&(n.filter=r),n}processColorFilter(e,t){let n={},r={operator:m.BuiltInOperatorNames.Color,param:n};e.copyFromAttribute(t,`cellColor`,n,`cellColor`,e.BOOLEAN_COPY);let i=U(e,t);return i&&(n.style=i),r}processCustomFilter(e,t){return F({operator:t.getAttribute(`operator`),val:t.getAttribute(`val`)},t=>e.warn(t))}processCustomFilters(e,t){let n=t.getAttribute(`and`),r=n===`and`||n===`1`;t.getAttribute(`val`);let i=[],a={operator:r?m.BuiltInOperatorNames.And:m.BuiltInOperatorNames.Or,param:i},o=t.childNodes,s=o.length;for(let t=0;t<s;t++){let n=o.item(t);if(n.nodeType!==1)continue;let r=null;n.localName===`customFilter`&&(r=this.processCustomFilter(e,n)),r&&i.push(r)}return i.length===1?i[0]:se(a)}processDynamicFilter(e,t){return ee(t.getAttribute(`type`))}processDateGroupItem(e,t){let n={};return e.copyFromAttribute(t,`dateTimeGrouping`,n,`group`),e.copyFromAttribute(t,`day`,n,`day`,e.INT_COPY),e.copyFromAttribute(t,`hour`,n,`hour`,e.INT_COPY),e.copyFromAttribute(t,`minute`,n,`minute`,e.INT_COPY),e.copyFromAttribute(t,`month`,n,`month`,e.INT_COPY),e.copyFromAttribute(t,`second`,n,`second`,e.INT_COPY),e.copyFromAttribute(t,`year`,n,`year`,e.INT_COPY),n}processFilterItem(e,t){if(t.hasAttribute(`val`))return t.getAttribute(`val`)}processFilters(e,t){let n={},r={operator:m.BuiltInOperatorNames.InSet,param:n};r.selector=m.BuiltInSelectorNames.Display,e.copyFromAttribute(t,`blank`,n,`blank`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`calendarType`,n,`calendarType`);let i=[],a=[],o=t.childNodes,s=o.length;for(let t=0;t<s;t++){let n=o.item(t);if(n.nodeType===1){if(n.localName===`dateGroupItem`){let t=this.processDateGroupItem(e,n);t&&i.push(t)}else if(n.localName===`filter`){let t=this.processFilterItem(e,n);t!==void 0&&a.push(t)}}}return i.length>0&&(n.dateGroups=i),a.length>0&&(n.items=a),r}processIcon(e,t){let n={},r={operator:m.BuiltInOperatorNames.Icon,param:n};return e.copyFromAttribute(t,`iconId`,n,`iconId`,e.INT_COPY),e.copyFromAttribute(t,`iconSet`,n),r}processTop10(e,t){let n={},r={operator:m.BuiltInOperatorNames.TopN,param:n};return e.copyFromAttribute(t,`filterVal`,n,`filterVal`,e.FLOAT_COPY),e.copyFromAttribute(t,`percent`,n,`percent`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`top`,n,`top`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`val`,n,`limit`,e.FLOAT_COPY),r}processFilterColumnExt(e,t){let n=t.childNodes;for(let t=0;t<n.length;t++){let r=n.item(t);if(r.nodeType!==1||r.localName!==`ext`||_(r.getAttribute(`uri`))!==_(`{1AD28BCE-077C-4C59-8B6E-1921CE8616D4}`))continue;let i=r.childNodes;for(let t=0;t<i.length;t++){let n=i.item(t);if(n.nodeType!==1||n.localName!==`filterColumn`)continue;let r=n.childNodes;for(let t=0;t<r.length;t++){let n=r.item(t);if(n.nodeType===1&&n.localName===`filters`)return this.processFilters(e,n)}}}}processFilterCriteria(e,t){if(!t)return;let n=t.childNodes,r,i=n.length;for(let t=0;t<i;t++){let i=n.item(t);i.nodeType===1&&(i.localName===`colorFilter`?r=this.processColorFilter(e,i):i.localName===`customFilters`?r=this.processCustomFilters(e,i):i.localName===`dynamicFilter`?r=this.processDynamicFilter(e,i):i.localName===`filters`?r=this.processFilters(e,i):i.localName===`iconFilter`?r=this.processIcon(e,i):i.localName===`top10`?r=this.processTop10(e,i):i.localName===`extLst`&&(r=this.processFilterColumnExt(e,i)??r))}return r}processFilterColumn(e,t,n){if(!t)return null;if(!t.hasAttribute(`colId`))return;let r=parseInt(t.getAttribute(`colId`)),i=!1;if(t.hasAttribute(`hiddenButton`)&&(i=D(t.getAttribute(`hiddenButton`))),i&&n){let e=n.hiddenButtons;e||(e=[],n.hiddenButtons=e),e.push(r)}let a=!1;if(t.hasAttribute(`showButton`)&&(a=D(t.getAttribute(`showButton`))),a&&n){let e=n.showButtons;!0!==e&&(e||(e=[],n.showButtons=e),e[r]=!0)}let o=this.processFilterCriteria(e,t);return o?(o.index=r,o):null}processFilterColumns(e,t,n,r){if(!t)return;let i=t.childNodes,a=i.length;for(let t=0;t<a;t++){let a=i.item(t);if(a.nodeType===1&&a.localName===`filterColumn`){let t=this.processFilterColumn(e,a,r);t&&n.push(t)}}return n}},SortStateVisitor:class{visit(e,t,n){if(!t)return;let r=t.getAttribute(`ref`),i={};t.hasAttribute(`caseSensitive`)&&(i.collatorOptions=D(t.getAttribute(`caseSensitive`))?u.CaseSensitiveOptions:u.CaseInsensitiveOptions);let a=t.getAttribute(`sortMethod`);a!=null&&a!==`none`&&(a===`stroke`?i.collatorOptions={...i.collatorOptions,collation:`stroke`}:a===`pinYin`&&(i.collatorOptions={...i.collatorOptions,collation:`pinyin`}));let o={};t.hasAttribute(`columnSort`)&&D(t.getAttribute(`columnSort`))&&(o.axis=c.Axis.Column);let s=d.fastStringToRange(r),l=[],f=[];this.processSortConditions(e,t,l,s,i,f),l.length>0&&(o.sorts=l);let p=e.getVisitorParamsState().get(`ref`);if(p&&r){let e=d.fastStringToRange(p);o.extent={range:I(e,s),sorts:f.map(t=>pe(e,s,t))}}return Object.keys(l).length>0&&(n.sort=o),o}processSortCondition(e,t,n,r,i){if(!t)return null;let a={};if(!t.hasAttribute(`ref`))return void e.warn(`A sort condition has no ref; it was dropped.`,{onceKey:`xlsx.sheet.sort.noRef`});if(t.hasAttribute(`ref`)){let e=t.getAttribute(`ref`),r=d.fastStringToRange(e);a.index=n?r.colStart-n.colStart:r.colStart,i?.push(r)}let o={...r};a.criteria=o,o.reverse=!1,t.hasAttribute(`descending`)&&(o.reverse=D(t.getAttribute(`descending`)));let s=oe(t.getAttribute(`sortBy`));s&&(o.sortOn=s);let c=U(e,t);return c&&(o.style=c),e.copyFromAttribute(t,`iconSet`,o),e.copyFromAttribute(t,`customList`,o),a}processSortConditions(e,t,n,r,i,a){if(!t)return;let o=t.childNodes,s=o.length;for(let t=0;t<s;t++){let s=o.item(t);if(s.nodeType===1&&s.localName===`sortCondition`){let t=this.processSortCondition(e,s,r,i,a);t&&n.push(t)}}}},SheetStyleVisitor:class extends G{visit(e,t,r){this.processNumFmts(e,e.evaluate(`numFmts`,t),null),e.getVisitorParamsState().set(`colorsToProcess`,new Set);let i={fills:{},fonts:{},borders:{}},o=e.evaluate(`fonts`,t);this.processFonts(e,o,i.fonts);let s=i.fonts[this.normalFontId(e,t)],c={declared:[`1`,`true`].includes(o?.getAttribute(`x14ac:knownFonts`)??``),normalIsThemeFont:w(s?.family),faces:ne(Object.values(i.fonts).map(e=>({...e,family:ie(e?.family,e?.fallbacks,null,!1).name})))};e.getVisitorParamsState().set(ce,c),s&&e.getVisitorParamsState().set(`defaultFont`,s),this.processFills(e,e.evaluate(`fills`,t),i.fills),this.processBorders(e,e.evaluate(`borders`,t),i.borders,!0),i.fills[0]={type:n.Type.None},i.fills[1]={type:n.Type.Pattern,patternType:n.BuiltInSheetPattern.Gray125},i.borders[0]={bottom:{style:a.StrokeStyle.None},left:{style:a.StrokeStyle.None},right:{style:a.StrokeStyle.None},top:{style:a.StrokeStyle.None}};let l=[];this.processXFs(e,e.evaluate(`cellStyleXfs`,t),l,i,null,!1);let u=new Map;if(l.length>0){let n=[];this.processCellStyles(e,e.evaluate(`cellStyles`,t),n,l,u),r.named=n}let d=[];this.processXFs(e,e.evaluate(`cellXfs`,t),d,i,u),Object.keys(d).length>0&&(r.direct=d);let f=this.collectHiddenXfs(e.evaluate(`cellXfs`,t));f.size>0&&e.getVisitorParamsState().set(`hiddenXfs`,f);let p=this.collectXfComplements(e.evaluate(`cellXfs`,t));p.size>0&&e.getVisitorParamsState().set(`xfComplements`,p);let m=[];return this.processDXFs(e,e.evaluate(`dxfs`,t),m),this.processTableStyles(e,e.evaluate(`tableStyles`,t),r,m),this.processSlicerStyles(e,e.evaluate(`extLst`,t),r),this.processIndexColors(e,e.evaluate(`colors/indexedColors`,t),r),this.processMruColors(e,e.evaluate(`colors/mruColors`,t),r),r}normalFontId(e,t){let n=e.evaluate(`cellStyles`,t)?.childNodes,r=0;for(let e=0;e<(n?.length??0);e++){let t=n.item(e);if(t.nodeType===1&&t.getAttribute(`builtinId`)===`0`){r=parseInt(t.getAttribute(`xfId`)??`0`,10)||0;break}}let i=e.evaluate(`cellStyleXfs`,t)?.childNodes,a=0;for(let e=0;e<(i?.length??0);e++){let t=i.item(e);if(t.nodeType===1&&a++===r)return parseInt(t.getAttribute(`fontId`)??`0`,10)||0}return 0}processIndexColors(e,t,n){if(!t)return;let r=[],i=t.childNodes,a=i.length;for(let t=0;t<a;t++){let n=i.item(t);if(n.nodeType===1&&n.localName===`rgbColor`){let t={color:null};this.processDataBarColor(e,n,t,`color`),t.color&&r.push(t.color)}}n.indexedColors=r}processMruColors(e,t,n){if(!t)return;let r=[],i=t.childNodes,a=i.length;for(let t=0;t<a;t++){let n=i.item(t);if(n.nodeType===1&&n.localName===`color`){let t={color:null};this.processDataBarColor(e,n,t,`color`),t.color&&r.push(t.color)}}r.length>0&&(n.mruColors=r)}processNumFmts(e,t,n){if(!t)return;let r=new Map;if(e.getVisitorParamsState().set(`numFmts`,r),!t)return;let i=t.childNodes,a=i.length;for(let e=0;e<a;e++){let t=i.item(e);if(t.nodeType===1&&t.localName===`numFmt`){let e=t.getAttribute(`numFmtId`),n=t.getAttribute(`formatCode`);if(e&&n){let t=n;r.set(parseInt(e),t)}}}}processXFs(e,t,n,r,i=null,a=!0){if(!t)return;let o=t.childNodes,s=o.length;for(let t=0;t<s;t++){let s=o.item(t);if(s.nodeType===1&&s.localName===`xf`){let t={};this.processXF(e,s,t,r,i,a),n.push(t)}}}processXF(e,t,n,i,a,o){if(!t)return;let s=t.getAttribute(`xfId`);if(s&&a){let e=a.get(parseInt(s));e&&e!==r.BuiltInName.Normal&&(n.named=e)}let c=e=>!(!o&&t.hasAttribute(e))||D(t.getAttribute(e)),l=e=>!o||t.hasAttribute(e)&&D(t.getAttribute(e)),u=o?`0`:void 0;if(c(`applyFont`)){let e=t.getAttribute(`fontId`)??u;if(e!==void 0&&(e!==`0`||l(`applyFont`))){let t=i.fonts[e];t!==void 0&&(n.font=t)}}if(c(`applyFill`)){let e=t.getAttribute(`fillId`)??u;if(e!==void 0&&(e!==`0`||l(`applyFill`))){let t=i.fills[e];t!==void 0&&Object.keys(t).length>0&&(n.fill=t)}}if(c(`applyBorder`)){let e=t.getAttribute(`borderId`)??u;if(e!==void 0&&(e!==`0`||l(`applyBorder`))){let t=i.borders[e];t!==void 0&&(n.borders=t)}}if(c(`applyNumberFormat`)){let r=t.getAttribute(`numFmtId`)??u;if(r!==void 0&&(r!==`0`||l(`applyNumberFormat`))){let t=parseInt(r),i,a=e.getVisitorParamsState();if(a){let e=a.get(`numFmts`);e&&(i=e.get(t)),n.numberFormat=i??t}else e.warn(`Number formats were unavailable; a cell format was not read.`,{onceKey:`xlsx.style.numberFormat.state`})}}if(c(`applyAlignment`)){let r=e.evaluate(`alignment`,t);(r||l(`applyAlignment`))&&this.processAlignment(e,r,n)}if(c(`applyProtection`)){let r=e.evaluate(`protection`,t);(r||l(`applyProtection`))&&this.processProtection(e,r,n)}let d=D(t.getAttribute(`quotePrefix`)??``);d&&(n.quotePrefix=d)}processAlignment(e,t,n){let r={};if(r.horizontal=t?.hasAttribute(`horizontal`)?t.getAttribute(`horizontal`):o.HorizontalAlignment.General,r.vertical=t?.hasAttribute(`vertical`)?t.getAttribute(`vertical`):o.VerticalAlignment.Bottom,r.indent=t?.hasAttribute(`indent`)?parseInt(t.getAttribute(`indent`)):0,r.relativeIndent=t?.hasAttribute(`relativeIndent`)?parseInt(t.getAttribute(`relativeIndent`)):0,r.overflow=D(t?.getAttribute(`wrapText`)??``)?o.Overflow.Wrap:o.Overflow.Visible,D(t?.getAttribute(`shrinkToFit`)??``)&&(r.overflow=o.Overflow.Shrink),t?.hasAttribute(`textRotation`)){let e=parseFloat(t.getAttribute(`textRotation`));e>0&&e<=90?e=360-e:e>90&&e<=180?e-=90:e===255&&(e=0,r.stacked=!0),r.rotation=e}else r.rotation=0;t?.hasAttribute(`justifyLastLine`)&&(r.justifyLastLine=D(t.getAttribute(`justifyLastLine`)));let i=t?.getAttribute(`readingOrder`);return i&&(i===`0`?r.readingDirection=o.ReadingDirection.Auto:i===`1`?r.readingDirection=o.ReadingDirection.LeftToRight:i===`2`?r.readingDirection=o.ReadingDirection.RightToLeft:e.warn(`Invalid readingOrder '${i}'; the direction was left automatic.`,{onceKey:`xlsx.style.readingOrder`})),Object.keys(r).length>0&&(n.alignment=r),n}collectHiddenXfs(e){let t=new Set;if(!e)return t;let n=e.childNodes,r=0;for(let e=0;e<n.length;e++){let i=n.item(e);if(i.nodeType!==1||i.localName!==`xf`)continue;let a=i.childNodes;for(let e=0;e<a.length;e++){let n=a.item(e);n.nodeType===1&&n.localName===`protection`&&D(n.getAttribute(`hidden`)??``)&&t.add(r)}r++}return t}collectXfComplements(e){let t=new Map;if(!e)return t;let n=e.childNodes,r=0;for(let e=0;e<n.length;e++){let i=n.item(e);if(i.nodeType!==1||i.localName!==`xf`)continue;let a=q(i,`extLst`);if(a){let e=a.childNodes;for(let n=0;n<e.length;n++){let i=q(e.item(n),`xfComplement`),a=parseInt(i?.getAttribute(`i`)??``,10);isNaN(a)||t.set(r,a)}}r++}return t}processProtection(e,t,n){if(!t)return;let r=t.getAttribute(`locked`);return n.protection={alwaysUnlocked:!!r&&!D(r)},n}processDXF(e,t,n){if(!t)return;let r=t.childNodes,i=r.length;for(let t=0;t<i;t++){let i=r.item(t);if(i.nodeType===1&&i.localName===`font`){let t={};this.processFont(e,i,t),n.font=t}else if(i.nodeType===1&&i.localName===`fill`){let t=[];this.processFill(e,i,t,0),t.length>0&&t[0]&&(n.fill=t[0])}else if(i.nodeType===1&&i.localName===`border`){let t=[];this.processBorder(e,i,t,0,!1),t.length>0&&t[0]&&(n.borders=t[0])}else if(i.nodeType===1&&i.localName===`numFmt`){let e=i.getAttribute(`formatCode`);if(e)n.numberFormat=e;else{let e=i.getAttribute(`numFmtId`);e&&(n.numberFormat=Number(e))}}else i.nodeType===1&&i.localName===`alignment`&&this.processAlignment(e,i,n)}}processDXFs(e,t,n){if(!t)return;e.getVisitorParamsState().set(`processingDXFs`,!0);let r=new Map;e.getVisitorParamsState().set(`dxfs`,r);let i=t.childNodes,a=i.length;for(let t=0;t<a;t++){let a=i.item(t);if(a.nodeType===1&&a.localName===`dxf`){let t={};this.processDXF(e,a,t);let i=n.length;r.set(i,t),n.push(t)}}e.getVisitorParamsState().delete(`processingDXFs`)}processSlicerStyles(e,t,n){if(!t)return;let r=null,i=null,a=t.childNodes;for(let e=0;e<a.length;e++){let t=a.item(e);if(t.nodeType!==1||t.localName!==`ext`)continue;let n=t.childNodes;for(let e=0;e<n.length;e++){let t=n.item(e);t.nodeType===1&&(t.localName===`dxfs`?r=t:t.localName===`slicerStyles`&&(i=t))}}if(!i)return;let o=[];if(r){e.getVisitorParamsState().set(`processingDXFs`,!0);let t=r.childNodes;for(let n=0;n<t.length;n++){let r=t.item(n);if(r.nodeType!==1||r.localName!==`dxf`)continue;let i={};this.processDXF(e,r,i),o.push(i)}e.getVisitorParamsState().delete(`processingDXFs`)}let s={},c=i.getAttribute(`defaultSlicerStyle`);c&&c!==`SlicerStyleLight1`&&(s.defaultSlicerStyle=c);let l=n.tables?.styles,u=i.childNodes;for(let t=0;t<u.length;t++){let n=u.item(t);if(n.nodeType!==1||n.localName!==`slicerStyle`)continue;let r=n.getAttribute(`name`);if(!r)continue;let i={},a=l?.[r];a&&!1===a.table&&!a.pivot&&(a.wholeTable&&(i.wholeTable=a.wholeTable),a.headerRow&&(i.headerRow=a.headerRow),delete l[r]);let c=e.evaluate(`slicerStyleElements`,n)?.childNodes,d=c?.length??0;for(let t=0;t<d;t++){let n=c.item(t);if(n.nodeType!==1||n.localName!==`slicerStyleElement`)continue;let r=n.getAttribute(`type`);if(!r||!Te.has(r))continue;let a=n.getAttribute(`dxfId`),s=a==null?void 0:o[parseInt(a)];s?i[r]=s:e.warn(`A slicer style names a format that does not exist (dxfId '${a}').`,{onceKey:`xlsx.style.slicerStyle.dxf`})}(s.styles??={})[r]=i}l&&Object.keys(l).length===0&&(delete n.tables.styles,Object.keys(n.tables).length===0&&delete n.tables),Object.keys(s).length>0&&(n.slicers=s)}processTableStyle(e,t,n,r,i=!1){let a=t.getAttribute(`name`),o={name:a};t.hasAttribute(`table`)&&(o.table=D(t.getAttribute(`table`))),t.hasAttribute(`pivot`)&&(o.pivot=D(t.getAttribute(`pivot`))),i&&!o.pivot&&r.unshift(null);let s=t.childNodes,c=s.length;for(let t=0;t<c;t++){let n=s.item(t);if(n.nodeType===1&&n.localName===`tableStyleElement`){let t=n.getAttribute(`type`),i=n.getAttribute(`dxfId`),a=i==null?void 0:r?.[i];a||=(e.warn(`A table style names a format that does not exist (dxfId '${i}').`,{onceKey:`xlsx.style.tableStyle.dxf`}),{}),o[t]=a;let s=null;n.hasAttribute(`size`)&&(s=parseInt(n.getAttribute(`size`))),s&&!isNaN(s)&&(a.size=s)}}delete o.name,n[a]=o}processTableStyles(e,t,n,r,i){if(!t)return;let a={},o=t.getAttribute(`defaultTableStyle`);o&&(a.defaultTableStyle=o);let s=t.getAttribute(`defaultPivotStyle`);s&&(a.defaultPivotStyle=s);let c=t.childNodes,l={},u=c.length;for(let t=0;t<u;t++){let n=c.item(t);n.nodeType===1&&n.localName===`tableStyle`&&this.processTableStyle(e,n,l,r,i)}return Object.keys(l).length>0&&(a.styles=l),Object.keys(a).length>0&&(n.tables=a),n}processCellStyles(e,t,n,i,a){if(!t)return;let o=t.childNodes,s=o.length;for(let e=0;e<s;e++){let t=o.item(e);if(t.nodeType===1&&t.localName===`cellStyle`){let e=parseInt(t.getAttribute(`xfId`)??``),o=t.getAttribute(`name`),s=t.getAttribute(`builtinId`),c=o;if(s!==null){let e=r.builtInNameFromId(parseInt(s));e!==void 0&&(c=e)}if(a.set(e,c),!i[e])continue;let l={name:c,style:i[e]};t.getAttribute(`hidden`)&&(l.hidden=D(t.getAttribute(`hidden`))),t.getAttribute(`iLevel`)&&(l.iLevel=parseInt(t.getAttribute(`iLevel`))),s!==null&&D(t.getAttribute(`customBuiltin`)??`0`)&&(l.customized=!0),n.push(l)}}}afterVisit(e,t,n){}},WorkbookVisitor:class extends G{visit(e,t,n){return this.processSheetRefs(e,e.evaluate(`sheets`,t),n),this.processExternalReferences(e,e.evaluate(`externalReferences`,t),n),this.processBookViews(e,e.evaluate(`bookViews`,t),n),this.processDefinedNames(e,e.evaluate(`definedNames`,t),n),this.processCalcPr(e,e.evaluate(`calcPr`,t),n),this.processPivotCaches(e,e.evaluate(`pivotCaches`,t),n),this.processWorkbookProtection(e,e.evaluate(`workbookProtection`,t),n),this.processWorkbookPr(e,e.evaluate(`workbookPr`,t),n),n}processPassword(e,t,n,r=`workbook`,i=`password`){if(!t)return;let a={};e.copyFromAttribute(t,`${r}AlgorithmName`,a,`algorithm`),e.copyFromAttribute(t,`${r}HashValue`,a,`hash`),e.copyFromAttribute(t,`${r}SaltValue`,a,`salt`),e.copyFromAttribute(t,`${r}SpinCount`,a,`spinCount`,e.INT_COPY),e.copyFromAttribute(t,`${r}Password`,a,`legacyHash`),Object.keys(a).length>0&&(n[i]=a)}processWorkbookProtection(e,t,n){if(!t)return;let r={};this.processPassword(e,t,r,`workbook`,`password`),this.processPassword(e,t,r,`revisions`,`revisionsPassword`);for(let e of re)r[e.key]=ae(e,t.getAttribute(e.attribute));return n.protection=r,n}processCalcPr(e,t,n){if(!t)return;let r={};e.copyFromAttribute(t,`calcMode`,r,`calcMode`,e=>Ee[e]??null),e.copyFromAttribute(t,`fullCalcOnLoad`,r,`fullCalcOnLoad`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`calcOnSave`,r,`calcOnSave`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`calcCompleted`,r,`calcCompleted`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`fullPrecision`,r,`fullPrecision`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`forceFullCalc`,r,`forceFullCalc`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`concurrentCalc`,r,`concurrentCalc`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`concurrentManualCount`,r,`concurrentManualCount`,e.INT_COPY),e.copyFromAttribute(t,`refMode`,r,`refMode`),e.copyFromAttribute(t,`iterate`,r,`iterate`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`iterateCount`,r,`maxIteration`,e.INT_COPY),e.copyFromAttribute(t,`iterateDelta`,r,`maxIterateChange`,e.FLOAT_COPY);let i=t.getAttribute(`calcId`);i!==null&&e.getVisitorParamsState().set(`calcId`,i),n.calc=r}processSheetRefs(e,t,n){if(!t)return;let r=[],i=t.childNodes,a=i.length;for(let t=0;t<a;t++){let n=i.item(t);n.nodeType===1&&n.localName===`sheet`&&this.processSheetRef(e,n,r)}n.sheets=r}processSheetRef(e,t,n){let r={};e.copyFromAttribute(t,`name`,r,`name`),e.copyFromAttribute(t,`state`,r,`visibility`),e.copyFromAttribute(t,`sheetId`,r,`sheetId`,e.INT_COPY);let i=t.getAttribute(`r:id`),a=i?te(e.getRelationships().get(i)?.type):null;if(a){let t=e.readEmbeddedPart(i);if(t?.xml){let e={part:t},i=ue(t.xml),o=i?T(e=>i.get(e)):void 0;o&&(e.tabColor=o),r.kind=a,r.sheet=e,n.push(r);return}e.warn(`The ${a} sheet '${r.name}' could not be read and was loaded as an empty worksheet.`),n.push(r);return}let o=i?e.getRef(i):null;o&&(r.sheet=o),n.push(r)}processExternalReferences(e,t,n){if(!t)return;let r=[],i=t.childNodes,a=i.length;for(let t=0;t<a;t++){let n=i.item(t);if(n.nodeType===1&&n.localName===`externalReference`){let t=n.getAttribute(`r:id`),i=t?e.getRef(t):null;r.push(i??null)}}r.length>0&&(n.externalBooks=r)}processPivotCaches(e,t,n){if(!t)return;let r=[],i=t.childNodes,a=i.length;for(let t=0;t<a;t++){let n=i.item(t);if(n.nodeType!==1||n.localName!==`pivotCache`)continue;let a=parseInt(n.getAttribute(`cacheId`)??``,10),o=n.getAttribute(`r:id`);if(isNaN(a)||!o)continue;let s=e.readEmbeddedPart(o);s&&r.push({cacheId:a,part:s})}r.length>0&&(n.pivotCaches=r)}processBookViews(e,t,n){if(!t)return;let r=t.childNodes,i=0,a=r.length;for(let t=0;i<1&&t<a;t++){let a=r.item(t);a.nodeType===1&&a.localName===`workbookView`&&(this.processWorkbookView(e,a,n),i++)}}processWorkbookView(e,t,n){if(!t)return;let r={},i=[`xWindow`,`yWindow`,`windowWidth`,`windowHeight`].map(e=>parseInt(t.getAttribute(e)??``,10));if(i.some(e=>Number.isFinite(e))){let[e,t,n,a]=i.map(e=>Number.isFinite(e)?e:0);r.windowBounds={left:e,top:t,width:n,height:a}}e.copyFromAttribute(t,`activeTab`,r,`activeSheetId`,[e.INT_COPY,e=>e]),t.hasAttribute(`activeTab`)||(r.activeSheetId=0),e.copyFromAttribute(t,`showHorizontalScroll`,r,`showHorizontalScrollbar`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`showVerticalScroll`,r,`showVerticalScrollbar`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`showSheetTabs`,r,`showTabs`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`tabRatio`,r,`tabRatio`,[e.FLOAT_COPY,e=>e]),e.copyFromAttribute(t,`firstSheet`,r,`firstTab`,[e.INT_COPY,e=>e]),e.copyFromAttribute(t,`minimized`,r,`minimized`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`autoFilterDateGrouping`,r,`autoFilterDateGrouping`,e.BOOLEAN_COPY);let a=t.getAttribute(`visibility`);a!==`hidden`&&a!==`veryHidden`||(r.visibility=a),Object.keys(r).length>0&&(n.view=r)}processDefineName(e,t,n,r){if(!t)return;let i={},a=t.firstChild;if(a&&a.nodeType===3&&(i.ref=a.textContent),e.copyFromAttribute(t,`name`,i),e.copyFromAttribute(t,`comment`,i),e.copyFromAttribute(t,`hidden`,i,`hidden`,e.BOOLEAN_COPY),t.hasAttribute(`localSheetId`)){let n=t.getAttribute(`localSheetId`);if(!r[n]?.name)return void e.warn(`Defined name '${t.getAttribute(`name`)}' references a sheet with localSheetId '${n}' which does not exist.`);i.scope=r[n].name}let o={};for(let n of L)e.copyFromAttribute(t,n,o);for(let e of R){let n=t.getAttribute(e);n!==`1`&&n!==`true`||(o[e]=!0)}e.copyFromAttribute(t,`functionGroupId`,o,`functionGroupId`,e.INT_COPY),Object.keys(o).length>0&&(i.fileAttributes=o),Object.keys(i).length>0&&n.push(i)}processDefinedNames(e,t,n){if(!t)return;let r=[],i=t.childNodes,a=i.length;for(let t=0;t<a;t++){let a=i.item(t);a.nodeType===1&&a.localName===`definedName`&&this.processDefineName(e,a,r,n.sheets)}r.length>0&&(n.names=r)}processWorkbookPr(e,t,n){t&&(e.copyFromAttribute(t,`date1904`,n,`date1904`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`codeName`,n,`codeName`),e.copyFromAttribute(t,`updateLinks`,n,`updateLinks`))}afterVisit(e,t,n){}},TableVisitor:class{visit(e,t,n){let r={};return e.copyFromAttribute(t,`ref`,n,`r`),e.getVisitorParamsState().set(`ref`,n.r),n.v=r,e.copyFromAttribute(t,`name`,r),e.copyFromAttribute(t,`displayName`,r,`name`),e.copyFromAttribute(t,`headerRowCount`,r,`headerRowCount`,e.INT_COPY),e.copyFromAttribute(t,`totalsRowCount`,r,`totalsRowCount`,e.INT_COPY),this.processTableColumns(e,t,r),this.processTableStyleInfo(e,t,r),e.copyFromAttribute(t,`id`,r),e.copyFromAttribute(t,`comment`,r,`description`),e.copyFromAttribute(t,`connectionId`,r,`connectionId`,e.INT_COPY),e.copyFromAttribute(t,`tableType`,r),e.copyFromAttribute(t,`published`,r,`published`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`insertRow`,r,`insertRow`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`insertRowShift`,r,`insertRowShift`,e.BOOLEAN_COPY),r.totalsRowShown=t.getAttribute(`totalsRowShown`)!==`0`,r}afterVisit(e,t,n){let r=n.v;if(e.evaluate(`autoFilter`,t)){if(Array.isArray(r.hiddenButtons)){let e=r.hiddenButtons.length;e===0?r.hiddenButtons=!1:e===r.columns?.length&&(r.hiddenButtons=!0)}}else r.hiddenButtons=!0,r.showButtons=!1;return r}processTableStyleInfo(e,t,n){if(!t)return;let r=t.childNodes,i={},a=r.length;for(let t=0;t<a;t++){let n=r.item(t);n.nodeType===1&&n.localName===`tableStyleInfo`&&(e.copyFromAttribute(n,`name`,i),e.copyFromAttribute(n,`showColumnStripes`,i,`showColumnStripes`,e.BOOLEAN_COPY),e.copyFromAttribute(n,`showFirstColumn`,i,`showFirstColumn`,e.BOOLEAN_COPY),e.copyFromAttribute(n,`showLastColumn`,i,`showLastColumn`,e.BOOLEAN_COPY),e.copyFromAttribute(n,`showRowStripes`,i,`showRowStripes`,e.BOOLEAN_COPY))}Object.keys(i).length>0&&(n.style=i)}processTableColumn(e,t,n){if(!t)return null;let r=t.childNodes,i=r.length;for(let t=0;t<i;t++){let i=r.item(t);if(i.nodeType===1&&i.localName===`tableColumn`){let t={};e.copyFromAttribute(i,`name`,t),e.copyFromAttribute(i,`id`,t),e.copyFromAttribute(i,`uniqueName`,t),e.copyFromAttribute(i,`queryTableFieldId`,t),e.copyFromAttribute(i,`totalsRowLabel`,t);let r=i.getAttribute(`totalsRowFunction`);if(r!==null){if(r===`custom`){let n=e.evaluate(`totalsRowFormula`,i);n&&(t.totalsRowFormula=n.textContent)}else t.totalsRowFormula=r}e.copyFromAttribute(i,`totalsRowLabel`,t);let a=e.evaluate(`calculatedColumnFormula`,i);a?.textContent&&(t.calculatedColumnFormula=a.textContent),n.push(t)}}return n}processTableColumns(e,t,n){let r=t.childNodes,i=[],a=r.length;for(let t=0;t<a;t++){let n=r.item(t);n.nodeType===1&&n.localName===`tableColumns`&&this.processTableColumn(e,n,i)}i.length>0&&(n.columns=i)}},TableX14Visitor:class{visit(e,t,n){let r=e.getVisitorParamsState().get(`ref`);if(r){let n=e.getVisitorParamsState().get(`descriptions`);n&&(n.add(r,t.getAttribute(`altText`)),n.add(r,t.getAttribute(`altTextSummary`)))}return e.copyFromAttribute(t,`altText`,n),e.copyFromAttribute(t,`altTextSummary`,n),n}},ExternalLinkVisitor:class{visit(e,t,n){let r=t.childNodes,i=r.length,a=null;for(let e=0;e<i;e++){let t=r.item(e);if(t.nodeType===1){t.localName===`externalBook`&&(a=t);break}}if(!a)return n;t.getAttribute(`mc:Ignorable`)&&(n.mceIgnorable=!0);let o=a.getAttribute(`r:id`);o&&(n.__bookRelId=o);let s=this._findAbsoluteUrlRelId(a);return s&&(n.__absoluteUrlRelId=s),n.sheetNames=[],this.processSheetNames(e,a,n),this.processDefinedNames(e,a,n),this.processSheetDataSet(e,a,n),n}processSheetNames(e,t,n){let r=this._findChild(t,`sheetNames`);if(!r)return;let i=r.childNodes,a=i.length;for(let e=0;e<a;e++){let t=i.item(e);t.nodeType===1&&t.localName===`sheetName`&&n.sheetNames.push(t.getAttribute(`val`)??``)}}processDefinedNames(e,t,n){let r=this._findChild(t,`definedNames`);if(!r)return;let i=[],a=r.childNodes,o=a.length;for(let e=0;e<o;e++){let t=a.item(e);if(t.nodeType!==1||t.localName!==`definedName`)continue;let n=t.getAttribute(`name`);if(!n)continue;let r={name:n,refersTo:t.getAttribute(`refersTo`)??``},o=t.getAttribute(`sheetId`);o!==null&&(r.sheetIndex=parseInt(o,10)),i.push(r)}i.length>0&&(n.definedNames=i)}processSheetDataSet(e,t,n){let r=this._findChild(t,`sheetDataSet`);if(!r)return;let i=[],a=r.childNodes,o=a.length;for(let t=0;t<o;t++){let n=a.item(t);if(n.nodeType!==1||n.localName!==`sheetData`)continue;let r=n.getAttribute(`sheetId`);if(r===null)continue;let o=this.processSheetData(e,n);o.sheetIndex=parseInt(r,10),n.getAttribute(`refreshError`)===`1`&&(o.refreshError=!0),i.push(o)}i.length>0&&(n.sheetDataSet=i)}processSheetData(e,t){let n=new f.Builder,r=t.childNodes,i=r.length;for(let e=0;e<i;e++){let t=r.item(e);if(t.nodeType!==1||t.localName!==`row`)continue;let i=t.childNodes,a=i.length;for(let e=0;e<a;e++){let t=i.item(e);if(t.nodeType!==1||t.localName!==`cell`)continue;let r=t.getAttribute(`r`);if(!r)continue;let a=d.fastStringToCell(r);if(a?.rowIndex===void 0||a?.colIndex===void 0)continue;let o=this._readCellValue(t);o!==void 0&&n.pushAt(a.rowIndex,a.colIndex,o)}}return{sheetIndex:-1,data:n.build()?.tuples??[]}}_readCellValue(e){let t=this._findChild(e,`v`)?.textContent?.trim();if(t!==void 0&&t!==``)switch(e.getAttribute(`t`)){case null:case`n`:return parseFloat(t);case`b`:return t===`1`||t===`true`;case`str`:default:return t;case`e`:{let e=l.getBuiltInByLabel(t);return e?{t:`e`,v:e.getCode()}:t}}}_findChild(e,t){let n=e.childNodes,r=n.length;for(let e=0;e<r;e++){let r=n.item(e);if(r.nodeType===1&&r.localName===t)return r}return null}_findAbsoluteUrlRelId(e){let t=this._findChild(e,`alternateUrls`);return t?this._findChild(t,`absoluteUrl`)?.getAttribute(`r:id`)??null:null}},SlicerCacheDefinitionVisitor:class{visit(e,t,n){e.copyFromAttribute(t,`name`,n,`cacheName`),e.copyFromAttribute(t,`sourceName`,n);let r=e.evaluate(`*/tableSlicerCache`,t);return r?(e.copyFromAttribute(r,`tableId`,n),e.copyFromAttribute(r,`column`,n,`columnId`),e.copyFromAttribute(r,`sortOrder`,n),e.copyFromAttribute(r,`customListSort`,n,`customListSort`,e.BOOLEAN_COPY),e.copyFromAttribute(r,`crossFilter`,n),n):(e.warn(`A slicer names no table; it was not imported.`,{onceKey:`xlsx.slicer.cacheDefinition`}),n)}},SlicersVisitor:class{visit(e,t,n){let r=n.slicers;r||(r={},n.slicers=r);let i=t.childNodes,a=i.length;for(let t=0;t<a;t++){let n=i.item(t);n.nodeType===1&&n.localName===`slicer`&&this.processSlicer(e,n,r)}return r}processSlicer(e,t,n){if(!t)return;let r={};n[t.getAttribute(`name`)]=r,e.copyFromAttribute(t,`xr10:uid`,r,`uid`);let i=t.getAttribute(`cache`),a=e.getVisitorParamsState().get(`slicerCaches`),o=i?a?.get(i):void 0;if(o)for(let e=0;e<J.length;e++){let t=J[e];o[t]!==void 0&&(r[t]=o[t])}e.copyFromAttribute(t,`caption`,r),e.copyFromAttribute(t,`startItem`,r,`startItem`,e.INT_COPY),e.copyFromAttribute(t,`columnCount`,r,`columnCount`,e.INT_COPY),e.copyFromAttribute(t,`showCaption`,r,`showCaption`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`level`,r,`level`,e.INT_COPY),e.copyFromAttribute(t,`style`,r),e.copyFromAttribute(t,`lockedPosition`,r,`lockedPosition`,e.BOOLEAN_COPY),e.copyFromAttribute(t,`rowHeight`,r,`rowHeight`,e.INT_COPY)}},FormControlPrVisitor:class{visit(e,t,n){let r={},i=t.attributes;for(let e=0;e<i.length;e++){let t=i.item(e),n=t.name;n===`xmlns`||n.startsWith(`xmlns:`)||(r[n]=t.value)}let a=[],o,s=t.childNodes;for(let t=0;t<s.length;t++){let n=s.item(t);if(n.nodeType===1){if(n.localName===`itemLst`){let e=n.childNodes;for(let t=0;t<e.length;t++){let n=e.item(t);n.nodeType===1&&n.localName===`item`&&a.push(n.getAttribute(`val`)??``)}}else n.localName===`extLst`&&(o=e.serializeElement(n)??void 0)}}let c=fe(r,a,o);return n.formControl=c,c}},DrawingVisitor:class{visit(e,t,n){return n}afterVisit(e,t,n){for(let e of n?.movables??[])Y(e,!1)}},DrawingAnchorVisitor:class{visit(e,t,n){if(!t)return;let r={};e.copyFromAttribute(t,`editAs`,r,`anchorType`),r.anchor={},t.localName===`absoluteAnchor`?(r.anchorType=`absolute`,this.processAbsoluteCoord(e,e.evaluate(`pos`,t),r.anchor,`from`,`x`,`y`),this.processAbsoluteCoord(e,e.evaluate(`ext`,t),r.anchor,`to`,`cx`,`cy`)):t.localName===`oneCellAnchor`?(this.processOffsetCoord(e,e.evaluate(`from`,t),r.anchor,`from`),this.processAbsoluteCoord(e,e.evaluate(`ext`,t),r.anchor,`to`,`cx`,`cy`)):(this.processOffsetCoord(e,e.evaluate(`from`,t),r.anchor,`from`),this.processOffsetCoord(e,e.evaluate(`to`,t),r.anchor,`to`));let i=e.evaluate(`clientData`,t),a=e=>{let t=i?.getAttribute(e);return t===`0`||t===`false`};return a(`fPrintsWithSheet`)&&(r.noPrint=!0),a(`fLocksWithSheet`)&&(r.unlocked=!0),n.movables||=[],n.movables.push(r),r}processAbsoluteCoord(e,t,n,r,i,a){if(!t)return;let o={x:0,y:0};return o.x=k(t.getAttribute(i)),o.y=k(t.getAttribute(a)),r===`from`?n.tl=o:n.br=o,n}processOffsetCoord(e,t,n,r){if(!t)return;let i={c:0,r:0,x:0,y:0};return e.evaluate(`col`,t)&&(i.c=parseInt(e.evaluate(`col`,t).textContent)),e.evaluate(`row`,t)&&(i.r=parseInt(e.evaluate(`row`,t).textContent)),e.evaluate(`colOff`,t)&&(i.x=k(e.evaluate(`colOff`,t).textContent)),e.evaluate(`rowOff`,t)&&(i.y=k(e.evaluate(`rowOff`,t).textContent)),r===`from`?n.tl=i:n.br=i,n}},DrawingGraphicFrameVisitor:class extends H{visit(e,t,n){if(!t)return;if(this.isGroupContent(n)){if(e.getPath().includes(`Fallback`))return{};let{movable:r}=this.readMemberHeader(e,t,`graphicFrame`),i=e.evaluate(`xfrm`,t);if(i){C(i,r);let t=e.evaluate(`off`,i),n=e.evaluate(`ext`,i);r.anchor={tl:{x:k(t?.getAttribute(`x`)??null)??0,y:k(t?.getAttribute(`y`)??null)??0},br:{x:k(n?.getAttribute(`cx`)??null)??0,y:k(n?.getAttribute(`cy`)??null)??0}}}let a=this.readGraphic(e,t),o=a.type===`chart`?{...r.content.json,...a.json}:a.json;return r.content={...r.content,type:a.type,json:o},n.members.push(r),a.json}n=super.visit(e,t,n);let r=e.evaluate(`nvGraphicFramePr/cNvGraphicFramePr`,t);if(r){let t=e.evaluate(`graphicFrameLocks`,r);t&&t.hasAttribute(`noChangeAspect`)&&(n.lockAspect=t.getAttribute(`noChangeAspect`)===`1`)}let i=this.readGraphic(e,t);return this.setContent(n,i),i}readGraphic(e,t){let n=e.evaluate(`graphic/graphicData`,t),r={type:`graphicFrame`,json:{}};if(!n)return r;let i=n.childNodes,a=i.length;for(let n=0;n<a;n++){let a=i.item(n);if(a.nodeType===1)try{let n=a.localName;n===`chart`?n=`chart`:n===`slicer`&&(n=`slicer`),r.type=n;let i=a.getAttribute(`r:id`);if(n===`chart`&&i){let n=this.readSourceId(e,t),a=e.readEmbeddedPart(i)??void 0,o;try{let t=a?.xml?_e(a.xml):null;o=t?.model,t?.lossy&&e.warn(`A chart states something its model does not; it is saved as it was until it is changed.`,{onceKey:`xlsx.chart.lossy`})}catch(t){e.warn(`A chart could not be read into the chart model; it is kept as its markup: ${t?.message??t}`,{onceKey:`xlsx.chart.model`})}r.json={sourceId:n,part:a,model:o}}else if(n===`slicer`){let n=this.readSourceId(e,t);n!==void 0&&(r.json={sourceId:n})}else i&&(r.json=e.getRef(i))}catch(t){e.warn(`Unable to read a graphic frame: ${t?.message??t}`,{onceKey:`xlsx.drawing.graphicFrame`})}}return r}},DrawingSpVisitor:X,DrawingPicVisitor:class extends H{visit(e,t,n){if(!t)return;if(this.isGroupContent(n)){if(e.getPath().includes(`Fallback`))return{};let{movable:r,content:i}=this.readMemberHeader(e,t,`picture`),a=this.readImage(e,t);return a?(this.readPictureDetails(e,t,a,r,i),n.members.push(r),i):{}}let r=super.visit(e,t,n),i=this.readImage(e,t);if(i===null)return;let a={},o=this.readSourceId(e,t);return o!==void 0&&(a.sourceId=o),this.readPictureDetails(e,t,i,r,a),this.setContent(r,{type:`picture`,json:a}),a}readPictureDetails(e,t,n,r,i){n?.resId!==void 0&&(i.resId=n.resId),n?.image&&(i.image=n.image);let a=t.getAttribute(`macro`);a&&(i.macro=a),t.hasAttribute(`fPublished`)&&(i.published=D(t.getAttribute(`fPublished`)));let o=e.evaluate(`nvPicPr/cNvPicPr`,t);if(o?.getAttribute){o.getAttribute(`preferRelativeResize`)===`0`&&(i.noRelativeResize=!0);let t=this.readLocks(e.evaluate(`picLocks`,o));t&&(i.locks=t),r.lockAspect=t?.noChangeAspect??!1}}readImage(e,t){let n=e.evaluate(`blipFill`,t),r=n?e.evaluate(`blip`,n):null;if(!r)return;if(!(r.getAttribute(`r:embed`)??r.getAttribute(`embed`)??r.getAttribute(`r:link`)??r.getAttribute(`link`)))return e.warn(`A picture names no image; it was not imported.`,{onceKey:`xlsx.drawing.picture.noRel`}),null;let{type:i,resId:a,...o}=new h().processImageFill(e,n);return!o.tile&&o.stretch&&Object.keys(o.stretch).length===0&&delete o.stretch,o.extLst&&De.test(o.extLst)&&delete o.extLst,{resId:a,image:Object.keys(o).length>0?o:void 0}}},DrawingGrpSpVisitor:class extends H{constructor(...e){super(...e),this._fills=new h}visit(e,t,n){if(!t)return;let r=this.isGroupContent(n),i,a;if(r){if(e.getPath().includes(`Fallback`))return{};let r=this.readMemberHeader(e,t,`group`);i=r.movable,a=r.content,n.members.push(i)}else{if(e.getPath().includes(`Fallback`)&&n.content)return{};i=super.visit(e,t,n),a={};let r=this.readSourceId(e,t);r!==void 0&&(a.sourceId=r),this.setContent(i,{type:`group`,json:a})}a.members=[];let o=e.evaluate(`nvGrpSpPr/cNvGrpSpPr/grpSpLocks`,t);o?.hasAttribute?.(`noChangeAspect`)&&(i.lockAspect=o.getAttribute(`noChangeAspect`)===`1`);let s=this.readLocks(o);s&&(a.locks=s);let c=e.evaluate(`grpSpPr`,t);if(c){let t=e.evaluate(`xfrm`,c);if(t){C(t,i),t.getAttribute(`flipH`)===`1`&&(i.flipH=!0),t.getAttribute(`flipV`)===`1`&&(i.flipV=!0);let n=Z(e,t,`off`,`ext`),o=Z(e,t,`chOff`,`chExt`)??n;o&&(a.childBounds=o),r&&n&&(i.anchor={tl:{x:n.x,y:n.y},br:{x:n.width,y:n.height}})}let n=this._fills.getFill(e,c);n&&Object.keys(n).length>0&&(a.fill=n);let o=this._fills.getEffects(e,c);o&&(a.effects=o);let s=e.evaluate(`scene3d`,c),l=s?e.serializeElement(s):null;l&&(a.scene3d=l);let u=e.evaluate(`extLst`,c),d=u?e.serializeElement(u):null;d&&(a.extLst={...a.extLst,properties:d})}return a}},DrawingCxnSpVisitor:class extends X{visit(e,t,n){if(t)return this.visitShape(e,t,n,`cxnSp`,`nvCxnSpPr/cNvCxnSpPr/cxnSpLocks`)}},MetadataVisitor:class{visit(e,t,n){let r=[],i=new Map,a={cells:[],values:[]},o=t.childNodes;for(let e=0;e<o.length;e++){let t=o.item(e);if(t.nodeType===1)switch(t.localName){case`metadataTypes`:this._parseMetadataTypes(t,r,i);break;case`futureMetadata`:this._attachFutureMetadata(t,i);break;case`cellMetadata`:this._resolveBlocks(t,r,a.cells);break;case`valueMetadata`:this._resolveBlocks(t,r,a.values)}}return n.metadata=a,a}_parseMetadataTypes(e,t,n){let r=e.childNodes;for(let e=0;e<r.length;e++){let i=r.item(e);if(i.nodeType===1&&i.localName===`metadataType`){let e=this._parseMetadataType(i);t.push(e),n.set(e.name,e)}}}_parseMetadataType(e){let t={name:e.getAttribute(`name`)??``,_blocks:[]},n=e.getAttribute(`minSupportedVersion`);n!=null&&(t.minSupportedVersion=Number(n));for(let n of[`copy`,`pasteAll`,`pasteValues`,`merge`,`splitFirst`,`splitAll`,`rowColShift`,`clearFormats`,`clearComments`,`assign`,`coerce`,`cellMeta`,`adjust`,`trans`,`delete`,`edit`])e.getAttribute(n)===`1`&&(t[n]=!0);return t}_attachFutureMetadata(e,t){let n=e.getAttribute(`name`)??``,r=t.get(n);if(!r)return;let i=e.childNodes;for(let e=0;e<i.length;e++){let t=i.item(e);t.nodeType===1&&t.localName===`bk`&&r._blocks.push(this._parseFutureBlock(t))}}_parseFutureBlock(e){let t={},n=e.childNodes;for(let e=0;e<n.length;e++){let r=n.item(e);if(r.nodeType!==1||r.localName!==`extLst`)continue;let i=r.childNodes;for(let e=0;e<i.length;e++){let n=i.item(e);if(n.nodeType!==1||n.localName!==`ext`)continue;let r=n.childNodes;for(let e=0;e<r.length;e++){let n=r.item(e);n.nodeType===1&&(n.localName===`dynamicArrayProperties`?(t.fDynamic=n.getAttribute(`fDynamic`)===`1`,t.fCollapsed=n.getAttribute(`fCollapsed`)===`1`):n.localName===`rvb`&&(t.richValueIndex=Number(n.getAttribute(`i`)??`0`)))}}}return t}_resolveBlocks(e,t,n){let r=e.childNodes;for(let e=0;e<r.length;e++){let i=r.item(e);i.nodeType===1&&i.localName===`bk`&&n.push(this._resolveBlock(i,t))}}_resolveBlock(e,t){let n=new Map,r=e.childNodes;for(let e=0;e<r.length;e++){let i=r.item(e);if(i.nodeType!==1||i.localName!==`rc`)continue;let a=Number(i.getAttribute(`t`)),o=Number(i.getAttribute(`v`)),s=t[a-1];if(!s)continue;let{_blocks:c,...l}=s,u={...l};for(let e of Object.keys(u))u[e]===void 0&&delete u[e];let d=c[o];d&&(d.fDynamic!==void 0&&(u.fDynamic=d.fDynamic,u.fCollapsed=d.fCollapsed??!1),d.richValueIndex!==void 0&&(u.richValueIndex=d.richValueIndex)),n.set(s.name,u)}return n}},FeaturePropertyBagVisitor:class{visit(e,t,n){let r=[],i=t.childNodes;for(let e=0;e<i.length;e++){let t=i.item(e);t.nodeType===1&&t.localName===`bag`&&r.push(this._readBag(t))}let a=[],o=r.find(e=>e.type===`XFComplements`)?.arrays.get(`MappedFeaturePropertyBags`)??[];for(let t=0;t<o.length;t++){let n=r[o[t]]?.ids.get(`XFControls`),i=n===void 0?void 0:r[n]?.ids.get(`CellControl`),s=i===void 0?void 0:r[i]?.type,c=s?Oe[s]:void 0;c||e.warn(`A cell format's feature '${s??`unknown`}' is not read; its cells keep their values.`),a.push(c?{type:c}:null)}let s={controls:a};return n.featurePropertyBag=s,s}_readBag(e){let t={type:e.getAttribute(`type`)??``,ids:new Map,arrays:new Map},n=e.childNodes;for(let e=0;e<n.length;e++){let r=n.item(e);if(r.nodeType!==1)continue;let i=r.getAttribute(`k`)??``;if(r.localName===`bagId`){let e=parseInt(r.textContent??``,10);isNaN(e)||t.ids.set(i,e)}else if(r.localName===`a`){let e=[],n=r.childNodes;for(let t=0;t<n.length;t++){let r=n.item(t);if(r.nodeType!==1||r.localName!==`bagId`)continue;let i=parseInt(r.textContent??``,10);isNaN(i)||e.push(i)}t.arrays.set(i,e)}}return t}},CommentsVisitor:class{visit(e,t,n){if(!t)return;let r=[];this.processAuthors(e,e.evaluate(`authors`,t),r),r.length>0&&(n.authors=r);let i=[];return n.comments=i,i}processAuthors(e,t,n){if(!t)return;let r=t.childNodes,i=r.length;for(let e=0;e<i;e++){let t=r.item(e);if(t.nodeType===1&&t.localName===`author`){let e=t.firstChild;e&&e.nodeType===3&&n.push(e.textContent)}}}},CommentVisitor:class{visit(e,t,n){if(!t)return;let r=t.getAttribute(`ref`);if(!r)return;let i={content:``};if(t.hasAttribute(`authorId`)){let e=parseInt(t.getAttribute(`authorId`),10);isNaN(e)||(i.authorId=e)}return i.content=function(e){if(!e)return``;let t=[],n=!0,r=e.childNodes;for(let e=0;e<r.length;e++){let i=r.item(e);if(i.nodeType===1){if(i.localName===`t`)t.push({text:i.textContent??``});else if(i.localName===`r`){let e={text:``},r=i.childNodes;for(let t=0;t<r.length;t++){let n=r.item(t);if(n.nodeType===1){if(n.localName===`t`)e.text+=n.textContent??``;else if(n.localName===`rPr`){let t=Ae(n);t&&(e.font=t)}}}e.font&&(n=!1),t.push(e)}}}return t.length===0?e.textContent??``:n?t.map(e=>e.text).join(``):{runs:t}}(e.evaluate(`text`,t)),n.push({r,v:i}),i}},ThreadedCommentsVisitor:class{visit(e,t,n){if(!t)return;let r=[];return n.comments=r,r}},ThreadedCommentVisitor:class{visit(e,t,n){if(!t)return;let r={};e.copyFromAttribute(t,`id`,r,`id`,S);let i=t.getAttribute(`ref`);e.copyFromAttribute(t,`personId`,r,`personId`,S),e.copyFromAttribute(t,`parentId`,r,`parentId`,S);let a=t.getAttribute(`dT`);a&&(r.dt=function(e){let t=/^(.*T\d{2}:\d{2}:\d{2})(?:\.(\d+))?(Z|[+-]\d{2}:?\d{2})?$/i.exec(e.trim());if(!t)return e;let[,n,r,i]=t;return`${n}${r?`.${(r+`00`).substring(0,3)}`:``}${i??`Z`}`}(a)),t.hasAttribute(`done`)&&(r.done=D(t.getAttribute(`done`)));let o=function(e){let t,n=e.childNodes;for(let e=0;e<n.length;e++){let r=n.item(e);if(r.nodeType!==1||r.localName!==`mentions`)continue;let i=r.childNodes;for(let e=0;e<i.length;e++){let n=i.item(e);if(n.nodeType!==1||n.localName!==`mention`)continue;let r=n.getAttribute(`mentionId`),a=n.getAttribute(`mentionpersonId`);if(!r||!a)continue;let o={id:S(r),personId:S(a)},s=parseInt(n.getAttribute(`startIndex`)??``,10);isNaN(s)||(o.startIndex=s);let c=parseInt(n.getAttribute(`length`)??``,10);isNaN(c)||(o.length=c),(t??=[]).push(o)}}return t}(t);return o&&(r.mentions=o),n.push({r:i,v:r}),r}},PersonListVisitor:class{visit(e,t,n){let r=[],i=t.childNodes,a=i.length;for(let t=0;t<a;t++){let n=i.item(t);if(n.nodeType===1&&n.localName===`person`){let t={};e.copyFromAttribute(n,`id`,t,`id`,S),e.copyFromAttribute(n,`displayName`,t),e.copyFromAttribute(n,`userId`,t,`userId`,S),e.copyFromAttribute(n,`providerId`,t),r.push(t)}}return r.length>0&&(n.persons=r),r}}},je=class{constructor(e,t){this.path=e,this.visitor=t}},Me=class{constructor(){this.visitorsByXmlTagName=new Map,this.scopedVisitorsByXmlTagName=new Map,this.visitorParamsState=null,this.registerVisitor(`Relationships`,new $.RelsVisitor),this.registerVisitor(`cp:coreProperties`,new $.CorePropertiesVisitor),this.registerVisitor(`Properties`,new $.AppPropertiesVisitor),this.registerVisitor(`spPr`,new $.ShapePropertiesVisitor),this.registerVisitor(`txBody`,new $.ShapeTextVisitor),this.registerVisitor(`txPr`,new $.TextPropertiesVisitor),this.registerVisitor(`a:theme`,new $.ThemeVisitor),this.registerVisitor(`a:theme`,new $.ClrSchemeVisitor,`themeElements/clrScheme`),this.registerVisitor(`a:theme`,new $.FontSchemeVisitor,`themeElements/fontScheme`),this.registerVisitor(`a:theme`,new $.FmtSchemeVisitor,`themeElements/fmtScheme`),this.registerVisitor(`a:theme`,new $.ObjectDefaultsVisitor,`objectDefaults`),this.registerVisitor(`autoFilter`,new $.AutoFilterVisitor),this.registerVisitor(`sortState`,new $.SortStateVisitor),this.registerVisitor(`s:workbook`,new $.WorkbookVisitor),this.registerVisitor(`styleSheet`,new $.SheetStyleVisitor),this.registerVisitor(`x14:table`,new $.TableX14Visitor),this.registerVisitor(`table`,new $.TableVisitor),this.registerVisitor(`externalLink`,new $.ExternalLinkVisitor),this.registerVisitor(`wsDr`,new $.DrawingVisitor),this.registerVisitor(`twoCellAnchor`,new $.DrawingAnchorVisitor),this.registerVisitor(`oneCellAnchor`,new $.DrawingAnchorVisitor),this.registerVisitor(`absoluteAnchor`,new $.DrawingAnchorVisitor),this.registerVisitor(`graphicFrame`,new $.DrawingGraphicFrameVisitor),this.registerVisitor(`sp`,new $.DrawingSpVisitor),this.registerVisitor(`grpSp`,new $.DrawingGrpSpVisitor),this.registerVisitor(`cxnSp`,new $.DrawingCxnSpVisitor),this.registerVisitor(`pic`,new $.DrawingPicVisitor),this.registerVisitor(`metadata`,new $.MetadataVisitor),this.registerVisitor(`FeaturePropertyBags`,new $.FeaturePropertyBagVisitor),this.registerVisitor(`comments`,new $.CommentsVisitor),this.registerVisitor(`comment`,new $.CommentVisitor),this.registerVisitor(`ThreadedComments`,new $.ThreadedCommentsVisitor),this.registerVisitor(`threadedComment`,new $.ThreadedCommentVisitor),this.registerVisitor(`threadedComment`,new $.TextPropertiesVisitor(`content`),`text`),this.registerVisitor(`personList`,new $.PersonListVisitor),this.registerVisitor(`slicerCacheDefinition`,new $.SlicerCacheDefinitionVisitor),this.registerVisitor(`slicers`,new $.SlicersVisitor),this.registerVisitor(`formControlPr`,new $.FormControlPrVisitor)}registerVisitor(e,t,n=null){e.indexOf(`:`)===-1&&(e=`*:`+e);let r=e.split(`:`),i=r.length>1?r[1]:r[0];if(!n)return this.visitorsByXmlTagName.set(i,t),void this.visitorsByXmlTagName.set(e,t);let a=this.scopedVisitorsByXmlTagName.get(i);a||(a=[],this.scopedVisitorsByXmlTagName.set(i,a),this.scopedVisitorsByXmlTagName.set(e,a)),a.push(new je(n,t))}parseDxf(t,n=``,r=e.EmptyObject){this.visitorParamsState||=new Map;let i=this.visitorParamsState,a=i.get(`processingDXFs`);i.set(`processingDXFs`,!0);try{let e=new z(null,this,`/dxf`,t,{},n,r),i={};return new $.SheetStyleVisitor().processDXF(e,t,i),i}finally{a===void 0?i.delete(`processingDXFs`):i.set(`processingDXFs`,a)}}getVisitorParamsState(){return this.visitorParamsState}transform(t,n,r=e.EmptyObject){let i=t.documentElement;this.visitorParamsState&&!r?.paramMap||(this.visitorParamsState=r?.paramMap??new Map);let a={},o=this.visitorsByXmlTagName.get(i.nodeName);if(o||=this.visitorsByXmlTagName.get(i.localName),!o)throw Error(`A visitor for the root element: '${i.nodeName}' or '${i.localName}' must be registered.`);let s=`/`+i.localName,c=new z(null,this,s,i,a,n,r),l=[];this._doWalk(o,c,l,i,a,n,r);let u=l.length;for(let e=0;e<u;e++){let t=l[e];try{t.visitor?.afterVisit?.(t.context,t.elemParent,t.jsonParent)}catch(e){t.context.warn(`Unable to finish reading '${t.context.getPath()}': ${e?.message??e}`,{onceKey:`xlsx.transform.afterVisit`})}}return a}_walkScoped(e,t,n,r,i,a,o){let s=this.scopedVisitorsByXmlTagName.get(e),c=s?s.length:0;for(let l=0;l<c;l++){let c=s[l],u=null;try{u=t.evaluate(c.path,r)}catch{t.warn(`Invalid path '${c.path}' for '${e}'.`,{onceKey:`xlsx.transform.invalidPath`})}if(!u)continue;let d=e=>{let s=e.localName,l=e.parentNode;for(;l&&l!==r;)s=l.localName+`/`+s,l=l.parentNode;let u=t.getPath()+`/`+s;if(c.visitor){let r=new z(t,this,u,t.getElemRoot(),t.getJsonRoot(),a,o);this._doWalk(c.visitor,r,n,e,i,a,o)}};if(u.length>0){let e=u,t=e.length;for(let n=0;n<t;n++)d(e.item(n))}else d(u)}}_doWalk(e,t,n,r,i,a,o){let s=null;e&&(n.push({visitor:e,context:t,elemParent:r,jsonParent:i}),s=e.visit(t,r,i)),s||=i;let c=r.localName;this._walkScoped(c,t,n,r,s,a,o);let l=this.visitorsByXmlTagName,u=t.getElemRoot(),d=t.getJsonRoot(),f=r.childNodes,p=f.length;for(let e=0;e<p;e++){let r=f.item(e);if(r.nodeType!==1)continue;let c=r,p=c.nodeName,m=l.get(p);m||=(p=c.localName,l.get(p));let h=t.getPath()+`/`+p,g=new z(t,this,h,u,d,a,o);this._doWalk(m,g,n,c,s??i,a,o)}return s}};export{Me as DOMTransformer,z as ExecutionContext,le as NumberUtils,N as VisitorUtils};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Z as e,u as t}from"./ChSvXfVMLxZsP9zG.js";import{a as n}from"./DcrVJCyDwGKeil2U.js";import{Et as r,G as i,Ht as a,V as o,c as s,g as c,h as l,jt as u,mt as d,q as f,rt as p,st as m,t as h,u as g}from"./Ca6nxdhEuLLty3d7.js";var _=Object.freeze({}),v=/^(line|lineInv|straightConnector\d|bentConnector\d|curvedConnector\d)$/,y=()=>{},b=class extends n{constructor(e){super(e),this._textSource=null,this._textFrame=null,this._resources=null,this._connectorFormat=null,this._style=null,this._drawn=null,this._drawnPending=null,this._getStyles=e.getStyles??null,e.json&&(this._updateState({data:e.json}),this._resources=D(e.json,e.fromResourceId))}_processAfterStateChange(e,t){super._processAfterStateChange(e,t),o()}getResource(e){return this._resources?.get(e)??null}getType(){return`shape`}getShapeType(){let e=this._getState()?.data?.geometry;return typeof e==`string`?e:e?`custom`:`rect`}setShapeType(n,r){let i=r?.description??e(`op.setShapeType`);if(this._protectionCheck(i),!n||typeof n!=`string`||n===`custom`)throw new t(`Invalid shape type: ${n}.`);if(this.isConnector()!==v.test(n))throw new t(this.isConnector()?`A line or connector cannot be changed to another shape.`:`A shape cannot be changed to a line or connector.`);let a={...this._getState()?.data??{},geometry:n};delete a.adjustments;let o=this._beginCommit(i);try{this._updateState({data:a},{...r,description:i},[`onAnyChange`]),this._notifyPlacementChange(),o.commit()}catch(e){throw o.rollback(),e}return this}getTextFrame(){let e=this._getState()?.data??null;if(e===this._textSource)return this._textFrame;let t=T(e);return this._textSource=e,this._textFrame=t===null?null:Object.freeze({getText:()=>t}),this._textFrame}getStyle(){return this._style?this._style:this._style=new u({getData:()=>this._getState()?.data??null,getStyles:()=>this._getStyles?.()??null,getTheme:()=>this._theme(),getMovable:()=>this.getMovable(),getResource:e=>this.getResource(e),write:(e,t)=>this._writeStyle(e,t)})}_writeStyle(t,n){let r=n.description??e(`op.setShapeStyle`);this._protectionCheck(r);let i={...this._getState()?.data??{}};for(let e of Object.keys(t)){let n=t[e];n===void 0?delete i[e]:i[e]=n}this._updateState({data:i},{...n,description:r},[`onAnyChange`])}getAdjustments(){return this._getState()?.data?.adjustments??_}setAdjustments(t,n){let r=n?.description??e(`op.setShapeAdjustments`);this._protectionCheck(r);let i={...this._getState()?.data??{}};t&&Object.keys(t).length>0?i.adjustments={...t}:delete i.adjustments;let a=this._beginCommit(r);try{this._updateState({data:i},{...n,description:r},[`onAnyChange`]),this._notifyPlacementChange(),a.commit()}catch(e){throw a.rollback(),e}return this}_setRoute(t,n){let r={...this._getState()?.data??{},geometry:t};n?r.adjustments={...n}:delete r.adjustments,this._updateState({data:r},{description:e(`op.setShapeAdjustments`)},[`onAnyChange`])}isConnector(){return this._getState()?.data?.type===c.Type.Connector}getConnectorFormat(){return this.isConnector()?(this._connectorFormat??=new x(this),this._connectorFormat):null}async getConnectionSiteCount(){let e=await this.getGeometry(),t=0;return e?.forEachConnection(()=>{t++}),t}_connectedEnd(e){return(this._getState()?.data)?.connectorEnds?.[e]??null}_connectedMovable(e){let t=this._connectedEnd(e),n=this.getMovable()?.getRange().getWorksheet()??null;return t&&n?a(n,t.id):null}_connect(n,i,a,o){let s=o?.description??e(`op.connectShape`);this._protectionCheck(s);let c=this.getMovable(),l=c?.getRange().getWorksheet()??null;if(!c||!l)throw new t(`A connector is glued on a sheet.`);if(i===c)throw new t(`A connector cannot be glued to itself.`);if(i.getRange().getWorksheet()!==l)throw new t(`A connector is glued to a movable on the same sheet.`);if(!(Number.isInteger(a)&&a>=0))throw new t(`Invalid connection site: ${a}.`);let u=this._beginCommit(s);try{let e={id:h(i,()=>r(l)),index:a};this._writeEnd(n,e,{...o,description:s});let t=()=>{this.isDeleted()||c.isDeleted()||this._amend(()=>p(l,c,t))};p(l,c,t),u.commit()}catch(e){throw u.rollback(),e}}_disconnect(t,n){let r=n?.description??e(`op.connectShape`);this._protectionCheck(r),this._connectedEnd(t)&&this._writeEnd(t,null,{...n,description:r})}_writeEnd(e,t,n){let r={...this._getState()?.data??{}},i={...r.connectorEnds};t?i[e]=t:delete i[e],i.start||i.end?r.connectorEnds=i:delete r.connectorEnds,this._updateState({data:r},n,[`onAnyChange`])}_notifyPlacementChange(){this.getMovable()?._notifyPlacementChange?.()}_amend(e){let t=this._transactions;return t.amend(t.getCurrentCommit(!1).getId(),()=>e())}async getGeometry(e,t,n){if(e===void 0||t===void 0){let n=this.getMovable()?.getBounds();if(!n)return null;e??=n.width,t??=n.height}let r=this._getState()?.data??{},i=n?S(r,n):r,a=await s(i,this._theme(),e,t);return a&&i===r&&this._getState()?.data===i&&!this._drawnPending&&(this._drawn={data:i,width:e,height:t,geometry:a,rect:g(a),connections:C(a)}),a}_getDrawnRect(e,t,n){let r=this._evaluated(e,t,n);if(!r?.rect)return null;let i=r.width>0?e/r.width:1,a=r.height>0?t/r.height:1,o=r.rect;return{l:o.l*i,t:o.t*a,r:o.r*i,b:o.b*a}}getConnections(e,t,n){let r=n?.adjustments,i=this._evaluated(e,t,n?.onReady??y);if(!i)return null;if(r!==void 0){let n=i.geometry?.withAdjustments(r)??null;return n?C(n.getWidth()===e&&n.getHeight()===t?n:n.resize(e,t)):null}if(i.width===e&&i.height===t)return i.connections;let a=i.width>0?e/i.width:1,o=i.height>0?t/i.height:1;return i.connections.map(e=>({...e,x:e.x*a,y:e.y*o}))}_evaluated(e,t,n){let r=this._getState()?.data;if(!r)return null;let i=this._drawn;if(!i||i.data!==r||i.width!==e||i.height!==t){let i=this._drawnPending;if(!i||i.data!==r||i.width!==e||i.height!==t){let i={data:r,width:e,height:t};this._drawnPending=i,s(r,this._theme(),e,t).then(e=>{this._drawnPending===i&&(this._drawnPending=null,this._drawn={...i,geometry:e,rect:e?g(e):null,connections:e?C(e):[]},n())},()=>{this._drawnPending===i&&(this._drawnPending=null)})}}return i}_theme(){try{return this._getStyles?.()?.getTheme()?.toJSON()??null}catch{return null}}toJSON(e){let t=this._getState(),n=null;return t&&t.data&&(n=e?O(t.data,this._resources,e):t.data),n}getTypeDescription(){return`Shape`}acceptRotation(e){return e}acceptFlip(e){return e}get isIShape(){return!0}get[Symbol.toStringTag](){return`[Shape]`}toString(){return this.getTypeDescription()}},x=class{constructor(e){this._shape=e}getEndPoints(e){let t=e??(this._shape.getMovable()?m(this._shape.getMovable()):null);return t?l(t):null}placeEnds(e,t){return f(e,t,this._shape.getMovable()?.getRotation()||0)}getGluedRoute(e){let t=this._shape.getMovable(),n=t?.getRange().getWorksheet()??null;if(!t||!n)return null;let r=d(n,t,e??m,y);return r?{placement:r.placement,shapeType:r.route?.geometry??null,adjustments:r.route?.adjustments??null}:null}getConnectorType(){let e=this._shape.getShapeType();return e.startsWith(`bentConnector`)?c.ConnectorType.Elbow:e.startsWith(`curvedConnector`)?c.ConnectorType.Curved:c.ConnectorType.Straight}isStartConnected(){return this._shape._connectedEnd(`start`)!==null}getStartConnectedMovable(){return this._shape._connectedMovable(`start`)}getStartConnectionSite(){return this._shape._connectedEnd(`start`)?.index??null}startConnect(e,t,n){this._shape._connect(`start`,e,t,n)}startDisconnect(e){this._shape._disconnect(`start`,e)}isEndConnected(){return this._shape._connectedEnd(`end`)!==null}getEndConnectedMovable(){return this._shape._connectedMovable(`end`)}getEndConnectionSite(){return this._shape._connectedEnd(`end`)?.index??null}endConnect(e,t,n){this._shape._connect(`end`,e,t,n)}endDisconnect(e){this._shape._disconnect(`end`,e)}},S=(e,t)=>{let n={...e};return t.shapeType!==void 0&&(n.geometry=t.shapeType),t.adjustments===null?delete n.adjustments:t.adjustments!==void 0&&(n.adjustments={...t.adjustments}),n},C=e=>{let t=[];return e.forEachConnection(e=>t.push(e)),t},w=e=>e.runs.map(e=>e.text??``).join(``),T=e=>e&&e.text?(e=>{let t=e.paragraphs.map(w),n=0,r=t.length;for(;n<r&&t[n].trim()===``;)n++;for(;r>n&&t[r-1].trim()===``;)r--;return t.slice(n,r).join(`
|
|
2
|
-
`)})(e.text):null,E=e=>{let t=e.fill;return t?.type===i.Type.Image?t:void 0},D=(e,t)=>{let n=E(e)?.resId,r=n===void 0?void 0:t?.(n);return r?new Map([[n,r]]):null},O=(e,t,n)=>{let r=E(e);if(r?.resId===void 0)return e;let i=t?.get(r.resId),a=(i?n(i):null)??void 0;if(a===r.resId)return e;let{resId:o,...s}=r;return{...e,fill:a===void 0?s:{...s,resId:a}}};export{b as Shape};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{I as e,Z as t,_ as n,u as r,y as i}from"./ChSvXfVMLxZsP9zG.js";import{a}from"./DcrVJCyDwGKeil2U.js";import{C as o,Dt as s,T as c,ot as l}from"./Ca6nxdhEuLLty3d7.js";import{$ as u,S as d,Wr as f,Y as p,mn as m,v as h,vt as g}from"./D66vSE1ConAuENmB.js";var _=class extends g{constructor(e){super(e),this._optionsMember=e}getParent(){return this._optionsMovable.getParent()}getRange(e){return this.getParent().getRange(e)}getRanges(e){return this.getParent().getRanges(e)}isDeleted(){return!!super.isDeleted()||((this._optionsMovable?.getParent?.())?.isDeleted()??!1)}getAnchorType(){return m.Type.Absolute}setAnchorType(e){return this}_getLocalPlacement(){let e=this._getState(),t=e?.pixelBounds;return t?{bounds:t,rotation:e.rotation??0,flip:{horizontal:e.flipH??!1,vertical:e.flipV??!1}}:null}_getDrawnPlacement(){let e=this._getLocalPlacement();return e?this._optionsMember.place(e):null}getBounds(){return this._getDrawnPlacement()?.bounds??null}getRotation(){return this._getDrawnPlacement()?.rotation??0}getFlip(){return this._getDrawnPlacement()?.flip??{horizontal:!1,vertical:!1}}setRotation(e=0){let n=this._acceptRotation(e);if(n===null)return this;e=n;let r=this._getDrawnPlacement();if(!r||e===r.rotation)return this;let i=this._optionsMember.unplace({...r,rotation:e});if(!i)return this;let a=t(`op.setMovableRotation`),o=this._beginCommit(a);try{this._updateState({rotation:i.rotation,pixelBounds:i.bounds},{description:a},[`onBoundsChange`]),this._optionsMember.onMemberPlacementChange?.(),this._notifyPlacementChange(),o.commit()}catch(e){throw o.rollback(),e}return this}setFlip(e,n){let r=this._getDrawnPlacement();if(!r)return this;let i=this._acceptFlip({horizontal:e.horizontal??r.flip.horizontal,vertical:e.vertical??r.flip.vertical});if(!i)return this;let{horizontal:a,vertical:o}=i;if(a===r.flip.horizontal&&o===r.flip.vertical)return this;let s=this._optionsMember.unplace({...r,flip:{horizontal:a,vertical:o}});if(!s)return this;let c=n?.description??t(`op.setMovableFlip`),l=this._beginCommit(c);try{this._updateState({flipH:s.flip.horizontal,flipV:s.flip.vertical},{description:c}),this._notifyPlacementChange(),l.commit()}catch(e){throw l.rollback(),e}return this}_getAnchorBounds(){let e=this._getDrawnPlacement();return e?s(e.bounds,e.rotation):null}_setAnchorBounds(e){let n=this._getDrawnPlacement();if(!n)return;let r=this._optionsMember.unplace({...n,bounds:s(e,n.rotation)});if(!r)return;let i=this._getLocalPlacement();i&&l.isSameBounds(i.bounds,r.bounds)||(this._updateState({pixelBounds:r.bounds},{description:t(`op.updateMovableBounds`)},[`onBoundsChange`]),this._optionsMember.onMemberPlacementChange?.())}_processContainerLayout(){this._getEmitter().notify(`onBoundsChange`),this._forwardLayout()}_fromJSON(n){let r=n.anchor?.tl??e.EmptyObject,i=n.anchor?.br??e.EmptyObject;this._updateState({offsets:{tl:{x:0,y:0},br:{x:0,y:0}},hidden:n.hidden??!1,rotation:n.rotation??0,flipH:n.flipH??!1,flipV:n.flipV??!1,lockAspectRatio:n.lockAspect??null,locks:n.locks??null,anchorType:m.Type.Absolute,pixelBounds:{x:r.x??0,y:r.y??0,width:i.x??0,height:i.y??0}},{description:t(`op.loadMovable`)})}_getAnchorJSON(){let t=this._getState()?.pixelBounds??{x:0,y:0,width:0,height:0},n=t=>e.roundAccurately(t,2);return{tl:{x:n(t.x),y:n(t.y)},br:{x:n(t.width),y:n(t.height)}}}toJSON(e){let t=super.toJSON(e);return delete t.anchorType,t}},v=class extends u{constructor(e,t){super(t),this._group=e}_getItems(e){let t=this._group._getMembers(),n=e?.type,r=n===void 0?null:Array.isArray(n)?n:[n],i=[];for(let n of t){if(e?.ignoreHidden&&n.isHidden())continue;r&&!r.includes(n.getContent().getType())||i.push(n);let t=e?.deep?n.getMovables():null;t&&i.push(...t.getItems(e))}return i}getCount(){return this._group._getMembers().length}add(e){if(!e)throw new r(`No movable options provided`);return this._group._addMember(e)}_prepare(e){if(!e)throw new r(`No movable options provided`);return this._group._prepareMember(e)}_preparePicture(e,n){let i=this._group.getMovable();if(!i)throw new r(`The group is not placed.`);let a=i.getRange().getWorksheet().getResources().add(e);return this._group._prepareMember({description:t(`op.insertImage`),...n,type:`picture`,json:{...n?.json,resId:0},fromResourceId:()=>a})}_insertNow(e){return this._group._insertMember(e)}async addPicture(e,t){return this._insertNow(await this._preparePicture(e,t))}group(e,t){return this._group._groupMembers(e,t)}updateSelected(e,n){let r=this._group._getMembers().filter(e=>e.isSelected());r.length!==0&&this._group.doBatch(()=>{for(let t of r)e(t)},{description:n??t(`op.updateMovables`)})}_notifyChange(){this._notifyCollectionChange()}get isIMovableCollection(){return!0}},y=e=>e,b=e=>e,x=Object.freeze([]),S=class extends a{constructor(e){super(e),this._memberCallbacks=new WeakMap,this._toldOrder=C,this._createOptions=e,this._members=new v(this,e.transactions);let{members:t,name:n,...r}=e.json??{},i=[];for(let n of t??[])try{i.push(this._createMember(n,e.fromResourceId))}catch(e){console.warn(`Unable to load a group member`,n,e)}this._updateState({data:r,members:i}),this._toldOrder=i}getType(){return`group`}getTypeDescription(){return`Group`}getMovables(){return this._members}_childBounds(){let e=this._getState()?.data?.childBounds;if(e)return e;let t=this.getMovable()?.getBounds();return{x:0,y:0,width:t?.width??0,height:t?.height??0}}_rebound(){let e=this.getMovable(),t=this._drawnPlacement();if(!e||!t)return;let n=[];for(let e of this._members_()){let t=e._getLocalPlacement();t&&n.push(s(t.bounds,t.rotation))}let r=l.unionBounds(n);if(!r)return;let i=this._childBounds();if(l.isSameBounds(r,i))return;let a=i.width>0?t.bounds.width/i.width:1,o=i.height>0?t.bounds.height/i.height:1,c=l.placeInParent(t,i,l.flatPlacement({x:r.x+r.width/2,y:r.y+r.height/2,width:0,height:0})).bounds,u=r.width*a,d=r.height*o,f=this._getState();this._updateState({data:{...f.data,childBounds:r}}),e.setBounds({x:c.x-u/2,y:c.y-d/2,width:u,height:d})}_drawnPlacement(){let e=this.getMovable();return e?l.placementOf(e):null}getFill(){return this._getState()?.data?.fill??null}getTextFrame(){let e=this._getMembers(),t=!1,n=[];for(let r of e){let e=r.getContent().getTextFrame?.()??null;if(!e)continue;t=!0;let i=e.getText();i!==``&&n.push(i)}if(!t)return null;let r=n.join(`
|
|
2
|
-
`);return Object.freeze({getText:()=>r})}get acceptRotation(){return this._isEveryMember(`acceptRotation`)?y:void 0}get acceptFlip(){return this._isEveryMember(`acceptFlip`)?b:void 0}_isEveryMember(e){let t=this._members_();for(let n=0;n<t.length;n++)if(!t[n].getContent()[e])return!1;return!0}async ungroup(e){let n=this.getMovable();if(!n||this.isDeleted())return[];let r=e?.description??t(`op.ungroupDrawings`);this._protectionCheck(r);let i=n.getRange().getWorksheet(),a=d(i.getView().getMovableSelection());return await this.doBatch(()=>{let t=this._free(this._members_(),r);this.delete(e);let n=this._transactions.getPendingTransaction();return n&&h(n,i,t,{autoSelect:e?.autoSelect??!0,autoSelectRestore:e?.autoSelectRestore},a),t},{description:r})}_free(e,t){let n=this.getMovable(),r=n.getParent()?.getMovables()??n.getRange().getWorksheet().getMovables(),i=n.getZIndex(),a=this._createOptions.beginPersistResource();try{return e.map((e,n)=>{let o=e.toJSON(a.toResourceId.bind(a)),s=l.placementOf(e),c=r._insertNow({type:o.content.type,json:o.content.json,name:o.content.name,altText:o.content.description,bounds:s.bounds,rotation:s.rotation,fromResourceId:a.fromResourceId.bind(a),autoSelect:!1,description:t,zIndex:i+n});return(s.flip.horizontal||s.flip.vertical)&&c.setFlip(s.flip),e.isHidden()&&c.setHidden(!0),o.lockAspect!==void 0&&c.setLockAspectRatio(o.lockAspect),c})}finally{a.endPersist()}}getConnections(){return x}toJSON(e){let t={...this._getState()?.data??{}},n=this._members_();return n.length>0&&(t.members=n.map(t=>t.toJSON(e))),t}_getDrawnRect(e,t,n){let r=this._members_();if(r.length===0)return null;let i=l.flatPlacement({x:0,y:0,width:e,height:t}),a=this._childBounds(),s=1/0,u=1/0,d=-1/0,f=-1/0,p=!1;for(let e of r){if(e.isHidden())continue;let t=e._getLocalPlacement();if(!t)continue;let r=l.placeInParent(i,a,t),m=e.getContent(),h=o(m)?m._getDrawnRect(r.bounds.width,r.bounds.height,n):null,g=c(r.bounds,h,r.rotation,r.flip);s=Math.min(s,g.x),u=Math.min(u,g.y),d=Math.max(d,g.x+g.width),f=Math.max(f,g.y+g.height),p=!0}return p?{l:s,t:u,r:d,b:f}:null}_getMembers(){return this._members_()}_members_(){return this._getState()?.members??C}async _addMember(e){return this._insertMember(await this._prepareMember(e))}async _prepareMember(e){if(!e?.type)throw new r(`A member needs a type.`);return this._protectionCheck(t(`op.insertDrawing`)),await f({type:e.type,json:e.json}),e}_insertMember(e){if(!e?.type)throw new r(`A member needs a type.`);this._protectionCheck(t(`op.insertDrawing`));let n=this._drawnPlacement(),i={...n?.bounds??this._childBounds(),...e.bounds},a=n?l.placeInChild(n,this._childBounds(),{bounds:i,rotation:e.rotation??0,flip:{horizontal:!1,vertical:!1}}):{bounds:i,rotation:e.rotation??0,flip:{horizontal:!1,vertical:!1}},o={anchor:{tl:{x:a.bounds.x,y:a.bounds.y},br:{x:a.bounds.width,y:a.bounds.height}},content:{type:e.type,json:e.json}};e.name&&(o.content.name=e.name);let s=e.altText;s&&(o.content.description=s),a.rotation&&(o.rotation=a.rotation),a.flip.horizontal&&(o.flipH=!0),a.flip.vertical&&(o.flipV=!0);let c=this._beginCommit(e.description??t(`op.insertDrawing`));try{let t=this._createMember(o,e.fromResourceId),n=this._members_().slice();return n.splice(Math.max(0,Math.min(n.length,e.zIndex??n.length)),0,t),this._updateState({members:n}),this._rebound(),c.commit(),this._members._notifyChange(),t}catch(e){throw c.rollback(),e}}async _groupMembers(e,n){let a=n?.description??t(`op.groupDrawings`);if(this._protectionCheck(a),!e||e.length<2)throw new r(i(`error.movable.groupTooFew`));let o=this._members_();for(let t of e)if(!o.includes(t))throw new r(i(`error.movable.groupNotSameGroup`));let c=o.filter(t=>e.includes(t));if(c.length===o.length)throw new r(i(`error.movable.groupWholeGroup`));let u=this.getMovable();if(!u)throw new r(`The group is not placed.`);let f=u.getRange().getWorksheet(),p=d(f.getView().getMovableSelection()),m=l.unionBounds(c.map(e=>{let t=e._getLocalPlacement();return s(t.bounds,t.rotation)})),g=this._createOptions.beginPersistResource();try{let e={anchor:{tl:{x:m.x,y:m.y},br:{x:m.width,y:m.height}},content:{type:`group`,json:{childBounds:{...m},members:c.map(e=>e.toJSON(g.toResourceId.bind(g)))}}};n?.name&&(e.content.name=n.name);let t=this._beginCommit(a);try{for(let e of c)e.unselect();let r=this._createMember(e,g.fromResourceId.bind(g)),i=c[c.length-1],a=[];for(let e of o)e===i?a.push(r):c.includes(e)||a.push(e);this._updateState({members:a});for(let e of c)e.getContent().delete();return this._rebound(),h(t,f,[r],{autoSelect:n?.autoSelect??!0,autoSelectRestore:n?.autoSelectRestore},p),t.commit(),this._members._notifyChange(),r}catch(e){throw t.rollback(),e}}finally{g.endPersist()}}_removeMember(e,n){let r=this._members_();if(!r.includes(e))return;e.unselect();let i=this._beginCommit(n?.description??t(`op.deleteDrawing`));try{let a=r.filter(t=>t!==e);if(this._updateState({members:a}),a.length===1&&this.getMovable()){let e=a[0],r=e.isSelected(),[o]=this._free(a,n?.description??t(`op.deleteDrawing`));this.delete(n),r&&h(i,o.getRange().getWorksheet(),[o],{autoSelect:!0},[e])}else a.length===0?this.delete(n):this._rebound();i.commit(),this._members._notifyChange()}catch(e){throw i.rollback(),e}}_moveMember(e,t,n){let r=this._members_(),i=r.indexOf(e);if(i===-1||(t=Math.max(0,Math.min(r.length-1,t)))===i)return;this._protectionCheck(n);let a=r.slice();a.splice(i,1),a.splice(t,0,e),this._updateState({members:a},{description:n}),this._members._notifyChange()}_createMember(e,r){let i=this,a=e.content?.type??`custom`,o=this._createOptions,s,c={type:a,transactions:o.transactions,beginPersistResource:o.beginPersistResource,fromResourceId:r,json:e.content?.json,name:e.content?.name??null,description:e.content?.description??null,isReadOnly:()=>i.isReadOnly(),deleteFromContainer:()=>{s?._deleteFromContent()},getMovable:()=>s,getStyles:o.getStyles,getRange:o.getRange,addWatch:o.addWatch},u=p(a,c,{getMovable:()=>s,amend:e=>i._amend(e),isClosed:()=>i._closed}),d=()=>i.getMovable(),f=()=>i._members_().indexOf(s),m;return s=new _({content:u,json:e,transactions:o.transactions,beginPersistResource:o.beginPersistResource,fromResourceId:r,getParent:d,onMemberPlacementChange:()=>i._rebound(),place:e=>{let t=i._drawnPlacement();return t?l.placeInParent(t,i._childBounds(),e):null},unplace:e=>{let t=i._drawnPlacement();return t?l.placeInChild(t,i._childBounds(),e):null},coords:n.EmptyRange,getRanges:e=>d().getRanges(),getContainerIndex:f,getZIndex:f,getBoundsAtCoords:()=>({x:0,y:0,width:0,height:0}),getCoordsAtBounds:()=>n.EmptyRange,isProtected:()=>i.isReadOnly(),moveToBackOnContainer:()=>i._moveMember(s,0,t(`op.moveToBack`)),moveBackwardOnContainer:()=>i._moveMember(s,f()-1,t(`op.moveBackwards`)),moveForwardOnContainer:()=>i._moveMember(s,f()+1,t(`op.moveForward`)),moveToFrontOnContainer:()=>i._moveMember(s,i._members_().length-1,t(`op.moveToFront`)),deleteFromContainer:e=>i._removeMember(s,e),setContainerCallbacks:e=>{e&&(m={...m,...e}),s&&m&&i._memberCallbacks.set(s,m)},invalidate:()=>{i._members._notifyChange()}}),m&&this._memberCallbacks.set(s,m),s}_tellZIndex(){let e=this._members_(),t=this._toldOrder;if(e!==t){this._toldOrder=e;for(let n=0;n<e.length;n++){let r=e[n];t[n]!==r&&this._memberCallbacks.get(r)?.processZIndex?.()}}}_amend(e){let t=this._transactions;return t.amend(t.getCurrentCommit(!1).getId(),()=>e())}_processAfterStateChange(e,t){super._processAfterStateChange(e,t),this._tellZIndex(),this._emitter.notify(`onAnyChange`),this._members?._notifyChange(),this.getMovable()?._forwardLayout()}get isIGroup(){return!0}get[Symbol.toStringTag](){return`[Group]`}toString(){return this.getTypeDescription()}},C=Object.freeze([]);export{S as Group};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as e}from"./ChSvXfVMLxZsP9zG.js";import{i as t}from"./BcOdl17EeFSxnAiq.js";import{Vt as n,_t as r,fr as i}from"./D66vSE1ConAuENmB.js";import{A as a,C as o,D as s,O as c,S as l,T as u,a as d,b as f,c as p,g as m,h,j as g,m as _,r as v,v as y,x as b}from"./CwqNb7JYzC03lCj0.js";import{i as x,n as S,r as C}from"./hp_-JA1DMK4Yoztn.js";var w=class{constructor(e){e={...e},this._editing=e.profile===`editing`,this._parser=new C(e)}compile(e,n,i,_,C,w,E,D,O){if(_.length===0){let n=new t.Parse(x);return this._compileUnparsed(e,C,_,{input:_,cause:n,causes:[n]})}if(_.length>r.MAX_EXPRESSION_LENGTH){let n=new t.Parse(S(_.length,r.MAX_EXPRESSION_LENGTH));return this._compileUnparsed(e,C,_,{input:_,cause:n,causes:[n]})}let k,A,j=[];try{let e=this._parser.parse(n,i,_);k=e.root,j=e.errors,D&&k&&j.length===0&&(k.legacyIntersect=!0)}catch(e){A=t.isError(e,t.Code.Parse)?e:new t.Parse(e.message,e)}let M=[];for(let e of j)M.push(o(e));if(k){let e=p(k,w??null);typeof e==`string`?M.push(new t.Parse(e)):k=e,b(k,w??null)&&M.push(new t.Parse(`The implicit intersection operator ' ' requires a cell or range on both sides`)),c(k,w??null)&&M.push(new t.Parse(`The spill anchor operator '#' requires a cell or range`)),m(k,w??null)&&M.push(new t.Parse(`Expected a reference; a value cannot be converted to one.`));let n=l(k,w??null);n&&M.push(new t.Parse(n));let r=f(k,w??null);r&&M.push(new t.Parse(r));let i=h(k,w??null);i&&M.push(new t.Parse(i));let a=u(k);a&&M.push(new t.Parse(a))}M.length>0&&!A&&(A=M[0]);let N=null;if(A&&(N={input:_,cause:A,causes:M.length>0?M:[A]}),!k){if(this._editing){let t=this._recoverCompiled(e,n,i,_,C,N,E);if(t)return t}return this._compileUnparsed(e,C,_,N,this._editing,()=>T(C,E,n,i))}if(k=g(k,w??null),k=a(k,w??null),C){let e=this._editing?O:{mint:!O?.book,...O};k=v(k,C,E,e,{rowIndex:n,colIndex:i});let r=y(k,C);if(r){let e=new t.Parse(r);M.push(e),N={input:_,cause:N?.cause??e,causes:N?[...N.causes,e]:[e]}}}let P=s(e,C,k,this._editing,N,w??null);return this._editing&&N&&d(P.getTokens(),C)!==_?this._recoverCompiled(e,n,i,_,C,N,E)||this._compileUnparsed(e,C,_,N,!0):P}autoCorrect(e){let t=function(e){let t=0,n=null;for(let r=0;r<e.length;r++){let i=e[r];n?i===n&&(n=null):t>0?i===`'`?r++:i===`[`?t++:i===`]`&&t--:i===`"`||i===`'`?n=i:i===`[`&&t++}return n?0:t}(e),n=e+`]`.repeat(t),r;try{let e=this._parser.getLexer().tokenize(n,!1);if(e.errors.length>0)return null;r=e.tokens}catch{return null}let i=[];for(let e of r){let t=e.tokenType?.name;if(t===`OpenParen`)i.push(`)`);else if(t===`OpenCurlyParen`)i.push(`}`);else if((t===`CloseParen`||t===`CloseCurlyParen`)&&i.pop()!==(t===`CloseParen`?`)`:`}`))return null}return i.length===0&&t===0?null:n+i.reverse().join(``)}_compileUnparsed(t,r,i,a,o=!1,s){let c={runtime:t,symbols:r,getFunction:null,ast:null,evaluations:e.EmptyArray,executions:e.EmptyArray,bindings:e.EmptyArray,referencesAbsolute:e.EmptyArray,referencesExecute:e.EmptyArray,referencesRelative:e.EmptyArray,referencesRoot:e.EmptyArray,referenceIndices:e.EmptyArray,formatReferenceIndices:e.EmptyArray,getTokens:()=>{let e=[];return o&&k(e,i,void 0,s)?e:[{type:n.Unparsed,value:i,text:i}]},namedIds:e.EmptyArray,symbolIds:e.EmptyArray,hasTotals:!1,hasDataTable:!1,hasVolatile:!1,isBlankCacheable:!1,isBlankCacheableArray:!1,isReferenceOnly:!1,error:a,transform:()=>c};return c}_recoverCompiled(e,t,r,i,o,c,l){let u,f=i.length;try{let e=this._parser.getLexer().tokenize(i,!1);u=e.tokens,e.errors.length>0&&(f=Math.min(f,e.errors[0].offset))}catch{return null}let p=[];for(let e=u.length-1;e>=0&&p.length<24;e--){let t=(u[e].endOffset??-1)+1;t>0&&t<i.length&&t<=f&&p.push(t)}for(let u of p){let f=i.slice(0,u),p,m;try{p=this._parser.parse(t,r,f).root}catch{continue}if(!p||p.type===n.Unparsed)continue;try{let n=a(p,null),i=o?v(n,o,l,void 0,{rowIndex:t,colIndex:r}):n;m=s(e,o,i,!0,c)}catch{continue}if(d(m.getTokens(),o)!==f)continue;let h=i.slice(u);if(h.length===0)return m;let g,_={...m,getTokens:()=>(g||(g=[...m.getTokens()],this._appendUnparsedTail(g,h,()=>T(o,l,t,r))),g),transform:()=>_};return _}return null}_appendUnparsedTail(e,t,r){let i=[];for(let t of e){if(t.type===n.Whitespace)continue;let e=t.type===n.Paren||t.type===n.Type?t.text:void 0,r=i.length>0?i[i.length-1]:void 0;if(t.type===n.Separator&&r){let e=r.declared[r.declared.length-1];r.ctx?.type===`let`&&r.ctx.argIndex===-1&&r.lambda?.argTokens===r.argTokens&&e?.argIndex===r.argIndex-1&&(e.params=r.lambda.params),r.argIndex++,r.argTokens=0,r.lambda=void 0}else if(r&&r.argTokens++,e===`(`||e===`[`||e===`{`)i.push({ctx:t.context,argIndex:0,declared:[],argTokens:0,leadsArg:r?.argTokens===2});else if(e===`)`||e===`]`||e===`}`){let e=i.pop(),t=i.length>0?i[i.length-1]:void 0;t&&e?.leadsArg&&e.ctx?.type===`lambda`&&e.ctx.argIndex===-1&&(t.lambda={params:e.declared.map(({name:e,optional:t})=>t?{name:e,optional:t}:{name:e}),argTokens:t.argTokens})}else if(t.type===n.Parameter&&r&&t.value?.declaration){let e=t.value;r.declared.push(e.optional?{name:e.name,argIndex:r.argIndex,optional:!0}:{name:e.name,argIndex:r.argIndex})}}let a=i.length>0?i[i.length-1]:void 0,o=a?.ctx?{...a.ctx,argIndex:a.ctx.argIndex===-1?a.argIndex:a.ctx.argIndex}:void 0;if(o&&a.ctx.argIndex===-1&&(o.type===`let`||o.type===`lambda`)){let e=o.type===`let`?2:1,t=o.bound;for(let n of a.declared){if(o.argIndex<n.argIndex+e)continue;let{name:r,params:i}=n;t=_(t,i?{name:r,params:i}:{name:r})}t&&(o.bound=t)}let s=(t,r)=>{let i=r?{type:n.Named,value:{name:t},text:t}:{type:n.Unparsed,value:t,text:t};o&&(i.context=o),e.push(i)};if(k(e,t,o,r))return;let c=/[A-Za-z_][A-Za-z0-9_]*$/.exec(t),l=c?c.index:-1,u=l>0?t[l-1]:``;for(let t=e.length-1;l===0&&t>=0&&!u;t--)u=e[t].text?.at(-1)??``;l>=0&&!/[A-Za-z0-9_.]/.test(u)?(l>0&&s(t.slice(0,l)),s(t.slice(l),!0)):s(t)}};function T(e,t,n,r){if(!e||!t)return;let a=e.bind(i.Table,``,{at:{scope:t,rowIndex:n,colIndex:r}});return a?e.resolve(i.Table,a)?.toString():void 0}var E=/[A-Za-z_\\\u007F-\uFFFF][A-Za-z0-9_.\u007F-\uFFFF]*$/,D=/[A-Za-z0-9_.)\]}"'!#\u007F-\uFFFF]/;function O(e,t){for(let n=t+1;n<e.length;n++){let t=e[n];if(t!==`'`){if(t===`]`)return n+1;if(t===`[`)return null}else n++}return-1}function k(e,t,r,i){let a=0,o=-1;for(let e=0;e<t.length;e++){let n=t[e];a>0&&n===`'`?e++:n===`[`?(a===0&&(o=e),a++):n===`]`&&a>0&&a--}if(a===0)return!1;let s=t.slice(0,o);if((s.split(`"`).length-1)%2==1)return!1;let c=e.length>0?e[e.length-1]:void 0,l=``,u=!1,d=E.exec(s);if(d){let e=d.index>0?s[d.index-1]:c?.text?.at(-1)??``;if(/[A-Za-z0-9_.]/.test(e))return!1;l=d[0],s=s.slice(0,d.index)}else s.length===0&&c?.text&&E.exec(c.text)?.index===0&&(c.type===n.Named&&!c.value?.scope||c.type===n.TableReference)&&(l=c.text,u=!0);if(!u){let e=s.length>0?s[s.length-1]:c?.text?.at(-1)??``;if(e&&D.test(e))return!1}let f=l||(i?.()??``),p=[],m=(e,t,n)=>{p.push({type:e,value:t,text:t,context:{name:f,argIndex:n,type:`table`}})},h=(e,t,r,i)=>{let a=e.startsWith(`#`),o=r?i?`column`:a?`specifier`:e?`column`:`any`:void 0,s=o?{table:f,name:e,partial:o}:{table:f,name:e};p.push({type:a?n.TableSpecifier:n.TableColumn,value:s,text:e,context:{name:f,argIndex:t,type:`table`}})},g=(e,t,r,i)=>{m(n.Paren,`[`,r),h(e.slice(1,t?-1:void 0),r,!t,i),t&&m(n.Paren,`]`,r)};m(n.Paren,`[`,-1);let _=t.slice(o+1);if(_.startsWith(`[`)){let e=0,t=!1,r=0;for(;r<_.length;){let i=_[r];if(i===`[`){let n=O(_,r);if(n===null)return!1;let i=n!==-1;if(g(_.slice(r,i?n:_.length),i,e,t),t=!1,!i)break;r=n}else if(i===`,`)m(n.Separator,`,`,e++),r++;else if(i===`:`)m(n.Infix,`:`,e),r++;else if(i===`@`)m(n.Prefix,`@`,e),t=!0,r++;else{if(i!==` `)return!1;{let t=r;for(;_[t]===` `;)t++;m(n.Whitespace,_.slice(r,t),e),r=t}}}}else{let e=_,t=e.startsWith(`@`);if(t&&(m(n.Prefix,`@`,0),e=e.slice(1)),e.startsWith(`[`)){if(O(e,0)!==-1)return!1;g(e,!1,0,t)}else{if(/(^|[^'])[[\]]/.test(e)||e.startsWith(`#`)&&e.includes(`,`))return!1;h(e,0,!0,t)}}if(s){let t={type:n.Unparsed,value:s,text:s};r&&(t.context=r),e.push(t)}if(u){let t={...c,type:n.TableReference,value:l,text:l};delete t.referenceIndex,e[e.length-1]=t}else if(l){let t={type:n.TableReference,value:l,text:l};r&&(t.context=r),e.push(t)}for(let t of p)e.push(t);return!0}export{w as FormulaCompiler,k as appendPartialStructuredReference};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{n as analyzeModule,t as lintScript}from"./D47ePD4x1lVazNdl.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{T as e}from"./ChSvXfVMLxZsP9zG.js";import{r as t}from"./3Ls_kOvlQseMV8Q0.js";var n=t({MetricsTable:()=>r,char_count:()=>i,default:()=>E,initSync:()=>T}),r=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,o.unregister(this),e}free(){let e=this.__destroy_into_raw();S.__wbg_metricstable_free(e,0)}fill(e,t,n){let r=g(t,S.__wbindgen_export),i=C,a=h(n,S.__wbindgen_export),o=C;S.metricstable_fill(this.__wbg_ptr,e,r,i,a,o)}fill_hinting(e,t,n){let r=g(t,S.__wbindgen_export),i=C,a=h(n,S.__wbindgen_export),o=C;S.metricstable_fill_hinting(this.__wbg_ptr,e,r,i,a,o)}fill_per_em(e,t){let n=g(e,S.__wbindgen_export),r=C,i=function(e,t){let n=t(4*e.length,4)>>>0;return u().set(e,n/4),C=e.length,n}(t,S.__wbindgen_export),a=C;S.metricstable_fill_per_em(this.__wbg_ptr,n,r,i,a)}is_empty(){return S.metricstable_is_empty(this.__wbg_ptr)!==0}len(){return S.metricstable_len(this.__wbg_ptr)>>>0}constructor(e,t){let n=S.metricstable_new(e,t);return this.__wbg_ptr=n,o.register(this,this.__wbg_ptr,this),this}text_width(e,t,n,r){let i=_(e,S.__wbindgen_export,S.__wbindgen_export2),a=C;return S.metricstable_text_width(this.__wbg_ptr,i,a,t,n,r)}wrap(e,t,n,r,i,a,o,s){try{let h=S.__wbindgen_add_to_stack_pointer(-16),g=_(e,S.__wbindgen_export,S.__wbindgen_export2),v=C;S.metricstable_wrap(h,this.__wbg_ptr,g,v,t,n,r,i,a,o,s);var l=c().getInt32(h+0,!0),d=c().getInt32(h+4,!0),f=(p=l,m=d,p>>>=0,u().subarray(p/4,p/4+m)).slice();return S.__wbindgen_export3(l,4*d,4),f}finally{S.__wbindgen_add_to_stack_pointer(16)}var p,m}};function i(e){let t=_(e,S.__wbindgen_export,S.__wbindgen_export2),n=C;return S.char_count(t,n)>>>0}function a(){return{__proto__:null,"./sdk_bg.js":{__proto__:null,__wbg___wbindgen_throw_41e9ee4f547fc59a:function(e,t){throw Error(function(e,t){return(b+=t)>=y&&((v=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0})).decode(),b=t),v.decode(m().subarray(e,e+t))}(e>>>0,t))}}}}Symbol.dispose&&(r.prototype[Symbol.dispose]=r.prototype.free);var o=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>S.__wbg_metricstable_free(e,1)),s=null;function c(){return(s===null||!0===s.buffer.detached||s.buffer.detached===void 0&&s.buffer!==S.memory.buffer)&&(s=new DataView(S.memory.buffer)),s}var l=null;function u(){return l!==null&&l.byteLength!==0||(l=new Float32Array(S.memory.buffer)),l}var d=null,f=null,p=null;function m(){return p!==null&&p.byteLength!==0||(p=new Uint8Array(S.memory.buffer)),p}function h(e,t){let n=t(2*e.length,2)>>>0;return(d!==null&&d.byteLength!==0||(d=new Uint16Array(S.memory.buffer)),d).set(e,n/2),C=e.length,n}function g(e,t){let n=t(4*e.length,4)>>>0;return(f!==null&&f.byteLength!==0||(f=new Uint32Array(S.memory.buffer)),f).set(e,n/4),C=e.length,n}function _(e,t,n){if(n===void 0){let n=x.encode(e),r=t(n.length,1)>>>0;return m().subarray(r,r+n.length).set(n),C=n.length,r}let r=e.length,i=t(r,1)>>>0,a=m(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+3*e.length,1)>>>0;let t=m().subarray(i+o,i+r);o+=x.encodeInto(e,t).written,i=n(i,r,o,1)>>>0}return C=o,i}var v=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});v.decode();var y=2146435072,b=0,x=new TextEncoder;`encodeInto`in x||(x.encodeInto=function(e,t){let n=x.encode(e);return t.set(n),{read:e.length,written:n.length}});var S,C=0;function w(e,t){return S=e.exports,s=null,l=null,d=null,f=null,p=null,S}function T(e){if(S!==void 0)return S;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module:e}=e:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));let t=a();return e instanceof WebAssembly.Module||(e=new WebAssembly.Module(e)),w(new WebAssembly.Instance(e,t))}async function E(e){if(S!==void 0)return S;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`));let t=a();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:n,module:r}=await async function(e,t){if(typeof Response==`function`&&e instanceof Response){if(!e.ok)throw Error(`failed to fetch Wasm: ${e.status} ${e.statusText} fetching '${e.url}'`);if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(!function(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}(e.type)||e.headers.get(`Content-Type`)===`application/wasm`)throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}let n=await e.arrayBuffer();return await WebAssembly.instantiate(n,t)}{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}}(await e,t);return w(n)}var D=await e(n,`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AAAAAQABBAQBAQEEBAQAAAEBAQEBAQEAAAQCBAEBAQEBAAEBAQABBAQBAQEEBAQAAAEBAQABAQEAAAQCBAAAAAAAAAAAAQABBAQBAQEEBAQBAQEBAQABAQEAAAQCBAAAAAAAAAAAAQABBAQBAQEEBAQBAQEBAQABAQEAAAQCBAAAAAAAAAAAAQABBAQBAQEEBAQBAQEBAQABAQEAAAQCBAAAAAAAAAAAAQAABAQBAQEEBAQAAQAAAAABAQEAAAQCBAAAAAAAAAAAAQAABAQBAQEEBAQAAAAAAAABAQEAAAQCBAAAAAAAAAAAAQAABAQBAAEEBAQAAAEAAAABAQEAAAQCBAAAAAAAAAAAAQAABAQBAAEEBAQAAAAAAAABAQEAAAQCBAAAAAAAAAAAAQABBAQBAQEEBAQBAQEBAQEBAQEBAQQCBAEBAQEBAQEBAQAABAQBAQEEBAQAAAAAAAABAQEABAQCBAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAABBAQBAQEEBAQBAQEBAQABAQEAAAQCBAAAAAAAAAAAAQABBAQBAQEEBAQBAQEBAQEBAQEBAQQCBAEBAQEBAQEBAQEABAQBAQEEBAQAAQAAAAABAQEAAAQCBAAAAAEBAAAAAQAABAQBAQEEBAQAAQAAAAABAQEAAAQCBAAAAAABAAAAAQAABAQBAQEEBAQAAQAAAAABAQEAAAQCBAEBAQEAAAAAAQAABAQBAQEEBAQAAQAAAAABAQEAAAQCBAAAAAEBAAAAAQAABAQBAQEEBAQAAQAAAAABAQEAAAQCBAAAAAABAAAAAQAABAQBAQEEBAQAAAAAAAABAQEAAAQCBAAAAAAAAQAAAQAABAQBAQEEBAQAAQAAAAABAQEAAAQCBAAAAAAAAAABAQAABAQBAQEEBAQAAQAAAAABAQEAAAQCBAAAAAAAAAAAAQABBAQBAQEEBAQBAQEBAQABAQEAAAQCBAAAAAAAAAAAAQAABAQBAQAEBAQAAAAAAAAAAAAAAAQCBAAAAAAAAAAAAQAAAAAVAAAAUQIAAKUCAADiAgAAZAMAAJUDAAApCAAARggAAIMIAADMCAAACQkAAEoJAACMCQAAwwkAAAAKAABCCgAAjAoAAMkKAAAICwAAUAsAAIgLAADHCwAACwwAAIgOAAAMDwAA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FzQsAFg0LAAXOywAWDssABdCLABYQiwAF0ksAFhJLAAXUCwAWFAsABdXLABYVywAF14sAFheLAAXZSwAWGUsABdsLABYbCwAF3MsAFhzLAAXeiwAWHosABeBLABYgSwAF4gsAFiILAAXjywAWI8sABeWLABYliwAF50sAFidLAAXpCwAWKQsABerLABYqywAF7IsAFiyLAAXuSwAWLksABfALABYwCwAF8csAFjHLAAXziwAWM4sABfVLABY1SwAF9wsAFjcLAAX4ywAWOMsABfqLABY6iwAF/EsAFjxLAAX+CwAWPgsABf/LABY/ywAFwYtAFgGLQAXDS0AWA0tABcULQBYFC0AFxstAFgbLQAXIi0AWCItABcpLQBYKS0AFzAtAFgwLQAXNy0AWDctABc+LQBYPi0AF0UtAFhFLQAXTC0AWEwtABdTLQBYUy0AF1otAFhaLQAXYS0AWGEtABdoLQBYaC0AF28tAFhvLQAXdi0AWHYtABd9LQBYfS0AF4QtAFiELQAXiy0AWIstABeSLQBYki0AF5ktAFiZLQAXoC0AWKAtABenLQBYpy0AF64tAFiuLQAXtS0AWLUtABe8LQBYvC0AF8MtAFjDLQAXyi0AWMotABfRLQBY0S0AF9gtAFjYLQAX3y0AWN8tABfmLQBY5i0AF+0tAFjtLQAX9C0AWPQtABf7LQBY+y0AFwIuAFgCLgAXCS4AWAkuABcQLgBYEC4AFxcuAFgXLgAXHi4AWB4uABclLgBYJS4AFywuAFgsLgAXMy4AWDMuABc6LgBYOi4AF0EuAFhBLgAXSC4AWEguABdPLgBYTy4AF1YuAFhWLgAXXS4AWF0uABdkLgBYZC4AF2suAFhrLgAXci4AWHIuABd5LgBYeS4AF4AuAFiALgAXhy4AWIcuABeOLgBYji4AF5UuAFiVLgAXnC4AWJwuABejLgBYoy4AF6ouAFiqLgAXsS4AWLEuABe4LgBYuC4AF78uAFi/LgAXxi4AWMYuABfNLgBYzS4AF9QuAFjULgAX2y4AWNsuABfiLgBY4i4AF+kuAFjpLgAX8C4AWPAuABf3LgBY9y4AF/4uAFj+LgAXBS8AWAUvABcMLwBYDC8AFxMvAFgTLwAXGi8AWBovABchLwBYIS8AFygvAFgoLwAXLy8AWC8vABc2LwBYNi8AFz0vAFg9LwAXRC8AWEQvABdLLwBYSy8AF1IvAFhSLwAXWS8AWFkvABdgLwBYYC8AF2cvAFhnLwAXbi8AWG4vABd1LwBYdS8AF3wvAFh8LwAXgy8AWIMvABeKLwBYii8AF5EvAFiRLwAXmC8AWJgvABefLwBYny8AF6YvAFimLwAXrS8AWK0vABe0LwBYtC8AF7svAFi7LwAXwi8AWMIvABfJLwBYyS8AF9AvAFjQLwAX1y8AWNcvABfeLwBY3i8AF+UvAFjlLwAX7C8AWOwvABfzLwBY8y8AF/ovAFj6LwAXATAAWAEwABcIMABYCDAAFw8wAFgPMAAXFjAAWBYwABcdMABYHTAAFyQwAFgkMAAXKzAAWCswABcyMABYMjAAFzkwAFg5MAAXQDAAWEAwABdHMABYRzAAF04wAFhOMAAXVTAAWFUwABdcMABYXDAAF2MwAFhjMAAXajAAWGowABdxMABYcTAAF3gwAFh4MAAXfzAAWH8wABeGMABYhjAAF40wAFiNMAAXlDAAWJQwABebMABYmzAAF6IwAFiiMAAXqTAAWKkwABewMABYsDAAF7cwAFi3MAAXvjAAWL4wABfFMABYxTAAF8wwAFjMMAAX0zAAWNMwABfaMABY2jAAF+EwAFjhMAAX6DAAWOgwABfvMABY7zAAF/YwAFj2MAAX/TAAWP0wABcEMQBYBDEAFwsxAFgLMQAXEjEAWBIxABcZMQBYGTEAFyAxAFggMQAXJzEAWCcxABcuMQBYLjEAFzUxAFg1MQAXPDEAWDwxABdDMQBYQzEAF0oxAFhKMQAXUTEAWFExABdYMQBYWDEAF18xAFhfMQAXZjEAWGYxABdtMQBYbTEAF3QxAFh0MQAXezEAWHsxABeCMQBYgjEAF4kxAFiJMQAXkDEAWJAxABeXMQBYlzEAF54xAFieMQAXpTEAWKUxABesMQBYrDEAF7MxAFizMQAXujEAWLoxABfBMQBYwTEAF8gxAFjIMQAXzzEAWM8xABfWMQBY1jEAF90xAFjdMQAX5DEAWOQxABfrMQBY6zEAF/IxAFjyMQAX+TEAWPkxABcAMgBYADIAFwcyAFgHMgAXDjIAWA4yABcVMgBYFTIAFxwyAFgcMgAXIzIAWCMyABcqMgBYKjIAFzEyAFgxMgAXODIAWDgyABc/MgBYPzIAF0YyAFhGMgAXTTIAWE0yABdUMgBYVDIAF1syAFhbMgAXYjIAWGIyABdpMgBYaTIAF3AyAFhwMgAXdzIAWHcyABd+MgBYfjIAF4UyAFiFMgAXjDIAWIwyABeTMgBYkzIAF5oyAFiaMgAXoTIAWKEyABeoMgBYqDIAF68yAFivMgAXtjIAWLYyABe9MgBYvTIAF8QyAFjEMgAXyzIAWMsyABfSMgBY0jIAF9kyAFjZMgAX4DIAWOAyABfnMgBY5zIAF+4yAFjuMgAX9TIAWPUyABf8MgBY/DIAFwMzAFgDMwAXCjMAWAozABcRMwBYETMAFxgzAFgYMwAXHzMAWB8zABcmMwBYJjMAFy0zAFgtMwAXNDMAWDQzABc7MwBYOzMAF0IzAFhCMwAXSTMAWEkzABdQMwBYUDMAF1czAFhXMwAXXjMAWF4zABdlMwBYZTMAF2wzAFhsMwAXczMAWHMzABd6MwBYejMAF4EzAFiBMwAXiDMAWIgzABePMwBYjzMAF5YzAFiWMwAXnTMAWJ0zABekMwBYpDMAF6szAFirMwAXsjMAWLIzABe5MwBYuTMAF8AzAFjAMwAXxzMAWMczABfOMwBYzjMAF9UzAFjVMwAX3DMAWNwzABfjMwBY4zMAF+ozAFjqMwAX8TMAWPEzABf4MwBY+DMAF/8zAFj/MwAXBjQAWAY0ABcNNABYDTQAFxQ0AFgUNAAXGzQAWBs0ABciNABYIjQAFyk0AFgpNAAXMDQAWDA0ABc3NABYNzQAFz40AFg+NAAXRTQAWEU0ABdMNABYTDQAF1M0AFhTNAAXWjQAWFo0ABdhNABYYTQAF2g0AFhoNAAXbzQAWG80ABd2NABYdjQAF300AFh9NAAXhDQAWIQ0ABeLNABYizQAF5I0AFiSNAAXmTQAWJk0ABegNABYoDQAF6c0AFinNAAXrjQAWK40ABe1NABYtTQAF7w0AFi8NAAXwzQAWMM0ABfKNABYyjQAF9E0AFjRNAAX2DQAWNg0ABffNABY3zQAF+Y0AFjmNAAX7TQAWO00ABf0NABY9DQAF/s0AFj7NAAXAjUAWAI1ABcJNQBYCTUAFxA1AFgQNQAXFzUAWBc1ABceNQBYHjUAFyU1AFglNQAXLDUAWCw1ABczNQBYMzUAFzo1AFg6NQAXQTUAWEE1ABdINQBYSDUAF081AFhPNQAXVjUAWFY1ABddNQBYXTUAF2Q1AFhkNQAXazUA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`);export{D as wasm};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./BcOdl17EeFSxnAiq.js";import{Ai as t,Jr as n,Ni as r,Nt as i,Vt as a,et as o,gi as s,rr as c,vn as ee,wi as te}from"./D66vSE1ConAuENmB.js";import{A as l,_ as ne,c as u,f as d,j as re,l as ie,n as f,o as p,y as m}from"./CwqNb7JYzC03lCj0.js";import{n as h,r as g,t as _}from"./B2MJPcMcsuv6FekC.js";import{A as v,B as y,C as b,D as x,E as S,F as C,G as w,H as T,I as E,J as D,K as O,L as k,M as A,N as j,O as M,P as N,Q as P,R as F,S as I,T as L,U as R,V as z,W as B,X as V,Y as H,Z as U,_ as W,a as G,b as K,c as q,d as J,f as Y,g as ae,h as oe,i as se,j as ce,k as le,l as ue,m as de,n as fe,nt as pe,o as me,p as he,q as ge,r as _e,s as ve,t as ye,u as be,v as xe,w as Se,x as Ce,y as we,z as Te}from"./BzQ5GyiXq8gTz-H-.js";import{r as Ee,t as De}from"./hp_-JA1DMK4Yoztn.js";var Oe=[{declarations:N,category:`Database`},{declarations:O,category:`Date & Time`,enums:z},{declarations:B,category:`Engineering`},{declarations:F,category:`Engineering`},{declarations:v,category:`Engineering`},{declarations:T,category:`Engineering`},{declarations:w,category:`Engineering`},{declarations:A,category:`Engineering`},{declarations:Te,category:`Financial`},{declarations:ge,category:`Information`,enums:j},{declarations:C,category:`Japanese`},{declarations:R,category:`Japanese`},{declarations:y,category:`Logical`},{declarations:k,category:`Lookup & Reference`,enums:E},{declarations:le,category:`Math & Trig`,enums:D},{declarations:U,category:`Math & Trig`},{declarations:ce,category:`Operators`},{declarations:V,category:`Statistical`},{declarations:x,category:`Statistical`},{declarations:b,category:`Testing`},{declarations:H,category:`Text`},{declarations:M,category:`Thai`},{declarations:L,category:`Web`},{declarations:Se,category:`Web`},{declarations:S,category:`Web`}],ke=[{declarations:me,category:`Cube`},{declarations:xe,category:`Financial`},{declarations:he,category:`Financial`},{declarations:ae,category:`Financial`,enums:be},{declarations:fe,category:`Financial`},{declarations:de,category:`Financial`},{declarations:W,category:`Financial`},{declarations:se,category:`Financial`},{declarations:J,category:`Financial`},{declarations:we,category:`Financial`},{declarations:G,category:`Financial`},{declarations:ve,category:`Financial`},{declarations:oe,category:`Financial`},{declarations:Y,category:`Financial`},{declarations:ue,category:`Financial`},{declarations:q,category:`Lookup & Reference`},{declarations:ye,category:`Lookup & Reference`},{declarations:K,category:`Statistical`},{declarations:I,category:`Statistical`},{declarations:_e,category:`Statistical`},{declarations:Ce,category:`Text`}],X=null;function Z(t){return X||=(()=>{let t=new Map,n=[...Oe,...ke,P];for(let{declarations:r,enums:i}of n){let n=new Map,a=t=>{let r=n.get(t);if(!r){let a=i?.[t];if(!a)return;r={id:t,type:a.s===`string`?e.String:e.Number,members:a.m},n.set(t,r)}return r};for(let e of Object.keys(r)){let{decl:n}=pe(e,r[e],a),i=new o(n);t.set(e.toUpperCase(),{getName:()=>e,getDeclaration:()=>i,isBuiltIn:()=>!0})}}return t})(),X.get(t.toUpperCase())??null}var Q=null,Ae=Object.freeze({rowStart:0,colStart:0,rowEnd:c,colEnd:n}),$=e=>Z(e);function je(e,t){if(typeof e!=`string`||e.length===0)return null;Q||=new Ee;let n=t?.anchor,r;try{let i=Q.parse(n?.rowIndex??0,n?.colIndex??0,e);if(i.errors.length>0||!i.root||i.root.type===a.Unparsed)return null;if(r=i.root,t?.normalize){let e=u(r,$);typeof e!=`string`&&(r=e),r=re(r,$),r=l(r,$),r=m(r),r=f(r),r=ie(r),r=ne(r),r=p(r)}}catch{return null}return h(r,null)}function Me(e,t){return g(e,t)}function Ne(e,t){let n=d(l(m(_(e)),$)),i=t?.entireCoords??Ae,a=!0===t?.r1c1;return e=>a?s(n,i):r(n,i,e?.rowIndex??0,e?.colIndex??0)}function Pe(e){let n=e.trim();if(!n)return;let r;try{let e=De.shared().tokenize(n,!1);if(e.errors.length>0)return;r=e.tokens}catch{return}let a=0,o=0;if(r.length===2){let e=r[0].tokenType?.name;e===`MinOp`?(a=-1,o=1):e===`PlusOp`&&(a=1,o=1)}if(r.length-o!==1)return;let s=r[o],c=s.image;try{switch(s.tokenType?.name){case`NumberToken`:case`ScientificDigit`:case`DigitToken`:{let e=ee(c).value;return a===0?e:a*e}case`StringToken`:return a===0?t(c).value:void 0;case`BooleanToken`:return a===0?te(c).value:void 0;case`LiteralError`:case`RefError`:return a===0?i(c).value:void 0;default:return}}catch{return}}export{Z as getFunctionDeclaration,Ne as imager,je as parse,Pe as readFormulaLiteral,Me as transform};
|