{
  "version": 3,
  "pages404": true,
  "basePath": "",
  "redirects": [
    {
      "source": "/old-blog/:slug",
      "destination": "/news/:slug",
      "statusCode": 308,
      "regex": "^/old-blog(?:/([^/]+?))$"
    },
    {
      "source": "/terms-new",
      "destination": "/terms",
      "statusCode": 308,
      "regex": "^/terms-new$"
    },
    {
      "source": "/old-users/:id(\\d{1,})",
      "destination": "/users/:id",
      "statusCode": 307,
      "regex": "^/old-users(?:/(\\d{1,}))$"
    },
    {
      "source": "/terms-redirect-dest-query",
      "destination": "/terms?foo=bar",
      "statusCode": 308,
      "regex": "^/terms-redirect-dest-query$"
    },
    {
      "source": "/external",
      "destination": "https://example.com",
      "statusCode": 308,
      "regex": "^/external$"
    }
  ],
  "headers": [
    {
      "source": "/customers/another",
      "headers": [
        {
          "key": "x-custom-header",
          "value": "custom"
        }
      ],
      "regex": "^/customers/another$"
    }
  ],
  "dynamicRoutes": [
    {
      "page": "/api/users/[id]",
      "regex": "^/api/users/([^/]+?)(?:/)?$",
      "routeKeys": {
        "id": "id"
      },
      "namedRegex": "^/api/users/(?<id>[^/]+?)(?:/)?$"
    },
    {
      "page": "/blog/[id]",
      "regex": "^/blog/([^/]+?)(?:/)?$",
      "routeKeys": {
        "id": "id"
      },
      "namedRegex": "^/blog/(?<id>[^/]+?)(?:/)?$"
    },
    {
      "page": "/customers/[customer]",
      "regex": "^/customers/([^/]+?)(?:/)?$",
      "routeKeys": {
        "customer": "customer"
      },
      "namedRegex": "^/customers/(?<customer>[^/]+?)(?:/)?$"
    },
    {
      "page": "/customers/[customer]/profile",
      "regex": "^/customers/([^/]+?)/profile(?:/)?$",
      "routeKeys": {
        "customer": "customer"
      },
      "namedRegex": "^/customers/(?<customer>[^/]+?)/profile(?:/)?$"
    },
    {
      "page": "/customers/[customer]/[post]",
      "regex": "^/customers/([^/]+?)/([^/]+?)(?:/)?$",
      "routeKeys": {
        "customer": "customer",
        "post": "post"
      },
      "namedRegex": "^/customers/(?<customer>[^/]+?)/(?<post>[^/]+?)(?:/)?$"
    },
    {
      "page": "/customers/[...catchAll]",
      "regex": "^/customers/(.+?)(?:/)?$",
      "routeKeys": {
        "catchAll": "catchAll"
      },
      "namedRegex": "^/customers/(?<catchAll>.+?)(?:/)?$"
    },
    {
      "page": "/fallback/[slug]",
      "regex": "^/fallback/([^/]+?)(?:/)?$",
      "routeKeys": {
        "slug": "slug"
      },
      "namedRegex": "^/fallback/(?<slug>[^/]+?)(?:/)?$"
    },
    {
      "page": "/fallback-blocking/[slug]",
      "regex": "^/fallback\\-blocking/([^/]+?)(?:/)?$",
      "routeKeys": {
        "slug": "slug"
      },
      "namedRegex": "^/fallback\\-blocking/(?<slug>[^/]+?)(?:/)?$"
    },
    {
      "page": "/no-fallback/[slug]",
      "regex": "^/no\\-fallback/([^/]+?)(?:/)?$",
      "routeKeys": {
        "slug": "slug"
      },
      "namedRegex": "^/no\\-fallback/(?<slug>[^/]+?)(?:/)?$"
    },
    {
      "page": "/users/[...user]",
      "regex": "^/users/(.+?)(?:/)?$",
      "routeKeys": {
        "user": "user"
      },
      "namedRegex": "^/users/(?<user>.+?)(?:/)?$"
    },
    {
      "page": "/[root]",
      "regex": "^/([^/]+?)(?:/)?$",
      "routeKeys": {
        "root": "root"
      },
      "namedRegex": "^/(?<root>[^/]+?)(?:/)?$"
    }
  ],
  "dataRoutes": [
    {
      "page": "/",
      "dataRouteRegex": "^/_next/data/build\\-id/index.json$"
    },
    {
      "page": "/async-page",
      "dataRouteRegex": "^/_next/data/build\\-id/async-page.json$"
    },
    {
      "page": "/blog/[id]",
      "routeKeys": {
        "id": "id"
      },
      "dataRouteRegex": "^/_next/data/build\\-id/blog/([^/]+?)\\.json$",
      "namedDataRouteRegex": "^/_next/data/build\\-id/blog/(?<id>[^/]+?)\\.json$"
    },
    {
      "page": "/customers",
      "dataRouteRegex": "^/_next/data/build\\-id/customers.json$"
    },
    {
      "page": "/customers/new",
      "dataRouteRegex": "^/_next/data/build\\-id/customers/new.json$"
    },
    {
      "page": "/customers/[customer]",
      "routeKeys": {
        "customer": "customer"
      },
      "dataRouteRegex": "^/_next/data/build\\-id/customers/([^/]+?)\\.json$",
      "namedDataRouteRegex": "^/_next/data/build\\-id/customers/(?<customer>[^/]+?)\\.json$"
    },
    {
      "page": "/customers/[customer]/profile",
      "routeKeys": {
        "customer": "customer"
      },
      "dataRouteRegex": "^/_next/data/build\\-id/customers/([^/]+?)/profile\\.json$",
      "namedDataRouteRegex": "^/_next/data/build\\-id/customers/(?<customer>[^/]+?)/profile\\.json$"
    },
    {
      "page": "/customers/[customer]/[post]",
      "routeKeys": {
        "customer": "customer",
        "post": "post"
      },
      "dataRouteRegex": "^/_next/data/build\\-id/customers/([^/]+?)/([^/]+?)\\.json$",
      "namedDataRouteRegex": "^/_next/data/build\\-id/customers/(?<customer>[^/]+?)/(?<post>[^/]+?)\\.json$"
    },
    {
      "page": "/customers/[...catchAll]",
      "routeKeys": {
        "catchAll": "catchAll"
      },
      "dataRouteRegex": "^/_next/data/build\\-id/customers/(.+?)\\.json$",
      "namedDataRouteRegex": "^/_next/data/build\\-id/customers/(?<catchAll>.+?)\\.json$"
    },
    {
      "page": "/erroredPage",
      "dataRouteRegex": "^/_next/data/build\\-id/erroredPage.json$"
    },
    {
      "page": "/fallback/[slug]",
      "routeKeys": {
        "slug": "slug"
      },
      "dataRouteRegex": "^/_next/data/build\\-id/fallback/([^/]+?)\\.json$",
      "namedDataRouteRegex": "^/_next/data/build\\-id/fallback/(?<slug>[^/]+?)\\.json$"
    },
    {
      "page": "/fallback-blocking/[slug]",
      "routeKeys": {
        "slug": "slug"
      },
      "dataRouteRegex": "^/_next/data/build\\-id/fallback\\-blocking/([^/]+?)\\.json$",
      "namedDataRouteRegex": "^/_next/data/build\\-id/fallback\\-blocking/(?<slug>[^/]+?)\\.json$"
    },
    {
      "page": "/no-fallback/[slug]",
      "routeKeys": {
        "slug": "slug"
      },
      "dataRouteRegex": "^/_next/data/build\\-id/no\\-fallback/([^/]+?)\\.json$",
      "namedDataRouteRegex": "^/_next/data/build\\-id/no\\-fallback/(?<slug>[^/]+?)\\.json$"
    },
    {
      "page": "/preview",
      "dataRouteRegex": "^/_next/data/build\\-id/preview.json$"
    },
    {
      "page": "/[root]",
      "routeKeys": {
        "root": "root"
      },
      "dataRouteRegex": "^/_next/data/build\\-id/([^/]+?)\\.json$",
      "namedDataRouteRegex": "^/_next/data/build\\-id/(?<root>[^/]+?)\\.json$"
    }
  ],
  "rewrites": [
    {
      "source": "/terms-rewrite",
      "destination": "/terms",
      "regex": "^/terms-rewrite$"
    },
    {
      "source": "/index-rewrite",
      "destination": "/",
      "regex": "^/index-rewrite$"
    },
    {
      "source": "/path-rewrite/:slug",
      "destination": "/terms",
      "regex": "^/path-rewrite(?:/([^/]+?))$"
    },
    {
      "source": "/terms",
      "destination": "/",
      "regex": "^/terms$"
    },
    {
      "source": "/promise-page",
      "destination": "/async-page",
      "regex": "^/promise-page$"
    },
    {
      "source": "/terms-rewrite-dest-query",
      "destination": "/terms?foo=bar",
      "regex": "^/terms-rewrite-dest-query$"
    },
    {
      "source": "/external-rewrite",
      "destination": "https://external.com",
      "regex": "^/external-rewrite$"
    }
  ]
}
