@better-svelte-email/preview-server 2.1.0 → 2.1.2
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/build/client/_app/immutable/assets/0.By7obJiv.css +1 -0
- package/build/client/_app/immutable/assets/0.By7obJiv.css.br +0 -0
- package/build/client/_app/immutable/assets/0.By7obJiv.css.gz +0 -0
- package/build/client/_app/immutable/chunks/2pZ28JA1.js +1 -0
- package/build/client/_app/immutable/chunks/2pZ28JA1.js.br +0 -0
- package/build/client/_app/immutable/chunks/2pZ28JA1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/8PwUyIlP2.js +1 -0
- package/build/client/_app/immutable/chunks/8PwUyIlP2.js.br +0 -0
- package/build/client/_app/immutable/chunks/8PwUyIlP2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/AoC3-GXO2.js +1 -0
- package/build/client/_app/immutable/chunks/AoC3-GXO2.js.br +0 -0
- package/build/client/_app/immutable/chunks/AoC3-GXO2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B0iNQslz.js +1 -0
- package/build/client/_app/immutable/chunks/B0iNQslz.js.br +0 -0
- package/build/client/_app/immutable/chunks/B0iNQslz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B1eC0VY6.js +1 -0
- package/build/client/_app/immutable/chunks/B1eC0VY6.js.br +0 -0
- package/build/client/_app/immutable/chunks/B1eC0VY6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B2gwz-sJ2.js +1 -0
- package/build/client/_app/immutable/chunks/B2gwz-sJ2.js.br +0 -0
- package/build/client/_app/immutable/chunks/B2gwz-sJ2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B3OdPoN_.js +1 -0
- package/build/client/_app/immutable/chunks/B3OdPoN_.js.br +0 -0
- package/build/client/_app/immutable/chunks/B3OdPoN_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B4nfriop.js +1 -0
- package/build/client/_app/immutable/chunks/B4nfriop.js.br +0 -0
- package/build/client/_app/immutable/chunks/B4nfriop.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B5B4dYe2.js +1 -0
- package/build/client/_app/immutable/chunks/B5B4dYe2.js.br +0 -0
- package/build/client/_app/immutable/chunks/B5B4dYe2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B92yCKkz2.js +1 -0
- package/build/client/_app/immutable/chunks/B92yCKkz2.js.br +0 -0
- package/build/client/_app/immutable/chunks/B92yCKkz2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BCyR5SPb.js +1 -0
- package/build/client/_app/immutable/chunks/BCyR5SPb.js.br +0 -0
- package/build/client/_app/immutable/chunks/BCyR5SPb.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BHIi3qVr2.js +1 -0
- package/build/client/_app/immutable/chunks/BHIi3qVr2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BHIi3qVr2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BHpQb5nM.js +1 -0
- package/build/client/_app/immutable/chunks/BHpQb5nM.js.br +0 -0
- package/build/client/_app/immutable/chunks/BHpQb5nM.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BL4DOeuO.js +1 -0
- package/build/client/_app/immutable/chunks/BL4DOeuO.js.br +0 -0
- package/build/client/_app/immutable/chunks/BL4DOeuO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BLb6t9Lh.js +1 -0
- package/build/client/_app/immutable/chunks/BLb6t9Lh.js.br +0 -0
- package/build/client/_app/immutable/chunks/BLb6t9Lh.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BLs_XbWi2.js +1 -0
- package/build/client/_app/immutable/chunks/BLs_XbWi2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BLs_XbWi2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BML5mF2J.js +1 -0
- package/build/client/_app/immutable/chunks/BML5mF2J.js.br +0 -0
- package/build/client/_app/immutable/chunks/BML5mF2J.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BO_NcNPW.js +1 -0
- package/build/client/_app/immutable/chunks/BO_NcNPW.js.br +0 -0
- package/build/client/_app/immutable/chunks/BO_NcNPW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BPpVW1t9.js +1 -0
- package/build/client/_app/immutable/chunks/BPpVW1t9.js.br +0 -0
- package/build/client/_app/immutable/chunks/BPpVW1t9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BR43B8UW.js +1 -0
- package/build/client/_app/immutable/chunks/BR43B8UW.js.br +0 -0
- package/build/client/_app/immutable/chunks/BR43B8UW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BYnGhZoM.js +1 -0
- package/build/client/_app/immutable/chunks/BYnGhZoM.js.br +0 -0
- package/build/client/_app/immutable/chunks/BYnGhZoM.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B_bV9PQ92.js +1 -0
- package/build/client/_app/immutable/chunks/B_bV9PQ92.js.br +0 -0
- package/build/client/_app/immutable/chunks/B_bV9PQ92.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bf_OO4m5.js +1 -0
- package/build/client/_app/immutable/chunks/Bf_OO4m5.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bf_OO4m5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BiFt_7mu2.js +1 -0
- package/build/client/_app/immutable/chunks/BiFt_7mu2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BiFt_7mu2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bj7E1mRn.js +1 -0
- package/build/client/_app/immutable/chunks/Bj7E1mRn.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bj7E1mRn.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bjy-W4x2.js +81 -0
- package/build/client/_app/immutable/chunks/Bjy-W4x2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bjy-W4x2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BmuOG9ZW.js +1 -0
- package/build/client/_app/immutable/chunks/BmuOG9ZW.js.br +0 -0
- package/build/client/_app/immutable/chunks/BmuOG9ZW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bozd7klA.js +1 -0
- package/build/client/_app/immutable/chunks/Bozd7klA.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bozd7klA.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BuyVToAU.js +1 -0
- package/build/client/_app/immutable/chunks/BuyVToAU.js.br +0 -0
- package/build/client/_app/immutable/chunks/BuyVToAU.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BxpfTIzt.js +1 -0
- package/build/client/_app/immutable/chunks/BxpfTIzt.js.br +0 -0
- package/build/client/_app/immutable/chunks/BxpfTIzt.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BzltqjU8.js +1 -0
- package/build/client/_app/immutable/chunks/BzltqjU8.js.br +0 -0
- package/build/client/_app/immutable/chunks/BzltqjU8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C0MpOrj4.js +1 -0
- package/build/client/_app/immutable/chunks/C0MpOrj4.js.br +0 -0
- package/build/client/_app/immutable/chunks/C0MpOrj4.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C1IUL_tW2.js +1 -0
- package/build/client/_app/immutable/chunks/C1IUL_tW2.js.br +0 -0
- package/build/client/_app/immutable/chunks/C1IUL_tW2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C2pBCSgt.js +1 -0
- package/build/client/_app/immutable/chunks/C2pBCSgt.js.br +0 -0
- package/build/client/_app/immutable/chunks/C2pBCSgt.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C2tE-Xb62.js +1 -0
- package/build/client/_app/immutable/chunks/C2tE-Xb62.js.br +0 -0
- package/build/client/_app/immutable/chunks/C2tE-Xb62.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C3eVgNwp2.js +1 -0
- package/build/client/_app/immutable/chunks/C3eVgNwp2.js.br +0 -0
- package/build/client/_app/immutable/chunks/C3eVgNwp2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C4aeQxkf2.js +1 -0
- package/build/client/_app/immutable/chunks/C4aeQxkf2.js.br +0 -0
- package/build/client/_app/immutable/chunks/C4aeQxkf2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C5JeTiTv2.js +1 -0
- package/build/client/_app/immutable/chunks/C5JeTiTv2.js.br +0 -0
- package/build/client/_app/immutable/chunks/C5JeTiTv2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C5bbMRzS.js +1 -0
- package/build/client/_app/immutable/chunks/C5bbMRzS.js.br +0 -0
- package/build/client/_app/immutable/chunks/C5bbMRzS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C8oCnwJJ2.js +1 -0
- package/build/client/_app/immutable/chunks/C8oCnwJJ2.js.br +0 -0
- package/build/client/_app/immutable/chunks/C8oCnwJJ2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C9Q5zVZY.js +1 -0
- package/build/client/_app/immutable/chunks/C9Q5zVZY.js.br +0 -0
- package/build/client/_app/immutable/chunks/C9Q5zVZY.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CA9gdOdF.js +1 -0
- package/build/client/_app/immutable/chunks/CA9gdOdF.js.br +0 -0
- package/build/client/_app/immutable/chunks/CA9gdOdF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CCSX75yM2.js +1 -0
- package/build/client/_app/immutable/chunks/CCSX75yM2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CCSX75yM2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CDG3PAdG.js +1 -0
- package/build/client/_app/immutable/chunks/CDG3PAdG.js.br +0 -0
- package/build/client/_app/immutable/chunks/CDG3PAdG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CJteGSc7.js +1 -0
- package/build/client/_app/immutable/chunks/CJteGSc7.js.br +0 -0
- package/build/client/_app/immutable/chunks/CJteGSc7.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CJy9scTx2.js +1 -0
- package/build/client/_app/immutable/chunks/CJy9scTx2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CJy9scTx2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CLbN30Ww2.js +1 -0
- package/build/client/_app/immutable/chunks/CLbN30Ww2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CLbN30Ww2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CVhNsCIr.js +1 -0
- package/build/client/_app/immutable/chunks/CVhNsCIr.js.br +0 -0
- package/build/client/_app/immutable/chunks/CVhNsCIr.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CWbY0LAI.js +1 -0
- package/build/client/_app/immutable/chunks/CWbY0LAI.js.br +0 -0
- package/build/client/_app/immutable/chunks/CWbY0LAI.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CXuKk5E8.js +1 -0
- package/build/client/_app/immutable/chunks/CXuKk5E8.js.br +0 -0
- package/build/client/_app/immutable/chunks/CXuKk5E8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CYIUgYqB2.js +1 -0
- package/build/client/_app/immutable/chunks/CYIUgYqB2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CYIUgYqB2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C_ew8g7J2.js +1 -0
- package/build/client/_app/immutable/chunks/C_ew8g7J2.js.br +0 -0
- package/build/client/_app/immutable/chunks/C_ew8g7J2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cc8H0qaz.js +1 -0
- package/build/client/_app/immutable/chunks/Cc8H0qaz.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cc8H0qaz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CjNLYCLg2.js +1 -0
- package/build/client/_app/immutable/chunks/CjNLYCLg2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CjNLYCLg2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CjRP0NjD2.js +1 -0
- package/build/client/_app/immutable/chunks/CjRP0NjD2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CjRP0NjD2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CmhtYr-H.js +1 -0
- package/build/client/_app/immutable/chunks/CmhtYr-H.js.br +0 -0
- package/build/client/_app/immutable/chunks/CmhtYr-H.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CogqGmtf2.js +1 -0
- package/build/client/_app/immutable/chunks/CogqGmtf2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CogqGmtf2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cs6JJXT5.js +1 -0
- package/build/client/_app/immutable/chunks/Cs6JJXT5.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cs6JJXT5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CsCG9XlY2.js +1 -0
- package/build/client/_app/immutable/chunks/CsCG9XlY2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CsCG9XlY2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CtfBBspg2.js +1 -0
- package/build/client/_app/immutable/chunks/CtfBBspg2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CtfBBspg2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CtsyrtPq.js +1 -0
- package/build/client/_app/immutable/chunks/CtsyrtPq.js.br +0 -0
- package/build/client/_app/immutable/chunks/CtsyrtPq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cx4VUS55.js +1 -0
- package/build/client/_app/immutable/chunks/Cx4VUS55.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cx4VUS55.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CyEgAFGc.js +1 -0
- package/build/client/_app/immutable/chunks/CyEgAFGc.js.br +0 -0
- package/build/client/_app/immutable/chunks/CyEgAFGc.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CyOMC1H12.js +1 -0
- package/build/client/_app/immutable/chunks/CyOMC1H12.js.br +0 -0
- package/build/client/_app/immutable/chunks/CyOMC1H12.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CyoNGCRj2.js +1 -0
- package/build/client/_app/immutable/chunks/CyoNGCRj2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CyoNGCRj2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D0apG41V2.js +1 -0
- package/build/client/_app/immutable/chunks/D0apG41V2.js.br +0 -0
- package/build/client/_app/immutable/chunks/D0apG41V2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D2hLgkL3.js +1 -0
- package/build/client/_app/immutable/chunks/D2hLgkL3.js.br +0 -0
- package/build/client/_app/immutable/chunks/D2hLgkL3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D3_lVCrH.js +3 -0
- package/build/client/_app/immutable/chunks/D3_lVCrH.js.br +0 -0
- package/build/client/_app/immutable/chunks/D3_lVCrH.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D8mc0qWB.js +1 -0
- package/build/client/_app/immutable/chunks/D8mc0qWB.js.br +0 -0
- package/build/client/_app/immutable/chunks/D8mc0qWB.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D8qrblp8.js +1 -0
- package/build/client/_app/immutable/chunks/D8qrblp8.js.br +0 -0
- package/build/client/_app/immutable/chunks/D8qrblp8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D8y1tx0e2.js +1 -0
- package/build/client/_app/immutable/chunks/D8y1tx0e2.js.br +0 -0
- package/build/client/_app/immutable/chunks/D8y1tx0e2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DBj4K9d_2.js +1 -0
- package/build/client/_app/immutable/chunks/DBj4K9d_2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DBj4K9d_2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DDqZBno92.js +1 -0
- package/build/client/_app/immutable/chunks/DDqZBno92.js.br +0 -0
- package/build/client/_app/immutable/chunks/DDqZBno92.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DET9eGgo.js +1 -0
- package/build/client/_app/immutable/chunks/DET9eGgo.js.br +0 -0
- package/build/client/_app/immutable/chunks/DET9eGgo.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DHYfO66s2.js +1 -0
- package/build/client/_app/immutable/chunks/DHYfO66s2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DHYfO66s2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DHhcNfbx.js +1 -0
- package/build/client/_app/immutable/chunks/DHhcNfbx.js.br +0 -0
- package/build/client/_app/immutable/chunks/DHhcNfbx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DIA3aJp6.js +1 -0
- package/build/client/_app/immutable/chunks/DIA3aJp6.js.br +0 -0
- package/build/client/_app/immutable/chunks/DIA3aJp6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DJARFHrx.js +1 -0
- package/build/client/_app/immutable/chunks/DJARFHrx.js.br +0 -0
- package/build/client/_app/immutable/chunks/DJARFHrx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DJoGK9kf.js +1 -0
- package/build/client/_app/immutable/chunks/DJoGK9kf.js.br +0 -0
- package/build/client/_app/immutable/chunks/DJoGK9kf.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DMgNhnYS.js +1 -0
- package/build/client/_app/immutable/chunks/DMgNhnYS.js.br +0 -0
- package/build/client/_app/immutable/chunks/DMgNhnYS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DNvRKwb02.js +1 -0
- package/build/client/_app/immutable/chunks/DNvRKwb02.js.br +0 -0
- package/build/client/_app/immutable/chunks/DNvRKwb02.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DO-qXg-I2.js +1 -0
- package/build/client/_app/immutable/chunks/DO-qXg-I2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DO-qXg-I2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DOwzaHZ02.js +1 -0
- package/build/client/_app/immutable/chunks/DOwzaHZ02.js.br +0 -0
- package/build/client/_app/immutable/chunks/DOwzaHZ02.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DPeYfO_X.js +1 -0
- package/build/client/_app/immutable/chunks/DPeYfO_X.js.br +0 -0
- package/build/client/_app/immutable/chunks/DPeYfO_X.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DRtTh9R_.js +1 -0
- package/build/client/_app/immutable/chunks/DRtTh9R_.js.br +0 -0
- package/build/client/_app/immutable/chunks/DRtTh9R_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DX1BQOs82.js +1 -0
- package/build/client/_app/immutable/chunks/DX1BQOs82.js.br +0 -0
- package/build/client/_app/immutable/chunks/DX1BQOs82.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DXvs48Yn.js +1 -0
- package/build/client/_app/immutable/chunks/DXvs48Yn.js.br +0 -0
- package/build/client/_app/immutable/chunks/DXvs48Yn.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DYvRD3hg2.js +1 -0
- package/build/client/_app/immutable/chunks/DYvRD3hg2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DYvRD3hg2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D_kqbw5z.js +1 -0
- package/build/client/_app/immutable/chunks/D_kqbw5z.js.br +0 -0
- package/build/client/_app/immutable/chunks/D_kqbw5z.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DaM5BcfV.js +1 -0
- package/build/client/_app/immutable/chunks/DaM5BcfV.js.br +0 -0
- package/build/client/_app/immutable/chunks/DaM5BcfV.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DatEshCS.js +1 -0
- package/build/client/_app/immutable/chunks/DatEshCS.js.br +0 -0
- package/build/client/_app/immutable/chunks/DatEshCS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dbkyqgda2.js +1 -0
- package/build/client/_app/immutable/chunks/Dbkyqgda2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dbkyqgda2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dc2A3rbH2.js +1 -0
- package/build/client/_app/immutable/chunks/Dc2A3rbH2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dc2A3rbH2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DeSyfjfB.js +1 -0
- package/build/client/_app/immutable/chunks/DeSyfjfB.js.br +0 -0
- package/build/client/_app/immutable/chunks/DeSyfjfB.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dgaz7aur.js +1 -0
- package/build/client/_app/immutable/chunks/Dgaz7aur.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dgaz7aur.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dgfk8zCU.js +1 -0
- package/build/client/_app/immutable/chunks/Dgfk8zCU.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dgfk8zCU.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DgjMoLWr.js +1 -0
- package/build/client/_app/immutable/chunks/DgjMoLWr.js.br +0 -0
- package/build/client/_app/immutable/chunks/DgjMoLWr.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dh5ihWbf.js +1 -0
- package/build/client/_app/immutable/chunks/Dh5ihWbf.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dh5ihWbf.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DjuaAJKi.js +1 -0
- package/build/client/_app/immutable/chunks/DjuaAJKi.js.br +0 -0
- package/build/client/_app/immutable/chunks/DjuaAJKi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DlX1gWpk.js +1 -0
- package/build/client/_app/immutable/chunks/DlX1gWpk.js.br +0 -0
- package/build/client/_app/immutable/chunks/DlX1gWpk.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DmoyGeAS2.js +1 -0
- package/build/client/_app/immutable/chunks/DmoyGeAS2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DmoyGeAS2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DqHOMS-s.js +1 -0
- package/build/client/_app/immutable/chunks/DqHOMS-s.js.br +0 -0
- package/build/client/_app/immutable/chunks/DqHOMS-s.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DqNF_brF2.js +1 -0
- package/build/client/_app/immutable/chunks/DqNF_brF2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DqNF_brF2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dtn6NLbI.js +1 -0
- package/build/client/_app/immutable/chunks/Dtn6NLbI.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dtn6NLbI.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dtv7UOty2.js +1 -0
- package/build/client/_app/immutable/chunks/Dtv7UOty2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dtv7UOty2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DuBRPxYg.js +1 -0
- package/build/client/_app/immutable/chunks/DuBRPxYg.js.br +0 -0
- package/build/client/_app/immutable/chunks/DuBRPxYg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DuQiBVJu.js +29 -0
- package/build/client/_app/immutable/chunks/DuQiBVJu.js.br +0 -0
- package/build/client/_app/immutable/chunks/DuQiBVJu.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DuqgYnXA.js +1 -0
- package/build/client/_app/immutable/chunks/DuqgYnXA.js.br +0 -0
- package/build/client/_app/immutable/chunks/DuqgYnXA.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DvRy0wJr2.js +1 -0
- package/build/client/_app/immutable/chunks/DvRy0wJr2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DvRy0wJr2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Ft8OTbFq2.js +1 -0
- package/build/client/_app/immutable/chunks/Ft8OTbFq2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Ft8OTbFq2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/GPf5fMLC2.js +1 -0
- package/build/client/_app/immutable/chunks/GPf5fMLC2.js.br +0 -0
- package/build/client/_app/immutable/chunks/GPf5fMLC2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/KFGFyKwG.js +1 -0
- package/build/client/_app/immutable/chunks/KFGFyKwG.js.br +0 -0
- package/build/client/_app/immutable/chunks/KFGFyKwG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/KNb_0kK5.js +1 -0
- package/build/client/_app/immutable/chunks/KNb_0kK5.js.br +0 -0
- package/build/client/_app/immutable/chunks/KNb_0kK5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/MfeErNn-.js +1 -0
- package/build/client/_app/immutable/chunks/MfeErNn-.js.br +0 -0
- package/build/client/_app/immutable/chunks/MfeErNn-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/OOMz51rW.js +1 -0
- package/build/client/_app/immutable/chunks/OOMz51rW.js.br +0 -0
- package/build/client/_app/immutable/chunks/OOMz51rW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/PMQDBV5J.js +1 -0
- package/build/client/_app/immutable/chunks/PMQDBV5J.js.br +0 -0
- package/build/client/_app/immutable/chunks/PMQDBV5J.js.gz +0 -0
- package/build/client/_app/immutable/chunks/QtN_jOZp.js +1 -0
- package/build/client/_app/immutable/chunks/QtN_jOZp.js.br +0 -0
- package/build/client/_app/immutable/chunks/QtN_jOZp.js.gz +0 -0
- package/build/client/_app/immutable/chunks/QuimFY2S.js +1 -0
- package/build/client/_app/immutable/chunks/QuimFY2S.js.br +0 -0
- package/build/client/_app/immutable/chunks/QuimFY2S.js.gz +0 -0
- package/build/client/_app/immutable/chunks/R4sQ-3Hc2.js +1 -0
- package/build/client/_app/immutable/chunks/R4sQ-3Hc2.js.br +0 -0
- package/build/client/_app/immutable/chunks/R4sQ-3Hc2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/R8nAf1vR.js +1 -0
- package/build/client/_app/immutable/chunks/R8nAf1vR.js.br +0 -0
- package/build/client/_app/immutable/chunks/R8nAf1vR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/SCjQUq34.js +1 -0
- package/build/client/_app/immutable/chunks/SCjQUq34.js.br +0 -0
- package/build/client/_app/immutable/chunks/SCjQUq34.js.gz +0 -0
- package/build/client/_app/immutable/chunks/UdsmMDCL2.js +1 -0
- package/build/client/_app/immutable/chunks/UdsmMDCL2.js.br +0 -0
- package/build/client/_app/immutable/chunks/UdsmMDCL2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/V5Yjt9wD2.js +1 -0
- package/build/client/_app/immutable/chunks/V5Yjt9wD2.js.br +0 -0
- package/build/client/_app/immutable/chunks/V5Yjt9wD2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/XT7mgm2-.js +1 -0
- package/build/client/_app/immutable/chunks/XT7mgm2-.js.br +0 -0
- package/build/client/_app/immutable/chunks/XT7mgm2-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Yf0g_uY-2.js +1 -0
- package/build/client/_app/immutable/chunks/Yf0g_uY-2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Yf0g_uY-2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/_6rzW9BS.js +1 -0
- package/build/client/_app/immutable/chunks/_6rzW9BS.js.br +0 -0
- package/build/client/_app/immutable/chunks/_6rzW9BS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/aMsaMD1D2.js +1 -0
- package/build/client/_app/immutable/chunks/aMsaMD1D2.js.br +0 -0
- package/build/client/_app/immutable/chunks/aMsaMD1D2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/aviLwsDM.js +2 -0
- package/build/client/_app/immutable/chunks/aviLwsDM.js.br +0 -0
- package/build/client/_app/immutable/chunks/aviLwsDM.js.gz +0 -0
- package/build/client/_app/immutable/chunks/b1-zR7XP.js +1 -0
- package/build/client/_app/immutable/chunks/b1-zR7XP.js.br +0 -0
- package/build/client/_app/immutable/chunks/b1-zR7XP.js.gz +0 -0
- package/build/client/_app/immutable/chunks/b4xeCETc.js +1 -0
- package/build/client/_app/immutable/chunks/b4xeCETc.js.br +0 -0
- package/build/client/_app/immutable/chunks/b4xeCETc.js.gz +0 -0
- package/build/client/_app/immutable/chunks/cM1P9coc.js +1 -0
- package/build/client/_app/immutable/chunks/cM1P9coc.js.br +0 -0
- package/build/client/_app/immutable/chunks/cM1P9coc.js.gz +0 -0
- package/build/client/_app/immutable/chunks/c_oH4hRZ.js +1 -0
- package/build/client/_app/immutable/chunks/c_oH4hRZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/c_oH4hRZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/fg40_ntQ.js +1 -0
- package/build/client/_app/immutable/chunks/fg40_ntQ.js.br +0 -0
- package/build/client/_app/immutable/chunks/fg40_ntQ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/fhodw31A2.js +1 -0
- package/build/client/_app/immutable/chunks/fhodw31A2.js.br +0 -0
- package/build/client/_app/immutable/chunks/fhodw31A2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/i9_wZDsL2.js +1 -0
- package/build/client/_app/immutable/chunks/i9_wZDsL2.js.br +0 -0
- package/build/client/_app/immutable/chunks/i9_wZDsL2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/nQErZH7l.js +24 -0
- package/build/client/_app/immutable/chunks/nQErZH7l.js.br +0 -0
- package/build/client/_app/immutable/chunks/nQErZH7l.js.gz +0 -0
- package/build/client/_app/immutable/chunks/o5QeSYPS2.js +1 -0
- package/build/client/_app/immutable/chunks/o5QeSYPS2.js.br +0 -0
- package/build/client/_app/immutable/chunks/o5QeSYPS2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/pk7CcyRt2.js +1 -0
- package/build/client/_app/immutable/chunks/pk7CcyRt2.js.br +0 -0
- package/build/client/_app/immutable/chunks/pk7CcyRt2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/qdxAdBWQ2.js +1 -0
- package/build/client/_app/immutable/chunks/qdxAdBWQ2.js.br +0 -0
- package/build/client/_app/immutable/chunks/qdxAdBWQ2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/sDfmG-q52.js +1 -0
- package/build/client/_app/immutable/chunks/sDfmG-q52.js.br +0 -0
- package/build/client/_app/immutable/chunks/sDfmG-q52.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.Cf1kynW5.js +2 -0
- package/build/client/_app/immutable/entry/app.Cf1kynW5.js.br +0 -0
- package/build/client/_app/immutable/entry/app.Cf1kynW5.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BzFDNUTP.js +1 -0
- package/build/client/_app/immutable/entry/start.BzFDNUTP.js.br +0 -0
- package/build/client/_app/immutable/entry/start.BzFDNUTP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.Di6pZ7QE.js +1 -0
- package/build/client/_app/immutable/nodes/0.Di6pZ7QE.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.Di6pZ7QE.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.Dqv2_VBm.js +1 -0
- package/build/client/_app/immutable/nodes/1.Dqv2_VBm.js.br +1 -0
- package/build/client/_app/immutable/nodes/1.Dqv2_VBm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.CjcBXjcg.js +1 -0
- package/build/client/_app/immutable/nodes/2.CjcBXjcg.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CjcBXjcg.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.CjcBXjcg.js +1 -0
- package/build/client/_app/immutable/nodes/3.CjcBXjcg.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.CjcBXjcg.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/env.js +9 -33
- package/build/env.js.map +1 -0
- package/build/handler.js +24 -1493
- package/build/handler.js.map +1 -0
- package/build/index.js +34 -231
- package/build/index.js.map +1 -0
- package/build/server/chunks/chunks/client.js-D_n8ztuu.js +37 -0
- package/build/server/chunks/chunks/client.js-D_n8ztuu.js.map +1 -0
- package/build/server/chunks/chunks/dist.js-Cjy4fJ8I.js +215 -0
- package/build/server/chunks/chunks/dist.js-Cjy4fJ8I.js.map +1 -0
- package/build/server/chunks/chunks/env.js-l0sNRNKZ.js +2 -0
- package/build/server/chunks/chunks/env.js-l0sNRNKZ.js.map +1 -0
- package/build/server/chunks/chunks/exports.js-M407IRCT.js +367 -0
- package/build/server/chunks/chunks/exports.js-M407IRCT.js.map +1 -0
- package/build/server/chunks/chunks/internal.js-JDOUzQXG.js +4925 -0
- package/build/server/chunks/chunks/internal.js-JDOUzQXG.js.map +1 -0
- package/build/server/chunks/chunks/internal2.js-Bkb6J7OW.js +471 -0
- package/build/server/chunks/chunks/internal2.js-Bkb6J7OW.js.map +1 -0
- package/build/server/chunks/chunks/preview-api.js-DFLf7Qia.js +66 -0
- package/build/server/chunks/chunks/preview-api.js-DFLf7Qia.js.map +1 -0
- package/build/server/chunks/chunks/preview-workbench.js-r46FAtaD.js +10453 -0
- package/build/server/chunks/chunks/preview-workbench.js-r46FAtaD.js.map +1 -0
- package/build/server/chunks/chunks/send-email-config.js-kjBFi9BP.js +9 -0
- package/build/server/chunks/chunks/send-email-config.js-kjBFi9BP.js.map +1 -0
- package/build/server/chunks/chunks/shared-server.js-X-h81DQm.js +22 -0
- package/build/server/chunks/chunks/shared-server.js-X-h81DQm.js.map +1 -0
- package/build/server/chunks/chunks/shared.js-CMUZRVdw.js +599 -0
- package/build/server/chunks/chunks/shared.js-CMUZRVdw.js.map +1 -0
- package/build/server/chunks/chunks/state.js-c_5yT7l3.js +61 -0
- package/build/server/chunks/chunks/state.js-c_5yT7l3.js.map +1 -0
- package/build/server/chunks/chunks/utils.js-BulZbGp_.js +748 -0
- package/build/server/chunks/chunks/utils.js-BulZbGp_.js.map +1 -0
- package/build/server/chunks/entries/fallbacks/error.svelte.js-Bqmfe4zf.js +19 -0
- package/build/server/chunks/entries/fallbacks/error.svelte.js-Bqmfe4zf.js.map +1 -0
- package/build/server/chunks/entries/hooks.server.js-Cyi_B_F7.js +11 -0
- package/build/server/chunks/entries/hooks.server.js-Cyi_B_F7.js.map +1 -0
- package/build/server/chunks/entries/pages/_...email_/_page.server.ts.js-veRKlqKf.js +30 -0
- package/build/server/chunks/entries/pages/_...email_/_page.server.ts.js-veRKlqKf.js.map +1 -0
- package/build/server/chunks/entries/pages/_...email_/_page.svelte.js-BZIBolly.js +24 -0
- package/build/server/chunks/entries/pages/_...email_/_page.svelte.js-BZIBolly.js.map +1 -0
- package/build/server/chunks/entries/pages/_layout.server.ts.js-CxDOHZpA.js +25 -0
- package/build/server/chunks/entries/pages/_layout.server.ts.js-CxDOHZpA.js.map +1 -0
- package/build/server/chunks/entries/pages/_layout.svelte.js-CjwKzgJn.js +29 -0
- package/build/server/chunks/entries/pages/_layout.svelte.js-CjwKzgJn.js.map +1 -0
- package/build/server/chunks/entries/pages/_page.server.ts.js-CmdnlMr9.js +24 -0
- package/build/server/chunks/entries/pages/_page.server.ts.js-CmdnlMr9.js.map +1 -0
- package/build/server/chunks/entries/pages/_page.svelte.js-B7d-Pkg8.js +24 -0
- package/build/server/chunks/entries/pages/_page.svelte.js-B7d-Pkg8.js.map +1 -0
- package/build/server/chunks/handler-C6XD7uxC.js +1206 -0
- package/build/server/chunks/handler-C6XD7uxC.js.map +1 -0
- package/build/server/chunks/index.js-FWva2MxP.js +3701 -0
- package/build/server/chunks/index.js-FWva2MxP.js.map +1 -0
- package/build/server/chunks/manifest.js-Cs6Il7RU.js +50 -0
- package/build/server/chunks/manifest.js-Cs6Il7RU.js.map +1 -0
- package/build/server/chunks/nodes/0.js-C09MpjVZ.js +15 -0
- package/build/server/chunks/nodes/0.js-C09MpjVZ.js.map +1 -0
- package/build/server/chunks/nodes/1.js-B3hAPkEQ.js +9 -0
- package/build/server/chunks/nodes/1.js-B3hAPkEQ.js.map +1 -0
- package/build/server/chunks/nodes/2.js-Cugi_VAS.js +15 -0
- package/build/server/chunks/nodes/2.js-Cugi_VAS.js.map +1 -0
- package/build/server/chunks/nodes/3.js-BAAob8rz.js +15 -0
- package/build/server/chunks/nodes/3.js-BAAob8rz.js.map +1 -0
- package/build/shims.js +2 -30
- package/build/shims.js.map +1 -0
- package/package.json +10 -10
- package/build/client/_app/immutable/assets/0.DDKrVtzt.css +0 -1
- package/build/client/_app/immutable/assets/0.DDKrVtzt.css.br +0 -0
- package/build/client/_app/immutable/assets/0.DDKrVtzt.css.gz +0 -0
- package/build/client/_app/immutable/chunks/-h_pmPym.js +0 -1
- package/build/client/_app/immutable/chunks/-h_pmPym.js.br +0 -0
- package/build/client/_app/immutable/chunks/-h_pmPym.js.gz +0 -0
- package/build/client/_app/immutable/chunks/2Ku6pjPv2.js +0 -1
- package/build/client/_app/immutable/chunks/2Ku6pjPv2.js.br +0 -0
- package/build/client/_app/immutable/chunks/2Ku6pjPv2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/39ZgKSKZ.js +0 -3
- package/build/client/_app/immutable/chunks/39ZgKSKZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/39ZgKSKZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/4ZIkZEHr.js +0 -1
- package/build/client/_app/immutable/chunks/4ZIkZEHr.js.br +0 -0
- package/build/client/_app/immutable/chunks/4ZIkZEHr.js.gz +0 -0
- package/build/client/_app/immutable/chunks/65sW_wzf2.js +0 -1
- package/build/client/_app/immutable/chunks/65sW_wzf2.js.br +0 -0
- package/build/client/_app/immutable/chunks/65sW_wzf2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/7XuN7Mxc.js +0 -1
- package/build/client/_app/immutable/chunks/7XuN7Mxc.js.br +0 -0
- package/build/client/_app/immutable/chunks/7XuN7Mxc.js.gz +0 -0
- package/build/client/_app/immutable/chunks/8_IDyNe5.js +0 -1
- package/build/client/_app/immutable/chunks/8_IDyNe5.js.br +0 -0
- package/build/client/_app/immutable/chunks/8_IDyNe5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/9CKlacar.js +0 -1
- package/build/client/_app/immutable/chunks/9CKlacar.js.br +0 -0
- package/build/client/_app/immutable/chunks/9CKlacar.js.gz +0 -0
- package/build/client/_app/immutable/chunks/9_Ve2-x-.js +0 -1
- package/build/client/_app/immutable/chunks/9_Ve2-x-.js.br +0 -0
- package/build/client/_app/immutable/chunks/9_Ve2-x-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B0MmjxYz2.js +0 -1
- package/build/client/_app/immutable/chunks/B0MmjxYz2.js.br +0 -0
- package/build/client/_app/immutable/chunks/B0MmjxYz2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B1s4bTH3.js +0 -1
- package/build/client/_app/immutable/chunks/B1s4bTH3.js.br +0 -0
- package/build/client/_app/immutable/chunks/B1s4bTH3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B3jSVEhD.js +0 -1
- package/build/client/_app/immutable/chunks/B3jSVEhD.js.br +0 -0
- package/build/client/_app/immutable/chunks/B3jSVEhD.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B4JPhnMW2.js +0 -1
- package/build/client/_app/immutable/chunks/B4JPhnMW2.js.br +0 -0
- package/build/client/_app/immutable/chunks/B4JPhnMW2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B6VKbn052.js +0 -1
- package/build/client/_app/immutable/chunks/B6VKbn052.js.br +0 -0
- package/build/client/_app/immutable/chunks/B6VKbn052.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B7z-u_6r.js +0 -1
- package/build/client/_app/immutable/chunks/B7z-u_6r.js.br +0 -0
- package/build/client/_app/immutable/chunks/B7z-u_6r.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B9YMHD1z.js +0 -1
- package/build/client/_app/immutable/chunks/B9YMHD1z.js.br +0 -0
- package/build/client/_app/immutable/chunks/B9YMHD1z.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BBZxAsqF.js +0 -1
- package/build/client/_app/immutable/chunks/BBZxAsqF.js.br +0 -0
- package/build/client/_app/immutable/chunks/BBZxAsqF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BEQuuskS2.js +0 -1
- package/build/client/_app/immutable/chunks/BEQuuskS2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BEQuuskS2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BFzUP3ti.js +0 -1
- package/build/client/_app/immutable/chunks/BFzUP3ti.js.br +0 -0
- package/build/client/_app/immutable/chunks/BFzUP3ti.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BHFiOPU3.js +0 -1
- package/build/client/_app/immutable/chunks/BHFiOPU3.js.br +0 -0
- package/build/client/_app/immutable/chunks/BHFiOPU3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BIb1I41Y.js +0 -1
- package/build/client/_app/immutable/chunks/BIb1I41Y.js.br +0 -0
- package/build/client/_app/immutable/chunks/BIb1I41Y.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BQcUvmyI.js +0 -1
- package/build/client/_app/immutable/chunks/BQcUvmyI.js.br +0 -0
- package/build/client/_app/immutable/chunks/BQcUvmyI.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BRkmRHkt2.js +0 -1
- package/build/client/_app/immutable/chunks/BRkmRHkt2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BRkmRHkt2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BSBoBo_M.js +0 -1
- package/build/client/_app/immutable/chunks/BSBoBo_M.js.br +0 -0
- package/build/client/_app/immutable/chunks/BSBoBo_M.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BSIuWq_1.js +0 -1
- package/build/client/_app/immutable/chunks/BSIuWq_1.js.br +0 -0
- package/build/client/_app/immutable/chunks/BSIuWq_1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BSQc46Of.js +0 -1
- package/build/client/_app/immutable/chunks/BSQc46Of.js.br +0 -0
- package/build/client/_app/immutable/chunks/BSQc46Of.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BVX6Zk6R.js +0 -1
- package/build/client/_app/immutable/chunks/BVX6Zk6R.js.br +0 -0
- package/build/client/_app/immutable/chunks/BVX6Zk6R.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BWP6YHkm2.js +0 -1
- package/build/client/_app/immutable/chunks/BWP6YHkm2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BWP6YHkm2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BYGrATzF.js +0 -1
- package/build/client/_app/immutable/chunks/BYGrATzF.js.br +0 -0
- package/build/client/_app/immutable/chunks/BYGrATzF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BdV_3DB32.js +0 -1
- package/build/client/_app/immutable/chunks/BdV_3DB32.js.br +0 -0
- package/build/client/_app/immutable/chunks/BdV_3DB32.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BegdHv0j2.js +0 -1
- package/build/client/_app/immutable/chunks/BegdHv0j2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BegdHv0j2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BfUp-Hqi2.js +0 -1
- package/build/client/_app/immutable/chunks/BfUp-Hqi2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BfUp-Hqi2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BgL0PVOI.js +0 -1
- package/build/client/_app/immutable/chunks/BgL0PVOI.js.br +0 -0
- package/build/client/_app/immutable/chunks/BgL0PVOI.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bilt0IKX2.js +0 -1
- package/build/client/_app/immutable/chunks/Bilt0IKX2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bilt0IKX2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BjHIQUCt.js +0 -1
- package/build/client/_app/immutable/chunks/BjHIQUCt.js.br +0 -0
- package/build/client/_app/immutable/chunks/BjHIQUCt.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Blr2mF5X.js +0 -1
- package/build/client/_app/immutable/chunks/Blr2mF5X.js.br +0 -0
- package/build/client/_app/immutable/chunks/Blr2mF5X.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BpxGCOw1.js +0 -1
- package/build/client/_app/immutable/chunks/BpxGCOw1.js.br +0 -0
- package/build/client/_app/immutable/chunks/BpxGCOw1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BpzYnIbk.js +0 -1
- package/build/client/_app/immutable/chunks/BpzYnIbk.js.br +0 -0
- package/build/client/_app/immutable/chunks/BpzYnIbk.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bq5F1dsn2.js +0 -1
- package/build/client/_app/immutable/chunks/Bq5F1dsn2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bq5F1dsn2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BtZAonhj.js +0 -1
- package/build/client/_app/immutable/chunks/BtZAonhj.js.br +0 -0
- package/build/client/_app/immutable/chunks/BtZAonhj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BuoarOYP.js +0 -1
- package/build/client/_app/immutable/chunks/BuoarOYP.js.br +0 -0
- package/build/client/_app/immutable/chunks/BuoarOYP.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bvc1Hh7r.js +0 -1
- package/build/client/_app/immutable/chunks/Bvc1Hh7r.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bvc1Hh7r.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bw7TZFNC.js +0 -1
- package/build/client/_app/immutable/chunks/Bw7TZFNC.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bw7TZFNC.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BwtFEdAv.js +0 -1
- package/build/client/_app/immutable/chunks/BwtFEdAv.js.br +0 -0
- package/build/client/_app/immutable/chunks/BwtFEdAv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BzJl5fTi.js +0 -1
- package/build/client/_app/immutable/chunks/BzJl5fTi.js.br +0 -0
- package/build/client/_app/immutable/chunks/BzJl5fTi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C3Vs-AoW2.js +0 -1
- package/build/client/_app/immutable/chunks/C3Vs-AoW2.js.br +0 -0
- package/build/client/_app/immutable/chunks/C3Vs-AoW2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C4vg4BT1.js +0 -1
- package/build/client/_app/immutable/chunks/C4vg4BT1.js.br +0 -0
- package/build/client/_app/immutable/chunks/C4vg4BT1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C5m0M3of.js +0 -1
- package/build/client/_app/immutable/chunks/C5m0M3of.js.br +0 -0
- package/build/client/_app/immutable/chunks/C5m0M3of.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C8aTZFLM2.js +0 -1
- package/build/client/_app/immutable/chunks/C8aTZFLM2.js.br +0 -0
- package/build/client/_app/immutable/chunks/C8aTZFLM2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CASBiye32.js +0 -1
- package/build/client/_app/immutable/chunks/CASBiye32.js.br +0 -0
- package/build/client/_app/immutable/chunks/CASBiye32.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CBGYKkNb.js +0 -1
- package/build/client/_app/immutable/chunks/CBGYKkNb.js.br +0 -0
- package/build/client/_app/immutable/chunks/CBGYKkNb.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CBPRmfeb2.js +0 -1
- package/build/client/_app/immutable/chunks/CBPRmfeb2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CBPRmfeb2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CEeAxcUj2.js +0 -1
- package/build/client/_app/immutable/chunks/CEeAxcUj2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CEeAxcUj2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CF8afW2D2.js +0 -1
- package/build/client/_app/immutable/chunks/CF8afW2D2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CF8afW2D2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CFzekq2w.js +0 -1
- package/build/client/_app/immutable/chunks/CFzekq2w.js.br +0 -0
- package/build/client/_app/immutable/chunks/CFzekq2w.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CLwQ4BZ4.js +0 -1
- package/build/client/_app/immutable/chunks/CLwQ4BZ4.js.br +0 -0
- package/build/client/_app/immutable/chunks/CLwQ4BZ4.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CMeoI1Os.js +0 -1
- package/build/client/_app/immutable/chunks/CMeoI1Os.js.br +0 -0
- package/build/client/_app/immutable/chunks/CMeoI1Os.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CMsnibUi2.js +0 -1
- package/build/client/_app/immutable/chunks/CMsnibUi2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CMsnibUi2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CQGdm4d_.js +0 -1
- package/build/client/_app/immutable/chunks/CQGdm4d_.js.br +0 -0
- package/build/client/_app/immutable/chunks/CQGdm4d_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CRoOhImC2.js +0 -1
- package/build/client/_app/immutable/chunks/CRoOhImC2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CRoOhImC2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CRtSPPEe2.js +0 -1
- package/build/client/_app/immutable/chunks/CRtSPPEe2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CRtSPPEe2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CTOLanxh.js +0 -1
- package/build/client/_app/immutable/chunks/CTOLanxh.js.br +0 -0
- package/build/client/_app/immutable/chunks/CTOLanxh.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CWaWI5dF2.js +0 -1
- package/build/client/_app/immutable/chunks/CWaWI5dF2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CWaWI5dF2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CXEf41Mq.js +0 -1
- package/build/client/_app/immutable/chunks/CXEf41Mq.js.br +0 -0
- package/build/client/_app/immutable/chunks/CXEf41Mq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CXpU_5b82.js +0 -1
- package/build/client/_app/immutable/chunks/CXpU_5b82.js.br +0 -0
- package/build/client/_app/immutable/chunks/CXpU_5b82.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CYQgmduq2.js +0 -1
- package/build/client/_app/immutable/chunks/CYQgmduq2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CYQgmduq2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CZQ27tTZ.js +0 -1
- package/build/client/_app/immutable/chunks/CZQ27tTZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/CZQ27tTZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cae5Zt2U.js +0 -1
- package/build/client/_app/immutable/chunks/Cae5Zt2U.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cae5Zt2U.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CatpKENs.js +0 -24
- package/build/client/_app/immutable/chunks/CatpKENs.js.br +0 -0
- package/build/client/_app/immutable/chunks/CatpKENs.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cg3yZZaI2.js +0 -1
- package/build/client/_app/immutable/chunks/Cg3yZZaI2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cg3yZZaI2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CiGKJZ2V.js +0 -1
- package/build/client/_app/immutable/chunks/CiGKJZ2V.js.br +0 -0
- package/build/client/_app/immutable/chunks/CiGKJZ2V.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cjxiw1UY.js +0 -1
- package/build/client/_app/immutable/chunks/Cjxiw1UY.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cjxiw1UY.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CldGa5w12.js +0 -1
- package/build/client/_app/immutable/chunks/CldGa5w12.js.br +0 -0
- package/build/client/_app/immutable/chunks/CldGa5w12.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CmHl6zD1.js +0 -1
- package/build/client/_app/immutable/chunks/CmHl6zD1.js.br +0 -0
- package/build/client/_app/immutable/chunks/CmHl6zD1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CnmK8gAz.js +0 -1
- package/build/client/_app/immutable/chunks/CnmK8gAz.js.br +0 -0
- package/build/client/_app/immutable/chunks/CnmK8gAz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CoVLyFzJ2.js +0 -1
- package/build/client/_app/immutable/chunks/CoVLyFzJ2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CoVLyFzJ2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CrsobARw.js +0 -1
- package/build/client/_app/immutable/chunks/CrsobARw.js.br +0 -0
- package/build/client/_app/immutable/chunks/CrsobARw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CsetoGb3.js +0 -1
- package/build/client/_app/immutable/chunks/CsetoGb3.js.br +0 -0
- package/build/client/_app/immutable/chunks/CsetoGb3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D0X-WbbZ2.js +0 -1
- package/build/client/_app/immutable/chunks/D0X-WbbZ2.js.br +0 -0
- package/build/client/_app/immutable/chunks/D0X-WbbZ2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D29z4NKW.js +0 -1
- package/build/client/_app/immutable/chunks/D29z4NKW.js.br +0 -0
- package/build/client/_app/immutable/chunks/D29z4NKW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D2onGLbP2.js +0 -1
- package/build/client/_app/immutable/chunks/D2onGLbP2.js.br +0 -0
- package/build/client/_app/immutable/chunks/D2onGLbP2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D72fvhVH.js +0 -1
- package/build/client/_app/immutable/chunks/D72fvhVH.js.br +0 -0
- package/build/client/_app/immutable/chunks/D72fvhVH.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D9KJ6WhU.js +0 -3
- package/build/client/_app/immutable/chunks/D9KJ6WhU.js.br +0 -0
- package/build/client/_app/immutable/chunks/D9KJ6WhU.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DAcf4VBy2.js +0 -1
- package/build/client/_app/immutable/chunks/DAcf4VBy2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DAcf4VBy2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DGk9P76o.js +0 -1
- package/build/client/_app/immutable/chunks/DGk9P76o.js.br +0 -0
- package/build/client/_app/immutable/chunks/DGk9P76o.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DKJqxtO22.js +0 -1
- package/build/client/_app/immutable/chunks/DKJqxtO22.js.br +0 -0
- package/build/client/_app/immutable/chunks/DKJqxtO22.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DKXM2yYf.js +0 -1
- package/build/client/_app/immutable/chunks/DKXM2yYf.js.br +0 -0
- package/build/client/_app/immutable/chunks/DKXM2yYf.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DLYiRpdA.js +0 -1
- package/build/client/_app/immutable/chunks/DLYiRpdA.js.br +0 -0
- package/build/client/_app/immutable/chunks/DLYiRpdA.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DLaVsSLp.js +0 -1
- package/build/client/_app/immutable/chunks/DLaVsSLp.js.br +0 -0
- package/build/client/_app/immutable/chunks/DLaVsSLp.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DMSybqOO.js +0 -1
- package/build/client/_app/immutable/chunks/DMSybqOO.js.br +0 -0
- package/build/client/_app/immutable/chunks/DMSybqOO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DMxXQ7Cl2.js +0 -1
- package/build/client/_app/immutable/chunks/DMxXQ7Cl2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DMxXQ7Cl2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DNBYGsal2.js +0 -1
- package/build/client/_app/immutable/chunks/DNBYGsal2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DNBYGsal2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DOEO-WvX.js +0 -1
- package/build/client/_app/immutable/chunks/DOEO-WvX.js.br +0 -0
- package/build/client/_app/immutable/chunks/DOEO-WvX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DQ90Q1pf2.js +0 -1
- package/build/client/_app/immutable/chunks/DQ90Q1pf2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DQ90Q1pf2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DR8x2hwi.js +0 -1
- package/build/client/_app/immutable/chunks/DR8x2hwi.js.br +0 -0
- package/build/client/_app/immutable/chunks/DR8x2hwi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DSQT5HV4.js +0 -1
- package/build/client/_app/immutable/chunks/DSQT5HV4.js.br +0 -0
- package/build/client/_app/immutable/chunks/DSQT5HV4.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DVNj_1ue.js +0 -1
- package/build/client/_app/immutable/chunks/DVNj_1ue.js.br +0 -0
- package/build/client/_app/immutable/chunks/DVNj_1ue.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DVvHkqtW.js +0 -1
- package/build/client/_app/immutable/chunks/DVvHkqtW.js.br +0 -0
- package/build/client/_app/immutable/chunks/DVvHkqtW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dal-qfaa2.js +0 -1
- package/build/client/_app/immutable/chunks/Dal-qfaa2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dal-qfaa2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DdtFrE5g.js +0 -1
- package/build/client/_app/immutable/chunks/DdtFrE5g.js.br +0 -0
- package/build/client/_app/immutable/chunks/DdtFrE5g.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DeF98yLx.js +0 -1
- package/build/client/_app/immutable/chunks/DeF98yLx.js.br +0 -0
- package/build/client/_app/immutable/chunks/DeF98yLx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DeyCmzzL2.js +0 -1
- package/build/client/_app/immutable/chunks/DeyCmzzL2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DeyCmzzL2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DfiH42DF.js +0 -1
- package/build/client/_app/immutable/chunks/DfiH42DF.js.br +0 -0
- package/build/client/_app/immutable/chunks/DfiH42DF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dng3oL2T2.js +0 -1
- package/build/client/_app/immutable/chunks/Dng3oL2T2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dng3oL2T2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DoGDOkHo.js +0 -1
- package/build/client/_app/immutable/chunks/DoGDOkHo.js.br +0 -0
- package/build/client/_app/immutable/chunks/DoGDOkHo.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DtTt0xhK.js +0 -1
- package/build/client/_app/immutable/chunks/DtTt0xhK.js.br +0 -0
- package/build/client/_app/immutable/chunks/DtTt0xhK.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DtkNLt3E2.js +0 -1
- package/build/client/_app/immutable/chunks/DtkNLt3E2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DtkNLt3E2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DuzDtz7a2.js +0 -1
- package/build/client/_app/immutable/chunks/DuzDtz7a2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DuzDtz7a2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dw2GF4Cg.js +0 -1
- package/build/client/_app/immutable/chunks/Dw2GF4Cg.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dw2GF4Cg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/EH3q7LQf.js +0 -1
- package/build/client/_app/immutable/chunks/EH3q7LQf.js.br +0 -0
- package/build/client/_app/immutable/chunks/EH3q7LQf.js.gz +0 -0
- package/build/client/_app/immutable/chunks/JDidFz4O2.js +0 -1
- package/build/client/_app/immutable/chunks/JDidFz4O2.js.br +0 -0
- package/build/client/_app/immutable/chunks/JDidFz4O2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/NS1yVJWc.js +0 -1
- package/build/client/_app/immutable/chunks/NS1yVJWc.js.br +0 -0
- package/build/client/_app/immutable/chunks/NS1yVJWc.js.gz +0 -0
- package/build/client/_app/immutable/chunks/NVezsm0q.js +0 -1
- package/build/client/_app/immutable/chunks/NVezsm0q.js.br +0 -0
- package/build/client/_app/immutable/chunks/NVezsm0q.js.gz +0 -0
- package/build/client/_app/immutable/chunks/PhE8eTFs.js +0 -1
- package/build/client/_app/immutable/chunks/PhE8eTFs.js.br +0 -0
- package/build/client/_app/immutable/chunks/PhE8eTFs.js.gz +0 -0
- package/build/client/_app/immutable/chunks/PoaVr8xn.js +0 -1
- package/build/client/_app/immutable/chunks/PoaVr8xn.js.br +0 -0
- package/build/client/_app/immutable/chunks/PoaVr8xn.js.gz +0 -0
- package/build/client/_app/immutable/chunks/QBjrzS2s.js +0 -1
- package/build/client/_app/immutable/chunks/QBjrzS2s.js.br +0 -0
- package/build/client/_app/immutable/chunks/QBjrzS2s.js.gz +0 -0
- package/build/client/_app/immutable/chunks/SbxTxZwl.js +0 -1
- package/build/client/_app/immutable/chunks/SbxTxZwl.js.br +0 -0
- package/build/client/_app/immutable/chunks/SbxTxZwl.js.gz +0 -0
- package/build/client/_app/immutable/chunks/So9lcrZr2.js +0 -1
- package/build/client/_app/immutable/chunks/So9lcrZr2.js.br +0 -0
- package/build/client/_app/immutable/chunks/So9lcrZr2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/TFPepNlC.js +0 -1
- package/build/client/_app/immutable/chunks/TFPepNlC.js.br +0 -0
- package/build/client/_app/immutable/chunks/TFPepNlC.js.gz +0 -0
- package/build/client/_app/immutable/chunks/TNKwUjSp.js +0 -1
- package/build/client/_app/immutable/chunks/TNKwUjSp.js.br +0 -0
- package/build/client/_app/immutable/chunks/TNKwUjSp.js.gz +0 -0
- package/build/client/_app/immutable/chunks/VM9VFXVf.js +0 -29
- package/build/client/_app/immutable/chunks/VM9VFXVf.js.br +0 -0
- package/build/client/_app/immutable/chunks/VM9VFXVf.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ZlqhsWmy2.js +0 -1
- package/build/client/_app/immutable/chunks/ZlqhsWmy2.js.br +0 -0
- package/build/client/_app/immutable/chunks/ZlqhsWmy2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/crlu8Z2C.js +0 -1
- package/build/client/_app/immutable/chunks/crlu8Z2C.js.br +0 -0
- package/build/client/_app/immutable/chunks/crlu8Z2C.js.gz +0 -0
- package/build/client/_app/immutable/chunks/eDJluXL12.js +0 -1
- package/build/client/_app/immutable/chunks/eDJluXL12.js.br +0 -0
- package/build/client/_app/immutable/chunks/eDJluXL12.js.gz +0 -0
- package/build/client/_app/immutable/chunks/feA6onbQ.js +0 -1
- package/build/client/_app/immutable/chunks/feA6onbQ.js.br +0 -0
- package/build/client/_app/immutable/chunks/feA6onbQ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/qNhZewE-2.js +0 -1
- package/build/client/_app/immutable/chunks/qNhZewE-2.js.br +0 -0
- package/build/client/_app/immutable/chunks/qNhZewE-2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/reDLQItd2.js +0 -1
- package/build/client/_app/immutable/chunks/reDLQItd2.js.br +0 -0
- package/build/client/_app/immutable/chunks/reDLQItd2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/t0poqtZy.js +0 -1
- package/build/client/_app/immutable/chunks/t0poqtZy.js.br +0 -0
- package/build/client/_app/immutable/chunks/t0poqtZy.js.gz +0 -0
- package/build/client/_app/immutable/chunks/vO_Dpg1s.js +0 -1
- package/build/client/_app/immutable/chunks/vO_Dpg1s.js.br +0 -0
- package/build/client/_app/immutable/chunks/vO_Dpg1s.js.gz +0 -0
- package/build/client/_app/immutable/chunks/yMsOTyJg.js +0 -1
- package/build/client/_app/immutable/chunks/yMsOTyJg.js.br +0 -0
- package/build/client/_app/immutable/chunks/yMsOTyJg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/zg9RQRtR2.js +0 -1
- package/build/client/_app/immutable/chunks/zg9RQRtR2.js.br +0 -0
- package/build/client/_app/immutable/chunks/zg9RQRtR2.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.Dx3cht62.js +0 -2
- package/build/client/_app/immutable/entry/app.Dx3cht62.js.br +0 -0
- package/build/client/_app/immutable/entry/app.Dx3cht62.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.DNk-KwhY.js +0 -1
- package/build/client/_app/immutable/entry/start.DNk-KwhY.js.br +0 -1
- package/build/client/_app/immutable/entry/start.DNk-KwhY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.CRVhJu6z.js +0 -1
- package/build/client/_app/immutable/nodes/0.CRVhJu6z.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.CRVhJu6z.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.NaqgzmF4.js +0 -1
- package/build/client/_app/immutable/nodes/1.NaqgzmF4.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.NaqgzmF4.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.DsJfF6hb.js +0 -1
- package/build/client/_app/immutable/nodes/2.DsJfF6hb.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.DsJfF6hb.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.8gpvnUIh.js +0 -1
- package/build/client/_app/immutable/nodes/3.8gpvnUIh.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.8gpvnUIh.js.gz +0 -0
- package/build/server/chunks/0-DwlyRr6m.js +0 -32
- package/build/server/chunks/0-DwlyRr6m.js.map +0 -1
- package/build/server/chunks/1-uPnFWtBU.js +0 -9
- package/build/server/chunks/1-uPnFWtBU.js.map +0 -1
- package/build/server/chunks/2-CDje7KEY.js +0 -33
- package/build/server/chunks/2-CDje7KEY.js.map +0 -1
- package/build/server/chunks/3-CVeyH-Lj.js +0 -39
- package/build/server/chunks/3-CVeyH-Lj.js.map +0 -1
- package/build/server/chunks/_layout.svelte-CpJc98pa.js +0 -26
- package/build/server/chunks/_layout.svelte-CpJc98pa.js.map +0 -1
- package/build/server/chunks/_page.svelte-BPUGXL6F.js +0 -22
- package/build/server/chunks/_page.svelte-BPUGXL6F.js.map +0 -1
- package/build/server/chunks/_page.svelte-oztHok1I.js +0 -22
- package/build/server/chunks/_page.svelte-oztHok1I.js.map +0 -1
- package/build/server/chunks/client-BggWD1uM.js +0 -33
- package/build/server/chunks/client-BggWD1uM.js.map +0 -1
- package/build/server/chunks/dist-CkUWVfwV.js +0 -215
- package/build/server/chunks/dist-CkUWVfwV.js.map +0 -1
- package/build/server/chunks/error.svelte-DqEQ3yjh.js +0 -16
- package/build/server/chunks/error.svelte-DqEQ3yjh.js.map +0 -1
- package/build/server/chunks/hooks.server-Cyi_B_F7.js +0 -11
- package/build/server/chunks/hooks.server-Cyi_B_F7.js.map +0 -1
- package/build/server/chunks/internal-CkEvwQO3.js +0 -6289
- package/build/server/chunks/internal-CkEvwQO3.js.map +0 -1
- package/build/server/chunks/preview-api-DtH9Y0Bx.js +0 -72
- package/build/server/chunks/preview-api-DtH9Y0Bx.js.map +0 -1
- package/build/server/chunks/preview-workbench-DVP9gfpS.js +0 -10449
- package/build/server/chunks/preview-workbench-DVP9gfpS.js.map +0 -1
- package/build/server/chunks/shared-server-D7Ql2oYG.js +0 -22
- package/build/server/chunks/shared-server-D7Ql2oYG.js.map +0 -1
- package/build/server/chunks/state-Tnjttbb4.js +0 -61
- package/build/server/chunks/state-Tnjttbb4.js.map +0 -1
- package/build/server/index.js +0 -4351
- package/build/server/index.js.map +0 -1
- package/build/server/manifest.js +0 -54
- package/build/server/manifest.js.map +0 -1
- /package/build/client/_app/immutable/chunks/{BhCVJqVE.js → 2IIEA8gg.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BhCVJqVE.js.br → 2IIEA8gg.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BhCVJqVE.js.gz → 2IIEA8gg.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{mqPlFPxR.js → 4CJ0cIlV.js} +0 -0
- /package/build/client/_app/immutable/chunks/{mqPlFPxR.js.br → 4CJ0cIlV.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{mqPlFPxR.js.gz → 4CJ0cIlV.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BL_NCKwI2.js → 4G7pJPwS2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BL_NCKwI2.js.br → 4G7pJPwS2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BL_NCKwI2.js.gz → 4G7pJPwS2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BkLMKoNY2.js → 4ZHwLPI52.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BkLMKoNY2.js.br → 4ZHwLPI52.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BkLMKoNY2.js.gz → 4ZHwLPI52.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{B7d5X8Jv.js → 5eyTD99u.js} +0 -0
- /package/build/client/_app/immutable/chunks/{B7d5X8Jv.js.br → 5eyTD99u.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{B7d5X8Jv.js.gz → 5eyTD99u.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BgBKRpzI2.js → 7GGW24-e2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BgBKRpzI2.js.br → 7GGW24-e2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BgBKRpzI2.js.gz → 7GGW24-e2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BGNmpMLu2.js → 9MfHhQsQ.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BGNmpMLu2.js.br → 9MfHhQsQ.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BGNmpMLu2.js.gz → 9MfHhQsQ.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{D0KyYWAu2.js → B1RWQWA52.js} +0 -0
- /package/build/client/_app/immutable/chunks/{D0KyYWAu2.js.br → B1RWQWA52.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{D0KyYWAu2.js.gz → B1RWQWA52.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{al6yEoGk2.js → B2OO5cIa2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{al6yEoGk2.js.br → B2OO5cIa2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{al6yEoGk2.js.gz → B2OO5cIa2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{Bu0fMFVU2.js → B3gFvitq2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{Bu0fMFVU2.js.br → B3gFvitq2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{Bu0fMFVU2.js.gz → B3gFvitq2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CtbFtELx.js → B5W6OYN72.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CtbFtELx.js.br → B5W6OYN72.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CtbFtELx.js.gz → B5W6OYN72.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CN43pbfW2.js → B5eOa1yu.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CN43pbfW2.js.br → B5eOa1yu.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CN43pbfW2.js.gz → B5eOa1yu.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BscMyxSd.js → B68TUdTA.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BscMyxSd.js.br → B68TUdTA.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BscMyxSd.js.gz → B68TUdTA.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DatM-W7I.js → B6D30XZt.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DatM-W7I.js.br → B6D30XZt.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DatM-W7I.js.gz → B6D30XZt.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{oLOgC3DC2.js → B7ZEbQpA2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{oLOgC3DC2.js.br → B7ZEbQpA2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{oLOgC3DC2.js.gz → B7ZEbQpA2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{Byy9Qryb.js → BAWPOn9u.js} +0 -0
- /package/build/client/_app/immutable/chunks/{Byy9Qryb.js.br → BAWPOn9u.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{Byy9Qryb.js.gz → BAWPOn9u.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{B0ou_5Se.js → BC2Px7Mm.js} +0 -0
- /package/build/client/_app/immutable/chunks/{B0ou_5Se.js.br → BC2Px7Mm.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{B0ou_5Se.js.gz → BC2Px7Mm.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{D833yWaO.js → BC_s9l72.js} +0 -0
- /package/build/client/_app/immutable/chunks/{D833yWaO.js.br → BC_s9l72.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{D833yWaO.js.gz → BC_s9l72.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{C1KoDvsy.js → BHWKrbxM.js} +0 -0
- /package/build/client/_app/immutable/chunks/{C1KoDvsy.js.br → BHWKrbxM.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{C1KoDvsy.js.gz → BHWKrbxM.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{Czg8UZiq.js → BJitypiv.js} +0 -0
- /package/build/client/_app/immutable/chunks/{Czg8UZiq.js.br → BJitypiv.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{Czg8UZiq.js.gz → BJitypiv.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CFgee_2P.js → BMqwQI7S.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CFgee_2P.js.br → BMqwQI7S.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CFgee_2P.js.gz → BMqwQI7S.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BQcv5xdm.js → BNLmms1o.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BQcv5xdm.js.br → BNLmms1o.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BQcv5xdm.js.gz → BNLmms1o.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{B3XEOhal.js → BPjhmG05.js} +0 -0
- /package/build/client/_app/immutable/chunks/{B3XEOhal.js.br → BPjhmG05.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{B3XEOhal.js.gz → BPjhmG05.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BFdS1wfi.js → BR5RXkoi.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BFdS1wfi.js.br → BR5RXkoi.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BFdS1wfi.js.gz → BR5RXkoi.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CGxfBkob.js → BRdr0IET2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CGxfBkob.js.br → BRdr0IET2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CGxfBkob.js.gz → BRdr0IET2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DVcKhWgE.js → BSMLrYjP.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DVcKhWgE.js.br → BSMLrYjP.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DVcKhWgE.js.gz → BSMLrYjP.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CjgTURTV.js → BSWPekZh2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CjgTURTV.js.br → BSWPekZh2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CjgTURTV.js.gz → BSWPekZh2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BKCljgZm2.js → BUDT5pXO2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BKCljgZm2.js.br → BUDT5pXO2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BKCljgZm2.js.gz → BUDT5pXO2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{xBL9XAyy.js → BWXHIvNe2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{xBL9XAyy.js.br → BWXHIvNe2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{xBL9XAyy.js.gz → BWXHIvNe2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DkvAACyD.js → BXViO-2h.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DkvAACyD.js.br → BXViO-2h.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DkvAACyD.js.gz → BXViO-2h.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BVxfUfCd.js → BXeXVLqQ.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BVxfUfCd.js.br → BXeXVLqQ.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BVxfUfCd.js.gz → BXeXVLqQ.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CZZPw7K8.js → BYOwaDjH.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CZZPw7K8.js.br → BYOwaDjH.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CZZPw7K8.js.gz → BYOwaDjH.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{D3-iRebE2.js → BZCL-v6S.js} +0 -0
- /package/build/client/_app/immutable/chunks/{D3-iRebE2.js.br → BZCL-v6S.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{D3-iRebE2.js.gz → BZCL-v6S.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{2Wssvy-9.js → B_tTalzw.js} +0 -0
- /package/build/client/_app/immutable/chunks/{2Wssvy-9.js.br → B_tTalzw.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{2Wssvy-9.js.gz → B_tTalzw.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BpEG8rhX.js → BgfXC-Er.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BpEG8rhX.js.br → BgfXC-Er.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BpEG8rhX.js.gz → BgfXC-Er.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{D2XcO0sl2.js → BiJDBrnU2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{D2XcO0sl2.js.br → BiJDBrnU2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{D2XcO0sl2.js.gz → BiJDBrnU2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{C_90T7rM2.js → Bj61d0ZC2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{C_90T7rM2.js.br → Bj61d0ZC2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{C_90T7rM2.js.gz → Bj61d0ZC2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BCV9k0b5.js → BkyTk9wS.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BCV9k0b5.js.br → BkyTk9wS.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BCV9k0b5.js.gz → BkyTk9wS.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DDAla_dP.js → Bm3Qr25_2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DDAla_dP.js.br → Bm3Qr25_2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DDAla_dP.js.gz → Bm3Qr25_2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{t5xATwbY2.js → BnjxR4X6.js} +0 -0
- /package/build/client/_app/immutable/chunks/{t5xATwbY2.js.br → BnjxR4X6.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{t5xATwbY2.js.gz → BnjxR4X6.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{Bd9PumVF2.js → BnlCZFoB.js} +0 -0
- /package/build/client/_app/immutable/chunks/{Bd9PumVF2.js.br → BnlCZFoB.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{Bd9PumVF2.js.gz → BnlCZFoB.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CEJDlAqw2.js → Bqwy1Gya.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CEJDlAqw2.js.br → Bqwy1Gya.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CEJDlAqw2.js.gz → Bqwy1Gya.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BgFVqFbN2.js → BroJfC0k2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BgFVqFbN2.js.br → BroJfC0k2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BgFVqFbN2.js.gz → BroJfC0k2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BZ3amlMK2.js → BsKzXJz42.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BZ3amlMK2.js.br → BsKzXJz42.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BZ3amlMK2.js.gz → BsKzXJz42.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CxMm-WeH2.js → BsSzOQcm2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CxMm-WeH2.js.br → BsSzOQcm2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CxMm-WeH2.js.gz → BsSzOQcm2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DFTW_HYD.js → BtDbiS_P.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DFTW_HYD.js.br → BtDbiS_P.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DFTW_HYD.js.gz → BtDbiS_P.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{Dl0GnA2d.js → Bx1FflLF.js} +0 -0
- /package/build/client/_app/immutable/chunks/{Dl0GnA2d.js.br → Bx1FflLF.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{Dl0GnA2d.js.gz → Bx1FflLF.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{4_mhEcZt.js → BxMlprV5.js} +0 -0
- /package/build/client/_app/immutable/chunks/{4_mhEcZt.js.br → BxMlprV5.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{4_mhEcZt.js.gz → BxMlprV5.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{Co3rf1yW.js → ByJddavk.js} +0 -0
- /package/build/client/_app/immutable/chunks/{Co3rf1yW.js.br → ByJddavk.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{Co3rf1yW.js.gz → ByJddavk.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{3ctlP89a2.js → ByWQv1Qj2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{3ctlP89a2.js.br → ByWQv1Qj2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{3ctlP89a2.js.gz → ByWQv1Qj2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{F7HC4h1A.js → C-LZuMrd.js} +0 -0
- /package/build/client/_app/immutable/chunks/{F7HC4h1A.js.br → C-LZuMrd.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{F7HC4h1A.js.gz → C-LZuMrd.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{QdoVbMC-.js → C03EYrpw.js} +0 -0
- /package/build/client/_app/immutable/chunks/{QdoVbMC-.js.br → C03EYrpw.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{QdoVbMC-.js.gz → C03EYrpw.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{C8wIefmU2.js → C3h-C4tm.js} +0 -0
- /package/build/client/_app/immutable/chunks/{C8wIefmU2.js.br → C3h-C4tm.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{C8wIefmU2.js.gz → C3h-C4tm.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DedZnip-.js → C5qYipkI.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DedZnip-.js.br → C5qYipkI.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DedZnip-.js.gz → C5qYipkI.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DvCOCUpQ2.js → C7UOKdEL2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DvCOCUpQ2.js.br → C7UOKdEL2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DvCOCUpQ2.js.gz → C7UOKdEL2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{Bzr-2dJ7.js → C7mF5XQf.js} +0 -0
- /package/build/client/_app/immutable/chunks/{Bzr-2dJ7.js.br → C7mF5XQf.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{Bzr-2dJ7.js.gz → C7mF5XQf.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{B9eZXqgk.js → C820rvS2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{B9eZXqgk.js.br → C820rvS2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{B9eZXqgk.js.gz → C820rvS2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BSB2IawP2.js → C8pVoKbM2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BSB2IawP2.js.br → C8pVoKbM2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BSB2IawP2.js.gz → C8pVoKbM2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DGfsOCW82.js → C8r90Shi2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DGfsOCW82.js.br → C8r90Shi2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DGfsOCW82.js.gz → C8r90Shi2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DMtOOKx4.js → CAekHB0j.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DMtOOKx4.js.br → CAekHB0j.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DMtOOKx4.js.gz → CAekHB0j.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BORgs0aG.js → CBce3t8t2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BORgs0aG.js.br → CBce3t8t2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BORgs0aG.js.gz → CBce3t8t2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DBOVaUhT.js → CCn79oCD.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DBOVaUhT.js.br → CCn79oCD.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DBOVaUhT.js.gz → CCn79oCD.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DmyFLrZz2.js → CDeNXAV0.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DmyFLrZz2.js.br → CDeNXAV0.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DmyFLrZz2.js.gz → CDeNXAV0.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DW6sK2Do2.js → CDv2pdJW.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DW6sK2Do2.js.br → CDv2pdJW.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DW6sK2Do2.js.gz → CDv2pdJW.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DyXW_Q3y.js → CE9AQfxI.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DyXW_Q3y.js.br → CE9AQfxI.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DyXW_Q3y.js.gz → CE9AQfxI.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CI2bV1Jg.js → CE9ld1lL.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CI2bV1Jg.js.br → CE9ld1lL.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CI2bV1Jg.js.gz → CE9ld1lL.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DhYGJILY.js → CHQ94UKr2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DhYGJILY.js.br → CHQ94UKr2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DhYGJILY.js.gz → CHQ94UKr2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BdBghEJt.js → CJTPZ8u_.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BdBghEJt.js.br → CJTPZ8u_.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BdBghEJt.js.gz → CJTPZ8u_.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BP32vSW7.js → CLvhMVsD.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BP32vSW7.js.br → CLvhMVsD.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BP32vSW7.js.gz → CLvhMVsD.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BdD-4Rck2.js → CLwyXe_n2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BdD-4Rck2.js.br → CLwyXe_n2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BdD-4Rck2.js.gz → CLwyXe_n2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{UdGwOCzo2.js → CMLA9XwU2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{UdGwOCzo2.js.br → CMLA9XwU2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{UdGwOCzo2.js.gz → CMLA9XwU2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{aDAFD8Yf2.js → CQ2zXKGN2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{aDAFD8Yf2.js.br → CQ2zXKGN2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{aDAFD8Yf2.js.gz → CQ2zXKGN2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CJE4TFbe.js → CRGYupPL.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CJE4TFbe.js.br → CRGYupPL.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CJE4TFbe.js.gz → CRGYupPL.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DyH6P1BP2.js → CSRkHgEL2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DyH6P1BP2.js.br → CSRkHgEL2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DyH6P1BP2.js.gz → CSRkHgEL2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CH9b61nJ2.js → CUHmPFLl2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CH9b61nJ2.js.br → CUHmPFLl2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CH9b61nJ2.js.gz → CUHmPFLl2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BVkMsxjo2.js → CV2tkWYe2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BVkMsxjo2.js.br → CV2tkWYe2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BVkMsxjo2.js.gz → CV2tkWYe2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{B3lcbd5P.js → CYNrtFtB.js} +0 -0
- /package/build/client/_app/immutable/chunks/{B3lcbd5P.js.br → CYNrtFtB.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{B3lcbd5P.js.gz → CYNrtFtB.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CKKkklRb.js → CYpm1nAK.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CKKkklRb.js.br → CYpm1nAK.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CKKkklRb.js.gz → CYpm1nAK.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{-8mdTiXi2.js → CZbG8q4J.js} +0 -0
- /package/build/client/_app/immutable/chunks/{-8mdTiXi2.js.br → CZbG8q4J.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{-8mdTiXi2.js.gz → CZbG8q4J.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DNdRFo99.js → CZd0xW_V2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DNdRFo99.js.br → CZd0xW_V2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DNdRFo99.js.gz → CZd0xW_V2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{5EgkKvbh.js → C_8bwKvT.js} +0 -0
- /package/build/client/_app/immutable/chunks/{5EgkKvbh.js.br → C_8bwKvT.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{5EgkKvbh.js.gz → C_8bwKvT.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CReI3Hog2.js → CacY0gHj2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CReI3Hog2.js.br → CacY0gHj2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CReI3Hog2.js.gz → CacY0gHj2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{Chkb3FBx2.js → Cb4Vim4T2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{Chkb3FBx2.js.br → Cb4Vim4T2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{Chkb3FBx2.js.gz → Cb4Vim4T2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{2SfbDRQO.js → CcmNWLt02.js} +0 -0
- /package/build/client/_app/immutable/chunks/{2SfbDRQO.js.br → CcmNWLt02.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{2SfbDRQO.js.gz → CcmNWLt02.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CtvaSvXi.js → CewbzKMR.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CtvaSvXi.js.br → CewbzKMR.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CtvaSvXi.js.gz → CewbzKMR.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{JSdj9N3Z.js → Cfkwpbl82.js} +0 -0
- /package/build/client/_app/immutable/chunks/{JSdj9N3Z.js.br → Cfkwpbl82.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{JSdj9N3Z.js.gz → Cfkwpbl82.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DICjnkic2.js → CgoNMtux2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DICjnkic2.js.br → CgoNMtux2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DICjnkic2.js.gz → CgoNMtux2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{D38w6ntU2.js → Ci_nEsc72.js} +0 -0
- /package/build/client/_app/immutable/chunks/{D38w6ntU2.js.br → Ci_nEsc72.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{D38w6ntU2.js.gz → Ci_nEsc72.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{C1vNtggd.js → Ckw8ddFX.js} +0 -0
- /package/build/client/_app/immutable/chunks/{C1vNtggd.js.br → Ckw8ddFX.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{C1vNtggd.js.gz → Ckw8ddFX.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DJOtmjmo2.js → ClFFjSW22.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DJOtmjmo2.js.br → ClFFjSW22.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DJOtmjmo2.js.gz → ClFFjSW22.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CnYQpxnV.js → ClKdZ_lG.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CnYQpxnV.js.br → ClKdZ_lG.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CnYQpxnV.js.gz → ClKdZ_lG.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{Ccy2l-ML.js → Cluzi2Zq.js} +0 -0
- /package/build/client/_app/immutable/chunks/{Ccy2l-ML.js.br → Cluzi2Zq.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{Ccy2l-ML.js.gz → Cluzi2Zq.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{D-YaUtyB.js → CmCQp5Yx.js} +0 -0
- /package/build/client/_app/immutable/chunks/{D-YaUtyB.js.br → CmCQp5Yx.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{D-YaUtyB.js.gz → CmCQp5Yx.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{nRcjfPkk.js → Cmm7eHzH.js} +0 -0
- /package/build/client/_app/immutable/chunks/{nRcjfPkk.js.br → Cmm7eHzH.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{nRcjfPkk.js.gz → Cmm7eHzH.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BDWDCk9u.js → CnvKMtbv.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BDWDCk9u.js.br → CnvKMtbv.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BDWDCk9u.js.gz → CnvKMtbv.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{NFJ8B1pS.js → CohzipZa2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{NFJ8B1pS.js.br → CohzipZa2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{NFJ8B1pS.js.gz → CohzipZa2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DyDHG2I9.js → Cs2F2srj.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DyDHG2I9.js.br → Cs2F2srj.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DyDHG2I9.js.gz → Cs2F2srj.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{-VfZRjzr.js → CsD5j6eV.js} +0 -0
- /package/build/client/_app/immutable/chunks/{-VfZRjzr.js.br → CsD5j6eV.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{-VfZRjzr.js.gz → CsD5j6eV.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DV5lTbn8.js → CsvMBhTu.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DV5lTbn8.js.br → CsvMBhTu.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DV5lTbn8.js.gz → CsvMBhTu.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CxZIvyVE2.js → Cv5bFMCO.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CxZIvyVE2.js.br → Cv5bFMCO.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CxZIvyVE2.js.gz → Cv5bFMCO.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BgFL3ltv2.js → Cvrh5tZx2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BgFL3ltv2.js.br → Cvrh5tZx2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BgFL3ltv2.js.gz → Cvrh5tZx2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DsnduG-y2.js → CxZEssPk2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DsnduG-y2.js.br → CxZEssPk2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DsnduG-y2.js.gz → CxZEssPk2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{B4gPwaUk2.js → D-usSTwE2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{B4gPwaUk2.js.br → D-usSTwE2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{B4gPwaUk2.js.gz → D-usSTwE2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{ByK_vtMR2.js → D1A_Heim2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{ByK_vtMR2.js.br → D1A_Heim2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{ByK_vtMR2.js.gz → D1A_Heim2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{D53I7YRG2.js → D7Lr4KcI2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{D53I7YRG2.js.br → D7Lr4KcI2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{D53I7YRG2.js.gz → D7Lr4KcI2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{B7Nmbu4_.js → D7qyCx1q.js} +0 -0
- /package/build/client/_app/immutable/chunks/{B7Nmbu4_.js.br → D7qyCx1q.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{B7Nmbu4_.js.gz → D7qyCx1q.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BvF5_Psz2.js → D8IpX4py2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BvF5_Psz2.js.br → D8IpX4py2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BvF5_Psz2.js.gz → D8IpX4py2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DM8BxGyd2.js → DB4EqR-F.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DM8BxGyd2.js.br → DB4EqR-F.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DM8BxGyd2.js.gz → DB4EqR-F.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{D1yl2Dsj2.js → DCQb3MpD.js} +0 -0
- /package/build/client/_app/immutable/chunks/{D1yl2Dsj2.js.br → DCQb3MpD.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{D1yl2Dsj2.js.gz → DCQb3MpD.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{OpJK1opy.js → DDpmG2fV2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{OpJK1opy.js.br → DDpmG2fV2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{OpJK1opy.js.gz → DDpmG2fV2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{B_JXD9QY2.js → DExj1W_82.js} +0 -0
- /package/build/client/_app/immutable/chunks/{B_JXD9QY2.js.br → DExj1W_82.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{B_JXD9QY2.js.gz → DExj1W_82.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{Cd_7rxML2.js → DGHpHOYJ2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{Cd_7rxML2.js.br → DGHpHOYJ2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{Cd_7rxML2.js.gz → DGHpHOYJ2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BIFf-0Qp.js → DJMQeKeT.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BIFf-0Qp.js.br → DJMQeKeT.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BIFf-0Qp.js.gz → DJMQeKeT.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{tf_1UH0h2.js → DKpUyyne2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{tf_1UH0h2.js.br → DKpUyyne2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{tf_1UH0h2.js.gz → DKpUyyne2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{6H9MSFNX2.js → DLL8P-h_2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{6H9MSFNX2.js.br → DLL8P-h_2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{6H9MSFNX2.js.gz → DLL8P-h_2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BeLj1-Pv.js → DMoTqEGO2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BeLj1-Pv.js.br → DMoTqEGO2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BeLj1-Pv.js.gz → DMoTqEGO2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{S-6bTlil2.js → DNMTfnFr2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{S-6bTlil2.js.br → DNMTfnFr2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{S-6bTlil2.js.gz → DNMTfnFr2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DkxYMJ2T.js → DQCgrYNe.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DkxYMJ2T.js.br → DQCgrYNe.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DkxYMJ2T.js.gz → DQCgrYNe.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CBog0kM_.js → DQZ5AkYe.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CBog0kM_.js.br → DQZ5AkYe.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CBog0kM_.js.gz → DQZ5AkYe.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{5XRW-mr22.js → DQwYfKfQ2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{5XRW-mr22.js.br → DQwYfKfQ2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{5XRW-mr22.js.gz → DQwYfKfQ2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BXbfsy4k.js → DQxkIbk2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BXbfsy4k.js.br → DQxkIbk2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BXbfsy4k.js.gz → DQxkIbk2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{D2Cu550i2.js → DRFjx7u42.js} +0 -0
- /package/build/client/_app/immutable/chunks/{D2Cu550i2.js.br → DRFjx7u42.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{D2Cu550i2.js.gz → DRFjx7u42.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{dozrSB_5.js → DSNQnXHK.js} +0 -0
- /package/build/client/_app/immutable/chunks/{dozrSB_5.js.br → DSNQnXHK.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{dozrSB_5.js.gz → DSNQnXHK.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{KLgVS5AV.js → DVQuIRkW.js} +0 -0
- /package/build/client/_app/immutable/chunks/{KLgVS5AV.js.br → DVQuIRkW.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{KLgVS5AV.js.gz → DVQuIRkW.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CjRrflkm.js → DVTAwKKz.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CjRrflkm.js.br → DVTAwKKz.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CjRrflkm.js.gz → DVTAwKKz.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{4esb57xi.js → DW3nJb8Q.js} +0 -0
- /package/build/client/_app/immutable/chunks/{4esb57xi.js.br → DW3nJb8Q.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{4esb57xi.js.gz → DW3nJb8Q.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BvNtuhfp.js → DXG-b-1a.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BvNtuhfp.js.br → DXG-b-1a.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BvNtuhfp.js.gz → DXG-b-1a.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CbKUCoNf.js → DXrisJhu.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CbKUCoNf.js.br → DXrisJhu.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CbKUCoNf.js.gz → DXrisJhu.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{UCC2m7qy.js → DXw9l8Rf.js} +0 -0
- /package/build/client/_app/immutable/chunks/{UCC2m7qy.js.br → DXw9l8Rf.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{UCC2m7qy.js.gz → DXw9l8Rf.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{D_vaRe4J2.js → DcIDlBhZ.js} +0 -0
- /package/build/client/_app/immutable/chunks/{D_vaRe4J2.js.br → DcIDlBhZ.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{D_vaRe4J2.js.gz → DcIDlBhZ.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BUF3uA2S2.js → DdrHHSXu2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BUF3uA2S2.js.br → DdrHHSXu2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BUF3uA2S2.js.gz → DdrHHSXu2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DBnwnBHV2.js → DdvCle-K2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DBnwnBHV2.js.br → DdvCle-K2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DBnwnBHV2.js.gz → DdvCle-K2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{Dd12PF55.js → Df2xbC6M.js} +0 -0
- /package/build/client/_app/immutable/chunks/{Dd12PF55.js.br → Df2xbC6M.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{Dd12PF55.js.gz → Df2xbC6M.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{4OaBWnH_2.js → Dh228itO2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{4OaBWnH_2.js.br → Dh228itO2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{4OaBWnH_2.js.gz → Dh228itO2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{wogDv8__.js → DhhofPvG.js} +0 -0
- /package/build/client/_app/immutable/chunks/{wogDv8__.js.br → DhhofPvG.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{wogDv8__.js.gz → DhhofPvG.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{Ct7MxTZR.js → DhmEMT882.js} +0 -0
- /package/build/client/_app/immutable/chunks/{Ct7MxTZR.js.br → DhmEMT882.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{Ct7MxTZR.js.gz → DhmEMT882.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BBouyR2x.js → Dixweg8N.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BBouyR2x.js.br → Dixweg8N.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BBouyR2x.js.gz → Dixweg8N.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DkBTooz6.js → Dlh5hvp9.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DkBTooz6.js.br → Dlh5hvp9.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DkBTooz6.js.gz → Dlh5hvp9.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CsJoK6wB2.js → DluEY0Gj.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CsJoK6wB2.js.br → DluEY0Gj.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CsJoK6wB2.js.gz → DluEY0Gj.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{D8j5haiB2.js → DnToyrRv2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{D8j5haiB2.js.br → DnToyrRv2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{D8j5haiB2.js.gz → DnToyrRv2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{INjl9ZfU2.js → DqKBuwfJ2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{INjl9ZfU2.js.br → DqKBuwfJ2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{INjl9ZfU2.js.gz → DqKBuwfJ2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BEltDD_K2.js → DsUTQ-LC.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BEltDD_K2.js.br → DsUTQ-LC.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BEltDD_K2.js.gz → DsUTQ-LC.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{lvk7mIUq.js → DswuEJGm2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{lvk7mIUq.js.br → DswuEJGm2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{lvk7mIUq.js.gz → DswuEJGm2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BdQfErtb2.js → DvXPmvsu2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BdQfErtb2.js.br → DvXPmvsu2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BdQfErtb2.js.gz → DvXPmvsu2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BZ8kX2d4.js → Dx-8-gkx.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BZ8kX2d4.js.br → Dx-8-gkx.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BZ8kX2d4.js.gz → Dx-8-gkx.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CTpAOmck.js → EUqPIrTm.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CTpAOmck.js.br → EUqPIrTm.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CTpAOmck.js.gz → EUqPIrTm.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DaKOMCp12.js → Fe1Jh2GI.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DaKOMCp12.js.br → Fe1Jh2GI.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DaKOMCp12.js.gz → Fe1Jh2GI.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{D-rfOUd0.js → IvuFDN5E2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{D-rfOUd0.js.br → IvuFDN5E2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{D-rfOUd0.js.gz → IvuFDN5E2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CsfS6pda.js → IyjqRm3v.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CsfS6pda.js.br → IyjqRm3v.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CsfS6pda.js.gz → IyjqRm3v.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DTLnU7HM.js → MrdJrrXF.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DTLnU7HM.js.br → MrdJrrXF.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DTLnU7HM.js.gz → MrdJrrXF.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{s4AVyfbM2.js → O90oeIOV2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{s4AVyfbM2.js.br → O90oeIOV2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{s4AVyfbM2.js.gz → O90oeIOV2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CzhEhuP3.js → U0d_L8uA.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CzhEhuP3.js.br → U0d_L8uA.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CzhEhuP3.js.gz → U0d_L8uA.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{D2BwOx4U.js → VUp2lXgN.js} +0 -0
- /package/build/client/_app/immutable/chunks/{D2BwOx4U.js.br → VUp2lXgN.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{D2BwOx4U.js.gz → VUp2lXgN.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{zGtE263X2.js → VbXTXTou.js} +0 -0
- /package/build/client/_app/immutable/chunks/{zGtE263X2.js.br → VbXTXTou.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{zGtE263X2.js.gz → VbXTXTou.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{oN8iJYEr.js → _5a1GRtc.js} +0 -0
- /package/build/client/_app/immutable/chunks/{oN8iJYEr.js.br → _5a1GRtc.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{oN8iJYEr.js.gz → _5a1GRtc.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{B_ZTvFi3.js → _X_XdTYD.js} +0 -0
- /package/build/client/_app/immutable/chunks/{B_ZTvFi3.js.br → _X_XdTYD.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{B_ZTvFi3.js.gz → _X_XdTYD.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{UwuAWCre2.js → bTVj8UrX2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{UwuAWCre2.js.br → bTVj8UrX2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{UwuAWCre2.js.gz → bTVj8UrX2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BCYN_hsI.js → eJ-hLW7d2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BCYN_hsI.js.br → eJ-hLW7d2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BCYN_hsI.js.gz → eJ-hLW7d2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{C1OfwJ8c2.js → fwtXNY1n2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{C1OfwJ8c2.js.br → fwtXNY1n2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{C1OfwJ8c2.js.gz → fwtXNY1n2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DInTdaZ72.js → gzcpVVnB2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DInTdaZ72.js.br → gzcpVVnB2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DInTdaZ72.js.gz → gzcpVVnB2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BjxLcgem2.js → iXnhIJG7.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BjxLcgem2.js.br → iXnhIJG7.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BjxLcgem2.js.gz → iXnhIJG7.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DIB7hu9p2.js → ilITqXS62.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DIB7hu9p2.js.br → ilITqXS62.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DIB7hu9p2.js.gz → ilITqXS62.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{QHql1XIE2.js → nFMaYfgc2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{QHql1XIE2.js.br → nFMaYfgc2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{QHql1XIE2.js.gz → nFMaYfgc2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BHpy4jAv2.js → oM2G3aXe2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BHpy4jAv2.js.br → oM2G3aXe2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BHpy4jAv2.js.gz → oM2G3aXe2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CEuVoMNO2.js → oeQT6MSM.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CEuVoMNO2.js.br → oeQT6MSM.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CEuVoMNO2.js.gz → oeQT6MSM.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CE1hmyb1.js → oqKa8noW.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CE1hmyb1.js.br → oqKa8noW.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CE1hmyb1.js.gz → oqKa8noW.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{ASdbxrPO2.js → ot-7Btpt2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{ASdbxrPO2.js.br → ot-7Btpt2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{ASdbxrPO2.js.gz → ot-7Btpt2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DV0wQgGX.js → qD-0Kul2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DV0wQgGX.js.br → qD-0Kul2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DV0wQgGX.js.gz → qD-0Kul2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DgQHdlj52.js → rLFTqkRN2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DgQHdlj52.js.br → rLFTqkRN2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DgQHdlj52.js.gz → rLFTqkRN2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CON0KyJh.js → sB-x3p7T.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CON0KyJh.js.br → sB-x3p7T.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CON0KyJh.js.gz → sB-x3p7T.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BOCdKr8L.js → sltzmVWM2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BOCdKr8L.js.br → sltzmVWM2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BOCdKr8L.js.gz → sltzmVWM2.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{Bo5tbelV.js → uhdI0v04.js} +0 -0
- /package/build/client/_app/immutable/chunks/{Bo5tbelV.js.br → uhdI0v04.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{Bo5tbelV.js.gz → uhdI0v04.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{jv5QnFW12.js → vGVdxbeo.js} +0 -0
- /package/build/client/_app/immutable/chunks/{jv5QnFW12.js.br → vGVdxbeo.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{jv5QnFW12.js.gz → vGVdxbeo.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{CQm5lKe5.js → woXpYk--.js} +0 -0
- /package/build/client/_app/immutable/chunks/{CQm5lKe5.js.br → woXpYk--.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{CQm5lKe5.js.gz → woXpYk--.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DEDqjojZ.js → xihTtKlq.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DEDqjojZ.js.br → xihTtKlq.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DEDqjojZ.js.gz → xihTtKlq.js.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{BbM7IDbx2.js → zf12oZj62.js} +0 -0
- /package/build/client/_app/immutable/chunks/{BbM7IDbx2.js.br → zf12oZj62.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{BbM7IDbx2.js.gz → zf12oZj62.js.gz} +0 -0
|
@@ -0,0 +1,3701 @@
|
|
|
1
|
+
import { _ as __commonJSMin, o as options, g as get_hooks, r as read_implementation, w as writable, a as readable, s as set_read_implementation } from './chunks/internal.js-JDOUzQXG.js';
|
|
2
|
+
import { n as noop, T as TRAILING_SLASH_PARAM, I as INVALIDATED_PARAM, g as get_status, t as text_encoder, o as once, b as normalize_error, d as get_relative_path, e as create_remote_key, f as parse_remote_arg, s as stringify, h as stringify$1, i as split_remote_key, j as base64_encode } from './chunks/shared.js-CMUZRVdw.js';
|
|
3
|
+
import { f as base, u as uneval, o as override, h as assets, r as reset, j as app_dir } from './chunks/internal2.js-Bkb6J7OW.js';
|
|
4
|
+
import { f as format_server_error, i as is_form_content_type, h as has_prerendered_path, a as handle_fatal_error, r as redirect_response, g as get_set_cookies, n as negotiate, m as method_not_allowed, p as parseString, s as static_error_page, b as handle_error_and_jsonify, c as get_global_name, d as create_replacer, e as serialize_uses, j as clarify_devalue_error, E as ENDPOINT_METHODS, P as PAGE_METHODS, k as get_node_type, l as escape_html, o as deserialize_binary_form } from './chunks/utils.js-BulZbGp_.js';
|
|
5
|
+
import { s as set_private_env, a as set_public_env, p as public_env } from './chunks/shared-server.js-X-h81DQm.js';
|
|
6
|
+
import { h as has_resolution_suffix, a as has_data_suffix, s as strip_resolution_suffix, b as strip_data_suffix, d as decode_pathname, c as add_data_suffix, e as add_resolution_suffix, f as find_route, n as normalize_path, g as disable_search, v as validate_layout_server_exports, i as validate_layout_exports, j as validate_page_server_exports, k as validate_page_exports, l as noop_span, r as resolve, m as hash, o as compact, p as make_trackable } from './chunks/exports.js-M407IRCT.js';
|
|
7
|
+
import { json, text, isRedirect, error } from '@sveltejs/kit';
|
|
8
|
+
import { Redirect, SvelteKitError, HttpError, ActionFailure } from '@sveltejs/kit/internal';
|
|
9
|
+
import { with_request_store, merge_tracing } from '@sveltejs/kit/internal/server';
|
|
10
|
+
|
|
11
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/utils/promise.js
|
|
12
|
+
/** @see https://github.com/microsoft/TypeScript/blob/904e7dd97dc8da1352c8e05d70829dff17c73214/src/lib/es2024.promise.d.ts */
|
|
13
|
+
/**
|
|
14
|
+
* @template T
|
|
15
|
+
* @typedef {{
|
|
16
|
+
* promise: Promise<T>;
|
|
17
|
+
* resolve: (value: T | PromiseLike<T>) => void;
|
|
18
|
+
* reject: (reason?: any) => void;
|
|
19
|
+
* }} PromiseWithResolvers<T>
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* TODO: Whenever Node >21 is minimum supported version, we can use `Promise.withResolvers` to avoid this ceremony
|
|
23
|
+
*
|
|
24
|
+
* @template T
|
|
25
|
+
* @returns {PromiseWithResolvers<T>}
|
|
26
|
+
*/
|
|
27
|
+
function with_resolvers() {
|
|
28
|
+
let resolve;
|
|
29
|
+
let reject;
|
|
30
|
+
return {
|
|
31
|
+
promise: new Promise((res, rej) => {
|
|
32
|
+
resolve = res;
|
|
33
|
+
reject = rej;
|
|
34
|
+
}),
|
|
35
|
+
resolve,
|
|
36
|
+
reject
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/constants.js
|
|
41
|
+
var NULL_BODY_STATUS = [
|
|
42
|
+
101,
|
|
43
|
+
103,
|
|
44
|
+
204,
|
|
45
|
+
205,
|
|
46
|
+
304
|
|
47
|
+
];
|
|
48
|
+
var IN_WEBCONTAINER = !!globalThis.process?.versions?.webcontainer;
|
|
49
|
+
//#endregion
|
|
50
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/utils/misc.js
|
|
51
|
+
var s = JSON.stringify;
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/endpoint.js
|
|
54
|
+
/**
|
|
55
|
+
* @param {import('@sveltejs/kit').RequestEvent} event
|
|
56
|
+
* @param {import('types').RequestState} event_state
|
|
57
|
+
* @param {import('types').SSREndpoint} mod
|
|
58
|
+
* @param {import('types').SSRState} state
|
|
59
|
+
* @returns {Promise<Response>}
|
|
60
|
+
*/
|
|
61
|
+
async function render_endpoint(event, event_state, mod, state) {
|
|
62
|
+
const method = event.request.method;
|
|
63
|
+
let handler = mod[method] || mod.fallback;
|
|
64
|
+
if (method === "HEAD" && !mod.HEAD && mod.GET) handler = mod.GET;
|
|
65
|
+
if (!handler) return method_not_allowed(mod, method);
|
|
66
|
+
const prerender = mod.prerender ?? state.prerender_default;
|
|
67
|
+
if (prerender && (mod.POST || mod.PATCH || mod.PUT || mod.DELETE)) throw new Error("Cannot prerender endpoints that have mutative methods");
|
|
68
|
+
if (state.prerendering && !state.prerendering.inside_reroute && !prerender) {
|
|
69
|
+
if (state.depth > 0) throw new Error(`${event.route.id} is not prerenderable`);
|
|
70
|
+
else return new Response(void 0, { status: 204 });
|
|
71
|
+
}
|
|
72
|
+
try {
|
|
73
|
+
const response = await with_request_store({
|
|
74
|
+
event,
|
|
75
|
+
state: event_state
|
|
76
|
+
}, () => handler(event));
|
|
77
|
+
if (!(response instanceof Response)) throw new Error(`Invalid response from route ${event.url.pathname}: handler should return a Response object`);
|
|
78
|
+
if (state.prerendering && (!state.prerendering.inside_reroute || prerender)) {
|
|
79
|
+
const cloned = new Response(response.clone().body, {
|
|
80
|
+
status: response.status,
|
|
81
|
+
statusText: response.statusText,
|
|
82
|
+
headers: new Headers(response.headers)
|
|
83
|
+
});
|
|
84
|
+
cloned.headers.set("x-sveltekit-prerender", String(prerender));
|
|
85
|
+
if (state.prerendering.inside_reroute && prerender) {
|
|
86
|
+
cloned.headers.set("x-sveltekit-routeid", encodeURI(event.route.id));
|
|
87
|
+
state.prerendering.dependencies.set(event.url.pathname, {
|
|
88
|
+
response: cloned,
|
|
89
|
+
body: null
|
|
90
|
+
});
|
|
91
|
+
} else return cloned;
|
|
92
|
+
}
|
|
93
|
+
return response;
|
|
94
|
+
} catch (e) {
|
|
95
|
+
if (e instanceof Redirect) return new Response(void 0, {
|
|
96
|
+
status: e.status,
|
|
97
|
+
headers: { location: e.location }
|
|
98
|
+
});
|
|
99
|
+
throw e;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* @param {import('@sveltejs/kit').RequestEvent} event
|
|
104
|
+
*/
|
|
105
|
+
function is_endpoint_request(event) {
|
|
106
|
+
const { method, headers } = event.request;
|
|
107
|
+
if (ENDPOINT_METHODS.includes(method) && !PAGE_METHODS.includes(method)) return true;
|
|
108
|
+
if (method === "POST" && headers.get("x-sveltekit-action") === "true") return false;
|
|
109
|
+
const accept = event.request.headers.get("accept") ?? "*/*";
|
|
110
|
+
return negotiate(accept, ["*", "text/html"]) !== "text/html";
|
|
111
|
+
}
|
|
112
|
+
//#endregion
|
|
113
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/telemetry/record_span.js
|
|
114
|
+
/** @import { RecordSpan } from 'types' */
|
|
115
|
+
/** @type {RecordSpan} */
|
|
116
|
+
async function record_span({ name, attributes, fn }) {
|
|
117
|
+
return fn(noop_span);
|
|
118
|
+
}
|
|
119
|
+
//#endregion
|
|
120
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/page/actions.js
|
|
121
|
+
/** @import { RequestEvent, ActionResult, Actions } from '@sveltejs/kit' */
|
|
122
|
+
/** @import { SSROptions, SSRNode, ServerNode, ServerHooks } from 'types' */
|
|
123
|
+
/** @param {RequestEvent} event */
|
|
124
|
+
function is_action_json_request(event) {
|
|
125
|
+
return negotiate(event.request.headers.get("accept") ?? "*/*", ["application/json", "text/html"]) === "application/json" && event.request.method === "POST";
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* @param {RequestEvent} event
|
|
129
|
+
* @param {import('types').RequestState} event_state
|
|
130
|
+
* @param {SSROptions} options
|
|
131
|
+
* @param {SSRNode['server'] | undefined} server
|
|
132
|
+
*/
|
|
133
|
+
async function handle_action_json_request(event, event_state, options, server) {
|
|
134
|
+
const actions = server?.actions;
|
|
135
|
+
if (!actions) {
|
|
136
|
+
const no_actions_error = new SvelteKitError(405, "Method Not Allowed", `POST method not allowed. No form actions exist for this page`);
|
|
137
|
+
return action_json({
|
|
138
|
+
type: "error",
|
|
139
|
+
error: await handle_error_and_jsonify(event, event_state, options, no_actions_error)
|
|
140
|
+
}, {
|
|
141
|
+
status: no_actions_error.status,
|
|
142
|
+
headers: { allow: "GET" }
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
check_named_default_separate(actions);
|
|
146
|
+
try {
|
|
147
|
+
const data = await call_action(event, event_state, actions);
|
|
148
|
+
if (data instanceof ActionFailure) return action_json({
|
|
149
|
+
type: "failure",
|
|
150
|
+
status: data.status,
|
|
151
|
+
data: stringify_action_response(data.data, event.route.id, options.hooks.transport)
|
|
152
|
+
});
|
|
153
|
+
else return action_json({
|
|
154
|
+
type: "success",
|
|
155
|
+
status: data ? 200 : 204,
|
|
156
|
+
data: stringify_action_response(data, event.route.id, options.hooks.transport)
|
|
157
|
+
});
|
|
158
|
+
} catch (e) {
|
|
159
|
+
const err = normalize_error(e);
|
|
160
|
+
if (err instanceof Redirect) return action_json_redirect(err);
|
|
161
|
+
return action_json({
|
|
162
|
+
type: "error",
|
|
163
|
+
error: await handle_error_and_jsonify(event, event_state, options, check_incorrect_fail_use(err))
|
|
164
|
+
}, { status: get_status(err) });
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* @param {HttpError | Error} error
|
|
169
|
+
*/
|
|
170
|
+
function check_incorrect_fail_use(error) {
|
|
171
|
+
return error instanceof ActionFailure ? /* @__PURE__ */ new Error("Cannot \"throw fail()\". Use \"return fail()\"") : error;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* @param {Redirect} redirect
|
|
175
|
+
*/
|
|
176
|
+
function action_json_redirect(redirect) {
|
|
177
|
+
return action_json({
|
|
178
|
+
type: "redirect",
|
|
179
|
+
status: redirect.status,
|
|
180
|
+
location: redirect.location
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* @param {ActionResult} data
|
|
185
|
+
* @param {ResponseInit} [init]
|
|
186
|
+
*/
|
|
187
|
+
function action_json(data, init) {
|
|
188
|
+
return json(data, init);
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* @param {RequestEvent} event
|
|
192
|
+
*/
|
|
193
|
+
function is_action_request(event) {
|
|
194
|
+
return event.request.method === "POST";
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* @param {RequestEvent} event
|
|
198
|
+
* @param {import('types').RequestState} event_state
|
|
199
|
+
* @param {SSRNode['server'] | undefined} server
|
|
200
|
+
* @returns {Promise<ActionResult>}
|
|
201
|
+
*/
|
|
202
|
+
async function handle_action_request(event, event_state, server) {
|
|
203
|
+
const actions = server?.actions;
|
|
204
|
+
if (!actions) {
|
|
205
|
+
event.setHeaders({ allow: "GET" });
|
|
206
|
+
return {
|
|
207
|
+
type: "error",
|
|
208
|
+
error: new SvelteKitError(405, "Method Not Allowed", `POST method not allowed. No form actions exist for this page`)
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
check_named_default_separate(actions);
|
|
212
|
+
try {
|
|
213
|
+
const data = await call_action(event, event_state, actions);
|
|
214
|
+
if (data instanceof ActionFailure) return {
|
|
215
|
+
type: "failure",
|
|
216
|
+
status: data.status,
|
|
217
|
+
data: data.data
|
|
218
|
+
};
|
|
219
|
+
else return {
|
|
220
|
+
type: "success",
|
|
221
|
+
status: 200,
|
|
222
|
+
data
|
|
223
|
+
};
|
|
224
|
+
} catch (e) {
|
|
225
|
+
const err = normalize_error(e);
|
|
226
|
+
if (err instanceof Redirect) return {
|
|
227
|
+
type: "redirect",
|
|
228
|
+
status: err.status,
|
|
229
|
+
location: err.location
|
|
230
|
+
};
|
|
231
|
+
return {
|
|
232
|
+
type: "error",
|
|
233
|
+
error: check_incorrect_fail_use(err)
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* @param {Actions} actions
|
|
239
|
+
*/
|
|
240
|
+
function check_named_default_separate(actions) {
|
|
241
|
+
if (actions.default && Object.keys(actions).length > 1) throw new Error("When using named actions, the default action cannot be used. See the docs for more info: https://svelte.dev/docs/kit/form-actions#named-actions");
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* @param {RequestEvent} event
|
|
245
|
+
* @param {import('types').RequestState} event_state
|
|
246
|
+
* @param {NonNullable<ServerNode['actions']>} actions
|
|
247
|
+
* @throws {Redirect | HttpError | SvelteKitError | Error}
|
|
248
|
+
*/
|
|
249
|
+
async function call_action(event, event_state, actions) {
|
|
250
|
+
const url = new URL(event.request.url);
|
|
251
|
+
let name = "default";
|
|
252
|
+
for (const param of url.searchParams) if (param[0].startsWith("/")) {
|
|
253
|
+
name = param[0].slice(1);
|
|
254
|
+
if (name === "default") throw new Error("Cannot use reserved action name \"default\"");
|
|
255
|
+
break;
|
|
256
|
+
}
|
|
257
|
+
const action = actions[name];
|
|
258
|
+
if (!action) throw new SvelteKitError(404, "Not Found", `No action with name '${name}' found`);
|
|
259
|
+
if (!is_form_content_type(event.request)) throw new SvelteKitError(415, "Unsupported Media Type", `Form actions expect form-encoded data — received ${event.request.headers.get("content-type")}`);
|
|
260
|
+
return record_span({
|
|
261
|
+
name: "sveltekit.form_action",
|
|
262
|
+
attributes: {
|
|
263
|
+
"http.route": event.route.id || "unknown"
|
|
264
|
+
},
|
|
265
|
+
fn: async (current) => {
|
|
266
|
+
const traced_event = merge_tracing(event, current);
|
|
267
|
+
const result = await with_request_store({
|
|
268
|
+
event: traced_event,
|
|
269
|
+
state: event_state
|
|
270
|
+
}, () => action(traced_event));
|
|
271
|
+
if (result instanceof ActionFailure) current.setAttributes({
|
|
272
|
+
"sveltekit.form_action.result.type": "failure",
|
|
273
|
+
"sveltekit.form_action.result.status": result.status
|
|
274
|
+
});
|
|
275
|
+
return result;
|
|
276
|
+
}
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Try to `devalue.uneval` the data object, and if it fails, return a proper Error with context
|
|
281
|
+
* @param {any} data
|
|
282
|
+
* @param {string} route_id
|
|
283
|
+
* @param {ServerHooks['transport']} transport
|
|
284
|
+
*/
|
|
285
|
+
function uneval_action_response(data, route_id, transport) {
|
|
286
|
+
const replacer = create_replacer(transport);
|
|
287
|
+
return try_serialize(data, (value) => uneval(value, replacer), route_id);
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Try to `devalue.stringify` the data object, and if it fails, return a proper Error with context
|
|
291
|
+
* @param {any} data
|
|
292
|
+
* @param {string} route_id
|
|
293
|
+
* @param {ServerHooks['transport']} transport
|
|
294
|
+
*/
|
|
295
|
+
function stringify_action_response(data, route_id, transport) {
|
|
296
|
+
const encoders = Object.fromEntries(Object.entries(transport).map(([key, value]) => [key, value.encode]));
|
|
297
|
+
return try_serialize(data, (value) => stringify$1(value, encoders), route_id);
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* @param {any} data
|
|
301
|
+
* @param {(data: any) => string} fn
|
|
302
|
+
* @param {string} route_id
|
|
303
|
+
*/
|
|
304
|
+
function try_serialize(data, fn, route_id) {
|
|
305
|
+
try {
|
|
306
|
+
return fn(data);
|
|
307
|
+
} catch (e) {
|
|
308
|
+
const error = e;
|
|
309
|
+
if (data instanceof Response) throw new Error(`Data returned from action inside ${route_id} is not serializable. Form actions need to return plain objects or fail(). E.g. return { success: true } or return fail(400, { message: "invalid" });`, { cause: e });
|
|
310
|
+
if ("path" in error) {
|
|
311
|
+
let message = `Data returned from action inside ${route_id} is not serializable: ${error.message}`;
|
|
312
|
+
if (error.path !== "") message += ` (data.${error.path})`;
|
|
313
|
+
throw new Error(message, { cause: e });
|
|
314
|
+
}
|
|
315
|
+
throw error;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
//#endregion
|
|
319
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/utils/streaming.js
|
|
320
|
+
/**
|
|
321
|
+
* Create an async iterator and a function to push values into it
|
|
322
|
+
* @template T
|
|
323
|
+
* @returns {{
|
|
324
|
+
* iterate: (transform?: (input: T) => T) => AsyncIterable<T>;
|
|
325
|
+
* add: (promise: Promise<T>) => void;
|
|
326
|
+
* }}
|
|
327
|
+
*/
|
|
328
|
+
function create_async_iterator() {
|
|
329
|
+
let resolved = -1;
|
|
330
|
+
let returned = -1;
|
|
331
|
+
/** @type {import('./promise.js').PromiseWithResolvers<T>[]} */
|
|
332
|
+
const deferred = [];
|
|
333
|
+
return {
|
|
334
|
+
iterate: (transform = (x) => x) => {
|
|
335
|
+
return { [Symbol.asyncIterator]() {
|
|
336
|
+
return { next: async () => {
|
|
337
|
+
const next = deferred[++returned];
|
|
338
|
+
if (!next) return {
|
|
339
|
+
value: null,
|
|
340
|
+
done: true
|
|
341
|
+
};
|
|
342
|
+
return {
|
|
343
|
+
value: transform(await next.promise),
|
|
344
|
+
done: false
|
|
345
|
+
};
|
|
346
|
+
} };
|
|
347
|
+
} };
|
|
348
|
+
},
|
|
349
|
+
add: (promise) => {
|
|
350
|
+
/** @type {import('./promise.js').PromiseWithResolvers<T>} */
|
|
351
|
+
const next = with_resolvers();
|
|
352
|
+
next.promise.catch(noop);
|
|
353
|
+
deferred.push(next);
|
|
354
|
+
promise.then((value) => {
|
|
355
|
+
deferred[++resolved].resolve(value);
|
|
356
|
+
}, (error) => {
|
|
357
|
+
deferred[++resolved].reject(error);
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
//#endregion
|
|
363
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/page/data_serializer.js
|
|
364
|
+
/**
|
|
365
|
+
* If the serialized data contains promises, `chunks` will be an
|
|
366
|
+
* async iterable containing their resolutions
|
|
367
|
+
* @param {import('@sveltejs/kit').RequestEvent} event
|
|
368
|
+
* @param {import('types').RequestState} event_state
|
|
369
|
+
* @param {import('types').SSROptions} options
|
|
370
|
+
* @returns {import('./types.js').ServerDataSerializer}
|
|
371
|
+
*/
|
|
372
|
+
function server_data_serializer(event, event_state, options) {
|
|
373
|
+
let promise_id = 1;
|
|
374
|
+
let max_nodes = -1;
|
|
375
|
+
const iterator = create_async_iterator();
|
|
376
|
+
const global = get_global_name(options);
|
|
377
|
+
/** @param {number} index */
|
|
378
|
+
function get_replacer(index) {
|
|
379
|
+
/** @param {any} thing */
|
|
380
|
+
return function replacer(thing) {
|
|
381
|
+
if (typeof thing?.then === "function") {
|
|
382
|
+
const id = promise_id++;
|
|
383
|
+
const promise = thing.then(
|
|
384
|
+
/** @param {any} data */
|
|
385
|
+
(data) => ({ data })
|
|
386
|
+
).catch(
|
|
387
|
+
/** @param {any} error */
|
|
388
|
+
async (error) => ({ error: await handle_error_and_jsonify(event, event_state, options, error) })
|
|
389
|
+
).then(
|
|
390
|
+
/**
|
|
391
|
+
* @param {{data: any; error: any}} result
|
|
392
|
+
*/
|
|
393
|
+
async ({ data, error }) => {
|
|
394
|
+
let str;
|
|
395
|
+
try {
|
|
396
|
+
str = uneval(error ? [, error] : [data], replacer);
|
|
397
|
+
} catch {
|
|
398
|
+
error = await handle_error_and_jsonify(event, event_state, options, /* @__PURE__ */ new Error(`Failed to serialize promise while rendering ${event.route.id}`));
|
|
399
|
+
str = uneval([, error], replacer);
|
|
400
|
+
}
|
|
401
|
+
return {
|
|
402
|
+
index,
|
|
403
|
+
str: `${global}.resolve(${id}, ${str.includes("app.decode") ? `(app) => ${str}` : `() => ${str}`})`
|
|
404
|
+
};
|
|
405
|
+
}
|
|
406
|
+
);
|
|
407
|
+
iterator.add(promise);
|
|
408
|
+
return `${global}.defer(${id})`;
|
|
409
|
+
} else for (const key in options.hooks.transport) {
|
|
410
|
+
const encoded = options.hooks.transport[key].encode(thing);
|
|
411
|
+
if (encoded) return `app.decode('${key}', ${uneval(encoded, replacer)})`;
|
|
412
|
+
}
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
const strings = [];
|
|
416
|
+
return {
|
|
417
|
+
set_max_nodes(i) {
|
|
418
|
+
max_nodes = i;
|
|
419
|
+
},
|
|
420
|
+
add_node(i, node) {
|
|
421
|
+
try {
|
|
422
|
+
if (!node) {
|
|
423
|
+
strings[i] = "null";
|
|
424
|
+
return;
|
|
425
|
+
}
|
|
426
|
+
/** @type {any} */
|
|
427
|
+
const payload = {
|
|
428
|
+
type: "data",
|
|
429
|
+
data: node.data,
|
|
430
|
+
uses: serialize_uses(node)
|
|
431
|
+
};
|
|
432
|
+
if (node.slash) payload.slash = node.slash;
|
|
433
|
+
strings[i] = uneval(payload, get_replacer(i));
|
|
434
|
+
} catch (e) {
|
|
435
|
+
e.path = e.path.slice(1);
|
|
436
|
+
throw new Error(clarify_devalue_error(event, e), { cause: e });
|
|
437
|
+
}
|
|
438
|
+
},
|
|
439
|
+
get_data(csp) {
|
|
440
|
+
const open = `<script${csp.script_needs_nonce ? ` nonce="${csp.nonce}"` : ""}>`;
|
|
441
|
+
const close = `<\/script>\n`;
|
|
442
|
+
return {
|
|
443
|
+
data: `[${compact(max_nodes > -1 ? strings.slice(0, max_nodes) : strings).join(",")}]`,
|
|
444
|
+
chunks: promise_id > 1 ? iterator.iterate(({ index, str }) => {
|
|
445
|
+
if (max_nodes > -1 && index >= max_nodes) return "";
|
|
446
|
+
return open + str + close;
|
|
447
|
+
}) : null
|
|
448
|
+
};
|
|
449
|
+
}
|
|
450
|
+
};
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
* If the serialized data contains promises, `chunks` will be an
|
|
454
|
+
* async iterable containing their resolutions
|
|
455
|
+
* @param {import('@sveltejs/kit').RequestEvent} event
|
|
456
|
+
* @param {import('types').RequestState} event_state
|
|
457
|
+
* @param {import('types').SSROptions} options
|
|
458
|
+
* @returns {import('./types.js').ServerDataSerializerJson}
|
|
459
|
+
*/
|
|
460
|
+
function server_data_serializer_json(event, event_state, options) {
|
|
461
|
+
let promise_id = 1;
|
|
462
|
+
const iterator = create_async_iterator();
|
|
463
|
+
const reducers = {
|
|
464
|
+
...Object.fromEntries(Object.entries(options.hooks.transport).map(([key, value]) => [key, value.encode])),
|
|
465
|
+
/** @param {any} thing */
|
|
466
|
+
Promise: (thing) => {
|
|
467
|
+
if (typeof thing?.then !== "function") return;
|
|
468
|
+
const id = promise_id++;
|
|
469
|
+
/** @type {'data' | 'error'} */
|
|
470
|
+
let key = "data";
|
|
471
|
+
const promise = thing.catch(
|
|
472
|
+
/** @param {any} e */
|
|
473
|
+
async (e) => {
|
|
474
|
+
key = "error";
|
|
475
|
+
return handle_error_and_jsonify(event, event_state, options, e);
|
|
476
|
+
}
|
|
477
|
+
).then(
|
|
478
|
+
/** @param {any} value */
|
|
479
|
+
async (value) => {
|
|
480
|
+
let str;
|
|
481
|
+
try {
|
|
482
|
+
str = stringify$1(value, reducers);
|
|
483
|
+
} catch {
|
|
484
|
+
const error = await handle_error_and_jsonify(event, event_state, options, /* @__PURE__ */ new Error(`Failed to serialize promise while rendering ${event.route.id}`));
|
|
485
|
+
key = "error";
|
|
486
|
+
str = stringify$1(error, reducers);
|
|
487
|
+
}
|
|
488
|
+
return `{"type":"chunk","id":${id},"${key}":${str}}\n`;
|
|
489
|
+
}
|
|
490
|
+
);
|
|
491
|
+
iterator.add(promise);
|
|
492
|
+
return id;
|
|
493
|
+
}
|
|
494
|
+
};
|
|
495
|
+
const strings = [];
|
|
496
|
+
return {
|
|
497
|
+
add_node(i, node) {
|
|
498
|
+
try {
|
|
499
|
+
if (!node) {
|
|
500
|
+
strings[i] = "null";
|
|
501
|
+
return;
|
|
502
|
+
}
|
|
503
|
+
if (node.type === "error" || node.type === "skip") {
|
|
504
|
+
strings[i] = JSON.stringify(node);
|
|
505
|
+
return;
|
|
506
|
+
}
|
|
507
|
+
strings[i] = `{"type":"data","data":${stringify$1(node.data, reducers)},"uses":${JSON.stringify(serialize_uses(node))}${node.slash ? `,"slash":${JSON.stringify(node.slash)}` : ""}}`;
|
|
508
|
+
} catch (e) {
|
|
509
|
+
e.path = "data" + e.path;
|
|
510
|
+
throw new Error(clarify_devalue_error(event, e), { cause: e });
|
|
511
|
+
}
|
|
512
|
+
},
|
|
513
|
+
get_data() {
|
|
514
|
+
return {
|
|
515
|
+
data: `{"type":"data","nodes":[${strings.join(",")}]}\n`,
|
|
516
|
+
chunks: promise_id > 1 ? iterator.iterate() : null
|
|
517
|
+
};
|
|
518
|
+
}
|
|
519
|
+
};
|
|
520
|
+
}
|
|
521
|
+
//#endregion
|
|
522
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/page/load_data.js
|
|
523
|
+
/**
|
|
524
|
+
* Calls the user's server `load` function.
|
|
525
|
+
* @param {{
|
|
526
|
+
* event: import('@sveltejs/kit').RequestEvent;
|
|
527
|
+
* event_state: import('types').RequestState;
|
|
528
|
+
* state: import('types').SSRState;
|
|
529
|
+
* node: import('types').SSRNode | undefined;
|
|
530
|
+
* parent: () => Promise<Record<string, any>>;
|
|
531
|
+
* }} opts
|
|
532
|
+
* @returns {Promise<import('types').ServerDataNode | null>}
|
|
533
|
+
*/
|
|
534
|
+
async function load_server_data({ event, event_state, state, node, parent }) {
|
|
535
|
+
if (!node?.server) return null;
|
|
536
|
+
let is_tracking = true;
|
|
537
|
+
const uses = {
|
|
538
|
+
dependencies: /* @__PURE__ */ new Set(),
|
|
539
|
+
params: /* @__PURE__ */ new Set(),
|
|
540
|
+
parent: false,
|
|
541
|
+
route: false,
|
|
542
|
+
url: false,
|
|
543
|
+
search_params: /* @__PURE__ */ new Set()
|
|
544
|
+
};
|
|
545
|
+
const load = node.server.load;
|
|
546
|
+
const slash = node.server.trailingSlash;
|
|
547
|
+
if (!load) return {
|
|
548
|
+
type: "data",
|
|
549
|
+
data: null,
|
|
550
|
+
uses,
|
|
551
|
+
slash
|
|
552
|
+
};
|
|
553
|
+
const url = make_trackable(event.url, () => {
|
|
554
|
+
if (is_tracking) uses.url = true;
|
|
555
|
+
}, (param) => {
|
|
556
|
+
if (is_tracking) uses.search_params.add(param);
|
|
557
|
+
});
|
|
558
|
+
if (state.prerendering) disable_search(url);
|
|
559
|
+
return {
|
|
560
|
+
type: "data",
|
|
561
|
+
data: await record_span({
|
|
562
|
+
name: "sveltekit.load",
|
|
563
|
+
attributes: {
|
|
564
|
+
"sveltekit.load.node_id": node.server_id || "unknown",
|
|
565
|
+
"sveltekit.load.node_type": get_node_type(node.server_id),
|
|
566
|
+
"http.route": event.route.id || "unknown"
|
|
567
|
+
},
|
|
568
|
+
fn: async (current) => {
|
|
569
|
+
const traced_event = merge_tracing(event, current);
|
|
570
|
+
return await with_request_store({
|
|
571
|
+
event: traced_event,
|
|
572
|
+
state: event_state
|
|
573
|
+
}, () => load.call(null, {
|
|
574
|
+
...traced_event,
|
|
575
|
+
fetch: (info, init) => {
|
|
576
|
+
new URL(info instanceof Request ? info.url : info, event.url);
|
|
577
|
+
return event.fetch(info, init);
|
|
578
|
+
},
|
|
579
|
+
/** @param {string[]} deps */
|
|
580
|
+
depends: (...deps) => {
|
|
581
|
+
for (const dep of deps) {
|
|
582
|
+
const { href } = new URL(dep, event.url);
|
|
583
|
+
uses.dependencies.add(href);
|
|
584
|
+
}
|
|
585
|
+
},
|
|
586
|
+
params: new Proxy(event.params, { get: (target, key) => {
|
|
587
|
+
if (is_tracking) uses.params.add(key);
|
|
588
|
+
return target[key];
|
|
589
|
+
} }),
|
|
590
|
+
parent: async () => {
|
|
591
|
+
if (is_tracking) uses.parent = true;
|
|
592
|
+
return parent();
|
|
593
|
+
},
|
|
594
|
+
route: new Proxy(event.route, { get: (target, key) => {
|
|
595
|
+
if (is_tracking) uses.route = true;
|
|
596
|
+
return target[key];
|
|
597
|
+
} }),
|
|
598
|
+
url,
|
|
599
|
+
untrack(fn) {
|
|
600
|
+
is_tracking = false;
|
|
601
|
+
try {
|
|
602
|
+
return fn();
|
|
603
|
+
} finally {
|
|
604
|
+
is_tracking = true;
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
}));
|
|
608
|
+
}
|
|
609
|
+
}) ?? null,
|
|
610
|
+
uses,
|
|
611
|
+
slash
|
|
612
|
+
};
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Calls the user's `load` function.
|
|
616
|
+
* @param {{
|
|
617
|
+
* event: import('@sveltejs/kit').RequestEvent;
|
|
618
|
+
* event_state: import('types').RequestState;
|
|
619
|
+
* fetched: import('./types.js').Fetched[];
|
|
620
|
+
* node: import('types').SSRNode | undefined;
|
|
621
|
+
* parent: () => Promise<Record<string, any>>;
|
|
622
|
+
* resolve_opts: import('types').RequiredResolveOptions;
|
|
623
|
+
* server_data_promise: Promise<import('types').ServerDataNode | null>;
|
|
624
|
+
* state: import('types').SSRState;
|
|
625
|
+
* csr: boolean;
|
|
626
|
+
* }} opts
|
|
627
|
+
* @returns {Promise<Record<string, any | Promise<any>> | null>}
|
|
628
|
+
*/
|
|
629
|
+
async function load_data({ event, event_state, fetched, node, parent, server_data_promise, state, resolve_opts, csr }) {
|
|
630
|
+
const server_data_node = await server_data_promise;
|
|
631
|
+
const load = node?.universal?.load;
|
|
632
|
+
if (!load) return server_data_node?.data ?? null;
|
|
633
|
+
return await record_span({
|
|
634
|
+
name: "sveltekit.load",
|
|
635
|
+
attributes: {
|
|
636
|
+
"sveltekit.load.node_id": node.universal_id || "unknown",
|
|
637
|
+
"sveltekit.load.node_type": get_node_type(node.universal_id),
|
|
638
|
+
"http.route": event.route.id || "unknown"
|
|
639
|
+
},
|
|
640
|
+
fn: async (current) => {
|
|
641
|
+
const traced_event = merge_tracing(event, current);
|
|
642
|
+
const child_state = {
|
|
643
|
+
...event_state,
|
|
644
|
+
is_in_universal_load: true
|
|
645
|
+
};
|
|
646
|
+
return await with_request_store({
|
|
647
|
+
event: traced_event,
|
|
648
|
+
state: child_state
|
|
649
|
+
}, () => load.call(null, {
|
|
650
|
+
url: event.url,
|
|
651
|
+
params: event.params,
|
|
652
|
+
data: server_data_node?.data ?? null,
|
|
653
|
+
route: event.route,
|
|
654
|
+
fetch: create_universal_fetch(event, state, fetched, csr, resolve_opts),
|
|
655
|
+
setHeaders: event.setHeaders,
|
|
656
|
+
depends: noop,
|
|
657
|
+
parent,
|
|
658
|
+
untrack: (fn) => fn(),
|
|
659
|
+
tracing: traced_event.tracing
|
|
660
|
+
}));
|
|
661
|
+
}
|
|
662
|
+
}) ?? null;
|
|
663
|
+
}
|
|
664
|
+
/**
|
|
665
|
+
* @param {Pick<import('@sveltejs/kit').RequestEvent, 'fetch' | 'url' | 'request' | 'route'>} event
|
|
666
|
+
* @param {import('types').SSRState} state
|
|
667
|
+
* @param {import('./types.js').Fetched[]} fetched
|
|
668
|
+
* @param {boolean} csr
|
|
669
|
+
* @param {Pick<Required<import('@sveltejs/kit').ResolveOptions>, 'filterSerializedResponseHeaders'>} resolve_opts
|
|
670
|
+
* @returns {typeof fetch}
|
|
671
|
+
*/
|
|
672
|
+
function create_universal_fetch(event, state, fetched, csr, resolve_opts) {
|
|
673
|
+
/**
|
|
674
|
+
* @param {URL | RequestInfo} input
|
|
675
|
+
* @param {RequestInit} [init]
|
|
676
|
+
*/
|
|
677
|
+
const universal_fetch = async (input, init) => {
|
|
678
|
+
const cloned_body = input instanceof Request && input.body ? input.clone().body : null;
|
|
679
|
+
const cloned_headers = input instanceof Request && [...input.headers].length ? new Headers(input.headers) : init?.headers;
|
|
680
|
+
let response = await event.fetch(input, init);
|
|
681
|
+
const url = new URL(input instanceof Request ? input.url : input, event.url);
|
|
682
|
+
const same_origin = url.origin === event.url.origin;
|
|
683
|
+
/** @type {import('types').PrerenderDependency} */
|
|
684
|
+
let dependency;
|
|
685
|
+
if (same_origin) {
|
|
686
|
+
if (state.prerendering) {
|
|
687
|
+
dependency = {
|
|
688
|
+
response,
|
|
689
|
+
body: null
|
|
690
|
+
};
|
|
691
|
+
state.prerendering.dependencies.set(url.pathname, dependency);
|
|
692
|
+
}
|
|
693
|
+
} else if (url.protocol === "https:" || url.protocol === "http:") {
|
|
694
|
+
if ((input instanceof Request ? input.mode : init?.mode ?? "cors") === "no-cors") response = new Response("", {
|
|
695
|
+
status: response.status,
|
|
696
|
+
statusText: response.statusText,
|
|
697
|
+
headers: response.headers
|
|
698
|
+
});
|
|
699
|
+
else {
|
|
700
|
+
const acao = response.headers.get("access-control-allow-origin");
|
|
701
|
+
if (!acao || acao !== event.url.origin && acao !== "*") throw new Error(`CORS error: ${acao ? "Incorrect" : "No"} 'Access-Control-Allow-Origin' header is present on the requested resource`);
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
/** @type {ReadableStream<Uint8Array>} */
|
|
705
|
+
let teed_body;
|
|
706
|
+
const proxy = new Proxy(response, { get(response, key, receiver) {
|
|
707
|
+
/**
|
|
708
|
+
* @param {string | undefined} body
|
|
709
|
+
* @param {boolean} is_b64
|
|
710
|
+
*/
|
|
711
|
+
async function push_fetched(body, is_b64) {
|
|
712
|
+
const status_number = Number(response.status);
|
|
713
|
+
if (isNaN(status_number)) throw new Error(`response.status is not a number. value: "${response.status}" type: ${typeof response.status}`);
|
|
714
|
+
fetched.push({
|
|
715
|
+
url: same_origin ? url.href.slice(event.url.origin.length) : url.href,
|
|
716
|
+
method: event.request.method,
|
|
717
|
+
request_body: input instanceof Request && cloned_body ? await stream_to_string(cloned_body) : init?.body,
|
|
718
|
+
request_headers: cloned_headers,
|
|
719
|
+
response_body: body,
|
|
720
|
+
response,
|
|
721
|
+
is_b64
|
|
722
|
+
});
|
|
723
|
+
}
|
|
724
|
+
if (key === "body") {
|
|
725
|
+
if (response.body === null) return null;
|
|
726
|
+
if (teed_body) return teed_body;
|
|
727
|
+
const [a, b] = response.body.tee();
|
|
728
|
+
(async () => {
|
|
729
|
+
let result = /* @__PURE__ */ new Uint8Array();
|
|
730
|
+
for await (const chunk of a) {
|
|
731
|
+
const combined = new Uint8Array(result.length + chunk.length);
|
|
732
|
+
combined.set(result, 0);
|
|
733
|
+
combined.set(chunk, result.length);
|
|
734
|
+
result = combined;
|
|
735
|
+
}
|
|
736
|
+
if (dependency) dependency.body = new Uint8Array(result);
|
|
737
|
+
push_fetched(base64_encode(result), true);
|
|
738
|
+
})().catch(noop);
|
|
739
|
+
return teed_body = b;
|
|
740
|
+
}
|
|
741
|
+
if (key === "arrayBuffer") return async () => {
|
|
742
|
+
const buffer = await response.arrayBuffer();
|
|
743
|
+
const bytes = new Uint8Array(buffer);
|
|
744
|
+
if (dependency) dependency.body = bytes;
|
|
745
|
+
if (buffer instanceof ArrayBuffer) await push_fetched(base64_encode(bytes), true);
|
|
746
|
+
return buffer;
|
|
747
|
+
};
|
|
748
|
+
async function text() {
|
|
749
|
+
const body = await response.text();
|
|
750
|
+
if (body === "" && NULL_BODY_STATUS.includes(response.status)) {
|
|
751
|
+
await push_fetched(void 0, false);
|
|
752
|
+
return;
|
|
753
|
+
}
|
|
754
|
+
if (!body || typeof body === "string") await push_fetched(body, false);
|
|
755
|
+
if (dependency) dependency.body = body;
|
|
756
|
+
return body;
|
|
757
|
+
}
|
|
758
|
+
if (key === "text") return text;
|
|
759
|
+
if (key === "json") return async () => {
|
|
760
|
+
const body = await text();
|
|
761
|
+
return body ? JSON.parse(body) : void 0;
|
|
762
|
+
};
|
|
763
|
+
const value = Reflect.get(response, key, response);
|
|
764
|
+
if (value instanceof Function) return Object.defineProperties(
|
|
765
|
+
/**
|
|
766
|
+
* @this {any}
|
|
767
|
+
*/
|
|
768
|
+
function() {
|
|
769
|
+
return Reflect.apply(value, this === receiver ? response : this, arguments);
|
|
770
|
+
},
|
|
771
|
+
{
|
|
772
|
+
name: { value: value.name },
|
|
773
|
+
length: { value: value.length }
|
|
774
|
+
}
|
|
775
|
+
);
|
|
776
|
+
return value;
|
|
777
|
+
} });
|
|
778
|
+
if (csr) {
|
|
779
|
+
const get = response.headers.get;
|
|
780
|
+
response.headers.get = (key) => {
|
|
781
|
+
const lower = key.toLowerCase();
|
|
782
|
+
const value = get.call(response.headers, lower);
|
|
783
|
+
if (value && !lower.startsWith("x-sveltekit-")) {
|
|
784
|
+
if (!resolve_opts.filterSerializedResponseHeaders(lower, value)) throw new Error(`Failed to get response header "${lower}" — it must be included by the \`filterSerializedResponseHeaders\` option: https://svelte.dev/docs/kit/hooks#handle (at ${event.route.id})`);
|
|
785
|
+
}
|
|
786
|
+
return value;
|
|
787
|
+
};
|
|
788
|
+
}
|
|
789
|
+
return proxy;
|
|
790
|
+
};
|
|
791
|
+
return (input, init) => {
|
|
792
|
+
const response = universal_fetch(input, init);
|
|
793
|
+
response.catch(noop);
|
|
794
|
+
return response;
|
|
795
|
+
};
|
|
796
|
+
}
|
|
797
|
+
/**
|
|
798
|
+
* @param {ReadableStream<Uint8Array>} stream
|
|
799
|
+
*/
|
|
800
|
+
async function stream_to_string(stream) {
|
|
801
|
+
let result = "";
|
|
802
|
+
const reader = stream.getReader();
|
|
803
|
+
const decoder = new TextDecoder();
|
|
804
|
+
while (true) {
|
|
805
|
+
const { done, value } = await reader.read();
|
|
806
|
+
if (done) {
|
|
807
|
+
result += decoder.decode();
|
|
808
|
+
break;
|
|
809
|
+
}
|
|
810
|
+
result += decoder.decode(value, { stream: true });
|
|
811
|
+
}
|
|
812
|
+
return result;
|
|
813
|
+
}
|
|
814
|
+
//#endregion
|
|
815
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/page/serialize_data.js
|
|
816
|
+
/**
|
|
817
|
+
* Inside a script element, only `<\/script` and `<!--` hold special meaning to the HTML parser.
|
|
818
|
+
*
|
|
819
|
+
* The first closes the script element, so everything after is treated as raw HTML.
|
|
820
|
+
* The second disables further parsing until `-->`, so the script element might be unexpectedly
|
|
821
|
+
* kept open up until an unrelated HTML comment in the page.
|
|
822
|
+
*
|
|
823
|
+
* U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR are escaped for the sake of pre-2018
|
|
824
|
+
* browsers.
|
|
825
|
+
*
|
|
826
|
+
* @see tests for unsafe parsing examples.
|
|
827
|
+
* @see https://html.spec.whatwg.org/multipage/scripting.html#restrictions-for-contents-of-script-elements
|
|
828
|
+
* @see https://html.spec.whatwg.org/multipage/syntax.html#cdata-rcdata-restrictions
|
|
829
|
+
* @see https://html.spec.whatwg.org/multipage/parsing.html#script-data-state
|
|
830
|
+
* @see https://html.spec.whatwg.org/multipage/parsing.html#script-data-double-escaped-state
|
|
831
|
+
* @see https://github.com/tc39/proposal-json-superset
|
|
832
|
+
* @type {Record<string, string>}
|
|
833
|
+
*/
|
|
834
|
+
var replacements = {
|
|
835
|
+
"<": "\\u003C",
|
|
836
|
+
"\u2028": "\\u2028",
|
|
837
|
+
"\u2029": "\\u2029"
|
|
838
|
+
};
|
|
839
|
+
var pattern = new RegExp(`[${Object.keys(replacements).join("")}]`, "g");
|
|
840
|
+
/**
|
|
841
|
+
* Generates a raw HTML string containing a safe script element carrying data and associated attributes.
|
|
842
|
+
*
|
|
843
|
+
* It escapes all the special characters needed to guarantee the element is unbroken, but care must
|
|
844
|
+
* be taken to ensure it is inserted in the document at an acceptable position for a script element,
|
|
845
|
+
* and that the resulting string isn't further modified.
|
|
846
|
+
*
|
|
847
|
+
* @param {import('./types.js').Fetched} fetched
|
|
848
|
+
* @param {(name: string, value: string) => boolean} filter
|
|
849
|
+
* @param {boolean} [prerendering]
|
|
850
|
+
* @returns {string} The raw HTML of a script element carrying the JSON payload.
|
|
851
|
+
* @example const html = serialize_data('/data.json', null, { foo: 'bar' });
|
|
852
|
+
*/
|
|
853
|
+
function serialize_data(fetched, filter, prerendering = false) {
|
|
854
|
+
/** @type {Record<string, string>} */
|
|
855
|
+
const headers = {};
|
|
856
|
+
let cache_control = null;
|
|
857
|
+
let age = null;
|
|
858
|
+
let varyAny = false;
|
|
859
|
+
for (const [key, value] of fetched.response.headers) {
|
|
860
|
+
if (filter(key, value)) headers[key] = value;
|
|
861
|
+
if (key === "cache-control") cache_control = value;
|
|
862
|
+
else if (key === "age") age = value;
|
|
863
|
+
else if (key === "vary" && value.trim() === "*") varyAny = true;
|
|
864
|
+
}
|
|
865
|
+
const payload = {
|
|
866
|
+
status: fetched.response.status,
|
|
867
|
+
statusText: fetched.response.statusText,
|
|
868
|
+
headers,
|
|
869
|
+
body: fetched.response_body
|
|
870
|
+
};
|
|
871
|
+
const safe_payload = JSON.stringify(payload).replace(pattern, (match) => replacements[match]);
|
|
872
|
+
const attrs = [
|
|
873
|
+
"type=\"application/json\"",
|
|
874
|
+
"data-sveltekit-fetched",
|
|
875
|
+
`data-url="${escape_html(fetched.url, true)}"`
|
|
876
|
+
];
|
|
877
|
+
if (fetched.is_b64) attrs.push("data-b64");
|
|
878
|
+
if (fetched.request_headers || fetched.request_body) {
|
|
879
|
+
/** @type {import('types').StrictBody[]} */
|
|
880
|
+
const values = [];
|
|
881
|
+
if (fetched.request_headers) values.push([...new Headers(fetched.request_headers)].join(","));
|
|
882
|
+
if (fetched.request_body) values.push(fetched.request_body);
|
|
883
|
+
attrs.push(`data-hash="${hash(...values)}"`);
|
|
884
|
+
}
|
|
885
|
+
if (!prerendering && fetched.method === "GET" && cache_control && !varyAny) {
|
|
886
|
+
const match = /s-maxage=(\d+)/g.exec(cache_control) ?? /max-age=(\d+)/g.exec(cache_control);
|
|
887
|
+
if (match) {
|
|
888
|
+
const ttl = +match[1] - +(age ?? "0");
|
|
889
|
+
attrs.push(`data-ttl="${ttl}"`);
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
return `<script ${attrs.join(" ")}>${safe_payload}<\/script>`;
|
|
893
|
+
}
|
|
894
|
+
//#endregion
|
|
895
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/page/crypto.js
|
|
896
|
+
/**
|
|
897
|
+
* SHA-256 hashing function adapted from https://bitwiseshiftleft.github.io/sjcl
|
|
898
|
+
* modified and redistributed under BSD license
|
|
899
|
+
* @param {string} data
|
|
900
|
+
*/
|
|
901
|
+
function sha256(data) {
|
|
902
|
+
if (!key[0]) precompute();
|
|
903
|
+
const out = init.slice(0);
|
|
904
|
+
const array = encode(data);
|
|
905
|
+
for (let i = 0; i < array.length; i += 16) {
|
|
906
|
+
const w = array.subarray(i, i + 16);
|
|
907
|
+
let tmp;
|
|
908
|
+
let a;
|
|
909
|
+
let b;
|
|
910
|
+
let out0 = out[0];
|
|
911
|
+
let out1 = out[1];
|
|
912
|
+
let out2 = out[2];
|
|
913
|
+
let out3 = out[3];
|
|
914
|
+
let out4 = out[4];
|
|
915
|
+
let out5 = out[5];
|
|
916
|
+
let out6 = out[6];
|
|
917
|
+
let out7 = out[7];
|
|
918
|
+
for (let i = 0; i < 64; i++) {
|
|
919
|
+
if (i < 16) tmp = w[i];
|
|
920
|
+
else {
|
|
921
|
+
a = w[i + 1 & 15];
|
|
922
|
+
b = w[i + 14 & 15];
|
|
923
|
+
tmp = w[i & 15] = (a >>> 7 ^ a >>> 18 ^ a >>> 3 ^ a << 25 ^ a << 14) + (b >>> 17 ^ b >>> 19 ^ b >>> 10 ^ b << 15 ^ b << 13) + w[i & 15] + w[i + 9 & 15] | 0;
|
|
924
|
+
}
|
|
925
|
+
tmp = tmp + out7 + (out4 >>> 6 ^ out4 >>> 11 ^ out4 >>> 25 ^ out4 << 26 ^ out4 << 21 ^ out4 << 7) + (out6 ^ out4 & (out5 ^ out6)) + key[i];
|
|
926
|
+
out7 = out6;
|
|
927
|
+
out6 = out5;
|
|
928
|
+
out5 = out4;
|
|
929
|
+
out4 = out3 + tmp | 0;
|
|
930
|
+
out3 = out2;
|
|
931
|
+
out2 = out1;
|
|
932
|
+
out1 = out0;
|
|
933
|
+
out0 = tmp + (out1 & out2 ^ out3 & (out1 ^ out2)) + (out1 >>> 2 ^ out1 >>> 13 ^ out1 >>> 22 ^ out1 << 30 ^ out1 << 19 ^ out1 << 10) | 0;
|
|
934
|
+
}
|
|
935
|
+
out[0] = out[0] + out0 | 0;
|
|
936
|
+
out[1] = out[1] + out1 | 0;
|
|
937
|
+
out[2] = out[2] + out2 | 0;
|
|
938
|
+
out[3] = out[3] + out3 | 0;
|
|
939
|
+
out[4] = out[4] + out4 | 0;
|
|
940
|
+
out[5] = out[5] + out5 | 0;
|
|
941
|
+
out[6] = out[6] + out6 | 0;
|
|
942
|
+
out[7] = out[7] + out7 | 0;
|
|
943
|
+
}
|
|
944
|
+
const bytes = new Uint8Array(out.buffer);
|
|
945
|
+
reverse_endianness(bytes);
|
|
946
|
+
return btoa(String.fromCharCode(...bytes));
|
|
947
|
+
}
|
|
948
|
+
/** The SHA-256 initialization vector */
|
|
949
|
+
var init = /* @__PURE__ */ new Uint32Array(8);
|
|
950
|
+
/** The SHA-256 hash key */
|
|
951
|
+
var key = /* @__PURE__ */ new Uint32Array(64);
|
|
952
|
+
/** Function to precompute init and key. */
|
|
953
|
+
function precompute() {
|
|
954
|
+
/** @param {number} x */
|
|
955
|
+
function frac(x) {
|
|
956
|
+
return (x - Math.floor(x)) * 4294967296;
|
|
957
|
+
}
|
|
958
|
+
let prime = 2;
|
|
959
|
+
for (let i = 0; i < 64; prime++) {
|
|
960
|
+
let is_prime = true;
|
|
961
|
+
for (let factor = 2; factor * factor <= prime; factor++) if (prime % factor === 0) {
|
|
962
|
+
is_prime = false;
|
|
963
|
+
break;
|
|
964
|
+
}
|
|
965
|
+
if (is_prime) {
|
|
966
|
+
if (i < 8) init[i] = frac(prime ** (1 / 2));
|
|
967
|
+
key[i] = frac(prime ** (1 / 3));
|
|
968
|
+
i++;
|
|
969
|
+
}
|
|
970
|
+
}
|
|
971
|
+
}
|
|
972
|
+
/** @param {Uint8Array} bytes */
|
|
973
|
+
function reverse_endianness(bytes) {
|
|
974
|
+
for (let i = 0; i < bytes.length; i += 4) {
|
|
975
|
+
const a = bytes[i + 0];
|
|
976
|
+
const b = bytes[i + 1];
|
|
977
|
+
const c = bytes[i + 2];
|
|
978
|
+
const d = bytes[i + 3];
|
|
979
|
+
bytes[i + 0] = d;
|
|
980
|
+
bytes[i + 1] = c;
|
|
981
|
+
bytes[i + 2] = b;
|
|
982
|
+
bytes[i + 3] = a;
|
|
983
|
+
}
|
|
984
|
+
}
|
|
985
|
+
/** @param {string} str */
|
|
986
|
+
function encode(str) {
|
|
987
|
+
const encoded = text_encoder.encode(str);
|
|
988
|
+
const length = encoded.length * 8;
|
|
989
|
+
const size = 512 * Math.ceil((length + 65) / 512);
|
|
990
|
+
const bytes = new Uint8Array(size / 8);
|
|
991
|
+
bytes.set(encoded);
|
|
992
|
+
bytes[encoded.length] = 128;
|
|
993
|
+
reverse_endianness(bytes);
|
|
994
|
+
const words = new Uint32Array(bytes.buffer);
|
|
995
|
+
words[words.length - 2] = Math.floor(length / 4294967296);
|
|
996
|
+
words[words.length - 1] = length;
|
|
997
|
+
return words;
|
|
998
|
+
}
|
|
999
|
+
//#endregion
|
|
1000
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/page/csp.js
|
|
1001
|
+
var array = /* @__PURE__ */ new Uint8Array(16);
|
|
1002
|
+
function generate_nonce() {
|
|
1003
|
+
crypto.getRandomValues(array);
|
|
1004
|
+
return btoa(String.fromCharCode(...array));
|
|
1005
|
+
}
|
|
1006
|
+
var quoted = /* @__PURE__ */ new Set([
|
|
1007
|
+
"self",
|
|
1008
|
+
"unsafe-eval",
|
|
1009
|
+
"unsafe-hashes",
|
|
1010
|
+
"unsafe-inline",
|
|
1011
|
+
"none",
|
|
1012
|
+
"strict-dynamic",
|
|
1013
|
+
"report-sample",
|
|
1014
|
+
"wasm-unsafe-eval",
|
|
1015
|
+
"script"
|
|
1016
|
+
]);
|
|
1017
|
+
var crypto_pattern = /^(nonce|sha\d\d\d)-/;
|
|
1018
|
+
var BaseProvider = class {
|
|
1019
|
+
/** @type {boolean} */
|
|
1020
|
+
#use_hashes;
|
|
1021
|
+
/** @type {boolean} */
|
|
1022
|
+
#script_needs_csp;
|
|
1023
|
+
/** @type {boolean} */
|
|
1024
|
+
#script_src_needs_csp;
|
|
1025
|
+
/** @type {boolean} */
|
|
1026
|
+
#script_src_elem_needs_csp;
|
|
1027
|
+
/** @type {boolean} */
|
|
1028
|
+
#style_needs_csp;
|
|
1029
|
+
/** @type {boolean} */
|
|
1030
|
+
#style_src_needs_csp;
|
|
1031
|
+
/** @type {boolean} */
|
|
1032
|
+
#style_src_attr_needs_csp;
|
|
1033
|
+
/** @type {boolean} */
|
|
1034
|
+
#style_src_elem_needs_csp;
|
|
1035
|
+
/** @type {import('types').CspDirectives} */
|
|
1036
|
+
#directives;
|
|
1037
|
+
/** @type {Set<import('types').Csp.Source>} */
|
|
1038
|
+
#script_src;
|
|
1039
|
+
/** @type {Set<import('types').Csp.Source>} */
|
|
1040
|
+
#script_src_elem;
|
|
1041
|
+
/** @type {Set<import('types').Csp.Source>} */
|
|
1042
|
+
#style_src;
|
|
1043
|
+
/** @type {Set<import('types').Csp.Source>} */
|
|
1044
|
+
#style_src_attr;
|
|
1045
|
+
/** @type {Set<import('types').Csp.Source>} */
|
|
1046
|
+
#style_src_elem;
|
|
1047
|
+
/** @type {boolean} */
|
|
1048
|
+
script_needs_nonce;
|
|
1049
|
+
/** @type {boolean} */
|
|
1050
|
+
style_needs_nonce;
|
|
1051
|
+
/** @type {boolean} */
|
|
1052
|
+
script_needs_hash;
|
|
1053
|
+
/** @type {string} */
|
|
1054
|
+
#nonce;
|
|
1055
|
+
/**
|
|
1056
|
+
* @param {boolean} use_hashes
|
|
1057
|
+
* @param {import('types').CspDirectives} directives
|
|
1058
|
+
* @param {string} nonce
|
|
1059
|
+
*/
|
|
1060
|
+
constructor(use_hashes, directives, nonce) {
|
|
1061
|
+
this.#use_hashes = use_hashes;
|
|
1062
|
+
this.#directives = directives;
|
|
1063
|
+
const d = this.#directives;
|
|
1064
|
+
this.#script_src = /* @__PURE__ */ new Set();
|
|
1065
|
+
this.#script_src_elem = /* @__PURE__ */ new Set();
|
|
1066
|
+
this.#style_src = /* @__PURE__ */ new Set();
|
|
1067
|
+
this.#style_src_attr = /* @__PURE__ */ new Set();
|
|
1068
|
+
this.#style_src_elem = /* @__PURE__ */ new Set();
|
|
1069
|
+
const effective_script_src = d["script-src"] || d["default-src"];
|
|
1070
|
+
const script_src_elem = d["script-src-elem"];
|
|
1071
|
+
const effective_style_src = d["style-src"] || d["default-src"];
|
|
1072
|
+
const style_src_attr = d["style-src-attr"];
|
|
1073
|
+
const style_src_elem = d["style-src-elem"];
|
|
1074
|
+
/** @param {(import('types').Csp.Source | import('types').Csp.ActionSource)[] | undefined} directive */
|
|
1075
|
+
const style_needs_csp = (directive) => !!directive && !directive.some((value) => value === "unsafe-inline");
|
|
1076
|
+
/** @param {(import('types').Csp.Source | import('types').Csp.ActionSource)[] | undefined} directive */
|
|
1077
|
+
const script_needs_csp = (directive) => !!directive && (!directive.some((value) => value === "unsafe-inline") || directive.some((value) => value === "strict-dynamic"));
|
|
1078
|
+
this.#script_src_needs_csp = script_needs_csp(effective_script_src);
|
|
1079
|
+
this.#script_src_elem_needs_csp = script_needs_csp(script_src_elem);
|
|
1080
|
+
this.#style_src_needs_csp = style_needs_csp(effective_style_src);
|
|
1081
|
+
this.#style_src_attr_needs_csp = style_needs_csp(style_src_attr);
|
|
1082
|
+
this.#style_src_elem_needs_csp = style_needs_csp(style_src_elem);
|
|
1083
|
+
this.#script_needs_csp = this.#script_src_needs_csp || this.#script_src_elem_needs_csp;
|
|
1084
|
+
this.#style_needs_csp = this.#style_src_needs_csp || this.#style_src_attr_needs_csp || this.#style_src_elem_needs_csp;
|
|
1085
|
+
this.script_needs_nonce = this.#script_needs_csp && !this.#use_hashes;
|
|
1086
|
+
this.style_needs_nonce = this.#style_needs_csp && !this.#use_hashes;
|
|
1087
|
+
this.script_needs_hash = this.#script_needs_csp && this.#use_hashes;
|
|
1088
|
+
this.#nonce = nonce;
|
|
1089
|
+
}
|
|
1090
|
+
/** @param {string} content */
|
|
1091
|
+
add_script(content) {
|
|
1092
|
+
if (!this.#script_needs_csp) return;
|
|
1093
|
+
/** @type {`nonce-${string}` | `sha256-${string}`} */
|
|
1094
|
+
const source = this.#use_hashes ? `sha256-${sha256(content)}` : `nonce-${this.#nonce}`;
|
|
1095
|
+
if (this.#script_src_needs_csp) this.#script_src.add(source);
|
|
1096
|
+
if (this.#script_src_elem_needs_csp) this.#script_src_elem.add(source);
|
|
1097
|
+
}
|
|
1098
|
+
/** @param {`sha256-${string}`[]} hashes */
|
|
1099
|
+
add_script_hashes(hashes) {
|
|
1100
|
+
for (const hash of hashes) {
|
|
1101
|
+
if (this.#script_src_needs_csp) this.#script_src.add(hash);
|
|
1102
|
+
if (this.#script_src_elem_needs_csp) this.#script_src_elem.add(hash);
|
|
1103
|
+
}
|
|
1104
|
+
}
|
|
1105
|
+
/** @param {string} content */
|
|
1106
|
+
add_style(content) {
|
|
1107
|
+
if (!this.#style_needs_csp) return;
|
|
1108
|
+
/** @type {`nonce-${string}` | `sha256-${string}`} */
|
|
1109
|
+
const source = this.#use_hashes ? `sha256-${sha256(content)}` : `nonce-${this.#nonce}`;
|
|
1110
|
+
if (this.#style_src_needs_csp) this.#style_src.add(source);
|
|
1111
|
+
if (this.#style_src_attr_needs_csp) this.#style_src_attr.add(source);
|
|
1112
|
+
if (this.#style_src_elem_needs_csp) {
|
|
1113
|
+
const sha256_empty_comment_hash = "sha256-9OlNO0DNEeaVzHL4RZwCLsBHA8WBQ8toBp/4F5XV2nc=";
|
|
1114
|
+
const d = this.#directives;
|
|
1115
|
+
if (d["style-src-elem"] && !d["style-src-elem"].includes(sha256_empty_comment_hash) && !this.#style_src_elem.has(sha256_empty_comment_hash)) this.#style_src_elem.add(sha256_empty_comment_hash);
|
|
1116
|
+
if (source !== sha256_empty_comment_hash) this.#style_src_elem.add(source);
|
|
1117
|
+
}
|
|
1118
|
+
}
|
|
1119
|
+
/**
|
|
1120
|
+
* @param {boolean} [is_meta]
|
|
1121
|
+
*/
|
|
1122
|
+
get_header(is_meta = false) {
|
|
1123
|
+
const header = [];
|
|
1124
|
+
const directives = { ...this.#directives };
|
|
1125
|
+
if (this.#style_src.size > 0) directives["style-src"] = [...directives["style-src"] || directives["default-src"] || [], ...this.#style_src];
|
|
1126
|
+
if (this.#style_src_attr.size > 0) directives["style-src-attr"] = [...directives["style-src-attr"] || [], ...this.#style_src_attr];
|
|
1127
|
+
if (this.#style_src_elem.size > 0) directives["style-src-elem"] = [...directives["style-src-elem"] || [], ...this.#style_src_elem];
|
|
1128
|
+
if (this.#script_src.size > 0) directives["script-src"] = [...directives["script-src"] || directives["default-src"] || [], ...this.#script_src];
|
|
1129
|
+
if (this.#script_src_elem.size > 0) directives["script-src-elem"] = [...directives["script-src-elem"] || [], ...this.#script_src_elem];
|
|
1130
|
+
for (const key in directives) {
|
|
1131
|
+
if (is_meta && (key === "frame-ancestors" || key === "report-uri" || key === "sandbox")) continue;
|
|
1132
|
+
const value = directives[key];
|
|
1133
|
+
if (!value) continue;
|
|
1134
|
+
const directive = [key];
|
|
1135
|
+
if (Array.isArray(value)) value.forEach((value) => {
|
|
1136
|
+
if (quoted.has(value) || crypto_pattern.test(value)) directive.push(`'${value}'`);
|
|
1137
|
+
else directive.push(value);
|
|
1138
|
+
});
|
|
1139
|
+
header.push(directive.join(" "));
|
|
1140
|
+
}
|
|
1141
|
+
return header.join("; ");
|
|
1142
|
+
}
|
|
1143
|
+
};
|
|
1144
|
+
var CspProvider = class extends BaseProvider {
|
|
1145
|
+
get_meta() {
|
|
1146
|
+
const content = this.get_header(true);
|
|
1147
|
+
if (!content) return;
|
|
1148
|
+
return `<meta http-equiv="content-security-policy" content="${escape_html(content, true)}">`;
|
|
1149
|
+
}
|
|
1150
|
+
};
|
|
1151
|
+
var CspReportOnlyProvider = class extends BaseProvider {
|
|
1152
|
+
/**
|
|
1153
|
+
* @param {boolean} use_hashes
|
|
1154
|
+
* @param {import('types').CspDirectives} directives
|
|
1155
|
+
* @param {string} nonce
|
|
1156
|
+
*/
|
|
1157
|
+
constructor(use_hashes, directives, nonce) {
|
|
1158
|
+
super(use_hashes, directives, nonce);
|
|
1159
|
+
if (Object.values(directives).filter((v) => !!v).length > 0) {
|
|
1160
|
+
const has_report_to = directives["report-to"]?.length ?? false;
|
|
1161
|
+
const has_report_uri = directives["report-uri"]?.length ?? false;
|
|
1162
|
+
if (!has_report_to && !has_report_uri) throw Error("`content-security-policy-report-only` must be specified with either the `report-to` or `report-uri` directives, or both");
|
|
1163
|
+
}
|
|
1164
|
+
}
|
|
1165
|
+
};
|
|
1166
|
+
var Csp = class {
|
|
1167
|
+
/** @readonly */
|
|
1168
|
+
nonce = generate_nonce();
|
|
1169
|
+
/** @type {CspProvider} */
|
|
1170
|
+
csp_provider;
|
|
1171
|
+
/** @type {CspReportOnlyProvider} */
|
|
1172
|
+
report_only_provider;
|
|
1173
|
+
/**
|
|
1174
|
+
* @param {import('./types.js').CspConfig} config
|
|
1175
|
+
* @param {import('./types.js').CspOpts} opts
|
|
1176
|
+
*/
|
|
1177
|
+
constructor({ mode, directives, reportOnly }, { prerender }) {
|
|
1178
|
+
const use_hashes = mode === "hash" || mode === "auto" && prerender;
|
|
1179
|
+
this.csp_provider = new CspProvider(use_hashes, directives, this.nonce);
|
|
1180
|
+
this.report_only_provider = new CspReportOnlyProvider(use_hashes, reportOnly, this.nonce);
|
|
1181
|
+
}
|
|
1182
|
+
get script_needs_hash() {
|
|
1183
|
+
return this.csp_provider.script_needs_hash || this.report_only_provider.script_needs_hash;
|
|
1184
|
+
}
|
|
1185
|
+
get script_needs_nonce() {
|
|
1186
|
+
return this.csp_provider.script_needs_nonce || this.report_only_provider.script_needs_nonce;
|
|
1187
|
+
}
|
|
1188
|
+
get style_needs_nonce() {
|
|
1189
|
+
return this.csp_provider.style_needs_nonce || this.report_only_provider.style_needs_nonce;
|
|
1190
|
+
}
|
|
1191
|
+
/** @param {string} content */
|
|
1192
|
+
add_script(content) {
|
|
1193
|
+
this.csp_provider.add_script(content);
|
|
1194
|
+
this.report_only_provider.add_script(content);
|
|
1195
|
+
}
|
|
1196
|
+
/** @param {`sha256-${string}`[]} hashes */
|
|
1197
|
+
add_script_hashes(hashes) {
|
|
1198
|
+
this.csp_provider.add_script_hashes(hashes);
|
|
1199
|
+
this.report_only_provider.add_script_hashes(hashes);
|
|
1200
|
+
}
|
|
1201
|
+
/** @param {string} content */
|
|
1202
|
+
add_style(content) {
|
|
1203
|
+
this.csp_provider.add_style(content);
|
|
1204
|
+
this.report_only_provider.add_style(content);
|
|
1205
|
+
}
|
|
1206
|
+
};
|
|
1207
|
+
//#endregion
|
|
1208
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/page/server_routing.js
|
|
1209
|
+
/** @import { SSRManifest } from '@sveltejs/kit' */
|
|
1210
|
+
/**
|
|
1211
|
+
* @param {import('types').SSRClientRoute} route
|
|
1212
|
+
* @param {URL} url
|
|
1213
|
+
* @param {NonNullable<SSRManifest['_']['client']>} client
|
|
1214
|
+
* @returns {string}
|
|
1215
|
+
*/
|
|
1216
|
+
function generate_route_object(route, url, client) {
|
|
1217
|
+
const { errors, layouts, leaf } = route;
|
|
1218
|
+
const nodes = [
|
|
1219
|
+
...errors,
|
|
1220
|
+
...layouts.map((l) => l?.[1]),
|
|
1221
|
+
leaf[1]
|
|
1222
|
+
].filter((n) => typeof n === "number").map((n) => `'${n}': () => ${create_client_import(client.nodes?.[n], url)}`).join(",\n ");
|
|
1223
|
+
/** @type {import('types').CSRRouteServer} */
|
|
1224
|
+
return [
|
|
1225
|
+
`{\n\tid: ${s(route.id)}`,
|
|
1226
|
+
`errors: ${s(route.errors)}`,
|
|
1227
|
+
`layouts: ${s(route.layouts)}`,
|
|
1228
|
+
`leaf: ${s(route.leaf)}`,
|
|
1229
|
+
`nodes: {\n\t\t${nodes}\n\t}\n}`
|
|
1230
|
+
].join(",\n ");
|
|
1231
|
+
}
|
|
1232
|
+
/**
|
|
1233
|
+
* @param {string | undefined} import_path
|
|
1234
|
+
* @param {URL} url
|
|
1235
|
+
*/
|
|
1236
|
+
function create_client_import(import_path, url) {
|
|
1237
|
+
if (!import_path) return "Promise.resolve({})";
|
|
1238
|
+
if (import_path[0] === "/") return `import('${import_path}')`;
|
|
1239
|
+
if (assets !== "") return `import('${assets}/${import_path}')`;
|
|
1240
|
+
let path = get_relative_path(url.pathname, `${base}/${import_path}`);
|
|
1241
|
+
if (path[0] !== ".") path = `./${path}`;
|
|
1242
|
+
return `import('${path}')`;
|
|
1243
|
+
}
|
|
1244
|
+
/**
|
|
1245
|
+
* @param {string} resolved_path
|
|
1246
|
+
* @param {URL} url
|
|
1247
|
+
* @param {SSRManifest} manifest
|
|
1248
|
+
* @returns {Promise<Response>}
|
|
1249
|
+
*/
|
|
1250
|
+
async function resolve_route(resolved_path, url, manifest) {
|
|
1251
|
+
if (!manifest._.client?.routes) return text("Server-side route resolution disabled", { status: 400 });
|
|
1252
|
+
const matchers = await manifest._.matchers();
|
|
1253
|
+
const result = find_route(resolved_path, manifest._.client.routes, matchers);
|
|
1254
|
+
return create_server_routing_response(result?.route ?? null, result?.params ?? {}, url, manifest._.client).response;
|
|
1255
|
+
}
|
|
1256
|
+
/**
|
|
1257
|
+
* @param {import('types').SSRClientRoute | null} route
|
|
1258
|
+
* @param {Partial<Record<string, string>>} params
|
|
1259
|
+
* @param {URL} url
|
|
1260
|
+
* @param {NonNullable<SSRManifest['_']['client']>} client
|
|
1261
|
+
* @returns {{response: Response, body: string}}
|
|
1262
|
+
*/
|
|
1263
|
+
function create_server_routing_response(route, params, url, client) {
|
|
1264
|
+
const headers = new Headers({ "content-type": "application/javascript; charset=utf-8" });
|
|
1265
|
+
if (route) {
|
|
1266
|
+
const csr_route = generate_route_object(route, url, client);
|
|
1267
|
+
const body = `${create_css_import(route, url, client)}\nexport const route = ${csr_route}; export const params = ${JSON.stringify(params)};`;
|
|
1268
|
+
return {
|
|
1269
|
+
response: text(body, { headers }),
|
|
1270
|
+
body
|
|
1271
|
+
};
|
|
1272
|
+
} else return {
|
|
1273
|
+
response: text("", { headers }),
|
|
1274
|
+
body: ""
|
|
1275
|
+
};
|
|
1276
|
+
}
|
|
1277
|
+
/**
|
|
1278
|
+
* This function generates the client-side import for the CSS files that are
|
|
1279
|
+
* associated with the current route. Vite takes care of that when using
|
|
1280
|
+
* client-side route resolution, but for server-side resolution it does
|
|
1281
|
+
* not know about the CSS files automatically.
|
|
1282
|
+
*
|
|
1283
|
+
* @param {import('types').SSRClientRoute} route
|
|
1284
|
+
* @param {URL} url
|
|
1285
|
+
* @param {NonNullable<SSRManifest['_']['client']>} client
|
|
1286
|
+
* @returns {string}
|
|
1287
|
+
*/
|
|
1288
|
+
function create_css_import(route, url, client) {
|
|
1289
|
+
const { errors, layouts, leaf } = route;
|
|
1290
|
+
let css = "";
|
|
1291
|
+
for (const node of [
|
|
1292
|
+
...errors,
|
|
1293
|
+
...layouts.map((l) => l?.[1]),
|
|
1294
|
+
leaf[1]
|
|
1295
|
+
]) {
|
|
1296
|
+
if (typeof node !== "number") continue;
|
|
1297
|
+
const node_css = client.css?.[node];
|
|
1298
|
+
for (const css_path of node_css ?? []) css += `'${assets || base}/${css_path}',`;
|
|
1299
|
+
}
|
|
1300
|
+
if (!css) return "";
|
|
1301
|
+
return `${create_client_import(client.start, url)}.then(x => x.load_css([${css}]));`;
|
|
1302
|
+
}
|
|
1303
|
+
//#endregion
|
|
1304
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/remote.js
|
|
1305
|
+
/** @import { ActionResult, RemoteForm, RequestEvent, SSRManifest } from '@sveltejs/kit' */
|
|
1306
|
+
/** @import { RemoteFormInternals, RemoteFunctionData, RemoteFunctionResponse, RemoteInternals, RequestState, SSROptions } from 'types' */
|
|
1307
|
+
/** @type {typeof handle_remote_call_internal} */
|
|
1308
|
+
async function handle_remote_call(event, state, options, manifest, id) {
|
|
1309
|
+
return record_span({
|
|
1310
|
+
name: "sveltekit.remote.call",
|
|
1311
|
+
attributes: { },
|
|
1312
|
+
fn: (current) => {
|
|
1313
|
+
const traced_event = merge_tracing(event, current);
|
|
1314
|
+
return with_request_store({
|
|
1315
|
+
event: traced_event,
|
|
1316
|
+
state
|
|
1317
|
+
}, () => handle_remote_call_internal(traced_event, state, options, manifest, id));
|
|
1318
|
+
}
|
|
1319
|
+
});
|
|
1320
|
+
}
|
|
1321
|
+
/**
|
|
1322
|
+
* @param {RequestEvent} event
|
|
1323
|
+
* @param {RequestState} state
|
|
1324
|
+
* @param {SSROptions} options
|
|
1325
|
+
* @param {SSRManifest} manifest
|
|
1326
|
+
* @param {string} id
|
|
1327
|
+
*/
|
|
1328
|
+
async function handle_remote_call_internal(event, state, options, manifest, id) {
|
|
1329
|
+
const [hash, name, additional_args] = id.split("/");
|
|
1330
|
+
const remotes = manifest._.remotes;
|
|
1331
|
+
if (!remotes[hash]) error(404);
|
|
1332
|
+
const fn = (await remotes[hash]()).default[name];
|
|
1333
|
+
if (!fn) error(404);
|
|
1334
|
+
/** @type {RemoteInternals} */
|
|
1335
|
+
const internals = fn.__;
|
|
1336
|
+
const transport = options.hooks.transport;
|
|
1337
|
+
event.tracing.current.setAttributes({
|
|
1338
|
+
"sveltekit.remote.call.type": internals.type,
|
|
1339
|
+
"sveltekit.remote.call.name": internals.name
|
|
1340
|
+
});
|
|
1341
|
+
/** @type {HeadersInit | undefined} */
|
|
1342
|
+
const headers = state.prerendering ? void 0 : { "cache-control": "private, no-store" };
|
|
1343
|
+
try {
|
|
1344
|
+
/** @type {RemoteFunctionData} */
|
|
1345
|
+
const data = {};
|
|
1346
|
+
switch (internals.type) {
|
|
1347
|
+
case "query_live": {
|
|
1348
|
+
if (event.request.method !== "GET") throw new SvelteKitError(405, "Method Not Allowed", `\`query.live\` functions must be invoked via GET request, not ${event.request.method}`);
|
|
1349
|
+
const payload = new URL(event.request.url).searchParams.get("payload");
|
|
1350
|
+
const generator = internals.run(event, state, parse_remote_arg(payload, transport));
|
|
1351
|
+
const encoder = new TextEncoder();
|
|
1352
|
+
/**
|
|
1353
|
+
* @param {ReadableStreamDefaultController} controller
|
|
1354
|
+
* @param {any} payload
|
|
1355
|
+
*/
|
|
1356
|
+
function send(controller, payload) {
|
|
1357
|
+
controller.enqueue(encoder.encode("data: " + JSON.stringify(payload) + "\n\n"));
|
|
1358
|
+
}
|
|
1359
|
+
let closed = false;
|
|
1360
|
+
/** @type {string | undefined} */
|
|
1361
|
+
let result = void 0;
|
|
1362
|
+
async function cancel() {
|
|
1363
|
+
if (closed) return;
|
|
1364
|
+
closed = true;
|
|
1365
|
+
await generator.return(void 0);
|
|
1366
|
+
}
|
|
1367
|
+
event.request.signal.addEventListener("abort", cancel, { once: true });
|
|
1368
|
+
return new Response(new ReadableStream({
|
|
1369
|
+
async pull(controller) {
|
|
1370
|
+
if (event.request.signal.aborted) {
|
|
1371
|
+
await cancel();
|
|
1372
|
+
controller.close();
|
|
1373
|
+
return;
|
|
1374
|
+
}
|
|
1375
|
+
try {
|
|
1376
|
+
while (true) {
|
|
1377
|
+
const { value, done } = await generator.next();
|
|
1378
|
+
if (done) {
|
|
1379
|
+
await cancel();
|
|
1380
|
+
controller.close();
|
|
1381
|
+
return;
|
|
1382
|
+
}
|
|
1383
|
+
if (result !== (result = stringify(value, transport))) {
|
|
1384
|
+
send(controller, {
|
|
1385
|
+
type: "result",
|
|
1386
|
+
result
|
|
1387
|
+
});
|
|
1388
|
+
return;
|
|
1389
|
+
}
|
|
1390
|
+
}
|
|
1391
|
+
} catch (error) {
|
|
1392
|
+
if (!event.request.signal.aborted) {
|
|
1393
|
+
if (error instanceof Redirect) send(controller, {
|
|
1394
|
+
type: "redirect",
|
|
1395
|
+
location: error.location
|
|
1396
|
+
});
|
|
1397
|
+
else {
|
|
1398
|
+
const status = error instanceof HttpError || error instanceof SvelteKitError ? error.status : 500;
|
|
1399
|
+
send(controller, {
|
|
1400
|
+
type: "error",
|
|
1401
|
+
error: await handle_error_and_jsonify(event, state, options, error),
|
|
1402
|
+
status
|
|
1403
|
+
});
|
|
1404
|
+
}
|
|
1405
|
+
}
|
|
1406
|
+
await cancel();
|
|
1407
|
+
controller.close();
|
|
1408
|
+
}
|
|
1409
|
+
},
|
|
1410
|
+
cancel
|
|
1411
|
+
}), { headers: {
|
|
1412
|
+
"cache-control": "private, no-store",
|
|
1413
|
+
"content-type": "text/event-stream"
|
|
1414
|
+
} });
|
|
1415
|
+
}
|
|
1416
|
+
case "query_batch": {
|
|
1417
|
+
if (event.request.method !== "POST") throw new SvelteKitError(405, "Method Not Allowed", `\`query.batch\` functions must be invoked via POST request, not ${event.request.method}`);
|
|
1418
|
+
/** @type {{ payloads: string[] }} */
|
|
1419
|
+
const { payloads } = await event.request.json();
|
|
1420
|
+
const args = await Promise.all(payloads.map((payload) => parse_remote_arg(payload, transport)));
|
|
1421
|
+
data._ = await with_request_store({
|
|
1422
|
+
event,
|
|
1423
|
+
state
|
|
1424
|
+
}, () => internals.run(args, options));
|
|
1425
|
+
break;
|
|
1426
|
+
}
|
|
1427
|
+
case "form": {
|
|
1428
|
+
if (event.request.method !== "POST") throw new SvelteKitError(405, "Method Not Allowed", `\`form\` functions must be invoked via POST request, not ${event.request.method}`);
|
|
1429
|
+
if (!is_form_content_type(event.request)) throw new SvelteKitError(415, "Unsupported Media Type", `\`form\` functions expect form-encoded data — received ${event.request.headers.get("content-type")}`);
|
|
1430
|
+
const { data: input, meta, form_data } = await deserialize_binary_form(event.request);
|
|
1431
|
+
state.remote.requested = create_requested_map(meta.remote_refreshes);
|
|
1432
|
+
if (additional_args && !("id" in input)) input.id = JSON.parse(decodeURIComponent(additional_args));
|
|
1433
|
+
const fn = internals.fn;
|
|
1434
|
+
data._ = await with_request_store({
|
|
1435
|
+
event,
|
|
1436
|
+
state: {
|
|
1437
|
+
...state,
|
|
1438
|
+
is_in_remote_form_or_command: true
|
|
1439
|
+
}
|
|
1440
|
+
}, () => fn(input, meta, form_data));
|
|
1441
|
+
if (data._.issues) return json({
|
|
1442
|
+
type: "result",
|
|
1443
|
+
data: stringify(data, transport)
|
|
1444
|
+
}, { headers });
|
|
1445
|
+
break;
|
|
1446
|
+
}
|
|
1447
|
+
case "command": {
|
|
1448
|
+
/** @type {{ payload: string, refreshes?: string[] }} */
|
|
1449
|
+
const { payload, refreshes } = await event.request.json();
|
|
1450
|
+
state.remote.requested = create_requested_map(refreshes);
|
|
1451
|
+
const arg = parse_remote_arg(payload, transport);
|
|
1452
|
+
data._ = await with_request_store({
|
|
1453
|
+
event,
|
|
1454
|
+
state: {
|
|
1455
|
+
...state,
|
|
1456
|
+
is_in_remote_form_or_command: true
|
|
1457
|
+
}
|
|
1458
|
+
}, () => fn(arg));
|
|
1459
|
+
break;
|
|
1460
|
+
}
|
|
1461
|
+
case "prerender":
|
|
1462
|
+
data._ = await with_request_store({
|
|
1463
|
+
event,
|
|
1464
|
+
state
|
|
1465
|
+
}, () => fn(parse_remote_arg(additional_args, transport)));
|
|
1466
|
+
break;
|
|
1467
|
+
case "query": {
|
|
1468
|
+
const payload = new URL(event.request.url).searchParams.get("payload");
|
|
1469
|
+
data._ = await with_request_store({
|
|
1470
|
+
event,
|
|
1471
|
+
state
|
|
1472
|
+
}, () => fn(parse_remote_arg(payload, transport)));
|
|
1473
|
+
break;
|
|
1474
|
+
}
|
|
1475
|
+
}
|
|
1476
|
+
await collect_remote_data(data, event, state, options);
|
|
1477
|
+
return json({
|
|
1478
|
+
type: "result",
|
|
1479
|
+
data: stringify(data, transport)
|
|
1480
|
+
}, { headers });
|
|
1481
|
+
} catch (error) {
|
|
1482
|
+
if (error instanceof Redirect) {
|
|
1483
|
+
const data = await collect_remote_data({ redirect: error.location }, event, state, options);
|
|
1484
|
+
return json({
|
|
1485
|
+
type: "result",
|
|
1486
|
+
data: stringify(data, transport)
|
|
1487
|
+
}, { headers });
|
|
1488
|
+
}
|
|
1489
|
+
const status = error instanceof HttpError || error instanceof SvelteKitError ? error.status : 500;
|
|
1490
|
+
return json({
|
|
1491
|
+
type: "error",
|
|
1492
|
+
error: await handle_error_and_jsonify(event, state, options, error),
|
|
1493
|
+
status
|
|
1494
|
+
}, {
|
|
1495
|
+
status: state.prerendering ? status : void 0,
|
|
1496
|
+
headers: { "cache-control": "private, no-store" }
|
|
1497
|
+
});
|
|
1498
|
+
}
|
|
1499
|
+
}
|
|
1500
|
+
/**
|
|
1501
|
+
* Collects all the query/prerender data that was retrieved
|
|
1502
|
+
* during the request and adds it to `data`
|
|
1503
|
+
* @param {RemoteFunctionData} data
|
|
1504
|
+
* @param {RequestEvent} event
|
|
1505
|
+
* @param {RequestState} state
|
|
1506
|
+
* @param {SSROptions} options
|
|
1507
|
+
*/
|
|
1508
|
+
async function collect_remote_data(data, event, state, options) {
|
|
1509
|
+
/**
|
|
1510
|
+
*
|
|
1511
|
+
* @param {unknown} error
|
|
1512
|
+
* @returns {Promise<[status: number, error: App.Error]>}
|
|
1513
|
+
*/
|
|
1514
|
+
async function convert_error(error) {
|
|
1515
|
+
return [error instanceof HttpError || error instanceof SvelteKitError ? error.status : 500, await handle_error_and_jsonify(event, state, options, error)];
|
|
1516
|
+
}
|
|
1517
|
+
/** @type {Promise<any>[]} */
|
|
1518
|
+
const promises = [];
|
|
1519
|
+
if (state.remote.explicit) for (const [remote_key, { internals, promise }] of state.remote.explicit) {
|
|
1520
|
+
data.r = true;
|
|
1521
|
+
const type = internals.type === "query_live" ? "l" : internals.type[0];
|
|
1522
|
+
await promise.then((v) => {
|
|
1523
|
+
((data[type] ??= {})[remote_key] ??= {}).v = v;
|
|
1524
|
+
}, async (e) => {
|
|
1525
|
+
if (e instanceof Redirect) return;
|
|
1526
|
+
((data[type] ??= {})[remote_key] ??= {}).e = await convert_error(e);
|
|
1527
|
+
});
|
|
1528
|
+
}
|
|
1529
|
+
await Promise.all(promises);
|
|
1530
|
+
if (state.remote.implicit) for (const [internals, record] of state.remote.implicit) {
|
|
1531
|
+
if (!internals.id) continue;
|
|
1532
|
+
for (const key in record) {
|
|
1533
|
+
const remote_key = internals.type === "form" ? key : create_remote_key(internals.id, key);
|
|
1534
|
+
const type = internals.type === "query_live" ? "l" : internals.type[0];
|
|
1535
|
+
const promise = state.remote.data?.get(internals)?.[key] ?? record[key]();
|
|
1536
|
+
let resolved = true;
|
|
1537
|
+
await Promise.race([Promise.resolve(promise).then((v) => {
|
|
1538
|
+
if (resolved) ((data[type] ??= {})[remote_key] ??= {}).v = v;
|
|
1539
|
+
}, (e) => {
|
|
1540
|
+
if (e instanceof Redirect) return;
|
|
1541
|
+
if (resolved) promises.push(convert_error(e).then((e) => {
|
|
1542
|
+
((data[type] ??= {})[remote_key] ??= {}).e = e;
|
|
1543
|
+
}));
|
|
1544
|
+
}), Promise.resolve().then(() => resolved = false)]);
|
|
1545
|
+
}
|
|
1546
|
+
}
|
|
1547
|
+
await Promise.all(promises);
|
|
1548
|
+
return data;
|
|
1549
|
+
}
|
|
1550
|
+
/**
|
|
1551
|
+
* @param {string[] | undefined} refreshes
|
|
1552
|
+
*/
|
|
1553
|
+
function create_requested_map(refreshes) {
|
|
1554
|
+
/** @type {Map<string, string[]>} */
|
|
1555
|
+
const requested = /* @__PURE__ */ new Map();
|
|
1556
|
+
for (const key of refreshes ?? []) {
|
|
1557
|
+
const parts = split_remote_key(key);
|
|
1558
|
+
const existing = requested.get(parts.id);
|
|
1559
|
+
if (existing) existing.push(parts.payload);
|
|
1560
|
+
else requested.set(parts.id, [parts.payload]);
|
|
1561
|
+
}
|
|
1562
|
+
return requested;
|
|
1563
|
+
}
|
|
1564
|
+
/** @type {typeof handle_remote_form_post_internal} */
|
|
1565
|
+
async function handle_remote_form_post(event, state, manifest, id) {
|
|
1566
|
+
return record_span({
|
|
1567
|
+
name: "sveltekit.remote.form.post",
|
|
1568
|
+
attributes: { },
|
|
1569
|
+
fn: (current) => {
|
|
1570
|
+
const traced_event = merge_tracing(event, current);
|
|
1571
|
+
return with_request_store({
|
|
1572
|
+
event: traced_event,
|
|
1573
|
+
state
|
|
1574
|
+
}, () => handle_remote_form_post_internal(traced_event, state, manifest, id));
|
|
1575
|
+
}
|
|
1576
|
+
});
|
|
1577
|
+
}
|
|
1578
|
+
/**
|
|
1579
|
+
* @param {RequestEvent} event
|
|
1580
|
+
* @param {RequestState} state
|
|
1581
|
+
* @param {SSRManifest} manifest
|
|
1582
|
+
* @param {string} id
|
|
1583
|
+
* @returns {Promise<ActionResult>}
|
|
1584
|
+
*/
|
|
1585
|
+
async function handle_remote_form_post_internal(event, state, manifest, id) {
|
|
1586
|
+
const [hash, name, ...rest] = id.split("/");
|
|
1587
|
+
const action_id = rest.join("/");
|
|
1588
|
+
let form = (await manifest._.remotes[hash]?.())?.default[name];
|
|
1589
|
+
if (!form) {
|
|
1590
|
+
event.setHeaders({ allow: "GET" });
|
|
1591
|
+
return {
|
|
1592
|
+
type: "error",
|
|
1593
|
+
error: new SvelteKitError(405, "Method Not Allowed", `POST method not allowed. No form actions exist for this page`)
|
|
1594
|
+
};
|
|
1595
|
+
}
|
|
1596
|
+
if (action_id) form = with_request_store({
|
|
1597
|
+
event,
|
|
1598
|
+
state
|
|
1599
|
+
}, () => form.for(JSON.parse(action_id)));
|
|
1600
|
+
try {
|
|
1601
|
+
const fn = form.__.fn;
|
|
1602
|
+
const { data, meta, form_data } = await deserialize_binary_form(event.request);
|
|
1603
|
+
if (action_id && !("id" in data)) data.id = JSON.parse(decodeURIComponent(action_id));
|
|
1604
|
+
await with_request_store({
|
|
1605
|
+
event,
|
|
1606
|
+
state: {
|
|
1607
|
+
...state,
|
|
1608
|
+
is_in_remote_form_or_command: true
|
|
1609
|
+
}
|
|
1610
|
+
}, () => fn(data, meta, form_data));
|
|
1611
|
+
return {
|
|
1612
|
+
type: "success",
|
|
1613
|
+
status: 200
|
|
1614
|
+
};
|
|
1615
|
+
} catch (e) {
|
|
1616
|
+
const err = normalize_error(e);
|
|
1617
|
+
if (err instanceof Redirect) return {
|
|
1618
|
+
type: "redirect",
|
|
1619
|
+
status: err.status,
|
|
1620
|
+
location: err.location
|
|
1621
|
+
};
|
|
1622
|
+
return {
|
|
1623
|
+
type: "error",
|
|
1624
|
+
error: check_incorrect_fail_use(err)
|
|
1625
|
+
};
|
|
1626
|
+
}
|
|
1627
|
+
}
|
|
1628
|
+
/**
|
|
1629
|
+
* @param {URL} url
|
|
1630
|
+
*/
|
|
1631
|
+
function get_remote_id(url) {
|
|
1632
|
+
return url.pathname.startsWith(`${base}/_app/remote/`) && url.pathname.replace(`${base}/_app/remote/`, "");
|
|
1633
|
+
}
|
|
1634
|
+
/**
|
|
1635
|
+
* @param {URL} url
|
|
1636
|
+
*/
|
|
1637
|
+
function get_remote_action(url) {
|
|
1638
|
+
return url.searchParams.get("/remote");
|
|
1639
|
+
}
|
|
1640
|
+
//#endregion
|
|
1641
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/page/render.js
|
|
1642
|
+
var updated = {
|
|
1643
|
+
...readable(false),
|
|
1644
|
+
check: () => false
|
|
1645
|
+
};
|
|
1646
|
+
/**
|
|
1647
|
+
* Creates the HTML response.
|
|
1648
|
+
* @param {{
|
|
1649
|
+
* branch: Array<import('./types.js').Loaded>;
|
|
1650
|
+
* fetched: Array<import('./types.js').Fetched>;
|
|
1651
|
+
* options: import('types').SSROptions;
|
|
1652
|
+
* manifest: import('@sveltejs/kit').SSRManifest;
|
|
1653
|
+
* state: import('types').SSRState;
|
|
1654
|
+
* page_config: { ssr: boolean; csr: boolean };
|
|
1655
|
+
* status: number;
|
|
1656
|
+
* error: App.Error | null;
|
|
1657
|
+
* event: import('@sveltejs/kit').RequestEvent;
|
|
1658
|
+
* event_state: import('types').RequestState;
|
|
1659
|
+
* resolve_opts: import('types').RequiredResolveOptions;
|
|
1660
|
+
* action_result?: import('@sveltejs/kit').ActionResult;
|
|
1661
|
+
* data_serializer: import('./types.js').ServerDataSerializer;
|
|
1662
|
+
* error_components?: Array<import('types').SSRComponent | undefined>
|
|
1663
|
+
* }} opts
|
|
1664
|
+
*/
|
|
1665
|
+
async function render_response({ branch, fetched, options, manifest, state, page_config, status, error = null, event, event_state, resolve_opts, action_result, data_serializer, error_components }) {
|
|
1666
|
+
if (state.prerendering) {
|
|
1667
|
+
if (options.csp.mode === "nonce") throw new Error("Cannot use prerendering if config.kit.csp.mode === \"nonce\"");
|
|
1668
|
+
if (options.app_template_contains_nonce) throw new Error("Cannot use prerendering if page template contains %sveltekit.nonce%");
|
|
1669
|
+
}
|
|
1670
|
+
const { client } = manifest._;
|
|
1671
|
+
const modulepreloads = new Set(client?.imports);
|
|
1672
|
+
const stylesheets = new Set(client?.stylesheets);
|
|
1673
|
+
const fonts = new Set(client?.fonts);
|
|
1674
|
+
/**
|
|
1675
|
+
* The value of the Link header that is added to the response when not prerendering
|
|
1676
|
+
* @type {Set<string>}
|
|
1677
|
+
*/
|
|
1678
|
+
const link_headers = /* @__PURE__ */ new Set();
|
|
1679
|
+
/** @type {Map<string, string>} */
|
|
1680
|
+
const inline_styles = /* @__PURE__ */ new Map();
|
|
1681
|
+
/** @type {ReturnType<typeof options.root.render>} */
|
|
1682
|
+
let rendered;
|
|
1683
|
+
const form_value = action_result?.type === "success" || action_result?.type === "failure" ? action_result.data ?? null : null;
|
|
1684
|
+
/** @type {string} */
|
|
1685
|
+
let base$1 = base;
|
|
1686
|
+
/** @type {string} */
|
|
1687
|
+
let assets$1 = assets;
|
|
1688
|
+
/**
|
|
1689
|
+
* An expression that will evaluate in the client to determine the resolved base path.
|
|
1690
|
+
* We use a relative path when possible to support IPFS, the internet archive, etc.
|
|
1691
|
+
*/
|
|
1692
|
+
let base_expression = s(base);
|
|
1693
|
+
const csp = new Csp(options.csp, { prerender: !!state.prerendering });
|
|
1694
|
+
if (!state.prerendering?.fallback) {
|
|
1695
|
+
base$1 = (event.isDataRequest ? add_data_suffix(event.url.pathname) : event.url.pathname).slice(base.length).split("/").slice(2).map(() => "..").join("/") || ".";
|
|
1696
|
+
base_expression = `new URL(${s(base$1)}, location).pathname.slice(0, -1)`;
|
|
1697
|
+
if (!assets || assets[0] === "/" && assets !== "/_svelte_kit_assets") assets$1 = base$1;
|
|
1698
|
+
} else if (options.hash_routing) base_expression = "new URL('.', location).pathname.slice(0, -1)";
|
|
1699
|
+
if (page_config.ssr) {
|
|
1700
|
+
/** @type {Record<string, any>} */
|
|
1701
|
+
const props = {
|
|
1702
|
+
stores: {
|
|
1703
|
+
page: writable(null),
|
|
1704
|
+
navigating: writable(null),
|
|
1705
|
+
updated
|
|
1706
|
+
},
|
|
1707
|
+
constructors: await Promise.all(branch.map(({ node }) => {
|
|
1708
|
+
if (!node.component) throw new Error(`Missing +page.svelte component for route ${event.route.id}`);
|
|
1709
|
+
return node.component();
|
|
1710
|
+
})),
|
|
1711
|
+
form: form_value
|
|
1712
|
+
};
|
|
1713
|
+
if (error_components) {
|
|
1714
|
+
if (error) props.error = error;
|
|
1715
|
+
props.errors = error_components;
|
|
1716
|
+
}
|
|
1717
|
+
let data = {};
|
|
1718
|
+
for (let i = 0; i < branch.length; i += 1) {
|
|
1719
|
+
data = {
|
|
1720
|
+
...data,
|
|
1721
|
+
...branch[i].data
|
|
1722
|
+
};
|
|
1723
|
+
props[`data_${i}`] = data;
|
|
1724
|
+
}
|
|
1725
|
+
props.page = {
|
|
1726
|
+
error,
|
|
1727
|
+
params: event.params,
|
|
1728
|
+
route: event.route,
|
|
1729
|
+
status,
|
|
1730
|
+
url: event.url,
|
|
1731
|
+
data,
|
|
1732
|
+
form: form_value,
|
|
1733
|
+
state: {}
|
|
1734
|
+
};
|
|
1735
|
+
const render_opts = {
|
|
1736
|
+
context: /* @__PURE__ */ new Map([["__request__", { page: props.page }]]),
|
|
1737
|
+
csp: csp.script_needs_nonce ? { nonce: csp.nonce } : { hash: csp.script_needs_hash },
|
|
1738
|
+
transformError: error_components ? async (e) => {
|
|
1739
|
+
if (isRedirect(e)) throw e;
|
|
1740
|
+
const transformed = await handle_error_and_jsonify(event, event_state, options, e);
|
|
1741
|
+
props.page.error = props.error = error = transformed;
|
|
1742
|
+
props.page.status = status = get_status(e);
|
|
1743
|
+
return transformed;
|
|
1744
|
+
} : void 0
|
|
1745
|
+
};
|
|
1746
|
+
try {
|
|
1747
|
+
const state = {
|
|
1748
|
+
...event_state,
|
|
1749
|
+
is_in_render: true
|
|
1750
|
+
};
|
|
1751
|
+
rendered = await with_request_store({
|
|
1752
|
+
event,
|
|
1753
|
+
state
|
|
1754
|
+
}, async () => {
|
|
1755
|
+
override({
|
|
1756
|
+
base: base$1,
|
|
1757
|
+
assets: assets$1
|
|
1758
|
+
});
|
|
1759
|
+
const maybe_promise = options.root.render(props, render_opts);
|
|
1760
|
+
const rendered = options.async && "then" in maybe_promise ? maybe_promise.then((r) => r) : maybe_promise;
|
|
1761
|
+
if (options.async) reset();
|
|
1762
|
+
const { head, html, css, hashes } = options.async ? await rendered : rendered;
|
|
1763
|
+
if (hashes) csp.add_script_hashes(hashes.script);
|
|
1764
|
+
return {
|
|
1765
|
+
head,
|
|
1766
|
+
html,
|
|
1767
|
+
css,
|
|
1768
|
+
hashes
|
|
1769
|
+
};
|
|
1770
|
+
});
|
|
1771
|
+
} finally {
|
|
1772
|
+
reset();
|
|
1773
|
+
}
|
|
1774
|
+
} else rendered = {
|
|
1775
|
+
head: "",
|
|
1776
|
+
html: "",
|
|
1777
|
+
css: {
|
|
1778
|
+
code: "",
|
|
1779
|
+
map: null
|
|
1780
|
+
},
|
|
1781
|
+
hashes: { script: [] }
|
|
1782
|
+
};
|
|
1783
|
+
for (const { node } of branch) {
|
|
1784
|
+
for (const url of node.imports) modulepreloads.add(url);
|
|
1785
|
+
for (const url of node.stylesheets) stylesheets.add(url);
|
|
1786
|
+
for (const url of node.fonts) fonts.add(url);
|
|
1787
|
+
if (node.inline_styles && !client?.inline) Object.entries(await node.inline_styles()).forEach(([filename, css]) => {
|
|
1788
|
+
if (typeof css === "string") {
|
|
1789
|
+
inline_styles.set(filename, css);
|
|
1790
|
+
return;
|
|
1791
|
+
}
|
|
1792
|
+
inline_styles.set(filename, css(`${assets$1}/${app_dir}/immutable/assets`, assets$1));
|
|
1793
|
+
});
|
|
1794
|
+
}
|
|
1795
|
+
const head = new Head(rendered.head, !!state.prerendering);
|
|
1796
|
+
let body = rendered.html;
|
|
1797
|
+
/** @param {string} path */
|
|
1798
|
+
const prefixed = (path) => {
|
|
1799
|
+
if (path.startsWith("/")) return base + path;
|
|
1800
|
+
return `${assets$1}/${path}`;
|
|
1801
|
+
};
|
|
1802
|
+
const style = client?.inline ? client.inline?.style : Array.from(inline_styles.values()).join("\n");
|
|
1803
|
+
if (style) {
|
|
1804
|
+
const attributes = [];
|
|
1805
|
+
if (csp.style_needs_nonce) attributes.push(`nonce="${csp.nonce}"`);
|
|
1806
|
+
csp.add_style(style);
|
|
1807
|
+
head.add_style(style, attributes);
|
|
1808
|
+
}
|
|
1809
|
+
for (const dep of stylesheets) {
|
|
1810
|
+
const path = prefixed(dep);
|
|
1811
|
+
const attributes = ["rel=\"stylesheet\""];
|
|
1812
|
+
if (inline_styles.has(dep)) attributes.push("disabled", "media=\"(max-width: 0)\"");
|
|
1813
|
+
else if (resolve_opts.preload({
|
|
1814
|
+
type: "css",
|
|
1815
|
+
path
|
|
1816
|
+
})) link_headers.add(`<${encodeURI(path)}>; rel="preload"; as="style"; nopush`);
|
|
1817
|
+
head.add_stylesheet(path, attributes);
|
|
1818
|
+
}
|
|
1819
|
+
for (const dep of fonts) {
|
|
1820
|
+
const path = prefixed(dep);
|
|
1821
|
+
if (resolve_opts.preload({
|
|
1822
|
+
type: "font",
|
|
1823
|
+
path
|
|
1824
|
+
})) {
|
|
1825
|
+
const ext = dep.slice(dep.lastIndexOf(".") + 1);
|
|
1826
|
+
head.add_link_tag(path, [
|
|
1827
|
+
"rel=\"preload\"",
|
|
1828
|
+
"as=\"font\"",
|
|
1829
|
+
`type="font/${ext}"`,
|
|
1830
|
+
"crossorigin"
|
|
1831
|
+
]);
|
|
1832
|
+
link_headers.add(`<${encodeURI(path)}>; rel="preload"; as="font"; type="font/${ext}"; crossorigin; nopush`);
|
|
1833
|
+
}
|
|
1834
|
+
}
|
|
1835
|
+
const global = get_global_name(options);
|
|
1836
|
+
const { data, chunks } = data_serializer.get_data(csp);
|
|
1837
|
+
if (page_config.ssr && page_config.csr) body += `\n\t\t\t${fetched.map((item) => serialize_data(item, resolve_opts.filterSerializedResponseHeaders, !!state.prerendering)).join("\n ")}`;
|
|
1838
|
+
if (page_config.csr && client) {
|
|
1839
|
+
const route = client.routes?.find((r) => r.id === event.route.id) ?? null;
|
|
1840
|
+
const load_env_eagerly = client.uses_env_dynamic_public && !!state.prerendering;
|
|
1841
|
+
if (load_env_eagerly) modulepreloads.add(`${app_dir}/env.js`);
|
|
1842
|
+
if (!client.inline) {
|
|
1843
|
+
const included_modulepreloads = Array.from(modulepreloads, (dep) => prefixed(dep)).filter((path) => resolve_opts.preload({
|
|
1844
|
+
type: "js",
|
|
1845
|
+
path
|
|
1846
|
+
}));
|
|
1847
|
+
for (const path of included_modulepreloads) {
|
|
1848
|
+
link_headers.add(`<${encodeURI(path)}>; rel="modulepreload"; nopush`);
|
|
1849
|
+
if (options.preload_strategy !== "modulepreload") head.add_script_preload(path);
|
|
1850
|
+
else head.add_link_tag(path, ["rel=\"modulepreload\""]);
|
|
1851
|
+
}
|
|
1852
|
+
}
|
|
1853
|
+
if (client.routes && state.prerendering && !state.prerendering.fallback) {
|
|
1854
|
+
const pathname = add_resolution_suffix(event.url.pathname);
|
|
1855
|
+
state.prerendering.dependencies.set(pathname, create_server_routing_response(route, event.params, new URL(pathname, event.url), client));
|
|
1856
|
+
}
|
|
1857
|
+
const blocks = [];
|
|
1858
|
+
const properties = [`base: ${base_expression}`];
|
|
1859
|
+
if (assets) properties.push(`assets: ${s(assets)}`);
|
|
1860
|
+
if (client.uses_env_dynamic_public) properties.push(`env: ${load_env_eagerly ? "null" : s(public_env)}`);
|
|
1861
|
+
if (chunks) {
|
|
1862
|
+
blocks.push("const deferred = new Map();");
|
|
1863
|
+
properties.push(`defer: (id) => new Promise((fulfil, reject) => {
|
|
1864
|
+
deferred.set(id, { fulfil, reject });
|
|
1865
|
+
})`);
|
|
1866
|
+
let app_declaration = "";
|
|
1867
|
+
if (Object.keys(options.hooks.transport).length > 0) {
|
|
1868
|
+
if (client.inline) app_declaration = `const app = ${global}.app.app;`;
|
|
1869
|
+
else if (client.app) app_declaration = `const app = await import(${s(prefixed(client.app))});`;
|
|
1870
|
+
else app_declaration = `const { app } = await import(${s(prefixed(client.start))});`;
|
|
1871
|
+
}
|
|
1872
|
+
const prelude = app_declaration ? `${app_declaration}
|
|
1873
|
+
const [data, error] = fn(app);` : `const [data, error] = fn();`;
|
|
1874
|
+
properties.push(`resolve: async (id, fn) => {
|
|
1875
|
+
${prelude}
|
|
1876
|
+
|
|
1877
|
+
const try_to_resolve = () => {
|
|
1878
|
+
if (!deferred.has(id)) {
|
|
1879
|
+
setTimeout(try_to_resolve, 0);
|
|
1880
|
+
return;
|
|
1881
|
+
}
|
|
1882
|
+
const { fulfil, reject } = deferred.get(id);
|
|
1883
|
+
deferred.delete(id);
|
|
1884
|
+
if (error) reject(error);
|
|
1885
|
+
else fulfil(data);
|
|
1886
|
+
}
|
|
1887
|
+
try_to_resolve();
|
|
1888
|
+
}`);
|
|
1889
|
+
}
|
|
1890
|
+
blocks.push(`${global} = {
|
|
1891
|
+
${properties.join(",\n ")}
|
|
1892
|
+
};`);
|
|
1893
|
+
const args = ["element"];
|
|
1894
|
+
blocks.push("const element = document.currentScript.parentElement;");
|
|
1895
|
+
if (page_config.ssr) {
|
|
1896
|
+
const serialized = {
|
|
1897
|
+
form: "null",
|
|
1898
|
+
error: "null"
|
|
1899
|
+
};
|
|
1900
|
+
if (form_value) serialized.form = uneval_action_response(form_value, event.route.id, options.hooks.transport);
|
|
1901
|
+
if (error) serialized.error = uneval(error);
|
|
1902
|
+
const hydrate = [
|
|
1903
|
+
`node_ids: [${branch.map(({ node }) => node.index).join(", ")}]`,
|
|
1904
|
+
`data: ${data}`,
|
|
1905
|
+
`form: ${serialized.form}`,
|
|
1906
|
+
`error: ${serialized.error}`
|
|
1907
|
+
];
|
|
1908
|
+
if (status !== 200) hydrate.push(`status: ${status}`);
|
|
1909
|
+
if (client.routes) {
|
|
1910
|
+
if (route) {
|
|
1911
|
+
const stringified = generate_route_object(route, event.url, client).replaceAll("\n", "\n ");
|
|
1912
|
+
hydrate.push(`params: ${uneval(event.params)}`, `server_route: ${stringified}`);
|
|
1913
|
+
}
|
|
1914
|
+
} else if (options.embedded) hydrate.push(`params: ${uneval(event.params)}`, `route: ${s(event.route)}`);
|
|
1915
|
+
const indent = " ".repeat(load_env_eagerly ? 7 : 6);
|
|
1916
|
+
args.push(`{\n${indent}\t${hydrate.join(`,\n${indent}\t`)}\n${indent}}`);
|
|
1917
|
+
}
|
|
1918
|
+
const remote_data = await collect_remote_data({}, event, event_state, options);
|
|
1919
|
+
const serialized_data = Object.keys(remote_data).length > 0 ? `${global}.data = ${uneval(remote_data, create_replacer(options.hooks.transport))};\n\n\t\t\t\t\t\t` : "";
|
|
1920
|
+
const boot = client.inline ? `${client.inline.script}
|
|
1921
|
+
|
|
1922
|
+
${serialized_data}${global}.app.start(${args.join(", ")});` : client.app ? `Promise.all([
|
|
1923
|
+
import(${s(prefixed(client.start))}),
|
|
1924
|
+
import(${s(prefixed(client.app))})
|
|
1925
|
+
]).then(([kit, app]) => {
|
|
1926
|
+
${serialized_data}kit.start(app, ${args.join(", ")});
|
|
1927
|
+
});` : `import(${s(prefixed(client.start))}).then((app) => {
|
|
1928
|
+
${serialized_data}app.start(${args.join(", ")})
|
|
1929
|
+
});`;
|
|
1930
|
+
if (load_env_eagerly) blocks.push(`import(${s(`${base$1}/${app_dir}/env.js`)}).then(({ env }) => {
|
|
1931
|
+
${global}.env = env;
|
|
1932
|
+
|
|
1933
|
+
${boot.replace(/\n/g, "\n ")}
|
|
1934
|
+
});`);
|
|
1935
|
+
else blocks.push(boot);
|
|
1936
|
+
if (options.service_worker) {
|
|
1937
|
+
let opts = "";
|
|
1938
|
+
if (options.service_worker_options != null) opts = `, ${s({ ...options.service_worker_options })}`;
|
|
1939
|
+
blocks.push(`if ('serviceWorker' in navigator) {
|
|
1940
|
+
const script_url = '${prefixed("service-worker.js")}';
|
|
1941
|
+
const policy = globalThis?.window?.trustedTypes?.createPolicy(
|
|
1942
|
+
'sveltekit-trusted-url',
|
|
1943
|
+
{ createScriptURL(url) { return url; } }
|
|
1944
|
+
);
|
|
1945
|
+
const sanitised = policy?.createScriptURL(script_url) ?? script_url;
|
|
1946
|
+
addEventListener('load', function () {
|
|
1947
|
+
navigator.serviceWorker.register(sanitised${opts});
|
|
1948
|
+
});
|
|
1949
|
+
}`);
|
|
1950
|
+
}
|
|
1951
|
+
const init_app = `
|
|
1952
|
+
{
|
|
1953
|
+
${blocks.join("\n\n ")}
|
|
1954
|
+
}
|
|
1955
|
+
`;
|
|
1956
|
+
csp.add_script(init_app);
|
|
1957
|
+
body += `\n\t\t\t<script${csp.script_needs_nonce ? ` nonce="${csp.nonce}"` : ""}>${init_app}<\/script>\n\t\t`;
|
|
1958
|
+
}
|
|
1959
|
+
const headers = new Headers({
|
|
1960
|
+
"x-sveltekit-page": "true",
|
|
1961
|
+
"content-type": "text/html"
|
|
1962
|
+
});
|
|
1963
|
+
if (state.prerendering) {
|
|
1964
|
+
const csp_headers = csp.csp_provider.get_meta();
|
|
1965
|
+
if (csp_headers) head.add_http_equiv(csp_headers);
|
|
1966
|
+
if (state.prerendering.cache) head.add_http_equiv(`<meta http-equiv="cache-control" content="${state.prerendering.cache}">`);
|
|
1967
|
+
} else {
|
|
1968
|
+
const csp_header = csp.csp_provider.get_header();
|
|
1969
|
+
if (csp_header) headers.set("content-security-policy", csp_header);
|
|
1970
|
+
const report_only_header = csp.report_only_provider.get_header();
|
|
1971
|
+
if (report_only_header) headers.set("content-security-policy-report-only", report_only_header);
|
|
1972
|
+
if (link_headers.size) headers.set("link", Array.from(link_headers).join(", "));
|
|
1973
|
+
}
|
|
1974
|
+
const html = options.templates.app({
|
|
1975
|
+
head: head.build(),
|
|
1976
|
+
body,
|
|
1977
|
+
assets: assets$1,
|
|
1978
|
+
nonce: csp.nonce,
|
|
1979
|
+
env: public_env
|
|
1980
|
+
});
|
|
1981
|
+
const transformed = await resolve_opts.transformPageChunk({
|
|
1982
|
+
html,
|
|
1983
|
+
done: true
|
|
1984
|
+
}) || "";
|
|
1985
|
+
if (!chunks) headers.set("etag", `"${hash(transformed)}"`);
|
|
1986
|
+
return !chunks ? text(transformed, {
|
|
1987
|
+
status,
|
|
1988
|
+
headers
|
|
1989
|
+
}) : new Response(new ReadableStream({
|
|
1990
|
+
async start(controller) {
|
|
1991
|
+
controller.enqueue(text_encoder.encode(transformed + "\n"));
|
|
1992
|
+
for await (const chunk of chunks) if (chunk.length) controller.enqueue(text_encoder.encode(chunk));
|
|
1993
|
+
controller.close();
|
|
1994
|
+
},
|
|
1995
|
+
type: "bytes"
|
|
1996
|
+
}), { headers });
|
|
1997
|
+
}
|
|
1998
|
+
var Head = class {
|
|
1999
|
+
#rendered;
|
|
2000
|
+
#prerendering;
|
|
2001
|
+
/** @type {string[]} */
|
|
2002
|
+
#http_equiv = [];
|
|
2003
|
+
/** @type {string[]} */
|
|
2004
|
+
#link_tags = [];
|
|
2005
|
+
/** @type {string[]} */
|
|
2006
|
+
#script_preloads = [];
|
|
2007
|
+
/** @type {string[]} */
|
|
2008
|
+
#style_tags = [];
|
|
2009
|
+
/** @type {string[]} */
|
|
2010
|
+
#stylesheet_links = [];
|
|
2011
|
+
/**
|
|
2012
|
+
* @param {string} rendered
|
|
2013
|
+
* @param {boolean} prerendering
|
|
2014
|
+
*/
|
|
2015
|
+
constructor(rendered, prerendering) {
|
|
2016
|
+
this.#rendered = rendered;
|
|
2017
|
+
this.#prerendering = prerendering;
|
|
2018
|
+
}
|
|
2019
|
+
build() {
|
|
2020
|
+
return [
|
|
2021
|
+
...this.#http_equiv,
|
|
2022
|
+
...this.#link_tags,
|
|
2023
|
+
...this.#script_preloads,
|
|
2024
|
+
this.#rendered,
|
|
2025
|
+
...this.#style_tags,
|
|
2026
|
+
...this.#stylesheet_links
|
|
2027
|
+
].join("\n ");
|
|
2028
|
+
}
|
|
2029
|
+
/**
|
|
2030
|
+
* @param {string} style
|
|
2031
|
+
* @param {string[]} attributes
|
|
2032
|
+
*/
|
|
2033
|
+
add_style(style, attributes) {
|
|
2034
|
+
this.#style_tags.push(`<style${attributes.length ? " " + attributes.join(" ") : ""}>${style}</style>`);
|
|
2035
|
+
}
|
|
2036
|
+
/**
|
|
2037
|
+
* @param {string} href
|
|
2038
|
+
* @param {string[]} attributes
|
|
2039
|
+
*/
|
|
2040
|
+
add_stylesheet(href, attributes) {
|
|
2041
|
+
this.#stylesheet_links.push(`<link href="${href}" ${attributes.join(" ")}>`);
|
|
2042
|
+
}
|
|
2043
|
+
/** @param {string} href */
|
|
2044
|
+
add_script_preload(href) {
|
|
2045
|
+
this.#script_preloads.push(`<link rel="preload" as="script" crossorigin="anonymous" href="${href}">`);
|
|
2046
|
+
}
|
|
2047
|
+
/**
|
|
2048
|
+
* @param {string} href
|
|
2049
|
+
* @param {string[]} attributes
|
|
2050
|
+
*/
|
|
2051
|
+
add_link_tag(href, attributes) {
|
|
2052
|
+
if (!this.#prerendering) return;
|
|
2053
|
+
this.#link_tags.push(`<link href="${href}" ${attributes.join(" ")}>`);
|
|
2054
|
+
}
|
|
2055
|
+
/** @param {string} tag */
|
|
2056
|
+
add_http_equiv(tag) {
|
|
2057
|
+
if (!this.#prerendering) return;
|
|
2058
|
+
this.#http_equiv.push(tag);
|
|
2059
|
+
}
|
|
2060
|
+
};
|
|
2061
|
+
//#endregion
|
|
2062
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/utils/page_nodes.js
|
|
2063
|
+
var PageNodes = class {
|
|
2064
|
+
/** All layout nodes and the page node, if any */
|
|
2065
|
+
data;
|
|
2066
|
+
/**
|
|
2067
|
+
* @param {Array<import('types').SSRNode | undefined>} nodes
|
|
2068
|
+
*/
|
|
2069
|
+
constructor(nodes) {
|
|
2070
|
+
this.data = nodes;
|
|
2071
|
+
}
|
|
2072
|
+
layouts() {
|
|
2073
|
+
return this.data.slice(0, -1);
|
|
2074
|
+
}
|
|
2075
|
+
page() {
|
|
2076
|
+
return this.data.at(-1);
|
|
2077
|
+
}
|
|
2078
|
+
validate() {
|
|
2079
|
+
for (const layout of this.layouts()) if (layout) {
|
|
2080
|
+
validate_layout_server_exports(layout.server, layout.server_id);
|
|
2081
|
+
validate_layout_exports(layout.universal, layout.universal_id);
|
|
2082
|
+
}
|
|
2083
|
+
const page = this.page();
|
|
2084
|
+
if (page) {
|
|
2085
|
+
validate_page_server_exports(page.server, page.server_id);
|
|
2086
|
+
validate_page_exports(page.universal, page.universal_id);
|
|
2087
|
+
}
|
|
2088
|
+
}
|
|
2089
|
+
/**
|
|
2090
|
+
* @template {'prerender' | 'ssr' | 'csr' | 'trailingSlash'} Option
|
|
2091
|
+
* @param {Option} option
|
|
2092
|
+
* @returns {Value | undefined}
|
|
2093
|
+
*/
|
|
2094
|
+
#get_option(option) {
|
|
2095
|
+
/** @typedef {(import('types').UniversalNode | import('types').ServerNode)[Option]} Value */
|
|
2096
|
+
return this.data.reduce((value, node) => {
|
|
2097
|
+
return node?.universal?.[option] ?? node?.server?.[option] ?? value;
|
|
2098
|
+
}, void 0);
|
|
2099
|
+
}
|
|
2100
|
+
csr() {
|
|
2101
|
+
return this.#get_option("csr") ?? true;
|
|
2102
|
+
}
|
|
2103
|
+
ssr() {
|
|
2104
|
+
return this.#get_option("ssr") ?? true;
|
|
2105
|
+
}
|
|
2106
|
+
prerender() {
|
|
2107
|
+
return this.#get_option("prerender") ?? false;
|
|
2108
|
+
}
|
|
2109
|
+
trailing_slash() {
|
|
2110
|
+
return this.#get_option("trailingSlash") ?? "never";
|
|
2111
|
+
}
|
|
2112
|
+
get_config() {
|
|
2113
|
+
/** @type {any} */
|
|
2114
|
+
let current = {};
|
|
2115
|
+
for (const node of this.data) {
|
|
2116
|
+
if (!node?.universal?.config && !node?.server?.config) continue;
|
|
2117
|
+
current = {
|
|
2118
|
+
...current,
|
|
2119
|
+
...node?.universal?.config,
|
|
2120
|
+
...node?.server?.config
|
|
2121
|
+
};
|
|
2122
|
+
}
|
|
2123
|
+
return Object.keys(current).length ? current : void 0;
|
|
2124
|
+
}
|
|
2125
|
+
should_prerender_data() {
|
|
2126
|
+
return this.data.some((node) => node?.server?.load || node?.server?.trailingSlash !== void 0);
|
|
2127
|
+
}
|
|
2128
|
+
};
|
|
2129
|
+
//#endregion
|
|
2130
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/page/respond_with_error.js
|
|
2131
|
+
/**
|
|
2132
|
+
* @typedef {import('./types.js').Loaded} Loaded
|
|
2133
|
+
*/
|
|
2134
|
+
/**
|
|
2135
|
+
* @param {{
|
|
2136
|
+
* event: import('@sveltejs/kit').RequestEvent;
|
|
2137
|
+
* event_state: import('types').RequestState;
|
|
2138
|
+
* options: import('types').SSROptions;
|
|
2139
|
+
* manifest: import('@sveltejs/kit').SSRManifest;
|
|
2140
|
+
* state: import('types').SSRState;
|
|
2141
|
+
* status: number;
|
|
2142
|
+
* error: unknown;
|
|
2143
|
+
* resolve_opts: import('types').RequiredResolveOptions;
|
|
2144
|
+
* }} opts
|
|
2145
|
+
*/
|
|
2146
|
+
async function respond_with_error({ event, event_state, options, manifest, state, status, error, resolve_opts }) {
|
|
2147
|
+
if (event.request.headers.get("x-sveltekit-error")) return static_error_page(
|
|
2148
|
+
options,
|
|
2149
|
+
status,
|
|
2150
|
+
/** @type {Error} */
|
|
2151
|
+
error.message
|
|
2152
|
+
);
|
|
2153
|
+
/** @type {import('./types.js').Fetched[]} */
|
|
2154
|
+
const fetched = [];
|
|
2155
|
+
try {
|
|
2156
|
+
const branch = [];
|
|
2157
|
+
const default_layout = await manifest._.nodes[0]();
|
|
2158
|
+
const nodes = new PageNodes([default_layout]);
|
|
2159
|
+
const ssr = nodes.ssr();
|
|
2160
|
+
const csr = nodes.csr();
|
|
2161
|
+
const data_serializer = server_data_serializer(event, event_state, options);
|
|
2162
|
+
if (ssr) {
|
|
2163
|
+
state.error = true;
|
|
2164
|
+
const server_data_promise = load_server_data({
|
|
2165
|
+
event,
|
|
2166
|
+
event_state,
|
|
2167
|
+
state,
|
|
2168
|
+
node: default_layout,
|
|
2169
|
+
parent: async () => ({})
|
|
2170
|
+
});
|
|
2171
|
+
const server_data = await server_data_promise;
|
|
2172
|
+
data_serializer.add_node(0, server_data);
|
|
2173
|
+
const data = await load_data({
|
|
2174
|
+
event,
|
|
2175
|
+
event_state,
|
|
2176
|
+
fetched,
|
|
2177
|
+
node: default_layout,
|
|
2178
|
+
parent: async () => ({}),
|
|
2179
|
+
resolve_opts,
|
|
2180
|
+
server_data_promise,
|
|
2181
|
+
state,
|
|
2182
|
+
csr
|
|
2183
|
+
});
|
|
2184
|
+
branch.push({
|
|
2185
|
+
node: default_layout,
|
|
2186
|
+
server_data,
|
|
2187
|
+
data
|
|
2188
|
+
}, {
|
|
2189
|
+
node: await manifest._.nodes[1](),
|
|
2190
|
+
data: null,
|
|
2191
|
+
server_data: null
|
|
2192
|
+
});
|
|
2193
|
+
}
|
|
2194
|
+
return await render_response({
|
|
2195
|
+
options,
|
|
2196
|
+
manifest,
|
|
2197
|
+
state,
|
|
2198
|
+
page_config: {
|
|
2199
|
+
ssr,
|
|
2200
|
+
csr
|
|
2201
|
+
},
|
|
2202
|
+
status,
|
|
2203
|
+
error: await handle_error_and_jsonify(event, event_state, options, error),
|
|
2204
|
+
branch,
|
|
2205
|
+
error_components: [],
|
|
2206
|
+
fetched,
|
|
2207
|
+
event,
|
|
2208
|
+
event_state,
|
|
2209
|
+
resolve_opts,
|
|
2210
|
+
data_serializer
|
|
2211
|
+
});
|
|
2212
|
+
} catch (e) {
|
|
2213
|
+
if (e instanceof Redirect) return redirect_response(e.status, e.location);
|
|
2214
|
+
return static_error_page(options, get_status(e), (await handle_error_and_jsonify(event, event_state, options, e)).message);
|
|
2215
|
+
}
|
|
2216
|
+
}
|
|
2217
|
+
//#endregion
|
|
2218
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/page/index.js
|
|
2219
|
+
/** @import { ActionResult, RequestEvent, SSRManifest } from '@sveltejs/kit' */
|
|
2220
|
+
/** @import { PageNodeIndexes, RequestState, RequiredResolveOptions, ServerDataNode, SSRComponent, SSRNode, SSROptions, SSRState } from 'types' */
|
|
2221
|
+
/**
|
|
2222
|
+
* The maximum request depth permitted before assuming we're stuck in an infinite loop
|
|
2223
|
+
*/
|
|
2224
|
+
var MAX_DEPTH = 10;
|
|
2225
|
+
/**
|
|
2226
|
+
* @param {RequestEvent} event
|
|
2227
|
+
* @param {RequestState} event_state
|
|
2228
|
+
* @param {PageNodeIndexes} page
|
|
2229
|
+
* @param {SSROptions} options
|
|
2230
|
+
* @param {SSRManifest} manifest
|
|
2231
|
+
* @param {SSRState} state
|
|
2232
|
+
* @param {import('../../../utils/page_nodes.js').PageNodes} nodes
|
|
2233
|
+
* @param {RequiredResolveOptions} resolve_opts
|
|
2234
|
+
* @returns {Promise<Response>}
|
|
2235
|
+
*/
|
|
2236
|
+
async function render_page(event, event_state, page, options, manifest, state, nodes, resolve_opts) {
|
|
2237
|
+
if (state.depth > MAX_DEPTH) return text(`Not found: ${event.url.pathname}`, { status: 404 });
|
|
2238
|
+
if (is_action_json_request(event)) return handle_action_json_request(event, event_state, options, (await manifest._.nodes[page.leaf]())?.server);
|
|
2239
|
+
try {
|
|
2240
|
+
const leaf_node = nodes.page();
|
|
2241
|
+
let status = 200;
|
|
2242
|
+
/** @type {ActionResult | undefined} */
|
|
2243
|
+
let action_result = void 0;
|
|
2244
|
+
if (is_action_request(event)) {
|
|
2245
|
+
const remote_id = get_remote_action(event.url);
|
|
2246
|
+
if (remote_id) action_result = await handle_remote_form_post(event, event_state, manifest, remote_id);
|
|
2247
|
+
else action_result = await handle_action_request(event, event_state, leaf_node.server);
|
|
2248
|
+
if (action_result?.type === "redirect") return redirect_response(action_result.status, action_result.location);
|
|
2249
|
+
if (action_result?.type === "error") status = get_status(action_result.error);
|
|
2250
|
+
if (action_result?.type === "failure") status = action_result.status;
|
|
2251
|
+
}
|
|
2252
|
+
const should_prerender = nodes.prerender();
|
|
2253
|
+
if (should_prerender) {
|
|
2254
|
+
if (leaf_node.server?.actions) throw new Error("Cannot prerender pages with actions");
|
|
2255
|
+
} else if (state.prerendering) return new Response(void 0, { status: 204 });
|
|
2256
|
+
state.prerender_default = should_prerender;
|
|
2257
|
+
const should_prerender_data = nodes.should_prerender_data();
|
|
2258
|
+
const data_pathname = add_data_suffix(event.url.pathname);
|
|
2259
|
+
/** @type {import('./types.js').Fetched[]} */
|
|
2260
|
+
const fetched = [];
|
|
2261
|
+
const ssr = nodes.ssr();
|
|
2262
|
+
const csr = nodes.csr();
|
|
2263
|
+
if (ssr === false && !(state.prerendering && should_prerender_data)) return await render_response({
|
|
2264
|
+
branch: compact(nodes.data).map((node) => {
|
|
2265
|
+
return {
|
|
2266
|
+
node,
|
|
2267
|
+
data: null,
|
|
2268
|
+
server_data: null
|
|
2269
|
+
};
|
|
2270
|
+
}),
|
|
2271
|
+
fetched,
|
|
2272
|
+
page_config: {
|
|
2273
|
+
ssr: false,
|
|
2274
|
+
csr
|
|
2275
|
+
},
|
|
2276
|
+
status,
|
|
2277
|
+
error: null,
|
|
2278
|
+
event,
|
|
2279
|
+
event_state,
|
|
2280
|
+
options,
|
|
2281
|
+
manifest,
|
|
2282
|
+
state,
|
|
2283
|
+
resolve_opts,
|
|
2284
|
+
data_serializer: server_data_serializer(event, event_state, options)
|
|
2285
|
+
});
|
|
2286
|
+
/** @type {Array<import('./types.js').Loaded | null>} */
|
|
2287
|
+
const branch = [];
|
|
2288
|
+
/** @type {Error | null} */
|
|
2289
|
+
let load_error = null;
|
|
2290
|
+
const data_serializer = server_data_serializer(event, event_state, options);
|
|
2291
|
+
const data_serializer_json = state.prerendering && should_prerender_data ? server_data_serializer_json(event, event_state, options) : null;
|
|
2292
|
+
/** @type {Array<Promise<ServerDataNode | null>>} */
|
|
2293
|
+
const server_promises = nodes.data.map((node, i) => {
|
|
2294
|
+
if (load_error) throw load_error;
|
|
2295
|
+
return Promise.resolve().then(async () => {
|
|
2296
|
+
try {
|
|
2297
|
+
if (node === leaf_node && action_result?.type === "error") throw action_result.error;
|
|
2298
|
+
const server_data = await load_server_data({
|
|
2299
|
+
event,
|
|
2300
|
+
event_state,
|
|
2301
|
+
state,
|
|
2302
|
+
node,
|
|
2303
|
+
parent: async () => {
|
|
2304
|
+
/** @type {Record<string, any>} */
|
|
2305
|
+
const data = {};
|
|
2306
|
+
for (let j = 0; j < i; j += 1) {
|
|
2307
|
+
const parent = await server_promises[j];
|
|
2308
|
+
if (parent) Object.assign(data, parent.data);
|
|
2309
|
+
}
|
|
2310
|
+
return data;
|
|
2311
|
+
}
|
|
2312
|
+
});
|
|
2313
|
+
if (node) data_serializer.add_node(i, server_data);
|
|
2314
|
+
data_serializer_json?.add_node(i, server_data);
|
|
2315
|
+
return server_data;
|
|
2316
|
+
} catch (e) {
|
|
2317
|
+
load_error = e;
|
|
2318
|
+
throw load_error;
|
|
2319
|
+
}
|
|
2320
|
+
});
|
|
2321
|
+
});
|
|
2322
|
+
/** @type {Array<Promise<Record<string, any> | null>>} */
|
|
2323
|
+
const load_promises = nodes.data.map((node, i) => {
|
|
2324
|
+
if (load_error) throw load_error;
|
|
2325
|
+
return Promise.resolve().then(async () => {
|
|
2326
|
+
try {
|
|
2327
|
+
return await load_data({
|
|
2328
|
+
event,
|
|
2329
|
+
event_state,
|
|
2330
|
+
fetched,
|
|
2331
|
+
node,
|
|
2332
|
+
parent: async () => {
|
|
2333
|
+
const data = {};
|
|
2334
|
+
for (let j = 0; j < i; j += 1) Object.assign(data, await load_promises[j]);
|
|
2335
|
+
return data;
|
|
2336
|
+
},
|
|
2337
|
+
resolve_opts,
|
|
2338
|
+
server_data_promise: server_promises[i],
|
|
2339
|
+
state,
|
|
2340
|
+
csr
|
|
2341
|
+
});
|
|
2342
|
+
} catch (e) {
|
|
2343
|
+
load_error = e;
|
|
2344
|
+
throw load_error;
|
|
2345
|
+
}
|
|
2346
|
+
});
|
|
2347
|
+
});
|
|
2348
|
+
for (const p of server_promises) p.catch(noop);
|
|
2349
|
+
for (const p of load_promises) p.catch(noop);
|
|
2350
|
+
for (let i = 0; i < nodes.data.length; i += 1) {
|
|
2351
|
+
const node = nodes.data[i];
|
|
2352
|
+
if (node) try {
|
|
2353
|
+
const server_data = await server_promises[i];
|
|
2354
|
+
const data = await load_promises[i];
|
|
2355
|
+
branch.push({
|
|
2356
|
+
node,
|
|
2357
|
+
server_data,
|
|
2358
|
+
data
|
|
2359
|
+
});
|
|
2360
|
+
} catch (e) {
|
|
2361
|
+
const err = normalize_error(e);
|
|
2362
|
+
if (err instanceof Redirect) {
|
|
2363
|
+
if (state.prerendering && should_prerender_data) {
|
|
2364
|
+
const body = JSON.stringify({
|
|
2365
|
+
type: "redirect",
|
|
2366
|
+
location: err.location
|
|
2367
|
+
});
|
|
2368
|
+
state.prerendering.dependencies.set(data_pathname, {
|
|
2369
|
+
response: text(body),
|
|
2370
|
+
body
|
|
2371
|
+
});
|
|
2372
|
+
}
|
|
2373
|
+
return redirect_response(err.status, err.location);
|
|
2374
|
+
}
|
|
2375
|
+
const status = get_status(err);
|
|
2376
|
+
const error = await handle_error_and_jsonify(event, event_state, options, err);
|
|
2377
|
+
while (i--) if (page.errors[i]) {
|
|
2378
|
+
const index = page.errors[i];
|
|
2379
|
+
const node = await manifest._.nodes[index]();
|
|
2380
|
+
let j = i;
|
|
2381
|
+
while (!branch[j]) j -= 1;
|
|
2382
|
+
data_serializer.set_max_nodes(j + 1);
|
|
2383
|
+
const layouts = compact(branch.slice(0, j + 1));
|
|
2384
|
+
const nodes = new PageNodes(layouts.map((layout) => layout.node));
|
|
2385
|
+
const error_branch = layouts.concat({
|
|
2386
|
+
node,
|
|
2387
|
+
data: null,
|
|
2388
|
+
server_data: null
|
|
2389
|
+
});
|
|
2390
|
+
return await render_response({
|
|
2391
|
+
event,
|
|
2392
|
+
event_state,
|
|
2393
|
+
options,
|
|
2394
|
+
manifest,
|
|
2395
|
+
state,
|
|
2396
|
+
resolve_opts,
|
|
2397
|
+
page_config: {
|
|
2398
|
+
ssr: nodes.ssr(),
|
|
2399
|
+
csr: nodes.csr()
|
|
2400
|
+
},
|
|
2401
|
+
status,
|
|
2402
|
+
error,
|
|
2403
|
+
error_components: await load_error_components(options, ssr, error_branch, page, manifest),
|
|
2404
|
+
branch: error_branch,
|
|
2405
|
+
fetched,
|
|
2406
|
+
data_serializer
|
|
2407
|
+
});
|
|
2408
|
+
}
|
|
2409
|
+
return static_error_page(options, status, error.message);
|
|
2410
|
+
}
|
|
2411
|
+
else branch.push(null);
|
|
2412
|
+
}
|
|
2413
|
+
if (state.prerendering && data_serializer_json) {
|
|
2414
|
+
let { data, chunks } = data_serializer_json.get_data();
|
|
2415
|
+
if (chunks) for await (const chunk of chunks) data += chunk;
|
|
2416
|
+
state.prerendering.dependencies.set(data_pathname, {
|
|
2417
|
+
response: text(data),
|
|
2418
|
+
body: data
|
|
2419
|
+
});
|
|
2420
|
+
}
|
|
2421
|
+
return await render_response({
|
|
2422
|
+
event,
|
|
2423
|
+
event_state,
|
|
2424
|
+
options,
|
|
2425
|
+
manifest,
|
|
2426
|
+
state,
|
|
2427
|
+
resolve_opts,
|
|
2428
|
+
page_config: {
|
|
2429
|
+
csr,
|
|
2430
|
+
ssr
|
|
2431
|
+
},
|
|
2432
|
+
status,
|
|
2433
|
+
error: null,
|
|
2434
|
+
branch: compact(branch),
|
|
2435
|
+
action_result,
|
|
2436
|
+
fetched,
|
|
2437
|
+
data_serializer: !ssr ? server_data_serializer(event, event_state, options) : data_serializer,
|
|
2438
|
+
error_components: await load_error_components(options, ssr, branch, page, manifest)
|
|
2439
|
+
});
|
|
2440
|
+
} catch (e) {
|
|
2441
|
+
if (e instanceof Redirect) return redirect_response(e.status, e.location);
|
|
2442
|
+
return await respond_with_error({
|
|
2443
|
+
event,
|
|
2444
|
+
event_state,
|
|
2445
|
+
options,
|
|
2446
|
+
manifest,
|
|
2447
|
+
state,
|
|
2448
|
+
status: e instanceof HttpError ? e.status : 500,
|
|
2449
|
+
error: e,
|
|
2450
|
+
resolve_opts
|
|
2451
|
+
});
|
|
2452
|
+
}
|
|
2453
|
+
}
|
|
2454
|
+
/**
|
|
2455
|
+
*
|
|
2456
|
+
* @param {SSROptions} options
|
|
2457
|
+
* @param {boolean} ssr
|
|
2458
|
+
* @param {Array<import('./types.js').Loaded | null>} branch
|
|
2459
|
+
* @param {PageNodeIndexes} page
|
|
2460
|
+
* @param {SSRManifest} manifest
|
|
2461
|
+
*/
|
|
2462
|
+
async function load_error_components(options, ssr, branch, page, manifest) {
|
|
2463
|
+
/** @type {Array<SSRComponent | undefined> | undefined} */
|
|
2464
|
+
let error_components;
|
|
2465
|
+
if (options.server_error_boundaries && ssr) {
|
|
2466
|
+
let last_idx = -1;
|
|
2467
|
+
error_components = await Promise.all(branch.map((b, i) => {
|
|
2468
|
+
if (i === 0) return void 0;
|
|
2469
|
+
if (!b) return null;
|
|
2470
|
+
i--;
|
|
2471
|
+
while (i > last_idx + 1 && page.errors[i] === void 0) i -= 1;
|
|
2472
|
+
last_idx = i;
|
|
2473
|
+
const idx = page.errors[i];
|
|
2474
|
+
if (idx == null) return void 0;
|
|
2475
|
+
return manifest._.nodes[idx]?.().then((e) => e.component?.()).catch(() => void 0);
|
|
2476
|
+
}).filter((e) => e !== null));
|
|
2477
|
+
}
|
|
2478
|
+
return error_components;
|
|
2479
|
+
}
|
|
2480
|
+
//#endregion
|
|
2481
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/data/index.js
|
|
2482
|
+
/**
|
|
2483
|
+
* @param {import('@sveltejs/kit').RequestEvent} event
|
|
2484
|
+
* @param {import('types').RequestState} event_state
|
|
2485
|
+
* @param {import('types').SSRRoute} route
|
|
2486
|
+
* @param {import('types').SSROptions} options
|
|
2487
|
+
* @param {import('@sveltejs/kit').SSRManifest} manifest
|
|
2488
|
+
* @param {import('types').SSRState} state
|
|
2489
|
+
* @param {boolean[] | undefined} invalidated_data_nodes
|
|
2490
|
+
* @param {import('types').TrailingSlash} trailing_slash
|
|
2491
|
+
* @returns {Promise<Response>}
|
|
2492
|
+
*/
|
|
2493
|
+
async function render_data(event, event_state, route, options, manifest, state, invalidated_data_nodes, trailing_slash) {
|
|
2494
|
+
if (!route.page) return new Response(void 0, { status: 404 });
|
|
2495
|
+
try {
|
|
2496
|
+
const node_ids = [...route.page.layouts, route.page.leaf];
|
|
2497
|
+
const invalidated = invalidated_data_nodes ?? node_ids.map(() => true);
|
|
2498
|
+
let aborted = false;
|
|
2499
|
+
const url = new URL(event.url);
|
|
2500
|
+
url.pathname = normalize_path(url.pathname, trailing_slash);
|
|
2501
|
+
const new_event = {
|
|
2502
|
+
...event,
|
|
2503
|
+
url
|
|
2504
|
+
};
|
|
2505
|
+
const functions = node_ids.map((n, i) => {
|
|
2506
|
+
return once(async () => {
|
|
2507
|
+
try {
|
|
2508
|
+
if (aborted) return { type: "skip" };
|
|
2509
|
+
const node = n == void 0 ? n : await manifest._.nodes[n]();
|
|
2510
|
+
return load_server_data({
|
|
2511
|
+
event: new_event,
|
|
2512
|
+
event_state,
|
|
2513
|
+
state,
|
|
2514
|
+
node,
|
|
2515
|
+
parent: async () => {
|
|
2516
|
+
/** @type {Record<string, any>} */
|
|
2517
|
+
const data = {};
|
|
2518
|
+
for (let j = 0; j < i; j += 1) {
|
|
2519
|
+
const parent = await functions[j]();
|
|
2520
|
+
if (parent) Object.assign(data, parent.data);
|
|
2521
|
+
}
|
|
2522
|
+
return data;
|
|
2523
|
+
}
|
|
2524
|
+
});
|
|
2525
|
+
} catch (e) {
|
|
2526
|
+
aborted = true;
|
|
2527
|
+
throw e;
|
|
2528
|
+
}
|
|
2529
|
+
});
|
|
2530
|
+
});
|
|
2531
|
+
const promises = functions.map(async (fn, i) => {
|
|
2532
|
+
if (!invalidated[i]) return { type: "skip" };
|
|
2533
|
+
return fn();
|
|
2534
|
+
});
|
|
2535
|
+
let length = promises.length;
|
|
2536
|
+
const nodes = await Promise.all(promises.map((p, i) => p.catch(async (error) => {
|
|
2537
|
+
if (error instanceof Redirect) throw error;
|
|
2538
|
+
length = Math.min(length, i + 1);
|
|
2539
|
+
return {
|
|
2540
|
+
type: "error",
|
|
2541
|
+
error: await handle_error_and_jsonify(event, event_state, options, error),
|
|
2542
|
+
status: error instanceof HttpError || error instanceof SvelteKitError ? error.status : void 0
|
|
2543
|
+
};
|
|
2544
|
+
})));
|
|
2545
|
+
const data_serializer = server_data_serializer_json(event, event_state, options);
|
|
2546
|
+
for (let i = 0; i < nodes.length; i++) data_serializer.add_node(i, nodes[i]);
|
|
2547
|
+
const { data, chunks } = data_serializer.get_data();
|
|
2548
|
+
if (!chunks) return json_response(data);
|
|
2549
|
+
return new Response(new ReadableStream({
|
|
2550
|
+
async start(controller) {
|
|
2551
|
+
controller.enqueue(text_encoder.encode(data));
|
|
2552
|
+
for await (const chunk of chunks) controller.enqueue(text_encoder.encode(chunk));
|
|
2553
|
+
controller.close();
|
|
2554
|
+
},
|
|
2555
|
+
type: "bytes"
|
|
2556
|
+
}), { headers: {
|
|
2557
|
+
"content-type": "text/sveltekit-data",
|
|
2558
|
+
"cache-control": "private, no-store"
|
|
2559
|
+
} });
|
|
2560
|
+
} catch (e) {
|
|
2561
|
+
const error = normalize_error(e);
|
|
2562
|
+
if (error instanceof Redirect) return redirect_json_response(error);
|
|
2563
|
+
else return json_response(await handle_error_and_jsonify(event, event_state, options, error), 500);
|
|
2564
|
+
}
|
|
2565
|
+
}
|
|
2566
|
+
/**
|
|
2567
|
+
* @param {Record<string, any> | string} json
|
|
2568
|
+
* @param {number} [status]
|
|
2569
|
+
*/
|
|
2570
|
+
function json_response(json, status = 200) {
|
|
2571
|
+
return text(typeof json === "string" ? json : JSON.stringify(json), {
|
|
2572
|
+
status,
|
|
2573
|
+
headers: {
|
|
2574
|
+
"content-type": "application/json",
|
|
2575
|
+
"cache-control": "private, no-store"
|
|
2576
|
+
}
|
|
2577
|
+
});
|
|
2578
|
+
}
|
|
2579
|
+
/**
|
|
2580
|
+
* @param {Redirect} redirect
|
|
2581
|
+
*/
|
|
2582
|
+
function redirect_json_response(redirect) {
|
|
2583
|
+
return json_response({
|
|
2584
|
+
type: "redirect",
|
|
2585
|
+
location: redirect.location
|
|
2586
|
+
});
|
|
2587
|
+
}
|
|
2588
|
+
/*!
|
|
2589
|
+
* cookie
|
|
2590
|
+
* Copyright(c) 2012-2014 Roman Shtylman
|
|
2591
|
+
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
2592
|
+
* MIT Licensed
|
|
2593
|
+
*/
|
|
2594
|
+
//#endregion
|
|
2595
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/cookie.js
|
|
2596
|
+
var import_cookie = (/* @__PURE__ */ __commonJSMin(((exports$1) => {
|
|
2597
|
+
/**
|
|
2598
|
+
* Module exports.
|
|
2599
|
+
* @public
|
|
2600
|
+
*/
|
|
2601
|
+
exports$1.parse = parse;
|
|
2602
|
+
exports$1.serialize = serialize;
|
|
2603
|
+
/**
|
|
2604
|
+
* Module variables.
|
|
2605
|
+
* @private
|
|
2606
|
+
*/
|
|
2607
|
+
var __toString = Object.prototype.toString;
|
|
2608
|
+
/**
|
|
2609
|
+
* RegExp to match field-content in RFC 7230 sec 3.2
|
|
2610
|
+
*
|
|
2611
|
+
* field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]
|
|
2612
|
+
* field-vchar = VCHAR / obs-text
|
|
2613
|
+
* obs-text = %x80-FF
|
|
2614
|
+
*/
|
|
2615
|
+
var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;
|
|
2616
|
+
/**
|
|
2617
|
+
* Parse a cookie header.
|
|
2618
|
+
*
|
|
2619
|
+
* Parse the given cookie header string into an object
|
|
2620
|
+
* The object has the various cookies as keys(names) => values
|
|
2621
|
+
*
|
|
2622
|
+
* @param {string} str
|
|
2623
|
+
* @param {object} [options]
|
|
2624
|
+
* @return {object}
|
|
2625
|
+
* @public
|
|
2626
|
+
*/
|
|
2627
|
+
function parse(str, options) {
|
|
2628
|
+
if (typeof str !== "string") throw new TypeError("argument str must be a string");
|
|
2629
|
+
var obj = {};
|
|
2630
|
+
var dec = (options || {}).decode || decode;
|
|
2631
|
+
var index = 0;
|
|
2632
|
+
while (index < str.length) {
|
|
2633
|
+
var eqIdx = str.indexOf("=", index);
|
|
2634
|
+
if (eqIdx === -1) break;
|
|
2635
|
+
var endIdx = str.indexOf(";", index);
|
|
2636
|
+
if (endIdx === -1) endIdx = str.length;
|
|
2637
|
+
else if (endIdx < eqIdx) {
|
|
2638
|
+
index = str.lastIndexOf(";", eqIdx - 1) + 1;
|
|
2639
|
+
continue;
|
|
2640
|
+
}
|
|
2641
|
+
var key = str.slice(index, eqIdx).trim();
|
|
2642
|
+
if (void 0 === obj[key]) {
|
|
2643
|
+
var val = str.slice(eqIdx + 1, endIdx).trim();
|
|
2644
|
+
if (val.charCodeAt(0) === 34) val = val.slice(1, -1);
|
|
2645
|
+
obj[key] = tryDecode(val, dec);
|
|
2646
|
+
}
|
|
2647
|
+
index = endIdx + 1;
|
|
2648
|
+
}
|
|
2649
|
+
return obj;
|
|
2650
|
+
}
|
|
2651
|
+
/**
|
|
2652
|
+
* Serialize data into a cookie header.
|
|
2653
|
+
*
|
|
2654
|
+
* Serialize the a name value pair into a cookie string suitable for
|
|
2655
|
+
* http headers. An optional options object specified cookie parameters.
|
|
2656
|
+
*
|
|
2657
|
+
* serialize('foo', 'bar', { httpOnly: true })
|
|
2658
|
+
* => "foo=bar; httpOnly"
|
|
2659
|
+
*
|
|
2660
|
+
* @param {string} name
|
|
2661
|
+
* @param {string} val
|
|
2662
|
+
* @param {object} [options]
|
|
2663
|
+
* @return {string}
|
|
2664
|
+
* @public
|
|
2665
|
+
*/
|
|
2666
|
+
function serialize(name, val, options) {
|
|
2667
|
+
var opt = options || {};
|
|
2668
|
+
var enc = opt.encode || encode;
|
|
2669
|
+
if (typeof enc !== "function") throw new TypeError("option encode is invalid");
|
|
2670
|
+
if (!fieldContentRegExp.test(name)) throw new TypeError("argument name is invalid");
|
|
2671
|
+
var value = enc(val);
|
|
2672
|
+
if (value && !fieldContentRegExp.test(value)) throw new TypeError("argument val is invalid");
|
|
2673
|
+
var str = name + "=" + value;
|
|
2674
|
+
if (null != opt.maxAge) {
|
|
2675
|
+
var maxAge = opt.maxAge - 0;
|
|
2676
|
+
if (isNaN(maxAge) || !isFinite(maxAge)) throw new TypeError("option maxAge is invalid");
|
|
2677
|
+
str += "; Max-Age=" + Math.floor(maxAge);
|
|
2678
|
+
}
|
|
2679
|
+
if (opt.domain) {
|
|
2680
|
+
if (!fieldContentRegExp.test(opt.domain)) throw new TypeError("option domain is invalid");
|
|
2681
|
+
str += "; Domain=" + opt.domain;
|
|
2682
|
+
}
|
|
2683
|
+
if (opt.path) {
|
|
2684
|
+
if (!fieldContentRegExp.test(opt.path)) throw new TypeError("option path is invalid");
|
|
2685
|
+
str += "; Path=" + opt.path;
|
|
2686
|
+
}
|
|
2687
|
+
if (opt.expires) {
|
|
2688
|
+
var expires = opt.expires;
|
|
2689
|
+
if (!isDate(expires) || isNaN(expires.valueOf())) throw new TypeError("option expires is invalid");
|
|
2690
|
+
str += "; Expires=" + expires.toUTCString();
|
|
2691
|
+
}
|
|
2692
|
+
if (opt.httpOnly) str += "; HttpOnly";
|
|
2693
|
+
if (opt.secure) str += "; Secure";
|
|
2694
|
+
if (opt.partitioned) str += "; Partitioned";
|
|
2695
|
+
if (opt.priority) switch (typeof opt.priority === "string" ? opt.priority.toLowerCase() : opt.priority) {
|
|
2696
|
+
case "low":
|
|
2697
|
+
str += "; Priority=Low";
|
|
2698
|
+
break;
|
|
2699
|
+
case "medium":
|
|
2700
|
+
str += "; Priority=Medium";
|
|
2701
|
+
break;
|
|
2702
|
+
case "high":
|
|
2703
|
+
str += "; Priority=High";
|
|
2704
|
+
break;
|
|
2705
|
+
default: throw new TypeError("option priority is invalid");
|
|
2706
|
+
}
|
|
2707
|
+
if (opt.sameSite) switch (typeof opt.sameSite === "string" ? opt.sameSite.toLowerCase() : opt.sameSite) {
|
|
2708
|
+
case true:
|
|
2709
|
+
str += "; SameSite=Strict";
|
|
2710
|
+
break;
|
|
2711
|
+
case "lax":
|
|
2712
|
+
str += "; SameSite=Lax";
|
|
2713
|
+
break;
|
|
2714
|
+
case "strict":
|
|
2715
|
+
str += "; SameSite=Strict";
|
|
2716
|
+
break;
|
|
2717
|
+
case "none":
|
|
2718
|
+
str += "; SameSite=None";
|
|
2719
|
+
break;
|
|
2720
|
+
default: throw new TypeError("option sameSite is invalid");
|
|
2721
|
+
}
|
|
2722
|
+
return str;
|
|
2723
|
+
}
|
|
2724
|
+
/**
|
|
2725
|
+
* URL-decode string value. Optimized to skip native call when no %.
|
|
2726
|
+
*
|
|
2727
|
+
* @param {string} str
|
|
2728
|
+
* @returns {string}
|
|
2729
|
+
*/
|
|
2730
|
+
function decode(str) {
|
|
2731
|
+
return str.indexOf("%") !== -1 ? decodeURIComponent(str) : str;
|
|
2732
|
+
}
|
|
2733
|
+
/**
|
|
2734
|
+
* URL-encode value.
|
|
2735
|
+
*
|
|
2736
|
+
* @param {string} val
|
|
2737
|
+
* @returns {string}
|
|
2738
|
+
*/
|
|
2739
|
+
function encode(val) {
|
|
2740
|
+
return encodeURIComponent(val);
|
|
2741
|
+
}
|
|
2742
|
+
/**
|
|
2743
|
+
* Determine if value is a Date.
|
|
2744
|
+
*
|
|
2745
|
+
* @param {*} val
|
|
2746
|
+
* @private
|
|
2747
|
+
*/
|
|
2748
|
+
function isDate(val) {
|
|
2749
|
+
return __toString.call(val) === "[object Date]" || val instanceof Date;
|
|
2750
|
+
}
|
|
2751
|
+
/**
|
|
2752
|
+
* Try decoding a string using a decoding function.
|
|
2753
|
+
*
|
|
2754
|
+
* @param {string} str
|
|
2755
|
+
* @param {function} decode
|
|
2756
|
+
* @private
|
|
2757
|
+
*/
|
|
2758
|
+
function tryDecode(str, decode) {
|
|
2759
|
+
try {
|
|
2760
|
+
return decode(str);
|
|
2761
|
+
} catch (e) {
|
|
2762
|
+
return str;
|
|
2763
|
+
}
|
|
2764
|
+
}
|
|
2765
|
+
})))();
|
|
2766
|
+
var INVALID_COOKIE_CHARACTER_REGEX = /[\x00-\x1F\x7F()<>@,;:"/[\]?={} \t]/;
|
|
2767
|
+
/** @param {import('./page/types.js').Cookie['options']} options */
|
|
2768
|
+
function validate_options(options) {
|
|
2769
|
+
if (options?.path === void 0) throw new Error("You must specify a `path` when setting, deleting or serializing cookies");
|
|
2770
|
+
}
|
|
2771
|
+
/**
|
|
2772
|
+
* Generates a unique key for a cookie based on its domain, path, and name in
|
|
2773
|
+
* the format: `<domain>/<path>?<name>`.
|
|
2774
|
+
* If domain is undefined, it will be omitted.
|
|
2775
|
+
* For example: `/?name`, `example.com/foo?name`.
|
|
2776
|
+
*
|
|
2777
|
+
* @param {string | undefined} domain
|
|
2778
|
+
* @param {string} path
|
|
2779
|
+
* @param {string} name
|
|
2780
|
+
* @returns {string}
|
|
2781
|
+
*/
|
|
2782
|
+
function generate_cookie_key(domain, path, name) {
|
|
2783
|
+
return `${domain || ""}${path}?${encodeURIComponent(name)}`;
|
|
2784
|
+
}
|
|
2785
|
+
/**
|
|
2786
|
+
* @param {Request} request
|
|
2787
|
+
* @param {URL} url
|
|
2788
|
+
*/
|
|
2789
|
+
function get_cookies(request, url) {
|
|
2790
|
+
const header = request.headers.get("cookie") ?? "";
|
|
2791
|
+
const initial_cookies = (0, import_cookie.parse)(header, { decode: (value) => value });
|
|
2792
|
+
/** @type {string | undefined} */
|
|
2793
|
+
let normalized_url;
|
|
2794
|
+
/** @type {Map<string, import('./page/types.js').Cookie>} */
|
|
2795
|
+
const new_cookies = /* @__PURE__ */ new Map();
|
|
2796
|
+
/** @type {import('cookie').CookieSerializeOptions} */
|
|
2797
|
+
const defaults = {
|
|
2798
|
+
httpOnly: true,
|
|
2799
|
+
sameSite: "lax",
|
|
2800
|
+
secure: url.hostname === "localhost" && url.protocol === "http:" ? false : true
|
|
2801
|
+
};
|
|
2802
|
+
/** @type {import('@sveltejs/kit').Cookies} */
|
|
2803
|
+
const cookies = {
|
|
2804
|
+
/**
|
|
2805
|
+
* @param {string} name
|
|
2806
|
+
* @param {import('cookie').CookieParseOptions} [opts]
|
|
2807
|
+
*/
|
|
2808
|
+
get(name, opts) {
|
|
2809
|
+
const best_match = Array.from(new_cookies.values()).filter((c) => {
|
|
2810
|
+
return c.name === name && domain_matches(url.hostname, c.options.domain) && path_matches(url.pathname, c.options.path);
|
|
2811
|
+
}).sort((a, b) => b.options.path.length - a.options.path.length)[0];
|
|
2812
|
+
if (best_match) return best_match.options.maxAge === 0 ? void 0 : best_match.value;
|
|
2813
|
+
return (0, import_cookie.parse)(header, { decode: opts?.decode })[name];
|
|
2814
|
+
},
|
|
2815
|
+
/**
|
|
2816
|
+
* @param {import('cookie').CookieParseOptions} [opts]
|
|
2817
|
+
*/
|
|
2818
|
+
getAll(opts) {
|
|
2819
|
+
const cookies = (0, import_cookie.parse)(header, { decode: opts?.decode });
|
|
2820
|
+
const lookup = /* @__PURE__ */ new Map();
|
|
2821
|
+
for (const c of new_cookies.values()) if (domain_matches(url.hostname, c.options.domain) && path_matches(url.pathname, c.options.path)) {
|
|
2822
|
+
const existing = lookup.get(c.name);
|
|
2823
|
+
if (!existing || c.options.path.length > existing.options.path.length) lookup.set(c.name, c);
|
|
2824
|
+
}
|
|
2825
|
+
for (const c of lookup.values()) cookies[c.name] = c.value;
|
|
2826
|
+
return Object.entries(cookies).map(([name, value]) => ({
|
|
2827
|
+
name,
|
|
2828
|
+
value
|
|
2829
|
+
}));
|
|
2830
|
+
},
|
|
2831
|
+
/**
|
|
2832
|
+
* @param {string} name
|
|
2833
|
+
* @param {string} value
|
|
2834
|
+
* @param {import('./page/types.js').Cookie['options']} options
|
|
2835
|
+
*/
|
|
2836
|
+
set(name, value, options) {
|
|
2837
|
+
const illegal_characters = name.match(INVALID_COOKIE_CHARACTER_REGEX);
|
|
2838
|
+
if (illegal_characters) console.warn(`The cookie name "${name}" will be invalid in SvelteKit 3.0 as it contains ${illegal_characters.join(" and ")}. See RFC 2616 for more details https://datatracker.ietf.org/doc/html/rfc2616#section-2.2`);
|
|
2839
|
+
validate_options(options);
|
|
2840
|
+
set_internal(name, value, {
|
|
2841
|
+
...defaults,
|
|
2842
|
+
...options
|
|
2843
|
+
});
|
|
2844
|
+
},
|
|
2845
|
+
/**
|
|
2846
|
+
* @param {string} name
|
|
2847
|
+
* @param {import('./page/types.js').Cookie['options']} options
|
|
2848
|
+
*/
|
|
2849
|
+
delete(name, options) {
|
|
2850
|
+
validate_options(options);
|
|
2851
|
+
cookies.set(name, "", {
|
|
2852
|
+
...options,
|
|
2853
|
+
maxAge: 0
|
|
2854
|
+
});
|
|
2855
|
+
},
|
|
2856
|
+
/**
|
|
2857
|
+
* @param {string} name
|
|
2858
|
+
* @param {string} value
|
|
2859
|
+
* @param {import('./page/types.js').Cookie['options']} options
|
|
2860
|
+
*/
|
|
2861
|
+
serialize(name, value, options) {
|
|
2862
|
+
validate_options(options);
|
|
2863
|
+
let path = options.path;
|
|
2864
|
+
if (!options.domain || options.domain === url.hostname) {
|
|
2865
|
+
if (!normalized_url) throw new Error("Cannot serialize cookies until after the route is determined");
|
|
2866
|
+
path = resolve(normalized_url, path);
|
|
2867
|
+
}
|
|
2868
|
+
return (0, import_cookie.serialize)(name, value, {
|
|
2869
|
+
...defaults,
|
|
2870
|
+
...options,
|
|
2871
|
+
path
|
|
2872
|
+
});
|
|
2873
|
+
}
|
|
2874
|
+
};
|
|
2875
|
+
/**
|
|
2876
|
+
* @param {URL} destination
|
|
2877
|
+
* @param {string | null} header
|
|
2878
|
+
*/
|
|
2879
|
+
function get_cookie_header(destination, header) {
|
|
2880
|
+
/** @type {Record<string, string>} */
|
|
2881
|
+
const combined_cookies = { ...initial_cookies };
|
|
2882
|
+
for (const cookie of new_cookies.values()) {
|
|
2883
|
+
if (!domain_matches(destination.hostname, cookie.options.domain)) continue;
|
|
2884
|
+
if (!path_matches(destination.pathname, cookie.options.path)) continue;
|
|
2885
|
+
const encoder = cookie.options.encode || encodeURIComponent;
|
|
2886
|
+
combined_cookies[cookie.name] = encoder(cookie.value);
|
|
2887
|
+
}
|
|
2888
|
+
if (header) {
|
|
2889
|
+
const parsed = (0, import_cookie.parse)(header, { decode: (value) => value });
|
|
2890
|
+
for (const name in parsed) combined_cookies[name] = parsed[name];
|
|
2891
|
+
}
|
|
2892
|
+
return Object.entries(combined_cookies).map(([name, value]) => `${name}=${value}`).join("; ");
|
|
2893
|
+
}
|
|
2894
|
+
/** @type {Array<() => void>} */
|
|
2895
|
+
const internal_queue = [];
|
|
2896
|
+
/**
|
|
2897
|
+
* @param {string} name
|
|
2898
|
+
* @param {string} value
|
|
2899
|
+
* @param {import('./page/types.js').Cookie['options']} options
|
|
2900
|
+
*/
|
|
2901
|
+
function set_internal(name, value, options) {
|
|
2902
|
+
if (!normalized_url) {
|
|
2903
|
+
internal_queue.push(() => set_internal(name, value, options));
|
|
2904
|
+
return;
|
|
2905
|
+
}
|
|
2906
|
+
let path = options.path;
|
|
2907
|
+
if (!options.domain || options.domain === url.hostname) path = resolve(normalized_url, path);
|
|
2908
|
+
const cookie_key = generate_cookie_key(options.domain, path, name);
|
|
2909
|
+
const cookie = {
|
|
2910
|
+
name,
|
|
2911
|
+
value,
|
|
2912
|
+
options: {
|
|
2913
|
+
...options,
|
|
2914
|
+
path
|
|
2915
|
+
}
|
|
2916
|
+
};
|
|
2917
|
+
new_cookies.set(cookie_key, cookie);
|
|
2918
|
+
}
|
|
2919
|
+
/**
|
|
2920
|
+
* @param {import('types').TrailingSlash} trailing_slash
|
|
2921
|
+
*/
|
|
2922
|
+
function set_trailing_slash(trailing_slash) {
|
|
2923
|
+
normalized_url = normalize_path(url.pathname, trailing_slash);
|
|
2924
|
+
internal_queue.forEach((fn) => fn());
|
|
2925
|
+
}
|
|
2926
|
+
return {
|
|
2927
|
+
cookies,
|
|
2928
|
+
new_cookies,
|
|
2929
|
+
get_cookie_header,
|
|
2930
|
+
set_internal,
|
|
2931
|
+
set_trailing_slash
|
|
2932
|
+
};
|
|
2933
|
+
}
|
|
2934
|
+
/**
|
|
2935
|
+
* @param {string} hostname
|
|
2936
|
+
* @param {string} [constraint]
|
|
2937
|
+
*/
|
|
2938
|
+
function domain_matches(hostname, constraint) {
|
|
2939
|
+
if (!constraint) return true;
|
|
2940
|
+
const normalized = constraint[0] === "." ? constraint.slice(1) : constraint;
|
|
2941
|
+
if (hostname === normalized) return true;
|
|
2942
|
+
return hostname.endsWith("." + normalized);
|
|
2943
|
+
}
|
|
2944
|
+
/**
|
|
2945
|
+
* @param {string} path
|
|
2946
|
+
* @param {string} [constraint]
|
|
2947
|
+
*/
|
|
2948
|
+
function path_matches(path, constraint) {
|
|
2949
|
+
if (!constraint) return true;
|
|
2950
|
+
const normalized = constraint.endsWith("/") ? constraint.slice(0, -1) : constraint;
|
|
2951
|
+
if (path === normalized) return true;
|
|
2952
|
+
return path.startsWith(normalized + "/");
|
|
2953
|
+
}
|
|
2954
|
+
/**
|
|
2955
|
+
* @param {Headers} headers
|
|
2956
|
+
* @param {MapIterator<import('./page/types.js').Cookie>} cookies
|
|
2957
|
+
*/
|
|
2958
|
+
function add_cookies_to_headers(headers, cookies) {
|
|
2959
|
+
for (const new_cookie of cookies) {
|
|
2960
|
+
const { name, value, options } = new_cookie;
|
|
2961
|
+
headers.append("set-cookie", (0, import_cookie.serialize)(name, value, options));
|
|
2962
|
+
if (options.path.endsWith(".html")) {
|
|
2963
|
+
const path = add_data_suffix(options.path);
|
|
2964
|
+
headers.append("set-cookie", (0, import_cookie.serialize)(name, value, {
|
|
2965
|
+
...options,
|
|
2966
|
+
path
|
|
2967
|
+
}));
|
|
2968
|
+
}
|
|
2969
|
+
}
|
|
2970
|
+
}
|
|
2971
|
+
//#endregion
|
|
2972
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/fetch.js
|
|
2973
|
+
/**
|
|
2974
|
+
* @param {{
|
|
2975
|
+
* event: import('@sveltejs/kit').RequestEvent;
|
|
2976
|
+
* options: import('types').SSROptions;
|
|
2977
|
+
* manifest: import('@sveltejs/kit').SSRManifest;
|
|
2978
|
+
* state: import('types').SSRState;
|
|
2979
|
+
* get_cookie_header: (url: URL, header: string | null) => string;
|
|
2980
|
+
* set_internal: (name: string, value: string, opts: import('./page/types.js').Cookie['options']) => void;
|
|
2981
|
+
* }} opts
|
|
2982
|
+
* @returns {typeof fetch}
|
|
2983
|
+
*/
|
|
2984
|
+
function create_fetch({ event, options, manifest, state, get_cookie_header, set_internal }) {
|
|
2985
|
+
/**
|
|
2986
|
+
* @type {typeof fetch}
|
|
2987
|
+
*/
|
|
2988
|
+
const server_fetch = async (info, init) => {
|
|
2989
|
+
const original_request = normalize_fetch_input(info, init, event.url);
|
|
2990
|
+
let mode = (info instanceof Request ? info.mode : init?.mode) ?? "cors";
|
|
2991
|
+
let credentials = (info instanceof Request ? info.credentials : init?.credentials) ?? "same-origin";
|
|
2992
|
+
return options.hooks.handleFetch({
|
|
2993
|
+
event,
|
|
2994
|
+
request: original_request,
|
|
2995
|
+
fetch: async (info, init) => {
|
|
2996
|
+
const request = normalize_fetch_input(info, init, event.url);
|
|
2997
|
+
const url = new URL(request.url);
|
|
2998
|
+
if (!request.headers.has("origin")) request.headers.set("origin", event.url.origin);
|
|
2999
|
+
if (info !== original_request) {
|
|
3000
|
+
mode = (info instanceof Request ? info.mode : init?.mode) ?? "cors";
|
|
3001
|
+
credentials = (info instanceof Request ? info.credentials : init?.credentials) ?? "same-origin";
|
|
3002
|
+
}
|
|
3003
|
+
if ((request.method === "GET" || request.method === "HEAD") && (mode === "no-cors" && url.origin !== event.url.origin || url.origin === event.url.origin)) request.headers.delete("origin");
|
|
3004
|
+
const decoded = decodeURIComponent(url.pathname);
|
|
3005
|
+
if (url.origin !== event.url.origin || base && decoded !== base && !decoded.startsWith(`${base}/`)) {
|
|
3006
|
+
if (`.${url.hostname}`.endsWith(`.${event.url.hostname}`) && credentials !== "omit") {
|
|
3007
|
+
const cookie = get_cookie_header(url, request.headers.get("cookie"));
|
|
3008
|
+
if (cookie) request.headers.set("cookie", cookie);
|
|
3009
|
+
}
|
|
3010
|
+
return fetch(request);
|
|
3011
|
+
}
|
|
3012
|
+
const prefix = assets || base;
|
|
3013
|
+
const filename = (decoded.startsWith(prefix) ? decoded.slice(prefix.length) : decoded).slice(1);
|
|
3014
|
+
const filename_html = `${filename}/index.html`;
|
|
3015
|
+
const is_asset = manifest.assets.has(filename) || filename in manifest._.server_assets;
|
|
3016
|
+
const is_asset_html = manifest.assets.has(filename_html) || filename_html in manifest._.server_assets;
|
|
3017
|
+
if (is_asset || is_asset_html) {
|
|
3018
|
+
const file = is_asset ? filename : filename_html;
|
|
3019
|
+
if (state.read) {
|
|
3020
|
+
const type = is_asset ? manifest.mimeTypes[filename.slice(filename.lastIndexOf("."))] : "text/html";
|
|
3021
|
+
return new Response(state.read(file), { headers: type ? { "content-type": type } : {} });
|
|
3022
|
+
} else if (read_implementation && file in manifest._.server_assets) {
|
|
3023
|
+
const length = manifest._.server_assets[file];
|
|
3024
|
+
const type = manifest.mimeTypes[file.slice(file.lastIndexOf("."))];
|
|
3025
|
+
return new Response(read_implementation(file), { headers: {
|
|
3026
|
+
"Content-Length": "" + length,
|
|
3027
|
+
"Content-Type": type
|
|
3028
|
+
} });
|
|
3029
|
+
}
|
|
3030
|
+
return await fetch(request);
|
|
3031
|
+
}
|
|
3032
|
+
if (has_prerendered_path(manifest, base + decoded)) return await fetch(request);
|
|
3033
|
+
if (credentials !== "omit") {
|
|
3034
|
+
const cookie = get_cookie_header(url, request.headers.get("cookie"));
|
|
3035
|
+
if (cookie) request.headers.set("cookie", cookie);
|
|
3036
|
+
const authorization = event.request.headers.get("authorization");
|
|
3037
|
+
if (authorization && !request.headers.has("authorization")) request.headers.set("authorization", authorization);
|
|
3038
|
+
}
|
|
3039
|
+
if (!request.headers.has("accept")) request.headers.set("accept", "*/*");
|
|
3040
|
+
if (!request.headers.has("accept-language")) request.headers.set("accept-language", event.request.headers.get("accept-language"));
|
|
3041
|
+
const response = await internal_fetch(request, options, manifest, state);
|
|
3042
|
+
for (const str of get_set_cookies(response.headers)) {
|
|
3043
|
+
const { name, value, ...options } = parseString(str, { decodeValues: false });
|
|
3044
|
+
set_internal(name, value, {
|
|
3045
|
+
path: options.path ?? (url.pathname.split("/").slice(0, -1).join("/") || "/"),
|
|
3046
|
+
encode: (value) => value,
|
|
3047
|
+
...options
|
|
3048
|
+
});
|
|
3049
|
+
}
|
|
3050
|
+
return response;
|
|
3051
|
+
}
|
|
3052
|
+
});
|
|
3053
|
+
};
|
|
3054
|
+
return (input, init) => {
|
|
3055
|
+
const response = server_fetch(input, init);
|
|
3056
|
+
response.catch(noop);
|
|
3057
|
+
return response;
|
|
3058
|
+
};
|
|
3059
|
+
}
|
|
3060
|
+
/**
|
|
3061
|
+
* @param {RequestInfo | URL} info
|
|
3062
|
+
* @param {RequestInit | undefined} init
|
|
3063
|
+
* @param {URL} url
|
|
3064
|
+
*/
|
|
3065
|
+
function normalize_fetch_input(info, init, url) {
|
|
3066
|
+
if (info instanceof Request) return info;
|
|
3067
|
+
return new Request(typeof info === "string" ? new URL(info, url) : info, init);
|
|
3068
|
+
}
|
|
3069
|
+
/**
|
|
3070
|
+
* @param {Request} request
|
|
3071
|
+
* @param {import('types').SSROptions} options
|
|
3072
|
+
* @param {import('@sveltejs/kit').SSRManifest} manifest
|
|
3073
|
+
* @param {import('types').SSRState} state
|
|
3074
|
+
* @returns {Promise<Response>}
|
|
3075
|
+
*/
|
|
3076
|
+
async function internal_fetch(request, options, manifest, state) {
|
|
3077
|
+
if (request.signal) {
|
|
3078
|
+
if (request.signal.aborted) throw new DOMException("The operation was aborted.", "AbortError");
|
|
3079
|
+
let remove_abort_listener = noop;
|
|
3080
|
+
/** @type {Promise<never>} */
|
|
3081
|
+
const abort_promise = new Promise((_, reject) => {
|
|
3082
|
+
const on_abort = () => {
|
|
3083
|
+
reject(new DOMException("The operation was aborted.", "AbortError"));
|
|
3084
|
+
};
|
|
3085
|
+
request.signal.addEventListener("abort", on_abort, { once: true });
|
|
3086
|
+
remove_abort_listener = () => request.signal.removeEventListener("abort", on_abort);
|
|
3087
|
+
});
|
|
3088
|
+
const result = await Promise.race([respond(request, options, manifest, {
|
|
3089
|
+
...state,
|
|
3090
|
+
depth: state.depth + 1
|
|
3091
|
+
}), abort_promise]);
|
|
3092
|
+
remove_abort_listener();
|
|
3093
|
+
return result;
|
|
3094
|
+
} else return await respond(request, options, manifest, {
|
|
3095
|
+
...state,
|
|
3096
|
+
depth: state.depth + 1
|
|
3097
|
+
});
|
|
3098
|
+
}
|
|
3099
|
+
//#endregion
|
|
3100
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/env_module.js
|
|
3101
|
+
/** @type {string} */
|
|
3102
|
+
var payload;
|
|
3103
|
+
/** @type {string} */
|
|
3104
|
+
var etag;
|
|
3105
|
+
/** @type {Headers} */
|
|
3106
|
+
var headers;
|
|
3107
|
+
/**
|
|
3108
|
+
* @param {Request} request
|
|
3109
|
+
* @returns {Response}
|
|
3110
|
+
*/
|
|
3111
|
+
function get_public_env(request) {
|
|
3112
|
+
const script = request.url.endsWith(".script.js");
|
|
3113
|
+
payload ??= uneval(public_env);
|
|
3114
|
+
etag ??= `W/${Date.now()}`;
|
|
3115
|
+
headers ??= new Headers({
|
|
3116
|
+
"content-type": "application/javascript; charset=utf-8",
|
|
3117
|
+
etag
|
|
3118
|
+
});
|
|
3119
|
+
if (request.headers.get("if-none-match") === etag) return new Response(void 0, {
|
|
3120
|
+
status: 304,
|
|
3121
|
+
headers
|
|
3122
|
+
});
|
|
3123
|
+
if (script) return new Response(`globalThis.__sveltekit_sw={env:${payload}}`, { headers });
|
|
3124
|
+
return new Response(`export const env=${payload}`, { headers });
|
|
3125
|
+
}
|
|
3126
|
+
//#endregion
|
|
3127
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/respond.js
|
|
3128
|
+
/** @import { RequestState, SSRNode } from 'types' */
|
|
3129
|
+
/** @type {import('types').RequiredResolveOptions['transformPageChunk']} */
|
|
3130
|
+
var default_transform = ({ html }) => html;
|
|
3131
|
+
/** @type {import('types').RequiredResolveOptions['filterSerializedResponseHeaders']} */
|
|
3132
|
+
var default_filter = () => false;
|
|
3133
|
+
/** @type {import('types').RequiredResolveOptions['preload']} */
|
|
3134
|
+
var default_preload = ({ type }) => type === "js" || type === "css";
|
|
3135
|
+
var page_methods = /* @__PURE__ */ new Set([
|
|
3136
|
+
"GET",
|
|
3137
|
+
"HEAD",
|
|
3138
|
+
"POST"
|
|
3139
|
+
]);
|
|
3140
|
+
var allowed_page_methods = /* @__PURE__ */ new Set([
|
|
3141
|
+
"GET",
|
|
3142
|
+
"HEAD",
|
|
3143
|
+
"OPTIONS"
|
|
3144
|
+
]);
|
|
3145
|
+
var respond = propagate_context(internal_respond);
|
|
3146
|
+
/**
|
|
3147
|
+
* @param {Request} request
|
|
3148
|
+
* @param {import('types').SSROptions} options
|
|
3149
|
+
* @param {import('@sveltejs/kit').SSRManifest} manifest
|
|
3150
|
+
* @param {import('types').SSRState} state
|
|
3151
|
+
* @returns {Promise<Response>}
|
|
3152
|
+
*/
|
|
3153
|
+
async function internal_respond(request, options, manifest, state) {
|
|
3154
|
+
/** URL but stripped from the potential `/__data.json` suffix and its search param */
|
|
3155
|
+
const url = new URL(request.url);
|
|
3156
|
+
const is_route_resolution_request = has_resolution_suffix(url.pathname);
|
|
3157
|
+
const is_data_request = has_data_suffix(url.pathname);
|
|
3158
|
+
const remote_id = get_remote_id(url);
|
|
3159
|
+
{
|
|
3160
|
+
const request_origin = request.headers.get("origin");
|
|
3161
|
+
if (remote_id) {
|
|
3162
|
+
if (request.method !== "GET" && request_origin !== url.origin) return json({ message: "Cross-site remote requests are forbidden" }, { status: 403 });
|
|
3163
|
+
} else if (options.csrf_check_origin) {
|
|
3164
|
+
if (is_form_content_type(request) && (request.method === "POST" || request.method === "PUT" || request.method === "PATCH" || request.method === "DELETE") && request_origin !== url.origin && (!request_origin || !options.csrf_trusted_origins.includes(request_origin))) {
|
|
3165
|
+
const message = `Cross-site ${request.method} form submissions are forbidden`;
|
|
3166
|
+
const opts = { status: 403 };
|
|
3167
|
+
if (request.headers.get("accept") === "application/json") return json({ message }, opts);
|
|
3168
|
+
return text(message, opts);
|
|
3169
|
+
}
|
|
3170
|
+
}
|
|
3171
|
+
}
|
|
3172
|
+
if (options.hash_routing && url.pathname !== base + "/" && url.pathname !== "/[fallback]") return text("Not found", { status: 404 });
|
|
3173
|
+
/** @type {boolean[] | undefined} */
|
|
3174
|
+
let invalidated_data_nodes;
|
|
3175
|
+
if (is_route_resolution_request)
|
|
3176
|
+
/**
|
|
3177
|
+
* If the request is for a route resolution, first modify the URL, then continue as normal
|
|
3178
|
+
* for path resolution, then return the route object as a JS file.
|
|
3179
|
+
*/
|
|
3180
|
+
url.pathname = strip_resolution_suffix(url.pathname);
|
|
3181
|
+
else if (is_data_request) {
|
|
3182
|
+
url.pathname = strip_data_suffix(url.pathname) + (url.searchParams.get("x-sveltekit-trailing-slash") === "1" ? "/" : "") || "/";
|
|
3183
|
+
url.searchParams.delete(TRAILING_SLASH_PARAM);
|
|
3184
|
+
invalidated_data_nodes = url.searchParams.get(INVALIDATED_PARAM)?.split("").map((node) => node === "1");
|
|
3185
|
+
url.searchParams.delete(INVALIDATED_PARAM);
|
|
3186
|
+
} else if (remote_id) {
|
|
3187
|
+
url.pathname = request.headers.get("x-sveltekit-pathname") ?? base;
|
|
3188
|
+
url.search = request.headers.get("x-sveltekit-search") ?? "";
|
|
3189
|
+
}
|
|
3190
|
+
/** @type {Record<string, string>} */
|
|
3191
|
+
const headers = {};
|
|
3192
|
+
const { cookies, new_cookies, get_cookie_header, set_internal, set_trailing_slash } = get_cookies(request, url);
|
|
3193
|
+
/** @type {RequestState} */
|
|
3194
|
+
const event_state = {
|
|
3195
|
+
prerendering: state.prerendering,
|
|
3196
|
+
transport: options.hooks.transport,
|
|
3197
|
+
handleValidationError: options.hooks.handleValidationError,
|
|
3198
|
+
tracing: { record_span },
|
|
3199
|
+
remote: {
|
|
3200
|
+
data: null,
|
|
3201
|
+
explicit: null,
|
|
3202
|
+
implicit: null,
|
|
3203
|
+
forms: null,
|
|
3204
|
+
requested: null,
|
|
3205
|
+
batches: null,
|
|
3206
|
+
live_iterators: null
|
|
3207
|
+
},
|
|
3208
|
+
is_in_remote_function: false,
|
|
3209
|
+
is_in_remote_form_or_command: false,
|
|
3210
|
+
is_in_remote_query: false,
|
|
3211
|
+
is_in_render: false,
|
|
3212
|
+
is_in_universal_load: false
|
|
3213
|
+
};
|
|
3214
|
+
/** @type {import('@sveltejs/kit').RequestEvent} */
|
|
3215
|
+
const event = {
|
|
3216
|
+
cookies,
|
|
3217
|
+
fetch: null,
|
|
3218
|
+
getClientAddress: state.getClientAddress || (() => {
|
|
3219
|
+
throw new Error(`@sveltejs/adapter-node does not specify getClientAddress. Please raise an issue`);
|
|
3220
|
+
}),
|
|
3221
|
+
locals: {},
|
|
3222
|
+
params: {},
|
|
3223
|
+
platform: state.platform,
|
|
3224
|
+
request,
|
|
3225
|
+
route: { id: null },
|
|
3226
|
+
setHeaders: (new_headers) => {
|
|
3227
|
+
for (const key in new_headers) {
|
|
3228
|
+
const lower = key.toLowerCase();
|
|
3229
|
+
const value = new_headers[key];
|
|
3230
|
+
if (lower === "set-cookie") throw new Error("Use `event.cookies.set(name, value, options)` instead of `event.setHeaders` to set cookies");
|
|
3231
|
+
else if (lower in headers) {
|
|
3232
|
+
if (lower === "server-timing") headers[lower] += ", " + value;
|
|
3233
|
+
else throw new Error(`"${key}" header is already set`);
|
|
3234
|
+
} else {
|
|
3235
|
+
headers[lower] = value;
|
|
3236
|
+
if (state.prerendering && lower === "cache-control") state.prerendering.cache = value;
|
|
3237
|
+
}
|
|
3238
|
+
}
|
|
3239
|
+
},
|
|
3240
|
+
url,
|
|
3241
|
+
isDataRequest: is_data_request,
|
|
3242
|
+
isSubRequest: state.depth > 0,
|
|
3243
|
+
isRemoteRequest: !!remote_id
|
|
3244
|
+
};
|
|
3245
|
+
event.fetch = create_fetch({
|
|
3246
|
+
event,
|
|
3247
|
+
options,
|
|
3248
|
+
manifest,
|
|
3249
|
+
state,
|
|
3250
|
+
get_cookie_header,
|
|
3251
|
+
set_internal
|
|
3252
|
+
});
|
|
3253
|
+
if (state.emulator?.platform) event.platform = await state.emulator.platform({
|
|
3254
|
+
config: {},
|
|
3255
|
+
prerender: !!state.prerendering?.fallback
|
|
3256
|
+
});
|
|
3257
|
+
/** @type {string | null} */
|
|
3258
|
+
let resolved_path = url.pathname;
|
|
3259
|
+
if (!remote_id) {
|
|
3260
|
+
const prerendering_reroute_state = state.prerendering?.inside_reroute;
|
|
3261
|
+
try {
|
|
3262
|
+
if (state.prerendering) state.prerendering.inside_reroute = true;
|
|
3263
|
+
resolved_path = await options.hooks.reroute({
|
|
3264
|
+
url: new URL(url),
|
|
3265
|
+
fetch: event.fetch
|
|
3266
|
+
}) ?? url.pathname;
|
|
3267
|
+
} catch {
|
|
3268
|
+
return text("Internal Server Error", { status: 500 });
|
|
3269
|
+
} finally {
|
|
3270
|
+
if (state.prerendering) state.prerendering.inside_reroute = prerendering_reroute_state;
|
|
3271
|
+
}
|
|
3272
|
+
}
|
|
3273
|
+
/** @type {import('types').RequiredResolveOptions} */
|
|
3274
|
+
let resolve_opts = {
|
|
3275
|
+
transformPageChunk: default_transform,
|
|
3276
|
+
filterSerializedResponseHeaders: default_filter,
|
|
3277
|
+
preload: default_preload
|
|
3278
|
+
};
|
|
3279
|
+
/** @type {import('types').TrailingSlash} */
|
|
3280
|
+
let trailing_slash = "never";
|
|
3281
|
+
/** @type {PageNodes | undefined} */
|
|
3282
|
+
let page_nodes;
|
|
3283
|
+
try {
|
|
3284
|
+
resolved_path = decode_pathname(resolved_path);
|
|
3285
|
+
} catch {
|
|
3286
|
+
resolved_path = null;
|
|
3287
|
+
return await handle();
|
|
3288
|
+
}
|
|
3289
|
+
if (resolved_path !== decode_pathname(url.pathname) && !state.prerendering?.fallback && has_prerendered_path(manifest, resolved_path)) {
|
|
3290
|
+
const url = new URL(request.url);
|
|
3291
|
+
url.pathname = is_data_request ? add_data_suffix(resolved_path) : is_route_resolution_request ? add_resolution_suffix(resolved_path) : resolved_path;
|
|
3292
|
+
try {
|
|
3293
|
+
const response = await fetch(url, request);
|
|
3294
|
+
const headers = new Headers(response.headers);
|
|
3295
|
+
if (headers.has("content-encoding")) {
|
|
3296
|
+
headers.delete("content-encoding");
|
|
3297
|
+
headers.delete("content-length");
|
|
3298
|
+
}
|
|
3299
|
+
return new Response(response.body, {
|
|
3300
|
+
headers,
|
|
3301
|
+
status: response.status,
|
|
3302
|
+
statusText: response.statusText
|
|
3303
|
+
});
|
|
3304
|
+
} catch (error) {
|
|
3305
|
+
return await handle_fatal_error(event, event_state, options, error);
|
|
3306
|
+
}
|
|
3307
|
+
}
|
|
3308
|
+
/** @type {import('types').SSRRoute | null} */
|
|
3309
|
+
let route = null;
|
|
3310
|
+
if (base && !state.prerendering?.fallback) {
|
|
3311
|
+
if (!resolved_path.startsWith(base)) return text("Not found", { status: 404 });
|
|
3312
|
+
resolved_path = resolved_path.slice(base.length) || "/";
|
|
3313
|
+
}
|
|
3314
|
+
if (is_route_resolution_request) return resolve_route(resolved_path, new URL(request.url), manifest);
|
|
3315
|
+
if (resolved_path === `/_app/env.js` || resolved_path === `/_app/env.script.js`) return get_public_env(request);
|
|
3316
|
+
if (!remote_id && resolved_path.startsWith(`/_app`)) {
|
|
3317
|
+
const headers = new Headers();
|
|
3318
|
+
headers.set("cache-control", "public, max-age=0, must-revalidate");
|
|
3319
|
+
return text("Not found", {
|
|
3320
|
+
status: 404,
|
|
3321
|
+
headers
|
|
3322
|
+
});
|
|
3323
|
+
}
|
|
3324
|
+
if (!state.prerendering?.fallback) {
|
|
3325
|
+
const matchers = await manifest._.matchers();
|
|
3326
|
+
const result = find_route(resolved_path, manifest._.routes, matchers);
|
|
3327
|
+
if (result) {
|
|
3328
|
+
route = result.route;
|
|
3329
|
+
event.route = { id: route.id };
|
|
3330
|
+
event.params = result.params;
|
|
3331
|
+
}
|
|
3332
|
+
}
|
|
3333
|
+
try {
|
|
3334
|
+
page_nodes = route?.page ? new PageNodes(await load_page_nodes(route.page, manifest)) : void 0;
|
|
3335
|
+
if (route && !remote_id) {
|
|
3336
|
+
if (url.pathname === base || url.pathname === base + "/") trailing_slash = "always";
|
|
3337
|
+
else if (page_nodes) trailing_slash = page_nodes.trailing_slash();
|
|
3338
|
+
else if (route.endpoint) trailing_slash = (await route.endpoint()).trailingSlash ?? "never";
|
|
3339
|
+
if (!is_data_request) {
|
|
3340
|
+
const normalized = normalize_path(url.pathname, trailing_slash);
|
|
3341
|
+
if (normalized !== url.pathname && !state.prerendering?.fallback) return new Response(void 0, {
|
|
3342
|
+
status: 308,
|
|
3343
|
+
headers: {
|
|
3344
|
+
"x-sveltekit-normalize": "1",
|
|
3345
|
+
location: (normalized.startsWith("//") ? url.origin + normalized : normalized) + (url.search === "?" ? "" : url.search)
|
|
3346
|
+
}
|
|
3347
|
+
});
|
|
3348
|
+
}
|
|
3349
|
+
if (state.before_handle || state.emulator?.platform) {
|
|
3350
|
+
let config = {};
|
|
3351
|
+
/** @type {import('types').PrerenderOption} */
|
|
3352
|
+
let prerender = false;
|
|
3353
|
+
if (route.endpoint) {
|
|
3354
|
+
const node = await route.endpoint();
|
|
3355
|
+
config = node.config ?? config;
|
|
3356
|
+
prerender = node.prerender ?? prerender;
|
|
3357
|
+
} else if (page_nodes) {
|
|
3358
|
+
config = page_nodes.get_config() ?? config;
|
|
3359
|
+
prerender = page_nodes.prerender();
|
|
3360
|
+
}
|
|
3361
|
+
if (state.emulator?.platform) event.platform = await state.emulator.platform({
|
|
3362
|
+
config,
|
|
3363
|
+
prerender
|
|
3364
|
+
});
|
|
3365
|
+
if (state.before_handle) return await state.before_handle(event, config, prerender, handle);
|
|
3366
|
+
}
|
|
3367
|
+
}
|
|
3368
|
+
return await handle();
|
|
3369
|
+
} catch (e) {
|
|
3370
|
+
if (e instanceof Redirect) try {
|
|
3371
|
+
const response = is_data_request || remote_id ? redirect_json_response(e) : route?.page && is_action_json_request(event) ? action_json_redirect(e) : redirect_response(e.status, e.location);
|
|
3372
|
+
add_cookies_to_headers(response.headers, new_cookies.values());
|
|
3373
|
+
return response;
|
|
3374
|
+
} catch (err) {
|
|
3375
|
+
return await handle_fatal_error(event, event_state, options, err);
|
|
3376
|
+
}
|
|
3377
|
+
return await handle_fatal_error(event, event_state, options, e);
|
|
3378
|
+
}
|
|
3379
|
+
async function handle() {
|
|
3380
|
+
set_trailing_slash(trailing_slash);
|
|
3381
|
+
if (state.prerendering && !state.prerendering.fallback && !state.prerendering.inside_reroute) disable_search(url);
|
|
3382
|
+
const response = await record_span({
|
|
3383
|
+
name: "sveltekit.handle.root",
|
|
3384
|
+
attributes: {
|
|
3385
|
+
"http.route": event.route.id || "unknown",
|
|
3386
|
+
"http.method": event.request.method,
|
|
3387
|
+
"http.url": event.url.href,
|
|
3388
|
+
"sveltekit.is_sub_request": event.isSubRequest
|
|
3389
|
+
},
|
|
3390
|
+
fn: async (root_span) => {
|
|
3391
|
+
const traced_event = {
|
|
3392
|
+
...event,
|
|
3393
|
+
tracing: {
|
|
3394
|
+
enabled: false,
|
|
3395
|
+
root: root_span,
|
|
3396
|
+
current: root_span
|
|
3397
|
+
}
|
|
3398
|
+
};
|
|
3399
|
+
return await with_request_store({
|
|
3400
|
+
event: traced_event,
|
|
3401
|
+
state: event_state
|
|
3402
|
+
}, () => options.hooks.handle({
|
|
3403
|
+
event: traced_event,
|
|
3404
|
+
resolve: (event, opts) => {
|
|
3405
|
+
return record_span({
|
|
3406
|
+
name: "sveltekit.resolve",
|
|
3407
|
+
attributes: { "http.route": event.route.id || "unknown" },
|
|
3408
|
+
fn: (resolve_span) => {
|
|
3409
|
+
return with_request_store(null, () => resolve(merge_tracing(event, resolve_span), page_nodes, opts).then((response) => {
|
|
3410
|
+
for (const key in headers) {
|
|
3411
|
+
const value = headers[key];
|
|
3412
|
+
response.headers.set(key, value);
|
|
3413
|
+
}
|
|
3414
|
+
add_cookies_to_headers(response.headers, new_cookies.values());
|
|
3415
|
+
if (state.prerendering && event.route.id !== null) response.headers.set("x-sveltekit-routeid", encodeURI(event.route.id));
|
|
3416
|
+
resolve_span.setAttributes({
|
|
3417
|
+
"http.response.status_code": response.status,
|
|
3418
|
+
"http.response.body.size": response.headers.get("content-length") || "unknown"
|
|
3419
|
+
});
|
|
3420
|
+
return response;
|
|
3421
|
+
}));
|
|
3422
|
+
}
|
|
3423
|
+
});
|
|
3424
|
+
}
|
|
3425
|
+
}));
|
|
3426
|
+
}
|
|
3427
|
+
});
|
|
3428
|
+
if (response.status === 200 && response.headers.has("etag")) {
|
|
3429
|
+
let if_none_match_value = request.headers.get("if-none-match");
|
|
3430
|
+
if (if_none_match_value?.startsWith("W/\"")) if_none_match_value = if_none_match_value.substring(2);
|
|
3431
|
+
const etag = response.headers.get("etag");
|
|
3432
|
+
if (if_none_match_value === etag) {
|
|
3433
|
+
const headers = new Headers({ etag });
|
|
3434
|
+
for (const key of [
|
|
3435
|
+
"cache-control",
|
|
3436
|
+
"content-location",
|
|
3437
|
+
"date",
|
|
3438
|
+
"expires",
|
|
3439
|
+
"vary"
|
|
3440
|
+
]) {
|
|
3441
|
+
const value = response.headers.get(key);
|
|
3442
|
+
if (value) headers.set(key, value);
|
|
3443
|
+
}
|
|
3444
|
+
for (const cookie of get_set_cookies(response.headers)) headers.append("set-cookie", cookie);
|
|
3445
|
+
return new Response(void 0, {
|
|
3446
|
+
status: 304,
|
|
3447
|
+
headers
|
|
3448
|
+
});
|
|
3449
|
+
}
|
|
3450
|
+
}
|
|
3451
|
+
if (is_data_request && response.status >= 300 && response.status <= 308) {
|
|
3452
|
+
const location = response.headers.get("location");
|
|
3453
|
+
if (location) return redirect_json_response(new Redirect(response.status, location));
|
|
3454
|
+
}
|
|
3455
|
+
return response;
|
|
3456
|
+
}
|
|
3457
|
+
/**
|
|
3458
|
+
* @param {import('@sveltejs/kit').RequestEvent} event
|
|
3459
|
+
* @param {PageNodes | undefined} page_nodes
|
|
3460
|
+
* @param {import('@sveltejs/kit').ResolveOptions} [opts]
|
|
3461
|
+
*/
|
|
3462
|
+
async function resolve(event, page_nodes, opts) {
|
|
3463
|
+
try {
|
|
3464
|
+
if (opts) resolve_opts = {
|
|
3465
|
+
transformPageChunk: opts.transformPageChunk || default_transform,
|
|
3466
|
+
filterSerializedResponseHeaders: opts.filterSerializedResponseHeaders || default_filter,
|
|
3467
|
+
preload: opts.preload || default_preload
|
|
3468
|
+
};
|
|
3469
|
+
if (resolved_path === null) return await respond_with_error({
|
|
3470
|
+
event,
|
|
3471
|
+
event_state,
|
|
3472
|
+
options,
|
|
3473
|
+
manifest,
|
|
3474
|
+
state,
|
|
3475
|
+
status: 400,
|
|
3476
|
+
error: new SvelteKitError(400, "Malformed URI", `Failed to decode URI: ${event.url.pathname}`),
|
|
3477
|
+
resolve_opts
|
|
3478
|
+
});
|
|
3479
|
+
if (options.hash_routing || state.prerendering?.fallback) return await render_response({
|
|
3480
|
+
event,
|
|
3481
|
+
event_state,
|
|
3482
|
+
options,
|
|
3483
|
+
manifest,
|
|
3484
|
+
state,
|
|
3485
|
+
page_config: {
|
|
3486
|
+
ssr: false,
|
|
3487
|
+
csr: true
|
|
3488
|
+
},
|
|
3489
|
+
status: 200,
|
|
3490
|
+
error: null,
|
|
3491
|
+
branch: [{
|
|
3492
|
+
node: await manifest._.nodes[0](),
|
|
3493
|
+
data: null,
|
|
3494
|
+
server_data: null
|
|
3495
|
+
}],
|
|
3496
|
+
fetched: [],
|
|
3497
|
+
resolve_opts,
|
|
3498
|
+
data_serializer: server_data_serializer(event, event_state, options)
|
|
3499
|
+
});
|
|
3500
|
+
if (remote_id) return await handle_remote_call(event, event_state, options, manifest, remote_id);
|
|
3501
|
+
if (route) {
|
|
3502
|
+
const method = event.request.method;
|
|
3503
|
+
/** @type {Response} */
|
|
3504
|
+
let response;
|
|
3505
|
+
if (is_data_request) response = await render_data(event, event_state, route, options, manifest, state, invalidated_data_nodes, trailing_slash);
|
|
3506
|
+
else if (route.endpoint && (!route.page || !state.prerendering && is_endpoint_request(event))) response = await render_endpoint(event, event_state, await route.endpoint(), state);
|
|
3507
|
+
else if (route.page) {
|
|
3508
|
+
if (!page_nodes) throw new Error("page_nodes not found. This should never happen");
|
|
3509
|
+
else if (page_methods.has(method)) response = await render_page(event, event_state, route.page, options, manifest, state, page_nodes, resolve_opts);
|
|
3510
|
+
else {
|
|
3511
|
+
const allowed_methods = new Set(allowed_page_methods);
|
|
3512
|
+
if ((await manifest._.nodes[route.page.leaf]())?.server?.actions) allowed_methods.add("POST");
|
|
3513
|
+
if (method === "OPTIONS") response = new Response(null, {
|
|
3514
|
+
status: 204,
|
|
3515
|
+
headers: { allow: Array.from(allowed_methods.values()).join(", ") }
|
|
3516
|
+
});
|
|
3517
|
+
else {
|
|
3518
|
+
const mod = [...allowed_methods].reduce((acc, curr) => {
|
|
3519
|
+
acc[curr] = true;
|
|
3520
|
+
return acc;
|
|
3521
|
+
}, {});
|
|
3522
|
+
response = method_not_allowed(mod, method);
|
|
3523
|
+
}
|
|
3524
|
+
}
|
|
3525
|
+
} else throw new Error("Route is neither page nor endpoint. This should never happen");
|
|
3526
|
+
if (request.method === "GET" && route.page && route.endpoint) {
|
|
3527
|
+
const vary = response.headers.get("vary")?.split(",")?.map((v) => v.trim().toLowerCase());
|
|
3528
|
+
if (!(vary?.includes("accept") || vary?.includes("*"))) {
|
|
3529
|
+
response = new Response(response.body, {
|
|
3530
|
+
status: response.status,
|
|
3531
|
+
statusText: response.statusText,
|
|
3532
|
+
headers: new Headers(response.headers)
|
|
3533
|
+
});
|
|
3534
|
+
response.headers.append("Vary", "Accept");
|
|
3535
|
+
}
|
|
3536
|
+
}
|
|
3537
|
+
return response;
|
|
3538
|
+
}
|
|
3539
|
+
if (state.error && event.isSubRequest) {
|
|
3540
|
+
const headers = new Headers(request.headers);
|
|
3541
|
+
headers.set("x-sveltekit-error", "true");
|
|
3542
|
+
return await fetch(request, { headers });
|
|
3543
|
+
}
|
|
3544
|
+
if (state.error) return text("Internal Server Error", { status: 500 });
|
|
3545
|
+
if (state.depth === 0) return await respond_with_error({
|
|
3546
|
+
event,
|
|
3547
|
+
event_state,
|
|
3548
|
+
options,
|
|
3549
|
+
manifest,
|
|
3550
|
+
state,
|
|
3551
|
+
status: 404,
|
|
3552
|
+
error: new SvelteKitError(404, "Not Found", `Not found: ${event.url.pathname}`),
|
|
3553
|
+
resolve_opts
|
|
3554
|
+
});
|
|
3555
|
+
if (state.prerendering) return text("not found", { status: 404 });
|
|
3556
|
+
const response = await fetch(request);
|
|
3557
|
+
return new Response(response.body, response);
|
|
3558
|
+
} catch (e) {
|
|
3559
|
+
return await handle_fatal_error(event, event_state, options, e);
|
|
3560
|
+
} finally {
|
|
3561
|
+
event.cookies.set = () => {
|
|
3562
|
+
throw new Error("Cannot use `cookies.set(...)` after the response has been generated");
|
|
3563
|
+
};
|
|
3564
|
+
event.setHeaders = () => {
|
|
3565
|
+
throw new Error("Cannot use `setHeaders(...)` after the response has been generated");
|
|
3566
|
+
};
|
|
3567
|
+
}
|
|
3568
|
+
}
|
|
3569
|
+
}
|
|
3570
|
+
/**
|
|
3571
|
+
* @param {import('types').PageNodeIndexes} page
|
|
3572
|
+
* @param {import('@sveltejs/kit').SSRManifest} manifest
|
|
3573
|
+
*/
|
|
3574
|
+
function load_page_nodes(page, manifest) {
|
|
3575
|
+
return Promise.all([...page.layouts.map((n) => n == void 0 ? n : manifest._.nodes[n]()), manifest._.nodes[page.leaf]()]);
|
|
3576
|
+
}
|
|
3577
|
+
/**
|
|
3578
|
+
* It's likely that, in a distributed system, there are spans starting outside the SvelteKit server -- eg.
|
|
3579
|
+
* started on the frontend client, or in a service that calls the SvelteKit server. There are standardized
|
|
3580
|
+
* ways to represent this context in HTTP headers, so we can extract that context and run our tracing inside of it
|
|
3581
|
+
* so that when our traces are exported, they are associated with the correct parent context.
|
|
3582
|
+
* @param {typeof internal_respond} fn
|
|
3583
|
+
* @returns {typeof internal_respond}
|
|
3584
|
+
*/
|
|
3585
|
+
function propagate_context(fn) {
|
|
3586
|
+
return async (req, ...rest) => {
|
|
3587
|
+
return fn(req, ...rest);
|
|
3588
|
+
};
|
|
3589
|
+
}
|
|
3590
|
+
//#endregion
|
|
3591
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/utils/env.js
|
|
3592
|
+
/**
|
|
3593
|
+
* @param {Record<string, string>} env
|
|
3594
|
+
* @param {string} allowed
|
|
3595
|
+
* @param {string} disallowed
|
|
3596
|
+
* @returns {Record<string, string>}
|
|
3597
|
+
*/
|
|
3598
|
+
function filter_env(env, allowed, disallowed) {
|
|
3599
|
+
return Object.fromEntries(Object.entries(env).filter(([k]) => k.startsWith(allowed) && (disallowed === "" || !k.startsWith(disallowed))));
|
|
3600
|
+
}
|
|
3601
|
+
//#endregion
|
|
3602
|
+
//#region ../../node_modules/.bun/@sveltejs+kit@2.70.2+f9e48d733d44469f/node_modules/@sveltejs/kit/src/runtime/server/index.js
|
|
3603
|
+
/** @import { PromiseWithResolvers } from '../../utils/promise.js' */
|
|
3604
|
+
/** @type {Promise<any>} */
|
|
3605
|
+
var init_promise;
|
|
3606
|
+
/** @type {Promise<void> | null} */
|
|
3607
|
+
var current = null;
|
|
3608
|
+
var Server = class {
|
|
3609
|
+
/** @type {import('types').SSROptions} */
|
|
3610
|
+
#options;
|
|
3611
|
+
/** @type {import('@sveltejs/kit').SSRManifest} */
|
|
3612
|
+
#manifest;
|
|
3613
|
+
/** @param {import('@sveltejs/kit').SSRManifest} manifest */
|
|
3614
|
+
constructor(manifest) {
|
|
3615
|
+
/** @type {import('types').SSROptions} */
|
|
3616
|
+
this.#options = options;
|
|
3617
|
+
this.#manifest = manifest;
|
|
3618
|
+
if (IN_WEBCONTAINER) {
|
|
3619
|
+
const respond = this.respond.bind(this);
|
|
3620
|
+
/** @type {typeof respond} */
|
|
3621
|
+
this.respond = async (...args) => {
|
|
3622
|
+
const { promise, resolve } = with_resolvers();
|
|
3623
|
+
const previous = current;
|
|
3624
|
+
current = promise;
|
|
3625
|
+
await previous;
|
|
3626
|
+
return respond(...args).finally(resolve);
|
|
3627
|
+
};
|
|
3628
|
+
}
|
|
3629
|
+
}
|
|
3630
|
+
/**
|
|
3631
|
+
* @param {import('@sveltejs/kit').ServerInitOptions} opts
|
|
3632
|
+
*/
|
|
3633
|
+
async init({ env, read }) {
|
|
3634
|
+
const { env_public_prefix, env_private_prefix } = this.#options;
|
|
3635
|
+
set_private_env(filter_env(env, env_private_prefix, env_public_prefix));
|
|
3636
|
+
set_public_env(filter_env(env, env_public_prefix, env_private_prefix));
|
|
3637
|
+
if (read) {
|
|
3638
|
+
/** @param {string} file */
|
|
3639
|
+
const wrapped_read = (file) => {
|
|
3640
|
+
const result = read(file);
|
|
3641
|
+
if (result instanceof ReadableStream) return result;
|
|
3642
|
+
else return new ReadableStream({ async start(controller) {
|
|
3643
|
+
try {
|
|
3644
|
+
const stream = await Promise.resolve(result);
|
|
3645
|
+
if (!stream) {
|
|
3646
|
+
controller.close();
|
|
3647
|
+
return;
|
|
3648
|
+
}
|
|
3649
|
+
const reader = stream.getReader();
|
|
3650
|
+
while (true) {
|
|
3651
|
+
const { done, value } = await reader.read();
|
|
3652
|
+
if (done) break;
|
|
3653
|
+
controller.enqueue(value);
|
|
3654
|
+
}
|
|
3655
|
+
controller.close();
|
|
3656
|
+
} catch (error) {
|
|
3657
|
+
controller.error(error);
|
|
3658
|
+
}
|
|
3659
|
+
} });
|
|
3660
|
+
};
|
|
3661
|
+
set_read_implementation(wrapped_read);
|
|
3662
|
+
}
|
|
3663
|
+
await (init_promise ??= (async () => {
|
|
3664
|
+
try {
|
|
3665
|
+
const module = await get_hooks();
|
|
3666
|
+
this.#options.hooks = {
|
|
3667
|
+
handle: module.handle || (({ event, resolve }) => resolve(event)),
|
|
3668
|
+
handleError: module.handleError || (({ status, error, event }) => {
|
|
3669
|
+
const error_message = format_server_error(status, error, event);
|
|
3670
|
+
console.error(error_message);
|
|
3671
|
+
}),
|
|
3672
|
+
handleFetch: module.handleFetch || (({ request, fetch }) => fetch(request)),
|
|
3673
|
+
handleValidationError: module.handleValidationError || (({ issues }) => {
|
|
3674
|
+
console.error("Remote function schema validation failed:", issues);
|
|
3675
|
+
return { message: "Bad Request" };
|
|
3676
|
+
}),
|
|
3677
|
+
reroute: module.reroute || noop,
|
|
3678
|
+
transport: module.transport || {}
|
|
3679
|
+
};
|
|
3680
|
+
module.transport && Object.fromEntries(Object.entries(module.transport).map(([k, v]) => [k, v.decode]));
|
|
3681
|
+
if (module.init) await module.init();
|
|
3682
|
+
} catch (e) {
|
|
3683
|
+
throw e;
|
|
3684
|
+
}
|
|
3685
|
+
})());
|
|
3686
|
+
}
|
|
3687
|
+
/**
|
|
3688
|
+
* @param {Request} request
|
|
3689
|
+
* @param {import('types').RequestOptions} options
|
|
3690
|
+
*/
|
|
3691
|
+
async respond(request, options) {
|
|
3692
|
+
return respond(request, this.#options, this.#manifest, {
|
|
3693
|
+
...options,
|
|
3694
|
+
error: false,
|
|
3695
|
+
depth: 0
|
|
3696
|
+
});
|
|
3697
|
+
}
|
|
3698
|
+
};
|
|
3699
|
+
|
|
3700
|
+
export { Server as S };
|
|
3701
|
+
//# sourceMappingURL=index.js-FWva2MxP.js.map
|