gemi 0.82.0 → 0.84.0
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 +64 -1
- package/dist/ai/Agent.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 +8 -6
- package/dist/ai/providers/request.d.ts +1 -1
- package/dist/ai/providers/request.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-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-b9dejyaq.js +6 -0
- package/dist/{chunk-kghwayjv.js.map → chunk-b9dejyaq.js.map} +2 -2
- 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-3k2asp5z.js → chunk-ekppwzyg.js} +2 -2
- package/dist/{chunk-3k2asp5z.js.map → chunk-ekppwzyg.js.map} +1 -1
- 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-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-qff26x59.js → chunk-pa0ya991.js} +2 -2
- package/dist/{chunk-qff26x59.js.map → chunk-pa0ya991.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-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 +4 -29
- package/dist/client/index.js.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-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-kghwayjv.js +0 -6
- 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
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{Gd as u6,Nd as G5}from"./chunk-tdnfhe7x.js";import{Ee as U5,Ud as o$,Zd as pO}from"./chunk-d0qwdeza.js";import{$e as w3,Fe as m3,Ie as aW,Je as R6,Ke as H3,Le as _3,Oe as A3,Pe as E3,Qe as n$,Re as pW,Se as O5,Te as B6,Ue as yO,Ve as q1,We as k0,Ye as _,Ze as y3,_e as p3,bf as m1,cf as w0,df as F3,lf as ez,mf as z$}from"./chunk-302mkqeq.js";import{nf as HW,of as j6,pf as x}from"./chunk-rmv1jp9p.js";import{Df as D5,qf as oW,rf as jO,sf as fO,tf as C5,uf as F5}from"./chunk-wkdzz0rx.js";import{Sf as zO}from"./chunk-g6qe6wyb.js";import{Xf as dW,ag as uW}from"./chunk-3z6wkvwj.js";import{bg as f5}from"./chunk-m4xw99vm.js";import{hg as lW,ig as s}from"./chunk-en3mtnsg.js";import{lg as K}from"./chunk-v27a4se1.js";import{mg as s$}from"./chunk-wh728wd6.js";import{Ag as rW}from"./chunk-kb3xk9r8.js";import{Fg as z6}from"./chunk-zfch4da5.js";import{randomBytes as NX}from"crypto";function uO($){return typeof $==="function"&&$.prototype!==void 0}function G1($){return typeof $==="string"?[$]:$}function sO($,O){let Z=O?"attachment":"inline",T=$.replace(/["\\]/g,"").replace(/[^\x20-\x7e]/g,"_");return`${Z}; filename="${T}"; filename*=UTF-8''${encodeURIComponent($)}`}function _5($){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 A5($){if($ instanceof Blob)return{body:$,start:0,end:$.size-1,total:$.size,partial:!1,type:$.type,name:$.name,download:!1,status:200,extraHeaders:{}};if(_5($))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 A5($),{body:T,start:j,end:f,total:z,partial:W}=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(z<=0)return $O(Math.max(z,0));if(!W){if(T instanceof Blob){let C=_3(J,z);if(!C)return $O(z);T=T.slice(C.start,C.end+1),j=C.start,f=C.end,W=!0}}}let Y=Boolean(J)&&W,X=Y?206:Z.status,F=new Headers;if(F.set("Accept-Ranges","bytes"),F.set("Content-Type",Z.type||"application/octet-stream"),Y)F.set("Content-Range",A3(j,f,z)),F.set("Content-Length",String(f-j+1));else if(z>=0)F.set("Content-Length",String(z));if(Z.name)F.set("Content-Disposition",sO(Z.name,Z.download));if(Z.etag)F.set("ETag",Z.etag);if(Z.lastModified)F.set("Last-Modified",Z.lastModified.toUTCString());for(let[C,U]of Object.entries(Z.extraHeaders))F.set(C,U);if((O.method??"GET").toUpperCase()==="HEAD"){if(T&&"cancel"in T&&typeof T.cancel==="function")await T.cancel();return new Response(null,{status:X,headers:F})}return new Response(T,{status:X,headers:F})}function G6($){return uO($)}class u{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(!G6(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(G6(this.handler)){let O=new this.handler;return O[this.methodName].bind(O)()}return this.handler()}middleware($){return this.middlewares=G1($),this}}class K6{url;headers;__internal_brand="ProxyHandler";constructor($,O){this.url=$;this.headers=O}run(){let $=new _,O=$.headers.toJSON();for(let Z of B6($.rawRequest))delete O[Z];return fetch(this.url,{method:$.rawRequest.method,headers:{...O,...this.headers},body:$.rawRequest.body})}}class Q6{constructor(...$){return new u(...$)}}class V6 extends u{__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 j=await super.run($);return await P3(j,{range:T,method:Z?.method})}catch(j){if(j instanceof w3)return $O(j.total);throw j}finally{if(O)O.rangeRequest=null}}}class I6{constructor(...$){return new V6(...$)}}class L6{__internal_brand="ResourceRoutes";first;second;constructor($){this.first={get:new u("GET",$,"list"),post:new u("POST",$,"store")},this.second={get:new u("GET",$,"show"),put:new u("PUT",$,"update"),delete:new u("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 S0{static __brand="ApiRouter";routes={};middlewares=[];middleware($){}get($,O){return new u("GET",$,O)}post($,O){return new u("POST",$,O)}put($,O){return new u("PUT",$,O)}patch($,O){return new u("PATCH",$,O)}delete($,O){return new u("DELETE",$,O)}resource($){return new L6($)}agent($){return E5($,this)}file($,O){return new Q6("GET",$,O)}stream($,O){return new I6("GET",$,O)}proxy($,O={}){return new K6($,O)}}function E5($,O){let Z={stream:new u("POST",$,"stream"),attach:new u("POST",$,"attach"),stop:new u("POST",$,"stop"),upload:new u("POST",$,"upload")};return class extends S0{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(j){if(j.stream)Z.stream.middleware(j.stream);if(j.attach)Z.attach.middleware(j.attach);if(j.stop)Z.stop.middleware(j.stop);if(j.upload)Z.upload.middleware(j.upload);return this}}}class b3{method;url;meta;__internal_brand="McpRoute";constructor($,O,Z){this.method=$;this.url=O;this.meta=Z}}class M6{static __brand="McpRouter";routes={};fromApiRoute($,O,Z){return new b3($,O,Z)}}function T0($,O){return $.replace(/:([^/]+[*?]?)/g,(Z,T)=>{let j=T.endsWith("?")||T.endsWith("*"),f=j?T.slice(0,-1):T,z=O[f];if(z===void 0){if(j)return"";if(import.meta.env.DEV)throw Error(`Missing parameter: ${f}`);console.error(`Missing parameter: ${f} in URL: ${$}`)}return String(z)}).replace(/\/\//g,"/").replace(/\/$/,"")}class v3 extends q1{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 nO{static to($,...O){let[Z={}]=O,{search:T={},params:j={},permanent:f,status:z}={params:{},status:307,permanent:!1,...Z},W=new URLSearchParams(T).toString();throw new v3([T0($,j)||"/",W.toString()].filter(Boolean).join("?"),z??(f?301:307))}static external($,O=307){throw new v3($,O)}}var S6=Symbol.for("gemi.HttpResponse");class OO{kind;body;status;headers;[S6]=!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 P5(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 j of O)Z.append("Set-Cookie",j);this.headers.forEach((j,f)=>{if(f.toLowerCase()!=="set-cookie")Z.set(f,j)});for(let j of this.headers.getSetCookie())Z.append("Set-Cookie",j);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 P5($){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 F$($){return typeof $==="object"&&$!==null&&$[S6]===!0}class x6{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:j=307}=await this.handler($);if(!Z)throw Error(`Redirect destination is required see ${O}`);return nO.to(Z,{permanent:T,status:j}),{}}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,j=Z?$.name:$.name??$.file?.name,f=(Z?$.type:$.type??$.file?.type)||"",z=Z?!1:$.download??!1,W=Z?200:$.status??200;if(!Z)for(let[J,Y]of Object.entries($.headers??{}))O.set(J,Y);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",f||"application/octet-stream"),T instanceof Blob)O.set("Content-Length",String(T.size));if(j)O.set("Content-Disposition",sO(j,z));return new Response(T instanceof Blob?T.stream():T,{status:W,headers:O})}class N6{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 _6($,O){if(F$($))throw Error(`The handler of view "${O}" returned an HttpResponse. HttpResponse is for api routes; a view handler returns its props.`);return $}class A6{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=(j)=>{return new Z()[T](j)}}}async run($,O){let Z=_6(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 E6{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,j]=O;this.handler=(f)=>{return new T()[j](f)},this.children=class extends B1{routes=Z??{}}}else this.children=class extends B1{routes=O},this.handler=()=>({})}async run($,O){let Z=_6(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 A6($,O)}file($){return new N6($)}redirect($){return new x6($)}layout($,O,Z){return new E6($,O,Z)}}class b0{req;config={};constructor($){this.req=$}run(...$){return{}}static configure($){let O=this;return class extends O{config=$}}}function H5($){return $}function w5(){return{aliases:{},global:[]}}var D$="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"),j=`${Z.pathname}${T}`.replaceAll(":","%3A");return j.startsWith("//")?O:j}catch{return O}}function P6($){let O=$.headers.get("x-forwarded-proto")?.split(",")[0]?.trim();return O?O==="https":new URL($.url).protocol==="https:"}function b5($,O=!0){let Z=new URL($.rawRequest.url),T=Z.pathname.replace(/\.(json|og)$/,""),[,j,...f]=T.split("/");if(K(s).supportedLocales.includes(j))T=`/${f.join("/")}`;return O?`${T}${Z.search}`:T}function v5($,O){let Z=(T)=>T.replace(/\/+$/,"")||"/";return Z($)===Z(O)}function aO($,O){let Z=O||K(w).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 j=new URL(Z,"http://gemi.invalid");if($?.kind==="view"){let f=b5($,!T);if(T||!v5(new URL(f,j).pathname,j.pathname))j.searchParams.set(D$,f)}return T?j.href:`${j.pathname}${j.search}`}var TO="access_token";function R3($){return $?.cookies?.get("access_token")||$?.headers?.get("access_token")||null}async function oO($,O){let Z=R3(O);if(!Z)return null;return(await $.getSession(Z,O.headers.get("User-Agent")))?.user??null}class H6 extends b0{async run($){let O=x.getStore(),Z=O.req;if(O.user)return{};let T=await oO(K(w),Z);if(!T)throw new m1({redirectTo:aO(Z,$)});return O.setUser(T),{}}}class w6 extends b0{async run(...$){let[O="public",Z="864000",...T]=$,j=`${O}, max-age=${Z}${T.length>0?", ":""}${T.join(", ")}`;if($.length===0)j="public, max-age=864000, stale-while-revalidate=300, stale-if-error=600";if($.length===1&&$[0]==="public")j="public, max-age=864000, stale-while-revalidate=300, stale-if-error=600";if($.length===1&&$[0]==="private")j="private, max-age=0, stale-while-revalidate=300, stale-if-error=600";if(this.req.rawRequest.method==="GET")this.req.ctx().setHeaders("Cache-Control",j);return{}}}var g5={"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 b6 extends b0{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={...g5,...this.config.origins[O]};for(let[T,j]of Object.entries(Z))$.ctx().setHeaders(T,j)}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,j=O.cost??1;if(v6("window",T),v6("limit",Z),!Number.isFinite(j)||j<0)throw Error(`Rate limiter cost must be zero or greater, got ${j}`);return await this.config.driver.consume({key:$,limit:Z,window:T*1000,cost:j})}}function v6($,O){if(!Number.isFinite(O)||O<=0)throw Error(`Rate limiter ${$} must be greater than zero, got ${O}`)}class k3 extends q1{constructor($){super("Rate limit exceeded");let O={"Content-Type":"application/json",...$?q6($):{}};this.payload={api:{status:429,data:{error:{message:"Rate limit exceeded"}},headers:O},view:{error:{message:"Rate limit exceeded"},status:429,headers:O}}}}class k6 extends b0{async run($,O){let Z=R5();if(!Z)return{};let T=await Z.consume(this.key(),{limit:g6($)??this.config.limit,window:g6(O)??this.config.window});if(this.config.headers!==!1){let j=this.req.ctx?.();if(j)for(let[f,z]of Object.entries(q6(T)))j.setHeaders(f,z)}if(!T.allowed)throw new k3(T);return{}}key(){if(this.config.key)return this.config.key(this.req);return`${rO(this.req)}:${this.req.routePath??"*"}`}}function R5(){try{let $=K();return $.bound(U$)?$.make(U$):null}catch{return null}}function rO($){let O=R6($.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 q6($){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 g6($){if($===void 0||$===null||$==="")return;let O=Number($);if(!Number.isFinite(O)||O<=0)return;return O}class m6 extends b0{async run(){let $=this.req.cookies.get("csrf_token");if(!$)throw new q3;if(!["POST","PUT","PATCH","DELETE"].includes(this.req.rawRequest.method))return{};if(!Bun.CSRF.verify($,{secret:process.env.SECRET}))throw new q3;return{}}}class q3 extends q1{constructor(){super("Invalid CSRF token");this.name="InvalidCSRFTokenError"}payload={api:{status:403,data:{error:"Invalid CSRF token"}},view:{}}}class y6{policiesList={};constructor(){let $=this.register();for(let O of $){let Z=new O;this.policiesList[O.name]=Z}}register(){return[]}}class p6{all($,O){return!0}}import{createHmac as c6,randomBytes as k5}from"crypto";var c3="v2.";function i3($){return $.startsWith(c3)}function i6(){let $=process.env.SECRET;if(!$)throw Error("Signing in needs a secret to mint session tokens with. Set SECRET in the environment.");return $}function h6($){let O=k5(16).toString("hex"),Z=c6("sha256",i6()).update(`${$}:${O}`).digest("hex");return`${c3}${Z}`}function tO($,O){let Z=c6("sha256",i6()).update(`legacy-session:${O}:${$}`).digest("hex");return`${c3}${Z}`}import{randomBytes as l3}from"crypto";class h3 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 IC($){return $}function l6($={}){return{basePath:"/auth",verifyEmail:!0,redirectPath:"/dashboard",signInPath:"/auth/sign-in",sessionExpiresInHours:24,sessionAbsoluteExpiresInHours:672,cookieDomain:null,migrateLegacySession:null,signUpRequest:h3,oauthProviders:{},verifyPassword:q5,hashPassword:async(O)=>await Bun.password.hash(O),generateForgotPasswordToken:async()=>l3(32).toString("hex"),generateEmailVerificationToken:()=>{if(!($.verifyEmail??!0))return"";return l3(32).toString("hex")},generateMagicLinkToken:()=>l3(32).toString("hex"),extendSession:()=>({}),onUserCreated:async()=>{},onSignUp:()=>{},onSignIn:()=>{},onSignOut:()=>{},onForgotPassword:()=>{},onResetPassword:()=>{},onMagicLinkCreated:()=>{}}}function d3($){if($&&typeof $==="object")delete $.password;return $}function m5(){return new Proxy({},{get:($,O)=>u6(O)})}var d6=new WeakMap;function s6($){if($&&typeof $==="object"){for(let O of Object.values($))s6(O);Object.freeze($)}return $}var y5={select:{id:!0,publicId:!0,email:!0,name:!0,locale:!0,globalRole:!0,accounts:{select:{id:!0,publicId:!0,organizationRole:!0,organization:!0}}}},p5=s6({token:!0,expiresAt:!0,absoluteExpiresAt:!0,updatedAt:!0,location:!0,userAgent:!0,user:y5});class u3{models;constructor($=m5()){this.models=$}run($){return this.models.User.asSystem($)}sessionSelect(){return p5}transaction($){return this.models.User.transaction($)}withLegacySessionLock($,O){let Z=this.models.User.$connection??fO(),T=K(zO).connection(Z),j=()=>this.transaction(async()=>{if(T.dialect==="postgres"){let W=`gemi:legacy-session:${$}`;await jO()`SELECT pg_advisory_xact_lock(hashtextextended(${W}, 0))`}return O()});if(T.dialect!=="sqlite"||jO())return j();let z=(d6.get(T)??Promise.resolve()).then(j,j);return d6.set(T,z.catch(()=>{})),z}async createUser($){let O=await this.run(()=>this.models.User.create({data:$}));return d3(O)}async updateUserPassword($){let O=await this.run(()=>this.models.User.update({where:{id:$.id},data:{password:$.password}}));return d3(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?d3(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 SY}from"crypto";function x0($,O,Z,T,j){return q0(O,Y2($,O),Z,T,j)}function q0($,O,Z,T,j,f){let z=r3(O,Z,T);if(j&&O!==z)throw RangeError(u8($,O,Z,T,f));return z}function Y2($,O){let Z=$[O];if(Z===void 0)throw TypeError(_j(O));return Z}function f0($){return $!==null&&/object|function/.test(typeof $)}function A0($,O=Map){let Z=new O;return(T,...j)=>{if(Z.has(T))return Z.get(T);let f=$(T,...j);return Z.set(T,f),f}}function fT($){return i1({name:$},1)}function i1($,O){return c0((Z)=>({value:Z,configurable:1,writable:!O}),$)}function X2($){return c0((O)=>({get:O,configurable:1}),$)}function UZ($){return{[Symbol.toStringTag]:{value:$,configurable:1}}}function L$($,O){let Z={},T=$.length;for(let j of O)Z[$[--T]]=j;return Z}function c0($,O,Z){let T={};for(let j in O)T[j]=$(O[j],j,Z);return T}function GO($,O,Z){let T={};for(let j=0;j<O.length;j++){let f=O[j];T[f]=$(f,j,Z)}return T}function c5($,O,Z){let T={};for(let j=0;j<$.length;j++)T[O[j]]=Z[$[j]];return T}function P0($,O){let Z={};for(let T of $)Z[T]=O[T];return Z}function zT($,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 C2($,O){for(let Z of O)if(!(Z in $))return 0;return 1}function F2($,O,Z){for(let T of $)if(O[T]!==Z[T])return 0;return 1}function D2($,O,Z){let T={...Z};for(let j=0;j<O;j++)T[$[j]]=0;return T}function b($,...O){return(...Z)=>$(...O,...Z)}function n6($){return $[0].toUpperCase()+$.substring(1)}function BO($){return $.slice().sort()}function fZ($,O){return String(O).padStart($,"0")}function K1($,O){return Math.sign($-O)}function r3($,O,Z){return Math.min(Math.max($,O),Z)}function f1($,O){return[Math.floor($/O),JO($,O)]}function JO($,O){return($%O+O)%O}function I1($,O){return[GZ($,O),JT($,O)]}function GZ($,O){return Math.trunc($/O)||0}function JT($,O){return $%O||0}function eO($){return Math.abs($%1)===0.5}function U2($,O,Z){let T=0,j=0;for(let W=0;W<=O;W++){let J=$[Z[W]],Y=a0[W],X=m/Y,[F,C]=I1(J,X);T+=C*Y,j+=F}let[f,z]=I1(T,m);return[j+f,z]}function BZ($,O,Z){let T={};for(let j=O;j>=0;j--){let f=a0[j];T[Z[j]]=GZ($,f),$=JT($,f)}return T}function G2($){return $===v?oZ:[]}function B2($){return $===v?_O:[]}function K2($){return $===v?["year","day"]:[]}function Q2($){if($!==void 0)return h($)}function V2($){if($!==void 0)return i0($)}function YT($){if($!==void 0)return KO($)}function i0($){return M2(KO($))}function KO($){return L2(b7($))}function XT($){if($==null)throw TypeError("Cannot be null or undefined");return $}function I2($,O){if(O==null)throw RangeError(_j($));return O}function W1($){if(!f0($))throw TypeError(d8);return $}function KZ($,O,Z=$){if(typeof O!==$)throw TypeError(SO(Z,O));return O}function L2($,O="number"){if(!Number.isInteger($))throw RangeError(T7(O,$));return $||0}function M2($,O="number"){if($<=0)throw RangeError(j7(O,$));return $}function CT($){if(typeof $=="symbol")throw TypeError(J7);return String($)}function zZ($,O){return f0($)?String($):h($,O)}function QZ($){if(typeof $=="string")return BigInt($);if(typeof $!="bigint")throw TypeError(W7($));return $}function S2($,O="number"){if(typeof $=="bigint")throw TypeError(z7(O));if($=Number($),!Number.isFinite($))throw RangeError(f7(O,$));return $}function D0($,O){return Math.trunc(S2($,O))||0}function x2($,O){return L2(S2($,O),O)}function a6($,O){return M2(D0($,O),O)}function FT($,O){let[Z,T]=I1(O,m),j=$+Z,f=Math.sign(j);return f&&f===-Math.sign(T)&&(j-=f,T+=f*m),[j,T]}function B$($,O,Z=1){return FT($[0]+O[0]*Z,$[1]+O[1]*Z)}function K$($,O){return FT($[0],$[1]+O)}function v0($,O){return B$(O,$,-1)}function G0($,O){return K1($[0],O[0])||K1($[1],O[1])}function N2($,O,Z){return G0($,O)===-1||G0($,Z)===1}function VZ($,O=1){let Z=BigInt(m/O);return[Number($/Z),Number($%Z)*O]}function Q$($,O=1){let Z=m/O,[T,j]=I1($,Z);return[T,j*O]}function _2($,O=1){let[Z,T]=$,j=Math.floor(T/O),f=m/O;return BigInt(Z)*BigInt(f)+BigInt(j)}function g0($,O=1,Z){let[T,j]=$,[f,z]=I1(j,O);return T*(m/O)+(f+(Z?z/O:0))}function DT($,O,Z=f1){let[T,j]=$,[f,z]=Z(j,O);return[T*(m/O)+f,z]}function UT($,O){let Z=$.formatToParts(O),T={};for(let j of Z)T[j.type]=j.value;return T}function GT($){return x0($,"isoYear",UO,DO,1),$.isoYear===UO?x0($,"isoMonth",4,12,1):$.isoYear===DO&&x0($,"isoMonth",1,9,1),$}function Q1($){return J1({...$,...p0,isoHour:12}),$}function J1($){let O=x0($,"isoYear",UO,DO,1),Z=O===UO?1:O===DO?-1:0;return Z&&R0(U0({...$,isoDay:$.isoDay+Z,isoNanosecond:$.isoNanosecond-Z})),$}function R0($){if(!$||N2($,y7,m7))throw RangeError(uZ);return $}function L1($){return U2($,5,u0)[1]}function IZ($){let[O,Z]=f1($,m);return[BZ(Z,5,u0),O]}function A2($){return E2($)[0]}function E2($){return DT($,y0)}function B0($){return M$($.isoYear,$.isoMonth,$.isoDay,$.isoHour,$.isoMinute,$.isoSecond,$.isoMillisecond)}function U0($){let O=B0($);if(O!==void 0){let[Z,T]=I1(O,_0);return[Z,T*o0+($.isoMicrosecond||0)*r1+($.isoNanosecond||0)]}}function BT($,O){let[Z,T]=IZ(L1($)-O);return R0(U0({...$,isoDay:$.isoDay+T,...Z}))}function WZ(...$){return M$(...$)/Tz}function M$(...$){let[O,Z]=P2(...$),T=O.valueOf();if(!isNaN(T))return T-Z*_0}function P2($,O=1,Z=1,T=0,j=0,f=0,z=0){let W=$===UO?1:$===DO?-1:0,J=new Date;return J.setUTCHours(T,j,f,z),J.setUTCFullYear($,O-1,Z+W),[J,W]}function S1($,O){let[Z,T]=K$($,O);T<0&&(T+=m,Z-=1);let[j,f]=f1(T,o0),[z,W]=f1(f,r1);return LZ(Z*_0+j,z,W)}function LZ($,O=0,Z=0){let T=Math.ceil(Math.max(0,Math.abs($)-q7)/_0)*Math.sign($),j=new Date($-T*_0);return L$(tZ,[j.getUTCFullYear(),j.getUTCMonth()+1,j.getUTCDate()+T,j.getUTCHours(),j.getUTCMinutes(),j.getUTCSeconds(),j.getUTCMilliseconds(),O,Z])}function H2($){return[$.isoYear,$.isoMonth,$.isoDay]}function w2(){return j1}function KT($,O){switch(O){case 2:return QT($)?29:28;case 4:case 6:case 9:case 11:return 30}return 31}function b2($){return QT($)?366:365}function QT($){return $%4==0&&($%100!=0||$%400==0)}function v2($){let[O,Z]=P2($.isoYear,$.isoMonth,$.isoDay);return JO(O.getUTCDay()-Z,7)||7}function g2({isoYear:$}){return $<1?["bce",1-$]:["ce",$]}function i5($){let O=B0($);if(O<c7)return g2($);let Z=UT(lj(V$),O),{era:T,eraYear:j}=d4(Z,V$);return[T,j]}function MZ($){return h1($),SZ($,1),$}function h1($){return R2($,1),$}function o6($){return F2(kj,$,R2($))}function R2($,O){let{isoYear:Z}=$,T=x0($,"isoMonth",1,w2(),O);return{isoYear:Z,isoMonth:T,isoDay:x0($,"isoDay",1,KT(Z,T),O)}}function SZ($,O){return L$(u0,[x0($,"isoHour",0,23,O),x0($,"isoMinute",0,59,O),x0($,"isoSecond",0,59,O),x0($,"isoMillisecond",0,999,O),x0($,"isoMicrosecond",0,999,O),x0($,"isoNanosecond",0,999,O)])}function R($){return $===void 0?0:Iz(W1($))}function QO($,O=0){$=h0($);let Z=Lz($),T=r7($,O);return[Iz($),T,Z]}function VT($){return Lz(h0($))}function k2($){return $=h0($),yj($,9,6,1)}function S$($,O,Z,T=9,j=0,f=4){O=h0(O);let z=yj(O,T,j),W=MT(O),J=EO(O,f),Y=AO(O,T,j,1);return z==null?z=Math.max(Z,Y):p2(z,Y),W=ST(W,Y,1),$&&(J=((X)=>X<4?(X+2)%4:X)(J)),[z,Y,W,J]}function xZ($,O=6,Z){let T=MT($=xT($,DZ)),j=EO($,7),f=AO($,O);return f=I2(DZ,f),T=ST(T,f,void 0,Z),[f,T,j]}function IT($){return pj(h0($))}function q2($,O){return LT(h0($),O)}function LT($,O=4){let Z=y2($);return[EO($,4),...m2(AO($,O),Z)]}function m2($,O){return $!=null?[a0[$],$<4?9-3*$:-1]:[O===void 0?1:10**(9-O),O]}function MT($){let O=$[YO];return O===void 0?1:D0(O,YO)}function ST($,O,Z,T){let j=T?m:a0[O+1];if(j){let f=a0[O];if(j%(($=q0(YO,$,1,j/f-(T?0:1),1))*f))throw RangeError(SO(YO,$))}else $=q0(YO,$,1,Z?1e9:1,1);return $}function y2($){let O=$[o3];if(O!==void 0){if(typeof O!="number"){if(CT(O)==="auto")return;throw RangeError(SO(o3,O))}O=q0(o3,Math.floor(O),0,9,1)}return O}function h0($){return $===void 0?{}:W1($)}function xT($,O){return typeof $=="string"?{[O]:$}:W1($)}function n($){if($!==void 0){if(f0($))return Object.assign(Object.create(null),$);throw TypeError(d8)}}function NZ($,O){return $&&Object.assign(Object.create(null),$,{overflow:h7[O]})}function NT($,O,Z=9,T=0,j){let f=O[$];if(f===void 0)return j?T:void 0;if(f=CT(f),f==="auto")return j?T:null;let z=OT[f];if(z===void 0&&(z=R7[f]),z===void 0)throw RangeError(a8($,f,OT));return q0($,z,T,Z,1,NO),z}function l1($,O,Z,T=0){let j=Z[$];if(j===void 0)return T;let f=CT(j),z=O[f];if(z===void 0)throw RangeError(a8($,f,O));return z}function p2($,O){if(O>$)throw RangeError(A7)}function z0($){return{branding:$3,epochNanoseconds:$}}function Y0($,O,Z){return{branding:F1,calendar:Z,timeZone:O,epochNanoseconds:$}}function a($,O=$.calendar){return{branding:e1,calendar:O,...P0(Bz,$)}}function o($,O=$.calendar){return{branding:t1,calendar:O,...P0(qj,$)}}function p1($,O=$.calendar){return{branding:w$,calendar:O,...P0(qj,$)}}function JZ($,O=$.calendar){return{branding:b$,calendar:O,...P0(qj,$)}}function l0($){return{branding:eZ,...P0(Gz,$)}}function i($){return{branding:O3,sign:x1($),...P0(vj,$)}}function c2($){return A2($.epochNanoseconds)}function _Z($){return DT($.epochNanoseconds,o0)[0]}function i2($){return _2($.epochNanoseconds,r1)}function h2($){return _2($.epochNanoseconds)}function l2($){return $.epochNanoseconds}function W0($){return typeof $=="string"?$:h($.id)}function x$($,O){return $===O||W0($)===W0(O)}function d2($,O,Z,T,j){let f=c1(T),[z,W]=((B,Q)=>{let L=Q((B=xT(B,jT))[Qz]),V=o7(B);return V=I2(jT,V),[V,L]})(j,$);if(CO(Math.max(z,f),W))return r6(T,z);if(!W)throw RangeError(sZ);let[J,Y,X]=bZ(O,Z,W),F=aT(X),C=vZ(X),U=oT(X),D=C(Y,J,T),G=U(Y,J,D,z);return CO(z,W)?r6(G,z):((B,Q,L,V,N,A,I)=>{let M=x1(B),[E,P]=_T(V,Rj(L,B),L,M,N,A,I),$0=AT(Q,E,P);return B[k[L]]+$0*M})(G,F(D),z,Y,J,F,C)}function r6($,O){return g0(j0($),a0[O],1)}function _T($,O,Z,T,j,f,z){let W=k[Z],J={...O,[W]:O[W]+T},Y=z($,j,O),X=z($,j,J);return[f(Y),f(X)]}function AT($,O,Z){let T=g0(v0(O,Z));if(!T)throw RangeError(xO);return g0(v0(O,$))/T}function u2($,O){let[Z,T,j]=xZ(O,5,1);return z0(EZ($.epochNanoseconds,Z,T,j,1))}function s2($,O,Z){let{epochNanoseconds:T,timeZone:j,calendar:f}=O,[z,W,J]=xZ(Z);if(z===0&&W===1)return O;let Y=$(j);if(z===6)T=((X,F,C,U)=>{let D=K0(C,F),[G,B]=X(D),Q=C.epochNanoseconds,L=E0(F,G),V=E0(F,B);if(N2(Q,L,V))throw RangeError(xO);return Z4(AT(Q,L,V),U)?V:L})($4,Y,O,J);else{let X=Y.getOffsetNanosecondsFor(T);T=u1(Y,t2(S1(T,X),z,W,J),X,2,0,1)}return Y0(T,j,f)}function n2($,O){return a(t2($,...xZ(O)),$.calendar)}function a2($,O){let[Z,T,j]=xZ(O,5);var f;return l0((f=j,ET($,VO(Z,T),f)[0]))}function o2($,O){let Z=$(O.timeZone),T=K0(O,Z),[j,f]=$4(T),z=g0(v0(E0(Z,j),E0(Z,f)),aZ,1);if(z<=0)throw RangeError(xO);return z}function r2($,O){let{timeZone:Z,calendar:T}=O,j=((f,z,W)=>E0(z,f(K0(W,z))))(O4,$(Z),O);return Y0(j,Z,T)}function t2($,O,Z,T){return e2($,VO(O,Z),T)}function e2($,O,Z){let[T,j]=ET($,O,Z);return J1({...s1($,j),...T})}function ET($,O,Z){return IZ(M1(L1($),O,Z))}function YZ($){return M1($,nZ,7)}function VO($,O){return a0[$]*O}function $4($){let O=O4($);return[O,s1(O,1)]}function O4($){return k7(6,$)}function h5($,O,Z){let T=Math.min(c1($),6);return _$(PZ(j0($,T),O,Z),T)}function AZ($,O,Z,T,j,f,z,W,J,Y){if(T===0&&j===1)return $;let X=CO(T,W)?gZ(W)&&T<6&&Z>=6?d5:l5:u5,[F,C,U]=X($,O,Z,T,j,f,z,W,J,Y);return U&&T!==7&&(F=((D,G,B,Q,L,V,N,A)=>{let I=x1(D);for(let M=Q+1;M<=B;M++){if(M===7&&B!==7)continue;let E=Rj(M,D);E[k[M]]+=I;let P=g0(v0(N(A(L,V,E)),G));if(P&&Math.sign(P)!==I)break;D=E}return D})(F,C,Z,Math.max(6,T),z,W,J,Y)),F}function EZ($,O,Z,T,j){if(O===6){let f=((z)=>z[0]+z[1]/m)($);return[M1(f,Z,T),0]}return PZ($,VO(O,Z),T,j)}function PZ($,O,Z,T){let[j,f]=$;T&&f<0&&(f+=m,j-=1);let[z,W]=f1(M1(f,O,Z),m);return FT(j+z,W)}function M1($,O,Z){return Z4($/O,Z)*O}function Z4($,O){return $J[O]($)}function l5($,O,Z,T,j,f){let z=x1($),W=j0($),J=EZ(W,T,j,f),Y=v0(W,J),X=Math.sign(J[0]-W[0])===z,F=_$(J,Math.min(Z,6));return[{...$,...F},B$(O,Y),X]}function d5($,O,Z,T,j,f,z,W,J,Y){let X=x1($),F=g0(j0($,5)),C=VO(T,j),U=M1(F,C,f),[D,G]=_T(z,{...$,...gj},6,X,W,J,Y),B=U-g0(v0(D,G)),Q=0;B&&Math.sign(B)!==X?O=K$(D,U):(Q+=X,U=M1(B,C,f),O=K$(G,U));let L=kZ(U);return[{...$,...L,days:$.days+Q},O,Boolean(Q)]}function u5($,O,Z,T,j,f,z,W,J,Y){let X=x1($),F=k[T],C=Rj(T,$);T===7&&($={...$,weeks:$.weeks+Math.trunc($.days/7)});let U=GZ($[F],j)*j;C[F]=U;let[D,G]=_T(z,C,T,j*X,W,J,Y),B=U+AT(O,D,G)*X*j,Q=M1(B,j,f),L=Math.sign(Q-B)===X;return C[F]=Q,[C,L?G:D,L]}function PT($,O,Z,T){let[j,f,z,W]=((Y)=>{let X=LT(Y=h0(Y));return[Y.timeZone,...X]})(T),J=j!==void 0;return((Y,X,F,C,U,D)=>{F=PZ(F,U,C,1);let G=X.getOffsetNanosecondsFor(F);return kT(S1(F,G),D)+(Y?d1(YZ(G)):"Z")})(J,O(J?$(j):$$),Z.epochNanoseconds,f,z,W)}function HT($,O,Z){let[T,j,f,z,W,J]=((Y)=>{Y=h0(Y);let X=pj(Y),F=y2(Y),C=e7(Y),U=EO(Y,4),D=AO(Y,4);return[X,t7(Y),C,U,...m2(D,F)]})(Z);return((Y,X,F,C,U,D,G,B,Q,L)=>{C=PZ(C,Q,B,1);let V=Y(F).getOffsetNanosecondsFor(C);return kT(S1(C,V),L)+d1(YZ(V),G)+((N,A)=>A!==1?"["+(A===2?"!":"")+W0(N)+"]":"")(F,D)+qT(X,U)})($,O.calendar,O.timeZone,O.epochNanoseconds,T,j,f,z,W,J)}function wT($,O){let[Z,T,j,f]=((Y)=>(Y=h0(Y),[pj(Y),...LT(Y)]))(O);return z=$.calendar,W=Z,J=f,kT(e2($,j,T),J)+qT(z,W);var z,W,J}function bT($,O){return Z=$.calendar,T=$,j=IT(O),XZ(T)+qT(Z,j);var Z,T,j}function vT($,O){return T4($.calendar,j4,$,IT(O))}function gT($,O){return T4($.calendar,s5,$,IT(O))}function RT($,O){let[Z,T,j]=q2(O);return f=j,f4(ET($,T,Z)[0],f);var f}function HZ($,O){let[Z,T,j]=q2(O,3);return T>1&&($={...$,...h5($,T,Z)}),((f,z)=>{let{sign:W}=f,J=W===-1?Q0(f):f,{hours:Y,minutes:X}=J,[F,C]=DT(j0(J,3),y0,I1);D4(F);let U=mT(C,z),D=z>=0||!W||U;return(W<0?"-":"")+"P"+t6({Y:y1(J.years),M:y1(J.months),W:y1(J.weeks),D:y1(J.days)})+(Y||X||F||D?"T"+t6({H:y1(Y),M:y1(X),S:y1(F,D)+U}):"")})($,j)}function T4($,O,Z,T){let j=W0($),f=T>1||T===0&&j!==v;return T===1?j===v?O(Z):XZ(Z):f?XZ(Z)+z4(j,T===2):O(Z)}function t6($){let O=[];for(let Z in $){let T=$[Z];T&&O.push(T,Z)}return O.join("")}function kT($,O){return XZ($)+"T"+f4($,O)}function XZ($){return j4($)+"-"+m0($.isoDay)}function j4($){let{isoYear:O}=$;return(O<0||O>9999?W4(O)+fZ(6,Math.abs(O)):fZ(4,O))+"-"+m0($.isoMonth)}function s5($){return m0($.isoMonth)+"-"+m0($.isoDay)}function f4($,O){let Z=[m0($.isoHour),m0($.isoMinute)];return O!==-1&&Z.push(m0($.isoSecond)+((T,j,f,z)=>mT(T*o0+j*r1+f,z))($.isoMillisecond,$.isoMicrosecond,$.isoNanosecond,O)),Z.join(":")}function d1($,O=0){if(O===1)return"";let[Z,T]=f1(Math.abs($),aZ),[j,f]=f1(T,nZ),[z,W]=f1(f,y0);return W4($)+m0(Z)+":"+m0(j)+(z||W?":"+m0(z)+mT(W):"")}function qT($,O){if(O!==1){let Z=W0($);if(O>1||O===0&&Z!==v)return z4(Z,O===2)}return""}function z4($,O){return"["+(O?"!":"")+"u-ca="+$+"]"}function mT($,O){let Z=fZ(9,$);return Z=O===void 0?Z.replace(TJ,""):Z.slice(0,O),Z?"."+Z:""}function W4($){return $<0?"-":"+"}function y1($,O){return $||O?$.toLocaleString("fullwide",{useGrouping:0}):""}function n5($,O){let{epochNanoseconds:Z}=$,T=(O.getOffsetNanosecondsFor?O:O($.timeZone)).getOffsetNanosecondsFor(Z),j=S1(Z,T);return{calendar:$.calendar,...j,offsetNanoseconds:T}}function J4($,O){let Z=K0(O,$);return{calendar:O.calendar,...P0(Bz,Z),offset:d1(Z.offsetNanoseconds),timeZone:O.timeZone}}function u1($,O,Z,T=0,j=0,f,z){if(Z!==void 0&&T===1&&(T===1||z))return BT(O,Z);let W=$.getPossibleInstantsFor(O);if(Z!==void 0&&T!==3){let J=((Y,X,F,C)=>{let U=U0(X);C&&(F=YZ(F));for(let D of Y){let G=g0(v0(D,U));if(C&&(G=YZ(G)),G===F)return D}})(W,O,Z,f);if(J!==void 0)return J;if(T===0)throw RangeError(L7)}return z?U0(O):E0($,O,j,W)}function E0($,O,Z=0,T=$.getPossibleInstantsFor(O)){if(T.length===1)return T[0];if(Z===1)throw RangeError(M7);if(T.length)return T[Z===3?1:0];let j=U0(O),f=((W,J)=>{let Y=W.getOffsetNanosecondsFor(K$(J,-m));return pT(W.getOffsetNanosecondsFor(K$(J,m))-Y)})($,j),z=f*(Z===2?-1:1);return(T=$.getPossibleInstantsFor(S1(j,z)))[Z===2?0:T.length-1]}function yT($){if(Math.abs($)>=m)throw RangeError(V7);return $}function pT($){if($>m)throw RangeError(I7);return $}function cT($,O,Z){return z0(R0(B$(O.epochNanoseconds,((T)=>{if(U4(T))throw RangeError(N7);return j0(T,5)})($?Q0(Z):Z))))}function iT($,O,Z,T,j,f=Object.create(null)){let z=O(T.timeZone),W=$(T.calendar);return{...T,...sT(z,W,T,Z?Q0(j):j,f)}}function hT($,O,Z,T,j=Object.create(null)){let{calendar:f}=Z;return a(nT($(f),Z,O?Q0(T):T,j),f)}function lT($,O,Z,T,j){let{calendar:f}=Z;return o(wZ($(f),Z,O?Q0(T):T,j),f)}function dT($,O,Z,T,j=Object.create(null)){let f=Z.calendar,z=$(f),W=XO(z,Z);O&&(T=RZ(T)),T.sign<0&&(W=z.dateAdd(W,{...J0,months:1}),W=s1(W,-1));let J=z.dateAdd(W,T,j);return p1(XO(z,J),f)}function uT($,O,Z){return l0(Y4(O,$?Q0(Z):Z)[0])}function sT($,O,Z,T,j){let f=j0(T,5),z=Z.epochNanoseconds;if(U4(T)){let W=K0(Z,$);z=B$(E0($,{...wZ(O,W,{...T,...gj},j),...P0(u0,W)}),f)}else z=B$(z,f),R(j);return{epochNanoseconds:R0(z)}}function nT($,O,Z,T){let[j,f]=Y4(O,Z);return J1({...wZ($,O,{...Z,...gj,days:Z.days+f},T),...j})}function wZ($,O,Z,T){if(Z.years||Z.months||Z.weeks)return $.dateAdd(O,Z,T);R(T);let j=Z.days+j0(Z,5)[0];return j?Q1(s1(O,j)):O}function XO($,O,Z=1){return s1(O,Z-$.day(O))}function Y4($,O){let[Z,T]=j0(O,5),[j,f]=IZ(L1($)+T);return[j,Z+f]}function s1($,O){return O?{...$,...LZ(B0($)+O*_0)}:$}function bZ($,O,Z){let T=$(Z.calendar);return gZ(Z)?[Z,T,O(Z.timeZone)]:[{...Z,...p0},T]}function aT($){return $?l2:U0}function vZ($){return $?b(sT,$):nT}function oT($){return $?b(o5,$):r5}function gZ($){return $&&$.epochNanoseconds}function CO($,O){return $<=6-(gZ(O)?1:0)}function rT($,O,Z,T,j,f,z){let W=$(h0(z).relativeTo),J=Math.max(c1(j),c1(f));if(CO(J,W))return i(N$(((G,B,Q,L)=>{let V=B$(j0(G),j0(B),L?-1:1);if(!Number.isFinite(V[0]))throw RangeError(uZ);return{...J0,..._$(V,Q)}})(j,f,J,T)));if(!W)throw RangeError(sZ);T&&(f=Q0(f));let[Y,X,F]=bZ(O,Z,W),C=vZ(F),U=oT(F),D=C(X,Y,j);return i(U(X,Y,C(X,D,f),J))}function X4($,O,Z,T,j){let f=c1(T),[z,W,J,Y,X]=((I,M,E)=>{I=xT(I,DZ);let P=yj(I),$0=E(I[Qz]),g=MT(I),q=EO(I,7),O0=AO(I);if(P===void 0&&O0===void 0)throw RangeError(_7);return O0==null&&(O0=0),P==null&&(P=Math.max(O0,M)),p2(P,O0),g=ST(g,O0,1),[P,O0,g,q,$0]})(j,f,$),F=Math.max(f,z);if(!gZ(X)&&F<=6)return i(N$(((I,M,E,P,$0)=>{let g=EZ(j0(I),E,P,$0);return{...J0,..._$(g,M)}})(T,z,W,J,Y)));if(!X)throw RangeError(sZ);let[C,U,D]=bZ(O,Z,X),G=aT(D),B=vZ(D),Q=oT(D),L=B(U,C,T),V=Q(U,C,L,z),N=T.sign,A=x1(V);if(N&&A&&N!==A)throw RangeError(xO);return A&&(V=AZ(V,G(L),z,W,J,Y,U,C,G,B)),i(V)}function C4($){return $.sign===-1?RZ($):$}function RZ($){return i(Q0($))}function Q0($){let O={};for(let Z of k)O[Z]=-1*$[Z]||0;return O}function F4($){return!$.sign}function x1($,O=k){let Z=0;for(let T of O){let j=Math.sign($[T]);if(j){if(Z&&Z!==j)throw RangeError(x7);Z=j}}return Z}function N$($){for(let O of g7)q0(O,$[O],-f2,f2,1);return D4(g0(j0($),y0)),$}function D4($){if(!Number.isSafeInteger($))throw RangeError(S7)}function j0($,O=6){return U2($,O,k)}function _$($,O=6){let[Z,T]=$,j=BZ(T,O,k);if(j[k[O]]+=Z*(m/a0[O]),!Number.isFinite(j[k[O]]))throw RangeError(uZ);return j}function kZ($,O=5){return BZ($,O,k)}function U4($){return Boolean(x1($,Uz))}function c1($){let O=9;for(;O>0&&!$[k[O]];O--);return O}function a5($,O){return[$,O]}function e6($){let O=Math.floor($/TZ)*TZ;return[O,O+TZ]}function G4($){let O=N1($=zZ($));if(!O)throw RangeError(N0($));let Z;if(O.m)Z=0;else{if(!O.offset)throw RangeError(N0($));Z=A$(O.offset)}return O.timeZone&&Oj(O.timeZone,1),z0(BT(MZ(O),Z))}function B4($){let O=N1(h($));if(!O)throw RangeError(N0($));if(O.timeZone)return N4(O,O.offset?A$(O.offset):void 0);if(O.m)throw RangeError(N0($));return A4(O)}function K4($,O){let Z=N1(h($));if(!Z||!Z.timeZone)throw RangeError(N0($));let{offset:T}=Z,j=T?A$(T):void 0,[,f,z]=QO(O);return N4(Z,j,f,z)}function A$($){let O=Oj($);if(O===void 0)throw RangeError(N0($));return O}function Q4($){let O=N1(h($));if(!O||O.m)throw RangeError(N0($));return a(_4(O))}function qZ($){let O=N1(h($));if(!O||O.m)throw RangeError(N0($));return o(O.p?_4(O):A4(O))}function V4($,O){let Z=eT(h(O));if(Z)return tT(Z),p1(GT(h1(Z)));let T=qZ(O);return p1(XO($(T.calendar),T))}function tT($){if($.calendar!==v)throw RangeError(z1($.calendar))}function I4($,O){let Z=$j(h(O));if(Z)return tT(Z),JZ(h1(Z));let T=qZ(O),{calendar:j}=T,f=$(j),[z,W,J]=f.h(T),[Y,X]=f.I(z,W),[F,C]=f.N(Y,X,J);return JZ(Q1(f.P(F,C,J)),j)}function L4($){let O,Z=((T)=>{let j=JJ.exec(T);return j?(mZ(j[10]),H4(j)):void 0})(h($));if(!Z){if(Z=N1($),!Z)throw RangeError(N0($));if(!Z.p)throw RangeError(N0($));if(Z.m)throw RangeError(z1("Z"));tT(Z)}if((O=eT($))&&o6(O))throw RangeError(N0($));if((O=$j($))&&o6(O))throw RangeError(N0($));return l0(SZ(Z,1))}function M4($){let O=((Z)=>{let T=CJ.exec(Z);return T?((j)=>{function f(X,F,C){let U=0,D=0;if(C&&([U,J]=f1(J,a0[C])),X!==void 0){if(W)throw RangeError(z1(X));D=((G)=>{let B=parseInt(G);if(!Number.isFinite(B))throw RangeError(z1(G));return B})(X),z=1,F&&(J=Zj(F)*(a0[C]/y0),W=1)}return U+D}let z=0,W=0,J=0,Y={...L$(k,[f(j[2]),f(j[3]),f(j[4]),f(j[5]),f(j[6],j[7],5),f(j[8],j[9],4),f(j[10],j[11],3)]),...BZ(J,2,k)};if(!z)throw RangeError(s8(k));return Tj(j[1])<0&&(Y=Q0(Y)),Y})(T):void 0})(h($));if(!O)throw RangeError(N0($));return i(N$(O))}function S4($){let O=N1($)||eT($)||$j($);return O?O.calendar:$}function x4($){let O=N1($);return O&&(O.timeZone||O.m&&$$||O.offset)||$}function N4($,O,Z=0,T=0){let j=yZ($.timeZone),f=Z3(j);return Y0(u1(f,MZ($),O,Z,T,!f.v,$.m),j,IO($.calendar))}function _4($){return E4(J1(MZ($)))}function A4($){return E4(Q1(h1($)))}function E4($){return{...$,calendar:IO($.calendar)}}function N1($){let O=WJ.exec($);return O?((Z)=>{let T=Z[10],j=(T||"").toUpperCase()==="Z";return{isoYear:P4(Z),isoMonth:parseInt(Z[4]),isoDay:parseInt(Z[5]),...H4(Z.slice(5)),...mZ(Z[16]),p:Boolean(Z[6]),m:j,offset:j?void 0:T}})(O):void 0}function eT($){let O=fJ.exec($);return O?((Z)=>({isoYear:P4(Z),isoMonth:parseInt(Z[4]),isoDay:1,...mZ(Z[5])}))(O):void 0}function $j($){let O=zJ.exec($);return O?((Z)=>({isoYear:I$,isoMonth:parseInt(Z[1]),isoDay:parseInt(Z[2]),...mZ(Z[3])}))(O):void 0}function Oj($,O){let Z=YJ.exec($);return Z?((T,j)=>{let f=T[4]||T[5];if(j&&f)throw RangeError(z1(f));return yT((G$(T[2])*aZ+G$(T[3])*nZ+G$(T[4])*y0+Zj(T[5]||""))*Tj(T[1]))})(Z,O):void 0}function P4($){let O=Tj($[1]),Z=parseInt($[2]||$[3]);if(O<0&&!Z)throw RangeError(z1(-0));return O*Z}function H4($){let O=G$($[3]);return{...IZ(Zj($[4]||""))[0],isoHour:G$($[1]),isoMinute:G$($[2]),isoSecond:O===60?59:O}}function mZ($){let O,Z,T=[];if($.replace(XJ,(j,f,z)=>{let W=Boolean(f),[J,Y]=z.split("=").reverse();if(Y){if(Y==="u-ca")T.push(J),O||(O=W);else if(W||/[A-Z]/.test(Y))throw RangeError(z1(j))}else{if(Z)throw RangeError(z1(j));Z=J}return""}),T.length>1&&O)throw RangeError(z1($));return{timeZone:Z,calendar:T[0]||v}}function Zj($){return parseInt($.padEnd(9,"0"))}function E$($){return new RegExp(`^${$}$`,"i")}function Tj($){return $&&$!=="+"?-1:1}function G$($){return $===void 0?0:parseInt($)}function w4($){return yZ(h($))}function yZ($){let O=jj($);return typeof O=="number"?d1(O):O?((Z)=>{if(DJ.test(Z))throw RangeError(Q7);return Z.toLowerCase().split("/").map((T,j)=>(T.length<=3||/\d/.test(T))&&!/etc|yap/.test(T)?T.toUpperCase():T.replace(/baja|dumont|[a-z]+/g,(f,z)=>f.length<=2&&!j||f==="in"||f==="chat"?f.toUpperCase():f.length>2||!z?n6(f).replace(/island|noronha|murdo|rivadavia|urville/,n6):f)).join("/")})($):$$}function $2($){let O=jj($);return typeof O=="number"?O:O?O.resolvedOptions().timeZone:$$}function jj($){let O=Oj($=$.toUpperCase(),1);return O!==void 0?O:$!==$$?FJ($):void 0}function fj($,O){return G0($.epochNanoseconds,O.epochNanoseconds)}function zj($,O){return G0($.epochNanoseconds,O.epochNanoseconds)}function b4($,O,Z,T,j,f){let z=$(h0(f).relativeTo),W=Math.max(c1(T),c1(j));if(F2(k,T,j))return 0;if(CO(W,z))return G0(j0(T),j0(j));if(!z)throw RangeError(sZ);let[J,Y,X]=bZ(O,Z,z),F=aT(X),C=vZ(X);return G0(F(C(Y,J,T)),F(C(Y,J,j)))}function Wj($,O){return n1($,O)||pZ($,O)}function n1($,O){return K1(B0($),B0(O))}function pZ($,O){return K1(L1($),L1(O))}function v4($,O){return!fj($,O)}function g4($,O){return!zj($,O)&&!!cZ($.timeZone,O.timeZone)&&x$($.calendar,O.calendar)}function R4($,O){return!Wj($,O)&&x$($.calendar,O.calendar)}function k4($,O){return!n1($,O)&&x$($.calendar,O.calendar)}function q4($,O){return!n1($,O)&&x$($.calendar,O.calendar)}function m4($,O){return!n1($,O)&&x$($.calendar,O.calendar)}function y4($,O){return!pZ($,O)}function cZ($,O){if($===O)return 1;let Z=W0($),T=W0(O);if(Z===T)return 1;try{return $2(Z)===$2(T)}catch(j){}}function Jj($,O,Z,T){let j=S$($,n(T),3,5),f=iZ(O.epochNanoseconds,Z.epochNanoseconds,...j);return i($?Q0(f):f)}function Yj($,O,Z,T,j,f){let z=lZ(T.calendar,j.calendar),W=n(f),[J,Y,X,F]=S$(Z,W,5),C=T.epochNanoseconds,U=j.epochNanoseconds,D=G0(U,C),G;if(D)if(J<6)G=iZ(C,U,J,Y,X,F);else{let B=O(((L,V)=>{if(!cZ(L,V))throw RangeError(e8);return L})(T.timeZone,j.timeZone)),Q=$(z);G=c4(Q,B,T,j,D,J,W),G=AZ(G,U,J,Y,X,F,Q,T,l2,b(sT,B))}else G=J0;return i(Z?Q0(G):G)}function Xj($,O,Z,T,j){let f=lZ(Z.calendar,T.calendar),z=n(j),[W,J,Y,X]=S$(O,z,6),F=U0(Z),C=U0(T),U=G0(C,F),D;if(U)if(W<=6)D=iZ(F,C,W,J,Y,X);else{let G=$(f);D=i4(G,Z,T,U,W,z),D=AZ(D,C,W,J,Y,X,G,Z,U0,nT)}else D=J0;return i(O?Q0(D):D)}function Cj($,O,Z,T,j){let f=lZ(Z.calendar,T.calendar),z=n(j);return p4(O,()=>$(f),Z,T,...S$(O,z,6,9,6),z)}function Fj($,O,Z,T,j){let f=lZ(Z.calendar,T.calendar),z=n(j),W=S$(O,z,9,9,8),J=$(f);return p4(O,()=>J,XO(J,Z),XO(J,T),...W,z)}function p4($,O,Z,T,j,f,z,W,J){let Y=U0(Z),X=U0(T),F;if(G0(X,Y))if(j===6)F=iZ(Y,X,j,f,z,W);else{let C=O();F=C.dateUntil(Z,T,j,J),f===6&&z===1||(F=AZ(F,X,j,f,z,W,C,Z,U0,wZ))}else F=J0;return i($?Q0(F):F)}function Dj($,O,Z,T){let j=n(T),[f,z,W,J]=S$($,j,5,5),Y=M1(Uj(O,Z),VO(z,W),J),X={...J0,...kZ(Y,f)};return i($?Q0(X):X)}function o5($,O,Z,T,j,f){let z=G0(T.epochNanoseconds,Z.epochNanoseconds);return z?j<6?h4(Z.epochNanoseconds,T.epochNanoseconds,j):c4(O,$,Z,T,z,j,f):J0}function r5($,O,Z,T,j){let f=U0(O),z=U0(Z),W=G0(z,f);return W?T<=6?h4(f,z,T):i4($,O,Z,W,T,j):J0}function c4($,O,Z,T,j,f,z){let[W,J,Y]=((C,U,D,G)=>{function B(){return M={...s1(V,A++*-G),...L},E=E0(C,M),G0(N,E)===-G}let Q=K0(U,C),L=P0(u0,Q),V=K0(D,C),N=D.epochNanoseconds,A=0,I=Uj(Q,V),M,E;if(Math.sign(I)===-G&&A++,B()&&(G===-1||B()))throw RangeError(xO);let P=g0(v0(E,N));return[Q,M,P]})(O,Z,T,j);var X,F;return{...f===6?(X=W,F=J,{...J0,days:l4(X,F)}):$.dateUntil(W,J,f,z),...kZ(Y)}}function i4($,O,Z,T,j,f){let[z,W,J]=((Y,X,F)=>{let C=X,U=Uj(Y,X);return Math.sign(U)===-F&&(C=s1(X,-F),U+=m*F),[Y,C,U]})(O,Z,T);return{...$.dateUntil(z,W,j,f),...kZ(J)}}function iZ($,O,Z,T,j,f){return{...J0,..._$(EZ(v0($,O),T,j,f),Z)}}function h4($,O,Z){return{...J0,..._$(v0($,O),Z)}}function l4($,O){return hZ(B0($),B0(O))}function hZ($,O){return Math.trunc((O-$)/_0)}function Uj($,O){return L1(O)-L1($)}function lZ($,O){if(!x$($,O))throw RangeError(Pj);return $}function t5($){function O(j){return((f,z)=>({...d4(f,z),F:f.month,day:parseInt(f.day)}))(UT(Z,j),T)}let Z=lj($),T=CZ($);return{id:$,O:e5(O),B:$7(O)}}function e5($){return A0((O)=>{let Z=B0(O);return $(Z)},WeakMap)}function $7($){let O=$(0).year-p7;return A0((Z)=>{let T,j=M$(Z-O),f=[],z=[];do j+=400*_0;while((T=$(j)).year<=Z);do j+=(1-T.day)*_0,T.year===Z&&(f.push(j),z.push(T.F)),j-=_0;while((T=$(j)).year>=Z);return{k:f.reverse(),C:Zz(z.reverse())}})}function d4($,O){let Z,T,j=u4($);if($.era){let f=Cz[O];f!==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=j,j=r4(T,f[Z]||0))}return{era:Z,eraYear:T,year:j}}function u4($){return parseInt($.relatedYear||$.year)}function t3($){let{year:O,F:Z,day:T}=this.O($),{C:j}=this.B(O);return[O,j[Z]+1,T]}function FO($,O=1,Z=1){return this.B($).k[O-1]+(Z-1)*_0}function $Z($){let O=Z2(this,$),Z=Z2(this,$-1),T=O.length;if(T>Z.length){let j=t4(this);if(j<0)return-j;for(let f=0;f<T;f++)if(O[f]!==Z[f])return f+1}}function OZ($){return hZ(FO.call(this,$),FO.call(this,$+1))}function O2($,O){let{k:Z}=this.B($),T=O+1,j=Z;return T>Z.length&&(T=1,j=this.B($+1).k),hZ(Z[O-1],j[T-1])}function ZZ($){return this.B($).k.length}function Z2($,O){return Object.keys($.B(O).C)}function s4($){return IO(h($))}function IO($){if(($=$.toLowerCase())!==v&&$!==rZ&&CZ($)!==CZ(lj($).resolvedOptions().calendar))throw RangeError(K7($));return $}function CZ($){return $==="islamicc"&&($="islamic"),$.split("-")[0]}function n4($){return this.R($)[0]}function a4($){return this.R($)[1]}function Gj($){let[O]=this.h($);return hZ(this.q(O),B0($))+1}function o4($){let O=GJ.exec($);if(!O)throw RangeError(G7($));return[parseInt(O[1]),Boolean(O[2])]}function FZ($,O,Z){return $+(O||Z&&$>=Z?1:0)}function e3($,O){return $-(O&&$>=O?1:0)}function r4($,O){return(O+$)*(Math.sign(O)||1)||0}function $T($){return Cz[e4($)]}function t4($){return w7[e4($)]}function e4($){return CZ($.id||v)}function $8($,O,Z,T){let j=_1(Z,T,d0,[],Wz);if(j.timeZone!==void 0){let f=Z.dateFromFields(j),z=a1(j),W=$(j.timeZone);return{epochNanoseconds:u1(O(W),{...f,...z},j.offset!==void 0?A$(j.offset):void 0),timeZone:W}}return{...Z.dateFromFields(j),...p0}}function O8($,O,Z,T,j,f){let z=_1(Z,j,d0,fz,Wz),W=$(z.timeZone),[J,Y,X]=QO(f),F=Z.dateFromFields(z,NZ(f,J)),C=a1(z,J);return Y0(u1(O(W),{...F,...C},z.offset!==void 0?A$(z.offset):void 0,Y,X),W,T)}function Z8($,O,Z){let T=_1($,O,d0,[],C1),j=R(Z);return a(J1({...$.dateFromFields(T,NZ(Z,j)),...a1(T,j)}))}function Bj($,O,Z,T=[]){let j=_1($,O,d0,T);return $.dateFromFields(j,Z)}function Kj($,O,Z,T){let j=_1($,O,bj,T);return $.yearMonthFromFields(j,Z)}function Qj($,O,Z,T,j=[]){let f=_1($,Z,d0,j);return O&&f.month!==void 0&&f.monthCode===void 0&&f.year===void 0&&(f.year=I$),$.monthDayFromFields(f,T)}function T8($,O){let Z=R(O);return l0(a1(n0($,ZT,[],1),Z))}function j8($){let O=n0($,vj);return i(N$({...J0,...O}))}function _1($,O,Z,T=[],j=[]){return n0(O,[...$.fields(Z),...j].sort(),T)}function n0($,O,Z,T=!Z){let j={},f,z=0;for(let W of O){if(W===f)throw RangeError(Y7(W));if(W==="constructor"||W==="__proto__")throw RangeError(Aj(W));let J=$[W];if(J!==void 0)z=1,z2[W]&&(J=z2[W](J,W)),j[W]=J;else if(Z){if(Z.includes(W))throw TypeError(_j(W));j[W]=Xz[W]}f=W}if(T&&!z)throw TypeError(s8(O));return j}function a1($,O){return SZ(VJ({...Xz,...$}),O)}function f8($,O,Z,T,j,f){let z=n(f),{calendar:W,timeZone:J}=Z;return Y0(((Y,X,F,C,U)=>{let D=LO(Y,F,C,d0,zz,jz),[G,B,Q]=QO(U,2);return u1(X,{...Y.dateFromFields(D,NZ(U,G)),...a1(D,G)},A$(D.offset),B,Q)})($(W),O(J),T,j,z),J,W)}function z8($,O,Z,T,j){let f=n(j);return a(((z,W,J,Y)=>{let X=LO(z,W,J,d0,C1),F=R(Y);return J1({...z.dateFromFields(X,NZ(Y,F)),...a1(X,F)})})($(O.calendar),Z,T,f))}function W8($,O,Z,T,j){let f=n(j);return((z,W,J,Y)=>{let X=LO(z,W,J,d0);return z.dateFromFields(X,Y)})($(O.calendar),Z,T,f)}function J8($,O,Z,T,j){let f=n(j);return p1(((z,W,J,Y)=>{let X=LO(z,W,J,bj);return z.yearMonthFromFields(X,Y)})($(O.calendar),Z,T,f))}function Y8($,O,Z,T,j){let f=n(j);return((z,W,J,Y)=>{let X=LO(z,W,J,d0);return z.monthDayFromFields(X,Y)})($(O.calendar),Z,T,f)}function X8($,O,Z){return l0(((T,j,f)=>{let z=R(f);return a1({...P0(ZT,T),...n0(j,ZT)},z)})($,O,Z))}function C8($,O){return i((Z=$,T=O,N$({...Z,...n0(T,vj)})));var Z,T}function LO($,O,Z,T,j=[],f=[]){let z=[...$.fields(T),...j].sort(),W=n0(O,z,f),J=n0(Z,z);return W=$.mergeFields(W,J),n0(W,z,[])}function Vj($,O){let Z=_1($,O,Yz);return $.monthDayFromFields(Z)}function Ij($,O,Z){let T=_1($,O,Jz);return $.yearMonthFromFields(T,Z)}function F8($,O,Z,T,j){O=P0(Z=$.fields(Z),O),T=n0(T,j=$.fields(j),[]);let f=$.mergeFields(O,T);return f=n0(f,[...Z,...j].sort(),[]),$.dateFromFields(f)}function s3($,O){let{era:Z,eraYear:T,year:j}=O,f=$T($);if(Z!==void 0||T!==void 0){if(Z===void 0||T===void 0)throw TypeError(C7);if(!f)throw RangeError(X7);let z=f[Z];if(z===void 0)throw RangeError(D7(Z));let W=r4(T,z);if(j!==void 0&&j!==W)throw RangeError(F7);j=W}else if(j===void 0)throw TypeError(U7(f));return j}function n3($,O,Z,T){let{month:j,monthCode:f}=O;if(f!==void 0){let z=((W,J,Y,X)=>{let F=W.U(Y),[C,U]=o4(J),D=FZ(C,U,F);if(U){let G=t4(W);if(G===void 0)throw RangeError(WO);if(G>0){if(D>G)throw RangeError(WO);if(F===void 0){if(X===1)throw RangeError(WO);D--}}else{if(D!==-G)throw RangeError(WO);if(F===void 0&&X===1)throw RangeError(WO)}}return D})($,f,Z,T);if(j!==void 0&&j!==z)throw RangeError(r8);j=z,T=1}else if(j===void 0)throw TypeError(B7);return q0("month",j,1,$.L(Z),T)}function T2($,O,Z,T,j){return x0(O,"day",1,$.j(T,Z),j)}function a3($,O,Z,T){let j=0,f=[];for(let z of Z)O[z]!==void 0?j=1:f.push(z);if(Object.assign($,O),j)for(let z of T||f)delete $[z]}function D8($){return z0(R0(VZ(QZ($))))}function U8($,O,Z,T,j=v){return Y0(R0(VZ(QZ(Z))),O(T),$(j))}function G8($,O,Z,T,j=0,f=0,z=0,W=0,J=0,Y=0,X=v){return a(J1(MZ(c0(D0,L$(tZ,[O,Z,T,j,f,z,W,J,Y])))),$(X))}function B8($,O,Z,T,j=v){return o(Q1(h1(c0(D0,{isoYear:O,isoMonth:Z,isoDay:T}))),$(j))}function K8($,O,Z,T=v,j=1){let f=D0(O),z=D0(Z),W=$(T);return p1(GT(h1({isoYear:f,isoMonth:z,isoDay:D0(j)})),W)}function Q8($,O,Z,T=v,j=I$){let f=D0(O),z=D0(Z),W=$(T);return JZ(Q1(h1({isoYear:D0(j),isoMonth:f,isoDay:z})),W)}function V8($=0,O=0,Z=0,T=0,j=0,f=0){return l0(SZ(c0(D0,L$(u0,[$,O,Z,T,j,f])),1))}function I8($=0,O=0,Z=0,T=0,j=0,f=0,z=0,W=0,J=0,Y=0){return i(N$(c0(x2,L$(k,[$,O,Z,T,j,f,z,W,J,Y]))))}function Lj($,O,Z=v){return Y0($.epochNanoseconds,O,Z)}function L8($){return z0($.epochNanoseconds)}function Mj($,O){return a(K0(O,$))}function Sj($,O){return o(K0(O,$))}function M8($,O,Z){return Ij($(O.calendar),Z)}function S8($,O,Z){return Vj($(O.calendar),Z)}function xj($,O){return l0(K0(O,$))}function x8($,O,Z,T){let j=((f,z,W,J)=>{let Y=VT(J);return E0(f(z),W,Y)})($,Z,O,T);return Y0(R0(j),Z,O.calendar)}function N8($,O,Z){let T=$(O.calendar);return p1({...O,...Ij(T,Z)})}function _8($,O,Z){return Vj($(O.calendar),Z)}function A8($,O,Z,T,j){let f=$(j.timeZone),z=j.plainTime,W=z!==void 0?O(z):p0;return Y0(E0(Z(f),{...T,...W}),f,T.calendar)}function E8($,O=p0){return a(J1({...$,...O}))}function P8($,O,Z){return Ij($(O.calendar),Z)}function H8($,O,Z){return Vj($(O.calendar),Z)}function w8($,O,Z,T){return((j,f,z)=>F8(j,f,Jz,W1(z),_O))($(O.calendar),Z,T)}function b8($,O,Z,T){return((j,f,z)=>F8(j,f,Yz,W1(z),oZ))($(O.calendar),Z,T)}function v8($,O,Z,T,j){let f=W1(j),z=O(f.plainDate),W=$(f.timeZone);return Y0(E0(Z(W),{...z,...T}),W,z.calendar)}function g8($,O){return a(J1({...$,...O}))}function R8($){return z0(R0(Q$($,y0)))}function k8($){return z0(R0(Q$($,o0)))}function q8($){return z0(R0(VZ(QZ($),r1)))}function m8($){return z0(R0(VZ(QZ($))))}function y8($,O,Z=p0){let T=O.timeZone,j=$(T),f={...K0(O,j),...Z};return Y0(u1(j,f,f.offsetNanoseconds,2),T,O.calendar)}function p8($,O,Z){let T=O.timeZone,j=$(T),f={...K0(O,j),...Z},z=l8(O.calendar,Z.calendar);return Y0(u1(j,f,f.offsetNanoseconds,2),T,z)}function c8($,O=p0){return a({...$,...O})}function i8($,O){return a({...$,...O},l8($.calendar,O.calendar))}function dZ($,O){return{...$,calendar:O}}function h8($,O){return{...$,timeZone:O}}function l8($,O){if($===O)return $;let Z=W0($),T=W0(O);if(Z===T||Z===v)return O;if(T===v)return $;throw RangeError(Pj)}function O7($,O){return(Z)=>Z===v?$:Z===rZ||Z===V$?Object.assign(Object.create($),{id:Z}):Object.assign(Object.create(O),UJ(Z))}function o1($,O,Z){let T=new Set(Z);return(j)=>(((f,z)=>{for(let W of z)if(W in f)return 1;return 0})(j=zT(T,j),$)||Object.assign(j,O),Z&&(j.timeZone=$$,["full","long"].includes(j.timeStyle)&&(j.timeStyle="medium")),j)}function Y1($,O=Nj){let[Z,,,T]=$;return(j,f=RJ,...z)=>{let W=O(T&&T(...z),j,f,Z),J=W.resolvedOptions();return[W,...Z7($,J,z)]}}function Nj($,O,Z,T){if(Z=T(Z),$){if(Z.timeZone!==void 0)throw TypeError(E7);Z.timeZone=$}return new A1(O,Z)}function Z7($,O,Z){let[,T,j]=$;return Z.map((f)=>(f.calendar&&((z,W,J)=>{if((J||z!==v)&&z!==W)throw RangeError(Pj)})(W0(f.calendar),O.calendar,j),T(f,O)))}function P$($){let O=MO();return S1(O,$.getOffsetNanosecondsFor(O))}function MO(){return Q$(Date.now(),o0)}function X1(){return J2||(J2=new A1().resolvedOptions().timeZone)}var T7=($,O)=>`Non-integer ${$}: ${O}`,j7=($,O)=>`Non-positive ${$}: ${O}`,f7=($,O)=>`Non-finite ${$}: ${O}`,z7=($)=>`Cannot convert bigint to ${$}`,W7=($)=>`Invalid bigint: ${$}`,J7="Cannot convert Symbol to string",d8="Invalid object",u8=($,O,Z,T,j)=>j?u8($,j[O],j[Z],j[T]):SO($,O)+`; must be between ${Z}-${T}`,SO=($,O)=>`Invalid ${$}: ${O}`,_j=($)=>`Missing ${$}`,Aj=($)=>`Invalid field ${$}`,Y7=($)=>`Duplicate field ${$}`,s8=($)=>"No valid fields: "+$.join(),n8="Invalid bag",a8=($,O,Z)=>SO($,O)+"; must be "+Object.keys(Z).join(),o8="Cannot use valueOf",Ej="Invalid calling context",X7="Forbidden era/eraYear",C7="Mismatching era/eraYear",F7="Mismatching year/eraYear",D7=($)=>`Invalid era: ${$}`,U7=($)=>"Missing year"+($?"/era/eraYear":""),G7=($)=>`Invalid monthCode: ${$}`,r8="Mismatching month/monthCode",B7="Missing month/monthCode",j2="Cannot guess year",WO="Invalid leap month",t8="Invalid protocol",xO="Invalid protocol results",Pj="Mismatching Calendars",K7=($)=>`Invalid Calendar: ${$}`,e8="Mismatching TimeZones",Q7="Forbidden ICU TimeZone",V7="Out-of-bounds offset",I7="Out-of-bounds TimeZone gap",L7="Invalid TimeZone offset",M7="Ambiguous offset",uZ="Out-of-bounds date",S7="Out-of-bounds duration",x7="Cannot mix duration signs",sZ="Missing relativeTo",N7="Cannot use large units",_7="Required smallestUnit or largestUnit",A7="smallestUnit > largestUnit",N0=($)=>`Cannot parse: ${$}`,z1=($)=>`Invalid substring: ${$}`,$z=($)=>`Cannot format ${$}`,Oz="Mismatching types for formatting",E7="Cannot specify TimeZone",Zz=b(GO,($,O)=>O),H$=b(GO,($,O,Z)=>Z),m0=b(fZ,2),OT={nanosecond:0,microsecond:1,millisecond:2,second:3,minute:4,hour:5,day:6,week:7,month:8,year:9},NO=Object.keys(OT),_0=86400000,Tz=1000,r1=1000,o0=1e6,y0=1e9,nZ=60000000000,aZ=3600000000000,m=86400000000000,a0=[1,r1,o0,y0,nZ,aZ,m],C1=NO.slice(0,6),ZT=BO(C1),jz=["offset"],fz=["timeZone"],zz=C1.concat(jz),Wz=zz.concat(fz),TT=["era","eraYear"],P7=TT.concat(["year"]),oZ=["year"],Hj=["monthCode"],wj=["month"].concat(Hj),_O=["day"],bj=wj.concat(oZ),Jz=Hj.concat(oZ),d0=_O.concat(bj),H7=_O.concat(wj),Yz=_O.concat(Hj),Xz=H$(C1,0),v="iso8601",rZ="gregory",V$="japanese",Cz={[rZ]:{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}},w7={chinese:13,dangi:13,hebrew:-6},h=b(KZ,"string"),Fz=b(KZ,"boolean"),b7=b(KZ,"number"),Dz=b(KZ,"function"),k=NO.map(($)=>$+"s"),vj=BO(k),v7=k.slice(0,6),Uz=k.slice(6),g7=Uz.slice(1),R7=Zz(k),J0=H$(k,0),gj=H$(v7,0),Rj=b(D2,k),u0=["isoNanosecond","isoMicrosecond","isoMillisecond","isoSecond","isoMinute","isoHour"],kj=["isoDay","isoMonth","isoYear"],tZ=u0.concat(kj),qj=BO(kj),Gz=BO(u0),Bz=BO(tZ),p0=H$(Gz,0),k7=b(D2,tZ),A1=Intl.DateTimeFormat,Kz="en-GB",mj=1e8,q7=mj*_0,m7=[mj,0],y7=[-mj,0],DO=275760,UO=-271821,p7=1970,I$=1972,j1=12,c7=M$(1868,9,8),i7=A0(i5,WeakMap),DZ="smallestUnit",jT="unit",YO="roundingIncrement",o3="fractionalSecondDigits",Qz="relativeTo",Vz={constrain:0,reject:1},h7=Object.keys(Vz),l7={compatible:0,reject:1,earlier:2,later:3},d7={reject:0,use:1,prefer:2,ignore:3},u7={auto:0,never:1,critical:2,always:3},s7={auto:0,never:1,critical:2},n7={auto:0,never:1},a7={floor:0,halfFloor:1,ceil:2,halfCeil:3,trunc:4,halfTrunc:5,expand:6,halfExpand:7,halfEven:8},AO=b(NT,DZ),yj=b(NT,"largestUnit"),o7=b(NT,jT),Iz=b(l1,"overflow",Vz),Lz=b(l1,"disambiguation",l7),r7=b(l1,"offset",d7),pj=b(l1,"calendarName",u7),t7=b(l1,"timeZoneName",s7),e7=b(l1,"offset",n7),EO=b(l1,"roundingMode",a7),w$="PlainYearMonth",b$="PlainMonthDay",t1="PlainDate",e1="PlainDateTime",eZ="PlainTime",F1="ZonedDateTime",$3="Instant",O3="Duration",$J=[Math.floor,($)=>eO($)?Math.floor($):Math.round($),Math.ceil,($)=>eO($)?Math.ceil($):Math.round($),Math.trunc,($)=>eO($)?Math.trunc($)||0:Math.round($),($)=>$<0?Math.floor($):Math.ceil($),($)=>Math.sign($)*Math.round(Math.abs($))||0,($)=>eO($)?($=Math.trunc($)||0)+$%2:Math.round($)],$$="UTC",TZ=5184000,OJ=WZ(1847),ZJ=WZ(new Date().getUTCFullYear()+10),TJ=/0+$/,K0=A0(n5,WeakMap),f2=4294967295,Z3=A0(($)=>{let O=jj($);return typeof O=="object"?new Sz(O):new Mz(O||0)});class Mz{constructor($){this.v=$}getOffsetNanosecondsFor(){return this.v}getPossibleInstantsFor($){return[BT($,this.v)]}l(){}}class Sz{constructor($){this.$=((O)=>{function Z(J){let Y=r3(J,z,W),[X,F]=e6(Y),C=j(X),U=j(F);return C===U?C:T(f(X,F),C,U,J)}function T(J,Y,X,F){let C,U;for(;(F===void 0||(C=F<J[0]?Y:F>=J[1]?X:void 0)===void 0)&&(U=J[1]-J[0]);){let D=J[0]+Math.floor(U/2);O(D)===X?J[1]=D:J[0]=D+1}return C}let j=A0(O),f=A0(a5),z=OJ,W=ZJ;return{G(J){let Y=Z(J-86400),X=Z(J+86400),F=J-Y,C=J-X;if(Y===X)return[F];let U=Z(F);return U===Z(C)?[J-U]:Y>X?[F,C]:[]},V:Z,l(J,Y){let X=r3(J,z,W),[F,C]=e6(X),U=TZ*Y,D=Y<0?()=>C>z||(z=X,0):()=>F<W||(W=X,0);for(;D();){let G=j(F),B=j(C);if(G!==B){let Q=f(F,C);T(Q,G,B);let L=Q[0];if((K1(L,J)||1)===Y)return L}F+=U,C+=U}}}})(((O)=>(Z)=>{let T=UT(O,Z*Tz);return WZ(u4(T),parseInt(T.month),parseInt(T.day),parseInt(T.hour),parseInt(T.minute),parseInt(T.second))-Z})($))}getOffsetNanosecondsFor($){return this.$.V(A2($))*y0}getPossibleInstantsFor($){let[O,Z]=[WZ((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((j)=>R0(K$(Q$(j,y0),Z)))}l($,O){let[Z,T]=E2($),j=this.$.l(Z+(O>0||T?1:0),O);if(j!==void 0)return Q$(j,y0)}}var cj="([+\u2212-])",jZ="(?:[.,](\\d{1,9}))?",xz=`(?:(?:${cj}(\\d{6}))|(\\d{4}))-?(\\d{2})`,ij="(\\d{2})(?::?(\\d{2})(?::?(\\d{2})"+jZ+")?)?",hj=cj+ij,jJ=xz+"-?(\\d{2})(?:[T ]"+ij+"(Z|"+hj+")?)?",Nz="\\[(!?)([^\\]]*)\\]",T3=`((?:${Nz}){0,9})`,fJ=E$(xz+T3),zJ=E$("(?:--)?(\\d{2})-?(\\d{2})"+T3),WJ=E$(jJ+T3),JJ=E$("T?"+ij+"(?:"+hj+")?"+T3),YJ=E$(hj),XJ=new RegExp(Nz,"g"),CJ=E$(`${cj}?P(\\d+Y)?(\\d+M)?(\\d+W)?(\\d+D)?(?:T(?:(\\d+)${jZ}H)?(?:(\\d+)${jZ}M)?(?:(\\d+)${jZ}S)?)?`),FJ=A0(($)=>new A1(Kz,{timeZone:$,era:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"})),DJ=/^(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$/,UJ=A0(t5),lj=A0(($)=>new A1(Kz,{calendar:$,timeZone:$$,era:"short",year:"numeric",month:"short",day:"numeric"})),GJ=/^M(\d{2})(L?)$/,BJ={era:zZ,eraYear:D0,year:D0,month:a6,monthCode:zZ,day:a6},KJ=H$(C1,D0),QJ=H$(k,x2),z2=Object.assign({},BJ,KJ,QJ,{offset:zZ}),VJ=b(c5,C1,u0),W2={dateAdd($,O,Z){let T=R(Z),j,{years:f,months:z,weeks:W,days:J}=O;if(J+=j0(O,5)[0],f||z)j=((Y,X,F,C,U)=>{let[D,G,B]=Y.h(X);if(F){let[Q,L]=Y.I(D,G);D+=F,G=FZ(Q,L,Y.U(D)),G=q0("month",G,1,Y.L(D),U)}return C&&([D,G]=Y._(D,G,C)),B=q0("day",B,1,Y.j(D,G),U),Y.q(D,G,B)})(this,$,f,z,T);else{if(!W&&!J)return $;j=B0($)}return j+=(7*W+J)*_0,Q1(LZ(j))},dateUntil($,O,Z){if(Z<=7){let J=0,Y=l4({...$,...p0},{...O,...p0});return Z===7&&([J,Y]=I1(Y,7)),{...J0,weeks:J,days:Y}}let T=this.h($),j=this.h(O),[f,z,W]=((J,Y,X,F,C,U,D)=>{let G=C-Y,B=U-X,Q=D-F;if(G||B){let L=Math.sign(G||B),V=J.j(C,U),N=0;if(Math.sign(Q)===-L){let A=V;[C,U]=J._(C,U,-L),G=C-Y,B=U-X,V=J.j(C,U),N=L<0?-A:V}if(Q=D-Math.min(F,V)+N,G){let[A,I]=J.I(Y,X),[M,E]=J.I(C,U);if(B=M-A||Number(E)-Number(I),Math.sign(B)===-L){let P=L<0&&-J.L(C);G=(C-=L)-Y,B=U-FZ(A,I,J.U(C))+(P||J.L(C))}}}return[G,B,Q]})(this,...T,...j);return Z===8&&(z+=this.J(f,T[0]),f=0),{...J0,years:f,months:z,days:W}},dateFromFields($,O){let Z=R(O),T=s3(this,$),j=n3(this,$,T,Z),f=T2(this,$,j,T,Z);return o(Q1(this.P(T,j,f)),this.id||v)},yearMonthFromFields($,O){let Z=R(O),T=s3(this,$),j=n3(this,$,T,Z);return p1(GT(this.P(T,j,1)),this.id||v)},monthDayFromFields($,O){let Z=R(O),T=!this.id,{monthCode:j,year:f,month:z}=$,W,J,Y,X,F;if(j!==void 0){[W,J]=o4(j),F=Y2($,"day");let C=this.N(W,J,F);if(!C)throw RangeError(j2);if([Y,X]=C,z!==void 0&&z!==X)throw RangeError(r8);T&&(X=q0("month",X,1,j1,1),F=q0("day",F,1,KT(f!==void 0?f:Y,X),Z))}else{Y=f===void 0&&T?I$:s3(this,$),X=n3(this,$,Y,Z),F=T2(this,$,X,Y,Z);let C=this.U(Y);J=X===C,W=e3(X,C);let U=this.N(W,J,F);if(!U)throw RangeError(j2);[Y,X]=U}return JZ(Q1(this.P(Y,X,F)),this.id||v)},fields($){return $T(this)&&$.includes("year")?[...$,...TT]:$},mergeFields($,O){let Z=Object.assign(Object.create(null),$);return a3(Z,O,wj),$T(this)&&(a3(Z,O,P7),this.id===V$&&a3(Z,O,H7,TT)),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:Gj,era($){return this.ee($)[0]},eraYear($){return this.ee($)[1]},monthCode($){let[O,Z]=this.h($),[T,j]=this.I(O,Z);return((f,z)=>"M"+m0(f)+(z?"L":""))(T,j)},dayOfWeek:v2,daysInWeek(){return 7}},IJ={dayOfYear:Gj,h:H2,q:M$},LJ=Object.assign({},IJ,{weekOfYear:n4,yearOfWeek:a4,R($){function O(U){return(7-U<T?7:0)-U}function Z(U){let D=b2(C+U),G=U||1,B=O(JO(J+D*G,7));return X=(D+(B-Y)*G)/7}let T=this.id?1:4,j=v2($),f=this.dayOfYear($),z=JO(j-1,7),W=f-1,J=JO(z-W,7),Y=O(J),X,F=Math.floor((W-Y)/7)+1,C=$.isoYear;return F?F>Z(0)&&(F=1,C++):(F=Z(-1),C--),[F,C,X]}}),MJ={dayOfYear:Gj,h:t3,q:FO,weekOfYear:n4,yearOfWeek:a4,R(){return[]}},v$=O7(Object.assign({},W2,LJ,{h:H2,ee($){return this.id===rZ?g2($):this.id===V$?i7($):[]},I:($,O)=>[O,0],N($,O){if(!O)return[I$,$]},K:QT,U(){},L:w2,J:($)=>$*j1,j:KT,X:b2,P:($,O,Z)=>({isoYear:$,isoMonth:O,isoDay:Z}),q:M$,_:($,O,Z)=>($+=GZ(Z,j1),(O+=JT(Z,j1))<1?($--,O+=j1):O>j1&&($++,O-=j1),[$,O]),year($){return $.isoYear},month($){return $.isoMonth},day:($)=>$.isoDay}),Object.assign({},W2,MJ,{h:t3,ee($){let O=this.O($);return[O.era,O.eraYear]},I($,O){let Z=$Z.call(this,$);return[e3(O,Z),Z===O]},N($,O,Z){let[T,j,f]=t3.call(this,{isoYear:I$,isoMonth:j1,isoDay:31}),z=$Z.call(this,T),W=j===z;(K1($,e3(j,z))||K1(Number(O),Number(W))||K1(Z,f))===1&&T--;for(let J=0;J<100;J++){let Y=T-J,X=$Z.call(this,Y),F=FZ($,O,X);if(O===(F===X)&&Z<=O2.call(this,Y,F))return[Y,F]}},K($){let O=OZ.call(this,$);return O>OZ.call(this,$-1)&&O>OZ.call(this,$+1)},U:$Z,L:ZZ,J($,O){let Z=O+$,T=Math.sign($),j=T<0?-1:0,f=0;for(let z=O;z!==Z;z+=T)f+=ZZ.call(this,z+j);return f},j:O2,X:OZ,P($,O,Z){return LZ(FO.call(this,$,O,Z))},q:FO,_($,O,Z){if(Z){if(O+=Z,!Number.isSafeInteger(O))throw RangeError(uZ);if(Z<0)for(;O<1;)O+=ZZ.call(this,--$);else{let T;for(;O>(T=ZZ.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"],_z={month:V1,day:V1},dj={year:V1,month:V1},uj=Object.assign({},dj,{day:V1}),sj={hour:V1,minute:V1,second:V1},nj=Object.assign({},uj,sj),SJ=Object.assign({},nj,{timeZoneName:"short"}),xJ=Object.keys(dj),NJ=Object.keys(_z),_J=Object.keys(uj),AJ=Object.keys(sj),aj=["dateStyle"],EJ=xJ.concat(aj),PJ=NJ.concat(aj),oj=_J.concat(aj,["weekday"]),PO=AJ.concat(["dayPeriod","timeStyle"]),rj=oj.concat(PO),HJ=rj.concat(g$),wJ=g$.concat(PO),bJ=g$.concat(oj),vJ=g$.concat(["day","weekday"],PO),gJ=g$.concat(["year","weekday"],PO),RJ={},tj=[o1(rj,nj),_Z],Az=[o1(HJ,SJ),_Z,0,($,O)=>{let Z=W0($.timeZone);if(O&&W0(O.timeZone)!==Z)throw RangeError(e8);return Z}],ej=[o1(rj,nj,g$),B0],$f=[o1(oj,uj,wJ),B0],Of=[o1(PO,sj,bJ),($)=>L1($)/o0],Zf=[o1(EJ,dj,vJ),B0,1],Tf=[o1(PJ,_z,gJ),B0,1],J2;function e0($,O,Z,T,j){function f(...J){if(!(this instanceof f))throw TypeError(Ej);wz(this,O(...J))}function z(J,Y){return Object.defineProperties(function(...X){return J.call(this,W(this),...X)},fT(Y))}function W(J){let Y=F0(J);if(!Y||Y.branding!==$)throw TypeError(Ej);return Y}return Object.defineProperties(f.prototype,{...X2(c0(z,Z)),...i1(c0(z,T)),...UZ("Temporal."+$)}),Object.defineProperties(f,{...i1(j),...fT($)}),[f,(J)=>{let Y=Object.create(f.prototype);return wz(Y,J),Y},W]}function gz($){return $=$.concat("id").sort(),(O)=>{if(!C2(O,$))throw TypeError(t8);return O}}function m$($){if(F0($)||$.calendar!==void 0||$.timeZone!==void 0)throw TypeError(n8);return $}function j3($,O){let Z={};for(let T in $)Z[T]=({o:j},f)=>{let z=F0(f)||{},{branding:W}=z,J=W===t1||O.includes(W)?z:I0(f);return j[T](J)};return Z}function zf($){let O={};for(let Z in $)O[Z]=(T)=>{let{calendar:j}=T;return(f=j,typeof f=="string"?v$(f):(z=f,Object.assign(Object.create(rJ),{i:z})))[Z](T);var f,z};return O}function b1(){throw TypeError(o8)}function wO({calendar:$}){return typeof $=="string"?new Gf($):$}function Ez($,O){if(O=n(O),f0($)){let T=F0($);if(T&&T.branding===b$)return R(O),T;let j=qz($);return Qj(C3(j||v),!j,$,O)}let Z=I4(v$,$);return R(O),Z}function Rz($,O,Z){return T=O.call($,V0(z0(Z))),yT(KO(T));var T}function f3($,O=cz){let Z=Object.keys(O).sort(),T={};for(let j of Z)T[j]=b(O[j],$,Dz($[j]));return T}function y($,O){return typeof $=="string"?Z3($):f3($,O)}function t($){return y($,ff)}function r0($){if(f0($)){let O=F0($);if(O)switch(O.branding){case $3:return O;case F1:return z0(O.epochNanoseconds)}}return G4($)}function Pz($,O,Z){let T=O.l(r0(Z).epochNanoseconds,$);return T?V0(z0(T)):null}function c($){return f0($)?(F0($)||{}).timeZone||TY($):((O)=>yZ(x4(h(O))))($)}function E1($,O){if(f0($)){let Z=F0($)||{};switch(Z.branding){case eZ:return R(O),Z;case e1:return R(O),l0(Z);case F1:return R(O),xj(t,Z)}return T8($,O)}return R(O),L4($)}function Wf($){return $===void 0?void 0:E1($)}function R$($,O){if(O=n(O),f0($)){let T=F0($);return T&&T.branding===w$?(R(O),T):Kj(Y3(bO($)),$,O)}let Z=V4(v$,$);return R(O),Z}function P1($,O){if(O=n(O),f0($)){let T=F0($)||{};switch(T.branding){case e1:return R(O),T;case t1:return R(O),a({...T,...p0});case F1:return R(O),Mj(t,T)}return Z8(X3(bO($)),$,O)}let Z=Q4($);return R(O),Z}function I0($,O){if(O=n(O),f0($)){let T=F0($)||{};switch(T.branding){case t1:return R(O),T;case e1:return R(O),o(T);case F1:return R(O),Sj(t,T)}return Bj(X3(bO($)),$,O)}let Z=qZ($);return R(O),Z}function kz($,O,Z){return i0(O.call($,d(o(Z,$))))}function $1($){return(O)=>typeof O=="string"?v$(O):((Z,T)=>{let j=Object.keys(T).sort(),f={};for(let z of j)f[z]=b(T[z],Z,Z[z]);return f})(O,$)}function l($){if(f0($)){let O=F0($);return O&&O.branding===O3?O:j8($)}return M4($)}function HO($){if($!==void 0){if(f0($)){let O=F0($)||{};switch(O.branding){case F1:case t1:return O;case e1:return o(O)}let Z=bO($);return{...$8(c,y,X3(Z),$),calendar:Z}}return B4($)}}function bO($){return qz($)||v}function qz($){let{calendar:O}=$;if(O!==void 0)return C0(O)}function C0($){return f0($)?(F0($)||{}).calendar||QY($):((O)=>IO(S4(h(O))))($)}function k$($,O){if(O=n(O),f0($)){let Z=F0($);if(Z&&Z.branding===F1)return QO(O),Z;let T=bO($);return O8(c,y,X3(T),T,$,O)}return K4($,O)}function Hz($){return c0((O)=>(Z)=>O(jf(Z)),$)}function jf($){return K0($,t)}function kJ(){let $=A1.prototype,O=Object.getOwnPropertyDescriptors($),Z=Object.getOwnPropertyDescriptors(A1),T=function(j,f={}){if(!(this instanceof T))return new T(j,f);Bf.set(this,((z,W={})=>{let J=new A1(z,W),Y=J.resolvedOptions(),X=Y.locale,F=P0(Object.keys(W),Y),C=A0(yJ),U=(...D)=>{let G,B=D.map((Q,L)=>{let V=F0(Q),N=(V||{}).branding;if(L&&G&&G!==N)throw TypeError(Oz);return G=N,V});return G?C(G)(X,F,...B):[J,...D]};return U.u=J,U})(j,f))};for(let j in O){let f=O[j],z=j.startsWith("format")&&qJ(j);typeof f.value=="function"?f.value=j==="constructor"?T:z||mJ(j):z&&(f.get=function(){return z.bind(this)})}return Z.prototype.value=Object.create($,O),Object.defineProperties(T,Z),T}function qJ($){return function(...O){let Z=Bf.get(this),[T,...j]=Z(...O);return T[$](...j)}}function mJ($){return function(...O){return Bf.get(this).u[$](...O)}}function yJ($){let O=pJ[$];if(!O)throw TypeError($z($));return Y1(O,A0(Nj))}var pJ={Instant:tj,PlainDateTime:ej,PlainDate:$f,PlainTime:Of,PlainYearMonth:Zf,PlainMonthDay:Tf},cJ=Y1(tj),iJ=Y1(Az),hJ=Y1(ej),lJ=Y1($f),dJ=Y1(Of),uJ=Y1(Zf),sJ=Y1(Tf),Jf={era:Q2,eraYear:YT,year:KO,month:i0,daysInMonth:i0,daysInYear:i0,inLeapYear:Fz,monthsInYear:i0},W3={monthCode:h},Yf={day:i0},mz={dayOfWeek:i0,dayOfYear:i0,weekOfYear:V2,yearOfWeek:YT,daysInWeek:i0},yz=Object.assign({},Jf,W3,Yf,mz),z3=new WeakMap,F0=z3.get.bind(z3),wz=z3.set.bind(z3),nJ={...j3(Jf,[w$]),...j3(mz,[]),...j3(W3,[w$,b$]),...j3(Yf,[b$])},Xf=zf(yz),aJ=zf({...Jf,...W3}),oJ=zf({...W3,...Yf}),vO={calendarId:($)=>W0($.calendar)},rJ=c0(($,O)=>function(Z){let{i:T}=this;return $(T[O](d(o(Z,T))))},yz),tJ=GO(($)=>(O)=>O[$],k.concat("sign")),Cf=GO(($,O)=>(Z)=>Z[u0[O]],C1),pz={epochSeconds:c2,epochMilliseconds:_Z,epochMicroseconds:i2,epochNanoseconds:h2},gO=b(zT,new Set(["branding"])),[eJ,q$,$Y]=e0(b$,b(Q8,C0),{...vO,...oJ},{getISOFields:gO,getCalendar:wO,with($,O,Z){return q$(Y8(GY,$,this,m$(O),Z))},equals:($,O)=>m4($,Ez(O)),toPlainDate($,O){return d(b8(RO,$,this,O))},toLocaleString($,O,Z){let[T,j]=sJ(O,Z,$);return T.format(j)},toString:gT,toJSON:($)=>gT($),valueOf:b1},{from:($,O)=>q$(Ez($,O))}),cz={getOffsetNanosecondsFor:Rz,getPossibleInstantsFor($,O,Z){let T=[...O.call($,X0(a(Z,v)))].map((f)=>ZY(f).epochNanoseconds),j=T.length;return j>1&&(T.sort(G0),pT(g0(v0(T[0],T[j-1])))),T}},ff={getOffsetNanosecondsFor:Rz},[OY,V0,ZY]=e0($3,D8,pz,{add:($,O)=>V0(cT(0,$,l(O))),subtract:($,O)=>V0(cT(1,$,l(O))),until:($,O,Z)=>p(Jj(0,$,r0(O),Z)),since:($,O,Z)=>p(Jj(1,$,r0(O),Z)),round:($,O)=>V0(u2($,O)),equals:($,O)=>v4($,r0(O)),toZonedDateTime($,O){let Z=W1(O);return r(Lj($,c(Z.timeZone),C0(Z.calendar)))},toZonedDateTimeISO:($,O)=>r(Lj($,c(O))),toLocaleString($,O,Z){let[T,j]=cJ(O,Z,$);return T.format(j)},toString:($,O)=>PT(c,t,$,O),toJSON:($)=>PT(c,t,$),valueOf:b1},{from:($)=>V0(r0($)),fromEpochSeconds:($)=>V0(R8($)),fromEpochMilliseconds:($)=>V0(k8($)),fromEpochMicroseconds:($)=>V0(q8($)),fromEpochNanoseconds:($)=>V0(m8($)),compare:($,O)=>fj(r0($),r0(O))}),[J3,PC]=e0("TimeZone",($)=>{let O=w4($);return{branding:"TimeZone",id:O,o:Z3(O)}},{id:($)=>$.id},{getPossibleInstantsFor:({o:$},O)=>$.getPossibleInstantsFor(P1(O)).map((Z)=>V0(z0(Z))),getOffsetNanosecondsFor:({o:$},O)=>$.getOffsetNanosecondsFor(r0(O).epochNanoseconds),getOffsetStringFor($,O){let Z=r0(O).epochNanoseconds,T=f3(this,ff).getOffsetNanosecondsFor(Z);return d1(T)},getPlainDateTimeFor($,O,Z=v){let T=r0(O).epochNanoseconds,j=f3(this,ff).getOffsetNanosecondsFor(T);return X0(a(S1(T,j),C0(Z)))},getInstantFor($,O,Z){let T=P1(O),j=VT(Z),f=f3(this);return V0(z0(E0(f,T,j)))},getNextTransition:({o:$},O)=>Pz(1,$,O),getPreviousTransition:({o:$},O)=>Pz(-1,$,O),equals($,O){return!!cZ(this,c(O))},toString:($)=>$.id,toJSON:($)=>$.id},{from($){let O=c($);return typeof O=="string"?new J3(O):O}}),TY=gz(Object.keys(cz)),[jY,H1]=e0(eZ,V8,Cf,{getISOFields:gO,with($,O,Z){return H1(X8(this,m$(O),Z))},add:($,O)=>H1(uT(0,$,l(O))),subtract:($,O)=>H1(uT(1,$,l(O))),until:($,O,Z)=>p(Dj(0,$,E1(O),Z)),since:($,O,Z)=>p(Dj(1,$,E1(O),Z)),round:($,O)=>H1(a2($,O)),equals:($,O)=>y4($,E1(O)),toZonedDateTime:($,O)=>r(v8(c,I0,y,$,O)),toPlainDateTime:($,O)=>X0(g8($,I0(O))),toLocaleString($,O,Z){let[T,j]=dJ(O,Z,$);return T.format(j)},toString:RT,toJSON:($)=>RT($),valueOf:b1},{from:($,O)=>H1(E1($,O)),compare:($,O)=>pZ(E1($),E1(O))}),[fY,w1,zY]=e0(w$,b(K8,C0),{...vO,...aJ},{getISOFields:gO,getCalendar:wO,with($,O,Z){return w1(J8(UY,$,this,m$(O),Z))},add:($,O,Z)=>w1(dT(bz,0,$,l(O),Z)),subtract:($,O,Z)=>w1(dT(bz,1,$,l(O),Z)),until:($,O,Z)=>p(Fj(vz,0,$,R$(O),Z)),since:($,O,Z)=>p(Fj(vz,1,$,R$(O),Z)),equals:($,O)=>q4($,R$(O)),toPlainDate($,O){return d(w8(RO,$,this,O))},toLocaleString($,O,Z){let[T,j]=uJ(O,Z,$);return T.format(j)},toString:vT,toJSON:($)=>vT($),valueOf:b1},{from:($,O)=>w1(R$($,O)),compare:($,O)=>n1(R$($),R$(O))}),[WY,X0]=e0(e1,b(G8,C0),{...vO,...Xf,...Cf},{getISOFields:gO,getCalendar:wO,with($,O,Z){return X0(z8(RO,$,this,m$(O),Z))},withCalendar:($,O)=>X0(dZ($,C0(O))),withPlainDate:($,O)=>X0(i8($,I0(O))),withPlainTime:($,O)=>X0(c8($,Wf(O))),add:($,O,Z)=>X0(hT(O$,0,$,l(O),Z)),subtract:($,O,Z)=>X0(hT(O$,1,$,l(O),Z)),until:($,O,Z)=>p(Xj(t0,0,$,P1(O),Z)),since:($,O,Z)=>p(Xj(t0,1,$,P1(O),Z)),round:($,O)=>X0(n2($,O)),equals:($,O)=>R4($,P1(O)),toZonedDateTime:($,O,Z)=>r(x8(y,$,c(O),Z)),toPlainDate:($)=>d(o($)),toPlainTime:($)=>H1(l0($)),toPlainYearMonth($){return w1(N8(Y3,$,this))},toPlainMonthDay($){return q$(_8(C3,$,this))},toLocaleString($,O,Z){let[T,j]=hJ(O,Z,$);return T.format(j)},toString:wT,toJSON:($)=>wT($),valueOf:b1},{from:($,O)=>X0(P1($,O)),compare:($,O)=>Wj(P1($),P1(O))}),[JY,d,iz]=e0(t1,b(B8,C0),{...vO,...Xf},{getISOFields:gO,getCalendar:wO,with($,O,Z){return d(W8(RO,$,this,m$(O),Z))},withCalendar:($,O)=>d(dZ($,C0(O))),add:($,O,Z)=>d(lT(O$,0,$,l(O),Z)),subtract:($,O,Z)=>d(lT(O$,1,$,l(O),Z)),until:($,O,Z)=>p(Cj(t0,0,$,I0(O),Z)),since:($,O,Z)=>p(Cj(t0,1,$,I0(O),Z)),equals:($,O)=>k4($,I0(O)),toZonedDateTime($,O){let Z=!f0(O)||O instanceof J3?{timeZone:O}:O;return r(A8(c,E1,y,$,Z))},toPlainDateTime:($,O)=>X0(E8($,Wf(O))),toPlainYearMonth($){return w1(P8(Y3,$,this))},toPlainMonthDay($){return q$(H8(C3,$,this))},toLocaleString($,O,Z){let[T,j]=lJ(O,Z,$);return T.format(j)},toString:bT,toJSON:($)=>bT($),valueOf:b1},{from:($,O)=>d(I0($,O)),compare:($,O)=>n1(I0($),I0(O))}),Ff={fields($,O,Z){return[...O.call($,Z)]}},hz=Object.assign({dateFromFields($,O,Z,T){return iz(O.call($,Object.assign(Object.create(null),Z),T))}},Ff),lz=Object.assign({yearMonthFromFields($,O,Z,T){return zY(O.call($,Object.assign(Object.create(null),Z),T))}},Ff),dz=Object.assign({monthDayFromFields($,O,Z,T){return $Y(O.call($,Object.assign(Object.create(null),Z),T))}},Ff),Df={mergeFields($,O,Z,T){return W1(O.call($,Object.assign(Object.create(null),Z),Object.assign(Object.create(null),T)))}},YY=Object.assign({},hz,Df),XY=Object.assign({},lz,Df),CY=Object.assign({},dz,Df),Uf={dateAdd($,O,Z,T,j){return iz(O.call($,d(o(Z,$)),p(i(T)),j))}},uz=Object.assign({},Uf,{dateUntil($,O,Z,T,j,f){return KY(O.call($,d(o(Z,$)),d(o(T,$)),Object.assign(Object.create(null),f,{largestUnit:NO[j]})))}}),FY=Object.assign({},Uf,{day:kz}),DY=Object.assign({},uz,{day:kz}),Y3=$1(lz),X3=$1(hz),C3=$1(dz),UY=$1(XY),RO=$1(YY),GY=$1(CY),O$=$1(Uf),t0=$1(uz),bz=$1(FY),vz=$1(DY),[BY,p,KY]=e0(O3,I8,{...tJ,blank:F4},{with:($,O)=>p(C8($,O)),negated:($)=>p(RZ($)),abs:($)=>p(C4($)),add:($,O,Z)=>p(rT(HO,t0,y,0,$,l(O),Z)),subtract:($,O,Z)=>p(rT(HO,t0,y,1,$,l(O),Z)),round:($,O)=>p(X4(HO,t0,y,$,O)),total:($,O)=>d2(HO,t0,y,$,O),toLocaleString($,O,Z){return Intl.DurationFormat?new Intl.DurationFormat(O,Z).format(this):HZ($)},toString:HZ,toJSON:($)=>HZ($),valueOf:b1},{from:($)=>p(l($)),compare:($,O,Z)=>b4(HO,O$,y,l($),l(O),Z)}),sz={toString:($)=>$.id,toJSON:($)=>$.id,...nJ,dateAdd:({id:$,o:O},Z,T,j)=>d(o(O.dateAdd(I0(Z),l(T),j),$)),dateUntil:({o:$},O,Z,T)=>p(i($.dateUntil(I0(O),I0(Z),k2(T)))),dateFromFields:({id:$,o:O},Z,T)=>d(Bj(O,Z,T,K2($))),yearMonthFromFields:({id:$,o:O},Z,T)=>w1(Kj(O,Z,T,G2($))),monthDayFromFields:({id:$,o:O},Z,T)=>q$(Qj(O,0,Z,T,B2($))),fields({o:$},O){let Z=new Set(d0),T=[];for(let j of O){if(h(j),!Z.has(j))throw RangeError(Aj(j));Z.delete(j),T.push(j)}return $.fields(T)},mergeFields:({o:$},O,Z)=>$.mergeFields(WT(XT(O)),WT(XT(Z)))},[Gf]=e0("Calendar",($)=>{let O=s4($);return{branding:"Calendar",id:O,o:v$(O)}},{id:($)=>$.id},sz,{from($){let O=C0($);return typeof O=="string"?new Gf(O):O}}),QY=gz(Object.keys(sz).slice(4)),[VY,r]=e0(F1,b(U8,C0,c),{...pz,...vO,...Hz(Xf),...Hz(Cf),offset:($)=>d1(jf($).offsetNanoseconds),offsetNanoseconds:($)=>jf($).offsetNanoseconds,timeZoneId:($)=>W0($.timeZone),hoursInDay:($)=>o2(y,$)},{getISOFields:($)=>J4(t,$),getCalendar:wO,getTimeZone:({timeZone:$})=>typeof $=="string"?new J3($):$,with($,O,Z){return r(f8(RO,y,$,this,m$(O),Z))},withCalendar:($,O)=>r(dZ($,C0(O))),withTimeZone:($,O)=>r(h8($,c(O))),withPlainDate:($,O)=>r(p8(y,$,I0(O))),withPlainTime:($,O)=>r(y8(y,$,Wf(O))),add:($,O,Z)=>r(iT(O$,y,0,$,l(O),Z)),subtract:($,O,Z)=>r(iT(O$,y,1,$,l(O),Z)),until:($,O,Z)=>p(i(Yj(t0,y,0,$,k$(O),Z))),since:($,O,Z)=>p(i(Yj(t0,y,1,$,k$(O),Z))),round:($,O)=>r(s2(y,$,O)),startOfDay:($)=>r(r2(y,$)),equals:($,O)=>g4($,k$(O)),toInstant:($)=>V0(L8($)),toPlainDateTime:($)=>X0(Mj(t,$)),toPlainDate:($)=>d(Sj(t,$)),toPlainTime:($)=>H1(xj(t,$)),toPlainYearMonth($){return w1(M8(Y3,$,this))},toPlainMonthDay($){return q$(S8(C3,$,this))},toLocaleString($,O,Z={}){let[T,j]=iJ(O,Z,$);return T.format(j)},toString:($,O)=>HT(t,$,O),toJSON:($)=>HT(t,$),valueOf:b1},{from:($,O)=>r(k$($,O)),compare:($,O)=>zj(k$($),k$(O))}),IY=Object.defineProperties({},{...UZ("Temporal.Now"),...i1({timeZoneId:()=>X1(),instant:()=>V0(z0(MO())),zonedDateTime:($,O=X1())=>r(Y0(MO(),c(O),C0($))),zonedDateTimeISO:($=X1())=>r(Y0(MO(),c($),v)),plainDateTime:($,O=X1())=>X0(a(P$(t(c(O))),C0($))),plainDateTimeISO:($=X1())=>X0(a(P$(t(c($))),v)),plainDate:($,O=X1())=>d(o(P$(t(c(O))),C0($))),plainDateISO:($=X1())=>d(o(P$(t(c($))),v)),plainTimeISO:($=X1())=>H1(l0(P$(t(c($)))))})}),y$=Object.defineProperties({},{...UZ("Temporal"),...i1({PlainYearMonth:fY,PlainMonthDay:eJ,PlainDate:JY,PlainTime:jY,PlainDateTime:WY,ZonedDateTime:VY,Instant:OY,Calendar:Gf,TimeZone:J3,Duration:BY,Now:IY})}),LY=kJ(),Bf=new WeakMap,MY=Object.defineProperties(Object.create(Intl),i1({DateTimeFormat:LY}));var Kf=new WeakMap;function xY($){let O=Kf.get($);if(!O)O=$(SY(32).toString("hex")),Kf.set($,O),O.catch(()=>Kf.delete($));return O}async function Qf($,O,Z){if(typeof Z==="string"&&Z!=="")return await $.verifyPassword(O,Z);try{await $.verifyPassword(O,await xY($.hashPassword))}catch{}return!1}var Vf="intended_url";class If extends _{schema={email:{required:"Email is required",string:"Invalid email",email:"Invalid email"},password:{required:"Password is required"}}}class nz extends _{schema={email:{required:"Email is required",email:"Invalid email"}}}class az extends _{schema={password:{required:"Password is required",password:"Invalid password"}}}class e extends m3{async me(){let $=await Z$.user();if(!$)throw new y3;return $}async verifyEmail($=new _){let O=await $.input(),{userProvider:Z}=K(w),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(w),{userProvider:Z}=O,T=$.search.get("token"),j=decodeURIComponent($.search.get("email")).toLowerCase().trim(),f=null;try{f=await Z.findUserMagicLinkToken({email:j,token:T})}catch(W){return console.log(W),{error:JSON.stringify(W)}}if(!f)return{error:"Invalid token"};await Z.verifyUser(j),await Z.deleteMagicLinkToken(j);let z=await O.createOrUpdateSession({email:j});return $.ctx().setCookie("access_token",z.token,K(w).accessTokenCookieOptions($,z.expiresAt)),await O.config.onSignIn(z,$.search.toJSON()),{session:z}}async signInWithPinV2($=new _){let O=K(w),{userProvider:Z}=O,T=await $.input(),{email:j,pin:f}=T.toJSON(),z=j.toLowerCase().trim();if(!await Z.findUserMagicLinkToken({email:z,pin:f}))throw new k0({pin:["Invalid pin"]});await Z.deleteMagicLinkToken(z),await Z.verifyUser(z);let J=await O.createOrUpdateSessionV2({email:z});return $.ctx().setCookie("access_token",J.token,K(w).accessTokenCookieOptions($,J.expiresAt)),await O.config.onSignIn(J,$.search.toJSON()),J}async signInWithPin($=new _){let O=K(w),{userProvider:Z}=O,T=await $.input(),{email:j,pin:f}=T.toJSON(),z=j.toLowerCase().trim();if(!await Z.findUserMagicLinkToken({email:z,pin:f}))throw new k0({pin:["Invalid pin"]});await Z.deleteMagicLinkToken(z),await Z.verifyUser(z);let J=await O.createOrUpdateSession({email:z});return $.ctx().setCookie("access_token",J.token,K(w).accessTokenCookieOptions($,J.expiresAt)),await O.config.onSignIn(J,$.search.toJSON()),{session:J}}async signInV2($=new If){let O=await $.input(),{email:Z,password:T}=O.toJSON(),j=Z.toLowerCase().trim(),f=K(w),z=await f.userProvider.findUserByEmailAddress(j,f.config.verifyEmail),W=await Qf(f.config,T,z?.password);if(!z||!W)throw new k0({invalid_credentials:["Invalid credentials"]});let J=await f.createOrUpdateSessionV2({email:z.email,id:z.id});$.ctx().setCookie("access_token",J.token,K(w).accessTokenCookieOptions($,J.expiresAt)),await f.config.onSignIn(z,$.search.toJSON());let{password:Y,...X}=z;return X}async signIn($=new If){let O=await $.input(),{email:Z,password:T}=O.toJSON(),j=Z.toLowerCase().trim(),f=K(w),z=await f.userProvider.findUserByEmailAddress(j,f.config.verifyEmail),W=await Qf(f.config,T,z?.password);if(!z||!W)throw new k0({invalid_credentials:["Invalid credentials"]});let J=await f.createOrUpdateSession({email:z.email,id:z.id});$.ctx().setCookie("access_token",J.token,K(w).accessTokenCookieOptions($,J.expiresAt)),await f.config.onSignIn(z,$.search.toJSON());let{password:Y,...X}=z;return X}async signUp(){let $=K(w),{userProvider:O,config:Z}=$,T=new Z.signUpRequest,j=await T.input(),{email:f,password:z,name:W,invitationId:J}=j.toJSON(),Y=f.toLowerCase().trim();if(await O.findUserByEmailAddress(Y,!1))throw new k0({email:["Email address already exists"]});let F=await Z.hashPassword(z),C=K(s).detectLocale(T),U;if(J)U=await O.findInvitation(J,Y);let D,G="";if(U)D=await O.transaction(async()=>{await O.deleteInvitationById(J);let B=await O.createUser({email:Y,name:W,password:F,emailVerifiedAt:new Date,locale:C});return await O.createAccount({organizationId:U.organizationId,userId:B.id,organizationRole:U.role}),await Z.onUserCreated(B),B});else G=await Z.generateEmailVerificationToken(Y),D=await O.transaction(async()=>{let B=await O.createUser({email:Y,name:W,password:F,verificationToken:G,locale:C});return await Z.onUserCreated(B),B});return await Z.onSignUp(D,G,T.search.toJSON()),D}async signOut($=new _){let O=R3($),Z=K(w),{config:T}=Z,j=await Z.revokeSession(O,$.headers.get("User-Agent"));if($.ctx().setCookie("access_token","",K(w).accessTokenCookieOptions($,new Date(0))),K(w).cookieDomain($))$.ctx().setCookie("access_token","",{...K(w).accessTokenCookieOptions($,new Date(0)),domain:void 0});if(j?.user)j.user.extension=await T.extendSession(j.user),await T.onSignOut(j.user);return{}}async forgotPassword($=new nz){let Z=(await $.input()).get("email").toLowerCase().trim(),{userProvider:T,config:j}=K(w),f=await T.findUserByEmailAddress(Z,j.verifyEmail);if(!f)return{};let z=await j.generateForgotPasswordToken(f);return await T.createPasswordResetToken({user:f,token:z}),await j.onForgotPassword(f,z),{}}async resetPassword($=new az){let{userProvider:O,config:Z}=K(w),T=await $.input(),{password:j,token:f}=T.toJSON(),z=await O.findPasswordResetToken({token:f});if(!z)throw new k0({token:["Invalid token"]});if(y$.Instant.from(z.createdAt.toISOString()).add({hours:24}).until(y$.Now.instant()).sign>=0)throw new k0({token:["Token expired"]});await O.deletePasswordResetToken({token:f});let J=await O.findUserByEmailAddress(z.user.email,Z.verifyEmail);if(!J)throw new k0({email:["User not found"]});let Y=await Z.hashPassword(j);return await O.updateUserPassword({id:J.id,password:Y}),await O.deleteAllUserSessions(J.id),await Z.onResetPassword(J),{}}async changePassword($=new _){let{userProvider:O,config:Z}=K(w),T=await Z$.user(),j=await $.input(),{oldPassword:f,newPassword:z}=j.toJSON(),W=await O.findUserByEmailAddress(T.email,Z.verifyEmail);if(!await Qf(Z,f,W?.password))throw new k0({oldPassword:["Incorrect password"]});let Y=await Z.hashPassword(z);return await O.updateUserPassword({id:T.id,password:Y}),await O.deleteAllUserSessions(T.id),{}}async oauthRedirect($=new _){let{provider:O}=$.params,Z=K(w).config.oauthProviders[O];if(!Z)throw Error(`Invalid provider: ${O}`);let T=ZO($.search.get(D$),"");if(T)$.ctx().setCookie(Vf,encodeURIComponent(T),{httpOnly:!0,sameSite:"Lax",secure:P6($.rawRequest),maxAge:600});return{destination:await Z.getRedirectUrl($)}}async oauthCallback($=new _){let{provider:O}=$.params,Z=K(w),{userProvider:T,config:j}=Z,f=j.oauthProviders[O],{email:z,name:W,username:J,providerId:Y}=await f.onCallback($),X=Y?await T.findUserBySocialAccount(O,Y):null,F="signin";if(!X){if(!z)return console.error("Authentication error: No email returned from OAuth provider callback"),{session:null};let G=K(s).detectLocale($);try{let B=await this.linkOAuthAccount({provider:O,providerId:Y,email:z,name:W,username:J,locale:G});if(B)X=B.user,F=B.action}catch(B){let Q=Y?await T.findUserBySocialAccount(O,Y):null;if(!Q)throw B;X=Q}if(!X)return{session:null}}let C=await Z.createOrUpdateSessionV2({email:X.email,id:X.id});if($.ctx().setCookie("access_token",C.token,K(w).accessTokenCookieOptions($,C.expiresAt)),F==="signup")await j.onSignUp(X,"",$.search.toJSON());else await j.onSignIn(X,$.search.toJSON());let U=$.cookies.get(Vf),D=j.redirectPath;if(U){try{D=ZO(decodeURIComponent(U),D)}catch{}$.ctx().setCookie(Vf,"",{maxAge:-1})}return{session:C,redirectTo:D}}async linkOAuthAccount($){let{provider:O,providerId:Z,email:T,name:j,username:f,locale:z}=$,{userProvider:W,config:J}=K(w),Y=(C)=>({provider:O,userId:C,email:T,username:f,providerId:Z,expiresAt:new Date,accessToken:"",refreshToken:""}),X=await W.findUserByEmailAddress(T,!1);if(X){if(!Z)return{user:X,action:"signin"};let C=await W.findSocialAccounts(X.id,O);if(C.some((D)=>D.providerId===Z))return{user:X,action:"signin"};if(C.some((D)=>D.providerId))return console.error(`Authentication error: user ${X.id} is already linked to a different ${O} account`),null;let U=C[0];if(U){if(!await W.claimSocialAccount(U,Z))throw Error(`${O} account link changed concurrently`)}else await W.createSocialAccount(Y(X.id));return{user:X,action:"signin"}}return{user:await W.transaction(async()=>{let C=await W.createUser({email:T,name:j,locale:z,emailVerifiedAt:new Date});if(Z)await W.createSocialAccount(Y(C.id));return await J.onUserCreated(C),C}),action:"signup"}}async createMagicLinkToken($=new _){let Z=(await $.input()).get("email").toLowerCase().trim(),T=K(w),{user:j,pin:f,token:z}=await T.createMagicLinkToken(Z);if(j)return await T.config.onMagicLinkCreated(j,{email:Z,pin:f,token:z}),{email:Z};return{email:null}}}class oz extends B1{middlewares=["cache:private"];routes={"/:provider":this.view("_Redirect",[e,"oauthRedirect"]),"/:provider/callback":this.view("auth/OauthCallback",[e,"oauthCallback"])}}class Lf extends B1{middlewares=["cache:private"];routes={"/sign-in/magic-link":this.view("auth/MagicLinkSignIn",[e,"signInWithMagicLink"]),"/oauth":oz}}class Mf extends S0{middlewares=["cache:private"];routes={"/sign-in":this.post(e,"signIn"),"/sign-in-v2":this.post(e,"signInV2"),"/sign-up":this.post(e,"signUp"),"/sign-out":this.post(e,"signOut"),"/forgot-password":this.post(e,"forgotPassword"),"/reset-password":this.post(e,"resetPassword"),"/change-password":this.post(e,"changePassword"),"/verify-email":this.post(e,"verifyEmail"),"/me":this.get(e,"me").middleware(["auth"]),"/magic-link":this.post(e,"createMagicLinkToken"),"/sign-in-with-pin":this.post(e,"signInWithPin"),"/sign-in-with-pin-v2":this.post(e,"signInWithPinV2")}}class Sf extends S0{middlewares=["cache:private,0,no-store"];routes={"/set-locale/:locale":this.get(async()=>{let O=new _().params.locale;return await K(s).onLocaleChange(O),{locale:O}}),"/translations/:locale/:scope*":this.get(async()=>{let $=new _,O=`/${$.params.scope??""}`,Z=$.params.locale,T=K(s),j=Z??T.detectLocale($),f=T.getPageTranslations(j,O);return $.ctx().setCookie("i18n-locale",j,{expires:new Date(Date.now()+31536000000)}),{[j]:f}})}}class xf{}class Nf extends xf{async resize($,O){let{height:Z,width:T,quality:j,fit:f}=O;return await(await F3("The Sharp image optimization driver"))($).resize(T>0?T:void 0,Z>0?Z:void 0,{fit:f}).webp({quality:j>0?j:80,force:!0}).toBuffer()}}function zF($){return $}function rz(){return{driver:new Nf}}class _f extends S0{routes={"/resize":this.file(async()=>{let $=new _,O=new URL($.rawRequest.url),Z=O.searchParams.get("url"),T=Number(O.searchParams.get("w")),j=Number(O.searchParams.get("h")),f=O.searchParams.get("fit")??"cover",z=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}`,Y=await fetch(J);if(!Y.ok)return new Response(JSON.stringify({error:"Image not found",info:J}),{headers:{"Content-Type":"application/json"},status:404});let X=Buffer.from(await Y.arrayBuffer()),F=await K(tz).resize(X,{height:j,width:T,fit:f,quality:z});Y.headers.delete("Content-Type"),Y.headers.delete("Content-Length");let C=new Headers(Y.headers);return C.set("Content-Type","image/webp"),C.set("Content-Length",`${F.byteLength}`),new Response(new Uint8Array(F),{headers:C})})}}class tz{static token="image";driver;constructor($={}){this.driver=$.driver??rz().driver}resize($,O){return this.driver.resize($,O)}}class Af extends S0{middlewares=["cache:private,0"];routes={"/live":this.get(async()=>{let $=Bun.file(K(ez).currentLogFilePath);return new Response(await $.text(),{headers:{"Content-Type":"text/plain"}})})}}function NY($){let O=new Map;for(let Z of $)if(typeof Z==="string"){let[T,j=""]=Z.split(":");if(T.startsWith("-")){if(O.has(T.replace("-","")))O.delete(T.replace("-",""))}else O.set(T,j.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(NY($).entries()).map(([Z,T])=>{if(typeof Z==="string"){let j=this.aliases[Z];if(j){let f=new j(O);return()=>f.run.call(f,...T)}}else{if(uO(Z)){let j=new Z(O);return j.run.bind(j)}return Z}}).filter(Boolean).reduce((Z,T)=>{return async()=>{return{...await Z(),...await T()}}},()=>Promise.resolve({}))()}}function IF($){return $}function $W(){return{onRequestStart:()=>{},onRequestEnd:()=>{},onRequestFail:()=>{}}}function OW(){return{partialRendering:!0,onRequestStart:()=>{},onRequestEnd:()=>{},onRequestFail:()=>{},onStreamComplete:()=>{}}}function _Y($){return"run"in $}function AY($){return Object.hasOwn($,"get")||Object.hasOwn($,"post")||Object.hasOwn($,"put")||Object.hasOwn($,"delete")}function EY($){return Object.hasOwn($,"first")&&Object.hasOwn($,"second")}function PY($){if("__brand"in $)return $.__brand==="ApiRouter";return!1}function HY($){if("__internal_brand"in $)return $.__internal_brand==="ProxyHandler";return!1}function wY($){if("__internal_brand"in $)return $.__internal_brand==="StreamHandler";return!1}function Ef($,O="",Z=[]){let T={};function j(f,z,W,J,Y){let X=f==="/"?"":f,F=O==="/"?"":O,C=(`${F}${X}`===""?"/":`${F}${X}`).replaceAll("//","/");if(!T[C])T[C]={};T[C][z.toUpperCase()]={exec:W,middleware:[...Z,...J],...Y?{source:Y}:{}},T[C].OPTIONS={exec:()=>{let D=new _().ctx().headers;return new Response(null,{headers:D,status:204})},middleware:[]}}for(let[f,z]of Object.entries($)){if(HY(z)){let W=z;for(let J of["GET","POST","PUT","DELETE"])j(f,J,W.run.bind(W),[]);continue}if(_Y(z)){let W=z,J=W.method,Y=W.middlewares,X=W.run.bind(W);if(j(f,J,X,Y,W.source),wY(z))j(f,"HEAD",X,Y,W.source)}if(AY(z))for(let[W,J]of Object.entries(z)){let Y=J.middlewares,X=J.run.bind(J);j(f,W,X,Y,J.source)}if(PY(z)){let W=new z,J=Ef(W.routes,`${O}${f}`,W.middlewares);for(let[Y,X]of Object.entries(J))T[Y.replaceAll("//","/")]=X}if(EY(z)){let{first:W,second:J}=z;for(let[Y,X]of Object.entries(W)){let F=X.middlewares,C=X.run.bind(X),[U,...D]=f.split("/").reverse();if(!U.startsWith(":"))throw Error("Resource route must end with a dynamic segment");j(D.reverse().join("/"),Y,C,F,X.source)}for(let[Y,X]of Object.entries(J)){let F=X.middlewares,C=X.run.bind(X);j(f,Y,C,F,X.source)}}}return Object.fromEntries(Object.entries(T).sort(([f],[z])=>{let W=f.split("/").length+f.split(":").length,J=z.split("/").length+z.split(":").length;return W-J}))}function D3($){return $.replace(/\([^)]*\)/g,"").replace(/\/\//g,"/")}function Pf($,O){if($==="/")return O;if(O==="/")return $;return`${$}${O}`}function Hf($){let O=D3($);return O.length>1?O.replace(/\/$/,""):O}function ZW($,O){return O.map((Z)=>({...Z,path:Hf(Pf($,Z.path))}))}function U3($){let O={};for(let[Z,T]of Object.entries($))if("run"in T){let j=T;if("children"in j){let f=new j.children,z=U3(f.routes);for(let[W,{exec:J,middleware:Y,segments:X,features:F}]of Object.entries(z)){let C=Pf(Z,W),U=(D)=>j.run.call(j,D,Z);O[D3(C)]={exec:[U,...J],middleware:[...j.middlewares,...Y],features:[...j.featureGates,...F],viewPath:j.viewPath,segments:[{path:Hf(Z),viewPath:j.viewPath,...j.alwaysRuns?{alwaysRun:!0}:{}},...ZW(Z,X)]}}}else{let f=(z)=>j.run.call(j,z,Z);O[D3(Z)]={exec:[f],middleware:j.middlewares,features:j.featureGates,viewPath:j.viewPath,segments:[{path:Hf(Z),viewPath:j.viewPath}]}}}else{let j=new T,f=U3(j.routes);for(let[z,{exec:W,middleware:J,viewPath:Y,segments:X,features:F}]of Object.entries(f)){let C=Pf(Z,z);O[D3(C)]={exec:W,middleware:[...j.middlewares,...J],features:[...j.featureGates,...F],viewPath:Y,segments:ZW(Z,X)}}}return Object.fromEntries(Object.entries(O).sort(([Z],[T])=>{let j=Z.split("/").length+Z.split(":").length,f=T.split("/").length+T.split(":").length;return j-f}))}var bY=Object.defineProperty,S=($,O)=>bY($,"name",{value:O,configurable:!0}),i$=class{type=3;name="";prefix="";value="";suffix="";modifier=3;constructor($,O,Z,T,j,f){this.type=$,this.name=O,this.prefix=Z,this.value=T,this.suffix=j,this.modifier=f}hasCustomName(){return this.name!==""&&typeof this.name!="number"}};S(i$,"Part");var vY=/[$_\p{ID_Start}]/u,gY=/[$_\u200C\u200D\p{ID_Continue}]/u,bf=".*";function TW($,O){return(O?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test($)}S(TW,"isASCII");function Rf($,O=!1){let Z=[],T=0;for(;T<$.length;){let j=$[T],f=S(function(z){if(!O)throw TypeError(z);Z.push({type:"INVALID_CHAR",index:T,value:$[T++]})},"ErrorOrInvalid");if(j==="*"){Z.push({type:"ASTERISK",index:T,value:$[T++]});continue}if(j==="+"||j==="?"){Z.push({type:"OTHER_MODIFIER",index:T,value:$[T++]});continue}if(j==="\\"){Z.push({type:"ESCAPED_CHAR",index:T++,value:$[T++]});continue}if(j==="{"){Z.push({type:"OPEN",index:T,value:$[T++]});continue}if(j==="}"){Z.push({type:"CLOSE",index:T,value:$[T++]});continue}if(j===":"){let z="",W=T+1;for(;W<$.length;){let J=$.substr(W,1);if(W===T+1&&vY.test(J)||W!==T+1&&gY.test(J)){z+=$[W++];continue}break}if(!z){f(`Missing parameter name at ${T}`);continue}Z.push({type:"NAME",index:T,value:z}),T=W;continue}if(j==="("){let z=1,W="",J=T+1,Y=!1;if($[J]==="?"){f(`Pattern cannot start with "?" at ${J}`);continue}for(;J<$.length;){if(!TW($[J],!1)){f(`Invalid character '${$[J]}' at ${J}.`),Y=!0;break}if($[J]==="\\"){W+=$[J++]+$[J++];continue}if($[J]===")"){if(z--,z===0){J++;break}}else if($[J]==="("&&(z++,$[J+1]!=="?")){f(`Capturing groups are not allowed at ${J}`),Y=!0;break}W+=$[J++]}if(Y)continue;if(z){f(`Unbalanced pattern at ${T}`);continue}if(!W){f(`Missing pattern at ${T}`);continue}Z.push({type:"REGEX",index:T,value:W}),T=J;continue}Z.push({type:"CHAR",index:T,value:$[T++]})}return Z.push({type:"END",index:T,value:""}),Z}S(Rf,"lexer");function kf($,O={}){let Z=Rf($);O.delimiter??="/#?",O.prefixes??="./";let T=`[^${H0(O.delimiter)}]+?`,j=[],f=0,z=0,W="",J=new Set,Y=S((V)=>{if(z<Z.length&&Z[z].type===V)return Z[z++].value},"tryConsume"),X=S(()=>Y("OTHER_MODIFIER")??Y("ASTERISK"),"tryConsumeModifier"),F=S((V)=>{let N=Y(V);if(N!==void 0)return N;let{type:A,index:I}=Z[z];throw TypeError(`Unexpected ${A} at ${I}, expected ${V}`)},"mustConsume"),C=S(()=>{let V="",N;for(;N=Y("CHAR")??Y("ESCAPED_CHAR");)V+=N;return V},"consumeText"),U=S((V)=>V,"DefaultEncodePart"),D=O.encodePart||U,G="",B=S((V)=>{G+=V},"appendToPendingFixedValue"),Q=S(()=>{G.length&&(j.push(new i$(3,"","",D(G),"",3)),G="")},"maybeAddPartFromPendingFixedValue"),L=S((V,N,A,I,M)=>{let E=3;switch(M){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;j.push(new i$(3,"","",D(V),"",E));return}let P;A?A==="*"?P=bf:P=A:P=T;let $0=2;P===T?($0=1,P=""):P===bf&&($0=0,P="");let g;if(N?g=N:A&&(g=f++),J.has(g))throw TypeError(`Duplicate name '${g}'.`);J.add(g),j.push(new i$($0,g,D(V),P,D(I),E))},"addPart");for(;z<Z.length;){let V=Y("CHAR"),N=Y("NAME"),A=Y("REGEX");if(!N&&!A&&(A=Y("ASTERISK")),N||A){let M=V??"";O.prefixes.indexOf(M)===-1&&(B(M),M=""),Q();let E=X();L(M,N,A,"",E);continue}let I=V??Y("ESCAPED_CHAR");if(I){B(I);continue}if(Y("OPEN")){let M=C(),E=Y("NAME"),P=Y("REGEX");!E&&!P&&(P=Y("ASTERISK"));let $0=C();F("CLOSE");let g=X();L(M,E,P,$0,g);continue}Q(),F("END")}return j}S(kf,"parse");function H0($){return $.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}S(H0,"escapeString");function vf($){return $&&$.ignoreCase?"ui":"u"}S(vf,"flags");function jW($,O,Z){return qf(kf($,Z),O,Z)}S(jW,"stringToRegexp");function T$($){switch($){case 0:return"*";case 1:return"?";case 2:return"+";case 3:return""}}S(T$,"modifierToString");function qf($,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 W of $){if(W.type===3){W.modifier===3?T+=H0(W.value):T+=`(?:${H0(W.value)})${T$(W.modifier)}`;continue}O&&O.push(W.name);let J=`[^${H0(Z.delimiter)}]+?`,Y=W.value;if(W.type===1?Y=J:W.type===0&&(Y=bf),!W.prefix.length&&!W.suffix.length){W.modifier===3||W.modifier===1?T+=`(${Y})${T$(W.modifier)}`:T+=`((?:${Y})${T$(W.modifier)})`;continue}if(W.modifier===3||W.modifier===1){T+=`(?:${H0(W.prefix)}(${Y})${H0(W.suffix)})`,T+=T$(W.modifier);continue}T+=`(?:${H0(W.prefix)}`,T+=`((?:${Y})(?:`,T+=H0(W.suffix),T+=H0(W.prefix),T+=`(?:${Y}))*)${H0(W.suffix)})`,W.modifier===0&&(T+="?")}let j=`[${H0(Z.endsWith)}]|$`,f=`[${H0(Z.delimiter)}]`;if(Z.end)return Z.strict||(T+=`${f}?`),Z.endsWith.length?T+=`(?=${j})`:T+="$",new RegExp(T,vf(Z));Z.strict||(T+=`(?:${f}(?=${j}))?`);let z=!1;if($.length){let W=$[$.length-1];W.type===3&&W.modifier===3&&(z=Z.delimiter.indexOf(W)>-1)}return z||(T+=`(?=${f}|${j})`),new RegExp(T,vf(Z))}S(qf,"partsToRegexp");var g1={delimiter:"",prefixes:"",sensitive:!0,strict:!0},RY={delimiter:".",prefixes:"",sensitive:!0,strict:!0},kY={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function fW($,O){return $.length?$[0]==="/"?!0:!O||$.length<2?!1:($[0]=="\\"||$[0]=="{")&&$[1]=="/":!1}S(fW,"isAbsolutePathname");function mf($,O){return $.startsWith(O)?$.substring(O.length,$.length):$}S(mf,"maybeStripPrefix");function zW($,O){return $.endsWith(O)?$.substr(0,$.length-O.length):$}S(zW,"maybeStripSuffix");function yf($){return!$||$.length<2?!1:$[0]==="["||($[0]==="\\"||$[0]==="{")&&$[1]==="["}S(yf,"treatAsIPv6Hostname");var WW=["ftp","file","http","https","ws","wss"];function pf($){if(!$)return!0;for(let O of WW)if($.test(O))return!0;return!1}S(pf,"isSpecialScheme");function JW($,O){if($=mf($,"#"),O||$==="")return $;let Z=new URL("https://example.com");return Z.hash=$,Z.hash?Z.hash.substring(1,Z.hash.length):""}S(JW,"canonicalizeHash");function YW($,O){if($=mf($,"?"),O||$==="")return $;let Z=new URL("https://example.com");return Z.search=$,Z.search?Z.search.substring(1,Z.search.length):""}S(YW,"canonicalizeSearch");function XW($,O){return O||$===""?$:yf($)?lf($):hf($)}S(XW,"canonicalizeHostname");function CW($,O){if(O||$==="")return $;let Z=new URL("https://example.com");return Z.password=$,Z.password}S(CW,"canonicalizePassword");function FW($,O){if(O||$==="")return $;let Z=new URL("https://example.com");return Z.username=$,Z.username}S(FW,"canonicalizeUsername");function DW($,O,Z){if(Z||$==="")return $;if(O&&!WW.includes(O))return new URL(`${O}:${$}`).pathname;let T=$[0]=="/";return $=new URL(T?$:"/-"+$,"https://example.com").pathname,T||($=$.substring(2,$.length)),$}S(DW,"canonicalizePathname");function UW($,O,Z){return cf(O)===$&&($=""),Z||$===""?$:df($)}S(UW,"canonicalizePort");function GW($,O){return $=zW($,":"),O||$===""?$:G3($)}S(GW,"canonicalizeProtocol");function cf($){switch($){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}S(cf,"defaultPortForProtocol");function G3($){if($==="")return $;if(/^[-+.A-Za-z0-9]*$/.test($))return $.toLowerCase();throw TypeError(`Invalid protocol '${$}'.`)}S(G3,"protocolEncodeCallback");function BW($){if($==="")return $;let O=new URL("https://example.com");return O.username=$,O.username}S(BW,"usernameEncodeCallback");function KW($){if($==="")return $;let O=new URL("https://example.com");return O.password=$,O.password}S(KW,"passwordEncodeCallback");function hf($){if($==="")return $;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test($))throw TypeError(`Invalid hostname '${$}'`);let O=new URL("https://example.com");return O.hostname=$,O.hostname}S(hf,"hostnameEncodeCallback");function lf($){if($==="")return $;if(/[^0-9a-fA-F[\]:]/g.test($))throw TypeError(`Invalid IPv6 hostname '${$}'`);return $.toLowerCase()}S(lf,"ipv6HostnameEncodeCallback");function df($){if($===""||/^[0-9]*$/.test($)&&parseInt($)<=65535)return $;throw TypeError(`Invalid port '${$}'.`)}S(df,"portEncodeCallback");function QW($){if($==="")return $;let O=new URL("https://example.com");return O.pathname=$[0]!=="/"?"/-"+$:$,$[0]!=="/"?O.pathname.substring(2,O.pathname.length):O.pathname}S(QW,"standardURLPathnameEncodeCallback");function VW($){return $===""?$:new URL(`data:${$}`).pathname}S(VW,"pathURLPathnameEncodeCallback");function IW($){if($==="")return $;let O=new URL("https://example.com");return O.search=$,O.search.substring(1,O.search.length)}S(IW,"searchEncodeCallback");function LW($){if($==="")return $;let O=new URL("https://example.com");return O.hash=$,O.hash.substring(1,O.hash.length)}S(LW,"hashEncodeCallback");var MW=class{#f;#T=[];#O={};#$=0;#j=1;#Y=0;#W=0;#D=0;#U=0;#G=!1;constructor($){this.#f=$}get result(){return this.#O}parse(){for(this.#T=Rf(this.#f,!0);this.#$<this.#T.length;this.#$+=this.#j){if(this.#j=1,this.#T[this.#$].type==="END"){if(this.#W===0){this.#V(),this.#X()?this.#Z(9,1):this.#C()?this.#Z(8,1):this.#Z(7,0);continue}else if(this.#W===2){this.#F(5);continue}this.#Z(10,0);break}if(this.#D>0)if(this.#_())this.#D-=1;else continue;if(this.#N()){this.#D+=1;continue}switch(this.#W){case 0:this.#I()&&this.#F(1);break;case 1:if(this.#I()){this.#P();let $=7,O=1;this.#M()?($=2,O=3):this.#G&&($=2),this.#Z($,O)}break;case 2:this.#K()?this.#F(3):(this.#Q()||this.#C()||this.#X())&&this.#F(5);break;case 3:this.#S()?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.#C()?this.#Z(8,1):this.#X()&&this.#Z(9,1);break;case 6:this.#Q()?this.#Z(7,0):this.#C()?this.#Z(8,1):this.#X()&&this.#Z(9,1);break;case 7:this.#C()?this.#Z(8,1):this.#X()&&this.#Z(9,1);break;case 8:this.#X()&&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.#W){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.#W!==0&&$!==10&&([1,2,3,4].includes(this.#W)&&[6,7,8,9].includes($)&&(this.#O.hostname??=""),[1,2,3,4,5,6].includes(this.#W)&&[8,9].includes($)&&(this.#O.pathname??=this.#G?"/":""),[1,2,3,4,5,6,7].includes(this.#W)&&$===9&&(this.#O.search??="")),this.#L($,O)}#L($,O){this.#W=$,this.#Y=this.#$+O,this.#$+=O,this.#j=0}#V(){this.#$=this.#Y,this.#j=0}#F($){this.#V(),this.#W=$}#B($){return $<0&&($=this.#T.length-$),$<this.#T.length?this.#T[$]:this.#T[this.#T.length-1]}#z($,O){let Z=this.#B($);return Z.value===O&&(Z.type==="CHAR"||Z.type==="ESCAPED_CHAR"||Z.type==="INVALID_CHAR")}#I(){return this.#z(this.#$,":")}#M(){return this.#z(this.#$+1,"/")&&this.#z(this.#$+2,"/")}#K(){return this.#z(this.#$,"@")}#S(){return this.#z(this.#$,":")}#x(){return this.#z(this.#$,":")}#Q(){return this.#z(this.#$,"/")}#C(){if(this.#z(this.#$,"?"))return!0;if(this.#T[this.#$].value!=="?")return!1;let $=this.#B(this.#$-1);return $.type!=="NAME"&&$.type!=="REGEX"&&$.type!=="CLOSE"&&$.type!=="ASTERISK"}#X(){return this.#z(this.#$,"#")}#N(){return this.#T[this.#$].type=="OPEN"}#_(){return this.#T[this.#$].type=="CLOSE"}#A(){return this.#z(this.#$,"[")}#E(){return this.#z(this.#$,"]")}#J(){let $=this.#T[this.#$],O=this.#B(this.#Y).index;return this.#f.substring(O,$.index)}#P(){let $={};Object.assign($,g1),$.encodePart=G3;let O=jW(this.#J(),void 0,$);this.#G=pf(O)}};S(MW,"Parser");var wf=["protocol","username","password","hostname","port","pathname","search","hash"],v1="*";function gf($,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}}S(gf,"extractValues");function O1($,O){return O?c$($):$}S(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=GW(O.protocol,Z)),typeof O.username=="string"&&($.username=FW(O.username,Z)),typeof O.password=="string"&&($.password=CW(O.password,Z)),typeof O.hostname=="string"&&($.hostname=XW(O.hostname,Z)),typeof O.port=="string"&&($.port=UW(O.port,$.protocol,Z)),typeof O.pathname=="string"){if($.pathname=O.pathname,T&&!fW($.pathname,Z)){let j=T.pathname.lastIndexOf("/");j>=0&&($.pathname=O1(T.pathname.substring(0,j+1),Z)+$.pathname)}$.pathname=DW($.pathname,$.protocol,Z)}return typeof O.search=="string"&&($.search=YW(O.search,Z)),typeof O.hash=="string"&&($.hash=JW(O.hash,Z)),$}S(p$,"applyInit");function c$($){return $.replace(/([+*?:{}()\\])/g,"\\$1")}S(c$,"escapePatternString");function SW($){return $.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}S(SW,"escapeRegexpString");function xW($,O){O.delimiter??="/#?",O.prefixes??="./",O.sensitive??=!1,O.strict??=!1,O.end??=!0,O.start??=!0,O.endsWith="";let Z=".*",T=`[^${SW(O.delimiter)}]+?`,j=/[$_\u200C\u200D\p{ID_Continue}]/u,f="";for(let z=0;z<$.length;++z){let W=$[z];if(W.type===3){if(W.modifier===3){f+=c$(W.value);continue}f+=`{${c$(W.value)}}${T$(W.modifier)}`;continue}let J=W.hasCustomName(),Y=!!W.suffix.length||!!W.prefix.length&&(W.prefix.length!==1||!O.prefixes.includes(W.prefix)),X=z>0?$[z-1]:null,F=z<$.length-1?$[z+1]:null;if(!Y&&J&&W.type===1&&W.modifier===3&&F&&!F.prefix.length&&!F.suffix.length)if(F.type===3){let C=F.value.length>0?F.value[0]:"";Y=j.test(C)}else Y=!F.hasCustomName();if(!Y&&!W.prefix.length&&X&&X.type===3){let C=X.value[X.value.length-1];Y=O.prefixes.includes(C)}Y&&(f+="{"),f+=c$(W.prefix),J&&(f+=`:${W.name}`),W.type===2?f+=`(${W.value})`:W.type===1?J||(f+=`(${T})`):W.type===0&&(!J&&(!X||X.type===3||X.modifier!==3||Y||W.prefix!=="")?f+="*":f+=`(${Z})`),W.type===1&&J&&W.suffix.length&&j.test(W.suffix[0])&&(f+="\\"),f+=c$(W.suffix),Y&&(f+="}"),W.modifier!==3&&(f+=T$(W.modifier))}return f}S(xW,"partsToPattern");var uf=class{#f;#T={};#O={};#$={};#j={};#Y=!1;constructor($={},O,Z){try{let T;if(typeof O=="string"?T=O:Z=O,typeof $=="string"){let W=new MW($);if(W.parse(),$=W.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 j={ignoreCase:Z.ignoreCase===!0},f={pathname:v1,protocol:v1,username:v1,password:v1,hostname:v1,port:v1,search:v1,hash:v1};this.#f=p$(f,$,!0),cf(this.#f.protocol)===this.#f.port&&(this.#f.port="");let z;for(z of wf){if(!(z in this.#f))continue;let W={},J=this.#f[z];switch(this.#O[z]=[],z){case"protocol":Object.assign(W,g1),W.encodePart=G3;break;case"username":Object.assign(W,g1),W.encodePart=BW;break;case"password":Object.assign(W,g1),W.encodePart=KW;break;case"hostname":Object.assign(W,RY),yf(J)?W.encodePart=lf:W.encodePart=hf;break;case"port":Object.assign(W,g1),W.encodePart=df;break;case"pathname":pf(this.#T.protocol)?(Object.assign(W,kY,j),W.encodePart=QW):(Object.assign(W,g1,j),W.encodePart=VW);break;case"search":Object.assign(W,g1,j),W.encodePart=IW;break;case"hash":Object.assign(W,g1,j),W.encodePart=LW;break}try{this.#j[z]=kf(J,W),this.#T[z]=qf(this.#j[z],this.#O[z],W),this.#$[z]=xW(this.#j[z],W),this.#Y=this.#Y||this.#j[z].some((Y)=>Y.type===2)}catch{throw TypeError(`invalid ${z} pattern '${this.#f[z]}'.`)}}}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,gf($,O),!1)}catch{return!1}let T;for(T of wf)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,gf($,O),!1)}catch{return null}let T={};O?T.inputs=[$,O]:T.inputs=[$];let j;for(j of wf){let f=this.#T[j].exec(Z[j]);if(!f)return null;let z={};for(let[W,J]of this.#O[j].entries())if(typeof J=="string"||typeof J=="number"){let Y=f[W+1];z[J]=Y}T[j]={input:Z[j]??"",groups:z}}return T}static compareComponent($,O,Z){let T=S((W,J)=>{for(let Y of["type","modifier","prefix","value","suffix"]){if(W[Y]<J[Y])return-1;if(W[Y]===J[Y])continue;return 1}return 0},"comparePart"),j=new i$(3,"","","","",3),f=new i$(0,"","","","",3),z=S((W,J)=>{let Y=0;for(;Y<Math.min(W.length,J.length);++Y){let X=T(W[Y],J[Y]);if(X)return X}return W.length===J.length?0:T(W[Y]??j,J[Y]??j)},"comparePartList");return!O.#$[$]&&!Z.#$[$]?0:O.#$[$]&&!Z.#$[$]?z(O.#j[$],[f]):!O.#$[$]&&Z.#$[$]?z([f],Z.#j[$]):z(O.#j[$],Z.#j[$])}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.#Y}};S(uf,"URLPattern");function qO($,O){for(let[Z,T]of Object.entries($)){let j=new uf({pathname:Z});if(j.test({pathname:O}))return{routePath:Z,params:j.exec({pathname:O})?.pathname.groups??{},route:T}}return null}var j$={startIndex:0,carriedViews:[]};function NW($,O){let Z=T0($.path,O);return Z.includes("*")?null:Z}function qY($,O){if(!$)return j$;if($.search!==O.search)return j$;let Z=Math.min($.segments.length,O.segments.length-1),T=0;while(T<Z){let j=$.segments[T],f=O.segments[T];if(f.alwaysRun)break;if(j.viewPath!==f.viewPath)break;let z=NW(j,$.params),W=NW(f,O.params);if(z===null||W===null||z!==W)break;T++}if(T===0)return j$;return{startIndex:T,carriedViews:O.segments.slice(0,T).map(({viewPath:j})=>j)}}function mY($,O){let[,Z,...T]=$.split("/");if(!O.includes(Z))return $;let j=`/${T.join("/")}`;return j==="/"?"/":j.replace(/\/$/,"")}function _W($){let{flatViewRoutes:O,supportedLocales:Z,from:T,origin:j,to:f}=$;if(!T)return j$;let z;try{z=new URL(T,j)}catch{return j$}if(z.origin!==j)return j$;let W=qO(O,mY(z.pathname,Z));if(!W)return j$;return qY({segments:W.route.segments,params:W.params,search:z.search},f)}var sf="x-gemi-from";import{createElement as a$,Fragment as WX}from"react";function yY($){return $.replace(/\([^)]*\)/g,"").replace(/\/\//g,"/")}function B3($){let O={};for(let[Z,T]of Object.entries($))if("run"in T){let j=T.viewPath;if("children"in T){O[Z]=[j];let f=new T.children,z=B3(f.routes);for(let[W,J]of Object.entries(z)){let Y=Z==="/"?W:`${Z}${W}`,X=W==="/"&&Z!=="/"?Z:Y;O[X]=[j,...J]}if(O[Z].length===1)delete O[Z]}else O[Z]=[j]}else{let j=new T,f=B3(j.routes);for(let[z,W]of Object.entries(f)){let J=Z==="/"?z:`${Z}${z}`,Y=z==="/"&&Z!=="/"?Z:J;O[Y]=W}}return Object.fromEntries(Object.entries(O).map(([Z,T])=>[yY(Z),T]))}function K3($){let O=[];for(let[Z,T]of Object.entries($))if("run"in T){let j=T.viewPath;if(j==="__")continue;if(j==="REDIRECT")continue;if(j==="FILE")continue;if("children"in T){let f=new T.children,z=K3(f.routes);O.push([j,z])}else O.push([j,[]])}else{let j=new T,f=K3(j.routes);O.push(...f)}return O}function nf($){let O=[];for(let[Z,T]of $)O.push(Z,...nf(T).flat());return Array.from(new Set(O))}class h$ extends w0{static getFacadeAccessor(){return s}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 af{id;static token="kernel.id";constructor($=crypto.randomUUID()){this.id=$}}var pY=new Set(["script","style","textarea","title","xmp","iframe","noembed","noframes","noscript"]),cY=new Set(["svg","math"]);function AW($){return $===32||$===9||$===10||$===12||$===13}function EW($){return $>=65&&$<=90||$>=97&&$<=122}function Q3($){return $>=65&&$<=90?$+32:$}function PW(){let $="data",O="",Z=!1,T="",j=0,f=0,z=!1,W=0,J=0,Y=()=>$==="data"&&W===0&&J===0,X=()=>{if(!Z&&pY.has(O)){$="rawText",T=`</${O}`,j=0,O="";return}if($="data",O==="template")if(Z)W=Math.max(0,W-1);else W+=1;else if(cY.has(O)){if(Z)J=Math.max(0,J-1);else if(!z)J+=1}O=""},F=(C)=>{switch($){case"data":if(C===60)$="tagOpen";return;case"tagOpen":if(C===33)$="bang",f=0;else if(C===47)$="endTagOpen";else if(EW(C))$="tagName",Z=!1,z=!1,O=String.fromCharCode(Q3(C));else if(C===63)$="bogus";else if(C===60)$="tagOpen";else $="data";return;case"endTagOpen":if(EW(C))$="tagName",Z=!0,z=!1,O=String.fromCharCode(Q3(C));else if(C===62)$="data";else $="bogus";return;case"tagName":if(AW(C)||C===47)$="inTag",z=C===47;else if(C===62)X();else O+=String.fromCharCode(Q3(C));return;case"inTag":if(C===62){X();return}if(z=C===47,C===34)$="attrDouble";else if(C===39)$="attrSingle";return;case"attrDouble":if(C===34)$="inTag";z=!1;return;case"attrSingle":if(C===39)$="inTag";z=!1;return;case"bang":if(C===45){if(f+=1,f===2)$="comment",f=0}else if(C===62)$="data";else $="bogus";return;case"bogus":if(C===62)$="data";return;case"comment":if(C===45)f=f<2?f+1:2;else if(C===62&&f>=2)$="data",f=0;else f=0;return;case"rawText":{if(j<T.length){if(Q3(C)===T.charCodeAt(j))j+=1;else j=C===60?1:0;return}if(C===62)$="data",O="";else if(AW(C)||C===47)$="inTag",O="";else j=C===60?1:0;return}}};return{scanToInsertionPoint(C){for(let U=0;U<C.length;U++){if(Y())return U;F(C[U])}return C.length},write(C){for(let U=0;U<C.length;U++)F(C[U])},isSafe:Y}}function f$($){let O=JSON.stringify($);if(O===void 0)return"undefined";return O.replace(/</g,"\\u003c").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function iY($){return`<script>(self.__GEMI_STREAM__=self.__GEMI_STREAM__||[]).push(${f$([$.path,$.variantKey,$.data])})</script>`}function hY($){return`<script>(self.__GEMI_DICT__=self.__GEMI_DICT__||[]).push(${f$([$.id,$.locale,$.strings])})</script>`}function of($,O,Z={},T){let j=new TextEncoder,f=[],z=!1,W=!1,J=()=>{if(W)return;W=!0,Z.onClose?.()};O.onSettle((D)=>{if(D.status!=="resolved")return;f.push(iY(D))}),T?.onUse((D)=>{f.push(hY(D))});let Y=$.getReader(),X=PW(),F=(D,G)=>{D.enqueue(G),Z.onChunk?.(G)},C=(D)=>{while(f.length>0){let G=j.encode(f.shift());X.write(G),F(D,G)}},U=(D,G)=>{if(f.length===0){X.write(G),F(D,G);return}let B=X.scanToInsertionPoint(G);if(B>0)F(D,G.subarray(0,B));if(X.isSafe())C(D);let Q=G.subarray(B);if(Q.length>0)X.write(Q),F(D,Q)};return new ReadableStream({async pull(D){let G;try{G=await Y.read()}catch(L){throw J(),L}let{done:B,value:Q}=G;if(B){C(D),D.close(),J();return}if(!z){if(z=!0,X.write(Q),F(D,Q),Z.onShell?.(),X.isSafe())C(D);return}U(D,Q)},cancel(D){return J(),Y.cancel(D)}})}var lY=/bot|crawler|spider|crawling|slurp|bingpreview|mediapartners|headless|lighthouse|prerender|facebookexternalhit|whatsapp|telegram|discord|twitterbot|linkedinbot/i;function V3($){if(!$)return!1;return lY.test($)}async function wW($,O=()=>{}){let Z=x.getStore(),T=Z?.req??null,j=null;if(T?.rawRequest?.url)try{j=new URL(T.rawRequest.url).pathname}catch{j=null}return{user:Z?.user??null,attributes:await dY($,O),request:{path:j,routePath:T?.routePath??null,locale:Z?.locale??null},anonymousId:HW(),isBot:V3(T?.rawRequest?.headers?.get("user-agent")??null),now:new Date}}function bW($){return{user:$.user??null,attributes:$.attributes??{},request:{path:null,routePath:null,locale:null},anonymousId:$.subjectId??null,isBot:!1,now:new Date}}async function dY($,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 vW($,O){return`${$}:${O}`}function rf($){let O=new Bun.CryptoHasher("sha1").update($).digest("hex"),Z=Number.parseInt(O.slice(0,8),16);return Math.floor(Z/4294967296*1e4)}function gW($,O){if(O>=100)return!0;if(O<=0)return!1;return $<Math.round(O*100)}function RW($,O,Z,T){if(T.unavailable)return{value:!1,reason:"unavailable"};if(T.active!==!0)return{value:!1,reason:"inactive"};if(O.when){let f;try{f=O.when(Z)}catch(z){return T.warn?.(`The \`when\` for feature "${$}" threw; treating it as off. ${z instanceof Error?z.message:String(z)}`),{value:!1,reason:"error"}}if(typeof f==="boolean")return{value:f,reason:"attributed"}}if(O.rollout===void 0)return{value:!0,reason:"on"};if(Z.isBot)return{value:!1,reason:"bot"};let j=sY($,O,Z,T.buckets);return gW(j,O.rollout)?{value:!0,reason:"rollout"}:{value:!1,reason:"excluded"}}function uY($){let O=$.user?.publicId??$.user?.id;if(O!==void 0&&O!==null)return String(O);return $.anonymousId??""}function sY($,O,Z,T){let j=vW(O.salt??$,uY(Z));if(!T)return rf(j);let f=T.get(j);if(f!==void 0)return f;let z=rf(j);return T.set(j,z),z}class kW 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 tf{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 kW(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 j=typeof T?.key==="string"?T.key:null;if(!j){this.warn("Ignoring a feature row with no `key`.");continue}if(!(j in this.declared)){this.warn(`Feature row "${j}" is not declared in app/features, so it is ignored. Delete the row, or declare the feature.`);continue}O.set(j,T.active===!0);let f=nY(T);if(f)Z.set(j,f)}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 nY($){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 j=T instanceof Date?T:new Date(T);if(!Number.isNaN(j.getTime()))O.updatedAt=j}return"updatedBy"in O||"updatedAt"in O?O:null}class aY{}class oY 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 ef 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 qW 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 mW{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 tf($.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,j])=>({key:T,describe:j.describe,rollout:j.rollout,targeted:j.when!==void 0,serverOnly:j.serverOnly,salt:j.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 qW(String($));if(typeof O!=="boolean")throw TypeError(`Features.set("${$}", \u2026) takes a boolean, not ${O===null?"null":typeof O}.`);let T=rY(Z.actor),j=this.config.source;if(typeof j.write!=="function")throw new ef(j.constructor?.name||"an anonymous source");let{actorRecorded:f}=await j.write($,O,{actor:T});if(T!==null&&!f&&!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 mW(this,bW($))}async evaluateIn($,O,Z){let T=this.memoFor(O),j=T?.get($);if(j)return j;let f=this.declared[$];if(!f)return{value:!1,reason:"undeclared"};let{active:z,unavailable:W}=await this.switchFor($),J=RW($,f,O,{active:z,unavailable:W,buckets:Z,warn:this.log});return T?.set($,J),this.notify($,J,O),J}async evaluateAllIn($,O,Z){let T={};for(let[j,f]of Object.entries(this.declared)){if(Z.clientOnly&&f.serverOnly)continue;T[j]=(await this.evaluateIn(j,$,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 wW(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 rY($){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 yW($){return Object.fromEntries(Object.entries($).filter(([,O])=>{return O!==null&&O!==void 0}))}var tY=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 j=JSON.stringify($.data)?.length??0;O=j>=1024?`${(j/1024).toFixed(1)} kB`:`${j} 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??{},j=new URLSearchParams(yW(O.search??{}));j.delete("json"),j.sort();let f=T0($,T),z=j.toString(),W=this.keyFor(f,z),J=this.entries.get(W);if(J)return J;let Y;if(Z==="render"&&this.renderStartedAt!==null){let U=Math.round(performance.now()-this.renderStartedAt);if(U>tY)Y=U}let X,F=new Promise((U)=>{X=U}),C={path:f,patternPath:$,variantKey:z,lateBy:Y,status:"pending",promise:F,source:Z,startedAt:this.elapsed()};return this.entries.set(W,C),this.fetcher($,T,j).then((U)=>{C.status="resolved",C.data=U},(U)=>{C.status="rejected",C.error=U}).then(()=>{if(C.settledAt=this.elapsed(),this.maybeLogLateDiscovery(C),C.status==="rejected"&&this.failListener)this.failListener(C);if(this.settleListener)this.settleListener(C);else this.settledBacklog.push(C);X()}),C}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 R1 extends Error{path;variantKey;status;body;retryAfter;constructor($,O,Z,T,j){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=j;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 $6(){return{status:403,error:{message:"Forbidden"}}}function mO($){let O=s$.getStore();return(Z,T,j)=>{let f=new URL($.url).origin,z=[T0(Z,T),j.toString()].filter((X)=>X.length>0).join("?"),W=new Request(`${f}/${z}`,{headers:$.headers}),J=pW($);if(J)n$(W,J);let Y=new _(W,T);return s$.run(O,()=>x.run(Y,async()=>{try{let X=await K(s0).dispatchers(J).api.getRouteData(Z);if(F$(X)){if(!X.ok)throw new R1(T0(Z,T),j.toString(),X.status,X.body);return X.body}if(X instanceof Response){let F=await X.json().catch(()=>null);if(!X.ok)throw new R1(T0(Z,T),j.toString(),X.status,F);return F}return X}catch(X){if(X instanceof R1)throw X;let F=new R1(T0(Z,T),j.toString(),500,{message:X instanceof Error?X.message:String(X)});throw F.cause=X,F}}))}}var eY=new Set(["script","style","template","title"]),$X=/\shidden([\s=/]|$)/i,OX=/"[^"]*"|'[^']*'/g;function ZX($){let O=0,Z=0,T=0,j=0;while(j<$.length){let f=$.indexOf("<",j),z=f===-1?$.length:f;if(z>j){let F=$.slice(j,z).replace(/\s+/g,"").length;if(T>0)Z+=F;else O+=F}if(f===-1)break;if($.startsWith("<!--",f)){let F=$.indexOf("-->",f+4);j=F===-1?$.length:F+3;continue}let W=$.indexOf(">",f);if(W===-1)break;let J=$.slice(f+1,W);j=W+1;let Y=/^\/?([a-zA-Z][a-zA-Z0-9-]*)/.exec(J)?.[1]?.toLowerCase();if(!Y)continue;let X=J.startsWith("/");if(!X&&eY.has(Y)&&!J.endsWith("/")){let F=$.indexOf(`</${Y}`,j);j=F===-1?$.length:F;continue}if(Y!=="div")continue;if(X){if(T>0)T-=1}else if(T>0)T+=1;else if($X.test(J.replace(OX,'""')))T=1}return{shellChars:O,deferredChars:Z}}var TX=1000,jX=64;function fX($){return $>=1000?`${($/1000).toFixed(1)} kB`:`${$} chars`}function zX($,O){if(O.deferredChars<TX)return null;if(O.shellChars>=jX)return null;return`[gemi] GET ${$} streams ${fX(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 cW($=console.warn){let O=new Set;return{shouldObserve(Z){return!O.has(Z)},report(Z,T){if(O.has(Z))return;let j=zX(Z,T);if(!j)return;O.add(Z),$(j)}}}function iW(){let $=new TextDecoder,O="";return{onChunk(Z){O+=$.decode(Z,{stream:!0})},measure(){return O+=$.decode(),ZX(O)}}}function hW($,O,Z=1e4,T){let j=new TextEncoder,f=()=>{};return new ReadableStream({start(z){let W=!1,J=(X)=>{if(W)return;W=!0,clearTimeout(Y);try{z.close()}catch{}T?.({aborted:X})};f=J,z.enqueue(j.encode(`${JSON.stringify($)}
|
|
3
|
+
`)),O.onSettle((X)=>{if(W||X.status!=="resolved")return;z.enqueue(j.encode(`${JSON.stringify([X.path,X.variantKey,X.data])}
|
|
4
|
+
`))});let Y=setTimeout(()=>J(!0),Z);O.allSettled().then(()=>J(!1),()=>J(!1))},cancel(){f(!1)}})}var JX=async()=>(await import("./chunk-wwdaswxh.js")).default,O6,Z6=async(...$)=>{return O6??=import("react-dom/server.browser").catch((O)=>{throw O6=void 0,O}),(await O6).renderToReadableStream(...$)},YX=1e4,XX=`
|
|
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 CX($,O,Z){let T=`${Z==="italic"?"italic,":""}wght@${Z==="italic"?"1,":""}${O}`,z=(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(z).then((W)=>W.arrayBuffer())}var f6="/assets";function FX($){return $===f6||$.startsWith(`${f6}/`)}function DX($){let O=$.filter(FX);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 "${f6}" prefix. The client build output is served from there before the router runs, so the route would never match. Mount it somewhere else.`)}}function UX($){let O=K(s0).resolver;return{...$.domain,root:O.root,origin:O.publicOrigin($.rawRequest)}}function T6($){let{status:O=400,error:Z}=$;return new Response(Z?.message,{...$,status:O})}function GX($){let{status:O=400,data:Z,directive:T,headers:j}=$;return new Response(JSON.stringify({data:Z,directive:T}),{headers:j,status:O})}class cO{static token="router.view";flatViewRoutes={};routeManifest={};clientRouteManifest={};componentTree=[];flatComponentTree=[];root=null;shellReporter=cW();preloadCache=new WeakMap;hooks;partialRendering;constructor($){let O=OW();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":Lf};this.flatViewRoutes=U3(Z),DX(Object.keys(this.flatViewRoutes)),this.routeManifest=B3(Z),this.clientRouteManifest=Object.fromEntries(Object.entries(this.routeManifest).filter(([,T])=>T.at(-1)!=="FILE")),this.componentTree=K3(Z),this.flatComponentTree=nf(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 j6(),await this.hooks.onRequestEnd($)}completeStream($,O){let Z=(T)=>{z$.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:j}=$,f=()=>{let J=new Set(O?.preload??[]);for(let Y of T)for(let X of Z?.[Y]??[])J.add(X);return[...J].map((Y)=>a$("link",{key:`modulepreload:${Y}`,rel:"modulepreload",href:Y}))};if(!Z)return f();let z=this.preloadCache.get(Z);if(!z||z.clientEntry!==O)z={clientEntry:O,byRoute:new Map},this.preloadCache.set(Z,z);let W=z.byRoute.get(j);if(!W)W=f(),z.byRoute.set(j,W);return W}async render($){let{req:O,runInRequestScope:Z,csrfTokenHMAC:T,currentPathName:j,headers:f,i18n:z,params:W,pathname:J,serverQueries:Y,userAgent:X,noStream:F,url:C,user:U,viewData:D,breadcrumbs:G,urlLocaleSegment:B,meta:Q,isOgRequest:L,appId:V,features:N}=$,A=J.replace(`/${B}`,""),I={kind:"view",data:{meta:Q,pageData:{[A]:D},__csrf:T.toString("base64"),prefetchedData:{},i18n:z,auth:{user:U},routeManifest:this.clientRouteManifest,breadcrumbs:G,router:{urlLocaleSegment:B,pathname:j,params:W,currentPath:J,searchParams:C.search,is404:!j?!0:!1,domain:O.domain?UX(O):null},appId:V,features:N,componentTree:[["404",[]],...this.componentTree]},head:{}},M=this.root,E=this.routeManifest[j];return async(P)=>{let{bootstrapModules:$0=[],loaders:g,getStyles:q,viewImportMap:O0,cssManifest:N3,ogMap:iO,viewModules:W$,clientEntry:T1,modulePreloadManifest:k1,assetBase:Z0}=P,t$=T1?[]:$0,hO=(M0)=>[M0,`window.loaders=${g}`,...T1?[`import(${JSON.stringify(T1.module)}).catch(function(e){setTimeout(function(){throw e})})`]:[]].join(";");if(L){let M0=null,X$=null;for(let C$ of E??[])if(typeof iO[C$]==="function")X$=C$,M0=iO[C$];if(!M0)return new Response("Not found",{status:404});let K5=Object.values(I.data.pageData)[0];try{await Z6(a$(M0,K5[X$]),{onError:()=>{}})}catch(C$){let{fonts:Q5,...V5}=C$.satoriOptions,I5=await Promise.all(Q5.map((dO)=>{return CX(dO.name,dO.weight,dO.style).then((N5)=>({...dO,data:N5}))})),U6=new Headers(f);U6.set("Content-Type","image/png");let[L5,M5]=await Promise.all([JX(),F3("Rendering an OG image")]),S5=await L5(C$.jsx,{...V5,fonts:I5}),x5=await M5(Buffer.from(S5)).png({compressionLevel:0,effort:10}).toBuffer();return new Response(new Uint8Array(x5),{headers:U6})}return new Response("data")}if(I.data.cssManifest=N3,I.data.modulePreloadManifest=k1??{},Z0&&Z0!=="/")I.data.assetBase=Z0;let J$=this.modulePreloadLinks({clientEntry:T1,modulePreloadManifest:k1,views:E??["404"],routeKey:j??"404"}),e$=await q(E);I.data.prefetchedData=Y.snapshotResolved(),Y.markRenderStart();let U1=new AbortController,lO=setTimeout(()=>U1.abort(),YX),H=V3(X)||F,L0=Bun.env.NODE_ENV!=="production"&&!H&&j&&this.shellReporter.shouldObserve(j)?iW():null,Y$=uW();try{let M0=await Z6(a$(WX,{children:[...J$,...e$,a$("script",{key:"theme-script",dangerouslySetInnerHTML:{__html:XX}}),a$(M,{data:I.data,viewImportMap:O0,viewModules:W$,serverQueries:Y,dictionarySink:Y$,key:"root"})]}),{bootstrapScriptContent:hO(`window.__GEMI_DATA__ = ${f$(I.data)}`),bootstrapModules:t$,signal:U1.signal,...H?{progressiveChunkSize:Number.MAX_SAFE_INTEGER}:{},onError(X$){if(Bun.env.NODE_ENV!=="production")console.error(X$)}});if(M0.allReady.catch(()=>{}).finally(()=>clearTimeout(lO)),H)await M0.allReady.catch(()=>{});return new Response(of(M0,Y,{onShell:H?void 0:()=>Y.markShell(),onChunk:L0?.onChunk,onClose:()=>Z(()=>{if(this.completeStream(O,Y.summarize(U1.signal.aborted)),L0)this.shellReporter.report(j,L0.measure())})},Y$),{status:!j?404:200,headers:f})}catch(M0){if(clearTimeout(lO),Bun.env.NODE_ENV==="production")throw Z(()=>this.completeStream(O,Y.summarize(U1.signal.aborted))),M0;let X$=await Z6(a$("div"),{bootstrapScriptContent:hO(`window.error= ${f$(M0.message)}; window.stack_trace=${f$(M0.stack)};window.__GEMI_DATA__ = ${f$(I.data)}`),bootstrapModules:Bun.env.NODE_ENV==="development"?["/render-error.js",...t$]:t$});return new Response(of(X$,Y,{onClose:()=>Z(()=>this.completeStream(O,Y.summarize(U1.signal.aborted)))}),{status:!j?404:200,headers:f})}}}async handleViewRequest($,O){let Z=new URL($.url),T=Z.pathname.endsWith(".json"),j=Z.pathname.endsWith(".og"),f=Z.pathname.replace(".json","").replace(".og",""),[,z,...W]=f.split("/"),J=`/${W.join("/")}`,Y=null,X=null,F=K(s);if(!F.supportedLocales.includes(z))J=f;else Y=z,X=z;let U=X===null&&qO(this.flatViewRoutes,J)!==null;if(F.isLocaleAware&&!j&&X===null&&!U){let I=lW(z,F.supportedLocales,F.defaultLocale);if(I){let M=W.length?`/${W.join("/")}`:"";return new Response("",{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:`/${I}${M}${T?".json":""}${Z.search}`}})}}if(F.isLocaleAware&&!j){let I=K(s).detectLocale(new _($,{},"view",J));if(X===null&&I!==F.defaultLocale){let M=Z.pathname==="/"?"":Z.pathname;return new Response("",{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:`/${I}${M}${Z.search}`}})}}J=J.replace("//","/");let D=[],G=[],B=null,Q={},L=null,V=!1,N=[];try{let I=qO(this.flatViewRoutes,J);if(I){if(B=I.routePath,Q=I.params,D=I.route.exec,G=I.route.middleware,N=I.route.features,V=G.includes("no-stream"),T&&this.partialRendering){let M=$.headers.get(sf),E=_W({flatViewRoutes:this.flatViewRoutes,supportedLocales:K(s).supportedLocales,from:M,origin:Z.origin,to:{segments:I.route.segments,params:Q,search:Z.search}});if(E.startIndex>0)D=D.slice(E.startIndex),L={from:M,carriedViews:E.carriedViews}}}}catch(I){throw I}let A=new _($,Q,"view",B);return this.hooks.onRequestStart(A),await x.run(A,async()=>{let I=null,M=x.getStore(),E=s$.getStore(),P=(q)=>s$.run(E,()=>x.runWith(M,q));M.serverQueries=new d$(mO($));let $0=new Set;if(M.serverQueries.onQueryFail((q)=>{$0.add(q.error);try{P(()=>Promise.resolve(this.hooks.onRequestFail(g,q.error)).catch(()=>{}))}catch{}}),X){let q=X.replaceAll("/","");h$.setLocale(q)}else h$.setLocale();let g=M.req;j6();try{let q=!1;try{await K(kO).runMiddleware(G)}catch(H){if(!o$(H))throw H;q=!0}if(q||N.length>0&&!await this.passesFeatureGates(N))B=null,D=[],g.routePath="";let O0=K(s),N3=O0.isEnabled,iO=O0.isLocaleAware,W$={};if(iO){let H=null;if(X)H=X.replaceAll("/",""),M.setLocale(H);else H=O0.detectLocale(new _($,g.params)),M.setLocale(H);let L0=N3?O0.getPageTranslations(H,g.routePath):{};W$={supportedLocales:O0.supportedLocales,currentLocale:H,dictionary:{[H]:L0},defaultLocale:O0.defaultLocale}}await dW(W$.currentLocale??"");let T1;try{T1=await Promise.all(D.map((H)=>H(g)))}catch(H){if(!o$(H))throw H;B=null,D=[],g.routePath="",T1=[]}let{cookies:k1,headers:Z0}=M;I={data:T1,cookies:k1,headers:Z0,user:M.user,prefetchedData:M.serverQueries.snapshotResolved(),currentPathName:B,params:g.params,urlLocaleSegment:Y,meta:M.renderMeta(),appId:K(af).id,features:await K(l$).forClient()};let{params:t$,user:hO}=I,J$={},e$={};for(let H of T1??[]){let[L0,Y$]=Object.entries(H)?.[0]??[];if(!L0||!Y$)continue;e$[`${L0}:${B}`]=Y$.breadcrumb,J$[L0]=Y$}let U1=J$.FILE;if(U1){for(let H of k1)Z0.append("Set-Cookie",H.toString());try{await this.onRequestEnd(g)}catch(H){z$.error(H?.message??'Error in "onRequestEnd" event handler',{err:JSON.stringify(H)})}return await g3(U1,Z0)}if(T){Z0.set("Content-Type","application/x-ndjson; charset=utf-8"),Z0.append("Vary",sf),k1.forEach((L0)=>Z0.append("Set-Cookie",L0.toString())),await this.hooks.onRequestEnd(g);let H={meta:L&&!M.metadata.touched?null:I.meta,data:{[J]:J$},breadcrumbs:e$,prefetchedData:M.serverQueries.snapshotResolved(),i18n:W$,features:I.features,is404:!B,appId:I.appId,partial:L};return new Response(hW(H,M.serverQueries,void 0,({aborted:L0})=>P(()=>this.completeStream(g,M.serverQueries.summarize(L0)))),{headers:Z0})}if(Z0.set("Content-Type","text/html; charset=utf-8"),!V)Z0.append("Vary","User-Agent");for(let H of k1)Z0.append("Set-Cookie",H.toString());let lO=Bun.CSRF.generate(process.env.SECRET);Z0.append("Set-Cookie",`csrf_token=${lO}; HttpOnly; Secure; SameSite=Strict; Expires=${new Date(Date.now()+86400000).toUTCString()}`);try{await this.onRequestEnd(g)}catch(H){z$.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:Z0,i18n:W$,params:t$,pathname:Z.pathname,serverQueries:M.serverQueries,userAgent:$.headers.get("user-agent"),noStream:V,url:Z,user:hO,viewData:J$,breadcrumbs:e$,urlLocaleSegment:Y,meta:I.meta,appId:I.appId,features:I.features,isOgRequest:j})}catch(q){if(q.kind===yO)if(T)return GX(q.payload.viewData??q.payload.api);else return T6(q.payload.view);if(!$0.has(q))this.hooks.onRequestFail(g,q);if(pO(q))return console.error(q),T?u$():T6($6());if(q instanceof R1&&q.status===403)return T?u$():T6($6());throw q}},O)}}function W6(){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 tW extends S0{routes={"/api-routes":this.get(()=>{let $=K(I3).flatRoutes,O=[];for(let[Z,T]of Object.entries($))for(let[j,f]of Object.entries(T)){let{exec:z,middleware:W}=f;O.push({path:Z,method:j,middleware:W})}return O}),"/view-routes":this.get(()=>{let $=K(cO).flatViewRoutes,O=[];for(let[Z,{middleware:T,viewPath:j}]of Object.entries($))O.push({path:Z,method:"GET",viewPath:j,middleware:T});return O})}}function BX($,O){let Z=$.body.getReader(),T=!1,j=()=>{if(T)return;T=!0;try{O()}catch(z){console.error(z)}},f=new ReadableStream({async pull(z){let W;try{W=await Z.read()}catch(J){j(),z.error(J);return}if(W.done){j();try{z.close()}catch{}return}try{z.enqueue(W.value)}catch{}},async cancel(z){try{await Z.cancel(z)}finally{j()}}},{highWaterMark:0});return new Response(f,{status:$.status,statusText:$.statusText,headers:$.headers})}function sW($){let{status:O=400,data:Z,headers:T}=$,j=new Headers({"Content-Type":"application/json",...T});if(!j.has("Cache-Control"))j.set("Cache-Control","no-store");return new Response(JSON.stringify(Z),{status:O,headers:j})}function nW($,O,Z){let T=[];O?.forEach((z,W)=>T.push([W,z]));let j=[...typeof O?.getSetCookie==="function"?O.getSetCookie():[],...Array.from(Z??[])];if(T.length===0&&j.length===0)return $;let f=(z)=>{for(let[W,J]of T){if(W.toLowerCase()==="set-cookie")continue;if(!z.has(W))z.set(W,J)}for(let W of j)z.append("Set-Cookie",W)};try{return f($.headers),$}catch{let z=new Headers($.headers);return f(z),new Response($.body,{status:$.status,statusText:$.statusText,headers:z})}}class I3{static token="router.api";flatRoutes={};onRequestStart;onRequestEnd;onRequestFail;constructor($){let O=$W();this.onRequestStart=$.onRequestStart??O.onRequestStart,this.onRequestEnd=$.onRequestEnd??O.onRequestEnd,this.onRequestFail=$.onRequestFail??O.onRequestFail,this.flatRoutes=Ef({"/":$.rootRouter,"/auth":Mf,"/__gemi__/services/i18n":Sf,"/__gemi__/services/logs":Af,"/__gemi__/services/image":_f,"/__gemi__/debug":tW})}getRouteHandlerAndParams($){let O=new URL($.url),Z=rW(O.pathname),T={},j;for(let[f]of Object.entries(this.flatRoutes))try{let z=new URLPattern({pathname:f});if(z.test({pathname:Z})){j=f,T=z.exec({pathname:Z})?.pathname.groups;break}}catch(z){console.error(z)}return{params:T,path:j}}async runRouteMiddleware($,O){let T=this.flatRoutes[$][O.rawRequest.method].middleware;try{await K(kO).runMiddleware(T)}catch(j){if(j.kind===yO)return sW(j.payload.api);else{if(o$(j))return W6();if(this.onRequestFail(O,j),console.error(j),pO(j))return u$();throw j}}}async getRouteData($){let O=this.flatRoutes[$],Z=x.getStore(),T=O[Z.req.rawRequest.method].exec??(()=>Promise.resolve({})),j={};try{j=await T()}catch(f){if(f.kind===yO)return sW(f.payload.api);if(o$(f))return W6();if(this.onRequestFail(Z.req,f),console.error(f),pO(f))return u$();throw f}return j}isFrameworkRoute($){return $.startsWith("/__gemi__")}async endRequest($,O,Z){let T=async()=>{try{if(!this.isFrameworkRoute(Z))await this.onRequestEnd(O)}catch(j){z$.error(j?.message??'Error in "onRequestEnd" event handler',{err:JSON.stringify(j)})}finally{$.destroy()}};if(!$.hasPendingWork()){await T();return}$.whenIdle().then(T).catch((j)=>{console.error(j)})}isOpenEndedBody($,O){return $.method!=="HEAD"&&O.body!==null&&!O.headers.has("Content-Length")}async handleApiRequest($,O){let{params:Z,path:T}=this.getRouteHandlerAndParams($),j=this.flatRoutes[T];if(!j||!j[$.method])return new Response(JSON.stringify({error:{message:"Not found"}}),{status:404});let f=new _($,Z,"api",T);if(!this.isFrameworkRoute(T))this.onRequestStart(f);return await x.run(f,async()=>{let z=x.getStore(),W=!1,J=async()=>{W=!0,await this.endRequest(z,f,T)};try{let Y=K(s);if(Y.isEnabled){let G=Y.detectLocale(f);z.setLocale(G)}z.setRequest(f);let X=await this.runRouteMiddleware(T,f);if(X instanceof Response){let G=nW(X,z.headers,z.cookies);return await J(),G}let F=await this.getRouteData(T),C=z.headers,U=z.cookies;if(F instanceof Response){let G=nW(F,C,U);if(this.isOpenEndedBody($,G)){let B=BX(G,()=>this.endRequest(z,f,T));return W=!0,B}return await J(),G}let D=(F$(F)?F:OO.json(F)).toResponse(C,U);return await J(),D}catch(Y){if(!W)try{await J()}catch(X){console.error(X)}throw Y}},O)}async dispatchAs($,O,Z,T){let j=new URL($.rawRequest.url).origin,f=new URL(`${j}/api${Z}`),z=`/api${Z.split(/[?#]/)[0]}`;if(!Z.startsWith("/")||f.origin!==j||f.pathname!==z||f.hash!==""||f.pathname.startsWith("/api/__gemi__")||f.pathname==="/api/auth"||f.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 W=new Headers,J=$.cookies.get(TO);if(J)W.set("Cookie",`${TO}=${J}`);let Y=$.headers.get(TO);if(Y)W.set(TO,Y);let X=$.headers.get("User-Agent");if(X)W.set("User-Agent",X);let F;if(T instanceof FormData)F=T;else if(T!==void 0)W.set("Content-Type","application/json"),F=JSON.stringify(T);let C=new Request(f,{method:O,headers:W,body:F});if(aW(C,rO($)),$.domain)n$(C,$.domain);return x.exit(()=>oW.exit(()=>this.handleApiRequest(C)))}}import{timingSafeEqual as KX}from"crypto";var M3="",X6="*",QX=60000,VX=1e4,J6=/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/,L3=16,eW=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,Y6="x-forwarded-host";function $5($){return $.startsWith(":")}function C6($,O){if($===null)return!1;let Z=Buffer.from($,"utf8"),T=Buffer.from(O,"utf8");return Z.length===T.length&&KX(Z,T)}function IX($){if(!$)return null;if($===!0)return{header:Y6,secret:null};return{header:($.hostHeader??Y6).toLowerCase(),secret:$.secret?{header:$.secret.header.toLowerCase(),value:$.secret.value}:null}}function LX($){if(!$||$===!0)return;let{hostHeader:O,secret:Z}=$;if(O!==void 0&&(typeof O!=="string"||!eW.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"||!eW.test(Z.header))throw Error(`\`route.domains.trustProxy.secret.header\` must be a header name. Got "${Z.header}".`);if(Z.header.toLowerCase()===(O??Y6).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 MX($){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 SX($){let O=Z1($.root),Z=$.root?.trim().toLowerCase().replace(/\.$/,"");if(!O||O!==Z||!O.split(".").every((f)=>J6.test(f)))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.`);LX($.trustProxy);let T=new Set,j=null;for(let f of $.groups??[]){let{subdomain:z}=f;if(T.has(z))throw Error(`\`route.domains\` declares the subdomain "${z}" twice.`);if(T.add(z),$5(z)){if(!/^:[A-Za-z_][A-Za-z0-9_]*$/.test(z))throw Error(`"${z}" is not a valid param subdomain. It must be a single \`:name\` label.`);if(j)throw Error(`\`route.domains\` declares two param subdomains, "${j.subdomain}" and "${z}"; a host could match either.`);j=f;continue}if(f.exists)throw Error(`The subdomain "${z}" is fixed, so \`exists\` has no param to check. It only applies to a \`:param\` subdomain.`);if(!z.split(".").every((W)=>J6.test(W)))throw Error(`"${z}" 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&&j&&!j.exists)throw Error(`\`route.domains.ask\` is set, so "${j.subdomain}" needs an \`exists\` to say which tenants are real. Without one every host under the root would be approved for a certificate.`)}class F6{root;hostTrust;fixed=new Map;param=null;custom;cacheTtlMs;cache=new Map;inFlight=new Map;askSecret;proxySecretHeader;constructor($){SX($),this.root=Z1($.root),this.hostTrust=IX($.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??QX,this.askSecret=$.ask?.secret??null,this.proxySecretHeader=this.hostTrust?.secret?.header??null}forwardedHost($){let O=this.hostTrust;if(!O)return null;if(O.secret&&!C6($.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(/:$/,""),j=this.forwardedHost($),f=j&&Z1(j)?MX(j):null;return`${T}://${f??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:X6,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:M3,params:{},custom:!1};if($.endsWith(`.${this.root}`)){let T=$.slice(0,-(this.root.length+1)),j=this.fixed.get(T);if(j)return{host:$,group:j.subdomain,params:{},custom:!1};if(this.param&&J6.test(T)){let f={[this.param.name]:T};if(this.param.exists&&!await this.param.exists(f,O))return null;return{host:$,group:this.param.subdomain,params:f,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 j=(async()=>await this.custom.resolve($)??null)();this.inFlight.set($,j);let f;try{f=await j}finally{this.inFlight.delete($)}if(this.cacheTtlMs>0){if(this.cache.size>=VX)this.cache.delete(this.cache.keys().next().value);this.cache.delete($),this.cache.set($,{value:f,expiresAt:Date.now()+this.cacheTtlMs})}return f}forget($){if($===void 0)this.cache.clear();else{let O=Z1($);if(O)this.cache.delete(O)}}}var xX="/__gemi__/domains/ask";class s0{static token="router.domains";resolver;acceptsCustomDomains;groups=new Map;constructor($,O){this.groups.set(M3,$);let{domains:Z}=O;if(this.acceptsCustomDomains=Boolean(Z?.custom),!Z){this.resolver=null;return}this.resolver=new F6(Z);let T=(j)=>({api:j.api?new I3({...O.api,...j.api}):$.api,view:j.view?new cO({...O.view,...j.view}):$.view});for(let j of Z.groups??[])this.groups.set(j.subdomain,T(j));if(Z.custom?.fallback)this.groups.set(X6,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!==xX)return null;if(!C6(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??M3)}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 j5($,O){return[tO($,O),tO($,O-1)]}class w{static token="auth";config;provider;constructor($={},O=new u3){this.config=f5(l6($),$),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(!i3($))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(),j=Z5(Z.expiresAt),f=Z5(Z.absoluteExpiresAt);if(j<=T||f<=T)return await this.userProvider.deleteSession({token:$}),null;let W=await this.slideSession(Z,T);return W.user.extension=await this.config.extendSession(W.user),W}async convertLegacySession($,O,Z){let T=x.getStore()?.req;if(!T)return null;let j=Date.now(),f=Math.floor(j/T5),z=null,W=await this.userProvider.findSession({token:$,userAgent:O});if(W?.user){if(!await Z(W,{token:$,req:T,userAgent:O}))return null;let Y=tO($,f),X=W.user.id;if(await this.userProvider.withLegacySessionLock($,async()=>{if(!await this.userProvider.claimLegacySession({token:$}))return!1;return await this.userProvider.createSessionV2({token:Y,userId:X,userAgent:O,...this.freshLifetime(j)}),!0}))z=Y}if(!z){for(let Y of j5($,f))if((await this.userProvider.findSession({token:Y,userAgent:O}))?.user){z=Y;break}}if(!z)return null;let J=await this.getSession(z,O);if(J)T.ctx().setCookie("access_token",z,this.accessTokenCookieOptions(T,new Date(J.expiresAt)));return J}async revokeSession($,O){if(!$)return await this.userProvider.deleteSession({token:$}),null;if(i3($)||!this.config.migrateLegacySession){let j=await this.userProvider.findSession({token:$,userAgent:O});return await this.userProvider.deleteSession({token:$}),j}let Z=Math.floor(Date.now()/T5),T=j5($,Z);return this.userProvider.withLegacySessionLock($,async()=>{let j=await this.userProvider.findSession({token:$,userAgent:O});for(let f of T){if(j?.user)break;j=await this.userProvider.findSession({token:f,userAgent:O})}await this.userProvider.deleteSession({token:$});for(let f of T)await this.userProvider.deleteSession({token:f});return j})}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())),j=await this.userProvider.updateSession({token:$.token,expiresAt:T}),f=this.requestCarryingCookie($.token);if(f)f.ctx().setCookie("access_token",$.token,this.accessTokenCookieOptions(f,T));if(!j)return $;return{...$,expiresAt:j.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 m1;let T=Bun.env.NODE_ENV==="development"?"local":O.headers.get("User-Agent"),j=h6(Z),f=await this.userProvider.createSessionV2({token:j,userId:Z,userAgent:T,...this.freshLifetime(Date.now())}),z=await this.userProvider.findSession({token:j,userAgent:T??""});return z?.user?z:f}async createMagicLinkToken($){let O=await this.userProvider.findUserByEmailAddress($,!1);if(O){await this.userProvider.deleteMagicLinkToken($);let Z=await this.config.generateMagicLinkToken($),T=(Number.parseInt(NX(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{}}}class Z$ extends w0{static getFacadeAccessor(){return w}static async user(){let $=x.getStore(),O=$?.user;if(!O){if(O=await oO(this.getFacadeRoot(),$?.req),O)$?.setUser(O)}if(O)return O;throw new m1({redirectTo:aO($?.req,this.getFacadeRoot().config.signInPath)})}static intendedUrl($){let O=x.getStore()?.req;return ZO(O?.search.get(D$),$??this.getFacadeRoot().config.redirectPath)}static async guard($){let O=await Z$.user();if(!await $(O))throw new p3}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 S3{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=S3.ensure($,O[0]);if(await Z.promise,Z.status==="rejected")throw Z.error;return Z.data}static prefetch($,...O){S3.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),j=O.host?O.host:O.subdomain?`${O.subdomain}.${$.root}`:$.root,f=new URL(Z.startsWith("/")?Z:`/${Z}`,T),z=_X(j);if(!z)throw Error(`"${j}" 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(f.hostname=z.hostname,z.port)f.port=z.port;return f.toString()}function _X($){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 W5{static absolute($,...O){return`${process.env.HOST_NAME}${T0(String($),O[0]??{})}`}static relative($,...O){return T0(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 j=x.getStore()?.req?.rawRequest,f=j?T.publicOrigin(j):process.env.HOST_NAME;if(!f)throw Error("`Url.forDomain` outside a request needs `HOST_NAME` for the protocol.");return z5({root:T.root,origin:f},$,T0(String(O),Z[0]??{}))}}class J5{name="Meta";static description($){x.getStore().metadata.description($)}static title($){x.getStore().metadata.title($)}static openGraph($){x.getStore().metadata.openGraph($)}}var AX={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 D6{config;static token="redis";instance=null;constructor($={}){this.config=$}get client(){return this.instance??=new(EX())(this.config.url,this.config.options)}set client($){this.instance=$}close(){let $=this.instance;this.instance=null,$?.close()}}function EX(){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 D1 extends w0{static getFacadeAccessor(){return D6}static get client(){return this.getFacadeRoot().client}static get($){return D1.client.get($)}static set($,O){return D1.client.set($,O)}static del(...$){return D1.client.del(...$)}static exists($){return D1.client.exists($)}static incr($){return D1.client.incr($)}static expire($,O){return D1.client.expire($,O)}static ttl($){return D1.client.ttl($)}}class Y5 extends w0{static getFacadeAccessor(){return U$}static consume($,O={}){return this.getFacadeRoot().consume($,O)}}class X5 extends w0{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 D5(Z.sql,(T)=>C5(O,()=>$(T)),{slowTransactionThreshold:Z.config.slowTransactionThreshold,connection:O})}async schema(){let $=this.connection(),{introspect:O}=await import("./chunk-jg9eqd3r.js");return O(this.handle()??$.sql,$.dialect)}run($,O){let Z=this.connection(),{text:T,values:j}=G5($,U5(Z.dialect),O);return(this.handle()??Z.sql).unsafe(T,j)}handle(){let $=jO();if($===void 0)return;return fO()===this.name?$:void 0}connection($=this.name){return F5($),K(zO).connection($)}}var r$=new x3;class B5 extends w0{static getFacadeAccessor(){return zO}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 fc,$O as gc,P3 as hc,S0 as ic,b3 as jc,M6 as kc,nO as lc,OO as mc,g3 as nc,B1 as oc,b0 as pc,H5 as qc,w5 as rc,c3 as sc,i3 as tc,h6 as uc,IC as vc,l6 as wc,p5 as xc,u3 as yc,Z$ as zc,h$ as Ac,S3 as Bc,W5 as Cc,J5 as Dc,AX as Ec,D6 as Fc,D1 as Gc,U$ as Hc,Y5 as Ic,vW as Jc,rf as Kc,gW as Lc,RW as Mc,uY as Nc,kW as Oc,tf as Pc,aY as Qc,oY as Rc,ef as Sc,qW as Tc,mW as Uc,l$ as Vc,X5 as Wc,x3 as Xc,B5 as Yc,xf as Zc,Nf as _c,zF as $c,rz as ad,tz as bd,kO as cd,IF as dd,$W as ed,OW as fd,uf as gd,af as hd,u$ as id,$6 as jd,f6 as kd,FX as ld,T6 as md,GX as nd,cO as od,k3 as pd,k6 as qd,rO as rd,W6 as sd,sW as td,nW as ud,I3 as vd,s0 as wd,w as xd,H6 as yd,w6 as zd,b6 as Ad,m6 as Bd,y6 as Cd,p6 as Dd};
|
|
16
|
+
|
|
17
|
+
//# debugId=D8B19227187E800E64756E2164756E21
|