PluginProbe
Gutenberg / trunk
Gutenberg vtrunk
24.1.0 24.0.0 23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 All 404 releases
gutenberg / build / scripts / vendors / react-dom-19.js

react-dom-19.js in Gutenberg trunk, at build/scripts/vendors/react-dom-19.js

22,769 lines 1.1 MB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 var ReactDOM = (() => {
2 function __wpWarnCompat(key) {var w = __wpWarnCompat.warned || (__wpWarnCompat.warned = {});if (w[key]) return;w[key] = true;var messages = {"legacy-element":"A React element created by an older React runtime (React 17/18) was detected and is handled by a compatibility patch. This usually means a bundled package ships its own React; align it with React 19.","inert":"An empty-string `inert` attribute was used. React 19 treats `inert` as a boolean, so the value was coerced to `true` by a compatibility patch. Pass `inert={true}` instead."};if (typeof console !== "undefined" && console.warn) {console.warn("[wordpress-react-19] " + messages[key]);}}
3
4 var __create = Object.create;
5 var __defProp = Object.defineProperty;
6 var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7 var __getOwnPropNames = Object.getOwnPropertyNames;
8 var __getProtoOf = Object.getPrototypeOf;
9 var __hasOwnProp = Object.prototype.hasOwnProperty;
10 var __esm = (fn, res) => function __init() {
11 return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
12 };
13 var __commonJS = (cb, mod) => function __require() {
14 return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
15 };
16 var __export = (target, all) => {
17 for (var name in all)
18 __defProp(target, name, { get: all[name], enumerable: true });
19 };
20 var __copyProps = (to, from, except, desc) => {
21 if (from && typeof from === "object" || typeof from === "function") {
22 for (let key of __getOwnPropNames(from))
23 if (!__hasOwnProp.call(to, key) && key !== except)
24 __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
25 }
26 return to;
27 };
28 var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
29 // If the importer is in node compatibility mode or this is not an ESM
30 // file that has been converted to a CommonJS file using a Babel-
31 // compatible transform (i.e. "__esModule" has not been set), then set
32 // "default" to the CommonJS "module.exports" for node compatibility.
33 isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
34 mod
35 ));
36 var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
37
38 // ../react-19/warn-compat.js
39 var warn_compat_exports = {};
40 __export(warn_compat_exports, {
41 warnCompat: () => warnCompat
42 });
43 function warnCompat(key, message) {
44 if (warned.has(key)) {
45 return;
46 }
47 warned.add(key);
48 if (typeof console !== "undefined" && console.warn) {
49 console.warn(`${PREFIX} ${message}`);
50 }
51 }
52 var PREFIX, warned;
53 var init_warn_compat = __esm({
54 "../react-19/warn-compat.js"() {
55 PREFIX = "[wordpress-react-19]";
56 warned = /* @__PURE__ */ new Set();
57 }
58 });
59
60 // react-external:react
61 var require_react = __commonJS({
62 "react-external:react"(exports, module) {
63 module.exports = globalThis.React;
64 }
65 });
66
67 // ../react-19/node_modules/react-dom/cjs/react-dom.development.js
68 var require_react_dom_development = __commonJS({
69 "../react-19/node_modules/react-dom/cjs/react-dom.development.js"(exports) {
70 "use strict";
71 (function() {
72 function noop() {
73 }
74 function testStringCoercion(value) {
75 return "" + value;
76 }
77 function createPortal$1(children, containerInfo, implementation) {
78 var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;
79 if (null == key) key = null;
80 else if (key === REACT_OPTIMISTIC_KEY) key = REACT_OPTIMISTIC_KEY;
81 else {
82 try {
83 testStringCoercion(key);
84 var JSCompiler_inline_result = false;
85 } catch (e) {
86 JSCompiler_inline_result = true;
87 }
88 JSCompiler_inline_result && (console.error(
89 "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
90 "function" === typeof Symbol && Symbol.toStringTag && key[Symbol.toStringTag] || key.constructor.name || "Object"
91 ), testStringCoercion(key));
92 key = "" + key;
93 }
94 return {
95 $$typeof: REACT_PORTAL_TYPE,
96 key,
97 children,
98 containerInfo,
99 implementation
100 };
101 }
102 function getCrossOriginStringAs(as, input) {
103 if ("font" === as) return "";
104 if ("string" === typeof input)
105 return "use-credentials" === input ? input : "";
106 }
107 function getValueDescriptorExpectingObjectForWarning(thing) {
108 return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : 'something with type "' + typeof thing + '"';
109 }
110 function getValueDescriptorExpectingEnumForWarning(thing) {
111 return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : "string" === typeof thing ? JSON.stringify(thing) : "number" === typeof thing ? "`" + thing + "`" : 'something with type "' + typeof thing + '"';
112 }
113 function resolveDispatcher() {
114 var dispatcher = ReactSharedInternals.H;
115 null === dispatcher && console.error(
116 "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem."
117 );
118 return dispatcher;
119 }
120 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
121 var React = require_react(), Internals = {
122 d: {
123 f: noop,
124 r: function() {
125 throw Error(
126 "Invalid form element. requestFormReset must be passed a form that was rendered by React."
127 );
128 },
129 D: noop,
130 C: noop,
131 L: noop,
132 m: noop,
133 X: noop,
134 S: noop,
135 M: noop
136 },
137 p: 0,
138 findDOMNode: null
139 }, REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for("react.portal"), REACT_RECOVERABLE_TYPE = /* @__PURE__ */ Symbol.for("react.recoverable"), REACT_OPTIMISTIC_KEY = /* @__PURE__ */ Symbol.for("react.optimistic_key"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
140 "function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error(
141 "React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"
142 );
143 exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals;
144 exports.browser = function(reason) {
145 return { $$typeof: REACT_RECOVERABLE_TYPE, _reason: reason };
146 };
147 exports.createPortal = function(children, container) {
148 var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;
149 if (!container || 1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType)
150 throw Error("Target container is not a DOM element.");
151 return createPortal$1(children, container, null, key);
152 };
153 exports.flushSync = function(fn) {
154 var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p;
155 try {
156 if (ReactSharedInternals.T = null, Internals.p = 2, fn)
157 return fn();
158 } finally {
159 ReactSharedInternals.T = previousTransition, Internals.p = previousUpdatePriority, Internals.d.f() && console.error(
160 "flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task."
161 );
162 }
163 };
164 exports.preconnect = function(href, options) {
165 "string" === typeof href && href ? null != options && "object" !== typeof options ? console.error(
166 "ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.",
167 getValueDescriptorExpectingEnumForWarning(options)
168 ) : null != options && "string" !== typeof options.crossOrigin && console.error(
169 "ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.",
170 getValueDescriptorExpectingObjectForWarning(options.crossOrigin)
171 ) : console.error(
172 "ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
173 getValueDescriptorExpectingObjectForWarning(href)
174 );
175 "string" === typeof href && (options ? (options = options.crossOrigin, options = "string" === typeof options ? "use-credentials" === options ? options : "" : void 0) : options = null, Internals.d.C(href, options));
176 };
177 exports.prefetchDNS = function(href) {
178 if ("string" !== typeof href || !href)
179 console.error(
180 "ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
181 getValueDescriptorExpectingObjectForWarning(href)
182 );
183 else if (1 < arguments.length) {
184 var options = arguments[1];
185 "object" === typeof options && options.hasOwnProperty("crossOrigin") ? console.error(
186 "ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.",
187 getValueDescriptorExpectingEnumForWarning(options)
188 ) : console.error(
189 "ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.",
190 getValueDescriptorExpectingEnumForWarning(options)
191 );
192 }
193 "string" === typeof href && Internals.d.D(href);
194 };
195 exports.preinit = function(href, options) {
196 "string" === typeof href && href ? null == options || "object" !== typeof options ? console.error(
197 "ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.",
198 getValueDescriptorExpectingEnumForWarning(options)
199 ) : "style" !== options.as && "script" !== options.as && console.error(
200 'ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are "style" and "script".',
201 getValueDescriptorExpectingEnumForWarning(options.as)
202 ) : console.error(
203 "ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
204 getValueDescriptorExpectingObjectForWarning(href)
205 );
206 if ("string" === typeof href && options && "string" === typeof options.as) {
207 var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin), integrity = "string" === typeof options.integrity ? options.integrity : void 0, fetchPriority = "string" === typeof options.fetchPriority ? options.fetchPriority : void 0;
208 "style" === as ? Internals.d.S(
209 href,
210 "string" === typeof options.precedence ? options.precedence : void 0,
211 {
212 crossOrigin,
213 integrity,
214 fetchPriority
215 }
216 ) : "script" === as && Internals.d.X(href, {
217 crossOrigin,
218 integrity,
219 fetchPriority,
220 nonce: "string" === typeof options.nonce ? options.nonce : void 0
221 });
222 }
223 };
224 exports.preinitModule = function(href, options) {
225 var encountered = "";
226 "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
227 void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "script" !== options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingEnumForWarning(options.as) + ".");
228 if (encountered)
229 console.error(
230 "ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s",
231 encountered
232 );
233 else
234 switch (encountered = options && "string" === typeof options.as ? options.as : "script", encountered) {
235 case "script":
236 break;
237 default:
238 encountered = getValueDescriptorExpectingEnumForWarning(encountered), console.error(
239 'ReactDOM.preinitModule(): Currently the only supported "as" type for this function is "script" but received "%s" instead. This warning was generated for `href` "%s". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)',
240 encountered,
241 href
242 );
243 }
244 if ("string" === typeof href)
245 if ("object" === typeof options && null !== options) {
246 if (null == options.as || "script" === options.as)
247 encountered = getCrossOriginStringAs(
248 options.as,
249 options.crossOrigin
250 ), Internals.d.M(href, {
251 crossOrigin: encountered,
252 integrity: "string" === typeof options.integrity ? options.integrity : void 0,
253 nonce: "string" === typeof options.nonce ? options.nonce : void 0,
254 fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0
255 });
256 } else null == options && Internals.d.M(href);
257 };
258 exports.preload = function(href, options) {
259 var encountered = "";
260 "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
261 null == options || "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : "string" === typeof options.as && options.as || (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + ".");
262 encountered && console.error(
263 'ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel="preload" as="..." />` tag.%s',
264 encountered
265 );
266 if ("string" === typeof href && "object" === typeof options && null !== options && "string" === typeof options.as) {
267 encountered = options.as;
268 var crossOrigin = getCrossOriginStringAs(
269 encountered,
270 options.crossOrigin
271 );
272 Internals.d.L(href, encountered, {
273 crossOrigin,
274 integrity: "string" === typeof options.integrity ? options.integrity : void 0,
275 nonce: "string" === typeof options.nonce ? options.nonce : void 0,
276 type: "string" === typeof options.type ? options.type : void 0,
277 fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0,
278 referrerPolicy: "string" === typeof options.referrerPolicy ? options.referrerPolicy : void 0,
279 imageSrcSet: "string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,
280 imageSizes: "string" === typeof options.imageSizes ? options.imageSizes : void 0,
281 media: "string" === typeof options.media ? options.media : void 0
282 });
283 }
284 };
285 exports.preloadModule = function(href, options) {
286 var encountered = "";
287 "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
288 void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "string" !== typeof options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + ".");
289 encountered && console.error(
290 'ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel="modulepreload" as="..." />` tag.%s',
291 encountered
292 );
293 "string" === typeof href && (options ? (encountered = getCrossOriginStringAs(
294 options.as,
295 options.crossOrigin
296 ), Internals.d.m(href, {
297 as: "string" === typeof options.as && "script" !== options.as ? options.as : void 0,
298 crossOrigin: encountered,
299 integrity: "string" === typeof options.integrity ? options.integrity : void 0,
300 nonce: "string" === typeof options.nonce ? options.nonce : void 0,
301 fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0
302 })) : Internals.d.m(href));
303 };
304 exports.requestFormReset = function(form) {
305 Internals.d.r(form);
306 };
307 exports.unstable_batchedUpdates = function(fn, a) {
308 return fn(a);
309 };
310 exports.useFormState = function(action, initialState, permalink) {
311 return resolveDispatcher().useFormState(action, initialState, permalink);
312 };
313 exports.useFormStatus = function() {
314 return resolveDispatcher().useHostTransitionStatus();
315 };
316 exports.version = "19.3.0";
317 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
318 })();
319 }
320 });
321
322 // ../react-19/node_modules/react-dom/index.js
323 var require_react_dom = __commonJS({
324 "../react-19/node_modules/react-dom/index.js"(exports, module) {
325 "use strict";
326 if (false) {
327 checkDCE();
328 module.exports = null;
329 } else {
330 module.exports = require_react_dom_development();
331 }
332 }
333 });
334
335 // ../react-19/node_modules/scheduler/cjs/scheduler.development.js
336 var require_scheduler_development = __commonJS({
337 "../react-19/node_modules/scheduler/cjs/scheduler.development.js"(exports) {
338 "use strict";
339 (function() {
340 function performWorkUntilDeadline() {
341 needsPaint = false;
342 if (isMessageLoopRunning) {
343 var currentTime = exports.unstable_now();
344 startTime = currentTime;
345 var hasMoreWork = true;
346 try {
347 a: {
348 isHostCallbackScheduled = false;
349 isHostTimeoutScheduled && (isHostTimeoutScheduled = false, localClearTimeout(taskTimeoutID), taskTimeoutID = -1);
350 isPerformingWork = true;
351 var previousPriorityLevel = currentPriorityLevel;
352 try {
353 b: {
354 advanceTimers(currentTime);
355 for (currentTask = peek(taskQueue); null !== currentTask && !(currentTask.expirationTime > currentTime && shouldYieldToHost()); ) {
356 var callback = currentTask.callback;
357 if ("function" === typeof callback) {
358 currentTask.callback = null;
359 currentPriorityLevel = currentTask.priorityLevel;
360 var continuationCallback = callback(
361 currentTask.expirationTime <= currentTime
362 );
363 currentTime = exports.unstable_now();
364 if ("function" === typeof continuationCallback) {
365 currentTask.callback = continuationCallback;
366 advanceTimers(currentTime);
367 hasMoreWork = true;
368 break b;
369 }
370 currentTask === peek(taskQueue) && pop(taskQueue);
371 advanceTimers(currentTime);
372 } else pop(taskQueue);
373 currentTask = peek(taskQueue);
374 }
375 if (null !== currentTask) hasMoreWork = true;
376 else {
377 var firstTimer = peek(timerQueue);
378 null !== firstTimer && requestHostTimeout(
379 handleTimeout,
380 firstTimer.startTime - currentTime
381 );
382 hasMoreWork = false;
383 }
384 }
385 break a;
386 } finally {
387 currentTask = null, currentPriorityLevel = previousPriorityLevel, isPerformingWork = false;
388 }
389 hasMoreWork = void 0;
390 }
391 } finally {
392 hasMoreWork ? schedulePerformWorkUntilDeadline() : isMessageLoopRunning = false;
393 }
394 }
395 }
396 function push(heap, node) {
397 var index = heap.length;
398 heap.push(node);
399 a: for (; 0 < index; ) {
400 var parentIndex = index - 1 >>> 1, parent = heap[parentIndex];
401 if (0 < compare(parent, node))
402 heap[parentIndex] = node, heap[index] = parent, index = parentIndex;
403 else break a;
404 }
405 }
406 function peek(heap) {
407 return 0 === heap.length ? null : heap[0];
408 }
409 function pop(heap) {
410 if (0 === heap.length) return null;
411 var first = heap[0], last = heap.pop();
412 if (last !== first) {
413 heap[0] = last;
414 a: for (var index = 0, length = heap.length, halfLength = length >>> 1; index < halfLength; ) {
415 var leftIndex = 2 * (index + 1) - 1, left = heap[leftIndex], rightIndex = leftIndex + 1, right = heap[rightIndex];
416 if (0 > compare(left, last))
417 rightIndex < length && 0 > compare(right, left) ? (heap[index] = right, heap[rightIndex] = last, index = rightIndex) : (heap[index] = left, heap[leftIndex] = last, index = leftIndex);
418 else if (rightIndex < length && 0 > compare(right, last))
419 heap[index] = right, heap[rightIndex] = last, index = rightIndex;
420 else break a;
421 }
422 }
423 return first;
424 }
425 function compare(a, b) {
426 var diff = a.sortIndex - b.sortIndex;
427 return 0 !== diff ? diff : a.id - b.id;
428 }
429 function advanceTimers(currentTime) {
430 for (var timer = peek(timerQueue); null !== timer; ) {
431 if (null === timer.callback) pop(timerQueue);
432 else if (timer.startTime <= currentTime)
433 pop(timerQueue), timer.sortIndex = timer.expirationTime, push(taskQueue, timer);
434 else break;
435 timer = peek(timerQueue);
436 }
437 }
438 function handleTimeout(currentTime) {
439 isHostTimeoutScheduled = false;
440 advanceTimers(currentTime);
441 if (!isHostCallbackScheduled)
442 if (null !== peek(taskQueue))
443 isHostCallbackScheduled = true, isMessageLoopRunning || (isMessageLoopRunning = true, schedulePerformWorkUntilDeadline());
444 else {
445 var firstTimer = peek(timerQueue);
446 null !== firstTimer && requestHostTimeout(
447 handleTimeout,
448 firstTimer.startTime - currentTime
449 );
450 }
451 }
452 function shouldYieldToHost() {
453 return needsPaint ? true : exports.unstable_now() - startTime < frameInterval ? false : true;
454 }
455 function requestHostTimeout(callback, ms) {
456 taskTimeoutID = localSetTimeout(function() {
457 callback(exports.unstable_now());
458 }, ms);
459 }
460 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
461 exports.unstable_now = void 0;
462 if ("object" === typeof performance && "function" === typeof performance.now) {
463 var localPerformance = performance;
464 exports.unstable_now = function() {
465 return localPerformance.now();
466 };
467 } else {
468 var localDate = Date, initialTime = localDate.now();
469 exports.unstable_now = function() {
470 return localDate.now() - initialTime;
471 };
472 }
473 var taskQueue = [], timerQueue = [], taskIdCounter = 1, currentTask = null, currentPriorityLevel = 3, isPerformingWork = false, isHostCallbackScheduled = false, isHostTimeoutScheduled = false, needsPaint = false, localSetTimeout = "function" === typeof setTimeout ? setTimeout : null, localClearTimeout = "function" === typeof clearTimeout ? clearTimeout : null, localSetImmediate = "undefined" !== typeof setImmediate ? setImmediate : null, isMessageLoopRunning = false, taskTimeoutID = -1, frameInterval = 5, startTime = -1;
474 if ("function" === typeof localSetImmediate)
475 var schedulePerformWorkUntilDeadline = function() {
476 localSetImmediate(performWorkUntilDeadline);
477 };
478 else if ("undefined" !== typeof MessageChannel) {
479 var channel = new MessageChannel(), port = channel.port2;
480 channel.port1.onmessage = performWorkUntilDeadline;
481 schedulePerformWorkUntilDeadline = function() {
482 port.postMessage(null);
483 };
484 } else
485 schedulePerformWorkUntilDeadline = function() {
486 localSetTimeout(performWorkUntilDeadline, 0);
487 };
488 exports.unstable_IdlePriority = 5;
489 exports.unstable_ImmediatePriority = 1;
490 exports.unstable_LowPriority = 4;
491 exports.unstable_NormalPriority = 3;
492 exports.unstable_Profiling = null;
493 exports.unstable_UserBlockingPriority = 2;
494 exports.unstable_cancelCallback = function(task) {
495 task.callback = null;
496 };
497 exports.unstable_forceFrameRate = function(fps) {
498 0 > fps || 125 < fps ? console.error(
499 "forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"
500 ) : frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5;
501 };
502 exports.unstable_getCurrentPriorityLevel = function() {
503 return currentPriorityLevel;
504 };
505 exports.unstable_next = function(eventHandler) {
506 switch (currentPriorityLevel) {
507 case 1:
508 case 2:
509 case 3:
510 var priorityLevel = 3;
511 break;
512 default:
513 priorityLevel = currentPriorityLevel;
514 }
515 var previousPriorityLevel = currentPriorityLevel;
516 currentPriorityLevel = priorityLevel;
517 try {
518 return eventHandler();
519 } finally {
520 currentPriorityLevel = previousPriorityLevel;
521 }
522 };
523 exports.unstable_requestPaint = function() {
524 needsPaint = true;
525 };
526 exports.unstable_runWithPriority = function(priorityLevel, eventHandler) {
527 switch (priorityLevel) {
528 case 1:
529 case 2:
530 case 3:
531 case 4:
532 case 5:
533 break;
534 default:
535 priorityLevel = 3;
536 }
537 var previousPriorityLevel = currentPriorityLevel;
538 currentPriorityLevel = priorityLevel;
539 try {
540 return eventHandler();
541 } finally {
542 currentPriorityLevel = previousPriorityLevel;
543 }
544 };
545 exports.unstable_scheduleCallback = function(priorityLevel, callback, options) {
546 var currentTime = exports.unstable_now();
547 "object" === typeof options && null !== options ? (options = options.delay, options = "number" === typeof options && 0 < options ? currentTime + options : currentTime) : options = currentTime;
548 switch (priorityLevel) {
549 case 1:
550 var timeout = -1;
551 break;
552 case 2:
553 timeout = 250;
554 break;
555 case 5:
556 timeout = 1073741823;
557 break;
558 case 4:
559 timeout = 1e4;
560 break;
561 default:
562 timeout = 5e3;
563 }
564 timeout = options + timeout;
565 priorityLevel = {
566 id: taskIdCounter++,
567 callback,
568 priorityLevel,
569 startTime: options,
570 expirationTime: timeout,
571 sortIndex: -1
572 };
573 options > currentTime ? (priorityLevel.sortIndex = options, push(timerQueue, priorityLevel), null === peek(taskQueue) && priorityLevel === peek(timerQueue) && (isHostTimeoutScheduled ? (localClearTimeout(taskTimeoutID), taskTimeoutID = -1) : isHostTimeoutScheduled = true, requestHostTimeout(handleTimeout, options - currentTime))) : (priorityLevel.sortIndex = timeout, push(taskQueue, priorityLevel), isHostCallbackScheduled || isPerformingWork || (isHostCallbackScheduled = true, isMessageLoopRunning || (isMessageLoopRunning = true, schedulePerformWorkUntilDeadline())));
574 return priorityLevel;
575 };
576 exports.unstable_shouldYield = shouldYieldToHost;
577 exports.unstable_wrapCallback = function(callback) {
578 var parentPriorityLevel = currentPriorityLevel;
579 return function() {
580 var previousPriorityLevel = currentPriorityLevel;
581 currentPriorityLevel = parentPriorityLevel;
582 try {
583 return callback.apply(this, arguments);
584 } finally {
585 currentPriorityLevel = previousPriorityLevel;
586 }
587 };
588 };
589 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
590 })();
591 }
592 });
593
594 // ../react-19/node_modules/scheduler/index.js
595 var require_scheduler = __commonJS({
596 "../react-19/node_modules/scheduler/index.js"(exports, module) {
597 "use strict";
598 if (false) {
599 module.exports = null;
600 } else {
601 module.exports = require_scheduler_development();
602 }
603 }
604 });
605
606 // ../react-19/node_modules/react-dom/cjs/react-dom-client.development.js
607 var require_react_dom_client_development = __commonJS({
608 "../react-19/node_modules/react-dom/cjs/react-dom-client.development.js"(exports) {
609 "use strict";
610 (function() {
611 function findHook(fiber, id) {
612 for (fiber = fiber.memoizedState; null !== fiber && 0 < id; )
613 fiber = fiber.next, id--;
614 return fiber;
615 }
616 function copyWithSetImpl(obj, path, index, value) {
617 if (index >= path.length) return value;
618 var key = path[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);
619 updated[key] = copyWithSetImpl(obj[key], path, index + 1, value);
620 return updated;
621 }
622 function copyWithRename(obj, oldPath, newPath) {
623 if (oldPath.length !== newPath.length)
624 console.warn("copyWithRename() expects paths of the same length");
625 else {
626 for (var i = 0; i < newPath.length - 1; i++)
627 if (oldPath[i] !== newPath[i]) {
628 console.warn(
629 "copyWithRename() expects paths to be the same except for the deepest key"
630 );
631 return;
632 }
633 return copyWithRenameImpl(obj, oldPath, newPath, 0);
634 }
635 }
636 function copyWithRenameImpl(obj, oldPath, newPath, index) {
637 var oldKey = oldPath[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);
638 index + 1 === oldPath.length ? (updated[newPath[index]] = updated[oldKey], isArrayImpl(updated) ? updated.splice(oldKey, 1) : delete updated[oldKey]) : updated[oldKey] = copyWithRenameImpl(
639 obj[oldKey],
640 oldPath,
641 newPath,
642 index + 1
643 );
644 return updated;
645 }
646 function copyWithDeleteImpl(obj, path, index) {
647 var key = path[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);
648 if (index + 1 === path.length)
649 return isArrayImpl(updated) ? updated.splice(key, 1) : delete updated[key], updated;
650 updated[key] = copyWithDeleteImpl(obj[key], path, index + 1);
651 return updated;
652 }
653 function shouldSuspendImpl() {
654 return false;
655 }
656 function shouldErrorImpl() {
657 return null;
658 }
659 function warnInvalidHookAccess() {
660 console.error(
661 "Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://react.dev/link/rules-of-hooks"
662 );
663 }
664 function warnInvalidContextAccess() {
665 console.error(
666 "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."
667 );
668 }
669 function noop() {
670 }
671 function warnForMissingKey() {
672 }
673 function setToSortedString(set) {
674 var array = [];
675 set.forEach(function(value) {
676 array.push(value);
677 });
678 return array.sort().join(", ");
679 }
680 function createFiber(tag, pendingProps, key, mode) {
681 return new FiberNode(tag, pendingProps, key, mode);
682 }
683 function scheduleRoot(root2, element) {
684 root2.context === emptyContextObject && (updateContainerImpl(root2.current, 2, element, root2, null, null), flushSyncWork$1());
685 }
686 function scheduleRefresh(root2, update) {
687 if (null !== resolveFamily) {
688 var staleFamilies = update.staleFamilies;
689 update = update.updatedFamilies;
690 flushPendingEffects();
691 scheduleFibersWithFamiliesRecursively(
692 root2.current,
693 update,
694 staleFamilies
695 );
696 flushSyncWork$1();
697 }
698 }
699 function setRefreshHandler(handler) {
700 resolveFamily = handler;
701 }
702 function isValidContainer(node) {
703 return !(!node || 1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType);
704 }
705 function getNearestMountedFiber(fiber) {
706 for (var node = fiber, nextNode = node; nextNode && !nextNode.alternate; )
707 node = nextNode, 0 !== (node.flags & 4098) && (fiber = node.return), nextNode = node.return;
708 for (; node.return; ) node = node.return;
709 return 3 === node.tag ? fiber : null;
710 }
711 function getSuspenseInstanceFromFiber(fiber) {
712 if (13 === fiber.tag) {
713 var suspenseState = fiber.memoizedState;
714 null === suspenseState && (fiber = fiber.alternate, null !== fiber && (suspenseState = fiber.memoizedState));
715 if (null !== suspenseState) return suspenseState.dehydrated;
716 }
717 return null;
718 }
719 function getActivityInstanceFromFiber(fiber) {
720 if (31 === fiber.tag) {
721 var activityState = fiber.memoizedState;
722 null === activityState && (fiber = fiber.alternate, null !== fiber && (activityState = fiber.memoizedState));
723 if (null !== activityState) return activityState.dehydrated;
724 }
725 return null;
726 }
727 function assertIsMounted(fiber) {
728 if (getNearestMountedFiber(fiber) !== fiber)
729 throw Error("Unable to find node on an unmounted component.");
730 }
731 function findCurrentFiberUsingSlowPath(fiber) {
732 var alternate = fiber.alternate;
733 if (!alternate) {
734 alternate = getNearestMountedFiber(fiber);
735 if (null === alternate)
736 throw Error("Unable to find node on an unmounted component.");
737 return alternate !== fiber ? null : fiber;
738 }
739 for (var a = fiber, b = alternate; ; ) {
740 var parentA = a.return;
741 if (null === parentA) break;
742 var parentB = parentA.alternate;
743 if (null === parentB) {
744 b = parentA.return;
745 if (null !== b) {
746 a = b;
747 continue;
748 }
749 break;
750 }
751 if (parentA.child === parentB.child) {
752 for (parentB = parentA.child; parentB; ) {
753 if (parentB === a) return assertIsMounted(parentA), fiber;
754 if (parentB === b) return assertIsMounted(parentA), alternate;
755 parentB = parentB.sibling;
756 }
757 throw Error("Unable to find node on an unmounted component.");
758 }
759 if (a.return !== b.return) a = parentA, b = parentB;
760 else {
761 for (var didFindChild = false, _child = parentA.child; _child; ) {
762 if (_child === a) {
763 didFindChild = true;
764 a = parentA;
765 b = parentB;
766 break;
767 }
768 if (_child === b) {
769 didFindChild = true;
770 b = parentA;
771 a = parentB;
772 break;
773 }
774 _child = _child.sibling;
775 }
776 if (!didFindChild) {
777 for (_child = parentB.child; _child; ) {
778 if (_child === a) {
779 didFindChild = true;
780 a = parentB;
781 b = parentA;
782 break;
783 }
784 if (_child === b) {
785 didFindChild = true;
786 b = parentB;
787 a = parentA;
788 break;
789 }
790 _child = _child.sibling;
791 }
792 if (!didFindChild)
793 throw Error(
794 "Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue."
795 );
796 }
797 }
798 if (a.alternate !== b)
799 throw Error(
800 "Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue."
801 );
802 }
803 if (3 !== a.tag)
804 throw Error("Unable to find node on an unmounted component.");
805 return a.stateNode.current === a ? fiber : alternate;
806 }
807 function findCurrentHostFiberImpl(node) {
808 var tag = node.tag;
809 if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;
810 for (node = node.child; null !== node; ) {
811 tag = findCurrentHostFiberImpl(node);
812 if (null !== tag) return tag;
813 node = node.sibling;
814 }
815 return null;
816 }
817 function traverseFragmentInstancesAndTextInstances(fragmentFiber, fn, a, b, c) {
818 traverseVisibleInstancesAndTextInstances(
819 fragmentFiber.child,
820 false,
821 fn,
822 a,
823 b,
824 c
825 );
826 }
827 function traverseVisibleInstancesAndTextInstances(child, searchWithinHosts, fn, a, b, c) {
828 for (; null !== child; ) {
829 if ((5 === child.tag || 27 === child.tag || 6 === child.tag) && fn(child, a, b, c) || (22 !== child.tag || null === child.memoizedState) && (searchWithinHosts || 5 !== child.tag && 27 !== child.tag) && traverseVisibleInstancesAndTextInstances(
830 child.child,
831 searchWithinHosts,
832 fn,
833 a,
834 b,
835 c
836 ))
837 return true;
838 child = child.sibling;
839 }
840 return false;
841 }
842 function getFragmentParentInstanceOrContainerFiber(fiber) {
843 for (fiber = fiber.return; null !== fiber; ) {
844 if (3 === fiber.tag || 5 === fiber.tag || 27 === fiber.tag)
845 return fiber;
846 fiber = fiber.return;
847 }
848 return null;
849 }
850 function fiberIsPortaledIntoHost(fiber) {
851 var foundPortalParent = false;
852 for (fiber = fiber.return; null !== fiber; ) {
853 4 === fiber.tag && (foundPortalParent = true);
854 if (3 === fiber.tag || 5 === fiber.tag || 27 === fiber.tag) break;
855 fiber = fiber.return;
856 }
857 return foundPortalParent;
858 }
859 function getFragmentInstanceOrTextInstanceSiblings(fiber) {
860 var result = [null, null], parentHostFiber = getFragmentParentInstanceOrContainerFiber(fiber);
861 if (null === parentHostFiber) return result;
862 findFragmentInstanceOrTextInstanceSiblings(
863 result,
864 fiber,
865 parentHostFiber.child,
866 { foundSelf: false }
867 );
868 return result;
869 }
870 function findFragmentInstanceOrTextInstanceSiblings(result, self, child, state) {
871 for (; null !== child; ) {
872 if (child === self) state.foundSelf = true;
873 else if (5 === child.tag || 27 === child.tag || 6 === child.tag) {
874 if (state.foundSelf) return result[1] = child, true;
875 result[0] = child;
876 } else if ((22 !== child.tag || null === child.memoizedState) && findFragmentInstanceOrTextInstanceSiblings(
877 result,
878 self,
879 child.child,
880 state
881 ))
882 return true;
883 child = child.sibling;
884 }
885 return false;
886 }
887 function getInstanceFromHostFiber(fiber) {
888 switch (fiber.tag) {
889 case 5:
890 case 27:
891 case 6:
892 return fiber.stateNode;
893 case 3:
894 return fiber.stateNode.containerInfo;
895 default:
896 throw Error("Expected to find a host node. This is a bug in React.");
897 }
898 }
899 function isFiberPrecedingCheck(child, target, boundary) {
900 return child === boundary ? true : child === target ? (searchTarget = child, true) : false;
901 }
902 function isFiberFollowingCheck(child, target, boundary) {
903 return child === boundary ? (searchBoundary = child, false) : child === target ? (null !== searchBoundary && (searchTarget = child), true) : false;
904 }
905 function getParentForFragmentAncestors(inst) {
906 if (null === inst) return null;
907 do
908 inst = null === inst ? null : inst.return;
909 while (inst && 5 !== inst.tag && 27 !== inst.tag && 3 !== inst.tag);
910 return inst ? inst : null;
911 }
912 function getLowestCommonAncestor(instA, instB, getParent2) {
913 for (var depthA = 0, tempA = instA; tempA; tempA = getParent2(tempA))
914 depthA++;
915 tempA = 0;
916 for (var tempB = instB; tempB; tempB = getParent2(tempB)) tempA++;
917 for (; 0 < depthA - tempA; ) instA = getParent2(instA), depthA--;
918 for (; 0 < tempA - depthA; ) instB = getParent2(instB), tempA--;
919 for (; depthA--; ) {
920 if (instA === instB || null !== instB && instA === instB.alternate)
921 return instA;
922 instA = getParent2(instA);
923 instB = getParent2(instB);
924 }
925 return null;
926 }
927 function getIteratorFn(maybeIterable) {
928 if (null === maybeIterable || "object" !== typeof maybeIterable)
929 return null;
930 maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"];
931 return "function" === typeof maybeIterable ? maybeIterable : null;
932 }
933 function getComponentNameFromType(type) {
934 if (null == type) return null;
935 if ("function" === typeof type)
936 return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
937 if ("string" === typeof type) return type;
938 switch (type) {
939 case REACT_FRAGMENT_TYPE:
940 return "Fragment";
941 case REACT_PROFILER_TYPE:
942 return "Profiler";
943 case REACT_STRICT_MODE_TYPE:
944 return "StrictMode";
945 case REACT_SUSPENSE_TYPE:
946 return "Suspense";
947 case REACT_SUSPENSE_LIST_TYPE:
948 return "SuspenseList";
949 case REACT_ACTIVITY_TYPE:
950 return "Activity";
951 case REACT_VIEW_TRANSITION_TYPE:
952 return "ViewTransition";
953 }
954 if ("object" === typeof type)
955 switch ("number" === typeof type.tag && console.error(
956 "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
957 ), type.$$typeof) {
958 case REACT_PORTAL_TYPE:
959 return "Portal";
960 case REACT_CONTEXT_TYPE:
961 return type.displayName || "Context";
962 case REACT_CONSUMER_TYPE:
963 return (type._context.displayName || "Context") + ".Consumer";
964 case REACT_FORWARD_REF_TYPE:
965 var innerType = type.render;
966 type = type.displayName;
967 type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
968 return type;
969 case REACT_MEMO_TYPE:
970 return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
971 case REACT_LAZY_TYPE:
972 innerType = type._payload;
973 type = type._init;
974 try {
975 return getComponentNameFromType(type(innerType));
976 } catch (x) {
977 }
978 }
979 return null;
980 }
981 function getComponentNameFromOwner(owner) {
982 return "number" === typeof owner.tag ? getComponentNameFromFiber(owner) : "string" === typeof owner.name ? owner.name : null;
983 }
984 function getComponentNameFromFiber(fiber) {
985 var type = fiber.type;
986 switch (fiber.tag) {
987 case 31:
988 return "Activity";
989 case 24:
990 return "Cache";
991 case 9:
992 return (type._context.displayName || "Context") + ".Consumer";
993 case 10:
994 return type.displayName || "Context";
995 case 18:
996 return "DehydratedFragment";
997 case 11:
998 return fiber = type.render, fiber = fiber.displayName || fiber.name || "", type.displayName || ("" !== fiber ? "ForwardRef(" + fiber + ")" : "ForwardRef");
999 case 7:
1000 return "Fragment";
1001 case 26:
1002 case 27:
1003 case 5:
1004 return type;
1005 case 4:
1006 return "Portal";
1007 case 3:
1008 return "Root";
1009 case 6:
1010 return "Text";
1011 case 16:
1012 return getComponentNameFromType(type);
1013 case 8:
1014 return type === REACT_STRICT_MODE_TYPE ? "StrictMode" : "Mode";
1015 case 22:
1016 if (null !== fiber.return)
1017 return getComponentNameFromFiber(fiber.return);
1018 break;
1019 case 12:
1020 return "Profiler";
1021 case 21:
1022 return "Scope";
1023 case 13:
1024 return "Suspense";
1025 case 19:
1026 return "SuspenseList";
1027 case 25:
1028 return "TracingMarker";
1029 case 30:
1030 return "ViewTransition";
1031 case 1:
1032 case 0:
1033 case 14:
1034 case 15:
1035 if ("function" === typeof type)
1036 return type.displayName || type.name || null;
1037 if ("string" === typeof type) return type;
1038 break;
1039 case 29:
1040 type = fiber._debugInfo;
1041 if (null != type) {
1042 for (var i = type.length - 1; 0 <= i; i--)
1043 if ("string" === typeof type[i].name) return type[i].name;
1044 }
1045 if (null !== fiber.return)
1046 return getComponentNameFromFiber(fiber.return);
1047 }
1048 return null;
1049 }
1050 function createCursor(defaultValue) {
1051 return { current: defaultValue };
1052 }
1053 function pop(cursor, fiber) {
1054 0 > index$jscomp$0 ? console.error("Unexpected pop.") : (fiber !== fiberStack[index$jscomp$0] && console.error("Unexpected Fiber popped."), cursor.current = valueStack[index$jscomp$0], valueStack[index$jscomp$0] = null, fiberStack[index$jscomp$0] = null, index$jscomp$0--);
1055 }
1056 function push(cursor, value, fiber) {
1057 index$jscomp$0++;
1058 valueStack[index$jscomp$0] = cursor.current;
1059 fiberStack[index$jscomp$0] = fiber;
1060 cursor.current = value;
1061 }
1062 function requiredContext(c) {
1063 null === c && console.error(
1064 "Expected host context to exist. This error is likely caused by a bug in React. Please file an issue."
1065 );
1066 return c;
1067 }
1068 function pushHostContainer(fiber, nextRootInstance) {
1069 push(rootInstanceStackCursor, nextRootInstance, fiber);
1070 push(contextFiberStackCursor, fiber, fiber);
1071 push(contextStackCursor, null, fiber);
1072 var nextRootContext = nextRootInstance.nodeType;
1073 switch (nextRootContext) {
1074 case 9:
1075 case 11:
1076 nextRootContext = 9 === nextRootContext ? "#document" : "#fragment";
1077 nextRootInstance = (nextRootInstance = nextRootInstance.documentElement) ? (nextRootInstance = nextRootInstance.namespaceURI) ? getOwnHostContext(nextRootInstance) : HostContextNamespaceNone : HostContextNamespaceNone;
1078 break;
1079 default:
1080 if (nextRootContext = nextRootInstance.tagName, nextRootInstance = nextRootInstance.namespaceURI)
1081 nextRootInstance = getOwnHostContext(nextRootInstance), nextRootInstance = getChildHostContextProd(
1082 nextRootInstance,
1083 nextRootContext
1084 );
1085 else
1086 switch (nextRootContext) {
1087 case "svg":
1088 nextRootInstance = HostContextNamespaceSvg;
1089 break;
1090 case "math":
1091 nextRootInstance = HostContextNamespaceMath;
1092 break;
1093 default:
1094 nextRootInstance = HostContextNamespaceNone;
1095 }
1096 }
1097 nextRootContext = nextRootContext.toLowerCase();
1098 nextRootContext = updatedAncestorInfoDev(null, nextRootContext);
1099 nextRootContext = {
1100 context: nextRootInstance,
1101 ancestorInfo: nextRootContext
1102 };
1103 pop(contextStackCursor, fiber);
1104 push(contextStackCursor, nextRootContext, fiber);
1105 }
1106 function popHostContainer(fiber) {
1107 pop(contextStackCursor, fiber);
1108 pop(contextFiberStackCursor, fiber);
1109 pop(rootInstanceStackCursor, fiber);
1110 }
1111 function getHostContext() {
1112 return requiredContext(contextStackCursor.current);
1113 }
1114 function pushHostContext(fiber) {
1115 var stateHook = fiber.memoizedState;
1116 null !== stateHook && (HostTransitionContext._currentValue = stateHook.memoizedState, push(hostTransitionProviderCursor, fiber, fiber));
1117 stateHook = requiredContext(contextStackCursor.current);
1118 var type = fiber.type;
1119 var nextContext = getChildHostContextProd(stateHook.context, type);
1120 type = updatedAncestorInfoDev(stateHook.ancestorInfo, type);
1121 nextContext = { context: nextContext, ancestorInfo: type };
1122 stateHook !== nextContext && (push(contextFiberStackCursor, fiber, fiber), push(contextStackCursor, nextContext, fiber));
1123 }
1124 function popHostContext(fiber) {
1125 contextFiberStackCursor.current === fiber && (pop(contextStackCursor, fiber), pop(contextFiberStackCursor, fiber));
1126 hostTransitionProviderCursor.current === fiber && (pop(hostTransitionProviderCursor, fiber), HostTransitionContext._currentValue = NotPendingTransition);
1127 }
1128 function disabledLog() {
1129 }
1130 function disableLogs() {
1131 if (0 === disabledDepth) {
1132 prevLog = console.log;
1133 prevInfo = console.info;
1134 prevWarn = console.warn;
1135 prevError = console.error;
1136 prevGroup = console.group;
1137 prevGroupCollapsed = console.groupCollapsed;
1138 prevGroupEnd = console.groupEnd;
1139 var props = {
1140 configurable: true,
1141 enumerable: true,
1142 value: disabledLog,
1143 writable: true
1144 };
1145 Object.defineProperties(console, {
1146 info: props,
1147 log: props,
1148 warn: props,
1149 error: props,
1150 group: props,
1151 groupCollapsed: props,
1152 groupEnd: props
1153 });
1154 }
1155 disabledDepth++;
1156 }
1157 function reenableLogs() {
1158 disabledDepth--;
1159 if (0 === disabledDepth) {
1160 var props = { configurable: true, enumerable: true, writable: true };
1161 Object.defineProperties(console, {
1162 log: assign({}, props, { value: prevLog }),
1163 info: assign({}, props, { value: prevInfo }),
1164 warn: assign({}, props, { value: prevWarn }),
1165 error: assign({}, props, { value: prevError }),
1166 group: assign({}, props, { value: prevGroup }),
1167 groupCollapsed: assign({}, props, { value: prevGroupCollapsed }),
1168 groupEnd: assign({}, props, { value: prevGroupEnd })
1169 });
1170 }
1171 0 > disabledDepth && console.error(
1172 "disabledDepth fell below zero. This is a bug in React. Please file an issue."
1173 );
1174 }
1175 function formatOwnerStack(error) {
1176 var prevPrepareStackTrace = Error.prepareStackTrace;
1177 Error.prepareStackTrace = void 0;
1178 error = error.stack;
1179 Error.prepareStackTrace = prevPrepareStackTrace;
1180 error.startsWith("Error: react-stack-top-frame\n") && (error = error.slice(29));
1181 prevPrepareStackTrace = error.indexOf("\n");
1182 -1 !== prevPrepareStackTrace && (error = error.slice(prevPrepareStackTrace + 1));
1183 prevPrepareStackTrace = error.indexOf("react_stack_bottom_frame");
1184 -1 !== prevPrepareStackTrace && (prevPrepareStackTrace = error.lastIndexOf(
1185 "\n",
1186 prevPrepareStackTrace
1187 ));
1188 if (-1 !== prevPrepareStackTrace)
1189 error = error.slice(0, prevPrepareStackTrace);
1190 else return "";
1191 return error;
1192 }
1193 function describeBuiltInComponentFrame(name) {
1194 if (void 0 === prefix)
1195 try {
1196 throw Error();
1197 } catch (x) {
1198 var match = x.stack.trim().match(/\n( *(at )?)/);
1199 prefix = match && match[1] || "";
1200 suffix = -1 < x.stack.indexOf("\n at") ? " (<anonymous>)" : -1 < x.stack.indexOf("@") ? "@unknown:0:0" : "";
1201 }
1202 return "\n" + prefix + name + suffix;
1203 }
1204 function describeNativeComponentFrame(fn, construct) {
1205 if (!fn || reentry) return "";
1206 var frame = componentFrameCache.get(fn);
1207 if (void 0 !== frame) return frame;
1208 reentry = true;
1209 frame = Error.prepareStackTrace;
1210 Error.prepareStackTrace = void 0;
1211 var previousDispatcher2 = null;
1212 previousDispatcher2 = ReactSharedInternals.H;
1213 ReactSharedInternals.H = null;
1214 disableLogs();
1215 try {
1216 var RunInRootFrame = {
1217 DetermineComponentFrameRoot: function() {
1218 try {
1219 if (construct) {
1220 var Fake = function() {
1221 throw Error();
1222 };
1223 Object.defineProperty(Fake.prototype, "props", {
1224 set: function() {
1225 throw Error();
1226 }
1227 });
1228 if ("object" === typeof Reflect && Reflect.construct) {
1229 try {
1230 Reflect.construct(Fake, []);
1231 } catch (x) {
1232 var control = x;
1233 }
1234 Reflect.construct(fn, [], Fake);
1235 } else {
1236 try {
1237 Fake.call();
1238 } catch (x$0) {
1239 control = x$0;
1240 }
1241 Fake = false;
1242 try {
1243 var prevProps = Object.getOwnPropertyDescriptor(
1244 fn.prototype,
1245 "props"
1246 );
1247 Object.defineProperty(fn.prototype, "props", {
1248 configurable: true,
1249 set: function() {
1250 throw Error();
1251 }
1252 });
1253 Fake = true;
1254 new fn();
1255 } finally {
1256 Fake && (void 0 !== prevProps ? Object.defineProperty(
1257 fn.prototype,
1258 "props",
1259 prevProps
1260 ) : delete fn.prototype.props);
1261 }
1262 }
1263 } else {
1264 try {
1265 throw Error();
1266 } catch (x$1) {
1267 control = x$1;
1268 }
1269 (Fake = fn()) && "function" === typeof Fake.catch && Fake.catch(function() {
1270 });
1271 }
1272 } catch (sample) {
1273 if (sample && control && "string" === typeof sample.stack)
1274 return [sample.stack, control.stack];
1275 }
1276 return [null, null];
1277 }
1278 };
1279 RunInRootFrame.DetermineComponentFrameRoot.displayName = "DetermineComponentFrameRoot";
1280 var namePropDescriptor = Object.getOwnPropertyDescriptor(
1281 RunInRootFrame.DetermineComponentFrameRoot,
1282 "name"
1283 );
1284 namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty(
1285 RunInRootFrame.DetermineComponentFrameRoot,
1286 "name",
1287 { value: "DetermineComponentFrameRoot" }
1288 );
1289 var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), sampleStack = _RunInRootFrame$Deter[0], controlStack = _RunInRootFrame$Deter[1];
1290 if (sampleStack && controlStack) {
1291 var sampleLines = sampleStack.split("\n"), controlLines = controlStack.split("\n");
1292 for (_RunInRootFrame$Deter = namePropDescriptor = 0; namePropDescriptor < sampleLines.length && !sampleLines[namePropDescriptor].includes(
1293 "DetermineComponentFrameRoot"
1294 ); )
1295 namePropDescriptor++;
1296 for (; _RunInRootFrame$Deter < controlLines.length && !controlLines[_RunInRootFrame$Deter].includes(
1297 "DetermineComponentFrameRoot"
1298 ); )
1299 _RunInRootFrame$Deter++;
1300 if (namePropDescriptor === sampleLines.length || _RunInRootFrame$Deter === controlLines.length)
1301 for (namePropDescriptor = sampleLines.length - 1, _RunInRootFrame$Deter = controlLines.length - 1; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter && sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]; )
1302 _RunInRootFrame$Deter--;
1303 for (; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter; namePropDescriptor--, _RunInRootFrame$Deter--)
1304 if (sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) {
1305 if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) {
1306 do
1307 if (namePropDescriptor--, _RunInRootFrame$Deter--, 0 > _RunInRootFrame$Deter || sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) {
1308 var _frame = "\n" + sampleLines[namePropDescriptor].replace(
1309 " at new ",
1310 " at "
1311 );
1312 fn.displayName && _frame.includes("<anonymous>") && (_frame = _frame.replace("<anonymous>", fn.displayName));
1313 "function" === typeof fn && componentFrameCache.set(fn, _frame);
1314 return _frame;
1315 }
1316 while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter);
1317 }
1318 break;
1319 }
1320 }
1321 } finally {
1322 reentry = false, ReactSharedInternals.H = previousDispatcher2, reenableLogs(), Error.prepareStackTrace = frame;
1323 }
1324 sampleLines = (sampleLines = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(sampleLines) : "";
1325 "function" === typeof fn && componentFrameCache.set(fn, sampleLines);
1326 return sampleLines;
1327 }
1328 function describeFiber(fiber, childFiber) {
1329 switch (fiber.tag) {
1330 case 26:
1331 case 27:
1332 case 5:
1333 return describeBuiltInComponentFrame(fiber.type);
1334 case 16:
1335 return describeBuiltInComponentFrame("Lazy");
1336 case 13:
1337 return fiber.child !== childFiber && null !== childFiber ? describeBuiltInComponentFrame("Suspense Fallback") : describeBuiltInComponentFrame("Suspense");
1338 case 19:
1339 return describeBuiltInComponentFrame("SuspenseList");
1340 case 0:
1341 case 15:
1342 return describeNativeComponentFrame(fiber.type, false);
1343 case 11:
1344 return describeNativeComponentFrame(fiber.type.render, false);
1345 case 1:
1346 return describeNativeComponentFrame(fiber.type, true);
1347 case 31:
1348 return describeBuiltInComponentFrame("Activity");
1349 case 30:
1350 return describeBuiltInComponentFrame("ViewTransition");
1351 default:
1352 return "";
1353 }
1354 }
1355 function getStackByFiberInDevAndProd(workInProgress2) {
1356 try {
1357 var info = "", previous = null;
1358 do {
1359 info += describeFiber(workInProgress2, previous);
1360 var debugInfo = workInProgress2._debugInfo;
1361 if (debugInfo)
1362 for (var i = debugInfo.length - 1; 0 <= i; i--) {
1363 var entry = debugInfo[i];
1364 if ("string" === typeof entry.name) {
1365 var JSCompiler_temp_const = info;
1366 a: {
1367 var name = entry.name, env = entry.env, location = entry.debugLocation;
1368 if (null != location) {
1369 var childStack = formatOwnerStack(location), idx = childStack.lastIndexOf("\n"), lastLine = -1 === idx ? childStack : childStack.slice(idx + 1);
1370 if (-1 !== lastLine.indexOf(name)) {
1371 var JSCompiler_inline_result = "\n" + lastLine;
1372 break a;
1373 }
1374 }
1375 JSCompiler_inline_result = describeBuiltInComponentFrame(
1376 name + (env ? " [" + env + "]" : "")
1377 );
1378 }
1379 info = JSCompiler_temp_const + JSCompiler_inline_result;
1380 }
1381 }
1382 previous = workInProgress2;
1383 workInProgress2 = workInProgress2.return;
1384 } while (workInProgress2);
1385 return info;
1386 } catch (x) {
1387 return "\nError generating stack: " + x.message + "\n" + x.stack;
1388 }
1389 }
1390 function describeFunctionComponentFrameWithoutLineNumber(fn) {
1391 return (fn = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(fn) : "";
1392 }
1393 function getCurrentFiberOwnerNameInDevOrNull() {
1394 if (null === current) return null;
1395 var owner = current._debugOwner;
1396 return null != owner ? getComponentNameFromOwner(owner) : null;
1397 }
1398 function getCurrentFiberStackInDev() {
1399 if (null === current) return "";
1400 var workInProgress2 = current;
1401 try {
1402 var info = "";
1403 6 === workInProgress2.tag && (workInProgress2 = workInProgress2.return);
1404 switch (workInProgress2.tag) {
1405 case 26:
1406 case 27:
1407 case 5:
1408 info += describeBuiltInComponentFrame(workInProgress2.type);
1409 break;
1410 case 13:
1411 info += describeBuiltInComponentFrame("Suspense");
1412 break;
1413 case 19:
1414 info += describeBuiltInComponentFrame("SuspenseList");
1415 break;
1416 case 31:
1417 info += describeBuiltInComponentFrame("Activity");
1418 break;
1419 case 30:
1420 info += describeBuiltInComponentFrame("ViewTransition");
1421 break;
1422 case 0:
1423 case 15:
1424 case 1:
1425 workInProgress2._debugOwner || "" !== info || (info += describeFunctionComponentFrameWithoutLineNumber(
1426 workInProgress2.type
1427 ));
1428 break;
1429 case 11:
1430 workInProgress2._debugOwner || "" !== info || (info += describeFunctionComponentFrameWithoutLineNumber(
1431 workInProgress2.type.render
1432 ));
1433 }
1434 for (; workInProgress2; )
1435 if ("number" === typeof workInProgress2.tag) {
1436 var fiber = workInProgress2;
1437 workInProgress2 = fiber._debugOwner;
1438 var debugStack = fiber._debugStack;
1439 if (workInProgress2 && debugStack) {
1440 var formattedStack = formatOwnerStack(debugStack);
1441 "" !== formattedStack && (info += "\n" + formattedStack);
1442 }
1443 } else if (null != workInProgress2.debugStack) {
1444 var ownerStack = workInProgress2.debugStack;
1445 (workInProgress2 = workInProgress2.owner) && ownerStack && (info += "\n" + formatOwnerStack(ownerStack));
1446 } else break;
1447 var JSCompiler_inline_result = info;
1448 } catch (x) {
1449 JSCompiler_inline_result = "\nError generating stack: " + x.message + "\n" + x.stack;
1450 }
1451 return JSCompiler_inline_result;
1452 }
1453 function runWithFiberInDEV(fiber, callback, arg0, arg1, arg2, arg3, arg4) {
1454 var previousFiber = current;
1455 setCurrentFiber(fiber);
1456 try {
1457 return null !== fiber && fiber._debugTask ? fiber._debugTask.run(
1458 callback.bind(null, arg0, arg1, arg2, arg3, arg4)
1459 ) : callback(arg0, arg1, arg2, arg3, arg4);
1460 } finally {
1461 setCurrentFiber(previousFiber);
1462 }
1463 throw Error(
1464 "runWithFiberInDEV should never be called in production. This is a bug in React."
1465 );
1466 }
1467 function setCurrentFiber(fiber) {
1468 ReactSharedInternals.getCurrentStack = null === fiber ? null : getCurrentFiberStackInDev;
1469 isRendering = false;
1470 current = fiber;
1471 }
1472 function typeName(value) {
1473 return "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
1474 }
1475 function willCoercionThrow(value) {
1476 try {
1477 return testStringCoercion(value), false;
1478 } catch (e) {
1479 return true;
1480 }
1481 }
1482 function testStringCoercion(value) {
1483 return "" + value;
1484 }
1485 function checkAttributeStringCoercion(value, attributeName) {
1486 if (willCoercionThrow(value))
1487 return console.error(
1488 "The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before using it here.",
1489 attributeName,
1490 typeName(value)
1491 ), testStringCoercion(value);
1492 }
1493 function checkCSSPropertyStringCoercion(value, propName) {
1494 if (willCoercionThrow(value))
1495 return console.error(
1496 "The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before using it here.",
1497 propName,
1498 typeName(value)
1499 ), testStringCoercion(value);
1500 }
1501 function checkFormFieldValueStringCoercion(value) {
1502 if (willCoercionThrow(value))
1503 return console.error(
1504 "Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before using it here.",
1505 typeName(value)
1506 ), testStringCoercion(value);
1507 }
1508 function injectInternals(internals) {
1509 if ("undefined" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return false;
1510 var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;
1511 if (hook.isDisabled) return true;
1512 if (!hook.supportsFiber)
1513 return console.error(
1514 "The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://react.dev/link/react-devtools"
1515 ), true;
1516 try {
1517 rendererID = hook.inject(internals), injectedHook = hook;
1518 } catch (err) {
1519 console.error("React instrumentation encountered an error: %o.", err);
1520 }
1521 return hook.checkDCE ? true : false;
1522 }
1523 function setIsStrictModeForDevtools(newIsStrictMode) {
1524 "function" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode);
1525 if (injectedHook && "function" === typeof injectedHook.setStrictMode)
1526 try {
1527 injectedHook.setStrictMode(rendererID, newIsStrictMode);
1528 } catch (err) {
1529 hasLoggedError || (hasLoggedError = true, console.error(
1530 "React instrumentation encountered an error: %o",
1531 err
1532 ));
1533 }
1534 }
1535 function clz32Fallback(x) {
1536 x >>>= 0;
1537 return 0 === x ? 32 : 31 - (log(x) / LN2 | 0) | 0;
1538 }
1539 function getHighestPriorityLanes(lanes) {
1540 var pendingSyncLanes = lanes & 42;
1541 if (0 !== pendingSyncLanes) return pendingSyncLanes;
1542 switch (lanes & -lanes) {
1543 case 1:
1544 return 1;
1545 case 2:
1546 return 2;
1547 case 4:
1548 return 4;
1549 case 8:
1550 return 8;
1551 case 16:
1552 return 16;
1553 case 32:
1554 return 32;
1555 case 64:
1556 return 64;
1557 case 128:
1558 return 128;
1559 case 256:
1560 case 512:
1561 case 1024:
1562 case 2048:
1563 case 4096:
1564 case 8192:
1565 case 16384:
1566 case 32768:
1567 case 65536:
1568 case 131072:
1569 return lanes & -lanes;
1570 case 262144:
1571 case 524288:
1572 case 1048576:
1573 case 2097152:
1574 return lanes & 3932160;
1575 case 4194304:
1576 case 8388608:
1577 case 16777216:
1578 case 33554432:
1579 return lanes & 62914560;
1580 case 67108864:
1581 return 67108864;
1582 case 134217728:
1583 return 134217728;
1584 case 268435456:
1585 return 268435456;
1586 case 536870912:
1587 return 536870912;
1588 case 1073741824:
1589 return 0;
1590 default:
1591 return console.error(
1592 "Should have found matching lanes. This is a bug in React."
1593 ), lanes;
1594 }
1595 }
1596 function getNextLanes(root2, wipLanes, rootHasPendingCommit) {
1597 var pendingLanes = root2.pendingLanes;
1598 if (0 === pendingLanes) return 0;
1599 var nextLanes = 0, suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes;
1600 root2 = root2.warmLanes;
1601 var nonIdlePendingLanes = pendingLanes & 134217727;
1602 0 !== nonIdlePendingLanes ? (pendingLanes = nonIdlePendingLanes & ~suspendedLanes, 0 !== pendingLanes ? nextLanes = getHighestPriorityLanes(pendingLanes) : (pingedLanes &= nonIdlePendingLanes, 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : rootHasPendingCommit || (rootHasPendingCommit = nonIdlePendingLanes & ~root2, 0 !== rootHasPendingCommit && (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))))) : (nonIdlePendingLanes = pendingLanes & ~suspendedLanes, 0 !== nonIdlePendingLanes ? nextLanes = getHighestPriorityLanes(nonIdlePendingLanes) : 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : rootHasPendingCommit || (rootHasPendingCommit = pendingLanes & ~root2, 0 !== rootHasPendingCommit && (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))));
1603 return 0 === nextLanes ? 0 : 0 !== wipLanes && wipLanes !== nextLanes && 0 === (wipLanes & suspendedLanes) && (suspendedLanes = nextLanes & -nextLanes, rootHasPendingCommit = wipLanes & -wipLanes, suspendedLanes >= rootHasPendingCommit || 32 === suspendedLanes && 0 !== (rootHasPendingCommit & 4194048)) ? wipLanes : nextLanes;
1604 }
1605 function checkIfRootIsPrerendering(root2, renderLanes2) {
1606 return 0 === (root2.pendingLanes & ~(root2.suspendedLanes & ~root2.pingedLanes) & renderLanes2);
1607 }
1608 function getEntangledLanes(root2, renderLanes2) {
1609 0 !== (renderLanes2 & 8) && (renderLanes2 |= renderLanes2 & 32);
1610 var allEntangledLanes = root2.entangledLanes;
1611 if (0 !== allEntangledLanes)
1612 for (root2 = root2.entanglements, allEntangledLanes &= renderLanes2; 0 < allEntangledLanes; ) {
1613 var index = 31 - clz32(allEntangledLanes), lane = 1 << index;
1614 renderLanes2 |= root2[index];
1615 allEntangledLanes &= ~lane;
1616 }
1617 return renderLanes2;
1618 }
1619 function computeExpirationTime(lane, currentTime) {
1620 switch (lane) {
1621 case 1:
1622 case 2:
1623 case 4:
1624 case 8:
1625 case 64:
1626 return currentTime + 250;
1627 case 16:
1628 case 32:
1629 case 128:
1630 case 256:
1631 case 512:
1632 case 1024:
1633 case 2048:
1634 case 4096:
1635 case 8192:
1636 case 16384:
1637 case 32768:
1638 case 65536:
1639 case 131072:
1640 case 262144:
1641 case 524288:
1642 case 1048576:
1643 case 2097152:
1644 return currentTime + 5e3;
1645 case 4194304:
1646 case 8388608:
1647 case 16777216:
1648 case 33554432:
1649 return -1;
1650 case 67108864:
1651 case 134217728:
1652 case 268435456:
1653 case 536870912:
1654 case 1073741824:
1655 return -1;
1656 default:
1657 return console.error(
1658 "Should have found matching lanes. This is a bug in React."
1659 ), -1;
1660 }
1661 }
1662 function claimNextRetryLane() {
1663 var lane = nextRetryLane;
1664 nextRetryLane <<= 1;
1665 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);
1666 return lane;
1667 }
1668 function createLaneMap(initial) {
1669 for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);
1670 return laneMap;
1671 }
1672 function markRootUpdated$1(root2, updateLane) {
1673 root2.pendingLanes |= updateLane;
1674 268435456 !== updateLane && (root2.suspendedLanes = 0, root2.pingedLanes = 0, root2.warmLanes = 0);
1675 }
1676 function markRootFinished(root2, finishedLanes, remainingLanes, spawnedLane, updatedLanes, suspendedRetryLanes) {
1677 var previouslyPendingLanes = root2.pendingLanes;
1678 root2.pendingLanes = remainingLanes;
1679 root2.suspendedLanes = 0;
1680 root2.pingedLanes = 0;
1681 root2.warmLanes = 0;
1682 root2.expiredLanes &= remainingLanes;
1683 root2.entangledLanes &= remainingLanes;
1684 root2.errorRecoveryDisabledLanes &= remainingLanes;
1685 root2.shellSuspendCounter = 0;
1686 var entanglements = root2.entanglements, expirationTimes = root2.expirationTimes, hiddenUpdates = root2.hiddenUpdates;
1687 for (remainingLanes = previouslyPendingLanes & ~remainingLanes; 0 < remainingLanes; ) {
1688 var index = 31 - clz32(remainingLanes), lane = 1 << index;
1689 entanglements[index] = 0;
1690 expirationTimes[index] = -1;
1691 var hiddenUpdatesForLane = hiddenUpdates[index];
1692 if (null !== hiddenUpdatesForLane)
1693 for (hiddenUpdates[index] = null, index = 0; index < hiddenUpdatesForLane.length; index++) {
1694 var update = hiddenUpdatesForLane[index];
1695 null !== update && (update.lane &= -536870913);
1696 }
1697 remainingLanes &= ~lane;
1698 }
1699 0 !== spawnedLane && markSpawnedDeferredLane(root2, spawnedLane, 0);
1700 0 !== suspendedRetryLanes && 0 === updatedLanes && 0 !== root2.tag && (root2.suspendedLanes |= suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));
1701 }
1702 function markSpawnedDeferredLane(root2, spawnedLane, entangledLanes) {
1703 root2.pendingLanes |= spawnedLane;
1704 root2.suspendedLanes &= ~spawnedLane;
1705 var spawnedLaneIndex = 31 - clz32(spawnedLane);
1706 root2.entangledLanes |= spawnedLane;
1707 root2.entanglements[spawnedLaneIndex] = root2.entanglements[spawnedLaneIndex] | 1073741824 | entangledLanes & 261930;
1708 }
1709 function markRootEntangled(root2, entangledLanes) {
1710 var rootEntangledLanes = root2.entangledLanes |= entangledLanes;
1711 for (root2 = root2.entanglements; rootEntangledLanes; ) {
1712 var index = 31 - clz32(rootEntangledLanes), lane = 1 << index;
1713 lane & entangledLanes | root2[index] & entangledLanes && (root2[index] |= entangledLanes);
1714 rootEntangledLanes &= ~lane;
1715 }
1716 }
1717 function getBumpedLaneForHydration(root2, renderLanes2) {
1718 var renderLane = renderLanes2 & -renderLanes2;
1719 renderLane = 0 !== (renderLane & 42) ? 1 : getBumpedLaneForHydrationByLane(renderLane);
1720 return 0 !== (renderLane & (root2.suspendedLanes | renderLanes2)) ? 0 : renderLane;
1721 }
1722 function getBumpedLaneForHydrationByLane(lane) {
1723 switch (lane) {
1724 case 2:
1725 lane = 1;
1726 break;
1727 case 8:
1728 lane = 4;
1729 break;
1730 case 32:
1731 lane = 16;
1732 break;
1733 case 256:
1734 case 512:
1735 case 1024:
1736 case 2048:
1737 case 4096:
1738 case 8192:
1739 case 16384:
1740 case 32768:
1741 case 65536:
1742 case 131072:
1743 case 262144:
1744 case 524288:
1745 case 1048576:
1746 case 2097152:
1747 case 4194304:
1748 case 8388608:
1749 case 16777216:
1750 case 33554432:
1751 lane = 128;
1752 break;
1753 case 268435456:
1754 lane = 134217728;
1755 break;
1756 default:
1757 lane = 0;
1758 }
1759 return lane;
1760 }
1761 function addFiberToLanesMap(root2, fiber, lanes) {
1762 if (isDevToolsPresent)
1763 for (root2 = root2.pendingUpdatersLaneMap; 0 < lanes; ) {
1764 var index = 31 - clz32(lanes), lane = 1 << index;
1765 root2[index].add(fiber);
1766 lanes &= ~lane;
1767 }
1768 }
1769 function movePendingFibersToMemoized(root2, lanes) {
1770 if (isDevToolsPresent)
1771 for (var pendingUpdatersLaneMap = root2.pendingUpdatersLaneMap, memoizedUpdaters = root2.memoizedUpdaters; 0 < lanes; ) {
1772 var index = 31 - clz32(lanes);
1773 root2 = 1 << index;
1774 index = pendingUpdatersLaneMap[index];
1775 0 < index.size && (index.forEach(function(fiber) {
1776 var alternate = fiber.alternate;
1777 null !== alternate && memoizedUpdaters.has(alternate) || memoizedUpdaters.add(fiber);
1778 }), index.clear());
1779 lanes &= ~root2;
1780 }
1781 }
1782 function lanesToEventPriority(lanes) {
1783 lanes &= -lanes;
1784 return 0 !== DiscreteEventPriority && DiscreteEventPriority < lanes ? 0 !== ContinuousEventPriority && ContinuousEventPriority < lanes ? 0 !== (lanes & 134217727) ? DefaultEventPriority : IdleEventPriority : ContinuousEventPriority : DiscreteEventPriority;
1785 }
1786 function resolveUpdatePriority() {
1787 var updatePriority = ReactDOMSharedInternals.p;
1788 if (0 !== updatePriority) return updatePriority;
1789 updatePriority = window.event;
1790 return void 0 === updatePriority ? DefaultEventPriority : getEventPriority(updatePriority.type);
1791 }
1792 function runWithPriority(priority, fn) {
1793 var previousPriority = ReactDOMSharedInternals.p;
1794 try {
1795 return ReactDOMSharedInternals.p = priority, fn();
1796 } finally {
1797 ReactDOMSharedInternals.p = previousPriority;
1798 }
1799 }
1800 function detachDeletedInstance(node) {
1801 delete node[internalInstanceKey];
1802 delete node[internalPropsKey];
1803 delete node[internalEventHandlerListenersKey];
1804 delete node[internalEventHandlesSetKey];
1805 }
1806 function getClosestInstanceFromNode(targetNode) {
1807 var targetInst;
1808 if (targetInst = targetNode[internalInstanceKey]) return targetInst;
1809 for (var parentNode = targetNode.parentNode; parentNode; ) {
1810 if (targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey]) {
1811 parentNode = targetInst.alternate;
1812 if (null !== targetInst.child || null !== parentNode && null !== parentNode.child)
1813 for (targetNode = getParentHydrationBoundary(targetNode); null !== targetNode; ) {
1814 if (parentNode = targetNode[internalInstanceKey])
1815 return parentNode;
1816 targetNode = getParentHydrationBoundary(targetNode);
1817 }
1818 return targetInst;
1819 }
1820 targetNode = parentNode;
1821 parentNode = targetNode.parentNode;
1822 }
1823 return null;
1824 }
1825 function getInstanceFromNode(node) {
1826 if (node = node[internalInstanceKey] || node[internalContainerInstanceKey]) {
1827 var tag = node.tag;
1828 if (5 === tag || 6 === tag || 13 === tag || 31 === tag || 26 === tag || 27 === tag || 3 === tag)
1829 return node;
1830 }
1831 return null;
1832 }
1833 function getNodeFromInstance(inst) {
1834 var tag = inst.tag;
1835 if (5 === tag || 26 === tag || 27 === tag || 6 === tag)
1836 return inst.stateNode;
1837 throw Error("getNodeFromInstance: Invalid argument.");
1838 }
1839 function getResourcesFromRoot(root2) {
1840 var resources = root2[internalRootNodeResourcesKey];
1841 resources || (resources = root2[internalRootNodeResourcesKey] = { hoistableStyles: /* @__PURE__ */ new Map(), hoistableScripts: /* @__PURE__ */ new Map() });
1842 return resources;
1843 }
1844 function markNodeAsHoistable(node) {
1845 node[internalHoistableMarker] = true;
1846 }
1847 function clearPendingLoadOnNode(node) {
1848 node[internalLoadPendingKey] = void 0;
1849 }
1850 function registerTwoPhaseEvent(registrationName, dependencies) {
1851 registerDirectEvent(registrationName, dependencies);
1852 registerDirectEvent(registrationName + "Capture", dependencies);
1853 }
1854 function registerDirectEvent(registrationName, dependencies) {
1855 registrationNameDependencies[registrationName] && console.error(
1856 "EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.",
1857 registrationName
1858 );
1859 registrationNameDependencies[registrationName] = dependencies;
1860 var lowerCasedName = registrationName.toLowerCase();
1861 possibleRegistrationNames[lowerCasedName] = registrationName;
1862 "onDoubleClick" === registrationName && (possibleRegistrationNames.ondblclick = registrationName);
1863 for (registrationName = 0; registrationName < dependencies.length; registrationName++)
1864 allNativeEvents.add(dependencies[registrationName]);
1865 }
1866 function checkControlledValueProps(tagName, props) {
1867 hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || null == props.value || ("select" === tagName ? console.error(
1868 "You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set `onChange`."
1869 ) : console.error(
1870 "You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`."
1871 ));
1872 props.onChange || props.readOnly || props.disabled || null == props.checked || console.error(
1873 "You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`."
1874 );
1875 }
1876 function isAttributeNameSafe(attributeName) {
1877 if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))
1878 return true;
1879 if (hasOwnProperty.call(illegalAttributeNameCache, attributeName))
1880 return false;
1881 if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))
1882 return validatedAttributeNameCache[attributeName] = true;
1883 illegalAttributeNameCache[attributeName] = true;
1884 console.error("Invalid attribute name: `%s`", attributeName);
1885 return false;
1886 }
1887 function pushMutationContext() {
1888 var prev = viewTransitionMutationContext;
1889 viewTransitionMutationContext = false;
1890 return prev;
1891 }
1892 function getValueForAttributeOnCustomComponent(node, name, expected) {
1893 if (isAttributeNameSafe(name)) {
1894 if (!node.hasAttribute(name)) {
1895 switch (typeof expected) {
1896 case "symbol":
1897 case "object":
1898 return expected;
1899 case "function":
1900 return expected;
1901 case "boolean":
1902 if (false === expected) return expected;
1903 }
1904 return void 0 === expected ? void 0 : null;
1905 }
1906 node = "nonce" === name.toLowerCase() ? node.nonce : node.getAttribute(name);
1907 if ("" === node && true === expected) return true;
1908 checkAttributeStringCoercion(expected, name);
1909 return node === "" + expected ? expected : node;
1910 }
1911 }
1912 function setValueForAttribute(node, name, value) {
1913 if (isAttributeNameSafe(name))
1914 if (null === value) node.removeAttribute(name);
1915 else {
1916 switch (typeof value) {
1917 case "undefined":
1918 case "function":
1919 case "symbol":
1920 node.removeAttribute(name);
1921 return;
1922 case "boolean":
1923 var prefix2 = name.toLowerCase().slice(0, 5);
1924 if ("data-" !== prefix2 && "aria-" !== prefix2) {
1925 node.removeAttribute(name);
1926 return;
1927 }
1928 }
1929 checkAttributeStringCoercion(value, name);
1930 node.setAttribute(name, value);
1931 }
1932 }
1933 function setValueForKnownAttribute(node, name, value) {
1934 if (null === value) node.removeAttribute(name);
1935 else {
1936 switch (typeof value) {
1937 case "undefined":
1938 case "function":
1939 case "symbol":
1940 case "boolean":
1941 node.removeAttribute(name);
1942 return;
1943 }
1944 checkAttributeStringCoercion(value, name);
1945 node.setAttribute(name, value);
1946 }
1947 }
1948 function setValueForNamespacedAttribute(node, namespace, name, value) {
1949 if (null === value) node.removeAttribute(name);
1950 else {
1951 switch (typeof value) {
1952 case "undefined":
1953 case "function":
1954 case "symbol":
1955 case "boolean":
1956 node.removeAttribute(name);
1957 return;
1958 }
1959 checkAttributeStringCoercion(value, name);
1960 node.setAttributeNS(namespace, name, value);
1961 }
1962 }
1963 function getToStringValue(value) {
1964 switch (typeof value) {
1965 case "bigint":
1966 case "boolean":
1967 case "number":
1968 case "string":
1969 case "undefined":
1970 return value;
1971 case "object":
1972 return checkFormFieldValueStringCoercion(value), value;
1973 default:
1974 return "";
1975 }
1976 }
1977 function isCheckable(elem) {
1978 var type = elem.type;
1979 return (elem = elem.nodeName) && "input" === elem.toLowerCase() && ("checkbox" === type || "radio" === type);
1980 }
1981 function trackValueOnNode(node, valueField, currentValue) {
1982 var descriptor = Object.getOwnPropertyDescriptor(
1983 node.constructor.prototype,
1984 valueField
1985 );
1986 if (!node.hasOwnProperty(valueField) && "undefined" !== typeof descriptor && "function" === typeof descriptor.get && "function" === typeof descriptor.set) {
1987 var get = descriptor.get, set = descriptor.set;
1988 Object.defineProperty(node, valueField, {
1989 configurable: true,
1990 get: function() {
1991 return get.call(this);
1992 },
1993 set: function(value) {
1994 checkFormFieldValueStringCoercion(value);
1995 currentValue = "" + value;
1996 set.call(this, value);
1997 }
1998 });
1999 Object.defineProperty(node, valueField, {
2000 enumerable: descriptor.enumerable
2001 });
2002 return {
2003 getValue: function() {
2004 return currentValue;
2005 },
2006 setValue: function(value) {
2007 checkFormFieldValueStringCoercion(value);
2008 currentValue = "" + value;
2009 },
2010 stopTracking: function() {
2011 node._valueTracker = null;
2012 delete node[valueField];
2013 }
2014 };
2015 }
2016 }
2017 function track(node) {
2018 if (!node._valueTracker) {
2019 var valueField = isCheckable(node) ? "checked" : "value";
2020 node._valueTracker = trackValueOnNode(
2021 node,
2022 valueField,
2023 "" + node[valueField]
2024 );
2025 }
2026 }
2027 function updateValueIfChanged(node) {
2028 if (!node) return false;
2029 var tracker = node._valueTracker;
2030 if (!tracker) return true;
2031 var lastValue = tracker.getValue();
2032 var value = "";
2033 node && (value = isCheckable(node) ? node.checked ? "true" : "false" : node.value);
2034 node = value;
2035 return node !== lastValue ? (tracker.setValue(node), true) : false;
2036 }
2037 function escapeSelectorAttributeValueInsideDoubleQuotes(value) {
2038 return value.replace(
2039 escapeSelectorAttributeValueInsideDoubleQuotesRegex,
2040 function(ch) {
2041 return "\\" + ch.charCodeAt(0).toString(16) + " ";
2042 }
2043 );
2044 }
2045 function validateInputProps(element, props) {
2046 void 0 === props.checked || void 0 === props.defaultChecked || didWarnCheckedDefaultChecked || (console.error(
2047 "%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components",
2048 getCurrentFiberOwnerNameInDevOrNull() || "A component",
2049 props.type
2050 ), didWarnCheckedDefaultChecked = true);
2051 void 0 === props.value || void 0 === props.defaultValue || didWarnValueDefaultValue$1 || (console.error(
2052 "%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components",
2053 getCurrentFiberOwnerNameInDevOrNull() || "A component",
2054 props.type
2055 ), didWarnValueDefaultValue$1 = true);
2056 }
2057 function updateInput(element, value, defaultValue, lastDefaultValue, checked, defaultChecked, type, name) {
2058 element.name = "";
2059 null != type && "function" !== typeof type && "symbol" !== typeof type && "boolean" !== typeof type ? (checkAttributeStringCoercion(type, "type"), element.type = type) : element.removeAttribute("type");
2060 if (null != value)
2061 if ("number" === type) {
2062 if (0 === value && "" === element.value || element.value != value)
2063 element.value = "" + getToStringValue(value);
2064 } else
2065 element.value !== "" + getToStringValue(value) && (element.value = "" + getToStringValue(value));
2066 else
2067 "submit" !== type && "reset" !== type || element.removeAttribute("value");
2068 null != value ? "number" === type && element.value == value ? setDefaultValue(element, getToStringValue(element.value)) : setDefaultValue(element, getToStringValue(value)) : null != defaultValue ? setDefaultValue(element, getToStringValue(defaultValue)) : null != lastDefaultValue && element.removeAttribute("value");
2069 null == checked && null != defaultChecked && (element.defaultChecked = !!defaultChecked);
2070 null != checked && (element.checked = checked && "function" !== typeof checked && "symbol" !== typeof checked);
2071 null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name ? (checkAttributeStringCoercion(name, "name"), element.name = "" + getToStringValue(name)) : element.removeAttribute("name");
2072 }
2073 function initInput(element, value, defaultValue, checked, defaultChecked, type, name, isHydrating2) {
2074 null != type && "function" !== typeof type && "symbol" !== typeof type && "boolean" !== typeof type && (checkAttributeStringCoercion(type, "type"), element.type = type);
2075 if (null != value || null != defaultValue) {
2076 if (!("submit" !== type && "reset" !== type || void 0 !== value && null !== value)) {
2077 track(element);
2078 return;
2079 }
2080 defaultValue = null != defaultValue ? "" + getToStringValue(defaultValue) : "";
2081 value = null != value ? "" + getToStringValue(value) : defaultValue;
2082 isHydrating2 || value === element.value || (element.value = value);
2083 element.defaultValue = value;
2084 }
2085 checked = null != checked ? checked : defaultChecked;
2086 checked = "function" !== typeof checked && "symbol" !== typeof checked && !!checked;
2087 element.checked = isHydrating2 ? element.checked : !!checked;
2088 element.defaultChecked = !!checked;
2089 null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name && (checkAttributeStringCoercion(name, "name"), element.name = name);
2090 track(element);
2091 }
2092 function setDefaultValue(node, value) {
2093 node.defaultValue !== "" + value && (node.defaultValue = "" + value);
2094 }
2095 function validateOptionProps(element, props) {
2096 null == props.value && ("object" === typeof props.children && null !== props.children ? React.Children.forEach(props.children, function(child) {
2097 null == child || "string" === typeof child || "number" === typeof child || "bigint" === typeof child || didWarnInvalidChild || (didWarnInvalidChild = true, console.error(
2098 "Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to <option>."
2099 ));
2100 }) : null == props.dangerouslySetInnerHTML || didWarnInvalidInnerHTML || (didWarnInvalidInnerHTML = true, console.error(
2101 "Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected."
2102 )));
2103 null == props.selected || didWarnSelectedSetOnOption || (console.error(
2104 "Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>."
2105 ), didWarnSelectedSetOnOption = true);
2106 }
2107 function getDeclarationErrorAddendum() {
2108 var ownerName = getCurrentFiberOwnerNameInDevOrNull();
2109 return ownerName ? "\n\nCheck the render method of `" + ownerName + "`." : "";
2110 }
2111 function updateOptions(node, multiple, propValue, setDefaultSelected) {
2112 node = node.options;
2113 if (multiple) {
2114 multiple = {};
2115 for (var i = 0; i < propValue.length; i++)
2116 multiple["$" + propValue[i]] = true;
2117 for (propValue = 0; propValue < node.length; propValue++)
2118 i = multiple.hasOwnProperty("$" + node[propValue].value), node[propValue].selected !== i && (node[propValue].selected = i), i && setDefaultSelected && (node[propValue].defaultSelected = true);
2119 } else {
2120 propValue = "" + getToStringValue(propValue);
2121 multiple = null;
2122 for (i = 0; i < node.length; i++) {
2123 if (node[i].value === propValue) {
2124 node[i].selected = true;
2125 setDefaultSelected && (node[i].defaultSelected = true);
2126 return;
2127 }
2128 null !== multiple || node[i].disabled || (multiple = node[i]);
2129 }
2130 null !== multiple && (multiple.selected = true);
2131 }
2132 }
2133 function validateSelectProps(element, props) {
2134 for (element = 0; element < valuePropNames.length; element++) {
2135 var propName = valuePropNames[element];
2136 if (null != props[propName]) {
2137 var propNameIsArray = isArrayImpl(props[propName]);
2138 props.multiple && !propNameIsArray ? console.error(
2139 "The `%s` prop supplied to <select> must be an array if `multiple` is true.%s",
2140 propName,
2141 getDeclarationErrorAddendum()
2142 ) : !props.multiple && propNameIsArray && console.error(
2143 "The `%s` prop supplied to <select> must be a scalar value if `multiple` is false.%s",
2144 propName,
2145 getDeclarationErrorAddendum()
2146 );
2147 }
2148 }
2149 void 0 === props.value || void 0 === props.defaultValue || didWarnValueDefaultValue || (console.error(
2150 "Select elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled select element and remove one of these props. More info: https://react.dev/link/controlled-components"
2151 ), didWarnValueDefaultValue = true);
2152 }
2153 function validateTextareaProps(element, props) {
2154 void 0 === props.value || void 0 === props.defaultValue || didWarnValDefaultVal || (console.error(
2155 "%s contains a textarea with both value and defaultValue props. Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props. More info: https://react.dev/link/controlled-components",
2156 getCurrentFiberOwnerNameInDevOrNull() || "A component"
2157 ), didWarnValDefaultVal = true);
2158 null != props.children && null == props.value && console.error(
2159 "Use the `defaultValue` or `value` props instead of setting children on <textarea>."
2160 );
2161 }
2162 function updateTextarea(element, value, defaultValue) {
2163 if (null != value && (value = "" + getToStringValue(value), value !== element.value && (element.value = value), null == defaultValue)) {
2164 element.defaultValue !== value && (element.defaultValue = value);
2165 return;
2166 }
2167 element.defaultValue = null != defaultValue ? "" + getToStringValue(defaultValue) : "";
2168 }
2169 function initTextarea(element, value, defaultValue, children) {
2170 if (null == value) {
2171 if (null != children) {
2172 if (null != defaultValue)
2173 throw Error(
2174 "If you supply `defaultValue` on a <textarea>, do not pass children."
2175 );
2176 if (isArrayImpl(children)) {
2177 if (1 < children.length)
2178 throw Error("<textarea> can only have at most one child.");
2179 children = children[0];
2180 }
2181 defaultValue = children;
2182 }
2183 null == defaultValue && (defaultValue = "");
2184 value = defaultValue;
2185 }
2186 defaultValue = getToStringValue(value);
2187 element.defaultValue = defaultValue;
2188 children = element.textContent;
2189 children === defaultValue && "" !== children && null !== children && (element.value = children);
2190 track(element);
2191 }
2192 function findNotableNode(node, indent) {
2193 return void 0 === node.serverProps && 0 === node.serverTail.length && 1 === node.children.length && 3 < node.distanceFromLeaf && node.distanceFromLeaf > 15 - indent ? findNotableNode(node.children[0], indent) : node;
2194 }
2195 function indentation(indent) {
2196 return " " + " ".repeat(indent);
2197 }
2198 function added(indent) {
2199 return "+ " + " ".repeat(indent);
2200 }
2201 function removed(indent) {
2202 return "- " + " ".repeat(indent);
2203 }
2204 function describeFiberType(fiber) {
2205 switch (fiber.tag) {
2206 case 26:
2207 case 27:
2208 case 5:
2209 return fiber.type;
2210 case 16:
2211 return "Lazy";
2212 case 31:
2213 return "Activity";
2214 case 13:
2215 return "Suspense";
2216 case 19:
2217 return "SuspenseList";
2218 case 0:
2219 case 15:
2220 return fiber = fiber.type, fiber.displayName || fiber.name || null;
2221 case 11:
2222 return fiber = fiber.type.render, fiber.displayName || fiber.name || null;
2223 case 1:
2224 return fiber = fiber.type, fiber.displayName || fiber.name || null;
2225 default:
2226 return null;
2227 }
2228 }
2229 function describeTextNode(content, maxLength) {
2230 return needsEscaping.test(content) ? (content = JSON.stringify(content), content.length > maxLength - 2 ? 8 > maxLength ? '{"..."}' : "{" + content.slice(0, maxLength - 7) + '..."}' : "{" + content + "}") : content.length > maxLength ? 5 > maxLength ? '{"..."}' : content.slice(0, maxLength - 3) + "..." : content;
2231 }
2232 function describeTextDiff(clientText, serverProps, indent) {
2233 var maxLength = 120 - 2 * indent;
2234 if (null === serverProps)
2235 return added(indent) + describeTextNode(clientText, maxLength) + "\n";
2236 if ("string" === typeof serverProps) {
2237 for (var firstDiff = 0; firstDiff < serverProps.length && firstDiff < clientText.length && serverProps.charCodeAt(firstDiff) === clientText.charCodeAt(firstDiff); firstDiff++) ;
2238 firstDiff > maxLength - 8 && 10 < firstDiff && (clientText = "..." + clientText.slice(firstDiff - 8), serverProps = "..." + serverProps.slice(firstDiff - 8));
2239 return added(indent) + describeTextNode(clientText, maxLength) + "\n" + removed(indent) + describeTextNode(serverProps, maxLength) + "\n";
2240 }
2241 return indentation(indent) + describeTextNode(clientText, maxLength) + "\n";
2242 }
2243 function objectName(object) {
2244 return Object.prototype.toString.call(object).replace(/^\[object (.*)\]$/, function(m, p0) {
2245 return p0;
2246 });
2247 }
2248 function describeValue(value, maxLength) {
2249 switch (typeof value) {
2250 case "string":
2251 return value = JSON.stringify(value), value.length > maxLength ? 5 > maxLength ? '"..."' : value.slice(0, maxLength - 4) + '..."' : value;
2252 case "object":
2253 if (null === value) return "null";
2254 if (isArrayImpl(value)) return "[...]";
2255 if ((value.$$typeof === REACT_ELEMENT_TYPE || (value.$$typeof === REACT_LEGACY_ELEMENT_TYPE && (__wpWarnCompat("legacy-element"), true))))
2256 return (maxLength = getComponentNameFromType(value.type)) ? "<" + maxLength + ">" : "<...>";
2257 var name = objectName(value);
2258 if ("Object" === name) {
2259 name = "";
2260 maxLength -= 2;
2261 for (var propName in value)
2262 if (value.hasOwnProperty(propName)) {
2263 var jsonPropName = JSON.stringify(propName);
2264 jsonPropName !== '"' + propName + '"' && (propName = jsonPropName);
2265 maxLength -= propName.length - 2;
2266 jsonPropName = describeValue(
2267 value[propName],
2268 15 > maxLength ? maxLength : 15
2269 );
2270 maxLength -= jsonPropName.length;
2271 if (0 > maxLength) {
2272 name += "" === name ? "..." : ", ...";
2273 break;
2274 }
2275 name += ("" === name ? "" : ",") + propName + ":" + jsonPropName;
2276 }
2277 return "{" + name + "}";
2278 }
2279 return name;
2280 case "function":
2281 return (maxLength = value.displayName || value.name) ? "function " + maxLength : "function";
2282 default:
2283 return String(value);
2284 }
2285 }
2286 function describePropValue(value, maxLength) {
2287 return "string" !== typeof value || needsEscaping.test(value) ? "{" + describeValue(value, maxLength - 2) + "}" : value.length > maxLength - 2 ? 5 > maxLength ? '"..."' : '"' + value.slice(0, maxLength - 5) + '..."' : '"' + value + '"';
2288 }
2289 function describeExpandedElement(type, props, rowPrefix) {
2290 var remainingRowLength = 120 - rowPrefix.length - type.length, properties = [], propName;
2291 for (propName in props)
2292 if (props.hasOwnProperty(propName) && "children" !== propName) {
2293 var propValue = describePropValue(
2294 props[propName],
2295 120 - rowPrefix.length - propName.length - 1
2296 );
2297 remainingRowLength -= propName.length + propValue.length + 2;
2298 properties.push(propName + "=" + propValue);
2299 }
2300 return 0 === properties.length ? rowPrefix + "<" + type + ">\n" : 0 < remainingRowLength ? rowPrefix + "<" + type + " " + properties.join(" ") + ">\n" : rowPrefix + "<" + type + "\n" + rowPrefix + " " + properties.join("\n" + rowPrefix + " ") + "\n" + rowPrefix + ">\n";
2301 }
2302 function describePropertiesDiff(clientObject, serverObject, indent) {
2303 var properties = "", remainingServerProperties = assign({}, serverObject), propName;
2304 for (propName in clientObject)
2305 if (clientObject.hasOwnProperty(propName)) {
2306 delete remainingServerProperties[propName];
2307 var maxLength = 120 - 2 * indent - propName.length - 2, clientPropValue = describeValue(clientObject[propName], maxLength);
2308 serverObject.hasOwnProperty(propName) ? (maxLength = describeValue(serverObject[propName], maxLength), properties += added(indent) + propName + ": " + clientPropValue + "\n", properties += removed(indent) + propName + ": " + maxLength + "\n") : properties += added(indent) + propName + ": " + clientPropValue + "\n";
2309 }
2310 for (var _propName in remainingServerProperties)
2311 remainingServerProperties.hasOwnProperty(_propName) && (clientObject = describeValue(
2312 remainingServerProperties[_propName],
2313 120 - 2 * indent - _propName.length - 2
2314 ), properties += removed(indent) + _propName + ": " + clientObject + "\n");
2315 return properties;
2316 }
2317 function describeElementDiff(type, clientProps, serverProps, indent) {
2318 var content = "", serverPropNames = /* @__PURE__ */ new Map();
2319 for (propName$jscomp$0 in serverProps)
2320 serverProps.hasOwnProperty(propName$jscomp$0) && serverPropNames.set(
2321 propName$jscomp$0.toLowerCase(),
2322 propName$jscomp$0
2323 );
2324 if (1 === serverPropNames.size && serverPropNames.has("children"))
2325 content += describeExpandedElement(
2326 type,
2327 clientProps,
2328 indentation(indent)
2329 );
2330 else {
2331 for (var _propName2 in clientProps)
2332 if (clientProps.hasOwnProperty(_propName2) && "children" !== _propName2) {
2333 var maxLength$jscomp$0 = 120 - 2 * (indent + 1) - _propName2.length - 1, serverPropName = serverPropNames.get(_propName2.toLowerCase());
2334 if (void 0 !== serverPropName) {
2335 serverPropNames.delete(_propName2.toLowerCase());
2336 var propName$jscomp$0 = clientProps[_propName2];
2337 serverPropName = serverProps[serverPropName];
2338 var clientPropValue = describePropValue(
2339 propName$jscomp$0,
2340 maxLength$jscomp$0
2341 );
2342 maxLength$jscomp$0 = describePropValue(
2343 serverPropName,
2344 maxLength$jscomp$0
2345 );
2346 "object" === typeof propName$jscomp$0 && null !== propName$jscomp$0 && "object" === typeof serverPropName && null !== serverPropName && "Object" === objectName(propName$jscomp$0) && "Object" === objectName(serverPropName) && (2 < Object.keys(propName$jscomp$0).length || 2 < Object.keys(serverPropName).length || -1 < clientPropValue.indexOf("...") || -1 < maxLength$jscomp$0.indexOf("...")) ? content += indentation(indent + 1) + _propName2 + "={{\n" + describePropertiesDiff(
2347 propName$jscomp$0,
2348 serverPropName,
2349 indent + 2
2350 ) + indentation(indent + 1) + "}}\n" : (content += added(indent + 1) + _propName2 + "=" + clientPropValue + "\n", content += removed(indent + 1) + _propName2 + "=" + maxLength$jscomp$0 + "\n");
2351 } else
2352 content += indentation(indent + 1) + _propName2 + "=" + describePropValue(clientProps[_propName2], maxLength$jscomp$0) + "\n";
2353 }
2354 serverPropNames.forEach(function(propName) {
2355 if ("children" !== propName) {
2356 var maxLength = 120 - 2 * (indent + 1) - propName.length - 1;
2357 content += removed(indent + 1) + propName + "=" + describePropValue(serverProps[propName], maxLength) + "\n";
2358 }
2359 });
2360 content = "" === content ? indentation(indent) + "<" + type + ">\n" : indentation(indent) + "<" + type + "\n" + content + indentation(indent) + ">\n";
2361 }
2362 type = serverProps.children;
2363 clientProps = clientProps.children;
2364 if ("string" === typeof type || "number" === typeof type || "bigint" === typeof type) {
2365 serverPropNames = "";
2366 if ("string" === typeof clientProps || "number" === typeof clientProps || "bigint" === typeof clientProps)
2367 serverPropNames = "" + clientProps;
2368 content += describeTextDiff(serverPropNames, "" + type, indent + 1);
2369 } else if ("string" === typeof clientProps || "number" === typeof clientProps || "bigint" === typeof clientProps)
2370 content = null == type ? content + describeTextDiff("" + clientProps, null, indent + 1) : content + describeTextDiff("" + clientProps, void 0, indent + 1);
2371 return content;
2372 }
2373 function describeSiblingFiber(fiber, indent) {
2374 var type = describeFiberType(fiber);
2375 if (null === type) {
2376 type = "";
2377 for (fiber = fiber.child; fiber; )
2378 type += describeSiblingFiber(fiber, indent), fiber = fiber.sibling;
2379 return type;
2380 }
2381 return indentation(indent) + "<" + type + ">\n";
2382 }
2383 function describeNode(node, indent) {
2384 var skipToNode = findNotableNode(node, indent);
2385 if (skipToNode !== node && (1 !== node.children.length || node.children[0] !== skipToNode))
2386 return indentation(indent) + "...\n" + describeNode(skipToNode, indent + 1);
2387 skipToNode = "";
2388 var debugInfo = node.fiber._debugInfo;
2389 if (debugInfo)
2390 for (var i = 0; i < debugInfo.length; i++) {
2391 var serverComponentName = debugInfo[i].name;
2392 "string" === typeof serverComponentName && (skipToNode += indentation(indent) + "<" + serverComponentName + ">\n", indent++);
2393 }
2394 debugInfo = "";
2395 i = node.fiber.pendingProps;
2396 if (6 === node.fiber.tag)
2397 debugInfo = describeTextDiff(i, node.serverProps, indent), indent++;
2398 else if (serverComponentName = describeFiberType(node.fiber), null !== serverComponentName)
2399 if (void 0 === node.serverProps) {
2400 debugInfo = indent;
2401 var maxLength = 120 - 2 * debugInfo - serverComponentName.length - 2, content = "";
2402 for (propName in i)
2403 if (i.hasOwnProperty(propName) && "children" !== propName) {
2404 var propValue = describePropValue(i[propName], 15);
2405 maxLength -= propName.length + propValue.length + 2;
2406 if (0 > maxLength) {
2407 content += " ...";
2408 break;
2409 }
2410 content += " " + propName + "=" + propValue;
2411 }
2412 debugInfo = indentation(debugInfo) + "<" + serverComponentName + content + ">\n";
2413 indent++;
2414 } else
2415 null === node.serverProps ? (debugInfo = describeExpandedElement(
2416 serverComponentName,
2417 i,
2418 added(indent)
2419 ), indent++) : "string" === typeof node.serverProps ? console.error(
2420 "Should not have matched a non HostText fiber to a Text node. This is a bug in React."
2421 ) : (debugInfo = describeElementDiff(
2422 serverComponentName,
2423 i,
2424 node.serverProps,
2425 indent
2426 ), indent++);
2427 var propName = "";
2428 i = node.fiber.child;
2429 for (serverComponentName = 0; i && serverComponentName < node.children.length; )
2430 maxLength = node.children[serverComponentName], maxLength.fiber === i ? (propName += describeNode(maxLength, indent), serverComponentName++) : propName += describeSiblingFiber(i, indent), i = i.sibling;
2431 i && 0 < node.children.length && (propName += indentation(indent) + "...\n");
2432 i = node.serverTail;
2433 null === node.serverProps && indent--;
2434 for (node = 0; node < i.length; node++)
2435 serverComponentName = i[node], propName = "string" === typeof serverComponentName ? propName + (removed(indent) + describeTextNode(serverComponentName, 120 - 2 * indent) + "\n") : propName + describeExpandedElement(
2436 serverComponentName.type,
2437 serverComponentName.props,
2438 removed(indent)
2439 );
2440 return skipToNode + debugInfo + propName;
2441 }
2442 function describeDiff(rootNode) {
2443 try {
2444 return "\n\n" + describeNode(rootNode, 0);
2445 } catch (x) {
2446 return "";
2447 }
2448 }
2449 function describeAncestors(ancestor, child, props) {
2450 for (var fiber = child, node = null, distanceFromLeaf = 0; fiber; )
2451 fiber === ancestor && (distanceFromLeaf = 0), node = {
2452 fiber,
2453 children: null !== node ? [node] : [],
2454 serverProps: fiber === child ? props : fiber === ancestor ? null : void 0,
2455 serverTail: [],
2456 distanceFromLeaf
2457 }, distanceFromLeaf++, fiber = fiber.return;
2458 return null !== node ? describeDiff(node).replaceAll(/^[+-]/gm, ">") : "";
2459 }
2460 function updatedAncestorInfoDev(oldInfo, tag) {
2461 var ancestorInfo = assign({}, oldInfo || emptyAncestorInfoDev), info = { tag };
2462 -1 !== inScopeTags.indexOf(tag) && (ancestorInfo.aTagInScope = null, ancestorInfo.buttonTagInScope = null, ancestorInfo.nobrTagInScope = null);
2463 -1 !== buttonScopeTags.indexOf(tag) && (ancestorInfo.pTagInButtonScope = null);
2464 -1 !== specialTags.indexOf(tag) && "address" !== tag && "div" !== tag && "p" !== tag && (ancestorInfo.listItemTagAutoclosing = null, ancestorInfo.dlItemTagAutoclosing = null);
2465 ancestorInfo.current = info;
2466 "form" === tag && (ancestorInfo.formTag = info);
2467 "a" === tag && (ancestorInfo.aTagInScope = info);
2468 "button" === tag && (ancestorInfo.buttonTagInScope = info);
2469 "nobr" === tag && (ancestorInfo.nobrTagInScope = info);
2470 "p" === tag && (ancestorInfo.pTagInButtonScope = info);
2471 "li" === tag && (ancestorInfo.listItemTagAutoclosing = info);
2472 if ("dd" === tag || "dt" === tag)
2473 ancestorInfo.dlItemTagAutoclosing = info;
2474 "#document" === tag || "html" === tag ? ancestorInfo.containerTagInScope = null : ancestorInfo.containerTagInScope || (ancestorInfo.containerTagInScope = info);
2475 null !== oldInfo || "#document" !== tag && "html" !== tag && "body" !== tag ? true === ancestorInfo.implicitRootScope && (ancestorInfo.implicitRootScope = false) : ancestorInfo.implicitRootScope = true;
2476 return ancestorInfo;
2477 }
2478 function isTagValidWithParent(tag, parentTag, implicitRootScope) {
2479 switch (parentTag) {
2480 case "tr":
2481 return "th" === tag || "td" === tag || "style" === tag || "script" === tag || "template" === tag;
2482 case "tbody":
2483 case "thead":
2484 case "tfoot":
2485 return "tr" === tag || "style" === tag || "script" === tag || "template" === tag;
2486 case "colgroup":
2487 return "col" === tag || "template" === tag;
2488 case "table":
2489 return "caption" === tag || "colgroup" === tag || "tbody" === tag || "tfoot" === tag || "thead" === tag || "style" === tag || "script" === tag || "template" === tag;
2490 case "head":
2491 return "base" === tag || "basefont" === tag || "bgsound" === tag || "link" === tag || "meta" === tag || "title" === tag || "noscript" === tag || "noframes" === tag || "style" === tag || "script" === tag || "template" === tag;
2492 case "html":
2493 if (implicitRootScope) break;
2494 return "head" === tag || "body" === tag || "frameset" === tag;
2495 case "frameset":
2496 return "frame" === tag;
2497 case "#document":
2498 if (!implicitRootScope) return "html" === tag;
2499 }
2500 switch (tag) {
2501 case "h1":
2502 case "h2":
2503 case "h3":
2504 case "h4":
2505 case "h5":
2506 case "h6":
2507 return "h1" !== parentTag && "h2" !== parentTag && "h3" !== parentTag && "h4" !== parentTag && "h5" !== parentTag && "h6" !== parentTag;
2508 case "rp":
2509 case "rt":
2510 return -1 === impliedEndTags.indexOf(parentTag);
2511 case "caption":
2512 case "col":
2513 case "colgroup":
2514 case "input":
2515 return "select" !== parentTag;
2516 case "frameset":
2517 case "frame":
2518 case "tbody":
2519 case "td":
2520 case "tfoot":
2521 case "th":
2522 case "thead":
2523 case "tr":
2524 return null == parentTag;
2525 case "head":
2526 return implicitRootScope || null === parentTag;
2527 case "html":
2528 return implicitRootScope && "#document" === parentTag || null === parentTag;
2529 case "body":
2530 return implicitRootScope && ("#document" === parentTag || "html" === parentTag) || null === parentTag;
2531 }
2532 return true;
2533 }
2534 function findInvalidAncestorForTag(tag, ancestorInfo) {
2535 switch (tag) {
2536 case "address":
2537 case "article":
2538 case "aside":
2539 case "blockquote":
2540 case "center":
2541 case "details":
2542 case "dialog":
2543 case "dir":
2544 case "div":
2545 case "dl":
2546 case "fieldset":
2547 case "figcaption":
2548 case "figure":
2549 case "footer":
2550 case "header":
2551 case "hgroup":
2552 case "main":
2553 case "menu":
2554 case "nav":
2555 case "ol":
2556 case "p":
2557 case "section":
2558 case "summary":
2559 case "ul":
2560 case "pre":
2561 case "listing":
2562 case "table":
2563 case "hr":
2564 case "xmp":
2565 case "h1":
2566 case "h2":
2567 case "h3":
2568 case "h4":
2569 case "h5":
2570 case "h6":
2571 return ancestorInfo.pTagInButtonScope;
2572 case "form":
2573 return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;
2574 case "li":
2575 return ancestorInfo.listItemTagAutoclosing;
2576 case "dd":
2577 case "dt":
2578 return ancestorInfo.dlItemTagAutoclosing;
2579 case "button":
2580 return ancestorInfo.buttonTagInScope;
2581 case "a":
2582 return ancestorInfo.aTagInScope;
2583 case "nobr":
2584 return ancestorInfo.nobrTagInScope;
2585 }
2586 return null;
2587 }
2588 function findAncestor(parent, tagName) {
2589 for (; parent; ) {
2590 switch (parent.tag) {
2591 case 5:
2592 case 26:
2593 case 27:
2594 if (parent.type === tagName) return parent;
2595 }
2596 parent = parent.return;
2597 }
2598 return null;
2599 }
2600 function validateDOMNesting(childTag, ancestorInfo) {
2601 ancestorInfo = ancestorInfo || emptyAncestorInfoDev;
2602 var parentInfo = ancestorInfo.current;
2603 ancestorInfo = (parentInfo = isTagValidWithParent(
2604 childTag,
2605 parentInfo && parentInfo.tag,
2606 ancestorInfo.implicitRootScope
2607 ) ? null : parentInfo) ? null : findInvalidAncestorForTag(childTag, ancestorInfo);
2608 ancestorInfo = parentInfo || ancestorInfo;
2609 if (!ancestorInfo) return true;
2610 var ancestorTag = ancestorInfo.tag;
2611 ancestorInfo = String(!!parentInfo) + "|" + childTag + "|" + ancestorTag;
2612 if (didWarn[ancestorInfo]) return false;
2613 didWarn[ancestorInfo] = true;
2614 var ancestor = (ancestorInfo = current) ? findAncestor(ancestorInfo.return, ancestorTag) : null, ancestorDescription = null !== ancestorInfo && null !== ancestor ? describeAncestors(ancestor, ancestorInfo, null) : "", tagDisplayName = "<" + childTag + ">";
2615 parentInfo ? (parentInfo = "", "table" === ancestorTag && "tr" === childTag && (parentInfo += " Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by the browser."), console.error(
2616 "In HTML, %s cannot be a child of <%s>.%s\nThis will cause a hydration error.%s",
2617 tagDisplayName,
2618 ancestorTag,
2619 parentInfo,
2620 ancestorDescription
2621 )) : console.error(
2622 "In HTML, %s cannot be a descendant of <%s>.\nThis will cause a hydration error.%s",
2623 tagDisplayName,
2624 ancestorTag,
2625 ancestorDescription
2626 );
2627 ancestorInfo && (childTag = ancestorInfo.return, null === ancestor || null === childTag || ancestor === childTag && childTag._debugOwner === ancestorInfo._debugOwner || runWithFiberInDEV(ancestor, function() {
2628 console.error(
2629 "<%s> cannot contain a nested %s.\nSee this log for the ancestor stack trace.",
2630 ancestorTag,
2631 tagDisplayName
2632 );
2633 }));
2634 return false;
2635 }
2636 function validateTextNesting(childText, parentTag, implicitRootScope) {
2637 if (implicitRootScope || isTagValidWithParent("#text", parentTag, false))
2638 return true;
2639 implicitRootScope = "#text|" + parentTag;
2640 if (didWarn[implicitRootScope]) return false;
2641 didWarn[implicitRootScope] = true;
2642 var ancestor = (implicitRootScope = current) ? findAncestor(implicitRootScope, parentTag) : null;
2643 implicitRootScope = null !== implicitRootScope && null !== ancestor ? describeAncestors(
2644 ancestor,
2645 implicitRootScope,
2646 6 !== implicitRootScope.tag ? { children: null } : null
2647 ) : "";
2648 /\S/.test(childText) ? console.error(
2649 "In HTML, text nodes cannot be a child of <%s>.\nThis will cause a hydration error.%s",
2650 parentTag,
2651 implicitRootScope
2652 ) : console.error(
2653 "In HTML, whitespace text nodes cannot be a child of <%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.\nThis will cause a hydration error.%s",
2654 parentTag,
2655 implicitRootScope
2656 );
2657 return false;
2658 }
2659 function setTextContent(node, text) {
2660 if (text) {
2661 var firstChild = node.firstChild;
2662 if (firstChild && firstChild === node.lastChild && 3 === firstChild.nodeType) {
2663 firstChild.nodeValue = text;
2664 return;
2665 }
2666 }
2667 node.textContent = text;
2668 }
2669 function camelize(string) {
2670 return string.replace(hyphenPattern, function(_, character) {
2671 return character.toUpperCase();
2672 });
2673 }
2674 function setValueForStyle(style2, styleName, value) {
2675 var isCustomProperty = 0 === styleName.indexOf("--");
2676 isCustomProperty || (-1 < styleName.indexOf("-") ? warnedStyleNames.hasOwnProperty(styleName) && warnedStyleNames[styleName] || (warnedStyleNames[styleName] = true, console.error(
2677 "Unsupported style property %s. Did you mean %s?",
2678 styleName,
2679 camelize(styleName.replace(msPattern, "ms-"))
2680 )) : badVendoredStyleNamePattern.test(styleName) ? warnedStyleNames.hasOwnProperty(styleName) && warnedStyleNames[styleName] || (warnedStyleNames[styleName] = true, console.error(
2681 "Unsupported vendor-prefixed style property %s. Did you mean %s?",
2682 styleName,
2683 styleName.charAt(0).toUpperCase() + styleName.slice(1)
2684 )) : !badStyleValueWithSemicolonPattern.test(value) || warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value] || (warnedStyleValues[value] = true, console.error(
2685 `Style property values shouldn't contain a semicolon. Try "%s: %s" instead.`,
2686 styleName,
2687 value.replace(badStyleValueWithSemicolonPattern, "")
2688 )), "number" === typeof value && (isNaN(value) ? warnedForNaNValue || (warnedForNaNValue = true, console.error(
2689 "`NaN` is an invalid value for the `%s` css style property.",
2690 styleName
2691 )) : isFinite(value) || warnedForInfinityValue || (warnedForInfinityValue = true, console.error(
2692 "`Infinity` is an invalid value for the `%s` css style property.",
2693 styleName
2694 ))));
2695 null == value || "boolean" === typeof value || "" === value ? isCustomProperty ? style2.setProperty(styleName, "") : "float" === styleName ? style2.cssFloat = "" : style2[styleName] = "" : isCustomProperty ? style2.setProperty(styleName, value) : "number" !== typeof value || 0 === value || unitlessNumbers.has(styleName) ? "float" === styleName ? style2.cssFloat = value : (checkCSSPropertyStringCoercion(value, styleName), style2[styleName] = ("" + value).trim()) : style2[styleName] = value + "px";
2696 }
2697 function setValueForStyles(node, styles, prevStyles) {
2698 if (null != styles && "object" !== typeof styles)
2699 throw Error(
2700 "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX."
2701 );
2702 styles && Object.freeze(styles);
2703 node = node.style;
2704 if (null != prevStyles) {
2705 if (styles) {
2706 var expandedUpdates = {};
2707 if (prevStyles) {
2708 for (var key in prevStyles)
2709 if (prevStyles.hasOwnProperty(key) && !styles.hasOwnProperty(key))
2710 for (var longhands = shorthandToLonghand[key] || [key], i = 0; i < longhands.length; i++)
2711 expandedUpdates[longhands[i]] = key;
2712 }
2713 for (var _key in styles)
2714 if (styles.hasOwnProperty(_key) && (!prevStyles || prevStyles[_key] !== styles[_key]))
2715 for (key = shorthandToLonghand[_key] || [_key], longhands = 0; longhands < key.length; longhands++)
2716 expandedUpdates[key[longhands]] = _key;
2717 _key = {};
2718 for (var key$jscomp$0 in styles)
2719 for (key = shorthandToLonghand[key$jscomp$0] || [key$jscomp$0], longhands = 0; longhands < key.length; longhands++)
2720 _key[key[longhands]] = key$jscomp$0;
2721 key$jscomp$0 = {};
2722 for (var _key2 in expandedUpdates)
2723 if (key = expandedUpdates[_key2], (longhands = _key[_key2]) && key !== longhands && (i = key + "," + longhands, !key$jscomp$0[i])) {
2724 key$jscomp$0[i] = true;
2725 i = console;
2726 var value = styles[key];
2727 i.error.call(
2728 i,
2729 "%s a style property during rerender (%s) when a conflicting property is set (%s) can lead to styling bugs. To avoid this, don't mix shorthand and non-shorthand properties for the same value; instead, replace the shorthand with separate values.",
2730 null == value || "boolean" === typeof value || "" === value ? "Removing" : "Updating",
2731 key,
2732 longhands
2733 );
2734 }
2735 }
2736 for (var styleName in prevStyles)
2737 !prevStyles.hasOwnProperty(styleName) || null != styles && styles.hasOwnProperty(styleName) || (0 === styleName.indexOf("--") ? node.setProperty(styleName, "") : "float" === styleName ? node.cssFloat = "" : node[styleName] = "", viewTransitionMutationContext = true);
2738 for (var _styleName in styles)
2739 _key2 = styles[_styleName], styles.hasOwnProperty(_styleName) && prevStyles[_styleName] !== _key2 && (setValueForStyle(node, _styleName, _key2), viewTransitionMutationContext = true);
2740 } else
2741 for (expandedUpdates in styles)
2742 styles.hasOwnProperty(expandedUpdates) && setValueForStyle(node, expandedUpdates, styles[expandedUpdates]);
2743 }
2744 function isCustomElement(tagName) {
2745 if (-1 === tagName.indexOf("-")) return false;
2746 switch (tagName) {
2747 case "annotation-xml":
2748 case "color-profile":
2749 case "font-face":
2750 case "font-face-src":
2751 case "font-face-uri":
2752 case "font-face-format":
2753 case "font-face-name":
2754 case "missing-glyph":
2755 return false;
2756 default:
2757 return true;
2758 }
2759 }
2760 function getAttributeAlias(name) {
2761 return aliases.get(name) || name;
2762 }
2763 function validateProperty$1(tagName, name) {
2764 if (hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name])
2765 return true;
2766 if (rARIACamel$1.test(name)) {
2767 tagName = "aria-" + name.slice(4).toLowerCase();
2768 tagName = ariaProperties.hasOwnProperty(tagName) ? tagName : null;
2769 if (null == tagName)
2770 return console.error(
2771 "Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.",
2772 name
2773 ), warnedProperties$1[name] = true;
2774 if (name !== tagName)
2775 return console.error(
2776 "Invalid ARIA attribute `%s`. Did you mean `%s`?",
2777 name,
2778 tagName
2779 ), warnedProperties$1[name] = true;
2780 }
2781 if (rARIA$1.test(name)) {
2782 tagName = name.toLowerCase();
2783 tagName = ariaProperties.hasOwnProperty(tagName) ? tagName : null;
2784 if (null == tagName) return warnedProperties$1[name] = true, false;
2785 name !== tagName && (console.error(
2786 "Unknown ARIA attribute `%s`. Did you mean `%s`?",
2787 name,
2788 tagName
2789 ), warnedProperties$1[name] = true);
2790 }
2791 return true;
2792 }
2793 function validateProperties$2(type, props) {
2794 var invalidProps = [], key;
2795 for (key in props)
2796 validateProperty$1(type, key) || invalidProps.push(key);
2797 props = invalidProps.map(function(prop) {
2798 return "`" + prop + "`";
2799 }).join(", ");
2800 1 === invalidProps.length ? console.error(
2801 "Invalid aria prop %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props",
2802 props,
2803 type
2804 ) : 1 < invalidProps.length && console.error(
2805 "Invalid aria props %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props",
2806 props,
2807 type
2808 );
2809 }
2810 function validateProperty(tagName, name, value, eventRegistry) {
2811 if (hasOwnProperty.call(warnedProperties, name) && warnedProperties[name])
2812 return true;
2813 var lowerCasedName = name.toLowerCase();
2814 if ("onfocusin" === lowerCasedName || "onfocusout" === lowerCasedName)
2815 return console.error(
2816 "React uses onFocus and onBlur instead of onFocusIn and onFocusOut. All React events are normalized to bubble, so onFocusIn and onFocusOut are not needed/supported by React."
2817 ), warnedProperties[name] = true;
2818 if ("function" === typeof value && ("form" === tagName && "action" === name || "input" === tagName && "formAction" === name || "button" === tagName && "formAction" === name))
2819 return true;
2820 if (null != eventRegistry) {
2821 tagName = eventRegistry.possibleRegistrationNames;
2822 if (eventRegistry.registrationNameDependencies.hasOwnProperty(name))
2823 return true;
2824 eventRegistry = tagName.hasOwnProperty(lowerCasedName) ? tagName[lowerCasedName] : null;
2825 if (null != eventRegistry)
2826 return console.error(
2827 "Invalid event handler property `%s`. Did you mean `%s`?",
2828 name,
2829 eventRegistry
2830 ), warnedProperties[name] = true;
2831 if (EVENT_NAME_REGEX.test(name))
2832 return console.error(
2833 "Unknown event handler property `%s`. It will be ignored.",
2834 name
2835 ), warnedProperties[name] = true;
2836 } else if (EVENT_NAME_REGEX.test(name))
2837 return INVALID_EVENT_NAME_REGEX.test(name) && console.error(
2838 "Invalid event handler property `%s`. React events use the camelCase naming convention, for example `onClick`.",
2839 name
2840 ), warnedProperties[name] = true;
2841 if (rARIA.test(name) || rARIACamel.test(name)) return true;
2842 if ("innerhtml" === lowerCasedName)
2843 return console.error(
2844 "Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`."
2845 ), warnedProperties[name] = true;
2846 if ("aria" === lowerCasedName)
2847 return console.error(
2848 "The `aria` attribute is reserved for future use in React. Pass individual `aria-` attributes instead."
2849 ), warnedProperties[name] = true;
2850 if ("is" === lowerCasedName && null !== value && void 0 !== value && "string" !== typeof value)
2851 return console.error(
2852 "Received a `%s` for a string attribute `is`. If this is expected, cast the value to a string.",
2853 typeof value
2854 ), warnedProperties[name] = true;
2855 if ("number" === typeof value && isNaN(value))
2856 return console.error(
2857 "Received NaN for the `%s` attribute. If this is expected, cast the value to a string.",
2858 name
2859 ), warnedProperties[name] = true;
2860 if (possibleStandardNames.hasOwnProperty(lowerCasedName)) {
2861 if (lowerCasedName = possibleStandardNames[lowerCasedName], lowerCasedName !== name)
2862 return console.error(
2863 "Invalid DOM property `%s`. Did you mean `%s`?",
2864 name,
2865 lowerCasedName
2866 ), warnedProperties[name] = true;
2867 } else if (name !== lowerCasedName)
2868 return console.error(
2869 "React does not recognize the `%s` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `%s` instead. If you accidentally passed it from a parent component, remove it from the DOM element.",
2870 name,
2871 lowerCasedName
2872 ), warnedProperties[name] = true;
2873 switch (name) {
2874 case "dangerouslySetInnerHTML":
2875 case "children":
2876 case "style":
2877 case "suppressContentEditableWarning":
2878 case "suppressHydrationWarning":
2879 case "defaultValue":
2880 case "defaultChecked":
2881 case "innerHTML":
2882 case "ref":
2883 return true;
2884 case "innerText":
2885 case "textContent":
2886 return true;
2887 }
2888 switch (typeof value) {
2889 case "boolean":
2890 switch (name) {
2891 case "autoFocus":
2892 case "checked":
2893 case "multiple":
2894 case "muted":
2895 case "selected":
2896 case "contentEditable":
2897 case "spellCheck":
2898 case "draggable":
2899 case "value":
2900 case "autoReverse":
2901 case "externalResourcesRequired":
2902 case "focusable":
2903 case "preserveAlpha":
2904 case "allowFullScreen":
2905 case "async":
2906 case "autoPlay":
2907 case "controls":
2908 case "credentialless":
2909 case "default":
2910 case "defer":
2911 case "disabled":
2912 case "disablePictureInPicture":
2913 case "disableRemotePlayback":
2914 case "formNoValidate":
2915 case "hidden":
2916 case "loop":
2917 case "noModule":
2918 case "noValidate":
2919 case "open":
2920 case "playsInline":
2921 case "readOnly":
2922 case "required":
2923 case "reversed":
2924 case "scoped":
2925 case "seamless":
2926 case "itemScope":
2927 case "capture":
2928 case "download":
2929 case "inert":
2930 return true;
2931 default:
2932 lowerCasedName = name.toLowerCase().slice(0, 5);
2933 if ("data-" === lowerCasedName || "aria-" === lowerCasedName)
2934 return true;
2935 value ? console.error(
2936 'Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.',
2937 value,
2938 name,
2939 name,
2940 value,
2941 name
2942 ) : console.error(
2943 'Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.',
2944 value,
2945 name,
2946 name,
2947 value,
2948 name,
2949 name,
2950 name
2951 );
2952 return warnedProperties[name] = true;
2953 }
2954 case "function":
2955 case "symbol":
2956 return warnedProperties[name] = true, false;
2957 case "string":
2958 if ("false" === value || "true" === value) {
2959 switch (name) {
2960 case "checked":
2961 case "selected":
2962 case "multiple":
2963 case "muted":
2964 case "allowFullScreen":
2965 case "async":
2966 case "autoPlay":
2967 case "controls":
2968 case "credentialless":
2969 case "default":
2970 case "defer":
2971 case "disabled":
2972 case "disablePictureInPicture":
2973 case "disableRemotePlayback":
2974 case "formNoValidate":
2975 case "hidden":
2976 case "loop":
2977 case "noModule":
2978 case "noValidate":
2979 case "open":
2980 case "playsInline":
2981 case "readOnly":
2982 case "required":
2983 case "reversed":
2984 case "scoped":
2985 case "seamless":
2986 case "itemScope":
2987 case "inert":
2988 break;
2989 default:
2990 return true;
2991 }
2992 console.error(
2993 "Received the string `%s` for the boolean attribute `%s`. %s Did you mean %s={%s}?",
2994 value,
2995 name,
2996 "false" === value ? "The browser will interpret it as a truthy value." : 'Although this works, it will not work as expected if you pass the string "false".',
2997 name,
2998 value
2999 );
3000 warnedProperties[name] = true;
3001 }
3002 }
3003 return true;
3004 }
3005 function warnUnknownProperties(type, props, eventRegistry) {
3006 var unknownProps = [], key;
3007 for (key in props)
3008 validateProperty(type, key, props[key], eventRegistry) || unknownProps.push(key);
3009 props = unknownProps.map(function(prop) {
3010 return "`" + prop + "`";
3011 }).join(", ");
3012 1 === unknownProps.length ? console.error(
3013 "Invalid value for prop %s on <%s> tag. Either remove it from the element, or pass a string or number value to keep it in the DOM. For details, see https://react.dev/link/attribute-behavior ",
3014 props,
3015 type
3016 ) : 1 < unknownProps.length && console.error(
3017 "Invalid values for props %s on <%s> tag. Either remove them from the element, or pass a string or number value to keep them in the DOM. For details, see https://react.dev/link/attribute-behavior ",
3018 props,
3019 type
3020 );
3021 }
3022 function sanitizeURL(url) {
3023 return isJavaScriptProtocol.test("" + url) ? "javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')" : url;
3024 }
3025 function noop$1() {
3026 }
3027 function getEventTarget(nativeEvent) {
3028 nativeEvent = nativeEvent.target || nativeEvent.srcElement || window;
3029 nativeEvent.correspondingUseElement && (nativeEvent = nativeEvent.correspondingUseElement);
3030 return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent;
3031 }
3032 function restoreStateOfTarget(target) {
3033 var internalInstance = getInstanceFromNode(target);
3034 if (internalInstance && (target = internalInstance.stateNode)) {
3035 var props = target[internalPropsKey] || null;
3036 a: switch (target = internalInstance.stateNode, internalInstance.type) {
3037 case "input":
3038 updateInput(
3039 target,
3040 props.value,
3041 props.defaultValue,
3042 props.defaultValue,
3043 props.checked,
3044 props.defaultChecked,
3045 props.type,
3046 props.name
3047 );
3048 internalInstance = props.name;
3049 if ("radio" === props.type && null != internalInstance) {
3050 for (props = target; props.parentNode; ) props = props.parentNode;
3051 checkAttributeStringCoercion(internalInstance, "name");
3052 props = props.querySelectorAll(
3053 'input[name="' + escapeSelectorAttributeValueInsideDoubleQuotes(
3054 "" + internalInstance
3055 ) + '"][type="radio"]'
3056 );
3057 for (internalInstance = 0; internalInstance < props.length; internalInstance++) {
3058 var otherNode = props[internalInstance];
3059 if (otherNode !== target && otherNode.form === target.form) {
3060 var otherProps = otherNode[internalPropsKey] || null;
3061 if (!otherProps)
3062 throw Error(
3063 "ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported."
3064 );
3065 updateInput(
3066 otherNode,
3067 otherProps.value,
3068 otherProps.defaultValue,
3069 otherProps.defaultValue,
3070 otherProps.checked,
3071 otherProps.defaultChecked,
3072 otherProps.type,
3073 otherProps.name
3074 );
3075 }
3076 }
3077 for (internalInstance = 0; internalInstance < props.length; internalInstance++)
3078 otherNode = props[internalInstance], otherNode.form === target.form && updateValueIfChanged(otherNode);
3079 }
3080 break a;
3081 case "textarea":
3082 updateTextarea(target, props.value, props.defaultValue);
3083 break a;
3084 case "select":
3085 internalInstance = props.value, null != internalInstance && updateOptions(target, !!props.multiple, internalInstance, false);
3086 }
3087 }
3088 }
3089 function batchedUpdates$1(fn, a, b) {
3090 if (isInsideEventHandler) return fn(a, b);
3091 isInsideEventHandler = true;
3092 try {
3093 var JSCompiler_inline_result = fn(a);
3094 return JSCompiler_inline_result;
3095 } finally {
3096 if (isInsideEventHandler = false, null !== restoreTarget || null !== restoreQueue) {
3097 if (flushSyncWork$1(), restoreTarget && (a = restoreTarget, fn = restoreQueue, restoreQueue = restoreTarget = null, restoreStateOfTarget(a), fn))
3098 for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]);
3099 }
3100 }
3101 }
3102 function getListener(inst, registrationName) {
3103 var stateNode = inst.stateNode;
3104 if (null === stateNode) return null;
3105 var props = stateNode[internalPropsKey] || null;
3106 if (null === props) return null;
3107 stateNode = props[registrationName];
3108 a: switch (registrationName) {
3109 case "onClick":
3110 case "onClickCapture":
3111 case "onDoubleClick":
3112 case "onDoubleClickCapture":
3113 case "onMouseDown":
3114 case "onMouseDownCapture":
3115 case "onMouseMove":
3116 case "onMouseMoveCapture":
3117 case "onMouseUp":
3118 case "onMouseUpCapture":
3119 case "onMouseEnter":
3120 (props = !props.disabled) || (inst = inst.type, props = !("button" === inst || "input" === inst || "select" === inst || "textarea" === inst));
3121 inst = !props;
3122 break a;
3123 default:
3124 inst = false;
3125 }
3126 if (inst) return null;
3127 if (stateNode && "function" !== typeof stateNode)
3128 throw Error(
3129 "Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof stateNode + "` type."
3130 );
3131 return stateNode;
3132 }
3133 function getData() {
3134 if (fallbackText) return fallbackText;
3135 var start, startValue = startText, startLength = startValue.length, end, endValue = "value" in root ? root.value : root.textContent, endLength = endValue.length;
3136 for (start = 0; start < startLength && startValue[start] === endValue[start]; start++) ;
3137 var minEnd = startLength - start;
3138 for (end = 1; end <= minEnd && startValue[startLength - end] === endValue[endLength - end]; end++) ;
3139 return fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0);
3140 }
3141 function getEventCharCode(nativeEvent) {
3142 var keyCode = nativeEvent.keyCode;
3143 "charCode" in nativeEvent ? (nativeEvent = nativeEvent.charCode, 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13)) : nativeEvent = keyCode;
3144 10 === nativeEvent && (nativeEvent = 13);
3145 return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0;
3146 }
3147 function functionThatReturnsTrue() {
3148 return true;
3149 }
3150 function functionThatReturnsFalse() {
3151 return false;
3152 }
3153 function createSyntheticEvent(Interface) {
3154 function SyntheticBaseEvent(reactName, reactEventType, targetInst, nativeEvent, nativeEventTarget) {
3155 this._reactName = reactName;
3156 this._targetInst = targetInst;
3157 this.type = reactEventType;
3158 this.nativeEvent = nativeEvent;
3159 this.target = nativeEventTarget;
3160 this.currentTarget = null;
3161 for (var propName in Interface)
3162 Interface.hasOwnProperty(propName) && (reactName = Interface[propName], this[propName] = reactName ? reactName(nativeEvent) : nativeEvent[propName]);
3163 this.isDefaultPrevented = (null != nativeEvent.defaultPrevented ? nativeEvent.defaultPrevented : false === nativeEvent.returnValue) ? functionThatReturnsTrue : functionThatReturnsFalse;
3164 this.isPropagationStopped = functionThatReturnsFalse;
3165 return this;
3166 }
3167 assign(SyntheticBaseEvent.prototype, {
3168 preventDefault: function() {
3169 this.defaultPrevented = true;
3170 var event = this.nativeEvent;
3171 event && (event.preventDefault ? event.preventDefault() : "unknown" !== typeof event.returnValue && (event.returnValue = false), this.isDefaultPrevented = functionThatReturnsTrue);
3172 },
3173 stopPropagation: function() {
3174 var event = this.nativeEvent;
3175 event && (event.stopPropagation ? event.stopPropagation() : "unknown" !== typeof event.cancelBubble && (event.cancelBubble = true), this.isPropagationStopped = functionThatReturnsTrue);
3176 },
3177 persist: function() {
3178 },
3179 isPersistent: functionThatReturnsTrue
3180 });
3181 return SyntheticBaseEvent;
3182 }
3183 function modifierStateGetter(keyArg) {
3184 var nativeEvent = this.nativeEvent;
3185 return nativeEvent.getModifierState ? nativeEvent.getModifierState(keyArg) : (keyArg = modifierKeyToProp[keyArg]) ? !!nativeEvent[keyArg] : false;
3186 }
3187 function getEventModifierState() {
3188 return modifierStateGetter;
3189 }
3190 function isFallbackCompositionEnd(domEventName, nativeEvent) {
3191 switch (domEventName) {
3192 case "keyup":
3193 return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode);
3194 case "keydown":
3195 return nativeEvent.keyCode !== START_KEYCODE;
3196 case "keypress":
3197 case "mousedown":
3198 case "focusout":
3199 return true;
3200 default:
3201 return false;
3202 }
3203 }
3204 function getDataFromCustomEvent(nativeEvent) {
3205 nativeEvent = nativeEvent.detail;
3206 return "object" === typeof nativeEvent && "data" in nativeEvent ? nativeEvent.data : null;
3207 }
3208 function getNativeBeforeInputChars(domEventName, nativeEvent) {
3209 switch (domEventName) {
3210 case "compositionend":
3211 return getDataFromCustomEvent(nativeEvent);
3212 case "keypress":
3213 if (nativeEvent.which !== SPACEBAR_CODE) return null;
3214 hasSpaceKeypress = true;
3215 return SPACEBAR_CHAR;
3216 case "textInput":
3217 return domEventName = nativeEvent.data, domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName;
3218 default:
3219 return null;
3220 }
3221 }
3222 function getFallbackBeforeInputChars(domEventName, nativeEvent) {
3223 if (isComposing)
3224 return "compositionend" === domEventName || !canUseCompositionEvent && isFallbackCompositionEnd(domEventName, nativeEvent) ? (domEventName = getData(), fallbackText = startText = root = null, isComposing = false, domEventName) : null;
3225 switch (domEventName) {
3226 case "paste":
3227 return null;
3228 case "keypress":
3229 if (!(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) || nativeEvent.ctrlKey && nativeEvent.altKey) {
3230 if (nativeEvent.char && 1 < nativeEvent.char.length)
3231 return nativeEvent.char;
3232 if (nativeEvent.which)
3233 return String.fromCharCode(nativeEvent.which);
3234 }
3235 return null;
3236 case "compositionend":
3237 return useFallbackCompositionData && "ko" !== nativeEvent.locale ? null : nativeEvent.data;
3238 default:
3239 return null;
3240 }
3241 }
3242 function isTextInputElement(elem) {
3243 var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
3244 return "input" === nodeName ? !!supportedInputTypes[elem.type] : "textarea" === nodeName ? true : false;
3245 }
3246 function isEventSupported(eventNameSuffix) {
3247 if (!canUseDOM) return false;
3248 eventNameSuffix = "on" + eventNameSuffix;
3249 var isSupported = eventNameSuffix in document;
3250 isSupported || (isSupported = document.createElement("div"), isSupported.setAttribute(eventNameSuffix, "return;"), isSupported = "function" === typeof isSupported[eventNameSuffix]);
3251 return isSupported;
3252 }
3253 function createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, target) {
3254 restoreTarget ? restoreQueue ? restoreQueue.push(target) : restoreQueue = [target] : restoreTarget = target;
3255 inst = accumulateTwoPhaseListeners(inst, "onChange");
3256 0 < inst.length && (nativeEvent = new SyntheticEvent(
3257 "onChange",
3258 "change",
3259 null,
3260 nativeEvent,
3261 target
3262 ), dispatchQueue.push({ event: nativeEvent, listeners: inst }));
3263 }
3264 function runEventInBatch(dispatchQueue) {
3265 processDispatchQueue(dispatchQueue, 0);
3266 }
3267 function getInstIfValueChanged(targetInst) {
3268 var targetNode = getNodeFromInstance(targetInst);
3269 if (updateValueIfChanged(targetNode)) return targetInst;
3270 }
3271 function getTargetInstForChangeEvent(domEventName, targetInst) {
3272 if ("change" === domEventName) return targetInst;
3273 }
3274 function stopWatchingForValueChange() {
3275 activeElement$1 && (activeElement$1.detachEvent("onpropertychange", handlePropertyChange), activeElementInst$1 = activeElement$1 = null);
3276 }
3277 function handlePropertyChange(nativeEvent) {
3278 if ("value" === nativeEvent.propertyName && getInstIfValueChanged(activeElementInst$1)) {
3279 var dispatchQueue = [];
3280 createAndAccumulateChangeEvent(
3281 dispatchQueue,
3282 activeElementInst$1,
3283 nativeEvent,
3284 getEventTarget(nativeEvent)
3285 );
3286 batchedUpdates$1(runEventInBatch, dispatchQueue);
3287 }
3288 }
3289 function handleEventsForInputEventPolyfill(domEventName, target, targetInst) {
3290 "focusin" === domEventName ? (stopWatchingForValueChange(), activeElement$1 = target, activeElementInst$1 = targetInst, activeElement$1.attachEvent("onpropertychange", handlePropertyChange)) : "focusout" === domEventName && stopWatchingForValueChange();
3291 }
3292 function getTargetInstForInputEventPolyfill(domEventName) {
3293 if ("selectionchange" === domEventName || "keyup" === domEventName || "keydown" === domEventName)
3294 return getInstIfValueChanged(activeElementInst$1);
3295 }
3296 function getTargetInstForClickEvent(domEventName, targetInst) {
3297 if ("click" === domEventName) return getInstIfValueChanged(targetInst);
3298 }
3299 function getTargetInstForInputOrChangeEvent(domEventName, targetInst) {
3300 if ("input" === domEventName || "change" === domEventName)
3301 return getInstIfValueChanged(targetInst);
3302 }
3303 function is(x, y) {
3304 return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
3305 }
3306 function shallowEqual(objA, objB) {
3307 if (objectIs(objA, objB)) return true;
3308 if ("object" !== typeof objA || null === objA || "object" !== typeof objB || null === objB)
3309 return false;
3310 var keysA = Object.keys(objA), keysB = Object.keys(objB);
3311 if (keysA.length !== keysB.length) return false;
3312 for (keysB = 0; keysB < keysA.length; keysB++) {
3313 var currentKey = keysA[keysB];
3314 if (!hasOwnProperty.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey]))
3315 return false;
3316 }
3317 return true;
3318 }
3319 function getActiveElement(doc) {
3320 doc = doc || ("undefined" !== typeof document ? document : void 0);
3321 if ("undefined" === typeof doc) return null;
3322 try {
3323 return doc.activeElement || doc.body;
3324 } catch (e$2) {
3325 return doc.body;
3326 }
3327 }
3328 function getLeafNode(node) {
3329 for (; node && node.firstChild; ) node = node.firstChild;
3330 return node;
3331 }
3332 function getNodeForCharacterOffset(root2, offset) {
3333 var node = getLeafNode(root2);
3334 root2 = 0;
3335 for (var nodeEnd; node; ) {
3336 if (3 === node.nodeType) {
3337 nodeEnd = root2 + node.textContent.length;
3338 if (root2 <= offset && nodeEnd >= offset)
3339 return { node, offset: offset - root2 };
3340 root2 = nodeEnd;
3341 }
3342 a: {
3343 for (; node; ) {
3344 if (node.nextSibling) {
3345 node = node.nextSibling;
3346 break a;
3347 }
3348 node = node.parentNode;
3349 }
3350 node = void 0;
3351 }
3352 node = getLeafNode(node);
3353 }
3354 }
3355 function containsNode(outerNode, innerNode) {
3356 return outerNode && innerNode ? outerNode === innerNode ? true : outerNode && 3 === outerNode.nodeType ? false : innerNode && 3 === innerNode.nodeType ? containsNode(outerNode, innerNode.parentNode) : "contains" in outerNode ? outerNode.contains(innerNode) : outerNode.compareDocumentPosition ? !!(outerNode.compareDocumentPosition(innerNode) & 16) : false : false;
3357 }
3358 function getActiveElementDeep(containerInfo) {
3359 containerInfo = null != containerInfo && null != containerInfo.ownerDocument && null != containerInfo.ownerDocument.defaultView ? containerInfo.ownerDocument.defaultView : window;
3360 for (var element = getActiveElement(containerInfo.document); element instanceof containerInfo.HTMLIFrameElement; ) {
3361 try {
3362 var JSCompiler_inline_result = "string" === typeof element.contentWindow.location.href;
3363 } catch (err) {
3364 JSCompiler_inline_result = false;
3365 }
3366 if (JSCompiler_inline_result) containerInfo = element.contentWindow;
3367 else break;
3368 element = getActiveElement(containerInfo.document);
3369 }
3370 return element;
3371 }
3372 function hasSelectionCapabilities(elem) {
3373 var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
3374 return nodeName && ("input" === nodeName && ("text" === elem.type || "search" === elem.type || "tel" === elem.type || "url" === elem.type || "password" === elem.type) || "textarea" === nodeName || "true" === elem.contentEditable);
3375 }
3376 function constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {
3377 var doc = nativeEventTarget.window === nativeEventTarget ? nativeEventTarget.document : 9 === nativeEventTarget.nodeType ? nativeEventTarget : nativeEventTarget.ownerDocument;
3378 mouseDown || null == activeElement || activeElement !== getActiveElement(doc) || (doc = activeElement, "selectionStart" in doc && hasSelectionCapabilities(doc) ? doc = { start: doc.selectionStart, end: doc.selectionEnd } : (doc = (doc.ownerDocument && doc.ownerDocument.defaultView || window).getSelection(), doc = {
3379 anchorNode: doc.anchorNode,
3380 anchorOffset: doc.anchorOffset,
3381 focusNode: doc.focusNode,
3382 focusOffset: doc.focusOffset
3383 }), lastSelection && shallowEqual(lastSelection, doc) || (lastSelection = doc, doc = accumulateTwoPhaseListeners(activeElementInst, "onSelect"), 0 < doc.length && (nativeEvent = new SyntheticEvent(
3384 "onSelect",
3385 "select",
3386 null,
3387 nativeEvent,
3388 nativeEventTarget
3389 ), dispatchQueue.push({ event: nativeEvent, listeners: doc }), nativeEvent.target = activeElement)));
3390 }
3391 function makePrefixMap(styleProp, eventName) {
3392 var prefixes = {};
3393 prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();
3394 prefixes["Webkit" + styleProp] = "webkit" + eventName;
3395 prefixes["Moz" + styleProp] = "moz" + eventName;
3396 return prefixes;
3397 }
3398 function getVendorPrefixedEventName(eventName) {
3399 if (prefixedEventNames[eventName]) return prefixedEventNames[eventName];
3400 if (!vendorPrefixes[eventName]) return eventName;
3401 var prefixMap = vendorPrefixes[eventName], styleProp;
3402 for (styleProp in prefixMap)
3403 if (prefixMap.hasOwnProperty(styleProp) && styleProp in style)
3404 return prefixedEventNames[eventName] = prefixMap[styleProp];
3405 return eventName;
3406 }
3407 function registerSimpleEvent(domEventName, reactName) {
3408 topLevelEventsToReactNames.set(domEventName, reactName);
3409 registerTwoPhaseEvent(reactName, [domEventName]);
3410 }
3411 function getViewTransitionName(props, instance) {
3412 if (null != props.name && "auto" !== props.name) return props.name;
3413 if (null !== instance.autoName) return instance.autoName;
3414 props = pendingEffectsRoot.identifierPrefix;
3415 var globalClientId = globalClientIdCounter$1++;
3416 props = "_" + props + "t_" + globalClientId.toString(32) + "_";
3417 return instance.autoName = props;
3418 }
3419 function getClassNameByType(classByType) {
3420 if (null == classByType || "string" === typeof classByType)
3421 return classByType;
3422 var className = null, activeTypes = pendingTransitionTypes;
3423 if (null !== activeTypes)
3424 for (var i = 0; i < activeTypes.length; i++) {
3425 var match = classByType[activeTypes[i]];
3426 if (null != match) {
3427 if ("none" === match) return "none";
3428 className = null == className ? match : className + (" " + match);
3429 }
3430 }
3431 return null == className ? classByType.default : className;
3432 }
3433 function getViewTransitionClassName(defaultClass, eventClass) {
3434 defaultClass = getClassNameByType(defaultClass);
3435 eventClass = getClassNameByType(eventClass);
3436 return null == eventClass ? "auto" === defaultClass ? null : defaultClass : "auto" === eventClass ? null : eventClass;
3437 }
3438 function getArrayKind(array) {
3439 for (var kind = EMPTY_ARRAY, i = 0; i < array.length && i < OBJECT_WIDTH_LIMIT; i++) {
3440 var value = array[i];
3441 if ("object" === typeof value && null !== value)
3442 if (isArrayImpl(value) && 2 === value.length && "string" === typeof value[0]) {
3443 if (kind !== EMPTY_ARRAY && kind !== ENTRIES_ARRAY)
3444 return COMPLEX_ARRAY;
3445 kind = ENTRIES_ARRAY;
3446 } else return COMPLEX_ARRAY;
3447 else {
3448 if ("function" === typeof value || "string" === typeof value && 50 < value.length || kind !== EMPTY_ARRAY && kind !== PRIMITIVE_ARRAY || "bigint" === typeof value)
3449 return COMPLEX_ARRAY;
3450 kind = PRIMITIVE_ARRAY;
3451 }
3452 }
3453 return kind;
3454 }
3455 function addObjectToProperties(object, properties, indent, prefix2) {
3456 if (!ArrayBuffer.isView(object)) {
3457 var addedProperties = 0, key;
3458 for (key in object)
3459 if (hasOwnProperty.call(object, key) && "_" !== key[0] && (addedProperties++, addValueToProperties(key, object[key], properties, indent, prefix2), addedProperties >= OBJECT_WIDTH_LIMIT)) {
3460 properties.push([
3461 prefix2 + "\xA0\xA0".repeat(indent) + "Only " + OBJECT_WIDTH_LIMIT + " properties are shown. React will not log more properties of this object.",
3462 ""
3463 ]);
3464 break;
3465 }
3466 }
3467 }
3468 function readReactElementTypeof(value) {
3469 return "$$typeof" in value && hasOwnProperty.call(value, "$$typeof") ? value.$$typeof : void 0;
3470 }
3471 function addValueToProperties(propertyName, value, properties, indent, prefix2) {
3472 switch (typeof value) {
3473 case "object":
3474 if (null === value) {
3475 value = "null";
3476 break;
3477 } else {
3478 if ((readReactElementTypeof(value) === REACT_ELEMENT_TYPE || (readReactElementTypeof(value) === REACT_LEGACY_ELEMENT_TYPE && (__wpWarnCompat("legacy-element"), true)))) {
3479 var typeName2 = getComponentNameFromType(value.type) || "\u2026", key = value.key;
3480 value = value.props;
3481 var propsKeys = Object.keys(value), propsLength = propsKeys.length;
3482 if (null == key && 0 === propsLength) {
3483 value = "<" + typeName2 + " />";
3484 break;
3485 }
3486 if (3 > indent || 1 === propsLength && "children" === propsKeys[0] && null == key) {
3487 value = "<" + typeName2 + " \u2026 />";
3488 break;
3489 }
3490 properties.push([
3491 prefix2 + "\xA0\xA0".repeat(indent) + propertyName,
3492 "<" + typeName2
3493 ]);
3494 null !== key && addValueToProperties(
3495 "key",
3496 key,
3497 properties,
3498 indent + 1,
3499 prefix2
3500 );
3501 propertyName = false;
3502 key = 0;
3503 for (var propKey in value)
3504 if (key++, "children" === propKey ? null != value.children && (!isArrayImpl(value.children) || 0 < value.children.length) && (propertyName = true) : hasOwnProperty.call(value, propKey) && "_" !== propKey[0] && addValueToProperties(
3505 propKey,
3506 value[propKey],
3507 properties,
3508 indent + 1,
3509 prefix2
3510 ), key >= OBJECT_WIDTH_LIMIT)
3511 break;
3512 properties.push([
3513 "",
3514 propertyName ? ">\u2026</" + typeName2 + ">" : "/>"
3515 ]);
3516 return;
3517 }
3518 typeName2 = Object.prototype.toString.call(value);
3519 typeName2 = typeName2.slice(8, typeName2.length - 1);
3520 if (ArrayBuffer.isView(value)) {
3521 value = value.length;
3522 value = "number" === typeof value ? typeName2 + "(" + value + ")" : typeName2;
3523 break;
3524 }
3525 if ("Array" === typeName2) {
3526 if (propKey = value.length > OBJECT_WIDTH_LIMIT, key = getArrayKind(value), key === PRIMITIVE_ARRAY || key === EMPTY_ARRAY) {
3527 value = JSON.stringify(
3528 propKey ? value.slice(0, OBJECT_WIDTH_LIMIT).concat("\u2026") : value
3529 );
3530 break;
3531 } else if (key === ENTRIES_ARRAY) {
3532 properties.push([
3533 prefix2 + "\xA0\xA0".repeat(indent) + propertyName,
3534 ""
3535 ]);
3536 for (propertyName = 0; propertyName < value.length && propertyName < OBJECT_WIDTH_LIMIT; propertyName++)
3537 typeName2 = value[propertyName], addValueToProperties(
3538 typeName2[0],
3539 typeName2[1],
3540 properties,
3541 indent + 1,
3542 prefix2
3543 );
3544 propKey && addValueToProperties(
3545 OBJECT_WIDTH_LIMIT.toString(),
3546 "\u2026",
3547 properties,
3548 indent + 1,
3549 prefix2
3550 );
3551 return;
3552 }
3553 }
3554 if ("Promise" === typeName2) {
3555 if ("fulfilled" === value.status) {
3556 if (typeName2 = properties.length, addValueToProperties(
3557 propertyName,
3558 value.value,
3559 properties,
3560 indent,
3561 prefix2
3562 ), properties.length > typeName2) {
3563 properties = properties[typeName2];
3564 properties[1] = "Promise<" + (properties[1] || "Object") + ">";
3565 return;
3566 }
3567 } else if ("rejected" === value.status && (typeName2 = properties.length, addValueToProperties(
3568 propertyName,
3569 value.reason,
3570 properties,
3571 indent,
3572 prefix2
3573 ), properties.length > typeName2)) {
3574 properties = properties[typeName2];
3575 properties[1] = "Rejected Promise<" + properties[1] + ">";
3576 return;
3577 }
3578 properties.push([
3579 "\xA0\xA0".repeat(indent) + propertyName,
3580 "Promise"
3581 ]);
3582 return;
3583 }
3584 "Object" === typeName2 && (propKey = Object.getPrototypeOf(value)) && "function" === typeof propKey.constructor && (typeName2 = propKey.constructor.name);
3585 properties.push([
3586 prefix2 + "\xA0\xA0".repeat(indent) + propertyName,
3587 "Object" === typeName2 ? 3 > indent ? "" : "\u2026" : typeName2
3588 ]);
3589 3 > indent && addObjectToProperties(value, properties, indent + 1, prefix2);
3590 return;
3591 }
3592 case "function":
3593 value = value.name;
3594 value = "" === value || "string" !== typeof value ? "() => {}" : value + "() {}";
3595 break;
3596 case "string":
3597 value = value === OMITTED_PROP_ERROR ? "\u2026" : JSON.stringify(
3598 1024 <= value.length ? value.slice(0, 1023) + "\u2026" : value
3599 );
3600 break;
3601 case "undefined":
3602 value = "undefined";
3603 break;
3604 case "boolean":
3605 value = value ? "true" : "false";
3606 break;
3607 default:
3608 value = String(value);
3609 }
3610 properties.push([
3611 prefix2 + "\xA0\xA0".repeat(indent) + propertyName,
3612 value
3613 ]);
3614 }
3615 function addObjectDiffToProperties(prev, next, properties, indent) {
3616 var isDeeplyEqual = true, prevPropertiesChecked = 0;
3617 for (key in prev) {
3618 if (prevPropertiesChecked > OBJECT_WIDTH_LIMIT) {
3619 properties.push([
3620 "Previous object has more than " + OBJECT_WIDTH_LIMIT + " properties. React will not attempt to diff objects with too many properties.",
3621 ""
3622 ]);
3623 isDeeplyEqual = false;
3624 break;
3625 }
3626 key in next || (properties.push([
3627 REMOVED + "\xA0\xA0".repeat(indent) + key,
3628 "\u2026"
3629 ]), isDeeplyEqual = false);
3630 prevPropertiesChecked++;
3631 }
3632 prevPropertiesChecked = 0;
3633 for (var _key in next) {
3634 if (prevPropertiesChecked > OBJECT_WIDTH_LIMIT) {
3635 properties.push([
3636 "Next object has more than " + OBJECT_WIDTH_LIMIT + " properties. React will not attempt to diff objects with too many properties.",
3637 ""
3638 ]);
3639 isDeeplyEqual = false;
3640 break;
3641 }
3642 if (_key in prev) {
3643 var key = prev[_key];
3644 var nextValue = next[_key];
3645 if (key !== nextValue) {
3646 if (0 === indent && "children" === _key) {
3647 isDeeplyEqual = "\xA0\xA0".repeat(indent) + _key;
3648 properties.push(
3649 [REMOVED + isDeeplyEqual, "\u2026"],
3650 [ADDED + isDeeplyEqual, "\u2026"]
3651 );
3652 isDeeplyEqual = false;
3653 continue;
3654 }
3655 if (!(3 <= indent)) {
3656 if ("object" === typeof key && "object" === typeof nextValue && null !== key && null !== nextValue && readReactElementTypeof(key) === readReactElementTypeof(nextValue))
3657 if ((readReactElementTypeof(nextValue) === REACT_ELEMENT_TYPE || (readReactElementTypeof(nextValue) === REACT_LEGACY_ELEMENT_TYPE && (__wpWarnCompat("legacy-element"), true)))) {
3658 if (key.type === nextValue.type && key.key === nextValue.key) {
3659 key = getComponentNameFromType(nextValue.type) || "\u2026";
3660 isDeeplyEqual = "\xA0\xA0".repeat(indent) + _key;
3661 key = "<" + key + " \u2026 />";
3662 properties.push(
3663 [REMOVED + isDeeplyEqual, key],
3664 [ADDED + isDeeplyEqual, key]
3665 );
3666 isDeeplyEqual = false;
3667 continue;
3668 }
3669 } else {
3670 var prevKind = Object.prototype.toString.call(key), nextKind = Object.prototype.toString.call(nextValue);
3671 if (prevKind === nextKind && ("[object Object]" === nextKind || "[object Array]" === nextKind)) {
3672 prevKind = [
3673 UNCHANGED + "\xA0\xA0".repeat(indent) + _key,
3674 "[object Array]" === nextKind ? "Array" : ""
3675 ];
3676 properties.push(prevKind);
3677 nextKind = properties.length;
3678 addObjectDiffToProperties(
3679 key,
3680 nextValue,
3681 properties,
3682 indent + 1
3683 ) ? nextKind === properties.length && (prevKind[1] = "Referentially unequal but deeply equal objects. Consider memoization.") : isDeeplyEqual = false;
3684 continue;
3685 }
3686 }
3687 else if ("function" === typeof key && "function" === typeof nextValue && key.name === nextValue.name && key.length === nextValue.length && (prevKind = Function.prototype.toString.call(key), nextKind = Function.prototype.toString.call(nextValue), prevKind === nextKind)) {
3688 key = "" === nextValue.name ? "() => {}" : nextValue.name + "() {}";
3689 properties.push([
3690 UNCHANGED + "\xA0\xA0".repeat(indent) + _key,
3691 key + " Referentially unequal function closure. Consider memoization."
3692 ]);
3693 continue;
3694 }
3695 }
3696 addValueToProperties(_key, key, properties, indent, REMOVED);
3697 addValueToProperties(_key, nextValue, properties, indent, ADDED);
3698 isDeeplyEqual = false;
3699 }
3700 } else
3701 properties.push([
3702 ADDED + "\xA0\xA0".repeat(indent) + _key,
3703 "\u2026"
3704 ]), isDeeplyEqual = false;
3705 prevPropertiesChecked++;
3706 }
3707 return isDeeplyEqual;
3708 }
3709 function setCurrentTrackFromLanes(lanes) {
3710 currentTrack = lanes & 63 ? "Blocking" : lanes & 64 ? "Gesture" : lanes & 4194176 ? "Transition" : lanes & 62914560 ? "Suspense" : lanes & 2080374784 ? "Idle" : "Other";
3711 }
3712 function logComponentTrigger(fiber, startTime, endTime, trigger) {
3713 supportsUserTiming && (reusableComponentOptions.start = startTime, reusableComponentOptions.end = endTime, reusableComponentDevToolDetails.color = "warning", reusableComponentDevToolDetails.tooltipText = trigger, reusableComponentDevToolDetails.properties = null, (fiber = fiber._debugTask) ? fiber.run(
3714 performance.measure.bind(
3715 performance,
3716 trigger,
3717 reusableComponentOptions
3718 )
3719 ) : performance.measure(trigger, reusableComponentOptions), performance.clearMeasures(trigger));
3720 }
3721 function logComponentReappeared(fiber, startTime, endTime) {
3722 logComponentTrigger(fiber, startTime, endTime, "Reconnect");
3723 }
3724 function logComponentRender(fiber, startTime, endTime, wasHydrated, committedLanes) {
3725 var name = getComponentNameFromFiber(fiber);
3726 if (null !== name && supportsUserTiming) {
3727 var alternate = fiber.alternate, selfTime = fiber.actualDuration;
3728 if (null === alternate || alternate.child !== fiber.child)
3729 for (var child = fiber.child; null !== child; child = child.sibling)
3730 selfTime -= child.actualDuration;
3731 selfTime = 0.5 > selfTime ? wasHydrated ? "tertiary-light" : "primary-light" : 10 > selfTime ? wasHydrated ? "tertiary" : "primary" : 100 > selfTime ? wasHydrated ? "tertiary-dark" : "primary-dark" : "error";
3732 var props = fiber.memoizedProps;
3733 wasHydrated = fiber._debugTask;
3734 null !== props && null !== alternate && alternate.memoizedProps !== props ? (child = [reusableChangedPropsEntry], props = addObjectDiffToProperties(
3735 alternate.memoizedProps,
3736 props,
3737 child,
3738 0
3739 ), 1 < child.length ? (props && !alreadyWarnedForDeepEquality && 0 === (alternate.lanes & committedLanes) && 100 < fiber.actualDuration ? (alreadyWarnedForDeepEquality = true, child[0] = reusableDeeplyEqualPropsEntry, reusableComponentDevToolDetails.color = "warning", reusableComponentDevToolDetails.tooltipText = DEEP_EQUALITY_WARNING) : (reusableComponentDevToolDetails.color = selfTime, reusableComponentDevToolDetails.tooltipText = name), reusableComponentDevToolDetails.properties = child, reusableComponentOptions.start = startTime, reusableComponentOptions.end = endTime, fiber = "\u200B" + name, null != wasHydrated ? wasHydrated.run(
3740 performance.measure.bind(
3741 performance,
3742 fiber,
3743 reusableComponentOptions
3744 )
3745 ) : performance.measure(fiber, reusableComponentOptions), performance.clearMeasures(fiber)) : null != wasHydrated ? wasHydrated.run(
3746 console.timeStamp.bind(
3747 console,
3748 name,
3749 startTime,
3750 endTime,
3751 COMPONENTS_TRACK,
3752 void 0,
3753 selfTime
3754 )
3755 ) : console.timeStamp(
3756 name,
3757 startTime,
3758 endTime,
3759 COMPONENTS_TRACK,
3760 void 0,
3761 selfTime
3762 )) : null != wasHydrated ? wasHydrated.run(
3763 console.timeStamp.bind(
3764 console,
3765 name,
3766 startTime,
3767 endTime,
3768 COMPONENTS_TRACK,
3769 void 0,
3770 selfTime
3771 )
3772 ) : console.timeStamp(
3773 name,
3774 startTime,
3775 endTime,
3776 COMPONENTS_TRACK,
3777 void 0,
3778 selfTime
3779 );
3780 }
3781 }
3782 function logComponentErrored(fiber, startTime, endTime, errors) {
3783 if (supportsUserTiming) {
3784 var name = getComponentNameFromFiber(fiber);
3785 if (null !== name) {
3786 for (var debugTask = null, properties = [], i = 0; i < errors.length; i++) {
3787 var capturedValue = errors[i];
3788 null == debugTask && null !== capturedValue.source && (debugTask = capturedValue.source._debugTask);
3789 capturedValue = capturedValue.value;
3790 properties.push([
3791 "Error",
3792 "object" === typeof capturedValue && null !== capturedValue && "string" === typeof capturedValue.message ? String(capturedValue.message) : String(capturedValue)
3793 ]);
3794 }
3795 null !== fiber.key && addValueToProperties("key", fiber.key, properties, 0, "");
3796 null !== fiber.memoizedProps && addObjectToProperties(fiber.memoizedProps, properties, 0, "");
3797 null == debugTask && (debugTask = fiber._debugTask);
3798 fiber = {
3799 start: startTime,
3800 end: endTime,
3801 detail: {
3802 devtools: {
3803 color: "error",
3804 track: COMPONENTS_TRACK,
3805 tooltipText: 13 === fiber.tag ? "Hydration failed" : "Error boundary caught an error",
3806 properties
3807 }
3808 }
3809 };
3810 name = "\u200B" + name;
3811 debugTask ? debugTask.run(performance.measure.bind(performance, name, fiber)) : performance.measure(name, fiber);
3812 performance.clearMeasures(name);
3813 }
3814 }
3815 }
3816 function logComponentEffect(fiber, startTime, endTime, selfTime, errors) {
3817 if (null !== errors) {
3818 if (supportsUserTiming) {
3819 var name = getComponentNameFromFiber(fiber);
3820 if (null !== name) {
3821 selfTime = [];
3822 for (var i = 0; i < errors.length; i++) {
3823 var error = errors[i].value;
3824 selfTime.push([
3825 "Error",
3826 "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error)
3827 ]);
3828 }
3829 null !== fiber.key && addValueToProperties("key", fiber.key, selfTime, 0, "");
3830 null !== fiber.memoizedProps && addObjectToProperties(fiber.memoizedProps, selfTime, 0, "");
3831 startTime = {
3832 start: startTime,
3833 end: endTime,
3834 detail: {
3835 devtools: {
3836 color: "error",
3837 track: COMPONENTS_TRACK,
3838 tooltipText: "A lifecycle or effect errored",
3839 properties: selfTime
3840 }
3841 }
3842 };
3843 fiber = fiber._debugTask;
3844 endTime = "\u200B" + name;
3845 fiber ? fiber.run(
3846 performance.measure.bind(performance, endTime, startTime)
3847 ) : performance.measure(endTime, startTime);
3848 performance.clearMeasures(endTime);
3849 }
3850 }
3851 } else
3852 name = getComponentNameFromFiber(fiber), null !== name && supportsUserTiming && (errors = 1 > selfTime ? "secondary-light" : 100 > selfTime ? "secondary" : 500 > selfTime ? "secondary-dark" : "error", (fiber = fiber._debugTask) ? fiber.run(
3853 console.timeStamp.bind(
3854 console,
3855 name,
3856 startTime,
3857 endTime,
3858 COMPONENTS_TRACK,
3859 void 0,
3860 errors
3861 )
3862 ) : console.timeStamp(
3863 name,
3864 startTime,
3865 endTime,
3866 COMPONENTS_TRACK,
3867 void 0,
3868 errors
3869 ));
3870 }
3871 function logSuspendedRenderPhase(startTime, endTime, lanes, debugTask) {
3872 !supportsUserTiming || endTime <= startTime || (lanes = (lanes & 738197653) === lanes ? "tertiary-dark" : "primary-dark", debugTask ? debugTask.run(
3873 console.timeStamp.bind(
3874 console,
3875 "Prewarm",
3876 startTime,
3877 endTime,
3878 currentTrack,
3879 LANES_TRACK_GROUP,
3880 lanes
3881 )
3882 ) : console.timeStamp(
3883 "Prewarm",
3884 startTime,
3885 endTime,
3886 currentTrack,
3887 LANES_TRACK_GROUP,
3888 lanes
3889 ));
3890 }
3891 function logSuspendedWithDelayPhase(startTime, endTime, lanes, debugTask) {
3892 !supportsUserTiming || endTime <= startTime || (lanes = (lanes & 738197653) === lanes ? "tertiary-dark" : "primary-dark", debugTask ? debugTask.run(
3893 console.timeStamp.bind(
3894 console,
3895 "Suspended",
3896 startTime,
3897 endTime,
3898 currentTrack,
3899 LANES_TRACK_GROUP,
3900 lanes
3901 )
3902 ) : console.timeStamp(
3903 "Suspended",
3904 startTime,
3905 endTime,
3906 currentTrack,
3907 LANES_TRACK_GROUP,
3908 lanes
3909 ));
3910 }
3911 function logErroredRenderPhase(startTime, endTime, lanes, debugTask) {
3912 !supportsUserTiming || endTime <= startTime || (debugTask ? debugTask.run(
3913 console.timeStamp.bind(
3914 console,
3915 "Errored",
3916 startTime,
3917 endTime,
3918 currentTrack,
3919 LANES_TRACK_GROUP,
3920 "error"
3921 )
3922 ) : console.timeStamp(
3923 "Errored",
3924 startTime,
3925 endTime,
3926 currentTrack,
3927 LANES_TRACK_GROUP,
3928 "error"
3929 ));
3930 }
3931 function logSuspendedCommitPhase(startTime, endTime, reason, debugTask) {
3932 !supportsUserTiming || endTime <= startTime || (debugTask ? debugTask.run(
3933 console.timeStamp.bind(
3934 console,
3935 reason,
3936 startTime,
3937 endTime,
3938 currentTrack,
3939 LANES_TRACK_GROUP,
3940 "secondary-light"
3941 )
3942 ) : console.timeStamp(
3943 reason,
3944 startTime,
3945 endTime,
3946 currentTrack,
3947 LANES_TRACK_GROUP,
3948 "secondary-light"
3949 ));
3950 }
3951 function logCommitErrored(startTime, endTime, errors, passive, debugTask) {
3952 if (supportsUserTiming && !(endTime <= startTime)) {
3953 for (var properties = [], i = 0; i < errors.length; i++) {
3954 var error = errors[i].value;
3955 properties.push([
3956 "Error",
3957 "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error)
3958 ]);
3959 }
3960 startTime = {
3961 start: startTime,
3962 end: endTime,
3963 detail: {
3964 devtools: {
3965 color: "error",
3966 track: currentTrack,
3967 trackGroup: LANES_TRACK_GROUP,
3968 tooltipText: passive ? "Remaining Effects Errored" : "Commit Errored",
3969 properties
3970 }
3971 }
3972 };
3973 debugTask ? debugTask.run(
3974 performance.measure.bind(performance, "Errored", startTime)
3975 ) : performance.measure("Errored", startTime);
3976 performance.clearMeasures("Errored");
3977 }
3978 }
3979 function logCommitPhase(startTime, endTime, errors, abortedViewTransition, debugTask) {
3980 null !== errors ? logCommitErrored(startTime, endTime, errors, false, debugTask) : !supportsUserTiming || endTime <= startTime || (debugTask ? debugTask.run(
3981 console.timeStamp.bind(
3982 console,
3983 abortedViewTransition ? "Commit Interrupted View Transition" : "Commit",
3984 startTime,
3985 endTime,
3986 currentTrack,
3987 LANES_TRACK_GROUP,
3988 abortedViewTransition ? "error" : "secondary-dark"
3989 )
3990 ) : console.timeStamp(
3991 abortedViewTransition ? "Commit Interrupted View Transition" : "Commit",
3992 startTime,
3993 endTime,
3994 currentTrack,
3995 LANES_TRACK_GROUP,
3996 abortedViewTransition ? "error" : "secondary-dark"
3997 ));
3998 }
3999 function logAnimatingPhase(startTime, endTime, debugTask) {
4000 !supportsUserTiming || endTime <= startTime || (debugTask ? debugTask.run(
4001 console.timeStamp.bind(
4002 console,
4003 "Animating",
4004 startTime,
4005 endTime,
4006 currentTrack,
4007 LANES_TRACK_GROUP,
4008 "secondary-dark"
4009 )
4010 ) : console.timeStamp(
4011 "Animating",
4012 startTime,
4013 endTime,
4014 currentTrack,
4015 LANES_TRACK_GROUP,
4016 "secondary-dark"
4017 ));
4018 }
4019 function finishQueueingConcurrentUpdates() {
4020 for (var endIndex = concurrentQueuesIndex, i = concurrentlyUpdatedLanes = concurrentQueuesIndex = 0; i < endIndex; ) {
4021 var fiber = concurrentQueues[i];
4022 concurrentQueues[i++] = null;
4023 var queue = concurrentQueues[i];
4024 concurrentQueues[i++] = null;
4025 var update = concurrentQueues[i];
4026 concurrentQueues[i++] = null;
4027 var lane = concurrentQueues[i];
4028 concurrentQueues[i++] = null;
4029 if (null !== queue && null !== update) {
4030 var pending = queue.pending;
4031 null === pending ? update.next = update : (update.next = pending.next, pending.next = update);
4032 queue.pending = update;
4033 }
4034 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);
4035 }
4036 }
4037 function enqueueUpdate$1(fiber, queue, update, lane) {
4038 concurrentQueues[concurrentQueuesIndex++] = fiber;
4039 concurrentQueues[concurrentQueuesIndex++] = queue;
4040 concurrentQueues[concurrentQueuesIndex++] = update;
4041 concurrentQueues[concurrentQueuesIndex++] = lane;
4042 concurrentlyUpdatedLanes |= lane;
4043 fiber.lanes |= lane;
4044 fiber = fiber.alternate;
4045 null !== fiber && (fiber.lanes |= lane);
4046 }
4047 function enqueueConcurrentHookUpdate(fiber, queue, update, lane) {
4048 enqueueUpdate$1(fiber, queue, update, lane);
4049 return getRootForUpdatedFiber(fiber);
4050 }
4051 function enqueueConcurrentRenderForLane(fiber, lane) {
4052 enqueueUpdate$1(fiber, null, null, lane);
4053 return getRootForUpdatedFiber(fiber);
4054 }
4055 function markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {
4056 sourceFiber.lanes |= lane;
4057 var alternate = sourceFiber.alternate;
4058 null !== alternate && (alternate.lanes |= lane);
4059 for (var isHidden = false, parent = sourceFiber.return; null !== parent; )
4060 parent.childLanes |= lane, alternate = parent.alternate, null !== alternate && (alternate.childLanes |= lane), 22 === parent.tag && (sourceFiber = parent.stateNode, null === sourceFiber || sourceFiber._visibility & OffscreenVisible || (isHidden = true)), sourceFiber = parent, parent = parent.return;
4061 return 3 === sourceFiber.tag ? (parent = sourceFiber.stateNode, isHidden && null !== update && (isHidden = 31 - clz32(lane), sourceFiber = parent.hiddenUpdates, alternate = sourceFiber[isHidden], null === alternate ? sourceFiber[isHidden] = [update] : alternate.push(update), update.lane = lane | 536870912), parent) : null;
4062 }
4063 function getRootForUpdatedFiber(sourceFiber) {
4064 if (nestedUpdateCount > NESTED_UPDATE_LIMIT)
4065 throw nestedPassiveUpdateCount = nestedUpdateCount = 0, rootWithPassiveNestedUpdates = rootWithNestedUpdates = null, Error(
4066 "Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops."
4067 );
4068 nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT && (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, console.error(
4069 "Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render."
4070 ));
4071 null === sourceFiber.alternate && 0 !== (sourceFiber.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);
4072 for (var node = sourceFiber, parent = node.return; null !== parent; )
4073 null === node.alternate && 0 !== (node.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber), node = parent, parent = node.return;
4074 return 3 === node.tag ? node.stateNode : null;
4075 }
4076 function resolveTypeForHotReloading(type) {
4077 if (null === resolveFamily) return type;
4078 var family = resolveFamily(type);
4079 return void 0 === family ? type : family.current;
4080 }
4081 function isCompatibleFamilyForHotReloading(fiber, element) {
4082 if (null === resolveFamily) return false;
4083 var resolve = resolveFamily, prevType = fiber.elementType;
4084 element = element.type;
4085 var needsCompareFamilies = false, $$typeofNextType = "object" === typeof element && null !== element ? element.$$typeof : null;
4086 switch (fiber.tag) {
4087 case 1:
4088 "function" === typeof element && (needsCompareFamilies = true);
4089 break;
4090 case 0:
4091 "function" === typeof element ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true);
4092 break;
4093 case 11:
4094 $$typeofNextType === REACT_FORWARD_REF_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true);
4095 break;
4096 case 14:
4097 case 15:
4098 $$typeofNextType === REACT_MEMO_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true);
4099 break;
4100 default:
4101 return false;
4102 }
4103 return needsCompareFamilies && (fiber = resolve(prevType), void 0 !== fiber && fiber === resolve(element)) ? true : false;
4104 }
4105 function markFailedErrorBoundaryForHotReloading(fiber) {
4106 null !== resolveFamily && "function" === typeof WeakSet && (null === failedBoundaries && (failedBoundaries = /* @__PURE__ */ new WeakSet()), failedBoundaries.add(fiber));
4107 }
4108 function scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) {
4109 do {
4110 var _fiber = fiber, alternate = _fiber.alternate, child = _fiber.child, sibling = _fiber.sibling, tag = _fiber.tag, type = _fiber.type, elementType = _fiber.elementType, candidateType = null;
4111 _fiber = null;
4112 switch (tag) {
4113 case 0:
4114 case 1:
4115 candidateType = type;
4116 break;
4117 case 15:
4118 candidateType = type;
4119 _fiber = elementType;
4120 break;
4121 case 14:
4122 _fiber = elementType;
4123 break;
4124 case 11:
4125 candidateType = type.render, _fiber = elementType;
4126 }
4127 if (null === resolveFamily)
4128 throw Error("Expected resolveFamily to be set during hot reload.");
4129 var resolve = resolveFamily;
4130 type = elementType = false;
4131 null !== candidateType && (candidateType = resolve(candidateType), void 0 !== candidateType && (staleFamilies.has(candidateType) ? type = true : updatedFamilies.has(candidateType) && (1 === tag ? type = true : elementType = true)));
4132 type || null === _fiber || (tag = resolve(_fiber), void 0 !== tag && staleFamilies.has(tag) ? type = true : "object" === typeof _fiber && _fiber.$$typeof === REACT_LAZY_TYPE && (tag = _fiber._payload, 1 === tag._status && (tag = resolve(tag._result.default), void 0 !== tag && staleFamilies.has(tag) && (type = true))));
4133 null !== failedBoundaries && (failedBoundaries.has(fiber) || null !== alternate && failedBoundaries.has(alternate)) && (type = true);
4134 type && (fiber._debugNeedsRemount = true);
4135 if (type || elementType)
4136 alternate = enqueueConcurrentRenderForLane(fiber, 2), null !== alternate && scheduleUpdateOnFiber(alternate, fiber, 2);
4137 null === child || type || scheduleFibersWithFamiliesRecursively(
4138 child,
4139 updatedFamilies,
4140 staleFamilies
4141 );
4142 if (null === sibling) break;
4143 fiber = sibling;
4144 } while (1);
4145 }
4146 function FiberNode(tag, pendingProps, key, mode) {
4147 this.tag = tag;
4148 this.key = key;
4149 this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null;
4150 this.index = 0;
4151 this.refCleanup = this.ref = null;
4152 this.pendingProps = pendingProps;
4153 this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null;
4154 this.mode = mode;
4155 this.subtreeFlags = this.flags = 0;
4156 this.deletions = null;
4157 this.childLanes = this.lanes = 0;
4158 this.alternate = null;
4159 this.actualDuration = -0;
4160 this.actualStartTime = -1.1;
4161 this.treeBaseDuration = this.selfBaseDuration = -0;
4162 this._debugTask = this._debugStack = this._debugOwner = this._debugInfo = null;
4163 this._debugNeedsRemount = false;
4164 this._debugHookTypes = null;
4165 hasBadMapPolyfill || "function" !== typeof Object.preventExtensions || Object.preventExtensions(this);
4166 }
4167 function shouldConstruct(Component) {
4168 Component = Component.prototype;
4169 return !(!Component || !Component.isReactComponent);
4170 }
4171 function createWorkInProgress(current2, pendingProps) {
4172 var workInProgress2 = current2.alternate;
4173 null === workInProgress2 ? (workInProgress2 = createFiber(
4174 current2.tag,
4175 pendingProps,
4176 current2.key,
4177 current2.mode
4178 ), workInProgress2.elementType = current2.elementType, workInProgress2.type = current2.type, workInProgress2.stateNode = current2.stateNode, workInProgress2._debugOwner = current2._debugOwner, workInProgress2._debugStack = current2._debugStack, workInProgress2._debugTask = current2._debugTask, workInProgress2._debugHookTypes = current2._debugHookTypes, workInProgress2.alternate = current2, current2.alternate = workInProgress2) : (workInProgress2.pendingProps = pendingProps, workInProgress2.type = current2.type, workInProgress2.flags = 0, workInProgress2.subtreeFlags = 0, workInProgress2.deletions = null, workInProgress2.actualDuration = -0, workInProgress2.actualStartTime = -1.1);
4179 workInProgress2.flags = current2.flags & 1206910976;
4180 workInProgress2.childLanes = current2.childLanes;
4181 workInProgress2.lanes = current2.lanes;
4182 workInProgress2.child = current2.child;
4183 workInProgress2.memoizedProps = current2.memoizedProps;
4184 workInProgress2.memoizedState = current2.memoizedState;
4185 workInProgress2.updateQueue = current2.updateQueue;
4186 pendingProps = current2.dependencies;
4187 workInProgress2.dependencies = null === pendingProps ? null : {
4188 lanes: pendingProps.lanes,
4189 firstContext: pendingProps.firstContext,
4190 _debugThenableState: pendingProps._debugThenableState
4191 };
4192 workInProgress2.sibling = current2.sibling;
4193 workInProgress2.index = current2.index;
4194 workInProgress2.ref = current2.ref;
4195 workInProgress2.refCleanup = current2.refCleanup;
4196 workInProgress2.selfBaseDuration = current2.selfBaseDuration;
4197 workInProgress2.treeBaseDuration = current2.treeBaseDuration;
4198 workInProgress2._debugInfo = current2._debugInfo;
4199 workInProgress2._debugNeedsRemount = current2._debugNeedsRemount;
4200 switch (workInProgress2.tag) {
4201 case 0:
4202 case 15:
4203 case 14:
4204 case 1:
4205 case 11:
4206 workInProgress2.type = resolveTypeForHotReloading(current2.type);
4207 }
4208 return workInProgress2;
4209 }
4210 function resetWorkInProgress(workInProgress2, renderLanes2) {
4211 workInProgress2.flags &= 1206910978;
4212 var current2 = workInProgress2.alternate;
4213 null === current2 ? (workInProgress2.childLanes = 0, workInProgress2.lanes = renderLanes2, workInProgress2.child = null, workInProgress2.subtreeFlags = 0, workInProgress2.memoizedProps = null, workInProgress2.memoizedState = null, workInProgress2.updateQueue = null, workInProgress2.dependencies = null, workInProgress2.stateNode = null, workInProgress2.selfBaseDuration = 0, workInProgress2.treeBaseDuration = 0) : (workInProgress2.childLanes = current2.childLanes, workInProgress2.lanes = current2.lanes, workInProgress2.child = current2.child, workInProgress2.subtreeFlags = 0, workInProgress2.deletions = null, workInProgress2.memoizedProps = current2.memoizedProps, workInProgress2.memoizedState = current2.memoizedState, workInProgress2.updateQueue = current2.updateQueue, workInProgress2.type = current2.type, renderLanes2 = current2.dependencies, workInProgress2.dependencies = null === renderLanes2 ? null : {
4214 lanes: renderLanes2.lanes,
4215 firstContext: renderLanes2.firstContext,
4216 _debugThenableState: renderLanes2._debugThenableState
4217 }, workInProgress2.selfBaseDuration = current2.selfBaseDuration, workInProgress2.treeBaseDuration = current2.treeBaseDuration);
4218 return workInProgress2;
4219 }
4220 function createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes) {
4221 var fiberTag = 0;
4222 var resolvedType = resolveTypeForHotReloading(type);
4223 if ("function" === typeof resolvedType)
4224 shouldConstruct(resolvedType) && (fiberTag = 1);
4225 else if ("string" === typeof resolvedType)
4226 fiberTag = getHostContext(), fiberTag = isHostHoistableType(type, pendingProps, fiberTag) ? 26 : "html" === type || "head" === type || "body" === type ? 27 : 5;
4227 else
4228 a: switch (resolvedType) {
4229 case REACT_ACTIVITY_TYPE:
4230 return key = createFiber(31, pendingProps, key, mode), key.elementType = REACT_ACTIVITY_TYPE, key.lanes = lanes, key;
4231 case REACT_FRAGMENT_TYPE:
4232 return createFiberFromFragment(
4233 pendingProps.children,
4234 mode,
4235 lanes,
4236 key
4237 );
4238 case REACT_STRICT_MODE_TYPE:
4239 fiberTag = 8;
4240 mode |= StrictLegacyMode;
4241 mode |= StrictEffectsMode;
4242 break;
4243 case REACT_PROFILER_TYPE:
4244 return type = pendingProps, owner = mode, "string" !== typeof type.id && console.error(
4245 'Profiler must specify an "id" of type `string` as a prop. Received the type `%s` instead.',
4246 typeof type.id
4247 ), key = createFiber(12, type, key, owner | ProfileMode), key.elementType = REACT_PROFILER_TYPE, key.lanes = lanes, key.stateNode = { effectDuration: 0, passiveEffectDuration: 0 }, key;
4248 case REACT_SUSPENSE_TYPE:
4249 return key = createFiber(13, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_TYPE, key.lanes = lanes, key;
4250 case REACT_SUSPENSE_LIST_TYPE:
4251 return key = createFiber(19, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_LIST_TYPE, key.lanes = lanes, key;
4252 case REACT_LEGACY_HIDDEN_TYPE:
4253 case REACT_VIEW_TRANSITION_TYPE:
4254 return type = mode | SuspenseyImagesMode, key = createFiber(30, pendingProps, key, type), key.elementType = REACT_VIEW_TRANSITION_TYPE, key.lanes = lanes, key.stateNode = {
4255 autoName: null,
4256 paired: null,
4257 clones: null,
4258 ref: null
4259 }, key;
4260 default:
4261 if ("object" === typeof resolvedType && null !== resolvedType)
4262 switch (resolvedType.$$typeof) {
4263 case REACT_CONTEXT_TYPE:
4264 fiberTag = 10;
4265 break a;
4266 case REACT_CONSUMER_TYPE:
4267 fiberTag = 9;
4268 break a;
4269 case REACT_FORWARD_REF_TYPE:
4270 fiberTag = 11;
4271 break a;
4272 case REACT_MEMO_TYPE:
4273 fiberTag = 14;
4274 break a;
4275 case REACT_LAZY_TYPE:
4276 fiberTag = 16;
4277 resolvedType = null;
4278 break a;
4279 }
4280 pendingProps = "";
4281 if (void 0 === type || "object" === typeof type && null !== type && 0 === Object.keys(type).length)
4282 pendingProps += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.";
4283 null === type ? resolvedType = "null" : isArrayImpl(type) ? resolvedType = "array" : void 0 !== type && (type.$$typeof === REACT_ELEMENT_TYPE || (type.$$typeof === REACT_LEGACY_ELEMENT_TYPE && (__wpWarnCompat("legacy-element"), true))) ? (resolvedType = "<" + (getComponentNameFromType(type.type) || "Unknown") + " />", pendingProps = " Did you accidentally export a JSX literal instead of a component?") : resolvedType = typeof type;
4284 (fiberTag = owner ? getComponentNameFromOwner(owner) : null) && (pendingProps += "\n\nCheck the render method of `" + fiberTag + "`.");
4285 fiberTag = 29;
4286 pendingProps = Error(
4287 "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + (resolvedType + "." + pendingProps)
4288 );
4289 resolvedType = null;
4290 }
4291 key = createFiber(fiberTag, pendingProps, key, mode);
4292 key.elementType = type;
4293 key.type = resolvedType;
4294 key.lanes = lanes;
4295 key._debugOwner = owner;
4296 return key;
4297 }
4298 function createFiberFromElement(element, mode, lanes) {
4299 mode = createFiberFromTypeAndProps(
4300 element.type,
4301 element.key,
4302 element.props,
4303 element._owner,
4304 mode,
4305 lanes
4306 );
4307 mode._debugOwner = element._owner;
4308 mode._debugStack = element._debugStack;
4309 mode._debugTask = element._debugTask;
4310 return mode;
4311 }
4312 function createFiberFromFragment(elements, mode, lanes, key) {
4313 elements = createFiber(7, elements, key, mode);
4314 elements.lanes = lanes;
4315 return elements;
4316 }
4317 function createFiberFromText(content, mode, lanes) {
4318 content = createFiber(6, content, null, mode);
4319 content.lanes = lanes;
4320 return content;
4321 }
4322 function createFiberFromDehydratedFragment(dehydratedNode) {
4323 var fiber = createFiber(18, null, null, NoMode);
4324 fiber.stateNode = dehydratedNode;
4325 return fiber;
4326 }
4327 function createFiberFromPortal(portal, mode, lanes) {
4328 mode = createFiber(
4329 4,
4330 null !== portal.children ? portal.children : [],
4331 portal.key,
4332 mode
4333 );
4334 mode.lanes = lanes;
4335 mode.stateNode = {
4336 containerInfo: portal.containerInfo,
4337 pendingChildren: null,
4338 implementation: portal.implementation
4339 };
4340 return mode;
4341 }
4342 function createCapturedValueAtFiber(value, source) {
4343 if ("object" === typeof value && null !== value) {
4344 var existing = CapturedStacks.get(value);
4345 if (void 0 !== existing) return existing;
4346 source = {
4347 value,
4348 source,
4349 stack: getStackByFiberInDevAndProd(source)
4350 };
4351 CapturedStacks.set(value, source);
4352 return source;
4353 }
4354 return {
4355 value,
4356 source,
4357 stack: getStackByFiberInDevAndProd(source)
4358 };
4359 }
4360 function pushTreeFork(workInProgress2, totalChildren) {
4361 warnIfNotHydrating();
4362 forkStack[forkStackIndex++] = treeForkCount;
4363 forkStack[forkStackIndex++] = treeForkProvider;
4364 treeForkProvider = workInProgress2;
4365 treeForkCount = totalChildren;
4366 }
4367 function pushTreeId(workInProgress2, totalChildren, index) {
4368 warnIfNotHydrating();
4369 idStack[idStackIndex++] = treeContextId;
4370 idStack[idStackIndex++] = treeContextOverflow;
4371 idStack[idStackIndex++] = treeContextProvider;
4372 treeContextProvider = workInProgress2;
4373 var baseIdWithLeadingBit = treeContextId;
4374 workInProgress2 = treeContextOverflow;
4375 var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;
4376 baseIdWithLeadingBit &= ~(1 << baseLength);
4377 index += 1;
4378 var length = 32 - clz32(totalChildren) + baseLength;
4379 if (30 < length) {
4380 var numberOfOverflowBits = baseLength - baseLength % 5;
4381 length = (baseIdWithLeadingBit & (1 << numberOfOverflowBits) - 1).toString(32);
4382 baseIdWithLeadingBit >>= numberOfOverflowBits;
4383 baseLength -= numberOfOverflowBits;
4384 treeContextId = 1 << 32 - clz32(totalChildren) + baseLength | index << baseLength | baseIdWithLeadingBit;
4385 treeContextOverflow = length + workInProgress2;
4386 } else
4387 treeContextId = 1 << length | index << baseLength | baseIdWithLeadingBit, treeContextOverflow = workInProgress2;
4388 }
4389 function pushMaterializedTreeId(workInProgress2) {
4390 warnIfNotHydrating();
4391 null !== workInProgress2.return && (pushTreeFork(workInProgress2, 1), pushTreeId(workInProgress2, 1, 0));
4392 }
4393 function popTreeContext(workInProgress2) {
4394 for (; workInProgress2 === treeForkProvider; )
4395 treeForkProvider = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null, treeForkCount = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null;
4396 for (; workInProgress2 === treeContextProvider; )
4397 treeContextProvider = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextOverflow = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextId = idStack[--idStackIndex], idStack[idStackIndex] = null;
4398 }
4399 function getSuspendedTreeContext() {
4400 warnIfNotHydrating();
4401 return null !== treeContextProvider ? { id: treeContextId, overflow: treeContextOverflow } : null;
4402 }
4403 function restoreSuspendedTreeContext(workInProgress2, suspendedContext) {
4404 warnIfNotHydrating();
4405 idStack[idStackIndex++] = treeContextId;
4406 idStack[idStackIndex++] = treeContextOverflow;
4407 idStack[idStackIndex++] = treeContextProvider;
4408 treeContextId = suspendedContext.id;
4409 treeContextOverflow = suspendedContext.overflow;
4410 treeContextProvider = workInProgress2;
4411 }
4412 function warnIfNotHydrating() {
4413 isHydrating || console.error(
4414 "Expected to be hydrating. This is a bug in React. Please file an issue."
4415 );
4416 }
4417 function buildHydrationDiffNode(fiber, distanceFromLeaf) {
4418 if (null === fiber.return) {
4419 if (null === hydrationDiffRootDEV)
4420 hydrationDiffRootDEV = {
4421 fiber,
4422 children: [],
4423 serverProps: void 0,
4424 serverTail: [],
4425 distanceFromLeaf
4426 };
4427 else {
4428 if (hydrationDiffRootDEV.fiber !== fiber)
4429 throw Error(
4430 "Saw multiple hydration diff roots in a pass. This is a bug in React."
4431 );
4432 hydrationDiffRootDEV.distanceFromLeaf > distanceFromLeaf && (hydrationDiffRootDEV.distanceFromLeaf = distanceFromLeaf);
4433 }
4434 return hydrationDiffRootDEV;
4435 }
4436 var siblings = buildHydrationDiffNode(
4437 fiber.return,
4438 distanceFromLeaf + 1
4439 ).children;
4440 if (0 < siblings.length && siblings[siblings.length - 1].fiber === fiber)
4441 return siblings = siblings[siblings.length - 1], siblings.distanceFromLeaf > distanceFromLeaf && (siblings.distanceFromLeaf = distanceFromLeaf), siblings;
4442 distanceFromLeaf = {
4443 fiber,
4444 children: [],
4445 serverProps: void 0,
4446 serverTail: [],
4447 distanceFromLeaf
4448 };
4449 siblings.push(distanceFromLeaf);
4450 return distanceFromLeaf;
4451 }
4452 function warnIfHydrating() {
4453 isHydrating && console.error(
4454 "We should not be hydrating here. This is a bug in React. Please file a bug."
4455 );
4456 }
4457 function warnNonHydratedInstance(fiber, rejectedCandidate) {
4458 didSuspendOrErrorDEV || (fiber = buildHydrationDiffNode(fiber, 0), fiber.serverProps = null, null !== rejectedCandidate && (rejectedCandidate = describeHydratableInstanceForDevWarnings(rejectedCandidate), fiber.serverTail.push(rejectedCandidate)));
4459 }
4460 function throwOnHydrationMismatch(fiber) {
4461 var fromText = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : false, diff = "", diffRoot = hydrationDiffRootDEV;
4462 null !== diffRoot && (hydrationDiffRootDEV = null, diff = describeDiff(diffRoot));
4463 queueHydrationError(
4464 createCapturedValueAtFiber(
4465 Error(
4466 "Hydration failed because the server rendered " + (fromText ? "text" : "HTML") + " didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:\n\n- A server/client branch `if (typeof window !== 'undefined')`.\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\n- Date formatting in a user's locale which doesn't match the server.\n- External changing data without sending a snapshot of it along with the HTML.\n- Invalid HTML tag nesting.\n\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\n\nhttps://react.dev/link/hydration-mismatch" + diff
4467 ),
4468 fiber
4469 )
4470 );
4471 throw HydrationMismatchException;
4472 }
4473 function prepareToHydrateHostInstance(fiber) {
4474 var didHydrate = fiber.stateNode;
4475 var type = fiber.type, props = fiber.memoizedProps;
4476 didHydrate[internalInstanceKey] = fiber;
4477 didHydrate[internalPropsKey] = props;
4478 validatePropertiesInDevelopment(type, props);
4479 switch (type) {
4480 case "dialog":
4481 listenToNonDelegatedEvent("cancel", didHydrate);
4482 listenToNonDelegatedEvent("close", didHydrate);
4483 break;
4484 case "iframe":
4485 case "object":
4486 case "embed":
4487 listenToNonDelegatedEvent("load", didHydrate);
4488 break;
4489 case "video":
4490 case "audio":
4491 for (type = 0; type < mediaEventTypes.length; type++)
4492 listenToNonDelegatedEvent(mediaEventTypes[type], didHydrate);
4493 break;
4494 case "source":
4495 listenToNonDelegatedEvent("error", didHydrate);
4496 break;
4497 case "img":
4498 case "image":
4499 case "link":
4500 listenToNonDelegatedEvent("error", didHydrate);
4501 listenToNonDelegatedEvent("load", didHydrate);
4502 break;
4503 case "details":
4504 listenToNonDelegatedEvent("toggle", didHydrate);
4505 break;
4506 case "input":
4507 checkControlledValueProps("input", props);
4508 listenToNonDelegatedEvent("invalid", didHydrate);
4509 validateInputProps(didHydrate, props);
4510 initInput(
4511 didHydrate,
4512 props.value,
4513 props.defaultValue,
4514 props.checked,
4515 props.defaultChecked,
4516 props.type,
4517 props.name,
4518 true
4519 );
4520 break;
4521 case "option":
4522 validateOptionProps(didHydrate, props);
4523 break;
4524 case "select":
4525 checkControlledValueProps("select", props);
4526 listenToNonDelegatedEvent("invalid", didHydrate);
4527 validateSelectProps(didHydrate, props);
4528 break;
4529 case "textarea":
4530 checkControlledValueProps("textarea", props), listenToNonDelegatedEvent("invalid", didHydrate), validateTextareaProps(didHydrate, props), initTextarea(
4531 didHydrate,
4532 props.value,
4533 props.defaultValue,
4534 props.children
4535 );
4536 }
4537 type = props.children;
4538 "string" !== typeof type && "number" !== typeof type && "bigint" !== typeof type || didHydrate.textContent === "" + type || true === props.suppressHydrationWarning || checkForUnmatchedText(didHydrate.textContent, type) ? (null != props.popover && (listenToNonDelegatedEvent("beforetoggle", didHydrate), listenToNonDelegatedEvent("toggle", didHydrate)), null != props.onScroll && listenToNonDelegatedEvent("scroll", didHydrate), null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", didHydrate), null != props.onClick && (didHydrate.onclick = noop$1), didHydrate = true) : didHydrate = false;
4539 didHydrate || throwOnHydrationMismatch(fiber, true);
4540 }
4541 function popToNextHostParent(fiber) {
4542 for (hydrationParentFiber = fiber.return; hydrationParentFiber; )
4543 switch (hydrationParentFiber.tag) {
4544 case 5:
4545 case 31:
4546 case 13:
4547 rootOrSingletonContext = false;
4548 return;
4549 case 27:
4550 case 3:
4551 rootOrSingletonContext = true;
4552 return;
4553 default:
4554 hydrationParentFiber = hydrationParentFiber.return;
4555 }
4556 }
4557 function popHydrationState(fiber) {
4558 if (fiber !== hydrationParentFiber) return false;
4559 if (!isHydrating)
4560 return popToNextHostParent(fiber), isHydrating = true, false;
4561 var tag = fiber.tag, JSCompiler_temp;
4562 if (JSCompiler_temp = 3 !== tag && 27 !== tag) {
4563 if (JSCompiler_temp = 5 === tag)
4564 JSCompiler_temp = fiber.type, JSCompiler_temp = !("form" !== JSCompiler_temp && "button" !== JSCompiler_temp) || shouldSetTextContent(fiber.type, fiber.memoizedProps);
4565 JSCompiler_temp = !JSCompiler_temp;
4566 }
4567 if (JSCompiler_temp && nextHydratableInstance) {
4568 for (JSCompiler_temp = nextHydratableInstance; JSCompiler_temp; ) {
4569 var diffNode = buildHydrationDiffNode(fiber, 0), description = describeHydratableInstanceForDevWarnings(JSCompiler_temp);
4570 diffNode.serverTail.push(description);
4571 JSCompiler_temp = "Suspense" === description.type ? getNextHydratableInstanceAfterHydrationBoundary(JSCompiler_temp) : getNextHydratable(JSCompiler_temp.nextSibling);
4572 }
4573 throwOnHydrationMismatch(fiber);
4574 }
4575 popToNextHostParent(fiber);
4576 if (13 === tag) {
4577 fiber = fiber.memoizedState;
4578 fiber = null !== fiber ? fiber.dehydrated : null;
4579 if (!fiber)
4580 throw Error(
4581 "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue."
4582 );
4583 nextHydratableInstance = getNextHydratableInstanceAfterHydrationBoundary(fiber);
4584 } else if (31 === tag) {
4585 fiber = fiber.memoizedState;
4586 fiber = null !== fiber ? fiber.dehydrated : null;
4587 if (!fiber)
4588 throw Error(
4589 "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue."
4590 );
4591 nextHydratableInstance = getNextHydratableInstanceAfterHydrationBoundary(fiber);
4592 } else
4593 27 === tag ? (tag = nextHydratableInstance, isSingletonScope(fiber.type) ? (fiber = previousHydratableOnEnteringScopedSingleton, previousHydratableOnEnteringScopedSingleton = null, nextHydratableInstance = fiber) : nextHydratableInstance = tag) : nextHydratableInstance = hydrationParentFiber ? getNextHydratable(fiber.stateNode.nextSibling) : null;
4594 return true;
4595 }
4596 function resetHydrationState() {
4597 nextHydratableInstance = hydrationParentFiber = null;
4598 didSuspendOrErrorDEV = isHydrating = false;
4599 }
4600 function upgradeHydrationErrorsToRecoverable() {
4601 var queuedErrors = hydrationErrors;
4602 null !== queuedErrors && (null === workInProgressRootRecoverableErrors ? workInProgressRootRecoverableErrors = queuedErrors : workInProgressRootRecoverableErrors.push.apply(
4603 workInProgressRootRecoverableErrors,
4604 queuedErrors
4605 ), hydrationErrors = null);
4606 return queuedErrors;
4607 }
4608 function queueHydrationError(error) {
4609 null === hydrationErrors ? hydrationErrors = [error] : hydrationErrors.push(error);
4610 }
4611 function emitPendingHydrationWarnings() {
4612 var diffRoot = hydrationDiffRootDEV;
4613 if (null !== diffRoot) {
4614 hydrationDiffRootDEV = null;
4615 for (var diff = describeDiff(diffRoot); 0 < diffRoot.children.length; )
4616 diffRoot = diffRoot.children[0];
4617 runWithFiberInDEV(diffRoot.fiber, function() {
4618 console.error(
4619 "A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:\n\n- A server/client branch `if (typeof window !== 'undefined')`.\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\n- Date formatting in a user's locale which doesn't match the server.\n- External changing data without sending a snapshot of it along with the HTML.\n- Invalid HTML tag nesting.\n\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\n\n%s%s",
4620 "https://react.dev/link/hydration-mismatch",
4621 diff
4622 );
4623 });
4624 }
4625 }
4626 function resetContextDependencies() {
4627 lastContextDependency = currentlyRenderingFiber$1 = null;
4628 isDisallowedContextReadInDEV = false;
4629 }
4630 function pushProvider(providerFiber, context, nextValue) {
4631 push(valueCursor, context._currentValue, providerFiber);
4632 context._currentValue = nextValue;
4633 push(rendererCursorDEV, context._currentRenderer, providerFiber);
4634 void 0 !== context._currentRenderer && null !== context._currentRenderer && context._currentRenderer !== rendererSigil && console.error(
4635 "Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."
4636 );
4637 context._currentRenderer = rendererSigil;
4638 }
4639 function popProvider(context, providerFiber) {
4640 context._currentValue = valueCursor.current;
4641 var currentRenderer = rendererCursorDEV.current;
4642 pop(rendererCursorDEV, providerFiber);
4643 context._currentRenderer = currentRenderer;
4644 pop(valueCursor, providerFiber);
4645 }
4646 function scheduleContextWorkOnParentPath(parent, renderLanes2, propagationRoot) {
4647 for (; null !== parent; ) {
4648 var alternate = parent.alternate;
4649 (parent.childLanes & renderLanes2) !== renderLanes2 ? (parent.childLanes |= renderLanes2, null !== alternate && (alternate.childLanes |= renderLanes2)) : null !== alternate && (alternate.childLanes & renderLanes2) !== renderLanes2 && (alternate.childLanes |= renderLanes2);
4650 if (parent === propagationRoot) break;
4651 parent = parent.return;
4652 }
4653 parent !== propagationRoot && console.error(
4654 "Expected to find the propagation root when scheduling context work. This error is likely caused by a bug in React. Please file an issue."
4655 );
4656 }
4657 function propagateContextChanges(workInProgress2, contexts, renderLanes2, forcePropagateEntireTree) {
4658 var fiber = workInProgress2.child;
4659 null !== fiber && (fiber.return = workInProgress2);
4660 for (; null !== fiber; ) {
4661 var list = fiber.dependencies;
4662 if (null !== list) {
4663 var nextFiber = fiber.child;
4664 list = list.firstContext;
4665 a: for (; null !== list; ) {
4666 var dependency = list;
4667 list = fiber;
4668 for (var i = 0; i < contexts.length; i++)
4669 if (dependency.context === contexts[i]) {
4670 list.lanes |= renderLanes2;
4671 dependency = list.alternate;
4672 null !== dependency && (dependency.lanes |= renderLanes2);
4673 scheduleContextWorkOnParentPath(
4674 list.return,
4675 renderLanes2,
4676 workInProgress2
4677 );
4678 forcePropagateEntireTree || (nextFiber = null);
4679 break a;
4680 }
4681 list = dependency.next;
4682 }
4683 } else if (18 === fiber.tag) {
4684 nextFiber = fiber.return;
4685 if (null === nextFiber)
4686 throw Error(
4687 "We just came from a parent so we must have had a parent. This is a bug in React."
4688 );
4689 nextFiber.lanes |= renderLanes2;
4690 list = nextFiber.alternate;
4691 null !== list && (list.lanes |= renderLanes2);
4692 scheduleContextWorkOnParentPath(
4693 nextFiber,
4694 renderLanes2,
4695 workInProgress2
4696 );
4697 nextFiber = null;
4698 } else
4699 13 === fiber.tag && null !== fiber.memoizedState && null === fiber.memoizedState.dehydrated ? (fiber.lanes |= renderLanes2, nextFiber = fiber.alternate, null !== nextFiber && (nextFiber.lanes |= renderLanes2), scheduleContextWorkOnParentPath(
4700 fiber.return,
4701 renderLanes2,
4702 workInProgress2
4703 ), nextFiber = fiber.child, nextFiber = null !== nextFiber ? nextFiber.sibling : null) : nextFiber = fiber.child;
4704 if (null !== nextFiber) nextFiber.return = fiber;
4705 else
4706 for (nextFiber = fiber; null !== nextFiber; ) {
4707 if (nextFiber === workInProgress2) {
4708 nextFiber = null;
4709 break;
4710 }
4711 fiber = nextFiber.sibling;
4712 if (null !== fiber) {
4713 fiber.return = nextFiber.return;
4714 nextFiber = fiber;
4715 break;
4716 }
4717 nextFiber = nextFiber.return;
4718 }
4719 fiber = nextFiber;
4720 }
4721 }
4722 function propagateParentContextChanges(current2, workInProgress2, renderLanes2, forcePropagateEntireTree) {
4723 current2 = null;
4724 for (var parent = workInProgress2, isInsidePropagationBailout = false; null !== parent; ) {
4725 if (!isInsidePropagationBailout) {
4726 if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = true;
4727 else if (0 !== (parent.flags & 262144)) break;
4728 }
4729 if (10 === parent.tag) {
4730 var currentParent = parent.alternate;
4731 if (null === currentParent)
4732 throw Error("Should have a current fiber. This is a bug in React.");
4733 currentParent = currentParent.memoizedProps;
4734 if (null !== currentParent) {
4735 var context = parent.type;
4736 objectIs(parent.pendingProps.value, currentParent.value) || (null !== current2 ? current2.push(context) : current2 = [context]);
4737 }
4738 } else if (parent === hostTransitionProviderCursor.current) {
4739 currentParent = parent.alternate;
4740 if (null === currentParent)
4741 throw Error("Should have a current fiber. This is a bug in React.");
4742 currentParent.memoizedState.memoizedState !== parent.memoizedState.memoizedState && (null !== current2 ? current2.push(HostTransitionContext) : current2 = [HostTransitionContext]);
4743 }
4744 parent = parent.return;
4745 }
4746 null !== current2 && propagateContextChanges(
4747 workInProgress2,
4748 current2,
4749 renderLanes2,
4750 forcePropagateEntireTree
4751 );
4752 workInProgress2.flags |= 262144;
4753 return null !== current2;
4754 }
4755 function checkIfContextChanged(currentDependencies) {
4756 for (currentDependencies = currentDependencies.firstContext; null !== currentDependencies; ) {
4757 if (!objectIs(
4758 currentDependencies.context._currentValue,
4759 currentDependencies.memoizedValue
4760 ))
4761 return true;
4762 currentDependencies = currentDependencies.next;
4763 }
4764 return false;
4765 }
4766 function prepareToReadContext(workInProgress2) {
4767 currentlyRenderingFiber$1 = workInProgress2;
4768 lastContextDependency = null;
4769 workInProgress2 = workInProgress2.dependencies;
4770 null !== workInProgress2 && (workInProgress2.firstContext = null);
4771 }
4772 function readContext(context) {
4773 isDisallowedContextReadInDEV && console.error(
4774 "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."
4775 );
4776 return readContextForConsumer(currentlyRenderingFiber$1, context);
4777 }
4778 function readContextDuringReconciliation(consumer, context) {
4779 null === currentlyRenderingFiber$1 && prepareToReadContext(consumer);
4780 return readContextForConsumer(consumer, context);
4781 }
4782 function readContextForConsumer(consumer, context) {
4783 var value = context._currentValue;
4784 context = { context, memoizedValue: value, next: null };
4785 if (null === lastContextDependency) {
4786 if (null === consumer)
4787 throw Error(
4788 "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."
4789 );
4790 lastContextDependency = context;
4791 consumer.dependencies = {
4792 lanes: 0,
4793 firstContext: context,
4794 _debugThenableState: null
4795 };
4796 consumer.flags |= 524288;
4797 } else lastContextDependency = lastContextDependency.next = context;
4798 return value;
4799 }
4800 function createCache() {
4801 return {
4802 controller: new AbortControllerLocal(),
4803 data: /* @__PURE__ */ new Map(),
4804 refCount: 0
4805 };
4806 }
4807 function retainCache(cache) {
4808 cache.controller.signal.aborted && console.warn(
4809 "A cache instance was retained after it was already freed. This likely indicates a bug in React."
4810 );
4811 cache.refCount++;
4812 }
4813 function releaseCache(cache) {
4814 cache.refCount--;
4815 0 > cache.refCount && console.warn(
4816 "A cache instance was released after it was already freed. This likely indicates a bug in React."
4817 );
4818 0 === cache.refCount && scheduleCallback$2(NormalPriority, function() {
4819 cache.controller.abort();
4820 });
4821 }
4822 function queueTransitionTypes(root2, transitionTypes) {
4823 if (0 !== (root2.pendingLanes & 4194048)) {
4824 var queued = root2.transitionTypes;
4825 null === queued && (queued = root2.transitionTypes = []);
4826 for (root2 = 0; root2 < transitionTypes.length; root2++) {
4827 var transitionType = transitionTypes[root2];
4828 -1 === queued.indexOf(transitionType) && queued.push(transitionType);
4829 }
4830 }
4831 }
4832 function claimQueuedTransitionTypes(root2) {
4833 var claimed = root2.transitionTypes;
4834 root2.transitionTypes = null;
4835 return claimed;
4836 }
4837 function startUpdateTimerByLane(lane, method, fiber) {
4838 if (0 !== (lane & 127))
4839 0 > blockingUpdateTime && (blockingUpdateTime = now(), blockingUpdateTask = createTask(method), blockingUpdateMethodName = method, null != fiber && (blockingUpdateComponentName = getComponentNameFromFiber(fiber)), (executionContext & (RenderContext | CommitContext)) !== NoContext && (componentEffectSpawnedUpdate = true, blockingUpdateType = SPAWNED_UPDATE), lane = resolveEventTimeStamp(), method = resolveEventType(), lane !== blockingEventRepeatTime || method !== blockingEventType ? blockingEventRepeatTime = -1.1 : null !== method && (blockingUpdateType = SPAWNED_UPDATE), blockingEventTime = lane, blockingEventType = method);
4840 else if (0 !== (lane & 4194048) && 0 > transitionUpdateTime && (transitionUpdateTime = now(), transitionUpdateTask = createTask(method), transitionUpdateMethodName = method, null != fiber && (transitionUpdateComponentName = getComponentNameFromFiber(fiber)), 0 > transitionStartTime)) {
4841 lane = resolveEventTimeStamp();
4842 method = resolveEventType();
4843 if (lane !== transitionEventRepeatTime || method !== transitionEventType)
4844 transitionEventRepeatTime = -1.1;
4845 transitionEventTime = lane;
4846 transitionEventType = method;
4847 }
4848 }
4849 function startHostActionTimer(fiber) {
4850 if (0 > blockingUpdateTime) {
4851 blockingUpdateTime = now();
4852 blockingUpdateTask = null != fiber._debugTask ? fiber._debugTask : null;
4853 (executionContext & (RenderContext | CommitContext)) !== NoContext && (blockingUpdateType = SPAWNED_UPDATE);
4854 var newEventTime = resolveEventTimeStamp(), newEventType = resolveEventType();
4855 newEventTime !== blockingEventRepeatTime || newEventType !== blockingEventType ? blockingEventRepeatTime = -1.1 : null !== newEventType && (blockingUpdateType = SPAWNED_UPDATE);
4856 blockingEventTime = newEventTime;
4857 blockingEventType = newEventType;
4858 }
4859 if (0 > transitionUpdateTime && (transitionUpdateTime = now(), transitionUpdateTask = null != fiber._debugTask ? fiber._debugTask : null, 0 > transitionStartTime)) {
4860 fiber = resolveEventTimeStamp();
4861 newEventTime = resolveEventType();
4862 if (fiber !== transitionEventRepeatTime || newEventTime !== transitionEventType)
4863 transitionEventRepeatTime = -1.1;
4864 transitionEventTime = fiber;
4865 transitionEventType = newEventTime;
4866 }
4867 }
4868 function pushNestedEffectDurations() {
4869 var prevEffectDuration = profilerEffectDuration;
4870 profilerEffectDuration = 0;
4871 return prevEffectDuration;
4872 }
4873 function popNestedEffectDurations(prevEffectDuration) {
4874 var elapsedTime = profilerEffectDuration;
4875 profilerEffectDuration = prevEffectDuration;
4876 return elapsedTime;
4877 }
4878 function bubbleNestedEffectDurations(prevEffectDuration) {
4879 var elapsedTime = profilerEffectDuration;
4880 profilerEffectDuration += prevEffectDuration;
4881 return elapsedTime;
4882 }
4883 function resetComponentEffectTimers() {
4884 componentEffectEndTime = componentEffectStartTime = -1.1;
4885 }
4886 function pushComponentEffectStart() {
4887 var prevEffectStart = componentEffectStartTime;
4888 componentEffectStartTime = -1.1;
4889 return prevEffectStart;
4890 }
4891 function popComponentEffectStart(prevEffectStart) {
4892 0 <= prevEffectStart && (componentEffectStartTime = prevEffectStart);
4893 }
4894 function pushComponentEffectDuration() {
4895 var prevEffectDuration = componentEffectDuration;
4896 componentEffectDuration = -0;
4897 return prevEffectDuration;
4898 }
4899 function popComponentEffectDuration(prevEffectDuration) {
4900 0 <= prevEffectDuration && (componentEffectDuration = prevEffectDuration);
4901 }
4902 function pushComponentEffectErrors() {
4903 var prevErrors = componentEffectErrors;
4904 componentEffectErrors = null;
4905 return prevErrors;
4906 }
4907 function pushComponentEffectDidSpawnUpdate() {
4908 var prev = componentEffectSpawnedUpdate;
4909 componentEffectSpawnedUpdate = false;
4910 return prev;
4911 }
4912 function startProfilerTimer(fiber) {
4913 profilerStartTime = now();
4914 0 > fiber.actualStartTime && (fiber.actualStartTime = profilerStartTime);
4915 }
4916 function stopProfilerTimerIfRunningAndRecordDuration(fiber) {
4917 if (0 <= profilerStartTime) {
4918 var elapsedTime = now() - profilerStartTime;
4919 fiber.actualDuration += elapsedTime;
4920 fiber.selfBaseDuration = elapsedTime;
4921 profilerStartTime = -1;
4922 }
4923 }
4924 function stopProfilerTimerIfRunningAndRecordIncompleteDuration(fiber) {
4925 if (0 <= profilerStartTime) {
4926 var elapsedTime = now() - profilerStartTime;
4927 fiber.actualDuration += elapsedTime;
4928 profilerStartTime = -1;
4929 }
4930 }
4931 function recordEffectDuration() {
4932 if (0 <= profilerStartTime) {
4933 var endTime = now(), elapsedTime = endTime - profilerStartTime;
4934 profilerStartTime = -1;
4935 profilerEffectDuration += elapsedTime;
4936 componentEffectDuration += elapsedTime;
4937 componentEffectEndTime = endTime;
4938 }
4939 }
4940 function recordEffectError(errorInfo) {
4941 null === componentEffectErrors && (componentEffectErrors = []);
4942 componentEffectErrors.push(errorInfo);
4943 null === commitErrors && (commitErrors = []);
4944 commitErrors.push(errorInfo);
4945 }
4946 function startEffectTimer() {
4947 profilerStartTime = now();
4948 0 > componentEffectStartTime && (componentEffectStartTime = profilerStartTime);
4949 }
4950 function transferActualDuration(fiber) {
4951 for (var child = fiber.child; child; )
4952 fiber.actualDuration += child.actualDuration, child = child.sibling;
4953 }
4954 function entangleAsyncAction(transition, thenable) {
4955 if (null === currentEntangledListeners) {
4956 var entangledListeners = currentEntangledListeners = [];
4957 currentEntangledPendingCount = 0;
4958 currentEntangledLane = requestTransitionLane();
4959 currentEntangledActionThenable = {
4960 status: "pending",
4961 value: void 0,
4962 then: function(resolve) {
4963 entangledListeners.push(resolve);
4964 }
4965 };
4966 }
4967 currentEntangledPendingCount++;
4968 thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);
4969 return thenable;
4970 }
4971 function pingEngtangledActionScope() {
4972 if (0 === --currentEntangledPendingCount && (-1 < transitionUpdateTime || (transitionStartTime = -1.1), entangledTransitionTypes = null, null !== currentEntangledListeners)) {
4973 null !== currentEntangledActionThenable && (currentEntangledActionThenable.status = "fulfilled");
4974 var listeners = currentEntangledListeners;
4975 currentEntangledListeners = null;
4976 currentEntangledLane = 0;
4977 currentEntangledActionThenable = null;
4978 for (var i = 0; i < listeners.length; i++) (0, listeners[i])();
4979 }
4980 }
4981 function chainThenableValue(thenable, result) {
4982 var listeners = [], thenableWithOverride = {
4983 status: "pending",
4984 value: null,
4985 reason: null,
4986 then: function(resolve) {
4987 listeners.push(resolve);
4988 }
4989 };
4990 thenable.then(
4991 function() {
4992 thenableWithOverride.status = "fulfilled";
4993 thenableWithOverride.value = result;
4994 for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);
4995 },
4996 function(error) {
4997 thenableWithOverride.status = "rejected";
4998 thenableWithOverride.reason = error;
4999 for (error = 0; error < listeners.length; error++)
5000 (0, listeners[error])(void 0);
5001 }
5002 );
5003 return thenableWithOverride;
5004 }
5005 function peekCacheFromPool() {
5006 var cacheResumedFromPreviousRender = resumedCache.current;
5007 return null !== cacheResumedFromPreviousRender ? cacheResumedFromPreviousRender : workInProgressRoot.pooledCache;
5008 }
5009 function pushTransition(offscreenWorkInProgress, prevCachePool) {
5010 null === prevCachePool ? push(resumedCache, resumedCache.current, offscreenWorkInProgress) : push(resumedCache, prevCachePool.pool, offscreenWorkInProgress);
5011 }
5012 function getSuspendedCache() {
5013 var cacheFromPool = peekCacheFromPool();
5014 return null === cacheFromPool ? null : { parent: CacheContext._currentValue, pool: cacheFromPool };
5015 }
5016 function createThenableState() {
5017 return { didWarnAboutUncachedPromise: false, thenables: [] };
5018 }
5019 function isThenableResolved(thenable) {
5020 thenable = thenable.status;
5021 return "fulfilled" === thenable || "rejected" === thenable;
5022 }
5023 function trackUsedThenable(thenableState2, thenable, index, fiber) {
5024 null !== ReactSharedInternals.actQueue && (ReactSharedInternals.didUsePromise = true);
5025 var trackedThenables = thenableState2.thenables;
5026 index = trackedThenables[index];
5027 void 0 === index ? trackedThenables.push(thenable) : index !== thenable && (thenableState2.didWarnAboutUncachedPromise || (thenableState2.didWarnAboutUncachedPromise = true, console.error(
5028 "A component was suspended by an uncached promise. Creating promises inside a Client Component or hook is not yet supported, except via a Suspense-compatible library or framework."
5029 )), thenable.then(noop$1, noop$1), thenable = index);
5030 if (void 0 === thenable._debugInfo) {
5031 thenableState2 = performance.now();
5032 trackedThenables = thenable.displayName;
5033 var ioInfo = {
5034 name: "string" === typeof trackedThenables ? trackedThenables : "Promise",
5035 start: thenableState2,
5036 end: thenableState2,
5037 value: thenable
5038 };
5039 thenable._debugInfo = [{ awaited: ioInfo }];
5040 "fulfilled" !== thenable.status && "rejected" !== thenable.status && (thenableState2 = function() {
5041 ioInfo.end = performance.now();
5042 }, thenable.then(thenableState2, thenableState2));
5043 }
5044 switch (thenable.status) {
5045 case "fulfilled":
5046 return thenable.value;
5047 case "rejected":
5048 fiber = thenable.reason;
5049 checkIfUseWrappedInAsyncCatch(fiber);
5050 if (void 0 === fiber && !("reason" in thenable))
5051 throw Error(
5052 "A rejected Promise was passed to React without a `reason` property. React threw a generic error from where the Promise was used to assist in identifying the problematic Promise. Make sure that instrumented Promises correctly set the `reason` property when setting `status` to `'rejected'`."
5053 );
5054 throw fiber;
5055 default:
5056 if ("string" === typeof thenable.status)
5057 thenable.then(noop$1, noop$1);
5058 else {
5059 thenableState2 = workInProgressRoot;
5060 if (null !== thenableState2 && 100 < thenableState2.shellSuspendCounter)
5061 throw Error(
5062 "An unknown Component is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server."
5063 );
5064 thenableState2 = thenable;
5065 thenableState2.status = "pending";
5066 thenableState2.then(
5067 function(fulfilledValue) {
5068 if ("pending" === thenable.status) {
5069 var fulfilledThenable = thenable;
5070 fulfilledThenable.status = "fulfilled";
5071 fulfilledThenable.value = fulfilledValue;
5072 }
5073 },
5074 function(error) {
5075 if ("pending" === thenable.status) {
5076 var rejectedThenable = thenable;
5077 rejectedThenable.status = "rejected";
5078 rejectedThenable.reason = error;
5079 }
5080 }
5081 );
5082 }
5083 switch (thenable.status) {
5084 case "fulfilled":
5085 return thenable.value;
5086 case "rejected":
5087 throw fiber = thenable.reason, checkIfUseWrappedInAsyncCatch(fiber), fiber;
5088 }
5089 suspendedThenable = thenable;
5090 needsToResetSuspendedThenableDEV = true;
5091 didIssueUseWarning || null === fiber || null !== fiber.alternate || (lastSuspendedFiber = fiber, lastSuspendedStack = Error(
5092 "This library called use() to suspend in a previous render but did not call use() when it finished. This indicates an incorrect use of use(). Learn more: https://react.dev/warnings/conditional-use-of-use"
5093 ));
5094 throw SuspenseException;
5095 }
5096 }
5097 function resolveLazy(lazyType) {
5098 try {
5099 return callLazyInitInDEV(lazyType);
5100 } catch (x) {
5101 if (null !== x && "object" === typeof x && "function" === typeof x.then)
5102 throw suspendedThenable = x, needsToResetSuspendedThenableDEV = true, SuspenseException;
5103 throw x;
5104 }
5105 }
5106 function getSuspendedThenable() {
5107 if (null === suspendedThenable)
5108 throw Error(
5109 "Expected a suspended thenable. This is a bug in React. Please file an issue."
5110 );
5111 var thenable = suspendedThenable;
5112 suspendedThenable = null;
5113 needsToResetSuspendedThenableDEV = false;
5114 return thenable;
5115 }
5116 function checkIfUseWrappedInAsyncCatch(rejectedReason) {
5117 if (rejectedReason === SuspenseException || rejectedReason === SuspenseActionException)
5118 throw Error(
5119 "Hooks are not supported inside an async component. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server."
5120 );
5121 }
5122 function areSameKeyPath(a, b) {
5123 return a === b ? true : a.tag !== b.tag || a.type !== b.type || a.key !== b.key || a.index !== b.index || 3 === a.tag && a.stateNode !== b.stateNode || null === a.return || null === b.return ? false : areSameKeyPath(a.return, b.return);
5124 }
5125 function pushDebugInfo(debugInfo) {
5126 var previousDebugInfo = currentDebugInfo;
5127 null != debugInfo && (currentDebugInfo = null === previousDebugInfo ? debugInfo : previousDebugInfo.concat(debugInfo));
5128 return previousDebugInfo;
5129 }
5130 function getCurrentDebugTask() {
5131 var debugInfo = currentDebugInfo;
5132 if (null != debugInfo) {
5133 for (var i = debugInfo.length - 1; 0 <= i; i--)
5134 if (null != debugInfo[i].name) {
5135 var debugTask = debugInfo[i].debugTask;
5136 if (null != debugTask) return debugTask;
5137 }
5138 }
5139 return null;
5140 }
5141 function validateFragmentProps(element, fiber, returnFiber) {
5142 for (var keys = Object.keys(element.props), i = 0; i < keys.length; i++) {
5143 var key = keys[i];
5144 if ("children" !== key && "key" !== key && "ref" !== key) {
5145 null === fiber && (fiber = createFiberFromElement(element, returnFiber.mode, 0), fiber._debugInfo = currentDebugInfo, fiber.return = returnFiber);
5146 runWithFiberInDEV(
5147 fiber,
5148 function(erroredKey) {
5149 console.error(
5150 "Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key`, `ref`, and `children` props.",
5151 erroredKey
5152 );
5153 },
5154 key
5155 );
5156 break;
5157 }
5158 }
5159 }
5160 function unwrapThenable(thenable) {
5161 var index = thenableIndexCounter$1;
5162 thenableIndexCounter$1 += 1;
5163 null === thenableState$1 && (thenableState$1 = createThenableState());
5164 return trackUsedThenable(thenableState$1, thenable, index, null);
5165 }
5166 function coerceRef(workInProgress2, element) {
5167 element = (element.props.ref ?? element.ref);
5168 workInProgress2.ref = void 0 !== element ? element : null;
5169 }
5170 function throwOnInvalidObjectTypeImpl(returnFiber, newChild) {
5171 if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)
5172 throw Error(
5173 'A React Element from an older version of React was rendered. This is not supported. It can happen if:\n- Multiple copies of the "react" package is used.\n- A library pre-bundled an old copy of "react" or "react/jsx-runtime".\n- A compiler tries to "inline" JSX instead of using the runtime.'
5174 );
5175 returnFiber = Object.prototype.toString.call(newChild);
5176 throw Error(
5177 "Objects are not valid as a React child (found: " + ("[object Object]" === returnFiber ? "object with keys {" + Object.keys(newChild).join(", ") + "}" : returnFiber) + "). If you meant to render a collection of children, use an array instead."
5178 );
5179 }
5180 function throwOnInvalidObjectType(returnFiber, newChild) {
5181 var debugTask = getCurrentDebugTask();
5182 null !== debugTask ? debugTask.run(
5183 throwOnInvalidObjectTypeImpl.bind(null, returnFiber, newChild)
5184 ) : throwOnInvalidObjectTypeImpl(returnFiber, newChild);
5185 }
5186 function warnOnFunctionTypeImpl(returnFiber, invalidChild) {
5187 var parentName = getComponentNameFromFiber(returnFiber) || "Component";
5188 ownerHasFunctionTypeWarning[parentName] || (ownerHasFunctionTypeWarning[parentName] = true, invalidChild = invalidChild.displayName || invalidChild.name || "Component", 3 === returnFiber.tag ? console.error(
5189 "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\n root.render(%s)",
5190 invalidChild,
5191 invalidChild,
5192 invalidChild
5193 ) : console.error(
5194 "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\n <%s>{%s}</%s>",
5195 invalidChild,
5196 invalidChild,
5197 parentName,
5198 invalidChild,
5199 parentName
5200 ));
5201 }
5202 function warnOnFunctionType(returnFiber, invalidChild) {
5203 var debugTask = getCurrentDebugTask();
5204 null !== debugTask ? debugTask.run(
5205 warnOnFunctionTypeImpl.bind(null, returnFiber, invalidChild)
5206 ) : warnOnFunctionTypeImpl(returnFiber, invalidChild);
5207 }
5208 function warnOnSymbolTypeImpl(returnFiber, invalidChild) {
5209 var parentName = getComponentNameFromFiber(returnFiber) || "Component";
5210 ownerHasSymbolTypeWarning[parentName] || (ownerHasSymbolTypeWarning[parentName] = true, invalidChild = String(invalidChild), 3 === returnFiber.tag ? console.error(
5211 "Symbols are not valid as a React child.\n root.render(%s)",
5212 invalidChild
5213 ) : console.error(
5214 "Symbols are not valid as a React child.\n <%s>%s</%s>",
5215 parentName,
5216 invalidChild,
5217 parentName
5218 ));
5219 }
5220 function warnOnSymbolType(returnFiber, invalidChild) {
5221 var debugTask = getCurrentDebugTask();
5222 null !== debugTask ? debugTask.run(
5223 warnOnSymbolTypeImpl.bind(null, returnFiber, invalidChild)
5224 ) : warnOnSymbolTypeImpl(returnFiber, invalidChild);
5225 }
5226 function createChildReconciler(shouldTrackSideEffects) {
5227 function deleteChild(returnFiber, childToDelete) {
5228 if (shouldTrackSideEffects) {
5229 var deletions = returnFiber.deletions;
5230 null === deletions ? (returnFiber.deletions = [childToDelete], returnFiber.flags |= 16) : deletions.push(childToDelete);
5231 }
5232 }
5233 function deleteRemainingChildren(returnFiber, currentFirstChild) {
5234 if (!shouldTrackSideEffects) return null;
5235 for (; null !== currentFirstChild; )
5236 deleteChild(returnFiber, currentFirstChild), currentFirstChild = currentFirstChild.sibling;
5237 return null;
5238 }
5239 function mapRemainingChildren(currentFirstChild) {
5240 for (var existingChildren = /* @__PURE__ */ new Map(); null !== currentFirstChild; )
5241 null === currentFirstChild.key ? existingChildren.set(currentFirstChild.index, currentFirstChild) : existingChildren.set(currentFirstChild.key, currentFirstChild), currentFirstChild = currentFirstChild.sibling;
5242 return existingChildren;
5243 }
5244 function useFiber(fiber, pendingProps) {
5245 fiber = createWorkInProgress(fiber, pendingProps);
5246 fiber.index = 0;
5247 fiber.sibling = null;
5248 return fiber;
5249 }
5250 function placeChild(newFiber, lastPlacedIndex, newIndex) {
5251 newFiber.index = newIndex;
5252 if (!shouldTrackSideEffects)
5253 return newFiber.flags |= 1048576, lastPlacedIndex;
5254 newIndex = newFiber.alternate;
5255 if (null !== newIndex)
5256 return newIndex = newIndex.index, newIndex < lastPlacedIndex ? (newFiber.flags |= 2, lastPlacedIndex) : newIndex;
5257 newFiber.flags |= 134217730;
5258 return lastPlacedIndex;
5259 }
5260 function placeSingleChild(newFiber) {
5261 shouldTrackSideEffects && null === newFiber.alternate && (newFiber.flags |= 134217730);
5262 return newFiber;
5263 }
5264 function updateTextNode(returnFiber, current2, textContent, lanes) {
5265 if (null === current2 || 6 !== current2.tag)
5266 return current2 = createFiberFromText(
5267 textContent,
5268 returnFiber.mode,
5269 lanes
5270 ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugTask = returnFiber._debugTask, current2._debugInfo = currentDebugInfo, current2;
5271 current2 = useFiber(current2, textContent);
5272 current2.return = returnFiber;
5273 current2._debugInfo = currentDebugInfo;
5274 return current2;
5275 }
5276 function updateElement(returnFiber, current2, element, lanes) {
5277 var elementType = element.type;
5278 if (elementType === REACT_FRAGMENT_TYPE)
5279 return current2 = updateFragment(
5280 returnFiber,
5281 current2,
5282 element.props.children,
5283 lanes,
5284 element.key
5285 ), coerceRef(current2, element), validateFragmentProps(element, current2, returnFiber), current2;
5286 if (null !== current2 && (current2.elementType === elementType || isCompatibleFamilyForHotReloading(current2, element) || "object" === typeof elementType && null !== elementType && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === current2.type))
5287 return current2 = useFiber(current2, element.props), coerceRef(current2, element), current2.return = returnFiber, current2._debugOwner = element._owner, current2._debugInfo = currentDebugInfo, current2;
5288 current2 = createFiberFromElement(element, returnFiber.mode, lanes);
5289 coerceRef(current2, element);
5290 current2.return = returnFiber;
5291 current2._debugInfo = currentDebugInfo;
5292 return current2;
5293 }
5294 function updatePortal(returnFiber, current2, portal, lanes) {
5295 if (null === current2 || 4 !== current2.tag || current2.stateNode.containerInfo !== portal.containerInfo || current2.stateNode.implementation !== portal.implementation)
5296 return current2 = createFiberFromPortal(portal, returnFiber.mode, lanes), current2.return = returnFiber, current2._debugInfo = currentDebugInfo, current2;
5297 current2 = useFiber(current2, portal.children || []);
5298 current2.return = returnFiber;
5299 current2._debugInfo = currentDebugInfo;
5300 return current2;
5301 }
5302 function updateFragment(returnFiber, current2, fragment, lanes, key) {
5303 if (null === current2 || 7 !== current2.tag)
5304 return current2 = createFiberFromFragment(
5305 fragment,
5306 returnFiber.mode,
5307 lanes,
5308 key
5309 ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugTask = returnFiber._debugTask, current2._debugInfo = currentDebugInfo, current2;
5310 current2 = useFiber(current2, fragment);
5311 current2.return = returnFiber;
5312 current2._debugInfo = currentDebugInfo;
5313 return current2;
5314 }
5315 function createChild(returnFiber, newChild, lanes) {
5316 if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild)
5317 return newChild = createFiberFromText(
5318 "" + newChild,
5319 returnFiber.mode,
5320 lanes
5321 ), newChild.return = returnFiber, newChild._debugOwner = returnFiber, newChild._debugTask = returnFiber._debugTask, newChild._debugInfo = currentDebugInfo, newChild;
5322 if ("object" === typeof newChild && null !== newChild) {
5323 switch (newChild.$$typeof) {
5324 case REACT_LEGACY_ELEMENT_TYPE: __wpWarnCompat("legacy-element"); case REACT_ELEMENT_TYPE:
5325 return lanes = createFiberFromElement(
5326 newChild,
5327 returnFiber.mode,
5328 lanes
5329 ), coerceRef(lanes, newChild), lanes.return = returnFiber, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes;
5330 case REACT_PORTAL_TYPE:
5331 return newChild = createFiberFromPortal(
5332 newChild,
5333 returnFiber.mode,
5334 lanes
5335 ), newChild.return = returnFiber, newChild._debugInfo = currentDebugInfo, newChild;
5336 case REACT_LAZY_TYPE:
5337 var _prevDebugInfo = pushDebugInfo(newChild._debugInfo);
5338 newChild = resolveLazy(newChild);
5339 returnFiber = createChild(returnFiber, newChild, lanes);
5340 currentDebugInfo = _prevDebugInfo;
5341 return returnFiber;
5342 }
5343 if (isArrayImpl(newChild) || getIteratorFn(newChild))
5344 return lanes = createFiberFromFragment(
5345 newChild,
5346 returnFiber.mode,
5347 lanes,
5348 null
5349 ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes;
5350 if ("function" === typeof newChild.then)
5351 return _prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = createChild(
5352 returnFiber,
5353 unwrapThenable(newChild),
5354 lanes
5355 ), currentDebugInfo = _prevDebugInfo, returnFiber;
5356 if (newChild.$$typeof === REACT_CONTEXT_TYPE)
5357 return createChild(
5358 returnFiber,
5359 readContextDuringReconciliation(returnFiber, newChild),
5360 lanes
5361 );
5362 throwOnInvalidObjectType(returnFiber, newChild);
5363 }
5364 "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild);
5365 "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild);
5366 return null;
5367 }
5368 function updateSlot(returnFiber, oldFiber, newChild, lanes) {
5369 var key = null !== oldFiber ? oldFiber.key : null;
5370 if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild)
5371 return null !== key ? null : updateTextNode(returnFiber, oldFiber, "" + newChild, lanes);
5372 if ("object" === typeof newChild && null !== newChild) {
5373 switch (newChild.$$typeof) {
5374 case REACT_LEGACY_ELEMENT_TYPE: __wpWarnCompat("legacy-element"); case REACT_ELEMENT_TYPE:
5375 return newChild.key === key ? (key = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement(
5376 returnFiber,
5377 oldFiber,
5378 newChild,
5379 lanes
5380 ), currentDebugInfo = key, returnFiber) : null;
5381 case REACT_PORTAL_TYPE:
5382 return newChild.key === key ? updatePortal(returnFiber, oldFiber, newChild, lanes) : null;
5383 case REACT_LAZY_TYPE:
5384 return key = pushDebugInfo(newChild._debugInfo), newChild = resolveLazy(newChild), returnFiber = updateSlot(
5385 returnFiber,
5386 oldFiber,
5387 newChild,
5388 lanes
5389 ), currentDebugInfo = key, returnFiber;
5390 }
5391 if (isArrayImpl(newChild) || getIteratorFn(newChild)) {
5392 if (null !== key) return null;
5393 key = pushDebugInfo(newChild._debugInfo);
5394 returnFiber = updateFragment(
5395 returnFiber,
5396 oldFiber,
5397 newChild,
5398 lanes,
5399 null
5400 );
5401 currentDebugInfo = key;
5402 return returnFiber;
5403 }
5404 if ("function" === typeof newChild.then)
5405 return key = pushDebugInfo(newChild._debugInfo), returnFiber = updateSlot(
5406 returnFiber,
5407 oldFiber,
5408 unwrapThenable(newChild),
5409 lanes
5410 ), currentDebugInfo = key, returnFiber;
5411 if (newChild.$$typeof === REACT_CONTEXT_TYPE)
5412 return updateSlot(
5413 returnFiber,
5414 oldFiber,
5415 readContextDuringReconciliation(returnFiber, newChild),
5416 lanes
5417 );
5418 throwOnInvalidObjectType(returnFiber, newChild);
5419 }
5420 "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild);
5421 "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild);
5422 return null;
5423 }
5424 function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) {
5425 if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild)
5426 return existingChildren = existingChildren.get(newIdx) || null, updateTextNode(returnFiber, existingChildren, "" + newChild, lanes);
5427 if ("object" === typeof newChild && null !== newChild) {
5428 switch (newChild.$$typeof) {
5429 case REACT_LEGACY_ELEMENT_TYPE: __wpWarnCompat("legacy-element"); case REACT_ELEMENT_TYPE:
5430 return newIdx = existingChildren.get(
5431 null === newChild.key ? newIdx : newChild.key
5432 ) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement(
5433 returnFiber,
5434 newIdx,
5435 newChild,
5436 lanes
5437 ), currentDebugInfo = existingChildren, returnFiber;
5438 case REACT_PORTAL_TYPE:
5439 return existingChildren = existingChildren.get(
5440 null === newChild.key ? newIdx : newChild.key
5441 ) || null, updatePortal(returnFiber, existingChildren, newChild, lanes);
5442 case REACT_LAZY_TYPE:
5443 var _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo);
5444 newChild = resolveLazy(newChild);
5445 returnFiber = updateFromMap(
5446 existingChildren,
5447 returnFiber,
5448 newIdx,
5449 newChild,
5450 lanes
5451 );
5452 currentDebugInfo = _prevDebugInfo7;
5453 return returnFiber;
5454 }
5455 if (isArrayImpl(newChild) || getIteratorFn(newChild))
5456 return newIdx = existingChildren.get(newIdx) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateFragment(
5457 returnFiber,
5458 newIdx,
5459 newChild,
5460 lanes,
5461 null
5462 ), currentDebugInfo = existingChildren, returnFiber;
5463 if ("function" === typeof newChild.then)
5464 return _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo), returnFiber = updateFromMap(
5465 existingChildren,
5466 returnFiber,
5467 newIdx,
5468 unwrapThenable(newChild),
5469 lanes
5470 ), currentDebugInfo = _prevDebugInfo7, returnFiber;
5471 if (newChild.$$typeof === REACT_CONTEXT_TYPE)
5472 return updateFromMap(
5473 existingChildren,
5474 returnFiber,
5475 newIdx,
5476 readContextDuringReconciliation(returnFiber, newChild),
5477 lanes
5478 );
5479 throwOnInvalidObjectType(returnFiber, newChild);
5480 }
5481 "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild);
5482 "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild);
5483 return null;
5484 }
5485 function warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys) {
5486 if ("object" !== typeof child || null === child) return knownKeys;
5487 switch (child.$$typeof) {
5488 case REACT_LEGACY_ELEMENT_TYPE: __wpWarnCompat("legacy-element"); case REACT_ELEMENT_TYPE:
5489 case REACT_PORTAL_TYPE:
5490 warnForMissingKey(returnFiber, workInProgress2, child);
5491 var key = child.key;
5492 if ("string" !== typeof key) break;
5493 if (null === knownKeys) {
5494 knownKeys = /* @__PURE__ */ new Set();
5495 knownKeys.add(key);
5496 break;
5497 }
5498 if (!knownKeys.has(key)) {
5499 knownKeys.add(key);
5500 break;
5501 }
5502 runWithFiberInDEV(workInProgress2, function() {
5503 console.error(
5504 "Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted \u2014 the behavior is unsupported and could change in a future version.",
5505 key
5506 );
5507 });
5508 break;
5509 case REACT_LAZY_TYPE:
5510 child = resolveLazy(child), warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys);
5511 }
5512 return knownKeys;
5513 }
5514 function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) {
5515 for (var knownKeys = null, resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null; null !== oldFiber && newIdx < newChildren.length; newIdx++) {
5516 oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling;
5517 var newFiber = updateSlot(
5518 returnFiber,
5519 oldFiber,
5520 newChildren[newIdx],
5521 lanes
5522 );
5523 if (null === newFiber) {
5524 null === oldFiber && (oldFiber = nextOldFiber);
5525 break;
5526 }
5527 knownKeys = warnOnInvalidKey(
5528 returnFiber,
5529 newFiber,
5530 newChildren[newIdx],
5531 knownKeys
5532 );
5533 shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber);
5534 currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);
5535 null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber;
5536 previousNewFiber = newFiber;
5537 oldFiber = nextOldFiber;
5538 }
5539 if (newIdx === newChildren.length)
5540 return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild;
5541 if (null === oldFiber) {
5542 for (; newIdx < newChildren.length; newIdx++)
5543 oldFiber = createChild(returnFiber, newChildren[newIdx], lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey(
5544 returnFiber,
5545 oldFiber,
5546 newChildren[newIdx],
5547 knownKeys
5548 ), currentFirstChild = placeChild(
5549 oldFiber,
5550 currentFirstChild,
5551 newIdx
5552 ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber);
5553 isHydrating && pushTreeFork(returnFiber, newIdx);
5554 return resultingFirstChild;
5555 }
5556 for (oldFiber = mapRemainingChildren(oldFiber); newIdx < newChildren.length; newIdx++)
5557 nextOldFiber = updateFromMap(
5558 oldFiber,
5559 returnFiber,
5560 newIdx,
5561 newChildren[newIdx],
5562 lanes
5563 ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey(
5564 returnFiber,
5565 nextOldFiber,
5566 newChildren[newIdx],
5567 knownKeys
5568 ), shouldTrackSideEffects && (newFiber = nextOldFiber.alternate, null !== newFiber && oldFiber.delete(
5569 null === newFiber.key ? newIdx : newFiber.key
5570 )), currentFirstChild = placeChild(
5571 nextOldFiber,
5572 currentFirstChild,
5573 newIdx
5574 ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber);
5575 shouldTrackSideEffects && oldFiber.forEach(function(child) {
5576 return deleteChild(returnFiber, child);
5577 });
5578 isHydrating && pushTreeFork(returnFiber, newIdx);
5579 return resultingFirstChild;
5580 }
5581 function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildren, lanes) {
5582 if (null == newChildren)
5583 throw Error("An iterable object provided no iterator.");
5584 for (var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null, knownKeys = null, step = newChildren.next(); null !== oldFiber && !step.done; newIdx++, step = newChildren.next()) {
5585 oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling;
5586 var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);
5587 if (null === newFiber) {
5588 null === oldFiber && (oldFiber = nextOldFiber);
5589 break;
5590 }
5591 knownKeys = warnOnInvalidKey(
5592 returnFiber,
5593 newFiber,
5594 step.value,
5595 knownKeys
5596 );
5597 shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber);
5598 currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);
5599 null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber;
5600 previousNewFiber = newFiber;
5601 oldFiber = nextOldFiber;
5602 }
5603 if (step.done)
5604 return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild;
5605 if (null === oldFiber) {
5606 for (; !step.done; newIdx++, step = newChildren.next())
5607 oldFiber = createChild(returnFiber, step.value, lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey(
5608 returnFiber,
5609 oldFiber,
5610 step.value,
5611 knownKeys
5612 ), currentFirstChild = placeChild(
5613 oldFiber,
5614 currentFirstChild,
5615 newIdx
5616 ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber);
5617 isHydrating && pushTreeFork(returnFiber, newIdx);
5618 return resultingFirstChild;
5619 }
5620 for (oldFiber = mapRemainingChildren(oldFiber); !step.done; newIdx++, step = newChildren.next())
5621 nextOldFiber = updateFromMap(
5622 oldFiber,
5623 returnFiber,
5624 newIdx,
5625 step.value,
5626 lanes
5627 ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey(
5628 returnFiber,
5629 nextOldFiber,
5630 step.value,
5631 knownKeys
5632 ), shouldTrackSideEffects && (step = nextOldFiber.alternate, null !== step && oldFiber.delete(null === step.key ? newIdx : step.key)), currentFirstChild = placeChild(
5633 nextOldFiber,
5634 currentFirstChild,
5635 newIdx
5636 ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber);
5637 shouldTrackSideEffects && oldFiber.forEach(function(child) {
5638 return deleteChild(returnFiber, child);
5639 });
5640 isHydrating && pushTreeFork(returnFiber, newIdx);
5641 return resultingFirstChild;
5642 }
5643 function reconcileChildFibersImpl(returnFiber, currentFirstChild, newChild, lanes) {
5644 "object" === typeof newChild && null !== newChild && newChild.type === REACT_FRAGMENT_TYPE && null === newChild.key && void 0 === newChild.props.ref && (validateFragmentProps(newChild, null, returnFiber), newChild = newChild.props.children);
5645 if ("object" === typeof newChild && null !== newChild) {
5646 switch (newChild.$$typeof) {
5647 case REACT_LEGACY_ELEMENT_TYPE: __wpWarnCompat("legacy-element"); case REACT_ELEMENT_TYPE:
5648 var prevDebugInfo = pushDebugInfo(newChild._debugInfo);
5649 a: {
5650 for (var key = newChild.key; null !== currentFirstChild; ) {
5651 if (currentFirstChild.key === key) {
5652 key = newChild.type;
5653 if (key === REACT_FRAGMENT_TYPE) {
5654 if (7 === currentFirstChild.tag) {
5655 deleteRemainingChildren(
5656 returnFiber,
5657 currentFirstChild.sibling
5658 );
5659 lanes = useFiber(
5660 currentFirstChild,
5661 newChild.props.children
5662 );
5663 coerceRef(lanes, newChild);
5664 lanes.return = returnFiber;
5665 lanes._debugOwner = newChild._owner;
5666 lanes._debugInfo = currentDebugInfo;
5667 validateFragmentProps(newChild, lanes, returnFiber);
5668 returnFiber = lanes;
5669 break a;
5670 }
5671 } else if (currentFirstChild.elementType === key || isCompatibleFamilyForHotReloading(
5672 currentFirstChild,
5673 newChild
5674 ) || "object" === typeof key && null !== key && key.$$typeof === REACT_LAZY_TYPE && resolveLazy(key) === currentFirstChild.type) {
5675 deleteRemainingChildren(
5676 returnFiber,
5677 currentFirstChild.sibling
5678 );
5679 lanes = useFiber(currentFirstChild, newChild.props);
5680 coerceRef(lanes, newChild);
5681 lanes.return = returnFiber;
5682 lanes._debugOwner = newChild._owner;
5683 lanes._debugInfo = currentDebugInfo;
5684 returnFiber = lanes;
5685 break a;
5686 }
5687 deleteRemainingChildren(returnFiber, currentFirstChild);
5688 break;
5689 } else deleteChild(returnFiber, currentFirstChild);
5690 currentFirstChild = currentFirstChild.sibling;
5691 }
5692 newChild.type === REACT_FRAGMENT_TYPE ? (lanes = createFiberFromFragment(
5693 newChild.props.children,
5694 returnFiber.mode,
5695 lanes,
5696 newChild.key
5697 ), coerceRef(lanes, newChild), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, lanes._debugInfo = currentDebugInfo, validateFragmentProps(newChild, lanes, returnFiber), returnFiber = lanes) : (lanes = createFiberFromElement(
5698 newChild,
5699 returnFiber.mode,
5700 lanes
5701 ), coerceRef(lanes, newChild), lanes.return = returnFiber, lanes._debugInfo = currentDebugInfo, returnFiber = lanes);
5702 }
5703 returnFiber = placeSingleChild(returnFiber);
5704 currentDebugInfo = prevDebugInfo;
5705 return returnFiber;
5706 case REACT_PORTAL_TYPE:
5707 a: {
5708 prevDebugInfo = newChild;
5709 for (newChild = prevDebugInfo.key; null !== currentFirstChild; ) {
5710 if (currentFirstChild.key === newChild)
5711 if (4 === currentFirstChild.tag && currentFirstChild.stateNode.containerInfo === prevDebugInfo.containerInfo && currentFirstChild.stateNode.implementation === prevDebugInfo.implementation) {
5712 deleteRemainingChildren(
5713 returnFiber,
5714 currentFirstChild.sibling
5715 );
5716 lanes = useFiber(
5717 currentFirstChild,
5718 prevDebugInfo.children || []
5719 );
5720 lanes.return = returnFiber;
5721 returnFiber = lanes;
5722 break a;
5723 } else {
5724 deleteRemainingChildren(returnFiber, currentFirstChild);
5725 break;
5726 }
5727 else deleteChild(returnFiber, currentFirstChild);
5728 currentFirstChild = currentFirstChild.sibling;
5729 }
5730 lanes = createFiberFromPortal(
5731 prevDebugInfo,
5732 returnFiber.mode,
5733 lanes
5734 );
5735 lanes.return = returnFiber;
5736 returnFiber = lanes;
5737 }
5738 return placeSingleChild(returnFiber);
5739 case REACT_LAZY_TYPE:
5740 return prevDebugInfo = pushDebugInfo(newChild._debugInfo), newChild = resolveLazy(newChild), returnFiber = reconcileChildFibersImpl(
5741 returnFiber,
5742 currentFirstChild,
5743 newChild,
5744 lanes
5745 ), currentDebugInfo = prevDebugInfo, returnFiber;
5746 }
5747 if (isArrayImpl(newChild))
5748 return reconcileChildrenArray(
5749 returnFiber,
5750 currentFirstChild,
5751 newChild,
5752 lanes
5753 );
5754 if (getIteratorFn(newChild)) {
5755 prevDebugInfo = newChild;
5756 newChild = getIteratorFn(prevDebugInfo);
5757 if ("function" !== typeof newChild)
5758 throw Error(
5759 "An object is not an iterable. This error is likely caused by a bug in React. Please file an issue."
5760 );
5761 key = newChild.call(prevDebugInfo);
5762 if (key === prevDebugInfo) {
5763 if (0 !== returnFiber.tag || "[object GeneratorFunction]" !== Object.prototype.toString.call(returnFiber.type) || "[object Generator]" !== Object.prototype.toString.call(key))
5764 didWarnAboutGenerators || console.error(
5765 "Using Iterators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. You can also use an Iterable that can iterate multiple times over the same items."
5766 ), didWarnAboutGenerators = true;
5767 } else
5768 prevDebugInfo.entries !== newChild || didWarnAboutMaps || (console.error(
5769 "Using Maps as children is not supported. Use an array of keyed ReactElements instead."
5770 ), didWarnAboutMaps = true);
5771 return reconcileChildrenIterator(
5772 returnFiber,
5773 currentFirstChild,
5774 key,
5775 lanes
5776 );
5777 }
5778 if ("function" === typeof newChild.then)
5779 return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildFibersImpl(
5780 returnFiber,
5781 currentFirstChild,
5782 unwrapThenable(newChild),
5783 lanes
5784 ), currentDebugInfo = prevDebugInfo, returnFiber;
5785 if (newChild.$$typeof === REACT_CONTEXT_TYPE)
5786 return reconcileChildFibersImpl(
5787 returnFiber,
5788 currentFirstChild,
5789 readContextDuringReconciliation(returnFiber, newChild),
5790 lanes
5791 );
5792 throwOnInvalidObjectType(returnFiber, newChild);
5793 }
5794 if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild)
5795 return prevDebugInfo = "" + newChild, null !== currentFirstChild && 6 === currentFirstChild.tag ? (deleteRemainingChildren(
5796 returnFiber,
5797 currentFirstChild.sibling
5798 ), lanes = useFiber(currentFirstChild, prevDebugInfo), lanes.return = returnFiber, returnFiber = lanes) : (deleteRemainingChildren(returnFiber, currentFirstChild), lanes = createFiberFromText(
5799 prevDebugInfo,
5800 returnFiber.mode,
5801 lanes
5802 ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, lanes._debugInfo = currentDebugInfo, returnFiber = lanes), placeSingleChild(returnFiber);
5803 "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild);
5804 "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild);
5805 return deleteRemainingChildren(returnFiber, currentFirstChild);
5806 }
5807 return function(returnFiber, currentFirstChild, newChild, lanes) {
5808 var prevDebugInfo = currentDebugInfo;
5809 currentDebugInfo = null;
5810 try {
5811 thenableIndexCounter$1 = 0;
5812 var firstChildFiber = reconcileChildFibersImpl(
5813 returnFiber,
5814 currentFirstChild,
5815 newChild,
5816 lanes
5817 );
5818 thenableState$1 = null;
5819 return firstChildFiber;
5820 } catch (x) {
5821 if (x === SuspenseException || x === SuspenseActionException) throw x;
5822 var fiber = createFiber(29, x, null, returnFiber.mode);
5823 fiber.lanes = lanes;
5824 fiber.return = returnFiber;
5825 var debugInfo = fiber._debugInfo = currentDebugInfo;
5826 fiber._debugOwner = returnFiber._debugOwner;
5827 fiber._debugTask = returnFiber._debugTask;
5828 if (null != debugInfo) {
5829 for (var i = debugInfo.length - 1; 0 <= i; i--)
5830 if ("string" === typeof debugInfo[i].stack) {
5831 fiber._debugOwner = debugInfo[i];
5832 fiber._debugTask = debugInfo[i].debugTask;
5833 break;
5834 }
5835 }
5836 return fiber;
5837 } finally {
5838 currentDebugInfo = prevDebugInfo;
5839 }
5840 };
5841 }
5842 function validateSuspenseListNestedChild(childSlot, index) {
5843 var isAnArray = isArrayImpl(childSlot);
5844 childSlot = !isAnArray && "function" === typeof getIteratorFn(childSlot);
5845 return isAnArray || childSlot ? (isAnArray = isAnArray ? "array" : "iterable", console.error(
5846 "A nested %s was passed to row #%s in <SuspenseList />. Wrap it in an additional SuspenseList to configure its revealOrder: <SuspenseList revealOrder=...> ... <SuspenseList revealOrder=...>{%s}</SuspenseList> ... </SuspenseList>",
5847 isAnArray,
5848 index,
5849 isAnArray
5850 ), false) : true;
5851 }
5852 function initializeUpdateQueue(fiber) {
5853 fiber.updateQueue = {
5854 baseState: fiber.memoizedState,
5855 firstBaseUpdate: null,
5856 lastBaseUpdate: null,
5857 shared: { pending: null, lanes: 0, hiddenCallbacks: null },
5858 callbacks: null
5859 };
5860 }
5861 function cloneUpdateQueue(current2, workInProgress2) {
5862 current2 = current2.updateQueue;
5863 workInProgress2.updateQueue === current2 && (workInProgress2.updateQueue = {
5864 baseState: current2.baseState,
5865 firstBaseUpdate: current2.firstBaseUpdate,
5866 lastBaseUpdate: current2.lastBaseUpdate,
5867 shared: current2.shared,
5868 callbacks: null
5869 });
5870 }
5871 function createUpdate(lane) {
5872 return {
5873 lane,
5874 tag: UpdateState,
5875 payload: null,
5876 callback: null,
5877 next: null
5878 };
5879 }
5880 function enqueueUpdate(fiber, update, lane) {
5881 var updateQueue = fiber.updateQueue;
5882 if (null === updateQueue) return null;
5883 updateQueue = updateQueue.shared;
5884 if (currentlyProcessingQueue === updateQueue && !didWarnUpdateInsideUpdate) {
5885 var componentName2 = getComponentNameFromFiber(fiber);
5886 console.error(
5887 "An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback.\n\nPlease update the following component: %s",
5888 componentName2
5889 );
5890 didWarnUpdateInsideUpdate = true;
5891 }
5892 if ((executionContext & RenderContext) !== NoContext)
5893 return componentName2 = updateQueue.pending, null === componentName2 ? update.next = update : (update.next = componentName2.next, componentName2.next = update), updateQueue.pending = update, update = getRootForUpdatedFiber(fiber), markUpdateLaneFromFiberToRoot(fiber, null, lane), update;
5894 enqueueUpdate$1(fiber, updateQueue, update, lane);
5895 return getRootForUpdatedFiber(fiber);
5896 }
5897 function entangleTransitions(root2, fiber, lane) {
5898 fiber = fiber.updateQueue;
5899 if (null !== fiber && (fiber = fiber.shared, 0 !== (lane & 4194048))) {
5900 var queueLanes = fiber.lanes;
5901 queueLanes &= root2.pendingLanes;
5902 lane |= queueLanes;
5903 fiber.lanes = lane;
5904 markRootEntangled(root2, lane);
5905 }
5906 }
5907 function enqueueCapturedUpdate(workInProgress2, capturedUpdate) {
5908 var queue = workInProgress2.updateQueue, current2 = workInProgress2.alternate;
5909 if (null !== current2 && (current2 = current2.updateQueue, queue === current2)) {
5910 var newFirst = null, newLast = null;
5911 queue = queue.firstBaseUpdate;
5912 if (null !== queue) {
5913 do {
5914 var clone = {
5915 lane: queue.lane,
5916 tag: queue.tag,
5917 payload: queue.payload,
5918 callback: null,
5919 next: null
5920 };
5921 null === newLast ? newFirst = newLast = clone : newLast = newLast.next = clone;
5922 queue = queue.next;
5923 } while (null !== queue);
5924 null === newLast ? newFirst = newLast = capturedUpdate : newLast = newLast.next = capturedUpdate;
5925 } else newFirst = newLast = capturedUpdate;
5926 queue = {
5927 baseState: current2.baseState,
5928 firstBaseUpdate: newFirst,
5929 lastBaseUpdate: newLast,
5930 shared: current2.shared,
5931 callbacks: current2.callbacks
5932 };
5933 workInProgress2.updateQueue = queue;
5934 return;
5935 }
5936 workInProgress2 = queue.lastBaseUpdate;
5937 null === workInProgress2 ? queue.firstBaseUpdate = capturedUpdate : workInProgress2.next = capturedUpdate;
5938 queue.lastBaseUpdate = capturedUpdate;
5939 }
5940 function suspendIfUpdateReadFromEntangledAsyncAction() {
5941 if (didReadFromEntangledAsyncAction) {
5942 var entangledActionThenable = currentEntangledActionThenable;
5943 if (null !== entangledActionThenable) throw entangledActionThenable;
5944 }
5945 }
5946 function processUpdateQueue(workInProgress2, props, instance$jscomp$0, renderLanes2) {
5947 didReadFromEntangledAsyncAction = false;
5948 var queue = workInProgress2.updateQueue;
5949 hasForceUpdate = false;
5950 currentlyProcessingQueue = queue.shared;
5951 var firstBaseUpdate = queue.firstBaseUpdate, lastBaseUpdate = queue.lastBaseUpdate, pendingQueue = queue.shared.pending;
5952 if (null !== pendingQueue) {
5953 queue.shared.pending = null;
5954 var lastPendingUpdate = pendingQueue, firstPendingUpdate = lastPendingUpdate.next;
5955 lastPendingUpdate.next = null;
5956 null === lastBaseUpdate ? firstBaseUpdate = firstPendingUpdate : lastBaseUpdate.next = firstPendingUpdate;
5957 lastBaseUpdate = lastPendingUpdate;
5958 var current2 = workInProgress2.alternate;
5959 null !== current2 && (current2 = current2.updateQueue, pendingQueue = current2.lastBaseUpdate, pendingQueue !== lastBaseUpdate && (null === pendingQueue ? current2.firstBaseUpdate = firstPendingUpdate : pendingQueue.next = firstPendingUpdate, current2.lastBaseUpdate = lastPendingUpdate));
5960 }
5961 if (null !== firstBaseUpdate) {
5962 var newState = queue.baseState;
5963 lastBaseUpdate = 0;
5964 current2 = firstPendingUpdate = lastPendingUpdate = null;
5965 pendingQueue = firstBaseUpdate;
5966 do {
5967 var updateLane = pendingQueue.lane & -536870913, isHiddenUpdate = updateLane !== pendingQueue.lane;
5968 if (isHiddenUpdate ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes2 & updateLane) === updateLane) {
5969 0 !== updateLane && updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction = true);
5970 null !== current2 && (current2 = current2.next = {
5971 lane: 0,
5972 tag: pendingQueue.tag,
5973 payload: pendingQueue.payload,
5974 callback: null,
5975 next: null
5976 });
5977 a: {
5978 updateLane = workInProgress2;
5979 var partialState = pendingQueue;
5980 var nextProps = props, instance = instance$jscomp$0;
5981 switch (partialState.tag) {
5982 case ReplaceState:
5983 partialState = partialState.payload;
5984 if ("function" === typeof partialState) {
5985 isDisallowedContextReadInDEV = true;
5986 var nextState = partialState.call(
5987 instance,
5988 newState,
5989 nextProps
5990 );
5991 if (updateLane.mode & StrictLegacyMode) {
5992 setIsStrictModeForDevtools(true);
5993 try {
5994 partialState.call(instance, newState, nextProps);
5995 } finally {
5996 setIsStrictModeForDevtools(false);
5997 }
5998 }
5999 isDisallowedContextReadInDEV = false;
6000 newState = nextState;
6001 break a;
6002 }
6003 newState = partialState;
6004 break a;
6005 case CaptureUpdate:
6006 updateLane.flags = updateLane.flags & -65537 | 128;
6007 case UpdateState:
6008 nextState = partialState.payload;
6009 if ("function" === typeof nextState) {
6010 isDisallowedContextReadInDEV = true;
6011 partialState = nextState.call(
6012 instance,
6013 newState,
6014 nextProps
6015 );
6016 if (updateLane.mode & StrictLegacyMode) {
6017 setIsStrictModeForDevtools(true);
6018 try {
6019 nextState.call(instance, newState, nextProps);
6020 } finally {
6021 setIsStrictModeForDevtools(false);
6022 }
6023 }
6024 isDisallowedContextReadInDEV = false;
6025 } else partialState = nextState;
6026 if (null === partialState || void 0 === partialState) break a;
6027 newState = assign({}, newState, partialState);
6028 break a;
6029 case ForceUpdate:
6030 hasForceUpdate = true;
6031 }
6032 }
6033 updateLane = pendingQueue.callback;
6034 null !== updateLane && (workInProgress2.flags |= 64, isHiddenUpdate && (workInProgress2.flags |= 8192), isHiddenUpdate = queue.callbacks, null === isHiddenUpdate ? queue.callbacks = [updateLane] : isHiddenUpdate.push(updateLane));
6035 } else
6036 isHiddenUpdate = {
6037 lane: updateLane,
6038 tag: pendingQueue.tag,
6039 payload: pendingQueue.payload,
6040 callback: pendingQueue.callback,
6041 next: null
6042 }, null === current2 ? (firstPendingUpdate = current2 = isHiddenUpdate, lastPendingUpdate = newState) : current2 = current2.next = isHiddenUpdate, lastBaseUpdate |= updateLane;
6043 pendingQueue = pendingQueue.next;
6044 if (null === pendingQueue)
6045 if (pendingQueue = queue.shared.pending, null === pendingQueue)
6046 break;
6047 else
6048 isHiddenUpdate = pendingQueue, pendingQueue = isHiddenUpdate.next, isHiddenUpdate.next = null, queue.lastBaseUpdate = isHiddenUpdate, queue.shared.pending = null;
6049 } while (1);
6050 null === current2 && (lastPendingUpdate = newState);
6051 queue.baseState = lastPendingUpdate;
6052 queue.firstBaseUpdate = firstPendingUpdate;
6053 queue.lastBaseUpdate = current2;
6054 null === firstBaseUpdate && (queue.shared.lanes = 0);
6055 workInProgressRootSkippedLanes |= lastBaseUpdate;
6056 workInProgress2.lanes = lastBaseUpdate;
6057 workInProgress2.memoizedState = newState;
6058 }
6059 currentlyProcessingQueue = null;
6060 }
6061 function callCallback(callback, context) {
6062 if ("function" !== typeof callback)
6063 throw Error(
6064 "Invalid argument passed as callback. Expected a function. Instead received: " + callback
6065 );
6066 callback.call(context);
6067 }
6068 function commitHiddenCallbacks(updateQueue, context) {
6069 var hiddenCallbacks = updateQueue.shared.hiddenCallbacks;
6070 if (null !== hiddenCallbacks)
6071 for (updateQueue.shared.hiddenCallbacks = null, updateQueue = 0; updateQueue < hiddenCallbacks.length; updateQueue++)
6072 callCallback(hiddenCallbacks[updateQueue], context);
6073 }
6074 function commitCallbacks(updateQueue, context) {
6075 var callbacks = updateQueue.callbacks;
6076 if (null !== callbacks)
6077 for (updateQueue.callbacks = null, updateQueue = 0; updateQueue < callbacks.length; updateQueue++)
6078 callCallback(callbacks[updateQueue], context);
6079 }
6080 function pushHiddenContext(fiber, context) {
6081 var prevEntangledRenderLanes = entangledRenderLanes;
6082 push(prevEntangledRenderLanesCursor, prevEntangledRenderLanes, fiber);
6083 push(currentTreeHiddenStackCursor, context, fiber);
6084 entangledRenderLanes = prevEntangledRenderLanes | context.baseLanes;
6085 }
6086 function reuseHiddenContextOnStack(fiber) {
6087 push(prevEntangledRenderLanesCursor, entangledRenderLanes, fiber);
6088 push(
6089 currentTreeHiddenStackCursor,
6090 currentTreeHiddenStackCursor.current,
6091 fiber
6092 );
6093 }
6094 function popHiddenContext(fiber) {
6095 entangledRenderLanes = prevEntangledRenderLanesCursor.current;
6096 pop(currentTreeHiddenStackCursor, fiber);
6097 pop(prevEntangledRenderLanesCursor, fiber);
6098 }
6099 function pushPrimaryTreeSuspenseHandler(handler) {
6100 var current2 = handler.alternate;
6101 push(
6102 suspenseStackCursor,
6103 suspenseStackCursor.current & SubtreeSuspenseContextMask,
6104 handler
6105 );
6106 push(suspenseHandlerStackCursor, handler, handler);
6107 null === shellBoundary && (null === current2 || null !== currentTreeHiddenStackCursor.current ? shellBoundary = handler : null !== current2.memoizedState && (shellBoundary = handler));
6108 }
6109 function pushDehydratedActivitySuspenseHandler(fiber) {
6110 push(suspenseStackCursor, suspenseStackCursor.current, fiber);
6111 push(suspenseHandlerStackCursor, fiber, fiber);
6112 null === shellBoundary && (shellBoundary = fiber);
6113 }
6114 function pushOffscreenSuspenseHandler(fiber) {
6115 22 === fiber.tag ? (push(suspenseStackCursor, suspenseStackCursor.current, fiber), push(suspenseHandlerStackCursor, fiber, fiber), null === shellBoundary && (shellBoundary = fiber)) : reuseSuspenseHandlerOnStack(fiber);
6116 }
6117 function reuseSuspenseHandlerOnStack(fiber) {
6118 push(suspenseStackCursor, suspenseStackCursor.current, fiber);
6119 push(
6120 suspenseHandlerStackCursor,
6121 suspenseHandlerStackCursor.current,
6122 fiber
6123 );
6124 }
6125 function popSuspenseHandler(fiber) {
6126 pop(suspenseHandlerStackCursor, fiber);
6127 shellBoundary === fiber && (shellBoundary = null);
6128 pop(suspenseStackCursor, fiber);
6129 }
6130 function pushSuspenseListContext(fiber, newContext) {
6131 push(
6132 suspenseHandlerStackCursor,
6133 suspenseHandlerStackCursor.current,
6134 fiber
6135 );
6136 push(suspenseStackCursor, newContext, fiber);
6137 }
6138 function popSuspenseListContext(fiber) {
6139 pop(suspenseStackCursor, fiber);
6140 pop(suspenseHandlerStackCursor, fiber);
6141 shellBoundary === fiber && (shellBoundary = null);
6142 }
6143 function findFirstSuspended(row) {
6144 for (var node = row; null !== node; ) {
6145 if (13 === node.tag) {
6146 var state = node.memoizedState;
6147 if (null !== state && (state = state.dehydrated, null === state || isSuspenseInstancePending(state) || isSuspenseInstanceFallback(state)))
6148 return node;
6149 } else if (19 === node.tag && "independent" !== node.memoizedProps.revealOrder) {
6150 if (0 !== (node.flags & 128)) return node;
6151 } else if (null !== node.child) {
6152 node.child.return = node;
6153 node = node.child;
6154 continue;
6155 }
6156 if (node === row) break;
6157 for (; null === node.sibling; ) {
6158 if (null === node.return || node.return === row) return null;
6159 node = node.return;
6160 }
6161 node.sibling.return = node.return;
6162 node = node.sibling;
6163 }
6164 return null;
6165 }
6166 function mountHookTypesDev() {
6167 var hookName = currentHookNameInDev;
6168 null === hookTypesDev ? hookTypesDev = [hookName] : hookTypesDev.push(hookName);
6169 }
6170 function updateHookTypesDev() {
6171 var hookName = currentHookNameInDev;
6172 if (null !== hookTypesDev && (hookTypesUpdateIndexDev++, hookTypesDev[hookTypesUpdateIndexDev] !== hookName)) {
6173 var componentName2 = getComponentNameFromFiber(currentlyRenderingFiber);
6174 if (!didWarnAboutMismatchedHooksForComponent.has(componentName2) && (didWarnAboutMismatchedHooksForComponent.add(componentName2), null !== hookTypesDev)) {
6175 for (var table = "", i = 0; i <= hookTypesUpdateIndexDev; i++) {
6176 var oldHookName = hookTypesDev[i], newHookName = i === hookTypesUpdateIndexDev ? hookName : oldHookName;
6177 for (oldHookName = i + 1 + ". " + oldHookName; 30 > oldHookName.length; )
6178 oldHookName += " ";
6179 oldHookName += newHookName + "\n";
6180 table += oldHookName;
6181 }
6182 console.error(
6183 "React has detected a change in the order of Hooks called by %s. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://react.dev/link/rules-of-hooks\n\n Previous render Next render\n ------------------------------------------------------\n%s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
6184 componentName2,
6185 table
6186 );
6187 }
6188 }
6189 }
6190 function checkDepsAreArrayDev(deps) {
6191 void 0 === deps || null === deps || isArrayImpl(deps) || console.error(
6192 "%s received a final argument that is not an array (instead, received `%s`). When specified, the final argument must be an array.",
6193 currentHookNameInDev,
6194 typeof deps
6195 );
6196 }
6197 function warnOnUseFormStateInDev() {
6198 var componentName2 = getComponentNameFromFiber(currentlyRenderingFiber);
6199 didWarnAboutUseFormState.has(componentName2) || (didWarnAboutUseFormState.add(componentName2), console.error(
6200 "ReactDOM.useFormState has been renamed to React.useActionState. Please update %s to use React.useActionState.",
6201 componentName2
6202 ));
6203 }
6204 function throwInvalidHookError() {
6205 throw Error(
6206 "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem."
6207 );
6208 }
6209 function areHookInputsEqual(nextDeps, prevDeps) {
6210 if (ignorePreviousDependencies) return false;
6211 if (null === prevDeps)
6212 return console.error(
6213 "%s received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.",
6214 currentHookNameInDev
6215 ), false;
6216 nextDeps.length !== prevDeps.length && console.error(
6217 "The final argument passed to %s changed size between renders. The order and size of this array must remain constant.\n\nPrevious: %s\nIncoming: %s",
6218 currentHookNameInDev,
6219 "[" + prevDeps.join(", ") + "]",
6220 "[" + nextDeps.join(", ") + "]"
6221 );
6222 for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)
6223 if (!objectIs(nextDeps[i], prevDeps[i])) return false;
6224 return true;
6225 }
6226 function renderWithHooks(current2, workInProgress2, Component, props, secondArg, nextRenderLanes) {
6227 renderLanes = nextRenderLanes;
6228 currentlyRenderingFiber = workInProgress2;
6229 hookTypesDev = null !== current2 ? current2._debugHookTypes : null;
6230 hookTypesUpdateIndexDev = -1;
6231 ignorePreviousDependencies = null !== current2 && current2.type !== workInProgress2.type;
6232 if ("[object AsyncFunction]" === Object.prototype.toString.call(Component) || "[object AsyncGeneratorFunction]" === Object.prototype.toString.call(Component))
6233 nextRenderLanes = getComponentNameFromFiber(currentlyRenderingFiber), didWarnAboutAsyncClientComponent.has(nextRenderLanes) || (didWarnAboutAsyncClientComponent.add(nextRenderLanes), console.error(
6234 "%s is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.",
6235 null === nextRenderLanes ? "An unknown Component" : "<" + nextRenderLanes + ">"
6236 ));
6237 workInProgress2.memoizedState = null;
6238 workInProgress2.updateQueue = null;
6239 workInProgress2.lanes = 0;
6240 ReactSharedInternals.H = null !== current2 && null !== current2.memoizedState ? HooksDispatcherOnUpdateInDEV : null !== hookTypesDev ? HooksDispatcherOnMountWithHookTypesInDEV : HooksDispatcherOnMountInDEV;
6241 shouldDoubleInvokeUserFnsInHooksDEV = nextRenderLanes = (workInProgress2.mode & StrictLegacyMode) !== NoMode;
6242 var children = callComponentInDEV(Component, props, secondArg);
6243 shouldDoubleInvokeUserFnsInHooksDEV = false;
6244 didScheduleRenderPhaseUpdateDuringThisPass && (children = renderWithHooksAgain(
6245 workInProgress2,
6246 Component,
6247 props,
6248 secondArg
6249 ));
6250 if (nextRenderLanes) {
6251 setIsStrictModeForDevtools(true);
6252 try {
6253 children = renderWithHooksAgain(
6254 workInProgress2,
6255 Component,
6256 props,
6257 secondArg
6258 );
6259 } finally {
6260 setIsStrictModeForDevtools(false);
6261 }
6262 }
6263 finishRenderingHooks(current2, workInProgress2);
6264 return children;
6265 }
6266 function finishRenderingHooks(current2, workInProgress2) {
6267 workInProgress2._debugHookTypes = hookTypesDev;
6268 null === workInProgress2.dependencies ? null !== thenableState && (workInProgress2.dependencies = {
6269 lanes: 0,
6270 firstContext: null,
6271 _debugThenableState: thenableState
6272 }) : workInProgress2.dependencies._debugThenableState = thenableState;
6273 var thenableState$jscomp$0 = thenableState;
6274 null !== lastSuspendedFiber && areSameKeyPath(lastSuspendedFiber, workInProgress2) && (null !== thenableState$jscomp$0 || null === lastSuspendedStack || didIssueUseWarning || (didIssueUseWarning = true, console.error(lastSuspendedStack)), lastSuspendedStack = lastSuspendedFiber = null);
6275 ReactSharedInternals.H = ContextOnlyDispatcher;
6276 thenableState$jscomp$0 = null !== currentHook && null !== currentHook.next;
6277 renderLanes = 0;
6278 hookTypesDev = currentHookNameInDev = workInProgressHook = currentHook = currentlyRenderingFiber = null;
6279 hookTypesUpdateIndexDev = -1;
6280 null !== current2 && (current2.flags & 1206910976) !== (workInProgress2.flags & 1206910976) && console.error(
6281 "Internal React error: Expected static flag was missing. Please notify the React team."
6282 );
6283 didScheduleRenderPhaseUpdate = false;
6284 thenableIndexCounter = 0;
6285 thenableState = null;
6286 if (thenableState$jscomp$0)
6287 throw Error(
6288 "Rendered fewer hooks than expected. This may be caused by an accidental early return statement."
6289 );
6290 null === current2 || didReceiveUpdate || (current2 = current2.dependencies, null !== current2 && checkIfContextChanged(current2) && (didReceiveUpdate = true));
6291 needsToResetSuspendedThenableDEV ? (needsToResetSuspendedThenableDEV = false, current2 = true) : current2 = false;
6292 current2 && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Unknown", didWarnAboutUseWrappedInTryCatch.has(workInProgress2) || didWarnAboutAsyncClientComponent.has(workInProgress2) || (didWarnAboutUseWrappedInTryCatch.add(workInProgress2), console.error(
6293 "`use` was called from inside a try/catch block. This is not allowed and can lead to unexpected behavior. To handle errors triggered by `use`, wrap your component in a error boundary."
6294 )));
6295 }
6296 function renderWithHooksAgain(workInProgress2, Component, props, secondArg) {
6297 currentlyRenderingFiber = workInProgress2;
6298 var numberOfReRenders = 0;
6299 do {
6300 didScheduleRenderPhaseUpdateDuringThisPass && (thenableState = null);
6301 thenableIndexCounter = 0;
6302 didScheduleRenderPhaseUpdateDuringThisPass = false;
6303 if (numberOfReRenders >= RE_RENDER_LIMIT)
6304 throw Error(
6305 "Too many re-renders. React limits the number of renders to prevent an infinite loop."
6306 );
6307 numberOfReRenders += 1;
6308 ignorePreviousDependencies = false;
6309 workInProgressHook = currentHook = null;
6310 if (null != workInProgress2.updateQueue) {
6311 var children = workInProgress2.updateQueue;
6312 children.lastEffect = null;
6313 children.events = null;
6314 children.stores = null;
6315 null != children.memoCache && (children.memoCache.index = 0);
6316 }
6317 hookTypesUpdateIndexDev = -1;
6318 ReactSharedInternals.H = HooksDispatcherOnRerenderInDEV;
6319 children = callComponentInDEV(Component, props, secondArg);
6320 } while (didScheduleRenderPhaseUpdateDuringThisPass);
6321 return children;
6322 }
6323 function TransitionAwareHostComponent() {
6324 var dispatcher = ReactSharedInternals.H, maybeThenable = dispatcher.useState()[0];
6325 maybeThenable = "function" === typeof maybeThenable.then ? useThenable(maybeThenable) : maybeThenable;
6326 dispatcher = dispatcher.useState()[0];
6327 (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher && (currentlyRenderingFiber.flags |= 1024);
6328 return maybeThenable;
6329 }
6330 function checkDidRenderIdHook() {
6331 var didRenderIdHook = 0 !== localIdCounter;
6332 localIdCounter = 0;
6333 return didRenderIdHook;
6334 }
6335 function bailoutHooks(current2, workInProgress2, lanes) {
6336 workInProgress2.updateQueue = current2.updateQueue;
6337 workInProgress2.flags = (workInProgress2.mode & StrictEffectsMode) !== NoMode ? workInProgress2.flags & -805308421 : workInProgress2.flags & -2053;
6338 current2.lanes &= ~lanes;
6339 }
6340 function resetHooksOnUnwind(workInProgress2) {
6341 if (didScheduleRenderPhaseUpdate) {
6342 for (workInProgress2 = workInProgress2.memoizedState; null !== workInProgress2; ) {
6343 var queue = workInProgress2.queue;
6344 null !== queue && (queue.pending = null);
6345 workInProgress2 = workInProgress2.next;
6346 }
6347 didScheduleRenderPhaseUpdate = false;
6348 }
6349 renderLanes = 0;
6350 hookTypesDev = workInProgressHook = currentHook = currentlyRenderingFiber = null;
6351 hookTypesUpdateIndexDev = -1;
6352 currentHookNameInDev = null;
6353 didScheduleRenderPhaseUpdateDuringThisPass = false;
6354 thenableIndexCounter = localIdCounter = 0;
6355 thenableState = null;
6356 }
6357 function mountWorkInProgressHook() {
6358 var hook = {
6359 memoizedState: null,
6360 baseState: null,
6361 baseQueue: null,
6362 queue: null,
6363 next: null
6364 };
6365 null === workInProgressHook ? currentlyRenderingFiber.memoizedState = workInProgressHook = hook : workInProgressHook = workInProgressHook.next = hook;
6366 return workInProgressHook;
6367 }
6368 function updateWorkInProgressHook() {
6369 if (null === currentHook) {
6370 var nextCurrentHook = currentlyRenderingFiber.alternate;
6371 nextCurrentHook = null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;
6372 } else nextCurrentHook = currentHook.next;
6373 var nextWorkInProgressHook = null === workInProgressHook ? currentlyRenderingFiber.memoizedState : workInProgressHook.next;
6374 if (null !== nextWorkInProgressHook)
6375 workInProgressHook = nextWorkInProgressHook, currentHook = nextCurrentHook;
6376 else {
6377 if (null === nextCurrentHook) {
6378 if (null === currentlyRenderingFiber.alternate)
6379 throw Error(
6380 "Update hook called on initial render. This is likely a bug in React. Please file an issue."
6381 );
6382 throw Error("Rendered more hooks than during the previous render.");
6383 }
6384 currentHook = nextCurrentHook;
6385 nextCurrentHook = {
6386 memoizedState: currentHook.memoizedState,
6387 baseState: currentHook.baseState,
6388 baseQueue: currentHook.baseQueue,
6389 queue: currentHook.queue,
6390 next: null
6391 };
6392 null === workInProgressHook ? currentlyRenderingFiber.memoizedState = workInProgressHook = nextCurrentHook : workInProgressHook = workInProgressHook.next = nextCurrentHook;
6393 }
6394 return workInProgressHook;
6395 }
6396 function createFunctionComponentUpdateQueue() {
6397 return { lastEffect: null, events: null, stores: null, memoCache: null };
6398 }
6399 function useThenable(thenable) {
6400 var index = thenableIndexCounter;
6401 thenableIndexCounter += 1;
6402 null === thenableState && (thenableState = createThenableState());
6403 thenable = trackUsedThenable(
6404 thenableState,
6405 thenable,
6406 index,
6407 currentlyRenderingFiber
6408 );
6409 index = currentlyRenderingFiber;
6410 null === (null === workInProgressHook ? index.memoizedState : workInProgressHook.next) && (index = index.alternate, ReactSharedInternals.H = null !== index && null !== index.memoizedState ? HooksDispatcherOnUpdateInDEV : HooksDispatcherOnMountInDEV);
6411 return thenable;
6412 }
6413 function use(usable) {
6414 if (null !== usable && "object" === typeof usable) {
6415 if ("function" === typeof usable.then) return useThenable(usable);
6416 if (usable.$$typeof === REACT_RECOVERABLE_TYPE) return;
6417 if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);
6418 }
6419 throw Error("An unsupported type was passed to use(): " + String(usable));
6420 }
6421 function useMemoCache(size) {
6422 var memoCache = null, updateQueue = currentlyRenderingFiber.updateQueue;
6423 null !== updateQueue && (memoCache = updateQueue.memoCache);
6424 if (null == memoCache) {
6425 var current2 = currentlyRenderingFiber.alternate;
6426 null !== current2 && (current2 = current2.updateQueue, null !== current2 && (current2 = current2.memoCache, null != current2 && (memoCache = {
6427 data: current2.data.map(function(array) {
6428 return array.slice();
6429 }),
6430 index: 0
6431 })));
6432 }
6433 null == memoCache && (memoCache = { data: [], index: 0 });
6434 null === updateQueue && (updateQueue = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = updateQueue);
6435 updateQueue.memoCache = memoCache;
6436 updateQueue = memoCache.data[memoCache.index];
6437 if (void 0 === updateQueue || ignorePreviousDependencies)
6438 for (updateQueue = memoCache.data[memoCache.index] = Array(size), current2 = 0; current2 < size; current2++)
6439 updateQueue[current2] = REACT_MEMO_CACHE_SENTINEL;
6440 else
6441 updateQueue.length !== size && console.error(
6442 "Expected a constant size argument for each invocation of useMemoCache. The previous cache was allocated with size %s but size %s was requested.",
6443 updateQueue.length,
6444 size
6445 );
6446 memoCache.index++;
6447 return updateQueue;
6448 }
6449 function basicStateReducer(state, action) {
6450 return "function" === typeof action ? action(state) : action;
6451 }
6452 function mountReducer(reducer, initialArg, init) {
6453 var hook = mountWorkInProgressHook();
6454 if (void 0 !== init) {
6455 var initialState = init(initialArg);
6456 if (shouldDoubleInvokeUserFnsInHooksDEV) {
6457 setIsStrictModeForDevtools(true);
6458 try {
6459 init(initialArg);
6460 } finally {
6461 setIsStrictModeForDevtools(false);
6462 }
6463 }
6464 } else initialState = initialArg;
6465 hook.memoizedState = hook.baseState = initialState;
6466 reducer = {
6467 pending: null,
6468 lanes: 0,
6469 dispatch: null,
6470 lastRenderedReducer: reducer,
6471 lastRenderedState: initialState
6472 };
6473 hook.queue = reducer;
6474 reducer = reducer.dispatch = dispatchReducerAction.bind(
6475 null,
6476 currentlyRenderingFiber,
6477 reducer
6478 );
6479 return [hook.memoizedState, reducer];
6480 }
6481 function updateReducer(reducer) {
6482 var hook = updateWorkInProgressHook();
6483 return updateReducerImpl(hook, currentHook, reducer);
6484 }
6485 function updateReducerImpl(hook, current2, reducer) {
6486 var queue = hook.queue;
6487 if (null === queue)
6488 throw Error(
6489 "Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)"
6490 );
6491 queue.lastRenderedReducer = reducer;
6492 var baseQueue = hook.baseQueue, pendingQueue = queue.pending;
6493 if (null !== pendingQueue) {
6494 if (null !== baseQueue) {
6495 var baseFirst = baseQueue.next;
6496 baseQueue.next = pendingQueue.next;
6497 pendingQueue.next = baseFirst;
6498 }
6499 current2.baseQueue !== baseQueue && console.error(
6500 "Internal error: Expected work-in-progress queue to be a clone. This is a bug in React."
6501 );
6502 current2.baseQueue = baseQueue = pendingQueue;
6503 queue.pending = null;
6504 }
6505 pendingQueue = hook.baseState;
6506 if (null === baseQueue) hook.memoizedState = pendingQueue;
6507 else {
6508 current2 = baseQueue.next;
6509 var newBaseQueueFirst = baseFirst = null, newBaseQueueLast = null, update = current2, didReadFromEntangledAsyncAction2 = false;
6510 do {
6511 var updateLane = update.lane & -536870913;
6512 if (updateLane !== update.lane ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes & updateLane) === updateLane) {
6513 var revertLane = update.revertLane;
6514 if (0 === revertLane)
6515 null !== newBaseQueueLast && (newBaseQueueLast = newBaseQueueLast.next = {
6516 lane: 0,
6517 revertLane: 0,
6518 gesture: null,
6519 action: update.action,
6520 hasEagerState: update.hasEagerState,
6521 eagerState: update.eagerState,
6522 next: null
6523 }), updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true);
6524 else if ((renderLanes & revertLane) === revertLane) {
6525 update = update.next;
6526 revertLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true);
6527 continue;
6528 } else
6529 updateLane = {
6530 lane: 0,
6531 revertLane: update.revertLane,
6532 gesture: null,
6533 action: update.action,
6534 hasEagerState: update.hasEagerState,
6535 eagerState: update.eagerState,
6536 next: null
6537 }, null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = updateLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = updateLane, currentlyRenderingFiber.lanes |= revertLane, workInProgressRootSkippedLanes |= revertLane;
6538 updateLane = update.action;
6539 shouldDoubleInvokeUserFnsInHooksDEV && reducer(pendingQueue, updateLane);
6540 pendingQueue = update.hasEagerState ? update.eagerState : reducer(pendingQueue, updateLane);
6541 } else
6542 revertLane = {
6543 lane: updateLane,
6544 revertLane: update.revertLane,
6545 gesture: update.gesture,
6546 action: update.action,
6547 hasEagerState: update.hasEagerState,
6548 eagerState: update.eagerState,
6549 next: null
6550 }, null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = revertLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = revertLane, currentlyRenderingFiber.lanes |= updateLane, workInProgressRootSkippedLanes |= updateLane;
6551 update = update.next;
6552 } while (null !== update && update !== current2);
6553 null === newBaseQueueLast ? baseFirst = pendingQueue : newBaseQueueLast.next = newBaseQueueFirst;
6554 if (!objectIs(pendingQueue, hook.memoizedState) && (didReceiveUpdate = true, didReadFromEntangledAsyncAction2 && (reducer = currentEntangledActionThenable, null !== reducer)))
6555 throw reducer;
6556 hook.memoizedState = pendingQueue;
6557 hook.baseState = baseFirst;
6558 hook.baseQueue = newBaseQueueLast;
6559 queue.lastRenderedState = pendingQueue;
6560 }
6561 null === baseQueue && (queue.lanes = 0);
6562 return [hook.memoizedState, queue.dispatch];
6563 }
6564 function rerenderReducer(reducer) {
6565 var hook = updateWorkInProgressHook(), queue = hook.queue;
6566 if (null === queue)
6567 throw Error(
6568 "Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)"
6569 );
6570 queue.lastRenderedReducer = reducer;
6571 var dispatch = queue.dispatch, lastRenderPhaseUpdate = queue.pending, newState = hook.memoizedState;
6572 if (null !== lastRenderPhaseUpdate) {
6573 queue.pending = null;
6574 var update = lastRenderPhaseUpdate = lastRenderPhaseUpdate.next;
6575 do
6576 newState = reducer(newState, update.action), update = update.next;
6577 while (update !== lastRenderPhaseUpdate);
6578 objectIs(newState, hook.memoizedState) || (didReceiveUpdate = true);
6579 hook.memoizedState = newState;
6580 null === hook.baseQueue && (hook.baseState = newState);
6581 queue.lastRenderedState = newState;
6582 }
6583 return [newState, dispatch];
6584 }
6585 function mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {
6586 var fiber = currentlyRenderingFiber, hook = mountWorkInProgressHook();
6587 if (isHydrating) {
6588 if (void 0 === getServerSnapshot)
6589 throw Error(
6590 "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering."
6591 );
6592 var nextSnapshot = getServerSnapshot();
6593 didWarnUncachedGetSnapshot || nextSnapshot === getServerSnapshot() || (console.error(
6594 "The result of getServerSnapshot should be cached to avoid an infinite loop"
6595 ), didWarnUncachedGetSnapshot = true);
6596 } else {
6597 nextSnapshot = getSnapshot();
6598 didWarnUncachedGetSnapshot || (getServerSnapshot = getSnapshot(), objectIs(nextSnapshot, getServerSnapshot) || (console.error(
6599 "The result of getSnapshot should be cached to avoid an infinite loop"
6600 ), didWarnUncachedGetSnapshot = true));
6601 if (null === workInProgressRoot)
6602 throw Error(
6603 "Expected a work-in-progress root. This is a bug in React. Please file an issue."
6604 );
6605 0 !== (workInProgressRootRenderLanes & 127) || pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);
6606 }
6607 hook.memoizedState = nextSnapshot;
6608 getServerSnapshot = { value: nextSnapshot, getSnapshot };
6609 hook.queue = getServerSnapshot;
6610 mountEffect(
6611 subscribeToStore.bind(null, fiber, getServerSnapshot, subscribe),
6612 [subscribe]
6613 );
6614 fiber.flags |= 2048;
6615 pushSimpleEffect(
6616 HasEffect | Passive,
6617 { destroy: void 0 },
6618 updateStoreInstance.bind(
6619 null,
6620 fiber,
6621 getServerSnapshot,
6622 nextSnapshot,
6623 getSnapshot
6624 ),
6625 null
6626 );
6627 return nextSnapshot;
6628 }
6629 function updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {
6630 var fiber = currentlyRenderingFiber, hook = updateWorkInProgressHook(), isHydrating$jscomp$0 = isHydrating;
6631 if (isHydrating$jscomp$0) {
6632 if (void 0 === getServerSnapshot)
6633 throw Error(
6634 "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering."
6635 );
6636 getServerSnapshot = getServerSnapshot();
6637 } else if (getServerSnapshot = getSnapshot(), !didWarnUncachedGetSnapshot) {
6638 var cachedSnapshot = getSnapshot();
6639 objectIs(getServerSnapshot, cachedSnapshot) || (console.error(
6640 "The result of getSnapshot should be cached to avoid an infinite loop"
6641 ), didWarnUncachedGetSnapshot = true);
6642 }
6643 if (cachedSnapshot = !objectIs(
6644 (currentHook || hook).memoizedState,
6645 getServerSnapshot
6646 ))
6647 hook.memoizedState = getServerSnapshot, didReceiveUpdate = true;
6648 hook = hook.queue;
6649 var create = subscribeToStore.bind(null, fiber, hook, subscribe);
6650 updateEffectImpl(2048, Passive, create, [subscribe]);
6651 subscribe = hook.getSnapshot !== getSnapshot || cachedSnapshot || null !== workInProgressHook && (workInProgressHook.memoizedState.tag & HasEffect) !== NoFlags;
6652 pushSimpleEffect(
6653 subscribe ? HasEffect | Passive : Passive,
6654 { destroy: void 0 },
6655 updateStoreInstance.bind(
6656 null,
6657 fiber,
6658 hook,
6659 getServerSnapshot,
6660 getSnapshot
6661 ),
6662 null
6663 );
6664 if (subscribe) {
6665 fiber.flags |= 2048;
6666 if (null === workInProgressRoot)
6667 throw Error(
6668 "Expected a work-in-progress root. This is a bug in React. Please file an issue."
6669 );
6670 isHydrating$jscomp$0 || 0 !== (renderLanes & 127) || pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);
6671 }
6672 return getServerSnapshot;
6673 }
6674 function pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {
6675 fiber.flags |= 16384;
6676 fiber = { getSnapshot, value: renderedSnapshot };
6677 getSnapshot = currentlyRenderingFiber.updateQueue;
6678 null === getSnapshot ? (getSnapshot = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = getSnapshot, getSnapshot.stores = [fiber]) : (renderedSnapshot = getSnapshot.stores, null === renderedSnapshot ? getSnapshot.stores = [fiber] : renderedSnapshot.push(fiber));
6679 }
6680 function updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {
6681 inst.value = nextSnapshot;
6682 inst.getSnapshot = getSnapshot;
6683 checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);
6684 }
6685 function subscribeToStore(fiber, inst, subscribe) {
6686 return subscribe(function() {
6687 checkIfSnapshotChanged(inst) && (startUpdateTimerByLane(2, "updateSyncExternalStore()", fiber), forceStoreRerender(fiber));
6688 });
6689 }
6690 function checkIfSnapshotChanged(inst) {
6691 var latestGetSnapshot = inst.getSnapshot;
6692 inst = inst.value;
6693 try {
6694 var nextValue = latestGetSnapshot();
6695 return !objectIs(inst, nextValue);
6696 } catch (error) {
6697 return true;
6698 }
6699 }
6700 function forceStoreRerender(fiber) {
6701 var root2 = enqueueConcurrentRenderForLane(fiber, 2);
6702 null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2);
6703 }
6704 function mountStateImpl(initialState) {
6705 var hook = mountWorkInProgressHook();
6706 if ("function" === typeof initialState) {
6707 var initialStateInitializer = initialState;
6708 initialState = initialStateInitializer();
6709 if (shouldDoubleInvokeUserFnsInHooksDEV) {
6710 setIsStrictModeForDevtools(true);
6711 try {
6712 initialStateInitializer();
6713 } finally {
6714 setIsStrictModeForDevtools(false);
6715 }
6716 }
6717 }
6718 hook.memoizedState = hook.baseState = initialState;
6719 hook.queue = {
6720 pending: null,
6721 lanes: 0,
6722 dispatch: null,
6723 lastRenderedReducer: basicStateReducer,
6724 lastRenderedState: initialState
6725 };
6726 return hook;
6727 }
6728 function mountState(initialState) {
6729 initialState = mountStateImpl(initialState);
6730 var queue = initialState.queue, dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue);
6731 queue.dispatch = dispatch;
6732 return [initialState.memoizedState, dispatch];
6733 }
6734 function mountOptimistic(passthrough) {
6735 var hook = mountWorkInProgressHook();
6736 hook.memoizedState = hook.baseState = passthrough;
6737 var queue = {
6738 pending: null,
6739 lanes: 0,
6740 dispatch: null,
6741 lastRenderedReducer: null,
6742 lastRenderedState: null
6743 };
6744 hook.queue = queue;
6745 hook = dispatchOptimisticSetState.bind(
6746 null,
6747 currentlyRenderingFiber,
6748 true,
6749 queue
6750 );
6751 queue.dispatch = hook;
6752 return [passthrough, hook];
6753 }
6754 function updateOptimistic(passthrough, reducer) {
6755 var hook = updateWorkInProgressHook();
6756 return updateOptimisticImpl(hook, currentHook, passthrough, reducer);
6757 }
6758 function updateOptimisticImpl(hook, current2, passthrough, reducer) {
6759 hook.baseState = passthrough;
6760 return updateReducerImpl(
6761 hook,
6762 currentHook,
6763 "function" === typeof reducer ? reducer : basicStateReducer
6764 );
6765 }
6766 function rerenderOptimistic(passthrough, reducer) {
6767 var hook = updateWorkInProgressHook();
6768 if (null !== currentHook)
6769 return updateOptimisticImpl(hook, currentHook, passthrough, reducer);
6770 hook.baseState = passthrough;
6771 return [passthrough, hook.queue.dispatch];
6772 }
6773 function dispatchActionState(fiber, actionQueue, setPendingState, setState, payload) {
6774 if (isRenderPhaseUpdate(fiber))
6775 throw Error("Cannot update action state while rendering.");
6776 fiber = actionQueue.action;
6777 if (null !== fiber) {
6778 var actionNode = {
6779 payload,
6780 action: fiber,
6781 next: null,
6782 isTransition: true,
6783 status: "pending",
6784 value: null,
6785 reason: null,
6786 listeners: [],
6787 then: function(listener) {
6788 actionNode.listeners.push(listener);
6789 }
6790 };
6791 null !== ReactSharedInternals.T ? setPendingState(true) : actionNode.isTransition = false;
6792 setState(actionNode);
6793 setPendingState = actionQueue.pending;
6794 null === setPendingState ? (actionNode.next = actionQueue.pending = actionNode, runActionStateAction(actionQueue, actionNode)) : (actionNode.next = setPendingState.next, actionQueue.pending = setPendingState.next = actionNode);
6795 }
6796 }
6797 function runActionStateAction(actionQueue, node) {
6798 var action = node.action, payload = node.payload, prevState = actionQueue.state;
6799 if (node.isTransition) {
6800 var prevTransition = ReactSharedInternals.T, currentTransition = {};
6801 currentTransition.types = null !== prevTransition ? prevTransition.types : null;
6802 currentTransition._updatedFibers = /* @__PURE__ */ new Set();
6803 ReactSharedInternals.T = currentTransition;
6804 try {
6805 var returnValue = action(prevState, payload), onStartTransitionFinish = ReactSharedInternals.S;
6806 null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue);
6807 handleActionReturnValue(actionQueue, node, returnValue);
6808 } catch (error) {
6809 onActionError(actionQueue, node, error);
6810 } finally {
6811 null !== prevTransition && null !== currentTransition.types && (null !== prevTransition.types && prevTransition.types !== currentTransition.types && console.error(
6812 "We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React."
6813 ), prevTransition.types = currentTransition.types), ReactSharedInternals.T = prevTransition, null === prevTransition && currentTransition._updatedFibers && (actionQueue = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < actionQueue && console.warn(
6814 "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."
6815 ));
6816 }
6817 } else
6818 try {
6819 currentTransition = action(prevState, payload), handleActionReturnValue(actionQueue, node, currentTransition);
6820 } catch (error$5) {
6821 onActionError(actionQueue, node, error$5);
6822 }
6823 }
6824 function handleActionReturnValue(actionQueue, node, returnValue) {
6825 null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then ? (ReactSharedInternals.asyncTransitions++, returnValue.then(releaseAsyncTransition, releaseAsyncTransition), returnValue.then(
6826 function(nextState) {
6827 onActionSuccess(actionQueue, node, nextState);
6828 },
6829 function(error) {
6830 return onActionError(actionQueue, node, error);
6831 }
6832 ), node.isTransition || console.error(
6833 "An async function with useActionState was called outside of a transition. This is likely not what you intended (for example, isPending will not update correctly). Either call the returned function inside startTransition, or pass it to an `action` or `formAction` prop."
6834 )) : onActionSuccess(actionQueue, node, returnValue);
6835 }
6836 function onActionSuccess(actionQueue, actionNode, nextState) {
6837 actionNode.status = "fulfilled";
6838 actionNode.value = nextState;
6839 notifyActionListeners(actionNode);
6840 actionQueue.state = nextState;
6841 actionNode = actionQueue.pending;
6842 null !== actionNode && (nextState = actionNode.next, nextState === actionNode ? actionQueue.pending = null : (nextState = nextState.next, actionNode.next = nextState, runActionStateAction(actionQueue, nextState)));
6843 }
6844 function onActionError(actionQueue, actionNode, error) {
6845 var last = actionQueue.pending;
6846 actionQueue.pending = null;
6847 if (null !== last) {
6848 last = last.next;
6849 do
6850 actionNode.status = "rejected", actionNode.reason = error, notifyActionListeners(actionNode), actionNode = actionNode.next;
6851 while (actionNode !== last);
6852 }
6853 actionQueue.action = null;
6854 }
6855 function notifyActionListeners(actionNode) {
6856 actionNode = actionNode.listeners;
6857 for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();
6858 }
6859 function actionStateReducer(oldState, newState) {
6860 return newState;
6861 }
6862 function mountActionState(action, initialStateProp) {
6863 if (isHydrating) {
6864 var ssrFormState = workInProgressRoot.formState;
6865 if (null !== ssrFormState) {
6866 a: {
6867 var isMatching = currentlyRenderingFiber;
6868 if (isHydrating) {
6869 if (nextHydratableInstance) {
6870 b: {
6871 var markerInstance = nextHydratableInstance;
6872 for (var inRootOrSingleton = rootOrSingletonContext; 8 !== markerInstance.nodeType; ) {
6873 if (!inRootOrSingleton) {
6874 markerInstance = null;
6875 break b;
6876 }
6877 markerInstance = getNextHydratable(
6878 markerInstance.nextSibling
6879 );
6880 if (null === markerInstance) {
6881 markerInstance = null;
6882 break b;
6883 }
6884 }
6885 inRootOrSingleton = markerInstance.data;
6886 markerInstance = inRootOrSingleton === FORM_STATE_IS_MATCHING || inRootOrSingleton === FORM_STATE_IS_NOT_MATCHING ? markerInstance : null;
6887 }
6888 if (markerInstance) {
6889 nextHydratableInstance = getNextHydratable(
6890 markerInstance.nextSibling
6891 );
6892 isMatching = markerInstance.data === FORM_STATE_IS_MATCHING;
6893 break a;
6894 }
6895 }
6896 throwOnHydrationMismatch(isMatching);
6897 }
6898 isMatching = false;
6899 }
6900 isMatching && (initialStateProp = ssrFormState[0]);
6901 }
6902 }
6903 ssrFormState = mountWorkInProgressHook();
6904 ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;
6905 isMatching = {
6906 pending: null,
6907 lanes: 0,
6908 dispatch: null,
6909 lastRenderedReducer: actionStateReducer,
6910 lastRenderedState: initialStateProp
6911 };
6912 ssrFormState.queue = isMatching;
6913 ssrFormState = dispatchSetState.bind(
6914 null,
6915 currentlyRenderingFiber,
6916 isMatching
6917 );
6918 isMatching.dispatch = ssrFormState;
6919 isMatching = mountStateImpl(false);
6920 inRootOrSingleton = dispatchOptimisticSetState.bind(
6921 null,
6922 currentlyRenderingFiber,
6923 false,
6924 isMatching.queue
6925 );
6926 isMatching = mountWorkInProgressHook();
6927 markerInstance = {
6928 state: initialStateProp,
6929 dispatch: null,
6930 action,
6931 pending: null
6932 };
6933 isMatching.queue = markerInstance;
6934 ssrFormState = dispatchActionState.bind(
6935 null,
6936 currentlyRenderingFiber,
6937 markerInstance,
6938 inRootOrSingleton,
6939 ssrFormState
6940 );
6941 markerInstance.dispatch = ssrFormState;
6942 isMatching.memoizedState = action;
6943 return [initialStateProp, ssrFormState, false];
6944 }
6945 function updateActionState(action) {
6946 var stateHook = updateWorkInProgressHook();
6947 return updateActionStateImpl(stateHook, currentHook, action);
6948 }
6949 function updateActionStateImpl(stateHook, currentStateHook, action) {
6950 currentStateHook = updateReducerImpl(
6951 stateHook,
6952 currentStateHook,
6953 actionStateReducer
6954 )[0];
6955 stateHook = updateReducer(basicStateReducer)[0];
6956 if ("object" === typeof currentStateHook && null !== currentStateHook && "function" === typeof currentStateHook.then)
6957 try {
6958 var state = useThenable(currentStateHook);
6959 } catch (x) {
6960 if (x === SuspenseException) throw SuspenseActionException;
6961 throw x;
6962 }
6963 else state = currentStateHook;
6964 currentStateHook = updateWorkInProgressHook();
6965 var actionQueue = currentStateHook.queue, dispatch = actionQueue.dispatch;
6966 action !== currentStateHook.memoizedState && (currentlyRenderingFiber.flags |= 2048, pushSimpleEffect(
6967 HasEffect | Passive,
6968 { destroy: void 0 },
6969 actionStateActionEffect.bind(null, actionQueue, action),
6970 null
6971 ));
6972 return [state, dispatch, stateHook];
6973 }
6974 function actionStateActionEffect(actionQueue, action) {
6975 actionQueue.action = action;
6976 }
6977 function rerenderActionState(action) {
6978 var stateHook = updateWorkInProgressHook(), currentStateHook = currentHook;
6979 if (null !== currentStateHook)
6980 return updateActionStateImpl(stateHook, currentStateHook, action);
6981 updateWorkInProgressHook();
6982 stateHook = stateHook.memoizedState;
6983 currentStateHook = updateWorkInProgressHook();
6984 var dispatch = currentStateHook.queue.dispatch;
6985 currentStateHook.memoizedState = action;
6986 return [stateHook, dispatch, false];
6987 }
6988 function pushSimpleEffect(tag, inst, create, deps) {
6989 tag = { tag, create, deps, inst, next: null };
6990 inst = currentlyRenderingFiber.updateQueue;
6991 null === inst && (inst = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = inst);
6992 create = inst.lastEffect;
6993 null === create ? inst.lastEffect = tag.next = tag : (deps = create.next, create.next = tag, tag.next = deps, inst.lastEffect = tag);
6994 return tag;
6995 }
6996 function mountRef(initialValue) {
6997 var hook = mountWorkInProgressHook();
6998 initialValue = { current: initialValue };
6999 return hook.memoizedState = initialValue;
7000 }
7001 function mountEffectImpl(fiberFlags, hookFlags, create, deps) {
7002 var hook = mountWorkInProgressHook();
7003 currentlyRenderingFiber.flags |= fiberFlags;
7004 hook.memoizedState = pushSimpleEffect(
7005 HasEffect | hookFlags,
7006 { destroy: void 0 },
7007 create,
7008 void 0 === deps ? null : deps
7009 );
7010 }
7011 function updateEffectImpl(fiberFlags, hookFlags, create, deps) {
7012 var hook = updateWorkInProgressHook();
7013 deps = void 0 === deps ? null : deps;
7014 var inst = hook.memoizedState.inst;
7015 null !== currentHook && null !== deps && areHookInputsEqual(deps, currentHook.memoizedState.deps) ? hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps) : (currentlyRenderingFiber.flags |= fiberFlags, hook.memoizedState = pushSimpleEffect(
7016 HasEffect | hookFlags,
7017 inst,
7018 create,
7019 deps
7020 ));
7021 }
7022 function mountEffect(create, deps) {
7023 (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode ? mountEffectImpl(545261568, Passive, create, deps) : mountEffectImpl(8390656, Passive, create, deps);
7024 }
7025 function useEffectEventImpl(payload) {
7026 currentlyRenderingFiber.flags |= 4;
7027 var componentUpdateQueue = currentlyRenderingFiber.updateQueue;
7028 if (null === componentUpdateQueue)
7029 componentUpdateQueue = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = componentUpdateQueue, componentUpdateQueue.events = [payload];
7030 else {
7031 var events = componentUpdateQueue.events;
7032 null === events ? componentUpdateQueue.events = [payload] : events.push(payload);
7033 }
7034 }
7035 function mountEvent(callback) {
7036 var hook = mountWorkInProgressHook(), ref = { impl: callback };
7037 hook.memoizedState = ref;
7038 return function() {
7039 if ((executionContext & RenderContext) !== NoContext)
7040 throw Error(
7041 "A function wrapped in useEffectEvent can't be called during rendering."
7042 );
7043 return ref.impl.apply(void 0, arguments);
7044 };
7045 }
7046 function updateEvent(callback) {
7047 var ref = updateWorkInProgressHook().memoizedState;
7048 useEffectEventImpl({ ref, nextImpl: callback });
7049 return function() {
7050 if ((executionContext & RenderContext) !== NoContext)
7051 throw Error(
7052 "A function wrapped in useEffectEvent can't be called during rendering."
7053 );
7054 return ref.impl.apply(void 0, arguments);
7055 };
7056 }
7057 function mountLayoutEffect(create, deps) {
7058 var fiberFlags = 4194308;
7059 (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (fiberFlags |= 268435456);
7060 return mountEffectImpl(fiberFlags, Layout, create, deps);
7061 }
7062 function imperativeHandleEffect(create, ref) {
7063 if ("function" === typeof ref) {
7064 create = create();
7065 var refCleanup = ref(create);
7066 return function() {
7067 "function" === typeof refCleanup ? refCleanup() : ref(null);
7068 };
7069 }
7070 if (null !== ref && void 0 !== ref)
7071 return ref.hasOwnProperty("current") || console.error(
7072 "Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.",
7073 "an object with keys {" + Object.keys(ref).join(", ") + "}"
7074 ), create = create(), ref.current = create, function() {
7075 ref.current = null;
7076 };
7077 }
7078 function mountImperativeHandle(ref, create, deps) {
7079 "function" !== typeof create && console.error(
7080 "Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",
7081 null !== create ? typeof create : "null"
7082 );
7083 deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;
7084 var fiberFlags = 4194308;
7085 (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (fiberFlags |= 268435456);
7086 mountEffectImpl(
7087 fiberFlags,
7088 Layout,
7089 imperativeHandleEffect.bind(null, create, ref),
7090 deps
7091 );
7092 }
7093 function updateImperativeHandle(ref, create, deps) {
7094 "function" !== typeof create && console.error(
7095 "Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",
7096 null !== create ? typeof create : "null"
7097 );
7098 deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;
7099 updateEffectImpl(
7100 4,
7101 Layout,
7102 imperativeHandleEffect.bind(null, create, ref),
7103 deps
7104 );
7105 }
7106 function mountCallback(callback, deps) {
7107 mountWorkInProgressHook().memoizedState = [
7108 callback,
7109 void 0 === deps ? null : deps
7110 ];
7111 return callback;
7112 }
7113 function updateCallback(callback, deps) {
7114 var hook = updateWorkInProgressHook();
7115 deps = void 0 === deps ? null : deps;
7116 var prevState = hook.memoizedState;
7117 if (null !== deps && areHookInputsEqual(deps, prevState[1]))
7118 return prevState[0];
7119 hook.memoizedState = [callback, deps];
7120 return callback;
7121 }
7122 function mountMemo(nextCreate, deps) {
7123 var hook = mountWorkInProgressHook();
7124 deps = void 0 === deps ? null : deps;
7125 var nextValue = nextCreate();
7126 if (shouldDoubleInvokeUserFnsInHooksDEV) {
7127 setIsStrictModeForDevtools(true);
7128 try {
7129 nextCreate();
7130 } finally {
7131 setIsStrictModeForDevtools(false);
7132 }
7133 }
7134 hook.memoizedState = [nextValue, deps];
7135 return nextValue;
7136 }
7137 function updateMemo(nextCreate, deps) {
7138 var hook = updateWorkInProgressHook();
7139 deps = void 0 === deps ? null : deps;
7140 var prevState = hook.memoizedState;
7141 if (null !== deps && areHookInputsEqual(deps, prevState[1]))
7142 return prevState[0];
7143 prevState = nextCreate();
7144 if (shouldDoubleInvokeUserFnsInHooksDEV) {
7145 setIsStrictModeForDevtools(true);
7146 try {
7147 nextCreate();
7148 } finally {
7149 setIsStrictModeForDevtools(false);
7150 }
7151 }
7152 hook.memoizedState = [prevState, deps];
7153 return prevState;
7154 }
7155 function mountDeferredValue(value, initialValue) {
7156 var hook = mountWorkInProgressHook();
7157 return mountDeferredValueImpl(hook, value, initialValue);
7158 }
7159 function updateDeferredValue(value, initialValue) {
7160 var hook = updateWorkInProgressHook();
7161 return updateDeferredValueImpl(
7162 hook,
7163 currentHook.memoizedState,
7164 value,
7165 initialValue
7166 );
7167 }
7168 function rerenderDeferredValue(value, initialValue) {
7169 var hook = updateWorkInProgressHook();
7170 return null === currentHook ? mountDeferredValueImpl(hook, value, initialValue) : updateDeferredValueImpl(
7171 hook,
7172 currentHook.memoizedState,
7173 value,
7174 initialValue
7175 );
7176 }
7177 function mountDeferredValueImpl(hook, value, initialValue) {
7178 if (void 0 === initialValue || 0 !== (renderLanes & 1073741824) && 0 === (workInProgressRootRenderLanes & 261930))
7179 return hook.memoizedState = value;
7180 hook.memoizedState = initialValue;
7181 hook = requestDeferredLane();
7182 currentlyRenderingFiber.lanes |= hook;
7183 workInProgressRootSkippedLanes |= hook;
7184 return initialValue;
7185 }
7186 function updateDeferredValueImpl(hook, prevValue, value, initialValue) {
7187 if (objectIs(value, prevValue)) return value;
7188 if (null !== currentTreeHiddenStackCursor.current)
7189 return hook = mountDeferredValueImpl(hook, value, initialValue), objectIs(hook, prevValue) || (didReceiveUpdate = true), hook;
7190 if (0 === (renderLanes & 106) || 0 !== (renderLanes & 1073741824) && 0 === (workInProgressRootRenderLanes & 261930))
7191 return didReceiveUpdate = true, hook.memoizedState = value;
7192 hook = requestDeferredLane();
7193 currentlyRenderingFiber.lanes |= hook;
7194 workInProgressRootSkippedLanes |= hook;
7195 return prevValue;
7196 }
7197 function releaseAsyncTransition() {
7198 ReactSharedInternals.asyncTransitions--;
7199 }
7200 function startTransition(fiber, queue, pendingState, finishedState, callback) {
7201 var previousPriority = ReactDOMSharedInternals.p;
7202 ReactDOMSharedInternals.p = 0 !== previousPriority && previousPriority < ContinuousEventPriority ? previousPriority : ContinuousEventPriority;
7203 var prevTransition = ReactSharedInternals.T, currentTransition = {};
7204 currentTransition.types = null !== prevTransition ? prevTransition.types : null;
7205 currentTransition._updatedFibers = /* @__PURE__ */ new Set();
7206 ReactSharedInternals.T = currentTransition;
7207 dispatchOptimisticSetState(fiber, false, queue, pendingState);
7208 try {
7209 var returnValue = callback(), onStartTransitionFinish = ReactSharedInternals.S;
7210 null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue);
7211 if (null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then) {
7212 ReactSharedInternals.asyncTransitions++;
7213 returnValue.then(releaseAsyncTransition, releaseAsyncTransition);
7214 var thenableForFinishedState = chainThenableValue(
7215 returnValue,
7216 finishedState
7217 );
7218 dispatchSetStateInternal(
7219 fiber,
7220 queue,
7221 thenableForFinishedState,
7222 requestUpdateLane(fiber)
7223 );
7224 } else
7225 dispatchSetStateInternal(
7226 fiber,
7227 queue,
7228 finishedState,
7229 requestUpdateLane(fiber)
7230 );
7231 } catch (error) {
7232 dispatchSetStateInternal(
7233 fiber,
7234 queue,
7235 { then: function() {
7236 }, status: "rejected", reason: error },
7237 requestUpdateLane(fiber)
7238 );
7239 } finally {
7240 ReactDOMSharedInternals.p = previousPriority, null !== prevTransition && null !== currentTransition.types && (null !== prevTransition.types && prevTransition.types !== currentTransition.types && console.error(
7241 "We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React."
7242 ), prevTransition.types = currentTransition.types), ReactSharedInternals.T = prevTransition, null === prevTransition && currentTransition._updatedFibers && (fiber = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < fiber && console.warn(
7243 "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."
7244 ));
7245 }
7246 }
7247 function startHostTransition(formFiber, pendingState, action, formData) {
7248 if (5 !== formFiber.tag)
7249 throw Error(
7250 "Expected the form instance to be a HostComponent. This is a bug in React."
7251 );
7252 var queue = ensureFormComponentIsStateful(formFiber).queue;
7253 startHostActionTimer(formFiber);
7254 startTransition(
7255 formFiber,
7256 queue,
7257 pendingState,
7258 NotPendingTransition,
7259 null === action ? noop : function() {
7260 requestFormReset$1(formFiber);
7261 return action(formData);
7262 }
7263 );
7264 }
7265 function ensureFormComponentIsStateful(formFiber) {
7266 var existingStateHook = formFiber.memoizedState;
7267 if (null !== existingStateHook) return existingStateHook;
7268 existingStateHook = {
7269 memoizedState: NotPendingTransition,
7270 baseState: NotPendingTransition,
7271 baseQueue: null,
7272 queue: {
7273 pending: null,
7274 lanes: 0,
7275 dispatch: null,
7276 lastRenderedReducer: basicStateReducer,
7277 lastRenderedState: NotPendingTransition
7278 },
7279 next: null
7280 };
7281 var initialResetState = {};
7282 existingStateHook.next = {
7283 memoizedState: initialResetState,
7284 baseState: initialResetState,
7285 baseQueue: null,
7286 queue: {
7287 pending: null,
7288 lanes: 0,
7289 dispatch: null,
7290 lastRenderedReducer: basicStateReducer,
7291 lastRenderedState: initialResetState
7292 },
7293 next: null
7294 };
7295 formFiber.memoizedState = existingStateHook;
7296 formFiber = formFiber.alternate;
7297 null !== formFiber && (formFiber.memoizedState = existingStateHook);
7298 return existingStateHook;
7299 }
7300 function requestFormReset$1(formFiber) {
7301 null === ReactSharedInternals.T && console.error(
7302 "requestFormReset was called outside a transition or action. To fix, move to an action, or wrap with startTransition."
7303 );
7304 var stateHook = ensureFormComponentIsStateful(formFiber);
7305 null === stateHook.next && (stateHook = formFiber.alternate.memoizedState);
7306 dispatchSetStateInternal(
7307 formFiber,
7308 stateHook.next.queue,
7309 {},
7310 requestUpdateLane(formFiber)
7311 );
7312 }
7313 function mountTransition() {
7314 var stateHook = mountStateImpl(false);
7315 stateHook = startTransition.bind(
7316 null,
7317 currentlyRenderingFiber,
7318 stateHook.queue,
7319 true,
7320 false
7321 );
7322 mountWorkInProgressHook().memoizedState = stateHook;
7323 return [false, stateHook];
7324 }
7325 function updateTransition() {
7326 var booleanOrThenable = updateReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState;
7327 return [
7328 "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable),
7329 start
7330 ];
7331 }
7332 function rerenderTransition() {
7333 var booleanOrThenable = rerenderReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState;
7334 return [
7335 "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable),
7336 start
7337 ];
7338 }
7339 function useHostTransitionStatus() {
7340 return readContext(HostTransitionContext);
7341 }
7342 function mountId() {
7343 var hook = mountWorkInProgressHook(), identifierPrefix = workInProgressRoot.identifierPrefix;
7344 if (isHydrating) {
7345 var treeId = treeContextOverflow;
7346 var idWithLeadingBit = treeContextId;
7347 treeId = (idWithLeadingBit & ~(1 << 32 - clz32(idWithLeadingBit) - 1)).toString(32) + treeId;
7348 identifierPrefix = "_" + identifierPrefix + "R_" + treeId;
7349 treeId = localIdCounter++;
7350 0 < treeId && (identifierPrefix += "H" + treeId.toString(32));
7351 identifierPrefix += "_";
7352 } else
7353 treeId = globalClientIdCounter++, identifierPrefix = "_" + identifierPrefix + "r_" + treeId.toString(32) + "_";
7354 return hook.memoizedState = identifierPrefix;
7355 }
7356 function mountRefresh() {
7357 return mountWorkInProgressHook().memoizedState = refreshCache.bind(
7358 null,
7359 currentlyRenderingFiber
7360 );
7361 }
7362 function refreshCache(fiber, seedKey) {
7363 for (var provider = fiber.return; null !== provider; ) {
7364 switch (provider.tag) {
7365 case 24:
7366 case 3:
7367 var lane = requestUpdateLane(provider), refreshUpdate = createUpdate(lane), root2 = enqueueUpdate(provider, refreshUpdate, lane);
7368 null !== root2 && (startUpdateTimerByLane(lane, "refresh()", fiber), scheduleUpdateOnFiber(root2, provider, lane), entangleTransitions(root2, provider, lane));
7369 fiber = createCache();
7370 null !== seedKey && void 0 !== seedKey && null !== root2 && console.error(
7371 "The seed argument is not enabled outside experimental channels."
7372 );
7373 refreshUpdate.payload = { cache: fiber };
7374 return;
7375 }
7376 provider = provider.return;
7377 }
7378 }
7379 function dispatchReducerAction(fiber, queue, action) {
7380 var args = arguments;
7381 "function" === typeof args[3] && console.error(
7382 "State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect()."
7383 );
7384 args = requestUpdateLane(fiber);
7385 var update = {
7386 lane: args,
7387 revertLane: 0,
7388 gesture: null,
7389 action,
7390 hasEagerState: false,
7391 eagerState: null,
7392 next: null
7393 };
7394 isRenderPhaseUpdate(fiber) ? enqueueRenderPhaseUpdate(queue, update) : (update = enqueueConcurrentHookUpdate(fiber, queue, update, args), null !== update && (startUpdateTimerByLane(args, "dispatch()", fiber), scheduleUpdateOnFiber(update, fiber, args), entangleTransitionUpdate(update, queue, args)));
7395 }
7396 function dispatchSetState(fiber, queue, action) {
7397 var args = arguments;
7398 "function" === typeof args[3] && console.error(
7399 "State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect()."
7400 );
7401 args = requestUpdateLane(fiber);
7402 dispatchSetStateInternal(fiber, queue, action, args) && startUpdateTimerByLane(args, "setState()", fiber);
7403 }
7404 function dispatchSetStateInternal(fiber, queue, action, lane) {
7405 var update = {
7406 lane,
7407 revertLane: 0,
7408 gesture: null,
7409 action,
7410 hasEagerState: false,
7411 eagerState: null,
7412 next: null
7413 };
7414 if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);
7415 else {
7416 var alternate = fiber.alternate;
7417 if (0 === fiber.lanes && (null === alternate || 0 === alternate.lanes) && (alternate = queue.lastRenderedReducer, null !== alternate)) {
7418 var prevDispatcher = ReactSharedInternals.H;
7419 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
7420 try {
7421 var currentState = queue.lastRenderedState, eagerState = alternate(currentState, action);
7422 update.hasEagerState = true;
7423 update.eagerState = eagerState;
7424 if (objectIs(eagerState, currentState))
7425 return enqueueUpdate$1(fiber, queue, update, 0), null === workInProgressRoot && finishQueueingConcurrentUpdates(), false;
7426 } catch (error) {
7427 } finally {
7428 ReactSharedInternals.H = prevDispatcher;
7429 }
7430 }
7431 action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);
7432 if (null !== action)
7433 return scheduleUpdateOnFiber(action, fiber, lane), entangleTransitionUpdate(action, queue, lane), true;
7434 }
7435 return false;
7436 }
7437 function dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {
7438 null === ReactSharedInternals.T && 0 === currentEntangledLane && console.error(
7439 "An optimistic state update occurred outside a transition or action. To fix, move the update to an action, or wrap with startTransition."
7440 );
7441 action = {
7442 lane: 2,
7443 revertLane: requestTransitionLane(),
7444 gesture: null,
7445 action,
7446 hasEagerState: false,
7447 eagerState: null,
7448 next: null
7449 };
7450 if (isRenderPhaseUpdate(fiber)) {
7451 if (throwIfDuringRender)
7452 throw Error("Cannot update optimistic state while rendering.");
7453 console.error("Cannot call startTransition while rendering.");
7454 } else
7455 throwIfDuringRender = enqueueConcurrentHookUpdate(
7456 fiber,
7457 queue,
7458 action,
7459 2
7460 ), null !== throwIfDuringRender && (startUpdateTimerByLane(2, "setOptimistic()", fiber), scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2));
7461 }
7462 function isRenderPhaseUpdate(fiber) {
7463 var alternate = fiber.alternate;
7464 return fiber === currentlyRenderingFiber || null !== alternate && alternate === currentlyRenderingFiber;
7465 }
7466 function enqueueRenderPhaseUpdate(queue, update) {
7467 didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true;
7468 var pending = queue.pending;
7469 null === pending ? update.next = update : (update.next = pending.next, pending.next = update);
7470 queue.pending = update;
7471 }
7472 function entangleTransitionUpdate(root2, queue, lane) {
7473 if (0 !== (lane & 4194048)) {
7474 var queueLanes = queue.lanes;
7475 queueLanes &= root2.pendingLanes;
7476 lane |= queueLanes;
7477 queue.lanes = lane;
7478 markRootEntangled(root2, lane);
7479 }
7480 }
7481 function warnOnInvalidCallback(callback) {
7482 if (null !== callback && "function" !== typeof callback) {
7483 var key = String(callback);
7484 didWarnOnInvalidCallback.has(key) || (didWarnOnInvalidCallback.add(key), console.error(
7485 "Expected the last optional `callback` argument to be a function. Instead received: %s.",
7486 callback
7487 ));
7488 }
7489 }
7490 function applyDerivedStateFromProps(workInProgress2, ctor, getDerivedStateFromProps, nextProps) {
7491 var prevState = workInProgress2.memoizedState, partialState = getDerivedStateFromProps(nextProps, prevState);
7492 if (workInProgress2.mode & StrictLegacyMode) {
7493 setIsStrictModeForDevtools(true);
7494 try {
7495 partialState = getDerivedStateFromProps(nextProps, prevState);
7496 } finally {
7497 setIsStrictModeForDevtools(false);
7498 }
7499 }
7500 void 0 === partialState && (ctor = getComponentNameFromType(ctor) || "Component", didWarnAboutUndefinedDerivedState.has(ctor) || (didWarnAboutUndefinedDerivedState.add(ctor), console.error(
7501 "%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.",
7502 ctor
7503 )));
7504 prevState = null === partialState || void 0 === partialState ? prevState : assign({}, prevState, partialState);
7505 workInProgress2.memoizedState = prevState;
7506 0 === workInProgress2.lanes && (workInProgress2.updateQueue.baseState = prevState);
7507 }
7508 function checkShouldComponentUpdate(workInProgress2, ctor, oldProps, newProps, oldState, newState, nextContext) {
7509 var instance = workInProgress2.stateNode;
7510 if ("function" === typeof instance.shouldComponentUpdate) {
7511 oldProps = instance.shouldComponentUpdate(
7512 newProps,
7513 newState,
7514 nextContext
7515 );
7516 if (workInProgress2.mode & StrictLegacyMode) {
7517 setIsStrictModeForDevtools(true);
7518 try {
7519 oldProps = instance.shouldComponentUpdate(
7520 newProps,
7521 newState,
7522 nextContext
7523 );
7524 } finally {
7525 setIsStrictModeForDevtools(false);
7526 }
7527 }
7528 void 0 === oldProps && console.error(
7529 "%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.",
7530 getComponentNameFromType(ctor) || "Component"
7531 );
7532 return oldProps;
7533 }
7534 return ctor.prototype && ctor.prototype.isPureReactComponent ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState) : true;
7535 }
7536 function callComponentWillReceiveProps(workInProgress2, instance, newProps, nextContext) {
7537 var oldState = instance.state;
7538 "function" === typeof instance.componentWillReceiveProps && instance.componentWillReceiveProps(newProps, nextContext);
7539 "function" === typeof instance.UNSAFE_componentWillReceiveProps && instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);
7540 instance.state !== oldState && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Component", didWarnAboutStateAssignmentForComponent.has(workInProgress2) || (didWarnAboutStateAssignmentForComponent.add(workInProgress2), console.error(
7541 "%s.componentWillReceiveProps(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.",
7542 workInProgress2
7543 )), classComponentUpdater.enqueueReplaceState(
7544 instance,
7545 instance.state,
7546 null
7547 ));
7548 }
7549 function resolveClassComponentProps(Component, baseProps) {
7550 var newProps = baseProps;
7551 if ("ref" in baseProps) {
7552 newProps = {};
7553 for (var propName in baseProps)
7554 "ref" !== propName && (newProps[propName] = baseProps[propName]);
7555 }
7556 if (Component = Component.defaultProps) {
7557 newProps === baseProps && (newProps = assign({}, newProps));
7558 for (var _propName in Component)
7559 void 0 === newProps[_propName] && (newProps[_propName] = Component[_propName]);
7560 }
7561 return newProps;
7562 }
7563 function defaultOnUncaughtError(error) {
7564 reportGlobalError(error);
7565 console.warn(
7566 "%s\n\n%s\n",
7567 componentName ? "An error occurred in the <" + componentName + "> component." : "An error occurred in one of your React components.",
7568 "Consider adding an error boundary to your tree to customize error handling behavior.\nVisit https://react.dev/link/error-boundaries to learn more about error boundaries."
7569 );
7570 }
7571 function defaultOnCaughtError(error) {
7572 var componentNameMessage = componentName ? "The above error occurred in the <" + componentName + "> component." : "The above error occurred in one of your React components.", recreateMessage = "React will try to recreate this component tree from scratch using the error boundary you provided, " + ((errorBoundaryName || "Anonymous") + ".");
7573 if ("object" === typeof error && null !== error && "string" === typeof error.environmentName) {
7574 var JSCompiler_inline_result = error.environmentName;
7575 error = [
7576 "%o\n\n%s\n\n%s\n",
7577 error,
7578 componentNameMessage,
7579 recreateMessage
7580 ].slice(0);
7581 "string" === typeof error[0] ? error.splice(
7582 0,
7583 1,
7584 badgeFormat + " " + error[0],
7585 badgeStyle,
7586 pad + JSCompiler_inline_result + pad,
7587 resetStyle
7588 ) : error.splice(
7589 0,
7590 0,
7591 badgeFormat,
7592 badgeStyle,
7593 pad + JSCompiler_inline_result + pad,
7594 resetStyle
7595 );
7596 error.unshift(console);
7597 JSCompiler_inline_result = bind.apply(console.error, error);
7598 JSCompiler_inline_result();
7599 } else
7600 console.error(
7601 "%o\n\n%s\n\n%s\n",
7602 error,
7603 componentNameMessage,
7604 recreateMessage
7605 );
7606 }
7607 function defaultOnRecoverableError(error) {
7608 reportGlobalError(error);
7609 }
7610 function logUncaughtError(root2, errorInfo) {
7611 try {
7612 componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null;
7613 errorBoundaryName = null;
7614 var error = errorInfo.value;
7615 if (null !== ReactSharedInternals.actQueue)
7616 ReactSharedInternals.thrownErrors.push(error);
7617 else {
7618 var onUncaughtError = root2.onUncaughtError;
7619 onUncaughtError(error, { componentStack: errorInfo.stack });
7620 }
7621 } catch (e$6) {
7622 setTimeout(function() {
7623 throw e$6;
7624 });
7625 }
7626 }
7627 function logCaughtError(root2, boundary, errorInfo) {
7628 try {
7629 componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null;
7630 errorBoundaryName = getComponentNameFromFiber(boundary);
7631 var onCaughtError = root2.onCaughtError;
7632 onCaughtError(errorInfo.value, {
7633 componentStack: errorInfo.stack,
7634 errorBoundary: 1 === boundary.tag ? boundary.stateNode : null
7635 });
7636 } catch (e$7) {
7637 setTimeout(function() {
7638 throw e$7;
7639 });
7640 }
7641 }
7642 function createRootErrorUpdate(root2, errorInfo, lane) {
7643 lane = createUpdate(lane);
7644 lane.tag = CaptureUpdate;
7645 lane.payload = { element: null };
7646 lane.callback = function() {
7647 runWithFiberInDEV(errorInfo.source, logUncaughtError, root2, errorInfo);
7648 };
7649 return lane;
7650 }
7651 function createClassErrorUpdate(lane) {
7652 lane = createUpdate(lane);
7653 lane.tag = CaptureUpdate;
7654 return lane;
7655 }
7656 function initializeClassErrorUpdate(update, root2, fiber, errorInfo) {
7657 var getDerivedStateFromError = fiber.type.getDerivedStateFromError;
7658 if ("function" === typeof getDerivedStateFromError) {
7659 var error = errorInfo.value;
7660 update.payload = function() {
7661 return getDerivedStateFromError(error);
7662 };
7663 update.callback = function() {
7664 markFailedErrorBoundaryForHotReloading(fiber);
7665 runWithFiberInDEV(
7666 errorInfo.source,
7667 logCaughtError,
7668 root2,
7669 fiber,
7670 errorInfo
7671 );
7672 };
7673 }
7674 var inst = fiber.stateNode;
7675 null !== inst && "function" === typeof inst.componentDidCatch && (update.callback = function() {
7676 markFailedErrorBoundaryForHotReloading(fiber);
7677 runWithFiberInDEV(
7678 errorInfo.source,
7679 logCaughtError,
7680 root2,
7681 fiber,
7682 errorInfo
7683 );
7684 "function" !== typeof getDerivedStateFromError && (null === legacyErrorBoundariesThatAlreadyFailed ? legacyErrorBoundariesThatAlreadyFailed = /* @__PURE__ */ new Set([this]) : legacyErrorBoundariesThatAlreadyFailed.add(this));
7685 callComponentDidCatchInDEV(this, errorInfo);
7686 "function" === typeof getDerivedStateFromError || 0 === (fiber.lanes & 2) && console.error(
7687 "%s: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.",
7688 getComponentNameFromFiber(fiber) || "Unknown"
7689 );
7690 });
7691 }
7692 function throwException(root2, returnFiber, sourceFiber, value, rootRenderLanes) {
7693 sourceFiber.flags |= 32768;
7694 isDevToolsPresent && restorePendingUpdaters(root2, rootRenderLanes);
7695 if (null !== value && "object" === typeof value && "function" === typeof value.then) {
7696 returnFiber = sourceFiber.alternate;
7697 null !== returnFiber && propagateParentContextChanges(
7698 returnFiber,
7699 sourceFiber,
7700 rootRenderLanes,
7701 true
7702 );
7703 isHydrating && (didSuspendOrErrorDEV = true);
7704 sourceFiber = suspenseHandlerStackCursor.current;
7705 if (null !== sourceFiber) {
7706 switch (sourceFiber.tag) {
7707 case 31:
7708 case 13:
7709 case 19:
7710 return null === shellBoundary ? renderDidSuspendDelayIfPossible() : null === sourceFiber.alternate && workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootSuspended), sourceFiber.flags &= -257, sourceFiber.flags |= 65536, sourceFiber.lanes = rootRenderLanes, value === noopSuspenseyCommitThenable ? sourceFiber.flags |= 16384 : (returnFiber = sourceFiber.updateQueue, null === returnFiber ? sourceFiber.updateQueue = /* @__PURE__ */ new Set([value]) : returnFiber.add(value), attachPingListener(root2, value, rootRenderLanes)), false;
7711 case 22:
7712 return sourceFiber.flags |= 65536, value === noopSuspenseyCommitThenable ? sourceFiber.flags |= 16384 : (returnFiber = sourceFiber.updateQueue, null === returnFiber ? (returnFiber = {
7713 transitions: null,
7714 markerInstances: null,
7715 retryQueue: /* @__PURE__ */ new Set([value])
7716 }, sourceFiber.updateQueue = returnFiber) : (sourceFiber = returnFiber.retryQueue, null === sourceFiber ? returnFiber.retryQueue = /* @__PURE__ */ new Set([value]) : sourceFiber.add(value)), attachPingListener(root2, value, rootRenderLanes)), false;
7717 }
7718 throw Error(
7719 "Unexpected Suspense handler tag (" + sourceFiber.tag + "). This is a bug in React."
7720 );
7721 }
7722 attachPingListener(root2, value, rootRenderLanes);
7723 renderDidSuspendDelayIfPossible();
7724 return false;
7725 }
7726 if (isHydrating)
7727 return didSuspendOrErrorDEV = true, returnFiber = suspenseHandlerStackCursor.current, null !== returnFiber ? (19 === returnFiber.tag && console.error(
7728 "SuspenseList should never catch while hydrating. This is a bug in React."
7729 ), 0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256), returnFiber.flags |= 65536, returnFiber.lanes = rootRenderLanes, value !== HydrationMismatchException && queueHydrationError(
7730 createCapturedValueAtFiber(
7731 Error(
7732 "There was an error while hydrating but React was able to recover by instead client rendering from the nearest Suspense boundary.",
7733 { cause: value }
7734 ),
7735 sourceFiber
7736 )
7737 )) : (value !== HydrationMismatchException && queueHydrationError(
7738 createCapturedValueAtFiber(
7739 Error(
7740 "There was an error while hydrating but React was able to recover by instead client rendering the entire root.",
7741 { cause: value }
7742 ),
7743 sourceFiber
7744 )
7745 ), root2 = root2.current.alternate, root2.flags |= 65536, rootRenderLanes &= -rootRenderLanes, root2.lanes |= rootRenderLanes, value = createCapturedValueAtFiber(value, sourceFiber), rootRenderLanes = createRootErrorUpdate(
7746 root2.stateNode,
7747 value,
7748 rootRenderLanes
7749 ), enqueueCapturedUpdate(root2, rootRenderLanes), workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored)), false;
7750 var error = createCapturedValueAtFiber(
7751 Error(
7752 "There was an error during concurrent rendering but React was able to recover by instead synchronously rendering the entire root.",
7753 { cause: value }
7754 ),
7755 sourceFiber
7756 );
7757 null === workInProgressRootConcurrentErrors ? workInProgressRootConcurrentErrors = [error] : workInProgressRootConcurrentErrors.push(error);
7758 workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored);
7759 if (null === returnFiber) return true;
7760 value = createCapturedValueAtFiber(value, sourceFiber);
7761 sourceFiber = returnFiber;
7762 do {
7763 switch (sourceFiber.tag) {
7764 case 3:
7765 return sourceFiber.flags |= 65536, root2 = rootRenderLanes & -rootRenderLanes, sourceFiber.lanes |= root2, root2 = createRootErrorUpdate(
7766 sourceFiber.stateNode,
7767 value,
7768 root2
7769 ), enqueueCapturedUpdate(sourceFiber, root2), false;
7770 case 1:
7771 returnFiber = sourceFiber.type;
7772 error = sourceFiber.stateNode;
7773 if (0 === (sourceFiber.flags & 128) && ("function" === typeof returnFiber.getDerivedStateFromError || null !== error && "function" === typeof error.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(error))))
7774 return sourceFiber.flags |= 65536, rootRenderLanes &= -rootRenderLanes, sourceFiber.lanes |= rootRenderLanes, rootRenderLanes = createClassErrorUpdate(rootRenderLanes), initializeClassErrorUpdate(
7775 rootRenderLanes,
7776 root2,
7777 sourceFiber,
7778 value
7779 ), enqueueCapturedUpdate(sourceFiber, rootRenderLanes), false;
7780 break;
7781 case 22:
7782 if (null !== sourceFiber.memoizedState)
7783 return sourceFiber.flags |= 65536, false;
7784 }
7785 sourceFiber = sourceFiber.return;
7786 } while (null !== sourceFiber);
7787 return false;
7788 }
7789 function reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2) {
7790 workInProgress2.child = null === current2 ? mountChildFibers(workInProgress2, null, nextChildren, renderLanes2) : reconcileChildFibers(
7791 workInProgress2,
7792 current2.child,
7793 nextChildren,
7794 renderLanes2
7795 );
7796 }
7797 function updateForwardRef(current2, workInProgress2, Component, nextProps, renderLanes2) {
7798 Component = Component.render;
7799 var resolvedRender = resolveTypeForHotReloading(Component);
7800 resolvedRender !== Component && (Component = resolvedRender, null !== current2 && (didReceiveUpdate = true));
7801 resolvedRender = workInProgress2.ref;
7802 if ("ref" in nextProps) {
7803 var propsWithoutRef = {};
7804 for (var key in nextProps)
7805 "ref" !== key && (propsWithoutRef[key] = nextProps[key]);
7806 } else propsWithoutRef = nextProps;
7807 prepareToReadContext(workInProgress2);
7808 nextProps = renderWithHooks(
7809 current2,
7810 workInProgress2,
7811 Component,
7812 propsWithoutRef,
7813 resolvedRender,
7814 renderLanes2
7815 );
7816 key = checkDidRenderIdHook();
7817 if (null !== current2 && !didReceiveUpdate)
7818 return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
7819 isHydrating && key && pushMaterializedTreeId(workInProgress2);
7820 workInProgress2.flags |= 1;
7821 reconcileChildren(current2, workInProgress2, nextProps, renderLanes2);
7822 return workInProgress2.child;
7823 }
7824 function updateMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
7825 if (null === current2) {
7826 var type = Component.type;
7827 if ("function" === typeof type && !shouldConstruct(type) && void 0 === type.defaultProps && null === Component.compare)
7828 return Component = resolveTypeForHotReloading(type), workInProgress2.tag = 15, workInProgress2.type = Component, validateFunctionComponentInDev(workInProgress2, type), updateSimpleMemoComponent(
7829 current2,
7830 workInProgress2,
7831 Component,
7832 nextProps,
7833 renderLanes2
7834 );
7835 current2 = createFiberFromTypeAndProps(
7836 Component.type,
7837 null,
7838 nextProps,
7839 workInProgress2,
7840 workInProgress2.mode,
7841 renderLanes2
7842 );
7843 current2.ref = workInProgress2.ref;
7844 current2.return = workInProgress2;
7845 return workInProgress2.child = current2;
7846 }
7847 type = current2.child;
7848 if (!checkScheduledUpdateOrContext(current2, renderLanes2)) {
7849 var prevProps = type.memoizedProps;
7850 Component = Component.compare;
7851 Component = null !== Component ? Component : shallowEqual;
7852 if (Component(prevProps, nextProps) && current2.ref === workInProgress2.ref)
7853 return bailoutOnAlreadyFinishedWork(
7854 current2,
7855 workInProgress2,
7856 renderLanes2
7857 );
7858 }
7859 workInProgress2.flags |= 1;
7860 current2 = createWorkInProgress(type, nextProps);
7861 current2.ref = workInProgress2.ref;
7862 current2.return = workInProgress2;
7863 return workInProgress2.child = current2;
7864 }
7865 function updateSimpleMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
7866 if (null !== current2) {
7867 var prevProps = current2.memoizedProps;
7868 if (shallowEqual(prevProps, nextProps) && current2.ref === workInProgress2.ref && workInProgress2.type === current2.type)
7869 if (didReceiveUpdate = false, workInProgress2.pendingProps = nextProps = prevProps, checkScheduledUpdateOrContext(current2, renderLanes2))
7870 0 !== (current2.flags & 131072) && (didReceiveUpdate = true);
7871 else
7872 return workInProgress2.lanes = current2.lanes, bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
7873 }
7874 return updateFunctionComponent(
7875 current2,
7876 workInProgress2,
7877 Component,
7878 nextProps,
7879 renderLanes2
7880 );
7881 }
7882 function updateOffscreenComponent(current2, workInProgress2, renderLanes2, nextProps) {
7883 var nextChildren = nextProps.children, prevState = null !== current2 ? current2.memoizedState : null;
7884 null === current2 && null === workInProgress2.stateNode && (workInProgress2.stateNode = {
7885 _visibility: OffscreenVisible,
7886 _pendingMarkers: null,
7887 _retryCache: null,
7888 _transitions: null
7889 });
7890 if ("hidden" === nextProps.mode) {
7891 if (0 !== (workInProgress2.flags & 128)) {
7892 prevState = null !== prevState ? prevState.baseLanes | renderLanes2 : renderLanes2;
7893 if (null !== current2) {
7894 nextProps = workInProgress2.child = current2.child;
7895 for (nextChildren = 0; null !== nextProps; )
7896 nextChildren = nextChildren | nextProps.lanes | nextProps.childLanes, nextProps = nextProps.sibling;
7897 nextProps = nextChildren & ~prevState;
7898 } else nextProps = 0, workInProgress2.child = null;
7899 return deferHiddenOffscreenComponent(
7900 current2,
7901 workInProgress2,
7902 prevState,
7903 renderLanes2,
7904 nextProps
7905 );
7906 }
7907 if (0 !== (renderLanes2 & 536870912))
7908 workInProgress2.memoizedState = { baseLanes: 0, cachePool: null }, null !== current2 && pushTransition(
7909 workInProgress2,
7910 null !== prevState ? prevState.cachePool : null
7911 ), null !== prevState ? pushHiddenContext(workInProgress2, prevState) : reuseHiddenContextOnStack(workInProgress2), pushOffscreenSuspenseHandler(workInProgress2);
7912 else
7913 return nextProps = workInProgress2.lanes = 536870912, deferHiddenOffscreenComponent(
7914 current2,
7915 workInProgress2,
7916 null !== prevState ? prevState.baseLanes | renderLanes2 : renderLanes2,
7917 renderLanes2,
7918 nextProps
7919 );
7920 } else
7921 null !== prevState ? (pushTransition(workInProgress2, prevState.cachePool), pushHiddenContext(workInProgress2, prevState), reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.memoizedState = null) : (null !== current2 && pushTransition(workInProgress2, null), reuseHiddenContextOnStack(workInProgress2), reuseSuspenseHandlerOnStack(workInProgress2));
7922 reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2);
7923 return workInProgress2.child;
7924 }
7925 function bailoutOffscreenComponent(current2, workInProgress2) {
7926 null !== current2 && 22 === current2.tag || null !== workInProgress2.stateNode || (workInProgress2.stateNode = {
7927 _visibility: OffscreenVisible,
7928 _pendingMarkers: null,
7929 _retryCache: null,
7930 _transitions: null
7931 });
7932 return workInProgress2.sibling;
7933 }
7934 function deferHiddenOffscreenComponent(current2, workInProgress2, nextBaseLanes, renderLanes2, remainingChildLanes) {
7935 var JSCompiler_inline_result = peekCacheFromPool();
7936 JSCompiler_inline_result = null === JSCompiler_inline_result ? null : {
7937 parent: CacheContext._currentValue,
7938 pool: JSCompiler_inline_result
7939 };
7940 workInProgress2.memoizedState = {
7941 baseLanes: nextBaseLanes,
7942 cachePool: JSCompiler_inline_result
7943 };
7944 null !== current2 && pushTransition(workInProgress2, null);
7945 reuseHiddenContextOnStack(workInProgress2);
7946 pushOffscreenSuspenseHandler(workInProgress2);
7947 null !== current2 && propagateParentContextChanges(current2, workInProgress2, renderLanes2, true);
7948 workInProgress2.childLanes = remainingChildLanes;
7949 return null;
7950 }
7951 function mountActivityChildren(workInProgress2, nextProps) {
7952 var hiddenProp = nextProps.hidden;
7953 void 0 !== hiddenProp && console.error(
7954 `<Activity> doesn't accept a hidden prop. Use mode="hidden" instead.
7955 - <Activity %s>
7956 + <Activity %s>`,
7957 true === hiddenProp ? "hidden" : false === hiddenProp ? "hidden={false}" : "hidden={...}",
7958 hiddenProp ? 'mode="hidden"' : 'mode="visible"'
7959 );
7960 nextProps = mountWorkInProgressOffscreenFiber(
7961 { mode: nextProps.mode, children: nextProps.children },
7962 workInProgress2.mode
7963 );
7964 nextProps.ref = workInProgress2.ref;
7965 workInProgress2.child = nextProps;
7966 nextProps.return = workInProgress2;
7967 return nextProps;
7968 }
7969 function retryActivityComponentWithoutHydrating(current2, workInProgress2, renderLanes2) {
7970 reconcileChildFibers(workInProgress2, current2.child, null, renderLanes2);
7971 current2 = mountActivityChildren(
7972 workInProgress2,
7973 workInProgress2.pendingProps
7974 );
7975 current2.flags |= 2;
7976 popSuspenseHandler(workInProgress2);
7977 workInProgress2.memoizedState = null;
7978 return current2;
7979 }
7980 function updateActivityComponent(current2, workInProgress2, renderLanes2) {
7981 var nextProps = workInProgress2.pendingProps, didSuspend = 0 !== (workInProgress2.flags & 128);
7982 workInProgress2.flags &= -129;
7983 if (null === current2) {
7984 if (isHydrating) {
7985 if ("hidden" === nextProps.mode)
7986 return current2 = mountActivityChildren(workInProgress2, nextProps), workInProgress2.lanes = 536870912, current2.memoizedState = { baseLanes: 0, cachePool: null }, bailoutOffscreenComponent(null, current2);
7987 pushDehydratedActivitySuspenseHandler(workInProgress2);
7988 (current2 = nextHydratableInstance) ? (renderLanes2 = canHydrateHydrationBoundary(
7989 current2,
7990 rootOrSingletonContext
7991 ), renderLanes2 = null !== renderLanes2 && renderLanes2.data === ACTIVITY_START_DATA ? renderLanes2 : null, null !== renderLanes2 && (nextProps = {
7992 dehydrated: renderLanes2,
7993 treeContext: getSuspendedTreeContext(),
7994 retryLane: 536870912,
7995 hydrationErrors: null
7996 }, workInProgress2.memoizedState = nextProps, nextProps = createFiberFromDehydratedFragment(renderLanes2), nextProps.return = workInProgress2, workInProgress2.child = nextProps, hydrationParentFiber = workInProgress2, nextHydratableInstance = null)) : renderLanes2 = null;
7997 if (null === renderLanes2)
7998 throw warnNonHydratedInstance(workInProgress2, current2), throwOnHydrationMismatch(workInProgress2);
7999 workInProgress2.lanes = 536870912;
8000 return null;
8001 }
8002 return mountActivityChildren(workInProgress2, nextProps);
8003 }
8004 var prevState = current2.memoizedState;
8005 if (null !== prevState) {
8006 var activityInstance = prevState.dehydrated;
8007 pushDehydratedActivitySuspenseHandler(workInProgress2);
8008 if (didSuspend)
8009 if (workInProgress2.flags & 256)
8010 workInProgress2.flags &= -257, workInProgress2 = retryActivityComponentWithoutHydrating(
8011 current2,
8012 workInProgress2,
8013 renderLanes2
8014 );
8015 else if (null !== workInProgress2.memoizedState)
8016 workInProgress2.child = current2.child, workInProgress2.flags |= 128, workInProgress2 = null;
8017 else
8018 throw Error(
8019 "Client rendering an Activity suspended it again. This is a bug in React."
8020 );
8021 else if (warnIfHydrating(), 0 !== (renderLanes2 & 536870912) && markRenderDerivedCause(workInProgress2), didReceiveUpdate || propagateParentContextChanges(
8022 current2,
8023 workInProgress2,
8024 renderLanes2,
8025 false
8026 ), didSuspend = 0 !== (renderLanes2 & current2.childLanes), didReceiveUpdate || didSuspend) {
8027 if (null === currentTreeHiddenStackCursor.current) {
8028 nextProps = workInProgressRoot;
8029 if (null !== nextProps && (activityInstance = getBumpedLaneForHydration(
8030 nextProps,
8031 renderLanes2
8032 ), 0 !== activityInstance && activityInstance !== prevState.retryLane))
8033 throw prevState.retryLane = activityInstance, enqueueConcurrentRenderForLane(current2, activityInstance), scheduleUpdateOnFiber(nextProps, current2, activityInstance), SelectiveHydrationException;
8034 renderDidSuspendDelayIfPossible();
8035 }
8036 workInProgress2 = retryActivityComponentWithoutHydrating(
8037 current2,
8038 workInProgress2,
8039 renderLanes2
8040 );
8041 } else
8042 current2 = prevState.treeContext, nextHydratableInstance = getNextHydratable(
8043 activityInstance.nextSibling
8044 ), hydrationParentFiber = workInProgress2, isHydrating = true, hydrationErrors = null, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, rootOrSingletonContext = false, null !== current2 && restoreSuspendedTreeContext(workInProgress2, current2), workInProgress2 = mountActivityChildren(workInProgress2, nextProps), workInProgress2.flags |= 134221824;
8045 return workInProgress2;
8046 }
8047 prevState = current2.child;
8048 nextProps = { mode: nextProps.mode, children: nextProps.children };
8049 0 !== (renderLanes2 & 536870912) && 0 !== (renderLanes2 & current2.lanes) && markRenderDerivedCause(workInProgress2);
8050 current2 = createWorkInProgress(prevState, nextProps);
8051 current2.ref = workInProgress2.ref;
8052 workInProgress2.child = current2;
8053 current2.return = workInProgress2;
8054 return current2;
8055 }
8056 function markRef(current2, workInProgress2) {
8057 var ref = workInProgress2.ref;
8058 if (null === ref)
8059 null !== current2 && null !== current2.ref && (workInProgress2.flags |= 4194816);
8060 else {
8061 if ("function" !== typeof ref && "object" !== typeof ref)
8062 throw Error(
8063 "Expected ref to be a function, an object returned by React.createRef(), or undefined/null."
8064 );
8065 if (null === current2 || current2.ref !== ref)
8066 workInProgress2.flags |= 4194816;
8067 }
8068 }
8069 function updateFunctionComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
8070 if (Component.prototype && "function" === typeof Component.prototype.render) {
8071 var componentName2 = getComponentNameFromType(Component) || "Unknown";
8072 didWarnAboutBadClass[componentName2] || (console.error(
8073 "The <%s /> component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.",
8074 componentName2,
8075 componentName2
8076 ), didWarnAboutBadClass[componentName2] = true);
8077 }
8078 workInProgress2.mode & StrictLegacyMode && ReactStrictModeWarnings.recordLegacyContextWarning(
8079 workInProgress2,
8080 null
8081 );
8082 null === current2 && (validateFunctionComponentInDev(workInProgress2, workInProgress2.type), Component.contextTypes && (componentName2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypes[componentName2] || (didWarnAboutContextTypes[componentName2] = true, console.error(
8083 "%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with React.useContext() instead. (https://react.dev/link/legacy-context)",
8084 componentName2
8085 ))));
8086 prepareToReadContext(workInProgress2);
8087 Component = renderWithHooks(
8088 current2,
8089 workInProgress2,
8090 Component,
8091 nextProps,
8092 void 0,
8093 renderLanes2
8094 );
8095 nextProps = checkDidRenderIdHook();
8096 if (null !== current2 && !didReceiveUpdate)
8097 return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
8098 isHydrating && nextProps && pushMaterializedTreeId(workInProgress2);
8099 workInProgress2.flags |= 1;
8100 reconcileChildren(current2, workInProgress2, Component, renderLanes2);
8101 return workInProgress2.child;
8102 }
8103 function replayFunctionComponent(current2, workInProgress2, nextProps, Component, secondArg, renderLanes2) {
8104 prepareToReadContext(workInProgress2);
8105 hookTypesUpdateIndexDev = -1;
8106 ignorePreviousDependencies = null !== current2 && current2.type !== workInProgress2.type;
8107 workInProgress2.updateQueue = null;
8108 nextProps = renderWithHooksAgain(
8109 workInProgress2,
8110 Component,
8111 nextProps,
8112 secondArg
8113 );
8114 finishRenderingHooks(current2, workInProgress2);
8115 Component = checkDidRenderIdHook();
8116 if (null !== current2 && !didReceiveUpdate)
8117 return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
8118 isHydrating && Component && pushMaterializedTreeId(workInProgress2);
8119 workInProgress2.flags |= 1;
8120 reconcileChildren(current2, workInProgress2, nextProps, renderLanes2);
8121 return workInProgress2.child;
8122 }
8123 function updateClassComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
8124 switch (shouldErrorImpl(workInProgress2)) {
8125 case false:
8126 var _instance = workInProgress2.stateNode, state = new workInProgress2.type(
8127 workInProgress2.memoizedProps,
8128 _instance.context
8129 ).state;
8130 _instance.updater.enqueueSetState(_instance, state, null);
8131 break;
8132 case true:
8133 workInProgress2.flags |= 128;
8134 workInProgress2.flags |= 65536;
8135 _instance = Error("Simulated error coming from DevTools");
8136 var lane = renderLanes2 & -renderLanes2;
8137 workInProgress2.lanes |= lane;
8138 state = workInProgressRoot;
8139 if (null === state)
8140 throw Error(
8141 "Expected a work-in-progress root. This is a bug in React. Please file an issue."
8142 );
8143 lane = createClassErrorUpdate(lane);
8144 initializeClassErrorUpdate(
8145 lane,
8146 state,
8147 workInProgress2,
8148 createCapturedValueAtFiber(_instance, workInProgress2)
8149 );
8150 enqueueCapturedUpdate(workInProgress2, lane);
8151 }
8152 prepareToReadContext(workInProgress2);
8153 if (null === workInProgress2.stateNode) {
8154 state = emptyContextObject;
8155 _instance = Component.contextType;
8156 "contextType" in Component && null !== _instance && (void 0 === _instance || _instance.$$typeof !== REACT_CONTEXT_TYPE) && !didWarnAboutInvalidateContextType.has(Component) && (didWarnAboutInvalidateContextType.add(Component), lane = void 0 === _instance ? " However, it is set to undefined. This can be caused by a typo or by mixing up named and default imports. This can also happen due to a circular dependency, so try moving the createContext() call to a separate file." : "object" !== typeof _instance ? " However, it is set to a " + typeof _instance + "." : _instance.$$typeof === REACT_CONSUMER_TYPE ? " Did you accidentally pass the Context.Consumer instead?" : " However, it is set to an object with keys {" + Object.keys(_instance).join(", ") + "}.", console.error(
8157 "%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s",
8158 getComponentNameFromType(Component) || "Component",
8159 lane
8160 ));
8161 "object" === typeof _instance && null !== _instance && (state = readContext(_instance));
8162 _instance = new Component(nextProps, state);
8163 if (workInProgress2.mode & StrictLegacyMode) {
8164 setIsStrictModeForDevtools(true);
8165 try {
8166 _instance = new Component(nextProps, state);
8167 } finally {
8168 setIsStrictModeForDevtools(false);
8169 }
8170 }
8171 state = workInProgress2.memoizedState = null !== _instance.state && void 0 !== _instance.state ? _instance.state : null;
8172 _instance.updater = classComponentUpdater;
8173 workInProgress2.stateNode = _instance;
8174 _instance._reactInternals = workInProgress2;
8175 _instance._reactInternalInstance = fakeInternalInstance;
8176 "function" === typeof Component.getDerivedStateFromProps && null === state && (state = getComponentNameFromType(Component) || "Component", didWarnAboutUninitializedState.has(state) || (didWarnAboutUninitializedState.add(state), console.error(
8177 "`%s` uses `getDerivedStateFromProps` but its initial state is %s. This is not recommended. Instead, define the initial state by assigning an object to `this.state` in the constructor of `%s`. This ensures that `getDerivedStateFromProps` arguments have a consistent shape.",
8178 state,
8179 null === _instance.state ? "null" : "undefined",
8180 state
8181 )));
8182 if ("function" === typeof Component.getDerivedStateFromProps || "function" === typeof _instance.getSnapshotBeforeUpdate) {
8183 var foundWillUpdateName = lane = state = null;
8184 "function" === typeof _instance.componentWillMount && true !== _instance.componentWillMount.__suppressDeprecationWarning ? state = "componentWillMount" : "function" === typeof _instance.UNSAFE_componentWillMount && (state = "UNSAFE_componentWillMount");
8185 "function" === typeof _instance.componentWillReceiveProps && true !== _instance.componentWillReceiveProps.__suppressDeprecationWarning ? lane = "componentWillReceiveProps" : "function" === typeof _instance.UNSAFE_componentWillReceiveProps && (lane = "UNSAFE_componentWillReceiveProps");
8186 "function" === typeof _instance.componentWillUpdate && true !== _instance.componentWillUpdate.__suppressDeprecationWarning ? foundWillUpdateName = "componentWillUpdate" : "function" === typeof _instance.UNSAFE_componentWillUpdate && (foundWillUpdateName = "UNSAFE_componentWillUpdate");
8187 if (null !== state || null !== lane || null !== foundWillUpdateName) {
8188 _instance = getComponentNameFromType(Component) || "Component";
8189 var newApiName = "function" === typeof Component.getDerivedStateFromProps ? "getDerivedStateFromProps()" : "getSnapshotBeforeUpdate()";
8190 didWarnAboutLegacyLifecyclesAndDerivedState.has(_instance) || (didWarnAboutLegacyLifecyclesAndDerivedState.add(_instance), console.error(
8191 "Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n%s uses %s but also contains the following legacy lifecycles:%s%s%s\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://react.dev/link/unsafe-component-lifecycles",
8192 _instance,
8193 newApiName,
8194 null !== state ? "\n " + state : "",
8195 null !== lane ? "\n " + lane : "",
8196 null !== foundWillUpdateName ? "\n " + foundWillUpdateName : ""
8197 ));
8198 }
8199 }
8200 _instance = workInProgress2.stateNode;
8201 state = getComponentNameFromType(Component) || "Component";
8202 _instance.render || (Component.prototype && "function" === typeof Component.prototype.render ? console.error(
8203 "No `render` method found on the %s instance: did you accidentally return an object from the constructor?",
8204 state
8205 ) : console.error(
8206 "No `render` method found on the %s instance: you may have forgotten to define `render`.",
8207 state
8208 ));
8209 !_instance.getInitialState || _instance.getInitialState.isReactClassApproved || _instance.state || console.error(
8210 "getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?",
8211 state
8212 );
8213 _instance.getDefaultProps && !_instance.getDefaultProps.isReactClassApproved && console.error(
8214 "getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.",
8215 state
8216 );
8217 _instance.contextType && console.error(
8218 "contextType was defined as an instance property on %s. Use a static property to define contextType instead.",
8219 state
8220 );
8221 Component.childContextTypes && !didWarnAboutChildContextTypes.has(Component) && (didWarnAboutChildContextTypes.add(Component), console.error(
8222 "%s uses the legacy childContextTypes API which was removed in React 19. Use React.createContext() instead. (https://react.dev/link/legacy-context)",
8223 state
8224 ));
8225 Component.contextTypes && !didWarnAboutContextTypes$1.has(Component) && (didWarnAboutContextTypes$1.add(Component), console.error(
8226 "%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with static contextType instead. (https://react.dev/link/legacy-context)",
8227 state
8228 ));
8229 "function" === typeof _instance.componentShouldUpdate && console.error(
8230 "%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.",
8231 state
8232 );
8233 Component.prototype && Component.prototype.isPureReactComponent && "undefined" !== typeof _instance.shouldComponentUpdate && console.error(
8234 "%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.",
8235 getComponentNameFromType(Component) || "A pure component"
8236 );
8237 "function" === typeof _instance.componentDidUnmount && console.error(
8238 "%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?",
8239 state
8240 );
8241 "function" === typeof _instance.componentDidReceiveProps && console.error(
8242 "%s has a method called componentDidReceiveProps(). But there is no such lifecycle method. If you meant to update the state in response to changing props, use componentWillReceiveProps(). If you meant to fetch data or run side-effects or mutations after React has updated the UI, use componentDidUpdate().",
8243 state
8244 );
8245 "function" === typeof _instance.componentWillRecieveProps && console.error(
8246 "%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?",
8247 state
8248 );
8249 "function" === typeof _instance.UNSAFE_componentWillRecieveProps && console.error(
8250 "%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?",
8251 state
8252 );
8253 lane = _instance.props !== nextProps;
8254 void 0 !== _instance.props && lane && console.error(
8255 "When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.",
8256 state
8257 );
8258 _instance.defaultProps && console.error(
8259 "Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.",
8260 state,
8261 state
8262 );
8263 "function" !== typeof _instance.getSnapshotBeforeUpdate || "function" === typeof _instance.componentDidUpdate || didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(Component) || (didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(Component), console.error(
8264 "%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.",
8265 getComponentNameFromType(Component)
8266 ));
8267 "function" === typeof _instance.getDerivedStateFromProps && console.error(
8268 "%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.",
8269 state
8270 );
8271 "function" === typeof _instance.getDerivedStateFromError && console.error(
8272 "%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.",
8273 state
8274 );
8275 "function" === typeof Component.getSnapshotBeforeUpdate && console.error(
8276 "%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.",
8277 state
8278 );
8279 (lane = _instance.state) && ("object" !== typeof lane || isArrayImpl(lane)) && console.error("%s.state: must be set to an object or null", state);
8280 "function" === typeof _instance.getChildContext && "object" !== typeof Component.childContextTypes && console.error(
8281 "%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().",
8282 state
8283 );
8284 _instance = workInProgress2.stateNode;
8285 _instance.props = nextProps;
8286 _instance.state = workInProgress2.memoizedState;
8287 _instance.refs = {};
8288 initializeUpdateQueue(workInProgress2);
8289 state = Component.contextType;
8290 _instance.context = "object" === typeof state && null !== state ? readContext(state) : emptyContextObject;
8291 _instance.state === nextProps && (state = getComponentNameFromType(Component) || "Component", didWarnAboutDirectlyAssigningPropsToState.has(state) || (didWarnAboutDirectlyAssigningPropsToState.add(state), console.error(
8292 "%s: It is not recommended to assign props directly to state because updates to props won't be reflected in state. In most cases, it is better to use props directly.",
8293 state
8294 )));
8295 workInProgress2.mode & StrictLegacyMode && ReactStrictModeWarnings.recordLegacyContextWarning(
8296 workInProgress2,
8297 _instance
8298 );
8299 ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(
8300 workInProgress2,
8301 _instance
8302 );
8303 _instance.state = workInProgress2.memoizedState;
8304 state = Component.getDerivedStateFromProps;
8305 "function" === typeof state && (applyDerivedStateFromProps(
8306 workInProgress2,
8307 Component,
8308 state,
8309 nextProps
8310 ), _instance.state = workInProgress2.memoizedState);
8311 "function" === typeof Component.getDerivedStateFromProps || "function" === typeof _instance.getSnapshotBeforeUpdate || "function" !== typeof _instance.UNSAFE_componentWillMount && "function" !== typeof _instance.componentWillMount || (state = _instance.state, "function" === typeof _instance.componentWillMount && _instance.componentWillMount(), "function" === typeof _instance.UNSAFE_componentWillMount && _instance.UNSAFE_componentWillMount(), state !== _instance.state && (console.error(
8312 "%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.",
8313 getComponentNameFromFiber(workInProgress2) || "Component"
8314 ), classComponentUpdater.enqueueReplaceState(
8315 _instance,
8316 _instance.state,
8317 null
8318 )), processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction(), _instance.state = workInProgress2.memoizedState);
8319 "function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308);
8320 (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 268435456);
8321 _instance = true;
8322 } else if (null === current2) {
8323 _instance = workInProgress2.stateNode;
8324 var unresolvedOldProps = workInProgress2.memoizedProps;
8325 lane = resolveClassComponentProps(Component, unresolvedOldProps);
8326 _instance.props = lane;
8327 var oldContext = _instance.context;
8328 foundWillUpdateName = Component.contextType;
8329 state = emptyContextObject;
8330 "object" === typeof foundWillUpdateName && null !== foundWillUpdateName && (state = readContext(foundWillUpdateName));
8331 newApiName = Component.getDerivedStateFromProps;
8332 foundWillUpdateName = "function" === typeof newApiName || "function" === typeof _instance.getSnapshotBeforeUpdate;
8333 unresolvedOldProps = workInProgress2.pendingProps !== unresolvedOldProps;
8334 foundWillUpdateName || "function" !== typeof _instance.UNSAFE_componentWillReceiveProps && "function" !== typeof _instance.componentWillReceiveProps || (unresolvedOldProps || oldContext !== state) && callComponentWillReceiveProps(
8335 workInProgress2,
8336 _instance,
8337 nextProps,
8338 state
8339 );
8340 hasForceUpdate = false;
8341 var oldState = workInProgress2.memoizedState;
8342 _instance.state = oldState;
8343 processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2);
8344 suspendIfUpdateReadFromEntangledAsyncAction();
8345 oldContext = workInProgress2.memoizedState;
8346 unresolvedOldProps || oldState !== oldContext || hasForceUpdate ? ("function" === typeof newApiName && (applyDerivedStateFromProps(
8347 workInProgress2,
8348 Component,
8349 newApiName,
8350 nextProps
8351 ), oldContext = workInProgress2.memoizedState), (lane = hasForceUpdate || checkShouldComponentUpdate(
8352 workInProgress2,
8353 Component,
8354 lane,
8355 nextProps,
8356 oldState,
8357 oldContext,
8358 state
8359 )) ? (foundWillUpdateName || "function" !== typeof _instance.UNSAFE_componentWillMount && "function" !== typeof _instance.componentWillMount || ("function" === typeof _instance.componentWillMount && _instance.componentWillMount(), "function" === typeof _instance.UNSAFE_componentWillMount && _instance.UNSAFE_componentWillMount()), "function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 268435456)) : ("function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 268435456), workInProgress2.memoizedProps = nextProps, workInProgress2.memoizedState = oldContext), _instance.props = nextProps, _instance.state = oldContext, _instance.context = state, _instance = lane) : ("function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 268435456), _instance = false);
8360 } else {
8361 _instance = workInProgress2.stateNode;
8362 cloneUpdateQueue(current2, workInProgress2);
8363 state = workInProgress2.memoizedProps;
8364 foundWillUpdateName = resolveClassComponentProps(Component, state);
8365 _instance.props = foundWillUpdateName;
8366 newApiName = workInProgress2.pendingProps;
8367 oldState = _instance.context;
8368 oldContext = Component.contextType;
8369 lane = emptyContextObject;
8370 "object" === typeof oldContext && null !== oldContext && (lane = readContext(oldContext));
8371 unresolvedOldProps = Component.getDerivedStateFromProps;
8372 (oldContext = "function" === typeof unresolvedOldProps || "function" === typeof _instance.getSnapshotBeforeUpdate) || "function" !== typeof _instance.UNSAFE_componentWillReceiveProps && "function" !== typeof _instance.componentWillReceiveProps || (state !== newApiName || oldState !== lane) && callComponentWillReceiveProps(
8373 workInProgress2,
8374 _instance,
8375 nextProps,
8376 lane
8377 );
8378 hasForceUpdate = false;
8379 oldState = workInProgress2.memoizedState;
8380 _instance.state = oldState;
8381 processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2);
8382 suspendIfUpdateReadFromEntangledAsyncAction();
8383 var newState = workInProgress2.memoizedState;
8384 state !== newApiName || oldState !== newState || hasForceUpdate || null !== current2 && null !== current2.dependencies && checkIfContextChanged(current2.dependencies) ? ("function" === typeof unresolvedOldProps && (applyDerivedStateFromProps(
8385 workInProgress2,
8386 Component,
8387 unresolvedOldProps,
8388 nextProps
8389 ), newState = workInProgress2.memoizedState), (foundWillUpdateName = hasForceUpdate || checkShouldComponentUpdate(
8390 workInProgress2,
8391 Component,
8392 foundWillUpdateName,
8393 nextProps,
8394 oldState,
8395 newState,
8396 lane
8397 ) || null !== current2 && null !== current2.dependencies && checkIfContextChanged(current2.dependencies)) ? (oldContext || "function" !== typeof _instance.UNSAFE_componentWillUpdate && "function" !== typeof _instance.componentWillUpdate || ("function" === typeof _instance.componentWillUpdate && _instance.componentWillUpdate(nextProps, newState, lane), "function" === typeof _instance.UNSAFE_componentWillUpdate && _instance.UNSAFE_componentWillUpdate(
8398 nextProps,
8399 newState,
8400 lane
8401 )), "function" === typeof _instance.componentDidUpdate && (workInProgress2.flags |= 4), "function" === typeof _instance.getSnapshotBeforeUpdate && (workInProgress2.flags |= 1024)) : ("function" !== typeof _instance.componentDidUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 4), "function" !== typeof _instance.getSnapshotBeforeUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 1024), workInProgress2.memoizedProps = nextProps, workInProgress2.memoizedState = newState), _instance.props = nextProps, _instance.state = newState, _instance.context = lane, _instance = foundWillUpdateName) : ("function" !== typeof _instance.componentDidUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 4), "function" !== typeof _instance.getSnapshotBeforeUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 1024), _instance = false);
8402 }
8403 lane = _instance;
8404 markRef(current2, workInProgress2);
8405 state = 0 !== (workInProgress2.flags & 128);
8406 if (lane || state) {
8407 lane = workInProgress2.stateNode;
8408 setCurrentFiber(workInProgress2);
8409 if (state && "function" !== typeof Component.getDerivedStateFromError)
8410 Component = null, profilerStartTime = -1;
8411 else if (Component = callRenderInDEV(lane), workInProgress2.mode & StrictLegacyMode) {
8412 setIsStrictModeForDevtools(true);
8413 try {
8414 callRenderInDEV(lane);
8415 } finally {
8416 setIsStrictModeForDevtools(false);
8417 }
8418 }
8419 workInProgress2.flags |= 1;
8420 null !== current2 && state ? (workInProgress2.child = reconcileChildFibers(
8421 workInProgress2,
8422 current2.child,
8423 null,
8424 renderLanes2
8425 ), workInProgress2.child = reconcileChildFibers(
8426 workInProgress2,
8427 null,
8428 Component,
8429 renderLanes2
8430 )) : reconcileChildren(current2, workInProgress2, Component, renderLanes2);
8431 workInProgress2.memoizedState = lane.state;
8432 current2 = workInProgress2.child;
8433 } else
8434 current2 = bailoutOnAlreadyFinishedWork(
8435 current2,
8436 workInProgress2,
8437 renderLanes2
8438 );
8439 renderLanes2 = workInProgress2.stateNode;
8440 _instance && renderLanes2.props !== nextProps && (didWarnAboutReassigningProps || console.error(
8441 "It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.",
8442 getComponentNameFromFiber(workInProgress2) || "a component"
8443 ), didWarnAboutReassigningProps = true);
8444 return current2;
8445 }
8446 function mountHostRootWithoutHydrating(current2, workInProgress2, nextChildren, renderLanes2) {
8447 resetHydrationState();
8448 workInProgress2.flags |= 256;
8449 reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2);
8450 return workInProgress2.child;
8451 }
8452 function validateFunctionComponentInDev(workInProgress2, Component) {
8453 Component && Component.childContextTypes && console.error(
8454 "childContextTypes cannot be defined on a function component.\n %s.childContextTypes = ...",
8455 Component.displayName || Component.name || "Component"
8456 );
8457 "function" === typeof Component.getDerivedStateFromProps && (workInProgress2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] || (console.error(
8458 "%s: Function components do not support getDerivedStateFromProps.",
8459 workInProgress2
8460 ), didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] = true));
8461 "object" === typeof Component.contextType && null !== Component.contextType && (Component = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypeOnFunctionComponent[Component] || (console.error(
8462 "%s: Function components do not support contextType.",
8463 Component
8464 ), didWarnAboutContextTypeOnFunctionComponent[Component] = true));
8465 }
8466 function mountSuspenseOffscreenState(renderLanes2) {
8467 return { baseLanes: renderLanes2, cachePool: getSuspendedCache() };
8468 }
8469 function getRemainingWorkInPrimaryTree(current2, primaryTreeDidDefer, renderLanes2) {
8470 current2 = null !== current2 ? current2.childLanes & ~renderLanes2 : 0;
8471 primaryTreeDidDefer && (current2 |= workInProgressDeferredLane);
8472 return current2;
8473 }
8474 function updateSuspenseComponent(current2, workInProgress2, renderLanes2) {
8475 var nextProps = workInProgress2.pendingProps;
8476 shouldSuspendImpl(workInProgress2) && (workInProgress2.flags |= 128);
8477 var showFallback = false, didSuspend = 0 !== (workInProgress2.flags & 128), JSCompiler_temp;
8478 (JSCompiler_temp = didSuspend) || (JSCompiler_temp = null !== current2 && null === current2.memoizedState ? false : 0 !== (suspenseStackCursor.current & ForceSuspenseFallback));
8479 JSCompiler_temp && (showFallback = true, workInProgress2.flags &= -129);
8480 JSCompiler_temp = 0 !== (workInProgress2.flags & 32);
8481 workInProgress2.flags &= -33;
8482 if (null === current2) {
8483 if (isHydrating) {
8484 showFallback ? pushPrimaryTreeSuspenseHandler(workInProgress2) : reuseSuspenseHandlerOnStack(workInProgress2);
8485 (current2 = nextHydratableInstance) ? (renderLanes2 = canHydrateHydrationBoundary(
8486 current2,
8487 rootOrSingletonContext
8488 ), renderLanes2 = null !== renderLanes2 && renderLanes2.data !== ACTIVITY_START_DATA ? renderLanes2 : null, null !== renderLanes2 && (JSCompiler_temp = {
8489 dehydrated: renderLanes2,
8490 treeContext: getSuspendedTreeContext(),
8491 retryLane: 536870912,
8492 hydrationErrors: null
8493 }, workInProgress2.memoizedState = JSCompiler_temp, JSCompiler_temp = createFiberFromDehydratedFragment(renderLanes2), JSCompiler_temp.return = workInProgress2, workInProgress2.child = JSCompiler_temp, hydrationParentFiber = workInProgress2, nextHydratableInstance = null)) : renderLanes2 = null;
8494 if (null === renderLanes2)
8495 throw warnNonHydratedInstance(workInProgress2, current2), throwOnHydrationMismatch(workInProgress2);
8496 isSuspenseInstanceFallback(renderLanes2) ? workInProgress2.lanes = 32 : workInProgress2.lanes = 536870912;
8497 return null;
8498 }
8499 didSuspend = nextProps.children;
8500 nextProps = nextProps.fallback;
8501 if (showFallback)
8502 return reuseSuspenseHandlerOnStack(workInProgress2), showFallback = workInProgress2.mode, didSuspend = mountWorkInProgressOffscreenFiber(
8503 { mode: "hidden", children: didSuspend },
8504 showFallback
8505 ), nextProps = createFiberFromFragment(
8506 nextProps,
8507 showFallback,
8508 renderLanes2,
8509 null
8510 ), didSuspend.return = workInProgress2, nextProps.return = workInProgress2, didSuspend.sibling = nextProps, workInProgress2.child = didSuspend, nextProps = workInProgress2.child, nextProps.memoizedState = mountSuspenseOffscreenState(renderLanes2), nextProps.childLanes = getRemainingWorkInPrimaryTree(
8511 current2,
8512 JSCompiler_temp,
8513 renderLanes2
8514 ), workInProgress2.memoizedState = SUSPENDED_MARKER, bailoutOffscreenComponent(null, nextProps);
8515 pushPrimaryTreeSuspenseHandler(workInProgress2);
8516 return mountSuspensePrimaryChildren(workInProgress2, didSuspend);
8517 }
8518 var prevState = current2.memoizedState;
8519 if (null !== prevState) {
8520 var _dehydrated2 = prevState.dehydrated;
8521 if (null !== _dehydrated2)
8522 return updateDehydratedSuspenseComponent(
8523 current2,
8524 workInProgress2,
8525 didSuspend,
8526 JSCompiler_temp,
8527 nextProps,
8528 _dehydrated2,
8529 prevState,
8530 renderLanes2
8531 );
8532 }
8533 if (showFallback)
8534 return reuseSuspenseHandlerOnStack(workInProgress2), showFallback = nextProps.fallback, didSuspend = workInProgress2.mode, prevState = current2.child, _dehydrated2 = prevState.sibling, nextProps = createWorkInProgress(prevState, {
8535 mode: "hidden",
8536 children: nextProps.children
8537 }), nextProps.subtreeFlags = prevState.subtreeFlags & 1206910976, null !== _dehydrated2 ? showFallback = createWorkInProgress(_dehydrated2, showFallback) : (showFallback = createFiberFromFragment(
8538 showFallback,
8539 didSuspend,
8540 renderLanes2,
8541 null
8542 ), showFallback.flags |= 2), showFallback.return = workInProgress2, nextProps.return = workInProgress2, nextProps.sibling = showFallback, workInProgress2.child = nextProps, bailoutOffscreenComponent(null, nextProps), nextProps = workInProgress2.child, showFallback = current2.child.memoizedState, null === showFallback ? showFallback = mountSuspenseOffscreenState(renderLanes2) : (didSuspend = showFallback.cachePool, null !== didSuspend ? (prevState = CacheContext._currentValue, didSuspend = didSuspend.parent !== prevState ? { parent: prevState, pool: prevState } : didSuspend) : didSuspend = getSuspendedCache(), showFallback = {
8543 baseLanes: showFallback.baseLanes | renderLanes2,
8544 cachePool: didSuspend
8545 }), nextProps.memoizedState = showFallback, nextProps.childLanes = getRemainingWorkInPrimaryTree(
8546 current2,
8547 JSCompiler_temp,
8548 renderLanes2
8549 ), workInProgress2.memoizedState = SUSPENDED_MARKER, bailoutOffscreenComponent(current2.child, nextProps);
8550 null !== prevState && (renderLanes2 & 62914560) === renderLanes2 && 0 !== (renderLanes2 & current2.lanes) && markRenderDerivedCause(workInProgress2);
8551 pushPrimaryTreeSuspenseHandler(workInProgress2);
8552 renderLanes2 = current2.child;
8553 current2 = renderLanes2.sibling;
8554 renderLanes2 = createWorkInProgress(renderLanes2, {
8555 mode: "visible",
8556 children: nextProps.children
8557 });
8558 renderLanes2.return = workInProgress2;
8559 renderLanes2.sibling = null;
8560 null !== current2 && (JSCompiler_temp = workInProgress2.deletions, null === JSCompiler_temp ? (workInProgress2.deletions = [current2], workInProgress2.flags |= 16) : JSCompiler_temp.push(current2));
8561 workInProgress2.child = renderLanes2;
8562 workInProgress2.memoizedState = null;
8563 return renderLanes2;
8564 }
8565 function mountSuspensePrimaryChildren(workInProgress2, primaryChildren) {
8566 primaryChildren = mountWorkInProgressOffscreenFiber(
8567 { mode: "visible", children: primaryChildren },
8568 workInProgress2.mode
8569 );
8570 primaryChildren.return = workInProgress2;
8571 return workInProgress2.child = primaryChildren;
8572 }
8573 function mountWorkInProgressOffscreenFiber(offscreenProps, mode) {
8574 offscreenProps = createFiber(22, offscreenProps, null, mode);
8575 offscreenProps.lanes = 0;
8576 return offscreenProps;
8577 }
8578 function retrySuspenseComponentWithoutHydrating(current2, workInProgress2, renderLanes2) {
8579 reconcileChildFibers(workInProgress2, current2.child, null, renderLanes2);
8580 current2 = mountSuspensePrimaryChildren(
8581 workInProgress2,
8582 workInProgress2.pendingProps.children
8583 );
8584 current2.flags |= 2;
8585 workInProgress2.memoizedState = null;
8586 return current2;
8587 }
8588 function updateDehydratedSuspenseComponent(current2, workInProgress2, didSuspend, didPrimaryChildrenDefer, nextProps, suspenseInstance, suspenseState, renderLanes2) {
8589 if (didSuspend) {
8590 if (workInProgress2.flags & 256)
8591 return pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags &= -257, retrySuspenseComponentWithoutHydrating(
8592 current2,
8593 workInProgress2,
8594 renderLanes2
8595 );
8596 if (null !== workInProgress2.memoizedState)
8597 return reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.child = current2.child, workInProgress2.flags |= 128, null;
8598 reuseSuspenseHandlerOnStack(workInProgress2);
8599 var fallbackChildren = nextProps.fallback, fiberMode = workInProgress2.mode, primaryChildFragment = mountWorkInProgressOffscreenFiber(
8600 { mode: "visible", children: nextProps.children },
8601 fiberMode
8602 );
8603 fallbackChildren = createFiberFromFragment(
8604 fallbackChildren,
8605 fiberMode,
8606 renderLanes2,
8607 null
8608 );
8609 fallbackChildren.flags |= 2;
8610 primaryChildFragment.return = workInProgress2;
8611 fallbackChildren.return = workInProgress2;
8612 primaryChildFragment.sibling = fallbackChildren;
8613 workInProgress2.child = primaryChildFragment;
8614 reconcileChildFibers(workInProgress2, current2.child, null, renderLanes2);
8615 fallbackChildren = workInProgress2.child;
8616 fallbackChildren.memoizedState = mountSuspenseOffscreenState(renderLanes2);
8617 fallbackChildren.childLanes = getRemainingWorkInPrimaryTree(
8618 current2,
8619 didPrimaryChildrenDefer,
8620 renderLanes2
8621 );
8622 workInProgress2.memoizedState = SUSPENDED_MARKER;
8623 return bailoutOffscreenComponent(null, fallbackChildren);
8624 }
8625 pushPrimaryTreeSuspenseHandler(workInProgress2);
8626 warnIfHydrating();
8627 0 !== (renderLanes2 & 536870912) && markRenderDerivedCause(workInProgress2);
8628 if (isSuspenseInstanceFallback(suspenseInstance)) {
8629 didPrimaryChildrenDefer = suspenseInstance.nextSibling && suspenseInstance.nextSibling.dataset;
8630 if (didPrimaryChildrenDefer) {
8631 fallbackChildren = didPrimaryChildrenDefer.dgst;
8632 var message = didPrimaryChildrenDefer.msg;
8633 fiberMode = didPrimaryChildrenDefer.stck;
8634 primaryChildFragment = didPrimaryChildrenDefer.cstck;
8635 }
8636 suspenseInstance = message;
8637 suspenseState = fallbackChildren;
8638 nextProps = fiberMode;
8639 didPrimaryChildrenDefer = primaryChildFragment;
8640 fallbackChildren = suspenseState;
8641 fiberMode = suspenseInstance;
8642 primaryChildFragment = nextProps;
8643 nextProps = didPrimaryChildrenDefer;
8644 fallbackChildren !== REACT_RECOVERABLE_DIGEST && (didPrimaryChildrenDefer = fiberMode ? Error(fiberMode) : Error(
8645 "The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering."
8646 ), didPrimaryChildrenDefer.stack = primaryChildFragment || "", didPrimaryChildrenDefer.digest = fallbackChildren, fallbackChildren = void 0 === nextProps ? null : nextProps, fiberMode = {
8647 value: didPrimaryChildrenDefer,
8648 source: null,
8649 stack: fallbackChildren
8650 }, "string" === typeof fallbackChildren && CapturedStacks.set(didPrimaryChildrenDefer, fiberMode), queueHydrationError(fiberMode));
8651 return retrySuspenseComponentWithoutHydrating(
8652 current2,
8653 workInProgress2,
8654 renderLanes2
8655 );
8656 }
8657 didReceiveUpdate || propagateParentContextChanges(current2, workInProgress2, renderLanes2, false);
8658 didPrimaryChildrenDefer = 0 !== (renderLanes2 & current2.childLanes);
8659 if (didReceiveUpdate || didPrimaryChildrenDefer) {
8660 if (null !== currentTreeHiddenStackCursor.current)
8661 return retrySuspenseComponentWithoutHydrating(
8662 current2,
8663 workInProgress2,
8664 renderLanes2
8665 );
8666 didPrimaryChildrenDefer = workInProgressRoot;
8667 if (null !== didPrimaryChildrenDefer && (fallbackChildren = getBumpedLaneForHydration(
8668 didPrimaryChildrenDefer,
8669 renderLanes2
8670 ), 0 !== fallbackChildren && fallbackChildren !== suspenseState.retryLane))
8671 throw suspenseState.retryLane = fallbackChildren, enqueueConcurrentRenderForLane(current2, fallbackChildren), scheduleUpdateOnFiber(
8672 didPrimaryChildrenDefer,
8673 current2,
8674 fallbackChildren
8675 ), SelectiveHydrationException;
8676 isSuspenseInstancePending(suspenseInstance) || renderDidSuspendDelayIfPossible();
8677 return retrySuspenseComponentWithoutHydrating(
8678 current2,
8679 workInProgress2,
8680 renderLanes2
8681 );
8682 }
8683 if (isSuspenseInstancePending(suspenseInstance))
8684 return workInProgress2.flags |= 192, workInProgress2.child = current2.child, null;
8685 current2 = suspenseState.treeContext;
8686 nextHydratableInstance = getNextHydratable(suspenseInstance.nextSibling);
8687 hydrationParentFiber = workInProgress2;
8688 isHydrating = true;
8689 hydrationErrors = null;
8690 didSuspendOrErrorDEV = false;
8691 hydrationDiffRootDEV = null;
8692 rootOrSingletonContext = false;
8693 null !== current2 && restoreSuspendedTreeContext(workInProgress2, current2);
8694 workInProgress2 = mountSuspensePrimaryChildren(
8695 workInProgress2,
8696 nextProps.children
8697 );
8698 workInProgress2.flags |= 134221824;
8699 return workInProgress2;
8700 }
8701 function scheduleSuspenseWorkOnFiber(fiber, renderLanes2, propagationRoot) {
8702 fiber.lanes |= renderLanes2;
8703 var alternate = fiber.alternate;
8704 null !== alternate && (alternate.lanes |= renderLanes2);
8705 scheduleContextWorkOnParentPath(
8706 fiber.return,
8707 renderLanes2,
8708 propagationRoot
8709 );
8710 }
8711 function findLastContentRow(firstChild) {
8712 for (var lastContentRow = null; null !== firstChild; ) {
8713 var currentRow = firstChild.alternate;
8714 null !== currentRow && null === findFirstSuspended(currentRow) && (lastContentRow = firstChild);
8715 firstChild = firstChild.sibling;
8716 }
8717 return lastContentRow;
8718 }
8719 function initSuspenseListRenderState(workInProgress2, isBackwards, tail, lastContentRow, tailMode, treeForkCount2) {
8720 var renderState = workInProgress2.memoizedState;
8721 null === renderState ? workInProgress2.memoizedState = {
8722 isBackwards,
8723 rendering: null,
8724 renderingStartTime: 0,
8725 last: lastContentRow,
8726 tail,
8727 tailMode,
8728 treeForkCount: treeForkCount2
8729 } : (renderState.isBackwards = isBackwards, renderState.rendering = null, renderState.renderingStartTime = 0, renderState.last = lastContentRow, renderState.tail = tail, renderState.tailMode = tailMode, renderState.treeForkCount = treeForkCount2);
8730 }
8731 function reverseChildren(fiber) {
8732 var row = fiber.child;
8733 for (fiber.child = null; null !== row; ) {
8734 var nextRow = row.sibling;
8735 row.sibling = fiber.child;
8736 fiber.child = row;
8737 row = nextRow;
8738 }
8739 }
8740 function updateSuspenseListComponent(current2, workInProgress2, renderLanes2) {
8741 var nextProps = workInProgress2.pendingProps, revealOrder = nextProps.revealOrder, tailMode = nextProps.tail, newChildren = nextProps.children, suspenseContext = suspenseStackCursor.current;
8742 if (workInProgress2.flags & 128)
8743 return pushSuspenseListContext(workInProgress2, suspenseContext), null;
8744 (nextProps = 0 !== (suspenseContext & ForceSuspenseFallback)) ? (suspenseContext = suspenseContext & SubtreeSuspenseContextMask | ForceSuspenseFallback, workInProgress2.flags |= 128) : suspenseContext &= SubtreeSuspenseContextMask;
8745 pushSuspenseListContext(workInProgress2, suspenseContext);
8746 suspenseContext = null == revealOrder ? "null" : revealOrder;
8747 if (null != revealOrder && "forwards" !== revealOrder && "backwards" !== revealOrder && "unstable_legacy-backwards" !== revealOrder && "together" !== revealOrder && "independent" !== revealOrder && !didWarnAboutRevealOrder[suspenseContext])
8748 if (didWarnAboutRevealOrder[suspenseContext] = true, "string" === typeof revealOrder)
8749 switch (revealOrder.toLowerCase()) {
8750 case "together":
8751 case "forwards":
8752 case "backwards":
8753 case "independent":
8754 console.error(
8755 '"%s" is not a valid value for revealOrder on <SuspenseList />. Use lowercase "%s" instead.',
8756 revealOrder,
8757 revealOrder.toLowerCase()
8758 );
8759 break;
8760 case "forward":
8761 case "backward":
8762 console.error(
8763 '"%s" is not a valid value for revealOrder on <SuspenseList />. React uses the -s suffix in the spelling. Use "%ss" instead.',
8764 revealOrder,
8765 revealOrder.toLowerCase()
8766 );
8767 break;
8768 default:
8769 console.error(
8770 '"%s" is not a supported revealOrder on <SuspenseList />. Did you mean "independent", "together", "forwards" or "backwards"?',
8771 revealOrder
8772 );
8773 }
8774 else
8775 console.error(
8776 '%s is not a supported value for revealOrder on <SuspenseList />. Did you mean "independent", "together", "forwards" or "backwards"?',
8777 revealOrder
8778 );
8779 suspenseContext = null == tailMode ? "null" : tailMode;
8780 didWarnAboutTailOptions[suspenseContext] || null == tailMode || ("visible" !== tailMode && "collapsed" !== tailMode && "hidden" !== tailMode ? (didWarnAboutTailOptions[suspenseContext] = true, console.error(
8781 '"%s" is not a supported value for tail on <SuspenseList />. Did you mean "visible", "collapsed" or "hidden"?',
8782 tailMode
8783 )) : null != revealOrder && "forwards" !== revealOrder && "backwards" !== revealOrder && "unstable_legacy-backwards" !== revealOrder && (didWarnAboutTailOptions[suspenseContext] = true, console.error(
8784 '<SuspenseList tail="%s" /> is only valid if revealOrder is "forwards" (default) or "backwards". Did you mean to specify revealOrder="forwards"?',
8785 tailMode
8786 )));
8787 a: if ((null == revealOrder || "forwards" === revealOrder || "backwards" === revealOrder || "unstable_legacy-backwards" === revealOrder) && void 0 !== newChildren && null !== newChildren && false !== newChildren)
8788 if (isArrayImpl(newChildren))
8789 for (suspenseContext = 0; suspenseContext < newChildren.length; suspenseContext++) {
8790 if (!validateSuspenseListNestedChild(
8791 newChildren[suspenseContext],
8792 suspenseContext
8793 ))
8794 break a;
8795 }
8796 else if (suspenseContext = getIteratorFn(newChildren), "function" === typeof suspenseContext) {
8797 if (suspenseContext = suspenseContext.call(newChildren))
8798 for (var step = suspenseContext.next(), _i = 0; !step.done; step = suspenseContext.next()) {
8799 if (!validateSuspenseListNestedChild(step.value, _i)) break a;
8800 _i++;
8801 }
8802 } else
8803 console.error(
8804 'A single row was passed to a <SuspenseList revealOrder="%s" />. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?',
8805 revealOrder
8806 );
8807 "backwards" === revealOrder && null !== current2 ? (reverseChildren(current2), reconcileChildren(current2, workInProgress2, newChildren, renderLanes2), reverseChildren(current2)) : reconcileChildren(current2, workInProgress2, newChildren, renderLanes2);
8808 isHydrating ? (warnIfNotHydrating(), newChildren = treeForkCount) : newChildren = 0;
8809 if (!nextProps && null !== current2 && 0 !== (current2.flags & 128))
8810 a: for (current2 = workInProgress2.child; null !== current2; ) {
8811 if (13 === current2.tag)
8812 null !== current2.memoizedState && scheduleSuspenseWorkOnFiber(current2, renderLanes2, workInProgress2);
8813 else if (19 === current2.tag)
8814 scheduleSuspenseWorkOnFiber(current2, renderLanes2, workInProgress2);
8815 else if (null !== current2.child) {
8816 current2.child.return = current2;
8817 current2 = current2.child;
8818 continue;
8819 }
8820 if (current2 === workInProgress2) break a;
8821 for (; null === current2.sibling; ) {
8822 if (null === current2.return || current2.return === workInProgress2)
8823 break a;
8824 current2 = current2.return;
8825 }
8826 current2.sibling.return = current2.return;
8827 current2 = current2.sibling;
8828 }
8829 switch (revealOrder) {
8830 case "backwards":
8831 renderLanes2 = findLastContentRow(workInProgress2.child);
8832 null === renderLanes2 ? (revealOrder = workInProgress2.child, workInProgress2.child = null) : (revealOrder = renderLanes2.sibling, renderLanes2.sibling = null, reverseChildren(workInProgress2));
8833 initSuspenseListRenderState(
8834 workInProgress2,
8835 true,
8836 revealOrder,
8837 null,
8838 tailMode,
8839 newChildren
8840 );
8841 break;
8842 case "unstable_legacy-backwards":
8843 renderLanes2 = null;
8844 revealOrder = workInProgress2.child;
8845 for (workInProgress2.child = null; null !== revealOrder; ) {
8846 current2 = revealOrder.alternate;
8847 if (null !== current2 && null === findFirstSuspended(current2)) {
8848 workInProgress2.child = revealOrder;
8849 break;
8850 }
8851 current2 = revealOrder.sibling;
8852 revealOrder.sibling = renderLanes2;
8853 renderLanes2 = revealOrder;
8854 revealOrder = current2;
8855 }
8856 initSuspenseListRenderState(
8857 workInProgress2,
8858 true,
8859 renderLanes2,
8860 null,
8861 tailMode,
8862 newChildren
8863 );
8864 break;
8865 case "together":
8866 initSuspenseListRenderState(
8867 workInProgress2,
8868 false,
8869 null,
8870 null,
8871 void 0,
8872 newChildren
8873 );
8874 break;
8875 case "independent":
8876 workInProgress2.memoizedState = null;
8877 break;
8878 default:
8879 renderLanes2 = findLastContentRow(workInProgress2.child), null === renderLanes2 ? (revealOrder = workInProgress2.child, workInProgress2.child = null) : (revealOrder = renderLanes2.sibling, renderLanes2.sibling = null), initSuspenseListRenderState(
8880 workInProgress2,
8881 false,
8882 revealOrder,
8883 renderLanes2,
8884 tailMode,
8885 newChildren
8886 );
8887 }
8888 return workInProgress2.child;
8889 }
8890 function updateContextProvider(current2, workInProgress2, renderLanes2) {
8891 var context = workInProgress2.type, newProps = workInProgress2.pendingProps, newValue = newProps.value;
8892 "value" in newProps || hasWarnedAboutUsingNoValuePropOnContextProvider || (hasWarnedAboutUsingNoValuePropOnContextProvider = true, console.error(
8893 "The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?"
8894 ));
8895 pushProvider(workInProgress2, context, newValue);
8896 reconcileChildren(
8897 current2,
8898 workInProgress2,
8899 newProps.children,
8900 renderLanes2
8901 );
8902 return workInProgress2.child;
8903 }
8904 function bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2) {
8905 null !== current2 && (workInProgress2.dependencies = current2.dependencies);
8906 profilerStartTime = -1;
8907 workInProgressRootSkippedLanes |= workInProgress2.lanes;
8908 if (0 === (renderLanes2 & workInProgress2.childLanes))
8909 if (null !== current2) {
8910 if (propagateParentContextChanges(
8911 current2,
8912 workInProgress2,
8913 renderLanes2,
8914 false
8915 ), 0 === (renderLanes2 & workInProgress2.childLanes))
8916 return null;
8917 } else return null;
8918 if (null !== current2 && workInProgress2.child !== current2.child)
8919 throw Error("Resuming work not yet implemented.");
8920 if (null !== workInProgress2.child) {
8921 current2 = workInProgress2.child;
8922 renderLanes2 = createWorkInProgress(current2, current2.pendingProps);
8923 workInProgress2.child = renderLanes2;
8924 for (renderLanes2.return = workInProgress2; null !== current2.sibling; )
8925 current2 = current2.sibling, renderLanes2 = renderLanes2.sibling = createWorkInProgress(current2, current2.pendingProps), renderLanes2.return = workInProgress2;
8926 renderLanes2.sibling = null;
8927 }
8928 return workInProgress2.child;
8929 }
8930 function checkScheduledUpdateOrContext(current2, renderLanes2) {
8931 if (0 !== (current2.lanes & renderLanes2)) return true;
8932 current2 = current2.dependencies;
8933 return null !== current2 && checkIfContextChanged(current2) ? true : false;
8934 }
8935 function attemptEarlyBailoutIfNoScheduledUpdate(current2, workInProgress2, renderLanes2) {
8936 switch (workInProgress2.tag) {
8937 case 3:
8938 pushHostContainer(
8939 workInProgress2,
8940 workInProgress2.stateNode.containerInfo
8941 );
8942 pushProvider(
8943 workInProgress2,
8944 CacheContext,
8945 current2.memoizedState.cache
8946 );
8947 resetHydrationState();
8948 break;
8949 case 27:
8950 case 5:
8951 pushHostContext(workInProgress2);
8952 break;
8953 case 4:
8954 pushHostContainer(
8955 workInProgress2,
8956 workInProgress2.stateNode.containerInfo
8957 );
8958 break;
8959 case 10:
8960 pushProvider(
8961 workInProgress2,
8962 workInProgress2.type,
8963 workInProgress2.memoizedProps.value
8964 );
8965 break;
8966 case 12:
8967 0 !== (renderLanes2 & workInProgress2.childLanes) && (workInProgress2.flags |= 4);
8968 workInProgress2.flags |= 2048;
8969 var stateNode = workInProgress2.stateNode;
8970 stateNode.effectDuration = -0;
8971 stateNode.passiveEffectDuration = -0;
8972 break;
8973 case 31:
8974 if (null !== workInProgress2.memoizedState)
8975 return workInProgress2.flags |= 128, pushDehydratedActivitySuspenseHandler(workInProgress2), null;
8976 break;
8977 case 13:
8978 stateNode = workInProgress2.memoizedState;
8979 if (null !== stateNode) {
8980 if (null !== stateNode.dehydrated)
8981 return pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags |= 128, null;
8982 stateNode = propagateParentContextChanges(
8983 current2,
8984 workInProgress2,
8985 renderLanes2,
8986 false
8987 );
8988 var primaryChildLanes = workInProgress2.child.childLanes;
8989 if (stateNode || 0 !== (renderLanes2 & primaryChildLanes))
8990 return updateSuspenseComponent(
8991 current2,
8992 workInProgress2,
8993 renderLanes2
8994 );
8995 pushPrimaryTreeSuspenseHandler(workInProgress2);
8996 current2 = bailoutOnAlreadyFinishedWork(
8997 current2,
8998 workInProgress2,
8999 renderLanes2
9000 );
9001 return null !== current2 ? current2.sibling : null;
9002 }
9003 pushPrimaryTreeSuspenseHandler(workInProgress2);
9004 break;
9005 case 19:
9006 if (workInProgress2.flags & 128)
9007 return updateSuspenseListComponent(
9008 current2,
9009 workInProgress2,
9010 renderLanes2
9011 );
9012 primaryChildLanes = 0 !== (current2.flags & 128);
9013 stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes);
9014 stateNode || (propagateParentContextChanges(
9015 current2,
9016 workInProgress2,
9017 renderLanes2,
9018 false
9019 ), stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes));
9020 if (primaryChildLanes) {
9021 if (stateNode)
9022 return updateSuspenseListComponent(
9023 current2,
9024 workInProgress2,
9025 renderLanes2
9026 );
9027 workInProgress2.flags |= 128;
9028 }
9029 primaryChildLanes = workInProgress2.memoizedState;
9030 null !== primaryChildLanes && (primaryChildLanes.rendering = null, primaryChildLanes.tail = null, primaryChildLanes.lastEffect = null);
9031 pushSuspenseListContext(workInProgress2, suspenseStackCursor.current);
9032 if (stateNode) break;
9033 else return null;
9034 case 22:
9035 return workInProgress2.lanes = 0, updateOffscreenComponent(
9036 current2,
9037 workInProgress2,
9038 renderLanes2,
9039 workInProgress2.pendingProps
9040 );
9041 case 24:
9042 pushProvider(
9043 workInProgress2,
9044 CacheContext,
9045 current2.memoizedState.cache
9046 );
9047 }
9048 return bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
9049 }
9050 function beginWork(current2, workInProgress2, renderLanes2) {
9051 if (workInProgress2._debugNeedsRemount && null !== current2) {
9052 renderLanes2 = createFiberFromTypeAndProps(
9053 resolveTypeForHotReloading(workInProgress2.elementType),
9054 workInProgress2.key,
9055 workInProgress2.pendingProps,
9056 workInProgress2._debugOwner || null,
9057 workInProgress2.mode,
9058 workInProgress2.lanes
9059 );
9060 renderLanes2._debugStack = workInProgress2._debugStack;
9061 renderLanes2._debugTask = workInProgress2._debugTask;
9062 var returnFiber = workInProgress2.return;
9063 if (null === returnFiber) throw Error("Cannot swap the root fiber.");
9064 current2.alternate = null;
9065 workInProgress2.alternate = null;
9066 renderLanes2.index = workInProgress2.index;
9067 renderLanes2.sibling = workInProgress2.sibling;
9068 renderLanes2.return = workInProgress2.return;
9069 renderLanes2.ref = workInProgress2.ref;
9070 renderLanes2._debugInfo = workInProgress2._debugInfo;
9071 if (workInProgress2 === returnFiber.child)
9072 returnFiber.child = renderLanes2;
9073 else {
9074 var prevSibling = returnFiber.child;
9075 if (null === prevSibling)
9076 throw Error("Expected parent to have a child.");
9077 for (; prevSibling.sibling !== workInProgress2; )
9078 if (prevSibling = prevSibling.sibling, null === prevSibling)
9079 throw Error("Expected to find the previous sibling.");
9080 prevSibling.sibling = renderLanes2;
9081 }
9082 workInProgress2 = returnFiber.deletions;
9083 null === workInProgress2 ? (returnFiber.deletions = [current2], returnFiber.flags |= 16) : workInProgress2.push(current2);
9084 renderLanes2.flags |= 134217730;
9085 return renderLanes2;
9086 }
9087 if (null !== current2)
9088 if (current2.memoizedProps !== workInProgress2.pendingProps || workInProgress2.type !== current2.type)
9089 didReceiveUpdate = true;
9090 else {
9091 if (!checkScheduledUpdateOrContext(current2, renderLanes2) && 0 === (workInProgress2.flags & 128))
9092 return didReceiveUpdate = false, attemptEarlyBailoutIfNoScheduledUpdate(
9093 current2,
9094 workInProgress2,
9095 renderLanes2
9096 );
9097 didReceiveUpdate = 0 !== (current2.flags & 131072) ? true : false;
9098 }
9099 else {
9100 didReceiveUpdate = false;
9101 if (returnFiber = isHydrating)
9102 warnIfNotHydrating(), returnFiber = 0 !== (workInProgress2.flags & 1048576);
9103 returnFiber && (returnFiber = workInProgress2.index, warnIfNotHydrating(), pushTreeId(workInProgress2, treeForkCount, returnFiber));
9104 }
9105 workInProgress2.lanes = 0;
9106 switch (workInProgress2.tag) {
9107 case 16:
9108 a: if (returnFiber = workInProgress2.pendingProps, current2 = resolveLazy(workInProgress2.elementType), current2 = resolveTypeForHotReloading(current2), workInProgress2.type = current2, "function" === typeof current2)
9109 shouldConstruct(current2) ? (returnFiber = resolveClassComponentProps(
9110 current2,
9111 returnFiber
9112 ), workInProgress2.tag = 1, workInProgress2 = updateClassComponent(
9113 null,
9114 workInProgress2,
9115 current2,
9116 returnFiber,
9117 renderLanes2
9118 )) : (workInProgress2.tag = 0, validateFunctionComponentInDev(workInProgress2, current2), workInProgress2 = updateFunctionComponent(
9119 null,
9120 workInProgress2,
9121 current2,
9122 returnFiber,
9123 renderLanes2
9124 ));
9125 else {
9126 if (void 0 !== current2 && null !== current2) {
9127 if (prevSibling = current2.$$typeof, prevSibling === REACT_FORWARD_REF_TYPE) {
9128 workInProgress2.tag = 11;
9129 workInProgress2 = updateForwardRef(
9130 null,
9131 workInProgress2,
9132 current2,
9133 returnFiber,
9134 renderLanes2
9135 );
9136 break a;
9137 } else if (prevSibling === REACT_MEMO_TYPE) {
9138 workInProgress2.tag = 14;
9139 workInProgress2 = updateMemoComponent(
9140 null,
9141 workInProgress2,
9142 current2,
9143 returnFiber,
9144 renderLanes2
9145 );
9146 break a;
9147 } else if (prevSibling === REACT_CONTEXT_TYPE) {
9148 workInProgress2.tag = 10;
9149 workInProgress2.type = current2;
9150 workInProgress2 = updateContextProvider(
9151 null,
9152 workInProgress2,
9153 renderLanes2
9154 );
9155 break a;
9156 }
9157 }
9158 workInProgress2 = "";
9159 null !== current2 && "object" === typeof current2 && current2.$$typeof === REACT_LAZY_TYPE && (workInProgress2 = " Did you wrap a component in React.lazy() more than once?");
9160 renderLanes2 = getComponentNameFromType(current2) || current2;
9161 throw Error(
9162 "Element type is invalid. Received a promise that resolves to: " + renderLanes2 + ". Lazy element type must resolve to a class or function." + workInProgress2
9163 );
9164 }
9165 return workInProgress2;
9166 case 0:
9167 return updateFunctionComponent(
9168 current2,
9169 workInProgress2,
9170 workInProgress2.type,
9171 workInProgress2.pendingProps,
9172 renderLanes2
9173 );
9174 case 1:
9175 return returnFiber = workInProgress2.type, prevSibling = resolveClassComponentProps(
9176 returnFiber,
9177 workInProgress2.pendingProps
9178 ), updateClassComponent(
9179 current2,
9180 workInProgress2,
9181 returnFiber,
9182 prevSibling,
9183 renderLanes2
9184 );
9185 case 3:
9186 a: {
9187 pushHostContainer(
9188 workInProgress2,
9189 workInProgress2.stateNode.containerInfo
9190 );
9191 if (null === current2)
9192 throw Error(
9193 "Should have a current fiber. This is a bug in React."
9194 );
9195 returnFiber = workInProgress2.pendingProps;
9196 var prevState = workInProgress2.memoizedState;
9197 prevSibling = prevState.element;
9198 cloneUpdateQueue(current2, workInProgress2);
9199 processUpdateQueue(workInProgress2, returnFiber, null, renderLanes2);
9200 var nextState = workInProgress2.memoizedState;
9201 returnFiber = nextState.cache;
9202 pushProvider(workInProgress2, CacheContext, returnFiber);
9203 returnFiber !== prevState.cache && propagateContextChanges(
9204 workInProgress2,
9205 [CacheContext],
9206 renderLanes2,
9207 true
9208 );
9209 suspendIfUpdateReadFromEntangledAsyncAction();
9210 returnFiber = nextState.element;
9211 if (prevState.isDehydrated)
9212 if (prevState = {
9213 element: returnFiber,
9214 isDehydrated: false,
9215 cache: nextState.cache
9216 }, workInProgress2.updateQueue.baseState = prevState, workInProgress2.memoizedState = prevState, workInProgress2.flags & 256) {
9217 workInProgress2 = mountHostRootWithoutHydrating(
9218 current2,
9219 workInProgress2,
9220 returnFiber,
9221 renderLanes2
9222 );
9223 break a;
9224 } else if (returnFiber !== prevSibling) {
9225 prevSibling = createCapturedValueAtFiber(
9226 Error(
9227 "This root received an early update, before anything was able hydrate. Switched the entire root to client rendering."
9228 ),
9229 workInProgress2
9230 );
9231 queueHydrationError(prevSibling);
9232 workInProgress2 = mountHostRootWithoutHydrating(
9233 current2,
9234 workInProgress2,
9235 returnFiber,
9236 renderLanes2
9237 );
9238 break a;
9239 } else {
9240 current2 = workInProgress2.stateNode.containerInfo;
9241 switch (current2.nodeType) {
9242 case 9:
9243 current2 = current2.body;
9244 break;
9245 default:
9246 current2 = "HTML" === current2.nodeName ? current2.ownerDocument.body : current2;
9247 }
9248 nextHydratableInstance = getNextHydratable(current2.firstChild);
9249 hydrationParentFiber = workInProgress2;
9250 isHydrating = true;
9251 hydrationErrors = null;
9252 didSuspendOrErrorDEV = false;
9253 hydrationDiffRootDEV = null;
9254 rootOrSingletonContext = true;
9255 renderLanes2 = mountChildFibers(
9256 workInProgress2,
9257 null,
9258 returnFiber,
9259 renderLanes2
9260 );
9261 for (workInProgress2.child = renderLanes2; renderLanes2; )
9262 renderLanes2.flags = renderLanes2.flags & -3 | 134221824, renderLanes2 = renderLanes2.sibling;
9263 }
9264 else {
9265 resetHydrationState();
9266 if (returnFiber === prevSibling) {
9267 workInProgress2 = bailoutOnAlreadyFinishedWork(
9268 current2,
9269 workInProgress2,
9270 renderLanes2
9271 );
9272 break a;
9273 }
9274 reconcileChildren(
9275 current2,
9276 workInProgress2,
9277 returnFiber,
9278 renderLanes2
9279 );
9280 }
9281 workInProgress2 = workInProgress2.child;
9282 }
9283 return workInProgress2;
9284 case 26:
9285 return markRef(current2, workInProgress2), null === current2 ? (renderLanes2 = getResource(
9286 workInProgress2.type,
9287 null,
9288 workInProgress2.pendingProps,
9289 null
9290 )) ? workInProgress2.memoizedState = renderLanes2 : isHydrating || (workInProgress2.stateNode = createHoistableInstance(
9291 workInProgress2.type,
9292 workInProgress2.pendingProps,
9293 requiredContext(rootInstanceStackCursor.current),
9294 workInProgress2
9295 )) : workInProgress2.memoizedState = getResource(
9296 workInProgress2.type,
9297 current2.memoizedProps,
9298 workInProgress2.pendingProps,
9299 current2.memoizedState
9300 ), null;
9301 case 27:
9302 return pushHostContext(workInProgress2), null === current2 && isHydrating && (returnFiber = requiredContext(rootInstanceStackCursor.current), prevSibling = getHostContext(), returnFiber = workInProgress2.stateNode = resolveSingletonInstance(
9303 workInProgress2.type,
9304 workInProgress2.pendingProps,
9305 returnFiber,
9306 prevSibling,
9307 false
9308 ), didSuspendOrErrorDEV || (prevSibling = diffHydratedProperties(
9309 returnFiber,
9310 workInProgress2.type,
9311 workInProgress2.pendingProps,
9312 prevSibling
9313 ), null !== prevSibling && (buildHydrationDiffNode(workInProgress2, 0).serverProps = prevSibling)), hydrationParentFiber = workInProgress2, rootOrSingletonContext = true, prevSibling = nextHydratableInstance, isSingletonScope(workInProgress2.type) ? (previousHydratableOnEnteringScopedSingleton = prevSibling, nextHydratableInstance = getNextHydratable(
9314 returnFiber.firstChild
9315 )) : nextHydratableInstance = prevSibling), reconcileChildren(
9316 current2,
9317 workInProgress2,
9318 workInProgress2.pendingProps.children,
9319 renderLanes2
9320 ), markRef(current2, workInProgress2), null === current2 && (workInProgress2.flags |= 4194304), workInProgress2.child;
9321 case 5:
9322 return null === current2 && isHydrating && (prevState = getHostContext(), returnFiber = validateDOMNesting(
9323 workInProgress2.type,
9324 prevState.ancestorInfo
9325 ), prevSibling = nextHydratableInstance, (nextState = !prevSibling) || (nextState = canHydrateInstance(
9326 prevSibling,
9327 workInProgress2.type,
9328 workInProgress2.pendingProps,
9329 rootOrSingletonContext
9330 ), null !== nextState ? (workInProgress2.stateNode = nextState, didSuspendOrErrorDEV || (prevState = diffHydratedProperties(
9331 nextState,
9332 workInProgress2.type,
9333 workInProgress2.pendingProps,
9334 prevState
9335 ), null !== prevState && (buildHydrationDiffNode(workInProgress2, 0).serverProps = prevState)), hydrationParentFiber = workInProgress2, nextHydratableInstance = getNextHydratable(
9336 nextState.firstChild
9337 ), rootOrSingletonContext = false, prevState = true) : prevState = false, nextState = !prevState), nextState && (returnFiber && warnNonHydratedInstance(workInProgress2, prevSibling), throwOnHydrationMismatch(workInProgress2))), pushHostContext(workInProgress2), prevSibling = workInProgress2.type, prevState = workInProgress2.pendingProps, nextState = null !== current2 ? current2.memoizedProps : null, returnFiber = prevState.children, shouldSetTextContent(prevSibling, prevState) ? returnFiber = null : null !== nextState && shouldSetTextContent(prevSibling, nextState) && (workInProgress2.flags |= 32), null !== workInProgress2.memoizedState && (prevSibling = renderWithHooks(
9338 current2,
9339 workInProgress2,
9340 TransitionAwareHostComponent,
9341 null,
9342 null,
9343 renderLanes2
9344 ), HostTransitionContext._currentValue = prevSibling), markRef(current2, workInProgress2), reconcileChildren(
9345 current2,
9346 workInProgress2,
9347 returnFiber,
9348 renderLanes2
9349 ), workInProgress2.child;
9350 case 6:
9351 return null === current2 && isHydrating && (renderLanes2 = workInProgress2.pendingProps, current2 = getHostContext(), returnFiber = current2.ancestorInfo.current, renderLanes2 = null != returnFiber ? validateTextNesting(
9352 renderLanes2,
9353 returnFiber.tag,
9354 current2.ancestorInfo.implicitRootScope
9355 ) : true, current2 = nextHydratableInstance, (returnFiber = !current2) || (returnFiber = canHydrateTextInstance(
9356 current2,
9357 workInProgress2.pendingProps,
9358 rootOrSingletonContext
9359 ), null !== returnFiber ? (workInProgress2.stateNode = returnFiber, hydrationParentFiber = workInProgress2, nextHydratableInstance = null, returnFiber = true) : returnFiber = false, returnFiber = !returnFiber), returnFiber && (renderLanes2 && warnNonHydratedInstance(workInProgress2, current2), throwOnHydrationMismatch(workInProgress2))), null;
9360 case 13:
9361 return updateSuspenseComponent(current2, workInProgress2, renderLanes2);
9362 case 4:
9363 return pushHostContainer(
9364 workInProgress2,
9365 workInProgress2.stateNode.containerInfo
9366 ), returnFiber = workInProgress2.pendingProps, null === current2 ? workInProgress2.child = reconcileChildFibers(
9367 workInProgress2,
9368 null,
9369 returnFiber,
9370 renderLanes2
9371 ) : reconcileChildren(
9372 current2,
9373 workInProgress2,
9374 returnFiber,
9375 renderLanes2
9376 ), workInProgress2.child;
9377 case 11:
9378 return updateForwardRef(
9379 current2,
9380 workInProgress2,
9381 workInProgress2.type,
9382 workInProgress2.pendingProps,
9383 renderLanes2
9384 );
9385 case 7:
9386 return returnFiber = workInProgress2.pendingProps, markRef(current2, workInProgress2), reconcileChildren(
9387 current2,
9388 workInProgress2,
9389 returnFiber,
9390 renderLanes2
9391 ), workInProgress2.child;
9392 case 8:
9393 return reconcileChildren(
9394 current2,
9395 workInProgress2,
9396 workInProgress2.pendingProps.children,
9397 renderLanes2
9398 ), workInProgress2.child;
9399 case 12:
9400 return workInProgress2.flags |= 4, workInProgress2.flags |= 2048, returnFiber = workInProgress2.stateNode, returnFiber.effectDuration = -0, returnFiber.passiveEffectDuration = -0, reconcileChildren(
9401 current2,
9402 workInProgress2,
9403 workInProgress2.pendingProps.children,
9404 renderLanes2
9405 ), workInProgress2.child;
9406 case 10:
9407 return updateContextProvider(current2, workInProgress2, renderLanes2);
9408 case 9:
9409 return prevSibling = workInProgress2.type._context, returnFiber = workInProgress2.pendingProps.children, "function" !== typeof returnFiber && console.error(
9410 "A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it."
9411 ), prepareToReadContext(workInProgress2), prevSibling = readContext(prevSibling), returnFiber = callComponentInDEV(
9412 returnFiber,
9413 prevSibling,
9414 void 0
9415 ), workInProgress2.flags |= 1, reconcileChildren(
9416 current2,
9417 workInProgress2,
9418 returnFiber,
9419 renderLanes2
9420 ), workInProgress2.child;
9421 case 14:
9422 return updateMemoComponent(
9423 current2,
9424 workInProgress2,
9425 workInProgress2.type,
9426 workInProgress2.pendingProps,
9427 renderLanes2
9428 );
9429 case 15:
9430 return updateSimpleMemoComponent(
9431 current2,
9432 workInProgress2,
9433 workInProgress2.type,
9434 workInProgress2.pendingProps,
9435 renderLanes2
9436 );
9437 case 19:
9438 return updateSuspenseListComponent(
9439 current2,
9440 workInProgress2,
9441 renderLanes2
9442 );
9443 case 31:
9444 return updateActivityComponent(current2, workInProgress2, renderLanes2);
9445 case 22:
9446 return updateOffscreenComponent(
9447 current2,
9448 workInProgress2,
9449 renderLanes2,
9450 workInProgress2.pendingProps
9451 );
9452 case 24:
9453 return prepareToReadContext(workInProgress2), returnFiber = readContext(CacheContext), null === current2 ? (prevSibling = peekCacheFromPool(), null === prevSibling && (prevSibling = workInProgressRoot, prevState = createCache(), prevSibling.pooledCache = prevState, retainCache(prevState), null !== prevState && (prevSibling.pooledCacheLanes |= renderLanes2), prevSibling = prevState), workInProgress2.memoizedState = {
9454 parent: returnFiber,
9455 cache: prevSibling
9456 }, initializeUpdateQueue(workInProgress2), pushProvider(workInProgress2, CacheContext, prevSibling)) : (0 !== (current2.lanes & renderLanes2) && (cloneUpdateQueue(current2, workInProgress2), processUpdateQueue(workInProgress2, null, null, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction()), prevSibling = current2.memoizedState, prevState = workInProgress2.memoizedState, prevSibling.parent !== returnFiber ? (prevSibling = {
9457 parent: returnFiber,
9458 cache: returnFiber
9459 }, workInProgress2.memoizedState = prevSibling, 0 === workInProgress2.lanes && (workInProgress2.memoizedState = workInProgress2.updateQueue.baseState = prevSibling), pushProvider(workInProgress2, CacheContext, returnFiber)) : (returnFiber = prevState.cache, pushProvider(workInProgress2, CacheContext, returnFiber), returnFiber !== prevSibling.cache && propagateContextChanges(
9460 workInProgress2,
9461 [CacheContext],
9462 renderLanes2,
9463 true
9464 ))), reconcileChildren(
9465 current2,
9466 workInProgress2,
9467 workInProgress2.pendingProps.children,
9468 renderLanes2
9469 ), workInProgress2.child;
9470 case 30:
9471 return null === workInProgress2.stateNode && (workInProgress2.stateNode = {
9472 autoName: null,
9473 paired: null,
9474 clones: null,
9475 ref: null
9476 }), returnFiber = workInProgress2.pendingProps, null != returnFiber.name && "auto" !== returnFiber.name ? workInProgress2.flags |= null === current2 ? 18882560 : 18874368 : isHydrating && pushMaterializedTreeId(workInProgress2), void 0 !== returnFiber.className && (prevSibling = "string" === typeof returnFiber.className ? JSON.stringify(returnFiber.className) : "{...}", didWarnAboutClassNameOnViewTransition[prevSibling] || (didWarnAboutClassNameOnViewTransition[prevSibling] = true, console.error(
9477 `<ViewTransition> doesn't accept a "className" prop. It has been renamed to "default".
9478 - <ViewTransition className=%s>
9479 + <ViewTransition default=%s>`,
9480 prevSibling,
9481 prevSibling
9482 ))), null !== current2 && current2.memoizedProps.name !== returnFiber.name ? workInProgress2.flags |= 4194816 : markRef(current2, workInProgress2), reconcileChildren(
9483 current2,
9484 workInProgress2,
9485 returnFiber.children,
9486 renderLanes2
9487 ), workInProgress2.child;
9488 case 29:
9489 throw workInProgress2.pendingProps;
9490 }
9491 throw Error(
9492 "Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue."
9493 );
9494 }
9495 function markUpdate(workInProgress2) {
9496 workInProgress2.flags |= 4;
9497 }
9498 function preloadInstanceAndSuspendIfNeeded(workInProgress2, type, oldProps, newProps, renderLanes2) {
9499 var JSCompiler_temp;
9500 if (JSCompiler_temp = (workInProgress2.mode & SuspenseyImagesMode) !== NoMode)
9501 JSCompiler_temp = null === oldProps ? maySuspendCommit(type, newProps) : maySuspendCommit(type, newProps) && (newProps.src !== oldProps.src || newProps.srcSet !== oldProps.srcSet);
9502 if (JSCompiler_temp) {
9503 if (workInProgress2.flags |= 16777216, (renderLanes2 & 335544128) === renderLanes2)
9504 if (workInProgress2.stateNode.complete) workInProgress2.flags |= 8192;
9505 else if (shouldRemainOnPreviousScreen()) workInProgress2.flags |= 8192;
9506 else
9507 throw suspendedThenable = noopSuspenseyCommitThenable, SuspenseyCommitException;
9508 } else workInProgress2.flags &= -16777217;
9509 }
9510 function preloadResourceAndSuspendIfNeeded(workInProgress2, resource) {
9511 if ("stylesheet" !== resource.type || (resource.state.loading & Inserted) !== NotLoaded)
9512 workInProgress2.flags &= -16777217;
9513 else if (workInProgress2.flags |= 16777216, !preloadResource(resource))
9514 if (shouldRemainOnPreviousScreen()) workInProgress2.flags |= 8192;
9515 else
9516 throw suspendedThenable = noopSuspenseyCommitThenable, SuspenseyCommitException;
9517 }
9518 function scheduleRetryEffect(workInProgress2, retryQueue) {
9519 null !== retryQueue && (workInProgress2.flags |= 4);
9520 workInProgress2.flags & 16384 && (retryQueue = 22 !== workInProgress2.tag ? claimNextRetryLane() : 536870912, workInProgress2.lanes |= retryQueue, workInProgressSuspendedRetryLanes |= retryQueue);
9521 }
9522 function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {
9523 if (!isHydrating)
9524 switch (renderState.tailMode) {
9525 case "visible":
9526 break;
9527 case "collapsed":
9528 for (var tailNode = renderState.tail, lastTailNode = null; null !== tailNode; )
9529 null !== tailNode.alternate && (lastTailNode = tailNode), tailNode = tailNode.sibling;
9530 null === lastTailNode ? hasRenderedATailFallback || null === renderState.tail ? renderState.tail = null : renderState.tail.sibling = null : lastTailNode.sibling = null;
9531 break;
9532 default:
9533 hasRenderedATailFallback = renderState.tail;
9534 for (tailNode = null; null !== hasRenderedATailFallback; )
9535 null !== hasRenderedATailFallback.alternate && (tailNode = hasRenderedATailFallback), hasRenderedATailFallback = hasRenderedATailFallback.sibling;
9536 null === tailNode ? renderState.tail = null : tailNode.sibling = null;
9537 }
9538 }
9539 function bubbleProperties(completedWork) {
9540 var didBailout = null !== completedWork.alternate && completedWork.alternate.child === completedWork.child, newChildLanes = 0, subtreeFlags = 0;
9541 if (didBailout)
9542 if ((completedWork.mode & ProfileMode) !== NoMode) {
9543 for (var _treeBaseDuration = completedWork.selfBaseDuration, _child2 = completedWork.child; null !== _child2; )
9544 newChildLanes |= _child2.lanes | _child2.childLanes, subtreeFlags |= _child2.subtreeFlags & 1206910976, subtreeFlags |= _child2.flags & 1206910976, _treeBaseDuration += _child2.treeBaseDuration, _child2 = _child2.sibling;
9545 completedWork.treeBaseDuration = _treeBaseDuration;
9546 } else
9547 for (_treeBaseDuration = completedWork.child; null !== _treeBaseDuration; )
9548 newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags & 1206910976, subtreeFlags |= _treeBaseDuration.flags & 1206910976, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling;
9549 else if ((completedWork.mode & ProfileMode) !== NoMode) {
9550 _treeBaseDuration = completedWork.actualDuration;
9551 _child2 = completedWork.selfBaseDuration;
9552 for (var child = completedWork.child; null !== child; )
9553 newChildLanes |= child.lanes | child.childLanes, subtreeFlags |= child.subtreeFlags, subtreeFlags |= child.flags, _treeBaseDuration += child.actualDuration, _child2 += child.treeBaseDuration, child = child.sibling;
9554 completedWork.actualDuration = _treeBaseDuration;
9555 completedWork.treeBaseDuration = _child2;
9556 } else
9557 for (_treeBaseDuration = completedWork.child; null !== _treeBaseDuration; )
9558 newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags, subtreeFlags |= _treeBaseDuration.flags, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling;
9559 completedWork.subtreeFlags |= subtreeFlags;
9560 completedWork.childLanes = newChildLanes;
9561 return didBailout;
9562 }
9563 function completeWork(current2, workInProgress2, renderLanes2) {
9564 var newProps = workInProgress2.pendingProps;
9565 popTreeContext(workInProgress2);
9566 switch (workInProgress2.tag) {
9567 case 16:
9568 case 15:
9569 case 0:
9570 case 11:
9571 case 7:
9572 case 8:
9573 case 12:
9574 case 9:
9575 case 14:
9576 return bubbleProperties(workInProgress2), null;
9577 case 1:
9578 return bubbleProperties(workInProgress2), null;
9579 case 3:
9580 renderLanes2 = workInProgress2.stateNode;
9581 newProps = null;
9582 null !== current2 && (newProps = current2.memoizedState.cache);
9583 workInProgress2.memoizedState.cache !== newProps && (workInProgress2.flags |= 2048);
9584 popProvider(CacheContext, workInProgress2);
9585 popHostContainer(workInProgress2);
9586 renderLanes2.pendingContext && (renderLanes2.context = renderLanes2.pendingContext, renderLanes2.pendingContext = null);
9587 if (null === current2 || null === current2.child)
9588 popHydrationState(workInProgress2) ? (emitPendingHydrationWarnings(), markUpdate(workInProgress2)) : null === current2 || current2.memoizedState.isDehydrated && 0 === (workInProgress2.flags & 256) || (workInProgress2.flags |= 1024, upgradeHydrationErrorsToRecoverable());
9589 bubbleProperties(workInProgress2);
9590 return null;
9591 case 26:
9592 var type = workInProgress2.type, nextResource = workInProgress2.memoizedState;
9593 null === current2 ? (markUpdate(workInProgress2), null !== nextResource ? (bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded(
9594 workInProgress2,
9595 nextResource
9596 )) : (bubbleProperties(workInProgress2), preloadInstanceAndSuspendIfNeeded(
9597 workInProgress2,
9598 type,
9599 null,
9600 newProps,
9601 renderLanes2
9602 ))) : nextResource ? nextResource !== current2.memoizedState ? (markUpdate(workInProgress2), bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded(
9603 workInProgress2,
9604 nextResource
9605 )) : (bubbleProperties(workInProgress2), workInProgress2.flags &= -16777217) : (current2 = current2.memoizedProps, current2 !== newProps && markUpdate(workInProgress2), bubbleProperties(workInProgress2), preloadInstanceAndSuspendIfNeeded(
9606 workInProgress2,
9607 type,
9608 current2,
9609 newProps,
9610 renderLanes2
9611 ));
9612 return null;
9613 case 27:
9614 popHostContext(workInProgress2);
9615 renderLanes2 = requiredContext(rootInstanceStackCursor.current);
9616 type = workInProgress2.type;
9617 if (null !== current2 && null != workInProgress2.stateNode)
9618 current2.memoizedProps !== newProps && markUpdate(workInProgress2);
9619 else {
9620 if (!newProps) {
9621 if (null === workInProgress2.stateNode)
9622 throw Error(
9623 "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."
9624 );
9625 bubbleProperties(workInProgress2);
9626 workInProgress2.subtreeFlags &= -33554433;
9627 return null;
9628 }
9629 current2 = getHostContext();
9630 popHydrationState(workInProgress2) ? prepareToHydrateHostInstance(workInProgress2, current2) : (current2 = resolveSingletonInstance(
9631 type,
9632 newProps,
9633 renderLanes2,
9634 current2,
9635 true
9636 ), workInProgress2.stateNode = current2, markUpdate(workInProgress2));
9637 }
9638 bubbleProperties(workInProgress2);
9639 workInProgress2.subtreeFlags &= -33554433;
9640 return null;
9641 case 5:
9642 popHostContext(workInProgress2);
9643 type = workInProgress2.type;
9644 if (null !== current2 && null != workInProgress2.stateNode)
9645 current2.memoizedProps !== newProps && markUpdate(workInProgress2);
9646 else {
9647 if (!newProps) {
9648 if (null === workInProgress2.stateNode)
9649 throw Error(
9650 "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."
9651 );
9652 bubbleProperties(workInProgress2);
9653 workInProgress2.subtreeFlags &= -33554433;
9654 return null;
9655 }
9656 var _currentHostContext = getHostContext();
9657 if (popHydrationState(workInProgress2))
9658 prepareToHydrateHostInstance(workInProgress2, _currentHostContext);
9659 else {
9660 nextResource = requiredContext(rootInstanceStackCursor.current);
9661 validateDOMNesting(type, _currentHostContext.ancestorInfo);
9662 _currentHostContext = _currentHostContext.context;
9663 nextResource = getOwnerDocumentFromRootContainer(nextResource);
9664 switch (_currentHostContext) {
9665 case HostContextNamespaceSvg:
9666 nextResource = nextResource.createElementNS(
9667 SVG_NAMESPACE,
9668 type
9669 );
9670 break;
9671 case HostContextNamespaceMath:
9672 nextResource = nextResource.createElementNS(
9673 MATH_NAMESPACE,
9674 type
9675 );
9676 break;
9677 default:
9678 switch (type) {
9679 case "svg":
9680 nextResource = nextResource.createElementNS(
9681 SVG_NAMESPACE,
9682 type
9683 );
9684 break;
9685 case "math":
9686 nextResource = nextResource.createElementNS(
9687 MATH_NAMESPACE,
9688 type
9689 );
9690 break;
9691 case "script":
9692 nextResource = nextResource.createElement("div");
9693 didWarnScriptTags || isScriptDataBlock(newProps) || (console.error(
9694 "Encountered a script tag while rendering React component. Scripts inside React components are never executed when rendering on the client. Consider using template tag instead (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template)."
9695 ), didWarnScriptTags = true);
9696 nextResource.innerHTML = "<script><\/script>";
9697 nextResource = nextResource.removeChild(
9698 nextResource.firstChild
9699 );
9700 break;
9701 case "select":
9702 nextResource = "string" === typeof newProps.is ? nextResource.createElement("select", {
9703 is: newProps.is
9704 }) : nextResource.createElement("select");
9705 newProps.multiple ? nextResource.multiple = true : newProps.size && (nextResource.size = newProps.size);
9706 break;
9707 default:
9708 nextResource = "string" === typeof newProps.is ? nextResource.createElement(type, {
9709 is: newProps.is
9710 }) : nextResource.createElement(type), -1 === type.indexOf("-") && (type !== type.toLowerCase() && console.error(
9711 "<%s /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.",
9712 type
9713 ), "[object HTMLUnknownElement]" !== Object.prototype.toString.call(nextResource) || hasOwnProperty.call(warnedUnknownTags, type) || (warnedUnknownTags[type] = true, console.error(
9714 "The tag <%s> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.",
9715 type
9716 )));
9717 }
9718 }
9719 nextResource[internalInstanceKey] = workInProgress2;
9720 nextResource[internalPropsKey] = newProps;
9721 a: for (_currentHostContext = workInProgress2.child; null !== _currentHostContext; ) {
9722 if (5 === _currentHostContext.tag || 6 === _currentHostContext.tag)
9723 nextResource.appendChild(_currentHostContext.stateNode);
9724 else if (4 !== _currentHostContext.tag && 27 !== _currentHostContext.tag && null !== _currentHostContext.child) {
9725 _currentHostContext.child.return = _currentHostContext;
9726 _currentHostContext = _currentHostContext.child;
9727 continue;
9728 }
9729 if (_currentHostContext === workInProgress2) break a;
9730 for (; null === _currentHostContext.sibling; ) {
9731 if (null === _currentHostContext.return || _currentHostContext.return === workInProgress2)
9732 break a;
9733 _currentHostContext = _currentHostContext.return;
9734 }
9735 _currentHostContext.sibling.return = _currentHostContext.return;
9736 _currentHostContext = _currentHostContext.sibling;
9737 }
9738 workInProgress2.stateNode = nextResource;
9739 a: switch (setInitialProperties(nextResource, type, newProps), type) {
9740 case "button":
9741 case "input":
9742 case "select":
9743 case "textarea":
9744 newProps = !!newProps.autoFocus;
9745 break a;
9746 case "img":
9747 newProps = true;
9748 break a;
9749 default:
9750 newProps = false;
9751 }
9752 newProps && markUpdate(workInProgress2);
9753 }
9754 }
9755 bubbleProperties(workInProgress2);
9756 workInProgress2.subtreeFlags &= -33554433;
9757 preloadInstanceAndSuspendIfNeeded(
9758 workInProgress2,
9759 workInProgress2.type,
9760 null === current2 ? null : current2.memoizedProps,
9761 workInProgress2.pendingProps,
9762 renderLanes2
9763 );
9764 return null;
9765 case 6:
9766 if (current2 && null != workInProgress2.stateNode)
9767 current2.memoizedProps !== newProps && markUpdate(workInProgress2);
9768 else {
9769 if ("string" !== typeof newProps && null === workInProgress2.stateNode)
9770 throw Error(
9771 "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."
9772 );
9773 current2 = requiredContext(rootInstanceStackCursor.current);
9774 renderLanes2 = getHostContext();
9775 if (popHydrationState(workInProgress2)) {
9776 current2 = workInProgress2.stateNode;
9777 renderLanes2 = workInProgress2.memoizedProps;
9778 type = !didSuspendOrErrorDEV;
9779 newProps = null;
9780 nextResource = hydrationParentFiber;
9781 if (null !== nextResource)
9782 switch (nextResource.tag) {
9783 case 3:
9784 type && (type = diffHydratedTextForDevWarnings(
9785 current2,
9786 renderLanes2,
9787 newProps
9788 ), null !== type && (buildHydrationDiffNode(workInProgress2, 0).serverProps = type));
9789 break;
9790 case 27:
9791 case 5:
9792 newProps = nextResource.memoizedProps, type && (type = diffHydratedTextForDevWarnings(
9793 current2,
9794 renderLanes2,
9795 newProps
9796 ), null !== type && (buildHydrationDiffNode(
9797 workInProgress2,
9798 0
9799 ).serverProps = type));
9800 }
9801 current2[internalInstanceKey] = workInProgress2;
9802 current2 = current2.nodeValue === renderLanes2 || null !== newProps && true === newProps.suppressHydrationWarning || checkForUnmatchedText(current2.nodeValue, renderLanes2) ? true : false;
9803 current2 || throwOnHydrationMismatch(workInProgress2, true);
9804 } else
9805 type = renderLanes2.ancestorInfo.current, null != type && validateTextNesting(
9806 newProps,
9807 type.tag,
9808 renderLanes2.ancestorInfo.implicitRootScope
9809 ), current2 = getOwnerDocumentFromRootContainer(current2).createTextNode(
9810 newProps
9811 ), current2[internalInstanceKey] = workInProgress2, workInProgress2.stateNode = current2;
9812 }
9813 bubbleProperties(workInProgress2);
9814 return null;
9815 case 31:
9816 renderLanes2 = workInProgress2.memoizedState;
9817 if (null === current2 || null !== current2.memoizedState) {
9818 newProps = popHydrationState(workInProgress2);
9819 if (null !== renderLanes2) {
9820 if (null === current2) {
9821 if (!newProps)
9822 throw Error(
9823 "A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React."
9824 );
9825 current2 = workInProgress2.memoizedState;
9826 current2 = null !== current2 ? current2.dehydrated : null;
9827 if (!current2)
9828 throw Error(
9829 "Expected to have a hydrated activity instance. This error is likely caused by a bug in React. Please file an issue."
9830 );
9831 current2[internalInstanceKey] = workInProgress2;
9832 bubbleProperties(workInProgress2);
9833 (workInProgress2.mode & ProfileMode) !== NoMode && null !== renderLanes2 && (current2 = workInProgress2.child, null !== current2 && (workInProgress2.treeBaseDuration -= current2.treeBaseDuration));
9834 } else
9835 emitPendingHydrationWarnings(), resetHydrationState(), 0 === (workInProgress2.flags & 128) && (renderLanes2 = workInProgress2.memoizedState = null), workInProgress2.flags |= 4, bubbleProperties(workInProgress2), (workInProgress2.mode & ProfileMode) !== NoMode && null !== renderLanes2 && (current2 = workInProgress2.child, null !== current2 && (workInProgress2.treeBaseDuration -= current2.treeBaseDuration));
9836 current2 = false;
9837 } else
9838 renderLanes2 = upgradeHydrationErrorsToRecoverable(), null !== current2 && null !== current2.memoizedState && (current2.memoizedState.hydrationErrors = renderLanes2), current2 = true;
9839 if (!current2) {
9840 if (workInProgress2.flags & 256)
9841 return popSuspenseHandler(workInProgress2), workInProgress2;
9842 popSuspenseHandler(workInProgress2);
9843 return null;
9844 }
9845 if (0 !== (workInProgress2.flags & 128))
9846 throw Error(
9847 "Client rendering an Activity suspended it again. This is a bug in React."
9848 );
9849 }
9850 bubbleProperties(workInProgress2);
9851 return null;
9852 case 13:
9853 newProps = workInProgress2.memoizedState;
9854 if (null === current2 || null !== current2.memoizedState && null !== current2.memoizedState.dehydrated) {
9855 type = newProps;
9856 nextResource = popHydrationState(workInProgress2);
9857 if (null !== type && null !== type.dehydrated) {
9858 if (null === current2) {
9859 if (!nextResource)
9860 throw Error(
9861 "A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React."
9862 );
9863 nextResource = workInProgress2.memoizedState;
9864 nextResource = null !== nextResource ? nextResource.dehydrated : null;
9865 if (!nextResource)
9866 throw Error(
9867 "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue."
9868 );
9869 nextResource[internalInstanceKey] = workInProgress2;
9870 bubbleProperties(workInProgress2);
9871 (workInProgress2.mode & ProfileMode) !== NoMode && null !== type && (type = workInProgress2.child, null !== type && (workInProgress2.treeBaseDuration -= type.treeBaseDuration));
9872 } else
9873 emitPendingHydrationWarnings(), resetHydrationState(), 0 === (workInProgress2.flags & 128) && (type = workInProgress2.memoizedState = null), workInProgress2.flags |= 4, bubbleProperties(workInProgress2), (workInProgress2.mode & ProfileMode) !== NoMode && null !== type && (type = workInProgress2.child, null !== type && (workInProgress2.treeBaseDuration -= type.treeBaseDuration));
9874 type = false;
9875 } else
9876 type = upgradeHydrationErrorsToRecoverable(), null !== current2 && null !== current2.memoizedState && (current2.memoizedState.hydrationErrors = type), type = true;
9877 if (!type) {
9878 if (workInProgress2.flags & 256)
9879 return popSuspenseHandler(workInProgress2), workInProgress2;
9880 popSuspenseHandler(workInProgress2);
9881 return null;
9882 }
9883 }
9884 popSuspenseHandler(workInProgress2);
9885 if (0 !== (workInProgress2.flags & 128))
9886 return workInProgress2.lanes = renderLanes2, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2;
9887 renderLanes2 = null !== newProps;
9888 current2 = null !== current2 && null !== current2.memoizedState;
9889 renderLanes2 && (newProps = workInProgress2.child, type = null, null !== newProps.alternate && null !== newProps.alternate.memoizedState && null !== newProps.alternate.memoizedState.cachePool && (type = newProps.alternate.memoizedState.cachePool.pool), nextResource = null, null !== newProps.memoizedState && null !== newProps.memoizedState.cachePool && (nextResource = newProps.memoizedState.cachePool.pool), nextResource !== type && (newProps.flags |= 2048));
9890 renderLanes2 !== current2 && renderLanes2 && (workInProgress2.child.flags |= 8192);
9891 scheduleRetryEffect(workInProgress2, workInProgress2.updateQueue);
9892 bubbleProperties(workInProgress2);
9893 (workInProgress2.mode & ProfileMode) !== NoMode && renderLanes2 && (current2 = workInProgress2.child, null !== current2 && (workInProgress2.treeBaseDuration -= current2.treeBaseDuration));
9894 return null;
9895 case 4:
9896 return popHostContainer(workInProgress2), null === current2 && listenToAllSupportedEvents(
9897 workInProgress2.stateNode.containerInfo
9898 ), workInProgress2.flags |= 67108864, bubbleProperties(workInProgress2), null;
9899 case 10:
9900 return popProvider(workInProgress2.type, workInProgress2), bubbleProperties(workInProgress2), null;
9901 case 19:
9902 popSuspenseListContext(workInProgress2);
9903 newProps = workInProgress2.memoizedState;
9904 if (null === newProps) return bubbleProperties(workInProgress2), null;
9905 type = 0 !== (workInProgress2.flags & 128);
9906 nextResource = newProps.rendering;
9907 if (null === nextResource)
9908 if (type) cutOffTailIfNeeded(newProps, false);
9909 else {
9910 if (workInProgressRootExitStatus !== RootInProgress || null !== current2 && 0 !== (current2.flags & 128))
9911 for (current2 = workInProgress2.child; null !== current2; ) {
9912 nextResource = findFirstSuspended(current2);
9913 if (null !== nextResource) {
9914 workInProgress2.flags |= 128;
9915 cutOffTailIfNeeded(newProps, false);
9916 current2 = nextResource.updateQueue;
9917 workInProgress2.updateQueue = current2;
9918 scheduleRetryEffect(workInProgress2, current2);
9919 workInProgress2.subtreeFlags = 0;
9920 current2 = renderLanes2;
9921 for (renderLanes2 = workInProgress2.child; null !== renderLanes2; )
9922 resetWorkInProgress(renderLanes2, current2), renderLanes2 = renderLanes2.sibling;
9923 pushSuspenseListContext(
9924 workInProgress2,
9925 suspenseStackCursor.current & SubtreeSuspenseContextMask | ForceSuspenseFallback
9926 );
9927 isHydrating && pushTreeFork(workInProgress2, newProps.treeForkCount);
9928 return workInProgress2.child;
9929 }
9930 current2 = current2.sibling;
9931 }
9932 null !== newProps.tail && now$1() > workInProgressRootRenderTargetTime && (workInProgress2.flags |= 128, type = true, cutOffTailIfNeeded(newProps, false), workInProgress2.lanes = 4194304);
9933 }
9934 else {
9935 if (!type)
9936 if (current2 = findFirstSuspended(nextResource), null !== current2) {
9937 if (workInProgress2.flags |= 128, type = true, current2 = current2.updateQueue, workInProgress2.updateQueue = current2, scheduleRetryEffect(workInProgress2, current2), cutOffTailIfNeeded(newProps, true), null === newProps.tail && "collapsed" !== newProps.tailMode && "visible" !== newProps.tailMode && !nextResource.alternate && !isHydrating)
9938 return bubbleProperties(workInProgress2), null;
9939 } else
9940 2 * now$1() - newProps.renderingStartTime > workInProgressRootRenderTargetTime && 536870912 !== renderLanes2 && (workInProgress2.flags |= 128, type = true, cutOffTailIfNeeded(newProps, false), workInProgress2.lanes = 4194304);
9941 newProps.isBackwards ? (nextResource.sibling = workInProgress2.child, workInProgress2.child = nextResource) : (current2 = newProps.last, null !== current2 ? current2.sibling = nextResource : workInProgress2.child = nextResource, newProps.last = nextResource);
9942 }
9943 if (null !== newProps.tail) {
9944 current2 = newProps.tail;
9945 a: {
9946 for (renderLanes2 = current2; null !== renderLanes2; ) {
9947 if (null !== renderLanes2.alternate) {
9948 renderLanes2 = false;
9949 break a;
9950 }
9951 renderLanes2 = renderLanes2.sibling;
9952 }
9953 renderLanes2 = true;
9954 }
9955 newProps.rendering = current2;
9956 newProps.tail = current2.sibling;
9957 newProps.renderingStartTime = now$1();
9958 current2.sibling = null;
9959 nextResource = suspenseStackCursor.current;
9960 nextResource = type ? nextResource & SubtreeSuspenseContextMask | ForceSuspenseFallback : nextResource & SubtreeSuspenseContextMask;
9961 "visible" === newProps.tailMode || "collapsed" === newProps.tailMode || !renderLanes2 || isHydrating ? pushSuspenseListContext(workInProgress2, nextResource) : (renderLanes2 = nextResource, push(
9962 suspenseHandlerStackCursor,
9963 workInProgress2,
9964 workInProgress2
9965 ), push(suspenseStackCursor, renderLanes2, workInProgress2), null === shellBoundary && (shellBoundary = workInProgress2));
9966 isHydrating && pushTreeFork(workInProgress2, newProps.treeForkCount);
9967 return current2;
9968 }
9969 bubbleProperties(workInProgress2);
9970 return null;
9971 case 22:
9972 case 23:
9973 return popSuspenseHandler(workInProgress2), popHiddenContext(workInProgress2), newProps = null !== workInProgress2.memoizedState, null !== current2 ? null !== current2.memoizedState !== newProps && (workInProgress2.flags |= 8192) : newProps && (workInProgress2.flags |= 8192), newProps ? 0 !== (renderLanes2 & 536870912) && 0 === (workInProgress2.flags & 128) && (bubbleProperties(workInProgress2), workInProgress2.subtreeFlags & 6 && (workInProgress2.flags |= 8192)) : bubbleProperties(workInProgress2), renderLanes2 = workInProgress2.updateQueue, null !== renderLanes2 && scheduleRetryEffect(workInProgress2, renderLanes2.retryQueue), renderLanes2 = null, null !== current2 && null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (renderLanes2 = current2.memoizedState.cachePool.pool), newProps = null, null !== workInProgress2.memoizedState && null !== workInProgress2.memoizedState.cachePool && (newProps = workInProgress2.memoizedState.cachePool.pool), newProps !== renderLanes2 && (workInProgress2.flags |= 2048), null !== current2 && pop(resumedCache, workInProgress2), null;
9974 case 24:
9975 return renderLanes2 = null, null !== current2 && (renderLanes2 = current2.memoizedState.cache), workInProgress2.memoizedState.cache !== renderLanes2 && (workInProgress2.flags |= 2048), popProvider(CacheContext, workInProgress2), bubbleProperties(workInProgress2), null;
9976 case 25:
9977 return null;
9978 case 30:
9979 return workInProgress2.flags |= 33554432, bubbleProperties(workInProgress2), null;
9980 }
9981 throw Error(
9982 "Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue."
9983 );
9984 }
9985 function unwindWork(current2, workInProgress2) {
9986 popTreeContext(workInProgress2);
9987 switch (workInProgress2.tag) {
9988 case 1:
9989 return current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
9990 case 3:
9991 return popProvider(CacheContext, workInProgress2), popHostContainer(workInProgress2), current2 = workInProgress2.flags, 0 !== (current2 & 65536) && 0 === (current2 & 128) ? (workInProgress2.flags = current2 & -65537 | 128, workInProgress2) : null;
9992 case 26:
9993 case 27:
9994 case 5:
9995 return popHostContext(workInProgress2), null;
9996 case 31:
9997 if (null !== workInProgress2.memoizedState) {
9998 popSuspenseHandler(workInProgress2);
9999 if (null === workInProgress2.alternate)
10000 throw Error(
10001 "Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue."
10002 );
10003 resetHydrationState();
10004 }
10005 current2 = workInProgress2.flags;
10006 return current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
10007 case 13:
10008 popSuspenseHandler(workInProgress2);
10009 current2 = workInProgress2.memoizedState;
10010 if (null !== current2 && null !== current2.dehydrated) {
10011 if (null === workInProgress2.alternate)
10012 throw Error(
10013 "Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue."
10014 );
10015 resetHydrationState();
10016 }
10017 current2 = workInProgress2.flags;
10018 return current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
10019 case 19:
10020 return popSuspenseListContext(workInProgress2), current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, current2 = workInProgress2.memoizedState, null !== current2 && (current2.rendering = null, current2.tail = null), workInProgress2.flags |= 4, workInProgress2) : null;
10021 case 4:
10022 return popHostContainer(workInProgress2), null;
10023 case 10:
10024 return popProvider(workInProgress2.type, workInProgress2), null;
10025 case 22:
10026 case 23:
10027 return popSuspenseHandler(workInProgress2), popHiddenContext(workInProgress2), null !== current2 && pop(resumedCache, workInProgress2), current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
10028 case 24:
10029 return popProvider(CacheContext, workInProgress2), null;
10030 case 25:
10031 return null;
10032 default:
10033 return null;
10034 }
10035 }
10036 function unwindInterruptedWork(current2, interruptedWork) {
10037 popTreeContext(interruptedWork);
10038 switch (interruptedWork.tag) {
10039 case 3:
10040 popProvider(CacheContext, interruptedWork);
10041 popHostContainer(interruptedWork);
10042 break;
10043 case 26:
10044 case 27:
10045 case 5:
10046 popHostContext(interruptedWork);
10047 break;
10048 case 4:
10049 popHostContainer(interruptedWork);
10050 break;
10051 case 31:
10052 null !== interruptedWork.memoizedState && popSuspenseHandler(interruptedWork);
10053 break;
10054 case 13:
10055 popSuspenseHandler(interruptedWork);
10056 break;
10057 case 19:
10058 popSuspenseListContext(interruptedWork);
10059 break;
10060 case 10:
10061 popProvider(interruptedWork.type, interruptedWork);
10062 break;
10063 case 22:
10064 case 23:
10065 popSuspenseHandler(interruptedWork);
10066 popHiddenContext(interruptedWork);
10067 null !== current2 && pop(resumedCache, interruptedWork);
10068 break;
10069 case 24:
10070 popProvider(CacheContext, interruptedWork);
10071 }
10072 }
10073 function shouldProfile(current2) {
10074 return (current2.mode & ProfileMode) !== NoMode;
10075 }
10076 function commitHookLayoutEffects(finishedWork, hookFlags) {
10077 shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork);
10078 }
10079 function commitHookLayoutUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) {
10080 shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount(
10081 hookFlags,
10082 finishedWork,
10083 nearestMountedAncestor
10084 ), recordEffectDuration()) : commitHookEffectListUnmount(
10085 hookFlags,
10086 finishedWork,
10087 nearestMountedAncestor
10088 );
10089 }
10090 function commitHookEffectListMount(flags, finishedWork) {
10091 try {
10092 var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;
10093 if (null !== lastEffect) {
10094 var firstEffect = lastEffect.next;
10095 updateQueue = firstEffect;
10096 do {
10097 if ((updateQueue.tag & flags) === flags && (lastEffect = void 0, (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = runWithFiberInDEV(
10098 finishedWork,
10099 callCreateInDEV,
10100 updateQueue
10101 ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = false), void 0 !== lastEffect && "function" !== typeof lastEffect)) {
10102 var hookName = void 0;
10103 hookName = 0 !== (updateQueue.tag & Layout) ? "useLayoutEffect" : 0 !== (updateQueue.tag & Insertion) ? "useInsertionEffect" : "useEffect";
10104 var addendum = void 0;
10105 addendum = null === lastEffect ? " You returned null. If your effect does not require clean up, return undefined (or nothing)." : "function" === typeof lastEffect.then ? "\n\nIt looks like you wrote " + hookName + "(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:\n\n" + hookName + "(() => {\n async function fetchData() {\n // You can await here\n const response = await MyAPI.getData(someId);\n // ...\n }\n fetchData();\n}, [someId]); // Or [] if effect doesn't need props or state\n\nLearn more about data fetching with Hooks: https://react.dev/link/hooks-data-fetching" : " You returned: " + lastEffect;
10106 runWithFiberInDEV(
10107 finishedWork,
10108 function(n, a) {
10109 console.error(
10110 "%s must not return anything besides a function, which is used for clean-up.%s",
10111 n,
10112 a
10113 );
10114 },
10115 hookName,
10116 addendum
10117 );
10118 }
10119 updateQueue = updateQueue.next;
10120 } while (updateQueue !== firstEffect);
10121 }
10122 } catch (error) {
10123 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10124 }
10125 }
10126 function commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor) {
10127 try {
10128 var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;
10129 if (null !== lastEffect) {
10130 var firstEffect = lastEffect.next;
10131 updateQueue = firstEffect;
10132 do {
10133 if ((updateQueue.tag & flags) === flags) {
10134 var inst = updateQueue.inst, destroy = inst.destroy;
10135 void 0 !== destroy && (inst.destroy = void 0, (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = finishedWork, runWithFiberInDEV(
10136 lastEffect,
10137 callDestroyInDEV,
10138 lastEffect,
10139 nearestMountedAncestor,
10140 destroy
10141 ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = false));
10142 }
10143 updateQueue = updateQueue.next;
10144 } while (updateQueue !== firstEffect);
10145 }
10146 } catch (error) {
10147 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10148 }
10149 }
10150 function commitHookPassiveMountEffects(finishedWork, hookFlags) {
10151 shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork);
10152 }
10153 function commitHookPassiveUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) {
10154 shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount(
10155 hookFlags,
10156 finishedWork,
10157 nearestMountedAncestor
10158 ), recordEffectDuration()) : commitHookEffectListUnmount(
10159 hookFlags,
10160 finishedWork,
10161 nearestMountedAncestor
10162 );
10163 }
10164 function commitClassCallbacks(finishedWork) {
10165 var updateQueue = finishedWork.updateQueue;
10166 if (null !== updateQueue) {
10167 var instance = finishedWork.stateNode;
10168 finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (instance.props !== finishedWork.memoizedProps && console.error(
10169 "Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",
10170 getComponentNameFromFiber(finishedWork) || "instance"
10171 ), instance.state !== finishedWork.memoizedState && console.error(
10172 "Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.",
10173 getComponentNameFromFiber(finishedWork) || "instance"
10174 ));
10175 try {
10176 runWithFiberInDEV(
10177 finishedWork,
10178 commitCallbacks,
10179 updateQueue,
10180 instance
10181 );
10182 } catch (error) {
10183 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10184 }
10185 }
10186 }
10187 function callGetSnapshotBeforeUpdates(instance, prevProps, prevState) {
10188 return instance.getSnapshotBeforeUpdate(prevProps, prevState);
10189 }
10190 function commitClassSnapshot(finishedWork, current2) {
10191 var prevProps = current2.memoizedProps, prevState = current2.memoizedState;
10192 current2 = finishedWork.stateNode;
10193 finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (current2.props !== finishedWork.memoizedProps && console.error(
10194 "Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",
10195 getComponentNameFromFiber(finishedWork) || "instance"
10196 ), current2.state !== finishedWork.memoizedState && console.error(
10197 "Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.",
10198 getComponentNameFromFiber(finishedWork) || "instance"
10199 ));
10200 try {
10201 var resolvedPrevProps = resolveClassComponentProps(
10202 finishedWork.type,
10203 prevProps
10204 );
10205 var snapshot = runWithFiberInDEV(
10206 finishedWork,
10207 callGetSnapshotBeforeUpdates,
10208 current2,
10209 resolvedPrevProps,
10210 prevState
10211 );
10212 prevProps = didWarnAboutUndefinedSnapshotBeforeUpdate;
10213 void 0 !== snapshot || prevProps.has(finishedWork.type) || (prevProps.add(finishedWork.type), runWithFiberInDEV(finishedWork, function() {
10214 console.error(
10215 "%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.",
10216 getComponentNameFromFiber(finishedWork)
10217 );
10218 }));
10219 current2.__reactInternalSnapshotBeforeUpdate = snapshot;
10220 } catch (error) {
10221 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10222 }
10223 }
10224 function safelyCallComponentWillUnmount(current2, nearestMountedAncestor, instance) {
10225 instance.props = resolveClassComponentProps(
10226 current2.type,
10227 current2.memoizedProps
10228 );
10229 instance.state = current2.memoizedState;
10230 shouldProfile(current2) ? (startEffectTimer(), runWithFiberInDEV(
10231 current2,
10232 callComponentWillUnmountInDEV,
10233 current2,
10234 nearestMountedAncestor,
10235 instance
10236 ), recordEffectDuration()) : runWithFiberInDEV(
10237 current2,
10238 callComponentWillUnmountInDEV,
10239 current2,
10240 nearestMountedAncestor,
10241 instance
10242 );
10243 }
10244 function commitAttachRef(finishedWork) {
10245 var ref = finishedWork.ref;
10246 if (null !== ref) {
10247 switch (finishedWork.tag) {
10248 case 26:
10249 case 27:
10250 case 5:
10251 var instanceToUse = finishedWork.stateNode;
10252 break;
10253 case 30:
10254 instanceToUse = finishedWork.stateNode;
10255 var name = getViewTransitionName(
10256 finishedWork.memoizedProps,
10257 instanceToUse
10258 );
10259 if (null === instanceToUse.ref || instanceToUse.ref.name !== name)
10260 instanceToUse.ref = createViewTransitionInstance(name);
10261 instanceToUse = instanceToUse.ref;
10262 break;
10263 case 7:
10264 null === finishedWork.stateNode && (instanceToUse = new FragmentInstance(finishedWork), traverseFragmentInstancesAndTextInstances(
10265 finishedWork,
10266 addFragmentHandleToFiber,
10267 instanceToUse
10268 ), finishedWork.stateNode = instanceToUse);
10269 instanceToUse = finishedWork.stateNode;
10270 break;
10271 default:
10272 instanceToUse = finishedWork.stateNode;
10273 }
10274 if ("function" === typeof ref)
10275 if (shouldProfile(finishedWork))
10276 try {
10277 startEffectTimer(), finishedWork.refCleanup = ref(instanceToUse);
10278 } finally {
10279 recordEffectDuration();
10280 }
10281 else finishedWork.refCleanup = ref(instanceToUse);
10282 else
10283 "string" === typeof ref ? console.error("String refs are no longer supported.") : ref.hasOwnProperty("current") || console.error(
10284 "Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().",
10285 getComponentNameFromFiber(finishedWork)
10286 ), ref.current = instanceToUse;
10287 }
10288 }
10289 function safelyAttachRef(current2, nearestMountedAncestor) {
10290 try {
10291 runWithFiberInDEV(current2, commitAttachRef, current2);
10292 } catch (error) {
10293 captureCommitPhaseError(current2, nearestMountedAncestor, error);
10294 }
10295 }
10296 function safelyDetachRef(current2, nearestMountedAncestor) {
10297 var ref = current2.ref, refCleanup = current2.refCleanup;
10298 if (null !== ref)
10299 if ("function" === typeof refCleanup)
10300 try {
10301 if (shouldProfile(current2))
10302 try {
10303 startEffectTimer(), runWithFiberInDEV(current2, refCleanup);
10304 } finally {
10305 recordEffectDuration(current2);
10306 }
10307 else runWithFiberInDEV(current2, refCleanup);
10308 } catch (error) {
10309 captureCommitPhaseError(current2, nearestMountedAncestor, error);
10310 } finally {
10311 current2.refCleanup = null, current2 = current2.alternate, null != current2 && (current2.refCleanup = null);
10312 }
10313 else if ("function" === typeof ref)
10314 try {
10315 if (shouldProfile(current2))
10316 try {
10317 startEffectTimer(), runWithFiberInDEV(current2, ref, null);
10318 } finally {
10319 recordEffectDuration(current2);
10320 }
10321 else runWithFiberInDEV(current2, ref, null);
10322 } catch (error$8) {
10323 captureCommitPhaseError(current2, nearestMountedAncestor, error$8);
10324 }
10325 else ref.current = null;
10326 }
10327 function commitProfiler(finishedWork, current2, commitStartTime2, effectDuration) {
10328 var _finishedWork$memoize = finishedWork.memoizedProps, id = _finishedWork$memoize.id, onCommit = _finishedWork$memoize.onCommit;
10329 _finishedWork$memoize = _finishedWork$memoize.onRender;
10330 current2 = null === current2 ? "mount" : "update";
10331 currentUpdateIsNested && (current2 = "nested-update");
10332 "function" === typeof _finishedWork$memoize && _finishedWork$memoize(
10333 id,
10334 current2,
10335 finishedWork.actualDuration,
10336 finishedWork.treeBaseDuration,
10337 finishedWork.actualStartTime,
10338 commitStartTime2
10339 );
10340 "function" === typeof onCommit && onCommit(id, current2, effectDuration, commitStartTime2);
10341 }
10342 function commitProfilerPostCommitImpl(finishedWork, current2, commitStartTime2, passiveEffectDuration) {
10343 var _finishedWork$memoize2 = finishedWork.memoizedProps;
10344 finishedWork = _finishedWork$memoize2.id;
10345 _finishedWork$memoize2 = _finishedWork$memoize2.onPostCommit;
10346 current2 = null === current2 ? "mount" : "update";
10347 currentUpdateIsNested && (current2 = "nested-update");
10348 "function" === typeof _finishedWork$memoize2 && _finishedWork$memoize2(
10349 finishedWork,
10350 current2,
10351 passiveEffectDuration,
10352 commitStartTime2
10353 );
10354 }
10355 function commitNewChildToFragmentInstances(fiber, parentFragmentInstances) {
10356 if ((5 === fiber.tag || 27 === fiber.tag || 6 === fiber.tag) && null === fiber.alternate && null !== parentFragmentInstances)
10357 for (var i = 0; i < parentFragmentInstances.length; i++)
10358 commitNewChildToFragmentInstance(
10359 fiber.stateNode,
10360 parentFragmentInstances[i]
10361 );
10362 }
10363 function commitFragmentInstanceInsertionEffects(fiber) {
10364 for (var parent = fiber.return; null !== parent; ) {
10365 isFragmentInstanceParent(parent) && commitNewChildToFragmentInstance(fiber.stateNode, parent.stateNode);
10366 if (isFragmentInstanceHostBoundary(parent)) break;
10367 parent = parent.return;
10368 }
10369 }
10370 function commitFragmentInstanceDeletionEffects(fiber) {
10371 for (var parent = fiber.return; null !== parent; ) {
10372 isFragmentInstanceParent(parent) && deleteChildFromFragmentInstance(fiber.stateNode, parent.stateNode);
10373 if (isFragmentInstanceHostBoundary(parent)) break;
10374 parent = parent.return;
10375 }
10376 }
10377 function isFragmentInstanceHostBoundary(fiber) {
10378 return 5 === fiber.tag || 3 === fiber.tag || 27 === fiber.tag;
10379 }
10380 function isFragmentInstanceParent(fiber) {
10381 return fiber && 7 === fiber.tag && null !== fiber.stateNode;
10382 }
10383 function commitHostMount(finishedWork) {
10384 var type = finishedWork.type, props = finishedWork.memoizedProps, instance = finishedWork.stateNode;
10385 try {
10386 runWithFiberInDEV(
10387 finishedWork,
10388 commitMount,
10389 instance,
10390 type,
10391 props,
10392 finishedWork
10393 );
10394 } catch (error) {
10395 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10396 }
10397 }
10398 function commitHostUpdate(finishedWork, newProps, oldProps) {
10399 try {
10400 runWithFiberInDEV(
10401 finishedWork,
10402 commitUpdate,
10403 finishedWork.stateNode,
10404 finishedWork.type,
10405 oldProps,
10406 newProps,
10407 finishedWork
10408 );
10409 } catch (error) {
10410 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10411 }
10412 }
10413 function isHostParent(fiber) {
10414 return 5 === fiber.tag || 3 === fiber.tag || 26 === fiber.tag || 27 === fiber.tag && isSingletonScope(fiber.type) || 4 === fiber.tag;
10415 }
10416 function getHostSibling(fiber) {
10417 a: for (; ; ) {
10418 for (; null === fiber.sibling; ) {
10419 if (null === fiber.return || isHostParent(fiber.return)) return null;
10420 fiber = fiber.return;
10421 }
10422 fiber.sibling.return = fiber.return;
10423 for (fiber = fiber.sibling; 5 !== fiber.tag && 6 !== fiber.tag && 18 !== fiber.tag; ) {
10424 if (27 === fiber.tag && isSingletonScope(fiber.type)) continue a;
10425 if (fiber.flags & 2) continue a;
10426 if (null === fiber.child || 4 === fiber.tag) continue a;
10427 else fiber.child.return = fiber, fiber = fiber.child;
10428 }
10429 if (!(fiber.flags & 2)) return fiber.stateNode;
10430 }
10431 }
10432 function insertOrAppendPlacementNodeIntoContainer(node, before, parent, parentFragmentInstances) {
10433 var tag = node.tag;
10434 if (5 === tag || 6 === tag)
10435 tag = node.stateNode, before ? (warnForReactChildrenConflict(parent), (9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent).insertBefore(tag, before)) : (warnForReactChildrenConflict(parent), before = 9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent, before.appendChild(tag), tag = parent._reactRootContainer, null !== tag && void 0 !== tag || null !== before.onclick || (before.onclick = noop$1)), commitNewChildToFragmentInstances(node, parentFragmentInstances), viewTransitionMutationContext = true;
10436 else if (4 !== tag && (27 === tag && (commitNewChildToFragmentInstances(node, parentFragmentInstances), parentFragmentInstances = null, isSingletonScope(node.type) && (parent = node.stateNode, before = null)), node = node.child, null !== node))
10437 for (insertOrAppendPlacementNodeIntoContainer(
10438 node,
10439 before,
10440 parent,
10441 parentFragmentInstances
10442 ), node = node.sibling; null !== node; )
10443 insertOrAppendPlacementNodeIntoContainer(
10444 node,
10445 before,
10446 parent,
10447 parentFragmentInstances
10448 ), node = node.sibling;
10449 }
10450 function insertOrAppendPlacementNode(node, before, parent, parentFragmentInstances) {
10451 var tag = node.tag;
10452 if (5 === tag || 6 === tag)
10453 tag = node.stateNode, before ? parent.insertBefore(tag, before) : parent.appendChild(tag), commitNewChildToFragmentInstances(node, parentFragmentInstances), viewTransitionMutationContext = true;
10454 else if (4 !== tag && (27 === tag && (commitNewChildToFragmentInstances(node, parentFragmentInstances), parentFragmentInstances = null, isSingletonScope(node.type) && (parent = node.stateNode)), node = node.child, null !== node))
10455 for (insertOrAppendPlacementNode(
10456 node,
10457 before,
10458 parent,
10459 parentFragmentInstances
10460 ), node = node.sibling; null !== node; )
10461 insertOrAppendPlacementNode(
10462 node,
10463 before,
10464 parent,
10465 parentFragmentInstances
10466 ), node = node.sibling;
10467 }
10468 function commitPlacement(finishedWork) {
10469 for (var hostParentFiber, parentFiber = finishedWork.return; null !== parentFiber; ) {
10470 if (isHostParent(parentFiber)) {
10471 hostParentFiber = parentFiber;
10472 break;
10473 }
10474 parentFiber = parentFiber.return;
10475 }
10476 parentFiber = null;
10477 for (var parent = finishedWork.return; null !== parent; ) {
10478 if (isFragmentInstanceParent(parent)) {
10479 var fragmentInstance = parent.stateNode;
10480 null === parentFiber ? parentFiber = [fragmentInstance] : parentFiber.push(fragmentInstance);
10481 }
10482 if (isFragmentInstanceHostBoundary(parent)) break;
10483 parent = parent.return;
10484 }
10485 if (null == hostParentFiber)
10486 throw Error(
10487 "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue."
10488 );
10489 switch (hostParentFiber.tag) {
10490 case 27:
10491 hostParentFiber = hostParentFiber.stateNode;
10492 parent = getHostSibling(finishedWork);
10493 insertOrAppendPlacementNode(
10494 finishedWork,
10495 parent,
10496 hostParentFiber,
10497 parentFiber
10498 );
10499 break;
10500 case 5:
10501 parent = hostParentFiber.stateNode;
10502 hostParentFiber.flags & 32 && (resetTextContent(parent), hostParentFiber.flags &= -33);
10503 hostParentFiber = getHostSibling(finishedWork);
10504 insertOrAppendPlacementNode(
10505 finishedWork,
10506 hostParentFiber,
10507 parent,
10508 parentFiber
10509 );
10510 break;
10511 case 3:
10512 case 4:
10513 hostParentFiber = hostParentFiber.stateNode.containerInfo;
10514 parent = getHostSibling(finishedWork);
10515 insertOrAppendPlacementNodeIntoContainer(
10516 finishedWork,
10517 parent,
10518 hostParentFiber,
10519 parentFiber
10520 );
10521 break;
10522 default:
10523 throw Error(
10524 "Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue."
10525 );
10526 }
10527 }
10528 function commitHostSingletonAcquisition(finishedWork) {
10529 var singleton = finishedWork.stateNode, props = finishedWork.memoizedProps;
10530 try {
10531 runWithFiberInDEV(
10532 finishedWork,
10533 acquireSingletonInstance,
10534 finishedWork.type,
10535 props,
10536 singleton,
10537 finishedWork
10538 );
10539 } catch (error) {
10540 captureCommitPhaseError(finishedWork, finishedWork.return, error);
10541 }
10542 }
10543 function trackEnterViewTransitions(placement) {
10544 if (30 === placement.tag || 0 !== (placement.subtreeFlags & 33554432))
10545 shouldStartViewTransition = true;
10546 }
10547 function pushViewTransitionCancelableScope() {
10548 var prevChildren = viewTransitionCancelableChildren;
10549 viewTransitionCancelableChildren = null;
10550 return prevChildren;
10551 }
10552 function applyViewTransitionToHostInstances(fiber, name, className, collectMeasurements, stopAtNestedViewTransitions) {
10553 viewTransitionHostInstanceIdx = 0;
10554 (name = applyViewTransitionToHostInstancesRecursive(
10555 fiber.child,
10556 name,
10557 className,
10558 collectMeasurements,
10559 stopAtNestedViewTransitions
10560 )) && null != fiber._debugTask && null === animatingTask && (animatingTask = fiber._debugTask);
10561 return name;
10562 }
10563 function applyViewTransitionToHostInstancesRecursive(child, name, className, collectMeasurements, stopAtNestedViewTransitions) {
10564 for (var inViewport = false; null !== child; ) {
10565 if (5 === child.tag) {
10566 var _instance = child.stateNode;
10567 if (null !== collectMeasurements) {
10568 var measurement = measureInstance(_instance);
10569 collectMeasurements.push(measurement);
10570 measurement.view && (inViewport = true);
10571 } else
10572 inViewport || measureInstance(_instance).view && (inViewport = true);
10573 shouldStartViewTransition = true;
10574 applyViewTransitionName(
10575 _instance,
10576 0 === viewTransitionHostInstanceIdx ? name : name + "_" + viewTransitionHostInstanceIdx,
10577 className
10578 );
10579 viewTransitionHostInstanceIdx++;
10580 } else if (22 !== child.tag || null === child.memoizedState)
10581 30 === child.tag && stopAtNestedViewTransitions || applyViewTransitionToHostInstancesRecursive(
10582 child.child,
10583 name,
10584 className,
10585 collectMeasurements,
10586 stopAtNestedViewTransitions
10587 ) && (inViewport = true);
10588 child = child.sibling;
10589 }
10590 return inViewport;
10591 }
10592 function restoreViewTransitionOnHostInstances(child, stopAtNestedViewTransitions) {
10593 for (; null !== child; ) {
10594 if (5 === child.tag)
10595 restoreViewTransitionName(child.stateNode, child.memoizedProps);
10596 else if (22 !== child.tag || null === child.memoizedState)
10597 30 === child.tag && stopAtNestedViewTransitions || restoreViewTransitionOnHostInstances(
10598 child.child,
10599 stopAtNestedViewTransitions
10600 );
10601 child = child.sibling;
10602 }
10603 }
10604 function commitAppearingPairViewTransitions(placement) {
10605 if (0 !== (placement.subtreeFlags & 18874368))
10606 for (placement = placement.child; null !== placement; ) {
10607 if (22 !== placement.tag || null === placement.memoizedState) {
10608 if (commitAppearingPairViewTransitions(placement), 30 === placement.tag && 0 !== (placement.flags & 18874368) && placement.stateNode.paired) {
10609 var props = placement.memoizedProps;
10610 if (null == props.name || "auto" === props.name)
10611 throw Error(
10612 "Found a pair with an auto name. This is a bug in React."
10613 );
10614 var name = props.name;
10615 props = getViewTransitionClassName(props.default, props.share);
10616 "none" !== props && (applyViewTransitionToHostInstances(
10617 placement,
10618 name,
10619 props,
10620 null,
10621 false
10622 ) || restoreViewTransitionOnHostInstances(placement.child, false));
10623 }
10624 }
10625 placement = placement.sibling;
10626 }
10627 }
10628 function commitEnterViewTransitions(placement, gesture) {
10629 if (30 === placement.tag) {
10630 var state = placement.stateNode, props = placement.memoizedProps, name = getViewTransitionName(props, state), className = getViewTransitionClassName(
10631 props.default,
10632 state.paired ? props.share : props.enter
10633 );
10634 "none" !== className ? applyViewTransitionToHostInstances(
10635 placement,
10636 name,
10637 className,
10638 null,
10639 false
10640 ) ? (commitAppearingPairViewTransitions(placement), state.paired || gesture || scheduleViewTransitionEvent(placement, props.onEnter)) : restoreViewTransitionOnHostInstances(placement.child, false) : commitAppearingPairViewTransitions(placement);
10641 } else if (0 !== (placement.subtreeFlags & 33554432))
10642 for (placement = placement.child; null !== placement; )
10643 commitEnterViewTransitions(placement, gesture), placement = placement.sibling;
10644 else commitAppearingPairViewTransitions(placement);
10645 }
10646 function commitDeletedPairViewTransitions(deletion) {
10647 if (null !== appearingViewTransitions && 0 !== appearingViewTransitions.size) {
10648 var pairs = appearingViewTransitions;
10649 if (0 !== (deletion.subtreeFlags & 18874368))
10650 for (deletion = deletion.child; null !== deletion; ) {
10651 if (22 !== deletion.tag || null === deletion.memoizedState) {
10652 if (30 === deletion.tag && 0 !== (deletion.flags & 18874368)) {
10653 var props = deletion.memoizedProps, name = props.name;
10654 if (null != name && "auto" !== name) {
10655 var pair = pairs.get(name);
10656 if (void 0 !== pair) {
10657 var className = getViewTransitionClassName(
10658 props.default,
10659 props.share
10660 );
10661 "none" !== className && (applyViewTransitionToHostInstances(
10662 deletion,
10663 name,
10664 className,
10665 null,
10666 false
10667 ) ? (className = deletion.stateNode, pair.paired = className, className.paired = pair, scheduleViewTransitionEvent(deletion, props.onShare)) : restoreViewTransitionOnHostInstances(
10668 deletion.child,
10669 false
10670 ));
10671 pairs.delete(name);
10672 if (0 === pairs.size) break;
10673 }
10674 }
10675 }
10676 commitDeletedPairViewTransitions(deletion);
10677 }
10678 deletion = deletion.sibling;
10679 }
10680 }
10681 }
10682 function commitExitViewTransitions(deletion) {
10683 if (30 === deletion.tag) {
10684 var props = deletion.memoizedProps, name = getViewTransitionName(props, deletion.stateNode), pair = null !== appearingViewTransitions ? appearingViewTransitions.get(name) : void 0, className = getViewTransitionClassName(
10685 props.default,
10686 void 0 !== pair ? props.share : props.exit
10687 );
10688 "none" !== className && (applyViewTransitionToHostInstances(
10689 deletion,
10690 name,
10691 className,
10692 null,
10693 false
10694 ) ? void 0 !== pair ? (className = deletion.stateNode, pair.paired = className, className.paired = pair, appearingViewTransitions.delete(name), scheduleViewTransitionEvent(deletion, props.onShare)) : scheduleViewTransitionEvent(deletion, props.onExit) : restoreViewTransitionOnHostInstances(deletion.child, false));
10695 null !== appearingViewTransitions && commitDeletedPairViewTransitions(deletion);
10696 } else if (0 !== (deletion.subtreeFlags & 33554432))
10697 for (deletion = deletion.child; null !== deletion; )
10698 commitExitViewTransitions(deletion), deletion = deletion.sibling;
10699 else
10700 null !== appearingViewTransitions && commitDeletedPairViewTransitions(deletion);
10701 }
10702 function commitNestedViewTransitions(changedParent) {
10703 for (changedParent = changedParent.child; null !== changedParent; ) {
10704 if (30 === changedParent.tag) {
10705 var props = changedParent.memoizedProps, name = getViewTransitionName(props, changedParent.stateNode);
10706 props = getViewTransitionClassName(props.default, props.update);
10707 changedParent.flags &= -5;
10708 "none" !== props && applyViewTransitionToHostInstances(
10709 changedParent,
10710 name,
10711 props,
10712 changedParent.memoizedState = [],
10713 false
10714 );
10715 } else
10716 0 !== (changedParent.subtreeFlags & 33554432) && commitNestedViewTransitions(changedParent);
10717 changedParent = changedParent.sibling;
10718 }
10719 }
10720 function restorePairedViewTransitions(parent) {
10721 if (0 !== (parent.subtreeFlags & 18874368))
10722 for (parent = parent.child; null !== parent; ) {
10723 if (22 !== parent.tag || null === parent.memoizedState) {
10724 if (30 === parent.tag && 0 !== (parent.flags & 18874368)) {
10725 var instance = parent.stateNode;
10726 null !== instance.paired && (instance.paired = null, restoreViewTransitionOnHostInstances(parent.child, false));
10727 }
10728 restorePairedViewTransitions(parent);
10729 }
10730 parent = parent.sibling;
10731 }
10732 }
10733 function restoreEnterOrExitViewTransitions(fiber) {
10734 if (30 === fiber.tag)
10735 fiber.stateNode.paired = null, restoreViewTransitionOnHostInstances(fiber.child, false), restorePairedViewTransitions(fiber);
10736 else if (0 !== (fiber.subtreeFlags & 33554432))
10737 for (fiber = fiber.child; null !== fiber; )
10738 restoreEnterOrExitViewTransitions(fiber), fiber = fiber.sibling;
10739 else restorePairedViewTransitions(fiber);
10740 }
10741 function restoreNestedViewTransitions(changedParent) {
10742 for (changedParent = changedParent.child; null !== changedParent; )
10743 30 === changedParent.tag ? restoreViewTransitionOnHostInstances(changedParent.child, false) : 0 !== (changedParent.subtreeFlags & 33554432) && restoreNestedViewTransitions(changedParent), changedParent = changedParent.sibling;
10744 }
10745 function measureViewTransitionHostInstancesRecursive(parentViewTransition, child, newName, oldName, className, previousMeasurements, stopAtNestedViewTransitions) {
10746 for (var inViewport = false; null !== child; ) {
10747 if (5 === child.tag) {
10748 var _instance2 = child.stateNode;
10749 if (null !== previousMeasurements && viewTransitionHostInstanceIdx < previousMeasurements.length) {
10750 var previousMeasurement = previousMeasurements[viewTransitionHostInstanceIdx], nextMeasurement = measureInstance(_instance2);
10751 if (previousMeasurement.view || nextMeasurement.view)
10752 inViewport = true;
10753 var JSCompiler_temp;
10754 if (JSCompiler_temp = 0 === (parentViewTransition.flags & 4))
10755 if (nextMeasurement.clip) JSCompiler_temp = true;
10756 else {
10757 JSCompiler_temp = previousMeasurement.rect;
10758 var newRect = nextMeasurement.rect;
10759 JSCompiler_temp = JSCompiler_temp.y !== newRect.y || JSCompiler_temp.x !== newRect.x || JSCompiler_temp.height !== newRect.height || JSCompiler_temp.width !== newRect.width;
10760 }
10761 JSCompiler_temp && (parentViewTransition.flags |= 4);
10762 nextMeasurement.abs ? nextMeasurement = !previousMeasurement.abs : (previousMeasurement = previousMeasurement.rect, nextMeasurement = nextMeasurement.rect, nextMeasurement = previousMeasurement.height !== nextMeasurement.height || previousMeasurement.width !== nextMeasurement.width);
10763 nextMeasurement && (parentViewTransition.flags |= 32);
10764 } else parentViewTransition.flags |= 32;
10765 0 !== (parentViewTransition.flags & 4) && applyViewTransitionName(
10766 _instance2,
10767 0 === viewTransitionHostInstanceIdx ? newName : newName + "_" + viewTransitionHostInstanceIdx,
10768 className
10769 );
10770 inViewport && 0 !== (parentViewTransition.flags & 4) || (null === viewTransitionCancelableChildren && (viewTransitionCancelableChildren = []), viewTransitionCancelableChildren.push(
10771 _instance2,
10772 0 === viewTransitionHostInstanceIdx ? oldName : oldName + "_" + viewTransitionHostInstanceIdx,
10773 child.memoizedProps
10774 ));
10775 viewTransitionHostInstanceIdx++;
10776 } else if (22 !== child.tag || null === child.memoizedState)
10777 30 === child.tag && stopAtNestedViewTransitions ? parentViewTransition.flags |= child.flags & 32 : measureViewTransitionHostInstancesRecursive(
10778 parentViewTransition,
10779 child.child,
10780 newName,
10781 oldName,
10782 className,
10783 previousMeasurements,
10784 stopAtNestedViewTransitions
10785 ) && (inViewport = true);
10786 child = child.sibling;
10787 }
10788 return inViewport;
10789 }
10790 function measureNestedViewTransitions(changedParent, gesture) {
10791 for (changedParent = changedParent.child; null !== changedParent; ) {
10792 if (30 === changedParent.tag) {
10793 var props = changedParent.memoizedProps, state = changedParent.stateNode, name = getViewTransitionName(props, state), className = getViewTransitionClassName(props.default, props.update);
10794 if (gesture) {
10795 state = state.clones;
10796 var previousMeasurements = null === state ? null : state.map(measureClonedInstance);
10797 } else
10798 previousMeasurements = changedParent.memoizedState, changedParent.memoizedState = null;
10799 state = changedParent;
10800 var child = changedParent.child, newName = name;
10801 viewTransitionHostInstanceIdx = 0;
10802 className = measureViewTransitionHostInstancesRecursive(
10803 state,
10804 child,
10805 newName,
10806 name,
10807 className,
10808 previousMeasurements,
10809 false
10810 );
10811 0 !== (changedParent.flags & 4) && className && (gesture || scheduleViewTransitionEvent(changedParent, props.onUpdate));
10812 } else
10813 0 !== (changedParent.subtreeFlags & 33554432) && measureNestedViewTransitions(changedParent, gesture);
10814 changedParent = changedParent.sibling;
10815 }
10816 }
10817 function trackNamedViewTransition(fiber) {
10818 var name = fiber.memoizedProps.name;
10819 if (null != name && "auto" !== name) {
10820 var existing = mountedNamedViewTransitions.get(name);
10821 if (void 0 !== existing) {
10822 if (existing !== fiber && existing !== fiber.alternate && !didWarnAboutName[name]) {
10823 didWarnAboutName[name] = true;
10824 var stringifiedName = JSON.stringify(name);
10825 runWithFiberInDEV(fiber, function() {
10826 console.error(
10827 "There are two <ViewTransition name=%s> components with the same name mounted at the same time. This is not supported and will cause View Transitions to error. Try to use a more unique name e.g. by using a namespace prefix and adding the id of an item to the name.",
10828 stringifiedName
10829 );
10830 });
10831 runWithFiberInDEV(existing, function() {
10832 console.error(
10833 "The existing <ViewTransition name=%s> duplicate has this stack trace.",
10834 stringifiedName
10835 );
10836 });
10837 }
10838 } else mountedNamedViewTransitions.set(name, fiber);
10839 }
10840 }
10841 function untrackNamedViewTransition(fiber) {
10842 var name = fiber.memoizedProps.name;
10843 if (null != name && "auto" !== name) {
10844 var existing = mountedNamedViewTransitions.get(name);
10845 void 0 === existing || existing !== fiber && existing !== fiber.alternate || mountedNamedViewTransitions.delete(name);
10846 }
10847 }
10848 function isHydratingParent(current2, finishedWork) {
10849 return 31 === finishedWork.tag ? (finishedWork = finishedWork.memoizedState, null !== current2.memoizedState && null === finishedWork) : 13 === finishedWork.tag ? (current2 = current2.memoizedState, finishedWork = finishedWork.memoizedState, null !== current2 && null !== current2.dehydrated && (null === finishedWork || null === finishedWork.dehydrated)) : 3 === finishedWork.tag ? current2.memoizedState.isDehydrated && 0 === (finishedWork.flags & 256) : false;
10850 }
10851 function commitBeforeMutationEffects(root2, firstChild, committedLanes) {
10852 root2 = root2.containerInfo;
10853 eventsEnabled = _enabled;
10854 root2 = getActiveElementDeep(root2);
10855 if (hasSelectionCapabilities(root2)) {
10856 if ("selectionStart" in root2)
10857 var JSCompiler_temp = {
10858 start: root2.selectionStart,
10859 end: root2.selectionEnd
10860 };
10861 else
10862 a: {
10863 JSCompiler_temp = (JSCompiler_temp = root2.ownerDocument) && JSCompiler_temp.defaultView || window;
10864 var selection = JSCompiler_temp.getSelection && JSCompiler_temp.getSelection();
10865 if (selection && 0 !== selection.rangeCount) {
10866 JSCompiler_temp = selection.anchorNode;
10867 var anchorOffset = selection.anchorOffset, focusNode = selection.focusNode;
10868 selection = selection.focusOffset;
10869 try {
10870 JSCompiler_temp.nodeType, focusNode.nodeType;
10871 } catch (e$3) {
10872 JSCompiler_temp = null;
10873 break a;
10874 }
10875 var length = 0, start = -1, end = -1, indexWithinAnchor = 0, indexWithinFocus = 0, node = root2, parentNode = null;
10876 b: for (; ; ) {
10877 for (var next; ; ) {
10878 node !== JSCompiler_temp || 0 !== anchorOffset && 3 !== node.nodeType || (start = length + anchorOffset);
10879 node !== focusNode || 0 !== selection && 3 !== node.nodeType || (end = length + selection);
10880 3 === node.nodeType && (length += node.nodeValue.length);
10881 if (null === (next = node.firstChild)) break;
10882 parentNode = node;
10883 node = next;
10884 }
10885 for (; ; ) {
10886 if (node === root2) break b;
10887 parentNode === JSCompiler_temp && ++indexWithinAnchor === anchorOffset && (start = length);
10888 parentNode === focusNode && ++indexWithinFocus === selection && (end = length);
10889 if (null !== (next = node.nextSibling)) break;
10890 node = parentNode;
10891 parentNode = node.parentNode;
10892 }
10893 node = next;
10894 }
10895 JSCompiler_temp = -1 === start || -1 === end ? null : { start, end };
10896 } else JSCompiler_temp = null;
10897 }
10898 JSCompiler_temp = JSCompiler_temp || { start: 0, end: 0 };
10899 } else JSCompiler_temp = null;
10900 selectionInformation = {
10901 focusedElem: root2,
10902 selectionRange: JSCompiler_temp
10903 };
10904 _enabled = false;
10905 committedLanes = (committedLanes & 335544064) === committedLanes;
10906 nextEffect = firstChild;
10907 for (firstChild = committedLanes ? 9270 : 1024; null !== nextEffect; ) {
10908 root2 = nextEffect;
10909 if (committedLanes && (JSCompiler_temp = root2.deletions, null !== JSCompiler_temp))
10910 for (anchorOffset = 0; anchorOffset < JSCompiler_temp.length; anchorOffset++)
10911 committedLanes && commitExitViewTransitions(JSCompiler_temp[anchorOffset]);
10912 if (null === root2.alternate && 0 !== (root2.flags & 2))
10913 committedLanes && trackEnterViewTransitions(root2), commitBeforeMutationEffects_complete(committedLanes);
10914 else {
10915 if (22 === root2.tag) {
10916 if (JSCompiler_temp = root2.alternate, null !== root2.memoizedState) {
10917 null !== JSCompiler_temp && null === JSCompiler_temp.memoizedState && committedLanes && commitExitViewTransitions(JSCompiler_temp);
10918 commitBeforeMutationEffects_complete(committedLanes);
10919 continue;
10920 } else if (null !== JSCompiler_temp && null !== JSCompiler_temp.memoizedState) {
10921 committedLanes && trackEnterViewTransitions(root2);
10922 commitBeforeMutationEffects_complete(committedLanes);
10923 continue;
10924 }
10925 }
10926 JSCompiler_temp = root2.child;
10927 0 !== (root2.subtreeFlags & firstChild) && null !== JSCompiler_temp ? (JSCompiler_temp.return = root2, nextEffect = JSCompiler_temp) : (committedLanes && commitNestedViewTransitions(root2), commitBeforeMutationEffects_complete(committedLanes));
10928 }
10929 }
10930 appearingViewTransitions = null;
10931 }
10932 function commitBeforeMutationEffects_complete(isViewTransitionEligible$jscomp$0) {
10933 for (; null !== nextEffect; ) {
10934 var fiber = nextEffect, finishedWork = fiber, isViewTransitionEligible = isViewTransitionEligible$jscomp$0, current2 = finishedWork.alternate, flags = finishedWork.flags;
10935 switch (finishedWork.tag) {
10936 case 0:
10937 case 11:
10938 case 15:
10939 break;
10940 case 1:
10941 0 !== (flags & 1024) && null !== current2 && commitClassSnapshot(finishedWork, current2);
10942 break;
10943 case 3:
10944 if (0 !== (flags & 1024)) {
10945 if (isViewTransitionEligible = finishedWork.stateNode.containerInfo, finishedWork = isViewTransitionEligible.nodeType, 9 === finishedWork)
10946 clearContainerSparingly(isViewTransitionEligible);
10947 else if (1 === finishedWork)
10948 switch (isViewTransitionEligible.nodeName) {
10949 case "HEAD":
10950 case "HTML":
10951 case "BODY":
10952 clearContainerSparingly(isViewTransitionEligible);
10953 break;
10954 default:
10955 isViewTransitionEligible.textContent = "";
10956 }
10957 }
10958 break;
10959 case 5:
10960 case 26:
10961 case 27:
10962 case 6:
10963 case 4:
10964 case 17:
10965 break;
10966 case 30:
10967 isViewTransitionEligible && null !== current2 && (isViewTransitionEligible = current2, current2 = finishedWork, finishedWork = getViewTransitionName(
10968 isViewTransitionEligible.memoizedProps,
10969 isViewTransitionEligible.stateNode
10970 ), current2 = current2.memoizedProps, current2 = getViewTransitionClassName(
10971 current2.default,
10972 current2.update
10973 ), "none" !== current2 && applyViewTransitionToHostInstances(
10974 isViewTransitionEligible,
10975 finishedWork,
10976 current2,
10977 isViewTransitionEligible.memoizedState = [],
10978 true
10979 ));
10980 break;
10981 default:
10982 if (0 !== (flags & 1024))
10983 throw Error(
10984 "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue."
10985 );
10986 }
10987 isViewTransitionEligible = fiber.sibling;
10988 if (null !== isViewTransitionEligible) {
10989 isViewTransitionEligible.return = fiber.return;
10990 nextEffect = isViewTransitionEligible;
10991 break;
10992 }
10993 nextEffect = fiber.return;
10994 }
10995 }
10996 function commitLayoutEffectOnFiber(finishedRoot, current2, finishedWork) {
10997 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), flags = finishedWork.flags;
10998 switch (finishedWork.tag) {
10999 case 0:
11000 case 11:
11001 case 15:
11002 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
11003 flags & 4 && commitHookLayoutEffects(finishedWork, Layout | HasEffect);
11004 break;
11005 case 1:
11006 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
11007 if (flags & 4)
11008 if (finishedRoot = finishedWork.stateNode, null === current2)
11009 finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error(
11010 "Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",
11011 getComponentNameFromFiber(finishedWork) || "instance"
11012 ), finishedRoot.state !== finishedWork.memoizedState && console.error(
11013 "Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.",
11014 getComponentNameFromFiber(finishedWork) || "instance"
11015 )), shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV(
11016 finishedWork,
11017 callComponentDidMountInDEV,
11018 finishedWork,
11019 finishedRoot
11020 ), recordEffectDuration()) : runWithFiberInDEV(
11021 finishedWork,
11022 callComponentDidMountInDEV,
11023 finishedWork,
11024 finishedRoot
11025 );
11026 else {
11027 var prevProps = resolveClassComponentProps(
11028 finishedWork.type,
11029 current2.memoizedProps
11030 );
11031 current2 = current2.memoizedState;
11032 finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error(
11033 "Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",
11034 getComponentNameFromFiber(finishedWork) || "instance"
11035 ), finishedRoot.state !== finishedWork.memoizedState && console.error(
11036 "Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.",
11037 getComponentNameFromFiber(finishedWork) || "instance"
11038 ));
11039 shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV(
11040 finishedWork,
11041 callComponentDidUpdateInDEV,
11042 finishedWork,
11043 finishedRoot,
11044 prevProps,
11045 current2,
11046 finishedRoot.__reactInternalSnapshotBeforeUpdate
11047 ), recordEffectDuration()) : runWithFiberInDEV(
11048 finishedWork,
11049 callComponentDidUpdateInDEV,
11050 finishedWork,
11051 finishedRoot,
11052 prevProps,
11053 current2,
11054 finishedRoot.__reactInternalSnapshotBeforeUpdate
11055 );
11056 }
11057 flags & 64 && commitClassCallbacks(finishedWork);
11058 flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);
11059 break;
11060 case 3:
11061 current2 = pushNestedEffectDurations();
11062 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
11063 if (flags & 64 && (flags = finishedWork.updateQueue, null !== flags)) {
11064 prevProps = null;
11065 if (null !== finishedWork.child)
11066 switch (finishedWork.child.tag) {
11067 case 27:
11068 case 5:
11069 prevProps = finishedWork.child.stateNode;
11070 break;
11071 case 1:
11072 prevProps = finishedWork.child.stateNode;
11073 }
11074 try {
11075 runWithFiberInDEV(
11076 finishedWork,
11077 commitCallbacks,
11078 flags,
11079 prevProps
11080 );
11081 } catch (error) {
11082 captureCommitPhaseError(finishedWork, finishedWork.return, error);
11083 }
11084 }
11085 finishedRoot.effectDuration += popNestedEffectDurations(current2);
11086 break;
11087 case 27:
11088 null === current2 && flags & 4 && commitHostSingletonAcquisition(finishedWork);
11089 case 26:
11090 case 5:
11091 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
11092 if (null === current2) {
11093 if (flags & 4) commitHostMount(finishedWork);
11094 else if (flags & 64) {
11095 finishedRoot = finishedWork.type;
11096 current2 = finishedWork.memoizedProps;
11097 prevProps = finishedWork.stateNode;
11098 try {
11099 runWithFiberInDEV(
11100 finishedWork,
11101 commitHydratedInstance,
11102 prevProps,
11103 finishedRoot,
11104 current2,
11105 finishedWork
11106 );
11107 } catch (error) {
11108 captureCommitPhaseError(
11109 finishedWork,
11110 finishedWork.return,
11111 error
11112 );
11113 }
11114 }
11115 }
11116 flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);
11117 break;
11118 case 12:
11119 if (flags & 4) {
11120 flags = pushNestedEffectDurations();
11121 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
11122 finishedRoot = finishedWork.stateNode;
11123 finishedRoot.effectDuration += bubbleNestedEffectDurations(flags);
11124 try {
11125 runWithFiberInDEV(
11126 finishedWork,
11127 commitProfiler,
11128 finishedWork,
11129 current2,
11130 commitStartTime,
11131 finishedRoot.effectDuration
11132 );
11133 } catch (error) {
11134 captureCommitPhaseError(finishedWork, finishedWork.return, error);
11135 }
11136 } else recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
11137 break;
11138 case 31:
11139 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
11140 flags & 4 && commitActivityHydrationCallbacks(finishedRoot, finishedWork);
11141 break;
11142 case 13:
11143 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
11144 flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);
11145 flags & 64 && (finishedRoot = finishedWork.memoizedState, null !== finishedRoot && (finishedRoot = finishedRoot.dehydrated, null !== finishedRoot && (flags = retryDehydratedSuspenseBoundary.bind(
11146 null,
11147 finishedWork
11148 ), registerSuspenseInstanceRetry(finishedRoot, flags))));
11149 break;
11150 case 22:
11151 flags = null !== finishedWork.memoizedState || offscreenSubtreeIsHidden;
11152 if (!flags) {
11153 var newOffscreenSubtreeWasHidden = null !== current2 && null !== current2.memoizedState || offscreenSubtreeWasHidden;
11154 current2 = offscreenSubtreeIsHidden;
11155 prevProps = offscreenSubtreeWasHidden;
11156 offscreenSubtreeIsHidden = flags;
11157 (offscreenSubtreeWasHidden = newOffscreenSubtreeWasHidden) && !prevProps ? (flags = IncludeHostSingletons, 0 !== (finishedWork.subtreeFlags & 8772) && (flags |= IncludeWorkInProgressEffects), recursivelyTraverseReappearLayoutEffects(
11158 finishedRoot,
11159 finishedWork,
11160 flags
11161 ), (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentReappeared(
11162 finishedWork,
11163 componentEffectStartTime,
11164 componentEffectEndTime
11165 )) : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
11166 offscreenSubtreeIsHidden = current2;
11167 offscreenSubtreeWasHidden = prevProps;
11168 }
11169 break;
11170 case 30:
11171 flags & 18874368 && trackNamedViewTransition(finishedWork);
11172 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
11173 flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);
11174 break;
11175 case 7:
11176 flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);
11177 default:
11178 recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
11179 }
11180 (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && ((componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
11181 finishedWork,
11182 componentEffectStartTime,
11183 componentEffectEndTime,
11184 componentEffectDuration,
11185 componentEffectErrors
11186 ), null === finishedWork.alternate && null !== finishedWork.return && null !== finishedWork.return.alternate && 0.05 < componentEffectEndTime - componentEffectStartTime && (isHydratingParent(
11187 finishedWork.return.alternate,
11188 finishedWork.return
11189 ) || logComponentTrigger(
11190 finishedWork,
11191 componentEffectStartTime,
11192 componentEffectEndTime,
11193 "Mount"
11194 )));
11195 popComponentEffectStart(prevEffectStart);
11196 popComponentEffectDuration(prevEffectDuration);
11197 componentEffectErrors = prevEffectErrors;
11198 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
11199 }
11200 function hideOrUnhideAllChildren(parentFiber, isHidden) {
11201 for (parentFiber = parentFiber.child; null !== parentFiber; )
11202 hideOrUnhideAllChildrenOnFiber(parentFiber, isHidden), parentFiber = parentFiber.sibling;
11203 }
11204 function hideOrUnhideAllChildrenOnFiber(fiber, isHidden) {
11205 switch (fiber.tag) {
11206 case 5:
11207 case 26:
11208 try {
11209 var instance = fiber.stateNode;
11210 isHidden ? runWithFiberInDEV(fiber, hideInstance, instance) : runWithFiberInDEV(
11211 fiber,
11212 unhideInstance,
11213 fiber.stateNode,
11214 fiber.memoizedProps
11215 );
11216 } catch (error) {
11217 captureCommitPhaseError(fiber, fiber.return, error);
11218 }
11219 hideOrUnhideNearestPortals(fiber, isHidden);
11220 break;
11221 case 6:
11222 try {
11223 var instance$jscomp$0 = fiber.stateNode;
11224 isHidden ? runWithFiberInDEV(fiber, hideTextInstance, instance$jscomp$0) : runWithFiberInDEV(
11225 fiber,
11226 unhideTextInstance,
11227 instance$jscomp$0,
11228 fiber.memoizedProps
11229 );
11230 viewTransitionMutationContext = true;
11231 } catch (error) {
11232 captureCommitPhaseError(fiber, fiber.return, error);
11233 }
11234 break;
11235 case 18:
11236 try {
11237 var instance$jscomp$1 = fiber.stateNode;
11238 isHidden ? runWithFiberInDEV(
11239 fiber,
11240 hideDehydratedBoundary,
11241 instance$jscomp$1
11242 ) : runWithFiberInDEV(
11243 fiber,
11244 unhideDehydratedBoundary,
11245 fiber.stateNode
11246 );
11247 } catch (error) {
11248 captureCommitPhaseError(fiber, fiber.return, error);
11249 }
11250 break;
11251 case 22:
11252 case 23:
11253 null === fiber.memoizedState && hideOrUnhideAllChildren(fiber, isHidden);
11254 break;
11255 default:
11256 hideOrUnhideAllChildren(fiber, isHidden);
11257 }
11258 }
11259 function hideOrUnhideNearestPortals(parentFiber, isHidden$jscomp$0) {
11260 if (parentFiber.subtreeFlags & 67108864)
11261 for (parentFiber = parentFiber.child; null !== parentFiber; ) {
11262 a: {
11263 var fiber = parentFiber, isHidden = isHidden$jscomp$0;
11264 switch (fiber.tag) {
11265 case 4:
11266 hideOrUnhideAllChildrenOnFiber(fiber, isHidden);
11267 break a;
11268 case 22:
11269 null === fiber.memoizedState && hideOrUnhideNearestPortals(fiber, isHidden);
11270 break a;
11271 default:
11272 hideOrUnhideNearestPortals(fiber, isHidden);
11273 }
11274 }
11275 parentFiber = parentFiber.sibling;
11276 }
11277 }
11278 function detachFiberAfterEffects(fiber) {
11279 var alternate = fiber.alternate;
11280 null !== alternate && (fiber.alternate = null, detachFiberAfterEffects(alternate));
11281 fiber.child = null;
11282 fiber.deletions = null;
11283 fiber.sibling = null;
11284 5 === fiber.tag && (alternate = fiber.stateNode, null !== alternate && detachDeletedInstance(alternate));
11285 fiber.stateNode = null;
11286 fiber._debugOwner = null;
11287 fiber.return = null;
11288 fiber.dependencies = null;
11289 fiber.memoizedProps = null;
11290 fiber.memoizedState = null;
11291 fiber.pendingProps = null;
11292 fiber.stateNode = null;
11293 fiber.updateQueue = null;
11294 }
11295 function recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, parent) {
11296 for (parent = parent.child; null !== parent; )
11297 commitDeletionEffectsOnFiber(
11298 finishedRoot,
11299 nearestMountedAncestor,
11300 parent
11301 ), parent = parent.sibling;
11302 }
11303 function commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, deletedFiber) {
11304 if (injectedHook && "function" === typeof injectedHook.onCommitFiberUnmount)
11305 try {
11306 injectedHook.onCommitFiberUnmount(rendererID, deletedFiber);
11307 } catch (err) {
11308 hasLoggedError || (hasLoggedError = true, console.error(
11309 "React instrumentation encountered an error: %o",
11310 err
11311 ));
11312 }
11313 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
11314 switch (deletedFiber.tag) {
11315 case 26:
11316 offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
11317 recursivelyTraverseDeletionEffects(
11318 finishedRoot,
11319 nearestMountedAncestor,
11320 deletedFiber
11321 );
11322 deletedFiber.memoizedState ? deletedFiber.memoizedState.count-- : deletedFiber.stateNode && !offscreenSubtreeWasHidden && (finishedRoot = deletedFiber.stateNode, finishedRoot.parentNode.removeChild(finishedRoot));
11323 break;
11324 case 27:
11325 offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
11326 commitFragmentInstanceDeletionEffects(deletedFiber);
11327 var prevHostParent = hostParent, prevHostParentIsContainer = hostParentIsContainer;
11328 isSingletonScope(deletedFiber.type) && (hostParent = deletedFiber.stateNode, hostParentIsContainer = false);
11329 recursivelyTraverseDeletionEffects(
11330 finishedRoot,
11331 nearestMountedAncestor,
11332 deletedFiber
11333 );
11334 runWithFiberInDEV(
11335 deletedFiber,
11336 releaseSingletonInstance,
11337 deletedFiber.stateNode,
11338 deletedFiber.type,
11339 deletedFiber.memoizedProps
11340 );
11341 hostParent = prevHostParent;
11342 hostParentIsContainer = prevHostParentIsContainer;
11343 break;
11344 case 5:
11345 offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor), commitFragmentInstanceDeletionEffects(deletedFiber);
11346 case 6:
11347 6 === deletedFiber.tag && commitFragmentInstanceDeletionEffects(deletedFiber);
11348 prevHostParent = hostParent;
11349 prevHostParentIsContainer = hostParentIsContainer;
11350 hostParent = null;
11351 recursivelyTraverseDeletionEffects(
11352 finishedRoot,
11353 nearestMountedAncestor,
11354 deletedFiber
11355 );
11356 hostParent = prevHostParent;
11357 hostParentIsContainer = prevHostParentIsContainer;
11358 if (null !== hostParent)
11359 if (hostParentIsContainer)
11360 try {
11361 runWithFiberInDEV(
11362 deletedFiber,
11363 removeChildFromContainer,
11364 hostParent,
11365 deletedFiber.stateNode
11366 ), viewTransitionMutationContext = true;
11367 } catch (error) {
11368 captureCommitPhaseError(
11369 deletedFiber,
11370 nearestMountedAncestor,
11371 error
11372 );
11373 }
11374 else
11375 try {
11376 runWithFiberInDEV(
11377 deletedFiber,
11378 removeChild,
11379 hostParent,
11380 deletedFiber.stateNode
11381 ), viewTransitionMutationContext = true;
11382 } catch (error) {
11383 captureCommitPhaseError(
11384 deletedFiber,
11385 nearestMountedAncestor,
11386 error
11387 );
11388 }
11389 break;
11390 case 18:
11391 null !== hostParent && (hostParentIsContainer ? (finishedRoot = hostParent, clearHydrationBoundary(
11392 9 === finishedRoot.nodeType ? finishedRoot.body : "HTML" === finishedRoot.nodeName ? finishedRoot.ownerDocument.body : finishedRoot,
11393 deletedFiber.stateNode
11394 ), retryIfBlockedOn(finishedRoot)) : clearHydrationBoundary(hostParent, deletedFiber.stateNode));
11395 break;
11396 case 4:
11397 prevHostParent = hostParent;
11398 prevHostParentIsContainer = hostParentIsContainer;
11399 hostParent = deletedFiber.stateNode.containerInfo;
11400 hostParentIsContainer = true;
11401 recursivelyTraverseDeletionEffects(
11402 finishedRoot,
11403 nearestMountedAncestor,
11404 deletedFiber
11405 );
11406 hostParent = prevHostParent;
11407 hostParentIsContainer = prevHostParentIsContainer;
11408 break;
11409 case 0:
11410 case 11:
11411 case 14:
11412 case 15:
11413 commitHookEffectListUnmount(
11414 Insertion,
11415 deletedFiber,
11416 nearestMountedAncestor
11417 );
11418 offscreenSubtreeWasHidden || commitHookLayoutUnmountEffects(
11419 deletedFiber,
11420 nearestMountedAncestor,
11421 Layout
11422 );
11423 recursivelyTraverseDeletionEffects(
11424 finishedRoot,
11425 nearestMountedAncestor,
11426 deletedFiber
11427 );
11428 break;
11429 case 1:
11430 offscreenSubtreeWasHidden || (safelyDetachRef(deletedFiber, nearestMountedAncestor), prevHostParent = deletedFiber.stateNode, "function" === typeof prevHostParent.componentWillUnmount && safelyCallComponentWillUnmount(
11431 deletedFiber,
11432 nearestMountedAncestor,
11433 prevHostParent
11434 ));
11435 recursivelyTraverseDeletionEffects(
11436 finishedRoot,
11437 nearestMountedAncestor,
11438 deletedFiber
11439 );
11440 break;
11441 case 21:
11442 recursivelyTraverseDeletionEffects(
11443 finishedRoot,
11444 nearestMountedAncestor,
11445 deletedFiber
11446 );
11447 break;
11448 case 22:
11449 offscreenSubtreeWasHidden = (prevHostParent = offscreenSubtreeWasHidden) || null !== deletedFiber.memoizedState;
11450 recursivelyTraverseDeletionEffects(
11451 finishedRoot,
11452 nearestMountedAncestor,
11453 deletedFiber
11454 );
11455 offscreenSubtreeWasHidden = prevHostParent;
11456 break;
11457 case 30:
11458 deletedFiber.flags & 18874368 && untrackNamedViewTransition(deletedFiber);
11459 safelyDetachRef(deletedFiber, nearestMountedAncestor);
11460 recursivelyTraverseDeletionEffects(
11461 finishedRoot,
11462 nearestMountedAncestor,
11463 deletedFiber
11464 );
11465 break;
11466 case 7:
11467 offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
11468 recursivelyTraverseDeletionEffects(
11469 finishedRoot,
11470 nearestMountedAncestor,
11471 deletedFiber
11472 );
11473 break;
11474 default:
11475 recursivelyTraverseDeletionEffects(
11476 finishedRoot,
11477 nearestMountedAncestor,
11478 deletedFiber
11479 );
11480 }
11481 (deletedFiber.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
11482 deletedFiber,
11483 componentEffectStartTime,
11484 componentEffectEndTime,
11485 componentEffectDuration,
11486 componentEffectErrors
11487 );
11488 popComponentEffectStart(prevEffectStart);
11489 popComponentEffectDuration(prevEffectDuration);
11490 componentEffectErrors = prevEffectErrors;
11491 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
11492 }
11493 function commitActivityHydrationCallbacks(finishedRoot, finishedWork) {
11494 if (null === finishedWork.memoizedState && (finishedRoot = finishedWork.alternate, null !== finishedRoot && (finishedRoot = finishedRoot.memoizedState, null !== finishedRoot))) {
11495 finishedRoot = finishedRoot.dehydrated;
11496 try {
11497 runWithFiberInDEV(
11498 finishedWork,
11499 commitHydratedActivityInstance,
11500 finishedRoot
11501 );
11502 } catch (error) {
11503 captureCommitPhaseError(finishedWork, finishedWork.return, error);
11504 }
11505 }
11506 }
11507 function commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {
11508 if (null === finishedWork.memoizedState && (finishedRoot = finishedWork.alternate, null !== finishedRoot && (finishedRoot = finishedRoot.memoizedState, null !== finishedRoot && (finishedRoot = finishedRoot.dehydrated, null !== finishedRoot))))
11509 try {
11510 runWithFiberInDEV(
11511 finishedWork,
11512 commitHydratedSuspenseInstance,
11513 finishedRoot
11514 );
11515 } catch (error) {
11516 captureCommitPhaseError(finishedWork, finishedWork.return, error);
11517 }
11518 }
11519 function getRetryCache(finishedWork) {
11520 switch (finishedWork.tag) {
11521 case 31:
11522 case 13:
11523 case 19:
11524 var retryCache = finishedWork.stateNode;
11525 null === retryCache && (retryCache = finishedWork.stateNode = new PossiblyWeakSet());
11526 return retryCache;
11527 case 22:
11528 return finishedWork = finishedWork.stateNode, retryCache = finishedWork._retryCache, null === retryCache && (retryCache = finishedWork._retryCache = new PossiblyWeakSet()), retryCache;
11529 default:
11530 throw Error(
11531 "Unexpected Suspense handler tag (" + finishedWork.tag + "). This is a bug in React."
11532 );
11533 }
11534 }
11535 function attachSuspenseRetryListeners(finishedWork, wakeables) {
11536 var retryCache = getRetryCache(finishedWork);
11537 wakeables.forEach(function(wakeable) {
11538 if (!retryCache.has(wakeable)) {
11539 retryCache.add(wakeable);
11540 if (isDevToolsPresent)
11541 if (null !== inProgressLanes && null !== inProgressRoot)
11542 restorePendingUpdaters(inProgressRoot, inProgressLanes);
11543 else
11544 throw Error(
11545 "Expected finished root and lanes to be set. This is a bug in React."
11546 );
11547 var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);
11548 wakeable.then(retry, retry);
11549 }
11550 });
11551 }
11552 function recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber, lanes) {
11553 var deletions = parentFiber.deletions;
11554 if (null !== deletions)
11555 for (var i = 0; i < deletions.length; i++) {
11556 var root2 = root$jscomp$0, returnFiber = parentFiber, deletedFiber = deletions[i], prevEffectStart = pushComponentEffectStart(), parent = returnFiber;
11557 a: for (; null !== parent; ) {
11558 switch (parent.tag) {
11559 case 27:
11560 if (isSingletonScope(parent.type)) {
11561 hostParent = parent.stateNode;
11562 hostParentIsContainer = false;
11563 break a;
11564 }
11565 break;
11566 case 5:
11567 hostParent = parent.stateNode;
11568 hostParentIsContainer = false;
11569 break a;
11570 case 3:
11571 case 4:
11572 hostParent = parent.stateNode.containerInfo;
11573 hostParentIsContainer = true;
11574 break a;
11575 }
11576 parent = parent.return;
11577 }
11578 if (null === hostParent)
11579 throw Error(
11580 "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue."
11581 );
11582 commitDeletionEffectsOnFiber(root2, returnFiber, deletedFiber);
11583 hostParent = null;
11584 hostParentIsContainer = false;
11585 (deletedFiber.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(
11586 deletedFiber,
11587 componentEffectStartTime,
11588 componentEffectEndTime,
11589 "Unmount"
11590 );
11591 popComponentEffectStart(prevEffectStart);
11592 root2 = deletedFiber;
11593 returnFiber = root2.alternate;
11594 null !== returnFiber && (returnFiber.return = null);
11595 root2.return = null;
11596 }
11597 if (parentFiber.subtreeFlags & 13886)
11598 for (parentFiber = parentFiber.child; null !== parentFiber; )
11599 commitMutationEffectsOnFiber(parentFiber, root$jscomp$0, lanes), parentFiber = parentFiber.sibling;
11600 }
11601 function commitMutationEffectsOnFiber(finishedWork, root2, lanes) {
11602 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), current2 = finishedWork.alternate, flags = finishedWork.flags;
11603 switch (finishedWork.tag) {
11604 case 0:
11605 case 11:
11606 case 14:
11607 case 15:
11608 if (flags & 4 && (current2 = finishedWork.updateQueue, current2 = null !== current2 ? current2.events : null, null !== current2))
11609 for (var ii = 0; ii < current2.length; ii++) {
11610 var _eventPayloads$ii2 = current2[ii];
11611 _eventPayloads$ii2.ref.impl = _eventPayloads$ii2.nextImpl;
11612 }
11613 recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
11614 commitReconciliationEffects(finishedWork);
11615 flags & 4 && (commitHookEffectListUnmount(
11616 Insertion | HasEffect,
11617 finishedWork,
11618 finishedWork.return
11619 ), commitHookEffectListMount(Insertion | HasEffect, finishedWork), commitHookLayoutUnmountEffects(
11620 finishedWork,
11621 finishedWork.return,
11622 Layout | HasEffect
11623 ));
11624 break;
11625 case 1:
11626 recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
11627 commitReconciliationEffects(finishedWork);
11628 flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return));
11629 flags & 64 && offscreenSubtreeIsHidden && (root2 = finishedWork.updateQueue, null !== root2 && (lanes = root2.callbacks, null !== lanes && (flags = root2.shared.hiddenCallbacks, root2.shared.hiddenCallbacks = null === flags ? lanes : flags.concat(lanes))));
11630 break;
11631 case 26:
11632 ii = currentHoistableRoot;
11633 recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
11634 commitReconciliationEffects(finishedWork);
11635 flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return));
11636 if (flags & 4)
11637 if (flags = null !== current2 ? current2.memoizedState : null, lanes = finishedWork.memoizedState, null === current2)
11638 if (null === lanes)
11639 if (null === finishedWork.stateNode)
11640 if (offscreenSubtreeIsHidden)
11641 finishedWork.stateNode = createHoistableInstance(
11642 finishedWork.type,
11643 finishedWork.memoizedProps,
11644 root2.containerInfo,
11645 finishedWork
11646 );
11647 else {
11648 a: {
11649 root2 = finishedWork.type;
11650 lanes = finishedWork.memoizedProps;
11651 flags = ii.ownerDocument || ii;
11652 b: switch (root2) {
11653 case "title":
11654 current2 = flags.getElementsByTagName("title")[0];
11655 if (!current2 || current2[internalHoistableMarker] || current2[internalInstanceKey] || current2.namespaceURI === SVG_NAMESPACE || current2.hasAttribute("itemprop"))
11656 current2 = flags.createElement(root2), flags.head.insertBefore(
11657 current2,
11658 flags.querySelector("head > title")
11659 );
11660 setInitialProperties(current2, root2, lanes);
11661 current2[internalInstanceKey] = finishedWork;
11662 markNodeAsHoistable(current2);
11663 root2 = current2;
11664 break a;
11665 case "link":
11666 if (ii = getHydratableHoistableCache(
11667 "link",
11668 "href",
11669 flags
11670 ).get(root2 + (lanes.href || ""))) {
11671 for (_eventPayloads$ii2 = 0; _eventPayloads$ii2 < ii.length; _eventPayloads$ii2++)
11672 if (current2 = ii[_eventPayloads$ii2], current2.getAttribute("href") === (null == lanes.href || "" === lanes.href ? null : lanes.href) && current2.getAttribute("rel") === (null == lanes.rel ? null : lanes.rel) && current2.getAttribute("title") === (null == lanes.title ? null : lanes.title) && current2.getAttribute("crossorigin") === (null == lanes.crossOrigin ? null : lanes.crossOrigin)) {
11673 ii.splice(_eventPayloads$ii2, 1);
11674 break b;
11675 }
11676 }
11677 current2 = flags.createElement(root2);
11678 setInitialProperties(current2, root2, lanes);
11679 flags.head.appendChild(current2);
11680 break;
11681 case "meta":
11682 if (ii = getHydratableHoistableCache(
11683 "meta",
11684 "content",
11685 flags
11686 ).get(root2 + (lanes.content || ""))) {
11687 for (_eventPayloads$ii2 = 0; _eventPayloads$ii2 < ii.length; _eventPayloads$ii2++)
11688 if (current2 = ii[_eventPayloads$ii2], checkAttributeStringCoercion(
11689 lanes.content,
11690 "content"
11691 ), current2.getAttribute("content") === (null == lanes.content ? null : "" + lanes.content) && current2.getAttribute("name") === (null == lanes.name ? null : lanes.name) && current2.getAttribute("property") === (null == lanes.property ? null : lanes.property) && current2.getAttribute("http-equiv") === (null == lanes.httpEquiv ? null : lanes.httpEquiv) && current2.getAttribute("charset") === (null == lanes.charSet ? null : lanes.charSet)) {
11692 ii.splice(_eventPayloads$ii2, 1);
11693 break b;
11694 }
11695 }
11696 current2 = flags.createElement(root2);
11697 setInitialProperties(current2, root2, lanes);
11698 flags.head.appendChild(current2);
11699 break;
11700 default:
11701 throw Error(
11702 'getNodesForType encountered a type it did not expect: "' + root2 + '". This is a bug in React.'
11703 );
11704 }
11705 current2[internalInstanceKey] = finishedWork;
11706 markNodeAsHoistable(current2);
11707 root2 = current2;
11708 }
11709 finishedWork.stateNode = root2;
11710 }
11711 else
11712 offscreenSubtreeIsHidden || mountHoistable(
11713 ii,
11714 finishedWork.type,
11715 finishedWork.stateNode
11716 );
11717 else
11718 finishedWork.stateNode = acquireResource(
11719 ii,
11720 lanes,
11721 finishedWork.memoizedProps
11722 );
11723 else
11724 flags !== lanes ? (null === flags ? (root2 = current2.stateNode, null === root2 || offscreenSubtreeWasHidden || root2.parentNode.removeChild(root2)) : flags.count--, null === lanes ? offscreenSubtreeIsHidden || mountHoistable(
11725 ii,
11726 finishedWork.type,
11727 finishedWork.stateNode
11728 ) : acquireResource(ii, lanes, finishedWork.memoizedProps)) : null === lanes && null !== finishedWork.stateNode && commitHostUpdate(
11729 finishedWork,
11730 finishedWork.memoizedProps,
11731 current2.memoizedProps
11732 );
11733 break;
11734 case 27:
11735 recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
11736 commitReconciliationEffects(finishedWork);
11737 flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return));
11738 null !== current2 && flags & 4 && commitHostUpdate(
11739 finishedWork,
11740 finishedWork.memoizedProps,
11741 current2.memoizedProps
11742 );
11743 break;
11744 case 5:
11745 ii = offscreenDirectParentIsHidden;
11746 offscreenDirectParentIsHidden = false;
11747 recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
11748 offscreenDirectParentIsHidden = ii;
11749 commitReconciliationEffects(finishedWork);
11750 flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return));
11751 if (finishedWork.flags & 32) {
11752 root2 = finishedWork.stateNode;
11753 try {
11754 runWithFiberInDEV(finishedWork, resetTextContent, root2), viewTransitionMutationContext = true;
11755 } catch (error) {
11756 captureCommitPhaseError(finishedWork, finishedWork.return, error);
11757 }
11758 }
11759 flags & 4 && null != finishedWork.stateNode && (root2 = finishedWork.memoizedProps, commitHostUpdate(
11760 finishedWork,
11761 root2,
11762 null !== current2 ? current2.memoizedProps : root2
11763 ));
11764 flags & 1024 && (needsFormReset = true, "form" !== finishedWork.type && console.error(
11765 "Unexpected host component type. Expected a form. This is a bug in React."
11766 ));
11767 break;
11768 case 6:
11769 recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
11770 commitReconciliationEffects(finishedWork);
11771 if (flags & 4) {
11772 if (null === finishedWork.stateNode)
11773 throw Error(
11774 "This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue."
11775 );
11776 root2 = finishedWork.memoizedProps;
11777 lanes = null !== current2 ? current2.memoizedProps : root2;
11778 flags = finishedWork.stateNode;
11779 try {
11780 runWithFiberInDEV(
11781 finishedWork,
11782 commitTextUpdate,
11783 flags,
11784 lanes,
11785 root2
11786 ), viewTransitionMutationContext = true;
11787 } catch (error) {
11788 captureCommitPhaseError(finishedWork, finishedWork.return, error);
11789 }
11790 }
11791 break;
11792 case 3:
11793 ii = pushNestedEffectDurations();
11794 viewTransitionMutationContext = false;
11795 tagCaches = null;
11796 _eventPayloads$ii2 = currentHoistableRoot;
11797 currentHoistableRoot = getHoistableRoot(root2.containerInfo);
11798 recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
11799 currentHoistableRoot = _eventPayloads$ii2;
11800 commitReconciliationEffects(finishedWork);
11801 if (flags & 4 && null !== current2 && current2.memoizedState.isDehydrated)
11802 try {
11803 runWithFiberInDEV(
11804 finishedWork,
11805 commitHydratedContainer,
11806 root2.containerInfo
11807 );
11808 } catch (error) {
11809 captureCommitPhaseError(finishedWork, finishedWork.return, error);
11810 }
11811 needsFormReset && (needsFormReset = false, recursivelyResetForms(finishedWork));
11812 root2.effectDuration += popNestedEffectDurations(ii);
11813 viewTransitionMutationContext = false;
11814 break;
11815 case 4:
11816 flags = offscreenDirectParentIsHidden;
11817 offscreenDirectParentIsHidden = offscreenSubtreeIsHidden;
11818 current2 = pushMutationContext();
11819 ii = currentHoistableRoot;
11820 currentHoistableRoot = getHoistableRoot(
11821 finishedWork.stateNode.containerInfo
11822 );
11823 recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
11824 commitReconciliationEffects(finishedWork);
11825 currentHoistableRoot = ii;
11826 viewTransitionMutationContext && inUpdateViewTransition && (rootViewTransitionAffected = true);
11827 viewTransitionMutationContext = current2;
11828 offscreenDirectParentIsHidden = flags;
11829 break;
11830 case 12:
11831 flags = pushNestedEffectDurations();
11832 recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
11833 commitReconciliationEffects(finishedWork);
11834 finishedWork.stateNode.effectDuration += bubbleNestedEffectDurations(flags);
11835 break;
11836 case 31:
11837 recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
11838 commitReconciliationEffects(finishedWork);
11839 flags & 4 && (root2 = finishedWork.updateQueue, null !== root2 && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, root2)));
11840 break;
11841 case 13:
11842 recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
11843 commitReconciliationEffects(finishedWork);
11844 finishedWork.child.flags & 8192 && null !== finishedWork.memoizedState !== (null !== current2 && null !== current2.memoizedState) && (globalMostRecentFallbackTime = now$1());
11845 flags & 4 && (root2 = finishedWork.updateQueue, null !== root2 && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, root2)));
11846 break;
11847 case 22:
11848 ii = null !== finishedWork.memoizedState;
11849 _eventPayloads$ii2 = null !== current2 && null !== current2.memoizedState;
11850 var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden, prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden, _prevOffscreenDirectParentIsHidden2 = offscreenDirectParentIsHidden;
11851 offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || ii;
11852 offscreenDirectParentIsHidden = _prevOffscreenDirectParentIsHidden2 || ii;
11853 offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || _eventPayloads$ii2;
11854 recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
11855 offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;
11856 offscreenDirectParentIsHidden = _prevOffscreenDirectParentIsHidden2;
11857 offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;
11858 _eventPayloads$ii2 && !ii && !prevOffscreenSubtreeIsHidden && !prevOffscreenSubtreeWasHidden && (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentReappeared(
11859 finishedWork,
11860 componentEffectStartTime,
11861 componentEffectEndTime
11862 );
11863 commitReconciliationEffects(finishedWork);
11864 flags & 8192 && (root2 = finishedWork.stateNode, root2._visibility = ii ? root2._visibility & ~OffscreenVisible : root2._visibility | OffscreenVisible, !ii || null === current2 || _eventPayloads$ii2 || offscreenSubtreeIsHidden || offscreenSubtreeWasHidden || (root2 = IncludeHostSingletons, lanes = _eventPayloads$ii2 || offscreenSubtreeWasHidden, current2 = offscreenSubtreeIsHidden, _eventPayloads$ii2 = offscreenSubtreeWasHidden, offscreenSubtreeIsHidden = ii || offscreenSubtreeIsHidden, offscreenSubtreeWasHidden = lanes, recursivelyTraverseDisappearLayoutEffects(finishedWork, root2), (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(
11865 finishedWork,
11866 componentEffectStartTime,
11867 componentEffectEndTime,
11868 "Disconnect"
11869 ), offscreenSubtreeIsHidden = current2, offscreenSubtreeWasHidden = _eventPayloads$ii2), !ii && offscreenDirectParentIsHidden || hideOrUnhideAllChildren(finishedWork, ii));
11870 flags & 4 && (root2 = finishedWork.updateQueue, null !== root2 && (lanes = root2.retryQueue, null !== lanes && (root2.retryQueue = null, attachSuspenseRetryListeners(finishedWork, lanes))));
11871 break;
11872 case 19:
11873 recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
11874 commitReconciliationEffects(finishedWork);
11875 flags & 4 && (root2 = finishedWork.updateQueue, null !== root2 && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, root2)));
11876 break;
11877 case 30:
11878 flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return));
11879 flags = pushMutationContext();
11880 ii = inUpdateViewTransition;
11881 _eventPayloads$ii2 = (lanes & 335544064) === lanes;
11882 prevOffscreenSubtreeIsHidden = finishedWork.memoizedProps;
11883 inUpdateViewTransition = _eventPayloads$ii2 && "none" !== getViewTransitionClassName(
11884 prevOffscreenSubtreeIsHidden.default,
11885 prevOffscreenSubtreeIsHidden.update
11886 );
11887 recursivelyTraverseMutationEffects(root2, finishedWork, lanes);
11888 commitReconciliationEffects(finishedWork);
11889 _eventPayloads$ii2 && null !== current2 && viewTransitionMutationContext && (finishedWork.flags |= 4);
11890 inUpdateViewTransition = ii;
11891 viewTransitionMutationContext = flags;
11892 break;
11893 case 21:
11894 break;
11895 case 7:
11896 flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return)), current2 && null !== current2.stateNode && (current2.stateNode._fragmentFiber = finishedWork);
11897 default:
11898 recursivelyTraverseMutationEffects(root2, finishedWork, lanes), commitReconciliationEffects(finishedWork);
11899 }
11900 (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && ((componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
11901 finishedWork,
11902 componentEffectStartTime,
11903 componentEffectEndTime,
11904 componentEffectDuration,
11905 componentEffectErrors
11906 ), null === finishedWork.alternate && null !== finishedWork.return && null !== finishedWork.return.alternate && 0.05 < componentEffectEndTime - componentEffectStartTime && (isHydratingParent(
11907 finishedWork.return.alternate,
11908 finishedWork.return
11909 ) || logComponentTrigger(
11910 finishedWork,
11911 componentEffectStartTime,
11912 componentEffectEndTime,
11913 "Mount"
11914 )));
11915 popComponentEffectStart(prevEffectStart);
11916 popComponentEffectDuration(prevEffectDuration);
11917 componentEffectErrors = prevEffectErrors;
11918 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
11919 }
11920 function commitReconciliationEffects(finishedWork) {
11921 var flags = finishedWork.flags;
11922 if (flags & 2) {
11923 try {
11924 runWithFiberInDEV(finishedWork, commitPlacement, finishedWork);
11925 } catch (error) {
11926 captureCommitPhaseError(finishedWork, finishedWork.return, error);
11927 }
11928 finishedWork.flags &= -3;
11929 }
11930 flags & 4096 && (finishedWork.flags &= -4097);
11931 }
11932 function recursivelyResetForms(parentFiber) {
11933 if (parentFiber.subtreeFlags & 1024)
11934 for (parentFiber = parentFiber.child; null !== parentFiber; ) {
11935 var fiber = parentFiber;
11936 recursivelyResetForms(fiber);
11937 5 === fiber.tag && fiber.flags & 1024 && (fiber = fiber.stateNode, _enabled = true, fiber.reset(), _enabled = false);
11938 parentFiber = parentFiber.sibling;
11939 }
11940 }
11941 function recursivelyTraverseAfterMutationEffects(root2, parentFiber) {
11942 if (parentFiber.subtreeFlags & 9270)
11943 for (parentFiber = parentFiber.child; null !== parentFiber; )
11944 commitAfterMutationEffectsOnFiber(parentFiber, root2), parentFiber = parentFiber.sibling;
11945 else measureNestedViewTransitions(parentFiber, false);
11946 }
11947 function commitAfterMutationEffectsOnFiber(finishedWork, root2) {
11948 var current2 = finishedWork.alternate;
11949 if (null === current2) commitEnterViewTransitions(finishedWork, false);
11950 else
11951 switch (finishedWork.tag) {
11952 case 3:
11953 rootViewTransitionNameCanceled = viewTransitionContextChanged = false;
11954 pushViewTransitionCancelableScope();
11955 recursivelyTraverseAfterMutationEffects(root2, finishedWork);
11956 if (!viewTransitionContextChanged && !rootViewTransitionAffected) {
11957 finishedWork = viewTransitionCancelableChildren;
11958 if (null !== finishedWork)
11959 for (var i = 0; i < finishedWork.length; i += 3) {
11960 current2 = finishedWork[i];
11961 var oldName = finishedWork[i + 1];
11962 restoreViewTransitionName(current2, finishedWork[i + 2]);
11963 current2 = current2.ownerDocument.documentElement;
11964 null !== current2 && current2.animate(
11965 { opacity: [0, 0], pointerEvents: ["none", "none"] },
11966 {
11967 duration: 0,
11968 fill: "forwards",
11969 pseudoElement: "::view-transition-group(" + oldName + ")"
11970 }
11971 );
11972 }
11973 finishedWork = root2.containerInfo;
11974 finishedWork = 9 === finishedWork.nodeType ? finishedWork.documentElement : finishedWork.ownerDocument.documentElement;
11975 null !== finishedWork && "" === finishedWork.style.viewTransitionName && (finishedWork.style.viewTransitionName = "none", finishedWork.animate(
11976 { opacity: [0, 0], pointerEvents: ["none", "none"] },
11977 {
11978 duration: 0,
11979 fill: "forwards",
11980 pseudoElement: "::view-transition-group(root)"
11981 }
11982 ), finishedWork.animate(
11983 { width: [0, 0], height: [0, 0] },
11984 {
11985 duration: 0,
11986 fill: "forwards",
11987 pseudoElement: "::view-transition"
11988 }
11989 ));
11990 rootViewTransitionNameCanceled = true;
11991 }
11992 viewTransitionCancelableChildren = null;
11993 break;
11994 case 5:
11995 recursivelyTraverseAfterMutationEffects(root2, finishedWork);
11996 break;
11997 case 4:
11998 i = viewTransitionContextChanged;
11999 viewTransitionContextChanged = false;
12000 recursivelyTraverseAfterMutationEffects(root2, finishedWork);
12001 viewTransitionContextChanged && (rootViewTransitionAffected = true);
12002 viewTransitionContextChanged = i;
12003 break;
12004 case 22:
12005 null === finishedWork.memoizedState && (null !== current2.memoizedState ? commitEnterViewTransitions(finishedWork, false) : recursivelyTraverseAfterMutationEffects(root2, finishedWork));
12006 break;
12007 case 30:
12008 i = viewTransitionContextChanged;
12009 oldName = pushViewTransitionCancelableScope();
12010 viewTransitionContextChanged = false;
12011 recursivelyTraverseAfterMutationEffects(root2, finishedWork);
12012 viewTransitionContextChanged && (finishedWork.flags |= 4);
12013 var props = finishedWork.memoizedProps, state = finishedWork.stateNode;
12014 root2 = getViewTransitionName(props, state);
12015 state = getViewTransitionName(current2.memoizedProps, state);
12016 var className = getViewTransitionClassName(
12017 props.default,
12018 props.update
12019 );
12020 "none" === className ? root2 = false : (props = current2.memoizedState, current2.memoizedState = null, current2 = finishedWork.child, viewTransitionHostInstanceIdx = 0, root2 = measureViewTransitionHostInstancesRecursive(
12021 finishedWork,
12022 current2,
12023 root2,
12024 state,
12025 className,
12026 props,
12027 true
12028 ), viewTransitionHostInstanceIdx !== (null === props ? 0 : props.length) && (finishedWork.flags |= 32));
12029 0 !== (finishedWork.flags & 4) && root2 ? (scheduleViewTransitionEvent(
12030 finishedWork,
12031 finishedWork.memoizedProps.onUpdate
12032 ), viewTransitionCancelableChildren = oldName) : null !== oldName && (oldName.push.apply(oldName, viewTransitionCancelableChildren), viewTransitionCancelableChildren = oldName);
12033 viewTransitionContextChanged = 0 !== (finishedWork.flags & 32) ? true : i;
12034 break;
12035 default:
12036 recursivelyTraverseAfterMutationEffects(root2, finishedWork);
12037 }
12038 }
12039 function recursivelyTraverseLayoutEffects(root2, parentFiber) {
12040 if (parentFiber.subtreeFlags & 8772)
12041 for (parentFiber = parentFiber.child; null !== parentFiber; )
12042 commitLayoutEffectOnFiber(root2, parentFiber.alternate, parentFiber), parentFiber = parentFiber.sibling;
12043 }
12044 function disappearLayoutEffects(finishedWork, layoutEffectTraversalFlags) {
12045 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
12046 switch (finishedWork.tag) {
12047 case 0:
12048 case 11:
12049 case 14:
12050 case 15:
12051 commitHookLayoutUnmountEffects(
12052 finishedWork,
12053 finishedWork.return,
12054 Layout
12055 );
12056 recursivelyTraverseDisappearLayoutEffects(
12057 finishedWork,
12058 layoutEffectTraversalFlags
12059 );
12060 break;
12061 case 1:
12062 safelyDetachRef(finishedWork, finishedWork.return);
12063 var instance = finishedWork.stateNode;
12064 "function" === typeof instance.componentWillUnmount && safelyCallComponentWillUnmount(
12065 finishedWork,
12066 finishedWork.return,
12067 instance
12068 );
12069 recursivelyTraverseDisappearLayoutEffects(
12070 finishedWork,
12071 layoutEffectTraversalFlags
12072 );
12073 break;
12074 case 27:
12075 (layoutEffectTraversalFlags & IncludeHostSingletons) !== NoLayoutEffectTraversalFlags && runWithFiberInDEV(
12076 finishedWork,
12077 releaseSingletonInstance,
12078 finishedWork.stateNode,
12079 finishedWork.type,
12080 finishedWork.memoizedProps
12081 );
12082 case 5:
12083 safelyDetachRef(finishedWork, finishedWork.return);
12084 5 !== finishedWork.tag && 27 !== finishedWork.tag || commitFragmentInstanceDeletionEffects(finishedWork);
12085 recursivelyTraverseDisappearLayoutEffects(
12086 finishedWork,
12087 layoutEffectTraversalFlags
12088 );
12089 break;
12090 case 6:
12091 commitFragmentInstanceDeletionEffects(finishedWork);
12092 break;
12093 case 26:
12094 safelyDetachRef(finishedWork, finishedWork.return);
12095 instance = finishedWork.stateNode;
12096 null !== finishedWork.memoizedState || null === instance || offscreenSubtreeWasHidden || instance.parentNode.removeChild(instance);
12097 recursivelyTraverseDisappearLayoutEffects(
12098 finishedWork,
12099 layoutEffectTraversalFlags
12100 );
12101 break;
12102 case 22:
12103 null === finishedWork.memoizedState && recursivelyTraverseDisappearLayoutEffects(
12104 finishedWork,
12105 layoutEffectTraversalFlags
12106 );
12107 break;
12108 case 30:
12109 finishedWork.flags & 18874368 && untrackNamedViewTransition(finishedWork);
12110 safelyDetachRef(finishedWork, finishedWork.return);
12111 recursivelyTraverseDisappearLayoutEffects(
12112 finishedWork,
12113 layoutEffectTraversalFlags
12114 );
12115 break;
12116 case 7:
12117 safelyDetachRef(finishedWork, finishedWork.return);
12118 default:
12119 recursivelyTraverseDisappearLayoutEffects(
12120 finishedWork,
12121 layoutEffectTraversalFlags
12122 );
12123 }
12124 (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
12125 finishedWork,
12126 componentEffectStartTime,
12127 componentEffectEndTime,
12128 componentEffectDuration,
12129 componentEffectErrors
12130 );
12131 popComponentEffectStart(prevEffectStart);
12132 popComponentEffectDuration(prevEffectDuration);
12133 componentEffectErrors = prevEffectErrors;
12134 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
12135 }
12136 function recursivelyTraverseDisappearLayoutEffects(parentFiber, layoutEffectTraversalFlags) {
12137 for (parentFiber = parentFiber.child; null !== parentFiber; )
12138 disappearLayoutEffects(parentFiber, layoutEffectTraversalFlags), parentFiber = parentFiber.sibling;
12139 }
12140 function reappearLayoutEffects(finishedRoot, current2, finishedWork, layoutEffectTraversalFlags) {
12141 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), flags = finishedWork.flags, includeWorkInProgressEffects = (layoutEffectTraversalFlags & IncludeWorkInProgressEffects) !== NoLayoutEffectTraversalFlags;
12142 switch (finishedWork.tag) {
12143 case 0:
12144 case 11:
12145 case 15:
12146 recursivelyTraverseReappearLayoutEffects(
12147 finishedRoot,
12148 finishedWork,
12149 layoutEffectTraversalFlags
12150 );
12151 commitHookLayoutEffects(finishedWork, Layout);
12152 break;
12153 case 1:
12154 recursivelyTraverseReappearLayoutEffects(
12155 finishedRoot,
12156 finishedWork,
12157 layoutEffectTraversalFlags
12158 );
12159 current2 = finishedWork.stateNode;
12160 "function" === typeof current2.componentDidMount && runWithFiberInDEV(
12161 finishedWork,
12162 callComponentDidMountInDEV,
12163 finishedWork,
12164 current2
12165 );
12166 current2 = finishedWork.updateQueue;
12167 if (null !== current2) {
12168 finishedRoot = finishedWork.stateNode;
12169 try {
12170 runWithFiberInDEV(
12171 finishedWork,
12172 commitHiddenCallbacks,
12173 current2,
12174 finishedRoot
12175 );
12176 } catch (error) {
12177 captureCommitPhaseError(finishedWork, finishedWork.return, error);
12178 }
12179 }
12180 includeWorkInProgressEffects && flags & 64 && commitClassCallbacks(finishedWork);
12181 safelyAttachRef(finishedWork, finishedWork.return);
12182 break;
12183 case 27:
12184 (layoutEffectTraversalFlags & IncludeHostSingletons) !== NoLayoutEffectTraversalFlags && commitHostSingletonAcquisition(finishedWork);
12185 case 5:
12186 5 !== finishedWork.tag && 27 !== finishedWork.tag || commitFragmentInstanceInsertionEffects(finishedWork);
12187 recursivelyTraverseReappearLayoutEffects(
12188 finishedRoot,
12189 finishedWork,
12190 layoutEffectTraversalFlags
12191 );
12192 includeWorkInProgressEffects && null === current2 && flags & 4 && commitHostMount(finishedWork);
12193 safelyAttachRef(finishedWork, finishedWork.return);
12194 break;
12195 case 6:
12196 commitFragmentInstanceInsertionEffects(finishedWork);
12197 break;
12198 case 26:
12199 var instance = finishedWork.stateNode;
12200 null !== finishedWork.memoizedState || null === instance || offscreenSubtreeIsHidden || mountHoistable(
12201 getHoistableRoot(instance.ownerDocument),
12202 finishedWork.type,
12203 instance
12204 );
12205 recursivelyTraverseReappearLayoutEffects(
12206 finishedRoot,
12207 finishedWork,
12208 layoutEffectTraversalFlags
12209 );
12210 includeWorkInProgressEffects && null === current2 && flags & 4 && commitHostMount(finishedWork);
12211 safelyAttachRef(finishedWork, finishedWork.return);
12212 break;
12213 case 12:
12214 if (includeWorkInProgressEffects && flags & 4) {
12215 flags = pushNestedEffectDurations();
12216 recursivelyTraverseReappearLayoutEffects(
12217 finishedRoot,
12218 finishedWork,
12219 layoutEffectTraversalFlags
12220 );
12221 includeWorkInProgressEffects = finishedWork.stateNode;
12222 includeWorkInProgressEffects.effectDuration += bubbleNestedEffectDurations(flags);
12223 try {
12224 runWithFiberInDEV(
12225 finishedWork,
12226 commitProfiler,
12227 finishedWork,
12228 current2,
12229 commitStartTime,
12230 includeWorkInProgressEffects.effectDuration
12231 );
12232 } catch (error) {
12233 captureCommitPhaseError(finishedWork, finishedWork.return, error);
12234 }
12235 } else
12236 recursivelyTraverseReappearLayoutEffects(
12237 finishedRoot,
12238 finishedWork,
12239 layoutEffectTraversalFlags
12240 );
12241 break;
12242 case 31:
12243 recursivelyTraverseReappearLayoutEffects(
12244 finishedRoot,
12245 finishedWork,
12246 layoutEffectTraversalFlags
12247 );
12248 includeWorkInProgressEffects && flags & 4 && commitActivityHydrationCallbacks(finishedRoot, finishedWork);
12249 break;
12250 case 13:
12251 recursivelyTraverseReappearLayoutEffects(
12252 finishedRoot,
12253 finishedWork,
12254 layoutEffectTraversalFlags
12255 );
12256 includeWorkInProgressEffects && flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);
12257 break;
12258 case 22:
12259 null === finishedWork.memoizedState && recursivelyTraverseReappearLayoutEffects(
12260 finishedRoot,
12261 finishedWork,
12262 layoutEffectTraversalFlags
12263 );
12264 safelyAttachRef(finishedWork, finishedWork.return);
12265 break;
12266 case 30:
12267 recursivelyTraverseReappearLayoutEffects(
12268 finishedRoot,
12269 finishedWork,
12270 layoutEffectTraversalFlags
12271 );
12272 flags & 18874368 && trackNamedViewTransition(finishedWork);
12273 safelyAttachRef(finishedWork, finishedWork.return);
12274 break;
12275 case 7:
12276 safelyAttachRef(finishedWork, finishedWork.return);
12277 default:
12278 recursivelyTraverseReappearLayoutEffects(
12279 finishedRoot,
12280 finishedWork,
12281 layoutEffectTraversalFlags
12282 );
12283 }
12284 (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
12285 finishedWork,
12286 componentEffectStartTime,
12287 componentEffectEndTime,
12288 componentEffectDuration,
12289 componentEffectErrors
12290 );
12291 popComponentEffectStart(prevEffectStart);
12292 popComponentEffectDuration(prevEffectDuration);
12293 componentEffectErrors = prevEffectErrors;
12294 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
12295 }
12296 function recursivelyTraverseReappearLayoutEffects(finishedRoot, parentFiber, layoutEffectTraversalFlags) {
12297 layoutEffectTraversalFlags = 0 !== (parentFiber.subtreeFlags & 8772) ? layoutEffectTraversalFlags : layoutEffectTraversalFlags & ~IncludeWorkInProgressEffects;
12298 for (parentFiber = parentFiber.child; null !== parentFiber; )
12299 reappearLayoutEffects(
12300 finishedRoot,
12301 parentFiber.alternate,
12302 parentFiber,
12303 layoutEffectTraversalFlags
12304 ), parentFiber = parentFiber.sibling;
12305 }
12306 function commitOffscreenPassiveMountEffects(current2, finishedWork) {
12307 var previousCache = null;
12308 null !== current2 && null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (previousCache = current2.memoizedState.cachePool.pool);
12309 current2 = null;
12310 null !== finishedWork.memoizedState && null !== finishedWork.memoizedState.cachePool && (current2 = finishedWork.memoizedState.cachePool.pool);
12311 current2 !== previousCache && (null != current2 && retainCache(current2), null != previousCache && releaseCache(previousCache));
12312 }
12313 function commitCachePassiveMountEffect(current2, finishedWork) {
12314 current2 = null;
12315 null !== finishedWork.alternate && (current2 = finishedWork.alternate.memoizedState.cache);
12316 finishedWork = finishedWork.memoizedState.cache;
12317 finishedWork !== current2 && (retainCache(finishedWork), null != current2 && releaseCache(current2));
12318 }
12319 function recursivelyTraversePassiveMountEffects(root2, parentFiber, committedLanes, committedTransitions, endTime) {
12320 var isViewTransitionEligible = (committedLanes & 335544064) === committedLanes;
12321 if (parentFiber.subtreeFlags & (isViewTransitionEligible ? 10262 : 10256) || 0 !== parentFiber.actualDuration && (null === parentFiber.alternate || parentFiber.alternate.child !== parentFiber.child))
12322 for (parentFiber = parentFiber.child; null !== parentFiber; )
12323 isViewTransitionEligible = parentFiber.sibling, commitPassiveMountOnFiber(
12324 root2,
12325 parentFiber,
12326 committedLanes,
12327 committedTransitions,
12328 null !== isViewTransitionEligible ? isViewTransitionEligible.actualStartTime : endTime
12329 ), parentFiber = isViewTransitionEligible;
12330 else
12331 isViewTransitionEligible && restoreNestedViewTransitions(parentFiber);
12332 }
12333 function commitPassiveMountOnFiber(finishedRoot, finishedWork, committedLanes, committedTransitions, endTime) {
12334 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), prevDeepEquality = alreadyWarnedForDeepEquality, isViewTransitionEligible = (committedLanes & 335544064) === committedLanes;
12335 isViewTransitionEligible && null === finishedWork.alternate && null !== finishedWork.return && null !== finishedWork.return.alternate && restoreEnterOrExitViewTransitions(finishedWork);
12336 var flags = finishedWork.flags;
12337 switch (finishedWork.tag) {
12338 case 0:
12339 case 11:
12340 case 15:
12341 (finishedWork.mode & ProfileMode) !== NoMode && 0 < finishedWork.actualStartTime && 0 !== (finishedWork.flags & 1) && logComponentRender(
12342 finishedWork,
12343 finishedWork.actualStartTime,
12344 endTime,
12345 inHydratedSubtree,
12346 committedLanes
12347 );
12348 recursivelyTraversePassiveMountEffects(
12349 finishedRoot,
12350 finishedWork,
12351 committedLanes,
12352 committedTransitions,
12353 endTime
12354 );
12355 flags & 2048 && commitHookPassiveMountEffects(finishedWork, Passive | HasEffect);
12356 break;
12357 case 1:
12358 (finishedWork.mode & ProfileMode) !== NoMode && 0 < finishedWork.actualStartTime && (0 !== (finishedWork.flags & 128) ? logComponentErrored(
12359 finishedWork,
12360 finishedWork.actualStartTime,
12361 endTime,
12362 []
12363 ) : 0 !== (finishedWork.flags & 1) && logComponentRender(
12364 finishedWork,
12365 finishedWork.actualStartTime,
12366 endTime,
12367 inHydratedSubtree,
12368 committedLanes
12369 ));
12370 recursivelyTraversePassiveMountEffects(
12371 finishedRoot,
12372 finishedWork,
12373 committedLanes,
12374 committedTransitions,
12375 endTime
12376 );
12377 break;
12378 case 3:
12379 var prevProfilerEffectDuration = pushNestedEffectDurations(), wasInHydratedSubtree = inHydratedSubtree;
12380 inHydratedSubtree = null !== finishedWork.alternate && finishedWork.alternate.memoizedState.isDehydrated && 0 === (finishedWork.flags & 256);
12381 recursivelyTraversePassiveMountEffects(
12382 finishedRoot,
12383 finishedWork,
12384 committedLanes,
12385 committedTransitions,
12386 endTime
12387 );
12388 inHydratedSubtree = wasInHydratedSubtree;
12389 isViewTransitionEligible && rootViewTransitionNameCanceled && (committedLanes = finishedRoot.containerInfo, committedLanes = 9 === committedLanes.nodeType ? committedLanes.body : "HTML" === committedLanes.nodeName ? committedLanes.ownerDocument.body : committedLanes, "root" === committedLanes.style.viewTransitionName && (committedLanes.style.viewTransitionName = ""), committedLanes = committedLanes.ownerDocument.documentElement, null !== committedLanes && "none" === committedLanes.style.viewTransitionName && (committedLanes.style.viewTransitionName = ""));
12390 flags & 2048 && (committedLanes = null, null !== finishedWork.alternate && (committedLanes = finishedWork.alternate.memoizedState.cache), committedTransitions = finishedWork.memoizedState.cache, committedTransitions !== committedLanes && (retainCache(committedTransitions), null != committedLanes && releaseCache(committedLanes)));
12391 finishedRoot.passiveEffectDuration += popNestedEffectDurations(
12392 prevProfilerEffectDuration
12393 );
12394 break;
12395 case 12:
12396 if (flags & 2048) {
12397 flags = pushNestedEffectDurations();
12398 recursivelyTraversePassiveMountEffects(
12399 finishedRoot,
12400 finishedWork,
12401 committedLanes,
12402 committedTransitions,
12403 endTime
12404 );
12405 finishedRoot = finishedWork.stateNode;
12406 finishedRoot.passiveEffectDuration += bubbleNestedEffectDurations(flags);
12407 try {
12408 runWithFiberInDEV(
12409 finishedWork,
12410 commitProfilerPostCommitImpl,
12411 finishedWork,
12412 finishedWork.alternate,
12413 commitStartTime,
12414 finishedRoot.passiveEffectDuration
12415 );
12416 } catch (error) {
12417 captureCommitPhaseError(finishedWork, finishedWork.return, error);
12418 }
12419 } else
12420 recursivelyTraversePassiveMountEffects(
12421 finishedRoot,
12422 finishedWork,
12423 committedLanes,
12424 committedTransitions,
12425 endTime
12426 );
12427 break;
12428 case 31:
12429 flags = inHydratedSubtree;
12430 prevProfilerEffectDuration = null !== finishedWork.alternate ? finishedWork.alternate.memoizedState : null;
12431 isViewTransitionEligible = finishedWork.memoizedState;
12432 null !== prevProfilerEffectDuration && null === isViewTransitionEligible ? (isViewTransitionEligible = finishedWork.deletions, null !== isViewTransitionEligible && 0 < isViewTransitionEligible.length && 18 === isViewTransitionEligible[0].tag ? (inHydratedSubtree = false, prevProfilerEffectDuration = prevProfilerEffectDuration.hydrationErrors, null !== prevProfilerEffectDuration && logComponentErrored(
12433 finishedWork,
12434 finishedWork.actualStartTime,
12435 endTime,
12436 prevProfilerEffectDuration
12437 )) : inHydratedSubtree = true) : inHydratedSubtree = false;
12438 recursivelyTraversePassiveMountEffects(
12439 finishedRoot,
12440 finishedWork,
12441 committedLanes,
12442 committedTransitions,
12443 endTime
12444 );
12445 inHydratedSubtree = flags;
12446 break;
12447 case 13:
12448 flags = inHydratedSubtree;
12449 prevProfilerEffectDuration = null !== finishedWork.alternate ? finishedWork.alternate.memoizedState : null;
12450 isViewTransitionEligible = finishedWork.memoizedState;
12451 null === prevProfilerEffectDuration || null === prevProfilerEffectDuration.dehydrated || null !== isViewTransitionEligible && null !== isViewTransitionEligible.dehydrated ? inHydratedSubtree = false : (isViewTransitionEligible = finishedWork.deletions, null !== isViewTransitionEligible && 0 < isViewTransitionEligible.length && 18 === isViewTransitionEligible[0].tag ? (inHydratedSubtree = false, prevProfilerEffectDuration = prevProfilerEffectDuration.hydrationErrors, null !== prevProfilerEffectDuration && logComponentErrored(
12452 finishedWork,
12453 finishedWork.actualStartTime,
12454 endTime,
12455 prevProfilerEffectDuration
12456 )) : inHydratedSubtree = true);
12457 recursivelyTraversePassiveMountEffects(
12458 finishedRoot,
12459 finishedWork,
12460 committedLanes,
12461 committedTransitions,
12462 endTime
12463 );
12464 inHydratedSubtree = flags;
12465 break;
12466 case 23:
12467 break;
12468 case 22:
12469 wasInHydratedSubtree = finishedWork.stateNode;
12470 prevProfilerEffectDuration = finishedWork.alternate;
12471 null !== finishedWork.memoizedState ? (isViewTransitionEligible && null !== prevProfilerEffectDuration && null === prevProfilerEffectDuration.memoizedState && restoreEnterOrExitViewTransitions(prevProfilerEffectDuration), wasInHydratedSubtree._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraversePassiveMountEffects(
12472 finishedRoot,
12473 finishedWork,
12474 committedLanes,
12475 committedTransitions,
12476 endTime
12477 ) : recursivelyTraverseAtomicPassiveEffects(
12478 finishedRoot,
12479 finishedWork,
12480 committedLanes,
12481 committedTransitions,
12482 endTime
12483 )) : (isViewTransitionEligible && null !== prevProfilerEffectDuration && null !== prevProfilerEffectDuration.memoizedState && restoreEnterOrExitViewTransitions(finishedWork), wasInHydratedSubtree._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraversePassiveMountEffects(
12484 finishedRoot,
12485 finishedWork,
12486 committedLanes,
12487 committedTransitions,
12488 endTime
12489 ) : (wasInHydratedSubtree._visibility |= OffscreenPassiveEffectsConnected, recursivelyTraverseReconnectPassiveEffects(
12490 finishedRoot,
12491 finishedWork,
12492 committedLanes,
12493 committedTransitions,
12494 0 !== (finishedWork.subtreeFlags & 10256) || 0 !== finishedWork.actualDuration && (null === finishedWork.alternate || finishedWork.alternate.child !== finishedWork.child),
12495 endTime
12496 ), (finishedWork.mode & ProfileMode) === NoMode || inHydratedSubtree || (finishedRoot = finishedWork.actualStartTime, 0 <= finishedRoot && 0.05 < endTime - finishedRoot && logComponentReappeared(
12497 finishedWork,
12498 finishedRoot,
12499 endTime
12500 ), 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentReappeared(
12501 finishedWork,
12502 componentEffectStartTime,
12503 componentEffectEndTime
12504 ))));
12505 flags & 2048 && commitOffscreenPassiveMountEffects(
12506 prevProfilerEffectDuration,
12507 finishedWork
12508 );
12509 break;
12510 case 24:
12511 recursivelyTraversePassiveMountEffects(
12512 finishedRoot,
12513 finishedWork,
12514 committedLanes,
12515 committedTransitions,
12516 endTime
12517 );
12518 flags & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);
12519 break;
12520 case 30:
12521 isViewTransitionEligible && (flags = finishedWork.alternate, null !== flags && (restoreViewTransitionOnHostInstances(flags.child, true), restoreViewTransitionOnHostInstances(finishedWork.child, true)));
12522 recursivelyTraversePassiveMountEffects(
12523 finishedRoot,
12524 finishedWork,
12525 committedLanes,
12526 committedTransitions,
12527 endTime
12528 );
12529 break;
12530 default:
12531 recursivelyTraversePassiveMountEffects(
12532 finishedRoot,
12533 finishedWork,
12534 committedLanes,
12535 committedTransitions,
12536 endTime
12537 );
12538 }
12539 if ((finishedWork.mode & ProfileMode) !== NoMode) {
12540 if (finishedRoot = !inHydratedSubtree && null === finishedWork.alternate && null !== finishedWork.return && null !== finishedWork.return.alternate)
12541 committedLanes = finishedWork.actualStartTime, 0 <= committedLanes && 0.05 < endTime - committedLanes && logComponentTrigger(
12542 finishedWork,
12543 committedLanes,
12544 endTime,
12545 "Mount"
12546 );
12547 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && ((componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
12548 finishedWork,
12549 componentEffectStartTime,
12550 componentEffectEndTime,
12551 componentEffectDuration,
12552 componentEffectErrors
12553 ), finishedRoot && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(
12554 finishedWork,
12555 componentEffectStartTime,
12556 componentEffectEndTime,
12557 "Mount"
12558 ));
12559 }
12560 popComponentEffectStart(prevEffectStart);
12561 popComponentEffectDuration(prevEffectDuration);
12562 componentEffectErrors = prevEffectErrors;
12563 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
12564 alreadyWarnedForDeepEquality = prevDeepEquality;
12565 }
12566 function recursivelyTraverseReconnectPassiveEffects(finishedRoot, parentFiber, committedLanes, committedTransitions, includeWorkInProgressEffects, endTime) {
12567 includeWorkInProgressEffects = includeWorkInProgressEffects && (0 !== (parentFiber.subtreeFlags & 10256) || 0 !== parentFiber.actualDuration && (null === parentFiber.alternate || parentFiber.alternate.child !== parentFiber.child));
12568 for (parentFiber = parentFiber.child; null !== parentFiber; ) {
12569 var nextSibling = parentFiber.sibling;
12570 reconnectPassiveEffects(
12571 finishedRoot,
12572 parentFiber,
12573 committedLanes,
12574 committedTransitions,
12575 includeWorkInProgressEffects,
12576 null !== nextSibling ? nextSibling.actualStartTime : endTime
12577 );
12578 parentFiber = nextSibling;
12579 }
12580 }
12581 function reconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects, endTime) {
12582 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), prevDeepEquality = alreadyWarnedForDeepEquality;
12583 includeWorkInProgressEffects && (finishedWork.mode & ProfileMode) !== NoMode && 0 < finishedWork.actualStartTime && 0 !== (finishedWork.flags & 1) && logComponentRender(
12584 finishedWork,
12585 finishedWork.actualStartTime,
12586 endTime,
12587 inHydratedSubtree,
12588 committedLanes
12589 );
12590 var flags = finishedWork.flags;
12591 switch (finishedWork.tag) {
12592 case 0:
12593 case 11:
12594 case 15:
12595 recursivelyTraverseReconnectPassiveEffects(
12596 finishedRoot,
12597 finishedWork,
12598 committedLanes,
12599 committedTransitions,
12600 includeWorkInProgressEffects,
12601 endTime
12602 );
12603 commitHookPassiveMountEffects(finishedWork, Passive);
12604 break;
12605 case 23:
12606 break;
12607 case 22:
12608 var _instance4 = finishedWork.stateNode;
12609 null !== finishedWork.memoizedState ? _instance4._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraverseReconnectPassiveEffects(
12610 finishedRoot,
12611 finishedWork,
12612 committedLanes,
12613 committedTransitions,
12614 includeWorkInProgressEffects,
12615 endTime
12616 ) : recursivelyTraverseAtomicPassiveEffects(
12617 finishedRoot,
12618 finishedWork,
12619 committedLanes,
12620 committedTransitions,
12621 endTime
12622 ) : (_instance4._visibility |= OffscreenPassiveEffectsConnected, recursivelyTraverseReconnectPassiveEffects(
12623 finishedRoot,
12624 finishedWork,
12625 committedLanes,
12626 committedTransitions,
12627 includeWorkInProgressEffects,
12628 endTime
12629 ));
12630 includeWorkInProgressEffects && flags & 2048 && commitOffscreenPassiveMountEffects(
12631 finishedWork.alternate,
12632 finishedWork
12633 );
12634 break;
12635 case 24:
12636 recursivelyTraverseReconnectPassiveEffects(
12637 finishedRoot,
12638 finishedWork,
12639 committedLanes,
12640 committedTransitions,
12641 includeWorkInProgressEffects,
12642 endTime
12643 );
12644 includeWorkInProgressEffects && flags & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);
12645 break;
12646 default:
12647 recursivelyTraverseReconnectPassiveEffects(
12648 finishedRoot,
12649 finishedWork,
12650 committedLanes,
12651 committedTransitions,
12652 includeWorkInProgressEffects,
12653 endTime
12654 );
12655 }
12656 (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
12657 finishedWork,
12658 componentEffectStartTime,
12659 componentEffectEndTime,
12660 componentEffectDuration,
12661 componentEffectErrors
12662 );
12663 popComponentEffectStart(prevEffectStart);
12664 popComponentEffectDuration(prevEffectDuration);
12665 componentEffectErrors = prevEffectErrors;
12666 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
12667 alreadyWarnedForDeepEquality = prevDeepEquality;
12668 }
12669 function recursivelyTraverseAtomicPassiveEffects(finishedRoot$jscomp$0, parentFiber, committedLanes$jscomp$0, committedTransitions$jscomp$0, endTime$jscomp$0) {
12670 if (parentFiber.subtreeFlags & 10256 || 0 !== parentFiber.actualDuration && (null === parentFiber.alternate || parentFiber.alternate.child !== parentFiber.child))
12671 for (var child = parentFiber.child; null !== child; ) {
12672 parentFiber = child.sibling;
12673 var finishedRoot = finishedRoot$jscomp$0, committedLanes = committedLanes$jscomp$0, committedTransitions = committedTransitions$jscomp$0, endTime = null !== parentFiber ? parentFiber.actualStartTime : endTime$jscomp$0, prevDeepEquality = alreadyWarnedForDeepEquality;
12674 (child.mode & ProfileMode) !== NoMode && 0 < child.actualStartTime && 0 !== (child.flags & 1) && logComponentRender(
12675 child,
12676 child.actualStartTime,
12677 endTime,
12678 inHydratedSubtree,
12679 committedLanes
12680 );
12681 var flags = child.flags;
12682 switch (child.tag) {
12683 case 22:
12684 recursivelyTraverseAtomicPassiveEffects(
12685 finishedRoot,
12686 child,
12687 committedLanes,
12688 committedTransitions,
12689 endTime
12690 );
12691 flags & 2048 && commitOffscreenPassiveMountEffects(child.alternate, child);
12692 break;
12693 case 24:
12694 recursivelyTraverseAtomicPassiveEffects(
12695 finishedRoot,
12696 child,
12697 committedLanes,
12698 committedTransitions,
12699 endTime
12700 );
12701 flags & 2048 && commitCachePassiveMountEffect(child.alternate, child);
12702 break;
12703 default:
12704 recursivelyTraverseAtomicPassiveEffects(
12705 finishedRoot,
12706 child,
12707 committedLanes,
12708 committedTransitions,
12709 endTime
12710 );
12711 }
12712 alreadyWarnedForDeepEquality = prevDeepEquality;
12713 child = parentFiber;
12714 }
12715 }
12716 function recursivelyAccumulateSuspenseyCommit(parentFiber, committedLanes, suspendedState) {
12717 if (parentFiber.subtreeFlags & suspenseyCommitFlag)
12718 for (parentFiber = parentFiber.child; null !== parentFiber; )
12719 accumulateSuspenseyCommitOnFiber(
12720 parentFiber,
12721 committedLanes,
12722 suspendedState
12723 ), parentFiber = parentFiber.sibling;
12724 }
12725 function accumulateSuspenseyCommitOnFiber(fiber, committedLanes, suspendedState) {
12726 switch (fiber.tag) {
12727 case 26:
12728 recursivelyAccumulateSuspenseyCommit(
12729 fiber,
12730 committedLanes,
12731 suspendedState
12732 );
12733 fiber.flags & suspenseyCommitFlag && (null !== fiber.memoizedState ? suspendResource(
12734 suspendedState,
12735 currentHoistableRoot,
12736 fiber.memoizedState,
12737 fiber.memoizedProps
12738 ) : (fiber = fiber.stateNode, (committedLanes & 335544128) === committedLanes && suspendInstance(suspendedState, fiber)));
12739 break;
12740 case 5:
12741 recursivelyAccumulateSuspenseyCommit(
12742 fiber,
12743 committedLanes,
12744 suspendedState
12745 );
12746 fiber.flags & suspenseyCommitFlag && (fiber = fiber.stateNode, (committedLanes & 335544128) === committedLanes && suspendInstance(suspendedState, fiber));
12747 break;
12748 case 3:
12749 case 4:
12750 var previousHoistableRoot = currentHoistableRoot;
12751 currentHoistableRoot = getHoistableRoot(
12752 fiber.stateNode.containerInfo
12753 );
12754 recursivelyAccumulateSuspenseyCommit(
12755 fiber,
12756 committedLanes,
12757 suspendedState
12758 );
12759 currentHoistableRoot = previousHoistableRoot;
12760 break;
12761 case 22:
12762 null === fiber.memoizedState && (previousHoistableRoot = fiber.alternate, null !== previousHoistableRoot && null !== previousHoistableRoot.memoizedState ? (previousHoistableRoot = suspenseyCommitFlag, suspenseyCommitFlag = 16777216, recursivelyAccumulateSuspenseyCommit(
12763 fiber,
12764 committedLanes,
12765 suspendedState
12766 ), suspenseyCommitFlag = previousHoistableRoot) : recursivelyAccumulateSuspenseyCommit(
12767 fiber,
12768 committedLanes,
12769 suspendedState
12770 ));
12771 break;
12772 case 30:
12773 if (0 !== (fiber.flags & suspenseyCommitFlag) && (previousHoistableRoot = fiber.memoizedProps.name, null != previousHoistableRoot && "auto" !== previousHoistableRoot)) {
12774 var state = fiber.stateNode;
12775 state.paired = null;
12776 null === appearingViewTransitions && (appearingViewTransitions = /* @__PURE__ */ new Map());
12777 appearingViewTransitions.set(previousHoistableRoot, state);
12778 }
12779 recursivelyAccumulateSuspenseyCommit(
12780 fiber,
12781 committedLanes,
12782 suspendedState
12783 );
12784 break;
12785 default:
12786 recursivelyAccumulateSuspenseyCommit(
12787 fiber,
12788 committedLanes,
12789 suspendedState
12790 );
12791 }
12792 }
12793 function detachAlternateSiblings(parentFiber) {
12794 var previousFiber = parentFiber.alternate;
12795 if (null !== previousFiber && (parentFiber = previousFiber.child, null !== parentFiber)) {
12796 previousFiber.child = null;
12797 do
12798 previousFiber = parentFiber.sibling, parentFiber.sibling = null, parentFiber = previousFiber;
12799 while (null !== parentFiber);
12800 }
12801 }
12802 function recursivelyTraversePassiveUnmountEffects(parentFiber) {
12803 var deletions = parentFiber.deletions;
12804 if (0 !== (parentFiber.flags & 16)) {
12805 if (null !== deletions)
12806 for (var i = 0; i < deletions.length; i++) {
12807 var childToDelete = deletions[i], prevEffectStart = pushComponentEffectStart();
12808 nextEffect = childToDelete;
12809 commitPassiveUnmountEffectsInsideOfDeletedTree_begin(
12810 childToDelete,
12811 parentFiber
12812 );
12813 (childToDelete.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(
12814 childToDelete,
12815 componentEffectStartTime,
12816 componentEffectEndTime,
12817 "Unmount"
12818 );
12819 popComponentEffectStart(prevEffectStart);
12820 }
12821 detachAlternateSiblings(parentFiber);
12822 }
12823 if (parentFiber.subtreeFlags & 10256)
12824 for (parentFiber = parentFiber.child; null !== parentFiber; )
12825 commitPassiveUnmountOnFiber(parentFiber), parentFiber = parentFiber.sibling;
12826 }
12827 function commitPassiveUnmountOnFiber(finishedWork) {
12828 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
12829 switch (finishedWork.tag) {
12830 case 0:
12831 case 11:
12832 case 15:
12833 recursivelyTraversePassiveUnmountEffects(finishedWork);
12834 finishedWork.flags & 2048 && commitHookPassiveUnmountEffects(
12835 finishedWork,
12836 finishedWork.return,
12837 Passive | HasEffect
12838 );
12839 break;
12840 case 3:
12841 var prevProfilerEffectDuration = pushNestedEffectDurations();
12842 recursivelyTraversePassiveUnmountEffects(finishedWork);
12843 finishedWork.stateNode.passiveEffectDuration += popNestedEffectDurations(prevProfilerEffectDuration);
12844 break;
12845 case 12:
12846 prevProfilerEffectDuration = pushNestedEffectDurations();
12847 recursivelyTraversePassiveUnmountEffects(finishedWork);
12848 finishedWork.stateNode.passiveEffectDuration += bubbleNestedEffectDurations(prevProfilerEffectDuration);
12849 break;
12850 case 22:
12851 prevProfilerEffectDuration = finishedWork.stateNode;
12852 null !== finishedWork.memoizedState && prevProfilerEffectDuration._visibility & OffscreenPassiveEffectsConnected && (null === finishedWork.return || 13 !== finishedWork.return.tag) ? (prevProfilerEffectDuration._visibility &= ~OffscreenPassiveEffectsConnected, recursivelyTraverseDisconnectPassiveEffects(finishedWork), (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(
12853 finishedWork,
12854 componentEffectStartTime,
12855 componentEffectEndTime,
12856 "Disconnect"
12857 )) : recursivelyTraversePassiveUnmountEffects(finishedWork);
12858 break;
12859 default:
12860 recursivelyTraversePassiveUnmountEffects(finishedWork);
12861 }
12862 (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
12863 finishedWork,
12864 componentEffectStartTime,
12865 componentEffectEndTime,
12866 componentEffectDuration,
12867 componentEffectErrors
12868 );
12869 popComponentEffectStart(prevEffectStart);
12870 popComponentEffectDuration(prevEffectDuration);
12871 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
12872 componentEffectErrors = prevEffectErrors;
12873 }
12874 function recursivelyTraverseDisconnectPassiveEffects(parentFiber) {
12875 var deletions = parentFiber.deletions;
12876 if (0 !== (parentFiber.flags & 16)) {
12877 if (null !== deletions)
12878 for (var i = 0; i < deletions.length; i++) {
12879 var childToDelete = deletions[i], prevEffectStart = pushComponentEffectStart();
12880 nextEffect = childToDelete;
12881 commitPassiveUnmountEffectsInsideOfDeletedTree_begin(
12882 childToDelete,
12883 parentFiber
12884 );
12885 (childToDelete.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(
12886 childToDelete,
12887 componentEffectStartTime,
12888 componentEffectEndTime,
12889 "Unmount"
12890 );
12891 popComponentEffectStart(prevEffectStart);
12892 }
12893 detachAlternateSiblings(parentFiber);
12894 }
12895 for (parentFiber = parentFiber.child; null !== parentFiber; )
12896 disconnectPassiveEffect(parentFiber), parentFiber = parentFiber.sibling;
12897 }
12898 function disconnectPassiveEffect(finishedWork) {
12899 var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
12900 switch (finishedWork.tag) {
12901 case 0:
12902 case 11:
12903 case 15:
12904 commitHookPassiveUnmountEffects(
12905 finishedWork,
12906 finishedWork.return,
12907 Passive
12908 );
12909 recursivelyTraverseDisconnectPassiveEffects(finishedWork);
12910 break;
12911 case 22:
12912 var instance = finishedWork.stateNode;
12913 instance._visibility & OffscreenPassiveEffectsConnected && (instance._visibility &= ~OffscreenPassiveEffectsConnected, recursivelyTraverseDisconnectPassiveEffects(finishedWork));
12914 break;
12915 default:
12916 recursivelyTraverseDisconnectPassiveEffects(finishedWork);
12917 }
12918 (finishedWork.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
12919 finishedWork,
12920 componentEffectStartTime,
12921 componentEffectEndTime,
12922 componentEffectDuration,
12923 componentEffectErrors
12924 );
12925 popComponentEffectStart(prevEffectStart);
12926 popComponentEffectDuration(prevEffectDuration);
12927 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
12928 componentEffectErrors = prevEffectErrors;
12929 }
12930 function commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot, nearestMountedAncestor$jscomp$0) {
12931 for (; null !== nextEffect; ) {
12932 var fiber = nextEffect, current2 = fiber, nearestMountedAncestor = nearestMountedAncestor$jscomp$0, prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
12933 switch (current2.tag) {
12934 case 0:
12935 case 11:
12936 case 15:
12937 commitHookPassiveUnmountEffects(
12938 current2,
12939 nearestMountedAncestor,
12940 Passive
12941 );
12942 break;
12943 case 23:
12944 case 22:
12945 null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (nearestMountedAncestor = current2.memoizedState.cachePool.pool, null != nearestMountedAncestor && retainCache(nearestMountedAncestor));
12946 break;
12947 case 24:
12948 releaseCache(current2.memoizedState.cache);
12949 }
12950 (current2.mode & ProfileMode) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(
12951 current2,
12952 componentEffectStartTime,
12953 componentEffectEndTime,
12954 componentEffectDuration,
12955 componentEffectErrors
12956 );
12957 popComponentEffectStart(prevEffectStart);
12958 popComponentEffectDuration(prevEffectDuration);
12959 componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
12960 componentEffectErrors = prevEffectErrors;
12961 current2 = fiber.child;
12962 if (null !== current2) current2.return = fiber, nextEffect = current2;
12963 else
12964 a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) {
12965 current2 = nextEffect;
12966 prevEffectStart = current2.sibling;
12967 prevEffectDuration = current2.return;
12968 detachFiberAfterEffects(current2);
12969 if (current2 === fiber) {
12970 nextEffect = null;
12971 break a;
12972 }
12973 if (null !== prevEffectStart) {
12974 prevEffectStart.return = prevEffectDuration;
12975 nextEffect = prevEffectStart;
12976 break a;
12977 }
12978 nextEffect = prevEffectDuration;
12979 }
12980 }
12981 }
12982 function onCommitRoot() {
12983 commitHooks.forEach(function(commitHook) {
12984 return commitHook();
12985 });
12986 }
12987 function isConcurrentActEnvironment() {
12988 var isReactActEnvironmentGlobal = "undefined" !== typeof IS_REACT_ACT_ENVIRONMENT ? IS_REACT_ACT_ENVIRONMENT : void 0;
12989 isReactActEnvironmentGlobal || null === ReactSharedInternals.actQueue || console.error(
12990 "The current testing environment is not configured to support act(...)"
12991 );
12992 return isReactActEnvironmentGlobal;
12993 }
12994 function requestUpdateLane(fiber) {
12995 if ((executionContext & RenderContext) !== NoContext && 0 !== workInProgressRootRenderLanes)
12996 return workInProgressRootRenderLanes & -workInProgressRootRenderLanes;
12997 var transition = ReactSharedInternals.T;
12998 if (null !== transition)
12999 return transition._updatedFibers || (transition._updatedFibers = /* @__PURE__ */ new Set()), transition._updatedFibers.add(fiber), null !== lastSuspendedFiber && resolveUpdatePriority() === DiscreteEventPriority && (lastSuspendedFiber = null), requestTransitionLane();
13000 fiber = resolveUpdatePriority();
13001 fiber === DiscreteEventPriority && (lastSuspendedFiber = null);
13002 return fiber;
13003 }
13004 function requestDeferredLane() {
13005 if (0 === workInProgressDeferredLane)
13006 if (0 === (workInProgressRootRenderLanes & 536870912) || isHydrating) {
13007 var lane = nextTransitionDeferredLane;
13008 nextTransitionDeferredLane <<= 1;
13009 0 === (nextTransitionDeferredLane & 3932160) && (nextTransitionDeferredLane = 262144);
13010 workInProgressDeferredLane = lane;
13011 } else workInProgressDeferredLane = 536870912;
13012 lane = suspenseHandlerStackCursor.current;
13013 null !== lane && (lane.flags |= 32);
13014 return workInProgressDeferredLane;
13015 }
13016 function scheduleViewTransitionEvent(fiber, callback) {
13017 if (null != callback) {
13018 var state = fiber.stateNode, instance = state.ref;
13019 null === instance && (instance = state.ref = createViewTransitionInstance(
13020 getViewTransitionName(fiber.memoizedProps, state)
13021 ));
13022 null === pendingViewTransitionEvents && (pendingViewTransitionEvents = []);
13023 pendingViewTransitionEvents.push(callback.bind(null, instance));
13024 }
13025 }
13026 function scheduleUpdateOnFiber(root2, fiber, lane) {
13027 isRunningInsertionEffect && console.error("useInsertionEffect must not schedule updates.");
13028 isFlushingPassiveEffects && (didScheduleUpdateDuringPassiveEffects = true);
13029 if (root2 === workInProgressRoot && (workInProgressSuspendedReason === SuspendedOnData || workInProgressSuspendedReason === SuspendedOnAction) || null !== root2.cancelPendingCommit)
13030 prepareFreshStack(root2, 0), markRootSuspended(
13031 root2,
13032 workInProgressRootRenderLanes,
13033 workInProgressDeferredLane,
13034 false
13035 );
13036 markRootUpdated$1(root2, lane);
13037 if ((executionContext & RenderContext) !== NoContext && root2 === workInProgressRoot) {
13038 if (isRendering)
13039 switch (fiber.tag) {
13040 case 0:
13041 case 11:
13042 case 15:
13043 root2 = workInProgress && getComponentNameFromFiber(workInProgress) || "Unknown";
13044 didWarnAboutUpdateInRenderForAnotherComponent.has(root2) || (didWarnAboutUpdateInRenderForAnotherComponent.add(root2), fiber = getComponentNameFromFiber(fiber) || "Unknown", console.error(
13045 "Cannot update a component (`%s`) while rendering a different component (`%s`). To locate the bad setState() call inside `%s`, follow the stack trace as described in https://react.dev/link/setstate-in-render",
13046 fiber,
13047 root2,
13048 root2
13049 ));
13050 break;
13051 case 1:
13052 didWarnAboutUpdateInRender || (console.error(
13053 "Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state."
13054 ), didWarnAboutUpdateInRender = true);
13055 }
13056 } else
13057 isDevToolsPresent && addFiberToLanesMap(root2, fiber, lane), warnIfUpdatesNotWrappedWithActDEV(fiber), root2 === workInProgressRoot && ((executionContext & RenderContext) === NoContext && (workInProgressRootInterleavedUpdatedLanes |= lane), workInProgressRootExitStatus === RootSuspendedWithDelay && markRootSuspended(
13058 root2,
13059 workInProgressRootRenderLanes,
13060 workInProgressDeferredLane,
13061 false
13062 )), ensureRootIsScheduled(root2);
13063 }
13064 function performWorkOnRoot(root2, lanes, forceSync) {
13065 if ((executionContext & (RenderContext | CommitContext)) !== NoContext)
13066 throw Error("Should not already be working.");
13067 if (0 !== workInProgressRootRenderLanes && null !== workInProgress) {
13068 var yieldedFiber = workInProgress, yieldEndTime = now$1();
13069 switch (yieldReason) {
13070 case SuspendedOnImmediate:
13071 case SuspendedOnData:
13072 var startTime = yieldStartTime;
13073 supportsUserTiming && ((yieldedFiber = yieldedFiber._debugTask) ? yieldedFiber.run(
13074 console.timeStamp.bind(
13075 console,
13076 "Suspended",
13077 startTime,
13078 yieldEndTime,
13079 COMPONENTS_TRACK,
13080 void 0,
13081 "primary-light"
13082 )
13083 ) : console.timeStamp(
13084 "Suspended",
13085 startTime,
13086 yieldEndTime,
13087 COMPONENTS_TRACK,
13088 void 0,
13089 "primary-light"
13090 ));
13091 break;
13092 case SuspendedOnAction:
13093 startTime = yieldStartTime;
13094 supportsUserTiming && ((yieldedFiber = yieldedFiber._debugTask) ? yieldedFiber.run(
13095 console.timeStamp.bind(
13096 console,
13097 "Action",
13098 startTime,
13099 yieldEndTime,
13100 COMPONENTS_TRACK,
13101 void 0,
13102 "primary-light"
13103 )
13104 ) : console.timeStamp(
13105 "Action",
13106 startTime,
13107 yieldEndTime,
13108 COMPONENTS_TRACK,
13109 void 0,
13110 "primary-light"
13111 ));
13112 break;
13113 default:
13114 supportsUserTiming && (yieldedFiber = yieldEndTime - yieldStartTime, 3 > yieldedFiber || console.timeStamp(
13115 "Blocked",
13116 yieldStartTime,
13117 yieldEndTime,
13118 COMPONENTS_TRACK,
13119 void 0,
13120 5 > yieldedFiber ? "primary-light" : 10 > yieldedFiber ? "primary" : 100 > yieldedFiber ? "primary-dark" : "error"
13121 ));
13122 }
13123 }
13124 startTime = (forceSync = !forceSync && 0 === (lanes & 127) && 0 === (lanes & root2.expiredLanes) || checkIfRootIsPrerendering(root2, lanes)) ? renderRootConcurrent(root2, lanes) : renderRootSync(root2, lanes, true);
13125 var renderWasConcurrent = forceSync;
13126 do {
13127 if (startTime === RootInProgress) {
13128 workInProgressRootIsPrerendering && !forceSync && markRootSuspended(root2, lanes, 0, false);
13129 lanes = workInProgressSuspendedReason;
13130 yieldStartTime = now();
13131 yieldReason = lanes;
13132 break;
13133 } else {
13134 yieldedFiber = now$1();
13135 yieldEndTime = root2.current.alternate;
13136 if (renderWasConcurrent && !isRenderConsistentWithExternalStores(yieldEndTime)) {
13137 setCurrentTrackFromLanes(lanes);
13138 yieldEndTime = renderStartTime;
13139 startTime = yieldedFiber;
13140 !supportsUserTiming || startTime <= yieldEndTime || (workInProgressUpdateTask ? workInProgressUpdateTask.run(
13141 console.timeStamp.bind(
13142 console,
13143 "Teared Render",
13144 yieldEndTime,
13145 startTime,
13146 currentTrack,
13147 LANES_TRACK_GROUP,
13148 "error"
13149 )
13150 ) : console.timeStamp(
13151 "Teared Render",
13152 yieldEndTime,
13153 startTime,
13154 currentTrack,
13155 LANES_TRACK_GROUP,
13156 "error"
13157 ));
13158 finalizeRender(lanes, yieldedFiber);
13159 startTime = renderRootSync(root2, lanes, false);
13160 renderWasConcurrent = false;
13161 continue;
13162 }
13163 if (startTime === RootErrored) {
13164 renderWasConcurrent = lanes;
13165 if (root2.errorRecoveryDisabledLanes & renderWasConcurrent)
13166 var errorRetryLanes = 0;
13167 else
13168 errorRetryLanes = root2.pendingLanes & -536870913, errorRetryLanes = 0 !== errorRetryLanes ? errorRetryLanes : errorRetryLanes & 536870912 ? 536870912 : 0;
13169 if (0 !== errorRetryLanes) {
13170 setCurrentTrackFromLanes(lanes);
13171 logErroredRenderPhase(
13172 renderStartTime,
13173 yieldedFiber,
13174 lanes,
13175 workInProgressUpdateTask
13176 );
13177 finalizeRender(lanes, yieldedFiber);
13178 lanes = errorRetryLanes;
13179 a: {
13180 yieldedFiber = root2;
13181 startTime = renderWasConcurrent;
13182 renderWasConcurrent = workInProgressRootConcurrentErrors;
13183 var wasRootDehydrated = yieldedFiber.current.memoizedState.isDehydrated;
13184 wasRootDehydrated && (prepareFreshStack(yieldedFiber, errorRetryLanes).flags |= 256);
13185 errorRetryLanes = renderRootSync(
13186 yieldedFiber,
13187 errorRetryLanes,
13188 false
13189 );
13190 if (errorRetryLanes !== RootErrored && errorRetryLanes !== RootSuspendedAtTheShell) {
13191 if (workInProgressRootDidAttachPingListener && !wasRootDehydrated) {
13192 yieldedFiber.errorRecoveryDisabledLanes |= startTime;
13193 workInProgressRootInterleavedUpdatedLanes |= startTime;
13194 startTime = RootSuspendedWithDelay;
13195 break a;
13196 }
13197 yieldedFiber = workInProgressRootRecoverableErrors;
13198 workInProgressRootRecoverableErrors = renderWasConcurrent;
13199 null !== yieldedFiber && (null === workInProgressRootRecoverableErrors ? workInProgressRootRecoverableErrors = yieldedFiber : workInProgressRootRecoverableErrors.push.apply(
13200 workInProgressRootRecoverableErrors,
13201 yieldedFiber
13202 ));
13203 }
13204 startTime = errorRetryLanes;
13205 }
13206 renderWasConcurrent = false;
13207 if (startTime !== RootErrored) continue;
13208 else yieldedFiber = now$1();
13209 }
13210 }
13211 if (startTime === RootFatalErrored) {
13212 setCurrentTrackFromLanes(lanes);
13213 logErroredRenderPhase(
13214 renderStartTime,
13215 yieldedFiber,
13216 lanes,
13217 workInProgressUpdateTask
13218 );
13219 finalizeRender(lanes, yieldedFiber);
13220 prepareFreshStack(root2, 0);
13221 markRootSuspended(root2, lanes, 0, true);
13222 break;
13223 }
13224 a: {
13225 forceSync = root2;
13226 switch (startTime) {
13227 case RootInProgress:
13228 case RootFatalErrored:
13229 throw Error("Root did not complete. This is a bug in React.");
13230 case RootSuspendedWithDelay:
13231 if ((lanes & 4194048) !== lanes && (lanes & 62914560) !== lanes)
13232 break;
13233 case RootSuspendedAtTheShell:
13234 setCurrentTrackFromLanes(lanes);
13235 logSuspendedRenderPhase(
13236 renderStartTime,
13237 yieldedFiber,
13238 lanes,
13239 workInProgressUpdateTask
13240 );
13241 finalizeRender(lanes, yieldedFiber);
13242 yieldEndTime = lanes;
13243 0 !== (yieldEndTime & 127) ? blockingSuspendedTime = yieldedFiber : 0 !== (yieldEndTime & 4194048) && (transitionSuspendedTime = yieldedFiber);
13244 markRootSuspended(
13245 forceSync,
13246 lanes,
13247 workInProgressDeferredLane,
13248 !workInProgressRootDidSkipSuspendedSiblings
13249 );
13250 break a;
13251 case RootErrored:
13252 workInProgressRootRecoverableErrors = null;
13253 break;
13254 case RootSuspended:
13255 case RootCompleted:
13256 break;
13257 default:
13258 throw Error("Unknown root exit status.");
13259 }
13260 if (null !== ReactSharedInternals.actQueue)
13261 completeRoot(
13262 forceSync,
13263 yieldEndTime,
13264 lanes,
13265 workInProgressRootRecoverableErrors,
13266 workInProgressTransitions,
13267 workInProgressRootDidIncludeRecursiveRenderUpdate,
13268 workInProgressDeferredLane,
13269 workInProgressRootInterleavedUpdatedLanes,
13270 workInProgressSuspendedRetryLanes,
13271 workInProgressRootDidSkipSuspendedSiblings,
13272 startTime,
13273 null,
13274 null,
13275 renderStartTime,
13276 yieldedFiber
13277 );
13278 else {
13279 if ((lanes & 62914560) === lanes && (renderWasConcurrent = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now$1(), 10 < renderWasConcurrent)) {
13280 markRootSuspended(
13281 forceSync,
13282 lanes,
13283 workInProgressDeferredLane,
13284 !workInProgressRootDidSkipSuspendedSiblings
13285 );
13286 if (0 !== getNextLanes(forceSync, 0, true)) break a;
13287 pendingEffectsLanes = lanes;
13288 forceSync.timeoutHandle = scheduleTimeout(
13289 completeRootWhenReady.bind(
13290 null,
13291 forceSync,
13292 yieldEndTime,
13293 workInProgressRootRecoverableErrors,
13294 workInProgressTransitions,
13295 workInProgressRootDidIncludeRecursiveRenderUpdate,
13296 lanes,
13297 workInProgressDeferredLane,
13298 workInProgressRootInterleavedUpdatedLanes,
13299 workInProgressSuspendedRetryLanes,
13300 workInProgressRootDidSkipSuspendedSiblings,
13301 startTime,
13302 "Throttled",
13303 renderStartTime,
13304 yieldedFiber
13305 ),
13306 renderWasConcurrent
13307 );
13308 break a;
13309 }
13310 completeRootWhenReady(
13311 forceSync,
13312 yieldEndTime,
13313 workInProgressRootRecoverableErrors,
13314 workInProgressTransitions,
13315 workInProgressRootDidIncludeRecursiveRenderUpdate,
13316 lanes,
13317 workInProgressDeferredLane,
13318 workInProgressRootInterleavedUpdatedLanes,
13319 workInProgressSuspendedRetryLanes,
13320 workInProgressRootDidSkipSuspendedSiblings,
13321 startTime,
13322 null,
13323 renderStartTime,
13324 yieldedFiber
13325 );
13326 }
13327 }
13328 }
13329 break;
13330 } while (1);
13331 ensureRootIsScheduled(root2);
13332 }
13333 function completeRootWhenReady(root2, finishedWork, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, lanes, spawnedLane, updatedLanes, suspendedRetryLanes, didSkipSuspendedSiblings, exitStatus, suspendedCommitReason, completedRenderStartTime, completedRenderEndTime) {
13334 root2.timeoutHandle = noTimeout;
13335 var subtreeFlags = finishedWork.subtreeFlags, isViewTransitionEligible = (lanes & 335544064) === lanes, suspendedState = null;
13336 if (isViewTransitionEligible || subtreeFlags & 8192 || 16785408 === (subtreeFlags & 16785408)) {
13337 if (suspendedState = {
13338 stylesheets: null,
13339 count: 0,
13340 imgCount: 0,
13341 imgBytes: 0,
13342 suspenseyImages: [],
13343 waitingForImages: true,
13344 waitingForViewTransition: false,
13345 unsuspend: noop$1
13346 }, appearingViewTransitions = null, accumulateSuspenseyCommitOnFiber(finishedWork, lanes, suspendedState), isViewTransitionEligible && (subtreeFlags = suspendedState, isViewTransitionEligible = root2.containerInfo, isViewTransitionEligible = (9 === isViewTransitionEligible.nodeType ? isViewTransitionEligible : isViewTransitionEligible.ownerDocument).__reactViewTransition, null != isViewTransitionEligible && (subtreeFlags.count++, subtreeFlags.waitingForViewTransition = true, subtreeFlags = onUnsuspend.bind(subtreeFlags), isViewTransitionEligible.finished.then(
13347 subtreeFlags,
13348 subtreeFlags
13349 ))), subtreeFlags = (lanes & 62914560) === lanes ? globalMostRecentFallbackTime - now$1() : (lanes & 4194048) === lanes ? globalMostRecentTransitionTime - now$1() : 0, subtreeFlags = waitForCommitToBeReady(suspendedState, subtreeFlags), null !== subtreeFlags) {
13350 pendingEffectsLanes = lanes;
13351 root2.cancelPendingCommit = subtreeFlags(
13352 completeRoot.bind(
13353 null,
13354 root2,
13355 finishedWork,
13356 lanes,
13357 recoverableErrors,
13358 transitions,
13359 didIncludeRenderPhaseUpdate,
13360 spawnedLane,
13361 updatedLanes,
13362 suspendedRetryLanes,
13363 didSkipSuspendedSiblings,
13364 exitStatus,
13365 suspendedState,
13366 suspendedState.waitingForViewTransition ? "Waiting for the previous Animation" : 0 < suspendedState.count ? 0 < suspendedState.imgCount ? "Suspended on CSS and Images" : "Suspended on CSS" : 1 === suspendedState.imgCount ? "Suspended on an Image" : 0 < suspendedState.imgCount ? "Suspended on Images" : null,
13367 completedRenderStartTime,
13368 completedRenderEndTime
13369 )
13370 );
13371 markRootSuspended(
13372 root2,
13373 lanes,
13374 spawnedLane,
13375 !didSkipSuspendedSiblings
13376 );
13377 return;
13378 }
13379 }
13380 completeRoot(
13381 root2,
13382 finishedWork,
13383 lanes,
13384 recoverableErrors,
13385 transitions,
13386 didIncludeRenderPhaseUpdate,
13387 spawnedLane,
13388 updatedLanes,
13389 suspendedRetryLanes,
13390 didSkipSuspendedSiblings,
13391 exitStatus,
13392 suspendedState,
13393 suspendedCommitReason,
13394 completedRenderStartTime,
13395 completedRenderEndTime
13396 );
13397 }
13398 function isRenderConsistentWithExternalStores(finishedWork) {
13399 for (var node = finishedWork; ; ) {
13400 var tag = node.tag;
13401 if ((0 === tag || 11 === tag || 15 === tag) && node.flags & 16384 && (tag = node.updateQueue, null !== tag && (tag = tag.stores, null !== tag)))
13402 for (var i = 0; i < tag.length; i++) {
13403 var check = tag[i], getSnapshot = check.getSnapshot;
13404 check = check.value;
13405 try {
13406 if (!objectIs(getSnapshot(), check)) return false;
13407 } catch (error) {
13408 return false;
13409 }
13410 }
13411 tag = node.child;
13412 if (node.subtreeFlags & 16384 && null !== tag)
13413 tag.return = node, node = tag;
13414 else {
13415 if (node === finishedWork) break;
13416 for (; null === node.sibling; ) {
13417 if (null === node.return || node.return === finishedWork) return true;
13418 node = node.return;
13419 }
13420 node.sibling.return = node.return;
13421 node = node.sibling;
13422 }
13423 }
13424 return true;
13425 }
13426 function markRootSuspended(root2, suspendedLanes, spawnedLane, didAttemptEntireTree) {
13427 suspendedLanes = getEntangledLanes(root2, suspendedLanes);
13428 suspendedLanes &= ~workInProgressRootPingedLanes;
13429 suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes;
13430 root2.suspendedLanes |= suspendedLanes;
13431 root2.pingedLanes &= ~suspendedLanes;
13432 didAttemptEntireTree && (root2.warmLanes |= suspendedLanes);
13433 didAttemptEntireTree = root2.expirationTimes;
13434 for (var lanes = suspendedLanes; 0 < lanes; ) {
13435 var index = 31 - clz32(lanes), lane = 1 << index;
13436 didAttemptEntireTree[index] = -1;
13437 lanes &= ~lane;
13438 }
13439 0 !== spawnedLane && markSpawnedDeferredLane(root2, spawnedLane, suspendedLanes);
13440 }
13441 function flushSyncWork$1() {
13442 return (executionContext & (RenderContext | CommitContext)) === NoContext ? (flushSyncWorkAcrossRoots_impl(0, false), false) : true;
13443 }
13444 function resetWorkInProgressStack() {
13445 if (null !== workInProgress) {
13446 if (workInProgressSuspendedReason === NotSuspended)
13447 var interruptedWork = workInProgress.return;
13448 else
13449 interruptedWork = workInProgress, resetContextDependencies(), resetHooksOnUnwind(interruptedWork), thenableState$1 = null, thenableIndexCounter$1 = 0, interruptedWork = workInProgress;
13450 for (; null !== interruptedWork; )
13451 unwindInterruptedWork(interruptedWork.alternate, interruptedWork), interruptedWork = interruptedWork.return;
13452 workInProgress = null;
13453 }
13454 }
13455 function finalizeRender(lanes, finalizationTime) {
13456 0 !== (lanes & 127) && (blockingClampTime = finalizationTime);
13457 0 !== (lanes & 4194048) && (transitionClampTime = finalizationTime);
13458 0 !== (lanes & 62914560) && (retryClampTime = finalizationTime);
13459 0 !== (lanes & 2080374784) && (idleClampTime = finalizationTime);
13460 }
13461 function prepareFreshStack(root2, lanes) {
13462 supportsUserTiming && (console.timeStamp(
13463 "Blocking Track",
13464 3e-3,
13465 3e-3,
13466 "Blocking",
13467 LANES_TRACK_GROUP,
13468 "primary-light"
13469 ), console.timeStamp(
13470 "Transition Track",
13471 3e-3,
13472 3e-3,
13473 "Transition",
13474 LANES_TRACK_GROUP,
13475 "primary-light"
13476 ), console.timeStamp(
13477 "Suspense Track",
13478 3e-3,
13479 3e-3,
13480 "Suspense",
13481 LANES_TRACK_GROUP,
13482 "primary-light"
13483 ), console.timeStamp(
13484 "Idle Track",
13485 3e-3,
13486 3e-3,
13487 "Idle",
13488 LANES_TRACK_GROUP,
13489 "primary-light"
13490 ));
13491 var previousRenderStartTime = renderStartTime;
13492 renderStartTime = now();
13493 if (0 !== workInProgressRootRenderLanes && 0 < previousRenderStartTime) {
13494 setCurrentTrackFromLanes(workInProgressRootRenderLanes);
13495 if (workInProgressRootExitStatus === RootSuspended || workInProgressRootExitStatus === RootSuspendedWithDelay)
13496 logSuspendedRenderPhase(
13497 previousRenderStartTime,
13498 renderStartTime,
13499 lanes,
13500 workInProgressUpdateTask
13501 );
13502 else {
13503 var endTime = renderStartTime, debugTask = workInProgressUpdateTask;
13504 if (supportsUserTiming && !(endTime <= previousRenderStartTime)) {
13505 var color = (lanes & 738197653) === lanes ? "tertiary-dark" : "primary-dark", label = (lanes & 536870912) === lanes ? "Prewarm" : (lanes & 201326741) === lanes ? "Interrupted Hydration" : "Interrupted Render";
13506 debugTask ? debugTask.run(
13507 console.timeStamp.bind(
13508 console,
13509 label,
13510 previousRenderStartTime,
13511 endTime,
13512 currentTrack,
13513 LANES_TRACK_GROUP,
13514 color
13515 )
13516 ) : console.timeStamp(
13517 label,
13518 previousRenderStartTime,
13519 endTime,
13520 currentTrack,
13521 LANES_TRACK_GROUP,
13522 color
13523 );
13524 }
13525 }
13526 finalizeRender(workInProgressRootRenderLanes, renderStartTime);
13527 }
13528 previousRenderStartTime = workInProgressUpdateTask;
13529 workInProgressUpdateTask = null;
13530 if (0 !== (lanes & 127)) {
13531 workInProgressUpdateTask = blockingUpdateTask;
13532 debugTask = 0 <= blockingUpdateTime && blockingUpdateTime < blockingClampTime ? blockingClampTime : blockingUpdateTime;
13533 endTime = 0 <= blockingEventTime && blockingEventTime < blockingClampTime ? blockingClampTime : blockingEventTime;
13534 color = 0 <= endTime ? endTime : 0 <= debugTask ? debugTask : renderStartTime;
13535 0 <= blockingSuspendedTime ? (setCurrentTrackFromLanes(2), logSuspendedWithDelayPhase(
13536 blockingSuspendedTime,
13537 color,
13538 lanes,
13539 previousRenderStartTime
13540 )) : 0 !== (animatingLanes & 127) && (setCurrentTrackFromLanes(2), logAnimatingPhase(blockingClampTime, color, animatingTask));
13541 previousRenderStartTime = debugTask;
13542 var eventTime = endTime, eventType = blockingEventType, eventIsRepeat = 0 < blockingEventRepeatTime, isSpawnedUpdate = blockingUpdateType === SPAWNED_UPDATE, isPingedUpdate = blockingUpdateType === PINGED_UPDATE;
13543 debugTask = renderStartTime;
13544 endTime = blockingUpdateTask;
13545 color = blockingUpdateMethodName;
13546 label = blockingUpdateComponentName;
13547 if (supportsUserTiming) {
13548 currentTrack = "Blocking";
13549 0 < previousRenderStartTime ? previousRenderStartTime > debugTask && (previousRenderStartTime = debugTask) : previousRenderStartTime = debugTask;
13550 0 < eventTime ? eventTime > previousRenderStartTime && (eventTime = previousRenderStartTime) : eventTime = previousRenderStartTime;
13551 if (null !== eventType && previousRenderStartTime > eventTime) {
13552 var color$jscomp$0 = eventIsRepeat ? "secondary-light" : "warning";
13553 endTime ? endTime.run(
13554 console.timeStamp.bind(
13555 console,
13556 eventIsRepeat ? "Consecutive" : "Event: " + eventType,
13557 eventTime,
13558 previousRenderStartTime,
13559 currentTrack,
13560 LANES_TRACK_GROUP,
13561 color$jscomp$0
13562 )
13563 ) : console.timeStamp(
13564 eventIsRepeat ? "Consecutive" : "Event: " + eventType,
13565 eventTime,
13566 previousRenderStartTime,
13567 currentTrack,
13568 LANES_TRACK_GROUP,
13569 color$jscomp$0
13570 );
13571 }
13572 debugTask > previousRenderStartTime && (eventTime = isSpawnedUpdate ? "error" : (lanes & 738197653) === lanes ? "tertiary-light" : "primary-light", isSpawnedUpdate = isPingedUpdate ? "Promise Resolved" : isSpawnedUpdate ? "Cascading Update" : 5 < debugTask - previousRenderStartTime ? "Update Blocked" : "Update", isPingedUpdate = [], null != label && isPingedUpdate.push(["Component name", label]), null != color && isPingedUpdate.push(["Method name", color]), previousRenderStartTime = {
13573 start: previousRenderStartTime,
13574 end: debugTask,
13575 detail: {
13576 devtools: {
13577 properties: isPingedUpdate,
13578 track: currentTrack,
13579 trackGroup: LANES_TRACK_GROUP,
13580 color: eventTime
13581 }
13582 }
13583 }, endTime ? endTime.run(
13584 performance.measure.bind(
13585 performance,
13586 isSpawnedUpdate,
13587 previousRenderStartTime
13588 )
13589 ) : performance.measure(isSpawnedUpdate, previousRenderStartTime), performance.clearMeasures(isSpawnedUpdate));
13590 }
13591 blockingUpdateTime = -1.1;
13592 blockingUpdateType = 0;
13593 blockingUpdateComponentName = blockingUpdateMethodName = null;
13594 blockingSuspendedTime = -1.1;
13595 blockingEventRepeatTime = blockingEventTime;
13596 blockingEventTime = -1.1;
13597 blockingClampTime = now();
13598 }
13599 0 !== (lanes & 4194048) && (workInProgressUpdateTask = transitionUpdateTask, debugTask = 0 <= transitionStartTime && transitionStartTime < transitionClampTime ? transitionClampTime : transitionStartTime, previousRenderStartTime = 0 <= transitionUpdateTime && transitionUpdateTime < transitionClampTime ? transitionClampTime : transitionUpdateTime, endTime = 0 <= transitionEventTime && transitionEventTime < transitionClampTime ? transitionClampTime : transitionEventTime, color = 0 <= endTime ? endTime : 0 <= previousRenderStartTime ? previousRenderStartTime : renderStartTime, 0 <= transitionSuspendedTime ? (setCurrentTrackFromLanes(256), logSuspendedWithDelayPhase(
13600 transitionSuspendedTime,
13601 color,
13602 lanes,
13603 workInProgressUpdateTask
13604 )) : 0 !== (animatingLanes & 4194048) && (setCurrentTrackFromLanes(256), logAnimatingPhase(transitionClampTime, color, animatingTask)), isPingedUpdate = endTime, eventTime = transitionEventType, eventType = 0 < transitionEventRepeatTime, eventIsRepeat = transitionUpdateType === PINGED_UPDATE, color = renderStartTime, endTime = transitionUpdateTask, label = transitionUpdateMethodName, isSpawnedUpdate = transitionUpdateComponentName, supportsUserTiming && (currentTrack = "Transition", 0 < previousRenderStartTime ? previousRenderStartTime > color && (previousRenderStartTime = color) : previousRenderStartTime = color, 0 < debugTask ? debugTask > previousRenderStartTime && (debugTask = previousRenderStartTime) : debugTask = previousRenderStartTime, 0 < isPingedUpdate ? isPingedUpdate > debugTask && (isPingedUpdate = debugTask) : isPingedUpdate = debugTask, debugTask > isPingedUpdate && null !== eventTime && (color$jscomp$0 = eventType ? "secondary-light" : "warning", endTime ? endTime.run(
13605 console.timeStamp.bind(
13606 console,
13607 eventType ? "Consecutive" : "Event: " + eventTime,
13608 isPingedUpdate,
13609 debugTask,
13610 currentTrack,
13611 LANES_TRACK_GROUP,
13612 color$jscomp$0
13613 )
13614 ) : console.timeStamp(
13615 eventType ? "Consecutive" : "Event: " + eventTime,
13616 isPingedUpdate,
13617 debugTask,
13618 currentTrack,
13619 LANES_TRACK_GROUP,
13620 color$jscomp$0
13621 )), previousRenderStartTime > debugTask && (endTime ? endTime.run(
13622 console.timeStamp.bind(
13623 console,
13624 "Action",
13625 debugTask,
13626 previousRenderStartTime,
13627 currentTrack,
13628 LANES_TRACK_GROUP,
13629 "primary-dark"
13630 )
13631 ) : console.timeStamp(
13632 "Action",
13633 debugTask,
13634 previousRenderStartTime,
13635 currentTrack,
13636 LANES_TRACK_GROUP,
13637 "primary-dark"
13638 )), color > previousRenderStartTime && (debugTask = eventIsRepeat ? "Promise Resolved" : 5 < color - previousRenderStartTime ? "Update Blocked" : "Update", isPingedUpdate = [], null != isSpawnedUpdate && isPingedUpdate.push(["Component name", isSpawnedUpdate]), null != label && isPingedUpdate.push(["Method name", label]), previousRenderStartTime = {
13639 start: previousRenderStartTime,
13640 end: color,
13641 detail: {
13642 devtools: {
13643 properties: isPingedUpdate,
13644 track: currentTrack,
13645 trackGroup: LANES_TRACK_GROUP,
13646 color: "primary-light"
13647 }
13648 }
13649 }, endTime ? endTime.run(
13650 performance.measure.bind(
13651 performance,
13652 debugTask,
13653 previousRenderStartTime
13654 )
13655 ) : performance.measure(debugTask, previousRenderStartTime), performance.clearMeasures(debugTask))), transitionUpdateTime = transitionStartTime = -1.1, transitionUpdateType = 0, transitionSuspendedTime = -1.1, transitionEventRepeatTime = transitionEventTime, transitionEventTime = -1.1, transitionClampTime = now());
13656 0 !== (lanes & 62914560) && 0 !== (animatingLanes & 62914560) && (setCurrentTrackFromLanes(4194304), logAnimatingPhase(retryClampTime, renderStartTime, animatingTask));
13657 0 !== (lanes & 2080374784) && 0 !== (animatingLanes & 2080374784) && (setCurrentTrackFromLanes(268435456), logAnimatingPhase(idleClampTime, renderStartTime, animatingTask));
13658 previousRenderStartTime = root2.timeoutHandle;
13659 previousRenderStartTime !== noTimeout && (root2.timeoutHandle = noTimeout, cancelTimeout(previousRenderStartTime));
13660 previousRenderStartTime = root2.cancelPendingCommit;
13661 null !== previousRenderStartTime && (root2.cancelPendingCommit = null, previousRenderStartTime());
13662 pendingEffectsLanes = 0;
13663 resetWorkInProgressStack();
13664 workInProgressRoot = root2;
13665 workInProgress = previousRenderStartTime = createWorkInProgress(
13666 root2.current,
13667 null
13668 );
13669 workInProgressRootRenderLanes = lanes;
13670 workInProgressSuspendedReason = NotSuspended;
13671 workInProgressThrownValue = null;
13672 workInProgressRootDidSkipSuspendedSiblings = false;
13673 workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root2, lanes);
13674 workInProgressRootDidAttachPingListener = false;
13675 workInProgressRootExitStatus = RootInProgress;
13676 workInProgressSuspendedRetryLanes = workInProgressDeferredLane = workInProgressRootPingedLanes = workInProgressRootInterleavedUpdatedLanes = workInProgressRootSkippedLanes = 0;
13677 workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors = null;
13678 workInProgressRootDidIncludeRecursiveRenderUpdate = false;
13679 entangledRenderLanes = getEntangledLanes(root2, lanes);
13680 finishQueueingConcurrentUpdates();
13681 root2 = getCurrentTime();
13682 1e3 < root2 - lastResetTime && (ReactSharedInternals.recentlyCreatedOwnerStacks = 0, lastResetTime = root2);
13683 ReactStrictModeWarnings.discardPendingWarnings();
13684 return previousRenderStartTime;
13685 }
13686 function handleThrow(root2, thrownValue) {
13687 currentlyRenderingFiber = null;
13688 ReactSharedInternals.H = ContextOnlyDispatcher;
13689 ReactSharedInternals.getCurrentStack = null;
13690 isRendering = false;
13691 current = null;
13692 thrownValue === SuspenseException || thrownValue === SuspenseActionException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnImmediate) : thrownValue === SuspenseyCommitException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnInstance) : workInProgressSuspendedReason = thrownValue === SelectiveHydrationException ? SuspendedOnHydration : null !== thrownValue && "object" === typeof thrownValue && "function" === typeof thrownValue.then ? SuspendedOnDeprecatedThrowPromise : SuspendedOnError;
13693 workInProgressThrownValue = thrownValue;
13694 var erroredWork = workInProgress;
13695 null === erroredWork ? (workInProgressRootExitStatus = RootFatalErrored, logUncaughtError(
13696 root2,
13697 createCapturedValueAtFiber(thrownValue, root2.current)
13698 )) : erroredWork.mode & ProfileMode && stopProfilerTimerIfRunningAndRecordDuration(erroredWork);
13699 }
13700 function shouldRemainOnPreviousScreen() {
13701 var handler = suspenseHandlerStackCursor.current;
13702 return null === handler ? true : (workInProgressRootRenderLanes & 4194048) === workInProgressRootRenderLanes ? null === shellBoundary ? true : false : (workInProgressRootRenderLanes & 62914560) === workInProgressRootRenderLanes || 0 !== (workInProgressRootRenderLanes & 536870912) ? handler === shellBoundary : false;
13703 }
13704 function pushDispatcher() {
13705 var prevDispatcher = ReactSharedInternals.H;
13706 ReactSharedInternals.H = ContextOnlyDispatcher;
13707 return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher;
13708 }
13709 function pushAsyncDispatcher() {
13710 var prevAsyncDispatcher = ReactSharedInternals.A;
13711 ReactSharedInternals.A = DefaultAsyncDispatcher;
13712 return prevAsyncDispatcher;
13713 }
13714 function markRenderDerivedCause(fiber) {
13715 null === workInProgressUpdateTask && (workInProgressUpdateTask = null == fiber._debugTask ? null : fiber._debugTask);
13716 }
13717 function renderDidSuspendDelayIfPossible() {
13718 workInProgressRootExitStatus = RootSuspendedWithDelay;
13719 workInProgressRootDidSkipSuspendedSiblings || (workInProgressRootRenderLanes & 4194048) !== workInProgressRootRenderLanes && null !== suspenseHandlerStackCursor.current || (workInProgressRootIsPrerendering = true);
13720 0 === (workInProgressRootSkippedLanes & 134217727) && 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727) || null === workInProgressRoot || markRootSuspended(
13721 workInProgressRoot,
13722 workInProgressRootRenderLanes,
13723 workInProgressDeferredLane,
13724 false
13725 );
13726 }
13727 function renderRootSync(root2, lanes, shouldYieldForPrerendering) {
13728 var prevExecutionContext = executionContext;
13729 executionContext |= RenderContext;
13730 var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher();
13731 if (workInProgressRoot !== root2 || workInProgressRootRenderLanes !== lanes) {
13732 if (isDevToolsPresent) {
13733 var memoizedUpdaters = root2.memoizedUpdaters;
13734 0 < memoizedUpdaters.size && (restorePendingUpdaters(root2, workInProgressRootRenderLanes), memoizedUpdaters.clear());
13735 movePendingFibersToMemoized(root2, lanes);
13736 }
13737 workInProgressTransitions = null;
13738 prepareFreshStack(root2, lanes);
13739 }
13740 lanes = false;
13741 memoizedUpdaters = workInProgressRootExitStatus;
13742 a: do
13743 try {
13744 if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress) {
13745 var unitOfWork = workInProgress, thrownValue = workInProgressThrownValue;
13746 switch (workInProgressSuspendedReason) {
13747 case SuspendedOnHydration:
13748 resetWorkInProgressStack();
13749 memoizedUpdaters = RootSuspendedAtTheShell;
13750 break a;
13751 case SuspendedOnImmediate:
13752 case SuspendedOnData:
13753 case SuspendedOnAction:
13754 case SuspendedOnDeprecatedThrowPromise:
13755 null === suspenseHandlerStackCursor.current && (lanes = true);
13756 var reason = workInProgressSuspendedReason;
13757 workInProgressSuspendedReason = NotSuspended;
13758 workInProgressThrownValue = null;
13759 throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, reason);
13760 if (shouldYieldForPrerendering && workInProgressRootIsPrerendering) {
13761 memoizedUpdaters = RootInProgress;
13762 break a;
13763 }
13764 break;
13765 default:
13766 reason = workInProgressSuspendedReason, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, reason);
13767 }
13768 }
13769 workLoopSync();
13770 memoizedUpdaters = workInProgressRootExitStatus;
13771 break;
13772 } catch (thrownValue$9) {
13773 handleThrow(root2, thrownValue$9);
13774 }
13775 while (1);
13776 lanes && root2.shellSuspendCounter++;
13777 resetContextDependencies();
13778 executionContext = prevExecutionContext;
13779 ReactSharedInternals.H = prevDispatcher;
13780 ReactSharedInternals.A = prevAsyncDispatcher;
13781 null === workInProgress && (workInProgressRoot = null, workInProgressRootRenderLanes = 0, finishQueueingConcurrentUpdates());
13782 return memoizedUpdaters;
13783 }
13784 function workLoopSync() {
13785 for (; null !== workInProgress; ) performUnitOfWork(workInProgress);
13786 }
13787 function renderRootConcurrent(root2, lanes) {
13788 var prevExecutionContext = executionContext;
13789 executionContext |= RenderContext;
13790 var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher();
13791 if (workInProgressRoot !== root2 || workInProgressRootRenderLanes !== lanes) {
13792 if (isDevToolsPresent) {
13793 var memoizedUpdaters = root2.memoizedUpdaters;
13794 0 < memoizedUpdaters.size && (restorePendingUpdaters(root2, workInProgressRootRenderLanes), memoizedUpdaters.clear());
13795 movePendingFibersToMemoized(root2, lanes);
13796 }
13797 workInProgressTransitions = null;
13798 workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS;
13799 prepareFreshStack(root2, lanes);
13800 } else
13801 workInProgressRootIsPrerendering = checkIfRootIsPrerendering(
13802 root2,
13803 lanes
13804 );
13805 a: do
13806 try {
13807 if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress)
13808 b: switch (lanes = workInProgress, memoizedUpdaters = workInProgressThrownValue, workInProgressSuspendedReason) {
13809 case SuspendedOnError:
13810 workInProgressSuspendedReason = NotSuspended;
13811 workInProgressThrownValue = null;
13812 throwAndUnwindWorkLoop(
13813 root2,
13814 lanes,
13815 memoizedUpdaters,
13816 SuspendedOnError
13817 );
13818 break;
13819 case SuspendedOnData:
13820 case SuspendedOnAction:
13821 if (isThenableResolved(memoizedUpdaters)) {
13822 workInProgressSuspendedReason = NotSuspended;
13823 workInProgressThrownValue = null;
13824 replaySuspendedUnitOfWork(lanes);
13825 break;
13826 }
13827 lanes = function() {
13828 workInProgressSuspendedReason !== SuspendedOnData && workInProgressSuspendedReason !== SuspendedOnAction || workInProgressRoot !== root2 || (workInProgressSuspendedReason = SuspendedAndReadyToContinue);
13829 ensureRootIsScheduled(root2);
13830 };
13831 memoizedUpdaters.then(lanes, lanes);
13832 break a;
13833 case SuspendedOnImmediate:
13834 workInProgressSuspendedReason = SuspendedAndReadyToContinue;
13835 break a;
13836 case SuspendedOnInstance:
13837 workInProgressSuspendedReason = SuspendedOnInstanceAndReadyToContinue;
13838 break a;
13839 case SuspendedAndReadyToContinue:
13840 isThenableResolved(memoizedUpdaters) ? (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, replaySuspendedUnitOfWork(lanes)) : (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop(
13841 root2,
13842 lanes,
13843 memoizedUpdaters,
13844 SuspendedAndReadyToContinue
13845 ));
13846 break;
13847 case SuspendedOnInstanceAndReadyToContinue:
13848 var resource = null;
13849 switch (workInProgress.tag) {
13850 case 26:
13851 resource = workInProgress.memoizedState;
13852 case 5:
13853 case 27:
13854 var hostFiber = workInProgress;
13855 if (resource ? preloadResource(resource) : hostFiber.stateNode.complete) {
13856 workInProgressSuspendedReason = NotSuspended;
13857 workInProgressThrownValue = null;
13858 var sibling = hostFiber.sibling;
13859 if (null !== sibling) workInProgress = sibling;
13860 else {
13861 var returnFiber = hostFiber.return;
13862 null !== returnFiber ? (workInProgress = returnFiber, completeUnitOfWork(returnFiber)) : workInProgress = null;
13863 }
13864 break b;
13865 }
13866 break;
13867 default:
13868 console.error(
13869 "Unexpected type of fiber triggered a suspensey commit. This is a bug in React."
13870 );
13871 }
13872 workInProgressSuspendedReason = NotSuspended;
13873 workInProgressThrownValue = null;
13874 throwAndUnwindWorkLoop(
13875 root2,
13876 lanes,
13877 memoizedUpdaters,
13878 SuspendedOnInstanceAndReadyToContinue
13879 );
13880 break;
13881 case SuspendedOnDeprecatedThrowPromise:
13882 workInProgressSuspendedReason = NotSuspended;
13883 workInProgressThrownValue = null;
13884 throwAndUnwindWorkLoop(
13885 root2,
13886 lanes,
13887 memoizedUpdaters,
13888 SuspendedOnDeprecatedThrowPromise
13889 );
13890 break;
13891 case SuspendedOnHydration:
13892 resetWorkInProgressStack();
13893 workInProgressRootExitStatus = RootSuspendedAtTheShell;
13894 break a;
13895 default:
13896 throw Error(
13897 "Unexpected SuspendedReason. This is a bug in React."
13898 );
13899 }
13900 null !== ReactSharedInternals.actQueue ? workLoopSync() : workLoopConcurrentByScheduler();
13901 break;
13902 } catch (thrownValue$10) {
13903 handleThrow(root2, thrownValue$10);
13904 }
13905 while (1);
13906 resetContextDependencies();
13907 ReactSharedInternals.H = prevDispatcher;
13908 ReactSharedInternals.A = prevAsyncDispatcher;
13909 executionContext = prevExecutionContext;
13910 if (null !== workInProgress) return RootInProgress;
13911 workInProgressRoot = null;
13912 workInProgressRootRenderLanes = 0;
13913 finishQueueingConcurrentUpdates();
13914 return workInProgressRootExitStatus;
13915 }
13916 function workLoopConcurrentByScheduler() {
13917 for (; null !== workInProgress && !shouldYield(); )
13918 performUnitOfWork(workInProgress);
13919 }
13920 function performUnitOfWork(unitOfWork) {
13921 var current2 = unitOfWork.alternate;
13922 (unitOfWork.mode & ProfileMode) !== NoMode ? (startProfilerTimer(unitOfWork), current2 = runWithFiberInDEV(
13923 unitOfWork,
13924 beginWork,
13925 current2,
13926 unitOfWork,
13927 entangledRenderLanes
13928 ), stopProfilerTimerIfRunningAndRecordDuration(unitOfWork)) : current2 = runWithFiberInDEV(
13929 unitOfWork,
13930 beginWork,
13931 current2,
13932 unitOfWork,
13933 entangledRenderLanes
13934 );
13935 unitOfWork.memoizedProps = unitOfWork.pendingProps;
13936 null === current2 ? completeUnitOfWork(unitOfWork) : workInProgress = current2;
13937 }
13938 function replaySuspendedUnitOfWork(unitOfWork) {
13939 var next = runWithFiberInDEV(unitOfWork, replayBeginWork, unitOfWork);
13940 unitOfWork.memoizedProps = unitOfWork.pendingProps;
13941 null === next ? completeUnitOfWork(unitOfWork) : workInProgress = next;
13942 }
13943 function replayBeginWork(unitOfWork) {
13944 var current2 = unitOfWork.alternate, isProfilingMode = (unitOfWork.mode & ProfileMode) !== NoMode;
13945 isProfilingMode && startProfilerTimer(unitOfWork);
13946 switch (unitOfWork.tag) {
13947 case 15:
13948 case 0:
13949 current2 = replayFunctionComponent(
13950 current2,
13951 unitOfWork,
13952 unitOfWork.pendingProps,
13953 unitOfWork.type,
13954 void 0,
13955 workInProgressRootRenderLanes
13956 );
13957 break;
13958 case 11:
13959 current2 = replayFunctionComponent(
13960 current2,
13961 unitOfWork,
13962 unitOfWork.pendingProps,
13963 unitOfWork.type.render,
13964 unitOfWork.ref,
13965 workInProgressRootRenderLanes
13966 );
13967 break;
13968 case 5:
13969 resetHooksOnUnwind(unitOfWork);
13970 var fiber = unitOfWork;
13971 fiber === hydrationParentFiber && (isHydrating ? (popToNextHostParent(fiber), 5 === fiber.tag && null != fiber.stateNode && (nextHydratableInstance = fiber.stateNode)) : (popToNextHostParent(fiber), isHydrating = true));
13972 default:
13973 unwindInterruptedWork(current2, unitOfWork), unitOfWork = workInProgress = resetWorkInProgress(unitOfWork, entangledRenderLanes), current2 = beginWork(current2, unitOfWork, entangledRenderLanes);
13974 }
13975 isProfilingMode && stopProfilerTimerIfRunningAndRecordDuration(unitOfWork);
13976 return current2;
13977 }
13978 function throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, suspendedReason) {
13979 resetContextDependencies();
13980 resetHooksOnUnwind(unitOfWork);
13981 thenableState$1 = null;
13982 thenableIndexCounter$1 = 0;
13983 var returnFiber = unitOfWork.return;
13984 try {
13985 if (throwException(
13986 root2,
13987 returnFiber,
13988 unitOfWork,
13989 thrownValue,
13990 workInProgressRootRenderLanes
13991 )) {
13992 workInProgressRootExitStatus = RootFatalErrored;
13993 logUncaughtError(
13994 root2,
13995 createCapturedValueAtFiber(thrownValue, root2.current)
13996 );
13997 workInProgress = null;
13998 return;
13999 }
14000 } catch (error) {
14001 if (null !== returnFiber) throw workInProgress = returnFiber, error;
14002 workInProgressRootExitStatus = RootFatalErrored;
14003 logUncaughtError(
14004 root2,
14005 createCapturedValueAtFiber(thrownValue, root2.current)
14006 );
14007 workInProgress = null;
14008 return;
14009 }
14010 if (unitOfWork.flags & 32768) {
14011 if (isHydrating || suspendedReason === SuspendedOnError) root2 = true;
14012 else if (workInProgressRootIsPrerendering || 0 !== (workInProgressRootRenderLanes & 536870912))
14013 root2 = false;
14014 else if (workInProgressRootDidSkipSuspendedSiblings = root2 = true, suspendedReason === SuspendedOnData || suspendedReason === SuspendedOnAction || suspendedReason === SuspendedOnImmediate || suspendedReason === SuspendedOnDeprecatedThrowPromise)
14015 suspendedReason = suspenseHandlerStackCursor.current, null !== suspendedReason && 13 === suspendedReason.tag && (suspendedReason.flags |= 16384);
14016 unwindUnitOfWork(unitOfWork, root2);
14017 } else completeUnitOfWork(unitOfWork);
14018 }
14019 function completeUnitOfWork(unitOfWork) {
14020 var completedWork = unitOfWork;
14021 do {
14022 if (0 !== (completedWork.flags & 32768)) {
14023 unwindUnitOfWork(
14024 completedWork,
14025 workInProgressRootDidSkipSuspendedSiblings
14026 );
14027 return;
14028 }
14029 var current2 = completedWork.alternate;
14030 unitOfWork = completedWork.return;
14031 startProfilerTimer(completedWork);
14032 current2 = runWithFiberInDEV(
14033 completedWork,
14034 completeWork,
14035 current2,
14036 completedWork,
14037 entangledRenderLanes
14038 );
14039 (completedWork.mode & ProfileMode) !== NoMode && stopProfilerTimerIfRunningAndRecordIncompleteDuration(completedWork);
14040 if (null !== current2) {
14041 workInProgress = current2;
14042 return;
14043 }
14044 completedWork = completedWork.sibling;
14045 if (null !== completedWork) {
14046 workInProgress = completedWork;
14047 return;
14048 }
14049 workInProgress = completedWork = unitOfWork;
14050 } while (null !== completedWork);
14051 workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootCompleted);
14052 }
14053 function unwindUnitOfWork(unitOfWork, skipSiblings) {
14054 do {
14055 var next = unwindWork(unitOfWork.alternate, unitOfWork);
14056 if (null !== next) {
14057 next.flags &= 32767;
14058 workInProgress = next;
14059 return;
14060 }
14061 if ((unitOfWork.mode & ProfileMode) !== NoMode) {
14062 stopProfilerTimerIfRunningAndRecordIncompleteDuration(unitOfWork);
14063 next = unitOfWork.actualDuration;
14064 for (var child = unitOfWork.child; null !== child; )
14065 next += child.actualDuration, child = child.sibling;
14066 unitOfWork.actualDuration = next;
14067 }
14068 next = unitOfWork.return;
14069 null !== next && (next.flags |= 32768, next.subtreeFlags = 0, next.deletions = null);
14070 if (!skipSiblings && (unitOfWork = unitOfWork.sibling, null !== unitOfWork)) {
14071 workInProgress = unitOfWork;
14072 return;
14073 }
14074 workInProgress = unitOfWork = next;
14075 } while (null !== unitOfWork);
14076 workInProgressRootExitStatus = RootSuspendedAtTheShell;
14077 workInProgress = null;
14078 }
14079 function completeRoot(root2, finishedWork, lanes, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, spawnedLane, updatedLanes, suspendedRetryLanes, didSkipSuspendedSiblings, exitStatus, suspendedState, suspendedCommitReason, completedRenderStartTime, completedRenderEndTime) {
14080 root2.cancelPendingCommit = null;
14081 do
14082 flushPendingEffects();
14083 while (pendingEffectsStatus !== NO_PENDING_EFFECTS);
14084 ReactStrictModeWarnings.flushLegacyContextWarning();
14085 ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings();
14086 if ((executionContext & (RenderContext | CommitContext)) !== NoContext)
14087 throw Error("Should not already be working.");
14088 setCurrentTrackFromLanes(lanes);
14089 if (exitStatus === RootErrored)
14090 logErroredRenderPhase(
14091 completedRenderStartTime,
14092 completedRenderEndTime,
14093 lanes,
14094 workInProgressUpdateTask
14095 );
14096 else if (null !== recoverableErrors) {
14097 if (didSkipSuspendedSiblings = null !== finishedWork && null !== finishedWork.alternate && finishedWork.alternate.memoizedState.isDehydrated && 0 !== (finishedWork.flags & 256), didIncludeRenderPhaseUpdate = workInProgressUpdateTask, supportsUserTiming && !(completedRenderEndTime <= completedRenderStartTime)) {
14098 exitStatus = [];
14099 for (var i = 0; i < recoverableErrors.length; i++) {
14100 var error = recoverableErrors[i].value;
14101 exitStatus.push([
14102 "Recoverable Error",
14103 "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error)
14104 ]);
14105 }
14106 completedRenderStartTime = {
14107 start: completedRenderStartTime,
14108 end: completedRenderEndTime,
14109 detail: {
14110 devtools: {
14111 color: "primary-dark",
14112 track: currentTrack,
14113 trackGroup: LANES_TRACK_GROUP,
14114 tooltipText: didSkipSuspendedSiblings ? "Hydration Failed" : "Recovered after Error",
14115 properties: exitStatus
14116 }
14117 }
14118 };
14119 didIncludeRenderPhaseUpdate ? didIncludeRenderPhaseUpdate.run(
14120 performance.measure.bind(
14121 performance,
14122 "Recovered",
14123 completedRenderStartTime
14124 )
14125 ) : performance.measure("Recovered", completedRenderStartTime);
14126 performance.clearMeasures("Recovered");
14127 }
14128 } else
14129 didIncludeRenderPhaseUpdate = workInProgressUpdateTask, !supportsUserTiming || completedRenderEndTime <= completedRenderStartTime || (didSkipSuspendedSiblings = (lanes & 738197653) === lanes ? "tertiary-dark" : "primary-dark", exitStatus = (lanes & 536870912) === lanes ? "Prepared" : (lanes & 201326741) === lanes ? "Hydrated" : "Render", didIncludeRenderPhaseUpdate ? didIncludeRenderPhaseUpdate.run(
14130 console.timeStamp.bind(
14131 console,
14132 exitStatus,
14133 completedRenderStartTime,
14134 completedRenderEndTime,
14135 currentTrack,
14136 LANES_TRACK_GROUP,
14137 didSkipSuspendedSiblings
14138 )
14139 ) : console.timeStamp(
14140 exitStatus,
14141 completedRenderStartTime,
14142 completedRenderEndTime,
14143 currentTrack,
14144 LANES_TRACK_GROUP,
14145 didSkipSuspendedSiblings
14146 ));
14147 if (null !== finishedWork) {
14148 0 === lanes && console.error(
14149 "finishedLanes should not be empty during a commit. This is a bug in React."
14150 );
14151 if (finishedWork === root2.current)
14152 throw Error(
14153 "Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue."
14154 );
14155 root2 === workInProgressRoot && (workInProgress = workInProgressRoot = null, workInProgressRootRenderLanes = 0);
14156 pendingFinishedWork = finishedWork;
14157 pendingEffectsRoot = root2;
14158 pendingEffectsLanes = lanes;
14159 pendingPassiveTransitions = transitions;
14160 pendingRecoverableErrors = recoverableErrors;
14161 pendingEffectsRenderEndTime = completedRenderEndTime;
14162 pendingSuspendedCommitReason = suspendedCommitReason;
14163 pendingDelayedCommitReason = IMMEDIATE_COMMIT;
14164 pendingSuspendedViewTransitionReason = null;
14165 commitRoot(
14166 root2,
14167 finishedWork,
14168 lanes,
14169 spawnedLane,
14170 updatedLanes,
14171 suspendedRetryLanes,
14172 suspendedState,
14173 suspendedCommitReason,
14174 completedRenderEndTime
14175 );
14176 }
14177 }
14178 function commitRoot(root2, finishedWork, lanes, spawnedLane, updatedLanes, suspendedRetryLanes, suspendedState, suspendedCommitReason, completedRenderEndTime) {
14179 var remainingLanes = finishedWork.lanes | finishedWork.childLanes;
14180 pendingEffectsRemainingLanes = remainingLanes;
14181 remainingLanes |= concurrentlyUpdatedLanes;
14182 markRootFinished(
14183 root2,
14184 lanes,
14185 remainingLanes,
14186 spawnedLane,
14187 updatedLanes,
14188 suspendedRetryLanes
14189 );
14190 pendingViewTransitionEvents = null;
14191 (lanes & 335544064) === lanes ? (pendingTransitionTypes = claimQueuedTransitionTypes(root2), spawnedLane = 10262) : (pendingTransitionTypes = null, spawnedLane = 10256);
14192 0 !== finishedWork.actualDuration || 0 !== (finishedWork.subtreeFlags & spawnedLane) || 0 !== (finishedWork.flags & spawnedLane) ? (root2.callbackNode = null, root2.callbackPriority = 0, scheduleCallback$1(NormalPriority$1, function() {
14193 schedulerEvent = window.event;
14194 pendingDelayedCommitReason === IMMEDIATE_COMMIT && (pendingDelayedCommitReason = DELAYED_PASSIVE_COMMIT);
14195 flushPassiveEffects();
14196 return null;
14197 })) : (root2.callbackNode = null, root2.callbackPriority = 0);
14198 commitErrors = null;
14199 commitStartTime = now();
14200 null !== suspendedCommitReason && logSuspendedCommitPhase(
14201 completedRenderEndTime,
14202 commitStartTime,
14203 suspendedCommitReason,
14204 workInProgressUpdateTask
14205 );
14206 shouldStartViewTransition = false;
14207 suspendedCommitReason = 0 !== (finishedWork.flags & 13878);
14208 if (0 !== (finishedWork.subtreeFlags & 13878) || suspendedCommitReason) {
14209 suspendedCommitReason = ReactSharedInternals.T;
14210 ReactSharedInternals.T = null;
14211 completedRenderEndTime = ReactDOMSharedInternals.p;
14212 ReactDOMSharedInternals.p = DiscreteEventPriority;
14213 spawnedLane = executionContext;
14214 executionContext |= CommitContext;
14215 try {
14216 commitBeforeMutationEffects(root2, finishedWork, lanes);
14217 } finally {
14218 executionContext = spawnedLane, ReactDOMSharedInternals.p = completedRenderEndTime, ReactSharedInternals.T = suspendedCommitReason;
14219 }
14220 }
14221 pendingEffectsStatus = PENDING_MUTATION_PHASE;
14222 shouldStartViewTransition ? (animatingLanes |= lanes, animatingTask = null, pendingViewTransition = startViewTransition(
14223 suspendedState,
14224 root2.containerInfo,
14225 pendingTransitionTypes,
14226 flushMutationEffects,
14227 flushLayoutEffects,
14228 flushAfterMutationEffects,
14229 flushSpawnedWork,
14230 flushPassiveEffects,
14231 reportViewTransitionError,
14232 suspendedViewTransition,
14233 finishedViewTransition.bind(null, lanes)
14234 )) : (flushMutationEffects(), flushLayoutEffects(), flushSpawnedWork());
14235 }
14236 function reportViewTransitionError(error) {
14237 if (pendingEffectsStatus !== NO_PENDING_EFFECTS) {
14238 var onRecoverableError = pendingEffectsRoot.onRecoverableError;
14239 onRecoverableError(error, makeErrorInfo(null));
14240 }
14241 }
14242 function suspendedViewTransition(reason) {
14243 commitEndTime = now();
14244 logCommitPhase(
14245 null === pendingSuspendedCommitReason ? pendingEffectsRenderEndTime : commitStartTime,
14246 commitEndTime,
14247 commitErrors,
14248 pendingDelayedCommitReason === ABORTED_VIEW_TRANSITION_COMMIT,
14249 workInProgressUpdateTask
14250 );
14251 pendingSuspendedCommitReason = pendingSuspendedViewTransitionReason = reason;
14252 }
14253 function finishedViewTransition(lanes) {
14254 if (0 !== (animatingLanes & lanes)) {
14255 var task = animatingTask;
14256 animatingLanes &= ~lanes;
14257 animatingTask = null;
14258 0 !== (lanes & 4194048) && 0 === (workInProgressRootRenderLanes & 4194048) && 0 === (pendingEffectsLanes & 4194048) && (setCurrentTrackFromLanes(256), logAnimatingPhase(transitionClampTime, now$1(), task));
14259 0 !== (lanes & 62914560) && 0 === (workInProgressRootRenderLanes & 62914560) && 0 === (pendingEffectsLanes & 62914560) && (setCurrentTrackFromLanes(4194304), logAnimatingPhase(retryClampTime, now$1(), task));
14260 0 !== (lanes & 2080374784) && 0 === (workInProgressRootRenderLanes & 2080374784) && 0 === (pendingEffectsLanes & 2080374784) && (setCurrentTrackFromLanes(268435456), logAnimatingPhase(idleClampTime, now$1(), task));
14261 }
14262 }
14263 function flushAfterMutationEffects() {
14264 pendingEffectsStatus === PENDING_AFTER_MUTATION_PHASE && (pendingEffectsStatus = NO_PENDING_EFFECTS, commitAfterMutationEffectsOnFiber(
14265 pendingFinishedWork,
14266 pendingEffectsRoot
14267 ), pendingEffectsStatus = PENDING_SPAWNED_WORK);
14268 }
14269 function flushMutationEffects() {
14270 if (pendingEffectsStatus === PENDING_MUTATION_PHASE) {
14271 pendingEffectsStatus = NO_PENDING_EFFECTS;
14272 var root2 = pendingEffectsRoot, finishedWork = pendingFinishedWork, lanes = pendingEffectsLanes, rootMutationHasEffect = 0 !== (finishedWork.flags & 13878);
14273 if (0 !== (finishedWork.subtreeFlags & 13878) || rootMutationHasEffect) {
14274 rootMutationHasEffect = ReactSharedInternals.T;
14275 ReactSharedInternals.T = null;
14276 var previousPriority = ReactDOMSharedInternals.p;
14277 ReactDOMSharedInternals.p = DiscreteEventPriority;
14278 var prevExecutionContext = executionContext;
14279 executionContext |= CommitContext;
14280 try {
14281 inProgressLanes = lanes;
14282 inProgressRoot = root2;
14283 inUpdateViewTransition = rootViewTransitionAffected = false;
14284 resetComponentEffectTimers();
14285 commitMutationEffectsOnFiber(finishedWork, root2, lanes);
14286 inProgressRoot = inProgressLanes = null;
14287 lanes = selectionInformation;
14288 var curFocusedElem = getActiveElementDeep(root2.containerInfo), priorFocusedElem = lanes.focusedElem, priorSelectionRange = lanes.selectionRange;
14289 if (curFocusedElem !== priorFocusedElem && priorFocusedElem && priorFocusedElem.ownerDocument && containsNode(
14290 priorFocusedElem.ownerDocument.documentElement,
14291 priorFocusedElem
14292 )) {
14293 if (null !== priorSelectionRange && hasSelectionCapabilities(priorFocusedElem)) {
14294 var start = priorSelectionRange.start, end = priorSelectionRange.end;
14295 void 0 === end && (end = start);
14296 if ("selectionStart" in priorFocusedElem)
14297 priorFocusedElem.selectionStart = start, priorFocusedElem.selectionEnd = Math.min(
14298 end,
14299 priorFocusedElem.value.length
14300 );
14301 else {
14302 var doc = priorFocusedElem.ownerDocument || document, win = doc && doc.defaultView || window;
14303 if (win.getSelection) {
14304 var selection = win.getSelection(), length = priorFocusedElem.textContent.length, start$jscomp$0 = Math.min(
14305 priorSelectionRange.start,
14306 length
14307 ), end$jscomp$0 = void 0 === priorSelectionRange.end ? start$jscomp$0 : Math.min(priorSelectionRange.end, length);
14308 !selection.extend && start$jscomp$0 > end$jscomp$0 && (curFocusedElem = end$jscomp$0, end$jscomp$0 = start$jscomp$0, start$jscomp$0 = curFocusedElem);
14309 var startMarker = getNodeForCharacterOffset(
14310 priorFocusedElem,
14311 start$jscomp$0
14312 ), endMarker = getNodeForCharacterOffset(
14313 priorFocusedElem,
14314 end$jscomp$0
14315 );
14316 if (startMarker && endMarker && (1 !== selection.rangeCount || selection.anchorNode !== startMarker.node || selection.anchorOffset !== startMarker.offset || selection.focusNode !== endMarker.node || selection.focusOffset !== endMarker.offset)) {
14317 var range = doc.createRange();
14318 range.setStart(startMarker.node, startMarker.offset);
14319 selection.removeAllRanges();
14320 start$jscomp$0 > end$jscomp$0 ? (selection.addRange(range), selection.extend(endMarker.node, endMarker.offset)) : (range.setEnd(endMarker.node, endMarker.offset), selection.addRange(range));
14321 }
14322 }
14323 }
14324 }
14325 doc = [];
14326 for (selection = priorFocusedElem; selection = selection.parentNode; )
14327 1 === selection.nodeType && doc.push({
14328 element: selection,
14329 left: selection.scrollLeft,
14330 top: selection.scrollTop
14331 });
14332 "function" === typeof priorFocusedElem.focus && priorFocusedElem.focus();
14333 for (priorFocusedElem = 0; priorFocusedElem < doc.length; priorFocusedElem++) {
14334 var info = doc[priorFocusedElem];
14335 info.element.scrollLeft = info.left;
14336 info.element.scrollTop = info.top;
14337 }
14338 }
14339 _enabled = !!eventsEnabled;
14340 selectionInformation = eventsEnabled = null;
14341 } finally {
14342 executionContext = prevExecutionContext, ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = rootMutationHasEffect;
14343 }
14344 }
14345 root2.current = finishedWork;
14346 pendingEffectsStatus = PENDING_LAYOUT_PHASE;
14347 }
14348 }
14349 function flushLayoutEffects() {
14350 if (pendingEffectsStatus === PENDING_LAYOUT_PHASE) {
14351 pendingEffectsStatus = NO_PENDING_EFFECTS;
14352 var suspendedViewTransitionReason = pendingSuspendedViewTransitionReason;
14353 if (null !== suspendedViewTransitionReason) {
14354 commitStartTime = now();
14355 var startTime = commitEndTime, endTime = commitStartTime;
14356 !supportsUserTiming || endTime <= startTime || (animatingTask ? animatingTask.run(
14357 console.timeStamp.bind(
14358 console,
14359 suspendedViewTransitionReason,
14360 startTime,
14361 endTime,
14362 currentTrack,
14363 LANES_TRACK_GROUP,
14364 "secondary-light"
14365 )
14366 ) : console.timeStamp(
14367 suspendedViewTransitionReason,
14368 startTime,
14369 endTime,
14370 currentTrack,
14371 LANES_TRACK_GROUP,
14372 "secondary-light"
14373 ));
14374 }
14375 suspendedViewTransitionReason = pendingEffectsRoot;
14376 startTime = pendingFinishedWork;
14377 endTime = pendingEffectsLanes;
14378 var rootHasLayoutEffect = 0 !== (startTime.flags & 8772);
14379 if (0 !== (startTime.subtreeFlags & 8772) || rootHasLayoutEffect) {
14380 rootHasLayoutEffect = ReactSharedInternals.T;
14381 ReactSharedInternals.T = null;
14382 var _previousPriority = ReactDOMSharedInternals.p;
14383 ReactDOMSharedInternals.p = DiscreteEventPriority;
14384 var _prevExecutionContext = executionContext;
14385 executionContext |= CommitContext;
14386 try {
14387 inProgressLanes = endTime, inProgressRoot = suspendedViewTransitionReason, resetComponentEffectTimers(), commitLayoutEffectOnFiber(
14388 suspendedViewTransitionReason,
14389 startTime.alternate,
14390 startTime
14391 ), inProgressRoot = inProgressLanes = null;
14392 } finally {
14393 executionContext = _prevExecutionContext, ReactDOMSharedInternals.p = _previousPriority, ReactSharedInternals.T = rootHasLayoutEffect;
14394 }
14395 }
14396 suspendedViewTransitionReason = pendingEffectsRenderEndTime;
14397 startTime = pendingSuspendedCommitReason;
14398 commitEndTime = now();
14399 logCommitPhase(
14400 null === startTime ? suspendedViewTransitionReason : commitStartTime,
14401 commitEndTime,
14402 commitErrors,
14403 pendingDelayedCommitReason === ABORTED_VIEW_TRANSITION_COMMIT,
14404 workInProgressUpdateTask
14405 );
14406 pendingEffectsStatus = PENDING_AFTER_MUTATION_PHASE;
14407 }
14408 }
14409 function flushSpawnedWork() {
14410 if (pendingEffectsStatus === PENDING_SPAWNED_WORK || pendingEffectsStatus === PENDING_AFTER_MUTATION_PHASE) {
14411 if (pendingEffectsStatus === PENDING_SPAWNED_WORK) {
14412 var startViewTransitionStartTime = commitEndTime;
14413 commitEndTime = now();
14414 var endTime = commitEndTime, abortedViewTransition = pendingDelayedCommitReason === ABORTED_VIEW_TRANSITION_COMMIT;
14415 !supportsUserTiming || endTime <= startViewTransitionStartTime || (animatingTask ? animatingTask.run(
14416 console.timeStamp.bind(
14417 console,
14418 abortedViewTransition ? "Interrupted View Transition" : "Starting Animation",
14419 startViewTransitionStartTime,
14420 endTime,
14421 currentTrack,
14422 LANES_TRACK_GROUP,
14423 abortedViewTransition ? "error" : "secondary-light"
14424 )
14425 ) : console.timeStamp(
14426 abortedViewTransition ? "Interrupted View Transition" : "Starting Animation",
14427 startViewTransitionStartTime,
14428 endTime,
14429 currentTrack,
14430 LANES_TRACK_GROUP,
14431 abortedViewTransition ? " error" : "secondary-light"
14432 ));
14433 pendingDelayedCommitReason !== ABORTED_VIEW_TRANSITION_COMMIT && (pendingDelayedCommitReason = ANIMATION_STARTED_COMMIT);
14434 }
14435 pendingEffectsStatus = NO_PENDING_EFFECTS;
14436 startViewTransitionStartTime = pendingViewTransition;
14437 pendingViewTransition = null;
14438 requestPaint();
14439 endTime = pendingEffectsRoot;
14440 var finishedWork = pendingFinishedWork;
14441 abortedViewTransition = pendingEffectsLanes;
14442 var recoverableErrors = pendingRecoverableErrors, passiveSubtreeMask = (abortedViewTransition & 335544064) === abortedViewTransition ? 10262 : 10256;
14443 (passiveSubtreeMask = 0 !== finishedWork.actualDuration || 0 !== (finishedWork.subtreeFlags & passiveSubtreeMask) || 0 !== (finishedWork.flags & passiveSubtreeMask)) ? pendingEffectsStatus = PENDING_PASSIVE_PHASE : (pendingEffectsStatus = NO_PENDING_EFFECTS, pendingFinishedWork = pendingEffectsRoot = null, releaseRootPooledCache(endTime, endTime.pendingLanes), nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null);
14444 var remainingLanes = endTime.pendingLanes;
14445 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null);
14446 passiveSubtreeMask || commitDoubleInvokeEffectsInDEV(endTime);
14447 remainingLanes = lanesToEventPriority(abortedViewTransition);
14448 finishedWork = finishedWork.stateNode;
14449 if (injectedHook && "function" === typeof injectedHook.onCommitFiberRoot)
14450 try {
14451 var didError = 128 === (finishedWork.current.flags & 128);
14452 switch (remainingLanes) {
14453 case DiscreteEventPriority:
14454 var schedulerPriority = ImmediatePriority;
14455 break;
14456 case ContinuousEventPriority:
14457 schedulerPriority = UserBlockingPriority;
14458 break;
14459 case DefaultEventPriority:
14460 schedulerPriority = NormalPriority$1;
14461 break;
14462 case IdleEventPriority:
14463 schedulerPriority = IdlePriority;
14464 break;
14465 default:
14466 schedulerPriority = NormalPriority$1;
14467 }
14468 injectedHook.onCommitFiberRoot(
14469 rendererID,
14470 finishedWork,
14471 schedulerPriority,
14472 didError
14473 );
14474 } catch (err) {
14475 hasLoggedError || (hasLoggedError = true, console.error(
14476 "React instrumentation encountered an error: %o",
14477 err
14478 ));
14479 }
14480 isDevToolsPresent && endTime.memoizedUpdaters.clear();
14481 onCommitRoot();
14482 if (null !== recoverableErrors) {
14483 didError = ReactSharedInternals.T;
14484 schedulerPriority = ReactDOMSharedInternals.p;
14485 ReactDOMSharedInternals.p = DiscreteEventPriority;
14486 ReactSharedInternals.T = null;
14487 try {
14488 var onRecoverableError = endTime.onRecoverableError;
14489 for (finishedWork = 0; finishedWork < recoverableErrors.length; finishedWork++) {
14490 var recoverableError = recoverableErrors[finishedWork], errorInfo = makeErrorInfo(recoverableError.stack);
14491 runWithFiberInDEV(
14492 recoverableError.source,
14493 onRecoverableError,
14494 recoverableError.value,
14495 errorInfo
14496 );
14497 }
14498 } finally {
14499 ReactSharedInternals.T = didError, ReactDOMSharedInternals.p = schedulerPriority;
14500 }
14501 }
14502 onRecoverableError = pendingViewTransitionEvents;
14503 recoverableError = pendingTransitionTypes;
14504 pendingTransitionTypes = null;
14505 if (null !== onRecoverableError && (pendingViewTransitionEvents = null, null === recoverableError && (recoverableError = []), null !== startViewTransitionStartTime))
14506 for (errorInfo = 0; errorInfo < onRecoverableError.length; errorInfo++)
14507 recoverableErrors = (0, onRecoverableError[errorInfo])(
14508 recoverableError
14509 ), void 0 !== recoverableErrors && startViewTransitionStartTime.finished.finally(
14510 recoverableErrors
14511 );
14512 0 !== (pendingEffectsLanes & 3) && flushPendingEffects();
14513 ensureRootIsScheduled(endTime);
14514 remainingLanes = endTime.pendingLanes;
14515 0 !== (abortedViewTransition & 261930) && 0 !== (remainingLanes & 42) ? (nestedUpdateScheduled = true, endTime === rootWithNestedUpdates ? nestedUpdateCount++ : (nestedUpdateCount = 0, rootWithNestedUpdates = endTime)) : (nestedUpdateCount = 0, rootWithNestedUpdates = null);
14516 passiveSubtreeMask || finalizeRender(abortedViewTransition, commitEndTime);
14517 flushSyncWorkAcrossRoots_impl(0, false);
14518 }
14519 }
14520 function makeErrorInfo(componentStack) {
14521 componentStack = { componentStack };
14522 Object.defineProperty(componentStack, "digest", {
14523 get: function() {
14524 console.error(
14525 'You are accessing "digest" from the errorInfo object passed to onRecoverableError. This property is no longer provided as part of errorInfo but can be accessed as a property of the Error instance itself.'
14526 );
14527 }
14528 });
14529 return componentStack;
14530 }
14531 function releaseRootPooledCache(root2, remainingLanes) {
14532 0 === (root2.pooledCacheLanes &= remainingLanes) && (remainingLanes = root2.pooledCache, null != remainingLanes && (root2.pooledCache = null, releaseCache(remainingLanes)));
14533 }
14534 function flushPendingEffects() {
14535 null !== pendingViewTransition && (pendingViewTransition.skipTransition(), didWarnAboutInterruptedViewTransitions || (didWarnAboutInterruptedViewTransitions = true, console.warn(
14536 "A flushSync update cancelled a View Transition because it was called while the View Transition was still preparing. To preserve the synchronous semantics, React had to skip the View Transition. If you can, try to avoid flushSync() in a scenario that's likely to interfere."
14537 )), pendingViewTransition = null, pendingDelayedCommitReason = ABORTED_VIEW_TRANSITION_COMMIT);
14538 flushMutationEffects();
14539 flushLayoutEffects();
14540 flushSpawnedWork();
14541 return flushPassiveEffects();
14542 }
14543 function flushPassiveEffects() {
14544 if (pendingEffectsStatus !== PENDING_PASSIVE_PHASE) return false;
14545 var root2 = pendingEffectsRoot, remainingLanes = pendingEffectsRemainingLanes;
14546 pendingEffectsRemainingLanes = 0;
14547 var renderPriority = lanesToEventPriority(pendingEffectsLanes), priority = 0 === DefaultEventPriority || DefaultEventPriority > renderPriority ? DefaultEventPriority : renderPriority;
14548 renderPriority = ReactSharedInternals.T;
14549 var previousPriority = ReactDOMSharedInternals.p;
14550 try {
14551 ReactDOMSharedInternals.p = priority;
14552 ReactSharedInternals.T = null;
14553 var transitions = pendingPassiveTransitions;
14554 pendingPassiveTransitions = null;
14555 priority = pendingEffectsRoot;
14556 var lanes = pendingEffectsLanes;
14557 pendingEffectsStatus = NO_PENDING_EFFECTS;
14558 pendingFinishedWork = pendingEffectsRoot = null;
14559 pendingEffectsLanes = 0;
14560 if ((executionContext & (RenderContext | CommitContext)) !== NoContext)
14561 throw Error("Cannot flush passive effects while already rendering.");
14562 setCurrentTrackFromLanes(lanes);
14563 isFlushingPassiveEffects = true;
14564 didScheduleUpdateDuringPassiveEffects = false;
14565 var passiveEffectStartTime = 0;
14566 commitErrors = null;
14567 passiveEffectStartTime = now$1();
14568 if (pendingDelayedCommitReason === ANIMATION_STARTED_COMMIT)
14569 logAnimatingPhase(
14570 commitEndTime,
14571 passiveEffectStartTime,
14572 animatingTask
14573 );
14574 else {
14575 var startTime = commitEndTime, endTime = passiveEffectStartTime, delayedUntilPaint = pendingDelayedCommitReason === DELAYED_PASSIVE_COMMIT;
14576 !supportsUserTiming || endTime <= startTime || (workInProgressUpdateTask ? workInProgressUpdateTask.run(
14577 console.timeStamp.bind(
14578 console,
14579 delayedUntilPaint ? "Waiting for Paint" : "Waiting",
14580 startTime,
14581 endTime,
14582 currentTrack,
14583 LANES_TRACK_GROUP,
14584 "secondary-light"
14585 )
14586 ) : console.timeStamp(
14587 delayedUntilPaint ? "Waiting for Paint" : "Waiting",
14588 startTime,
14589 endTime,
14590 currentTrack,
14591 LANES_TRACK_GROUP,
14592 "secondary-light"
14593 ));
14594 }
14595 startTime = executionContext;
14596 executionContext |= CommitContext;
14597 var finishedWork = priority.current;
14598 resetComponentEffectTimers();
14599 commitPassiveUnmountOnFiber(finishedWork);
14600 var finishedWork$jscomp$0 = priority.current;
14601 finishedWork = pendingEffectsRenderEndTime;
14602 resetComponentEffectTimers();
14603 commitPassiveMountOnFiber(
14604 priority,
14605 finishedWork$jscomp$0,
14606 lanes,
14607 transitions,
14608 finishedWork
14609 );
14610 commitDoubleInvokeEffectsInDEV(priority);
14611 executionContext = startTime;
14612 var passiveEffectsEndTime = now$1();
14613 finishedWork$jscomp$0 = passiveEffectStartTime;
14614 finishedWork = workInProgressUpdateTask;
14615 null !== commitErrors ? logCommitErrored(
14616 finishedWork$jscomp$0,
14617 passiveEffectsEndTime,
14618 commitErrors,
14619 true,
14620 finishedWork
14621 ) : !supportsUserTiming || passiveEffectsEndTime <= finishedWork$jscomp$0 || (finishedWork ? finishedWork.run(
14622 console.timeStamp.bind(
14623 console,
14624 "Remaining Effects",
14625 finishedWork$jscomp$0,
14626 passiveEffectsEndTime,
14627 currentTrack,
14628 LANES_TRACK_GROUP,
14629 "secondary-dark"
14630 )
14631 ) : console.timeStamp(
14632 "Remaining Effects",
14633 finishedWork$jscomp$0,
14634 passiveEffectsEndTime,
14635 currentTrack,
14636 LANES_TRACK_GROUP,
14637 "secondary-dark"
14638 ));
14639 finalizeRender(lanes, passiveEffectsEndTime);
14640 flushSyncWorkAcrossRoots_impl(0, false);
14641 didScheduleUpdateDuringPassiveEffects ? priority === rootWithPassiveNestedUpdates ? nestedPassiveUpdateCount++ : (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = priority) : nestedPassiveUpdateCount = 0;
14642 didScheduleUpdateDuringPassiveEffects = isFlushingPassiveEffects = false;
14643 if (injectedHook && "function" === typeof injectedHook.onPostCommitFiberRoot)
14644 try {
14645 injectedHook.onPostCommitFiberRoot(rendererID, priority);
14646 } catch (err) {
14647 hasLoggedError || (hasLoggedError = true, console.error(
14648 "React instrumentation encountered an error: %o",
14649 err
14650 ));
14651 }
14652 var stateNode = priority.current.stateNode;
14653 stateNode.effectDuration = 0;
14654 stateNode.passiveEffectDuration = 0;
14655 return true;
14656 } finally {
14657 ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = renderPriority, releaseRootPooledCache(root2, remainingLanes);
14658 }
14659 }
14660 function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {
14661 sourceFiber = createCapturedValueAtFiber(error, sourceFiber);
14662 recordEffectError(sourceFiber);
14663 sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2);
14664 rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2);
14665 null !== rootFiber && (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber));
14666 }
14667 function captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) {
14668 isRunningInsertionEffect = false;
14669 if (3 === sourceFiber.tag)
14670 captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);
14671 else {
14672 for (; null !== nearestMountedAncestor; ) {
14673 if (3 === nearestMountedAncestor.tag) {
14674 captureCommitPhaseErrorOnRoot(
14675 nearestMountedAncestor,
14676 sourceFiber,
14677 error
14678 );
14679 return;
14680 }
14681 if (1 === nearestMountedAncestor.tag) {
14682 var instance = nearestMountedAncestor.stateNode;
14683 if ("function" === typeof nearestMountedAncestor.type.getDerivedStateFromError || "function" === typeof instance.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(instance))) {
14684 sourceFiber = createCapturedValueAtFiber(error, sourceFiber);
14685 recordEffectError(sourceFiber);
14686 error = createClassErrorUpdate(2);
14687 instance = enqueueUpdate(nearestMountedAncestor, error, 2);
14688 null !== instance && (initializeClassErrorUpdate(
14689 error,
14690 instance,
14691 nearestMountedAncestor,
14692 sourceFiber
14693 ), markRootUpdated$1(instance, 2), ensureRootIsScheduled(instance));
14694 return;
14695 }
14696 }
14697 nearestMountedAncestor = nearestMountedAncestor.return;
14698 }
14699 console.error(
14700 "Internal React error: Attempted to capture a commit phase error inside a detached tree. This indicates a bug in React. Potential causes include deleting the same fiber more than once, committing an already-finished tree, or an inconsistent return pointer.\n\nError message:\n\n%s",
14701 error
14702 );
14703 }
14704 }
14705 function attachPingListener(root2, wakeable, lanes) {
14706 var pingCache = root2.pingCache;
14707 if (null === pingCache) {
14708 pingCache = root2.pingCache = new PossiblyWeakMap();
14709 var threadIDs = /* @__PURE__ */ new Set();
14710 pingCache.set(wakeable, threadIDs);
14711 } else
14712 threadIDs = pingCache.get(wakeable), void 0 === threadIDs && (threadIDs = /* @__PURE__ */ new Set(), pingCache.set(wakeable, threadIDs));
14713 threadIDs.has(lanes) || (workInProgressRootDidAttachPingListener = true, threadIDs.add(lanes), pingCache = pingSuspendedRoot.bind(null, root2, wakeable, lanes), isDevToolsPresent && restorePendingUpdaters(root2, lanes), wakeable.then(pingCache, pingCache));
14714 }
14715 function pingSuspendedRoot(root2, wakeable, pingedLanes) {
14716 var pingCache = root2.pingCache;
14717 null !== pingCache && pingCache.delete(wakeable);
14718 root2.pingedLanes |= root2.suspendedLanes & pingedLanes;
14719 root2.warmLanes &= ~pingedLanes;
14720 0 !== (pingedLanes & 127) ? 0 > blockingUpdateTime && (blockingClampTime = blockingUpdateTime = now(), blockingUpdateTask = createTask("Promise Resolved"), blockingUpdateType = PINGED_UPDATE) : 0 !== (pingedLanes & 4194048) && 0 > transitionUpdateTime && (transitionClampTime = transitionUpdateTime = now(), transitionUpdateTask = createTask("Promise Resolved"), transitionUpdateType = PINGED_UPDATE);
14721 isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && console.error(
14722 "A suspended resource finished loading inside a test, but the event was not wrapped in act(...).\n\nWhen testing, code that resolves suspended data should be wrapped into act(...):\n\nact(() => {\n /* finish loading suspended data */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act"
14723 );
14724 workInProgressRoot === root2 && (workInProgressRootRenderLanes & pingedLanes) === pingedLanes && (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && (workInProgressRootRenderLanes & 62914560) === workInProgressRootRenderLanes && now$1() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS ? (executionContext & RenderContext) === NoContext ? prepareFreshStack(root2, 0) : workInProgressRootPingedLanes |= pingedLanes : workInProgressRootPingedLanes |= pingedLanes, workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes && (workInProgressSuspendedRetryLanes = 0));
14725 ensureRootIsScheduled(root2);
14726 }
14727 function retryTimedOutBoundary(boundaryFiber, retryLane) {
14728 0 === retryLane && (retryLane = claimNextRetryLane());
14729 boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);
14730 null !== boundaryFiber && (markRootUpdated$1(boundaryFiber, retryLane), ensureRootIsScheduled(boundaryFiber));
14731 }
14732 function retryDehydratedSuspenseBoundary(boundaryFiber) {
14733 var suspenseState = boundaryFiber.memoizedState, retryLane = 0;
14734 null !== suspenseState && (retryLane = suspenseState.retryLane);
14735 retryTimedOutBoundary(boundaryFiber, retryLane);
14736 }
14737 function resolveRetryWakeable(boundaryFiber, wakeable) {
14738 var retryLane = 0;
14739 switch (boundaryFiber.tag) {
14740 case 31:
14741 case 13:
14742 var retryCache = boundaryFiber.stateNode;
14743 var suspenseState = boundaryFiber.memoizedState;
14744 null !== suspenseState && (retryLane = suspenseState.retryLane);
14745 break;
14746 case 19:
14747 retryCache = boundaryFiber.stateNode;
14748 break;
14749 case 22:
14750 retryCache = boundaryFiber.stateNode._retryCache;
14751 break;
14752 default:
14753 throw Error(
14754 "Pinged unknown suspense boundary type. This is probably a bug in React."
14755 );
14756 }
14757 null !== retryCache && retryCache.delete(wakeable);
14758 retryTimedOutBoundary(boundaryFiber, retryLane);
14759 }
14760 function recursivelyTraverseAndDoubleInvokeEffectsInDEV(root$jscomp$0, parentFiber, isInStrictMode) {
14761 if (0 !== (parentFiber.subtreeFlags & 134225920))
14762 for (parentFiber = parentFiber.child; null !== parentFiber; ) {
14763 var root2 = root$jscomp$0, fiber = parentFiber, isStrictModeFiber = fiber.type === REACT_STRICT_MODE_TYPE;
14764 isStrictModeFiber = isInStrictMode || isStrictModeFiber;
14765 22 !== fiber.tag ? fiber.flags & 134217728 ? isStrictModeFiber && runWithFiberInDEV(
14766 fiber,
14767 doubleInvokeEffectsOnFiber,
14768 root2,
14769 fiber
14770 ) : recursivelyTraverseAndDoubleInvokeEffectsInDEV(
14771 root2,
14772 fiber,
14773 isStrictModeFiber
14774 ) : null === fiber.memoizedState && (isStrictModeFiber && fiber.flags & 134225920 ? runWithFiberInDEV(
14775 fiber,
14776 doubleInvokeEffectsOnFiber,
14777 root2,
14778 fiber
14779 ) : fiber.subtreeFlags & 134217728 && runWithFiberInDEV(
14780 fiber,
14781 recursivelyTraverseAndDoubleInvokeEffectsInDEV,
14782 root2,
14783 fiber,
14784 isStrictModeFiber
14785 ));
14786 parentFiber = parentFiber.sibling;
14787 }
14788 }
14789 function doubleInvokeEffectsOnFiber(root2, fiber) {
14790 setIsStrictModeForDevtools(true);
14791 try {
14792 disappearLayoutEffects(fiber, NoLayoutEffectTraversalFlags), disconnectPassiveEffect(fiber), reappearLayoutEffects(
14793 root2,
14794 fiber.alternate,
14795 fiber,
14796 NoLayoutEffectTraversalFlags
14797 ), reconnectPassiveEffects(root2, fiber, 0, null, false, 0);
14798 } finally {
14799 setIsStrictModeForDevtools(false);
14800 }
14801 }
14802 function commitDoubleInvokeEffectsInDEV(root2) {
14803 var doubleInvokeEffects = true;
14804 root2.current.mode & (StrictLegacyMode | StrictEffectsMode) || (doubleInvokeEffects = false);
14805 recursivelyTraverseAndDoubleInvokeEffectsInDEV(
14806 root2,
14807 root2.current,
14808 doubleInvokeEffects
14809 );
14810 }
14811 function warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) {
14812 if ((executionContext & RenderContext) === NoContext) {
14813 var tag = fiber.tag;
14814 if (3 === tag || 1 === tag || 0 === tag || 11 === tag || 14 === tag || 15 === tag) {
14815 tag = getComponentNameFromFiber(fiber) || "ReactComponent";
14816 if (null !== didWarnStateUpdateForNotYetMountedComponent) {
14817 if (didWarnStateUpdateForNotYetMountedComponent.has(tag)) return;
14818 didWarnStateUpdateForNotYetMountedComponent.add(tag);
14819 } else didWarnStateUpdateForNotYetMountedComponent = /* @__PURE__ */ new Set([tag]);
14820 runWithFiberInDEV(fiber, function() {
14821 console.error(
14822 "Can't perform a React state update on a component that hasn't mounted yet. This indicates that you have a side-effect in your render function that asynchronously tries to update the component. Move this work to useEffect instead."
14823 );
14824 });
14825 }
14826 }
14827 }
14828 function restorePendingUpdaters(root2, lanes) {
14829 isDevToolsPresent && root2.memoizedUpdaters.forEach(function(schedulingFiber) {
14830 addFiberToLanesMap(root2, schedulingFiber, lanes);
14831 });
14832 }
14833 function scheduleCallback$1(priorityLevel, callback) {
14834 var actQueue = ReactSharedInternals.actQueue;
14835 return null !== actQueue ? (actQueue.push(callback), fakeActCallbackNode$1) : scheduleCallback$3(priorityLevel, callback);
14836 }
14837 function warnIfUpdatesNotWrappedWithActDEV(fiber) {
14838 isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && runWithFiberInDEV(fiber, function() {
14839 console.error(
14840 "An update to %s inside a test was not wrapped in act(...).\n\nWhen testing, code that causes React state updates should be wrapped into act(...):\n\nact(() => {\n /* fire events that update state */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act",
14841 getComponentNameFromFiber(fiber)
14842 );
14843 });
14844 }
14845 function ensureRootIsScheduled(root2) {
14846 root2 !== lastScheduledRoot && null === root2.next && (null === lastScheduledRoot ? firstScheduledRoot = lastScheduledRoot = root2 : lastScheduledRoot = lastScheduledRoot.next = root2);
14847 mightHavePendingSyncWork = true;
14848 null !== ReactSharedInternals.actQueue ? didScheduleMicrotask_act || (didScheduleMicrotask_act = true, scheduleImmediateRootScheduleTask()) : didScheduleMicrotask || (didScheduleMicrotask = true, scheduleImmediateRootScheduleTask());
14849 }
14850 function flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) {
14851 if (!isFlushingWork && mightHavePendingSyncWork) {
14852 isFlushingWork = true;
14853 do {
14854 var didPerformSomeWork = false;
14855 for (var root2 = firstScheduledRoot; null !== root2; ) {
14856 if (!onlyLegacy)
14857 if (0 !== syncTransitionLanes) {
14858 var pendingLanes = root2.pendingLanes;
14859 if (0 === pendingLanes) var nextLanes = 0;
14860 else {
14861 var suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes;
14862 nextLanes = (1 << 31 - clz32(42 | syncTransitionLanes) + 1) - 1;
14863 nextLanes &= pendingLanes & ~(suspendedLanes & ~pingedLanes);
14864 nextLanes = nextLanes & 201326741 ? nextLanes & 201326741 | 1 : nextLanes ? nextLanes | 2 : 0;
14865 }
14866 0 !== nextLanes && (didPerformSomeWork = true, performSyncWorkOnRoot(root2, nextLanes));
14867 } else
14868 nextLanes = workInProgressRootRenderLanes, nextLanes = getNextLanes(
14869 root2,
14870 root2 === workInProgressRoot ? nextLanes : 0,
14871 null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout
14872 ), 0 === (nextLanes & 3) || checkIfRootIsPrerendering(root2, nextLanes) || (didPerformSomeWork = true, performSyncWorkOnRoot(root2, nextLanes));
14873 root2 = root2.next;
14874 }
14875 } while (didPerformSomeWork);
14876 isFlushingWork = false;
14877 }
14878 }
14879 function processRootScheduleInImmediateTask() {
14880 schedulerEvent = window.event;
14881 processRootScheduleInMicrotask();
14882 }
14883 function processRootScheduleInMicrotask() {
14884 mightHavePendingSyncWork = didScheduleMicrotask_act = didScheduleMicrotask = false;
14885 var syncTransitionLanes = 0;
14886 0 !== currentEventTransitionLane && shouldAttemptEagerTransition() && (syncTransitionLanes = currentEventTransitionLane);
14887 for (var currentTime = now$1(), prev = null, root2 = firstScheduledRoot; null !== root2; ) {
14888 var next = root2.next, nextLanes = scheduleTaskForRootDuringMicrotask(root2, currentTime);
14889 if (0 === nextLanes)
14890 root2.next = null, null === prev ? firstScheduledRoot = next : prev.next = next, null === next && (lastScheduledRoot = prev);
14891 else if (prev = root2, 0 !== syncTransitionLanes || 0 !== (nextLanes & 3))
14892 mightHavePendingSyncWork = true;
14893 root2 = next;
14894 }
14895 pendingEffectsStatus !== NO_PENDING_EFFECTS && pendingEffectsStatus !== PENDING_PASSIVE_PHASE || flushSyncWorkAcrossRoots_impl(syncTransitionLanes, false);
14896 0 !== currentEventTransitionLane && (currentEventTransitionLane = 0);
14897 }
14898 function scheduleTaskForRootDuringMicrotask(root2, currentTime) {
14899 for (var suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes, expirationTimes = root2.expirationTimes, lanes = root2.pendingLanes & -62914561; 0 < lanes; ) {
14900 var index = 31 - clz32(lanes), lane = 1 << index, expirationTime = expirationTimes[index];
14901 if (-1 === expirationTime) {
14902 if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes))
14903 expirationTimes[index] = computeExpirationTime(lane, currentTime);
14904 } else expirationTime <= currentTime && (root2.expiredLanes |= lane);
14905 lanes &= ~lane;
14906 }
14907 currentTime = workInProgressRoot;
14908 suspendedLanes = workInProgressRootRenderLanes;
14909 suspendedLanes = getNextLanes(
14910 root2,
14911 root2 === currentTime ? suspendedLanes : 0,
14912 null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout
14913 );
14914 pingedLanes = root2.callbackNode;
14915 if (0 === suspendedLanes || root2 === currentTime && (workInProgressSuspendedReason === SuspendedOnData || workInProgressSuspendedReason === SuspendedOnAction) || null !== root2.cancelPendingCommit)
14916 return null !== pingedLanes && cancelCallback(pingedLanes), root2.callbackNode = null, root2.callbackPriority = 0;
14917 if (0 === (suspendedLanes & 3) || checkIfRootIsPrerendering(root2, suspendedLanes)) {
14918 currentTime = suspendedLanes & -suspendedLanes;
14919 if (currentTime !== root2.callbackPriority || null !== ReactSharedInternals.actQueue && pingedLanes !== fakeActCallbackNode)
14920 cancelCallback(pingedLanes);
14921 else return currentTime;
14922 switch (lanesToEventPriority(suspendedLanes)) {
14923 case DiscreteEventPriority:
14924 case ContinuousEventPriority:
14925 suspendedLanes = UserBlockingPriority;
14926 break;
14927 case DefaultEventPriority:
14928 suspendedLanes = NormalPriority$1;
14929 break;
14930 case IdleEventPriority:
14931 suspendedLanes = IdlePriority;
14932 break;
14933 default:
14934 suspendedLanes = NormalPriority$1;
14935 }
14936 pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root2);
14937 null !== ReactSharedInternals.actQueue ? (ReactSharedInternals.actQueue.push(pingedLanes), suspendedLanes = fakeActCallbackNode) : suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes);
14938 root2.callbackPriority = currentTime;
14939 root2.callbackNode = suspendedLanes;
14940 return currentTime;
14941 }
14942 null !== pingedLanes && cancelCallback(pingedLanes);
14943 root2.callbackPriority = 2;
14944 root2.callbackNode = null;
14945 return 2;
14946 }
14947 function performWorkOnRootViaSchedulerTask(root2, didTimeout) {
14948 nestedUpdateScheduled = currentUpdateIsNested = false;
14949 schedulerEvent = window.event;
14950 if (pendingEffectsStatus !== NO_PENDING_EFFECTS && pendingEffectsStatus !== PENDING_PASSIVE_PHASE)
14951 return root2.callbackNode = null, root2.callbackPriority = 0, null;
14952 var originalCallbackNode = root2.callbackNode;
14953 pendingDelayedCommitReason === IMMEDIATE_COMMIT && (pendingDelayedCommitReason = DELAYED_PASSIVE_COMMIT);
14954 if (flushPendingEffects() && root2.callbackNode !== originalCallbackNode)
14955 return null;
14956 var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes;
14957 workInProgressRootRenderLanes$jscomp$0 = getNextLanes(
14958 root2,
14959 root2 === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0,
14960 null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout
14961 );
14962 if (0 === workInProgressRootRenderLanes$jscomp$0) return null;
14963 performWorkOnRoot(
14964 root2,
14965 workInProgressRootRenderLanes$jscomp$0,
14966 didTimeout
14967 );
14968 scheduleTaskForRootDuringMicrotask(root2, now$1());
14969 return null != root2.callbackNode && root2.callbackNode === originalCallbackNode ? performWorkOnRootViaSchedulerTask.bind(null, root2) : null;
14970 }
14971 function performSyncWorkOnRoot(root2, lanes) {
14972 if (flushPendingEffects()) return null;
14973 currentUpdateIsNested = nestedUpdateScheduled;
14974 nestedUpdateScheduled = false;
14975 performWorkOnRoot(root2, lanes, true);
14976 }
14977 function cancelCallback(callbackNode) {
14978 callbackNode !== fakeActCallbackNode && null !== callbackNode && cancelCallback$1(callbackNode);
14979 }
14980 function scheduleImmediateRootScheduleTask() {
14981 null !== ReactSharedInternals.actQueue && ReactSharedInternals.actQueue.push(function() {
14982 processRootScheduleInMicrotask();
14983 return null;
14984 });
14985 scheduleMicrotask(function() {
14986 (executionContext & (RenderContext | CommitContext)) !== NoContext ? scheduleCallback$3(
14987 ImmediatePriority,
14988 processRootScheduleInImmediateTask
14989 ) : processRootScheduleInMicrotask();
14990 });
14991 }
14992 function requestTransitionLane() {
14993 if (0 === currentEventTransitionLane) {
14994 var actionScopeLane = currentEntangledLane;
14995 0 === actionScopeLane && (actionScopeLane = nextTransitionUpdateLane, nextTransitionUpdateLane <<= 1, 0 === (nextTransitionUpdateLane & 261888) && (nextTransitionUpdateLane = 256));
14996 currentEventTransitionLane = actionScopeLane;
14997 }
14998 return currentEventTransitionLane;
14999 }
15000 function coerceFormActionProp(actionProp) {
15001 if (null == actionProp || "symbol" === typeof actionProp || "boolean" === typeof actionProp)
15002 return null;
15003 if ("function" === typeof actionProp) return actionProp;
15004 checkAttributeStringCoercion(actionProp, "action");
15005 return sanitizeURL(actionProp);
15006 }
15007 function extractEvents$1(dispatchQueue, domEventName, maybeTargetInst, nativeEvent, nativeEventTarget) {
15008 if ("submit" === domEventName && maybeTargetInst && maybeTargetInst.stateNode === nativeEventTarget) {
15009 var action = coerceFormActionProp(
15010 (nativeEventTarget[internalPropsKey] || null).action
15011 ), submitter = nativeEvent.submitter;
15012 submitter && (domEventName = (domEventName = submitter[internalPropsKey] || null) ? coerceFormActionProp(domEventName.formAction) : submitter.getAttribute("formAction"), null !== domEventName && (action = domEventName, submitter = null));
15013 var event = new SyntheticEvent(
15014 "action",
15015 "action",
15016 null,
15017 nativeEvent,
15018 nativeEventTarget
15019 );
15020 dispatchQueue.push({
15021 event,
15022 listeners: [
15023 {
15024 instance: null,
15025 listener: function() {
15026 if (nativeEvent.defaultPrevented) {
15027 if (0 !== currentEventTransitionLane) {
15028 var formData = new FormData(nativeEventTarget, submitter), pendingState = {
15029 pending: true,
15030 data: formData,
15031 method: nativeEventTarget.method,
15032 action
15033 };
15034 Object.freeze(pendingState);
15035 startHostTransition(
15036 maybeTargetInst,
15037 pendingState,
15038 null,
15039 formData
15040 );
15041 }
15042 } else
15043 "function" === typeof action && (event.preventDefault(), formData = new FormData(nativeEventTarget, submitter), pendingState = {
15044 pending: true,
15045 data: formData,
15046 method: nativeEventTarget.method,
15047 action
15048 }, Object.freeze(pendingState), startHostTransition(
15049 maybeTargetInst,
15050 pendingState,
15051 action,
15052 formData
15053 ));
15054 },
15055 currentTarget: nativeEventTarget
15056 }
15057 ]
15058 });
15059 }
15060 }
15061 function executeDispatch(event, listener, currentTarget) {
15062 event.currentTarget = currentTarget;
15063 try {
15064 listener(event);
15065 } catch (error) {
15066 reportGlobalError(error);
15067 }
15068 event.currentTarget = null;
15069 }
15070 function processDispatchQueue(dispatchQueue, eventSystemFlags) {
15071 eventSystemFlags = 0 !== (eventSystemFlags & 4);
15072 for (var i = 0; i < dispatchQueue.length; i++) {
15073 var _dispatchQueue$i = dispatchQueue[i];
15074 a: {
15075 var previousInstance = void 0, event = _dispatchQueue$i.event;
15076 _dispatchQueue$i = _dispatchQueue$i.listeners;
15077 if (eventSystemFlags)
15078 for (var i$jscomp$0 = _dispatchQueue$i.length - 1; 0 <= i$jscomp$0; i$jscomp$0--) {
15079 var _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0], instance = _dispatchListeners$i.instance, currentTarget = _dispatchListeners$i.currentTarget;
15080 _dispatchListeners$i = _dispatchListeners$i.listener;
15081 if (instance !== previousInstance && event.isPropagationStopped())
15082 break a;
15083 null !== instance ? runWithFiberInDEV(
15084 instance,
15085 executeDispatch,
15086 event,
15087 _dispatchListeners$i,
15088 currentTarget
15089 ) : executeDispatch(event, _dispatchListeners$i, currentTarget);
15090 previousInstance = instance;
15091 }
15092 else
15093 for (i$jscomp$0 = 0; i$jscomp$0 < _dispatchQueue$i.length; i$jscomp$0++) {
15094 _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0];
15095 instance = _dispatchListeners$i.instance;
15096 currentTarget = _dispatchListeners$i.currentTarget;
15097 _dispatchListeners$i = _dispatchListeners$i.listener;
15098 if (instance !== previousInstance && event.isPropagationStopped())
15099 break a;
15100 null !== instance ? runWithFiberInDEV(
15101 instance,
15102 executeDispatch,
15103 event,
15104 _dispatchListeners$i,
15105 currentTarget
15106 ) : executeDispatch(event, _dispatchListeners$i, currentTarget);
15107 previousInstance = instance;
15108 }
15109 }
15110 }
15111 }
15112 function listenToNonDelegatedEvent(domEventName, targetElement) {
15113 nonDelegatedEvents.has(domEventName) || console.error(
15114 'Did not expect a listenToNonDelegatedEvent() call for "%s". This is a bug in React. Please file an issue.',
15115 domEventName
15116 );
15117 var listenerSet = targetElement[internalEventHandlersKey];
15118 void 0 === listenerSet && (listenerSet = targetElement[internalEventHandlersKey] = /* @__PURE__ */ new Set());
15119 var listenerSetKey = domEventName + "__bubble";
15120 listenerSet.has(listenerSetKey) || (addTrappedEventListener(targetElement, domEventName, 2, false), listenerSet.add(listenerSetKey));
15121 }
15122 function listenToNativeEvent(domEventName, isCapturePhaseListener, target) {
15123 nonDelegatedEvents.has(domEventName) && !isCapturePhaseListener && console.error(
15124 'Did not expect a listenToNativeEvent() call for "%s" in the bubble phase. This is a bug in React. Please file an issue.',
15125 domEventName
15126 );
15127 var eventSystemFlags = 0;
15128 isCapturePhaseListener && (eventSystemFlags |= 4);
15129 addTrappedEventListener(
15130 target,
15131 domEventName,
15132 eventSystemFlags,
15133 isCapturePhaseListener
15134 );
15135 }
15136 function listenToAllSupportedEvents(rootContainerElement) {
15137 if (!rootContainerElement[listeningMarker]) {
15138 rootContainerElement[listeningMarker] = true;
15139 allNativeEvents.forEach(function(domEventName) {
15140 "selectionchange" !== domEventName && (nonDelegatedEvents.has(domEventName) || listenToNativeEvent(domEventName, false, rootContainerElement), listenToNativeEvent(domEventName, true, rootContainerElement));
15141 });
15142 var ownerDocument = 9 === rootContainerElement.nodeType ? rootContainerElement : rootContainerElement.ownerDocument;
15143 null === ownerDocument || ownerDocument[listeningMarker] || (ownerDocument[listeningMarker] = true, listenToNativeEvent("selectionchange", false, ownerDocument));
15144 }
15145 }
15146 function addTrappedEventListener(targetContainer, domEventName, eventSystemFlags, isCapturePhaseListener) {
15147 switch (getEventPriority(domEventName)) {
15148 case DiscreteEventPriority:
15149 var listenerWrapper = dispatchDiscreteEvent;
15150 break;
15151 case ContinuousEventPriority:
15152 listenerWrapper = dispatchContinuousEvent;
15153 break;
15154 default:
15155 listenerWrapper = dispatchEvent;
15156 }
15157 eventSystemFlags = listenerWrapper.bind(
15158 null,
15159 domEventName,
15160 eventSystemFlags,
15161 targetContainer
15162 );
15163 listenerWrapper = void 0;
15164 !passiveBrowserEventsSupported || "touchstart" !== domEventName && "touchmove" !== domEventName && "wheel" !== domEventName || (listenerWrapper = true);
15165 isCapturePhaseListener ? void 0 !== listenerWrapper ? targetContainer.addEventListener(domEventName, eventSystemFlags, {
15166 capture: true,
15167 passive: listenerWrapper
15168 }) : targetContainer.addEventListener(domEventName, eventSystemFlags, true) : void 0 !== listenerWrapper ? targetContainer.addEventListener(domEventName, eventSystemFlags, {
15169 passive: listenerWrapper
15170 }) : targetContainer.addEventListener(
15171 domEventName,
15172 eventSystemFlags,
15173 false
15174 );
15175 }
15176 function dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, targetInst$jscomp$0, targetContainer) {
15177 var ancestorInst = targetInst$jscomp$0;
15178 if (0 === (eventSystemFlags & 1) && 0 === (eventSystemFlags & 2) && null !== targetInst$jscomp$0)
15179 a: for (; ; ) {
15180 if (null === targetInst$jscomp$0) return;
15181 var nodeTag = targetInst$jscomp$0.tag;
15182 if (3 === nodeTag || 4 === nodeTag) {
15183 var container = targetInst$jscomp$0.stateNode.containerInfo;
15184 if (container === targetContainer) break;
15185 if (4 === nodeTag)
15186 for (nodeTag = targetInst$jscomp$0.return; null !== nodeTag; ) {
15187 var grandTag = nodeTag.tag;
15188 if ((3 === grandTag || 4 === grandTag) && nodeTag.stateNode.containerInfo === targetContainer)
15189 return;
15190 nodeTag = nodeTag.return;
15191 }
15192 for (; null !== container; ) {
15193 nodeTag = getClosestInstanceFromNode(container);
15194 if (null === nodeTag) return;
15195 grandTag = nodeTag.tag;
15196 if (5 === grandTag || 6 === grandTag || 26 === grandTag || 27 === grandTag) {
15197 targetInst$jscomp$0 = ancestorInst = nodeTag;
15198 continue a;
15199 }
15200 container = container.parentNode;
15201 }
15202 }
15203 targetInst$jscomp$0 = targetInst$jscomp$0.return;
15204 }
15205 batchedUpdates$1(function() {
15206 var targetInst = ancestorInst, nativeEventTarget = getEventTarget(nativeEvent), dispatchQueue = [];
15207 a: {
15208 var reactName = topLevelEventsToReactNames.get(domEventName);
15209 if (void 0 !== reactName) {
15210 var SyntheticEventCtor = SyntheticEvent, reactEventType = domEventName;
15211 switch (domEventName) {
15212 case "keypress":
15213 if (0 === getEventCharCode(nativeEvent)) break a;
15214 case "keydown":
15215 case "keyup":
15216 SyntheticEventCtor = SyntheticKeyboardEvent;
15217 break;
15218 case "focusin":
15219 reactEventType = "focus";
15220 SyntheticEventCtor = SyntheticFocusEvent;
15221 break;
15222 case "focusout":
15223 reactEventType = "blur";
15224 SyntheticEventCtor = SyntheticFocusEvent;
15225 break;
15226 case "beforeblur":
15227 case "afterblur":
15228 SyntheticEventCtor = SyntheticFocusEvent;
15229 break;
15230 case "click":
15231 if (2 === nativeEvent.button) break a;
15232 case "auxclick":
15233 case "dblclick":
15234 case "mousedown":
15235 case "mousemove":
15236 case "mouseup":
15237 case "mouseout":
15238 case "mouseover":
15239 case "contextmenu":
15240 SyntheticEventCtor = SyntheticMouseEvent;
15241 break;
15242 case "drag":
15243 case "dragend":
15244 case "dragenter":
15245 case "dragexit":
15246 case "dragleave":
15247 case "dragover":
15248 case "dragstart":
15249 case "drop":
15250 SyntheticEventCtor = SyntheticDragEvent;
15251 break;
15252 case "touchcancel":
15253 case "touchend":
15254 case "touchmove":
15255 case "touchstart":
15256 SyntheticEventCtor = SyntheticTouchEvent;
15257 break;
15258 case ANIMATION_END:
15259 case ANIMATION_ITERATION:
15260 case ANIMATION_START:
15261 SyntheticEventCtor = SyntheticAnimationEvent;
15262 break;
15263 case TRANSITION_END:
15264 SyntheticEventCtor = SyntheticTransitionEvent;
15265 break;
15266 case "scroll":
15267 case "scrollend":
15268 SyntheticEventCtor = SyntheticUIEvent;
15269 break;
15270 case "wheel":
15271 SyntheticEventCtor = SyntheticWheelEvent;
15272 break;
15273 case "copy":
15274 case "cut":
15275 case "paste":
15276 SyntheticEventCtor = SyntheticClipboardEvent;
15277 break;
15278 case "gotpointercapture":
15279 case "lostpointercapture":
15280 case "pointercancel":
15281 case "pointerdown":
15282 case "pointermove":
15283 case "pointerout":
15284 case "pointerover":
15285 case "pointerup":
15286 SyntheticEventCtor = SyntheticPointerEvent;
15287 break;
15288 case "submit":
15289 SyntheticEventCtor = SyntheticSubmitEvent;
15290 break;
15291 case "toggle":
15292 case "beforetoggle":
15293 SyntheticEventCtor = SyntheticToggleEvent;
15294 }
15295 var inCapturePhase = 0 !== (eventSystemFlags & 4), accumulateTargetOnly = !inCapturePhase && ("scroll" === domEventName || "scrollend" === domEventName), reactEventName = inCapturePhase ? null !== reactName ? reactName + "Capture" : null : reactName;
15296 inCapturePhase = [];
15297 for (var instance = targetInst, lastHostComponent; null !== instance; ) {
15298 var _instance2 = instance;
15299 lastHostComponent = _instance2.stateNode;
15300 _instance2 = _instance2.tag;
15301 5 !== _instance2 && 26 !== _instance2 && 27 !== _instance2 || null === lastHostComponent || null === reactEventName || (_instance2 = getListener(instance, reactEventName), null != _instance2 && inCapturePhase.push(
15302 createDispatchListener(
15303 instance,
15304 _instance2,
15305 lastHostComponent
15306 )
15307 ));
15308 if (accumulateTargetOnly) break;
15309 instance = instance.return;
15310 }
15311 0 < inCapturePhase.length && (reactName = new SyntheticEventCtor(
15312 reactName,
15313 reactEventType,
15314 null,
15315 nativeEvent,
15316 nativeEventTarget
15317 ), dispatchQueue.push({
15318 event: reactName,
15319 listeners: inCapturePhase
15320 }));
15321 }
15322 }
15323 if (0 === (eventSystemFlags & 7)) {
15324 a: {
15325 SyntheticEventCtor = "mouseover" === domEventName || "pointerover" === domEventName;
15326 reactName = "mouseout" === domEventName || "pointerout" === domEventName;
15327 if (SyntheticEventCtor && nativeEvent !== currentReplayingEvent && (reactEventType = nativeEvent.relatedTarget || nativeEvent.fromElement) && (getClosestInstanceFromNode(reactEventType) || reactEventType[internalContainerInstanceKey]))
15328 break a;
15329 if (reactName || SyntheticEventCtor) {
15330 reactEventType = nativeEventTarget.window === nativeEventTarget ? nativeEventTarget : (SyntheticEventCtor = nativeEventTarget.ownerDocument) ? SyntheticEventCtor.defaultView || SyntheticEventCtor.parentWindow : window;
15331 if (reactName) {
15332 if (SyntheticEventCtor = nativeEvent.relatedTarget || nativeEvent.toElement, reactName = targetInst, SyntheticEventCtor = SyntheticEventCtor ? getClosestInstanceFromNode(SyntheticEventCtor) : null, null !== SyntheticEventCtor && (accumulateTargetOnly = getNearestMountedFiber(SyntheticEventCtor), inCapturePhase = SyntheticEventCtor.tag, SyntheticEventCtor !== accumulateTargetOnly || 5 !== inCapturePhase && 27 !== inCapturePhase && 6 !== inCapturePhase))
15333 SyntheticEventCtor = null;
15334 } else reactName = null, SyntheticEventCtor = targetInst;
15335 if (reactName !== SyntheticEventCtor) {
15336 inCapturePhase = SyntheticMouseEvent;
15337 _instance2 = "onMouseLeave";
15338 reactEventName = "onMouseEnter";
15339 instance = "mouse";
15340 if ("pointerout" === domEventName || "pointerover" === domEventName)
15341 inCapturePhase = SyntheticPointerEvent, _instance2 = "onPointerLeave", reactEventName = "onPointerEnter", instance = "pointer";
15342 accumulateTargetOnly = null == reactName ? reactEventType : getNodeFromInstance(reactName);
15343 lastHostComponent = null == SyntheticEventCtor ? reactEventType : getNodeFromInstance(SyntheticEventCtor);
15344 reactEventType = new inCapturePhase(
15345 _instance2,
15346 instance + "leave",
15347 reactName,
15348 nativeEvent,
15349 nativeEventTarget
15350 );
15351 reactEventType.target = accumulateTargetOnly;
15352 reactEventType.relatedTarget = lastHostComponent;
15353 _instance2 = null;
15354 getClosestInstanceFromNode(nativeEventTarget) === targetInst && (inCapturePhase = new inCapturePhase(
15355 reactEventName,
15356 instance + "enter",
15357 SyntheticEventCtor,
15358 nativeEvent,
15359 nativeEventTarget
15360 ), inCapturePhase.target = lastHostComponent, inCapturePhase.relatedTarget = accumulateTargetOnly, _instance2 = inCapturePhase);
15361 accumulateTargetOnly = _instance2;
15362 inCapturePhase = reactName && SyntheticEventCtor ? getLowestCommonAncestor(
15363 reactName,
15364 SyntheticEventCtor,
15365 getParent
15366 ) : null;
15367 null !== reactName && accumulateEnterLeaveListenersForEvent(
15368 dispatchQueue,
15369 reactEventType,
15370 reactName,
15371 inCapturePhase,
15372 false
15373 );
15374 null !== SyntheticEventCtor && null !== accumulateTargetOnly && accumulateEnterLeaveListenersForEvent(
15375 dispatchQueue,
15376 accumulateTargetOnly,
15377 SyntheticEventCtor,
15378 inCapturePhase,
15379 true
15380 );
15381 }
15382 }
15383 }
15384 a: {
15385 reactName = targetInst ? getNodeFromInstance(targetInst) : window;
15386 SyntheticEventCtor = reactName.nodeName && reactName.nodeName.toLowerCase();
15387 if ("select" === SyntheticEventCtor || "input" === SyntheticEventCtor && "file" === reactName.type)
15388 var getTargetInstFunc = getTargetInstForChangeEvent;
15389 else if (isTextInputElement(reactName))
15390 if (isInputEventSupported)
15391 getTargetInstFunc = getTargetInstForInputOrChangeEvent;
15392 else {
15393 getTargetInstFunc = getTargetInstForInputEventPolyfill;
15394 var handleEventFunc = handleEventsForInputEventPolyfill;
15395 }
15396 else
15397 SyntheticEventCtor = reactName.nodeName, !SyntheticEventCtor || "input" !== SyntheticEventCtor.toLowerCase() || "checkbox" !== reactName.type && "radio" !== reactName.type ? targetInst && isCustomElement(targetInst.elementType) && (getTargetInstFunc = getTargetInstForChangeEvent) : getTargetInstFunc = getTargetInstForClickEvent;
15398 if (getTargetInstFunc && (getTargetInstFunc = getTargetInstFunc(domEventName, targetInst))) {
15399 createAndAccumulateChangeEvent(
15400 dispatchQueue,
15401 getTargetInstFunc,
15402 nativeEvent,
15403 nativeEventTarget
15404 );
15405 break a;
15406 }
15407 handleEventFunc && handleEventFunc(domEventName, reactName, targetInst);
15408 }
15409 handleEventFunc = targetInst ? getNodeFromInstance(targetInst) : window;
15410 switch (domEventName) {
15411 case "focusin":
15412 if (isTextInputElement(handleEventFunc) || "true" === handleEventFunc.contentEditable)
15413 activeElement = handleEventFunc, activeElementInst = targetInst, lastSelection = null;
15414 break;
15415 case "focusout":
15416 lastSelection = activeElementInst = activeElement = null;
15417 break;
15418 case "mousedown":
15419 mouseDown = true;
15420 break;
15421 case "contextmenu":
15422 case "mouseup":
15423 case "dragend":
15424 mouseDown = false;
15425 constructSelectEvent(
15426 dispatchQueue,
15427 nativeEvent,
15428 nativeEventTarget
15429 );
15430 break;
15431 case "selectionchange":
15432 if (skipSelectionChangeEvent) break;
15433 case "keydown":
15434 case "keyup":
15435 constructSelectEvent(
15436 dispatchQueue,
15437 nativeEvent,
15438 nativeEventTarget
15439 );
15440 }
15441 var fallbackData;
15442 if (canUseCompositionEvent)
15443 b: {
15444 switch (domEventName) {
15445 case "compositionstart":
15446 var eventType = "onCompositionStart";
15447 break b;
15448 case "compositionend":
15449 eventType = "onCompositionEnd";
15450 break b;
15451 case "compositionupdate":
15452 eventType = "onCompositionUpdate";
15453 break b;
15454 }
15455 eventType = void 0;
15456 }
15457 else
15458 isComposing ? isFallbackCompositionEnd(domEventName, nativeEvent) && (eventType = "onCompositionEnd") : "keydown" === domEventName && nativeEvent.keyCode === START_KEYCODE && (eventType = "onCompositionStart");
15459 eventType && (useFallbackCompositionData && "ko" !== nativeEvent.locale && (isComposing || "onCompositionStart" !== eventType ? "onCompositionEnd" === eventType && isComposing && (fallbackData = getData()) : (root = nativeEventTarget, startText = "value" in root ? root.value : root.textContent, isComposing = true)), handleEventFunc = accumulateTwoPhaseListeners(
15460 targetInst,
15461 eventType
15462 ), 0 < handleEventFunc.length && (eventType = new SyntheticCompositionEvent(
15463 eventType,
15464 domEventName,
15465 null,
15466 nativeEvent,
15467 nativeEventTarget
15468 ), dispatchQueue.push({
15469 event: eventType,
15470 listeners: handleEventFunc
15471 }), fallbackData ? eventType.data = fallbackData : (fallbackData = getDataFromCustomEvent(nativeEvent), null !== fallbackData && (eventType.data = fallbackData))));
15472 if (fallbackData = canUseTextInputEvent ? getNativeBeforeInputChars(domEventName, nativeEvent) : getFallbackBeforeInputChars(domEventName, nativeEvent))
15473 eventType = accumulateTwoPhaseListeners(
15474 targetInst,
15475 "onBeforeInput"
15476 ), 0 < eventType.length && (handleEventFunc = new SyntheticInputEvent(
15477 "onBeforeInput",
15478 "beforeinput",
15479 null,
15480 nativeEvent,
15481 nativeEventTarget
15482 ), dispatchQueue.push({
15483 event: handleEventFunc,
15484 listeners: eventType
15485 }), handleEventFunc.data = fallbackData);
15486 extractEvents$1(
15487 dispatchQueue,
15488 domEventName,
15489 targetInst,
15490 nativeEvent,
15491 nativeEventTarget
15492 );
15493 }
15494 processDispatchQueue(dispatchQueue, eventSystemFlags);
15495 });
15496 }
15497 function createDispatchListener(instance, listener, currentTarget) {
15498 return {
15499 instance,
15500 listener,
15501 currentTarget
15502 };
15503 }
15504 function accumulateTwoPhaseListeners(targetFiber, reactName) {
15505 for (var captureName = reactName + "Capture", listeners = []; null !== targetFiber; ) {
15506 var _instance3 = targetFiber, stateNode = _instance3.stateNode;
15507 _instance3 = _instance3.tag;
15508 5 !== _instance3 && 26 !== _instance3 && 27 !== _instance3 || null === stateNode || (_instance3 = getListener(targetFiber, captureName), null != _instance3 && listeners.unshift(
15509 createDispatchListener(targetFiber, _instance3, stateNode)
15510 ), _instance3 = getListener(targetFiber, reactName), null != _instance3 && listeners.push(
15511 createDispatchListener(targetFiber, _instance3, stateNode)
15512 ));
15513 if (3 === targetFiber.tag) return listeners;
15514 targetFiber = targetFiber.return;
15515 }
15516 return [];
15517 }
15518 function getParent(inst) {
15519 if (null === inst) return null;
15520 do
15521 inst = inst.return;
15522 while (inst && 5 !== inst.tag && 27 !== inst.tag);
15523 return inst ? inst : null;
15524 }
15525 function accumulateEnterLeaveListenersForEvent(dispatchQueue, event, target, common, inCapturePhase) {
15526 for (var registrationName = event._reactName, listeners = []; null !== target && target !== common; ) {
15527 var _instance4 = target, alternate = _instance4.alternate, stateNode = _instance4.stateNode;
15528 _instance4 = _instance4.tag;
15529 if (null !== alternate && alternate === common) break;
15530 5 !== _instance4 && 26 !== _instance4 && 27 !== _instance4 || null === stateNode || (alternate = stateNode, inCapturePhase ? (stateNode = getListener(target, registrationName), null != stateNode && listeners.unshift(
15531 createDispatchListener(target, stateNode, alternate)
15532 )) : inCapturePhase || (stateNode = getListener(target, registrationName), null != stateNode && listeners.push(
15533 createDispatchListener(target, stateNode, alternate)
15534 )));
15535 target = target.return;
15536 }
15537 0 !== listeners.length && dispatchQueue.push({ event, listeners });
15538 }
15539 function validatePropertiesInDevelopment(type, props) {
15540 validateProperties$2(type, props);
15541 "input" !== type && "textarea" !== type && "select" !== type || null == props || null !== props.value || didWarnValueNull || (didWarnValueNull = true, "select" === type && props.multiple ? console.error(
15542 "`value` prop on `%s` should not be null. Consider using an empty array when `multiple` is set to `true` to clear the component or `undefined` for uncontrolled components.",
15543 type
15544 ) : console.error(
15545 "`value` prop on `%s` should not be null. Consider using an empty string to clear the component or `undefined` for uncontrolled components.",
15546 type
15547 ));
15548 var eventRegistry = {
15549 registrationNameDependencies,
15550 possibleRegistrationNames
15551 };
15552 isCustomElement(type) || "string" === typeof props.is || warnUnknownProperties(type, props, eventRegistry);
15553 props.contentEditable && !props.suppressContentEditableWarning && null != props.children && console.error(
15554 "A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional."
15555 );
15556 }
15557 function warnForPropDifference(propName, serverValue, clientValue, serverDifferences) {
15558 serverValue !== clientValue && (clientValue = normalizeMarkupForTextOrAttribute(clientValue), normalizeMarkupForTextOrAttribute(serverValue) !== clientValue && (serverDifferences[propName] = serverValue));
15559 }
15560 function hasViewTransition(htmlElement) {
15561 return !!(htmlElement.getAttribute("vt-share") || htmlElement.getAttribute("vt-exit") || htmlElement.getAttribute("vt-enter") || htmlElement.getAttribute("vt-update"));
15562 }
15563 function isExpectedViewTransitionName(htmlElement) {
15564 if (!hasViewTransition(htmlElement)) return false;
15565 var expectedVtName = htmlElement.getAttribute("vt-name");
15566 htmlElement = htmlElement.style["view-transition-name"];
15567 return expectedVtName ? expectedVtName === htmlElement : htmlElement.startsWith("_T_");
15568 }
15569 function warnForExtraAttributes(domElement, attributeNames, serverDifferences) {
15570 attributeNames.forEach(function(attributeName) {
15571 "style" === attributeName ? "" !== domElement.getAttribute(attributeName) && (attributeName = domElement.style, (1 === attributeName.length && "view-transition-name" === attributeName[0] || 2 === attributeName.length && "view-transition-class" === attributeName[0] && "view-transition-name" === attributeName[1]) && isExpectedViewTransitionName(domElement) || (serverDifferences.style = getStylesObjectFromElement(domElement))) : serverDifferences[getPropNameFromAttributeName(attributeName)] = domElement.getAttribute(attributeName);
15572 });
15573 }
15574 function warnForInvalidEventListener(registrationName, listener) {
15575 false === listener ? console.error(
15576 "Expected `%s` listener to be a function, instead got `false`.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.",
15577 registrationName,
15578 registrationName,
15579 registrationName
15580 ) : console.error(
15581 "Expected `%s` listener to be a function, instead got a value of `%s` type.",
15582 registrationName,
15583 typeof listener
15584 );
15585 }
15586 function normalizeHTML(parent, html) {
15587 parent = parent.namespaceURI === MATH_NAMESPACE || parent.namespaceURI === SVG_NAMESPACE ? parent.ownerDocument.createElementNS(
15588 parent.namespaceURI,
15589 parent.tagName
15590 ) : parent.ownerDocument.createElement(parent.tagName);
15591 parent.innerHTML = html;
15592 return parent.innerHTML;
15593 }
15594 function normalizeMarkupForTextOrAttribute(markup) {
15595 willCoercionThrow(markup) && (console.error(
15596 "The provided HTML markup uses a value of unsupported type %s. This value must be coerced to a string before using it here.",
15597 typeName(markup)
15598 ), testStringCoercion(markup));
15599 return ("string" === typeof markup ? markup : "" + markup).replace(NORMALIZE_NEWLINES_REGEX, "\n").replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, "");
15600 }
15601 function checkForUnmatchedText(serverText, clientText) {
15602 clientText = normalizeMarkupForTextOrAttribute(clientText);
15603 return normalizeMarkupForTextOrAttribute(serverText) === clientText ? true : false;
15604 }
15605 function setProp(domElement, tag, key, value, props, prevValue) {
15606 switch (key) {
15607 case "children":
15608 if ("string" === typeof value)
15609 validateTextNesting(value, tag, false), "body" === tag || "textarea" === tag && "" === value || setTextContent(domElement, value);
15610 else if ("number" === typeof value || "bigint" === typeof value)
15611 validateTextNesting("" + value, tag, false), "body" !== tag && setTextContent(domElement, "" + value);
15612 else return;
15613 break;
15614 case "className":
15615 setValueForKnownAttribute(domElement, "class", value);
15616 break;
15617 case "tabIndex":
15618 setValueForKnownAttribute(domElement, "tabindex", value);
15619 break;
15620 case "dir":
15621 case "role":
15622 case "viewBox":
15623 case "width":
15624 case "height":
15625 setValueForKnownAttribute(domElement, key, value);
15626 break;
15627 case "style":
15628 setValueForStyles(domElement, value, prevValue);
15629 return;
15630 case "data":
15631 if ("object" !== tag) {
15632 setValueForKnownAttribute(domElement, "data", value);
15633 break;
15634 }
15635 case "src":
15636 case "href":
15637 if ("" === value && ("a" !== tag || "href" !== key)) {
15638 "src" === key ? console.error(
15639 'An empty string ("") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',
15640 key,
15641 key
15642 ) : console.error(
15643 'An empty string ("") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',
15644 key,
15645 key
15646 );
15647 domElement.removeAttribute(key);
15648 break;
15649 }
15650 if (null == value || "function" === typeof value || "symbol" === typeof value || "boolean" === typeof value) {
15651 domElement.removeAttribute(key);
15652 break;
15653 }
15654 checkAttributeStringCoercion(value, key);
15655 value = sanitizeURL(value);
15656 domElement.setAttribute(key, value);
15657 break;
15658 case "action":
15659 case "formAction":
15660 null != value && ("form" === tag ? "formAction" === key ? console.error(
15661 "You can only pass the formAction prop to <input> or <button>. Use the action prop on <form>."
15662 ) : "function" === typeof value && (null == props.encType && null == props.method || didWarnFormActionMethod || (didWarnFormActionMethod = true, console.error(
15663 "Cannot specify a encType or method for a form that specifies a function as the action. React provides those automatically. They will get overridden."
15664 )), null == props.target || didWarnFormActionTarget || (didWarnFormActionTarget = true, console.error(
15665 "Cannot specify a target for a form that specifies a function as the action. The function will always be executed in the same window."
15666 ))) : "input" === tag || "button" === tag ? "action" === key ? console.error(
15667 "You can only pass the action prop to <form>. Use the formAction prop on <input> or <button>."
15668 ) : "input" !== tag || "submit" === props.type || "image" === props.type || didWarnFormActionType ? "button" !== tag || null == props.type || "submit" === props.type || didWarnFormActionType ? "function" === typeof value && (null == props.name || didWarnFormActionName || (didWarnFormActionName = true, console.error(
15669 'Cannot specify a "name" prop for a button that specifies a function as a formAction. React needs it to encode which action should be invoked. It will get overridden.'
15670 )), null == props.formEncType && null == props.formMethod || didWarnFormActionMethod || (didWarnFormActionMethod = true, console.error(
15671 "Cannot specify a formEncType or formMethod for a button that specifies a function as a formAction. React provides those automatically. They will get overridden."
15672 )), null == props.formTarget || didWarnFormActionTarget || (didWarnFormActionTarget = true, console.error(
15673 "Cannot specify a formTarget for a button that specifies a function as a formAction. The function will always be executed in the same window."
15674 ))) : (didWarnFormActionType = true, console.error(
15675 'A button can only specify a formAction along with type="submit" or no type.'
15676 )) : (didWarnFormActionType = true, console.error(
15677 'An input can only specify a formAction along with type="submit" or type="image".'
15678 )) : "action" === key ? console.error(
15679 "You can only pass the action prop to <form>."
15680 ) : console.error(
15681 "You can only pass the formAction prop to <input> or <button>."
15682 ));
15683 if ("function" === typeof value) {
15684 domElement.setAttribute(
15685 key,
15686 "javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')"
15687 );
15688 break;
15689 } else
15690 "function" === typeof prevValue && ("formAction" === key ? ("input" !== tag && setProp(domElement, tag, "name", props.name, props, null), setProp(
15691 domElement,
15692 tag,
15693 "formEncType",
15694 props.formEncType,
15695 props,
15696 null
15697 ), setProp(
15698 domElement,
15699 tag,
15700 "formMethod",
15701 props.formMethod,
15702 props,
15703 null
15704 ), setProp(
15705 domElement,
15706 tag,
15707 "formTarget",
15708 props.formTarget,
15709 props,
15710 null
15711 )) : (setProp(
15712 domElement,
15713 tag,
15714 "encType",
15715 props.encType,
15716 props,
15717 null
15718 ), setProp(domElement, tag, "method", props.method, props, null), setProp(
15719 domElement,
15720 tag,
15721 "target",
15722 props.target,
15723 props,
15724 null
15725 )));
15726 if (null == value || "symbol" === typeof value || "boolean" === typeof value) {
15727 domElement.removeAttribute(key);
15728 break;
15729 }
15730 checkAttributeStringCoercion(value, key);
15731 value = sanitizeURL(value);
15732 domElement.setAttribute(key, value);
15733 break;
15734 case "onClick":
15735 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), domElement.onclick = noop$1);
15736 return;
15737 case "onScroll":
15738 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scroll", domElement));
15739 return;
15740 case "onScrollEnd":
15741 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scrollend", domElement));
15742 return;
15743 case "dangerouslySetInnerHTML":
15744 if (null != value) {
15745 if ("object" !== typeof value || !("__html" in value))
15746 throw Error(
15747 "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information."
15748 );
15749 key = value.__html;
15750 if (null != key) {
15751 if (null != props.children)
15752 throw Error(
15753 "Can only set one of `children` or `props.dangerouslySetInnerHTML`."
15754 );
15755 (null != prevValue ? prevValue.__html : void 0) !== key && (domElement.innerHTML = key);
15756 }
15757 }
15758 break;
15759 case "multiple":
15760 domElement.multiple = value && "function" !== typeof value && "symbol" !== typeof value;
15761 break;
15762 case "muted":
15763 domElement.muted = value && "function" !== typeof value && "symbol" !== typeof value;
15764 break;
15765 case "suppressContentEditableWarning":
15766 case "suppressHydrationWarning":
15767 case "defaultValue":
15768 case "defaultChecked":
15769 case "innerHTML":
15770 case "ref":
15771 break;
15772 case "autoFocus":
15773 break;
15774 case "xlinkHref":
15775 if (null == value || "function" === typeof value || "boolean" === typeof value || "symbol" === typeof value) {
15776 domElement.removeAttribute("xlink:href");
15777 break;
15778 }
15779 checkAttributeStringCoercion(value, key);
15780 key = sanitizeURL(value);
15781 domElement.setAttributeNS(xlinkNamespace, "xlink:href", key);
15782 break;
15783 case "contentEditable":
15784 case "spellCheck":
15785 case "draggable":
15786 case "value":
15787 case "autoReverse":
15788 case "externalResourcesRequired":
15789 case "focusable":
15790 case "preserveAlpha":
15791 null != value && "function" !== typeof value && "symbol" !== typeof value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value)) : domElement.removeAttribute(key);
15792 break;
15793 case "inert":
15794 "" !== value || didWarnForNewBooleanPropsWithEmptyValue[key] || (didWarnForNewBooleanPropsWithEmptyValue[key] = true, console.error(
15795 "Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",
15796 key
15797 )); if ( "" === value ) __wpWarnCompat("inert"); if ( "string" === typeof value ) value = true;
15798 case "allowFullScreen":
15799 case "async":
15800 case "autoPlay":
15801 case "controls":
15802 case "credentialless":
15803 case "default":
15804 case "defer":
15805 case "disabled":
15806 case "disablePictureInPicture":
15807 case "disableRemotePlayback":
15808 case "formNoValidate":
15809 case "hidden":
15810 case "loop":
15811 case "noModule":
15812 case "noValidate":
15813 case "open":
15814 case "playsInline":
15815 case "readOnly":
15816 case "required":
15817 case "reversed":
15818 case "scoped":
15819 case "seamless":
15820 case "itemScope":
15821 value && "function" !== typeof value && "symbol" !== typeof value ? domElement.setAttribute(key, "") : domElement.removeAttribute(key);
15822 break;
15823 case "capture":
15824 case "download":
15825 true === value ? domElement.setAttribute(key, "") : false !== value && null != value && "function" !== typeof value && "symbol" !== typeof value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value)) : domElement.removeAttribute(key);
15826 break;
15827 case "cols":
15828 case "rows":
15829 case "size":
15830 case "span":
15831 null != value && "function" !== typeof value && "symbol" !== typeof value && !isNaN(value) && 1 <= value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value)) : domElement.removeAttribute(key);
15832 break;
15833 case "rowSpan":
15834 case "start":
15835 null == value || "function" === typeof value || "symbol" === typeof value || isNaN(value) ? domElement.removeAttribute(key) : (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value));
15836 break;
15837 case "popover":
15838 listenToNonDelegatedEvent("beforetoggle", domElement);
15839 listenToNonDelegatedEvent("toggle", domElement);
15840 setValueForAttribute(domElement, "popover", value);
15841 break;
15842 case "xlinkActuate":
15843 setValueForNamespacedAttribute(
15844 domElement,
15845 xlinkNamespace,
15846 "xlink:actuate",
15847 value
15848 );
15849 break;
15850 case "xlinkArcrole":
15851 setValueForNamespacedAttribute(
15852 domElement,
15853 xlinkNamespace,
15854 "xlink:arcrole",
15855 value
15856 );
15857 break;
15858 case "xlinkRole":
15859 setValueForNamespacedAttribute(
15860 domElement,
15861 xlinkNamespace,
15862 "xlink:role",
15863 value
15864 );
15865 break;
15866 case "xlinkShow":
15867 setValueForNamespacedAttribute(
15868 domElement,
15869 xlinkNamespace,
15870 "xlink:show",
15871 value
15872 );
15873 break;
15874 case "xlinkTitle":
15875 setValueForNamespacedAttribute(
15876 domElement,
15877 xlinkNamespace,
15878 "xlink:title",
15879 value
15880 );
15881 break;
15882 case "xlinkType":
15883 setValueForNamespacedAttribute(
15884 domElement,
15885 xlinkNamespace,
15886 "xlink:type",
15887 value
15888 );
15889 break;
15890 case "xmlBase":
15891 setValueForNamespacedAttribute(
15892 domElement,
15893 xmlNamespace,
15894 "xml:base",
15895 value
15896 );
15897 break;
15898 case "xmlLang":
15899 setValueForNamespacedAttribute(
15900 domElement,
15901 xmlNamespace,
15902 "xml:lang",
15903 value
15904 );
15905 break;
15906 case "xmlSpace":
15907 setValueForNamespacedAttribute(
15908 domElement,
15909 xmlNamespace,
15910 "xml:space",
15911 value
15912 );
15913 break;
15914 case "is":
15915 null != prevValue && console.error(
15916 'Cannot update the "is" prop after it has been initialized.'
15917 );
15918 setValueForAttribute(domElement, "is", value);
15919 break;
15920 case "innerText":
15921 case "textContent":
15922 return;
15923 case "popoverTarget":
15924 didWarnPopoverTargetObject || null == value || "object" !== typeof value || (didWarnPopoverTargetObject = true, console.error(
15925 "The `popoverTarget` prop expects the ID of an Element as a string. Received %s instead.",
15926 value
15927 ));
15928 default:
15929 if (!(2 < key.length) || "o" !== key[0] && "O" !== key[0] || "n" !== key[1] && "N" !== key[1])
15930 key = getAttributeAlias(key), setValueForAttribute(domElement, key, value);
15931 else {
15932 registrationNameDependencies.hasOwnProperty(key) && null != value && "function" !== typeof value && warnForInvalidEventListener(key, value);
15933 return;
15934 }
15935 }
15936 viewTransitionMutationContext = true;
15937 }
15938 function setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {
15939 switch (key) {
15940 case "style":
15941 setValueForStyles(domElement, value, prevValue);
15942 return;
15943 case "dangerouslySetInnerHTML":
15944 if (null != value) {
15945 if ("object" !== typeof value || !("__html" in value))
15946 throw Error(
15947 "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information."
15948 );
15949 key = value.__html;
15950 if (null != key) {
15951 if (null != props.children)
15952 throw Error(
15953 "Can only set one of `children` or `props.dangerouslySetInnerHTML`."
15954 );
15955 (null != prevValue ? prevValue.__html : void 0) !== key && (domElement.innerHTML = key);
15956 }
15957 }
15958 break;
15959 case "children":
15960 if ("string" === typeof value) setTextContent(domElement, value);
15961 else if ("number" === typeof value || "bigint" === typeof value)
15962 setTextContent(domElement, "" + value);
15963 else return;
15964 break;
15965 case "onScroll":
15966 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scroll", domElement));
15967 return;
15968 case "onScrollEnd":
15969 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scrollend", domElement));
15970 return;
15971 case "onClick":
15972 null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), domElement.onclick = noop$1);
15973 return;
15974 case "suppressContentEditableWarning":
15975 case "suppressHydrationWarning":
15976 case "innerHTML":
15977 case "ref":
15978 return;
15979 case "innerText":
15980 case "textContent":
15981 return;
15982 default:
15983 if (registrationNameDependencies.hasOwnProperty(key))
15984 null != value && "function" !== typeof value && warnForInvalidEventListener(key, value);
15985 else
15986 a: {
15987 if ("o" === key[0] && "n" === key[1] && (props = key.endsWith("Capture"), prevValue = key.slice(2, props ? key.length - 7 : void 0), tag = domElement[internalPropsKey] || null, tag = null != tag ? tag[key] : null, "function" === typeof tag && domElement.removeEventListener(prevValue, tag, props), "function" === typeof value)) {
15988 "function" !== typeof tag && null !== tag && (key in domElement ? domElement[key] = null : domElement.hasAttribute(key) && domElement.removeAttribute(key));
15989 domElement.addEventListener(prevValue, value, props);
15990 break a;
15991 }
15992 viewTransitionMutationContext = true;
15993 key in domElement ? domElement[key] = value : true === value ? domElement.setAttribute(key, "") : setValueForAttribute(domElement, key, value);
15994 }
15995 return;
15996 }
15997 viewTransitionMutationContext = true;
15998 }
15999 function setInitialProperties(domElement, tag, props) {
16000 validatePropertiesInDevelopment(tag, props);
16001 switch (tag) {
16002 case "div":
16003 case "span":
16004 case "svg":
16005 case "path":
16006 case "a":
16007 case "g":
16008 case "p":
16009 case "li":
16010 break;
16011 case "img":
16012 listenToNonDelegatedEvent("error", domElement);
16013 listenToNonDelegatedEvent("load", domElement);
16014 var hasSrc = false, hasSrcSet = false, propKey;
16015 for (propKey in props)
16016 if (props.hasOwnProperty(propKey)) {
16017 var propValue = props[propKey];
16018 if (null != propValue)
16019 switch (propKey) {
16020 case "src":
16021 hasSrc = true;
16022 break;
16023 case "srcSet":
16024 hasSrcSet = true;
16025 break;
16026 case "children":
16027 case "dangerouslySetInnerHTML":
16028 throw Error(
16029 tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
16030 );
16031 default:
16032 setProp(domElement, tag, propKey, propValue, props, null);
16033 }
16034 }
16035 hasSrcSet && setProp(domElement, tag, "srcSet", props.srcSet, props, null);
16036 hasSrc && setProp(domElement, tag, "src", props.src, props, null);
16037 return;
16038 case "input":
16039 checkControlledValueProps("input", props);
16040 listenToNonDelegatedEvent("invalid", domElement);
16041 var defaultValue = propKey = propValue = hasSrcSet = null, checked = null, defaultChecked = null;
16042 for (hasSrc in props)
16043 if (props.hasOwnProperty(hasSrc)) {
16044 var _propValue = props[hasSrc];
16045 if (null != _propValue)
16046 switch (hasSrc) {
16047 case "name":
16048 hasSrcSet = _propValue;
16049 break;
16050 case "type":
16051 propValue = _propValue;
16052 break;
16053 case "checked":
16054 checked = _propValue;
16055 break;
16056 case "defaultChecked":
16057 defaultChecked = _propValue;
16058 break;
16059 case "value":
16060 propKey = _propValue;
16061 break;
16062 case "defaultValue":
16063 defaultValue = _propValue;
16064 break;
16065 case "children":
16066 case "dangerouslySetInnerHTML":
16067 if (null != _propValue)
16068 throw Error(
16069 tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
16070 );
16071 break;
16072 default:
16073 setProp(domElement, tag, hasSrc, _propValue, props, null);
16074 }
16075 }
16076 validateInputProps(domElement, props);
16077 initInput(
16078 domElement,
16079 propKey,
16080 defaultValue,
16081 checked,
16082 defaultChecked,
16083 propValue,
16084 hasSrcSet,
16085 false
16086 );
16087 return;
16088 case "select":
16089 checkControlledValueProps("select", props);
16090 listenToNonDelegatedEvent("invalid", domElement);
16091 hasSrc = propValue = propKey = null;
16092 for (hasSrcSet in props)
16093 if (props.hasOwnProperty(hasSrcSet) && (defaultValue = props[hasSrcSet], null != defaultValue))
16094 switch (hasSrcSet) {
16095 case "value":
16096 propKey = defaultValue;
16097 break;
16098 case "defaultValue":
16099 propValue = defaultValue;
16100 break;
16101 case "multiple":
16102 hasSrc = defaultValue;
16103 default:
16104 setProp(
16105 domElement,
16106 tag,
16107 hasSrcSet,
16108 defaultValue,
16109 props,
16110 null
16111 );
16112 }
16113 validateSelectProps(domElement, props);
16114 tag = propKey;
16115 props = propValue;
16116 domElement.multiple = !!hasSrc;
16117 null != tag ? updateOptions(domElement, !!hasSrc, tag, false) : null != props && updateOptions(domElement, !!hasSrc, props, true);
16118 return;
16119 case "textarea":
16120 checkControlledValueProps("textarea", props);
16121 listenToNonDelegatedEvent("invalid", domElement);
16122 propKey = hasSrcSet = hasSrc = null;
16123 for (propValue in props)
16124 if (props.hasOwnProperty(propValue) && (defaultValue = props[propValue], null != defaultValue))
16125 switch (propValue) {
16126 case "value":
16127 hasSrc = defaultValue;
16128 break;
16129 case "defaultValue":
16130 hasSrcSet = defaultValue;
16131 break;
16132 case "children":
16133 propKey = defaultValue;
16134 break;
16135 case "dangerouslySetInnerHTML":
16136 if (null != defaultValue)
16137 throw Error(
16138 "`dangerouslySetInnerHTML` does not make sense on <textarea>."
16139 );
16140 break;
16141 default:
16142 setProp(
16143 domElement,
16144 tag,
16145 propValue,
16146 defaultValue,
16147 props,
16148 null
16149 );
16150 }
16151 validateTextareaProps(domElement, props);
16152 initTextarea(domElement, hasSrc, hasSrcSet, propKey);
16153 return;
16154 case "option":
16155 validateOptionProps(domElement, props);
16156 for (checked in props)
16157 if (props.hasOwnProperty(checked) && (hasSrc = props[checked], null != hasSrc))
16158 switch (checked) {
16159 case "selected":
16160 domElement.selected = hasSrc && "function" !== typeof hasSrc && "symbol" !== typeof hasSrc;
16161 break;
16162 default:
16163 setProp(domElement, tag, checked, hasSrc, props, null);
16164 }
16165 return;
16166 case "dialog":
16167 listenToNonDelegatedEvent("beforetoggle", domElement);
16168 listenToNonDelegatedEvent("toggle", domElement);
16169 listenToNonDelegatedEvent("cancel", domElement);
16170 listenToNonDelegatedEvent("close", domElement);
16171 break;
16172 case "iframe":
16173 case "object":
16174 listenToNonDelegatedEvent("load", domElement);
16175 break;
16176 case "video":
16177 case "audio":
16178 for (hasSrc = 0; hasSrc < mediaEventTypes.length; hasSrc++)
16179 listenToNonDelegatedEvent(mediaEventTypes[hasSrc], domElement);
16180 break;
16181 case "image":
16182 listenToNonDelegatedEvent("error", domElement);
16183 listenToNonDelegatedEvent("load", domElement);
16184 break;
16185 case "details":
16186 listenToNonDelegatedEvent("toggle", domElement);
16187 break;
16188 case "embed":
16189 case "source":
16190 case "link":
16191 listenToNonDelegatedEvent("error", domElement), listenToNonDelegatedEvent("load", domElement);
16192 case "area":
16193 case "base":
16194 case "br":
16195 case "col":
16196 case "hr":
16197 case "keygen":
16198 case "meta":
16199 case "param":
16200 case "track":
16201 case "wbr":
16202 case "menuitem":
16203 for (defaultChecked in props)
16204 if (props.hasOwnProperty(defaultChecked) && (hasSrc = props[defaultChecked], null != hasSrc))
16205 switch (defaultChecked) {
16206 case "children":
16207 case "dangerouslySetInnerHTML":
16208 throw Error(
16209 tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
16210 );
16211 default:
16212 setProp(domElement, tag, defaultChecked, hasSrc, props, null);
16213 }
16214 return;
16215 default:
16216 if (isCustomElement(tag)) {
16217 for (_propValue in props)
16218 props.hasOwnProperty(_propValue) && (hasSrc = props[_propValue], void 0 !== hasSrc && setPropOnCustomElement(
16219 domElement,
16220 tag,
16221 _propValue,
16222 hasSrc,
16223 props,
16224 void 0
16225 ));
16226 return;
16227 }
16228 }
16229 for (defaultValue in props)
16230 props.hasOwnProperty(defaultValue) && (hasSrc = props[defaultValue], null != hasSrc && setProp(domElement, tag, defaultValue, hasSrc, props, null));
16231 }
16232 function updateProperties(domElement, tag, lastProps, nextProps) {
16233 validatePropertiesInDevelopment(tag, nextProps);
16234 switch (tag) {
16235 case "div":
16236 case "span":
16237 case "svg":
16238 case "path":
16239 case "a":
16240 case "g":
16241 case "p":
16242 case "li":
16243 break;
16244 case "input":
16245 var name = null, type = null, value = null, defaultValue = null, lastDefaultValue = null, checked = null, defaultChecked = null;
16246 for (propKey in lastProps) {
16247 var lastProp = lastProps[propKey];
16248 if (lastProps.hasOwnProperty(propKey) && null != lastProp)
16249 switch (propKey) {
16250 case "checked":
16251 break;
16252 case "value":
16253 break;
16254 case "defaultValue":
16255 lastDefaultValue = lastProp;
16256 default:
16257 nextProps.hasOwnProperty(propKey) || setProp(
16258 domElement,
16259 tag,
16260 propKey,
16261 null,
16262 nextProps,
16263 lastProp
16264 );
16265 }
16266 }
16267 for (var _propKey8 in nextProps) {
16268 var propKey = nextProps[_propKey8];
16269 lastProp = lastProps[_propKey8];
16270 if (nextProps.hasOwnProperty(_propKey8) && (null != propKey || null != lastProp))
16271 switch (_propKey8) {
16272 case "type":
16273 propKey !== lastProp && (viewTransitionMutationContext = true);
16274 type = propKey;
16275 break;
16276 case "name":
16277 propKey !== lastProp && (viewTransitionMutationContext = true);
16278 name = propKey;
16279 break;
16280 case "checked":
16281 propKey !== lastProp && (viewTransitionMutationContext = true);
16282 checked = propKey;
16283 break;
16284 case "defaultChecked":
16285 propKey !== lastProp && (viewTransitionMutationContext = true);
16286 defaultChecked = propKey;
16287 break;
16288 case "value":
16289 propKey !== lastProp && (viewTransitionMutationContext = true);
16290 value = propKey;
16291 break;
16292 case "defaultValue":
16293 propKey !== lastProp && (viewTransitionMutationContext = true);
16294 defaultValue = propKey;
16295 break;
16296 case "children":
16297 case "dangerouslySetInnerHTML":
16298 if (null != propKey)
16299 throw Error(
16300 tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
16301 );
16302 break;
16303 default:
16304 propKey !== lastProp && setProp(
16305 domElement,
16306 tag,
16307 _propKey8,
16308 propKey,
16309 nextProps,
16310 lastProp
16311 );
16312 }
16313 }
16314 tag = "checkbox" === lastProps.type || "radio" === lastProps.type ? null != lastProps.checked : null != lastProps.value;
16315 nextProps = "checkbox" === nextProps.type || "radio" === nextProps.type ? null != nextProps.checked : null != nextProps.value;
16316 tag || !nextProps || didWarnUncontrolledToControlled || (console.error(
16317 "A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components"
16318 ), didWarnUncontrolledToControlled = true);
16319 !tag || nextProps || didWarnControlledToUncontrolled || (console.error(
16320 "A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components"
16321 ), didWarnControlledToUncontrolled = true);
16322 updateInput(
16323 domElement,
16324 value,
16325 defaultValue,
16326 lastDefaultValue,
16327 checked,
16328 defaultChecked,
16329 type,
16330 name
16331 );
16332 return;
16333 case "select":
16334 propKey = value = defaultValue = _propKey8 = null;
16335 for (type in lastProps)
16336 if (lastDefaultValue = lastProps[type], lastProps.hasOwnProperty(type) && null != lastDefaultValue)
16337 switch (type) {
16338 case "value":
16339 break;
16340 case "multiple":
16341 propKey = lastDefaultValue;
16342 default:
16343 nextProps.hasOwnProperty(type) || setProp(
16344 domElement,
16345 tag,
16346 type,
16347 null,
16348 nextProps,
16349 lastDefaultValue
16350 );
16351 }
16352 for (name in nextProps)
16353 if (type = nextProps[name], lastDefaultValue = lastProps[name], nextProps.hasOwnProperty(name) && (null != type || null != lastDefaultValue))
16354 switch (name) {
16355 case "value":
16356 type !== lastDefaultValue && (viewTransitionMutationContext = true);
16357 _propKey8 = type;
16358 break;
16359 case "defaultValue":
16360 type !== lastDefaultValue && (viewTransitionMutationContext = true);
16361 defaultValue = type;
16362 break;
16363 case "multiple":
16364 type !== lastDefaultValue && (viewTransitionMutationContext = true), value = type;
16365 default:
16366 type !== lastDefaultValue && setProp(
16367 domElement,
16368 tag,
16369 name,
16370 type,
16371 nextProps,
16372 lastDefaultValue
16373 );
16374 }
16375 nextProps = defaultValue;
16376 tag = value;
16377 lastProps = propKey;
16378 null != _propKey8 ? updateOptions(domElement, !!tag, _propKey8, false) : !!lastProps !== !!tag && (null != nextProps ? updateOptions(domElement, !!tag, nextProps, true) : updateOptions(domElement, !!tag, tag ? [] : "", false));
16379 return;
16380 case "textarea":
16381 propKey = _propKey8 = null;
16382 for (defaultValue in lastProps)
16383 if (name = lastProps[defaultValue], lastProps.hasOwnProperty(defaultValue) && null != name && !nextProps.hasOwnProperty(defaultValue))
16384 switch (defaultValue) {
16385 case "value":
16386 break;
16387 case "children":
16388 break;
16389 default:
16390 setProp(domElement, tag, defaultValue, null, nextProps, name);
16391 }
16392 for (value in nextProps)
16393 if (name = nextProps[value], type = lastProps[value], nextProps.hasOwnProperty(value) && (null != name || null != type))
16394 switch (value) {
16395 case "value":
16396 name !== type && (viewTransitionMutationContext = true);
16397 _propKey8 = name;
16398 break;
16399 case "defaultValue":
16400 name !== type && (viewTransitionMutationContext = true);
16401 propKey = name;
16402 break;
16403 case "children":
16404 break;
16405 case "dangerouslySetInnerHTML":
16406 if (null != name)
16407 throw Error(
16408 "`dangerouslySetInnerHTML` does not make sense on <textarea>."
16409 );
16410 break;
16411 default:
16412 name !== type && setProp(domElement, tag, value, name, nextProps, type);
16413 }
16414 updateTextarea(domElement, _propKey8, propKey);
16415 return;
16416 case "option":
16417 for (var _propKey13 in lastProps)
16418 if (_propKey8 = lastProps[_propKey13], lastProps.hasOwnProperty(_propKey13) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey13))
16419 switch (_propKey13) {
16420 case "selected":
16421 domElement.selected = false;
16422 break;
16423 default:
16424 setProp(
16425 domElement,
16426 tag,
16427 _propKey13,
16428 null,
16429 nextProps,
16430 _propKey8
16431 );
16432 }
16433 for (lastDefaultValue in nextProps)
16434 if (_propKey8 = nextProps[lastDefaultValue], propKey = lastProps[lastDefaultValue], nextProps.hasOwnProperty(lastDefaultValue) && _propKey8 !== propKey && (null != _propKey8 || null != propKey))
16435 switch (lastDefaultValue) {
16436 case "selected":
16437 _propKey8 !== propKey && (viewTransitionMutationContext = true);
16438 domElement.selected = _propKey8 && "function" !== typeof _propKey8 && "symbol" !== typeof _propKey8;
16439 break;
16440 default:
16441 setProp(
16442 domElement,
16443 tag,
16444 lastDefaultValue,
16445 _propKey8,
16446 nextProps,
16447 propKey
16448 );
16449 }
16450 return;
16451 case "img":
16452 case "link":
16453 case "area":
16454 case "base":
16455 case "br":
16456 case "col":
16457 case "embed":
16458 case "hr":
16459 case "keygen":
16460 case "meta":
16461 case "param":
16462 case "source":
16463 case "track":
16464 case "wbr":
16465 case "menuitem":
16466 for (var _propKey15 in lastProps)
16467 _propKey8 = lastProps[_propKey15], lastProps.hasOwnProperty(_propKey15) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey15) && setProp(
16468 domElement,
16469 tag,
16470 _propKey15,
16471 null,
16472 nextProps,
16473 _propKey8
16474 );
16475 for (checked in nextProps)
16476 if (_propKey8 = nextProps[checked], propKey = lastProps[checked], nextProps.hasOwnProperty(checked) && _propKey8 !== propKey && (null != _propKey8 || null != propKey))
16477 switch (checked) {
16478 case "children":
16479 case "dangerouslySetInnerHTML":
16480 if (null != _propKey8)
16481 throw Error(
16482 tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."
16483 );
16484 break;
16485 default:
16486 setProp(
16487 domElement,
16488 tag,
16489 checked,
16490 _propKey8,
16491 nextProps,
16492 propKey
16493 );
16494 }
16495 return;
16496 default:
16497 if (isCustomElement(tag)) {
16498 for (var _propKey17 in lastProps)
16499 _propKey8 = lastProps[_propKey17], lastProps.hasOwnProperty(_propKey17) && void 0 !== _propKey8 && !nextProps.hasOwnProperty(_propKey17) && setPropOnCustomElement(
16500 domElement,
16501 tag,
16502 _propKey17,
16503 void 0,
16504 nextProps,
16505 _propKey8
16506 );
16507 for (defaultChecked in nextProps)
16508 _propKey8 = nextProps[defaultChecked], propKey = lastProps[defaultChecked], !nextProps.hasOwnProperty(defaultChecked) || _propKey8 === propKey || void 0 === _propKey8 && void 0 === propKey || setPropOnCustomElement(
16509 domElement,
16510 tag,
16511 defaultChecked,
16512 _propKey8,
16513 nextProps,
16514 propKey
16515 );
16516 return;
16517 }
16518 }
16519 for (var _propKey19 in lastProps)
16520 _propKey8 = lastProps[_propKey19], lastProps.hasOwnProperty(_propKey19) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey19) && setProp(domElement, tag, _propKey19, null, nextProps, _propKey8);
16521 for (lastProp in nextProps)
16522 _propKey8 = nextProps[lastProp], propKey = lastProps[lastProp], !nextProps.hasOwnProperty(lastProp) || _propKey8 === propKey || null == _propKey8 && null == propKey || setProp(domElement, tag, lastProp, _propKey8, nextProps, propKey);
16523 }
16524 function getPropNameFromAttributeName(attrName) {
16525 switch (attrName) {
16526 case "class":
16527 return "className";
16528 case "for":
16529 return "htmlFor";
16530 default:
16531 return attrName;
16532 }
16533 }
16534 function getStylesObjectFromElement(domElement) {
16535 for (var serverValueInObjectForm = {}, style2 = domElement.style, i = 0; i < style2.length; i++) {
16536 var styleName = style2[i];
16537 "view-transition-name" === styleName && isExpectedViewTransitionName(domElement) || (serverValueInObjectForm[styleName] = style2.getPropertyValue(styleName));
16538 }
16539 return serverValueInObjectForm;
16540 }
16541 function diffHydratedStyles(domElement, value$jscomp$0, serverDifferences) {
16542 if (null != value$jscomp$0 && "object" !== typeof value$jscomp$0)
16543 console.error(
16544 "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX."
16545 );
16546 else {
16547 var clientValue;
16548 var delimiter = clientValue = "", styleName;
16549 for (styleName in value$jscomp$0)
16550 if (value$jscomp$0.hasOwnProperty(styleName)) {
16551 var value = value$jscomp$0[styleName];
16552 null != value && "boolean" !== typeof value && "" !== value && (0 === styleName.indexOf("--") ? (checkCSSPropertyStringCoercion(value, styleName), clientValue += delimiter + styleName + ":" + ("" + value).trim()) : "number" !== typeof value || 0 === value || unitlessNumbers.has(styleName) ? (checkCSSPropertyStringCoercion(value, styleName), clientValue += delimiter + styleName.replace(uppercasePattern, "-$1").toLowerCase().replace(msPattern$1, "-ms-") + ":" + ("" + value).trim()) : clientValue += delimiter + styleName.replace(uppercasePattern, "-$1").toLowerCase().replace(msPattern$1, "-ms-") + ":" + value + "px", delimiter = ";");
16553 }
16554 clientValue = clientValue || null;
16555 value$jscomp$0 = domElement.getAttribute("style");
16556 value$jscomp$0 !== clientValue && (clientValue = normalizeMarkupForTextOrAttribute(clientValue), value$jscomp$0 = normalizeMarkupForTextOrAttribute(value$jscomp$0), value$jscomp$0 === clientValue || ";" === value$jscomp$0[value$jscomp$0.length - 1] && hasViewTransition(domElement) || (serverDifferences.style = getStylesObjectFromElement(domElement)));
16557 }
16558 }
16559 function hydrateAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
16560 extraAttributes.delete(attributeName);
16561 domElement = domElement.getAttribute(attributeName);
16562 if (null === domElement)
16563 switch (typeof value) {
16564 case "undefined":
16565 case "function":
16566 case "symbol":
16567 case "boolean":
16568 return;
16569 }
16570 else if (null != value)
16571 switch (typeof value) {
16572 case "function":
16573 case "symbol":
16574 case "boolean":
16575 break;
16576 default:
16577 if (checkAttributeStringCoercion(value, propKey), domElement === "" + value)
16578 return;
16579 }
16580 warnForPropDifference(propKey, domElement, value, serverDifferences);
16581 }
16582 function hydrateBooleanAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
16583 extraAttributes.delete(attributeName);
16584 domElement = domElement.getAttribute(attributeName);
16585 if (null === domElement) {
16586 switch (typeof value) {
16587 case "function":
16588 case "symbol":
16589 return;
16590 }
16591 if (!value) return;
16592 } else
16593 switch (typeof value) {
16594 case "function":
16595 case "symbol":
16596 break;
16597 default:
16598 if (value) return;
16599 }
16600 warnForPropDifference(propKey, domElement, value, serverDifferences);
16601 }
16602 function hydrateBooleanishAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
16603 extraAttributes.delete(attributeName);
16604 domElement = domElement.getAttribute(attributeName);
16605 if (null === domElement)
16606 switch (typeof value) {
16607 case "undefined":
16608 case "function":
16609 case "symbol":
16610 return;
16611 }
16612 else if (null != value)
16613 switch (typeof value) {
16614 case "function":
16615 case "symbol":
16616 break;
16617 default:
16618 if (checkAttributeStringCoercion(value, attributeName), domElement === "" + value)
16619 return;
16620 }
16621 warnForPropDifference(propKey, domElement, value, serverDifferences);
16622 }
16623 function hydrateNumericAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
16624 extraAttributes.delete(attributeName);
16625 domElement = domElement.getAttribute(attributeName);
16626 if (null === domElement)
16627 switch (typeof value) {
16628 case "undefined":
16629 case "function":
16630 case "symbol":
16631 case "boolean":
16632 return;
16633 default:
16634 if (isNaN(value)) return;
16635 }
16636 else if (null != value)
16637 switch (typeof value) {
16638 case "function":
16639 case "symbol":
16640 case "boolean":
16641 break;
16642 default:
16643 if (!isNaN(value) && (checkAttributeStringCoercion(value, propKey), domElement === "" + value))
16644 return;
16645 }
16646 warnForPropDifference(propKey, domElement, value, serverDifferences);
16647 }
16648 function hydrateSanitizedAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) {
16649 extraAttributes.delete(attributeName);
16650 domElement = domElement.getAttribute(attributeName);
16651 if (null === domElement)
16652 switch (typeof value) {
16653 case "undefined":
16654 case "function":
16655 case "symbol":
16656 case "boolean":
16657 return;
16658 }
16659 else if (null != value)
16660 switch (typeof value) {
16661 case "function":
16662 case "symbol":
16663 case "boolean":
16664 break;
16665 default:
16666 if (checkAttributeStringCoercion(value, propKey), attributeName = sanitizeURL("" + value), domElement === attributeName)
16667 return;
16668 }
16669 warnForPropDifference(propKey, domElement, value, serverDifferences);
16670 }
16671 function diffHydratedProperties(domElement, tag, props, hostContext) {
16672 for (var serverDifferences = {}, extraAttributes = /* @__PURE__ */ new Set(), attributes = domElement.attributes, i = 0; i < attributes.length; i++)
16673 switch (attributes[i].name.toLowerCase()) {
16674 case "value":
16675 break;
16676 case "checked":
16677 break;
16678 case "selected":
16679 break;
16680 case "vt-name":
16681 case "vt-update":
16682 case "vt-enter":
16683 case "vt-exit":
16684 case "vt-share":
16685 case "vt-parent-enter":
16686 case "vt-parent-exit":
16687 break;
16688 default:
16689 extraAttributes.add(attributes[i].name);
16690 }
16691 if (isCustomElement(tag))
16692 for (var propKey in props) {
16693 if (props.hasOwnProperty(propKey)) {
16694 var value = props[propKey];
16695 if (null != value) {
16696 if (registrationNameDependencies.hasOwnProperty(propKey))
16697 "function" !== typeof value && warnForInvalidEventListener(propKey, value);
16698 else if (true !== props.suppressHydrationWarning)
16699 switch (propKey) {
16700 case "children":
16701 "string" !== typeof value && "number" !== typeof value || warnForPropDifference(
16702 "children",
16703 domElement.textContent,
16704 value,
16705 serverDifferences
16706 );
16707 continue;
16708 case "suppressContentEditableWarning":
16709 case "suppressHydrationWarning":
16710 case "defaultValue":
16711 case "defaultChecked":
16712 case "innerHTML":
16713 case "ref":
16714 continue;
16715 case "dangerouslySetInnerHTML":
16716 attributes = domElement.innerHTML;
16717 value = value ? value.__html : void 0;
16718 null != value && (value = normalizeHTML(domElement, value), warnForPropDifference(
16719 propKey,
16720 attributes,
16721 value,
16722 serverDifferences
16723 ));
16724 continue;
16725 case "style":
16726 extraAttributes.delete(propKey);
16727 diffHydratedStyles(domElement, value, serverDifferences);
16728 continue;
16729 case "offsetParent":
16730 case "offsetTop":
16731 case "offsetLeft":
16732 case "offsetWidth":
16733 case "offsetHeight":
16734 case "isContentEditable":
16735 case "outerText":
16736 case "outerHTML":
16737 extraAttributes.delete(propKey.toLowerCase());
16738 console.error(
16739 "Assignment to read-only property will result in a no-op: `%s`",
16740 propKey
16741 );
16742 continue;
16743 case "className":
16744 extraAttributes.delete("class");
16745 attributes = getValueForAttributeOnCustomComponent(
16746 domElement,
16747 "class",
16748 value
16749 );
16750 warnForPropDifference(
16751 "className",
16752 attributes,
16753 value,
16754 serverDifferences
16755 );
16756 continue;
16757 default:
16758 hostContext.context === HostContextNamespaceNone && "svg" !== tag && "math" !== tag ? extraAttributes.delete(propKey.toLowerCase()) : extraAttributes.delete(propKey), attributes = getValueForAttributeOnCustomComponent(
16759 domElement,
16760 propKey,
16761 value
16762 ), warnForPropDifference(
16763 propKey,
16764 attributes,
16765 value,
16766 serverDifferences
16767 );
16768 }
16769 }
16770 }
16771 }
16772 else
16773 for (value in props)
16774 if (props.hasOwnProperty(value) && (propKey = props[value], null != propKey)) {
16775 if (registrationNameDependencies.hasOwnProperty(value))
16776 "function" !== typeof propKey && warnForInvalidEventListener(value, propKey);
16777 else if (true !== props.suppressHydrationWarning)
16778 switch (value) {
16779 case "children":
16780 "string" !== typeof propKey && "number" !== typeof propKey || warnForPropDifference(
16781 "children",
16782 domElement.textContent,
16783 propKey,
16784 serverDifferences
16785 );
16786 continue;
16787 case "suppressContentEditableWarning":
16788 case "suppressHydrationWarning":
16789 case "value":
16790 case "checked":
16791 case "selected":
16792 case "defaultValue":
16793 case "defaultChecked":
16794 case "innerHTML":
16795 case "ref":
16796 continue;
16797 case "dangerouslySetInnerHTML":
16798 attributes = domElement.innerHTML;
16799 propKey = propKey ? propKey.__html : void 0;
16800 null != propKey && (propKey = normalizeHTML(domElement, propKey), attributes !== propKey && (serverDifferences[value] = { __html: attributes }));
16801 continue;
16802 case "className":
16803 hydrateAttribute(
16804 domElement,
16805 value,
16806 "class",
16807 propKey,
16808 extraAttributes,
16809 serverDifferences
16810 );
16811 continue;
16812 case "tabIndex":
16813 hydrateAttribute(
16814 domElement,
16815 value,
16816 "tabindex",
16817 propKey,
16818 extraAttributes,
16819 serverDifferences
16820 );
16821 continue;
16822 case "style":
16823 extraAttributes.delete(value);
16824 diffHydratedStyles(domElement, propKey, serverDifferences);
16825 continue;
16826 case "multiple":
16827 extraAttributes.delete(value);
16828 warnForPropDifference(
16829 value,
16830 domElement.multiple,
16831 propKey,
16832 serverDifferences
16833 );
16834 continue;
16835 case "muted":
16836 extraAttributes.delete(value);
16837 warnForPropDifference(
16838 value,
16839 domElement.muted,
16840 propKey,
16841 serverDifferences
16842 );
16843 continue;
16844 case "autoFocus":
16845 extraAttributes.delete("autofocus");
16846 warnForPropDifference(
16847 value,
16848 domElement.autofocus,
16849 propKey,
16850 serverDifferences
16851 );
16852 continue;
16853 case "data":
16854 if ("object" !== tag) {
16855 extraAttributes.delete(value);
16856 attributes = domElement.getAttribute("data");
16857 warnForPropDifference(
16858 value,
16859 attributes,
16860 propKey,
16861 serverDifferences
16862 );
16863 continue;
16864 }
16865 case "src":
16866 case "href":
16867 if (!("" !== propKey || "a" === tag && "href" === value || "object" === tag && "data" === value)) {
16868 "src" === value ? console.error(
16869 'An empty string ("") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',
16870 value,
16871 value
16872 ) : console.error(
16873 'An empty string ("") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',
16874 value,
16875 value
16876 );
16877 continue;
16878 }
16879 hydrateSanitizedAttribute(
16880 domElement,
16881 value,
16882 value,
16883 propKey,
16884 extraAttributes,
16885 serverDifferences
16886 );
16887 continue;
16888 case "action":
16889 case "formAction":
16890 attributes = domElement.getAttribute(value);
16891 if ("function" === typeof propKey) {
16892 extraAttributes.delete(value.toLowerCase());
16893 "formAction" === value ? (extraAttributes.delete("name"), extraAttributes.delete("formenctype"), extraAttributes.delete("formmethod"), extraAttributes.delete("formtarget")) : (extraAttributes.delete("enctype"), extraAttributes.delete("method"), extraAttributes.delete("target"));
16894 continue;
16895 } else if (attributes === EXPECTED_FORM_ACTION_URL) {
16896 extraAttributes.delete(value.toLowerCase());
16897 warnForPropDifference(
16898 value,
16899 "function",
16900 propKey,
16901 serverDifferences
16902 );
16903 continue;
16904 }
16905 hydrateSanitizedAttribute(
16906 domElement,
16907 value,
16908 value.toLowerCase(),
16909 propKey,
16910 extraAttributes,
16911 serverDifferences
16912 );
16913 continue;
16914 case "xlinkHref":
16915 hydrateSanitizedAttribute(
16916 domElement,
16917 value,
16918 "xlink:href",
16919 propKey,
16920 extraAttributes,
16921 serverDifferences
16922 );
16923 continue;
16924 case "contentEditable":
16925 hydrateBooleanishAttribute(
16926 domElement,
16927 value,
16928 "contenteditable",
16929 propKey,
16930 extraAttributes,
16931 serverDifferences
16932 );
16933 continue;
16934 case "spellCheck":
16935 hydrateBooleanishAttribute(
16936 domElement,
16937 value,
16938 "spellcheck",
16939 propKey,
16940 extraAttributes,
16941 serverDifferences
16942 );
16943 continue;
16944 case "draggable":
16945 case "autoReverse":
16946 case "externalResourcesRequired":
16947 case "focusable":
16948 case "preserveAlpha":
16949 hydrateBooleanishAttribute(
16950 domElement,
16951 value,
16952 value,
16953 propKey,
16954 extraAttributes,
16955 serverDifferences
16956 );
16957 continue;
16958 case "allowFullScreen":
16959 case "async":
16960 case "autoPlay":
16961 case "controls":
16962 case "credentialless":
16963 case "default":
16964 case "defer":
16965 case "disabled":
16966 case "disablePictureInPicture":
16967 case "disableRemotePlayback":
16968 case "formNoValidate":
16969 case "hidden":
16970 case "loop":
16971 case "noModule":
16972 case "noValidate":
16973 case "open":
16974 case "playsInline":
16975 case "readOnly":
16976 case "required":
16977 case "reversed":
16978 case "scoped":
16979 case "seamless":
16980 case "itemScope":
16981 hydrateBooleanAttribute(
16982 domElement,
16983 value,
16984 value.toLowerCase(),
16985 propKey,
16986 extraAttributes,
16987 serverDifferences
16988 );
16989 continue;
16990 case "capture":
16991 case "download":
16992 a: {
16993 i = domElement;
16994 var attributeName = attributes = value, serverDifferences$jscomp$0 = serverDifferences;
16995 extraAttributes.delete(attributeName);
16996 i = i.getAttribute(attributeName);
16997 if (null === i)
16998 switch (typeof propKey) {
16999 case "undefined":
17000 case "function":
17001 case "symbol":
17002 break a;
17003 default:
17004 if (false === propKey) break a;
17005 }
17006 else if (null != propKey)
17007 switch (typeof propKey) {
17008 case "function":
17009 case "symbol":
17010 break;
17011 case "boolean":
17012 if (true === propKey && "" === i) break a;
17013 break;
17014 default:
17015 if (checkAttributeStringCoercion(propKey, attributes), i === "" + propKey)
17016 break a;
17017 }
17018 warnForPropDifference(
17019 attributes,
17020 i,
17021 propKey,
17022 serverDifferences$jscomp$0
17023 );
17024 }
17025 continue;
17026 case "cols":
17027 case "rows":
17028 case "size":
17029 case "span":
17030 a: {
17031 i = domElement;
17032 attributeName = attributes = value;
17033 serverDifferences$jscomp$0 = serverDifferences;
17034 extraAttributes.delete(attributeName);
17035 i = i.getAttribute(attributeName);
17036 if (null === i)
17037 switch (typeof propKey) {
17038 case "undefined":
17039 case "function":
17040 case "symbol":
17041 case "boolean":
17042 break a;
17043 default:
17044 if (isNaN(propKey) || 1 > propKey) break a;
17045 }
17046 else if (null != propKey)
17047 switch (typeof propKey) {
17048 case "function":
17049 case "symbol":
17050 case "boolean":
17051 break;
17052 default:
17053 if (!(isNaN(propKey) || 1 > propKey) && (checkAttributeStringCoercion(propKey, attributes), i === "" + propKey))
17054 break a;
17055 }
17056 warnForPropDifference(
17057 attributes,
17058 i,
17059 propKey,
17060 serverDifferences$jscomp$0
17061 );
17062 }
17063 continue;
17064 case "rowSpan":
17065 hydrateNumericAttribute(
17066 domElement,
17067 value,
17068 "rowspan",
17069 propKey,
17070 extraAttributes,
17071 serverDifferences
17072 );
17073 continue;
17074 case "start":
17075 hydrateNumericAttribute(
17076 domElement,
17077 value,
17078 value,
17079 propKey,
17080 extraAttributes,
17081 serverDifferences
17082 );
17083 continue;
17084 case "xHeight":
17085 hydrateAttribute(
17086 domElement,
17087 value,
17088 "x-height",
17089 propKey,
17090 extraAttributes,
17091 serverDifferences
17092 );
17093 continue;
17094 case "xlinkActuate":
17095 hydrateAttribute(
17096 domElement,
17097 value,
17098 "xlink:actuate",
17099 propKey,
17100 extraAttributes,
17101 serverDifferences
17102 );
17103 continue;
17104 case "xlinkArcrole":
17105 hydrateAttribute(
17106 domElement,
17107 value,
17108 "xlink:arcrole",
17109 propKey,
17110 extraAttributes,
17111 serverDifferences
17112 );
17113 continue;
17114 case "xlinkRole":
17115 hydrateAttribute(
17116 domElement,
17117 value,
17118 "xlink:role",
17119 propKey,
17120 extraAttributes,
17121 serverDifferences
17122 );
17123 continue;
17124 case "xlinkShow":
17125 hydrateAttribute(
17126 domElement,
17127 value,
17128 "xlink:show",
17129 propKey,
17130 extraAttributes,
17131 serverDifferences
17132 );
17133 continue;
17134 case "xlinkTitle":
17135 hydrateAttribute(
17136 domElement,
17137 value,
17138 "xlink:title",
17139 propKey,
17140 extraAttributes,
17141 serverDifferences
17142 );
17143 continue;
17144 case "xlinkType":
17145 hydrateAttribute(
17146 domElement,
17147 value,
17148 "xlink:type",
17149 propKey,
17150 extraAttributes,
17151 serverDifferences
17152 );
17153 continue;
17154 case "xmlBase":
17155 hydrateAttribute(
17156 domElement,
17157 value,
17158 "xml:base",
17159 propKey,
17160 extraAttributes,
17161 serverDifferences
17162 );
17163 continue;
17164 case "xmlLang":
17165 hydrateAttribute(
17166 domElement,
17167 value,
17168 "xml:lang",
17169 propKey,
17170 extraAttributes,
17171 serverDifferences
17172 );
17173 continue;
17174 case "xmlSpace":
17175 hydrateAttribute(
17176 domElement,
17177 value,
17178 "xml:space",
17179 propKey,
17180 extraAttributes,
17181 serverDifferences
17182 );
17183 continue;
17184 case "inert":
17185 "" !== propKey || didWarnForNewBooleanPropsWithEmptyValue[value] || (didWarnForNewBooleanPropsWithEmptyValue[value] = true, console.error(
17186 "Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",
17187 value
17188 ));
17189 hydrateBooleanAttribute(
17190 domElement,
17191 value,
17192 value,
17193 propKey,
17194 extraAttributes,
17195 serverDifferences
17196 );
17197 continue;
17198 default:
17199 if (!(2 < value.length) || "o" !== value[0] && "O" !== value[0] || "n" !== value[1] && "N" !== value[1]) {
17200 i = getAttributeAlias(value);
17201 attributes = false;
17202 hostContext.context === HostContextNamespaceNone && "svg" !== tag && "math" !== tag ? extraAttributes.delete(i.toLowerCase()) : (attributeName = value.toLowerCase(), attributeName = possibleStandardNames.hasOwnProperty(
17203 attributeName
17204 ) ? possibleStandardNames[attributeName] || null : null, null !== attributeName && attributeName !== value && (attributes = true, extraAttributes.delete(attributeName)), extraAttributes.delete(i));
17205 a: if (attributeName = domElement, serverDifferences$jscomp$0 = i, i = propKey, isAttributeNameSafe(serverDifferences$jscomp$0))
17206 if (attributeName.hasAttribute(serverDifferences$jscomp$0))
17207 attributeName = "nonce" === serverDifferences$jscomp$0.toLowerCase() ? attributeName.nonce : attributeName.getAttribute(
17208 serverDifferences$jscomp$0
17209 ), checkAttributeStringCoercion(
17210 i,
17211 serverDifferences$jscomp$0
17212 ), i = attributeName === "" + i ? i : attributeName;
17213 else {
17214 switch (typeof i) {
17215 case "function":
17216 case "symbol":
17217 break a;
17218 case "boolean":
17219 if (attributeName = serverDifferences$jscomp$0.toLowerCase().slice(0, 5), "data-" !== attributeName && "aria-" !== attributeName)
17220 break a;
17221 }
17222 i = void 0 === i ? void 0 : null;
17223 }
17224 else i = void 0;
17225 attributes || warnForPropDifference(
17226 value,
17227 i,
17228 propKey,
17229 serverDifferences
17230 );
17231 }
17232 }
17233 }
17234 0 < extraAttributes.size && true !== props.suppressHydrationWarning && warnForExtraAttributes(domElement, extraAttributes, serverDifferences);
17235 return 0 === Object.keys(serverDifferences).length ? null : serverDifferences;
17236 }
17237 function propNamesListJoin(list, combinator) {
17238 switch (list.length) {
17239 case 0:
17240 return "";
17241 case 1:
17242 return list[0];
17243 case 2:
17244 return list[0] + " " + combinator + " " + list[1];
17245 default:
17246 return list.slice(0, -1).join(", ") + ", " + combinator + " " + list[list.length - 1];
17247 }
17248 }
17249 function isLikelyStaticResource(initiatorType) {
17250 switch (initiatorType) {
17251 case "css":
17252 case "script":
17253 case "font":
17254 case "img":
17255 case "image":
17256 case "input":
17257 case "link":
17258 return true;
17259 default:
17260 return false;
17261 }
17262 }
17263 function estimateBandwidth() {
17264 if ("function" === typeof performance.getEntriesByType) {
17265 for (var count = 0, bits = 0, resourceEntries = performance.getEntriesByType("resource"), i = 0; i < resourceEntries.length; i++) {
17266 var entry = resourceEntries[i], transferSize = entry.transferSize, initiatorType = entry.initiatorType, duration = entry.duration;
17267 if (transferSize && duration && isLikelyStaticResource(initiatorType)) {
17268 initiatorType = 0;
17269 duration = entry.responseEnd;
17270 for (i += 1; i < resourceEntries.length; i++) {
17271 var overlapEntry = resourceEntries[i], overlapStartTime = overlapEntry.startTime;
17272 if (overlapStartTime > duration) break;
17273 var overlapTransferSize = overlapEntry.transferSize, overlapInitiatorType = overlapEntry.initiatorType;
17274 overlapTransferSize && isLikelyStaticResource(overlapInitiatorType) && (overlapEntry = overlapEntry.responseEnd, initiatorType += overlapTransferSize * (overlapEntry < duration ? 1 : (duration - overlapStartTime) / (overlapEntry - overlapStartTime)));
17275 }
17276 --i;
17277 bits += 8 * (transferSize + initiatorType) / (entry.duration / 1e3);
17278 count++;
17279 if (10 < count) break;
17280 }
17281 }
17282 if (0 < count) return bits / count / 1e6;
17283 }
17284 return navigator.connection && (count = navigator.connection.downlink, "number" === typeof count) ? count : 5;
17285 }
17286 function getOwnerDocumentFromRootContainer(rootContainerElement) {
17287 return 9 === rootContainerElement.nodeType ? rootContainerElement : rootContainerElement.ownerDocument;
17288 }
17289 function getOwnHostContext(namespaceURI) {
17290 switch (namespaceURI) {
17291 case SVG_NAMESPACE:
17292 return HostContextNamespaceSvg;
17293 case MATH_NAMESPACE:
17294 return HostContextNamespaceMath;
17295 default:
17296 return HostContextNamespaceNone;
17297 }
17298 }
17299 function getChildHostContextProd(parentNamespace, type) {
17300 if (parentNamespace === HostContextNamespaceNone)
17301 switch (type) {
17302 case "svg":
17303 return HostContextNamespaceSvg;
17304 case "math":
17305 return HostContextNamespaceMath;
17306 default:
17307 return HostContextNamespaceNone;
17308 }
17309 return parentNamespace === HostContextNamespaceSvg && "foreignObject" === type ? HostContextNamespaceNone : parentNamespace;
17310 }
17311 function createHoistableInstance(type, props, rootContainerInstance, internalInstanceHandle) {
17312 rootContainerInstance = getOwnerDocumentFromRootContainer(
17313 rootContainerInstance
17314 ).createElement(type);
17315 rootContainerInstance[internalInstanceKey] = internalInstanceHandle;
17316 rootContainerInstance[internalPropsKey] = props;
17317 setInitialProperties(rootContainerInstance, type, props);
17318 markNodeAsHoistable(rootContainerInstance);
17319 return rootContainerInstance;
17320 }
17321 function isScriptDataBlock(props) {
17322 props = props.type;
17323 if ("string" !== typeof props || "" === props) return false;
17324 props = props.toLowerCase();
17325 if ("module" === props || "importmap" === props || "speculationrules" === props)
17326 return false;
17327 switch (props) {
17328 case "application/ecmascript":
17329 case "application/javascript":
17330 case "application/x-ecmascript":
17331 case "application/x-javascript":
17332 case "text/ecmascript":
17333 case "text/javascript":
17334 case "text/javascript1.0":
17335 case "text/javascript1.1":
17336 case "text/javascript1.2":
17337 case "text/javascript1.3":
17338 case "text/javascript1.4":
17339 case "text/javascript1.5":
17340 case "text/jscript":
17341 case "text/livescript":
17342 case "text/x-ecmascript":
17343 case "text/x-javascript":
17344 return false;
17345 }
17346 return true;
17347 }
17348 function shouldSetTextContent(type, props) {
17349 return "textarea" === type || "noscript" === type || "string" === typeof props.children || "number" === typeof props.children || "bigint" === typeof props.children || "object" === typeof props.dangerouslySetInnerHTML && null !== props.dangerouslySetInnerHTML && null != props.dangerouslySetInnerHTML.__html;
17350 }
17351 function shouldAttemptEagerTransition() {
17352 var event = window.event;
17353 if (event && "popstate" === event.type) {
17354 if (event === currentPopstateTransitionEvent) return false;
17355 currentPopstateTransitionEvent = event;
17356 return true;
17357 }
17358 currentPopstateTransitionEvent = null;
17359 return false;
17360 }
17361 function resolveEventType() {
17362 var event = window.event;
17363 return event && event !== schedulerEvent ? event.type : null;
17364 }
17365 function resolveEventTimeStamp() {
17366 var event = window.event;
17367 return event && event !== schedulerEvent ? event.timeStamp : -1.1;
17368 }
17369 function handleErrorInNextTick(error) {
17370 setTimeout(function() {
17371 throw error;
17372 });
17373 }
17374 function commitMount(domElement, type, newProps) {
17375 switch (type) {
17376 case "button":
17377 case "input":
17378 case "select":
17379 case "textarea":
17380 newProps.autoFocus && domElement.focus();
17381 break;
17382 case "img":
17383 newProps.src ? domElement.src = newProps.src : newProps.srcSet && (domElement.srcset = newProps.srcSet);
17384 }
17385 }
17386 function commitHydratedInstance() {
17387 }
17388 function commitUpdate(domElement, type, oldProps, newProps) {
17389 updateProperties(domElement, type, oldProps, newProps);
17390 domElement[internalPropsKey] = newProps;
17391 }
17392 function resetTextContent(domElement) {
17393 setTextContent(domElement, "");
17394 }
17395 function commitTextUpdate(textInstance, oldText, newText) {
17396 textInstance.nodeValue = newText;
17397 }
17398 function warnForReactChildrenConflict(container) {
17399 if (!container.__reactWarnedAboutChildrenConflict) {
17400 var props = container[internalPropsKey] || null;
17401 if (null !== props) {
17402 var fiber = getInstanceFromNode(container);
17403 null !== fiber && ("string" === typeof props.children || "number" === typeof props.children ? (container.__reactWarnedAboutChildrenConflict = true, runWithFiberInDEV(fiber, function() {
17404 console.error(
17405 'Cannot use a ref on a React element as a container to `createRoot` or `createPortal` if that element also sets "children" text content using React. It should be a leaf with no children. Otherwise it\'s ambiguous which children should be used.'
17406 );
17407 })) : null != props.dangerouslySetInnerHTML && (container.__reactWarnedAboutChildrenConflict = true, runWithFiberInDEV(fiber, function() {
17408 console.error(
17409 'Cannot use a ref on a React element as a container to `createRoot` or `createPortal` if that element also sets "dangerouslySetInnerHTML" using React. It should be a leaf with no children. Otherwise it\'s ambiguous which children should be used.'
17410 );
17411 })));
17412 }
17413 }
17414 }
17415 function isSingletonScope(type) {
17416 return "head" === type;
17417 }
17418 function removeChild(parentInstance, child) {
17419 parentInstance.removeChild(child);
17420 }
17421 function removeChildFromContainer(container, child) {
17422 (9 === container.nodeType ? container.body : "HTML" === container.nodeName ? container.ownerDocument.body : container).removeChild(child);
17423 }
17424 function clearHydrationBoundary(parentInstance, hydrationInstance) {
17425 var node = hydrationInstance, depth = 0;
17426 do {
17427 var nextNode = node.nextSibling;
17428 parentInstance.removeChild(node);
17429 if (nextNode && 8 === nextNode.nodeType)
17430 if (node = nextNode.data, node === SUSPENSE_END_DATA || node === ACTIVITY_END_DATA) {
17431 if (0 === depth) {
17432 parentInstance.removeChild(nextNode);
17433 retryIfBlockedOn(hydrationInstance);
17434 return;
17435 }
17436 depth--;
17437 } else if (node === SUSPENSE_START_DATA || node === SUSPENSE_PENDING_START_DATA || node === SUSPENSE_QUEUED_START_DATA || node === SUSPENSE_FALLBACK_START_DATA || node === ACTIVITY_START_DATA)
17438 depth++;
17439 else if (node === PREAMBLE_CONTRIBUTION_HTML)
17440 clearSingletonPreambleContribution(
17441 parentInstance.ownerDocument.documentElement
17442 );
17443 else if (node === PREAMBLE_CONTRIBUTION_HEAD) {
17444 node = parentInstance.ownerDocument.head;
17445 clearSingletonPreambleContribution(node);
17446 for (var node$jscomp$0 = node.firstChild; node$jscomp$0; ) {
17447 var nextNode$jscomp$0 = node$jscomp$0.nextSibling, nodeName = node$jscomp$0.nodeName;
17448 node$jscomp$0[internalHoistableMarker] || "SCRIPT" === nodeName || "STYLE" === nodeName || "LINK" === nodeName && "stylesheet" === node$jscomp$0.rel.toLowerCase() || node.removeChild(node$jscomp$0);
17449 node$jscomp$0 = nextNode$jscomp$0;
17450 }
17451 } else
17452 node === PREAMBLE_CONTRIBUTION_BODY && clearSingletonPreambleContribution(
17453 parentInstance.ownerDocument.body
17454 );
17455 node = nextNode;
17456 } while (node);
17457 retryIfBlockedOn(hydrationInstance);
17458 }
17459 function hideOrUnhideDehydratedBoundary(suspenseInstance, isHidden) {
17460 var node = suspenseInstance;
17461 suspenseInstance = 0;
17462 do {
17463 var nextNode = node.nextSibling;
17464 1 === node.nodeType ? isHidden ? (node._stashedDisplay = node.style.display, node.style.display = "none") : (node.style.display = node._stashedDisplay || "", "" === node.getAttribute("style") && node.removeAttribute("style")) : 3 === node.nodeType && (isHidden ? (node._stashedText = node.nodeValue, node.nodeValue = "") : node.nodeValue = node._stashedText || "");
17465 if (nextNode && 8 === nextNode.nodeType)
17466 if (node = nextNode.data, node === SUSPENSE_END_DATA)
17467 if (0 === suspenseInstance) break;
17468 else suspenseInstance--;
17469 else
17470 node !== SUSPENSE_START_DATA && node !== SUSPENSE_PENDING_START_DATA && node !== SUSPENSE_QUEUED_START_DATA && node !== SUSPENSE_FALLBACK_START_DATA || suspenseInstance++;
17471 node = nextNode;
17472 } while (node);
17473 }
17474 function hideDehydratedBoundary(suspenseInstance) {
17475 hideOrUnhideDehydratedBoundary(suspenseInstance, true);
17476 }
17477 function hideInstance(instance) {
17478 instance = instance.style;
17479 "function" === typeof instance.setProperty ? instance.setProperty("display", "none", "important") : instance.display = "none";
17480 }
17481 function hideTextInstance(textInstance) {
17482 textInstance.nodeValue = "";
17483 }
17484 function unhideDehydratedBoundary(dehydratedInstance) {
17485 hideOrUnhideDehydratedBoundary(dehydratedInstance, false);
17486 }
17487 function unhideInstance(instance, props) {
17488 props = props[STYLE];
17489 props = void 0 !== props && null !== props && props.hasOwnProperty("display") ? props.display : null;
17490 instance.style.display = null == props || "boolean" === typeof props ? "" : ("" + props).trim();
17491 }
17492 function unhideTextInstance(textInstance, text) {
17493 textInstance.nodeValue = text;
17494 }
17495 function warnForBlockInsideInline(instance) {
17496 for (var nextNode = instance.firstChild; null != nextNode; ) {
17497 if (1 === nextNode.nodeType && "block" === getComputedStyle(nextNode).display) {
17498 var fiber = getInstanceFromNode(nextNode) || getInstanceFromNode(instance);
17499 runWithFiberInDEV(
17500 fiber,
17501 function(parentTag, childTag) {
17502 console.error(
17503 "You're about to start a <ViewTransition> around a display: inline element <%s>, which itself has a display: block element <%s> inside it. This might trigger a bug in Safari which causes the View Transition to be skipped with a duplicate name error.\nhttps://bugs.webkit.org/show_bug.cgi?id=290923",
17504 parentTag.toLocaleLowerCase(),
17505 childTag.toLocaleLowerCase()
17506 );
17507 },
17508 instance.tagName,
17509 nextNode.tagName
17510 );
17511 break;
17512 }
17513 if (null != nextNode.firstChild) nextNode = nextNode.firstChild;
17514 else {
17515 if (nextNode === instance) break;
17516 for (; null == nextNode.nextSibling && null != nextNode.parentNode && nextNode.parentNode !== instance; )
17517 nextNode = nextNode.parentNode;
17518 nextNode = nextNode.nextSibling;
17519 }
17520 }
17521 }
17522 function applyViewTransitionName(instance, name, className) {
17523 name = CSS.escape(name) !== name ? "r-" + btoa(name).replace(/=/g, "") : name;
17524 instance.style.viewTransitionName = name;
17525 null != className && (instance.style.viewTransitionClass = className);
17526 className = getComputedStyle(instance);
17527 if ("inline" === className.display) {
17528 name = instance.getClientRects();
17529 if (1 === name.length) var JSCompiler_inline_result = 1;
17530 else
17531 for (var i = JSCompiler_inline_result = 0; i < name.length; i++) {
17532 var rect = name[i];
17533 0 < rect.width && 0 < rect.height && JSCompiler_inline_result++;
17534 }
17535 1 === JSCompiler_inline_result ? (instance = instance.style, instance.display = 1 === name.length ? "inline-block" : "block", instance.marginTop = "-" + className.paddingTop, instance.marginBottom = "-" + className.paddingBottom) : warnForBlockInsideInline(instance);
17536 }
17537 }
17538 function restoreViewTransitionName(instance, props) {
17539 instance = instance.style;
17540 props = props[STYLE];
17541 var viewTransitionName = null != props ? props.hasOwnProperty("viewTransitionName") ? props.viewTransitionName : props.hasOwnProperty("view-transition-name") ? props["view-transition-name"] : null : null;
17542 instance.viewTransitionName = null == viewTransitionName || "boolean" === typeof viewTransitionName ? "" : ("" + viewTransitionName).trim();
17543 viewTransitionName = null != props ? props.hasOwnProperty("viewTransitionClass") ? props.viewTransitionClass : props.hasOwnProperty("view-transition-class") ? props["view-transition-class"] : null : null;
17544 instance.viewTransitionClass = null == viewTransitionName || "boolean" === typeof viewTransitionName ? "" : ("" + viewTransitionName).trim();
17545 "inline-block" === instance.display && (null == props ? instance.display = instance.margin = "" : (viewTransitionName = props.display, instance.display = null == viewTransitionName || "boolean" === typeof viewTransitionName ? "" : viewTransitionName, viewTransitionName = props.margin, null != viewTransitionName ? instance.margin = viewTransitionName : (viewTransitionName = props.hasOwnProperty("marginTop") ? props.marginTop : props["margin-top"], instance.marginTop = null == viewTransitionName || "boolean" === typeof viewTransitionName ? "" : viewTransitionName, props = props.hasOwnProperty("marginBottom") ? props.marginBottom : props["margin-bottom"], instance.marginBottom = null == props || "boolean" === typeof props ? "" : props)));
17546 }
17547 function createMeasurement(rect, computedStyle, element) {
17548 element = element.ownerDocument.defaultView;
17549 return {
17550 rect,
17551 abs: "absolute" === computedStyle.position || "fixed" === computedStyle.position,
17552 clip: "none" !== computedStyle.clipPath || "visible" !== computedStyle.overflow || "none" !== computedStyle.filter || "none" !== computedStyle.mask || "none" !== computedStyle.mask || "0px" !== computedStyle.borderRadius,
17553 view: 0 <= rect.bottom && 0 <= rect.right && rect.top <= element.innerHeight && rect.left <= element.innerWidth
17554 };
17555 }
17556 function measureInstance(instance) {
17557 var rect = instance.getBoundingClientRect(), computedStyle = getComputedStyle(instance);
17558 return createMeasurement(rect, computedStyle, instance);
17559 }
17560 function measureClonedInstance(instance) {
17561 var measuredRect = instance.getBoundingClientRect();
17562 measuredRect = new DOMRect(
17563 measuredRect.x + 2e4,
17564 measuredRect.y + 2e4,
17565 measuredRect.width,
17566 measuredRect.height
17567 );
17568 var computedStyle = getComputedStyle(instance);
17569 return createMeasurement(measuredRect, computedStyle, instance);
17570 }
17571 function customizeViewTransitionError(error, ignoreAbort) {
17572 if ("object" === typeof error && null !== error)
17573 switch (error.name) {
17574 case "TimeoutError":
17575 return Error(
17576 "A ViewTransition timed out because a Navigation stalled. This can happen if a Navigation is blocked on React itself. Such as if it's resolved inside useEffect. This can be solved by moving the resolution to useLayoutEffect.",
17577 { cause: error }
17578 );
17579 case "AbortError":
17580 return ignoreAbort ? null : Error(
17581 "A ViewTransition was aborted early. This might be because you have other View Transition libraries on the page and only one can run at a time. To avoid this, use only React's built-in <ViewTransition> to coordinate.",
17582 { cause: error }
17583 );
17584 case "InvalidStateError":
17585 if ("View transition was skipped because document visibility state is hidden." === error.message || "Skipping view transition because document visibility state has become hidden." === error.message || "Skipping view transition because viewport size changed." === error.message || "Transition was aborted because of invalid state" === error.message)
17586 return null;
17587 }
17588 return error;
17589 }
17590 function forceLayout(ownerDocument) {
17591 return ownerDocument.documentElement.clientHeight;
17592 }
17593 function waitForImageToLoad(resolve) {
17594 this.addEventListener("load", resolve);
17595 this.addEventListener("error", resolve);
17596 }
17597 function startViewTransition(suspendedState, rootContainer, transitionTypes, mutationCallback, layoutCallback, afterMutationCallback, spawnedWorkCallback, passiveCallback, errorCallback, blockedCallback, finishedAnimation) {
17598 var ownerDocument = 9 === rootContainer.nodeType ? rootContainer : rootContainer.ownerDocument;
17599 try {
17600 var transition = ownerDocument.startViewTransition({
17601 update: function() {
17602 var ownerWindow = ownerDocument.defaultView, pendingNavigation = ownerWindow.navigation && ownerWindow.navigation.transition, previousFontLoadingStatus = ownerDocument.fonts.status;
17603 mutationCallback();
17604 var blockingPromises = [];
17605 "loaded" === previousFontLoadingStatus && (forceLayout(ownerDocument), "loading" === ownerDocument.fonts.status && blockingPromises.push(ownerDocument.fonts.ready));
17606 previousFontLoadingStatus = blockingPromises.length;
17607 if (null !== suspendedState)
17608 for (var suspenseyImages = suspendedState.suspenseyImages, imgBytes = 0, i = 0; i < suspenseyImages.length; i++) {
17609 var suspenseyImage = suspenseyImages[i];
17610 if (!suspenseyImage.complete) {
17611 var rect = suspenseyImage.getBoundingClientRect();
17612 if (0 < rect.bottom && 0 < rect.right && rect.top < ownerWindow.innerHeight && rect.left < ownerWindow.innerWidth) {
17613 imgBytes += estimateImageBytes(suspenseyImage);
17614 if (imgBytes > estimatedBytesWithinLimit) {
17615 blockingPromises.length = previousFontLoadingStatus;
17616 break;
17617 }
17618 suspenseyImage = new Promise(
17619 waitForImageToLoad.bind(suspenseyImage)
17620 );
17621 blockingPromises.push(suspenseyImage);
17622 }
17623 }
17624 }
17625 if (0 < blockingPromises.length)
17626 return blockedCallback(
17627 0 < previousFontLoadingStatus ? blockingPromises.length > previousFontLoadingStatus ? "Waiting on Fonts and Images" : "Waiting on Fonts" : "Waiting on Images"
17628 ), ownerWindow = Promise.race([
17629 Promise.all(blockingPromises),
17630 new Promise(function(resolve) {
17631 return setTimeout(
17632 resolve,
17633 SUSPENSEY_FONT_AND_IMAGE_TIMEOUT
17634 );
17635 })
17636 ]).then(layoutCallback, layoutCallback), (pendingNavigation ? Promise.allSettled([
17637 pendingNavigation.finished,
17638 ownerWindow
17639 ]) : ownerWindow).then(afterMutationCallback, afterMutationCallback);
17640 layoutCallback();
17641 if (pendingNavigation)
17642 return pendingNavigation.finished.then(
17643 afterMutationCallback,
17644 afterMutationCallback
17645 );
17646 afterMutationCallback();
17647 },
17648 types: transitionTypes
17649 });
17650 ownerDocument.__reactViewTransition = transition;
17651 var viewTransitionAnimations = [];
17652 transition.ready.then(
17653 function() {
17654 for (var animations = ownerDocument.documentElement.getAnimations({
17655 subtree: true
17656 }), i = 0; i < animations.length; i++) {
17657 var animation = animations[i], effect = animation.effect, pseudoElement = effect.pseudoElement;
17658 if (null != pseudoElement && pseudoElement.startsWith("::view-transition")) {
17659 viewTransitionAnimations.push(animation);
17660 animation = effect.getKeyframes();
17661 for (var height = pseudoElement = void 0, unchangedDimensions = true, j = 0; j < animation.length; j++) {
17662 var keyframe = animation[j], w = keyframe.width;
17663 if (void 0 === pseudoElement) pseudoElement = w;
17664 else if (pseudoElement !== w) {
17665 unchangedDimensions = false;
17666 break;
17667 }
17668 w = keyframe.height;
17669 if (void 0 === height) height = w;
17670 else if (height !== w) {
17671 unchangedDimensions = false;
17672 break;
17673 }
17674 delete keyframe.width;
17675 delete keyframe.height;
17676 "none" === keyframe.transform && delete keyframe.transform;
17677 }
17678 unchangedDimensions && void 0 !== pseudoElement && void 0 !== height && (effect.setKeyframes(animation), unchangedDimensions = getComputedStyle(
17679 effect.target,
17680 effect.pseudoElement
17681 ), unchangedDimensions.width !== pseudoElement || unchangedDimensions.height !== height) && (unchangedDimensions = animation[0], unchangedDimensions.width = pseudoElement, unchangedDimensions.height = height, unchangedDimensions = animation[animation.length - 1], unchangedDimensions.width = pseudoElement, unchangedDimensions.height = height, effect.setKeyframes(animation));
17682 }
17683 }
17684 spawnedWorkCallback();
17685 },
17686 function(error) {
17687 ownerDocument.__reactViewTransition === transition && (ownerDocument.__reactViewTransition = null);
17688 try {
17689 error = customizeViewTransitionError(error, false), null !== error && errorCallback(error);
17690 } finally {
17691 mutationCallback(), layoutCallback(), spawnedWorkCallback(), finishedAnimation();
17692 }
17693 }
17694 );
17695 transition.finished.finally(function() {
17696 for (var i = 0; i < viewTransitionAnimations.length; i++)
17697 viewTransitionAnimations[i].cancel();
17698 ownerDocument.__reactViewTransition === transition && (ownerDocument.__reactViewTransition = null);
17699 finishedAnimation();
17700 passiveCallback();
17701 });
17702 return transition;
17703 } catch (x) {
17704 return mutationCallback(), layoutCallback(), finishedAnimation(), spawnedWorkCallback(), null;
17705 }
17706 }
17707 function ViewTransitionPseudoElement(pseudo, name) {
17708 this._scope = document.documentElement;
17709 this._selector = "::view-transition-" + pseudo + "(" + name + ")";
17710 }
17711 function createViewTransitionInstance(name) {
17712 return {
17713 name,
17714 group: new ViewTransitionPseudoElement("group", name),
17715 imagePair: new ViewTransitionPseudoElement("image-pair", name),
17716 old: new ViewTransitionPseudoElement("old", name),
17717 new: new ViewTransitionPseudoElement("new", name)
17718 };
17719 }
17720 function FragmentInstance(fragmentFiber) {
17721 this._fragmentFiber = fragmentFiber;
17722 this._observers = this._eventListeners = null;
17723 }
17724 function addEventListenerToChild(child, type, listener, optionsOrUseCapture) {
17725 getInstanceFromHostFiber(child).addEventListener(
17726 type,
17727 listener,
17728 optionsOrUseCapture
17729 );
17730 return false;
17731 }
17732 function removeEventListenerFromChild(child, type, listener, optionsOrUseCapture) {
17733 getInstanceFromHostFiber(child).removeEventListener(
17734 type,
17735 listener,
17736 optionsOrUseCapture
17737 );
17738 return false;
17739 }
17740 function getAttachOptions(opts) {
17741 return null != opts && "boolean" !== typeof opts && (true === opts.once || opts.signal instanceof AbortSignal) ? { capture: opts.capture, passive: opts.passive } : opts;
17742 }
17743 function normalizeListenerOptions(opts) {
17744 return null == opts ? "c=0" : "boolean" === typeof opts ? "c=" + (opts ? "1" : "0") : "c=" + (opts.capture ? "1" : "0");
17745 }
17746 function indexOfEventListener(eventListeners, type, listener, optionsOrUseCapture) {
17747 if (0 === eventListeners.length) return -1;
17748 optionsOrUseCapture = normalizeListenerOptions(optionsOrUseCapture);
17749 for (var i = 0; i < eventListeners.length; i++) {
17750 var item = eventListeners[i];
17751 if (item.type === type && item.listener === listener && normalizeListenerOptions(item.optionsOrUseCapture) === optionsOrUseCapture)
17752 return i;
17753 }
17754 return -1;
17755 }
17756 function setFocusOnFiberIfFocusable(fiber, focusOptions) {
17757 if (6 === fiber.tag) return false;
17758 fiber = getInstanceFromHostFiber(fiber);
17759 return setFocusIfFocusable(fiber, focusOptions);
17760 }
17761 function collectChildren(child, collection) {
17762 collection.push(child);
17763 return false;
17764 }
17765 function blurActiveElementWithinFragment(child, activeElement2) {
17766 if (6 === child.tag) return false;
17767 child = getInstanceFromHostFiber(child);
17768 return child === activeElement2 || child.contains(activeElement2) ? (activeElement2.blur(), true) : false;
17769 }
17770 function observeChild(child, observer) {
17771 if (6 === child.tag) return false;
17772 child = getInstanceFromHostFiber(child);
17773 observer.observe(child);
17774 return false;
17775 }
17776 function unobserveChild(child, observer) {
17777 if (6 === child.tag) return false;
17778 child = getInstanceFromHostFiber(child);
17779 observer.unobserve(child);
17780 return false;
17781 }
17782 function schedulePendingIntersectionUnobserve(fragmentInstance, observer, instance) {
17783 pendingIntersectionUnobserves.push({
17784 fragmentInstance,
17785 observer,
17786 instance
17787 });
17788 intersectionUnobserveScheduled || (intersectionUnobserveScheduled = true, requestPostPaintCallback(function() {
17789 intersectionUnobserveScheduled = false;
17790 var pending = pendingIntersectionUnobserves;
17791 pendingIntersectionUnobserves = [];
17792 for (var i = 0; i < pending.length; i++) {
17793 var item = pending[i];
17794 item.observer.unobserve(item.instance);
17795 }
17796 }));
17797 }
17798 function collectClientRects(child, rects) {
17799 if (6 === child.tag) {
17800 child = child.stateNode;
17801 var range = child.ownerDocument.createRange();
17802 range.selectNodeContents(child);
17803 rects.push.apply(rects, range.getClientRects());
17804 } else
17805 child = getInstanceFromHostFiber(child), rects.push.apply(rects, child.getClientRects());
17806 return false;
17807 }
17808 function validateDocumentPositionWithFiberTree(documentPosition, fragmentFiber, precedingBoundaryFiber, followingBoundaryFiber, otherNode) {
17809 var otherFiber = getClosestInstanceFromNode(otherNode);
17810 if (documentPosition & Node.DOCUMENT_POSITION_CONTAINED_BY) {
17811 if (precedingBoundaryFiber = !!otherFiber)
17812 a: {
17813 for (; null !== otherFiber; ) {
17814 if (7 === otherFiber.tag && (otherFiber === fragmentFiber || otherFiber.alternate === fragmentFiber)) {
17815 precedingBoundaryFiber = true;
17816 break a;
17817 }
17818 otherFiber = otherFiber.return;
17819 }
17820 precedingBoundaryFiber = false;
17821 }
17822 return precedingBoundaryFiber;
17823 }
17824 if (documentPosition & Node.DOCUMENT_POSITION_CONTAINS) {
17825 if (null === otherFiber)
17826 return otherFiber = otherNode.ownerDocument, otherNode === otherFiber || otherNode === otherFiber.documentElement || otherNode === otherFiber.body;
17827 a: {
17828 otherFiber = fragmentFiber;
17829 for (fragmentFiber = getFragmentParentInstanceOrContainerFiber(fragmentFiber); null !== otherFiber; ) {
17830 if (!(5 !== otherFiber.tag && 3 !== otherFiber.tag && 27 !== otherFiber.tag || otherFiber !== fragmentFiber && otherFiber.alternate !== fragmentFiber)) {
17831 otherFiber = true;
17832 break a;
17833 }
17834 otherFiber = otherFiber.return;
17835 }
17836 otherFiber = false;
17837 }
17838 return otherFiber;
17839 }
17840 return documentPosition & Node.DOCUMENT_POSITION_PRECEDING ? ((fragmentFiber = !!otherFiber) && !(fragmentFiber = otherFiber === precedingBoundaryFiber) && (fragmentFiber = getLowestCommonAncestor(
17841 precedingBoundaryFiber,
17842 otherFiber,
17843 getParentForFragmentAncestors
17844 ), null === fragmentFiber ? fragmentFiber = false : (traverseVisibleInstancesAndTextInstances(
17845 fragmentFiber,
17846 true,
17847 isFiberPrecedingCheck,
17848 otherFiber,
17849 precedingBoundaryFiber
17850 ), otherFiber = searchTarget, searchTarget = null, fragmentFiber = null !== otherFiber)), fragmentFiber) : documentPosition & Node.DOCUMENT_POSITION_FOLLOWING ? ((fragmentFiber = !!otherFiber) && !(fragmentFiber = otherFiber === followingBoundaryFiber) && (fragmentFiber = getLowestCommonAncestor(
17851 followingBoundaryFiber,
17852 otherFiber,
17853 getParentForFragmentAncestors
17854 ), null === fragmentFiber ? fragmentFiber = false : (traverseVisibleInstancesAndTextInstances(
17855 fragmentFiber,
17856 true,
17857 isFiberFollowingCheck,
17858 otherFiber,
17859 followingBoundaryFiber
17860 ), otherFiber = searchTarget, searchBoundary = searchTarget = null, fragmentFiber = null !== otherFiber)), fragmentFiber) : false;
17861 }
17862 function scrollTextNodeIntoView(textNode, resolvedAlignToTop) {
17863 var range = textNode.ownerDocument.createRange();
17864 range.selectNodeContents(textNode);
17865 textNode = range.getBoundingClientRect();
17866 window.scrollTo(
17867 window.scrollX + textNode.left,
17868 resolvedAlignToTop ? window.scrollY + textNode.top : window.scrollY + textNode.bottom - window.innerHeight
17869 );
17870 }
17871 function addFragmentHandleToFiber(child, fragmentInstance) {
17872 child = getInstanceFromHostFiber(child);
17873 addFragmentHandleToInstance(child, fragmentInstance);
17874 return false;
17875 }
17876 function addFragmentHandleToInstance(instance, fragmentInstance) {
17877 null == instance.reactFragments && (instance.reactFragments = /* @__PURE__ */ new Set());
17878 instance.reactFragments.add(fragmentInstance);
17879 }
17880 function commitNewChildToFragmentInstance(childInstance, fragmentInstance) {
17881 var eventListeners = fragmentInstance._eventListeners;
17882 if (null !== eventListeners)
17883 for (var i$jscomp$0 = 0; i$jscomp$0 < eventListeners.length; i$jscomp$0++) {
17884 var _eventListeners$i2 = eventListeners[i$jscomp$0];
17885 childInstance.addEventListener(
17886 _eventListeners$i2.type,
17887 _eventListeners$i2.attachedListener,
17888 getAttachOptions(_eventListeners$i2.optionsOrUseCapture)
17889 );
17890 }
17891 3 !== childInstance.nodeType && (eventListeners = fragmentInstance._observers, null !== eventListeners && eventListeners.forEach(function(observer) {
17892 for (var writeIdx = 0, i = 0; i < pendingIntersectionUnobserves.length; i++) {
17893 var pending = pendingIntersectionUnobserves[i];
17894 if (pending.fragmentInstance !== fragmentInstance || pending.observer !== observer || pending.instance !== childInstance)
17895 pendingIntersectionUnobserves[writeIdx++] = pending;
17896 }
17897 pendingIntersectionUnobserves.length = writeIdx;
17898 observer.observe(childInstance);
17899 }), addFragmentHandleToInstance(childInstance, fragmentInstance));
17900 }
17901 function deleteChildFromFragmentInstance(childInstance, fragmentInstance) {
17902 var eventListeners = fragmentInstance._eventListeners;
17903 if (null !== eventListeners)
17904 for (var i = 0; i < eventListeners.length; i++) {
17905 var _eventListeners$i3 = eventListeners[i];
17906 childInstance.removeEventListener(
17907 _eventListeners$i3.type,
17908 _eventListeners$i3.attachedListener,
17909 getAttachOptions(_eventListeners$i3.optionsOrUseCapture)
17910 );
17911 }
17912 3 !== childInstance.nodeType && (eventListeners = fragmentInstance._observers, null !== eventListeners && eventListeners.forEach(function(observer) {
17913 "string" === typeof observer.rootMargin ? schedulePendingIntersectionUnobserve(
17914 fragmentInstance,
17915 observer,
17916 childInstance
17917 ) : observer.unobserve(childInstance);
17918 }), null != childInstance.reactFragments && childInstance.reactFragments.delete(fragmentInstance));
17919 }
17920 function clearContainerSparingly(container) {
17921 var nextNode = container.firstChild;
17922 nextNode && 10 === nextNode.nodeType && (nextNode = nextNode.nextSibling);
17923 for (; nextNode; ) {
17924 var node = nextNode;
17925 nextNode = nextNode.nextSibling;
17926 switch (node.nodeName) {
17927 case "HTML":
17928 case "HEAD":
17929 case "BODY":
17930 clearContainerSparingly(node);
17931 detachDeletedInstance(node);
17932 continue;
17933 case "SCRIPT":
17934 case "STYLE":
17935 continue;
17936 case "LINK":
17937 if ("stylesheet" === node.rel.toLowerCase()) continue;
17938 }
17939 container.removeChild(node);
17940 }
17941 }
17942 function canHydrateInstance(instance, type, props, inRootOrSingleton) {
17943 for (; 1 === instance.nodeType; ) {
17944 var anyProps = props;
17945 if (instance.nodeName.toLowerCase() !== type.toLowerCase()) {
17946 if (!inRootOrSingleton && ("INPUT" !== instance.nodeName || "hidden" !== instance.type))
17947 break;
17948 } else if (!inRootOrSingleton)
17949 if ("input" === type && "hidden" === instance.type) {
17950 checkAttributeStringCoercion(anyProps.name, "name");
17951 var name = null == anyProps.name ? null : "" + anyProps.name;
17952 if ("hidden" === anyProps.type && instance.getAttribute("name") === name)
17953 return instance;
17954 } else return instance;
17955 else if (!instance[internalHoistableMarker])
17956 switch (type) {
17957 case "meta":
17958 if (!instance.hasAttribute("itemprop")) break;
17959 return instance;
17960 case "link":
17961 name = instance.getAttribute("rel");
17962 if ("stylesheet" === name && instance.hasAttribute("data-precedence"))
17963 break;
17964 else if (name !== anyProps.rel || instance.getAttribute("href") !== (null == anyProps.href || "" === anyProps.href ? null : anyProps.href) || instance.getAttribute("crossorigin") !== (null == anyProps.crossOrigin ? null : anyProps.crossOrigin) || instance.getAttribute("title") !== (null == anyProps.title ? null : anyProps.title))
17965 break;
17966 return instance;
17967 case "style":
17968 if (instance.hasAttribute("data-precedence")) break;
17969 return instance;
17970 case "script":
17971 name = instance.getAttribute("src");
17972 if ((name !== (null == anyProps.src ? null : anyProps.src) || instance.getAttribute("type") !== (null == anyProps.type ? null : anyProps.type) || instance.getAttribute("crossorigin") !== (null == anyProps.crossOrigin ? null : anyProps.crossOrigin)) && name && instance.hasAttribute("async") && !instance.hasAttribute("itemprop"))
17973 break;
17974 return instance;
17975 default:
17976 return instance;
17977 }
17978 instance = getNextHydratable(instance.nextSibling);
17979 if (null === instance) break;
17980 }
17981 return null;
17982 }
17983 function canHydrateTextInstance(instance, text, inRootOrSingleton) {
17984 if ("" === text) return null;
17985 for (; 3 !== instance.nodeType; ) {
17986 if ((1 !== instance.nodeType || "INPUT" !== instance.nodeName || "hidden" !== instance.type) && !inRootOrSingleton)
17987 return null;
17988 instance = getNextHydratable(instance.nextSibling);
17989 if (null === instance) return null;
17990 }
17991 return instance;
17992 }
17993 function canHydrateHydrationBoundary(instance, inRootOrSingleton) {
17994 for (; 8 !== instance.nodeType; ) {
17995 if ((1 !== instance.nodeType || "INPUT" !== instance.nodeName || "hidden" !== instance.type) && !inRootOrSingleton)
17996 return null;
17997 instance = getNextHydratable(instance.nextSibling);
17998 if (null === instance) return null;
17999 }
18000 return instance;
18001 }
18002 function isSuspenseInstancePending(instance) {
18003 return instance.data === SUSPENSE_PENDING_START_DATA || instance.data === SUSPENSE_QUEUED_START_DATA;
18004 }
18005 function isSuspenseInstanceFallback(instance) {
18006 return instance.data === SUSPENSE_FALLBACK_START_DATA || instance.data === SUSPENSE_PENDING_START_DATA && instance.ownerDocument.readyState !== DOCUMENT_READY_STATE_LOADING;
18007 }
18008 function registerSuspenseInstanceRetry(instance, callback) {
18009 var ownerDocument = instance.ownerDocument;
18010 if (instance.data === SUSPENSE_QUEUED_START_DATA)
18011 instance._reactRetry = callback;
18012 else if (instance.data !== SUSPENSE_PENDING_START_DATA || ownerDocument.readyState !== DOCUMENT_READY_STATE_LOADING)
18013 callback();
18014 else {
18015 var listener = function() {
18016 callback();
18017 ownerDocument.removeEventListener("DOMContentLoaded", listener);
18018 };
18019 ownerDocument.addEventListener("DOMContentLoaded", listener);
18020 instance._reactRetry = listener;
18021 }
18022 }
18023 function getNextHydratable(node) {
18024 for (; null != node; node = node.nextSibling) {
18025 var nodeType = node.nodeType;
18026 if (1 === nodeType || 3 === nodeType) break;
18027 if (8 === nodeType) {
18028 nodeType = node.data;
18029 if (nodeType === SUSPENSE_START_DATA || nodeType === SUSPENSE_FALLBACK_START_DATA || nodeType === SUSPENSE_PENDING_START_DATA || nodeType === SUSPENSE_QUEUED_START_DATA || nodeType === ACTIVITY_START_DATA || nodeType === FORM_STATE_IS_MATCHING || nodeType === FORM_STATE_IS_NOT_MATCHING)
18030 break;
18031 if (nodeType === SUSPENSE_END_DATA || nodeType === ACTIVITY_END_DATA)
18032 return null;
18033 }
18034 }
18035 return node;
18036 }
18037 function describeHydratableInstanceForDevWarnings(instance) {
18038 if (1 === instance.nodeType) {
18039 for (var JSCompiler_temp_const = instance.nodeName.toLowerCase(), serverDifferences = {}, attributes = instance.attributes, i = 0; i < attributes.length; i++) {
18040 var attr = attributes[i];
18041 serverDifferences[getPropNameFromAttributeName(attr.name)] = "style" === attr.name.toLowerCase() ? getStylesObjectFromElement(instance) : attr.value;
18042 }
18043 return { type: JSCompiler_temp_const, props: serverDifferences };
18044 }
18045 return 8 === instance.nodeType ? instance.data === ACTIVITY_START_DATA ? { type: "Activity", props: {} } : { type: "Suspense", props: {} } : instance.nodeValue;
18046 }
18047 function diffHydratedTextForDevWarnings(textInstance, text, parentProps) {
18048 return null === parentProps || true !== parentProps[SUPPRESS_HYDRATION_WARNING] ? (textInstance.nodeValue === text ? textInstance = null : (text = normalizeMarkupForTextOrAttribute(text), textInstance = normalizeMarkupForTextOrAttribute(textInstance.nodeValue) === text ? null : textInstance.nodeValue), textInstance) : null;
18049 }
18050 function getNextHydratableInstanceAfterHydrationBoundary(hydrationInstance) {
18051 hydrationInstance = hydrationInstance.nextSibling;
18052 for (var depth = 0; hydrationInstance; ) {
18053 if (8 === hydrationInstance.nodeType) {
18054 var data = hydrationInstance.data;
18055 if (data === SUSPENSE_END_DATA || data === ACTIVITY_END_DATA) {
18056 if (0 === depth)
18057 return getNextHydratable(hydrationInstance.nextSibling);
18058 depth--;
18059 } else
18060 data !== SUSPENSE_START_DATA && data !== SUSPENSE_FALLBACK_START_DATA && data !== SUSPENSE_PENDING_START_DATA && data !== SUSPENSE_QUEUED_START_DATA && data !== ACTIVITY_START_DATA || depth++;
18061 }
18062 hydrationInstance = hydrationInstance.nextSibling;
18063 }
18064 return null;
18065 }
18066 function getParentHydrationBoundary(targetInstance) {
18067 targetInstance = targetInstance.previousSibling;
18068 for (var depth = 0; targetInstance; ) {
18069 if (8 === targetInstance.nodeType) {
18070 var data = targetInstance.data;
18071 if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA || data === SUSPENSE_QUEUED_START_DATA || data === ACTIVITY_START_DATA) {
18072 if (0 === depth) return targetInstance;
18073 depth--;
18074 } else
18075 data !== SUSPENSE_END_DATA && data !== ACTIVITY_END_DATA || depth++;
18076 }
18077 targetInstance = targetInstance.previousSibling;
18078 }
18079 return null;
18080 }
18081 function commitHydratedContainer(container) {
18082 retryIfBlockedOn(container);
18083 }
18084 function commitHydratedActivityInstance(activityInstance) {
18085 retryIfBlockedOn(activityInstance);
18086 }
18087 function commitHydratedSuspenseInstance(suspenseInstance) {
18088 retryIfBlockedOn(suspenseInstance);
18089 }
18090 function setFocusIfFocusable(node, focusOptions) {
18091 function handleFocus() {
18092 didFocus = true;
18093 }
18094 if (node.ownerDocument.activeElement === node) return true;
18095 var didFocus = false;
18096 try {
18097 node.ownerDocument.addEventListener("focus", handleFocus, true), (node.focus || HTMLElement.prototype.focus).call(node, focusOptions);
18098 } finally {
18099 node.ownerDocument.removeEventListener("focus", handleFocus, true);
18100 }
18101 return didFocus;
18102 }
18103 function requestPostPaintCallback(callback) {
18104 localRequestAnimationFrame(function() {
18105 localRequestAnimationFrame(function(time) {
18106 return callback(time);
18107 });
18108 });
18109 }
18110 function resolveSingletonInstance(type, props, rootContainerInstance, hostContext, validateDOMNestingDev) {
18111 validateDOMNestingDev && validateDOMNesting(type, hostContext.ancestorInfo);
18112 props = getOwnerDocumentFromRootContainer(rootContainerInstance);
18113 switch (type) {
18114 case "html":
18115 type = props.documentElement;
18116 if (!type)
18117 throw Error(
18118 "React expected an <html> element (document.documentElement) to exist in the Document but one was not found. React never removes the documentElement for any Document it renders into so the cause is likely in some other script running on this page."
18119 );
18120 return type;
18121 case "head":
18122 type = props.head;
18123 if (!type)
18124 throw Error(
18125 "React expected a <head> element (document.head) to exist in the Document but one was not found. React never removes the head for any Document it renders into so the cause is likely in some other script running on this page."
18126 );
18127 return type;
18128 case "body":
18129 type = props.body;
18130 if (!type)
18131 throw Error(
18132 "React expected a <body> element (document.body) to exist in the Document but one was not found. React never removes the body for any Document it renders into so the cause is likely in some other script running on this page."
18133 );
18134 return type;
18135 default:
18136 throw Error(
18137 "resolveSingletonInstance was called with an element type that is not supported. This is a bug in React."
18138 );
18139 }
18140 }
18141 function acquireSingletonInstance(type, props, instance, internalInstanceHandle) {
18142 if (!instance[internalContainerInstanceKey] && getInstanceFromNode(instance)) {
18143 var tagName = instance.tagName.toLowerCase();
18144 console.error(
18145 "You are mounting a new %s component when a previous one has not first unmounted. It is an error to render more than one %s component at a time and attributes and children of these components will likely fail in unpredictable ways. Please only render a single instance of <%s> and if you need to mount a new one, ensure any previous ones have unmounted first.",
18146 tagName,
18147 tagName,
18148 tagName
18149 );
18150 }
18151 switch (type) {
18152 case "html":
18153 case "head":
18154 case "body":
18155 break;
18156 default:
18157 console.error(
18158 "acquireSingletonInstance was called with an element type that is not supported. This is a bug in React."
18159 );
18160 }
18161 for (tagName = instance.attributes; tagName.length; )
18162 instance.removeAttributeNode(tagName[0]);
18163 setInitialProperties(instance, type, props);
18164 instance[internalInstanceKey] = internalInstanceHandle;
18165 instance[internalPropsKey] = props;
18166 }
18167 function releaseSingletonInstance(instance, type, props) {
18168 for (var propKey in props) {
18169 var propValue = props[propKey];
18170 props.hasOwnProperty(propKey) && null != propValue && setProp(instance, type, propKey, null, emptyProps, propValue);
18171 }
18172 null != props.dangerouslySetInnerHTML && (instance.textContent = "");
18173 instance.onclick === noop$1 && (instance.onclick = null);
18174 detachDeletedInstance(instance);
18175 }
18176 function clearSingletonPreambleContribution(instance) {
18177 for (var attributes = instance.attributes; attributes.length; )
18178 instance.removeAttributeNode(attributes[0]);
18179 detachDeletedInstance(instance);
18180 }
18181 function getHoistableRoot(container) {
18182 if ("function" === typeof container.getRootNode) {
18183 var rootNode = container.getRootNode();
18184 if (9 === rootNode.nodeType || 11 === rootNode.nodeType)
18185 return rootNode;
18186 }
18187 return 9 === container.nodeType ? container : container.ownerDocument;
18188 }
18189 function preconnectAs(rel, href, crossOrigin) {
18190 var ownerDocument = globalDocument;
18191 if (ownerDocument && "string" === typeof href && href) {
18192 var limitedEscapedHref = escapeSelectorAttributeValueInsideDoubleQuotes(href);
18193 limitedEscapedHref = 'link[rel="' + rel + '"][href="' + limitedEscapedHref + '"]';
18194 "string" === typeof crossOrigin && (limitedEscapedHref += '[crossorigin="' + crossOrigin + '"]');
18195 preconnectsSet.has(limitedEscapedHref) || (preconnectsSet.add(limitedEscapedHref), rel = { rel, crossOrigin, href }, null === ownerDocument.querySelector(limitedEscapedHref) && (href = ownerDocument.createElement("link"), setInitialProperties(href, "link", rel), markNodeAsHoistable(href), ownerDocument.head.appendChild(href)));
18196 }
18197 }
18198 function getResource(type, currentProps, pendingProps, currentResource) {
18199 var resourceRoot = (resourceRoot = rootInstanceStackCursor.current) ? getHoistableRoot(resourceRoot) : null;
18200 if (!resourceRoot)
18201 throw Error(
18202 '"resourceRoot" was expected to exist. This is a bug in React.'
18203 );
18204 switch (type) {
18205 case "meta":
18206 case "title":
18207 return null;
18208 case "style":
18209 return "string" === typeof pendingProps.precedence && "string" === typeof pendingProps.href ? (pendingProps = getStyleKey(pendingProps.href), currentProps = getResourcesFromRoot(resourceRoot).hoistableStyles, currentResource = currentProps.get(pendingProps), currentResource || (currentResource = {
18210 type: "style",
18211 instance: null,
18212 count: 0,
18213 state: null
18214 }, currentProps.set(pendingProps, currentResource)), currentResource) : { type: "void", instance: null, count: 0, state: null };
18215 case "link":
18216 if ("stylesheet" === pendingProps.rel && "string" === typeof pendingProps.href && "string" === typeof pendingProps.precedence) {
18217 type = getStyleKey(pendingProps.href);
18218 var _styles = getResourcesFromRoot(resourceRoot).hoistableStyles, _resource = _styles.get(type);
18219 _resource || (resourceRoot = resourceRoot.ownerDocument || resourceRoot, _resource = {
18220 type: "stylesheet",
18221 instance: null,
18222 count: 0,
18223 state: { loading: NotLoaded, preload: null }
18224 }, _styles.set(type, _resource), (_styles = resourceRoot.querySelector(
18225 getStylesheetSelectorFromKey(type)
18226 )) ? _styles._p || (_resource.instance = _styles, _resource.state.loading = Loaded | Inserted) : (_styles = preloadPropsMap.get(type), _styles || (_styles = {
18227 rel: "preload",
18228 as: "style",
18229 href: pendingProps.href,
18230 crossOrigin: pendingProps.crossOrigin,
18231 integrity: pendingProps.integrity,
18232 media: pendingProps.media,
18233 hrefLang: pendingProps.hrefLang,
18234 referrerPolicy: pendingProps.referrerPolicy
18235 }, preloadPropsMap.set(type, _styles)), preloadStylesheet(
18236 resourceRoot,
18237 type,
18238 _styles,
18239 _resource.state
18240 )));
18241 if (currentProps && null === currentResource)
18242 throw pendingProps = "\n\n - " + describeLinkForResourceErrorDEV(currentProps) + "\n + " + describeLinkForResourceErrorDEV(pendingProps), Error(
18243 "Expected <link> not to update to be updated to a stylesheet with precedence. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different <link> components render in the same slot or share the same key." + pendingProps
18244 );
18245 return _resource;
18246 }
18247 if (currentProps && null !== currentResource)
18248 throw pendingProps = "\n\n - " + describeLinkForResourceErrorDEV(currentProps) + "\n + " + describeLinkForResourceErrorDEV(pendingProps), Error(
18249 "Expected stylesheet with precedence to not be updated to a different kind of <link>. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different <link> components render in the same slot or share the same key." + pendingProps
18250 );
18251 return null;
18252 case "script":
18253 return currentProps = pendingProps.async, pendingProps = pendingProps.src, "string" === typeof pendingProps && currentProps && "function" !== typeof currentProps && "symbol" !== typeof currentProps ? (pendingProps = getScriptKey(pendingProps), currentProps = getResourcesFromRoot(resourceRoot).hoistableScripts, currentResource = currentProps.get(pendingProps), currentResource || (currentResource = {
18254 type: "script",
18255 instance: null,
18256 count: 0,
18257 state: null
18258 }, currentProps.set(pendingProps, currentResource)), currentResource) : { type: "void", instance: null, count: 0, state: null };
18259 default:
18260 throw Error(
18261 'getResource encountered a type it did not expect: "' + type + '". this is a bug in React.'
18262 );
18263 }
18264 }
18265 function describeLinkForResourceErrorDEV(props) {
18266 var describedProps = 0, description = "<link";
18267 "string" === typeof props.rel ? (describedProps++, description += ' rel="' + props.rel + '"') : hasOwnProperty.call(props, "rel") && (describedProps++, description += ' rel="' + (null === props.rel ? "null" : "invalid type " + typeof props.rel) + '"');
18268 "string" === typeof props.href ? (describedProps++, description += ' href="' + props.href + '"') : hasOwnProperty.call(props, "href") && (describedProps++, description += ' href="' + (null === props.href ? "null" : "invalid type " + typeof props.href) + '"');
18269 "string" === typeof props.precedence ? (describedProps++, description += ' precedence="' + props.precedence + '"') : hasOwnProperty.call(props, "precedence") && (describedProps++, description += " precedence={" + (null === props.precedence ? "null" : "invalid type " + typeof props.precedence) + "}");
18270 Object.getOwnPropertyNames(props).length > describedProps && (description += " ...");
18271 return description + " />";
18272 }
18273 function getStyleKey(href) {
18274 return 'href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"';
18275 }
18276 function getStylesheetSelectorFromKey(key) {
18277 return 'link[rel="stylesheet"][' + key + "]";
18278 }
18279 function stylesheetPropsFromRawProps(rawProps) {
18280 return assign({}, rawProps, {
18281 "data-precedence": rawProps.precedence,
18282 precedence: null
18283 });
18284 }
18285 function preloadStylesheet(ownerDocument, key, preloadProps, state) {
18286 if (key = ownerDocument.querySelector(
18287 'link[rel="preload"][as="style"][' + key + "]"
18288 )) {
18289 if (true !== key[internalLoadPendingKey]) {
18290 state.loading = Loaded;
18291 return;
18292 }
18293 } else
18294 key = ownerDocument.createElement("link"), key[internalLoadPendingKey] = true, key.onload = key.onerror = clearPendingLoadOnNode.bind(null, key), setInitialProperties(key, "link", preloadProps), markNodeAsHoistable(key), ownerDocument.head.appendChild(key);
18295 state.preload = key;
18296 key.addEventListener("load", function() {
18297 return state.loading |= Loaded;
18298 });
18299 key.addEventListener("error", function() {
18300 return state.loading |= Errored;
18301 });
18302 }
18303 function getScriptKey(src) {
18304 return '[src="' + escapeSelectorAttributeValueInsideDoubleQuotes(src) + '"]';
18305 }
18306 function getScriptSelectorFromKey(key) {
18307 return "script[async]" + key;
18308 }
18309 function acquireResource(hoistableRoot, resource, props) {
18310 resource.count++;
18311 if (null === resource.instance)
18312 switch (resource.type) {
18313 case "style":
18314 var instance = hoistableRoot.querySelector(
18315 'style[data-href~="' + escapeSelectorAttributeValueInsideDoubleQuotes(props.href) + '"]'
18316 );
18317 if (instance)
18318 return resource.instance = instance, markNodeAsHoistable(instance), instance;
18319 var styleProps = assign({}, props, {
18320 "data-href": props.href,
18321 "data-precedence": props.precedence,
18322 href: null,
18323 precedence: null
18324 });
18325 instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement("style");
18326 markNodeAsHoistable(instance);
18327 setInitialProperties(instance, "style", styleProps);
18328 insertStylesheet(instance, props.precedence, hoistableRoot);
18329 return resource.instance = instance;
18330 case "stylesheet":
18331 styleProps = getStyleKey(props.href);
18332 var _instance = hoistableRoot.querySelector(
18333 getStylesheetSelectorFromKey(styleProps)
18334 );
18335 if (_instance)
18336 return resource.state.loading |= Inserted, resource.instance = _instance, markNodeAsHoistable(_instance), _instance;
18337 instance = stylesheetPropsFromRawProps(props);
18338 (styleProps = preloadPropsMap.get(styleProps)) && adoptPreloadPropsForStylesheet(instance, styleProps);
18339 _instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement("link");
18340 markNodeAsHoistable(_instance);
18341 var linkInstance = _instance;
18342 linkInstance._p = new Promise(function(resolve, reject) {
18343 linkInstance.onload = resolve;
18344 linkInstance.onerror = reject;
18345 });
18346 setInitialProperties(_instance, "link", instance);
18347 resource.state.loading |= Inserted;
18348 insertStylesheet(_instance, props.precedence, hoistableRoot);
18349 return resource.instance = _instance;
18350 case "script":
18351 _instance = getScriptKey(props.src);
18352 if (styleProps = hoistableRoot.querySelector(
18353 getScriptSelectorFromKey(_instance)
18354 ))
18355 return resource.instance = styleProps, markNodeAsHoistable(styleProps), styleProps;
18356 instance = props;
18357 if (styleProps = preloadPropsMap.get(_instance))
18358 instance = assign({}, props), adoptPreloadPropsForScript(instance, styleProps);
18359 hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;
18360 styleProps = hoistableRoot.createElement("script");
18361 markNodeAsHoistable(styleProps);
18362 setInitialProperties(styleProps, "link", instance);
18363 hoistableRoot.head.appendChild(styleProps);
18364 return resource.instance = styleProps;
18365 case "void":
18366 return null;
18367 default:
18368 throw Error(
18369 'acquireResource encountered a resource type it did not expect: "' + resource.type + '". this is a bug in React.'
18370 );
18371 }
18372 else
18373 "stylesheet" === resource.type && (resource.state.loading & Inserted) === NotLoaded && (instance = resource.instance, resource.state.loading |= Inserted, insertStylesheet(instance, props.precedence, hoistableRoot));
18374 return resource.instance;
18375 }
18376 function insertStylesheet(instance, precedence, root2) {
18377 for (var nodes = root2.querySelectorAll(
18378 'link[rel="stylesheet"][data-precedence],style[data-precedence]'
18379 ), last = nodes.length ? nodes[nodes.length - 1] : null, prior = last, i = 0; i < nodes.length; i++) {
18380 var node = nodes[i];
18381 if (node.dataset.precedence === precedence) prior = node;
18382 else if (prior !== last) break;
18383 }
18384 prior ? prior.parentNode.insertBefore(instance, prior.nextSibling) : (precedence = 9 === root2.nodeType ? root2.head : root2, precedence.insertBefore(instance, precedence.firstChild));
18385 }
18386 function adoptPreloadPropsForStylesheet(stylesheetProps, preloadProps) {
18387 null == stylesheetProps.crossOrigin && (stylesheetProps.crossOrigin = preloadProps.crossOrigin);
18388 null == stylesheetProps.referrerPolicy && (stylesheetProps.referrerPolicy = preloadProps.referrerPolicy);
18389 null == stylesheetProps.title && (stylesheetProps.title = preloadProps.title);
18390 }
18391 function adoptPreloadPropsForScript(scriptProps, preloadProps) {
18392 null == scriptProps.crossOrigin && (scriptProps.crossOrigin = preloadProps.crossOrigin);
18393 null == scriptProps.referrerPolicy && (scriptProps.referrerPolicy = preloadProps.referrerPolicy);
18394 null == scriptProps.integrity && (scriptProps.integrity = preloadProps.integrity);
18395 }
18396 function getHydratableHoistableCache(type, keyAttribute, ownerDocument) {
18397 if (null === tagCaches) {
18398 var cache = /* @__PURE__ */ new Map();
18399 var caches = tagCaches = /* @__PURE__ */ new Map();
18400 caches.set(ownerDocument, cache);
18401 } else
18402 caches = tagCaches, cache = caches.get(ownerDocument), cache || (cache = /* @__PURE__ */ new Map(), caches.set(ownerDocument, cache));
18403 if (cache.has(type)) return cache;
18404 cache.set(type, null);
18405 ownerDocument = ownerDocument.getElementsByTagName(type);
18406 for (caches = 0; caches < ownerDocument.length; caches++) {
18407 var node = ownerDocument[caches];
18408 if (!(node[internalHoistableMarker] || node[internalInstanceKey] || "link" === type && "stylesheet" === node.getAttribute("rel")) && node.namespaceURI !== SVG_NAMESPACE) {
18409 var nodeKey = node.getAttribute(keyAttribute) || "";
18410 nodeKey = type + nodeKey;
18411 var existing = cache.get(nodeKey);
18412 existing ? existing.push(node) : cache.set(nodeKey, [node]);
18413 }
18414 }
18415 return cache;
18416 }
18417 function mountHoistable(hoistableRoot, type, instance) {
18418 hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;
18419 hoistableRoot.head.insertBefore(
18420 instance,
18421 "title" === type ? hoistableRoot.querySelector("head > title") : null
18422 );
18423 }
18424 function isHostHoistableType(type, props, hostContext) {
18425 var outsideHostContainerContext = !hostContext.ancestorInfo.containerTagInScope;
18426 if (hostContext.context === HostContextNamespaceSvg || null != props.itemProp)
18427 return !outsideHostContainerContext || null == props.itemProp || "meta" !== type && "title" !== type && "style" !== type && "link" !== type && "script" !== type || console.error(
18428 "Cannot render a <%s> outside the main document if it has an `itemProp` prop. `itemProp` suggests the tag belongs to an `itemScope` which can appear anywhere in the DOM. If you were intending for React to hoist this <%s> remove the `itemProp` prop. Otherwise, try moving this tag into the <head> or <body> of the Document.",
18429 type,
18430 type
18431 ), false;
18432 switch (type) {
18433 case "meta":
18434 case "title":
18435 return true;
18436 case "style":
18437 if ("string" !== typeof props.precedence || "string" !== typeof props.href || "" === props.href) {
18438 outsideHostContainerContext && console.error(
18439 'Cannot render a <style> outside the main document without knowing its precedence and a unique href key. React can hoist and deduplicate <style> tags if you provide a `precedence` prop along with an `href` prop that does not conflict with the `href` values used in any other hoisted <style> or <link rel="stylesheet" ...> tags. Note that hoisting <style> tags is considered an advanced feature that most will not use directly. Consider moving the <style> tag to the <head> or consider adding a `precedence="default"` and `href="some unique resource identifier"`.'
18440 );
18441 break;
18442 }
18443 return true;
18444 case "link":
18445 if ("string" !== typeof props.rel || "string" !== typeof props.href || "" === props.href || props.onLoad || props.onError) {
18446 if ("stylesheet" === props.rel && "string" === typeof props.precedence) {
18447 type = props.href;
18448 var onError = props.onError, disabled = props.disabled;
18449 hostContext = [];
18450 props.onLoad && hostContext.push("`onLoad`");
18451 onError && hostContext.push("`onError`");
18452 null != disabled && hostContext.push("`disabled`");
18453 onError = propNamesListJoin(hostContext, "and");
18454 onError += 1 === hostContext.length ? " prop" : " props";
18455 disabled = 1 === hostContext.length ? "an " + onError : "the " + onError;
18456 hostContext.length && console.error(
18457 'React encountered a <link rel="stylesheet" href="%s" ... /> with a `precedence` prop that also included %s. The presence of loading and error handlers indicates an intent to manage the stylesheet loading state from your from your Component code and React will not hoist or deduplicate this stylesheet. If your intent was to have React hoist and deduplciate this stylesheet using the `precedence` prop remove the %s, otherwise remove the `precedence` prop.',
18458 type,
18459 disabled,
18460 onError
18461 );
18462 }
18463 outsideHostContainerContext && ("string" !== typeof props.rel || "string" !== typeof props.href || "" === props.href ? console.error(
18464 "Cannot render a <link> outside the main document without a `rel` and `href` prop. Try adding a `rel` and/or `href` prop to this <link> or moving the link into the <head> tag"
18465 ) : (props.onError || props.onLoad) && console.error(
18466 "Cannot render a <link> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or somewhere in the <body>."
18467 ));
18468 break;
18469 }
18470 switch (props.rel) {
18471 case "stylesheet":
18472 return type = props.precedence, props = props.disabled, "string" !== typeof type && outsideHostContainerContext && console.error(
18473 'Cannot render a <link rel="stylesheet" /> outside the main document without knowing its precedence. Consider adding precedence="default" or moving it into the root <head> tag.'
18474 ), "string" === typeof type && null == props;
18475 default:
18476 return true;
18477 }
18478 case "script":
18479 type = props.async && "function" !== typeof props.async && "symbol" !== typeof props.async;
18480 if (!type || props.onLoad || props.onError || !props.src || "string" !== typeof props.src) {
18481 outsideHostContainerContext && (type ? props.onLoad || props.onError ? console.error(
18482 "Cannot render a <script> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or somewhere in the <body>."
18483 ) : console.error(
18484 "Cannot render a <script> outside the main document without `async={true}` and a non-empty `src` prop. Ensure there is a valid `src` and either make the script async or move it into the root <head> tag or somewhere in the <body>."
18485 ) : console.error(
18486 'Cannot render a sync or defer <script> outside the main document without knowing its order. Try adding async="" or moving it into the root <head> tag.'
18487 ));
18488 break;
18489 }
18490 return true;
18491 case "noscript":
18492 case "template":
18493 outsideHostContainerContext && console.error(
18494 "Cannot render <%s> outside the main document. Try moving it into the root <head> tag.",
18495 type
18496 );
18497 }
18498 return false;
18499 }
18500 function maySuspendCommit(type, props) {
18501 return "img" === type && null != props.src && "" !== props.src && null == props.onLoad && "lazy" !== props.loading;
18502 }
18503 function preloadResource(resource) {
18504 return "stylesheet" === resource.type && (resource.state.loading & Settled) === NotLoaded ? false : true;
18505 }
18506 function estimateImageBytes(instance) {
18507 return (instance.width || 100) * (instance.height || 100) * ("number" === typeof devicePixelRatio ? devicePixelRatio : 1) * 0.25;
18508 }
18509 function suspendInstance(state, instance) {
18510 "function" === typeof instance.decode && (state.imgCount++, instance.complete || (state.imgBytes += estimateImageBytes(instance), state.suspenseyImages.push(instance)), state = onUnsuspendImg.bind(state), instance.decode().then(state, state));
18511 }
18512 function suspendResource(state, hoistableRoot, resource, props) {
18513 if ("stylesheet" === resource.type && ("string" !== typeof props.media || false !== matchMedia(props.media).matches) && (resource.state.loading & Inserted) === NotLoaded) {
18514 if (null === resource.instance) {
18515 var key = getStyleKey(props.href), instance = hoistableRoot.querySelector(
18516 getStylesheetSelectorFromKey(key)
18517 );
18518 if (instance) {
18519 hoistableRoot = instance._p;
18520 null !== hoistableRoot && "object" === typeof hoistableRoot && "function" === typeof hoistableRoot.then && (state.count++, state = onUnsuspend.bind(state), hoistableRoot.then(state, state));
18521 resource.state.loading |= Inserted;
18522 resource.instance = instance;
18523 markNodeAsHoistable(instance);
18524 return;
18525 }
18526 instance = hoistableRoot.ownerDocument || hoistableRoot;
18527 props = stylesheetPropsFromRawProps(props);
18528 (key = preloadPropsMap.get(key)) && adoptPreloadPropsForStylesheet(props, key);
18529 instance = instance.createElement("link");
18530 markNodeAsHoistable(instance);
18531 var linkInstance = instance;
18532 linkInstance._p = new Promise(function(resolve, reject) {
18533 linkInstance.onload = resolve;
18534 linkInstance.onerror = reject;
18535 });
18536 setInitialProperties(instance, "link", props);
18537 resource.instance = instance;
18538 }
18539 null === state.stylesheets && (state.stylesheets = /* @__PURE__ */ new Map());
18540 state.stylesheets.set(resource, hoistableRoot);
18541 (hoistableRoot = resource.state.preload) && (resource.state.loading & Settled) === NotLoaded && (state.count++, resource = onUnsuspend.bind(state), hoistableRoot.addEventListener("load", resource), hoistableRoot.addEventListener("error", resource));
18542 }
18543 }
18544 function waitForCommitToBeReady(state, timeoutOffset) {
18545 state.stylesheets && 0 === state.count && insertSuspendedStylesheets(state, state.stylesheets);
18546 return 0 < state.count || 0 < state.imgCount ? function(commit) {
18547 var stylesheetTimer = setTimeout(function() {
18548 state.stylesheets && insertSuspendedStylesheets(state, state.stylesheets);
18549 if (state.unsuspend) {
18550 var unsuspend = state.unsuspend;
18551 state.unsuspend = null;
18552 unsuspend();
18553 }
18554 }, SUSPENSEY_STYLESHEET_TIMEOUT + timeoutOffset);
18555 0 < state.imgBytes && 0 === estimatedBytesWithinLimit && (estimatedBytesWithinLimit = 125 * estimateBandwidth() * SUSPENSEY_IMAGE_TIME_ESTIMATE);
18556 var imgTimer = setTimeout(
18557 function() {
18558 state.waitingForImages = false;
18559 if (0 === state.count && (state.stylesheets && insertSuspendedStylesheets(state, state.stylesheets), state.unsuspend)) {
18560 var unsuspend = state.unsuspend;
18561 state.unsuspend = null;
18562 unsuspend();
18563 }
18564 },
18565 (state.imgBytes > estimatedBytesWithinLimit ? 50 : SUSPENSEY_IMAGE_TIMEOUT) + timeoutOffset
18566 );
18567 state.unsuspend = commit;
18568 return function() {
18569 state.unsuspend = null;
18570 clearTimeout(stylesheetTimer);
18571 clearTimeout(imgTimer);
18572 };
18573 } : null;
18574 }
18575 function checkIfFullyUnsuspended(state) {
18576 if (0 === state.count && (0 === state.imgCount || !state.waitingForImages)) {
18577 if (state.stylesheets)
18578 insertSuspendedStylesheets(state, state.stylesheets);
18579 else if (state.unsuspend) {
18580 var unsuspend = state.unsuspend;
18581 state.unsuspend = null;
18582 unsuspend();
18583 }
18584 }
18585 }
18586 function onUnsuspend() {
18587 this.count--;
18588 checkIfFullyUnsuspended(this);
18589 }
18590 function onUnsuspendImg() {
18591 this.imgCount--;
18592 checkIfFullyUnsuspended(this);
18593 }
18594 function insertSuspendedStylesheets(state, resources) {
18595 state.stylesheets = null;
18596 null !== state.unsuspend && (state.count++, precedencesByRoot = /* @__PURE__ */ new Map(), resources.forEach(insertStylesheetIntoRoot, state), precedencesByRoot = null, onUnsuspend.call(state));
18597 }
18598 function insertStylesheetIntoRoot(root2, resource) {
18599 if (!(resource.state.loading & Inserted)) {
18600 var precedences = precedencesByRoot.get(root2);
18601 if (precedences) var last = precedences.get(LAST_PRECEDENCE);
18602 else {
18603 precedences = /* @__PURE__ */ new Map();
18604 precedencesByRoot.set(root2, precedences);
18605 for (var nodes = root2.querySelectorAll(
18606 "link[data-precedence],style[data-precedence]"
18607 ), i = 0; i < nodes.length; i++) {
18608 var node = nodes[i];
18609 if ("LINK" === node.nodeName || "not all" !== node.getAttribute("media"))
18610 precedences.set(node.dataset.precedence, node), last = node;
18611 }
18612 last && precedences.set(LAST_PRECEDENCE, last);
18613 }
18614 nodes = resource.instance;
18615 node = nodes.getAttribute("data-precedence");
18616 i = precedences.get(node) || last;
18617 i === last && precedences.set(LAST_PRECEDENCE, nodes);
18618 precedences.set(node, nodes);
18619 this.count++;
18620 last = onUnsuspend.bind(this);
18621 nodes.addEventListener("load", last);
18622 nodes.addEventListener("error", last);
18623 i ? i.parentNode.insertBefore(nodes, i.nextSibling) : (root2 = 9 === root2.nodeType ? root2.head : root2, root2.insertBefore(nodes, root2.firstChild));
18624 resource.state.loading |= Inserted;
18625 }
18626 }
18627 function FiberRootNode(containerInfo, tag, hydrate2, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, onDefaultTransitionIndicator, formState) {
18628 this.tag = 1;
18629 this.containerInfo = containerInfo;
18630 this.pingCache = this.current = this.pendingChildren = null;
18631 this.timeoutHandle = noTimeout;
18632 this.callbackNode = this.next = this.pendingContext = this.context = this.cancelPendingCommit = null;
18633 this.callbackPriority = 0;
18634 this.expirationTimes = createLaneMap(-1);
18635 this.entangledLanes = this.shellSuspendCounter = this.errorRecoveryDisabledLanes = this.expiredLanes = this.warmLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0;
18636 this.entanglements = createLaneMap(0);
18637 this.hiddenUpdates = createLaneMap(null);
18638 this.identifierPrefix = identifierPrefix;
18639 this.onUncaughtError = onUncaughtError;
18640 this.onCaughtError = onCaughtError;
18641 this.onRecoverableError = onRecoverableError;
18642 this.pooledCache = null;
18643 this.pooledCacheLanes = 0;
18644 this.formState = formState;
18645 this.transitionTypes = null;
18646 this.incompleteTransitions = /* @__PURE__ */ new Map();
18647 this.passiveEffectDuration = this.effectDuration = -0;
18648 this.memoizedUpdaters = /* @__PURE__ */ new Set();
18649 containerInfo = this.pendingUpdatersLaneMap = [];
18650 for (tag = 0; 31 > tag; tag++) containerInfo.push(/* @__PURE__ */ new Set());
18651 this._debugRootType = hydrate2 ? "hydrateRoot()" : "createRoot()";
18652 }
18653 function createFiberRoot(containerInfo, tag, hydrate2, initialChildren, hydrationCallbacks, isStrictMode, identifierPrefix, formState, onUncaughtError, onCaughtError, onRecoverableError, onDefaultTransitionIndicator) {
18654 containerInfo = new FiberRootNode(
18655 containerInfo,
18656 tag,
18657 hydrate2,
18658 identifierPrefix,
18659 onUncaughtError,
18660 onCaughtError,
18661 onRecoverableError,
18662 onDefaultTransitionIndicator,
18663 formState
18664 );
18665 tag = ConcurrentMode;
18666 true === isStrictMode && (tag |= StrictLegacyMode | StrictEffectsMode);
18667 tag |= ProfileMode;
18668 isStrictMode = createFiber(3, null, null, tag);
18669 containerInfo.current = isStrictMode;
18670 isStrictMode.stateNode = containerInfo;
18671 tag = createCache();
18672 retainCache(tag);
18673 containerInfo.pooledCache = tag;
18674 retainCache(tag);
18675 isStrictMode.memoizedState = {
18676 element: initialChildren,
18677 isDehydrated: hydrate2,
18678 cache: tag
18679 };
18680 initializeUpdateQueue(isStrictMode);
18681 return containerInfo;
18682 }
18683 function getContextForSubtree(parentComponent) {
18684 if (!parentComponent) return emptyContextObject;
18685 parentComponent = emptyContextObject;
18686 return parentComponent;
18687 }
18688 function updateContainerImpl(rootFiber, lane, element, container, parentComponent, callback) {
18689 if (injectedHook && "function" === typeof injectedHook.onScheduleFiberRoot)
18690 try {
18691 injectedHook.onScheduleFiberRoot(rendererID, container, element);
18692 } catch (err) {
18693 hasLoggedError || (hasLoggedError = true, console.error(
18694 "React instrumentation encountered an error: %o",
18695 err
18696 ));
18697 }
18698 parentComponent = getContextForSubtree(parentComponent);
18699 null === container.context ? container.context = parentComponent : container.pendingContext = parentComponent;
18700 isRendering && null !== current && !didWarnAboutNestedUpdates && (didWarnAboutNestedUpdates = true, console.error(
18701 "Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.\n\nCheck the render method of %s.",
18702 getComponentNameFromFiber(current) || "Unknown"
18703 ));
18704 container = createUpdate(lane);
18705 container.payload = { element };
18706 callback = void 0 === callback ? null : callback;
18707 null !== callback && ("function" !== typeof callback && console.error(
18708 "Expected the last optional `callback` argument to be a function. Instead received: %s.",
18709 callback
18710 ), container.callback = callback);
18711 element = enqueueUpdate(rootFiber, container, lane);
18712 null !== element && (startUpdateTimerByLane(lane, "root.render()", null), scheduleUpdateOnFiber(element, rootFiber, lane), entangleTransitions(element, rootFiber, lane));
18713 }
18714 function markRetryLaneImpl(fiber, retryLane) {
18715 fiber = fiber.memoizedState;
18716 if (null !== fiber && null !== fiber.dehydrated) {
18717 var a = fiber.retryLane;
18718 fiber.retryLane = 0 !== a && a < retryLane ? a : retryLane;
18719 }
18720 }
18721 function markRetryLaneIfNotHydrated(fiber, retryLane) {
18722 markRetryLaneImpl(fiber, retryLane);
18723 (fiber = fiber.alternate) && markRetryLaneImpl(fiber, retryLane);
18724 }
18725 function attemptContinuousHydration(fiber) {
18726 if (13 === fiber.tag || 31 === fiber.tag) {
18727 var root2 = enqueueConcurrentRenderForLane(fiber, 67108864);
18728 null !== root2 && scheduleUpdateOnFiber(root2, fiber, 67108864);
18729 markRetryLaneIfNotHydrated(fiber, 67108864);
18730 }
18731 }
18732 function attemptHydrationAtCurrentPriority(fiber) {
18733 if (13 === fiber.tag || 31 === fiber.tag) {
18734 var lane = requestUpdateLane(fiber);
18735 lane = getBumpedLaneForHydrationByLane(lane);
18736 var root2 = enqueueConcurrentRenderForLane(fiber, lane);
18737 null !== root2 && scheduleUpdateOnFiber(root2, fiber, lane);
18738 markRetryLaneIfNotHydrated(fiber, lane);
18739 }
18740 }
18741 function getCurrentFiberForDevTools() {
18742 return current;
18743 }
18744 function dispatchDiscreteEvent(domEventName, eventSystemFlags, container, nativeEvent) {
18745 var prevTransition = ReactSharedInternals.T;
18746 ReactSharedInternals.T = null;
18747 var previousPriority = ReactDOMSharedInternals.p;
18748 try {
18749 ReactDOMSharedInternals.p = DiscreteEventPriority, dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);
18750 } finally {
18751 ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition;
18752 }
18753 }
18754 function dispatchContinuousEvent(domEventName, eventSystemFlags, container, nativeEvent) {
18755 var prevTransition = ReactSharedInternals.T;
18756 ReactSharedInternals.T = null;
18757 var previousPriority = ReactDOMSharedInternals.p;
18758 try {
18759 ReactDOMSharedInternals.p = ContinuousEventPriority, dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);
18760 } finally {
18761 ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition;
18762 }
18763 }
18764 function dispatchEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) {
18765 if (_enabled) {
18766 var blockedOn = findInstanceBlockingEvent(nativeEvent);
18767 if (null === blockedOn)
18768 dispatchEventForPluginEventSystem(
18769 domEventName,
18770 eventSystemFlags,
18771 nativeEvent,
18772 return_targetInst,
18773 targetContainer
18774 ), clearIfContinuousEvent(domEventName, nativeEvent);
18775 else if (queueIfContinuousEvent(
18776 blockedOn,
18777 domEventName,
18778 eventSystemFlags,
18779 targetContainer,
18780 nativeEvent
18781 ))
18782 nativeEvent.stopPropagation();
18783 else if (clearIfContinuousEvent(domEventName, nativeEvent), eventSystemFlags & 4 && -1 < discreteReplayableEvents.indexOf(domEventName)) {
18784 for (; null !== blockedOn; ) {
18785 var fiber = getInstanceFromNode(blockedOn);
18786 if (null !== fiber)
18787 switch (fiber.tag) {
18788 case 3:
18789 fiber = fiber.stateNode;
18790 if (fiber.current.memoizedState.isDehydrated) {
18791 var lanes = getHighestPriorityLanes(fiber.pendingLanes);
18792 if (0 !== lanes) {
18793 var root2 = fiber;
18794 root2.pendingLanes |= 2;
18795 for (root2.entangledLanes |= 2; lanes; ) {
18796 var lane = 1 << 31 - clz32(lanes);
18797 root2.entanglements[1] |= lane;
18798 lanes &= ~lane;
18799 }
18800 ensureRootIsScheduled(fiber);
18801 (executionContext & (RenderContext | CommitContext)) === NoContext && (workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS, flushSyncWorkAcrossRoots_impl(0, false));
18802 }
18803 }
18804 break;
18805 case 31:
18806 case 13:
18807 root2 = enqueueConcurrentRenderForLane(fiber, 2), null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2), flushSyncWork$1(), markRetryLaneIfNotHydrated(fiber, 2);
18808 }
18809 fiber = findInstanceBlockingEvent(nativeEvent);
18810 null === fiber && dispatchEventForPluginEventSystem(
18811 domEventName,
18812 eventSystemFlags,
18813 nativeEvent,
18814 return_targetInst,
18815 targetContainer
18816 );
18817 if (fiber === blockedOn) break;
18818 blockedOn = fiber;
18819 }
18820 null !== blockedOn && nativeEvent.stopPropagation();
18821 } else
18822 dispatchEventForPluginEventSystem(
18823 domEventName,
18824 eventSystemFlags,
18825 nativeEvent,
18826 null,
18827 targetContainer
18828 );
18829 }
18830 }
18831 function findInstanceBlockingEvent(nativeEvent) {
18832 nativeEvent = getEventTarget(nativeEvent);
18833 return findInstanceBlockingTarget(nativeEvent);
18834 }
18835 function findInstanceBlockingTarget(targetNode) {
18836 return_targetInst = null;
18837 targetNode = getClosestInstanceFromNode(targetNode);
18838 if (null !== targetNode) {
18839 var nearestMounted = getNearestMountedFiber(targetNode);
18840 if (null === nearestMounted) targetNode = null;
18841 else {
18842 var tag = nearestMounted.tag;
18843 if (13 === tag) {
18844 targetNode = getSuspenseInstanceFromFiber(nearestMounted);
18845 if (null !== targetNode) return targetNode;
18846 targetNode = null;
18847 } else if (31 === tag) {
18848 targetNode = getActivityInstanceFromFiber(nearestMounted);
18849 if (null !== targetNode) return targetNode;
18850 targetNode = null;
18851 } else if (3 === tag) {
18852 if (nearestMounted.stateNode.current.memoizedState.isDehydrated)
18853 return 3 === nearestMounted.tag ? nearestMounted.stateNode.containerInfo : null;
18854 targetNode = null;
18855 } else nearestMounted !== targetNode && (targetNode = null);
18856 }
18857 }
18858 return_targetInst = targetNode;
18859 return null;
18860 }
18861 function getEventPriority(domEventName) {
18862 switch (domEventName) {
18863 case "beforetoggle":
18864 case "cancel":
18865 case "click":
18866 case "close":
18867 case "contextmenu":
18868 case "copy":
18869 case "cut":
18870 case "auxclick":
18871 case "dblclick":
18872 case "dragend":
18873 case "dragstart":
18874 case "drop":
18875 case "focusin":
18876 case "focusout":
18877 case "input":
18878 case "invalid":
18879 case "keydown":
18880 case "keypress":
18881 case "keyup":
18882 case "mousedown":
18883 case "mouseup":
18884 case "paste":
18885 case "pause":
18886 case "play":
18887 case "pointercancel":
18888 case "pointerdown":
18889 case "pointerup":
18890 case "ratechange":
18891 case "reset":
18892 case "seeked":
18893 case "submit":
18894 case "toggle":
18895 case "touchcancel":
18896 case "touchend":
18897 case "touchstart":
18898 case "volumechange":
18899 case "change":
18900 case "selectionchange":
18901 case "textInput":
18902 case "compositionstart":
18903 case "compositionend":
18904 case "compositionupdate":
18905 case "beforeblur":
18906 case "afterblur":
18907 case "beforeinput":
18908 case "blur":
18909 case "fullscreenchange":
18910 case "fullscreenerror":
18911 case "focus":
18912 case "hashchange":
18913 case "popstate":
18914 case "select":
18915 case "selectstart":
18916 return DiscreteEventPriority;
18917 case "drag":
18918 case "dragenter":
18919 case "dragexit":
18920 case "dragleave":
18921 case "dragover":
18922 case "mousemove":
18923 case "mouseout":
18924 case "mouseover":
18925 case "pointermove":
18926 case "pointerout":
18927 case "pointerover":
18928 case "resize":
18929 case "scroll":
18930 case "touchmove":
18931 case "wheel":
18932 case "mouseenter":
18933 case "mouseleave":
18934 case "pointerenter":
18935 case "pointerleave":
18936 return ContinuousEventPriority;
18937 case "message":
18938 switch (getCurrentPriorityLevel()) {
18939 case ImmediatePriority:
18940 return DiscreteEventPriority;
18941 case UserBlockingPriority:
18942 return ContinuousEventPriority;
18943 case NormalPriority$1:
18944 case LowPriority:
18945 return DefaultEventPriority;
18946 case IdlePriority:
18947 return IdleEventPriority;
18948 default:
18949 return DefaultEventPriority;
18950 }
18951 default:
18952 return DefaultEventPriority;
18953 }
18954 }
18955 function clearIfContinuousEvent(domEventName, nativeEvent) {
18956 switch (domEventName) {
18957 case "focusin":
18958 case "focusout":
18959 queuedFocus = null;
18960 break;
18961 case "dragenter":
18962 case "dragleave":
18963 queuedDrag = null;
18964 break;
18965 case "mouseover":
18966 case "mouseout":
18967 queuedMouse = null;
18968 break;
18969 case "pointerover":
18970 case "pointerout":
18971 queuedPointers.delete(nativeEvent.pointerId);
18972 break;
18973 case "gotpointercapture":
18974 case "lostpointercapture":
18975 queuedPointerCaptures.delete(nativeEvent.pointerId);
18976 }
18977 }
18978 function accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {
18979 if (null === existingQueuedEvent || existingQueuedEvent.nativeEvent !== nativeEvent)
18980 return existingQueuedEvent = {
18981 blockedOn,
18982 domEventName,
18983 eventSystemFlags,
18984 nativeEvent,
18985 targetContainers: [targetContainer]
18986 }, null !== blockedOn && (blockedOn = getInstanceFromNode(blockedOn), null !== blockedOn && attemptContinuousHydration(blockedOn)), existingQueuedEvent;
18987 existingQueuedEvent.eventSystemFlags |= eventSystemFlags;
18988 blockedOn = existingQueuedEvent.targetContainers;
18989 null !== targetContainer && -1 === blockedOn.indexOf(targetContainer) && blockedOn.push(targetContainer);
18990 return existingQueuedEvent;
18991 }
18992 function queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) {
18993 switch (domEventName) {
18994 case "focusin":
18995 return queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(
18996 queuedFocus,
18997 blockedOn,
18998 domEventName,
18999 eventSystemFlags,
19000 targetContainer,
19001 nativeEvent
19002 ), true;
19003 case "dragenter":
19004 return queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(
19005 queuedDrag,
19006 blockedOn,
19007 domEventName,
19008 eventSystemFlags,
19009 targetContainer,
19010 nativeEvent
19011 ), true;
19012 case "mouseover":
19013 return queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(
19014 queuedMouse,
19015 blockedOn,
19016 domEventName,
19017 eventSystemFlags,
19018 targetContainer,
19019 nativeEvent
19020 ), true;
19021 case "pointerover":
19022 var pointerId = nativeEvent.pointerId;
19023 queuedPointers.set(
19024 pointerId,
19025 accumulateOrCreateContinuousQueuedReplayableEvent(
19026 queuedPointers.get(pointerId) || null,
19027 blockedOn,
19028 domEventName,
19029 eventSystemFlags,
19030 targetContainer,
19031 nativeEvent
19032 )
19033 );
19034 return true;
19035 case "gotpointercapture":
19036 return pointerId = nativeEvent.pointerId, queuedPointerCaptures.set(
19037 pointerId,
19038 accumulateOrCreateContinuousQueuedReplayableEvent(
19039 queuedPointerCaptures.get(pointerId) || null,
19040 blockedOn,
19041 domEventName,
19042 eventSystemFlags,
19043 targetContainer,
19044 nativeEvent
19045 )
19046 ), true;
19047 }
19048 return false;
19049 }
19050 function attemptExplicitHydrationTarget(queuedTarget) {
19051 var targetInst = getClosestInstanceFromNode(queuedTarget.target);
19052 if (null !== targetInst) {
19053 var nearestMounted = getNearestMountedFiber(targetInst);
19054 if (null !== nearestMounted) {
19055 if (targetInst = nearestMounted.tag, 13 === targetInst) {
19056 if (targetInst = getSuspenseInstanceFromFiber(nearestMounted), null !== targetInst) {
19057 queuedTarget.blockedOn = targetInst;
19058 runWithPriority(queuedTarget.priority, function() {
19059 attemptHydrationAtCurrentPriority(nearestMounted);
19060 });
19061 return;
19062 }
19063 } else if (31 === targetInst) {
19064 if (targetInst = getActivityInstanceFromFiber(nearestMounted), null !== targetInst) {
19065 queuedTarget.blockedOn = targetInst;
19066 runWithPriority(queuedTarget.priority, function() {
19067 attemptHydrationAtCurrentPriority(nearestMounted);
19068 });
19069 return;
19070 }
19071 } else if (3 === targetInst && nearestMounted.stateNode.current.memoizedState.isDehydrated) {
19072 queuedTarget.blockedOn = 3 === nearestMounted.tag ? nearestMounted.stateNode.containerInfo : null;
19073 return;
19074 }
19075 }
19076 }
19077 queuedTarget.blockedOn = null;
19078 }
19079 function attemptReplayContinuousQueuedEvent(queuedEvent) {
19080 if (null !== queuedEvent.blockedOn) return false;
19081 for (var targetContainers = queuedEvent.targetContainers; 0 < targetContainers.length; ) {
19082 var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.nativeEvent);
19083 if (null === nextBlockedOn) {
19084 nextBlockedOn = queuedEvent.nativeEvent;
19085 var nativeEventClone = new nextBlockedOn.constructor(
19086 nextBlockedOn.type,
19087 nextBlockedOn
19088 ), event = nativeEventClone;
19089 null !== currentReplayingEvent && console.error(
19090 "Expected currently replaying event to be null. This error is likely caused by a bug in React. Please file an issue."
19091 );
19092 currentReplayingEvent = event;
19093 nextBlockedOn.target.dispatchEvent(nativeEventClone);
19094 null === currentReplayingEvent && console.error(
19095 "Expected currently replaying event to not be null. This error is likely caused by a bug in React. Please file an issue."
19096 );
19097 currentReplayingEvent = null;
19098 } else
19099 return targetContainers = getInstanceFromNode(nextBlockedOn), null !== targetContainers && attemptContinuousHydration(targetContainers), queuedEvent.blockedOn = nextBlockedOn, false;
19100 targetContainers.shift();
19101 }
19102 return true;
19103 }
19104 function attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {
19105 attemptReplayContinuousQueuedEvent(queuedEvent) && map.delete(key);
19106 }
19107 function replayUnblockedEvents() {
19108 hasScheduledReplayAttempt = false;
19109 null !== queuedFocus && attemptReplayContinuousQueuedEvent(queuedFocus) && (queuedFocus = null);
19110 null !== queuedDrag && attemptReplayContinuousQueuedEvent(queuedDrag) && (queuedDrag = null);
19111 null !== queuedMouse && attemptReplayContinuousQueuedEvent(queuedMouse) && (queuedMouse = null);
19112 queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);
19113 queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);
19114 }
19115 function scheduleCallbackIfUnblocked(queuedEvent, unblocked) {
19116 queuedEvent.blockedOn === unblocked && (queuedEvent.blockedOn = null, hasScheduledReplayAttempt || (hasScheduledReplayAttempt = true, Scheduler.unstable_scheduleCallback(
19117 Scheduler.unstable_NormalPriority,
19118 replayUnblockedEvents
19119 )));
19120 }
19121 function scheduleReplayQueueIfNeeded(formReplayingQueue) {
19122 lastScheduledReplayQueue !== formReplayingQueue && (lastScheduledReplayQueue = formReplayingQueue, Scheduler.unstable_scheduleCallback(
19123 Scheduler.unstable_NormalPriority,
19124 function() {
19125 lastScheduledReplayQueue === formReplayingQueue && (lastScheduledReplayQueue = null);
19126 for (var i = 0; i < formReplayingQueue.length; i += 3) {
19127 var form = formReplayingQueue[i], submitterOrAction = formReplayingQueue[i + 1], formData = formReplayingQueue[i + 2];
19128 if ("function" !== typeof submitterOrAction)
19129 if (null === findInstanceBlockingTarget(submitterOrAction || form))
19130 continue;
19131 else break;
19132 var formInst = getInstanceFromNode(form);
19133 null !== formInst && (formReplayingQueue.splice(i, 3), i -= 3, form = {
19134 pending: true,
19135 data: formData,
19136 method: form.method,
19137 action: submitterOrAction
19138 }, Object.freeze(form), startHostTransition(
19139 formInst,
19140 form,
19141 submitterOrAction,
19142 formData
19143 ));
19144 }
19145 }
19146 ));
19147 }
19148 function retryIfBlockedOn(unblocked) {
19149 function unblock(queuedEvent) {
19150 return scheduleCallbackIfUnblocked(queuedEvent, unblocked);
19151 }
19152 null !== queuedFocus && scheduleCallbackIfUnblocked(queuedFocus, unblocked);
19153 null !== queuedDrag && scheduleCallbackIfUnblocked(queuedDrag, unblocked);
19154 null !== queuedMouse && scheduleCallbackIfUnblocked(queuedMouse, unblocked);
19155 queuedPointers.forEach(unblock);
19156 queuedPointerCaptures.forEach(unblock);
19157 for (var i = 0; i < queuedExplicitHydrationTargets.length; i++) {
19158 var queuedTarget = queuedExplicitHydrationTargets[i];
19159 queuedTarget.blockedOn === unblocked && (queuedTarget.blockedOn = null);
19160 }
19161 for (; 0 < queuedExplicitHydrationTargets.length && (i = queuedExplicitHydrationTargets[0], null === i.blockedOn); )
19162 attemptExplicitHydrationTarget(i), null === i.blockedOn && queuedExplicitHydrationTargets.shift();
19163 i = (unblocked.ownerDocument || unblocked).$$reactFormReplay;
19164 if (null != i)
19165 for (queuedTarget = 0; queuedTarget < i.length; queuedTarget += 3) {
19166 var form = i[queuedTarget], submitterOrAction = i[queuedTarget + 1], formProps = form[internalPropsKey] || null;
19167 if ("function" === typeof submitterOrAction)
19168 formProps || scheduleReplayQueueIfNeeded(i);
19169 else if (formProps) {
19170 var action = null;
19171 if (submitterOrAction && submitterOrAction.hasAttribute("formAction"))
19172 if (form = submitterOrAction, formProps = submitterOrAction[internalPropsKey] || null)
19173 action = formProps.formAction;
19174 else {
19175 if (null !== findInstanceBlockingTarget(form)) continue;
19176 }
19177 else action = formProps.action;
19178 "function" === typeof action ? i[queuedTarget + 1] = action : (i.splice(queuedTarget, 3), queuedTarget -= 3);
19179 scheduleReplayQueueIfNeeded(i);
19180 }
19181 }
19182 }
19183 function defaultOnDefaultTransitionIndicator() {
19184 function handleNavigate(event) {
19185 event.canIntercept && "react-transition" === event.info && event.intercept({
19186 handler: function() {
19187 return new Promise(function(resolve) {
19188 return pendingResolve = resolve;
19189 });
19190 },
19191 focusReset: "manual",
19192 scroll: "manual"
19193 });
19194 }
19195 function handleNavigateComplete() {
19196 null !== pendingResolve && (pendingResolve(), pendingResolve = null);
19197 isCancelled || setTimeout(startFakeNavigation, 20);
19198 }
19199 function startFakeNavigation() {
19200 if (!isCancelled && !navigation.transition) {
19201 var currentEntry = navigation.currentEntry;
19202 currentEntry && null != currentEntry.url && navigation.navigate(currentEntry.url, {
19203 state: currentEntry.getState(),
19204 info: "react-transition",
19205 history: "replace"
19206 });
19207 }
19208 }
19209 if ("object" === typeof navigation) {
19210 var isCancelled = false, pendingResolve = null;
19211 navigation.addEventListener("navigate", handleNavigate);
19212 navigation.addEventListener("navigatesuccess", handleNavigateComplete);
19213 navigation.addEventListener("navigateerror", handleNavigateComplete);
19214 setTimeout(startFakeNavigation, 100);
19215 return function() {
19216 isCancelled = true;
19217 navigation.removeEventListener("navigate", handleNavigate);
19218 navigation.removeEventListener(
19219 "navigatesuccess",
19220 handleNavigateComplete
19221 );
19222 navigation.removeEventListener(
19223 "navigateerror",
19224 handleNavigateComplete
19225 );
19226 null !== pendingResolve && (pendingResolve(), pendingResolve = null);
19227 };
19228 }
19229 }
19230 function ReactDOMRoot(internalRoot) {
19231 this._internalRoot = internalRoot;
19232 }
19233 function ReactDOMHydrationRoot(internalRoot) {
19234 this._internalRoot = internalRoot;
19235 }
19236 function warnIfReactDOMContainerInDEV(container) {
19237 container[internalContainerInstanceKey] && (container._reactRootContainer ? console.error(
19238 "You are calling ReactDOMClient.createRoot() on a container that was previously passed to ReactDOM.render(). This is not supported."
19239 ) : console.error(
19240 "You are calling ReactDOMClient.createRoot() on a container that has already been passed to createRoot() before. Instead, call root.render() on the existing root instead if you want to update it."
19241 ));
19242 }
19243 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
19244 var Scheduler = require_scheduler(), React = require_react(), ReactDOM = require_react_dom(), searchTarget = null, searchBoundary = null, assign = Object.assign, REACT_LEGACY_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for("react.element"), REACT_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = /* @__PURE__ */ Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = /* @__PURE__ */ Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = /* @__PURE__ */ Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = /* @__PURE__ */ Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = /* @__PURE__ */ Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = /* @__PURE__ */ Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = /* @__PURE__ */ Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = /* @__PURE__ */ Symbol.for("react.memo"), REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy");
19245 /* @__PURE__ */ Symbol.for("react.scope");
19246 var REACT_ACTIVITY_TYPE = /* @__PURE__ */ Symbol.for("react.activity"), REACT_LEGACY_HIDDEN_TYPE = /* @__PURE__ */ Symbol.for("react.legacy_hidden");
19247 /* @__PURE__ */ Symbol.for("react.tracing_marker");
19248 var REACT_MEMO_CACHE_SENTINEL = /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel"), REACT_VIEW_TRANSITION_TYPE = /* @__PURE__ */ Symbol.for("react.view_transition"), REACT_RECOVERABLE_TYPE = /* @__PURE__ */ Symbol.for("react.recoverable"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator, REACT_CLIENT_REFERENCE = /* @__PURE__ */ Symbol.for("react.client.reference"), isArrayImpl = Array.isArray, ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, ReactDOMSharedInternals = ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, NotPending = Object.freeze({
19249 pending: false,
19250 data: null,
19251 method: null,
19252 action: null
19253 }), valueStack = [];
19254 var fiberStack = [];
19255 var index$jscomp$0 = -1, contextStackCursor = createCursor(null), contextFiberStackCursor = createCursor(null), rootInstanceStackCursor = createCursor(null), hostTransitionProviderCursor = createCursor(null), disabledDepth = 0, prevLog, prevInfo, prevWarn, prevError, prevGroup, prevGroupCollapsed, prevGroupEnd;
19256 disabledLog.__reactDisabledLog = true;
19257 var prefix, suffix, reentry = false;
19258 var componentFrameCache = new ("function" === typeof WeakMap ? WeakMap : Map)();
19259 var current = null, isRendering = false, hasOwnProperty = Object.prototype.hasOwnProperty, scheduleCallback$3 = Scheduler.unstable_scheduleCallback, cancelCallback$1 = Scheduler.unstable_cancelCallback, shouldYield = Scheduler.unstable_shouldYield, requestPaint = Scheduler.unstable_requestPaint, now$1 = Scheduler.unstable_now, getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel, ImmediatePriority = Scheduler.unstable_ImmediatePriority, UserBlockingPriority = Scheduler.unstable_UserBlockingPriority, NormalPriority$1 = Scheduler.unstable_NormalPriority, LowPriority = Scheduler.unstable_LowPriority, IdlePriority = Scheduler.unstable_IdlePriority, log$1 = Scheduler.log, unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue, rendererID = null, injectedHook = null, hasLoggedError = false, isDevToolsPresent = "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__, clz32 = Math.clz32 ? Math.clz32 : clz32Fallback, log = Math.log, LN2 = Math.LN2, nextTransitionUpdateLane = 256, nextTransitionDeferredLane = 262144, nextRetryLane = 4194304, DiscreteEventPriority = 2, ContinuousEventPriority = 8, DefaultEventPriority = 32, IdleEventPriority = 268435456, randomKey = Math.random().toString(36).slice(2), internalInstanceKey = "__reactFiber$" + randomKey, internalPropsKey = "__reactProps$" + randomKey, internalContainerInstanceKey = "__reactContainer$" + randomKey, internalEventHandlersKey = "__reactEvents$" + randomKey, internalEventHandlerListenersKey = "__reactListeners$" + randomKey, internalEventHandlesSetKey = "__reactHandles$" + randomKey, internalRootNodeResourcesKey = "__reactResources$" + randomKey, internalHoistableMarker = "__reactMarker$" + randomKey, internalLoadPendingKey = "__reactLoad$" + randomKey, allNativeEvents = /* @__PURE__ */ new Set(), registrationNameDependencies = {}, possibleRegistrationNames = {}, hasReadOnlyValue = {
19260 button: true,
19261 checkbox: true,
19262 image: true,
19263 hidden: true,
19264 radio: true,
19265 reset: true,
19266 submit: true
19267 }, VALID_ATTRIBUTE_NAME_REGEX = RegExp(
19268 "^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"
19269 ), illegalAttributeNameCache = {}, validatedAttributeNameCache = {}, viewTransitionMutationContext = false, escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\n"\\]/g, didWarnValueDefaultValue$1 = false, didWarnCheckedDefaultChecked = false, didWarnSelectedSetOnOption = false, didWarnInvalidChild = false, didWarnInvalidInnerHTML = false;
19270 var didWarnValueDefaultValue = false;
19271 var valuePropNames = ["value", "defaultValue"], didWarnValDefaultVal = false, needsEscaping = /["'&<>\n\t]|^\s|\s$/, specialTags = "address applet area article aside base basefont bgsound blockquote body br button caption center col colgroup dd details dir div dl dt embed fieldset figcaption figure footer form frame frameset h1 h2 h3 h4 h5 h6 head header hgroup hr html iframe img input isindex li link listing main marquee menu menuitem meta nav noembed noframes noscript object ol p param plaintext pre script section select source style summary table tbody td template textarea tfoot th thead title tr track ul wbr xmp".split(
19272 " "
19273 ), inScopeTags = "applet caption html table td th marquee object select template foreignObject desc title".split(
19274 " "
19275 ), buttonScopeTags = inScopeTags.concat(["button"]), impliedEndTags = "dd dt li option optgroup p rp rt".split(" "), emptyAncestorInfoDev = {
19276 current: null,
19277 formTag: null,
19278 aTagInScope: null,
19279 buttonTagInScope: null,
19280 nobrTagInScope: null,
19281 pTagInButtonScope: null,
19282 listItemTagAutoclosing: null,
19283 dlItemTagAutoclosing: null,
19284 containerTagInScope: null,
19285 implicitRootScope: false
19286 }, didWarn = {}, shorthandToLonghand = {
19287 animation: "animationDelay animationDirection animationDuration animationFillMode animationIterationCount animationName animationPlayState animationTimingFunction".split(
19288 " "
19289 ),
19290 background: "backgroundAttachment backgroundClip backgroundColor backgroundImage backgroundOrigin backgroundPositionX backgroundPositionY backgroundRepeat backgroundSize".split(
19291 " "
19292 ),
19293 backgroundPosition: ["backgroundPositionX", "backgroundPositionY"],
19294 border: "borderBottomColor borderBottomStyle borderBottomWidth borderImageOutset borderImageRepeat borderImageSlice borderImageSource borderImageWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderTopColor borderTopStyle borderTopWidth".split(
19295 " "
19296 ),
19297 borderBlock: "borderBlockEndColor borderBlockEndStyle borderBlockEndWidth borderBlockStartColor borderBlockStartStyle borderBlockStartWidth".split(
19298 " "
19299 ),
19300 borderBlockColor: ["borderBlockEndColor", "borderBlockStartColor"],
19301 borderBlockEnd: [
19302 "borderBlockEndColor",
19303 "borderBlockEndStyle",
19304 "borderBlockEndWidth"
19305 ],
19306 borderBlockStart: [
19307 "borderBlockStartColor",
19308 "borderBlockStartStyle",
19309 "borderBlockStartWidth"
19310 ],
19311 borderBlockStyle: ["borderBlockEndStyle", "borderBlockStartStyle"],
19312 borderBlockWidth: ["borderBlockEndWidth", "borderBlockStartWidth"],
19313 borderBottom: [
19314 "borderBottomColor",
19315 "borderBottomStyle",
19316 "borderBottomWidth"
19317 ],
19318 borderColor: [
19319 "borderBottomColor",
19320 "borderLeftColor",
19321 "borderRightColor",
19322 "borderTopColor"
19323 ],
19324 borderImage: [
19325 "borderImageOutset",
19326 "borderImageRepeat",
19327 "borderImageSlice",
19328 "borderImageSource",
19329 "borderImageWidth"
19330 ],
19331 borderInline: "borderInlineEndColor borderInlineEndStyle borderInlineEndWidth borderInlineStartColor borderInlineStartStyle borderInlineStartWidth".split(
19332 " "
19333 ),
19334 borderInlineColor: ["borderInlineEndColor", "borderInlineStartColor"],
19335 borderInlineEnd: [
19336 "borderInlineEndColor",
19337 "borderInlineEndStyle",
19338 "borderInlineEndWidth"
19339 ],
19340 borderInlineStart: [
19341 "borderInlineStartColor",
19342 "borderInlineStartStyle",
19343 "borderInlineStartWidth"
19344 ],
19345 borderInlineStyle: ["borderInlineEndStyle", "borderInlineStartStyle"],
19346 borderInlineWidth: ["borderInlineEndWidth", "borderInlineStartWidth"],
19347 borderLeft: ["borderLeftColor", "borderLeftStyle", "borderLeftWidth"],
19348 borderRadius: [
19349 "borderBottomLeftRadius",
19350 "borderBottomRightRadius",
19351 "borderTopLeftRadius",
19352 "borderTopRightRadius"
19353 ],
19354 borderRight: [
19355 "borderRightColor",
19356 "borderRightStyle",
19357 "borderRightWidth"
19358 ],
19359 borderStyle: [
19360 "borderBottomStyle",
19361 "borderLeftStyle",
19362 "borderRightStyle",
19363 "borderTopStyle"
19364 ],
19365 borderTop: ["borderTopColor", "borderTopStyle", "borderTopWidth"],
19366 borderWidth: [
19367 "borderBottomWidth",
19368 "borderLeftWidth",
19369 "borderRightWidth",
19370 "borderTopWidth"
19371 ],
19372 colorAdjust: ["printColorAdjust"],
19373 columnRule: ["columnRuleColor", "columnRuleStyle", "columnRuleWidth"],
19374 columns: ["columnCount", "columnWidth"],
19375 containIntrinsicSize: [
19376 "containIntrinsicHeight",
19377 "containIntrinsicWidth"
19378 ],
19379 container: ["containerName", "containerType"],
19380 flex: ["flexBasis", "flexGrow", "flexShrink"],
19381 flexFlow: ["flexDirection", "flexWrap"],
19382 font: "fontFamily fontFeatureSettings fontKerning fontLanguageOverride fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition fontWeight lineHeight".split(
19383 " "
19384 ),
19385 fontSynthesis: [
19386 "fontSynthesisPosition",
19387 "fontSynthesisSmallCaps",
19388 "fontSynthesisStyle",
19389 "fontSynthesisWeight"
19390 ],
19391 fontVariant: "fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition".split(
19392 " "
19393 ),
19394 gap: ["columnGap", "rowGap"],
19395 grid: "gridAutoColumns gridAutoFlow gridAutoRows gridTemplateAreas gridTemplateColumns gridTemplateRows".split(
19396 " "
19397 ),
19398 gridArea: [
19399 "gridColumnEnd",
19400 "gridColumnStart",
19401 "gridRowEnd",
19402 "gridRowStart"
19403 ],
19404 gridColumn: ["gridColumnEnd", "gridColumnStart"],
19405 gridColumnGap: ["columnGap"],
19406 gridGap: ["columnGap", "rowGap"],
19407 gridRow: ["gridRowEnd", "gridRowStart"],
19408 gridRowGap: ["rowGap"],
19409 gridTemplate: [
19410 "gridTemplateAreas",
19411 "gridTemplateColumns",
19412 "gridTemplateRows"
19413 ],
19414 inset: ["bottom", "left", "right", "top"],
19415 insetBlock: ["insetBlockEnd", "insetBlockStart"],
19416 insetInline: ["insetInlineEnd", "insetInlineStart"],
19417 listStyle: ["listStyleImage", "listStylePosition", "listStyleType"],
19418 margin: ["marginBottom", "marginLeft", "marginRight", "marginTop"],
19419 marginBlock: ["marginBlockEnd", "marginBlockStart"],
19420 marginInline: ["marginInlineEnd", "marginInlineStart"],
19421 marker: ["markerEnd", "markerMid", "markerStart"],
19422 mask: "maskClip maskComposite maskImage maskMode maskOrigin maskPositionX maskPositionY maskRepeat maskSize".split(
19423 " "
19424 ),
19425 maskPosition: ["maskPositionX", "maskPositionY"],
19426 offset: [
19427 "offsetAnchor",
19428 "offsetDistance",
19429 "offsetPath",
19430 "offsetPosition",
19431 "offsetRotate"
19432 ],
19433 outline: ["outlineColor", "outlineStyle", "outlineWidth"],
19434 overflow: ["overflowX", "overflowY"],
19435 overscrollBehavior: ["overscrollBehaviorX", "overscrollBehaviorY"],
19436 padding: ["paddingBottom", "paddingLeft", "paddingRight", "paddingTop"],
19437 paddingBlock: ["paddingBlockEnd", "paddingBlockStart"],
19438 paddingInline: ["paddingInlineEnd", "paddingInlineStart"],
19439 pageBreakAfter: ["breakAfter"],
19440 pageBreakBefore: ["breakBefore"],
19441 pageBreakInside: ["breakInside"],
19442 placeContent: ["alignContent", "justifyContent"],
19443 placeItems: ["alignItems", "justifyItems"],
19444 placeSelf: ["alignSelf", "justifySelf"],
19445 scrollMargin: [
19446 "scrollMarginBottom",
19447 "scrollMarginLeft",
19448 "scrollMarginRight",
19449 "scrollMarginTop"
19450 ],
19451 scrollMarginBlock: ["scrollMarginBlockEnd", "scrollMarginBlockStart"],
19452 scrollMarginInline: [
19453 "scrollMarginInlineEnd",
19454 "scrollMarginInlineStart"
19455 ],
19456 scrollPadding: [
19457 "scrollPaddingBottom",
19458 "scrollPaddingLeft",
19459 "scrollPaddingRight",
19460 "scrollPaddingTop"
19461 ],
19462 scrollPaddingBlock: [
19463 "scrollPaddingBlockEnd",
19464 "scrollPaddingBlockStart"
19465 ],
19466 scrollPaddingInline: [
19467 "scrollPaddingInlineEnd",
19468 "scrollPaddingInlineStart"
19469 ],
19470 textDecoration: [
19471 "textDecorationColor",
19472 "textDecorationLine",
19473 "textDecorationStyle",
19474 "textDecorationThickness"
19475 ],
19476 textEmphasis: ["textEmphasisColor", "textEmphasisStyle"],
19477 textWrap: ["textWrapMode", "textWrapStyle"],
19478 transition: [
19479 "transitionBehavior",
19480 "transitionDelay",
19481 "transitionDuration",
19482 "transitionProperty",
19483 "transitionTimingFunction"
19484 ],
19485 verticalAlign: ["alignmentBaseline", "baselineShift", "baselineSource"],
19486 whiteSpace: ["textWrapMode", "whiteSpaceCollapse"],
19487 wordWrap: ["overflowWrap"]
19488 }, uppercasePattern = /([A-Z])/g, msPattern$1 = /^ms-/, badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/, msPattern = /^-ms-/, hyphenPattern = /-(.)/g, badStyleValueWithSemicolonPattern = /;\s*$/, warnedStyleNames = {}, warnedStyleValues = {}, warnedForNaNValue = false, warnedForInfinityValue = false, unitlessNumbers = new Set(
19489 "animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(
19490 " "
19491 )
19492 ), MATH_NAMESPACE = "http://www.w3.org/1998/Math/MathML", SVG_NAMESPACE = "http://www.w3.org/2000/svg", aliases = /* @__PURE__ */ new Map([
19493 ["acceptCharset", "accept-charset"],
19494 ["htmlFor", "for"],
19495 ["httpEquiv", "http-equiv"],
19496 ["crossOrigin", "crossorigin"],
19497 ["accentHeight", "accent-height"],
19498 ["alignmentBaseline", "alignment-baseline"],
19499 ["arabicForm", "arabic-form"],
19500 ["baselineShift", "baseline-shift"],
19501 ["capHeight", "cap-height"],
19502 ["clipPath", "clip-path"],
19503 ["clipRule", "clip-rule"],
19504 ["colorInterpolation", "color-interpolation"],
19505 ["colorInterpolationFilters", "color-interpolation-filters"],
19506 ["colorProfile", "color-profile"],
19507 ["colorRendering", "color-rendering"],
19508 ["dominantBaseline", "dominant-baseline"],
19509 ["enableBackground", "enable-background"],
19510 ["fillOpacity", "fill-opacity"],
19511 ["fillRule", "fill-rule"],
19512 ["floodColor", "flood-color"],
19513 ["floodOpacity", "flood-opacity"],
19514 ["fontFamily", "font-family"],
19515 ["fontSize", "font-size"],
19516 ["fontSizeAdjust", "font-size-adjust"],
19517 ["fontStretch", "font-stretch"],
19518 ["fontStyle", "font-style"],
19519 ["fontVariant", "font-variant"],
19520 ["fontWeight", "font-weight"],
19521 ["glyphName", "glyph-name"],
19522 ["glyphOrientationHorizontal", "glyph-orientation-horizontal"],
19523 ["glyphOrientationVertical", "glyph-orientation-vertical"],
19524 ["horizAdvX", "horiz-adv-x"],
19525 ["horizOriginX", "horiz-origin-x"],
19526 ["imageRendering", "image-rendering"],
19527 ["letterSpacing", "letter-spacing"],
19528 ["lightingColor", "lighting-color"],
19529 ["markerEnd", "marker-end"],
19530 ["markerMid", "marker-mid"],
19531 ["markerStart", "marker-start"],
19532 ["maskType", "mask-type"],
19533 ["overlinePosition", "overline-position"],
19534 ["overlineThickness", "overline-thickness"],
19535 ["paintOrder", "paint-order"],
19536 ["panose-1", "panose-1"],
19537 ["pointerEvents", "pointer-events"],
19538 ["renderingIntent", "rendering-intent"],
19539 ["shapeRendering", "shape-rendering"],
19540 ["stopColor", "stop-color"],
19541 ["stopOpacity", "stop-opacity"],
19542 ["strikethroughPosition", "strikethrough-position"],
19543 ["strikethroughThickness", "strikethrough-thickness"],
19544 ["strokeDasharray", "stroke-dasharray"],
19545 ["strokeDashoffset", "stroke-dashoffset"],
19546 ["strokeLinecap", "stroke-linecap"],
19547 ["strokeLinejoin", "stroke-linejoin"],
19548 ["strokeMiterlimit", "stroke-miterlimit"],
19549 ["strokeOpacity", "stroke-opacity"],
19550 ["strokeWidth", "stroke-width"],
19551 ["textAnchor", "text-anchor"],
19552 ["textDecoration", "text-decoration"],
19553 ["textRendering", "text-rendering"],
19554 ["transformOrigin", "transform-origin"],
19555 ["underlinePosition", "underline-position"],
19556 ["underlineThickness", "underline-thickness"],
19557 ["unicodeBidi", "unicode-bidi"],
19558 ["unicodeRange", "unicode-range"],
19559 ["unitsPerEm", "units-per-em"],
19560 ["vAlphabetic", "v-alphabetic"],
19561 ["vHanging", "v-hanging"],
19562 ["vIdeographic", "v-ideographic"],
19563 ["vMathematical", "v-mathematical"],
19564 ["vectorEffect", "vector-effect"],
19565 ["vertAdvY", "vert-adv-y"],
19566 ["vertOriginX", "vert-origin-x"],
19567 ["vertOriginY", "vert-origin-y"],
19568 ["wordSpacing", "word-spacing"],
19569 ["writingMode", "writing-mode"],
19570 ["xmlnsXlink", "xmlns:xlink"],
19571 ["xHeight", "x-height"]
19572 ]), possibleStandardNames = {
19573 accept: "accept",
19574 acceptcharset: "acceptCharset",
19575 "accept-charset": "acceptCharset",
19576 accesskey: "accessKey",
19577 action: "action",
19578 allowfullscreen: "allowFullScreen",
19579 alt: "alt",
19580 as: "as",
19581 async: "async",
19582 autocapitalize: "autoCapitalize",
19583 autocomplete: "autoComplete",
19584 autocorrect: "autoCorrect",
19585 autofocus: "autoFocus",
19586 autoplay: "autoPlay",
19587 autosave: "autoSave",
19588 capture: "capture",
19589 cellpadding: "cellPadding",
19590 cellspacing: "cellSpacing",
19591 challenge: "challenge",
19592 charset: "charSet",
19593 checked: "checked",
19594 children: "children",
19595 cite: "cite",
19596 class: "className",
19597 classid: "classID",
19598 classname: "className",
19599 cols: "cols",
19600 colspan: "colSpan",
19601 content: "content",
19602 contenteditable: "contentEditable",
19603 contextmenu: "contextMenu",
19604 controls: "controls",
19605 controlslist: "controlsList",
19606 coords: "coords",
19607 credentialless: "credentialless",
19608 crossorigin: "crossOrigin",
19609 dangerouslysetinnerhtml: "dangerouslySetInnerHTML",
19610 data: "data",
19611 datetime: "dateTime",
19612 default: "default",
19613 defaultchecked: "defaultChecked",
19614 defaultvalue: "defaultValue",
19615 defer: "defer",
19616 dir: "dir",
19617 disabled: "disabled",
19618 disablepictureinpicture: "disablePictureInPicture",
19619 disableremoteplayback: "disableRemotePlayback",
19620 download: "download",
19621 draggable: "draggable",
19622 enctype: "encType",
19623 enterkeyhint: "enterKeyHint",
19624 fetchpriority: "fetchPriority",
19625 for: "htmlFor",
19626 form: "form",
19627 formmethod: "formMethod",
19628 formaction: "formAction",
19629 formenctype: "formEncType",
19630 formnovalidate: "formNoValidate",
19631 formtarget: "formTarget",
19632 frameborder: "frameBorder",
19633 headers: "headers",
19634 height: "height",
19635 hidden: "hidden",
19636 high: "high",
19637 href: "href",
19638 hreflang: "hrefLang",
19639 htmlfor: "htmlFor",
19640 httpequiv: "httpEquiv",
19641 "http-equiv": "httpEquiv",
19642 icon: "icon",
19643 id: "id",
19644 imagesizes: "imageSizes",
19645 imagesrcset: "imageSrcSet",
19646 inert: "inert",
19647 innerhtml: "innerHTML",
19648 inputmode: "inputMode",
19649 integrity: "integrity",
19650 is: "is",
19651 itemid: "itemID",
19652 itemprop: "itemProp",
19653 itemref: "itemRef",
19654 itemscope: "itemScope",
19655 itemtype: "itemType",
19656 keyparams: "keyParams",
19657 keytype: "keyType",
19658 kind: "kind",
19659 label: "label",
19660 lang: "lang",
19661 list: "list",
19662 loop: "loop",
19663 low: "low",
19664 manifest: "manifest",
19665 marginwidth: "marginWidth",
19666 marginheight: "marginHeight",
19667 max: "max",
19668 maxlength: "maxLength",
19669 media: "media",
19670 mediagroup: "mediaGroup",
19671 method: "method",
19672 min: "min",
19673 minlength: "minLength",
19674 multiple: "multiple",
19675 muted: "muted",
19676 name: "name",
19677 nomodule: "noModule",
19678 nonce: "nonce",
19679 novalidate: "noValidate",
19680 open: "open",
19681 optimum: "optimum",
19682 pattern: "pattern",
19683 placeholder: "placeholder",
19684 playsinline: "playsInline",
19685 poster: "poster",
19686 preload: "preload",
19687 profile: "profile",
19688 radiogroup: "radioGroup",
19689 readonly: "readOnly",
19690 referrerpolicy: "referrerPolicy",
19691 rel: "rel",
19692 required: "required",
19693 reversed: "reversed",
19694 role: "role",
19695 rows: "rows",
19696 rowspan: "rowSpan",
19697 sandbox: "sandbox",
19698 scope: "scope",
19699 scoped: "scoped",
19700 scrolling: "scrolling",
19701 seamless: "seamless",
19702 selected: "selected",
19703 shape: "shape",
19704 size: "size",
19705 sizes: "sizes",
19706 span: "span",
19707 spellcheck: "spellCheck",
19708 src: "src",
19709 srcdoc: "srcDoc",
19710 srclang: "srcLang",
19711 srcset: "srcSet",
19712 start: "start",
19713 step: "step",
19714 style: "style",
19715 summary: "summary",
19716 tabindex: "tabIndex",
19717 target: "target",
19718 title: "title",
19719 type: "type",
19720 usemap: "useMap",
19721 value: "value",
19722 width: "width",
19723 wmode: "wmode",
19724 wrap: "wrap",
19725 about: "about",
19726 accentheight: "accentHeight",
19727 "accent-height": "accentHeight",
19728 accumulate: "accumulate",
19729 additive: "additive",
19730 alignmentbaseline: "alignmentBaseline",
19731 "alignment-baseline": "alignmentBaseline",
19732 allowreorder: "allowReorder",
19733 alphabetic: "alphabetic",
19734 amplitude: "amplitude",
19735 arabicform: "arabicForm",
19736 "arabic-form": "arabicForm",
19737 ascent: "ascent",
19738 attributename: "attributeName",
19739 attributetype: "attributeType",
19740 autoreverse: "autoReverse",
19741 azimuth: "azimuth",
19742 basefrequency: "baseFrequency",
19743 baselineshift: "baselineShift",
19744 "baseline-shift": "baselineShift",
19745 baseprofile: "baseProfile",
19746 bbox: "bbox",
19747 begin: "begin",
19748 bias: "bias",
19749 by: "by",
19750 calcmode: "calcMode",
19751 capheight: "capHeight",
19752 "cap-height": "capHeight",
19753 clip: "clip",
19754 clippath: "clipPath",
19755 "clip-path": "clipPath",
19756 clippathunits: "clipPathUnits",
19757 cliprule: "clipRule",
19758 "clip-rule": "clipRule",
19759 color: "color",
19760 colorinterpolation: "colorInterpolation",
19761 "color-interpolation": "colorInterpolation",
19762 colorinterpolationfilters: "colorInterpolationFilters",
19763 "color-interpolation-filters": "colorInterpolationFilters",
19764 colorprofile: "colorProfile",
19765 "color-profile": "colorProfile",
19766 colorrendering: "colorRendering",
19767 "color-rendering": "colorRendering",
19768 contentscripttype: "contentScriptType",
19769 contentstyletype: "contentStyleType",
19770 cursor: "cursor",
19771 cx: "cx",
19772 cy: "cy",
19773 d: "d",
19774 datatype: "datatype",
19775 decelerate: "decelerate",
19776 descent: "descent",
19777 diffuseconstant: "diffuseConstant",
19778 direction: "direction",
19779 display: "display",
19780 divisor: "divisor",
19781 dominantbaseline: "dominantBaseline",
19782 "dominant-baseline": "dominantBaseline",
19783 dur: "dur",
19784 dx: "dx",
19785 dy: "dy",
19786 edgemode: "edgeMode",
19787 elevation: "elevation",
19788 enablebackground: "enableBackground",
19789 "enable-background": "enableBackground",
19790 end: "end",
19791 exponent: "exponent",
19792 externalresourcesrequired: "externalResourcesRequired",
19793 fill: "fill",
19794 fillopacity: "fillOpacity",
19795 "fill-opacity": "fillOpacity",
19796 fillrule: "fillRule",
19797 "fill-rule": "fillRule",
19798 filter: "filter",
19799 filterres: "filterRes",
19800 filterunits: "filterUnits",
19801 floodopacity: "floodOpacity",
19802 "flood-opacity": "floodOpacity",
19803 floodcolor: "floodColor",
19804 "flood-color": "floodColor",
19805 focusable: "focusable",
19806 fontfamily: "fontFamily",
19807 "font-family": "fontFamily",
19808 fontsize: "fontSize",
19809 "font-size": "fontSize",
19810 fontsizeadjust: "fontSizeAdjust",
19811 "font-size-adjust": "fontSizeAdjust",
19812 fontstretch: "fontStretch",
19813 "font-stretch": "fontStretch",
19814 fontstyle: "fontStyle",
19815 "font-style": "fontStyle",
19816 fontvariant: "fontVariant",
19817 "font-variant": "fontVariant",
19818 fontweight: "fontWeight",
19819 "font-weight": "fontWeight",
19820 format: "format",
19821 from: "from",
19822 fx: "fx",
19823 fy: "fy",
19824 g1: "g1",
19825 g2: "g2",
19826 glyphname: "glyphName",
19827 "glyph-name": "glyphName",
19828 glyphorientationhorizontal: "glyphOrientationHorizontal",
19829 "glyph-orientation-horizontal": "glyphOrientationHorizontal",
19830 glyphorientationvertical: "glyphOrientationVertical",
19831 "glyph-orientation-vertical": "glyphOrientationVertical",
19832 glyphref: "glyphRef",
19833 gradienttransform: "gradientTransform",
19834 gradientunits: "gradientUnits",
19835 hanging: "hanging",
19836 horizadvx: "horizAdvX",
19837 "horiz-adv-x": "horizAdvX",
19838 horizoriginx: "horizOriginX",
19839 "horiz-origin-x": "horizOriginX",
19840 ideographic: "ideographic",
19841 imagerendering: "imageRendering",
19842 "image-rendering": "imageRendering",
19843 in2: "in2",
19844 in: "in",
19845 inlist: "inlist",
19846 intercept: "intercept",
19847 k1: "k1",
19848 k2: "k2",
19849 k3: "k3",
19850 k4: "k4",
19851 k: "k",
19852 kernelmatrix: "kernelMatrix",
19853 kernelunitlength: "kernelUnitLength",
19854 kerning: "kerning",
19855 keypoints: "keyPoints",
19856 keysplines: "keySplines",
19857 keytimes: "keyTimes",
19858 lengthadjust: "lengthAdjust",
19859 letterspacing: "letterSpacing",
19860 "letter-spacing": "letterSpacing",
19861 lightingcolor: "lightingColor",
19862 "lighting-color": "lightingColor",
19863 limitingconeangle: "limitingConeAngle",
19864 local: "local",
19865 markerend: "markerEnd",
19866 "marker-end": "markerEnd",
19867 markerheight: "markerHeight",
19868 markermid: "markerMid",
19869 "marker-mid": "markerMid",
19870 markerstart: "markerStart",
19871 "marker-start": "markerStart",
19872 markerunits: "markerUnits",
19873 markerwidth: "markerWidth",
19874 mask: "mask",
19875 maskcontentunits: "maskContentUnits",
19876 masktype: "maskType",
19877 maskunits: "maskUnits",
19878 mathematical: "mathematical",
19879 mode: "mode",
19880 numoctaves: "numOctaves",
19881 offset: "offset",
19882 opacity: "opacity",
19883 operator: "operator",
19884 order: "order",
19885 orient: "orient",
19886 orientation: "orientation",
19887 origin: "origin",
19888 overflow: "overflow",
19889 overlineposition: "overlinePosition",
19890 "overline-position": "overlinePosition",
19891 overlinethickness: "overlineThickness",
19892 "overline-thickness": "overlineThickness",
19893 paintorder: "paintOrder",
19894 "paint-order": "paintOrder",
19895 panose1: "panose1",
19896 "panose-1": "panose1",
19897 pathlength: "pathLength",
19898 patterncontentunits: "patternContentUnits",
19899 patterntransform: "patternTransform",
19900 patternunits: "patternUnits",
19901 pointerevents: "pointerEvents",
19902 "pointer-events": "pointerEvents",
19903 points: "points",
19904 pointsatx: "pointsAtX",
19905 pointsaty: "pointsAtY",
19906 pointsatz: "pointsAtZ",
19907 popover: "popover",
19908 popovertarget: "popoverTarget",
19909 popovertargetaction: "popoverTargetAction",
19910 prefix: "prefix",
19911 preservealpha: "preserveAlpha",
19912 preserveaspectratio: "preserveAspectRatio",
19913 primitiveunits: "primitiveUnits",
19914 property: "property",
19915 r: "r",
19916 radius: "radius",
19917 refx: "refX",
19918 refy: "refY",
19919 renderingintent: "renderingIntent",
19920 "rendering-intent": "renderingIntent",
19921 repeatcount: "repeatCount",
19922 repeatdur: "repeatDur",
19923 requiredextensions: "requiredExtensions",
19924 requiredfeatures: "requiredFeatures",
19925 resource: "resource",
19926 restart: "restart",
19927 result: "result",
19928 results: "results",
19929 rotate: "rotate",
19930 rx: "rx",
19931 ry: "ry",
19932 scale: "scale",
19933 security: "security",
19934 seed: "seed",
19935 shaperendering: "shapeRendering",
19936 "shape-rendering": "shapeRendering",
19937 slope: "slope",
19938 spacing: "spacing",
19939 specularconstant: "specularConstant",
19940 specularexponent: "specularExponent",
19941 speed: "speed",
19942 spreadmethod: "spreadMethod",
19943 startoffset: "startOffset",
19944 stddeviation: "stdDeviation",
19945 stemh: "stemh",
19946 stemv: "stemv",
19947 stitchtiles: "stitchTiles",
19948 stopcolor: "stopColor",
19949 "stop-color": "stopColor",
19950 stopopacity: "stopOpacity",
19951 "stop-opacity": "stopOpacity",
19952 strikethroughposition: "strikethroughPosition",
19953 "strikethrough-position": "strikethroughPosition",
19954 strikethroughthickness: "strikethroughThickness",
19955 "strikethrough-thickness": "strikethroughThickness",
19956 string: "string",
19957 stroke: "stroke",
19958 strokedasharray: "strokeDasharray",
19959 "stroke-dasharray": "strokeDasharray",
19960 strokedashoffset: "strokeDashoffset",
19961 "stroke-dashoffset": "strokeDashoffset",
19962 strokelinecap: "strokeLinecap",
19963 "stroke-linecap": "strokeLinecap",
19964 strokelinejoin: "strokeLinejoin",
19965 "stroke-linejoin": "strokeLinejoin",
19966 strokemiterlimit: "strokeMiterlimit",
19967 "stroke-miterlimit": "strokeMiterlimit",
19968 strokewidth: "strokeWidth",
19969 "stroke-width": "strokeWidth",
19970 strokeopacity: "strokeOpacity",
19971 "stroke-opacity": "strokeOpacity",
19972 suppresscontenteditablewarning: "suppressContentEditableWarning",
19973 suppresshydrationwarning: "suppressHydrationWarning",
19974 surfacescale: "surfaceScale",
19975 systemlanguage: "systemLanguage",
19976 tablevalues: "tableValues",
19977 targetx: "targetX",
19978 targety: "targetY",
19979 textanchor: "textAnchor",
19980 "text-anchor": "textAnchor",
19981 textdecoration: "textDecoration",
19982 "text-decoration": "textDecoration",
19983 textlength: "textLength",
19984 textrendering: "textRendering",
19985 "text-rendering": "textRendering",
19986 to: "to",
19987 transform: "transform",
19988 transformorigin: "transformOrigin",
19989 "transform-origin": "transformOrigin",
19990 typeof: "typeof",
19991 u1: "u1",
19992 u2: "u2",
19993 underlineposition: "underlinePosition",
19994 "underline-position": "underlinePosition",
19995 underlinethickness: "underlineThickness",
19996 "underline-thickness": "underlineThickness",
19997 unicode: "unicode",
19998 unicodebidi: "unicodeBidi",
19999 "unicode-bidi": "unicodeBidi",
20000 unicoderange: "unicodeRange",
20001 "unicode-range": "unicodeRange",
20002 unitsperem: "unitsPerEm",
20003 "units-per-em": "unitsPerEm",
20004 unselectable: "unselectable",
20005 valphabetic: "vAlphabetic",
20006 "v-alphabetic": "vAlphabetic",
20007 values: "values",
20008 vectoreffect: "vectorEffect",
20009 "vector-effect": "vectorEffect",
20010 version: "version",
20011 vertadvy: "vertAdvY",
20012 "vert-adv-y": "vertAdvY",
20013 vertoriginx: "vertOriginX",
20014 "vert-origin-x": "vertOriginX",
20015 vertoriginy: "vertOriginY",
20016 "vert-origin-y": "vertOriginY",
20017 vhanging: "vHanging",
20018 "v-hanging": "vHanging",
20019 videographic: "vIdeographic",
20020 "v-ideographic": "vIdeographic",
20021 viewbox: "viewBox",
20022 viewtarget: "viewTarget",
20023 visibility: "visibility",
20024 vmathematical: "vMathematical",
20025 "v-mathematical": "vMathematical",
20026 vocab: "vocab",
20027 widths: "widths",
20028 wordspacing: "wordSpacing",
20029 "word-spacing": "wordSpacing",
20030 writingmode: "writingMode",
20031 "writing-mode": "writingMode",
20032 x1: "x1",
20033 x2: "x2",
20034 x: "x",
20035 xchannelselector: "xChannelSelector",
20036 xheight: "xHeight",
20037 "x-height": "xHeight",
20038 xlinkactuate: "xlinkActuate",
20039 "xlink:actuate": "xlinkActuate",
20040 xlinkarcrole: "xlinkArcrole",
20041 "xlink:arcrole": "xlinkArcrole",
20042 xlinkhref: "xlinkHref",
20043 "xlink:href": "xlinkHref",
20044 xlinkrole: "xlinkRole",
20045 "xlink:role": "xlinkRole",
20046 xlinkshow: "xlinkShow",
20047 "xlink:show": "xlinkShow",
20048 xlinktitle: "xlinkTitle",
20049 "xlink:title": "xlinkTitle",
20050 xlinktype: "xlinkType",
20051 "xlink:type": "xlinkType",
20052 xmlbase: "xmlBase",
20053 "xml:base": "xmlBase",
20054 xmllang: "xmlLang",
20055 "xml:lang": "xmlLang",
20056 xmlns: "xmlns",
20057 "xml:space": "xmlSpace",
20058 xmlnsxlink: "xmlnsXlink",
20059 "xmlns:xlink": "xmlnsXlink",
20060 xmlspace: "xmlSpace",
20061 y1: "y1",
20062 y2: "y2",
20063 y: "y",
20064 ychannelselector: "yChannelSelector",
20065 z: "z",
20066 zoomandpan: "zoomAndPan"
20067 }, ariaProperties = {
20068 "aria-current": 0,
20069 "aria-description": 0,
20070 "aria-details": 0,
20071 "aria-disabled": 0,
20072 "aria-hidden": 0,
20073 "aria-invalid": 0,
20074 "aria-keyshortcuts": 0,
20075 "aria-label": 0,
20076 "aria-roledescription": 0,
20077 "aria-autocomplete": 0,
20078 "aria-checked": 0,
20079 "aria-expanded": 0,
20080 "aria-haspopup": 0,
20081 "aria-level": 0,
20082 "aria-modal": 0,
20083 "aria-multiline": 0,
20084 "aria-multiselectable": 0,
20085 "aria-orientation": 0,
20086 "aria-placeholder": 0,
20087 "aria-pressed": 0,
20088 "aria-readonly": 0,
20089 "aria-required": 0,
20090 "aria-selected": 0,
20091 "aria-sort": 0,
20092 "aria-valuemax": 0,
20093 "aria-valuemin": 0,
20094 "aria-valuenow": 0,
20095 "aria-valuetext": 0,
20096 "aria-atomic": 0,
20097 "aria-busy": 0,
20098 "aria-live": 0,
20099 "aria-relevant": 0,
20100 "aria-dropeffect": 0,
20101 "aria-grabbed": 0,
20102 "aria-activedescendant": 0,
20103 "aria-colcount": 0,
20104 "aria-colindex": 0,
20105 "aria-colspan": 0,
20106 "aria-controls": 0,
20107 "aria-describedby": 0,
20108 "aria-errormessage": 0,
20109 "aria-flowto": 0,
20110 "aria-labelledby": 0,
20111 "aria-owns": 0,
20112 "aria-posinset": 0,
20113 "aria-rowcount": 0,
20114 "aria-rowindex": 0,
20115 "aria-rowspan": 0,
20116 "aria-setsize": 0,
20117 "aria-braillelabel": 0,
20118 "aria-brailleroledescription": 0,
20119 "aria-colindextext": 0,
20120 "aria-rowindextext": 0
20121 }, warnedProperties$1 = {}, rARIA$1 = RegExp(
20122 "^(aria)-[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"
20123 ), rARIACamel$1 = RegExp(
20124 "^(aria)[A-Z][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"
20125 ), didWarnValueNull = false, warnedProperties = {}, EVENT_NAME_REGEX = /^on./, INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/, rARIA = RegExp(
20126 "^(aria)-[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"
20127 ), rARIACamel = RegExp(
20128 "^(aria)[A-Z][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"
20129 ), isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i, currentReplayingEvent = null, restoreTarget = null, restoreQueue = null, isInsideEventHandler = false, canUseDOM = !("undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement), passiveBrowserEventsSupported = false;
20130 if (canUseDOM)
20131 try {
20132 var options$jscomp$0 = {};
20133 Object.defineProperty(options$jscomp$0, "passive", {
20134 get: function() {
20135 passiveBrowserEventsSupported = true;
20136 }
20137 });
20138 window.addEventListener("test", options$jscomp$0, options$jscomp$0);
20139 window.removeEventListener("test", options$jscomp$0, options$jscomp$0);
20140 } catch (e) {
20141 passiveBrowserEventsSupported = false;
20142 }
20143 var root = null, startText = null, fallbackText = null, EventInterface = {
20144 eventPhase: 0,
20145 bubbles: 0,
20146 cancelable: 0,
20147 timeStamp: function(event) {
20148 return event.timeStamp || Date.now();
20149 },
20150 defaultPrevented: 0,
20151 isTrusted: 0
20152 }, SyntheticEvent = createSyntheticEvent(EventInterface), UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }), SyntheticUIEvent = createSyntheticEvent(UIEventInterface), lastMovementX, lastMovementY, lastMouseEvent, MouseEventInterface = assign({}, UIEventInterface, {
20153 screenX: 0,
20154 screenY: 0,
20155 clientX: 0,
20156 clientY: 0,
20157 pageX: 0,
20158 pageY: 0,
20159 ctrlKey: 0,
20160 shiftKey: 0,
20161 altKey: 0,
20162 metaKey: 0,
20163 getModifierState: getEventModifierState,
20164 button: 0,
20165 buttons: 0,
20166 relatedTarget: function(event) {
20167 return void 0 === event.relatedTarget ? event.fromElement === event.srcElement ? event.toElement : event.fromElement : event.relatedTarget;
20168 },
20169 movementX: function(event) {
20170 if ("movementX" in event) return event.movementX;
20171 event !== lastMouseEvent && (lastMouseEvent && "mousemove" === event.type ? (lastMovementX = event.screenX - lastMouseEvent.screenX, lastMovementY = event.screenY - lastMouseEvent.screenY) : lastMovementY = lastMovementX = 0, lastMouseEvent = event);
20172 return lastMovementX;
20173 },
20174 movementY: function(event) {
20175 return "movementY" in event ? event.movementY : lastMovementY;
20176 }
20177 }), SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface), DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }), SyntheticDragEvent = createSyntheticEvent(DragEventInterface), FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }), SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface), AnimationEventInterface = assign({}, EventInterface, {
20178 animationName: 0,
20179 elapsedTime: 0,
20180 pseudoElement: 0
20181 }), SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface), ClipboardEventInterface = assign({}, EventInterface, {
20182 clipboardData: function(event) {
20183 return "clipboardData" in event ? event.clipboardData : window.clipboardData;
20184 }
20185 }), SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface), CompositionEventInterface = assign({}, EventInterface, { data: 0 }), SyntheticCompositionEvent = createSyntheticEvent(
20186 CompositionEventInterface
20187 ), SyntheticInputEvent = SyntheticCompositionEvent, normalizeKey = {
20188 Esc: "Escape",
20189 Spacebar: " ",
20190 Left: "ArrowLeft",
20191 Up: "ArrowUp",
20192 Right: "ArrowRight",
20193 Down: "ArrowDown",
20194 Del: "Delete",
20195 Win: "OS",
20196 Menu: "ContextMenu",
20197 Apps: "ContextMenu",
20198 Scroll: "ScrollLock",
20199 MozPrintableKey: "Unidentified"
20200 }, translateToKey = {
20201 8: "Backspace",
20202 9: "Tab",
20203 12: "Clear",
20204 13: "Enter",
20205 16: "Shift",
20206 17: "Control",
20207 18: "Alt",
20208 19: "Pause",
20209 20: "CapsLock",
20210 27: "Escape",
20211 32: " ",
20212 33: "PageUp",
20213 34: "PageDown",
20214 35: "End",
20215 36: "Home",
20216 37: "ArrowLeft",
20217 38: "ArrowUp",
20218 39: "ArrowRight",
20219 40: "ArrowDown",
20220 45: "Insert",
20221 46: "Delete",
20222 112: "F1",
20223 113: "F2",
20224 114: "F3",
20225 115: "F4",
20226 116: "F5",
20227 117: "F6",
20228 118: "F7",
20229 119: "F8",
20230 120: "F9",
20231 121: "F10",
20232 122: "F11",
20233 123: "F12",
20234 144: "NumLock",
20235 145: "ScrollLock",
20236 224: "Meta"
20237 }, modifierKeyToProp = {
20238 Alt: "altKey",
20239 Control: "ctrlKey",
20240 Meta: "metaKey",
20241 Shift: "shiftKey"
20242 }, KeyboardEventInterface = assign({}, UIEventInterface, {
20243 key: function(nativeEvent) {
20244 if (nativeEvent.key) {
20245 var key = normalizeKey[nativeEvent.key] || nativeEvent.key;
20246 if ("Unidentified" !== key) return key;
20247 }
20248 return "keypress" === nativeEvent.type ? (nativeEvent = getEventCharCode(nativeEvent), 13 === nativeEvent ? "Enter" : String.fromCharCode(nativeEvent)) : "keydown" === nativeEvent.type || "keyup" === nativeEvent.type ? translateToKey[nativeEvent.keyCode] || "Unidentified" : "";
20249 },
20250 code: 0,
20251 location: 0,
20252 ctrlKey: 0,
20253 shiftKey: 0,
20254 altKey: 0,
20255 metaKey: 0,
20256 repeat: 0,
20257 locale: 0,
20258 getModifierState: getEventModifierState,
20259 charCode: function(event) {
20260 return "keypress" === event.type ? getEventCharCode(event) : 0;
20261 },
20262 keyCode: function(event) {
20263 return "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0;
20264 },
20265 which: function(event) {
20266 return "keypress" === event.type ? getEventCharCode(event) : "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0;
20267 }
20268 }), SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface), PointerEventInterface = assign({}, MouseEventInterface, {
20269 pointerId: 0,
20270 width: 0,
20271 height: 0,
20272 pressure: 0,
20273 tangentialPressure: 0,
20274 tiltX: 0,
20275 tiltY: 0,
20276 twist: 0,
20277 pointerType: 0,
20278 isPrimary: 0
20279 }), SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface), SubmitEventInterface = assign({}, EventInterface, { submitter: 0 }), SyntheticSubmitEvent = createSyntheticEvent(SubmitEventInterface), TouchEventInterface = assign({}, UIEventInterface, {
20280 touches: 0,
20281 targetTouches: 0,
20282 changedTouches: 0,
20283 altKey: 0,
20284 metaKey: 0,
20285 ctrlKey: 0,
20286 shiftKey: 0,
20287 getModifierState: getEventModifierState
20288 }), SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface), TransitionEventInterface = assign({}, EventInterface, {
20289 propertyName: 0,
20290 elapsedTime: 0,
20291 pseudoElement: 0
20292 }), SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface), WheelEventInterface = assign({}, MouseEventInterface, {
20293 deltaX: function(event) {
20294 return "deltaX" in event ? event.deltaX : "wheelDeltaX" in event ? -event.wheelDeltaX : 0;
20295 },
20296 deltaY: function(event) {
20297 return "deltaY" in event ? event.deltaY : "wheelDeltaY" in event ? -event.wheelDeltaY : "wheelDelta" in event ? -event.wheelDelta : 0;
20298 },
20299 deltaZ: 0,
20300 deltaMode: 0
20301 }), SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface), ToggleEventInterface = assign({}, EventInterface, {
20302 newState: 0,
20303 oldState: 0,
20304 source: 0
20305 }), SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface), END_KEYCODES = [9, 13, 27, 32], START_KEYCODE = 229, canUseCompositionEvent = canUseDOM && "CompositionEvent" in window, documentMode = null;
20306 canUseDOM && "documentMode" in document && (documentMode = document.documentMode);
20307 var canUseTextInputEvent = canUseDOM && "TextEvent" in window && !documentMode, useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && 8 < documentMode && 11 >= documentMode), SPACEBAR_CODE = 32, SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE), hasSpaceKeypress = false, isComposing = false, supportedInputTypes = {
20308 color: true,
20309 date: true,
20310 datetime: true,
20311 "datetime-local": true,
20312 email: true,
20313 month: true,
20314 number: true,
20315 password: true,
20316 range: true,
20317 search: true,
20318 tel: true,
20319 text: true,
20320 time: true,
20321 url: true,
20322 week: true
20323 }, activeElement$1 = null, activeElementInst$1 = null, isInputEventSupported = false;
20324 canUseDOM && (isInputEventSupported = isEventSupported("input") && (!document.documentMode || 9 < document.documentMode));
20325 var objectIs = "function" === typeof Object.is ? Object.is : is, skipSelectionChangeEvent = canUseDOM && "documentMode" in document && 11 >= document.documentMode, activeElement = null, activeElementInst = null, lastSelection = null, mouseDown = false, vendorPrefixes = {
20326 animationend: makePrefixMap("Animation", "AnimationEnd"),
20327 animationiteration: makePrefixMap("Animation", "AnimationIteration"),
20328 animationstart: makePrefixMap("Animation", "AnimationStart"),
20329 transitionrun: makePrefixMap("Transition", "TransitionRun"),
20330 transitionstart: makePrefixMap("Transition", "TransitionStart"),
20331 transitioncancel: makePrefixMap("Transition", "TransitionCancel"),
20332 transitionend: makePrefixMap("Transition", "TransitionEnd")
20333 }, prefixedEventNames = {}, style = {};
20334 canUseDOM && (style = document.createElement("div").style, "AnimationEvent" in window || (delete vendorPrefixes.animationend.animation, delete vendorPrefixes.animationiteration.animation, delete vendorPrefixes.animationstart.animation), "TransitionEvent" in window || delete vendorPrefixes.transitionend.transition);
20335 var ANIMATION_END = getVendorPrefixedEventName("animationend"), ANIMATION_ITERATION = getVendorPrefixedEventName("animationiteration"), ANIMATION_START = getVendorPrefixedEventName("animationstart"), TRANSITION_RUN = getVendorPrefixedEventName("transitionrun"), TRANSITION_START = getVendorPrefixedEventName("transitionstart"), TRANSITION_CANCEL = getVendorPrefixedEventName("transitioncancel"), TRANSITION_END = getVendorPrefixedEventName("transitionend"), topLevelEventsToReactNames = /* @__PURE__ */ new Map(), simpleEventPluginEvents = "abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error fullscreenChange fullscreenError gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(
20336 " "
20337 );
20338 simpleEventPluginEvents.push("scrollEnd");
20339 var globalClientIdCounter$1 = 0, lastResetTime = 0;
20340 if ("object" === typeof performance && "function" === typeof performance.now) {
20341 var localPerformance = performance;
20342 var getCurrentTime = function() {
20343 return localPerformance.now();
20344 };
20345 } else {
20346 var localDate = Date;
20347 getCurrentTime = function() {
20348 return localDate.now();
20349 };
20350 }
20351 var reportGlobalError = "function" === typeof reportError ? reportError : function(error) {
20352 if ("object" === typeof window && "function" === typeof window.ErrorEvent) {
20353 var event = new window.ErrorEvent("error", {
20354 bubbles: true,
20355 cancelable: true,
20356 message: "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error),
20357 error
20358 });
20359 if (!window.dispatchEvent(event)) return;
20360 } else if ("object" === typeof process && "function" === typeof process.emit) {
20361 process.emit("uncaughtException", error);
20362 return;
20363 }
20364 console.error(error);
20365 }, OMITTED_PROP_ERROR = "This object has been omitted by React in the console log to avoid sending too much data from the server. Try logging smaller or more specific objects.", EMPTY_ARRAY = 0, COMPLEX_ARRAY = 1, PRIMITIVE_ARRAY = 2, ENTRIES_ARRAY = 3, OBJECT_WIDTH_LIMIT = 100, REMOVED = "-\xA0", ADDED = "+\xA0", UNCHANGED = "\u2007\xA0", supportsUserTiming = "undefined" !== typeof console && "function" === typeof console.timeStamp && "undefined" !== typeof performance && "function" === typeof performance.measure, COMPONENTS_TRACK = "Components \u269B", LANES_TRACK_GROUP = "Scheduler \u269B", currentTrack = "Blocking", alreadyWarnedForDeepEquality = false, reusableComponentDevToolDetails = {
20366 color: "primary",
20367 properties: null,
20368 tooltipText: "",
20369 track: COMPONENTS_TRACK
20370 }, reusableComponentOptions = {
20371 start: -0,
20372 end: -0,
20373 detail: { devtools: reusableComponentDevToolDetails }
20374 }, reusableChangedPropsEntry = ["Changed Props", ""], DEEP_EQUALITY_WARNING = "This component received deeply equal props. It might benefit from useMemo or the React Compiler in its owner.", reusableDeeplyEqualPropsEntry = ["Changed Props", DEEP_EQUALITY_WARNING], OffscreenVisible = 1, OffscreenPassiveEffectsConnected = 2, concurrentQueues = [], concurrentQueuesIndex = 0, concurrentlyUpdatedLanes = 0, emptyContextObject = {};
20375 Object.freeze(emptyContextObject);
20376 var resolveFamily = null, failedBoundaries = null, NoMode = 0, ConcurrentMode = 1, ProfileMode = 2, StrictLegacyMode = 8, StrictEffectsMode = 16, SuspenseyImagesMode = 32;
20377 var hasBadMapPolyfill = false;
20378 try {
20379 var nonExtensibleObject = Object.preventExtensions({});
20380 /* @__PURE__ */ new Map([[nonExtensibleObject, null]]);
20381 /* @__PURE__ */ new Set([nonExtensibleObject]);
20382 } catch (e$4) {
20383 hasBadMapPolyfill = true;
20384 }
20385 var CapturedStacks = /* @__PURE__ */ new WeakMap(), forkStack = [], forkStackIndex = 0, treeForkProvider = null, treeForkCount = 0, idStack = [], idStackIndex = 0, treeContextProvider = null, treeContextId = 1, treeContextOverflow = "", hydrationParentFiber = null, nextHydratableInstance = null, isHydrating = false, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, hydrationErrors = null, rootOrSingletonContext = false, HydrationMismatchException = Error(
20386 "Hydration Mismatch Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React."
20387 ), valueCursor = createCursor(null);
20388 var rendererCursorDEV = createCursor(null);
20389 var rendererSigil = {};
20390 var currentlyRenderingFiber$1 = null, lastContextDependency = null, isDisallowedContextReadInDEV = false, AbortControllerLocal = "undefined" !== typeof AbortController ? AbortController : function() {
20391 var listeners = [], signal = this.signal = {
20392 aborted: false,
20393 addEventListener: function(type, listener) {
20394 listeners.push(listener);
20395 }
20396 };
20397 this.abort = function() {
20398 signal.aborted = true;
20399 listeners.forEach(function(listener) {
20400 return listener();
20401 });
20402 };
20403 }, scheduleCallback$2 = Scheduler.unstable_scheduleCallback, NormalPriority = Scheduler.unstable_NormalPriority, CacheContext = {
20404 $$typeof: REACT_CONTEXT_TYPE,
20405 Consumer: null,
20406 Provider: null,
20407 _currentValue: null,
20408 _currentValue2: null,
20409 _threadCount: 0,
20410 _currentRenderer: null,
20411 _currentRenderer2: null
20412 }, entangledTransitionTypes = null, now = Scheduler.unstable_now, createTask = console.createTask ? console.createTask : function() {
20413 return null;
20414 }, SPAWNED_UPDATE = 1, PINGED_UPDATE = 2, renderStartTime = -0, commitStartTime = -0, commitEndTime = -0, commitErrors = null, profilerStartTime = -1.1, profilerEffectDuration = -0, componentEffectDuration = -0, componentEffectStartTime = -1.1, componentEffectEndTime = -1.1, componentEffectErrors = null, componentEffectSpawnedUpdate = false, blockingClampTime = -0, blockingUpdateTime = -1.1, blockingUpdateTask = null, blockingUpdateType = 0, blockingUpdateMethodName = null, blockingUpdateComponentName = null, blockingEventTime = -1.1, blockingEventType = null, blockingEventRepeatTime = -1.1, blockingSuspendedTime = -1.1, transitionClampTime = -0, transitionStartTime = -1.1, transitionUpdateTime = -1.1, transitionUpdateType = 0, transitionUpdateTask = null, transitionUpdateMethodName = null, transitionUpdateComponentName = null, transitionEventTime = -1.1, transitionEventType = null, transitionEventRepeatTime = -1.1, transitionSuspendedTime = -1.1, retryClampTime = -0, idleClampTime = -0, animatingLanes = 0, animatingTask = null, yieldReason = 0, yieldStartTime = -1.1, currentUpdateIsNested = false, nestedUpdateScheduled = false, currentEntangledListeners = null, currentEntangledPendingCount = 0, currentEntangledLane = 0, currentEntangledActionThenable = null, prevOnStartTransitionFinish = ReactSharedInternals.S;
20415 ReactSharedInternals.S = function(transition, returnValue) {
20416 globalMostRecentTransitionTime = now$1();
20417 if ("object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then) {
20418 if (0 > transitionStartTime && 0 > transitionUpdateTime) {
20419 transitionStartTime = now();
20420 var newEventTime = resolveEventTimeStamp(), newEventType = resolveEventType();
20421 if (newEventTime !== transitionEventRepeatTime || newEventType !== transitionEventType)
20422 transitionEventRepeatTime = -1.1;
20423 transitionEventTime = newEventTime;
20424 transitionEventType = newEventType;
20425 }
20426 entangleAsyncAction(transition, returnValue);
20427 }
20428 if (null !== entangledTransitionTypes)
20429 for (newEventTime = firstScheduledRoot; null !== newEventTime; )
20430 queueTransitionTypes(newEventTime, entangledTransitionTypes), newEventTime = newEventTime.next;
20431 newEventTime = transition.types;
20432 if (null !== newEventTime) {
20433 for (newEventType = firstScheduledRoot; null !== newEventType; )
20434 queueTransitionTypes(newEventType, newEventTime), newEventType = newEventType.next;
20435 if (0 !== currentEntangledLane) {
20436 newEventType = entangledTransitionTypes;
20437 null === newEventType && (newEventType = entangledTransitionTypes = []);
20438 for (var i = 0; i < newEventTime.length; i++) {
20439 var transitionType = newEventTime[i];
20440 -1 === newEventType.indexOf(transitionType) && newEventType.push(transitionType);
20441 }
20442 }
20443 }
20444 null !== prevOnStartTransitionFinish && prevOnStartTransitionFinish(transition, returnValue);
20445 };
20446 var resumedCache = createCursor(null), ReactStrictModeWarnings = {
20447 recordUnsafeLifecycleWarnings: function() {
20448 },
20449 flushPendingUnsafeLifecycleWarnings: function() {
20450 },
20451 recordLegacyContextWarning: function() {
20452 },
20453 flushLegacyContextWarning: function() {
20454 },
20455 discardPendingWarnings: function() {
20456 }
20457 }, pendingComponentWillMountWarnings = [], pendingUNSAFE_ComponentWillMountWarnings = [], pendingComponentWillReceivePropsWarnings = [], pendingUNSAFE_ComponentWillReceivePropsWarnings = [], pendingComponentWillUpdateWarnings = [], pendingUNSAFE_ComponentWillUpdateWarnings = [], didWarnAboutUnsafeLifecycles = /* @__PURE__ */ new Set();
20458 ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function(fiber, instance) {
20459 didWarnAboutUnsafeLifecycles.has(fiber.type) || ("function" === typeof instance.componentWillMount && true !== instance.componentWillMount.__suppressDeprecationWarning && pendingComponentWillMountWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillMount && pendingUNSAFE_ComponentWillMountWarnings.push(fiber), "function" === typeof instance.componentWillReceiveProps && true !== instance.componentWillReceiveProps.__suppressDeprecationWarning && pendingComponentWillReceivePropsWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillReceiveProps && pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber), "function" === typeof instance.componentWillUpdate && true !== instance.componentWillUpdate.__suppressDeprecationWarning && pendingComponentWillUpdateWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillUpdate && pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber));
20460 };
20461 ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function() {
20462 var componentWillMountUniqueNames = /* @__PURE__ */ new Set();
20463 0 < pendingComponentWillMountWarnings.length && (pendingComponentWillMountWarnings.forEach(function(fiber) {
20464 componentWillMountUniqueNames.add(
20465 getComponentNameFromFiber(fiber) || "Component"
20466 );
20467 didWarnAboutUnsafeLifecycles.add(fiber.type);
20468 }), pendingComponentWillMountWarnings = []);
20469 var UNSAFE_componentWillMountUniqueNames = /* @__PURE__ */ new Set();
20470 0 < pendingUNSAFE_ComponentWillMountWarnings.length && (pendingUNSAFE_ComponentWillMountWarnings.forEach(function(fiber) {
20471 UNSAFE_componentWillMountUniqueNames.add(
20472 getComponentNameFromFiber(fiber) || "Component"
20473 );
20474 didWarnAboutUnsafeLifecycles.add(fiber.type);
20475 }), pendingUNSAFE_ComponentWillMountWarnings = []);
20476 var componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set();
20477 0 < pendingComponentWillReceivePropsWarnings.length && (pendingComponentWillReceivePropsWarnings.forEach(function(fiber) {
20478 componentWillReceivePropsUniqueNames.add(
20479 getComponentNameFromFiber(fiber) || "Component"
20480 );
20481 didWarnAboutUnsafeLifecycles.add(fiber.type);
20482 }), pendingComponentWillReceivePropsWarnings = []);
20483 var UNSAFE_componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set();
20484 0 < pendingUNSAFE_ComponentWillReceivePropsWarnings.length && (pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(
20485 function(fiber) {
20486 UNSAFE_componentWillReceivePropsUniqueNames.add(
20487 getComponentNameFromFiber(fiber) || "Component"
20488 );
20489 didWarnAboutUnsafeLifecycles.add(fiber.type);
20490 }
20491 ), pendingUNSAFE_ComponentWillReceivePropsWarnings = []);
20492 var componentWillUpdateUniqueNames = /* @__PURE__ */ new Set();
20493 0 < pendingComponentWillUpdateWarnings.length && (pendingComponentWillUpdateWarnings.forEach(function(fiber) {
20494 componentWillUpdateUniqueNames.add(
20495 getComponentNameFromFiber(fiber) || "Component"
20496 );
20497 didWarnAboutUnsafeLifecycles.add(fiber.type);
20498 }), pendingComponentWillUpdateWarnings = []);
20499 var UNSAFE_componentWillUpdateUniqueNames = /* @__PURE__ */ new Set();
20500 0 < pendingUNSAFE_ComponentWillUpdateWarnings.length && (pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function(fiber) {
20501 UNSAFE_componentWillUpdateUniqueNames.add(
20502 getComponentNameFromFiber(fiber) || "Component"
20503 );
20504 didWarnAboutUnsafeLifecycles.add(fiber.type);
20505 }), pendingUNSAFE_ComponentWillUpdateWarnings = []);
20506 if (0 < UNSAFE_componentWillMountUniqueNames.size) {
20507 var sortedNames = setToSortedString(
20508 UNSAFE_componentWillMountUniqueNames
20509 );
20510 console.error(
20511 "Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n\nPlease update the following components: %s",
20512 sortedNames
20513 );
20514 }
20515 0 < UNSAFE_componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString(
20516 UNSAFE_componentWillReceivePropsUniqueNames
20517 ), console.error(
20518 "Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\n\nPlease update the following components: %s",
20519 sortedNames
20520 ));
20521 0 < UNSAFE_componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString(
20522 UNSAFE_componentWillUpdateUniqueNames
20523 ), console.error(
20524 "Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n\nPlease update the following components: %s",
20525 sortedNames
20526 ));
20527 0 < componentWillMountUniqueNames.size && (sortedNames = setToSortedString(componentWillMountUniqueNames), console.warn(
20528 "componentWillMount has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s",
20529 sortedNames
20530 ));
20531 0 < componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString(
20532 componentWillReceivePropsUniqueNames
20533 ), console.warn(
20534 "componentWillReceiveProps has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\n* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s",
20535 sortedNames
20536 ));
20537 0 < componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString(componentWillUpdateUniqueNames), console.warn(
20538 "componentWillUpdate has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s",
20539 sortedNames
20540 ));
20541 };
20542 var pendingLegacyContextWarning = /* @__PURE__ */ new Map(), didWarnAboutLegacyContext = /* @__PURE__ */ new Set();
20543 ReactStrictModeWarnings.recordLegacyContextWarning = function(fiber, instance) {
20544 var strictRoot = null;
20545 for (var node = fiber; null !== node; )
20546 node.mode & StrictLegacyMode && (strictRoot = node), node = node.return;
20547 null === strictRoot ? console.error(
20548 "Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue."
20549 ) : !didWarnAboutLegacyContext.has(fiber.type) && (node = pendingLegacyContextWarning.get(strictRoot), null != fiber.type.contextTypes || null != fiber.type.childContextTypes || null !== instance && "function" === typeof instance.getChildContext) && (void 0 === node && (node = [], pendingLegacyContextWarning.set(strictRoot, node)), node.push(fiber));
20550 };
20551 ReactStrictModeWarnings.flushLegacyContextWarning = function() {
20552 pendingLegacyContextWarning.forEach(function(fiberArray) {
20553 if (0 !== fiberArray.length) {
20554 var firstFiber = fiberArray[0], uniqueNames = /* @__PURE__ */ new Set();
20555 fiberArray.forEach(function(fiber) {
20556 uniqueNames.add(getComponentNameFromFiber(fiber) || "Component");
20557 didWarnAboutLegacyContext.add(fiber.type);
20558 });
20559 var sortedNames = setToSortedString(uniqueNames);
20560 runWithFiberInDEV(firstFiber, function() {
20561 console.error(
20562 "Legacy context API has been detected within a strict-mode tree.\n\nThe old API will be supported in all 16.x releases, but applications using it should migrate to the new version.\n\nPlease update the following components: %s\n\nLearn more about this warning here: https://react.dev/link/legacy-context",
20563 sortedNames
20564 );
20565 });
20566 }
20567 });
20568 };
20569 ReactStrictModeWarnings.discardPendingWarnings = function() {
20570 pendingComponentWillMountWarnings = [];
20571 pendingUNSAFE_ComponentWillMountWarnings = [];
20572 pendingComponentWillReceivePropsWarnings = [];
20573 pendingUNSAFE_ComponentWillReceivePropsWarnings = [];
20574 pendingComponentWillUpdateWarnings = [];
20575 pendingUNSAFE_ComponentWillUpdateWarnings = [];
20576 pendingLegacyContextWarning = /* @__PURE__ */ new Map();
20577 };
20578 var REACT_RECOVERABLE_DIGEST = "", callComponent = {
20579 react_stack_bottom_frame: function(Component, props, secondArg) {
20580 var wasRendering = isRendering;
20581 isRendering = true;
20582 try {
20583 return Component(props, secondArg);
20584 } finally {
20585 isRendering = wasRendering;
20586 }
20587 }
20588 }, callComponentInDEV = callComponent.react_stack_bottom_frame.bind(callComponent), callRender = {
20589 react_stack_bottom_frame: function(instance) {
20590 var wasRendering = isRendering;
20591 isRendering = true;
20592 try {
20593 return instance.render();
20594 } finally {
20595 isRendering = wasRendering;
20596 }
20597 }
20598 }, callRenderInDEV = callRender.react_stack_bottom_frame.bind(callRender), callComponentDidMount = {
20599 react_stack_bottom_frame: function(finishedWork, instance) {
20600 try {
20601 instance.componentDidMount();
20602 } catch (error) {
20603 captureCommitPhaseError(finishedWork, finishedWork.return, error);
20604 }
20605 }
20606 }, callComponentDidMountInDEV = callComponentDidMount.react_stack_bottom_frame.bind(
20607 callComponentDidMount
20608 ), callComponentDidUpdate = {
20609 react_stack_bottom_frame: function(finishedWork, instance, prevProps, prevState, snapshot) {
20610 try {
20611 instance.componentDidUpdate(prevProps, prevState, snapshot);
20612 } catch (error) {
20613 captureCommitPhaseError(finishedWork, finishedWork.return, error);
20614 }
20615 }
20616 }, callComponentDidUpdateInDEV = callComponentDidUpdate.react_stack_bottom_frame.bind(
20617 callComponentDidUpdate
20618 ), callComponentDidCatch = {
20619 react_stack_bottom_frame: function(instance, errorInfo) {
20620 var stack = errorInfo.stack;
20621 instance.componentDidCatch(errorInfo.value, {
20622 componentStack: null !== stack ? stack : ""
20623 });
20624 }
20625 }, callComponentDidCatchInDEV = callComponentDidCatch.react_stack_bottom_frame.bind(
20626 callComponentDidCatch
20627 ), callComponentWillUnmount = {
20628 react_stack_bottom_frame: function(current2, nearestMountedAncestor, instance) {
20629 try {
20630 instance.componentWillUnmount();
20631 } catch (error) {
20632 captureCommitPhaseError(current2, nearestMountedAncestor, error);
20633 }
20634 }
20635 }, callComponentWillUnmountInDEV = callComponentWillUnmount.react_stack_bottom_frame.bind(
20636 callComponentWillUnmount
20637 ), callCreate = {
20638 react_stack_bottom_frame: function(effect) {
20639 var create = effect.create;
20640 effect = effect.inst;
20641 create = create();
20642 return effect.destroy = create;
20643 }
20644 }, callCreateInDEV = callCreate.react_stack_bottom_frame.bind(callCreate), callDestroy = {
20645 react_stack_bottom_frame: function(current2, nearestMountedAncestor, destroy) {
20646 try {
20647 destroy();
20648 } catch (error) {
20649 captureCommitPhaseError(current2, nearestMountedAncestor, error);
20650 }
20651 }
20652 }, callDestroyInDEV = callDestroy.react_stack_bottom_frame.bind(callDestroy), callLazyInit = {
20653 react_stack_bottom_frame: function(lazy) {
20654 var init = lazy._init;
20655 return init(lazy._payload);
20656 }
20657 }, callLazyInitInDEV = callLazyInit.react_stack_bottom_frame.bind(callLazyInit), SuspenseException = Error(
20658 "Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`."
20659 ), SuspenseyCommitException = Error(
20660 "Suspense Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React."
20661 ), SuspenseActionException = Error(
20662 "Suspense Exception: This is not a real error! It's an implementation detail of `useActionState` to interrupt the current render. You must either rethrow it immediately, or move the `useActionState` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary."
20663 ), noopSuspenseyCommitThenable = {
20664 then: function() {
20665 console.error(
20666 'Internal React error: A listener was unexpectedly attached to a "noop" thenable. This is a bug in React. Please file an issue.'
20667 );
20668 }
20669 }, lastSuspendedFiber = null, lastSuspendedStack = null, didIssueUseWarning = false, suspendedThenable = null, needsToResetSuspendedThenableDEV = false, thenableState$1 = null, thenableIndexCounter$1 = 0, currentDebugInfo = null, didWarnAboutMaps;
20670 var didWarnAboutGenerators = didWarnAboutMaps = false;
20671 var ownerHasKeyUseWarning = {};
20672 var ownerHasFunctionTypeWarning = {};
20673 var ownerHasSymbolTypeWarning = {};
20674 warnForMissingKey = function(returnFiber, workInProgress2, child) {
20675 if (null !== child && "object" === typeof child && child._store && (!child._store.validated && null == child.key || 2 === child._store.validated)) {
20676 if ("object" !== typeof child._store)
20677 throw Error(
20678 "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue."
20679 );
20680 child._store.validated = 1;
20681 var componentName2 = getComponentNameFromFiber(returnFiber), componentKey = componentName2 || "null";
20682 if (!ownerHasKeyUseWarning[componentKey]) {
20683 ownerHasKeyUseWarning[componentKey] = true;
20684 child = child._owner;
20685 returnFiber = returnFiber._debugOwner;
20686 var currentComponentErrorInfo = "";
20687 returnFiber && "number" === typeof returnFiber.tag && (componentKey = getComponentNameFromFiber(returnFiber)) && (currentComponentErrorInfo = "\n\nCheck the render method of `" + componentKey + "`.");
20688 currentComponentErrorInfo || componentName2 && (currentComponentErrorInfo = "\n\nCheck the top-level render call using <" + componentName2 + ">.");
20689 var childOwnerAppendix = "";
20690 null != child && returnFiber !== child && (componentName2 = null, "number" === typeof child.tag ? componentName2 = getComponentNameFromFiber(child) : "string" === typeof child.name && (componentName2 = child.name), componentName2 && (childOwnerAppendix = " It was passed a child from " + componentName2 + "."));
20691 runWithFiberInDEV(workInProgress2, function() {
20692 console.error(
20693 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',
20694 currentComponentErrorInfo,
20695 childOwnerAppendix
20696 );
20697 });
20698 }
20699 }
20700 };
20701 var reconcileChildFibers = createChildReconciler(true), mountChildFibers = createChildReconciler(false), UpdateState = 0, ReplaceState = 1, ForceUpdate = 2, CaptureUpdate = 3, hasForceUpdate = false;
20702 var didWarnUpdateInsideUpdate = false;
20703 var currentlyProcessingQueue = null;
20704 var didReadFromEntangledAsyncAction = false, currentTreeHiddenStackCursor = createCursor(null), prevEntangledRenderLanesCursor = createCursor(0), suspenseHandlerStackCursor = createCursor(null), shellBoundary = null, SubtreeSuspenseContextMask = 1, ForceSuspenseFallback = 2, suspenseStackCursor = createCursor(0), NoFlags = 0, HasEffect = 1, Insertion = 2, Layout = 4, Passive = 8, didWarnUncachedGetSnapshot;
20705 var didWarnAboutMismatchedHooksForComponent = /* @__PURE__ */ new Set();
20706 var didWarnAboutUseWrappedInTryCatch = /* @__PURE__ */ new Set();
20707 var didWarnAboutAsyncClientComponent = /* @__PURE__ */ new Set();
20708 var didWarnAboutUseFormState = /* @__PURE__ */ new Set();
20709 var renderLanes = 0, currentlyRenderingFiber = null, currentHook = null, workInProgressHook = null, didScheduleRenderPhaseUpdate = false, didScheduleRenderPhaseUpdateDuringThisPass = false, shouldDoubleInvokeUserFnsInHooksDEV = false, localIdCounter = 0, thenableIndexCounter = 0, thenableState = null, globalClientIdCounter = 0, RE_RENDER_LIMIT = 25, currentHookNameInDev = null, hookTypesDev = null, hookTypesUpdateIndexDev = -1, ignorePreviousDependencies = false, ContextOnlyDispatcher = {
20710 readContext,
20711 use,
20712 useCallback: throwInvalidHookError,
20713 useContext: throwInvalidHookError,
20714 useEffect: throwInvalidHookError,
20715 useImperativeHandle: throwInvalidHookError,
20716 useLayoutEffect: throwInvalidHookError,
20717 useInsertionEffect: throwInvalidHookError,
20718 useMemo: throwInvalidHookError,
20719 useReducer: throwInvalidHookError,
20720 useRef: throwInvalidHookError,
20721 useState: throwInvalidHookError,
20722 useDebugValue: throwInvalidHookError,
20723 useDeferredValue: throwInvalidHookError,
20724 useTransition: throwInvalidHookError,
20725 useSyncExternalStore: throwInvalidHookError,
20726 useId: throwInvalidHookError,
20727 useHostTransitionStatus: throwInvalidHookError,
20728 useFormState: throwInvalidHookError,
20729 useActionState: throwInvalidHookError,
20730 useOptimistic: throwInvalidHookError,
20731 useMemoCache: throwInvalidHookError,
20732 useCacheRefresh: throwInvalidHookError,
20733 useEffectEvent: throwInvalidHookError
20734 }, HooksDispatcherOnMountInDEV = null, HooksDispatcherOnMountWithHookTypesInDEV = null, HooksDispatcherOnUpdateInDEV = null, HooksDispatcherOnRerenderInDEV = null, InvalidNestedHooksDispatcherOnMountInDEV = null, InvalidNestedHooksDispatcherOnUpdateInDEV = null, InvalidNestedHooksDispatcherOnRerenderInDEV = null;
20735 HooksDispatcherOnMountInDEV = {
20736 readContext: function(context) {
20737 return readContext(context);
20738 },
20739 use,
20740 useCallback: function(callback, deps) {
20741 currentHookNameInDev = "useCallback";
20742 mountHookTypesDev();
20743 checkDepsAreArrayDev(deps);
20744 return mountCallback(callback, deps);
20745 },
20746 useContext: function(context) {
20747 currentHookNameInDev = "useContext";
20748 mountHookTypesDev();
20749 return readContext(context);
20750 },
20751 useEffect: function(create, deps) {
20752 currentHookNameInDev = "useEffect";
20753 mountHookTypesDev();
20754 checkDepsAreArrayDev(deps);
20755 return mountEffect(create, deps);
20756 },
20757 useImperativeHandle: function(ref, create, deps) {
20758 currentHookNameInDev = "useImperativeHandle";
20759 mountHookTypesDev();
20760 checkDepsAreArrayDev(deps);
20761 return mountImperativeHandle(ref, create, deps);
20762 },
20763 useInsertionEffect: function(create, deps) {
20764 currentHookNameInDev = "useInsertionEffect";
20765 mountHookTypesDev();
20766 checkDepsAreArrayDev(deps);
20767 mountEffectImpl(4, Insertion, create, deps);
20768 },
20769 useLayoutEffect: function(create, deps) {
20770 currentHookNameInDev = "useLayoutEffect";
20771 mountHookTypesDev();
20772 checkDepsAreArrayDev(deps);
20773 return mountLayoutEffect(create, deps);
20774 },
20775 useMemo: function(create, deps) {
20776 currentHookNameInDev = "useMemo";
20777 mountHookTypesDev();
20778 checkDepsAreArrayDev(deps);
20779 var prevDispatcher = ReactSharedInternals.H;
20780 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
20781 try {
20782 return mountMemo(create, deps);
20783 } finally {
20784 ReactSharedInternals.H = prevDispatcher;
20785 }
20786 },
20787 useReducer: function(reducer, initialArg, init) {
20788 currentHookNameInDev = "useReducer";
20789 mountHookTypesDev();
20790 var prevDispatcher = ReactSharedInternals.H;
20791 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
20792 try {
20793 return mountReducer(reducer, initialArg, init);
20794 } finally {
20795 ReactSharedInternals.H = prevDispatcher;
20796 }
20797 },
20798 useRef: function(initialValue) {
20799 currentHookNameInDev = "useRef";
20800 mountHookTypesDev();
20801 return mountRef(initialValue);
20802 },
20803 useState: function(initialState) {
20804 currentHookNameInDev = "useState";
20805 mountHookTypesDev();
20806 var prevDispatcher = ReactSharedInternals.H;
20807 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
20808 try {
20809 return mountState(initialState);
20810 } finally {
20811 ReactSharedInternals.H = prevDispatcher;
20812 }
20813 },
20814 useDebugValue: function() {
20815 currentHookNameInDev = "useDebugValue";
20816 mountHookTypesDev();
20817 },
20818 useDeferredValue: function(value, initialValue) {
20819 currentHookNameInDev = "useDeferredValue";
20820 mountHookTypesDev();
20821 return mountDeferredValue(value, initialValue);
20822 },
20823 useTransition: function() {
20824 currentHookNameInDev = "useTransition";
20825 mountHookTypesDev();
20826 return mountTransition();
20827 },
20828 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
20829 currentHookNameInDev = "useSyncExternalStore";
20830 mountHookTypesDev();
20831 return mountSyncExternalStore(
20832 subscribe,
20833 getSnapshot,
20834 getServerSnapshot
20835 );
20836 },
20837 useId: function() {
20838 currentHookNameInDev = "useId";
20839 mountHookTypesDev();
20840 return mountId();
20841 },
20842 useFormState: function(action, initialState) {
20843 currentHookNameInDev = "useFormState";
20844 mountHookTypesDev();
20845 warnOnUseFormStateInDev();
20846 return mountActionState(action, initialState);
20847 },
20848 useActionState: function(action, initialState) {
20849 currentHookNameInDev = "useActionState";
20850 mountHookTypesDev();
20851 return mountActionState(action, initialState);
20852 },
20853 useOptimistic: function(passthrough) {
20854 currentHookNameInDev = "useOptimistic";
20855 mountHookTypesDev();
20856 return mountOptimistic(passthrough);
20857 },
20858 useHostTransitionStatus,
20859 useMemoCache,
20860 useCacheRefresh: function() {
20861 currentHookNameInDev = "useCacheRefresh";
20862 mountHookTypesDev();
20863 return mountRefresh();
20864 },
20865 useEffectEvent: function(callback) {
20866 currentHookNameInDev = "useEffectEvent";
20867 mountHookTypesDev();
20868 return mountEvent(callback);
20869 }
20870 };
20871 HooksDispatcherOnMountWithHookTypesInDEV = {
20872 readContext: function(context) {
20873 return readContext(context);
20874 },
20875 use,
20876 useCallback: function(callback, deps) {
20877 currentHookNameInDev = "useCallback";
20878 updateHookTypesDev();
20879 return mountCallback(callback, deps);
20880 },
20881 useContext: function(context) {
20882 currentHookNameInDev = "useContext";
20883 updateHookTypesDev();
20884 return readContext(context);
20885 },
20886 useEffect: function(create, deps) {
20887 currentHookNameInDev = "useEffect";
20888 updateHookTypesDev();
20889 return mountEffect(create, deps);
20890 },
20891 useImperativeHandle: function(ref, create, deps) {
20892 currentHookNameInDev = "useImperativeHandle";
20893 updateHookTypesDev();
20894 return mountImperativeHandle(ref, create, deps);
20895 },
20896 useInsertionEffect: function(create, deps) {
20897 currentHookNameInDev = "useInsertionEffect";
20898 updateHookTypesDev();
20899 mountEffectImpl(4, Insertion, create, deps);
20900 },
20901 useLayoutEffect: function(create, deps) {
20902 currentHookNameInDev = "useLayoutEffect";
20903 updateHookTypesDev();
20904 return mountLayoutEffect(create, deps);
20905 },
20906 useMemo: function(create, deps) {
20907 currentHookNameInDev = "useMemo";
20908 updateHookTypesDev();
20909 var prevDispatcher = ReactSharedInternals.H;
20910 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
20911 try {
20912 return mountMemo(create, deps);
20913 } finally {
20914 ReactSharedInternals.H = prevDispatcher;
20915 }
20916 },
20917 useReducer: function(reducer, initialArg, init) {
20918 currentHookNameInDev = "useReducer";
20919 updateHookTypesDev();
20920 var prevDispatcher = ReactSharedInternals.H;
20921 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
20922 try {
20923 return mountReducer(reducer, initialArg, init);
20924 } finally {
20925 ReactSharedInternals.H = prevDispatcher;
20926 }
20927 },
20928 useRef: function(initialValue) {
20929 currentHookNameInDev = "useRef";
20930 updateHookTypesDev();
20931 return mountRef(initialValue);
20932 },
20933 useState: function(initialState) {
20934 currentHookNameInDev = "useState";
20935 updateHookTypesDev();
20936 var prevDispatcher = ReactSharedInternals.H;
20937 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
20938 try {
20939 return mountState(initialState);
20940 } finally {
20941 ReactSharedInternals.H = prevDispatcher;
20942 }
20943 },
20944 useDebugValue: function() {
20945 currentHookNameInDev = "useDebugValue";
20946 updateHookTypesDev();
20947 },
20948 useDeferredValue: function(value, initialValue) {
20949 currentHookNameInDev = "useDeferredValue";
20950 updateHookTypesDev();
20951 return mountDeferredValue(value, initialValue);
20952 },
20953 useTransition: function() {
20954 currentHookNameInDev = "useTransition";
20955 updateHookTypesDev();
20956 return mountTransition();
20957 },
20958 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
20959 currentHookNameInDev = "useSyncExternalStore";
20960 updateHookTypesDev();
20961 return mountSyncExternalStore(
20962 subscribe,
20963 getSnapshot,
20964 getServerSnapshot
20965 );
20966 },
20967 useId: function() {
20968 currentHookNameInDev = "useId";
20969 updateHookTypesDev();
20970 return mountId();
20971 },
20972 useActionState: function(action, initialState) {
20973 currentHookNameInDev = "useActionState";
20974 updateHookTypesDev();
20975 return mountActionState(action, initialState);
20976 },
20977 useFormState: function(action, initialState) {
20978 currentHookNameInDev = "useFormState";
20979 updateHookTypesDev();
20980 warnOnUseFormStateInDev();
20981 return mountActionState(action, initialState);
20982 },
20983 useOptimistic: function(passthrough) {
20984 currentHookNameInDev = "useOptimistic";
20985 updateHookTypesDev();
20986 return mountOptimistic(passthrough);
20987 },
20988 useHostTransitionStatus,
20989 useMemoCache,
20990 useCacheRefresh: function() {
20991 currentHookNameInDev = "useCacheRefresh";
20992 updateHookTypesDev();
20993 return mountRefresh();
20994 },
20995 useEffectEvent: function(callback) {
20996 currentHookNameInDev = "useEffectEvent";
20997 updateHookTypesDev();
20998 return mountEvent(callback);
20999 }
21000 };
21001 HooksDispatcherOnUpdateInDEV = {
21002 readContext: function(context) {
21003 return readContext(context);
21004 },
21005 use,
21006 useCallback: function(callback, deps) {
21007 currentHookNameInDev = "useCallback";
21008 updateHookTypesDev();
21009 return updateCallback(callback, deps);
21010 },
21011 useContext: function(context) {
21012 currentHookNameInDev = "useContext";
21013 updateHookTypesDev();
21014 return readContext(context);
21015 },
21016 useEffect: function(create, deps) {
21017 currentHookNameInDev = "useEffect";
21018 updateHookTypesDev();
21019 updateEffectImpl(2048, Passive, create, deps);
21020 },
21021 useImperativeHandle: function(ref, create, deps) {
21022 currentHookNameInDev = "useImperativeHandle";
21023 updateHookTypesDev();
21024 return updateImperativeHandle(ref, create, deps);
21025 },
21026 useInsertionEffect: function(create, deps) {
21027 currentHookNameInDev = "useInsertionEffect";
21028 updateHookTypesDev();
21029 return updateEffectImpl(4, Insertion, create, deps);
21030 },
21031 useLayoutEffect: function(create, deps) {
21032 currentHookNameInDev = "useLayoutEffect";
21033 updateHookTypesDev();
21034 return updateEffectImpl(4, Layout, create, deps);
21035 },
21036 useMemo: function(create, deps) {
21037 currentHookNameInDev = "useMemo";
21038 updateHookTypesDev();
21039 var prevDispatcher = ReactSharedInternals.H;
21040 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
21041 try {
21042 return updateMemo(create, deps);
21043 } finally {
21044 ReactSharedInternals.H = prevDispatcher;
21045 }
21046 },
21047 useReducer: function(reducer, initialArg, init) {
21048 currentHookNameInDev = "useReducer";
21049 updateHookTypesDev();
21050 var prevDispatcher = ReactSharedInternals.H;
21051 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
21052 try {
21053 return updateReducer(reducer, initialArg, init);
21054 } finally {
21055 ReactSharedInternals.H = prevDispatcher;
21056 }
21057 },
21058 useRef: function() {
21059 currentHookNameInDev = "useRef";
21060 updateHookTypesDev();
21061 return updateWorkInProgressHook().memoizedState;
21062 },
21063 useState: function() {
21064 currentHookNameInDev = "useState";
21065 updateHookTypesDev();
21066 var prevDispatcher = ReactSharedInternals.H;
21067 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
21068 try {
21069 return updateReducer(basicStateReducer);
21070 } finally {
21071 ReactSharedInternals.H = prevDispatcher;
21072 }
21073 },
21074 useDebugValue: function() {
21075 currentHookNameInDev = "useDebugValue";
21076 updateHookTypesDev();
21077 },
21078 useDeferredValue: function(value, initialValue) {
21079 currentHookNameInDev = "useDeferredValue";
21080 updateHookTypesDev();
21081 return updateDeferredValue(value, initialValue);
21082 },
21083 useTransition: function() {
21084 currentHookNameInDev = "useTransition";
21085 updateHookTypesDev();
21086 return updateTransition();
21087 },
21088 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
21089 currentHookNameInDev = "useSyncExternalStore";
21090 updateHookTypesDev();
21091 return updateSyncExternalStore(
21092 subscribe,
21093 getSnapshot,
21094 getServerSnapshot
21095 );
21096 },
21097 useId: function() {
21098 currentHookNameInDev = "useId";
21099 updateHookTypesDev();
21100 return updateWorkInProgressHook().memoizedState;
21101 },
21102 useFormState: function(action) {
21103 currentHookNameInDev = "useFormState";
21104 updateHookTypesDev();
21105 warnOnUseFormStateInDev();
21106 return updateActionState(action);
21107 },
21108 useActionState: function(action) {
21109 currentHookNameInDev = "useActionState";
21110 updateHookTypesDev();
21111 return updateActionState(action);
21112 },
21113 useOptimistic: function(passthrough, reducer) {
21114 currentHookNameInDev = "useOptimistic";
21115 updateHookTypesDev();
21116 return updateOptimistic(passthrough, reducer);
21117 },
21118 useHostTransitionStatus,
21119 useMemoCache,
21120 useCacheRefresh: function() {
21121 currentHookNameInDev = "useCacheRefresh";
21122 updateHookTypesDev();
21123 return updateWorkInProgressHook().memoizedState;
21124 },
21125 useEffectEvent: function(callback) {
21126 currentHookNameInDev = "useEffectEvent";
21127 updateHookTypesDev();
21128 return updateEvent(callback);
21129 }
21130 };
21131 HooksDispatcherOnRerenderInDEV = {
21132 readContext: function(context) {
21133 return readContext(context);
21134 },
21135 use,
21136 useCallback: function(callback, deps) {
21137 currentHookNameInDev = "useCallback";
21138 updateHookTypesDev();
21139 return updateCallback(callback, deps);
21140 },
21141 useContext: function(context) {
21142 currentHookNameInDev = "useContext";
21143 updateHookTypesDev();
21144 return readContext(context);
21145 },
21146 useEffect: function(create, deps) {
21147 currentHookNameInDev = "useEffect";
21148 updateHookTypesDev();
21149 updateEffectImpl(2048, Passive, create, deps);
21150 },
21151 useImperativeHandle: function(ref, create, deps) {
21152 currentHookNameInDev = "useImperativeHandle";
21153 updateHookTypesDev();
21154 return updateImperativeHandle(ref, create, deps);
21155 },
21156 useInsertionEffect: function(create, deps) {
21157 currentHookNameInDev = "useInsertionEffect";
21158 updateHookTypesDev();
21159 return updateEffectImpl(4, Insertion, create, deps);
21160 },
21161 useLayoutEffect: function(create, deps) {
21162 currentHookNameInDev = "useLayoutEffect";
21163 updateHookTypesDev();
21164 return updateEffectImpl(4, Layout, create, deps);
21165 },
21166 useMemo: function(create, deps) {
21167 currentHookNameInDev = "useMemo";
21168 updateHookTypesDev();
21169 var prevDispatcher = ReactSharedInternals.H;
21170 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;
21171 try {
21172 return updateMemo(create, deps);
21173 } finally {
21174 ReactSharedInternals.H = prevDispatcher;
21175 }
21176 },
21177 useReducer: function(reducer, initialArg, init) {
21178 currentHookNameInDev = "useReducer";
21179 updateHookTypesDev();
21180 var prevDispatcher = ReactSharedInternals.H;
21181 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;
21182 try {
21183 return rerenderReducer(reducer, initialArg, init);
21184 } finally {
21185 ReactSharedInternals.H = prevDispatcher;
21186 }
21187 },
21188 useRef: function() {
21189 currentHookNameInDev = "useRef";
21190 updateHookTypesDev();
21191 return updateWorkInProgressHook().memoizedState;
21192 },
21193 useState: function() {
21194 currentHookNameInDev = "useState";
21195 updateHookTypesDev();
21196 var prevDispatcher = ReactSharedInternals.H;
21197 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;
21198 try {
21199 return rerenderReducer(basicStateReducer);
21200 } finally {
21201 ReactSharedInternals.H = prevDispatcher;
21202 }
21203 },
21204 useDebugValue: function() {
21205 currentHookNameInDev = "useDebugValue";
21206 updateHookTypesDev();
21207 },
21208 useDeferredValue: function(value, initialValue) {
21209 currentHookNameInDev = "useDeferredValue";
21210 updateHookTypesDev();
21211 return rerenderDeferredValue(value, initialValue);
21212 },
21213 useTransition: function() {
21214 currentHookNameInDev = "useTransition";
21215 updateHookTypesDev();
21216 return rerenderTransition();
21217 },
21218 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
21219 currentHookNameInDev = "useSyncExternalStore";
21220 updateHookTypesDev();
21221 return updateSyncExternalStore(
21222 subscribe,
21223 getSnapshot,
21224 getServerSnapshot
21225 );
21226 },
21227 useId: function() {
21228 currentHookNameInDev = "useId";
21229 updateHookTypesDev();
21230 return updateWorkInProgressHook().memoizedState;
21231 },
21232 useFormState: function(action) {
21233 currentHookNameInDev = "useFormState";
21234 updateHookTypesDev();
21235 warnOnUseFormStateInDev();
21236 return rerenderActionState(action);
21237 },
21238 useActionState: function(action) {
21239 currentHookNameInDev = "useActionState";
21240 updateHookTypesDev();
21241 return rerenderActionState(action);
21242 },
21243 useOptimistic: function(passthrough, reducer) {
21244 currentHookNameInDev = "useOptimistic";
21245 updateHookTypesDev();
21246 return rerenderOptimistic(passthrough, reducer);
21247 },
21248 useHostTransitionStatus,
21249 useMemoCache,
21250 useCacheRefresh: function() {
21251 currentHookNameInDev = "useCacheRefresh";
21252 updateHookTypesDev();
21253 return updateWorkInProgressHook().memoizedState;
21254 },
21255 useEffectEvent: function(callback) {
21256 currentHookNameInDev = "useEffectEvent";
21257 updateHookTypesDev();
21258 return updateEvent(callback);
21259 }
21260 };
21261 InvalidNestedHooksDispatcherOnMountInDEV = {
21262 readContext: function(context) {
21263 warnInvalidContextAccess();
21264 return readContext(context);
21265 },
21266 use: function(usable) {
21267 warnInvalidHookAccess();
21268 return use(usable);
21269 },
21270 useCallback: function(callback, deps) {
21271 currentHookNameInDev = "useCallback";
21272 warnInvalidHookAccess();
21273 mountHookTypesDev();
21274 return mountCallback(callback, deps);
21275 },
21276 useContext: function(context) {
21277 currentHookNameInDev = "useContext";
21278 warnInvalidHookAccess();
21279 mountHookTypesDev();
21280 return readContext(context);
21281 },
21282 useEffect: function(create, deps) {
21283 currentHookNameInDev = "useEffect";
21284 warnInvalidHookAccess();
21285 mountHookTypesDev();
21286 return mountEffect(create, deps);
21287 },
21288 useImperativeHandle: function(ref, create, deps) {
21289 currentHookNameInDev = "useImperativeHandle";
21290 warnInvalidHookAccess();
21291 mountHookTypesDev();
21292 return mountImperativeHandle(ref, create, deps);
21293 },
21294 useInsertionEffect: function(create, deps) {
21295 currentHookNameInDev = "useInsertionEffect";
21296 warnInvalidHookAccess();
21297 mountHookTypesDev();
21298 mountEffectImpl(4, Insertion, create, deps);
21299 },
21300 useLayoutEffect: function(create, deps) {
21301 currentHookNameInDev = "useLayoutEffect";
21302 warnInvalidHookAccess();
21303 mountHookTypesDev();
21304 return mountLayoutEffect(create, deps);
21305 },
21306 useMemo: function(create, deps) {
21307 currentHookNameInDev = "useMemo";
21308 warnInvalidHookAccess();
21309 mountHookTypesDev();
21310 var prevDispatcher = ReactSharedInternals.H;
21311 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
21312 try {
21313 return mountMemo(create, deps);
21314 } finally {
21315 ReactSharedInternals.H = prevDispatcher;
21316 }
21317 },
21318 useReducer: function(reducer, initialArg, init) {
21319 currentHookNameInDev = "useReducer";
21320 warnInvalidHookAccess();
21321 mountHookTypesDev();
21322 var prevDispatcher = ReactSharedInternals.H;
21323 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
21324 try {
21325 return mountReducer(reducer, initialArg, init);
21326 } finally {
21327 ReactSharedInternals.H = prevDispatcher;
21328 }
21329 },
21330 useRef: function(initialValue) {
21331 currentHookNameInDev = "useRef";
21332 warnInvalidHookAccess();
21333 mountHookTypesDev();
21334 return mountRef(initialValue);
21335 },
21336 useState: function(initialState) {
21337 currentHookNameInDev = "useState";
21338 warnInvalidHookAccess();
21339 mountHookTypesDev();
21340 var prevDispatcher = ReactSharedInternals.H;
21341 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
21342 try {
21343 return mountState(initialState);
21344 } finally {
21345 ReactSharedInternals.H = prevDispatcher;
21346 }
21347 },
21348 useDebugValue: function() {
21349 currentHookNameInDev = "useDebugValue";
21350 warnInvalidHookAccess();
21351 mountHookTypesDev();
21352 },
21353 useDeferredValue: function(value, initialValue) {
21354 currentHookNameInDev = "useDeferredValue";
21355 warnInvalidHookAccess();
21356 mountHookTypesDev();
21357 return mountDeferredValue(value, initialValue);
21358 },
21359 useTransition: function() {
21360 currentHookNameInDev = "useTransition";
21361 warnInvalidHookAccess();
21362 mountHookTypesDev();
21363 return mountTransition();
21364 },
21365 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
21366 currentHookNameInDev = "useSyncExternalStore";
21367 warnInvalidHookAccess();
21368 mountHookTypesDev();
21369 return mountSyncExternalStore(
21370 subscribe,
21371 getSnapshot,
21372 getServerSnapshot
21373 );
21374 },
21375 useId: function() {
21376 currentHookNameInDev = "useId";
21377 warnInvalidHookAccess();
21378 mountHookTypesDev();
21379 return mountId();
21380 },
21381 useFormState: function(action, initialState) {
21382 currentHookNameInDev = "useFormState";
21383 warnInvalidHookAccess();
21384 mountHookTypesDev();
21385 return mountActionState(action, initialState);
21386 },
21387 useActionState: function(action, initialState) {
21388 currentHookNameInDev = "useActionState";
21389 warnInvalidHookAccess();
21390 mountHookTypesDev();
21391 return mountActionState(action, initialState);
21392 },
21393 useOptimistic: function(passthrough) {
21394 currentHookNameInDev = "useOptimistic";
21395 warnInvalidHookAccess();
21396 mountHookTypesDev();
21397 return mountOptimistic(passthrough);
21398 },
21399 useMemoCache: function(size) {
21400 warnInvalidHookAccess();
21401 return useMemoCache(size);
21402 },
21403 useHostTransitionStatus,
21404 useCacheRefresh: function() {
21405 currentHookNameInDev = "useCacheRefresh";
21406 mountHookTypesDev();
21407 return mountRefresh();
21408 },
21409 useEffectEvent: function(callback) {
21410 currentHookNameInDev = "useEffectEvent";
21411 warnInvalidHookAccess();
21412 mountHookTypesDev();
21413 return mountEvent(callback);
21414 }
21415 };
21416 InvalidNestedHooksDispatcherOnUpdateInDEV = {
21417 readContext: function(context) {
21418 warnInvalidContextAccess();
21419 return readContext(context);
21420 },
21421 use: function(usable) {
21422 warnInvalidHookAccess();
21423 return use(usable);
21424 },
21425 useCallback: function(callback, deps) {
21426 currentHookNameInDev = "useCallback";
21427 warnInvalidHookAccess();
21428 updateHookTypesDev();
21429 return updateCallback(callback, deps);
21430 },
21431 useContext: function(context) {
21432 currentHookNameInDev = "useContext";
21433 warnInvalidHookAccess();
21434 updateHookTypesDev();
21435 return readContext(context);
21436 },
21437 useEffect: function(create, deps) {
21438 currentHookNameInDev = "useEffect";
21439 warnInvalidHookAccess();
21440 updateHookTypesDev();
21441 updateEffectImpl(2048, Passive, create, deps);
21442 },
21443 useImperativeHandle: function(ref, create, deps) {
21444 currentHookNameInDev = "useImperativeHandle";
21445 warnInvalidHookAccess();
21446 updateHookTypesDev();
21447 return updateImperativeHandle(ref, create, deps);
21448 },
21449 useInsertionEffect: function(create, deps) {
21450 currentHookNameInDev = "useInsertionEffect";
21451 warnInvalidHookAccess();
21452 updateHookTypesDev();
21453 return updateEffectImpl(4, Insertion, create, deps);
21454 },
21455 useLayoutEffect: function(create, deps) {
21456 currentHookNameInDev = "useLayoutEffect";
21457 warnInvalidHookAccess();
21458 updateHookTypesDev();
21459 return updateEffectImpl(4, Layout, create, deps);
21460 },
21461 useMemo: function(create, deps) {
21462 currentHookNameInDev = "useMemo";
21463 warnInvalidHookAccess();
21464 updateHookTypesDev();
21465 var prevDispatcher = ReactSharedInternals.H;
21466 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
21467 try {
21468 return updateMemo(create, deps);
21469 } finally {
21470 ReactSharedInternals.H = prevDispatcher;
21471 }
21472 },
21473 useReducer: function(reducer, initialArg, init) {
21474 currentHookNameInDev = "useReducer";
21475 warnInvalidHookAccess();
21476 updateHookTypesDev();
21477 var prevDispatcher = ReactSharedInternals.H;
21478 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
21479 try {
21480 return updateReducer(reducer, initialArg, init);
21481 } finally {
21482 ReactSharedInternals.H = prevDispatcher;
21483 }
21484 },
21485 useRef: function() {
21486 currentHookNameInDev = "useRef";
21487 warnInvalidHookAccess();
21488 updateHookTypesDev();
21489 return updateWorkInProgressHook().memoizedState;
21490 },
21491 useState: function() {
21492 currentHookNameInDev = "useState";
21493 warnInvalidHookAccess();
21494 updateHookTypesDev();
21495 var prevDispatcher = ReactSharedInternals.H;
21496 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
21497 try {
21498 return updateReducer(basicStateReducer);
21499 } finally {
21500 ReactSharedInternals.H = prevDispatcher;
21501 }
21502 },
21503 useDebugValue: function() {
21504 currentHookNameInDev = "useDebugValue";
21505 warnInvalidHookAccess();
21506 updateHookTypesDev();
21507 },
21508 useDeferredValue: function(value, initialValue) {
21509 currentHookNameInDev = "useDeferredValue";
21510 warnInvalidHookAccess();
21511 updateHookTypesDev();
21512 return updateDeferredValue(value, initialValue);
21513 },
21514 useTransition: function() {
21515 currentHookNameInDev = "useTransition";
21516 warnInvalidHookAccess();
21517 updateHookTypesDev();
21518 return updateTransition();
21519 },
21520 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
21521 currentHookNameInDev = "useSyncExternalStore";
21522 warnInvalidHookAccess();
21523 updateHookTypesDev();
21524 return updateSyncExternalStore(
21525 subscribe,
21526 getSnapshot,
21527 getServerSnapshot
21528 );
21529 },
21530 useId: function() {
21531 currentHookNameInDev = "useId";
21532 warnInvalidHookAccess();
21533 updateHookTypesDev();
21534 return updateWorkInProgressHook().memoizedState;
21535 },
21536 useFormState: function(action) {
21537 currentHookNameInDev = "useFormState";
21538 warnInvalidHookAccess();
21539 updateHookTypesDev();
21540 return updateActionState(action);
21541 },
21542 useActionState: function(action) {
21543 currentHookNameInDev = "useActionState";
21544 warnInvalidHookAccess();
21545 updateHookTypesDev();
21546 return updateActionState(action);
21547 },
21548 useOptimistic: function(passthrough, reducer) {
21549 currentHookNameInDev = "useOptimistic";
21550 warnInvalidHookAccess();
21551 updateHookTypesDev();
21552 return updateOptimistic(passthrough, reducer);
21553 },
21554 useMemoCache: function(size) {
21555 warnInvalidHookAccess();
21556 return useMemoCache(size);
21557 },
21558 useHostTransitionStatus,
21559 useCacheRefresh: function() {
21560 currentHookNameInDev = "useCacheRefresh";
21561 updateHookTypesDev();
21562 return updateWorkInProgressHook().memoizedState;
21563 },
21564 useEffectEvent: function(callback) {
21565 currentHookNameInDev = "useEffectEvent";
21566 warnInvalidHookAccess();
21567 updateHookTypesDev();
21568 return updateEvent(callback);
21569 }
21570 };
21571 InvalidNestedHooksDispatcherOnRerenderInDEV = {
21572 readContext: function(context) {
21573 warnInvalidContextAccess();
21574 return readContext(context);
21575 },
21576 use: function(usable) {
21577 warnInvalidHookAccess();
21578 return use(usable);
21579 },
21580 useCallback: function(callback, deps) {
21581 currentHookNameInDev = "useCallback";
21582 warnInvalidHookAccess();
21583 updateHookTypesDev();
21584 return updateCallback(callback, deps);
21585 },
21586 useContext: function(context) {
21587 currentHookNameInDev = "useContext";
21588 warnInvalidHookAccess();
21589 updateHookTypesDev();
21590 return readContext(context);
21591 },
21592 useEffect: function(create, deps) {
21593 currentHookNameInDev = "useEffect";
21594 warnInvalidHookAccess();
21595 updateHookTypesDev();
21596 updateEffectImpl(2048, Passive, create, deps);
21597 },
21598 useImperativeHandle: function(ref, create, deps) {
21599 currentHookNameInDev = "useImperativeHandle";
21600 warnInvalidHookAccess();
21601 updateHookTypesDev();
21602 return updateImperativeHandle(ref, create, deps);
21603 },
21604 useInsertionEffect: function(create, deps) {
21605 currentHookNameInDev = "useInsertionEffect";
21606 warnInvalidHookAccess();
21607 updateHookTypesDev();
21608 return updateEffectImpl(4, Insertion, create, deps);
21609 },
21610 useLayoutEffect: function(create, deps) {
21611 currentHookNameInDev = "useLayoutEffect";
21612 warnInvalidHookAccess();
21613 updateHookTypesDev();
21614 return updateEffectImpl(4, Layout, create, deps);
21615 },
21616 useMemo: function(create, deps) {
21617 currentHookNameInDev = "useMemo";
21618 warnInvalidHookAccess();
21619 updateHookTypesDev();
21620 var prevDispatcher = ReactSharedInternals.H;
21621 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
21622 try {
21623 return updateMemo(create, deps);
21624 } finally {
21625 ReactSharedInternals.H = prevDispatcher;
21626 }
21627 },
21628 useReducer: function(reducer, initialArg, init) {
21629 currentHookNameInDev = "useReducer";
21630 warnInvalidHookAccess();
21631 updateHookTypesDev();
21632 var prevDispatcher = ReactSharedInternals.H;
21633 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
21634 try {
21635 return rerenderReducer(reducer, initialArg, init);
21636 } finally {
21637 ReactSharedInternals.H = prevDispatcher;
21638 }
21639 },
21640 useRef: function() {
21641 currentHookNameInDev = "useRef";
21642 warnInvalidHookAccess();
21643 updateHookTypesDev();
21644 return updateWorkInProgressHook().memoizedState;
21645 },
21646 useState: function() {
21647 currentHookNameInDev = "useState";
21648 warnInvalidHookAccess();
21649 updateHookTypesDev();
21650 var prevDispatcher = ReactSharedInternals.H;
21651 ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
21652 try {
21653 return rerenderReducer(basicStateReducer);
21654 } finally {
21655 ReactSharedInternals.H = prevDispatcher;
21656 }
21657 },
21658 useDebugValue: function() {
21659 currentHookNameInDev = "useDebugValue";
21660 warnInvalidHookAccess();
21661 updateHookTypesDev();
21662 },
21663 useDeferredValue: function(value, initialValue) {
21664 currentHookNameInDev = "useDeferredValue";
21665 warnInvalidHookAccess();
21666 updateHookTypesDev();
21667 return rerenderDeferredValue(value, initialValue);
21668 },
21669 useTransition: function() {
21670 currentHookNameInDev = "useTransition";
21671 warnInvalidHookAccess();
21672 updateHookTypesDev();
21673 return rerenderTransition();
21674 },
21675 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) {
21676 currentHookNameInDev = "useSyncExternalStore";
21677 warnInvalidHookAccess();
21678 updateHookTypesDev();
21679 return updateSyncExternalStore(
21680 subscribe,
21681 getSnapshot,
21682 getServerSnapshot
21683 );
21684 },
21685 useId: function() {
21686 currentHookNameInDev = "useId";
21687 warnInvalidHookAccess();
21688 updateHookTypesDev();
21689 return updateWorkInProgressHook().memoizedState;
21690 },
21691 useFormState: function(action) {
21692 currentHookNameInDev = "useFormState";
21693 warnInvalidHookAccess();
21694 updateHookTypesDev();
21695 return rerenderActionState(action);
21696 },
21697 useActionState: function(action) {
21698 currentHookNameInDev = "useActionState";
21699 warnInvalidHookAccess();
21700 updateHookTypesDev();
21701 return rerenderActionState(action);
21702 },
21703 useOptimistic: function(passthrough, reducer) {
21704 currentHookNameInDev = "useOptimistic";
21705 warnInvalidHookAccess();
21706 updateHookTypesDev();
21707 return rerenderOptimistic(passthrough, reducer);
21708 },
21709 useMemoCache: function(size) {
21710 warnInvalidHookAccess();
21711 return useMemoCache(size);
21712 },
21713 useHostTransitionStatus,
21714 useCacheRefresh: function() {
21715 currentHookNameInDev = "useCacheRefresh";
21716 updateHookTypesDev();
21717 return updateWorkInProgressHook().memoizedState;
21718 },
21719 useEffectEvent: function(callback) {
21720 currentHookNameInDev = "useEffectEvent";
21721 warnInvalidHookAccess();
21722 updateHookTypesDev();
21723 return updateEvent(callback);
21724 }
21725 };
21726 var fakeInternalInstance = {};
21727 var didWarnAboutStateAssignmentForComponent = /* @__PURE__ */ new Set();
21728 var didWarnAboutUninitializedState = /* @__PURE__ */ new Set();
21729 var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = /* @__PURE__ */ new Set();
21730 var didWarnAboutLegacyLifecyclesAndDerivedState = /* @__PURE__ */ new Set();
21731 var didWarnAboutDirectlyAssigningPropsToState = /* @__PURE__ */ new Set();
21732 var didWarnAboutUndefinedDerivedState = /* @__PURE__ */ new Set();
21733 var didWarnAboutContextTypes$1 = /* @__PURE__ */ new Set();
21734 var didWarnAboutChildContextTypes = /* @__PURE__ */ new Set();
21735 var didWarnAboutInvalidateContextType = /* @__PURE__ */ new Set();
21736 var didWarnOnInvalidCallback = /* @__PURE__ */ new Set();
21737 Object.freeze(fakeInternalInstance);
21738 var classComponentUpdater = {
21739 enqueueSetState: function(inst, payload, callback) {
21740 inst = inst._reactInternals;
21741 var lane = requestUpdateLane(inst), update = createUpdate(lane);
21742 update.payload = payload;
21743 void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback);
21744 payload = enqueueUpdate(inst, update, lane);
21745 null !== payload && (startUpdateTimerByLane(lane, "this.setState()", inst), scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane));
21746 },
21747 enqueueReplaceState: function(inst, payload, callback) {
21748 inst = inst._reactInternals;
21749 var lane = requestUpdateLane(inst), update = createUpdate(lane);
21750 update.tag = ReplaceState;
21751 update.payload = payload;
21752 void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback);
21753 payload = enqueueUpdate(inst, update, lane);
21754 null !== payload && (startUpdateTimerByLane(lane, "this.replaceState()", inst), scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane));
21755 },
21756 enqueueForceUpdate: function(inst, callback) {
21757 inst = inst._reactInternals;
21758 var lane = requestUpdateLane(inst), update = createUpdate(lane);
21759 update.tag = ForceUpdate;
21760 void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback);
21761 callback = enqueueUpdate(inst, update, lane);
21762 null !== callback && (startUpdateTimerByLane(lane, "this.forceUpdate()", inst), scheduleUpdateOnFiber(callback, inst, lane), entangleTransitions(callback, inst, lane));
21763 }
21764 }, componentName = null, errorBoundaryName = null, SelectiveHydrationException = Error(
21765 "This is not a real error. It's an implementation detail of React's selective hydration feature. If this leaks into userspace, it's a bug in React. Please file an issue."
21766 ), didReceiveUpdate = false;
21767 var didWarnAboutBadClass = {};
21768 var didWarnAboutContextTypeOnFunctionComponent = {};
21769 var didWarnAboutContextTypes = {};
21770 var didWarnAboutGetDerivedStateOnFunctionComponent = {};
21771 var didWarnAboutReassigningProps = false;
21772 var didWarnAboutRevealOrder = {};
21773 var didWarnAboutTailOptions = {};
21774 var didWarnAboutClassNameOnViewTransition = {};
21775 var SUSPENDED_MARKER = {
21776 dehydrated: null,
21777 treeContext: null,
21778 retryLane: 0,
21779 hydrationErrors: null
21780 }, hasWarnedAboutUsingNoValuePropOnContextProvider = false, didWarnAboutUndefinedSnapshotBeforeUpdate = null;
21781 didWarnAboutUndefinedSnapshotBeforeUpdate = /* @__PURE__ */ new Set();
21782 var shouldStartViewTransition = false, appearingViewTransitions = null, viewTransitionCancelableChildren = null, viewTransitionHostInstanceIdx = 0, mountedNamedViewTransitions = /* @__PURE__ */ new Map(), didWarnAboutName = {}, NoLayoutEffectTraversalFlags = 0, IncludeWorkInProgressEffects = 1, IncludeHostSingletons = 2, offscreenSubtreeIsHidden = false, offscreenSubtreeWasHidden = false, offscreenDirectParentIsHidden = false, needsFormReset = false, PossiblyWeakSet = "function" === typeof WeakSet ? WeakSet : Set, nextEffect = null, inProgressLanes = null, inProgressRoot = null, viewTransitionContextChanged = false, inUpdateViewTransition = false, rootViewTransitionAffected = false, rootViewTransitionNameCanceled = false, hostParent = null, hostParentIsContainer = false, currentHoistableRoot = null, inHydratedSubtree = false, suspenseyCommitFlag = 8192, DefaultAsyncDispatcher = {
21783 getCacheForType: function(resourceType) {
21784 var cache = readContext(CacheContext), cacheForType = cache.data.get(resourceType);
21785 void 0 === cacheForType && (cacheForType = resourceType(), cache.data.set(resourceType, cacheForType));
21786 return cacheForType;
21787 },
21788 cacheSignal: function() {
21789 return readContext(CacheContext).controller.signal;
21790 },
21791 getOwner: function() {
21792 return current;
21793 }
21794 };
21795 if ("function" === typeof Symbol && Symbol.for) {
21796 var symbolFor = Symbol.for;
21797 symbolFor("selector.component");
21798 symbolFor("selector.has_pseudo_class");
21799 symbolFor("selector.role");
21800 symbolFor("selector.test_id");
21801 symbolFor("selector.text");
21802 }
21803 var commitHooks = [], PossiblyWeakMap = "function" === typeof WeakMap ? WeakMap : Map, NoContext = 0, RenderContext = 2, CommitContext = 4, RootInProgress = 0, RootFatalErrored = 1, RootErrored = 2, RootSuspended = 3, RootSuspendedWithDelay = 4, RootSuspendedAtTheShell = 6, RootCompleted = 5, executionContext = NoContext, workInProgressRoot = null, workInProgress = null, workInProgressRootRenderLanes = 0, NotSuspended = 0, SuspendedOnError = 1, SuspendedOnData = 2, SuspendedOnImmediate = 3, SuspendedOnInstance = 4, SuspendedOnInstanceAndReadyToContinue = 5, SuspendedOnDeprecatedThrowPromise = 6, SuspendedAndReadyToContinue = 7, SuspendedOnHydration = 8, SuspendedOnAction = 9, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, workInProgressRootDidSkipSuspendedSiblings = false, workInProgressRootIsPrerendering = false, workInProgressRootDidAttachPingListener = false, entangledRenderLanes = 0, workInProgressRootExitStatus = RootInProgress, workInProgressRootSkippedLanes = 0, workInProgressRootInterleavedUpdatedLanes = 0, workInProgressRootPingedLanes = 0, workInProgressDeferredLane = 0, workInProgressSuspendedRetryLanes = 0, workInProgressRootConcurrentErrors = null, workInProgressRootRecoverableErrors = null, workInProgressRootDidIncludeRecursiveRenderUpdate = false, globalMostRecentFallbackTime = 0, globalMostRecentTransitionTime = 0, FALLBACK_THROTTLE_MS = 300, workInProgressRootRenderTargetTime = Infinity, RENDER_TIMEOUT_MS = 500, workInProgressTransitions = null, workInProgressUpdateTask = null, legacyErrorBoundariesThatAlreadyFailed = null, IMMEDIATE_COMMIT = 0, ABORTED_VIEW_TRANSITION_COMMIT = 1, DELAYED_PASSIVE_COMMIT = 2, ANIMATION_STARTED_COMMIT = 3, NO_PENDING_EFFECTS = 0, PENDING_MUTATION_PHASE = 1, PENDING_LAYOUT_PHASE = 2, PENDING_AFTER_MUTATION_PHASE = 3, PENDING_SPAWNED_WORK = 4, PENDING_PASSIVE_PHASE = 5, pendingEffectsStatus = 0, pendingEffectsRoot = null, pendingFinishedWork = null, pendingEffectsLanes = 0, pendingEffectsRemainingLanes = 0, pendingEffectsRenderEndTime = -0, pendingPassiveTransitions = null, pendingRecoverableErrors = null, pendingViewTransition = null, pendingViewTransitionEvents = null, pendingTransitionTypes = null, pendingSuspendedCommitReason = null, pendingDelayedCommitReason = IMMEDIATE_COMMIT, pendingSuspendedViewTransitionReason = null, NESTED_UPDATE_LIMIT = 50, nestedUpdateCount = 0, rootWithNestedUpdates = null, isFlushingPassiveEffects = false, didScheduleUpdateDuringPassiveEffects = false, NESTED_PASSIVE_UPDATE_LIMIT = 50, nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, isRunningInsertionEffect = false, didWarnAboutInterruptedViewTransitions = false, didWarnStateUpdateForNotYetMountedComponent = null, didWarnAboutUpdateInRender = false;
21804 var didWarnAboutUpdateInRenderForAnotherComponent = /* @__PURE__ */ new Set();
21805 var fakeActCallbackNode$1 = {}, firstScheduledRoot = null, lastScheduledRoot = null, didScheduleMicrotask = false, didScheduleMicrotask_act = false, mightHavePendingSyncWork = false, isFlushingWork = false, currentEventTransitionLane = 0, fakeActCallbackNode = {};
21806 (function() {
21807 for (var i = 0; i < simpleEventPluginEvents.length; i++) {
21808 var eventName = simpleEventPluginEvents[i], domEventName = eventName.toLowerCase();
21809 eventName = eventName[0].toUpperCase() + eventName.slice(1);
21810 registerSimpleEvent(domEventName, "on" + eventName);
21811 }
21812 registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
21813 registerSimpleEvent(ANIMATION_ITERATION, "onAnimationIteration");
21814 registerSimpleEvent(ANIMATION_START, "onAnimationStart");
21815 registerSimpleEvent("dblclick", "onDoubleClick");
21816 registerSimpleEvent("focusin", "onFocus");
21817 registerSimpleEvent("focusout", "onBlur");
21818 registerSimpleEvent(TRANSITION_RUN, "onTransitionRun");
21819 registerSimpleEvent(TRANSITION_START, "onTransitionStart");
21820 registerSimpleEvent(TRANSITION_CANCEL, "onTransitionCancel");
21821 registerSimpleEvent(TRANSITION_END, "onTransitionEnd");
21822 })();
21823 registerDirectEvent("onMouseEnter", ["mouseout", "mouseover"]);
21824 registerDirectEvent("onMouseLeave", ["mouseout", "mouseover"]);
21825 registerDirectEvent("onPointerEnter", ["pointerout", "pointerover"]);
21826 registerDirectEvent("onPointerLeave", ["pointerout", "pointerover"]);
21827 registerTwoPhaseEvent(
21828 "onChange",
21829 "change click focusin focusout input keydown keyup selectionchange".split(
21830 " "
21831 )
21832 );
21833 registerTwoPhaseEvent(
21834 "onSelect",
21835 "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(
21836 " "
21837 )
21838 );
21839 registerTwoPhaseEvent("onBeforeInput", [
21840 "compositionend",
21841 "keypress",
21842 "textInput",
21843 "paste"
21844 ]);
21845 registerTwoPhaseEvent(
21846 "onCompositionEnd",
21847 "compositionend focusout keydown keypress keyup mousedown".split(" ")
21848 );
21849 registerTwoPhaseEvent(
21850 "onCompositionStart",
21851 "compositionstart focusout keydown keypress keyup mousedown".split(" ")
21852 );
21853 registerTwoPhaseEvent(
21854 "onCompositionUpdate",
21855 "compositionupdate focusout keydown keypress keyup mousedown".split(" ")
21856 );
21857 var mediaEventTypes = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(
21858 " "
21859 ), nonDelegatedEvents = new Set(
21860 "beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(mediaEventTypes)
21861 ), listeningMarker = "_reactListening" + Math.random().toString(36).slice(2), didWarnControlledToUncontrolled = false, didWarnUncontrolledToControlled = false, didWarnFormActionType = false, didWarnFormActionName = false, didWarnFormActionTarget = false, didWarnFormActionMethod = false, didWarnPopoverTargetObject = false;
21862 var didWarnForNewBooleanPropsWithEmptyValue = {};
21863 var NORMALIZE_NEWLINES_REGEX = /\r\n?/g, NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\u0000|\uFFFD/g, xlinkNamespace = "http://www.w3.org/1999/xlink", xmlNamespace = "http://www.w3.org/XML/1998/namespace", emptyProps = {}, EXPECTED_FORM_ACTION_URL = "javascript:throw new Error('React form unexpectedly submitted.')", SUPPRESS_HYDRATION_WARNING = "suppressHydrationWarning", ACTIVITY_START_DATA = "&", ACTIVITY_END_DATA = "/&", SUSPENSE_START_DATA = "$", SUSPENSE_END_DATA = "/$", SUSPENSE_PENDING_START_DATA = "$?", SUSPENSE_QUEUED_START_DATA = "$~", SUSPENSE_FALLBACK_START_DATA = "$!", PREAMBLE_CONTRIBUTION_HTML = "html", PREAMBLE_CONTRIBUTION_BODY = "body", PREAMBLE_CONTRIBUTION_HEAD = "head", FORM_STATE_IS_MATCHING = "F!", FORM_STATE_IS_NOT_MATCHING = "F", DOCUMENT_READY_STATE_LOADING = "loading", STYLE = "style", HostContextNamespaceNone = 0, HostContextNamespaceSvg = 1, HostContextNamespaceMath = 2, eventsEnabled = null, selectionInformation = null, didWarnScriptTags = false, warnedUnknownTags = { dialog: true, webview: true }, currentPopstateTransitionEvent = null, schedulerEvent = void 0, scheduleTimeout = "function" === typeof setTimeout ? setTimeout : void 0, cancelTimeout = "function" === typeof clearTimeout ? clearTimeout : void 0, noTimeout = -1, localPromise = "function" === typeof Promise ? Promise : void 0, localRequestAnimationFrame = "function" === typeof requestAnimationFrame ? requestAnimationFrame : scheduleTimeout, scheduleMicrotask = "function" === typeof queueMicrotask ? queueMicrotask : "undefined" !== typeof localPromise ? function(callback) {
21864 return localPromise.resolve(null).then(callback).catch(handleErrorInNextTick);
21865 } : scheduleTimeout, SUSPENSEY_FONT_AND_IMAGE_TIMEOUT = 500;
21866 ViewTransitionPseudoElement.prototype.animate = function(keyframes, options) {
21867 options = "number" === typeof options ? { duration: options } : assign({}, options);
21868 options.pseudoElement = this._selector;
21869 return this._scope.animate(keyframes, options);
21870 };
21871 ViewTransitionPseudoElement.prototype.getAnimations = function() {
21872 for (var scope = this._scope, selector = this._selector, animations = scope.getAnimations({ subtree: true }), result = [], i = 0; i < animations.length; i++) {
21873 var effect = animations[i].effect;
21874 null !== effect && effect.target === scope && effect.pseudoElement === selector && result.push(animations[i]);
21875 }
21876 return result;
21877 };
21878 ViewTransitionPseudoElement.prototype.getComputedStyle = function() {
21879 return getComputedStyle(this._scope, this._selector);
21880 };
21881 FragmentInstance.prototype.addEventListener = function(type, listener, optionsOrUseCapture) {
21882 var signal = null, cleanup = null;
21883 if (null != optionsOrUseCapture && "boolean" !== typeof optionsOrUseCapture && (signal = optionsOrUseCapture.signal || null, null !== signal && signal.aborted))
21884 return;
21885 null === this._eventListeners && (this._eventListeners = []);
21886 var listeners = this._eventListeners;
21887 if (-1 === indexOfEventListener(listeners, type, listener, optionsOrUseCapture)) {
21888 var fragmentInstance = this, attachedListener = listener;
21889 null != optionsOrUseCapture && "boolean" !== typeof optionsOrUseCapture && true === optionsOrUseCapture.once && (attachedListener = function(event) {
21890 fragmentInstance.removeEventListener(
21891 type,
21892 listener,
21893 optionsOrUseCapture
21894 );
21895 "function" === typeof listener ? listener.call(this, event) : listener.handleEvent(event);
21896 });
21897 null !== signal && (cleanup = fragmentInstance.removeEventListener.bind(
21898 fragmentInstance,
21899 type,
21900 listener,
21901 optionsOrUseCapture
21902 ), signal.addEventListener("abort", cleanup, { once: true }), cleanup = signal.removeEventListener.bind(
21903 signal,
21904 "abort",
21905 cleanup
21906 ));
21907 signal = getAttachOptions(optionsOrUseCapture);
21908 listeners.push({
21909 type,
21910 listener,
21911 optionsOrUseCapture,
21912 attachedListener,
21913 cleanup
21914 });
21915 traverseFragmentInstancesAndTextInstances(
21916 this._fragmentFiber,
21917 addEventListenerToChild,
21918 type,
21919 attachedListener,
21920 signal
21921 );
21922 }
21923 this._eventListeners = listeners;
21924 };
21925 FragmentInstance.prototype.removeEventListener = function(type, listener, optionsOrUseCapture) {
21926 var listeners = this._eventListeners;
21927 if (null !== listeners && (listener = indexOfEventListener(
21928 listeners,
21929 type,
21930 listener,
21931 optionsOrUseCapture
21932 ), -1 !== listener)) {
21933 var _listeners$index = listeners[listener];
21934 optionsOrUseCapture = _listeners$index.attachedListener;
21935 var cleanup = _listeners$index.cleanup;
21936 _listeners$index = getAttachOptions(
21937 _listeners$index.optionsOrUseCapture
21938 );
21939 traverseFragmentInstancesAndTextInstances(
21940 this._fragmentFiber,
21941 removeEventListenerFromChild,
21942 type,
21943 optionsOrUseCapture,
21944 _listeners$index
21945 );
21946 listeners.splice(listener, 1);
21947 null !== cleanup && cleanup();
21948 }
21949 };
21950 FragmentInstance.prototype.dispatchEvent = function(event) {
21951 var parentHostFiber = getFragmentParentInstanceOrContainerFiber(
21952 this._fragmentFiber
21953 );
21954 if (null === parentHostFiber) return true;
21955 parentHostFiber = getInstanceFromHostFiber(parentHostFiber);
21956 var eventListeners = this._eventListeners;
21957 if (null !== eventListeners && 0 < eventListeners.length || !event.bubbles) {
21958 var temp = 9 === parentHostFiber.nodeType ? parentHostFiber.createComment("") : document.createTextNode("");
21959 if (eventListeners)
21960 for (var i = 0; i < eventListeners.length; i++) {
21961 var _eventListeners$i = eventListeners[i];
21962 temp.addEventListener(
21963 _eventListeners$i.type,
21964 _eventListeners$i.attachedListener,
21965 getAttachOptions(_eventListeners$i.optionsOrUseCapture)
21966 );
21967 }
21968 parentHostFiber.appendChild(temp);
21969 event = temp.dispatchEvent(event);
21970 if (eventListeners)
21971 for (i = 0; i < eventListeners.length; i++)
21972 _eventListeners$i = eventListeners[i], temp.removeEventListener(
21973 _eventListeners$i.type,
21974 _eventListeners$i.attachedListener,
21975 getAttachOptions(_eventListeners$i.optionsOrUseCapture)
21976 );
21977 parentHostFiber.removeChild(temp);
21978 return event;
21979 }
21980 return parentHostFiber.dispatchEvent(event);
21981 };
21982 FragmentInstance.prototype.focus = function(focusOptions) {
21983 traverseVisibleInstancesAndTextInstances(
21984 this._fragmentFiber.child,
21985 true,
21986 setFocusOnFiberIfFocusable,
21987 focusOptions,
21988 void 0,
21989 void 0
21990 );
21991 };
21992 FragmentInstance.prototype.focusLast = function(focusOptions) {
21993 var children = [];
21994 traverseVisibleInstancesAndTextInstances(
21995 this._fragmentFiber.child,
21996 true,
21997 collectChildren,
21998 children,
21999 void 0,
22000 void 0
22001 );
22002 for (var i = children.length - 1; 0 <= i && !setFocusOnFiberIfFocusable(children[i], focusOptions); i--) ;
22003 };
22004 FragmentInstance.prototype.blur = function() {
22005 var parentHostFiber = getFragmentParentInstanceOrContainerFiber(
22006 this._fragmentFiber
22007 );
22008 null !== parentHostFiber && (parentHostFiber = getInstanceFromHostFiber(parentHostFiber), parentHostFiber = getOwnerDocumentFromRootContainer(parentHostFiber).activeElement, null !== parentHostFiber && traverseFragmentInstancesAndTextInstances(
22009 this._fragmentFiber,
22010 blurActiveElementWithinFragment,
22011 parentHostFiber
22012 ));
22013 };
22014 FragmentInstance.prototype.observeUsing = function(observer) {
22015 var hasText = false, hasElement = false;
22016 traverseFragmentInstancesAndTextInstances(
22017 this._fragmentFiber,
22018 function(child) {
22019 if (6 === child.tag) hasText = true;
22020 else return hasElement = true;
22021 return false;
22022 }
22023 );
22024 hasText && !hasElement && console.error(
22025 "observeUsing() was called on a FragmentInstance with only text children. Observers do not work on text nodes."
22026 );
22027 null === this._observers && (this._observers = /* @__PURE__ */ new Set());
22028 this._observers.add(observer);
22029 traverseFragmentInstancesAndTextInstances(
22030 this._fragmentFiber,
22031 observeChild,
22032 observer
22033 );
22034 };
22035 FragmentInstance.prototype.unobserveUsing = function(observer) {
22036 var observers = this._observers;
22037 if (null !== observers && observers.has(observer)) {
22038 observers.delete(observer);
22039 traverseFragmentInstancesAndTextInstances(
22040 this._fragmentFiber,
22041 unobserveChild,
22042 observer
22043 );
22044 for (var i = observers = 0; i < pendingIntersectionUnobserves.length; i++) {
22045 var pending = pendingIntersectionUnobserves[i];
22046 pending.fragmentInstance === this && pending.observer === observer ? observer.unobserve(pending.instance) : pendingIntersectionUnobserves[observers++] = pending;
22047 }
22048 pendingIntersectionUnobserves.length = observers;
22049 } else
22050 console.error(
22051 "You are calling unobserveUsing() with an observer that is not being observed with this fragment instance. First attach the observer with observeUsing()"
22052 );
22053 };
22054 var pendingIntersectionUnobserves = [], intersectionUnobserveScheduled = false;
22055 FragmentInstance.prototype.getClientRects = function() {
22056 var rects = [];
22057 traverseFragmentInstancesAndTextInstances(
22058 this._fragmentFiber,
22059 collectClientRects,
22060 rects
22061 );
22062 return rects;
22063 };
22064 FragmentInstance.prototype.getRootNode = function(getRootNodeOptions) {
22065 var parentHostFiber = getFragmentParentInstanceOrContainerFiber(
22066 this._fragmentFiber
22067 );
22068 return null === parentHostFiber ? this : getInstanceFromHostFiber(parentHostFiber).getRootNode(
22069 getRootNodeOptions
22070 );
22071 };
22072 FragmentInstance.prototype.compareDocumentPosition = function(otherNode) {
22073 var parentHostFiber = getFragmentParentInstanceOrContainerFiber(
22074 this._fragmentFiber
22075 );
22076 if (null === parentHostFiber) return Node.DOCUMENT_POSITION_DISCONNECTED;
22077 var children = [];
22078 traverseFragmentInstancesAndTextInstances(
22079 this._fragmentFiber,
22080 collectChildren,
22081 children
22082 );
22083 var parentHostInstance = getInstanceFromHostFiber(parentHostFiber);
22084 if (0 === children.length) {
22085 parentHostFiber = parentHostInstance;
22086 if (fiberIsPortaledIntoHost(this._fragmentFiber)) {
22087 a: {
22088 for (children = this._fragmentFiber.return; null !== children; ) {
22089 if (4 === children.tag) {
22090 children = children.stateNode.containerInfo;
22091 break a;
22092 }
22093 if (3 === children.tag || 5 === children.tag || 27 === children.tag)
22094 break;
22095 children = children.return;
22096 }
22097 children = null;
22098 }
22099 null != children && (parentHostFiber = children);
22100 }
22101 children = this._fragmentFiber;
22102 var result = parentHostInstance = parentHostFiber.compareDocumentPosition(otherNode);
22103 parentHostFiber === otherNode ? result = Node.DOCUMENT_POSITION_CONTAINS : parentHostInstance & Node.DOCUMENT_POSITION_CONTAINED_BY && (children = getFragmentInstanceOrTextInstanceSiblings(children)[1], null === children ? result = Node.DOCUMENT_POSITION_PRECEDING : (otherNode = getInstanceFromHostFiber(children).compareDocumentPosition(
22104 otherNode
22105 ), result = 0 === otherNode || otherNode & Node.DOCUMENT_POSITION_FOLLOWING ? Node.DOCUMENT_POSITION_FOLLOWING : Node.DOCUMENT_POSITION_PRECEDING));
22106 return result |= Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC;
22107 }
22108 parentHostFiber = getInstanceFromHostFiber(children[0]);
22109 result = getInstanceFromHostFiber(children[children.length - 1]);
22110 var parentHostInstanceFromDOM = fiberIsPortaledIntoHost(
22111 this._fragmentFiber
22112 ) ? parentHostFiber.parentElement : parentHostInstance;
22113 if (null == parentHostInstanceFromDOM)
22114 return Node.DOCUMENT_POSITION_DISCONNECTED;
22115 parentHostInstance = parentHostInstanceFromDOM.compareDocumentPosition(parentHostFiber) & Node.DOCUMENT_POSITION_CONTAINED_BY;
22116 parentHostInstanceFromDOM = parentHostInstanceFromDOM.compareDocumentPosition(result) & Node.DOCUMENT_POSITION_CONTAINED_BY;
22117 var firstResult = parentHostFiber.compareDocumentPosition(otherNode), lastResult = result.compareDocumentPosition(otherNode), otherNodeIsWithinFirstOrLastChild = firstResult & Node.DOCUMENT_POSITION_CONTAINED_BY || lastResult & Node.DOCUMENT_POSITION_CONTAINED_BY;
22118 lastResult = parentHostInstance && parentHostInstanceFromDOM && firstResult & Node.DOCUMENT_POSITION_FOLLOWING && lastResult & Node.DOCUMENT_POSITION_PRECEDING;
22119 parentHostFiber = parentHostInstance && parentHostFiber === otherNode || parentHostInstanceFromDOM && result === otherNode || otherNodeIsWithinFirstOrLastChild || lastResult ? Node.DOCUMENT_POSITION_CONTAINED_BY : !parentHostInstance && parentHostFiber === otherNode || !parentHostInstanceFromDOM && result === otherNode ? Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC : firstResult;
22120 return parentHostFiber & Node.DOCUMENT_POSITION_DISCONNECTED || parentHostFiber & Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC || validateDocumentPositionWithFiberTree(
22121 parentHostFiber,
22122 this._fragmentFiber,
22123 children[0],
22124 children[children.length - 1],
22125 otherNode
22126 ) ? parentHostFiber : Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC;
22127 };
22128 FragmentInstance.prototype.scrollIntoView = function(alignToTop) {
22129 if ("object" === typeof alignToTop)
22130 throw Error(
22131 "FragmentInstance.scrollIntoView() does not support scrollIntoViewOptions. Use the alignToTop boolean instead."
22132 );
22133 var children = [];
22134 traverseFragmentInstancesAndTextInstances(
22135 this._fragmentFiber,
22136 collectChildren,
22137 children
22138 );
22139 var resolvedAlignToTop = false !== alignToTop;
22140 if (0 === children.length) {
22141 var hostSiblings = getFragmentInstanceOrTextInstanceSiblings(
22142 this._fragmentFiber
22143 );
22144 hostSiblings = resolvedAlignToTop ? hostSiblings[1] || hostSiblings[0] || getFragmentParentInstanceOrContainerFiber(this._fragmentFiber) : hostSiblings[0] || hostSiblings[1];
22145 if (null === hostSiblings) return;
22146 if (6 === hostSiblings.tag) {
22147 alignToTop = getInstanceFromHostFiber(hostSiblings);
22148 scrollTextNodeIntoView(alignToTop, resolvedAlignToTop);
22149 return;
22150 }
22151 hostSiblings = getInstanceFromHostFiber(hostSiblings);
22152 if (9 !== hostSiblings.nodeType) {
22153 if (11 === hostSiblings.nodeType) {
22154 resolvedAlignToTop = "host" in hostSiblings ? hostSiblings.host : null;
22155 null !== resolvedAlignToTop ? resolvedAlignToTop.scrollIntoView(alignToTop) : console.warn(
22156 "You are attempting to scroll a FragmentInstance that is only mounted inside a detached DocumentFragment. No scroll was performed."
22157 );
22158 return;
22159 }
22160 hostSiblings.scrollIntoView(alignToTop);
22161 }
22162 }
22163 for (hostSiblings = resolvedAlignToTop ? children.length - 1 : 0; hostSiblings !== (resolvedAlignToTop ? -1 : children.length); ) {
22164 var child = children[hostSiblings];
22165 6 === child.tag ? (child = getInstanceFromHostFiber(child), scrollTextNodeIntoView(child, resolvedAlignToTop)) : getInstanceFromHostFiber(child).scrollIntoView(alignToTop);
22166 hostSiblings += resolvedAlignToTop ? -1 : 1;
22167 }
22168 };
22169 var previousHydratableOnEnteringScopedSingleton = null, NotLoaded = 0, Loaded = 1, Errored = 2, Settled = 3, Inserted = 4, preloadPropsMap = /* @__PURE__ */ new Map(), preconnectsSet = /* @__PURE__ */ new Set(), previousDispatcher = ReactDOMSharedInternals.d;
22170 ReactDOMSharedInternals.d = {
22171 f: function() {
22172 var previousWasRendering = previousDispatcher.f(), wasRendering = flushSyncWork$1();
22173 return previousWasRendering || wasRendering;
22174 },
22175 r: function(form) {
22176 var formInst = getInstanceFromNode(form);
22177 null !== formInst && 5 === formInst.tag && "form" === formInst.type ? requestFormReset$1(formInst) : previousDispatcher.r(form);
22178 },
22179 D: function(href) {
22180 previousDispatcher.D(href);
22181 preconnectAs("dns-prefetch", href, null);
22182 },
22183 C: function(href, crossOrigin) {
22184 previousDispatcher.C(href, crossOrigin);
22185 preconnectAs("preconnect", href, crossOrigin);
22186 },
22187 L: function(href, as, options) {
22188 previousDispatcher.L(href, as, options);
22189 var ownerDocument = globalDocument;
22190 if (ownerDocument && href && as) {
22191 var preloadSelector = 'link[rel="preload"][as="' + escapeSelectorAttributeValueInsideDoubleQuotes(as) + '"]';
22192 "image" === as ? options && options.imageSrcSet ? (preloadSelector += '[imagesrcset="' + escapeSelectorAttributeValueInsideDoubleQuotes(
22193 options.imageSrcSet
22194 ) + '"]', "string" === typeof options.imageSizes && (preloadSelector += '[imagesizes="' + escapeSelectorAttributeValueInsideDoubleQuotes(
22195 options.imageSizes
22196 ) + '"]')) : preloadSelector += '[href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]' : preloadSelector += '[href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]';
22197 var key = preloadSelector;
22198 switch (as) {
22199 case "style":
22200 key = getStyleKey(href);
22201 break;
22202 case "script":
22203 key = getScriptKey(href);
22204 }
22205 if (!(preloadPropsMap.has(key) || (href = assign(
22206 {
22207 rel: "preload",
22208 href: "image" === as && options && options.imageSrcSet ? void 0 : href,
22209 as
22210 },
22211 options
22212 ), preloadPropsMap.set(key, href), null !== ownerDocument.querySelector(preloadSelector) || "style" === as && ownerDocument.querySelector(
22213 getStylesheetSelectorFromKey(key)
22214 ) || "script" === as && ownerDocument.querySelector(getScriptSelectorFromKey(key))))) {
22215 var instance = ownerDocument.createElement("link");
22216 setInitialProperties(instance, "link", href);
22217 "style" === as && (instance[internalLoadPendingKey] = true, instance.onload = instance.onerror = function() {
22218 clearPendingLoadOnNode(instance);
22219 });
22220 markNodeAsHoistable(instance);
22221 ownerDocument.head.appendChild(instance);
22222 }
22223 }
22224 },
22225 m: function(href, options) {
22226 previousDispatcher.m(href, options);
22227 var ownerDocument = globalDocument;
22228 if (ownerDocument && href) {
22229 var as = options && "string" === typeof options.as ? options.as : "script", preloadSelector = 'link[rel="modulepreload"][as="' + escapeSelectorAttributeValueInsideDoubleQuotes(as) + '"][href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]', key = preloadSelector;
22230 switch (as) {
22231 case "audioworklet":
22232 case "paintworklet":
22233 case "serviceworker":
22234 case "sharedworker":
22235 case "worker":
22236 case "script":
22237 key = getScriptKey(href);
22238 }
22239 if (!preloadPropsMap.has(key) && (href = assign({ rel: "modulepreload", href }, options), preloadPropsMap.set(key, href), null === ownerDocument.querySelector(preloadSelector))) {
22240 switch (as) {
22241 case "audioworklet":
22242 case "paintworklet":
22243 case "serviceworker":
22244 case "sharedworker":
22245 case "worker":
22246 case "script":
22247 if (ownerDocument.querySelector(getScriptSelectorFromKey(key)))
22248 return;
22249 }
22250 as = ownerDocument.createElement("link");
22251 setInitialProperties(as, "link", href);
22252 markNodeAsHoistable(as);
22253 ownerDocument.head.appendChild(as);
22254 }
22255 }
22256 },
22257 X: function(src, options) {
22258 previousDispatcher.X(src, options);
22259 var ownerDocument = globalDocument;
22260 if (ownerDocument && src) {
22261 var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts, key = getScriptKey(src), resource = scripts.get(key);
22262 resource || (resource = ownerDocument.querySelector(
22263 getScriptSelectorFromKey(key)
22264 ), resource || (src = assign({ src, async: true }, options), (options = preloadPropsMap.get(key)) && adoptPreloadPropsForScript(src, options), resource = ownerDocument.createElement("script"), markNodeAsHoistable(resource), setInitialProperties(resource, "link", src), ownerDocument.head.appendChild(resource)), resource = {
22265 type: "script",
22266 instance: resource,
22267 count: 1,
22268 state: null
22269 }, scripts.set(key, resource));
22270 }
22271 },
22272 S: function(href, precedence, options) {
22273 previousDispatcher.S(href, precedence, options);
22274 var ownerDocument = globalDocument;
22275 if (ownerDocument && href) {
22276 var styles = getResourcesFromRoot(ownerDocument).hoistableStyles, key = getStyleKey(href);
22277 precedence = precedence || "default";
22278 var resource = styles.get(key);
22279 if (!resource) {
22280 var state = { loading: NotLoaded, preload: null };
22281 if (resource = ownerDocument.querySelector(
22282 getStylesheetSelectorFromKey(key)
22283 ))
22284 state.loading = Loaded | Inserted;
22285 else {
22286 href = assign(
22287 {
22288 rel: "stylesheet",
22289 href,
22290 "data-precedence": precedence
22291 },
22292 options
22293 );
22294 (options = preloadPropsMap.get(key)) && adoptPreloadPropsForStylesheet(href, options);
22295 var link = resource = ownerDocument.createElement("link");
22296 markNodeAsHoistable(link);
22297 setInitialProperties(link, "link", href);
22298 link._p = new Promise(function(resolve, reject) {
22299 link.onload = resolve;
22300 link.onerror = reject;
22301 });
22302 link.addEventListener("load", function() {
22303 state.loading |= Loaded;
22304 });
22305 link.addEventListener("error", function() {
22306 state.loading |= Errored;
22307 });
22308 state.loading |= Inserted;
22309 insertStylesheet(resource, precedence, ownerDocument);
22310 }
22311 resource = {
22312 type: "stylesheet",
22313 instance: resource,
22314 count: 1,
22315 state
22316 };
22317 styles.set(key, resource);
22318 }
22319 }
22320 },
22321 M: function(src, options) {
22322 previousDispatcher.M(src, options);
22323 var ownerDocument = globalDocument;
22324 if (ownerDocument && src) {
22325 var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts, key = getScriptKey(src), resource = scripts.get(key);
22326 resource || (resource = ownerDocument.querySelector(
22327 getScriptSelectorFromKey(key)
22328 ), resource || (src = assign({ src, async: true, type: "module" }, options), (options = preloadPropsMap.get(key)) && adoptPreloadPropsForScript(src, options), resource = ownerDocument.createElement("script"), markNodeAsHoistable(resource), setInitialProperties(resource, "link", src), ownerDocument.head.appendChild(resource)), resource = {
22329 type: "script",
22330 instance: resource,
22331 count: 1,
22332 state: null
22333 }, scripts.set(key, resource));
22334 }
22335 }
22336 };
22337 var globalDocument = "undefined" === typeof document ? null : document, tagCaches = null, SUSPENSEY_STYLESHEET_TIMEOUT = 6e4, SUSPENSEY_IMAGE_TIMEOUT = 800, SUSPENSEY_IMAGE_TIME_ESTIMATE = 500, estimatedBytesWithinLimit = 0, LAST_PRECEDENCE = null, precedencesByRoot = null, NotPendingTransition = NotPending, HostTransitionContext = {
22338 $$typeof: REACT_CONTEXT_TYPE,
22339 Provider: null,
22340 Consumer: null,
22341 _currentValue: NotPendingTransition,
22342 _currentValue2: NotPendingTransition,
22343 _threadCount: 0
22344 }, badgeFormat = "%c%s%c", badgeStyle = "background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px", resetStyle = "", pad = " ", bind = Function.prototype.bind;
22345 var didWarnAboutNestedUpdates = false;
22346 var overrideHookState = null, overrideHookStateDeletePath = null, overrideHookStateRenamePath = null, overrideProps = null, overridePropsDeletePath = null, overridePropsRenamePath = null, scheduleUpdate = null, scheduleRetry = null, setErrorHandler = null, setSuspenseHandler = null;
22347 overrideHookState = function(fiber, id, path, value) {
22348 id = findHook(fiber, id);
22349 null !== id && (path = copyWithSetImpl(id.memoizedState, path, 0, value), id.memoizedState = path, id.baseState = path, fiber.memoizedProps = assign({}, fiber.memoizedProps), path = enqueueConcurrentRenderForLane(fiber, 2), null !== path && scheduleUpdateOnFiber(path, fiber, 2));
22350 };
22351 overrideHookStateDeletePath = function(fiber, id, path) {
22352 id = findHook(fiber, id);
22353 null !== id && (path = copyWithDeleteImpl(id.memoizedState, path, 0), id.memoizedState = path, id.baseState = path, fiber.memoizedProps = assign({}, fiber.memoizedProps), path = enqueueConcurrentRenderForLane(fiber, 2), null !== path && scheduleUpdateOnFiber(path, fiber, 2));
22354 };
22355 overrideHookStateRenamePath = function(fiber, id, oldPath, newPath) {
22356 id = findHook(fiber, id);
22357 null !== id && (oldPath = copyWithRename(id.memoizedState, oldPath, newPath), id.memoizedState = oldPath, id.baseState = oldPath, fiber.memoizedProps = assign({}, fiber.memoizedProps), oldPath = enqueueConcurrentRenderForLane(fiber, 2), null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2));
22358 };
22359 overrideProps = function(fiber, path, value) {
22360 fiber.pendingProps = copyWithSetImpl(fiber.memoizedProps, path, 0, value);
22361 fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
22362 path = enqueueConcurrentRenderForLane(fiber, 2);
22363 null !== path && scheduleUpdateOnFiber(path, fiber, 2);
22364 };
22365 overridePropsDeletePath = function(fiber, path) {
22366 fiber.pendingProps = copyWithDeleteImpl(fiber.memoizedProps, path, 0);
22367 fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
22368 path = enqueueConcurrentRenderForLane(fiber, 2);
22369 null !== path && scheduleUpdateOnFiber(path, fiber, 2);
22370 };
22371 overridePropsRenamePath = function(fiber, oldPath, newPath) {
22372 fiber.pendingProps = copyWithRename(
22373 fiber.memoizedProps,
22374 oldPath,
22375 newPath
22376 );
22377 fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
22378 oldPath = enqueueConcurrentRenderForLane(fiber, 2);
22379 null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2);
22380 };
22381 scheduleUpdate = function(fiber) {
22382 var root2 = enqueueConcurrentRenderForLane(fiber, 2);
22383 null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2);
22384 };
22385 scheduleRetry = function(fiber) {
22386 var lane = claimNextRetryLane(), root2 = enqueueConcurrentRenderForLane(fiber, lane);
22387 null !== root2 && scheduleUpdateOnFiber(root2, fiber, lane);
22388 };
22389 setErrorHandler = function(newShouldErrorImpl) {
22390 shouldErrorImpl = newShouldErrorImpl;
22391 };
22392 setSuspenseHandler = function(newShouldSuspendImpl) {
22393 shouldSuspendImpl = newShouldSuspendImpl;
22394 };
22395 var _enabled = true, return_targetInst = null, hasScheduledReplayAttempt = false, queuedFocus = null, queuedDrag = null, queuedMouse = null, queuedPointers = /* @__PURE__ */ new Map(), queuedPointerCaptures = /* @__PURE__ */ new Map(), queuedExplicitHydrationTargets = [], discreteReplayableEvents = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(
22396 " "
22397 ), lastScheduledReplayQueue = null;
22398 ReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render = function(children) {
22399 var root2 = this._internalRoot;
22400 if (null === root2) throw Error("Cannot update an unmounted root.");
22401 var args = arguments;
22402 "function" === typeof args[1] ? console.error(
22403 "does not support the second callback argument. To execute a side effect after rendering, declare it in a component body with useEffect()."
22404 ) : isValidContainer(args[1]) ? console.error(
22405 "You passed a container to the second argument of root.render(...). You don't need to pass it again since you already passed it to create the root."
22406 ) : "undefined" !== typeof args[1] && console.error(
22407 "You passed a second argument to root.render(...) but it only accepts one argument."
22408 );
22409 args = children;
22410 var current2 = root2.current, lane = requestUpdateLane(current2);
22411 updateContainerImpl(current2, lane, args, root2, null, null);
22412 };
22413 ReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount = function() {
22414 var args = arguments;
22415 "function" === typeof args[0] && console.error(
22416 "does not support a callback argument. To execute a side effect after rendering, declare it in a component body with useEffect()."
22417 );
22418 args = this._internalRoot;
22419 if (null !== args) {
22420 this._internalRoot = null;
22421 var container = args.containerInfo;
22422 (executionContext & (RenderContext | CommitContext)) !== NoContext && console.error(
22423 "Attempted to synchronously unmount a root while React was already rendering. React cannot finish unmounting the root until the current render has completed, which may lead to a race condition."
22424 );
22425 updateContainerImpl(args.current, 2, null, args, null, null);
22426 flushSyncWork$1();
22427 container[internalContainerInstanceKey] = null;
22428 }
22429 };
22430 ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function(target) {
22431 if (target) {
22432 var updatePriority = resolveUpdatePriority();
22433 target = { blockedOn: null, target, priority: updatePriority };
22434 for (var i = 0; i < queuedExplicitHydrationTargets.length && 0 !== updatePriority && updatePriority < queuedExplicitHydrationTargets[i].priority; i++) ;
22435 queuedExplicitHydrationTargets.splice(i, 0, target);
22436 0 === i && attemptExplicitHydrationTarget(target);
22437 }
22438 };
22439 (function() {
22440 var isomorphicReactPackageVersion = React.version;
22441 if ("19.3.0" !== isomorphicReactPackageVersion)
22442 throw Error(
22443 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + "\n - react-dom: 19.3.0\nLearn more: https://react.dev/warnings/version-mismatch")
22444 );
22445 })();
22446 "function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error(
22447 "React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://react.dev/link/react-polyfills"
22448 );
22449 ReactDOMSharedInternals.findDOMNode = function(componentOrElement) {
22450 var fiber = componentOrElement._reactInternals;
22451 if (void 0 === fiber) {
22452 if ("function" === typeof componentOrElement.render)
22453 throw Error("Unable to find node on an unmounted component.");
22454 componentOrElement = Object.keys(componentOrElement).join(",");
22455 throw Error(
22456 "Argument appears to not be a ReactComponent. Keys: " + componentOrElement
22457 );
22458 }
22459 componentOrElement = findCurrentFiberUsingSlowPath(fiber);
22460 componentOrElement = null !== componentOrElement ? findCurrentHostFiberImpl(componentOrElement) : null;
22461 componentOrElement = null === componentOrElement ? null : componentOrElement.stateNode;
22462 return componentOrElement;
22463 };
22464 if (!(function() {
22465 var internals = {
22466 bundleType: 1,
22467 version: "19.3.0",
22468 rendererPackageName: "react-dom",
22469 currentDispatcherRef: ReactSharedInternals,
22470 reconcilerVersion: "19.3.0"
22471 };
22472 internals.overrideHookState = overrideHookState;
22473 internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
22474 internals.overrideHookStateRenamePath = overrideHookStateRenamePath;
22475 internals.overrideProps = overrideProps;
22476 internals.overridePropsDeletePath = overridePropsDeletePath;
22477 internals.overridePropsRenamePath = overridePropsRenamePath;
22478 internals.scheduleUpdate = scheduleUpdate;
22479 internals.scheduleRetry = scheduleRetry;
22480 internals.setErrorHandler = setErrorHandler;
22481 internals.setSuspenseHandler = setSuspenseHandler;
22482 internals.scheduleRefresh = scheduleRefresh;
22483 internals.scheduleRoot = scheduleRoot;
22484 internals.setRefreshHandler = setRefreshHandler;
22485 internals.getCurrentFiber = getCurrentFiberForDevTools;
22486 return injectInternals(internals);
22487 })() && canUseDOM && window.top === window.self && (-1 < navigator.userAgent.indexOf("Chrome") && -1 === navigator.userAgent.indexOf("Edge") || -1 < navigator.userAgent.indexOf("Firefox"))) {
22488 var protocol = window.location.protocol;
22489 /^(https?|file):$/.test(protocol) && console.info(
22490 "%cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools" + ("file:" === protocol ? "\nYou might need to use a local HTTP server (instead of file://): https://react.dev/link/react-devtools-faq" : ""),
22491 "font-weight:bold"
22492 );
22493 }
22494 exports.createRoot = function(container, options) {
22495 if (!isValidContainer(container))
22496 throw Error("Target container is not a DOM element.");
22497 warnIfReactDOMContainerInDEV(container);
22498 var isStrictMode = false, identifierPrefix = "", onUncaughtError = defaultOnUncaughtError, onCaughtError = defaultOnCaughtError, onRecoverableError = defaultOnRecoverableError;
22499 null !== options && void 0 !== options && (options.hydrate ? console.warn(
22500 "hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />) instead."
22501 ) : "object" === typeof options && null !== options && (options.$$typeof === REACT_ELEMENT_TYPE || (options.$$typeof === REACT_LEGACY_ELEMENT_TYPE && (__wpWarnCompat("legacy-element"), true))) && console.error(
22502 "You passed a JSX element to createRoot. You probably meant to call root.render instead. Example usage:\n\n let root = createRoot(domContainer);\n root.render(<App />);"
22503 ), true === options.unstable_strictMode && (isStrictMode = true), void 0 !== options.identifierPrefix && (identifierPrefix = options.identifierPrefix), void 0 !== options.onUncaughtError && (onUncaughtError = options.onUncaughtError), void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError), void 0 !== options.onRecoverableError && (onRecoverableError = options.onRecoverableError));
22504 options = createFiberRoot(
22505 container,
22506 1,
22507 false,
22508 null,
22509 null,
22510 isStrictMode,
22511 identifierPrefix,
22512 null,
22513 onUncaughtError,
22514 onCaughtError,
22515 onRecoverableError,
22516 defaultOnDefaultTransitionIndicator
22517 );
22518 container[internalContainerInstanceKey] = options.current;
22519 listenToAllSupportedEvents(container);
22520 return new ReactDOMRoot(options);
22521 };
22522 exports.hydrateRoot = function(container, initialChildren, options) {
22523 if (!isValidContainer(container))
22524 throw Error("Target container is not a DOM element.");
22525 warnIfReactDOMContainerInDEV(container);
22526 void 0 === initialChildren && console.error(
22527 "Must provide initial children as second argument to hydrateRoot. Example usage: hydrateRoot(domContainer, <App />)"
22528 );
22529 var isStrictMode = false, identifierPrefix = "", onUncaughtError = defaultOnUncaughtError, onCaughtError = defaultOnCaughtError, onRecoverableError = defaultOnRecoverableError, formState = null;
22530 null !== options && void 0 !== options && (true === options.unstable_strictMode && (isStrictMode = true), void 0 !== options.identifierPrefix && (identifierPrefix = options.identifierPrefix), void 0 !== options.onUncaughtError && (onUncaughtError = options.onUncaughtError), void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError), void 0 !== options.onRecoverableError && (onRecoverableError = options.onRecoverableError), void 0 !== options.formState && (formState = options.formState));
22531 initialChildren = createFiberRoot(
22532 container,
22533 1,
22534 true,
22535 initialChildren,
22536 null != options ? options : null,
22537 isStrictMode,
22538 identifierPrefix,
22539 formState,
22540 onUncaughtError,
22541 onCaughtError,
22542 onRecoverableError,
22543 defaultOnDefaultTransitionIndicator
22544 );
22545 initialChildren.context = getContextForSubtree(null);
22546 options = initialChildren.current;
22547 isStrictMode = requestUpdateLane(options);
22548 isStrictMode = getBumpedLaneForHydrationByLane(isStrictMode);
22549 identifierPrefix = createUpdate(isStrictMode);
22550 identifierPrefix.callback = null;
22551 enqueueUpdate(options, identifierPrefix, isStrictMode);
22552 startUpdateTimerByLane(isStrictMode, "hydrateRoot()", null);
22553 options = isStrictMode;
22554 initialChildren.current.lanes = options;
22555 markRootUpdated$1(initialChildren, options);
22556 ensureRootIsScheduled(initialChildren);
22557 container[internalContainerInstanceKey] = initialChildren.current;
22558 listenToAllSupportedEvents(container);
22559 return new ReactDOMHydrationRoot(initialChildren);
22560 };
22561 exports.version = "19.3.0";
22562 "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
22563 })();
22564 }
22565 });
22566
22567 // ../react-19/node_modules/react-dom/client.js
22568 var require_client = __commonJS({
22569 "../react-19/node_modules/react-dom/client.js"(exports, module) {
22570 "use strict";
22571 if (false) {
22572 checkDCE();
22573 module.exports = null;
22574 } else {
22575 module.exports = require_react_dom_client_development();
22576 }
22577 }
22578 });
22579
22580 // ../react-19/react-polyfill.js
22581 var react_polyfill_exports = {};
22582 __export(react_polyfill_exports, {
22583 findDOMNode: () => findDOMNode,
22584 hydrate: () => hydrate,
22585 render: () => render,
22586 unmountComponentAtNode: () => unmountComponentAtNode
22587 });
22588 function findCurrentFiber(fiber) {
22589 if (!fiber.alternate) {
22590 return fiber;
22591 }
22592 let node = fiber;
22593 while (node.return) {
22594 node = node.return;
22595 }
22596 if (node.stateNode.current === node) {
22597 return fiber;
22598 }
22599 return fiber.alternate;
22600 }
22601 function findHostFiber(fiber) {
22602 const current = findCurrentFiber(fiber);
22603 if (!current) {
22604 return null;
22605 }
22606 return findHostFiberImpl(current);
22607 }
22608 function findHostFiberImpl(fiber) {
22609 if (fiber.tag === HostComponent || fiber.tag === HostText) {
22610 return fiber;
22611 }
22612 let child = fiber.child;
22613 while (child) {
22614 const hostFiber = findHostFiberImpl(child);
22615 if (hostFiber) {
22616 return hostFiber;
22617 }
22618 child = child.sibling;
22619 }
22620 return null;
22621 }
22622 function findDOMNode(instance) {
22623 warnCompat(
22624 "findDOMNode",
22625 "`ReactDOM.findDOMNode` was removed in React 19 and is emulated by a compatibility polyfill. Use refs instead."
22626 );
22627 if (instance === null || instance === void 0) {
22628 return null;
22629 }
22630 if (instance.nodeType !== void 0) {
22631 return instance;
22632 }
22633 const fiber = instance[internalsKey];
22634 if (fiber === void 0) {
22635 if (typeof instance.render === "function") {
22636 throw new Error("Unable to find node on an unmounted component.");
22637 }
22638 const keys = Object.keys(instance).join(",");
22639 throw new Error(
22640 `Argument appears to not be a ReactComponent. Keys: ${keys}`
22641 );
22642 }
22643 const hostFiber = findHostFiber(fiber);
22644 return hostFiber?.stateNode ?? null;
22645 }
22646 function render(element, container, callback) {
22647 warnCompat(
22648 "render",
22649 "`ReactDOM.render` was removed in React 19 and is emulated by a compatibility polyfill. Use `createRoot` instead."
22650 );
22651 let root = roots.get(container);
22652 if (!root) {
22653 root = (0, import_client.createRoot)(container);
22654 roots.set(container, root);
22655 }
22656 (0, import_react_dom.flushSync)(() => {
22657 root.render(element);
22658 });
22659 if (typeof callback === "function") {
22660 callback();
22661 }
22662 }
22663 function hydrate(element, container, callback) {
22664 warnCompat(
22665 "hydrate",
22666 "`ReactDOM.hydrate` was removed in React 19 and is emulated by a compatibility polyfill. Use `hydrateRoot` instead."
22667 );
22668 let root = roots.get(container);
22669 if (!root) {
22670 root = (0, import_client.hydrateRoot)(container, element);
22671 roots.set(container, root);
22672 } else {
22673 root.render(element);
22674 }
22675 if (typeof callback === "function") {
22676 callback();
22677 }
22678 }
22679 function unmountComponentAtNode(container) {
22680 warnCompat(
22681 "unmountComponentAtNode",
22682 "`ReactDOM.unmountComponentAtNode` was removed in React 19 and is emulated by a compatibility polyfill. Use `root.unmount` instead."
22683 );
22684 const root = roots.get(container);
22685 if (!root) {
22686 return false;
22687 }
22688 (0, import_react_dom.flushSync)(() => {
22689 root.unmount();
22690 });
22691 roots.delete(container);
22692 return true;
22693 }
22694 var import_react_dom, import_client, internalsKey, HostComponent, HostText, roots;
22695 var init_react_polyfill = __esm({
22696 "../react-19/react-polyfill.js"() {
22697 import_react_dom = __toESM(require_react_dom());
22698 import_client = __toESM(require_client());
22699 init_warn_compat();
22700 internalsKey = "_reactInternals";
22701 HostComponent = 5;
22702 HostText = 6;
22703 roots = /* @__PURE__ */ new WeakMap();
22704 }
22705 });
22706
22707 // ../react-19/react-dom.js
22708 var require_react_dom2 = __commonJS({
22709 "../react-19/react-dom.js"(exports, module) {
22710 var { warnCompat: warnCompat2 } = (init_warn_compat(), __toCommonJS(warn_compat_exports));
22711 var SECRET_INTERNALS_KEY = "__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED";
22712 var secretInternals = {};
22713 var reactDOM = {
22714 ...require_react_dom(),
22715 ...require_client(),
22716 ...(init_react_polyfill(), __toCommonJS(react_polyfill_exports))
22717 };
22718 Object.defineProperty(reactDOM, SECRET_INTERNALS_KEY, {
22719 enumerable: true,
22720 configurable: true,
22721 get() {
22722 warnCompat2(
22723 "react-dom-secret-internals",
22724 `Accessing \`${SECRET_INTERNALS_KEY}\` was removed in React 19 and is provided by a compatibility shim.`
22725 );
22726 return secretInternals;
22727 }
22728 });
22729 module.exports = reactDOM;
22730 }
22731 });
22732 return require_react_dom2();
22733 })();
22734 /*! Bundled license information:
22735
22736 react-dom/cjs/react-dom.development.js:
22737 (**
22738 * @license React
22739 * react-dom.development.js
22740 *
22741 * Copyright (c) Meta Platforms, Inc. and affiliates.
22742 *
22743 * This source code is licensed under the MIT license found in the
22744 * LICENSE file in the root directory of this source tree.
22745 *)
22746
22747 scheduler/cjs/scheduler.development.js:
22748 (**
22749 * @license React
22750 * scheduler.development.js
22751 *
22752 * Copyright (c) Meta Platforms, Inc. and affiliates.
22753 *
22754 * This source code is licensed under the MIT license found in the
22755 * LICENSE file in the root directory of this source tree.
22756 *)
22757
22758 react-dom/cjs/react-dom-client.development.js:
22759 (**
22760 * @license React
22761 * react-dom-client.development.js
22762 *
22763 * Copyright (c) Meta Platforms, Inc. and affiliates.
22764 *
22765 * This source code is licensed under the MIT license found in the
22766 * LICENSE file in the root directory of this source tree.
22767 *)
22768 */
22769