@faststore/core 3.98.0-dev.5 → 3.98.0-dev.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +41 -41
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/webpack/client-production/0.pack +0 -0
  6. package/.next/cache/webpack/client-production/index.pack +0 -0
  7. package/.next/cache/webpack/server-production/0.pack +0 -0
  8. package/.next/cache/webpack/server-production/index.pack +0 -0
  9. package/.next/prerender-manifest.js +1 -1
  10. package/.next/prerender-manifest.json +1 -1
  11. package/.next/react-loadable-manifest.json +31 -27
  12. package/.next/routes-manifest.json +1 -1
  13. package/.next/server/chunks/2336.js +6 -0
  14. package/.next/server/chunks/3890.js +11 -11
  15. package/.next/server/chunks/7098.js +1 -1
  16. package/.next/server/chunks/948.js +2 -2
  17. package/.next/server/functions-config-manifest.json +1 -1
  18. package/.next/server/middleware-build-manifest.js +1 -1
  19. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  20. package/.next/server/pages/404.js +1 -1
  21. package/.next/server/pages/404.js.nft.json +1 -1
  22. package/.next/server/pages/500.js +1 -1
  23. package/.next/server/pages/500.js.nft.json +1 -1
  24. package/.next/server/pages/[...slug].js +1 -1
  25. package/.next/server/pages/[...slug].js.nft.json +1 -1
  26. package/.next/server/pages/[slug]/p.js +1 -1
  27. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  28. package/.next/server/pages/_app.js +1 -1
  29. package/.next/server/pages/_app.js.nft.json +1 -1
  30. package/.next/server/pages/_document.js.nft.json +1 -1
  31. package/.next/server/pages/_error.js +1 -1
  32. package/.next/server/pages/_error.js.nft.json +1 -1
  33. package/.next/server/pages/api/fs/logout.js.nft.json +1 -1
  34. package/.next/server/pages/api/graphql.js.nft.json +1 -1
  35. package/.next/server/pages/api/health/live.js.nft.json +1 -1
  36. package/.next/server/pages/api/health/ready.js.nft.json +1 -1
  37. package/.next/server/pages/api/preview.js.nft.json +1 -1
  38. package/.next/server/pages/checkout.js +1 -1
  39. package/.next/server/pages/checkout.js.nft.json +1 -1
  40. package/.next/server/pages/en-US/404.html +2 -2
  41. package/.next/server/pages/en-US/404.json +1 -1
  42. package/.next/server/pages/en-US/500.html +2 -2
  43. package/.next/server/pages/en-US/500.json +1 -1
  44. package/.next/server/pages/en-US/checkout.html +2 -2
  45. package/.next/server/pages/en-US/checkout.json +1 -1
  46. package/.next/server/pages/en-US/login.html +2 -2
  47. package/.next/server/pages/en-US/login.json +1 -1
  48. package/.next/server/pages/en-US/s.html +2 -2
  49. package/.next/server/pages/en-US/s.json +1 -1
  50. package/.next/server/pages/en-US.html +2 -2
  51. package/.next/server/pages/en-US.json +1 -1
  52. package/.next/server/pages/index.js +1 -1
  53. package/.next/server/pages/index.js.nft.json +1 -1
  54. package/.next/server/pages/login.js +1 -1
  55. package/.next/server/pages/login.js.nft.json +1 -1
  56. package/.next/server/pages/pvt/account/403.js +1 -1
  57. package/.next/server/pages/pvt/account/403.js.nft.json +1 -1
  58. package/.next/server/pages/pvt/account/404.js +1 -1
  59. package/.next/server/pages/pvt/account/404.js.nft.json +1 -1
  60. package/.next/server/pages/pvt/account/[...unknown].js +1 -1
  61. package/.next/server/pages/pvt/account/[...unknown].js.nft.json +1 -1
  62. package/.next/server/pages/pvt/account/orders/[id].js +1 -1
  63. package/.next/server/pages/pvt/account/orders/[id].js.nft.json +1 -1
  64. package/.next/server/pages/pvt/account/orders.js +1 -1
  65. package/.next/server/pages/pvt/account/orders.js.nft.json +1 -1
  66. package/.next/server/pages/pvt/account/profile.js +1 -1
  67. package/.next/server/pages/pvt/account/profile.js.nft.json +1 -1
  68. package/.next/server/pages/pvt/account/security.js +1 -1
  69. package/.next/server/pages/pvt/account/security.js.nft.json +1 -1
  70. package/.next/server/pages/pvt/account/user-details.js +1 -1
  71. package/.next/server/pages/pvt/account/user-details.js.nft.json +1 -1
  72. package/.next/server/pages/pvt/account.js +1 -1
  73. package/.next/server/pages/pvt/account.js.nft.json +1 -1
  74. package/.next/server/pages/s.js +1 -1
  75. package/.next/server/pages/s.js.nft.json +1 -1
  76. package/.next/server/pages-manifest.json +1 -1
  77. package/.next/server/webpack-runtime.js +1 -1
  78. package/.next/static/{_z3BqQGl9pxQ05QAjq4G2 → 3YyETsM_ICzJh8iCbl24o}/_buildManifest.js +1 -1
  79. package/.next/static/chunks/{1841.a1b15f2c88e02d32.js → 1841.b3a98a2a1886b09c.js} +1 -1
  80. package/.next/static/chunks/{2927.23bae2c79f0ac0f3.js → 2927.5a79877943a6bf7c.js} +1 -1
  81. package/.next/static/chunks/{6393.e4b26fee060438d6.js → 6393.fc3a7002110b07a9.js} +1 -1
  82. package/.next/static/chunks/{7191-4bf7ddfc2bd0f3a9.js → 7191-91a7e2902cbb78eb.js} +1 -1
  83. package/.next/static/chunks/9173-004874438ae65e64.js +1 -0
  84. package/.next/static/chunks/{9399.48251a278809f7d3.js → 9399.eb5fc80e2649be72.js} +1 -1
  85. package/.next/static/chunks/ShoppingAssistant.ba191eb4dbed67e5.js +1 -0
  86. package/.next/static/chunks/{UIToast.de15325248043ce5.js → UIToast.19a8664c01a00d3a.js} +1 -1
  87. package/.next/static/chunks/pages/[slug]/{p-0901bccd311c7775.js → p-15e4c70dcf969e68.js} +1 -1
  88. package/.next/static/chunks/pages/_app-9709623009fd94a5.js +1 -0
  89. package/.next/static/chunks/pages/pvt/account/orders/{[id]-e03ebb0393ac92a2.js → [id]-46c461739ff3b436.js} +1 -1
  90. package/.next/static/chunks/webpack-c56d30359092c45c.js +1 -0
  91. package/.next/static/css/f16438bcf4508fb3.css +1 -0
  92. package/.next/trace +141 -140
  93. package/.turbo/turbo-build.log +26 -26
  94. package/.turbo/turbo-test.log +6 -6
  95. package/CHANGELOG.md +10 -0
  96. package/cms/faststore/sections.json +3 -3
  97. package/package.json +3 -2
  98. package/src/components/ThirdPartyScripts/index.ts +1 -1
  99. package/src/components/ThirdPartyScripts/{useWebchatScript.tsx → useShoppingAssistant.tsx} +5 -5
  100. package/src/components/account/MyAccountDrawer/OrganizationDrawer/OrganizationDrawer.tsx +27 -18
  101. package/src/components/account/MyAccountDrawer/OrganizationDrawer/useReloadAfterLogoutReturn.ts +75 -0
  102. package/src/components/cms/global/Components.ts +5 -3
  103. package/src/components/sections/ShoppingAssistant/ShoppingAssistant.tsx +24 -0
  104. package/src/components/sections/ShoppingAssistant/index.ts +1 -0
  105. package/src/pages/_app.tsx +2 -0
  106. package/src/sdk/graphql/request.ts +1 -1
  107. package/src/sdk/graphql/useQuery.ts +23 -6
  108. package/src/utils/cookieCacheBusting.ts +35 -41
  109. package/test/utils/cookieCacheBusting.test.ts +54 -47
  110. package/.next/server/chunks/772.js +0 -6
  111. package/.next/static/chunks/9173-03cb4807f10c57e8.js +0 -1
  112. package/.next/static/chunks/Webchat.e410860c49bcba26.js +0 -1
  113. package/.next/static/chunks/pages/_app-eae02e7ad5c9db46.js +0 -1
  114. package/.next/static/chunks/webpack-f021535669f6ed5e.js +0 -1
  115. package/.next/static/css/bdff52aea05613d4.css +0 -1
  116. package/src/components/sections/Webchat/Webchat.tsx +0 -22
  117. package/src/components/sections/Webchat/index.ts +0 -1
  118. /package/.next/static/{_z3BqQGl9pxQ05QAjq4G2 → 3YyETsM_ICzJh8iCbl24o}/_ssgManifest.js +0 -0
  119. /package/src/components/sections/{Webchat → ShoppingAssistant}/section.module.scss +0 -0
@@ -1,59 +1,49 @@
1
- import discoveryConfig from 'discovery.config'
1
+ import { sessionStore } from 'src/sdk/session'
2
2
 
3
- export const STORAGE_KEY_AUTH_COOKIE_VALUE = 'faststore_auth_cookie_value'
3
+ export const STORAGE_KEY_PERSON_ID = 'faststore_person_id'
4
4
  export const STORAGE_KEY_CACHE_BUST_LAST_VALUE =
5
5
  'faststore_cache_bust_last_value'
6
6
 
7
7
  /**
8
- * Gets the VtexIdclientAutCookie value from browser
9
- * Note: vtex_segment is httpOnly and cannot be accessed via JavaScript,
10
- * so we only monitor VtexIdclientAutCookie_<account>
8
+ * Gets person?.id from session (via ValidateSession).
9
+ * Reads session store directly since auth cookies are httpOnly and inaccessible via JavaScript.
11
10
  */
