module.exports = [ "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/module.compiled.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable ; else { if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable ; else { if ("TURBOPACK compile-time truthy", 1) { if ("TURBOPACK compile-time truthy", 1) { module.exports = __turbopack_context__.r("[externals]/next/dist/compiled/next-server/app-page-turbo.runtime.dev.js [external] (next/dist/compiled/next-server/app-page-turbo.runtime.dev.js, cjs)"); } else //TURBOPACK unreachable ; } else //TURBOPACK unreachable ; } } //# sourceMappingURL=module.compiled.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; module.exports = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/module.compiled.js [app-ssr] (ecmascript)").vendored['react-ssr'].React; //# sourceMappingURL=react.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interop_require_wildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) return obj; if (obj === null || typeof obj !== "object" && typeof obj !== "function") return { default: obj }; var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) return cache.get(obj); var newObj = { __proto__: null }; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for(var key in obj){ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc); else newObj[key] = obj[key]; } } newObj.default = obj; if (cache) cache.set(obj, newObj); return newObj; } exports._ = _interop_require_wildcard; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; module.exports = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/module.compiled.js [app-ssr] (ecmascript)").vendored['contexts'].AppRouterContext; //# sourceMappingURL=app-router-context.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; module.exports = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/module.compiled.js [app-ssr] (ecmascript)").vendored['contexts'].HooksClientContext; //# sourceMappingURL=hooks-client-context.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/segment.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { DEFAULT_SEGMENT_KEY: null, PAGE_SEGMENT_KEY: null, addSearchParamsIfPageSegment: null, computeSelectedLayoutSegment: null, getSegmentValue: null, getSelectedLayoutSegmentPath: null, isGroupSegment: null, isParallelRouteSegment: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { DEFAULT_SEGMENT_KEY: function() { return DEFAULT_SEGMENT_KEY; }, PAGE_SEGMENT_KEY: function() { return PAGE_SEGMENT_KEY; }, addSearchParamsIfPageSegment: function() { return addSearchParamsIfPageSegment; }, computeSelectedLayoutSegment: function() { return computeSelectedLayoutSegment; }, getSegmentValue: function() { return getSegmentValue; }, getSelectedLayoutSegmentPath: function() { return getSelectedLayoutSegmentPath; }, isGroupSegment: function() { return isGroupSegment; }, isParallelRouteSegment: function() { return isParallelRouteSegment; } }); function getSegmentValue(segment) { return Array.isArray(segment) ? segment[1] : segment; } function isGroupSegment(segment) { // Use array[0] for performant purpose return segment[0] === '(' && segment.endsWith(')'); } function isParallelRouteSegment(segment) { return segment.startsWith('@') && segment !== '@children'; } function addSearchParamsIfPageSegment(segment, searchParams) { const isPageSegment = segment.includes(PAGE_SEGMENT_KEY); if (isPageSegment) { const stringifiedQuery = JSON.stringify(searchParams); return stringifiedQuery !== '{}' ? PAGE_SEGMENT_KEY + '?' + stringifiedQuery : PAGE_SEGMENT_KEY; } return segment; } function computeSelectedLayoutSegment(segments, parallelRouteKey) { if (!segments || segments.length === 0) { return null; } // For 'children', use first segment; for other parallel routes, use last segment const rawSegment = parallelRouteKey === 'children' ? segments[0] : segments[segments.length - 1]; // If the default slot is showing, return null since it's not technically "selected" (it's a fallback) // Returning an internal value like `__DEFAULT__` would be confusing return rawSegment === DEFAULT_SEGMENT_KEY ? null : rawSegment; } function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first = true, segmentPath = []) { let node; if (first) { // Use the provided parallel route key on the first parallel route node = tree[1][parallelRouteKey]; } else { // After first parallel route prefer children, if there's no children pick the first parallel route. const parallelRoutes = tree[1]; node = parallelRoutes.children ?? Object.values(parallelRoutes)[0]; } if (!node) return segmentPath; const segment = node[0]; let segmentValue = getSegmentValue(segment); if (!segmentValue || segmentValue.startsWith(PAGE_SEGMENT_KEY)) { return segmentPath; } segmentPath.push(segmentValue); return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath); } const PAGE_SEGMENT_KEY = '__PAGE__'; const DEFAULT_SEGMENT_KEY = '__DEFAULT__'; //# sourceMappingURL=segment.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/readonly-url-search-params.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; /** * ReadonlyURLSearchParams implementation shared between client and server. * This file is intentionally not marked as 'use client' or 'use server' * so it can be imported by both environments. */ /** @internal */ Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "ReadonlyURLSearchParams", { enumerable: true, get: function() { return ReadonlyURLSearchParams; } }); class ReadonlyURLSearchParamsError extends Error { constructor(){ super('Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams'); } } class ReadonlyURLSearchParams extends URLSearchParams { /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ append() { throw new ReadonlyURLSearchParamsError(); } /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ delete() { throw new ReadonlyURLSearchParamsError(); } /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ set() { throw new ReadonlyURLSearchParamsError(); } /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ sort() { throw new ReadonlyURLSearchParamsError(); } } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=readonly-url-search-params.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; module.exports = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/module.compiled.js [app-ssr] (ecmascript)").vendored['contexts'].ServerInsertedHtml; //# sourceMappingURL=server-inserted-html.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unrecognized-action-error.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { UnrecognizedActionError: null, unstable_isUnrecognizedActionError: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { UnrecognizedActionError: function() { return UnrecognizedActionError; }, unstable_isUnrecognizedActionError: function() { return unstable_isUnrecognizedActionError; } }); class UnrecognizedActionError extends Error { constructor(...args){ super(...args); this.name = 'UnrecognizedActionError'; } } function unstable_isUnrecognizedActionError(error) { return !!(error && typeof error === 'object' && error instanceof UnrecognizedActionError); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=unrecognized-action-error.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/redirect-status-code.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "RedirectStatusCode", { enumerable: true, get: function() { return RedirectStatusCode; } }); var RedirectStatusCode = /*#__PURE__*/ function(RedirectStatusCode) { RedirectStatusCode[RedirectStatusCode["SeeOther"] = 303] = "SeeOther"; RedirectStatusCode[RedirectStatusCode["TemporaryRedirect"] = 307] = "TemporaryRedirect"; RedirectStatusCode[RedirectStatusCode["PermanentRedirect"] = 308] = "PermanentRedirect"; return RedirectStatusCode; }({}); if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=redirect-status-code.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/redirect-error.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { REDIRECT_ERROR_CODE: null, RedirectType: null, isRedirectError: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { REDIRECT_ERROR_CODE: function() { return REDIRECT_ERROR_CODE; }, RedirectType: function() { return RedirectType; }, isRedirectError: function() { return isRedirectError; } }); const _redirectstatuscode = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/redirect-status-code.js [app-ssr] (ecmascript)"); const REDIRECT_ERROR_CODE = 'NEXT_REDIRECT'; var RedirectType = /*#__PURE__*/ function(RedirectType) { RedirectType["push"] = "push"; RedirectType["replace"] = "replace"; return RedirectType; }({}); function isRedirectError(error) { if (typeof error !== 'object' || error === null || !('digest' in error) || typeof error.digest !== 'string') { return false; } const digest = error.digest.split(';'); const [errorCode, type] = digest; const destination = digest.slice(2, -2).join(';'); const status = digest.at(-2); const statusCode = Number(status); return errorCode === REDIRECT_ERROR_CODE && (type === 'replace' || type === 'push') && typeof destination === 'string' && !isNaN(statusCode) && statusCode in _redirectstatuscode.RedirectStatusCode; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=redirect-error.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/redirect.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { getRedirectError: null, getRedirectStatusCodeFromError: null, getRedirectTypeFromError: null, getURLFromRedirectError: null, permanentRedirect: null, redirect: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { getRedirectError: function() { return getRedirectError; }, getRedirectStatusCodeFromError: function() { return getRedirectStatusCodeFromError; }, getRedirectTypeFromError: function() { return getRedirectTypeFromError; }, getURLFromRedirectError: function() { return getURLFromRedirectError; }, permanentRedirect: function() { return permanentRedirect; }, redirect: function() { return redirect; } }); const _redirectstatuscode = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/redirect-status-code.js [app-ssr] (ecmascript)"); const _redirecterror = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/redirect-error.js [app-ssr] (ecmascript)"); const actionAsyncStorage = ("TURBOPACK compile-time truthy", 1) ? __turbopack_context__.r("[externals]/next/dist/server/app-render/action-async-storage.external.js [external] (next/dist/server/app-render/action-async-storage.external.js, cjs)").actionAsyncStorage : "TURBOPACK unreachable"; function getRedirectError(url, type, statusCode = _redirectstatuscode.RedirectStatusCode.TemporaryRedirect) { const error = Object.defineProperty(new Error(_redirecterror.REDIRECT_ERROR_CODE), "__NEXT_ERROR_CODE", { value: "E394", enumerable: false, configurable: true }); error.digest = `${_redirecterror.REDIRECT_ERROR_CODE};${type};${url};${statusCode};`; return error; } function redirect(/** The URL to redirect to */ url, type) { type ??= actionAsyncStorage?.getStore()?.isAction ? _redirecterror.RedirectType.push : _redirecterror.RedirectType.replace; throw getRedirectError(url, type, _redirectstatuscode.RedirectStatusCode.TemporaryRedirect); } function permanentRedirect(/** The URL to redirect to */ url, type = _redirecterror.RedirectType.replace) { throw getRedirectError(url, type, _redirectstatuscode.RedirectStatusCode.PermanentRedirect); } function getURLFromRedirectError(error) { if (!(0, _redirecterror.isRedirectError)(error)) return null; // Slices off the beginning of the digest that contains the code and the // separating ';'. return error.digest.split(';').slice(2, -2).join(';'); } function getRedirectTypeFromError(error) { if (!(0, _redirecterror.isRedirectError)(error)) { throw Object.defineProperty(new Error('Not a redirect error'), "__NEXT_ERROR_CODE", { value: "E260", enumerable: false, configurable: true }); } return error.digest.split(';', 2)[1]; } function getRedirectStatusCodeFromError(error) { if (!(0, _redirecterror.isRedirectError)(error)) { throw Object.defineProperty(new Error('Not a redirect error'), "__NEXT_ERROR_CODE", { value: "E260", enumerable: false, configurable: true }); } return Number(error.digest.split(';').at(-2)); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=redirect.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { HTTPAccessErrorStatus: null, HTTP_ERROR_FALLBACK_ERROR_CODE: null, getAccessFallbackErrorTypeByStatus: null, getAccessFallbackHTTPStatus: null, isHTTPAccessFallbackError: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { HTTPAccessErrorStatus: function() { return HTTPAccessErrorStatus; }, HTTP_ERROR_FALLBACK_ERROR_CODE: function() { return HTTP_ERROR_FALLBACK_ERROR_CODE; }, getAccessFallbackErrorTypeByStatus: function() { return getAccessFallbackErrorTypeByStatus; }, getAccessFallbackHTTPStatus: function() { return getAccessFallbackHTTPStatus; }, isHTTPAccessFallbackError: function() { return isHTTPAccessFallbackError; } }); const HTTPAccessErrorStatus = { NOT_FOUND: 404, FORBIDDEN: 403, UNAUTHORIZED: 401 }; const ALLOWED_CODES = new Set(Object.values(HTTPAccessErrorStatus)); const HTTP_ERROR_FALLBACK_ERROR_CODE = 'NEXT_HTTP_ERROR_FALLBACK'; function isHTTPAccessFallbackError(error) { if (typeof error !== 'object' || error === null || !('digest' in error) || typeof error.digest !== 'string') { return false; } const [prefix, httpStatus] = error.digest.split(';'); return prefix === HTTP_ERROR_FALLBACK_ERROR_CODE && ALLOWED_CODES.has(Number(httpStatus)); } function getAccessFallbackHTTPStatus(error) { const httpStatus = error.digest.split(';')[1]; return Number(httpStatus); } function getAccessFallbackErrorTypeByStatus(status) { switch(status){ case 401: return 'unauthorized'; case 403: return 'forbidden'; case 404: return 'not-found'; default: return; } } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=http-access-fallback.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/not-found.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "notFound", { enumerable: true, get: function() { return notFound; } }); const _httpaccessfallback = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js [app-ssr] (ecmascript)"); /** * This function allows you to render the [not-found.js file](https://nextjs.org/docs/app/api-reference/file-conventions/not-found) * within a route segment as well as inject a tag. * * `notFound()` can be used in * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components), * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations). * * - In a Server Component, this will insert a `` meta tag and set the status code to 404. * - In a Route Handler or Server Action, it will serve a 404 to the caller. * * Read more: [Next.js Docs: `notFound`](https://nextjs.org/docs/app/api-reference/functions/not-found) */ const DIGEST = `${_httpaccessfallback.HTTP_ERROR_FALLBACK_ERROR_CODE};404`; function notFound() { const error = Object.defineProperty(new Error(DIGEST), "__NEXT_ERROR_CODE", { value: "E394", enumerable: false, configurable: true }); error.digest = DIGEST; throw error; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=not-found.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/forbidden.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "forbidden", { enumerable: true, get: function() { return forbidden; } }); const _httpaccessfallback = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js [app-ssr] (ecmascript)"); // TODO: Add `forbidden` docs /** * @experimental * This function allows you to render the [forbidden.js file](https://nextjs.org/docs/app/api-reference/file-conventions/forbidden) * within a route segment as well as inject a tag. * * `forbidden()` can be used in * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components), * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations). * * Read more: [Next.js Docs: `forbidden`](https://nextjs.org/docs/app/api-reference/functions/forbidden) */ const DIGEST = `${_httpaccessfallback.HTTP_ERROR_FALLBACK_ERROR_CODE};403`; function forbidden() { if ("TURBOPACK compile-time truthy", 1) { throw Object.defineProperty(new Error(`\`forbidden()\` is experimental and only allowed to be enabled when \`experimental.authInterrupts\` is enabled.`), "__NEXT_ERROR_CODE", { value: "E488", enumerable: false, configurable: true }); } const error = Object.defineProperty(new Error(DIGEST), "__NEXT_ERROR_CODE", { value: "E394", enumerable: false, configurable: true }); error.digest = DIGEST; throw error; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=forbidden.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unauthorized.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "unauthorized", { enumerable: true, get: function() { return unauthorized; } }); const _httpaccessfallback = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js [app-ssr] (ecmascript)"); // TODO: Add `unauthorized` docs /** * @experimental * This function allows you to render the [unauthorized.js file](https://nextjs.org/docs/app/api-reference/file-conventions/unauthorized) * within a route segment as well as inject a tag. * * `unauthorized()` can be used in * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components), * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations). * * * Read more: [Next.js Docs: `unauthorized`](https://nextjs.org/docs/app/api-reference/functions/unauthorized) */ const DIGEST = `${_httpaccessfallback.HTTP_ERROR_FALLBACK_ERROR_CODE};401`; function unauthorized() { if ("TURBOPACK compile-time truthy", 1) { throw Object.defineProperty(new Error(`\`unauthorized()\` is experimental and only allowed to be used when \`experimental.authInterrupts\` is enabled.`), "__NEXT_ERROR_CODE", { value: "E411", enumerable: false, configurable: true }); } const error = Object.defineProperty(new Error(DIGEST), "__NEXT_ERROR_CODE", { value: "E394", enumerable: false, configurable: true }); error.digest = DIGEST; throw error; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=unauthorized.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/dynamic-rendering-utils.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { isHangingPromiseRejectionError: null, makeDevtoolsIOAwarePromise: null, makeHangingPromise: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { isHangingPromiseRejectionError: function() { return isHangingPromiseRejectionError; }, makeDevtoolsIOAwarePromise: function() { return makeDevtoolsIOAwarePromise; }, makeHangingPromise: function() { return makeHangingPromise; } }); function isHangingPromiseRejectionError(err) { if (typeof err !== 'object' || err === null || !('digest' in err)) { return false; } return err.digest === HANGING_PROMISE_REJECTION; } const HANGING_PROMISE_REJECTION = 'HANGING_PROMISE_REJECTION'; class HangingPromiseRejectionError extends Error { constructor(route, expression){ super(`During prerendering, ${expression} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${expression} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${route}".`), this.route = route, this.expression = expression, this.digest = HANGING_PROMISE_REJECTION; } } const abortListenersBySignal = new WeakMap(); function makeHangingPromise(signal, route, expression) { if (signal.aborted) { return Promise.reject(new HangingPromiseRejectionError(route, expression)); } else { const hangingPromise = new Promise((_, reject)=>{ const boundRejection = reject.bind(null, new HangingPromiseRejectionError(route, expression)); let currentListeners = abortListenersBySignal.get(signal); if (currentListeners) { currentListeners.push(boundRejection); } else { const listeners = [ boundRejection ]; abortListenersBySignal.set(signal, listeners); signal.addEventListener('abort', ()=>{ for(let i = 0; i < listeners.length; i++){ listeners[i](); } }, { once: true }); } }); // We are fine if no one actually awaits this promise. We shouldn't consider this an unhandled rejection so // we attach a noop catch handler here to suppress this warning. If you actually await somewhere or construct // your own promise out of it you'll need to ensure you handle the error when it rejects. hangingPromise.catch(ignoreReject); return hangingPromise; } } function ignoreReject() {} function makeDevtoolsIOAwarePromise(underlying, requestStore, stage) { if (requestStore.stagedRendering) { // We resolve each stage in a timeout, so React DevTools will pick this up as IO. return requestStore.stagedRendering.delayUntilStage(stage, undefined, underlying); } // in React DevTools if we resolve in a setTimeout we will observe // the promise resolution as something that can suspend a boundary or root. return new Promise((resolve)=>{ // Must use setTimeout to be considered IO React DevTools. setImmediate will not work. setTimeout(()=>{ resolve(underlying); }, 0); }); } //# sourceMappingURL=dynamic-rendering-utils.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/router-utils/is-postpone.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "isPostpone", { enumerable: true, get: function() { return isPostpone; } }); const REACT_POSTPONE_TYPE = Symbol.for('react.postpone'); function isPostpone(error) { return typeof error === 'object' && error !== null && error.$$typeof === REACT_POSTPONE_TYPE; } //# sourceMappingURL=is-postpone.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; // This has to be a shared module which is shared between client component error boundary and dynamic component Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { BailoutToCSRError: null, isBailoutToCSRError: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { BailoutToCSRError: function() { return BailoutToCSRError; }, isBailoutToCSRError: function() { return isBailoutToCSRError; } }); const BAILOUT_TO_CSR = 'BAILOUT_TO_CLIENT_SIDE_RENDERING'; class BailoutToCSRError extends Error { constructor(reason){ super(`Bail out to client-side rendering: ${reason}`), this.reason = reason, this.digest = BAILOUT_TO_CSR; } } function isBailoutToCSRError(err) { if (typeof err !== 'object' || err === null || !('digest' in err)) { return false; } return err.digest === BAILOUT_TO_CSR; } //# sourceMappingURL=bailout-to-csr.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/is-next-router-error.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "isNextRouterError", { enumerable: true, get: function() { return isNextRouterError; } }); const _httpaccessfallback = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js [app-ssr] (ecmascript)"); const _redirecterror = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/redirect-error.js [app-ssr] (ecmascript)"); function isNextRouterError(error) { return (0, _redirecterror.isRedirectError)(error) || (0, _httpaccessfallback.isHTTPAccessFallbackError)(error); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=is-next-router-error.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/hooks-server-context.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { DynamicServerError: null, isDynamicServerError: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { DynamicServerError: function() { return DynamicServerError; }, isDynamicServerError: function() { return isDynamicServerError; } }); const DYNAMIC_ERROR_CODE = 'DYNAMIC_SERVER_USAGE'; class DynamicServerError extends Error { constructor(description){ super(`Dynamic server usage: ${description}`), this.description = description, this.digest = DYNAMIC_ERROR_CODE; } } function isDynamicServerError(err) { if (typeof err !== 'object' || err === null || !('digest' in err) || typeof err.digest !== 'string') { return false; } return err.digest === DYNAMIC_ERROR_CODE; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=hooks-server-context.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/static-generation-bailout.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { StaticGenBailoutError: null, isStaticGenBailoutError: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { StaticGenBailoutError: function() { return StaticGenBailoutError; }, isStaticGenBailoutError: function() { return isStaticGenBailoutError; } }); const NEXT_STATIC_GEN_BAILOUT = 'NEXT_STATIC_GEN_BAILOUT'; class StaticGenBailoutError extends Error { constructor(...args){ super(...args), this.code = NEXT_STATIC_GEN_BAILOUT; } } function isStaticGenBailoutError(error) { if (typeof error !== 'object' || error === null || !('code' in error)) { return false; } return error.code === NEXT_STATIC_GEN_BAILOUT; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=static-generation-bailout.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/framework/boundary-constants.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { METADATA_BOUNDARY_NAME: null, OUTLET_BOUNDARY_NAME: null, ROOT_LAYOUT_BOUNDARY_NAME: null, VIEWPORT_BOUNDARY_NAME: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { METADATA_BOUNDARY_NAME: function() { return METADATA_BOUNDARY_NAME; }, OUTLET_BOUNDARY_NAME: function() { return OUTLET_BOUNDARY_NAME; }, ROOT_LAYOUT_BOUNDARY_NAME: function() { return ROOT_LAYOUT_BOUNDARY_NAME; }, VIEWPORT_BOUNDARY_NAME: function() { return VIEWPORT_BOUNDARY_NAME; } }); const METADATA_BOUNDARY_NAME = '__next_metadata_boundary__'; const VIEWPORT_BOUNDARY_NAME = '__next_viewport_boundary__'; const OUTLET_BOUNDARY_NAME = '__next_outlet_boundary__'; const ROOT_LAYOUT_BOUNDARY_NAME = '__next_root_layout_boundary__'; //# sourceMappingURL=boundary-constants.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/scheduler.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { atLeastOneTask: null, scheduleImmediate: null, scheduleOnNextTick: null, waitAtLeastOneReactRenderTask: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { atLeastOneTask: function() { return atLeastOneTask; }, scheduleImmediate: function() { return scheduleImmediate; }, scheduleOnNextTick: function() { return scheduleOnNextTick; }, waitAtLeastOneReactRenderTask: function() { return waitAtLeastOneReactRenderTask; } }); const scheduleOnNextTick = (cb)=>{ // We use Promise.resolve().then() here so that the operation is scheduled at // the end of the promise job queue, we then add it to the next process tick // to ensure it's evaluated afterwards. // // This was inspired by the implementation of the DataLoader interface: https://github.com/graphql/dataloader/blob/d336bd15282664e0be4b4a657cb796f09bafbc6b/src/index.js#L213-L255 // Promise.resolve().then(()=>{ if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable ; else { process.nextTick(cb); } }); }; const scheduleImmediate = (cb)=>{ if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable ; else { setImmediate(cb); } }; function atLeastOneTask() { return new Promise((resolve)=>scheduleImmediate(resolve)); } function waitAtLeastOneReactRenderTask() { if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable ; else { return new Promise((r)=>setImmediate(r)); } } //# sourceMappingURL=scheduler.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/invariant-error.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "InvariantError", { enumerable: true, get: function() { return InvariantError; } }); class InvariantError extends Error { constructor(message, options){ super(`Invariant: ${message.endsWith('.') ? message : message + '.'} This is a bug in Next.js.`, options); this.name = 'InvariantError'; } } //# sourceMappingURL=invariant-error.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/promise-with-resolvers.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "createPromiseWithResolvers", { enumerable: true, get: function() { return createPromiseWithResolvers; } }); function createPromiseWithResolvers() { // Shim of Stage 4 Promise.withResolvers proposal let resolve; let reject; const promise = new Promise((res, rej)=>{ resolve = res; reject = rej; }); return { resolve: resolve, reject: reject, promise }; } //# sourceMappingURL=promise-with-resolvers.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/staged-rendering.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { RenderStage: null, StagedRenderingController: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { RenderStage: function() { return RenderStage; }, StagedRenderingController: function() { return StagedRenderingController; } }); const _invarianterror = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/invariant-error.js [app-ssr] (ecmascript)"); const _promisewithresolvers = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/promise-with-resolvers.js [app-ssr] (ecmascript)"); var RenderStage = /*#__PURE__*/ function(RenderStage) { RenderStage[RenderStage["Static"] = 1] = "Static"; RenderStage[RenderStage["Runtime"] = 2] = "Runtime"; RenderStage[RenderStage["Dynamic"] = 3] = "Dynamic"; return RenderStage; }({}); class StagedRenderingController { constructor(abortSignal = null){ this.abortSignal = abortSignal; this.currentStage = 1; this.runtimeStagePromise = (0, _promisewithresolvers.createPromiseWithResolvers)(); this.dynamicStagePromise = (0, _promisewithresolvers.createPromiseWithResolvers)(); if (abortSignal) { abortSignal.addEventListener('abort', ()=>{ const { reason } = abortSignal; if (this.currentStage < 2) { this.runtimeStagePromise.promise.catch(ignoreReject) // avoid unhandled rejections ; this.runtimeStagePromise.reject(reason); } if (this.currentStage < 3) { this.dynamicStagePromise.promise.catch(ignoreReject) // avoid unhandled rejections ; this.dynamicStagePromise.reject(reason); } }, { once: true }); } } advanceStage(stage) { // If we're already at the target stage or beyond, do nothing. // (this can happen e.g. if sync IO advanced us to the dynamic stage) if (this.currentStage >= stage) { return; } this.currentStage = stage; // Note that we might be going directly from Static to Dynamic, // so we need to resolve the runtime stage as well. if (stage >= 2) { this.runtimeStagePromise.resolve(); } if (stage >= 3) { this.dynamicStagePromise.resolve(); } } getStagePromise(stage) { switch(stage){ case 2: { return this.runtimeStagePromise.promise; } case 3: { return this.dynamicStagePromise.promise; } default: { stage; throw Object.defineProperty(new _invarianterror.InvariantError(`Invalid render stage: ${stage}`), "__NEXT_ERROR_CODE", { value: "E881", enumerable: false, configurable: true }); } } } waitForStage(stage) { return this.getStagePromise(stage); } delayUntilStage(stage, displayName, resolvedValue) { const ioTriggerPromise = this.getStagePromise(stage); const promise = makeDevtoolsIOPromiseFromIOTrigger(ioTriggerPromise, displayName, resolvedValue); // Analogously to `makeHangingPromise`, we might reject this promise if the signal is invoked. // (e.g. in the case where we don't want want the render to proceed to the dynamic stage and abort it). // We shouldn't consider this an unhandled rejection, so we attach a noop catch handler here to suppress this warning. if (this.abortSignal) { promise.catch(ignoreReject); } return promise; } } function ignoreReject() {} // TODO(restart-on-cache-miss): the layering of `delayUntilStage`, // `makeDevtoolsIOPromiseFromIOTrigger` and and `makeDevtoolsIOAwarePromise` // is confusing, we should clean it up. function makeDevtoolsIOPromiseFromIOTrigger(ioTrigger, displayName, resolvedValue) { // If we create a `new Promise` and give it a displayName // (with no userspace code above us in the stack) // React Devtools will use it as the IO cause when determining "suspended by". // In particular, it should shadow any inner IO that resolved/rejected the promise // (in case of staged rendering, this will be the `setTimeout` that triggers the relevant stage) const promise = new Promise((resolve, reject)=>{ ioTrigger.then(resolve.bind(null, resolvedValue), reject); }); if (displayName !== undefined) { // @ts-expect-error promise.displayName = displayName; } return promise; } //# sourceMappingURL=staged-rendering.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/dynamic-rendering.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; /** * The functions provided by this module are used to communicate certain properties * about the currently running code so that Next.js can make decisions on how to handle * the current execution in different rendering modes such as pre-rendering, resuming, and SSR. * * Today Next.js treats all code as potentially static. Certain APIs may only make sense when dynamically rendering. * Traditionally this meant deopting the entire render to dynamic however with PPR we can now deopt parts * of a React tree as dynamic while still keeping other parts static. There are really two different kinds of * Dynamic indications. * * The first is simply an intention to be dynamic. unstable_noStore is an example of this where * the currently executing code simply declares that the current scope is dynamic but if you use it * inside unstable_cache it can still be cached. This type of indication can be removed if we ever * make the default dynamic to begin with because the only way you would ever be static is inside * a cache scope which this indication does not affect. * * The second is an indication that a dynamic data source was read. This is a stronger form of dynamic * because it means that it is inappropriate to cache this at all. using a dynamic data source inside * unstable_cache should error. If you want to use some dynamic data inside unstable_cache you should * read that data outside the cache and pass it in as an argument to the cached function. */ Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { Postpone: null, PreludeState: null, abortAndThrowOnSynchronousRequestDataAccess: null, abortOnSynchronousPlatformIOAccess: null, accessedDynamicData: null, annotateDynamicAccess: null, consumeDynamicAccess: null, createDynamicTrackingState: null, createDynamicValidationState: null, createHangingInputAbortSignal: null, createRenderInBrowserAbortSignal: null, delayUntilRuntimeStage: null, formatDynamicAPIAccesses: null, getFirstDynamicReason: null, isDynamicPostpone: null, isPrerenderInterruptedError: null, logDisallowedDynamicError: null, markCurrentScopeAsDynamic: null, postponeWithTracking: null, throwIfDisallowedDynamic: null, throwToInterruptStaticGeneration: null, trackAllowedDynamicAccess: null, trackDynamicDataInDynamicRender: null, trackSynchronousPlatformIOAccessInDev: null, useDynamicRouteParams: null, useDynamicSearchParams: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { Postpone: function() { return Postpone; }, PreludeState: function() { return PreludeState; }, abortAndThrowOnSynchronousRequestDataAccess: function() { return abortAndThrowOnSynchronousRequestDataAccess; }, abortOnSynchronousPlatformIOAccess: function() { return abortOnSynchronousPlatformIOAccess; }, accessedDynamicData: function() { return accessedDynamicData; }, annotateDynamicAccess: function() { return annotateDynamicAccess; }, consumeDynamicAccess: function() { return consumeDynamicAccess; }, createDynamicTrackingState: function() { return createDynamicTrackingState; }, createDynamicValidationState: function() { return createDynamicValidationState; }, createHangingInputAbortSignal: function() { return createHangingInputAbortSignal; }, createRenderInBrowserAbortSignal: function() { return createRenderInBrowserAbortSignal; }, delayUntilRuntimeStage: function() { return delayUntilRuntimeStage; }, formatDynamicAPIAccesses: function() { return formatDynamicAPIAccesses; }, getFirstDynamicReason: function() { return getFirstDynamicReason; }, isDynamicPostpone: function() { return isDynamicPostpone; }, isPrerenderInterruptedError: function() { return isPrerenderInterruptedError; }, logDisallowedDynamicError: function() { return logDisallowedDynamicError; }, markCurrentScopeAsDynamic: function() { return markCurrentScopeAsDynamic; }, postponeWithTracking: function() { return postponeWithTracking; }, throwIfDisallowedDynamic: function() { return throwIfDisallowedDynamic; }, throwToInterruptStaticGeneration: function() { return throwToInterruptStaticGeneration; }, trackAllowedDynamicAccess: function() { return trackAllowedDynamicAccess; }, trackDynamicDataInDynamicRender: function() { return trackDynamicDataInDynamicRender; }, trackSynchronousPlatformIOAccessInDev: function() { return trackSynchronousPlatformIOAccessInDev; }, useDynamicRouteParams: function() { return useDynamicRouteParams; }, useDynamicSearchParams: function() { return useDynamicSearchParams; } }); const _react = /*#__PURE__*/ _interop_require_default(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)")); const _hooksservercontext = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/hooks-server-context.js [app-ssr] (ecmascript)"); const _staticgenerationbailout = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/static-generation-bailout.js [app-ssr] (ecmascript)"); const _workunitasyncstorageexternal = __turbopack_context__.r("[externals]/next/dist/server/app-render/work-unit-async-storage.external.js [external] (next/dist/server/app-render/work-unit-async-storage.external.js, cjs)"); const _workasyncstorageexternal = __turbopack_context__.r("[externals]/next/dist/server/app-render/work-async-storage.external.js [external] (next/dist/server/app-render/work-async-storage.external.js, cjs)"); const _dynamicrenderingutils = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/dynamic-rendering-utils.js [app-ssr] (ecmascript)"); const _boundaryconstants = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/framework/boundary-constants.js [app-ssr] (ecmascript)"); const _scheduler = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/scheduler.js [app-ssr] (ecmascript)"); const _bailouttocsr = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js [app-ssr] (ecmascript)"); const _invarianterror = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/invariant-error.js [app-ssr] (ecmascript)"); const _stagedrendering = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/staged-rendering.js [app-ssr] (ecmascript)"); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const hasPostpone = typeof _react.default.unstable_postpone === 'function'; function createDynamicTrackingState(isDebugDynamicAccesses) { return { isDebugDynamicAccesses, dynamicAccesses: [], syncDynamicErrorWithStack: null }; } function createDynamicValidationState() { return { hasSuspenseAboveBody: false, hasDynamicMetadata: false, hasDynamicViewport: false, hasAllowedDynamic: false, dynamicErrors: [] }; } function getFirstDynamicReason(trackingState) { var _trackingState_dynamicAccesses_; return (_trackingState_dynamicAccesses_ = trackingState.dynamicAccesses[0]) == null ? void 0 : _trackingState_dynamicAccesses_.expression; } function markCurrentScopeAsDynamic(store, workUnitStore, expression) { if (workUnitStore) { switch(workUnitStore.type){ case 'cache': case 'unstable-cache': // Inside cache scopes, marking a scope as dynamic has no effect, // because the outer cache scope creates a cache boundary. This is // subtly different from reading a dynamic data source, which is // forbidden inside a cache scope. return; case 'private-cache': // A private cache scope is already dynamic by definition. return; case 'prerender-legacy': case 'prerender-ppr': case 'request': break; default: workUnitStore; } } // If we're forcing dynamic rendering or we're forcing static rendering, we // don't need to do anything here because the entire page is already dynamic // or it's static and it should not throw or postpone here. if (store.forceDynamic || store.forceStatic) return; if (store.dynamicShouldError) { throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError(`Route ${store.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${expression}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`), "__NEXT_ERROR_CODE", { value: "E553", enumerable: false, configurable: true }); } if (workUnitStore) { switch(workUnitStore.type){ case 'prerender-ppr': return postponeWithTracking(store.route, expression, workUnitStore.dynamicTracking); case 'prerender-legacy': workUnitStore.revalidate = 0; // We aren't prerendering, but we are generating a static page. We need // to bail out of static generation. const err = Object.defineProperty(new _hooksservercontext.DynamicServerError(`Route ${store.route} couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`), "__NEXT_ERROR_CODE", { value: "E550", enumerable: false, configurable: true }); store.dynamicUsageDescription = expression; store.dynamicUsageStack = err.stack; throw err; case 'request': if ("TURBOPACK compile-time truthy", 1) { workUnitStore.usedDynamic = true; } break; default: workUnitStore; } } } function throwToInterruptStaticGeneration(expression, store, prerenderStore) { // We aren't prerendering but we are generating a static page. We need to bail out of static generation const err = Object.defineProperty(new _hooksservercontext.DynamicServerError(`Route ${store.route} couldn't be rendered statically because it used \`${expression}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`), "__NEXT_ERROR_CODE", { value: "E558", enumerable: false, configurable: true }); prerenderStore.revalidate = 0; store.dynamicUsageDescription = expression; store.dynamicUsageStack = err.stack; throw err; } function trackDynamicDataInDynamicRender(workUnitStore) { switch(workUnitStore.type){ case 'cache': case 'unstable-cache': // Inside cache scopes, marking a scope as dynamic has no effect, // because the outer cache scope creates a cache boundary. This is // subtly different from reading a dynamic data source, which is // forbidden inside a cache scope. return; case 'private-cache': // A private cache scope is already dynamic by definition. return; case 'prerender': case 'prerender-runtime': case 'prerender-legacy': case 'prerender-ppr': case 'prerender-client': break; case 'request': if ("TURBOPACK compile-time truthy", 1) { workUnitStore.usedDynamic = true; } break; default: workUnitStore; } } function abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore) { const reason = `Route ${route} needs to bail out of prerendering at this point because it used ${expression}.`; const error = createPrerenderInterruptedError(reason); prerenderStore.controller.abort(error); const dynamicTracking = prerenderStore.dynamicTracking; if (dynamicTracking) { dynamicTracking.dynamicAccesses.push({ // When we aren't debugging, we don't need to create another error for the // stack trace. stack: dynamicTracking.isDebugDynamicAccesses ? new Error().stack : undefined, expression }); } } function abortOnSynchronousPlatformIOAccess(route, expression, errorWithStack, prerenderStore) { const dynamicTracking = prerenderStore.dynamicTracking; abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore); // It is important that we set this tracking value after aborting. Aborts are executed // synchronously except for the case where you abort during render itself. By setting this // value late we can use it to determine if any of the aborted tasks are the task that // called the sync IO expression in the first place. if (dynamicTracking) { if (dynamicTracking.syncDynamicErrorWithStack === null) { dynamicTracking.syncDynamicErrorWithStack = errorWithStack; } } } function trackSynchronousPlatformIOAccessInDev(requestStore) { // We don't actually have a controller to abort but we do the semantic equivalent by // advancing the request store out of the prerender stage if (requestStore.stagedRendering) { // TODO: error for sync IO in the runtime stage // (which is not currently covered by the validation render in `spawnDynamicValidationInDev`) requestStore.stagedRendering.advanceStage(_stagedrendering.RenderStage.Dynamic); } } function abortAndThrowOnSynchronousRequestDataAccess(route, expression, errorWithStack, prerenderStore) { const prerenderSignal = prerenderStore.controller.signal; if (prerenderSignal.aborted === false) { // TODO it would be better to move this aborted check into the callsite so we can avoid making // the error object when it isn't relevant to the aborting of the prerender however // since we need the throw semantics regardless of whether we abort it is easier to land // this way. See how this was handled with `abortOnSynchronousPlatformIOAccess` for a closer // to ideal implementation abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore); // It is important that we set this tracking value after aborting. Aborts are executed // synchronously except for the case where you abort during render itself. By setting this // value late we can use it to determine if any of the aborted tasks are the task that // called the sync IO expression in the first place. const dynamicTracking = prerenderStore.dynamicTracking; if (dynamicTracking) { if (dynamicTracking.syncDynamicErrorWithStack === null) { dynamicTracking.syncDynamicErrorWithStack = errorWithStack; } } } throw createPrerenderInterruptedError(`Route ${route} needs to bail out of prerendering at this point because it used ${expression}.`); } function Postpone({ reason, route }) { const prerenderStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); const dynamicTracking = prerenderStore && prerenderStore.type === 'prerender-ppr' ? prerenderStore.dynamicTracking : null; postponeWithTracking(route, reason, dynamicTracking); } function postponeWithTracking(route, expression, dynamicTracking) { assertPostpone(); if (dynamicTracking) { dynamicTracking.dynamicAccesses.push({ // When we aren't debugging, we don't need to create another error for the // stack trace. stack: dynamicTracking.isDebugDynamicAccesses ? new Error().stack : undefined, expression }); } _react.default.unstable_postpone(createPostponeReason(route, expression)); } function createPostponeReason(route, expression) { return `Route ${route} needs to bail out of prerendering at this point because it used ${expression}. ` + `React throws this special object to indicate where. It should not be caught by ` + `your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`; } function isDynamicPostpone(err) { if (typeof err === 'object' && err !== null && typeof err.message === 'string') { return isDynamicPostponeReason(err.message); } return false; } function isDynamicPostponeReason(reason) { return reason.includes('needs to bail out of prerendering at this point because it used') && reason.includes('Learn more: https://nextjs.org/docs/messages/ppr-caught-error'); } if (isDynamicPostponeReason(createPostponeReason('%%%', '^^^')) === false) { throw Object.defineProperty(new Error('Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js'), "__NEXT_ERROR_CODE", { value: "E296", enumerable: false, configurable: true }); } const NEXT_PRERENDER_INTERRUPTED = 'NEXT_PRERENDER_INTERRUPTED'; function createPrerenderInterruptedError(message) { const error = Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", { value: "E394", enumerable: false, configurable: true }); error.digest = NEXT_PRERENDER_INTERRUPTED; return error; } function isPrerenderInterruptedError(error) { return typeof error === 'object' && error !== null && error.digest === NEXT_PRERENDER_INTERRUPTED && 'name' in error && 'message' in error && error instanceof Error; } function accessedDynamicData(dynamicAccesses) { return dynamicAccesses.length > 0; } function consumeDynamicAccess(serverDynamic, clientDynamic) { // We mutate because we only call this once we are no longer writing // to the dynamicTrackingState and it's more efficient than creating a new // array. serverDynamic.dynamicAccesses.push(...clientDynamic.dynamicAccesses); return serverDynamic.dynamicAccesses; } function formatDynamicAPIAccesses(dynamicAccesses) { return dynamicAccesses.filter((access)=>typeof access.stack === 'string' && access.stack.length > 0).map(({ expression, stack })=>{ stack = stack.split('\n') // Remove the "Error: " prefix from the first line of the stack trace as // well as the first 4 lines of the stack trace which is the distance // from the user code and the `new Error().stack` call. .slice(4).filter((line)=>{ // Exclude Next.js internals from the stack trace. if (line.includes('node_modules/next/')) { return false; } // Exclude anonymous functions from the stack trace. if (line.includes(' ()')) { return false; } // Exclude Node.js internals from the stack trace. if (line.includes(' (node:')) { return false; } return true; }).join('\n'); return `Dynamic API Usage Debug - ${expression}:\n${stack}`; }); } function assertPostpone() { if (!hasPostpone) { throw Object.defineProperty(new Error(`Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js`), "__NEXT_ERROR_CODE", { value: "E224", enumerable: false, configurable: true }); } } function createRenderInBrowserAbortSignal() { const controller = new AbortController(); controller.abort(Object.defineProperty(new _bailouttocsr.BailoutToCSRError('Render in Browser'), "__NEXT_ERROR_CODE", { value: "E721", enumerable: false, configurable: true })); return controller.signal; } function createHangingInputAbortSignal(workUnitStore) { switch(workUnitStore.type){ case 'prerender': case 'prerender-runtime': const controller = new AbortController(); if (workUnitStore.cacheSignal) { // If we have a cacheSignal it means we're in a prospective render. If // the input we're waiting on is coming from another cache, we do want // to wait for it so that we can resolve this cache entry too. workUnitStore.cacheSignal.inputReady().then(()=>{ controller.abort(); }); } else { // Otherwise we're in the final render and we should already have all // our caches filled. // If the prerender uses stages, we have wait until the runtime stage, // at which point all runtime inputs will be resolved. // (otherwise, a runtime prerender might consider `cookies()` hanging // even though they'd resolve in the next task.) // // We might still be waiting on some microtasks so we // wait one tick before giving up. When we give up, we still want to // render the content of this cache as deeply as we can so that we can // suspend as deeply as possible in the tree or not at all if we don't // end up waiting for the input. const runtimeStagePromise = (0, _workunitasyncstorageexternal.getRuntimeStagePromise)(workUnitStore); if (runtimeStagePromise) { runtimeStagePromise.then(()=>(0, _scheduler.scheduleOnNextTick)(()=>controller.abort())); } else { (0, _scheduler.scheduleOnNextTick)(()=>controller.abort()); } } return controller.signal; case 'prerender-client': case 'prerender-ppr': case 'prerender-legacy': case 'request': case 'cache': case 'private-cache': case 'unstable-cache': return undefined; default: workUnitStore; } } function annotateDynamicAccess(expression, prerenderStore) { const dynamicTracking = prerenderStore.dynamicTracking; if (dynamicTracking) { dynamicTracking.dynamicAccesses.push({ stack: dynamicTracking.isDebugDynamicAccesses ? new Error().stack : undefined, expression }); } } function useDynamicRouteParams(expression) { const workStore = _workasyncstorageexternal.workAsyncStorage.getStore(); const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); if (workStore && workUnitStore) { switch(workUnitStore.type){ case 'prerender-client': case 'prerender': { const fallbackParams = workUnitStore.fallbackRouteParams; if (fallbackParams && fallbackParams.size > 0) { // We are in a prerender with cacheComponents semantics. We are going to // hang here and never resolve. This will cause the currently // rendering component to effectively be a dynamic hole. _react.default.use((0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, workStore.route, expression)); } break; } case 'prerender-ppr': { const fallbackParams = workUnitStore.fallbackRouteParams; if (fallbackParams && fallbackParams.size > 0) { return postponeWithTracking(workStore.route, expression, workUnitStore.dynamicTracking); } break; } case 'prerender-runtime': throw Object.defineProperty(new _invarianterror.InvariantError(`\`${expression}\` was called during a runtime prerender. Next.js should be preventing ${expression} from being included in server components statically, but did not in this case.`), "__NEXT_ERROR_CODE", { value: "E771", enumerable: false, configurable: true }); case 'cache': case 'private-cache': throw Object.defineProperty(new _invarianterror.InvariantError(`\`${expression}\` was called inside a cache scope. Next.js should be preventing ${expression} from being included in server components statically, but did not in this case.`), "__NEXT_ERROR_CODE", { value: "E745", enumerable: false, configurable: true }); case 'prerender-legacy': case 'request': case 'unstable-cache': break; default: workUnitStore; } } } function useDynamicSearchParams(expression) { const workStore = _workasyncstorageexternal.workAsyncStorage.getStore(); const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); if (!workStore) { // We assume pages router context and just return return; } if (!workUnitStore) { (0, _workunitasyncstorageexternal.throwForMissingRequestStore)(expression); } switch(workUnitStore.type){ case 'prerender-client': { _react.default.use((0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, workStore.route, expression)); break; } case 'prerender-legacy': case 'prerender-ppr': { if (workStore.forceStatic) { return; } throw Object.defineProperty(new _bailouttocsr.BailoutToCSRError(expression), "__NEXT_ERROR_CODE", { value: "E394", enumerable: false, configurable: true }); } case 'prerender': case 'prerender-runtime': throw Object.defineProperty(new _invarianterror.InvariantError(`\`${expression}\` was called from a Server Component. Next.js should be preventing ${expression} from being included in server components statically, but did not in this case.`), "__NEXT_ERROR_CODE", { value: "E795", enumerable: false, configurable: true }); case 'cache': case 'unstable-cache': case 'private-cache': throw Object.defineProperty(new _invarianterror.InvariantError(`\`${expression}\` was called inside a cache scope. Next.js should be preventing ${expression} from being included in server components statically, but did not in this case.`), "__NEXT_ERROR_CODE", { value: "E745", enumerable: false, configurable: true }); case 'request': return; default: workUnitStore; } } const hasSuspenseRegex = /\n\s+at Suspense \(\)/; // Common implicit body tags that React will treat as body when placed directly in html const bodyAndImplicitTags = 'body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6'; // Detects when RootLayoutBoundary (our framework marker component) appears // after Suspense in the component stack, indicating the root layout is wrapped // within a Suspense boundary. Ensures no body/html/implicit-body components are in between. // // Example matches: // at Suspense () // at __next_root_layout_boundary__ () // // Or with other components in between (but not body/html/implicit-body): // at Suspense () // at SomeComponent () // at __next_root_layout_boundary__ () const hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex = new RegExp(`\\n\\s+at Suspense \\(\\)(?:(?!\\n\\s+at (?:${bodyAndImplicitTags}) \\(\\))[\\s\\S])*?\\n\\s+at ${_boundaryconstants.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`); const hasMetadataRegex = new RegExp(`\\n\\s+at ${_boundaryconstants.METADATA_BOUNDARY_NAME}[\\n\\s]`); const hasViewportRegex = new RegExp(`\\n\\s+at ${_boundaryconstants.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`); const hasOutletRegex = new RegExp(`\\n\\s+at ${_boundaryconstants.OUTLET_BOUNDARY_NAME}[\\n\\s]`); function trackAllowedDynamicAccess(workStore, componentStack, dynamicValidation, clientDynamic) { if (hasOutletRegex.test(componentStack)) { // We don't need to track that this is dynamic. It is only so when something else is also dynamic. return; } else if (hasMetadataRegex.test(componentStack)) { dynamicValidation.hasDynamicMetadata = true; return; } else if (hasViewportRegex.test(componentStack)) { dynamicValidation.hasDynamicViewport = true; return; } else if (hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex.test(componentStack)) { // For Suspense within body, the prelude wouldn't be empty so it wouldn't violate the empty static shells rule. // But if you have Suspense above body, the prelude is empty but we allow that because having Suspense // is an explicit signal from the user that they acknowledge the empty shell and want dynamic rendering. dynamicValidation.hasAllowedDynamic = true; dynamicValidation.hasSuspenseAboveBody = true; return; } else if (hasSuspenseRegex.test(componentStack)) { // this error had a Suspense boundary above it so we don't need to report it as a source // of disallowed dynamicValidation.hasAllowedDynamic = true; return; } else if (clientDynamic.syncDynamicErrorWithStack) { // This task was the task that called the sync error. dynamicValidation.dynamicErrors.push(clientDynamic.syncDynamicErrorWithStack); return; } else { const message = `Route "${workStore.route}": Uncached data was accessed outside of ` + '. This delays the entire page from rendering, resulting in a ' + 'slow user experience. Learn more: ' + 'https://nextjs.org/docs/messages/blocking-route'; const error = createErrorWithComponentOrOwnerStack(message, componentStack); dynamicValidation.dynamicErrors.push(error); return; } } /** * In dev mode, we prefer using the owner stack, otherwise the provided * component stack is used. */ function createErrorWithComponentOrOwnerStack(message, componentStack) { const ownerStack = ("TURBOPACK compile-time value", "development") !== 'production' && _react.default.captureOwnerStack ? _react.default.captureOwnerStack() : null; const error = Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", { value: "E394", enumerable: false, configurable: true }); error.stack = error.name + ': ' + message + (ownerStack ?? componentStack); return error; } var PreludeState = /*#__PURE__*/ function(PreludeState) { PreludeState[PreludeState["Full"] = 0] = "Full"; PreludeState[PreludeState["Empty"] = 1] = "Empty"; PreludeState[PreludeState["Errored"] = 2] = "Errored"; return PreludeState; }({}); function logDisallowedDynamicError(workStore, error) { console.error(error); if (!workStore.dev) { if (workStore.hasReadableErrorStacks) { console.error(`To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running \`next dev\`, then open "${workStore.route}" in your browser to investigate the error.`); } else { console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following: - Start the app in development mode by running \`next dev\`, then open "${workStore.route}" in your browser to investigate the error. - Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`); } } } function throwIfDisallowedDynamic(workStore, prelude, dynamicValidation, serverDynamic) { if (serverDynamic.syncDynamicErrorWithStack) { logDisallowedDynamicError(workStore, serverDynamic.syncDynamicErrorWithStack); throw new _staticgenerationbailout.StaticGenBailoutError(); } if (prelude !== 0) { if (dynamicValidation.hasSuspenseAboveBody) { // This route has opted into allowing fully dynamic rendering // by including a Suspense boundary above the body. In this case // a lack of a shell is not considered disallowed so we simply return return; } // We didn't have any sync bailouts but there may be user code which // blocked the root. We would have captured these during the prerender // and can log them here and then terminate the build/validating render const dynamicErrors = dynamicValidation.dynamicErrors; if (dynamicErrors.length > 0) { for(let i = 0; i < dynamicErrors.length; i++){ logDisallowedDynamicError(workStore, dynamicErrors[i]); } throw new _staticgenerationbailout.StaticGenBailoutError(); } // If we got this far then the only other thing that could be blocking // the root is dynamic Viewport. If this is dynamic then // you need to opt into that by adding a Suspense boundary above the body // to indicate your are ok with fully dynamic rendering. if (dynamicValidation.hasDynamicViewport) { console.error(`Route "${workStore.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`); throw new _staticgenerationbailout.StaticGenBailoutError(); } if (prelude === 1) { // If we ever get this far then we messed up the tracking of invalid dynamic. // We still adhere to the constraint that you must produce a shell but invite the // user to report this as a bug in Next.js. console.error(`Route "${workStore.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`); throw new _staticgenerationbailout.StaticGenBailoutError(); } } else { if (dynamicValidation.hasAllowedDynamic === false && dynamicValidation.hasDynamicMetadata) { console.error(`Route "${workStore.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`); throw new _staticgenerationbailout.StaticGenBailoutError(); } } } function delayUntilRuntimeStage(prerenderStore, result) { if (prerenderStore.runtimeStagePromise) { return prerenderStore.runtimeStagePromise.then(()=>result); } return result; } //# sourceMappingURL=dynamic-rendering.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unstable-rethrow.server.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "unstable_rethrow", { enumerable: true, get: function() { return unstable_rethrow; } }); const _dynamicrenderingutils = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/dynamic-rendering-utils.js [app-ssr] (ecmascript)"); const _ispostpone = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/router-utils/is-postpone.js [app-ssr] (ecmascript)"); const _bailouttocsr = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js [app-ssr] (ecmascript)"); const _isnextroutererror = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/is-next-router-error.js [app-ssr] (ecmascript)"); const _dynamicrendering = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/dynamic-rendering.js [app-ssr] (ecmascript)"); const _hooksservercontext = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/hooks-server-context.js [app-ssr] (ecmascript)"); function unstable_rethrow(error) { if ((0, _isnextroutererror.isNextRouterError)(error) || (0, _bailouttocsr.isBailoutToCSRError)(error) || (0, _hooksservercontext.isDynamicServerError)(error) || (0, _dynamicrendering.isDynamicPostpone)(error) || (0, _ispostpone.isPostpone)(error) || (0, _dynamicrenderingutils.isHangingPromiseRejectionError)(error) || (0, _dynamicrendering.isPrerenderInterruptedError)(error)) { throw error; } if (error instanceof Error && 'cause' in error) { unstable_rethrow(error.cause); } } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=unstable-rethrow.server.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unstable-rethrow.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; /** * This function should be used to rethrow internal Next.js errors so that they can be handled by the framework. * When wrapping an API that uses errors to interrupt control flow, you should use this function before you do any error handling. * This function will rethrow the error if it is a Next.js error so it can be handled, otherwise it will do nothing. * * Read more: [Next.js Docs: `unstable_rethrow`](https://nextjs.org/docs/app/api-reference/functions/unstable_rethrow) */ Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "unstable_rethrow", { enumerable: true, get: function() { return unstable_rethrow; } }); const unstable_rethrow = ("TURBOPACK compile-time truthy", 1) ? __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unstable-rethrow.server.js [app-ssr] (ecmascript)").unstable_rethrow : "TURBOPACK unreachable"; if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=unstable-rethrow.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/navigation.react-server.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { ReadonlyURLSearchParams: null, RedirectType: null, forbidden: null, notFound: null, permanentRedirect: null, redirect: null, unauthorized: null, unstable_isUnrecognizedActionError: null, unstable_rethrow: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { ReadonlyURLSearchParams: function() { return _readonlyurlsearchparams.ReadonlyURLSearchParams; }, RedirectType: function() { return _redirecterror.RedirectType; }, forbidden: function() { return _forbidden.forbidden; }, notFound: function() { return _notfound.notFound; }, permanentRedirect: function() { return _redirect.permanentRedirect; }, redirect: function() { return _redirect.redirect; }, unauthorized: function() { return _unauthorized.unauthorized; }, unstable_isUnrecognizedActionError: function() { return unstable_isUnrecognizedActionError; }, unstable_rethrow: function() { return _unstablerethrow.unstable_rethrow; } }); const _readonlyurlsearchparams = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/readonly-url-search-params.js [app-ssr] (ecmascript)"); const _redirect = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/redirect.js [app-ssr] (ecmascript)"); const _redirecterror = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/redirect-error.js [app-ssr] (ecmascript)"); const _notfound = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/not-found.js [app-ssr] (ecmascript)"); const _forbidden = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/forbidden.js [app-ssr] (ecmascript)"); const _unauthorized = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unauthorized.js [app-ssr] (ecmascript)"); const _unstablerethrow = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unstable-rethrow.js [app-ssr] (ecmascript)"); function unstable_isUnrecognizedActionError() { throw Object.defineProperty(new Error('`unstable_isUnrecognizedActionError` can only be used on the client.'), "__NEXT_ERROR_CODE", { value: "E776", enumerable: false, configurable: true }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=navigation.react-server.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/navigation.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { ReadonlyURLSearchParams: null, RedirectType: null, ServerInsertedHTMLContext: null, forbidden: null, notFound: null, permanentRedirect: null, redirect: null, unauthorized: null, unstable_isUnrecognizedActionError: null, unstable_rethrow: null, useParams: null, usePathname: null, useRouter: null, useSearchParams: null, useSelectedLayoutSegment: null, useSelectedLayoutSegments: null, useServerInsertedHTML: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { ReadonlyURLSearchParams: function() { return _navigationreactserver.ReadonlyURLSearchParams; }, RedirectType: function() { return _navigationreactserver.RedirectType; }, ServerInsertedHTMLContext: function() { return _serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext; }, forbidden: function() { return _navigationreactserver.forbidden; }, notFound: function() { return _navigationreactserver.notFound; }, permanentRedirect: function() { return _navigationreactserver.permanentRedirect; }, redirect: function() { return _navigationreactserver.redirect; }, unauthorized: function() { return _navigationreactserver.unauthorized; }, unstable_isUnrecognizedActionError: function() { return _unrecognizedactionerror.unstable_isUnrecognizedActionError; }, unstable_rethrow: function() { return _navigationreactserver.unstable_rethrow; }, useParams: function() { return useParams; }, usePathname: function() { return usePathname; }, useRouter: function() { return useRouter; }, useSearchParams: function() { return useSearchParams; }, useSelectedLayoutSegment: function() { return useSelectedLayoutSegment; }, useSelectedLayoutSegments: function() { return useSelectedLayoutSegments; }, useServerInsertedHTML: function() { return _serverinsertedhtmlsharedruntime.useServerInsertedHTML; } }); const _interop_require_wildcard = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs [app-ssr] (ecmascript)"); const _react = /*#__PURE__*/ _interop_require_wildcard._(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)")); const _approutercontextsharedruntime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js [app-ssr] (ecmascript)"); const _hooksclientcontextsharedruntime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js [app-ssr] (ecmascript)"); const _segment = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/segment.js [app-ssr] (ecmascript)"); const _readonlyurlsearchparams = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/readonly-url-search-params.js [app-ssr] (ecmascript)"); const _serverinsertedhtmlsharedruntime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js [app-ssr] (ecmascript)"); const _unrecognizedactionerror = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unrecognized-action-error.js [app-ssr] (ecmascript)"); const _navigationreactserver = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/navigation.react-server.js [app-ssr] (ecmascript)"); const useDynamicRouteParams = ("TURBOPACK compile-time truthy", 1) ? __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/dynamic-rendering.js [app-ssr] (ecmascript)").useDynamicRouteParams : "TURBOPACK unreachable"; const useDynamicSearchParams = ("TURBOPACK compile-time truthy", 1) ? __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/dynamic-rendering.js [app-ssr] (ecmascript)").useDynamicSearchParams : "TURBOPACK unreachable"; function useSearchParams() { useDynamicSearchParams?.('useSearchParams()'); const searchParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.SearchParamsContext); // In the case where this is `null`, the compat types added in // `next-env.d.ts` will add a new overload that changes the return type to // include `null`. const readonlySearchParams = (0, _react.useMemo)(()=>{ if (!searchParams) { // When the router is not ready in pages, we won't have the search params // available. return null; } return new _readonlyurlsearchparams.ReadonlyURLSearchParams(searchParams); }, [ searchParams ]); // Instrument with Suspense DevTools (dev-only) if (("TURBOPACK compile-time value", "development") !== 'production' && 'use' in _react.default) { const navigationPromises = (0, _react.use)(_hooksclientcontextsharedruntime.NavigationPromisesContext); if (navigationPromises) { return (0, _react.use)(navigationPromises.searchParams); } } return readonlySearchParams; } function usePathname() { useDynamicRouteParams?.('usePathname()'); // In the case where this is `null`, the compat types added in `next-env.d.ts` // will add a new overload that changes the return type to include `null`. const pathname = (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext); // Instrument with Suspense DevTools (dev-only) if (("TURBOPACK compile-time value", "development") !== 'production' && 'use' in _react.default) { const navigationPromises = (0, _react.use)(_hooksclientcontextsharedruntime.NavigationPromisesContext); if (navigationPromises) { return (0, _react.use)(navigationPromises.pathname); } } return pathname; } function useRouter() { const router = (0, _react.useContext)(_approutercontextsharedruntime.AppRouterContext); if (router === null) { throw Object.defineProperty(new Error('invariant expected app router to be mounted'), "__NEXT_ERROR_CODE", { value: "E238", enumerable: false, configurable: true }); } return router; } function useParams() { useDynamicRouteParams?.('useParams()'); const params = (0, _react.useContext)(_hooksclientcontextsharedruntime.PathParamsContext); // Instrument with Suspense DevTools (dev-only) if (("TURBOPACK compile-time value", "development") !== 'production' && 'use' in _react.default) { const navigationPromises = (0, _react.use)(_hooksclientcontextsharedruntime.NavigationPromisesContext); if (navigationPromises) { return (0, _react.use)(navigationPromises.params); } } return params; } function useSelectedLayoutSegments(parallelRouteKey = 'children') { useDynamicRouteParams?.('useSelectedLayoutSegments()'); const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext); // @ts-expect-error This only happens in `pages`. Type is overwritten in navigation.d.ts if (!context) return null; // Instrument with Suspense DevTools (dev-only) if (("TURBOPACK compile-time value", "development") !== 'production' && 'use' in _react.default) { const navigationPromises = (0, _react.use)(_hooksclientcontextsharedruntime.NavigationPromisesContext); if (navigationPromises) { const promise = navigationPromises.selectedLayoutSegmentsPromises?.get(parallelRouteKey); if (promise) { // We should always have a promise here, but if we don't, it's not worth erroring over. // We just won't be able to instrument it, but can still provide the value. return (0, _react.use)(promise); } } } return (0, _segment.getSelectedLayoutSegmentPath)(context.parentTree, parallelRouteKey); } function useSelectedLayoutSegment(parallelRouteKey = 'children') { useDynamicRouteParams?.('useSelectedLayoutSegment()'); const navigationPromises = (0, _react.useContext)(_hooksclientcontextsharedruntime.NavigationPromisesContext); const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey); // Instrument with Suspense DevTools (dev-only) if (("TURBOPACK compile-time value", "development") !== 'production' && navigationPromises && 'use' in _react.default) { const promise = navigationPromises.selectedLayoutSegmentPromises?.get(parallelRouteKey); if (promise) { // We should always have a promise here, but if we don't, it's not worth erroring over. // We just won't be able to instrument it, but can still provide the value. return (0, _react.use)(promise); } } return (0, _segment.computeSelectedLayoutSegment)(selectedLayoutSegments, parallelRouteKey); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=navigation.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/navigation.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { module.exports = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/navigation.js [app-ssr] (ecmascript)"); }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@vercel+analytics@1.5.0_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@vercel/analytics/dist/next/index.mjs [app-ssr] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "Analytics", ()=>Analytics2 ]); // src/nextjs/index.tsx var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)"); // src/nextjs/utils.ts var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/navigation.js [app-ssr] (ecmascript)"); "use client"; ; ; // package.json var name = "@vercel/analytics"; var version = "1.5.0"; // src/queue.ts var initQueue = ()=>{ if (window.va) return; window.va = function a(...params) { (window.vaq = window.vaq || []).push(params); }; }; // src/utils.ts function isBrowser() { return ("TURBOPACK compile-time value", "undefined") !== "undefined"; } function detectEnvironment() { try { const env = ("TURBOPACK compile-time value", "development"); if ("TURBOPACK compile-time truthy", 1) { return "development"; } } catch (e) {} return "production"; } function setMode(mode = "auto") { if (mode === "auto") { window.vam = detectEnvironment(); return; } window.vam = mode; } function getMode() { const mode = isBrowser() ? "TURBOPACK unreachable" : detectEnvironment(); return mode || "production"; } function isDevelopment() { return getMode() === "development"; } function computeRoute(pathname, pathParams) { if (!pathname || !pathParams) { return pathname; } let result = pathname; try { const entries = Object.entries(pathParams); for (const [key, value] of entries){ if (!Array.isArray(value)) { const matcher = turnValueToRegExp(value); if (matcher.test(result)) { result = result.replace(matcher, `/[${key}]`); } } } for (const [key, value] of entries){ if (Array.isArray(value)) { const matcher = turnValueToRegExp(value.join("/")); if (matcher.test(result)) { result = result.replace(matcher, `/[...${key}]`); } } } return result; } catch (e) { return pathname; } } function turnValueToRegExp(value) { return new RegExp(`/${escapeRegExp(value)}(?=[/?#]|$)`); } function escapeRegExp(string) { return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); } function getScriptSrc(props) { if (props.scriptSrc) { return props.scriptSrc; } if (isDevelopment()) { return "https://va.vercel-scripts.com/v1/script.debug.js"; } if (props.basePath) { return `${props.basePath}/insights/script.js`; } return "/_vercel/insights/script.js"; } // src/generic.ts function inject(props = { debug: true }) { var _a; if (!isBrowser()) return; //TURBOPACK unreachable ; const src = undefined; const script = undefined; } function pageview({ route, path }) { var _a; (_a = window.va) == null ? void 0 : _a.call(window, "pageview", { route, path }); } // src/react/utils.ts function getBasePath() { if (typeof process === "undefined" || typeof process.env === "undefined") { return void 0; } return process.env.REACT_APP_VERCEL_OBSERVABILITY_BASEPATH; } // src/react/index.tsx function Analytics(props) { (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useEffect"])(()=>{ var _a; if (props.beforeSend) { (_a = window.va) == null ? void 0 : _a.call(window, "beforeSend", props.beforeSend); } }, [ props.beforeSend ]); (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useEffect"])(()=>{ inject({ framework: props.framework || "react", basePath: props.basePath ?? getBasePath(), ...props.route !== void 0 && { disableAutoTrack: true }, ...props }); }, []); (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useEffect"])(()=>{ if (props.route && props.path) { pageview({ route: props.route, path: props.path }); } }, [ props.route, props.path ]); return null; } ; var useRoute = ()=>{ const params = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useParams"])(); const searchParams = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useSearchParams"])(); const path = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["usePathname"])(); if (!params) { return { route: null, path }; } const finalParams = Object.keys(params).length ? params : Object.fromEntries(searchParams.entries()); return { route: computeRoute(path, finalParams), path }; }; function getBasePath2() { if (typeof process === "undefined" || typeof process.env === "undefined") { return void 0; } return process.env.NEXT_PUBLIC_VERCEL_OBSERVABILITY_BASEPATH; } // src/nextjs/index.tsx function AnalyticsComponent(props) { const { route, path } = useRoute(); return /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"].createElement(Analytics, { path, route, ...props, basePath: getBasePath2(), framework: "next" }); } function Analytics2(props) { return /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"].createElement(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Suspense"], { fallback: null }, /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"].createElement(AnalyticsComponent, { ...props })); } ; //# sourceMappingURL=index.mjs.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; module.exports = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/module.compiled.js [app-ssr] (ecmascript)").vendored['react-ssr'].ReactJsxDevRuntime; //# sourceMappingURL=react-jsx-dev-runtime.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/interopRequireDefault.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/typeof.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { function _typeof(o) { "@babel/helpers - typeof"; return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) { return typeof o; } : function(o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o); } module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/OverloadYield.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { function _OverloadYield(e, d) { this.v = e, this.k = d; } module.exports = _OverloadYield, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorDefine.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { function _regeneratorDefine(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine(e, r, function(e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, module.exports.__esModule = true, module.exports["default"] = module.exports, _regeneratorDefine(e, r, n, t); } module.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regenerator.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { var regeneratorDefine = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorDefine.js [app-ssr] (ecmascript)"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return regeneratorDefine(u, "_invoke", function(r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for(c = r, u = n, t = 0; !y && f && !o && t < p.length; t++){ var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function(o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for(y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;){ i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally{ f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (regeneratorDefine(t = {}, n, function() { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), regeneratorDefine(u), regeneratorDefine(u, o, "Generator"), regeneratorDefine(u, n, function() { return this; }), regeneratorDefine(u, "toString", function() { return "[object Generator]"; }), (module.exports = _regenerator = function _regenerator() { return { w: i, m: f }; }, module.exports.__esModule = true, module.exports["default"] = module.exports)(); } module.exports = _regenerator, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { var OverloadYield = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/OverloadYield.js [app-ssr] (ecmascript)"); var regeneratorDefine = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorDefine.js [app-ssr] (ecmascript)"); function AsyncIterator(t, e) { function n(r, o, i, f) { try { var c = t[r](o), u = c.value; return u instanceof OverloadYield ? e.resolve(u.v).then(function(t) { n("next", t, i, f); }, function(t) { n("throw", t, i, f); }) : e.resolve(u).then(function(t) { c.value = t, i(c); }, function(t) { return n("throw", t, i, f); }); } catch (t) { f(t); } } var r; this.next || (regeneratorDefine(AsyncIterator.prototype), regeneratorDefine(AsyncIterator.prototype, "function" == typeof Symbol && Symbol.asyncIterator || "@asyncIterator", function() { return this; })), regeneratorDefine(this, "_invoke", function(t, o, i) { function f() { return new e(function(e, r) { n(t, i, e, r); }); } return r = r ? r.then(f, f) : f(); }, !0); } module.exports = AsyncIterator, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { var regenerator = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regenerator.js [app-ssr] (ecmascript)"); var regeneratorAsyncIterator = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js [app-ssr] (ecmascript)"); function _regeneratorAsyncGen(r, e, t, o, n) { return new regeneratorAsyncIterator(regenerator().w(r, e, t, o), n || Promise); } module.exports = _regeneratorAsyncGen, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorAsync.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { var regeneratorAsyncGen = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js [app-ssr] (ecmascript)"); function _regeneratorAsync(n, e, r, t, o) { var a = regeneratorAsyncGen(n, e, r, t, o); return a.next().then(function(n) { return n.done ? n.value : a.next(); }); } module.exports = _regeneratorAsync, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorKeys.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { function _regeneratorKeys(e) { var n = Object(e), r = []; for(var t in n)r.unshift(t); return function e() { for(; r.length;)if ((t = r.pop()) in n) return e.value = t, e.done = !1, e; return e.done = !0, e; }; } module.exports = _regeneratorKeys, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorValues.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { var _typeof = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/typeof.js [app-ssr] (ecmascript)")["default"]; function _regeneratorValues(e) { if (null != e) { var t = e["function" == typeof Symbol && Symbol.iterator || "@@iterator"], r = 0; if (t) return t.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) return { next: function next() { return e && r >= e.length && (e = void 0), { value: e && e[r++], done: !e }; } }; } throw new TypeError(_typeof(e) + " is not iterable"); } module.exports = _regeneratorValues, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorRuntime.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { var OverloadYield = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/OverloadYield.js [app-ssr] (ecmascript)"); var regenerator = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regenerator.js [app-ssr] (ecmascript)"); var regeneratorAsync = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorAsync.js [app-ssr] (ecmascript)"); var regeneratorAsyncGen = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js [app-ssr] (ecmascript)"); var regeneratorAsyncIterator = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js [app-ssr] (ecmascript)"); var regeneratorKeys = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorKeys.js [app-ssr] (ecmascript)"); var regeneratorValues = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorValues.js [app-ssr] (ecmascript)"); function _regeneratorRuntime() { "use strict"; var r = regenerator(), e = r.m(_regeneratorRuntime), t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor; function n(r) { var e = "function" == typeof r && r.constructor; return !!e && (e === t || "GeneratorFunction" === (e.displayName || e.name)); } var o = { "throw": 1, "return": 2, "break": 3, "continue": 3 }; function a(r) { var e, t; return function(n) { e || (e = { stop: function stop() { return t(n.a, 2); }, "catch": function _catch() { return n.v; }, abrupt: function abrupt(r, e) { return t(n.a, o[r], e); }, delegateYield: function delegateYield(r, o, a) { return e.resultName = o, t(n.d, regeneratorValues(r), a); }, finish: function finish(r) { return t(n.f, r); } }, t = function t(r, _t, o) { n.p = e.prev, n.n = e.next; try { return r(_t, o); } finally{ e.next = n.n; } }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n; try { return r.call(this, e); } finally{ n.p = e.prev, n.n = e.next; } }; } return (module.exports = _regeneratorRuntime = function _regeneratorRuntime() { return { wrap: function wrap(e, t, n, o) { return r.w(a(e), t, n, o && o.reverse()); }, isGeneratorFunction: n, mark: r.m, awrap: function awrap(r, e) { return new OverloadYield(r, e); }, AsyncIterator: regeneratorAsyncIterator, async: function async(r, e, t, o, u) { return (n(e) ? regeneratorAsyncGen : regeneratorAsync)(a(r), e, t, o, u); }, keys: regeneratorKeys, values: regeneratorValues }; }, module.exports.__esModule = true, module.exports["default"] = module.exports)(); } module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/regenerator/index.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { // TODO(Babel 8): Remove this file. var runtime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/regeneratorRuntime.js [app-ssr] (ecmascript)")(); module.exports = runtime; // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736= try { regeneratorRuntime = runtime; } catch (accidentalStrictMode) { if (typeof globalThis === "object") { globalThis.regeneratorRuntime = runtime; } else { Function("r", "regeneratorRuntime = r")(runtime); } } }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/toPrimitive.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { var _typeof = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/typeof.js [app-ssr] (ecmascript)")["default"]; function toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/toPropertyKey.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { var _typeof = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/typeof.js [app-ssr] (ecmascript)")["default"]; var toPrimitive = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/toPrimitive.js [app-ssr] (ecmascript)"); function toPropertyKey(t) { var i = toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/defineProperty.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { var toPropertyKey = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/toPropertyKey.js [app-ssr] (ecmascript)"); function _defineProperty(e, r, t) { return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/asyncToGenerator.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function() { var t = this, e = arguments; return new Promise(function(r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/arrayWithHoles.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for(; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally{ try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally{ if (o) throw n; } } return a; } } module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/arrayLikeToArray.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for(var e = 0, n = Array(a); e < a; e++)n[e] = r[e]; return n; } module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { var arrayLikeToArray = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/arrayLikeToArray.js [app-ssr] (ecmascript)"); function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return arrayLikeToArray(r, a); var t = ({}).toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0; } } module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/nonIterableRest.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/slicedToArray.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { var arrayWithHoles = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/arrayWithHoles.js [app-ssr] (ecmascript)"); var iterableToArrayLimit = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js [app-ssr] (ecmascript)"); var unsupportedIterableToArray = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js [app-ssr] (ecmascript)"); var nonIterableRest = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/nonIterableRest.js [app-ssr] (ecmascript)"); function _slicedToArray(r, e) { return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest(); } module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/classCallCheck.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/createClass.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { var toPropertyKey = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/toPropertyKey.js [app-ssr] (ecmascript)"); function _defineProperties(e, r) { for(var t = 0; t < r.length; t++){ var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o); } } function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/assertThisInitialized.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { var _typeof = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/typeof.js [app-ssr] (ecmascript)")["default"]; var assertThisInitialized = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/assertThisInitialized.js [app-ssr] (ecmascript)"); function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return assertThisInitialized(t); } module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/getPrototypeOf.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { function _getPrototypeOf(t) { return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t) { return t.__proto__ || Object.getPrototypeOf(t); }, module.exports.__esModule = true, module.exports["default"] = module.exports, _getPrototypeOf(t); } module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/setPrototypeOf.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { function _setPrototypeOf(t, e) { return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t, e) { return t.__proto__ = e, t; }, module.exports.__esModule = true, module.exports["default"] = module.exports, _setPrototypeOf(t, e); } module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/inherits.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { var setPrototypeOf = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/setPrototypeOf.js [app-ssr] (ecmascript)"); function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && setPrototypeOf(t, e); } module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/isNativeFunction.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { function _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf("[native code]"); } catch (n) { return "function" == typeof t; } } module.exports = _isNativeFunction, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {})); } catch (t) {} return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; }, module.exports.__esModule = true, module.exports["default"] = module.exports)(); } module.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/construct.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { var isNativeReflectConstruct = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js [app-ssr] (ecmascript)"); var setPrototypeOf = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/setPrototypeOf.js [app-ssr] (ecmascript)"); function _construct(t, e, r) { if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [ null ]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && setPrototypeOf(p, r.prototype), p; } module.exports = _construct, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/wrapNativeSuper.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { var getPrototypeOf = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/getPrototypeOf.js [app-ssr] (ecmascript)"); var setPrototypeOf = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/setPrototypeOf.js [app-ssr] (ecmascript)"); var isNativeFunction = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/isNativeFunction.js [app-ssr] (ecmascript)"); var construct = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/construct.js [app-ssr] (ecmascript)"); function _wrapNativeSuper(t) { var r = "function" == typeof Map ? new Map() : void 0; return module.exports = _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !isNativeFunction(t)) return t; if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return construct(t, arguments, getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), setPrototypeOf(Wrapper, t); }, module.exports.__esModule = true, module.exports["default"] = module.exports, _wrapNativeSuper(t); } module.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/core/errors.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var _interopRequireDefault = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/interopRequireDefault.js [app-ssr] (ecmascript)"); Object.defineProperty(exports, "__esModule", { value: true }); exports.UnsupportedStrategy = exports.UnknownError = exports.OAuthCallbackError = exports.MissingSecret = exports.MissingAuthorize = exports.MissingAdapterMethods = exports.MissingAdapter = exports.MissingAPIRoute = exports.InvalidCallbackUrl = exports.AccountNotLinkedError = void 0; exports.adapterErrorHandler = adapterErrorHandler; exports.capitalize = capitalize; exports.eventsErrorHandler = eventsErrorHandler; exports.upperSnake = upperSnake; var _regenerator = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/regenerator/index.js [app-ssr] (ecmascript)")); var _asyncToGenerator2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/asyncToGenerator.js [app-ssr] (ecmascript)")); var _defineProperty2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/defineProperty.js [app-ssr] (ecmascript)")); var _classCallCheck2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/classCallCheck.js [app-ssr] (ecmascript)")); var _createClass2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/createClass.js [app-ssr] (ecmascript)")); var _possibleConstructorReturn2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js [app-ssr] (ecmascript)")); var _getPrototypeOf2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/getPrototypeOf.js [app-ssr] (ecmascript)")); var _inherits2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/inherits.js [app-ssr] (ecmascript)")); var _wrapNativeSuper2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/wrapNativeSuper.js [app-ssr] (ecmascript)")); function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } var UnknownError = exports.UnknownError = function(_Error) { function UnknownError(error) { var _message; var _this; (0, _classCallCheck2.default)(this, UnknownError); _this = _callSuper(this, UnknownError, [ (_message = error === null || error === void 0 ? void 0 : error.message) !== null && _message !== void 0 ? _message : error ]); _this.name = "UnknownError"; _this.code = error.code; if (error instanceof Error) { _this.stack = error.stack; } return _this; } (0, _inherits2.default)(UnknownError, _Error); return (0, _createClass2.default)(UnknownError, [ { key: "toJSON", value: function toJSON() { return { name: this.name, message: this.message, stack: this.stack }; } } ]); }((0, _wrapNativeSuper2.default)(Error)); var OAuthCallbackError = exports.OAuthCallbackError = function(_UnknownError) { function OAuthCallbackError() { var _this2; (0, _classCallCheck2.default)(this, OAuthCallbackError); for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){ args[_key] = arguments[_key]; } _this2 = _callSuper(this, OAuthCallbackError, [].concat(args)); (0, _defineProperty2.default)(_this2, "name", "OAuthCallbackError"); return _this2; } (0, _inherits2.default)(OAuthCallbackError, _UnknownError); return (0, _createClass2.default)(OAuthCallbackError); }(UnknownError); var AccountNotLinkedError = exports.AccountNotLinkedError = function(_UnknownError2) { function AccountNotLinkedError() { var _this3; (0, _classCallCheck2.default)(this, AccountNotLinkedError); for(var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++){ args[_key2] = arguments[_key2]; } _this3 = _callSuper(this, AccountNotLinkedError, [].concat(args)); (0, _defineProperty2.default)(_this3, "name", "AccountNotLinkedError"); return _this3; } (0, _inherits2.default)(AccountNotLinkedError, _UnknownError2); return (0, _createClass2.default)(AccountNotLinkedError); }(UnknownError); var MissingAPIRoute = exports.MissingAPIRoute = function(_UnknownError3) { function MissingAPIRoute() { var _this4; (0, _classCallCheck2.default)(this, MissingAPIRoute); for(var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++){ args[_key3] = arguments[_key3]; } _this4 = _callSuper(this, MissingAPIRoute, [].concat(args)); (0, _defineProperty2.default)(_this4, "name", "MissingAPIRouteError"); (0, _defineProperty2.default)(_this4, "code", "MISSING_NEXTAUTH_API_ROUTE_ERROR"); return _this4; } (0, _inherits2.default)(MissingAPIRoute, _UnknownError3); return (0, _createClass2.default)(MissingAPIRoute); }(UnknownError); var MissingSecret = exports.MissingSecret = function(_UnknownError4) { function MissingSecret() { var _this5; (0, _classCallCheck2.default)(this, MissingSecret); for(var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++){ args[_key4] = arguments[_key4]; } _this5 = _callSuper(this, MissingSecret, [].concat(args)); (0, _defineProperty2.default)(_this5, "name", "MissingSecretError"); (0, _defineProperty2.default)(_this5, "code", "NO_SECRET"); return _this5; } (0, _inherits2.default)(MissingSecret, _UnknownError4); return (0, _createClass2.default)(MissingSecret); }(UnknownError); var MissingAuthorize = exports.MissingAuthorize = function(_UnknownError5) { function MissingAuthorize() { var _this6; (0, _classCallCheck2.default)(this, MissingAuthorize); for(var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++){ args[_key5] = arguments[_key5]; } _this6 = _callSuper(this, MissingAuthorize, [].concat(args)); (0, _defineProperty2.default)(_this6, "name", "MissingAuthorizeError"); (0, _defineProperty2.default)(_this6, "code", "CALLBACK_CREDENTIALS_HANDLER_ERROR"); return _this6; } (0, _inherits2.default)(MissingAuthorize, _UnknownError5); return (0, _createClass2.default)(MissingAuthorize); }(UnknownError); var MissingAdapter = exports.MissingAdapter = function(_UnknownError6) { function MissingAdapter() { var _this7; (0, _classCallCheck2.default)(this, MissingAdapter); for(var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++){ args[_key6] = arguments[_key6]; } _this7 = _callSuper(this, MissingAdapter, [].concat(args)); (0, _defineProperty2.default)(_this7, "name", "MissingAdapterError"); (0, _defineProperty2.default)(_this7, "code", "EMAIL_REQUIRES_ADAPTER_ERROR"); return _this7; } (0, _inherits2.default)(MissingAdapter, _UnknownError6); return (0, _createClass2.default)(MissingAdapter); }(UnknownError); var MissingAdapterMethods = exports.MissingAdapterMethods = function(_UnknownError7) { function MissingAdapterMethods() { var _this8; (0, _classCallCheck2.default)(this, MissingAdapterMethods); for(var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++){ args[_key7] = arguments[_key7]; } _this8 = _callSuper(this, MissingAdapterMethods, [].concat(args)); (0, _defineProperty2.default)(_this8, "name", "MissingAdapterMethodsError"); (0, _defineProperty2.default)(_this8, "code", "MISSING_ADAPTER_METHODS_ERROR"); return _this8; } (0, _inherits2.default)(MissingAdapterMethods, _UnknownError7); return (0, _createClass2.default)(MissingAdapterMethods); }(UnknownError); var UnsupportedStrategy = exports.UnsupportedStrategy = function(_UnknownError8) { function UnsupportedStrategy() { var _this9; (0, _classCallCheck2.default)(this, UnsupportedStrategy); for(var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++){ args[_key8] = arguments[_key8]; } _this9 = _callSuper(this, UnsupportedStrategy, [].concat(args)); (0, _defineProperty2.default)(_this9, "name", "UnsupportedStrategyError"); (0, _defineProperty2.default)(_this9, "code", "CALLBACK_CREDENTIALS_JWT_ERROR"); return _this9; } (0, _inherits2.default)(UnsupportedStrategy, _UnknownError8); return (0, _createClass2.default)(UnsupportedStrategy); }(UnknownError); var InvalidCallbackUrl = exports.InvalidCallbackUrl = function(_UnknownError9) { function InvalidCallbackUrl() { var _this10; (0, _classCallCheck2.default)(this, InvalidCallbackUrl); for(var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++){ args[_key9] = arguments[_key9]; } _this10 = _callSuper(this, InvalidCallbackUrl, [].concat(args)); (0, _defineProperty2.default)(_this10, "name", "InvalidCallbackUrl"); (0, _defineProperty2.default)(_this10, "code", "INVALID_CALLBACK_URL_ERROR"); return _this10; } (0, _inherits2.default)(InvalidCallbackUrl, _UnknownError9); return (0, _createClass2.default)(InvalidCallbackUrl); }(UnknownError); function upperSnake(s) { return s.replace(/([A-Z])/g, "_$1").toUpperCase(); } function capitalize(s) { return "".concat(s[0].toUpperCase()).concat(s.slice(1)); } function eventsErrorHandler(methods, logger) { return Object.keys(methods).reduce(function(acc, name) { acc[name] = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() { var method, _args = arguments; return _regenerator.default.wrap(function _callee$(_context) { while(1)switch(_context.prev = _context.next){ case 0: _context.prev = 0; method = methods[name]; _context.next = 4; return method.apply(void 0, _args); case 4: return _context.abrupt("return", _context.sent); case 7: _context.prev = 7; _context.t0 = _context["catch"](0); logger.error("".concat(upperSnake(name), "_EVENT_ERROR"), _context.t0); case 10: case "end": return _context.stop(); } }, _callee, null, [ [ 0, 7 ] ]); })); return acc; }, {}); } function adapterErrorHandler(adapter, logger) { if (!adapter) return; return Object.keys(adapter).reduce(function(acc, name) { acc[name] = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() { var _len10, args, _key10, method, e, _args2 = arguments; return _regenerator.default.wrap(function _callee2$(_context2) { while(1)switch(_context2.prev = _context2.next){ case 0: _context2.prev = 0; for(_len10 = _args2.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++){ args[_key10] = _args2[_key10]; } logger.debug("adapter_".concat(name), { args: args }); method = adapter[name]; _context2.next = 6; return method.apply(void 0, args); case 6: return _context2.abrupt("return", _context2.sent); case 9: _context2.prev = 9; _context2.t0 = _context2["catch"](0); logger.error("adapter_error_".concat(name), _context2.t0); e = new UnknownError(_context2.t0); e.name = "".concat(capitalize(name), "Error"); throw e; case 15: case "end": return _context2.stop(); } }, _callee2, null, [ [ 0, 9 ] ]); })); return acc; }, {}); } }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/utils/logger.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var _interopRequireDefault = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/interopRequireDefault.js [app-ssr] (ecmascript)"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; exports.proxyLogger = proxyLogger; exports.setLogger = setLogger; var _regenerator = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/regenerator/index.js [app-ssr] (ecmascript)")); var _defineProperty2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/defineProperty.js [app-ssr] (ecmascript)")); var _asyncToGenerator2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/asyncToGenerator.js [app-ssr] (ecmascript)")); var _errors = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/core/errors.js [app-ssr] (ecmascript)"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function(r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for(var r = 1; r < arguments.length; r++){ var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function(r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function formatError(o) { if (o instanceof Error && !(o instanceof _errors.UnknownError)) { return { message: o.message, stack: o.stack, name: o.name }; } if (hasErrorProperty(o)) { var _o$message; o.error = formatError(o.error); o.message = (_o$message = o.message) !== null && _o$message !== void 0 ? _o$message : o.error.message; } return o; } function hasErrorProperty(x) { return !!(x !== null && x !== void 0 && x.error); } var _logger = { error: function error(code, metadata) { metadata = formatError(metadata); console.error("[next-auth][error][".concat(code, "]"), "\nhttps://next-auth.js.org/errors#".concat(code.toLowerCase()), metadata.message, metadata); }, warn: function warn(code) { console.warn("[next-auth][warn][".concat(code, "]"), "\nhttps://next-auth.js.org/warnings#".concat(code.toLowerCase())); }, debug: function debug(code, metadata) { console.log("[next-auth][debug][".concat(code, "]"), metadata); } }; function setLogger() { var newLogger = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var debug = arguments.length > 1 ? arguments[1] : undefined; if (!debug) _logger.debug = function() {}; if (newLogger.error) _logger.error = newLogger.error; if (newLogger.warn) _logger.warn = newLogger.warn; if (newLogger.debug) _logger.debug = newLogger.debug; } var _default = exports.default = _logger; function proxyLogger() { var logger = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _logger; var basePath = arguments.length > 1 ? arguments[1] : undefined; try { if ("TURBOPACK compile-time truthy", 1) { return logger; } //TURBOPACK unreachable ; var clientLogger; var _loop; var level; } catch (_unused) { return _logger; } } }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/utils/parse-url.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = parseUrl; function parseUrl(url) { var _url2; const defaultUrl = new URL("http://localhost:3000/api/auth"); if (url && !url.startsWith("http")) { url = `https://${url}`; } const _url = new URL((_url2 = url) !== null && _url2 !== void 0 ? _url2 : defaultUrl); const path = (_url.pathname === "/" ? defaultUrl.pathname : _url.pathname).replace(/\/$/, ""); const base = `${_url.origin}${path}`; return { origin: _url.origin, host: _url.host, path, base, toString: ()=>base }; } }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/client/_utils.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var _interopRequireDefault = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/interopRequireDefault.js [app-ssr] (ecmascript)"); Object.defineProperty(exports, "__esModule", { value: true }); exports.BroadcastChannel = BroadcastChannel; exports.apiBaseUrl = apiBaseUrl; exports.fetchData = fetchData; exports.now = now; var _regenerator = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/regenerator/index.js [app-ssr] (ecmascript)")); var _defineProperty2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/defineProperty.js [app-ssr] (ecmascript)")); var _asyncToGenerator2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/asyncToGenerator.js [app-ssr] (ecmascript)")); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function(r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for(var r = 1; r < arguments.length; r++){ var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function(r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function fetchData(_x, _x2, _x3) { return _fetchData.apply(this, arguments); } function _fetchData() { _fetchData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(path, __NEXTAUTH, logger) { var _ref, ctx, _ref$req, req, url, _req$headers, options, res, data, _args = arguments; return _regenerator.default.wrap(function _callee$(_context) { while(1)switch(_context.prev = _context.next){ case 0: _ref = _args.length > 3 && _args[3] !== undefined ? _args[3] : {}, ctx = _ref.ctx, _ref$req = _ref.req, req = _ref$req === void 0 ? ctx === null || ctx === void 0 ? void 0 : ctx.req : _ref$req; url = "".concat(apiBaseUrl(__NEXTAUTH), "/").concat(path); _context.prev = 2; options = { headers: _objectSpread({ "Content-Type": "application/json" }, req !== null && req !== void 0 && (_req$headers = req.headers) !== null && _req$headers !== void 0 && _req$headers.cookie ? { cookie: req.headers.cookie } : {}) }; if (req !== null && req !== void 0 && req.body) { options.body = JSON.stringify(req.body); options.method = "POST"; } _context.next = 7; return fetch(url, options); case 7: res = _context.sent; _context.next = 10; return res.json(); case 10: data = _context.sent; if (res.ok) { _context.next = 13; break; } throw data; case 13: return _context.abrupt("return", Object.keys(data).length > 0 ? data : null); case 16: _context.prev = 16; _context.t0 = _context["catch"](2); logger.error("CLIENT_FETCH_ERROR", { error: _context.t0, url: url }); return _context.abrupt("return", null); case 20: case "end": return _context.stop(); } }, _callee, null, [ [ 2, 16 ] ]); })); return _fetchData.apply(this, arguments); } function apiBaseUrl(__NEXTAUTH) { if ("TURBOPACK compile-time truthy", 1) { return "".concat(__NEXTAUTH.baseUrlServer).concat(__NEXTAUTH.basePathServer); } //TURBOPACK unreachable ; } function now() { return Math.floor(Date.now() / 1000); } function BroadcastChannel() { var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "nextauth.message"; return { receive: function receive(onReceive) { var handler = function handler(event) { var _event$newValue; if (event.key !== name) return; var message = JSON.parse((_event$newValue = event.newValue) !== null && _event$newValue !== void 0 ? _event$newValue : "{}"); if ((message === null || message === void 0 ? void 0 : message.event) !== "session" || !(message !== null && message !== void 0 && message.data)) return; onReceive(message); }; window.addEventListener("storage", handler); return function() { return window.removeEventListener("storage", handler); }; }, post: function post(message) { if ("TURBOPACK compile-time truthy", 1) return; //TURBOPACK unreachable ; } }; } }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; module.exports = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/module.compiled.js [app-ssr] (ecmascript)").vendored['react-ssr'].ReactJsxRuntime; //# sourceMappingURL=react-jsx-runtime.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/react/types.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/react/index.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var _interopRequireDefault = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/interopRequireDefault.js [app-ssr] (ecmascript)"); var _typeof = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/typeof.js [app-ssr] (ecmascript)"); Object.defineProperty(exports, "__esModule", { value: true }); var _exportNames = { SessionContext: true, useSession: true, getSession: true, getCsrfToken: true, getProviders: true, signIn: true, signOut: true, SessionProvider: true }; exports.SessionContext = void 0; exports.SessionProvider = SessionProvider; exports.getCsrfToken = getCsrfToken; exports.getProviders = getProviders; exports.getSession = getSession; exports.signIn = signIn; exports.signOut = signOut; exports.useSession = useSession; var _regenerator = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/regenerator/index.js [app-ssr] (ecmascript)")); var _defineProperty2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/defineProperty.js [app-ssr] (ecmascript)")); var _asyncToGenerator2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/asyncToGenerator.js [app-ssr] (ecmascript)")); var _slicedToArray2 = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/slicedToArray.js [app-ssr] (ecmascript)")); var React = _interopRequireWildcard(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)")); var _logger2 = _interopRequireWildcard(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/utils/logger.js [app-ssr] (ecmascript)")); var _parseUrl = _interopRequireDefault(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/utils/parse-url.js [app-ssr] (ecmascript)")); var _utils = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/client/_utils.js [app-ssr] (ecmascript)"); var _jsxRuntime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js [app-ssr] (ecmascript)"); var _types = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next-auth@4.24.13_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__nodemailer@7_3c43d6bc4ecce810d1d16651fe207b00/node_modules/next-auth/react/types.js [app-ssr] (ecmascript)"); Object.keys(_types).forEach(function(key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _types[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _types[key]; } }); }); var _process$env$NEXTAUTH, _ref, _process$env$NEXTAUTH2, _process$env$NEXTAUTH3, _React$createContext; function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for(var u in e)if ("default" !== u && ({}).hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function(r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for(var r = 1; r < arguments.length; r++){ var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function(r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var __NEXTAUTH = { baseUrl: (0, _parseUrl.default)((_process$env$NEXTAUTH = process.env.NEXTAUTH_URL) !== null && _process$env$NEXTAUTH !== void 0 ? _process$env$NEXTAUTH : process.env.VERCEL_URL).origin, basePath: (0, _parseUrl.default)(process.env.NEXTAUTH_URL).path, baseUrlServer: (0, _parseUrl.default)((_ref = (_process$env$NEXTAUTH2 = process.env.NEXTAUTH_URL_INTERNAL) !== null && _process$env$NEXTAUTH2 !== void 0 ? _process$env$NEXTAUTH2 : process.env.NEXTAUTH_URL) !== null && _ref !== void 0 ? _ref : process.env.VERCEL_URL).origin, basePathServer: (0, _parseUrl.default)((_process$env$NEXTAUTH3 = process.env.NEXTAUTH_URL_INTERNAL) !== null && _process$env$NEXTAUTH3 !== void 0 ? _process$env$NEXTAUTH3 : process.env.NEXTAUTH_URL).path, _lastSync: 0, _session: undefined, _getSession: function _getSession() {} }; var broadcast = (0, _utils.BroadcastChannel)(); var logger = (0, _logger2.proxyLogger)(_logger2.default, __NEXTAUTH.basePath); function useOnline() { var _React$useState = React.useState(typeof navigator !== "undefined" ? navigator.onLine : false), _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2), isOnline = _React$useState2[0], setIsOnline = _React$useState2[1]; var setOnline = function setOnline() { return setIsOnline(true); }; var setOffline = function setOffline() { return setIsOnline(false); }; React.useEffect(function() { window.addEventListener("online", setOnline); window.addEventListener("offline", setOffline); return function() { window.removeEventListener("online", setOnline); window.removeEventListener("offline", setOffline); }; }, []); return isOnline; } var SessionContext = exports.SessionContext = (_React$createContext = React.createContext) === null || _React$createContext === void 0 ? void 0 : _React$createContext.call(React, undefined); function useSession(options) { if (!SessionContext) { throw new Error("React Context is unavailable in Server Components"); } var value = React.useContext(SessionContext); if (!value && ("TURBOPACK compile-time value", "development") !== "production") { throw new Error("[next-auth]: `useSession` must be wrapped in a "); } var _ref2 = options !== null && options !== void 0 ? options : {}, required = _ref2.required, onUnauthenticated = _ref2.onUnauthenticated; var requiredAndNotLoading = required && value.status === "unauthenticated"; React.useEffect(function() { if (requiredAndNotLoading) { var url = "/api/auth/signin?".concat(new URLSearchParams({ error: "SessionRequired", callbackUrl: window.location.href })); if (onUnauthenticated) onUnauthenticated(); else window.location.href = url; } }, [ requiredAndNotLoading, onUnauthenticated ]); if (requiredAndNotLoading) { return { data: value.data, update: value.update, status: "loading" }; } return value; } function getSession(_x) { return _getSession2.apply(this, arguments); } function _getSession2() { _getSession2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(params) { var _params$broadcast; var session; return _regenerator.default.wrap(function _callee3$(_context3) { while(1)switch(_context3.prev = _context3.next){ case 0: _context3.next = 2; return (0, _utils.fetchData)("session", __NEXTAUTH, logger, params); case 2: session = _context3.sent; if ((_params$broadcast = params === null || params === void 0 ? void 0 : params.broadcast) !== null && _params$broadcast !== void 0 ? _params$broadcast : true) { broadcast.post({ event: "session", data: { trigger: "getSession" } }); } return _context3.abrupt("return", session); case 5: case "end": return _context3.stop(); } }, _callee3); })); return _getSession2.apply(this, arguments); } function getCsrfToken(_x2) { return _getCsrfToken.apply(this, arguments); } function _getCsrfToken() { _getCsrfToken = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(params) { var response; return _regenerator.default.wrap(function _callee4$(_context4) { while(1)switch(_context4.prev = _context4.next){ case 0: _context4.next = 2; return (0, _utils.fetchData)("csrf", __NEXTAUTH, logger, params); case 2: response = _context4.sent; return _context4.abrupt("return", response === null || response === void 0 ? void 0 : response.csrfToken); case 4: case "end": return _context4.stop(); } }, _callee4); })); return _getCsrfToken.apply(this, arguments); } function getProviders() { return _getProviders.apply(this, arguments); } function _getProviders() { _getProviders = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5() { return _regenerator.default.wrap(function _callee5$(_context5) { while(1)switch(_context5.prev = _context5.next){ case 0: _context5.next = 2; return (0, _utils.fetchData)("providers", __NEXTAUTH, logger); case 2: return _context5.abrupt("return", _context5.sent); case 3: case "end": return _context5.stop(); } }, _callee5); })); return _getProviders.apply(this, arguments); } function signIn(_x3, _x4, _x5) { return _signIn.apply(this, arguments); } function _signIn() { _signIn = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(provider, options, authorizationParams) { var _ref5, _ref5$callbackUrl, callbackUrl, _ref5$redirect, redirect, baseUrl, providers, isCredentials, isEmail, isSupportingReturn, signInUrl, _signInUrl, res, data, _data$url, url, error; return _regenerator.default.wrap(function _callee6$(_context6) { while(1)switch(_context6.prev = _context6.next){ case 0: _ref5 = options !== null && options !== void 0 ? options : {}, _ref5$callbackUrl = _ref5.callbackUrl, callbackUrl = _ref5$callbackUrl === void 0 ? window.location.href : _ref5$callbackUrl, _ref5$redirect = _ref5.redirect, redirect = _ref5$redirect === void 0 ? true : _ref5$redirect; baseUrl = (0, _utils.apiBaseUrl)(__NEXTAUTH); _context6.next = 4; return getProviders(); case 4: providers = _context6.sent; if (providers) { _context6.next = 8; break; } window.location.href = "".concat(baseUrl, "/error"); return _context6.abrupt("return"); case 8: if (!(!provider || !(provider in providers))) { _context6.next = 11; break; } window.location.href = "".concat(baseUrl, "/signin?").concat(new URLSearchParams({ callbackUrl: callbackUrl })); return _context6.abrupt("return"); case 11: isCredentials = providers[provider].type === "credentials"; isEmail = providers[provider].type === "email"; isSupportingReturn = isCredentials || isEmail; signInUrl = "".concat(baseUrl, "/").concat(isCredentials ? "callback" : "signin", "/").concat(provider); _signInUrl = "".concat(signInUrl).concat(authorizationParams ? "?".concat(new URLSearchParams(authorizationParams)) : ""); _context6.t0 = fetch; _context6.t1 = _signInUrl; _context6.t2 = { "Content-Type": "application/x-www-form-urlencoded" }; _context6.t3 = URLSearchParams; _context6.t4 = _objectSpread; _context6.t5 = _objectSpread({}, options); _context6.t6 = {}; _context6.next = 25; return getCsrfToken(); case 25: _context6.t7 = _context6.sent; _context6.t8 = callbackUrl; _context6.t9 = { csrfToken: _context6.t7, callbackUrl: _context6.t8, json: true }; _context6.t10 = (0, _context6.t4)(_context6.t5, _context6.t6, _context6.t9); _context6.t11 = new _context6.t3(_context6.t10); _context6.t12 = { method: "post", headers: _context6.t2, body: _context6.t11 }; _context6.next = 33; return (0, _context6.t0)(_context6.t1, _context6.t12); case 33: res = _context6.sent; _context6.next = 36; return res.json(); case 36: data = _context6.sent; if (!(redirect || !isSupportingReturn)) { _context6.next = 42; break; } url = (_data$url = data.url) !== null && _data$url !== void 0 ? _data$url : callbackUrl; window.location.href = url; if (url.includes("#")) window.location.reload(); return _context6.abrupt("return"); case 42: error = new URL(data.url).searchParams.get("error"); if (!res.ok) { _context6.next = 46; break; } _context6.next = 46; return __NEXTAUTH._getSession({ event: "storage" }); case 46: return _context6.abrupt("return", { error: error, status: res.status, ok: res.ok, url: error ? null : data.url }); case 47: case "end": return _context6.stop(); } }, _callee6); })); return _signIn.apply(this, arguments); } function signOut(_x6) { return _signOut.apply(this, arguments); } function _signOut() { _signOut = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7(options) { var _options$redirect; var _ref6, _ref6$callbackUrl, callbackUrl, baseUrl, fetchOptions, res, data, _data$url2, url; return _regenerator.default.wrap(function _callee7$(_context7) { while(1)switch(_context7.prev = _context7.next){ case 0: _ref6 = options !== null && options !== void 0 ? options : {}, _ref6$callbackUrl = _ref6.callbackUrl, callbackUrl = _ref6$callbackUrl === void 0 ? window.location.href : _ref6$callbackUrl; baseUrl = (0, _utils.apiBaseUrl)(__NEXTAUTH); _context7.t0 = { "Content-Type": "application/x-www-form-urlencoded" }; _context7.t1 = URLSearchParams; _context7.next = 6; return getCsrfToken(); case 6: _context7.t2 = _context7.sent; _context7.t3 = callbackUrl; _context7.t4 = { csrfToken: _context7.t2, callbackUrl: _context7.t3, json: true }; _context7.t5 = new _context7.t1(_context7.t4); fetchOptions = { method: "post", headers: _context7.t0, body: _context7.t5 }; _context7.next = 13; return fetch("".concat(baseUrl, "/signout"), fetchOptions); case 13: res = _context7.sent; _context7.next = 16; return res.json(); case 16: data = _context7.sent; broadcast.post({ event: "session", data: { trigger: "signout" } }); if (!((_options$redirect = options === null || options === void 0 ? void 0 : options.redirect) !== null && _options$redirect !== void 0 ? _options$redirect : true)) { _context7.next = 23; break; } url = (_data$url2 = data.url) !== null && _data$url2 !== void 0 ? _data$url2 : callbackUrl; window.location.href = url; if (url.includes("#")) window.location.reload(); return _context7.abrupt("return"); case 23: _context7.next = 25; return __NEXTAUTH._getSession({ event: "storage" }); case 25: return _context7.abrupt("return", data); case 26: case "end": return _context7.stop(); } }, _callee7); })); return _signOut.apply(this, arguments); } function SessionProvider(props) { if (!SessionContext) { throw new Error("React Context is unavailable in Server Components"); } var children = props.children, basePath = props.basePath, refetchInterval = props.refetchInterval, refetchWhenOffline = props.refetchWhenOffline; if (basePath) __NEXTAUTH.basePath = basePath; var hasInitialSession = props.session !== undefined; __NEXTAUTH._lastSync = hasInitialSession ? (0, _utils.now)() : 0; var _React$useState3 = React.useState(function() { if (hasInitialSession) __NEXTAUTH._session = props.session; return props.session; }), _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2), session = _React$useState4[0], setSession = _React$useState4[1]; var _React$useState5 = React.useState(!hasInitialSession), _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2), loading = _React$useState6[0], setLoading = _React$useState6[1]; React.useEffect(function() { __NEXTAUTH._getSession = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() { var _ref4, event, storageEvent, _args = arguments; return _regenerator.default.wrap(function _callee$(_context) { while(1)switch(_context.prev = _context.next){ case 0: _ref4 = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, event = _ref4.event; _context.prev = 1; storageEvent = event === "storage"; if (!(storageEvent || __NEXTAUTH._session === undefined)) { _context.next = 10; break; } __NEXTAUTH._lastSync = (0, _utils.now)(); _context.next = 7; return getSession({ broadcast: !storageEvent }); case 7: __NEXTAUTH._session = _context.sent; setSession(__NEXTAUTH._session); return _context.abrupt("return"); case 10: if (!(!event || __NEXTAUTH._session === null || (0, _utils.now)() < __NEXTAUTH._lastSync)) { _context.next = 12; break; } return _context.abrupt("return"); case 12: __NEXTAUTH._lastSync = (0, _utils.now)(); _context.next = 15; return getSession(); case 15: __NEXTAUTH._session = _context.sent; setSession(__NEXTAUTH._session); _context.next = 22; break; case 19: _context.prev = 19; _context.t0 = _context["catch"](1); logger.error("CLIENT_SESSION_ERROR", _context.t0); case 22: _context.prev = 22; setLoading(false); return _context.finish(22); case 25: case "end": return _context.stop(); } }, _callee, null, [ [ 1, 19, 22, 25 ] ]); })); __NEXTAUTH._getSession(); return function() { __NEXTAUTH._lastSync = 0; __NEXTAUTH._session = undefined; __NEXTAUTH._getSession = function() {}; }; }, []); React.useEffect(function() { var unsubscribe = broadcast.receive(function() { return __NEXTAUTH._getSession({ event: "storage" }); }); return function() { return unsubscribe(); }; }, []); React.useEffect(function() { var _props$refetchOnWindo = props.refetchOnWindowFocus, refetchOnWindowFocus = _props$refetchOnWindo === void 0 ? true : _props$refetchOnWindo; var visibilityHandler = function visibilityHandler() { if (refetchOnWindowFocus && document.visibilityState === "visible") __NEXTAUTH._getSession({ event: "visibilitychange" }); }; document.addEventListener("visibilitychange", visibilityHandler, false); return function() { return document.removeEventListener("visibilitychange", visibilityHandler, false); }; }, [ props.refetchOnWindowFocus ]); var isOnline = useOnline(); var shouldRefetch = refetchWhenOffline !== false || isOnline; React.useEffect(function() { if (refetchInterval && shouldRefetch) { var refetchIntervalTimer = setInterval(function() { if (__NEXTAUTH._session) { __NEXTAUTH._getSession({ event: "poll" }); } }, refetchInterval * 1000); return function() { return clearInterval(refetchIntervalTimer); }; } }, [ refetchInterval, shouldRefetch ]); var value = React.useMemo(function() { return { data: session, status: loading ? "loading" : session ? "authenticated" : "unauthenticated", update: function update(data) { return (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() { var newSession; return _regenerator.default.wrap(function _callee2$(_context2) { while(1)switch(_context2.prev = _context2.next){ case 0: if (!(loading || !session)) { _context2.next = 2; break; } return _context2.abrupt("return"); case 2: setLoading(true); _context2.t0 = _utils.fetchData; _context2.t1 = __NEXTAUTH; _context2.t2 = logger; _context2.next = 8; return getCsrfToken(); case 8: _context2.t3 = _context2.sent; _context2.t4 = data; _context2.t5 = { csrfToken: _context2.t3, data: _context2.t4 }; _context2.t6 = { body: _context2.t5 }; _context2.t7 = { req: _context2.t6 }; _context2.next = 15; return (0, _context2.t0)("session", _context2.t1, _context2.t2, _context2.t7); case 15: newSession = _context2.sent; setLoading(false); if (newSession) { setSession(newSession); broadcast.post({ event: "session", data: { trigger: "getSession" } }); } return _context2.abrupt("return", newSession); case 19: case "end": return _context2.stop(); } }, _callee2); }))(); } }; }, [ session, loading ]); return (0, _jsxRuntime.jsx)(SessionContext.Provider, { value: value, children: children }); } }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-ssr] (ecmascript)", ((__turbopack_context__) => { "use strict"; // packages/react/compose-refs/src/composeRefs.tsx __turbopack_context__.s([ "composeRefs", ()=>composeRefs, "useComposedRefs", ()=>useComposedRefs ]); var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)"); ; function setRef(ref, value) { if (typeof ref === "function") { return ref(value); } else if (ref !== null && ref !== void 0) { ref.current = value; } } function composeRefs(...refs) { return (node)=>{ let hasCleanup = false; const cleanups = refs.map((ref)=>{ const cleanup = setRef(ref, node); if (!hasCleanup && typeof cleanup == "function") { hasCleanup = true; } return cleanup; }); if (hasCleanup) { return ()=>{ for(let i = 0; i < cleanups.length; i++){ const cleanup = cleanups[i]; if (typeof cleanup == "function") { cleanup(); } else { setRef(refs[i], null); } } }; } }; } function useComposedRefs(...refs) { return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useCallback"](composeRefs(...refs), refs); } ; //# sourceMappingURL=index.mjs.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-slot@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-slot/dist/index.mjs [app-ssr] (ecmascript)", ((__turbopack_context__) => { "use strict"; // packages/react/slot/src/Slot.tsx __turbopack_context__.s([ "Root", ()=>Root, "Slot", ()=>Slot, "Slottable", ()=>Slottable ]); var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)"); var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-ssr] (ecmascript)"); var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js [app-ssr] (ecmascript)"); ; ; ; var Slot = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{ const { children, ...slotProps } = props; const childrenArray = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Children"].toArray(children); const slottable = childrenArray.find(isSlottable); if (slottable) { const newElement = slottable.props.children; const newChildren = childrenArray.map((child)=>{ if (child === slottable) { if (__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Children"].count(newElement) > 1) return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Children"].only(null); return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["isValidElement"](newElement) ? newElement.props.children : null; } else { return child; } }); return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsx"])(SlotClone, { ...slotProps, ref: forwardedRef, children: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["isValidElement"](newElement) ? __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["cloneElement"](newElement, void 0, newChildren) : null }); } return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsx"])(SlotClone, { ...slotProps, ref: forwardedRef, children }); }); Slot.displayName = "Slot"; var SlotClone = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{ const { children, ...slotProps } = props; if (__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["isValidElement"](children)) { const childrenRef = getElementRef(children); return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["cloneElement"](children, { ...mergeProps(slotProps, children.props), // @ts-ignore ref: forwardedRef ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["composeRefs"])(forwardedRef, childrenRef) : childrenRef }); } return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Children"].count(children) > 1 ? __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Children"].only(null) : null; }); SlotClone.displayName = "SlotClone"; var Slottable = ({ children })=>{ return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Fragment"], { children }); }; function isSlottable(child) { return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["isValidElement"](child) && child.type === Slottable; } function mergeProps(slotProps, childProps) { const overrideProps = { ...childProps }; for(const propName in childProps){ const slotPropValue = slotProps[propName]; const childPropValue = childProps[propName]; const isHandler = /^on[A-Z]/.test(propName); if (isHandler) { if (slotPropValue && childPropValue) { overrideProps[propName] = (...args)=>{ childPropValue(...args); slotPropValue(...args); }; } else if (slotPropValue) { overrideProps[propName] = slotPropValue; } } else if (propName === "style") { overrideProps[propName] = { ...slotPropValue, ...childPropValue }; } else if (propName === "className") { overrideProps[propName] = [ slotPropValue, childPropValue ].filter(Boolean).join(" "); } } return { ...slotProps, ...overrideProps }; } function getElementRef(element) { let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get; let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning; if (mayWarn) { return element.ref; } getter = Object.getOwnPropertyDescriptor(element, "ref")?.get; mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning; if (mayWarn) { return element.props.ref; } return element.props.ref || element.ref; } var Root = Slot; ; //# sourceMappingURL=index.mjs.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs [app-ssr] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "clsx", ()=>clsx, "default", ()=>__TURBOPACK__default__export__ ]); function r(e) { var t, f, n = ""; if ("string" == typeof e || "number" == typeof e) n += e; else if ("object" == typeof e) if (Array.isArray(e)) { var o = e.length; for(t = 0; t < o; t++)e[t] && (f = r(e[t])) && (n && (n += " "), n += f); } else for(f in e)e[f] && (n && (n += " "), n += f); return n; } function clsx() { for(var e, t, f = 0, n = "", o = arguments.length; f < o; f++)(e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t); return n; } const __TURBOPACK__default__export__ = clsx; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.mjs [app-ssr] (ecmascript)", ((__turbopack_context__) => { "use strict"; /** * Copyright 2022 Joe Bell. All rights reserved. * * This file is licensed to you under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with the * License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ __turbopack_context__.s([ "cva", ()=>cva, "cx", ()=>cx ]); var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$clsx$40$2$2e$1$2e$1$2f$node_modules$2f$clsx$2f$dist$2f$clsx$2e$mjs__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs [app-ssr] (ecmascript)"); ; const falsyToString = (value)=>typeof value === "boolean" ? `${value}` : value === 0 ? "0" : value; const cx = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$clsx$40$2$2e$1$2e$1$2f$node_modules$2f$clsx$2f$dist$2f$clsx$2e$mjs__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["clsx"]; const cva = (base, config)=>(props)=>{ var _config_compoundVariants; if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className); const { variants, defaultVariants } = config; const getVariantClassNames = Object.keys(variants).map((variant)=>{ const variantProp = props === null || props === void 0 ? void 0 : props[variant]; const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant]; if (variantProp === null) return null; const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp); return variants[variant][variantKey]; }); const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{ let [key, value] = param; if (value === undefined) { return acc; } acc[key] = value; return acc; }, {}); const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{ let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param; return Object.entries(compoundVariantOptions).every((param)=>{ let [key, value] = param; return Array.isArray(value) ? value.includes({ ...defaultVariants, ...propsWithoutUndefined }[key]) : ({ ...defaultVariants, ...propsWithoutUndefined })[key] === value; }) ? [ ...acc, cvClass, cvClassName ] : acc; }, []); return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className); }; }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs [app-ssr] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "createTailwindMerge", ()=>createTailwindMerge, "extendTailwindMerge", ()=>extendTailwindMerge, "fromTheme", ()=>fromTheme, "getDefaultConfig", ()=>getDefaultConfig, "mergeConfigs", ()=>mergeConfigs, "twJoin", ()=>twJoin, "twMerge", ()=>twMerge, "validators", ()=>validators ]); const CLASS_PART_SEPARATOR = '-'; const createClassGroupUtils = (config)=>{ const classMap = createClassMap(config); const { conflictingClassGroups, conflictingClassGroupModifiers } = config; const getClassGroupId = (className)=>{ const classParts = className.split(CLASS_PART_SEPARATOR); // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts. if (classParts[0] === '' && classParts.length !== 1) { classParts.shift(); } return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className); }; const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier)=>{ const conflicts = conflictingClassGroups[classGroupId] || []; if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) { return [ ...conflicts, ...conflictingClassGroupModifiers[classGroupId] ]; } return conflicts; }; return { getClassGroupId, getConflictingClassGroupIds }; }; const getGroupRecursive = (classParts, classPartObject)=>{ if (classParts.length === 0) { return classPartObject.classGroupId; } const currentClassPart = classParts[0]; const nextClassPartObject = classPartObject.nextPart.get(currentClassPart); const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined; if (classGroupFromNextClassPart) { return classGroupFromNextClassPart; } if (classPartObject.validators.length === 0) { return undefined; } const classRest = classParts.join(CLASS_PART_SEPARATOR); return classPartObject.validators.find(({ validator })=>validator(classRest))?.classGroupId; }; const arbitraryPropertyRegex = /^\[(.+)\]$/; const getGroupIdForArbitraryProperty = (className)=>{ if (arbitraryPropertyRegex.test(className)) { const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1]; const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(':')); if (property) { // I use two dots here because one dot is used as prefix for class groups in plugins return 'arbitrary..' + property; } } }; /** * Exported for testing only */ const createClassMap = (config)=>{ const { theme, prefix } = config; const classMap = { nextPart: new Map(), validators: [] }; const prefixedClassGroupEntries = getPrefixedClassGroupEntries(Object.entries(config.classGroups), prefix); prefixedClassGroupEntries.forEach(([classGroupId, classGroup])=>{ processClassesRecursively(classGroup, classMap, classGroupId, theme); }); return classMap; }; const processClassesRecursively = (classGroup, classPartObject, classGroupId, theme)=>{ classGroup.forEach((classDefinition)=>{ if (typeof classDefinition === 'string') { const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition); classPartObjectToEdit.classGroupId = classGroupId; return; } if (typeof classDefinition === 'function') { if (isThemeGetter(classDefinition)) { processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme); return; } classPartObject.validators.push({ validator: classDefinition, classGroupId }); return; } Object.entries(classDefinition).forEach(([key, classGroup])=>{ processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme); }); }); }; const getPart = (classPartObject, path)=>{ let currentClassPartObject = classPartObject; path.split(CLASS_PART_SEPARATOR).forEach((pathPart)=>{ if (!currentClassPartObject.nextPart.has(pathPart)) { currentClassPartObject.nextPart.set(pathPart, { nextPart: new Map(), validators: [] }); } currentClassPartObject = currentClassPartObject.nextPart.get(pathPart); }); return currentClassPartObject; }; const isThemeGetter = (func)=>func.isThemeGetter; const getPrefixedClassGroupEntries = (classGroupEntries, prefix)=>{ if (!prefix) { return classGroupEntries; } return classGroupEntries.map(([classGroupId, classGroup])=>{ const prefixedClassGroup = classGroup.map((classDefinition)=>{ if (typeof classDefinition === 'string') { return prefix + classDefinition; } if (typeof classDefinition === 'object') { return Object.fromEntries(Object.entries(classDefinition).map(([key, value])=>[ prefix + key, value ])); } return classDefinition; }); return [ classGroupId, prefixedClassGroup ]; }); }; // LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance const createLruCache = (maxCacheSize)=>{ if (maxCacheSize < 1) { return { get: ()=>undefined, set: ()=>{} }; } let cacheSize = 0; let cache = new Map(); let previousCache = new Map(); const update = (key, value)=>{ cache.set(key, value); cacheSize++; if (cacheSize > maxCacheSize) { cacheSize = 0; previousCache = cache; cache = new Map(); } }; return { get (key) { let value = cache.get(key); if (value !== undefined) { return value; } if ((value = previousCache.get(key)) !== undefined) { update(key, value); return value; } }, set (key, value) { if (cache.has(key)) { cache.set(key, value); } else { update(key, value); } } }; }; const IMPORTANT_MODIFIER = '!'; const createParseClassName = (config)=>{ const { separator, experimentalParseClassName } = config; const isSeparatorSingleCharacter = separator.length === 1; const firstSeparatorCharacter = separator[0]; const separatorLength = separator.length; // parseClassName inspired by https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js const parseClassName = (className)=>{ const modifiers = []; let bracketDepth = 0; let modifierStart = 0; let postfixModifierPosition; for(let index = 0; index < className.length; index++){ let currentCharacter = className[index]; if (bracketDepth === 0) { if (currentCharacter === firstSeparatorCharacter && (isSeparatorSingleCharacter || className.slice(index, index + separatorLength) === separator)) { modifiers.push(className.slice(modifierStart, index)); modifierStart = index + separatorLength; continue; } if (currentCharacter === '/') { postfixModifierPosition = index; continue; } } if (currentCharacter === '[') { bracketDepth++; } else if (currentCharacter === ']') { bracketDepth--; } } const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart); const hasImportantModifier = baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER); const baseClassName = hasImportantModifier ? baseClassNameWithImportantModifier.substring(1) : baseClassNameWithImportantModifier; const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined; return { modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition }; }; if (experimentalParseClassName) { return (className)=>experimentalParseClassName({ className, parseClassName }); } return parseClassName; }; /** * Sorts modifiers according to following schema: * - Predefined modifiers are sorted alphabetically * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it */ const sortModifiers = (modifiers)=>{ if (modifiers.length <= 1) { return modifiers; } const sortedModifiers = []; let unsortedModifiers = []; modifiers.forEach((modifier)=>{ const isArbitraryVariant = modifier[0] === '['; if (isArbitraryVariant) { sortedModifiers.push(...unsortedModifiers.sort(), modifier); unsortedModifiers = []; } else { unsortedModifiers.push(modifier); } }); sortedModifiers.push(...unsortedModifiers.sort()); return sortedModifiers; }; const createConfigUtils = (config)=>({ cache: createLruCache(config.cacheSize), parseClassName: createParseClassName(config), ...createClassGroupUtils(config) }); const SPLIT_CLASSES_REGEX = /\s+/; const mergeClassList = (classList, configUtils)=>{ const { parseClassName, getClassGroupId, getConflictingClassGroupIds } = configUtils; /** * Set of classGroupIds in following format: * `{importantModifier}{variantModifiers}{classGroupId}` * @example 'float' * @example 'hover:focus:bg-color' * @example 'md:!pr' */ const classGroupsInConflict = []; const classNames = classList.trim().split(SPLIT_CLASSES_REGEX); let result = ''; for(let index = classNames.length - 1; index >= 0; index -= 1){ const originalClassName = classNames[index]; const { modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition } = parseClassName(originalClassName); let hasPostfixModifier = Boolean(maybePostfixModifierPosition); let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName); if (!classGroupId) { if (!hasPostfixModifier) { // Not a Tailwind class result = originalClassName + (result.length > 0 ? ' ' + result : result); continue; } classGroupId = getClassGroupId(baseClassName); if (!classGroupId) { // Not a Tailwind class result = originalClassName + (result.length > 0 ? ' ' + result : result); continue; } hasPostfixModifier = false; } const variantModifier = sortModifiers(modifiers).join(':'); const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier; const classId = modifierId + classGroupId; if (classGroupsInConflict.includes(classId)) { continue; } classGroupsInConflict.push(classId); const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier); for(let i = 0; i < conflictGroups.length; ++i){ const group = conflictGroups[i]; classGroupsInConflict.push(modifierId + group); } // Tailwind class not in conflict result = originalClassName + (result.length > 0 ? ' ' + result : result); } return result; }; /** * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better. * * Specifically: * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts * * Original code has MIT license: Copyright (c) Luke Edwards (lukeed.com) */ function twJoin() { let index = 0; let argument; let resolvedValue; let string = ''; while(index < arguments.length){ if (argument = arguments[index++]) { if (resolvedValue = toValue(argument)) { string && (string += ' '); string += resolvedValue; } } } return string; } const toValue = (mix)=>{ if (typeof mix === 'string') { return mix; } let resolvedValue; let string = ''; for(let k = 0; k < mix.length; k++){ if (mix[k]) { if (resolvedValue = toValue(mix[k])) { string && (string += ' '); string += resolvedValue; } } } return string; }; function createTailwindMerge(createConfigFirst, ...createConfigRest) { let configUtils; let cacheGet; let cacheSet; let functionToCall = initTailwindMerge; function initTailwindMerge(classList) { const config = createConfigRest.reduce((previousConfig, createConfigCurrent)=>createConfigCurrent(previousConfig), createConfigFirst()); configUtils = createConfigUtils(config); cacheGet = configUtils.cache.get; cacheSet = configUtils.cache.set; functionToCall = tailwindMerge; return tailwindMerge(classList); } function tailwindMerge(classList) { const cachedResult = cacheGet(classList); if (cachedResult) { return cachedResult; } const result = mergeClassList(classList, configUtils); cacheSet(classList, result); return result; } return function callTailwindMerge() { return functionToCall(twJoin.apply(null, arguments)); }; } const fromTheme = (key)=>{ const themeGetter = (theme)=>theme[key] || []; themeGetter.isThemeGetter = true; return themeGetter; }; const arbitraryValueRegex = /^\[(?:([a-z-]+):)?(.+)\]$/i; const fractionRegex = /^\d+\/\d+$/; const stringLengths = /*#__PURE__*/ new Set([ 'px', 'full', 'screen' ]); const tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/; const lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/; const colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/; // Shadow always begins with x and y offset separated by underscore optionally prepended by inset const shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/; const imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/; const isLength = (value)=>isNumber(value) || stringLengths.has(value) || fractionRegex.test(value); const isArbitraryLength = (value)=>getIsArbitraryValue(value, 'length', isLengthOnly); const isNumber = (value)=>Boolean(value) && !Number.isNaN(Number(value)); const isArbitraryNumber = (value)=>getIsArbitraryValue(value, 'number', isNumber); const isInteger = (value)=>Boolean(value) && Number.isInteger(Number(value)); const isPercent = (value)=>value.endsWith('%') && isNumber(value.slice(0, -1)); const isArbitraryValue = (value)=>arbitraryValueRegex.test(value); const isTshirtSize = (value)=>tshirtUnitRegex.test(value); const sizeLabels = /*#__PURE__*/ new Set([ 'length', 'size', 'percentage' ]); const isArbitrarySize = (value)=>getIsArbitraryValue(value, sizeLabels, isNever); const isArbitraryPosition = (value)=>getIsArbitraryValue(value, 'position', isNever); const imageLabels = /*#__PURE__*/ new Set([ 'image', 'url' ]); const isArbitraryImage = (value)=>getIsArbitraryValue(value, imageLabels, isImage); const isArbitraryShadow = (value)=>getIsArbitraryValue(value, '', isShadow); const isAny = ()=>true; const getIsArbitraryValue = (value, label, testValue)=>{ const result = arbitraryValueRegex.exec(value); if (result) { if (result[1]) { return typeof label === 'string' ? result[1] === label : label.has(result[1]); } return testValue(result[2]); } return false; }; const isLengthOnly = (value)=>// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. lengthUnitRegex.test(value) && !colorFunctionRegex.test(value); const isNever = ()=>false; const isShadow = (value)=>shadowRegex.test(value); const isImage = (value)=>imageRegex.test(value); const validators = /*#__PURE__*/ Object.defineProperty({ __proto__: null, isAny, isArbitraryImage, isArbitraryLength, isArbitraryNumber, isArbitraryPosition, isArbitraryShadow, isArbitrarySize, isArbitraryValue, isInteger, isLength, isNumber, isPercent, isTshirtSize }, Symbol.toStringTag, { value: 'Module' }); const getDefaultConfig = ()=>{ const colors = fromTheme('colors'); const spacing = fromTheme('spacing'); const blur = fromTheme('blur'); const brightness = fromTheme('brightness'); const borderColor = fromTheme('borderColor'); const borderRadius = fromTheme('borderRadius'); const borderSpacing = fromTheme('borderSpacing'); const borderWidth = fromTheme('borderWidth'); const contrast = fromTheme('contrast'); const grayscale = fromTheme('grayscale'); const hueRotate = fromTheme('hueRotate'); const invert = fromTheme('invert'); const gap = fromTheme('gap'); const gradientColorStops = fromTheme('gradientColorStops'); const gradientColorStopPositions = fromTheme('gradientColorStopPositions'); const inset = fromTheme('inset'); const margin = fromTheme('margin'); const opacity = fromTheme('opacity'); const padding = fromTheme('padding'); const saturate = fromTheme('saturate'); const scale = fromTheme('scale'); const sepia = fromTheme('sepia'); const skew = fromTheme('skew'); const space = fromTheme('space'); const translate = fromTheme('translate'); const getOverscroll = ()=>[ 'auto', 'contain', 'none' ]; const getOverflow = ()=>[ 'auto', 'hidden', 'clip', 'visible', 'scroll' ]; const getSpacingWithAutoAndArbitrary = ()=>[ 'auto', isArbitraryValue, spacing ]; const getSpacingWithArbitrary = ()=>[ isArbitraryValue, spacing ]; const getLengthWithEmptyAndArbitrary = ()=>[ '', isLength, isArbitraryLength ]; const getNumberWithAutoAndArbitrary = ()=>[ 'auto', isNumber, isArbitraryValue ]; const getPositions = ()=>[ 'bottom', 'center', 'left', 'left-bottom', 'left-top', 'right', 'right-bottom', 'right-top', 'top' ]; const getLineStyles = ()=>[ 'solid', 'dashed', 'dotted', 'double', 'none' ]; const getBlendModes = ()=>[ 'normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity' ]; const getAlign = ()=>[ 'start', 'end', 'center', 'between', 'around', 'evenly', 'stretch' ]; const getZeroAndEmpty = ()=>[ '', '0', isArbitraryValue ]; const getBreaks = ()=>[ 'auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column' ]; const getNumberAndArbitrary = ()=>[ isNumber, isArbitraryValue ]; return { cacheSize: 500, separator: ':', theme: { colors: [ isAny ], spacing: [ isLength, isArbitraryLength ], blur: [ 'none', '', isTshirtSize, isArbitraryValue ], brightness: getNumberAndArbitrary(), borderColor: [ colors ], borderRadius: [ 'none', '', 'full', isTshirtSize, isArbitraryValue ], borderSpacing: getSpacingWithArbitrary(), borderWidth: getLengthWithEmptyAndArbitrary(), contrast: getNumberAndArbitrary(), grayscale: getZeroAndEmpty(), hueRotate: getNumberAndArbitrary(), invert: getZeroAndEmpty(), gap: getSpacingWithArbitrary(), gradientColorStops: [ colors ], gradientColorStopPositions: [ isPercent, isArbitraryLength ], inset: getSpacingWithAutoAndArbitrary(), margin: getSpacingWithAutoAndArbitrary(), opacity: getNumberAndArbitrary(), padding: getSpacingWithArbitrary(), saturate: getNumberAndArbitrary(), scale: getNumberAndArbitrary(), sepia: getZeroAndEmpty(), skew: getNumberAndArbitrary(), space: getSpacingWithArbitrary(), translate: getSpacingWithArbitrary() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [ { aspect: [ 'auto', 'square', 'video', isArbitraryValue ] } ], /** * Container * @see https://tailwindcss.com/docs/container */ container: [ 'container' ], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [ { columns: [ isTshirtSize ] } ], /** * Break After * @see https://tailwindcss.com/docs/break-after */ 'break-after': [ { 'break-after': getBreaks() } ], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ 'break-before': [ { 'break-before': getBreaks() } ], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ 'break-inside': [ { 'break-inside': [ 'auto', 'avoid', 'avoid-page', 'avoid-column' ] } ], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ 'box-decoration': [ { 'box-decoration': [ 'slice', 'clone' ] } ], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [ { box: [ 'border', 'content' ] } ], /** * Display * @see https://tailwindcss.com/docs/display */ display: [ 'block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table', 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row-group', 'table-row', 'flow-root', 'grid', 'inline-grid', 'contents', 'list-item', 'hidden' ], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [ { float: [ 'right', 'left', 'none', 'start', 'end' ] } ], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [ { clear: [ 'left', 'right', 'both', 'none', 'start', 'end' ] } ], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: [ 'isolate', 'isolation-auto' ], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ 'object-fit': [ { object: [ 'contain', 'cover', 'fill', 'none', 'scale-down' ] } ], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ 'object-position': [ { object: [ ...getPositions(), isArbitraryValue ] } ], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [ { overflow: getOverflow() } ], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ 'overflow-x': [ { 'overflow-x': getOverflow() } ], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ 'overflow-y': [ { 'overflow-y': getOverflow() } ], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [ { overscroll: getOverscroll() } ], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ 'overscroll-x': [ { 'overscroll-x': getOverscroll() } ], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ 'overscroll-y': [ { 'overscroll-y': getOverscroll() } ], /** * Position * @see https://tailwindcss.com/docs/position */ position: [ 'static', 'fixed', 'absolute', 'relative', 'sticky' ], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [ { inset: [ inset ] } ], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ 'inset-x': [ { 'inset-x': [ inset ] } ], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ 'inset-y': [ { 'inset-y': [ inset ] } ], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [ { start: [ inset ] } ], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [ { end: [ inset ] } ], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [ { top: [ inset ] } ], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [ { right: [ inset ] } ], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [ { bottom: [ inset ] } ], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [ { left: [ inset ] } ], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: [ 'visible', 'invisible', 'collapse' ], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [ { z: [ 'auto', isInteger, isArbitraryValue ] } ], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [ { basis: getSpacingWithAutoAndArbitrary() } ], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ 'flex-direction': [ { flex: [ 'row', 'row-reverse', 'col', 'col-reverse' ] } ], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ 'flex-wrap': [ { flex: [ 'wrap', 'wrap-reverse', 'nowrap' ] } ], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [ { flex: [ '1', 'auto', 'initial', 'none', isArbitraryValue ] } ], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [ { grow: getZeroAndEmpty() } ], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [ { shrink: getZeroAndEmpty() } ], /** * Order * @see https://tailwindcss.com/docs/order */ order: [ { order: [ 'first', 'last', 'none', isInteger, isArbitraryValue ] } ], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ 'grid-cols': [ { 'grid-cols': [ isAny ] } ], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ 'col-start-end': [ { col: [ 'auto', { span: [ 'full', isInteger, isArbitraryValue ] }, isArbitraryValue ] } ], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ 'col-start': [ { 'col-start': getNumberWithAutoAndArbitrary() } ], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ 'col-end': [ { 'col-end': getNumberWithAutoAndArbitrary() } ], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ 'grid-rows': [ { 'grid-rows': [ isAny ] } ], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ 'row-start-end': [ { row: [ 'auto', { span: [ isInteger, isArbitraryValue ] }, isArbitraryValue ] } ], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ 'row-start': [ { 'row-start': getNumberWithAutoAndArbitrary() } ], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ 'row-end': [ { 'row-end': getNumberWithAutoAndArbitrary() } ], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ 'grid-flow': [ { 'grid-flow': [ 'row', 'col', 'dense', 'row-dense', 'col-dense' ] } ], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ 'auto-cols': [ { 'auto-cols': [ 'auto', 'min', 'max', 'fr', isArbitraryValue ] } ], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ 'auto-rows': [ { 'auto-rows': [ 'auto', 'min', 'max', 'fr', isArbitraryValue ] } ], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [ { gap: [ gap ] } ], /** * Gap X * @see https://tailwindcss.com/docs/gap */ 'gap-x': [ { 'gap-x': [ gap ] } ], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ 'gap-y': [ { 'gap-y': [ gap ] } ], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ 'justify-content': [ { justify: [ 'normal', ...getAlign() ] } ], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ 'justify-items': [ { 'justify-items': [ 'start', 'end', 'center', 'stretch' ] } ], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ 'justify-self': [ { 'justify-self': [ 'auto', 'start', 'end', 'center', 'stretch' ] } ], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ 'align-content': [ { content: [ 'normal', ...getAlign(), 'baseline' ] } ], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ 'align-items': [ { items: [ 'start', 'end', 'center', 'baseline', 'stretch' ] } ], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ 'align-self': [ { self: [ 'auto', 'start', 'end', 'center', 'stretch', 'baseline' ] } ], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ 'place-content': [ { 'place-content': [ ...getAlign(), 'baseline' ] } ], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ 'place-items': [ { 'place-items': [ 'start', 'end', 'center', 'baseline', 'stretch' ] } ], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ 'place-self': [ { 'place-self': [ 'auto', 'start', 'end', 'center', 'stretch' ] } ], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [ { p: [ padding ] } ], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [ { px: [ padding ] } ], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [ { py: [ padding ] } ], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [ { ps: [ padding ] } ], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [ { pe: [ padding ] } ], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [ { pt: [ padding ] } ], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [ { pr: [ padding ] } ], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [ { pb: [ padding ] } ], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [ { pl: [ padding ] } ], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [ { m: [ margin ] } ], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [ { mx: [ margin ] } ], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [ { my: [ margin ] } ], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [ { ms: [ margin ] } ], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [ { me: [ margin ] } ], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [ { mt: [ margin ] } ], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [ { mr: [ margin ] } ], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [ { mb: [ margin ] } ], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [ { ml: [ margin ] } ], /** * Space Between X * @see https://tailwindcss.com/docs/space */ 'space-x': [ { 'space-x': [ space ] } ], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ 'space-x-reverse': [ 'space-x-reverse' ], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ 'space-y': [ { 'space-y': [ space ] } ], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ 'space-y-reverse': [ 'space-y-reverse' ], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [ { w: [ 'auto', 'min', 'max', 'fit', 'svw', 'lvw', 'dvw', isArbitraryValue, spacing ] } ], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ 'min-w': [ { 'min-w': [ isArbitraryValue, spacing, 'min', 'max', 'fit' ] } ], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ 'max-w': [ { 'max-w': [ isArbitraryValue, spacing, 'none', 'full', 'min', 'max', 'fit', 'prose', { screen: [ isTshirtSize ] }, isTshirtSize ] } ], /** * Height * @see https://tailwindcss.com/docs/height */ h: [ { h: [ isArbitraryValue, spacing, 'auto', 'min', 'max', 'fit', 'svh', 'lvh', 'dvh' ] } ], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ 'min-h': [ { 'min-h': [ isArbitraryValue, spacing, 'min', 'max', 'fit', 'svh', 'lvh', 'dvh' ] } ], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ 'max-h': [ { 'max-h': [ isArbitraryValue, spacing, 'min', 'max', 'fit', 'svh', 'lvh', 'dvh' ] } ], /** * Size * @see https://tailwindcss.com/docs/size */ size: [ { size: [ isArbitraryValue, spacing, 'auto', 'min', 'max', 'fit' ] } ], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ 'font-size': [ { text: [ 'base', isTshirtSize, isArbitraryLength ] } ], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ 'font-smoothing': [ 'antialiased', 'subpixel-antialiased' ], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ 'font-style': [ 'italic', 'not-italic' ], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ 'font-weight': [ { font: [ 'thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black', isArbitraryNumber ] } ], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ 'font-family': [ { font: [ isAny ] } ], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ 'fvn-normal': [ 'normal-nums' ], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ 'fvn-ordinal': [ 'ordinal' ], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ 'fvn-slashed-zero': [ 'slashed-zero' ], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ 'fvn-figure': [ 'lining-nums', 'oldstyle-nums' ], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ 'fvn-spacing': [ 'proportional-nums', 'tabular-nums' ], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ 'fvn-fraction': [ 'diagonal-fractions', 'stacked-fractions' ], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [ { tracking: [ 'tighter', 'tight', 'normal', 'wide', 'wider', 'widest', isArbitraryValue ] } ], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ 'line-clamp': [ { 'line-clamp': [ 'none', isNumber, isArbitraryNumber ] } ], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [ { leading: [ 'none', 'tight', 'snug', 'normal', 'relaxed', 'loose', isLength, isArbitraryValue ] } ], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ 'list-image': [ { 'list-image': [ 'none', isArbitraryValue ] } ], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ 'list-style-type': [ { list: [ 'none', 'disc', 'decimal', isArbitraryValue ] } ], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ 'list-style-position': [ { list: [ 'inside', 'outside' ] } ], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ 'placeholder-color': [ { placeholder: [ colors ] } ], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ 'placeholder-opacity': [ { 'placeholder-opacity': [ opacity ] } ], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ 'text-alignment': [ { text: [ 'left', 'center', 'right', 'justify', 'start', 'end' ] } ], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ 'text-color': [ { text: [ colors ] } ], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ 'text-opacity': [ { 'text-opacity': [ opacity ] } ], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ 'text-decoration': [ 'underline', 'overline', 'line-through', 'no-underline' ], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ 'text-decoration-style': [ { decoration: [ ...getLineStyles(), 'wavy' ] } ], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ 'text-decoration-thickness': [ { decoration: [ 'auto', 'from-font', isLength, isArbitraryLength ] } ], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ 'underline-offset': [ { 'underline-offset': [ 'auto', isLength, isArbitraryValue ] } ], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ 'text-decoration-color': [ { decoration: [ colors ] } ], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ 'text-transform': [ 'uppercase', 'lowercase', 'capitalize', 'normal-case' ], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ 'text-overflow': [ 'truncate', 'text-ellipsis', 'text-clip' ], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ 'text-wrap': [ { text: [ 'wrap', 'nowrap', 'balance', 'pretty' ] } ], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [ { indent: getSpacingWithArbitrary() } ], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ 'vertical-align': [ { align: [ 'baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryValue ] } ], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [ { whitespace: [ 'normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces' ] } ], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [ { break: [ 'normal', 'words', 'all', 'keep' ] } ], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [ { hyphens: [ 'none', 'manual', 'auto' ] } ], /** * Content * @see https://tailwindcss.com/docs/content */ content: [ { content: [ 'none', isArbitraryValue ] } ], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ 'bg-attachment': [ { bg: [ 'fixed', 'local', 'scroll' ] } ], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ 'bg-clip': [ { 'bg-clip': [ 'border', 'padding', 'content', 'text' ] } ], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ 'bg-opacity': [ { 'bg-opacity': [ opacity ] } ], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ 'bg-origin': [ { 'bg-origin': [ 'border', 'padding', 'content' ] } ], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ 'bg-position': [ { bg: [ ...getPositions(), isArbitraryPosition ] } ], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ 'bg-repeat': [ { bg: [ 'no-repeat', { repeat: [ '', 'x', 'y', 'round', 'space' ] } ] } ], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ 'bg-size': [ { bg: [ 'auto', 'cover', 'contain', isArbitrarySize ] } ], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ 'bg-image': [ { bg: [ 'none', { 'gradient-to': [ 't', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl' ] }, isArbitraryImage ] } ], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ 'bg-color': [ { bg: [ colors ] } ], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ 'gradient-from-pos': [ { from: [ gradientColorStopPositions ] } ], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ 'gradient-via-pos': [ { via: [ gradientColorStopPositions ] } ], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ 'gradient-to-pos': [ { to: [ gradientColorStopPositions ] } ], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ 'gradient-from': [ { from: [ gradientColorStops ] } ], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ 'gradient-via': [ { via: [ gradientColorStops ] } ], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ 'gradient-to': [ { to: [ gradientColorStops ] } ], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [ { rounded: [ borderRadius ] } ], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ 'rounded-s': [ { 'rounded-s': [ borderRadius ] } ], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ 'rounded-e': [ { 'rounded-e': [ borderRadius ] } ], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ 'rounded-t': [ { 'rounded-t': [ borderRadius ] } ], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ 'rounded-r': [ { 'rounded-r': [ borderRadius ] } ], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ 'rounded-b': [ { 'rounded-b': [ borderRadius ] } ], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ 'rounded-l': [ { 'rounded-l': [ borderRadius ] } ], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ 'rounded-ss': [ { 'rounded-ss': [ borderRadius ] } ], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ 'rounded-se': [ { 'rounded-se': [ borderRadius ] } ], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ 'rounded-ee': [ { 'rounded-ee': [ borderRadius ] } ], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ 'rounded-es': [ { 'rounded-es': [ borderRadius ] } ], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ 'rounded-tl': [ { 'rounded-tl': [ borderRadius ] } ], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ 'rounded-tr': [ { 'rounded-tr': [ borderRadius ] } ], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ 'rounded-br': [ { 'rounded-br': [ borderRadius ] } ], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ 'rounded-bl': [ { 'rounded-bl': [ borderRadius ] } ], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ 'border-w': [ { border: [ borderWidth ] } ], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ 'border-w-x': [ { 'border-x': [ borderWidth ] } ], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ 'border-w-y': [ { 'border-y': [ borderWidth ] } ], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ 'border-w-s': [ { 'border-s': [ borderWidth ] } ], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ 'border-w-e': [ { 'border-e': [ borderWidth ] } ], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ 'border-w-t': [ { 'border-t': [ borderWidth ] } ], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ 'border-w-r': [ { 'border-r': [ borderWidth ] } ], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ 'border-w-b': [ { 'border-b': [ borderWidth ] } ], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ 'border-w-l': [ { 'border-l': [ borderWidth ] } ], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ 'border-opacity': [ { 'border-opacity': [ opacity ] } ], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ 'border-style': [ { border: [ ...getLineStyles(), 'hidden' ] } ], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ 'divide-x': [ { 'divide-x': [ borderWidth ] } ], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ 'divide-x-reverse': [ 'divide-x-reverse' ], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ 'divide-y': [ { 'divide-y': [ borderWidth ] } ], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ 'divide-y-reverse': [ 'divide-y-reverse' ], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ 'divide-opacity': [ { 'divide-opacity': [ opacity ] } ], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ 'divide-style': [ { divide: getLineStyles() } ], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ 'border-color': [ { border: [ borderColor ] } ], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ 'border-color-x': [ { 'border-x': [ borderColor ] } ], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ 'border-color-y': [ { 'border-y': [ borderColor ] } ], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ 'border-color-s': [ { 'border-s': [ borderColor ] } ], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ 'border-color-e': [ { 'border-e': [ borderColor ] } ], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ 'border-color-t': [ { 'border-t': [ borderColor ] } ], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ 'border-color-r': [ { 'border-r': [ borderColor ] } ], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ 'border-color-b': [ { 'border-b': [ borderColor ] } ], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ 'border-color-l': [ { 'border-l': [ borderColor ] } ], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ 'divide-color': [ { divide: [ borderColor ] } ], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ 'outline-style': [ { outline: [ '', ...getLineStyles() ] } ], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ 'outline-offset': [ { 'outline-offset': [ isLength, isArbitraryValue ] } ], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ 'outline-w': [ { outline: [ isLength, isArbitraryLength ] } ], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ 'outline-color': [ { outline: [ colors ] } ], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ 'ring-w': [ { ring: getLengthWithEmptyAndArbitrary() } ], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ 'ring-w-inset': [ 'ring-inset' ], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ 'ring-color': [ { ring: [ colors ] } ], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ 'ring-opacity': [ { 'ring-opacity': [ opacity ] } ], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ 'ring-offset-w': [ { 'ring-offset': [ isLength, isArbitraryLength ] } ], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ 'ring-offset-color': [ { 'ring-offset': [ colors ] } ], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [ { shadow: [ '', 'inner', 'none', isTshirtSize, isArbitraryShadow ] } ], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ 'shadow-color': [ { shadow: [ isAny ] } ], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [ { opacity: [ opacity ] } ], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ 'mix-blend': [ { 'mix-blend': [ ...getBlendModes(), 'plus-lighter', 'plus-darker' ] } ], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ 'bg-blend': [ { 'bg-blend': getBlendModes() } ], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [ { filter: [ '', 'none' ] } ], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [ { blur: [ blur ] } ], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [ { brightness: [ brightness ] } ], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [ { contrast: [ contrast ] } ], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ 'drop-shadow': [ { 'drop-shadow': [ '', 'none', isTshirtSize, isArbitraryValue ] } ], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [ { grayscale: [ grayscale ] } ], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ 'hue-rotate': [ { 'hue-rotate': [ hueRotate ] } ], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [ { invert: [ invert ] } ], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [ { saturate: [ saturate ] } ], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [ { sepia: [ sepia ] } ], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ 'backdrop-filter': [ { 'backdrop-filter': [ '', 'none' ] } ], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ 'backdrop-blur': [ { 'backdrop-blur': [ blur ] } ], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ 'backdrop-brightness': [ { 'backdrop-brightness': [ brightness ] } ], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ 'backdrop-contrast': [ { 'backdrop-contrast': [ contrast ] } ], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ 'backdrop-grayscale': [ { 'backdrop-grayscale': [ grayscale ] } ], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ 'backdrop-hue-rotate': [ { 'backdrop-hue-rotate': [ hueRotate ] } ], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ 'backdrop-invert': [ { 'backdrop-invert': [ invert ] } ], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ 'backdrop-opacity': [ { 'backdrop-opacity': [ opacity ] } ], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ 'backdrop-saturate': [ { 'backdrop-saturate': [ saturate ] } ], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ 'backdrop-sepia': [ { 'backdrop-sepia': [ sepia ] } ], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ 'border-collapse': [ { border: [ 'collapse', 'separate' ] } ], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ 'border-spacing': [ { 'border-spacing': [ borderSpacing ] } ], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ 'border-spacing-x': [ { 'border-spacing-x': [ borderSpacing ] } ], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ 'border-spacing-y': [ { 'border-spacing-y': [ borderSpacing ] } ], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ 'table-layout': [ { table: [ 'auto', 'fixed' ] } ], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [ { caption: [ 'top', 'bottom' ] } ], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [ { transition: [ 'none', 'all', '', 'colors', 'opacity', 'shadow', 'transform', isArbitraryValue ] } ], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [ { duration: getNumberAndArbitrary() } ], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [ { ease: [ 'linear', 'in', 'out', 'in-out', isArbitraryValue ] } ], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [ { delay: getNumberAndArbitrary() } ], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [ { animate: [ 'none', 'spin', 'ping', 'pulse', 'bounce', isArbitraryValue ] } ], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [ { transform: [ '', 'gpu', 'none' ] } ], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [ { scale: [ scale ] } ], /** * Scale X * @see https://tailwindcss.com/docs/scale */ 'scale-x': [ { 'scale-x': [ scale ] } ], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ 'scale-y': [ { 'scale-y': [ scale ] } ], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [ { rotate: [ isInteger, isArbitraryValue ] } ], /** * Translate X * @see https://tailwindcss.com/docs/translate */ 'translate-x': [ { 'translate-x': [ translate ] } ], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ 'translate-y': [ { 'translate-y': [ translate ] } ], /** * Skew X * @see https://tailwindcss.com/docs/skew */ 'skew-x': [ { 'skew-x': [ skew ] } ], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ 'skew-y': [ { 'skew-y': [ skew ] } ], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ 'transform-origin': [ { origin: [ 'center', 'top', 'top-right', 'right', 'bottom-right', 'bottom', 'bottom-left', 'left', 'top-left', isArbitraryValue ] } ], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [ { accent: [ 'auto', colors ] } ], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [ { appearance: [ 'none', 'auto' ] } ], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [ { cursor: [ 'auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out', isArbitraryValue ] } ], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ 'caret-color': [ { caret: [ colors ] } ], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ 'pointer-events': [ { 'pointer-events': [ 'none', 'auto' ] } ], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [ { resize: [ 'none', 'y', 'x', '' ] } ], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ 'scroll-behavior': [ { scroll: [ 'auto', 'smooth' ] } ], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ 'scroll-m': [ { 'scroll-m': getSpacingWithArbitrary() } ], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ 'scroll-mx': [ { 'scroll-mx': getSpacingWithArbitrary() } ], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ 'scroll-my': [ { 'scroll-my': getSpacingWithArbitrary() } ], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ 'scroll-ms': [ { 'scroll-ms': getSpacingWithArbitrary() } ], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ 'scroll-me': [ { 'scroll-me': getSpacingWithArbitrary() } ], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ 'scroll-mt': [ { 'scroll-mt': getSpacingWithArbitrary() } ], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ 'scroll-mr': [ { 'scroll-mr': getSpacingWithArbitrary() } ], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ 'scroll-mb': [ { 'scroll-mb': getSpacingWithArbitrary() } ], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ 'scroll-ml': [ { 'scroll-ml': getSpacingWithArbitrary() } ], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ 'scroll-p': [ { 'scroll-p': getSpacingWithArbitrary() } ], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ 'scroll-px': [ { 'scroll-px': getSpacingWithArbitrary() } ], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ 'scroll-py': [ { 'scroll-py': getSpacingWithArbitrary() } ], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ 'scroll-ps': [ { 'scroll-ps': getSpacingWithArbitrary() } ], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ 'scroll-pe': [ { 'scroll-pe': getSpacingWithArbitrary() } ], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ 'scroll-pt': [ { 'scroll-pt': getSpacingWithArbitrary() } ], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ 'scroll-pr': [ { 'scroll-pr': getSpacingWithArbitrary() } ], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ 'scroll-pb': [ { 'scroll-pb': getSpacingWithArbitrary() } ], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ 'scroll-pl': [ { 'scroll-pl': getSpacingWithArbitrary() } ], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ 'snap-align': [ { snap: [ 'start', 'end', 'center', 'align-none' ] } ], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ 'snap-stop': [ { snap: [ 'normal', 'always' ] } ], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ 'snap-type': [ { snap: [ 'none', 'x', 'y', 'both' ] } ], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ 'snap-strictness': [ { snap: [ 'mandatory', 'proximity' ] } ], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [ { touch: [ 'auto', 'none', 'manipulation' ] } ], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ 'touch-x': [ { 'touch-pan': [ 'x', 'left', 'right' ] } ], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ 'touch-y': [ { 'touch-pan': [ 'y', 'up', 'down' ] } ], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ 'touch-pz': [ 'touch-pinch-zoom' ], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [ { select: [ 'none', 'text', 'all', 'auto' ] } ], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ 'will-change': [ { 'will-change': [ 'auto', 'scroll', 'contents', 'transform', isArbitraryValue ] } ], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [ { fill: [ colors, 'none' ] } ], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ 'stroke-w': [ { stroke: [ isLength, isArbitraryLength, isArbitraryNumber ] } ], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [ { stroke: [ colors, 'none' ] } ], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: [ 'sr-only', 'not-sr-only' ], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ 'forced-color-adjust': [ { 'forced-color-adjust': [ 'auto', 'none' ] } ] }, conflictingClassGroups: { overflow: [ 'overflow-x', 'overflow-y' ], overscroll: [ 'overscroll-x', 'overscroll-y' ], inset: [ 'inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left' ], 'inset-x': [ 'right', 'left' ], 'inset-y': [ 'top', 'bottom' ], flex: [ 'basis', 'grow', 'shrink' ], gap: [ 'gap-x', 'gap-y' ], p: [ 'px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl' ], px: [ 'pr', 'pl' ], py: [ 'pt', 'pb' ], m: [ 'mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml' ], mx: [ 'mr', 'ml' ], my: [ 'mt', 'mb' ], size: [ 'w', 'h' ], 'font-size': [ 'leading' ], 'fvn-normal': [ 'fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction' ], 'fvn-ordinal': [ 'fvn-normal' ], 'fvn-slashed-zero': [ 'fvn-normal' ], 'fvn-figure': [ 'fvn-normal' ], 'fvn-spacing': [ 'fvn-normal' ], 'fvn-fraction': [ 'fvn-normal' ], 'line-clamp': [ 'display', 'overflow' ], rounded: [ 'rounded-s', 'rounded-e', 'rounded-t', 'rounded-r', 'rounded-b', 'rounded-l', 'rounded-ss', 'rounded-se', 'rounded-ee', 'rounded-es', 'rounded-tl', 'rounded-tr', 'rounded-br', 'rounded-bl' ], 'rounded-s': [ 'rounded-ss', 'rounded-es' ], 'rounded-e': [ 'rounded-se', 'rounded-ee' ], 'rounded-t': [ 'rounded-tl', 'rounded-tr' ], 'rounded-r': [ 'rounded-tr', 'rounded-br' ], 'rounded-b': [ 'rounded-br', 'rounded-bl' ], 'rounded-l': [ 'rounded-tl', 'rounded-bl' ], 'border-spacing': [ 'border-spacing-x', 'border-spacing-y' ], 'border-w': [ 'border-w-s', 'border-w-e', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l' ], 'border-w-x': [ 'border-w-r', 'border-w-l' ], 'border-w-y': [ 'border-w-t', 'border-w-b' ], 'border-color': [ 'border-color-s', 'border-color-e', 'border-color-t', 'border-color-r', 'border-color-b', 'border-color-l' ], 'border-color-x': [ 'border-color-r', 'border-color-l' ], 'border-color-y': [ 'border-color-t', 'border-color-b' ], 'scroll-m': [ 'scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml' ], 'scroll-mx': [ 'scroll-mr', 'scroll-ml' ], 'scroll-my': [ 'scroll-mt', 'scroll-mb' ], 'scroll-p': [ 'scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl' ], 'scroll-px': [ 'scroll-pr', 'scroll-pl' ], 'scroll-py': [ 'scroll-pt', 'scroll-pb' ], touch: [ 'touch-x', 'touch-y', 'touch-pz' ], 'touch-x': [ 'touch' ], 'touch-y': [ 'touch' ], 'touch-pz': [ 'touch' ] }, conflictingClassGroupModifiers: { 'font-size': [ 'leading' ] } }; }; /** * @param baseConfig Config where other config will be merged into. This object will be mutated. * @param configExtension Partial config to merge into the `baseConfig`. */ const mergeConfigs = (baseConfig, { cacheSize, prefix, separator, experimentalParseClassName, extend = {}, override = {} })=>{ overrideProperty(baseConfig, 'cacheSize', cacheSize); overrideProperty(baseConfig, 'prefix', prefix); overrideProperty(baseConfig, 'separator', separator); overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName); for(const configKey in override){ overrideConfigProperties(baseConfig[configKey], override[configKey]); } for(const key in extend){ mergeConfigProperties(baseConfig[key], extend[key]); } return baseConfig; }; const overrideProperty = (baseObject, overrideKey, overrideValue)=>{ if (overrideValue !== undefined) { baseObject[overrideKey] = overrideValue; } }; const overrideConfigProperties = (baseObject, overrideObject)=>{ if (overrideObject) { for(const key in overrideObject){ overrideProperty(baseObject, key, overrideObject[key]); } } }; const mergeConfigProperties = (baseObject, mergeObject)=>{ if (mergeObject) { for(const key in mergeObject){ const mergeValue = mergeObject[key]; if (mergeValue !== undefined) { baseObject[key] = (baseObject[key] || []).concat(mergeValue); } } } }; const extendTailwindMerge = (configExtension, ...createConfig)=>typeof configExtension === 'function' ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(()=>mergeConfigs(getDefaultConfig(), configExtension), ...createConfig); const twMerge = /*#__PURE__*/ createTailwindMerge(getDefaultConfig); ; //# sourceMappingURL=bundle-mjs.mjs.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/shared/src/utils.js [app-ssr] (ecmascript)", ((__turbopack_context__) => { "use strict"; /** * @license lucide-react v0.454.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ __turbopack_context__.s([ "mergeClasses", ()=>mergeClasses, "toKebabCase", ()=>toKebabCase ]); const toKebabCase = (string)=>string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(); const mergeClasses = (...classes)=>classes.filter((className, index, array)=>{ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index; }).join(" ").trim(); ; //# sourceMappingURL=utils.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/defaultAttributes.js [app-ssr] (ecmascript)", ((__turbopack_context__) => { "use strict"; /** * @license lucide-react v0.454.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ __turbopack_context__.s([ "default", ()=>defaultAttributes ]); var defaultAttributes = { xmlns: "http://www.w3.org/2000/svg", width: 24, height: 24, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }; ; //# sourceMappingURL=defaultAttributes.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/Icon.js [app-ssr] (ecmascript)", ((__turbopack_context__) => { "use strict"; /** * @license lucide-react v0.454.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ __turbopack_context__.s([ "default", ()=>Icon ]); var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)"); var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$defaultAttributes$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/defaultAttributes.js [app-ssr] (ecmascript)"); var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/shared/src/utils.js [app-ssr] (ecmascript)"); ; ; ; const Icon = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["forwardRef"])(({ color = "currentColor", size = 24, strokeWidth = 2, absoluteStrokeWidth, className = "", children, iconNode, ...rest }, ref)=>{ return (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["createElement"])("svg", { ref, ...__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$defaultAttributes$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"], width: size, height: size, stroke: color, strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth, className: (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["mergeClasses"])("lucide", className), ...rest }, [ ...iconNode.map(([tag, attrs])=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["createElement"])(tag, attrs)), ...Array.isArray(children) ? children : [ children ] ]); }); ; //# sourceMappingURL=Icon.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-ssr] (ecmascript)", ((__turbopack_context__) => { "use strict"; /** * @license lucide-react v0.454.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ __turbopack_context__.s([ "default", ()=>createLucideIcon ]); var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)"); var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/shared/src/utils.js [app-ssr] (ecmascript)"); var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$Icon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/Icon.js [app-ssr] (ecmascript)"); ; ; ; const createLucideIcon = (iconName, iconNode)=>{ const Component = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["forwardRef"])(({ className, ...props }, ref)=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["createElement"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$Icon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"], { ref, iconNode, className: (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["mergeClasses"])(`lucide-${(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["toKebabCase"])(iconName)}`, className), ...props })); Component.displayName = `${iconName}`; return Component; }; ; //# sourceMappingURL=createLucideIcon.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/download.js [app-ssr] (ecmascript)", ((__turbopack_context__) => { "use strict"; /** * @license lucide-react v0.454.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ __turbopack_context__.s([ "default", ()=>Download ]); var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-ssr] (ecmascript)"); ; const Download = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"])("Download", [ [ "path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" } ], [ "polyline", { points: "7 10 12 15 17 10", key: "2ggqvy" } ], [ "line", { x1: "12", x2: "12", y1: "15", y2: "3", key: "1vk2je" } ] ]); ; //# sourceMappingURL=download.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/download.js [app-ssr] (ecmascript) ", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "Download", ()=>__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$download$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"] ]); var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$download$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/download.js [app-ssr] (ecmascript)"); }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/x.js [app-ssr] (ecmascript)", ((__turbopack_context__) => { "use strict"; /** * @license lucide-react v0.454.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ __turbopack_context__.s([ "default", ()=>X ]); var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-ssr] (ecmascript)"); ; const X = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"])("X", [ [ "path", { d: "M18 6 6 18", key: "1bl5f8" } ], [ "path", { d: "m6 6 12 12", key: "d8bk6v" } ] ]); ; //# sourceMappingURL=x.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/x.js [app-ssr] (ecmascript) ", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "X", ()=>__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$x$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"] ]); var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$x$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/x.js [app-ssr] (ecmascript)"); }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/smartphone.js [app-ssr] (ecmascript)", ((__turbopack_context__) => { "use strict"; /** * @license lucide-react v0.454.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ __turbopack_context__.s([ "default", ()=>Smartphone ]); var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-ssr] (ecmascript)"); ; const Smartphone = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"])("Smartphone", [ [ "rect", { width: "14", height: "20", x: "5", y: "2", rx: "2", ry: "2", key: "1yt0o3" } ], [ "path", { d: "M12 18h.01", key: "mhygvu" } ] ]); ; //# sourceMappingURL=smartphone.js.map }), "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/smartphone.js [app-ssr] (ecmascript) ", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "Smartphone", ()=>__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$smartphone$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"] ]); var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$smartphone$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/smartphone.js [app-ssr] (ecmascript)"); }), ]; //# sourceMappingURL=a0629__pnpm_1f8b3bcd._.js.map