@selvajs/selva 4.6.16 → 4.6.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/client/_app/immutable/chunks/{BY8bojlq.js → BOnmqX01.js} +1 -1
- package/build/client/_app/immutable/chunks/BOnmqX01.js.br +0 -0
- package/build/client/_app/immutable/chunks/BOnmqX01.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CMGgRKBD.js → BY3o31MW.js} +1 -1
- package/build/client/_app/immutable/chunks/BY3o31MW.js.br +0 -0
- package/build/client/_app/immutable/chunks/BY3o31MW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DWQFIxJz.js → CbNz9-CM.js} +1 -1
- package/build/client/_app/immutable/chunks/CbNz9-CM.js.br +0 -0
- package/build/client/_app/immutable/chunks/CbNz9-CM.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Pte7A6Om.js +3 -0
- package/build/client/_app/immutable/chunks/Pte7A6Om.js.br +0 -0
- package/build/client/_app/immutable/chunks/Pte7A6Om.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CzJ-AB7a.js → _i811ba7.js} +1 -1
- package/build/client/_app/immutable/chunks/_i811ba7.js.br +0 -0
- package/build/client/_app/immutable/chunks/_i811ba7.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Ba0SJPsk.js → pQhmY_wH.js} +1 -1
- package/build/client/_app/immutable/chunks/pQhmY_wH.js.br +0 -0
- package/build/client/_app/immutable/chunks/pQhmY_wH.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CD8Wxnqk.js → rfOa0BQR.js} +1 -1
- package/build/client/_app/immutable/chunks/rfOa0BQR.js.br +0 -0
- package/build/client/_app/immutable/chunks/rfOa0BQR.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.4gCgIqIE.js → app.D9cDSDOn.js} +2 -2
- package/build/client/_app/immutable/entry/app.D9cDSDOn.js.br +0 -0
- package/build/client/_app/immutable/entry/app.D9cDSDOn.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.PySZ-94o.js +1 -0
- package/build/client/_app/immutable/entry/start.PySZ-94o.js.br +2 -0
- package/build/client/_app/immutable/entry/start.PySZ-94o.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.DsHuLSCv.js → 1.CZ6ti3QK.js} +1 -1
- package/build/client/_app/immutable/nodes/1.CZ6ti3QK.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.CZ6ti3QK.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{11.BfsGabZe.js → 11.C_GwV9Bj.js} +1 -1
- package/build/client/_app/immutable/nodes/11.C_GwV9Bj.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.C_GwV9Bj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{13.B7eVO2kd.js → 13.B6HunFXY.js} +1 -1
- package/build/client/_app/immutable/nodes/13.B6HunFXY.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.B6HunFXY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{14.CN8XEZZ7.js → 14.CApA_dlI.js} +1 -1
- package/build/client/_app/immutable/nodes/14.CApA_dlI.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.CApA_dlI.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{15.CxS-d1XP.js → 15.HPNMduTX.js} +1 -1
- package/build/client/_app/immutable/nodes/15.HPNMduTX.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.HPNMduTX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{16.D7vWJZbv.js → 16.SCUiwN43.js} +1 -1
- package/build/client/_app/immutable/nodes/16.SCUiwN43.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.SCUiwN43.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{17.DR0kTauY.js → 17.DjaXtpMT.js} +1 -1
- package/build/client/_app/immutable/nodes/17.DjaXtpMT.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.DjaXtpMT.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{19.m_ghE-1a.js → 19.CN2i4AVz.js} +1 -1
- package/build/client/_app/immutable/nodes/19.CN2i4AVz.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.CN2i4AVz.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{2.B76ZGQKl.js → 2.CprEjS64.js} +1 -1
- package/build/client/_app/immutable/nodes/2.CprEjS64.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CprEjS64.js.gz +0 -0
- package/build/client/_app/immutable/nodes/20.pVjIXbFX.js +5021 -0
- package/build/client/_app/immutable/nodes/20.pVjIXbFX.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.pVjIXbFX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{21.BLFlr0oo.js → 21.C_4vpZgh.js} +1 -1
- package/build/client/_app/immutable/nodes/21.C_4vpZgh.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.C_4vpZgh.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{23.BVm3p23P.js → 23.oeDvNaab.js} +1 -1
- package/build/client/_app/immutable/nodes/23.oeDvNaab.js.br +0 -0
- package/build/client/_app/immutable/nodes/23.oeDvNaab.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{24.KBWoLAP1.js → 24.C4jPz0M0.js} +1 -1
- package/build/client/_app/immutable/nodes/24.C4jPz0M0.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.C4jPz0M0.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{27.9HFt7B-E.js → 27.Bjv06_yW.js} +1 -1
- package/build/client/_app/immutable/nodes/27.Bjv06_yW.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.Bjv06_yW.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{28.DqRkp2GH.js → 28.C5NQCChS.js} +1 -1
- package/build/client/_app/immutable/nodes/28.C5NQCChS.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.C5NQCChS.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{29.DZPOQinT.js → 29.D7jOFlYP.js} +1 -1
- package/build/client/_app/immutable/nodes/29.D7jOFlYP.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.D7jOFlYP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.CvRAuwKW.js → 3.BsAOhKfW.js} +1 -1
- package/build/client/_app/immutable/nodes/3.BsAOhKfW.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.BsAOhKfW.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{30.Y8AOIiH3.js → 30.fXdhn2fS.js} +1 -1
- package/build/client/_app/immutable/nodes/30.fXdhn2fS.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.fXdhn2fS.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.CCsV2OLD.js → 5.B1gLU4nT.js} +1 -1
- package/build/client/_app/immutable/nodes/5.B1gLU4nT.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.B1gLU4nT.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.BJl4CJYU.js → 6.gBHoQstg.js} +1 -1
- package/build/client/_app/immutable/nodes/6.gBHoQstg.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.gBHoQstg.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.ykq_dyRY.js → 7.D8R5mnRo.js} +1 -1
- package/build/client/_app/immutable/nodes/7.D8R5mnRo.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.D8R5mnRo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.CfQP9ipc.js → 8.xxszvZmC.js} +1 -1
- package/build/client/_app/immutable/nodes/8.xxszvZmC.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.xxszvZmC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{9.WqgjRmtE.js → 9.BZTQg6F_.js} +1 -1
- package/build/client/_app/immutable/nodes/9.BZTQg6F_.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.BZTQg6F_.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/client/baseHDR.hdr +0 -0
- package/build/handler.js +4 -4
- package/build/index.js +4 -4
- package/build/server/chunks/chunks/{internal.js-CiIYcJ_v.js → internal.js-DUldHjE3.js} +3 -3
- package/build/server/chunks/chunks/internal.js-DUldHjE3.js.map +1 -0
- package/build/server/chunks/chunks/{package.js-DbqeVAsT.js → package.js-FSG5sWFK.js} +2 -2
- package/build/server/chunks/chunks/{package.js-DbqeVAsT.js.map → package.js-FSG5sWFK.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/compute/{_server.ts.js-k5YwUAVY.js → _server.ts.js-Ct_7OEVp.js} +14 -3
- package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-Ct_7OEVp.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/{_page.server.ts.js-woNmvgXW.js → _page.server.ts.js-COIP__Oi.js} +2 -2
- package/build/server/chunks/entries/pages/admin/{_page.server.ts.js-woNmvgXW.js.map → _page.server.ts.js-COIP__Oi.js.map} +1 -1
- package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-BAgfQNdq.js → _page.server.ts.js-BQ7XQXcR.js} +2 -2
- package/build/server/chunks/entries/pages/admin/system/{_page.server.ts.js-BAgfQNdq.js.map → _page.server.ts.js-BQ7XQXcR.js.map} +1 -1
- package/build/server/chunks/{handler-CFqhk1Lw.js → handler-8WbYsqTN.js} +3 -3
- package/build/server/chunks/{handler-CFqhk1Lw.js.map → handler-8WbYsqTN.js.map} +1 -1
- package/build/server/chunks/{index.js-B1x5z0XW.js → index.js-DQiiVGnK.js} +2 -2
- package/build/server/chunks/{index.js-B1x5z0XW.js.map → index.js-DQiiVGnK.js.map} +1 -1
- package/build/server/chunks/{manifest.js-BmGujnal.js → manifest.js-4bS33Rny.js} +26 -26
- package/build/server/chunks/{manifest.js-BmGujnal.js.map → manifest.js-4bS33Rny.js.map} +1 -1
- package/build/server/chunks/nodes/{1.js-6qsocqYq.js → 1.js-BRkGtLuf.js} +2 -2
- package/build/server/chunks/nodes/{1.js-6qsocqYq.js.map → 1.js-BRkGtLuf.js.map} +1 -1
- package/build/server/chunks/nodes/{11.js-D2w80jQ0.js → 11.js-Cd5i4qnV.js} +2 -2
- package/build/server/chunks/nodes/{11.js-D2w80jQ0.js.map → 11.js-Cd5i4qnV.js.map} +1 -1
- package/build/server/chunks/nodes/{13.js-BOcJP3B4.js → 13.js-tStcvtm0.js} +2 -2
- package/build/server/chunks/nodes/{13.js-BOcJP3B4.js.map → 13.js-tStcvtm0.js.map} +1 -1
- package/build/server/chunks/nodes/{14.js-CNIirzyM.js → 14.js-BTua6A4z.js} +2 -2
- package/build/server/chunks/nodes/{14.js-CNIirzyM.js.map → 14.js-BTua6A4z.js.map} +1 -1
- package/build/server/chunks/nodes/{15.js-5N7zUd2G.js → 15.js-DbGAIzD7.js} +4 -4
- package/build/server/chunks/nodes/{15.js-5N7zUd2G.js.map → 15.js-DbGAIzD7.js.map} +1 -1
- package/build/server/chunks/nodes/{16.js-BwrKREJT.js → 16.js-CpyZ3DN9.js} +2 -2
- package/build/server/chunks/nodes/{16.js-BwrKREJT.js.map → 16.js-CpyZ3DN9.js.map} +1 -1
- package/build/server/chunks/nodes/{17.js-DOzZStt_.js → 17.js-DdufYTa7.js} +2 -2
- package/build/server/chunks/nodes/{17.js-DOzZStt_.js.map → 17.js-DdufYTa7.js.map} +1 -1
- package/build/server/chunks/nodes/{19.js-Cit0dUJS.js → 19.js-BjYa0tRp.js} +2 -2
- package/build/server/chunks/nodes/{19.js-Cit0dUJS.js.map → 19.js-BjYa0tRp.js.map} +1 -1
- package/build/server/chunks/nodes/{2.js-C7F0_Wnd.js → 2.js-BpaTME37.js} +2 -2
- package/build/server/chunks/nodes/{2.js-C7F0_Wnd.js.map → 2.js-BpaTME37.js.map} +1 -1
- package/build/server/chunks/nodes/{20.js-BL89VfkG.js → 20.js-0s-R-Oe5.js} +2 -2
- package/build/server/chunks/nodes/{20.js-BL89VfkG.js.map → 20.js-0s-R-Oe5.js.map} +1 -1
- package/build/server/chunks/nodes/{21.js-BDvoxF9Q.js → 21.js-redDeL3V.js} +2 -2
- package/build/server/chunks/nodes/{21.js-BDvoxF9Q.js.map → 21.js-redDeL3V.js.map} +1 -1
- package/build/server/chunks/nodes/{23.js-DuAFqGyB.js → 23.js-BtuPZz_g.js} +2 -2
- package/build/server/chunks/nodes/{23.js-DuAFqGyB.js.map → 23.js-BtuPZz_g.js.map} +1 -1
- package/build/server/chunks/nodes/{24.js-C85j7wE8.js → 24.js-BKoTscF1.js} +2 -2
- package/build/server/chunks/nodes/{24.js-C85j7wE8.js.map → 24.js-BKoTscF1.js.map} +1 -1
- package/build/server/chunks/nodes/{27.js-BhpKx9Sz.js → 27.js-DKlcY_J1.js} +2 -2
- package/build/server/chunks/nodes/{27.js-BhpKx9Sz.js.map → 27.js-DKlcY_J1.js.map} +1 -1
- package/build/server/chunks/nodes/{28.js-BoGhIdlw.js → 28.js-BnSQFmRX.js} +2 -2
- package/build/server/chunks/nodes/{28.js-BoGhIdlw.js.map → 28.js-BnSQFmRX.js.map} +1 -1
- package/build/server/chunks/nodes/{29.js-DKdw3UNi.js → 29.js-B_bPY-3I.js} +2 -2
- package/build/server/chunks/nodes/{29.js-DKdw3UNi.js.map → 29.js-B_bPY-3I.js.map} +1 -1
- package/build/server/chunks/nodes/{3.js-CZt1olpx.js → 3.js-B_nXNZOS.js} +2 -2
- package/build/server/chunks/nodes/{3.js-CZt1olpx.js.map → 3.js-B_nXNZOS.js.map} +1 -1
- package/build/server/chunks/nodes/{30.js-DXguIfDA.js → 30.js-B4h8tS3c.js} +2 -2
- package/build/server/chunks/nodes/{30.js-DXguIfDA.js.map → 30.js-B4h8tS3c.js.map} +1 -1
- package/build/server/chunks/nodes/{5.js-BKC3ru4x.js → 5.js-CBQKVVJP.js} +2 -2
- package/build/server/chunks/nodes/{5.js-BKC3ru4x.js.map → 5.js-CBQKVVJP.js.map} +1 -1
- package/build/server/chunks/nodes/{6.js-BCrsTS4R.js → 6.js-DMRDoUK2.js} +2 -2
- package/build/server/chunks/nodes/{6.js-BCrsTS4R.js.map → 6.js-DMRDoUK2.js.map} +1 -1
- package/build/server/chunks/nodes/{7.js-BwMuGkm5.js → 7.js-BLtxA4EF.js} +2 -2
- package/build/server/chunks/nodes/{7.js-BwMuGkm5.js.map → 7.js-BLtxA4EF.js.map} +1 -1
- package/build/server/chunks/nodes/{8.js-ZBTt-5XS.js → 8.js-xTfoLU7r.js} +2 -2
- package/build/server/chunks/nodes/{8.js-ZBTt-5XS.js.map → 8.js-xTfoLU7r.js.map} +1 -1
- package/build/server/chunks/nodes/{9.js-_8Z8gAt0.js → 9.js-DH7S4_91.js} +4 -4
- package/build/server/chunks/nodes/{9.js-_8Z8gAt0.js.map → 9.js-DH7S4_91.js.map} +1 -1
- package/package.json +2 -2
- package/build/client/_app/immutable/chunks/BY8bojlq.js.br +0 -0
- package/build/client/_app/immutable/chunks/BY8bojlq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Ba0SJPsk.js.br +0 -0
- package/build/client/_app/immutable/chunks/Ba0SJPsk.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BuQcZ391.js +0 -3
- package/build/client/_app/immutable/chunks/BuQcZ391.js.br +0 -0
- package/build/client/_app/immutable/chunks/BuQcZ391.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CD8Wxnqk.js.br +0 -0
- package/build/client/_app/immutable/chunks/CD8Wxnqk.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CMGgRKBD.js.br +0 -0
- package/build/client/_app/immutable/chunks/CMGgRKBD.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CzJ-AB7a.js.br +0 -0
- package/build/client/_app/immutable/chunks/CzJ-AB7a.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DWQFIxJz.js.br +0 -0
- package/build/client/_app/immutable/chunks/DWQFIxJz.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.4gCgIqIE.js.br +0 -0
- package/build/client/_app/immutable/entry/app.4gCgIqIE.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.B7HcfcqC.js +0 -1
- package/build/client/_app/immutable/entry/start.B7HcfcqC.js.br +0 -2
- package/build/client/_app/immutable/entry/start.B7HcfcqC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.DsHuLSCv.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.DsHuLSCv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.BfsGabZe.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.BfsGabZe.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.B7eVO2kd.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.B7eVO2kd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/14.CN8XEZZ7.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.CN8XEZZ7.js.gz +0 -0
- package/build/client/_app/immutable/nodes/15.CxS-d1XP.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.CxS-d1XP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/16.D7vWJZbv.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.D7vWJZbv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/17.DR0kTauY.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.DR0kTauY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/19.m_ghE-1a.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.m_ghE-1a.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.B76ZGQKl.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.B76ZGQKl.js.gz +0 -0
- package/build/client/_app/immutable/nodes/20.BS9M0sjw.js +0 -5021
- package/build/client/_app/immutable/nodes/20.BS9M0sjw.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.BS9M0sjw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/21.BLFlr0oo.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.BLFlr0oo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/23.BVm3p23P.js.br +0 -0
- package/build/client/_app/immutable/nodes/23.BVm3p23P.js.gz +0 -0
- package/build/client/_app/immutable/nodes/24.KBWoLAP1.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.KBWoLAP1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/27.9HFt7B-E.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.9HFt7B-E.js.gz +0 -0
- package/build/client/_app/immutable/nodes/28.DqRkp2GH.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.DqRkp2GH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/29.DZPOQinT.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.DZPOQinT.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.CvRAuwKW.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.CvRAuwKW.js.gz +0 -0
- package/build/client/_app/immutable/nodes/30.Y8AOIiH3.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.Y8AOIiH3.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.CCsV2OLD.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CCsV2OLD.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BJl4CJYU.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BJl4CJYU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.ykq_dyRY.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.ykq_dyRY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.CfQP9ipc.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.CfQP9ipc.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.WqgjRmtE.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.WqgjRmtE.js.gz +0 -0
- package/build/server/chunks/chunks/internal.js-CiIYcJ_v.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-k5YwUAVY.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../chunks/DsnmJJEf.js";import{p as le,f,d as i,t as E,c as U,r as P,g as n,h as T,n as ee,a as de,s as oe,u as R,e as ve,$ as ge}from"../chunks/BtOVeLcI.js";import{d as he,s as H,a as pe}from"../chunks/BNpXeuQ_.js";import{c as te,a as r,t as _e,f as c}from"../chunks/BoLtD6vo.js";import{i as J}from"../chunks/DAQN5y4A.js";import{a as Z,e as xe}from"../chunks/22C0ZkpD.js";import{s as O,r as re,c as x,b as $e}from"../chunks/ChEZL1UP.js";import{h as we}from"../chunks/CTTkX-27.js";import{p as be}from"../chunks/
|
|
1
|
+
import"../chunks/DsnmJJEf.js";import{p as le,f,d as i,t as E,c as U,r as P,g as n,h as T,n as ee,a as de,s as oe,u as R,e as ve,$ as ge}from"../chunks/BtOVeLcI.js";import{d as he,s as H,a as pe}from"../chunks/BNpXeuQ_.js";import{c as te,a as r,t as _e,f as c}from"../chunks/BoLtD6vo.js";import{i as J}from"../chunks/DAQN5y4A.js";import{a as Z,e as xe}from"../chunks/22C0ZkpD.js";import{s as O,r as re,c as x,b as $e}from"../chunks/ChEZL1UP.js";import{h as we}from"../chunks/CTTkX-27.js";import{p as be}from"../chunks/BY3o31MW.js";import{S as ye}from"../chunks/DLMu-EPf.js";import{i as ie}from"../chunks/Pte7A6Om.js";import{C as ce,a as me}from"../chunks/CY6l1SkO.js";import{B as ae}from"../chunks/3KyAYBE4.js";import{C as ue,a as fe}from"../chunks/BawNisij.js";import{B as ne}from"../chunks/mlApEF2J.js";import{I as se}from"../chunks/BuC_QZkR.js";import{C as Pe}from"../chunks/C0Xb3vka.js";import{T as Ce}from"../chunks/BuBobyR7.js";import{t as y}from"../chunks/DTLLn7uD.js";import{S as Se}from"../chunks/Bixcgta2.js";import{U as ke}from"../chunks/BYQ2KYuV.js";import{S as Ae}from"../chunks/BRHPfB44.js";function Ge(v,e){let l=re(e,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21"}],["path",{d:"m14 19.5 3-3 3 3"}],["path",{d:"M17 22v-5.5"}],["circle",{cx:"9",cy:"9",r:"2"}]];se(v,O({name:"image-up"},()=>l,{get iconNode(){return s}}))}function Ie(v,e){let l=re(e,["$$slots","$$events","$$legacy"]);const s=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1"}]];se(v,O({name:"layout-dashboard"},()=>l,{get iconNode(){return s}}))}function Ue(v,e){let l=re(e,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"}],["path",{d:"M12 22V12"}],["polyline",{points:"3.29 7 12 12 20.71 7"}],["path",{d:"m7.5 4.27 9 5.15"}]];se(v,O({name:"package"},()=>l,{get iconNode(){return s}}))}var Ne=c("<!> ",1),je=c("<!> <!>",1),Me=c('<img class="h-full w-full object-contain"/>'),ze=c("<!> ",1),Be=c("<!> Remove",1),Te=c('<div class="flex items-center gap-4"><div class="bg-muted/40 flex h-20 w-20 shrink-0 items-center justify-center overflow-hidden rounded-lg border"><!></div> <div class="flex flex-col gap-2"><p class="text-muted-foreground text-xs">PNG, JPG, WebP, GIF, or SVG. Stored at up to 1200px as WebP.</p> <div class="flex gap-2"><input type="file" class="hidden"/> <!> <!></div></div></div>'),Ee=c("<!> <!>",1);function Fe(v,e){le(e,!0);const l="image/png,image/jpeg,image/webp,image/gif,image/svg+xml",s=10*1024*1024,F=R(()=>`/admin/api/orgs/${e.orgId}/assets/${e.kind}`);let C=oe(null),m=oe(!1);async function M(t){const u=t.target,$=u.files?.[0];if(u.value="",!!$){if(!l.split(",").includes($.type)){y.error("Unsupported image type. Use PNG, JPG, WebP, GIF, or SVG.");return}if($.size>s){y.error(`Image too large. Max ${s/(1024*1024)} MB.`);return}T(m,!0);try{const D=new FormData;D.append("image",$);const g=await fetch(n(F),{method:"POST",body:D});if(g.ok)y.success(`${e.title} updated`),await ie();else{const w=await g.json().catch(()=>({}));y.error(w.message||w.error||`Upload failed (${g.status})`)}}catch{y.error("Failed to upload")}finally{T(m,!1)}}}async function V(){T(m,!0);try{const t=await fetch(n(F),{method:"DELETE"});t.ok?(y.success(`${e.title} removed`),await ie()):y.error(`Remove failed (${t.status})`)}catch{y.error("Failed to remove")}finally{T(m,!1)}}var W=te(),X=f(W);x(X,()=>fe,(t,u)=>{u(t,{children:($,D)=>{var g=Ee(),w=f(g);x(w,()=>ce,(S,k)=>{k(S,{children:(A,q)=>{var o=je(),d=f(o);x(d,()=>me,(h,b)=>{b(h,{class:"flex items-center gap-2 text-sm font-medium",children:(p,_)=>{var I=Ne(),N=f(I);ae(N,{class:"text-muted-foreground h-4 w-4"});var L=i(N);E(()=>H(L,` ${e.title??""}`)),r(p,I)},$$slots:{default:!0}})});var G=i(d,2);{var z=h=>{var b=te(),p=f(b);x(p,()=>Pe,(_,I)=>{I(_,{children:(N,L)=>{ee();var a=_e();E(()=>H(a,e.description)),r(N,a)},$$slots:{default:!0}})}),r(h,b)};J(G,h=>{e.description&&h(z)})}r(A,o)},$$slots:{default:!0}})});var Y=i(w,2);x(Y,()=>ue,(S,k)=>{k(S,{children:(A,q)=>{var o=Te(),d=U(o),G=U(d);{var z=a=>{var j=Me();E(()=>{Z(j,"src",e.url),Z(j,"alt",e.title)}),r(a,j)},h=a=>{ae(a,{class:"text-muted-foreground/50 h-8 w-8"})};J(G,a=>{e.url?a(z):a(h,-1)})}P(d);var b=i(d,2),p=i(U(b),2),_=U(p);Z(_,"accept",l),$e(_,a=>T(C,a),()=>n(C));var I=i(_,2);ne(I,{variant:"outline",size:"sm",get disabled(){return n(m)},onclick:()=>n(C)?.click(),class:"h-8",children:(a,j)=>{var K=ze(),B=f(K);Ge(B,{class:"mr-1.5 h-3.5 w-3.5"});var Q=i(B);E(()=>H(Q,` ${n(m)?"Working…":e.url?"Replace":"Upload"}`)),r(a,K)},$$slots:{default:!0}});var N=i(I,2);{var L=a=>{ne(a,{variant:"ghost",size:"sm",get disabled(){return n(m)},onclick:V,class:"text-destructive hover:text-destructive h-8",children:(j,K)=>{var B=Be(),Q=f(B);Ce(Q,{class:"mr-1.5 h-3.5 w-3.5"}),ee(),r(j,B)},$$slots:{default:!0}})};J(N,a=>{e.url&&a(L)})}P(p),P(b),P(o),pe("change",_,M),r(A,o)},$$slots:{default:!0}})}),r($,g)},$$slots:{default:!0}})}),r(v,W),de()}he(["change"]);var Ve=c("<!> Installed version",1),We=c('<div class="flex flex-wrap items-baseline gap-x-3 gap-y-1"><code class="text-foreground font-mono text-xs">@selvajs/selva</code> <span class="text-muted-foreground text-xs"> </span></div>'),De=c("<!> <!>",1),Le=c('<div class="space-y-6"><!> <div class="grid gap-3 sm:grid-cols-2 lg:grid-cols-3"></div> <!> <!></div>');function ut(v,e){le(e,!0);const l=R(()=>be.data.branding.name),s=t=>e.data.platformPermissions.includes("instance_admin")||e.data.platformPermissions.includes(t),F=R(()=>[{href:"/admin/users",icon:ke,value:e.data.stats.users??"—",label:e.data.stats.users===null?"User store unavailable":`User${e.data.stats.users===1?"":"s"}`,show:s("manage_instance_users")},{href:"/admin/organizations",icon:ae,value:"Organizations",label:"All orgs on this instance",show:s("instance_admin")},{href:"/admin/compute",icon:Ae,value:"Compute",label:"Servers, status & config",show:s("manage_compute")},{href:"/projects",icon:Ie,value:"Content",label:"Definitions & projects",show:s("instance_admin")}].filter(t=>t.show));var C=Le();we("1jef3w8",t=>{ve(()=>{ge.title="Admin · General"})});var m=U(C);Se(m,{eyebrow:"Admin",title:"General",get description(){return`At-a-glance health of this ${n(l)??""} instance — users, compute, and content.`}});var M=i(m,2);xe(M,21,()=>n(F),t=>t.href,(t,u)=>{ye(t,O(()=>n(u)))}),P(M);var V=i(M,2);{var W=t=>{{let u=R(()=>e.data.org.assets.logo??null);Fe(t,{get orgId(){return e.data.org.id},kind:"logo",get url(){return n(u)},title:"Company logo",get description(){return`Upload a logo to reuse across ${n(l)??""}. Shown in the viewer header; more surfaces will pick it up.`}})}};J(V,t=>{e.data.org&&t(W)})}var X=i(V,2);x(X,()=>fe,(t,u)=>{u(t,{children:($,D)=>{var g=De(),w=f(g);x(w,()=>ce,(S,k)=>{k(S,{children:(A,q)=>{var o=te(),d=f(o);x(d,()=>me,(G,z)=>{z(G,{class:"flex items-center gap-2 text-sm font-medium",children:(h,b)=>{var p=Ve(),_=f(p);Ue(_,{class:"text-muted-foreground h-4 w-4"}),ee(),r(h,p)},$$slots:{default:!0}})}),r(A,o)},$$slots:{default:!0}})});var Y=i(w,2);x(Y,()=>ue,(S,k)=>{k(S,{children:(A,q)=>{var o=We(),d=i(U(o),2),G=U(d);P(d),P(o),E(()=>H(G,`v${e.data.version??""}`)),r(A,o)},$$slots:{default:!0}})}),r($,g)},$$slots:{default:!0}})}),P(C),r(v,C),de()}export{ut as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"
|
|
1
|
+
{"version":"1783412077798"}
|
|
Binary file
|
|
Binary file
|
package/build/client/baseHDR.hdr
CHANGED
|
Binary file
|
package/build/handler.js
CHANGED
|
@@ -2,10 +2,10 @@ import './shims.js';
|
|
|
2
2
|
import 'node:fs';
|
|
3
3
|
import 'node:path';
|
|
4
4
|
import 'node:process';
|
|
5
|
-
export { h as handler } from './server/chunks/handler-
|
|
5
|
+
export { h as handler } from './server/chunks/handler-8WbYsqTN.js';
|
|
6
6
|
import '@sveltejs/kit/node';
|
|
7
|
-
import './server/chunks/index.js-
|
|
8
|
-
import './server/chunks/manifest.js-
|
|
7
|
+
import './server/chunks/index.js-DQiiVGnK.js';
|
|
8
|
+
import './server/chunks/manifest.js-4bS33Rny.js';
|
|
9
9
|
import './env.js';
|
|
10
10
|
import '@sveltejs/kit/node/polyfills';
|
|
11
11
|
import 'node:http';
|
|
@@ -24,7 +24,7 @@ import './server/chunks/chunks/exports.js-BZBK1HC9.js';
|
|
|
24
24
|
import './server/chunks/chunks/index.js-CC8M6P-h.js';
|
|
25
25
|
import './server/chunks/chunks/renderer.js-CtAppMtw.js';
|
|
26
26
|
import './server/chunks/chunks/shared-server.js-DaWdgxVh.js';
|
|
27
|
-
import './server/chunks/chunks/internal.js-
|
|
27
|
+
import './server/chunks/chunks/internal.js-DUldHjE3.js';
|
|
28
28
|
import './server/chunks/chunks/root.js-BKNoOlLU.js';
|
|
29
29
|
import './server/chunks/chunks/events.js-CzuTO9ni.js';
|
|
30
30
|
//# sourceMappingURL=handler.js.map
|
package/build/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import http from 'node:http';
|
|
2
2
|
import fs__default from 'node:fs';
|
|
3
3
|
import process from 'node:process';
|
|
4
|
-
import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-
|
|
4
|
+
import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-8WbYsqTN.js';
|
|
5
5
|
import { env, timeout_env } from './env.js';
|
|
6
6
|
import { rm } from 'node:fs/promises';
|
|
7
7
|
import './shims.js';
|
|
@@ -10,7 +10,7 @@ import 'node:path';
|
|
|
10
10
|
import 'node:timers';
|
|
11
11
|
import 'node:querystring';
|
|
12
12
|
import '@sveltejs/kit/node';
|
|
13
|
-
import './server/chunks/index.js-
|
|
13
|
+
import './server/chunks/index.js-DQiiVGnK.js';
|
|
14
14
|
import './server/chunks/chunks/utils.js-B8oGSXiQ.js';
|
|
15
15
|
import './server/chunks/chunks/utils2.js-DGYJFmnf.js';
|
|
16
16
|
import './server/chunks/chunks/render-context.js-CK-yhMaE.js';
|
|
@@ -23,10 +23,10 @@ import './server/chunks/chunks/exports.js-BZBK1HC9.js';
|
|
|
23
23
|
import './server/chunks/chunks/index.js-CC8M6P-h.js';
|
|
24
24
|
import './server/chunks/chunks/renderer.js-CtAppMtw.js';
|
|
25
25
|
import './server/chunks/chunks/shared-server.js-DaWdgxVh.js';
|
|
26
|
-
import './server/chunks/chunks/internal.js-
|
|
26
|
+
import './server/chunks/chunks/internal.js-DUldHjE3.js';
|
|
27
27
|
import './server/chunks/chunks/root.js-BKNoOlLU.js';
|
|
28
28
|
import './server/chunks/chunks/events.js-CzuTO9ni.js';
|
|
29
|
-
import './server/chunks/manifest.js-
|
|
29
|
+
import './server/chunks/manifest.js-4bS33Rny.js';
|
|
30
30
|
import 'node:url';
|
|
31
31
|
|
|
32
32
|
const path = env('SOCKET_PATH', false);
|
|
@@ -22,7 +22,7 @@ const options = {
|
|
|
22
22
|
service_worker_options: void 0,
|
|
23
23
|
server_error_boundaries: false,
|
|
24
24
|
templates: {
|
|
25
|
-
app: ({ head, body, assets, nonce, env }) => '<!doctype html>\n<html lang="en">\n <head>\n <meta charset="utf-8" />\n <meta content="width=device-width, initial-scale=1" name="viewport" />\n <link rel="icon" type="image/png" href="/favicon/favicon-96x96.png" sizes="96x96" />\n <link rel="icon" type="image/svg+xml" href="/favicon/favicon.svg" />\n <link rel="shortcut icon" href="/favicon/favicon.ico" />\n <link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png" />\n <meta name="apple-mobile-web-app-title" content="Selva" />\n <link rel="manifest" href="/favicon/site.webmanifest" />\n ' + head + '\n </head>\n <body data-sveltekit-preload-data="hover">\n <div style="display: contents">' + body + "</div>\n </body>\n</html>\n",
|
|
25
|
+
app: ({ head, body, assets, nonce, env }) => '<!doctype html>\n<html lang="en">\n <head>\n <meta charset="utf-8" />\n <meta content="width=device-width, initial-scale=1" name="viewport" />\n <link rel="icon" type="image/png" href="/favicon/favicon-96x96.png" sizes="96x96" />\n <link rel="icon" type="image/svg+xml" href="/favicon/favicon.svg" />\n <link rel="shortcut icon" href="/favicon/favicon.ico" />\n <link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png" />\n <meta name="apple-mobile-web-app-title" content="Selva" />\n <link rel="manifest" href="/favicon/site.webmanifest" crossorigin="use-credentials" />\n ' + head + '\n </head>\n <body data-sveltekit-preload-data="hover">\n <div style="display: contents">' + body + "</div>\n </body>\n</html>\n",
|
|
26
26
|
error: ({ status, message }) => '<!doctype html>\n<html lang="en">\n <head>\n <meta charset="utf-8" />\n <title>' + message + `</title>
|
|
27
27
|
|
|
28
28
|
<style>
|
|
@@ -94,7 +94,7 @@ const options = {
|
|
|
94
94
|
<div class="error">
|
|
95
95
|
<span class="status">` + status + '</span>\n <div class="message">\n <h1>' + message + "</h1>\n </div>\n </div>\n </body>\n</html>\n"
|
|
96
96
|
},
|
|
97
|
-
version_hash: "
|
|
97
|
+
version_hash: "1tdl3cp"
|
|
98
98
|
};
|
|
99
99
|
async function get_hooks() {
|
|
100
100
|
let handle;
|
|
@@ -117,4 +117,4 @@ async function get_hooks() {
|
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
export { get_hooks as g, options as o, read_implementation as r, set_read_implementation as s };
|
|
120
|
-
//# sourceMappingURL=internal.js-
|
|
120
|
+
//# sourceMappingURL=internal.js-DUldHjE3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.js-DUldHjE3.js","sources":["../../../../.svelte-kit/output/server/chunks/internal.js"],"sourcesContent":["import { r as root } from \"./root.js\";\nimport \"./environment.js\";\nimport \"./shared-server.js\";\nlet read_implementation = null;\nfunction set_read_implementation(fn) {\n read_implementation = fn;\n}\nfunction set_manifest(_) {\n}\nconst options = {\n app_template_contains_nonce: false,\n async: false,\n csp: { \"mode\": \"auto\", \"directives\": { \"upgrade-insecure-requests\": false, \"block-all-mixed-content\": false }, \"reportOnly\": { \"upgrade-insecure-requests\": false, \"block-all-mixed-content\": false } },\n csrf_check_origin: true,\n csrf_trusted_origins: [],\n embedded: false,\n env_public_prefix: \"PUBLIC_\",\n env_private_prefix: \"\",\n hash_routing: false,\n hooks: null,\n // added lazily, via `get_hooks`\n preload_strategy: \"modulepreload\",\n root,\n service_worker: false,\n service_worker_options: void 0,\n server_error_boundaries: false,\n templates: {\n app: ({ head, body, assets, nonce, env }) => '<!doctype html>\\n<html lang=\"en\">\\n\t<head>\\n\t\t<meta charset=\"utf-8\" />\\n\t\t<meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\\n\t\t<link rel=\"icon\" type=\"image/png\" href=\"/favicon/favicon-96x96.png\" sizes=\"96x96\" />\\n\t\t<link rel=\"icon\" type=\"image/svg+xml\" href=\"/favicon/favicon.svg\" />\\n\t\t<link rel=\"shortcut icon\" href=\"/favicon/favicon.ico\" />\\n\t\t<link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/favicon/apple-touch-icon.png\" />\\n\t\t<meta name=\"apple-mobile-web-app-title\" content=\"Selva\" />\\n\t\t<link rel=\"manifest\" href=\"/favicon/site.webmanifest\" crossorigin=\"use-credentials\" />\\n\t\t' + head + '\\n\t</head>\\n\t<body data-sveltekit-preload-data=\"hover\">\\n\t\t<div style=\"display: contents\">' + body + \"</div>\\n\t</body>\\n</html>\\n\",\n error: ({ status, message }) => '<!doctype html>\\n<html lang=\"en\">\\n\t<head>\\n\t\t<meta charset=\"utf-8\" />\\n\t\t<title>' + message + `</title>\n\n\t\t<style>\n\t\t\tbody {\n\t\t\t\t--bg: white;\n\t\t\t\t--fg: #222;\n\t\t\t\t--divider: #ccc;\n\t\t\t\tbackground: var(--bg);\n\t\t\t\tcolor: var(--fg);\n\t\t\t\tfont-family:\n\t\t\t\t\tsystem-ui,\n\t\t\t\t\t-apple-system,\n\t\t\t\t\tBlinkMacSystemFont,\n\t\t\t\t\t'Segoe UI',\n\t\t\t\t\tRoboto,\n\t\t\t\t\tOxygen,\n\t\t\t\t\tUbuntu,\n\t\t\t\t\tCantarell,\n\t\t\t\t\t'Open Sans',\n\t\t\t\t\t'Helvetica Neue',\n\t\t\t\t\tsans-serif;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t.error {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tmax-width: 32rem;\n\t\t\t\tmargin: 0 1rem;\n\t\t\t}\n\n\t\t\t.status {\n\t\t\t\tfont-weight: 200;\n\t\t\t\tfont-size: 3rem;\n\t\t\t\tline-height: 1;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: -0.05rem;\n\t\t\t}\n\n\t\t\t.message {\n\t\t\t\tborder-left: 1px solid var(--divider);\n\t\t\t\tpadding: 0 0 0 1rem;\n\t\t\t\tmargin: 0 0 0 1rem;\n\t\t\t\tmin-height: 2.5rem;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t}\n\n\t\t\t.message h1 {\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 1em;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t@media (prefers-color-scheme: dark) {\n\t\t\t\tbody {\n\t\t\t\t\t--bg: #222;\n\t\t\t\t\t--fg: #ddd;\n\t\t\t\t\t--divider: #666;\n\t\t\t\t}\n\t\t\t}\n\t\t</style>\n\t</head>\n\t<body>\n\t\t<div class=\"error\">\n\t\t\t<span class=\"status\">` + status + '</span>\\n\t\t\t<div class=\"message\">\\n\t\t\t\t<h1>' + message + \"</h1>\\n\t\t\t</div>\\n\t\t</div>\\n\t</body>\\n</html>\\n\"\n },\n version_hash: \"1tdl3cp\"\n};\nasync function get_hooks() {\n let handle;\n let handleFetch;\n let handleError;\n let handleValidationError;\n let init;\n ({ handle, handleFetch, handleError, handleValidationError, init } = await import(\"../entries/hooks.server.js\"));\n let reroute;\n let transport;\n return {\n handle,\n handleFetch,\n handleError,\n handleValidationError,\n init,\n reroute,\n transport\n };\n}\nexport {\n set_manifest as a,\n get_hooks as g,\n options as o,\n read_implementation as r,\n set_read_implementation as s\n};\n"],"names":[],"mappings":";;AAGG,IAAC,mBAAmB,GAAG;AAC1B,SAAS,uBAAuB,CAAC,EAAE,EAAE;AACrC,EAAE,mBAAmB,GAAG,EAAE;AAC1B;AAGK,MAAC,OAAO,GAAG;AAChB,EAAE,2BAA2B,EAAE,KAAK;AACpC,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,2BAA2B,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,2BAA2B,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE;AACzM,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,oBAAoB,EAAE,EAAE;AAC1B,EAAE,QAAQ,EAAE,KAAK;AACjB,EAAE,iBAAiB,EAAE,SAAS;AAC9B,EAAE,kBAAkB,EAAE,EAAE;AACxB,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,KAAK,EAAE,IAAI;AACb;AACA,EAAE,gBAAgB,EAAE,eAAe;AACnC,EAAE,IAAI;AACN,EAAE,cAAc,EAAE,KAAK;AACvB,EAAE,sBAAsB,EAAE,MAAM;AAChC,EAAE,uBAAuB,EAAE,KAAK;AAChC,EAAE,SAAS,EAAE;AACb,IAAI,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,kmBAAkmB,GAAG,IAAI,GAAG,4FAA4F,GAAG,IAAI,GAAG,6BAA6B;AAChyB,IAAI,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,mFAAmF,GAAG,OAAO,GAAG,CAAC;;AAErI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,CAAC,GAAG,MAAM,GAAG,6CAA6C,GAAG,OAAO,GAAG;AAC/F,GAAG;AACH,EAAE,YAAY,EAAE;AAChB;AACA,eAAe,SAAS,GAAG;AAC3B,EAAE,IAAI,MAAM;AACZ,EAAE,IAAI,WAAW;AACjB,EAAE,IAAI,WAAW;AACjB,EAAE,IAAI,qBAAqB;AAC3B,EAAE,IAAI,IAAI;AACV,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,wCAA4B,CAAC;AACjH,EAAE,IAAI,OAAO;AACb,EAAE,IAAI,SAAS;AACf,EAAE,OAAO;AACT,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,qBAAqB;AACzB,IAAI,IAAI;AACR,IAAI,OAAO;AACX,IAAI;AACJ,GAAG;AACH;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const name = "@selvajs/selva";
|
|
2
|
-
const version = "4.6.
|
|
2
|
+
const version = "4.6.17";
|
|
3
3
|
const description = "Selva — self-contained Grasshopper-driven web app. Install, configure via .env, deploy.";
|
|
4
4
|
const license = "MIT";
|
|
5
5
|
const publishConfig = { "access": "public" };
|
|
@@ -26,4 +26,4 @@ const pkg = {
|
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
export { pkg as p };
|
|
29
|
-
//# sourceMappingURL=package.js-
|
|
29
|
+
//# sourceMappingURL=package.js-FSG5sWFK.js.map
|
package/build/server/chunks/chunks/{package.js-DbqeVAsT.js.map → package.js-FSG5sWFK.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.js-
|
|
1
|
+
{"version":3,"file":"package.js-FSG5sWFK.js","sources":["../../../../.svelte-kit/output/server/chunks/package.js"],"sourcesContent":["const name = \"@selvajs/selva\";\nconst version = \"4.6.17\";\nconst description = \"Selva — self-contained Grasshopper-driven web app. Install, configure via .env, deploy.\";\nconst license = \"MIT\";\nconst publishConfig = { \"access\": \"public\" };\nconst type = \"module\";\nconst main = \"./build/index.js\";\nconst files = [\"build\", \"templates\"];\nconst engines = { \"node\": \">=20.6.0\" };\nconst scripts = { \"dev\": \"vite dev\", \"build\": \"rimraf build && vite build && node ./scripts/generate-templates.js\", \"preview\": \"vite preview\", \"start\": \"node build/index.js\", \"clean\": \"rimraf build templates\", \"prepare\": \"svelte-kit sync || echo ''\", \"check\": \"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json\", \"type-check\": \"tsc --noEmit\", \"test\": \"vitest run\", \"test:watch\": \"vitest\", \"test:e2e\": \"playwright test\" };\nconst dependencies = { \"@lucide/svelte\": \"catalog:\", \"@selvajs/compute\": \"catalog:\", \"@supabase/supabase-js\": \"^2.104.1\", \"@sveltejs/kit\": \"catalog:\", \"bits-ui\": \"^2.18.0\", \"clsx\": \"catalog:\", \"mode-watcher\": \"catalog:\", \"rhino3dm\": \"8.17.0\", \"sharp\": \"^0.34.5\", \"tailwind-merge\": \"catalog:\", \"tailwind-variants\": \"^3.2.2\", \"three\": \"catalog:\", \"zod\": \"^4.3.6\" };\nconst devDependencies = { \"@selvajs/config\": \"workspace:*\", \"@selvajs/header-auth-provider\": \"workspace:*\", \"@selvajs/local-provider\": \"workspace:*\", \"@selvajs/platform\": \"workspace:*\", \"@selvajs/schemas\": \"workspace:*\", \"@selvajs/supabase-provider\": \"workspace:*\", \"@selvajs/ui\": \"workspace:*\", \"@playwright/test\": \"catalog:\", \"@sveltejs/adapter-node\": \"^5.5.4\", \"@types/three\": \"catalog:\", \"rimraf\": \"catalog:\", \"tw-animate-css\": \"catalog:\", \"vitest\": \"catalog:\" };\nconst pkg = {\n name,\n version,\n description,\n license,\n publishConfig,\n type,\n main,\n files,\n engines,\n scripts,\n dependencies,\n devDependencies\n};\nexport {\n pkg as p\n};\n"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,gBAAgB;AAC7B,MAAM,OAAO,GAAG,QAAQ;AACxB,MAAM,WAAW,GAAG,yFAAyF;AAC7G,MAAM,OAAO,GAAG,KAAK;AACrB,MAAM,aAAa,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAC5C,MAAM,IAAI,GAAG,QAAQ;AACrB,MAAM,IAAI,GAAG,kBAAkB;AAC/B,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC;AACpC,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE;AACtC,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,oEAAoE,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,4BAA4B,EAAE,OAAO,EAAE,4DAA4D,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE;AAC7a,MAAM,YAAY,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,uBAAuB,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE;AAC1W,MAAM,eAAe,GAAG,EAAE,iBAAiB,EAAE,aAAa,EAAE,+BAA+B,EAAE,aAAa,EAAE,yBAAyB,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,4BAA4B,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,wBAAwB,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE;AAC7c,MAAC,GAAG,GAAG;AACZ,EAAE,IAAI;AACN,EAAE,OAAO;AACT,EAAE,WAAW;AACb,EAAE,OAAO;AACT,EAAE,aAAa;AACf,EAAE,IAAI;AACN,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,YAAY;AACd,EAAE;AACF;;;;"}
|
|
@@ -148,7 +148,13 @@ function transformInputParameter(input, value) {
|
|
|
148
148
|
name: input.nickname,
|
|
149
149
|
nickname: input.nickname || null,
|
|
150
150
|
description: input.description || "",
|
|
151
|
-
|
|
151
|
+
// Dynamic value lists ride the ValueList contract on the wire — the plugin's
|
|
152
|
+
// GetDynamicValueListParameter deliberately reuses TypeName "ValueList" so the
|
|
153
|
+
// compute fork's existing ValueList input case assigns it. processInput has no
|
|
154
|
+
// dynamicValueList handler; without this mapping it falls back to Geometry with
|
|
155
|
+
// a null default and TreeBuilder DROPS the input, so the user's selection never
|
|
156
|
+
// reaches the definition (the param then solves on its own stale fallback).
|
|
157
|
+
paramType: input.paramType === "dynamicValueList" ? "valueList" : input.paramType,
|
|
152
158
|
treeAccess: input.inputStructure === "tree",
|
|
153
159
|
minimum: input.minimum ?? null,
|
|
154
160
|
maximum: input.maximum ?? null,
|
|
@@ -158,7 +164,12 @@ function transformInputParameter(input, value) {
|
|
|
158
164
|
// The user's selection wins; otherwise the schema default.
|
|
159
165
|
default: value ?? input.default
|
|
160
166
|
};
|
|
161
|
-
|
|
167
|
+
const processed = processInput(raw);
|
|
168
|
+
const effective = value ?? input.default;
|
|
169
|
+
if (Array.isArray(effective) && processed.default == null) {
|
|
170
|
+
processed.default = effective;
|
|
171
|
+
}
|
|
172
|
+
return processed;
|
|
162
173
|
}
|
|
163
174
|
const COMPUTE_DEBUG = ["true", "1", "yes"].includes(
|
|
164
175
|
(private_env.SELVA_FLAG_COMPUTE_DEBUG ?? "").toLowerCase()
|
|
@@ -638,4 +649,4 @@ const POST = async ({ request, locals, url }) => {
|
|
|
638
649
|
};
|
|
639
650
|
|
|
640
651
|
export { POST };
|
|
641
|
-
//# sourceMappingURL=_server.ts.js-
|
|
652
|
+
//# sourceMappingURL=_server.ts.js-Ct_7OEVp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts.js-Ct_7OEVp.js","sources":["../../../../../../../.svelte-kit/output/server/entries/endpoints/api/compute/_server.ts.js"],"sourcesContent":["import { a as apiError, A as ApiErrorCode, r as resolveServerForOrg, f as fetchSchemaFromCompute, C as ComputeServerUnconfiguredError } from \"../../../../chunks/api-errors.js\";\nimport { processInput, enableDebugLogging, TreeBuilder, GrasshopperClient } from \"@selvajs/compute\";\nimport { b as private_env } from \"../../../../chunks/shared-server.js\";\nimport { isHttpError } from \"@sveltejs/kit\";\nimport { lookup } from \"node:dns/promises\";\nimport { isIP } from \"node:net\";\nimport { e as RATE_LIMIT_WINDOW_MS, d as RATE_LIMIT_MAX_REQUESTS, f as MAX_SOLVE_DURATION_MS, C as COMPUTE_RESPONSE_MAX_BYTES, D as DEFINITION_CACHE_TTL_MS, R as REMOTE_DEFINITION_FETCH_TIMEOUT_MS, a as REMOTE_DEFINITION_MAX_BYTES, g as COMPUTE_CACHE_ERRORED_SOLVES, h as COMPUTE_SERVER_CACHESOLVE, i as COMPUTE_REUSE_DEFINITION_CACHE, b as COMPUTE_REQUEST_MAX_BYTES } from \"../../../../chunks/computeLimits.js\";\nimport { gzipSync } from \"node:zlib\";\nimport { r as requireMaxBodySize } from \"../../../../chunks/admin-auth.server.js\";\nimport { r as getStorageProvider, s as getSolveMetricSink, p as providers } from \"../../../../chunks/providers.server.js\";\nimport { i as requireCanEditDefinition, j as requireCanSolve } from \"../../../../chunks/access.server.js\";\nimport { t as tryResolveShareToken } from \"../../../../chunks/resolve.server.js\";\nfunction isBlockedIp(ip) {\n let addr = ip.toLowerCase();\n const mappedDotted = /^::ffff:(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})$/.exec(addr);\n if (mappedDotted) {\n addr = mappedDotted[1];\n } else {\n const mappedHex = /^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/.exec(addr);\n if (mappedHex) {\n const hi = parseInt(mappedHex[1], 16);\n const lo = parseInt(mappedHex[2], 16);\n addr = [hi >> 8 & 255, hi & 255, lo >> 8 & 255, lo & 255].join(\".\");\n }\n }\n if (isIP(addr) === 4) {\n const octets = addr.split(\".\").map(Number);\n if (octets.length !== 4 || octets.some((o) => o > 255)) return true;\n const [a, b] = octets;\n if (a === 0) return true;\n if (a === 127) return true;\n if (a === 10) return true;\n if (a === 192 && b === 168) return true;\n if (a === 172 && b >= 16 && b <= 31) return true;\n if (a === 169 && b === 254) return true;\n return false;\n }\n if (addr === \"::1\" || addr === \"::\") return true;\n if (/^(fc|fd)[0-9a-f]{0,2}:/.test(addr)) return true;\n if (/^fe[89ab][0-9a-f]:/.test(addr)) return true;\n return false;\n}\nfunction canonicalizeNumericIpv4(host) {\n if (isIP(host) === 4) return host;\n const rawParts = host.split(\".\");\n if (rawParts.length === 0 || rawParts.length > 4) return null;\n const parseUInt = (s) => {\n if (s === \"\") return null;\n let n;\n if (/^0x[0-9a-f]+$/i.test(s)) n = parseInt(s, 16);\n else if (/^0[0-7]+$/.test(s)) n = parseInt(s, 8);\n else if (/^[0-9]+$/.test(s)) n = parseInt(s, 10);\n else return null;\n return Number.isFinite(n) ? n : null;\n };\n const nums = rawParts.map(parseUInt);\n if (nums.some((n) => n === null)) return null;\n const parts = nums;\n let value;\n switch (parts.length) {\n case 1:\n value = parts[0];\n break;\n case 2:\n if (parts[0] > 255 || parts[1] > 16777215) return null;\n value = parts[0] << 24 | parts[1];\n break;\n case 3:\n if (parts[0] > 255 || parts[1] > 255 || parts[2] > 65535) return null;\n value = parts[0] << 24 | parts[1] << 16 | parts[2];\n break;\n default:\n if (parts.some((p) => p > 255)) return null;\n value = parts[0] << 24 | parts[1] << 16 | parts[2] << 8 | parts[3];\n }\n value = value >>> 0;\n if (value > 4294967295) return null;\n return [value >>> 24 & 255, value >>> 16 & 255, value >>> 8 & 255, value & 255].join(\n \".\"\n );\n}\nfunction isSafeRemoteDefinitionUrl(raw) {\n let parsed;\n try {\n parsed = new URL(raw);\n } catch {\n return false;\n }\n if (parsed.protocol !== \"http:\" && parsed.protocol !== \"https:\") return false;\n let host = parsed.hostname.toLowerCase();\n if (!host) return false;\n if (host === \"localhost\" || host.endsWith(\".localhost\")) return false;\n const isBracketed = host.startsWith(\"[\") && host.endsWith(\"]\");\n if (isBracketed) host = host.slice(1, -1);\n if (isIP(host) === 6) return !isBlockedIp(host);\n const canonical = canonicalizeNumericIpv4(host);\n if (canonical) return !isBlockedIp(canonical);\n return true;\n}\nasync function assertSafeRemoteDefinitionUrl(raw) {\n if (!isSafeRemoteDefinitionUrl(raw)) {\n throw new Error(\"Remote definition URL is not allowed\");\n }\n const host = new URL(raw).hostname.toLowerCase().replace(/^\\[|\\]$/g, \"\");\n if (isIP(host) !== 0 || canonicalizeNumericIpv4(host)) return raw;\n let resolved;\n try {\n resolved = await lookup(host, { all: true });\n } catch {\n throw new Error(\"Remote definition URL is not allowed\");\n }\n if (resolved.length === 0 || resolved.some((r) => isBlockedIp(r.address))) {\n throw new Error(\"Remote definition URL is not allowed\");\n }\n return raw;\n}\nconst WINDOW_MS = RATE_LIMIT_WINDOW_MS;\nconst MAX_PER_WINDOW = RATE_LIMIT_MAX_REQUESTS;\nconst buckets = /* @__PURE__ */ new Map();\nfunction checkComputeRateLimit(key) {\n const now = Date.now();\n const entry = buckets.get(key);\n if (!entry || now > entry.resetAt) {\n buckets.set(key, { count: 1, resetAt: now + WINDOW_MS });\n return { allowed: true };\n }\n if (entry.count >= MAX_PER_WINDOW) {\n return { allowed: false, retryAfter: Math.ceil((entry.resetAt - now) / 1e3) };\n }\n entry.count += 1;\n return { allowed: true };\n}\nfunction transformInputParameter(input, value) {\n const raw = {\n id: input.id,\n name: input.nickname,\n nickname: input.nickname || null,\n description: input.description || \"\",\n // Dynamic value lists ride the ValueList contract on the wire — the plugin's\n // GetDynamicValueListParameter deliberately reuses TypeName \"ValueList\" so the\n // compute fork's existing ValueList input case assigns it. processInput has no\n // dynamicValueList handler; without this mapping it falls back to Geometry with\n // a null default and TreeBuilder DROPS the input, so the user's selection never\n // reaches the definition (the param then solves on its own stale fallback).\n paramType: input.paramType === \"dynamicValueList\" ? \"valueList\" : input.paramType,\n treeAccess: input.inputStructure === \"tree\",\n minimum: input.minimum ?? null,\n maximum: input.maximum ?? null,\n atLeast: 1,\n atMost: 1,\n stepSize: input.stepSize,\n // The user's selection wins; otherwise the schema default.\n default: value ?? input.default\n };\n const processed = processInput(raw);\n const effective = value ?? input.default;\n if (Array.isArray(effective) && processed.default == null) {\n processed.default = effective;\n }\n return processed;\n}\nconst COMPUTE_DEBUG = [\"true\", \"1\", \"yes\"].includes(\n (private_env.SELVA_FLAG_COMPUTE_DEBUG ?? \"\").toLowerCase()\n);\nconst COMPUTE_DEBUG_VERBOSE = [\"true\", \"1\", \"yes\"].includes(\n (private_env.SELVA_FLAG_COMPUTE_DEBUG_VERBOSE ?? \"\").toLowerCase()\n);\nif (COMPUTE_DEBUG_VERBOSE) enableDebugLogging();\nfunction formatBytes(bytes) {\n if (bytes < 1024) return `${bytes} B`;\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;\n return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;\n}\nconst definitionCache = /* @__PURE__ */ new Map();\nconst MAX_CACHED_CLIENTS = 16;\nconst clientCache = /* @__PURE__ */ new Map();\nfunction clientCacheKey(serverConfig) {\n return `${serverConfig.serverUrl}\\0${serverConfig.apiKey ?? \"\"}`;\n}\nasync function getClient(serverConfig) {\n const key = clientCacheKey(serverConfig);\n const existing = clientCache.get(key);\n if (existing) {\n clientCache.delete(key);\n clientCache.set(key, existing);\n return existing;\n }\n const rhinoTiming = { last: null };\n const solveMeta = { last: null };\n const client = await GrasshopperClient.create({\n serverUrl: serverConfig.serverUrl,\n apiKey: serverConfig.apiKey,\n // Lib-level debug is the verbose one (full payload logs); keep it on the\n // verbose flag so the concise cache logs can run without the noise.\n debug: COMPUTE_DEBUG_VERBOSE,\n // Ask Rhino.Compute to cache solve results and return them on identical\n // repeats (same definition + inputs), skipping the solve. Forwarded to both\n // the pointer and full-upload solve paths via applyOptionalComputeSettings.\n cachesolve: COMPUTE_SERVER_CACHESOLVE,\n // Opt-in: also cache solves that reported GH errors (errors-by-design\n // definitions still produce correct geometry). See COMPUTE_CACHE_ERRORED_SOLVES.\n cacheerroredsolves: COMPUTE_CACHE_ERRORED_SOLVES,\n // DEBUG (SELVA_FLAG_COMPUTE_DEBUG): the server's per-request timing breakdown,\n // which exposes the two SERVER-side caches at once:\n // • Definition cache (pointer reuse): `decode` = deserialize + LOAD\n // DEFINITION. A repeat solve loads the definition from the server's cache,\n // so `decode` drops to ~0; a full (re)upload shows a larger `decode`.\n // • Solve cache (cachesolve): when the server returns a CACHED RESULT it\n // skips the solve, so `solve` drops to ~0 while decode/encode still run.\n // We flag each below so the contrast is obvious in the logs.\n onServerTiming: (t) => {\n const decode = t.decode ?? 0;\n const solve = t.solve ?? 0;\n const encode = t.encode ?? 0;\n rhinoTiming.last = { decode, solve, encode };\n if (!COMPUTE_DEBUG) return;\n const defCache = decode <= 1 ? \"HIT (definition reused, no re-upload/parse)\" : \"miss (full parse)\";\n const solveCache = COMPUTE_SERVER_CACHESOLVE && solve <= 1 ? \"HIT (cached result, solve skipped)\" : COMPUTE_SERVER_CACHESOLVE ? \"miss (solved fresh)\" : \"off\";\n console.log(\n `[Compute/rhino-cache] decode=${decode}ms solve=${solve}ms encode=${encode}ms | definition-cache: ${defCache} | solve-cache (cachesolve): ${solveCache}`\n );\n }\n });\n const scheduler = client.createScheduler({\n mode: \"queue\",\n timeoutMs: MAX_SOLVE_DURATION_MS,\n cache: { maxEntries: 20, ttlMs: 5 * 6e4 },\n // Solve large definitions by server cache-key (pointer) instead of re-uploading\n // the full binary every solve. On a stale-pointer miss the client (@selvajs/compute\n // >= 2.4.0) transparently re-uploads; the miss is detected via the server's\n // `code: \"definition_not_cached\"` (VektorNode fork). Env-gated so a deployment on\n // an unknown compute server can disable it — see COMPUTE_REUSE_DEFINITION_CACHE.\n reuseServerDefinitionCache: COMPUTE_REUSE_DEFINITION_CACHE,\n // Observe the Selva in-process response cache. `fromCache === true` means\n // this solve was served from Selva's own cache — Rhino.Compute was never\n // called (you'll see NO [Compute/timing] line for it). `false` means it went\n // to the compute server. Always registered so the cache verdicts reach the\n // browser via Server-Timing; console logs stay debug-gated.\n onSettle: (_ctx, result) => {\n if (result.status !== \"success\") return;\n solveMeta.last = {\n fromCache: result.fromCache === true,\n definitionReuploaded: result.definitionReuploaded\n };\n if (!COMPUTE_DEBUG) return;\n console.log(\n `[Compute/selva-cache] ${result.fromCache ? \"HIT — served from Selva (no compute call)\" : \"miss — went to Rhino.Compute\"} (${Math.round(result.durationMs)}ms)`\n );\n if (!result.fromCache) {\n console.log(\n result.definitionReuploaded === true ? \"[Compute/def-cache] miss — definition RE-UPLOADED (pointer was cold/stale)\" : result.definitionReuploaded === false ? \"[Compute/def-cache] HIT — definition reused from server cache (no upload)\" : \"[Compute/def-cache] n/a — reuse disabled or non-reusable definition\"\n );\n }\n if (!result.fromCache) {\n const errs = result.response?.errors;\n const errCount = Array.isArray(errs) ? errs.length : 0;\n if (errCount > 0) {\n console.log(\n `[Compute/rhino-cache] ${errCount} GH error(s); not cacheable until fixed. First: ${JSON.stringify(errs[0])}`\n );\n }\n }\n }\n });\n const entry = { client, scheduler, rhinoTiming, solveMeta };\n if (clientCache.size >= MAX_CACHED_CLIENTS) {\n const oldestKey = clientCache.keys().next().value;\n if (oldestKey !== void 0) {\n clientCache.get(oldestKey)?.scheduler.dispose();\n clientCache.delete(oldestKey);\n }\n }\n clientCache.set(key, entry);\n return entry;\n}\nasync function readBodyWithCap(response, maxBytes, controller) {\n if (!response.body) {\n const buffer = await response.arrayBuffer();\n if (buffer.byteLength > maxBytes) throw new Error(\"Remote definition exceeds size limit\");\n return new Uint8Array(buffer);\n }\n const reader = response.body.getReader();\n const chunks = [];\n let total = 0;\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n total += value.byteLength;\n if (total > maxBytes) {\n controller.abort();\n throw new Error(\"Remote definition exceeds size limit\");\n }\n chunks.push(value);\n }\n const out = new Uint8Array(total);\n let offset = 0;\n for (const chunk of chunks) {\n out.set(chunk, offset);\n offset += chunk.byteLength;\n }\n return out;\n}\nasync function loadRemoteDefinition(url) {\n await assertSafeRemoteDefinitionUrl(url);\n const now = Date.now();\n const cached = definitionCache.get(url);\n if (cached && now - cached.fetchedAt < DEFINITION_CACHE_TTL_MS) {\n return cached.data;\n }\n const controller = new AbortController();\n const timeout = setTimeout(() => controller.abort(), REMOTE_DEFINITION_FETCH_TIMEOUT_MS);\n let data;\n try {\n const response = await fetch(url, {\n signal: controller.signal,\n redirect: \"error\"\n });\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`);\n }\n const declared = Number(response.headers.get(\"content-length\"));\n if (Number.isFinite(declared) && declared > REMOTE_DEFINITION_MAX_BYTES) {\n throw new Error(\"Remote definition exceeds size limit\");\n }\n data = await readBodyWithCap(response, REMOTE_DEFINITION_MAX_BYTES, controller);\n } finally {\n clearTimeout(timeout);\n }\n definitionCache.set(url, { data, fetchedAt: now });\n if (definitionCache.size > 50) {\n const entries = Array.from(definitionCache.entries());\n entries.sort((a, b) => a[1].fetchedAt - b[1].fetchedAt);\n for (let i = 0; i < 10; i++) {\n definitionCache.delete(entries[i][0]);\n }\n }\n return data;\n}\nconst POST = async ({ request, locals, url }) => {\n const storage = getStorageProvider();\n requireMaxBodySize(request, COMPUTE_REQUEST_MAX_BYTES);\n const loadStart = performance.now();\n const prepMarks = [];\n let prevMark = performance.now();\n const mark = (label) => {\n prepMarks.push([label, performance.now() - prevMark]);\n prevMark = performance.now();\n };\n try {\n const body = await request.json();\n mark(\"body\");\n const { inputs, values } = body;\n const definitionUrl = body.definitionUrl;\n const channel = body.channel ?? \"live\";\n const explicitVersionId = body.versionId ?? null;\n if (!inputs || !values || !definitionUrl) {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n \"Missing required fields: inputs, values, or definitionUrl\"\n );\n }\n if (channel !== \"live\" && channel !== \"draft\") {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n `Invalid channel: ${channel}. Must be 'live' or 'draft'.`\n );\n }\n let definitionSource;\n let localVersionForBackfill = null;\n let solveOrgId = null;\n let definitionPin = null;\n let metricDefinitionId = null;\n let metricVersionId = null;\n const isLocal = definitionUrl.startsWith(\"local:\");\n const guid = isLocal ? definitionUrl.substring(6) : null;\n const sharedAccess = isLocal && guid && !explicitVersionId ? await tryResolveShareToken(request, url, guid, channel, { requireSolve: true }) : null;\n mark(\"shareToken\");\n if (!sharedAccess && (!locals.ctx || !locals.user)) {\n apiError(401, ApiErrorCode.UNAUTHORIZED, \"Unauthorized\");\n }\n const solveCtx = sharedAccess?.ctx ?? locals.ctx;\n const recordMetric = (failureKind, extra = {}) => {\n void getSolveMetricSink().record(solveCtx, {\n definitionUrl,\n definitionId: metricDefinitionId,\n versionId: metricVersionId,\n channel,\n orgId: solveOrgId,\n durationMs: extra.durationMs ?? 0,\n ok: failureKind === \"ok\",\n failureKind,\n errorCount: extra.errorCount ?? 0,\n warningCount: extra.warningCount ?? 0\n });\n };\n const rateLimitKey = sharedAccess ? `share:${sharedAccess.link.id}` : `user:${locals.user.id}`;\n const rateLimit = checkComputeRateLimit(rateLimitKey);\n if (!rateLimit.allowed) {\n recordMetric(\"rate_limited\");\n const retryAfter = rateLimit.retryAfter ?? 1;\n return new Response(\n JSON.stringify({\n message: `Too many compute requests. Retry in ${retryAfter}s.`,\n retryAfter\n }),\n {\n status: 429,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Retry-After\": String(retryAfter)\n }\n }\n );\n }\n if (isLocal && guid) {\n let record;\n try {\n record = await providers.data.definitions.get(solveCtx, guid);\n } catch (err) {\n console.error(`Failed to load local definition: ${guid}`, err);\n apiError(404, ApiErrorCode.NOT_FOUND, `Definition '${guid}' not found`);\n }\n if (!record) apiError(404, ApiErrorCode.NOT_FOUND, `Definition '${guid}' not found`);\n mark(\"defRecord\");\n const project = await providers.data.projects.getProject(solveCtx, record.projectId);\n solveOrgId = project?.orgId ?? null;\n definitionPin = record.computeServerId ?? null;\n mark(\"project\");\n if (!sharedAccess) {\n if (channel === \"draft\" || explicitVersionId) {\n await requireCanEditDefinition(locals, record.projectId, guid);\n } else {\n await requireCanSolve(locals, record.projectId);\n }\n }\n mark(\"access\");\n const versionId = explicitVersionId ?? (channel === \"live\" ? record.liveVersionId : record.draftVersionId);\n if (!versionId) {\n apiError(404, ApiErrorCode.NOT_FOUND, `Definition '${guid}' has no ${channel} version yet`);\n }\n const version = await providers.data.definitions.getVersion(solveCtx, versionId);\n if (!version || version.definitionId !== guid) {\n apiError(404, ApiErrorCode.NOT_FOUND, `Definition '${guid}' version is missing`);\n }\n localVersionForBackfill = { id: version.id, hasSchema: version.schema !== void 0 };\n metricDefinitionId = guid;\n metricVersionId = version.id;\n mark(\"version\");\n try {\n const bytes = await storage.get(version.fileKey);\n if (!bytes) throw new Error(`Version blob missing: ${version.fileKey}`);\n definitionSource = bytes;\n } catch (err) {\n console.error(`Failed to load local definition blob: ${guid}`, err);\n apiError(404, ApiErrorCode.NOT_FOUND, `Definition '${guid}' not found`);\n }\n mark(\"blob\");\n } else {\n try {\n definitionSource = await loadRemoteDefinition(definitionUrl);\n } catch (err) {\n console.error(`Failed to fetch definition from ${definitionUrl}:`, err);\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n `Failed to load definition: ${err instanceof Error ? err.message : String(err)}`\n );\n }\n mark(\"remoteDef\");\n }\n const defLoadMs = performance.now() - loadStart;\n const treeBuildStart = performance.now();\n const inputTree = TreeBuilder.fromInputParams(\n inputs.filter((input) => input.paramType).map((input) => transformInputParameter(input, values[input.id]))\n );\n const treeBuildMs = performance.now() - treeBuildStart;\n prevMark = performance.now();\n if (sharedAccess) {\n const next = await providers.data.shareLinks.tryIncrementSolveCount(\n solveCtx,\n sharedAccess.link.id\n );\n if (next === null) {\n recordMetric(\"share_cap\");\n apiError(429, ApiErrorCode.INTERNAL, \"Share link solve cap reached.\");\n }\n mark(\"shareCap\");\n }\n const serverConfig = await resolveServerForOrg(solveCtx, solveOrgId, { definitionPin });\n mark(\"resolveServer\");\n if (localVersionForBackfill && !localVersionForBackfill.hasSchema) {\n const versionId = localVersionForBackfill.id;\n try {\n const schema = await fetchSchemaFromCompute(definitionSource, serverConfig);\n await providers.data.definitions.setVersionSchema(solveCtx, versionId, schema);\n } catch (err) {\n console.warn(`[API/Compute] Schema backfill failed for version ${versionId}:`, err);\n }\n mark(\"schemaBackfill\");\n }\n const { scheduler, rhinoTiming, solveMeta } = await getClient(serverConfig);\n mark(\"client\");\n let solvedDefinition;\n let solveMs = 0;\n rhinoTiming.last = null;\n solveMeta.last = null;\n const solveStart = performance.now();\n try {\n solvedDefinition = await scheduler.solve(definitionSource, inputTree, {\n signal: request.signal\n });\n solveMs = performance.now() - solveStart;\n recordMetric(\"ok\", {\n durationMs: solveMs,\n errorCount: solvedDefinition.errors?.length ?? 0,\n warningCount: solvedDefinition.warnings?.length ?? 0\n });\n if (metricDefinitionId) {\n providers.data.definitions.incrementSolveCount(solveCtx, metricDefinitionId).catch(\n (err) => console.warn(\n `[API/Compute] solveCount increment failed for ${metricDefinitionId}:`,\n err\n )\n );\n }\n } catch (err) {\n const isAbort = err instanceof Error && err.name === \"AbortError\";\n const timedOut = isAbort && !request.signal.aborted;\n recordMetric(timedOut ? \"timeout\" : isAbort ? \"client_abort\" : \"compute_error\", {\n durationMs: performance.now() - solveStart\n });\n if (isAbort) {\n if (request.signal.aborted) {\n apiError(499, ApiErrorCode.INTERNAL, \"Client closed request\");\n }\n apiError(\n 504,\n ApiErrorCode.INTERNAL,\n `Solve exceeded the ${Math.round(MAX_SOLVE_DURATION_MS / 1e3)}s deadline.`\n );\n }\n throw err;\n }\n let serialized;\n const serializeStart = performance.now();\n try {\n serialized = JSON.stringify(solvedDefinition);\n } catch (err) {\n if (err instanceof RangeError) {\n recordMetric(\"too_large\");\n apiError(\n 413,\n ApiErrorCode.INTERNAL,\n \"Solve result is too large to return. This usually means a file output exceeds the supported size.\"\n );\n }\n throw err;\n }\n if (serialized.length > COMPUTE_RESPONSE_MAX_BYTES) {\n recordMetric(\"too_large\");\n apiError(\n 413,\n ApiErrorCode.INTERNAL,\n \"Solve result is too large to return. This usually means a file output exceeds the supported size.\"\n );\n }\n const serializeMs = performance.now() - serializeStart;\n const acceptEncoding = request.headers.get(\"accept-encoding\") ?? \"\";\n let compressed = null;\n let gzipMs = 0;\n if (/\\bgzip\\b/i.test(acceptEncoding) && serialized.length > 1024) {\n const gzipStart = performance.now();\n compressed = gzipSync(Buffer.from(serialized));\n gzipMs = performance.now() - gzipStart;\n }\n const serverTotalMs = performance.now() - loadStart;\n if (COMPUTE_DEBUG) {\n console.log(\n `[Compute/server] load=${defLoadMs.toFixed(0)}ms tree=${treeBuildMs.toFixed(0)}ms solve=${solveMs.toFixed(0)}ms serialize=${serializeMs.toFixed(0)}ms gzip=${gzipMs.toFixed(0)}ms total=${serverTotalMs.toFixed(0)}ms | result=${formatBytes(serialized.length)}`\n );\n if (compressed) {\n console.log(\n `[Compute/server] gzip ${formatBytes(serialized.length)} → ${formatBytes(compressed.byteLength)} (${(serialized.length / compressed.byteLength).toFixed(1)}×)`\n );\n } else {\n console.log(\n `[Compute/server] compression skipped — Accept-Encoding: \"${acceptEncoding || \"(absent)\"}\"`\n );\n }\n console.log(\n `[Compute/server] prep breakdown: ` + prepMarks.map(([label, ms]) => `${label}=${ms.toFixed(0)}ms`).join(\" \")\n );\n }\n let serverTimingHeader = `load;dur=${defLoadMs.toFixed(1)}, tree;dur=${treeBuildMs.toFixed(1)}, solve;dur=${solveMs.toFixed(1)}, serialize;dur=${serializeMs.toFixed(1)}, gzip;dur=${gzipMs.toFixed(1)}, total;dur=${serverTotalMs.toFixed(1)}`;\n const rhino = rhinoTiming.last;\n if (rhino) {\n const onRhinoMs = rhino.decode + rhino.solve + rhino.encode;\n const computeLinkMs = Math.max(0, solveMs - onRhinoMs);\n serverTimingHeader += `, rhino_decode;dur=${rhino.decode.toFixed(1)}, rhino_solve;dur=${rhino.solve.toFixed(1)}, rhino_encode;dur=${rhino.encode.toFixed(1)}, compute_link;dur=${computeLinkMs.toFixed(1)}`;\n }\n for (const [label, ms] of prepMarks) {\n serverTimingHeader += `, p_${label};dur=${ms.toFixed(1)}`;\n }\n const settle = solveMeta.last;\n if (settle) {\n serverTimingHeader += `, selva_cache;dur=${settle.fromCache ? 1 : 0}`;\n if (settle.definitionReuploaded !== void 0) {\n serverTimingHeader += `, def_reupload;dur=${settle.definitionReuploaded ? 1 : 0}`;\n }\n }\n const responseHeaders = {\n \"Content-Type\": \"application/json\",\n \"Server-Timing\": serverTimingHeader,\n Vary: \"Accept-Encoding\"\n };\n if (compressed) {\n responseHeaders[\"Content-Encoding\"] = \"gzip\";\n responseHeaders[\"Content-Length\"] = String(compressed.byteLength);\n return new Response(new Uint8Array(compressed), { headers: responseHeaders });\n }\n responseHeaders[\"Content-Length\"] = String(Buffer.byteLength(serialized));\n return new Response(serialized, { headers: responseHeaders });\n } catch (err) {\n if (isHttpError(err)) throw err;\n if (err instanceof ComputeServerUnconfiguredError) {\n apiError(503, ApiErrorCode.COMPUTE_UNAVAILABLE, err.message);\n }\n const message = err instanceof Error ? err.message : \"Unknown error\";\n console.error(\"[API/Compute] Error:\", message);\n if (err instanceof TypeError && message === \"fetch failed\") {\n apiError(503, ApiErrorCode.COMPUTE_UNAVAILABLE, \"Compute server is unreachable\");\n }\n apiError(500, ApiErrorCode.INTERNAL, message);\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAYA,SAAS,WAAW,CAAC,EAAE,EAAE;AACzB,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC,WAAW,EAAE;AAC7B,EAAE,MAAM,YAAY,GAAG,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC;AACjF,EAAE,IAAI,YAAY,EAAE;AACpB,IAAI,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC;AAC1B,EAAE,CAAC,MAAM;AACT,IAAI,MAAM,SAAS,GAAG,0CAA0C,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3E,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC3C,MAAM,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC3C,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACzE,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACxB,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;AAC9C,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,OAAO,IAAI;AACvE,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM;AACzB,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,IAAI;AAC5B,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,OAAO,IAAI;AAC9B,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,IAAI;AAC7B,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,OAAO,IAAI;AAC3C,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,IAAI;AACpD,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,OAAO,IAAI;AAC3C,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE,OAAO,IAAI;AAClD,EAAE,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI;AACtD,EAAE,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI;AAClD,EAAE,OAAO,KAAK;AACd;AACA,SAAS,uBAAuB,CAAC,IAAI,EAAE;AACvC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,IAAI;AACnC,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAClC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,IAAI;AAC/D,EAAE,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK;AAC3B,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,IAAI;AAC7B,IAAI,IAAI,CAAC;AACT,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;AACrD,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;AACpD,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;AACpD,SAAS,OAAO,IAAI;AACpB,IAAI,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI;AACxC,EAAE,CAAC;AACH,EAAE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;AACtC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,OAAO,IAAI;AAC/C,EAAE,MAAM,KAAK,GAAG,IAAI;AACpB,EAAE,IAAI,KAAK;AACX,EAAE,QAAQ,KAAK,CAAC,MAAM;AACtB,IAAI,KAAK,CAAC;AACV,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;AACtB,MAAM;AACN,IAAI,KAAK,CAAC;AACV,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,IAAI;AAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;AACvC,MAAM;AACN,IAAI,KAAK,CAAC;AACV,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,OAAO,IAAI;AAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;AACxD,MAAM;AACN,IAAI;AACJ,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,OAAO,IAAI;AACjD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACxE;AACA,EAAE,KAAK,GAAG,KAAK,KAAK,CAAC;AACrB,EAAE,IAAI,KAAK,GAAG,UAAU,EAAE,OAAO,IAAI;AACrC,EAAE,OAAO,CAAC,KAAK,KAAK,EAAE,GAAG,GAAG,EAAE,KAAK,KAAK,EAAE,GAAG,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI;AACtF,IAAI;AACJ,GAAG;AACH;AACA,SAAS,yBAAyB,CAAC,GAAG,EAAE;AACxC,EAAE,IAAI,MAAM;AACZ,EAAE,IAAI;AACN,IAAI,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC;AACzB,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,OAAO,KAAK;AAC/E,EAAE,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;AAC1C,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK;AACzB,EAAE,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK;AACvE,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AAChE,EAAE,IAAI,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AAC3C,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;AACjD,EAAE,MAAM,SAAS,GAAG,uBAAuB,CAAC,IAAI,CAAC;AACjD,EAAE,IAAI,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;AAC/C,EAAE,OAAO,IAAI;AACb;AACA,eAAe,6BAA6B,CAAC,GAAG,EAAE;AAClD,EAAE,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE;AACvC,IAAI,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC;AAC3D,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AAC1E,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG;AACnE,EAAE,IAAI,QAAQ;AACd,EAAE,IAAI;AACN,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAChD,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC;AAC3D,EAAE;AACF,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;AAC7E,IAAI,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC;AAC3D,EAAE;AACF,EAAE,OAAO,GAAG;AACZ;AACA,MAAM,SAAS,GAAG,oBAAoB;AACtC,MAAM,cAAc,GAAG,uBAAuB;AAC9C,MAAM,OAAO,mBAAmB,IAAI,GAAG,EAAE;AACzC,SAAS,qBAAqB,CAAC,GAAG,EAAE;AACpC,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;AACxB,EAAE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;AAChC,EAAE,IAAI,CAAC,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE;AACrC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,SAAS,EAAE,CAAC;AAC5D,IAAI,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAC5B,EAAE;AACF,EAAE,IAAI,KAAK,CAAC,KAAK,IAAI,cAAc,EAAE;AACrC,IAAI,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE;AACjF,EAAE;AACF,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;AAClB,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B;AACA,SAAS,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE;AAC/C,EAAE,MAAM,GAAG,GAAG;AACd,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE;AAChB,IAAI,IAAI,EAAE,KAAK,CAAC,QAAQ;AACxB,IAAI,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;AACpC,IAAI,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,kBAAkB,GAAG,WAAW,GAAG,KAAK,CAAC,SAAS;AACrF,IAAI,UAAU,EAAE,KAAK,CAAC,cAAc,KAAK,MAAM;AAC/C,IAAI,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;AAClC,IAAI,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;AAClC,IAAI,OAAO,EAAE,CAAC;AACd,IAAI,MAAM,EAAE,CAAC;AACb,IAAI,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAC5B;AACA,IAAI,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;AAC5B,GAAG;AACH,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC;AACrC,EAAE,MAAM,SAAS,GAAG,KAAK,IAAI,KAAK,CAAC,OAAO;AAC1C,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,EAAE;AAC7D,IAAI,SAAS,CAAC,OAAO,GAAG,SAAS;AACjC,EAAE;AACF,EAAE,OAAO,SAAS;AAClB;AACA,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ;AACnD,EAAE,CAAC,WAAW,CAAC,wBAAwB,IAAI,EAAE,EAAE,WAAW;AAC1D,CAAC;AACD,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ;AAC3D,EAAE,CAAC,WAAW,CAAC,gCAAgC,IAAI,EAAE,EAAE,WAAW;AAClE,CAAC;AACD,IAAI,qBAAqB,EAAE,kBAAkB,EAAE;AAC/C,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,EAAE,IAAI,KAAK,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;AACvC,EAAE,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACnE,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACnD;AACA,MAAM,eAAe,mBAAmB,IAAI,GAAG,EAAE;AACjD,MAAM,kBAAkB,GAAG,EAAE;AAC7B,MAAM,WAAW,mBAAmB,IAAI,GAAG,EAAE;AAC7C,SAAS,cAAc,CAAC,YAAY,EAAE;AACtC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AAClE;AACA,eAAe,SAAS,CAAC,YAAY,EAAE;AACvC,EAAE,MAAM,GAAG,GAAG,cAAc,CAAC,YAAY,CAAC;AAC1C,EAAE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;AACvC,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC;AAC3B,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC;AAClC,IAAI,OAAO,QAAQ;AACnB,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;AACpC,EAAE,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;AAClC,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC;AAChD,IAAI,SAAS,EAAE,YAAY,CAAC,SAAS;AACrC,IAAI,MAAM,EAAE,YAAY,CAAC,MAAM;AAC/B;AACA;AACA,IAAI,KAAK,EAAE,qBAAqB;AAChC;AACA;AACA;AACA,IAAI,UAAU,EAAE,yBAAyB;AACzC;AACA;AACA,IAAI,kBAAkB,EAAE,4BAA4B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,cAAc,EAAE,CAAC,CAAC,KAAK;AAC3B,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC;AAClC,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;AAChC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC;AAClC,MAAM,WAAW,CAAC,IAAI,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;AAClD,MAAM,IAAI,CAAC,aAAa,EAAE;AAC1B,MAAM,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,6CAA6C,GAAG,mBAAmB;AACxG,MAAM,MAAM,UAAU,GAAG,yBAAyB,IAAI,KAAK,IAAI,CAAC,GAAG,oCAAoC,GAAG,yBAAyB,GAAG,qBAAqB,GAAG,KAAK;AACnK,MAAM,OAAO,CAAC,GAAG;AACjB,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,6BAA6B,EAAE,UAAU,CAAC;AAC/J,OAAO;AACP,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC;AAC3C,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,SAAS,EAAE,qBAAqB;AACpC,IAAI,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE;AAC7C;AACA;AACA;AACA;AACA;AACA,IAAI,0BAA0B,EAAE,8BAA8B;AAC9D;AACA;AACA;AACA;AACA;AACA,IAAI,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;AAChC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;AACvC,MAAM,SAAS,CAAC,IAAI,GAAG;AACvB,QAAQ,SAAS,EAAE,MAAM,CAAC,SAAS,KAAK,IAAI;AAC5C,QAAQ,oBAAoB,EAAE,MAAM,CAAC;AACrC,OAAO;AACP,MAAM,IAAI,CAAC,aAAa,EAAE;AAC1B,MAAM,OAAO,CAAC,GAAG;AACjB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC,SAAS,GAAG,4CAA4C,GAAG,8BAA8B,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG;AACvK,OAAO;AACP,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AAC7B,QAAQ,OAAO,CAAC,GAAG;AACnB,UAAU,MAAM,CAAC,oBAAoB,KAAK,IAAI,GAAG,4EAA4E,GAAG,MAAM,CAAC,oBAAoB,KAAK,KAAK,GAAG,4EAA4E,GAAG;AACvP,SAAS;AACT,MAAM;AACN,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AAC7B,QAAQ,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM;AAC5C,QAAQ,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;AAC9D,QAAQ,IAAI,QAAQ,GAAG,CAAC,EAAE;AAC1B,UAAU,OAAO,CAAC,GAAG;AACrB,YAAY,CAAC,sBAAsB,EAAE,QAAQ,CAAC,gDAAgD,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACxH,WAAW;AACX,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE;AAC7D,EAAE,IAAI,WAAW,CAAC,IAAI,IAAI,kBAAkB,EAAE;AAC9C,IAAI,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK;AACrD,IAAI,IAAI,SAAS,KAAK,MAAM,EAAE;AAC9B,MAAM,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE;AACrD,MAAM,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;AACnC,IAAI;AACJ,EAAE;AACF,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AAC7B,EAAE,OAAO,KAAK;AACd;AACA,eAAe,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE;AAC/D,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AACtB,IAAI,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE;AAC/C,IAAI,IAAI,MAAM,CAAC,UAAU,GAAG,QAAQ,EAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC;AAC7F,IAAI,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC;AACjC,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE;AAC1C,EAAE,MAAM,MAAM,GAAG,EAAE;AACnB,EAAE,IAAI,KAAK,GAAG,CAAC;AACf,EAAE,OAAO,IAAI,EAAE;AACf,IAAI,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE;AAC/C,IAAI,IAAI,IAAI,EAAE;AACd,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU;AAC7B,IAAI,IAAI,KAAK,GAAG,QAAQ,EAAE;AAC1B,MAAM,UAAU,CAAC,KAAK,EAAE;AACxB,MAAM,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC;AAC7D,IAAI;AACJ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACtB,EAAE;AACF,EAAE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC;AACnC,EAAE,IAAI,MAAM,GAAG,CAAC;AAChB,EAAE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC9B,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;AAC1B,IAAI,MAAM,IAAI,KAAK,CAAC,UAAU;AAC9B,EAAE;AACF,EAAE,OAAO,GAAG;AACZ;AACA,eAAe,oBAAoB,CAAC,GAAG,EAAE;AACzC,EAAE,MAAM,6BAA6B,CAAC,GAAG,CAAC;AAC1C,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;AACxB,EAAE,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;AACzC,EAAE,IAAI,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,uBAAuB,EAAE;AAClE,IAAI,OAAO,MAAM,CAAC,IAAI;AACtB,EAAE;AACF,EAAE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE;AAC1C,EAAE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,UAAU,CAAC,KAAK,EAAE,EAAE,kCAAkC,CAAC;AAC1F,EAAE,IAAI,IAAI;AACV,EAAE,IAAI;AACN,IAAI,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;AACtC,MAAM,MAAM,EAAE,UAAU,CAAC,MAAM;AAC/B,MAAM,QAAQ,EAAE;AAChB,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACtB,MAAM,MAAM,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AACxE,IAAI;AACJ,IAAI,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACnE,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,2BAA2B,EAAE;AAC7E,MAAM,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC;AAC7D,IAAI;AACJ,IAAI,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,2BAA2B,EAAE,UAAU,CAAC;AACnF,EAAE,CAAC,SAAS;AACZ,IAAI,YAAY,CAAC,OAAO,CAAC;AACzB,EAAE;AACF,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;AACpD,EAAE,IAAI,eAAe,CAAC,IAAI,GAAG,EAAE,EAAE;AACjC,IAAI,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;AACzD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;AACjC,MAAM,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AACjD,EAAE,MAAM,OAAO,GAAG,kBAAkB,EAAE;AACtC,EAAE,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,CAAC;AACxD,EAAE,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;AACrC,EAAE,MAAM,SAAS,GAAG,EAAE;AACtB,EAAE,IAAI,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;AAClC,EAAE,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK;AAC1B,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;AACzD,IAAI,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;AAChC,EAAE,CAAC;AACH,EAAE,IAAI;AACN,IAAI,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACrC,IAAI,IAAI,CAAC,MAAM,CAAC;AAChB,IAAI,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;AACnC,IAAI,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa;AAC5C,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM;AAC1C,IAAI,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI;AACpD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE;AAC9C,MAAM,QAAQ;AACd,QAAQ,GAAG;AACX,QAAQ,YAAY,CAAC,iBAAiB;AACtC,QAAQ;AACR,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,OAAO,EAAE;AACnD,MAAM,QAAQ;AACd,QAAQ,GAAG;AACX,QAAQ,YAAY,CAAC,iBAAiB;AACtC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,4BAA4B;AAChE,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,gBAAgB;AACxB,IAAI,IAAI,uBAAuB,GAAG,IAAI;AACtC,IAAI,IAAI,UAAU,GAAG,IAAI;AACzB,IAAI,IAAI,aAAa,GAAG,IAAI;AAC5B,IAAI,IAAI,kBAAkB,GAAG,IAAI;AACjC,IAAI,IAAI,eAAe,GAAG,IAAI;AAC9B,IAAI,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC;AACtD,IAAI,MAAM,IAAI,GAAG,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;AAC5D,IAAI,MAAM,YAAY,GAAG,OAAO,IAAI,IAAI,IAAI,CAAC,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;AACvJ,IAAI,IAAI,CAAC,YAAY,CAAC;AACtB,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACxD,MAAM,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC;AAC9D,IAAI;AACJ,IAAI,MAAM,QAAQ,GAAG,YAAY,EAAE,GAAG,IAAI,MAAM,CAAC,GAAG;AACpD,IAAI,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,KAAK;AACtD,MAAM,KAAK,kBAAkB,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;AACjD,QAAQ,aAAa;AACrB,QAAQ,YAAY,EAAE,kBAAkB;AACxC,QAAQ,SAAS,EAAE,eAAe;AAClC,QAAQ,OAAO;AACf,QAAQ,KAAK,EAAE,UAAU;AACzB,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC;AACzC,QAAQ,EAAE,EAAE,WAAW,KAAK,IAAI;AAChC,QAAQ,WAAW;AACnB,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC;AACzC,QAAQ,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI;AAC5C,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,MAAM,YAAY,GAAG,YAAY,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClG,IAAI,MAAM,SAAS,GAAG,qBAAqB,CAAC,YAAY,CAAC;AACzD,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AAC5B,MAAM,YAAY,CAAC,cAAc,CAAC;AAClC,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,CAAC;AAClD,MAAM,OAAO,IAAI,QAAQ;AACzB,QAAQ,IAAI,CAAC,SAAS,CAAC;AACvB,UAAU,OAAO,EAAE,CAAC,oCAAoC,EAAE,UAAU,CAAC,EAAE,CAAC;AACxE,UAAU;AACV,SAAS,CAAC;AACV,QAAQ;AACR,UAAU,MAAM,EAAE,GAAG;AACrB,UAAU,OAAO,EAAE;AACnB,YAAY,cAAc,EAAE,kBAAkB;AAC9C,YAAY,aAAa,EAAE,MAAM,CAAC,UAAU;AAC5C;AACA;AACA,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE;AACzB,MAAM,IAAI,MAAM;AAChB,MAAM,IAAI;AACV,QAAQ,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;AACrE,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC;AACtE,QAAQ,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/E,MAAM;AACN,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC1F,MAAM,IAAI,CAAC,WAAW,CAAC;AACvB,MAAM,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC;AAC1F,MAAM,UAAU,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI;AACzC,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI;AACpD,MAAM,IAAI,CAAC,SAAS,CAAC;AACrB,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,QAAQ,IAAI,OAAO,KAAK,OAAO,IAAI,iBAAiB,EAAE;AACtD,UAAU,MAAM,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;AACxE,QAAQ,CAAC,MAAM;AACf,UAAU,MAAM,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;AACzD,QAAQ;AACR,MAAM;AACN,MAAM,IAAI,CAAC,QAAQ,CAAC;AACpB,MAAM,MAAM,SAAS,GAAG,iBAAiB,KAAK,OAAO,KAAK,MAAM,GAAG,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC;AAChH,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,QAAQ,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;AACnG,MAAM;AACN,MAAM,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;AACtF,MAAM,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,EAAE;AACrD,QAAQ,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACxF,MAAM;AACN,MAAM,uBAAuB,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE;AACxF,MAAM,kBAAkB,GAAG,IAAI;AAC/B,MAAM,eAAe,GAAG,OAAO,CAAC,EAAE;AAClC,MAAM,IAAI,CAAC,SAAS,CAAC;AACrB,MAAM,IAAI;AACV,QAAQ,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;AACxD,QAAQ,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,sBAAsB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/E,QAAQ,gBAAgB,GAAG,KAAK;AAChC,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,sCAAsC,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC;AAC3E,QAAQ,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/E,MAAM;AACN,MAAM,IAAI,CAAC,MAAM,CAAC;AAClB,IAAI,CAAC,MAAM;AACX,MAAM,IAAI;AACV,QAAQ,gBAAgB,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC;AACpE,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,gCAAgC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AAC/E,QAAQ,QAAQ;AAChB,UAAU,GAAG;AACb,UAAU,YAAY,CAAC,iBAAiB;AACxC,UAAU,CAAC,2BAA2B,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACzF,SAAS;AACT,MAAM;AACN,MAAM,IAAI,CAAC,WAAW,CAAC;AACvB,IAAI;AACJ,IAAI,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;AACnD,IAAI,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;AAC5C,IAAI,MAAM,SAAS,GAAG,WAAW,CAAC,eAAe;AACjD,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC/G,KAAK;AACL,IAAI,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,cAAc;AAC1D,IAAI,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;AAChC,IAAI,IAAI,YAAY,EAAE;AACtB,MAAM,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB;AACzE,QAAQ,QAAQ;AAChB,QAAQ,YAAY,CAAC,IAAI,CAAC;AAC1B,OAAO;AACP,MAAM,IAAI,IAAI,KAAK,IAAI,EAAE;AACzB,QAAQ,YAAY,CAAC,WAAW,CAAC;AACjC,QAAQ,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAE,+BAA+B,CAAC;AAC7E,MAAM;AACN,MAAM,IAAI,CAAC,UAAU,CAAC;AACtB,IAAI;AACJ,IAAI,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,CAAC;AAC3F,IAAI,IAAI,CAAC,eAAe,CAAC;AACzB,IAAI,IAAI,uBAAuB,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE;AACvE,MAAM,MAAM,SAAS,GAAG,uBAAuB,CAAC,EAAE;AAClD,MAAM,IAAI;AACV,QAAQ,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,gBAAgB,EAAE,YAAY,CAAC;AACnF,QAAQ,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;AACtF,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,OAAO,CAAC,IAAI,CAAC,CAAC,iDAAiD,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AAC3F,MAAM;AACN,MAAM,IAAI,CAAC,gBAAgB,CAAC;AAC5B,IAAI;AACJ,IAAI,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC;AAC/E,IAAI,IAAI,CAAC,QAAQ,CAAC;AAClB,IAAI,IAAI,gBAAgB;AACxB,IAAI,IAAI,OAAO,GAAG,CAAC;AACnB,IAAI,WAAW,CAAC,IAAI,GAAG,IAAI;AAC3B,IAAI,SAAS,CAAC,IAAI,GAAG,IAAI;AACzB,IAAI,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;AACxC,IAAI,IAAI;AACR,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE,SAAS,EAAE;AAC5E,QAAQ,MAAM,EAAE,OAAO,CAAC;AACxB,OAAO,CAAC;AACR,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,UAAU;AAC9C,MAAM,YAAY,CAAC,IAAI,EAAE;AACzB,QAAQ,UAAU,EAAE,OAAO;AAC3B,QAAQ,UAAU,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;AACxD,QAAQ,YAAY,EAAE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI;AAC3D,OAAO,CAAC;AACR,MAAM,IAAI,kBAAkB,EAAE;AAC9B,QAAQ,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,KAAK;AAC1F,UAAU,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI;AAC/B,YAAY,CAAC,8CAA8C,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAClF,YAAY;AACZ;AACA,SAAS;AACT,MAAM;AACN,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;AACvE,MAAM,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;AACzD,MAAM,YAAY,CAAC,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,cAAc,GAAG,eAAe,EAAE;AACtF,QAAQ,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG;AACxC,OAAO,CAAC;AACR,MAAM,IAAI,OAAO,EAAE;AACnB,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;AACpC,UAAU,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAE,uBAAuB,CAAC;AACvE,QAAQ;AACR,QAAQ,QAAQ;AAChB,UAAU,GAAG;AACb,UAAU,YAAY,CAAC,QAAQ;AAC/B,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,WAAW;AACnF,SAAS;AACT,MAAM;AACN,MAAM,MAAM,GAAG;AACf,IAAI;AACJ,IAAI,IAAI,UAAU;AAClB,IAAI,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;AAC5C,IAAI,IAAI;AACR,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;AACnD,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,IAAI,GAAG,YAAY,UAAU,EAAE;AACrC,QAAQ,YAAY,CAAC,WAAW,CAAC;AACjC,QAAQ,QAAQ;AAChB,UAAU,GAAG;AACb,UAAU,YAAY,CAAC,QAAQ;AAC/B,UAAU;AACV,SAAS;AACT,MAAM;AACN,MAAM,MAAM,GAAG;AACf,IAAI;AACJ,IAAI,IAAI,UAAU,CAAC,MAAM,GAAG,0BAA0B,EAAE;AACxD,MAAM,YAAY,CAAC,WAAW,CAAC;AAC/B,MAAM,QAAQ;AACd,QAAQ,GAAG;AACX,QAAQ,YAAY,CAAC,QAAQ;AAC7B,QAAQ;AACR,OAAO;AACP,IAAI;AACJ,IAAI,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,cAAc;AAC1D,IAAI,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE;AACvE,IAAI,IAAI,UAAU,GAAG,IAAI;AACzB,IAAI,IAAI,MAAM,GAAG,CAAC;AAClB,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,IAAI,EAAE;AACtE,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;AACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACpD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;AAC5C,IAAI;AACJ,IAAI,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;AACvD,IAAI,IAAI,aAAa,EAAE;AACvB,MAAM,OAAO,CAAC,GAAG;AACjB,QAAQ,CAAC,sBAAsB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACxQ,OAAO;AACP,MAAM,IAAI,UAAU,EAAE;AACtB,QAAQ,OAAO,CAAC,GAAG;AACnB,UAAU,CAAC,sBAAsB,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;AACvK,SAAS;AACT,MAAM,CAAC,MAAM;AACb,QAAQ,OAAO,CAAC,GAAG;AACnB,UAAU,CAAC,yDAAyD,EAAE,cAAc,IAAI,UAAU,CAAC,CAAC;AACpG,SAAS;AACT,MAAM;AACN,MAAM,OAAO,CAAC,GAAG;AACjB,QAAQ,CAAC,iCAAiC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;AACpH,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,kBAAkB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACnP,IAAI,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI;AAClC,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM;AACjE,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;AAC5D,MAAM,kBAAkB,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACjN,IAAI;AACJ,IAAI,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,SAAS,EAAE;AACzC,MAAM,kBAAkB,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI;AACjC,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,kBAAkB,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3E,MAAM,IAAI,MAAM,CAAC,oBAAoB,KAAK,KAAK,CAAC,EAAE;AAClD,QAAQ,kBAAkB,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,oBAAoB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACzF,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,eAAe,GAAG;AAC5B,MAAM,cAAc,EAAE,kBAAkB;AACxC,MAAM,eAAe,EAAE,kBAAkB;AACzC,MAAM,IAAI,EAAE;AACZ,KAAK;AACL,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,eAAe,CAAC,kBAAkB,CAAC,GAAG,MAAM;AAClD,MAAM,eAAe,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;AACvE,MAAM,OAAO,IAAI,QAAQ,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AACnF,IAAI;AACJ,IAAI,eAAe,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC7E,IAAI,OAAO,IAAI,QAAQ,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AACjE,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG;AACnC,IAAI,IAAI,GAAG,YAAY,8BAA8B,EAAE;AACvD,MAAM,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,mBAAmB,EAAE,GAAG,CAAC,OAAO,CAAC;AAClE,IAAI;AACJ,IAAI,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,eAAe;AACxE,IAAI,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC;AAClD,IAAI,IAAI,GAAG,YAAY,SAAS,IAAI,OAAO,KAAK,cAAc,EAAE;AAChE,MAAM,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;AACtF,IAAI;AACJ,IAAI,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;AACjD,EAAE;AACF;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { g as getAuthProvider, d as getOrganizationProvider } from '../../../chunks/providers.server.js-Sbk117pY.js';
|
|
2
2
|
import { h as hasPermission } from '../../../chunks/context.js-D8E0GFTw.js';
|
|
3
|
-
import { p as pkg } from '../../../chunks/package.js-
|
|
3
|
+
import { p as pkg } from '../../../chunks/package.js-FSG5sWFK.js';
|
|
4
4
|
|
|
5
5
|
async function loadAdminOrg(ctx) {
|
|
6
6
|
if (!ctx) return null;
|
|
@@ -43,4 +43,4 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
|
|
|
43
43
|
});
|
|
44
44
|
|
|
45
45
|
export { _page_server_ts as _ };
|
|
46
|
-
//# sourceMappingURL=_page.server.ts.js-
|
|
46
|
+
//# sourceMappingURL=_page.server.ts.js-COIP__Oi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_page.server.ts.js-
|
|
1
|
+
{"version":3,"file":"_page.server.ts.js-COIP__Oi.js","sources":["../../../../../../.svelte-kit/output/server/entries/pages/admin/_page.server.ts.js"],"sourcesContent":["import { g as getAuthProvider, c as getOrganizationProvider } from \"../../../chunks/providers.server.js\";\nimport { h as hasPermission } from \"../../../chunks/context.js\";\nimport { p as pkg } from \"../../../chunks/package.js\";\nasync function loadAdminOrg(ctx) {\n if (!ctx) return null;\n try {\n const page = await getOrganizationProvider().listOrgs(ctx, { limit: 1 });\n const org = page.items[0];\n return org ? { id: org.id, name: org.name, assets: org.assets ?? {} } : null;\n } catch (err) {\n console.error(\"Failed to load admin org for asset cards:\", err);\n return null;\n }\n}\nconst load = async ({ locals }) => {\n const ctx = locals.ctx;\n const canSeeUserStats = ctx ? hasPermission(ctx, \"manage_instance_users\") : false;\n const canManageOrg = ctx ? hasPermission(ctx, \"manage_org_members\") : false;\n const platformPermissions = ctx?.platformPermissions ?? [];\n const org = canManageOrg ? await loadAdminOrg(ctx) : null;\n if (!canSeeUserStats) {\n return { stats: { users: null }, platformPermissions, version: pkg.version, org };\n }\n try {\n const usersPage = await getAuthProvider().listUsers({ limit: 200 });\n return {\n stats: { users: usersPage?.items.length ?? null },\n platformPermissions,\n version: pkg.version,\n org\n };\n } catch (err) {\n if (err && typeof err === \"object\" && \"status\" in err) throw err;\n console.error(\"Failed to load admin dashboard:\", err);\n return { stats: { users: null }, platformPermissions, version: pkg.version, org };\n }\n};\nexport {\n load\n};\n"],"names":[],"mappings":";;;;AAGA,eAAe,YAAY,CAAC,GAAG,EAAE;AACjC,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,IAAI;AACvB,EAAE,IAAI;AACN,IAAI,MAAM,IAAI,GAAG,MAAM,uBAAuB,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC5E,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,IAAI,OAAO,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI;AAChF,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC;AACnE,IAAI,OAAO,IAAI;AACf,EAAE;AACF;AACA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACnC,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,eAAe,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,uBAAuB,CAAC,GAAG,KAAK;AACnF,EAAE,MAAM,YAAY,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,KAAK;AAC7E,EAAE,MAAM,mBAAmB,GAAG,GAAG,EAAE,mBAAmB,IAAI,EAAE;AAC5D,EAAE,MAAM,GAAG,GAAG,YAAY,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI;AAC3D,EAAE,IAAI,CAAC,eAAe,EAAE;AACxB,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE;AACrF,EAAE;AACF,EAAE,IAAI;AACN,IAAI,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACvE,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;AACvD,MAAM,mBAAmB;AACzB,MAAM,OAAO,EAAE,GAAG,CAAC,OAAO;AAC1B,MAAM;AACN,KAAK;AACL,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,IAAI,GAAG,EAAE,MAAM,GAAG;AACpE,IAAI,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC;AACzD,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE;AACrF,EAAE;AACF,CAAC;;;;;;;;;"}
|
|
@@ -4,7 +4,7 @@ import { f as flag } from '../../../../chunks/providers.server.js-Sbk117pY.js';
|
|
|
4
4
|
import { w as writeChannel, r as readChannel, c as checkForUpdate } from '../../../../chunks/updateCheck.server.js-DdReI2pF.js';
|
|
5
5
|
import { d as requirePermission } from '../../../../chunks/access.server.js-x_KrjYJP.js';
|
|
6
6
|
import { D as DEFINITION_CACHE_TTL_MS, R as REMOTE_DEFINITION_FETCH_TIMEOUT_MS, a as REMOTE_DEFINITION_MAX_BYTES, C as COMPUTE_RESPONSE_MAX_BYTES, b as COMPUTE_REQUEST_MAX_BYTES, M as MAX_IMAGE_FILE_SIZE, c as MAX_GH_FILE_SIZE, d as RATE_LIMIT_MAX_REQUESTS, e as RATE_LIMIT_WINDOW_MS, f as MAX_SOLVE_DURATION_MS } from '../../../../chunks/computeLimits.js-CVHW4MyF.js';
|
|
7
|
-
import { p as pkg } from '../../../../chunks/package.js-
|
|
7
|
+
import { p as pkg } from '../../../../chunks/package.js-FSG5sWFK.js';
|
|
8
8
|
|
|
9
9
|
const load = async ({ locals, fetch }) => {
|
|
10
10
|
const ctx = locals.ctx;
|
|
@@ -69,4 +69,4 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
|
|
|
69
69
|
});
|
|
70
70
|
|
|
71
71
|
export { _page_server_ts as _ };
|
|
72
|
-
//# sourceMappingURL=_page.server.ts.js-
|
|
72
|
+
//# sourceMappingURL=_page.server.ts.js-BQ7XQXcR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_page.server.ts.js-
|
|
1
|
+
{"version":3,"file":"_page.server.ts.js-BQ7XQXcR.js","sources":["../../../../../../../.svelte-kit/output/server/entries/pages/admin/system/_page.server.ts.js"],"sourcesContent":["import { fail } from \"@sveltejs/kit\";\nimport { h as hasPermission } from \"../../../../chunks/context.js\";\nimport { f as flag } from \"../../../../chunks/providers.server.js\";\nimport { w as writeChannel, r as readChannel, c as checkForUpdate } from \"../../../../chunks/updateCheck.server.js\";\nimport { d as requirePermission } from \"../../../../chunks/access.server.js\";\nimport { D as DEFINITION_CACHE_TTL_MS, R as REMOTE_DEFINITION_FETCH_TIMEOUT_MS, a as REMOTE_DEFINITION_MAX_BYTES, C as COMPUTE_RESPONSE_MAX_BYTES, b as COMPUTE_REQUEST_MAX_BYTES, M as MAX_IMAGE_FILE_SIZE, c as MAX_GH_FILE_SIZE, d as RATE_LIMIT_MAX_REQUESTS, e as RATE_LIMIT_WINDOW_MS, f as MAX_SOLVE_DURATION_MS } from \"../../../../chunks/computeLimits.js\";\nimport { p as pkg } from \"../../../../chunks/package.js\";\nconst load = async ({ locals, fetch }) => {\n const ctx = locals.ctx;\n const canManageUpdates = ctx ? hasPermission(ctx, \"manage_updates\") : false;\n const isInstanceAdmin = ctx ? hasPermission(ctx, \"instance_admin\") : false;\n const flags = {\n ALLOW_CROSS_ORG_PUBLIC: flag(\"ALLOW_CROSS_ORG_PUBLIC\"),\n ALLOW_ORG_COMPUTE_OVERRIDE: flag(\"ALLOW_ORG_COMPUTE_OVERRIDE\"),\n ALLOW_ORG_CREATION: flag(\"ALLOW_ORG_CREATION\"),\n ENABLE_PLATFORM_PROJECTS: flag(\"ENABLE_PLATFORM_PROJECTS\"),\n ENABLE_SHARING: flag(\"ENABLE_SHARING\")\n };\n const limits = {\n MAX_SOLVE_DURATION_MS,\n RATE_LIMIT_WINDOW_MS,\n RATE_LIMIT_MAX_REQUESTS,\n MAX_GH_FILE_SIZE,\n MAX_IMAGE_FILE_SIZE,\n COMPUTE_REQUEST_MAX_BYTES,\n COMPUTE_RESPONSE_MAX_BYTES,\n REMOTE_DEFINITION_MAX_BYTES,\n REMOTE_DEFINITION_FETCH_TIMEOUT_MS,\n DEFINITION_CACHE_TTL_MS\n };\n const channel = readChannel();\n const update = canManageUpdates ? await checkForUpdate(fetch, channel) : { channel, current: null, latest: null, updateAvailable: false };\n return {\n canManageUpdates,\n isInstanceAdmin,\n flags,\n limits,\n version: pkg.version,\n channel,\n update\n };\n};\nconst actions = {\n // Persist the release channel. Switch-only: this does NOT trigger an update —\n // the operator then uses the Update runner to install from the chosen channel.\n setChannel: async ({ request, locals }) => {\n requirePermission(locals, \"manage_updates\");\n const data = await request.formData();\n const channel = data.get(\"channel\");\n if (channel !== \"stable\" && channel !== \"beta\") {\n return fail(400, { error: \"Invalid channel.\" });\n }\n try {\n writeChannel(channel);\n } catch (e) {\n return fail(500, {\n error: `Could not persist the channel: ${e instanceof Error ? e.message : \"unknown error\"}`\n });\n }\n return { channel };\n }\n};\nexport {\n actions,\n load\n};\n"],"names":[],"mappings":";;;;;;;;AAOA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;AAC1C,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;AACxB,EAAE,MAAM,gBAAgB,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,KAAK;AAC7E,EAAE,MAAM,eAAe,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,KAAK;AAC5E,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;AAC1D,IAAI,0BAA0B,EAAE,IAAI,CAAC,4BAA4B,CAAC;AAClE,IAAI,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;AAClD,IAAI,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC;AAC9D,IAAI,cAAc,EAAE,IAAI,CAAC,gBAAgB;AACzC,GAAG;AACH,EAAE,MAAM,MAAM,GAAG;AACjB,IAAI,qBAAqB;AACzB,IAAI,oBAAoB;AACxB,IAAI,uBAAuB;AAC3B,IAAI,gBAAgB;AACpB,IAAI,mBAAmB;AACvB,IAAI,yBAAyB;AAC7B,IAAI,0BAA0B;AAC9B,IAAI,2BAA2B;AAC/B,IAAI,kCAAkC;AACtC,IAAI;AACJ,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,WAAW,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,gBAAgB,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;AAC3I,EAAE,OAAO;AACT,IAAI,gBAAgB;AACpB,IAAI,eAAe;AACnB,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,OAAO,EAAE,GAAG,CAAC,OAAO;AACxB,IAAI,OAAO;AACX,IAAI;AACJ,GAAG;AACH,CAAC;AACD,MAAM,OAAO,GAAG;AAChB;AACA;AACA,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AAC7C,IAAI,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAC/C,IAAI,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;AACzC,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;AACvC,IAAI,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,EAAE;AACpD,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;AACrD,IAAI;AACJ,IAAI,IAAI;AACR,MAAM,YAAY,CAAC,OAAO,CAAC;AAC3B,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE;AACvB,QAAQ,KAAK,EAAE,CAAC,+BAA+B,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,eAAe,CAAC;AAClG,OAAO,CAAC;AACR,IAAI;AACJ,IAAI,OAAO,EAAE,OAAO,EAAE;AACtB,EAAE;AACF,CAAC;;;;;;;;;;"}
|
|
@@ -7,8 +7,8 @@ import http from 'node:http';
|
|
|
7
7
|
import { setImmediate } from 'node:timers';
|
|
8
8
|
import * as qs from 'node:querystring';
|
|
9
9
|
import { createReadableStream, getRequest, setResponse } from '@sveltejs/kit/node';
|
|
10
|
-
import { S as Server } from './index.js-
|
|
11
|
-
import { m as manifest } from './manifest.js-
|
|
10
|
+
import { S as Server } from './index.js-DQiiVGnK.js';
|
|
11
|
+
import { m as manifest } from './manifest.js-4bS33Rny.js';
|
|
12
12
|
import { env, dir, env_prefix } from '../../env.js';
|
|
13
13
|
import { format } from 'node:url';
|
|
14
14
|
|
|
@@ -1203,4 +1203,4 @@ const handler = sequence(
|
|
|
1203
1203
|
);
|
|
1204
1204
|
|
|
1205
1205
|
export { format_listening_address as f, handler as h, polka as p };
|
|
1206
|
-
//# sourceMappingURL=handler-
|
|
1206
|
+
//# sourceMappingURL=handler-8WbYsqTN.js.map
|