@itsmrtr/bunkoshelf 1.0.2 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.next/BUILD_ID +1 -1
- package/dist/.next/app-path-routes-manifest.json +1 -0
- package/dist/.next/build-manifest.json +6 -6
- package/dist/.next/prerender-manifest.json +3 -3
- package/dist/.next/required-server-files.json +4 -1
- package/dist/.next/routes-manifest.json +8 -0
- package/dist/.next/server/app/[lang]/books/page/build-manifest.json +3 -3
- package/dist/.next/server/app/[lang]/books/page/server-reference-manifest.json +4 -4
- package/dist/.next/server/app/[lang]/books/page.js +10 -7
- package/dist/.next/server/app/[lang]/books/page.js.nft.json +1 -1
- package/dist/.next/server/app/[lang]/books/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/[lang]/books.meta +2 -2
- package/dist/.next/server/app/[lang]/books.segments/$d$lang/books/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/books.segments/$d$lang/books.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/books.segments/$d$lang.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/books.segments/_full.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/books.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/books.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/books.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/favorites/books/page/build-manifest.json +3 -3
- package/dist/.next/server/app/[lang]/favorites/books/page/server-reference-manifest.json +4 -4
- package/dist/.next/server/app/[lang]/favorites/books/page.js +10 -7
- package/dist/.next/server/app/[lang]/favorites/books/page.js.nft.json +1 -1
- package/dist/.next/server/app/[lang]/favorites/books/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/[lang]/favorites/books.meta +2 -2
- package/dist/.next/server/app/[lang]/favorites/books.segments/$d$lang/favorites/books/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/favorites/books.segments/$d$lang/favorites/books.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/favorites/books.segments/$d$lang/favorites.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/favorites/books.segments/$d$lang.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/favorites/books.segments/_full.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/favorites/books.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/favorites/books.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/favorites/books.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/favorites/page/build-manifest.json +3 -3
- package/dist/.next/server/app/[lang]/favorites/page/server-reference-manifest.json +72 -12
- package/dist/.next/server/app/[lang]/favorites/page.js +14 -11
- package/dist/.next/server/app/[lang]/favorites/page.js.nft.json +1 -1
- package/dist/.next/server/app/[lang]/favorites/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/[lang]/favorites.meta +2 -2
- package/dist/.next/server/app/[lang]/favorites.segments/$d$lang/favorites/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/favorites.segments/$d$lang/favorites.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/favorites.segments/$d$lang.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/favorites.segments/_full.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/favorites.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/favorites.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/favorites.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/login/page/build-manifest.json +3 -3
- package/dist/.next/server/app/[lang]/login/page/server-reference-manifest.json +5 -5
- package/dist/.next/server/app/[lang]/login/page.js +10 -7
- package/dist/.next/server/app/[lang]/login/page.js.nft.json +1 -1
- package/dist/.next/server/app/[lang]/login/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/[lang]/login.meta +2 -2
- package/dist/.next/server/app/[lang]/login.segments/$d$lang/login/__PAGE__.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/login.segments/$d$lang/login.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/login.segments/$d$lang.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/login.segments/_full.segment.rsc +3 -3
- package/dist/.next/server/app/[lang]/login.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/login.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/login.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga/[series]/page/build-manifest.json +3 -3
- package/dist/.next/server/app/[lang]/manga/[series]/page/server-reference-manifest.json +90 -30
- package/dist/.next/server/app/[lang]/manga/[series]/page.js +15 -13
- package/dist/.next/server/app/[lang]/manga/[series]/page.js.nft.json +1 -1
- package/dist/.next/server/app/[lang]/manga/[series]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/[lang]/manga/[series].meta +2 -2
- package/dist/.next/server/app/[lang]/manga/[series].segments/$d$lang/manga/$d$series/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/[series].segments/$d$lang/manga/$d$series.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/[series].segments/$d$lang/manga.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/[series].segments/$d$lang.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga/[series].segments/_full.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga/[series].segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/[series].segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/[series].segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga/page/build-manifest.json +3 -3
- package/dist/.next/server/app/[lang]/manga/page/server-reference-manifest.json +82 -22
- package/dist/.next/server/app/[lang]/manga/page.js +14 -11
- package/dist/.next/server/app/[lang]/manga/page.js.nft.json +1 -1
- package/dist/.next/server/app/[lang]/manga/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/[lang]/manga/series/page/build-manifest.json +3 -3
- package/dist/.next/server/app/[lang]/manga/series/page/server-reference-manifest.json +78 -18
- package/dist/.next/server/app/[lang]/manga/series/page.js +14 -11
- package/dist/.next/server/app/[lang]/manga/series/page.js.nft.json +1 -1
- package/dist/.next/server/app/[lang]/manga/series/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/[lang]/manga/series.meta +2 -2
- package/dist/.next/server/app/[lang]/manga/series.segments/$d$lang/manga/series/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/series.segments/$d$lang/manga/series.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/series.segments/$d$lang/manga.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/series.segments/$d$lang.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga/series.segments/_full.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga/series.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/series.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/series.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga/toread/page/build-manifest.json +3 -3
- package/dist/.next/server/app/[lang]/manga/toread/page/server-reference-manifest.json +78 -18
- package/dist/.next/server/app/[lang]/manga/toread/page.js +14 -11
- package/dist/.next/server/app/[lang]/manga/toread/page.js.nft.json +1 -1
- package/dist/.next/server/app/[lang]/manga/toread/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/[lang]/manga/toread.meta +2 -2
- package/dist/.next/server/app/[lang]/manga/toread.segments/$d$lang/manga/toread/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/toread.segments/$d$lang/manga/toread.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/toread.segments/$d$lang/manga.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/toread.segments/$d$lang.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga/toread.segments/_full.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga/toread.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/toread.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/toread.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga/volume/[slug]/page/build-manifest.json +3 -3
- package/dist/.next/server/app/[lang]/manga/volume/[slug]/page/server-reference-manifest.json +102 -42
- package/dist/.next/server/app/[lang]/manga/volume/[slug]/page.js +15 -13
- package/dist/.next/server/app/[lang]/manga/volume/[slug]/page.js.nft.json +1 -1
- package/dist/.next/server/app/[lang]/manga/volume/[slug]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/[lang]/manga/volume/[slug].meta +2 -2
- package/dist/.next/server/app/[lang]/manga/volume/[slug].segments/$d$lang/manga/volume/$d$slug/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/volume/[slug].segments/$d$lang/manga/volume/$d$slug.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/volume/[slug].segments/$d$lang/manga/volume.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/volume/[slug].segments/$d$lang/manga.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/volume/[slug].segments/$d$lang.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga/volume/[slug].segments/_full.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga/volume/[slug].segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/volume/[slug].segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/volume/[slug].segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga/volumes/page/build-manifest.json +3 -3
- package/dist/.next/server/app/[lang]/manga/volumes/page/server-reference-manifest.json +78 -18
- package/dist/.next/server/app/[lang]/manga/volumes/page.js +14 -11
- package/dist/.next/server/app/[lang]/manga/volumes/page.js.nft.json +1 -1
- package/dist/.next/server/app/[lang]/manga/volumes/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/[lang]/manga/volumes.meta +2 -2
- package/dist/.next/server/app/[lang]/manga/volumes.segments/$d$lang/manga/volumes/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/volumes.segments/$d$lang/manga/volumes.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/volumes.segments/$d$lang/manga.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/volumes.segments/$d$lang.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga/volumes.segments/_full.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga/volumes.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/volumes.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga/volumes.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga.meta +2 -2
- package/dist/.next/server/app/[lang]/manga.segments/$d$lang/manga/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga.segments/$d$lang/manga.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga.segments/$d$lang.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga.segments/_full.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/manga.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/manga.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/page/build-manifest.json +3 -3
- package/dist/.next/server/app/[lang]/page/server-reference-manifest.json +92 -32
- package/dist/.next/server/app/[lang]/page.js +14 -11
- package/dist/.next/server/app/[lang]/page.js.nft.json +1 -1
- package/dist/.next/server/app/[lang]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/[lang]/profile/notifications/page/build-manifest.json +3 -3
- package/dist/.next/server/app/[lang]/profile/notifications/page/server-reference-manifest.json +19 -19
- package/dist/.next/server/app/[lang]/profile/notifications/page.js +11 -8
- package/dist/.next/server/app/[lang]/profile/notifications/page.js.nft.json +1 -1
- package/dist/.next/server/app/[lang]/profile/notifications/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/[lang]/profile/notifications.meta +2 -2
- package/dist/.next/server/app/[lang]/profile/notifications.segments/$d$lang/profile/notifications/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/profile/notifications.segments/$d$lang/profile/notifications.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/profile/notifications.segments/$d$lang/profile.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/profile/notifications.segments/$d$lang.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/profile/notifications.segments/_full.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/profile/notifications.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/profile/notifications.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/profile/notifications.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/profile/page/build-manifest.json +3 -3
- package/dist/.next/server/app/[lang]/profile/page/server-reference-manifest.json +9 -9
- package/dist/.next/server/app/[lang]/profile/page.js +13 -10
- package/dist/.next/server/app/[lang]/profile/page.js.nft.json +1 -1
- package/dist/.next/server/app/[lang]/profile/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/[lang]/profile/update/page/build-manifest.json +3 -3
- package/dist/.next/server/app/[lang]/profile/update/page/server-reference-manifest.json +14 -14
- package/dist/.next/server/app/[lang]/profile/update/page.js +11 -8
- package/dist/.next/server/app/[lang]/profile/update/page.js.nft.json +1 -1
- package/dist/.next/server/app/[lang]/profile/update/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/[lang]/profile/update.meta +2 -2
- package/dist/.next/server/app/[lang]/profile/update.segments/$d$lang/profile/update/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/profile/update.segments/$d$lang/profile/update.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/profile/update.segments/$d$lang/profile.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/profile/update.segments/$d$lang.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/profile/update.segments/_full.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/profile/update.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/profile/update.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/profile/update.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/profile.meta +2 -2
- package/dist/.next/server/app/[lang]/profile.segments/$d$lang/profile/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/profile.segments/$d$lang/profile.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/profile.segments/$d$lang.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/profile.segments/_full.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/profile.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/profile.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/profile.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/search/page/build-manifest.json +3 -3
- package/dist/.next/server/app/[lang]/search/page/server-reference-manifest.json +4 -4
- package/dist/.next/server/app/[lang]/search/page.js +10 -7
- package/dist/.next/server/app/[lang]/search/page.js.nft.json +1 -1
- package/dist/.next/server/app/[lang]/search/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/[lang]/search.meta +2 -2
- package/dist/.next/server/app/[lang]/search.segments/$d$lang/search/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/search.segments/$d$lang/search.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/search.segments/$d$lang.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/search.segments/_full.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/search.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/search.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/search.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/settings/library/page/build-manifest.json +3 -3
- package/dist/.next/server/app/[lang]/settings/library/page/server-reference-manifest.json +10 -10
- package/dist/.next/server/app/[lang]/settings/library/page.js +11 -8
- package/dist/.next/server/app/[lang]/settings/library/page.js.nft.json +1 -1
- package/dist/.next/server/app/[lang]/settings/library/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/[lang]/settings/library.meta +2 -2
- package/dist/.next/server/app/[lang]/settings/library.segments/$d$lang/settings/library/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/settings/library.segments/$d$lang/settings/library.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/settings/library.segments/$d$lang/settings.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/settings/library.segments/$d$lang.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/settings/library.segments/_full.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/settings/library.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/settings/library.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/settings/library.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/settings/page/build-manifest.json +3 -3
- package/dist/.next/server/app/[lang]/settings/page/server-reference-manifest.json +9 -9
- package/dist/.next/server/app/[lang]/settings/page.js +11 -8
- package/dist/.next/server/app/[lang]/settings/page.js.nft.json +1 -1
- package/dist/.next/server/app/[lang]/settings/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/[lang]/settings.meta +2 -2
- package/dist/.next/server/app/[lang]/settings.segments/$d$lang/settings/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/settings.segments/$d$lang/settings.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/settings.segments/$d$lang.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/settings.segments/_full.segment.rsc +2 -2
- package/dist/.next/server/app/[lang]/settings.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/settings.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/[lang]/settings.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/[lang].meta +2 -2
- package/dist/.next/server/app/[lang].segments/$d$lang/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/[lang].segments/$d$lang.segment.rsc +2 -2
- package/dist/.next/server/app/[lang].segments/_full.segment.rsc +2 -2
- package/dist/.next/server/app/[lang].segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/[lang].segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/[lang].segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/_global-error/page/build-manifest.json +3 -3
- package/dist/.next/server/app/_global-error/page.js +3 -2
- package/dist/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/dist/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_global-error.html +1 -1
- package/dist/.next/server/app/_global-error.rsc +1 -1
- package/dist/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/.next/server/app/_not-found/page/build-manifest.json +3 -3
- package/dist/.next/server/app/_not-found/page.js +3 -2
- package/dist/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_not-found.html +1 -1
- package/dist/.next/server/app/_not-found.rsc +1 -1
- package/dist/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/dist/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/dist/.next/server/app/api/admin/db/download/route.js +2 -2
- package/dist/.next/server/app/api/admin/db/download/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/admin/db/upload/route.js +2 -2
- package/dist/.next/server/app/api/admin/db/upload/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/admin/scan-manga/extract-cover/route.js +6 -5
- package/dist/.next/server/app/api/admin/scan-manga/extract-cover/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/admin/scan-manga/extract-meta/route.js +7 -6
- package/dist/.next/server/app/api/admin/scan-manga/extract-meta/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/admin/scan-manga/index-library/route.js +5 -4
- package/dist/.next/server/app/api/admin/scan-manga/index-library/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/admin/scan-manga/start/route.js +5 -4
- package/dist/.next/server/app/api/admin/scan-manga/start/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/admin/scan-manga/status/route.js +2 -2
- package/dist/.next/server/app/api/admin/scan-manga/status/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/admin/upload/confirm/route.js +5 -4
- package/dist/.next/server/app/api/admin/upload/confirm/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/admin/upload/library/chunk/route.js +5 -4
- package/dist/.next/server/app/api/admin/upload/library/chunk/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/admin/upload/library/route.js +2 -2
- package/dist/.next/server/app/api/admin/upload/library/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/admin/upload/presigned/route.js +2 -2
- package/dist/.next/server/app/api/admin/upload/presigned/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/library/manga/cover/[...slug]/route.js +3 -3
- package/dist/.next/server/app/api/library/manga/cover/[...slug]/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/profile/[file]/route/app-paths-manifest.json +3 -0
- package/dist/.next/server/app/api/profile/[file]/route/build-manifest.json +9 -0
- package/dist/.next/server/app/api/profile/[file]/route/server-reference-manifest.json +4 -0
- package/dist/.next/server/app/api/profile/[file]/route.js +6 -0
- package/dist/.next/server/app/api/profile/[file]/route.js.map +5 -0
- package/dist/.next/server/app/api/profile/[file]/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/profile/[file]/route_client-reference-manifest.js +3 -0
- package/dist/.next/server/app/api/reader/manga/route.js +6 -5
- package/dist/.next/server/app/api/reader/manga/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/reader/temp-image/route.js +2 -2
- package/dist/.next/server/app/api/reader/temp-image/route.js.nft.json +1 -1
- package/dist/.next/server/app/en/books.html +1 -1
- package/dist/.next/server/app/en/books.meta +1 -1
- package/dist/.next/server/app/en/books.segments/$d$lang/books/__PAGE__.segment.rsc +2 -2
- package/dist/.next/server/app/en/books.segments/$d$lang/books.segment.rsc +1 -1
- package/dist/.next/server/app/en/books.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/en/books.segments/_full.segment.rsc +4 -4
- package/dist/.next/server/app/en/books.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/en/books.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/en/books.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/en/favorites/books.html +1 -1
- package/dist/.next/server/app/en/favorites/books.meta +1 -1
- package/dist/.next/server/app/en/favorites/books.segments/$d$lang/favorites/books/__PAGE__.segment.rsc +2 -2
- package/dist/.next/server/app/en/favorites/books.segments/$d$lang/favorites/books.segment.rsc +1 -1
- package/dist/.next/server/app/en/favorites/books.segments/$d$lang/favorites.segment.rsc +3 -3
- package/dist/.next/server/app/en/favorites/books.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/en/favorites/books.segments/_full.segment.rsc +6 -6
- package/dist/.next/server/app/en/favorites/books.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/en/favorites/books.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/en/favorites/books.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/en/favorites.html +1 -1
- package/dist/.next/server/app/en/favorites.meta +1 -1
- package/dist/.next/server/app/en/favorites.segments/$d$lang/favorites/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/en/favorites.segments/$d$lang/favorites.segment.rsc +3 -3
- package/dist/.next/server/app/en/favorites.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/en/favorites.segments/_full.segment.rsc +6 -6
- package/dist/.next/server/app/en/favorites.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/en/favorites.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/en/favorites.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/en/login.html +1 -1
- package/dist/.next/server/app/en/login.meta +1 -1
- package/dist/.next/server/app/en/login.segments/$d$lang/login/__PAGE__.segment.rsc +4 -4
- package/dist/.next/server/app/en/login.segments/$d$lang/login.segment.rsc +1 -1
- package/dist/.next/server/app/en/login.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/en/login.segments/_full.segment.rsc +6 -6
- package/dist/.next/server/app/en/login.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/en/login.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/en/login.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/en/manga/[series].html +1 -1
- package/dist/.next/server/app/en/manga/[series].meta +1 -1
- package/dist/.next/server/app/en/manga/[series].segments/$d$lang/manga/$d$series/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/[series].segments/$d$lang/manga/$d$series.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/[series].segments/$d$lang/manga.segment.rsc +2 -2
- package/dist/.next/server/app/en/manga/[series].segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/en/manga/[series].segments/_full.segment.rsc +5 -5
- package/dist/.next/server/app/en/manga/[series].segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/[series].segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/[series].segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/en/manga/series.html +1 -1
- package/dist/.next/server/app/en/manga/series.meta +1 -1
- package/dist/.next/server/app/en/manga/series.segments/$d$lang/manga/series/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/series.segments/$d$lang/manga/series.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/series.segments/$d$lang/manga.segment.rsc +2 -2
- package/dist/.next/server/app/en/manga/series.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/en/manga/series.segments/_full.segment.rsc +5 -5
- package/dist/.next/server/app/en/manga/series.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/series.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/series.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/en/manga/toread.html +1 -1
- package/dist/.next/server/app/en/manga/toread.meta +1 -1
- package/dist/.next/server/app/en/manga/toread.segments/$d$lang/manga/toread/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/toread.segments/$d$lang/manga/toread.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/toread.segments/$d$lang/manga.segment.rsc +2 -2
- package/dist/.next/server/app/en/manga/toread.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/en/manga/toread.segments/_full.segment.rsc +5 -5
- package/dist/.next/server/app/en/manga/toread.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/toread.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/toread.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/en/manga/volume/[slug].html +1 -1
- package/dist/.next/server/app/en/manga/volume/[slug].meta +1 -1
- package/dist/.next/server/app/en/manga/volume/[slug].segments/$d$lang/manga/volume/$d$slug/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/volume/[slug].segments/$d$lang/manga/volume/$d$slug.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/volume/[slug].segments/$d$lang/manga/volume.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/volume/[slug].segments/$d$lang/manga.segment.rsc +2 -2
- package/dist/.next/server/app/en/manga/volume/[slug].segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/en/manga/volume/[slug].segments/_full.segment.rsc +5 -5
- package/dist/.next/server/app/en/manga/volume/[slug].segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/volume/[slug].segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/volume/[slug].segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/en/manga/volumes.html +1 -1
- package/dist/.next/server/app/en/manga/volumes.meta +1 -1
- package/dist/.next/server/app/en/manga/volumes.segments/$d$lang/manga/volumes/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/volumes.segments/$d$lang/manga/volumes.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/volumes.segments/$d$lang/manga.segment.rsc +2 -2
- package/dist/.next/server/app/en/manga/volumes.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/en/manga/volumes.segments/_full.segment.rsc +5 -5
- package/dist/.next/server/app/en/manga/volumes.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/volumes.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga/volumes.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/en/manga.html +1 -1
- package/dist/.next/server/app/en/manga.meta +1 -1
- package/dist/.next/server/app/en/manga.segments/$d$lang/manga/__PAGE__.segment.rsc +2 -2
- package/dist/.next/server/app/en/manga.segments/$d$lang/manga.segment.rsc +2 -2
- package/dist/.next/server/app/en/manga.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/en/manga.segments/_full.segment.rsc +6 -6
- package/dist/.next/server/app/en/manga.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/en/manga.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/en/profile/notifications.html +1 -1
- package/dist/.next/server/app/en/profile/notifications.meta +1 -1
- package/dist/.next/server/app/en/profile/notifications.segments/$d$lang/profile/notifications/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/en/profile/notifications.segments/$d$lang/profile/notifications.segment.rsc +1 -1
- package/dist/.next/server/app/en/profile/notifications.segments/$d$lang/profile.segment.rsc +3 -3
- package/dist/.next/server/app/en/profile/notifications.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/en/profile/notifications.segments/_full.segment.rsc +6 -6
- package/dist/.next/server/app/en/profile/notifications.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/en/profile/notifications.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/en/profile/notifications.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/en/profile/update.html +1 -1
- package/dist/.next/server/app/en/profile/update.meta +1 -1
- package/dist/.next/server/app/en/profile/update.segments/$d$lang/profile/update/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/en/profile/update.segments/$d$lang/profile/update.segment.rsc +1 -1
- package/dist/.next/server/app/en/profile/update.segments/$d$lang/profile.segment.rsc +3 -3
- package/dist/.next/server/app/en/profile/update.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/en/profile/update.segments/_full.segment.rsc +6 -6
- package/dist/.next/server/app/en/profile/update.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/en/profile/update.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/en/profile/update.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/en/profile.html +1 -1
- package/dist/.next/server/app/en/profile.meta +1 -1
- package/dist/.next/server/app/en/profile.segments/$d$lang/profile/__PAGE__.segment.rsc +7 -7
- package/dist/.next/server/app/en/profile.segments/$d$lang/profile.segment.rsc +3 -3
- package/dist/.next/server/app/en/profile.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/en/profile.segments/_full.segment.rsc +10 -10
- package/dist/.next/server/app/en/profile.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/en/profile.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/en/profile.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/en/search.html +1 -1
- package/dist/.next/server/app/en/search.meta +1 -1
- package/dist/.next/server/app/en/search.segments/$d$lang/search/__PAGE__.segment.rsc +3 -3
- package/dist/.next/server/app/en/search.segments/$d$lang/search.segment.rsc +1 -1
- package/dist/.next/server/app/en/search.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/en/search.segments/_full.segment.rsc +5 -5
- package/dist/.next/server/app/en/search.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/en/search.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/en/search.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/en/settings/library.html +1 -1
- package/dist/.next/server/app/en/settings/library.meta +1 -1
- package/dist/.next/server/app/en/settings/library.segments/$d$lang/settings/library/__PAGE__.segment.rsc +4 -4
- package/dist/.next/server/app/en/settings/library.segments/$d$lang/settings/library.segment.rsc +1 -1
- package/dist/.next/server/app/en/settings/library.segments/$d$lang/settings.segment.rsc +3 -3
- package/dist/.next/server/app/en/settings/library.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/en/settings/library.segments/_full.segment.rsc +7 -7
- package/dist/.next/server/app/en/settings/library.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/en/settings/library.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/en/settings/library.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/en/settings.html +1 -1
- package/dist/.next/server/app/en/settings.meta +1 -1
- package/dist/.next/server/app/en/settings.segments/$d$lang/settings/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/en/settings.segments/$d$lang/settings.segment.rsc +3 -3
- package/dist/.next/server/app/en/settings.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/en/settings.segments/_full.segment.rsc +6 -6
- package/dist/.next/server/app/en/settings.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/en/settings.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/en/settings.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/en.html +1 -1
- package/dist/.next/server/app/en.meta +1 -1
- package/dist/.next/server/app/en.segments/$d$lang/__PAGE__.segment.rsc +6 -6
- package/dist/.next/server/app/en.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/en.segments/_full.segment.rsc +8 -8
- package/dist/.next/server/app/en.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/en.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/en.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/es/books.html +1 -1
- package/dist/.next/server/app/es/books.meta +1 -1
- package/dist/.next/server/app/es/books.segments/$d$lang/books/__PAGE__.segment.rsc +2 -2
- package/dist/.next/server/app/es/books.segments/$d$lang/books.segment.rsc +1 -1
- package/dist/.next/server/app/es/books.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/es/books.segments/_full.segment.rsc +4 -4
- package/dist/.next/server/app/es/books.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/es/books.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/es/books.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/es/favorites/books.html +1 -1
- package/dist/.next/server/app/es/favorites/books.meta +1 -1
- package/dist/.next/server/app/es/favorites/books.segments/$d$lang/favorites/books/__PAGE__.segment.rsc +2 -2
- package/dist/.next/server/app/es/favorites/books.segments/$d$lang/favorites/books.segment.rsc +1 -1
- package/dist/.next/server/app/es/favorites/books.segments/$d$lang/favorites.segment.rsc +3 -3
- package/dist/.next/server/app/es/favorites/books.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/es/favorites/books.segments/_full.segment.rsc +6 -6
- package/dist/.next/server/app/es/favorites/books.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/es/favorites/books.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/es/favorites/books.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/es/favorites.html +1 -1
- package/dist/.next/server/app/es/favorites.meta +1 -1
- package/dist/.next/server/app/es/favorites.segments/$d$lang/favorites/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/es/favorites.segments/$d$lang/favorites.segment.rsc +3 -3
- package/dist/.next/server/app/es/favorites.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/es/favorites.segments/_full.segment.rsc +6 -6
- package/dist/.next/server/app/es/favorites.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/es/favorites.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/es/favorites.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/es/login.html +1 -1
- package/dist/.next/server/app/es/login.meta +1 -1
- package/dist/.next/server/app/es/login.segments/$d$lang/login/__PAGE__.segment.rsc +4 -4
- package/dist/.next/server/app/es/login.segments/$d$lang/login.segment.rsc +1 -1
- package/dist/.next/server/app/es/login.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/es/login.segments/_full.segment.rsc +6 -6
- package/dist/.next/server/app/es/login.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/es/login.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/es/login.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/es/manga/[series].html +1 -1
- package/dist/.next/server/app/es/manga/[series].meta +1 -1
- package/dist/.next/server/app/es/manga/[series].segments/$d$lang/manga/$d$series/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/[series].segments/$d$lang/manga/$d$series.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/[series].segments/$d$lang/manga.segment.rsc +2 -2
- package/dist/.next/server/app/es/manga/[series].segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/es/manga/[series].segments/_full.segment.rsc +5 -5
- package/dist/.next/server/app/es/manga/[series].segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/[series].segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/[series].segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/es/manga/series.html +1 -1
- package/dist/.next/server/app/es/manga/series.meta +1 -1
- package/dist/.next/server/app/es/manga/series.segments/$d$lang/manga/series/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/series.segments/$d$lang/manga/series.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/series.segments/$d$lang/manga.segment.rsc +2 -2
- package/dist/.next/server/app/es/manga/series.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/es/manga/series.segments/_full.segment.rsc +5 -5
- package/dist/.next/server/app/es/manga/series.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/series.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/series.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/es/manga/toread.html +1 -1
- package/dist/.next/server/app/es/manga/toread.meta +1 -1
- package/dist/.next/server/app/es/manga/toread.segments/$d$lang/manga/toread/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/toread.segments/$d$lang/manga/toread.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/toread.segments/$d$lang/manga.segment.rsc +2 -2
- package/dist/.next/server/app/es/manga/toread.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/es/manga/toread.segments/_full.segment.rsc +5 -5
- package/dist/.next/server/app/es/manga/toread.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/toread.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/toread.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/es/manga/volume/[slug].html +1 -1
- package/dist/.next/server/app/es/manga/volume/[slug].meta +1 -1
- package/dist/.next/server/app/es/manga/volume/[slug].segments/$d$lang/manga/volume/$d$slug/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/volume/[slug].segments/$d$lang/manga/volume/$d$slug.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/volume/[slug].segments/$d$lang/manga/volume.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/volume/[slug].segments/$d$lang/manga.segment.rsc +2 -2
- package/dist/.next/server/app/es/manga/volume/[slug].segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/es/manga/volume/[slug].segments/_full.segment.rsc +5 -5
- package/dist/.next/server/app/es/manga/volume/[slug].segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/volume/[slug].segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/volume/[slug].segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/es/manga/volumes.html +1 -1
- package/dist/.next/server/app/es/manga/volumes.meta +1 -1
- package/dist/.next/server/app/es/manga/volumes.segments/$d$lang/manga/volumes/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/volumes.segments/$d$lang/manga/volumes.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/volumes.segments/$d$lang/manga.segment.rsc +2 -2
- package/dist/.next/server/app/es/manga/volumes.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/es/manga/volumes.segments/_full.segment.rsc +5 -5
- package/dist/.next/server/app/es/manga/volumes.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/volumes.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga/volumes.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/es/manga.html +1 -1
- package/dist/.next/server/app/es/manga.meta +1 -1
- package/dist/.next/server/app/es/manga.segments/$d$lang/manga/__PAGE__.segment.rsc +2 -2
- package/dist/.next/server/app/es/manga.segments/$d$lang/manga.segment.rsc +2 -2
- package/dist/.next/server/app/es/manga.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/es/manga.segments/_full.segment.rsc +6 -6
- package/dist/.next/server/app/es/manga.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/es/manga.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/es/profile/notifications.html +1 -1
- package/dist/.next/server/app/es/profile/notifications.meta +1 -1
- package/dist/.next/server/app/es/profile/notifications.segments/$d$lang/profile/notifications/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/es/profile/notifications.segments/$d$lang/profile/notifications.segment.rsc +1 -1
- package/dist/.next/server/app/es/profile/notifications.segments/$d$lang/profile.segment.rsc +3 -3
- package/dist/.next/server/app/es/profile/notifications.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/es/profile/notifications.segments/_full.segment.rsc +6 -6
- package/dist/.next/server/app/es/profile/notifications.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/es/profile/notifications.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/es/profile/notifications.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/es/profile/update.html +1 -1
- package/dist/.next/server/app/es/profile/update.meta +1 -1
- package/dist/.next/server/app/es/profile/update.segments/$d$lang/profile/update/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/es/profile/update.segments/$d$lang/profile/update.segment.rsc +1 -1
- package/dist/.next/server/app/es/profile/update.segments/$d$lang/profile.segment.rsc +3 -3
- package/dist/.next/server/app/es/profile/update.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/es/profile/update.segments/_full.segment.rsc +6 -6
- package/dist/.next/server/app/es/profile/update.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/es/profile/update.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/es/profile/update.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/es/profile.html +1 -1
- package/dist/.next/server/app/es/profile.meta +1 -1
- package/dist/.next/server/app/es/profile.segments/$d$lang/profile/__PAGE__.segment.rsc +7 -7
- package/dist/.next/server/app/es/profile.segments/$d$lang/profile.segment.rsc +3 -3
- package/dist/.next/server/app/es/profile.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/es/profile.segments/_full.segment.rsc +10 -10
- package/dist/.next/server/app/es/profile.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/es/profile.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/es/profile.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/es/search.html +1 -1
- package/dist/.next/server/app/es/search.meta +1 -1
- package/dist/.next/server/app/es/search.segments/$d$lang/search/__PAGE__.segment.rsc +3 -3
- package/dist/.next/server/app/es/search.segments/$d$lang/search.segment.rsc +1 -1
- package/dist/.next/server/app/es/search.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/es/search.segments/_full.segment.rsc +5 -5
- package/dist/.next/server/app/es/search.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/es/search.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/es/search.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/es/settings/library.html +1 -1
- package/dist/.next/server/app/es/settings/library.meta +1 -1
- package/dist/.next/server/app/es/settings/library.segments/$d$lang/settings/library/__PAGE__.segment.rsc +4 -4
- package/dist/.next/server/app/es/settings/library.segments/$d$lang/settings/library.segment.rsc +1 -1
- package/dist/.next/server/app/es/settings/library.segments/$d$lang/settings.segment.rsc +3 -3
- package/dist/.next/server/app/es/settings/library.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/es/settings/library.segments/_full.segment.rsc +7 -7
- package/dist/.next/server/app/es/settings/library.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/es/settings/library.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/es/settings/library.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/es/settings.html +1 -1
- package/dist/.next/server/app/es/settings.meta +1 -1
- package/dist/.next/server/app/es/settings.segments/$d$lang/settings/__PAGE__.segment.rsc +1 -1
- package/dist/.next/server/app/es/settings.segments/$d$lang/settings.segment.rsc +3 -3
- package/dist/.next/server/app/es/settings.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/es/settings.segments/_full.segment.rsc +6 -6
- package/dist/.next/server/app/es/settings.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/es/settings.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/es/settings.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app/es.html +1 -1
- package/dist/.next/server/app/es.meta +1 -1
- package/dist/.next/server/app/es.segments/$d$lang/__PAGE__.segment.rsc +6 -6
- package/dist/.next/server/app/es.segments/$d$lang.segment.rsc +3 -3
- package/dist/.next/server/app/es.segments/_full.segment.rsc +8 -8
- package/dist/.next/server/app/es.segments/_head.segment.rsc +1 -1
- package/dist/.next/server/app/es.segments/_index.segment.rsc +1 -1
- package/dist/.next/server/app/es.segments/_tree.segment.rsc +2 -2
- package/dist/.next/server/app-paths-manifest.json +1 -0
- package/dist/.next/server/chunks/[externals]__06o7v.s._.js +3 -0
- package/dist/.next/server/chunks/[externals]__08.r02j._.js +3 -0
- package/dist/.next/server/chunks/[externals]__0io1dqn._.js +3 -0
- package/dist/.next/server/chunks/[root-of-the-server]__000e5ac._.js +5 -0
- package/dist/.next/server/chunks/[root-of-the-server]__01minwl._.js +3 -0
- package/dist/.next/server/chunks/[root-of-the-server]__065cjna._.js +3 -0
- package/dist/.next/server/chunks/{[root-of-the-server]__0f19woy._.js → [root-of-the-server]__090y5g~._.js} +2 -2
- package/dist/.next/server/chunks/{[root-of-the-server]__00~.f1h._.js → [root-of-the-server]__0bqqxvi._.js} +3 -3
- package/dist/.next/server/chunks/[root-of-the-server]__0mho9rx._.js +3 -0
- package/dist/.next/server/chunks/{[root-of-the-server]__08ozbjo._.js → [root-of-the-server]__0nnsbsa._.js} +2 -2
- package/dist/.next/server/chunks/[root-of-the-server]__0q4f5nz._.js +5 -0
- package/dist/.next/server/chunks/[root-of-the-server]__0qxte8q._.js +3 -0
- package/dist/.next/server/chunks/[root-of-the-server]__0thue9b._.js +3 -0
- package/dist/.next/server/chunks/[root-of-the-server]__0tp8msd._.js +3 -0
- package/dist/.next/server/chunks/[root-of-the-server]__0w.wsz5._.js +3 -0
- package/dist/.next/server/chunks/[root-of-the-server]__0w30bka._.js +3 -0
- package/dist/.next/server/chunks/[root-of-the-server]__0w8r0rc._.js +219 -0
- package/dist/.next/server/chunks/[root-of-the-server]__0wzdxnb._.js +3 -0
- package/dist/.next/server/chunks/[root-of-the-server]__0zbby0w._.js +5 -0
- package/dist/.next/server/chunks/[root-of-the-server]__120g6lv._.js +219 -0
- package/dist/.next/server/chunks/{[root-of-the-server]__0f9hm.b._.js → [root-of-the-server]__12wzt~c._.js} +25 -25
- package/dist/.next/server/chunks/_0-x.21m._.js +1 -1
- package/dist/.next/server/chunks/_07otzs8._.js +2 -1
- package/dist/.next/server/chunks/_0acvjtf._.js +16 -0
- package/dist/.next/server/chunks/_0f4oh8x._.js +16 -0
- package/dist/.next/server/chunks/_0he79j5._.js +1 -1
- package/dist/.next/server/chunks/_0qvo6nz._.js +1 -1
- package/dist/.next/server/chunks/_0yipzck._.js +169 -0
- package/dist/.next/server/chunks/_107a6s1._.js +1 -1
- package/dist/.next/server/chunks/_next-internal_server_app_api_profile_[file]_route_actions_081le2f.js +3 -0
- package/dist/.next/server/chunks/ssr/0xn0_next_0mmjsg9._.js +3 -0
- package/dist/.next/server/chunks/ssr/0xn0_next_dist_07o~iiv._.js +10 -0
- package/dist/.next/server/chunks/ssr/0xn0_next_dist_0kq-56-._.js +3 -0
- package/dist/.next/server/chunks/ssr/0xn0_next_dist_0xwri9l._.js +3 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0._f028._.js +36 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0.m~6gk._.js +4 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0.ryx.a._.js +4 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0163-3l._.js +1 -1
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__018gs4f._.js +3 -0
- package/dist/.next/server/chunks/ssr/{[root-of-the-server]__03c5.en._.js → [root-of-the-server]__03otmt0._.js} +2 -2
- package/dist/.next/server/chunks/ssr/{_13l50z7._.js → [root-of-the-server]__07-jt01._.js} +5 -166
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__07rj5~y._.js +14 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__089fvdc._.js +4 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__08zvzs0._.js +3 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__098q1zi._.js +3 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0_~n0jf._.js +3 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0bf.gcx._.js +4 -0
- package/dist/.next/server/chunks/ssr/{[root-of-the-server]__0ftuzrv._.js → [root-of-the-server]__0bo9310._.js} +1 -1
- package/dist/.next/server/chunks/ssr/{[root-of-the-server]__0hx3z-i._.js → [root-of-the-server]__0drk75y._.js} +2 -2
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0dt626~._.js +5 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0emto8o._.js +5 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0f51w7p._.js +3 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0fta~.q._.js +11 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0i935p0._.js +36 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0kwcjdy._.js +11 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0lmhha4._.js +6 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0mrfwmc._.js +3 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0od4ov7._.js +14 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0o~wtg1._.js +3 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0pgblxq._.js +5 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0qmig-l._.js +37 -0
- package/dist/.next/server/chunks/ssr/{[root-of-the-server]__12zt.5r._.js → [root-of-the-server]__0rr_p-o._.js} +3 -3
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0tsardx._.js +3 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0v6eec5._.js +1 -1
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0w5_b~q._.js +37 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0wc3k~b._.js +195 -0
- package/dist/.next/server/chunks/ssr/{[root-of-the-server]__0m6l821._.js → [root-of-the-server]__0wiet4z._.js} +2 -2
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0xvohej._.js +3 -0
- package/dist/.next/server/chunks/ssr/{[root-of-the-server]__0__uciq._.js → [root-of-the-server]__0y2f1~v._.js} +3 -3
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__10lwhia._.js +4 -0
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__11mv0l0._.js +130 -0
- package/dist/.next/server/chunks/ssr/{_08-97h1._.js → _0-ebvut._.js} +2 -2
- package/dist/.next/server/chunks/ssr/_041r_yi._.js +3 -0
- package/dist/.next/server/chunks/ssr/_048l2a~._.js +1 -1
- package/dist/.next/server/chunks/ssr/_05voq8o._.js +179 -0
- package/dist/.next/server/chunks/ssr/_07-ylhi._.js +1 -1
- package/dist/.next/server/chunks/ssr/_07xxqxh._.js +49 -0
- package/dist/.next/server/chunks/ssr/{_04diprd._.js → _08pl1y1._.js} +2 -2
- package/dist/.next/server/chunks/ssr/_092ya8a._.js +1 -1
- package/dist/.next/server/chunks/ssr/_0_wsici._.js +2 -2
- package/dist/.next/server/chunks/ssr/{_06y5gyn._.js → _0_y--8g._.js} +2 -2
- package/dist/.next/server/chunks/ssr/_0fuvfg_._.js +18 -0
- package/dist/.next/server/chunks/ssr/{_0ucxu9v._.js → _0f~qxkm._.js} +2 -2
- package/dist/.next/server/chunks/ssr/_0h.5.93._.js +1 -1
- package/dist/.next/server/chunks/ssr/_0i-_eb8._.js +3 -0
- package/dist/.next/server/chunks/ssr/_0i6jouj._.js +1 -1
- package/dist/.next/server/chunks/ssr/_0io0xwx._.js +3 -0
- package/dist/.next/server/chunks/ssr/_0iq8tqc._.js +1 -1
- package/dist/.next/server/chunks/ssr/_0p~hw5y._.js +1 -1
- package/dist/.next/server/chunks/ssr/_0so9_59._.js +1 -1
- package/dist/.next/server/chunks/ssr/node_modules__pnpm_0.rcelq._.js +3 -0
- package/dist/.next/server/chunks/ssr/src_0vxxrk2._.js +6 -0
- package/dist/.next/server/chunks/ssr/{src_0iq.276._.js → src_11n4vzd._.js} +2 -2
- package/dist/.next/server/chunks/ssr/src_1317vs.._.js +1 -1
- package/dist/.next/server/chunks/ssr/src_components_0aht.-v._.js +1 -1
- package/dist/.next/server/chunks/ssr/src_components_13jytkv._.js +1 -1
- package/dist/.next/server/chunks/ssr/src_lib_i18n_dictionaries_en_profile_json_[json]_cjs_0fq~bfk._.js +1 -1
- package/dist/.next/server/chunks/ssr/src_lib_i18n_dictionaries_es_profile_json_[json]_cjs_0x04ai6._.js +1 -1
- package/dist/.next/server/middleware-build-manifest.js +6 -6
- package/dist/.next/server/middleware.js +2 -2
- package/dist/.next/server/pages/404.html +1 -1
- package/dist/.next/server/pages/500.html +1 -1
- package/dist/.next/server/server-reference-manifest.js +1 -1
- package/dist/.next/server/server-reference-manifest.json +448 -178
- package/dist/.next/static/chunks/{0ocda-9d9t06n.js → 0-.2w.r.qbyxh.js} +1 -1
- package/dist/.next/static/chunks/01lwva-nto8jr.js +1 -0
- package/dist/.next/static/chunks/{130.5q5w_51-k.js → 05motg~dk9exd.js} +1 -1
- package/dist/.next/static/chunks/0d5njxct3o-0e.js +1 -0
- package/dist/.next/static/chunks/{173vca.zo8od~.js → 0gfubdpl2-_6..js} +1 -1
- package/dist/.next/static/chunks/{0akf3s~t_6vg7.js → 0h1jok_3p~tov.js} +1 -1
- package/dist/.next/static/chunks/0jag03phm47nb.js +1 -0
- package/dist/.next/static/chunks/0jiz239_9337c.css +3 -0
- package/dist/.next/static/chunks/0ob9ncnj.i~pr.js +1 -0
- package/dist/.next/static/chunks/{0os5rnxrkcjja.js → 0ql49co.cgb-6.js} +1 -1
- package/dist/.next/static/chunks/0rvajo28np3og.js +1 -0
- package/dist/.next/static/chunks/0z5qgi03n50zx.js +1 -0
- package/dist/.next/static/chunks/0~_urpr.p5fsg.js +3 -0
- package/dist/.next/static/chunks/12h.-dzk4mq7e.js +1 -0
- package/dist/.next/static/chunks/{15yjdtaoi6jho.js → 15l91tk5_1zt..js} +1 -1
- package/dist/.next/static/chunks/{0s~qod3-mze-a.js → 16uo5t_-6qm9b.js} +1 -1
- package/dist/.next/static/chunks/17lvd-1dh8nb8.js +2 -0
- package/dist/.next/static/chunks/187jspc2d6.0_.js +1 -0
- package/dist/.next/static/chunks/{turbopack-0a6i~p0ly9qsv.js → turbopack-0pm132gv35tgq.js} +1 -1
- package/dist/migrations/002_add_profile_image_to_users.sql +2 -0
- package/dist/next.config.ts +7 -0
- package/dist/package.json +1 -1
- package/dist/runtime/cli.mjs +24 -2
- package/dist/runtime/commands/init.mjs +18 -9
- package/dist/server.js +1 -1
- package/dist/src/actions/delete.ts +5 -0
- package/dist/src/actions/profile.ts +98 -0
- package/dist/src/actions/scan-series.ts +5 -0
- package/dist/src/actions/users.ts +0 -54
- package/dist/src/app/[lang]/manga/[series]/page.tsx +7 -6
- package/dist/src/app/[lang]/manga/volume/[slug]/page.tsx +2 -4
- package/dist/src/app/[lang]/profile/update/page.tsx +1 -1
- package/dist/src/app/api/admin/scan-manga/extract-cover/route.ts +3 -0
- package/dist/src/app/api/admin/scan-manga/extract-meta/route.ts +2 -0
- package/dist/src/app/api/admin/scan-manga/index-library/route.ts +3 -0
- package/dist/src/app/api/admin/scan-manga/start/route.ts +2 -0
- package/dist/src/app/api/admin/upload/confirm/route.ts +5 -0
- package/dist/src/app/api/admin/upload/library/chunk/route.ts +3 -0
- package/dist/src/app/api/profile/[file]/route.ts +20 -0
- package/dist/src/components/home/manga/HeroKeepRead.tsx +2 -3
- package/dist/src/components/home/manga/RowNewVols.tsx +2 -3
- package/dist/src/components/library/manga/grid/SeriesIndex.tsx +3 -6
- package/dist/src/components/library/manga/grid/SeriesIndexFav.tsx +3 -4
- package/dist/src/components/library/manga/grid/VolumesIndex.tsx +2 -5
- package/dist/src/components/library/manga/grid/VolumesIndexFav.tsx +2 -3
- package/dist/src/components/library/manga/grid/WantToRead.tsx +2 -5
- package/dist/src/components/library/manga/row/HeroKeepRead.tsx +2 -3
- package/dist/src/components/library/manga/row/NewVols.tsx +2 -3
- package/dist/src/components/library/manga/row/NextVol.tsx +2 -3
- package/dist/src/components/library/manga/row/RecentlyRead.tsx +2 -3
- package/dist/src/components/profile/ProfileForm.tsx +91 -5
- package/dist/src/components/profile/UserAvatar.tsx +9 -14
- package/dist/src/components/sidebar/FooterNav.tsx +4 -4
- package/dist/src/components/sidebar/SecondNav.tsx +1 -1
- package/dist/src/components/ui/Avatar.tsx +50 -0
- package/dist/src/components/ui/Pagination.tsx +20 -11
- package/dist/src/lib/db/library.ts +154 -32
- package/dist/src/lib/db/migrations/002_add_profile_image_to_users.sql +2 -0
- package/dist/src/lib/db/types.ts +2 -0
- package/dist/src/lib/db/users.ts +16 -4
- package/dist/src/lib/i18n/dictionaries/en/profile.json +3 -0
- package/dist/src/lib/i18n/dictionaries/es/profile.json +3 -0
- package/dist/src/lib/mangaCover.ts +35 -0
- package/dist/src/lib/mangaLibraryCache.ts +7 -0
- package/dist/src/lib/profileImage.ts +141 -0
- package/dist/src/lib/profileImageUrl.ts +4 -0
- package/dist/src/lib/types/auth.ts +1 -0
- package/dist/src/lib/versionInfo.ts +1 -1
- package/package.json +1 -1
- package/runtime/cli.mjs +24 -2
- package/runtime/commands/init.mjs +18 -9
- package/dist/.next/server/chunks/[externals]__04m39l7._.js +0 -3
- package/dist/.next/server/chunks/[externals]__0symfmt._.js +0 -3
- package/dist/.next/server/chunks/[externals]__11f43d8._.js +0 -3
- package/dist/.next/server/chunks/[root-of-the-server]__0-ezjjh._.js +0 -3
- package/dist/.next/server/chunks/[root-of-the-server]__01u.4rs._.js +0 -3
- package/dist/.next/server/chunks/[root-of-the-server]__03w8pu~._.js +0 -5
- package/dist/.next/server/chunks/[root-of-the-server]__07exd-_._.js +0 -3
- package/dist/.next/server/chunks/[root-of-the-server]__0_i9nx4._.js +0 -3
- package/dist/.next/server/chunks/[root-of-the-server]__0dxmwb2._.js +0 -3
- package/dist/.next/server/chunks/[root-of-the-server]__0h1-y1u._.js +0 -3
- package/dist/.next/server/chunks/[root-of-the-server]__0o.c~2l._.js +0 -3
- package/dist/.next/server/chunks/[root-of-the-server]__0s26iaa._.js +0 -3
- package/dist/.next/server/chunks/[root-of-the-server]__0ykh8n7._.js +0 -3
- package/dist/.next/server/chunks/[root-of-the-server]__12fdpoj._.js +0 -5
- package/dist/.next/server/chunks/_0o2famo._.js +0 -219
- package/dist/.next/server/chunks/_0p05.ug._.js +0 -159
- package/dist/.next/server/chunks/_0wmxnqz._.js +0 -219
- package/dist/.next/server/chunks/ssr/0xn0_next_0i4c_5k._.js +0 -10
- package/dist/.next/server/chunks/ssr/0xn0_next_dist_0e~0kfn._.js +0 -3
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0-op14l._.js +0 -3
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0.6l1gu._.js +0 -127
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__04rf-mb._.js +0 -14
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__051wvkc._.js +0 -289
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__06u2vz6._.js +0 -11
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__07ufuic._.js +0 -3
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0ckbz4m._.js +0 -127
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0dzdqpg._.js +0 -160
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0g7b1.f._.js +0 -11
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0gqwm5-._.js +0 -165
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0h4pts7._.js +0 -3
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0hl9kxb._.js +0 -160
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0l1tsri._.js +0 -165
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0o-bi_~._.js +0 -3
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0r9qdr9._.js +0 -138
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0sb2bdq._.js +0 -127
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0s~uegx._.js +0 -127
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0u0d7tm._.js +0 -165
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0umo466._.js +0 -3
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0wvq4b6._.js +0 -3
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__0~-1xvk._.js +0 -3
- package/dist/.next/server/chunks/ssr/[root-of-the-server]__136hhiw._.js +0 -3
- package/dist/.next/server/chunks/ssr/_0-a2~22._.js +0 -198
- package/dist/.next/server/chunks/ssr/_040iqz4._.js +0 -165
- package/dist/.next/server/chunks/ssr/_06sgwry._.js +0 -198
- package/dist/.next/server/chunks/ssr/_07p7svd._.js +0 -230
- package/dist/.next/server/chunks/ssr/_0b.571z._.js +0 -165
- package/dist/.next/server/chunks/ssr/_0mw_qhe._.js +0 -165
- package/dist/.next/server/chunks/ssr/_0pxm47s._.js +0 -5
- package/dist/.next/server/chunks/ssr/_0q-n0ab._.js +0 -20
- package/dist/.next/server/chunks/ssr/_0rdv9ta._.js +0 -3
- package/dist/.next/server/chunks/ssr/_0s8v6hg._.js +0 -45
- package/dist/.next/server/chunks/ssr/node_modules__pnpm_0g.lh7t._.js +0 -3
- package/dist/.next/server/chunks/ssr/src_0hpe~0j._.js +0 -6
- package/dist/.next/server/chunks/ssr/src_components_profile_ProfileForm_tsx_01m8xja._.js +0 -3
- package/dist/.next/server/chunks/ssr/src_components_profile_SubscriptionsTable_tsx_0lnukp1._.js +0 -3
- package/dist/.next/static/chunks/00-eu6nq2.2b1.js +0 -2
- package/dist/.next/static/chunks/01gbodpgo16if.js +0 -1
- package/dist/.next/static/chunks/03.wb.p2t~nc8.js +0 -1
- package/dist/.next/static/chunks/05pp4vfmhgj7j.js +0 -1
- package/dist/.next/static/chunks/085lcw1uodr6t.css +0 -3
- package/dist/.next/static/chunks/09ky2h2y4mhat.js +0 -1
- package/dist/.next/static/chunks/0_4~nhzj45_2v.js +0 -1
- package/dist/.next/static/chunks/0lx9~duy814wd.js +0 -1
- package/dist/.next/static/chunks/0qbe3qotai28y.js +0 -3
- package/dist/.next/static/chunks/0so2hc2~pq2al.js +0 -1
- package/dist/.next/static/chunks/0zb6339bo0w-~.js +0 -1
- package/dist/.next/static/chunks/0~qxck6n49xw-.js +0 -1
- /package/dist/.next/static/{F5ZMyhGgcQofdDO0GXsdD → PWw2Oo50QJHfYm7Z43WyV}/_buildManifest.js +0 -0
- /package/dist/.next/static/{F5ZMyhGgcQofdDO0GXsdD → PWw2Oo50QJHfYm7Z43WyV}/_clientMiddlewareManifest.js +0 -0
- /package/dist/.next/static/{F5ZMyhGgcQofdDO0GXsdD → PWw2Oo50QJHfYm7Z43WyV}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
module.exports=[45963,(e,t,r)=>{"use strict";t.exports=e.r(90921).vendored["react-rsc"].ReactServerDOMTurbopackServer},17178,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"registerServerReference",{enumerable:!0,get:function(){return n.registerServerReference}});let n=e.r(45963)},12267,e=>e.a(async(t,r)=>{try{e.i(23920);var n=e.i(70410),a=t([n]);async function i(e,t){return(0,n.queryOne)(`
|
|
2
|
+
SELECT
|
|
3
|
+
id,
|
|
4
|
+
user_id,
|
|
5
|
+
volume_id,
|
|
6
|
+
is_read,
|
|
7
|
+
is_favorite,
|
|
8
|
+
personal_rating,
|
|
9
|
+
last_page,
|
|
10
|
+
total_pages,
|
|
11
|
+
last_read_at,
|
|
12
|
+
first_read,
|
|
13
|
+
created_at,
|
|
14
|
+
updated_at
|
|
15
|
+
FROM user_to_volumes
|
|
16
|
+
WHERE user_id = $1
|
|
17
|
+
AND volume_id = $2
|
|
18
|
+
LIMIT 1
|
|
19
|
+
`,[e,t])}[n]=a.then?(await a)():a,e.s(["findVolumeProgress",0,i]),r()}catch(e){r(e)}},!1),48699,(e,t,r)=>{"use strict";t.exports=e.r(90921).vendored["react-rsc"].ReactDOM},859,(e,t,r)=>{"use strict";var n=e.r(24361),a=e.r(48699),i={stream:!0},o=Object.prototype.hasOwnProperty;function s(e){var t=globalThis.__next_require__(e);return"function"!=typeof t.then||"fulfilled"===t.status?null:(t.then(function(e){t.status="fulfilled",t.value=e},function(e){t.status="rejected",t.reason=e}),t)}var l=new WeakSet,u=new WeakSet;function c(){}function d(e){for(var t=e[1],r=[],n=0;n<t.length;n++){var a=globalThis.__next_chunk_load__(t[n]);if(u.has(a)||r.push(a),!l.has(a)){var i=u.add.bind(u,a);a.then(i,c),l.add(a)}}return 4===e.length?0===r.length?s(e[0]):Promise.all(r).then(function(){return s(e[0])}):0<r.length?Promise.all(r):null}function f(e){var t=globalThis.__next_require__(e[0]);if(4===e.length&&"function"==typeof t.then)if("fulfilled"===t.status)t=t.value;else throw t.reason;return"*"===e[2]?t:""===e[2]?t.__esModule?t.default:t:o.call(t,e[2])?t[e[2]]:void 0}var p=a.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,m=Symbol.for("react.transitional.element"),g=Symbol.for("react.lazy"),h=Symbol.iterator,v=Symbol.asyncIterator,y=Array.isArray,_=Object.getPrototypeOf,b=Object.prototype,E=new WeakMap;function R(e,t,r,n,a){function i(e,r){r=new Blob([new Uint8Array(r.buffer,r.byteOffset,r.byteLength)]);var n=l++;return null===c&&(c=new FormData),c.append(t+n,r),"$"+e+n.toString(16)}function o(e,p){if(null===p)return null;if("object"==typeof p){switch(p.$$typeof){case m:if(void 0!==r&&-1===e.indexOf(":")){var R,w,S,O,P,A=d.get(this);if(void 0!==A)return r.set(A+":"+e,p),"$T"}if(void 0!==r&&f===p)return f=null,"$T";throw Error("React Element cannot be passed to Server Functions from the Client without a temporary reference set. Pass a TemporaryReferenceSet to the options.");case g:A=p._payload;var C=p._init;null===c&&(c=new FormData),u++;try{var T=C(A),k=l++,N=s(T,k);return c.append(t+k,N),"$"+k.toString(16)}catch(e){if("object"==typeof e&&null!==e&&"function"==typeof e.then){u++;var x=l++;return A=function(){try{var e=s(p,x),r=c;r.append(t+x,e),u--,0===u&&n(r)}catch(e){a(e)}},e.then(A,A),"$"+x.toString(16)}return a(e),null}finally{u--}}if(A=d.get(p),"function"==typeof p.then){if(void 0!==A)if(f!==p)return A;else f=null;null===c&&(c=new FormData),u++;var j=l++;return e="$@"+j.toString(16),d.set(p,e),p.then(function(e){try{var r=d.get(e),i=void 0!==r?JSON.stringify(r):s(e,j);(e=c).append(t+j,i),u--,0===u&&n(e)}catch(e){a(e)}},a),e}if(void 0!==A)if(f!==p)return A;else f=null;else -1===e.indexOf(":")&&void 0!==(A=d.get(this))&&(e=A+":"+e,d.set(p,e),void 0!==r&&r.set(e,p));if(y(p))return p;if(p instanceof FormData){null===c&&(c=new FormData);var I=c,M=t+"_"+(e=l++)+"_";return p.forEach(function(e,t){I.append(M+t,e)}),"$K"+e.toString(16)}if(p instanceof Map)return e=l++,A=s(Array.from(p),e),null===c&&(c=new FormData),c.append(t+e,A),"$Q"+e.toString(16);if(p instanceof Set)return e=l++,A=s(Array.from(p),e),null===c&&(c=new FormData),c.append(t+e,A),"$W"+e.toString(16);if(p instanceof ArrayBuffer)return e=new Blob([p]),A=l++,null===c&&(c=new FormData),c.append(t+A,e),"$A"+A.toString(16);if(p instanceof Int8Array)return i("O",p);if(p instanceof Uint8Array)return i("o",p);if(p instanceof Uint8ClampedArray)return i("U",p);if(p instanceof Int16Array)return i("S",p);if(p instanceof Uint16Array)return i("s",p);if(p instanceof Int32Array)return i("L",p);if(p instanceof Uint32Array)return i("l",p);if(p instanceof Float32Array)return i("G",p);if(p instanceof Float64Array)return i("g",p);if(p instanceof BigInt64Array)return i("M",p);if(p instanceof BigUint64Array)return i("m",p);if(p instanceof DataView)return i("V",p);if("function"==typeof Blob&&p instanceof Blob)return null===c&&(c=new FormData),e=l++,c.append(t+e,p),"$B"+e.toString(16);if(e=null===(R=p)||"object"!=typeof R?null:"function"==typeof(R=h&&R[h]||R["@@iterator"])?R:null)return(A=e.call(p))===p?(e=l++,A=s(Array.from(A),e),null===c&&(c=new FormData),c.append(t+e,A),"$i"+e.toString(16)):Array.from(A);if("function"==typeof ReadableStream&&p instanceof ReadableStream)return function(e){try{var r,i,s,d,f,p,m,g=e.getReader({mode:"byob"})}catch(d){return r=e.getReader(),null===c&&(c=new FormData),i=c,u++,s=l++,r.read().then(function e(l){if(l.done)i.append(t+s,"C"),0==--u&&n(i);else try{var c=JSON.stringify(l.value,o);i.append(t+s,c),r.read().then(e,a)}catch(e){a(e)}},a),"$R"+s.toString(16)}return d=g,null===c&&(c=new FormData),f=c,u++,p=l++,m=[],d.read(new Uint8Array(1024)).then(function e(r){r.done?(r=l++,f.append(t+r,new Blob(m)),f.append(t+p,'"$o'+r.toString(16)+'"'),f.append(t+p,"C"),0==--u&&n(f)):(m.push(r.value),d.read(new Uint8Array(1024)).then(e,a))},a),"$r"+p.toString(16)}(p);if("function"==typeof(e=p[v]))return w=p,S=e.call(p),null===c&&(c=new FormData),O=c,u++,P=l++,w=w===S,S.next().then(function e(r){if(r.done){if(void 0===r.value)O.append(t+P,"C");else try{var i=JSON.stringify(r.value,o);O.append(t+P,"C"+i)}catch(e){a(e);return}0==--u&&n(O)}else try{var s=JSON.stringify(r.value,o);O.append(t+P,s),S.next().then(e,a)}catch(e){a(e)}},a),"$"+(w?"x":"X")+P.toString(16);if((e=_(p))!==b&&(null===e||null!==_(e))){if(void 0===r)throw Error("Only plain objects, and a few built-ins, can be passed to Server Functions. Classes or null prototypes are not supported.");return"$T"}return p}if("string"==typeof p)return"Z"===p[p.length-1]&&this[e]instanceof Date?"$D"+p:e="$"===p[0]?"$"+p:p;if("boolean"==typeof p)return p;if("number"==typeof p)return Number.isFinite(p)?0===p&&-1/0==1/p?"$-0":p:1/0===p?"$Infinity":-1/0===p?"$-Infinity":"$NaN";if(void 0===p)return"$undefined";if("function"==typeof p){if(void 0!==(A=E.get(p)))return void 0!==(e=d.get(p))||(e=JSON.stringify({id:A.id,bound:A.bound},o),null===c&&(c=new FormData),A=l++,c.set(t+A,e),e="$h"+A.toString(16),d.set(p,e)),e;if(void 0!==r&&-1===e.indexOf(":")&&void 0!==(A=d.get(this)))return r.set(A+":"+e,p),"$T";throw Error("Client Functions cannot be passed directly to Server Functions. Only Functions passed from the Server can be passed back again.")}if("symbol"==typeof p){if(void 0!==r&&-1===e.indexOf(":")&&void 0!==(A=d.get(this)))return r.set(A+":"+e,p),"$T";throw Error("Symbols cannot be passed to a Server Function without a temporary reference set. Pass a TemporaryReferenceSet to the options.")}if("bigint"==typeof p)return"$n"+p.toString(10);throw Error("Type "+typeof p+" is not supported as an argument to a Server Function.")}function s(e,t){return"object"==typeof e&&null!==e&&(t="$"+t.toString(16),d.set(e,t),void 0!==r&&r.set(t,e)),f=e,JSON.stringify(e,o)}var l=1,u=0,c=null,d=new WeakMap,f=e,p=s(e,0);return null===c?n(p):(c.set(t+"0",p),0===u&&n(c)),function(){0<u&&(u=0,null===c?n(p):n(c))}}var w=new WeakMap;function S(e){var t=E.get(this);if(!t)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");var r=null;if(null!==t.bound){if((r=w.get(t))||(n={id:t.id,bound:t.bound},o=new Promise(function(e,t){a=e,i=t}),R(n,"",void 0,function(e){if("string"==typeof e){var t=new FormData;t.append("0",e),e=t}o.status="fulfilled",o.value=e,a(e)},function(e){o.status="rejected",o.reason=e,i(e)}),r=o,w.set(t,r)),"rejected"===r.status)throw r.reason;if("fulfilled"!==r.status)throw r;t=r.value;var n,a,i,o,s=new FormData;t.forEach(function(t,r){s.append("$ACTION_"+e+":"+r,t)}),r=s,t="$ACTION_REF_"+e}else t="$ACTION_ID_"+t.id;return{name:t,method:"POST",encType:"multipart/form-data",data:r}}function O(e,t){var r=E.get(this);if(!r)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");if(r.id!==e)return!1;var n=r.bound;if(null===n)return 0===t;switch(n.status){case"fulfilled":return n.value.length===t;case"pending":throw n;case"rejected":throw n.reason;default:throw"string"!=typeof n.status&&(n.status="pending",n.then(function(e){n.status="fulfilled",n.value=e},function(e){n.status="rejected",n.reason=e})),n}}function P(e,t,r,n){E.has(e)||(E.set(e,{id:t,originalBind:e.bind,bound:r}),Object.defineProperties(e,{$$FORM_ACTION:{value:void 0===n?S:function(){var e=E.get(this);if(!e)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");var t=e.bound;return null===t&&(t=Promise.resolve([])),n(e.id,t)}},$$IS_SIGNATURE_EQUAL:{value:O},bind:{value:T}}))}var A=Function.prototype.bind,C=Array.prototype.slice;function T(){var e=E.get(this);if(!e)return A.apply(this,arguments);var t=e.originalBind.apply(this,arguments),r=C.call(arguments,1),n=null;return n=null!==e.bound?Promise.resolve(e.bound).then(function(e){return e.concat(r)}):Promise.resolve(r),E.set(t,{id:e.id,originalBind:t.bind,bound:n}),Object.defineProperties(t,{$$FORM_ACTION:{value:this.$$FORM_ACTION},$$IS_SIGNATURE_EQUAL:{value:O},bind:{value:T}}),t}function k(e,t,r){this.status=e,this.value=t,this.reason=r}function N(e){switch(e.status){case"resolved_model":B(e);break;case"resolved_module":W(e)}switch(e.status){case"fulfilled":return e.value;case"pending":case"blocked":case"halted":throw e;default:throw e.reason}}function x(){return new k("pending",null,null)}function j(e,t,r,n){for(var a=0;a<t.length;a++){var i=t[a];"function"==typeof i?i(r):G(e,i,r,n)}}function I(e,t,r){for(var n=0;n<t.length;n++){var a=t[n];"function"==typeof a?a(r):K(e,a.handler,r)}}function M(e,t){var r=t.handler.chunk;if(null===r)return null;if(r===e)return t.handler;if(null!==(t=r.value))for(r=0;r<t.length;r++){var n=t[r];if("function"!=typeof n&&null!==(n=M(e,n)))return n}return null}function D(e,t,r,n){switch(t.status){case"fulfilled":j(e,r,t.value,t);break;case"blocked":for(var a=0;a<r.length;a++){var i=r[a];if("function"!=typeof i){var o=M(t,i);if(null!==o)switch(G(e,i,o.value,t),r.splice(a,1),a--,null!==n&&-1!==(i=n.indexOf(i))&&n.splice(i,1),t.status){case"fulfilled":j(e,r,t.value,t);return;case"rejected":null!==n&&I(e,n,t.reason);return}}}case"pending":if(t.value)for(e=0;e<r.length;e++)t.value.push(r[e]);else t.value=r;if(t.reason){if(n)for(r=0;r<n.length;r++)t.reason.push(n[r])}else t.reason=n;break;case"rejected":n&&I(e,n,t.reason)}}function $(e,t,r){if("pending"!==t.status&&"blocked"!==t.status)t.reason.error(r);else{var n=t.reason;t.status="rejected",t.reason=r,null!==n&&I(e,n,r)}}function U(e,t,r){return new k("resolved_model",(r?'{"done":true,"value":':'{"done":false,"value":')+t+"}",e)}function F(e,t,r,n){L(e,t,(n?'{"done":true,"value":':'{"done":false,"value":')+r+"}")}function L(e,t,r){if("pending"!==t.status)t.reason.enqueueModel(r);else{var n=t.value,a=t.reason;t.status="resolved_model",t.value=r,t.reason=e,null!==n&&(B(t),D(e,t,n,a))}}function H(e,t,r){if("pending"===t.status||"blocked"===t.status){var n=t.value,a=t.reason;t.status="resolved_module",t.value=r,t.reason=null,null!==n&&(W(t),D(e,t,n,a))}}k.prototype=Object.create(Promise.prototype),k.prototype.then=function(e,t){switch(this.status){case"resolved_model":B(this);break;case"resolved_module":W(this)}switch(this.status){case"fulfilled":"function"==typeof e&&e(this.value);break;case"pending":case"blocked":"function"==typeof e&&(null===this.value&&(this.value=[]),this.value.push(e)),"function"==typeof t&&(null===this.reason&&(this.reason=[]),this.reason.push(t));break;case"halted":break;default:"function"==typeof t&&t(this.reason)}};var X=null;function B(e){var t=X;X=null;var r=e.value,n=e.reason;e.status="blocked",e.value=null,e.reason=null;try{var a=ey(n,r),i=e.value;if(null!==i)for(e.value=null,e.reason=null,r=0;r<i.length;r++){var o=i[r];"function"==typeof o?o(a):G(n,o,a,e)}if(null!==X){if(X.errored)throw X.reason;if(0<X.deps){X.value=a,X.chunk=e;return}}e.status="fulfilled",e.value=a,e.reason=null}catch(t){e.status="rejected",e.reason=t}finally{X=t}}function W(e){try{var t=f(e.value);e.status="fulfilled",e.value=t,e.reason=null}catch(t){e.status="rejected",e.reason=t}}function q(e,t){e._closed=!0,e._closedReason=t,e._chunks.forEach(function(r){"pending"===r.status?$(e,r,t):"fulfilled"===r.status&&null!==r.reason&&r.reason.error(t)})}function V(e){return{$$typeof:g,_payload:e,_init:N}}function z(e,t){var r=e._chunks,n=r.get(t);return n||(e._closed?e._allowPartialStream?((e=n=x()).status="halted",e.value=null,e.reason=null):n=new k("rejected",null,e._closedReason):n=x(),r.set(t,n)),n}function G(e,t,r){var n=t.handler,a=t.parentObject,i=t.key,s=t.map,l=t.path;try{for(var u=1;u<l.length;u++){for(;"object"==typeof r&&null!==r&&r.$$typeof===g;){var c=r._payload;if(c===n.chunk)r=n.value;else{switch(c.status){case"resolved_model":B(c);break;case"resolved_module":W(c)}switch(c.status){case"fulfilled":r=c.value;continue;case"blocked":var d=M(c,t);if(null!==d){r=d.value;continue}case"pending":l.splice(0,u-1),null===c.value?c.value=[t]:c.value.push(t),null===c.reason?c.reason=[t]:c.reason.push(t);return;case"halted":return;default:K(e,t.handler,c.reason);return}}}var f=l[u];if("object"==typeof r&&null!==r&&o.call(r,f))r=r[f];else throw Error("Invalid reference.")}for(;"object"==typeof r&&null!==r&&r.$$typeof===g;){var p=r._payload;if(p===n.chunk)r=n.value;else{switch(p.status){case"resolved_model":B(p);break;case"resolved_module":W(p)}if("fulfilled"===p.status){r=p.value;continue}break}}var h=s(e,r,a,i);if("__proto__"!==i&&(a[i]=h),""===i&&null===n.value&&(n.value=h),a[0]===m&&"object"==typeof n.value&&null!==n.value&&n.value.$$typeof===m){var v=n.value;"3"===i&&(v.props=h)}}catch(r){K(e,t.handler,r);return}n.deps--,0===n.deps&&null!==(t=n.chunk)&&"blocked"===t.status&&(r=t.value,t.status="fulfilled",t.value=n.value,t.reason=n.reason,null!==r&&j(e,r,n.value,t))}function K(e,t,r){t.errored||(t.errored=!0,t.value=null,t.reason=r,null!==(t=t.chunk)&&"blocked"===t.status&&$(e,t,r))}function J(e,t,r,n,a,i){return X?(n=X,n.deps++):n=X={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},t={handler:n,parentObject:t,key:r,map:a,path:i},null===e.value?e.value=[t]:e.value.push(t),null===e.reason?e.reason=[t]:e.reason.push(t),null}function Y(e,t,r,n){if(!e._serverReferenceConfig)return function(e,t,r){function n(){var e=Array.prototype.slice.call(arguments);return i?"fulfilled"===i.status?t(a,i.value.concat(e)):Promise.resolve(i).then(function(r){return t(a,r.concat(e))}):t(a,e)}var a=e.id,i=e.bound;return P(n,a,i,r),n}(t,e._callServer,e._encodeFormAction);var a=function(e,t){var r="",n=e[t];if(n)r=n.name;else{var a=t.lastIndexOf("#");if(-1!==a&&(r=t.slice(a+1),n=e[t.slice(0,a)]),!n)throw Error('Could not find the module "'+t+'" in the React Server Manifest. This is probably a bug in the React Server Components bundler.')}return n.async?[n.id,n.chunks,r,1]:[n.id,n.chunks,r]}(e._serverReferenceConfig,t.id),i=d(a);if(i)t.bound&&(i=Promise.all([i,t.bound]));else{if(!t.bound)return P(i=f(a),t.id,t.bound,e._encodeFormAction),i;i=Promise.resolve(t.bound)}if(X){var o=X;o.deps++}else o=X={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1};return i.then(function(){var i=f(a);if(t.bound){var s=t.bound.value.slice(0);s.unshift(null),i=i.bind.apply(i,s)}P(i,t.id,t.bound,e._encodeFormAction),"__proto__"!==n&&(r[n]=i),""===n&&null===o.value&&(o.value=i),r[0]===m&&"object"==typeof o.value&&null!==o.value&&o.value.$$typeof===m&&(s=o.value,"3"===n)&&(s.props=i),o.deps--,0===o.deps&&null!==(i=o.chunk)&&"blocked"===i.status&&(s=i.value,i.status="fulfilled",i.value=o.value,i.reason=null,null!==s&&j(e,s,o.value,i))},function(t){if(!o.errored){o.errored=!0,o.value=null,o.reason=t;var r=o.chunk;null!==r&&"blocked"===r.status&&$(e,r,t)}}),null}function Z(e,t,r,n,a){var i=parseInt((t=t.split(":"))[0],16);switch((i=z(e,i)).status){case"resolved_model":B(i);break;case"resolved_module":W(i)}switch(i.status){case"fulfilled":i=i.value;for(var o=1;o<t.length;o++){for(;"object"==typeof i&&null!==i&&i.$$typeof===g;){switch((i=i._payload).status){case"resolved_model":B(i);break;case"resolved_module":W(i)}switch(i.status){case"fulfilled":i=i.value;break;case"blocked":case"pending":return J(i,r,n,e,a,t.slice(o-1));case"halted":return X?(e=X,e.deps++):X={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return X?(X.errored=!0,X.value=null,X.reason=i.reason):X={parent:null,chunk:null,value:null,reason:i.reason,deps:0,errored:!0},null}}i=i[t[o]]}for(;"object"==typeof i&&null!==i&&i.$$typeof===g;){switch((t=i._payload).status){case"resolved_model":B(t);break;case"resolved_module":W(t)}if("fulfilled"===t.status){i=t.value;continue}break}return a(e,i,r,n);case"pending":case"blocked":return J(i,r,n,e,a,t);case"halted":return X?(e=X,e.deps++):X={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return X?(X.errored=!0,X.value=null,X.reason=i.reason):X={parent:null,chunk:null,value:null,reason:i.reason,deps:0,errored:!0},null}}function Q(e,t){return new Map(t)}function ee(e,t){return new Set(t)}function et(e,t){return new Blob(t.slice(1),{type:t[0]})}function er(e,t){e=new FormData;for(var r=0;r<t.length;r++)e.append(t[r][0],t[r][1]);return e}function en(e,t){return t[Symbol.iterator]()}function ea(e,t){return t}function ei(){throw Error('Trying to call a function from "use server" but the callServer option was not implemented in your router runtime.')}function eo(e,t,r,a,i,o,s,l){var u=new Map;this._bundlerConfig=e,this._serverReferenceConfig=t,this._moduleLoading=r,this._callServer=void 0!==a?a:ei,this._encodeFormAction=i,this._nonce=o,this._chunks=u,this._stringDecoder=new n.TextDecoder,this._closed=!1,this._closedReason=null,this._allowPartialStream=l,this._tempRefs=s}function es(){return{_rowState:0,_rowID:0,_rowTag:0,_rowLength:0,_buffer:[]}}function el(e,t,r){var n=(e=e._chunks).get(t);n&&"pending"!==n.status?n.reason.enqueueValue(r):(r=new k("fulfilled",r,null),e.set(t,r))}function eu(e,t,r,n){var a=e._chunks,i=a.get(t);i?"pending"===i.status&&(t=i.value,i.status="fulfilled",i.value=r,i.reason=n,null!==t&&j(e,t,i.value,i)):(e=new k("fulfilled",r,n),a.set(t,e))}function ec(e,t,r){var n=null,a=!1;r=new ReadableStream({type:r,start:function(e){n=e}});var i=null;eu(e,t,r,{enqueueValue:function(e){null===i?n.enqueue(e):i.then(function(){n.enqueue(e)})},enqueueModel:function(t){if(null===i){var r=new k("resolved_model",t,e);B(r),"fulfilled"===r.status?n.enqueue(r.value):(r.then(function(e){return n.enqueue(e)},function(e){return n.error(e)}),i=r)}else{r=i;var a=x();a.then(function(e){return n.enqueue(e)},function(e){return n.error(e)}),i=a,r.then(function(){i===a&&(i=null),L(e,a,t)})}},close:function(){if(!a)if(a=!0,null===i)n.close();else{var e=i;i=null,e.then(function(){return n.close()})}},error:function(e){if(!a)if(a=!0,null===i)n.error(e);else{var t=i;i=null,t.then(function(){return n.error(e)})}}})}function ed(){return this}function ef(e,t,r){var n=[],a=!1,i=0,o={};o[v]=function(){var e,t=0;return(e={next:e=function(e){if(void 0!==e)throw Error("Values cannot be passed to next() of AsyncIterables passed to Client Components.");if(t===n.length){if(a)return new k("fulfilled",{done:!0,value:void 0},null);n[t]=x()}return n[t++]}})[v]=ed,e},eu(e,t,r?o[v]():o,{enqueueValue:function(t){if(i===n.length)n[i]=new k("fulfilled",{done:!1,value:t},null);else{var r=n[i],a=r.value,o=r.reason;r.status="fulfilled",r.value={done:!1,value:t},r.reason=null,null!==a&&D(e,r,a,o)}i++},enqueueModel:function(t){i===n.length?n[i]=U(e,t,!1):F(e,n[i],t,!1),i++},close:function(t){if(!a)for(a=!0,i===n.length?n[i]=U(e,t,!0):F(e,n[i],t,!0),i++;i<n.length;)F(e,n[i++],'"$undefined"',!0)},error:function(t){if(!a)for(a=!0,i===n.length&&(n[i]=x());i<n.length;)$(e,n[i++],t)}})}function ep(){var e=Error("An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error.");return e.stack="Error: "+e.message,e}function em(e,t){for(var r=e.length,n=t.length,a=0;a<r;a++)n+=e[a].byteLength;n=new Uint8Array(n);for(var i=a=0;i<r;i++){var o=e[i];n.set(o,a),a+=o.byteLength}return n.set(t,a),n}function eg(e,t,r,n,a,i){el(e,t,a=new a((r=0===r.length&&0==n.byteOffset%i?n:em(r,n)).buffer,r.byteOffset,r.byteLength/i))}function eh(e,t,r,n,a){switch(n){case 73:var i=e,o=r,s=a,l=i._chunks,u=l.get(o);s=ey(i,s);var c=function(e,t){if(e){var r=e[t[0]];if(e=r&&r[t[2]])r=e.name;else{if(!(e=r&&r["*"]))throw Error('Could not find the module "'+t[0]+'" in the React Server Consumer Manifest. This is probably a bug in the React Server Components bundler.');r=t[2]}return 4===t.length?[e.id,e.chunks,r,1]:[e.id,e.chunks,r]}return t}(i._bundlerConfig,s);if(!function(e,t,r){if(null!==e)for(var n=0;n<t.length;n++){var a=p.d,i=a.X,o=e.prefix+t[n],s=e.crossOrigin;s="string"==typeof s?"use-credentials"===s?s:"":void 0,i.call(a,o,{crossOrigin:s,nonce:r})}}(i._moduleLoading,s[1],i._nonce),s=d(c)){if(u){var f=u;f.status="blocked"}else f=new k("blocked",null,null),l.set(o,f);s.then(function(){return H(i,f,c)},function(e){return $(i,f,e)})}else u?H(i,u,c):(u=new k("resolved_module",c,null),l.set(o,u));break;case 72:switch(r=a[0],e=ey(e,a=a.slice(1)),a=p.d,r){case"D":a.D(e);break;case"C":"string"==typeof e?a.C(e):a.C(e[0],e[1]);break;case"L":r=e[0],t=e[1],3===e.length?a.L(r,t,e[2]):a.L(r,t);break;case"m":"string"==typeof e?a.m(e):a.m(e[0],e[1]);break;case"X":"string"==typeof e?a.X(e):a.X(e[0],e[1]);break;case"S":"string"==typeof e?a.S(e):a.S(e[0],0===e[1]?void 0:e[1],3===e.length?e[2]:void 0);break;case"M":"string"==typeof e?a.M(e):a.M(e[0],e[1])}break;case 69:n=(t=e._chunks).get(r),a=JSON.parse(a);var m=ep();m.digest=a.digest,n?$(e,n,m):(e=new k("rejected",null,m),t.set(r,e));break;case 84:(t=(e=e._chunks).get(r))&&"pending"!==t.status?t.reason.enqueueValue(a):(a=new k("fulfilled",a,null),e.set(r,a));break;case 78:case 68:case 74:case 87:throw Error("Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client.");case 82:ec(e,r,void 0);break;case 114:ec(e,r,"bytes");break;case 88:ef(e,r,!1);break;case 120:ef(e,r,!0);break;case 67:(r=e._chunks.get(r))&&"fulfilled"===r.status&&r.reason.close(""===a?'"$undefined"':a);break;default:(n=(t=e._chunks).get(r))?L(e,n,a):(e=new k("resolved_model",a,e),t.set(r,e))}}function ev(e,t,r){for(var n=0,a=t._rowState,o=t._rowID,s=t._rowTag,l=t._rowLength,u=t._buffer,c=r.length;n<c;){var d=-1;switch(a){case 0:58===(d=r[n++])?a=1:o=o<<4|(96<d?d-87:d-48);continue;case 1:84===(a=r[n])||65===a||79===a||111===a||98===a||85===a||83===a||115===a||76===a||108===a||71===a||103===a||77===a||109===a||86===a?(s=a,a=2,n++):64<a&&91>a||35===a||114===a||120===a?(s=a,a=3,n++):(s=0,a=3);continue;case 2:44===(d=r[n++])?a=4:l=l<<4|(96<d?d-87:d-48);continue;case 3:d=r.indexOf(10,n);break;case 4:(d=n+l)>r.length&&(d=-1)}var f=r.byteOffset+n;if(-1<d)l=new Uint8Array(r.buffer,f,d-n),98===s?el(e,o,d===c?l:l.slice()):function(e,t,r,n,a,o){switch(n){case 65:el(e,r,em(a,o).buffer);return;case 79:eg(e,r,a,o,Int8Array,1);return;case 111:el(e,r,0===a.length?o:em(a,o));return;case 85:eg(e,r,a,o,Uint8ClampedArray,1);return;case 83:eg(e,r,a,o,Int16Array,2);return;case 115:eg(e,r,a,o,Uint16Array,2);return;case 76:eg(e,r,a,o,Int32Array,4);return;case 108:eg(e,r,a,o,Uint32Array,4);return;case 71:eg(e,r,a,o,Float32Array,4);return;case 103:eg(e,r,a,o,Float64Array,8);return;case 77:eg(e,r,a,o,BigInt64Array,8);return;case 109:eg(e,r,a,o,BigUint64Array,8);return;case 86:eg(e,r,a,o,DataView,1);return}for(var s=e._stringDecoder,l="",u=0;u<a.length;u++)l+=s.decode(a[u],i);eh(e,t,r,n,l+=s.decode(o))}(e,t,o,s,u,l),n=d,3===a&&n++,l=o=s=a=0,u.length=0;else{r=new Uint8Array(r.buffer,f,r.byteLength-n),98===s?(l-=r.byteLength,el(e,o,r)):(u.push(r),l-=r.byteLength);break}}t._rowState=a,t._rowID=o,t._rowTag=s,t._rowLength=l}function ey(e,t){return function e(t,r,n,a){if("string"==typeof r)return"$"===r[0]?function(e,t,r,n){if("$"===n[0]){if("$"===n)return null!==X&&"0"===r&&(X={parent:X,chunk:null,value:null,reason:null,deps:0,errored:!1}),m;switch(n[1]){case"$":return n.slice(1);case"L":return V(e=z(e,t=parseInt(n.slice(2),16)));case"@":return z(e,t=parseInt(n.slice(2),16));case"S":return Symbol.for(n.slice(2));case"h":return Z(e,n=n.slice(2),t,r,Y);case"T":if(t="$"+n.slice(2),null==(e=e._tempRefs))throw Error("Missing a temporary reference set but the RSC response returned a temporary reference. Pass a temporaryReference option with the set that was used with the reply.");return e.get(t);case"Q":return Z(e,n=n.slice(2),t,r,Q);case"W":return Z(e,n=n.slice(2),t,r,ee);case"B":return Z(e,n=n.slice(2),t,r,et);case"K":return Z(e,n=n.slice(2),t,r,er);case"Z":return ep();case"i":return Z(e,n=n.slice(2),t,r,en);case"I":return 1/0;case"-":return"$-0"===n?-0:-1/0;case"N":return NaN;case"u":return;case"D":return new Date(Date.parse(n.slice(2)));case"n":return BigInt(n.slice(2));default:return Z(e,n=n.slice(1),t,r,ea)}}return n}(t,n,a,r):r;if("object"!=typeof r||null===r)return r;if(y(r)){for(var i=0;i<r.length;i++)r[i]=e(t,r[i],r,""+i);return r[0]===m?(r[0]===m?(t={$$typeof:m,type:r[1],key:r[2],ref:null,props:r[3]},null!==X&&(X=(r=X).parent,r.errored?t=V(t=new k("rejected",null,r.reason)):0<r.deps&&(i=new k("blocked",null,null),r.value=t,r.chunk=i,t=V(i)))):t=r,t):r}for(i in r)"__proto__"===i?delete r[i]:void 0!==(n=e(t,r[i],r,i))?r[i]=n:delete r[i];return r}(e,t=JSON.parse(t),{"":t},"")}function e_(e){e._allowPartialStream?(e._closed=!0,e._chunks.forEach(function(e){"pending"===e.status?(e.status="halted",e.value=null,e.reason=null):"fulfilled"===e.status&&null!==e.reason&&e.reason.close('"$undefined"')})):q(e,Error("Connection closed."))}function eb(){throw Error("Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.")}function eE(e){return new eo(e.serverConsumerManifest.moduleMap,e.serverConsumerManifest.serverModuleMap,e.serverConsumerManifest.moduleLoading,eb,e.encodeFormAction,"string"==typeof e.nonce?e.nonce:void 0,e&&e.temporaryReferences?e.temporaryReferences:void 0,!!e&&!!e.unstable_allowPartialStream&&e.unstable_allowPartialStream)}function eR(e,t,r){function n(t){q(e,t)}var a=es(),i=t.getReader();i.read().then(function t(o){var s=o.value;return o.done?r():(ev(e,a,s),i.read().then(t).catch(n))}).catch(n)}function ew(){throw Error("Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.")}r.createFromFetch=function(e,t){var r=eE(t);return e.then(function(e){eR(r,e.body,e_.bind(null,r))},function(e){q(r,e)}),z(r,0)},r.createFromNodeStream=function(e,t,r){var n,a,i;return n=t=new eo(t.moduleMap,t.serverModuleMap,t.moduleLoading,ew,r?r.encodeFormAction:void 0,r&&"string"==typeof r.nonce?r.nonce:void 0,void 0,!!r&&!!r.unstable_allowPartialStream&&r.unstable_allowPartialStream),a=e_.bind(null,t),i=es(),e.on("data",function(e){if("string"==typeof e){for(var t=0,r=i._rowState,a=i._rowID,o=i._rowTag,s=i._rowLength,l=i._buffer,u=e.length;t<u;){var c=-1;switch(r){case 0:58===(c=e.charCodeAt(t++))?r=1:a=a<<4|(96<c?c-87:c-48);continue;case 1:84===(r=e.charCodeAt(t))||65===r||79===r||111===r||85===r||83===r||115===r||76===r||108===r||71===r||103===r||77===r||109===r||86===r?(o=r,r=2,t++):64<r&&91>r||114===r||120===r?(o=r,r=3,t++):(o=0,r=3);continue;case 2:44===(c=e.charCodeAt(t++))?r=4:s=s<<4|(96<c?c-87:c-48);continue;case 3:c=e.indexOf("\n",t);break;case 4:if(84!==o)throw Error("Binary RSC chunks cannot be encoded as strings. This is a bug in the wiring of the React streams.");if(s<e.length||e.length>3*s)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.");c=e.length}if(-1<c){if(0<l.length)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.");eh(n,i,a,o,t=e.slice(t,c)),t=c,3===r&&t++,s=a=o=r=0,l.length=0}else if(e.length!==t)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.")}i._rowState=r,i._rowID=a,i._rowTag=o,i._rowLength=s}else ev(n,i,e)}),e.on("error",function(e){q(n,e)}),e.on("end",a),z(t,0)},r.createFromReadableStream=function(e,t){return eR(t=eE(t),e,e_.bind(null,t)),z(t,0)},r.createServerReference=function(e){function t(){var t=Array.prototype.slice.call(arguments);return eb(e,t)}return P(t,e,null,void 0),t},r.createTemporaryReferenceSet=function(){return new Map},r.encodeReply=function(e,t){return new Promise(function(r,n){var a=R(e,"",t&&t.temporaryReferences?t.temporaryReferences:void 0,r,n);if(t&&t.signal){var i=t.signal;if(i.aborted)a(i.reason);else{var o=function(){a(i.reason),i.removeEventListener("abort",o)};i.addEventListener("abort",o)}}})},r.registerServerReference=function(e,t,r){return P(e,t,null,r),e}},16129,(e,t,r)=>{"use strict";t.exports=e.r(859)},61622,(e,t,r)=>{"use strict";t.exports=e.r(90921).vendored["react-rsc"].ReactServerDOMTurbopackStatic},8650,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getClientReferenceManifest:function(){return h},getServerActionsManifest:function(){return v},getServerModuleMap:function(){return y},selectWorkerForForwarding:function(){return p},setManifestsSingleton:function(){return m}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(3746),o=e.r(63353),s=e.r(9307),l=e.r(87548),u=e.r(56704),c=Symbol.for("next.server.manifests"),d=globalThis;function f(e){return(0,s.pathHasPrefix)(e,"app")?e:"app"+e}function p(e,t){var r,n;let a=null==(r=v().node[e])?void 0:r.workers;if(a&&!a[f(t)])return n=Object.keys(a)[0],(0,o.normalizeAppPath)((0,l.removePathPrefix)(n,"app"))}function m({page:e,clientReferenceManifest:t,serverActionsManifest:r}){let n=d[c],a={encryptionKey:r.encryptionKey,node:Object.assign(Object.create(null),r.node),edge:Object.assign(Object.create(null),r.edge)};if(n)n.clientReferenceManifestsPerRoute.set((0,o.normalizeAppPath)(e),t),n.serverActionsManifest=a;else{let r,n=new Map([[(0,o.normalizeAppPath)(e),t]]),s=(r=new Map,new Proxy({},{get(e,t){let a=u.workAsyncStorage.getStore();switch(t){case"moduleLoading":case"entryCSSFiles":case"entryJSFiles":{if(!a)throw Object.defineProperty(new i.InvariantError(`Cannot access "${t}" without a work store.`),"__NEXT_ERROR_CODE",{value:"E952",enumerable:!1,configurable:!0});let e=n.get(a.route);if(!e)throw Object.defineProperty(new i.InvariantError(`The client reference manifest for route "${a.route}" does not exist.`),"__NEXT_ERROR_CODE",{value:"E951",enumerable:!1,configurable:!0});return e[t]}case"clientModules":case"rscModuleMapping":case"edgeRscModuleMapping":case"ssrModuleMapping":case"edgeSSRModuleMapping":{let e=r.get(t);!e&&(e=new Proxy({},{get(e,r){let a=u.workAsyncStorage.getStore();if(a){let e=n.get(a.route);if(null==e?void 0:e[t][r])return e[t][r]}else for(let e of n.values()){let n=e[t][r];if(void 0!==n)return n}}}),r.set(t,e));return e}default:throw Object.defineProperty(new i.InvariantError(`This is a proxied client reference manifest. The property "${String(t)}" is not handled.`),"__NEXT_ERROR_CODE",{value:"E953",enumerable:!1,configurable:!0})}}}));d[c]={clientReferenceManifestsPerRoute:n,proxiedClientReferenceManifest:s,serverActionsManifest:a,serverModuleMap:new Proxy({},{get:(e,t)=>{var r,n;let a,i=null==(n=v().node)||null==(r=n[t])?void 0:r.workers;if(!i)return;let o=u.workAsyncStorage.getStore();if(!(a=o?i[f(o.page)]:Object.values(i).at(0)))return;let{moduleId:s,async:l}=a;return{id:s,name:t,chunks:[],async:l}}})}}}function g(){let e=d[c];if(!e)throw Object.defineProperty(new i.InvariantError("The manifests singleton was not initialized."),"__NEXT_ERROR_CODE",{value:"E950",enumerable:!1,configurable:!0});return e}function h(){return g().proxiedClientReferenceManifest}function v(){return g().serverActionsManifest}function y(){return g().serverModuleMap}},39924,(e,t,r)=>{},20283,(e,t,r)=>{"use strict";let n;Object.defineProperty(r,"__esModule",{value:!0});var a={arrayBufferToString:function(){return l},decrypt:function(){return d},encrypt:function(){return c},getActionEncryptionKey:function(){return f},stringToUint8Array:function(){return u}};for(var i in a)Object.defineProperty(r,i,{enumerable:!0,get:a[i]});let o=e.r(3746),s=e.r(8650);function l(e){let t=new Uint8Array(e),r=t.byteLength;if(r<65535)return String.fromCharCode.apply(null,t);let n="";for(let e=0;e<r;e++)n+=String.fromCharCode(t[e]);return n}function u(e){let t=e.length,r=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=e.charCodeAt(n);return r}function c(e,t,r){return crypto.subtle.encrypt({name:"AES-GCM",iv:t},e,r)}function d(e,t,r){return crypto.subtle.decrypt({name:"AES-GCM",iv:t},e,r)}async function f(){if(n)return n;let e=(0,s.getServerActionsManifest)(),t=process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY||e.encryptionKey;if(void 0===t)throw Object.defineProperty(new o.InvariantError("Missing encryption key for Server Actions"),"__NEXT_ERROR_CODE",{value:"E571",enumerable:!1,configurable:!0});return n=await crypto.subtle.importKey("raw",u(atob(t)),"AES-GCM",!0,["encrypt","decrypt"])}},58506,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a,i={decryptActionBoundArgs:function(){return w},encryptActionBoundArgs:function(){return R}};for(var o in i)Object.defineProperty(r,o,{enumerable:!0,get:i[o]});e.r(39924);let s=e.r(45963),l=e.r(16129),u=e.r(39414),c=e.r(20283),d=e.r(8650),f=e.r(32319),p=e.r(23623),m=(n=e.r(33077))&&n.__esModule?n:{default:n},g=new TextEncoder,h=new TextDecoder,v,y;async function _(e,t){let r=await (0,c.getActionEncryptionKey)();if(void 0===r)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let n=atob(t),a=n.slice(0,16),i=n.slice(16),o=h.decode(await (0,c.decrypt)(r,(0,c.stringToUint8Array)(a),(0,c.stringToUint8Array)(i)));if(!o.startsWith(e))throw Object.defineProperty(Error("Invalid Server Action payload: failed to decrypt."),"__NEXT_ERROR_CODE",{value:"E191",enumerable:!1,configurable:!0});return o.slice(e.length)}async function b(e,t){let r=await (0,c.getActionEncryptionKey)();if(void 0===r)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let n=new Uint8Array(16);f.workUnitAsyncStorage.exit(()=>crypto.getRandomValues(n));let a=(0,c.arrayBufferToString)(n.buffer),i=await (0,c.encrypt)(r,n,g.encode(e+t));return btoa(a+(0,c.arrayBufferToString)(i))}var E=((a=E||{})[a.Ready=0]="Ready",a[a.Pending=1]="Pending",a[a.Complete=2]="Complete",a);let R=m.default.cache(async function e(t,...r){let n=f.workUnitAsyncStorage.getStore(),a=n?(0,f.getCacheSignal)(n):void 0,{clientModules:i}=(0,d.getClientReferenceManifest)(),o=Error();Error.captureStackTrace(o,e);let l=!1,c=n?(0,p.createHangingInputAbortSignal)(n):void 0,m=0;function g(){0===m&&(m=1,null==a||a.beginRead())}function h(){1===m&&(null==a||a.endRead()),m=2}c&&a&&c.addEventListener("abort",g,{once:!0});let y=n?(0,f.getPrerenderResumeDataCache)(n):null,_=n?(0,f.getRenderResumeDataCache)(n):null,E=await (0,u.streamToString)((0,s.renderToReadableStream)(r,i,{filterStackFrame:v,signal:c,debugChannel:void 0,onError(e){(null==c?void 0:c.aborted)||l||(l=!0,o.message=e instanceof Error?e.message:String(e))}}),c);if(l)throw h(),o;if(!n)return b(t,E);g();let R=t+E,w=(null==y?void 0:y.encryptedBoundArgs.get(R))??(null==_?void 0:_.encryptedBoundArgs.get(R));if(w)return w;let S=await b(t,E);return h(),null==y||y.encryptedBoundArgs.set(R,S),S});async function w(e,t){let r,n=await t,a=f.workUnitAsyncStorage.getStore();if(a){let t=(0,f.getCacheSignal)(a),i=(0,f.getPrerenderResumeDataCache)(a),o=(0,f.getRenderResumeDataCache)(a);(r=(null==i?void 0:i.decryptedBoundArgs.get(n))??(null==o?void 0:o.decryptedBoundArgs.get(n)))||(null==t||t.beginRead(),r=await _(e,n),null==t||t.endRead(),null==i||i.decryptedBoundArgs.set(n,r))}else r=await _(e,n);let{edgeRscModuleMapping:i,rscModuleMapping:o}=(0,d.getClientReferenceManifest)();return await (0,l.createFromReadableStream)(new ReadableStream({start(e){switch(e.enqueue(g.encode(r)),null==a?void 0:a.type){case"prerender":case"prerender-runtime":a.renderSignal.aborted?e.close():a.renderSignal.addEventListener("abort",()=>e.close(),{once:!0});break;case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":case void 0:return e.close()}}}),{findSourceMapURL:y,debugChannel:void 0,serverConsumerManifest:{moduleLoading:null,moduleMap:o,serverModuleMap:(0,d.getServerModuleMap)()}})}},75931,(e,t,r)=>{(()=>{"use strict";var e={328:e=>{e.exports=function(e){for(var t=5381,r=e.length;r;)t=33*t^e.charCodeAt(--r);return t>>>0}}},r={};function n(t){var a=r[t];if(void 0!==a)return a.exports;var i=r[t]={exports:{}},o=!0;try{e[t](i,i.exports,n),o=!1}finally{o&&delete r[t]}return i.exports}n.ab="/ROOT/node_modules/.pnpm/next@16.2.6_@babel+core@7.29.0_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/compiled/string-hash/",t.exports=n(328)})()},9937,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatServerError:function(){return l},getStackWithoutErrorMessage:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=["useDeferredValue","useEffect","useEffectEvent","useImperativeHandle","useInsertionEffect","useLayoutEffect","useReducer","useRef","useState","useSyncExternalStore","useTransition","experimental_useOptimistic","useOptimistic"];function o(e,t){if(e.message=t,e.stack){let r=e.stack.split("\n");r[0]=t,e.stack=r.join("\n")}}function s(e){let t=e.stack;return t?t.replace(/^[^\n]*\n/,""):""}function l(e){if("string"==typeof(null==e?void 0:e.message)){if(e.message.includes("Class extends value undefined is not a constructor or null")){let t="This might be caused by a React Class Component being rendered in a Server Component, React Class Components only works in Client Components. Read more: https://nextjs.org/docs/messages/class-component-in-server-component";if(e.message.includes(t))return;o(e,`${e.message}
|
|
20
|
+
|
|
21
|
+
${t}`);return}if(e.message.includes("createContext is not a function"))return void o(e,'createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/context-in-server-component');for(let t of i)if(RegExp(`\\b${t}\\b.*is not a function`).test(e.message))return void o(e,`${t} only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component`)}}},73868,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={HTTPAccessErrorStatus:function(){return i},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return s},getAccessFallbackErrorTypeByStatus:function(){return c},getAccessFallbackHTTPStatus:function(){return u},isHTTPAccessFallbackError:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},o=new Set(Object.values(i)),s="NEXT_HTTP_ERROR_FALLBACK";function l(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===s&&o.has(Number(r))}function u(e){return Number(e.digest.split(";")[1])}function c(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},56578,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RedirectStatusCode",{enumerable:!0,get:function(){return a}});var n,a=((n={})[n.SeeOther=303]="SeeOther",n[n.TemporaryRedirect=307]="TemporaryRedirect",n[n.PermanentRedirect=308]="PermanentRedirect",n);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},92590,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={REDIRECT_ERROR_CODE:function(){return o},isRedirectError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(56578),o="NEXT_REDIRECT";function s(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,n]=t,a=t.slice(2,-2).join(";"),s=Number(t.at(-2));return r===o&&("replace"===n||"push"===n)&&"string"==typeof a&&!isNaN(s)&&s in i.RedirectStatusCode}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},72225,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isNextRouterError",{enumerable:!0,get:function(){return i}});let n=e.r(73868),a=e.r(92590);function i(e){return(0,a.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},67057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getObjectClassLabel:function(){return i},isPlainObject:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});function i(e){return Object.prototype.toString.call(e)}function o(e){if("[object Object]"!==i(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}},97933,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return o},getProperError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(67057);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function s(e){let t;return o(e)?e:Object.defineProperty(Error((0,i.isPlainObject)(e)?(t=new WeakSet,JSON.stringify(e,(e,r)=>{if("object"==typeof r&&null!==r){if(t.has(r))return"[Circular]";t.add(r)}return r})):e+""),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},19885,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createDigestWithErrorCode:function(){return i},extractNextErrorCode:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=(e,t)=>"object"==typeof e&&null!==e&&"__NEXT_ERROR_CODE"in e?`${t}@${e.__NEXT_ERROR_CODE}`:t,o=e=>"object"==typeof e&&null!==e&&"__NEXT_ERROR_CODE"in e&&"string"==typeof e.__NEXT_ERROR_CODE?e.__NEXT_ERROR_CODE:"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest?e.digest.split("@").find(e=>e.startsWith("E")):void 0},77979,(e,t,r)=>{"use strict";function n(e){return"object"==typeof e&&null!==e&&"message"in e&&"string"==typeof e.message&&e.message.startsWith("This rendered a large document (>")}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isReactLargeShellError",{enumerable:!0,get:function(){return n}})},47734,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={InstantValidationError:function(){return s},isInstantValidationError:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i="INSTANT_VALIDATION_ERROR";function o(e){return!!(e&&"object"==typeof e&&e instanceof Error&&e.digest===i)}class s extends Error{constructor(...e){super(...e),this.digest=i}}},54053,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a={createHTMLErrorHandler:function(){return b},createReactServerErrorHandler:function(){return _},getDigestForWellKnownError:function(){return y},isUserLandError:function(){return E}};for(var i in a)Object.defineProperty(r,i,{enumerable:!0,get:a[i]});let o=(n=e.r(75931))&&n.__esModule?n:{default:n},s=e.r(9937),l=e.r(89150),u=e.r(39773),c=e.r(72830),d=e.r(66629),f=e.r(72225),p=e.r(23623),m=e.r(97933),g=e.r(19885),h=e.r(77979),v=e.r(47734);function y(e){if((0,c.isBailoutToCSRError)(e)||(0,f.isNextRouterError)(e)||(0,d.isDynamicServerError)(e)||(0,p.isPrerenderInterruptedError)(e)||(0,v.isInstantValidationError)(e))return e.digest}function _(e,t,r,n,a){return i=>{var c;if("string"==typeof i)return(0,o.default)(i).toString();if((0,u.isAbortError)(i))return;let d=y(i);if(d)return d;if((0,h.isReactLargeShellError)(i))return void console.error(i);let f=(0,m.getProperError)(i),p=!1;if(f.digest?r.has(f.digest)&&(f=r.get(f.digest),p=!0):f.digest=(0,g.createDigestWithErrorCode)(f,(0,o.default)(f.message+(f.stack||"")).toString()),r.has(f.digest)||r.set(f.digest,f),e&&(0,s.formatServerError)(f),!(t&&(null==f||null==(c=f.message)?void 0:c.includes("The specific message is omitted in production builds to avoid leaking sensitive details.")))){let e=a??(0,l.getTracer)().getActiveScopeSpan();e&&(e.recordException(f),e.setAttribute("error.type",f.name),e.setStatus({code:l.SpanStatusCode.ERROR,message:f.message})),n(f,p)}return f.digest}}function b(e,t,r,n,a,i){return(c,d)=>{var f;if((0,h.isReactLargeShellError)(c))return void console.error(c);let p=!0;if(n.push(c),(0,u.isAbortError)(c))return;let v=y(c);if(v)return v;let _=(0,m.getProperError)(c);if(_.digest?r.has(_.digest)&&(c=r.get(_.digest),p=!1):_.digest=(0,g.createDigestWithErrorCode)(_,(0,o.default)(_.message+((null==d?void 0:d.componentStack)||_.stack||"")).toString()),e&&(0,s.formatServerError)(_),!(t&&(null==_||null==(f=_.message)?void 0:f.includes("The specific message is omitted in production builds to avoid leaking sensitive details.")))&&p){let e=i??(0,l.getTracer)().getActiveScopeSpan();e&&(e.recordException(_),e.setAttribute("error.type",_.name),e.setStatus({code:l.SpanStatusCode.ERROR,message:_.message})),a(_,d)}return _.digest}}function E(e){return!(0,u.isAbortError)(e)&&!(0,c.isBailoutToCSRError)(e)&&!(0,f.isNextRouterError)(e)}},97115,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DYNAMIC_EXPIRE:function(){return i},RUNTIME_PREFETCH_DYNAMIC_STALE:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=300,o=30},72747,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createDefaultCacheHandler",{enumerable:!0,get:function(){return i}});let n=e.r(19394),a=e.r(51187);function i(e){if(0===e)return{get:()=>Promise.resolve(void 0),set:()=>Promise.resolve(),refreshTags:()=>Promise.resolve(),getExpiration:()=>Promise.resolve(0),updateTags:()=>Promise.resolve()};let t=new n.LRUCache(e,e=>e.size),r=new Map,i=process.env.NEXT_PRIVATE_DEBUG_CACHE?console.debug.bind(console,"DefaultCacheHandler:"):void 0;return{async get(e){let n=r.get(e);n&&(null==i||i("get",e,"pending"),await n);let o=t.get(e);if(!o){null==i||i("get",e,"not found");return}let s=o.entry;if(performance.timeOrigin+performance.now()>s.timestamp+1e3*s.revalidate){null==i||i("get",e,"expired");return}let l=s.revalidate;if((0,a.areTagsExpired)(s.tags,s.timestamp)){null==i||i("get",e,"had expired tag");return}(0,a.areTagsStale)(s.tags,s.timestamp)&&(null==i||i("get",e,"had stale tag"),l=-1);let[u,c]=s.value.tee();return s.value=c,null==i||i("get",e,"found",{tags:s.tags,timestamp:s.timestamp,expire:s.expire,revalidate:l}),{...s,revalidate:l,value:u}},async set(e,n){null==i||i("set",e,"start");let a=()=>{},o=new Promise(e=>{a=e});r.set(e,o);let s=await n,l=0;try{let[r,n]=s.value.tee();s.value=r;let a=n.getReader();for(let e;!(e=await a.read()).done;)l+=Buffer.from(e.value).byteLength;t.set(e,{entry:s,isErrored:!1,errorRetryCount:0,size:l}),null==i||i("set",e,"done")}catch(t){null==i||i("set",e,"failed",t)}finally{a(),r.delete(e)}},async refreshTags(){},async getExpiration(e){let t=Math.max(...e.map(e=>{let t=a.tagsManifest.get(e);return t&&t.expired||0}),0);return null==i||i("getExpiration",{tags:e,expiration:t}),t},async updateTags(e,t){let r=Math.round(performance.timeOrigin+performance.now());for(let n of(null==i||i("updateTags",{tags:e,timestamp:r}),e)){let e=a.tagsManifest.get(n)||{};if(t){let i={...e};i.stale=r,void 0!==t.expire&&(i.expired=r+1e3*t.expire),a.tagsManifest.set(n,i)}else a.tagsManifest.set(n,{...e,expired:r})}}}}},65197,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getCacheHandler:function(){return f},getCacheHandlerEntries:function(){return m},getCacheHandlers:function(){return p},initializeCacheHandlers:function(){return d},setCacheHandler:function(){return g}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(72747),o=process.env.NEXT_PRIVATE_DEBUG_CACHE?(e,...t)=>{console.log(`use-cache: ${e}`,...t)}:void 0,s=Symbol.for("@next/cache-handlers"),l=Symbol.for("@next/cache-handlers-map"),u=Symbol.for("@next/cache-handlers-set"),c=globalThis;function d(e){if(c[l])return null==o||o("cache handlers already initialized"),!1;if(null==o||o("initializing cache handlers"),c[l]=new Map,c[s]){let t;c[s].DefaultCache?(null==o||o('setting "default" cache handler from symbol'),t=c[s].DefaultCache):(null==o||o('setting "default" cache handler from default'),t=(0,i.createDefaultCacheHandler)(e)),c[l].set("default",t),c[s].RemoteCache?(null==o||o('setting "remote" cache handler from symbol'),c[l].set("remote",c[s].RemoteCache)):(null==o||o('setting "remote" cache handler from default'),c[l].set("remote",t))}else{let t=(0,i.createDefaultCacheHandler)(e);null==o||o('setting "default" cache handler from default'),c[l].set("default",t),null==o||o('setting "remote" cache handler from default'),c[l].set("remote",t)}return c[u]=new Set(c[l].values()),!0}function f(e){if(!c[l])throw Object.defineProperty(Error("Cache handlers not initialized"),"__NEXT_ERROR_CODE",{value:"E649",enumerable:!1,configurable:!0});return c[l].get(e)}function p(){if(c[u])return c[u].values()}function m(){if(c[l])return c[l].entries()}function g(e,t){if(!c[l]||!c[u])throw Object.defineProperty(Error("Cache handlers not initialized"),"__NEXT_ERROR_CODE",{value:"E649",enumerable:!1,configurable:!0});null==o||o('setting cache handler for "%s"',e),c[l].set(e,t),c[u].add(t)}},24601,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={UseCacheTimeoutError:function(){return o},isUseCacheTimeoutError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i="USE_CACHE_TIMEOUT";class o extends Error{constructor(){super('Filling a cache during prerender timed out, likely because request-specific arguments such as params, searchParams, cookies() or dynamic data were used inside "use cache".'),this.digest=i}}function s(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===i}},35202,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={accumulateRootVaryParam:function(){return v},accumulateVaryParam:function(){return h},createResponseVaryParamsAccumulator:function(){return u},createVaryParamsAccumulator:function(){return c},createVaryingParams:function(){return y},createVaryingSearchParams:function(){return _},emptyVaryParamsAccumulator:function(){return l},finishAccumulatingVaryParams:function(){return b},getMetadataVaryParamsAccumulator:function(){return d},getMetadataVaryParamsThenable:function(){return p},getRootParamsVaryParamsAccumulator:function(){return g},getVaryParamsThenable:function(){return f},getViewportVaryParamsAccumulator:function(){return m}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(32319);function o(){let e={varyParams:new Set,status:"pending",value:new Set,then(t){t&&("pending"===e.status?e.resolvers.push(t):t(e.value))},resolvers:[]};return e}let s=new Set,l={varyParams:s,status:"fulfilled",value:s,then(e){e&&e(s)},resolvers:[]};function u(){let e=o();return{head:e,rootParams:o(),segments:new Set}}function c(){let e=i.workUnitAsyncStorage.getStore();if(e)switch(e.type){case"prerender":case"prerender-runtime":{let t=e.varyParamsAccumulator;if(null!==t){let e=o();return t.segments.add(e),e}}}return null}function d(){let e=i.workUnitAsyncStorage.getStore();if(e)switch(e.type){case"prerender":case"prerender-runtime":{let t=e.varyParamsAccumulator;if(null!==t)return t.head}}return null}function f(e){return e}function p(){let e=d();return null!==e?e:null}let m=d;function g(){let e=i.workUnitAsyncStorage.getStore();if(e)switch(e.type){case"prerender":case"prerender-runtime":{let t=e.varyParamsAccumulator;if(null!==t)return t.rootParams}}return null}function h(e,t){e.varyParams.add(t)}function v(e){let t=g();null!==t&&h(t,e)}function y(e,t,r){if(null!==r)return new Proxy(t,{get:(t,n,a)=>("string"==typeof n&&(n===r||Object.prototype.hasOwnProperty.call(t,n))&&h(e,n),Reflect.get(t,n,a)),has:(t,n)=>(n===r&&h(e,r),Reflect.has(t,n)),ownKeys:t=>(h(e,r),Reflect.ownKeys(t))});let n={};for(let r in t)Object.defineProperty(n,r,{get:()=>(h(e,r),t[r]),enumerable:!0});return n}function _(e,t){let r={};for(let n in t)Object.defineProperty(r,n,{get:()=>(h(e,"?"),t[n]),enumerable:!0});return r}async function b(e){let t=e.rootParams.varyParams;for(let r of(E(e.head,t),e.segments))E(r,t);await Promise.resolve(),await Promise.resolve(),await Promise.resolve()}function E(e,t){if("pending"!==e.status)return;let r=new Set(e.varyParams);for(let e of t)r.add(e);for(let t of(e.value=r,e.status="fulfilled",e.resolvers))t(r);e.resolvers=[]}},6039,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={describeHasCheckingStringProperty:function(){return s},describeStringPropertyAccess:function(){return o},wellKnownProperties:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function o(e,t){return i.test(t)?`\`${e}.${t}\``:`\`${e}[${JSON.stringify(t)}]\``}function s(e,t){let r=JSON.stringify(t);return`\`Reflect.has(${e}, ${r})\`, \`${r} in ${e}\`, or similar`}let l=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","_debugInfo","toJSON","$$typeof","__esModule","@@iterator"])},97754,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getParamProperties:function(){return l},getSegmentParam:function(){return o},isCatchAll:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(58488);function o(e){let t=i.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t));return(t&&(e=e.slice(t.length)),e.startsWith("[[...")&&e.endsWith("]]"))?{paramType:"optional-catchall",paramName:e.slice(5,-2)}:e.startsWith("[...")&&e.endsWith("]")?{paramType:t?`catchall-intercepted-${t}`:"catchall",paramName:e.slice(4,-1)}:e.startsWith("[")&&e.endsWith("]")?{paramType:t?`dynamic-intercepted-${t}`:"dynamic",paramName:e.slice(1,-1)}:null}function s(e){return"catchall"===e||"catchall-intercepted-(..)(..)"===e||"catchall-intercepted-(.)"===e||"catchall-intercepted-(..)"===e||"catchall-intercepted-(...)"===e||"optional-catchall"===e}function l(e){let t=!1,r=!1;switch(e){case"catchall":case"catchall-intercepted-(..)(..)":case"catchall-intercepted-(.)":case"catchall-intercepted-(..)":case"catchall-intercepted-(...)":t=!0;break;case"optional-catchall":t=!0,r=!0}return{repeat:t,optional:r}}},39912,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return v},MiddlewareNotFoundError:function(){return E},MissingStaticPage:function(){return b},NormalizeError:function(){return y},PageNotFoundError:function(){return _},SP:function(){return g},ST:function(){return h},WEB_VITALS:function(){return i},execOnce:function(){return o},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return m},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return R}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function o(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>s.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function m(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await m(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let g="u">typeof performance,h=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class v extends Error{}class y extends Error{}class _ extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class b extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class E extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function R(e){return JSON.stringify({message:e.message,stack:e.stack})}},29709,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});function i(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function o(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,o(e));else t.set(r,o(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},826,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"parseRelativeUrl",{enumerable:!0,get:function(){return a}}),e.r(39912);let n=e.r(29709);function a(e,t,r=!0){let i=new URL("http://n"),o=t?new URL(t,i):e.startsWith(".")?new URL("http://n"):i,{pathname:s,searchParams:l,search:u,hash:c,href:d,origin:f}=e.startsWith("/")?new URL(`${o.protocol}//${o.host}${e}`):new URL(e,o);if(f!==i.origin)throw Object.defineProperty(Error(`invariant: invalid relative URL, router received ${e}`),"__NEXT_ERROR_CODE",{value:"E159",enumerable:!1,configurable:!0});return{auth:null,host:null,hostname:null,pathname:s,port:null,protocol:null,query:r?(0,n.searchParamsToUrlQuery)(l):void 0,search:u,hash:c,href:d.slice(f.length),slashes:null}}},7507,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assertRootParamInSamples:function(){return P},createCookiesFromSample:function(){return v},createDraftModeForValidation:function(){return b},createExhaustiveParamsProxy:function(){return E},createExhaustiveSearchParamsProxy:function(){return R},createExhaustiveURLSearchParamsProxy:function(){return w},createHeadersFromSample:function(){return _},createRelativeURLFromSamples:function(){return O},createValidationSampleTracking:function(){return m},trackMissingSampleError:function(){return g},trackMissingSampleErrorAndThrow:function(){return h}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(26806),o=e.r(17678),s=e.r(33081),l=e.r(97754),u=e.r(826),c=e.r(3746),d=e.r(47734),f=e.r(32319),p=e.r(6039);function m(){return{missingSampleErrors:[]}}function g(e){(function(){let e=null,t=f.workUnitAsyncStorage.getStore();if(t)switch(t.type){case"request":case"validation-client":e=t.validationSampleTracking??null}if(!e)throw Object.defineProperty(new c.InvariantError("Expected to have a workUnitStore that provides validationSampleTracking"),"__NEXT_ERROR_CODE",{value:"E1110",enumerable:!1,configurable:!0});return e})().missingSampleErrors.push(e)}function h(e){throw g(e),e}function v(e,t){let r=new Set,n=new i.RequestCookies(new Headers);if(e)for(let t of e)r.add(t.name),null!==t.value&&n.set(t.name,t.value);return new Proxy(o.RequestCookiesAdapter.seal(n),{get(e,n,a){if("has"===n){let i=Reflect.get(e,n,a);return function(n){return r.has(n)||h(y(t,n)),i.call(e,n)}}if("get"===n){let i=Reflect.get(e,n,a);return function(n){let a;if("string"==typeof n)a=n;else{if(!n||"object"!=typeof n||"string"!=typeof n.name)return i.call(e,n);a=n.name}return r.has(a)||h(y(t,a)),i.call(e,a)}}return Reflect.get(e,n,a)}})}function y(e,t){return Object.defineProperty(new d.InstantValidationError(`Route "${e}" accessed cookie "${t}" which is not defined in the \`samples\` of \`unstable_instant\`. Add it to the sample's \`cookies\` array, or \`{ name: "${t}", value: null }\` if it should be absent.`),"__NEXT_ERROR_CODE",{value:"E1115",enumerable:!1,configurable:!0})}function _(e,t,r){let n=e?[...e]:[];if(n.find(([e])=>"cookie"===e.toLowerCase()))throw Object.defineProperty(new d.InstantValidationError('Invalid sample: Defining cookies via a "cookie" header is not supported. Use `cookies: [{ name: ..., value: ... }]` instead.'),"__NEXT_ERROR_CODE",{value:"E1111",enumerable:!1,configurable:!0});if(t){let e=t.toString();n.push(["cookie",""!==e?e:null])}let a=new Set,i={};for(let[e,t]of n)a.add(e.toLowerCase()),null!==t&&(i[e.toLowerCase()]=t);return new Proxy(s.HeadersAdapter.seal(s.HeadersAdapter.from(i)),{get(e,t,n){if("get"===t||"has"===t){let i=Reflect.get(e,t,n);return function(t){let n=t.toLowerCase();return a.has(n)||h(Object.defineProperty(new d.InstantValidationError(`Route "${r}" accessed header "${n}" which is not defined in the \`samples\` of \`unstable_instant\`. Add it to the sample's \`headers\` array, or \`["${n}", null]\` if it should be absent.`),"__NEXT_ERROR_CODE",{value:"E1116",enumerable:!1,configurable:!0})),i.call(e,n)}}return Reflect.get(e,t,n)}})}function b(){return{get isEnabled(){return!1},enable(){throw Object.defineProperty(Error("Draft mode cannot be enabled during build-time instant validation."),"__NEXT_ERROR_CODE",{value:"E1092",enumerable:!1,configurable:!0})},disable(){throw Object.defineProperty(Error("Draft mode cannot be disabled during build-time instant validation."),"__NEXT_ERROR_CODE",{value:"E1094",enumerable:!1,configurable:!0})}}}function E(e,t,r){return new Proxy(e,{get:(n,a,i)=>("string"==typeof a&&!p.wellKnownProperties.has(a)&&a in e&&!t.has(a)&&h(Object.defineProperty(new d.InstantValidationError(`Route "${r}" accessed param "${a}" which is not defined in the \`samples\` of \`unstable_instant\`. Add it to the sample's \`params\` object.`),"__NEXT_ERROR_CODE",{value:"E1095",enumerable:!1,configurable:!0})),Reflect.get(n,a,i))})}function R(e,t,r){return new Proxy(e,{get:(e,n,a)=>("string"!=typeof n||p.wellKnownProperties.has(n)||t.has(n)||h(S(r,n)),Reflect.get(e,n,a)),has:(e,n)=>("string"!=typeof n||p.wellKnownProperties.has(n)||t.has(n)||h(S(r,n)),Reflect.has(e,n))})}function w(e,t,r){return new Proxy(e,{get(e,n,a){if("get"===n||"getAll"===n||"has"===n){let i=Reflect.get(e,n,a);return n=>("string"!=typeof n||t.has(n)||h(S(r,n)),i.call(e,n))}let i=Reflect.get(e,n,a);return"function"!=typeof i||Object.hasOwn(e,n)?i:i.bind(e)}})}function S(e,t){return Object.defineProperty(new d.InstantValidationError(`Route "${e}" accessed searchParam "${t}" which is not defined in the \`samples\` of \`unstable_instant\`. Add it to the sample's \`searchParams\` object, or \`{ "${t}": null }\` if it should be absent.`),"__NEXT_ERROR_CODE",{value:"E1098",enumerable:!1,configurable:!0})}function O(e,t,r){let n=function(e,t){let r=[];for(let n of e.split("/")){let e=(0,l.getSegmentParam)(n);if(e)switch(e.paramType){case"catchall":case"optional-catchall":{let a=t[e.paramName];if(void 0===a)a=[n];else if(!Array.isArray(a))throw Object.defineProperty(new d.InstantValidationError(`Expected sample param value for segment '${n}' to be an array of strings, got ${typeof a}`),"__NEXT_ERROR_CODE",{value:"E1104",enumerable:!1,configurable:!0});r.push(...a.map(e=>encodeURIComponent(e)));break}case"dynamic":{let a=t[e.paramName];if(void 0===a)a=n;else if("string"!=typeof a)throw Object.defineProperty(new d.InstantValidationError(`Expected sample param value for segment '${n}' to be a string, got ${typeof a}`),"__NEXT_ERROR_CODE",{value:"E1108",enumerable:!1,configurable:!0});r.push(encodeURIComponent(a));break}case"catchall-intercepted-(..)(..)":case"catchall-intercepted-(.)":case"catchall-intercepted-(..)":case"catchall-intercepted-(...)":case"dynamic-intercepted-(..)(..)":case"dynamic-intercepted-(.)":case"dynamic-intercepted-(..)":case"dynamic-intercepted-(...)":throw Object.defineProperty(new c.InvariantError("Not implemented: Validation of interception routes"),"__NEXT_ERROR_CODE",{value:"E1106",enumerable:!1,configurable:!0});default:e.paramType}else r.push(n)}return r.join("/")}(e,t??{}),a="";if(r){let e=(function(e){let t=new URLSearchParams;if(e){for(let[r,n]of Object.entries(e))if(null!=n)if(Array.isArray(n))for(let e of n)t.append(r,e);else t.set(r,n)}return t})(r).toString();e&&(a="?"+e)}return(0,u.parseRelativeUrl)(n+a,void 0,!0)}function P(e,t,r){if(t&&r in t);else{let t=e.route;h(Object.defineProperty(new d.InstantValidationError(`Route "${t}" accessed root param "${r}" which is not defined in the \`samples\` of \`unstable_instant\`. Add it to the sample's \`params\` object.`),"__NEXT_ERROR_CODE",{value:"E1114",enumerable:!1,configurable:!0}))}}},4610,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createPrerenderSearchParamsForClientPage:function(){return _},createSearchParamsFromClient:function(){return h},createServerSearchParamsForMetadata:function(){return v},createServerSearchParamsForServerPage:function(){return y},makeErroringSearchParamsForUseCache:function(){return S}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(56704),o=e.r(35202),s=e.r(10332),l=e.r(23623),u=e.r(32319),c=e.r(3746),d=e.r(38821),f=e.r(61460),p=e.r(6039),m=e.r(26759),g=e.r(91307);function h(t){let r=i.workAsyncStorage.getStore();if(!r)throw Object.defineProperty(new c.InvariantError("Expected workStore to be initialized"),"__NEXT_ERROR_CODE",{value:"E1068",enumerable:!1,configurable:!0});let n=u.workUnitAsyncStorage.getStore();if(n)switch(n.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return b(r,n);case"validation-client":return function(t,r,n){var a;let{createExhaustiveSearchParamsProxy:i}=e.r(7507);return Promise.resolve(t=i(t,new Set(Object.keys((null==(a=n.validationSamples)?void 0:a.searchParams)??{})),r.route))}(t,r,n);case"prerender-runtime":throw Object.defineProperty(new c.InvariantError("createSearchParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E769",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new c.InvariantError("createSearchParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E739",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new c.InvariantError("createSearchParamsFromClient should not be called inside generateStaticParams."),"__NEXT_ERROR_CODE",{value:"E1133",enumerable:!1,configurable:!0});case"request":return E(t,r,n,!1)}(0,u.throwInvariantForMissingStore)()}function v(e,t){return y(e,(0,o.getMetadataVaryParamsAccumulator)(),t)}function y(e,t,r){let n=i.workAsyncStorage.getStore();if(!n)throw Object.defineProperty(new c.InvariantError("Expected workStore to be initialized"),"__NEXT_ERROR_CODE",{value:"E1068",enumerable:!1,configurable:!0});let a=u.workUnitAsyncStorage.getStore();if(a)switch(a.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return b(n,a);case"validation-client":throw Object.defineProperty(new c.InvariantError("createServerSearchParamsForServerPage should not be called in a client validation."),"__NEXT_ERROR_CODE",{value:"E1066",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new c.InvariantError("createServerSearchParamsForServerPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E747",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new c.InvariantError("createServerSearchParamsForServerPage should not be called inside generateStaticParams."),"__NEXT_ERROR_CODE",{value:"E1128",enumerable:!1,configurable:!0});case"prerender-runtime":return function(e,t,r,n){let a=O(null!==r?(0,o.createVaryingSearchParams)(r,e):e),{stagedRendering:i}=t;if(!i)return a;let s=n?g.RenderStage.EarlyRuntime:g.RenderStage.Runtime;return i.waitForStage(s).then(()=>a)}(e,a,t,r);case"request":return E(e,n,a,r)}(0,u.throwInvariantForMissingStore)()}function _(){let e=i.workAsyncStorage.getStore();if(!e)throw Object.defineProperty(new c.InvariantError("Expected workStore to be initialized"),"__NEXT_ERROR_CODE",{value:"E1068",enumerable:!1,configurable:!0});if(e.forceStatic)return Promise.resolve({});let t=u.workUnitAsyncStorage.getStore();if(t)switch(t.type){case"prerender":case"prerender-client":return(0,d.makeHangingPromise)(t.renderSignal,e.route,"`searchParams`");case"validation-client":throw Object.defineProperty(new c.InvariantError("createPrerenderSearchParamsForClientPage should not be called in a client validation."),"__NEXT_ERROR_CODE",{value:"E1061",enumerable:!1,configurable:!0});case"prerender-runtime":throw Object.defineProperty(new c.InvariantError("createPrerenderSearchParamsForClientPage should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E768",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new c.InvariantError("createPrerenderSearchParamsForClientPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E746",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new c.InvariantError("createPrerenderSearchParamsForClientPage should not be called inside generateStaticParams."),"__NEXT_ERROR_CODE",{value:"E1124",enumerable:!1,configurable:!0});case"prerender-ppr":case"prerender-legacy":case"request":return Promise.resolve({})}(0,u.throwInvariantForMissingStore)()}function b(e,t){if(e.forceStatic)return Promise.resolve({});switch(t.type){case"prerender":case"prerender-client":var r=e,n=t;let a=R.get(n);if(a)return a;let i=(0,d.makeHangingPromise)(n.renderSignal,r.route,"`searchParams`"),o=new Proxy(i,{get(e,t,r){if(Object.hasOwn(i,t))return s.ReflectAdapter.get(e,t,r);switch(t){case"then":return(0,l.annotateDynamicAccess)("`await searchParams`, `searchParams.then`, or similar",n),s.ReflectAdapter.get(e,t,r);case"status":return(0,l.annotateDynamicAccess)("`use(searchParams)`, `searchParams.status`, or similar",n),s.ReflectAdapter.get(e,t,r);default:return s.ReflectAdapter.get(e,t,r)}}});return R.set(n,o),o;case"prerender-ppr":case"prerender-legacy":var u=e,c=t;let f=R.get(u);if(f)return f;let p=Promise.resolve({}),g=new Proxy(p,{get(e,t,r){if(Object.hasOwn(p,t))return s.ReflectAdapter.get(e,t,r);if("string"==typeof t&&"then"===t){let e="`await searchParams`, `searchParams.then`, or similar";u.dynamicShouldError?(0,m.throwWithStaticGenerationBailoutErrorWithDynamicError)(u.route,e):"prerender-ppr"===c.type?(0,l.postponeWithTracking)(u.route,e,c.dynamicTracking):(0,l.throwToInterruptStaticGeneration)(e,u,c)}return s.ReflectAdapter.get(e,t,r)}});return R.set(u,g),g;default:return t}}function E(t,r,n,a){if(r.forceStatic)return Promise.resolve({});if(!n.asyncApiPromises)return O(t);if(n.validationSamples){let{createExhaustiveSearchParamsProxy:a}=e.r(7507),i=new Set(Object.keys(n.validationSamples.searchParams??{}));t=a(t,i,r.route)}return(a?n.asyncApiPromises.earlySharedSearchParamsParent:n.asyncApiPromises.sharedSearchParamsParent).then(()=>t)}let R=new WeakMap,w=new WeakMap;function S(){let e=i.workAsyncStorage.getStore();if(!e)throw Object.defineProperty(new c.InvariantError("Expected workStore to be initialized"),"__NEXT_ERROR_CODE",{value:"E1068",enumerable:!1,configurable:!0});let t=w.get(e);if(t)return t;let r=Promise.resolve({}),n=new Proxy(r,{get:function t(n,a,i){return Object.hasOwn(r,a)||"string"!=typeof a||"then"!==a&&p.wellKnownProperties.has(a)||(0,m.throwForSearchParamsAccessInUseCache)(e,t),s.ReflectAdapter.get(n,a,i)}});return w.set(e,n),n}function O(e){let t=R.get(e);if(t)return t;let r=Promise.resolve(e);return R.set(e,r),r}(0,f.createDedupedByCallsiteServerErrorLoggerDev)(function(e,t){let r=e?`Route "${e}" `:"This route ";return Object.defineProperty(Error(`${r}used ${t}. \`searchParams\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E848",enumerable:!1,configurable:!0})})},83691,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createLazyResult:function(){return i},isResolvedLazyResult:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});function i(e){let t,r={then:(n,a)=>(t||(t=Promise.resolve(e())),t.then(e=>{r.value=e}).catch(()=>{}),t.then(n,a))};return r}function o(e){return e.hasOwnProperty("value")}},53485,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"cache",{enumerable:!0,get:function(){return q}});let n=e.r(45963),a=e.r(16129),i=e.r(61622),o=e.r(56704),s=e.r(32319),l=e.r(38821),u=e.r(8650),c=e.r(58506),d=e.r(3746),f=e.r(54053),p=e.r(97115),m=e.r(73188),g=e.r(65197),h=e.r(24601),v=e.r(23623),y=e.r(4610),_=e.r(83691),b=e.r(43285);e.r(91307);let E=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=R(void 0);if(t&&t.has(e))return t.get(e);var r={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var i=n?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(r,a,i):r[a]=e[a]}return r.default=e,t&&t.set(e,r),r}(e.r(31173));function R(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(R=function(e){return e?r:t})(e)}let w=process.env.NEXT_PRIVATE_DEBUG_CACHE?console.debug.bind(console,"use-cache:"):void 0,S,O,P=new Map;function A(e,t){let r=P.get(e);if(r){for(let e of t)r.add(e);return r}let n=new Set(t);return P.set(e,n),n}function C(e,t){return 0===t.size?"":JSON.stringify([...t].sort().map(t=>[t,e[t]]))}function T(e,t,r){if(!e)return r;let n=H(r),a=X(n,0),i=X(n,1);return e.cache.set(t,i),a}function k(e,t,r,n,a,i){let o=a.then(a=>{let{entry:o,readRootParamNames:s}=a,l=s?A(r,s):P.get(r);if(l&&l.size>0&&i){let r=n+C(i,l),a=e.set(r,Promise.resolve(o));t.pendingRevalidateWrites??=[],t.pendingRevalidateWrites.push(a);let s=[...l].map(e=>m.NEXT_CACHE_ROOT_PARAM_TAG_ID+e);return{value:new ReadableStream({start(e){e.enqueue(new Uint8Array([0])),e.close()}}),tags:[...o.tags,...s],stale:o.stale,timestamp:o.timestamp,expire:o.expire,revalidate:o.revalidate}}return o}),s=e.set(n,o);t.pendingRevalidateWrites??=[],t.pendingRevalidateWrites.push(s)}function N(e,t,r,n,a,i){return e.runInCleanSnapshot(x,e,t,r,n,a,i)}function x(e,t,r,n,a,i){return o.workAsyncStorage.run(e,j,e,t,r,n,a,i)}function j(e,t,r,n,a,i){if(!e.cacheLifeProfiles)throw Object.defineProperty(new d.InvariantError("cacheLifeProfiles should always be provided."),"__NEXT_ERROR_CODE",{value:"E748",enumerable:!1,configurable:!0});let o=e.cacheLifeProfiles.default;if(!o||null==o.revalidate||null==o.expire||null==o.stale)throw Object.defineProperty(new d.InvariantError("A default cacheLife profile must always be provided."),"__NEXT_ERROR_CODE",{value:"E750",enumerable:!1,configurable:!0});let l=function(e,t,r){if("private"===t.kind){let n=t.outerWorkUnitStore;return{type:"private-cache",phase:"render",implicitTags:null==n?void 0:n.implicitTags,revalidate:r.revalidate,expire:r.expire,stale:r.stale,explicitRevalidate:void 0,explicitExpire:void 0,explicitStale:void 0,tags:null,hmrRefreshHash:(0,s.getHmrRefreshHash)(n),isHmrRefresh:(0,s.isHmrRefresh)(n),serverComponentsHmrCache:(0,s.getServerComponentsHmrCache)(n),forceRevalidate:V(e,n),draftMode:(0,s.getDraftModeProviderForCacheScope)(e,n),rootParams:n.rootParams,headers:n.headers,cookies:n.cookies}}{let n,a=t.outerWorkUnitStore;switch(a.type){case"cache":case"private-cache":case"request":n=a}return{type:"cache",phase:"render",implicitTags:a.implicitTags,revalidate:r.revalidate,expire:r.expire,stale:r.stale,explicitRevalidate:void 0,explicitExpire:void 0,explicitStale:void 0,tags:null,hmrRefreshHash:(0,s.getHmrRefreshHash)(a),isHmrRefresh:(null==n?void 0:n.isHmrRefresh)??!1,serverComponentsHmrCache:null==n?void 0:n.serverComponentsHmrCache,forceRevalidate:V(e,a),draftMode:(0,s.getDraftModeProviderForCacheScope)(e,a),rootParams:a.rootParams,readRootParamNames:new Set}}}(e,t,o);return s.workUnitAsyncStorage.run(l,()=>b.dynamicAccessAsyncStorage.run({abortController:new AbortController},F,e,t,l,r,n,a,i))}function I(e,t){let r=e.tags??=[];for(let e of t.tags)r.includes(e)||r.push(e);e.stale>t.stale&&(e.stale=t.stale),e.revalidate>t.revalidate&&(e.revalidate=t.revalidate),e.expire>t.expire&&(e.expire=t.expire)}function M(e,t){void 0!==e.stale&&e.stale>t.stale&&(e.stale=t.stale)}function D(e,t,r){if("private"===e.kind)switch(e.outerWorkUnitStore.type){case"prerender-runtime":case"private-cache":I(e.outerWorkUnitStore,t);break;case"request":M(e.outerWorkUnitStore,t);break;case void 0:break;default:e.outerWorkUnitStore}else switch(e.outerWorkUnitStore.type){case"cache":if(r)for(let t of r)e.outerWorkUnitStore.readRootParamNames.add(t);case"private-cache":case"prerender":case"prerender-runtime":case"prerender-ppr":case"prerender-legacy":I(e.outerWorkUnitStore,t);break;case"request":M(e.outerWorkUnitStore,t);break;case"unstable-cache":case"generate-static-params":break;default:e.outerWorkUnitStore}}function $(e,t,r){switch(e.outerWorkUnitStore.type){case"prerender":case"prerender-runtime":break;case"request":case"private-cache":case"cache":case"unstable-cache":case"prerender-legacy":case"prerender-ppr":D(e,t,r)}}async function U(e,t,r,n,a,i){let o=[],l=e.getReader();try{for(let e;!(e=await l.read()).done;)o.push(e.value)}catch(e){i.push(e)}let u=0,c=new ReadableStream({pull(e){t.invalidDynamicUsageError?e.error(t.invalidDynamicUsageError):u<o.length?e.enqueue(o[u++]):i.length>0?e.error(i[0]):e.close()}}),d=n.tags,f={value:c,timestamp:a,revalidate:void 0!==n.explicitRevalidate?n.explicitRevalidate:n.revalidate,expire:void 0!==n.explicitExpire?n.explicitExpire:n.expire,stale:void 0!==n.explicitStale?n.explicitStale:n.stale,tags:null===d?[]:d};if(!r.skipPropagation){$(r,f,"cache"===n.type?n.readRootParamNames:void 0);let e=(0,s.getCacheSignal)(r.outerWorkUnitStore);e&&e.endRead()}return{entry:f,hasExplicitRevalidate:void 0!==n.explicitRevalidate,hasExplicitExpire:void 0!==n.explicitExpire,readRootParamNames:"cache"===n.type?n.readRootParamNames:void 0}}async function F(e,t,r,a,o,s,c){let d,p=(0,n.createTemporaryReferenceSet)(),m=t.outerWorkUnitStore,[,,g]="string"==typeof o?await (0,n.decodeReply)(o,(0,u.getServerModuleMap)(),{temporaryReferences:p}):await (0,n.decodeReplyFromAsyncIterable)({async *[Symbol.asyncIterator](){for(let e of o)yield e;switch(m.type){case"prerender-runtime":case"prerender":await new Promise(e=>{m.renderSignal.aborted?e():m.renderSignal.addEventListener("abort",()=>e(),{once:!0})})}}},(0,u.getServerModuleMap)(),{temporaryReferences:p}),h=performance.timeOrigin+performance.now(),v=(0,_.createLazyResult)(s.bind(null,...g)),y=[],R=(0,f.createReactServerErrorHandler)(!1,e.isBuildTimePrerendering??!1,e.reactServerErrorsByDigest,e=>{E.error(e),y.push(e)});switch(m.type){case"prerender-runtime":case"prerender":var w;let O=new AbortController,P=setTimeout(()=>{e.invalidDynamicUsageError=c,O.abort(c)},5e4),A=null==(w=b.dynamicAccessAsyncStorage.getStore())?void 0:w.abortController.signal,C=A?AbortSignal.any([A,m.renderSignal,O.signal]):O.signal,{prelude:T}=await (0,i.prerender)(v,a.clientModules,{environmentName:"Cache",filterStackFrame:S,signal:C,temporaryReferences:p,onError(e){if(!C.aborted||C.reason!==e)return R(e)}});if(clearTimeout(P),O.signal.aborted)d=new ReadableStream({start(e){e.error(O.signal.reason)}});else if(null==A?void 0:A.aborted){let t=(0,l.makeHangingPromise)(m.renderSignal,e.route,'dynamic "use cache"');return m.cacheSignal&&m.cacheSignal.endRead(),{type:"prerender-dynamic",hangingPromise:t}}else d=T;break;case"request":case"prerender-ppr":case"prerender-legacy":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":d=(0,n.renderToReadableStream)(v,a.clientModules,{environmentName:"Cache",filterStackFrame:S,temporaryReferences:p,onError:R});break;default:return m}let[k,N]=d.tee();return{type:"cached",stream:k,pendingCacheResult:U(N,e,t,r,h,y)}}function L(e){let[t,r]=e.value.tee();e.value=t;let n={value:r,timestamp:e.timestamp,revalidate:e.revalidate,expire:e.expire,stale:e.stale,tags:e.tags};return[e,n]}async function H(e){return function(e){let[t,r]=L(e.entry);return[{entry:t,hasExplicitRevalidate:e.hasExplicitRevalidate,hasExplicitExpire:e.hasExplicitExpire,readRootParamNames:e.readRootParamNames},{entry:r,hasExplicitRevalidate:e.hasExplicitRevalidate,hasExplicitExpire:e.hasExplicitExpire,readRootParamNames:e.readRootParamNames}]}(await e)}async function X(e,t){return(await e)[t]}async function B(e){let t="";for(let[r,n]of e){let e;if(t+=r.length.toString(16)+":"+r,"string"==typeof n)e=n;else{let t=await n.arrayBuffer();e=t.byteLength%2==0?String.fromCodePoint(...new Uint16Array(t)):String.fromCodePoint(...new Uint16Array(t,0,(t.byteLength-1)/2))+String.fromCodePoint(new Uint8Array(t,t.byteLength-1,1)[0])}t+=e.length.toString(16)+":"+e}return t}function W(e,t){let r=e.getReader();return new ReadableStream({async pull(e){let{done:n,value:a}=await r.read();n?(e.close(),t.endRead()):e.enqueue(a)}})}async function q(e,t,r,n,i){var f,E,R,S,x,j;let I,M,U,F="private"===e,H=F?void 0:(0,g.getCacheHandler)(e);if(!F&&!H)throw Object.defineProperty(Error("Unknown cache handler: "+e),"__NEXT_ERROR_CODE",{value:"E248",enumerable:!1,configurable:!0});let X=new h.UseCacheTimeoutError;Error.captureStackTrace(X,q);let G=(e,t)=>(Error.captureStackTrace(e,q),t.invalidDynamicUsageError??=e,e),K=o.workAsyncStorage.getStore();if(void 0===K)throw Object.defineProperty(Error('"use cache" cannot be used outside of App Router. Expected a WorkStore.'),"__NEXT_ERROR_CODE",{value:"E279",enumerable:!1,configurable:!0});let J=s.workUnitAsyncStorage.getStore();if(void 0===J)throw Object.defineProperty(new d.InvariantError('"use cache" cannot be used outside of App Router. Expected a WorkUnitStore.'),"__NEXT_ERROR_CODE",{value:"E1135",enumerable:!1,configurable:!0});let Y=n.name,Z=n;if(F){let e='"use cache: private"';switch(J.type){case"prerender":return(0,l.makeHangingPromise)(J.renderSignal,K.route,e);case"prerender-ppr":return(0,v.postponeWithTracking)(K.route,e,J.dynamicTracking);case"prerender-legacy":return(0,v.throwToInterruptStaticGeneration)(e,K,J);case"prerender-client":case"validation-client":throw Object.defineProperty(new d.InvariantError(`${e} must not be used within a client component. Next.js should be preventing ${e} from being allowed in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1020",enumerable:!1,configurable:!0});case"unstable-cache":throw G(Object.defineProperty(Error(`${e} must not be used within \`unstable_cache()\`.`),"__NEXT_ERROR_CODE",{value:"E1016",enumerable:!1,configurable:!0}),K);case"cache":throw G(Object.defineProperty(Error(`${e} must not be used within "use cache". It can only be nested inside of another ${e}.`),"__NEXT_ERROR_CODE",{value:"E1001",enumerable:!1,configurable:!0}),K);case"request":case"prerender-runtime":case"private-cache":I={kind:"private",outerWorkUnitStore:J,skipPropagation:!1};break;case"generate-static-params":throw G(Object.defineProperty(Error(`${e} cannot be used outside of a request context.`),"__NEXT_ERROR_CODE",{value:"E1008",enumerable:!1,configurable:!0}),K);default:throw Object.defineProperty(new d.InvariantError("Unexpected work unit store."),"__NEXT_ERROR_CODE",{value:"E737",enumerable:!1,configurable:!0})}}else switch(J.type){case"prerender-client":case"validation-client":let Q='"use cache"';throw Object.defineProperty(new d.InvariantError(`${Q} must not be used within a client component. Next.js should be preventing ${Q} from being allowed in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1038",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":I={kind:"public",outerWorkUnitStore:J,skipPropagation:!1};break;default:throw Object.defineProperty(new d.InvariantError("Unexpected work unit store."),"__NEXT_ERROR_CODE",{value:"E737",enumerable:!1,configurable:!0})}let ee=(0,u.getClientReferenceManifest)(),et=K.deploymentId||K.buildId,er=(0,s.getHmrRefreshHash)(J),en=(0,v.createHangingInputAbortSignal)(J);if("private"===I.kind){let{outerWorkUnitStore:e}=I;if("prerender-runtime"===e.type){let t=e.stagedRendering;t&&await t.waitForStage((0,l.getRuntimeStage)(t))}}let ea=!1;if(function(e){let[t]=e;return null!==t&&"object"==typeof t&&!0===t.$$isPage}(i)){ea=!0;let[{params:e,searchParams:t},...r]=i,a={params:e};F&&(a.searchParams=t),i=[a,...r],Z=({[Y]:async({params:t,searchParams:r},...a)=>n.apply(null,[{params:e,searchParams:r??(0,y.makeErroringSearchParamsForUseCache)()},...a])})[Y]}else if(function(e){let[t]=e;return null!==t&&"object"==typeof t&&!0===t.$$isLayout}(i)){ea=!0;let[{params:e,$$isLayout:t,...r},...a]=i;i=[{params:e,...r},...a],Z=({[Y]:async({params:t,...r},...a)=>n.apply(null,[{params:e,...r},...a])})[Y]}if(r>0){if(0===i.length)throw Object.defineProperty(new d.InvariantError(`Expected the "use cache" function ${JSON.stringify(Z.name)} to receive its encrypted bound arguments as the first argument.`),"__NEXT_ERROR_CODE",{value:"E524",enumerable:!1,configurable:!0});let e=i.shift(),n=await (0,c.decryptActionBoundArgs)(t,e);if(!Array.isArray(n))throw Object.defineProperty(new d.InvariantError(`Expected the bound arguments of "use cache" function ${JSON.stringify(Z.name)} to deserialize into an array, got ${typeof n} instead.`),"__NEXT_ERROR_CODE",{value:"E581",enumerable:!1,configurable:!0});if(r!==n.length)throw Object.defineProperty(new d.InvariantError(`Expected the "use cache" function ${JSON.stringify(Z.name)} to receive ${r} bound arguments, got ${n.length} instead.`),"__NEXT_ERROR_CODE",{value:"E559",enumerable:!1,configurable:!0});i.unshift(n)}let ei=(0,a.createTemporaryReferenceSet)(),eo=er?[et,t,i,er]:[et,t,i],es=()=>(0,a.encodeReply)(eo,{temporaryReferences:ei,signal:en});switch(J.type){case"prerender-runtime":case"prerender":if(!ea){let e=new AbortController;if(M=await b.dynamicAccessAsyncStorage.run({abortController:e},es),e.signal.aborted)return(0,l.makeHangingPromise)(J.renderSignal,K.route,'dynamic "use cache"');break}case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":case void 0:M=await es();break;default:return J}let el="string"==typeof M?M:await B(M),eu=J.rootParams,ec=P.get(t),ed=ec&&eu?el+C(eu,ec):el,ef=(0,s.getPrerenderResumeDataCache)(J),ep=(0,s.getRenderResumeDataCache)(J),em=(null==(f=J.implicitTags)?void 0:f.tags)??[];if(ep){let e=(0,s.getCacheSignal)(J);e&&e.beginRead();let r=ep.cache.get(el);if(void 0!==r){let n=await r;if(void 0!==n&&(n.entry.tags.some(e=>z(e,K))||em.some(e=>z(e,K)))&&(null==w||w("discarding RDC entry due to recently revalidated tags",el),n=void 0),void 0!==n){if(0===n.entry.revalidate||n.entry.expire<p.DYNAMIC_EXPIRE)switch(J.type){case"prerender":if(0===n.entry.revalidate){if(!1===n.hasExplicitRevalidate)throw G(Object.defineProperty(Error('A "use cache" with zero `revalidate` is nested inside another "use cache" that has no explicit `cacheLife`, which is not allowed during prerendering. Add `cacheLife()` to the outer `"use cache"` to choose whether it should be prerendered (with non-zero `revalidate`) or remain dynamic (with zero `revalidate`). Read more: https://nextjs.org/docs/messages/nested-use-cache-no-explicit-cachelife'),"__NEXT_ERROR_CODE",{value:"E1000",enumerable:!1,configurable:!0}),K);null==w||w("omitting entry",el,"from static shell due to revalidate: 0")}else{if(!1===n.hasExplicitExpire)throw G(Object.defineProperty(Error('A "use cache" with short `expire` (under 5 minutes) is nested inside another "use cache" that has no explicit `cacheLife`, which is not allowed during prerendering. Add `cacheLife()` to the outer `"use cache"` to choose whether it should be prerendered (with longer `expire`) or remain dynamic (with short `expire`). Read more: https://nextjs.org/docs/messages/nested-use-cache-no-explicit-cachelife'),"__NEXT_ERROR_CODE",{value:"E1009",enumerable:!1,configurable:!0}),K);null==w||w("omitting entry",el,"from static shell due to short expire value:",n.entry.expire)}return e&&e.endRead(),(0,l.makeHangingPromise)(J.renderSignal,K.route,'dynamic "use cache"');case"prerender-runtime":{let e=J.stagedRendering;e&&await e.waitForStage((0,l.getRuntimeStage)(e))}}if(n.entry.stale<p.RUNTIME_PREFETCH_DYNAMIC_STALE&&"prerender-runtime"===J.type)return null==w||w("omitting entry",el,"from runtime shell due to short stale value:",n.entry.stale),e&&e.endRead(),(0,l.makeHangingPromise)(J.renderSignal,K.route,'dynamic "use cache"')}if(void 0!==n){null==w||w("Resume Data Cache entry found",el),ef&&ef.cache.set(el,r),n.readRootParamNames&&n.readRootParamNames.size>0&&A(t,n.readRootParamNames),D(I,n.entry,n.readRootParamNames);let[a,i]=n.entry.value.tee();n.entry.value=i,U=e?W(a,e):a}else null==w||w("Resume Data Cache entry discarded",el),e&&e.endRead()}else if(null==w||w("Resume Data Cache entry not found",el),e&&e.endRead(),"prerender"===J.type&&J.allowEmptyStaticShell)return(0,l.makeHangingPromise)(J.renderSignal,K.route,'dynamic "use cache"')}if(void 0===U){let r,n=(0,s.getCacheSignal)(J);n&&n.beginRead();let a=K.refreshTagsByCacheKind.get(e);if(a&&!(0,_.isResolvedLazyResult)(a)&&await a,H&&!V(K,J)&&(r=await H.get(ed,em))&&eu){let e=new Set;for(let t of r.tags)t.startsWith(m.NEXT_CACHE_ROOT_PARAM_TAG_ID)&&e.add(t.slice(m.NEXT_CACHE_ROOT_PARAM_TAG_ID.length));e.size>0&&(A(t,e),ed=el+C(eu,e),r=await H.get(ed,em))}if(r){let t=0;if(J.implicitTags){let r=J.implicitTags.expirationsByCacheKind.get(e);if(r){let e=(0,_.isResolvedLazyResult)(r)?r.value:await r;e<1/0&&(t=e)}}E=r,R=K,S=J,x=em,j=t,(E.timestamp<=j?(null==w||w("entry was created at",E.timestamp,"before implicit tags were revalidated at",j),0):"prerender"===S.type||!(E.tags.some(e=>z(e,R))||x.some(e=>z(e,R))))||(null==w||w("discarding expired entry",ed),r=void 0)}let i=performance.timeOrigin+performance.now();if(void 0!==r&&(0===r.revalidate||r.expire<p.DYNAMIC_EXPIRE)&&"prerender"===J.type)return 0===r.revalidate?null==w||w("omitting entry",ed,"from static shell due to revalidate: 0"):null==w||w("omitting entry",ed,"from static shell due to short expire value:",r.expire),n&&n.endRead(),(0,l.makeHangingPromise)(J.renderSignal,K.route,'dynamic "use cache"');if(void 0===r||i>r.timestamp+1e3*r.expire||K.isStaticGeneration&&i>r.timestamp+1e3*r.revalidate){r&&(i>r.timestamp+1e3*r.expire&&(null==w||w("entry is expired",ed)),K.isStaticGeneration&&i>r.timestamp+1e3*r.revalidate&&(null==w||w("static generation, entry is stale",ed)));let e=await N(K,I,ee,M,Z,X);if("prerender-dynamic"===e.type)return e.hangingPromise;let{stream:n,pendingCacheResult:a}=e;if(!K.isDraftMode){let e=T(ef,el,a);H&&k(H,K,t,el,e,eu)}U=n}else{if("private"===I.kind)throw Object.defineProperty(new d.InvariantError("A private cache entry must not be retrieved from the cache handler."),"__NEXT_ERROR_CODE",{value:"E749",enumerable:!1,configurable:!0});if($(I,r,P.get(t)),U=r.value,ef){let[e,t]=L(r);U=n?W(e.value,n):e.value,ef.cache.set(el,Promise.resolve({entry:t,hasExplicitRevalidate:void 0,hasExplicitExpire:void 0,readRootParamNames:ec}))}else null==n||n.endRead();if(i>r.timestamp+1e3*r.revalidate){let e=await N(K,{kind:I.kind,outerWorkUnitStore:I.outerWorkUnitStore,skipPropagation:!0},ee,M,Z,X);if("cached"===e.type){let{stream:r,pendingCacheResult:n}=e,a=T(ef,el,n);H&&k(H,K,t,el,a,eu),await r.cancel()}}}}let eg={moduleLoading:null,moduleMap:ee.rscModuleMapping,serverModuleMap:(0,u.getServerModuleMap)()};return(0,a.createFromReadableStream)(U,{findSourceMapURL:O,serverConsumerManifest:eg,temporaryReferences:ei,replayConsoleLogs:!0,environmentName:"Cache"})}function V(e,t){return!!e.isOnDemandRevalidate||!!e.isDraftMode}function z(e,t){let{previouslyRevalidatedTags:r,pendingRevalidatedTags:n}=t;return r.includes(e)?(null==w||w("tag",e,"was previously revalidated"),!0):null!=n&&!!n.some(t=>t.tag===e)&&(null==w||w("tag",e,"was just revalidated"),!0)}},45917,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"cache",{enumerable:!0,get:function(){return n.cache}});let n=e.r(53485)},20825,e=>e.a(async(t,r)=>{try{var n=e.i(17178),a=e.i(45917),i=e.i(33077),o=e.i(66886),s=e.i(1759),l=e.i(70410),u=t([l]);function c(e){return{id:e.volume_id,slug:e.volume_slug,title:e.volume_title,filename:e.volume_filename,fullPath:e.volume_full_path,size:e.volume_size,mtime:e.volume_mtime,coverImage:e.volume_cover_image,seriesId:e.volume_series_id,metadataId:e.volume_metadata_id,createdAt:e.volume_created_at,updatedAt:e.volume_updated_at,series:{id:e.series_id,slug:e.series_slug,title:e.series_title,path:e.series_path,isOneshot:e.series_is_oneshot,mtime:e.series_mtime,status:e.series_status,createdAt:e.series_created_at,updatedAt:e.series_updated_at},metadataObj:e.metadata_id&&e.metadata_file_path?{id:e.metadata_id,filePath:e.metadata_file_path,title:e.metadata_title,series:e.metadata_series,number:e.metadata_number,count:e.metadata_count,summary:e.metadata_summary,year:e.metadata_year,month:e.metadata_month,day:e.metadata_day,writer:e.metadata_writer,penciller:e.metadata_penciller,inker:e.metadata_inker,colorist:e.metadata_colorist,letterer:e.metadata_letterer,coverArtist:e.metadata_cover_artist,editor:e.metadata_editor,publisher:e.metadata_publisher,imprint:e.metadata_imprint,web:e.metadata_web,pageCount:e.metadata_page_count,languageISO:e.metadata_language_iso,format:e.metadata_format,mangaStyle:e.metadata_manga_style,ageRating:e.metadata_age_rating,communityRating:e.metadata_community_rating,gtin:e.metadata_gtin,createdAt:e.metadata_created_at??e.volume_created_at,updatedAt:e.metadata_updated_at??e.volume_updated_at}:null,usersProgress:e.progress_id&&e.progress_user_id&&e.progress_volume_id&&e.progress_created_at&&e.progress_updated_at?[{id:e.progress_id,userId:e.progress_user_id,volumeId:e.progress_volume_id,isRead:e.progress_is_read??!1,isFavorite:e.progress_is_favorite??!1,personalRating:e.progress_personal_rating,lastPage:e.progress_last_page,totalPages:e.progress_total_pages,lastReadAt:e.progress_last_read_at,firstRead:e.progress_first_read,createdAt:e.progress_created_at,updatedAt:e.progress_updated_at}]:[],genres:[],tags:[]}}async function d(e,t){if(0===e.length)return e;let r=e.map(e=>e.id),n=new Map(e.map(e=>[e.id,e]));if(t.includeGenres)for(let e of(await (0,l.query)(`
|
|
22
|
+
SELECT vtg.volume_id, g.id AS genre_id, g.name AS genre_name
|
|
23
|
+
FROM volume_to_genres vtg
|
|
24
|
+
INNER JOIN genres g ON g.id = vtg.genre_id
|
|
25
|
+
WHERE vtg.volume_id = ANY($1::text[])
|
|
26
|
+
ORDER BY g.name ASC
|
|
27
|
+
`,[r])))n.get(e.volume_id)?.genres.push({id:e.genre_id,name:e.genre_name});if(t.includeTags)for(let e of(await (0,l.query)(`
|
|
28
|
+
SELECT vtt.volume_id, t.id AS tag_id, t.name AS tag_name
|
|
29
|
+
FROM volume_to_tags vtt
|
|
30
|
+
INNER JOIN tags t ON t.id = vtt.tag_id
|
|
31
|
+
WHERE vtt.volume_id = ANY($1::text[])
|
|
32
|
+
ORDER BY t.name ASC
|
|
33
|
+
`,[r])))n.get(e.volume_id)?.tags.push({id:e.tag_id,name:e.tag_name});return e}async function f(){let[e,t]=await Promise.all([(0,l.query)(`
|
|
34
|
+
SELECT id, name
|
|
35
|
+
FROM genres
|
|
36
|
+
ORDER BY name ASC
|
|
37
|
+
`),(0,l.query)(`
|
|
38
|
+
SELECT id, name
|
|
39
|
+
FROM tags
|
|
40
|
+
ORDER BY name ASC
|
|
41
|
+
`)]);return{genres:e,tags:t}}[l]=u.then?(await u)():u;let S=async function(){return(0,o.cacheLife)("max"),(0,o.cacheTag)(s.MANGA_LIBRARY_TAG),f()};var p=(0,i.cache)(function(){return(0,a.cache)("default","8027ce5e09d75b7fc702e93d2fb7fe72b0aa3dc4f4",0,S,[])});async function m(e){let t=[],r=e?.userId?(t.push(e.userId),`
|
|
42
|
+
LEFT JOIN user_to_volumes utv
|
|
43
|
+
ON utv.volume_id = mv.id
|
|
44
|
+
AND utv.user_id = $${t.length}
|
|
45
|
+
`):`
|
|
46
|
+
LEFT JOIN user_to_volumes utv
|
|
47
|
+
ON FALSE
|
|
48
|
+
`,n=function(e,t){let r=[];if(e.seriesIds&&e.seriesIds.length>0&&(t.push(e.seriesIds),r.push(`mv.series_id = ANY($${t.length}::text[])`)),e.volumeIds&&e.volumeIds.length>0&&(t.push(e.volumeIds),r.push(`mv.id = ANY($${t.length}::text[])`)),e.genreNames&&e.genreNames.length>0)for(let n of e.genreNames)t.push(n),r.push(`
|
|
49
|
+
EXISTS (
|
|
50
|
+
SELECT 1
|
|
51
|
+
FROM volume_to_genres vtg
|
|
52
|
+
INNER JOIN genres g ON g.id = vtg.genre_id
|
|
53
|
+
WHERE vtg.volume_id = mv.id
|
|
54
|
+
AND g.name = $${t.length}
|
|
55
|
+
)
|
|
56
|
+
`);if(e.tagNames&&e.tagNames.length>0)for(let n of e.tagNames)t.push(n),r.push(`
|
|
57
|
+
EXISTS (
|
|
58
|
+
SELECT 1
|
|
59
|
+
FROM volume_to_tags vtt
|
|
60
|
+
INNER JOIN tags t ON t.id = vtt.tag_id
|
|
61
|
+
WHERE vtt.volume_id = mv.id
|
|
62
|
+
AND t.name = $${t.length}
|
|
63
|
+
)
|
|
64
|
+
`);if(e.onlyUnreadForUser&&e.userId){t.push(e.userId);let n=t.length;r.push(`
|
|
65
|
+
(
|
|
66
|
+
NOT EXISTS (
|
|
67
|
+
SELECT 1
|
|
68
|
+
FROM user_to_volumes utv
|
|
69
|
+
WHERE utv.volume_id = mv.id
|
|
70
|
+
AND utv.user_id = $${n}
|
|
71
|
+
)
|
|
72
|
+
OR EXISTS (
|
|
73
|
+
SELECT 1
|
|
74
|
+
FROM user_to_volumes utv
|
|
75
|
+
WHERE utv.volume_id = mv.id
|
|
76
|
+
AND utv.user_id = $${n}
|
|
77
|
+
AND utv.is_read = FALSE
|
|
78
|
+
)
|
|
79
|
+
)
|
|
80
|
+
`)}return r}({genreNames:e?.genreNames,tagNames:e?.tagNames,seriesIds:e?.seriesIds,volumeIds:e?.volumeIds,userId:e?.userId,onlyUnreadForUser:e?.onlyUnreadForUser},t),a=(await (0,l.query)(`
|
|
81
|
+
SELECT
|
|
82
|
+
mv.id AS volume_id,
|
|
83
|
+
mv.slug AS volume_slug,
|
|
84
|
+
mv.title AS volume_title,
|
|
85
|
+
mv.filename AS volume_filename,
|
|
86
|
+
mv.full_path AS volume_full_path,
|
|
87
|
+
mv.size AS volume_size,
|
|
88
|
+
mv.mtime AS volume_mtime,
|
|
89
|
+
mv.cover_image AS volume_cover_image,
|
|
90
|
+
mv.series_id AS volume_series_id,
|
|
91
|
+
mv.metadata_id AS volume_metadata_id,
|
|
92
|
+
mv.created_at AS volume_created_at,
|
|
93
|
+
mv.updated_at AS volume_updated_at,
|
|
94
|
+
ms.id AS series_id,
|
|
95
|
+
ms.slug AS series_slug,
|
|
96
|
+
ms.title AS series_title,
|
|
97
|
+
ms.path AS series_path,
|
|
98
|
+
ms.is_oneshot AS series_is_oneshot,
|
|
99
|
+
ms.mtime AS series_mtime,
|
|
100
|
+
ms.status AS series_status,
|
|
101
|
+
ms.created_at AS series_created_at,
|
|
102
|
+
ms.updated_at AS series_updated_at,
|
|
103
|
+
vm.id AS metadata_id,
|
|
104
|
+
vm.file_path AS metadata_file_path,
|
|
105
|
+
vm.title AS metadata_title,
|
|
106
|
+
vm.series AS metadata_series,
|
|
107
|
+
vm.number AS metadata_number,
|
|
108
|
+
vm.count AS metadata_count,
|
|
109
|
+
vm.summary AS metadata_summary,
|
|
110
|
+
vm.year AS metadata_year,
|
|
111
|
+
vm.month AS metadata_month,
|
|
112
|
+
vm.day AS metadata_day,
|
|
113
|
+
vm.writer AS metadata_writer,
|
|
114
|
+
vm.penciller AS metadata_penciller,
|
|
115
|
+
vm.inker AS metadata_inker,
|
|
116
|
+
vm.colorist AS metadata_colorist,
|
|
117
|
+
vm.letterer AS metadata_letterer,
|
|
118
|
+
vm.cover_artist AS metadata_cover_artist,
|
|
119
|
+
vm.editor AS metadata_editor,
|
|
120
|
+
vm.publisher AS metadata_publisher,
|
|
121
|
+
vm.imprint AS metadata_imprint,
|
|
122
|
+
vm.web AS metadata_web,
|
|
123
|
+
vm.page_count AS metadata_page_count,
|
|
124
|
+
vm.language_iso AS metadata_language_iso,
|
|
125
|
+
vm.format AS metadata_format,
|
|
126
|
+
vm.manga_style AS metadata_manga_style,
|
|
127
|
+
vm.age_rating AS metadata_age_rating,
|
|
128
|
+
vm.community_rating AS metadata_community_rating,
|
|
129
|
+
vm.gtin AS metadata_gtin,
|
|
130
|
+
vm.created_at AS metadata_created_at,
|
|
131
|
+
vm.updated_at AS metadata_updated_at,
|
|
132
|
+
utv.id AS progress_id,
|
|
133
|
+
utv.user_id AS progress_user_id,
|
|
134
|
+
utv.volume_id AS progress_volume_id,
|
|
135
|
+
utv.is_read AS progress_is_read,
|
|
136
|
+
utv.is_favorite AS progress_is_favorite,
|
|
137
|
+
utv.personal_rating AS progress_personal_rating,
|
|
138
|
+
utv.last_page AS progress_last_page,
|
|
139
|
+
utv.total_pages AS progress_total_pages,
|
|
140
|
+
utv.last_read_at AS progress_last_read_at,
|
|
141
|
+
utv.first_read AS progress_first_read,
|
|
142
|
+
utv.created_at AS progress_created_at,
|
|
143
|
+
utv.updated_at AS progress_updated_at
|
|
144
|
+
FROM manga_volumes mv
|
|
145
|
+
INNER JOIN manga_series ms ON ms.id = mv.series_id
|
|
146
|
+
LEFT JOIN volume_metadata vm ON vm.id = mv.metadata_id
|
|
147
|
+
${r}
|
|
148
|
+
${n.length>0?`WHERE ${n.join(" AND ")}`:""}
|
|
149
|
+
ORDER BY ms.title ASC, mv.title ASC
|
|
150
|
+
`,t)).map(c);return d(a,{includeGenres:e?.includeGenres,includeTags:e?.includeTags})}(0,n.registerServerReference)(p,"8027ce5e09d75b7fc702e93d2fb7fe72b0aa3dc4f4",null),Object.defineProperty(p,"name",{value:"listLibraryFiltersCached"});let O=async function(e={}){return(0,o.cacheLife)("max"),(0,o.cacheTag)(s.MANGA_LIBRARY_TAG),m(e)};var g=(0,i.cache)(function(){return(0,a.cache)("default","c0ace397e99fc10ef66ee1fc8bc195f5367fa4ce98",0,O,Array.prototype.slice.call(arguments,0,1))});async function h(e){let t=await m({includeGenres:e?.includeGenres,includeTags:e?.includeTags,genreNames:e?.genreNames,tagNames:e?.tagNames,seriesIds:e?.seriesIds}),r=new Map;for(let e of t){let t=r.get(e.series.id);if(t){t.volumes.push(e);continue}r.set(e.series.id,{...e.series,volumes:[e]})}return[...r.values()]}(0,n.registerServerReference)(g,"c0ace397e99fc10ef66ee1fc8bc195f5367fa4ce98",null),Object.defineProperty(g,"name",{value:"listVolumesCached"});let P=async function(e={}){return(0,o.cacheLife)("max"),(0,o.cacheTag)(s.MANGA_LIBRARY_TAG),h(e)};var v=(0,i.cache)(function(){return(0,a.cache)("default","c05041f92483e0651d733499d8eff2ed04a82aa77e",0,P,Array.prototype.slice.call(arguments,0,1))});async function y(e){let t=await (0,l.queryOne)(`
|
|
151
|
+
SELECT id
|
|
152
|
+
FROM manga_series
|
|
153
|
+
WHERE slug = $1
|
|
154
|
+
LIMIT 1
|
|
155
|
+
`,[e.slug]);return t?(await h({seriesIds:[t.id],includeGenres:e.includeGenres,includeTags:e.includeTags}))[0]??null:null}(0,n.registerServerReference)(v,"c05041f92483e0651d733499d8eff2ed04a82aa77e",null),Object.defineProperty(v,"name",{value:"listSeriesWithVolumesCached"});let A=async function(e){return(0,o.cacheLife)("max"),(0,o.cacheTag)(s.MANGA_LIBRARY_TAG),y(e)};var _=(0,i.cache)(function(){return(0,a.cache)("default","c0a164f0be704f6f5632e74786cfcbade43df3360a",0,A,Array.prototype.slice.call(arguments,0,1))});async function b(e){return _(e)}async function E(e){let t=await (0,l.queryOne)(`
|
|
156
|
+
SELECT id
|
|
157
|
+
FROM manga_volumes
|
|
158
|
+
WHERE slug = $1
|
|
159
|
+
LIMIT 1
|
|
160
|
+
`,[e.slug]);return t?(await m({volumeIds:[t.id],userId:e.userId,includeGenres:e.includeGenres,includeTags:e.includeTags}))[0]??null:null}(0,n.registerServerReference)(_,"c0a164f0be704f6f5632e74786cfcbade43df3360a",null),Object.defineProperty(_,"name",{value:"findSeriesBySlugCached"});let C=async function(e){return(0,o.cacheLife)("max"),(0,o.cacheTag)(s.MANGA_LIBRARY_TAG),E(e)};var R=(0,i.cache)(function(){return(0,a.cache)("default","c0b885ac286cd4c3f66889dbce1aca3d6d7dbc2993",0,C,Array.prototype.slice.call(arguments,0,1))});async function w(e){return e.userId?E(e):R({slug:e.slug,includeGenres:e.includeGenres,includeTags:e.includeTags})}(0,n.registerServerReference)(R,"c0b885ac286cd4c3f66889dbce1aca3d6d7dbc2993",null),Object.defineProperty(R,"name",{value:"findVolumeBySlugCached"}),e.s(["findSeriesBySlug",0,b,"findVolumeBySlug",0,w]),r()}catch(e){r(e)}},!1),2977,e=>{"use strict";var t=e.i(30077),r=e.i(24868),n=e.i(14747),a=e.i(46786),i=e.i(96524),o=e.i(7782),s=e.i(28427);let l=[".jpg",".jpeg",".png",".gif",".webp"];async function u(e){let t=e.replace(/^\//,""),r=new i.GetObjectCommand({Bucket:s.R2_BUCKET,Key:t}),n=await (0,o.getSignedUrl)(s.default,r,{expiresIn:3600}),a=await fetch(n);if(!a.ok)throw Error(`Failed to download from R2: ${a.statusText}`);let l=await a.arrayBuffer();return Buffer.from(l)}async function c(e){return(await r.default.readdir(e)).filter(e=>l.includes(n.default.extname(e).toLowerCase())).map(t=>`/api/reader/temp-image?path=${encodeURIComponent(n.default.join(e,t))}`)}async function d(e,i,o,s){let d=null;try{let d;if(s.has(i)){let e=s.get(i);try{return await r.default.access(e),{images:await c(e)}}catch{s.delete(i)}}d="cloud"===o?await u(e.fullPath):await r.default.readFile(e.fullPath);let f=new t.default(d).getEntries().filter(e=>{let t=n.default.extname(e.entryName).toLowerCase();return!e.isDirectory&&l.includes(t)}).sort((e,t)=>{let r=e=>e.split("/").map(e=>e.replace(/\d+/g,e=>e.padStart(10,"0"))).join("/"),n=r(e.entryName),a=r(t.entryName);return n.localeCompare(a)}),p=await r.default.mkdtemp(n.default.join(a.default.tmpdir(),"bunko-reader-"));s.set(i,p),setTimeout(async()=>{try{await r.default.rm(p,{recursive:!0,force:!0}),s.delete(i)}catch(e){console.error("Failed to delete temp folder:",p,e)}},12096e5);let m=[],g=1;for(let e of f){let t=n.default.extname(e.entryName).toLowerCase(),a=`${String(g).padStart(4,"0")}${t}`,i=n.default.join(p,a),o=e.getData();await r.default.writeFile(i,o),m.push(`/api/reader/temp-image?path=${encodeURIComponent(i)}`),g++}return{images:m}}catch(e){d=e}finally{d&&console.error("ZIP read error:",d)}throw Error("Failed to read archive")}e.s(["extractImagesCbz",0,d])},23968,e=>e.a(async(t,r)=>{try{var n=e.i(9921),a=e.i(24868),i=e.i(46786),o=e.i(14747),s=e.i(96524),l=e.i(7782),u=e.i(28427),c=e.i(53280);let t=[".jpg",".jpeg",".png",".gif",".webp"],m=await (0,c.loadUnrarWasmBinary)();async function d(e){let t=e.replace(/^\//,""),r=new s.GetObjectCommand({Bucket:u.R2_BUCKET,Key:t}),n=await (0,l.getSignedUrl)(u.default,r,{expiresIn:3600}),a=await fetch(n);if(!a.ok)throw Error(`Failed to download from R2: ${a.statusText}`);let i=await a.arrayBuffer();return Buffer.from(i)}async function f(e){return(await a.default.readdir(e)).filter(e=>t.includes(o.default.extname(e).toLowerCase())).map(t=>`/api/reader/temp-image?path=${encodeURIComponent(o.default.join(e,t))}`)}async function p(e,r,s,l){let u=null;try{let u;if(l.has(r)){let e=l.get(r);try{return await a.default.access(e),{images:await f(e)}}catch{l.delete(r)}}u="cloud"===s?await d(e.fullPath):await a.default.readFile(e.fullPath);let c=await (0,n.createExtractorFromData)({data:new Uint8Array(u).buffer,wasmBinary:new Uint8Array(m).buffer}),p=[...c.getFileList().fileHeaders].filter(e=>{let r=o.default.extname(e.name).toLowerCase();return t.includes(r)}).sort((e,t)=>{let r=e=>e.split("/").map(e=>e.replace(/\d+/g,e=>e.padStart(10,"0"))).join("/"),n=r(e.name),a=r(t.name);return n.localeCompare(a)}),g=await a.default.mkdtemp(o.default.join(i.default.tmpdir(),"bunko-reader-"));l.set(r,g),setTimeout(async()=>{try{await a.default.rm(g,{recursive:!0,force:!0}),l.delete(r)}catch(e){console.error("Failed to delete temp folder:",g,e)}},12096e5);let h=[],v=1;for(let e of p){let t=o.default.extname(e.name).toLowerCase(),r=`${String(v).padStart(4,"0")}${t}`,n=o.default.join(g,r),i=[...c.extract({files:[e.name]}).files];if(i.length>0){let e=i[0].extraction;await a.default.writeFile(n,e),h.push(`/api/reader/temp-image?path=${encodeURIComponent(n)}`),v++}}return{images:h}}catch(e){u=e}finally{u&&console.error("RAR read error:",u)}throw Error("Failed to read archive")}e.s(["extractImagesCbr",0,p]),r()}catch(e){r(e)}},!0),74949,(e,t,r)=>{"use strict";function n(e){for(let t=0;t<e.length;t++){let r=e[t];if("function"!=typeof r)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof r}.
|
|
161
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ensureServerEntryExports",{enumerable:!0,get:function(){return n}})},82517,e=>e.a(async(t,r)=>{try{var n=e.i(17178),a=e.i(73099),i=e.i(14747),o=e.i(12267),s=e.i(20825),l=e.i(70410),u=e.i(2977),c=e.i(23968),d=e.i(74949),f=t([a,o,s,l,c]);[a,o,s,l,c]=f.then?(await f)():f;let h=new Map,v=process.env.LIB_PROVIDER||"local";async function p({slug:e}){let t=null;try{var r;let t;if(!await (0,a.verifySession)())return{error:"Unauthorized",status:401};if(!e)return{error:"Missing slug",status:400};let n=await (0,s.findVolumeBySlug)({slug:e});if(!n)return{error:"Volume not found",status:404};let o=(r=n.fullPath,t=i.default.extname(r).toLowerCase(),".cbz"===t||".zip"===t?u.extractImagesCbz:".cbr"===t||".rar"===t?c.extractImagesCbr:null);if(!o)return{error:"Unsupported file format",status:400};return await o(n,e,v,h)}catch(e){t=e}finally{if(t)return console.error("Reader error:",t),{error:"Failed to read archive",status:500}}}async function m({slug:e}){let t=null;try{let t=await (0,a.verifySession)();if(!t)return{error:"Unauthorized",status:401};if(!e)return{error:"Missing slug",status:400};let r=await (0,s.findVolumeBySlug)({slug:e});if(!r)return{error:"Volume not found",status:404};let n=await (0,o.findVolumeProgress)(t.id,r.id);if(!n)return{lastPage:0};return{lastPage:n.last_page,totalPages:n.total_pages,lastReadAt:n.last_read_at}}catch(e){t=e}finally{if(t)return console.error("Error fetching progress:",t),{error:"Server error",status:500}}}async function g({seriesSlug:e}){let t=null;try{let t=await (0,a.verifySession)();if(!t)return{error:"Unauthorized",status:401};if(!e)return{error:"Missing seriesSlug",status:400};let r=await (0,s.findSeriesBySlug)({slug:e});if(!r)return{error:"Series not found",status:404};let n=r.volumes.length;if(0===n)return{readVolumes:0,totalVolumes:0};let i=await (0,l.queryOne)(`
|
|
162
|
+
SELECT COUNT(*)::text AS count
|
|
163
|
+
FROM user_to_volumes
|
|
164
|
+
WHERE user_id = $1
|
|
165
|
+
AND volume_id = ANY($2::text[])
|
|
166
|
+
AND is_read = TRUE
|
|
167
|
+
`,[t.id,r.volumes.map(e=>e.id)]);return{readVolumes:Number(i?.count??"0"),totalVolumes:n}}catch(e){t=e}finally{if(t)return console.error("Error fetching series progress:",t),{error:"Server error",status:500}}}(0,d.ensureServerEntryExports)([p,m,g]),(0,n.registerServerReference)(p,"40658a09d2579ee80d2738dfa298d7188fb1d08b36",null),(0,n.registerServerReference)(m,"4098d54600009dd6773792a3ad38c7e3414e21d766",null),(0,n.registerServerReference)(g,"40077dd4f6de8ea9983c1b7a22677092a38b36b72b",null),e.s(["getMangaImages",0,p]),r()}catch(e){r(e)}},!1),81315,e=>e.a(async(t,r)=>{try{var n=e.i(26631),a=e.i(82517),i=t([a]);async function o(e){try{let{slug:t}=await e.json();if(!t)return n.NextResponse.json({error:"Missing slug"},{status:400});let r=await (0,a.getMangaImages)({slug:t});if(!r||"error"in r)return n.NextResponse.json({error:r?.error??"Unknown error"},{status:"status"in(r??{})?r.status:500});return n.NextResponse.json(r)}catch(e){return console.error("Reader API error:",e),n.NextResponse.json({error:"Internal server error"},{status:500})}}[a]=i.then?(await i)():i,e.s(["POST",0,o]),r()}catch(e){r(e)}},!1),53918,e=>e.a(async(t,r)=>{try{var n=e.i(81541),a=e.i(29879),i=e.i(7972),o=e.i(36043),s=e.i(49762),l=e.i(67882),u=e.i(41081),c=e.i(89819),d=e.i(43460),f=e.i(6359),p=e.i(26260),m=e.i(65708),g=e.i(24135),h=e.i(5316),v=e.i(89554),y=e.i(93695);e.i(16754);var _=e.i(75142),b=e.i(81315),E=t([b]);[b]=E.then?(await E)():E;let w=new n.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/reader/manga/route",pathname:"/api/reader/manga",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/reader/manga/route.ts",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:O,serverHooks:P}=w;async function R(e,t,r){r.requestMeta&&(0,o.setRequestMeta)(e,r.requestMeta),w.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/reader/manga/route";n=n.replace(/\/index$/,"")||"/";let i=await w.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:b,deploymentId:E,params:R,nextConfig:S,parsedUrl:O,isDraftMode:P,prerenderManifest:A,routerServerContext:C,isOnDemandRevalidate:T,revalidateOnlyGenerated:k,resolvedPathname:N,clientReferenceManifest:x,serverActionsManifest:j}=i,I=(0,u.normalizeAppPath)(n),M=!!(A.dynamicRoutes[I]||A.routes[N]),D=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,O,!1):t.end("This page could not be found"),null);if(M&&!P){let e=!!A.routes[N],t=A.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await D();throw new y.NoFallbackError}}let $=null;!M||w.isDev||P||($=N,$="/index"===$?"/":$);let U=!0===w.isDev||!M,F=M&&!U;j&&x&&(0,l.setManifestsSingleton)({page:n,clientReferenceManifest:x,serverActionsManifest:j});let L=e.method||"GET",H=(0,s.getTracer)(),X=H.getActiveScopeSpan(),B=!!(null==C?void 0:C.isWrappedByNextServer),W=!!(0,o.getRequestMeta)(e,"minimalMode"),q=(0,o.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,S,A,W);null==q||q.resetRequestCache(),globalThis.__incrementalCache=q;let V={params:R,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:U,incrementalCache:q,cacheLifeProfiles:S.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>w.onRequestError(e,t,n,a,C)},sharedContext:{buildId:b,deploymentId:E}},z=new c.NodeNextRequest(e),G=new c.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(z,(0,d.signalFromNodeResponse)(t));try{let i,o=async e=>w.handle(K,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==f.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${L} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",a),i.updateName(t))}else e.updateName(`${L} ${n}`)}),l=async i=>{var s,l;let u=async({previousCacheEntry:a})=>{try{if(!W&&T&&k&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(i);e.fetchMetrics=V.renderOpts.fetchMetrics;let s=V.renderOpts.pendingWaitUntil;s&&r.waitUntil&&(r.waitUntil(s),s=void 0);let l=V.renderOpts.collectedTags;if(!M)return await (0,m.sendResponse)(z,G,n,V.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,C),t}},c=await w.handleResponse({req:e,nextConfig:S,cacheKey:$,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:k,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:W});if(!M)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),P&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return W&&M||d.delete(v.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,h.getCacheControlHeader)(c.cacheControl)),await (0,m.sendResponse)(z,G,new Response(c.value.body,{headers:d,status:c.value.status||200})),null};B&&X?await l(X):(i=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(f.BaseServerSpan.handleRequest,{spanName:`${L} ${n}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},l),void 0,!B))}catch(t){if(t instanceof y.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,C),M)throw t;return await (0,m.sendResponse)(z,G,new Response(null,{status:500})),null}}e.s(["handler",0,R,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:O})},"routeModule",0,w,"serverHooks",0,P,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,O]),r()}catch(e){r(e)}},!1)];
|
|
168
|
+
|
|
169
|
+
//# sourceMappingURL=_0yipzck._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[66790,e=>{"use strict";var t=e.i(14747),a=e.i(24868);let r=t.default.join(process.cwd(),"tmp","scan-status.json");async function n(e){let t={};try{let e=await a.default.readFile(r,"utf-8");t=JSON.parse(e)}catch{t={}}let n={...t,...e,steps:{...t.steps,...e.steps}};await a.default.writeFile(r,JSON.stringify(n,null,2),"utf-8")}var i=e.i(90833);async function s(){try{await n({steps:{index:"running"}});let e=await (0,i.cookies)(),t=e.get("yomimono_key")?.value;if(!t)throw Error("No hay token de sesión disponible");let a=process.env.SITE_URL??`http://localhost:${process.env.PORT??"3060"}`,r=await fetch(`${a}/api/admin/scan-manga/index-library`,{method:"POST",headers:{Cookie:`yomimono_key=${t}`}});if(!r.ok)throw Error(`indexLibrary API responded with status ${r.status}`);await n({steps:{index:"done"}})}catch(e){console.error("Error en indexVolumesJob:",e),await n({steps:{index:"error"}})}}async function o(){try{await n({steps:{extractCover:"running"}});let e=await (0,i.cookies)(),t=e.get("yomimono_key")?.value;if(!t)throw Error("No hay token de sesión disponible");let a=process.env.SITE_URL??`http://localhost:${process.env.PORT??"3060"}`,r=await fetch(`${a}/api/admin/scan-manga/extract-cover`,{method:"POST",headers:{Cookie:`yomimono_key=${t}`}});if(!r.ok)throw Error(`extractCover API responded with status ${r.status}`);await n({steps:{extractCover:"done"}})}catch(e){console.error("Error en extractCoverJob:",e),await n({steps:{extractCover:"error"}})}}async function l(){try{await n({steps:{extractMeta:"running"}});let e=await (0,i.cookies)(),t=e.get("yomimono_key")?.value;if(!t)throw Error("No hay token de sesión disponible");let a=process.env.SITE_URL??`http://localhost:${process.env.PORT??"3060"}`,r=await fetch(`${a}/api/admin/scan-manga/extract-meta`,{method:"POST",headers:{Cookie:`yomimono_key=${t}`}});if(!r.ok)throw Error(`extractMeta API responded with status ${r.status}`);await n({steps:{extractMeta:"done"}})}catch(e){console.error("Error en extractMetadataJob:",e),await n({steps:{extractMeta:"error"}})}}var u=e.i(50377);let d=t.default.join(process.cwd(),"tmp","scan-status.json");async function c(){let e=0;try{await a.default.mkdir(t.default.dirname(d),{recursive:!0});let r=Date.now(),i=new Date().toISOString();await n({startedAt:i,status:"working",currentTask:"Indexing volumes",steps:{index:"working",covers:"pending",metadata:"pending"},error:null,finishedAt:null}),await s(),await n({steps:{index:"done"},currentTask:"Extracting covers",status:"working"}),await o(),await n({steps:{covers:"done"},currentTask:"Extracting metadata",status:"working"}),e=Date.now()-r,await l(),await n({steps:{metadata:"done"},status:"done",currentTask:null,finishedAt:new Date().toISOString()}),(0,u.log)({event:"Library scan completed",category:"LIBRARY",duration:e,meta:{result:"success",steps:["index","covers","metadata"]}})}catch(t){console.error("Error general en mainJob:",t),await n({status:"error",error:t.message||"Error desconocido",currentTask:null,finishedAt:new Date().toISOString()}),(0,u.log)({event:"Library scan failed",category:"LIBRARY",duration:e,meta:{result:"error",message:t.message||"Error desconocido"}})}}e.s(["mainJob",0,c],66790)},21491,e=>e.a(async(t,a)=>{try{var r=e.i(26631),n=e.i(73099),i=e.i(66790),s=e.i(50377),o=e.i(24868),l=e.i(14747),u=e.i(96524),d=e.i(7782),c=e.i(28427),p=e.i(20549),f=t([n,p]);[n,p]=f.then?(await f)():f;let g=l.default.resolve(process.cwd(),"../library/manga"),y=process.env.LIB_PROVIDER||"local",v=l.default.join(process.cwd(),"tmp","checksum-status.json"),R=[".cbz",".zip",".cbr",".rar"];async function h(){let e=[];if(await o.default.mkdir(l.default.dirname(v),{recursive:!0}),"cloud"===y){let t="library/manga/",a=new u.ListObjectsV2Command({Bucket:c.R2_BUCKET,Prefix:t}),r=await c.default.send(a),n=new Map,i=new Set,s=new Set;if(r.Contents){for(let e of r.Contents){let a=e.Key.replace(t,"").split("/");if(a.length<2)continue;let r=`/${l.default.dirname(e.Key)}`,o=a[a.length-1],u=l.default.extname(o).toLowerCase();n.has(r)||n.set(r,{volumeFiles:[],txtFiles:[]}),R.includes(u)?(n.get(r).volumeFiles.push({name:o,fullPath:`/${e.Key}`}),i.add(`/${e.Key}`)):o.endsWith(".txt")&&(n.get(r).txtFiles.push({key:e.Key,path:`/${e.Key}`,name:o}),s.add(`/${e.Key}`))}for(let[,t]of n)if(0!==t.volumeFiles.length)if(0===t.txtFiles.length)for(let a of t.volumeFiles)e.push(a.fullPath);else{let a=new Map;for(let e of t.txtFiles){let t=l.default.parse(e.name).name;a.set(t,e)}for(let r of t.volumeFiles){let t=l.default.parse(r.name).name,n=a.get(t);if(!n){e.push(r.fullPath);continue}let i=new u.GetObjectCommand({Bucket:c.R2_BUCKET,Key:n.key}),s=await (0,d.getSignedUrl)(c.default,i,{expiresIn:300}),o=await fetch(s);if(!o.ok){e.push(r.fullPath);continue}let f=(await o.text()).trim(),h=await (0,p.findFileChecksumRecord)(n.path);h&&h.checksum===f||e.push(r.fullPath)}}}let o=await (0,p.listAllVolumePaths)(),f=new Set;for(let e of o)if(!i.has(e.fullPath)){await (0,p.deleteVolumeByFullPath)(e.fullPath),e.seriesId&&f.add(e.seriesId);let t=e.fullPath.replace(/\.(cbz|zip|cbr|rar)$/i,".txt");await (0,p.deleteFileChecksumsByPaths)([t])}for(let e of f){let t=await (0,p.countVolumesBySeriesId)(e);0===t&&await (0,p.deleteSeriesById)(e)}for(let e of(await (0,p.listAllChecksumPaths)()))e&&!s.has(e)&&await (0,p.deleteFileChecksumsByPaths)([e])}else{let t=await o.default.readdir(g,{withFileTypes:!0}),a=new Set,r=new Set;for(let n of t){if(!n.isDirectory())continue;let t=l.default.join(g,n.name),i=await o.default.readdir(t),s=i.filter(e=>R.includes(l.default.extname(e).toLowerCase()));if(0===s.length)continue;let u=i.filter(e=>e.endsWith(".txt"));for(let e of s)a.add(l.default.join(t,e));for(let e of u)r.add(l.default.join(t,e));if(0===u.length)for(let a of s)e.push(l.default.join(t,a));else{let a=new Map;for(let e of u){let t=l.default.parse(e).name;a.set(t,e)}for(let r of s){let n=l.default.join(t,r),i=l.default.parse(r).name,s=a.get(i);if(!s){e.push(n);continue}let u=l.default.join(t,s),d=(await o.default.readFile(u,"utf-8")).trim(),c=await (0,p.findFileChecksumRecord)(u);c&&c.checksum===d||e.push(n)}}}let n=await (0,p.listAllVolumePaths)(),i=new Set;for(let e of n)if(!a.has(e.fullPath)){await (0,p.deleteVolumeByFullPath)(e.fullPath),e.seriesId&&i.add(e.seriesId);let t=e.fullPath.replace(/\.(cbz|zip|cbr|rar)$/i,".txt");await (0,p.deleteFileChecksumsByPaths)([t])}for(let e of i){let t=await (0,p.countVolumesBySeriesId)(e);0===t&&await (0,p.deleteSeriesById)(e)}for(let e of(await (0,p.listAllChecksumPaths)()))e&&!r.has(e)&&await (0,p.deleteFileChecksumsByPaths)([e])}return await (0,p.cleanupOrphanedGenresAndTags)(),await o.default.writeFile(v,JSON.stringify({filesToIndex:e,timestamp:new Date().toISOString()},null,2),"utf-8"),e.length}async function m(){await h(),await (0,i.mainJob)(),await o.default.writeFile(v,JSON.stringify({filesToIndex:[],timestamp:new Date().toISOString()},null,2),"utf-8")}async function w(){let e;try{let e=await (0,n.verifySession)();if(!e)return r.NextResponse.json({error:"Unauthorized"},{status:401});if(!e.isAdmin)return r.NextResponse.json({error:"Forbidden"},{status:403});return await m(),(0,s.log)({event:"Library scan completed",category:"LIBRARY",meta:{username:e?.username??null,isAdmin:e?.isAdmin??!1}}),r.NextResponse.json({ok:!0,message:"Escaneo completado exitosamente"},{status:200})}catch(t){e=t}finally{if(e)return console.error("Error al ejecutar el escaneo:",e),r.NextResponse.json({ok:!1,error:"Error al ejecutar el escaneo"},{status:500})}}e.s(["POST",0,w]),a()}catch(e){a(e)}},!1),33173,e=>e.a(async(t,a)=>{try{var r=e.i(81541),n=e.i(29879),i=e.i(7972),s=e.i(36043),o=e.i(49762),l=e.i(67882),u=e.i(41081),d=e.i(89819),c=e.i(43460),p=e.i(6359),f=e.i(26260),h=e.i(65708),m=e.i(24135),w=e.i(5316),g=e.i(89554),y=e.i(93695);e.i(16754);var v=e.i(75142),R=e.i(21491),x=t([R]);[R]=x.then?(await x)():x;let C=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/admin/scan-manga/start/route",pathname:"/api/admin/scan-manga/start",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/admin/scan-manga/start/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:k,workUnitAsyncStorage:P,serverHooks:S}=C;async function E(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),C.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/admin/scan-manga/start/route";r=r.replace(/\/index$/,"")||"/";let i=await C.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,deploymentId:x,params:E,nextConfig:k,parsedUrl:P,isDraftMode:S,prerenderManifest:b,routerServerContext:A,isOnDemandRevalidate:T,revalidateOnlyGenerated:I,resolvedPathname:O,clientReferenceManifest:N,serverActionsManifest:_}=i,F=(0,u.normalizeAppPath)(r),$=!!(b.dynamicRoutes[F]||b.routes[O]),j=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,P,!1):t.end("This page could not be found"),null);if($&&!S){let e=!!b.routes[O],t=b.dynamicRoutes[F];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await j();throw new y.NoFallbackError}}let B=null;!$||C.isDev||S||(B=O,B="/index"===B?"/":B);let M=!0===C.isDev||!$,U=$&&!M;_&&N&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:N,serverActionsManifest:_});let D=e.method||"GET",L=(0,o.getTracer)(),q=L.getActiveScopeSpan(),K=!!(null==A?void 0:A.isWrappedByNextServer),H=!!(0,s.getRequestMeta)(e,"minimalMode"),V=(0,s.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,k,b,H);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let J={params:E,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:M,incrementalCache:V,cacheLifeProfiles:k.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>C.onRequestError(e,t,r,n,A)},sharedContext:{buildId:R,deploymentId:x}},z=new d.NodeNextRequest(e),G=new d.NodeNextResponse(t),W=c.NextRequestAdapter.fromNodeNextRequest(z,(0,c.signalFromNodeResponse)(t));try{let i,s=async e=>C.handle(W,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=L.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",n),i.updateName(t))}else e.updateName(`${D} ${r}`)}),l=async i=>{var o,l;let u=async({previousCacheEntry:n})=>{try{if(!H&&T&&I&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await s(i);e.fetchMetrics=J.renderOpts.fetchMetrics;let o=J.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=J.renderOpts.collectedTags;if(!$)return await (0,h.sendResponse)(z,G,r,J.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(r.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,n=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,A),t}},d=await C.handleResponse({req:e,nextConfig:k,cacheKey:B,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:I,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:H});if(!$)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});H||t.setHeader("x-nextjs-cache",T?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return H&&$||c.delete(g.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,w.getCacheControlHeader)(d.cacheControl)),await (0,h.sendResponse)(z,G,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};K&&q?await l(q):(i=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},l),void 0,!K))}catch(t){if(t instanceof y.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:F,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,A),$)throw t;return await (0,h.sendResponse)(z,G,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:P})},"routeModule",0,C,"serverHooks",0,S,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,P]),a()}catch(e){a(e)}},!1)];
|
|
1
|
+
module.exports=[66790,e=>{"use strict";var t=e.i(14747),a=e.i(24868);let r=t.default.join(process.cwd(),"tmp","scan-status.json");async function n(e){let t={};try{let e=await a.default.readFile(r,"utf-8");t=JSON.parse(e)}catch{t={}}let n={...t,...e,steps:{...t.steps,...e.steps}};await a.default.writeFile(r,JSON.stringify(n,null,2),"utf-8")}var i=e.i(90833);async function s(){try{await n({steps:{index:"running"}});let e=await (0,i.cookies)(),t=e.get("yomimono_key")?.value;if(!t)throw Error("No hay token de sesión disponible");let a=process.env.SITE_URL??`http://localhost:${process.env.PORT??"3060"}`,r=await fetch(`${a}/api/admin/scan-manga/index-library`,{method:"POST",headers:{Cookie:`yomimono_key=${t}`}});if(!r.ok)throw Error(`indexLibrary API responded with status ${r.status}`);await n({steps:{index:"done"}})}catch(e){console.error("Error en indexVolumesJob:",e),await n({steps:{index:"error"}})}}async function o(){try{await n({steps:{extractCover:"running"}});let e=await (0,i.cookies)(),t=e.get("yomimono_key")?.value;if(!t)throw Error("No hay token de sesión disponible");let a=process.env.SITE_URL??`http://localhost:${process.env.PORT??"3060"}`,r=await fetch(`${a}/api/admin/scan-manga/extract-cover`,{method:"POST",headers:{Cookie:`yomimono_key=${t}`}});if(!r.ok)throw Error(`extractCover API responded with status ${r.status}`);await n({steps:{extractCover:"done"}})}catch(e){console.error("Error en extractCoverJob:",e),await n({steps:{extractCover:"error"}})}}async function l(){try{await n({steps:{extractMeta:"running"}});let e=await (0,i.cookies)(),t=e.get("yomimono_key")?.value;if(!t)throw Error("No hay token de sesión disponible");let a=process.env.SITE_URL??`http://localhost:${process.env.PORT??"3060"}`,r=await fetch(`${a}/api/admin/scan-manga/extract-meta`,{method:"POST",headers:{Cookie:`yomimono_key=${t}`}});if(!r.ok)throw Error(`extractMeta API responded with status ${r.status}`);await n({steps:{extractMeta:"done"}})}catch(e){console.error("Error en extractMetadataJob:",e),await n({steps:{extractMeta:"error"}})}}var u=e.i(50377);let d=t.default.join(process.cwd(),"tmp","scan-status.json");async function c(){let e=0;try{await a.default.mkdir(t.default.dirname(d),{recursive:!0});let r=Date.now(),i=new Date().toISOString();await n({startedAt:i,status:"working",currentTask:"Indexing volumes",steps:{index:"working",covers:"pending",metadata:"pending"},error:null,finishedAt:null}),await s(),await n({steps:{index:"done"},currentTask:"Extracting covers",status:"working"}),await o(),await n({steps:{covers:"done"},currentTask:"Extracting metadata",status:"working"}),e=Date.now()-r,await l(),await n({steps:{metadata:"done"},status:"done",currentTask:null,finishedAt:new Date().toISOString()}),(0,u.log)({event:"Library scan completed",category:"LIBRARY",duration:e,meta:{result:"success",steps:["index","covers","metadata"]}})}catch(t){console.error("Error general en mainJob:",t),await n({status:"error",error:t.message||"Error desconocido",currentTask:null,finishedAt:new Date().toISOString()}),(0,u.log)({event:"Library scan failed",category:"LIBRARY",duration:e,meta:{result:"error",message:t.message||"Error desconocido"}})}}e.s(["mainJob",0,c],66790)},21491,e=>e.a(async(t,a)=>{try{var r=e.i(26631),n=e.i(73099),i=e.i(66790),s=e.i(50377),o=e.i(1759),l=e.i(24868),u=e.i(14747),d=e.i(96524),c=e.i(7782),p=e.i(28427),f=e.i(20549),h=t([n,f]);[n,f]=h.then?(await h)():h;let y=u.default.resolve(process.cwd(),"../library/manga"),v=process.env.LIB_PROVIDER||"local",R=u.default.join(process.cwd(),"tmp","checksum-status.json"),x=[".cbz",".zip",".cbr",".rar"];async function m(){let e=[];if(await l.default.mkdir(u.default.dirname(R),{recursive:!0}),"cloud"===v){let t="library/manga/",a=new d.ListObjectsV2Command({Bucket:p.R2_BUCKET,Prefix:t}),r=await p.default.send(a),n=new Map,i=new Set,s=new Set;if(r.Contents){for(let e of r.Contents){let a=e.Key.replace(t,"").split("/");if(a.length<2)continue;let r=`/${u.default.dirname(e.Key)}`,o=a[a.length-1],l=u.default.extname(o).toLowerCase();n.has(r)||n.set(r,{volumeFiles:[],txtFiles:[]}),x.includes(l)?(n.get(r).volumeFiles.push({name:o,fullPath:`/${e.Key}`}),i.add(`/${e.Key}`)):o.endsWith(".txt")&&(n.get(r).txtFiles.push({key:e.Key,path:`/${e.Key}`,name:o}),s.add(`/${e.Key}`))}for(let[,t]of n)if(0!==t.volumeFiles.length)if(0===t.txtFiles.length)for(let a of t.volumeFiles)e.push(a.fullPath);else{let a=new Map;for(let e of t.txtFiles){let t=u.default.parse(e.name).name;a.set(t,e)}for(let r of t.volumeFiles){let t=u.default.parse(r.name).name,n=a.get(t);if(!n){e.push(r.fullPath);continue}let i=new d.GetObjectCommand({Bucket:p.R2_BUCKET,Key:n.key}),s=await (0,c.getSignedUrl)(p.default,i,{expiresIn:300}),o=await fetch(s);if(!o.ok){e.push(r.fullPath);continue}let l=(await o.text()).trim(),h=await (0,f.findFileChecksumRecord)(n.path);h&&h.checksum===l||e.push(r.fullPath)}}}let o=await (0,f.listAllVolumePaths)(),l=new Set;for(let e of o)if(!i.has(e.fullPath)){await (0,f.deleteVolumeByFullPath)(e.fullPath),e.seriesId&&l.add(e.seriesId);let t=e.fullPath.replace(/\.(cbz|zip|cbr|rar)$/i,".txt");await (0,f.deleteFileChecksumsByPaths)([t])}for(let e of l){let t=await (0,f.countVolumesBySeriesId)(e);0===t&&await (0,f.deleteSeriesById)(e)}for(let e of(await (0,f.listAllChecksumPaths)()))e&&!s.has(e)&&await (0,f.deleteFileChecksumsByPaths)([e])}else{let t=await l.default.readdir(y,{withFileTypes:!0}),a=new Set,r=new Set;for(let n of t){if(!n.isDirectory())continue;let t=u.default.join(y,n.name),i=await l.default.readdir(t),s=i.filter(e=>x.includes(u.default.extname(e).toLowerCase()));if(0===s.length)continue;let o=i.filter(e=>e.endsWith(".txt"));for(let e of s)a.add(u.default.join(t,e));for(let e of o)r.add(u.default.join(t,e));if(0===o.length)for(let a of s)e.push(u.default.join(t,a));else{let a=new Map;for(let e of o){let t=u.default.parse(e).name;a.set(t,e)}for(let r of s){let n=u.default.join(t,r),i=u.default.parse(r).name,s=a.get(i);if(!s){e.push(n);continue}let o=u.default.join(t,s),d=(await l.default.readFile(o,"utf-8")).trim(),c=await (0,f.findFileChecksumRecord)(o);c&&c.checksum===d||e.push(n)}}}let n=await (0,f.listAllVolumePaths)(),i=new Set;for(let e of n)if(!a.has(e.fullPath)){await (0,f.deleteVolumeByFullPath)(e.fullPath),e.seriesId&&i.add(e.seriesId);let t=e.fullPath.replace(/\.(cbz|zip|cbr|rar)$/i,".txt");await (0,f.deleteFileChecksumsByPaths)([t])}for(let e of i){let t=await (0,f.countVolumesBySeriesId)(e);0===t&&await (0,f.deleteSeriesById)(e)}for(let e of(await (0,f.listAllChecksumPaths)()))e&&!r.has(e)&&await (0,f.deleteFileChecksumsByPaths)([e])}return await (0,f.cleanupOrphanedGenresAndTags)(),await l.default.writeFile(R,JSON.stringify({filesToIndex:e,timestamp:new Date().toISOString()},null,2),"utf-8"),e.length}async function w(){await m(),await (0,i.mainJob)(),await l.default.writeFile(R,JSON.stringify({filesToIndex:[],timestamp:new Date().toISOString()},null,2),"utf-8")}async function g(){let e;try{let e=await (0,n.verifySession)();if(!e)return r.NextResponse.json({error:"Unauthorized"},{status:401});if(!e.isAdmin)return r.NextResponse.json({error:"Forbidden"},{status:403});return await w(),(0,o.revalidateMangaLibraryCache)(),(0,s.log)({event:"Library scan completed",category:"LIBRARY",meta:{username:e?.username??null,isAdmin:e?.isAdmin??!1}}),r.NextResponse.json({ok:!0,message:"Escaneo completado exitosamente"},{status:200})}catch(t){e=t}finally{if(e)return console.error("Error al ejecutar el escaneo:",e),r.NextResponse.json({ok:!1,error:"Error al ejecutar el escaneo"},{status:500})}}e.s(["POST",0,g]),a()}catch(e){a(e)}},!1),33173,e=>e.a(async(t,a)=>{try{var r=e.i(81541),n=e.i(29879),i=e.i(7972),s=e.i(36043),o=e.i(49762),l=e.i(67882),u=e.i(41081),d=e.i(89819),c=e.i(43460),p=e.i(6359),f=e.i(26260),h=e.i(65708),m=e.i(24135),w=e.i(5316),g=e.i(89554),y=e.i(93695);e.i(16754);var v=e.i(75142),R=e.i(21491),x=t([R]);[R]=x.then?(await x)():x;let C=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/admin/scan-manga/start/route",pathname:"/api/admin/scan-manga/start",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/admin/scan-manga/start/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:k,workUnitAsyncStorage:P,serverHooks:S}=C;async function E(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),C.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/admin/scan-manga/start/route";r=r.replace(/\/index$/,"")||"/";let i=await C.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,deploymentId:x,params:E,nextConfig:k,parsedUrl:P,isDraftMode:S,prerenderManifest:b,routerServerContext:A,isOnDemandRevalidate:T,revalidateOnlyGenerated:I,resolvedPathname:O,clientReferenceManifest:N,serverActionsManifest:_}=i,F=(0,u.normalizeAppPath)(r),$=!!(b.dynamicRoutes[F]||b.routes[O]),j=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,P,!1):t.end("This page could not be found"),null);if($&&!S){let e=!!b.routes[O],t=b.dynamicRoutes[F];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await j();throw new y.NoFallbackError}}let B=null;!$||C.isDev||S||(B=O,B="/index"===B?"/":B);let M=!0===C.isDev||!$,U=$&&!M;_&&N&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:N,serverActionsManifest:_});let D=e.method||"GET",L=(0,o.getTracer)(),q=L.getActiveScopeSpan(),K=!!(null==A?void 0:A.isWrappedByNextServer),H=!!(0,s.getRequestMeta)(e,"minimalMode"),V=(0,s.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,k,b,H);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let J={params:E,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:M,incrementalCache:V,cacheLifeProfiles:k.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>C.onRequestError(e,t,r,n,A)},sharedContext:{buildId:R,deploymentId:x}},z=new d.NodeNextRequest(e),G=new d.NodeNextResponse(t),W=c.NextRequestAdapter.fromNodeNextRequest(z,(0,c.signalFromNodeResponse)(t));try{let i,s=async e=>C.handle(W,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=L.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",n),i.updateName(t))}else e.updateName(`${D} ${r}`)}),l=async i=>{var o,l;let u=async({previousCacheEntry:n})=>{try{if(!H&&T&&I&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await s(i);e.fetchMetrics=J.renderOpts.fetchMetrics;let o=J.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=J.renderOpts.collectedTags;if(!$)return await (0,h.sendResponse)(z,G,r,J.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(r.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,n=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,A),t}},d=await C.handleResponse({req:e,nextConfig:k,cacheKey:B,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:I,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:H});if(!$)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});H||t.setHeader("x-nextjs-cache",T?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return H&&$||c.delete(g.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,w.getCacheControlHeader)(d.cacheControl)),await (0,h.sendResponse)(z,G,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};K&&q?await l(q):(i=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},l),void 0,!K))}catch(t){if(t instanceof y.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:F,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,A),$)throw t;return await (0,h.sendResponse)(z,G,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:P})},"routeModule",0,C,"serverHooks",0,S,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,P]),a()}catch(e){a(e)}},!1)];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_107a6s1._.js.map
|