ruact 0.0.1 → 0.0.3

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 (129) hide show
  1. checksums.yaml +4 -4
  2. data/.codecov.yml +31 -0
  3. data/.github/workflows/ci.yml +160 -94
  4. data/.github/workflows/server-functions-bench.yml +54 -0
  5. data/.rubocop.yml +19 -1
  6. data/.rubocop_todo.yml +175 -0
  7. data/CHANGELOG.md +86 -5
  8. data/README.md +2 -0
  9. data/RELEASING.md +9 -3
  10. data/bench/server_functions_dispatch_bench.rb +309 -0
  11. data/bench/server_functions_dispatch_bench.results.md +121 -0
  12. data/docs/internal/README.md +9 -0
  13. data/docs/internal/decisions/server-functions-api.md +1680 -0
  14. data/lib/generators/ruact/install/install_generator.rb +43 -0
  15. data/lib/generators/ruact/install/templates/application.jsx.tt +1 -1
  16. data/lib/generators/ruact/install/templates/initializer.rb.tt +1 -1
  17. data/lib/ruact/client_manifest.rb +125 -12
  18. data/lib/ruact/configuration.rb +264 -23
  19. data/lib/ruact/controller.rb +459 -32
  20. data/lib/ruact/doctor.rb +34 -2
  21. data/lib/ruact/erb_preprocessor.rb +6 -6
  22. data/lib/ruact/errors.rb +89 -0
  23. data/lib/ruact/flight/serializer.rb +2 -2
  24. data/lib/ruact/html_converter.rb +131 -31
  25. data/lib/ruact/query.rb +107 -0
  26. data/lib/ruact/railtie.rb +220 -3
  27. data/lib/ruact/render_context.rb +30 -0
  28. data/lib/ruact/render_pipeline.rb +201 -59
  29. data/lib/ruact/routing.rb +81 -0
  30. data/lib/ruact/serializable.rb +11 -11
  31. data/lib/ruact/server.rb +341 -0
  32. data/lib/ruact/server_action.rb +131 -0
  33. data/lib/ruact/server_functions/backtrace_cleaner.rb +32 -0
  34. data/lib/ruact/server_functions/bucket_two_payload.rb +109 -0
  35. data/lib/ruact/server_functions/codegen.rb +330 -0
  36. data/lib/ruact/server_functions/codegen_v2.rb +176 -0
  37. data/lib/ruact/server_functions/endpoint_controller.rb +237 -0
  38. data/lib/ruact/server_functions/error_payload.rb +93 -0
  39. data/lib/ruact/server_functions/error_rendering.rb +188 -0
  40. data/lib/ruact/server_functions/error_suggestion.rb +38 -0
  41. data/lib/ruact/server_functions/name_bridge.rb +113 -0
  42. data/lib/ruact/server_functions/query_context.rb +62 -0
  43. data/lib/ruact/server_functions/query_dispatch.rb +248 -0
  44. data/lib/ruact/server_functions/registry.rb +148 -0
  45. data/lib/ruact/server_functions/registry_entry.rb +26 -0
  46. data/lib/ruact/server_functions/route_source.rb +201 -0
  47. data/lib/ruact/server_functions/snapshot.rb +195 -0
  48. data/lib/ruact/server_functions/snapshot_writer.rb +65 -0
  49. data/lib/ruact/server_functions/standalone_context.rb +103 -0
  50. data/lib/ruact/server_functions/standalone_dispatcher.rb +178 -0
  51. data/lib/ruact/server_functions.rb +75 -0
  52. data/lib/ruact/version.rb +1 -1
  53. data/lib/ruact/view_helper.rb +17 -9
  54. data/lib/ruact.rb +85 -6
  55. data/lib/rubocop/cop/ruact/no_shared_state.rb +1 -1
  56. data/lib/tasks/benchmark.rake +15 -11
  57. data/lib/tasks/ruact.rake +81 -0
  58. data/spec/benchmarks/render_pipeline_benchmark_spec.rb +1 -1
  59. data/spec/fixtures/flight/README.md +55 -7
  60. data/spec/fixtures/flight/bigint.txt +1 -0
  61. data/spec/fixtures/flight/infinity.txt +1 -0
  62. data/spec/fixtures/flight/nan.txt +1 -0
  63. data/spec/fixtures/flight/negative_infinity.txt +1 -0
  64. data/spec/fixtures/flight/undefined.txt +1 -0
  65. data/spec/fixtures/story_7_9_views/controller_request_spec_support/demo/show.html.erb +3 -0
  66. data/spec/ruact/client_manifest_spec.rb +108 -0
  67. data/spec/ruact/configuration_spec.rb +501 -0
  68. data/spec/ruact/controller_request_spec.rb +204 -0
  69. data/spec/ruact/controller_spec.rb +427 -39
  70. data/spec/ruact/doctor_spec.rb +118 -0
  71. data/spec/ruact/erb_preprocessor_hook_spec.rb +3 -3
  72. data/spec/ruact/erb_preprocessor_spec.rb +7 -7
  73. data/spec/ruact/errors_spec.rb +95 -0
  74. data/spec/ruact/flight/renderer_spec.rb +14 -3
  75. data/spec/ruact/flight/serializer_spec.rb +129 -88
  76. data/spec/ruact/html_converter_spec.rb +183 -5
  77. data/spec/ruact/install_generator_spec.rb +93 -0
  78. data/spec/ruact/query_request_spec.rb +446 -0
  79. data/spec/ruact/query_spec.rb +105 -0
  80. data/spec/ruact/railtie_spec.rb +2 -3
  81. data/spec/ruact/render_context_spec.rb +58 -0
  82. data/spec/ruact/render_pipeline_concurrency_spec.rb +78 -0
  83. data/spec/ruact/render_pipeline_spec.rb +784 -330
  84. data/spec/ruact/serializable_spec.rb +8 -8
  85. data/spec/ruact/server_bucket_request_spec.rb +352 -0
  86. data/spec/ruact/server_function_name_spec.rb +53 -0
  87. data/spec/ruact/server_functions/backtrace_cleaner_spec.rb +63 -0
  88. data/spec/ruact/server_functions/bucket_two_payload_spec.rb +200 -0
  89. data/spec/ruact/server_functions/codegen_spec.rb +429 -0
  90. data/spec/ruact/server_functions/csrf_request_spec.rb +380 -0
  91. data/spec/ruact/server_functions/dispatch_request_spec.rb +819 -0
  92. data/spec/ruact/server_functions/error_payload_spec.rb +222 -0
  93. data/spec/ruact/server_functions/error_suggestion_spec.rb +79 -0
  94. data/spec/ruact/server_functions/name_bridge_spec.rb +188 -0
  95. data/spec/ruact/server_functions/query_context_spec.rb +72 -0
  96. data/spec/ruact/server_functions/railtie_integration_spec.rb +345 -0
  97. data/spec/ruact/server_functions/rake_spec.rb +86 -0
  98. data/spec/ruact/server_functions/registry_spec.rb +199 -0
  99. data/spec/ruact/server_functions/route_source_spec.rb +202 -0
  100. data/spec/ruact/server_functions/snapshot_spec.rb +256 -0
  101. data/spec/ruact/server_functions/snapshot_writer_spec.rb +71 -0
  102. data/spec/ruact/server_functions/standalone_action_spec.rb +224 -0
  103. data/spec/ruact/server_functions/standalone_context_spec.rb +142 -0
  104. data/spec/ruact/server_functions/standalone_dispatcher_spec.rb +273 -0
  105. data/spec/ruact/server_rescue_request_spec.rb +416 -0
  106. data/spec/ruact/server_spec.rb +180 -0
  107. data/spec/ruact/server_upload_request_spec.rb +311 -0
  108. data/spec/ruact/view_helper_spec.rb +23 -17
  109. data/spec/spec_helper.rb +52 -1
  110. data/spec/support/fixtures/pixel.png +0 -0
  111. data/spec/support/flight_wire_parser.rb +135 -0
  112. data/spec/support/flight_wire_parser_spec.rb +93 -0
  113. data/spec/support/matchers/flight_fixture_matcher.rb +356 -0
  114. data/spec/support/matchers/flight_fixture_matcher_spec.rb +250 -0
  115. data/spec/support/rails_stub.rb +75 -5
  116. data/vendor/javascript/ruact-server-functions-runtime/index.d.ts +139 -0
  117. data/vendor/javascript/ruact-server-functions-runtime/index.js +438 -0
  118. data/vendor/javascript/ruact-server-functions-runtime/index.test.mjs +827 -0
  119. data/vendor/javascript/ruact-server-functions-runtime/package.json +22 -0
  120. data/vendor/javascript/vite-plugin-ruact/index.js +3 -2
  121. data/vendor/javascript/vite-plugin-ruact/package-lock.json +1429 -0
  122. data/vendor/javascript/vite-plugin-ruact/package.json +15 -0
  123. data/vendor/javascript/vite-plugin-ruact/server-functions-codegen.mjs +761 -0
  124. data/vendor/javascript/vite-plugin-ruact/server-functions-codegen.test.mjs +866 -0
  125. data/vendor/javascript/vite-plugin-ruact/vitest.config.mjs +15 -0
  126. metadata +87 -6
  127. data/Users/luiz/workspace/rails-rsc/gem/vendor/javascript/vite-plugin-ruact/index.js +0 -163
  128. data/lib/ruact/component_registry.rb +0 -31
  129. data/lib/tasks/rsc.rake +0 -9
