gemi 0.83.0 → 0.84.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/Agent.d.ts +38 -0
- package/dist/ai/Agent.d.ts.map +1 -1
- package/dist/ai/AgentController.d.ts.map +1 -1
- package/dist/ai/AgentProvider.d.ts +2 -0
- package/dist/ai/AgentProvider.d.ts.map +1 -1
- package/dist/ai/generate.d.ts +177 -0
- package/dist/ai/generate.d.ts.map +1 -0
- package/dist/ai/index.d.ts +2 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +11 -11
- package/dist/ai/index.js.map +11 -9
- package/dist/ai/providers/call.d.ts +22 -4
- package/dist/ai/providers/call.d.ts.map +1 -1
- package/dist/ai/runtime.d.ts +115 -0
- package/dist/ai/runtime.d.ts.map +1 -0
- package/dist/ai/types.d.ts +4 -0
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/app/App.d.ts +0 -5
- package/dist/app/App.d.ts.map +1 -1
- package/dist/app/index.js +1 -1
- package/dist/auth/AuthController.d.ts.map +1 -1
- package/dist/auth/accessToken.d.ts +45 -0
- package/dist/auth/accessToken.d.ts.map +1 -0
- package/dist/auth/config.d.ts +3 -3
- package/dist/auth/signInRedirect.d.ts +1 -1
- package/dist/bin/gemi.js +2 -33
- package/dist/bin/gemi.js.map +6 -6
- package/dist/bin/migrate/index.d.ts.map +1 -1
- package/dist/bin/migrate/tables.d.ts.map +1 -1
- package/dist/bun/plugin.js +1 -1
- package/dist/bun/preload.js +1 -1
- package/dist/chunk-0agfx93f.js +6 -0
- package/dist/{chunk-cmj9xnbp.js.map → chunk-0agfx93f.js.map} +2 -2
- package/dist/{chunk-7dk4b1fn.js → chunk-159hyeng.js} +2 -2
- package/dist/{chunk-7dk4b1fn.js.map → chunk-159hyeng.js.map} +1 -1
- package/dist/{chunk-fya5147b.js → chunk-1cebv3h8.js} +2 -2
- package/dist/{chunk-fya5147b.js.map → chunk-1cebv3h8.js.map} +1 -1
- package/dist/{chunk-gzx3rskd.js → chunk-1evk2pma.js} +4 -4
- package/dist/{chunk-gzx3rskd.js.map → chunk-1evk2pma.js.map} +1 -1
- package/dist/{chunk-hfxx52vr.js → chunk-1s914cdj.js} +3 -3
- package/dist/{chunk-hfxx52vr.js.map → chunk-1s914cdj.js.map} +1 -1
- package/dist/chunk-302mkqeq.js +7 -0
- package/dist/{chunk-817dxq6w.js.map → chunk-302mkqeq.js.map} +4 -4
- package/dist/{chunk-03xrgp1m.js → chunk-3z6wkvwj.js} +2 -2
- package/dist/{chunk-03xrgp1m.js.map → chunk-3z6wkvwj.js.map} +1 -1
- package/dist/{chunk-2gprnzc3.js → chunk-3zb2ycxj.js} +2 -2
- package/dist/{chunk-2gprnzc3.js.map → chunk-3zb2ycxj.js.map} +1 -1
- package/dist/{chunk-9146818v.js → chunk-495qwteq.js} +3 -3
- package/dist/{chunk-9146818v.js.map → chunk-495qwteq.js.map} +1 -1
- package/dist/chunk-49akdtfe.js +17 -0
- package/dist/{chunk-rs0xmd64.js.map → chunk-49akdtfe.js.map} +11 -12
- package/dist/{chunk-0e5z1x9w.js → chunk-53we503k.js} +2 -2
- package/dist/{chunk-0e5z1x9w.js.map → chunk-53we503k.js.map} +3 -3
- package/dist/{chunk-q7ngq6c5.js → chunk-57ryyhh3.js} +2 -2
- package/dist/{chunk-q7ngq6c5.js.map → chunk-57ryyhh3.js.map} +1 -1
- package/dist/{chunk-mc1xsz8j.js → chunk-73dk6k4p.js} +3 -3
- package/dist/{chunk-mc1xsz8j.js.map → chunk-73dk6k4p.js.map} +1 -1
- package/dist/{chunk-t2htq1v0.js → chunk-82nn71zs.js} +2 -2
- package/dist/{chunk-t2htq1v0.js.map → chunk-82nn71zs.js.map} +1 -1
- package/dist/{chunk-bwwjkdts.js → chunk-87x692j7.js} +2 -2
- package/dist/{chunk-bwwjkdts.js.map → chunk-87x692j7.js.map} +1 -1
- package/dist/{chunk-zv7417j0.js → chunk-8mmfpqgs.js} +2 -2
- package/dist/{chunk-v0j7spj5.js.map → chunk-8mmfpqgs.js.map} +1 -1
- package/dist/{chunk-d2tpgkg2.js → chunk-ah9ajys0.js} +1 -1
- package/dist/{chunk-zbhqa2z7.js → chunk-ash9e6fn.js} +2 -2
- package/dist/{chunk-zbhqa2z7.js.map → chunk-ash9e6fn.js.map} +1 -1
- package/dist/{chunk-mmq47yh3.js → chunk-aztkrzvf.js} +2 -2
- package/dist/{chunk-mmq47yh3.js.map → chunk-aztkrzvf.js.map} +1 -1
- package/dist/{chunk-actjm3wr.js → chunk-bn9pzgww.js} +2 -2
- package/dist/{chunk-actjm3wr.js.map → chunk-bn9pzgww.js.map} +1 -1
- package/dist/{chunk-2frgq249.js → chunk-cfvq30n4.js} +2 -2
- package/dist/{chunk-2frgq249.js.map → chunk-cfvq30n4.js.map} +1 -1
- package/dist/{chunk-egw90hq5.js → chunk-cg4k40zy.js} +2 -2
- package/dist/{chunk-egw90hq5.js.map → chunk-cg4k40zy.js.map} +1 -1
- package/dist/{chunk-1dgab0qn.js → chunk-d0qwdeza.js} +2 -2
- package/dist/{chunk-1dgab0qn.js.map → chunk-d0qwdeza.js.map} +1 -1
- package/dist/{chunk-1k783c44.js → chunk-dvpxkzms.js} +2 -2
- package/dist/{chunk-1k783c44.js.map → chunk-dvpxkzms.js.map} +1 -1
- package/dist/chunk-e43drft2.js +5 -0
- package/dist/{chunk-z9x8fx21.js.map → chunk-e43drft2.js.map} +5 -7
- package/dist/{chunk-3h1pd6ec.js → chunk-en3mtnsg.js} +2 -2
- package/dist/{chunk-3h1pd6ec.js.map → chunk-en3mtnsg.js.map} +1 -1
- package/dist/{chunk-v8s1dmc2.js → chunk-enf9mdac.js} +2 -2
- package/dist/{chunk-v8s1dmc2.js.map → chunk-enf9mdac.js.map} +1 -1
- package/dist/{chunk-gppm9gkg.js → chunk-eysexnqb.js} +2 -2
- package/dist/{chunk-gppm9gkg.js.map → chunk-eysexnqb.js.map} +1 -1
- package/dist/{chunk-06p4zq4m.js → chunk-g6qe6wyb.js} +2 -2
- package/dist/{chunk-06p4zq4m.js.map → chunk-g6qe6wyb.js.map} +1 -1
- package/dist/{chunk-fpy7m803.js → chunk-gr61ymse.js} +2 -2
- package/dist/{chunk-fpy7m803.js.map → chunk-gr61ymse.js.map} +1 -1
- package/dist/{chunk-h2pbrneh.js → chunk-j5xcfeqx.js} +2 -2
- package/dist/{chunk-h2pbrneh.js.map → chunk-j5xcfeqx.js.map} +1 -1
- package/dist/{chunk-0kpvbnz0.js → chunk-j9wqzemf.js} +2 -2
- package/dist/{chunk-0kpvbnz0.js.map → chunk-j9wqzemf.js.map} +1 -1
- package/dist/{chunk-9z5g1rf6.js → chunk-jg9eqd3r.js} +1 -1
- package/dist/{chunk-6sd7an1r.js → chunk-k2qh3hvd.js} +2 -2
- package/dist/{chunk-6sd7an1r.js.map → chunk-k2qh3hvd.js.map} +1 -1
- package/dist/{chunk-d2esms7y.js → chunk-kb3xk9r8.js} +2 -2
- package/dist/{chunk-d2esms7y.js.map → chunk-kb3xk9r8.js.map} +1 -1
- package/dist/{chunk-2c89p8pf.js → chunk-kfavcgv2.js} +2 -2
- package/dist/{chunk-2c89p8pf.js.map → chunk-kfavcgv2.js.map} +1 -1
- package/dist/{chunk-5krm6p9w.js → chunk-m0zba09s.js} +3 -3
- package/dist/{chunk-5krm6p9w.js.map → chunk-m0zba09s.js.map} +1 -1
- package/dist/{chunk-wmbpdjvs.js → chunk-m4xw99vm.js} +2 -2
- package/dist/{chunk-wmbpdjvs.js.map → chunk-m4xw99vm.js.map} +1 -1
- package/dist/{chunk-6c0s1mb7.js → chunk-ng8pp9k2.js} +2 -2
- package/dist/{chunk-6c0s1mb7.js.map → chunk-ng8pp9k2.js.map} +1 -1
- package/dist/{chunk-zbpgt20r.js → chunk-nvj1z2rs.js} +2 -2
- package/dist/{chunk-zbpgt20r.js.map → chunk-nvj1z2rs.js.map} +1 -1
- package/dist/{chunk-a3mgkrb2.js → chunk-pgpqsgzx.js} +1 -1
- package/dist/{chunk-sexaj89x.js → chunk-pt59xjfc.js} +2 -2
- package/dist/{chunk-sexaj89x.js.map → chunk-pt59xjfc.js.map} +1 -1
- package/dist/{chunk-8vnb3hfz.js → chunk-r5e4vpa1.js} +2 -2
- package/dist/{chunk-8vnb3hfz.js.map → chunk-r5e4vpa1.js.map} +1 -1
- package/dist/{chunk-vxxk4syx.js → chunk-r8nhndzb.js} +2 -2
- package/dist/{chunk-vxxk4syx.js.map → chunk-r8nhndzb.js.map} +1 -1
- package/dist/{chunk-vax2fp2k.js → chunk-rmv1jp9p.js} +2 -2
- package/dist/{chunk-vax2fp2k.js.map → chunk-rmv1jp9p.js.map} +1 -1
- package/dist/{chunk-8ndqqsf0.js → chunk-rp5j1mgk.js} +2 -2
- package/dist/{chunk-8ndqqsf0.js.map → chunk-rp5j1mgk.js.map} +1 -1
- package/dist/{chunk-d07y2ddw.js → chunk-rqh2wdhb.js} +2 -2
- package/dist/{chunk-d07y2ddw.js.map → chunk-rqh2wdhb.js.map} +1 -1
- package/dist/{chunk-9hbwvcxn.js → chunk-rv7da58g.js} +2 -2
- package/dist/chunk-rv7da58g.js.map +10 -0
- package/dist/{chunk-2y9haf48.js → chunk-tdnfhe7x.js} +3 -3
- package/dist/{chunk-2y9haf48.js.map → chunk-tdnfhe7x.js.map} +1 -1
- package/dist/chunk-tmwsvf02.js +5 -0
- package/dist/{chunk-nc82trtm.js.map → chunk-tmwsvf02.js.map} +1 -1
- package/dist/{chunk-0zr926cf.js → chunk-v1nm4tcq.js} +2 -2
- package/dist/{chunk-0zr926cf.js.map → chunk-v1nm4tcq.js.map} +1 -1
- package/dist/{chunk-mwrh96hx.js → chunk-v27a4se1.js} +3 -3
- package/dist/chunk-v27a4se1.js.map +12 -0
- package/dist/chunk-vfrrzr10.js +4 -0
- package/dist/chunk-vfrrzr10.js.map +10 -0
- package/dist/{chunk-s7rhttvd.js → chunk-vmpzg4z5.js} +3 -3
- package/dist/{chunk-s7rhttvd.js.map → chunk-vmpzg4z5.js.map} +1 -1
- package/dist/{chunk-aecx542w.js → chunk-w099t7zj.js} +2 -2
- package/dist/{chunk-aecx542w.js.map → chunk-w099t7zj.js.map} +1 -1
- package/dist/chunk-wh728wd6.js +5 -0
- package/dist/chunk-wh728wd6.js.map +10 -0
- package/dist/{chunk-vqexqkfk.js → chunk-wkdzz0rx.js} +3 -3
- package/dist/chunk-wkdzz0rx.js.map +10 -0
- package/dist/{chunk-vngyybzh.js → chunk-wsx3j5ws.js} +2 -2
- package/dist/{chunk-vngyybzh.js.map → chunk-wsx3j5ws.js.map} +1 -1
- package/dist/{chunk-7y6gpg08.js → chunk-wwdaswxh.js} +3 -3
- package/dist/{chunk-7y6gpg08.js.map → chunk-wwdaswxh.js.map} +1 -1
- package/dist/{chunk-nq2hm5xm.js → chunk-xhha1gb3.js} +2 -2
- package/dist/{chunk-nq2hm5xm.js.map → chunk-xhha1gb3.js.map} +1 -1
- package/dist/{chunk-dk0kdrkm.js → chunk-yk8s5egf.js} +2 -2
- package/dist/{chunk-dk0kdrkm.js.map → chunk-yk8s5egf.js.map} +1 -1
- package/dist/{chunk-y7gfg6tj.js → chunk-ys4fejmx.js} +2 -2
- package/dist/{chunk-y7gfg6tj.js.map → chunk-ys4fejmx.js.map} +1 -1
- package/dist/{chunk-6eprvf4s.js → chunk-z409rk5j.js} +2 -2
- package/dist/{chunk-6eprvf4s.js.map → chunk-z409rk5j.js.map} +1 -1
- package/dist/{chunk-t6yzarvt.js → chunk-z7442w3q.js} +2 -2
- package/dist/{chunk-t6yzarvt.js.map → chunk-z7442w3q.js.map} +1 -1
- package/dist/{chunk-v0j7spj5.js → chunk-zfch4da5.js} +2 -2
- package/dist/{chunk-zv7417j0.js.map → chunk-zfch4da5.js.map} +1 -1
- package/dist/{chunk-f46ntdj3.js → chunk-zp971jp2.js} +3 -3
- package/dist/{chunk-f46ntdj3.js.map → chunk-zp971jp2.js.map} +1 -1
- package/dist/chunks/{ThemeProvider-BiNFL6l7.js → ThemeProvider-Dn3UREDn.js} +64 -90
- package/dist/chunks/ThemeProvider-Dn3UREDn.js.map +1 -0
- package/dist/client/ClientRouter.d.ts.map +1 -1
- package/dist/client/QueryResource.d.ts +14 -0
- package/dist/client/QueryResource.d.ts.map +1 -1
- package/dist/client/index.d.ts +0 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +40 -53
- package/dist/client/index.js.map +1 -1
- package/dist/client/useMutation.d.ts.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/console/run.js +2 -2
- package/dist/console/run.js.map +1 -1
- package/dist/container/index.js +2 -2
- package/dist/container/index.js.map +1 -1
- package/dist/database/index.js +2 -2
- package/dist/database/index.js.map +1 -1
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +1 -1
- package/dist/facades/Auth.d.ts +14 -0
- package/dist/facades/Auth.d.ts.map +1 -1
- package/dist/facades/index.d.ts +0 -1
- package/dist/facades/index.d.ts.map +1 -1
- package/dist/facades/index.js +2 -2
- package/dist/facades/index.js.map +1 -1
- package/dist/foundation/Application.d.ts +7 -3
- package/dist/foundation/Application.d.ts.map +1 -1
- package/dist/foundation/app.d.ts +1 -1
- package/dist/foundation/index.js +2 -2
- package/dist/foundation/index.js.map +1 -1
- package/dist/http/AuthenticationMiddlware.d.ts +4 -3
- package/dist/http/AuthenticationMiddlware.d.ts.map +1 -1
- package/dist/http/HttpRequest.d.ts.map +1 -1
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +1 -1
- package/dist/i18n/dictionaryRuntime.js +2 -2
- package/dist/i18n/dictionaryRuntime.js.map +1 -1
- package/dist/i18n/index.js +2 -2
- package/dist/i18n/index.js.map +1 -1
- package/dist/internal/gemiExternals.d.ts +1 -1
- package/dist/internal/gemiExternals.d.ts.map +1 -1
- package/dist/kernel/Kernel.d.ts +0 -2
- package/dist/kernel/Kernel.d.ts.map +1 -1
- package/dist/kernel/context.d.ts +3 -4
- package/dist/kernel/context.d.ts.map +1 -1
- package/dist/kernel/index.js +3 -3
- package/dist/kernel/index.js.map +5 -5
- package/dist/kernel/providers.d.ts.map +1 -1
- package/dist/orm/context.d.ts +1 -2
- package/dist/orm/context.d.ts.map +1 -1
- package/dist/orm/index.js +2 -2
- package/dist/orm/index.js.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/dist/services/cron/ScheduleServiceProvider.d.ts +7 -2
- package/dist/services/cron/ScheduleServiceProvider.d.ts.map +1 -1
- package/dist/services/index.d.ts +0 -3
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +3 -3
- package/dist/services/index.js.map +2 -2
- package/dist/services/logging/LogManager.d.ts.map +1 -1
- package/dist/services/queue/QueueServiceProvider.d.ts +8 -2
- package/dist/services/queue/QueueServiceProvider.d.ts.map +1 -1
- package/dist/services/queue/work.js +2 -2
- package/dist/services/queue/work.js.map +1 -1
- package/dist/services/router/ApiRouteDispatcher.d.ts.map +1 -1
- package/dist/services/router/globalMiddleware.d.ts +5 -3
- package/dist/services/router/globalMiddleware.d.ts.map +1 -1
- package/dist/support/ServiceProvider.d.ts +14 -1
- package/dist/support/ServiceProvider.d.ts.map +1 -1
- package/dist/support/index.d.ts +1 -1
- package/dist/support/index.d.ts.map +1 -1
- package/dist/support/index.js +2 -2
- package/dist/support/index.js.map +1 -1
- package/dist/testing/Page.d.ts.map +1 -1
- package/dist/testing/index.js +16 -24
- package/dist/testing/index.js.map +1 -1
- package/package.json +1 -2
- package/dist/broadcasting/BroadcastingChannel.d.ts +0 -5
- package/dist/broadcasting/BroadcastingChannel.d.ts.map +0 -1
- package/dist/broadcasting/index.d.ts +0 -2
- package/dist/broadcasting/index.d.ts.map +0 -1
- package/dist/broadcasting/index.js +0 -4
- package/dist/broadcasting/index.js.map +0 -10
- package/dist/chunk-817dxq6w.js +0 -7
- package/dist/chunk-9hbwvcxn.js.map +0 -10
- package/dist/chunk-cmj9xnbp.js +0 -6
- package/dist/chunk-f9mwxne0.js +0 -4
- package/dist/chunk-f9mwxne0.js.map +0 -10
- package/dist/chunk-fffph77x.js +0 -5
- package/dist/chunk-fffph77x.js.map +0 -10
- package/dist/chunk-mwrh96hx.js.map +0 -12
- package/dist/chunk-nc82trtm.js +0 -5
- package/dist/chunk-rs0xmd64.js +0 -17
- package/dist/chunk-vqexqkfk.js.map +0 -10
- package/dist/chunk-z9x8fx21.js +0 -5
- package/dist/chunks/ThemeProvider-BiNFL6l7.js.map +0 -1
- package/dist/client/WebsocketContext.d.ts +0 -10
- package/dist/client/WebsocketContext.d.ts.map +0 -1
- package/dist/client/useBroadcast.d.ts +0 -4
- package/dist/client/useBroadcast.d.ts.map +0 -1
- package/dist/client/useSubscription.d.ts +0 -5
- package/dist/client/useSubscription.d.ts.map +0 -1
- package/dist/facades/Broadcast.d.ts +0 -9
- package/dist/facades/Broadcast.d.ts.map +0 -1
- package/dist/http/BroadcastingRouter.d.ts +0 -8
- package/dist/http/BroadcastingRouter.d.ts.map +0 -1
- package/dist/services/pubsub/BroadcastManager.d.ts +0 -24
- package/dist/services/pubsub/BroadcastManager.d.ts.map +0 -1
- package/dist/services/pubsub/BroadcastServiceProvider.d.ts +0 -5
- package/dist/services/pubsub/BroadcastServiceProvider.d.ts.map +0 -1
- package/dist/services/pubsub/config.d.ts +0 -7
- package/dist/services/pubsub/config.d.ts.map +0 -1
- package/dist/services/pubsub/types.d.ts +0 -6
- package/dist/services/pubsub/types.d.ts.map +0 -1
- /package/dist/{chunk-d2tpgkg2.js.map → chunk-ah9ajys0.js.map} +0 -0
- /package/dist/{chunk-9z5g1rf6.js.map → chunk-jg9eqd3r.js.map} +0 -0
- /package/dist/{chunk-a3mgkrb2.js.map → chunk-pgpqsgzx.js.map} +0 -0
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../support/Repository.ts", "../foundation/Application.ts", "../foundation/app.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"// Runtime configuration store, modeled on `Illuminate\\Config\\Repository`.\n// Keys are dot paths (\"mail.driver\", \"route.view.rootRouter\") resolved against\n// a plain nested object. This is the RUNTIME config; `gemi/config` is the\n// BUILD config (gemi.config.ts) and is unrelated.\n\nexport type ConfigItems = Record<string, any>;\n\nfunction segments(key: string): string[] {\n return key.split(\".\");\n}\n\nexport class Repository {\n // Container token. The Kernel binds its Repository under `config`, so any\n // provider can `app.make(Repository)` — though `this.app.config` is shorter.\n static token = \"config\";\n\n private items: ConfigItems;\n\n constructor(items: ConfigItems = {}) {\n this.items = items;\n }\n\n has(key: string): boolean {\n let target: any = this.items;\n for (const segment of segments(key)) {\n if (target === null || typeof target !== \"object\" || !(segment in target)) {\n return false;\n }\n target = target[segment];\n }\n return true;\n }\n\n get<T = any>(key: string, defaultValue?: T): T {\n let target: any = this.items;\n for (const segment of segments(key)) {\n if (target === null || typeof target !== \"object\" || !(segment in target)) {\n return defaultValue as T;\n }\n target = target[segment];\n }\n return target === undefined ? (defaultValue as T) : (target as T);\n }\n\n // Reads many keys at once. Accepts either a list of keys or a\n // `{ key: defaultValue }` map, mirroring `Repository::getMany`.\n getMany(keys: string[] | Record<string, any>): Record<string, any> {\n const entries: Array<[string, any]> = Array.isArray(keys)\n ? keys.map((key): [string, any] => [key, undefined])\n : Object.entries(keys);\n\n const result: Record<string, any> = {};\n for (const [key, defaultValue] of entries) {\n result[key] = this.get(key, defaultValue);\n }\n return result;\n }\n\n set(key: string | Record<string, any>, value?: any): void {\n const entries: Array<[string, any]> =\n typeof key === \"string\" ? [[key, value]] : Object.entries(key);\n\n for (const [path, item] of entries) {\n const parts = segments(path);\n const last = parts.pop() as string;\n\n let target: any = this.items;\n for (const segment of parts) {\n const next = target[segment];\n if (next === null || typeof next !== \"object\") {\n target[segment] = {};\n }\n target = target[segment];\n }\n\n target[last] = item;\n }\n }\n\n // Adds `value` to the front of the array stored at `key`.\n prepend(key: string, value: any): void {\n const array = this.get<any[]>(key, []);\n array.unshift(value);\n this.set(key, array);\n }\n\n // Adds `value` to the end of the array stored at `key`.\n push(key: string, value: any): void {\n const array = this.get<any[]>(key, []);\n array.push(value);\n this.set(key, array);\n }\n\n // Shallow-merges a `{ topLevelKey: config }` map into the store. Existing\n // top-level keys are merged one level deep so partial overrides compose.\n merge(items: ConfigItems): void {\n for (const [key, value] of Object.entries(items)) {\n const current = this.items[key];\n if (\n current !== null &&\n typeof current === \"object\" &&\n !Array.isArray(current) &&\n value !== null &&\n typeof value === \"object\" &&\n !Array.isArray(value)\n ) {\n this.items[key] = { ...current, ...value };\n } else {\n this.items[key] = value;\n }\n }\n }\n\n all(): ConfigItems {\n return this.items;\n }\n}\n",
|
|
6
|
-
"import { Container } from \"../container/Container\";\nimport { Repository } from \"../support/Repository\";\nimport type { ServiceProvider } from \"../support/ServiceProvider\";\n\nexport type ServiceProviderConstructor = new (\n app: Application,\n) => ServiceProvider;\n\n/**\n * What `Application.shutdown()` could not finish, by provider class name. Both\n * empty means every provider's `shutdown()` resolved in time.\n */\nexport type ShutdownReport = { failed: string[]; timedOut: string[] };\n\n/**\n * Cross-copy brand. `dist/bin/gemi.js` bundles its own gemi while the app\n * resolves `gemi/*` to source, so `instanceof Application` is false for an\n * Application built by the other copy. `Symbol.for` is registry-global and\n * survives that boundary — the same reason services key off a `static token`\n * string rather than the constructor object.\n */\nconst APPLICATION_BRAND = Symbol.for(\"gemi.foundation.Application\");\n\nexport class Application extends Container {\n readonly [APPLICATION_BRAND] = true;\n\n static isApplication(value: unknown): value is Application {\n return (\n typeof value === \"object\" && value !== null && APPLICATION_BRAND in value\n );\n }\n\n /**\n * Runtime configuration (`app/config/*.ts`). Also bound in the container, so\n * `app.make(Repository)` and `app.config` are the same object.\n */\n readonly config: Repository;\n\n private providers: ServiceProvider[] = [];\n private booted = false;\n\n constructor(config: Repository = new Repository()) {\n super();\n this.config = config;\n this.instance(Repository, config);\n }\n\n private static currentInstance: Application | undefined;\n\n static getInstance(): Application | undefined {\n return Application.currentInstance;\n }\n\n static setInstance(app: Application | undefined) {\n Application.currentInstance = app;\n return app;\n }\n\n /**\n * Instantiates the provider and runs its `register()` immediately, exactly as\n * Laravel does. Registration is therefore synchronous — only `boot()` is\n * async, which is what lets `new App({ kernel })` stay a sync constructor.\n */\n register(Provider: ServiceProviderConstructor): ServiceProvider {\n const existing = this.providers.find((p) => p instanceof Provider);\n if (existing) {\n return existing;\n }\n\n const provider = new Provider(this);\n provider.register();\n this.providers.push(provider);\n return provider;\n }\n\n registerMany(providers: ServiceProviderConstructor[]) {\n for (const Provider of providers) {\n this.register(Provider);\n }\n }\n\n getProviders(): ServiceProvider[] {\n return [...this.providers];\n }\n\n isBooted(): boolean {\n return this.booted;\n }\n\n /**\n * Phase two. Every provider has already registered by the time any of these\n * run, so a provider's `boot()` may resolve services owned by any other.\n */\n async boot(): Promise<void> {\n if (this.booted) {\n return;\n }\n for (const provider of this.providers) {\n await provider.boot();\n }\n this.booted = true;\n }\n\n /**\n * Runs every provider's `shutdown()`, in reverse registration order, and\n * resolves with what did not finish cleanly. Never rejects: this runs on the\n * way out of a process, and a throw here would skip the providers after the\n * one that threw — the database pool closing is exactly the kind of thing\n * that must not depend on the mail provider behaving.\n *\n * Reverse order because registration order is dependency order: a provider\n * registered later may use an earlier one in its own `shutdown()` (the\n * queue finishing its jobs against a database that is still open).\n *\n * The providers share one deadline rather than each getting `timeoutMs`,\n * because the caller's budget is a platform's grace period, which bounds the\n * whole exit — seventeen providers each allowed five seconds would add up to\n * a `SIGKILL`. A provider that overruns is abandoned (its promise keeps\n * running; the process is about to exit) and reported in `timedOut`; one\n * reached after the deadline has passed is not called at all and reported\n * the same way. A `timeoutMs` of 0 is different in kind: nothing is called,\n * nothing is reported, and the shutdown stays clean — the caller has said\n * there is no time for this phase, which is a decision, not a fault.\n *\n * Idempotent: a second call returns the first call's result.\n */\n shutdown(options: { timeoutMs?: number } = {}): Promise<ShutdownReport> {\n this.shutdownPromise ??= this.shutdownProviders(options.timeoutMs ?? 5_000);\n return this.shutdownPromise;\n }\n\n private shutdownPromise: Promise<ShutdownReport> | undefined;\n\n private async shutdownProviders(timeoutMs: number): Promise<ShutdownReport> {\n const report: ShutdownReport = { failed: [], timedOut: [] };\n\n // A budget of zero is \"skip this phase\", not \"every provider failed\". An\n // operator fitting the shutdown into a five-second grace period says so by\n // setting `GEMI_SHUTDOWN_PROVIDER_TIMEOUT=0`, and reading it as a deadline\n // that had already passed reported their own configuration back to them as\n // a fault: a `console.error` per provider, every provider in `timedOut`,\n // and a non-zero exit on every otherwise clean shutdown. One line saying\n // what was skipped is the whole of it.\n if (timeoutMs <= 0) {\n if (this.providers.length > 0) {\n console.log(\n `[gemi] Skipping ${this.providers.length} provider shutdown hook(s): no time is budgeted for them.`,\n );\n }\n return report;\n }\n\n const deadline = Date.now() + timeoutMs;\n\n for (const provider of [...this.providers].reverse()) {\n const name = provider.constructor.name;\n const remaining = deadline - Date.now();\n if (remaining <= 0) {\n console.error(\n `[gemi] ${name}.shutdown() skipped: the provider shutdown deadline had passed.`,\n );\n report.timedOut.push(name);\n continue;\n }\n\n let timer: ReturnType<typeof setTimeout> | undefined;\n const outcome = await Promise.race([\n // `.then` rather than a direct call, so a synchronous throw lands in\n // the same `catch` as a rejection.\n Promise.resolve()\n // With what is left of the shared deadline, so a provider that waits\n // on something can bound its own wait and report what it abandoned\n // rather than being cut off mid-wait by the race below.\n .then(() => provider.shutdown({ timeoutMs: remaining }))\n .then(\n () => \"done\" as const,\n (error: unknown) => {\n console.error(`[gemi] ${name}.shutdown() failed:`, error);\n return \"failed\" as const;\n },\n ),\n new Promise<\"timeout\">((resolve) => {\n timer = setTimeout(() => resolve(\"timeout\"), remaining);\n }),\n ]);\n clearTimeout(timer);\n\n if (outcome === \"failed\") report.failed.push(name);\n if (outcome === \"timeout\") {\n console.error(\n `[gemi] ${name}.shutdown() did not finish within the provider shutdown deadline; moving on.`,\n );\n report.timedOut.push(name);\n }\n }\n\n return report;\n }\n\n flush() {\n super.flush();\n this.instance(Repository, this.config);\n this.providers = [];\n this.booted = false;\n this.shutdownPromise = undefined;\n }\n}\n",
|
|
7
|
-
"import type { ServiceToken } from \"../container/Container\";\nimport { kernelContext } from \"../kernel/context\";\nimport { Application } from \"./Application\";\n\n/**\n * Resolves the Application for the current async context. Reads the kernel\n * AsyncLocalStorage — there is exactly one ALS in the framework, and\n * `Kernel.run()` stores the Application in it, so this is the primary path for\n * anything running inside a request, a websocket message or a cron tick.\n *\n * The static instance (Laravel's `Container::setInstance`, set by\n * `Kernel.boot()`) is the fallback for code that runs outside any `run()`\n * scope — build-time tooling, module top level, a stray `setTimeout`.\n */\nexport function app(): Application;\nexport function app<T>(token: ServiceToken<T>): T;\nexport function app<T>(token?: ServiceToken<T>): Application | T {\n const store = kernelContext.getStore();\n const instance = Application.isApplication(store)\n ? store\n : Application.getInstance();\n\n if (!instance) {\n throw new Error(\n \"No Application instance is available. Boot a Kernel before resolving services.\",\n );\n }\n\n return token ? instance.make(token) : instance;\n}\n"
|
|
8
|
-
],
|
|
9
|
-
"mappings": ";wFAOA,GAAS,CAAQ,CAAC,EAAuB,CACvC,OAAO,EAAI,MAAM,GAAG,EAGf,MAAM,CAAW,OAGf,OAAQ,SAEP,MAER,WAAW,CAAC,EAAqB,CAAC,EAAG,CACnC,KAAK,MAAQ,EAGf,GAAG,CAAC,EAAsB,CACxB,IAAI,EAAc,KAAK,MACvB,QAAW,KAAW,EAAS,CAAG,EAAG,CACnC,GAAI,IAAW,MAAQ,OAAO,IAAW,UAAY,EAAE,KAAW,GAChE,MAAO,GAET,EAAS,EAAO,GAElB,MAAO,GAGT,GAAY,CAAC,EAAa,EAAqB,CAC7C,IAAI,EAAc,KAAK,MACvB,QAAW,KAAW,EAAS,CAAG,EAAG,CACnC,GAAI,IAAW,MAAQ,OAAO,IAAW,UAAY,EAAE,KAAW,GAChE,OAAO,EAET,EAAS,EAAO,GAElB,OAAO,IAAW,OAAa,EAAsB,EAKvD,OAAO,CAAC,EAA2D,CACjE,IAAM,EAAgC,MAAM,QAAQ,CAAI,EACpD,EAAK,IAAI,CAAC,IAAuB,CAAC,EAAK,MAAS,CAAC,EACjD,OAAO,QAAQ,CAAI,EAEjB,EAA8B,CAAC,EACrC,QAAY,EAAK,KAAiB,EAChC,EAAO,GAAO,KAAK,IAAI,EAAK,CAAY,EAE1C,OAAO,EAGT,GAAG,CAAC,EAAmC,EAAmB,CACxD,IAAM,EACJ,OAAO,IAAQ,SAAW,CAAC,CAAC,EAAK,CAAK,CAAC,EAAI,OAAO,QAAQ,CAAG,EAE/D,QAAY,EAAM,KAAS,EAAS,CAClC,IAAM,EAAQ,EAAS,CAAI,EACrB,EAAO,EAAM,IAAI,EAEnB,EAAc,KAAK,MACvB,QAAW,KAAW,EAAO,CAC3B,IAAM,EAAO,EAAO,GACpB,GAAI,IAAS,MAAQ,OAAO,IAAS,SACnC,EAAO,GAAW,CAAC,EAErB,EAAS,EAAO,GAGlB,EAAO,GAAQ,GAKnB,OAAO,CAAC,EAAa,EAAkB,CACrC,IAAM,EAAQ,KAAK,IAAW,EAAK,CAAC,CAAC,EACrC,EAAM,QAAQ,CAAK,EACnB,KAAK,IAAI,EAAK,CAAK,EAIrB,IAAI,CAAC,EAAa,EAAkB,CAClC,IAAM,EAAQ,KAAK,IAAW,EAAK,CAAC,CAAC,EACrC,EAAM,KAAK,CAAK,EAChB,KAAK,IAAI,EAAK,CAAK,EAKrB,KAAK,CAAC,EAA0B,CAC9B,QAAY,EAAK,KAAU,OAAO,QAAQ,CAAK,EAAG,CAChD,IAAM,EAAU,KAAK,MAAM,GAC3B,GACE,IAAY,MACZ,OAAO,IAAY,UACnB,CAAC,MAAM,QAAQ,CAAO,GACtB,IAAU,MACV,OAAO,IAAU,UACjB,CAAC,MAAM,QAAQ,CAAK,EAEpB,KAAK,MAAM,GAAO,IAAK,KAAY,CAAM,EAEzC,UAAK,MAAM,GAAO,GAKxB,GAAG,EAAgB,CACjB,OAAO,KAAK,MAEhB,CC/FA,IAAM,EAAoB,OAAO,IAAI,6BAA6B,EAE3D,MAAM,UAAoB,CAAU,EAC/B,GAAqB,SAExB,cAAa,CAAC,EAAsC,CACzD,OACE,OAAO,IAAU,UAAY,IAAU,MAAQ,KAAqB,EAQ/D,OAED,UAA+B,CAAC,EAChC,OAAS,GAEjB,WAAW,CAAC,EAAqB,IAAI,EAAc,CACjD,MAAM,EACN,KAAK,OAAS,EACd,KAAK,SAAS,EAAY,CAAM,QAGnB,uBAER,YAAW,EAA4B,CAC5C,OAAO,EAAY,sBAGd,YAAW,CAAC,EAA8B,CAE/C,OADA,EAAY,gBAAkB,EACvB,EAQT,QAAQ,CAAC,EAAuD,CAC9D,IAAM,EAAW,KAAK,UAAU,KAAK,CAAC,IAAM,aAAa,CAAQ,EACjE,GAAI,EACF,OAAO,EAGT,IAAM,EAAW,IAAI,EAAS,IAAI,EAGlC,OAFA,EAAS,SAAS,EAClB,KAAK,UAAU,KAAK,CAAQ,EACrB,EAGT,YAAY,CAAC,EAAyC,CACpD,QAAW,KAAY,EACrB,KAAK,SAAS,CAAQ,EAI1B,YAAY,EAAsB,CAChC,MAAO,CAAC,GAAG,KAAK,SAAS,EAG3B,QAAQ,EAAY,CAClB,OAAO,KAAK,YAOR,KAAI,EAAkB,CAC1B,GAAI,KAAK,OACP,OAEF,QAAW,KAAY,KAAK,UAC1B,MAAM,EAAS,KAAK,EAEtB,KAAK,OAAS,GA0BhB,QAAQ,CAAC,EAAkC,CAAC,EAA4B,CAEtE,OADA,KAAK,kBAAoB,KAAK,kBAAkB,EAAQ,WAAa,IAAK,EACnE,KAAK,gBAGN,qBAEM,kBAAiB,CAAC,EAA4C,CAC1E,IAAM,EAAyB,CAAE,OAAQ,CAAC,EAAG,SAAU,CAAC,CAAE,EAS1D,GAAI,GAAa,EAAG,CAClB,GAAI,KAAK,UAAU,OAAS,EAC1B,QAAQ,IACN,mBAAmB,KAAK,UAAU,iEACpC,EAEF,OAAO,EAGT,IAAM,EAAW,KAAK,IAAI,EAAI,EAE9B,QAAW,IAAY,CAAC,GAAG,KAAK,SAAS,EAAE,QAAQ,EAAG,CACpD,IAAM,EAAO,EAAS,YAAY,KAC5B,EAAY,EAAW,KAAK,IAAI,EACtC,GAAI,GAAa,EAAG,CAClB,QAAQ,MACN,UAAU,kEACZ,EACA,EAAO,SAAS,KAAK,CAAI,EACzB,SAGF,IAAI,EACE,EAAU,MAAM,QAAQ,KAAK,CAGjC,QAAQ,QAAQ,EAIb,KAAK,IAAM,EAAS,SAAS,CAAE,UAAW,CAAU,CAAC,CAAC,EACtD,KACC,IAAM,OACN,CAAC,IAAmB,CAElB,OADA,QAAQ,MAAM,UAAU,uBAA2B,CAAK,EACjD,SAEX,EACF,IAAI,QAAmB,CAAC,IAAY,CAClC,EAAQ,WAAW,IAAM,EAAQ,SAAS,EAAG,CAAS,EACvD,CACH,CAAC,EAGD,GAFA,aAAa,CAAK,EAEd,IAAY,SAAU,EAAO,OAAO,KAAK,CAAI,EACjD,GAAI,IAAY,UACd,QAAQ,MACN,UAAU,+EACZ,EACA,EAAO,SAAS,KAAK,CAAI,EAI7B,OAAO,EAGT,KAAK,EAAG,CACN,MAAM,MAAM,EACZ,KAAK,SAAS,EAAY,KAAK,MAAM,EACrC,KAAK,UAAY,CAAC,EAClB,KAAK,OAAS,GACd,KAAK,gBAAkB,OAE3B,CC9LO,SAAS,CAAM,CAAC,EAA0C,CAC/D,IAAM,EAAQ,EAAc,SAAS,EAC/B,EAAW,EAAY,cAAc,CAAK,EAC5C,EACA,EAAY,YAAY,EAE5B,GAAI,CAAC,EACH,MAAU,MACR,gFACF,EAGF,OAAO,EAAQ,EAAS,KAAK,CAAK,EAAI",
|
|
10
|
-
"debugId": "08B4D67A3DFD93E064756E2164756E21",
|
|
11
|
-
"names": []
|
|
12
|
-
}
|
package/dist/chunk-nc82trtm.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{gc as o}from"./chunk-0kpvbnz0.js";import{hc as i}from"./chunk-9hbwvcxn.js";import{wf as t}from"./chunk-wmbpdjvs.js";import{og as r}from"./chunk-3h1pd6ec.js";class n extends i{register(){this.app.singleton(r,()=>new r(t(o(),this.app.config.get("translation",{}))))}}
|
|
3
|
-
export{n as Wa};
|
|
4
|
-
|
|
5
|
-
//# debugId=A76C6ADA4FD5499964756E2164756E21
|
package/dist/chunk-rs0xmd64.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{Ld as uW,Sd as B5}from"./chunk-2y9haf48.js";import{Je as G5,Zd as o$,ce as yO}from"./chunk-1dgab0qn.js";import{$e as m1,Ke as m3,Me as W5,Oe as az,Pe as kW,Qe as H3,Re as _3,Ue as A3,Ve as E3,We as n$,Xe as pz,Ye as O5,Ze as BW,_e as qO,af as R0,cf as _,df as q3,ef as y3,ff as b3,hf as q1,if as F0,jf as Y3,rf as e8,sf as W$}from"./chunk-817dxq6w.js";import{tf as Hz,uf as TW,vf as x}from"./chunk-vax2fp2k.js";import{wf as j5}from"./chunk-wmbpdjvs.js";import{Af as D5,Bf as F5,Kf as U5,xf as oz,yf as TO,zf as fO}from"./chunk-vqexqkfk.js";import{Zf as jO}from"./chunk-06p4zq4m.js";import{cg as dz,hg as uz}from"./chunk-03xrgp1m.js";import{ng as lz,og as n}from"./chunk-3h1pd6ec.js";import{rg as K}from"./chunk-mwrh96hx.js";import{sg as s$}from"./chunk-fffph77x.js";import{Gg as rz}from"./chunk-d2esms7y.js";import{Lg as jW}from"./chunk-v0j7spj5.js";import{randomBytes as _Y}from"crypto";function dO($){return typeof $==="function"&&$.prototype!==void 0}function G1($){return typeof $==="string"?[$]:$}function uO($,O){let Z=O?"attachment":"inline",T=$.replace(/["\\]/g,"").replace(/[^\x20-\x7e]/g,"_");return`${Z}; filename="${T}"; filename*=UTF-8''${encodeURIComponent($)}`}function A5($){return"total"in $&&"partial"in $&&"body"in $}function $O($){return new Response(null,{status:416,headers:{"Accept-Ranges":"bytes","Content-Range":E3($),"Content-Length":"0","Cache-Control":"no-store"}})}async function E5($){if($ instanceof Blob)return{body:$,start:0,end:$.size-1,total:$.size,partial:!1,type:$.type,name:$.name,download:!1,status:200,extraHeaders:{}};if(A5($))return{body:$.body,start:$.start,end:$.end,total:$.total,partial:$.partial,type:$.type,name:$.name,download:!1,etag:$.etag,lastModified:$.lastModified,status:200,extraHeaders:{}};let O=$.file,Z=O instanceof Blob?O:null,T=$.total??Z?.size??-1;return{body:O,start:$.start??0,end:$.end??T-1,total:T,partial:$.partial??!1,type:$.type??Z?.type??"",name:$.name??O?.name,download:$.download??!1,etag:$.etag,lastModified:$.lastModified,status:$.status??200,extraHeaders:$.headers??{}}}async function P3($,O){if($ instanceof Response)return $;if(!$)return new Response("Not found",{status:404});let Z=await E5($),{body:T,start:f,end:j,total:W,partial:z}=Z;if(T instanceof Blob&&"exists"in T&&typeof T.exists==="function"){if(!await T.exists())return new Response("Not found",{status:404})}let{range:J}=O;if(J){if(W<=0)return $O(Math.max(W,0));if(!z){if(T instanceof Blob){let X=_3(J,W);if(!X)return $O(W);T=T.slice(X.start,X.end+1),f=X.start,j=X.end,z=!0}}}let C=Boolean(J)&&z,Y=C?206:Z.status,D=new Headers;if(D.set("Accept-Ranges","bytes"),D.set("Content-Type",Z.type||"application/octet-stream"),C)D.set("Content-Range",A3(f,j,W)),D.set("Content-Length",String(j-f+1));else if(W>=0)D.set("Content-Length",String(W));if(Z.name)D.set("Content-Disposition",uO(Z.name,Z.download));if(Z.etag)D.set("ETag",Z.etag);if(Z.lastModified)D.set("Last-Modified",Z.lastModified.toUTCString());for(let[X,U]of Object.entries(Z.extraHeaders))D.set(X,U);if((O.method??"GET").toUpperCase()==="HEAD"){if(T&&"cancel"in T&&typeof T.cancel==="function")await T.cancel();return new Response(null,{status:Y,headers:D})}return new Response(T,{status:Y,headers:D})}function GW($){return dO($)}class s{method;handler;methodName;__internal_brand="RouteHandler";middlewares=[];constructor($,O,Z){this.method=$;this.handler=O;this.methodName=Z;this.handler=O,this.methodName=Z,this.method=$}get source(){if(!GW(this.handler)||typeof this.methodName!=="string")return;return{controller:this.handler,methodName:this.methodName}}__internal_use(){return{run:this.run.bind(this),middlewares:this.middlewares}}run($){if(GW(this.handler)){let O=new this.handler;return O[this.methodName].bind(O)()}return this.handler()}middleware($){return this.middlewares=G1($),this}}class KW{url;headers;__internal_brand="ProxyHandler";constructor($,O){this.url=$;this.headers=O}run(){let $=new _,O=$.headers.toJSON();for(let Z of BW($.rawRequest))delete O[Z];return fetch(this.url,{method:$.rawRequest.method,headers:{...O,...this.headers},body:$.rawRequest.body})}}class QW{constructor(...$){return new s(...$)}}class VW extends s{__internal_brand="StreamHandler";async run($){let O=x.getStore(),Z=O?.req?.rawRequest,T=H3(Z?.headers.get("Range"));if(O)O.rangeRequest=T;try{let f=await super.run($);return await P3(f,{range:T,method:Z?.method})}catch(f){if(f instanceof b3)return $O(f.total);throw f}finally{if(O)O.rangeRequest=null}}}class LW{constructor(...$){return new VW(...$)}}class IW{__internal_brand="ResourceRoutes";first;second;constructor($){this.first={get:new s("GET",$,"list"),post:new s("POST",$,"store")},this.second={get:new s("GET",$,"show"),put:new s("PUT",$,"update"),delete:new s("DELETE",$,"delete")}}middleware($){if($.list)this.first.get.middleware($.list);if($.store)this.first.post.middleware($.store);if($.show)this.second.get.middleware($.show);if($.update)this.second.put.middleware($.update);if($.delete)this.second.delete.middleware($.delete);return this}}class x0{static __brand="ApiRouter";routes={};middlewares=[];middleware($){}get($,O){return new s("GET",$,O)}post($,O){return new s("POST",$,O)}put($,O){return new s("PUT",$,O)}patch($,O){return new s("PATCH",$,O)}delete($,O){return new s("DELETE",$,O)}resource($){return new IW($)}agent($){return P5($,this)}file($,O){return new QW("GET",$,O)}stream($,O){return new LW("GET",$,O)}proxy($,O={}){return new KW($,O)}}function P5($,O){let Z={stream:new s("POST",$,"stream"),attach:new s("POST",$,"attach"),stop:new s("POST",$,"stop"),upload:new s("POST",$,"upload")};return class extends x0{static __internal_brand="AgentRoute";static controller=$;static handlers=Z;constructor(){super();this.middlewares=[...O?.middlewares??[]]}routes={"/":Z.stream,"/attach":Z.attach,"/stop":Z.stop,"/files":Z.upload};static middleware(f){if(f.stream)Z.stream.middleware(f.stream);if(f.attach)Z.attach.middleware(f.attach);if(f.stop)Z.stop.middleware(f.stop);if(f.upload)Z.upload.middleware(f.upload);return this}}}class w3{method;url;meta;__internal_brand="McpRoute";constructor($,O,Z){this.method=$;this.url=O;this.meta=Z}}class SW{static __brand="McpRouter";routes={};fromApiRoute($,O,Z){return new w3($,O,Z)}}function h($,O){return $.replace(/:([^/]+[*?]?)/g,(Z,T)=>{let f=T.endsWith("?")||T.endsWith("*"),j=f?T.slice(0,-1):T,W=O[j];if(W===void 0){if(f)return"";if(import.meta.env.DEV)throw Error(`Missing parameter: ${j}`);console.error(`Missing parameter: ${j} in URL: ${$}`)}return String(W)}).replace(/\/\//g,"/").replace(/\/$/,"")}class v3 extends m1{constructor($,O=307){super("Redirect error");this.name="RedirectError",this.payload={api:{status:200,data:{},directive:{kind:"Redirect",path:$}},view:{status:O,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:$}}}}}class sO{static to($,...O){let[Z={}]=O,{search:T={},params:f={},permanent:j,status:W}={params:{},status:307,permanent:!1,...Z},z=new URLSearchParams(T).toString();throw new v3([h($,f)||"/",z.toString()].filter(Boolean).join("?"),W??(j?301:307))}static external($,O=307){throw new v3($,O)}}var MW=Symbol.for("gemi.HttpResponse");class OO{kind;body;status;headers;[MW]=!0;constructor($,O,Z,T){this.kind=$;this.body=O;this.status=Z;this.headers=T}static json($,O={}){let Z=O.status??200;return H5(Z),new OO("json",$,Z,new Headers(O.headers))}get ok(){return this.status>=200&&this.status<300}toResponse($,O){let Z=$,T=this.serialize(Z);for(let f of O)Z.append("Set-Cookie",f);this.headers.forEach((f,j)=>{if(j.toLowerCase()!=="set-cookie")Z.set(j,f)});for(let f of this.headers.getSetCookie())Z.append("Set-Cookie",f);if(this.status>=400&&!this.headers.has("Cache-Control"))Z.set("Cache-Control","no-store");return new Response(T,{status:this.status,headers:Z})}serialize($){switch(this.kind){case"json":return $.set("Content-Type","application/json"),JSON.stringify(this.body)??null}}}function H5($){if(!Number.isInteger($)||$<200||$>599)throw RangeError(`HttpResponse: status must be an integer from 200 to 599, got ${$}.`);if($===204||$===205||$===304)throw RangeError(`HttpResponse.json: a ${$} response has no body.`)}function D$($){return typeof $==="object"&&$!==null&&$[MW]===!0}class xW{kind="redirect";viewPath="REDIRECT";middlewares=[];featureGates=[];handler;constructor($){if(!$)this.handler=()=>({});else if(typeof $==="function")this.handler=$;else{let[O,Z]=$;this.handler=(T)=>{return new O()[Z](T)}}}async run($,O){let{destination:Z,permanent:T=!1,status:f=307}=await this.handler($);if(!Z)throw Error(`Redirect destination is required see ${O}`);return sO.to(Z,{permanent:T,status:f}),{}}middleware($){return this.middlewares=G1($),this}feature($){return this.featureGates=[...this.featureGates,$],this}}async function g3($,O){if($ instanceof Response)return $;let Z=$ instanceof Blob,T=Z?$:$.file,f=Z?$.name:$.name??$.file?.name,j=(Z?$.type:$.type??$.file?.type)||"",W=Z?!1:$.download??!1,z=Z?200:$.status??200;if(!Z)for(let[J,C]of Object.entries($.headers??{}))O.set(J,C);if(T instanceof Blob&&"exists"in T&&typeof T.exists==="function"){if(!await T.exists())return new Response("Not found",{status:404})}if(O.set("Content-Type",j||"application/octet-stream"),T instanceof Blob)O.set("Content-Length",String(T.size));if(f)O.set("Content-Disposition",uO(f,W));return new Response(T instanceof Blob?T.stream():T,{status:z,headers:O})}class NW{kind="file";viewPath="FILE";middlewares=[];featureGates=[];handler;constructor($){if(!$)this.handler=()=>null;else if(typeof $==="function")this.handler=$;else{let[O,Z]=$;this.handler=(T)=>{return new O()[Z](T)}}}async run($,O){let Z=await this.handler($);if(!Z)throw Error(`File route handler must return a file see ${O}`);return{FILE:Z}}middleware($){return this.middlewares=G1($),this}feature($){return this.featureGates=[...this.featureGates,$],this}}function _W($,O){if(D$($))throw Error(`The handler of view "${O}" returned an HttpResponse. HttpResponse is for api routes; a view handler returns its props.`);return $}class AW{viewPath;middlewares=[];featureGates=[];handler;constructor($,O){this.viewPath=$;if(!O)this.handler=()=>({});else if(typeof O==="function")this.handler=O;else{let[Z,T]=O;this.handler=(f)=>{return new Z()[T](f)}}}async run($,O){let Z=_W(await this.handler($),this.viewPath);return{[this.viewPath]:{...Z,breadcrumb:{label:Z?.breadcrumb??"",href:O}}}}middleware($){return this.middlewares=G1($),this}feature($){return this.featureGates=[...this.featureGates,$],this}}class EW{viewPath;children;middlewares=[];featureGates=[];alwaysRuns=!1;handler=()=>({});constructor($,O,Z){this.viewPath=$;if(typeof O==="function")this.handler=O,this.children=class extends B1{routes=Z??{}};else if(Array.isArray(O)){let[T,f]=O;this.handler=(j)=>{return new T()[f](j)},this.children=class extends B1{routes=Z??{}}}else this.children=class extends B1{routes=O},this.handler=()=>({})}async run($,O){let Z=_W(await this.handler($),this.viewPath);return{[this.viewPath]:{...Z,breadcrumb:{label:Z?.breadcrumb??"",href:O}}}}alwaysRun(){return this.alwaysRuns=!0,this}middleware($){return this.middlewares=G1($),this}feature($){return this.featureGates=[...this.featureGates,$],this}}class B1{middlewares=[];featureGates=[];routes={};view($,O){return new AW($,O)}file($){return new NW($)}redirect($){return new xW($)}layout($,O,Z){return new EW($,O,Z)}}class w0{req;config={};constructor($){this.req=$}run(...$){return{}}static configure($){let O=this;return class extends O{config=$}}}function b5($){return $}function w5(){return{aliases:{},global:[]}}var F$="redirect";function ZO($,O="/"){if(typeof $!=="string"||!$.startsWith("/"))return O;if(/[\u0000-\u001f\u007f\\]/.test($)||$.startsWith("//"))return O;try{let Z=new URL($,"http://gemi.invalid");if(Z.origin!=="http://gemi.invalid")return O;let T=`${Z.search}${Z.hash}`.replaceAll("/","%2F"),f=`${Z.pathname}${T}`.replaceAll(":","%3A");return f.startsWith("//")?O:f}catch{return O}}function PW($){let O=$.headers.get("x-forwarded-proto")?.split(",")[0]?.trim();return O?O==="https":new URL($.url).protocol==="https:"}function v5($,O=!0){let Z=new URL($.rawRequest.url),T=Z.pathname.replace(/\.(json|og)$/,""),[,f,...j]=T.split("/");if(K(n).supportedLocales.includes(f))T=`/${j.join("/")}`;return O?`${T}${Z.search}`:T}function g5($,O){let Z=(T)=>T.replace(/\/+$/,"")||"/";return Z($)===Z(O)}function nO($,O){let Z=O||K(b).config.signInPath,T=/^[a-z][a-z\d+.-]*:/i.test(Z);if(T?!/^https?:\/\//i.test(Z):!Z.startsWith("/"))throw Error(`\`auth.signInPath\` must be a path like "/auth/sign-in", or an http(s) URL for sign-in hosted elsewhere. Got "${Z}". A route's own \`"auth:<path>"\` cannot carry a URL, because the alias parser splits it on the colon.`);let f=new URL(Z,"http://gemi.invalid");if($?.kind==="view"){let j=v5($,!T);if(T||!g5(new URL(j,f).pathname,f.pathname))f.searchParams.set(F$,j)}return T?f.href:`${f.pathname}${f.search}`}class HW extends w0{async run($){let O=x.getStore(),Z=O.req,T=()=>new q1({redirectTo:nO(Z,$)}),f=Z.cookies.get("access_token"),j=Z.headers.get("access_token"),W=f||j;if(!W)throw T();let z=O.user;if(!z){let J=await K(b).getSession(W,Z.headers.get("User-Agent"));if(!J)throw T();z=J?.user,O.setUser(z)}return{}}}class bW extends w0{async run(...$){let[O="public",Z="864000",...T]=$,f=`${O}, max-age=${Z}${T.length>0?", ":""}${T.join(", ")}`;if($.length===0)f="public, max-age=864000, stale-while-revalidate=300, stale-if-error=600";if($.length===1&&$[0]==="public")f="public, max-age=864000, stale-while-revalidate=300, stale-if-error=600";if($.length===1&&$[0]==="private")f="private, max-age=0, stale-while-revalidate=300, stale-if-error=600";if(this.req.rawRequest.method==="GET")this.req.ctx().setHeaders("Cache-Control",f);return{}}}var k5={"Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, X-Requested-With","Access-Control-Allow-Credentials":"true"};class wW extends w0{config={origins:{"":{"Access-Control-Allow-Methods":"GET, HEAD, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, X-Requested-With","Access-Control-Allow-Credentials":"true"}}};run(){let $=this.req,O=$.rawRequest.headers.get("Origin");if(this.config.origins[O]){$.ctx().setHeaders("Access-Control-Allow-Origin",O);let Z={...k5,...this.config.origins[O]};for(let[T,f]of Object.entries(Z))$.ctx().setHeaders(T,f)}return{}}}class U${config;static token="ratelimiter";constructor($){this.config=$}get driver(){return this.config.driver}async consume($,O={}){let Z=O.limit??this.config.limit,T=O.window??this.config.window,f=O.cost??1;if(vW("window",T),vW("limit",Z),!Number.isFinite(f)||f<0)throw Error(`Rate limiter cost must be zero or greater, got ${f}`);return await this.config.driver.consume({key:$,limit:Z,window:T*1000,cost:f})}}function vW($,O){if(!Number.isFinite(O)||O<=0)throw Error(`Rate limiter ${$} must be greater than zero, got ${O}`)}class k3 extends m1{constructor($){super("Rate limit exceeded");let O={"Content-Type":"application/json",...$?mW($):{}};this.payload={api:{status:429,data:{error:{message:"Rate limit exceeded"}},headers:O},view:{error:{message:"Rate limit exceeded"},status:429,headers:O}}}}class RW extends w0{async run($,O){let Z=R5();if(!Z)return{};let T=await Z.consume(this.key(),{limit:gW($)??this.config.limit,window:gW(O)??this.config.window});if(this.config.headers!==!1){let f=this.req.ctx?.();if(f)for(let[j,W]of Object.entries(mW(T)))f.setHeaders(j,W)}if(!T.allowed)throw new k3(T);return{}}key(){if(this.config.key)return this.config.key(this.req);return`${aO(this.req)}:${this.req.routePath??"*"}`}}function R5(){try{let $=K();return $.bound(U$)?$.make(U$):null}catch{return null}}function aO($){let O=kW($.rawRequest);if(O!==void 0)return O;let Z=$.headers.get("x-forwarded-for");if(Z){let[T]=Z.split(",");if(T?.trim())return T.trim()}return $.headers.get("x-real-ip")?.trim()||"unknown"}function mW($){let O={"X-RateLimit-Limit":String($.limit),"X-RateLimit-Remaining":String($.remaining),"X-RateLimit-Reset":String(Math.ceil($.resetAt/1000))};if(!$.allowed)O["Retry-After"]=String(Math.max(1,Math.ceil($.retryAfter/1000)));return O}function gW($){if($===void 0||$===null||$==="")return;let O=Number($);if(!Number.isFinite(O)||O<=0)return;return O}class qW extends w0{async run(){let $=this.req.cookies.get("csrf_token");if(!$)throw new R3;if(!["POST","PUT","PATCH","DELETE"].includes(this.req.rawRequest.method))return{};if(!Bun.CSRF.verify($,{secret:process.env.SECRET}))throw new R3;return{}}}class R3 extends m1{constructor(){super("Invalid CSRF token");this.name="InvalidCSRFTokenError"}payload={api:{status:403,data:{error:"Invalid CSRF token"}},view:{}}}class yW{policiesList={};constructor(){let $=this.register();for(let O of $){let Z=new O;this.policiesList[O.name]=Z}}register(){return[]}}class pW{all($,O){return!0}}import{createHmac as cW,randomBytes as m5}from"crypto";var p3="v2.";function c3($){return $.startsWith(p3)}function iW(){let $=process.env.SECRET;if(!$)throw Error("Signing in needs a secret to mint session tokens with. Set SECRET in the environment.");return $}function hW($){let O=m5(16).toString("hex"),Z=cW("sha256",iW()).update(`${$}:${O}`).digest("hex");return`${p3}${Z}`}function oO($,O){let Z=cW("sha256",iW()).update(`legacy-session:${O}:${$}`).digest("hex");return`${p3}${Z}`}import{randomBytes as h3}from"crypto";class i3 extends _{schema={name:{string:"Invalid name",required:"Name is required","min:2":"Name must be at least 3 characters"},email:{string:"Invalid email",required:"Email is required",email:"Invalid email"},password:{"min:8":"Password must be at least 9 characters"}}}async function q5($,O){if(typeof O!=="string"||O==="")return!1;try{return await Bun.password.verify($,O)}catch{return!1}}function L9($){return $}function lW($={}){return{basePath:"/auth",verifyEmail:!0,redirectPath:"/dashboard",signInPath:"/auth/sign-in",sessionExpiresInHours:24,sessionAbsoluteExpiresInHours:672,cookieDomain:null,migrateLegacySession:null,signUpRequest:i3,oauthProviders:{},verifyPassword:q5,hashPassword:async(O)=>await Bun.password.hash(O),generateForgotPasswordToken:async()=>h3(32).toString("hex"),generateEmailVerificationToken:()=>{if(!($.verifyEmail??!0))return"";return h3(32).toString("hex")},generateMagicLinkToken:()=>h3(32).toString("hex"),extendSession:()=>({}),onUserCreated:async()=>{},onSignUp:()=>{},onSignIn:()=>{},onSignOut:()=>{},onForgotPassword:()=>{},onResetPassword:()=>{},onMagicLinkCreated:()=>{}}}function l3($){if($&&typeof $==="object")delete $.password;return $}function y5(){return new Proxy({},{get:($,O)=>uW(O)})}var dW=new WeakMap;function sW($){if($&&typeof $==="object"){for(let O of Object.values($))sW(O);Object.freeze($)}return $}var p5={select:{id:!0,publicId:!0,email:!0,name:!0,locale:!0,globalRole:!0,accounts:{select:{id:!0,publicId:!0,organizationRole:!0,organization:!0}}}},c5=sW({token:!0,expiresAt:!0,absoluteExpiresAt:!0,updatedAt:!0,location:!0,userAgent:!0,user:p5});class d3{models;constructor($=y5()){this.models=$}run($){return this.models.User.asSystem($)}sessionSelect(){return c5}transaction($){return this.models.User.transaction($)}withLegacySessionLock($,O){let Z=this.models.User.$connection??fO(),T=K(jO).connection(Z),f=()=>this.transaction(async()=>{if(T.dialect==="postgres"){let z=`gemi:legacy-session:${$}`;await TO()`SELECT pg_advisory_xact_lock(hashtextextended(${z}, 0))`}return O()});if(T.dialect!=="sqlite"||TO())return f();let W=(dW.get(T)??Promise.resolve()).then(f,f);return dW.set(T,W.catch(()=>{})),W}async createUser($){let O=await this.run(()=>this.models.User.create({data:$}));return l3(O)}async updateUserPassword($){let O=await this.run(()=>this.models.User.update({where:{id:$.id},data:{password:$.password}}));return l3(O)}async findUserByEmailAddress($,O){return await this.run(()=>this.models.User.findUnique({where:O?{email:$,emailVerifiedAt:{not:null}}:{email:$}}))}async findUserByVerificationToken($){return await this.run(()=>this.models.User.findFirst({where:{verificationToken:$}}))}async verifyUser($){return await this.run(()=>this.models.User.update({where:{email:$},data:{emailVerifiedAt:new Date}}))}async createSession($){return await this.run(()=>this.models.Session.create({data:$,include:{user:!0}}))}async createSessionV2($){return await this.run(()=>this.models.Session.create({data:$,select:this.sessionSelect()}))}async findSession($){if(!$.token)return null;try{return await this.run(()=>this.models.Session.findUnique({where:{token:$.token},select:this.sessionSelect()}))}catch(O){return console.error("findSession failed:",O),null}}async updateSession($){return await this.run(()=>this.models.Session.update({where:{token:$.token},data:{expiresAt:$.expiresAt},select:this.sessionSelect()}))}async deleteSession($){if(!$.token)return;await this.run(()=>this.models.Session.deleteMany({where:{token:$.token}}))}async claimLegacySession($){if(!$.token)return!1;let{count:O}=await this.run(()=>this.models.Session.deleteMany({where:{token:$.token}}));return O>0}async deleteAllUserSessions($){await this.run(()=>this.models.Session.deleteMany({where:{userId:$}}))}async createPasswordResetToken($){return await this.run(()=>this.models.PasswordResetToken.create({data:{token:$.token,user:{connect:{id:$.user.id}}}}))}async findPasswordResetToken($){return await this.run(()=>this.models.PasswordResetToken.findUnique({where:{token:$.token},include:{user:!0}}))}async deletePasswordResetToken($){return await this.run(()=>this.models.PasswordResetToken.delete({where:{token:$.token}}))}async findInvitation($,O){return await this.run(()=>this.models.OrganizationInvitation.findFirst({where:{publicId:$,email:O}}))}async deleteInvitationById($){await this.run(()=>this.models.OrganizationInvitation.delete({where:{publicId:$}}))}async createAccount($){return await this.run(()=>this.models.Account.create({data:{userId:$.userId,organizationId:$.organizationId,organizationRole:$.organizationRole}}))}async createMagicLinkToken($){return await this.run(()=>this.models.MagicLinkToken.create({data:{email:$.email,token:$.token,pin:$.pin}}))}async findUserMagicLinkToken($){return await this.run(()=>$.token?this.models.MagicLinkToken.findUnique({where:{token_email:{token:$.token,email:$.email}}}):this.models.MagicLinkToken.findUnique({where:{pin_email:{pin:$.pin,email:$.email}}}))}async deleteMagicLinkToken($){await this.run(()=>this.models.MagicLinkToken.deleteMany({where:{email:$}}))}async createSocialAccount($){return await this.run(()=>this.models.SocialAccount.create({data:$}))}async findUserBySocialAccount($,O){if(!O)return null;let Z=await this.run(()=>this.models.SocialAccount.findFirst({where:{provider:$,providerId:O},include:{user:!0}}));return Z?l3(Z.user):null}async findSocialAccounts($,O){return await this.run(()=>this.models.SocialAccount.findMany({where:{userId:$,provider:O},orderBy:{id:"asc"}}))}async claimSocialAccount($,O){let{count:Z}=await this.run(()=>this.models.SocialAccount.updateMany({where:{id:$.id,providerId:$.providerId},data:{providerId:O}}));return Z===1}}import{randomBytes as xC}from"crypto";function N0($,O,Z,T,f){return m0(O,C6($,O),Z,T,f)}function m0($,O,Z,T,f,j){let W=o3(O,Z,T);if(f&&O!==W)throw RangeError(u4($,O,Z,T,j));return W}function C6($,O){let Z=$[O];if(Z===void 0)throw TypeError(Nf(O));return Z}function j0($){return $!==null&&/object|function/.test(typeof $)}function E0($,O=Map){let Z=new O;return(T,...f)=>{if(Z.has(T))return Z.get(T);let j=$(T,...f);return Z.set(T,j),j}}function fT($){return i1({name:$},1)}function i1($,O){return c0((Z)=>({value:Z,configurable:1,writable:!O}),$)}function Y6($){return c0((O)=>({get:O,configurable:1}),$)}function DZ($){return{[Symbol.toStringTag]:{value:$,configurable:1}}}function I$($,O){let Z={},T=$.length;for(let f of O)Z[$[--T]]=f;return Z}function c0($,O,Z){let T={};for(let f in O)T[f]=$(O[f],f,Z);return T}function UO($,O,Z){let T={};for(let f=0;f<O.length;f++){let j=O[f];T[j]=$(j,f,Z)}return T}function i5($,O,Z){let T={};for(let f=0;f<$.length;f++)T[O[f]]=Z[$[f]];return T}function H0($,O){let Z={};for(let T of $)Z[T]=O[T];return Z}function jT($,O){let Z={};for(let T in O)$.has(T)||(Z[T]=O[T]);return Z}function WT($){$={...$};let O=Object.keys($);for(let Z of O)$[Z]===void 0&&delete $[Z];return $}function X6($,O){for(let Z of O)if(!(Z in $))return 0;return 1}function D6($,O,Z){for(let T of $)if(O[T]!==Z[T])return 0;return 1}function F6($,O,Z){let T={...Z};for(let f=0;f<O;f++)T[$[f]]=0;return T}function w($,...O){return(...Z)=>$(...O,...Z)}function nW($){return $[0].toUpperCase()+$.substring(1)}function GO($){return $.slice().sort()}function TZ($,O){return String(O).padStart($,"0")}function K1($,O){return Math.sign($-O)}function o3($,O,Z){return Math.min(Math.max($,O),Z)}function j1($,O){return[Math.floor($/O),zO($,O)]}function zO($,O){return($%O+O)%O}function L1($,O){return[FZ($,O),zT($,O)]}function FZ($,O){return Math.trunc($/O)||0}function zT($,O){return $%O||0}function rO($){return Math.abs($%1)===0.5}function U6($,O,Z){let T=0,f=0;for(let z=0;z<=O;z++){let J=$[Z[z]],C=a0[z],Y=q/C,[D,X]=L1(J,Y);T+=X*C,f+=D}let[j,W]=L1(T,q);return[f+j,W]}function UZ($,O,Z){let T={};for(let f=O;f>=0;f--){let j=a0[f];T[Z[f]]=FZ($,j),$=zT($,j)}return T}function G6($){return $===v?nZ:[]}function B6($){return $===v?NO:[]}function K6($){return $===v?["year","day"]:[]}function Q6($){if($!==void 0)return l($)}function V6($){if($!==void 0)return i0($)}function JT($){if($!==void 0)return BO($)}function i0($){return S6(BO($))}function BO($){return I6(vJ($))}function CT($){if($==null)throw TypeError("Cannot be null or undefined");return $}function L6($,O){if(O==null)throw RangeError(Nf($));return O}function z1($){if(!j0($))throw TypeError(d4);return $}function GZ($,O,Z=$){if(typeof O!==$)throw TypeError(SO(Z,O));return O}function I6($,O="number"){if(!Number.isInteger($))throw RangeError(fJ(O,$));return $||0}function S6($,O="number"){if($<=0)throw RangeError(jJ(O,$));return $}function YT($){if(typeof $=="symbol")throw TypeError(CJ);return String($)}function fZ($,O){return j0($)?String($):l($,O)}function BZ($){if(typeof $=="string")return BigInt($);if(typeof $!="bigint")throw TypeError(JJ($));return $}function M6($,O="number"){if(typeof $=="bigint")throw TypeError(zJ(O));if($=Number($),!Number.isFinite($))throw RangeError(WJ(O,$));return $}function U0($,O){return Math.trunc(M6($,O))||0}function x6($,O){return I6(M6($,O),O)}function aW($,O){return S6(U0($,O),O)}function XT($,O){let[Z,T]=L1(O,q),f=$+Z,j=Math.sign(f);return j&&j===-Math.sign(T)&&(f-=j,T+=j*q),[f,T]}function B$($,O,Z=1){return XT($[0]+O[0]*Z,$[1]+O[1]*Z)}function K$($,O){return XT($[0],$[1]+O)}function v0($,O){return B$(O,$,-1)}function B0($,O){return K1($[0],O[0])||K1($[1],O[1])}function N6($,O,Z){return B0($,O)===-1||B0($,Z)===1}function KZ($,O=1){let Z=BigInt(q/O);return[Number($/Z),Number($%Z)*O]}function Q$($,O=1){let Z=q/O,[T,f]=L1($,Z);return[T,f*O]}function _6($,O=1){let[Z,T]=$,f=Math.floor(T/O),j=q/O;return BigInt(Z)*BigInt(j)+BigInt(f)}function g0($,O=1,Z){let[T,f]=$,[j,W]=L1(f,O);return T*(q/O)+(j+(Z?W/O:0))}function DT($,O,Z=j1){let[T,f]=$,[j,W]=Z(f,O);return[T*(q/O)+j,W]}function FT($,O){let Z=$.formatToParts(O),T={};for(let f of Z)T[f.type]=f.value;return T}function UT($){return N0($,"isoYear",FO,DO,1),$.isoYear===FO?N0($,"isoMonth",4,12,1):$.isoYear===DO&&N0($,"isoMonth",1,9,1),$}function Q1($){return J1({...$,...p0,isoHour:12}),$}function J1($){let O=N0($,"isoYear",FO,DO,1),Z=O===FO?1:O===DO?-1:0;return Z&&k0(G0({...$,isoDay:$.isoDay+Z,isoNanosecond:$.isoNanosecond-Z})),$}function k0($){if(!$||N6($,pJ,yJ))throw RangeError(lZ);return $}function I1($){return U6($,5,u0)[1]}function QZ($){let[O,Z]=j1($,q);return[UZ(Z,5,u0),O]}function A6($){return E6($)[0]}function E6($){return DT($,y0)}function K0($){return S$($.isoYear,$.isoMonth,$.isoDay,$.isoHour,$.isoMinute,$.isoSecond,$.isoMillisecond)}function G0($){let O=K0($);if(O!==void 0){let[Z,T]=L1(O,A0);return[Z,T*o0+($.isoMicrosecond||0)*r1+($.isoNanosecond||0)]}}function GT($,O){let[Z,T]=QZ(I1($)-O);return k0(G0({...$,isoDay:$.isoDay+T,...Z}))}function jZ(...$){return S$(...$)/T8}function S$(...$){let[O,Z]=P6(...$),T=O.valueOf();if(!isNaN(T))return T-Z*A0}function P6($,O=1,Z=1,T=0,f=0,j=0,W=0){let z=$===FO?1:$===DO?-1:0,J=new Date;return J.setUTCHours(T,f,j,W),J.setUTCFullYear($,O-1,Z+z),[J,z]}function M1($,O){let[Z,T]=K$($,O);T<0&&(T+=q,Z-=1);let[f,j]=j1(T,o0),[W,z]=j1(j,r1);return VZ(Z*A0+f,W,z)}function VZ($,O=0,Z=0){let T=Math.ceil(Math.max(0,Math.abs($)-qJ)/A0)*Math.sign($),f=new Date($-T*A0);return I$(oZ,[f.getUTCFullYear(),f.getUTCMonth()+1,f.getUTCDate()+T,f.getUTCHours(),f.getUTCMinutes(),f.getUTCSeconds(),f.getUTCMilliseconds(),O,Z])}function H6($){return[$.isoYear,$.isoMonth,$.isoDay]}function b6(){return f1}function BT($,O){switch(O){case 2:return KT($)?29:28;case 4:case 6:case 9:case 11:return 30}return 31}function w6($){return KT($)?366:365}function KT($){return $%4==0&&($%100!=0||$%400==0)}function v6($){let[O,Z]=P6($.isoYear,$.isoMonth,$.isoDay);return zO(O.getUTCDay()-Z,7)||7}function g6({isoYear:$}){return $<1?["bce",1-$]:["ce",$]}function h5($){let O=K0($);if(O<iJ)return g6($);let Z=FT(lf(V$),O),{era:T,eraYear:f}=d2(Z,V$);return[T,f]}function LZ($){return h1($),IZ($,1),$}function h1($){return k6($,1),$}function oW($){return D6(kf,$,k6($))}function k6($,O){let{isoYear:Z}=$,T=N0($,"isoMonth",1,b6(),O);return{isoYear:Z,isoMonth:T,isoDay:N0($,"isoDay",1,BT(Z,T),O)}}function IZ($,O){return I$(u0,[N0($,"isoHour",0,23,O),N0($,"isoMinute",0,59,O),N0($,"isoSecond",0,59,O),N0($,"isoMillisecond",0,999,O),N0($,"isoMicrosecond",0,999,O),N0($,"isoNanosecond",0,999,O)])}function k($){return $===void 0?0:L8(z1($))}function KO($,O=0){$=h0($);let Z=I8($),T=tJ($,O);return[L8($),T,Z]}function QT($){return I8(h0($))}function R6($){return $=h0($),qf($,9,6,1)}function M$($,O,Z,T=9,f=0,j=4){O=h0(O);let W=qf(O,T,f),z=IT(O),J=AO(O,j),C=_O(O,T,f,1);return W==null?W=Math.max(Z,C):p6(W,C),z=ST(z,C,1),$&&(J=((Y)=>Y<4?(Y+2)%4:Y)(J)),[W,C,z,J]}function SZ($,O=6,Z){let T=IT($=MT($,XZ)),f=AO($,7),j=_O($,O);return j=L6(XZ,j),T=ST(T,j,void 0,Z),[j,T,f]}function VT($){return yf(h0($))}function m6($,O){return LT(h0($),O)}function LT($,O=4){let Z=y6($);return[AO($,4),...q6(_O($,O),Z)]}function q6($,O){return $!=null?[a0[$],$<4?9-3*$:-1]:[O===void 0?1:10**(9-O),O]}function IT($){let O=$[JO];return O===void 0?1:U0(O,JO)}function ST($,O,Z,T){let f=T?q:a0[O+1];if(f){let j=a0[O];if(f%(($=m0(JO,$,1,f/j-(T?0:1),1))*j))throw RangeError(SO(JO,$))}else $=m0(JO,$,1,Z?1e9:1,1);return $}function y6($){let O=$[a3];if(O!==void 0){if(typeof O!="number"){if(YT(O)==="auto")return;throw RangeError(SO(a3,O))}O=m0(a3,Math.floor(O),0,9,1)}return O}function h0($){return $===void 0?{}:z1($)}function MT($,O){return typeof $=="string"?{[O]:$}:z1($)}function a($){if($!==void 0){if(j0($))return Object.assign(Object.create(null),$);throw TypeError(d4)}}function MZ($,O){return $&&Object.assign(Object.create(null),$,{overflow:lJ[O]})}function xT($,O,Z=9,T=0,f){let j=O[$];if(j===void 0)return f?T:void 0;if(j=YT(j),j==="auto")return f?T:null;let W=$T[j];if(W===void 0&&(W=RJ[j]),W===void 0)throw RangeError(a4($,j,$T));return m0($,W,T,Z,1,xO),W}function l1($,O,Z,T=0){let f=Z[$];if(f===void 0)return T;let j=YT(f),W=O[j];if(W===void 0)throw RangeError(a4($,j,O));return W}function p6($,O){if(O>$)throw RangeError(EJ)}function W0($){return{branding:tZ,epochNanoseconds:$}}function C0($,O,Z){return{branding:D1,calendar:Z,timeZone:O,epochNanoseconds:$}}function o($,O=$.calendar){return{branding:e1,calendar:O,...H0(B8,$)}}function r($,O=$.calendar){return{branding:t1,calendar:O,...H0(Rf,$)}}function p1($,O=$.calendar){return{branding:b$,calendar:O,...H0(Rf,$)}}function WZ($,O=$.calendar){return{branding:w$,calendar:O,...H0(Rf,$)}}function l0($){return{branding:rZ,...H0(G8,$)}}function i($){return{branding:eZ,sign:x1($),...H0(wf,$)}}function c6($){return A6($.epochNanoseconds)}function xZ($){return DT($.epochNanoseconds,o0)[0]}function i6($){return _6($.epochNanoseconds,r1)}function h6($){return _6($.epochNanoseconds)}function l6($){return $.epochNanoseconds}function z0($){return typeof $=="string"?$:l($.id)}function x$($,O){return $===O||z0($)===z0(O)}function d6($,O,Z,T,f){let j=c1(T),[W,z]=((B,Q)=>{let I=Q((B=MT(B,TT))[Q8]),V=rJ(B);return V=L6(TT,V),[V,I]})(f,$);if(YO(Math.max(W,j),z))return rW(T,W);if(!z)throw RangeError(dZ);let[J,C,Y]=HZ(O,Z,z),D=nT(Y),X=bZ(Y),U=aT(Y),F=X(C,J,T),G=U(C,J,F,W);return YO(W,z)?rW(G,W):((B,Q,I,V,N,A,L)=>{let S=x1(B),[E,P]=NT(V,gf(I,B),I,S,N,A,L),O0=_T(Q,E,P);return B[R[I]]+O0*S})(G,D(F),W,C,J,D,X)}function rW($,O){return g0(f0($),a0[O],1)}function NT($,O,Z,T,f,j,W){let z=R[Z],J={...O,[z]:O[z]+T},C=W($,f,O),Y=W($,f,J);return[j(C),j(Y)]}function _T($,O,Z){let T=g0(v0(O,Z));if(!T)throw RangeError(MO);return g0(v0(O,$))/T}function u6($,O){let[Z,T,f]=SZ(O,5,1);return W0(_Z($.epochNanoseconds,Z,T,f,1))}function s6($,O,Z){let{epochNanoseconds:T,timeZone:f,calendar:j}=O,[W,z,J]=SZ(Z);if(W===0&&z===1)return O;let C=$(f);if(W===6)T=((Y,D,X,U)=>{let F=Q0(X,D),[G,B]=Y(F),Q=X.epochNanoseconds,I=P0(D,G),V=P0(D,B);if(N6(Q,I,V))throw RangeError(MO);return Z2(_T(Q,I,V),U)?V:I})($2,C,O,J);else{let Y=C.getOffsetNanosecondsFor(T);T=u1(C,t6(M1(T,Y),W,z,J),Y,2,0,1)}return C0(T,f,j)}function n6($,O){return o(t6($,...SZ(O)),$.calendar)}function a6($,O){let[Z,T,f]=SZ(O,5);var j;return l0((j=f,AT($,QO(Z,T),j)[0]))}function o6($,O){let Z=$(O.timeZone),T=Q0(O,Z),[f,j]=$2(T),W=g0(v0(P0(Z,f),P0(Z,j)),sZ,1);if(W<=0)throw RangeError(MO);return W}function r6($,O){let{timeZone:Z,calendar:T}=O,f=((j,W,z)=>P0(W,j(Q0(z,W))))(O2,$(Z),O);return C0(f,Z,T)}function t6($,O,Z,T){return e6($,QO(O,Z),T)}function e6($,O,Z){let[T,f]=AT($,O,Z);return J1({...s1($,f),...T})}function AT($,O,Z){return QZ(S1(I1($),O,Z))}function zZ($){return S1($,uZ,7)}function QO($,O){return a0[$]*O}function $2($){let O=O2($);return[O,s1(O,1)]}function O2($){return mJ(6,$)}function l5($,O,Z){let T=Math.min(c1($),6);return _$(AZ(f0($,T),O,Z),T)}function NZ($,O,Z,T,f,j,W,z,J,C){if(T===0&&f===1)return $;let Y=YO(T,z)?wZ(z)&&T<6&&Z>=6?u5:d5:s5,[D,X,U]=Y($,O,Z,T,f,j,W,z,J,C);return U&&T!==7&&(D=((F,G,B,Q,I,V,N,A)=>{let L=x1(F);for(let S=Q+1;S<=B;S++){if(S===7&&B!==7)continue;let E=gf(S,F);E[R[S]]+=L;let P=g0(v0(N(A(I,V,E)),G));if(P&&Math.sign(P)!==L)break;F=E}return F})(D,X,Z,Math.max(6,T),W,z,J,C)),D}function _Z($,O,Z,T,f){if(O===6){let j=((W)=>W[0]+W[1]/q)($);return[S1(j,Z,T),0]}return AZ($,QO(O,Z),T,f)}function AZ($,O,Z,T){let[f,j]=$;T&&j<0&&(j+=q,f-=1);let[W,z]=j1(S1(j,O,Z),q);return XT(f+W,z)}function S1($,O,Z){return Z2($/O,Z)*O}function Z2($,O){return O7[O]($)}function d5($,O,Z,T,f,j){let W=x1($),z=f0($),J=_Z(z,T,f,j),C=v0(z,J),Y=Math.sign(J[0]-z[0])===W,D=_$(J,Math.min(Z,6));return[{...$,...D},B$(O,C),Y]}function u5($,O,Z,T,f,j,W,z,J,C){let Y=x1($),D=g0(f0($,5)),X=QO(T,f),U=S1(D,X,j),[F,G]=NT(W,{...$,...vf},6,Y,z,J,C),B=U-g0(v0(F,G)),Q=0;B&&Math.sign(B)!==Y?O=K$(F,U):(Q+=Y,U=S1(B,X,j),O=K$(G,U));let I=gZ(U);return[{...$,...I,days:$.days+Q},O,Boolean(Q)]}function s5($,O,Z,T,f,j,W,z,J,C){let Y=x1($),D=R[T],X=gf(T,$);T===7&&($={...$,weeks:$.weeks+Math.trunc($.days/7)});let U=FZ($[D],f)*f;X[D]=U;let[F,G]=NT(W,X,T,f*Y,z,J,C),B=U+_T(O,F,G)*Y*f,Q=S1(B,f,j),I=Math.sign(Q-B)===Y;return X[D]=Q,[X,I?G:F,I]}function ET($,O,Z,T){let[f,j,W,z]=((C)=>{let Y=LT(C=h0(C));return[C.timeZone,...Y]})(T),J=f!==void 0;return((C,Y,D,X,U,F)=>{D=AZ(D,U,X,1);let G=Y.getOffsetNanosecondsFor(D);return kT(M1(D,G),F)+(C?d1(zZ(G)):"Z")})(J,O(J?$(f):$$),Z.epochNanoseconds,j,W,z)}function PT($,O,Z){let[T,f,j,W,z,J]=((C)=>{C=h0(C);let Y=yf(C),D=y6(C),X=$7(C),U=AO(C,4),F=_O(C,4);return[Y,eJ(C),X,U,...q6(F,D)]})(Z);return((C,Y,D,X,U,F,G,B,Q,I)=>{X=AZ(X,Q,B,1);let V=C(D).getOffsetNanosecondsFor(X);return kT(M1(X,V),I)+d1(zZ(V),G)+((N,A)=>A!==1?"["+(A===2?"!":"")+z0(N)+"]":"")(D,F)+RT(Y,U)})($,O.calendar,O.timeZone,O.epochNanoseconds,T,f,j,W,z,J)}function HT($,O){let[Z,T,f,j]=((C)=>(C=h0(C),[yf(C),...LT(C)]))(O);return W=$.calendar,z=Z,J=j,kT(e6($,f,T),J)+RT(W,z);var W,z,J}function bT($,O){return Z=$.calendar,T=$,f=VT(O),JZ(T)+RT(Z,f);var Z,T,f}function wT($,O){return T2($.calendar,f2,$,VT(O))}function vT($,O){return T2($.calendar,n5,$,VT(O))}function gT($,O){let[Z,T,f]=m6(O);return j=f,j2(AT($,T,Z)[0],j);var j}function EZ($,O){let[Z,T,f]=m6(O,3);return T>1&&($={...$,...l5($,T,Z)}),((j,W)=>{let{sign:z}=j,J=z===-1?V0(j):j,{hours:C,minutes:Y}=J,[D,X]=DT(f0(J,3),y0,L1);F2(D);let U=mT(X,W),F=W>=0||!z||U;return(z<0?"-":"")+"P"+tW({Y:y1(J.years),M:y1(J.months),W:y1(J.weeks),D:y1(J.days)})+(C||Y||D||F?"T"+tW({H:y1(C),M:y1(Y),S:y1(D,F)+U}):"")})($,f)}function T2($,O,Z,T){let f=z0($),j=T>1||T===0&&f!==v;return T===1?f===v?O(Z):JZ(Z):j?JZ(Z)+W2(f,T===2):O(Z)}function tW($){let O=[];for(let Z in $){let T=$[Z];T&&O.push(T,Z)}return O.join("")}function kT($,O){return JZ($)+"T"+j2($,O)}function JZ($){return f2($)+"-"+q0($.isoDay)}function f2($){let{isoYear:O}=$;return(O<0||O>9999?z2(O)+TZ(6,Math.abs(O)):TZ(4,O))+"-"+q0($.isoMonth)}function n5($){return q0($.isoMonth)+"-"+q0($.isoDay)}function j2($,O){let Z=[q0($.isoHour),q0($.isoMinute)];return O!==-1&&Z.push(q0($.isoSecond)+((T,f,j,W)=>mT(T*o0+f*r1+j,W))($.isoMillisecond,$.isoMicrosecond,$.isoNanosecond,O)),Z.join(":")}function d1($,O=0){if(O===1)return"";let[Z,T]=j1(Math.abs($),sZ),[f,j]=j1(T,uZ),[W,z]=j1(j,y0);return z2($)+q0(Z)+":"+q0(f)+(W||z?":"+q0(W)+mT(z):"")}function RT($,O){if(O!==1){let Z=z0($);if(O>1||O===0&&Z!==v)return W2(Z,O===2)}return""}function W2($,O){return"["+(O?"!":"")+"u-ca="+$+"]"}function mT($,O){let Z=TZ(9,$);return Z=O===void 0?Z.replace(f7,""):Z.slice(0,O),Z?"."+Z:""}function z2($){return $<0?"-":"+"}function y1($,O){return $||O?$.toLocaleString("fullwide",{useGrouping:0}):""}function a5($,O){let{epochNanoseconds:Z}=$,T=(O.getOffsetNanosecondsFor?O:O($.timeZone)).getOffsetNanosecondsFor(Z),f=M1(Z,T);return{calendar:$.calendar,...f,offsetNanoseconds:T}}function J2($,O){let Z=Q0(O,$);return{calendar:O.calendar,...H0(B8,Z),offset:d1(Z.offsetNanoseconds),timeZone:O.timeZone}}function u1($,O,Z,T=0,f=0,j,W){if(Z!==void 0&&T===1&&(T===1||W))return GT(O,Z);let z=$.getPossibleInstantsFor(O);if(Z!==void 0&&T!==3){let J=((C,Y,D,X)=>{let U=G0(Y);X&&(D=zZ(D));for(let F of C){let G=g0(v0(F,U));if(X&&(G=zZ(G)),G===D)return F}})(z,O,Z,j);if(J!==void 0)return J;if(T===0)throw RangeError(SJ)}return W?G0(O):P0($,O,f,z)}function P0($,O,Z=0,T=$.getPossibleInstantsFor(O)){if(T.length===1)return T[0];if(Z===1)throw RangeError(MJ);if(T.length)return T[Z===3?1:0];let f=G0(O),j=((z,J)=>{let C=z.getOffsetNanosecondsFor(K$(J,-q));return yT(z.getOffsetNanosecondsFor(K$(J,q))-C)})($,f),W=j*(Z===2?-1:1);return(T=$.getPossibleInstantsFor(M1(f,W)))[Z===2?0:T.length-1]}function qT($){if(Math.abs($)>=q)throw RangeError(LJ);return $}function yT($){if($>q)throw RangeError(IJ);return $}function pT($,O,Z){return W0(k0(B$(O.epochNanoseconds,((T)=>{if(U2(T))throw RangeError(_J);return f0(T,5)})($?V0(Z):Z))))}function cT($,O,Z,T,f,j=Object.create(null)){let W=O(T.timeZone),z=$(T.calendar);return{...T,...uT(W,z,T,Z?V0(f):f,j)}}function iT($,O,Z,T,f=Object.create(null)){let{calendar:j}=Z;return o(sT($(j),Z,O?V0(T):T,f),j)}function hT($,O,Z,T,f){let{calendar:j}=Z;return r(PZ($(j),Z,O?V0(T):T,f),j)}function lT($,O,Z,T,f=Object.create(null)){let j=Z.calendar,W=$(j),z=CO(W,Z);O&&(T=vZ(T)),T.sign<0&&(z=W.dateAdd(z,{...J0,months:1}),z=s1(z,-1));let J=W.dateAdd(z,T,f);return p1(CO(W,J),j)}function dT($,O,Z){return l0(C2(O,$?V0(Z):Z)[0])}function uT($,O,Z,T,f){let j=f0(T,5),W=Z.epochNanoseconds;if(U2(T)){let z=Q0(Z,$);W=B$(P0($,{...PZ(O,z,{...T,...vf},f),...H0(u0,z)}),j)}else W=B$(W,j),k(f);return{epochNanoseconds:k0(W)}}function sT($,O,Z,T){let[f,j]=C2(O,Z);return J1({...PZ($,O,{...Z,...vf,days:Z.days+j},T),...f})}function PZ($,O,Z,T){if(Z.years||Z.months||Z.weeks)return $.dateAdd(O,Z,T);k(T);let f=Z.days+f0(Z,5)[0];return f?Q1(s1(O,f)):O}function CO($,O,Z=1){return s1(O,Z-$.day(O))}function C2($,O){let[Z,T]=f0(O,5),[f,j]=QZ(I1($)+T);return[f,Z+j]}function s1($,O){return O?{...$,...VZ(K0($)+O*A0)}:$}function HZ($,O,Z){let T=$(Z.calendar);return wZ(Z)?[Z,T,O(Z.timeZone)]:[{...Z,...p0},T]}function nT($){return $?l6:G0}function bZ($){return $?w(uT,$):sT}function aT($){return $?w(r5,$):t5}function wZ($){return $&&$.epochNanoseconds}function YO($,O){return $<=6-(wZ(O)?1:0)}function oT($,O,Z,T,f,j,W){let z=$(h0(W).relativeTo),J=Math.max(c1(f),c1(j));if(YO(J,z))return i(N$(((G,B,Q,I)=>{let V=B$(f0(G),f0(B),I?-1:1);if(!Number.isFinite(V[0]))throw RangeError(lZ);return{...J0,..._$(V,Q)}})(f,j,J,T)));if(!z)throw RangeError(dZ);T&&(j=V0(j));let[C,Y,D]=HZ(O,Z,z),X=bZ(D),U=aT(D),F=X(Y,C,f);return i(U(Y,C,X(Y,F,j),J))}function Y2($,O,Z,T,f){let j=c1(T),[W,z,J,C,Y]=((L,S,E)=>{L=MT(L,XZ);let P=qf(L),O0=E(L[Q8]),g=IT(L),m=AO(L,7),Z0=_O(L);if(P===void 0&&Z0===void 0)throw RangeError(AJ);return Z0==null&&(Z0=0),P==null&&(P=Math.max(Z0,S)),p6(P,Z0),g=ST(g,Z0,1),[P,Z0,g,m,O0]})(f,j,$),D=Math.max(j,W);if(!wZ(Y)&&D<=6)return i(N$(((L,S,E,P,O0)=>{let g=_Z(f0(L),E,P,O0);return{...J0,..._$(g,S)}})(T,W,z,J,C)));if(!Y)throw RangeError(dZ);let[X,U,F]=HZ(O,Z,Y),G=nT(F),B=bZ(F),Q=aT(F),I=B(U,X,T),V=Q(U,X,I,W),N=T.sign,A=x1(V);if(N&&A&&N!==A)throw RangeError(MO);return A&&(V=NZ(V,G(I),W,z,J,C,U,X,G,B)),i(V)}function X2($){return $.sign===-1?vZ($):$}function vZ($){return i(V0($))}function V0($){let O={};for(let Z of R)O[Z]=-1*$[Z]||0;return O}function D2($){return!$.sign}function x1($,O=R){let Z=0;for(let T of O){let f=Math.sign($[T]);if(f){if(Z&&Z!==f)throw RangeError(NJ);Z=f}}return Z}function N$($){for(let O of kJ)m0(O,$[O],-j6,j6,1);return F2(g0(f0($),y0)),$}function F2($){if(!Number.isSafeInteger($))throw RangeError(xJ)}function f0($,O=6){return U6($,O,R)}function _$($,O=6){let[Z,T]=$,f=UZ(T,O,R);if(f[R[O]]+=Z*(q/a0[O]),!Number.isFinite(f[R[O]]))throw RangeError(lZ);return f}function gZ($,O=5){return UZ($,O,R)}function U2($){return Boolean(x1($,U8))}function c1($){let O=9;for(;O>0&&!$[R[O]];O--);return O}function o5($,O){return[$,O]}function eW($){let O=Math.floor($/OZ)*OZ;return[O,O+OZ]}function G2($){let O=N1($=fZ($));if(!O)throw RangeError(_0($));let Z;if(O.m)Z=0;else{if(!O.offset)throw RangeError(_0($));Z=A$(O.offset)}return O.timeZone&&$f(O.timeZone,1),W0(GT(LZ(O),Z))}function B2($){let O=N1(l($));if(!O)throw RangeError(_0($));if(O.timeZone)return N2(O,O.offset?A$(O.offset):void 0);if(O.m)throw RangeError(_0($));return A2(O)}function K2($,O){let Z=N1(l($));if(!Z||!Z.timeZone)throw RangeError(_0($));let{offset:T}=Z,f=T?A$(T):void 0,[,j,W]=KO(O);return N2(Z,f,j,W)}function A$($){let O=$f($);if(O===void 0)throw RangeError(_0($));return O}function Q2($){let O=N1(l($));if(!O||O.m)throw RangeError(_0($));return o(_2(O))}function kZ($){let O=N1(l($));if(!O||O.m)throw RangeError(_0($));return r(O.p?_2(O):A2(O))}function V2($,O){let Z=tT(l(O));if(Z)return rT(Z),p1(UT(h1(Z)));let T=kZ(O);return p1(CO($(T.calendar),T))}function rT($){if($.calendar!==v)throw RangeError(W1($.calendar))}function L2($,O){let Z=eT(l(O));if(Z)return rT(Z),WZ(h1(Z));let T=kZ(O),{calendar:f}=T,j=$(f),[W,z,J]=j.h(T),[C,Y]=j.I(W,z),[D,X]=j.N(C,Y,J);return WZ(Q1(j.P(D,X,J)),f)}function I2($){let O,Z=((T)=>{let f=C7.exec(T);return f?(RZ(f[10]),H2(f)):void 0})(l($));if(!Z){if(Z=N1($),!Z)throw RangeError(_0($));if(!Z.p)throw RangeError(_0($));if(Z.m)throw RangeError(W1("Z"));rT(Z)}if((O=tT($))&&oW(O))throw RangeError(_0($));if((O=eT($))&&oW(O))throw RangeError(_0($));return l0(IZ(Z,1))}function S2($){let O=((Z)=>{let T=D7.exec(Z);return T?((f)=>{function j(Y,D,X){let U=0,F=0;if(X&&([U,J]=j1(J,a0[X])),Y!==void 0){if(z)throw RangeError(W1(Y));F=((G)=>{let B=parseInt(G);if(!Number.isFinite(B))throw RangeError(W1(G));return B})(Y),W=1,D&&(J=Of(D)*(a0[X]/y0),z=1)}return U+F}let W=0,z=0,J=0,C={...I$(R,[j(f[2]),j(f[3]),j(f[4]),j(f[5]),j(f[6],f[7],5),j(f[8],f[9],4),j(f[10],f[11],3)]),...UZ(J,2,R)};if(!W)throw RangeError(s4(R));return Zf(f[1])<0&&(C=V0(C)),C})(T):void 0})(l($));if(!O)throw RangeError(_0($));return i(N$(O))}function M2($){let O=N1($)||tT($)||eT($);return O?O.calendar:$}function x2($){let O=N1($);return O&&(O.timeZone||O.m&&$$||O.offset)||$}function N2($,O,Z=0,T=0){let f=mZ($.timeZone),j=$3(f);return C0(u1(j,LZ($),O,Z,T,!j.v,$.m),f,VO($.calendar))}function _2($){return E2(J1(LZ($)))}function A2($){return E2(Q1(h1($)))}function E2($){return{...$,calendar:VO($.calendar)}}function N1($){let O=J7.exec($);return O?((Z)=>{let T=Z[10],f=(T||"").toUpperCase()==="Z";return{isoYear:P2(Z),isoMonth:parseInt(Z[4]),isoDay:parseInt(Z[5]),...H2(Z.slice(5)),...RZ(Z[16]),p:Boolean(Z[6]),m:f,offset:f?void 0:T}})(O):void 0}function tT($){let O=W7.exec($);return O?((Z)=>({isoYear:P2(Z),isoMonth:parseInt(Z[4]),isoDay:1,...RZ(Z[5])}))(O):void 0}function eT($){let O=z7.exec($);return O?((Z)=>({isoYear:L$,isoMonth:parseInt(Z[1]),isoDay:parseInt(Z[2]),...RZ(Z[3])}))(O):void 0}function $f($,O){let Z=Y7.exec($);return Z?((T,f)=>{let j=T[4]||T[5];if(f&&j)throw RangeError(W1(j));return qT((G$(T[2])*sZ+G$(T[3])*uZ+G$(T[4])*y0+Of(T[5]||""))*Zf(T[1]))})(Z,O):void 0}function P2($){let O=Zf($[1]),Z=parseInt($[2]||$[3]);if(O<0&&!Z)throw RangeError(W1(-0));return O*Z}function H2($){let O=G$($[3]);return{...QZ(Of($[4]||""))[0],isoHour:G$($[1]),isoMinute:G$($[2]),isoSecond:O===60?59:O}}function RZ($){let O,Z,T=[];if($.replace(X7,(f,j,W)=>{let z=Boolean(j),[J,C]=W.split("=").reverse();if(C){if(C==="u-ca")T.push(J),O||(O=z);else if(z||/[A-Z]/.test(C))throw RangeError(W1(f))}else{if(Z)throw RangeError(W1(f));Z=J}return""}),T.length>1&&O)throw RangeError(W1($));return{timeZone:Z,calendar:T[0]||v}}function Of($){return parseInt($.padEnd(9,"0"))}function E$($){return new RegExp(`^${$}$`,"i")}function Zf($){return $&&$!=="+"?-1:1}function G$($){return $===void 0?0:parseInt($)}function b2($){return mZ(l($))}function mZ($){let O=Tf($);return typeof O=="number"?d1(O):O?((Z)=>{if(U7.test(Z))throw RangeError(VJ);return Z.toLowerCase().split("/").map((T,f)=>(T.length<=3||/\d/.test(T))&&!/etc|yap/.test(T)?T.toUpperCase():T.replace(/baja|dumont|[a-z]+/g,(j,W)=>j.length<=2&&!f||j==="in"||j==="chat"?j.toUpperCase():j.length>2||!W?nW(j).replace(/island|noronha|murdo|rivadavia|urville/,nW):j)).join("/")})($):$$}function $6($){let O=Tf($);return typeof O=="number"?O:O?O.resolvedOptions().timeZone:$$}function Tf($){let O=$f($=$.toUpperCase(),1);return O!==void 0?O:$!==$$?F7($):void 0}function ff($,O){return B0($.epochNanoseconds,O.epochNanoseconds)}function jf($,O){return B0($.epochNanoseconds,O.epochNanoseconds)}function w2($,O,Z,T,f,j){let W=$(h0(j).relativeTo),z=Math.max(c1(T),c1(f));if(D6(R,T,f))return 0;if(YO(z,W))return B0(f0(T),f0(f));if(!W)throw RangeError(dZ);let[J,C,Y]=HZ(O,Z,W),D=nT(Y),X=bZ(Y);return B0(D(X(C,J,T)),D(X(C,J,f)))}function Wf($,O){return n1($,O)||qZ($,O)}function n1($,O){return K1(K0($),K0(O))}function qZ($,O){return K1(I1($),I1(O))}function v2($,O){return!ff($,O)}function g2($,O){return!jf($,O)&&!!yZ($.timeZone,O.timeZone)&&x$($.calendar,O.calendar)}function k2($,O){return!Wf($,O)&&x$($.calendar,O.calendar)}function R2($,O){return!n1($,O)&&x$($.calendar,O.calendar)}function m2($,O){return!n1($,O)&&x$($.calendar,O.calendar)}function q2($,O){return!n1($,O)&&x$($.calendar,O.calendar)}function y2($,O){return!qZ($,O)}function yZ($,O){if($===O)return 1;let Z=z0($),T=z0(O);if(Z===T)return 1;try{return $6(Z)===$6(T)}catch(f){}}function zf($,O,Z,T){let f=M$($,a(T),3,5),j=pZ(O.epochNanoseconds,Z.epochNanoseconds,...f);return i($?V0(j):j)}function Jf($,O,Z,T,f,j){let W=iZ(T.calendar,f.calendar),z=a(j),[J,C,Y,D]=M$(Z,z,5),X=T.epochNanoseconds,U=f.epochNanoseconds,F=B0(U,X),G;if(F)if(J<6)G=pZ(X,U,J,C,Y,D);else{let B=O(((I,V)=>{if(!yZ(I,V))throw RangeError(e4);return I})(T.timeZone,f.timeZone)),Q=$(W);G=c2(Q,B,T,f,F,J,z),G=NZ(G,U,J,C,Y,D,Q,T,l6,w(uT,B))}else G=J0;return i(Z?V0(G):G)}function Cf($,O,Z,T,f){let j=iZ(Z.calendar,T.calendar),W=a(f),[z,J,C,Y]=M$(O,W,6),D=G0(Z),X=G0(T),U=B0(X,D),F;if(U)if(z<=6)F=pZ(D,X,z,J,C,Y);else{let G=$(j);F=i2(G,Z,T,U,z,W),F=NZ(F,X,z,J,C,Y,G,Z,G0,sT)}else F=J0;return i(O?V0(F):F)}function Yf($,O,Z,T,f){let j=iZ(Z.calendar,T.calendar),W=a(f);return p2(O,()=>$(j),Z,T,...M$(O,W,6,9,6),W)}function Xf($,O,Z,T,f){let j=iZ(Z.calendar,T.calendar),W=a(f),z=M$(O,W,9,9,8),J=$(j);return p2(O,()=>J,CO(J,Z),CO(J,T),...z,W)}function p2($,O,Z,T,f,j,W,z,J){let C=G0(Z),Y=G0(T),D;if(B0(Y,C))if(f===6)D=pZ(C,Y,f,j,W,z);else{let X=O();D=X.dateUntil(Z,T,f,J),j===6&&W===1||(D=NZ(D,Y,f,j,W,z,X,Z,G0,PZ))}else D=J0;return i($?V0(D):D)}function Df($,O,Z,T){let f=a(T),[j,W,z,J]=M$($,f,5,5),C=S1(Ff(O,Z),QO(W,z),J),Y={...J0,...gZ(C,j)};return i($?V0(Y):Y)}function r5($,O,Z,T,f,j){let W=B0(T.epochNanoseconds,Z.epochNanoseconds);return W?f<6?h2(Z.epochNanoseconds,T.epochNanoseconds,f):c2(O,$,Z,T,W,f,j):J0}function t5($,O,Z,T,f){let j=G0(O),W=G0(Z),z=B0(W,j);return z?T<=6?h2(j,W,T):i2($,O,Z,z,T,f):J0}function c2($,O,Z,T,f,j,W){let[z,J,C]=((X,U,F,G)=>{function B(){return S={...s1(V,A++*-G),...I},E=P0(X,S),B0(N,E)===-G}let Q=Q0(U,X),I=H0(u0,Q),V=Q0(F,X),N=F.epochNanoseconds,A=0,L=Ff(Q,V),S,E;if(Math.sign(L)===-G&&A++,B()&&(G===-1||B()))throw RangeError(MO);let P=g0(v0(E,N));return[Q,S,P]})(O,Z,T,f);var Y,D;return{...j===6?(Y=z,D=J,{...J0,days:l2(Y,D)}):$.dateUntil(z,J,j,W),...gZ(C)}}function i2($,O,Z,T,f,j){let[W,z,J]=((C,Y,D)=>{let X=Y,U=Ff(C,Y);return Math.sign(U)===-D&&(X=s1(Y,-D),U+=q*D),[C,X,U]})(O,Z,T);return{...$.dateUntil(W,z,f,j),...gZ(J)}}function pZ($,O,Z,T,f,j){return{...J0,..._$(_Z(v0($,O),T,f,j),Z)}}function h2($,O,Z){return{...J0,..._$(v0($,O),Z)}}function l2($,O){return cZ(K0($),K0(O))}function cZ($,O){return Math.trunc((O-$)/A0)}function Ff($,O){return I1(O)-I1($)}function iZ($,O){if(!x$($,O))throw RangeError(Ef);return $}function e5($){function O(f){return((j,W)=>({...d2(j,W),F:j.month,day:parseInt(j.day)}))(FT(Z,f),T)}let Z=lf($),T=CZ($);return{id:$,O:$J(O),B:OJ(O)}}function $J($){return E0((O)=>{let Z=K0(O);return $(Z)},WeakMap)}function OJ($){let O=$(0).year-cJ;return E0((Z)=>{let T,f=S$(Z-O),j=[],W=[];do f+=400*A0;while((T=$(f)).year<=Z);do f+=(1-T.day)*A0,T.year===Z&&(j.push(f),W.push(T.F)),f-=A0;while((T=$(f)).year>=Z);return{k:j.reverse(),C:Z8(W.reverse())}})}function d2($,O){let Z,T,f=u2($);if($.era){let j=X8[O];j!==void 0&&(Z=O==="islamic"?"ah":$.era.normalize("NFD").toLowerCase().replace(/[^a-z0-9]/g,""),Z==="bc"||Z==="b"?Z="bce":Z!=="ad"&&Z!=="a"||(Z="ce"),T=f,f=r2(T,j[Z]||0))}return{era:Z,eraYear:T,year:f}}function u2($){return parseInt($.relatedYear||$.year)}function r3($){let{year:O,F:Z,day:T}=this.O($),{C:f}=this.B(O);return[O,f[Z]+1,T]}function XO($,O=1,Z=1){return this.B($).k[O-1]+(Z-1)*A0}function tO($){let O=Z6(this,$),Z=Z6(this,$-1),T=O.length;if(T>Z.length){let f=t2(this);if(f<0)return-f;for(let j=0;j<T;j++)if(O[j]!==Z[j])return j+1}}function eO($){return cZ(XO.call(this,$),XO.call(this,$+1))}function O6($,O){let{k:Z}=this.B($),T=O+1,f=Z;return T>Z.length&&(T=1,f=this.B($+1).k),cZ(Z[O-1],f[T-1])}function $Z($){return this.B($).k.length}function Z6($,O){return Object.keys($.B(O).C)}function s2($){return VO(l($))}function VO($){if(($=$.toLowerCase())!==v&&$!==aZ&&CZ($)!==CZ(lf($).resolvedOptions().calendar))throw RangeError(QJ($));return $}function CZ($){return $==="islamicc"&&($="islamic"),$.split("-")[0]}function n2($){return this.R($)[0]}function a2($){return this.R($)[1]}function Uf($){let[O]=this.h($);return cZ(this.q(O),K0($))+1}function o2($){let O=B7.exec($);if(!O)throw RangeError(BJ($));return[parseInt(O[1]),Boolean(O[2])]}function YZ($,O,Z){return $+(O||Z&&$>=Z?1:0)}function t3($,O){return $-(O&&$>=O?1:0)}function r2($,O){return(O+$)*(Math.sign(O)||1)||0}function e3($){return X8[e2($)]}function t2($){return wJ[e2($)]}function e2($){return CZ($.id||v)}function $4($,O,Z,T){let f=_1(Z,T,d0,[],z8);if(f.timeZone!==void 0){let j=Z.dateFromFields(f),W=a1(f),z=$(f.timeZone);return{epochNanoseconds:u1(O(z),{...j,...W},f.offset!==void 0?A$(f.offset):void 0),timeZone:z}}return{...Z.dateFromFields(f),...p0}}function O4($,O,Z,T,f,j){let W=_1(Z,f,d0,j8,z8),z=$(W.timeZone),[J,C,Y]=KO(j),D=Z.dateFromFields(W,MZ(j,J)),X=a1(W,J);return C0(u1(O(z),{...D,...X},W.offset!==void 0?A$(W.offset):void 0,C,Y),z,T)}function Z4($,O,Z){let T=_1($,O,d0,[],X1),f=k(Z);return o(J1({...$.dateFromFields(T,MZ(Z,f)),...a1(T,f)}))}function Gf($,O,Z,T=[]){let f=_1($,O,d0,T);return $.dateFromFields(f,Z)}function Bf($,O,Z,T){let f=_1($,O,bf,T);return $.yearMonthFromFields(f,Z)}function Kf($,O,Z,T,f=[]){let j=_1($,Z,d0,f);return O&&j.month!==void 0&&j.monthCode===void 0&&j.year===void 0&&(j.year=L$),$.monthDayFromFields(j,T)}function T4($,O){let Z=k(O);return l0(a1(n0($,OT,[],1),Z))}function f4($){let O=n0($,wf);return i(N$({...J0,...O}))}function _1($,O,Z,T=[],f=[]){return n0(O,[...$.fields(Z),...f].sort(),T)}function n0($,O,Z,T=!Z){let f={},j,W=0;for(let z of O){if(z===j)throw RangeError(YJ(z));if(z==="constructor"||z==="__proto__")throw RangeError(_f(z));let J=$[z];if(J!==void 0)W=1,W6[z]&&(J=W6[z](J,z)),f[z]=J;else if(Z){if(Z.includes(z))throw TypeError(Nf(z));f[z]=Y8[z]}j=z}if(T&&!W)throw TypeError(s4(O));return f}function a1($,O){return IZ(L7({...Y8,...$}),O)}function j4($,O,Z,T,f,j){let W=a(j),{calendar:z,timeZone:J}=Z;return C0(((C,Y,D,X,U)=>{let F=LO(C,D,X,d0,W8,f8),[G,B,Q]=KO(U,2);return u1(Y,{...C.dateFromFields(F,MZ(U,G)),...a1(F,G)},A$(F.offset),B,Q)})($(z),O(J),T,f,W),J,z)}function W4($,O,Z,T,f){let j=a(f);return o(((W,z,J,C)=>{let Y=LO(W,z,J,d0,X1),D=k(C);return J1({...W.dateFromFields(Y,MZ(C,D)),...a1(Y,D)})})($(O.calendar),Z,T,j))}function z4($,O,Z,T,f){let j=a(f);return((W,z,J,C)=>{let Y=LO(W,z,J,d0);return W.dateFromFields(Y,C)})($(O.calendar),Z,T,j)}function J4($,O,Z,T,f){let j=a(f);return p1(((W,z,J,C)=>{let Y=LO(W,z,J,bf);return W.yearMonthFromFields(Y,C)})($(O.calendar),Z,T,j))}function C4($,O,Z,T,f){let j=a(f);return((W,z,J,C)=>{let Y=LO(W,z,J,d0);return W.monthDayFromFields(Y,C)})($(O.calendar),Z,T,j)}function Y4($,O,Z){return l0(((T,f,j)=>{let W=k(j);return a1({...H0(OT,T),...n0(f,OT)},W)})($,O,Z))}function X4($,O){return i((Z=$,T=O,N$({...Z,...n0(T,wf)})));var Z,T}function LO($,O,Z,T,f=[],j=[]){let W=[...$.fields(T),...f].sort(),z=n0(O,W,j),J=n0(Z,W);return z=$.mergeFields(z,J),n0(z,W,[])}function Qf($,O){let Z=_1($,O,C8);return $.monthDayFromFields(Z)}function Vf($,O,Z){let T=_1($,O,J8);return $.yearMonthFromFields(T,Z)}function D4($,O,Z,T,f){O=H0(Z=$.fields(Z),O),T=n0(T,f=$.fields(f),[]);let j=$.mergeFields(O,T);return j=n0(j,[...Z,...f].sort(),[]),$.dateFromFields(j)}function u3($,O){let{era:Z,eraYear:T,year:f}=O,j=e3($);if(Z!==void 0||T!==void 0){if(Z===void 0||T===void 0)throw TypeError(DJ);if(!j)throw RangeError(XJ);let W=j[Z];if(W===void 0)throw RangeError(UJ(Z));let z=r2(T,W);if(f!==void 0&&f!==z)throw RangeError(FJ);f=z}else if(f===void 0)throw TypeError(GJ(j));return f}function s3($,O,Z,T){let{month:f,monthCode:j}=O;if(j!==void 0){let W=((z,J,C,Y)=>{let D=z.U(C),[X,U]=o2(J),F=YZ(X,U,D);if(U){let G=t2(z);if(G===void 0)throw RangeError(WO);if(G>0){if(F>G)throw RangeError(WO);if(D===void 0){if(Y===1)throw RangeError(WO);F--}}else{if(F!==-G)throw RangeError(WO);if(D===void 0&&Y===1)throw RangeError(WO)}}return F})($,j,Z,T);if(f!==void 0&&f!==W)throw RangeError(r4);f=W,T=1}else if(f===void 0)throw TypeError(KJ);return m0("month",f,1,$.L(Z),T)}function T6($,O,Z,T,f){return N0(O,"day",1,$.j(T,Z),f)}function n3($,O,Z,T){let f=0,j=[];for(let W of Z)O[W]!==void 0?f=1:j.push(W);if(Object.assign($,O),f)for(let W of T||j)delete $[W]}function F4($){return W0(k0(KZ(BZ($))))}function U4($,O,Z,T,f=v){return C0(k0(KZ(BZ(Z))),O(T),$(f))}function G4($,O,Z,T,f=0,j=0,W=0,z=0,J=0,C=0,Y=v){return o(J1(LZ(c0(U0,I$(oZ,[O,Z,T,f,j,W,z,J,C])))),$(Y))}function B4($,O,Z,T,f=v){return r(Q1(h1(c0(U0,{isoYear:O,isoMonth:Z,isoDay:T}))),$(f))}function K4($,O,Z,T=v,f=1){let j=U0(O),W=U0(Z),z=$(T);return p1(UT(h1({isoYear:j,isoMonth:W,isoDay:U0(f)})),z)}function Q4($,O,Z,T=v,f=L$){let j=U0(O),W=U0(Z),z=$(T);return WZ(Q1(h1({isoYear:U0(f),isoMonth:j,isoDay:W})),z)}function V4($=0,O=0,Z=0,T=0,f=0,j=0){return l0(IZ(c0(U0,I$(u0,[$,O,Z,T,f,j])),1))}function L4($=0,O=0,Z=0,T=0,f=0,j=0,W=0,z=0,J=0,C=0){return i(N$(c0(x6,I$(R,[$,O,Z,T,f,j,W,z,J,C]))))}function Lf($,O,Z=v){return C0($.epochNanoseconds,O,Z)}function I4($){return W0($.epochNanoseconds)}function If($,O){return o(Q0(O,$))}function Sf($,O){return r(Q0(O,$))}function S4($,O,Z){return Vf($(O.calendar),Z)}function M4($,O,Z){return Qf($(O.calendar),Z)}function Mf($,O){return l0(Q0(O,$))}function x4($,O,Z,T){let f=((j,W,z,J)=>{let C=QT(J);return P0(j(W),z,C)})($,Z,O,T);return C0(k0(f),Z,O.calendar)}function N4($,O,Z){let T=$(O.calendar);return p1({...O,...Vf(T,Z)})}function _4($,O,Z){return Qf($(O.calendar),Z)}function A4($,O,Z,T,f){let j=$(f.timeZone),W=f.plainTime,z=W!==void 0?O(W):p0;return C0(P0(Z(j),{...T,...z}),j,T.calendar)}function E4($,O=p0){return o(J1({...$,...O}))}function P4($,O,Z){return Vf($(O.calendar),Z)}function H4($,O,Z){return Qf($(O.calendar),Z)}function b4($,O,Z,T){return((f,j,W)=>D4(f,j,J8,z1(W),NO))($(O.calendar),Z,T)}function w4($,O,Z,T){return((f,j,W)=>D4(f,j,C8,z1(W),nZ))($(O.calendar),Z,T)}function v4($,O,Z,T,f){let j=z1(f),W=O(j.plainDate),z=$(j.timeZone);return C0(P0(Z(z),{...W,...T}),z,W.calendar)}function g4($,O){return o(J1({...$,...O}))}function k4($){return W0(k0(Q$($,y0)))}function R4($){return W0(k0(Q$($,o0)))}function m4($){return W0(k0(KZ(BZ($),r1)))}function q4($){return W0(k0(KZ(BZ($))))}function y4($,O,Z=p0){let T=O.timeZone,f=$(T),j={...Q0(O,f),...Z};return C0(u1(f,j,j.offsetNanoseconds,2),T,O.calendar)}function p4($,O,Z){let T=O.timeZone,f=$(T),j={...Q0(O,f),...Z},W=l4(O.calendar,Z.calendar);return C0(u1(f,j,j.offsetNanoseconds,2),T,W)}function c4($,O=p0){return o({...$,...O})}function i4($,O){return o({...$,...O},l4($.calendar,O.calendar))}function hZ($,O){return{...$,calendar:O}}function h4($,O){return{...$,timeZone:O}}function l4($,O){if($===O)return $;let Z=z0($),T=z0(O);if(Z===T||Z===v)return O;if(T===v)return $;throw RangeError(Ef)}function ZJ($,O){return(Z)=>Z===v?$:Z===aZ||Z===V$?Object.assign(Object.create($),{id:Z}):Object.assign(Object.create(O),G7(Z))}function o1($,O,Z){let T=new Set(Z);return(f)=>(((j,W)=>{for(let z of W)if(z in j)return 1;return 0})(f=jT(T,f),$)||Object.assign(f,O),Z&&(f.timeZone=$$,["full","long"].includes(f.timeStyle)&&(f.timeStyle="medium")),f)}function C1($,O=xf){let[Z,,,T]=$;return(f,j=R7,...W)=>{let z=O(T&&T(...W),f,j,Z),J=z.resolvedOptions();return[z,...TJ($,J,W)]}}function xf($,O,Z,T){if(Z=T(Z),$){if(Z.timeZone!==void 0)throw TypeError(PJ);Z.timeZone=$}return new A1(O,Z)}function TJ($,O,Z){let[,T,f]=$;return Z.map((j)=>(j.calendar&&((W,z,J)=>{if((J||W!==v)&&W!==z)throw RangeError(Ef)})(z0(j.calendar),O.calendar,f),T(j,O)))}function P$($){let O=IO();return M1(O,$.getOffsetNanosecondsFor(O))}function IO(){return Q$(Date.now(),o0)}function Y1(){return J6||(J6=new A1().resolvedOptions().timeZone)}var fJ=($,O)=>`Non-integer ${$}: ${O}`,jJ=($,O)=>`Non-positive ${$}: ${O}`,WJ=($,O)=>`Non-finite ${$}: ${O}`,zJ=($)=>`Cannot convert bigint to ${$}`,JJ=($)=>`Invalid bigint: ${$}`,CJ="Cannot convert Symbol to string",d4="Invalid object",u4=($,O,Z,T,f)=>f?u4($,f[O],f[Z],f[T]):SO($,O)+`; must be between ${Z}-${T}`,SO=($,O)=>`Invalid ${$}: ${O}`,Nf=($)=>`Missing ${$}`,_f=($)=>`Invalid field ${$}`,YJ=($)=>`Duplicate field ${$}`,s4=($)=>"No valid fields: "+$.join(),n4="Invalid bag",a4=($,O,Z)=>SO($,O)+"; must be "+Object.keys(Z).join(),o4="Cannot use valueOf",Af="Invalid calling context",XJ="Forbidden era/eraYear",DJ="Mismatching era/eraYear",FJ="Mismatching year/eraYear",UJ=($)=>`Invalid era: ${$}`,GJ=($)=>"Missing year"+($?"/era/eraYear":""),BJ=($)=>`Invalid monthCode: ${$}`,r4="Mismatching month/monthCode",KJ="Missing month/monthCode",f6="Cannot guess year",WO="Invalid leap month",t4="Invalid protocol",MO="Invalid protocol results",Ef="Mismatching Calendars",QJ=($)=>`Invalid Calendar: ${$}`,e4="Mismatching TimeZones",VJ="Forbidden ICU TimeZone",LJ="Out-of-bounds offset",IJ="Out-of-bounds TimeZone gap",SJ="Invalid TimeZone offset",MJ="Ambiguous offset",lZ="Out-of-bounds date",xJ="Out-of-bounds duration",NJ="Cannot mix duration signs",dZ="Missing relativeTo",_J="Cannot use large units",AJ="Required smallestUnit or largestUnit",EJ="smallestUnit > largestUnit",_0=($)=>`Cannot parse: ${$}`,W1=($)=>`Invalid substring: ${$}`,$8=($)=>`Cannot format ${$}`,O8="Mismatching types for formatting",PJ="Cannot specify TimeZone",Z8=w(UO,($,O)=>O),H$=w(UO,($,O,Z)=>Z),q0=w(TZ,2),$T={nanosecond:0,microsecond:1,millisecond:2,second:3,minute:4,hour:5,day:6,week:7,month:8,year:9},xO=Object.keys($T),A0=86400000,T8=1000,r1=1000,o0=1e6,y0=1e9,uZ=60000000000,sZ=3600000000000,q=86400000000000,a0=[1,r1,o0,y0,uZ,sZ,q],X1=xO.slice(0,6),OT=GO(X1),f8=["offset"],j8=["timeZone"],W8=X1.concat(f8),z8=W8.concat(j8),ZT=["era","eraYear"],HJ=ZT.concat(["year"]),nZ=["year"],Pf=["monthCode"],Hf=["month"].concat(Pf),NO=["day"],bf=Hf.concat(nZ),J8=Pf.concat(nZ),d0=NO.concat(bf),bJ=NO.concat(Hf),C8=NO.concat(Pf),Y8=H$(X1,0),v="iso8601",aZ="gregory",V$="japanese",X8={[aZ]:{bce:-1,ce:0},[V$]:{bce:-1,ce:0,meiji:1867,taisho:1911,showa:1925,heisei:1988,reiwa:2018},ethioaa:{era0:0},ethiopic:{era0:0,era1:5500},coptic:{era0:-1,era1:0},roc:{beforeroc:-1,minguo:0},buddhist:{be:0},islamic:{ah:0},indian:{saka:0},persian:{ap:0}},wJ={chinese:13,dangi:13,hebrew:-6},l=w(GZ,"string"),D8=w(GZ,"boolean"),vJ=w(GZ,"number"),F8=w(GZ,"function"),R=xO.map(($)=>$+"s"),wf=GO(R),gJ=R.slice(0,6),U8=R.slice(6),kJ=U8.slice(1),RJ=Z8(R),J0=H$(R,0),vf=H$(gJ,0),gf=w(F6,R),u0=["isoNanosecond","isoMicrosecond","isoMillisecond","isoSecond","isoMinute","isoHour"],kf=["isoDay","isoMonth","isoYear"],oZ=u0.concat(kf),Rf=GO(kf),G8=GO(u0),B8=GO(oZ),p0=H$(G8,0),mJ=w(F6,oZ),A1=Intl.DateTimeFormat,K8="en-GB",mf=1e8,qJ=mf*A0,yJ=[mf,0],pJ=[-mf,0],DO=275760,FO=-271821,cJ=1970,L$=1972,f1=12,iJ=S$(1868,9,8),hJ=E0(h5,WeakMap),XZ="smallestUnit",TT="unit",JO="roundingIncrement",a3="fractionalSecondDigits",Q8="relativeTo",V8={constrain:0,reject:1},lJ=Object.keys(V8),dJ={compatible:0,reject:1,earlier:2,later:3},uJ={reject:0,use:1,prefer:2,ignore:3},sJ={auto:0,never:1,critical:2,always:3},nJ={auto:0,never:1,critical:2},aJ={auto:0,never:1},oJ={floor:0,halfFloor:1,ceil:2,halfCeil:3,trunc:4,halfTrunc:5,expand:6,halfExpand:7,halfEven:8},_O=w(xT,XZ),qf=w(xT,"largestUnit"),rJ=w(xT,TT),L8=w(l1,"overflow",V8),I8=w(l1,"disambiguation",dJ),tJ=w(l1,"offset",uJ),yf=w(l1,"calendarName",sJ),eJ=w(l1,"timeZoneName",nJ),$7=w(l1,"offset",aJ),AO=w(l1,"roundingMode",oJ),b$="PlainYearMonth",w$="PlainMonthDay",t1="PlainDate",e1="PlainDateTime",rZ="PlainTime",D1="ZonedDateTime",tZ="Instant",eZ="Duration",O7=[Math.floor,($)=>rO($)?Math.floor($):Math.round($),Math.ceil,($)=>rO($)?Math.ceil($):Math.round($),Math.trunc,($)=>rO($)?Math.trunc($)||0:Math.round($),($)=>$<0?Math.floor($):Math.ceil($),($)=>Math.sign($)*Math.round(Math.abs($))||0,($)=>rO($)?($=Math.trunc($)||0)+$%2:Math.round($)],$$="UTC",OZ=5184000,Z7=jZ(1847),T7=jZ(new Date().getUTCFullYear()+10),f7=/0+$/,Q0=E0(a5,WeakMap),j6=4294967295,$3=E0(($)=>{let O=Tf($);return typeof O=="object"?new M8(O):new S8(O||0)});class S8{constructor($){this.v=$}getOffsetNanosecondsFor(){return this.v}getPossibleInstantsFor($){return[GT($,this.v)]}l(){}}class M8{constructor($){this.$=((O)=>{function Z(J){let C=o3(J,W,z),[Y,D]=eW(C),X=f(Y),U=f(D);return X===U?X:T(j(Y,D),X,U,J)}function T(J,C,Y,D){let X,U;for(;(D===void 0||(X=D<J[0]?C:D>=J[1]?Y:void 0)===void 0)&&(U=J[1]-J[0]);){let F=J[0]+Math.floor(U/2);O(F)===Y?J[1]=F:J[0]=F+1}return X}let f=E0(O),j=E0(o5),W=Z7,z=T7;return{G(J){let C=Z(J-86400),Y=Z(J+86400),D=J-C,X=J-Y;if(C===Y)return[D];let U=Z(D);return U===Z(X)?[J-U]:C>Y?[D,X]:[]},V:Z,l(J,C){let Y=o3(J,W,z),[D,X]=eW(Y),U=OZ*C,F=C<0?()=>X>W||(W=Y,0):()=>D<z||(z=Y,0);for(;F();){let G=f(D),B=f(X);if(G!==B){let Q=j(D,X);T(Q,G,B);let I=Q[0];if((K1(I,J)||1)===C)return I}D+=U,X+=U}}}})(((O)=>(Z)=>{let T=FT(O,Z*T8);return jZ(u2(T),parseInt(T.month),parseInt(T.day),parseInt(T.hour),parseInt(T.minute),parseInt(T.second))-Z})($))}getOffsetNanosecondsFor($){return this.$.V(A6($))*y0}getPossibleInstantsFor($){let[O,Z]=[jZ((T=$).isoYear,T.isoMonth,T.isoDay,T.isoHour,T.isoMinute,T.isoSecond),T.isoMillisecond*o0+T.isoMicrosecond*r1+T.isoNanosecond];var T;return this.$.G(O).map((f)=>k0(K$(Q$(f,y0),Z)))}l($,O){let[Z,T]=E6($),f=this.$.l(Z+(O>0||T?1:0),O);if(f!==void 0)return Q$(f,y0)}}var pf="([+\u2212-])",ZZ="(?:[.,](\\d{1,9}))?",x8=`(?:(?:${pf}(\\d{6}))|(\\d{4}))-?(\\d{2})`,cf="(\\d{2})(?::?(\\d{2})(?::?(\\d{2})"+ZZ+")?)?",hf=pf+cf,j7=x8+"-?(\\d{2})(?:[T ]"+cf+"(Z|"+hf+")?)?",N8="\\[(!?)([^\\]]*)\\]",O3=`((?:${N8}){0,9})`,W7=E$(x8+O3),z7=E$("(?:--)?(\\d{2})-?(\\d{2})"+O3),J7=E$(j7+O3),C7=E$("T?"+cf+"(?:"+hf+")?"+O3),Y7=E$(hf),X7=new RegExp(N8,"g"),D7=E$(`${pf}?P(\\d+Y)?(\\d+M)?(\\d+W)?(\\d+D)?(?:T(?:(\\d+)${ZZ}H)?(?:(\\d+)${ZZ}M)?(?:(\\d+)${ZZ}S)?)?`),F7=E0(($)=>new A1(K8,{timeZone:$,era:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"})),U7=/^(AC|AE|AG|AR|AS|BE|BS|CA|CN|CS|CT|EA|EC|IE|IS|JS|MI|NE|NS|PL|PN|PR|PS|SS|VS)T$/,G7=E0(e5),lf=E0(($)=>new A1(K8,{calendar:$,timeZone:$$,era:"short",year:"numeric",month:"short",day:"numeric"})),B7=/^M(\d{2})(L?)$/,K7={era:fZ,eraYear:U0,year:U0,month:aW,monthCode:fZ,day:aW},Q7=H$(X1,U0),V7=H$(R,x6),W6=Object.assign({},K7,Q7,V7,{offset:fZ}),L7=w(i5,X1,u0),z6={dateAdd($,O,Z){let T=k(Z),f,{years:j,months:W,weeks:z,days:J}=O;if(J+=f0(O,5)[0],j||W)f=((C,Y,D,X,U)=>{let[F,G,B]=C.h(Y);if(D){let[Q,I]=C.I(F,G);F+=D,G=YZ(Q,I,C.U(F)),G=m0("month",G,1,C.L(F),U)}return X&&([F,G]=C._(F,G,X)),B=m0("day",B,1,C.j(F,G),U),C.q(F,G,B)})(this,$,j,W,T);else{if(!z&&!J)return $;f=K0($)}return f+=(7*z+J)*A0,Q1(VZ(f))},dateUntil($,O,Z){if(Z<=7){let J=0,C=l2({...$,...p0},{...O,...p0});return Z===7&&([J,C]=L1(C,7)),{...J0,weeks:J,days:C}}let T=this.h($),f=this.h(O),[j,W,z]=((J,C,Y,D,X,U,F)=>{let G=X-C,B=U-Y,Q=F-D;if(G||B){let I=Math.sign(G||B),V=J.j(X,U),N=0;if(Math.sign(Q)===-I){let A=V;[X,U]=J._(X,U,-I),G=X-C,B=U-Y,V=J.j(X,U),N=I<0?-A:V}if(Q=F-Math.min(D,V)+N,G){let[A,L]=J.I(C,Y),[S,E]=J.I(X,U);if(B=S-A||Number(E)-Number(L),Math.sign(B)===-I){let P=I<0&&-J.L(X);G=(X-=I)-C,B=U-YZ(A,L,J.U(X))+(P||J.L(X))}}}return[G,B,Q]})(this,...T,...f);return Z===8&&(W+=this.J(j,T[0]),j=0),{...J0,years:j,months:W,days:z}},dateFromFields($,O){let Z=k(O),T=u3(this,$),f=s3(this,$,T,Z),j=T6(this,$,f,T,Z);return r(Q1(this.P(T,f,j)),this.id||v)},yearMonthFromFields($,O){let Z=k(O),T=u3(this,$),f=s3(this,$,T,Z);return p1(UT(this.P(T,f,1)),this.id||v)},monthDayFromFields($,O){let Z=k(O),T=!this.id,{monthCode:f,year:j,month:W}=$,z,J,C,Y,D;if(f!==void 0){[z,J]=o2(f),D=C6($,"day");let X=this.N(z,J,D);if(!X)throw RangeError(f6);if([C,Y]=X,W!==void 0&&W!==Y)throw RangeError(r4);T&&(Y=m0("month",Y,1,f1,1),D=m0("day",D,1,BT(j!==void 0?j:C,Y),Z))}else{C=j===void 0&&T?L$:u3(this,$),Y=s3(this,$,C,Z),D=T6(this,$,Y,C,Z);let X=this.U(C);J=Y===X,z=t3(Y,X);let U=this.N(z,J,D);if(!U)throw RangeError(f6);[C,Y]=U}return WZ(Q1(this.P(C,Y,D)),this.id||v)},fields($){return e3(this)&&$.includes("year")?[...$,...ZT]:$},mergeFields($,O){let Z=Object.assign(Object.create(null),$);return n3(Z,O,Hf),e3(this)&&(n3(Z,O,HJ),this.id===V$&&n3(Z,O,bJ,ZT)),Z},inLeapYear($){let[O]=this.h($);return this.K(O)},monthsInYear($){let[O]=this.h($);return this.L(O)},daysInMonth($){let[O,Z]=this.h($);return this.j(O,Z)},daysInYear($){let[O]=this.h($);return this.X(O)},dayOfYear:Uf,era($){return this.ee($)[0]},eraYear($){return this.ee($)[1]},monthCode($){let[O,Z]=this.h($),[T,f]=this.I(O,Z);return((j,W)=>"M"+q0(j)+(W?"L":""))(T,f)},dayOfWeek:v6,daysInWeek(){return 7}},I7={dayOfYear:Uf,h:H6,q:S$},S7=Object.assign({},I7,{weekOfYear:n2,yearOfWeek:a2,R($){function O(U){return(7-U<T?7:0)-U}function Z(U){let F=w6(X+U),G=U||1,B=O(zO(J+F*G,7));return Y=(F+(B-C)*G)/7}let T=this.id?1:4,f=v6($),j=this.dayOfYear($),W=zO(f-1,7),z=j-1,J=zO(W-z,7),C=O(J),Y,D=Math.floor((z-C)/7)+1,X=$.isoYear;return D?D>Z(0)&&(D=1,X++):(D=Z(-1),X--),[D,X,Y]}}),M7={dayOfYear:Uf,h:r3,q:XO,weekOfYear:n2,yearOfWeek:a2,R(){return[]}},v$=ZJ(Object.assign({},z6,S7,{h:H6,ee($){return this.id===aZ?g6($):this.id===V$?hJ($):[]},I:($,O)=>[O,0],N($,O){if(!O)return[L$,$]},K:KT,U(){},L:b6,J:($)=>$*f1,j:BT,X:w6,P:($,O,Z)=>({isoYear:$,isoMonth:O,isoDay:Z}),q:S$,_:($,O,Z)=>($+=FZ(Z,f1),(O+=zT(Z,f1))<1?($--,O+=f1):O>f1&&($++,O-=f1),[$,O]),year($){return $.isoYear},month($){return $.isoMonth},day:($)=>$.isoDay}),Object.assign({},z6,M7,{h:r3,ee($){let O=this.O($);return[O.era,O.eraYear]},I($,O){let Z=tO.call(this,$);return[t3(O,Z),Z===O]},N($,O,Z){let[T,f,j]=r3.call(this,{isoYear:L$,isoMonth:f1,isoDay:31}),W=tO.call(this,T),z=f===W;(K1($,t3(f,W))||K1(Number(O),Number(z))||K1(Z,j))===1&&T--;for(let J=0;J<100;J++){let C=T-J,Y=tO.call(this,C),D=YZ($,O,Y);if(O===(D===Y)&&Z<=O6.call(this,C,D))return[C,D]}},K($){let O=eO.call(this,$);return O>eO.call(this,$-1)&&O>eO.call(this,$+1)},U:tO,L:$Z,J($,O){let Z=O+$,T=Math.sign($),f=T<0?-1:0,j=0;for(let W=O;W!==Z;W+=T)j+=$Z.call(this,W+f);return j},j:O6,X:eO,P($,O,Z){return VZ(XO.call(this,$,O,Z))},q:XO,_($,O,Z){if(Z){if(O+=Z,!Number.isSafeInteger(O))throw RangeError(lZ);if(Z<0)for(;O<1;)O+=$Z.call(this,--$);else{let T;for(;O>(T=$Z.call(this,$));)O-=T,$++}}return[$,O]},year($){return this.O($).year},month($){let{year:O,F:Z}=this.O($),{C:T}=this.B(O);return T[Z]+1},day($){return this.O($).day}})),V1="numeric",g$=["timeZoneName"],_8={month:V1,day:V1},df={year:V1,month:V1},uf=Object.assign({},df,{day:V1}),sf={hour:V1,minute:V1,second:V1},nf=Object.assign({},uf,sf),x7=Object.assign({},nf,{timeZoneName:"short"}),N7=Object.keys(df),_7=Object.keys(_8),A7=Object.keys(uf),E7=Object.keys(sf),af=["dateStyle"],P7=N7.concat(af),H7=_7.concat(af),of=A7.concat(af,["weekday"]),EO=E7.concat(["dayPeriod","timeStyle"]),rf=of.concat(EO),b7=rf.concat(g$),w7=g$.concat(EO),v7=g$.concat(of),g7=g$.concat(["day","weekday"],EO),k7=g$.concat(["year","weekday"],EO),R7={},tf=[o1(rf,nf),xZ],A8=[o1(b7,x7),xZ,0,($,O)=>{let Z=z0($.timeZone);if(O&&z0(O.timeZone)!==Z)throw RangeError(e4);return Z}],ef=[o1(rf,nf,g$),K0],$j=[o1(of,uf,w7),K0],Oj=[o1(EO,sf,v7),($)=>I1($)/o0],Zj=[o1(P7,df,g7),K0,1],Tj=[o1(H7,_8,k7),K0,1],J6;function e0($,O,Z,T,f){function j(...J){if(!(this instanceof j))throw TypeError(Af);b8(this,O(...J))}function W(J,C){return Object.defineProperties(function(...Y){return J.call(this,z(this),...Y)},fT(C))}function z(J){let C=D0(J);if(!C||C.branding!==$)throw TypeError(Af);return C}return Object.defineProperties(j.prototype,{...Y6(c0(W,Z)),...i1(c0(W,T)),...DZ("Temporal."+$)}),Object.defineProperties(j,{...i1(f),...fT($)}),[j,(J)=>{let C=Object.create(j.prototype);return b8(C,J),C},z]}function g8($){return $=$.concat("id").sort(),(O)=>{if(!X6(O,$))throw TypeError(t4);return O}}function q$($){if(D0($)||$.calendar!==void 0||$.timeZone!==void 0)throw TypeError(n4);return $}function Z3($,O){let Z={};for(let T in $)Z[T]=({o:f},j)=>{let W=D0(j)||{},{branding:z}=W,J=z===t1||O.includes(z)?W:I0(j);return f[T](J)};return Z}function Wj($){let O={};for(let Z in $)O[Z]=(T)=>{let{calendar:f}=T;return(j=f,typeof j=="string"?v$(j):(W=j,Object.assign(Object.create(t7),{i:W})))[Z](T);var j,W};return O}function w1(){throw TypeError(o4)}function HO({calendar:$}){return typeof $=="string"?new Gj($):$}function E8($,O){if(O=a(O),j0($)){let T=D0($);if(T&&T.branding===w$)return k(O),T;let f=m8($);return Kf(C3(f||v),!f,$,O)}let Z=L2(v$,$);return k(O),Z}function k8($,O,Z){return T=O.call($,L0(W0(Z))),qT(BO(T));var T}function T3($,O=c8){let Z=Object.keys(O).sort(),T={};for(let f of Z)T[f]=w(O[f],$,F8($[f]));return T}function y($,O){return typeof $=="string"?$3($):T3($,O)}function e($){return y($,jj)}function r0($){if(j0($)){let O=D0($);if(O)switch(O.branding){case tZ:return O;case D1:return W0(O.epochNanoseconds)}}return G2($)}function P8($,O,Z){let T=O.l(r0(Z).epochNanoseconds,$);return T?L0(W0(T)):null}function c($){return j0($)?(D0($)||{}).timeZone||fC($):((O)=>mZ(x2(l(O))))($)}function E1($,O){if(j0($)){let Z=D0($)||{};switch(Z.branding){case rZ:return k(O),Z;case e1:return k(O),l0(Z);case D1:return k(O),Mf(e,Z)}return T4($,O)}return k(O),I2($)}function zj($){return $===void 0?void 0:E1($)}function k$($,O){if(O=a(O),j0($)){let T=D0($);return T&&T.branding===b$?(k(O),T):Bf(z3(bO($)),$,O)}let Z=V2(v$,$);return k(O),Z}function P1($,O){if(O=a(O),j0($)){let T=D0($)||{};switch(T.branding){case e1:return k(O),T;case t1:return k(O),o({...T,...p0});case D1:return k(O),If(e,T)}return Z4(J3(bO($)),$,O)}let Z=Q2($);return k(O),Z}function I0($,O){if(O=a(O),j0($)){let T=D0($)||{};switch(T.branding){case t1:return k(O),T;case e1:return k(O),r(T);case D1:return k(O),Sf(e,T)}return Gf(J3(bO($)),$,O)}let Z=kZ($);return k(O),Z}function R8($,O,Z){return i0(O.call($,u(r(Z,$))))}function $1($){return(O)=>typeof O=="string"?v$(O):((Z,T)=>{let f=Object.keys(T).sort(),j={};for(let W of f)j[W]=w(T[W],Z,Z[W]);return j})(O,$)}function d($){if(j0($)){let O=D0($);return O&&O.branding===eZ?O:f4($)}return S2($)}function PO($){if($!==void 0){if(j0($)){let O=D0($)||{};switch(O.branding){case D1:case t1:return O;case e1:return r(O)}let Z=bO($);return{...$4(c,y,J3(Z),$),calendar:Z}}return B2($)}}function bO($){return m8($)||v}function m8($){let{calendar:O}=$;if(O!==void 0)return X0(O)}function X0($){return j0($)?(D0($)||{}).calendar||VC($):((O)=>VO(M2(l(O))))($)}function R$($,O){if(O=a(O),j0($)){let Z=D0($);if(Z&&Z.branding===D1)return KO(O),Z;let T=bO($);return O4(c,y,J3(T),T,$,O)}return K2($,O)}function H8($){return c0((O)=>(Z)=>O(fj(Z)),$)}function fj($){return Q0($,e)}function m7(){let $=A1.prototype,O=Object.getOwnPropertyDescriptors($),Z=Object.getOwnPropertyDescriptors(A1),T=function(f,j={}){if(!(this instanceof T))return new T(f,j);Bj.set(this,((W,z={})=>{let J=new A1(W,z),C=J.resolvedOptions(),Y=C.locale,D=H0(Object.keys(z),C),X=E0(p7),U=(...F)=>{let G,B=F.map((Q,I)=>{let V=D0(Q),N=(V||{}).branding;if(I&&G&&G!==N)throw TypeError(O8);return G=N,V});return G?X(G)(Y,D,...B):[J,...F]};return U.u=J,U})(f,j))};for(let f in O){let j=O[f],W=f.startsWith("format")&&q7(f);typeof j.value=="function"?j.value=f==="constructor"?T:W||y7(f):W&&(j.get=function(){return W.bind(this)})}return Z.prototype.value=Object.create($,O),Object.defineProperties(T,Z),T}function q7($){return function(...O){let Z=Bj.get(this),[T,...f]=Z(...O);return T[$](...f)}}function y7($){return function(...O){return Bj.get(this).u[$](...O)}}function p7($){let O=c7[$];if(!O)throw TypeError($8($));return C1(O,E0(xf))}var c7={Instant:tf,PlainDateTime:ef,PlainDate:$j,PlainTime:Oj,PlainYearMonth:Zj,PlainMonthDay:Tj},i7=C1(tf),h7=C1(A8),l7=C1(ef),d7=C1($j),u7=C1(Oj),s7=C1(Zj),n7=C1(Tj),Jj={era:Q6,eraYear:JT,year:BO,month:i0,daysInMonth:i0,daysInYear:i0,inLeapYear:D8,monthsInYear:i0},j3={monthCode:l},Cj={day:i0},q8={dayOfWeek:i0,dayOfYear:i0,weekOfYear:V6,yearOfWeek:JT,daysInWeek:i0},y8=Object.assign({},Jj,j3,Cj,q8),f3=new WeakMap,D0=f3.get.bind(f3),b8=f3.set.bind(f3),a7={...Z3(Jj,[b$]),...Z3(q8,[]),...Z3(j3,[b$,w$]),...Z3(Cj,[w$])},Yj=Wj(y8),o7=Wj({...Jj,...j3}),r7=Wj({...j3,...Cj}),wO={calendarId:($)=>z0($.calendar)},t7=c0(($,O)=>function(Z){let{i:T}=this;return $(T[O](u(r(Z,T))))},y8),e7=UO(($)=>(O)=>O[$],R.concat("sign")),Xj=UO(($,O)=>(Z)=>Z[u0[O]],X1),p8={epochSeconds:c6,epochMilliseconds:xZ,epochMicroseconds:i6,epochNanoseconds:h6},vO=w(jT,new Set(["branding"])),[$C,m$,OC]=e0(w$,w(Q4,X0),{...wO,...r7},{getISOFields:vO,getCalendar:HO,with($,O,Z){return m$(C4(BC,$,this,q$(O),Z))},equals:($,O)=>q2($,E8(O)),toPlainDate($,O){return u(w4(gO,$,this,O))},toLocaleString($,O,Z){let[T,f]=n7(O,Z,$);return T.format(f)},toString:vT,toJSON:($)=>vT($),valueOf:w1},{from:($,O)=>m$(E8($,O))}),c8={getOffsetNanosecondsFor:k8,getPossibleInstantsFor($,O,Z){let T=[...O.call($,Y0(o(Z,v)))].map((j)=>TC(j).epochNanoseconds),f=T.length;return f>1&&(T.sort(B0),yT(g0(v0(T[0],T[f-1])))),T}},jj={getOffsetNanosecondsFor:k8},[ZC,L0,TC]=e0(tZ,F4,p8,{add:($,O)=>L0(pT(0,$,d(O))),subtract:($,O)=>L0(pT(1,$,d(O))),until:($,O,Z)=>p(zf(0,$,r0(O),Z)),since:($,O,Z)=>p(zf(1,$,r0(O),Z)),round:($,O)=>L0(u6($,O)),equals:($,O)=>v2($,r0(O)),toZonedDateTime($,O){let Z=z1(O);return t(Lf($,c(Z.timeZone),X0(Z.calendar)))},toZonedDateTimeISO:($,O)=>t(Lf($,c(O))),toLocaleString($,O,Z){let[T,f]=i7(O,Z,$);return T.format(f)},toString:($,O)=>ET(c,e,$,O),toJSON:($)=>ET(c,e,$),valueOf:w1},{from:($)=>L0(r0($)),fromEpochSeconds:($)=>L0(k4($)),fromEpochMilliseconds:($)=>L0(R4($)),fromEpochMicroseconds:($)=>L0(m4($)),fromEpochNanoseconds:($)=>L0(q4($)),compare:($,O)=>ff(r0($),r0(O))}),[W3,P9]=e0("TimeZone",($)=>{let O=b2($);return{branding:"TimeZone",id:O,o:$3(O)}},{id:($)=>$.id},{getPossibleInstantsFor:({o:$},O)=>$.getPossibleInstantsFor(P1(O)).map((Z)=>L0(W0(Z))),getOffsetNanosecondsFor:({o:$},O)=>$.getOffsetNanosecondsFor(r0(O).epochNanoseconds),getOffsetStringFor($,O){let Z=r0(O).epochNanoseconds,T=T3(this,jj).getOffsetNanosecondsFor(Z);return d1(T)},getPlainDateTimeFor($,O,Z=v){let T=r0(O).epochNanoseconds,f=T3(this,jj).getOffsetNanosecondsFor(T);return Y0(o(M1(T,f),X0(Z)))},getInstantFor($,O,Z){let T=P1(O),f=QT(Z),j=T3(this);return L0(W0(P0(j,T,f)))},getNextTransition:({o:$},O)=>P8(1,$,O),getPreviousTransition:({o:$},O)=>P8(-1,$,O),equals($,O){return!!yZ(this,c(O))},toString:($)=>$.id,toJSON:($)=>$.id},{from($){let O=c($);return typeof O=="string"?new W3(O):O}}),fC=g8(Object.keys(c8)),[jC,H1]=e0(rZ,V4,Xj,{getISOFields:vO,with($,O,Z){return H1(Y4(this,q$(O),Z))},add:($,O)=>H1(dT(0,$,d(O))),subtract:($,O)=>H1(dT(1,$,d(O))),until:($,O,Z)=>p(Df(0,$,E1(O),Z)),since:($,O,Z)=>p(Df(1,$,E1(O),Z)),round:($,O)=>H1(a6($,O)),equals:($,O)=>y2($,E1(O)),toZonedDateTime:($,O)=>t(v4(c,I0,y,$,O)),toPlainDateTime:($,O)=>Y0(g4($,I0(O))),toLocaleString($,O,Z){let[T,f]=u7(O,Z,$);return T.format(f)},toString:gT,toJSON:($)=>gT($),valueOf:w1},{from:($,O)=>H1(E1($,O)),compare:($,O)=>qZ(E1($),E1(O))}),[WC,b1,zC]=e0(b$,w(K4,X0),{...wO,...o7},{getISOFields:vO,getCalendar:HO,with($,O,Z){return b1(J4(GC,$,this,q$(O),Z))},add:($,O,Z)=>b1(lT(w8,0,$,d(O),Z)),subtract:($,O,Z)=>b1(lT(w8,1,$,d(O),Z)),until:($,O,Z)=>p(Xf(v8,0,$,k$(O),Z)),since:($,O,Z)=>p(Xf(v8,1,$,k$(O),Z)),equals:($,O)=>m2($,k$(O)),toPlainDate($,O){return u(b4(gO,$,this,O))},toLocaleString($,O,Z){let[T,f]=s7(O,Z,$);return T.format(f)},toString:wT,toJSON:($)=>wT($),valueOf:w1},{from:($,O)=>b1(k$($,O)),compare:($,O)=>n1(k$($),k$(O))}),[JC,Y0]=e0(e1,w(G4,X0),{...wO,...Yj,...Xj},{getISOFields:vO,getCalendar:HO,with($,O,Z){return Y0(W4(gO,$,this,q$(O),Z))},withCalendar:($,O)=>Y0(hZ($,X0(O))),withPlainDate:($,O)=>Y0(i4($,I0(O))),withPlainTime:($,O)=>Y0(c4($,zj(O))),add:($,O,Z)=>Y0(iT(O$,0,$,d(O),Z)),subtract:($,O,Z)=>Y0(iT(O$,1,$,d(O),Z)),until:($,O,Z)=>p(Cf(t0,0,$,P1(O),Z)),since:($,O,Z)=>p(Cf(t0,1,$,P1(O),Z)),round:($,O)=>Y0(n6($,O)),equals:($,O)=>k2($,P1(O)),toZonedDateTime:($,O,Z)=>t(x4(y,$,c(O),Z)),toPlainDate:($)=>u(r($)),toPlainTime:($)=>H1(l0($)),toPlainYearMonth($){return b1(N4(z3,$,this))},toPlainMonthDay($){return m$(_4(C3,$,this))},toLocaleString($,O,Z){let[T,f]=l7(O,Z,$);return T.format(f)},toString:HT,toJSON:($)=>HT($),valueOf:w1},{from:($,O)=>Y0(P1($,O)),compare:($,O)=>Wf(P1($),P1(O))}),[CC,u,i8]=e0(t1,w(B4,X0),{...wO,...Yj},{getISOFields:vO,getCalendar:HO,with($,O,Z){return u(z4(gO,$,this,q$(O),Z))},withCalendar:($,O)=>u(hZ($,X0(O))),add:($,O,Z)=>u(hT(O$,0,$,d(O),Z)),subtract:($,O,Z)=>u(hT(O$,1,$,d(O),Z)),until:($,O,Z)=>p(Yf(t0,0,$,I0(O),Z)),since:($,O,Z)=>p(Yf(t0,1,$,I0(O),Z)),equals:($,O)=>R2($,I0(O)),toZonedDateTime($,O){let Z=!j0(O)||O instanceof W3?{timeZone:O}:O;return t(A4(c,E1,y,$,Z))},toPlainDateTime:($,O)=>Y0(E4($,zj(O))),toPlainYearMonth($){return b1(P4(z3,$,this))},toPlainMonthDay($){return m$(H4(C3,$,this))},toLocaleString($,O,Z){let[T,f]=d7(O,Z,$);return T.format(f)},toString:bT,toJSON:($)=>bT($),valueOf:w1},{from:($,O)=>u(I0($,O)),compare:($,O)=>n1(I0($),I0(O))}),Dj={fields($,O,Z){return[...O.call($,Z)]}},h8=Object.assign({dateFromFields($,O,Z,T){return i8(O.call($,Object.assign(Object.create(null),Z),T))}},Dj),l8=Object.assign({yearMonthFromFields($,O,Z,T){return zC(O.call($,Object.assign(Object.create(null),Z),T))}},Dj),d8=Object.assign({monthDayFromFields($,O,Z,T){return OC(O.call($,Object.assign(Object.create(null),Z),T))}},Dj),Fj={mergeFields($,O,Z,T){return z1(O.call($,Object.assign(Object.create(null),Z),Object.assign(Object.create(null),T)))}},YC=Object.assign({},h8,Fj),XC=Object.assign({},l8,Fj),DC=Object.assign({},d8,Fj),Uj={dateAdd($,O,Z,T,f){return i8(O.call($,u(r(Z,$)),p(i(T)),f))}},u8=Object.assign({},Uj,{dateUntil($,O,Z,T,f,j){return QC(O.call($,u(r(Z,$)),u(r(T,$)),Object.assign(Object.create(null),j,{largestUnit:xO[f]})))}}),FC=Object.assign({},Uj,{day:R8}),UC=Object.assign({},u8,{day:R8}),z3=$1(l8),J3=$1(h8),C3=$1(d8),GC=$1(XC),gO=$1(YC),BC=$1(DC),O$=$1(Uj),t0=$1(u8),w8=$1(FC),v8=$1(UC),[KC,p,QC]=e0(eZ,L4,{...e7,blank:D2},{with:($,O)=>p(X4($,O)),negated:($)=>p(vZ($)),abs:($)=>p(X2($)),add:($,O,Z)=>p(oT(PO,t0,y,0,$,d(O),Z)),subtract:($,O,Z)=>p(oT(PO,t0,y,1,$,d(O),Z)),round:($,O)=>p(Y2(PO,t0,y,$,O)),total:($,O)=>d6(PO,t0,y,$,O),toLocaleString($,O,Z){return Intl.DurationFormat?new Intl.DurationFormat(O,Z).format(this):EZ($)},toString:EZ,toJSON:($)=>EZ($),valueOf:w1},{from:($)=>p(d($)),compare:($,O,Z)=>w2(PO,O$,y,d($),d(O),Z)}),s8={toString:($)=>$.id,toJSON:($)=>$.id,...a7,dateAdd:({id:$,o:O},Z,T,f)=>u(r(O.dateAdd(I0(Z),d(T),f),$)),dateUntil:({o:$},O,Z,T)=>p(i($.dateUntil(I0(O),I0(Z),R6(T)))),dateFromFields:({id:$,o:O},Z,T)=>u(Gf(O,Z,T,K6($))),yearMonthFromFields:({id:$,o:O},Z,T)=>b1(Bf(O,Z,T,G6($))),monthDayFromFields:({id:$,o:O},Z,T)=>m$(Kf(O,0,Z,T,B6($))),fields({o:$},O){let Z=new Set(d0),T=[];for(let f of O){if(l(f),!Z.has(f))throw RangeError(_f(f));Z.delete(f),T.push(f)}return $.fields(T)},mergeFields:({o:$},O,Z)=>$.mergeFields(WT(CT(O)),WT(CT(Z)))},[Gj]=e0("Calendar",($)=>{let O=s2($);return{branding:"Calendar",id:O,o:v$(O)}},{id:($)=>$.id},s8,{from($){let O=X0($);return typeof O=="string"?new Gj(O):O}}),VC=g8(Object.keys(s8).slice(4)),[LC,t]=e0(D1,w(U4,X0,c),{...p8,...wO,...H8(Yj),...H8(Xj),offset:($)=>d1(fj($).offsetNanoseconds),offsetNanoseconds:($)=>fj($).offsetNanoseconds,timeZoneId:($)=>z0($.timeZone),hoursInDay:($)=>o6(y,$)},{getISOFields:($)=>J2(e,$),getCalendar:HO,getTimeZone:({timeZone:$})=>typeof $=="string"?new W3($):$,with($,O,Z){return t(j4(gO,y,$,this,q$(O),Z))},withCalendar:($,O)=>t(hZ($,X0(O))),withTimeZone:($,O)=>t(h4($,c(O))),withPlainDate:($,O)=>t(p4(y,$,I0(O))),withPlainTime:($,O)=>t(y4(y,$,zj(O))),add:($,O,Z)=>t(cT(O$,y,0,$,d(O),Z)),subtract:($,O,Z)=>t(cT(O$,y,1,$,d(O),Z)),until:($,O,Z)=>p(i(Jf(t0,y,0,$,R$(O),Z))),since:($,O,Z)=>p(i(Jf(t0,y,1,$,R$(O),Z))),round:($,O)=>t(s6(y,$,O)),startOfDay:($)=>t(r6(y,$)),equals:($,O)=>g2($,R$(O)),toInstant:($)=>L0(I4($)),toPlainDateTime:($)=>Y0(If(e,$)),toPlainDate:($)=>u(Sf(e,$)),toPlainTime:($)=>H1(Mf(e,$)),toPlainYearMonth($){return b1(S4(z3,$,this))},toPlainMonthDay($){return m$(M4(C3,$,this))},toLocaleString($,O,Z={}){let[T,f]=h7(O,Z,$);return T.format(f)},toString:($,O)=>PT(e,$,O),toJSON:($)=>PT(e,$),valueOf:w1},{from:($,O)=>t(R$($,O)),compare:($,O)=>jf(R$($),R$(O))}),IC=Object.defineProperties({},{...DZ("Temporal.Now"),...i1({timeZoneId:()=>Y1(),instant:()=>L0(W0(IO())),zonedDateTime:($,O=Y1())=>t(C0(IO(),c(O),X0($))),zonedDateTimeISO:($=Y1())=>t(C0(IO(),c($),v)),plainDateTime:($,O=Y1())=>Y0(o(P$(e(c(O))),X0($))),plainDateTimeISO:($=Y1())=>Y0(o(P$(e(c($))),v)),plainDate:($,O=Y1())=>u(r(P$(e(c(O))),X0($))),plainDateISO:($=Y1())=>u(r(P$(e(c($))),v)),plainTimeISO:($=Y1())=>H1(l0(P$(e(c($)))))})}),y$=Object.defineProperties({},{...DZ("Temporal"),...i1({PlainYearMonth:WC,PlainMonthDay:$C,PlainDate:CC,PlainTime:jC,PlainDateTime:JC,ZonedDateTime:LC,Instant:ZC,Calendar:Gj,TimeZone:W3,Duration:KC,Now:IC})}),SC=m7(),Bj=new WeakMap,MC=Object.defineProperties(Object.create(Intl),i1({DateTimeFormat:SC}));var Kj=new WeakMap;function NC($){let O=Kj.get($);if(!O)O=$(xC(32).toString("hex")),Kj.set($,O),O.catch(()=>Kj.delete($));return O}async function Qj($,O,Z){if(typeof Z==="string"&&Z!=="")return await $.verifyPassword(O,Z);try{await $.verifyPassword(O,await NC($.hashPassword))}catch{}return!1}var Vj="intended_url";class Lj extends _{schema={email:{required:"Email is required",string:"Invalid email",email:"Invalid email"},password:{required:"Password is required"}}}class n8 extends _{schema={email:{required:"Email is required",email:"Invalid email"}}}class a8 extends _{schema={password:{required:"Password is required",password:"Invalid password"}}}class $0 extends m3{async me(){let $=await Z$.user();if(!$)throw new q3;return $}async verifyEmail($=new _){let O=await $.input(),{userProvider:Z}=K(b),T=await Z.findUserByVerificationToken(O.get("token"));if(!T)return{email:null};return await Z.verifyUser(T.email),{email:T.email}}async signInWithMagicLink($=new _){let O=K(b),{userProvider:Z}=O,T=$.search.get("token"),f=decodeURIComponent($.search.get("email")).toLowerCase().trim(),j=null;try{j=await Z.findUserMagicLinkToken({email:f,token:T})}catch(z){return console.log(z),{error:JSON.stringify(z)}}if(!j)return{error:"Invalid token"};await Z.verifyUser(f),await Z.deleteMagicLinkToken(f);let W=await O.createOrUpdateSession({email:f});return $.ctx().setCookie("access_token",W.token,K(b).accessTokenCookieOptions($,W.expiresAt)),await O.config.onSignIn(W,$.search.toJSON()),{session:W}}async signInWithPinV2($=new _){let O=K(b),{userProvider:Z}=O,T=await $.input(),{email:f,pin:j}=T.toJSON(),W=f.toLowerCase().trim();if(!await Z.findUserMagicLinkToken({email:W,pin:j}))throw new R0({pin:["Invalid pin"]});await Z.deleteMagicLinkToken(W),await Z.verifyUser(W);let J=await O.createOrUpdateSessionV2({email:W});return $.ctx().setCookie("access_token",J.token,K(b).accessTokenCookieOptions($,J.expiresAt)),await O.config.onSignIn(J,$.search.toJSON()),J}async signInWithPin($=new _){let O=K(b),{userProvider:Z}=O,T=await $.input(),{email:f,pin:j}=T.toJSON(),W=f.toLowerCase().trim();if(!await Z.findUserMagicLinkToken({email:W,pin:j}))throw new R0({pin:["Invalid pin"]});await Z.deleteMagicLinkToken(W),await Z.verifyUser(W);let J=await O.createOrUpdateSession({email:W});return $.ctx().setCookie("access_token",J.token,K(b).accessTokenCookieOptions($,J.expiresAt)),await O.config.onSignIn(J,$.search.toJSON()),{session:J}}async signInV2($=new Lj){let O=await $.input(),{email:Z,password:T}=O.toJSON(),f=Z.toLowerCase().trim(),j=K(b),W=await j.userProvider.findUserByEmailAddress(f,j.config.verifyEmail),z=await Qj(j.config,T,W?.password);if(!W||!z)throw new R0({invalid_credentials:["Invalid credentials"]});let J=await j.createOrUpdateSessionV2({email:W.email,id:W.id});$.ctx().setCookie("access_token",J.token,K(b).accessTokenCookieOptions($,J.expiresAt)),await j.config.onSignIn(W,$.search.toJSON());let{password:C,...Y}=W;return Y}async signIn($=new Lj){let O=await $.input(),{email:Z,password:T}=O.toJSON(),f=Z.toLowerCase().trim(),j=K(b),W=await j.userProvider.findUserByEmailAddress(f,j.config.verifyEmail),z=await Qj(j.config,T,W?.password);if(!W||!z)throw new R0({invalid_credentials:["Invalid credentials"]});let J=await j.createOrUpdateSession({email:W.email,id:W.id});$.ctx().setCookie("access_token",J.token,K(b).accessTokenCookieOptions($,J.expiresAt)),await j.config.onSignIn(W,$.search.toJSON());let{password:C,...Y}=W;return Y}async signUp(){let $=K(b),{userProvider:O,config:Z}=$,T=new Z.signUpRequest,f=await T.input(),{email:j,password:W,name:z,invitationId:J}=f.toJSON(),C=j.toLowerCase().trim();if(await O.findUserByEmailAddress(C,!1))throw new R0({email:["Email address already exists"]});let D=await Z.hashPassword(W),X=K(n).detectLocale(T),U;if(J)U=await O.findInvitation(J,C);let F,G="";if(U)F=await O.transaction(async()=>{await O.deleteInvitationById(J);let B=await O.createUser({email:C,name:z,password:D,emailVerifiedAt:new Date,locale:X});return await O.createAccount({organizationId:U.organizationId,userId:B.id,organizationRole:U.role}),await Z.onUserCreated(B),B});else G=await Z.generateEmailVerificationToken(C),F=await O.transaction(async()=>{let B=await O.createUser({email:C,name:z,password:D,verificationToken:G,locale:X});return await Z.onUserCreated(B),B});return await Z.onSignUp(F,G,T.search.toJSON()),F}async signOut($=new _){let O=$.cookies.get("access_token")??$.headers.get("access_token"),Z=K(b),{config:T}=Z,f=await Z.revokeSession(O,$.headers.get("User-Agent"));if($.ctx().setCookie("access_token","",K(b).accessTokenCookieOptions($,new Date(0))),K(b).cookieDomain($))$.ctx().setCookie("access_token","",{...K(b).accessTokenCookieOptions($,new Date(0)),domain:void 0});if(f?.user)f.user.extension=await T.extendSession(f.user),await T.onSignOut(f.user);return{}}async forgotPassword($=new n8){let Z=(await $.input()).get("email").toLowerCase().trim(),{userProvider:T,config:f}=K(b),j=await T.findUserByEmailAddress(Z,f.verifyEmail);if(!j)return{};let W=await f.generateForgotPasswordToken(j);return await T.createPasswordResetToken({user:j,token:W}),await f.onForgotPassword(j,W),{}}async resetPassword($=new a8){let{userProvider:O,config:Z}=K(b),T=await $.input(),{password:f,token:j}=T.toJSON(),W=await O.findPasswordResetToken({token:j});if(!W)throw new R0({token:["Invalid token"]});if(y$.Instant.from(W.createdAt.toISOString()).add({hours:24}).until(y$.Now.instant()).sign>=0)throw new R0({token:["Token expired"]});await O.deletePasswordResetToken({token:j});let J=await O.findUserByEmailAddress(W.user.email,Z.verifyEmail);if(!J)throw new R0({email:["User not found"]});let C=await Z.hashPassword(f);return await O.updateUserPassword({id:J.id,password:C}),await O.deleteAllUserSessions(J.id),await Z.onResetPassword(J),{}}async changePassword($=new _){let{userProvider:O,config:Z}=K(b),T=await Z$.user(),f=await $.input(),{oldPassword:j,newPassword:W}=f.toJSON(),z=await O.findUserByEmailAddress(T.email,Z.verifyEmail);if(!await Qj(Z,j,z?.password))throw new R0({oldPassword:["Incorrect password"]});let C=await Z.hashPassword(W);return await O.updateUserPassword({id:T.id,password:C}),await O.deleteAllUserSessions(T.id),{}}async oauthRedirect($=new _){let{provider:O}=$.params,Z=K(b).config.oauthProviders[O];if(!Z)throw Error(`Invalid provider: ${O}`);let T=ZO($.search.get(F$),"");if(T)$.ctx().setCookie(Vj,encodeURIComponent(T),{httpOnly:!0,sameSite:"Lax",secure:PW($.rawRequest),maxAge:600});return{destination:await Z.getRedirectUrl($)}}async oauthCallback($=new _){let{provider:O}=$.params,Z=K(b),{userProvider:T,config:f}=Z,j=f.oauthProviders[O],{email:W,name:z,username:J,providerId:C}=await j.onCallback($),Y=C?await T.findUserBySocialAccount(O,C):null,D="signin";if(!Y){if(!W)return console.error("Authentication error: No email returned from OAuth provider callback"),{session:null};let G=K(n).detectLocale($);try{let B=await this.linkOAuthAccount({provider:O,providerId:C,email:W,name:z,username:J,locale:G});if(B)Y=B.user,D=B.action}catch(B){let Q=C?await T.findUserBySocialAccount(O,C):null;if(!Q)throw B;Y=Q}if(!Y)return{session:null}}let X=await Z.createOrUpdateSessionV2({email:Y.email,id:Y.id});if($.ctx().setCookie("access_token",X.token,K(b).accessTokenCookieOptions($,X.expiresAt)),D==="signup")await f.onSignUp(Y,"",$.search.toJSON());else await f.onSignIn(Y,$.search.toJSON());let U=$.cookies.get(Vj),F=f.redirectPath;if(U){try{F=ZO(decodeURIComponent(U),F)}catch{}$.ctx().setCookie(Vj,"",{maxAge:-1})}return{session:X,redirectTo:F}}async linkOAuthAccount($){let{provider:O,providerId:Z,email:T,name:f,username:j,locale:W}=$,{userProvider:z,config:J}=K(b),C=(X)=>({provider:O,userId:X,email:T,username:j,providerId:Z,expiresAt:new Date,accessToken:"",refreshToken:""}),Y=await z.findUserByEmailAddress(T,!1);if(Y){if(!Z)return{user:Y,action:"signin"};let X=await z.findSocialAccounts(Y.id,O);if(X.some((F)=>F.providerId===Z))return{user:Y,action:"signin"};if(X.some((F)=>F.providerId))return console.error(`Authentication error: user ${Y.id} is already linked to a different ${O} account`),null;let U=X[0];if(U){if(!await z.claimSocialAccount(U,Z))throw Error(`${O} account link changed concurrently`)}else await z.createSocialAccount(C(Y.id));return{user:Y,action:"signin"}}return{user:await z.transaction(async()=>{let X=await z.createUser({email:T,name:f,locale:W,emailVerifiedAt:new Date});if(Z)await z.createSocialAccount(C(X.id));return await J.onUserCreated(X),X}),action:"signup"}}async createMagicLinkToken($=new _){let Z=(await $.input()).get("email").toLowerCase().trim(),T=K(b),{user:f,pin:j,token:W}=await T.createMagicLinkToken(Z);if(f)return await T.config.onMagicLinkCreated(f,{email:Z,pin:j,token:W}),{email:Z};return{email:null}}}class o8 extends B1{middlewares=["cache:private"];routes={"/:provider":this.view("_Redirect",[$0,"oauthRedirect"]),"/:provider/callback":this.view("auth/OauthCallback",[$0,"oauthCallback"])}}class Ij extends B1{middlewares=["cache:private"];routes={"/sign-in/magic-link":this.view("auth/MagicLinkSignIn",[$0,"signInWithMagicLink"]),"/oauth":o8}}class Sj extends x0{middlewares=["cache:private"];routes={"/sign-in":this.post($0,"signIn"),"/sign-in-v2":this.post($0,"signInV2"),"/sign-up":this.post($0,"signUp"),"/sign-out":this.post($0,"signOut"),"/forgot-password":this.post($0,"forgotPassword"),"/reset-password":this.post($0,"resetPassword"),"/change-password":this.post($0,"changePassword"),"/verify-email":this.post($0,"verifyEmail"),"/me":this.get($0,"me").middleware(["auth"]),"/magic-link":this.post($0,"createMagicLinkToken"),"/sign-in-with-pin":this.post($0,"signInWithPin"),"/sign-in-with-pin-v2":this.post($0,"signInWithPinV2")}}class Mj extends x0{middlewares=["cache:private,0,no-store"];routes={"/set-locale/:locale":this.get(async()=>{let O=new _().params.locale;return await K(n).onLocaleChange(O),{locale:O}}),"/translations/:locale/:scope*":this.get(async()=>{let $=new _,O=`/${$.params.scope??""}`,Z=$.params.locale,T=K(n),f=Z??T.detectLocale($),j=T.getPageTranslations(f,O);return $.ctx().setCookie("i18n-locale",f,{expires:new Date(Date.now()+31536000000)}),{[f]:j}})}}class xj{}class Nj extends xj{async resize($,O){let{height:Z,width:T,quality:f,fit:j}=O;return await(await Y3("The Sharp image optimization driver"))($).resize(T>0?T:void 0,Z>0?Z:void 0,{fit:j}).webp({quality:f>0?f:80,force:!0}).toBuffer()}}function jD($){return $}function r8(){return{driver:new Nj}}class _j extends x0{routes={"/resize":this.file(async()=>{let $=new _,O=new URL($.rawRequest.url),Z=O.searchParams.get("url"),T=Number(O.searchParams.get("w")),f=Number(O.searchParams.get("h")),j=O.searchParams.get("fit")??"cover",W=Number(O.searchParams.get("q"));if(!Z)return new Response(JSON.stringify({error:"url query parameter is required"}),{headers:{"Content-Type":"application/json"},status:404});let J=`${Z.startsWith("http")?"":`http://localhost:${process.env.PORT||5173}`}${Z}`,C=await fetch(J);if(!C.ok)return new Response(JSON.stringify({error:"Image not found",info:J}),{headers:{"Content-Type":"application/json"},status:404});let Y=Buffer.from(await C.arrayBuffer()),D=await K(t8).resize(Y,{height:f,width:T,fit:j,quality:W});C.headers.delete("Content-Type"),C.headers.delete("Content-Length");let X=new Headers(C.headers);return X.set("Content-Type","image/webp"),X.set("Content-Length",`${D.byteLength}`),new Response(new Uint8Array(D),{headers:X})})}}class t8{static token="image";driver;constructor($={}){this.driver=$.driver??r8().driver}resize($,O){return this.driver.resize($,O)}}class Aj extends x0{middlewares=["cache:private,0"];routes={"/live":this.get(async()=>{let $=Bun.file(K(e8).currentLogFilePath);return new Response(await $.text(),{headers:{"Content-Type":"text/plain"}})})}}function _C($){let O=new Map;for(let Z of $)if(typeof Z==="string"){let[T,f=""]=Z.split(":");if(T.startsWith("-")){if(O.has(T.replace("-","")))O.delete(T.replace("-",""))}else O.set(T,f.split(",").filter(Boolean))}else O.set(Z,[]);return O}class kO{config;static token="middleware";constructor($){this.config=$}get aliases(){return this.config.aliases}assertGlobalMiddleware(){for(let $ of this.config.global){if(typeof $!=="string")continue;let[O]=$.split(":");if(O.startsWith("-"))throw Error(`Global middleware "${$}" cancels an alias, but nothing is inherited into the global list. Remove it.`);if(!this.aliases[O])throw Error(`Global middleware "${O}" is not a registered alias. Add it to \`aliases\` in the middleware config, or list the class itself.`)}}runGlobalMiddleware(){return this.runMiddleware(this.config.global)}runMiddleware($){let O=new _;return Array.from(_C($).entries()).map(([Z,T])=>{if(typeof Z==="string"){let f=this.aliases[Z];if(f){let j=new f(O);return()=>j.run.call(j,...T)}}else{if(dO(Z)){let f=new Z(O);return f.run.bind(f)}return Z}}).filter(Boolean).reduce((Z,T)=>{return async()=>{return{...await Z(),...await T()}}},()=>Promise.resolve({}))()}}function VD($){return $}function $z(){return{onRequestStart:()=>{},onRequestEnd:()=>{},onRequestFail:()=>{}}}function Oz(){return{partialRendering:!0,onRequestStart:()=>{},onRequestEnd:()=>{},onRequestFail:()=>{},onStreamComplete:()=>{}}}function AC($){return"run"in $}function EC($){return Object.hasOwn($,"get")||Object.hasOwn($,"post")||Object.hasOwn($,"put")||Object.hasOwn($,"delete")}function PC($){return Object.hasOwn($,"first")&&Object.hasOwn($,"second")}function HC($){if("__brand"in $)return $.__brand==="ApiRouter";return!1}function bC($){if("__internal_brand"in $)return $.__internal_brand==="ProxyHandler";return!1}function wC($){if("__internal_brand"in $)return $.__internal_brand==="StreamHandler";return!1}function Ej($,O="",Z=[]){let T={};function f(j,W,z,J,C){let Y=j==="/"?"":j,D=O==="/"?"":O,X=(`${D}${Y}`===""?"/":`${D}${Y}`).replaceAll("//","/");if(!T[X])T[X]={};T[X][W.toUpperCase()]={exec:z,middleware:[...Z,...J],...C?{source:C}:{}},T[X].OPTIONS={exec:()=>{let F=new _().ctx().headers;return new Response(null,{headers:F,status:204})},middleware:[]}}for(let[j,W]of Object.entries($)){if(bC(W)){let z=W;for(let J of["GET","POST","PUT","DELETE"])f(j,J,z.run.bind(z),[]);continue}if(AC(W)){let z=W,J=z.method,C=z.middlewares,Y=z.run.bind(z);if(f(j,J,Y,C,z.source),wC(W))f(j,"HEAD",Y,C,z.source)}if(EC(W))for(let[z,J]of Object.entries(W)){let C=J.middlewares,Y=J.run.bind(J);f(j,z,Y,C,J.source)}if(HC(W)){let z=new W,J=Ej(z.routes,`${O}${j}`,z.middlewares);for(let[C,Y]of Object.entries(J))T[C.replaceAll("//","/")]=Y}if(PC(W)){let{first:z,second:J}=W;for(let[C,Y]of Object.entries(z)){let D=Y.middlewares,X=Y.run.bind(Y),[U,...F]=j.split("/").reverse();if(!U.startsWith(":"))throw Error("Resource route must end with a dynamic segment");f(F.reverse().join("/"),C,X,D,Y.source)}for(let[C,Y]of Object.entries(J)){let D=Y.middlewares,X=Y.run.bind(Y);f(j,C,X,D,Y.source)}}}return Object.fromEntries(Object.entries(T).sort(([j],[W])=>{let z=j.split("/").length+j.split(":").length,J=W.split("/").length+W.split(":").length;return z-J}))}function X3($){return $.replace(/\([^)]*\)/g,"").replace(/\/\//g,"/")}function Pj($,O){if($==="/")return O;if(O==="/")return $;return`${$}${O}`}function Hj($){let O=X3($);return O.length>1?O.replace(/\/$/,""):O}function Zz($,O){return O.map((Z)=>({...Z,path:Hj(Pj($,Z.path))}))}function D3($){let O={};for(let[Z,T]of Object.entries($))if("run"in T){let f=T;if("children"in f){let j=new f.children,W=D3(j.routes);for(let[z,{exec:J,middleware:C,segments:Y,features:D}]of Object.entries(W)){let X=Pj(Z,z),U=(F)=>f.run.call(f,F,Z);O[X3(X)]={exec:[U,...J],middleware:[...f.middlewares,...C],features:[...f.featureGates,...D],viewPath:f.viewPath,segments:[{path:Hj(Z),viewPath:f.viewPath,...f.alwaysRuns?{alwaysRun:!0}:{}},...Zz(Z,Y)]}}}else{let j=(W)=>f.run.call(f,W,Z);O[X3(Z)]={exec:[j],middleware:f.middlewares,features:f.featureGates,viewPath:f.viewPath,segments:[{path:Hj(Z),viewPath:f.viewPath}]}}}else{let f=new T,j=D3(f.routes);for(let[W,{exec:z,middleware:J,viewPath:C,segments:Y,features:D}]of Object.entries(j)){let X=Pj(Z,W);O[X3(X)]={exec:z,middleware:[...f.middlewares,...J],features:[...f.featureGates,...D],viewPath:C,segments:Zz(Z,Y)}}}return Object.fromEntries(Object.entries(O).sort(([Z],[T])=>{let f=Z.split("/").length+Z.split(":").length,j=T.split("/").length+T.split(":").length;return f-j}))}var vC=Object.defineProperty,M=($,O)=>vC($,"name",{value:O,configurable:!0}),i$=class{type=3;name="";prefix="";value="";suffix="";modifier=3;constructor($,O,Z,T,f,j){this.type=$,this.name=O,this.prefix=Z,this.value=T,this.suffix=f,this.modifier=j}hasCustomName(){return this.name!==""&&typeof this.name!="number"}};M(i$,"Part");var gC=/[$_\p{ID_Start}]/u,kC=/[$_\u200C\u200D\p{ID_Continue}]/u,wj=".*";function Tz($,O){return(O?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test($)}M(Tz,"isASCII");function kj($,O=!1){let Z=[],T=0;for(;T<$.length;){let f=$[T],j=M(function(W){if(!O)throw TypeError(W);Z.push({type:"INVALID_CHAR",index:T,value:$[T++]})},"ErrorOrInvalid");if(f==="*"){Z.push({type:"ASTERISK",index:T,value:$[T++]});continue}if(f==="+"||f==="?"){Z.push({type:"OTHER_MODIFIER",index:T,value:$[T++]});continue}if(f==="\\"){Z.push({type:"ESCAPED_CHAR",index:T++,value:$[T++]});continue}if(f==="{"){Z.push({type:"OPEN",index:T,value:$[T++]});continue}if(f==="}"){Z.push({type:"CLOSE",index:T,value:$[T++]});continue}if(f===":"){let W="",z=T+1;for(;z<$.length;){let J=$.substr(z,1);if(z===T+1&&gC.test(J)||z!==T+1&&kC.test(J)){W+=$[z++];continue}break}if(!W){j(`Missing parameter name at ${T}`);continue}Z.push({type:"NAME",index:T,value:W}),T=z;continue}if(f==="("){let W=1,z="",J=T+1,C=!1;if($[J]==="?"){j(`Pattern cannot start with "?" at ${J}`);continue}for(;J<$.length;){if(!Tz($[J],!1)){j(`Invalid character '${$[J]}' at ${J}.`),C=!0;break}if($[J]==="\\"){z+=$[J++]+$[J++];continue}if($[J]===")"){if(W--,W===0){J++;break}}else if($[J]==="("&&(W++,$[J+1]!=="?")){j(`Capturing groups are not allowed at ${J}`),C=!0;break}z+=$[J++]}if(C)continue;if(W){j(`Unbalanced pattern at ${T}`);continue}if(!z){j(`Missing pattern at ${T}`);continue}Z.push({type:"REGEX",index:T,value:z}),T=J;continue}Z.push({type:"CHAR",index:T,value:$[T++]})}return Z.push({type:"END",index:T,value:""}),Z}M(kj,"lexer");function Rj($,O={}){let Z=kj($);O.delimiter??="/#?",O.prefixes??="./";let T=`[^${b0(O.delimiter)}]+?`,f=[],j=0,W=0,z="",J=new Set,C=M((V)=>{if(W<Z.length&&Z[W].type===V)return Z[W++].value},"tryConsume"),Y=M(()=>C("OTHER_MODIFIER")??C("ASTERISK"),"tryConsumeModifier"),D=M((V)=>{let N=C(V);if(N!==void 0)return N;let{type:A,index:L}=Z[W];throw TypeError(`Unexpected ${A} at ${L}, expected ${V}`)},"mustConsume"),X=M(()=>{let V="",N;for(;N=C("CHAR")??C("ESCAPED_CHAR");)V+=N;return V},"consumeText"),U=M((V)=>V,"DefaultEncodePart"),F=O.encodePart||U,G="",B=M((V)=>{G+=V},"appendToPendingFixedValue"),Q=M(()=>{G.length&&(f.push(new i$(3,"","",F(G),"",3)),G="")},"maybeAddPartFromPendingFixedValue"),I=M((V,N,A,L,S)=>{let E=3;switch(S){case"?":E=1;break;case"*":E=0;break;case"+":E=2;break}if(!N&&!A&&E===3){B(V);return}if(Q(),!N&&!A){if(!V)return;f.push(new i$(3,"","",F(V),"",E));return}let P;A?A==="*"?P=wj:P=A:P=T;let O0=2;P===T?(O0=1,P=""):P===wj&&(O0=0,P="");let g;if(N?g=N:A&&(g=j++),J.has(g))throw TypeError(`Duplicate name '${g}'.`);J.add(g),f.push(new i$(O0,g,F(V),P,F(L),E))},"addPart");for(;W<Z.length;){let V=C("CHAR"),N=C("NAME"),A=C("REGEX");if(!N&&!A&&(A=C("ASTERISK")),N||A){let S=V??"";O.prefixes.indexOf(S)===-1&&(B(S),S=""),Q();let E=Y();I(S,N,A,"",E);continue}let L=V??C("ESCAPED_CHAR");if(L){B(L);continue}if(C("OPEN")){let S=X(),E=C("NAME"),P=C("REGEX");!E&&!P&&(P=C("ASTERISK"));let O0=X();D("CLOSE");let g=Y();I(S,E,P,O0,g);continue}Q(),D("END")}return f}M(Rj,"parse");function b0($){return $.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}M(b0,"escapeString");function vj($){return $&&$.ignoreCase?"ui":"u"}M(vj,"flags");function fz($,O,Z){return mj(Rj($,Z),O,Z)}M(fz,"stringToRegexp");function T$($){switch($){case 0:return"*";case 1:return"?";case 2:return"+";case 3:return""}}M(T$,"modifierToString");function mj($,O,Z={}){Z.delimiter??="/#?",Z.prefixes??="./",Z.sensitive??=!1,Z.strict??=!1,Z.end??=!0,Z.start??=!0,Z.endsWith="";let T=Z.start?"^":"";for(let z of $){if(z.type===3){z.modifier===3?T+=b0(z.value):T+=`(?:${b0(z.value)})${T$(z.modifier)}`;continue}O&&O.push(z.name);let J=`[^${b0(Z.delimiter)}]+?`,C=z.value;if(z.type===1?C=J:z.type===0&&(C=wj),!z.prefix.length&&!z.suffix.length){z.modifier===3||z.modifier===1?T+=`(${C})${T$(z.modifier)}`:T+=`((?:${C})${T$(z.modifier)})`;continue}if(z.modifier===3||z.modifier===1){T+=`(?:${b0(z.prefix)}(${C})${b0(z.suffix)})`,T+=T$(z.modifier);continue}T+=`(?:${b0(z.prefix)}`,T+=`((?:${C})(?:`,T+=b0(z.suffix),T+=b0(z.prefix),T+=`(?:${C}))*)${b0(z.suffix)})`,z.modifier===0&&(T+="?")}let f=`[${b0(Z.endsWith)}]|$`,j=`[${b0(Z.delimiter)}]`;if(Z.end)return Z.strict||(T+=`${j}?`),Z.endsWith.length?T+=`(?=${f})`:T+="$",new RegExp(T,vj(Z));Z.strict||(T+=`(?:${j}(?=${f}))?`);let W=!1;if($.length){let z=$[$.length-1];z.type===3&&z.modifier===3&&(W=Z.delimiter.indexOf(z)>-1)}return W||(T+=`(?=${j}|${f})`),new RegExp(T,vj(Z))}M(mj,"partsToRegexp");var g1={delimiter:"",prefixes:"",sensitive:!0,strict:!0},RC={delimiter:".",prefixes:"",sensitive:!0,strict:!0},mC={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function jz($,O){return $.length?$[0]==="/"?!0:!O||$.length<2?!1:($[0]=="\\"||$[0]=="{")&&$[1]=="/":!1}M(jz,"isAbsolutePathname");function qj($,O){return $.startsWith(O)?$.substring(O.length,$.length):$}M(qj,"maybeStripPrefix");function Wz($,O){return $.endsWith(O)?$.substr(0,$.length-O.length):$}M(Wz,"maybeStripSuffix");function yj($){return!$||$.length<2?!1:$[0]==="["||($[0]==="\\"||$[0]==="{")&&$[1]==="["}M(yj,"treatAsIPv6Hostname");var zz=["ftp","file","http","https","ws","wss"];function pj($){if(!$)return!0;for(let O of zz)if($.test(O))return!0;return!1}M(pj,"isSpecialScheme");function Jz($,O){if($=qj($,"#"),O||$==="")return $;let Z=new URL("https://example.com");return Z.hash=$,Z.hash?Z.hash.substring(1,Z.hash.length):""}M(Jz,"canonicalizeHash");function Cz($,O){if($=qj($,"?"),O||$==="")return $;let Z=new URL("https://example.com");return Z.search=$,Z.search?Z.search.substring(1,Z.search.length):""}M(Cz,"canonicalizeSearch");function Yz($,O){return O||$===""?$:yj($)?hj($):ij($)}M(Yz,"canonicalizeHostname");function Xz($,O){if(O||$==="")return $;let Z=new URL("https://example.com");return Z.password=$,Z.password}M(Xz,"canonicalizePassword");function Dz($,O){if(O||$==="")return $;let Z=new URL("https://example.com");return Z.username=$,Z.username}M(Dz,"canonicalizeUsername");function Fz($,O,Z){if(Z||$==="")return $;if(O&&!zz.includes(O))return new URL(`${O}:${$}`).pathname;let T=$[0]=="/";return $=new URL(T?$:"/-"+$,"https://example.com").pathname,T||($=$.substring(2,$.length)),$}M(Fz,"canonicalizePathname");function Uz($,O,Z){return cj(O)===$&&($=""),Z||$===""?$:lj($)}M(Uz,"canonicalizePort");function Gz($,O){return $=Wz($,":"),O||$===""?$:F3($)}M(Gz,"canonicalizeProtocol");function cj($){switch($){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}M(cj,"defaultPortForProtocol");function F3($){if($==="")return $;if(/^[-+.A-Za-z0-9]*$/.test($))return $.toLowerCase();throw TypeError(`Invalid protocol '${$}'.`)}M(F3,"protocolEncodeCallback");function Bz($){if($==="")return $;let O=new URL("https://example.com");return O.username=$,O.username}M(Bz,"usernameEncodeCallback");function Kz($){if($==="")return $;let O=new URL("https://example.com");return O.password=$,O.password}M(Kz,"passwordEncodeCallback");function ij($){if($==="")return $;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test($))throw TypeError(`Invalid hostname '${$}'`);let O=new URL("https://example.com");return O.hostname=$,O.hostname}M(ij,"hostnameEncodeCallback");function hj($){if($==="")return $;if(/[^0-9a-fA-F[\]:]/g.test($))throw TypeError(`Invalid IPv6 hostname '${$}'`);return $.toLowerCase()}M(hj,"ipv6HostnameEncodeCallback");function lj($){if($===""||/^[0-9]*$/.test($)&&parseInt($)<=65535)return $;throw TypeError(`Invalid port '${$}'.`)}M(lj,"portEncodeCallback");function Qz($){if($==="")return $;let O=new URL("https://example.com");return O.pathname=$[0]!=="/"?"/-"+$:$,$[0]!=="/"?O.pathname.substring(2,O.pathname.length):O.pathname}M(Qz,"standardURLPathnameEncodeCallback");function Vz($){return $===""?$:new URL(`data:${$}`).pathname}M(Vz,"pathURLPathnameEncodeCallback");function Lz($){if($==="")return $;let O=new URL("https://example.com");return O.search=$,O.search.substring(1,O.search.length)}M(Lz,"searchEncodeCallback");function Iz($){if($==="")return $;let O=new URL("https://example.com");return O.hash=$,O.hash.substring(1,O.hash.length)}M(Iz,"hashEncodeCallback");var Sz=class{#j;#T=[];#O={};#$=0;#f=1;#C=0;#z=0;#F=0;#U=0;#G=!1;constructor($){this.#j=$}get result(){return this.#O}parse(){for(this.#T=kj(this.#j,!0);this.#$<this.#T.length;this.#$+=this.#f){if(this.#f=1,this.#T[this.#$].type==="END"){if(this.#z===0){this.#V(),this.#Y()?this.#Z(9,1):this.#X()?this.#Z(8,1):this.#Z(7,0);continue}else if(this.#z===2){this.#D(5);continue}this.#Z(10,0);break}if(this.#F>0)if(this.#_())this.#F-=1;else continue;if(this.#N()){this.#F+=1;continue}switch(this.#z){case 0:this.#L()&&this.#D(1);break;case 1:if(this.#L()){this.#P();let $=7,O=1;this.#S()?($=2,O=3):this.#G&&($=2),this.#Z($,O)}break;case 2:this.#K()?this.#D(3):(this.#Q()||this.#X()||this.#Y())&&this.#D(5);break;case 3:this.#M()?this.#Z(4,1):this.#K()&&this.#Z(5,1);break;case 4:this.#K()&&this.#Z(5,1);break;case 5:this.#A()?this.#U+=1:this.#E()&&(this.#U-=1),this.#x()&&!this.#U?this.#Z(6,1):this.#Q()?this.#Z(7,0):this.#X()?this.#Z(8,1):this.#Y()&&this.#Z(9,1);break;case 6:this.#Q()?this.#Z(7,0):this.#X()?this.#Z(8,1):this.#Y()&&this.#Z(9,1);break;case 7:this.#X()?this.#Z(8,1):this.#Y()&&this.#Z(9,1);break;case 8:this.#Y()&&this.#Z(9,1);break;case 9:break;case 10:break}}this.#O.hostname!==void 0&&this.#O.port===void 0&&(this.#O.port="")}#Z($,O){switch(this.#z){case 0:break;case 1:this.#O.protocol=this.#J();break;case 2:break;case 3:this.#O.username=this.#J();break;case 4:this.#O.password=this.#J();break;case 5:this.#O.hostname=this.#J();break;case 6:this.#O.port=this.#J();break;case 7:this.#O.pathname=this.#J();break;case 8:this.#O.search=this.#J();break;case 9:this.#O.hash=this.#J();break;case 10:break}this.#z!==0&&$!==10&&([1,2,3,4].includes(this.#z)&&[6,7,8,9].includes($)&&(this.#O.hostname??=""),[1,2,3,4,5,6].includes(this.#z)&&[8,9].includes($)&&(this.#O.pathname??=this.#G?"/":""),[1,2,3,4,5,6,7].includes(this.#z)&&$===9&&(this.#O.search??="")),this.#I($,O)}#I($,O){this.#z=$,this.#C=this.#$+O,this.#$+=O,this.#f=0}#V(){this.#$=this.#C,this.#f=0}#D($){this.#V(),this.#z=$}#B($){return $<0&&($=this.#T.length-$),$<this.#T.length?this.#T[$]:this.#T[this.#T.length-1]}#W($,O){let Z=this.#B($);return Z.value===O&&(Z.type==="CHAR"||Z.type==="ESCAPED_CHAR"||Z.type==="INVALID_CHAR")}#L(){return this.#W(this.#$,":")}#S(){return this.#W(this.#$+1,"/")&&this.#W(this.#$+2,"/")}#K(){return this.#W(this.#$,"@")}#M(){return this.#W(this.#$,":")}#x(){return this.#W(this.#$,":")}#Q(){return this.#W(this.#$,"/")}#X(){if(this.#W(this.#$,"?"))return!0;if(this.#T[this.#$].value!=="?")return!1;let $=this.#B(this.#$-1);return $.type!=="NAME"&&$.type!=="REGEX"&&$.type!=="CLOSE"&&$.type!=="ASTERISK"}#Y(){return this.#W(this.#$,"#")}#N(){return this.#T[this.#$].type=="OPEN"}#_(){return this.#T[this.#$].type=="CLOSE"}#A(){return this.#W(this.#$,"[")}#E(){return this.#W(this.#$,"]")}#J(){let $=this.#T[this.#$],O=this.#B(this.#C).index;return this.#j.substring(O,$.index)}#P(){let $={};Object.assign($,g1),$.encodePart=F3;let O=fz(this.#J(),void 0,$);this.#G=pj(O)}};M(Sz,"Parser");var bj=["protocol","username","password","hostname","port","pathname","search","hash"],v1="*";function gj($,O){if(typeof $!="string")throw TypeError("parameter 1 is not of type 'string'.");let Z=new URL($,O);return{protocol:Z.protocol.substring(0,Z.protocol.length-1),username:Z.username,password:Z.password,hostname:Z.hostname,port:Z.port,pathname:Z.pathname,search:Z.search!==""?Z.search.substring(1,Z.search.length):void 0,hash:Z.hash!==""?Z.hash.substring(1,Z.hash.length):void 0}}M(gj,"extractValues");function O1($,O){return O?c$($):$}M(O1,"processBaseURLString");function p$($,O,Z){let T;if(typeof O.baseURL=="string")try{T=new URL(O.baseURL),O.protocol===void 0&&($.protocol=O1(T.protocol.substring(0,T.protocol.length-1),Z)),!Z&&O.protocol===void 0&&O.hostname===void 0&&O.port===void 0&&O.username===void 0&&($.username=O1(T.username,Z)),!Z&&O.protocol===void 0&&O.hostname===void 0&&O.port===void 0&&O.username===void 0&&O.password===void 0&&($.password=O1(T.password,Z)),O.protocol===void 0&&O.hostname===void 0&&($.hostname=O1(T.hostname,Z)),O.protocol===void 0&&O.hostname===void 0&&O.port===void 0&&($.port=O1(T.port,Z)),O.protocol===void 0&&O.hostname===void 0&&O.port===void 0&&O.pathname===void 0&&($.pathname=O1(T.pathname,Z)),O.protocol===void 0&&O.hostname===void 0&&O.port===void 0&&O.pathname===void 0&&O.search===void 0&&($.search=O1(T.search.substring(1,T.search.length),Z)),O.protocol===void 0&&O.hostname===void 0&&O.port===void 0&&O.pathname===void 0&&O.search===void 0&&O.hash===void 0&&($.hash=O1(T.hash.substring(1,T.hash.length),Z))}catch{throw TypeError(`invalid baseURL '${O.baseURL}'.`)}if(typeof O.protocol=="string"&&($.protocol=Gz(O.protocol,Z)),typeof O.username=="string"&&($.username=Dz(O.username,Z)),typeof O.password=="string"&&($.password=Xz(O.password,Z)),typeof O.hostname=="string"&&($.hostname=Yz(O.hostname,Z)),typeof O.port=="string"&&($.port=Uz(O.port,$.protocol,Z)),typeof O.pathname=="string"){if($.pathname=O.pathname,T&&!jz($.pathname,Z)){let f=T.pathname.lastIndexOf("/");f>=0&&($.pathname=O1(T.pathname.substring(0,f+1),Z)+$.pathname)}$.pathname=Fz($.pathname,$.protocol,Z)}return typeof O.search=="string"&&($.search=Cz(O.search,Z)),typeof O.hash=="string"&&($.hash=Jz(O.hash,Z)),$}M(p$,"applyInit");function c$($){return $.replace(/([+*?:{}()\\])/g,"\\$1")}M(c$,"escapePatternString");function Mz($){return $.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}M(Mz,"escapeRegexpString");function xz($,O){O.delimiter??="/#?",O.prefixes??="./",O.sensitive??=!1,O.strict??=!1,O.end??=!0,O.start??=!0,O.endsWith="";let Z=".*",T=`[^${Mz(O.delimiter)}]+?`,f=/[$_\u200C\u200D\p{ID_Continue}]/u,j="";for(let W=0;W<$.length;++W){let z=$[W];if(z.type===3){if(z.modifier===3){j+=c$(z.value);continue}j+=`{${c$(z.value)}}${T$(z.modifier)}`;continue}let J=z.hasCustomName(),C=!!z.suffix.length||!!z.prefix.length&&(z.prefix.length!==1||!O.prefixes.includes(z.prefix)),Y=W>0?$[W-1]:null,D=W<$.length-1?$[W+1]:null;if(!C&&J&&z.type===1&&z.modifier===3&&D&&!D.prefix.length&&!D.suffix.length)if(D.type===3){let X=D.value.length>0?D.value[0]:"";C=f.test(X)}else C=!D.hasCustomName();if(!C&&!z.prefix.length&&Y&&Y.type===3){let X=Y.value[Y.value.length-1];C=O.prefixes.includes(X)}C&&(j+="{"),j+=c$(z.prefix),J&&(j+=`:${z.name}`),z.type===2?j+=`(${z.value})`:z.type===1?J||(j+=`(${T})`):z.type===0&&(!J&&(!Y||Y.type===3||Y.modifier!==3||C||z.prefix!=="")?j+="*":j+=`(${Z})`),z.type===1&&J&&z.suffix.length&&f.test(z.suffix[0])&&(j+="\\"),j+=c$(z.suffix),C&&(j+="}"),z.modifier!==3&&(j+=T$(z.modifier))}return j}M(xz,"partsToPattern");var dj=class{#j;#T={};#O={};#$={};#f={};#C=!1;constructor($={},O,Z){try{let T;if(typeof O=="string"?T=O:Z=O,typeof $=="string"){let z=new Sz($);if(z.parse(),$=z.result,T===void 0&&typeof $.protocol!="string")throw TypeError("A base URL must be provided for a relative constructor string.");$.baseURL=T}else{if(!$||typeof $!="object")throw TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");if(T)throw TypeError("parameter 1 is not of type 'string'.")}typeof Z>"u"&&(Z={ignoreCase:!1});let f={ignoreCase:Z.ignoreCase===!0},j={pathname:v1,protocol:v1,username:v1,password:v1,hostname:v1,port:v1,search:v1,hash:v1};this.#j=p$(j,$,!0),cj(this.#j.protocol)===this.#j.port&&(this.#j.port="");let W;for(W of bj){if(!(W in this.#j))continue;let z={},J=this.#j[W];switch(this.#O[W]=[],W){case"protocol":Object.assign(z,g1),z.encodePart=F3;break;case"username":Object.assign(z,g1),z.encodePart=Bz;break;case"password":Object.assign(z,g1),z.encodePart=Kz;break;case"hostname":Object.assign(z,RC),yj(J)?z.encodePart=hj:z.encodePart=ij;break;case"port":Object.assign(z,g1),z.encodePart=lj;break;case"pathname":pj(this.#T.protocol)?(Object.assign(z,mC,f),z.encodePart=Qz):(Object.assign(z,g1,f),z.encodePart=Vz);break;case"search":Object.assign(z,g1,f),z.encodePart=Lz;break;case"hash":Object.assign(z,g1,f),z.encodePart=Iz;break}try{this.#f[W]=Rj(J,z),this.#T[W]=mj(this.#f[W],this.#O[W],z),this.#$[W]=xz(this.#f[W],z),this.#C=this.#C||this.#f[W].some((C)=>C.type===2)}catch{throw TypeError(`invalid ${W} pattern '${this.#j[W]}'.`)}}}catch(T){throw TypeError(`Failed to construct 'URLPattern': ${T.message}`)}}get[Symbol.toStringTag](){return"URLPattern"}test($={},O){let Z={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof $!="string"&&O)throw TypeError("parameter 1 is not of type 'string'.");if(typeof $>"u")return!1;try{typeof $=="object"?Z=p$(Z,$,!1):Z=p$(Z,gj($,O),!1)}catch{return!1}let T;for(T of bj)if(!this.#T[T].exec(Z[T]))return!1;return!0}exec($={},O){let Z={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof $!="string"&&O)throw TypeError("parameter 1 is not of type 'string'.");if(typeof $>"u")return;try{typeof $=="object"?Z=p$(Z,$,!1):Z=p$(Z,gj($,O),!1)}catch{return null}let T={};O?T.inputs=[$,O]:T.inputs=[$];let f;for(f of bj){let j=this.#T[f].exec(Z[f]);if(!j)return null;let W={};for(let[z,J]of this.#O[f].entries())if(typeof J=="string"||typeof J=="number"){let C=j[z+1];W[J]=C}T[f]={input:Z[f]??"",groups:W}}return T}static compareComponent($,O,Z){let T=M((z,J)=>{for(let C of["type","modifier","prefix","value","suffix"]){if(z[C]<J[C])return-1;if(z[C]===J[C])continue;return 1}return 0},"comparePart"),f=new i$(3,"","","","",3),j=new i$(0,"","","","",3),W=M((z,J)=>{let C=0;for(;C<Math.min(z.length,J.length);++C){let Y=T(z[C],J[C]);if(Y)return Y}return z.length===J.length?0:T(z[C]??f,J[C]??f)},"comparePartList");return!O.#$[$]&&!Z.#$[$]?0:O.#$[$]&&!Z.#$[$]?W(O.#f[$],[j]):!O.#$[$]&&Z.#$[$]?W([j],Z.#f[$]):W(O.#f[$],Z.#f[$])}get protocol(){return this.#$.protocol}get username(){return this.#$.username}get password(){return this.#$.password}get hostname(){return this.#$.hostname}get port(){return this.#$.port}get pathname(){return this.#$.pathname}get search(){return this.#$.search}get hash(){return this.#$.hash}get hasRegExpGroups(){return this.#C}};M(dj,"URLPattern");function RO($,O){for(let[Z,T]of Object.entries($)){let f=new dj({pathname:Z});if(f.test({pathname:O}))return{routePath:Z,params:f.exec({pathname:O})?.pathname.groups??{},route:T}}return null}var f$={startIndex:0,carriedViews:[]};function Nz($,O){let Z=h($.path,O);return Z.includes("*")?null:Z}function qC($,O){if(!$)return f$;if($.search!==O.search)return f$;let Z=Math.min($.segments.length,O.segments.length-1),T=0;while(T<Z){let f=$.segments[T],j=O.segments[T];if(j.alwaysRun)break;if(f.viewPath!==j.viewPath)break;let W=Nz(f,$.params),z=Nz(j,O.params);if(W===null||z===null||W!==z)break;T++}if(T===0)return f$;return{startIndex:T,carriedViews:O.segments.slice(0,T).map(({viewPath:f})=>f)}}function yC($,O){let[,Z,...T]=$.split("/");if(!O.includes(Z))return $;let f=`/${T.join("/")}`;return f==="/"?"/":f.replace(/\/$/,"")}function _z($){let{flatViewRoutes:O,supportedLocales:Z,from:T,origin:f,to:j}=$;if(!T)return f$;let W;try{W=new URL(T,f)}catch{return f$}if(W.origin!==f)return f$;let z=RO(O,yC(W.pathname,Z));if(!z)return f$;return qC({segments:z.route.segments,params:z.params,search:W.search},j)}var uj="x-gemi-from";import{createElement as a$,Fragment as JY}from"react";function pC($){return $.replace(/\([^)]*\)/g,"").replace(/\/\//g,"/")}function U3($){let O={};for(let[Z,T]of Object.entries($))if("run"in T){let f=T.viewPath;if("children"in T){O[Z]=[f];let j=new T.children,W=U3(j.routes);for(let[z,J]of Object.entries(W)){let C=Z==="/"?z:`${Z}${z}`,Y=z==="/"&&Z!=="/"?Z:C;O[Y]=[f,...J]}if(O[Z].length===1)delete O[Z]}else O[Z]=[f]}else{let f=new T,j=U3(f.routes);for(let[W,z]of Object.entries(j)){let J=Z==="/"?W:`${Z}${W}`,C=W==="/"&&Z!=="/"?Z:J;O[C]=z}}return Object.fromEntries(Object.entries(O).map(([Z,T])=>[pC(Z),T]))}function G3($){let O=[];for(let[Z,T]of Object.entries($))if("run"in T){let f=T.viewPath;if(f==="__")continue;if(f==="REDIRECT")continue;if(f==="FILE")continue;if("children"in T){let j=new T.children,W=G3(j.routes);O.push([f,W])}else O.push([f,[]])}else{let f=new T,j=G3(f.routes);O.push(...j)}return O}function sj($){let O=[];for(let[Z,T]of $)O.push(Z,...sj(T).flat());return Array.from(new Set(O))}class h$ extends F0{static getFacadeAccessor(){return n}static getSupportedLocales(){return this.getFacadeRoot().supportedLocales}static getDefaultLocale(){return this.getFacadeRoot().defaultLocale}static locale(){let $=this.getFacadeRoot(),O=x.getStore();if(O)return O.locale??$.detectLocale(O.req);return $.defaultLocale}static setLocale($=h$.locale()){let O=this.getFacadeRoot(),Z=$;if(!O.supportedLocales.includes($))Z=O.defaultLocale;let T=x.getStore();return T.setCookie("i18n-locale",Z,{expires:new Date(Date.now()+31536000000),secure:!1,httpOnly:!1}),T.setLocale(Z),Z}}class nj{id;static token="kernel.id";constructor($=crypto.randomUUID()){this.id=$}}var cC=new Set(["script","style","textarea","title","xmp","iframe","noembed","noframes","noscript"]),iC=new Set(["svg","math"]);function Az($){return $===32||$===9||$===10||$===12||$===13}function Ez($){return $>=65&&$<=90||$>=97&&$<=122}function B3($){return $>=65&&$<=90?$+32:$}function Pz(){let $="data",O="",Z=!1,T="",f=0,j=0,W=!1,z=0,J=0,C=()=>$==="data"&&z===0&&J===0,Y=()=>{if(!Z&&cC.has(O)){$="rawText",T=`</${O}`,f=0,O="";return}if($="data",O==="template")if(Z)z=Math.max(0,z-1);else z+=1;else if(iC.has(O)){if(Z)J=Math.max(0,J-1);else if(!W)J+=1}O=""},D=(X)=>{switch($){case"data":if(X===60)$="tagOpen";return;case"tagOpen":if(X===33)$="bang",j=0;else if(X===47)$="endTagOpen";else if(Ez(X))$="tagName",Z=!1,W=!1,O=String.fromCharCode(B3(X));else if(X===63)$="bogus";else if(X===60)$="tagOpen";else $="data";return;case"endTagOpen":if(Ez(X))$="tagName",Z=!0,W=!1,O=String.fromCharCode(B3(X));else if(X===62)$="data";else $="bogus";return;case"tagName":if(Az(X)||X===47)$="inTag",W=X===47;else if(X===62)Y();else O+=String.fromCharCode(B3(X));return;case"inTag":if(X===62){Y();return}if(W=X===47,X===34)$="attrDouble";else if(X===39)$="attrSingle";return;case"attrDouble":if(X===34)$="inTag";W=!1;return;case"attrSingle":if(X===39)$="inTag";W=!1;return;case"bang":if(X===45){if(j+=1,j===2)$="comment",j=0}else if(X===62)$="data";else $="bogus";return;case"bogus":if(X===62)$="data";return;case"comment":if(X===45)j=j<2?j+1:2;else if(X===62&&j>=2)$="data",j=0;else j=0;return;case"rawText":{if(f<T.length){if(B3(X)===T.charCodeAt(f))f+=1;else f=X===60?1:0;return}if(X===62)$="data",O="";else if(Az(X)||X===47)$="inTag",O="";else f=X===60?1:0;return}}};return{scanToInsertionPoint(X){for(let U=0;U<X.length;U++){if(C())return U;D(X[U])}return X.length},write(X){for(let U=0;U<X.length;U++)D(X[U])},isSafe:C}}function j$($){let O=JSON.stringify($);if(O===void 0)return"undefined";return O.replace(/</g,"\\u003c").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function hC($){return`<script>(self.__GEMI_STREAM__=self.__GEMI_STREAM__||[]).push(${j$([$.path,$.variantKey,$.data])})</script>`}function lC($){return`<script>(self.__GEMI_DICT__=self.__GEMI_DICT__||[]).push(${j$([$.id,$.locale,$.strings])})</script>`}function aj($,O,Z={},T){let f=new TextEncoder,j=[],W=!1,z=!1,J=()=>{if(z)return;z=!0,Z.onClose?.()};O.onSettle((F)=>{if(F.status!=="resolved")return;j.push(hC(F))}),T?.onUse((F)=>{j.push(lC(F))});let C=$.getReader(),Y=Pz(),D=(F,G)=>{F.enqueue(G),Z.onChunk?.(G)},X=(F)=>{while(j.length>0){let G=f.encode(j.shift());Y.write(G),D(F,G)}},U=(F,G)=>{if(j.length===0){Y.write(G),D(F,G);return}let B=Y.scanToInsertionPoint(G);if(B>0)D(F,G.subarray(0,B));if(Y.isSafe())X(F);let Q=G.subarray(B);if(Q.length>0)Y.write(Q),D(F,Q)};return new ReadableStream({async pull(F){let G;try{G=await C.read()}catch(I){throw J(),I}let{done:B,value:Q}=G;if(B){X(F),F.close(),J();return}if(!W){if(W=!0,Y.write(Q),D(F,Q),Z.onShell?.(),Y.isSafe())X(F);return}U(F,Q)},cancel(F){return J(),C.cancel(F)}})}var dC=/bot|crawler|spider|crawling|slurp|bingpreview|mediapartners|headless|lighthouse|prerender|facebookexternalhit|whatsapp|telegram|discord|twitterbot|linkedinbot/i;function K3($){if(!$)return!1;return dC.test($)}async function bz($,O=()=>{}){let Z=x.getStore(),T=Z?.req??null,f=null;if(T?.rawRequest?.url)try{f=new URL(T.rawRequest.url).pathname}catch{f=null}return{user:Z?.user??null,attributes:await uC($,O),request:{path:f,routePath:T?.routePath??null,locale:Z?.locale??null},anonymousId:Hz(),isBot:K3(T?.rawRequest?.headers?.get("user-agent")??null),now:new Date}}function wz($){return{user:$.user??null,attributes:$.attributes??{},request:{path:null,routePath:null,locale:null},anonymousId:$.subjectId??null,isBot:!1,now:new Date}}async function uC($,O){if(!$.context)return{};try{let Z=x.getStore();return await $.context(Z?.req??null)??{}}catch(Z){return O(`The \`context\` hook in app/config/features.ts threw; evaluating with no attributes. ${Z instanceof Error?Z.message:String(Z)}`),{}}}function vz($,O){return`${$}:${O}`}function oj($){let O=new Bun.CryptoHasher("sha1").update($).digest("hex"),Z=Number.parseInt(O.slice(0,8),16);return Math.floor(Z/4294967296*1e4)}function gz($,O){if(O>=100)return!0;if(O<=0)return!1;return $<Math.round(O*100)}function kz($,O,Z,T){if(T.unavailable)return{value:!1,reason:"unavailable"};if(T.active!==!0)return{value:!1,reason:"inactive"};if(O.when){let j;try{j=O.when(Z)}catch(W){return T.warn?.(`The \`when\` for feature "${$}" threw; treating it as off. ${W instanceof Error?W.message:String(W)}`),{value:!1,reason:"error"}}if(typeof j==="boolean")return{value:j,reason:"attributed"}}if(O.rollout===void 0)return{value:!0,reason:"on"};if(Z.isBot)return{value:!1,reason:"bot"};let f=nC($,O,Z,T.buckets);return gz(f,O.rollout)?{value:!0,reason:"rollout"}:{value:!1,reason:"excluded"}}function sC($){let O=$.user?.publicId??$.user?.id;if(O!==void 0&&O!==null)return String(O);return $.anonymousId??""}function nC($,O,Z,T){let f=vz(O.salt??$,sC(Z));if(!T)return oj(f);let j=T.get(f);if(j!==void 0)return j;let W=oj(f);return T.set(f,W),W}class Rz extends Error{cause;kind="FeatureReloadFailed";constructor($){super(`Could not reload feature switches after a write, so the cached switches may still predate it: ${$ instanceof Error?$.message:String($)}`);this.cause=$}}class rj{source;declared;ttlMs;warn;snapshot=null;inflight=null;lastFailureLoggedAt=0;generation=0;lastError=null;retryAfter=0;constructor($,O,Z,T=()=>{}){this.source=$;this.declared=O;this.ttlMs=Z;this.warn=T}async get(){let $=this.snapshot;if($&&Date.now()-$.loadedAt<this.ttlMs)return $;if($){if(Date.now()>=this.retryAfter)this.refresh().catch(()=>{});return $}return await this.refresh()}refresh(){return this.inflight??=this.load().finally(()=>{this.inflight=null}),this.inflight}async invalidate(){await this.inflight?.catch(()=>{});let $=this.generation,O=await this.refresh();if(this.generation===$)throw new Rz(this.lastError);return O}peek(){return this.snapshot}async load(){try{let $=await this.source.load(),{active:O,audit:Z}=this.readRows($);return this.snapshot={active:O,audit:Z,loadedAt:Date.now(),unavailable:!1},this.generation++,this.lastError=null,this.retryAfter=0,this.snapshot}catch($){return this.handleFailure($)}}readRows($){let O=new Map,Z=new Map;for(let T of $??[]){let f=typeof T?.key==="string"?T.key:null;if(!f){this.warn("Ignoring a feature row with no `key`.");continue}if(!(f in this.declared)){this.warn(`Feature row "${f}" is not declared in app/features, so it is ignored. Delete the row, or declare the feature.`);continue}O.set(f,T.active===!0);let j=aC(T);if(j)Z.set(f,j)}return{active:O,audit:Z}}handleFailure($){let O=$ instanceof Error?$.message:String($),Z=Date.now();if(this.lastError=$,this.retryAfter=Z+this.ttlMs,Z-this.lastFailureLoggedAt>=this.ttlMs)this.lastFailureLoggedAt=Z,this.warn(`Could not load feature switches: ${O}`);if(this.snapshot)return this.snapshot;return this.snapshot={active:new Map,audit:new Map,loadedAt:Z,unavailable:!0},this.snapshot}}function aC($){let O={},Z=$.updatedBy;if(typeof Z==="string")O.updatedBy=Z;else if(Z===null)O.updatedBy=null;let T=$.updatedAt;if(T instanceof Date||typeof T==="string"||typeof T==="number"){let f=T instanceof Date?T:new Date(T);if(!Number.isNaN(f.getTime()))O.updatedAt=f}return"updatedBy"in O||"updatedAt"in O?O:null}class oC{}class rC extends Error{modelName;kind="FeatureModelMissing";constructor($){super(`No "${$}" model is registered, so every feature stays off. Add the model to prisma/schema.prisma and export it from app/models \u2014 see docs/feature-flags.md.`);this.modelName=$}}class tj extends Error{sourceName;kind="FeatureSourceReadOnly";constructor($){super(`The feature source (${$}) is read-only, so Features.set() cannot write to it. Change the switch where that source reads from, or give the source a write() method.`);this.sourceName=$}}class mz extends Error{key;kind="UndeclaredFeature";constructor($){super(`"${$}" is not declared in app/features, so it cannot be switched. A row for it would be ignored \u2014 declare the feature first.`);this.key=$}}class qz{manager;ctx;constructor($,O){this.manager=$;this.ctx=O}async enabled($){return(await this.explain($)).value}async explain($){return await this.manager.evaluateIn($,this.ctx,new Map)}async all(){return await this.manager.evaluateAllIn(this.ctx,new Map,{clientOnly:!1})}}class l${config;log;static token="features";store;declared;warnedAboutSize=!1;warnedAboutActor=!1;constructor($,O=()=>{}){this.config=$;this.log=O;this.declared=$.features??{},this.store=new rj($.source,this.declared,Math.max(0,$.ttl)*1000,this.log)}declarations(){return this.declared}async list(){let{active:$,audit:O,unavailable:Z}=await this.switches();return{unavailable:Z,features:Object.entries(this.declared).map(([T,f])=>({key:T,describe:f.describe,rollout:f.rollout,targeted:f.when!==void 0,serverOnly:f.serverOnly,salt:f.salt,active:$.get(T),...O.get(T)}))}}async refresh(){if(!this.config.enabled)return;if(Object.keys(this.declared).length===0)return;await this.store.refresh()}async invalidate(){try{if(this.config.enabled&&Object.keys(this.declared).length>0)await this.store.invalidate()}finally{x.getStore()?.featureEvaluations?.clear()}}async set($,O,Z={}){if(typeof $!=="string"||!Object.hasOwn(this.declared,$))throw new mz(String($));if(typeof O!=="boolean")throw TypeError(`Features.set("${$}", \u2026) takes a boolean, not ${O===null?"null":typeof O}.`);let T=tC(Z.actor),f=this.config.source;if(typeof f.write!=="function")throw new tj(f.constructor?.name||"an anonymous source");let{actorRecorded:j}=await f.write($,O,{actor:T});if(T!==null&&!j&&!this.warnedAboutActor)this.warnedAboutActor=!0,this.log('Features.set() was given an actor, but the feature source has nowhere to record it. For the database source, add a nullable `updatedBy String?` column to the feature flag model to keep "last changed by".');await this.invalidate()}async enabled($){return(await this.explain($)).value}async explain($){let O=await this.requestContext();return await this.evaluateIn($,O,this.requestBuckets())}async all(){let $=await this.requestContext();return await this.evaluateAllIn($,this.requestBuckets(),{clientOnly:!1})}async forClient(){if(!this.config.enabled)return{};let $=await this.requestContext(),O=await this.evaluateAllIn($,this.requestBuckets(),{clientOnly:!0});return this.warnIfOversized(Object.keys(O).length),O}for($){return new qz(this,wz($))}async evaluateIn($,O,Z){let T=this.memoFor(O),f=T?.get($);if(f)return f;let j=this.declared[$];if(!j)return{value:!1,reason:"undeclared"};let{active:W,unavailable:z}=await this.switchFor($),J=kz($,j,O,{active:W,unavailable:z,buckets:Z,warn:this.log});return T?.set($,J),this.notify($,J,O),J}async evaluateAllIn($,O,Z){let T={};for(let[f,j]of Object.entries(this.declared)){if(Z.clientOnly&&j.serverOnly)continue;T[f]=(await this.evaluateIn(f,$,O)).value}return T}async switches(){if(!this.config.enabled||Object.keys(this.declared).length===0)return{active:new Map,audit:new Map,unavailable:!1};let $=await this.store.get();return{active:$.active,audit:$.audit,unavailable:$.unavailable}}async switchFor($){if(!this.config.enabled)return{active:!1,unavailable:!1};let O=await this.store.get();return{active:O.active.get($),unavailable:O.unavailable}}async requestContext(){let $=x.getStore();if($?.featureContext)return $.featureContext;let O=await bz(this.config,this.log);if($)$.featureContext=O;return O}memoFor($){let O=x.getStore();if(!O||O.featureContext!==$)return null;return O.featureEvaluations??=new Map,O.featureEvaluations}requestBuckets(){let $=x.getStore();if(!$)return new Map;return $.featureBuckets??=new Map,$.featureBuckets}notify($,O,Z){if(!this.config.onEvaluate)return;try{this.config.onEvaluate($,O,Z)}catch(T){this.log(`The \`onEvaluate\` hook in app/config/features.ts threw for "${$}". ${T instanceof Error?T.message:String(T)}`)}}warnIfOversized($){if(this.warnedAboutSize||$<=this.config.maxClientFlags)return;this.warnedAboutSize=!0,this.log(`${$} client-visible features are embedded in every document. Mark the ones only the server reads with \`serverOnly: true\` to keep them out of the payload.`)}}function tC($){if($===void 0||$===null)return null;if(typeof $==="string"){if($.length>0)return $}else if(typeof $==="object"){let{publicId:O,id:Z}=$;if(typeof O==="string"&&O.length>0)return O;if(typeof Z==="string"&&Z.length>0||typeof Z==="number")return String(Z)}throw TypeError("Features.set() was given an `actor` that identifies nobody. Pass a string, or a user with a `publicId` or an `id`.")}function yz($){return Object.fromEntries(Object.entries($).filter(([,O])=>{return O!==null&&O!==void 0}))}var eC=50;class d${fetcher;entries=new Map;settleListener=null;failListener=null;shellAt=null;settledBacklog=[];shipped=new Set;requestStartedAt=performance.now();renderStartedAt=null;discoveryHintsMuted=!1;constructor($){this.fetcher=$}elapsed(){return Math.round(performance.now()-this.requestStartedAt)}keyFor($,O){return[$,O].filter((Z)=>Z.length>0).join("?")}markRenderStart(){if(this.renderStartedAt===null)this.renderStartedAt=performance.now()}markShell(){if(this.shellAt===null)this.shellAt=this.elapsed()}summarize($){let O=this.elapsed();return{shellAt:this.shellAt??O,settledAt:O,aborted:$,queries:Array.from(this.entries.values(),(Z)=>({path:Z.path,variantKey:Z.variantKey,startedAt:Z.startedAt,settledAt:Z.settledAt,status:Z.status,source:Z.source}))}}onQueryFail($){this.failListener=$}muteDiscoveryHints(){this.discoveryHintsMuted=!0}maybeLogLateDiscovery($){if(!$.lateBy||this.discoveryHintsMuted)return;if($.status!=="resolved")return;if(Bun.env.NODE_ENV==="production")return;let O="";try{let f=JSON.stringify($.data)?.length??0;O=f>=1024?`${(f/1024).toFixed(1)} kB`:`${f} B`}catch{O="an unserializable payload"}let Z=($.settledAt??0)-$.startedAt,T=$.variantKey?`, { search: ${JSON.stringify(Object.fromEntries(new URLSearchParams($.variantKey)))} }`:"";console.warn(`[gemi] useQuery("${$.patternPath}") was discovered ${$.lateBy}ms into the `+`server render \u2014 under a suspended segment, so its fetch (${Z}ms, resolved ${O}) could not overlap the others. It still streamed. If the query belongs on this route, \`Query.prefetch("${$.patternPath}"${T})\` in the view `+"handler starts it at request time \u2014 but note prefetched data is also re-fetched and "+`streamed into every client-side navigation payload for the route, even when the client already holds it, so weigh that bandwidth against the ${O}. If the data is only needed conditionally (a closed popover, a hidden tab), \`{ lazy: true }\` + \`trigger()\` avoids running it here at all. \`Query.noPrefetch()\` in the handler marks the omission intentional and silences this hint for the route.`)}read($,O){return this.entries.get(this.keyFor($,O))}ensure($,O={},Z="render"){let T=O.params??{},f=new URLSearchParams(yz(O.search??{}));f.delete("json"),f.sort();let j=h($,T),W=f.toString(),z=this.keyFor(j,W),J=this.entries.get(z);if(J)return J;let C;if(Z==="render"&&this.renderStartedAt!==null){let U=Math.round(performance.now()-this.renderStartedAt);if(U>eC)C=U}let Y,D=new Promise((U)=>{Y=U}),X={path:j,patternPath:$,variantKey:W,lateBy:C,status:"pending",promise:D,source:Z,startedAt:this.elapsed()};return this.entries.set(z,X),this.fetcher($,T,f).then((U)=>{X.status="resolved",X.data=U},(U)=>{X.status="rejected",X.error=U}).then(()=>{if(X.settledAt=this.elapsed(),this.maybeLogLateDiscovery(X),X.status==="rejected"&&this.failListener)this.failListener(X);if(this.settleListener)this.settleListener(X);else this.settledBacklog.push(X);Y()}),X}async allSettled(){let $=0;while($!==this.entries.size)$=this.entries.size,await Promise.all(Array.from(this.entries.values(),(O)=>O.promise))}snapshotResolved(){let $={};for(let[O,Z]of this.entries){if(Z.status!=="resolved")continue;this.shipped.add(O),$[Z.path]??={},$[Z.path][Z.variantKey]=Z.data}return $}onSettle($){this.settleListener=(Z)=>{if(this.shipped.has(this.keyFor(Z.path,Z.variantKey)))return;$(Z)};let O=this.settledBacklog;this.settledBacklog=[];for(let Z of O)this.settleListener(Z)}}class k1 extends Error{path;variantKey;status;body;retryAfter;constructor($,O,Z,T,f){super(typeof T?.message==="string"?T.message:`Request to /api${$} failed with status ${Z}`);this.path=$;this.variantKey=O;this.status=Z;this.body=T;this.retryAfter=f;this.name="QueryError"}}function u$(){let $=JSON.stringify({error:{message:"Forbidden"}});return new Response($,{status:403,headers:{"Content-Type":"application/json","Content-Length":String(Buffer.byteLength($)),"Cache-Control":"no-store"}})}function ej(){return{status:403,error:{message:"Forbidden"}}}function mO($){let O=s$.getStore();return(Z,T,f)=>{let j=new URL($.url).origin,W=[h(Z,T),f.toString()].filter((Y)=>Y.length>0).join("?"),z=new Request(`${j}/${W}`,{headers:$.headers}),J=pz($);if(J)n$(z,J);let C=new _(z,T);return s$.run(O,()=>x.run(C,async()=>{try{let Y=await K(s0).dispatchers(J).api.getRouteData(Z);if(D$(Y)){if(!Y.ok)throw new k1(h(Z,T),f.toString(),Y.status,Y.body);return Y.body}if(Y instanceof Response){let D=await Y.json().catch(()=>null);if(!Y.ok)throw new k1(h(Z,T),f.toString(),Y.status,D);return D}return Y}catch(Y){if(Y instanceof k1)throw Y;let D=new k1(h(Z,T),f.toString(),500,{message:Y instanceof Error?Y.message:String(Y)});throw D.cause=Y,D}}))}}var $Y=new Set(["script","style","template","title"]),OY=/\shidden([\s=/]|$)/i,ZY=/"[^"]*"|'[^']*'/g;function TY($){let O=0,Z=0,T=0,f=0;while(f<$.length){let j=$.indexOf("<",f),W=j===-1?$.length:j;if(W>f){let D=$.slice(f,W).replace(/\s+/g,"").length;if(T>0)Z+=D;else O+=D}if(j===-1)break;if($.startsWith("<!--",j)){let D=$.indexOf("-->",j+4);f=D===-1?$.length:D+3;continue}let z=$.indexOf(">",j);if(z===-1)break;let J=$.slice(j+1,z);f=z+1;let C=/^\/?([a-zA-Z][a-zA-Z0-9-]*)/.exec(J)?.[1]?.toLowerCase();if(!C)continue;let Y=J.startsWith("/");if(!Y&&$Y.has(C)&&!J.endsWith("/")){let D=$.indexOf(`</${C}`,f);f=D===-1?$.length:D;continue}if(C!=="div")continue;if(Y){if(T>0)T-=1}else if(T>0)T+=1;else if(OY.test(J.replace(ZY,'""')))T=1}return{shellChars:O,deferredChars:Z}}var fY=1000,jY=64;function WY($){return $>=1000?`${($/1000).toFixed(1)} kB`:`${$} chars`}function zY($,O){if(O.deferredChars<fY)return null;if(O.shellChars>=jY)return null;return`[gemi] GET ${$} streams ${WY(O.deferredChars)} of its `+`content behind reveal scripts \u2014 a no-JS visitor sees ~${O.shellChars} chars. If this is a public/content route, add "no-stream" to its middleware.`}function cz($=console.warn){let O=new Set;return{shouldObserve(Z){return!O.has(Z)},report(Z,T){if(O.has(Z))return;let f=zY(Z,T);if(!f)return;O.add(Z),$(f)}}}function iz(){let $=new TextDecoder,O="";return{onChunk(Z){O+=$.decode(Z,{stream:!0})},measure(){return O+=$.decode(),TY(O)}}}function hz($,O,Z=1e4,T){let f=new TextEncoder,j=()=>{};return new ReadableStream({start(W){let z=!1,J=(Y)=>{if(z)return;z=!0,clearTimeout(C);try{W.close()}catch{}T?.({aborted:Y})};j=J,W.enqueue(f.encode(`${JSON.stringify($)}
|
|
3
|
-
`)),O.onSettle((Y)=>{if(z||Y.status!=="resolved")return;W.enqueue(f.encode(`${JSON.stringify([Y.path,Y.variantKey,Y.data])}
|
|
4
|
-
`))});let C=setTimeout(()=>J(!0),Z);O.allSettled().then(()=>J(!1),()=>J(!1))},cancel(){j(!1)}})}var CY=async()=>(await import("./chunk-7y6gpg08.js")).default,$W,OW=async(...$)=>{return $W??=import("react-dom/server.browser").catch((O)=>{throw $W=void 0,O}),(await $W).renderToReadableStream(...$)},YY=1e4,XY=`
|
|
5
|
-
!function(){try{var d=document.documentElement,c=d.classList;
|
|
6
|
-
c.remove('light','dark');
|
|
7
|
-
var e=localStorage.getItem('theme');
|
|
8
|
-
if('system'===e||(!e&&'system'===defaultTheme)){
|
|
9
|
-
var t='(prefers-color-scheme: dark)',m=window.matchMedia(t);
|
|
10
|
-
if(m.media!==t||m.matches){d.style.colorScheme='dark';c.add('dark')}
|
|
11
|
-
else{d.style.colorScheme='light';c.add('light')}
|
|
12
|
-
}else if(e){
|
|
13
|
-
c.add(e||'')
|
|
14
|
-
}}catch(e){}}()
|
|
15
|
-
`;async function DY($,O,Z){let T=`${Z==="italic"?"italic,":""}wght@${Z==="italic"?"1,":""}${O}`,W=(await(await fetch(`https://fonts.googleapis.com/css2?family=${$}:${T}&display=swap`,{headers:{"User-Agent":"Mozilla/5.0 Firefox/1.0"}})).text()).match(/url\(([^)]+)\)/)?.[1];return await fetch(W).then((z)=>z.arrayBuffer())}var fW="/assets";function FY($){return $===fW||$.startsWith(`${fW}/`)}function UY($){let O=$.filter(FY);if(O.length>0){let Z=O.length>1;throw Error(`View route path${Z?"s":""} ${O.map((T)=>`"${T}"`).join(", ")} use${Z?"":"s"} the reserved "${fW}" prefix. The client build output is served from there before the router runs, so the route would never match. Mount it somewhere else.`)}}function GY($){let O=K(s0).resolver;return{...$.domain,root:O.root,origin:O.publicOrigin($.rawRequest)}}function ZW($){let{status:O=400,error:Z}=$;return new Response(Z?.message,{...$,status:O})}function BY($){let{status:O=400,data:Z,directive:T,headers:f}=$;return new Response(JSON.stringify({data:Z,directive:T}),{headers:f,status:O})}class pO{static token="router.view";flatViewRoutes={};routeManifest={};clientRouteManifest={};componentTree=[];flatComponentTree=[];root=null;shellReporter=cz();preloadCache=new WeakMap;hooks;partialRendering;constructor($){let O=Oz();this.partialRendering=$.partialRendering??O.partialRendering,this.hooks={onRequestStart:$.onRequestStart??O.onRequestStart,onRequestEnd:$.onRequestEnd??O.onRequestEnd,onRequestFail:$.onRequestFail??O.onRequestFail,onStreamComplete:$.onStreamComplete??O.onStreamComplete};let Z={"/":$.rootRouter,"/auth":Ij};this.flatViewRoutes=D3(Z),UY(Object.keys(this.flatViewRoutes)),this.routeManifest=U3(Z),this.clientRouteManifest=Object.fromEntries(Object.entries(this.routeManifest).filter(([,T])=>T.at(-1)!=="FILE")),this.componentTree=G3(Z),this.flatComponentTree=sj(this.componentTree),this.root=$.root}async passesFeatureGates($){let O=K(l$);for(let Z of $)if(!await O.enabled(Z))return!1;return!0}async onRequestEnd($){return TW(),await this.hooks.onRequestEnd($)}completeStream($,O){let Z=(T)=>{W$.error(T?.message??'Error in "onStreamComplete" event handler',{err:JSON.stringify(T)})};try{Promise.resolve(this.hooks.onStreamComplete($,O)).catch(Z)}catch(T){Z(T)}}modulePreloadLinks($){let{clientEntry:O,modulePreloadManifest:Z,views:T,routeKey:f}=$,j=()=>{let J=new Set(O?.preload??[]);for(let C of T)for(let Y of Z?.[C]??[])J.add(Y);return[...J].map((C)=>a$("link",{key:`modulepreload:${C}`,rel:"modulepreload",href:C}))};if(!Z)return j();let W=this.preloadCache.get(Z);if(!W||W.clientEntry!==O)W={clientEntry:O,byRoute:new Map},this.preloadCache.set(Z,W);let z=W.byRoute.get(f);if(!z)z=j(),W.byRoute.set(f,z);return z}async render($){let{req:O,runInRequestScope:Z,csrfTokenHMAC:T,currentPathName:f,headers:j,i18n:W,params:z,pathname:J,serverQueries:C,userAgent:Y,noStream:D,url:X,user:U,viewData:F,breadcrumbs:G,urlLocaleSegment:B,meta:Q,isOgRequest:I,appId:V,features:N}=$,A=J.replace(`/${B}`,""),L={kind:"view",data:{meta:Q,pageData:{[A]:F},__csrf:T.toString("base64"),prefetchedData:{},i18n:W,auth:{user:U},routeManifest:this.clientRouteManifest,breadcrumbs:G,router:{urlLocaleSegment:B,pathname:f,params:z,currentPath:J,searchParams:X.search,is404:!f?!0:!1,domain:O.domain?GY(O):null},appId:V,features:N,componentTree:[["404",[]],...this.componentTree]},head:{}},S=this.root,E=this.routeManifest[f];return async(P)=>{let{bootstrapModules:O0=[],loaders:g,getStyles:m,viewImportMap:Z0,cssManifest:N3,ogMap:cO,viewModules:z$,clientEntry:T1,modulePreloadManifest:R1,assetBase:T0}=P,t$=T1?[]:O0,iO=(M0)=>[M0,`window.loaders=${g}`,...T1?[`import(${JSON.stringify(T1.module)}).catch(function(e){setTimeout(function(){throw e})})`]:[]].join(";");if(I){let M0=null,Y$=null;for(let X$ of E??[])if(typeof cO[X$]==="function")Y$=X$,M0=cO[X$];if(!M0)return new Response("Not found",{status:404});let Q5=Object.values(L.data.pageData)[0];try{await OW(a$(M0,Q5[Y$]),{onError:()=>{}})}catch(X$){let{fonts:V5,...L5}=X$.satoriOptions,I5=await Promise.all(V5.map((lO)=>{return DY(lO.name,lO.weight,lO.style).then((_5)=>({...lO,data:_5}))})),UW=new Headers(j);UW.set("Content-Type","image/png");let[S5,M5]=await Promise.all([CY(),Y3("Rendering an OG image")]),x5=await S5(X$.jsx,{...L5,fonts:I5}),N5=await M5(Buffer.from(x5)).png({compressionLevel:0,effort:10}).toBuffer();return new Response(new Uint8Array(N5),{headers:UW})}return new Response("data")}if(L.data.cssManifest=N3,L.data.modulePreloadManifest=R1??{},T0&&T0!=="/")L.data.assetBase=T0;let J$=this.modulePreloadLinks({clientEntry:T1,modulePreloadManifest:R1,views:E??["404"],routeKey:f??"404"}),e$=await m(E);L.data.prefetchedData=C.snapshotResolved(),C.markRenderStart();let U1=new AbortController,hO=setTimeout(()=>U1.abort(),YY),H=K3(Y)||D,S0=Bun.env.NODE_ENV!=="production"&&!H&&f&&this.shellReporter.shouldObserve(f)?iz():null,C$=uz();try{let M0=await OW(a$(JY,{children:[...J$,...e$,a$("script",{key:"theme-script",dangerouslySetInnerHTML:{__html:XY}}),a$(S,{data:L.data,viewImportMap:Z0,viewModules:z$,serverQueries:C,dictionarySink:C$,key:"root"})]}),{bootstrapScriptContent:iO(`window.__GEMI_DATA__ = ${j$(L.data)}`),bootstrapModules:t$,signal:U1.signal,...H?{progressiveChunkSize:Number.MAX_SAFE_INTEGER}:{},onError(Y$){if(Bun.env.NODE_ENV!=="production")console.error(Y$)}});if(M0.allReady.catch(()=>{}).finally(()=>clearTimeout(hO)),H)await M0.allReady.catch(()=>{});return new Response(aj(M0,C,{onShell:H?void 0:()=>C.markShell(),onChunk:S0?.onChunk,onClose:()=>Z(()=>{if(this.completeStream(O,C.summarize(U1.signal.aborted)),S0)this.shellReporter.report(f,S0.measure())})},C$),{status:!f?404:200,headers:j})}catch(M0){if(clearTimeout(hO),Bun.env.NODE_ENV==="production")throw Z(()=>this.completeStream(O,C.summarize(U1.signal.aborted))),M0;let Y$=await OW(a$("div"),{bootstrapScriptContent:iO(`window.error= ${j$(M0.message)}; window.stack_trace=${j$(M0.stack)};window.__GEMI_DATA__ = ${j$(L.data)}`),bootstrapModules:Bun.env.NODE_ENV==="development"?["/render-error.js",...t$]:t$});return new Response(aj(Y$,C,{onClose:()=>Z(()=>this.completeStream(O,C.summarize(U1.signal.aborted)))}),{status:!f?404:200,headers:j})}}}async handleViewRequest($,O){let Z=new URL($.url),T=Z.pathname.endsWith(".json"),f=Z.pathname.endsWith(".og"),j=Z.pathname.replace(".json","").replace(".og",""),[,W,...z]=j.split("/"),J=`/${z.join("/")}`,C=null,Y=null,D=K(n);if(!D.supportedLocales.includes(W))J=j;else C=W,Y=W;let U=Y===null&&RO(this.flatViewRoutes,J)!==null;if(D.isLocaleAware&&!f&&Y===null&&!U){let L=lz(W,D.supportedLocales,D.defaultLocale);if(L){let S=z.length?`/${z.join("/")}`:"";return new Response("",{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:`/${L}${S}${T?".json":""}${Z.search}`}})}}if(D.isLocaleAware&&!f){let L=K(n).detectLocale(new _($,{},"view",J));if(Y===null&&L!==D.defaultLocale){let S=Z.pathname==="/"?"":Z.pathname;return new Response("",{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:`/${L}${S}${Z.search}`}})}}J=J.replace("//","/");let F=[],G=[],B=null,Q={},I=null,V=!1,N=[];try{let L=RO(this.flatViewRoutes,J);if(L){if(B=L.routePath,Q=L.params,F=L.route.exec,G=L.route.middleware,N=L.route.features,V=G.includes("no-stream"),T&&this.partialRendering){let S=$.headers.get(uj),E=_z({flatViewRoutes:this.flatViewRoutes,supportedLocales:K(n).supportedLocales,from:S,origin:Z.origin,to:{segments:L.route.segments,params:Q,search:Z.search}});if(E.startIndex>0)F=F.slice(E.startIndex),I={from:S,carriedViews:E.carriedViews}}}}catch(L){throw L}let A=new _($,Q,"view",B);return this.hooks.onRequestStart(A),await x.run(A,async()=>{let L=null,S=x.getStore(),E=s$.getStore(),P=(m)=>s$.run(E,()=>x.runWith(S,m));S.serverQueries=new d$(mO($));let O0=new Set;if(S.serverQueries.onQueryFail((m)=>{O0.add(m.error);try{P(()=>Promise.resolve(this.hooks.onRequestFail(g,m.error)).catch(()=>{}))}catch{}}),Y){let m=Y.replaceAll("/","");h$.setLocale(m)}else h$.setLocale();let g=S.req;TW();try{let m=!1;try{await K(kO).runMiddleware(G)}catch(H){if(!o$(H))throw H;m=!0}if(m||N.length>0&&!await this.passesFeatureGates(N))B=null,F=[],g.routePath="";let Z0=K(n),N3=Z0.isEnabled,cO=Z0.isLocaleAware,z$={};if(cO){let H=null;if(Y)H=Y.replaceAll("/",""),S.setLocale(H);else H=Z0.detectLocale(new _($,g.params)),S.setLocale(H);let S0=N3?Z0.getPageTranslations(H,g.routePath):{};z$={supportedLocales:Z0.supportedLocales,currentLocale:H,dictionary:{[H]:S0},defaultLocale:Z0.defaultLocale}}await dz(z$.currentLocale??"");let T1;try{T1=await Promise.all(F.map((H)=>H(g)))}catch(H){if(!o$(H))throw H;B=null,F=[],g.routePath="",T1=[]}let{cookies:R1,headers:T0}=S;L={data:T1,cookies:R1,headers:T0,user:S.user,prefetchedData:S.serverQueries.snapshotResolved(),currentPathName:B,params:g.params,urlLocaleSegment:C,meta:S.renderMeta(),appId:K(nj).id,features:await K(l$).forClient()};let{params:t$,user:iO}=L,J$={},e$={};for(let H of T1??[]){let[S0,C$]=Object.entries(H)?.[0]??[];if(!S0||!C$)continue;e$[`${S0}:${B}`]=C$.breadcrumb,J$[S0]=C$}let U1=J$.FILE;if(U1){for(let H of R1)T0.append("Set-Cookie",H.toString());try{await this.onRequestEnd(g)}catch(H){W$.error(H?.message??'Error in "onRequestEnd" event handler',{err:JSON.stringify(H)})}return await g3(U1,T0)}if(T){T0.set("Content-Type","application/x-ndjson; charset=utf-8"),T0.append("Vary",uj),R1.forEach((S0)=>T0.append("Set-Cookie",S0.toString())),await this.hooks.onRequestEnd(g);let H={meta:I&&!S.metadata.touched?null:L.meta,data:{[J]:J$},breadcrumbs:e$,prefetchedData:S.serverQueries.snapshotResolved(),i18n:z$,features:L.features,is404:!B,appId:L.appId,partial:I};return new Response(hz(H,S.serverQueries,void 0,({aborted:S0})=>P(()=>this.completeStream(g,S.serverQueries.summarize(S0)))),{headers:T0})}if(T0.set("Content-Type","text/html; charset=utf-8"),!V)T0.append("Vary","User-Agent");for(let H of R1)T0.append("Set-Cookie",H.toString());let hO=Bun.CSRF.generate(process.env.SECRET);T0.append("Set-Cookie",`csrf_token=${hO}; HttpOnly; Secure; SameSite=Strict; Expires=${new Date(Date.now()+86400000).toUTCString()}`);try{await this.onRequestEnd(g)}catch(H){W$.error(H?.message??'Error in "onRequestEnd" event handler',{err:JSON.stringify(H)})}return await this.render({req:g,runInRequestScope:P,csrfTokenHMAC:Buffer.from(""),currentPathName:B,headers:T0,i18n:z$,params:t$,pathname:Z.pathname,serverQueries:S.serverQueries,userAgent:$.headers.get("user-agent"),noStream:V,url:Z,user:iO,viewData:J$,breadcrumbs:e$,urlLocaleSegment:C,meta:L.meta,appId:L.appId,features:L.features,isOgRequest:f})}catch(m){if(m.kind===qO)if(T)return BY(m.payload.viewData??m.payload.api);else return ZW(m.payload.view);if(!O0.has(m))this.hooks.onRequestFail(g,m);if(yO(m))return console.error(m),T?u$():ZW(ej());if(m instanceof k1&&m.status===403)return T?u$():ZW(ej());throw m}},O)}}function WW(){let $=JSON.stringify({error:{message:"Not found"}});return new Response($,{status:404,headers:{"Content-Type":"application/json","Content-Length":String(Buffer.byteLength($)),"Cache-Control":"no-store"}})}class tz extends x0{routes={"/api-routes":this.get(()=>{let $=K(V3).flatRoutes,O=[];for(let[Z,T]of Object.entries($))for(let[f,j]of Object.entries(T)){let{exec:W,middleware:z}=j;O.push({path:Z,method:f,middleware:z})}return O}),"/view-routes":this.get(()=>{let $=K(pO).flatViewRoutes,O=[];for(let[Z,{middleware:T,viewPath:f}]of Object.entries($))O.push({path:Z,method:"GET",viewPath:f,middleware:T});return O})}}var Q3="access_token";function KY($,O){let Z=$.body.getReader(),T=!1,f=()=>{if(T)return;T=!0;try{O()}catch(W){console.error(W)}},j=new ReadableStream({async pull(W){let z;try{z=await Z.read()}catch(J){f(),W.error(J);return}if(z.done){f();try{W.close()}catch{}return}try{W.enqueue(z.value)}catch{}},async cancel(W){try{await Z.cancel(W)}finally{f()}}},{highWaterMark:0});return new Response(j,{status:$.status,statusText:$.statusText,headers:$.headers})}function sz($){let{status:O=400,data:Z,headers:T}=$,f=new Headers({"Content-Type":"application/json",...T});if(!f.has("Cache-Control"))f.set("Cache-Control","no-store");return new Response(JSON.stringify(Z),{status:O,headers:f})}function nz($,O,Z){let T=[];O?.forEach((W,z)=>T.push([z,W]));let f=[...typeof O?.getSetCookie==="function"?O.getSetCookie():[],...Array.from(Z??[])];if(T.length===0&&f.length===0)return $;let j=(W)=>{for(let[z,J]of T){if(z.toLowerCase()==="set-cookie")continue;if(!W.has(z))W.set(z,J)}for(let z of f)W.append("Set-Cookie",z)};try{return j($.headers),$}catch{let W=new Headers($.headers);return j(W),new Response($.body,{status:$.status,statusText:$.statusText,headers:W})}}class V3{static token="router.api";flatRoutes={};onRequestStart;onRequestEnd;onRequestFail;constructor($){let O=$z();this.onRequestStart=$.onRequestStart??O.onRequestStart,this.onRequestEnd=$.onRequestEnd??O.onRequestEnd,this.onRequestFail=$.onRequestFail??O.onRequestFail,this.flatRoutes=Ej({"/":$.rootRouter,"/auth":Sj,"/__gemi__/services/i18n":Mj,"/__gemi__/services/logs":Aj,"/__gemi__/services/image":_j,"/__gemi__/debug":tz})}getRouteHandlerAndParams($){let O=new URL($.url),Z=rz(O.pathname),T={},f;for(let[j]of Object.entries(this.flatRoutes))try{let W=new URLPattern({pathname:j});if(W.test({pathname:Z})){f=j,T=W.exec({pathname:Z})?.pathname.groups;break}}catch(W){console.error(W)}return{params:T,path:f}}async runRouteMiddleware($,O){let T=this.flatRoutes[$][O.rawRequest.method].middleware;try{await K(kO).runMiddleware(T)}catch(f){if(f.kind===qO)return sz(f.payload.api);else{if(o$(f))return WW();if(this.onRequestFail(O,f),console.error(f),yO(f))return u$();throw f}}}async getRouteData($){let O=this.flatRoutes[$],Z=x.getStore(),T=O[Z.req.rawRequest.method].exec??(()=>Promise.resolve({})),f={};try{f=await T()}catch(j){if(j.kind===qO)return sz(j.payload.api);if(o$(j))return WW();if(this.onRequestFail(Z.req,j),console.error(j),yO(j))return u$();throw j}return f}isFrameworkRoute($){return $.startsWith("/__gemi__")}async endRequest($,O,Z){let T=async()=>{try{if(!this.isFrameworkRoute(Z))await this.onRequestEnd(O)}catch(f){W$.error(f?.message??'Error in "onRequestEnd" event handler',{err:JSON.stringify(f)})}finally{$.destroy()}};if(!$.hasPendingWork()){await T();return}$.whenIdle().then(T).catch((f)=>{console.error(f)})}isOpenEndedBody($,O){return $.method!=="HEAD"&&O.body!==null&&!O.headers.has("Content-Length")}async handleApiRequest($,O){let{params:Z,path:T}=this.getRouteHandlerAndParams($),f=this.flatRoutes[T];if(!f||!f[$.method])return new Response(JSON.stringify({error:{message:"Not found"}}),{status:404});let j=new _($,Z,"api",T);if(!this.isFrameworkRoute(T))this.onRequestStart(j);return await x.run(j,async()=>{let W=x.getStore(),z=!1,J=async()=>{z=!0,await this.endRequest(W,j,T)};try{let C=K(n);if(C.isEnabled){let G=C.detectLocale(j);W.setLocale(G)}W.setRequest(j);let Y=await this.runRouteMiddleware(T,j);if(Y instanceof Response){let G=nz(Y,W.headers,W.cookies);return await J(),G}let D=await this.getRouteData(T),X=W.headers,U=W.cookies;if(D instanceof Response){let G=nz(D,X,U);if(this.isOpenEndedBody($,G)){let B=KY(G,()=>this.endRequest(W,j,T));return z=!0,B}return await J(),G}let F=(D$(D)?D:OO.json(D)).toResponse(X,U);return await J(),F}catch(C){if(!z)try{await J()}catch(Y){console.error(Y)}throw C}},O)}async dispatchAs($,O,Z,T){let f=new URL($.rawRequest.url).origin,j=new URL(`${f}/api${Z}`),W=`/api${Z.split(/[?#]/)[0]}`;if(!Z.startsWith("/")||j.origin!==f||j.pathname!==W||j.hash!==""||j.pathname.startsWith("/api/__gemi__")||j.pathname==="/api/auth"||j.pathname.startsWith("/api/auth/"))throw Error(`dispatchAs: "${Z}" is not an app api path. Pass the route's own path, without "/api", with every param encoded.`);let z=new Headers,J=$.cookies.get(Q3);if(J)z.set("Cookie",`${Q3}=${J}`);let C=$.headers.get(Q3);if(C)z.set(Q3,C);let Y=$.headers.get("User-Agent");if(Y)z.set("User-Agent",Y);let D;if(T instanceof FormData)D=T;else if(T!==void 0)z.set("Content-Type","application/json"),D=JSON.stringify(T);let X=new Request(j,{method:O,headers:z,body:D});if(az(X,aO($)),$.domain)n$(X,$.domain);return x.exit(()=>oz.exit(()=>this.handleApiRequest(X)))}}import{timingSafeEqual as QY}from"crypto";var I3="",CW="*",VY=60000,LY=1e4,zW=/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/,L3=16,ez=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,JW="x-forwarded-host";function $5($){return $.startsWith(":")}function YW($,O){if($===null)return!1;let Z=Buffer.from($,"utf8"),T=Buffer.from(O,"utf8");return Z.length===T.length&&QY(Z,T)}function IY($){if(!$)return null;if($===!0)return{header:JW,secret:null};return{header:($.hostHeader??JW).toLowerCase(),secret:$.secret?{header:$.secret.header.toLowerCase(),value:$.secret.value}:null}}function SY($){if(!$||$===!0)return;let{hostHeader:O,secret:Z}=$;if(O!==void 0&&(typeof O!=="string"||!ez.test(O)))throw Error(`\`route.domains.trustProxy.hostHeader\` must be a single header name, e.g. "x-forwarded-host". Got ${JSON.stringify(O)}.`);if(!Z)return;if(typeof Z.header!=="string"||!ez.test(Z.header))throw Error(`\`route.domains.trustProxy.secret.header\` must be a header name. Got "${Z.header}".`);if(Z.header.toLowerCase()===(O??JW).toLowerCase())throw Error("`route.domains.trustProxy.secret.header` names the same header as `hostHeader`; the secret needs a header of its own.");if(typeof Z.value!=="string"||Z.value.length<L3)throw Error(`\`route.domains.trustProxy.secret.value\` must be at least ${L3} characters. A guessable one lets any client name its own host.`)}function Z1($){if(!$)return null;try{return new URL(`http://${$.trim()}`).hostname.toLowerCase().replace(/\.$/,"")||null}catch{return null}}function MY($){try{let O=new URL(`http://${$.trim()}`),Z=O.hostname.toLowerCase().replace(/\.$/,"");return Z?O.port?`${Z}:${O.port}`:Z:null}catch{return null}}function xY($){let O=Z1($.root),Z=$.root?.trim().toLowerCase().replace(/\.$/,"");if(!O||O!==Z||!O.split(".").every((j)=>zW.test(j)))throw Error(`\`route.domains.root\` must be a bare hostname, e.g. "example.com" \u2014 no scheme, port or path. Got "${$.root}".`);if($.custom&&($.custom.cacheTtlMs??0)<0)throw Error(`\`route.domains.custom.cacheTtlMs\` is ${$.custom.cacheTtlMs}; it cannot be negative. Use 0 to disable the cache.`);if($.ask&&$.ask.secret.length<L3)throw Error(`\`route.domains.ask.secret\` must be at least ${L3} characters. A guessable one is worse than leaving \`ask\` out.`);SY($.trustProxy);let T=new Set,f=null;for(let j of $.groups??[]){let{subdomain:W}=j;if(T.has(W))throw Error(`\`route.domains\` declares the subdomain "${W}" twice.`);if(T.add(W),$5(W)){if(!/^:[A-Za-z_][A-Za-z0-9_]*$/.test(W))throw Error(`"${W}" is not a valid param subdomain. It must be a single \`:name\` label.`);if(f)throw Error(`\`route.domains\` declares two param subdomains, "${f.subdomain}" and "${W}"; a host could match either.`);f=j;continue}if(j.exists)throw Error(`The subdomain "${W}" is fixed, so \`exists\` has no param to check. It only applies to a \`:param\` subdomain.`);if(!W.split(".").every((z)=>zW.test(z)))throw Error(`"${W}" is not a valid subdomain.`)}if($.custom&&!T.has($.custom.group))throw Error(`\`route.domains.custom.group\` is "${$.custom.group}", but no group declares that subdomain.`);if($.ask&&f&&!f.exists)throw Error(`\`route.domains.ask\` is set, so "${f.subdomain}" needs an \`exists\` to say which tenants are real. Without one every host under the root would be approved for a certificate.`)}class XW{root;hostTrust;fixed=new Map;param=null;custom;cacheTtlMs;cache=new Map;inFlight=new Map;askSecret;proxySecretHeader;constructor($){xY($),this.root=Z1($.root),this.hostTrust=IY($.trustProxy);for(let O of $.groups??[])if($5(O.subdomain))this.param={...O,name:O.subdomain.slice(1)};else this.fixed.set(O.subdomain.toLowerCase(),O);this.custom=$.custom??null,this.cacheTtlMs=this.custom?.cacheTtlMs??VY,this.askSecret=$.ask?.secret??null,this.proxySecretHeader=this.hostTrust?.secret?.header??null}forwardedHost($){let O=this.hostTrust;if(!O)return null;if(O.secret&&!YW($.headers.get(O.secret.header),O.secret.value))return null;return $.headers.get(O.header)?.split(",")[0]?.trim()||null}hostOf($){return Z1(this.forwardedHost($))??Z1(new URL($.url).host)}publicOrigin($){let O=new URL($.url),Z=$.headers.get("x-forwarded-proto")?.split(",")[0]?.trim(),T=Z==="http"||Z==="https"?Z:O.protocol.replace(/:$/,""),f=this.forwardedHost($),j=f&&Z1(f)?MY(f):null;return`${T}://${j??O.host}`}async resolve($){let O=this.hostOf($);if(!O)return null;let Z=await this.match(O,$);if(Z)return Z;if(this.custom?.fallback&&!this.isUnderRoot(O))return{host:O,group:CW,params:{},custom:!0};return null}async allows($,O){let Z=Z1($);return Z?await this.match(Z,O)!==null:!1}isUnderRoot($){return $===this.root||$.endsWith(`.${this.root}`)}async match($,O){if($===this.root)return{host:$,group:I3,params:{},custom:!1};if($.endsWith(`.${this.root}`)){let T=$.slice(0,-(this.root.length+1)),f=this.fixed.get(T);if(f)return{host:$,group:f.subdomain,params:{},custom:!1};if(this.param&&zW.test(T)){let j={[this.param.name]:T};if(this.param.exists&&!await this.param.exists(j,O))return null;return{host:$,group:this.param.subdomain,params:j,custom:!1}}return null}if(!this.custom)return null;let Z=await this.resolveCustom($);return Z?{host:$,group:this.custom.group,params:Z,custom:!0}:null}async resolveCustom($){let O=Date.now(),Z=this.cache.get($);if(Z&&Z.expiresAt>O)return this.cache.delete($),this.cache.set($,Z),Z.value;let T=this.inFlight.get($);if(T)return T;let f=(async()=>await this.custom.resolve($)??null)();this.inFlight.set($,f);let j;try{j=await f}finally{this.inFlight.delete($)}if(this.cacheTtlMs>0){if(this.cache.size>=LY)this.cache.delete(this.cache.keys().next().value);this.cache.delete($),this.cache.set($,{value:j,expiresAt:Date.now()+this.cacheTtlMs})}return j}forget($){if($===void 0)this.cache.clear();else{let O=Z1($);if(O)this.cache.delete(O)}}}var NY="/__gemi__/domains/ask";class s0{static token="router.domains";resolver;acceptsCustomDomains;groups=new Map;constructor($,O){this.groups.set(I3,$);let{domains:Z}=O;if(this.acceptsCustomDomains=Boolean(Z?.custom),!Z){this.resolver=null;return}this.resolver=new XW(Z);let T=(f)=>({api:f.api?new V3({...O.api,...f.api}):$.api,view:f.view?new pO({...O.view,...f.view}):$.view});for(let f of Z.groups??[])this.groups.set(f.subdomain,T(f));if(Z.custom?.fallback)this.groups.set(CW,T(Z.custom.fallback))}async route($){if(!this.resolver)return this.dispatchers(null);if(this.resolver.proxySecretHeader)O5($,this.resolver.proxySecretHeader);let O=await this.resolver.resolve($);if(!O)return null;return n$($,O),this.dispatchers(O)}async ask($){if(!this.resolver?.askSecret||$.method!=="GET")return null;let O=new URL($.url);if(O.pathname!==NY)return null;if(!YW(O.searchParams.get("secret"),this.resolver.askSecret))return null;let Z=O.searchParams.get("domain"),T=Z?await this.resolver.allows(Z,$):!1;return new Response(null,{status:T?200:404})}dispatchers($){return this.groups.get($?.group??I3)}viewDispatchers(){return Array.from(new Set(Array.from(this.groups.values(),($)=>$.view)))}}function Z5($){let O=new Date($??0).getTime();return Number.isFinite(O)?O:0}var T5=600000;function f5($,O){return[oO($,O),oO($,O-1)]}class b{static token="auth";config;provider;constructor($={},O=new d3){this.config=j5(lW($),$),this.provider=O}get userProvider(){return this.provider}accessTokenCookieOptions($,O){return{expires:O,secure:this.publicOrigin($).startsWith("https://"),httpOnly:!0,domain:this.cookieDomain($)}}publicOrigin($){let O=K().bound(s0)?K(s0).resolver:null;return O?O.publicOrigin($.rawRequest):new URL($.rawRequest.url).origin}cookieDomain($){let O=this.config.cookieDomain;if(!O)return;let Z=O==="root"?K(s0).resolver?.root:Z1(O);if(!Z)throw Error('`auth.cookieDomain` is "root", but `route.domains` is not configured.');let T=$.domain?.host??Z1(new URL($.rawRequest.url).host);return T===Z||T?.endsWith(`.${Z}`)?Z:void 0}async getSession($,O){if(!$)return null;if(!c3($))return this.config.migrateLegacySession?this.convertLegacySession($,O,this.config.migrateLegacySession):null;let Z=await this.userProvider.findSession({token:$,userAgent:O});if(!Z?.user)return null;let T=Date.now(),f=Z5(Z.expiresAt),j=Z5(Z.absoluteExpiresAt);if(f<=T||j<=T)return await this.userProvider.deleteSession({token:$}),null;let z=await this.slideSession(Z,T);return z.user.extension=await this.config.extendSession(z.user),z}async convertLegacySession($,O,Z){let T=x.getStore()?.req;if(!T)return null;let f=Date.now(),j=Math.floor(f/T5),W=null,z=await this.userProvider.findSession({token:$,userAgent:O});if(z?.user){if(!await Z(z,{token:$,req:T,userAgent:O}))return null;let C=oO($,j),Y=z.user.id;if(await this.userProvider.withLegacySessionLock($,async()=>{if(!await this.userProvider.claimLegacySession({token:$}))return!1;return await this.userProvider.createSessionV2({token:C,userId:Y,userAgent:O,...this.freshLifetime(f)}),!0}))W=C}if(!W){for(let C of f5($,j))if((await this.userProvider.findSession({token:C,userAgent:O}))?.user){W=C;break}}if(!W)return null;let J=await this.getSession(W,O);if(J)T.ctx().setCookie("access_token",W,this.accessTokenCookieOptions(T,new Date(J.expiresAt)));return J}async revokeSession($,O){if(!$)return await this.userProvider.deleteSession({token:$}),null;if(c3($)||!this.config.migrateLegacySession){let f=await this.userProvider.findSession({token:$,userAgent:O});return await this.userProvider.deleteSession({token:$}),f}let Z=Math.floor(Date.now()/T5),T=f5($,Z);return this.userProvider.withLegacySessionLock($,async()=>{let f=await this.userProvider.findSession({token:$,userAgent:O});for(let j of T){if(f?.user)break;f=await this.userProvider.findSession({token:j,userAgent:O})}await this.userProvider.deleteSession({token:$});for(let j of T)await this.userProvider.deleteSession({token:j});return f})}requestCarryingCookie($){let O=x.getStore()?.req;return O?.cookies.get("access_token")===$?O:null}async slideSession($,O){let Z=this.config.sessionExpiresInHours*3600000;if(new Date($.expiresAt).getTime()-O>=Z/2)return $;let T=new Date(Math.min(O+Z,new Date($.absoluteExpiresAt).getTime())),f=await this.userProvider.updateSession({token:$.token,expiresAt:T}),j=this.requestCarryingCookie($.token);if(j)j.ctx().setCookie("access_token",$.token,this.accessTokenCookieOptions(j,T));if(!f)return $;return{...$,expiresAt:f.expiresAt??T}}freshLifetime($){return{expiresAt:new Date($+this.config.sessionExpiresInHours*3600000),absoluteExpiresAt:new Date($+this.config.sessionAbsoluteExpiresInHours*3600000)}}async generateMagicLink($){}async upsertSession($){await this.userProvider.findSession({token:"",userAgent:""})}async authenticate($){try{let O=await this.userProvider.findUserByEmailAddress($,!1);if(!O)throw Error(`User not found with email: ${$}`);let Z=await this.createOrUpdateSession({email:$,id:O.id}),T=new _;if(T.ctx().setCookie("access_token",Z.token,this.accessTokenCookieOptions(T,Z.expiresAt)),Z?.user)Z.user.extension=await this.config.extendSession(Z.user);return Z}catch(O){console.log(O)}}async createOrUpdateSessionV2($){let O=await this.createOrUpdateSession($),Z=null;if(O?.user)Z=await this.config.extendSession(O.user),O.user.extension=Z;return O}async createOrUpdateSession($){let O=new _,Z=$.id??(await this.userProvider.findUserByEmailAddress($.email,!1))?.id;if(!Z)throw new q1;let T=Bun.env.NODE_ENV==="development"?"local":O.headers.get("User-Agent"),f=hW(Z),j=await this.userProvider.createSessionV2({token:f,userId:Z,userAgent:T,...this.freshLifetime(Date.now())}),W=await this.userProvider.findSession({token:f,userAgent:T??""});return W?.user?W:j}async createMagicLinkToken($){let O=await this.userProvider.findUserByEmailAddress($,!1);if(O){await this.userProvider.deleteMagicLinkToken($);let Z=await this.config.generateMagicLinkToken($),T=(Number.parseInt(_Y(4).toString("hex"),16)%1e6).toString().padStart(6,"0");return await this.userProvider.createMagicLinkToken({email:$,token:Z,pin:T}),{user:O,email:$,pin:T,token:Z}}return{}}}import{AsyncLocalStorage as AY}from"async_hooks";class DW{config;static token="broadcast";publishCb;context=new AY;constructor($){this.config=$}get channels(){return this.config.channels}onPublish($){this.publishCb=$}publish(...$){let[O,Z,T]=$;this.publishCb(O,Z,T)}async handleMessage($,O){let Z=JSON.parse(O);if(Z.type==="subscribe"){let T=Object.entries(this.channels).sort(([f],[j])=>f.length-j.length);for(let[f,j]of T){let W=new URLPattern({pathname:f});if(W.test({pathname:Z.topic})){let z=W.exec({pathname:Z.topic})?.pathname.groups,J=new j;if(await J.subscribe.call(J,z))$.subscribe(Z.topic);break}}}if(Z.type==="broadcast")$.publish(Z.topic,JSON.stringify({topic:Z.topic,data:Z.payload}));if(Z.type==="unsubscribe")$.unsubscribe(Z.topic)}run($,O){let Z=W5($.get("Cookie"));this.context.run({headers:$,cookies:Z},O)}}class S3 extends F0{static getFacadeAccessor(){return DW}static channel($,O){let Z=this.getFacadeRoot(),T=Z.channels[$];if(!T)return console.error(`Channel ${$} not found`),{publish:()=>{}};let f=new T;return{publish:(j,W=!1)=>{let z=h($,O);Z.publish(z,JSON.stringify({topic:z,data:f.publish(j)}),W)}}}}class Z$ extends F0{static getFacadeAccessor(){return b}static async user(){let $=x.getStore(),O=S3.getFacadeRoot().context.getStore(),Z="",T="";if($?.req)Z=$.req.cookies.get("access_token"),T=$.req.headers.get("User-Agent");if(O?.cookies)T=O.headers.get("User-Agent"),Z=O.cookies.get("access_token");let f=$?.user;if(!f)f=(await this.getFacadeRoot().getSession(Z,T))?.user,$?.setUser(f);if(f)return f;throw new q1({redirectTo:nO($?.req,this.getFacadeRoot().config.signInPath)})}static intendedUrl($){let O=x.getStore()?.req;return ZO(O?.search.get(F$),$??this.getFacadeRoot().config.redirectPath)}static async guard($){let O=await Z$.user();if(!await $(O))throw new y3}static async guardSafe($){let O=await Z$.user();try{return await $(O)}catch(Z){return!1}}static async authenticate($){return await this.getFacadeRoot().authenticate($)}static async createMagicLink($){return await this.getFacadeRoot().createMagicLinkToken($)}}class M3{static ensure($,O={}){let Z=x.getStore();if(Z.req.kind==="api")throw Error("Query.prefetch() cannot be called from an API request");return Z.serverQueries??=new d$(mO(Z.req.rawRequest)),Z.serverQueries.ensure($,O,"prefetch")}static async instant($,...O){let Z=M3.ensure($,O[0]);if(await Z.promise,Z.status==="rejected")throw Z.error;return Z.data}static prefetch($,...O){M3.ensure($,O[0])}static noPrefetch(){let $=x.getStore();if($.req.kind==="api")throw Error("Query.noPrefetch() cannot be called from an API request");$.serverQueries??=new d$(mO($.req.rawRequest)),$.serverQueries.muteDiscoveryHints()}}function z5($,O,Z="/"){let T=new URL($.origin),f=O.host?O.host:O.subdomain?`${O.subdomain}.${$.root}`:$.root,j=new URL(Z.startsWith("/")?Z:`/${Z}`,T),W=EY(f);if(!W)throw Error(`"${f}" is not a hostname, so there is no URL for it. Give a bare host, optionally with a port \u2014 no scheme, path or credentials.`);if(j.hostname=W.hostname,W.port)j.port=W.port;return j.toString()}function EY($){try{let O=new URL(`http://${$.trim()}`);return O.host===$.trim().toLowerCase()&&O.pathname==="/"?{hostname:O.hostname,port:O.port}:null}catch{return null}}class J5{static absolute($,...O){return`${process.env.HOST_NAME}${h(String($),O[0]??{})}`}static relative($,...O){return h(String($),O[0]??{})}static forDomain($,O,...Z){let T=K(s0).resolver;if(!T)throw Error("`Url.forDomain` needs `route.domains` to be configured.");let f=x.getStore()?.req?.rawRequest,j=f?T.publicOrigin(f):process.env.HOST_NAME;if(!j)throw Error("`Url.forDomain` outside a request needs `HOST_NAME` for the protocol.");return z5({root:T.root,origin:j},$,h(String(O),Z[0]??{}))}}class C5{name="Meta";static description($){x.getStore().metadata.description($)}static title($){x.getStore().metadata.title($)}static openGraph($){x.getStore().metadata.openGraph($)}}var PY={set($,O,Z){x.getStore().setCookie($,O,Z)},setIfAbsent($,O,Z){if(x.getStore().req.cookies.has($))return!1;return x.getStore().setCookie($,O,Z),!0},delete($,O){x.getStore().deleteCookie($,O)}};class FW{config;static token="redis";instance=null;constructor($={}){this.config=$}get client(){return this.instance??=new(HY())(this.config.url,this.config.options)}set client($){this.instance=$}close(){let $=this.instance;this.instance=null,$?.close()}}function HY(){let $=globalThis.Bun?.RedisClient;if(typeof $!=="function")throw Error("Redis requires Bun's built-in Redis client, which this runtime does not provide. Run the app under Bun, or bind your own client for the 'redis' token.");return $}class F1 extends F0{static getFacadeAccessor(){return FW}static get client(){return this.getFacadeRoot().client}static get($){return F1.client.get($)}static set($,O){return F1.client.set($,O)}static del(...$){return F1.client.del(...$)}static exists($){return F1.client.exists($)}static incr($){return F1.client.incr($)}static expire($,O){return F1.client.expire($,O)}static ttl($){return F1.client.ttl($)}}class Y5 extends F0{static getFacadeAccessor(){return U$}static consume($,O={}){return this.getFacadeRoot().consume($,O)}}class X5 extends F0{static getFacadeAccessor(){return l$}static enabled($){return this.getFacadeRoot().enabled($)}static all(){return this.getFacadeRoot().forClient()}static explain($){return this.getFacadeRoot().explain($)}static for($){return this.getFacadeRoot().for($)}static list(){return this.getFacadeRoot().list()}static set($,O,Z){return this.getFacadeRoot().set($,O,Z)}static refresh(){return this.getFacadeRoot().refresh()}static invalidate(){return this.getFacadeRoot().invalidate()}}class x3{bound;constructor($){this.bound=$}get name(){return this.bound??fO()}get sql(){return this.connection().sql}get dialect(){return this.connection().dialect}async query($){return await this.run($,"query")}async execute($){let O=await this.run($,"execute");return Number(O?.count??0)}async transaction($){let O=this.name,Z=this.connection(O);return U5(Z.sql,(T)=>D5(O,()=>$(T)),{slowTransactionThreshold:Z.config.slowTransactionThreshold,connection:O})}async schema(){let $=this.connection(),{introspect:O}=await import("./chunk-9z5g1rf6.js");return O(this.handle()??$.sql,$.dialect)}run($,O){let Z=this.connection(),{text:T,values:f}=B5($,G5(Z.dialect),O);return(this.handle()??Z.sql).unsafe(T,f)}handle(){let $=TO();if($===void 0)return;return fO()===this.name?$:void 0}connection($=this.name){return F5($),K(jO).connection($)}}var r$=new x3;class K5 extends F0{static getFacadeAccessor(){return jO}static connection($){return new x3($)}static get sql(){return r$.sql}static get dialect(){return r$.dialect}static query($){return r$.query($)}static execute($){return r$.execute($)}static transaction($){return r$.transaction($)}static schema(){return r$.schema()}static close(){return this.getFacadeRoot().close()}}export{G1 as ic,$O as jc,P3 as kc,x0 as lc,w3 as mc,SW as nc,sO as oc,OO as pc,g3 as qc,B1 as rc,w0 as sc,b5 as tc,w5 as uc,p3 as vc,c3 as wc,hW as xc,L9 as yc,lW as zc,c5 as Ac,d3 as Bc,DW as Cc,S3 as Dc,Z$ as Ec,h$ as Fc,M3 as Gc,J5 as Hc,C5 as Ic,PY as Jc,FW as Kc,F1 as Lc,U$ as Mc,Y5 as Nc,vz as Oc,oj as Pc,gz as Qc,kz as Rc,sC as Sc,Rz as Tc,rj as Uc,oC as Vc,rC as Wc,tj as Xc,mz as Yc,qz as Zc,l$ as _c,X5 as $c,x3 as ad,K5 as bd,xj as cd,Nj as dd,jD as ed,r8 as fd,t8 as gd,kO as hd,VD as id,$z as jd,Oz as kd,dj as ld,nj as md,u$ as nd,ej as od,fW as pd,FY as qd,ZW as rd,BY as sd,pO as td,k3 as ud,RW as vd,aO as wd,WW as xd,sz as yd,nz as zd,V3 as Ad,s0 as Bd,b as Cd,HW as Dd,bW as Ed,wW as Fd,qW as Gd,yW as Hd,pW as Id};
|
|
16
|
-
|
|
17
|
-
//# debugId=6B915B2AE77C74F264756E2164756E21
|