12
- const getAuthCookieValue = (): string | null => {
13
- if (typeof document === 'undefined') {
11
+ const getPersonId = (): string | null => {
12
+ if (typeof window === 'undefined') {
14
13
  return null
15
14
  }
16
-
17
- const account = discoveryConfig.api.storeId
18
- const authCookieName = `VtexIdclientAutCookie_${account}`
19
- const cookies = document.cookie.split(';').map((cookie) => cookie.trim())
20
- const authCookie = cookies.find((c) => c.startsWith(`${authCookieName}=`))
21
-
22
- if (!authCookie) {
23
- return null
24
- }
25
-
26
- return authCookie.split('=').slice(1).join('=')
15
+ const session = sessionStore.read() ?? sessionStore.readInitial()
16
+ return session?.person?.id ?? null
27
17
  }
28
18
 
29
19
  /**
30
- * Gets the stored auth cookie value from sessionStorage (client-side only)
20
+ * Gets the stored person id from sessionStorage (client-side only)
31
21
  */
32
- const getStoredAuthCookieValue = (): string | null => {
22
+ const getStoredPersonId = (): string | null => {
33
23
  if (typeof sessionStorage === 'undefined') {
34
24
  return null
35
25
  }
36
26
 
37
27
  try {
38
- return sessionStorage.getItem(STORAGE_KEY_AUTH_COOKIE_VALUE)
28
+ return sessionStorage.getItem(STORAGE_KEY_PERSON_ID)
39
29
  } catch {
40
30
  return null
41
31
  }
42
32
  }
43
33
 
44
34
  /**
45
- * Stores the auth cookie value in sessionStorage (client-side only)
35
+ * Stores the person id in sessionStorage (client-side only)
46
36
  */
47
- const storeAuthCookieValue = (value: string | null): void => {
37
+ const storePersonId = (value: string | null): void => {
48
38
  if (typeof sessionStorage === 'undefined') {
49
39
  return
50
40
  }
51
41
 
52
42
  try {
53
43
  if (value === null) {
54
- sessionStorage.removeItem(STORAGE_KEY_AUTH_COOKIE_VALUE)
44
+ sessionStorage.removeItem(STORAGE_KEY_PERSON_ID)
55
45
  } else {
56
- sessionStorage.setItem(STORAGE_KEY_AUTH_COOKIE_VALUE, value)
46
+ sessionStorage.setItem(STORAGE_KEY_PERSON_ID, value)
57
47
  }
58
48
  } catch {
59
49
  // Ignore storage errors
@@ -93,13 +83,13 @@ const storeLastValue = (value: string): void => {
93
83
  /**
94
84
  * Clears all cache busting related data from sessionStorage (client-side only)
95
85
  */
96
- const clearStorage = (): void => {
86
+ const clearCacheBustingStorage = (): void => {
97
87
  if (typeof sessionStorage === 'undefined') {
98
88
  return
99
89
  }
100
90
 
101
91
  try {
102
- sessionStorage.removeItem(STORAGE_KEY_AUTH_COOKIE_VALUE)
92
+ sessionStorage.removeItem(STORAGE_KEY_PERSON_ID)
103
93
  sessionStorage.removeItem(STORAGE_KEY_CACHE_BUST_LAST_VALUE)
104
94
  } catch {
105
95
  // Ignore storage errors
@@ -107,28 +97,31 @@ const clearStorage = (): void => {
107
97
  }
108
98
 
109
99
  /**
110
- * Gets cache busting value for client-side based on auth cookie changes
100
+ * Gets cache busting value for client-side based on auth state changes.
101
+ * Uses person?.id from session (via useSession/ValidateSession) since auth cookies
102
+ * are now httpOnly and cannot be accessed via JavaScript.
111
103
  */
112
104
  export const getClientCacheBustingValue = (): string | null => {
113
- const currentAuthCookieValue = getAuthCookieValue()
105
+ const currentPersonId = getPersonId()
114
106
 
115
- // Guard clause: if auth cookie doesn't exist, clear storage and don't proceed with cache busting logic
116
- if (currentAuthCookieValue === null) {
117
- clearStorage()
107
+ // Guard clause: if user is not logged in (no person?.id), clear storage and don't proceed with cache busting logic
108
+ if (currentPersonId === null) {
109
+ clearCacheBustingStorage()
118
110
  return null
119
111
  }
120
112
 
121
- const storedAuthCookieValue = getStoredAuthCookieValue()
113
+ const storedPersonId = getStoredPersonId()
122
114
 
123
- // If auth cookie changed, update stored value and return new timestamp
124
- if (currentAuthCookieValue !== storedAuthCookieValue) {
125
- storeAuthCookieValue(currentAuthCookieValue)
115
+ // If person changed (login/logout or different user), update stored value and return new value
116
+ if (currentPersonId !== storedPersonId) {
117
+ storePersonId(currentPersonId)
126
118
  const timestamp = Date.now().toString()
127
- storeLastValue(timestamp)
128
- return timestamp
119
+ const value = `${timestamp}::${currentPersonId}`
120
+ storeLastValue(value)
121
+ return value
129
122
  }
130
123
 
131
- // Auth cookie hasn't changed, return last value or create one if it doesn't exist
124
+ // Person hasn't changed, return last value or create one if it doesn't exist
132
125
  const lastValue = getLastValue()
133
126
  if (lastValue) {
134
127
  return lastValue
@@ -136,6 +129,7 @@ export const getClientCacheBustingValue = (): string | null => {
136
129
 
137
130
  // Fallback: if no last value, create one
138
131
  const timestamp = Date.now().toString()
139
- storeLastValue(timestamp)
140
- return timestamp
132
+ const value = `${timestamp}::${currentPersonId}`
133
+ storeLastValue(value)
134
+ return value
141
135
  }
@@ -2,120 +2,127 @@
2
2
  * @jest-environment jsdom
3
3
  */
4
4
 
5
- jest.mock('discovery.config', () => ({
6
- __esModule: true,
7
- default: {
8
- api: {
9
- storeId: 'store',
10
- },
5
+ const mockRead = jest.fn()
6
+ const mockReadInitial = jest.fn()
7
+
8
+ jest.mock('src/sdk/session', () => ({
9
+ sessionStore: {
10
+ read: () => mockRead(),
11
+ readInitial: () => mockReadInitial(),
11
12
  },
12
13
  }))
13
14
 
14
15
  import {
15
16
  getClientCacheBustingValue,
16
- STORAGE_KEY_AUTH_COOKIE_VALUE,
17
+ STORAGE_KEY_PERSON_ID,
17
18
  STORAGE_KEY_CACHE_BUST_LAST_VALUE,
18
19
  } from '../../src/utils/cookieCacheBusting'
19
20
 
20
- const setAuthCookie = (value: string) => {
21
- document.cookie = `VtexIdclientAutCookie_store=${value}; path=/`
21
+ const setSessionPerson = (personId: string) => {
22
+ const session = { person: { id: personId } }
23
+ mockRead.mockReturnValue(session)
24
+ mockReadInitial.mockReturnValue(session)
22
25
  }
23
26
 
24
- const clearAllCookies = () => {
25
- const cookies = document.cookie
26
- .split(';')
27
- .map((c) => c.trim())
28
- .filter(Boolean)
29
-
30
- for (const cookie of cookies) {
31
- const [name] = cookie.split('=')
32
- document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/`
33
- }
27
+ const clearSessionPerson = () => {
28
+ mockRead.mockReturnValue(null)
29
+ mockReadInitial.mockReturnValue(null)
34
30
  }
35
31
 
36
32
  describe('cookieCacheBusting', () => {
37
33
  beforeEach(() => {
38
- clearAllCookies()
39
- sessionStorage.clear()
40
34
  jest.restoreAllMocks()
35
+ sessionStorage.clear()
36
+ clearSessionPerson()
41
37
  })
42
38
 
43
- it('should clear storage and return null when auth cookie is missing', () => {
39
+ it('should clear storage and return null when user is not logged in (no person?.id)', () => {
44
40
  const removeItemSpy = jest.spyOn(Storage.prototype, 'removeItem')
45
41
 
46
42
  const result = getClientCacheBustingValue()
47
43
 
48
44
  expect(result).toBeNull()
49
- expect(removeItemSpy).toHaveBeenCalledWith(STORAGE_KEY_AUTH_COOKIE_VALUE)
45
+ expect(removeItemSpy).toHaveBeenCalledWith(STORAGE_KEY_PERSON_ID)
50
46
  expect(removeItemSpy).toHaveBeenCalledWith(
51
47
  STORAGE_KEY_CACHE_BUST_LAST_VALUE
52
48
  )
53
49
  })
54
50
 
55
- it('should return a new timestamp and persist values when auth cookie changed', () => {
56
- setAuthCookie('token-1')
51
+ it('should return a new timestamp and persist values when auth state changed (login)', () => {
52
+ setSessionPerson('user-id-1')
57
53
 
58
54
  const nowSpy = jest.spyOn(Date, 'now').mockReturnValue(1700000000000)
59
55
  const setItemSpy = jest.spyOn(Storage.prototype, 'setItem')
60
56
 
61
57
  const result = getClientCacheBustingValue()
62
58
 
63
- expect(result).toBe('1700000000000')
59
+ expect(result).toBe('1700000000000::user-id-1')
64
60
  expect(nowSpy).toHaveBeenCalled()
65
- expect(setItemSpy).toHaveBeenCalledWith(
66
- STORAGE_KEY_AUTH_COOKIE_VALUE,
67
- 'token-1'
68
- )
61
+ expect(setItemSpy).toHaveBeenCalledWith(STORAGE_KEY_PERSON_ID, 'user-id-1')
69
62
  expect(setItemSpy).toHaveBeenCalledWith(
70
63
  STORAGE_KEY_CACHE_BUST_LAST_VALUE,
71
- '1700000000000'
64
+ '1700000000000::user-id-1'
72
65
  )
73
66
  })
74
67
 
75
- it('should return last cached value when auth cookie is the same and last value exists', () => {
76
- setAuthCookie('token-1')
77
- sessionStorage.setItem(STORAGE_KEY_AUTH_COOKIE_VALUE, 'token-1')
78
- sessionStorage.setItem(STORAGE_KEY_CACHE_BUST_LAST_VALUE, 'prev')
68
+ it('should return last cached value when auth state is the same and last value exists', () => {
69
+ setSessionPerson('user-id-1')
70
+ sessionStorage.setItem(STORAGE_KEY_PERSON_ID, 'user-id-1')
71
+ sessionStorage.setItem(
72
+ STORAGE_KEY_CACHE_BUST_LAST_VALUE,
73
+ '1700000000000::user-id-1'
74
+ )
79
75
 
80
76
  const nowSpy = jest.spyOn(Date, 'now')
81
77
  const setItemSpy = jest.spyOn(Storage.prototype, 'setItem')
82
78
 
83
79
  const result = getClientCacheBustingValue()
84
80
 
85
- expect(result).toBe('prev')
81
+ expect(result).toBe('1700000000000::user-id-1')
86
82
  expect(nowSpy).not.toHaveBeenCalled()
87
83
  expect(setItemSpy).not.toHaveBeenCalled()
88
84
  })
89
85
 
90
- it('should create and persist a new last value when auth cookie is the same but last value is missing', () => {
91
- setAuthCookie('token-1')
92
- sessionStorage.setItem(STORAGE_KEY_AUTH_COOKIE_VALUE, 'token-1')
86
+ it('should create and persist a new last value when auth state is the same but last value is missing', () => {
87
+ setSessionPerson('user-id-1')
88
+ sessionStorage.setItem(STORAGE_KEY_PERSON_ID, 'user-id-1')
93
89
 
94
90
  const nowSpy = jest.spyOn(Date, 'now').mockReturnValue(1700000000123)
95
91
  const setItemSpy = jest.spyOn(Storage.prototype, 'setItem')
96
92
 
97
93
  const result = getClientCacheBustingValue()
98
94
 
99
- expect(result).toBe('1700000000123')
95
+ expect(result).toBe('1700000000123::user-id-1')
100
96
  expect(nowSpy).toHaveBeenCalled()
101
97
  expect(setItemSpy).toHaveBeenCalledWith(
102
98
  STORAGE_KEY_CACHE_BUST_LAST_VALUE,
103
- '1700000000123'
99
+ '1700000000123::user-id-1'
104
100
  )
105
101
  expect(setItemSpy).not.toHaveBeenCalledWith(
106
- STORAGE_KEY_AUTH_COOKIE_VALUE,
107
- 'token-1'
102
+ STORAGE_KEY_PERSON_ID,
103
+ 'user-id-1'
108
104
  )
109
105
  })
110
106
 
111
- it('should keep "=" characters in cookie value', () => {
112
- setAuthCookie('a=b=c')
107
+ it('should detect user change and return new timestamp', () => {
108
+ setSessionPerson('user-id-1')
109
+ sessionStorage.setItem(STORAGE_KEY_PERSON_ID, 'user-id-1')
110
+ sessionStorage.setItem(
111
+ STORAGE_KEY_CACHE_BUST_LAST_VALUE,
112
+ '1700000000000::user-id-1'
113
+ )
114
+
115
+ // Simulate user switch (e.g. re-login with different account)
116
+ setSessionPerson('user-id-2')
113
117
 
114
118
  jest.spyOn(Date, 'now').mockReturnValue(1700000000456)
115
119
 
116
120
  const result = getClientCacheBustingValue()
117
121
 
118
- expect(result).toBe('1700000000456')
119
- expect(sessionStorage.getItem(STORAGE_KEY_AUTH_COOKIE_VALUE)).toBe('a=b=c')
122
+ expect(result).toBe('1700000000456::user-id-2')
123
+ expect(sessionStorage.getItem(STORAGE_KEY_PERSON_ID)).toBe('user-id-2')
124
+ expect(sessionStorage.getItem(STORAGE_KEY_CACHE_BUST_LAST_VALUE)).toBe(
125
+ '1700000000456::user-id-2'
126
+ )
120
127
  })
121
128
  })
@@ -1,6 +0,0 @@
1
- exports.id=772,exports.ids=[772],exports.modules={87337:(e,t,r)=>{"use strict";let a;r.d(t,{U2:()=>get,t8:()=>set});let esm=function(){let e;let t=!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent);return t&&indexedDB.databases?new Promise(t=>{let tryIdb=()=>indexedDB.databases().finally(t);e=setInterval(tryIdb,100),tryIdb()}).finally(()=>clearInterval(e)):Promise.resolve()};function promisifyRequest(e){return new Promise((t,r)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>r(e.error)})}function defaultGetStore(){return a||(a=function(e,t){let r=esm().then(()=>{let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),promisifyRequest(r)});return(e,a)=>r.then(r=>a(r.transaction(t,e).objectStore(t)))}("keyval-store","keyval")),a}function get(e,t=defaultGetStore()){return t("readonly",t=>promisifyRequest(t.get(e)))}function set(e,t,r=defaultGetStore()){return r("readwrite",r=>(r.put(t,e),promisifyRequest(r.transaction)))}},67233:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return addBasePath}});let a=r(52615),n=r(52044);function addBasePath(e,t){return(0,n.normalizePathTrailingSlash)((0,a.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},99322:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return addLocale}});let a=r(52044),addLocale=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return(0,a.normalizePathTrailingSlash)(r(86024).addLocale(e,...n))};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},86583:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RSC:function(){return r},ACTION:function(){return a},NEXT_ROUTER_STATE_TREE:function(){return n},NEXT_ROUTER_PREFETCH:function(){return o},NEXT_URL:function(){return i},RSC_CONTENT_TYPE_HEADER:function(){return s},RSC_VARY_HEADER:function(){return l},FLIGHT_PARAMETERS:function(){return u},NEXT_RSC_UNION_QUERY:function(){return c}});let r="RSC",a="Next-Action",n="Next-Router-State-Tree",o="Next-Router-Prefetch",i="Next-Url",s="text/x-component",l=r+", "+n+", "+o+", "+i,u=[[r],[n],[o]],c="_rsc";("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},28106:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"detectDomainLocale",{enumerable:!0,get:function(){return detectDomainLocale}});let detectDomainLocale=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return r(21031).D(...t)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},72996:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return hasBasePath}});let a=r(83195);function hasBasePath(e){return(0,a.pathHasPrefix)(e,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},65341:(e,t)=>{"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DOMAttributeNames:function(){return a},isEqualNode:function(){return isEqualNode},default:function(){return initHeadManager}});let a={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"};function reactElementToDOM(e){let{type:t,props:r}=e,n=document.createElement(t);for(let e in r){if(!r.hasOwnProperty(e)||"children"===e||"dangerouslySetInnerHTML"===e||void 0===r[e])continue;let o=a[e]||e.toLowerCase();"script"===t&&("async"===o||"defer"===o||"noModule"===o)?n[o]=!!r[e]:n.setAttribute(o,r[e])}let{children:o,dangerouslySetInnerHTML:i}=r;return i?n.innerHTML=i.__html||"":o&&(n.textContent="string"==typeof o?o:Array.isArray(o)?o.join(""):""),n}function isEqualNode(e,t){if(e instanceof HTMLElement&&t instanceof HTMLElement){let r=t.getAttribute("nonce");if(r&&!e.getAttribute("nonce")){let a=t.cloneNode(!0);return a.setAttribute("nonce",""),a.nonce=r,r===e.nonce&&e.isEqualNode(a)}}return e.isEqualNode(t)}function initHeadManager(){return{mountedInstances:new Set,updateHead:e=>{let t={};e.forEach(e=>{if("link"===e.type&&e.props["data-optimized-fonts"]){if(document.querySelector('style[data-href="'+e.props["data-href"]+'"]'))return;e.props.href=e.props["data-href"],e.props["data-href"]=void 0}let r=t[e.type]||[];r.push(e),t[e.type]=r});let a=t.title?t.title[0]:null,n="";if(a){let{children:e}=a.props;n="string"==typeof e?e:Array.isArray(e)?e.join(""):""}n!==document.title&&(document.title=n),["meta","base","link","style","script"].forEach(e=>{r(e,t[e]||[])})}}}r=(e,t)=>{let r=document.getElementsByTagName("head")[0],a=r.querySelector("meta[name=next-head-count]"),n=Number(a.content),o=[];for(let t=0,r=a.previousElementSibling;t<n;t++,r=(null==r?void 0:r.previousElementSibling)||null){var i;(null==r?void 0:null==(i=r.tagName)?void 0:i.toLowerCase())===e&&o.push(r)}let s=t.map(reactElementToDOM).filter(e=>{for(let t=0,r=o.length;t<r;t++){let r=o[t];if(isEqualNode(r,e))return o.splice(t,1),!1}return!0});o.forEach(e=>{var t;return null==(t=e.parentNode)?void 0:t.removeChild(e)}),s.forEach(e=>r.insertBefore(e,a)),a.content=(n-o.length+s.length).toString()},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},52044:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return normalizePathTrailingSlash}});let a=r(83546),n=r(71302),normalizePathTrailingSlash=e=>{if(!e.startsWith("/"))return e;let{pathname:t,query:r,hash:o}=(0,n.parsePath)(e);return""+(0,a.removeTrailingSlash)(t)+r+o};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2052:(e,t,r)=>{"use strict";function removeBasePath(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return removeBasePath}}),r(72996),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},63780:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeLocale",{enumerable:!0,get:function(){return removeLocale}});let a=r(71302);function removeLocale(e,t){{let{pathname:r}=(0,a.parsePath)(e),n=r.toLowerCase(),o=null==t?void 0:t.toLowerCase();return t&&(n.startsWith("/"+o+"/")||n==="/"+o)?(r.length===t.length+1?"/":"")+e.slice(t.length+1):e}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},40986:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{requestIdleCallback:function(){return r},cancelIdleCallback:function(){return a}});let r="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},a="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},22253:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return resolveHref}});let a=r(74429),n=r(60816),o=r(3885),i=r(96961),s=r(52044),l=r(24794),u=r(37951),c=r(71656);function resolveHref(e,t,r){let f;let d="string"==typeof t?t:(0,n.formatWithValidation)(t),p=d.match(/^[a-zA-Z]{1,}:\/\//),h=p?d.slice(p[0].length):d,m=h.split("?");if((m[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+d+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,i.normalizeRepeatedSlashes)(h);d=(p?p[0]:"")+t}if(!(0,l.isLocalURL)(d))return r?[d]:d;try{f=new URL(d.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){f=new URL("/","http://n")}try{let e=new URL(d,f);e.pathname=(0,s.normalizePathTrailingSlash)(e.pathname);let t="";if((0,u.isDynamicRoute)(e.pathname)&&e.searchParams&&r){let r=(0,a.searchParamsToUrlQuery)(e.searchParams),{result:i,params:s}=(0,c.interpolateAs)(e.pathname,e.pathname,r);i&&(t=(0,n.formatWithValidation)({pathname:i,hash:e.hash,query:(0,o.omit)(r,s)}))}let i=e.origin===f.origin?e.href.slice(e.origin.length):e.href;return r?[i,t||i]:i}catch(e){return r?[d]:d}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},37006:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{markAssetError:function(){return markAssetError},isAssetError:function(){return isAssetError},getClientBuildManifest:function(){return getClientBuildManifest},createRouteLoader:function(){return createRouteLoader}}),r(55248),r(75125);let a=r(73454),n=r(40986),o=r(4793);function withFuture(e,t,r){let a,n=t.get(e);if(n)return"future"in n?n.future:Promise.resolve(n);let o=new Promise(e=>{a=e});return t.set(e,n={resolve:a,future:o}),r?r().then(e=>(a(e),e)).catch(r=>{throw t.delete(e),r}):o}let i=Symbol("ASSET_LOAD_ERROR");function markAssetError(e){return Object.defineProperty(e,i,{})}function isAssetError(e){return e&&i in e}let s=function(e){try{return e=document.createElement("link"),!!window.MSInputMethodContext&&!!document.documentMode||e.relList.supports("prefetch")}catch(e){return!1}}(),getAssetQueryString=()=>(0,o.getDeploymentIdQueryOrEmptyString)();function resolvePromiseWithTimeout(e,t,r){return new Promise((a,o)=>{let i=!1;e.then(e=>{i=!0,a(e)}).catch(o),(0,n.requestIdleCallback)(()=>setTimeout(()=>{i||o(r)},t))})}function getClientBuildManifest(){if(self.__BUILD_MANIFEST)return Promise.resolve(self.__BUILD_MANIFEST);let e=new Promise(e=>{let t=self.__BUILD_MANIFEST_CB;self.__BUILD_MANIFEST_CB=()=>{e(self.__BUILD_MANIFEST),t&&t()}});return resolvePromiseWithTimeout(e,3800,markAssetError(Error("Failed to load client build manifest")))}function getFilesForRoute(e,t){return getClientBuildManifest().then(r=>{if(!(t in r))throw markAssetError(Error("Failed to lookup route: "+t));let n=r[t].map(t=>e+"/_next/"+encodeURI(t));return{scripts:n.filter(e=>e.endsWith(".js")).map(e=>(0,a.__unsafeCreateTrustedScriptURL)(e)+getAssetQueryString()),css:n.filter(e=>e.endsWith(".css")).map(e=>e+getAssetQueryString())}})}function createRouteLoader(e){let t=new Map,r=new Map,a=new Map,o=new Map;function maybeExecuteScript(e){{var t;let a=r.get(e.toString());return a||(document.querySelector('script[src^="'+e+'"]')?Promise.resolve():(r.set(e.toString(),a=new Promise((r,a)=>{(t=document.createElement("script")).onload=r,t.onerror=()=>a(markAssetError(Error("Failed to load script: "+e))),t.crossOrigin=void 0,t.src=e,document.body.appendChild(t)})),a))}}function fetchStyleSheet(e){let t=a.get(e);return t||a.set(e,t=fetch(e).then(t=>{if(!t.ok)throw Error("Failed to load stylesheet: "+e);return t.text().then(t=>({href:e,content:t}))}).catch(e=>{throw markAssetError(e)})),t}return{whenEntrypoint:e=>withFuture(e,t),onEntrypoint(e,r){(r?Promise.resolve().then(()=>r()).then(e=>({component:e&&e.default||e,exports:e}),e=>({error:e})):Promise.resolve(void 0)).then(r=>{let a=t.get(e);a&&"resolve"in a?r&&(t.set(e,r),a.resolve(r)):(r?t.set(e,r):t.delete(e),o.delete(e))})},loadRoute(r,a){return withFuture(r,o,()=>{let n;return resolvePromiseWithTimeout(getFilesForRoute(e,r).then(e=>{let{scripts:a,css:n}=e;return Promise.all([t.has(r)?[]:Promise.all(a.map(maybeExecuteScript)),Promise.all(n.map(fetchStyleSheet))])}).then(e=>this.whenEntrypoint(r).then(t=>({entrypoint:t,styles:e[1]}))),3800,markAssetError(Error("Route did not complete loading: "+r))).then(e=>{let{entrypoint:t,styles:r}=e,a=Object.assign({styles:r},t);return"error"in t?t:a}).catch(e=>{if(a)throw e;return{error:e}}).finally(()=>null==n?void 0:n())})},prefetch(t){let r;return(r=navigator.connection)&&(r.saveData||/2g/.test(r.effectiveType))?Promise.resolve():getFilesForRoute(e,t).then(e=>Promise.all(s?e.scripts.map(e=>{var t,r,a;return t=e.toString(),r="script",new Promise((e,n)=>{let o='\n link[rel="prefetch"][href^="'+t+'"],\n link[rel="preload"][href^="'+t+'"],\n script[src^="'+t+'"]';if(document.querySelector(o))return e();a=document.createElement("link"),r&&(a.as=r),a.rel="prefetch",a.crossOrigin=void 0,a.onload=e,a.onerror=()=>n(markAssetError(Error("Failed to prefetch: "+t))),a.href=t,document.head.appendChild(a)})}):[])).then(()=>{(0,n.requestIdleCallback)(()=>this.loadRoute(t,!0).catch(()=>{}))}).catch(()=>{})}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},24308:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{Router:function(){return o.default},default:function(){return d},withRouter:function(){return l.default},useRouter:function(){return useRouter},createRouter:function(){return createRouter},makePublicRouterInstance:function(){return makePublicRouterInstance}});let a=r(55248),n=a._(r(16689)),o=a._(r(61762)),i=r(75312),s=a._(r(93474)),l=a._(r(81123)),u={router:null,readyCallbacks:[],ready(e){if(this.router)return e()}},c=["pathname","route","query","asPath","components","isFallback","basePath","locale","locales","defaultLocale","isReady","isPreview","isLocaleDomain","domainLocales"],f=["push","replace","reload","back","prefetch","beforePopState"];function getRouter(){if(!u.router)throw Error('No router instance found.\nYou should only use "next/router" on the client side of your app.\n');return u.router}Object.defineProperty(u,"events",{get:()=>o.default.events}),c.forEach(e=>{Object.defineProperty(u,e,{get(){let t=getRouter();return t[e]}})}),f.forEach(e=>{u[e]=function(){for(var t=arguments.length,r=Array(t),a=0;a<t;a++)r[a]=arguments[a];let n=getRouter();return n[e](...r)}}),["routeChangeStart","beforeHistoryChange","routeChangeComplete","routeChangeError","hashChangeStart","hashChangeComplete"].forEach(e=>{u.ready(()=>{o.default.events.on(e,function(){for(var t=arguments.length,r=Array(t),a=0;a<t;a++)r[a]=arguments[a];let n="on"+e.charAt(0).toUpperCase()+e.substring(1);if(u[n])try{u[n](...r)}catch(e){console.error("Error when running the Router event: "+n),console.error((0,s.default)(e)?e.message+"\n"+e.stack:e+"")}})})});let d=u;function useRouter(){let e=n.default.useContext(i.RouterContext);if(!e)throw Error("NextRouter was not mounted. https://nextjs.org/docs/messages/next-router-not-mounted");return e}function createRouter(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return u.router=new o.default(...t),u.readyCallbacks.forEach(e=>e()),u.readyCallbacks=[],u.router}function makePublicRouterInstance(e){let t={};for(let r of c){if("object"==typeof e[r]){t[r]=Object.assign(Array.isArray(e[r])?[]:{},e[r]);continue}t[r]=e[r]}return t.events=o.default.events,f.forEach(r=>{t[r]=function(){for(var t=arguments.length,a=Array(t),n=0;n<t;n++)a[n]=arguments[n];return e[r](...a)}}),t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7341:(e,t,r)=>{"use strict";let a=["id","src","onLoad","onReady","strategy","onError","stylesheets"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleClientScriptLoad:function(){return handleClientScriptLoad},initScriptLoader:function(){return initScriptLoader},default:function(){return h}});let n=r(55248),o=r(60112),i=n._(r(66405)),s=o._(r(16689)),l=r(80266),u=r(65341),c=r(40986),f=new Map,d=new Set,p=["onLoad","onReady","dangerouslySetInnerHTML","children","onError","strategy","stylesheets"],insertStylesheets=e=>{if(i.default.preinit){e.forEach(e=>{i.default.preinit(e,{as:"style"})});return}},loadScript=e=>{let{src:t,id:r,onLoad:a=()=>{},onReady:n=null,dangerouslySetInnerHTML:o,children:i="",strategy:s="afterInteractive",onError:l,stylesheets:c}=e,h=r||t;if(h&&d.has(h))return;if(f.has(t)){d.add(h),f.get(t).then(a,l);return}let afterLoad=()=>{n&&n(),d.add(h)},m=document.createElement("script"),g=new Promise((e,t)=>{m.addEventListener("load",function(t){e(),a&&a.call(this,t),afterLoad()}),m.addEventListener("error",function(e){t(e)})}).catch(function(e){l&&l(e)});for(let[r,a]of(o?(m.innerHTML=o.__html||"",afterLoad()):i?(m.textContent="string"==typeof i?i:Array.isArray(i)?i.join(""):"",afterLoad()):t&&(m.src=t,f.set(t,g)),Object.entries(e))){if(void 0===a||p.includes(r))continue;let e=u.DOMAttributeNames[r]||r.toLowerCase();m.setAttribute(e,a)}"worker"===s&&m.setAttribute("type","text/partytown"),m.setAttribute("data-nscript",s),c&&insertStylesheets(c),document.body.appendChild(m)};function handleClientScriptLoad(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>loadScript(e))}):loadScript(e)}function initScriptLoader(e){e.forEach(handleClientScriptLoad),function(){let e=[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')];e.forEach(e=>{let t=e.id||e.getAttribute("src");d.add(t)})}()}function Script(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:o=null,strategy:u="afterInteractive",onError:f,stylesheets:p}=e,h=function(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},o=Object.keys(e);for(a=0;a<o.length;a++)r=o[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)r=o[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(e,a),{updateScripts:m,scripts:g,getIsSsr:y,appDir:b,nonce:P}=(0,s.useContext)(l.HeadManagerContext),v=(0,s.useRef)(!1);(0,s.useEffect)(()=>{let e=t||r;v.current||(o&&e&&d.has(e)&&o(),v.current=!0)},[o,t,r]);let _=(0,s.useRef)(!1);if((0,s.useEffect)(()=>{!_.current&&("afterInteractive"===u?loadScript(e):"lazyOnload"===u&&("complete"===document.readyState?(0,c.requestIdleCallback)(()=>loadScript(e)):window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>loadScript(e))})),_.current=!0)},[e,u]),("beforeInteractive"===u||"worker"===u)&&(m?(g[u]=(g[u]||[]).concat([_objectSpread({id:t,src:r,onLoad:n,onReady:o,onError:f},h)]),m(g)):y&&y()?d.add(t||r):y&&!y()&&loadScript(e)),b){if(p&&p.forEach(e=>{i.default.preinit(e,{as:"style"})}),"beforeInteractive"===u)return r?(i.default.preload(r,h.integrity?{as:"script",integrity:h.integrity}:{as:"script"}),s.default.createElement("script",{nonce:P,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([r])+")"}})):(h.dangerouslySetInnerHTML&&(h.children=h.dangerouslySetInnerHTML.__html,delete h.dangerouslySetInnerHTML),s.default.createElement("script",{nonce:P,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([0,_objectSpread({},h)])+")"}}));"afterInteractive"===u&&r&&i.default.preload(r,h.integrity?{as:"script",integrity:h.integrity}:{as:"script"})}return null}Object.defineProperty(Script,"__nextScript",{value:!0});let h=Script;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},73454:(e,t)=>{"use strict";let r;function __unsafeCreateTrustedScriptURL(e){return(null==r?void 0:r.createScriptURL(e))||e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"__unsafeCreateTrustedScriptURL",{enumerable:!0,get:function(){return __unsafeCreateTrustedScriptURL}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},81123:(e,t,r)=>{"use strict";function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return withRouter}});let a=r(55248),n=a._(r(16689)),o=r(24308);function withRouter(e){function WithRouterWrapper(t){return n.default.createElement(e,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({router:(0,o.useRouter)()},t))}return WithRouterWrapper.getInitialProps=e.getInitialProps,WithRouterWrapper.origGetInitialProps=e.origGetInitialProps,WithRouterWrapper}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1748:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BloomFilter",{enumerable:!0,get:function(){return BloomFilter}});let BloomFilter=class BloomFilter{static from(e,t){void 0===t&&(t=.01);let r=new BloomFilter(e.length,t);for(let t of e)r.add(t);return r}export(){let e={numItems:this.numItems,errorRate:this.errorRate,numBits:this.numBits,numHashes:this.numHashes,bitArray:this.bitArray};if(this.errorRate<.01){let t=JSON.stringify(e),a=r(75327).sync(t);a>1024&&console.warn("Creating filter with error rate less than 1% (0.01) can increase the size dramatically proceed with caution. Received error rate "+this.errorRate+" resulted in size "+t.length+" bytes, "+a+" bytes (gzip)")}return e}import(e){this.numItems=e.numItems,this.errorRate=e.errorRate,this.numBits=e.numBits,this.numHashes=e.numHashes,this.bitArray=e.bitArray}add(e){let t=this.getHashValues(e);t.forEach(e=>{this.bitArray[e]=1})}contains(e){let t=this.getHashValues(e);return t.every(e=>this.bitArray[e])}getHashValues(e){let t=[];for(let r=1;r<=this.numHashes;r++){let a=function(e){let t=0;for(let r=0;r<e.length;r++){let a=e.charCodeAt(r);t=Math.imul(t^a,1540483477),t^=t>>>13,t=Math.imul(t,1540483477)}return t>>>0}(""+e+r)%this.numBits;t.push(a)}return t}constructor(e,t){this.numItems=e,this.errorRate=t,this.numBits=Math.ceil(-(e*Math.log(t))/(Math.log(2)*Math.log(2))),this.numHashes=Math.ceil(this.numBits/e*Math.log(2)),this.bitArray=Array(this.numBits).fill(0)}}},67982:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return escapeStringRegexp}});let r=/[|\\{}()[\]^$+*?.-]/,a=/[|\\{}()[\]^$+*?.-]/g;function escapeStringRegexp(e){return r.test(e)?e.replace(a,"\\$&"):e}},21031:(e,t)=>{"use strict";function detectDomainLocale(e,t,r){if(e)for(let o of(r&&(r=r.toLowerCase()),e)){var a,n;let e=null==(a=o.domain)?void 0:a.split(":")[0].toLowerCase();if(t===e||r===o.defaultLocale.toLowerCase()||(null==(n=o.locales)?void 0:n.some(e=>e.toLowerCase()===r)))return o}}Object.defineProperty(t,"D",{enumerable:!0,get:function(){return detectDomainLocale}})},72762:(e,t)=>{"use strict";function normalizeLocalePath(e,t){let r;let a=e.split("/");return(t||[]).some(t=>!!a[1]&&a[1].toLowerCase()===t.toLowerCase()&&(r=t,a.splice(1,1),e=a.join("/")||"/",!0)),{pathname:e,detectedLocale:r}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizeLocalePath",{enumerable:!0,get:function(){return normalizeLocalePath}})},40107:(e,t)=>{"use strict";function mitt(){let e=Object.create(null);return{on(t,r){(e[t]||(e[t]=[])).push(r)},off(t,r){e[t]&&e[t].splice(e[t].indexOf(r)>>>0,1)},emit(t){for(var r=arguments.length,a=Array(r>1?r-1:0),n=1;n<r;n++)a[n-1]=arguments[n];(e[t]||[]).slice().map(e=>{e(...a)})}}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return mitt}})},61762:(e,t,r)=>{"use strict";function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return Router},matchesMiddleware:function(){return matchesMiddleware},createKey:function(){return createKey}});let a=r(55248),n=r(60112),o=r(83546),i=r(37006),s=r(7341),l=n._(r(93474)),u=r(93887),c=r(72762),f=a._(r(40107)),d=r(96961),p=r(67273),h=r(67606);r(87874);let m=r(52774),g=r(36286),y=r(60816),b=r(28106),P=r(71302),v=r(99322),_=r(63780),O=r(2052),S=r(67233),w=r(72996),j=r(22253),R=r(38377),E=r(17138),x=r(82929),A=r(6087),C=r(24794);r(42555);let L=r(3885),M=r(71656),T=r(23840);function buildCancellationError(){return Object.assign(Error("Route Cancelled"),{cancelled:!0})}async function matchesMiddleware(e){let t=await Promise.resolve(e.router.pageLoader.getMiddleware());if(!t)return!1;let{pathname:r}=(0,P.parsePath)(e.asPath),a=(0,w.hasBasePath)(r)?(0,O.removeBasePath)(r):r,n=(0,S.addBasePath)((0,v.addLocale)(a,e.locale));return t.some(e=>new RegExp(e.regexp).test(n))}function stripOrigin(e){let t=(0,d.getLocationOrigin)();return e.startsWith(t)?e.substring(t.length):e}function prepareUrlAs(e,t,r){let[a,n]=(0,j.resolveHref)(e,t,!0),o=(0,d.getLocationOrigin)(),i=a.startsWith(o),s=n&&n.startsWith(o);a=stripOrigin(a),n=n?stripOrigin(n):n;let l=i?a:(0,S.addBasePath)(a),u=r?stripOrigin((0,j.resolveHref)(e,r)):n||a;return{url:l,as:s?u:(0,S.addBasePath)(u)}}function resolveDynamicRoute(e,t){let r=(0,o.removeTrailingSlash)((0,u.denormalizePagePath)(e));return"/404"===r||"/_error"===r?e:(t.includes(r)||t.some(t=>{if((0,p.isDynamicRoute)(t)&&(0,g.getRouteRegex)(t).re.test(r))return e=t,!0}),(0,o.removeTrailingSlash)(e))}async function withMiddlewareEffects(e){let t=await matchesMiddleware(e);if(!t||!e.fetchData)return null;try{let t=await e.fetchData(),r=await function(e,t,r){let a={basePath:r.router.basePath,i18n:{locales:r.router.locales},trailingSlash:!1},n=t.headers.get("x-nextjs-rewrite"),s=n||t.headers.get("x-nextjs-matched-path"),l=t.headers.get("x-matched-path");if(!l||s||l.includes("__next_data_catchall")||l.includes("/_error")||l.includes("/404")||(s=l),s){if(s.startsWith("/")){let t=(0,h.parseRelativeUrl)(s),l=(0,E.getNextPathnameInfo)(t.pathname,{nextConfig:a,parseData:!0}),u=(0,o.removeTrailingSlash)(l.pathname);return Promise.all([r.router.pageLoader.getPageList(),(0,i.getClientBuildManifest)()]).then(o=>{let[i,{__rewrites:s}]=o,f=(0,v.addLocale)(l.pathname,l.locale);if((0,p.isDynamicRoute)(f)||!n&&i.includes((0,c.normalizeLocalePath)((0,O.removeBasePath)(f),r.router.locales).pathname)){let r=(0,E.getNextPathnameInfo)((0,h.parseRelativeUrl)(e).pathname,{nextConfig:a,parseData:!0});f=(0,S.addBasePath)(r.pathname),t.pathname=f}if(!i.includes(u)){let e=resolveDynamicRoute(u,i);e!==u&&(u=e)}let d=i.includes(u)?u:resolveDynamicRoute((0,c.normalizeLocalePath)((0,O.removeBasePath)(t.pathname),r.router.locales).pathname,i);if((0,p.isDynamicRoute)(d)){let e=(0,m.getRouteMatcher)((0,g.getRouteRegex)(d))(f);Object.assign(t.query,e||{})}return{type:"rewrite",parsedAs:t,resolvedHref:d}})}let t=(0,P.parsePath)(e),l=(0,x.formatNextPathnameInfo)(_objectSpread(_objectSpread({},(0,E.getNextPathnameInfo)(t.pathname,{nextConfig:a,parseData:!0})),{},{defaultLocale:r.router.defaultLocale,buildId:""}));return Promise.resolve({type:"redirect-external",destination:""+l+t.query+t.hash})}let u=t.headers.get("x-nextjs-redirect");if(u){if(u.startsWith("/")){let e=(0,P.parsePath)(u),t=(0,x.formatNextPathnameInfo)(_objectSpread(_objectSpread({},(0,E.getNextPathnameInfo)(e.pathname,{nextConfig:a,parseData:!0})),{},{defaultLocale:r.router.defaultLocale,buildId:""}));return Promise.resolve({type:"redirect-internal",newAs:""+t+e.query+e.hash,newUrl:""+t+e.query+e.hash})}return Promise.resolve({type:"redirect-external",destination:u})}return Promise.resolve({type:"next"})}(t.dataHref,t.response,e);return{dataHref:t.dataHref,json:t.json,response:t.response,text:t.text,cacheKey:t.cacheKey,effect:r}}catch(e){return null}}let I=Symbol("SSG_DATA_NOT_FOUND");function tryToParseAsJSON(e){try{return JSON.parse(e)}catch(e){return null}}function fetchNextData(e){var t;let{dataHref:r,inflightCache:a,isPrefetch:n,hasMiddleware:o,isServerRender:s,parseJSON:l,persistCache:u,isBackground:c,unstable_skipClientCache:f}=e,{href:d}=new URL(r,window.location.href),getData=e=>(function fetchRetry(e,t,r){return fetch(e,{credentials:"same-origin",method:r.method||"GET",headers:Object.assign({},r.headers,{"x-nextjs-data":"1"})}).then(a=>!a.ok&&t>1&&a.status>=500?fetchRetry(e,t-1,r):a)})(r,s?3:1,{headers:Object.assign({},n?{purpose:"prefetch"}:{},n&&o?{"x-middleware-prefetch":"1"}:{}),method:null!=(t=null==e?void 0:e.method)?t:"GET"}).then(t=>t.ok&&(null==e?void 0:e.method)==="HEAD"?{dataHref:r,response:t,text:"",json:{},cacheKey:d}:t.text().then(e=>{if(!t.ok){if(o&&[301,302,307,308].includes(t.status))return{dataHref:r,response:t,text:e,json:{},cacheKey:d};if(404===t.status){var a;if(null==(a=tryToParseAsJSON(e))?void 0:a.notFound)return{dataHref:r,json:{notFound:I},response:t,text:e,cacheKey:d}}let n=Error("Failed to load static props");throw s||(0,i.markAssetError)(n),n}return{dataHref:r,json:l?tryToParseAsJSON(e):null,response:t,text:e,cacheKey:d}})).then(e=>(u&&"no-cache"!==e.response.headers.get("x-middleware-cache")||delete a[d],e)).catch(e=>{throw f||delete a[d],("Failed to fetch"===e.message||"NetworkError when attempting to fetch resource."===e.message||"Load failed"===e.message)&&(0,i.markAssetError)(e),e});return f&&u?getData({}).then(e=>(a[d]=Promise.resolve(e),e)):void 0!==a[d]?a[d]:a[d]=getData(c?{method:"HEAD"}:{})}function createKey(){return Math.random().toString(36).slice(2,10)}function handleHardNavigation(e){let{url:t,router:r}=e;if(t===(0,S.addBasePath)((0,v.addLocale)(r.asPath,r.locale)))throw Error("Invariant: attempted to hard navigate to the same URL "+t+" "+location.href);window.location.href=t}let getCancelledHandler=e=>{let{route:t,router:r}=e,a=!1,n=r.clc=()=>{a=!0};return()=>{if(a){let e=Error('Abort fetching component for route: "'+t+'"');throw e.cancelled=!0,e}n===r.clc&&(r.clc=null)}};let Router=class Router{reload(){window.location.reload()}back(){window.history.back()}forward(){window.history.forward()}push(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=prepareUrlAs(this,e,t),this.change("pushState",e,t,r)}replace(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=prepareUrlAs(this,e,t),this.change("replaceState",e,t,r)}async _bfl(e,t,r,a){{let l=!1,u=!1;for(let c of[e,t])if(c){let t=(0,o.removeTrailingSlash)(new URL(c,"http://n").pathname),f=(0,S.addBasePath)((0,v.addLocale)(t,r||this.locale));if(t!==(0,o.removeTrailingSlash)(new URL(this.asPath,"http://n").pathname)){var n,i,s;for(let e of(l=l||!!(null==(n=this._bfl_s)?void 0:n.contains(t))||!!(null==(i=this._bfl_s)?void 0:i.contains(f)),[t,f])){let t=e.split("/");for(let e=0;!u&&e<t.length+1;e++){let r=t.slice(0,e).join("/");if(r&&(null==(s=this._bfl_d)?void 0:s.contains(r))){u=!0;break}}}if(l||u){if(a)return!0;return handleHardNavigation({url:(0,S.addBasePath)((0,v.addLocale)(e,r||this.locale,this.defaultLocale)),router:this}),new Promise(()=>{})}}}}return!1}async change(e,t,r,a,n){var u,f,j,R,E,x,T,N,k,D;let U,H;if(!(0,C.isLocalURL)(t))return handleHardNavigation({url:t,router:this}),!1;let B=1===a._h;B||a.shallow||await this._bfl(r,void 0,a.locale);let F=B||a._shouldResolveHref||(0,P.parsePath)(t).pathname===(0,P.parsePath)(r).pathname,q=_objectSpread({},this.state),W=!0!==this.isReady;this.isReady=!0;let z=this.isSsr;if(B||(this.isSsr=!1),B&&this.clc)return!1;let K=q.locale;{q.locale=!1===a.locale?this.defaultLocale:a.locale||q.locale,void 0===a.locale&&(a.locale=q.locale);let e=(0,h.parseRelativeUrl)((0,w.hasBasePath)(r)?(0,O.removeBasePath)(r):r),n=(0,c.normalizeLocalePath)(e.pathname,this.locales);n.detectedLocale&&(q.locale=n.detectedLocale,e.pathname=(0,S.addBasePath)(e.pathname),r=(0,y.formatWithValidation)(e),t=(0,S.addBasePath)((0,c.normalizeLocalePath)((0,w.hasBasePath)(t)?(0,O.removeBasePath)(t):t,this.locales).pathname));let o=!1;(null==(f=this.locales)?void 0:f.includes(q.locale))||(e.pathname=(0,v.addLocale)(e.pathname,q.locale),handleHardNavigation({url:(0,y.formatWithValidation)(e),router:this}),o=!0);let i=(0,b.detectDomainLocale)(this.domainLocales,void 0,q.locale);if(!o&&i&&this.isLocaleDomain&&self.location.hostname!==i.domain){let e=(0,O.removeBasePath)(r);handleHardNavigation({url:"http"+(i.http?"":"s")+"://"+i.domain+(0,S.addBasePath)((q.locale===i.defaultLocale?"":"/"+q.locale)+("/"===e?"":e)||"/"),router:this}),o=!0}if(o)return new Promise(()=>{})}d.ST&&performance.mark("routeChange");let{shallow:G=!1,scroll:Q=!0}=a,$={shallow:G};this._inFlightRoute&&this.clc&&(z||Router.events.emit("routeChangeError",buildCancellationError(),this._inFlightRoute,$),this.clc(),this.clc=null),r=(0,S.addBasePath)((0,v.addLocale)((0,w.hasBasePath)(r)?(0,O.removeBasePath)(r):r,a.locale,this.defaultLocale));let V=(0,_.removeLocale)((0,w.hasBasePath)(r)?(0,O.removeBasePath)(r):r,q.locale);this._inFlightRoute=r;let X=K!==q.locale;if(!B&&this.onlyAHashChange(V)&&!X){q.asPath=V,Router.events.emit("hashChangeStart",r,$),this.changeState(e,t,r,_objectSpread(_objectSpread({},a),{},{scroll:!1})),Q&&this.scrollToHash(V);try{await this.set(q,this.components[q.route],null)}catch(e){throw(0,l.default)(e)&&e.cancelled&&Router.events.emit("routeChangeError",e,V,$),e}return Router.events.emit("hashChangeComplete",r,$),!0}let J=(0,h.parseRelativeUrl)(t),{pathname:Y,query:Z}=J;if(null==(u=this.components[Y])?void 0:u.__appRouter)return handleHardNavigation({url:r,router:this}),new Promise(()=>{});try{[U,{__rewrites:H}]=await Promise.all([this.pageLoader.getPageList(),(0,i.getClientBuildManifest)(),this.pageLoader.getMiddleware()])}catch(e){return handleHardNavigation({url:r,router:this}),!1}this.urlIsNew(V)||X||(e="replaceState");let ee=r;Y=Y?(0,o.removeTrailingSlash)((0,O.removeBasePath)(Y)):Y;let et=(0,o.removeTrailingSlash)(Y),er=r.startsWith("/")&&(0,h.parseRelativeUrl)(r).pathname,ea=!!(er&&et!==er&&(!(0,p.isDynamicRoute)(et)||!(0,m.getRouteMatcher)((0,g.getRouteRegex)(et))(er))),en=!a.shallow&&await matchesMiddleware({asPath:r,locale:q.locale,router:this});if(B&&en&&(F=!1),F&&"/_error"!==Y&&(a._shouldResolveHref=!0,J.pathname=resolveDynamicRoute(Y,U),J.pathname===Y||(Y=J.pathname,J.pathname=(0,S.addBasePath)(Y),en||(t=(0,y.formatWithValidation)(J)))),!(0,C.isLocalURL)(r))return handleHardNavigation({url:r,router:this}),!1;ee=(0,_.removeLocale)((0,O.removeBasePath)(ee),q.locale),et=(0,o.removeTrailingSlash)(Y);let eo=!1;if((0,p.isDynamicRoute)(et)){let e=(0,h.parseRelativeUrl)(ee),a=e.pathname,n=(0,g.getRouteRegex)(et);eo=(0,m.getRouteMatcher)(n)(a);let o=et===a,i=o?(0,M.interpolateAs)(et,a,Z):{};if(eo&&(!o||i.result))o?r=(0,y.formatWithValidation)(Object.assign({},e,{pathname:i.result,query:(0,L.omit)(Z,i.params)})):Object.assign(Z,eo);else{let e=Object.keys(n.groups).filter(e=>!Z[e]&&!n.groups[e].optional);if(e.length>0&&!en)throw Error((o?"The provided `href` ("+t+") value is missing query values ("+e.join(", ")+") to be interpolated properly. ":"The provided `as` value ("+a+") is incompatible with the `href` value ("+et+"). ")+"Read more: https://nextjs.org/docs/messages/"+(o?"href-interpolation-failed":"incompatible-href-as"))}}B||Router.events.emit("routeChangeStart",r,$);let ei="/404"===this.pathname||"/_error"===this.pathname;try{let o=await this.getRouteInfo({route:et,pathname:Y,query:Z,as:r,resolvedAs:ee,routeProps:$,locale:q.locale,isPreview:q.isPreview,hasMiddleware:en,unstable_skipClientCache:a.unstable_skipClientCache,isQueryUpdating:B&&!this.isFallback,isMiddlewareRewrite:ea});if(B||a.shallow||await this._bfl(r,"resolvedAs"in o?o.resolvedAs:void 0,q.locale),"route"in o&&en){et=Y=o.route||et,$.shallow||(Z=Object.assign({},o.query||{},Z));let e=(0,w.hasBasePath)(J.pathname)?(0,O.removeBasePath)(J.pathname):J.pathname;if(eo&&Y!==e&&Object.keys(eo).forEach(e=>{eo&&Z[e]===eo[e]&&delete Z[e]}),(0,p.isDynamicRoute)(Y)){let e=!$.shallow&&o.resolvedAs?o.resolvedAs:(0,S.addBasePath)((0,v.addLocale)(new URL(r,location.href).pathname,q.locale),!0),t=e;(0,w.hasBasePath)(t)&&(t=(0,O.removeBasePath)(t));{let e=(0,c.normalizeLocalePath)(t,this.locales);q.locale=e.detectedLocale||q.locale,t=e.pathname}let a=(0,g.getRouteRegex)(Y),n=(0,m.getRouteMatcher)(a)(new URL(t,location.href).pathname);n&&Object.assign(Z,n)}}if("type"in o){if("redirect-internal"===o.type)return this.change(e,o.newUrl,o.newAs,a);return handleHardNavigation({url:o.destination,router:this}),new Promise(()=>{})}let i=o.Component;if(i&&i.unstable_scriptLoader){let e=[].concat(i.unstable_scriptLoader());e.forEach(e=>{(0,s.handleClientScriptLoad)(e.props)})}if((o.__N_SSG||o.__N_SSP)&&o.props){if(o.props.pageProps&&o.props.pageProps.__N_REDIRECT){a.locale=!1;let t=o.props.pageProps.__N_REDIRECT;if(t.startsWith("/")&&!1!==o.props.pageProps.__N_REDIRECT_BASE_PATH){let r=(0,h.parseRelativeUrl)(t);r.pathname=resolveDynamicRoute(r.pathname,U);let{url:n,as:o}=prepareUrlAs(this,t,t);return this.change(e,n,o,a)}return handleHardNavigation({url:t,router:this}),new Promise(()=>{})}if(q.isPreview=!!o.props.__N_PREVIEW,o.props.notFound===I){let e;try{await this.fetchComponent("/404"),e="/404"}catch(t){e="/_error"}if(o=await this.getRouteInfo({route:e,pathname:e,query:Z,as:r,resolvedAs:ee,routeProps:{shallow:!1},locale:q.locale,isPreview:q.isPreview,isNotFound:!0}),"type"in o)throw Error("Unexpected middleware effect on /404")}}B&&"/_error"===this.pathname&&(null==(R=self.__NEXT_DATA__.props)?void 0:null==(j=R.pageProps)?void 0:j.statusCode)===500&&(null==(E=o.props)?void 0:E.pageProps)&&(o.props.pageProps.statusCode=500);let u=a.shallow&&q.route===(null!=(x=o.route)?x:et),f=null!=(T=a.scroll)?T:!B&&!u,d=null!=n?n:f?{x:0,y:0}:null,y=_objectSpread(_objectSpread({},q),{},{route:et,pathname:Y,query:Z,asPath:V,isFallback:!1});if(B&&ei){if(o=await this.getRouteInfo({route:this.pathname,pathname:this.pathname,query:Z,as:r,resolvedAs:ee,routeProps:{shallow:!1},locale:q.locale,isPreview:q.isPreview,isQueryUpdating:B&&!this.isFallback}),"type"in o)throw Error("Unexpected middleware effect on "+this.pathname);"/_error"===this.pathname&&(null==(k=self.__NEXT_DATA__.props)?void 0:null==(N=k.pageProps)?void 0:N.statusCode)===500&&(null==(D=o.props)?void 0:D.pageProps)&&(o.props.pageProps.statusCode=500);try{await this.set(y,o,d)}catch(e){throw(0,l.default)(e)&&e.cancelled&&Router.events.emit("routeChangeError",e,V,$),e}return!0}Router.events.emit("beforeHistoryChange",r,$),this.changeState(e,t,r,a);let b=B&&!d&&!W&&!X&&(0,A.compareRouterStates)(y,this.state);if(!b){try{await this.set(y,o,d)}catch(e){if(e.cancelled)o.error=o.error||e;else throw e}if(o.error)throw B||Router.events.emit("routeChangeError",o.error,V,$),o.error;q.locale&&(document.documentElement.lang=q.locale),B||Router.events.emit("routeChangeComplete",r,$),f&&/#.+$/.test(r)&&this.scrollToHash(r)}return!0}catch(e){if((0,l.default)(e)&&e.cancelled)return!1;throw e}}changeState(e,t,r,a){void 0===a&&(a={}),("pushState"!==e||(0,d.getURL)()!==r)&&(this._shallow=a.shallow,window.history[e]({url:t,as:r,options:a,__N:!0,key:this._key="pushState"!==e?this._key:createKey()},"",r))}async handleRouteInfoError(e,t,r,a,n,o){if(console.error(e),e.cancelled)throw e;if((0,i.isAssetError)(e)||o)throw Router.events.emit("routeChangeError",e,a,n),handleHardNavigation({url:a,router:this}),buildCancellationError();try{let a;let{page:n,styleSheets:o}=await this.fetchComponent("/_error"),i={props:a,Component:n,styleSheets:o,err:e,error:e};if(!i.props)try{i.props=await this.getInitialProps(n,{err:e,pathname:t,query:r})}catch(e){console.error("Error in error page `getInitialProps`: ",e),i.props={}}return i}catch(e){return this.handleRouteInfoError((0,l.default)(e)?e:Error(e+""),t,r,a,n,!0)}}async getRouteInfo(e){let{route:t,pathname:r,query:a,as:n,resolvedAs:i,routeProps:s,locale:u,hasMiddleware:f,isPreview:d,unstable_skipClientCache:p,isQueryUpdating:h,isMiddlewareRewrite:m,isNotFound:g}=e,b=t;try{var P,v,_,S;let e=getCancelledHandler({route:b,router:this}),t=this.components[b];if(s.shallow&&t&&this.route===b)return t;f&&(t=void 0);let l=!t||"initial"in t?void 0:t,w={dataHref:this.pageLoader.getDataHref({href:(0,y.formatWithValidation)({pathname:r,query:a}),skipInterpolation:!0,asPath:g?"/404":i,locale:u}),hasMiddleware:!0,isServerRender:this.isSsr,parseJSON:!0,inflightCache:h?this.sbc:this.sdc,persistCache:!d,isPrefetch:!1,unstable_skipClientCache:p,isBackground:h},j=h&&!m?null:await withMiddlewareEffects({fetchData:()=>fetchNextData(w),asPath:g?"/404":i,locale:u,router:this}).catch(e=>{if(h)return null;throw e});if(j&&("/_error"===r||"/404"===r)&&(j.effect=void 0),h&&(j?j.json=self.__NEXT_DATA__.props:j={json:self.__NEXT_DATA__.props}),e(),(null==j?void 0:null==(P=j.effect)?void 0:P.type)==="redirect-internal"||(null==j?void 0:null==(v=j.effect)?void 0:v.type)==="redirect-external")return j.effect;if((null==j?void 0:null==(_=j.effect)?void 0:_.type)==="rewrite"){let e=(0,o.removeTrailingSlash)(j.effect.resolvedHref),n=await this.pageLoader.getPageList();if((!h||n.includes(e))&&(b=e,r=j.effect.resolvedHref,a=_objectSpread(_objectSpread({},a),j.effect.parsedAs.query),i=(0,O.removeBasePath)((0,c.normalizeLocalePath)(j.effect.parsedAs.pathname,this.locales).pathname),t=this.components[b],s.shallow&&t&&this.route===b&&!f))return _objectSpread(_objectSpread({},t),{},{route:b})}if((0,R.isAPIRoute)(b))return handleHardNavigation({url:n,router:this}),new Promise(()=>{});let E=l||await this.fetchComponent(b).then(e=>({Component:e.page,styleSheets:e.styleSheets,__N_SSG:e.mod.__N_SSG,__N_SSP:e.mod.__N_SSP})),x=null==j?void 0:null==(S=j.response)?void 0:S.headers.get("x-middleware-skip"),A=E.__N_SSG||E.__N_SSP;x&&(null==j?void 0:j.dataHref)&&delete this.sdc[j.dataHref];let{props:C,cacheKey:L}=await this._getData(async()=>{if(A){if((null==j?void 0:j.json)&&!x)return{cacheKey:j.cacheKey,props:j.json};let e=(null==j?void 0:j.dataHref)?j.dataHref:this.pageLoader.getDataHref({href:(0,y.formatWithValidation)({pathname:r,query:a}),asPath:i,locale:u}),t=await fetchNextData({dataHref:e,isServerRender:this.isSsr,parseJSON:!0,inflightCache:x?{}:this.sdc,persistCache:!d,isPrefetch:!1,unstable_skipClientCache:p});return{cacheKey:t.cacheKey,props:t.json||{}}}return{headers:{},props:await this.getInitialProps(E.Component,{pathname:r,query:a,asPath:n,locale:u,locales:this.locales,defaultLocale:this.defaultLocale})}});return E.__N_SSP&&w.dataHref&&L&&delete this.sdc[L],this.isPreview||!E.__N_SSG||h||fetchNextData(Object.assign({},w,{isBackground:!0,persistCache:!1,inflightCache:this.sbc})).catch(()=>{}),C.pageProps=Object.assign({},C.pageProps),E.props=C,E.route=b,E.query=a,E.resolvedAs=i,this.components[b]=E,E}catch(e){return this.handleRouteInfoError((0,l.getProperError)(e),r,a,n,s)}}set(e,t,r){return this.state=e,this.sub(t,this.components["/_app"].Component,r)}beforePopState(e){this._bps=e}onlyAHashChange(e){if(!this.asPath)return!1;let[t,r]=this.asPath.split("#"),[a,n]=e.split("#");return!!n&&t===a&&r===n||t===a&&r!==n}scrollToHash(e){let[,t=""]=e.split("#");(0,T.handleSmoothScroll)(()=>{if(""===t||"top"===t){window.scrollTo(0,0);return}let e=decodeURIComponent(t),r=document.getElementById(e);if(r){r.scrollIntoView();return}let a=document.getElementsByName(e)[0];a&&a.scrollIntoView()},{onlyHashChange:this.onlyAHashChange(e)})}urlIsNew(e){return this.asPath!==e}async prefetch(e,t,r){void 0===t&&(t=e),void 0===r&&(r={});let a=(0,h.parseRelativeUrl)(e),n=a.pathname,{pathname:i,query:s}=a,l=i;if(!1===r.locale){i=(0,c.normalizeLocalePath)(i,this.locales).pathname,a.pathname=i,e=(0,y.formatWithValidation)(a);let n=(0,h.parseRelativeUrl)(t),o=(0,c.normalizeLocalePath)(n.pathname,this.locales);n.pathname=o.pathname,r.locale=o.detectedLocale||this.defaultLocale,t=(0,y.formatWithValidation)(n)}let u=await this.pageLoader.getPageList(),f=t,d=void 0!==r.locale?r.locale||void 0:this.locale,b=await matchesMiddleware({asPath:t,locale:d,router:this});a.pathname=resolveDynamicRoute(a.pathname,u),(0,p.isDynamicRoute)(a.pathname)&&(i=a.pathname,a.pathname=i,Object.assign(s,(0,m.getRouteMatcher)((0,g.getRouteRegex)(a.pathname))((0,P.parsePath)(t).pathname)||{}),b||(e=(0,y.formatWithValidation)(a)));let v=await withMiddlewareEffects({fetchData:()=>fetchNextData({dataHref:this.pageLoader.getDataHref({href:(0,y.formatWithValidation)({pathname:l,query:s}),skipInterpolation:!0,asPath:f,locale:d}),hasMiddleware:!0,isServerRender:this.isSsr,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0}),asPath:t,locale:d,router:this});if((null==v?void 0:v.effect.type)==="rewrite"&&(a.pathname=v.effect.resolvedHref,i=v.effect.resolvedHref,s=_objectSpread(_objectSpread({},s),v.effect.parsedAs.query),f=v.effect.parsedAs.pathname,e=(0,y.formatWithValidation)(a)),(null==v?void 0:v.effect.type)==="redirect-external")return;let _=(0,o.removeTrailingSlash)(i);await this._bfl(t,f,r.locale,!0)&&(this.components[n]={__appRouter:!0}),await Promise.all([this.pageLoader._isSsg(_).then(t=>!!t&&fetchNextData({dataHref:(null==v?void 0:v.json)?null==v?void 0:v.dataHref:this.pageLoader.getDataHref({href:e,asPath:f,locale:d}),isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0,unstable_skipClientCache:r.unstable_skipClientCache||r.priority&&!0}).then(()=>!1).catch(()=>!1)),this.pageLoader[r.priority?"loadPage":"prefetch"](_)])}async fetchComponent(e){let t=getCancelledHandler({route:e,router:this});try{let r=await this.pageLoader.loadPage(e);return t(),r}catch(e){throw t(),e}}_getData(e){let t=!1,cancel=()=>{t=!0};return this.clc=cancel,e().then(e=>{if(cancel===this.clc&&(this.clc=null),t){let e=Error("Loading initial props cancelled");throw e.cancelled=!0,e}return e})}_getFlightData(e){return fetchNextData({dataHref:e,isServerRender:!0,parseJSON:!1,inflightCache:this.sdc,persistCache:!1,isPrefetch:!1}).then(e=>{let{text:t}=e;return{data:t}})}getInitialProps(e,t){let{Component:r}=this.components["/_app"],a=this._wrapApp(r);return t.AppTree=a,(0,d.loadGetInitialProps)(r,{AppTree:a,Component:e,router:this,ctx:t})}get route(){return this.state.route}get pathname(){return this.state.pathname}get query(){return this.state.query}get asPath(){return this.state.asPath}get locale(){return this.state.locale}get isFallback(){return this.state.isFallback}get isPreview(){return this.state.isPreview}constructor(e,t,a,{initialProps:n,pageLoader:i,App:s,wrapApp:l,Component:u,err:c,subscription:f,isFallback:m,locale:g,locales:P,defaultLocale:v,domainLocales:_,isPreview:O}){this.sdc={},this.sbc={},this.isFirstPopStateEvent=!0,this._key=createKey(),this.onPopState=e=>{let t;let{isFirstPopStateEvent:r}=this;this.isFirstPopStateEvent=!1;let a=e.state;if(!a){let{pathname:e,query:t}=this;this.changeState("replaceState",(0,y.formatWithValidation)({pathname:(0,S.addBasePath)(e),query:t}),(0,d.getURL)());return}if(a.__NA){window.location.reload();return}if(!a.__N||r&&this.locale===a.options.locale&&a.as===this.asPath)return;let{url:n,as:o,options:i,key:s}=a;this._key=s;let{pathname:l}=(0,h.parseRelativeUrl)(n);(!this.isSsr||o!==(0,S.addBasePath)(this.asPath)||l!==(0,S.addBasePath)(this.pathname))&&(!this._bps||this._bps(a))&&this.change("replaceState",n,o,Object.assign({},i,{shallow:i.shallow&&this._shallow,locale:i.locale||this.defaultLocale,_h:0}),t)};let w=(0,o.removeTrailingSlash)(e);this.components={},"/_error"!==e&&(this.components[w]={Component:u,initial:!0,props:n,err:c,__N_SSG:n&&n.__N_SSG,__N_SSP:n&&n.__N_SSP}),this.components["/_app"]={Component:s,styleSheets:[]};{let{BloomFilter:e}=r(1748),t={numItems:0,errorRate:.01,numBits:0,numHashes:null,bitArray:[]},a={numItems:0,errorRate:.01,numBits:0,numHashes:null,bitArray:[]};(null==t?void 0:t.numHashes)&&(this._bfl_s=new e(t.numItems,t.errorRate),this._bfl_s.import(t)),(null==a?void 0:a.numHashes)&&(this._bfl_d=new e(a.numItems,a.errorRate),this._bfl_d.import(a))}this.events=Router.events,this.pageLoader=i;let j=(0,p.isDynamicRoute)(e)&&self.__NEXT_DATA__.autoExport;this.basePath="",this.sub=f,this.clc=null,this._wrapApp=l,this.isSsr=!0,this.isLocaleDomain=!1,this.isReady=!!(self.__NEXT_DATA__.gssp||self.__NEXT_DATA__.gip||self.__NEXT_DATA__.isExperimentalCompile||self.__NEXT_DATA__.appGip&&!self.__NEXT_DATA__.gsp||!j&&!self.location.search),this.locales=P,this.defaultLocale=v,this.domainLocales=_,this.isLocaleDomain=!!(0,b.detectDomainLocale)(_,self.location.hostname),this.state={route:w,pathname:e,query:t,asPath:j?e:a,isPreview:!!O,locale:g,isFallback:m},this._initialMatchesMiddlewarePromise=Promise.resolve(!1)}};Router.events=(0,f.default)()},86024:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return addLocale}});let a=r(52615),n=r(83195);function addLocale(e,t,r,o){if(!t||t===r)return e;let i=e.toLowerCase();return!o&&((0,n.pathHasPrefix)(i,"/api")||(0,n.pathHasPrefix)(i,"/"+t.toLowerCase()))?e:(0,a.addPathPrefix)(e,"/"+t)}},52615:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return addPathPrefix}});let a=r(71302);function addPathPrefix(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:n,hash:o}=(0,a.parsePath)(e);return""+t+r+n+o}},16236:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathSuffix",{enumerable:!0,get:function(){return addPathSuffix}});let a=r(71302);function addPathSuffix(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:n,hash:o}=(0,a.parsePath)(e);return""+r+t+n+o}},19282:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return normalizeAppPath},normalizeRscPath:function(){return normalizeRscPath}});let a=r(41822),n=r(88247);function normalizeAppPath(e){return(0,a.ensureLeadingSlash)(e.split("/").reduce((e,t,r,a)=>!t||(0,n.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===a.length-1?e:e+"/"+t,""))}function normalizeRscPath(e,t){return t?e.replace(/\.rsc($|\?)/,"$1"):e}},6087:(e,t)=>{"use strict";function compareRouterStates(e,t){let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let a=r.length;a--;){let n=r[a];if("query"===n){let r=Object.keys(e.query);if(r.length!==Object.keys(t.query).length)return!1;for(let a=r.length;a--;){let n=r[a];if(!t.query.hasOwnProperty(n)||e.query[n]!==t.query[n])return!1}}else if(!t.hasOwnProperty(n)||e[n]!==t[n])return!1}return!0}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"compareRouterStates",{enumerable:!0,get:function(){return compareRouterStates}})},82929:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"formatNextPathnameInfo",{enumerable:!0,get:function(){return formatNextPathnameInfo}});let a=r(83546),n=r(52615),o=r(16236),i=r(86024);function formatNextPathnameInfo(e){let t=(0,i.addLocale)(e.pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix);return(e.buildId||!e.trailingSlash)&&(t=(0,a.removeTrailingSlash)(t)),e.buildId&&(t=(0,o.addPathSuffix)((0,n.addPathPrefix)(t,"/_next/data/"+e.buildId),"/"===e.pathname?"index.json":".json")),t=(0,n.addPathPrefix)(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:(0,o.addPathSuffix)(t,"/"):(0,a.removeTrailingSlash)(t)}},60816:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return formatUrl},urlObjectKeys:function(){return i},formatWithValidation:function(){return formatWithValidation}});let a=r(60112),n=a._(r(74429)),o=/https?|ftp|gopher|file/;function formatUrl(e){let{auth:t,hostname:r}=e,a=e.protocol||"",i=e.pathname||"",s=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(n.urlQueryToSearchParams(l)));let c=e.search||l&&"?"+l||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==u?(u="//"+(u||""),i&&"/"!==i[0]&&(i="/"+i)):u||(u=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),""+a+u+(i=i.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+s}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function formatWithValidation(e){return formatUrl(e)}},75125:(e,t)=>{"use strict";function getAssetPathFromRoute(e,t){void 0===t&&(t="");let r="/"===e?"/index":/^\/index(\/|$)/.test(e)?"/index"+e:""+e;return r+t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return getAssetPathFromRoute}})},17138:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getNextPathnameInfo",{enumerable:!0,get:function(){return getNextPathnameInfo}});let a=r(72762),n=r(40973),o=r(83195);function getNextPathnameInfo(e,t){var r,i;let{basePath:s,i18n:l,trailingSlash:u}=null!=(r=t.nextConfig)?r:{},c={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):u};s&&(0,o.pathHasPrefix)(c.pathname,s)&&(c.pathname=(0,n.removePathPrefix)(c.pathname,s),c.basePath=s);let f=c.pathname;if(c.pathname.startsWith("/_next/data/")&&c.pathname.endsWith(".json")){let e=c.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/"),r=e[0];c.buildId=r,f="index"!==e[1]?"/"+e.slice(1).join("/"):"/",!0===t.parseData&&(c.pathname=f)}if(l){let e=t.i18nProvider?t.i18nProvider.analyze(c.pathname):(0,a.normalizeLocalePath)(c.pathname,l.locales);c.locale=e.detectedLocale,c.pathname=null!=(i=e.pathname)?i:c.pathname,!e.detectedLocale&&c.buildId&&(e=t.i18nProvider?t.i18nProvider.analyze(f):(0,a.normalizeLocalePath)(f,l.locales)).detectedLocale&&(c.locale=e.detectedLocale)}return c}},23840:(e,t)=>{"use strict";function handleSmoothScroll(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let r=document.documentElement,a=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=a}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return handleSmoothScroll}})},71656:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return interpolateAs}});let a=r(52774),n=r(36286);function interpolateAs(e,t,r){let o="",i=(0,n.getRouteRegex)(e),s=i.groups,l=(t!==e?(0,a.getRouteMatcher)(i)(t):"")||r;o=e;let u=Object.keys(s);return u.every(e=>{let t=l[e]||"",{repeat:r,optional:a}=s[e],n="["+(r?"...":"")+e+"]";return a&&(n=(t?"":"/")+"["+n+"]"),r&&!Array.isArray(t)&&(t=[t]),(a||e in l)&&(o=o.replace(n,r?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(o=""),{params:u,result:o}}},42555:(e,t)=>{"use strict";function isBot(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return isBot}})},24794:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return isLocalURL}});let a=r(96961),n=r(72996);function isLocalURL(e){if(!(0,a.isAbsoluteUrl)(e))return!0;try{let t=(0,a.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,n.hasBasePath)(r.pathname)}catch(e){return!1}}},3885:(e,t)=>{"use strict";function omit(e,t){let r={};return Object.keys(e).forEach(a=>{t.includes(a)||(r[a]=e[a])}),r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return omit}})},71302:(e,t)=>{"use strict";function parsePath(e){let t=e.indexOf("#"),r=e.indexOf("?"),a=r>-1&&(t<0||r<t);return a||t>-1?{pathname:e.substring(0,a?r:t),query:a?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return parsePath}})},67606:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseRelativeUrl",{enumerable:!0,get:function(){return parseRelativeUrl}}),r(96961);let a=r(74429);function parseRelativeUrl(e,t){let r=new URL("http://n"),n=t?new URL(t,r):e.startsWith(".")?new URL("http://n"):r,{pathname:o,searchParams:i,search:s,hash:l,href:u,origin:c}=new URL(e,n);if(c!==r.origin)throw Error("invariant: invalid relative URL, router received "+e);return{pathname:o,query:(0,a.searchParamsToUrlQuery)(i),search:s,hash:l,href:u.slice(r.origin.length)}}},73965:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseUrl",{enumerable:!0,get:function(){return parseUrl}});let a=r(74429),n=r(67606);function parseUrl(e){if(e.startsWith("/"))return(0,n.parseRelativeUrl)(e);let t=new URL(e);return{hash:t.hash,hostname:t.hostname,href:t.href,pathname:t.pathname,port:t.port,protocol:t.protocol,query:(0,a.searchParamsToUrlQuery)(t.searchParams),search:t.search}}},83195:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return pathHasPrefix}});let a=r(71302);function pathHasPrefix(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,a.parsePath)(e);return r===t||r.startsWith(t+"/")}},3794:(e,t,r)=>{"use strict";function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getPathMatch",{enumerable:!0,get:function(){return getPathMatch}});let a=r(88874);function getPathMatch(e,t){let r=[],n=(0,a.pathToRegexp)(e,r,{delimiter:"/",sensitive:"boolean"==typeof(null==t?void 0:t.sensitive)&&t.sensitive,strict:null==t?void 0:t.strict}),o=(0,a.regexpToFunction)((null==t?void 0:t.regexModifier)?new RegExp(t.regexModifier(n.source),n.flags):n,r);return(e,a)=>{if("string"!=typeof e)return!1;let n=o(e);if(!n)return!1;if(null==t?void 0:t.removeUnnamedParams)for(let e of r)"number"==typeof e.name&&delete n.params[e.name];return _objectSpread(_objectSpread({},a),n.params)}}},90552:(e,t,r)=>{"use strict";function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{matchHas:function(){return matchHas},compileNonPath:function(){return compileNonPath},prepareDestination:function(){return prepareDestination}});let a=r(88874),n=r(67982),o=r(73965),i=r(48008),s=r(86583),l=r(47700);function unescapeSegments(e){return e.replace(/__ESC_COLON_/gi,":")}function matchHas(e,t,r,a){void 0===r&&(r=[]),void 0===a&&(a=[]);let n={},hasMatch=r=>{let a;let o=r.key;switch(r.type){case"header":o=o.toLowerCase(),a=e.headers[o];break;case"cookie":if("cookies"in e)a=e.cookies[r.key];else{let t=(0,l.getCookieParser)(e.headers)();a=t[r.key]}break;case"query":a=t[o];break;case"host":{let{host:t}=(null==e?void 0:e.headers)||{},r=null==t?void 0:t.split(":")[0].toLowerCase();a=r}}if(!r.value&&a)return n[function(e){let t="";for(let r=0;r<e.length;r++){let a=e.charCodeAt(r);(a>64&&a<91||a>96&&a<123)&&(t+=e[r])}return t}(o)]=a,!0;if(a){let e=RegExp("^"+r.value+"$"),t=Array.isArray(a)?a.slice(-1)[0].match(e):a.match(e);if(t)return Array.isArray(t)&&(t.groups?Object.keys(t.groups).forEach(e=>{n[e]=t.groups[e]}):"host"===r.type&&t[0]&&(n.host=t[0])),!0}return!1},o=r.every(e=>hasMatch(e))&&!a.some(e=>hasMatch(e));return!!o&&n}function compileNonPath(e,t){if(!e.includes(":"))return e;for(let r of Object.keys(t))e.includes(":"+r)&&(e=e.replace(RegExp(":"+r+"\\*","g"),":"+r+"--ESCAPED_PARAM_ASTERISKS").replace(RegExp(":"+r+"\\?","g"),":"+r+"--ESCAPED_PARAM_QUESTION").replace(RegExp(":"+r+"\\+","g"),":"+r+"--ESCAPED_PARAM_PLUS").replace(RegExp(":"+r+"(?!\\w)","g"),"--ESCAPED_PARAM_COLON"+r));return e=e.replace(/(:|\*|\?|\+|\(|\)|\{|\})/g,"\\$1").replace(/--ESCAPED_PARAM_PLUS/g,"+").replace(/--ESCAPED_PARAM_COLON/g,":").replace(/--ESCAPED_PARAM_QUESTION/g,"?").replace(/--ESCAPED_PARAM_ASTERISKS/g,"*"),(0,a.compile)("/"+e,{validate:!1})(t).slice(1)}function prepareDestination(e){let t;let r=Object.assign({},e.query);delete r.__nextLocale,delete r.__nextDefaultLocale,delete r.__nextDataReq,delete r.__nextInferredLocaleFromDefault,delete r[s.NEXT_RSC_UNION_QUERY];let l=e.destination;for(let t of Object.keys(_objectSpread(_objectSpread({},e.params),r)))l=l.replace(RegExp(":"+(0,n.escapeStringRegexp)(t),"g"),"__ESC_COLON_"+t);let u=(0,o.parseUrl)(l),c=u.query,f=unescapeSegments(""+u.pathname+(u.hash||"")),d=unescapeSegments(u.hostname||""),p=[],h=[];(0,a.pathToRegexp)(f,p),(0,a.pathToRegexp)(d,h);let m=[];p.forEach(e=>m.push(e.name)),h.forEach(e=>m.push(e.name));let g=(0,a.compile)(f,{validate:!1}),y=(0,a.compile)(d,{validate:!1});for(let[t,r]of Object.entries(c))Array.isArray(r)?c[t]=r.map(t=>compileNonPath(unescapeSegments(t),e.params)):"string"==typeof r&&(c[t]=compileNonPath(unescapeSegments(r),e.params));let b=Object.keys(e.params).filter(e=>"nextInternalLocale"!==e);if(e.appendParamsToQuery&&!b.some(e=>m.includes(e)))for(let t of b)t in c||(c[t]=e.params[t]);if((0,i.isInterceptionRouteAppPath)(f))for(let t of f.split("/")){let r=i.INTERCEPTION_ROUTE_MARKERS.find(e=>t.startsWith(e));if(r){e.params["0"]=r;break}}try{t=g(e.params);let[r,a]=t.split("#");u.hostname=y(e.params),u.pathname=r,u.hash=(a?"#":"")+(a||""),delete u.search}catch(e){if(e.message.match(/Expected .*? to not repeat, but got an array/))throw Error("To use a multi-match in the destination you must add `*` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match");throw e}return u.query=_objectSpread(_objectSpread({},r),u.query),{newUrl:t,destQuery:c,parsedDestination:u}}},74429:(e,t)=>{"use strict";function searchParamsToUrlQuery(e){let t={};return e.forEach((e,r)=>{void 0===t[r]?t[r]=e:Array.isArray(t[r])?t[r].push(e):t[r]=[t[r],e]}),t}function stringifyUrlQueryParam(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function urlQueryToSearchParams(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[r,a]=e;Array.isArray(a)?a.forEach(e=>t.append(r,stringifyUrlQueryParam(e))):t.set(r,stringifyUrlQueryParam(a))}),t}function assign(e){for(var t=arguments.length,r=Array(t>1?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];return r.forEach(t=>{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,r)=>e.append(r,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{searchParamsToUrlQuery:function(){return searchParamsToUrlQuery},urlQueryToSearchParams:function(){return urlQueryToSearchParams},assign:function(){return assign}})},40973:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removePathPrefix",{enumerable:!0,get:function(){return removePathPrefix}});let a=r(83195);function removePathPrefix(e,t){if(!(0,a.pathHasPrefix)(e,t))return e;let r=e.slice(t.length);return r.startsWith("/")?r:"/"+r}},83546:(e,t)=>{"use strict";function removeTrailingSlash(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return removeTrailingSlash}})},87874:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return resolveRewrites}});let a=r(3794),n=r(90552),o=r(83546),i=r(72762),s=r(2052),l=r(67606);function resolveRewrites(e,t,r,u,c,f){let d,p=!1,h=!1,m=(0,l.parseRelativeUrl)(e),g=(0,o.removeTrailingSlash)((0,i.normalizeLocalePath)((0,s.removeBasePath)(m.pathname),f).pathname),handleRewrite=r=>{let l=(0,a.getPathMatch)(r.source+"",{removeUnnamedParams:!0,strict:!0}),y=l(m.pathname);if((r.has||r.missing)&&y){let e=(0,n.matchHas)({headers:{host:document.location.hostname,"user-agent":navigator.userAgent},cookies:document.cookie.split("; ").reduce((e,t)=>{let[r,...a]=t.split("=");return e[r]=a.join("="),e},{})},m.query,r.has,r.missing);e?Object.assign(y,e):y=!1}if(y){if(!r.destination)return h=!0,!0;let a=(0,n.prepareDestination)({appendParamsToQuery:!0,destination:r.destination,params:y,query:u});if(m=a.parsedDestination,e=a.newUrl,Object.assign(u,a.parsedDestination.query),g=(0,o.removeTrailingSlash)((0,i.normalizeLocalePath)((0,s.removeBasePath)(e),f).pathname),t.includes(g))return p=!0,d=g,!0;if((d=c(g))!==e&&t.includes(d))return p=!0,!0}},y=!1;for(let e=0;e<r.beforeFiles.length;e++)handleRewrite(r.beforeFiles[e]);if(!(p=t.includes(g))){if(!y){for(let e=0;e<r.afterFiles.length;e++)if(handleRewrite(r.afterFiles[e])){y=!0;break}}if(y||(d=c(g),y=p=t.includes(d)),!y){for(let e=0;e<r.fallback.length;e++)if(handleRewrite(r.fallback[e])){y=!0;break}}}return{asPath:e,parsedAs:m,matchedPage:p,resolvedHref:d,externalDest:h}}},52774:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return getRouteMatcher}});let a=r(96961);function getRouteMatcher(e){let{re:t,groups:r}=e;return e=>{let n=t.exec(e);if(!n)return!1;let decode=e=>{try{return decodeURIComponent(e)}catch(e){throw new a.DecodeError("failed to decode param")}},o={};return Object.keys(r).forEach(e=>{let t=r[e],a=n[t.pos];void 0!==a&&(o[e]=~a.indexOf("/")?a.split("/").map(e=>decode(e)):t.repeat?[decode(a)]:decode(a))}),o}}},36286:(e,t,r)=>{"use strict";function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getRouteRegex:function(){return getRouteRegex},getNamedRouteRegex:function(){return getNamedRouteRegex},getNamedMiddlewareRegex:function(){return getNamedMiddlewareRegex}});let a=r(48008),n=r(67982),o=r(83546);function parseParameter(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let r=e.startsWith("...");return r&&(e=e.slice(3)),{key:e,repeat:r,optional:t}}function getParametrizedRoute(e){let t=(0,o.removeTrailingSlash)(e).slice(1).split("/"),r={},i=1;return{parameterizedRoute:t.map(e=>{let t=a.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t)),o=e.match(/\[((?:\[.*\])|.+)\]/);if(t&&o){let{key:e,optional:a,repeat:s}=parseParameter(o[1]);return r[e]={pos:i++,repeat:s,optional:a},"/"+(0,n.escapeStringRegexp)(t)+"([^/]+?)"}if(!o)return"/"+(0,n.escapeStringRegexp)(e);{let{key:e,repeat:t,optional:a}=parseParameter(o[1]);return r[e]={pos:i++,repeat:t,optional:a},t?a?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}}).join(""),groups:r}}function getRouteRegex(e){let{parameterizedRoute:t,groups:r}=getParametrizedRoute(e);return{re:RegExp("^"+t+"(?:/)?$"),groups:r}}function getSafeKeyFromSegment(e){let{getSafeRouteKey:t,segment:r,routeKeys:a,keyPrefix:n}=e,{key:o,optional:i,repeat:s}=parseParameter(r),l=o.replace(/\W/g,"");n&&(l=""+n+l);let u=!1;return(0===l.length||l.length>30)&&(u=!0),isNaN(parseInt(l.slice(0,1)))||(u=!0),u&&(l=t()),n?a[l]=""+n+o:a[l]=""+o,s?i?"(?:/(?<"+l+">.+?))?":"/(?<"+l+">.+?)":"/(?<"+l+">[^/]+?)"}function getNamedParametrizedRoute(e,t){let r;let i=(0,o.removeTrailingSlash)(e).slice(1).split("/"),s=(r=0,()=>{let e="",t=++r;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),l={};return{namedParameterizedRoute:i.map(e=>{let r=a.INTERCEPTION_ROUTE_MARKERS.some(t=>e.startsWith(t)),o=e.match(/\[((?:\[.*\])|.+)\]/);return r&&o?getSafeKeyFromSegment({getSafeRouteKey:s,segment:o[1],routeKeys:l,keyPrefix:t?"nxtI":void 0}):o?getSafeKeyFromSegment({getSafeRouteKey:s,segment:o[1],routeKeys:l,keyPrefix:t?"nxtP":void 0}):"/"+(0,n.escapeStringRegexp)(e)}).join(""),routeKeys:l}}function getNamedRouteRegex(e,t){let r=getNamedParametrizedRoute(e,t);return _objectSpread(_objectSpread({},getRouteRegex(e)),{},{namedRegex:"^"+r.namedParameterizedRoute+"(?:/)?$",routeKeys:r.routeKeys})}function getNamedMiddlewareRegex(e,t){let{parameterizedRoute:r}=getParametrizedRoute(e),{catchAll:a=!0}=t;if("/"===r)return{namedRegex:"^/"+(a?".*":"")+"$"};let{namedParameterizedRoute:n}=getNamedParametrizedRoute(e,!1);return{namedRegex:"^"+n+(a?"(?:(/.*)?)":"")+"$"}}},88247:(e,t)=>{"use strict";function isGroupSegment(e){return"("===e[0]&&e.endsWith(")")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isGroupSegment",{enumerable:!0,get:function(){return isGroupSegment}})},4793:(e,t)=>{"use strict";function getDeploymentIdQueryOrEmptyString(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return getDeploymentIdQueryOrEmptyString}})},93585:e=>{(()=>{"use strict";"undefined"!=typeof __nccwpck_require__&&(__nccwpck_require__.ab=__dirname+"/");var t={};(()=>{/*!
2
- * cookie
3
- * Copyright(c) 2012-2014 Roman Shtylman
4
- * Copyright(c) 2015 Douglas Christopher Wilson
5
- * MIT Licensed
6
- */t.parse=function(t,r){if("string"!=typeof t)throw TypeError("argument str must be a string");for(var n={},o=t.split(a),i=(r||{}).decode||e,s=0;s<o.length;s++){var l=o[s],u=l.indexOf("=");if(!(u<0)){var c=l.substr(0,u).trim(),f=l.substr(++u,l.length).trim();'"'==f[0]&&(f=f.slice(1,-1)),void 0==n[c]&&(n[c]=function(e,t){try{return t(e)}catch(t){return e}}(f,i))}}return n},t.serialize=function(e,t,a){var o=a||{},i=o.encode||r;if("function"!=typeof i)throw TypeError("option encode is invalid");if(!n.test(e))throw TypeError("argument name is invalid");var s=i(t);if(s&&!n.test(s))throw TypeError("argument val is invalid");var l=e+"="+s;if(null!=o.maxAge){var u=o.maxAge-0;if(isNaN(u)||!isFinite(u))throw TypeError("option maxAge is invalid");l+="; Max-Age="+Math.floor(u)}if(o.domain){if(!n.test(o.domain))throw TypeError("option domain is invalid");l+="; Domain="+o.domain}if(o.path){if(!n.test(o.path))throw TypeError("option path is invalid");l+="; Path="+o.path}if(o.expires){if("function"!=typeof o.expires.toUTCString)throw TypeError("option expires is invalid");l+="; Expires="+o.expires.toUTCString()}if(o.httpOnly&&(l+="; HttpOnly"),o.secure&&(l+="; Secure"),o.sameSite)switch("string"==typeof o.sameSite?o.sameSite.toLowerCase():o.sameSite){case!0:case"strict":l+="; SameSite=Strict";break;case"lax":l+="; SameSite=Lax";break;case"none":l+="; SameSite=None";break;default:throw TypeError("option sameSite is invalid")}return l};var e=decodeURIComponent,r=encodeURIComponent,a=/; */,n=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/})(),e.exports=t})()},75327:(e,t,r)=>{(()=>{var t={154:(e,t,r)=>{var a=r(781),n=["write","end","destroy"],o=["resume","pause"],i=["data","close"],s=Array.prototype.slice;function forEach(e,t){if(e.forEach)return e.forEach(t);for(var r=0;r<e.length;r++)t(e[r],r)}e.exports=function(e,t){var r=new a,l=!1;return forEach(n,function(t){r[t]=function(){return e[t].apply(e,arguments)}}),forEach(o,function(e){r[e]=function(){r.emit(e);var a=t[e];if(a)return a.apply(t,arguments);t.emit(e)}}),forEach(i,function(e){t.on(e,function(){var t=s.call(arguments);t.unshift(e),r.emit.apply(r,t)})}),t.on("end",function(){if(!l){l=!0;var e=s.call(arguments);e.unshift("end"),r.emit.apply(r,e)}}),e.on("drain",function(){r.emit("drain")}),e.on("error",reemit),t.on("error",reemit),r.writable=e.writable,r.readable=t.readable,r;function reemit(e){r.emit("error",e)}}},349:(e,t,r)=>{"use strict";let a=r(147),n=r(781),o=r(796),i=r(154),s=r(530),getOptions=e=>Object.assign({level:9},e);e.exports=(e,t)=>e?s(o.gzip)(e,getOptions(t)).then(e=>e.length).catch(e=>0):Promise.resolve(0),e.exports.sync=(e,t)=>o.gzipSync(e,getOptions(t)).length,e.exports.stream=e=>{let t=new n.PassThrough,r=new n.PassThrough,a=i(t,r),s=0,l=o.createGzip(getOptions(e)).on("data",e=>{s+=e.length}).on("error",()=>{a.gzipSize=0}).on("end",()=>{a.gzipSize=s,a.emit("gzip-size",s),r.end()});return t.pipe(l),t.pipe(r,{end:!1}),a},e.exports.file=(t,r)=>new Promise((n,o)=>{let i=a.createReadStream(t);i.on("error",o);let s=i.pipe(e.exports.stream(r));s.on("error",o),s.on("gzip-size",n)}),e.exports.fileSync=(t,r)=>e.exports.sync(a.readFileSync(t),r)},530:e=>{"use strict";let processFn=(e,t)=>function(...r){let a=t.promiseModule;return new a((a,n)=>{t.multiArgs?r.push((...e)=>{t.errorFirst?e[0]?n(e):(e.shift(),a(e)):a(e)}):t.errorFirst?r.push((e,t)=>{e?n(e):a(t)}):r.push(a),e.apply(this,r)})};e.exports=(e,t)=>{let r;t=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},t);let a=typeof e;if(!(null!==e&&("object"===a||"function"===a)))throw TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${null===e?"null":a}\``);let filter=e=>{let match=t=>"string"==typeof t?e===t:t.test(e);return t.include?t.include.some(match):!t.exclude.some(match)};for(let n in r="function"===a?function(...r){return t.excludeMain?e(...r):processFn(e,t).apply(this,r)}:Object.create(Object.getPrototypeOf(e)),e){let a=e[n];r[n]="function"==typeof a&&filter(n)?processFn(a,t):a}return r}},147:e=>{"use strict";e.exports=r(57147)},781:e=>{"use strict";e.exports=r(12781)},796:e=>{"use strict";e.exports=r(59796)}},a={};function __nccwpck_require__(e){var r=a[e];if(void 0!==r)return r.exports;var n=a[e]={exports:{}},o=!0;try{t[e](n,n.exports,__nccwpck_require__),o=!1}finally{o&&delete a[e]}return n.exports}__nccwpck_require__.ab=__dirname+"/";var n=__nccwpck_require__(349);e.exports=n})()},88874:(e,t)=>{"use strict";function parse(e,t){void 0===t&&(t={});for(var r=function(e){for(var t=[],r=0;r<e.length;){var a=e[r];if("*"===a||"+"===a||"?"===a){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if("\\"===a){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if("{"===a){t.push({type:"OPEN",index:r,value:e[r++]});continue}if("}"===a){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(":"===a){for(var n="",o=r+1;o<e.length;){var i=e.charCodeAt(o);if(i>=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122||95===i){n+=e[o++];continue}break}if(!n)throw TypeError("Missing parameter name at "+r);t.push({type:"NAME",index:r,value:n}),r=o;continue}if("("===a){var s=1,l="",o=r+1;if("?"===e[o])throw TypeError('Pattern cannot start with "?" at '+o);for(;o<e.length;){if("\\"===e[o]){l+=e[o++]+e[o++];continue}if(")"===e[o]){if(0==--s){o++;break}}else if("("===e[o]&&(s++,"?"!==e[o+1]))throw TypeError("Capturing groups are not allowed at "+o);l+=e[o++]}if(s)throw TypeError("Unbalanced pattern at "+r);if(!l)throw TypeError("Missing pattern at "+r);t.push({type:"PATTERN",index:r,value:l}),r=o;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}(e),a=t.prefixes,n=void 0===a?"./":a,o="[^"+escapeString(t.delimiter||"/#?")+"]+?",i=[],s=0,l=0,u="",tryConsume=function(e){if(l<r.length&&r[l].type===e)return r[l++].value},mustConsume=function(e){var t=tryConsume(e);if(void 0!==t)return t;var a=r[l];throw TypeError("Unexpected "+a.type+" at "+a.index+", expected "+e)},consumeText=function(){for(var e,t="";e=tryConsume("CHAR")||tryConsume("ESCAPED_CHAR");)t+=e;return t};l<r.length;){var c=tryConsume("CHAR"),f=tryConsume("NAME"),d=tryConsume("PATTERN");if(f||d){var p=c||"";-1===n.indexOf(p)&&(u+=p,p=""),u&&(i.push(u),u=""),i.push({name:f||s++,prefix:p,suffix:"",pattern:d||o,modifier:tryConsume("MODIFIER")||""});continue}var h=c||tryConsume("ESCAPED_CHAR");if(h){u+=h;continue}if(u&&(i.push(u),u=""),tryConsume("OPEN")){var p=consumeText(),m=tryConsume("NAME")||"",g=tryConsume("PATTERN")||"",y=consumeText();mustConsume("CLOSE"),i.push({name:m||(g?s++:""),pattern:m&&!g?o:g,prefix:p,suffix:y,modifier:tryConsume("MODIFIER")||""});continue}mustConsume("END")}return i}function tokensToFunction(e,t){void 0===t&&(t={});var r=flags(t),a=t.encode,n=void 0===a?function(e){return e}:a,o=t.validate,i=void 0===o||o,s=e.map(function(e){if("object"==typeof e)return RegExp("^(?:"+e.pattern+")$",r)});return function(t){for(var r="",a=0;a<e.length;a++){var o=e[a];if("string"==typeof o){r+=o;continue}var l=t?t[o.name]:void 0,u="?"===o.modifier||"*"===o.modifier,c="*"===o.modifier||"+"===o.modifier;if(Array.isArray(l)){if(!c)throw TypeError('Expected "'+o.name+'" to not repeat, but got an array');if(0===l.length){if(u)continue;throw TypeError('Expected "'+o.name+'" to not be empty')}for(var f=0;f<l.length;f++){var d=n(l[f],o);if(i&&!s[a].test(d))throw TypeError('Expected all "'+o.name+'" to match "'+o.pattern+'", but got "'+d+'"');r+=o.prefix+d+o.suffix}continue}if("string"==typeof l||"number"==typeof l){var d=n(String(l),o);if(i&&!s[a].test(d))throw TypeError('Expected "'+o.name+'" to match "'+o.pattern+'", but got "'+d+'"');r+=o.prefix+d+o.suffix;continue}if(!u){var p=c?"an array":"a string";throw TypeError('Expected "'+o.name+'" to be '+p)}}return r}}function regexpToFunction(e,t,r){void 0===r&&(r={});var a=r.decode,n=void 0===a?function(e){return e}:a;return function(r){var a=e.exec(r);if(!a)return!1;for(var o=a[0],i=a.index,s=Object.create(null),l=1;l<a.length;l++)!function(e){if(void 0!==a[e]){var r=t[e-1];"*"===r.modifier||"+"===r.modifier?s[r.name]=a[e].split(r.prefix+r.suffix).map(function(e){return n(e,r)}):s[r.name]=n(a[e],r)}}(l);return{path:o,index:i,params:s}}}function escapeString(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function flags(e){return e&&e.sensitive?"":"i"}function tokensToRegexp(e,t,r){void 0===r&&(r={});for(var a=r.strict,n=void 0!==a&&a,o=r.start,i=r.end,s=r.encode,l=void 0===s?function(e){return e}:s,u="["+escapeString(r.endsWith||"")+"]|$",c="["+escapeString(r.delimiter||"/#?")+"]",f=void 0===o||o?"^":"",d=0;d<e.length;d++){var p=e[d];if("string"==typeof p)f+=escapeString(l(p));else{var h=escapeString(l(p.prefix)),m=escapeString(l(p.suffix));if(p.pattern){if(t&&t.push(p),h||m){if("+"===p.modifier||"*"===p.modifier){var g="*"===p.modifier?"?":"";f+="(?:"+h+"((?:"+p.pattern+")(?:"+m+h+"(?:"+p.pattern+"))*)"+m+")"+g}else f+="(?:"+h+"("+p.pattern+")"+m+")"+p.modifier}else f+="("+p.pattern+")"+p.modifier}else f+="(?:"+h+m+")"+p.modifier}}if(void 0===i||i)n||(f+=c+"?"),f+=r.endsWith?"(?="+u+")":"$";else{var y=e[e.length-1],b="string"==typeof y?c.indexOf(y[y.length-1])>-1:void 0===y;n||(f+="(?:"+c+"(?="+u+"))?"),b||(f+="(?="+c+"|"+u+")")}return new RegExp(f,flags(r))}function pathToRegexp(e,t,r){return e instanceof RegExp?function(e,t){if(!t)return e;var r=e.source.match(/\((?!\?)/g);if(r)for(var a=0;a<r.length;a++)t.push({name:a,prefix:"",suffix:"",modifier:"",pattern:""});return e}(e,t):Array.isArray(e)?RegExp("(?:"+e.map(function(e){return pathToRegexp(e,t,r).source}).join("|")+")",flags(r)):tokensToRegexp(parse(e,r),t,r)}Object.defineProperty(t,"__esModule",{value:!0}),t.parse=parse,t.compile=function(e,t){return tokensToFunction(parse(e,t),t)},t.tokensToFunction=tokensToFunction,t.match=function(e,t){var r=[];return regexpToFunction(pathToRegexp(e,r,t),r,t)},t.regexpToFunction=regexpToFunction,t.tokensToRegexp=tokensToRegexp,t.pathToRegexp=pathToRegexp},38377:(e,t)=>{"use strict";function isAPIRoute(e){return"/api"===e||!!(null==e?void 0:e.startsWith("/api/"))}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isAPIRoute",{enumerable:!0,get:function(){return isAPIRoute}})},47700:(e,t,r)=>{"use strict";function getCookieParser(e){return function(){let{cookie:t}=e;if(!t)return{};let{parse:a}=r(93585);return a(Array.isArray(t)?t.join("; "):t)}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getCookieParser",{enumerable:!0,get:function(){return getCookieParser}})},48008:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return n},isInterceptionRouteAppPath:function(){return isInterceptionRouteAppPath},extractInterceptionRouteInformation:function(){return extractInterceptionRouteInformation}});let a=r(19282),n=["(..)(..)","(.)","(..)","(...)"];function isInterceptionRouteAppPath(e){return void 0!==e.split("/").find(e=>n.find(t=>e.startsWith(t)))}function extractInterceptionRouteInformation(e){let t,r,o;for(let a of e.split("/"))if(r=n.find(e=>a.startsWith(e))){[t,o]=e.split(r,2);break}if(!t||!r||!o)throw Error(`Invalid interception route: ${e}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);switch(t=(0,a.normalizeAppPath)(t),r){case"(.)":o="/"===t?`/${o}`:t+"/"+o;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);o=t.split("/").slice(0,-1).concat(o).join("/");break;case"(...)":o="/"+o;break;case"(..)(..)":let i=t.split("/");if(i.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);o=i.slice(0,-2).concat(o).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:o}}},80266:(e,t,r)=>{"use strict";e.exports=r(21314).vendored.contexts.HeadManagerContext},75312:(e,t,r)=>{"use strict";e.exports=r(21314).vendored.contexts.RouterContext},33339:(e,t,r)=>{e.exports=r(24308)},60112:(e,t)=>{"use strict";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(_getRequireWildcardCache=function(e){return e?r:t})(e)}t._=t._interop_require_wildcard=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=_getRequireWildcardCache(t);if(r&&r.has(e))return r.get(e);var a={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=n?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(a,o,i):a[o]=e[o]}return a.default=e,r&&r.set(e,a),a}},62987:(e,t,r)=>{"use strict";r.d(t,{U:()=>create});var a=r(16689);let createStoreImpl=e=>{let t;let r=new Set,setState=(e,a)=>{let n="function"==typeof e?e(t):e;if(!Object.is(n,t)){let e=t;t=(null!=a?a:"object"!=typeof n||null===n)?n:Object.assign({},t,n),r.forEach(r=>r(t,e))}},getState=()=>t,a={setState,getState,getInitialState:()=>n,subscribe:e=>(r.add(e),()=>r.delete(e))},n=t=e(setState,getState,a);return a},createStore=e=>e?createStoreImpl(e):createStoreImpl,identity=e=>e,createImpl=e=>{let t=createStore(e),useBoundStore=e=>(function(e,t=identity){let r=a.useSyncExternalStore(e.subscribe,()=>t(e.getState()),()=>t(e.getInitialState()));return a.useDebugValue(r),r})(t,e);return Object.assign(useBoundStore,t),useBoundStore},create=e=>e?createImpl(e):createImpl}};