@@ -0,0 +1,1429 @@
1
+ {
2
+ "name": "vite-plugin-ruact",
3
+ "version": "0.0.0-bundled",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "vite-plugin-ruact",
9
+ "version": "0.0.0-bundled",
10
+ "license": "MIT",
11
+ "devDependencies": {
12
+ "vitest": "^2.0.0"
13
+ }
14
+ },
15
+ "node_modules/@esbuild/aix-ppc64": {
16
+ "version": "0.21.5",
17
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
18
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
19
+ "cpu": [
20
+ "ppc64"
21
+ ],
22
+ "dev": true,
23
+ "license": "MIT",
24
+ "optional": true,
25
+ "os": [
26
+ "aix"
27
+ ],
28
+ "engines": {
29
+ "node": ">=12"
30
+ }
31
+ },
32
+ "node_modules/@esbuild/android-arm": {
33
+ "version": "0.21.5",
34
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
35
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
36
+ "cpu": [
37
+ "arm"
38
+ ],
39
+ "dev": true,
40
+ "license": "MIT",
41
+ "optional": true,
42
+ "os": [
43
+ "android"
44
+ ],
45
+ "engines": {
46
+ "node": ">=12"
47
+ }
48
+ },
49
+ "node_modules/@esbuild/android-arm64": {
50
+ "version": "0.21.5",
51
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
52
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
53
+ "cpu": [
54
+ "arm64"
55
+ ],
56
+ "dev": true,
57
+ "license": "MIT",
58
+ "optional": true,
59
+ "os": [
60
+ "android"
61
+ ],
62
+ "engines": {
63
+ "node": ">=12"
64
+ }
65
+ },
66
+ "node_modules/@esbuild/android-x64": {
67
+ "version": "0.21.5",
68
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
69
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
70
+ "cpu": [
71
+ "x64"
72
+ ],
73
+ "dev": true,
74
+ "license": "MIT",
75
+ "optional": true,
76
+ "os": [
77
+ "android"
78
+ ],
79
+ "engines": {
80
+ "node": ">=12"
81
+ }
82
+ },
83
+ "node_modules/@esbuild/darwin-arm64": {
84
+ "version": "0.21.5",
85
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
86
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
87
+ "cpu": [
88
+ "arm64"
89
+ ],
90
+ "dev": true,
91
+ "license": "MIT",
92
+ "optional": true,
93
+ "os": [
94
+ "darwin"
95
+ ],
96
+ "engines": {
97
+ "node": ">=12"
98
+ }
99
+ },
100
+ "node_modules/@esbuild/darwin-x64": {
101
+ "version": "0.21.5",
102
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
103
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
104
+ "cpu": [
105
+ "x64"
106
+ ],
107
+ "dev": true,
108
+ "license": "MIT",
109
+ "optional": true,
110
+ "os": [
111
+ "darwin"
112
+ ],
113
+ "engines": {
114
+ "node": ">=12"
115
+ }
116
+ },
117
+ "node_modules/@esbuild/freebsd-arm64": {
118
+ "version": "0.21.5",
119
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
120
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
121
+ "cpu": [
122
+ "arm64"
123
+ ],
124
+ "dev": true,
125
+ "license": "MIT",
126
+ "optional": true,
127
+ "os": [
128
+ "freebsd"
129
+ ],
130
+ "engines": {
131
+ "node": ">=12"
132
+ }
133
+ },
134
+ "node_modules/@esbuild/freebsd-x64": {
135
+ "version": "0.21.5",
136
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
137
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
138
+ "cpu": [
139
+ "x64"
140
+ ],
141
+ "dev": true,
142
+ "license": "MIT",
143
+ "optional": true,
144
+ "os": [
145
+ "freebsd"
146
+ ],
147
+ "engines": {
148
+ "node": ">=12"
149
+ }
150
+ },
151
+ "node_modules/@esbuild/linux-arm": {
152
+ "version": "0.21.5",
153
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
154
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
155
+ "cpu": [
156
+ "arm"
157
+ ],
158
+ "dev": true,
159
+ "license": "MIT",
160
+ "optional": true,
161
+ "os": [
162
+ "linux"
163
+ ],
164
+ "engines": {
165
+ "node": ">=12"
166
+ }
167
+ },
168
+ "node_modules/@esbuild/linux-arm64": {
169
+ "version": "0.21.5",
170
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
171
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
172
+ "cpu": [
173
+ "arm64"
174
+ ],
175
+ "dev": true,
176
+ "license": "MIT",
177
+ "optional": true,
178
+ "os": [
179
+ "linux"
180
+ ],
181
+ "engines": {
182
+ "node": ">=12"
183
+ }
184
+ },
185
+ "node_modules/@esbuild/linux-ia32": {
186
+ "version": "0.21.5",
187
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
188
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
189
+ "cpu": [
190
+ "ia32"
191
+ ],
192
+ "dev": true,
193
+ "license": "MIT",
194
+ "optional": true,
195
+ "os": [
196
+ "linux"
197
+ ],
198
+ "engines": {
199
+ "node": ">=12"
200
+ }
201
+ },
202
+ "node_modules/@esbuild/linux-loong64": {
203
+ "version": "0.21.5",
204
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
205
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
206
+ "cpu": [
207
+ "loong64"
208
+ ],
209
+ "dev": true,
210
+ "license": "MIT",
211
+ "optional": true,
212
+ "os": [
213
+ "linux"
214
+ ],
215
+ "engines": {
216
+ "node": ">=12"
217
+ }
218
+ },
219
+ "node_modules/@esbuild/linux-mips64el": {
220
+ "version": "0.21.5",
221
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
222
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
223
+ "cpu": [
224
+ "mips64el"
225
+ ],
226
+ "dev": true,
227
+ "license": "MIT",
228
+ "optional": true,
229
+ "os": [
230
+ "linux"
231
+ ],
232
+ "engines": {
233
+ "node": ">=12"
234
+ }
235
+ },
236
+ "node_modules/@esbuild/linux-ppc64": {
237
+ "version": "0.21.5",
238
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
239
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
240
+ "cpu": [
241
+ "ppc64"
242
+ ],
243
+ "dev": true,
244
+ "license": "MIT",
245
+ "optional": true,
246
+ "os": [
247
+ "linux"
248
+ ],
249
+ "engines": {
250
+ "node": ">=12"
251
+ }
252
+ },
253
+ "node_modules/@esbuild/linux-riscv64": {
254
+ "version": "0.21.5",
255
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
256
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
257
+ "cpu": [
258
+ "riscv64"
259
+ ],
260
+ "dev": true,
261
+ "license": "MIT",
262
+ "optional": true,
263
+ "os": [
264
+ "linux"
265
+ ],
266
+ "engines": {
267
+ "node": ">=12"
268
+ }
269
+ },
270
+ "node_modules/@esbuild/linux-s390x": {
271
+ "version": "0.21.5",
272
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
273
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
274
+ "cpu": [
275
+ "s390x"
276
+ ],
277
+ "dev": true,
278
+ "license": "MIT",
279
+ "optional": true,
280
+ "os": [
281
+ "linux"
282
+ ],
283
+ "engines": {
284
+ "node": ">=12"
285
+ }
286
+ },
287
+ "node_modules/@esbuild/linux-x64": {
288
+ "version": "0.21.5",
289
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
290
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
291
+ "cpu": [
292
+ "x64"
293
+ ],
294
+ "dev": true,
295
+ "license": "MIT",
296
+ "optional": true,
297
+ "os": [
298
+ "linux"
299
+ ],
300
+ "engines": {
301
+ "node": ">=12"
302
+ }
303
+ },
304
+ "node_modules/@esbuild/netbsd-x64": {
305
+ "version": "0.21.5",
306
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
307
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
308
+ "cpu": [
309
+ "x64"
310
+ ],
311
+ "dev": true,
312
+ "license": "MIT",
313
+ "optional": true,
314
+ "os": [
315
+ "netbsd"
316
+ ],
317
+ "engines": {
318
+ "node": ">=12"
319
+ }
320
+ },
321
+ "node_modules/@esbuild/openbsd-x64": {
322
+ "version": "0.21.5",
323
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
324
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
325
+ "cpu": [
326
+ "x64"
327
+ ],
328
+ "dev": true,
329
+ "license": "MIT",
330
+ "optional": true,
331
+ "os": [
332
+ "openbsd"
333
+ ],
334
+ "engines": {
335
+ "node": ">=12"
336
+ }
337
+ },
338
+ "node_modules/@esbuild/sunos-x64": {
339
+ "version": "0.21.5",
340
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
341
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
342
+ "cpu": [
343
+ "x64"
344
+ ],
345
+ "dev": true,
346
+ "license": "MIT",
347
+ "optional": true,
348
+ "os": [
349
+ "sunos"
350
+ ],
351
+ "engines": {
352
+ "node": ">=12"
353
+ }
354
+ },
355
+ "node_modules/@esbuild/win32-arm64": {
356
+ "version": "0.21.5",
357
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
358
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
359
+ "cpu": [
360
+ "arm64"
361
+ ],
362
+ "dev": true,
363
+ "license": "MIT",
364
+ "optional": true,
365
+ "os": [
366
+ "win32"
367
+ ],
368
+ "engines": {
369
+ "node": ">=12"
370
+ }
371
+ },
372
+ "node_modules/@esbuild/win32-ia32": {
373
+ "version": "0.21.5",
374
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
375
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
376
+ "cpu": [
377
+ "ia32"
378
+ ],
379
+ "dev": true,
380
+ "license": "MIT",
381
+ "optional": true,
382
+ "os": [
383
+ "win32"
384
+ ],
385
+ "engines": {
386
+ "node": ">=12"
387
+ }
388
+ },
389
+ "node_modules/@esbuild/win32-x64": {
390
+ "version": "0.21.5",
391
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
392
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
393
+ "cpu": [
394
+ "x64"
395
+ ],
396
+ "dev": true,
397
+ "license": "MIT",
398
+ "optional": true,
399
+ "os": [
400
+ "win32"
401
+ ],
402
+ "engines": {
403
+ "node": ">=12"
404
+ }
405
+ },
406
+ "node_modules/@jridgewell/sourcemap-codec": {
407
+ "version": "1.5.5",
408
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
409
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
410
+ "dev": true,
411
+ "license": "MIT"
412
+ },
413
+ "node_modules/@rollup/rollup-android-arm-eabi": {
414
+ "version": "4.60.3",
415
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.3.tgz",
416
+ "integrity": "sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==",
417
+ "cpu": [
418
+ "arm"
419
+ ],
420
+ "dev": true,
421
+ "license": "MIT",
422
+ "optional": true,
423
+ "os": [
424
+ "android"
425
+ ]
426
+ },
427
+ "node_modules/@rollup/rollup-android-arm64": {
428
+ "version": "4.60.3",
429
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.3.tgz",
430
+ "integrity": "sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==",
431
+ "cpu": [
432
+ "arm64"
433
+ ],
434
+ "dev": true,
435
+ "license": "MIT",
436
+ "optional": true,
437
+ "os": [
438
+ "android"
439
+ ]
440
+ },
441
+ "node_modules/@rollup/rollup-darwin-arm64": {
442
+ "version": "4.60.3",
443
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.3.tgz",
444
+ "integrity": "sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==",
445
+ "cpu": [
446
+ "arm64"
447
+ ],
448
+ "dev": true,
449
+ "license": "MIT",
450
+ "optional": true,
451
+ "os": [
452
+ "darwin"
453
+ ]
454
+ },
455
+ "node_modules/@rollup/rollup-darwin-x64": {
456
+ "version": "4.60.3",
457
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.3.tgz",
458
+ "integrity": "sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==",
459
+ "cpu": [
460
+ "x64"
461
+ ],
462
+ "dev": true,
463
+ "license": "MIT",
464
+ "optional": true,
465
+ "os": [
466
+ "darwin"
467
+ ]
468
+ },
469
+ "node_modules/@rollup/rollup-freebsd-arm64": {
470
+ "version": "4.60.3",
471
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.3.tgz",
472
+ "integrity": "sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==",
473
+ "cpu": [
474
+ "arm64"
475
+ ],
476
+ "dev": true,
477
+ "license": "MIT",
478
+ "optional": true,
479
+ "os": [
480
+ "freebsd"
481
+ ]
482
+ },
483
+ "node_modules/@rollup/rollup-freebsd-x64": {
484
+ "version": "4.60.3",
485
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.3.tgz",
486
+ "integrity": "sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==",
487
+ "cpu": [
488
+ "x64"
489
+ ],
490
+ "dev": true,
491
+ "license": "MIT",
492
+ "optional": true,
493
+ "os": [
494
+ "freebsd"
495
+ ]
496
+ },
497
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
498
+ "version": "4.60.3",
499
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.3.tgz",
500
+ "integrity": "sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==",
501
+ "cpu": [
502
+ "arm"
503
+ ],
504
+ "dev": true,
505
+ "license": "MIT",
506
+ "optional": true,
507
+ "os": [
508
+ "linux"
509
+ ]
510
+ },
511
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
512
+ "version": "4.60.3",
513
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.3.tgz",
514
+ "integrity": "sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==",
515
+ "cpu": [
516
+ "arm"
517
+ ],
518
+ "dev": true,
519
+ "license": "MIT",
520
+ "optional": true,
521
+ "os": [
522
+ "linux"
523
+ ]
524
+ },
525
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
526
+ "version": "4.60.3",
527
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.3.tgz",
528
+ "integrity": "sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==",
529
+ "cpu": [
530
+ "arm64"
531
+ ],
532
+ "dev": true,
533
+ "license": "MIT",
534
+ "optional": true,
535
+ "os": [
536
+ "linux"
537
+ ]
538
+ },
539
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
540
+ "version": "4.60.3",
541
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.3.tgz",
542
+ "integrity": "sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==",
543
+ "cpu": [
544
+ "arm64"
545
+ ],
546
+ "dev": true,
547
+ "license": "MIT",
548
+ "optional": true,
549
+ "os": [
550
+ "linux"
551
+ ]
552
+ },
553
+ "node_modules/@rollup/rollup-linux-loong64-gnu": {
554
+ "version": "4.60.3",
555
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.3.tgz",
556
+ "integrity": "sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==",
557
+ "cpu": [
558
+ "loong64"
559
+ ],
560
+ "dev": true,
561
+ "license": "MIT",
562
+ "optional": true,
563
+ "os": [
564
+ "linux"
565
+ ]
566
+ },
567
+ "node_modules/@rollup/rollup-linux-loong64-musl": {
568
+ "version": "4.60.3",
569
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.3.tgz",
570
+ "integrity": "sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==",
571
+ "cpu": [
572
+ "loong64"
573
+ ],
574
+ "dev": true,
575
+ "license": "MIT",
576
+ "optional": true,
577
+ "os": [
578
+ "linux"
579
+ ]
580
+ },
581
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
582
+ "version": "4.60.3",
583
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.3.tgz",
584
+ "integrity": "sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==",
585
+ "cpu": [
586
+ "ppc64"
587
+ ],
588
+ "dev": true,
589
+ "license": "MIT",
590
+ "optional": true,
591
+ "os": [
592
+ "linux"
593
+ ]
594
+ },
595
+ "node_modules/@rollup/rollup-linux-ppc64-musl": {
596
+ "version": "4.60.3",
597
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.3.tgz",
598
+ "integrity": "sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==",
599
+ "cpu": [
600
+ "ppc64"
601
+ ],
602
+ "dev": true,
603
+ "license": "MIT",
604
+ "optional": true,
605
+ "os": [
606
+ "linux"
607
+ ]
608
+ },
609
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
610
+ "version": "4.60.3",
611
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.3.tgz",
612
+ "integrity": "sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==",
613
+ "cpu": [
614
+ "riscv64"
615
+ ],
616
+ "dev": true,
617
+ "license": "MIT",
618
+ "optional": true,
619
+ "os": [
620
+ "linux"
621
+ ]
622
+ },
623
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
624
+ "version": "4.60.3",
625
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.3.tgz",
626
+ "integrity": "sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==",
627
+ "cpu": [
628
+ "riscv64"
629
+ ],
630
+ "dev": true,
631
+ "license": "MIT",
632
+ "optional": true,
633
+ "os": [
634
+ "linux"
635
+ ]
636
+ },
637
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
638
+ "version": "4.60.3",
639
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.3.tgz",
640
+ "integrity": "sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==",
641
+ "cpu": [
642
+ "s390x"
643
+ ],
644
+ "dev": true,
645
+ "license": "MIT",
646
+ "optional": true,
647
+ "os": [
648
+ "linux"
649
+ ]
650
+ },
651
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
652
+ "version": "4.60.3",
653
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.3.tgz",
654
+ "integrity": "sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==",
655
+ "cpu": [
656
+ "x64"
657
+ ],
658
+ "dev": true,
659
+ "license": "MIT",
660
+ "optional": true,
661
+ "os": [
662
+ "linux"
663
+ ]
664
+ },
665
+ "node_modules/@rollup/rollup-linux-x64-musl": {
666
+ "version": "4.60.3",
667
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.3.tgz",
668
+ "integrity": "sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==",
669
+ "cpu": [
670
+ "x64"
671
+ ],
672
+ "dev": true,
673
+ "license": "MIT",
674
+ "optional": true,
675
+ "os": [
676
+ "linux"
677
+ ]
678
+ },
679
+ "node_modules/@rollup/rollup-openbsd-x64": {
680
+ "version": "4.60.3",
681
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.3.tgz",
682
+ "integrity": "sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==",
683
+ "cpu": [
684
+ "x64"
685
+ ],
686
+ "dev": true,
687
+ "license": "MIT",
688
+ "optional": true,
689
+ "os": [
690
+ "openbsd"
691
+ ]
692
+ },
693
+ "node_modules/@rollup/rollup-openharmony-arm64": {
694
+ "version": "4.60.3",
695
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.3.tgz",
696
+ "integrity": "sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==",
697
+ "cpu": [
698
+ "arm64"
699
+ ],
700
+ "dev": true,
701
+ "license": "MIT",
702
+ "optional": true,
703
+ "os": [
704
+ "openharmony"
705
+ ]
706
+ },
707
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
708
+ "version": "4.60.3",
709
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.3.tgz",
710
+ "integrity": "sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==",
711
+ "cpu": [
712
+ "arm64"
713
+ ],
714
+ "dev": true,
715
+ "license": "MIT",
716
+ "optional": true,
717
+ "os": [
718
+ "win32"
719
+ ]
720
+ },
721
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
722
+ "version": "4.60.3",
723
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.3.tgz",
724
+ "integrity": "sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==",
725
+ "cpu": [
726
+ "ia32"
727
+ ],
728
+ "dev": true,
729
+ "license": "MIT",
730
+ "optional": true,
731
+ "os": [
732
+ "win32"
733
+ ]
734
+ },
735
+ "node_modules/@rollup/rollup-win32-x64-gnu": {
736
+ "version": "4.60.3",
737
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.3.tgz",
738
+ "integrity": "sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==",
739
+ "cpu": [
740
+ "x64"
741
+ ],
742
+ "dev": true,
743
+ "license": "MIT",
744
+ "optional": true,
745
+ "os": [
746
+ "win32"
747
+ ]
748
+ },
749
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
750
+ "version": "4.60.3",
751
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.3.tgz",
752
+ "integrity": "sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==",
753
+ "cpu": [
754
+ "x64"
755
+ ],
756
+ "dev": true,
757
+ "license": "MIT",
758
+ "optional": true,
759
+ "os": [
760
+ "win32"
761
+ ]
762
+ },
763
+ "node_modules/@types/estree": {
764
+ "version": "1.0.9",
765
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",
766
+ "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==",
767
+ "dev": true,
768
+ "license": "MIT"
769
+ },
770
+ "node_modules/@vitest/expect": {
771
+ "version": "2.1.9",
772
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.9.tgz",
773
+ "integrity": "sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==",
774
+ "dev": true,
775
+ "license": "MIT",
776
+ "dependencies": {
777
+ "@vitest/spy": "2.1.9",
778
+ "@vitest/utils": "2.1.9",
779
+ "chai": "^5.1.2",
780
+ "tinyrainbow": "^1.2.0"
781
+ },
782
+ "funding": {
783
+ "url": "https://opencollective.com/vitest"
784
+ }
785
+ },
786
+ "node_modules/@vitest/mocker": {
787
+ "version": "2.1.9",
788
+ "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.9.tgz",
789
+ "integrity": "sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==",
790
+ "dev": true,
791
+ "license": "MIT",
792
+ "dependencies": {
793
+ "@vitest/spy": "2.1.9",
794
+ "estree-walker": "^3.0.3",
795
+ "magic-string": "^0.30.12"
796
+ },
797
+ "funding": {
798
+ "url": "https://opencollective.com/vitest"
799
+ },
800
+ "peerDependencies": {
801
+ "msw": "^2.4.9",
802
+ "vite": "^5.0.0"
803
+ },
804
+ "peerDependenciesMeta": {
805
+ "msw": {
806
+ "optional": true
807
+ },
808
+ "vite": {
809
+ "optional": true
810
+ }
811
+ }
812
+ },
813
+ "node_modules/@vitest/pretty-format": {
814
+ "version": "2.1.9",
815
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.9.tgz",
816
+ "integrity": "sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==",
817
+ "dev": true,
818
+ "license": "MIT",
819
+ "dependencies": {
820
+ "tinyrainbow": "^1.2.0"
821
+ },
822
+ "funding": {
823
+ "url": "https://opencollective.com/vitest"
824
+ }
825
+ },
826
+ "node_modules/@vitest/runner": {
827
+ "version": "2.1.9",
828
+ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.9.tgz",
829
+ "integrity": "sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==",
830
+ "dev": true,
831
+ "license": "MIT",
832
+ "dependencies": {
833
+ "@vitest/utils": "2.1.9",
834
+ "pathe": "^1.1.2"
835
+ },
836
+ "funding": {
837
+ "url": "https://opencollective.com/vitest"
838
+ }
839
+ },
840
+ "node_modules/@vitest/snapshot": {
841
+ "version": "2.1.9",
842
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.9.tgz",
843
+ "integrity": "sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==",
844
+ "dev": true,
845
+ "license": "MIT",
846
+ "dependencies": {
847
+ "@vitest/pretty-format": "2.1.9",
848
+ "magic-string": "^0.30.12",
849
+ "pathe": "^1.1.2"
850
+ },
851
+ "funding": {
852
+ "url": "https://opencollective.com/vitest"
853
+ }
854
+ },
855
+ "node_modules/@vitest/spy": {
856
+ "version": "2.1.9",
857
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.9.tgz",
858
+ "integrity": "sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==",
859
+ "dev": true,
860
+ "license": "MIT",
861
+ "dependencies": {
862
+ "tinyspy": "^3.0.2"
863
+ },
864
+ "funding": {
865
+ "url": "https://opencollective.com/vitest"
866
+ }
867
+ },
868
+ "node_modules/@vitest/utils": {
869
+ "version": "2.1.9",
870
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.9.tgz",
871
+ "integrity": "sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==",
872
+ "dev": true,
873
+ "license": "MIT",
874
+ "dependencies": {
875
+ "@vitest/pretty-format": "2.1.9",
876
+ "loupe": "^3.1.2",
877
+ "tinyrainbow": "^1.2.0"
878
+ },
879
+ "funding": {
880
+ "url": "https://opencollective.com/vitest"
881
+ }
882
+ },
883
+ "node_modules/assertion-error": {
884
+ "version": "2.0.1",
885
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz",
886
+ "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==",
887
+ "dev": true,
888
+ "license": "MIT",
889
+ "engines": {
890
+ "node": ">=12"
891
+ }
892
+ },
893
+ "node_modules/cac": {
894
+ "version": "6.7.14",
895
+ "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz",
896
+ "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==",
897
+ "dev": true,
898
+ "license": "MIT",
899
+ "engines": {
900
+ "node": ">=8"
901
+ }
902
+ },
903
+ "node_modules/chai": {
904
+ "version": "5.3.3",
905
+ "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz",
906
+ "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==",
907
+ "dev": true,
908
+ "license": "MIT",
909
+ "dependencies": {
910
+ "assertion-error": "^2.0.1",
911
+ "check-error": "^2.1.1",
912
+ "deep-eql": "^5.0.1",
913
+ "loupe": "^3.1.0",
914
+ "pathval": "^2.0.0"
915
+ },
916
+ "engines": {
917
+ "node": ">=18"
918
+ }
919
+ },
920
+ "node_modules/check-error": {
921
+ "version": "2.1.3",
922
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz",
923
+ "integrity": "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==",
924
+ "dev": true,
925
+ "license": "MIT",
926
+ "engines": {
927
+ "node": ">= 16"
928
+ }
929
+ },
930
+ "node_modules/debug": {
931
+ "version": "4.4.3",
932
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
933
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
934
+ "dev": true,
935
+ "license": "MIT",
936
+ "dependencies": {
937
+ "ms": "^2.1.3"
938
+ },
939
+ "engines": {
940
+ "node": ">=6.0"
941
+ },
942
+ "peerDependenciesMeta": {
943
+ "supports-color": {
944
+ "optional": true
945
+ }
946
+ }
947
+ },
948
+ "node_modules/deep-eql": {
949
+ "version": "5.0.2",
950
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz",
951
+ "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==",
952
+ "dev": true,
953
+ "license": "MIT",
954
+ "engines": {
955
+ "node": ">=6"
956
+ }
957
+ },
958
+ "node_modules/es-module-lexer": {
959
+ "version": "1.7.0",
960
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
961
+ "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
962
+ "dev": true,
963
+ "license": "MIT"
964
+ },
965
+ "node_modules/esbuild": {
966
+ "version": "0.21.5",
967
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
968
+ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
969
+ "dev": true,
970
+ "hasInstallScript": true,
971
+ "license": "MIT",
972
+ "bin": {
973
+ "esbuild": "bin/esbuild"
974
+ },
975
+ "engines": {
976
+ "node": ">=12"
977
+ },
978
+ "optionalDependencies": {
979
+ "@esbuild/aix-ppc64": "0.21.5",
980
+ "@esbuild/android-arm": "0.21.5",
981
+ "@esbuild/android-arm64": "0.21.5",
982
+ "@esbuild/android-x64": "0.21.5",
983
+ "@esbuild/darwin-arm64": "0.21.5",
984
+ "@esbuild/darwin-x64": "0.21.5",
985
+ "@esbuild/freebsd-arm64": "0.21.5",
986
+ "@esbuild/freebsd-x64": "0.21.5",
987
+ "@esbuild/linux-arm": "0.21.5",
988
+ "@esbuild/linux-arm64": "0.21.5",
989
+ "@esbuild/linux-ia32": "0.21.5",
990
+ "@esbuild/linux-loong64": "0.21.5",
991
+ "@esbuild/linux-mips64el": "0.21.5",
992
+ "@esbuild/linux-ppc64": "0.21.5",
993
+ "@esbuild/linux-riscv64": "0.21.5",
994
+ "@esbuild/linux-s390x": "0.21.5",
995
+ "@esbuild/linux-x64": "0.21.5",
996
+ "@esbuild/netbsd-x64": "0.21.5",
997
+ "@esbuild/openbsd-x64": "0.21.5",
998
+ "@esbuild/sunos-x64": "0.21.5",
999
+ "@esbuild/win32-arm64": "0.21.5",
1000
+ "@esbuild/win32-ia32": "0.21.5",
1001
+ "@esbuild/win32-x64": "0.21.5"
1002
+ }
1003
+ },
1004
+ "node_modules/estree-walker": {
1005
+ "version": "3.0.3",
1006
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
1007
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
1008
+ "dev": true,
1009
+ "license": "MIT",
1010
+ "dependencies": {
1011
+ "@types/estree": "^1.0.0"
1012
+ }
1013
+ },
1014
+ "node_modules/expect-type": {
1015
+ "version": "1.3.0",
1016
+ "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz",
1017
+ "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==",
1018
+ "dev": true,
1019
+ "license": "Apache-2.0",
1020
+ "engines": {
1021
+ "node": ">=12.0.0"
1022
+ }
1023
+ },
1024
+ "node_modules/fsevents": {
1025
+ "version": "2.3.3",
1026
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
1027
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
1028
+ "dev": true,
1029
+ "hasInstallScript": true,
1030
+ "license": "MIT",
1031
+ "optional": true,
1032
+ "os": [
1033
+ "darwin"
1034
+ ],
1035
+ "engines": {
1036
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1037
+ }
1038
+ },
1039
+ "node_modules/loupe": {
1040
+ "version": "3.2.1",
1041
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz",
1042
+ "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==",
1043
+ "dev": true,
1044
+ "license": "MIT"
1045
+ },
1046
+ "node_modules/magic-string": {
1047
+ "version": "0.30.21",
1048
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
1049
+ "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
1050
+ "dev": true,
1051
+ "license": "MIT",
1052
+ "dependencies": {
1053
+ "@jridgewell/sourcemap-codec": "^1.5.5"
1054
+ }
1055
+ },
1056
+ "node_modules/ms": {
1057
+ "version": "2.1.3",
1058
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1059
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1060
+ "dev": true,
1061
+ "license": "MIT"
1062
+ },
1063
+ "node_modules/nanoid": {
1064
+ "version": "3.3.12",
1065
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz",
1066
+ "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==",
1067
+ "dev": true,
1068
+ "funding": [
1069
+ {
1070
+ "type": "github",
1071
+ "url": "https://github.com/sponsors/ai"
1072
+ }
1073
+ ],
1074
+ "license": "MIT",
1075
+ "bin": {
1076
+ "nanoid": "bin/nanoid.cjs"
1077
+ },
1078
+ "engines": {
1079
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1080
+ }
1081
+ },
1082
+ "node_modules/pathe": {
1083
+ "version": "1.1.2",
1084
+ "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz",
1085
+ "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==",
1086
+ "dev": true,
1087
+ "license": "MIT"
1088
+ },
1089
+ "node_modules/pathval": {
1090
+ "version": "2.0.1",
1091
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz",
1092
+ "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==",
1093
+ "dev": true,
1094
+ "license": "MIT",
1095
+ "engines": {
1096
+ "node": ">= 14.16"
1097
+ }
1098
+ },
1099
+ "node_modules/picocolors": {
1100
+ "version": "1.1.1",
1101
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
1102
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
1103
+ "dev": true,
1104
+ "license": "ISC"
1105
+ },
1106
+ "node_modules/postcss": {
1107
+ "version": "8.5.14",
1108
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz",
1109
+ "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==",
1110
+ "dev": true,
1111
+ "funding": [
1112
+ {
1113
+ "type": "opencollective",
1114
+ "url": "https://opencollective.com/postcss/"
1115
+ },
1116
+ {
1117
+ "type": "tidelift",
1118
+ "url": "https://tidelift.com/funding/github/npm/postcss"
1119
+ },
1120
+ {
1121
+ "type": "github",
1122
+ "url": "https://github.com/sponsors/ai"
1123
+ }
1124
+ ],
1125
+ "license": "MIT",
1126
+ "dependencies": {
1127
+ "nanoid": "^3.3.11",
1128
+ "picocolors": "^1.1.1",
1129
+ "source-map-js": "^1.2.1"
1130
+ },
1131
+ "engines": {
1132
+ "node": "^10 || ^12 || >=14"
1133
+ }
1134
+ },
1135
+ "node_modules/rollup": {
1136
+ "version": "4.60.3",
1137
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.3.tgz",
1138
+ "integrity": "sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==",
1139
+ "dev": true,
1140
+ "license": "MIT",
1141
+ "dependencies": {
1142
+ "@types/estree": "1.0.8"
1143
+ },
1144
+ "bin": {
1145
+ "rollup": "dist/bin/rollup"
1146
+ },
1147
+ "engines": {
1148
+ "node": ">=18.0.0",
1149
+ "npm": ">=8.0.0"
1150
+ },
1151
+ "optionalDependencies": {
1152
+ "@rollup/rollup-android-arm-eabi": "4.60.3",
1153
+ "@rollup/rollup-android-arm64": "4.60.3",
1154
+ "@rollup/rollup-darwin-arm64": "4.60.3",
1155
+ "@rollup/rollup-darwin-x64": "4.60.3",
1156
+ "@rollup/rollup-freebsd-arm64": "4.60.3",
1157
+ "@rollup/rollup-freebsd-x64": "4.60.3",
1158
+ "@rollup/rollup-linux-arm-gnueabihf": "4.60.3",
1159
+ "@rollup/rollup-linux-arm-musleabihf": "4.60.3",
1160
+ "@rollup/rollup-linux-arm64-gnu": "4.60.3",
1161
+ "@rollup/rollup-linux-arm64-musl": "4.60.3",
1162
+ "@rollup/rollup-linux-loong64-gnu": "4.60.3",
1163
+ "@rollup/rollup-linux-loong64-musl": "4.60.3",
1164
+ "@rollup/rollup-linux-ppc64-gnu": "4.60.3",
1165
+ "@rollup/rollup-linux-ppc64-musl": "4.60.3",
1166
+ "@rollup/rollup-linux-riscv64-gnu": "4.60.3",
1167
+ "@rollup/rollup-linux-riscv64-musl": "4.60.3",
1168
+ "@rollup/rollup-linux-s390x-gnu": "4.60.3",
1169
+ "@rollup/rollup-linux-x64-gnu": "4.60.3",
1170
+ "@rollup/rollup-linux-x64-musl": "4.60.3",
1171
+ "@rollup/rollup-openbsd-x64": "4.60.3",
1172
+ "@rollup/rollup-openharmony-arm64": "4.60.3",
1173
+ "@rollup/rollup-win32-arm64-msvc": "4.60.3",
1174
+ "@rollup/rollup-win32-ia32-msvc": "4.60.3",
1175
+ "@rollup/rollup-win32-x64-gnu": "4.60.3",
1176
+ "@rollup/rollup-win32-x64-msvc": "4.60.3",
1177
+ "fsevents": "~2.3.2"
1178
+ }
1179
+ },
1180
+ "node_modules/rollup/node_modules/@types/estree": {
1181
+ "version": "1.0.8",
1182
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
1183
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
1184
+ "dev": true,
1185
+ "license": "MIT"
1186
+ },
1187
+ "node_modules/siginfo": {
1188
+ "version": "2.0.0",
1189
+ "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz",
1190
+ "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==",
1191
+ "dev": true,
1192
+ "license": "ISC"
1193
+ },
1194
+ "node_modules/source-map-js": {
1195
+ "version": "1.2.1",
1196
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
1197
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
1198
+ "dev": true,
1199
+ "license": "BSD-3-Clause",
1200
+ "engines": {
1201
+ "node": ">=0.10.0"
1202
+ }
1203
+ },
1204
+ "node_modules/stackback": {
1205
+ "version": "0.0.2",
1206
+ "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
1207
+ "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==",
1208
+ "dev": true,
1209
+ "license": "MIT"
1210
+ },
1211
+ "node_modules/std-env": {
1212
+ "version": "3.10.0",
1213
+ "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz",
1214
+ "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==",
1215
+ "dev": true,
1216
+ "license": "MIT"
1217
+ },
1218
+ "node_modules/tinybench": {
1219
+ "version": "2.9.0",
1220
+ "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
1221
+ "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==",
1222
+ "dev": true,
1223
+ "license": "MIT"
1224
+ },
1225
+ "node_modules/tinyexec": {
1226
+ "version": "0.3.2",
1227
+ "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz",
1228
+ "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==",
1229
+ "dev": true,
1230
+ "license": "MIT"
1231
+ },
1232
+ "node_modules/tinypool": {
1233
+ "version": "1.1.1",
1234
+ "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz",
1235
+ "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==",
1236
+ "dev": true,
1237
+ "license": "MIT",
1238
+ "engines": {
1239
+ "node": "^18.0.0 || >=20.0.0"
1240
+ }
1241
+ },
1242
+ "node_modules/tinyrainbow": {
1243
+ "version": "1.2.0",
1244
+ "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz",
1245
+ "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==",
1246
+ "dev": true,
1247
+ "license": "MIT",
1248
+ "engines": {
1249
+ "node": ">=14.0.0"
1250
+ }
1251
+ },
1252
+ "node_modules/tinyspy": {
1253
+ "version": "3.0.2",
1254
+ "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz",
1255
+ "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==",
1256
+ "dev": true,
1257
+ "license": "MIT",
1258
+ "engines": {
1259
+ "node": ">=14.0.0"
1260
+ }
1261
+ },
1262
+ "node_modules/vite": {
1263
+ "version": "5.4.21",
1264
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz",
1265
+ "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
1266
+ "dev": true,
1267
+ "license": "MIT",
1268
+ "dependencies": {
1269
+ "esbuild": "^0.21.3",
1270
+ "postcss": "^8.4.43",
1271
+ "rollup": "^4.20.0"
1272
+ },
1273
+ "bin": {
1274
+ "vite": "bin/vite.js"
1275
+ },
1276
+ "engines": {
1277
+ "node": "^18.0.0 || >=20.0.0"
1278
+ },
1279
+ "funding": {
1280
+ "url": "https://github.com/vitejs/vite?sponsor=1"
1281
+ },
1282
+ "optionalDependencies": {
1283
+ "fsevents": "~2.3.3"
1284
+ },
1285
+ "peerDependencies": {
1286
+ "@types/node": "^18.0.0 || >=20.0.0",
1287
+ "less": "*",
1288
+ "lightningcss": "^1.21.0",
1289
+ "sass": "*",
1290
+ "sass-embedded": "*",
1291
+ "stylus": "*",
1292
+ "sugarss": "*",
1293
+ "terser": "^5.4.0"
1294
+ },
1295
+ "peerDependenciesMeta": {
1296
+ "@types/node": {
1297
+ "optional": true
1298
+ },
1299
+ "less": {
1300
+ "optional": true
1301
+ },
1302
+ "lightningcss": {
1303
+ "optional": true
1304
+ },
1305
+ "sass": {
1306
+ "optional": true
1307
+ },
1308
+ "sass-embedded": {
1309
+ "optional": true
1310
+ },
1311
+ "stylus": {
1312
+ "optional": true
1313
+ },
1314
+ "sugarss": {
1315
+ "optional": true
1316
+ },
1317
+ "terser": {
1318
+ "optional": true
1319
+ }
1320
+ }
1321
+ },
1322
+ "node_modules/vite-node": {
1323
+ "version": "2.1.9",
1324
+ "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.9.tgz",
1325
+ "integrity": "sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==",
1326
+ "dev": true,
1327
+ "license": "MIT",
1328
+ "dependencies": {
1329
+ "cac": "^6.7.14",
1330
+ "debug": "^4.3.7",
1331
+ "es-module-lexer": "^1.5.4",
1332
+ "pathe": "^1.1.2",
1333
+ "vite": "^5.0.0"
1334
+ },
1335
+ "bin": {
1336
+ "vite-node": "vite-node.mjs"
1337
+ },
1338
+ "engines": {
1339
+ "node": "^18.0.0 || >=20.0.0"
1340
+ },
1341
+ "funding": {
1342
+ "url": "https://opencollective.com/vitest"
1343
+ }
1344
+ },
1345
+ "node_modules/vitest": {
1346
+ "version": "2.1.9",
1347
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.9.tgz",
1348
+ "integrity": "sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==",
1349
+ "dev": true,
1350
+ "license": "MIT",
1351
+ "dependencies": {
1352
+ "@vitest/expect": "2.1.9",
1353
+ "@vitest/mocker": "2.1.9",
1354
+ "@vitest/pretty-format": "^2.1.9",
1355
+ "@vitest/runner": "2.1.9",
1356
+ "@vitest/snapshot": "2.1.9",
1357
+ "@vitest/spy": "2.1.9",
1358
+ "@vitest/utils": "2.1.9",
1359
+ "chai": "^5.1.2",
1360
+ "debug": "^4.3.7",
1361
+ "expect-type": "^1.1.0",
1362
+ "magic-string": "^0.30.12",
1363
+ "pathe": "^1.1.2",
1364
+ "std-env": "^3.8.0",
1365
+ "tinybench": "^2.9.0",
1366
+ "tinyexec": "^0.3.1",
1367
+ "tinypool": "^1.0.1",
1368
+ "tinyrainbow": "^1.2.0",
1369
+ "vite": "^5.0.0",
1370
+ "vite-node": "2.1.9",
1371
+ "why-is-node-running": "^2.3.0"
1372
+ },
1373
+ "bin": {
1374
+ "vitest": "vitest.mjs"
1375
+ },
1376
+ "engines": {
1377
+ "node": "^18.0.0 || >=20.0.0"
1378
+ },
1379
+ "funding": {
1380
+ "url": "https://opencollective.com/vitest"
1381
+ },
1382
+ "peerDependencies": {
1383
+ "@edge-runtime/vm": "*",
1384
+ "@types/node": "^18.0.0 || >=20.0.0",
1385
+ "@vitest/browser": "2.1.9",
1386
+ "@vitest/ui": "2.1.9",
1387
+ "happy-dom": "*",
1388
+ "jsdom": "*"
1389
+ },
1390
+ "peerDependenciesMeta": {
1391
+ "@edge-runtime/vm": {
1392
+ "optional": true
1393
+ },
1394
+ "@types/node": {
1395
+ "optional": true
1396
+ },
1397
+ "@vitest/browser": {
1398
+ "optional": true
1399
+ },
1400
+ "@vitest/ui": {
1401
+ "optional": true
1402
+ },
1403
+ "happy-dom": {
1404
+ "optional": true
1405
+ },
1406
+ "jsdom": {
1407
+ "optional": true
1408
+ }
1409
+ }
1410
+ },
1411
+ "node_modules/why-is-node-running": {
1412
+ "version": "2.3.0",
1413
+ "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz",
1414
+ "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==",
1415
+ "dev": true,
1416
+ "license": "MIT",
1417
+ "dependencies": {
1418
+ "siginfo": "^2.0.0",
1419
+ "stackback": "0.0.2"
1420
+ },
1421
+ "bin": {
1422
+ "why-is-node-running": "cli.js"
1423
+ },
1424
+ "engines": {
1425
+ "node": ">=8"
1426
+ }
1427
+ }
1428
+ }
1429
+ }