{
  "version": 3,
  "pages404": true,
  "appType": "app",
  "caseSensitive": false,
  "basePath": "",
  "redirects": [
    {
      "source": "/:path+/",
      "destination": "/:path+",
      "internal": true,
      "priority": true,
      "statusCode": 308,
      "regex": "^(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))/$"
    }
  ],
  "headers": [],
  "onMatchHeaders": [],
  "rewrites": {
    "beforeFiles": [],
    "afterFiles": [],
    "fallback": []
  },
  "dynamicRoutes": [
    {
      "page": "/admin/blog/[id]/edit",
      "regex": "^/admin/blog/([^/]+?)/edit(?:/)?$",
      "routeKeys": {
        "nxtPid": "nxtPid"
      },
      "namedRegex": "^/admin/blog/(?<nxtPid>[^/]+?)/edit(?:/)?$"
    },
    {
      "page": "/api/auth/[...all]",
      "regex": "^/api/auth/(.+?)(?:/)?$",
      "routeKeys": {
        "nxtPall": "nxtPall"
      },
      "namedRegex": "^/api/auth/(?<nxtPall>.+?)(?:/)?$"
    },
    {
      "page": "/api/charts/[chartId]/qa",
      "regex": "^/api/charts/([^/]+?)/qa(?:/)?$",
      "routeKeys": {
        "nxtPchartId": "nxtPchartId"
      },
      "namedRegex": "^/api/charts/(?<nxtPchartId>[^/]+?)/qa(?:/)?$"
    },
    {
      "page": "/blog/[slug]",
      "regex": "^/blog/([^/]+?)(?:/)?$",
      "routeKeys": {
        "nxtPslug": "nxtPslug"
      },
      "namedRegex": "^/blog/(?<nxtPslug>[^/]+?)(?:/)?$"
    },
    {
      "page": "/la-so/own/[id]",
      "regex": "^/la\\-so/own/([^/]+?)(?:/)?$",
      "routeKeys": {
        "nxtPid": "nxtPid"
      },
      "namedRegex": "^/la\\-so/own/(?<nxtPid>[^/]+?)(?:/)?$"
    },
    {
      "page": "/la-so/[token]",
      "regex": "^/la\\-so/([^/]+?)(?:/)?$",
      "routeKeys": {
        "nxtPtoken": "nxtPtoken"
      },
      "namedRegex": "^/la\\-so/(?<nxtPtoken>[^/]+?)(?:/)?$"
    },
    {
      "page": "/[group]",
      "regex": "^/([^/]+?)(?:/)?$",
      "routeKeys": {
        "nxtPgroup": "nxtPgroup"
      },
      "namedRegex": "^/(?<nxtPgroup>[^/]+?)(?:/)?$"
    }
  ],
  "staticRoutes": [
    {
      "page": "/",
      "regex": "^/(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/(?:/)?$"
    },
    {
      "page": "/_global-error",
      "regex": "^/_global\\-error(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/_global\\-error(?:/)?$"
    },
    {
      "page": "/_not-found",
      "regex": "^/_not\\-found(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/_not\\-found(?:/)?$"
    },
    {
      "page": "/12-con-giap",
      "regex": "^/12\\-con\\-giap(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/12\\-con\\-giap(?:/)?$"
    },
    {
      "page": "/admin",
      "regex": "^/admin(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/admin(?:/)?$"
    },
    {
      "page": "/admin/ai",
      "regex": "^/admin/ai(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/admin/ai(?:/)?$"
    },
    {
      "page": "/admin/audit",
      "regex": "^/admin/audit(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/admin/audit(?:/)?$"
    },
    {
      "page": "/admin/billing",
      "regex": "^/admin/billing(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/admin/billing(?:/)?$"
    },
    {
      "page": "/admin/blog",
      "regex": "^/admin/blog(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/admin/blog(?:/)?$"
    },
    {
      "page": "/admin/blog/new",
      "regex": "^/admin/blog/new(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/admin/blog/new(?:/)?$"
    },
    {
      "page": "/admin/site",
      "regex": "^/admin/site(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/admin/site(?:/)?$"
    },
    {
      "page": "/admin/users",
      "regex": "^/admin/users(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/admin/users(?:/)?$"
    },
    {
      "page": "/api/admin/ai/test",
      "regex": "^/api/admin/ai/test(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/api/admin/ai/test(?:/)?$"
    },
    {
      "page": "/api/ai/chat",
      "regex": "^/api/ai/chat(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/api/ai/chat(?:/)?$"
    },
    {
      "page": "/api/ai/insight",
      "regex": "^/api/ai/insight(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/api/ai/insight(?:/)?$"
    },
    {
      "page": "/api/ai/section",
      "regex": "^/api/ai/section(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/api/ai/section(?:/)?$"
    },
    {
      "page": "/api/billing/pdf",
      "regex": "^/api/billing/pdf(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/api/billing/pdf(?:/)?$"
    },
    {
      "page": "/api/cron/reminders",
      "regex": "^/api/cron/reminders(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/api/cron/reminders(?:/)?$"
    },
    {
      "page": "/api/health",
      "regex": "^/api/health(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/api/health(?:/)?$"
    },
    {
      "page": "/api/palmistry/vision",
      "regex": "^/api/palmistry/vision(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/api/palmistry/vision(?:/)?$"
    },
    {
      "page": "/ban-tay-hinh-long",
      "regex": "^/ban\\-tay\\-hinh\\-long(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/ban\\-tay\\-hinh\\-long(?:/)?$"
    },
    {
      "page": "/bao-mat",
      "regex": "^/bao\\-mat(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/bao\\-mat(?:/)?$"
    },
    {
      "page": "/blog",
      "regex": "^/blog(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/blog(?:/)?$"
    },
    {
      "page": "/cookie",
      "regex": "^/cookie(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/cookie(?:/)?$"
    },
    {
      "page": "/cung-hoang-dao",
      "regex": "^/cung\\-hoang\\-dao(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/cung\\-hoang\\-dao(?:/)?$"
    },
    {
      "page": "/dat-ten-con",
      "regex": "^/dat\\-ten\\-con(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/dat\\-ten\\-con(?:/)?$"
    },
    {
      "page": "/dieu-khoan",
      "regex": "^/dieu\\-khoan(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/dieu\\-khoan(?:/)?$"
    },
    {
      "page": "/favicon.ico",
      "regex": "^/favicon\\.ico(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/favicon\\.ico(?:/)?$"
    },
    {
      "page": "/giai-mong",
      "regex": "^/giai\\-mong(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/giai\\-mong(?:/)?$"
    },
    {
      "page": "/hop-tuoi-kuta",
      "regex": "^/hop\\-tuoi\\-kuta(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/hop\\-tuoi\\-kuta(?:/)?$"
    },
    {
      "page": "/hop-tuoi-lam-an",
      "regex": "^/hop\\-tuoi\\-lam\\-an(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/hop\\-tuoi\\-lam\\-an(?:/)?$"
    },
    {
      "page": "/kinh-dich-ai",
      "regex": "^/kinh\\-dich\\-ai(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/kinh\\-dich\\-ai(?:/)?$"
    },
    {
      "page": "/la-so",
      "regex": "^/la\\-so(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/la\\-so(?:/)?$"
    },
    {
      "page": "/lich-am-duong",
      "regex": "^/lich\\-am\\-duong(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/lich\\-am\\-duong(?:/)?$"
    },
    {
      "page": "/lien-he",
      "regex": "^/lien\\-he(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/lien\\-he(?:/)?$"
    },
    {
      "page": "/login",
      "regex": "^/login(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/login(?:/)?$"
    },
    {
      "page": "/mau-sac-phong-thuy",
      "regex": "^/mau\\-sac\\-phong\\-thuy(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/mau\\-sac\\-phong\\-thuy(?:/)?$"
    },
    {
      "page": "/me",
      "regex": "^/me(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/me(?:/)?$"
    },
    {
      "page": "/me/reminders",
      "regex": "^/me/reminders(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/me/reminders(?:/)?$"
    },
    {
      "page": "/mien-tru-trach-nhiem",
      "regex": "^/mien\\-tru\\-trach\\-nhiem(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/mien\\-tru\\-trach\\-nhiem(?:/)?$"
    },
    {
      "page": "/nam-xay-nha",
      "regex": "^/nam\\-xay\\-nha(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/nam\\-xay\\-nha(?:/)?$"
    },
    {
      "page": "/opengraph-image",
      "regex": "^/opengraph\\-image(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/opengraph\\-image(?:/)?$"
    },
    {
      "page": "/phong-thuy-nha",
      "regex": "^/phong\\-thuy\\-nha(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/phong\\-thuy\\-nha(?:/)?$"
    },
    {
      "page": "/pricing",
      "regex": "^/pricing(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/pricing(?:/)?$"
    },
    {
      "page": "/register",
      "regex": "^/register(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/register(?:/)?$"
    },
    {
      "page": "/robots.txt",
      "regex": "^/robots\\.txt(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/robots\\.txt(?:/)?$"
    },
    {
      "page": "/sitemap.xml",
      "regex": "^/sitemap\\.xml(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/sitemap\\.xml(?:/)?$"
    },
    {
      "page": "/so-dien-thoai",
      "regex": "^/so\\-dien\\-thoai(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/so\\-dien\\-thoai(?:/)?$"
    },
    {
      "page": "/so-mang-60-tuoi",
      "regex": "^/so\\-mang\\-60\\-tuoi(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/so\\-mang\\-60\\-tuoi(?:/)?$"
    },
    {
      "page": "/so-sanh-duyen-phan",
      "regex": "^/so\\-sanh\\-duyen\\-phan(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/so\\-sanh\\-duyen\\-phan(?:/)?$"
    },
    {
      "page": "/ten-cong-ty",
      "regex": "^/ten\\-cong\\-ty(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/ten\\-cong\\-ty(?:/)?$"
    },
    {
      "page": "/than-so-hoc",
      "regex": "^/than\\-so\\-hoc(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/than\\-so\\-hoc(?:/)?$"
    },
    {
      "page": "/thu-vien-ai",
      "regex": "^/thu\\-vien\\-ai(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/thu\\-vien\\-ai(?:/)?$"
    },
    {
      "page": "/tu-tru",
      "regex": "^/tu\\-tru(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/tu\\-tru(?:/)?$"
    },
    {
      "page": "/tu-vi-nam",
      "regex": "^/tu\\-vi\\-nam(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/tu\\-vi\\-nam(?:/)?$"
    },
    {
      "page": "/tu-vi-ngay",
      "regex": "^/tu\\-vi\\-ngay(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/tu\\-vi\\-ngay(?:/)?$"
    },
    {
      "page": "/tu-vi-tron-doi",
      "regex": "^/tu\\-vi\\-tron\\-doi(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/tu\\-vi\\-tron\\-doi(?:/)?$"
    },
    {
      "page": "/tuoi-ket-hon",
      "regex": "^/tuoi\\-ket\\-hon(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/tuoi\\-ket\\-hon(?:/)?$"
    },
    {
      "page": "/van-menh",
      "regex": "^/van\\-menh(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/van\\-menh(?:/)?$"
    },
    {
      "page": "/xem-ngay-tot",
      "regex": "^/xem\\-ngay\\-tot(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/xem\\-ngay\\-tot(?:/)?$"
    }
  ],
  "dataRoutes": [],
  "rsc": {
    "header": "rsc",
    "varyHeader": "rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch",
    "prefetchHeader": "next-router-prefetch",
    "didPostponeHeader": "x-nextjs-postponed",
    "contentTypeHeader": "text/x-component",
    "suffix": ".rsc",
    "prefetchSegmentHeader": "next-router-segment-prefetch",
    "prefetchSegmentSuffix": ".segment.rsc",
    "prefetchSegmentDirSuffix": ".segments",
    "clientParamParsing": false,
    "dynamicRSCPrerender": false
  },
  "rewriteHeaders": {
    "pathHeader": "x-nextjs-rewritten-path",
    "queryHeader": "x-nextjs-rewritten-query"
  }
}