@selvajs/selva 4.4.0 → 4.5.1
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/chunks/{D7wuDTx2.js → BYBRW46Q.js} +1 -1
- package/build/client/_app/immutable/chunks/BYBRW46Q.js.br +0 -0
- package/build/client/_app/immutable/chunks/BYBRW46Q.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{B-fj8b7K.js → BfWZCn9D.js} +2 -2
- package/build/client/_app/immutable/chunks/BfWZCn9D.js.br +0 -0
- package/build/client/_app/immutable/chunks/BfWZCn9D.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{D-jj-Uww.js → BoelBenK.js} +1 -1
- package/build/client/_app/immutable/chunks/BoelBenK.js.br +0 -0
- package/build/client/_app/immutable/chunks/BoelBenK.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{j-UbJSFZ.js → BuvUOrz-.js} +1 -1
- package/build/client/_app/immutable/chunks/BuvUOrz-.js.br +0 -0
- package/build/client/_app/immutable/chunks/BuvUOrz-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CdGNQgyw.js → CQjJB6sZ.js} +1 -1
- package/build/client/_app/immutable/chunks/CQjJB6sZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/CQjJB6sZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/jJihnyaB.js +3 -0
- package/build/client/_app/immutable/chunks/jJihnyaB.js.br +0 -0
- package/build/client/_app/immutable/chunks/jJihnyaB.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.CsJrZk_i.js → app.CUlU8Xgx.js} +2 -2
- package/build/client/_app/immutable/entry/app.CUlU8Xgx.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CUlU8Xgx.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.yXH7NuOH.js +1 -0
- package/build/client/_app/immutable/entry/start.yXH7NuOH.js.br +2 -0
- package/build/client/_app/immutable/entry/start.yXH7NuOH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.wSjQD-9E.js → 1.ntriGXw3.js} +1 -1
- package/build/client/_app/immutable/nodes/1.ntriGXw3.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.ntriGXw3.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.BBxGjNus.js +4 -0
- package/build/client/_app/immutable/nodes/11.BBxGjNus.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.BBxGjNus.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{13.CZxapN5I.js → 13.BOOSKgNQ.js} +1 -1
- package/build/client/_app/immutable/nodes/13.BOOSKgNQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.BOOSKgNQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{14.ChDvrNjp.js → 14.st6sThI5.js} +1 -1
- package/build/client/_app/immutable/nodes/14.st6sThI5.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.st6sThI5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{16.Cewxge5m.js → 16.fAXfHZXp.js} +1 -1
- package/build/client/_app/immutable/nodes/16.fAXfHZXp.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.fAXfHZXp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{17.NlvAvTSP.js → 17.BL_btSTd.js} +1 -1
- package/build/client/_app/immutable/nodes/17.BL_btSTd.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.BL_btSTd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{19.qNGlcD7l.js → 19.D4mkSjY9.js} +1 -1
- package/build/client/_app/immutable/nodes/19.D4mkSjY9.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.D4mkSjY9.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{2.CgydK0lI.js → 2.CNkzjKpD.js} +1 -1
- package/build/client/_app/immutable/nodes/2.CNkzjKpD.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CNkzjKpD.js.gz +0 -0
- package/build/client/_app/immutable/nodes/20.93bCfNGI.js +5021 -0
- package/build/client/_app/immutable/nodes/20.93bCfNGI.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.93bCfNGI.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{21.CdZLvQ68.js → 21.ClzCdrlw.js} +1 -1
- package/build/client/_app/immutable/nodes/21.ClzCdrlw.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.ClzCdrlw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{23.CmSUvEas.js → 23.DJerRiZ2.js} +1 -1
- package/build/client/_app/immutable/nodes/23.DJerRiZ2.js.br +0 -0
- package/build/client/_app/immutable/nodes/{23.CmSUvEas.js.gz → 23.DJerRiZ2.js.gz} +0 -0
- package/build/client/_app/immutable/nodes/{24.BLrWFvpH.js → 24.DOHyLmBO.js} +1 -1
- package/build/client/_app/immutable/nodes/24.DOHyLmBO.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.DOHyLmBO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{27.DF8_FNgX.js → 27.CkzNBFns.js} +1 -1
- package/build/client/_app/immutable/nodes/27.CkzNBFns.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.CkzNBFns.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{28.u-nHYDMp.js → 28.BGNl-6WV.js} +1 -1
- package/build/client/_app/immutable/nodes/28.BGNl-6WV.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.BGNl-6WV.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{29.zcWmCBtG.js → 29.BF0JasWQ.js} +1 -1
- package/build/client/_app/immutable/nodes/29.BF0JasWQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.BF0JasWQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.CGYG-fBC.js → 3.BLNJLcvR.js} +1 -1
- package/build/client/_app/immutable/nodes/3.BLNJLcvR.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.BLNJLcvR.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{30.CFRFw3XM.js → 30.C33KvKLy.js} +1 -1
- package/build/client/_app/immutable/nodes/30.C33KvKLy.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.C33KvKLy.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.BIDVFrKz.js → 5.DcViAFBY.js} +1 -1
- package/build/client/_app/immutable/nodes/5.DcViAFBY.js.br +1 -0
- package/build/client/_app/immutable/nodes/5.DcViAFBY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.G8VTWVfQ.js → 6.Jpw_unqM.js} +1 -1
- package/build/client/_app/immutable/nodes/6.Jpw_unqM.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.Jpw_unqM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.DaJ_YKCW.js → 7.DI4lv1qr.js} +1 -1
- package/build/client/_app/immutable/nodes/7.DI4lv1qr.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.DI4lv1qr.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.c3ONIRmr.js → 8.BJeZ3Zka.js} +1 -1
- package/build/client/_app/immutable/nodes/8.BJeZ3Zka.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.BJeZ3Zka.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{9.BucDMSoZ.js → 9.BS42pKml.js} +1 -1
- package/build/client/_app/immutable/nodes/9.BS42pKml.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.BS42pKml.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/server/chunks/{0-DIp1vX-0.js → 0-DhT7yxre.js} +2 -2
- package/build/server/chunks/{0-DIp1vX-0.js.map → 0-DhT7yxre.js.map} +1 -1
- package/build/server/chunks/{1-2fHcSF9r.js → 1-CCtIB9oC.js} +2 -2
- package/build/server/chunks/{1-2fHcSF9r.js.map → 1-CCtIB9oC.js.map} +1 -1
- package/build/server/chunks/{10-D4slAhbl.js → 10-Cj20BodR.js} +5 -5
- package/build/server/chunks/{10-D4slAhbl.js.map → 10-Cj20BodR.js.map} +1 -1
- package/build/server/chunks/{11-BIn4AcHz.js → 11-C-goGrGx.js} +7 -7
- package/build/server/chunks/{11-BIn4AcHz.js.map → 11-C-goGrGx.js.map} +1 -1
- package/build/server/chunks/{12-BTFEd1df.js → 12-Bra8rAOu.js} +2 -2
- package/build/server/chunks/{12-BTFEd1df.js.map → 12-Bra8rAOu.js.map} +1 -1
- package/build/server/chunks/{13-DoxggNWI.js → 13-DN-4EHom.js} +3 -3
- package/build/server/chunks/{13-DoxggNWI.js.map → 13-DN-4EHom.js.map} +1 -1
- package/build/server/chunks/{14-dn1AxT2y.js → 14-j22gtg6q.js} +3 -3
- package/build/server/chunks/{14-dn1AxT2y.js.map → 14-j22gtg6q.js.map} +1 -1
- package/build/server/chunks/{15-CwlxfscS.js → 15-CJJTHKeq.js} +3 -3
- package/build/server/chunks/{15-CwlxfscS.js.map → 15-CJJTHKeq.js.map} +1 -1
- package/build/server/chunks/{16-CYmJwOTN.js → 16-CPVRxJfK.js} +6 -6
- package/build/server/chunks/{16-CYmJwOTN.js.map → 16-CPVRxJfK.js.map} +1 -1
- package/build/server/chunks/{17-2g3z6ge8.js → 17-CEs6NSIj.js} +2 -2
- package/build/server/chunks/{17-2g3z6ge8.js.map → 17-CEs6NSIj.js.map} +1 -1
- package/build/server/chunks/{18-DS1IDuFS.js → 18-Lwe4TEuf.js} +2 -2
- package/build/server/chunks/{18-DS1IDuFS.js.map → 18-Lwe4TEuf.js.map} +1 -1
- package/build/server/chunks/{19-D7P-oKm4.js → 19-BK_uDFHq.js} +4 -4
- package/build/server/chunks/{19-D7P-oKm4.js.map → 19-BK_uDFHq.js.map} +1 -1
- package/build/server/chunks/{2-x36H91MM.js → 2-BBFUEdIk.js} +7 -7
- package/build/server/chunks/{2-x36H91MM.js.map → 2-BBFUEdIk.js.map} +1 -1
- package/build/server/chunks/{20-Cb9g4A7Q.js → 20-TgvBHCqT.js} +10 -10
- package/build/server/chunks/{20-Cb9g4A7Q.js.map → 20-TgvBHCqT.js.map} +1 -1
- package/build/server/chunks/{21-CpI2moj3.js → 21-CpVgaOZP.js} +3 -3
- package/build/server/chunks/{21-CpI2moj3.js.map → 21-CpVgaOZP.js.map} +1 -1
- package/build/server/chunks/{23-cbMfA5sY.js → 23-DpZ-VAmj.js} +6 -6
- package/build/server/chunks/{23-cbMfA5sY.js.map → 23-DpZ-VAmj.js.map} +1 -1
- package/build/server/chunks/{24-CA3DPT0t.js → 24-IG8oF3LR.js} +4 -4
- package/build/server/chunks/{24-CA3DPT0t.js.map → 24-IG8oF3LR.js.map} +1 -1
- package/build/server/chunks/{25-DludrCpg.js → 25-DL8VLuLg.js} +2 -2
- package/build/server/chunks/{25-DludrCpg.js.map → 25-DL8VLuLg.js.map} +1 -1
- package/build/server/chunks/{27-BDtKZzPl.js → 27-BNuVmBlC.js} +4 -4
- package/build/server/chunks/{27-BDtKZzPl.js.map → 27-BNuVmBlC.js.map} +1 -1
- package/build/server/chunks/{28-Dvh0YyMK.js → 28-O2gMewvR.js} +3 -3
- package/build/server/chunks/{28-Dvh0YyMK.js.map → 28-O2gMewvR.js.map} +1 -1
- package/build/server/chunks/{29-OZbtFuyd.js → 29-DeHI_lg6.js} +3 -3
- package/build/server/chunks/{29-OZbtFuyd.js.map → 29-DeHI_lg6.js.map} +1 -1
- package/build/server/chunks/{3-BFx3bdEz.js → 3-_z4ofaYa.js} +2 -2
- package/build/server/chunks/{3-BFx3bdEz.js.map → 3-_z4ofaYa.js.map} +1 -1
- package/build/server/chunks/{30-BuoO_cIR.js → 30-B8zrsGBW.js} +3 -3
- package/build/server/chunks/{30-BuoO_cIR.js.map → 30-B8zrsGBW.js.map} +1 -1
- package/build/server/chunks/{31-Dzl1y1lc.js → 31-DJIq1bRM.js} +2 -2
- package/build/server/chunks/{31-Dzl1y1lc.js.map → 31-DJIq1bRM.js.map} +1 -1
- package/build/server/chunks/{32-DEYwWtss.js → 32-fvzIyQyk.js} +2 -2
- package/build/server/chunks/{32-DEYwWtss.js.map → 32-fvzIyQyk.js.map} +1 -1
- package/build/server/chunks/{5-BNfM-tOw.js → 5-jUoewty6.js} +3 -3
- package/build/server/chunks/{5-BNfM-tOw.js.map → 5-jUoewty6.js.map} +1 -1
- package/build/server/chunks/{6-CEx1JO4m.js → 6-Da49O-RB.js} +4 -4
- package/build/server/chunks/{6-CEx1JO4m.js.map → 6-Da49O-RB.js.map} +1 -1
- package/build/server/chunks/{7-Cz-fnTMA.js → 7-C4TEFQmD.js} +3 -3
- package/build/server/chunks/{7-Cz-fnTMA.js.map → 7-C4TEFQmD.js.map} +1 -1
- package/build/server/chunks/{8-CFNvkchb.js → 8-6Lblm8Bu.js} +3 -3
- package/build/server/chunks/{8-CFNvkchb.js.map → 8-6Lblm8Bu.js.map} +1 -1
- package/build/server/chunks/{9-DrF9Yg9r.js → 9-bV3k1piX.js} +4 -4
- package/build/server/chunks/{9-DrF9Yg9r.js.map → 9-bV3k1piX.js.map} +1 -1
- package/build/server/chunks/{AppHeader-vae2Doza.js → AppHeader-C76PLheq.js} +2 -2
- package/build/server/chunks/{AppHeader-vae2Doza.js.map → AppHeader-C76PLheq.js.map} +1 -1
- package/build/server/chunks/{UserChip-BPLEgzMp.js → UserChip-i0_3jHOb.js} +8 -3
- package/build/server/chunks/UserChip-i0_3jHOb.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-D5GiNGr6.js → _layout.svelte-B-tWsdy4.js} +3 -3
- package/build/server/chunks/{_layout.svelte-D5GiNGr6.js.map → _layout.svelte-B-tWsdy4.js.map} +1 -1
- package/build/server/chunks/{_layout.svelte-_enyp5QE.js → _layout.svelte-B2RbgABg.js} +3 -3
- package/build/server/chunks/{_layout.svelte-_enyp5QE.js.map → _layout.svelte-B2RbgABg.js.map} +1 -1
- package/build/server/chunks/{_layout.svelte-aflz8r6I.js → _layout.svelte-DUeER8oS.js} +3 -3
- package/build/server/chunks/{_layout.svelte-aflz8r6I.js.map → _layout.svelte-DUeER8oS.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-By_vYfbZ.js → _page.svelte-0KErHswo.js} +94 -4
- package/build/server/chunks/_page.svelte-0KErHswo.js.map +1 -0
- package/build/server/chunks/{_page.svelte-ZxjqrKH8.js → _page.svelte-BSHEM3UY.js} +3 -3
- package/build/server/chunks/{_page.svelte-ZxjqrKH8.js.map → _page.svelte-BSHEM3UY.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-FDFRMnmB.js → _page.svelte-CDEfhXLp.js} +3 -3
- package/build/server/chunks/{_page.svelte-FDFRMnmB.js.map → _page.svelte-CDEfhXLp.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-wUV5pt7K.js → _page.svelte-DDzV91b5.js} +305 -54
- package/build/server/chunks/_page.svelte-DDzV91b5.js.map +1 -0
- package/build/server/chunks/{_server.ts-CYnQlbaG.js → _server.ts-3LBSaM7L.js} +26 -14
- package/build/server/chunks/_server.ts-3LBSaM7L.js.map +1 -0
- package/build/server/chunks/{_server.ts-C4BxZ2rC.js → _server.ts-B-un1ZTf.js} +5 -5
- package/build/server/chunks/{_server.ts-C4BxZ2rC.js.map → _server.ts-B-un1ZTf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-aJ-1nqR3.js → _server.ts-B6gtWjZd.js} +9 -9
- package/build/server/chunks/_server.ts-B6gtWjZd.js.map +1 -0
- package/build/server/chunks/{_server.ts-A5TZCqa5.js → _server.ts-B9Fdut8P.js} +16 -12
- package/build/server/chunks/_server.ts-B9Fdut8P.js.map +1 -0
- package/build/server/chunks/{_server.ts-Ck8MaVCN.js → _server.ts-BJEEQ8tH.js} +17 -13
- package/build/server/chunks/_server.ts-BJEEQ8tH.js.map +1 -0
- package/build/server/chunks/{_server.ts-pUwXCS2e.js → _server.ts-BKPaoj3Y.js} +16 -11
- package/build/server/chunks/_server.ts-BKPaoj3Y.js.map +1 -0
- package/build/server/chunks/{_server.ts-CVgSO8yh.js → _server.ts-BVpHuRup.js} +10 -10
- package/build/server/chunks/_server.ts-BVpHuRup.js.map +1 -0
- package/build/server/chunks/{_server.ts-Ctmv-46q.js → _server.ts-BplW_hNF.js} +9 -9
- package/build/server/chunks/_server.ts-BplW_hNF.js.map +1 -0
- package/build/server/chunks/{_server.ts-Dsn1xqkb.js → _server.ts-Bv-G75Ze.js} +9 -9
- package/build/server/chunks/_server.ts-Bv-G75Ze.js.map +1 -0
- package/build/server/chunks/{_server.ts-DzoHhw3c.js → _server.ts-C5fD6gFa.js} +12 -12
- package/build/server/chunks/_server.ts-C5fD6gFa.js.map +1 -0
- package/build/server/chunks/{_server.ts-jICcnrLz.js → _server.ts-C6rUlJpJ.js} +14 -7
- package/build/server/chunks/_server.ts-C6rUlJpJ.js.map +1 -0
- package/build/server/chunks/_server.ts-CLku3Kgz.js +66 -0
- package/build/server/chunks/_server.ts-CLku3Kgz.js.map +1 -0
- package/build/server/chunks/{_server.ts-CmB_7_VV.js → _server.ts-CNRwBoMm.js} +5 -5
- package/build/server/chunks/{_server.ts-CmB_7_VV.js.map → _server.ts-CNRwBoMm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DOepVbAV.js → _server.ts-COuXITb8.js} +11 -11
- package/build/server/chunks/_server.ts-COuXITb8.js.map +1 -0
- package/build/server/chunks/{_server.ts-vGCP86Du.js → _server.ts-CT1KXbVK.js} +79 -26
- package/build/server/chunks/_server.ts-CT1KXbVK.js.map +1 -0
- package/build/server/chunks/{_server.ts-BBenjXRj.js → _server.ts-CTXCbdsb.js} +12 -11
- package/build/server/chunks/_server.ts-CTXCbdsb.js.map +1 -0
- package/build/server/chunks/{_server.ts-CvjBKoOG.js → _server.ts-CXEl8kvu.js} +15 -14
- package/build/server/chunks/_server.ts-CXEl8kvu.js.map +1 -0
- package/build/server/chunks/{_server.ts-DCmcZ1Gb.js → _server.ts-CZ9lwb1J.js} +7 -7
- package/build/server/chunks/_server.ts-CZ9lwb1J.js.map +1 -0
- package/build/server/chunks/{_server.ts-Drk8mhhT.js → _server.ts-CaytsdFp.js} +9 -9
- package/build/server/chunks/_server.ts-CaytsdFp.js.map +1 -0
- package/build/server/chunks/{_server.ts-C8hNi-NM.js → _server.ts-Cd6dVQ2J.js} +19 -11
- package/build/server/chunks/_server.ts-Cd6dVQ2J.js.map +1 -0
- package/build/server/chunks/{_server.ts-Bel_bV82.js → _server.ts-CgRuMyJ9.js} +10 -10
- package/build/server/chunks/_server.ts-CgRuMyJ9.js.map +1 -0
- package/build/server/chunks/{_server.ts-TGu9dCIM.js → _server.ts-CmCeYB9h.js} +28 -18
- package/build/server/chunks/_server.ts-CmCeYB9h.js.map +1 -0
- package/build/server/chunks/{_server.ts-Mywogv28.js → _server.ts-Codg_zX0.js} +10 -9
- package/build/server/chunks/_server.ts-Codg_zX0.js.map +1 -0
- package/build/server/chunks/{_server.ts-Cu7fT_h2.js → _server.ts-D-WjMJlD.js} +12 -8
- package/build/server/chunks/_server.ts-D-WjMJlD.js.map +1 -0
- package/build/server/chunks/{_server.ts-BnV_32U5.js → _server.ts-D4z7bYT1.js} +25 -12
- package/build/server/chunks/_server.ts-D4z7bYT1.js.map +1 -0
- package/build/server/chunks/{_server.ts-BDVOe9oZ.js → _server.ts-D7URpGBv.js} +15 -11
- package/build/server/chunks/_server.ts-D7URpGBv.js.map +1 -0
- package/build/server/chunks/{_server.ts-CtwHDS7C.js → _server.ts-DMwrtYEK.js} +14 -14
- package/build/server/chunks/_server.ts-DMwrtYEK.js.map +1 -0
- package/build/server/chunks/{_server.ts-DgbeoluB.js → _server.ts-DSVtVVVK.js} +18 -12
- package/build/server/chunks/_server.ts-DSVtVVVK.js.map +1 -0
- package/build/server/chunks/{_server.ts-CXvixtRW.js → _server.ts-Df72lBuz.js} +25 -16
- package/build/server/chunks/_server.ts-Df72lBuz.js.map +1 -0
- package/build/server/chunks/{_server.ts-_nasPzxH.js → _server.ts-DlN3WSBT.js} +3 -3
- package/build/server/chunks/{_server.ts-_nasPzxH.js.map → _server.ts-DlN3WSBT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BNSHTRhw.js → _server.ts-DsXq-KLm.js} +27 -18
- package/build/server/chunks/_server.ts-DsXq-KLm.js.map +1 -0
- package/build/server/chunks/{_server.ts-eAeNUEse.js → _server.ts-OQ5_sYi3.js} +32 -19
- package/build/server/chunks/_server.ts-OQ5_sYi3.js.map +1 -0
- package/build/server/chunks/{_server.ts-CoZrqfhl.js → _server.ts-UYOqhuxS.js} +13 -9
- package/build/server/chunks/_server.ts-UYOqhuxS.js.map +1 -0
- package/build/server/chunks/{_server.ts-C4lve0n9.js → _server.ts-Xt4gRfAl.js} +18 -12
- package/build/server/chunks/_server.ts-Xt4gRfAl.js.map +1 -0
- package/build/server/chunks/{_server.ts-CFmfnLGv.js → _server.ts-ZtjukIa0.js} +17 -14
- package/build/server/chunks/_server.ts-ZtjukIa0.js.map +1 -0
- package/build/server/chunks/_server.ts-bR98vjY2.js +47 -0
- package/build/server/chunks/_server.ts-bR98vjY2.js.map +1 -0
- package/build/server/chunks/{_server.ts-DgjIv5VO.js → _server.ts-deI69oUs.js} +9 -9
- package/build/server/chunks/_server.ts-deI69oUs.js.map +1 -0
- package/build/server/chunks/{_server.ts-DaL0WEpS.js → _server.ts-fxzTH5KH.js} +8 -8
- package/build/server/chunks/_server.ts-fxzTH5KH.js.map +1 -0
- package/build/server/chunks/{_server.ts-DQdxI18h.js → _server.ts-mFb6RwID.js} +8 -8
- package/build/server/chunks/_server.ts-mFb6RwID.js.map +1 -0
- package/build/server/chunks/{_server.ts-y7PjdP_H.js → _server.ts-sdl64bpd.js} +12 -9
- package/build/server/chunks/_server.ts-sdl64bpd.js.map +1 -0
- package/build/server/chunks/{access.server-BueyYEoY.js → access.server-Rd56k7vs.js} +4 -4
- package/build/server/chunks/{access.server-BueyYEoY.js.map → access.server-Rd56k7vs.js.map} +1 -1
- package/build/server/chunks/{api-errors-BckwXK7Q.js → api-errors-BrqxD-El.js} +54 -15
- package/build/server/chunks/api-errors-BrqxD-El.js.map +1 -0
- package/build/server/chunks/{auth-bootstrap.server-BOTw9HkY.js → auth-bootstrap.server-DKc9-3PR.js} +2 -2
- package/build/server/chunks/{auth-bootstrap.server-BOTw9HkY.js.map → auth-bootstrap.server-DKc9-3PR.js.map} +1 -1
- package/build/server/chunks/{bootHealth.server-BwEi-Qp8.js → bootHealth.server-IPXOSqqQ.js} +2 -2
- package/build/server/chunks/{bootHealth.server-BwEi-Qp8.js.map → bootHealth.server-IPXOSqqQ.js.map} +1 -1
- package/build/server/chunks/{computeLimits-DPO6NbLd.js → computeLimits-DnJ77wR9.js} +3 -3
- package/build/server/chunks/computeLimits-DnJ77wR9.js.map +1 -0
- package/build/server/chunks/{hooks.server-BHmZpgdz.js → hooks.server-BZKLAgww.js} +10 -9
- package/build/server/chunks/hooks.server-BZKLAgww.js.map +1 -0
- package/build/server/chunks/{package-CGdqH7nx.js → package-K5EkWw87.js} +2 -2
- package/build/server/chunks/{package-CGdqH7nx.js.map → package-K5EkWw87.js.map} +1 -1
- package/build/server/chunks/{permissions.server-D1KUdeD1.js → permissions.server-zs4XAJCp.js} +2 -2
- package/build/server/chunks/{permissions.server-D1KUdeD1.js.map → permissions.server-zs4XAJCp.js.map} +1 -1
- package/build/server/chunks/{providers.server-BYk2ehLM.js → providers.server-C3fQ7ZdV.js} +78 -21
- package/build/server/chunks/providers.server-C3fQ7ZdV.js.map +1 -0
- package/build/server/chunks/{resolve.server-D79ZavTd.js → resolve.server-t1UmqtsG.js} +2 -2
- package/build/server/chunks/{resolve.server-D79ZavTd.js.map → resolve.server-t1UmqtsG.js.map} +1 -1
- package/build/server/chunks/{utils2-UQQTHTw-.js → utils2-BqfluBM6.js} +2 -2
- package/build/server/chunks/{utils2-UQQTHTw-.js.map → utils2-BqfluBM6.js.map} +1 -1
- package/build/server/index.js +2 -2
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +77 -70
- package/build/server/manifest.js.map +1 -1
- package/package.json +7 -7
- package/templates/.env.example +14 -5
- package/build/client/_app/immutable/chunks/B-fj8b7K.js.br +0 -0
- package/build/client/_app/immutable/chunks/B-fj8b7K.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BU70HLVx.js +0 -3
- package/build/client/_app/immutable/chunks/BU70HLVx.js.br +0 -0
- package/build/client/_app/immutable/chunks/BU70HLVx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CdGNQgyw.js.br +0 -0
- package/build/client/_app/immutable/chunks/CdGNQgyw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D-jj-Uww.js.br +0 -0
- package/build/client/_app/immutable/chunks/D-jj-Uww.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D7wuDTx2.js.br +0 -0
- package/build/client/_app/immutable/chunks/D7wuDTx2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/j-UbJSFZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/j-UbJSFZ.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CsJrZk_i.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CsJrZk_i.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.vCkjGHiU.js +0 -1
- package/build/client/_app/immutable/entry/start.vCkjGHiU.js.br +0 -2
- package/build/client/_app/immutable/entry/start.vCkjGHiU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.wSjQD-9E.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.wSjQD-9E.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.cZPocN3B.js +0 -2
- package/build/client/_app/immutable/nodes/11.cZPocN3B.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.cZPocN3B.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.CZxapN5I.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.CZxapN5I.js.gz +0 -0
- package/build/client/_app/immutable/nodes/14.ChDvrNjp.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.ChDvrNjp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/16.Cewxge5m.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.Cewxge5m.js.gz +0 -0
- package/build/client/_app/immutable/nodes/17.NlvAvTSP.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.NlvAvTSP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/19.qNGlcD7l.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.qNGlcD7l.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.CgydK0lI.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CgydK0lI.js.gz +0 -0
- package/build/client/_app/immutable/nodes/20.CoGCSB-X.js +0 -5021
- package/build/client/_app/immutable/nodes/20.CoGCSB-X.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.CoGCSB-X.js.gz +0 -0
- package/build/client/_app/immutable/nodes/21.CdZLvQ68.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.CdZLvQ68.js.gz +0 -0
- package/build/client/_app/immutable/nodes/23.CmSUvEas.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.BLrWFvpH.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.BLrWFvpH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/27.DF8_FNgX.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.DF8_FNgX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/28.u-nHYDMp.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.u-nHYDMp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/29.zcWmCBtG.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.zcWmCBtG.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.CGYG-fBC.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.CGYG-fBC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/30.CFRFw3XM.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.CFRFw3XM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.BIDVFrKz.js.br +0 -2
- package/build/client/_app/immutable/nodes/5.BIDVFrKz.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.G8VTWVfQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.G8VTWVfQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.DaJ_YKCW.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.DaJ_YKCW.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.c3ONIRmr.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.c3ONIRmr.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.BucDMSoZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.BucDMSoZ.js.gz +0 -0
- package/build/server/chunks/UserChip-BPLEgzMp.js.map +0 -1
- package/build/server/chunks/_page.svelte-By_vYfbZ.js.map +0 -1
- package/build/server/chunks/_page.svelte-wUV5pt7K.js.map +0 -1
- package/build/server/chunks/_server.ts-A5TZCqa5.js.map +0 -1
- package/build/server/chunks/_server.ts-BBenjXRj.js.map +0 -1
- package/build/server/chunks/_server.ts-BDVOe9oZ.js.map +0 -1
- package/build/server/chunks/_server.ts-BNSHTRhw.js.map +0 -1
- package/build/server/chunks/_server.ts-Bel_bV82.js.map +0 -1
- package/build/server/chunks/_server.ts-BnV_32U5.js.map +0 -1
- package/build/server/chunks/_server.ts-C4lve0n9.js.map +0 -1
- package/build/server/chunks/_server.ts-C8hNi-NM.js.map +0 -1
- package/build/server/chunks/_server.ts-CFmfnLGv.js.map +0 -1
- package/build/server/chunks/_server.ts-CVgSO8yh.js.map +0 -1
- package/build/server/chunks/_server.ts-CXvixtRW.js.map +0 -1
- package/build/server/chunks/_server.ts-CYnQlbaG.js.map +0 -1
- package/build/server/chunks/_server.ts-Ck8MaVCN.js.map +0 -1
- package/build/server/chunks/_server.ts-CoZrqfhl.js.map +0 -1
- package/build/server/chunks/_server.ts-Ctmv-46q.js.map +0 -1
- package/build/server/chunks/_server.ts-CtwHDS7C.js.map +0 -1
- package/build/server/chunks/_server.ts-Cu7fT_h2.js.map +0 -1
- package/build/server/chunks/_server.ts-CvjBKoOG.js.map +0 -1
- package/build/server/chunks/_server.ts-DCmcZ1Gb.js.map +0 -1
- package/build/server/chunks/_server.ts-DOepVbAV.js.map +0 -1
- package/build/server/chunks/_server.ts-DQdxI18h.js.map +0 -1
- package/build/server/chunks/_server.ts-DaL0WEpS.js.map +0 -1
- package/build/server/chunks/_server.ts-DbcwlSqy.js +0 -65
- package/build/server/chunks/_server.ts-DbcwlSqy.js.map +0 -1
- package/build/server/chunks/_server.ts-DgbeoluB.js.map +0 -1
- package/build/server/chunks/_server.ts-DgjIv5VO.js.map +0 -1
- package/build/server/chunks/_server.ts-Drk8mhhT.js.map +0 -1
- package/build/server/chunks/_server.ts-Dsn1xqkb.js.map +0 -1
- package/build/server/chunks/_server.ts-DzoHhw3c.js.map +0 -1
- package/build/server/chunks/_server.ts-Mywogv28.js.map +0 -1
- package/build/server/chunks/_server.ts-TGu9dCIM.js.map +0 -1
- package/build/server/chunks/_server.ts-aJ-1nqR3.js.map +0 -1
- package/build/server/chunks/_server.ts-eAeNUEse.js.map +0 -1
- package/build/server/chunks/_server.ts-jICcnrLz.js.map +0 -1
- package/build/server/chunks/_server.ts-pUwXCS2e.js.map +0 -1
- package/build/server/chunks/_server.ts-vGCP86Du.js.map +0 -1
- package/build/server/chunks/_server.ts-y7PjdP_H.js.map +0 -1
- package/build/server/chunks/api-errors-BckwXK7Q.js.map +0 -1
- package/build/server/chunks/computeLimits-DPO6NbLd.js.map +0 -1
- package/build/server/chunks/hooks.server-BHmZpgdz.js.map +0 -1
- package/build/server/chunks/providers.server-BYk2ehLM.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@selvajs/selva",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.5.1",
|
|
4
4
|
"description": "Selva — self-contained Grasshopper-driven web app. Install, configure via .env, deploy.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@lucide/svelte": "^1.11.0",
|
|
20
|
-
"@selvajs/compute": "^2.
|
|
20
|
+
"@selvajs/compute": "^2.3.0",
|
|
21
21
|
"@supabase/supabase-js": "^2.104.1",
|
|
22
22
|
"@sveltejs/kit": "2.58.0",
|
|
23
23
|
"bits-ui": "^2.18.0",
|
|
@@ -39,11 +39,11 @@
|
|
|
39
39
|
"vitest": "^3.2.6",
|
|
40
40
|
"@selvajs/config": "0.0.1",
|
|
41
41
|
"@selvajs/header-auth-provider": "0.11.0",
|
|
42
|
-
"@selvajs/local-provider": "0.12.
|
|
43
|
-
"@selvajs/platform": "0.
|
|
44
|
-
"@selvajs/schemas": "4.
|
|
45
|
-
"@selvajs/supabase-provider": "0.
|
|
46
|
-
"@selvajs/ui": "4.
|
|
42
|
+
"@selvajs/local-provider": "0.12.7",
|
|
43
|
+
"@selvajs/platform": "0.14.2",
|
|
44
|
+
"@selvajs/schemas": "4.6.1",
|
|
45
|
+
"@selvajs/supabase-provider": "0.14.2",
|
|
46
|
+
"@selvajs/ui": "4.11.0"
|
|
47
47
|
},
|
|
48
48
|
"scripts": {
|
|
49
49
|
"dev": "vite dev",
|
package/templates/.env.example
CHANGED
|
@@ -315,13 +315,13 @@ BODY_SIZE_LIMIT=210M
|
|
|
315
315
|
# proxy's read_timeout or your hosting platform's function cap, requests
|
|
316
316
|
# will 502 at those layers regardless of this value — bump those configs
|
|
317
317
|
# in lockstep when targeting long-running definitions.
|
|
318
|
-
# MAX_SOLVE_DURATION_MS=
|
|
318
|
+
# MAX_SOLVE_DURATION_MS=100000
|
|
319
319
|
#
|
|
320
320
|
# Per-key rate limit on /api/compute (fixed window, in-process Map). Keyed by
|
|
321
321
|
# user OR share-link, so anonymous link consumers don't share a bucket with
|
|
322
|
-
# the link's owner. Default 120 /
|
|
322
|
+
# the link's owner. Default 120 / 100_000ms ≈ 1.2 solves/sec sustained — well
|
|
323
323
|
# above what a slider scrub produces with the client-side throttle.
|
|
324
|
-
# COMPUTE_RATE_LIMIT_WINDOW_MS=
|
|
324
|
+
# COMPUTE_RATE_LIMIT_WINDOW_MS=100000
|
|
325
325
|
# COMPUTE_RATE_LIMIT_MAX=120
|
|
326
326
|
#
|
|
327
327
|
# Upload caps (.gh and cover image). REMOTE_DEFINITION_MAX_BYTES tracks
|
|
@@ -329,8 +329,17 @@ BODY_SIZE_LIMIT=210M
|
|
|
329
329
|
# MAX_GH_FILE_SIZE_BYTES=52428800 # 50 MB
|
|
330
330
|
# MAX_IMAGE_FILE_SIZE_BYTES=10485760 # 10 MB
|
|
331
331
|
#
|
|
332
|
-
# /api/compute JSON body cap (inputs + values, NOT the .gh).
|
|
333
|
-
#
|
|
332
|
+
# /api/compute JSON *request* body cap (inputs + values, NOT the .gh). A `file`
|
|
333
|
+
# widget input embeds the uploaded geometry as base64 in `values`, and the
|
|
334
|
+
# client file cap is 150 MB raw (~200 MB base64) — so this is sized to clear
|
|
335
|
+
# that plus JSON envelope slack. Must stay <= BODY_SIZE_LIMIT above.
|
|
336
|
+
# COMPUTE_REQUEST_MAX_BYTES=220200960 # 210 MB
|
|
337
|
+
#
|
|
338
|
+
# /api/compute JSON *response* body cap. A `file`-typed output (e.g. an
|
|
339
|
+
# exported .3dm) is base64-embedded in the solve response. Defensive backstop:
|
|
340
|
+
# turns an opaque crash (V8's ~512 MB string wall / browser OOM) into a clear
|
|
341
|
+
# 413. Sized above any legitimate inline payload, below the V8 string wall.
|
|
342
|
+
# COMPUTE_RESPONSE_MAX_BYTES=314572800 # 300 MB
|
|
334
343
|
#
|
|
335
344
|
# Remote-definition fetch deadline + cache TTL.
|
|
336
345
|
# REMOTE_DEFINITION_FETCH_TIMEOUT_MS=30000
|
|
Binary file
|
|
Binary file
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{a as Xe,s as Ut}from"./CsdWDH4Y.js";import{w as Ce}from"./T-Nslbso.js";import{ba as P,af as N,a_ as j,bf as ue,b5 as Lt}from"./DEk358l3.js";class ve{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class De{constructor(t,n){try{new Headers({location:n})}catch{throw new Error(`Invalid redirect location ${JSON.stringify(n)}: this string contains characters that cannot be used in HTTP headers`)}this.status=t,this.location=n}}class Be extends Error{constructor(t,n,r){super(r),this.status=t,this.text=n}}new URL("sveltekit-internal://");function Pt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function Nt(e){return e.split("%25").map(decodeURI).join("%25")}function jt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function Se({href:e}){return e.split("#")[0]}function C(){}function Ot(...e){let t=5381;for(const n of e)if(typeof n=="string"){let r=n.length;for(;r;)t=t*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let a=r.length;for(;a;)t=t*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;const xt=new TextDecoder;function $t(e){const t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}const Ct=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||"GET")!=="GET"&&Z.delete(Me(e)),Ct(e,t));const Z=new Map;function Dt(e,t){const n=Me(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:a,...s}=JSON.parse(r.textContent);const o=r.getAttribute("data-ttl");return o&&Z.set(n,{body:a,init:s,ttl:1e3*Number(o)}),r.getAttribute("data-b64")!==null&&(a=$t(a)),Promise.resolve(new Response(a,s))}return window.fetch(e,t)}function Bt(e,t,n){if(Z.size>0){const r=Me(e,n),a=Z.get(r);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(n?.cache))return new Response(a.body,a.init);Z.delete(r)}}return window.fetch(t,n)}function Me(e,t){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){const a=[];t.headers&&a.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&a.push(t.body),r+=`[data-hash="${Ot(...a)}"]`}return r}const Mt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Ft(e){const t=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${qt(e).map(r=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return t.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const s=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(s)return t.push({name:s[1],matcher:s[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const o=r.split(/\[(.+?)\](?!\])/);return"/"+o.map((i,l)=>{if(l%2){if(i.startsWith("x+"))return Ie(String.fromCharCode(parseInt(i.slice(2),16)));if(i.startsWith("u+"))return Ie(String.fromCharCode(...i.slice(2).split("-").map(m=>parseInt(m,16))));const u=Mt.exec(i),[,d,p,h,f]=u;return t.push({name:h,matcher:f,optional:!!d,rest:!!p,chained:p?l===1&&o[0]==="":!1}),p?"([^]*?)":d?"([^/]*)?":"([^/]+?)"}return Ie(i)}).join("")}).join("")}/?$`),params:t}}function Vt(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function qt(e){return e.slice(1).split("/").filter(Vt)}function zt(e,t,n){const r={},a=e.slice(1),s=a.filter(c=>c!==void 0);let o=0;for(let c=0;c<t.length;c+=1){const i=t[c];let l=a[c-o];if(i.chained&&i.rest&&o&&(l=a.slice(c-o,c+1).filter(u=>u).join("/"),o=0),l===void 0)if(i.rest)l="";else continue;if(!i.matcher||n[i.matcher](l)){r[i.name]=l;const u=t[c+1],d=a[c+1];u&&!u.rest&&u.optional&&d&&i.chained&&(o=0),!u&&!d&&Object.keys(r).length===s.length&&(o=0);continue}if(i.optional&&i.chained){o++;continue}return}if(!o)return r}function Ie(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Yt({nodes:e,server_loads:t,dictionary:n,matchers:r}){const a=new Set(t);return Object.entries(n).map(([c,[i,l,u]])=>{const{pattern:d,params:p}=Ft(c),h={id:c,exec:f=>{const m=d.exec(f);if(m)return zt(m,p,r)},errors:[1,...u||[]].map(f=>e[f]),layouts:[0,...l||[]].map(o),leaf:s(i)};return h.errors.length=h.layouts.length=Math.max(h.errors.length,h.layouts.length),h});function s(c){const i=c<0;return i&&(c=~c),[i,e[c]]}function o(c){return c===void 0?c:[a.has(c),e[c]]}}function st(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function Ze(e,t,n=JSON.stringify){const r=n(t);try{sessionStorage[e]=r}catch{}}const L=globalThis.__sveltekit_hozli0?.base??"",Gt=globalThis.__sveltekit_hozli0?.assets??L??"",Ht="1781095966564",it="sveltekit:snapshot",ct="sveltekit:scroll",lt="sveltekit:states",Kt="sveltekit:pageurl",z="sveltekit:history",te="sveltekit:navigation",F={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},ie=location.origin;function Fe(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function V(){return{x:pageXOffset,y:pageYOffset}}function q(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const Qe={...F,"":F.hover};function ft(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function ut(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=ft(e)}}function Pe(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const c=location.hash.split("#")[1]||"/";r.hash=`#${c}${r.hash}`}}catch{}const a=e instanceof SVGAElement?e.target.baseVal:e.target,s=!r||!!a||be(r,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),o=r?.origin===ie&&e.hasAttribute("download");return{url:r,external:s,target:a,download:o}}function de(e){let t=null,n=null,r=null,a=null,s=null,o=null,c=e;for(;c&&c!==document.documentElement;)r===null&&(r=q(c,"preload-code")),a===null&&(a=q(c,"preload-data")),t===null&&(t=q(c,"keepfocus")),n===null&&(n=q(c,"noscroll")),s===null&&(s=q(c,"reload")),o===null&&(o=q(c,"replacestate")),c=ft(c);function i(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:Qe[r??"off"],preload_data:Qe[a??"off"],keepfocus:i(t),noscroll:i(n),reload:i(s),replace_state:i(o)}}function et(e){const t=Ce(e);let n=!0;function r(){n=!0,t.update(o=>o)}function a(o){n=!1,t.set(o)}function s(o){let c;return t.subscribe(i=>{(c===void 0||n&&i!==c)&&o(c=i)})}return{notify:r,set:a,subscribe:s}}const dt={v:C};function Wt(){const{set:e,subscribe:t}=Ce(!1);let n;async function r(){clearTimeout(n);try{const a=await fetch(`${Gt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const o=(await a.json()).version!==Ht;return o&&(e(!0),dt.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:t,check:r}}function be(e,t,n){return e.origin!==ie||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Bn(e){}const Jt=-1,Xt=-2,Zt=-3,Qt=-4,en=-5,tn=-6,nn=-7,ht=2**32-1,Ne=ht-1;function rn(e){return!(!Number.isInteger(e)||e<0||e>Ne)}function an(e){return!(!Number.isInteger(e)||e<0||e>ht)}function on(e){return Uint8Array.fromBase64(e).buffer}function sn(e){return Uint8Array.from(Buffer.from(e,"base64")).buffer}function cn(e){const t=atob(e),n=t.length,r=new Uint8Array(n);for(let a=0;a<n;a++)r[a]=t.charCodeAt(a);return r.buffer}const ln=typeof Uint8Array.fromBase64=="function",fn=typeof process=="object"&&process.versions?.node!==void 0,un=ln?on:fn?sn:cn;function Mn(e,t){return pt(JSON.parse(e),t)}function pt(e,t){if(typeof e=="number")return s(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const n=e,r=Array(n.length);let a=null;function s(o,c=!1){if(o===Jt)return;if(o===Zt)return NaN;if(o===Qt)return 1/0;if(o===en)return-1/0;if(o===tn)return-0;if(c||typeof o!="number")throw new Error("Invalid input");if(o in r)return r[o];const i=n[o];if(!i||typeof i!="object")r[o]=i;else if(Array.isArray(i))if(typeof i[0]=="string"){const l=i[0],u=t&&Object.hasOwn(t,l)?t[l]:void 0;if(u){let d=i[1];if(typeof d!="number"&&(d=n.push(i[1])-1),a??=new Set,a.has(d))throw new Error("Invalid circular reference");return a.add(d),r[o]=u(s(d)),a.delete(d),r[o]}switch(l){case"Date":r[o]=new Date(i[1]);break;case"Set":const d=new Set;r[o]=d;for(let f=1;f<i.length;f+=1)d.add(s(i[f]));break;case"Map":const p=new Map;r[o]=p;for(let f=1;f<i.length;f+=2)p.set(s(i[f]),s(i[f+1]));break;case"RegExp":r[o]=new RegExp(i[1],i[2]);break;case"Object":{const f=i[1];if(typeof n[f]=="object"&&n[f][0]!=="BigInt")throw new Error("Invalid input");r[o]=Object(s(f));break}case"BigInt":r[o]=BigInt(i[1]);break;case"null":const h=Object.create(null);r[o]=h;for(let f=1;f<i.length;f+=2){if(i[f]==="__proto__")throw new Error("Cannot parse an object with a `__proto__` property");h[i[f]]=s(i[f+1])}break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Float16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":case"DataView":{if(n[i[1]][0]!=="ArrayBuffer")throw new Error("Invalid data");const f=globalThis[l],m=s(i[1]);r[o]=i[2]!==void 0?new f(m,i[2],i[3]):new f(m);break}case"ArrayBuffer":{const f=i[1];if(typeof f!="string")throw new Error("Invalid ArrayBuffer encoding");const m=un(f);r[o]=m;break}case"Temporal.Duration":case"Temporal.Instant":case"Temporal.PlainDate":case"Temporal.PlainTime":case"Temporal.PlainDateTime":case"Temporal.PlainMonthDay":case"Temporal.PlainYearMonth":case"Temporal.ZonedDateTime":{const f=l.slice(9);r[o]=Temporal[f].from(i[1]);break}case"URL":{const f=new URL(i[1]);r[o]=f;break}case"URLSearchParams":{const f=new URLSearchParams(i[1]);r[o]=f;break}default:throw new Error(`Unknown type ${l}`)}}else if(i[0]===nn){const l=i[1];if(!an(l))throw new Error("Invalid input");const u=[];r[o]=u,u[Ne]=void 0,delete u[Ne];for(let d=2;d<i.length;d+=2){const p=i[d];if(!rn(p)||p>=l)throw new Error("Invalid input");u[p]=s(i[d+1])}u.length=l}else{const l=new Array(i.length);r[o]=l;for(let u=0;u<i.length;u+=1){const d=i[u];d!==Xt&&(l[u]=s(d))}}else{const l={};r[o]=l;for(const u of Object.keys(i)){if(u==="__proto__")throw new Error("Cannot parse an object with a `__proto__` property");const d=i[u];l[u]=s(d)}}return r[o]}return s(0)}const _t=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[..._t];const dn=new Set([..._t]);[...dn];function hn(e){return e.filter(t=>t!=null)}const pn="x-sveltekit-invalidated",_n="x-sveltekit-trailing-slash";function he(e){return e instanceof ve||e instanceof Be?e.status:500}function gn(e){return e instanceof Be?e.text:"Internal Error"}let E,ne,Te;const mn=Xe.toString().includes("$$")||/function \w+\(\) \{\}/.test(Xe.toString()),tt="a:";mn?(E={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(tt)},ne={current:null},Te={current:!1}):(E=new class{#e=P({});get data(){return N(this.#e)}set data(t){j(this.#e,t)}#t=P(null);get form(){return N(this.#t)}set form(t){j(this.#t,t)}#n=P(null);get error(){return N(this.#n)}set error(t){j(this.#n,t)}#r=P({});get params(){return N(this.#r)}set params(t){j(this.#r,t)}#a=P({id:null});get route(){return N(this.#a)}set route(t){j(this.#a,t)}#o=P({});get state(){return N(this.#o)}set state(t){j(this.#o,t)}#s=P(-1);get status(){return N(this.#s)}set status(t){j(this.#s,t)}#i=P(new URL(tt));get url(){return N(this.#i)}set url(t){j(this.#i,t)}},ne=new class{#e=P(null);get current(){return N(this.#e)}set current(t){j(this.#e,t)}},Te=new class{#e=P(!1);get current(){return N(this.#e)}set current(t){j(this.#e,t)}},dt.v=()=>Te.current=!0);function Ve(e){Object.assign(E,e)}const wn="/__data.json",yn=".html__data.json";function vn(e){return e.endsWith(".html")?e.replace(/\.html$/,yn):e.replace(/\/$/,"")+wn}const{tick:gt}=Ut,bn=new Set(["icon","shortcut icon","apple-touch-icon"]);let J=null;const B=st(ct)??{},re=st(it)??{},D={url:et({}),page:et({}),navigating:Ce(null),updated:Wt()};function qe(e){B[e]=V()}function En(e,t){let n=e+1;for(;B[n];)delete B[n],n+=1;for(n=t+1;re[n];)delete re[n],n+=1}function H(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(C)}async function mt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(L||"/");e&&await e.update()}}let ze,je,pe,x,Oe,k;const _e=[],ge=[];let T=null;function ae(){T?.fork?.then(e=>e?.discard()),T=null}const fe=new Map,wt=new Set,kn=new Set,Q=new Set;let _={branch:[],error:null,url:null,nav:null},Ye=!1,me=!1,nt=!0,oe=!1,X=!1,yt=!1,ce=!1,K,S,U,$;const ee=new Set;let Ue;const we=new Map;async function zn(e,t,n){globalThis.__sveltekit_hozli0&&(globalThis.__sveltekit_hozli0.query,globalThis.__sveltekit_hozli0.prerender),document.URL!==location.href&&(location.href=location.href),k=e,await e.hooks.init?.(),ze=Yt(e),x=document.documentElement,Oe=t,je=e.nodes[0],pe=e.nodes[1],je(),pe(),S=history.state?.[z],U=history.state?.[te],S||(S=U=Date.now(),history.replaceState({...history.state,[z]:S,[te]:U},""));const r=B[S];function a(){r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y))}n?(a(),await On(Oe,n)):(await Y({type:"enter",url:Fe(k.hash?xn(new URL(location.href)):location.href),replace_state:!0}),a()),jn()}async function An(e=!0,t=!0){if(await(Ue||=Promise.resolve()),!Ue)return;Ue=null;const n=$={},r=await le(_.url,!0);if(ae(),ce&&we.forEach(a=>{a.forEach(({resource:s})=>{s.refresh?.()})}),e){const a=E.state,s=r&&await Ke(r);if(!s||n!==$)return;if(s.type==="redirect")return Ee(new URL(s.location,_.url).href,{replaceState:!0},1,n);t||(s.props.page.state=a),Ve(s.props.page),_={...s.state,nav:_.nav},xe(),K.$set(s.props)}else xe();await Promise.all([...we.values()].flatMap(a=>[...a.values()].map(({resource:s})=>s))).catch(C)}function xe(){_e.length=0,ce=!1}function vt(e){ge.some(t=>t?.snapshot)&&(re[e]=ge.map(t=>t?.snapshot?.capture()))}function bt(e){re[e]?.forEach((t,n)=>{ge[n]?.snapshot?.restore(t)})}function rt(){qe(S),Ze(ct,B),vt(U),Ze(it,re)}async function Ee(e,t,n,r){let a;t.invalidateAll&&ae(),await Y({type:"goto",url:Fe(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:r,accept:()=>{t.invalidateAll&&(ce=!0,a=[],we.forEach((s,o)=>{for(const c of s.keys())a.push(o+"/"+c)})),t.invalidate&&t.invalidate.forEach(Pn)}}),t.invalidateAll&&ue().then(ue).then(()=>{we.forEach((s,o)=>{s.forEach(({resource:c},i)=>{a?.includes(o+"/"+i)&&c.refresh?.()})})})}async function Rn(e){if(e.id!==T?.id){ae();const t={};ee.add(t),T={id:e.id,token:t,promise:Ke({...e,preload:t}).then(n=>(ee.delete(t),n.type==="loaded"&&n.state.error&&ae(),n)),fork:null}}return T.promise}async function Le(e){const t=(await le(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(n=>n[1]()))}async function Et(e,t,n){const r={params:_.params,route:{id:_.route?.id??null},url:new URL(location.href)};_={...e.state,nav:r};const a=document.querySelector("style[data-sveltekit]");if(a&&a.remove(),Object.assign(E,e.props.page),K=new k.root({target:t,props:{...e.props,stores:D,components:ge},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),bt(U),n){const s={from:null,to:{...r,scroll:B[S]??V()},willUnload:!1,type:"enter",complete:Promise.resolve()};Q.forEach(o=>o(s))}me=!0}async function se({url:e,params:t,branch:n,errors:r,status:a,error:s,route:o,form:c}){let i="never";if(L&&(e.pathname===L||e.pathname===L+"/"))i="always";else for(const f of n)f?.slash!==void 0&&(i=f.slash);e.pathname=Pt(e.pathname,i),e.search=e.search;const l={type:"loaded",state:{url:e,params:t,branch:n,error:s,route:o},props:{constructors:hn(n).map(f=>f.node.component),page:Ae(E)}};c!==void 0&&(l.props.form=c);let u={},d=!E,p=0;for(let f=0;f<Math.max(n.length,_.branch.length);f+=1){const m=n[f],b=_.branch[f];m?.data!==b?.data&&(d=!0),m&&(u={...u,...m.data},d&&(l.props[`data_${p}`]=u),p+=1)}return(!_.url||e.href!==_.url.href||_.error!==s||c!==void 0&&c!==E.form||d)&&(l.props.page={error:s,params:t,route:{id:o?.id??null},state:{},status:a,url:new URL(e),form:c??null,data:d?u:E.data}),l}async function Ge({loader:e,parent:t,url:n,params:r,route:a,server_data_node:s}){let o=null;const c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},i=await e();return{node:i,loader:e,server:s,universal:i.universal?.load?{type:"data",data:o,uses:c}:null,data:o??s?.data??null,slash:i.universal?.trailingSlash??s?.slash}}function Sn(e,t,n){let r=e instanceof Request?e.url:e;const a=new URL(r,n);a.origin===n.origin&&(r=a.href.slice(n.origin.length));const s=me?Bt(r,a.href,t):Dt(r,t);return{resolved:a,promise:s}}function at(e,t,n,r,a,s){if(ce)return!0;if(!a)return!1;if(a.parent&&e||a.route&&t||a.url&&n)return!0;for(const o of a.search_params)if(r.has(o))return!0;for(const o of a.params)if(s[o]!==_.params[o])return!0;for(const o of a.dependencies)if(_e.some(c=>c(new URL(o))))return!0;return!1}function He(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function In(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const r of n){const a=e.searchParams.getAll(r),s=t.searchParams.getAll(r);a.every(o=>s.includes(o))&&s.every(o=>a.includes(o))&&n.delete(r)}return n}function ot({error:e,url:t,route:n,params:r}){return{type:"loaded",state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:Ae(E),constructors:[]}}}async function Ke({id:e,invalidating:t,url:n,params:r,route:a,preload:s}){if(T?.id===e)return ee.delete(T.token),T.promise;const{errors:o,layouts:c,leaf:i}=a,l=[...c,i];o.forEach(w=>w?.().catch(C)),l.forEach(w=>w?.[1]().catch(C));let u=null;const d=_.url?e!==ye(_.url):!1,p=_.route?a.id!==_.route.id:!1,h=In(_.url,n);let f=!1;{const w=l.map((y,A)=>{const R=_.branch[A],v=!!y?.[0]&&(R?.loader!==y[1]||at(f,p,d,h,R.server?.uses,r));return v&&(f=!0),v});if(w.some(Boolean)){try{u=await St(n,w)}catch(y){const A=await G(y,{url:n,params:r,route:{id:e}});return ee.has(s)?ot({error:A,url:n,params:r,route:a}):ke({status:he(y),error:A,url:n,route:a})}if(u.type==="redirect")return u}}const m=u?.nodes;let b=!1;const g=l.map(async(w,y)=>{if(!w)return;const A=_.branch[y],R=m?.[y];if((!R||R.type==="skip")&&w[1]===A?.loader&&!at(b,p,d,h,A.universal?.uses,r))return A;if(b=!0,R?.type==="error")throw R;return Ge({loader:w[1],url:n,params:r,route:a,parent:async()=>{const O={};for(let M=0;M<y;M+=1)Object.assign(O,(await g[M])?.data);return O},server_data_node:He(R===void 0&&w[0]?{type:"skip"}:R??null,w[0]?A?.server:void 0)})});for(const w of g)w.catch(C);const I=[];for(let w=0;w<l.length;w+=1)if(l[w])try{I.push(await g[w])}catch(y){if(y instanceof De)return{type:"redirect",location:y.location};if(ee.has(s))return ot({error:await G(y,{params:r,url:n,route:{id:a.id}}),url:n,params:r,route:a});let A=he(y),R;if(m?.includes(y))A=y.status??A,R=y.error;else if(y instanceof ve)R=y.body;else{if(await D.updated.check())return await mt(),await H(n);R=await G(y,{params:r,url:n,route:{id:a.id}})}const v=await kt(w,I,o);return v?se({url:n,params:r,branch:I.slice(0,v.idx).concat(v.node),errors:o,status:A,error:R,route:a}):await Rt(n,{id:a.id},R,A)}else I.push(void 0);return se({url:n,params:r,branch:I,errors:o,status:200,error:null,route:a,form:t?void 0:null})}async function kt(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)r-=1;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function ke({status:e,error:t,url:n,route:r}){const a={};let s=null;if(k.server_loads[0]===0)try{const c=await St(n,[!0]);if(c.type!=="data"||c.nodes[0]&&c.nodes[0].type!=="data")throw 0;s=c.nodes[0]??null}catch{(n.origin!==ie||n.pathname!==location.pathname||Ye)&&await H(n)}try{const o=await Ge({loader:je,url:n,params:a,route:r,parent:()=>Promise.resolve({}),server_data_node:He(s)}),c={node:await pe(),loader:pe,universal:null,server:null,data:null};return se({url:n,params:a,branch:[o,c],status:e,error:t,errors:[],route:null})}catch(o){if(o instanceof De)return Ee(new URL(o.location,location.href),{},0);throw o}}async function Tn(e){const t=e.href;if(fe.has(t))return fe.get(t);let n;try{const r=(async()=>{let a=await k.hooks.reroute({url:new URL(e),fetch:async(s,o)=>Sn(s,o,e).promise})??e;if(typeof a=="string"){const s=new URL(e);k.hash?s.hash=a:s.pathname=a,a=s}return a})();fe.set(t,r),n=await r}catch{fe.delete(t);return}return n}async function le(e,t){if(e&&!be(e,L,k.hash)){const n=await Tn(e);if(!n)return;const r=Un(n);for(const a of ze){const s=a.exec(r);if(s)return{id:ye(e),invalidating:t,route:a,params:jt(s),url:e}}}}function Un(e){return Nt(k.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(L.length))||"/"}function ye(e){return(k.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function At({url:e,type:t,intent:n,delta:r,event:a,scroll:s}){let o=!1;const c=Je(_,n,e,t,s??null);r!==void 0&&(c.navigation.delta=r),a!==void 0&&(c.navigation.event=a);const i={...c.navigation,cancel:()=>{o=!0,c.reject(new Error("navigation cancelled"))}};return oe||wt.forEach(l=>l(i)),o?null:c}async function Y({type:e,url:t,popped:n,keepfocus:r,noscroll:a,replace_state:s,state:o={},redirect_count:c=0,nav_token:i={},accept:l=C,block:u=C,event:d}){const p=$;$=i;const h=await le(t,!1),f=e==="enter"?Je(_,h,t,e):At({url:t,type:e,delta:n?.delta,intent:h,scroll:n?.scroll,event:d});if(!f){u(),$===i&&($=p);return}const m=S,b=U;l(),oe=!0,me&&f.navigation.type!=="enter"&&D.navigating.set(ne.current=f.navigation);let g=h&&await Ke(h);if(!g){if(be(t,L,k.hash))return await H(t,s);g=await Rt(t,{id:null},await G(new Be(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,s)}if(t=h?.url||t,$!==i)return f.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(c<20){await Y({type:e,url:new URL(g.location,t),popped:n,keepfocus:r,noscroll:a,replace_state:s,state:o,redirect_count:c+1,nav_token:i}),f.fulfil(void 0);return}g=await ke({status:500,error:await G(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else g.props.page.status>=400&&await D.updated.check()&&(await mt(),await H(t,s));if(xe(),qe(m),vt(b),g.props.page.url.pathname!==t.pathname&&(t.pathname=g.props.page.url.pathname),o=n?n.state:o,!n){const v=s?0:1,O={[z]:S+=v,[te]:U+=v,[lt]:o};(s?history.replaceState:history.pushState).call(history,O,"",t),s||En(S,U)}const I=h&&T?.id===h.id?T.fork:null;T?.fork&&!I&&ae(),T=null,g.props.page.state=o;let w;if(me){const v=(await Promise.all(Array.from(kn,W=>W(f.navigation)))).filter(W=>typeof W=="function");if(v.length>0){let W=function(){v.forEach(Re=>{Q.delete(Re)})};v.push(W),v.forEach(Re=>{Q.add(Re)})}const O=f.navigation.to;_={...g.state,nav:{params:O.params,route:O.route,url:O.url}},g.props.page&&(g.props.page.url=t);const M=I&&await I;M?w=M.commit():(J=null,K.$set(g.props),J&&Object.assign(g.props.page,J),Ve(g.props.page),w=Lt?.()),yt=!0}else await Et(g,Oe,!1);const{activeElement:y}=document;await w,await ue(),await ue();let A=null;if(nt){const v=n?n.scroll:a?V():null;v?scrollTo(v.x,v.y):(A=t.hash&&document.getElementById(Tt(t)))?A.scrollIntoView():scrollTo(0,0)}const R=document.activeElement!==y&&document.activeElement!==document.body;!r&&!R&&We(t,!A),nt=!0,g.props.page&&(J&&Object.assign(g.props.page,J),Object.assign(E,g.props.page)),oe=!1,e==="popstate"&&bt(U),f.fulfil(void 0),f.navigation.to&&(f.navigation.to.scroll=V()),Q.forEach(v=>v(f.navigation)),D.navigating.set(ne.current=null)}async function Rt(e,t,n,r,a){return e.origin===ie&&e.pathname===location.pathname&&!Ye?await ke({status:r,error:n,url:e,route:t}):await H(e,a)}function Ln(){let e,t={element:void 0,href:void 0},n;x.addEventListener("mousemove",c=>{const i=c.target;clearTimeout(e),e=setTimeout(()=>{s(i,F.hover)},20)});function r(c){c.defaultPrevented||s(c.composedPath()[0],F.tap)}x.addEventListener("mousedown",r),x.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(c=>{for(const i of c)i.isIntersecting&&(Le(new URL(i.target.href)),a.unobserve(i.target))},{threshold:0});async function s(c,i){const l=ut(c,x),u=l===t.element&&l?.href===t.href&&i>=n;if(!l||u)return;const{url:d,external:p,download:h}=Pe(l,L,k.hash);if(p||h)return;const f=de(l),m=d&&ye(_.url)===ye(d);if(!(f.reload||m))if(i<=f.preload_data){t={element:l,href:l.href},n=F.tap;const b=await le(d,!1);if(!b)return;Rn(b)}else i<=f.preload_code&&(t={element:l,href:l.href},n=i,Le(d))}function o(){a.disconnect();for(const c of x.querySelectorAll("a")){const{url:i,external:l,download:u}=Pe(c,L,k.hash);if(l||u)continue;const d=de(c);d.reload||(d.preload_code===F.viewport&&a.observe(c),d.preload_code===F.eager&&Le(i))}}Q.add(o),o()}function G(e,t){if(e instanceof ve)return e.body;const n=he(e),r=gn(e);return k.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Yn(e,t={}){return e=new URL(Fe(e)),e.origin!==ie?Promise.reject(new Error("goto: invalid URL")):Ee(e,t,0)}function Pn(e){if(typeof e=="function")_e.push(e);else{const{href:t}=new URL(e,location.href);_e.push(n=>n.href===t)}}function Gn(){return ce=!0,An()}async function Hn(e){e.type==="error"?await Nn(e.error,e.status):e.type==="redirect"?await Ee(e.location,{invalidateAll:!0},0):(E.form=e.data,E.status=e.status,K.$set({form:null,page:Ae(E)}),await gt(),K.$set({form:e.data}),e.type==="success"&&We(E.url))}async function Nn(e,t=500){const n=new URL(location.href),{branch:r,route:a}=_;if(!a)return;const s=await kt(_.branch.length,r,a.errors);if(s){const o=await se({url:n,params:_.params,branch:r.slice(0,s.idx).concat(s.node),status:t,error:e,route:a});_={...o.state,nav:_.nav},K.$set(o.props),Ve(o.props.page),gt().then(()=>We(_.url))}}function jn(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let n=!1;if(rt(),!oe){const r=Je(_,void 0,null,"leave"),a={...r.navigation,cancel:()=>{n=!0,r.reject(new Error("navigation cancelled"))}};wt.forEach(s=>s(a))}n?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&rt()}),navigator.connection?.saveData||Ln(),x.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const n=ut(t.composedPath()[0],x);if(!n)return;const{url:r,external:a,target:s,download:o}=Pe(n,L,k.hash);if(!r)return;if(s==="_parent"||s==="_top"){if(window.parent!==window)return}else if(s&&s!=="_self")return;const c=de(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||o)return;const[l,u]=(k.hash?r.hash.replace(/^#/,""):r.href).split("#"),d=l===Se(location);if(a||c.reload&&(!d||!u)){At({url:r,type:"link",event:t})?oe=!0:t.preventDefault();return}if(u!==void 0&&d){const[,p]=_.url.href.split("#");if(p===u){if(t.preventDefault(),u===""||u==="top"&&n.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const h=n.ownerDocument.getElementById(decodeURIComponent(u));h&&(h.scrollIntoView(),h.focus())}return}if(X=!0,qe(S),e(r),!c.replace_state)return;X=!1}t.preventDefault(),await new Promise(p=>{requestAnimationFrame(()=>{setTimeout(p,0)}),setTimeout(p,100)}),await Y({type:"link",url:r,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??r.href===location.href,event:t})}),x.addEventListener("submit",t=>{if(t.defaultPrevented)return;const n=HTMLFormElement.prototype.cloneNode.call(t.target),r=t.submitter;if((r?.formTarget||n.target)==="_blank"||(r?.formMethod||n.method)!=="get")return;const o=new URL(r?.hasAttribute("formaction")&&r?.formAction||n.action);if(be(o,L,!1))return;const c=t.target,i=de(c);if(i.reload)return;t.preventDefault(),t.stopPropagation();const l=new FormData(c,r);o.search=new URLSearchParams(l).toString(),Y({type:"form",url:o,keepfocus:i.keepfocus,noscroll:i.noscroll,replace_state:i.replace_state??o.href===location.href,event:t})}),addEventListener("popstate",async t=>{if(!$e){if(t.state?.[z]){const n=t.state[z];if($={},n===S)return;const r=B[n],a=t.state[lt]??{},s=new URL(t.state[Kt]??location.href),o=t.state[te],c=_.url?Se(location)===Se(_.url):!1;if(o===U&&(yt||c)){a!==E.state&&(E.state=a),e(s),B[S]=V(),r&&scrollTo(r.x,r.y),S=n;return}const l=n-S;await Y({type:"popstate",url:s,popped:{state:a,scroll:r,delta:l},accept:()=>{S=n,U=o},block:()=>{history.go(-l)},nav_token:$,event:t})}else if(!X){const n=new URL(location.href);e(n),k.hash&&location.reload()}}}),addEventListener("hashchange",()=>{X&&(X=!1,history.replaceState({...history.state,[z]:++S,[te]:U},"",location.href))});for(const t of document.querySelectorAll("link"))bn.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&D.navigating.set(ne.current=null)});function e(t){_.url=E.url=t,D.page.set(Ae(E)),D.page.notify()}}async function On(e,{status:t=200,error:n,node_ids:r,params:a,route:s,server_route:o,data:c,form:i}){Ye=!0;const l=new URL(location.href);let u;({params:a={},route:s={id:null}}=await le(l,!1)||{}),u=ze.find(({id:h})=>h===s.id);let d,p=!0;try{const h=r.map(async(m,b)=>{const g=c[b];return g?.uses&&(g.uses=It(g.uses)),Ge({loader:k.nodes[m],url:l,params:a,route:s,parent:async()=>{const I={};for(let w=0;w<b;w+=1)Object.assign(I,(await h[w]).data);return I},server_data_node:He(g)})}),f=await Promise.all(h);if(u){const m=u.layouts;for(let b=0;b<m.length;b++)m[b]||f.splice(b,0,void 0)}d=await se({url:l,params:a,branch:f,status:t,error:n,errors:u?.errors,form:i,route:u??null})}catch(h){if(h instanceof De){await H(new URL(h.location,location.href));return}d=await ke({status:he(h),error:await G(h,{url:l,params:a,route:s}),url:l,route:s}),e.textContent="",p=!1}d.props.page&&(d.props.page.state={}),await Et(d,e,p)}async function St(e,t){const n=new URL(e);n.pathname=vn(e.pathname),e.pathname.endsWith("/")&&n.searchParams.append(_n,"1"),n.searchParams.append(pn,t.map(s=>s?"1":"0").join(""));const r=window.fetch,a=await r(n.href,{});if(!a.ok){let s;throw a.headers.get("content-type")?.includes("application/json")?s=await a.json():a.status===404?s="Not Found":a.status===500&&(s="Internal Error"),new ve(a.status,s)}return new Promise(async s=>{const o=new Map,c=a.body.getReader();function i(u){return pt(u,{...k.decoders,Promise:d=>new Promise((p,h)=>{o.set(d,{fulfil:p,reject:h})})})}let l="";for(;;){const{done:u,value:d}=await c.read();if(u&&!l)break;for(l+=!d&&l?`
|
|
2
|
-
`:xt.decode(d,{stream:!0});;){const p=l.indexOf(`
|
|
3
|
-
`);if(p===-1)break;const h=JSON.parse(l.slice(0,p));if(l=l.slice(p+1),h.type==="redirect")return s(h);if(h.type==="data")h.nodes?.forEach(f=>{f?.type==="data"&&(f.uses=It(f.uses),f.data=i(f.data))}),s(h);else if(h.type==="chunk"){const{id:f,data:m,error:b}=h,g=o.get(f);o.delete(f),b?g.reject(i(b)):g.fulfil(i(m))}}}})}function It(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}let $e=!1;function We(e,t=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const r=Tt(e);if(r&&document.getElementById(r)){const{x:s,y:o}=V();setTimeout(()=>{const c=history.state;$e=!0,location.replace(new URL(`#${r}`,location.href)),history.replaceState(c,"",e),t&&scrollTo(s,o),$e=!1})}else{const s=document.body,o=s.getAttribute("tabindex");s.tabIndex=-1,s.focus({preventScroll:!0,focusVisible:!1}),o!==null?s.setAttribute("tabindex",o):s.removeAttribute("tabindex")}const a=getSelection();if(a&&a.type!=="None"){const s=[];for(let o=0;o<a.rangeCount;o+=1)s.push(a.getRangeAt(o));setTimeout(()=>{if(a.rangeCount===s.length){for(let o=0;o<a.rangeCount;o+=1){const c=s[o],i=a.getRangeAt(o);if(c.commonAncestorContainer!==i.commonAncestorContainer||c.startContainer!==i.startContainer||c.endContainer!==i.endContainer||c.startOffset!==i.startOffset||c.endOffset!==i.endOffset)return}a.removeAllRanges()}})}}}function Je(e,t,n,r,a=null){let s,o;const c=new Promise((l,u)=>{s=l,o=u});return c.catch(C),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:V()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:a},willUnload:!t,type:r,complete:c},fulfil:s,reject:o}}function Ae(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function xn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Tt(e){let t;if(k.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{k as a,Hn as b,Mn as c,D as d,Yn as g,Gn as i,Bn as l,C as n,E as p,zn as s};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as o,s as r}from"../chunks/BU70HLVx.js";export{o as load_css,r as start};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"../chunks/DsnmJJEf.js";import{o as dt}from"../chunks/CsdWDH4Y.js";import{ba as pe,aP as he,af as t,a_ as h,aQ as ut,bl as Le,bh as ct,aN as vt,a8 as ft,V as n,$ as mt,b7 as o,ac as ee,aJ as ve,aW as s,aK as Pe,be as E,bk as y,bg as pt}from"../chunks/DEk358l3.js";import{d as ht,e as Y,s as $}from"../chunks/T-Nslbso.js";import{i as k}from"../chunks/BnZOgasr.js";import{e as Ve,j as ke,r as gt,h as xt}from"../chunks/6CzuHfQM.js";import{a as d,f,c as Ne,t as Re}from"../chunks/DS1KfRtl.js";import{c as He}from"../chunks/DCBLBrrW.js";import{h as _t}from"../chunks/DfVTcmam.js";import{i as bt}from"../chunks/BU70HLVx.js";import{S as yt}from"../chunks/C33A5aSj.js";import{S as kt}from"../chunks/BiG82jCv.js";import{a as wt,C as Ct}from"../chunks/2BnY_oab.js";import{E as St}from"../chunks/BnIDUuJL.js";import{S as Kt}from"../chunks/BjB88iwt.js";import{P as Ye}from"../chunks/CJPg7PqR.js";import{B as fe}from"../chunks/BH9oGrlA.js";import{I as me}from"../chunks/B48NJnzU.js";import{C as Mt}from"../chunks/CBjt6cm5.js";import{R as At}from"../chunks/BUqheMDA.js";import{T as Wt}from"../chunks/BHzbkLpq.js";import{r as It}from"../chunks/Cbu9Tg11.js";import{S as $t}from"../chunks/Ba74WbdD.js";import{t as Te}from"../chunks/BfHBnYuG.js";import{C as Be}from"../chunks/E7F5LllG.js";import{C as Fe}from"../chunks/BMNUAT2D.js";const Pt=6e4,Vt=5e3;function Nt(we){let u=pe(he({state:"idle",reachable:!1,rhinoVersion:null,computeVersion:null,selvaInstalled:!1,selvaVersion:null,plugins:{}})),j=null,ge=0,_=!1;async function Ce(){if(_)return!1;try{const V=await fetch(`/admin/api/compute/status?serverId=${we()}`);if(_)return!1;if(!V.ok)return h(u,{...t(u),reachable:!1},!0),!1;const w=await V.json();return h(u,{reachable:w.reachable,rhinoVersion:w.rhinoVersion,computeVersion:w.computeVersion,selvaInstalled:w.selvaInstalled,selvaVersion:w.selvaVersion,plugins:w.plugins??{},state:w.reachable?w.selvaInstalled?"ok":"warning":"error"},!0),w.reachable}catch{return _||h(u,{...t(u),reachable:!1},!0),!1}}async function m(){const V=await Ce();_||V||(Date.now()<ge?(h(u,{...t(u),state:"checking"},!0),j=setTimeout(m,Vt)):h(u,{...t(u),state:"error",reachable:!1},!0))}function K(){_||(j!==null&&(clearTimeout(j),j=null),ge=Date.now()+Pt,h(u,{...t(u),state:"checking"},!0),m())}function Q(){_=!0,j!==null&&(clearTimeout(j),j=null)}return{get state(){return t(u)},check:K,stop:Q}}var Rt=f('<button class="text-muted-foreground hover:text-foreground ml-auto flex items-center gap-1 text-xs"> <!></button>'),Tt=f('<p class="text-muted-foreground text-xs">No organizations exist yet.</p>'),Ot=f('<label class="hover:bg-muted/40 flex items-center gap-2 rounded px-2 py-1 text-xs"><input type="checkbox" class="h-3.5 w-3.5"/> <span class="truncate"> </span> <span class="text-muted-foreground ml-auto font-mono text-[10px]"> </span></label>'),Ut=f('<div class="grid gap-1 sm:grid-cols-2"></div>'),Et=f(`<p class="text-muted-foreground text-xs">This server is the global default — it stays visible to every org regardless of the
|
|
2
|
-
allowlist.</p>`),jt=f('<p class="text-muted-foreground text-xs">No orgs selected — this server is dormant (admin-only).</p>'),zt=f('<div class="space-y-2"><div class="flex items-center gap-3"><p class="text-muted-foreground text-xs">Available to</p> <div class="bg-muted inline-flex rounded-md p-0.5"><button>All orgs</button> <button>Specific orgs</button></div> <!></div> <!> <!></div>'),Dt=f('<span class="flex items-center gap-1 rounded-full bg-green-100 px-2 py-0.5 text-xs font-medium text-green-800 dark:bg-green-900/30 dark:text-green-400"><!> default</span>'),Lt=f('<button class="text-muted-foreground hover:text-foreground text-xs underline-offset-2 hover:underline">set as default</button>'),Ht=f("<!> ",1),Yt=f("<!> <!>",1),Bt=f('<span class="text-red-600 dark:text-red-400">Not installed</span>'),Ft=f('<div class="grid grid-cols-3 gap-2"><div class="bg-muted/40 rounded-md px-3 py-2"><p class="text-muted-foreground text-xs">Rhino</p> <p class="mt-0.5 text-xs font-medium"> </p></div> <div class="bg-muted/40 rounded-md px-3 py-2"><p class="text-muted-foreground text-xs">Compute</p> <p class="mt-0.5 text-xs font-medium"> </p></div> <div class="bg-muted/40 rounded-md px-3 py-2"><p class="text-muted-foreground text-xs">Selva Plugin</p> <p class="mt-0.5 text-xs font-medium"><!></p></div></div>'),Gt=f('<button class="text-muted-foreground hover:text-destructive shrink-0 text-xs underline-offset-2 hover:underline">Clear</button>'),Jt=f('<button class="text-muted-foreground hover:text-foreground shrink-0 text-xs underline-offset-2 hover:underline">Undo</button>'),qt=f('<div class="bg-muted/40 flex items-center justify-between rounded-md px-3 py-1.5"><span class="text-xs font-medium"> </span> <span class="text-muted-foreground text-xs"> </span></div>'),Qt=f('<div class="mt-2 grid gap-1.5 sm:grid-cols-2 lg:grid-cols-3"></div>'),Xt=f('<div><button class="text-muted-foreground hover:text-foreground flex items-center gap-1 text-xs"><!> </button> <!></div>'),Zt=f('<div><div class="flex items-center justify-between"><div class="flex items-center gap-2"><!> <!></div> <div class="flex items-center gap-3"><div class="flex items-center gap-1.5"><!> <span> </span></div> <!> <!> <!></div></div> <!> <div class="grid gap-2 sm:grid-cols-2"><div class="space-y-1"><p class="text-muted-foreground text-xs">Server URL</p> <!></div> <div class="space-y-1"><p class="text-muted-foreground text-xs">API Key (optional)</p> <div class="flex gap-1.5"><!> <!></div></div> <div class="space-y-1"><p class="text-muted-foreground text-xs">Timeout (ms)</p> <!></div> <div class="space-y-1"><p class="text-muted-foreground text-xs">Retries</p> <!></div></div> <!> <!></div>'),ea=f("<!> Add server",1),ta=f('<!> <button type="button" class="border-muted-foreground/30 text-muted-foreground hover:border-foreground/50 hover:text-foreground hover:bg-muted/30 flex w-full items-center justify-center gap-2 rounded-lg border border-dashed py-4 text-sm font-medium transition-colors"><!> Add another server</button>',1),aa=f('<div class="space-y-6"><!> <!></div>');function Wa(we,u){ut(u,!0);const j=(a,e=Pe)=>{const l=y(()=>e().sharedWith==="all"),v=y(()=>t(l)?new Set:new Set(e().sharedWith)),x=y(()=>e().id===t(K));var b=zt(),I=n(b),B=o(n(I),2),N=n(B),X=o(N,2);s(B);var F=o(B,2);{var te=c=>{var g=Rt(),M=n(g),O=o(M);{var J=S=>{Be(S,{class:"h-3 w-3"})},U=S=>{Fe(S,{class:"h-3 w-3"})};k(O,S=>{xe[e().id]?S(J):S(U,-1)})}s(g),E(()=>$(M,`${t(v).size??""}/${u.data.orgs.length??""} selected `)),Y("click",g,()=>xe[e().id]=!xe[e().id]),d(c,g)};k(F,c=>{!t(l)&&u.data.orgs.length>0&&c(te)})}s(I);var ae=o(I,2);{var ne=c=>{var g=Ne(),M=ee(g);{var O=U=>{var S=Tt();d(U,S)},J=U=>{var S=Ut();Ve(S,21,()=>u.data.orgs,re=>re.id,(re,oe)=>{var Z=Ot(),q=n(Z);gt(q);var ie=o(q,2),le=n(ie,!0);s(ie);var de=o(ie,2),_e=n(de,!0);s(de),s(Z),E(Me=>{xt(q,Me),$(le,t(oe).name),$(_e,t(oe).slug)},[()=>t(v).has(t(oe).id)]),Y("change",q,()=>qe(e(),t(oe).id)),d(re,Z)}),s(S),d(U,S)};k(M,U=>{u.data.orgs.length===0?U(O):U(J,-1)})}d(c,g)};k(ae,c=>{!t(l)&&xe[e().id]&&c(ne)})}var R=o(ae,2);{var G=c=>{var g=Et();d(c,g)},T=c=>{var g=jt();d(c,g)};k(R,c=>{!t(l)&&t(x)?c(G):!t(l)&&t(v).size===0&&c(T,1)})}s(b),E(()=>{ke(N,1,`rounded px-2 py-0.5 text-xs ${t(l)?"bg-background shadow-sm":"text-muted-foreground hover:text-foreground"}`),ke(X,1,`rounded px-2 py-0.5 text-xs ${t(l)?"text-muted-foreground hover:text-foreground":"bg-background shadow-sm"}`)}),Y("click",N,()=>Ue(e(),!0)),Y("click",X,()=>Ue(e(),!1)),d(a,b)},ge=(a,e=Pe,l=Pe)=>{const v=y(()=>t(C)[e().id]?.state),x=y(()=>Ce[t(v)?.state??"idle"]),b=y(()=>t(v)?.state==="checking"),I=y(()=>Object.entries(t(v)?.plugins??{})),B=y(()=>V.has(e().id));var N=Zt(),X=n(N),F=n(X),te=n(F);me(te,{placeholder:"label",get value(){return e().label},oninput:r=>{const i=r.target;e().label=i.value.toLowerCase().replace(/[^a-z0-9_-]/g,""),i.value=e().label,P(e().id)},class:"h-7 w-32 font-mono text-xs"});var ae=o(te,2);{var ne=r=>{var i=Dt(),p=n(i);$t(p,{class:"h-3 w-3"}),ve(),s(i),d(r,i)},R=r=>{var i=Lt();Y("click",i,()=>{h(K,e().id,!0),P(e().id)}),d(r,i)};k(ae,r=>{e().id===t(K)?r(ne):r(R,-1)})}s(F);var G=o(F,2),T=n(G),c=n(T);Mt(c,{get class(){return`h-2.5 w-2.5 shrink-0 fill-current ${t(x).color??""}`}});var g=o(c,2),M=n(g,!0);s(g),s(T);var O=o(T,2);fe(O,{variant:"outline",size:"sm",onclick:()=>t(C)[e().id]?.check(),get disabled(){return t(b)},class:"h-7",title:"Probe this server's availability (retries for up to 1 min)",children:(r,i)=>{var p=Ht(),A=ee(p);{let D=y(()=>t(b)?"animate-spin":"");At(A,{get class(){return`mr-1.5 h-3.5 w-3.5 ${t(D)??""}`}})}var z=o(A);E(()=>$(z,` ${t(b)?"Checking…":"Check"}`)),d(r,p)},$$slots:{default:!0}});var J=o(O,2);{var U=r=>{var i=Yt(),p=ee(i);fe(p,{variant:"ghost",size:"sm",onclick:()=>Ge(e().id),get disabled(){return t(Q)},class:"text-muted-foreground hover:text-foreground h-7",children:(z,D)=>{ve();var L=Re("Discard");d(z,L)},$$slots:{default:!0}});var A=o(p,2);fe(A,{size:"sm",onclick:Qe,get disabled(){return t(Q)},class:"h-7",children:(z,D)=>{ve();var L=Re();E(()=>$(L,t(Q)?"Saving…":"Save changes")),d(z,L)},$$slots:{default:!0}}),d(r,i)};k(J,r=>{t(B)&&r(U)})}var S=o(J,2);{let r=y(()=>e().id===t(K)),i=y(()=>e().id===t(K)?"Set another server as default before deleting":void 0);fe(S,{variant:"ghost",size:"sm",onclick:()=>Je(l()),get disabled(){return t(r)},get title(){return t(i)},class:"text-destructive hover:text-destructive h-7 w-7 p-0",children:(p,A)=>{Wt(p,{class:"h-3.5 w-3.5"})},$$slots:{default:!0}})}s(G),s(X);var re=o(X,2);{var oe=r=>{var i=Ft(),p=n(i),A=o(n(p),2),z=n(A,!0);s(A),s(p);var D=o(p,2),L=o(n(D),2),We=n(L,!0);s(L),s(D);var be=o(D,2),W=o(n(be),2),ue=n(W);{var ce=H=>{var se=Re();E(()=>$(se,t(v).selvaVersion)),d(H,se)},ye=H=>{var se=Bt();d(H,se)};k(ue,H=>{t(v).selvaInstalled?H(ce):H(ye,-1)})}s(W),s(be),s(i),E(()=>{$(z,t(v).rhinoVersion??"-"),$(We,t(v).computeVersion??"-")}),d(r,i)};k(re,r=>{t(v)?.reachable&&r(oe)})}var Z=o(re,2),q=n(Z),ie=o(n(q),2);me(ie,{placeholder:"http://localhost:5000",oninput:()=>P(e().id),class:"font-mono text-xs",get value(){return e().serverUrl},set value(r){e().serverUrl=r}}),s(q);var le=o(q,2),de=o(n(le),2),_e=n(de);{let r=y(()=>e().hasApiKey&&e().apiKey!==_&&!e().apiKey?"Key set - enter new value to replace":e().apiKey===_?"Key will be cleared on save":""),i=y(()=>e().apiKey===_?"":e().apiKey),p=y(()=>e().apiKey===_);me(_e,{type:"password",get placeholder(){return t(r)},get value(){return t(i)},get disabled(){return t(p)},oninput:A=>{e().apiKey=A.target.value,P(e().id)},class:"font-mono text-xs"})}var Me=o(_e,2);{var Ze=r=>{var i=Gt();Y("click",i,()=>{e().apiKey=_,P(e().id)}),d(r,i)},et=r=>{var i=Jt();Y("click",i,()=>e().apiKey=""),d(r,i)};k(Me,r=>{e().hasApiKey&&e().apiKey!==_&&!e().apiKey?r(Ze):e().apiKey===_&&r(et,1)})}s(de),s(le);var Ae=o(le,2),tt=o(n(Ae),2);me(tt,{type:"number",placeholder:"30000",oninput:()=>P(e().id),onblur:()=>{e().timeoutMs=Math.min(3e5,Math.max(1e3,Number(e().timeoutMs)||3e4))},class:"text-xs",get value(){return e().timeoutMs},set value(r){e().timeoutMs=r}}),s(Ae);var je=o(Ae,2),at=o(n(je),2);me(at,{type:"number",placeholder:"0",oninput:()=>P(e().id),onblur:()=>{e().retryCount=Math.min(5,Math.max(0,Number(e().retryCount)||0))},class:"text-xs",get value(){return e().retryCount},set value(r){e().retryCount=r}}),s(je),s(Z);var ze=o(Z,2);{var rt=r=>{j(r,e)};k(ze,r=>{u.data.tenancy!=="single"&&r(rt)})}var ot=o(ze,2);{var st=r=>{var i=Xt(),p=n(i),A=n(p);{var z=W=>{Be(W,{class:"h-3 w-3"})},D=W=>{Fe(W,{class:"h-3 w-3"})};k(A,W=>{w[e().id]?W(z):W(D,-1)})}var L=o(A);s(p);var We=o(p,2);{var be=W=>{var ue=Qt();Ve(ue,21,()=>t(I),([ce,ye])=>ce,(ce,ye)=>{var H=y(()=>pt(t(ye),2));let se=()=>t(H)[0],nt=()=>t(H)[1];var Ie=qt(),$e=n(Ie),it=n($e,!0);s($e);var De=o($e,2),lt=n(De,!0);s(De),s(Ie),E(()=>{$(it,se()),$(lt,nt())}),d(ce,Ie)}),s(ue),d(W,ue)};k(We,W=>{w[e().id]&&W(be)})}s(i),E(()=>$(L,` ${t(I).length??""} Grasshopper plugin${t(I).length===1?"":"s"}`)),Y("click",p,()=>w[e().id]=!w[e().id]),d(r,i)};k(ot,r=>{t(v)?.reachable&&t(I).length>0&&r(st)})}s(N),E(()=>{ke(N,1,`space-y-3 rounded-lg border p-4 transition-colors ${t(B)?"border-amber-400/60 bg-amber-50/30 dark:border-amber-500/40 dark:bg-amber-950/10":"bg-muted/30"}`),ke(g,1,`text-xs font-medium ${t(x).color??""}`),$(M,t(x).label)}),d(a,N)},_="__clear__",Ce={idle:{label:"Not checked",color:"text-muted-foreground"},ok:{label:"Online",color:"text-green-600 dark:text-green-400"},warning:{label:"Warning",color:"text-yellow-600 dark:text-yellow-400"},error:{label:"Offline",color:"text-red-600 dark:text-red-400"},checking:{label:"Checking…",color:"text-blue-600 dark:text-blue-400"}};let m=pe(he([])),K=pe(""),Q=pe(!1);const V=new yt;let w=he({}),xe=he({});function P(a){V.add(a)}function Ge(a){V.delete(a);const e=u.data.servers.find(v=>v.id===a),l=t(m).findIndex(v=>v.id===a);if(!(l<0)){if(!e){t(C)[a]?.stop();const{[a]:v,...x}=t(C);h(C,x,!0),h(m,t(m).filter(b=>b.id!==a),!0);return}t(m)[l]={id:e.id,label:e.label,serverUrl:e.serverUrl,sharedWith:e.sharedWith==="all"?"all":[...e.sharedWith],timeoutMs:e.timeoutMs??3e4,retryCount:e.retryCount??0,apiKey:"",hasApiKey:e.hasApiKey},h(K,u.data.defaultServerId,!0)}}let C=pe(he({}));function Se(a){return t(C)[a]||(t(C)[a]=Nt(()=>a)),t(C)[a]}Le(()=>{V.size===0&&(h(m,u.data.servers.map(a=>({id:a.id,label:a.label,serverUrl:a.serverUrl,sharedWith:a.sharedWith==="all"?"all":[...a.sharedWith],timeoutMs:a.timeoutMs??3e4,retryCount:a.retryCount??0,apiKey:"",hasApiKey:a.hasApiKey})),!0),h(K,u.data.defaultServerId,!0))}),Le(()=>{const a=u.data.servers.map(e=>e.id);ct(()=>{for(const e of a)Se(e)})}),dt(()=>{for(const a of Object.values(t(C)))a.stop()});function Oe(){const a=It();t(m).length===0&&h(K,a,!0),h(m,[...t(m),{id:a,label:"new-server",serverUrl:"http://localhost:5000",sharedWith:"all",apiKey:"",hasApiKey:!1,timeoutMs:3e4,retryCount:0}],!0),Se(a),P(a)}function Je(a){const e=t(m)[a];t(C)[e.id]?.stop();const{[e.id]:l,...v}=t(C);h(C,v,!0),h(m,t(m).filter((x,b)=>b!==a),!0),t(K)===e.id&&t(m)[0]&&h(K,t(m)[0].id,!0);for(const x of t(m))P(x.id)}function Ue(a,e){a.sharedWith=e?"all":[],P(a.id)}function qe(a,e){a.sharedWith!=="all"&&(a.sharedWith=a.sharedWith.includes(e)?a.sharedWith.filter(l=>l!==e):[...a.sharedWith,e],P(a.id))}async function Qe(){h(Q,!0);try{const a={defaultServerId:t(K),servers:t(m).map(({apiKey:l,hasApiKey:v,retryCount:x,timeoutMs:b,...I})=>({...I,timeoutMs:Math.min(3e5,Math.max(1e3,Number(b)||3e4)),...l===_?{apiKey:null}:l?{apiKey:l}:{},...Number(x)?{retryCount:Math.min(5,Math.max(0,Number(x)))}:{}}))},e=await fetch("/admin/api/compute",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(e.ok){Te.success("Compute config saved"),await bt(),V.clear();for(const l of Object.values(t(C)))l.stop();h(C,{},!0);for(const l of t(m))Se(l.id)}else{const l=await e.json().catch(()=>({error:"Unknown error"}));Te.error(l.message||l.error||`Failed to save (${e.status})`)}}catch{Te.error("Failed to save compute config")}finally{h(Q,!1)}}var Ke=aa();_t("1h8e46q",a=>{ft(()=>{mt.title="Admin · Compute"})});var Ee=n(Ke);kt(Ee,{eyebrow:"Admin",title:"Compute",description:"Manage compute servers. Share servers with specific orgs to expose them in pickers. When ALLOW_ORG_COMPUTE_OVERRIDE is on, org owners can configure their own servers."});var Xe=o(Ee,2);He(Xe,()=>Ct,(a,e)=>{e(a,{children:(l,v)=>{var x=Ne(),b=ee(x);He(b,()=>wt,(I,B)=>{B(I,{class:"space-y-3 pt-6",children:(N,X)=>{var F=Ne(),te=ee(F);{var ae=R=>{St(R,{get icon(){return Kt},title:"No servers configured",actions:T=>{fe(T,{variant:"outline",size:"sm",onclick:Oe,children:(c,g)=>{var M=ea(),O=ee(M);Ye(O,{class:"mr-1.5 h-3.5 w-3.5"}),ve(),d(c,M)},$$slots:{default:!0}})},$$slots:{actions:!0}})},ne=R=>{var G=ta(),T=ee(G);Ve(T,19,()=>t(m),M=>M.id,(M,O,J)=>{ge(M,()=>t(O),()=>t(J))});var c=o(T,2),g=n(c);Ye(g,{class:"h-4 w-4"}),ve(),s(c),Y("click",c,Oe),d(R,G)};k(te,R=>{t(m).length===0?R(ae):R(ne,-1)})}d(N,F)},$$slots:{default:!0}})}),d(l,x)},$$slots:{default:!0}})}),s(Ke),d(we,Ke),vt()}ht(["click","change"]);export{Wa as component};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|